aboutsummaryrefslogtreecommitdiffstats
path: root/vendor
diff options
context:
space:
mode:
Diffstat (limited to 'vendor')
-rw-r--r--vendor/autoload.php2
l---------vendor/bin/html-to-markdown1
-rw-r--r--vendor/bshaffer/oauth2-server-php/CHANGELOG.md182
-rw-r--r--vendor/bshaffer/oauth2-server-php/LICENSE21
-rw-r--r--vendor/bshaffer/oauth2-server-php/README.md8
-rw-r--r--vendor/bshaffer/oauth2-server-php/composer.json34
-rw-r--r--vendor/bshaffer/oauth2-server-php/src/OAuth2/Autoloader.php48
-rw-r--r--vendor/bshaffer/oauth2-server-php/src/OAuth2/ClientAssertionType/ClientAssertionTypeInterface.php15
-rw-r--r--vendor/bshaffer/oauth2-server-php/src/OAuth2/ClientAssertionType/HttpBasic.php123
-rw-r--r--vendor/bshaffer/oauth2-server-php/src/OAuth2/Controller/AuthorizeController.php393
-rw-r--r--vendor/bshaffer/oauth2-server-php/src/OAuth2/Controller/AuthorizeControllerInterface.php43
-rw-r--r--vendor/bshaffer/oauth2-server-php/src/OAuth2/Controller/ResourceController.php111
-rw-r--r--vendor/bshaffer/oauth2-server-php/src/OAuth2/Controller/ResourceControllerInterface.php26
-rw-r--r--vendor/bshaffer/oauth2-server-php/src/OAuth2/Controller/TokenController.php295
-rw-r--r--vendor/bshaffer/oauth2-server-php/src/OAuth2/Controller/TokenControllerInterface.php32
-rw-r--r--vendor/bshaffer/oauth2-server-php/src/OAuth2/Encryption/EncryptionInterface.php11
-rw-r--r--vendor/bshaffer/oauth2-server-php/src/OAuth2/Encryption/FirebaseJwt.php47
-rw-r--r--vendor/bshaffer/oauth2-server-php/src/OAuth2/Encryption/Jwt.php173
-rw-r--r--vendor/bshaffer/oauth2-server-php/src/OAuth2/GrantType/AuthorizationCode.php100
-rw-r--r--vendor/bshaffer/oauth2-server-php/src/OAuth2/GrantType/ClientCredentials.php67
-rw-r--r--vendor/bshaffer/oauth2-server-php/src/OAuth2/GrantType/GrantTypeInterface.php20
-rw-r--r--vendor/bshaffer/oauth2-server-php/src/OAuth2/GrantType/JwtBearer.php226
-rw-r--r--vendor/bshaffer/oauth2-server-php/src/OAuth2/GrantType/RefreshToken.php111
-rw-r--r--vendor/bshaffer/oauth2-server-php/src/OAuth2/GrantType/UserCredentials.php83
-rw-r--r--vendor/bshaffer/oauth2-server-php/src/OAuth2/OpenID/Controller/AuthorizeController.php106
-rw-r--r--vendor/bshaffer/oauth2-server-php/src/OAuth2/OpenID/Controller/AuthorizeControllerInterface.php10
-rw-r--r--vendor/bshaffer/oauth2-server-php/src/OAuth2/OpenID/Controller/UserInfoController.php58
-rw-r--r--vendor/bshaffer/oauth2-server-php/src/OAuth2/OpenID/Controller/UserInfoControllerInterface.php23
-rw-r--r--vendor/bshaffer/oauth2-server-php/src/OAuth2/OpenID/GrantType/AuthorizationCode.php33
-rw-r--r--vendor/bshaffer/oauth2-server-php/src/OAuth2/OpenID/ResponseType/AuthorizationCode.php60
-rw-r--r--vendor/bshaffer/oauth2-server-php/src/OAuth2/OpenID/ResponseType/AuthorizationCodeInterface.php27
-rw-r--r--vendor/bshaffer/oauth2-server-php/src/OAuth2/OpenID/ResponseType/CodeIdToken.php24
-rw-r--r--vendor/bshaffer/oauth2-server-php/src/OAuth2/OpenID/ResponseType/CodeIdTokenInterface.php9
-rw-r--r--vendor/bshaffer/oauth2-server-php/src/OAuth2/OpenID/ResponseType/IdToken.php124
-rw-r--r--vendor/bshaffer/oauth2-server-php/src/OAuth2/OpenID/ResponseType/IdTokenInterface.php29
-rw-r--r--vendor/bshaffer/oauth2-server-php/src/OAuth2/OpenID/ResponseType/IdTokenToken.php27
-rw-r--r--vendor/bshaffer/oauth2-server-php/src/OAuth2/OpenID/ResponseType/IdTokenTokenInterface.php9
-rw-r--r--vendor/bshaffer/oauth2-server-php/src/OAuth2/OpenID/Storage/AuthorizationCodeInterface.php37
-rw-r--r--vendor/bshaffer/oauth2-server-php/src/OAuth2/OpenID/Storage/UserClaimsInterface.php38
-rw-r--r--vendor/bshaffer/oauth2-server-php/src/OAuth2/Request.php213
-rw-r--r--vendor/bshaffer/oauth2-server-php/src/OAuth2/RequestInterface.php16
-rw-r--r--vendor/bshaffer/oauth2-server-php/src/OAuth2/Response.php369
-rw-r--r--vendor/bshaffer/oauth2-server-php/src/OAuth2/ResponseInterface.php24
-rw-r--r--vendor/bshaffer/oauth2-server-php/src/OAuth2/ResponseType/AccessToken.php194
-rw-r--r--vendor/bshaffer/oauth2-server-php/src/OAuth2/ResponseType/AccessTokenInterface.php34
-rw-r--r--vendor/bshaffer/oauth2-server-php/src/OAuth2/ResponseType/AuthorizationCode.php100
-rw-r--r--vendor/bshaffer/oauth2-server-php/src/OAuth2/ResponseType/AuthorizationCodeInterface.php30
-rw-r--r--vendor/bshaffer/oauth2-server-php/src/OAuth2/ResponseType/JwtAccessToken.php124
-rw-r--r--vendor/bshaffer/oauth2-server-php/src/OAuth2/ResponseType/ResponseTypeInterface.php8
-rw-r--r--vendor/bshaffer/oauth2-server-php/src/OAuth2/Scope.php103
-rw-r--r--vendor/bshaffer/oauth2-server-php/src/OAuth2/ScopeInterface.php40
-rw-r--r--vendor/bshaffer/oauth2-server-php/src/OAuth2/Server.php879
-rw-r--r--vendor/bshaffer/oauth2-server-php/src/OAuth2/Storage/AccessTokenInterface.php64
-rw-r--r--vendor/bshaffer/oauth2-server-php/src/OAuth2/Storage/AuthorizationCodeInterface.php86
-rw-r--r--vendor/bshaffer/oauth2-server-php/src/OAuth2/Storage/Cassandra.php480
-rw-r--r--vendor/bshaffer/oauth2-server-php/src/OAuth2/Storage/ClientCredentialsInterface.php49
-rw-r--r--vendor/bshaffer/oauth2-server-php/src/OAuth2/Storage/ClientInterface.php66
-rwxr-xr-xvendor/bshaffer/oauth2-server-php/src/OAuth2/Storage/CouchbaseDB.php331
-rw-r--r--vendor/bshaffer/oauth2-server-php/src/OAuth2/Storage/DynamoDB.php540
-rw-r--r--vendor/bshaffer/oauth2-server-php/src/OAuth2/Storage/JwtAccessToken.php88
-rw-r--r--vendor/bshaffer/oauth2-server-php/src/OAuth2/Storage/JwtAccessTokenInterface.php14
-rw-r--r--vendor/bshaffer/oauth2-server-php/src/OAuth2/Storage/JwtBearerInterface.php74
-rw-r--r--vendor/bshaffer/oauth2-server-php/src/OAuth2/Storage/Memory.php381
-rw-r--r--vendor/bshaffer/oauth2-server-php/src/OAuth2/Storage/Mongo.php392
-rw-r--r--vendor/bshaffer/oauth2-server-php/src/OAuth2/Storage/MongoDB.php380
-rw-r--r--vendor/bshaffer/oauth2-server-php/src/OAuth2/Storage/Pdo.php553
-rw-r--r--vendor/bshaffer/oauth2-server-php/src/OAuth2/Storage/PublicKeyInterface.php16
-rw-r--r--vendor/bshaffer/oauth2-server-php/src/OAuth2/Storage/Redis.php321
-rw-r--r--vendor/bshaffer/oauth2-server-php/src/OAuth2/Storage/RefreshTokenInterface.php82
-rw-r--r--vendor/bshaffer/oauth2-server-php/src/OAuth2/Storage/ScopeInterface.php46
-rw-r--r--vendor/bshaffer/oauth2-server-php/src/OAuth2/Storage/UserCredentialsInterface.php52
-rw-r--r--vendor/bshaffer/oauth2-server-php/src/OAuth2/TokenType/Bearer.php130
-rw-r--r--vendor/bshaffer/oauth2-server-php/src/OAuth2/TokenType/Mac.php22
-rw-r--r--vendor/bshaffer/oauth2-server-php/src/OAuth2/TokenType/TokenTypeInterface.php21
-rw-r--r--vendor/bshaffer/oauth2-server-php/test/OAuth2/AutoloadTest.php16
-rw-r--r--vendor/bshaffer/oauth2-server-php/test/OAuth2/Controller/AuthorizeControllerTest.php492
-rw-r--r--vendor/bshaffer/oauth2-server-php/test/OAuth2/Controller/ResourceControllerTest.php176
-rw-r--r--vendor/bshaffer/oauth2-server-php/test/OAuth2/Controller/TokenControllerTest.php289
-rw-r--r--vendor/bshaffer/oauth2-server-php/test/OAuth2/Encryption/FirebaseJwtTest.php102
-rw-r--r--vendor/bshaffer/oauth2-server-php/test/OAuth2/Encryption/JwtTest.php102
-rw-r--r--vendor/bshaffer/oauth2-server-php/test/OAuth2/GrantType/AuthorizationCodeTest.php223
-rw-r--r--vendor/bshaffer/oauth2-server-php/test/OAuth2/GrantType/ClientCredentialsTest.php159
-rw-r--r--vendor/bshaffer/oauth2-server-php/test/OAuth2/GrantType/ImplicitTest.php143
-rw-r--r--vendor/bshaffer/oauth2-server-php/test/OAuth2/GrantType/JwtBearerTest.php360
-rw-r--r--vendor/bshaffer/oauth2-server-php/test/OAuth2/GrantType/RefreshTokenTest.php204
-rw-r--r--vendor/bshaffer/oauth2-server-php/test/OAuth2/GrantType/UserCredentialsTest.php172
-rw-r--r--vendor/bshaffer/oauth2-server-php/test/OAuth2/OpenID/Controller/AuthorizeControllerTest.php182
-rw-r--r--vendor/bshaffer/oauth2-server-php/test/OAuth2/OpenID/Controller/UserInfoControllerTest.php44
-rw-r--r--vendor/bshaffer/oauth2-server-php/test/OAuth2/OpenID/GrantType/AuthorizationCodeTest.php57
-rw-r--r--vendor/bshaffer/oauth2-server-php/test/OAuth2/OpenID/ResponseType/CodeIdTokenTest.php182
-rw-r--r--vendor/bshaffer/oauth2-server-php/test/OAuth2/OpenID/ResponseType/IdTokenTest.php184
-rw-r--r--vendor/bshaffer/oauth2-server-php/test/OAuth2/OpenID/ResponseType/IdTokenTokenTest.php91
-rw-r--r--vendor/bshaffer/oauth2-server-php/test/OAuth2/OpenID/Storage/AuthorizationCodeTest.php95
-rw-r--r--vendor/bshaffer/oauth2-server-php/test/OAuth2/OpenID/Storage/UserClaimsTest.php41
-rw-r--r--vendor/bshaffer/oauth2-server-php/test/OAuth2/RequestTest.php98
-rw-r--r--vendor/bshaffer/oauth2-server-php/test/OAuth2/ResponseTest.php17
-rw-r--r--vendor/bshaffer/oauth2-server-php/test/OAuth2/ResponseType/AccessTokenTest.php107
-rw-r--r--vendor/bshaffer/oauth2-server-php/test/OAuth2/ResponseType/JwtAccessTokenTest.php160
-rw-r--r--vendor/bshaffer/oauth2-server-php/test/OAuth2/ScopeTest.php42
-rw-r--r--vendor/bshaffer/oauth2-server-php/test/OAuth2/ServerTest.php684
-rw-r--r--vendor/bshaffer/oauth2-server-php/test/OAuth2/Storage/AccessTokenTest.php102
-rw-r--r--vendor/bshaffer/oauth2-server-php/test/OAuth2/Storage/AuthorizationCodeTest.php106
-rw-r--r--vendor/bshaffer/oauth2-server-php/test/OAuth2/Storage/ClientCredentialsTest.php28
-rw-r--r--vendor/bshaffer/oauth2-server-php/test/OAuth2/Storage/ClientTest.php110
-rw-r--r--vendor/bshaffer/oauth2-server-php/test/OAuth2/Storage/DynamoDBTest.php40
-rw-r--r--vendor/bshaffer/oauth2-server-php/test/OAuth2/Storage/JwtAccessTokenTest.php41
-rw-r--r--vendor/bshaffer/oauth2-server-php/test/OAuth2/Storage/JwtBearerTest.php25
-rw-r--r--vendor/bshaffer/oauth2-server-php/test/OAuth2/Storage/PdoTest.php39
-rw-r--r--vendor/bshaffer/oauth2-server-php/test/OAuth2/Storage/PublicKeyTest.php29
-rw-r--r--vendor/bshaffer/oauth2-server-php/test/OAuth2/Storage/RefreshTokenTest.php41
-rw-r--r--vendor/bshaffer/oauth2-server-php/test/OAuth2/Storage/ScopeTest.php53
-rw-r--r--vendor/bshaffer/oauth2-server-php/test/OAuth2/Storage/UserCredentialsTest.php40
-rw-r--r--vendor/bshaffer/oauth2-server-php/test/OAuth2/TokenType/BearerTest.php58
-rw-r--r--vendor/bshaffer/oauth2-server-php/test/bootstrap.php12
-rw-r--r--vendor/bshaffer/oauth2-server-php/test/cleanup.php15
-rw-r--r--vendor/bshaffer/oauth2-server-php/test/config/keys/id_rsa15
-rw-r--r--vendor/bshaffer/oauth2-server-php/test/config/keys/id_rsa.pub16
-rw-r--r--vendor/bshaffer/oauth2-server-php/test/config/storage.json188
-rw-r--r--vendor/bshaffer/oauth2-server-php/test/lib/OAuth2/Request/TestRequest.php61
-rwxr-xr-xvendor/bshaffer/oauth2-server-php/test/lib/OAuth2/Storage/BaseTest.php36
-rwxr-xr-xvendor/bshaffer/oauth2-server-php/test/lib/OAuth2/Storage/Bootstrap.php967
-rw-r--r--vendor/bshaffer/oauth2-server-php/test/lib/OAuth2/Storage/NullStorage.php32
-rw-r--r--vendor/commerceguys/intl/.gitignore2
-rw-r--r--vendor/commerceguys/intl/LICENSE21
-rw-r--r--vendor/commerceguys/intl/README.md163
-rw-r--r--vendor/commerceguys/intl/composer.json33
-rw-r--r--vendor/commerceguys/intl/phpunit.xml23
-rw-r--r--vendor/commerceguys/intl/resources/country/af.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/agq.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/ak.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/am.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/ar-LY.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/ar-SA.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/ar.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/asa.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/ast.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/az-Cyrl.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/az.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/bas.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/base.json1259
-rw-r--r--vendor/commerceguys/intl/resources/country/be.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/bez.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/bg.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/bm.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/bn-IN.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/bn.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/br.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/brx.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/bs-Cyrl.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/bs.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/ca.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/ce.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/cgg.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/chr.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/ckb.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/cs.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/cy.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/da.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/dav.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/de-AT.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/de-CH.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/de.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/dje.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/dsb.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/dyo.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/dz.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/ebu.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/ee.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/el.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/en.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/eo.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/es-AR.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/es-BO.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/es-BR.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/es-CL.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/es-CO.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/es-CR.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/es-CU.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/es-DO.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/es-EC.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/es-GT.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/es-HN.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/es-MX.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/es-NI.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/es-PA.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/es-PE.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/es-PR.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/es-PY.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/es-SV.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/es-US.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/es-UY.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/es-VE.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/es.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/et.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/eu.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/ewo.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/fa-AF.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/fa.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/ff.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/fi.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/fil.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/fo.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/fr-BE.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/fr-CA.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/fr.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/fur.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/fy.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/ga.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/gd.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/gl.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/gsw.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/gu.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/guz.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/ha.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/he.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/hi.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/hr.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/hsb.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/hu.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/hy.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/id.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/is.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/it.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/ja.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/jgo.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/jmc.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/ka.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/kab.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/kam.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/kde.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/kea.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/khq.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/ki.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/kk.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/kln.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/km.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/kn.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/ko-KP.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/ko.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/ks.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/ksb.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/ksf.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/ksh.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/ky.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/lag.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/lb.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/lg.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/ln.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/lo.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/lt.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/lu.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/luo.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/luy.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/lv.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/mas.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/mer.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/mfe.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/mg.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/mgh.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/mk.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/ml.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/mn.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/mr.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/ms.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/mt.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/mua.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/my.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/mzn.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/naq.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/nb.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/nd.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/ne.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/nl.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/nmg.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/nn.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/nus.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/nyn.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/or.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/pa.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/pl.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/ps.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/pt-AO.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/pt-CH.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/pt-CV.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/pt-GQ.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/pt-GW.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/pt-LU.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/pt-MO.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/pt-MZ.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/pt-PT.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/pt-ST.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/pt-TL.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/pt.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/qu.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/rm.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/rn.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/ro-MD.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/ro.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/rof.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/ru-UA.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/ru.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/rwk.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/saq.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/sbp.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/se-FI.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/se.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/seh.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/ses.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/sg.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/shi-Latn.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/shi.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/si.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/sk.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/sl.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/smn.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/sn.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/so.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/sq.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/sr-Cyrl-BA.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/sr-Cyrl-ME.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/sr-Cyrl-XK.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/sr-Latn-BA.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/sr-Latn-ME.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/sr-Latn-XK.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/sr-Latn.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/sr.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/sv.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/sw-CD.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/sw-KE.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/sw.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/ta.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/te.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/teo.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/th.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/to.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/tr.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/twq.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/tzm.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/ug.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/uk.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/ur-IN.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/ur.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/uz-Cyrl.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/uz.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/vai-Latn.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/vai.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/vi.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/vun.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/wae.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/xog.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/yav.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/yi.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/yo-BJ.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/yo.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/yue.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/zgh.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/zh-Hant-HK.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/zh-Hant-MO.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/zh-Hant.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/zh.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/zu.json761
-rw-r--r--vendor/commerceguys/intl/resources/currency/af.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/agq.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/ak.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/am.json498
-rw-r--r--vendor/commerceguys/intl/resources/currency/ar.json517
-rw-r--r--vendor/commerceguys/intl/resources/currency/asa.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/ast.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/az.json498
-rw-r--r--vendor/commerceguys/intl/resources/currency/bas.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/base.json524
-rw-r--r--vendor/commerceguys/intl/resources/currency/be.json495
-rw-r--r--vendor/commerceguys/intl/resources/currency/bez.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/bg.json482
-rw-r--r--vendor/commerceguys/intl/resources/currency/bm.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/bn.json498
-rw-r--r--vendor/commerceguys/intl/resources/currency/br.json488
-rw-r--r--vendor/commerceguys/intl/resources/currency/brx.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/bs-Cyrl.json501
-rw-r--r--vendor/commerceguys/intl/resources/currency/bs.json488
-rw-r--r--vendor/commerceguys/intl/resources/currency/ca.json492
-rw-r--r--vendor/commerceguys/intl/resources/currency/ce.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/cgg.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/chr.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/cs.json494
-rw-r--r--vendor/commerceguys/intl/resources/currency/cy.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/da.json498
-rw-r--r--vendor/commerceguys/intl/resources/currency/dav.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/de-CH.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/de.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/dje.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/dsb.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/dz.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/ebu.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/ee.json498
-rw-r--r--vendor/commerceguys/intl/resources/currency/el.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-AG.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-AI.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-AT.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-AU.json479
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-BB.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-BE.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-BM.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-BS.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-BW.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-BZ.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-CA.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-CC.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-CH.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-CK.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-CM.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-CX.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-CY.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-DE.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-DG.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-DK.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-DM.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-ER.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-FI.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-FJ.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-FK.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-FM.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-GB.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-GD.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-GG.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-GH.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-GI.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-GM.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-GY.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-HK.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-IE.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-IL.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-IM.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-IN.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-IO.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-JE.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-JM.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-KE.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-KI.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-KN.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-KY.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-LC.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-LR.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-LS.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-MG.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-MO.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-MS.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-MT.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-MU.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-MW.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-MY.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-NA.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-NF.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-NG.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-NL.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-NR.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-NU.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-NZ.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-PG.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-PH.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-PK.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-PN.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-PW.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-RW.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-SB.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-SC.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-SD.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-SE.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-SG.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-SH.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-SI.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-SL.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-SS.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-SX.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-SZ.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-TC.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-TK.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-TO.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-TT.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-TV.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-TZ.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-UG.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-VC.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-VG.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-VU.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-WS.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-ZA.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-ZM.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-ZW.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/en.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/es-AR.json479
-rw-r--r--vendor/commerceguys/intl/resources/currency/es-BO.json478
-rw-r--r--vendor/commerceguys/intl/resources/currency/es-BR.json478
-rw-r--r--vendor/commerceguys/intl/resources/currency/es-CL.json479
-rw-r--r--vendor/commerceguys/intl/resources/currency/es-CO.json479
-rw-r--r--vendor/commerceguys/intl/resources/currency/es-CR.json478
-rw-r--r--vendor/commerceguys/intl/resources/currency/es-CU.json479
-rw-r--r--vendor/commerceguys/intl/resources/currency/es-DO.json479
-rw-r--r--vendor/commerceguys/intl/resources/currency/es-EC.json478
-rw-r--r--vendor/commerceguys/intl/resources/currency/es-GT.json478
-rw-r--r--vendor/commerceguys/intl/resources/currency/es-HN.json478
-rw-r--r--vendor/commerceguys/intl/resources/currency/es-MX.json484
-rw-r--r--vendor/commerceguys/intl/resources/currency/es-NI.json478
-rw-r--r--vendor/commerceguys/intl/resources/currency/es-PA.json478
-rw-r--r--vendor/commerceguys/intl/resources/currency/es-PE.json478
-rw-r--r--vendor/commerceguys/intl/resources/currency/es-PR.json478
-rw-r--r--vendor/commerceguys/intl/resources/currency/es-PY.json478
-rw-r--r--vendor/commerceguys/intl/resources/currency/es-SV.json478
-rw-r--r--vendor/commerceguys/intl/resources/currency/es-US.json479
-rw-r--r--vendor/commerceguys/intl/resources/currency/es-UY.json479
-rw-r--r--vendor/commerceguys/intl/resources/currency/es-VE.json478
-rw-r--r--vendor/commerceguys/intl/resources/currency/es.json482
-rw-r--r--vendor/commerceguys/intl/resources/currency/et.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/eu.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/ewo.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/fa-AF.json499
-rw-r--r--vendor/commerceguys/intl/resources/currency/fa.json499
-rw-r--r--vendor/commerceguys/intl/resources/currency/ff.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/fi.json482
-rw-r--r--vendor/commerceguys/intl/resources/currency/fil.json498
-rw-r--r--vendor/commerceguys/intl/resources/currency/fo.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/fr-CA.json488
-rw-r--r--vendor/commerceguys/intl/resources/currency/fr.json509
-rw-r--r--vendor/commerceguys/intl/resources/currency/fur.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/fy.json498
-rw-r--r--vendor/commerceguys/intl/resources/currency/ga.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/gd.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/gl.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/gsw.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/gu.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/guz.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/ha.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/he.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/hi.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/hr.json478
-rw-r--r--vendor/commerceguys/intl/resources/currency/hsb.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/hu.json481
-rw-r--r--vendor/commerceguys/intl/resources/currency/hy.json498
-rw-r--r--vendor/commerceguys/intl/resources/currency/id.json498
-rw-r--r--vendor/commerceguys/intl/resources/currency/is.json484
-rw-r--r--vendor/commerceguys/intl/resources/currency/it.json491
-rw-r--r--vendor/commerceguys/intl/resources/currency/ja.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/jmc.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/ka.json488
-rw-r--r--vendor/commerceguys/intl/resources/currency/kab.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/kam.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/kde.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/kea.json498
-rw-r--r--vendor/commerceguys/intl/resources/currency/khq.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/ki.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/kk.json499
-rw-r--r--vendor/commerceguys/intl/resources/currency/kln.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/km.json498
-rw-r--r--vendor/commerceguys/intl/resources/currency/kn.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/ko.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/ks.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/ksb.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/ksf.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/ksh.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/ky.json485
-rw-r--r--vendor/commerceguys/intl/resources/currency/lag.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/lb.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/lg.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/ln.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/lo.json498
-rw-r--r--vendor/commerceguys/intl/resources/currency/lt.json477
-rw-r--r--vendor/commerceguys/intl/resources/currency/lu.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/luo.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/luy.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/lv.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/mas.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/mer.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/mfe.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/mg.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/mk.json486
-rw-r--r--vendor/commerceguys/intl/resources/currency/ml.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/mn.json498
-rw-r--r--vendor/commerceguys/intl/resources/currency/mr.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/ms.json494
-rw-r--r--vendor/commerceguys/intl/resources/currency/mua.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/my.json503
-rw-r--r--vendor/commerceguys/intl/resources/currency/mzn.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/naq.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/nb.json480
-rw-r--r--vendor/commerceguys/intl/resources/currency/nd.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/ne.json498
-rw-r--r--vendor/commerceguys/intl/resources/currency/nl.json498
-rw-r--r--vendor/commerceguys/intl/resources/currency/nmg.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/nn.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/nyn.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/pa.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/pl.json483
-rw-r--r--vendor/commerceguys/intl/resources/currency/pt-AO.json498
-rw-r--r--vendor/commerceguys/intl/resources/currency/pt-CH.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/pt-CV.json498
-rw-r--r--vendor/commerceguys/intl/resources/currency/pt-GQ.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/pt-GW.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/pt-LU.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/pt-MO.json498
-rw-r--r--vendor/commerceguys/intl/resources/currency/pt-MZ.json498
-rw-r--r--vendor/commerceguys/intl/resources/currency/pt-PT.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/pt-ST.json498
-rw-r--r--vendor/commerceguys/intl/resources/currency/pt-TL.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/pt.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/rm.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/rn.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/ro.json479
-rw-r--r--vendor/commerceguys/intl/resources/currency/rof.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/ru.json500
-rw-r--r--vendor/commerceguys/intl/resources/currency/rwk.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/saq.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/sbp.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/seh.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/ses.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/sg.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/shi-Latn.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/shi.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/si.json498
-rw-r--r--vendor/commerceguys/intl/resources/currency/sk.json483
-rw-r--r--vendor/commerceguys/intl/resources/currency/sl.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/sn.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/sq.json498
-rw-r--r--vendor/commerceguys/intl/resources/currency/sr-Latn.json493
-rw-r--r--vendor/commerceguys/intl/resources/currency/sr.json493
-rw-r--r--vendor/commerceguys/intl/resources/currency/sv.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/sw-CD.json500
-rw-r--r--vendor/commerceguys/intl/resources/currency/sw.json499
-rw-r--r--vendor/commerceguys/intl/resources/currency/ta.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/te.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/teo.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/th.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/tk.json494
-rw-r--r--vendor/commerceguys/intl/resources/currency/tr.json498
-rw-r--r--vendor/commerceguys/intl/resources/currency/twq.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/tzm.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/ug.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/uk.json481
-rw-r--r--vendor/commerceguys/intl/resources/currency/ur-IN.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/ur.json498
-rw-r--r--vendor/commerceguys/intl/resources/currency/uz-Cyrl.json498
-rw-r--r--vendor/commerceguys/intl/resources/currency/uz.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/vai-Latn.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/vai.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/vi.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/vun.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/xog.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/yo-BJ.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/yo.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/yue.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/zgh.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/zh-Hans-HK.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/zh-Hant-HK.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/zh-Hant-MO.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/zh-Hant.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/zh.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/zu.json498
-rw-r--r--vendor/commerceguys/intl/resources/language/af.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/agq.json632
-rw-r--r--vendor/commerceguys/intl/resources/language/ak.json632
-rw-r--r--vendor/commerceguys/intl/resources/language/am.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/ar-EG.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/ar-LY.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/ar-SA.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/ar.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/asa.json632
-rw-r--r--vendor/commerceguys/intl/resources/language/ast.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/az-Cyrl.json632
-rw-r--r--vendor/commerceguys/intl/resources/language/az.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/bas.json632
-rw-r--r--vendor/commerceguys/intl/resources/language/be.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/bem.json632
-rw-r--r--vendor/commerceguys/intl/resources/language/bez.json632
-rw-r--r--vendor/commerceguys/intl/resources/language/bg.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/bm.json632
-rw-r--r--vendor/commerceguys/intl/resources/language/bn-IN.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/bn.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/br.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/brx.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/bs-Cyrl.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/bs.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/ca.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/ce.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/cgg.json632
-rw-r--r--vendor/commerceguys/intl/resources/language/chr.json632
-rw-r--r--vendor/commerceguys/intl/resources/language/ckb.json632
-rw-r--r--vendor/commerceguys/intl/resources/language/cs.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/cy.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/da.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/dav.json632
-rw-r--r--vendor/commerceguys/intl/resources/language/de-AT.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/de-CH.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/de-LU.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/de.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/dje.json632
-rw-r--r--vendor/commerceguys/intl/resources/language/dsb.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/dyo.json632
-rw-r--r--vendor/commerceguys/intl/resources/language/dz.json632
-rw-r--r--vendor/commerceguys/intl/resources/language/ebu.json632
-rw-r--r--vendor/commerceguys/intl/resources/language/ee.json632
-rw-r--r--vendor/commerceguys/intl/resources/language/el.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/en-AU.json638
-rw-r--r--vendor/commerceguys/intl/resources/language/en-IN.json638
-rw-r--r--vendor/commerceguys/intl/resources/language/en.json638
-rw-r--r--vendor/commerceguys/intl/resources/language/eo.json632
-rw-r--r--vendor/commerceguys/intl/resources/language/es-AR.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/es-BO.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/es-BR.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/es-CL.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/es-CO.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/es-CR.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/es-CU.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/es-DO.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/es-EC.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/es-GT.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/es-HN.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/es-MX.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/es-NI.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/es-PA.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/es-PE.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/es-PR.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/es-PY.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/es-SV.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/es-US.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/es-UY.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/es-VE.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/es.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/et.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/eu.json632
-rw-r--r--vendor/commerceguys/intl/resources/language/ewo.json632
-rw-r--r--vendor/commerceguys/intl/resources/language/fa-AF.json638
-rw-r--r--vendor/commerceguys/intl/resources/language/fa.json638
-rw-r--r--vendor/commerceguys/intl/resources/language/ff.json632
-rw-r--r--vendor/commerceguys/intl/resources/language/fi.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/fil.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/fo.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/fr-BE.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/fr-CA.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/fr-CH.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/fr.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/fur.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/fy.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/ga.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/gd.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/gl.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/gsw.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/gu.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/guz.json632
-rw-r--r--vendor/commerceguys/intl/resources/language/ha.json632
-rw-r--r--vendor/commerceguys/intl/resources/language/he.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/hi.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/hr.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/hsb.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/hu.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/hy.json632
-rw-r--r--vendor/commerceguys/intl/resources/language/id.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/ig.json632
-rw-r--r--vendor/commerceguys/intl/resources/language/is.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/it.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/ja.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/jmc.json632
-rw-r--r--vendor/commerceguys/intl/resources/language/ka.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/kab.json632
-rw-r--r--vendor/commerceguys/intl/resources/language/kam.json632
-rw-r--r--vendor/commerceguys/intl/resources/language/kde.json632
-rw-r--r--vendor/commerceguys/intl/resources/language/kea.json632
-rw-r--r--vendor/commerceguys/intl/resources/language/khq.json632
-rw-r--r--vendor/commerceguys/intl/resources/language/ki.json632
-rw-r--r--vendor/commerceguys/intl/resources/language/kk.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/kln.json632
-rw-r--r--vendor/commerceguys/intl/resources/language/km.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/kn.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/ko.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/kok.json632
-rw-r--r--vendor/commerceguys/intl/resources/language/ks.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/ksb.json632
-rw-r--r--vendor/commerceguys/intl/resources/language/ksf.json632
-rw-r--r--vendor/commerceguys/intl/resources/language/ksh.json632
-rw-r--r--vendor/commerceguys/intl/resources/language/ky.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/lag.json632
-rw-r--r--vendor/commerceguys/intl/resources/language/lb.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/lg.json632
-rw-r--r--vendor/commerceguys/intl/resources/language/lkt.json632
-rw-r--r--vendor/commerceguys/intl/resources/language/ln.json632
-rw-r--r--vendor/commerceguys/intl/resources/language/lo.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/lrc.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/lt.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/lu.json632
-rw-r--r--vendor/commerceguys/intl/resources/language/luo.json632
-rw-r--r--vendor/commerceguys/intl/resources/language/luy.json632
-rw-r--r--vendor/commerceguys/intl/resources/language/lv.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/mas.json632
-rw-r--r--vendor/commerceguys/intl/resources/language/mer.json632
-rw-r--r--vendor/commerceguys/intl/resources/language/mfe.json632
-rw-r--r--vendor/commerceguys/intl/resources/language/mg.json632
-rw-r--r--vendor/commerceguys/intl/resources/language/mgh.json632
-rw-r--r--vendor/commerceguys/intl/resources/language/mk.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/ml.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/mn.json632
-rw-r--r--vendor/commerceguys/intl/resources/language/mr.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/ms.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/mt.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/mua.json632
-rw-r--r--vendor/commerceguys/intl/resources/language/my.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/mzn.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/naq.json632
-rw-r--r--vendor/commerceguys/intl/resources/language/nb.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/nd.json632
-rw-r--r--vendor/commerceguys/intl/resources/language/ne.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/nl.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/nmg.json632
-rw-r--r--vendor/commerceguys/intl/resources/language/nn.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/nus.json632
-rw-r--r--vendor/commerceguys/intl/resources/language/nyn.json632
-rw-r--r--vendor/commerceguys/intl/resources/language/om.json632
-rw-r--r--vendor/commerceguys/intl/resources/language/or.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/os.json632
-rw-r--r--vendor/commerceguys/intl/resources/language/pa.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/pl.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/ps.json632
-rw-r--r--vendor/commerceguys/intl/resources/language/pt-AO.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/pt-CH.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/pt-CV.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/pt-GQ.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/pt-GW.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/pt-LU.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/pt-MO.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/pt-MZ.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/pt-PT.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/pt-ST.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/pt-TL.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/pt.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/qu.json632
-rw-r--r--vendor/commerceguys/intl/resources/language/rm.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/rn.json632
-rw-r--r--vendor/commerceguys/intl/resources/language/ro-MD.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/ro.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/rof.json632
-rw-r--r--vendor/commerceguys/intl/resources/language/ru.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/rw.json632
-rw-r--r--vendor/commerceguys/intl/resources/language/rwk.json632
-rw-r--r--vendor/commerceguys/intl/resources/language/sah.json632
-rw-r--r--vendor/commerceguys/intl/resources/language/saq.json632
-rw-r--r--vendor/commerceguys/intl/resources/language/sbp.json632
-rw-r--r--vendor/commerceguys/intl/resources/language/se-FI.json632
-rw-r--r--vendor/commerceguys/intl/resources/language/se.json632
-rw-r--r--vendor/commerceguys/intl/resources/language/seh.json632
-rw-r--r--vendor/commerceguys/intl/resources/language/ses.json632
-rw-r--r--vendor/commerceguys/intl/resources/language/sg.json632
-rw-r--r--vendor/commerceguys/intl/resources/language/shi-Latn.json632
-rw-r--r--vendor/commerceguys/intl/resources/language/shi.json632
-rw-r--r--vendor/commerceguys/intl/resources/language/si.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/sk.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/sl.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/smn.json632
-rw-r--r--vendor/commerceguys/intl/resources/language/sn.json632
-rw-r--r--vendor/commerceguys/intl/resources/language/so.json632
-rw-r--r--vendor/commerceguys/intl/resources/language/sq.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/sr-Cyrl-BA.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/sr-Cyrl-ME.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/sr-Cyrl-XK.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/sr-Latn-BA.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/sr-Latn-ME.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/sr-Latn-XK.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/sr-Latn.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/sr.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/sv-FI.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/sv.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/sw-CD.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/sw-KE.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/sw.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/ta.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/te.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/teo.json632
-rw-r--r--vendor/commerceguys/intl/resources/language/th.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/ti.json632
-rw-r--r--vendor/commerceguys/intl/resources/language/to.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/tr.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/twq.json632
-rw-r--r--vendor/commerceguys/intl/resources/language/tzm.json632
-rw-r--r--vendor/commerceguys/intl/resources/language/ug.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/uk.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/ur-IN.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/ur.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/uz-Cyrl.json632
-rw-r--r--vendor/commerceguys/intl/resources/language/uz.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/vai-Latn.json632
-rw-r--r--vendor/commerceguys/intl/resources/language/vai.json632
-rw-r--r--vendor/commerceguys/intl/resources/language/vi.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/vun.json632
-rw-r--r--vendor/commerceguys/intl/resources/language/wae.json632
-rw-r--r--vendor/commerceguys/intl/resources/language/xog.json632
-rw-r--r--vendor/commerceguys/intl/resources/language/yav.json632
-rw-r--r--vendor/commerceguys/intl/resources/language/yi.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/yo-BJ.json632
-rw-r--r--vendor/commerceguys/intl/resources/language/yo.json632
-rw-r--r--vendor/commerceguys/intl/resources/language/yue.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/zgh.json632
-rw-r--r--vendor/commerceguys/intl/resources/language/zh-Hant-HK.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/zh-Hant-MO.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/zh-Hant.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/zh.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/zu.json635
-rw-r--r--vendor/commerceguys/intl/resources/number_format/af.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/agq.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/ak.json7
-rw-r--r--vendor/commerceguys/intl/resources/number_format/am.json7
-rw-r--r--vendor/commerceguys/intl/resources/number_format/ar-DZ.json12
-rw-r--r--vendor/commerceguys/intl/resources/number_format/ar-EH.json10
-rw-r--r--vendor/commerceguys/intl/resources/number_format/ar-LY.json12
-rw-r--r--vendor/commerceguys/intl/resources/number_format/ar-MA.json12
-rw-r--r--vendor/commerceguys/intl/resources/number_format/ar-TN.json12
-rw-r--r--vendor/commerceguys/intl/resources/number_format/ar.json12
-rw-r--r--vendor/commerceguys/intl/resources/number_format/ast.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/az.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/bas.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/be.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/bez.json7
-rw-r--r--vendor/commerceguys/intl/resources/number_format/bg.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/bm.json7
-rw-r--r--vendor/commerceguys/intl/resources/number_format/bn.json7
-rw-r--r--vendor/commerceguys/intl/resources/number_format/bo.json7
-rw-r--r--vendor/commerceguys/intl/resources/number_format/br.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/brx.json7
-rw-r--r--vendor/commerceguys/intl/resources/number_format/bs.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/ca.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/ce.json7
-rw-r--r--vendor/commerceguys/intl/resources/number_format/cgg.json7
-rw-r--r--vendor/commerceguys/intl/resources/number_format/ckb.json12
-rw-r--r--vendor/commerceguys/intl/resources/number_format/cs.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/cu.json7
-rw-r--r--vendor/commerceguys/intl/resources/number_format/cy.json7
-rw-r--r--vendor/commerceguys/intl/resources/number_format/da.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/de-AT.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/de-CH.json8
-rw-r--r--vendor/commerceguys/intl/resources/number_format/de-LI.json8
-rw-r--r--vendor/commerceguys/intl/resources/number_format/de.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/dje.json8
-rw-r--r--vendor/commerceguys/intl/resources/number_format/dsb.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/dyo.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/dz.json7
-rw-r--r--vendor/commerceguys/intl/resources/number_format/ee.json7
-rw-r--r--vendor/commerceguys/intl/resources/number_format/el.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/en-AT.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/en-BE.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/en-CH.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/en-DE.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/en-DK.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/en-FI.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/en-IN.json7
-rw-r--r--vendor/commerceguys/intl/resources/number_format/en-NL.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/en-SE.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/en-SI.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/en-ZA.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/en.json7
-rw-r--r--vendor/commerceguys/intl/resources/number_format/eo.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/es-AR.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/es-BO.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/es-BR.json7
-rw-r--r--vendor/commerceguys/intl/resources/number_format/es-CL.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/es-CO.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/es-CR.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/es-CU.json7
-rw-r--r--vendor/commerceguys/intl/resources/number_format/es-DO.json7
-rw-r--r--vendor/commerceguys/intl/resources/number_format/es-EC.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/es-GQ.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/es-GT.json7
-rw-r--r--vendor/commerceguys/intl/resources/number_format/es-HN.json7
-rw-r--r--vendor/commerceguys/intl/resources/number_format/es-MX.json7
-rw-r--r--vendor/commerceguys/intl/resources/number_format/es-NI.json7
-rw-r--r--vendor/commerceguys/intl/resources/number_format/es-PA.json7
-rw-r--r--vendor/commerceguys/intl/resources/number_format/es-PE.json7
-rw-r--r--vendor/commerceguys/intl/resources/number_format/es-PR.json7
-rw-r--r--vendor/commerceguys/intl/resources/number_format/es-PY.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/es-SV.json7
-rw-r--r--vendor/commerceguys/intl/resources/number_format/es-US.json7
-rw-r--r--vendor/commerceguys/intl/resources/number_format/es-UY.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/es-VE.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/es.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/et.json10
-rw-r--r--vendor/commerceguys/intl/resources/number_format/eu.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/fa-AF.json12
-rw-r--r--vendor/commerceguys/intl/resources/number_format/fa.json12
-rw-r--r--vendor/commerceguys/intl/resources/number_format/ff.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/fi.json10
-rw-r--r--vendor/commerceguys/intl/resources/number_format/fil.json7
-rw-r--r--vendor/commerceguys/intl/resources/number_format/fo.json10
-rw-r--r--vendor/commerceguys/intl/resources/number_format/fr-CH.json8
-rw-r--r--vendor/commerceguys/intl/resources/number_format/fr-LU.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/fr-MA.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/fr.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/fur.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/fy.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/ga.json7
-rw-r--r--vendor/commerceguys/intl/resources/number_format/gd.json7
-rw-r--r--vendor/commerceguys/intl/resources/number_format/gl.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/gsw.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/gu.json7
-rw-r--r--vendor/commerceguys/intl/resources/number_format/ha.json7
-rw-r--r--vendor/commerceguys/intl/resources/number_format/haw.json7
-rw-r--r--vendor/commerceguys/intl/resources/number_format/he.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/hi.json7
-rw-r--r--vendor/commerceguys/intl/resources/number_format/hr.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/hsb.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/hu.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/hy.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/id.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/ig.json7
-rw-r--r--vendor/commerceguys/intl/resources/number_format/is.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/it-CH.json8
-rw-r--r--vendor/commerceguys/intl/resources/number_format/it.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/ja.json7
-rw-r--r--vendor/commerceguys/intl/resources/number_format/ka.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/kab.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/kea.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/khq.json8
-rw-r--r--vendor/commerceguys/intl/resources/number_format/kk.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/km.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/kn.json7
-rw-r--r--vendor/commerceguys/intl/resources/number_format/ko.json7
-rw-r--r--vendor/commerceguys/intl/resources/number_format/kok.json7
-rw-r--r--vendor/commerceguys/intl/resources/number_format/ks.json12
-rw-r--r--vendor/commerceguys/intl/resources/number_format/ksf.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/ksh.json10
-rw-r--r--vendor/commerceguys/intl/resources/number_format/ky.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/lb.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/lg.json7
-rw-r--r--vendor/commerceguys/intl/resources/number_format/lkt.json7
-rw-r--r--vendor/commerceguys/intl/resources/number_format/lo.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/lrc.json12
-rw-r--r--vendor/commerceguys/intl/resources/number_format/lt.json10
-rw-r--r--vendor/commerceguys/intl/resources/number_format/lu.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/luo.json7
-rw-r--r--vendor/commerceguys/intl/resources/number_format/luy.json7
-rw-r--r--vendor/commerceguys/intl/resources/number_format/lv.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/mas.json7
-rw-r--r--vendor/commerceguys/intl/resources/number_format/mfe.json8
-rw-r--r--vendor/commerceguys/intl/resources/number_format/mg.json7
-rw-r--r--vendor/commerceguys/intl/resources/number_format/mgh.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/mk.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/ml.json7
-rw-r--r--vendor/commerceguys/intl/resources/number_format/mn.json7
-rw-r--r--vendor/commerceguys/intl/resources/number_format/mr.json7
-rw-r--r--vendor/commerceguys/intl/resources/number_format/ms-BN.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/ms.json7
-rw-r--r--vendor/commerceguys/intl/resources/number_format/mt.json7
-rw-r--r--vendor/commerceguys/intl/resources/number_format/mua.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/my.json7
-rw-r--r--vendor/commerceguys/intl/resources/number_format/mzn.json12
-rw-r--r--vendor/commerceguys/intl/resources/number_format/naq.json7
-rw-r--r--vendor/commerceguys/intl/resources/number_format/nb.json10
-rw-r--r--vendor/commerceguys/intl/resources/number_format/nds.json7
-rw-r--r--vendor/commerceguys/intl/resources/number_format/ne.json7
-rw-r--r--vendor/commerceguys/intl/resources/number_format/nl-BE.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/nl.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/nn.json10
-rw-r--r--vendor/commerceguys/intl/resources/number_format/nyn.json7
-rw-r--r--vendor/commerceguys/intl/resources/number_format/om.json7
-rw-r--r--vendor/commerceguys/intl/resources/number_format/or.json7
-rw-r--r--vendor/commerceguys/intl/resources/number_format/pa-Arab.json12
-rw-r--r--vendor/commerceguys/intl/resources/number_format/pa.json7
-rw-r--r--vendor/commerceguys/intl/resources/number_format/pl.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/prg.json7
-rw-r--r--vendor/commerceguys/intl/resources/number_format/pt-AO.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/pt-CH.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/pt-CV.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/pt-GQ.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/pt-GW.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/pt-LU.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/pt-MO.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/pt-MZ.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/pt-PT.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/pt-ST.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/pt-TL.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/pt.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/qu-BO.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/qu.json7
-rw-r--r--vendor/commerceguys/intl/resources/number_format/rm.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/rn.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/ro.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/rof.json7
-rw-r--r--vendor/commerceguys/intl/resources/number_format/ru.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/rw.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/se.json10
-rw-r--r--vendor/commerceguys/intl/resources/number_format/seh.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/ses.json8
-rw-r--r--vendor/commerceguys/intl/resources/number_format/sg.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/si.json7
-rw-r--r--vendor/commerceguys/intl/resources/number_format/sk.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/sl.json10
-rw-r--r--vendor/commerceguys/intl/resources/number_format/smn.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/so.json7
-rw-r--r--vendor/commerceguys/intl/resources/number_format/sq.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/sr.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/sv.json10
-rw-r--r--vendor/commerceguys/intl/resources/number_format/sw-CD.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/sw.json7
-rw-r--r--vendor/commerceguys/intl/resources/number_format/ta-MY.json7
-rw-r--r--vendor/commerceguys/intl/resources/number_format/ta-SG.json7
-rw-r--r--vendor/commerceguys/intl/resources/number_format/ta.json7
-rw-r--r--vendor/commerceguys/intl/resources/number_format/te.json7
-rw-r--r--vendor/commerceguys/intl/resources/number_format/th.json7
-rw-r--r--vendor/commerceguys/intl/resources/number_format/ti.json7
-rw-r--r--vendor/commerceguys/intl/resources/number_format/tk.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/to.json7
-rw-r--r--vendor/commerceguys/intl/resources/number_format/tr.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/twq.json8
-rw-r--r--vendor/commerceguys/intl/resources/number_format/tzm.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/ug.json7
-rw-r--r--vendor/commerceguys/intl/resources/number_format/uk.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/ur-IN.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/ur.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/uz-Arab.json12
-rw-r--r--vendor/commerceguys/intl/resources/number_format/uz.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/vi.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/vo.json7
-rw-r--r--vendor/commerceguys/intl/resources/number_format/wae.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/yav.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/yi.json7
-rw-r--r--vendor/commerceguys/intl/resources/number_format/yo.json7
-rw-r--r--vendor/commerceguys/intl/resources/number_format/yue.json7
-rw-r--r--vendor/commerceguys/intl/resources/number_format/zh.json7
-rw-r--r--vendor/commerceguys/intl/resources/number_format/zu.json7
-rw-r--r--vendor/commerceguys/intl/scripts/country/generate.php216
-rw-r--r--vendor/commerceguys/intl/scripts/currency/generate.php192
-rw-r--r--vendor/commerceguys/intl/scripts/fetch_data.sh24
-rw-r--r--vendor/commerceguys/intl/scripts/language/generate.php148
-rw-r--r--vendor/commerceguys/intl/scripts/number_format/generate.php132
-rw-r--r--vendor/commerceguys/intl/src/Calculator.php247
-rw-r--r--vendor/commerceguys/intl/src/Country/Country.php168
-rw-r--r--vendor/commerceguys/intl/src/Country/CountryEntityInterface.php51
-rw-r--r--vendor/commerceguys/intl/src/Country/CountryInterface.php61
-rw-r--r--vendor/commerceguys/intl/src/Country/CountryRepository.php143
-rw-r--r--vendor/commerceguys/intl/src/Country/CountryRepositoryInterface.php41
-rw-r--r--vendor/commerceguys/intl/src/Currency/Currency.php168
-rw-r--r--vendor/commerceguys/intl/src/Currency/CurrencyEntityInterface.php51
-rw-r--r--vendor/commerceguys/intl/src/Currency/CurrencyInterface.php47
-rw-r--r--vendor/commerceguys/intl/src/Currency/CurrencyRepository.php144
-rw-r--r--vendor/commerceguys/intl/src/Currency/CurrencyRepositoryInterface.php41
-rw-r--r--vendor/commerceguys/intl/src/Exception/ExceptionInterface.php7
-rw-r--r--vendor/commerceguys/intl/src/Exception/InvalidArgumentException.php11
-rw-r--r--vendor/commerceguys/intl/src/Exception/UnknownCountryException.php11
-rw-r--r--vendor/commerceguys/intl/src/Exception/UnknownCurrencyException.php11
-rw-r--r--vendor/commerceguys/intl/src/Exception/UnknownLanguageException.php11
-rw-r--r--vendor/commerceguys/intl/src/Exception/UnknownLocaleException.php10
-rw-r--r--vendor/commerceguys/intl/src/Formatter/NumberFormatter.php421
-rw-r--r--vendor/commerceguys/intl/src/Formatter/NumberFormatterInterface.php151
-rw-r--r--vendor/commerceguys/intl/src/Language/Language.php91
-rw-r--r--vendor/commerceguys/intl/src/Language/LanguageEntityInterface.php24
-rw-r--r--vendor/commerceguys/intl/src/Language/LanguageInterface.php23
-rw-r--r--vendor/commerceguys/intl/src/Language/LanguageRepository.php115
-rw-r--r--vendor/commerceguys/intl/src/Language/LanguageRepositoryInterface.php41
-rw-r--r--vendor/commerceguys/intl/src/LocaleResolverTrait.php244
-rw-r--r--vendor/commerceguys/intl/src/NumberFormat/NumberFormat.php269
-rw-r--r--vendor/commerceguys/intl/src/NumberFormat/NumberFormatEntityInterface.php107
-rw-r--r--vendor/commerceguys/intl/src/NumberFormat/NumberFormatInterface.php106
-rw-r--r--vendor/commerceguys/intl/src/NumberFormat/NumberFormatRepository.php91
-rw-r--r--vendor/commerceguys/intl/src/NumberFormat/NumberFormatRepositoryInterface.php19
-rw-r--r--vendor/composer/ClassLoader.php46
-rw-r--r--vendor/composer/LICENSE2
-rw-r--r--vendor/composer/autoload_classmap.php497
-rw-r--r--vendor/composer/autoload_files.php1
-rw-r--r--vendor/composer/autoload_namespaces.php5
-rw-r--r--vendor/composer/autoload_psr4.php3
-rw-r--r--vendor/composer/autoload_real.php6
-rw-r--r--vendor/composer/autoload_static.php563
-rw-r--r--vendor/composer/include_paths.php10
-rw-r--r--vendor/composer/installed.json785
-rw-r--r--vendor/ezyang/htmlpurifier/CREDITS9
-rw-r--r--vendor/ezyang/htmlpurifier/INSTALL373
-rw-r--r--vendor/ezyang/htmlpurifier/INSTALL.fr.utf860
-rw-r--r--vendor/ezyang/htmlpurifier/LICENSE504
-rw-r--r--vendor/ezyang/htmlpurifier/NEWS1176
-rw-r--r--vendor/ezyang/htmlpurifier/README.md29
-rw-r--r--vendor/ezyang/htmlpurifier/TODO150
-rw-r--r--vendor/ezyang/htmlpurifier/VERSION1
-rw-r--r--vendor/ezyang/htmlpurifier/WHATSNEW13
-rw-r--r--vendor/ezyang/htmlpurifier/WYSIWYG20
-rw-r--r--vendor/ezyang/htmlpurifier/composer.json25
-rw-r--r--vendor/ezyang/htmlpurifier/extras/ConfigDoc/HTMLXSLTProcessor.php91
-rw-r--r--vendor/ezyang/htmlpurifier/extras/FSTools.php164
-rw-r--r--vendor/ezyang/htmlpurifier/extras/FSTools/File.php141
-rw-r--r--vendor/ezyang/htmlpurifier/extras/HTMLPurifierExtras.auto.php11
-rw-r--r--vendor/ezyang/htmlpurifier/extras/HTMLPurifierExtras.autoload.php26
-rw-r--r--vendor/ezyang/htmlpurifier/extras/HTMLPurifierExtras.php31
-rw-r--r--vendor/ezyang/htmlpurifier/extras/README32
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier.auto.php11
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier.autoload.php27
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier.composer.php4
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier.func.php25
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier.includes.php234
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier.kses.php30
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier.path.php11
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier.php292
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier.safe-includes.php228
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/Arborize.php71
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrCollections.php148
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef.php144
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS.php136
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/AlphaValue.php34
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Background.php111
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/BackgroundPosition.php157
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Border.php56
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Color.php161
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Composite.php48
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/DenyElementDecorator.php44
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Filter.php77
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Font.php176
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/FontFamily.php219
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Ident.php32
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/ImportantDecorator.php56
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Length.php77
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/ListStyle.php112
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Multiple.php71
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Number.php84
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Percentage.php54
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/TextDecoration.php46
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/URI.php77
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/Clone.php44
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/Enum.php73
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/Bool.php48
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/Class.php48
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/Color.php51
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/FrameTarget.php38
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/ID.php113
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/Length.php56
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/LinkTypes.php72
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/MultiLength.php60
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/Nmtokens.php70
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/Pixels.php76
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/Integer.php91
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/Lang.php86
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/Switch.php53
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/Text.php21
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/URI.php111
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/URI/Email.php20
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/URI/Email/SimpleCheck.php29
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/URI/Host.php138
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/URI/IPv4.php45
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/URI/IPv6.php89
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform.php60
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Background.php28
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/BdoDir.php27
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/BgColor.php28
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/BoolToCSS.php47
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Border.php26
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/EnumToCSS.php68
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/ImgRequired.php47
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/ImgSpace.php61
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Input.php56
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Lang.php31
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Length.php45
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Name.php33
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/NameSync.php41
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Nofollow.php52
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/SafeEmbed.php25
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/SafeObject.php28
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/SafeParam.php79
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/ScriptRequired.php23
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/TargetBlank.php45
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/TargetNoopener.php37
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/TargetNoreferrer.php37
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Textarea.php27
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTypes.php96
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrValidator.php178
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/Bootstrap.php124
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/CSSDefinition.php491
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef.php52
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/Chameleon.php67
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/Custom.php102
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/Empty.php38
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/List.php92
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/Optional.php45
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/Required.php118
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/StrictBlockquote.php110
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/Table.php224
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/Config.php920
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema.php176
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Builder/ConfigSchema.php48
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Builder/Xml.php144
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Exception.php11
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Interchange.php47
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Interchange/Directive.php89
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Interchange/Id.php58
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/InterchangeBuilder.php226
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Validator.php248
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/ValidatorAtom.php130
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema.serbin0 -> 15923 bytes
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.AllowedClasses.txt8
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.AllowedFrameTargets.txt12
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.AllowedRel.txt9
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.AllowedRev.txt9
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.ClassUseCDATA.txt19
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.DefaultImageAlt.txt11
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.DefaultInvalidImage.txt9
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.DefaultInvalidImageAlt.txt8
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.DefaultTextDir.txt10
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.EnableID.txt16
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.ForbiddenClasses.txt8
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.ID.HTML5.txt10
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.IDBlacklist.txt5
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.IDBlacklistRegexp.txt9
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.IDPrefix.txt12
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.IDPrefixLocal.txt14
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/AutoFormat.AutoParagraph.txt31
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/AutoFormat.Custom.txt12
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/AutoFormat.DisplayLinkURI.txt11
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/AutoFormat.Linkify.txt12
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/AutoFormat.PurifierLinkify.DocURL.txt12
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/AutoFormat.PurifierLinkify.txt12
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/AutoFormat.RemoveEmpty.Predicate.txt14
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/AutoFormat.RemoveEmpty.RemoveNbsp.Exceptions.txt11
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/AutoFormat.RemoveEmpty.RemoveNbsp.txt15
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/AutoFormat.RemoveEmpty.txt46
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/AutoFormat.RemoveSpansWithoutAttributes.txt11
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/CSS.AllowDuplicates.txt11
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/CSS.AllowImportant.txt8
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/CSS.AllowTricky.txt11
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/CSS.AllowedFonts.txt12
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/CSS.AllowedProperties.txt18
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/CSS.DefinitionRev.txt11
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/CSS.ForbiddenProperties.txt13
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/CSS.MaxImgLength.txt16
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/CSS.Proprietary.txt10
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/CSS.Trusted.txt9
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Cache.DefinitionImpl.txt14
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Cache.SerializerPath.txt13
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Cache.SerializerPermissions.txt16
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.AggressivelyFixLt.txt18
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.AggressivelyRemoveScript.txt16
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.AllowHostnameUnderscore.txt16
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.CollectErrors.txt12
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.ColorKeywords.txt29
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.ConvertDocumentToFragment.txt14
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.DirectLexLineNumberSyncInterval.txt17
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.DisableExcludes.txt14
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.EnableIDNA.txt9
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.Encoding.txt15
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.EscapeInvalidChildren.txt12
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.EscapeInvalidTags.txt7
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.EscapeNonASCIICharacters.txt13
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.HiddenElements.txt19
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.Language.txt10
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.LegacyEntityDecoder.txt36
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.LexerImpl.txt34
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.MaintainLineNumbers.txt16
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.NormalizeNewlines.txt11
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.RemoveInvalidImg.txt12
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.RemoveProcessingInstructions.txt11
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.RemoveScriptContents.txt12
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Filter.Custom.txt11
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Filter.ExtractStyleBlocks.Escaping.txt14
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Filter.ExtractStyleBlocks.Scope.txt29
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Filter.ExtractStyleBlocks.TidyImpl.txt16
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Filter.ExtractStyleBlocks.txt74
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Filter.YouTube.txt16
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.Allowed.txt25
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.AllowedAttributes.txt19
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.AllowedComments.txt10
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.AllowedCommentsRegexp.txt15
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.AllowedElements.txt23
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.AllowedModules.txt20
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.Attr.Name.UseCDATA.txt11
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.BlockWrapper.txt18
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.CoreModules.txt23
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.CustomDoctype.txt9
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.DefinitionID.txt33
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.DefinitionRev.txt16
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.Doctype.txt11
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.FlashAllowFullScreen.txt11
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.ForbiddenAttributes.txt21
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.ForbiddenElements.txt20
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.MaxImgLength.txt14
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.Nofollow.txt7
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.Parent.txt12
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.Proprietary.txt12
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.SafeEmbed.txt13
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.SafeIframe.txt13
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.SafeObject.txt13
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.SafeScripting.txt10
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.Strict.txt9
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.TargetBlank.txt8
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.TargetNoopener.txt10
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.TargetNoreferrer.txt9
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.TidyAdd.txt8
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.TidyLevel.txt24
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.TidyRemove.txt8
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.Trusted.txt9
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.XHTML.txt11
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Output.CommentScriptContents.txt10
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Output.FixInnerHTML.txt15
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Output.FlashCompat.txt11
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Output.Newline.txt13
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Output.SortAttr.txt14
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Output.TidyFormat.txt25
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Test.ForceNoIconv.txt7
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.AllowedSchemes.txt18
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.Base.txt17
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.DefaultScheme.txt15
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.DefinitionID.txt11
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.DefinitionRev.txt11
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.Disable.txt14
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.DisableExternal.txt11
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.DisableExternalResources.txt13
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.DisableResources.txt15
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.Host.txt19
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.HostBlacklist.txt9
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.MakeAbsolute.txt13
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.Munge.txt83
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.MungeResources.txt17
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.MungeSecretKey.txt30
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.OverrideAllowedSchemes.txt9
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.SafeIframeRegexp.txt22
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/info.ini3
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ContentSets.php170
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/Context.php95
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/Definition.php55
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache.php129
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Decorator.php112
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Decorator/Cleanup.php78
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Decorator/Memory.php85
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Decorator/Template.php.in82
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Null.php76
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Serializer.php306
-rwxr-xr-xvendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Serializer/README3
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCacheFactory.php106
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/Doctype.php73
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/DoctypeRegistry.php142
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ElementDef.php216
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/Encoder.php617
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/EntityLookup.php48
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/EntityLookup/entities.ser1
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/EntityParser.php285
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ErrorCollector.php244
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/ErrorStruct.php74
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/Exception.php12
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/Filter.php56
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/Filter/ExtractStyleBlocks.php341
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/Filter/YouTube.php65
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/Generator.php286
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLDefinition.php493
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule.php284
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Bdo.php44
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/CommonAttributes.php31
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Edit.php55
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Forms.php190
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Hypertext.php40
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Iframe.php51
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Image.php49
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Legacy.php186
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/List.php51
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Name.php26
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Nofollow.php25
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/NonXMLCommonAttributes.php20
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Object.php62
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Presentation.php42
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Proprietary.php40
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Ruby.php36
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/SafeEmbed.php40
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/SafeObject.php62
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/SafeScripting.php40
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Scripting.php73
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/StyleAttribute.php33
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Tables.php75
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Target.php28
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/TargetBlank.php24
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/TargetNoopener.php21
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/TargetNoreferrer.php21
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Text.php87
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy.php230
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy/Name.php33
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy/Proprietary.php34
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy/Strict.php43
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy/Transitional.php16
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy/XHTML.php26
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy/XHTMLAndHTML4.php179
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/XMLCommonAttributes.php20
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModuleManager.php467
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/IDAccumulator.php57
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/Injector.php281
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/Injector/AutoParagraph.php356
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/Injector/DisplayLinkURI.php40
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/Injector/Linkify.php64
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/Injector/PurifierLinkify.php71
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/Injector/RemoveEmpty.php112
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/Injector/RemoveSpansWithoutAttributes.php84
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/Injector/SafeObject.php124
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/Language.php204
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/Language/classes/en-x-test.php9
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/Language/messages/en-x-test.php11
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/Language/messages/en-x-testmini.php12
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/Language/messages/en.php55
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/LanguageFactory.php209
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/Length.php160
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/Lexer.php382
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/Lexer/DOMLex.php291
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/Lexer/DirectLex.php539
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/Lexer/PH5P.php4788
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/Node.php49
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/Node/Comment.php36
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/Node/Element.php59
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/Node/Text.php54
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/PercentEncoder.php111
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/Printer.php218
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/Printer/CSSDefinition.php44
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/Printer/ConfigForm.css10
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/Printer/ConfigForm.js5
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/Printer/ConfigForm.php451
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/Printer/HTMLDefinition.php324
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/PropertyList.php122
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/PropertyListIterator.php42
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/Queue.php56
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/Strategy.php26
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/Strategy/Composite.php30
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/Strategy/Core.php17
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/Strategy/FixNesting.php181
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/Strategy/MakeWellFormed.php659
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/Strategy/RemoveForeignElements.php207
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/Strategy/ValidateAttributes.php45
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/StringHash.php47
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/StringHashParser.php136
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/TagTransform.php37
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/TagTransform/Font.php114
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/TagTransform/Simple.php44
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/Token.php100
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/Token/Comment.php38
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/Token/Empty.php15
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/Token/End.php24
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/Token/Start.php10
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/Token/Tag.php68
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/Token/Text.php53
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/TokenFactory.php118
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/URI.php316
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIDefinition.php112
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIFilter.php74
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIFilter/DisableExternal.php54
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIFilter/DisableExternalResources.php25
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIFilter/DisableResources.php22
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIFilter/HostBlacklist.php46
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIFilter/MakeAbsolute.php158
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIFilter/Munge.php115
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIFilter/SafeIframe.php68
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIParser.php71
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme.php102
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme/data.php136
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme/file.php44
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme/ftp.php58
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme/http.php36
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme/https.php18
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme/mailto.php40
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme/news.php35
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme/nntp.php32
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme/tel.php46
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/URISchemeRegistry.php81
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/UnitConverter.php307
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/VarParser.php198
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/VarParser/Flexible.php130
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/VarParser/Native.php38
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/VarParserException.php11
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/Zipper.php157
-rw-r--r--vendor/ezyang/htmlpurifier/maintenance/.htaccess1
-rw-r--r--vendor/ezyang/htmlpurifier/maintenance/PH5P.patch102
-rw-r--r--vendor/ezyang/htmlpurifier/maintenance/PH5P.php3889
-rw-r--r--vendor/ezyang/htmlpurifier/maintenance/add-vimline.php130
-rw-r--r--vendor/ezyang/htmlpurifier/maintenance/common.php25
-rwxr-xr-xvendor/ezyang/htmlpurifier/maintenance/compile-doxygen.sh11
-rw-r--r--vendor/ezyang/htmlpurifier/maintenance/config-scanner.php155
-rwxr-xr-xvendor/ezyang/htmlpurifier/maintenance/flush-definition-cache.php42
-rw-r--r--vendor/ezyang/htmlpurifier/maintenance/flush.php30
-rwxr-xr-xvendor/ezyang/htmlpurifier/maintenance/generate-entity-file.php75
-rw-r--r--vendor/ezyang/htmlpurifier/maintenance/generate-includes.php192
-rw-r--r--vendor/ezyang/htmlpurifier/maintenance/generate-ph5p-patch.php22
-rw-r--r--vendor/ezyang/htmlpurifier/maintenance/generate-schema-cache.php45
-rwxr-xr-xvendor/ezyang/htmlpurifier/maintenance/generate-standalone.php159
-rwxr-xr-xvendor/ezyang/htmlpurifier/maintenance/merge-library.php11
-rw-r--r--vendor/ezyang/htmlpurifier/maintenance/old-extract-schema.php71
-rw-r--r--vendor/ezyang/htmlpurifier/maintenance/old-remove-require-once.php32
-rw-r--r--vendor/ezyang/htmlpurifier/maintenance/old-remove-schema-def.php32
-rwxr-xr-xvendor/ezyang/htmlpurifier/maintenance/regenerate-docs.sh5
-rw-r--r--vendor/ezyang/htmlpurifier/maintenance/remove-trailing-whitespace.php37
-rw-r--r--vendor/ezyang/htmlpurifier/maintenance/rename-config.php84
-rw-r--r--vendor/ezyang/htmlpurifier/maintenance/update-config.php34
-rw-r--r--vendor/ezyang/htmlpurifier/package.php61
-rw-r--r--vendor/ezyang/htmlpurifier/phpdoc.ini102
-rw-r--r--vendor/ezyang/htmlpurifier/plugins/modx.txt112
-rw-r--r--vendor/ezyang/htmlpurifier/plugins/phorum/.gitignore2
-rw-r--r--vendor/ezyang/htmlpurifier/plugins/phorum/Changelog27
-rw-r--r--vendor/ezyang/htmlpurifier/plugins/phorum/INSTALL84
-rw-r--r--vendor/ezyang/htmlpurifier/plugins/phorum/README45
-rw-r--r--vendor/ezyang/htmlpurifier/plugins/phorum/config.default.php57
-rw-r--r--vendor/ezyang/htmlpurifier/plugins/phorum/htmlpurifier.php316
-rw-r--r--vendor/ezyang/htmlpurifier/plugins/phorum/info.txt18
-rw-r--r--vendor/ezyang/htmlpurifier/plugins/phorum/init-config.php30
-rw-r--r--vendor/ezyang/htmlpurifier/plugins/phorum/migrate.bbcode.php31
-rw-r--r--vendor/ezyang/htmlpurifier/plugins/phorum/settings.php64
-rw-r--r--vendor/ezyang/htmlpurifier/plugins/phorum/settings/form.php95
-rw-r--r--vendor/ezyang/htmlpurifier/plugins/phorum/settings/migrate-sigs-form.php22
-rw-r--r--vendor/ezyang/htmlpurifier/plugins/phorum/settings/migrate-sigs.php79
-rw-r--r--vendor/ezyang/htmlpurifier/plugins/phorum/settings/save.php29
-rw-r--r--vendor/ezyang/htmlpurifier/release1-update.php110
-rw-r--r--vendor/ezyang/htmlpurifier/release2-tag.php22
-rw-r--r--vendor/ezyang/htmlpurifier/test-settings.sample.php74
-rw-r--r--vendor/ezyang/htmlpurifier/test-settings.travis.php72
-rw-r--r--vendor/league/html-to-markdown/CHANGELOG.md214
-rw-r--r--vendor/league/html-to-markdown/CONDUCT.md22
-rw-r--r--vendor/league/html-to-markdown/LICENSE22
-rw-r--r--vendor/league/html-to-markdown/README.md196
-rwxr-xr-xvendor/league/html-to-markdown/bin/html-to-markdown108
-rw-r--r--vendor/league/html-to-markdown/composer.json48
-rw-r--r--vendor/league/html-to-markdown/src/Configuration.php60
-rw-r--r--vendor/league/html-to-markdown/src/ConfigurationAwareInterface.php11
-rw-r--r--vendor/league/html-to-markdown/src/Converter/BlockquoteConverter.php44
-rw-r--r--vendor/league/html-to-markdown/src/Converter/CodeConverter.php62
-rw-r--r--vendor/league/html-to-markdown/src/Converter/CommentConverter.php26
-rw-r--r--vendor/league/html-to-markdown/src/Converter/ConverterInterface.php20
-rw-r--r--vendor/league/html-to-markdown/src/Converter/DefaultConverter.php50
-rw-r--r--vendor/league/html-to-markdown/src/Converter/DivConverter.php45
-rw-r--r--vendor/league/html-to-markdown/src/Converter/EmphasisConverter.php57
-rw-r--r--vendor/league/html-to-markdown/src/Converter/HardBreakConverter.php41
-rw-r--r--vendor/league/html-to-markdown/src/Converter/HeaderConverter.php78
-rw-r--r--vendor/league/html-to-markdown/src/Converter/HorizontalRuleConverter.php26
-rw-r--r--vendor/league/html-to-markdown/src/Converter/ImageConverter.php35
-rw-r--r--vendor/league/html-to-markdown/src/Converter/LinkConverter.php52
-rw-r--r--vendor/league/html-to-markdown/src/Converter/ListBlockConverter.php26
-rw-r--r--vendor/league/html-to-markdown/src/Converter/ListItemConverter.php47
-rw-r--r--vendor/league/html-to-markdown/src/Converter/ParagraphConverter.php124
-rw-r--r--vendor/league/html-to-markdown/src/Converter/PreformattedConverter.php59
-rw-r--r--vendor/league/html-to-markdown/src/Converter/TextConverter.php46
-rw-r--r--vendor/league/html-to-markdown/src/Element.php257
-rw-r--r--vendor/league/html-to-markdown/src/ElementInterface.php80
-rw-r--r--vendor/league/html-to-markdown/src/Environment.php104
-rw-r--r--vendor/league/html-to-markdown/src/HtmlConverter.php231
-rw-r--r--vendor/lukasreschke/id3parser/.gitignore1
-rw-r--r--vendor/lukasreschke/id3parser/README.md29
-rw-r--r--vendor/lukasreschke/id3parser/composer.json14
-rw-r--r--vendor/lukasreschke/id3parser/src/ID3Parser.php22
-rw-r--r--vendor/lukasreschke/id3parser/src/getID3/Tags/getid3_id3v1.php356
-rw-r--r--vendor/lukasreschke/id3parser/src/getID3/Tags/getid3_id3v2.php3383
-rw-r--r--vendor/lukasreschke/id3parser/src/getID3/getid3.php252
-rw-r--r--vendor/lukasreschke/id3parser/src/getID3/getid3_exception.php13
-rw-r--r--vendor/lukasreschke/id3parser/src/getID3/getid3_handler.php145
-rw-r--r--vendor/lukasreschke/id3parser/src/getID3/getid3_lib.php1171
-rw-r--r--vendor/michelf/php-markdown/License.md36
-rw-r--r--vendor/michelf/php-markdown/Michelf/Markdown.inc.php10
-rw-r--r--vendor/michelf/php-markdown/Michelf/Markdown.php1896
-rw-r--r--vendor/michelf/php-markdown/Michelf/MarkdownExtra.inc.php11
-rw-r--r--vendor/michelf/php-markdown/Michelf/MarkdownExtra.php1785
-rw-r--r--vendor/michelf/php-markdown/Michelf/MarkdownInterface.inc.php9
-rw-r--r--vendor/michelf/php-markdown/Michelf/MarkdownInterface.php38
-rw-r--r--vendor/michelf/php-markdown/Readme.md384
-rw-r--r--vendor/michelf/php-markdown/Readme.php31
-rw-r--r--vendor/michelf/php-markdown/composer.json31
-rw-r--r--vendor/pear/text_languagedetect/README.rst157
-rw-r--r--vendor/pear/text_languagedetect/Text/LanguageDetect.php1678
-rw-r--r--vendor/pear/text_languagedetect/Text/LanguageDetect/Exception.php81
-rw-r--r--vendor/pear/text_languagedetect/Text/LanguageDetect/ISO639.php340
-rw-r--r--vendor/pear/text_languagedetect/Text/LanguageDetect/Parser.php358
-rw-r--r--vendor/pear/text_languagedetect/composer.json32
-rw-r--r--vendor/pear/text_languagedetect/data/build-unicode_blocks.php7
-rw-r--r--vendor/pear/text_languagedetect/data/lang.dat1
-rw-r--r--vendor/pear/text_languagedetect/data/unicode_blocks.dat1
-rw-r--r--vendor/pear/text_languagedetect/data/unicode_blocks.php874
-rw-r--r--vendor/pear/text_languagedetect/package.xml246
-rw-r--r--vendor/sabre/dav/.travis.yml7
-rw-r--r--vendor/sabre/dav/CHANGELOG.md56
-rw-r--r--vendor/sabre/dav/README.md2
-rwxr-xr-x[-rw-r--r--]vendor/sabre/dav/bin/build.php0
-rwxr-xr-x[-rw-r--r--]vendor/sabre/dav/bin/googlecode_upload.py0
-rwxr-xr-x[-rw-r--r--]vendor/sabre/dav/bin/migrateto20.php0
-rwxr-xr-x[-rw-r--r--]vendor/sabre/dav/bin/migrateto21.php0
-rwxr-xr-x[-rw-r--r--]vendor/sabre/dav/bin/migrateto30.php0
-rwxr-xr-x[-rw-r--r--]vendor/sabre/dav/bin/migrateto32.php0
-rwxr-xr-x[-rw-r--r--]vendor/sabre/dav/bin/sabredav.php0
-rw-r--r--vendor/sabre/dav/composer.json4
-rw-r--r--vendor/sabre/dav/lib/CalDAV/Backend/AbstractBackend.php6
-rw-r--r--vendor/sabre/dav/lib/CalDAV/Backend/NotificationSupport.php4
-rw-r--r--vendor/sabre/dav/lib/CalDAV/Backend/PDO.php68
-rw-r--r--vendor/sabre/dav/lib/CalDAV/Backend/SharingSupport.php6
-rw-r--r--vendor/sabre/dav/lib/CalDAV/Backend/SimplePDO.php14
-rw-r--r--vendor/sabre/dav/lib/CalDAV/Backend/SubscriptionSupport.php2
-rw-r--r--vendor/sabre/dav/lib/CalDAV/Calendar.php2
-rw-r--r--vendor/sabre/dav/lib/CalDAV/CalendarHome.php8
-rw-r--r--vendor/sabre/dav/lib/CalDAV/CalendarObject.php2
-rw-r--r--vendor/sabre/dav/lib/CalDAV/CalendarQueryValidator.php4
-rw-r--r--vendor/sabre/dav/lib/CalDAV/CalendarRoot.php2
-rw-r--r--vendor/sabre/dav/lib/CalDAV/Exception/InvalidComponentType.php2
-rw-r--r--vendor/sabre/dav/lib/CalDAV/ICSExportPlugin.php6
-rw-r--r--vendor/sabre/dav/lib/CalDAV/Notifications/Collection.php4
-rw-r--r--vendor/sabre/dav/lib/CalDAV/Notifications/INode.php8
-rw-r--r--vendor/sabre/dav/lib/CalDAV/Notifications/Node.php12
-rw-r--r--vendor/sabre/dav/lib/CalDAV/Notifications/Plugin.php4
-rw-r--r--vendor/sabre/dav/lib/CalDAV/Plugin.php10
-rw-r--r--vendor/sabre/dav/lib/CalDAV/Principal/ProxyRead.php4
-rw-r--r--vendor/sabre/dav/lib/CalDAV/Principal/ProxyWrite.php4
-rw-r--r--vendor/sabre/dav/lib/CalDAV/Schedule/IMipPlugin.php2
-rw-r--r--vendor/sabre/dav/lib/CalDAV/Schedule/Inbox.php6
-rw-r--r--vendor/sabre/dav/lib/CalDAV/Schedule/Outbox.php2
-rw-r--r--vendor/sabre/dav/lib/CalDAV/Schedule/Plugin.php33
-rw-r--r--vendor/sabre/dav/lib/CalDAV/Schedule/SchedulingObject.php2
-rw-r--r--vendor/sabre/dav/lib/CalDAV/SharingPlugin.php3
-rw-r--r--vendor/sabre/dav/lib/CalDAV/Subscriptions/Plugin.php2
-rw-r--r--vendor/sabre/dav/lib/CalDAV/Subscriptions/Subscription.php12
-rw-r--r--vendor/sabre/dav/lib/CalDAV/Xml/Filter/CalendarData.php8
-rw-r--r--vendor/sabre/dav/lib/CalDAV/Xml/Filter/CompFilter.php8
-rw-r--r--vendor/sabre/dav/lib/CalDAV/Xml/Filter/ParamFilter.php4
-rw-r--r--vendor/sabre/dav/lib/CalDAV/Xml/Filter/PropFilter.php8
-rw-r--r--vendor/sabre/dav/lib/CalDAV/Xml/Notification/Invite.php10
-rw-r--r--vendor/sabre/dav/lib/CalDAV/Xml/Notification/InviteReply.php6
-rw-r--r--vendor/sabre/dav/lib/CalDAV/Xml/Notification/NotificationInterface.php2
-rw-r--r--vendor/sabre/dav/lib/CalDAV/Xml/Notification/SystemStatus.php2
-rw-r--r--vendor/sabre/dav/lib/CalDAV/Xml/Property/AllowedSharingModes.php8
-rw-r--r--vendor/sabre/dav/lib/CalDAV/Xml/Property/EmailAddressSet.php4
-rw-r--r--vendor/sabre/dav/lib/CalDAV/Xml/Property/Invite.php13
-rw-r--r--vendor/sabre/dav/lib/CalDAV/Xml/Property/ScheduleCalendarTransp.php10
-rw-r--r--vendor/sabre/dav/lib/CalDAV/Xml/Property/SupportedCalendarComponentSet.php8
-rw-r--r--vendor/sabre/dav/lib/CalDAV/Xml/Property/SupportedCalendarData.php8
-rw-r--r--vendor/sabre/dav/lib/CalDAV/Xml/Property/SupportedCollationSet.php6
-rw-r--r--vendor/sabre/dav/lib/CalDAV/Xml/Request/CalendarMultiGetReport.php6
-rw-r--r--vendor/sabre/dav/lib/CalDAV/Xml/Request/CalendarQueryReport.php8
-rw-r--r--vendor/sabre/dav/lib/CalDAV/Xml/Request/FreeBusyQueryReport.php2
-rw-r--r--vendor/sabre/dav/lib/CalDAV/Xml/Request/InviteReply.php4
-rw-r--r--vendor/sabre/dav/lib/CalDAV/Xml/Request/MkCalendar.php6
-rw-r--r--vendor/sabre/dav/lib/CalDAV/Xml/Request/Share.php2
-rw-r--r--vendor/sabre/dav/lib/CardDAV/AddressBook.php2
-rw-r--r--vendor/sabre/dav/lib/CardDAV/AddressBookHome.php2
-rw-r--r--vendor/sabre/dav/lib/CardDAV/AddressBookRoot.php2
-rw-r--r--vendor/sabre/dav/lib/CardDAV/Backend/BackendInterface.php2
-rw-r--r--vendor/sabre/dav/lib/CardDAV/Backend/PDO.php6
-rw-r--r--vendor/sabre/dav/lib/CardDAV/Card.php2
-rw-r--r--vendor/sabre/dav/lib/CardDAV/Plugin.php19
-rw-r--r--vendor/sabre/dav/lib/CardDAV/VCFExportPlugin.php4
-rw-r--r--vendor/sabre/dav/lib/CardDAV/Xml/Filter/AddressData.php8
-rw-r--r--vendor/sabre/dav/lib/CardDAV/Xml/Filter/ParamFilter.php6
-rw-r--r--vendor/sabre/dav/lib/CardDAV/Xml/Filter/PropFilter.php6
-rw-r--r--vendor/sabre/dav/lib/CardDAV/Xml/Property/SupportedAddressData.php6
-rw-r--r--vendor/sabre/dav/lib/CardDAV/Xml/Property/SupportedCollationSet.php4
-rw-r--r--vendor/sabre/dav/lib/CardDAV/Xml/Request/AddressBookMultiGetReport.php2
-rw-r--r--vendor/sabre/dav/lib/CardDAV/Xml/Request/AddressBookQueryReport.php13
-rw-r--r--vendor/sabre/dav/lib/DAV/Auth/Backend/AbstractDigest.php2
-rw-r--r--vendor/sabre/dav/lib/DAV/Auth/Backend/PDO.php2
-rw-r--r--vendor/sabre/dav/lib/DAV/Auth/Plugin.php6
-rw-r--r--vendor/sabre/dav/lib/DAV/Browser/GuessContentType.php4
-rw-r--r--vendor/sabre/dav/lib/DAV/Browser/MapGetToPropFind.php2
-rw-r--r--vendor/sabre/dav/lib/DAV/Browser/Plugin.php62
-rw-r--r--vendor/sabre/dav/lib/DAV/Browser/PropFindAll.php2
-rw-r--r--vendor/sabre/dav/lib/DAV/Client.php6
-rw-r--r--vendor/sabre/dav/lib/DAV/Collection.php2
-rw-r--r--vendor/sabre/dav/lib/DAV/CorePlugin.php30
-rw-r--r--vendor/sabre/dav/lib/DAV/Exception/InvalidResourceType.php2
-rw-r--r--vendor/sabre/dav/lib/DAV/FS/Node.php2
-rw-r--r--vendor/sabre/dav/lib/DAV/File.php2
-rw-r--r--vendor/sabre/dav/lib/DAV/IFile.php4
-rw-r--r--vendor/sabre/dav/lib/DAV/IMoveTarget.php2
-rw-r--r--vendor/sabre/dav/lib/DAV/Locks/Backend/PDO.php4
-rw-r--r--vendor/sabre/dav/lib/DAV/Locks/Plugin.php6
-rw-r--r--vendor/sabre/dav/lib/DAV/MkCol.php1
-rw-r--r--vendor/sabre/dav/lib/DAV/Mount/Plugin.php2
-rw-r--r--vendor/sabre/dav/lib/DAV/Node.php4
-rw-r--r--vendor/sabre/dav/lib/DAV/PartialUpdate/Plugin.php2
-rw-r--r--vendor/sabre/dav/lib/DAV/PropFind.php2
-rw-r--r--vendor/sabre/dav/lib/DAV/PropertyStorage/Backend/BackendInterface.php2
-rw-r--r--vendor/sabre/dav/lib/DAV/PropertyStorage/Backend/PDO.php2
-rw-r--r--vendor/sabre/dav/lib/DAV/PropertyStorage/Plugin.php13
-rw-r--r--vendor/sabre/dav/lib/DAV/Server.php101
-rw-r--r--vendor/sabre/dav/lib/DAV/Sharing/Plugin.php4
-rw-r--r--vendor/sabre/dav/lib/DAV/Sync/Plugin.php2
-rw-r--r--vendor/sabre/dav/lib/DAV/TemporaryFileFilterPlugin.php8
-rw-r--r--vendor/sabre/dav/lib/DAV/Version.php2
-rw-r--r--vendor/sabre/dav/lib/DAV/Xml/Element/Prop.php6
-rw-r--r--vendor/sabre/dav/lib/DAV/Xml/Element/Response.php2
-rw-r--r--vendor/sabre/dav/lib/DAV/Xml/Element/Sharee.php4
-rw-r--r--vendor/sabre/dav/lib/DAV/Xml/Property/Complex.php2
-rw-r--r--vendor/sabre/dav/lib/DAV/Xml/Property/GetLastModified.php8
-rw-r--r--vendor/sabre/dav/lib/DAV/Xml/Property/Href.php10
-rw-r--r--vendor/sabre/dav/lib/DAV/Xml/Property/Invite.php6
-rw-r--r--vendor/sabre/dav/lib/DAV/Xml/Property/LocalHref.php4
-rw-r--r--vendor/sabre/dav/lib/DAV/Xml/Property/ResourceType.php4
-rw-r--r--vendor/sabre/dav/lib/DAV/Xml/Property/ShareAccess.php6
-rw-r--r--vendor/sabre/dav/lib/DAV/Xml/Property/SupportedLock.php8
-rw-r--r--vendor/sabre/dav/lib/DAV/Xml/Property/SupportedMethodSet.php4
-rw-r--r--vendor/sabre/dav/lib/DAV/Xml/Property/SupportedReportSet.php4
-rw-r--r--vendor/sabre/dav/lib/DAV/Xml/Request/Lock.php2
-rw-r--r--vendor/sabre/dav/lib/DAV/Xml/Request/MkCol.php6
-rw-r--r--vendor/sabre/dav/lib/DAV/Xml/Request/PropFind.php2
-rw-r--r--vendor/sabre/dav/lib/DAV/Xml/Request/PropPatch.php10
-rw-r--r--vendor/sabre/dav/lib/DAV/Xml/Request/ShareResource.php4
-rw-r--r--vendor/sabre/dav/lib/DAV/Xml/Request/SyncCollectionReport.php8
-rw-r--r--vendor/sabre/dav/lib/DAV/Xml/Response/MultiStatus.php2
-rw-r--r--vendor/sabre/dav/lib/DAVACL/Exception/NotRecognizedPrincipal.php2
-rw-r--r--vendor/sabre/dav/lib/DAVACL/FS/Collection.php4
-rw-r--r--vendor/sabre/dav/lib/DAVACL/FS/File.php2
-rw-r--r--vendor/sabre/dav/lib/DAVACL/FS/HomeCollection.php2
-rw-r--r--vendor/sabre/dav/lib/DAVACL/Plugin.php38
-rw-r--r--vendor/sabre/dav/lib/DAVACL/Principal.php2
-rw-r--r--vendor/sabre/dav/lib/DAVACL/PrincipalBackend/BackendInterface.php2
-rw-r--r--vendor/sabre/dav/lib/DAVACL/PrincipalBackend/PDO.php8
-rw-r--r--vendor/sabre/dav/lib/DAVACL/PrincipalCollection.php2
-rw-r--r--vendor/sabre/dav/lib/DAVACL/Xml/Property/Acl.php6
-rw-r--r--vendor/sabre/dav/lib/DAVACL/Xml/Property/AclRestrictions.php6
-rw-r--r--vendor/sabre/dav/lib/DAVACL/Xml/Property/CurrentUserPrivilegeSet.php6
-rw-r--r--vendor/sabre/dav/lib/DAVACL/Xml/Property/Principal.php4
-rw-r--r--vendor/sabre/dav/lib/DAVACL/Xml/Property/SupportedPrivilegeSet.php11
-rw-r--r--vendor/sabre/dav/lib/DAVACL/Xml/Request/AclPrincipalPropSetReport.php6
-rw-r--r--vendor/sabre/dav/lib/DAVACL/Xml/Request/ExpandPropertyReport.php2
-rw-r--r--vendor/sabre/dav/lib/DAVACL/Xml/Request/PrincipalMatchReport.php6
-rw-r--r--vendor/sabre/dav/lib/DAVACL/Xml/Request/PrincipalPropertySearchReport.php4
-rw-r--r--vendor/sabre/dav/lib/DAVACL/Xml/Request/PrincipalSearchPropertySetReport.php4
-rw-r--r--vendor/sabre/dav/tests/Sabre/CalDAV/Backend/AbstractPDOTest.php14
-rw-r--r--vendor/sabre/dav/tests/Sabre/CalDAV/Backend/Mock.php2
-rw-r--r--vendor/sabre/dav/tests/Sabre/CalDAV/CalendarObjectTest.php2
-rw-r--r--vendor/sabre/dav/tests/Sabre/CalDAV/CalendarQueryValidatorTest.php3
-rw-r--r--vendor/sabre/dav/tests/Sabre/CalDAV/FreeBusyReportTest.php4
-rw-r--r--vendor/sabre/dav/tests/Sabre/CalDAV/ICSExportPluginTest.php2
-rw-r--r--vendor/sabre/dav/tests/Sabre/CalDAV/PluginTest.php6
-rw-r--r--vendor/sabre/dav/tests/Sabre/CalDAV/SharingPluginTest.php4
-rw-r--r--vendor/sabre/dav/tests/Sabre/CardDAV/AddressBookQueryTest.php51
-rw-r--r--vendor/sabre/dav/tests/Sabre/CardDAV/AddressBookTest.php6
-rw-r--r--vendor/sabre/dav/tests/Sabre/CardDAV/Backend/Mock.php13
-rw-r--r--vendor/sabre/dav/tests/Sabre/CardDAV/MultiGetTest.php2
-rw-r--r--vendor/sabre/dav/tests/Sabre/CardDAV/SogoStripContentTypeTest.php2
-rw-r--r--vendor/sabre/dav/tests/Sabre/CardDAV/ValidateFilterTest.php5
-rw-r--r--vendor/sabre/dav/tests/Sabre/CardDAV/ValidateVCardTest.php10
-rw-r--r--vendor/sabre/dav/tests/Sabre/DAV/Auth/Backend/Mock.php2
-rw-r--r--vendor/sabre/dav/tests/Sabre/DAV/Auth/PluginTest.php2
-rw-r--r--vendor/sabre/dav/tests/Sabre/DAV/ClientTest.php6
-rw-r--r--vendor/sabre/dav/tests/Sabre/DAV/Exception/LockedTest.php2
-rw-r--r--vendor/sabre/dav/tests/Sabre/DAV/Issue33Test.php2
-rw-r--r--vendor/sabre/dav/tests/Sabre/DAV/Locks/MSWordTest.php8
-rw-r--r--vendor/sabre/dav/tests/Sabre/DAV/Locks/PluginTest.php6
-rw-r--r--vendor/sabre/dav/tests/Sabre/DAV/Mock/Collection.php3
-rw-r--r--vendor/sabre/dav/tests/Sabre/DAV/Mock/File.php7
-rw-r--r--vendor/sabre/dav/tests/Sabre/DAV/PartialUpdate/SpecificationTest.php5
-rw-r--r--vendor/sabre/dav/tests/Sabre/DAV/ServerEventsTest.php8
-rw-r--r--vendor/sabre/dav/tests/Sabre/DAV/ServerRangeTest.php2
-rw-r--r--vendor/sabre/dav/tests/Sabre/DAV/StringUtilTest.php7
-rw-r--r--vendor/sabre/dav/tests/Sabre/DAV/TreeTest.php5
-rw-r--r--vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalBackend/Mock.php2
-rw-r--r--vendor/sabre/http/.travis.yml4
-rw-r--r--vendor/sabre/http/CHANGELOG.md14
-rw-r--r--vendor/sabre/http/LICENSE2
-rw-r--r--vendor/sabre/http/composer.json1
-rw-r--r--vendor/sabre/http/lib/Message.php12
-rw-r--r--vendor/sabre/http/lib/MessageDecoratorTrait.php7
-rw-r--r--vendor/sabre/http/lib/MessageInterface.php3
-rw-r--r--vendor/sabre/http/lib/Request.php2
-rw-r--r--vendor/sabre/http/lib/Response.php3
-rw-r--r--vendor/sabre/http/lib/ResponseInterface.php2
-rw-r--r--vendor/sabre/http/lib/Sapi.php10
-rw-r--r--vendor/sabre/http/lib/URLUtil.php2
-rw-r--r--vendor/sabre/http/lib/Util.php2
-rw-r--r--vendor/sabre/http/lib/Version.php2
-rw-r--r--vendor/sabre/http/lib/functions.php4
-rw-r--r--vendor/sabre/uri/.travis.yml2
-rw-r--r--vendor/sabre/uri/CHANGELOG.md23
-rw-r--r--vendor/sabre/uri/LICENSE2
-rw-r--r--vendor/sabre/uri/README.md8
-rw-r--r--vendor/sabre/uri/composer.json4
-rw-r--r--vendor/sabre/uri/lib/InvalidUriException.php17
-rw-r--r--vendor/sabre/uri/lib/Version.php2
-rw-r--r--vendor/sabre/uri/lib/functions.php99
-rw-r--r--vendor/sabre/vobject/.travis.yml3
-rw-r--r--vendor/sabre/vobject/CHANGELOG.md18
-rwxr-xr-xvendor/sabre/vobject/bin/fetch_windows_zones.php2
-rw-r--r--vendor/sabre/vobject/composer.json4
-rw-r--r--vendor/sabre/vobject/lib/BirthdayCalendarGenerator.php8
-rw-r--r--vendor/sabre/vobject/lib/Component/VAlarm.php4
-rw-r--r--vendor/sabre/vobject/lib/Component/VCalendar.php112
-rw-r--r--vendor/sabre/vobject/lib/Component/VCard.php44
-rw-r--r--vendor/sabre/vobject/lib/DateTimeParser.php14
-rw-r--r--vendor/sabre/vobject/lib/FreeBusyGenerator.php6
-rw-r--r--vendor/sabre/vobject/lib/Parameter.php2
-rw-r--r--vendor/sabre/vobject/lib/Parser/Json.php2
-rw-r--r--vendor/sabre/vobject/lib/Parser/MimeDir.php4
-rw-r--r--vendor/sabre/vobject/lib/Parser/XML.php22
-rw-r--r--vendor/sabre/vobject/lib/Property/ICalendar/Duration.php2
-rw-r--r--vendor/sabre/vobject/lib/Property/ICalendar/Period.php2
-rw-r--r--vendor/sabre/vobject/lib/Property/ICalendar/Recur.php48
-rw-r--r--vendor/sabre/vobject/lib/Property/Text.php4
-rw-r--r--vendor/sabre/vobject/lib/Property/Uri.php2
-rw-r--r--vendor/sabre/vobject/lib/Property/VCard/DateAndOrTime.php24
-rw-r--r--vendor/sabre/vobject/lib/Recur/EventIterator.php6
-rw-r--r--vendor/sabre/vobject/lib/Recur/RRuleIterator.php93
-rw-r--r--vendor/sabre/vobject/lib/TimeZoneUtil.php10
-rw-r--r--vendor/sabre/vobject/lib/Version.php2
-rw-r--r--vendor/sabre/vobject/lib/timezonedata/lotuszones.php158
-rw-r--r--vendor/sabre/vobject/lib/timezonedata/windowszones.php32
-rw-r--r--vendor/simplepie/simplepie/LICENSE.txt26
-rw-r--r--vendor/simplepie/simplepie/README.markdown113
-rw-r--r--vendor/simplepie/simplepie/autoloader.php85
-rw-r--r--vendor/simplepie/simplepie/composer.json40
-rw-r--r--vendor/simplepie/simplepie/db.sql40
-rw-r--r--vendor/simplepie/simplepie/idn/LICENCE502
-rw-r--r--vendor/simplepie/simplepie/idn/ReadMe.txt123
-rw-r--r--vendor/simplepie/simplepie/idn/idna_convert.class.php969
-rw-r--r--vendor/simplepie/simplepie/idn/npdata.ser1
-rwxr-xr-xvendor/simplepie/simplepie/library/SimplePie.php3303
-rw-r--r--vendor/simplepie/simplepie/library/SimplePie/Author.php156
-rw-r--r--vendor/simplepie/simplepie/library/SimplePie/Cache.php134
-rw-r--r--vendor/simplepie/simplepie/library/SimplePie/Cache/Base.php113
-rw-r--r--vendor/simplepie/simplepie/library/SimplePie/Cache/DB.php136
-rw-r--r--vendor/simplepie/simplepie/library/SimplePie/Cache/File.php164
-rw-r--r--vendor/simplepie/simplepie/library/SimplePie/Cache/Memcache.php180
-rwxr-xr-xvendor/simplepie/simplepie/library/SimplePie/Cache/Memcached.php166
-rw-r--r--vendor/simplepie/simplepie/library/SimplePie/Cache/MySQL.php454
-rw-r--r--vendor/simplepie/simplepie/library/SimplePie/Cache/Redis.php166
-rw-r--r--vendor/simplepie/simplepie/library/SimplePie/Caption.php209
-rw-r--r--vendor/simplepie/simplepie/library/SimplePie/Category.php163
-rw-r--r--vendor/simplepie/simplepie/library/SimplePie/Content/Type/Sniffer.php331
-rw-r--r--vendor/simplepie/simplepie/library/SimplePie/Copyright.php129
-rw-r--r--vendor/simplepie/simplepie/library/SimplePie/Core.php56
-rw-r--r--vendor/simplepie/simplepie/library/SimplePie/Credit.php155
-rw-r--r--vendor/simplepie/simplepie/library/SimplePie/Decode/HTML/Entities.php615
-rw-r--r--vendor/simplepie/simplepie/library/SimplePie/Enclosure.php1379
-rw-r--r--vendor/simplepie/simplepie/library/SimplePie/Exception.php51
-rw-r--r--vendor/simplepie/simplepie/library/SimplePie/File.php306
-rw-r--r--vendor/simplepie/simplepie/library/SimplePie/HTTP/Parser.php499
-rw-r--r--vendor/simplepie/simplepie/library/SimplePie/IRI.php1257
-rw-r--r--vendor/simplepie/simplepie/library/SimplePie/Item.php3009
-rw-r--r--vendor/simplepie/simplepie/library/SimplePie/Locator.php429
-rw-r--r--vendor/simplepie/simplepie/library/SimplePie/Misc.php2279
-rw-r--r--vendor/simplepie/simplepie/library/SimplePie/Net/IPv6.php275
-rw-r--r--vendor/simplepie/simplepie/library/SimplePie/Parse/Date.php983
-rw-r--r--vendor/simplepie/simplepie/library/SimplePie/Parser.php656
-rw-r--r--vendor/simplepie/simplepie/library/SimplePie/Rating.php128
-rwxr-xr-xvendor/simplepie/simplepie/library/SimplePie/Registry.php224
-rw-r--r--vendor/simplepie/simplepie/library/SimplePie/Restriction.php154
-rw-r--r--vendor/simplepie/simplepie/library/SimplePie/Sanitize.php591
-rw-r--r--vendor/simplepie/simplepie/library/SimplePie/Source.php610
-rw-r--r--vendor/simplepie/simplepie/library/SimplePie/XML/Declaration/Parser.php361
-rw-r--r--vendor/simplepie/simplepie/library/SimplePie/gzdecode.php370
1929 files changed, 584148 insertions, 976 deletions
diff --git a/vendor/autoload.php b/vendor/autoload.php
index 063a1b7e1..8b4926c3d 100644
--- a/vendor/autoload.php
+++ b/vendor/autoload.php
@@ -2,6 +2,6 @@
// autoload.php @generated by Composer
-require_once __DIR__ . '/composer' . '/autoload_real.php';
+require_once __DIR__ . '/composer/autoload_real.php';
return ComposerAutoloaderInit7b34d7e50a62201ec5d5e526a5b8b35d::getLoader();
diff --git a/vendor/bin/html-to-markdown b/vendor/bin/html-to-markdown
new file mode 120000
index 000000000..6f8d9d2b1
--- /dev/null
+++ b/vendor/bin/html-to-markdown
@@ -0,0 +1 @@
+../league/html-to-markdown/bin/html-to-markdown \ No newline at end of file
diff --git a/vendor/bshaffer/oauth2-server-php/CHANGELOG.md b/vendor/bshaffer/oauth2-server-php/CHANGELOG.md
new file mode 100644
index 000000000..4fddd72c9
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/CHANGELOG.md
@@ -0,0 +1,182 @@
+CHANGELOG for 1.x
+=================
+
+This changelog references the relevant changes (bug and security fixes) done
+in 1.x minor versions.
+
+To see the files changed for a given bug, go to https://github.com/bshaffer/oauth2-server-php/issues/### where ### is the bug number
+To get the diff between two versions, go to https://github.com/bshaffer/oauth2-server-php/compare/v1.0...v1.1
+To get the diff for a specific change, go to https://github.com/bshaffer/oauth2-server-php/commit/XXX where XXX is the change hash
+
+* 1.9.0 (2016-01-06)
+
+ PR: https://github.com/bshaffer/oauth2-server-php/pull/788
+
+ * bug #645 - Allow null for client_secret
+ * bug #651 - Fix bug in isPublicClient of Cassandra Storage
+ * bug #670 - Bug in client's scope restriction
+ * bug #672 - Implemented method to override the password hashing algorithm
+ * bug #698 - Fix Token Response's Content-Type to application/json
+ * bug #729 - Ensures unsetAccessToken and unsetRefreshToken return a bool
+ * bug #749 - Fix UserClaims for CodeIdToken
+ * bug #784 - RFC6750 compatibility
+ * bug #776 - Fix "redirect_uri_mismatch" for URIs with encoded characters
+ * bug #759 - no access token supplied to resource controller results in empty request body
+ * bug #773 - Use OpenSSL random method before attempting Mcrypt's.
+ * bug #790 - Add mongo db
+
+* 1.8.0 (2015-09-18)
+
+ PR: https://github.com/bshaffer/oauth2-server-php/pull/643
+
+ * bug #594 - adds jti
+ * bug #598 - fixes lifetime configurations for JWTs
+ * bug #634 - fixes travis builds, upgrade to containers
+ * bug #586 - support for revoking tokens
+ * bug #636 - Adds FirebaseJWT bridge
+ * bug #639 - Mongo HHVM compatibility
+
+* 1.7.0 (2015-04-23)
+
+ PR: https://github.com/bshaffer/oauth2-server-php/pull/572
+
+ * bug #500 - PDO fetch mode changed from FETCH_BOTH to FETCH_ASSOC
+ * bug #508 - Case insensitive for Bearer token header name ba716d4
+ * bug #512 - validateRedirectUri is now public
+ * bug #530 - Add PublicKeyInterface, UserClaimsInterface to Cassandra Storage
+ * bug #505 - DynamoDB storage fixes
+ * bug #556 - adds "code id_token" return type to openid connect
+ * bug #563 - Include "issuer" config key for JwtAccessToken
+ * bug #564 - Fixes JWT vulnerability
+ * bug #571 - Added unset_refresh_token_after_use option
+
+* 1.6 (2015-01-16)
+
+ PR: https://github.com/bshaffer/oauth2-server-php/pull/496
+
+ * bug 437 - renames CryptoToken to JwtAccessToken / use_crypto_tokens to use_jwt_access_tokens
+ * bug 447 - Adds a Couchbase storage implementation
+ * bug 460 - Rename JWT claims to match spec
+ * bug 470 - order does not matter for multi-valued response types
+ * bug 471 - Make validateAuthorizeRequest available for POST in addition to GET
+ * bug 475 - Adds JTI table definitiion
+ * bug 481 - better randomness for generating access tokens
+ * bug 480 - Use hash_equals() for signature verification (prevents remote timing attacks)
+ * bugs 489, 491, 498 - misc other fixes
+
+* 1.5 (2014-08-27)
+
+ PR: https://github.com/bshaffer/oauth2-server-php/pull/446
+
+ * bug #399 - Add DynamoDB Support
+ * bug #404 - renamed error name for malformed/expired tokens
+ * bug #412 - Openid connect: fixes for claims with more than one scope / Add support for the prompt parameter ('consent' and 'none')
+ * bug #411 - fixes xml output
+ * bug #413 - fixes invalid format error
+ * bug #401 - fixes code standards / whitespace
+ * bug #354 - bundles PDO SQL with the library
+ * [BC] bug #397 - refresh tokens should not be encrypted
+ * bug #423 - makes "scope" optional for refresh token storage
+
+* 1.4 (2014-06-12)
+
+ PR: https://github.com/bshaffer/oauth2-server-php/pull/392
+
+ * bug #189 Storage\PDO - allows DSN string in constructor
+ * bug #233 Bearer Tokens - allows token in request body for PUT requests
+ * bug #346 Fixes open_basedir warning
+ * bug #351 Adds OpenID Connect support
+ * bug #355 Adds php 5.6 and HHVM to travis.ci testing
+ * [BC] bug #358 Adds `getQuerystringIdentifier()` to the GrantType interface
+ * bug #363 Encryption\JWT - Allows for subclassing JWT Headers
+ * bug #349 Bearer Tokens - adds requestHasToken method for when access tokens are optional
+ * bug #301 Encryption\JWT - fixes urlSafeB64Encode(): ensures newlines are replaced as expected
+ * bug #323 ResourceController - client_id is no longer required to be returned when calling getAccessToken
+ * bug #367 Storage\PDO - adds Postgres support
+ * bug #368 Access Tokens - use mcrypt_create_iv or openssl_random_pseudo_bytes to create token string
+ * bug #376 Request - allows case insensitive headers
+ * bug #384 Storage\PDO - can pass in PDO options in constructor of PDO storage
+ * misc fixes #361, #292, #373, #374, #379, #396
+* 1.3 (2014-02-27)
+
+ PR: https://github.com/bshaffer/oauth2-server-php/pull/325
+
+ * bug #311 adds cassandra storage
+ * bug #298 fixes response code for user credentials grant type
+ * bug #318 adds 'use_crypto_tokens' config to Server class for better DX
+ * [BC] bug #320 pass client_id to getDefaultScope
+ * bug #324 better feedback when running tests
+ * bug #335 adds support for non-expiring refresh tokens
+ * bug #333 fixes Pdo storage for getClientKey
+ * bug #336 fixes Redis storage for expireAuthorizationCode
+
+* 1.3 (2014-02-27)
+
+ PR: https://github.com/bshaffer/oauth2-server-php/pull/325
+
+ * bug #311 adds cassandra storage
+ * bug #298 fixes response code for user credentials grant type
+ * bug #318 adds 'use_crypto_tokens' config to Server class for better DX
+ * bug #320 pass client_id to getDefaultScope
+ * bug #324 better feedback when running tests
+ * bug #335 adds support for non-expiring refresh tokens
+ * bug #333 fixes Pdo storage for getClientKey
+ * bug #336 fixes Redis storage for expireAuthorizationCode
+
+* 1.2 (2014-01-03)
+
+ PR: https://github.com/bshaffer/oauth2-server-php/pull/288
+
+ * bug #285 changed response header from 200 to 401 when empty token received
+ * bug #286 adds documentation and links to spec for not including error messages when no token is supplied
+ * bug #280 ensures PHP warnings do not get thrown as a result of an invalid argument to $jwt->decode()
+ * bug #279 predis wrong number of arguments
+ * bug #277 Securing JS WebApp client secret w/ password grant type
+
+* 1.1 (2013-12-17)
+
+ PR: https://github.com/bshaffer/oauth2-server-php/pull/276
+
+ * bug #278 adds refresh token configuration to Server class
+ * bug #274 Supplying a null client_id and client_secret grants API access
+ * bug #244 [MongoStorage] More detailed implementation info
+ * bug #268 Implement jti for JWT Bearer tokens to prevent replay attacks.
+ * bug #266 Removing unused argument to getAccessTokenData
+ * bug #247 Make Bearer token type consistent
+ * bug #253 Fixing CryptoToken refresh token lifetime
+ * bug #246 refactors public key logic to be more intuitive
+ * bug #245 adds support for JSON crypto tokens
+ * bug #230 Remove unused columns in oauth_clients
+ * bug #215 makes Redis Scope Storage obey the same paradigm as PDO
+ * bug #228 removes scope group
+ * bug #227 squelches open basedir restriction error
+ * bug #223 Updated docblocks for RefreshTokenInterface.php
+ * bug #224 Adds protected properties
+ * bug #217 Implement ScopeInterface for PDO, Redis
+
+* 1.0 (2013-08-12)
+
+ * bug #203 Add redirect\_status_code config param for AuthorizeController
+ * bug #205 ensures unnecessary ? is not set when ** bug
+ * bug #204 Fixed call to LogicException
+ * bug #202 Add explode to checkRestrictedGrant in PDO Storage
+ * bug #197 adds support for 'false' default scope ** bug
+ * bug #192 reference errors and adds tests
+ * bug #194 makes some appropriate properties ** bug
+ * bug #191 passes config to HttpBasic
+ * bug #190 validates client credentials before ** bug
+ * bug #171 Fix wrong redirect following authorization step
+ * bug #187 client_id is now passed to getDefaultScope().
+ * bug #176 Require refresh_token in getRefreshToken response
+ * bug #174 make user\_id not required for refresh_token grant
+ * bug #173 Duplication in JwtBearer Grant
+ * bug #168 user\_id not required for authorization_code grant
+ * bug #133 hardens default security for user object
+ * bug #163 allows redirect\_uri on authorization_code to be NULL in docs example
+ * bug #162 adds getToken on ResourceController for convenience
+ * bug #161 fixes fatal error
+ * bug #163 Invalid redirect_uri handling
+ * bug #156 user\_id in OAuth2\_Storage_AuthorizationCodeInterface::getAuthorizationCode() response
+ * bug #157 Fix for extending access and refresh tokens
+ * bug #154 ResponseInterface: getParameter method is used in the library but not defined in the interface
+ * bug #148 Add more detail to examples in Readme.md
diff --git a/vendor/bshaffer/oauth2-server-php/LICENSE b/vendor/bshaffer/oauth2-server-php/LICENSE
new file mode 100644
index 000000000..d7ece8467
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/LICENSE
@@ -0,0 +1,21 @@
+The MIT License
+
+Copyright (c) 2014 Brent Shaffer
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/vendor/bshaffer/oauth2-server-php/README.md b/vendor/bshaffer/oauth2-server-php/README.md
new file mode 100644
index 000000000..4ceda6cf9
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/README.md
@@ -0,0 +1,8 @@
+oauth2-server-php
+=================
+
+[![Build Status](https://travis-ci.org/bshaffer/oauth2-server-php.svg?branch=develop)](https://travis-ci.org/bshaffer/oauth2-server-php)
+
+[![Total Downloads](https://poser.pugx.org/bshaffer/oauth2-server-php/downloads.png)](https://packagist.org/packages/bshaffer/oauth2-server-php)
+
+View the [complete documentation](http://bshaffer.github.io/oauth2-server-php-docs/) \ No newline at end of file
diff --git a/vendor/bshaffer/oauth2-server-php/composer.json b/vendor/bshaffer/oauth2-server-php/composer.json
new file mode 100644
index 000000000..561699f5e
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/composer.json
@@ -0,0 +1,34 @@
+{
+ "name": "bshaffer/oauth2-server-php",
+ "description":"OAuth2 Server for PHP",
+ "keywords":["oauth","oauth2","auth"],
+ "type":"library",
+ "license":"MIT",
+ "authors":[
+ {
+ "name":"Brent Shaffer",
+ "email": "bshafs@gmail.com",
+ "homepage":"http://brentertainment.com"
+ }
+ ],
+ "homepage": "http://github.com/bshaffer/oauth2-server-php",
+ "autoload": {
+ "psr-0": { "OAuth2": "src/" }
+ },
+ "require":{
+ "php":">=5.3.9"
+ },
+ "require-dev": {
+ "aws/aws-sdk-php": "~2.8",
+ "firebase/php-jwt": "~2.2",
+ "predis/predis": "dev-master",
+ "thobbs/phpcassa": "dev-master",
+ "mongodb/mongodb": "^1.1"
+ },
+ "suggest": {
+ "predis/predis": "Required to use Redis storage",
+ "thobbs/phpcassa": "Required to use Cassandra storage",
+ "aws/aws-sdk-php": "~2.8 is required to use DynamoDB storage",
+ "firebase/php-jwt": "~1.1 is required to use MondoDB storage"
+ }
+}
diff --git a/vendor/bshaffer/oauth2-server-php/src/OAuth2/Autoloader.php b/vendor/bshaffer/oauth2-server-php/src/OAuth2/Autoloader.php
new file mode 100644
index 000000000..ecfb6ba75
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/src/OAuth2/Autoloader.php
@@ -0,0 +1,48 @@
+<?php
+
+namespace OAuth2;
+
+/**
+ * Autoloads OAuth2 classes
+ *
+ * @author Brent Shaffer <bshafs at gmail dot com>
+ * @license MIT License
+ */
+class Autoloader
+{
+ private $dir;
+
+ public function __construct($dir = null)
+ {
+ if (is_null($dir)) {
+ $dir = dirname(__FILE__).'/..';
+ }
+ $this->dir = $dir;
+ }
+ /**
+ * Registers OAuth2\Autoloader as an SPL autoloader.
+ */
+ public static function register($dir = null)
+ {
+ ini_set('unserialize_callback_func', 'spl_autoload_call');
+ spl_autoload_register(array(new self($dir), 'autoload'));
+ }
+
+ /**
+ * Handles autoloading of classes.
+ *
+ * @param string $class A class name.
+ *
+ * @return boolean Returns true if the class has been loaded
+ */
+ public function autoload($class)
+ {
+ if (0 !== strpos($class, 'OAuth2')) {
+ return;
+ }
+
+ if (file_exists($file = $this->dir.'/'.str_replace('\\', '/', $class).'.php')) {
+ require $file;
+ }
+ }
+}
diff --git a/vendor/bshaffer/oauth2-server-php/src/OAuth2/ClientAssertionType/ClientAssertionTypeInterface.php b/vendor/bshaffer/oauth2-server-php/src/OAuth2/ClientAssertionType/ClientAssertionTypeInterface.php
new file mode 100644
index 000000000..29c7171b5
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/src/OAuth2/ClientAssertionType/ClientAssertionTypeInterface.php
@@ -0,0 +1,15 @@
+<?php
+
+namespace OAuth2\ClientAssertionType;
+
+use OAuth2\RequestInterface;
+use OAuth2\ResponseInterface;
+
+/**
+ * Interface for all OAuth2 Client Assertion Types
+ */
+interface ClientAssertionTypeInterface
+{
+ public function validateRequest(RequestInterface $request, ResponseInterface $response);
+ public function getClientId();
+}
diff --git a/vendor/bshaffer/oauth2-server-php/src/OAuth2/ClientAssertionType/HttpBasic.php b/vendor/bshaffer/oauth2-server-php/src/OAuth2/ClientAssertionType/HttpBasic.php
new file mode 100644
index 000000000..0ecb7e18d
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/src/OAuth2/ClientAssertionType/HttpBasic.php
@@ -0,0 +1,123 @@
+<?php
+
+namespace OAuth2\ClientAssertionType;
+
+use OAuth2\Storage\ClientCredentialsInterface;
+use OAuth2\RequestInterface;
+use OAuth2\ResponseInterface;
+
+/**
+ * Validate a client via Http Basic authentication
+ *
+ * @author Brent Shaffer <bshafs at gmail dot com>
+ */
+class HttpBasic implements ClientAssertionTypeInterface
+{
+ private $clientData;
+
+ protected $storage;
+ protected $config;
+
+ /**
+ * @param OAuth2\Storage\ClientCredentialsInterface $clientStorage REQUIRED Storage class for retrieving client credentials information
+ * @param array $config OPTIONAL Configuration options for the server
+ * <code>
+ * $config = array(
+ * 'allow_credentials_in_request_body' => true, // whether to look for credentials in the POST body in addition to the Authorize HTTP Header
+ * 'allow_public_clients' => true // if true, "public clients" (clients without a secret) may be authenticated
+ * );
+ * </code>
+ */
+ public function __construct(ClientCredentialsInterface $storage, array $config = array())
+ {
+ $this->storage = $storage;
+ $this->config = array_merge(array(
+ 'allow_credentials_in_request_body' => true,
+ 'allow_public_clients' => true,
+ ), $config);
+ }
+
+ public function validateRequest(RequestInterface $request, ResponseInterface $response)
+ {
+ if (!$clientData = $this->getClientCredentials($request, $response)) {
+ return false;
+ }
+
+ if (!isset($clientData['client_id'])) {
+ throw new \LogicException('the clientData array must have "client_id" set');
+ }
+
+ if (!isset($clientData['client_secret']) || $clientData['client_secret'] == '') {
+ if (!$this->config['allow_public_clients']) {
+ $response->setError(400, 'invalid_client', 'client credentials are required');
+
+ return false;
+ }
+
+ if (!$this->storage->isPublicClient($clientData['client_id'])) {
+ $response->setError(400, 'invalid_client', 'This client is invalid or must authenticate using a client secret');
+
+ return false;
+ }
+ } elseif ($this->storage->checkClientCredentials($clientData['client_id'], $clientData['client_secret']) === false) {
+ $response->setError(400, 'invalid_client', 'The client credentials are invalid');
+
+ return false;
+ }
+
+ $this->clientData = $clientData;
+
+ return true;
+ }
+
+ public function getClientId()
+ {
+ return $this->clientData['client_id'];
+ }
+
+ /**
+ * Internal function used to get the client credentials from HTTP basic
+ * auth or POST data.
+ *
+ * According to the spec (draft 20), the client_id can be provided in
+ * the Basic Authorization header (recommended) or via GET/POST.
+ *
+ * @return
+ * A list containing the client identifier and password, for example
+ * @code
+ * return array(
+ * "client_id" => CLIENT_ID, // REQUIRED the client id
+ * "client_secret" => CLIENT_SECRET, // OPTIONAL the client secret (may be omitted for public clients)
+ * );
+ * @endcode
+ *
+ * @see http://tools.ietf.org/html/rfc6749#section-2.3.1
+ *
+ * @ingroup oauth2_section_2
+ */
+ public function getClientCredentials(RequestInterface $request, ResponseInterface $response = null)
+ {
+ if (!is_null($request->headers('PHP_AUTH_USER')) && !is_null($request->headers('PHP_AUTH_PW'))) {
+ return array('client_id' => $request->headers('PHP_AUTH_USER'), 'client_secret' => $request->headers('PHP_AUTH_PW'));
+ }
+
+ if ($this->config['allow_credentials_in_request_body']) {
+ // Using POST for HttpBasic authorization is not recommended, but is supported by specification
+ if (!is_null($request->request('client_id'))) {
+ /**
+ * client_secret can be null if the client's password is an empty string
+ * @see http://tools.ietf.org/html/rfc6749#section-2.3.1
+ */
+
+ return array('client_id' => $request->request('client_id'), 'client_secret' => $request->request('client_secret'));
+ }
+ }
+
+ if ($response) {
+ $message = $this->config['allow_credentials_in_request_body'] ? ' or body' : '';
+ $response->setError(400, 'invalid_client', 'Client credentials were not found in the headers'.$message);
+ }
+
+ return null;
+ }
+}
diff --git a/vendor/bshaffer/oauth2-server-php/src/OAuth2/Controller/AuthorizeController.php b/vendor/bshaffer/oauth2-server-php/src/OAuth2/Controller/AuthorizeController.php
new file mode 100644
index 000000000..ea7f54a87
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/src/OAuth2/Controller/AuthorizeController.php
@@ -0,0 +1,393 @@
+<?php
+
+namespace OAuth2\Controller;
+
+use OAuth2\Storage\ClientInterface;
+use OAuth2\ScopeInterface;
+use OAuth2\RequestInterface;
+use OAuth2\ResponseInterface;
+use OAuth2\Scope;
+
+/**
+ * @see OAuth2\Controller\AuthorizeControllerInterface
+ */
+class AuthorizeController implements AuthorizeControllerInterface
+{
+ private $scope;
+ private $state;
+ private $client_id;
+ private $redirect_uri;
+ private $response_type;
+
+ protected $clientStorage;
+ protected $responseTypes;
+ protected $config;
+ protected $scopeUtil;
+
+ /**
+ * @param OAuth2\Storage\ClientInterface $clientStorage REQUIRED Instance of OAuth2\Storage\ClientInterface to retrieve client information
+ * @param array $responseTypes OPTIONAL Array of OAuth2\ResponseType\ResponseTypeInterface objects. Valid array
+ * keys are "code" and "token"
+ * @param array $config OPTIONAL Configuration options for the server
+ * <code>
+ * $config = array(
+ * 'allow_implicit' => false, // if the controller should allow the "implicit" grant type
+ * 'enforce_state' => true // if the controller should require the "state" parameter
+ * 'require_exact_redirect_uri' => true, // if the controller should require an exact match on the "redirect_uri" parameter
+ * 'redirect_status_code' => 302, // HTTP status code to use for redirect responses
+ * );
+ * </code>
+ * @param OAuth2\ScopeInterface $scopeUtil OPTIONAL Instance of OAuth2\ScopeInterface to validate the requested scope
+ */
+ public function __construct(ClientInterface $clientStorage, array $responseTypes = array(), array $config = array(), ScopeInterface $scopeUtil = null)
+ {
+ $this->clientStorage = $clientStorage;
+ $this->responseTypes = $responseTypes;
+ $this->config = array_merge(array(
+ 'allow_implicit' => false,
+ 'enforce_state' => true,
+ 'require_exact_redirect_uri' => true,
+ 'redirect_status_code' => 302,
+ ), $config);
+
+ if (is_null($scopeUtil)) {
+ $scopeUtil = new Scope();
+ }
+ $this->scopeUtil = $scopeUtil;
+ }
+
+ public function handleAuthorizeRequest(RequestInterface $request, ResponseInterface $response, $is_authorized, $user_id = null)
+ {
+ if (!is_bool($is_authorized)) {
+ throw new \InvalidArgumentException('Argument "is_authorized" must be a boolean. This method must know if the user has granted access to the client.');
+ }
+
+ // We repeat this, because we need to re-validate. The request could be POSTed
+ // by a 3rd-party (because we are not internally enforcing NONCEs, etc)
+ if (!$this->validateAuthorizeRequest($request, $response)) {
+ return;
+ }
+
+ // If no redirect_uri is passed in the request, use client's registered one
+ if (empty($this->redirect_uri)) {
+ $clientData = $this->clientStorage->getClientDetails($this->client_id);
+ $registered_redirect_uri = $clientData['redirect_uri'];
+ }
+
+ // the user declined access to the client's application
+ if ($is_authorized === false) {
+ $redirect_uri = $this->redirect_uri ?: $registered_redirect_uri;
+ $this->setNotAuthorizedResponse($request, $response, $redirect_uri, $user_id);
+
+ return;
+ }
+
+ // build the parameters to set in the redirect URI
+ if (!$params = $this->buildAuthorizeParameters($request, $response, $user_id)) {
+ return;
+ }
+
+ $authResult = $this->responseTypes[$this->response_type]->getAuthorizeResponse($params, $user_id);
+
+ list($redirect_uri, $uri_params) = $authResult;
+
+ if (empty($redirect_uri) && !empty($registered_redirect_uri)) {
+ $redirect_uri = $registered_redirect_uri;
+ }
+
+ $uri = $this->buildUri($redirect_uri, $uri_params);
+
+ // return redirect response
+ $response->setRedirect($this->config['redirect_status_code'], $uri);
+ }
+
+ protected function setNotAuthorizedResponse(RequestInterface $request, ResponseInterface $response, $redirect_uri, $user_id = null)
+ {
+ $error = 'access_denied';
+ $error_message = 'The user denied access to your application';
+ $response->setRedirect($this->config['redirect_status_code'], $redirect_uri, $this->state, $error, $error_message);
+ }
+
+ /*
+ * We have made this protected so this class can be extended to add/modify
+ * these parameters
+ */
+ protected function buildAuthorizeParameters($request, $response, $user_id)
+ {
+ // @TODO: we should be explicit with this in the future
+ $params = array(
+ 'scope' => $this->scope,
+ 'state' => $this->state,
+ 'client_id' => $this->client_id,
+ 'redirect_uri' => $this->redirect_uri,
+ 'response_type' => $this->response_type,
+ );
+
+ return $params;
+ }
+
+ /**
+ * @param RequestInterface $request
+ * @param ResponseInterface $response
+ * @return bool
+ */
+ public function validateAuthorizeRequest(RequestInterface $request, ResponseInterface $response)
+ {
+ // Make sure a valid client id was supplied (we can not redirect because we were unable to verify the URI)
+ if (!$client_id = $request->query('client_id', $request->request('client_id'))) {
+ // We don't have a good URI to use
+ $response->setError(400, 'invalid_client', "No client id supplied");
+
+ return false;
+ }
+
+ // Get client details
+ if (!$clientData = $this->clientStorage->getClientDetails($client_id)) {
+ $response->setError(400, 'invalid_client', 'The client id supplied is invalid');
+
+ return false;
+ }
+
+ $registered_redirect_uri = isset($clientData['redirect_uri']) ? $clientData['redirect_uri'] : '';
+
+ // Make sure a valid redirect_uri was supplied. If specified, it must match the clientData URI.
+ // @see http://tools.ietf.org/html/rfc6749#section-3.1.2
+ // @see http://tools.ietf.org/html/rfc6749#section-4.1.2.1
+ // @see http://tools.ietf.org/html/rfc6749#section-4.2.2.1
+ if ($supplied_redirect_uri = $request->query('redirect_uri', $request->request('redirect_uri'))) {
+ // validate there is no fragment supplied
+ $parts = parse_url($supplied_redirect_uri);
+ if (isset($parts['fragment']) && $parts['fragment']) {
+ $response->setError(400, 'invalid_uri', 'The redirect URI must not contain a fragment');
+
+ return false;
+ }
+
+ // validate against the registered redirect uri(s) if available
+ if ($registered_redirect_uri && !$this->validateRedirectUri($supplied_redirect_uri, $registered_redirect_uri)) {
+ $response->setError(400, 'redirect_uri_mismatch', 'The redirect URI provided is missing or does not match', '#section-3.1.2');
+
+ return false;
+ }
+ $redirect_uri = $supplied_redirect_uri;
+ } else {
+ // use the registered redirect_uri if none has been supplied, if possible
+ if (!$registered_redirect_uri) {
+ $response->setError(400, 'invalid_uri', 'No redirect URI was supplied or stored');
+
+ return false;
+ }
+
+ if (count(explode(' ', $registered_redirect_uri)) > 1) {
+ $response->setError(400, 'invalid_uri', 'A redirect URI must be supplied when multiple redirect URIs are registered', '#section-3.1.2.3');
+
+ return false;
+ }
+ $redirect_uri = $registered_redirect_uri;
+ }
+
+ // Select the redirect URI
+ $response_type = $request->query('response_type', $request->request('response_type'));
+
+ // for multiple-valued response types - make them alphabetical
+ if (false !== strpos($response_type, ' ')) {
+ $types = explode(' ', $response_type);
+ sort($types);
+ $response_type = ltrim(implode(' ', $types));
+ }
+
+ $state = $request->query('state', $request->request('state'));
+
+ // type and client_id are required
+ if (!$response_type || !in_array($response_type, $this->getValidResponseTypes())) {
+ $response->setRedirect($this->config['redirect_status_code'], $redirect_uri, $state, 'invalid_request', 'Invalid or missing response type', null);
+
+ return false;
+ }
+
+ if ($response_type == self::RESPONSE_TYPE_AUTHORIZATION_CODE) {
+ if (!isset($this->responseTypes['code'])) {
+ $response->setRedirect($this->config['redirect_status_code'], $redirect_uri, $state, 'unsupported_response_type', 'authorization code grant type not supported', null);
+
+ return false;
+ }
+ if (!$this->clientStorage->checkRestrictedGrantType($client_id, 'authorization_code')) {
+ $response->setRedirect($this->config['redirect_status_code'], $redirect_uri, $state, 'unauthorized_client', 'The grant type is unauthorized for this client_id', null);
+
+ return false;
+ }
+ if ($this->responseTypes['code']->enforceRedirect() && !$redirect_uri) {
+ $response->setError(400, 'redirect_uri_mismatch', 'The redirect URI is mandatory and was not supplied');
+
+ return false;
+ }
+ } else {
+ if (!$this->config['allow_implicit']) {
+ $response->setRedirect($this->config['redirect_status_code'], $redirect_uri, $state, 'unsupported_response_type', 'implicit grant type not supported', null);
+
+ return false;
+ }
+ if (!$this->clientStorage->checkRestrictedGrantType($client_id, 'implicit')) {
+ $response->setRedirect($this->config['redirect_status_code'], $redirect_uri, $state, 'unauthorized_client', 'The grant type is unauthorized for this client_id', null);
+
+ return false;
+ }
+ }
+
+ // validate requested scope if it exists
+ $requestedScope = $this->scopeUtil->getScopeFromRequest($request);
+
+ if ($requestedScope) {
+ // restrict scope by client specific scope if applicable,
+ // otherwise verify the scope exists
+ $clientScope = $this->clientStorage->getClientScope($client_id);
+ if ((empty($clientScope) && !$this->scopeUtil->scopeExists($requestedScope))
+ || (!empty($clientScope) && !$this->scopeUtil->checkScope($requestedScope, $clientScope))) {
+ $response->setRedirect($this->config['redirect_status_code'], $redirect_uri, $state, 'invalid_scope', 'An unsupported scope was requested', null);
+
+ return false;
+ }
+ } else {
+ // use a globally-defined default scope
+ $defaultScope = $this->scopeUtil->getDefaultScope($client_id);
+
+ if (false === $defaultScope) {
+ $response->setRedirect($this->config['redirect_status_code'], $redirect_uri, $state, 'invalid_client', 'This application requires you specify a scope parameter', null);
+
+ return false;
+ }
+
+ $requestedScope = $defaultScope;
+ }
+
+ // Validate state parameter exists (if configured to enforce this)
+ if ($this->config['enforce_state'] && !$state) {
+ $response->setRedirect($this->config['redirect_status_code'], $redirect_uri, null, 'invalid_request', 'The state parameter is required');
+
+ return false;
+ }
+
+ // save the input data and return true
+ $this->scope = $requestedScope;
+ $this->state = $state;
+ $this->client_id = $client_id;
+ // Only save the SUPPLIED redirect URI (@see http://tools.ietf.org/html/rfc6749#section-4.1.3)
+ $this->redirect_uri = $supplied_redirect_uri;
+ $this->response_type = $response_type;
+
+ return true;
+ }
+
+ /**
+ * Build the absolute URI based on supplied URI and parameters.
+ *
+ * @param $uri An absolute URI.
+ * @param $params Parameters to be append as GET.
+ *
+ * @return
+ * An absolute URI with supplied parameters.
+ *
+ * @ingroup oauth2_section_4
+ */
+ private function buildUri($uri, $params)
+ {
+ $parse_url = parse_url($uri);
+
+ // Add our params to the parsed uri
+ foreach ($params as $k => $v) {
+ if (isset($parse_url[$k])) {
+ $parse_url[$k] .= "&" . http_build_query($v, '', '&');
+ } else {
+ $parse_url[$k] = http_build_query($v, '', '&');
+ }
+ }
+
+ // Put humpty dumpty back together
+ return
+ ((isset($parse_url["scheme"])) ? $parse_url["scheme"] . "://" : "")
+ . ((isset($parse_url["user"])) ? $parse_url["user"]
+ . ((isset($parse_url["pass"])) ? ":" . $parse_url["pass"] : "") . "@" : "")
+ . ((isset($parse_url["host"])) ? $parse_url["host"] : "")
+ . ((isset($parse_url["port"])) ? ":" . $parse_url["port"] : "")
+ . ((isset($parse_url["path"])) ? $parse_url["path"] : "")
+ . ((isset($parse_url["query"]) && !empty($parse_url['query'])) ? "?" . $parse_url["query"] : "")
+ . ((isset($parse_url["fragment"])) ? "#" . $parse_url["fragment"] : "")
+ ;
+ }
+
+ protected function getValidResponseTypes()
+ {
+ return array(
+ self::RESPONSE_TYPE_ACCESS_TOKEN,
+ self::RESPONSE_TYPE_AUTHORIZATION_CODE,
+ );
+ }
+
+ /**
+ * Internal method for validating redirect URI supplied
+ *
+ * @param string $inputUri The submitted URI to be validated
+ * @param string $registeredUriString The allowed URI(s) to validate against. Can be a space-delimited string of URIs to
+ * allow for multiple URIs
+ *
+ * @see http://tools.ietf.org/html/rfc6749#section-3.1.2
+ */
+ protected function validateRedirectUri($inputUri, $registeredUriString)
+ {
+ if (!$inputUri || !$registeredUriString) {
+ return false; // if either one is missing, assume INVALID
+ }
+
+ $registered_uris = preg_split('/\s+/', $registeredUriString);
+ foreach ($registered_uris as $registered_uri) {
+ if ($this->config['require_exact_redirect_uri']) {
+ // the input uri is validated against the registered uri using exact match
+ if (strcmp($inputUri, $registered_uri) === 0) {
+ return true;
+ }
+ } else {
+ $registered_uri_length = strlen($registered_uri);
+ if ($registered_uri_length === 0) {
+ return false;
+ }
+
+ // the input uri is validated against the registered uri using case-insensitive match of the initial string
+ // i.e. additional query parameters may be applied
+ if (strcasecmp(substr($inputUri, 0, $registered_uri_length), $registered_uri) === 0) {
+ return true;
+ }
+ }
+ }
+
+ return false;
+ }
+
+ /**
+ * Convenience methods to access the parameters derived from the validated request
+ */
+
+ public function getScope()
+ {
+ return $this->scope;
+ }
+
+ public function getState()
+ {
+ return $this->state;
+ }
+
+ public function getClientId()
+ {
+ return $this->client_id;
+ }
+
+ public function getRedirectUri()
+ {
+ return $this->redirect_uri;
+ }
+
+ public function getResponseType()
+ {
+ return $this->response_type;
+ }
+}
diff --git a/vendor/bshaffer/oauth2-server-php/src/OAuth2/Controller/AuthorizeControllerInterface.php b/vendor/bshaffer/oauth2-server-php/src/OAuth2/Controller/AuthorizeControllerInterface.php
new file mode 100644
index 000000000..fa07ae8d2
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/src/OAuth2/Controller/AuthorizeControllerInterface.php
@@ -0,0 +1,43 @@
+<?php
+
+namespace OAuth2\Controller;
+
+use OAuth2\RequestInterface;
+use OAuth2\ResponseInterface;
+
+/**
+ * This controller is called when a user should be authorized
+ * by an authorization server. As OAuth2 does not handle
+ * authorization directly, this controller ensures the request is valid, but
+ * requires the application to determine the value of $is_authorized
+ *
+ * ex:
+ * > $user_id = $this->somehowDetermineUserId();
+ * > $is_authorized = $this->somehowDetermineUserAuthorization();
+ * > $response = new OAuth2\Response();
+ * > $authorizeController->handleAuthorizeRequest(
+ * > OAuth2\Request::createFromGlobals(),
+ * > $response,
+ * > $is_authorized,
+ * > $user_id);
+ * > $response->send();
+ *
+ */
+interface AuthorizeControllerInterface
+{
+ /**
+ * List of possible authentication response types.
+ * The "authorization_code" mechanism exclusively supports 'code'
+ * and the "implicit" mechanism exclusively supports 'token'.
+ *
+ * @var string
+ * @see http://tools.ietf.org/html/rfc6749#section-4.1.1
+ * @see http://tools.ietf.org/html/rfc6749#section-4.2.1
+ */
+ const RESPONSE_TYPE_AUTHORIZATION_CODE = 'code';
+ const RESPONSE_TYPE_ACCESS_TOKEN = 'token';
+
+ public function handleAuthorizeRequest(RequestInterface $request, ResponseInterface $response, $is_authorized, $user_id = null);
+
+ public function validateAuthorizeRequest(RequestInterface $request, ResponseInterface $response);
+}
diff --git a/vendor/bshaffer/oauth2-server-php/src/OAuth2/Controller/ResourceController.php b/vendor/bshaffer/oauth2-server-php/src/OAuth2/Controller/ResourceController.php
new file mode 100644
index 000000000..3cfaaaf12
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/src/OAuth2/Controller/ResourceController.php
@@ -0,0 +1,111 @@
+<?php
+
+namespace OAuth2\Controller;
+
+use OAuth2\TokenType\TokenTypeInterface;
+use OAuth2\Storage\AccessTokenInterface;
+use OAuth2\ScopeInterface;
+use OAuth2\RequestInterface;
+use OAuth2\ResponseInterface;
+use OAuth2\Scope;
+
+/**
+ * @see OAuth2\Controller\ResourceControllerInterface
+ */
+class ResourceController implements ResourceControllerInterface
+{
+ private $token;
+
+ protected $tokenType;
+ protected $tokenStorage;
+ protected $config;
+ protected $scopeUtil;
+
+ public function __construct(TokenTypeInterface $tokenType, AccessTokenInterface $tokenStorage, $config = array(), ScopeInterface $scopeUtil = null)
+ {
+ $this->tokenType = $tokenType;
+ $this->tokenStorage = $tokenStorage;
+
+ $this->config = array_merge(array(
+ 'www_realm' => 'Service',
+ ), $config);
+
+ if (is_null($scopeUtil)) {
+ $scopeUtil = new Scope();
+ }
+ $this->scopeUtil = $scopeUtil;
+ }
+
+ public function verifyResourceRequest(RequestInterface $request, ResponseInterface $response, $scope = null)
+ {
+ $token = $this->getAccessTokenData($request, $response);
+
+ // Check if we have token data
+ if (is_null($token)) {
+ return false;
+ }
+
+ /**
+ * Check scope, if provided
+ * If token doesn't have a scope, it's null/empty, or it's insufficient, then throw 403
+ * @see http://tools.ietf.org/html/rfc6750#section-3.1
+ */
+ if ($scope && (!isset($token["scope"]) || !$token["scope"] || !$this->scopeUtil->checkScope($scope, $token["scope"]))) {
+ $response->setError(403, 'insufficient_scope', 'The request requires higher privileges than provided by the access token');
+ $response->addHttpHeaders(array(
+ 'WWW-Authenticate' => sprintf('%s realm="%s", scope="%s", error="%s", error_description="%s"',
+ $this->tokenType->getTokenType(),
+ $this->config['www_realm'],
+ $scope,
+ $response->getParameter('error'),
+ $response->getParameter('error_description')
+ )
+ ));
+
+ return false;
+ }
+
+ // allow retrieval of the token
+ $this->token = $token;
+
+ return (bool) $token;
+ }
+
+ public function getAccessTokenData(RequestInterface $request, ResponseInterface $response)
+ {
+ // Get the token parameter
+ if ($token_param = $this->tokenType->getAccessTokenParameter($request, $response)) {
+ // Get the stored token data (from the implementing subclass)
+ // Check we have a well formed token
+ // Check token expiration (expires is a mandatory paramter)
+ if (!$token = $this->tokenStorage->getAccessToken($token_param)) {
+ $response->setError(401, 'invalid_token', 'The access token provided is invalid');
+ } elseif (!isset($token["expires"]) || !isset($token["client_id"])) {
+ $response->setError(401, 'malformed_token', 'Malformed token (missing "expires")');
+ } elseif (time() > $token["expires"]) {
+ $response->setError(401, 'invalid_token', 'The access token provided has expired');
+ } else {
+ return $token;
+ }
+ }
+
+ $authHeader = sprintf('%s realm="%s"', $this->tokenType->getTokenType(), $this->config['www_realm']);
+
+ if ($error = $response->getParameter('error')) {
+ $authHeader = sprintf('%s, error="%s"', $authHeader, $error);
+ if ($error_description = $response->getParameter('error_description')) {
+ $authHeader = sprintf('%s, error_description="%s"', $authHeader, $error_description);
+ }
+ }
+
+ $response->addHttpHeaders(array('WWW-Authenticate' => $authHeader));
+
+ return null;
+ }
+
+ // convenience method to allow retrieval of the token
+ public function getToken()
+ {
+ return $this->token;
+ }
+}
diff --git a/vendor/bshaffer/oauth2-server-php/src/OAuth2/Controller/ResourceControllerInterface.php b/vendor/bshaffer/oauth2-server-php/src/OAuth2/Controller/ResourceControllerInterface.php
new file mode 100644
index 000000000..611421935
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/src/OAuth2/Controller/ResourceControllerInterface.php
@@ -0,0 +1,26 @@
+<?php
+
+namespace OAuth2\Controller;
+
+use OAuth2\RequestInterface;
+use OAuth2\ResponseInterface;
+
+/**
+ * This controller is called when a "resource" is requested.
+ * call verifyResourceRequest in order to determine if the request
+ * contains a valid token.
+ *
+ * ex:
+ * > if (!$resourceController->verifyResourceRequest(OAuth2\Request::createFromGlobals(), $response = new OAuth2\Response())) {
+ * > $response->send(); // authorization failed
+ * > die();
+ * > }
+ * > return json_encode($resource); // valid token! Send the stuff!
+ *
+ */
+interface ResourceControllerInterface
+{
+ public function verifyResourceRequest(RequestInterface $request, ResponseInterface $response, $scope = null);
+
+ public function getAccessTokenData(RequestInterface $request, ResponseInterface $response);
+}
diff --git a/vendor/bshaffer/oauth2-server-php/src/OAuth2/Controller/TokenController.php b/vendor/bshaffer/oauth2-server-php/src/OAuth2/Controller/TokenController.php
new file mode 100644
index 000000000..5d2d731fe
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/src/OAuth2/Controller/TokenController.php
@@ -0,0 +1,295 @@
+<?php
+
+namespace OAuth2\Controller;
+
+use OAuth2\ResponseType\AccessTokenInterface;
+use OAuth2\ClientAssertionType\ClientAssertionTypeInterface;
+use OAuth2\GrantType\GrantTypeInterface;
+use OAuth2\ScopeInterface;
+use OAuth2\Scope;
+use OAuth2\Storage\ClientInterface;
+use OAuth2\RequestInterface;
+use OAuth2\ResponseInterface;
+
+/**
+ * @see \OAuth2\Controller\TokenControllerInterface
+ */
+class TokenController implements TokenControllerInterface
+{
+ /**
+ * @var AccessTokenInterface
+ */
+ protected $accessToken;
+
+ /**
+ * @var array
+ */
+ protected $grantTypes;
+
+ /**
+ * @var ClientAssertionTypeInterface
+ */
+ protected $clientAssertionType;
+
+ /**
+ * @var Scope|ScopeInterface
+ */
+ protected $scopeUtil;
+
+ /**
+ * @var ClientInterface
+ */
+ protected $clientStorage;
+
+ public function __construct(AccessTokenInterface $accessToken, ClientInterface $clientStorage, array $grantTypes = array(), ClientAssertionTypeInterface $clientAssertionType = null, ScopeInterface $scopeUtil = null)
+ {
+ if (is_null($clientAssertionType)) {
+ foreach ($grantTypes as $grantType) {
+ if (!$grantType instanceof ClientAssertionTypeInterface) {
+ throw new \InvalidArgumentException('You must supply an instance of OAuth2\ClientAssertionType\ClientAssertionTypeInterface or only use grant types which implement OAuth2\ClientAssertionType\ClientAssertionTypeInterface');
+ }
+ }
+ }
+ $this->clientAssertionType = $clientAssertionType;
+ $this->accessToken = $accessToken;
+ $this->clientStorage = $clientStorage;
+ foreach ($grantTypes as $grantType) {
+ $this->addGrantType($grantType);
+ }
+
+ if (is_null($scopeUtil)) {
+ $scopeUtil = new Scope();
+ }
+ $this->scopeUtil = $scopeUtil;
+ }
+
+ public function handleTokenRequest(RequestInterface $request, ResponseInterface $response)
+ {
+ if ($token = $this->grantAccessToken($request, $response)) {
+ // @see http://tools.ietf.org/html/rfc6749#section-5.1
+ // server MUST disable caching in headers when tokens are involved
+ $response->setStatusCode(200);
+ $response->addParameters($token);
+ $response->addHttpHeaders(array(
+ 'Cache-Control' => 'no-store',
+ 'Pragma' => 'no-cache',
+ 'Content-Type' => 'application/json'
+ ));
+ }
+ }
+
+ /**
+ * Grant or deny a requested access token.
+ * This would be called from the "/token" endpoint as defined in the spec.
+ * You can call your endpoint whatever you want.
+ *
+ * @param RequestInterface $request Request object to grant access token
+ * @param ResponseInterface $response
+ *
+ * @throws \InvalidArgumentException
+ * @throws \LogicException
+ *
+ * @see http://tools.ietf.org/html/rfc6749#section-4
+ * @see http://tools.ietf.org/html/rfc6749#section-10.6
+ * @see http://tools.ietf.org/html/rfc6749#section-4.1.3
+ *
+ * @ingroup oauth2_section_4
+ */
+ public function grantAccessToken(RequestInterface $request, ResponseInterface $response)
+ {
+ if (strtolower($request->server('REQUEST_METHOD')) != 'post') {
+ $response->setError(405, 'invalid_request', 'The request method must be POST when requesting an access token', '#section-3.2');
+ $response->addHttpHeaders(array('Allow' => 'POST'));
+
+ return null;
+ }
+
+ /**
+ * Determine grant type from request
+ * and validate the request for that grant type
+ */
+ if (!$grantTypeIdentifier = $request->request('grant_type')) {
+ $response->setError(400, 'invalid_request', 'The grant type was not specified in the request');
+
+ return null;
+ }
+
+ if (!isset($this->grantTypes[$grantTypeIdentifier])) {
+ /* TODO: If this is an OAuth2 supported grant type that we have chosen not to implement, throw a 501 Not Implemented instead */
+ $response->setError(400, 'unsupported_grant_type', sprintf('Grant type "%s" not supported', $grantTypeIdentifier));
+
+ return null;
+ }
+
+ $grantType = $this->grantTypes[$grantTypeIdentifier];
+
+ /**
+ * Retrieve the client information from the request
+ * ClientAssertionTypes allow for grant types which also assert the client data
+ * in which case ClientAssertion is handled in the validateRequest method
+ *
+ * @see OAuth2\GrantType\JWTBearer
+ * @see OAuth2\GrantType\ClientCredentials
+ */
+ if (!$grantType instanceof ClientAssertionTypeInterface) {
+ if (!$this->clientAssertionType->validateRequest($request, $response)) {
+ return null;
+ }
+ $clientId = $this->clientAssertionType->getClientId();
+ }
+
+ /**
+ * Retrieve the grant type information from the request
+ * The GrantTypeInterface object handles all validation
+ * If the object is an instance of ClientAssertionTypeInterface,
+ * That logic is handled here as well
+ */
+ if (!$grantType->validateRequest($request, $response)) {
+ return null;
+ }
+
+ if ($grantType instanceof ClientAssertionTypeInterface) {
+ $clientId = $grantType->getClientId();
+ } else {
+ // validate the Client ID (if applicable)
+ if (!is_null($storedClientId = $grantType->getClientId()) && $storedClientId != $clientId) {
+ $response->setError(400, 'invalid_grant', sprintf('%s doesn\'t exist or is invalid for the client', $grantTypeIdentifier));
+
+ return null;
+ }
+ }
+
+ /**
+ * Validate the client can use the requested grant type
+ */
+ if (!$this->clientStorage->checkRestrictedGrantType($clientId, $grantTypeIdentifier)) {
+ $response->setError(400, 'unauthorized_client', 'The grant type is unauthorized for this client_id');
+
+ return false;
+ }
+
+ /**
+ * Validate the scope of the token
+ *
+ * requestedScope - the scope specified in the token request
+ * availableScope - the scope associated with the grant type
+ * ex: in the case of the "Authorization Code" grant type,
+ * the scope is specified in the authorize request
+ *
+ * @see http://tools.ietf.org/html/rfc6749#section-3.3
+ */
+
+ $requestedScope = $this->scopeUtil->getScopeFromRequest($request);
+ $availableScope = $grantType->getScope();
+
+ if ($requestedScope) {
+ // validate the requested scope
+ if ($availableScope) {
+ if (!$this->scopeUtil->checkScope($requestedScope, $availableScope)) {
+ $response->setError(400, 'invalid_scope', 'The scope requested is invalid for this request');
+
+ return null;
+ }
+ } else {
+ // validate the client has access to this scope
+ if ($clientScope = $this->clientStorage->getClientScope($clientId)) {
+ if (!$this->scopeUtil->checkScope($requestedScope, $clientScope)) {
+ $response->setError(400, 'invalid_scope', 'The scope requested is invalid for this client');
+
+ return false;
+ }
+ } elseif (!$this->scopeUtil->scopeExists($requestedScope)) {
+ $response->setError(400, 'invalid_scope', 'An unsupported scope was requested');
+
+ return null;
+ }
+ }
+ } elseif ($availableScope) {
+ // use the scope associated with this grant type
+ $requestedScope = $availableScope;
+ } else {
+ // use a globally-defined default scope
+ $defaultScope = $this->scopeUtil->getDefaultScope($clientId);
+
+ // "false" means default scopes are not allowed
+ if (false === $defaultScope) {
+ $response->setError(400, 'invalid_scope', 'This application requires you specify a scope parameter');
+
+ return null;
+ }
+
+ $requestedScope = $defaultScope;
+ }
+
+ return $grantType->createAccessToken($this->accessToken, $clientId, $grantType->getUserId(), $requestedScope);
+ }
+
+ /**
+ * addGrantType
+ *
+ * @param GrantTypeInterface $grantType the grant type to add for the specified identifier
+ * @param string $identifier a string passed in as "grant_type" in the response that will call this grantType
+ */
+ public function addGrantType(GrantTypeInterface $grantType, $identifier = null)
+ {
+ if (is_null($identifier) || is_numeric($identifier)) {
+ $identifier = $grantType->getQuerystringIdentifier();
+ }
+
+ $this->grantTypes[$identifier] = $grantType;
+ }
+
+ public function handleRevokeRequest(RequestInterface $request, ResponseInterface $response)
+ {
+ if ($this->revokeToken($request, $response)) {
+ $response->setStatusCode(200);
+ $response->addParameters(array('revoked' => true));
+ }
+ }
+
+ /**
+ * Revoke a refresh or access token. Returns true on success and when tokens are invalid
+ *
+ * Note: invalid tokens do not cause an error response since the client
+ * cannot handle such an error in a reasonable way. Moreover, the
+ * purpose of the revocation request, invalidating the particular token,
+ * is already achieved.
+ *
+ * @param RequestInterface $request
+ * @param ResponseInterface $response
+ * @return bool|null
+ */
+ public function revokeToken(RequestInterface $request, ResponseInterface $response)
+ {
+ if (strtolower($request->server('REQUEST_METHOD')) != 'post') {
+ $response->setError(405, 'invalid_request', 'The request method must be POST when revoking an access token', '#section-3.2');
+ $response->addHttpHeaders(array('Allow' => 'POST'));
+
+ return null;
+ }
+
+ $token_type_hint = $request->request('token_type_hint');
+ if (!in_array($token_type_hint, array(null, 'access_token', 'refresh_token'), true)) {
+ $response->setError(400, 'invalid_request', 'Token type hint must be either \'access_token\' or \'refresh_token\'');
+
+ return null;
+ }
+
+ $token = $request->request('token');
+ if ($token === null) {
+ $response->setError(400, 'invalid_request', 'Missing token parameter to revoke');
+
+ return null;
+ }
+
+ // @todo remove this check for v2.0
+ if (!method_exists($this->accessToken, 'revokeToken')) {
+ $class = get_class($this->accessToken);
+ throw new \RuntimeException("AccessToken {$class} does not implement required revokeToken method");
+ }
+
+ $this->accessToken->revokeToken($token, $token_type_hint);
+
+ return true;
+ }
+}
diff --git a/vendor/bshaffer/oauth2-server-php/src/OAuth2/Controller/TokenControllerInterface.php b/vendor/bshaffer/oauth2-server-php/src/OAuth2/Controller/TokenControllerInterface.php
new file mode 100644
index 000000000..72d72570f
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/src/OAuth2/Controller/TokenControllerInterface.php
@@ -0,0 +1,32 @@
+<?php
+
+namespace OAuth2\Controller;
+
+use OAuth2\RequestInterface;
+use OAuth2\ResponseInterface;
+
+/**
+ * This controller is called when a token is being requested.
+ * it is called to handle all grant types the application supports.
+ * It also validates the client's credentials
+ *
+ * ex:
+ * > $tokenController->handleTokenRequest(OAuth2\Request::createFromGlobals(), $response = new OAuth2\Response());
+ * > $response->send();
+ *
+ */
+interface TokenControllerInterface
+{
+ /**
+ * handleTokenRequest
+ *
+ * @param $request
+ * OAuth2\RequestInterface - The current http request
+ * @param $response
+ * OAuth2\ResponseInterface - An instance of OAuth2\ResponseInterface to contain the response data
+ *
+ */
+ public function handleTokenRequest(RequestInterface $request, ResponseInterface $response);
+
+ public function grantAccessToken(RequestInterface $request, ResponseInterface $response);
+}
diff --git a/vendor/bshaffer/oauth2-server-php/src/OAuth2/Encryption/EncryptionInterface.php b/vendor/bshaffer/oauth2-server-php/src/OAuth2/Encryption/EncryptionInterface.php
new file mode 100644
index 000000000..2d336c664
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/src/OAuth2/Encryption/EncryptionInterface.php
@@ -0,0 +1,11 @@
+<?php
+
+namespace OAuth2\Encryption;
+
+interface EncryptionInterface
+{
+ public function encode($payload, $key, $algorithm = null);
+ public function decode($payload, $key, $algorithm = null);
+ public function urlSafeB64Encode($data);
+ public function urlSafeB64Decode($b64);
+}
diff --git a/vendor/bshaffer/oauth2-server-php/src/OAuth2/Encryption/FirebaseJwt.php b/vendor/bshaffer/oauth2-server-php/src/OAuth2/Encryption/FirebaseJwt.php
new file mode 100644
index 000000000..1b527e0a0
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/src/OAuth2/Encryption/FirebaseJwt.php
@@ -0,0 +1,47 @@
+<?php
+
+namespace OAuth2\Encryption;
+
+/**
+ * Bridge file to use the firebase/php-jwt package for JWT encoding and decoding.
+ * @author Francis Chuang <francis.chuang@gmail.com>
+ */
+class FirebaseJwt implements EncryptionInterface
+{
+ public function __construct()
+ {
+ if (!class_exists('\JWT')) {
+ throw new \ErrorException('firebase/php-jwt must be installed to use this feature. You can do this by running "composer require firebase/php-jwt"');
+ }
+ }
+
+ public function encode($payload, $key, $alg = 'HS256', $keyId = null)
+ {
+ return \JWT::encode($payload, $key, $alg, $keyId);
+ }
+
+ public function decode($jwt, $key = null, $allowedAlgorithms = null)
+ {
+ try {
+
+ //Maintain BC: Do not verify if no algorithms are passed in.
+ if (!$allowedAlgorithms) {
+ $key = null;
+ }
+
+ return (array)\JWT::decode($jwt, $key, $allowedAlgorithms);
+ } catch (\Exception $e) {
+ return false;
+ }
+ }
+
+ public function urlSafeB64Encode($data)
+ {
+ return \JWT::urlsafeB64Encode($data);
+ }
+
+ public function urlSafeB64Decode($b64)
+ {
+ return \JWT::urlsafeB64Decode($b64);
+ }
+}
diff --git a/vendor/bshaffer/oauth2-server-php/src/OAuth2/Encryption/Jwt.php b/vendor/bshaffer/oauth2-server-php/src/OAuth2/Encryption/Jwt.php
new file mode 100644
index 000000000..ee576e643
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/src/OAuth2/Encryption/Jwt.php
@@ -0,0 +1,173 @@
+<?php
+
+namespace OAuth2\Encryption;
+
+/**
+ * @link https://github.com/F21/jwt
+ * @author F21
+ */
+class Jwt implements EncryptionInterface
+{
+ public function encode($payload, $key, $algo = 'HS256')
+ {
+ $header = $this->generateJwtHeader($payload, $algo);
+
+ $segments = array(
+ $this->urlSafeB64Encode(json_encode($header)),
+ $this->urlSafeB64Encode(json_encode($payload))
+ );
+
+ $signing_input = implode('.', $segments);
+
+ $signature = $this->sign($signing_input, $key, $algo);
+ $segments[] = $this->urlsafeB64Encode($signature);
+
+ return implode('.', $segments);
+ }
+
+ public function decode($jwt, $key = null, $allowedAlgorithms = true)
+ {
+ if (!strpos($jwt, '.')) {
+ return false;
+ }
+
+ $tks = explode('.', $jwt);
+
+ if (count($tks) != 3) {
+ return false;
+ }
+
+ list($headb64, $payloadb64, $cryptob64) = $tks;
+
+ if (null === ($header = json_decode($this->urlSafeB64Decode($headb64), true))) {
+ return false;
+ }
+
+ if (null === $payload = json_decode($this->urlSafeB64Decode($payloadb64), true)) {
+ return false;
+ }
+
+ $sig = $this->urlSafeB64Decode($cryptob64);
+
+ if ((bool) $allowedAlgorithms) {
+ if (!isset($header['alg'])) {
+ return false;
+ }
+
+ // check if bool arg supplied here to maintain BC
+ if (is_array($allowedAlgorithms) && !in_array($header['alg'], $allowedAlgorithms)) {
+ return false;
+ }
+
+ if (!$this->verifySignature($sig, "$headb64.$payloadb64", $key, $header['alg'])) {
+ return false;
+ }
+ }
+
+ return $payload;
+ }
+
+ private function verifySignature($signature, $input, $key, $algo = 'HS256')
+ {
+ // use constants when possible, for HipHop support
+ switch ($algo) {
+ case'HS256':
+ case'HS384':
+ case'HS512':
+ return $this->hash_equals(
+ $this->sign($input, $key, $algo),
+ $signature
+ );
+
+ case 'RS256':
+ return openssl_verify($input, $signature, $key, defined('OPENSSL_ALGO_SHA256') ? OPENSSL_ALGO_SHA256 : 'sha256') === 1;
+
+ case 'RS384':
+ return @openssl_verify($input, $signature, $key, defined('OPENSSL_ALGO_SHA384') ? OPENSSL_ALGO_SHA384 : 'sha384') === 1;
+
+ case 'RS512':
+ return @openssl_verify($input, $signature, $key, defined('OPENSSL_ALGO_SHA512') ? OPENSSL_ALGO_SHA512 : 'sha512') === 1;
+
+ default:
+ throw new \InvalidArgumentException("Unsupported or invalid signing algorithm.");
+ }
+ }
+
+ private function sign($input, $key, $algo = 'HS256')
+ {
+ switch ($algo) {
+ case 'HS256':
+ return hash_hmac('sha256', $input, $key, true);
+
+ case 'HS384':
+ return hash_hmac('sha384', $input, $key, true);
+
+ case 'HS512':
+ return hash_hmac('sha512', $input, $key, true);
+
+ case 'RS256':
+ return $this->generateRSASignature($input, $key, defined('OPENSSL_ALGO_SHA256') ? OPENSSL_ALGO_SHA256 : 'sha256');
+
+ case 'RS384':
+ return $this->generateRSASignature($input, $key, defined('OPENSSL_ALGO_SHA384') ? OPENSSL_ALGO_SHA384 : 'sha384');
+
+ case 'RS512':
+ return $this->generateRSASignature($input, $key, defined('OPENSSL_ALGO_SHA512') ? OPENSSL_ALGO_SHA512 : 'sha512');
+
+ default:
+ throw new \Exception("Unsupported or invalid signing algorithm.");
+ }
+ }
+
+ private function generateRSASignature($input, $key, $algo)
+ {
+ if (!openssl_sign($input, $signature, $key, $algo)) {
+ throw new \Exception("Unable to sign data.");
+ }
+
+ return $signature;
+ }
+
+ public function urlSafeB64Encode($data)
+ {
+ $b64 = base64_encode($data);
+ $b64 = str_replace(array('+', '/', "\r", "\n", '='),
+ array('-', '_'),
+ $b64);
+
+ return $b64;
+ }
+
+ public function urlSafeB64Decode($b64)
+ {
+ $b64 = str_replace(array('-', '_'),
+ array('+', '/'),
+ $b64);
+
+ return base64_decode($b64);
+ }
+
+ /**
+ * Override to create a custom header
+ */
+ protected function generateJwtHeader($payload, $algorithm)
+ {
+ return array(
+ 'typ' => 'JWT',
+ 'alg' => $algorithm,
+ );
+ }
+
+ protected function hash_equals($a, $b)
+ {
+ if (function_exists('hash_equals')) {
+ return hash_equals($a, $b);
+ }
+ $diff = strlen($a) ^ strlen($b);
+ for ($i = 0; $i < strlen($a) && $i < strlen($b); $i++) {
+ $diff |= ord($a[$i]) ^ ord($b[$i]);
+ }
+
+ return $diff === 0;
+ }
+}
diff --git a/vendor/bshaffer/oauth2-server-php/src/OAuth2/GrantType/AuthorizationCode.php b/vendor/bshaffer/oauth2-server-php/src/OAuth2/GrantType/AuthorizationCode.php
new file mode 100644
index 000000000..cae9f787d
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/src/OAuth2/GrantType/AuthorizationCode.php
@@ -0,0 +1,100 @@
+<?php
+
+namespace OAuth2\GrantType;
+
+use OAuth2\Storage\AuthorizationCodeInterface;
+use OAuth2\ResponseType\AccessTokenInterface;
+use OAuth2\RequestInterface;
+use OAuth2\ResponseInterface;
+
+/**
+ *
+ * @author Brent Shaffer <bshafs at gmail dot com>
+ */
+class AuthorizationCode implements GrantTypeInterface
+{
+ protected $storage;
+ protected $authCode;
+
+ /**
+ * @param \OAuth2\Storage\AuthorizationCodeInterface $storage REQUIRED Storage class for retrieving authorization code information
+ */
+ public function __construct(AuthorizationCodeInterface $storage)
+ {
+ $this->storage = $storage;
+ }
+
+ public function getQuerystringIdentifier()
+ {
+ return 'authorization_code';
+ }
+
+ public function validateRequest(RequestInterface $request, ResponseInterface $response)
+ {
+ if (!$request->request('code')) {
+ $response->setError(400, 'invalid_request', 'Missing parameter: "code" is required');
+
+ return false;
+ }
+
+ $code = $request->request('code');
+ if (!$authCode = $this->storage->getAuthorizationCode($code)) {
+ $response->setError(400, 'invalid_grant', 'Authorization code doesn\'t exist or is invalid for the client');
+
+ return false;
+ }
+
+ /*
+ * 4.1.3 - ensure that the "redirect_uri" parameter is present if the "redirect_uri" parameter was included in the initial authorization request
+ * @uri - http://tools.ietf.org/html/rfc6749#section-4.1.3
+ */
+ if (isset($authCode['redirect_uri']) && $authCode['redirect_uri']) {
+ if (!$request->request('redirect_uri') || urldecode($request->request('redirect_uri')) != urldecode($authCode['redirect_uri'])) {
+ $response->setError(400, 'redirect_uri_mismatch', "The redirect URI is missing or do not match", "#section-4.1.3");
+
+ return false;
+ }
+ }
+
+ if (!isset($authCode['expires'])) {
+ throw new \Exception('Storage must return authcode with a value for "expires"');
+ }
+
+ if ($authCode["expires"] < time()) {
+ $response->setError(400, 'invalid_grant', "The authorization code has expired");
+
+ return false;
+ }
+
+ if (!isset($authCode['code'])) {
+ $authCode['code'] = $code; // used to expire the code after the access token is granted
+ }
+
+ $this->authCode = $authCode;
+
+ return true;
+ }
+
+ public function getClientId()
+ {
+ return $this->authCode['client_id'];
+ }
+
+ public function getScope()
+ {
+ return isset($this->authCode['scope']) ? $this->authCode['scope'] : null;
+ }
+
+ public function getUserId()
+ {
+ return isset($this->authCode['user_id']) ? $this->authCode['user_id'] : null;
+ }
+
+ public function createAccessToken(AccessTokenInterface $accessToken, $client_id, $user_id, $scope)
+ {
+ $token = $accessToken->createAccessToken($client_id, $user_id, $scope);
+ $this->storage->expireAuthorizationCode($this->authCode['code']);
+
+ return $token;
+ }
+}
diff --git a/vendor/bshaffer/oauth2-server-php/src/OAuth2/GrantType/ClientCredentials.php b/vendor/bshaffer/oauth2-server-php/src/OAuth2/GrantType/ClientCredentials.php
new file mode 100644
index 000000000..f953e4e8d
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/src/OAuth2/GrantType/ClientCredentials.php
@@ -0,0 +1,67 @@
+<?php
+
+namespace OAuth2\GrantType;
+
+use OAuth2\ClientAssertionType\HttpBasic;
+use OAuth2\ResponseType\AccessTokenInterface;
+use OAuth2\Storage\ClientCredentialsInterface;
+
+/**
+ * @author Brent Shaffer <bshafs at gmail dot com>
+ *
+ * @see OAuth2\ClientAssertionType_HttpBasic
+ */
+class ClientCredentials extends HttpBasic implements GrantTypeInterface
+{
+ private $clientData;
+
+ public function __construct(ClientCredentialsInterface $storage, array $config = array())
+ {
+ /**
+ * The client credentials grant type MUST only be used by confidential clients
+ *
+ * @see http://tools.ietf.org/html/rfc6749#section-4.4
+ */
+ $config['allow_public_clients'] = false;
+
+ parent::__construct($storage, $config);
+ }
+
+ public function getQuerystringIdentifier()
+ {
+ return 'client_credentials';
+ }
+
+ public function getScope()
+ {
+ $this->loadClientData();
+
+ return isset($this->clientData['scope']) ? $this->clientData['scope'] : null;
+ }
+
+ public function getUserId()
+ {
+ $this->loadClientData();
+
+ return isset($this->clientData['user_id']) ? $this->clientData['user_id'] : null;
+ }
+
+ public function createAccessToken(AccessTokenInterface $accessToken, $client_id, $user_id, $scope)
+ {
+ /**
+ * Client Credentials Grant does NOT include a refresh token
+ *
+ * @see http://tools.ietf.org/html/rfc6749#section-4.4.3
+ */
+ $includeRefreshToken = false;
+
+ return $accessToken->createAccessToken($client_id, $user_id, $scope, $includeRefreshToken);
+ }
+
+ private function loadClientData()
+ {
+ if (!$this->clientData) {
+ $this->clientData = $this->storage->getClientDetails($this->getClientId());
+ }
+ }
+}
diff --git a/vendor/bshaffer/oauth2-server-php/src/OAuth2/GrantType/GrantTypeInterface.php b/vendor/bshaffer/oauth2-server-php/src/OAuth2/GrantType/GrantTypeInterface.php
new file mode 100644
index 000000000..98489e9c1
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/src/OAuth2/GrantType/GrantTypeInterface.php
@@ -0,0 +1,20 @@
+<?php
+
+namespace OAuth2\GrantType;
+
+use OAuth2\ResponseType\AccessTokenInterface;
+use OAuth2\RequestInterface;
+use OAuth2\ResponseInterface;
+
+/**
+ * Interface for all OAuth2 Grant Types
+ */
+interface GrantTypeInterface
+{
+ public function getQuerystringIdentifier();
+ public function validateRequest(RequestInterface $request, ResponseInterface $response);
+ public function getClientId();
+ public function getUserId();
+ public function getScope();
+ public function createAccessToken(AccessTokenInterface $accessToken, $client_id, $user_id, $scope);
+}
diff --git a/vendor/bshaffer/oauth2-server-php/src/OAuth2/GrantType/JwtBearer.php b/vendor/bshaffer/oauth2-server-php/src/OAuth2/GrantType/JwtBearer.php
new file mode 100644
index 000000000..bb11a6954
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/src/OAuth2/GrantType/JwtBearer.php
@@ -0,0 +1,226 @@
+<?php
+
+namespace OAuth2\GrantType;
+
+use OAuth2\ClientAssertionType\ClientAssertionTypeInterface;
+use OAuth2\Storage\JwtBearerInterface;
+use OAuth2\Encryption\Jwt;
+use OAuth2\Encryption\EncryptionInterface;
+use OAuth2\ResponseType\AccessTokenInterface;
+use OAuth2\RequestInterface;
+use OAuth2\ResponseInterface;
+
+/**
+ * The JWT bearer authorization grant implements JWT (JSON Web Tokens) as a grant type per the IETF draft.
+ *
+ * @see http://tools.ietf.org/html/draft-ietf-oauth-jwt-bearer-04#section-4
+ *
+ * @author F21
+ * @author Brent Shaffer <bshafs at gmail dot com>
+ */
+class JwtBearer implements GrantTypeInterface, ClientAssertionTypeInterface
+{
+ private $jwt;
+
+ protected $storage;
+ protected $audience;
+ protected $jwtUtil;
+ protected $allowedAlgorithms;
+
+ /**
+ * Creates an instance of the JWT bearer grant type.
+ *
+ * @param OAuth2\Storage\JWTBearerInterface|JwtBearerInterface $storage A valid storage interface that implements storage hooks for the JWT bearer grant type.
+ * @param string $audience The audience to validate the token against. This is usually the full URI of the OAuth token requests endpoint.
+ * @param EncryptionInterface|OAuth2\Encryption\JWT $jwtUtil OPTONAL The class used to decode, encode and verify JWTs.
+ * @param array $config
+ */
+ public function __construct(JwtBearerInterface $storage, $audience, EncryptionInterface $jwtUtil = null, array $config = array())
+ {
+ $this->storage = $storage;
+ $this->audience = $audience;
+
+ if (is_null($jwtUtil)) {
+ $jwtUtil = new Jwt();
+ }
+
+ $this->config = array_merge(array(
+ 'allowed_algorithms' => array('RS256', 'RS384', 'RS512')
+ ), $config);
+
+ $this->jwtUtil = $jwtUtil;
+
+ $this->allowedAlgorithms = $this->config['allowed_algorithms'];
+ }
+
+ /**
+ * Returns the grant_type get parameter to identify the grant type request as JWT bearer authorization grant.
+ *
+ * @return
+ * The string identifier for grant_type.
+ *
+ * @see OAuth2\GrantType\GrantTypeInterface::getQuerystringIdentifier()
+ */
+ public function getQuerystringIdentifier()
+ {
+ return 'urn:ietf:params:oauth:grant-type:jwt-bearer';
+ }
+
+ /**
+ * Validates the data from the decoded JWT.
+ *
+ * @return
+ * TRUE if the JWT request is valid and can be decoded. Otherwise, FALSE is returned.
+ *
+ * @see OAuth2\GrantType\GrantTypeInterface::getTokenData()
+ */
+ public function validateRequest(RequestInterface $request, ResponseInterface $response)
+ {
+ if (!$request->request("assertion")) {
+ $response->setError(400, 'invalid_request', 'Missing parameters: "assertion" required');
+
+ return null;
+ }
+
+ // Store the undecoded JWT for later use
+ $undecodedJWT = $request->request('assertion');
+
+ // Decode the JWT
+ $jwt = $this->jwtUtil->decode($request->request('assertion'), null, false);
+
+ if (!$jwt) {
+ $response->setError(400, 'invalid_request', "JWT is malformed");
+
+ return null;
+ }
+
+ // ensure these properties contain a value
+ // @todo: throw malformed error for missing properties
+ $jwt = array_merge(array(
+ 'scope' => null,
+ 'iss' => null,
+ 'sub' => null,
+ 'aud' => null,
+ 'exp' => null,
+ 'nbf' => null,
+ 'iat' => null,
+ 'jti' => null,
+ 'typ' => null,
+ ), $jwt);
+
+ if (!isset($jwt['iss'])) {
+ $response->setError(400, 'invalid_grant', "Invalid issuer (iss) provided");
+
+ return null;
+ }
+
+ if (!isset($jwt['sub'])) {
+ $response->setError(400, 'invalid_grant', "Invalid subject (sub) provided");
+
+ return null;
+ }
+
+ if (!isset($jwt['exp'])) {
+ $response->setError(400, 'invalid_grant', "Expiration (exp) time must be present");
+
+ return null;
+ }
+
+ // Check expiration
+ if (ctype_digit($jwt['exp'])) {
+ if ($jwt['exp'] <= time()) {
+ $response->setError(400, 'invalid_grant', "JWT has expired");
+
+ return null;
+ }
+ } else {
+ $response->setError(400, 'invalid_grant', "Expiration (exp) time must be a unix time stamp");
+
+ return null;
+ }
+
+ // Check the not before time
+ if ($notBefore = $jwt['nbf']) {
+ if (ctype_digit($notBefore)) {
+ if ($notBefore > time()) {
+ $response->setError(400, 'invalid_grant', "JWT cannot be used before the Not Before (nbf) time");
+
+ return null;
+ }
+ } else {
+ $response->setError(400, 'invalid_grant', "Not Before (nbf) time must be a unix time stamp");
+
+ return null;
+ }
+ }
+
+ // Check the audience if required to match
+ if (!isset($jwt['aud']) || ($jwt['aud'] != $this->audience)) {
+ $response->setError(400, 'invalid_grant', "Invalid audience (aud)");
+
+ return null;
+ }
+
+ // Check the jti (nonce)
+ // @see http://tools.ietf.org/html/draft-ietf-oauth-json-web-token-13#section-4.1.7
+ if (isset($jwt['jti'])) {
+ $jti = $this->storage->getJti($jwt['iss'], $jwt['sub'], $jwt['aud'], $jwt['exp'], $jwt['jti']);
+
+ //Reject if jti is used and jwt is still valid (exp parameter has not expired).
+ if ($jti && $jti['expires'] > time()) {
+ $response->setError(400, 'invalid_grant', "JSON Token Identifier (jti) has already been used");
+
+ return null;
+ } else {
+ $this->storage->setJti($jwt['iss'], $jwt['sub'], $jwt['aud'], $jwt['exp'], $jwt['jti']);
+ }
+ }
+
+ // Get the iss's public key
+ // @see http://tools.ietf.org/html/draft-ietf-oauth-json-web-token-06#section-4.1.1
+ if (!$key = $this->storage->getClientKey($jwt['iss'], $jwt['sub'])) {
+ $response->setError(400, 'invalid_grant', "Invalid issuer (iss) or subject (sub) provided");
+
+ return null;
+ }
+
+ // Verify the JWT
+ if (!$this->jwtUtil->decode($undecodedJWT, $key, $this->allowedAlgorithms)) {
+ $response->setError(400, 'invalid_grant', "JWT failed signature verification");
+
+ return null;
+ }
+
+ $this->jwt = $jwt;
+
+ return true;
+ }
+
+ public function getClientId()
+ {
+ return $this->jwt['iss'];
+ }
+
+ public function getUserId()
+ {
+ return $this->jwt['sub'];
+ }
+
+ public function getScope()
+ {
+ return null;
+ }
+
+ /**
+ * Creates an access token that is NOT associated with a refresh token.
+ * If a subject (sub) the name of the user/account we are accessing data on behalf of.
+ *
+ * @see OAuth2\GrantType\GrantTypeInterface::createAccessToken()
+ */
+ public function createAccessToken(AccessTokenInterface $accessToken, $client_id, $user_id, $scope)
+ {
+ $includeRefreshToken = false;
+
+ return $accessToken->createAccessToken($client_id, $user_id, $scope, $includeRefreshToken);
+ }
+}
diff --git a/vendor/bshaffer/oauth2-server-php/src/OAuth2/GrantType/RefreshToken.php b/vendor/bshaffer/oauth2-server-php/src/OAuth2/GrantType/RefreshToken.php
new file mode 100644
index 000000000..e55385222
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/src/OAuth2/GrantType/RefreshToken.php
@@ -0,0 +1,111 @@
+<?php
+
+namespace OAuth2\GrantType;
+
+use OAuth2\Storage\RefreshTokenInterface;
+use OAuth2\ResponseType\AccessTokenInterface;
+use OAuth2\RequestInterface;
+use OAuth2\ResponseInterface;
+
+/**
+ *
+ * @author Brent Shaffer <bshafs at gmail dot com>
+ */
+class RefreshToken implements GrantTypeInterface
+{
+ private $refreshToken;
+
+ protected $storage;
+ protected $config;
+
+ /**
+ * @param OAuth2\Storage\RefreshTokenInterface $storage REQUIRED Storage class for retrieving refresh token information
+ * @param array $config OPTIONAL Configuration options for the server
+ * <code>
+ * $config = array(
+ * 'always_issue_new_refresh_token' => true, // whether to issue a new refresh token upon successful token request
+ * 'unset_refresh_token_after_use' => true // whether to unset the refresh token after after using
+ * );
+ * </code>
+ */
+ public function __construct(RefreshTokenInterface $storage, $config = array())
+ {
+ $this->config = array_merge(array(
+ 'always_issue_new_refresh_token' => false,
+ 'unset_refresh_token_after_use' => true
+ ), $config);
+
+ // to preserve B.C. with v1.6
+ // @see https://github.com/bshaffer/oauth2-server-php/pull/580
+ // @todo - remove in v2.0
+ if (isset($config['always_issue_new_refresh_token']) && !isset($config['unset_refresh_token_after_use'])) {
+ $this->config['unset_refresh_token_after_use'] = $config['always_issue_new_refresh_token'];
+ }
+
+ $this->storage = $storage;
+ }
+
+ public function getQuerystringIdentifier()
+ {
+ return 'refresh_token';
+ }
+
+ public function validateRequest(RequestInterface $request, ResponseInterface $response)
+ {
+ if (!$request->request("refresh_token")) {
+ $response->setError(400, 'invalid_request', 'Missing parameter: "refresh_token" is required');
+
+ return null;
+ }
+
+ if (!$refreshToken = $this->storage->getRefreshToken($request->request("refresh_token"))) {
+ $response->setError(400, 'invalid_grant', 'Invalid refresh token');
+
+ return null;
+ }
+
+ if ($refreshToken['expires'] > 0 && $refreshToken["expires"] < time()) {
+ $response->setError(400, 'invalid_grant', 'Refresh token has expired');
+
+ return null;
+ }
+
+ // store the refresh token locally so we can delete it when a new refresh token is generated
+ $this->refreshToken = $refreshToken;
+
+ return true;
+ }
+
+ public function getClientId()
+ {
+ return $this->refreshToken['client_id'];
+ }
+
+ public function getUserId()
+ {
+ return isset($this->refreshToken['user_id']) ? $this->refreshToken['user_id'] : null;
+ }
+
+ public function getScope()
+ {
+ return isset($this->refreshToken['scope']) ? $this->refreshToken['scope'] : null;
+ }
+
+ public function createAccessToken(AccessTokenInterface $accessToken, $client_id, $user_id, $scope)
+ {
+ /*
+ * It is optional to force a new refresh token when a refresh token is used.
+ * However, if a new refresh token is issued, the old one MUST be expired
+ * @see http://tools.ietf.org/html/rfc6749#section-6
+ */
+ $issueNewRefreshToken = $this->config['always_issue_new_refresh_token'];
+ $unsetRefreshToken = $this->config['unset_refresh_token_after_use'];
+ $token = $accessToken->createAccessToken($client_id, $user_id, $scope, $issueNewRefreshToken);
+
+ if ($unsetRefreshToken) {
+ $this->storage->unsetRefreshToken($this->refreshToken['refresh_token']);
+ }
+
+ return $token;
+ }
+}
diff --git a/vendor/bshaffer/oauth2-server-php/src/OAuth2/GrantType/UserCredentials.php b/vendor/bshaffer/oauth2-server-php/src/OAuth2/GrantType/UserCredentials.php
new file mode 100644
index 000000000..f165538ba
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/src/OAuth2/GrantType/UserCredentials.php
@@ -0,0 +1,83 @@
+<?php
+
+namespace OAuth2\GrantType;
+
+use OAuth2\Storage\UserCredentialsInterface;
+use OAuth2\ResponseType\AccessTokenInterface;
+use OAuth2\RequestInterface;
+use OAuth2\ResponseInterface;
+
+/**
+ *
+ * @author Brent Shaffer <bshafs at gmail dot com>
+ */
+class UserCredentials implements GrantTypeInterface
+{
+ private $userInfo;
+
+ protected $storage;
+
+ /**
+ * @param OAuth2\Storage\UserCredentialsInterface $storage REQUIRED Storage class for retrieving user credentials information
+ */
+ public function __construct(UserCredentialsInterface $storage)
+ {
+ $this->storage = $storage;
+ }
+
+ public function getQuerystringIdentifier()
+ {
+ return 'password';
+ }
+
+ public function validateRequest(RequestInterface $request, ResponseInterface $response)
+ {
+ if (!$request->request("password") || !$request->request("username")) {
+ $response->setError(400, 'invalid_request', 'Missing parameters: "username" and "password" required');
+
+ return null;
+ }
+
+ if (!$this->storage->checkUserCredentials($request->request("username"), $request->request("password"))) {
+ $response->setError(401, 'invalid_grant', 'Invalid username and password combination');
+
+ return null;
+ }
+
+ $userInfo = $this->storage->getUserDetails($request->request("username"));
+
+ if (empty($userInfo)) {
+ $response->setError(400, 'invalid_grant', 'Unable to retrieve user information');
+
+ return null;
+ }
+
+ if (!isset($userInfo['user_id'])) {
+ throw new \LogicException("you must set the user_id on the array returned by getUserDetails");
+ }
+
+ $this->userInfo = $userInfo;
+
+ return true;
+ }
+
+ public function getClientId()
+ {
+ return null;
+ }
+
+ public function getUserId()
+ {
+ return $this->userInfo['user_id'];
+ }
+
+ public function getScope()
+ {
+ return isset($this->userInfo['scope']) ? $this->userInfo['scope'] : null;
+ }
+
+ public function createAccessToken(AccessTokenInterface $accessToken, $client_id, $user_id, $scope)
+ {
+ return $accessToken->createAccessToken($client_id, $user_id, $scope);
+ }
+}
diff --git a/vendor/bshaffer/oauth2-server-php/src/OAuth2/OpenID/Controller/AuthorizeController.php b/vendor/bshaffer/oauth2-server-php/src/OAuth2/OpenID/Controller/AuthorizeController.php
new file mode 100644
index 000000000..c9b5c6af7
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/src/OAuth2/OpenID/Controller/AuthorizeController.php
@@ -0,0 +1,106 @@
+<?php
+
+namespace OAuth2\OpenID\Controller;
+
+use OAuth2\Controller\AuthorizeController as BaseAuthorizeController;
+use OAuth2\RequestInterface;
+use OAuth2\ResponseInterface;
+
+/**
+ * @see OAuth2\Controller\AuthorizeControllerInterface
+ */
+class AuthorizeController extends BaseAuthorizeController implements AuthorizeControllerInterface
+{
+ private $nonce;
+
+ protected function setNotAuthorizedResponse(RequestInterface $request, ResponseInterface $response, $redirect_uri, $user_id = null)
+ {
+ $prompt = $request->query('prompt', 'consent');
+ if ($prompt == 'none') {
+ if (is_null($user_id)) {
+ $error = 'login_required';
+ $error_message = 'The user must log in';
+ } else {
+ $error = 'interaction_required';
+ $error_message = 'The user must grant access to your application';
+ }
+ } else {
+ $error = 'consent_required';
+ $error_message = 'The user denied access to your application';
+ }
+
+ $response->setRedirect($this->config['redirect_status_code'], $redirect_uri, $this->getState(), $error, $error_message);
+ }
+
+ protected function buildAuthorizeParameters($request, $response, $user_id)
+ {
+ if (!$params = parent::buildAuthorizeParameters($request, $response, $user_id)) {
+ return;
+ }
+
+ // Generate an id token if needed.
+ if ($this->needsIdToken($this->getScope()) && $this->getResponseType() == self::RESPONSE_TYPE_AUTHORIZATION_CODE) {
+ $params['id_token'] = $this->responseTypes['id_token']->createIdToken($this->getClientId(), $user_id, $this->nonce);
+ }
+
+ // add the nonce to return with the redirect URI
+ $params['nonce'] = $this->nonce;
+
+ return $params;
+ }
+
+ public function validateAuthorizeRequest(RequestInterface $request, ResponseInterface $response)
+ {
+ if (!parent::validateAuthorizeRequest($request, $response)) {
+ return false;
+ }
+
+ $nonce = $request->query('nonce');
+
+ // Validate required nonce for "id_token" and "id_token token"
+ if (!$nonce && in_array($this->getResponseType(), array(self::RESPONSE_TYPE_ID_TOKEN, self::RESPONSE_TYPE_ID_TOKEN_TOKEN))) {
+ $response->setError(400, 'invalid_nonce', 'This application requires you specify a nonce parameter');
+
+ return false;
+ }
+
+ $this->nonce = $nonce;
+
+ return true;
+ }
+
+ protected function getValidResponseTypes()
+ {
+ return array(
+ self::RESPONSE_TYPE_ACCESS_TOKEN,
+ self::RESPONSE_TYPE_AUTHORIZATION_CODE,
+ self::RESPONSE_TYPE_ID_TOKEN,
+ self::RESPONSE_TYPE_ID_TOKEN_TOKEN,
+ self::RESPONSE_TYPE_CODE_ID_TOKEN,
+ );
+ }
+
+ /**
+ * Returns whether the current request needs to generate an id token.
+ *
+ * ID Tokens are a part of the OpenID Connect specification, so this
+ * method checks whether OpenID Connect is enabled in the server settings
+ * and whether the openid scope was requested.
+ *
+ * @param $request_scope
+ * A space-separated string of scopes.
+ *
+ * @return
+ * TRUE if an id token is needed, FALSE otherwise.
+ */
+ public function needsIdToken($request_scope)
+ {
+ // see if the "openid" scope exists in the requested scope
+ return $this->scopeUtil->checkScope('openid', $request_scope);
+ }
+
+ public function getNonce()
+ {
+ return $this->nonce;
+ }
+}
diff --git a/vendor/bshaffer/oauth2-server-php/src/OAuth2/OpenID/Controller/AuthorizeControllerInterface.php b/vendor/bshaffer/oauth2-server-php/src/OAuth2/OpenID/Controller/AuthorizeControllerInterface.php
new file mode 100644
index 000000000..1e231d844
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/src/OAuth2/OpenID/Controller/AuthorizeControllerInterface.php
@@ -0,0 +1,10 @@
+<?php
+
+namespace OAuth2\OpenID\Controller;
+
+interface AuthorizeControllerInterface
+{
+ const RESPONSE_TYPE_ID_TOKEN = 'id_token';
+ const RESPONSE_TYPE_ID_TOKEN_TOKEN = 'id_token token';
+ const RESPONSE_TYPE_CODE_ID_TOKEN = 'code id_token';
+}
diff --git a/vendor/bshaffer/oauth2-server-php/src/OAuth2/OpenID/Controller/UserInfoController.php b/vendor/bshaffer/oauth2-server-php/src/OAuth2/OpenID/Controller/UserInfoController.php
new file mode 100644
index 000000000..30cb942d0
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/src/OAuth2/OpenID/Controller/UserInfoController.php
@@ -0,0 +1,58 @@
+<?php
+
+namespace OAuth2\OpenID\Controller;
+
+use OAuth2\Scope;
+use OAuth2\TokenType\TokenTypeInterface;
+use OAuth2\Storage\AccessTokenInterface;
+use OAuth2\OpenID\Storage\UserClaimsInterface;
+use OAuth2\Controller\ResourceController;
+use OAuth2\ScopeInterface;
+use OAuth2\RequestInterface;
+use OAuth2\ResponseInterface;
+
+/**
+ * @see OAuth2\Controller\UserInfoControllerInterface
+ */
+class UserInfoController extends ResourceController implements UserInfoControllerInterface
+{
+ private $token;
+
+ protected $tokenType;
+ protected $tokenStorage;
+ protected $userClaimsStorage;
+ protected $config;
+ protected $scopeUtil;
+
+ public function __construct(TokenTypeInterface $tokenType, AccessTokenInterface $tokenStorage, UserClaimsInterface $userClaimsStorage, $config = array(), ScopeInterface $scopeUtil = null)
+ {
+ $this->tokenType = $tokenType;
+ $this->tokenStorage = $tokenStorage;
+ $this->userClaimsStorage = $userClaimsStorage;
+
+ $this->config = array_merge(array(
+ 'www_realm' => 'Service',
+ ), $config);
+
+ if (is_null($scopeUtil)) {
+ $scopeUtil = new Scope();
+ }
+ $this->scopeUtil = $scopeUtil;
+ }
+
+ public function handleUserInfoRequest(RequestInterface $request, ResponseInterface $response)
+ {
+ if (!$this->verifyResourceRequest($request, $response, 'openid')) {
+ return;
+ }
+
+ $token = $this->getToken();
+ $claims = $this->userClaimsStorage->getUserClaims($token['user_id'], $token['scope']);
+ // The sub Claim MUST always be returned in the UserInfo Response.
+ // http://openid.net/specs/openid-connect-core-1_0.html#UserInfoResponse
+ $claims += array(
+ 'sub' => $token['user_id'],
+ );
+ $response->addParameters($claims);
+ }
+}
diff --git a/vendor/bshaffer/oauth2-server-php/src/OAuth2/OpenID/Controller/UserInfoControllerInterface.php b/vendor/bshaffer/oauth2-server-php/src/OAuth2/OpenID/Controller/UserInfoControllerInterface.php
new file mode 100644
index 000000000..a89049d49
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/src/OAuth2/OpenID/Controller/UserInfoControllerInterface.php
@@ -0,0 +1,23 @@
+<?php
+
+namespace OAuth2\OpenID\Controller;
+
+use OAuth2\RequestInterface;
+use OAuth2\ResponseInterface;
+
+/**
+ * This controller is called when the user claims for OpenID Connect's
+ * UserInfo endpoint should be returned.
+ *
+ * ex:
+ * > $response = new OAuth2\Response();
+ * > $userInfoController->handleUserInfoRequest(
+ * > OAuth2\Request::createFromGlobals(),
+ * > $response;
+ * > $response->send();
+ *
+ */
+interface UserInfoControllerInterface
+{
+ public function handleUserInfoRequest(RequestInterface $request, ResponseInterface $response);
+}
diff --git a/vendor/bshaffer/oauth2-server-php/src/OAuth2/OpenID/GrantType/AuthorizationCode.php b/vendor/bshaffer/oauth2-server-php/src/OAuth2/OpenID/GrantType/AuthorizationCode.php
new file mode 100644
index 000000000..8ed1edc26
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/src/OAuth2/OpenID/GrantType/AuthorizationCode.php
@@ -0,0 +1,33 @@
+<?php
+
+namespace OAuth2\OpenID\GrantType;
+
+use OAuth2\GrantType\AuthorizationCode as BaseAuthorizationCode;
+use OAuth2\ResponseType\AccessTokenInterface;
+
+/**
+ *
+ * @author Brent Shaffer <bshafs at gmail dot com>
+ */
+class AuthorizationCode extends BaseAuthorizationCode
+{
+ public function createAccessToken(AccessTokenInterface $accessToken, $client_id, $user_id, $scope)
+ {
+ $includeRefreshToken = true;
+ if (isset($this->authCode['id_token'])) {
+ // OpenID Connect requests include the refresh token only if the
+ // offline_access scope has been requested and granted.
+ $scopes = explode(' ', trim($scope));
+ $includeRefreshToken = in_array('offline_access', $scopes);
+ }
+
+ $token = $accessToken->createAccessToken($client_id, $user_id, $scope, $includeRefreshToken);
+ if (isset($this->authCode['id_token'])) {
+ $token['id_token'] = $this->authCode['id_token'];
+ }
+
+ $this->storage->expireAuthorizationCode($this->authCode['code']);
+
+ return $token;
+ }
+}
diff --git a/vendor/bshaffer/oauth2-server-php/src/OAuth2/OpenID/ResponseType/AuthorizationCode.php b/vendor/bshaffer/oauth2-server-php/src/OAuth2/OpenID/ResponseType/AuthorizationCode.php
new file mode 100644
index 000000000..8971954c5
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/src/OAuth2/OpenID/ResponseType/AuthorizationCode.php
@@ -0,0 +1,60 @@
+<?php
+
+namespace OAuth2\OpenID\ResponseType;
+
+use OAuth2\ResponseType\AuthorizationCode as BaseAuthorizationCode;
+use OAuth2\OpenID\Storage\AuthorizationCodeInterface as AuthorizationCodeStorageInterface;
+
+/**
+ *
+ * @author Brent Shaffer <bshafs at gmail dot com>
+ */
+class AuthorizationCode extends BaseAuthorizationCode implements AuthorizationCodeInterface
+{
+ public function __construct(AuthorizationCodeStorageInterface $storage, array $config = array())
+ {
+ parent::__construct($storage, $config);
+ }
+
+ public function getAuthorizeResponse($params, $user_id = null)
+ {
+ // build the URL to redirect to
+ $result = array('query' => array());
+
+ $params += array('scope' => null, 'state' => null, 'id_token' => null);
+
+ $result['query']['code'] = $this->createAuthorizationCode($params['client_id'], $user_id, $params['redirect_uri'], $params['scope'], $params['id_token']);
+
+ if (isset($params['state'])) {
+ $result['query']['state'] = $params['state'];
+ }
+
+ return array($params['redirect_uri'], $result);
+ }
+
+ /**
+ * Handle the creation of the authorization code.
+ *
+ * @param $client_id
+ * Client identifier related to the authorization code
+ * @param $user_id
+ * User ID associated with the authorization code
+ * @param $redirect_uri
+ * An absolute URI to which the authorization server will redirect the
+ * user-agent to when the end-user authorization step is completed.
+ * @param $scope
+ * (optional) Scopes to be stored in space-separated string.
+ * @param $id_token
+ * (optional) The OpenID Connect id_token.
+ *
+ * @see http://tools.ietf.org/html/rfc6749#section-4
+ * @ingroup oauth2_section_4
+ */
+ public function createAuthorizationCode($client_id, $user_id, $redirect_uri, $scope = null, $id_token = null)
+ {
+ $code = $this->generateAuthorizationCode();
+ $this->storage->setAuthorizationCode($code, $client_id, $user_id, $redirect_uri, time() + $this->config['auth_code_lifetime'], $scope, $id_token);
+
+ return $code;
+ }
+}
diff --git a/vendor/bshaffer/oauth2-server-php/src/OAuth2/OpenID/ResponseType/AuthorizationCodeInterface.php b/vendor/bshaffer/oauth2-server-php/src/OAuth2/OpenID/ResponseType/AuthorizationCodeInterface.php
new file mode 100644
index 000000000..ea4779255
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/src/OAuth2/OpenID/ResponseType/AuthorizationCodeInterface.php
@@ -0,0 +1,27 @@
+<?php
+
+namespace OAuth2\OpenID\ResponseType;
+
+use OAuth2\ResponseType\AuthorizationCodeInterface as BaseAuthorizationCodeInterface;
+
+/**
+ *
+ * @author Brent Shaffer <bshafs at gmail dot com>
+ */
+interface AuthorizationCodeInterface extends BaseAuthorizationCodeInterface
+{
+ /**
+ * Handle the creation of the authorization code.
+ *
+ * @param $client_id Client identifier related to the authorization code
+ * @param $user_id User ID associated with the authorization code
+ * @param $redirect_uri An absolute URI to which the authorization server will redirect the
+ * user-agent to when the end-user authorization step is completed.
+ * @param $scope OPTIONAL Scopes to be stored in space-separated string.
+ * @param $id_token OPTIONAL The OpenID Connect id_token.
+ *
+ * @see http://tools.ietf.org/html/rfc6749#section-4
+ * @ingroup oauth2_section_4
+ */
+ public function createAuthorizationCode($client_id, $user_id, $redirect_uri, $scope = null, $id_token = null);
+}
diff --git a/vendor/bshaffer/oauth2-server-php/src/OAuth2/OpenID/ResponseType/CodeIdToken.php b/vendor/bshaffer/oauth2-server-php/src/OAuth2/OpenID/ResponseType/CodeIdToken.php
new file mode 100644
index 000000000..ac7764d6c
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/src/OAuth2/OpenID/ResponseType/CodeIdToken.php
@@ -0,0 +1,24 @@
+<?php
+
+namespace OAuth2\OpenID\ResponseType;
+
+class CodeIdToken implements CodeIdTokenInterface
+{
+ protected $authCode;
+ protected $idToken;
+
+ public function __construct(AuthorizationCodeInterface $authCode, IdTokenInterface $idToken)
+ {
+ $this->authCode = $authCode;
+ $this->idToken = $idToken;
+ }
+
+ public function getAuthorizeResponse($params, $user_id = null)
+ {
+ $result = $this->authCode->getAuthorizeResponse($params, $user_id);
+ $resultIdToken = $this->idToken->getAuthorizeResponse($params, $user_id);
+ $result[1]['query']['id_token'] = $resultIdToken[1]['fragment']['id_token'];
+
+ return $result;
+ }
+}
diff --git a/vendor/bshaffer/oauth2-server-php/src/OAuth2/OpenID/ResponseType/CodeIdTokenInterface.php b/vendor/bshaffer/oauth2-server-php/src/OAuth2/OpenID/ResponseType/CodeIdTokenInterface.php
new file mode 100644
index 000000000..629adcca8
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/src/OAuth2/OpenID/ResponseType/CodeIdTokenInterface.php
@@ -0,0 +1,9 @@
+<?php
+
+namespace OAuth2\OpenID\ResponseType;
+
+use OAuth2\ResponseType\ResponseTypeInterface;
+
+interface CodeIdTokenInterface extends ResponseTypeInterface
+{
+}
diff --git a/vendor/bshaffer/oauth2-server-php/src/OAuth2/OpenID/ResponseType/IdToken.php b/vendor/bshaffer/oauth2-server-php/src/OAuth2/OpenID/ResponseType/IdToken.php
new file mode 100644
index 000000000..97777fbf2
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/src/OAuth2/OpenID/ResponseType/IdToken.php
@@ -0,0 +1,124 @@
+<?php
+
+namespace OAuth2\OpenID\ResponseType;
+
+use OAuth2\Encryption\EncryptionInterface;
+use OAuth2\Encryption\Jwt;
+use OAuth2\Storage\PublicKeyInterface;
+use OAuth2\OpenID\Storage\UserClaimsInterface;
+
+class IdToken implements IdTokenInterface
+{
+ protected $userClaimsStorage;
+ protected $publicKeyStorage;
+ protected $config;
+ protected $encryptionUtil;
+
+ public function __construct(UserClaimsInterface $userClaimsStorage, PublicKeyInterface $publicKeyStorage, array $config = array(), EncryptionInterface $encryptionUtil = null)
+ {
+ $this->userClaimsStorage = $userClaimsStorage;
+ $this->publicKeyStorage = $publicKeyStorage;
+ if (is_null($encryptionUtil)) {
+ $encryptionUtil = new Jwt();
+ }
+ $this->encryptionUtil = $encryptionUtil;
+
+ if (!isset($config['issuer'])) {
+ throw new \LogicException('config parameter "issuer" must be set');
+ }
+ $this->config = array_merge(array(
+ 'id_lifetime' => 3600,
+ ), $config);
+ }
+
+ public function getAuthorizeResponse($params, $userInfo = null)
+ {
+ // build the URL to redirect to
+ $result = array('query' => array());
+ $params += array('scope' => null, 'state' => null, 'nonce' => null);
+
+ // create the id token.
+ list($user_id, $auth_time) = $this->getUserIdAndAuthTime($userInfo);
+ $userClaims = $this->userClaimsStorage->getUserClaims($user_id, $params['scope']);
+
+ $id_token = $this->createIdToken($params['client_id'], $userInfo, $params['nonce'], $userClaims, null);
+ $result["fragment"] = array('id_token' => $id_token);
+ if (isset($params['state'])) {
+ $result["fragment"]["state"] = $params['state'];
+ }
+
+ return array($params['redirect_uri'], $result);
+ }
+
+ public function createIdToken($client_id, $userInfo, $nonce = null, $userClaims = null, $access_token = null)
+ {
+ // pull auth_time from user info if supplied
+ list($user_id, $auth_time) = $this->getUserIdAndAuthTime($userInfo);
+
+ $token = array(
+ 'iss' => $this->config['issuer'],
+ 'sub' => $user_id,
+ 'aud' => $client_id,
+ 'iat' => time(),
+ 'exp' => time() + $this->config['id_lifetime'],
+ 'auth_time' => $auth_time,
+ );
+
+ if ($nonce) {
+ $token['nonce'] = $nonce;
+ }
+
+ if ($userClaims) {
+ $token += $userClaims;
+ }
+
+ if ($access_token) {
+ $token['at_hash'] = $this->createAtHash($access_token, $client_id);
+ }
+
+ return $this->encodeToken($token, $client_id);
+ }
+
+ protected function createAtHash($access_token, $client_id = null)
+ {
+ // maps HS256 and RS256 to sha256, etc.
+ $algorithm = $this->publicKeyStorage->getEncryptionAlgorithm($client_id);
+ $hash_algorithm = 'sha' . substr($algorithm, 2);
+ $hash = hash($hash_algorithm, $access_token, true);
+ $at_hash = substr($hash, 0, strlen($hash) / 2);
+
+ return $this->encryptionUtil->urlSafeB64Encode($at_hash);
+ }
+
+ protected function encodeToken(array $token, $client_id = null)
+ {
+ $private_key = $this->publicKeyStorage->getPrivateKey($client_id);
+ $algorithm = $this->publicKeyStorage->getEncryptionAlgorithm($client_id);
+
+ return $this->encryptionUtil->encode($token, $private_key, $algorithm);
+ }
+
+ private function getUserIdAndAuthTime($userInfo)
+ {
+ $auth_time = null;
+
+ // support an array for user_id / auth_time
+ if (is_array($userInfo)) {
+ if (!isset($userInfo['user_id'])) {
+ throw new \LogicException('if $user_id argument is an array, user_id index must be set');
+ }
+
+ $auth_time = isset($userInfo['auth_time']) ? $userInfo['auth_time'] : null;
+ $user_id = $userInfo['user_id'];
+ } else {
+ $user_id = $userInfo;
+ }
+
+ if (is_null($auth_time)) {
+ $auth_time = time();
+ }
+
+ // userInfo is a scalar, and so this is the $user_id. Auth Time is null
+ return array($user_id, $auth_time);
+ }
+}
diff --git a/vendor/bshaffer/oauth2-server-php/src/OAuth2/OpenID/ResponseType/IdTokenInterface.php b/vendor/bshaffer/oauth2-server-php/src/OAuth2/OpenID/ResponseType/IdTokenInterface.php
new file mode 100644
index 000000000..0bd2f8391
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/src/OAuth2/OpenID/ResponseType/IdTokenInterface.php
@@ -0,0 +1,29 @@
+<?php
+
+namespace OAuth2\OpenID\ResponseType;
+
+use OAuth2\ResponseType\ResponseTypeInterface;
+
+interface IdTokenInterface extends ResponseTypeInterface
+{
+ /**
+ * Create the id token.
+ *
+ * If Authorization Code Flow is used, the id_token is generated when the
+ * authorization code is issued, and later returned from the token endpoint
+ * together with the access_token.
+ * If the Implicit Flow is used, the token and id_token are generated and
+ * returned together.
+ *
+ * @param string $client_id The client id.
+ * @param string $user_id The user id.
+ * @param string $nonce OPTIONAL The nonce.
+ * @param string $userClaims OPTIONAL Claims about the user.
+ * @param string $access_token OPTIONAL The access token, if known.
+ *
+ * @return string The ID Token represented as a JSON Web Token (JWT).
+ *
+ * @see http://openid.net/specs/openid-connect-core-1_0.html#IDToken
+ */
+ public function createIdToken($client_id, $userInfo, $nonce = null, $userClaims = null, $access_token = null);
+}
diff --git a/vendor/bshaffer/oauth2-server-php/src/OAuth2/OpenID/ResponseType/IdTokenToken.php b/vendor/bshaffer/oauth2-server-php/src/OAuth2/OpenID/ResponseType/IdTokenToken.php
new file mode 100644
index 000000000..f0c59799b
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/src/OAuth2/OpenID/ResponseType/IdTokenToken.php
@@ -0,0 +1,27 @@
+<?php
+
+namespace OAuth2\OpenID\ResponseType;
+
+use OAuth2\ResponseType\AccessTokenInterface;
+
+class IdTokenToken implements IdTokenTokenInterface
+{
+ protected $accessToken;
+ protected $idToken;
+
+ public function __construct(AccessTokenInterface $accessToken, IdTokenInterface $idToken)
+ {
+ $this->accessToken = $accessToken;
+ $this->idToken = $idToken;
+ }
+
+ public function getAuthorizeResponse($params, $user_id = null)
+ {
+ $result = $this->accessToken->getAuthorizeResponse($params, $user_id);
+ $access_token = $result[1]['fragment']['access_token'];
+ $id_token = $this->idToken->createIdToken($params['client_id'], $user_id, $params['nonce'], null, $access_token);
+ $result[1]['fragment']['id_token'] = $id_token;
+
+ return $result;
+ }
+}
diff --git a/vendor/bshaffer/oauth2-server-php/src/OAuth2/OpenID/ResponseType/IdTokenTokenInterface.php b/vendor/bshaffer/oauth2-server-php/src/OAuth2/OpenID/ResponseType/IdTokenTokenInterface.php
new file mode 100644
index 000000000..ac13e2032
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/src/OAuth2/OpenID/ResponseType/IdTokenTokenInterface.php
@@ -0,0 +1,9 @@
+<?php
+
+namespace OAuth2\OpenID\ResponseType;
+
+use OAuth2\ResponseType\ResponseTypeInterface;
+
+interface IdTokenTokenInterface extends ResponseTypeInterface
+{
+}
diff --git a/vendor/bshaffer/oauth2-server-php/src/OAuth2/OpenID/Storage/AuthorizationCodeInterface.php b/vendor/bshaffer/oauth2-server-php/src/OAuth2/OpenID/Storage/AuthorizationCodeInterface.php
new file mode 100644
index 000000000..51dd867ec
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/src/OAuth2/OpenID/Storage/AuthorizationCodeInterface.php
@@ -0,0 +1,37 @@
+<?php
+
+namespace OAuth2\OpenID\Storage;
+
+use OAuth2\Storage\AuthorizationCodeInterface as BaseAuthorizationCodeInterface;
+/**
+ * Implement this interface to specify where the OAuth2 Server
+ * should get/save authorization codes for the "Authorization Code"
+ * grant type
+ *
+ * @author Brent Shaffer <bshafs at gmail dot com>
+ */
+interface AuthorizationCodeInterface extends BaseAuthorizationCodeInterface
+{
+ /**
+ * Take the provided authorization code values and store them somewhere.
+ *
+ * This function should be the storage counterpart to getAuthCode().
+ *
+ * If storage fails for some reason, we're not currently checking for
+ * any sort of success/failure, so you should bail out of the script
+ * and provide a descriptive fail message.
+ *
+ * Required for OAuth2::GRANT_TYPE_AUTH_CODE.
+ *
+ * @param $code authorization code to be stored.
+ * @param $client_id client identifier to be stored.
+ * @param $user_id user identifier to be stored.
+ * @param string $redirect_uri redirect URI(s) to be stored in a space-separated string.
+ * @param int $expires expiration to be stored as a Unix timestamp.
+ * @param string $scope OPTIONAL scopes to be stored in space-separated string.
+ * @param string $id_token OPTIONAL the OpenID Connect id_token.
+ *
+ * @ingroup oauth2_section_4
+ */
+ public function setAuthorizationCode($code, $client_id, $user_id, $redirect_uri, $expires, $scope = null, $id_token = null);
+}
diff --git a/vendor/bshaffer/oauth2-server-php/src/OAuth2/OpenID/Storage/UserClaimsInterface.php b/vendor/bshaffer/oauth2-server-php/src/OAuth2/OpenID/Storage/UserClaimsInterface.php
new file mode 100644
index 000000000..f230bef9e
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/src/OAuth2/OpenID/Storage/UserClaimsInterface.php
@@ -0,0 +1,38 @@
+<?php
+
+namespace OAuth2\OpenID\Storage;
+
+/**
+ * Implement this interface to specify where the OAuth2 Server
+ * should retrieve user claims for the OpenID Connect id_token.
+ */
+interface UserClaimsInterface
+{
+ // valid scope values to pass into the user claims API call
+ const VALID_CLAIMS = 'profile email address phone';
+
+ // fields returned for the claims above
+ const PROFILE_CLAIM_VALUES = 'name family_name given_name middle_name nickname preferred_username profile picture website gender birthdate zoneinfo locale updated_at';
+ const EMAIL_CLAIM_VALUES = 'email email_verified';
+ const ADDRESS_CLAIM_VALUES = 'formatted street_address locality region postal_code country';
+ const PHONE_CLAIM_VALUES = 'phone_number phone_number_verified';
+
+ /**
+ * Return claims about the provided user id.
+ *
+ * Groups of claims are returned based on the requested scopes. No group
+ * is required, and no claim is required.
+ *
+ * @param $user_id
+ * The id of the user for which claims should be returned.
+ * @param $scope
+ * The requested scope.
+ * Scopes with matching claims: profile, email, address, phone.
+ *
+ * @return
+ * An array in the claim => value format.
+ *
+ * @see http://openid.net/specs/openid-connect-core-1_0.html#ScopeClaims
+ */
+ public function getUserClaims($user_id, $scope);
+}
diff --git a/vendor/bshaffer/oauth2-server-php/src/OAuth2/Request.php b/vendor/bshaffer/oauth2-server-php/src/OAuth2/Request.php
new file mode 100644
index 000000000..c92cee821
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/src/OAuth2/Request.php
@@ -0,0 +1,213 @@
+<?php
+
+namespace OAuth2;
+
+/**
+ * OAuth2\Request
+ * This class is taken from the Symfony2 Framework and is part of the Symfony package.
+ * See Symfony\Component\HttpFoundation\Request (https://github.com/symfony/symfony)
+ */
+class Request implements RequestInterface
+{
+ public $attributes;
+ public $request;
+ public $query;
+ public $server;
+ public $files;
+ public $cookies;
+ public $headers;
+ public $content;
+
+ /**
+ * Constructor.
+ *
+ * @param array $query The GET parameters
+ * @param array $request The POST parameters
+ * @param array $attributes The request attributes (parameters parsed from the PATH_INFO, ...)
+ * @param array $cookies The COOKIE parameters
+ * @param array $files The FILES parameters
+ * @param array $server The SERVER parameters
+ * @param string $content The raw body data
+ *
+ * @api
+ */
+ public function __construct(array $query = array(), array $request = array(), array $attributes = array(), array $cookies = array(), array $files = array(), array $server = array(), $content = null, array $headers = null)
+ {
+ $this->initialize($query, $request, $attributes, $cookies, $files, $server, $content, $headers);
+ }
+
+ /**
+ * Sets the parameters for this request.
+ *
+ * This method also re-initializes all properties.
+ *
+ * @param array $query The GET parameters
+ * @param array $request The POST parameters
+ * @param array $attributes The request attributes (parameters parsed from the PATH_INFO, ...)
+ * @param array $cookies The COOKIE parameters
+ * @param array $files The FILES parameters
+ * @param array $server The SERVER parameters
+ * @param string $content The raw body data
+ *
+ * @api
+ */
+ public function initialize(array $query = array(), array $request = array(), array $attributes = array(), array $cookies = array(), array $files = array(), array $server = array(), $content = null, array $headers = null)
+ {
+ $this->request = $request;
+ $this->query = $query;
+ $this->attributes = $attributes;
+ $this->cookies = $cookies;
+ $this->files = $files;
+ $this->server = $server;
+ $this->content = $content;
+ $this->headers = is_null($headers) ? $this->getHeadersFromServer($this->server) : $headers;
+ }
+
+ public function query($name, $default = null)
+ {
+ return isset($this->query[$name]) ? $this->query[$name] : $default;
+ }
+
+ public function request($name, $default = null)
+ {
+ return isset($this->request[$name]) ? $this->request[$name] : $default;
+ }
+
+ public function server($name, $default = null)
+ {
+ return isset($this->server[$name]) ? $this->server[$name] : $default;
+ }
+
+ public function headers($name, $default = null)
+ {
+ $headers = array_change_key_case($this->headers);
+ $name = strtolower($name);
+
+ return isset($headers[$name]) ? $headers[$name] : $default;
+ }
+
+ public function getAllQueryParameters()
+ {
+ return $this->query;
+ }
+
+ /**
+ * Returns the request body content.
+ *
+ * @param Boolean $asResource If true, a resource will be returned
+ *
+ * @return string|resource The request body content or a resource to read the body stream.
+ */
+ public function getContent($asResource = false)
+ {
+ if (false === $this->content || (true === $asResource && null !== $this->content)) {
+ throw new \LogicException('getContent() can only be called once when using the resource return type.');
+ }
+
+ if (true === $asResource) {
+ $this->content = false;
+
+ return fopen('php://input', 'rb');
+ }
+
+ if (null === $this->content) {
+ $this->content = file_get_contents('php://input');
+ }
+
+ return $this->content;
+ }
+
+ private function getHeadersFromServer($server)
+ {
+ $headers = array();
+ foreach ($server as $key => $value) {
+ if (0 === strpos($key, 'HTTP_')) {
+ $headers[substr($key, 5)] = $value;
+ }
+ // CONTENT_* are not prefixed with HTTP_
+ elseif (in_array($key, array('CONTENT_LENGTH', 'CONTENT_MD5', 'CONTENT_TYPE'))) {
+ $headers[$key] = $value;
+ }
+ }
+
+ if (isset($server['PHP_AUTH_USER'])) {
+ $headers['PHP_AUTH_USER'] = $server['PHP_AUTH_USER'];
+ $headers['PHP_AUTH_PW'] = isset($server['PHP_AUTH_PW']) ? $server['PHP_AUTH_PW'] : '';
+ } else {
+ /*
+ * php-cgi under Apache does not pass HTTP Basic user/pass to PHP by default
+ * For this workaround to work, add this line to your .htaccess file:
+ * RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
+ *
+ * A sample .htaccess file:
+ * RewriteEngine On
+ * RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
+ * RewriteCond %{REQUEST_FILENAME} !-f
+ * RewriteRule ^(.*)$ app.php [QSA,L]
+ */
+
+ $authorizationHeader = null;
+ if (isset($server['HTTP_AUTHORIZATION'])) {
+ $authorizationHeader = $server['HTTP_AUTHORIZATION'];
+ } elseif (isset($server['REDIRECT_HTTP_AUTHORIZATION'])) {
+ $authorizationHeader = $server['REDIRECT_HTTP_AUTHORIZATION'];
+ } elseif (function_exists('apache_request_headers')) {
+ $requestHeaders = (array) apache_request_headers();
+
+ // Server-side fix for bug in old Android versions (a nice side-effect of this fix means we don't care about capitalization for Authorization)
+ $requestHeaders = array_combine(array_map('ucwords', array_keys($requestHeaders)), array_values($requestHeaders));
+
+ if (isset($requestHeaders['Authorization'])) {
+ $authorizationHeader = trim($requestHeaders['Authorization']);
+ }
+ }
+
+ if (null !== $authorizationHeader) {
+ $headers['AUTHORIZATION'] = $authorizationHeader;
+ // Decode AUTHORIZATION header into PHP_AUTH_USER and PHP_AUTH_PW when authorization header is basic
+ if (0 === stripos($authorizationHeader, 'basic')) {
+ $exploded = explode(':', base64_decode(substr($authorizationHeader, 6)));
+ if (count($exploded) == 2) {
+ list($headers['PHP_AUTH_USER'], $headers['PHP_AUTH_PW']) = $exploded;
+ }
+ }
+ }
+ }
+
+ // PHP_AUTH_USER/PHP_AUTH_PW
+ if (isset($headers['PHP_AUTH_USER'])) {
+ $headers['AUTHORIZATION'] = 'Basic '.base64_encode($headers['PHP_AUTH_USER'].':'.$headers['PHP_AUTH_PW']);
+ }
+
+ return $headers;
+ }
+
+ /**
+ * Creates a new request with values from PHP's super globals.
+ *
+ * @return Request A new request
+ *
+ * @api
+ */
+ public static function createFromGlobals()
+ {
+ $class = get_called_class();
+ $request = new $class($_GET, $_POST, array(), $_COOKIE, $_FILES, $_SERVER);
+
+ $contentType = $request->server('CONTENT_TYPE', '');
+ $requestMethod = $request->server('REQUEST_METHOD', 'GET');
+ if (0 === strpos($contentType, 'application/x-www-form-urlencoded')
+ && in_array(strtoupper($requestMethod), array('PUT', 'DELETE'))
+ ) {
+ parse_str($request->getContent(), $data);
+ $request->request = $data;
+ } elseif (0 === strpos($contentType, 'application/json')
+ && in_array(strtoupper($requestMethod), array('POST', 'PUT', 'DELETE'))
+ ) {
+ $data = json_decode($request->getContent(), true);
+ $request->request = $data;
+ }
+
+ return $request;
+ }
+}
diff --git a/vendor/bshaffer/oauth2-server-php/src/OAuth2/RequestInterface.php b/vendor/bshaffer/oauth2-server-php/src/OAuth2/RequestInterface.php
new file mode 100644
index 000000000..8a70d5fad
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/src/OAuth2/RequestInterface.php
@@ -0,0 +1,16 @@
+<?php
+
+namespace OAuth2;
+
+interface RequestInterface
+{
+ public function query($name, $default = null);
+
+ public function request($name, $default = null);
+
+ public function server($name, $default = null);
+
+ public function headers($name, $default = null);
+
+ public function getAllQueryParameters();
+}
diff --git a/vendor/bshaffer/oauth2-server-php/src/OAuth2/Response.php b/vendor/bshaffer/oauth2-server-php/src/OAuth2/Response.php
new file mode 100644
index 000000000..fc1e62a98
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/src/OAuth2/Response.php
@@ -0,0 +1,369 @@
+<?php
+
+namespace OAuth2;
+
+/**
+ * Class to handle OAuth2 Responses in a graceful way. Use this interface
+ * to output the proper OAuth2 responses.
+ *
+ * @see OAuth2\ResponseInterface
+ *
+ * This class borrows heavily from the Symfony2 Framework and is part of the symfony package
+ * @see Symfony\Component\HttpFoundation\Request (https://github.com/symfony/symfony)
+ */
+class Response implements ResponseInterface
+{
+ public $version;
+ protected $statusCode = 200;
+ protected $statusText;
+ protected $parameters = array();
+ protected $httpHeaders = array();
+
+ public static $statusTexts = array(
+ 100 => 'Continue',
+ 101 => 'Switching Protocols',
+ 200 => 'OK',
+ 201 => 'Created',
+ 202 => 'Accepted',
+ 203 => 'Non-Authoritative Information',
+ 204 => 'No Content',
+ 205 => 'Reset Content',
+ 206 => 'Partial Content',
+ 300 => 'Multiple Choices',
+ 301 => 'Moved Permanently',
+ 302 => 'Found',
+ 303 => 'See Other',
+ 304 => 'Not Modified',
+ 305 => 'Use Proxy',
+ 307 => 'Temporary Redirect',
+ 400 => 'Bad Request',
+ 401 => 'Unauthorized',
+ 402 => 'Payment Required',
+ 403 => 'Forbidden',
+ 404 => 'Not Found',
+ 405 => 'Method Not Allowed',
+ 406 => 'Not Acceptable',
+ 407 => 'Proxy Authentication Required',
+ 408 => 'Request Timeout',
+ 409 => 'Conflict',
+ 410 => 'Gone',
+ 411 => 'Length Required',
+ 412 => 'Precondition Failed',
+ 413 => 'Request Entity Too Large',
+ 414 => 'Request-URI Too Long',
+ 415 => 'Unsupported Media Type',
+ 416 => 'Requested Range Not Satisfiable',
+ 417 => 'Expectation Failed',
+ 418 => 'I\'m a teapot',
+ 500 => 'Internal Server Error',
+ 501 => 'Not Implemented',
+ 502 => 'Bad Gateway',
+ 503 => 'Service Unavailable',
+ 504 => 'Gateway Timeout',
+ 505 => 'HTTP Version Not Supported',
+ );
+
+ public function __construct($parameters = array(), $statusCode = 200, $headers = array())
+ {
+ $this->setParameters($parameters);
+ $this->setStatusCode($statusCode);
+ $this->setHttpHeaders($headers);
+ $this->version = '1.1';
+ }
+
+ /**
+ * Converts the response object to string containing all headers and the response content.
+ *
+ * @return string The response with headers and content
+ */
+ public function __toString()
+ {
+ $headers = array();
+ foreach ($this->httpHeaders as $name => $value) {
+ $headers[$name] = (array) $value;
+ }
+
+ return
+ sprintf('HTTP/%s %s %s', $this->version, $this->statusCode, $this->statusText)."\r\n".
+ $this->getHttpHeadersAsString($headers)."\r\n".
+ $this->getResponseBody();
+ }
+
+ /**
+ * Returns the build header line.
+ *
+ * @param string $name The header name
+ * @param string $value The header value
+ *
+ * @return string The built header line
+ */
+ protected function buildHeader($name, $value)
+ {
+ return sprintf("%s: %s\n", $name, $value);
+ }
+
+ public function getStatusCode()
+ {
+ return $this->statusCode;
+ }
+
+ public function setStatusCode($statusCode, $text = null)
+ {
+ $this->statusCode = (int) $statusCode;
+ if ($this->isInvalid()) {
+ throw new \InvalidArgumentException(sprintf('The HTTP status code "%s" is not valid.', $statusCode));
+ }
+
+ $this->statusText = false === $text ? '' : (null === $text ? self::$statusTexts[$this->statusCode] : $text);
+ }
+
+ public function getStatusText()
+ {
+ return $this->statusText;
+ }
+
+ public function getParameters()
+ {
+ return $this->parameters;
+ }
+
+ public function setParameters(array $parameters)
+ {
+ $this->parameters = $parameters;
+ }
+
+ public function addParameters(array $parameters)
+ {
+ $this->parameters = array_merge($this->parameters, $parameters);
+ }
+
+ public function getParameter($name, $default = null)
+ {
+ return isset($this->parameters[$name]) ? $this->parameters[$name] : $default;
+ }
+
+ public function setParameter($name, $value)
+ {
+ $this->parameters[$name] = $value;
+ }
+
+ public function setHttpHeaders(array $httpHeaders)
+ {
+ $this->httpHeaders = $httpHeaders;
+ }
+
+ public function setHttpHeader($name, $value)
+ {
+ $this->httpHeaders[$name] = $value;
+ }
+
+ public function addHttpHeaders(array $httpHeaders)
+ {
+ $this->httpHeaders = array_merge($this->httpHeaders, $httpHeaders);
+ }
+
+ public function getHttpHeaders()
+ {
+ return $this->httpHeaders;
+ }
+
+ public function getHttpHeader($name, $default = null)
+ {
+ return isset($this->httpHeaders[$name]) ? $this->httpHeaders[$name] : $default;
+ }
+
+ public function getResponseBody($format = 'json')
+ {
+ switch ($format) {
+ case 'json':
+ return $this->parameters ? json_encode($this->parameters) : '';
+ case 'xml':
+ // this only works for single-level arrays
+ $xml = new \SimpleXMLElement('<response/>');
+ foreach ($this->parameters as $key => $param) {
+ $xml->addChild($key, $param);
+ }
+
+ return $xml->asXML();
+ }
+
+ throw new \InvalidArgumentException(sprintf('The format %s is not supported', $format));
+
+ }
+
+ public function send($format = 'json')
+ {
+ // headers have already been sent by the developer
+ if (headers_sent()) {
+ return;
+ }
+
+ switch ($format) {
+ case 'json':
+ $this->setHttpHeader('Content-Type', 'application/json');
+ break;
+ case 'xml':
+ $this->setHttpHeader('Content-Type', 'text/xml');
+ break;
+ }
+ // status
+ header(sprintf('HTTP/%s %s %s', $this->version, $this->statusCode, $this->statusText));
+
+ foreach ($this->getHttpHeaders() as $name => $header) {
+ header(sprintf('%s: %s', $name, $header));
+ }
+ echo $this->getResponseBody($format);
+ }
+
+ public function setError($statusCode, $error, $errorDescription = null, $errorUri = null)
+ {
+ $parameters = array(
+ 'error' => $error,
+ 'error_description' => $errorDescription,
+ );
+
+ if (!is_null($errorUri)) {
+ if (strlen($errorUri) > 0 && $errorUri[0] == '#') {
+ // we are referencing an oauth bookmark (for brevity)
+ $errorUri = 'http://tools.ietf.org/html/rfc6749' . $errorUri;
+ }
+ $parameters['error_uri'] = $errorUri;
+ }
+
+ $httpHeaders = array(
+ 'Cache-Control' => 'no-store'
+ );
+
+ $this->setStatusCode($statusCode);
+ $this->addParameters($parameters);
+ $this->addHttpHeaders($httpHeaders);
+
+ if (!$this->isClientError() && !$this->isServerError()) {
+ throw new \InvalidArgumentException(sprintf('The HTTP status code is not an error ("%s" given).', $statusCode));
+ }
+ }
+
+ public function setRedirect($statusCode, $url, $state = null, $error = null, $errorDescription = null, $errorUri = null)
+ {
+ if (empty($url)) {
+ throw new \InvalidArgumentException('Cannot redirect to an empty URL.');
+ }
+
+ $parameters = array();
+
+ if (!is_null($state)) {
+ $parameters['state'] = $state;
+ }
+
+ if (!is_null($error)) {
+ $this->setError(400, $error, $errorDescription, $errorUri);
+ }
+ $this->setStatusCode($statusCode);
+ $this->addParameters($parameters);
+
+ if (count($this->parameters) > 0) {
+ // add parameters to URL redirection
+ $parts = parse_url($url);
+ $sep = isset($parts['query']) && count($parts['query']) > 0 ? '&' : '?';
+ $url .= $sep . http_build_query($this->parameters);
+ }
+
+ $this->addHttpHeaders(array('Location' => $url));
+
+ if (!$this->isRedirection()) {
+ throw new \InvalidArgumentException(sprintf('The HTTP status code is not a redirect ("%s" given).', $statusCode));
+ }
+ }
+
+ // http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html
+ /**
+ * @return Boolean
+ *
+ * @api
+ */
+ public function isInvalid()
+ {
+ return $this->statusCode < 100 || $this->statusCode >= 600;
+ }
+
+ /**
+ * @return Boolean
+ *
+ * @api
+ */
+ public function isInformational()
+ {
+ return $this->statusCode >= 100 && $this->statusCode < 200;
+ }
+
+ /**
+ * @return Boolean
+ *
+ * @api
+ */
+ public function isSuccessful()
+ {
+ return $this->statusCode >= 200 && $this->statusCode < 300;
+ }
+
+ /**
+ * @return Boolean
+ *
+ * @api
+ */
+ public function isRedirection()
+ {
+ return $this->statusCode >= 300 && $this->statusCode < 400;
+ }
+
+ /**
+ * @return Boolean
+ *
+ * @api
+ */
+ public function isClientError()
+ {
+ return $this->statusCode >= 400 && $this->statusCode < 500;
+ }
+
+ /**
+ * @return Boolean
+ *
+ * @api
+ */
+ public function isServerError()
+ {
+ return $this->statusCode >= 500 && $this->statusCode < 600;
+ }
+
+ /*
+ * Functions from Symfony2 HttpFoundation - output pretty header
+ */
+ private function getHttpHeadersAsString($headers)
+ {
+ if (count($headers) == 0) {
+ return '';
+ }
+
+ $max = max(array_map('strlen', array_keys($headers))) + 1;
+ $content = '';
+ ksort($headers);
+ foreach ($headers as $name => $values) {
+ foreach ($values as $value) {
+ $content .= sprintf("%-{$max}s %s\r\n", $this->beautifyHeaderName($name).':', $value);
+ }
+ }
+
+ return $content;
+ }
+
+ private function beautifyHeaderName($name)
+ {
+ return preg_replace_callback('/\-(.)/', array($this, 'beautifyCallback'), ucfirst($name));
+ }
+
+ private function beautifyCallback($match)
+ {
+ return '-'.strtoupper($match[1]);
+ }
+}
diff --git a/vendor/bshaffer/oauth2-server-php/src/OAuth2/ResponseInterface.php b/vendor/bshaffer/oauth2-server-php/src/OAuth2/ResponseInterface.php
new file mode 100644
index 000000000..c99b5f7d1
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/src/OAuth2/ResponseInterface.php
@@ -0,0 +1,24 @@
+<?php
+
+namespace OAuth2;
+
+/**
+ * Interface which represents an object response. Meant to handle and display the proper OAuth2 Responses
+ * for errors and successes
+ *
+ * @see OAuth2\Response
+ */
+interface ResponseInterface
+{
+ public function addParameters(array $parameters);
+
+ public function addHttpHeaders(array $httpHeaders);
+
+ public function setStatusCode($statusCode);
+
+ public function setError($statusCode, $name, $description = null, $uri = null);
+
+ public function setRedirect($statusCode, $url, $state = null, $error = null, $errorDescription = null, $errorUri = null);
+
+ public function getParameter($name);
+}
diff --git a/vendor/bshaffer/oauth2-server-php/src/OAuth2/ResponseType/AccessToken.php b/vendor/bshaffer/oauth2-server-php/src/OAuth2/ResponseType/AccessToken.php
new file mode 100644
index 000000000..98f51218f
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/src/OAuth2/ResponseType/AccessToken.php
@@ -0,0 +1,194 @@
+<?php
+
+namespace OAuth2\ResponseType;
+
+use OAuth2\Storage\AccessTokenInterface as AccessTokenStorageInterface;
+use OAuth2\Storage\RefreshTokenInterface;
+
+/**
+ *
+ * @author Brent Shaffer <bshafs at gmail dot com>
+ */
+class AccessToken implements AccessTokenInterface
+{
+ protected $tokenStorage;
+ protected $refreshStorage;
+ protected $config;
+
+ /**
+ * @param OAuth2\Storage\AccessTokenInterface $tokenStorage REQUIRED Storage class for saving access token information
+ * @param OAuth2\Storage\RefreshTokenInterface $refreshStorage OPTIONAL Storage class for saving refresh token information
+ * @param array $config OPTIONAL Configuration options for the server
+ * <code>
+ * $config = array(
+ * 'token_type' => 'bearer', // token type identifier
+ * 'access_lifetime' => 3600, // time before access token expires
+ * 'refresh_token_lifetime' => 1209600, // time before refresh token expires
+ * );
+ * </endcode>
+ */
+ public function __construct(AccessTokenStorageInterface $tokenStorage, RefreshTokenInterface $refreshStorage = null, array $config = array())
+ {
+ $this->tokenStorage = $tokenStorage;
+ $this->refreshStorage = $refreshStorage;
+
+ $this->config = array_merge(array(
+ 'token_type' => 'bearer',
+ 'access_lifetime' => 3600,
+ 'refresh_token_lifetime' => 1209600,
+ ), $config);
+ }
+
+ public function getAuthorizeResponse($params, $user_id = null)
+ {
+ // build the URL to redirect to
+ $result = array('query' => array());
+
+ $params += array('scope' => null, 'state' => null);
+
+ /*
+ * a refresh token MUST NOT be included in the fragment
+ *
+ * @see http://tools.ietf.org/html/rfc6749#section-4.2.2
+ */
+ $includeRefreshToken = false;
+ $result["fragment"] = $this->createAccessToken($params['client_id'], $user_id, $params['scope'], $includeRefreshToken);
+
+ if (isset($params['state'])) {
+ $result["fragment"]["state"] = $params['state'];
+ }
+
+ return array($params['redirect_uri'], $result);
+ }
+
+ /**
+ * Handle the creation of access token, also issue refresh token if supported / desirable.
+ *
+ * @param $client_id client identifier related to the access token.
+ * @param $user_id user ID associated with the access token
+ * @param $scope OPTIONAL scopes to be stored in space-separated string.
+ * @param bool $includeRefreshToken if true, a new refresh_token will be added to the response
+ *
+ * @see http://tools.ietf.org/html/rfc6749#section-5
+ * @ingroup oauth2_section_5
+ */
+ public function createAccessToken($client_id, $user_id, $scope = null, $includeRefreshToken = true)
+ {
+ $token = array(
+ "access_token" => $this->generateAccessToken(),
+ "expires_in" => $this->config['access_lifetime'],
+ "token_type" => $this->config['token_type'],
+ "scope" => $scope
+ );
+
+ $this->tokenStorage->setAccessToken($token["access_token"], $client_id, $user_id, $this->config['access_lifetime'] ? time() + $this->config['access_lifetime'] : null, $scope);
+
+ /*
+ * Issue a refresh token also, if we support them
+ *
+ * Refresh Tokens are considered supported if an instance of OAuth2\Storage\RefreshTokenInterface
+ * is supplied in the constructor
+ */
+ if ($includeRefreshToken && $this->refreshStorage) {
+ $token["refresh_token"] = $this->generateRefreshToken();
+ $expires = 0;
+ if ($this->config['refresh_token_lifetime'] > 0) {
+ $expires = time() + $this->config['refresh_token_lifetime'];
+ }
+ $this->refreshStorage->setRefreshToken($token['refresh_token'], $client_id, $user_id, $expires, $scope);
+ }
+
+ return $token;
+ }
+
+ /**
+ * Generates an unique access token.
+ *
+ * Implementing classes may want to override this function to implement
+ * other access token generation schemes.
+ *
+ * @return
+ * An unique access token.
+ *
+ * @ingroup oauth2_section_4
+ */
+ protected function generateAccessToken()
+ {
+ if (function_exists('openssl_random_pseudo_bytes')) {
+ $randomData = openssl_random_pseudo_bytes(20);
+ if ($randomData !== false && strlen($randomData) === 20) {
+ return bin2hex($randomData);
+ }
+ }
+ if (function_exists('mcrypt_create_iv')) {
+ $randomData = mcrypt_create_iv(20, MCRYPT_DEV_URANDOM);
+ if ($randomData !== false && strlen($randomData) === 20) {
+ return bin2hex($randomData);
+ }
+ }
+ if (@file_exists('/dev/urandom')) { // Get 100 bytes of random data
+ $randomData = file_get_contents('/dev/urandom', false, null, 0, 20);
+ if ($randomData !== false && strlen($randomData) === 20) {
+ return bin2hex($randomData);
+ }
+ }
+ // Last resort which you probably should just get rid of:
+ $randomData = mt_rand() . mt_rand() . mt_rand() . mt_rand() . microtime(true) . uniqid(mt_rand(), true);
+
+ return substr(hash('sha512', $randomData), 0, 40);
+ }
+
+ /**
+ * Generates an unique refresh token
+ *
+ * Implementing classes may want to override this function to implement
+ * other refresh token generation schemes.
+ *
+ * @return
+ * An unique refresh.
+ *
+ * @ingroup oauth2_section_4
+ * @see OAuth2::generateAccessToken()
+ */
+ protected function generateRefreshToken()
+ {
+ return $this->generateAccessToken(); // let's reuse the same scheme for token generation
+ }
+
+ /**
+ * Handle the revoking of refresh tokens, and access tokens if supported / desirable
+ * RFC7009 specifies that "If the server is unable to locate the token using
+ * the given hint, it MUST extend its search across all of its supported token types"
+ *
+ * @param $token
+ * @param null $tokenTypeHint
+ * @return boolean
+ */
+ public function revokeToken($token, $tokenTypeHint = null)
+ {
+ if ($tokenTypeHint == 'refresh_token') {
+ if ($this->refreshStorage && $revoked = $this->refreshStorage->unsetRefreshToken($token)) {
+ return true;
+ }
+ }
+
+ /** @TODO remove in v2 */
+ if (!method_exists($this->tokenStorage, 'unsetAccessToken')) {
+ throw new \RuntimeException(
+ sprintf('Token storage %s must implement unsetAccessToken method', get_class($this->tokenStorage)
+ ));
+ }
+
+ $revoked = $this->tokenStorage->unsetAccessToken($token);
+
+ // if a typehint is supplied and fails, try other storages
+ // @see https://tools.ietf.org/html/rfc7009#section-2.1
+ if (!$revoked && $tokenTypeHint != 'refresh_token') {
+ if ($this->refreshStorage) {
+ $revoked = $this->refreshStorage->unsetRefreshToken($token);
+ }
+ }
+
+ return $revoked;
+ }
+}
diff --git a/vendor/bshaffer/oauth2-server-php/src/OAuth2/ResponseType/AccessTokenInterface.php b/vendor/bshaffer/oauth2-server-php/src/OAuth2/ResponseType/AccessTokenInterface.php
new file mode 100644
index 000000000..4bd3928d8
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/src/OAuth2/ResponseType/AccessTokenInterface.php
@@ -0,0 +1,34 @@
+<?php
+
+namespace OAuth2\ResponseType;
+
+/**
+ *
+ * @author Brent Shaffer <bshafs at gmail dot com>
+ */
+interface AccessTokenInterface extends ResponseTypeInterface
+{
+ /**
+ * Handle the creation of access token, also issue refresh token if supported / desirable.
+ *
+ * @param $client_id client identifier related to the access token.
+ * @param $user_id user ID associated with the access token
+ * @param $scope OPTONAL scopes to be stored in space-separated string.
+ * @param bool $includeRefreshToken if true, a new refresh_token will be added to the response
+ *
+ * @see http://tools.ietf.org/html/rfc6749#section-5
+ * @ingroup oauth2_section_5
+ */
+ public function createAccessToken($client_id, $user_id, $scope = null, $includeRefreshToken = true);
+
+ /**
+ * Handle the revoking of refresh tokens, and access tokens if supported / desirable
+ *
+ * @param $token
+ * @param $tokenTypeHint
+ * @return mixed
+ *
+ * @todo v2.0 include this method in interface. Omitted to maintain BC in v1.x
+ */
+ //public function revokeToken($token, $tokenTypeHint);
+}
diff --git a/vendor/bshaffer/oauth2-server-php/src/OAuth2/ResponseType/AuthorizationCode.php b/vendor/bshaffer/oauth2-server-php/src/OAuth2/ResponseType/AuthorizationCode.php
new file mode 100644
index 000000000..52aeb4be5
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/src/OAuth2/ResponseType/AuthorizationCode.php
@@ -0,0 +1,100 @@
+<?php
+
+namespace OAuth2\ResponseType;
+
+use OAuth2\Storage\AuthorizationCodeInterface as AuthorizationCodeStorageInterface;
+
+/**
+ *
+ * @author Brent Shaffer <bshafs at gmail dot com>
+ */
+class AuthorizationCode implements AuthorizationCodeInterface
+{
+ protected $storage;
+ protected $config;
+
+ public function __construct(AuthorizationCodeStorageInterface $storage, array $config = array())
+ {
+ $this->storage = $storage;
+ $this->config = array_merge(array(
+ 'enforce_redirect' => false,
+ 'auth_code_lifetime' => 30,
+ ), $config);
+ }
+
+ public function getAuthorizeResponse($params, $user_id = null)
+ {
+ // build the URL to redirect to
+ $result = array('query' => array());
+
+ $params += array('scope' => null, 'state' => null);
+
+ $result['query']['code'] = $this->createAuthorizationCode($params['client_id'], $user_id, $params['redirect_uri'], $params['scope']);
+
+ if (isset($params['state'])) {
+ $result['query']['state'] = $params['state'];
+ }
+
+ return array($params['redirect_uri'], $result);
+ }
+
+ /**
+ * Handle the creation of the authorization code.
+ *
+ * @param $client_id
+ * Client identifier related to the authorization code
+ * @param $user_id
+ * User ID associated with the authorization code
+ * @param $redirect_uri
+ * An absolute URI to which the authorization server will redirect the
+ * user-agent to when the end-user authorization step is completed.
+ * @param $scope
+ * (optional) Scopes to be stored in space-separated string.
+ *
+ * @see http://tools.ietf.org/html/rfc6749#section-4
+ * @ingroup oauth2_section_4
+ */
+ public function createAuthorizationCode($client_id, $user_id, $redirect_uri, $scope = null)
+ {
+ $code = $this->generateAuthorizationCode();
+ $this->storage->setAuthorizationCode($code, $client_id, $user_id, $redirect_uri, time() + $this->config['auth_code_lifetime'], $scope);
+
+ return $code;
+ }
+
+ /**
+ * @return
+ * TRUE if the grant type requires a redirect_uri, FALSE if not
+ */
+ public function enforceRedirect()
+ {
+ return $this->config['enforce_redirect'];
+ }
+
+ /**
+ * Generates an unique auth code.
+ *
+ * Implementing classes may want to override this function to implement
+ * other auth code generation schemes.
+ *
+ * @return
+ * An unique auth code.
+ *
+ * @ingroup oauth2_section_4
+ */
+ protected function generateAuthorizationCode()
+ {
+ $tokenLen = 40;
+ if (function_exists('openssl_random_pseudo_bytes')) {
+ $randomData = openssl_random_pseudo_bytes(100);
+ } elseif (function_exists('mcrypt_create_iv')) {
+ $randomData = mcrypt_create_iv(100, MCRYPT_DEV_URANDOM);
+ } elseif (@file_exists('/dev/urandom')) { // Get 100 bytes of random data
+ $randomData = file_get_contents('/dev/urandom', false, null, 0, 100) . uniqid(mt_rand(), true);
+ } else {
+ $randomData = mt_rand() . mt_rand() . mt_rand() . mt_rand() . microtime(true) . uniqid(mt_rand(), true);
+ }
+
+ return substr(hash('sha512', $randomData), 0, $tokenLen);
+ }
+}
diff --git a/vendor/bshaffer/oauth2-server-php/src/OAuth2/ResponseType/AuthorizationCodeInterface.php b/vendor/bshaffer/oauth2-server-php/src/OAuth2/ResponseType/AuthorizationCodeInterface.php
new file mode 100644
index 000000000..df777e221
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/src/OAuth2/ResponseType/AuthorizationCodeInterface.php
@@ -0,0 +1,30 @@
+<?php
+
+namespace OAuth2\ResponseType;
+
+/**
+ *
+ * @author Brent Shaffer <bshafs at gmail dot com>
+ */
+interface AuthorizationCodeInterface extends ResponseTypeInterface
+{
+ /**
+ * @return
+ * TRUE if the grant type requires a redirect_uri, FALSE if not
+ */
+ public function enforceRedirect();
+
+ /**
+ * Handle the creation of the authorization code.
+ *
+ * @param $client_id client identifier related to the authorization code
+ * @param $user_id user id associated with the authorization code
+ * @param $redirect_uri an absolute URI to which the authorization server will redirect the
+ * user-agent to when the end-user authorization step is completed.
+ * @param $scope OPTIONAL scopes to be stored in space-separated string.
+ *
+ * @see http://tools.ietf.org/html/rfc6749#section-4
+ * @ingroup oauth2_section_4
+ */
+ public function createAuthorizationCode($client_id, $user_id, $redirect_uri, $scope = null);
+}
diff --git a/vendor/bshaffer/oauth2-server-php/src/OAuth2/ResponseType/JwtAccessToken.php b/vendor/bshaffer/oauth2-server-php/src/OAuth2/ResponseType/JwtAccessToken.php
new file mode 100644
index 000000000..3942fe41e
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/src/OAuth2/ResponseType/JwtAccessToken.php
@@ -0,0 +1,124 @@
+<?php
+
+namespace OAuth2\ResponseType;
+
+use OAuth2\Encryption\EncryptionInterface;
+use OAuth2\Encryption\Jwt;
+use OAuth2\Storage\AccessTokenInterface as AccessTokenStorageInterface;
+use OAuth2\Storage\RefreshTokenInterface;
+use OAuth2\Storage\PublicKeyInterface;
+use OAuth2\Storage\Memory;
+
+/**
+ *
+ * @author Brent Shaffer <bshafs at gmail dot com>
+ */
+class JwtAccessToken extends AccessToken
+{
+ protected $publicKeyStorage;
+ protected $encryptionUtil;
+
+ /**
+ * @param $config
+ * - store_encrypted_token_string (bool true)
+ * whether the entire encrypted string is stored,
+ * or just the token ID is stored
+ */
+ public function __construct(PublicKeyInterface $publicKeyStorage = null, AccessTokenStorageInterface $tokenStorage = null, RefreshTokenInterface $refreshStorage = null, array $config = array(), EncryptionInterface $encryptionUtil = null)
+ {
+ $this->publicKeyStorage = $publicKeyStorage;
+ $config = array_merge(array(
+ 'store_encrypted_token_string' => true,
+ 'issuer' => ''
+ ), $config);
+ if (is_null($tokenStorage)) {
+ // a pass-thru, so we can call the parent constructor
+ $tokenStorage = new Memory();
+ }
+ if (is_null($encryptionUtil)) {
+ $encryptionUtil = new Jwt();
+ }
+ $this->encryptionUtil = $encryptionUtil;
+ parent::__construct($tokenStorage, $refreshStorage, $config);
+ }
+
+ /**
+ * Handle the creation of access token, also issue refresh token if supported / desirable.
+ *
+ * @param $client_id
+ * Client identifier related to the access token.
+ * @param $user_id
+ * User ID associated with the access token
+ * @param $scope
+ * (optional) Scopes to be stored in space-separated string.
+ * @param bool $includeRefreshToken
+ * If true, a new refresh_token will be added to the response
+ *
+ * @see http://tools.ietf.org/html/rfc6749#section-5
+ * @ingroup oauth2_section_5
+ */
+ public function createAccessToken($client_id, $user_id, $scope = null, $includeRefreshToken = true)
+ {
+ // token to encrypt
+ $expires = time() + $this->config['access_lifetime'];
+ $id = $this->generateAccessToken();
+ $jwtAccessToken = array(
+ 'id' => $id, // for BC (see #591)
+ 'jti' => $id,
+ 'iss' => $this->config['issuer'],
+ 'aud' => $client_id,
+ 'sub' => $user_id,
+ 'exp' => $expires,
+ 'iat' => time(),
+ 'token_type' => $this->config['token_type'],
+ 'scope' => $scope
+ );
+
+ /*
+ * Encode the token data into a single access_token string
+ */
+ $access_token = $this->encodeToken($jwtAccessToken, $client_id);
+
+ /*
+ * Save the token to a secondary storage. This is implemented on the
+ * OAuth2\Storage\JwtAccessToken side, and will not actually store anything,
+ * if no secondary storage has been supplied
+ */
+ $token_to_store = $this->config['store_encrypted_token_string'] ? $access_token : $jwtAccessToken['id'];
+ $this->tokenStorage->setAccessToken($token_to_store, $client_id, $user_id, $this->config['access_lifetime'] ? time() + $this->config['access_lifetime'] : null, $scope);
+
+ // token to return to the client
+ $token = array(
+ 'access_token' => $access_token,
+ 'expires_in' => $this->config['access_lifetime'],
+ 'token_type' => $this->config['token_type'],
+ 'scope' => $scope
+ );
+
+ /*
+ * Issue a refresh token also, if we support them
+ *
+ * Refresh Tokens are considered supported if an instance of OAuth2\Storage\RefreshTokenInterface
+ * is supplied in the constructor
+ */
+ if ($includeRefreshToken && $this->refreshStorage) {
+ $refresh_token = $this->generateRefreshToken();
+ $expires = 0;
+ if ($this->config['refresh_token_lifetime'] > 0) {
+ $expires = time() + $this->config['refresh_token_lifetime'];
+ }
+ $this->refreshStorage->setRefreshToken($refresh_token, $client_id, $user_id, $expires, $scope);
+ $token['refresh_token'] = $refresh_token;
+ }
+
+ return $token;
+ }
+
+ protected function encodeToken(array $token, $client_id = null)
+ {
+ $private_key = $this->publicKeyStorage->getPrivateKey($client_id);
+ $algorithm = $this->publicKeyStorage->getEncryptionAlgorithm($client_id);
+
+ return $this->encryptionUtil->encode($token, $private_key, $algorithm);
+ }
+}
diff --git a/vendor/bshaffer/oauth2-server-php/src/OAuth2/ResponseType/ResponseTypeInterface.php b/vendor/bshaffer/oauth2-server-php/src/OAuth2/ResponseType/ResponseTypeInterface.php
new file mode 100644
index 000000000..f8e26a5b0
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/src/OAuth2/ResponseType/ResponseTypeInterface.php
@@ -0,0 +1,8 @@
+<?php
+
+namespace OAuth2\ResponseType;
+
+interface ResponseTypeInterface
+{
+ public function getAuthorizeResponse($params, $user_id = null);
+}
diff --git a/vendor/bshaffer/oauth2-server-php/src/OAuth2/Scope.php b/vendor/bshaffer/oauth2-server-php/src/OAuth2/Scope.php
new file mode 100644
index 000000000..c44350bfd
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/src/OAuth2/Scope.php
@@ -0,0 +1,103 @@
+<?php
+
+namespace OAuth2;
+
+use OAuth2\Storage\Memory;
+use OAuth2\Storage\ScopeInterface as ScopeStorageInterface;
+
+/**
+* @see OAuth2\ScopeInterface
+*/
+class Scope implements ScopeInterface
+{
+ protected $storage;
+
+ /**
+ * @param mixed @storage
+ * Either an array of supported scopes, or an instance of OAuth2\Storage\ScopeInterface
+ */
+ public function __construct($storage = null)
+ {
+ if (is_null($storage) || is_array($storage)) {
+ $storage = new Memory((array) $storage);
+ }
+
+ if (!$storage instanceof ScopeStorageInterface) {
+ throw new \InvalidArgumentException("Argument 1 to OAuth2\Scope must be null, an array, or instance of OAuth2\Storage\ScopeInterface");
+ }
+
+ $this->storage = $storage;
+ }
+
+ /**
+ * Check if everything in required scope is contained in available scope.
+ *
+ * @param $required_scope
+ * A space-separated string of scopes.
+ *
+ * @return
+ * TRUE if everything in required scope is contained in available scope,
+ * and FALSE if it isn't.
+ *
+ * @see http://tools.ietf.org/html/rfc6749#section-7
+ *
+ * @ingroup oauth2_section_7
+ */
+ public function checkScope($required_scope, $available_scope)
+ {
+ $required_scope = explode(' ', trim($required_scope));
+ $available_scope = explode(' ', trim($available_scope));
+
+ return (count(array_diff($required_scope, $available_scope)) == 0);
+ }
+
+ /**
+ * Check if the provided scope exists in storage.
+ *
+ * @param $scope
+ * A space-separated string of scopes.
+ *
+ * @return
+ * TRUE if it exists, FALSE otherwise.
+ */
+ public function scopeExists($scope)
+ {
+ // Check reserved scopes first.
+ $scope = explode(' ', trim($scope));
+ $reservedScope = $this->getReservedScopes();
+ $nonReservedScopes = array_diff($scope, $reservedScope);
+ if (count($nonReservedScopes) == 0) {
+ return true;
+ } else {
+ // Check the storage for non-reserved scopes.
+ $nonReservedScopes = implode(' ', $nonReservedScopes);
+
+ return $this->storage->scopeExists($nonReservedScopes);
+ }
+ }
+
+ public function getScopeFromRequest(RequestInterface $request)
+ {
+ // "scope" is valid if passed in either POST or QUERY
+ return $request->request('scope', $request->query('scope'));
+ }
+
+ public function getDefaultScope($client_id = null)
+ {
+ return $this->storage->getDefaultScope($client_id);
+ }
+
+ /**
+ * Get reserved scopes needed by the server.
+ *
+ * In case OpenID Connect is used, these scopes must include:
+ * 'openid', offline_access'.
+ *
+ * @return
+ * An array of reserved scopes.
+ */
+ public function getReservedScopes()
+ {
+ return array('openid', 'offline_access');
+ }
+}
diff --git a/vendor/bshaffer/oauth2-server-php/src/OAuth2/ScopeInterface.php b/vendor/bshaffer/oauth2-server-php/src/OAuth2/ScopeInterface.php
new file mode 100644
index 000000000..5b60f9aee
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/src/OAuth2/ScopeInterface.php
@@ -0,0 +1,40 @@
+<?php
+
+namespace OAuth2;
+
+use OAuth2\Storage\ScopeInterface as ScopeStorageInterface;
+
+/**
+ * Class to handle scope implementation logic
+ *
+ * @see OAuth2\Storage\ScopeInterface
+ */
+interface ScopeInterface extends ScopeStorageInterface
+{
+ /**
+ * Check if everything in required scope is contained in available scope.
+ *
+ * @param $required_scope
+ * A space-separated string of scopes.
+ *
+ * @return
+ * TRUE if everything in required scope is contained in available scope,
+ * and FALSE if it isn't.
+ *
+ * @see http://tools.ietf.org/html/rfc6749#section-7
+ *
+ * @ingroup oauth2_section_7
+ */
+ public function checkScope($required_scope, $available_scope);
+
+ /**
+ * Return scope info from request
+ *
+ * @param OAuth2\RequestInterface
+ * Request object to check
+ *
+ * @return
+ * string representation of requested scope
+ */
+ public function getScopeFromRequest(RequestInterface $request);
+}
diff --git a/vendor/bshaffer/oauth2-server-php/src/OAuth2/Server.php b/vendor/bshaffer/oauth2-server-php/src/OAuth2/Server.php
new file mode 100644
index 000000000..9cfcb83a5
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/src/OAuth2/Server.php
@@ -0,0 +1,879 @@
+<?php
+
+namespace OAuth2;
+
+use OAuth2\Controller\ResourceControllerInterface;
+use OAuth2\Controller\ResourceController;
+use OAuth2\OpenID\Controller\UserInfoControllerInterface;
+use OAuth2\OpenID\Controller\UserInfoController;
+use OAuth2\OpenID\Controller\AuthorizeController as OpenIDAuthorizeController;
+use OAuth2\OpenID\ResponseType\AuthorizationCode as OpenIDAuthorizationCodeResponseType;
+use OAuth2\OpenID\Storage\AuthorizationCodeInterface as OpenIDAuthorizationCodeInterface;
+use OAuth2\OpenID\GrantType\AuthorizationCode as OpenIDAuthorizationCodeGrantType;
+use OAuth2\Controller\AuthorizeControllerInterface;
+use OAuth2\Controller\AuthorizeController;
+use OAuth2\Controller\TokenControllerInterface;
+use OAuth2\Controller\TokenController;
+use OAuth2\ClientAssertionType\ClientAssertionTypeInterface;
+use OAuth2\ClientAssertionType\HttpBasic;
+use OAuth2\ResponseType\ResponseTypeInterface;
+use OAuth2\ResponseType\AuthorizationCode as AuthorizationCodeResponseType;
+use OAuth2\ResponseType\AccessToken;
+use OAuth2\ResponseType\JwtAccessToken;
+use OAuth2\OpenID\ResponseType\CodeIdToken;
+use OAuth2\OpenID\ResponseType\IdToken;
+use OAuth2\OpenID\ResponseType\IdTokenToken;
+use OAuth2\TokenType\TokenTypeInterface;
+use OAuth2\TokenType\Bearer;
+use OAuth2\GrantType\GrantTypeInterface;
+use OAuth2\GrantType\UserCredentials;
+use OAuth2\GrantType\ClientCredentials;
+use OAuth2\GrantType\RefreshToken;
+use OAuth2\GrantType\AuthorizationCode;
+use OAuth2\Storage\JwtAccessToken as JwtAccessTokenStorage;
+use OAuth2\Storage\JwtAccessTokenInterface;
+
+/**
+* Server class for OAuth2
+* This class serves as a convience class which wraps the other Controller classes
+*
+* @see OAuth2\Controller\ResourceController
+* @see OAuth2\Controller\AuthorizeController
+* @see OAuth2\Controller\TokenController
+*/
+class Server implements ResourceControllerInterface,
+ AuthorizeControllerInterface,
+ TokenControllerInterface,
+ UserInfoControllerInterface
+{
+ // misc properties
+ /**
+ * @var Response
+ */
+ protected $response;
+
+ /**
+ * @var array
+ */
+ protected $config;
+
+ /**
+ * @var array
+ */
+ protected $storages;
+
+ // servers
+ /**
+ * @var AuthorizeControllerInterface
+ */
+ protected $authorizeController;
+
+ /**
+ * @var TokenControllerInterface
+ */
+ protected $tokenController;
+
+ /**
+ * @var ResourceControllerInterface
+ */
+ protected $resourceController;
+
+ /**
+ * @var UserInfoControllerInterface
+ */
+ protected $userInfoController;
+
+ // config classes
+ protected $grantTypes;
+ protected $responseTypes;
+ protected $tokenType;
+
+ /**
+ * @var ScopeInterface
+ */
+ protected $scopeUtil;
+ protected $clientAssertionType;
+
+ protected $storageMap = array(
+ 'access_token' => 'OAuth2\Storage\AccessTokenInterface',
+ 'authorization_code' => 'OAuth2\Storage\AuthorizationCodeInterface',
+ 'client_credentials' => 'OAuth2\Storage\ClientCredentialsInterface',
+ 'client' => 'OAuth2\Storage\ClientInterface',
+ 'refresh_token' => 'OAuth2\Storage\RefreshTokenInterface',
+ 'user_credentials' => 'OAuth2\Storage\UserCredentialsInterface',
+ 'user_claims' => 'OAuth2\OpenID\Storage\UserClaimsInterface',
+ 'public_key' => 'OAuth2\Storage\PublicKeyInterface',
+ 'jwt_bearer' => 'OAuth2\Storage\JWTBearerInterface',
+ 'scope' => 'OAuth2\Storage\ScopeInterface',
+ );
+
+ protected $responseTypeMap = array(
+ 'token' => 'OAuth2\ResponseType\AccessTokenInterface',
+ 'code' => 'OAuth2\ResponseType\AuthorizationCodeInterface',
+ 'id_token' => 'OAuth2\OpenID\ResponseType\IdTokenInterface',
+ 'id_token token' => 'OAuth2\OpenID\ResponseType\IdTokenTokenInterface',
+ 'code id_token' => 'OAuth2\OpenID\ResponseType\CodeIdTokenInterface',
+ );
+
+ /**
+ * @param mixed $storage (array or OAuth2\Storage) - single object or array of objects implementing the
+ * required storage types (ClientCredentialsInterface and AccessTokenInterface as a minimum)
+ * @param array $config specify a different token lifetime, token header name, etc
+ * @param array $grantTypes An array of OAuth2\GrantType\GrantTypeInterface to use for granting access tokens
+ * @param array $responseTypes Response types to use. array keys should be "code" and and "token" for
+ * Access Token and Authorization Code response types
+ * @param \OAuth2\TokenType\TokenTypeInterface $tokenType The token type object to use. Valid token types are "bearer" and "mac"
+ * @param \OAuth2\ScopeInterface $scopeUtil The scope utility class to use to validate scope
+ * @param \OAuth2\ClientAssertionType\ClientAssertionTypeInterface $clientAssertionType The method in which to verify the client identity. Default is HttpBasic
+ *
+ * @ingroup oauth2_section_7
+ */
+ public function __construct($storage = array(), array $config = array(), array $grantTypes = array(), array $responseTypes = array(), TokenTypeInterface $tokenType = null, ScopeInterface $scopeUtil = null, ClientAssertionTypeInterface $clientAssertionType = null)
+ {
+ $storage = is_array($storage) ? $storage : array($storage);
+ $this->storages = array();
+ foreach ($storage as $key => $service) {
+ $this->addStorage($service, $key);
+ }
+
+ // merge all config values. These get passed to our controller objects
+ $this->config = array_merge(array(
+ 'use_jwt_access_tokens' => false,
+ 'store_encrypted_token_string' => true,
+ 'use_openid_connect' => false,
+ 'id_lifetime' => 3600,
+ 'access_lifetime' => 3600,
+ 'www_realm' => 'Service',
+ 'token_param_name' => 'access_token',
+ 'token_bearer_header_name' => 'Bearer',
+ 'enforce_state' => true,
+ 'require_exact_redirect_uri' => true,
+ 'allow_implicit' => false,
+ 'allow_credentials_in_request_body' => true,
+ 'allow_public_clients' => true,
+ 'always_issue_new_refresh_token' => false,
+ 'unset_refresh_token_after_use' => true,
+ ), $config);
+
+ foreach ($grantTypes as $key => $grantType) {
+ $this->addGrantType($grantType, $key);
+ }
+
+ foreach ($responseTypes as $key => $responseType) {
+ $this->addResponseType($responseType, $key);
+ }
+
+ $this->tokenType = $tokenType;
+ $this->scopeUtil = $scopeUtil;
+ $this->clientAssertionType = $clientAssertionType;
+
+ if ($this->config['use_openid_connect']) {
+ $this->validateOpenIdConnect();
+ }
+ }
+
+ public function getAuthorizeController()
+ {
+ if (is_null($this->authorizeController)) {
+ $this->authorizeController = $this->createDefaultAuthorizeController();
+ }
+
+ return $this->authorizeController;
+ }
+
+ public function getTokenController()
+ {
+ if (is_null($this->tokenController)) {
+ $this->tokenController = $this->createDefaultTokenController();
+ }
+
+ return $this->tokenController;
+ }
+
+ public function getResourceController()
+ {
+ if (is_null($this->resourceController)) {
+ $this->resourceController = $this->createDefaultResourceController();
+ }
+
+ return $this->resourceController;
+ }
+
+ public function getUserInfoController()
+ {
+ if (is_null($this->userInfoController)) {
+ $this->userInfoController = $this->createDefaultUserInfoController();
+ }
+
+ return $this->userInfoController;
+ }
+
+ /**
+ * every getter deserves a setter
+ *
+ * @param AuthorizeControllerInterface $authorizeController
+ */
+ public function setAuthorizeController(AuthorizeControllerInterface $authorizeController)
+ {
+ $this->authorizeController = $authorizeController;
+ }
+
+ /**
+ * every getter deserves a setter
+ *
+ * @param TokenControllerInterface $tokenController
+ */
+ public function setTokenController(TokenControllerInterface $tokenController)
+ {
+ $this->tokenController = $tokenController;
+ }
+
+ /**
+ * every getter deserves a setter
+ *
+ * @param ResourceControllerInterface $resourceController
+ */
+ public function setResourceController(ResourceControllerInterface $resourceController)
+ {
+ $this->resourceController = $resourceController;
+ }
+
+ /**
+ * every getter deserves a setter
+ *
+ * @param UserInfoControllerInterface $userInfoController
+ */
+ public function setUserInfoController(UserInfoControllerInterface $userInfoController)
+ {
+ $this->userInfoController = $userInfoController;
+ }
+
+ /**
+ * Return claims about the authenticated end-user.
+ * This would be called from the "/UserInfo" endpoint as defined in the spec.
+ *
+ * @param $request - \OAuth2\RequestInterface
+ * Request object to grant access token
+ *
+ * @param $response - \OAuth2\ResponseInterface
+ * Response object containing error messages (failure) or user claims (success)
+ *
+ * @return ResponseInterface
+ *
+ * @throws \InvalidArgumentException
+ * @throws \LogicException
+ *
+ * @see http://openid.net/specs/openid-connect-core-1_0.html#UserInfo
+ */
+ public function handleUserInfoRequest(RequestInterface $request, ResponseInterface $response = null)
+ {
+ $this->response = is_null($response) ? new Response() : $response;
+ $this->getUserInfoController()->handleUserInfoRequest($request, $this->response);
+
+ return $this->response;
+ }
+
+ /**
+ * Grant or deny a requested access token.
+ * This would be called from the "/token" endpoint as defined in the spec.
+ * Obviously, you can call your endpoint whatever you want.
+ *
+ * @param $request - \OAuth2\RequestInterface
+ * Request object to grant access token
+ *
+ * @param $response - \OAuth2\ResponseInterface
+ * Response object containing error messages (failure) or access token (success)
+ *
+ * @return ResponseInterface
+ *
+ * @throws \InvalidArgumentException
+ * @throws \LogicException
+ *
+ * @see http://tools.ietf.org/html/rfc6749#section-4
+ * @see http://tools.ietf.org/html/rfc6749#section-10.6
+ * @see http://tools.ietf.org/html/rfc6749#section-4.1.3
+ *
+ * @ingroup oauth2_section_4
+ */
+ public function handleTokenRequest(RequestInterface $request, ResponseInterface $response = null)
+ {
+ $this->response = is_null($response) ? new Response() : $response;
+ $this->getTokenController()->handleTokenRequest($request, $this->response);
+
+ return $this->response;
+ }
+
+ public function grantAccessToken(RequestInterface $request, ResponseInterface $response = null)
+ {
+ $this->response = is_null($response) ? new Response() : $response;
+ $value = $this->getTokenController()->grantAccessToken($request, $this->response);
+
+ return $value;
+ }
+
+ /**
+ * Handle a revoke token request
+ * This would be called from the "/revoke" endpoint as defined in the draft Token Revocation spec
+ *
+ * @see https://tools.ietf.org/html/rfc7009#section-2
+ *
+ * @param RequestInterface $request
+ * @param ResponseInterface $response
+ * @return Response|ResponseInterface
+ */
+ public function handleRevokeRequest(RequestInterface $request, ResponseInterface $response = null)
+ {
+ $this->response = is_null($response) ? new Response() : $response;
+ $this->getTokenController()->handleRevokeRequest($request, $this->response);
+
+ return $this->response;
+ }
+
+ /**
+ * Redirect the user appropriately after approval.
+ *
+ * After the user has approved or denied the resource request the
+ * authorization server should call this function to redirect the user
+ * appropriately.
+ *
+ * @param $request
+ * The request should have the follow parameters set in the querystring:
+ * - response_type: The requested response: an access token, an
+ * authorization code, or both.
+ * - client_id: The client identifier as described in Section 2.
+ * - redirect_uri: An absolute URI to which the authorization server
+ * will redirect the user-agent to when the end-user authorization
+ * step is completed.
+ * - scope: (optional) The scope of the resource request expressed as a
+ * list of space-delimited strings.
+ * - state: (optional) An opaque value used by the client to maintain
+ * state between the request and callback.
+ * @param ResponseInterface $response
+ * @param $is_authorized
+ * TRUE or FALSE depending on whether the user authorized the access.
+ * @param $user_id
+ * Identifier of user who authorized the client
+ *
+ * @return Response
+ *
+ * @see http://tools.ietf.org/html/rfc6749#section-4
+ *
+ * @ingroup oauth2_section_4
+ */
+ public function handleAuthorizeRequest(RequestInterface $request, ResponseInterface $response, $is_authorized, $user_id = null)
+ {
+ $this->response = $response;
+ $this->getAuthorizeController()->handleAuthorizeRequest($request, $this->response, $is_authorized, $user_id);
+
+ return $this->response;
+ }
+
+ /**
+ * Pull the authorization request data out of the HTTP request.
+ * - The redirect_uri is OPTIONAL as per draft 20. But your implementation can enforce it
+ * by setting $config['enforce_redirect'] to true.
+ * - The state is OPTIONAL but recommended to enforce CSRF. Draft 21 states, however, that
+ * CSRF protection is MANDATORY. You can enforce this by setting the $config['enforce_state'] to true.
+ *
+ * The draft specifies that the parameters should be retrieved from GET, override the Response
+ * object to change this
+ *
+ * @return
+ * The authorization parameters so the authorization server can prompt
+ * the user for approval if valid.
+ *
+ * @see http://tools.ietf.org/html/rfc6749#section-4.1.1
+ * @see http://tools.ietf.org/html/rfc6749#section-10.12
+ *
+ * @ingroup oauth2_section_3
+ */
+ public function validateAuthorizeRequest(RequestInterface $request, ResponseInterface $response = null)
+ {
+ $this->response = is_null($response) ? new Response() : $response;
+ $value = $this->getAuthorizeController()->validateAuthorizeRequest($request, $this->response);
+
+ return $value;
+ }
+
+ public function verifyResourceRequest(RequestInterface $request, ResponseInterface $response = null, $scope = null)
+ {
+ $this->response = is_null($response) ? new Response() : $response;
+ $value = $this->getResourceController()->verifyResourceRequest($request, $this->response, $scope);
+
+ return $value;
+ }
+
+ public function getAccessTokenData(RequestInterface $request, ResponseInterface $response = null)
+ {
+ $this->response = is_null($response) ? new Response() : $response;
+ $value = $this->getResourceController()->getAccessTokenData($request, $this->response);
+
+ return $value;
+ }
+
+ public function addGrantType(GrantTypeInterface $grantType, $identifier = null)
+ {
+ if (!is_string($identifier)) {
+ $identifier = $grantType->getQuerystringIdentifier();
+ }
+
+ $this->grantTypes[$identifier] = $grantType;
+
+ // persist added grant type down to TokenController
+ if (!is_null($this->tokenController)) {
+ $this->getTokenController()->addGrantType($grantType, $identifier);
+ }
+ }
+
+ /**
+ * Set a storage object for the server
+ *
+ * @param $storage
+ * An object implementing one of the Storage interfaces
+ * @param $key
+ * If null, the storage is set to the key of each storage interface it implements
+ *
+ * @see storageMap
+ */
+ public function addStorage($storage, $key = null)
+ {
+ // if explicitly set to a valid key, do not "magically" set below
+ if (isset($this->storageMap[$key])) {
+ if (!is_null($storage) && !$storage instanceof $this->storageMap[$key]) {
+ throw new \InvalidArgumentException(sprintf('storage of type "%s" must implement interface "%s"', $key, $this->storageMap[$key]));
+ }
+ $this->storages[$key] = $storage;
+
+ // special logic to handle "client" and "client_credentials" strangeness
+ if ($key === 'client' && !isset($this->storages['client_credentials'])) {
+ if ($storage instanceof \OAuth2\Storage\ClientCredentialsInterface) {
+ $this->storages['client_credentials'] = $storage;
+ }
+ } elseif ($key === 'client_credentials' && !isset($this->storages['client'])) {
+ if ($storage instanceof \OAuth2\Storage\ClientInterface) {
+ $this->storages['client'] = $storage;
+ }
+ }
+ } elseif (!is_null($key) && !is_numeric($key)) {
+ throw new \InvalidArgumentException(sprintf('unknown storage key "%s", must be one of [%s]', $key, implode(', ', array_keys($this->storageMap))));
+ } else {
+ $set = false;
+ foreach ($this->storageMap as $type => $interface) {
+ if ($storage instanceof $interface) {
+ $this->storages[$type] = $storage;
+ $set = true;
+ }
+ }
+
+ if (!$set) {
+ throw new \InvalidArgumentException(sprintf('storage of class "%s" must implement one of [%s]', get_class($storage), implode(', ', $this->storageMap)));
+ }
+ }
+ }
+
+ public function addResponseType(ResponseTypeInterface $responseType, $key = null)
+ {
+ $key = $this->normalizeResponseType($key);
+
+ if (isset($this->responseTypeMap[$key])) {
+ if (!$responseType instanceof $this->responseTypeMap[$key]) {
+ throw new \InvalidArgumentException(sprintf('responseType of type "%s" must implement interface "%s"', $key, $this->responseTypeMap[$key]));
+ }
+ $this->responseTypes[$key] = $responseType;
+ } elseif (!is_null($key) && !is_numeric($key)) {
+ throw new \InvalidArgumentException(sprintf('unknown responseType key "%s", must be one of [%s]', $key, implode(', ', array_keys($this->responseTypeMap))));
+ } else {
+ $set = false;
+ foreach ($this->responseTypeMap as $type => $interface) {
+ if ($responseType instanceof $interface) {
+ $this->responseTypes[$type] = $responseType;
+ $set = true;
+ }
+ }
+
+ if (!$set) {
+ throw new \InvalidArgumentException(sprintf('Unknown response type %s. Please implement one of [%s]', get_class($responseType), implode(', ', $this->responseTypeMap)));
+ }
+ }
+ }
+
+ public function getScopeUtil()
+ {
+ if (!$this->scopeUtil) {
+ $storage = isset($this->storages['scope']) ? $this->storages['scope'] : null;
+ $this->scopeUtil = new Scope($storage);
+ }
+
+ return $this->scopeUtil;
+ }
+
+ /**
+ * every getter deserves a setter
+ *
+ * @param ScopeInterface $scopeUtil
+ */
+ public function setScopeUtil($scopeUtil)
+ {
+ $this->scopeUtil = $scopeUtil;
+ }
+
+ protected function createDefaultAuthorizeController()
+ {
+ if (!isset($this->storages['client'])) {
+ throw new \LogicException('You must supply a storage object implementing \OAuth2\Storage\ClientInterface to use the authorize server');
+ }
+ if (0 == count($this->responseTypes)) {
+ $this->responseTypes = $this->getDefaultResponseTypes();
+ }
+ if ($this->config['use_openid_connect'] && !isset($this->responseTypes['id_token'])) {
+ $this->responseTypes['id_token'] = $this->createDefaultIdTokenResponseType();
+ if ($this->config['allow_implicit']) {
+ $this->responseTypes['id_token token'] = $this->createDefaultIdTokenTokenResponseType();
+ }
+ }
+
+ $config = array_intersect_key($this->config, array_flip(explode(' ', 'allow_implicit enforce_state require_exact_redirect_uri')));
+
+ if ($this->config['use_openid_connect']) {
+ return new OpenIDAuthorizeController($this->storages['client'], $this->responseTypes, $config, $this->getScopeUtil());
+ }
+
+ return new AuthorizeController($this->storages['client'], $this->responseTypes, $config, $this->getScopeUtil());
+ }
+
+ protected function createDefaultTokenController()
+ {
+ if (0 == count($this->grantTypes)) {
+ $this->grantTypes = $this->getDefaultGrantTypes();
+ }
+
+ if (is_null($this->clientAssertionType)) {
+ // see if HttpBasic assertion type is requred. If so, then create it from storage classes.
+ foreach ($this->grantTypes as $grantType) {
+ if (!$grantType instanceof ClientAssertionTypeInterface) {
+ if (!isset($this->storages['client_credentials'])) {
+ throw new \LogicException('You must supply a storage object implementing OAuth2\Storage\ClientCredentialsInterface to use the token server');
+ }
+ $config = array_intersect_key($this->config, array_flip(explode(' ', 'allow_credentials_in_request_body allow_public_clients')));
+ $this->clientAssertionType = new HttpBasic($this->storages['client_credentials'], $config);
+ break;
+ }
+ }
+ }
+
+ if (!isset($this->storages['client'])) {
+ throw new \LogicException('You must supply a storage object implementing OAuth2\Storage\ClientInterface to use the token server');
+ }
+
+ $accessTokenResponseType = $this->getAccessTokenResponseType();
+
+ return new TokenController($accessTokenResponseType, $this->storages['client'], $this->grantTypes, $this->clientAssertionType, $this->getScopeUtil());
+ }
+
+ protected function createDefaultResourceController()
+ {
+ if ($this->config['use_jwt_access_tokens']) {
+ // overwrites access token storage with crypto token storage if "use_jwt_access_tokens" is set
+ if (!isset($this->storages['access_token']) || !$this->storages['access_token'] instanceof JwtAccessTokenInterface) {
+ $this->storages['access_token'] = $this->createDefaultJwtAccessTokenStorage();
+ }
+ } elseif (!isset($this->storages['access_token'])) {
+ throw new \LogicException('You must supply a storage object implementing OAuth2\Storage\AccessTokenInterface or use JwtAccessTokens to use the resource server');
+ }
+
+ if (!$this->tokenType) {
+ $this->tokenType = $this->getDefaultTokenType();
+ }
+
+ $config = array_intersect_key($this->config, array('www_realm' => ''));
+
+ return new ResourceController($this->tokenType, $this->storages['access_token'], $config, $this->getScopeUtil());
+ }
+
+ protected function createDefaultUserInfoController()
+ {
+ if ($this->config['use_jwt_access_tokens']) {
+ // overwrites access token storage with crypto token storage if "use_jwt_access_tokens" is set
+ if (!isset($this->storages['access_token']) || !$this->storages['access_token'] instanceof JwtAccessTokenInterface) {
+ $this->storages['access_token'] = $this->createDefaultJwtAccessTokenStorage();
+ }
+ } elseif (!isset($this->storages['access_token'])) {
+ throw new \LogicException('You must supply a storage object implementing OAuth2\Storage\AccessTokenInterface or use JwtAccessTokens to use the UserInfo server');
+ }
+
+ if (!isset($this->storages['user_claims'])) {
+ throw new \LogicException('You must supply a storage object implementing OAuth2\OpenID\Storage\UserClaimsInterface to use the UserInfo server');
+ }
+
+ if (!$this->tokenType) {
+ $this->tokenType = $this->getDefaultTokenType();
+ }
+
+ $config = array_intersect_key($this->config, array('www_realm' => ''));
+
+ return new UserInfoController($this->tokenType, $this->storages['access_token'], $this->storages['user_claims'], $config, $this->getScopeUtil());
+ }
+
+ protected function getDefaultTokenType()
+ {
+ $config = array_intersect_key($this->config, array_flip(explode(' ', 'token_param_name token_bearer_header_name')));
+
+ return new Bearer($config);
+ }
+
+ protected function getDefaultResponseTypes()
+ {
+ $responseTypes = array();
+
+ if ($this->config['allow_implicit']) {
+ $responseTypes['token'] = $this->getAccessTokenResponseType();
+ }
+
+ if ($this->config['use_openid_connect']) {
+ $responseTypes['id_token'] = $this->getIdTokenResponseType();
+ if ($this->config['allow_implicit']) {
+ $responseTypes['id_token token'] = $this->getIdTokenTokenResponseType();
+ }
+ }
+
+ if (isset($this->storages['authorization_code'])) {
+ $config = array_intersect_key($this->config, array_flip(explode(' ', 'enforce_redirect auth_code_lifetime')));
+ if ($this->config['use_openid_connect']) {
+ if (!$this->storages['authorization_code'] instanceof OpenIDAuthorizationCodeInterface) {
+ throw new \LogicException('Your authorization_code storage must implement OAuth2\OpenID\Storage\AuthorizationCodeInterface to work when "use_openid_connect" is true');
+ }
+ $responseTypes['code'] = new OpenIDAuthorizationCodeResponseType($this->storages['authorization_code'], $config);
+ $responseTypes['code id_token'] = new CodeIdToken($responseTypes['code'], $responseTypes['id_token']);
+ } else {
+ $responseTypes['code'] = new AuthorizationCodeResponseType($this->storages['authorization_code'], $config);
+ }
+ }
+
+ if (count($responseTypes) == 0) {
+ throw new \LogicException('You must supply an array of response_types in the constructor or implement a OAuth2\Storage\AuthorizationCodeInterface storage object or set "allow_implicit" to true and implement a OAuth2\Storage\AccessTokenInterface storage object');
+ }
+
+ return $responseTypes;
+ }
+
+ protected function getDefaultGrantTypes()
+ {
+ $grantTypes = array();
+
+ if (isset($this->storages['user_credentials'])) {
+ $grantTypes['password'] = new UserCredentials($this->storages['user_credentials']);
+ }
+
+ if (isset($this->storages['client_credentials'])) {
+ $config = array_intersect_key($this->config, array('allow_credentials_in_request_body' => ''));
+ $grantTypes['client_credentials'] = new ClientCredentials($this->storages['client_credentials'], $config);
+ }
+
+ if (isset($this->storages['refresh_token'])) {
+ $config = array_intersect_key($this->config, array_flip(explode(' ', 'always_issue_new_refresh_token unset_refresh_token_after_use')));
+ $grantTypes['refresh_token'] = new RefreshToken($this->storages['refresh_token'], $config);
+ }
+
+ if (isset($this->storages['authorization_code'])) {
+ if ($this->config['use_openid_connect']) {
+ if (!$this->storages['authorization_code'] instanceof OpenIDAuthorizationCodeInterface) {
+ throw new \LogicException('Your authorization_code storage must implement OAuth2\OpenID\Storage\AuthorizationCodeInterface to work when "use_openid_connect" is true');
+ }
+ $grantTypes['authorization_code'] = new OpenIDAuthorizationCodeGrantType($this->storages['authorization_code']);
+ } else {
+ $grantTypes['authorization_code'] = new AuthorizationCode($this->storages['authorization_code']);
+ }
+ }
+
+ if (count($grantTypes) == 0) {
+ throw new \LogicException('Unable to build default grant types - You must supply an array of grant_types in the constructor');
+ }
+
+ return $grantTypes;
+ }
+
+ protected function getAccessTokenResponseType()
+ {
+ if (isset($this->responseTypes['token'])) {
+ return $this->responseTypes['token'];
+ }
+
+ if ($this->config['use_jwt_access_tokens']) {
+ return $this->createDefaultJwtAccessTokenResponseType();
+ }
+
+ return $this->createDefaultAccessTokenResponseType();
+ }
+
+ protected function getIdTokenResponseType()
+ {
+ if (isset($this->responseTypes['id_token'])) {
+ return $this->responseTypes['id_token'];
+ }
+
+ return $this->createDefaultIdTokenResponseType();
+ }
+
+ protected function getIdTokenTokenResponseType()
+ {
+ if (isset($this->responseTypes['id_token token'])) {
+ return $this->responseTypes['id_token token'];
+ }
+
+ return $this->createDefaultIdTokenTokenResponseType();
+ }
+
+ /**
+ * For Resource Controller
+ */
+ protected function createDefaultJwtAccessTokenStorage()
+ {
+ if (!isset($this->storages['public_key'])) {
+ throw new \LogicException('You must supply a storage object implementing OAuth2\Storage\PublicKeyInterface to use crypto tokens');
+ }
+ $tokenStorage = null;
+ if (!empty($this->config['store_encrypted_token_string']) && isset($this->storages['access_token'])) {
+ $tokenStorage = $this->storages['access_token'];
+ }
+ // wrap the access token storage as required.
+ return new JwtAccessTokenStorage($this->storages['public_key'], $tokenStorage);
+ }
+
+ /**
+ * For Authorize and Token Controllers
+ */
+ protected function createDefaultJwtAccessTokenResponseType()
+ {
+ if (!isset($this->storages['public_key'])) {
+ throw new \LogicException('You must supply a storage object implementing OAuth2\Storage\PublicKeyInterface to use crypto tokens');
+ }
+
+ $tokenStorage = null;
+ if (isset($this->storages['access_token'])) {
+ $tokenStorage = $this->storages['access_token'];
+ }
+
+ $refreshStorage = null;
+ if (isset($this->storages['refresh_token'])) {
+ $refreshStorage = $this->storages['refresh_token'];
+ }
+
+ $config = array_intersect_key($this->config, array_flip(explode(' ', 'store_encrypted_token_string issuer access_lifetime refresh_token_lifetime')));
+
+ return new JwtAccessToken($this->storages['public_key'], $tokenStorage, $refreshStorage, $config);
+ }
+
+ protected function createDefaultAccessTokenResponseType()
+ {
+ if (!isset($this->storages['access_token'])) {
+ throw new \LogicException('You must supply a response type implementing OAuth2\ResponseType\AccessTokenInterface, or a storage object implementing OAuth2\Storage\AccessTokenInterface to use the token server');
+ }
+
+ $refreshStorage = null;
+ if (isset($this->storages['refresh_token'])) {
+ $refreshStorage = $this->storages['refresh_token'];
+ }
+
+ $config = array_intersect_key($this->config, array_flip(explode(' ', 'access_lifetime refresh_token_lifetime')));
+ $config['token_type'] = $this->tokenType ? $this->tokenType->getTokenType() : $this->getDefaultTokenType()->getTokenType();
+
+ return new AccessToken($this->storages['access_token'], $refreshStorage, $config);
+ }
+
+ protected function createDefaultIdTokenResponseType()
+ {
+ if (!isset($this->storages['user_claims'])) {
+ throw new \LogicException('You must supply a storage object implementing OAuth2\OpenID\Storage\UserClaimsInterface to use openid connect');
+ }
+ if (!isset($this->storages['public_key'])) {
+ throw new \LogicException('You must supply a storage object implementing OAuth2\Storage\PublicKeyInterface to use openid connect');
+ }
+
+ $config = array_intersect_key($this->config, array_flip(explode(' ', 'issuer id_lifetime')));
+
+ return new IdToken($this->storages['user_claims'], $this->storages['public_key'], $config);
+ }
+
+ protected function createDefaultIdTokenTokenResponseType()
+ {
+ return new IdTokenToken($this->getAccessTokenResponseType(), $this->getIdTokenResponseType());
+ }
+
+ protected function validateOpenIdConnect()
+ {
+ $authCodeGrant = $this->getGrantType('authorization_code');
+ if (!empty($authCodeGrant) && !$authCodeGrant instanceof OpenIDAuthorizationCodeGrantType) {
+ throw new \InvalidArgumentException('You have enabled OpenID Connect, but supplied a grant type that does not support it.');
+ }
+ }
+
+ protected function normalizeResponseType($name)
+ {
+ // for multiple-valued response types - make them alphabetical
+ if (!empty($name) && false !== strpos($name, ' ')) {
+ $types = explode(' ', $name);
+ sort($types);
+ $name = implode(' ', $types);
+ }
+
+ return $name;
+ }
+
+ public function getResponse()
+ {
+ return $this->response;
+ }
+
+ public function getStorages()
+ {
+ return $this->storages;
+ }
+
+ public function getStorage($name)
+ {
+ return isset($this->storages[$name]) ? $this->storages[$name] : null;
+ }
+
+ public function getGrantTypes()
+ {
+ return $this->grantTypes;
+ }
+
+ public function getGrantType($name)
+ {
+ return isset($this->grantTypes[$name]) ? $this->grantTypes[$name] : null;
+ }
+
+ public function getResponseTypes()
+ {
+ return $this->responseTypes;
+ }
+
+ public function getResponseType($name)
+ {
+ // for multiple-valued response types - make them alphabetical
+ $name = $this->normalizeResponseType($name);
+
+ return isset($this->responseTypes[$name]) ? $this->responseTypes[$name] : null;
+ }
+
+ public function getTokenType()
+ {
+ return $this->tokenType;
+ }
+
+ public function getClientAssertionType()
+ {
+ return $this->clientAssertionType;
+ }
+
+ public function setConfig($name, $value)
+ {
+ $this->config[$name] = $value;
+ }
+
+ public function getConfig($name, $default = null)
+ {
+ return isset($this->config[$name]) ? $this->config[$name] : $default;
+ }
+}
diff --git a/vendor/bshaffer/oauth2-server-php/src/OAuth2/Storage/AccessTokenInterface.php b/vendor/bshaffer/oauth2-server-php/src/OAuth2/Storage/AccessTokenInterface.php
new file mode 100644
index 000000000..1819158af
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/src/OAuth2/Storage/AccessTokenInterface.php
@@ -0,0 +1,64 @@
+<?php
+
+namespace OAuth2\Storage;
+
+/**
+ * Implement this interface to specify where the OAuth2 Server
+ * should get/save access tokens
+ *
+ * @author Brent Shaffer <bshafs at gmail dot com>
+ */
+interface AccessTokenInterface
+{
+ /**
+ * Look up the supplied oauth_token from storage.
+ *
+ * We need to retrieve access token data as we create and verify tokens.
+ *
+ * @param $oauth_token
+ * oauth_token to be check with.
+ *
+ * @return
+ * An associative array as below, and return NULL if the supplied oauth_token
+ * is invalid:
+ * - expires: Stored expiration in unix timestamp.
+ * - client_id: (optional) Stored client identifier.
+ * - user_id: (optional) Stored user identifier.
+ * - scope: (optional) Stored scope values in space-separated string.
+ * - id_token: (optional) Stored id_token (if "use_openid_connect" is true).
+ *
+ * @ingroup oauth2_section_7
+ */
+ public function getAccessToken($oauth_token);
+
+ /**
+ * Store the supplied access token values to storage.
+ *
+ * We need to store access token data as we create and verify tokens.
+ *
+ * @param $oauth_token oauth_token to be stored.
+ * @param $client_id client identifier to be stored.
+ * @param $user_id user identifier to be stored.
+ * @param int $expires expiration to be stored as a Unix timestamp.
+ * @param string $scope OPTIONAL Scopes to be stored in space-separated string.
+ *
+ * @ingroup oauth2_section_4
+ */
+ public function setAccessToken($oauth_token, $client_id, $user_id, $expires, $scope = null);
+
+ /**
+ * Expire an access token.
+ *
+ * This is not explicitly required in the spec, but if defined in a draft RFC for token
+ * revoking (RFC 7009) https://tools.ietf.org/html/rfc7009
+ *
+ * @param $access_token
+ * Access token to be expired.
+ *
+ * @return BOOL true if an access token was unset, false if not
+ * @ingroup oauth2_section_6
+ *
+ * @todo v2.0 include this method in interface. Omitted to maintain BC in v1.x
+ */
+ //public function unsetAccessToken($access_token);
+}
diff --git a/vendor/bshaffer/oauth2-server-php/src/OAuth2/Storage/AuthorizationCodeInterface.php b/vendor/bshaffer/oauth2-server-php/src/OAuth2/Storage/AuthorizationCodeInterface.php
new file mode 100644
index 000000000..edc7c70e5
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/src/OAuth2/Storage/AuthorizationCodeInterface.php
@@ -0,0 +1,86 @@
+<?php
+
+namespace OAuth2\Storage;
+
+/**
+ * Implement this interface to specify where the OAuth2 Server
+ * should get/save authorization codes for the "Authorization Code"
+ * grant type
+ *
+ * @author Brent Shaffer <bshafs at gmail dot com>
+ */
+interface AuthorizationCodeInterface
+{
+ /**
+ * The Authorization Code grant type supports a response type of "code".
+ *
+ * @var string
+ * @see http://tools.ietf.org/html/rfc6749#section-1.4.1
+ * @see http://tools.ietf.org/html/rfc6749#section-4.2
+ */
+ const RESPONSE_TYPE_CODE = "code";
+
+ /**
+ * Fetch authorization code data (probably the most common grant type).
+ *
+ * Retrieve the stored data for the given authorization code.
+ *
+ * Required for OAuth2::GRANT_TYPE_AUTH_CODE.
+ *
+ * @param $code
+ * Authorization code to be check with.
+ *
+ * @return
+ * An associative array as below, and NULL if the code is invalid
+ * @code
+ * return array(
+ * "client_id" => CLIENT_ID, // REQUIRED Stored client identifier
+ * "user_id" => USER_ID, // REQUIRED Stored user identifier
+ * "expires" => EXPIRES, // REQUIRED Stored expiration in unix timestamp
+ * "redirect_uri" => REDIRECT_URI, // REQUIRED Stored redirect URI
+ * "scope" => SCOPE, // OPTIONAL Stored scope values in space-separated string
+ * );
+ * @endcode
+ *
+ * @see http://tools.ietf.org/html/rfc6749#section-4.1
+ *
+ * @ingroup oauth2_section_4
+ */
+ public function getAuthorizationCode($code);
+
+ /**
+ * Take the provided authorization code values and store them somewhere.
+ *
+ * This function should be the storage counterpart to getAuthCode().
+ *
+ * If storage fails for some reason, we're not currently checking for
+ * any sort of success/failure, so you should bail out of the script
+ * and provide a descriptive fail message.
+ *
+ * Required for OAuth2::GRANT_TYPE_AUTH_CODE.
+ *
+ * @param string $code Authorization code to be stored.
+ * @param mixed $client_id Client identifier to be stored.
+ * @param mixed $user_id User identifier to be stored.
+ * @param string $redirect_uri Redirect URI(s) to be stored in a space-separated string.
+ * @param int $expires Expiration to be stored as a Unix timestamp.
+ * @param string $scope OPTIONAL Scopes to be stored in space-separated string.
+ *
+ * @ingroup oauth2_section_4
+ */
+ public function setAuthorizationCode($code, $client_id, $user_id, $redirect_uri, $expires, $scope = null);
+
+ /**
+ * once an Authorization Code is used, it must be expired
+ *
+ * @see http://tools.ietf.org/html/rfc6749#section-4.1.2
+ *
+ * The client MUST NOT use the authorization code
+ * more than once. If an authorization code is used more than
+ * once, the authorization server MUST deny the request and SHOULD
+ * revoke (when possible) all tokens previously issued based on
+ * that authorization code
+ *
+ */
+ public function expireAuthorizationCode($code);
+}
diff --git a/vendor/bshaffer/oauth2-server-php/src/OAuth2/Storage/Cassandra.php b/vendor/bshaffer/oauth2-server-php/src/OAuth2/Storage/Cassandra.php
new file mode 100644
index 000000000..c5048c08d
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/src/OAuth2/Storage/Cassandra.php
@@ -0,0 +1,480 @@
+<?php
+
+namespace OAuth2\Storage;
+
+use phpcassa\ColumnFamily;
+use phpcassa\ColumnSlice;
+use phpcassa\Connection\ConnectionPool;
+use OAuth2\OpenID\Storage\UserClaimsInterface;
+use OAuth2\OpenID\Storage\AuthorizationCodeInterface as OpenIDAuthorizationCodeInterface;
+
+/**
+ * Cassandra storage for all storage types
+ *
+ * To use, install "thobbs/phpcassa" via composer
+ * <code>
+ * composer require thobbs/phpcassa:dev-master
+ * </code>
+ *
+ * Once this is done, instantiate the
+ * <code>
+ * $cassandra = new \phpcassa\Connection\ConnectionPool('oauth2_server', array('127.0.0.1:9160'));
+ * </code>
+ *
+ * Then, register the storage client:
+ * <code>
+ * $storage = new OAuth2\Storage\Cassandra($cassandra);
+ * $storage->setClientDetails($client_id, $client_secret, $redirect_uri);
+ * </code>
+ *
+ * @see test/lib/OAuth2/Storage/Bootstrap::getCassandraStorage
+ */
+class Cassandra implements AuthorizationCodeInterface,
+ AccessTokenInterface,
+ ClientCredentialsInterface,
+ UserCredentialsInterface,
+ RefreshTokenInterface,
+ JwtBearerInterface,
+ ScopeInterface,
+ PublicKeyInterface,
+ UserClaimsInterface,
+ OpenIDAuthorizationCodeInterface
+{
+
+ private $cache;
+
+ /* The cassandra client */
+ protected $cassandra;
+
+ /* Configuration array */
+ protected $config;
+
+ /**
+ * Cassandra Storage! uses phpCassa
+ *
+ * @param \phpcassa\ConnectionPool $cassandra
+ * @param array $config
+ */
+ public function __construct($connection = array(), array $config = array())
+ {
+ if ($connection instanceof ConnectionPool) {
+ $this->cassandra = $connection;
+ } else {
+ if (!is_array($connection)) {
+ throw new \InvalidArgumentException('First argument to OAuth2\Storage\Cassandra must be an instance of phpcassa\Connection\ConnectionPool or a configuration array');
+ }
+ $connection = array_merge(array(
+ 'keyspace' => 'oauth2',
+ 'servers' => null,
+ ), $connection);
+
+ $this->cassandra = new ConnectionPool($connection['keyspace'], $connection['servers']);
+ }
+
+ $this->config = array_merge(array(
+ // cassandra config
+ 'column_family' => 'auth',
+
+ // key names
+ 'client_key' => 'oauth_clients:',
+ 'access_token_key' => 'oauth_access_tokens:',
+ 'refresh_token_key' => 'oauth_refresh_tokens:',
+ 'code_key' => 'oauth_authorization_codes:',
+ 'user_key' => 'oauth_users:',
+ 'jwt_key' => 'oauth_jwt:',
+ 'scope_key' => 'oauth_scopes:',
+ 'public_key_key' => 'oauth_public_keys:',
+ ), $config);
+ }
+
+ protected function getValue($key)
+ {
+ if (isset($this->cache[$key])) {
+ return $this->cache[$key];
+ }
+ $cf = new ColumnFamily($this->cassandra, $this->config['column_family']);
+
+ try {
+ $value = $cf->get($key, new ColumnSlice("", ""));
+ $value = array_shift($value);
+ } catch (\cassandra\NotFoundException $e) {
+ return false;
+ }
+
+ return json_decode($value, true);
+ }
+
+ protected function setValue($key, $value, $expire = 0)
+ {
+ $this->cache[$key] = $value;
+
+ $cf = new ColumnFamily($this->cassandra, $this->config['column_family']);
+
+ $str = json_encode($value);
+ if ($expire > 0) {
+ try {
+ $seconds = $expire - time();
+ // __data key set as C* requires a field, note: max TTL can only be 630720000 seconds
+ $cf->insert($key, array('__data' => $str), null, $seconds);
+ } catch (\Exception $e) {
+ return false;
+ }
+ } else {
+ try {
+ // __data key set as C* requires a field
+ $cf->insert($key, array('__data' => $str));
+ } catch (\Exception $e) {
+ return false;
+ }
+ }
+
+ return true;
+ }
+
+ protected function expireValue($key)
+ {
+ unset($this->cache[$key]);
+
+ $cf = new ColumnFamily($this->cassandra, $this->config['column_family']);
+
+ if ($cf->get_count($key) > 0) {
+ try {
+ // __data key set as C* requires a field
+ $cf->remove($key, array('__data'));
+ } catch (\Exception $e) {
+ return false;
+ }
+
+ return true;
+ }
+
+ return false;
+ }
+
+ /* AuthorizationCodeInterface */
+ public function getAuthorizationCode($code)
+ {
+ return $this->getValue($this->config['code_key'] . $code);
+ }
+
+ public function setAuthorizationCode($authorization_code, $client_id, $user_id, $redirect_uri, $expires, $scope = null, $id_token = null)
+ {
+ return $this->setValue(
+ $this->config['code_key'] . $authorization_code,
+ compact('authorization_code', 'client_id', 'user_id', 'redirect_uri', 'expires', 'scope', 'id_token'),
+ $expires
+ );
+ }
+
+ public function expireAuthorizationCode($code)
+ {
+ $key = $this->config['code_key'] . $code;
+ unset($this->cache[$key]);
+
+ return $this->expireValue($key);
+ }
+
+ /* UserCredentialsInterface */
+ public function checkUserCredentials($username, $password)
+ {
+ if ($user = $this->getUser($username)) {
+ return $this->checkPassword($user, $password);
+ }
+
+ return false;
+ }
+
+ // plaintext passwords are bad! Override this for your application
+ protected function checkPassword($user, $password)
+ {
+ return $user['password'] == $this->hashPassword($password);
+ }
+
+ // use a secure hashing algorithm when storing passwords. Override this for your application
+ protected function hashPassword($password)
+ {
+ return sha1($password);
+ }
+
+ public function getUserDetails($username)
+ {
+ return $this->getUser($username);
+ }
+
+ public function getUser($username)
+ {
+ if (!$userInfo = $this->getValue($this->config['user_key'] . $username)) {
+ return false;
+ }
+
+ // the default behavior is to use "username" as the user_id
+ return array_merge(array(
+ 'user_id' => $username,
+ ), $userInfo);
+ }
+
+ public function setUser($username, $password, $first_name = null, $last_name = null)
+ {
+ $password = $this->hashPassword($password);
+
+ return $this->setValue(
+ $this->config['user_key'] . $username,
+ compact('username', 'password', 'first_name', 'last_name')
+ );
+ }
+
+ /* ClientCredentialsInterface */
+ public function checkClientCredentials($client_id, $client_secret = null)
+ {
+ if (!$client = $this->getClientDetails($client_id)) {
+ return false;
+ }
+
+ return isset($client['client_secret'])
+ && $client['client_secret'] == $client_secret;
+ }
+
+ public function isPublicClient($client_id)
+ {
+ if (!$client = $this->getClientDetails($client_id)) {
+ return false;
+ }
+
+ return empty($client['client_secret']);
+ }
+
+ /* ClientInterface */
+ public function getClientDetails($client_id)
+ {
+ return $this->getValue($this->config['client_key'] . $client_id);
+ }
+
+ public function setClientDetails($client_id, $client_secret = null, $redirect_uri = null, $grant_types = null, $scope = null, $user_id = null)
+ {
+ return $this->setValue(
+ $this->config['client_key'] . $client_id,
+ compact('client_id', 'client_secret', 'redirect_uri', 'grant_types', 'scope', 'user_id')
+ );
+ }
+
+ public function checkRestrictedGrantType($client_id, $grant_type)
+ {
+ $details = $this->getClientDetails($client_id);
+ if (isset($details['grant_types'])) {
+ $grant_types = explode(' ', $details['grant_types']);
+
+ return in_array($grant_type, (array) $grant_types);
+ }
+
+ // if grant_types are not defined, then none are restricted
+ return true;
+ }
+
+ /* RefreshTokenInterface */
+ public function getRefreshToken($refresh_token)
+ {
+ return $this->getValue($this->config['refresh_token_key'] . $refresh_token);
+ }
+
+ public function setRefreshToken($refresh_token, $client_id, $user_id, $expires, $scope = null)
+ {
+ return $this->setValue(
+ $this->config['refresh_token_key'] . $refresh_token,
+ compact('refresh_token', 'client_id', 'user_id', 'expires', 'scope'),
+ $expires
+ );
+ }
+
+ public function unsetRefreshToken($refresh_token)
+ {
+ return $this->expireValue($this->config['refresh_token_key'] . $refresh_token);
+ }
+
+ /* AccessTokenInterface */
+ public function getAccessToken($access_token)
+ {
+ return $this->getValue($this->config['access_token_key'].$access_token);
+ }
+
+ public function setAccessToken($access_token, $client_id, $user_id, $expires, $scope = null)
+ {
+ return $this->setValue(
+ $this->config['access_token_key'].$access_token,
+ compact('access_token', 'client_id', 'user_id', 'expires', 'scope'),
+ $expires
+ );
+ }
+
+ public function unsetAccessToken($access_token)
+ {
+ return $this->expireValue($this->config['access_token_key'] . $access_token);
+ }
+
+ /* ScopeInterface */
+ public function scopeExists($scope)
+ {
+ $scope = explode(' ', $scope);
+
+ $result = $this->getValue($this->config['scope_key'].'supported:global');
+
+ $supportedScope = explode(' ', (string) $result);
+
+ return (count(array_diff($scope, $supportedScope)) == 0);
+ }
+
+ public function getDefaultScope($client_id = null)
+ {
+ if (is_null($client_id) || !$result = $this->getValue($this->config['scope_key'].'default:'.$client_id)) {
+ $result = $this->getValue($this->config['scope_key'].'default:global');
+ }
+
+ return $result;
+ }
+
+ public function setScope($scope, $client_id = null, $type = 'supported')
+ {
+ if (!in_array($type, array('default', 'supported'))) {
+ throw new \InvalidArgumentException('"$type" must be one of "default", "supported"');
+ }
+
+ if (is_null($client_id)) {
+ $key = $this->config['scope_key'].$type.':global';
+ } else {
+ $key = $this->config['scope_key'].$type.':'.$client_id;
+ }
+
+ return $this->setValue($key, $scope);
+ }
+
+ /*JWTBearerInterface */
+ public function getClientKey($client_id, $subject)
+ {
+ if (!$jwt = $this->getValue($this->config['jwt_key'] . $client_id)) {
+ return false;
+ }
+
+ if (isset($jwt['subject']) && $jwt['subject'] == $subject ) {
+ return $jwt['key'];
+ }
+
+ return null;
+ }
+
+ public function setClientKey($client_id, $key, $subject = null)
+ {
+ return $this->setValue($this->config['jwt_key'] . $client_id, array(
+ 'key' => $key,
+ 'subject' => $subject
+ ));
+ }
+
+ /*ScopeInterface */
+ public function getClientScope($client_id)
+ {
+ if (!$clientDetails = $this->getClientDetails($client_id)) {
+ return false;
+ }
+
+ if (isset($clientDetails['scope'])) {
+ return $clientDetails['scope'];
+ }
+
+ return null;
+ }
+
+ public function getJti($client_id, $subject, $audience, $expiration, $jti)
+ {
+ //TODO: Needs cassandra implementation.
+ throw new \Exception('getJti() for the Cassandra driver is currently unimplemented.');
+ }
+
+ public function setJti($client_id, $subject, $audience, $expiration, $jti)
+ {
+ //TODO: Needs cassandra implementation.
+ throw new \Exception('setJti() for the Cassandra driver is currently unimplemented.');
+ }
+
+ /* PublicKeyInterface */
+ public function getPublicKey($client_id = '')
+ {
+ $public_key = $this->getValue($this->config['public_key_key'] . $client_id);
+ if (is_array($public_key)) {
+ return $public_key['public_key'];
+ }
+ $public_key = $this->getValue($this->config['public_key_key']);
+ if (is_array($public_key)) {
+ return $public_key['public_key'];
+ }
+ }
+
+ public function getPrivateKey($client_id = '')
+ {
+ $public_key = $this->getValue($this->config['public_key_key'] . $client_id);
+ if (is_array($public_key)) {
+ return $public_key['private_key'];
+ }
+ $public_key = $this->getValue($this->config['public_key_key']);
+ if (is_array($public_key)) {
+ return $public_key['private_key'];
+ }
+ }
+
+ public function getEncryptionAlgorithm($client_id = null)
+ {
+ $public_key = $this->getValue($this->config['public_key_key'] . $client_id);
+ if (is_array($public_key)) {
+ return $public_key['encryption_algorithm'];
+ }
+ $public_key = $this->getValue($this->config['public_key_key']);
+ if (is_array($public_key)) {
+ return $public_key['encryption_algorithm'];
+ }
+
+ return 'RS256';
+ }
+
+ /* UserClaimsInterface */
+ public function getUserClaims($user_id, $claims)
+ {
+ $userDetails = $this->getUserDetails($user_id);
+ if (!is_array($userDetails)) {
+ return false;
+ }
+
+ $claims = explode(' ', trim($claims));
+ $userClaims = array();
+
+ // for each requested claim, if the user has the claim, set it in the response
+ $validClaims = explode(' ', self::VALID_CLAIMS);
+ foreach ($validClaims as $validClaim) {
+ if (in_array($validClaim, $claims)) {
+ if ($validClaim == 'address') {
+ // address is an object with subfields
+ $userClaims['address'] = $this->getUserClaim($validClaim, $userDetails['address'] ?: $userDetails);
+ } else {
+ $userClaims = array_merge($userClaims, $this->getUserClaim($validClaim, $userDetails));
+ }
+ }
+ }
+
+ return $userClaims;
+ }
+
+ protected function getUserClaim($claim, $userDetails)
+ {
+ $userClaims = array();
+ $claimValuesString = constant(sprintf('self::%s_CLAIM_VALUES', strtoupper($claim)));
+ $claimValues = explode(' ', $claimValuesString);
+
+ foreach ($claimValues as $value) {
+ if ($value == 'email_verified') {
+ $userClaims[$value] = $userDetails[$value]=='true' ? true : false;
+ } else {
+ $userClaims[$value] = isset($userDetails[$value]) ? $userDetails[$value] : null;
+ }
+ }
+
+ return $userClaims;
+ }
+
+}
diff --git a/vendor/bshaffer/oauth2-server-php/src/OAuth2/Storage/ClientCredentialsInterface.php b/vendor/bshaffer/oauth2-server-php/src/OAuth2/Storage/ClientCredentialsInterface.php
new file mode 100644
index 000000000..3318c6966
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/src/OAuth2/Storage/ClientCredentialsInterface.php
@@ -0,0 +1,49 @@
+<?php
+
+namespace OAuth2\Storage;
+
+/**
+ * Implement this interface to specify how the OAuth2 Server
+ * should verify client credentials
+ *
+ * @author Brent Shaffer <bshafs at gmail dot com>
+ */
+interface ClientCredentialsInterface extends ClientInterface
+{
+
+ /**
+ * Make sure that the client credentials is valid.
+ *
+ * @param $client_id
+ * Client identifier to be check with.
+ * @param $client_secret
+ * (optional) If a secret is required, check that they've given the right one.
+ *
+ * @return
+ * TRUE if the client credentials are valid, and MUST return FALSE if it isn't.
+ * @endcode
+ *
+ * @see http://tools.ietf.org/html/rfc6749#section-3.1
+ *
+ * @ingroup oauth2_section_3
+ */
+ public function checkClientCredentials($client_id, $client_secret = null);
+
+ /**
+ * Determine if the client is a "public" client, and therefore
+ * does not require passing credentials for certain grant types
+ *
+ * @param $client_id
+ * Client identifier to be check with.
+ *
+ * @return
+ * TRUE if the client is public, and FALSE if it isn't.
+ * @endcode
+ *
+ * @see http://tools.ietf.org/html/rfc6749#section-2.3
+ * @see https://github.com/bshaffer/oauth2-server-php/issues/257
+ *
+ * @ingroup oauth2_section_2
+ */
+ public function isPublicClient($client_id);
+}
diff --git a/vendor/bshaffer/oauth2-server-php/src/OAuth2/Storage/ClientInterface.php b/vendor/bshaffer/oauth2-server-php/src/OAuth2/Storage/ClientInterface.php
new file mode 100644
index 000000000..09a5bffc1
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/src/OAuth2/Storage/ClientInterface.php
@@ -0,0 +1,66 @@
+<?php
+
+namespace OAuth2\Storage;
+
+/**
+ * Implement this interface to specify where the OAuth2 Server
+ * should retrieve client information
+ *
+ * @author Brent Shaffer <bshafs at gmail dot com>
+ */
+interface ClientInterface
+{
+ /**
+ * Get client details corresponding client_id.
+ *
+ * OAuth says we should store request URIs for each registered client.
+ * Implement this function to grab the stored URI for a given client id.
+ *
+ * @param $client_id
+ * Client identifier to be check with.
+ *
+ * @return array
+ * Client details. The only mandatory key in the array is "redirect_uri".
+ * This function MUST return FALSE if the given client does not exist or is
+ * invalid. "redirect_uri" can be space-delimited to allow for multiple valid uris.
+ * <code>
+ * return array(
+ * "redirect_uri" => REDIRECT_URI, // REQUIRED redirect_uri registered for the client
+ * "client_id" => CLIENT_ID, // OPTIONAL the client id
+ * "grant_types" => GRANT_TYPES, // OPTIONAL an array of restricted grant types
+ * "user_id" => USER_ID, // OPTIONAL the user identifier associated with this client
+ * "scope" => SCOPE, // OPTIONAL the scopes allowed for this client
+ * );
+ * </code>
+ *
+ * @ingroup oauth2_section_4
+ */
+ public function getClientDetails($client_id);
+
+ /**
+ * Get the scope associated with this client
+ *
+ * @return
+ * STRING the space-delineated scope list for the specified client_id
+ */
+ public function getClientScope($client_id);
+
+ /**
+ * Check restricted grant types of corresponding client identifier.
+ *
+ * If you want to restrict clients to certain grant types, override this
+ * function.
+ *
+ * @param $client_id
+ * Client identifier to be check with.
+ * @param $grant_type
+ * Grant type to be check with
+ *
+ * @return
+ * TRUE if the grant type is supported by this client identifier, and
+ * FALSE if it isn't.
+ *
+ * @ingroup oauth2_section_4
+ */
+ public function checkRestrictedGrantType($client_id, $grant_type);
+}
diff --git a/vendor/bshaffer/oauth2-server-php/src/OAuth2/Storage/CouchbaseDB.php b/vendor/bshaffer/oauth2-server-php/src/OAuth2/Storage/CouchbaseDB.php
new file mode 100755
index 000000000..1eb55f027
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/src/OAuth2/Storage/CouchbaseDB.php
@@ -0,0 +1,331 @@
+<?php
+
+namespace OAuth2\Storage;
+
+use OAuth2\OpenID\Storage\AuthorizationCodeInterface as OpenIDAuthorizationCodeInterface;
+
+/**
+ * Simple Couchbase storage for all storage types
+ *
+ * This class should be extended or overridden as required
+ *
+ * NOTE: Passwords are stored in plaintext, which is never
+ * a good idea. Be sure to override this for your application
+ *
+ * @author Tom Park <tom@raucter.com>
+ */
+class CouchbaseDB implements AuthorizationCodeInterface,
+ AccessTokenInterface,
+ ClientCredentialsInterface,
+ UserCredentialsInterface,
+ RefreshTokenInterface,
+ JwtBearerInterface,
+ OpenIDAuthorizationCodeInterface
+{
+ protected $db;
+ protected $config;
+
+ public function __construct($connection, $config = array())
+ {
+ if ($connection instanceof \Couchbase) {
+ $this->db = $connection;
+ } else {
+ if (!is_array($connection) || !is_array($connection['servers'])) {
+ throw new \InvalidArgumentException('First argument to OAuth2\Storage\CouchbaseDB must be an instance of Couchbase or a configuration array containing a server array');
+ }
+
+ $this->db = new \Couchbase($connection['servers'], (!isset($connection['username'])) ? '' : $connection['username'], (!isset($connection['password'])) ? '' : $connection['password'], $connection['bucket'], false);
+ }
+
+ $this->config = array_merge(array(
+ 'client_table' => 'oauth_clients',
+ 'access_token_table' => 'oauth_access_tokens',
+ 'refresh_token_table' => 'oauth_refresh_tokens',
+ 'code_table' => 'oauth_authorization_codes',
+ 'user_table' => 'oauth_users',
+ 'jwt_table' => 'oauth_jwt',
+ ), $config);
+ }
+
+ // Helper function to access couchbase item by type:
+ protected function getObjectByType($name,$id)
+ {
+ return json_decode($this->db->get($this->config[$name].'-'.$id),true);
+ }
+
+ // Helper function to set couchbase item by type:
+ protected function setObjectByType($name,$id,$array)
+ {
+ $array['type'] = $name;
+
+ return $this->db->set($this->config[$name].'-'.$id,json_encode($array));
+ }
+
+ // Helper function to delete couchbase item by type, wait for persist to at least 1 node
+ protected function deleteObjectByType($name,$id)
+ {
+ $this->db->delete($this->config[$name].'-'.$id,"",1);
+ }
+
+ /* ClientCredentialsInterface */
+ public function checkClientCredentials($client_id, $client_secret = null)
+ {
+ if ($result = $this->getObjectByType('client_table',$client_id)) {
+ return $result['client_secret'] == $client_secret;
+ }
+
+ return false;
+ }
+
+ public function isPublicClient($client_id)
+ {
+ if (!$result = $this->getObjectByType('client_table',$client_id)) {
+ return false;
+ }
+
+ return empty($result['client_secret']);
+ }
+
+ /* ClientInterface */
+ public function getClientDetails($client_id)
+ {
+ $result = $this->getObjectByType('client_table',$client_id);
+
+ return is_null($result) ? false : $result;
+ }
+
+ public function setClientDetails($client_id, $client_secret = null, $redirect_uri = null, $grant_types = null, $scope = null, $user_id = null)
+ {
+ if ($this->getClientDetails($client_id)) {
+
+ $this->setObjectByType('client_table',$client_id, array(
+ 'client_id' => $client_id,
+ 'client_secret' => $client_secret,
+ 'redirect_uri' => $redirect_uri,
+ 'grant_types' => $grant_types,
+ 'scope' => $scope,
+ 'user_id' => $user_id,
+ ));
+ } else {
+ $this->setObjectByType('client_table',$client_id, array(
+ 'client_id' => $client_id,
+ 'client_secret' => $client_secret,
+ 'redirect_uri' => $redirect_uri,
+ 'grant_types' => $grant_types,
+ 'scope' => $scope,
+ 'user_id' => $user_id,
+ ));
+ }
+
+ return true;
+ }
+
+ public function checkRestrictedGrantType($client_id, $grant_type)
+ {
+ $details = $this->getClientDetails($client_id);
+ if (isset($details['grant_types'])) {
+ $grant_types = explode(' ', $details['grant_types']);
+
+ return in_array($grant_type, $grant_types);
+ }
+
+ // if grant_types are not defined, then none are restricted
+ return true;
+ }
+
+ /* AccessTokenInterface */
+ public function getAccessToken($access_token)
+ {
+ $token = $this->getObjectByType('access_token_table',$access_token);
+
+ return is_null($token) ? false : $token;
+ }
+
+ public function setAccessToken($access_token, $client_id, $user_id, $expires, $scope = null)
+ {
+ // if it exists, update it.
+ if ($this->getAccessToken($access_token)) {
+ $this->setObjectByType('access_token_table',$access_token, array(
+ 'access_token' => $access_token,
+ 'client_id' => $client_id,
+ 'expires' => $expires,
+ 'user_id' => $user_id,
+ 'scope' => $scope
+ ));
+ } else {
+ $this->setObjectByType('access_token_table',$access_token, array(
+ 'access_token' => $access_token,
+ 'client_id' => $client_id,
+ 'expires' => $expires,
+ 'user_id' => $user_id,
+ 'scope' => $scope
+ ));
+ }
+
+ return true;
+ }
+
+ /* AuthorizationCodeInterface */
+ public function getAuthorizationCode($code)
+ {
+ $code = $this->getObjectByType('code_table',$code);
+
+ return is_null($code) ? false : $code;
+ }
+
+ public function setAuthorizationCode($code, $client_id, $user_id, $redirect_uri, $expires, $scope = null, $id_token = null)
+ {
+ // if it exists, update it.
+ if ($this->getAuthorizationCode($code)) {
+ $this->setObjectByType('code_table',$code, array(
+ 'authorization_code' => $code,
+ 'client_id' => $client_id,
+ 'user_id' => $user_id,
+ 'redirect_uri' => $redirect_uri,
+ 'expires' => $expires,
+ 'scope' => $scope,
+ 'id_token' => $id_token,
+ ));
+ } else {
+ $this->setObjectByType('code_table',$code,array(
+ 'authorization_code' => $code,
+ 'client_id' => $client_id,
+ 'user_id' => $user_id,
+ 'redirect_uri' => $redirect_uri,
+ 'expires' => $expires,
+ 'scope' => $scope,
+ 'id_token' => $id_token,
+ ));
+ }
+
+ return true;
+ }
+
+ public function expireAuthorizationCode($code)
+ {
+ $this->deleteObjectByType('code_table',$code);
+
+ return true;
+ }
+
+ /* UserCredentialsInterface */
+ public function checkUserCredentials($username, $password)
+ {
+ if ($user = $this->getUser($username)) {
+ return $this->checkPassword($user, $password);
+ }
+
+ return false;
+ }
+
+ public function getUserDetails($username)
+ {
+ if ($user = $this->getUser($username)) {
+ $user['user_id'] = $user['username'];
+ }
+
+ return $user;
+ }
+
+ /* RefreshTokenInterface */
+ public function getRefreshToken($refresh_token)
+ {
+ $token = $this->getObjectByType('refresh_token_table',$refresh_token);
+
+ return is_null($token) ? false : $token;
+ }
+
+ public function setRefreshToken($refresh_token, $client_id, $user_id, $expires, $scope = null)
+ {
+ $this->setObjectByType('refresh_token_table',$refresh_token, array(
+ 'refresh_token' => $refresh_token,
+ 'client_id' => $client_id,
+ 'user_id' => $user_id,
+ 'expires' => $expires,
+ 'scope' => $scope
+ ));
+
+ return true;
+ }
+
+ public function unsetRefreshToken($refresh_token)
+ {
+ $this->deleteObjectByType('refresh_token_table',$refresh_token);
+
+ return true;
+ }
+
+ // plaintext passwords are bad! Override this for your application
+ protected function checkPassword($user, $password)
+ {
+ return $user['password'] == $password;
+ }
+
+ public function getUser($username)
+ {
+ $result = $this->getObjectByType('user_table',$username);
+
+ return is_null($result) ? false : $result;
+ }
+
+ public function setUser($username, $password, $firstName = null, $lastName = null)
+ {
+ if ($this->getUser($username)) {
+ $this->setObjectByType('user_table',$username, array(
+ 'username' => $username,
+ 'password' => $password,
+ 'first_name' => $firstName,
+ 'last_name' => $lastName
+ ));
+
+ } else {
+ $this->setObjectByType('user_table',$username, array(
+ 'username' => $username,
+ 'password' => $password,
+ 'first_name' => $firstName,
+ 'last_name' => $lastName
+ ));
+
+ }
+
+ return true;
+ }
+
+ public function getClientKey($client_id, $subject)
+ {
+ if (!$jwt = $this->getObjectByType('jwt_table',$client_id)) {
+ return false;
+ }
+
+ if (isset($jwt['subject']) && $jwt['subject'] == $subject) {
+ return $jwt['key'];
+ }
+
+ return false;
+ }
+
+ public function getClientScope($client_id)
+ {
+ if (!$clientDetails = $this->getClientDetails($client_id)) {
+ return false;
+ }
+
+ if (isset($clientDetails['scope'])) {
+ return $clientDetails['scope'];
+ }
+
+ return null;
+ }
+
+ public function getJti($client_id, $subject, $audience, $expiration, $jti)
+ {
+ //TODO: Needs couchbase implementation.
+ throw new \Exception('getJti() for the Couchbase driver is currently unimplemented.');
+ }
+
+ public function setJti($client_id, $subject, $audience, $expiration, $jti)
+ {
+ //TODO: Needs couchbase implementation.
+ throw new \Exception('setJti() for the Couchbase driver is currently unimplemented.');
+ }
+}
diff --git a/vendor/bshaffer/oauth2-server-php/src/OAuth2/Storage/DynamoDB.php b/vendor/bshaffer/oauth2-server-php/src/OAuth2/Storage/DynamoDB.php
new file mode 100644
index 000000000..8347ab258
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/src/OAuth2/Storage/DynamoDB.php
@@ -0,0 +1,540 @@
+<?php
+
+namespace OAuth2\Storage;
+
+use Aws\DynamoDb\DynamoDbClient;
+
+use OAuth2\OpenID\Storage\UserClaimsInterface;
+use OAuth2\OpenID\Storage\AuthorizationCodeInterface as OpenIDAuthorizationCodeInterface;
+/**
+ * DynamoDB storage for all storage types
+ *
+ * To use, install "aws/aws-sdk-php" via composer
+ * <code>
+ * composer require aws/aws-sdk-php:dev-master
+ * </code>
+ *
+ * Once this is done, instantiate the DynamoDB client
+ * <code>
+ * $storage = new OAuth2\Storage\Dynamodb(array("key" => "YOURKEY", "secret" => "YOURSECRET", "region" => "YOURREGION"));
+ * </code>
+ *
+ * Table :
+ * - oauth_access_tokens (primary hash key : access_token)
+ * - oauth_authorization_codes (primary hash key : authorization_code)
+ * - oauth_clients (primary hash key : client_id)
+ * - oauth_jwt (primary hash key : client_id, primary range key : subject)
+ * - oauth_public_keys (primary hash key : client_id)
+ * - oauth_refresh_tokens (primary hash key : refresh_token)
+ * - oauth_scopes (primary hash key : scope, secondary index : is_default-index hash key is_default)
+ * - oauth_users (primary hash key : username)
+ *
+ * @author Frederic AUGUSTE <frederic.auguste at gmail dot com>
+ */
+class DynamoDB implements
+ AuthorizationCodeInterface,
+ AccessTokenInterface,
+ ClientCredentialsInterface,
+ UserCredentialsInterface,
+ RefreshTokenInterface,
+ JwtBearerInterface,
+ ScopeInterface,
+ PublicKeyInterface,
+ UserClaimsInterface,
+ OpenIDAuthorizationCodeInterface
+{
+ protected $client;
+ protected $config;
+
+ public function __construct($connection, $config = array())
+ {
+ if (!($connection instanceof DynamoDbClient)) {
+ if (!is_array($connection)) {
+ throw new \InvalidArgumentException('First argument to OAuth2\Storage\Dynamodb must be an instance a configuration array containt key, secret, region');
+ }
+ if (!array_key_exists("key",$connection) || !array_key_exists("secret",$connection) || !array_key_exists("region",$connection) ) {
+ throw new \InvalidArgumentException('First argument to OAuth2\Storage\Dynamodb must be an instance a configuration array containt key, secret, region');
+ }
+ $this->client = DynamoDbClient::factory(array(
+ 'key' => $connection["key"],
+ 'secret' => $connection["secret"],
+ 'region' =>$connection["region"]
+ ));
+ } else {
+ $this->client = $connection;
+ }
+
+ $this->config = array_merge(array(
+ 'client_table' => 'oauth_clients',
+ 'access_token_table' => 'oauth_access_tokens',
+ 'refresh_token_table' => 'oauth_refresh_tokens',
+ 'code_table' => 'oauth_authorization_codes',
+ 'user_table' => 'oauth_users',
+ 'jwt_table' => 'oauth_jwt',
+ 'scope_table' => 'oauth_scopes',
+ 'public_key_table' => 'oauth_public_keys',
+ ), $config);
+ }
+
+ /* OAuth2\Storage\ClientCredentialsInterface */
+ public function checkClientCredentials($client_id, $client_secret = null)
+ {
+ $result = $this->client->getItem(array(
+ "TableName"=> $this->config['client_table'],
+ "Key" => array('client_id' => array('S' => $client_id))
+ ));
+
+ return $result->count()==1 && $result["Item"]["client_secret"]["S"] == $client_secret;
+ }
+
+ public function isPublicClient($client_id)
+ {
+ $result = $this->client->getItem(array(
+ "TableName"=> $this->config['client_table'],
+ "Key" => array('client_id' => array('S' => $client_id))
+ ));
+
+ if ($result->count()==0) {
+ return false ;
+ }
+
+ return empty($result["Item"]["client_secret"]);
+ }
+
+ /* OAuth2\Storage\ClientInterface */
+ public function getClientDetails($client_id)
+ {
+ $result = $this->client->getItem(array(
+ "TableName"=> $this->config['client_table'],
+ "Key" => array('client_id' => array('S' => $client_id))
+ ));
+ if ($result->count()==0) {
+ return false ;
+ }
+ $result = $this->dynamo2array($result);
+ foreach (array('client_id', 'client_secret', 'redirect_uri', 'grant_types', 'scope', 'user_id') as $key => $val) {
+ if (!array_key_exists ($val, $result)) {
+ $result[$val] = null;
+ }
+ }
+
+ return $result;
+ }
+
+ public function setClientDetails($client_id, $client_secret = null, $redirect_uri = null, $grant_types = null, $scope = null, $user_id = null)
+ {
+ $clientData = compact('client_id', 'client_secret', 'redirect_uri', 'grant_types', 'scope', 'user_id');
+ $clientData = array_filter($clientData, 'self::isNotEmpty');
+
+ $result = $this->client->putItem(array(
+ 'TableName' => $this->config['client_table'],
+ 'Item' => $this->client->formatAttributes($clientData)
+ ));
+
+ return true;
+ }
+
+ public function checkRestrictedGrantType($client_id, $grant_type)
+ {
+ $details = $this->getClientDetails($client_id);
+ if (isset($details['grant_types'])) {
+ $grant_types = explode(' ', $details['grant_types']);
+
+ return in_array($grant_type, (array) $grant_types);
+ }
+
+ // if grant_types are not defined, then none are restricted
+ return true;
+ }
+
+ /* OAuth2\Storage\AccessTokenInterface */
+ public function getAccessToken($access_token)
+ {
+ $result = $this->client->getItem(array(
+ "TableName"=> $this->config['access_token_table'],
+ "Key" => array('access_token' => array('S' => $access_token))
+ ));
+ if ($result->count()==0) {
+ return false ;
+ }
+ $token = $this->dynamo2array($result);
+ if (array_key_exists ('expires', $token)) {
+ $token['expires'] = strtotime($token['expires']);
+ }
+
+ return $token;
+ }
+
+ public function setAccessToken($access_token, $client_id, $user_id, $expires, $scope = null)
+ {
+ // convert expires to datestring
+ $expires = date('Y-m-d H:i:s', $expires);
+
+ $clientData = compact('access_token', 'client_id', 'user_id', 'expires', 'scope');
+ $clientData = array_filter($clientData, 'self::isNotEmpty');
+
+ $result = $this->client->putItem(array(
+ 'TableName' => $this->config['access_token_table'],
+ 'Item' => $this->client->formatAttributes($clientData)
+ ));
+
+ return true;
+
+ }
+
+ public function unsetAccessToken($access_token)
+ {
+ $result = $this->client->deleteItem(array(
+ 'TableName' => $this->config['access_token_table'],
+ 'Key' => $this->client->formatAttributes(array("access_token" => $access_token)),
+ 'ReturnValues' => 'ALL_OLD',
+ ));
+
+ return null !== $result->get('Attributes');
+ }
+
+ /* OAuth2\Storage\AuthorizationCodeInterface */
+ public function getAuthorizationCode($code)
+ {
+ $result = $this->client->getItem(array(
+ "TableName"=> $this->config['code_table'],
+ "Key" => array('authorization_code' => array('S' => $code))
+ ));
+ if ($result->count()==0) {
+ return false ;
+ }
+ $token = $this->dynamo2array($result);
+ if (!array_key_exists("id_token", $token )) {
+ $token['id_token'] = null;
+ }
+ $token['expires'] = strtotime($token['expires']);
+
+ return $token;
+
+ }
+
+ public function setAuthorizationCode($authorization_code, $client_id, $user_id, $redirect_uri, $expires, $scope = null, $id_token = null)
+ {
+ // convert expires to datestring
+ $expires = date('Y-m-d H:i:s', $expires);
+
+ $clientData = compact('authorization_code', 'client_id', 'user_id', 'redirect_uri', 'expires', 'id_token', 'scope');
+ $clientData = array_filter($clientData, 'self::isNotEmpty');
+
+ $result = $this->client->putItem(array(
+ 'TableName' => $this->config['code_table'],
+ 'Item' => $this->client->formatAttributes($clientData)
+ ));
+
+ return true;
+ }
+
+ public function expireAuthorizationCode($code)
+ {
+
+ $result = $this->client->deleteItem(array(
+ 'TableName' => $this->config['code_table'],
+ 'Key' => $this->client->formatAttributes(array("authorization_code" => $code))
+ ));
+
+ return true;
+ }
+
+ /* OAuth2\Storage\UserCredentialsInterface */
+ public function checkUserCredentials($username, $password)
+ {
+ if ($user = $this->getUser($username)) {
+ return $this->checkPassword($user, $password);
+ }
+
+ return false;
+ }
+
+ public function getUserDetails($username)
+ {
+ return $this->getUser($username);
+ }
+
+ /* UserClaimsInterface */
+ public function getUserClaims($user_id, $claims)
+ {
+ if (!$userDetails = $this->getUserDetails($user_id)) {
+ return false;
+ }
+
+ $claims = explode(' ', trim($claims));
+ $userClaims = array();
+
+ // for each requested claim, if the user has the claim, set it in the response
+ $validClaims = explode(' ', self::VALID_CLAIMS);
+ foreach ($validClaims as $validClaim) {
+ if (in_array($validClaim, $claims)) {
+ if ($validClaim == 'address') {
+ // address is an object with subfields
+ $userClaims['address'] = $this->getUserClaim($validClaim, $userDetails['address'] ?: $userDetails);
+ } else {
+ $userClaims = array_merge($userClaims, $this->getUserClaim($validClaim, $userDetails));
+ }
+ }
+ }
+
+ return $userClaims;
+ }
+
+ protected function getUserClaim($claim, $userDetails)
+ {
+ $userClaims = array();
+ $claimValuesString = constant(sprintf('self::%s_CLAIM_VALUES', strtoupper($claim)));
+ $claimValues = explode(' ', $claimValuesString);
+
+ foreach ($claimValues as $value) {
+ if ($value == 'email_verified') {
+ $userClaims[$value] = $userDetails[$value]=='true' ? true : false;
+ } else {
+ $userClaims[$value] = isset($userDetails[$value]) ? $userDetails[$value] : null;
+ }
+ }
+
+ return $userClaims;
+ }
+
+ /* OAuth2\Storage\RefreshTokenInterface */
+ public function getRefreshToken($refresh_token)
+ {
+ $result = $this->client->getItem(array(
+ "TableName"=> $this->config['refresh_token_table'],
+ "Key" => array('refresh_token' => array('S' => $refresh_token))
+ ));
+ if ($result->count()==0) {
+ return false ;
+ }
+ $token = $this->dynamo2array($result);
+ $token['expires'] = strtotime($token['expires']);
+
+ return $token;
+ }
+
+ public function setRefreshToken($refresh_token, $client_id, $user_id, $expires, $scope = null)
+ {
+ // convert expires to datestring
+ $expires = date('Y-m-d H:i:s', $expires);
+
+ $clientData = compact('refresh_token', 'client_id', 'user_id', 'expires', 'scope');
+ $clientData = array_filter($clientData, 'self::isNotEmpty');
+
+ $result = $this->client->putItem(array(
+ 'TableName' => $this->config['refresh_token_table'],
+ 'Item' => $this->client->formatAttributes($clientData)
+ ));
+
+ return true;
+ }
+
+ public function unsetRefreshToken($refresh_token)
+ {
+ $result = $this->client->deleteItem(array(
+ 'TableName' => $this->config['refresh_token_table'],
+ 'Key' => $this->client->formatAttributes(array("refresh_token" => $refresh_token))
+ ));
+
+ return true;
+ }
+
+ // plaintext passwords are bad! Override this for your application
+ protected function checkPassword($user, $password)
+ {
+ return $user['password'] == $this->hashPassword($password);
+ }
+
+ // use a secure hashing algorithm when storing passwords. Override this for your application
+ protected function hashPassword($password)
+ {
+ return sha1($password);
+ }
+
+ public function getUser($username)
+ {
+ $result = $this->client->getItem(array(
+ "TableName"=> $this->config['user_table'],
+ "Key" => array('username' => array('S' => $username))
+ ));
+ if ($result->count()==0) {
+ return false ;
+ }
+ $token = $this->dynamo2array($result);
+ $token['user_id'] = $username;
+
+ return $token;
+ }
+
+ public function setUser($username, $password, $first_name = null, $last_name = null)
+ {
+ // do not store in plaintext
+ $password = $this->hashPassword($password);
+
+ $clientData = compact('username', 'password', 'first_name', 'last_name');
+ $clientData = array_filter($clientData, 'self::isNotEmpty');
+
+ $result = $this->client->putItem(array(
+ 'TableName' => $this->config['user_table'],
+ 'Item' => $this->client->formatAttributes($clientData)
+ ));
+
+ return true;
+
+ }
+
+ /* ScopeInterface */
+ public function scopeExists($scope)
+ {
+ $scope = explode(' ', $scope);
+ $scope_query = array();
+ $count = 0;
+ foreach ($scope as $key => $val) {
+ $result = $this->client->query(array(
+ 'TableName' => $this->config['scope_table'],
+ 'Select' => 'COUNT',
+ 'KeyConditions' => array(
+ 'scope' => array(
+ 'AttributeValueList' => array(array('S' => $val)),
+ 'ComparisonOperator' => 'EQ'
+ )
+ )
+ ));
+ $count += $result['Count'];
+ }
+
+ return $count == count($scope);
+ }
+
+ public function getDefaultScope($client_id = null)
+ {
+
+ $result = $this->client->query(array(
+ 'TableName' => $this->config['scope_table'],
+ 'IndexName' => 'is_default-index',
+ 'Select' => 'ALL_ATTRIBUTES',
+ 'KeyConditions' => array(
+ 'is_default' => array(
+ 'AttributeValueList' => array(array('S' => 'true')),
+ 'ComparisonOperator' => 'EQ',
+ ),
+ )
+ ));
+ $defaultScope = array();
+ if ($result->count() > 0) {
+ $array = $result->toArray();
+ foreach ($array["Items"] as $item) {
+ $defaultScope[] = $item['scope']['S'];
+ }
+
+ return empty($defaultScope) ? null : implode(' ', $defaultScope);
+ }
+
+ return null;
+ }
+
+ /* JWTBearerInterface */
+ public function getClientKey($client_id, $subject)
+ {
+ $result = $this->client->getItem(array(
+ "TableName"=> $this->config['jwt_table'],
+ "Key" => array('client_id' => array('S' => $client_id), 'subject' => array('S' => $subject))
+ ));
+ if ($result->count()==0) {
+ return false ;
+ }
+ $token = $this->dynamo2array($result);
+
+ return $token['public_key'];
+ }
+
+ public function getClientScope($client_id)
+ {
+ if (!$clientDetails = $this->getClientDetails($client_id)) {
+ return false;
+ }
+
+ if (isset($clientDetails['scope'])) {
+ return $clientDetails['scope'];
+ }
+
+ return null;
+ }
+
+ public function getJti($client_id, $subject, $audience, $expires, $jti)
+ {
+ //TODO not use.
+ }
+
+ public function setJti($client_id, $subject, $audience, $expires, $jti)
+ {
+ //TODO not use.
+ }
+
+ /* PublicKeyInterface */
+ public function getPublicKey($client_id = '0')
+ {
+
+ $result = $this->client->getItem(array(
+ "TableName"=> $this->config['public_key_table'],
+ "Key" => array('client_id' => array('S' => $client_id))
+ ));
+ if ($result->count()==0) {
+ return false ;
+ }
+ $token = $this->dynamo2array($result);
+
+ return $token['public_key'];
+
+ }
+
+ public function getPrivateKey($client_id = '0')
+ {
+ $result = $this->client->getItem(array(
+ "TableName"=> $this->config['public_key_table'],
+ "Key" => array('client_id' => array('S' => $client_id))
+ ));
+ if ($result->count()==0) {
+ return false ;
+ }
+ $token = $this->dynamo2array($result);
+
+ return $token['private_key'];
+ }
+
+ public function getEncryptionAlgorithm($client_id = null)
+ {
+ $result = $this->client->getItem(array(
+ "TableName"=> $this->config['public_key_table'],
+ "Key" => array('client_id' => array('S' => $client_id))
+ ));
+ if ($result->count()==0) {
+ return 'RS256' ;
+ }
+ $token = $this->dynamo2array($result);
+
+ return $token['encryption_algorithm'];
+ }
+
+ /**
+ * Transform dynamodb resultset to an array.
+ * @param $dynamodbResult
+ * @return $array
+ */
+ private function dynamo2array($dynamodbResult)
+ {
+ $result = array();
+ foreach ($dynamodbResult["Item"] as $key => $val) {
+ $result[$key] = $val["S"];
+ $result[] = $val["S"];
+ }
+
+ return $result;
+ }
+
+ private static function isNotEmpty($value)
+ {
+ return null !== $value && '' !== $value;
+ }
+}
diff --git a/vendor/bshaffer/oauth2-server-php/src/OAuth2/Storage/JwtAccessToken.php b/vendor/bshaffer/oauth2-server-php/src/OAuth2/Storage/JwtAccessToken.php
new file mode 100644
index 000000000..75b49d301
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/src/OAuth2/Storage/JwtAccessToken.php
@@ -0,0 +1,88 @@
+<?php
+
+namespace OAuth2\Storage;
+
+use OAuth2\Encryption\EncryptionInterface;
+use OAuth2\Encryption\Jwt;
+
+/**
+ *
+ * @author Brent Shaffer <bshafs at gmail dot com>
+ */
+class JwtAccessToken implements JwtAccessTokenInterface
+{
+ protected $publicKeyStorage;
+ protected $tokenStorage;
+ protected $encryptionUtil;
+
+ /**
+ * @param OAuth2\Encryption\PublicKeyInterface $publicKeyStorage the public key encryption to use
+ * @param OAuth2\Storage\AccessTokenInterface $tokenStorage OPTIONAL persist the access token to another storage. This is useful if
+ * you want to retain access token grant information somewhere, but
+ * is not necessary when using this grant type.
+ * @param OAuth2\Encryption\EncryptionInterface $encryptionUtil OPTIONAL class to use for "encode" and "decode" functions.
+ */
+ public function __construct(PublicKeyInterface $publicKeyStorage, AccessTokenInterface $tokenStorage = null, EncryptionInterface $encryptionUtil = null)
+ {
+ $this->publicKeyStorage = $publicKeyStorage;
+ $this->tokenStorage = $tokenStorage;
+ if (is_null($encryptionUtil)) {
+ $encryptionUtil = new Jwt;
+ }
+ $this->encryptionUtil = $encryptionUtil;
+ }
+
+ public function getAccessToken($oauth_token)
+ {
+ // just decode the token, don't verify
+ if (!$tokenData = $this->encryptionUtil->decode($oauth_token, null, false)) {
+ return false;
+ }
+
+ $client_id = isset($tokenData['aud']) ? $tokenData['aud'] : null;
+ $public_key = $this->publicKeyStorage->getPublicKey($client_id);
+ $algorithm = $this->publicKeyStorage->getEncryptionAlgorithm($client_id);
+
+ // now that we have the client_id, verify the token
+ if (false === $this->encryptionUtil->decode($oauth_token, $public_key, array($algorithm))) {
+ return false;
+ }
+
+ // normalize the JWT claims to the format expected by other components in this library
+ return $this->convertJwtToOAuth2($tokenData);
+ }
+
+ public function setAccessToken($oauth_token, $client_id, $user_id, $expires, $scope = null)
+ {
+ if ($this->tokenStorage) {
+ return $this->tokenStorage->setAccessToken($oauth_token, $client_id, $user_id, $expires, $scope);
+ }
+ }
+
+ public function unsetAccessToken($access_token)
+ {
+ if ($this->tokenStorage) {
+ return $this->tokenStorage->unsetAccessToken($access_token);
+ }
+ }
+
+
+ // converts a JWT access token into an OAuth2-friendly format
+ protected function convertJwtToOAuth2($tokenData)
+ {
+ $keyMapping = array(
+ 'aud' => 'client_id',
+ 'exp' => 'expires',
+ 'sub' => 'user_id'
+ );
+
+ foreach ($keyMapping as $jwtKey => $oauth2Key) {
+ if (isset($tokenData[$jwtKey])) {
+ $tokenData[$oauth2Key] = $tokenData[$jwtKey];
+ unset($tokenData[$jwtKey]);
+ }
+ }
+
+ return $tokenData;
+ }
+}
diff --git a/vendor/bshaffer/oauth2-server-php/src/OAuth2/Storage/JwtAccessTokenInterface.php b/vendor/bshaffer/oauth2-server-php/src/OAuth2/Storage/JwtAccessTokenInterface.php
new file mode 100644
index 000000000..3abb2aa2d
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/src/OAuth2/Storage/JwtAccessTokenInterface.php
@@ -0,0 +1,14 @@
+<?php
+
+namespace OAuth2\Storage;
+
+/**
+ * No specific methods, but allows the library to check "instanceof"
+ * against interface rather than class
+ *
+ * @author Brent Shaffer <bshafs at gmail dot com>
+ */
+interface JwtAccessTokenInterface extends AccessTokenInterface
+{
+
+}
diff --git a/vendor/bshaffer/oauth2-server-php/src/OAuth2/Storage/JwtBearerInterface.php b/vendor/bshaffer/oauth2-server-php/src/OAuth2/Storage/JwtBearerInterface.php
new file mode 100644
index 000000000..c83aa72ea
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/src/OAuth2/Storage/JwtBearerInterface.php
@@ -0,0 +1,74 @@
+<?php
+
+namespace OAuth2\Storage;
+
+/**
+ * Implement this interface to specify where the OAuth2 Server
+ * should get the JWT key for clients
+ *
+ * @TODO consider extending ClientInterface, as this will almost always
+ * be the same storage as retrieving clientData
+ *
+ * @author F21
+ * @author Brent Shaffer <bshafs at gmail dot com>
+ */
+interface JwtBearerInterface
+{
+ /**
+ * Get the public key associated with a client_id
+ *
+ * @param $client_id
+ * Client identifier to be checked with.
+ *
+ * @return
+ * STRING Return the public key for the client_id if it exists, and MUST return FALSE if it doesn't.
+ */
+ public function getClientKey($client_id, $subject);
+
+ /**
+ * Get a jti (JSON token identifier) by matching against the client_id, subject, audience and expiration.
+ *
+ * @param $client_id
+ * Client identifier to match.
+ *
+ * @param $subject
+ * The subject to match.
+ *
+ * @param $audience
+ * The audience to match.
+ *
+ * @param $expiration
+ * The expiration of the jti.
+ *
+ * @param $jti
+ * The jti to match.
+ *
+ * @return
+ * An associative array as below, and return NULL if the jti does not exist.
+ * - issuer: Stored client identifier.
+ * - subject: Stored subject.
+ * - audience: Stored audience.
+ * - expires: Stored expiration in unix timestamp.
+ * - jti: The stored jti.
+ */
+ public function getJti($client_id, $subject, $audience, $expiration, $jti);
+
+ /**
+ * Store a used jti so that we can check against it to prevent replay attacks.
+ * @param $client_id
+ * Client identifier to insert.
+ *
+ * @param $subject
+ * The subject to insert.
+ *
+ * @param $audience
+ * The audience to insert.
+ *
+ * @param $expiration
+ * The expiration of the jti.
+ *
+ * @param $jti
+ * The jti to insert.
+ */
+ public function setJti($client_id, $subject, $audience, $expiration, $jti);
+}
diff --git a/vendor/bshaffer/oauth2-server-php/src/OAuth2/Storage/Memory.php b/vendor/bshaffer/oauth2-server-php/src/OAuth2/Storage/Memory.php
new file mode 100644
index 000000000..42d833ccb
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/src/OAuth2/Storage/Memory.php
@@ -0,0 +1,381 @@
+<?php
+
+namespace OAuth2\Storage;
+
+use OAuth2\OpenID\Storage\UserClaimsInterface;
+use OAuth2\OpenID\Storage\AuthorizationCodeInterface as OpenIDAuthorizationCodeInterface;
+
+/**
+ * Simple in-memory storage for all storage types
+ *
+ * NOTE: This class should never be used in production, and is
+ * a stub class for example use only
+ *
+ * @author Brent Shaffer <bshafs at gmail dot com>
+ */
+class Memory implements AuthorizationCodeInterface,
+ UserCredentialsInterface,
+ UserClaimsInterface,
+ AccessTokenInterface,
+ ClientCredentialsInterface,
+ RefreshTokenInterface,
+ JwtBearerInterface,
+ ScopeInterface,
+ PublicKeyInterface,
+ OpenIDAuthorizationCodeInterface
+{
+ public $authorizationCodes;
+ public $userCredentials;
+ public $clientCredentials;
+ public $refreshTokens;
+ public $accessTokens;
+ public $jwt;
+ public $jti;
+ public $supportedScopes;
+ public $defaultScope;
+ public $keys;
+
+ public function __construct($params = array())
+ {
+ $params = array_merge(array(
+ 'authorization_codes' => array(),
+ 'user_credentials' => array(),
+ 'client_credentials' => array(),
+ 'refresh_tokens' => array(),
+ 'access_tokens' => array(),
+ 'jwt' => array(),
+ 'jti' => array(),
+ 'default_scope' => null,
+ 'supported_scopes' => array(),
+ 'keys' => array(),
+ ), $params);
+
+ $this->authorizationCodes = $params['authorization_codes'];
+ $this->userCredentials = $params['user_credentials'];
+ $this->clientCredentials = $params['client_credentials'];
+ $this->refreshTokens = $params['refresh_tokens'];
+ $this->accessTokens = $params['access_tokens'];
+ $this->jwt = $params['jwt'];
+ $this->jti = $params['jti'];
+ $this->supportedScopes = $params['supported_scopes'];
+ $this->defaultScope = $params['default_scope'];
+ $this->keys = $params['keys'];
+ }
+
+ /* AuthorizationCodeInterface */
+ public function getAuthorizationCode($code)
+ {
+ if (!isset($this->authorizationCodes[$code])) {
+ return false;
+ }
+
+ return array_merge(array(
+ 'authorization_code' => $code,
+ ), $this->authorizationCodes[$code]);
+ }
+
+ public function setAuthorizationCode($code, $client_id, $user_id, $redirect_uri, $expires, $scope = null, $id_token = null)
+ {
+ $this->authorizationCodes[$code] = compact('code', 'client_id', 'user_id', 'redirect_uri', 'expires', 'scope', 'id_token');
+
+ return true;
+ }
+
+ public function setAuthorizationCodes($authorization_codes)
+ {
+ $this->authorizationCodes = $authorization_codes;
+ }
+
+ public function expireAuthorizationCode($code)
+ {
+ unset($this->authorizationCodes[$code]);
+ }
+
+ /* UserCredentialsInterface */
+ public function checkUserCredentials($username, $password)
+ {
+ $userDetails = $this->getUserDetails($username);
+
+ return $userDetails && $userDetails['password'] && $userDetails['password'] === $password;
+ }
+
+ public function setUser($username, $password, $firstName = null, $lastName = null)
+ {
+ $this->userCredentials[$username] = array(
+ 'password' => $password,
+ 'first_name' => $firstName,
+ 'last_name' => $lastName,
+ );
+
+ return true;
+ }
+
+ public function getUserDetails($username)
+ {
+ if (!isset($this->userCredentials[$username])) {
+ return false;
+ }
+
+ return array_merge(array(
+ 'user_id' => $username,
+ 'password' => null,
+ 'first_name' => null,
+ 'last_name' => null,
+ ), $this->userCredentials[$username]);
+ }
+
+ /* UserClaimsInterface */
+ public function getUserClaims($user_id, $claims)
+ {
+ if (!$userDetails = $this->getUserDetails($user_id)) {
+ return false;
+ }
+
+ $claims = explode(' ', trim($claims));
+ $userClaims = array();
+
+ // for each requested claim, if the user has the claim, set it in the response
+ $validClaims = explode(' ', self::VALID_CLAIMS);
+ foreach ($validClaims as $validClaim) {
+ if (in_array($validClaim, $claims)) {
+ if ($validClaim == 'address') {
+ // address is an object with subfields
+ $userClaims['address'] = $this->getUserClaim($validClaim, $userDetails['address'] ?: $userDetails);
+ } else {
+ $userClaims = array_merge($userClaims, $this->getUserClaim($validClaim, $userDetails));
+ }
+ }
+ }
+
+ return $userClaims;
+ }
+
+ protected function getUserClaim($claim, $userDetails)
+ {
+ $userClaims = array();
+ $claimValuesString = constant(sprintf('self::%s_CLAIM_VALUES', strtoupper($claim)));
+ $claimValues = explode(' ', $claimValuesString);
+
+ foreach ($claimValues as $value) {
+ $userClaims[$value] = isset($userDetails[$value]) ? $userDetails[$value] : null;
+ }
+
+ return $userClaims;
+ }
+
+ /* ClientCredentialsInterface */
+ public function checkClientCredentials($client_id, $client_secret = null)
+ {
+ return isset($this->clientCredentials[$client_id]['client_secret']) && $this->clientCredentials[$client_id]['client_secret'] === $client_secret;
+ }
+
+ public function isPublicClient($client_id)
+ {
+ if (!isset($this->clientCredentials[$client_id])) {
+ return false;
+ }
+
+ return empty($this->clientCredentials[$client_id]['client_secret']);
+ }
+
+ /* ClientInterface */
+ public function getClientDetails($client_id)
+ {
+ if (!isset($this->clientCredentials[$client_id])) {
+ return false;
+ }
+
+ $clientDetails = array_merge(array(
+ 'client_id' => $client_id,
+ 'client_secret' => null,
+ 'redirect_uri' => null,
+ 'scope' => null,
+ ), $this->clientCredentials[$client_id]);
+
+ return $clientDetails;
+ }
+
+ public function checkRestrictedGrantType($client_id, $grant_type)
+ {
+ if (isset($this->clientCredentials[$client_id]['grant_types'])) {
+ $grant_types = explode(' ', $this->clientCredentials[$client_id]['grant_types']);
+
+ return in_array($grant_type, $grant_types);
+ }
+
+ // if grant_types are not defined, then none are restricted
+ return true;
+ }
+
+ public function setClientDetails($client_id, $client_secret = null, $redirect_uri = null, $grant_types = null, $scope = null, $user_id = null)
+ {
+ $this->clientCredentials[$client_id] = array(
+ 'client_id' => $client_id,
+ 'client_secret' => $client_secret,
+ 'redirect_uri' => $redirect_uri,
+ 'grant_types' => $grant_types,
+ 'scope' => $scope,
+ 'user_id' => $user_id,
+ );
+
+ return true;
+ }
+
+ /* RefreshTokenInterface */
+ public function getRefreshToken($refresh_token)
+ {
+ return isset($this->refreshTokens[$refresh_token]) ? $this->refreshTokens[$refresh_token] : false;
+ }
+
+ public function setRefreshToken($refresh_token, $client_id, $user_id, $expires, $scope = null)
+ {
+ $this->refreshTokens[$refresh_token] = compact('refresh_token', 'client_id', 'user_id', 'expires', 'scope');
+
+ return true;
+ }
+
+ public function unsetRefreshToken($refresh_token)
+ {
+ if (isset($this->refreshTokens[$refresh_token])) {
+ unset($this->refreshTokens[$refresh_token]);
+
+ return true;
+ }
+
+ return false;
+ }
+
+ public function setRefreshTokens($refresh_tokens)
+ {
+ $this->refreshTokens = $refresh_tokens;
+ }
+
+ /* AccessTokenInterface */
+ public function getAccessToken($access_token)
+ {
+ return isset($this->accessTokens[$access_token]) ? $this->accessTokens[$access_token] : false;
+ }
+
+ public function setAccessToken($access_token, $client_id, $user_id, $expires, $scope = null, $id_token = null)
+ {
+ $this->accessTokens[$access_token] = compact('access_token', 'client_id', 'user_id', 'expires', 'scope', 'id_token');
+
+ return true;
+ }
+
+ public function unsetAccessToken($access_token)
+ {
+ if (isset($this->accessTokens[$access_token])) {
+ unset($this->accessTokens[$access_token]);
+
+ return true;
+ }
+
+ return false;
+ }
+
+ public function scopeExists($scope)
+ {
+ $scope = explode(' ', trim($scope));
+
+ return (count(array_diff($scope, $this->supportedScopes)) == 0);
+ }
+
+ public function getDefaultScope($client_id = null)
+ {
+ return $this->defaultScope;
+ }
+
+ /*JWTBearerInterface */
+ public function getClientKey($client_id, $subject)
+ {
+ if (isset($this->jwt[$client_id])) {
+ $jwt = $this->jwt[$client_id];
+ if ($jwt) {
+ if ($jwt["subject"] == $subject) {
+ return $jwt["key"];
+ }
+ }
+ }
+
+ return false;
+ }
+
+ public function getClientScope($client_id)
+ {
+ if (!$clientDetails = $this->getClientDetails($client_id)) {
+ return false;
+ }
+
+ if (isset($clientDetails['scope'])) {
+ return $clientDetails['scope'];
+ }
+
+ return null;
+ }
+
+ public function getJti($client_id, $subject, $audience, $expires, $jti)
+ {
+ foreach ($this->jti as $storedJti) {
+ if ($storedJti['issuer'] == $client_id && $storedJti['subject'] == $subject && $storedJti['audience'] == $audience && $storedJti['expires'] == $expires && $storedJti['jti'] == $jti) {
+ return array(
+ 'issuer' => $storedJti['issuer'],
+ 'subject' => $storedJti['subject'],
+ 'audience' => $storedJti['audience'],
+ 'expires' => $storedJti['expires'],
+ 'jti' => $storedJti['jti']
+ );
+ }
+ }
+
+ return null;
+ }
+
+ public function setJti($client_id, $subject, $audience, $expires, $jti)
+ {
+ $this->jti[] = array('issuer' => $client_id, 'subject' => $subject, 'audience' => $audience, 'expires' => $expires, 'jti' => $jti);
+ }
+
+ /*PublicKeyInterface */
+ public function getPublicKey($client_id = null)
+ {
+ if (isset($this->keys[$client_id])) {
+ return $this->keys[$client_id]['public_key'];
+ }
+
+ // use a global encryption pair
+ if (isset($this->keys['public_key'])) {
+ return $this->keys['public_key'];
+ }
+
+ return false;
+ }
+
+ public function getPrivateKey($client_id = null)
+ {
+ if (isset($this->keys[$client_id])) {
+ return $this->keys[$client_id]['private_key'];
+ }
+
+ // use a global encryption pair
+ if (isset($this->keys['private_key'])) {
+ return $this->keys['private_key'];
+ }
+
+ return false;
+ }
+
+ public function getEncryptionAlgorithm($client_id = null)
+ {
+ if (isset($this->keys[$client_id]['encryption_algorithm'])) {
+ return $this->keys[$client_id]['encryption_algorithm'];
+ }
+
+ // use a global encryption algorithm
+ if (isset($this->keys['encryption_algorithm'])) {
+ return $this->keys['encryption_algorithm'];
+ }
+
+ return 'RS256';
+ }
+}
diff --git a/vendor/bshaffer/oauth2-server-php/src/OAuth2/Storage/Mongo.php b/vendor/bshaffer/oauth2-server-php/src/OAuth2/Storage/Mongo.php
new file mode 100644
index 000000000..eea06e315
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/src/OAuth2/Storage/Mongo.php
@@ -0,0 +1,392 @@
+<?php
+
+namespace OAuth2\Storage;
+
+use OAuth2\OpenID\Storage\AuthorizationCodeInterface as OpenIDAuthorizationCodeInterface;
+
+/**
+ * Simple MongoDB storage for all storage types
+ *
+ * NOTE: This class is meant to get users started
+ * quickly. If your application requires further
+ * customization, extend this class or create your own.
+ *
+ * NOTE: Passwords are stored in plaintext, which is never
+ * a good idea. Be sure to override this for your application
+ *
+ * @author Julien Chaumond <chaumond@gmail.com>
+ */
+class Mongo implements AuthorizationCodeInterface,
+ AccessTokenInterface,
+ ClientCredentialsInterface,
+ UserCredentialsInterface,
+ RefreshTokenInterface,
+ JwtBearerInterface,
+ PublicKeyInterface,
+ OpenIDAuthorizationCodeInterface
+{
+ protected $db;
+ protected $config;
+
+ public function __construct($connection, $config = array())
+ {
+ if ($connection instanceof \MongoDB) {
+ $this->db = $connection;
+ } else {
+ if (!is_array($connection)) {
+ throw new \InvalidArgumentException('First argument to OAuth2\Storage\Mongo must be an instance of MongoDB or a configuration array');
+ }
+ $server = sprintf('mongodb://%s:%d', $connection['host'], $connection['port']);
+ $m = new \MongoClient($server);
+ $this->db = $m->{$connection['database']};
+ }
+
+ $this->config = array_merge(array(
+ 'client_table' => 'oauth_clients',
+ 'access_token_table' => 'oauth_access_tokens',
+ 'refresh_token_table' => 'oauth_refresh_tokens',
+ 'code_table' => 'oauth_authorization_codes',
+ 'user_table' => 'oauth_users',
+ 'key_table' => 'oauth_keys',
+ 'jwt_table' => 'oauth_jwt',
+ ), $config);
+ }
+
+ // Helper function to access a MongoDB collection by `type`:
+ protected function collection($name)
+ {
+ return $this->db->{$this->config[$name]};
+ }
+
+ /* ClientCredentialsInterface */
+ public function checkClientCredentials($client_id, $client_secret = null)
+ {
+ if ($result = $this->collection('client_table')->findOne(array('client_id' => $client_id))) {
+ return $result['client_secret'] == $client_secret;
+ }
+
+ return false;
+ }
+
+ public function isPublicClient($client_id)
+ {
+ if (!$result = $this->collection('client_table')->findOne(array('client_id' => $client_id))) {
+ return false;
+ }
+
+ return empty($result['client_secret']);
+ }
+
+ /* ClientInterface */
+ public function getClientDetails($client_id)
+ {
+ $result = $this->collection('client_table')->findOne(array('client_id' => $client_id));
+
+ return is_null($result) ? false : $result;
+ }
+
+ public function setClientDetails($client_id, $client_secret = null, $redirect_uri = null, $grant_types = null, $scope = null, $user_id = null)
+ {
+ if ($this->getClientDetails($client_id)) {
+ $this->collection('client_table')->update(
+ array('client_id' => $client_id),
+ array('$set' => array(
+ 'client_secret' => $client_secret,
+ 'redirect_uri' => $redirect_uri,
+ 'grant_types' => $grant_types,
+ 'scope' => $scope,
+ 'user_id' => $user_id,
+ ))
+ );
+ } else {
+ $client = array(
+ 'client_id' => $client_id,
+ 'client_secret' => $client_secret,
+ 'redirect_uri' => $redirect_uri,
+ 'grant_types' => $grant_types,
+ 'scope' => $scope,
+ 'user_id' => $user_id,
+ );
+ $this->collection('client_table')->insert($client);
+ }
+
+ return true;
+ }
+
+ public function checkRestrictedGrantType($client_id, $grant_type)
+ {
+ $details = $this->getClientDetails($client_id);
+ if (isset($details['grant_types'])) {
+ $grant_types = explode(' ', $details['grant_types']);
+
+ return in_array($grant_type, $grant_types);
+ }
+
+ // if grant_types are not defined, then none are restricted
+ return true;
+ }
+
+ /* AccessTokenInterface */
+ public function getAccessToken($access_token)
+ {
+ $token = $this->collection('access_token_table')->findOne(array('access_token' => $access_token));
+
+ return is_null($token) ? false : $token;
+ }
+
+ public function setAccessToken($access_token, $client_id, $user_id, $expires, $scope = null)
+ {
+ // if it exists, update it.
+ if ($this->getAccessToken($access_token)) {
+ $this->collection('access_token_table')->update(
+ array('access_token' => $access_token),
+ array('$set' => array(
+ 'client_id' => $client_id,
+ 'expires' => $expires,
+ 'user_id' => $user_id,
+ 'scope' => $scope
+ ))
+ );
+ } else {
+ $token = array(
+ 'access_token' => $access_token,
+ 'client_id' => $client_id,
+ 'expires' => $expires,
+ 'user_id' => $user_id,
+ 'scope' => $scope
+ );
+ $this->collection('access_token_table')->insert($token);
+ }
+
+ return true;
+ }
+
+ public function unsetAccessToken($access_token)
+ {
+ $result = $this->collection('access_token_table')->remove(array(
+ 'access_token' => $access_token
+ ), array('w' => 1));
+
+ return $result['n'] > 0;
+ }
+
+
+ /* AuthorizationCodeInterface */
+ public function getAuthorizationCode($code)
+ {
+ $code = $this->collection('code_table')->findOne(array('authorization_code' => $code));
+
+ return is_null($code) ? false : $code;
+ }
+
+ public function setAuthorizationCode($code, $client_id, $user_id, $redirect_uri, $expires, $scope = null, $id_token = null)
+ {
+ // if it exists, update it.
+ if ($this->getAuthorizationCode($code)) {
+ $this->collection('code_table')->update(
+ array('authorization_code' => $code),
+ array('$set' => array(
+ 'client_id' => $client_id,
+ 'user_id' => $user_id,
+ 'redirect_uri' => $redirect_uri,
+ 'expires' => $expires,
+ 'scope' => $scope,
+ 'id_token' => $id_token,
+ ))
+ );
+ } else {
+ $token = array(
+ 'authorization_code' => $code,
+ 'client_id' => $client_id,
+ 'user_id' => $user_id,
+ 'redirect_uri' => $redirect_uri,
+ 'expires' => $expires,
+ 'scope' => $scope,
+ 'id_token' => $id_token,
+ );
+ $this->collection('code_table')->insert($token);
+ }
+
+ return true;
+ }
+
+ public function expireAuthorizationCode($code)
+ {
+ $this->collection('code_table')->remove(array('authorization_code' => $code));
+
+ return true;
+ }
+
+ /* UserCredentialsInterface */
+ public function checkUserCredentials($username, $password)
+ {
+ if ($user = $this->getUser($username)) {
+ return $this->checkPassword($user, $password);
+ }
+
+ return false;
+ }
+
+ public function getUserDetails($username)
+ {
+ if ($user = $this->getUser($username)) {
+ $user['user_id'] = $user['username'];
+ }
+
+ return $user;
+ }
+
+ /* RefreshTokenInterface */
+ public function getRefreshToken($refresh_token)
+ {
+ $token = $this->collection('refresh_token_table')->findOne(array('refresh_token' => $refresh_token));
+
+ return is_null($token) ? false : $token;
+ }
+
+ public function setRefreshToken($refresh_token, $client_id, $user_id, $expires, $scope = null)
+ {
+ $token = array(
+ 'refresh_token' => $refresh_token,
+ 'client_id' => $client_id,
+ 'user_id' => $user_id,
+ 'expires' => $expires,
+ 'scope' => $scope
+ );
+ $this->collection('refresh_token_table')->insert($token);
+
+ return true;
+ }
+
+ public function unsetRefreshToken($refresh_token)
+ {
+ $result = $this->collection('refresh_token_table')->remove(array(
+ 'refresh_token' => $refresh_token
+ ), array('w' => 1));
+
+ return $result['n'] > 0;
+ }
+
+ // plaintext passwords are bad! Override this for your application
+ protected function checkPassword($user, $password)
+ {
+ return $user['password'] == $password;
+ }
+
+ public function getUser($username)
+ {
+ $result = $this->collection('user_table')->findOne(array('username' => $username));
+
+ return is_null($result) ? false : $result;
+ }
+
+ public function setUser($username, $password, $firstName = null, $lastName = null)
+ {
+ if ($this->getUser($username)) {
+ $this->collection('user_table')->update(
+ array('username' => $username),
+ array('$set' => array(
+ 'password' => $password,
+ 'first_name' => $firstName,
+ 'last_name' => $lastName
+ ))
+ );
+ } else {
+ $user = array(
+ 'username' => $username,
+ 'password' => $password,
+ 'first_name' => $firstName,
+ 'last_name' => $lastName
+ );
+ $this->collection('user_table')->insert($user);
+ }
+
+ return true;
+ }
+
+ public function getClientKey($client_id, $subject)
+ {
+ $result = $this->collection('jwt_table')->findOne(array(
+ 'client_id' => $client_id,
+ 'subject' => $subject
+ ));
+
+ return is_null($result) ? false : $result['key'];
+ }
+
+ public function getClientScope($client_id)
+ {
+ if (!$clientDetails = $this->getClientDetails($client_id)) {
+ return false;
+ }
+
+ if (isset($clientDetails['scope'])) {
+ return $clientDetails['scope'];
+ }
+
+ return null;
+ }
+
+ public function getJti($client_id, $subject, $audience, $expiration, $jti)
+ {
+ //TODO: Needs mongodb implementation.
+ throw new \Exception('getJti() for the MongoDB driver is currently unimplemented.');
+ }
+
+ public function setJti($client_id, $subject, $audience, $expiration, $jti)
+ {
+ //TODO: Needs mongodb implementation.
+ throw new \Exception('setJti() for the MongoDB driver is currently unimplemented.');
+ }
+
+ public function getPublicKey($client_id = null)
+ {
+ if ($client_id) {
+ $result = $this->collection('key_table')->findOne(array(
+ 'client_id' => $client_id
+ ));
+ if ($result) {
+ return $result['public_key'];
+ }
+ }
+
+ $result = $this->collection('key_table')->findOne(array(
+ 'client_id' => null
+ ));
+ return is_null($result) ? false : $result['public_key'];
+ }
+
+ public function getPrivateKey($client_id = null)
+ {
+ if ($client_id) {
+ $result = $this->collection('key_table')->findOne(array(
+ 'client_id' => $client_id
+ ));
+ if ($result) {
+ return $result['private_key'];
+ }
+ }
+
+ $result = $this->collection('key_table')->findOne(array(
+ 'client_id' => null
+ ));
+ return is_null($result) ? false : $result['private_key'];
+ }
+
+ public function getEncryptionAlgorithm($client_id = null)
+ {
+ if ($client_id) {
+ $result = $this->collection('key_table')->findOne(array(
+ 'client_id' => $client_id
+ ));
+ if ($result) {
+ return $result['encryption_algorithm'];
+ }
+ }
+
+ $result = $this->collection('key_table')->findOne(array(
+ 'client_id' => null
+ ));
+ return is_null($result) ? 'RS256' : $result['encryption_algorithm'];
+ }
+}
diff --git a/vendor/bshaffer/oauth2-server-php/src/OAuth2/Storage/MongoDB.php b/vendor/bshaffer/oauth2-server-php/src/OAuth2/Storage/MongoDB.php
new file mode 100644
index 000000000..64f740fc1
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/src/OAuth2/Storage/MongoDB.php
@@ -0,0 +1,380 @@
+<?php
+
+namespace OAuth2\Storage;
+
+use MongoDB\Client;
+use MongoDB\Database;
+use OAuth2\OpenID\Storage\AuthorizationCodeInterface as OpenIDAuthorizationCodeInterface;
+
+/**
+ * Simple MongoDB storage for all storage types
+ *
+ * NOTE: This class is meant to get users started
+ * quickly. If your application requires further
+ * customization, extend this class or create your own.
+ *
+ * NOTE: Passwords are stored in plaintext, which is never
+ * a good idea. Be sure to override this for your application
+ *
+ * @author Julien Chaumond <chaumond@gmail.com>
+ */
+class MongoDB implements AuthorizationCodeInterface,
+ UserCredentialsInterface,
+ AccessTokenInterface,
+ ClientCredentialsInterface,
+ RefreshTokenInterface,
+ JwtBearerInterface,
+ PublicKeyInterface,
+ OpenIDAuthorizationCodeInterface
+{
+ protected $db;
+ protected $config;
+
+ public function __construct($connection, $config = array())
+ {
+ if ($connection instanceof Database) {
+ $this->db = $connection;
+ } else {
+ if (!is_array($connection)) {
+ throw new \InvalidArgumentException('First argument to OAuth2\Storage\Mongo must be an instance of MongoDB\Database or a configuration array');
+ }
+ $server = sprintf('mongodb://%s:%d', $connection['host'], $connection['port']);
+ $m = new Client($server);
+ $this->db = $m->selectDatabase($connection['database']);
+ }
+ $this->config = array_merge(array(
+ 'client_table' => 'oauth_clients',
+ 'access_token_table' => 'oauth_access_tokens',
+ 'refresh_token_table' => 'oauth_refresh_tokens',
+ 'code_table' => 'oauth_authorization_codes',
+ 'user_table' => 'oauth_users',
+ 'jwt_table' => 'oauth_jwt',
+ 'jti_table' => 'oauth_jti',
+ 'scope_table' => 'oauth_scopes',
+ 'key_table' => 'oauth_keys',
+ ), $config);
+ }
+
+ /* ClientCredentialsInterface */
+ public function checkClientCredentials($client_id, $client_secret = null)
+ {
+ if ($result = $this->collection('client_table')->findOne(array('client_id' => $client_id))) {
+ return $result['client_secret'] == $client_secret;
+ }
+ return false;
+ }
+
+ public function isPublicClient($client_id)
+ {
+ if (!$result = $this->collection('client_table')->findOne(array('client_id' => $client_id))) {
+ return false;
+ }
+ return empty($result['client_secret']);
+ }
+
+ /* ClientInterface */
+ public function getClientDetails($client_id)
+ {
+ $result = $this->collection('client_table')->findOne(array('client_id' => $client_id));
+ return is_null($result) ? false : $result;
+ }
+
+ public function setClientDetails($client_id, $client_secret = null, $redirect_uri = null, $grant_types = null, $scope = null, $user_id = null)
+ {
+ if ($this->getClientDetails($client_id)) {
+ $result = $this->collection('client_table')->updateOne(
+ array('client_id' => $client_id),
+ array('$set' => array(
+ 'client_secret' => $client_secret,
+ 'redirect_uri' => $redirect_uri,
+ 'grant_types' => $grant_types,
+ 'scope' => $scope,
+ 'user_id' => $user_id,
+ ))
+ );
+ return $result->getMatchedCount() > 0;
+ }
+ $client = array(
+ 'client_id' => $client_id,
+ 'client_secret' => $client_secret,
+ 'redirect_uri' => $redirect_uri,
+ 'grant_types' => $grant_types,
+ 'scope' => $scope,
+ 'user_id' => $user_id,
+ );
+ $result = $this->collection('client_table')->insertOne($client);
+ return $result->getInsertedCount() > 0;
+ }
+
+ public function checkRestrictedGrantType($client_id, $grant_type)
+ {
+ $details = $this->getClientDetails($client_id);
+ if (isset($details['grant_types'])) {
+ $grant_types = explode(' ', $details['grant_types']);
+ return in_array($grant_type, $grant_types);
+ }
+ // if grant_types are not defined, then none are restricted
+ return true;
+ }
+
+ /* AccessTokenInterface */
+ public function getAccessToken($access_token)
+ {
+ $token = $this->collection('access_token_table')->findOne(array('access_token' => $access_token));
+ return is_null($token) ? false : $token;
+ }
+
+ public function setAccessToken($access_token, $client_id, $user_id, $expires, $scope = null)
+ {
+ // if it exists, update it.
+ if ($this->getAccessToken($access_token)) {
+ $result = $this->collection('access_token_table')->updateOne(
+ array('access_token' => $access_token),
+ array('$set' => array(
+ 'client_id' => $client_id,
+ 'expires' => $expires,
+ 'user_id' => $user_id,
+ 'scope' => $scope
+ ))
+ );
+ return $result->getMatchedCount() > 0;
+ }
+ $token = array(
+ 'access_token' => $access_token,
+ 'client_id' => $client_id,
+ 'expires' => $expires,
+ 'user_id' => $user_id,
+ 'scope' => $scope
+ );
+ $result = $this->collection('access_token_table')->insertOne($token);
+ return $result->getInsertedCount() > 0;
+ }
+
+ public function unsetAccessToken($access_token)
+ {
+ $result = $this->collection('access_token_table')->deleteOne(array(
+ 'access_token' => $access_token
+ ));
+ return $result->getDeletedCount() > 0;
+ }
+
+ /* AuthorizationCodeInterface */
+ public function getAuthorizationCode($code)
+ {
+ $code = $this->collection('code_table')->findOne(array(
+ 'authorization_code' => $code
+ ));
+ return is_null($code) ? false : $code;
+ }
+
+ public function setAuthorizationCode($code, $client_id, $user_id, $redirect_uri, $expires, $scope = null, $id_token = null)
+ {
+ // if it exists, update it.
+ if ($this->getAuthorizationCode($code)) {
+ $result = $this->collection('code_table')->updateOne(
+ array('authorization_code' => $code),
+ array('$set' => array(
+ 'client_id' => $client_id,
+ 'user_id' => $user_id,
+ 'redirect_uri' => $redirect_uri,
+ 'expires' => $expires,
+ 'scope' => $scope,
+ 'id_token' => $id_token,
+ ))
+ );
+ return $result->getMatchedCount() > 0;
+ }
+ $token = array(
+ 'authorization_code' => $code,
+ 'client_id' => $client_id,
+ 'user_id' => $user_id,
+ 'redirect_uri' => $redirect_uri,
+ 'expires' => $expires,
+ 'scope' => $scope,
+ 'id_token' => $id_token,
+ );
+ $result = $this->collection('code_table')->insertOne($token);
+ return $result->getInsertedCount() > 0;
+ }
+
+ public function expireAuthorizationCode($code)
+ {
+ $result = $this->collection('code_table')->deleteOne(array(
+ 'authorization_code' => $code
+ ));
+ return $result->getDeletedCount() > 0;
+ }
+
+ /* UserCredentialsInterface */
+ public function checkUserCredentials($username, $password)
+ {
+ if ($user = $this->getUser($username)) {
+ return $this->checkPassword($user, $password);
+ }
+ return false;
+ }
+
+ public function getUserDetails($username)
+ {
+ if ($user = $this->getUser($username)) {
+ $user['user_id'] = $user['username'];
+ }
+ return $user;
+ }
+
+ /* RefreshTokenInterface */
+ public function getRefreshToken($refresh_token)
+ {
+ $token = $this->collection('refresh_token_table')->findOne(array(
+ 'refresh_token' => $refresh_token
+ ));
+ return is_null($token) ? false : $token;
+ }
+
+ public function setRefreshToken($refresh_token, $client_id, $user_id, $expires, $scope = null)
+ {
+ $token = array(
+ 'refresh_token' => $refresh_token,
+ 'client_id' => $client_id,
+ 'user_id' => $user_id,
+ 'expires' => $expires,
+ 'scope' => $scope
+ );
+ $result = $this->collection('refresh_token_table')->insertOne($token);
+ return $result->getInsertedCount() > 0;
+ }
+
+ public function unsetRefreshToken($refresh_token)
+ {
+ $result = $this->collection('refresh_token_table')->deleteOne(array(
+ 'refresh_token' => $refresh_token
+ ));
+ return $result->getDeletedCount() > 0;
+ }
+
+ // plaintext passwords are bad! Override this for your application
+ protected function checkPassword($user, $password)
+ {
+ return $user['password'] == $password;
+ }
+
+ public function getUser($username)
+ {
+ $result = $this->collection('user_table')->findOne(array('username' => $username));
+ return is_null($result) ? false : $result;
+ }
+
+ public function setUser($username, $password, $firstName = null, $lastName = null)
+ {
+ if ($this->getUser($username)) {
+ $result = $this->collection('user_table')->updateOne(
+ array('username' => $username),
+ array('$set' => array(
+ 'password' => $password,
+ 'first_name' => $firstName,
+ 'last_name' => $lastName
+ ))
+ );
+
+ return $result->getMatchedCount() > 0;
+ }
+
+ $user = array(
+ 'username' => $username,
+ 'password' => $password,
+ 'first_name' => $firstName,
+ 'last_name' => $lastName
+ );
+ $result = $this->collection('user_table')->insertOne($user);
+ return $result->getInsertedCount() > 0;
+ }
+
+ public function getClientKey($client_id, $subject)
+ {
+ $result = $this->collection('jwt_table')->findOne(array(
+ 'client_id' => $client_id,
+ 'subject' => $subject
+ ));
+ return is_null($result) ? false : $result['key'];
+ }
+
+ public function getClientScope($client_id)
+ {
+ if (!$clientDetails = $this->getClientDetails($client_id)) {
+ return false;
+ }
+ if (isset($clientDetails['scope'])) {
+ return $clientDetails['scope'];
+ }
+ return null;
+ }
+
+ public function getJti($client_id, $subject, $audience, $expires, $jti)
+ {
+ //TODO: Needs mongodb implementation.
+ throw new \Exception('getJti() for the MongoDB driver is currently unimplemented.');
+ }
+
+ public function setJti($client_id, $subject, $audience, $expires, $jti)
+ {
+ //TODO: Needs mongodb implementation.
+ throw new \Exception('setJti() for the MongoDB driver is currently unimplemented.');
+ }
+
+ public function getPublicKey($client_id = null)
+ {
+ if ($client_id) {
+ $result = $this->collection('key_table')->findOne(array(
+ 'client_id' => $client_id
+ ));
+ if ($result) {
+ return $result['public_key'];
+ }
+ }
+
+ $result = $this->collection('key_table')->findOne(array(
+ 'client_id' => null
+ ));
+ return is_null($result) ? false : $result['public_key'];
+ }
+
+ public function getPrivateKey($client_id = null)
+ {
+ if ($client_id) {
+ $result = $this->collection('key_table')->findOne(array(
+ 'client_id' => $client_id
+ ));
+ if ($result) {
+ return $result['private_key'];
+ }
+ }
+
+ $result = $this->collection('key_table')->findOne(array(
+ 'client_id' => null
+ ));
+ return is_null($result) ? false : $result['private_key'];
+ }
+
+ public function getEncryptionAlgorithm($client_id = null)
+ {
+ if ($client_id) {
+ $result = $this->collection('key_table')->findOne(array(
+ 'client_id' => $client_id
+ ));
+ if ($result) {
+ return $result['encryption_algorithm'];
+ }
+ }
+
+ $result = $this->collection('key_table')->findOne(array(
+ 'client_id' => null
+ ));
+ return is_null($result) ? 'RS256' : $result['encryption_algorithm'];
+ }
+
+ // Helper function to access a MongoDB collection by `type`:
+ protected function collection($name)
+ {
+ return $this->db->{$this->config[$name]};
+ }
+} \ No newline at end of file
diff --git a/vendor/bshaffer/oauth2-server-php/src/OAuth2/Storage/Pdo.php b/vendor/bshaffer/oauth2-server-php/src/OAuth2/Storage/Pdo.php
new file mode 100644
index 000000000..ae5107e29
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/src/OAuth2/Storage/Pdo.php
@@ -0,0 +1,553 @@
+<?php
+
+namespace OAuth2\Storage;
+
+use OAuth2\OpenID\Storage\UserClaimsInterface;
+use OAuth2\OpenID\Storage\AuthorizationCodeInterface as OpenIDAuthorizationCodeInterface;
+
+/**
+ * Simple PDO storage for all storage types
+ *
+ * NOTE: This class is meant to get users started
+ * quickly. If your application requires further
+ * customization, extend this class or create your own.
+ *
+ * NOTE: Passwords are stored in plaintext, which is never
+ * a good idea. Be sure to override this for your application
+ *
+ * @author Brent Shaffer <bshafs at gmail dot com>
+ */
+class Pdo implements
+ AuthorizationCodeInterface,
+ AccessTokenInterface,
+ ClientCredentialsInterface,
+ UserCredentialsInterface,
+ RefreshTokenInterface,
+ JwtBearerInterface,
+ ScopeInterface,
+ PublicKeyInterface,
+ UserClaimsInterface,
+ OpenIDAuthorizationCodeInterface
+{
+ protected $db;
+ protected $config;
+
+ public function __construct($connection, $config = array())
+ {
+ if (!$connection instanceof \PDO) {
+ if (is_string($connection)) {
+ $connection = array('dsn' => $connection);
+ }
+ if (!is_array($connection)) {
+ throw new \InvalidArgumentException('First argument to OAuth2\Storage\Pdo must be an instance of PDO, a DSN string, or a configuration array');
+ }
+ if (!isset($connection['dsn'])) {
+ throw new \InvalidArgumentException('configuration array must contain "dsn"');
+ }
+ // merge optional parameters
+ $connection = array_merge(array(
+ 'username' => null,
+ 'password' => null,
+ 'options' => array(),
+ ), $connection);
+ $connection = new \PDO($connection['dsn'], $connection['username'], $connection['password'], $connection['options']);
+ }
+ $this->db = $connection;
+
+ // debugging
+ $connection->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION);
+
+ $this->config = array_merge(array(
+ 'client_table' => 'oauth_clients',
+ 'access_token_table' => 'oauth_access_tokens',
+ 'refresh_token_table' => 'oauth_refresh_tokens',
+ 'code_table' => 'oauth_authorization_codes',
+ 'user_table' => 'oauth_users',
+ 'jwt_table' => 'oauth_jwt',
+ 'jti_table' => 'oauth_jti',
+ 'scope_table' => 'oauth_scopes',
+ 'public_key_table' => 'oauth_public_keys',
+ ), $config);
+ }
+
+ /* OAuth2\Storage\ClientCredentialsInterface */
+ public function checkClientCredentials($client_id, $client_secret = null)
+ {
+ $stmt = $this->db->prepare(sprintf('SELECT * from %s where client_id = :client_id', $this->config['client_table']));
+ $stmt->execute(compact('client_id'));
+ $result = $stmt->fetch(\PDO::FETCH_ASSOC);
+
+ // make this extensible
+ return $result && $result['client_secret'] == $client_secret;
+ }
+
+ public function isPublicClient($client_id)
+ {
+ $stmt = $this->db->prepare(sprintf('SELECT * from %s where client_id = :client_id', $this->config['client_table']));
+ $stmt->execute(compact('client_id'));
+
+ if (!$result = $stmt->fetch(\PDO::FETCH_ASSOC)) {
+ return false;
+ }
+
+ return empty($result['client_secret']);
+ }
+
+ /* OAuth2\Storage\ClientInterface */
+ public function getClientDetails($client_id)
+ {
+ $stmt = $this->db->prepare(sprintf('SELECT * from %s where client_id = :client_id', $this->config['client_table']));
+ $stmt->execute(compact('client_id'));
+
+ return $stmt->fetch(\PDO::FETCH_ASSOC);
+ }
+
+ public function setClientDetails($client_id, $client_secret = null, $redirect_uri = null, $grant_types = null, $scope = null, $user_id = null)
+ {
+ // if it exists, update it.
+ if ($this->getClientDetails($client_id)) {
+ $stmt = $this->db->prepare($sql = sprintf('UPDATE %s SET client_secret=:client_secret, redirect_uri=:redirect_uri, grant_types=:grant_types, scope=:scope, user_id=:user_id where client_id=:client_id', $this->config['client_table']));
+ } else {
+ $stmt = $this->db->prepare(sprintf('INSERT INTO %s (client_id, client_secret, redirect_uri, grant_types, scope, user_id) VALUES (:client_id, :client_secret, :redirect_uri, :grant_types, :scope, :user_id)', $this->config['client_table']));
+ }
+
+ return $stmt->execute(compact('client_id', 'client_secret', 'redirect_uri', 'grant_types', 'scope', 'user_id'));
+ }
+
+ public function checkRestrictedGrantType($client_id, $grant_type)
+ {
+ $details = $this->getClientDetails($client_id);
+ if (isset($details['grant_types'])) {
+ $grant_types = explode(' ', $details['grant_types']);
+
+ return in_array($grant_type, (array) $grant_types);
+ }
+
+ // if grant_types are not defined, then none are restricted
+ return true;
+ }
+
+ /* OAuth2\Storage\AccessTokenInterface */
+ public function getAccessToken($access_token)
+ {
+ $stmt = $this->db->prepare(sprintf('SELECT * from %s where access_token = :access_token', $this->config['access_token_table']));
+
+ $token = $stmt->execute(compact('access_token'));
+ if ($token = $stmt->fetch(\PDO::FETCH_ASSOC)) {
+ // convert date string back to timestamp
+ $token['expires'] = strtotime($token['expires']);
+ }
+
+ return $token;
+ }
+
+ public function setAccessToken($access_token, $client_id, $user_id, $expires, $scope = null)
+ {
+ // convert expires to datestring
+ $expires = date('Y-m-d H:i:s', $expires);
+
+ // if it exists, update it.
+ if ($this->getAccessToken($access_token)) {
+ $stmt = $this->db->prepare(sprintf('UPDATE %s SET client_id=:client_id, expires=:expires, user_id=:user_id, scope=:scope where access_token=:access_token', $this->config['access_token_table']));
+ } else {
+ $stmt = $this->db->prepare(sprintf('INSERT INTO %s (access_token, client_id, expires, user_id, scope) VALUES (:access_token, :client_id, :expires, :user_id, :scope)', $this->config['access_token_table']));
+ }
+
+ return $stmt->execute(compact('access_token', 'client_id', 'user_id', 'expires', 'scope'));
+ }
+
+ public function unsetAccessToken($access_token)
+ {
+ $stmt = $this->db->prepare(sprintf('DELETE FROM %s WHERE access_token = :access_token', $this->config['access_token_table']));
+
+ $stmt->execute(compact('access_token'));
+
+ return $stmt->rowCount() > 0;
+ }
+
+ /* OAuth2\Storage\AuthorizationCodeInterface */
+ public function getAuthorizationCode($code)
+ {
+ $stmt = $this->db->prepare(sprintf('SELECT * from %s where authorization_code = :code', $this->config['code_table']));
+ $stmt->execute(compact('code'));
+
+ if ($code = $stmt->fetch(\PDO::FETCH_ASSOC)) {
+ // convert date string back to timestamp
+ $code['expires'] = strtotime($code['expires']);
+ }
+
+ return $code;
+ }
+
+ public function setAuthorizationCode($code, $client_id, $user_id, $redirect_uri, $expires, $scope = null, $id_token = null)
+ {
+ if (func_num_args() > 6) {
+ // we are calling with an id token
+ return call_user_func_array(array($this, 'setAuthorizationCodeWithIdToken'), func_get_args());
+ }
+
+ // convert expires to datestring
+ $expires = date('Y-m-d H:i:s', $expires);
+
+ // if it exists, update it.
+ if ($this->getAuthorizationCode($code)) {
+ $stmt = $this->db->prepare($sql = sprintf('UPDATE %s SET client_id=:client_id, user_id=:user_id, redirect_uri=:redirect_uri, expires=:expires, scope=:scope where authorization_code=:code', $this->config['code_table']));
+ } else {
+ $stmt = $this->db->prepare(sprintf('INSERT INTO %s (authorization_code, client_id, user_id, redirect_uri, expires, scope) VALUES (:code, :client_id, :user_id, :redirect_uri, :expires, :scope)', $this->config['code_table']));
+ }
+
+ return $stmt->execute(compact('code', 'client_id', 'user_id', 'redirect_uri', 'expires', 'scope'));
+ }
+
+ private function setAuthorizationCodeWithIdToken($code, $client_id, $user_id, $redirect_uri, $expires, $scope = null, $id_token = null)
+ {
+ // convert expires to datestring
+ $expires = date('Y-m-d H:i:s', $expires);
+
+ // if it exists, update it.
+ if ($this->getAuthorizationCode($code)) {
+ $stmt = $this->db->prepare($sql = sprintf('UPDATE %s SET client_id=:client_id, user_id=:user_id, redirect_uri=:redirect_uri, expires=:expires, scope=:scope, id_token =:id_token where authorization_code=:code', $this->config['code_table']));
+ } else {
+ $stmt = $this->db->prepare(sprintf('INSERT INTO %s (authorization_code, client_id, user_id, redirect_uri, expires, scope, id_token) VALUES (:code, :client_id, :user_id, :redirect_uri, :expires, :scope, :id_token)', $this->config['code_table']));
+ }
+
+ return $stmt->execute(compact('code', 'client_id', 'user_id', 'redirect_uri', 'expires', 'scope', 'id_token'));
+ }
+
+ public function expireAuthorizationCode($code)
+ {
+ $stmt = $this->db->prepare(sprintf('DELETE FROM %s WHERE authorization_code = :code', $this->config['code_table']));
+
+ return $stmt->execute(compact('code'));
+ }
+
+ /* OAuth2\Storage\UserCredentialsInterface */
+ public function checkUserCredentials($username, $password)
+ {
+ if ($user = $this->getUser($username)) {
+ return $this->checkPassword($user, $password);
+ }
+
+ return false;
+ }
+
+ public function getUserDetails($username)
+ {
+ return $this->getUser($username);
+ }
+
+ /* UserClaimsInterface */
+ public function getUserClaims($user_id, $claims)
+ {
+ if (!$userDetails = $this->getUserDetails($user_id)) {
+ return false;
+ }
+
+ $claims = explode(' ', trim($claims));
+ $userClaims = array();
+
+ // for each requested claim, if the user has the claim, set it in the response
+ $validClaims = explode(' ', self::VALID_CLAIMS);
+ foreach ($validClaims as $validClaim) {
+ if (in_array($validClaim, $claims)) {
+ if ($validClaim == 'address') {
+ // address is an object with subfields
+ $userClaims['address'] = $this->getUserClaim($validClaim, $userDetails['address'] ?: $userDetails);
+ } else {
+ $userClaims = array_merge($userClaims, $this->getUserClaim($validClaim, $userDetails));
+ }
+ }
+ }
+
+ return $userClaims;
+ }
+
+ protected function getUserClaim($claim, $userDetails)
+ {
+ $userClaims = array();
+ $claimValuesString = constant(sprintf('self::%s_CLAIM_VALUES', strtoupper($claim)));
+ $claimValues = explode(' ', $claimValuesString);
+
+ foreach ($claimValues as $value) {
+ $userClaims[$value] = isset($userDetails[$value]) ? $userDetails[$value] : null;
+ }
+
+ return $userClaims;
+ }
+
+ /* OAuth2\Storage\RefreshTokenInterface */
+ public function getRefreshToken($refresh_token)
+ {
+ $stmt = $this->db->prepare(sprintf('SELECT * FROM %s WHERE refresh_token = :refresh_token', $this->config['refresh_token_table']));
+
+ $token = $stmt->execute(compact('refresh_token'));
+ if ($token = $stmt->fetch(\PDO::FETCH_ASSOC)) {
+ // convert expires to epoch time
+ $token['expires'] = strtotime($token['expires']);
+ }
+
+ return $token;
+ }
+
+ public function setRefreshToken($refresh_token, $client_id, $user_id, $expires, $scope = null)
+ {
+ // convert expires to datestring
+ $expires = date('Y-m-d H:i:s', $expires);
+
+ $stmt = $this->db->prepare(sprintf('INSERT INTO %s (refresh_token, client_id, user_id, expires, scope) VALUES (:refresh_token, :client_id, :user_id, :expires, :scope)', $this->config['refresh_token_table']));
+
+ return $stmt->execute(compact('refresh_token', 'client_id', 'user_id', 'expires', 'scope'));
+ }
+
+ public function unsetRefreshToken($refresh_token)
+ {
+ $stmt = $this->db->prepare(sprintf('DELETE FROM %s WHERE refresh_token = :refresh_token', $this->config['refresh_token_table']));
+
+ $stmt->execute(compact('refresh_token'));
+
+ return $stmt->rowCount() > 0;
+ }
+
+ // plaintext passwords are bad! Override this for your application
+ protected function checkPassword($user, $password)
+ {
+ return $user['password'] == $this->hashPassword($password);
+ }
+
+ // use a secure hashing algorithm when storing passwords. Override this for your application
+ protected function hashPassword($password)
+ {
+ return sha1($password);
+ }
+
+ public function getUser($username)
+ {
+ $stmt = $this->db->prepare($sql = sprintf('SELECT * from %s where username=:username', $this->config['user_table']));
+ $stmt->execute(array('username' => $username));
+
+ if (!$userInfo = $stmt->fetch(\PDO::FETCH_ASSOC)) {
+ return false;
+ }
+
+ // the default behavior is to use "username" as the user_id
+ return array_merge(array(
+ 'user_id' => $username
+ ), $userInfo);
+ }
+
+ public function setUser($username, $password, $firstName = null, $lastName = null)
+ {
+ // do not store in plaintext
+ $password = $this->hashPassword($password);
+
+ // if it exists, update it.
+ if ($this->getUser($username)) {
+ $stmt = $this->db->prepare($sql = sprintf('UPDATE %s SET password=:password, first_name=:firstName, last_name=:lastName where username=:username', $this->config['user_table']));
+ } else {
+ $stmt = $this->db->prepare(sprintf('INSERT INTO %s (username, password, first_name, last_name) VALUES (:username, :password, :firstName, :lastName)', $this->config['user_table']));
+ }
+
+ return $stmt->execute(compact('username', 'password', 'firstName', 'lastName'));
+ }
+
+ /* ScopeInterface */
+ public function scopeExists($scope)
+ {
+ $scope = explode(' ', $scope);
+ $whereIn = implode(',', array_fill(0, count($scope), '?'));
+ $stmt = $this->db->prepare(sprintf('SELECT count(scope) as count FROM %s WHERE scope IN (%s)', $this->config['scope_table'], $whereIn));
+ $stmt->execute($scope);
+
+ if ($result = $stmt->fetch(\PDO::FETCH_ASSOC)) {
+ return $result['count'] == count($scope);
+ }
+
+ return false;
+ }
+
+ public function getDefaultScope($client_id = null)
+ {
+ $stmt = $this->db->prepare(sprintf('SELECT scope FROM %s WHERE is_default=:is_default', $this->config['scope_table']));
+ $stmt->execute(array('is_default' => true));
+
+ if ($result = $stmt->fetchAll(\PDO::FETCH_ASSOC)) {
+ $defaultScope = array_map(function ($row) {
+ return $row['scope'];
+ }, $result);
+
+ return implode(' ', $defaultScope);
+ }
+
+ return null;
+ }
+
+ /* JWTBearerInterface */
+ public function getClientKey($client_id, $subject)
+ {
+ $stmt = $this->db->prepare($sql = sprintf('SELECT public_key from %s where client_id=:client_id AND subject=:subject', $this->config['jwt_table']));
+
+ $stmt->execute(array('client_id' => $client_id, 'subject' => $subject));
+
+ return $stmt->fetchColumn();
+ }
+
+ public function getClientScope($client_id)
+ {
+ if (!$clientDetails = $this->getClientDetails($client_id)) {
+ return false;
+ }
+
+ if (isset($clientDetails['scope'])) {
+ return $clientDetails['scope'];
+ }
+
+ return null;
+ }
+
+ public function getJti($client_id, $subject, $audience, $expires, $jti)
+ {
+ $stmt = $this->db->prepare($sql = sprintf('SELECT * FROM %s WHERE issuer=:client_id AND subject=:subject AND audience=:audience AND expires=:expires AND jti=:jti', $this->config['jti_table']));
+
+ $stmt->execute(compact('client_id', 'subject', 'audience', 'expires', 'jti'));
+
+ if ($result = $stmt->fetch(\PDO::FETCH_ASSOC)) {
+ return array(
+ 'issuer' => $result['issuer'],
+ 'subject' => $result['subject'],
+ 'audience' => $result['audience'],
+ 'expires' => $result['expires'],
+ 'jti' => $result['jti'],
+ );
+ }
+
+ return null;
+ }
+
+ public function setJti($client_id, $subject, $audience, $expires, $jti)
+ {
+ $stmt = $this->db->prepare(sprintf('INSERT INTO %s (issuer, subject, audience, expires, jti) VALUES (:client_id, :subject, :audience, :expires, :jti)', $this->config['jti_table']));
+
+ return $stmt->execute(compact('client_id', 'subject', 'audience', 'expires', 'jti'));
+ }
+
+ /* PublicKeyInterface */
+ public function getPublicKey($client_id = null)
+ {
+ $stmt = $this->db->prepare($sql = sprintf('SELECT public_key FROM %s WHERE client_id=:client_id OR client_id IS NULL ORDER BY client_id IS NOT NULL DESC', $this->config['public_key_table']));
+
+ $stmt->execute(compact('client_id'));
+ if ($result = $stmt->fetch(\PDO::FETCH_ASSOC)) {
+ return $result['public_key'];
+ }
+ }
+
+ public function getPrivateKey($client_id = null)
+ {
+ $stmt = $this->db->prepare($sql = sprintf('SELECT private_key FROM %s WHERE client_id=:client_id OR client_id IS NULL ORDER BY client_id IS NOT NULL DESC', $this->config['public_key_table']));
+
+ $stmt->execute(compact('client_id'));
+ if ($result = $stmt->fetch(\PDO::FETCH_ASSOC)) {
+ return $result['private_key'];
+ }
+ }
+
+ public function getEncryptionAlgorithm($client_id = null)
+ {
+ $stmt = $this->db->prepare($sql = sprintf('SELECT encryption_algorithm FROM %s WHERE client_id=:client_id OR client_id IS NULL ORDER BY client_id IS NOT NULL DESC', $this->config['public_key_table']));
+
+ $stmt->execute(compact('client_id'));
+ if ($result = $stmt->fetch(\PDO::FETCH_ASSOC)) {
+ return $result['encryption_algorithm'];
+ }
+
+ return 'RS256';
+ }
+
+ /**
+ * DDL to create OAuth2 database and tables for PDO storage
+ *
+ * @see https://github.com/dsquier/oauth2-server-php-mysql
+ */
+ public function getBuildSql($dbName = 'oauth2_server_php')
+ {
+ $sql = "
+ CREATE TABLE {$this->config['client_table']} (
+ client_id VARCHAR(80) NOT NULL,
+ client_secret VARCHAR(80),
+ redirect_uri VARCHAR(2000),
+ grant_types VARCHAR(80),
+ scope VARCHAR(4000),
+ user_id VARCHAR(80),
+ PRIMARY KEY (client_id)
+ );
+
+ CREATE TABLE {$this->config['access_token_table']} (
+ access_token VARCHAR(40) NOT NULL,
+ client_id VARCHAR(80) NOT NULL,
+ user_id VARCHAR(80),
+ expires TIMESTAMP NOT NULL,
+ scope VARCHAR(4000),
+ PRIMARY KEY (access_token)
+ );
+
+ CREATE TABLE {$this->config['code_table']} (
+ authorization_code VARCHAR(40) NOT NULL,
+ client_id VARCHAR(80) NOT NULL,
+ user_id VARCHAR(80),
+ redirect_uri VARCHAR(2000),
+ expires TIMESTAMP NOT NULL,
+ scope VARCHAR(4000),
+ id_token VARCHAR(1000),
+ PRIMARY KEY (authorization_code)
+ );
+
+ CREATE TABLE {$this->config['refresh_token_table']} (
+ refresh_token VARCHAR(40) NOT NULL,
+ client_id VARCHAR(80) NOT NULL,
+ user_id VARCHAR(80),
+ expires TIMESTAMP NOT NULL,
+ scope VARCHAR(4000),
+ PRIMARY KEY (refresh_token)
+ );
+
+ CREATE TABLE {$this->config['user_table']} (
+ username VARCHAR(80),
+ password VARCHAR(80),
+ first_name VARCHAR(80),
+ last_name VARCHAR(80),
+ email VARCHAR(80),
+ email_verified BOOLEAN,
+ scope VARCHAR(4000)
+ );
+
+ CREATE TABLE {$this->config['scope_table']} (
+ scope VARCHAR(80) NOT NULL,
+ is_default BOOLEAN,
+ PRIMARY KEY (scope)
+ );
+
+ CREATE TABLE {$this->config['jwt_table']} (
+ client_id VARCHAR(80) NOT NULL,
+ subject VARCHAR(80),
+ public_key VARCHAR(2000) NOT NULL
+ );
+
+ CREATE TABLE {$this->config['jti_table']} (
+ issuer VARCHAR(80) NOT NULL,
+ subject VARCHAR(80),
+ audience VARCHAR(80),
+ expires TIMESTAMP NOT NULL,
+ jti VARCHAR(2000) NOT NULL
+ );
+
+ CREATE TABLE {$this->config['public_key_table']} (
+ client_id VARCHAR(80),
+ public_key VARCHAR(2000),
+ private_key VARCHAR(2000),
+ encryption_algorithm VARCHAR(100) DEFAULT 'RS256'
+ )
+";
+
+ return $sql;
+ }
+}
diff --git a/vendor/bshaffer/oauth2-server-php/src/OAuth2/Storage/PublicKeyInterface.php b/vendor/bshaffer/oauth2-server-php/src/OAuth2/Storage/PublicKeyInterface.php
new file mode 100644
index 000000000..108418d3a
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/src/OAuth2/Storage/PublicKeyInterface.php
@@ -0,0 +1,16 @@
+<?php
+
+namespace OAuth2\Storage;
+
+/**
+ * Implement this interface to specify where the OAuth2 Server
+ * should get public/private key information
+ *
+ * @author Brent Shaffer <bshafs at gmail dot com>
+ */
+interface PublicKeyInterface
+{
+ public function getPublicKey($client_id = null);
+ public function getPrivateKey($client_id = null);
+ public function getEncryptionAlgorithm($client_id = null);
+}
diff --git a/vendor/bshaffer/oauth2-server-php/src/OAuth2/Storage/Redis.php b/vendor/bshaffer/oauth2-server-php/src/OAuth2/Storage/Redis.php
new file mode 100644
index 000000000..e6294e22d
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/src/OAuth2/Storage/Redis.php
@@ -0,0 +1,321 @@
+<?php
+
+namespace OAuth2\Storage;
+
+use OAuth2\OpenID\Storage\AuthorizationCodeInterface as OpenIDAuthorizationCodeInterface;
+
+/**
+ * redis storage for all storage types
+ *
+ * To use, install "predis/predis" via composer
+ *
+ * Register client:
+ * <code>
+ * $storage = new OAuth2\Storage\Redis($redis);
+ * $storage->setClientDetails($client_id, $client_secret, $redirect_uri);
+ * </code>
+ */
+class Redis implements AuthorizationCodeInterface,
+ AccessTokenInterface,
+ ClientCredentialsInterface,
+ UserCredentialsInterface,
+ RefreshTokenInterface,
+ JwtBearerInterface,
+ ScopeInterface,
+ OpenIDAuthorizationCodeInterface
+{
+
+ private $cache;
+
+ /* The redis client */
+ protected $redis;
+
+ /* Configuration array */
+ protected $config;
+
+ /**
+ * Redis Storage!
+ *
+ * @param \Predis\Client $redis
+ * @param array $config
+ */
+ public function __construct($redis, $config=array())
+ {
+ $this->redis = $redis;
+ $this->config = array_merge(array(
+ 'client_key' => 'oauth_clients:',
+ 'access_token_key' => 'oauth_access_tokens:',
+ 'refresh_token_key' => 'oauth_refresh_tokens:',
+ 'code_key' => 'oauth_authorization_codes:',
+ 'user_key' => 'oauth_users:',
+ 'jwt_key' => 'oauth_jwt:',
+ 'scope_key' => 'oauth_scopes:',
+ ), $config);
+ }
+
+ protected function getValue($key)
+ {
+ if ( isset($this->cache[$key]) ) {
+ return $this->cache[$key];
+ }
+ $value = $this->redis->get($key);
+ if ( isset($value) ) {
+ return json_decode($value, true);
+ } else {
+ return false;
+ }
+ }
+
+ protected function setValue($key, $value, $expire=0)
+ {
+ $this->cache[$key] = $value;
+ $str = json_encode($value);
+ if ($expire > 0) {
+ $seconds = $expire - time();
+ $ret = $this->redis->setex($key, $seconds, $str);
+ } else {
+ $ret = $this->redis->set($key, $str);
+ }
+
+ // check that the key was set properly
+ // if this fails, an exception will usually thrown, so this step isn't strictly necessary
+ return is_bool($ret) ? $ret : $ret->getPayload() == 'OK';
+ }
+
+ protected function expireValue($key)
+ {
+ unset($this->cache[$key]);
+
+ return $this->redis->del($key);
+ }
+
+ /* AuthorizationCodeInterface */
+ public function getAuthorizationCode($code)
+ {
+ return $this->getValue($this->config['code_key'] . $code);
+ }
+
+ public function setAuthorizationCode($authorization_code, $client_id, $user_id, $redirect_uri, $expires, $scope = null, $id_token = null)
+ {
+ return $this->setValue(
+ $this->config['code_key'] . $authorization_code,
+ compact('authorization_code', 'client_id', 'user_id', 'redirect_uri', 'expires', 'scope', 'id_token'),
+ $expires
+ );
+ }
+
+ public function expireAuthorizationCode($code)
+ {
+ $key = $this->config['code_key'] . $code;
+ unset($this->cache[$key]);
+
+ return $this->expireValue($key);
+ }
+
+ /* UserCredentialsInterface */
+ public function checkUserCredentials($username, $password)
+ {
+ $user = $this->getUserDetails($username);
+
+ return $user && $user['password'] === $password;
+ }
+
+ public function getUserDetails($username)
+ {
+ return $this->getUser($username);
+ }
+
+ public function getUser($username)
+ {
+ if (!$userInfo = $this->getValue($this->config['user_key'] . $username)) {
+ return false;
+ }
+
+ // the default behavior is to use "username" as the user_id
+ return array_merge(array(
+ 'user_id' => $username,
+ ), $userInfo);
+ }
+
+ public function setUser($username, $password, $first_name = null, $last_name = null)
+ {
+ return $this->setValue(
+ $this->config['user_key'] . $username,
+ compact('username', 'password', 'first_name', 'last_name')
+ );
+ }
+
+ /* ClientCredentialsInterface */
+ public function checkClientCredentials($client_id, $client_secret = null)
+ {
+ if (!$client = $this->getClientDetails($client_id)) {
+ return false;
+ }
+
+ return isset($client['client_secret'])
+ && $client['client_secret'] == $client_secret;
+ }
+
+ public function isPublicClient($client_id)
+ {
+ if (!$client = $this->getClientDetails($client_id)) {
+ return false;
+ }
+
+ return empty($client['client_secret']);
+ }
+
+ /* ClientInterface */
+ public function getClientDetails($client_id)
+ {
+ return $this->getValue($this->config['client_key'] . $client_id);
+ }
+
+ public function setClientDetails($client_id, $client_secret = null, $redirect_uri = null, $grant_types = null, $scope = null, $user_id = null)
+ {
+ return $this->setValue(
+ $this->config['client_key'] . $client_id,
+ compact('client_id', 'client_secret', 'redirect_uri', 'grant_types', 'scope', 'user_id')
+ );
+ }
+
+ public function checkRestrictedGrantType($client_id, $grant_type)
+ {
+ $details = $this->getClientDetails($client_id);
+ if (isset($details['grant_types'])) {
+ $grant_types = explode(' ', $details['grant_types']);
+
+ return in_array($grant_type, (array) $grant_types);
+ }
+
+ // if grant_types are not defined, then none are restricted
+ return true;
+ }
+
+ /* RefreshTokenInterface */
+ public function getRefreshToken($refresh_token)
+ {
+ return $this->getValue($this->config['refresh_token_key'] . $refresh_token);
+ }
+
+ public function setRefreshToken($refresh_token, $client_id, $user_id, $expires, $scope = null)
+ {
+ return $this->setValue(
+ $this->config['refresh_token_key'] . $refresh_token,
+ compact('refresh_token', 'client_id', 'user_id', 'expires', 'scope'),
+ $expires
+ );
+ }
+
+ public function unsetRefreshToken($refresh_token)
+ {
+ $result = $this->expireValue($this->config['refresh_token_key'] . $refresh_token);
+
+ return $result > 0;
+ }
+
+ /* AccessTokenInterface */
+ public function getAccessToken($access_token)
+ {
+ return $this->getValue($this->config['access_token_key'].$access_token);
+ }
+
+ public function setAccessToken($access_token, $client_id, $user_id, $expires, $scope = null)
+ {
+ return $this->setValue(
+ $this->config['access_token_key'].$access_token,
+ compact('access_token', 'client_id', 'user_id', 'expires', 'scope'),
+ $expires
+ );
+ }
+
+ public function unsetAccessToken($access_token)
+ {
+ $result = $this->expireValue($this->config['access_token_key'] . $access_token);
+
+ return $result > 0;
+ }
+
+ /* ScopeInterface */
+ public function scopeExists($scope)
+ {
+ $scope = explode(' ', $scope);
+
+ $result = $this->getValue($this->config['scope_key'].'supported:global');
+
+ $supportedScope = explode(' ', (string) $result);
+
+ return (count(array_diff($scope, $supportedScope)) == 0);
+ }
+
+ public function getDefaultScope($client_id = null)
+ {
+ if (is_null($client_id) || !$result = $this->getValue($this->config['scope_key'].'default:'.$client_id)) {
+ $result = $this->getValue($this->config['scope_key'].'default:global');
+ }
+
+ return $result;
+ }
+
+ public function setScope($scope, $client_id = null, $type = 'supported')
+ {
+ if (!in_array($type, array('default', 'supported'))) {
+ throw new \InvalidArgumentException('"$type" must be one of "default", "supported"');
+ }
+
+ if (is_null($client_id)) {
+ $key = $this->config['scope_key'].$type.':global';
+ } else {
+ $key = $this->config['scope_key'].$type.':'.$client_id;
+ }
+
+ return $this->setValue($key, $scope);
+ }
+
+ /*JWTBearerInterface */
+ public function getClientKey($client_id, $subject)
+ {
+ if (!$jwt = $this->getValue($this->config['jwt_key'] . $client_id)) {
+ return false;
+ }
+
+ if (isset($jwt['subject']) && $jwt['subject'] == $subject) {
+ return $jwt['key'];
+ }
+
+ return null;
+ }
+
+ public function setClientKey($client_id, $key, $subject = null)
+ {
+ return $this->setValue($this->config['jwt_key'] . $client_id, array(
+ 'key' => $key,
+ 'subject' => $subject
+ ));
+ }
+
+ public function getClientScope($client_id)
+ {
+ if (!$clientDetails = $this->getClientDetails($client_id)) {
+ return false;
+ }
+
+ if (isset($clientDetails['scope'])) {
+ return $clientDetails['scope'];
+ }
+
+ return null;
+ }
+
+ public function getJti($client_id, $subject, $audience, $expiration, $jti)
+ {
+ //TODO: Needs redis implementation.
+ throw new \Exception('getJti() for the Redis driver is currently unimplemented.');
+ }
+
+ public function setJti($client_id, $subject, $audience, $expiration, $jti)
+ {
+ //TODO: Needs redis implementation.
+ throw new \Exception('setJti() for the Redis driver is currently unimplemented.');
+ }
+}
diff --git a/vendor/bshaffer/oauth2-server-php/src/OAuth2/Storage/RefreshTokenInterface.php b/vendor/bshaffer/oauth2-server-php/src/OAuth2/Storage/RefreshTokenInterface.php
new file mode 100644
index 000000000..e6407e440
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/src/OAuth2/Storage/RefreshTokenInterface.php
@@ -0,0 +1,82 @@
+<?php
+
+namespace OAuth2\Storage;
+
+/**
+ * Implement this interface to specify where the OAuth2 Server
+ * should get/save refresh tokens for the "Refresh Token"
+ * grant type
+ *
+ * @author Brent Shaffer <bshafs at gmail dot com>
+ */
+interface RefreshTokenInterface
+{
+ /**
+ * Grant refresh access tokens.
+ *
+ * Retrieve the stored data for the given refresh token.
+ *
+ * Required for OAuth2::GRANT_TYPE_REFRESH_TOKEN.
+ *
+ * @param $refresh_token
+ * Refresh token to be check with.
+ *
+ * @return
+ * An associative array as below, and NULL if the refresh_token is
+ * invalid:
+ * - refresh_token: Refresh token identifier.
+ * - client_id: Client identifier.
+ * - user_id: User identifier.
+ * - expires: Expiration unix timestamp, or 0 if the token doesn't expire.
+ * - scope: (optional) Scope values in space-separated string.
+ *
+ * @see http://tools.ietf.org/html/rfc6749#section-6
+ *
+ * @ingroup oauth2_section_6
+ */
+ public function getRefreshToken($refresh_token);
+
+ /**
+ * Take the provided refresh token values and store them somewhere.
+ *
+ * This function should be the storage counterpart to getRefreshToken().
+ *
+ * If storage fails for some reason, we're not currently checking for
+ * any sort of success/failure, so you should bail out of the script
+ * and provide a descriptive fail message.
+ *
+ * Required for OAuth2::GRANT_TYPE_REFRESH_TOKEN.
+ *
+ * @param $refresh_token
+ * Refresh token to be stored.
+ * @param $client_id
+ * Client identifier to be stored.
+ * @param $user_id
+ * User identifier to be stored.
+ * @param $expires
+ * Expiration timestamp to be stored. 0 if the token doesn't expire.
+ * @param $scope
+ * (optional) Scopes to be stored in space-separated string.
+ *
+ * @ingroup oauth2_section_6
+ */
+ public function setRefreshToken($refresh_token, $client_id, $user_id, $expires, $scope = null);
+
+ /**
+ * Expire a used refresh token.
+ *
+ * This is not explicitly required in the spec, but is almost implied.
+ * After granting a new refresh token, the old one is no longer useful and
+ * so should be forcibly expired in the data store so it can't be used again.
+ *
+ * If storage fails for some reason, we're not currently checking for
+ * any sort of success/failure, so you should bail out of the script
+ * and provide a descriptive fail message.
+ *
+ * @param $refresh_token
+ * Refresh token to be expired.
+ *
+ * @ingroup oauth2_section_6
+ */
+ public function unsetRefreshToken($refresh_token);
+}
diff --git a/vendor/bshaffer/oauth2-server-php/src/OAuth2/Storage/ScopeInterface.php b/vendor/bshaffer/oauth2-server-php/src/OAuth2/Storage/ScopeInterface.php
new file mode 100644
index 000000000..a8292269b
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/src/OAuth2/Storage/ScopeInterface.php
@@ -0,0 +1,46 @@
+<?php
+
+namespace OAuth2\Storage;
+
+/**
+ * Implement this interface to specify where the OAuth2 Server
+ * should retrieve data involving the relevent scopes associated
+ * with this implementation.
+ *
+ * @author Brent Shaffer <bshafs at gmail dot com>
+ */
+interface ScopeInterface
+{
+ /**
+ * Check if the provided scope exists.
+ *
+ * @param $scope
+ * A space-separated string of scopes.
+ *
+ * @return
+ * TRUE if it exists, FALSE otherwise.
+ */
+ public function scopeExists($scope);
+
+ /**
+ * The default scope to use in the event the client
+ * does not request one. By returning "false", a
+ * request_error is returned by the server to force a
+ * scope request by the client. By returning "null",
+ * opt out of requiring scopes
+ *
+ * @param $client_id
+ * An optional client id that can be used to return customized default scopes.
+ *
+ * @return
+ * string representation of default scope, null if
+ * scopes are not defined, or false to force scope
+ * request by the client
+ *
+ * ex:
+ * 'default'
+ * ex:
+ * null
+ */
+ public function getDefaultScope($client_id = null);
+}
diff --git a/vendor/bshaffer/oauth2-server-php/src/OAuth2/Storage/UserCredentialsInterface.php b/vendor/bshaffer/oauth2-server-php/src/OAuth2/Storage/UserCredentialsInterface.php
new file mode 100644
index 000000000..6e0fd7bad
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/src/OAuth2/Storage/UserCredentialsInterface.php
@@ -0,0 +1,52 @@
+<?php
+
+namespace OAuth2\Storage;
+
+/**
+ * Implement this interface to specify where the OAuth2 Server
+ * should retrieve user credentials for the
+ * "Resource Owner Password Credentials" grant type
+ *
+ * @author Brent Shaffer <bshafs at gmail dot com>
+ */
+interface UserCredentialsInterface
+{
+ /**
+ * Grant access tokens for basic user credentials.
+ *
+ * Check the supplied username and password for validity.
+ *
+ * You can also use the $client_id param to do any checks required based
+ * on a client, if you need that.
+ *
+ * Required for OAuth2::GRANT_TYPE_USER_CREDENTIALS.
+ *
+ * @param $username
+ * Username to be check with.
+ * @param $password
+ * Password to be check with.
+ *
+ * @return
+ * TRUE if the username and password are valid, and FALSE if it isn't.
+ * Moreover, if the username and password are valid, and you want to
+ *
+ * @see http://tools.ietf.org/html/rfc6749#section-4.3
+ *
+ * @ingroup oauth2_section_4
+ */
+ public function checkUserCredentials($username, $password);
+
+ /**
+ * @return
+ * ARRAY the associated "user_id" and optional "scope" values
+ * This function MUST return FALSE if the requested user does not exist or is
+ * invalid. "scope" is a space-separated list of restricted scopes.
+ * @code
+ * return array(
+ * "user_id" => USER_ID, // REQUIRED user_id to be stored with the authorization code or access token
+ * "scope" => SCOPE // OPTIONAL space-separated list of restricted scopes
+ * );
+ * @endcode
+ */
+ public function getUserDetails($username);
+}
diff --git a/vendor/bshaffer/oauth2-server-php/src/OAuth2/TokenType/Bearer.php b/vendor/bshaffer/oauth2-server-php/src/OAuth2/TokenType/Bearer.php
new file mode 100644
index 000000000..8ac8596ac
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/src/OAuth2/TokenType/Bearer.php
@@ -0,0 +1,130 @@
+<?php
+
+namespace OAuth2\TokenType;
+
+use OAuth2\RequestInterface;
+use OAuth2\ResponseInterface;
+
+/**
+*
+*/
+class Bearer implements TokenTypeInterface
+{
+ private $config;
+
+ public function __construct(array $config = array())
+ {
+ $this->config = array_merge(array(
+ 'token_param_name' => 'access_token',
+ 'token_bearer_header_name' => 'Bearer',
+ ), $config);
+ }
+
+ public function getTokenType()
+ {
+ return 'Bearer';
+ }
+
+ /**
+ * Check if the request has supplied token
+ *
+ * @see https://github.com/bshaffer/oauth2-server-php/issues/349#issuecomment-37993588
+ */
+ public function requestHasToken(RequestInterface $request)
+ {
+ $headers = $request->headers('AUTHORIZATION');
+
+ // check the header, then the querystring, then the request body
+ return !empty($headers) || (bool) ($request->request($this->config['token_param_name'])) || (bool) ($request->query($this->config['token_param_name']));
+ }
+
+ /**
+ * This is a convenience function that can be used to get the token, which can then
+ * be passed to getAccessTokenData(). The constraints specified by the draft are
+ * attempted to be adheared to in this method.
+ *
+ * As per the Bearer spec (draft 8, section 2) - there are three ways for a client
+ * to specify the bearer token, in order of preference: Authorization Header,
+ * POST and GET.
+ *
+ * NB: Resource servers MUST accept tokens via the Authorization scheme
+ * (http://tools.ietf.org/html/rfc6750#section-2).
+ *
+ * @todo Should we enforce TLS/SSL in this function?
+ *
+ * @see http://tools.ietf.org/html/rfc6750#section-2.1
+ * @see http://tools.ietf.org/html/rfc6750#section-2.2
+ * @see http://tools.ietf.org/html/rfc6750#section-2.3
+ *
+ * Old Android version bug (at least with version 2.2)
+ * @see http://code.google.com/p/android/issues/detail?id=6684
+ *
+ */
+ public function getAccessTokenParameter(RequestInterface $request, ResponseInterface $response)
+ {
+ $headers = $request->headers('AUTHORIZATION');
+
+ /**
+ * Ensure more than one method is not used for including an
+ * access token
+ *
+ * @see http://tools.ietf.org/html/rfc6750#section-3.1
+ */
+ $methodsUsed = !empty($headers) + (bool) ($request->query($this->config['token_param_name'])) + (bool) ($request->request($this->config['token_param_name']));
+ if ($methodsUsed > 1) {
+ $response->setError(400, 'invalid_request', 'Only one method may be used to authenticate at a time (Auth header, GET or POST)');
+
+ return null;
+ }
+
+ /**
+ * If no authentication is provided, set the status code
+ * to 401 and return no other error information
+ *
+ * @see http://tools.ietf.org/html/rfc6750#section-3.1
+ */
+ if ($methodsUsed == 0) {
+ $response->setStatusCode(401);
+
+ return null;
+ }
+
+ // HEADER: Get the access token from the header
+ if (!empty($headers)) {
+ if (!preg_match('/' . $this->config['token_bearer_header_name'] . '\s(\S+)/i', $headers, $matches)) {
+ $response->setError(400, 'invalid_request', 'Malformed auth header');
+
+ return null;
+ }
+
+ return $matches[1];
+ }
+
+ if ($request->request($this->config['token_param_name'])) {
+ // // POST: Get the token from POST data
+ if (!in_array(strtolower($request->server('REQUEST_METHOD')), array('post', 'put'))) {
+ $response->setError(400, 'invalid_request', 'When putting the token in the body, the method must be POST or PUT', '#section-2.2');
+
+ return null;
+ }
+
+ $contentType = $request->server('CONTENT_TYPE');
+ if (false !== $pos = strpos($contentType, ';')) {
+ $contentType = substr($contentType, 0, $pos);
+ }
+
+ if ($contentType !== null && $contentType != 'application/x-www-form-urlencoded') {
+ // IETF specifies content-type. NB: Not all webservers populate this _SERVER variable
+ // @see http://tools.ietf.org/html/rfc6750#section-2.2
+ $response->setError(400, 'invalid_request', 'The content type for POST requests must be "application/x-www-form-urlencoded"');
+
+ return null;
+ }
+
+ return $request->request($this->config['token_param_name']);
+ }
+
+ // GET method
+ return $request->query($this->config['token_param_name']);
+ }
+}
diff --git a/vendor/bshaffer/oauth2-server-php/src/OAuth2/TokenType/Mac.php b/vendor/bshaffer/oauth2-server-php/src/OAuth2/TokenType/Mac.php
new file mode 100644
index 000000000..fe6a86aa6
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/src/OAuth2/TokenType/Mac.php
@@ -0,0 +1,22 @@
+<?php
+
+namespace OAuth2\TokenType;
+
+use OAuth2\RequestInterface;
+use OAuth2\ResponseInterface;
+
+/**
+* This is not yet supported!
+*/
+class Mac implements TokenTypeInterface
+{
+ public function getTokenType()
+ {
+ return 'mac';
+ }
+
+ public function getAccessTokenParameter(RequestInterface $request, ResponseInterface $response)
+ {
+ throw new \LogicException("Not supported");
+ }
+}
diff --git a/vendor/bshaffer/oauth2-server-php/src/OAuth2/TokenType/TokenTypeInterface.php b/vendor/bshaffer/oauth2-server-php/src/OAuth2/TokenType/TokenTypeInterface.php
new file mode 100644
index 000000000..ad77d4a25
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/src/OAuth2/TokenType/TokenTypeInterface.php
@@ -0,0 +1,21 @@
+<?php
+
+namespace OAuth2\TokenType;
+
+use OAuth2\RequestInterface;
+use OAuth2\ResponseInterface;
+
+interface TokenTypeInterface
+{
+ /**
+ * Token type identification string
+ *
+ * ex: "bearer" or "mac"
+ */
+ public function getTokenType();
+
+ /**
+ * Retrieves the token string from the request object
+ */
+ public function getAccessTokenParameter(RequestInterface $request, ResponseInterface $response);
+}
diff --git a/vendor/bshaffer/oauth2-server-php/test/OAuth2/AutoloadTest.php b/vendor/bshaffer/oauth2-server-php/test/OAuth2/AutoloadTest.php
new file mode 100644
index 000000000..5901bdc42
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/test/OAuth2/AutoloadTest.php
@@ -0,0 +1,16 @@
+<?php
+
+namespace OAuth2;
+
+class AutoloadTest extends \PHPUnit_Framework_TestCase
+{
+ public function testClassesExist()
+ {
+ // autoloader is called in test/bootstrap.php
+ $this->assertTrue(class_exists('OAuth2\Server'));
+ $this->assertTrue(class_exists('OAuth2\Request'));
+ $this->assertTrue(class_exists('OAuth2\Response'));
+ $this->assertTrue(class_exists('OAuth2\GrantType\UserCredentials'));
+ $this->assertTrue(interface_exists('OAuth2\Storage\AccessTokenInterface'));
+ }
+}
diff --git a/vendor/bshaffer/oauth2-server-php/test/OAuth2/Controller/AuthorizeControllerTest.php b/vendor/bshaffer/oauth2-server-php/test/OAuth2/Controller/AuthorizeControllerTest.php
new file mode 100644
index 000000000..3bfc760e4
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/test/OAuth2/Controller/AuthorizeControllerTest.php
@@ -0,0 +1,492 @@
+<?php
+
+namespace OAuth2\Controller;
+
+use OAuth2\Storage\Memory;
+use OAuth2\Scope;
+use OAuth2\Storage\Bootstrap;
+use OAuth2\Server;
+use OAuth2\GrantType\AuthorizationCode;
+use OAuth2\Request;
+use OAuth2\Response;
+use OAuth2\Request\TestRequest;
+
+class AuthorizeControllerTest extends \PHPUnit_Framework_TestCase
+{
+ public function testNoClientIdResponse()
+ {
+ $server = $this->getTestServer();
+ $request = new Request();
+ $server->handleAuthorizeRequest($request, $response = new Response(), false);
+
+ $this->assertEquals($response->getStatusCode(), 400);
+ $this->assertEquals($response->getParameter('error'), 'invalid_client');
+ $this->assertEquals($response->getParameter('error_description'), 'No client id supplied');
+ }
+
+ public function testInvalidClientIdResponse()
+ {
+ $server = $this->getTestServer();
+ $request = new Request(array(
+ 'client_id' => 'Fake Client ID', // invalid client id
+ ));
+ $server->handleAuthorizeRequest($request, $response = new Response(), false);
+
+ $this->assertEquals($response->getStatusCode(), 400);
+ $this->assertEquals($response->getParameter('error'), 'invalid_client');
+ $this->assertEquals($response->getParameter('error_description'), 'The client id supplied is invalid');
+ }
+
+ public function testNoRedirectUriSuppliedOrStoredResponse()
+ {
+ $server = $this->getTestServer();
+ $request = new Request(array(
+ 'client_id' => 'Test Client ID', // valid client id
+ ));
+ $server->handleAuthorizeRequest($request, $response = new Response(), false);
+
+ $this->assertEquals($response->getStatusCode(), 400);
+ $this->assertEquals($response->getParameter('error'), 'invalid_uri');
+ $this->assertEquals($response->getParameter('error_description'), 'No redirect URI was supplied or stored');
+ }
+
+ public function testNoResponseTypeResponse()
+ {
+ $server = $this->getTestServer();
+ $request = new Request(array(
+ 'client_id' => 'Test Client ID', // valid client id
+ 'redirect_uri' => 'http://adobe.com', // valid redirect URI
+ ));
+ $server->handleAuthorizeRequest($request, $response = new Response(), false);
+
+ $this->assertEquals($response->getStatusCode(), 302);
+ $location = $response->getHttpHeader('Location');
+ $parts = parse_url($location);
+ parse_str($parts['query'], $query);
+
+ $this->assertEquals($query['error'], 'invalid_request');
+ $this->assertEquals($query['error_description'], 'Invalid or missing response type');
+ }
+
+ public function testInvalidResponseTypeResponse()
+ {
+ $server = $this->getTestServer();
+ $request = new Request(array(
+ 'client_id' => 'Test Client ID', // valid client id
+ 'redirect_uri' => 'http://adobe.com', // valid redirect URI
+ 'response_type' => 'invalid', // invalid response type
+ ));
+ $server->handleAuthorizeRequest($request, $response = new Response(), false);
+
+ $this->assertEquals($response->getStatusCode(), 302);
+ $location = $response->getHttpHeader('Location');
+ $parts = parse_url($location);
+ parse_str($parts['query'], $query);
+
+ $this->assertEquals($query['error'], 'invalid_request');
+ $this->assertEquals($query['error_description'], 'Invalid or missing response type');
+ }
+
+ public function testRedirectUriFragmentResponse()
+ {
+ $server = $this->getTestServer();
+ $request = new Request(array(
+ 'client_id' => 'Test Client ID', // valid client id
+ 'redirect_uri' => 'http://adobe.com#fragment', // valid redirect URI
+ 'response_type' => 'code', // invalid response type
+ ));
+ $server->handleAuthorizeRequest($request, $response = new Response(), true);
+
+ $this->assertEquals($response->getStatusCode(), 400);
+ $this->assertEquals($response->getParameter('error'), 'invalid_uri');
+ $this->assertEquals($response->getParameter('error_description'), 'The redirect URI must not contain a fragment');
+ }
+
+ public function testEnforceState()
+ {
+ $server = $this->getTestServer(array('enforce_state' => true));
+ $request = new Request(array(
+ 'client_id' => 'Test Client ID', // valid client id
+ 'redirect_uri' => 'http://adobe.com', // valid redirect URI
+ 'response_type' => 'code',
+ ));
+ $server->handleAuthorizeRequest($request, $response = new Response(), true);
+
+ $this->assertEquals($response->getStatusCode(), 302);
+ $location = $response->getHttpHeader('Location');
+ $parts = parse_url($location);
+ parse_str($parts['query'], $query);
+
+ $this->assertEquals($query['error'], 'invalid_request');
+ $this->assertEquals($query['error_description'], 'The state parameter is required');
+ }
+
+ public function testDoNotEnforceState()
+ {
+ $server = $this->getTestServer(array('enforce_state' => false));
+ $request = new Request(array(
+ 'client_id' => 'Test Client ID', // valid client id
+ 'redirect_uri' => 'http://adobe.com', // valid redirect URI
+ 'response_type' => 'code',
+ ));
+ $server->handleAuthorizeRequest($request, $response = new Response(), true);
+
+ $this->assertEquals($response->getStatusCode(), 302);
+ $this->assertNotContains('error', $response->getHttpHeader('Location'));
+ }
+
+ public function testEnforceScope()
+ {
+ $server = $this->getTestServer();
+ $scopeStorage = new Memory(array('default_scope' => false, 'supported_scopes' => array('testscope')));
+ $server->setScopeUtil(new Scope($scopeStorage));
+
+ $request = new Request(array(
+ 'client_id' => 'Test Client ID', // valid client id
+ 'redirect_uri' => 'http://adobe.com', // valid redirect URI
+ 'response_type' => 'code',
+ 'state' => 'xyz',
+ ));
+ $server->handleAuthorizeRequest($request, $response = new Response(), true);
+
+ $this->assertEquals($response->getStatusCode(), 302);
+ $parts = parse_url($response->getHttpHeader('Location'));
+ parse_str($parts['query'], $query);
+
+ $this->assertEquals($query['error'], 'invalid_client');
+ $this->assertEquals($query['error_description'], 'This application requires you specify a scope parameter');
+
+ $request->query['scope'] = 'testscope';
+ $server->handleAuthorizeRequest($request, $response = new Response(), true);
+
+ $this->assertEquals($response->getStatusCode(), 302);
+ $this->assertNotContains('error', $response->getHttpHeader('Location'));
+ }
+
+ public function testInvalidRedirectUri()
+ {
+ $server = $this->getTestServer();
+ $request = new Request(array(
+ 'client_id' => 'Test Client ID with Redirect Uri', // valid client id
+ 'redirect_uri' => 'http://adobe.com', // invalid redirect URI
+ 'response_type' => 'code',
+ ));
+ $server->handleAuthorizeRequest($request, $response = new Response(), true);
+
+ $this->assertEquals($response->getStatusCode(), 400);
+ $this->assertEquals($response->getParameter('error'), 'redirect_uri_mismatch');
+ $this->assertEquals($response->getParameter('error_description'), 'The redirect URI provided is missing or does not match');
+ }
+
+ public function testInvalidRedirectUriApprovedByBuggyRegisteredUri()
+ {
+ $server = $this->getTestServer();
+ $server->setConfig('require_exact_redirect_uri', false);
+ $request = new Request(array(
+ 'client_id' => 'Test Client ID with Buggy Redirect Uri', // valid client id
+ 'redirect_uri' => 'http://adobe.com', // invalid redirect URI
+ 'response_type' => 'code',
+ ));
+ $server->handleAuthorizeRequest($request, $response = new Response(), true);
+
+ $this->assertEquals($response->getStatusCode(), 400);
+ $this->assertEquals($response->getParameter('error'), 'redirect_uri_mismatch');
+ $this->assertEquals($response->getParameter('error_description'), 'The redirect URI provided is missing or does not match');
+ }
+
+ public function testNoRedirectUriWithMultipleRedirectUris()
+ {
+ $server = $this->getTestServer();
+
+ // create a request with no "redirect_uri" in querystring
+ $request = new Request(array(
+ 'client_id' => 'Test Client ID with Multiple Redirect Uris', // valid client id
+ 'response_type' => 'code',
+ ));
+
+ $server->handleAuthorizeRequest($request, $response = new Response(), true);
+
+ $this->assertEquals($response->getStatusCode(), 400);
+ $this->assertEquals($response->getParameter('error'), 'invalid_uri');
+ $this->assertEquals($response->getParameter('error_description'), 'A redirect URI must be supplied when multiple redirect URIs are registered');
+ }
+
+ public function testRedirectUriWithValidRedirectUri()
+ {
+ $server = $this->getTestServer();
+
+ // create a request with no "redirect_uri" in querystring
+ $request = new Request(array(
+ 'client_id' => 'Test Client ID with Redirect Uri Parts', // valid client id
+ 'response_type' => 'code',
+ 'redirect_uri' => 'http://user:pass@brentertainment.com:2222/authorize/cb?auth_type=oauth&test=true',
+ 'state' => 'xyz',
+ ));
+
+ $server->handleAuthorizeRequest($request, $response = new Response(), true);
+
+ $this->assertEquals($response->getStatusCode(), 302);
+ $this->assertContains('code', $response->getHttpHeader('Location'));
+ }
+
+ public function testRedirectUriWithDifferentQueryAndExactMatchRequired()
+ {
+ $server = $this->getTestServer(array('require_exact_redirect_uri' => true));
+
+ // create a request with no "redirect_uri" in querystring
+ $request = new Request(array(
+ 'client_id' => 'Test Client ID with Redirect Uri Parts', // valid client id
+ 'response_type' => 'code',
+ 'redirect_uri' => 'http://user:pass@brentertainment.com:2222/authorize/cb?auth_type=oauth&test=true&hereisa=querystring',
+ ));
+
+ $server->handleAuthorizeRequest($request, $response = new Response(), true);
+
+ $this->assertEquals($response->getStatusCode(), 400);
+ $this->assertEquals($response->getParameter('error'), 'redirect_uri_mismatch');
+ $this->assertEquals($response->getParameter('error_description'), 'The redirect URI provided is missing or does not match');
+ }
+
+ public function testRedirectUriWithDifferentQueryAndExactMatchNotRequired()
+ {
+ $server = $this->getTestServer(array('require_exact_redirect_uri' => false));
+
+ // create a request with no "redirect_uri" in querystring
+ $request = new Request(array(
+ 'client_id' => 'Test Client ID with Redirect Uri Parts', // valid client id
+ 'response_type' => 'code',
+ 'redirect_uri' => 'http://user:pass@brentertainment.com:2222/authorize/cb?auth_type=oauth&test=true&hereisa=querystring',
+ 'state' => 'xyz',
+ ));
+
+ $server->handleAuthorizeRequest($request, $response = new Response(), true);
+
+ $this->assertEquals($response->getStatusCode(), 302);
+ $this->assertContains('code', $response->getHttpHeader('Location'));
+ }
+
+ public function testMultipleRedirectUris()
+ {
+ $server = $this->getTestServer();
+ $request = new Request(array(
+ 'client_id' => 'Test Client ID with Multiple Redirect Uris', // valid client id
+ 'redirect_uri' => 'http://brentertainment.com', // valid redirect URI
+ 'response_type' => 'code',
+ 'state' => 'xyz'
+ ));
+
+ $server->handleAuthorizeRequest($request, $response = new Response(), true);
+ $this->assertEquals($response->getStatusCode(), 302);
+ $this->assertContains('code', $response->getHttpHeader('Location'));
+
+ // call again with different (but still valid) redirect URI
+ $request->query['redirect_uri'] = 'http://morehazards.com';
+
+ $server->handleAuthorizeRequest($request, $response = new Response(), true);
+ $this->assertEquals($response->getStatusCode(), 302);
+ $this->assertContains('code', $response->getHttpHeader('Location'));
+ }
+
+ /**
+ * @see http://tools.ietf.org/html/rfc6749#section-4.1.3
+ * @see https://github.com/bshaffer/oauth2-server-php/issues/163
+ */
+ public function testNoRedirectUriSuppliedDoesNotRequireTokenRedirectUri()
+ {
+ $server = $this->getTestServer();
+ $request = new Request(array(
+ 'client_id' => 'Test Client ID with Redirect Uri', // valid client id
+ 'response_type' => 'code',
+ 'state' => 'xyz',
+ ));
+
+ $server->handleAuthorizeRequest($request, $response = new Response(), true);
+ $this->assertEquals($response->getStatusCode(), 302);
+ $this->assertContains('state', $response->getHttpHeader('Location'));
+ $this->assertStringStartsWith('http://brentertainment.com?code=', $response->getHttpHeader('Location'));
+
+ $parts = parse_url($response->getHttpHeader('Location'));
+ parse_str($parts['query'], $query);
+
+ // call token endpoint with no redirect_uri supplied
+ $request = TestRequest::createPost(array(
+ 'client_id' => 'Test Client ID with Redirect Uri', // valid client id
+ 'client_secret' => 'TestSecret2',
+ 'grant_type' => 'authorization_code',
+ 'code' => $query['code'],
+ ));
+
+ $server->handleTokenRequest($request, $response = new Response(), true);
+ $this->assertEquals($response->getStatusCode(), 200);
+ $this->assertNotNull($response->getParameter('access_token'));
+ }
+
+ public function testUserDeniesAccessResponse()
+ {
+ $server = $this->getTestServer();
+ $request = new Request(array(
+ 'client_id' => 'Test Client ID', // valid client id
+ 'redirect_uri' => 'http://adobe.com', // valid redirect URI
+ 'response_type' => 'code',
+ 'state' => 'xyz',
+ ));
+ $server->handleAuthorizeRequest($request, $response = new Response(), false);
+
+ $this->assertEquals($response->getStatusCode(), 302);
+ $location = $response->getHttpHeader('Location');
+ $parts = parse_url($location);
+ parse_str($parts['query'], $query);
+
+ $this->assertEquals($query['error'], 'access_denied');
+ $this->assertEquals($query['error_description'], 'The user denied access to your application');
+ }
+
+ public function testCodeQueryParamIsSet()
+ {
+ $server = $this->getTestServer();
+ $request = new Request(array(
+ 'client_id' => 'Test Client ID', // valid client id
+ 'redirect_uri' => 'http://adobe.com', // valid redirect URI
+ 'response_type' => 'code',
+ 'state' => 'xyz',
+ ));
+ $server->handleAuthorizeRequest($request, $response = new Response(), true);
+
+ $this->assertEquals($response->getStatusCode(), 302);
+ $location = $response->getHttpHeader('Location');
+ $parts = parse_url($location);
+ parse_str($parts['query'], $query);
+
+ $location = $response->getHttpHeader('Location');
+ $parts = parse_url($location);
+
+ $this->assertEquals('http', $parts['scheme']); // same as passed in to redirect_uri
+ $this->assertEquals('adobe.com', $parts['host']); // same as passed in to redirect_uri
+ $this->assertArrayHasKey('query', $parts);
+ $this->assertFalse(isset($parts['fragment']));
+
+ // assert fragment is in "application/x-www-form-urlencoded" format
+ parse_str($parts['query'], $query);
+ $this->assertNotNull($query);
+ $this->assertArrayHasKey('code', $query);
+
+ // ensure no id_token was saved, since the openid scope wasn't requested
+ $storage = $server->getStorage('authorization_code');
+ $code = $storage->getAuthorizationCode($query['code']);
+ $this->assertTrue(empty($code['id_token']));
+
+ // ensure no error was returned
+ $this->assertFalse(isset($query['error']));
+ $this->assertFalse(isset($query['error_description']));
+ }
+
+ public function testSuccessfulRequestReturnsStateParameter()
+ {
+ $server = $this->getTestServer(array('allow_implicit' => true));
+ $request = new Request(array(
+ 'client_id' => 'Test Client ID', // valid client id
+ 'redirect_uri' => 'http://adobe.com', // valid redirect URI
+ 'response_type' => 'code',
+ 'state' => 'test', // valid state string (just needs to be passed back to us)
+ ));
+ $server->handleAuthorizeRequest($request, $response = new Response(), true);
+
+ $this->assertEquals($response->getStatusCode(), 302);
+
+ $location = $response->getHttpHeader('Location');
+ $parts = parse_url($location);
+ $this->assertArrayHasKey('query', $parts);
+ parse_str($parts['query'], $query);
+
+ $this->assertArrayHasKey('state', $query);
+ $this->assertEquals($query['state'], 'test');
+
+ // ensure no error was returned
+ $this->assertFalse(isset($query['error']));
+ $this->assertFalse(isset($query['error_description']));
+ }
+
+ public function testSuccessfulRequestStripsExtraParameters()
+ {
+ $server = $this->getTestServer(array('allow_implicit' => true));
+ $request = new Request(array(
+ 'client_id' => 'Test Client ID', // valid client id
+ 'redirect_uri' => 'http://adobe.com', // valid redirect URI
+ 'response_type' => 'code',
+ 'state' => 'test', // valid state string (just needs to be passed back to us)
+ 'fake' => 'something', // extra query param
+ ));
+ $server->handleAuthorizeRequest($request, $response = new Response(), true);
+
+ $this->assertEquals($response->getStatusCode(), 302);
+ $location = $response->getHttpHeader('Location');
+ $this->assertNotContains('error', $location);
+
+ $parts = parse_url($location);
+ $this->assertFalse(isset($parts['fake']));
+ $this->assertArrayHasKey('query', $parts);
+ parse_str($parts['query'], $query);
+
+ $this->assertFalse(isset($parmas['fake']));
+ $this->assertArrayHasKey('state', $query);
+ $this->assertEquals($query['state'], 'test');
+ }
+
+ public function testSuccessfulOpenidConnectRequest()
+ {
+ $server = $this->getTestServer(array(
+ 'use_openid_connect' => true,
+ 'issuer' => 'bojanz',
+ ));
+
+ $request = new Request(array(
+ 'client_id' => 'Test Client ID',
+ 'redirect_uri' => 'http://adobe.com',
+ 'response_type' => 'code',
+ 'state' => 'xyz',
+ 'scope' => 'openid',
+ ));
+ $server->handleAuthorizeRequest($request, $response = new Response(), true);
+
+ $this->assertEquals($response->getStatusCode(), 302);
+ $location = $response->getHttpHeader('Location');
+ $parts = parse_url($location);
+ parse_str($parts['query'], $query);
+
+ $location = $response->getHttpHeader('Location');
+ $parts = parse_url($location);
+ $this->assertArrayHasKey('query', $parts);
+ $this->assertFalse(isset($parts['fragment']));
+
+ // assert fragment is in "application/x-www-form-urlencoded" format
+ parse_str($parts['query'], $query);
+ $this->assertNotNull($query);
+ $this->assertArrayHasKey('code', $query);
+
+ // ensure no error was returned
+ $this->assertFalse(isset($query['error']));
+ $this->assertFalse(isset($query['error_description']));
+
+ // confirm that the id_token has been created.
+ $storage = $server->getStorage('authorization_code');
+ $code = $storage->getAuthorizationCode($query['code']);
+ $this->assertTrue(!empty($code['id_token']));
+ }
+
+ public function testCreateController()
+ {
+ $storage = Bootstrap::getInstance()->getMemoryStorage();
+ $controller = new AuthorizeController($storage);
+ }
+
+ private function getTestServer($config = array())
+ {
+ $storage = Bootstrap::getInstance()->getMemoryStorage();
+ $server = new Server($storage, $config);
+
+ // Add the two types supported for authorization grant
+ $server->addGrantType(new AuthorizationCode($storage));
+
+ return $server;
+ }
+}
diff --git a/vendor/bshaffer/oauth2-server-php/test/OAuth2/Controller/ResourceControllerTest.php b/vendor/bshaffer/oauth2-server-php/test/OAuth2/Controller/ResourceControllerTest.php
new file mode 100644
index 000000000..b277514a5
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/test/OAuth2/Controller/ResourceControllerTest.php
@@ -0,0 +1,176 @@
+<?php
+
+namespace OAuth2\Controller;
+
+use OAuth2\Storage\Bootstrap;
+use OAuth2\Server;
+use OAuth2\GrantType\AuthorizationCode;
+use OAuth2\Request;
+use OAuth2\Response;
+
+class ResourceControllerTest extends \PHPUnit_Framework_TestCase
+{
+ public function testNoAccessToken()
+ {
+ $server = $this->getTestServer();
+ $request = Request::createFromGlobals();
+ $allow = $server->verifyResourceRequest($request, $response = new Response());
+ $this->assertFalse($allow);
+
+ $this->assertEquals($response->getStatusCode(), 401);
+ $this->assertNull($response->getParameter('error'));
+ $this->assertNull($response->getParameter('error_description'));
+ $this->assertEquals('', $response->getResponseBody());
+ }
+
+ public function testMalformedHeader()
+ {
+ $server = $this->getTestServer();
+ $request = Request::createFromGlobals();
+ $request->headers['AUTHORIZATION'] = 'tH1s i5 B0gU5';
+ $allow = $server->verifyResourceRequest($request, $response = new Response());
+ $this->assertFalse($allow);
+
+ $this->assertEquals($response->getStatusCode(), 400);
+ $this->assertEquals($response->getParameter('error'), 'invalid_request');
+ $this->assertEquals($response->getParameter('error_description'), 'Malformed auth header');
+ }
+
+ public function testMultipleTokensSubmitted()
+ {
+ $server = $this->getTestServer();
+ $request = Request::createFromGlobals();
+ $request->request['access_token'] = 'TEST';
+ $request->query['access_token'] = 'TEST';
+ $allow = $server->verifyResourceRequest($request, $response = new Response());
+ $this->assertFalse($allow);
+
+ $this->assertEquals($response->getStatusCode(), 400);
+ $this->assertEquals($response->getParameter('error'), 'invalid_request');
+ $this->assertEquals($response->getParameter('error_description'), 'Only one method may be used to authenticate at a time (Auth header, GET or POST)');
+ }
+
+ public function testInvalidRequestMethod()
+ {
+ $server = $this->getTestServer();
+ $request = Request::createFromGlobals();
+ $request->server['REQUEST_METHOD'] = 'GET';
+ $request->request['access_token'] = 'TEST';
+ $allow = $server->verifyResourceRequest($request, $response = new Response());
+ $this->assertFalse($allow);
+
+ $this->assertEquals($response->getStatusCode(), 400);
+ $this->assertEquals($response->getParameter('error'), 'invalid_request');
+ $this->assertEquals($response->getParameter('error_description'), 'When putting the token in the body, the method must be POST or PUT');
+ }
+
+ public function testInvalidContentType()
+ {
+ $server = $this->getTestServer();
+ $request = Request::createFromGlobals();
+ $request->server['REQUEST_METHOD'] = 'POST';
+ $request->server['CONTENT_TYPE'] = 'application/json';
+ $request->request['access_token'] = 'TEST';
+ $allow = $server->verifyResourceRequest($request, $response = new Response());
+ $this->assertFalse($allow);
+
+ $this->assertEquals($response->getStatusCode(), 400);
+ $this->assertEquals($response->getParameter('error'), 'invalid_request');
+ $this->assertEquals($response->getParameter('error_description'), 'The content type for POST requests must be "application/x-www-form-urlencoded"');
+ }
+
+ public function testInvalidToken()
+ {
+ $server = $this->getTestServer();
+ $request = Request::createFromGlobals();
+ $request->headers['AUTHORIZATION'] = 'Bearer TESTTOKEN';
+ $allow = $server->verifyResourceRequest($request, $response = new Response());
+ $this->assertFalse($allow);
+
+ $this->assertEquals($response->getStatusCode(), 401);
+ $this->assertEquals($response->getParameter('error'), 'invalid_token');
+ $this->assertEquals($response->getParameter('error_description'), 'The access token provided is invalid');
+ }
+
+ public function testExpiredToken()
+ {
+ $server = $this->getTestServer();
+ $request = Request::createFromGlobals();
+ $request->headers['AUTHORIZATION'] = 'Bearer accesstoken-expired';
+ $allow = $server->verifyResourceRequest($request, $response = new Response());
+ $this->assertFalse($allow);
+
+ $this->assertEquals($response->getStatusCode(), 401);
+ $this->assertEquals($response->getParameter('error'), 'invalid_token');
+ $this->assertEquals($response->getParameter('error_description'), 'The access token provided has expired');
+ }
+
+ public function testOutOfScopeToken()
+ {
+ $server = $this->getTestServer();
+ $request = Request::createFromGlobals();
+ $request->headers['AUTHORIZATION'] = 'Bearer accesstoken-scope';
+ $scope = 'outofscope';
+ $allow = $server->verifyResourceRequest($request, $response = new Response(), $scope);
+ $this->assertFalse($allow);
+
+ $this->assertEquals($response->getStatusCode(), 403);
+ $this->assertEquals($response->getParameter('error'), 'insufficient_scope');
+ $this->assertEquals($response->getParameter('error_description'), 'The request requires higher privileges than provided by the access token');
+
+ // verify the "scope" has been set in the "WWW-Authenticate" header
+ preg_match('/scope="(.*?)"/', $response->getHttpHeader('WWW-Authenticate'), $matches);
+ $this->assertEquals(2, count($matches));
+ $this->assertEquals($matches[1], 'outofscope');
+ }
+
+ public function testMalformedToken()
+ {
+ $server = $this->getTestServer();
+ $request = Request::createFromGlobals();
+ $request->headers['AUTHORIZATION'] = 'Bearer accesstoken-malformed';
+ $allow = $server->verifyResourceRequest($request, $response = new Response());
+ $this->assertFalse($allow);
+
+ $this->assertEquals($response->getStatusCode(), 401);
+ $this->assertEquals($response->getParameter('error'), 'malformed_token');
+ $this->assertEquals($response->getParameter('error_description'), 'Malformed token (missing "expires")');
+ }
+
+ public function testValidToken()
+ {
+ $server = $this->getTestServer();
+ $request = Request::createFromGlobals();
+ $request->headers['AUTHORIZATION'] = 'Bearer accesstoken-scope';
+ $allow = $server->verifyResourceRequest($request, $response = new Response());
+ $this->assertTrue($allow);
+ }
+
+ public function testValidTokenWithScopeParam()
+ {
+ $server = $this->getTestServer();
+ $request = Request::createFromGlobals();
+ $request->headers['AUTHORIZATION'] = 'Bearer accesstoken-scope';
+ $request->query['scope'] = 'testscope';
+ $allow = $server->verifyResourceRequest($request, $response = new Response());
+ $this->assertTrue($allow);
+ }
+
+ public function testCreateController()
+ {
+ $storage = Bootstrap::getInstance()->getMemoryStorage();
+ $tokenType = new \OAuth2\TokenType\Bearer();
+ $controller = new ResourceController($tokenType, $storage);
+ }
+
+ private function getTestServer($config = array())
+ {
+ $storage = Bootstrap::getInstance()->getMemoryStorage();
+ $server = new Server($storage, $config);
+
+ // Add the two types supported for authorization grant
+ $server->addGrantType(new AuthorizationCode($storage));
+
+ return $server;
+ }
+}
diff --git a/vendor/bshaffer/oauth2-server-php/test/OAuth2/Controller/TokenControllerTest.php b/vendor/bshaffer/oauth2-server-php/test/OAuth2/Controller/TokenControllerTest.php
new file mode 100644
index 000000000..4a217bd55
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/test/OAuth2/Controller/TokenControllerTest.php
@@ -0,0 +1,289 @@
+<?php
+
+namespace OAuth2\Controller;
+
+use OAuth2\Storage\Bootstrap;
+use OAuth2\Server;
+use OAuth2\GrantType\AuthorizationCode;
+use OAuth2\GrantType\ClientCredentials;
+use OAuth2\GrantType\UserCredentials;
+use OAuth2\Scope;
+use OAuth2\Request\TestRequest;
+use OAuth2\Response;
+
+class TokenControllerTest extends \PHPUnit_Framework_TestCase
+{
+ public function testNoGrantType()
+ {
+ // add the test parameters in memory
+ $server = $this->getTestServer();
+ $server->handleTokenRequest(TestRequest::createPost(), $response = new Response());
+
+ $this->assertEquals($response->getStatusCode(), 400);
+ $this->assertEquals($response->getParameter('error'), 'invalid_request');
+ $this->assertEquals($response->getParameter('error_description'), 'The grant type was not specified in the request');
+ }
+
+ public function testInvalidGrantType()
+ {
+ // add the test parameters in memory
+ $server = $this->getTestServer();
+ $request = TestRequest::createPost(array(
+ 'grant_type' => 'invalid_grant_type', // invalid grant type
+ ));
+ $server->handleTokenRequest($request, $response = new Response());
+
+ $this->assertEquals($response->getStatusCode(), 400);
+ $this->assertEquals($response->getParameter('error'), 'unsupported_grant_type');
+ $this->assertEquals($response->getParameter('error_description'), 'Grant type "invalid_grant_type" not supported');
+ }
+
+ public function testNoClientId()
+ {
+ // add the test parameters in memory
+ $server = $this->getTestServer();
+ $request = TestRequest::createPost(array(
+ 'grant_type' => 'authorization_code', // valid grant type
+ 'code' => 'testcode',
+ ));
+ $server->handleTokenRequest($request, $response = new Response());
+
+ $this->assertEquals($response->getStatusCode(), 400);
+ $this->assertEquals($response->getParameter('error'), 'invalid_client');
+ $this->assertEquals($response->getParameter('error_description'), 'Client credentials were not found in the headers or body');
+ }
+
+ public function testNoClientSecretWithConfidentialClient()
+ {
+ // add the test parameters in memory
+ $server = $this->getTestServer();
+ $request = TestRequest::createPost(array(
+ 'grant_type' => 'authorization_code', // valid grant type
+ 'code' => 'testcode',
+ 'client_id' => 'Test Client ID', // valid client id
+ ));
+ $server->handleTokenRequest($request, $response = new Response());
+
+ $this->assertEquals($response->getStatusCode(), 400);
+ $this->assertEquals($response->getParameter('error'), 'invalid_client');
+ $this->assertEquals($response->getParameter('error_description'), 'This client is invalid or must authenticate using a client secret');
+ }
+
+ public function testNoClientSecretWithEmptySecret()
+ {
+ // add the test parameters in memory
+ $server = $this->getTestServer();
+ $request = TestRequest::createPost(array(
+ 'grant_type' => 'authorization_code', // valid grant type
+ 'code' => 'testcode-empty-secret',
+ 'client_id' => 'Test Client ID Empty Secret', // valid client id
+ ));
+ $server->handleTokenRequest($request, $response = new Response());
+
+ $this->assertEquals($response->getStatusCode(), 200);
+ }
+
+ public function testInvalidClientId()
+ {
+ // add the test parameters in memory
+ $server = $this->getTestServer();
+ $request = TestRequest::createPost(array(
+ 'grant_type' => 'authorization_code', // valid grant type
+ 'code' => 'testcode',
+ 'client_id' => 'Fake Client ID', // invalid client id
+ 'client_secret' => 'TestSecret', // valid client secret
+ ));
+ $server->handleTokenRequest($request, $response = new Response());
+
+ $this->assertEquals($response->getStatusCode(), 400);
+ $this->assertEquals($response->getParameter('error'), 'invalid_client');
+ $this->assertEquals($response->getParameter('error_description'), 'The client credentials are invalid');
+ }
+
+ public function testInvalidClientSecret()
+ {
+ // add the test parameters in memory
+ $server = $this->getTestServer();
+ $request = TestRequest::createPost(array(
+ 'grant_type' => 'authorization_code', // valid grant type
+ 'code' => 'testcode',
+ 'client_id' => 'Test Client ID', // valid client id
+ 'client_secret' => 'Fake Client Secret', // invalid client secret
+ ));
+ $server->handleTokenRequest($request, $response = new Response());
+
+ $this->assertEquals($response->getStatusCode(), 400);
+ $this->assertEquals($response->getParameter('error'), 'invalid_client');
+ $this->assertEquals($response->getParameter('error_description'), 'The client credentials are invalid');
+ }
+
+ public function testValidTokenResponse()
+ {
+ // add the test parameters in memory
+ $server = $this->getTestServer();
+ $request = TestRequest::createPost(array(
+ 'grant_type' => 'authorization_code', // valid grant type
+ 'client_id' => 'Test Client ID', // valid client id
+ 'client_secret' => 'TestSecret', // valid client secret
+ 'code' => 'testcode', // valid authorization code
+ ));
+ $server->handleTokenRequest($request, $response = new Response());
+
+ $this->assertTrue($response instanceof Response);
+ $this->assertEquals($response->getStatusCode(), 200);
+ $this->assertNull($response->getParameter('error'));
+ $this->assertNull($response->getParameter('error_description'));
+ $this->assertNotNull($response->getParameter('access_token'));
+ $this->assertNotNull($response->getParameter('expires_in'));
+ $this->assertNotNull($response->getParameter('token_type'));
+ }
+
+ public function testValidClientIdScope()
+ {
+ // add the test parameters in memory
+ $server = $this->getTestServer();
+ $request = TestRequest::createPost(array(
+ 'grant_type' => 'authorization_code', // valid grant type
+ 'code' => 'testcode',
+ 'client_id' => 'Test Client ID', // valid client id
+ 'client_secret' => 'TestSecret', // valid client secret
+ 'scope' => 'clientscope1 clientscope2'
+ ));
+ $server->handleTokenRequest($request, $response = new Response());
+
+ $this->assertEquals($response->getStatusCode(), 200);
+ $this->assertNull($response->getParameter('error'));
+ $this->assertNull($response->getParameter('error_description'));
+ $this->assertEquals('clientscope1 clientscope2', $response->getParameter('scope'));
+ }
+
+ public function testInvalidClientIdScope()
+ {
+ // add the test parameters in memory
+ $server = $this->getTestServer();
+ $request = TestRequest::createPost(array(
+ 'grant_type' => 'authorization_code', // valid grant type
+ 'code' => 'testcode-with-scope',
+ 'client_id' => 'Test Client ID', // valid client id
+ 'client_secret' => 'TestSecret', // valid client secret
+ 'scope' => 'clientscope3'
+ ));
+ $server->handleTokenRequest($request, $response = new Response());
+
+ $this->assertEquals($response->getStatusCode(), 400);
+ $this->assertEquals($response->getParameter('error'), 'invalid_scope');
+ $this->assertEquals($response->getParameter('error_description'), 'The scope requested is invalid for this request');
+ }
+
+ public function testEnforceScope()
+ {
+ $storage = Bootstrap::getInstance()->getMemoryStorage();
+ $server = new Server($storage);
+ $server->addGrantType(new ClientCredentials($storage));
+
+ $scope = new Scope(array(
+ 'default_scope' => false,
+ 'supported_scopes' => array('testscope')
+ ));
+ $server->setScopeUtil($scope);
+
+ $request = TestRequest::createPost(array(
+ 'grant_type' => 'client_credentials', // valid grant type
+ 'client_id' => 'Test Client ID', // valid client id
+ 'client_secret' => 'TestSecret', // valid client secret
+ ));
+ $response = $server->handleTokenRequest($request);
+
+ $this->assertEquals($response->getStatusCode(), 400);
+ $this->assertEquals($response->getParameter('error'), 'invalid_scope');
+ $this->assertEquals($response->getParameter('error_description'), 'This application requires you specify a scope parameter');
+ }
+
+ public function testCanReceiveAccessTokenUsingPasswordGrantTypeWithoutClientSecret()
+ {
+ // add the test parameters in memory
+ $storage = Bootstrap::getInstance()->getMemoryStorage();
+ $server = new Server($storage);
+ $server->addGrantType(new UserCredentials($storage));
+
+ $request = TestRequest::createPost(array(
+ 'grant_type' => 'password', // valid grant type
+ 'client_id' => 'Test Client ID For Password Grant', // valid client id
+ 'username' => 'johndoe', // valid username
+ 'password' => 'password', // valid password for username
+ ));
+ $server->handleTokenRequest($request, $response = new Response());
+
+ $this->assertTrue($response instanceof Response);
+ $this->assertEquals(200, $response->getStatusCode(), var_export($response, 1));
+ $this->assertNull($response->getParameter('error'));
+ $this->assertNull($response->getParameter('error_description'));
+ $this->assertNotNull($response->getParameter('access_token'));
+ $this->assertNotNull($response->getParameter('expires_in'));
+ $this->assertNotNull($response->getParameter('token_type'));
+ }
+
+ public function testInvalidTokenTypeHintForRevoke()
+ {
+ $server = $this->getTestServer();
+
+ $request = TestRequest::createPost(array(
+ 'token_type_hint' => 'foo',
+ 'token' => 'sometoken'
+ ));
+
+ $server->handleRevokeRequest($request, $response = new Response());
+
+ $this->assertTrue($response instanceof Response);
+ $this->assertEquals(400, $response->getStatusCode(), var_export($response, 1));
+ $this->assertEquals($response->getParameter('error'), 'invalid_request');
+ $this->assertEquals($response->getParameter('error_description'), 'Token type hint must be either \'access_token\' or \'refresh_token\'');
+ }
+
+ public function testMissingTokenForRevoke()
+ {
+ $server = $this->getTestServer();
+
+ $request = TestRequest::createPost(array(
+ 'token_type_hint' => 'access_token'
+ ));
+
+ $server->handleRevokeRequest($request, $response = new Response());
+ $this->assertTrue($response instanceof Response);
+ $this->assertEquals(400, $response->getStatusCode(), var_export($response, 1));
+ $this->assertEquals($response->getParameter('error'), 'invalid_request');
+ $this->assertEquals($response->getParameter('error_description'), 'Missing token parameter to revoke');
+ }
+
+ public function testInvalidRequestMethodForRevoke()
+ {
+ $server = $this->getTestServer();
+
+ $request = new TestRequest();
+ $request->setQuery(array(
+ 'token_type_hint' => 'access_token'
+ ));
+
+ $server->handleRevokeRequest($request, $response = new Response());
+ $this->assertTrue($response instanceof Response);
+ $this->assertEquals(405, $response->getStatusCode(), var_export($response, 1));
+ $this->assertEquals($response->getParameter('error'), 'invalid_request');
+ $this->assertEquals($response->getParameter('error_description'), 'The request method must be POST when revoking an access token');
+ }
+
+ public function testCreateController()
+ {
+ $storage = Bootstrap::getInstance()->getMemoryStorage();
+ $accessToken = new \OAuth2\ResponseType\AccessToken($storage);
+ $controller = new TokenController($accessToken, $storage);
+ }
+
+ private function getTestServer()
+ {
+ $storage = Bootstrap::getInstance()->getMemoryStorage();
+ $server = new Server($storage);
+ $server->addGrantType(new AuthorizationCode($storage));
+
+ return $server;
+ }
+}
diff --git a/vendor/bshaffer/oauth2-server-php/test/OAuth2/Encryption/FirebaseJwtTest.php b/vendor/bshaffer/oauth2-server-php/test/OAuth2/Encryption/FirebaseJwtTest.php
new file mode 100644
index 000000000..d34136767
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/test/OAuth2/Encryption/FirebaseJwtTest.php
@@ -0,0 +1,102 @@
+<?php
+
+namespace OAuth2\Encryption;
+
+use OAuth2\Storage\Bootstrap;
+
+class FirebaseJwtTest extends \PHPUnit_Framework_TestCase
+{
+ private $privateKey;
+
+ public function setUp()
+ {
+ $this->privateKey = <<<EOD
+-----BEGIN RSA PRIVATE KEY-----
+MIICXAIBAAKBgQC5/SxVlE8gnpFqCxgl2wjhzY7ucEi00s0kUg3xp7lVEvgLgYcA
+nHiWp+gtSjOFfH2zsvpiWm6Lz5f743j/FEzHIO1owR0p4d9pOaJK07d01+RzoQLO
+IQAgXrr4T1CCWUesncwwPBVCyy2Mw3Nmhmr9MrF8UlvdRKBxriRnlP3qJQIDAQAB
+AoGAVgJJVU4fhYMu1e5JfYAcTGfF+Gf+h3iQm4JCpoUcxMXf5VpB9ztk3K7LRN5y
+kwFuFALpnUAarRcUPs0D8FoP4qBluKksbAtgHkO7bMSH9emN+mH4le4qpFlR7+P1
+3fLE2Y19IBwPwEfClC+TpJvuog6xqUYGPlg6XLq/MxQUB4ECQQDgovP1v+ONSeGS
+R+NgJTR47noTkQT3M2izlce/OG7a+O0yw6BOZjNXqH2wx3DshqMcPUFrTjibIClP
+l/tEQ3ShAkEA0/TdBYDtXpNNjqg0R9GVH2pw7Kh68ne6mZTuj0kCgFYpUF6L6iMm
+zXamIJ51rTDsTyKTAZ1JuAhAsK/M2BbDBQJAKQ5fXEkIA+i+64dsDUR/hKLBeRYG
+PFAPENONQGvGBwt7/s02XV3cgGbxIgAxqWkqIp0neb9AJUoJgtyaNe3GQQJANoL4
+QQ0af0NVJAZgg8QEHTNL3aGrFSbzx8IE5Lb7PLRsJa5bP5lQxnDoYuU+EI/Phr62
+niisp/b/ZDGidkTMXQJBALeRsH1I+LmICAvWXpLKa9Gv0zGCwkuIJLiUbV9c6CVh
+suocCAteQwL5iW2gA4AnYr5OGeHFsEl7NCQcwfPZpJ0=
+-----END RSA PRIVATE KEY-----
+EOD;
+ }
+
+ /** @dataProvider provideClientCredentials */
+ public function testJwtUtil($client_id, $client_key)
+ {
+ $jwtUtil = new FirebaseJwt();
+
+ $params = array(
+ 'iss' => $client_id,
+ 'exp' => time() + 1000,
+ 'iat' => time(),
+ 'sub' => 'testuser@ourdomain.com',
+ 'aud' => 'http://myapp.com/oauth/auth',
+ 'scope' => null,
+ );
+
+ $encoded = $jwtUtil->encode($params, $this->privateKey, 'RS256');
+
+ // test BC behaviour of trusting the algorithm in the header
+ $payload = $jwtUtil->decode($encoded, $client_key, array('RS256'));
+ $this->assertEquals($params, $payload);
+
+ // test BC behaviour of not verifying by passing false
+ $payload = $jwtUtil->decode($encoded, $client_key, false);
+ $this->assertEquals($params, $payload);
+
+ // test the new restricted algorithms header
+ $payload = $jwtUtil->decode($encoded, $client_key, array('RS256'));
+ $this->assertEquals($params, $payload);
+ }
+
+ public function testInvalidJwt()
+ {
+ $jwtUtil = new FirebaseJwt();
+
+ $this->assertFalse($jwtUtil->decode('goob'));
+ $this->assertFalse($jwtUtil->decode('go.o.b'));
+ }
+
+ /** @dataProvider provideClientCredentials */
+ public function testInvalidJwtHeader($client_id, $client_key)
+ {
+ $jwtUtil = new FirebaseJwt();
+
+ $params = array(
+ 'iss' => $client_id,
+ 'exp' => time() + 1000,
+ 'iat' => time(),
+ 'sub' => 'testuser@ourdomain.com',
+ 'aud' => 'http://myapp.com/oauth/auth',
+ 'scope' => null,
+ );
+
+ // testing for algorithm tampering when only RSA256 signing is allowed
+ // @see https://auth0.com/blog/2015/03/31/critical-vulnerabilities-in-json-web-token-libraries/
+ $tampered = $jwtUtil->encode($params, $client_key, 'HS256');
+
+ $payload = $jwtUtil->decode($tampered, $client_key, array('RS256'));
+
+ $this->assertFalse($payload);
+ }
+
+ public function provideClientCredentials()
+ {
+ $storage = Bootstrap::getInstance()->getMemoryStorage();
+ $client_id = 'Test Client ID';
+ $client_key = $storage->getClientKey($client_id, "testuser@ourdomain.com");
+
+ return array(
+ array($client_id, $client_key),
+ );
+ }
+}
diff --git a/vendor/bshaffer/oauth2-server-php/test/OAuth2/Encryption/JwtTest.php b/vendor/bshaffer/oauth2-server-php/test/OAuth2/Encryption/JwtTest.php
new file mode 100644
index 000000000..214eebac8
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/test/OAuth2/Encryption/JwtTest.php
@@ -0,0 +1,102 @@
+<?php
+
+namespace OAuth2\Encryption;
+
+use OAuth2\Storage\Bootstrap;
+
+class JwtTest extends \PHPUnit_Framework_TestCase
+{
+ private $privateKey;
+
+ public function setUp()
+ {
+ $this->privateKey = <<<EOD
+-----BEGIN RSA PRIVATE KEY-----
+MIICXAIBAAKBgQC5/SxVlE8gnpFqCxgl2wjhzY7ucEi00s0kUg3xp7lVEvgLgYcA
+nHiWp+gtSjOFfH2zsvpiWm6Lz5f743j/FEzHIO1owR0p4d9pOaJK07d01+RzoQLO
+IQAgXrr4T1CCWUesncwwPBVCyy2Mw3Nmhmr9MrF8UlvdRKBxriRnlP3qJQIDAQAB
+AoGAVgJJVU4fhYMu1e5JfYAcTGfF+Gf+h3iQm4JCpoUcxMXf5VpB9ztk3K7LRN5y
+kwFuFALpnUAarRcUPs0D8FoP4qBluKksbAtgHkO7bMSH9emN+mH4le4qpFlR7+P1
+3fLE2Y19IBwPwEfClC+TpJvuog6xqUYGPlg6XLq/MxQUB4ECQQDgovP1v+ONSeGS
+R+NgJTR47noTkQT3M2izlce/OG7a+O0yw6BOZjNXqH2wx3DshqMcPUFrTjibIClP
+l/tEQ3ShAkEA0/TdBYDtXpNNjqg0R9GVH2pw7Kh68ne6mZTuj0kCgFYpUF6L6iMm
+zXamIJ51rTDsTyKTAZ1JuAhAsK/M2BbDBQJAKQ5fXEkIA+i+64dsDUR/hKLBeRYG
+PFAPENONQGvGBwt7/s02XV3cgGbxIgAxqWkqIp0neb9AJUoJgtyaNe3GQQJANoL4
+QQ0af0NVJAZgg8QEHTNL3aGrFSbzx8IE5Lb7PLRsJa5bP5lQxnDoYuU+EI/Phr62
+niisp/b/ZDGidkTMXQJBALeRsH1I+LmICAvWXpLKa9Gv0zGCwkuIJLiUbV9c6CVh
+suocCAteQwL5iW2gA4AnYr5OGeHFsEl7NCQcwfPZpJ0=
+-----END RSA PRIVATE KEY-----
+EOD;
+ }
+
+ /** @dataProvider provideClientCredentials */
+ public function testJwtUtil($client_id, $client_key)
+ {
+ $jwtUtil = new Jwt();
+
+ $params = array(
+ 'iss' => $client_id,
+ 'exp' => time() + 1000,
+ 'iat' => time(),
+ 'sub' => 'testuser@ourdomain.com',
+ 'aud' => 'http://myapp.com/oauth/auth',
+ 'scope' => null,
+ );
+
+ $encoded = $jwtUtil->encode($params, $this->privateKey, 'RS256');
+
+ // test BC behaviour of trusting the algorithm in the header
+ $payload = $jwtUtil->decode($encoded, $client_key);
+ $this->assertEquals($params, $payload);
+
+ // test BC behaviour of not verifying by passing false
+ $payload = $jwtUtil->decode($encoded, $client_key, false);
+ $this->assertEquals($params, $payload);
+
+ // test the new restricted algorithms header
+ $payload = $jwtUtil->decode($encoded, $client_key, array('RS256'));
+ $this->assertEquals($params, $payload);
+ }
+
+ public function testInvalidJwt()
+ {
+ $jwtUtil = new Jwt();
+
+ $this->assertFalse($jwtUtil->decode('goob'));
+ $this->assertFalse($jwtUtil->decode('go.o.b'));
+ }
+
+ /** @dataProvider provideClientCredentials */
+ public function testInvalidJwtHeader($client_id, $client_key)
+ {
+ $jwtUtil = new Jwt();
+
+ $params = array(
+ 'iss' => $client_id,
+ 'exp' => time() + 1000,
+ 'iat' => time(),
+ 'sub' => 'testuser@ourdomain.com',
+ 'aud' => 'http://myapp.com/oauth/auth',
+ 'scope' => null,
+ );
+
+ // testing for algorithm tampering when only RSA256 signing is allowed
+ // @see https://auth0.com/blog/2015/03/31/critical-vulnerabilities-in-json-web-token-libraries/
+ $tampered = $jwtUtil->encode($params, $client_key, 'HS256');
+
+ $payload = $jwtUtil->decode($tampered, $client_key, array('RS256'));
+
+ $this->assertFalse($payload);
+ }
+
+ public function provideClientCredentials()
+ {
+ $storage = Bootstrap::getInstance()->getMemoryStorage();
+ $client_id = 'Test Client ID';
+ $client_key = $storage->getClientKey($client_id, "testuser@ourdomain.com");
+
+ return array(
+ array($client_id, $client_key),
+ );
+ }
+}
diff --git a/vendor/bshaffer/oauth2-server-php/test/OAuth2/GrantType/AuthorizationCodeTest.php b/vendor/bshaffer/oauth2-server-php/test/OAuth2/GrantType/AuthorizationCodeTest.php
new file mode 100644
index 000000000..356b8e53c
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/test/OAuth2/GrantType/AuthorizationCodeTest.php
@@ -0,0 +1,223 @@
+<?php
+
+namespace OAuth2\GrantType;
+
+use OAuth2\Storage\Bootstrap;
+use OAuth2\Server;
+use OAuth2\Request\TestRequest;
+use OAuth2\Response;
+
+class AuthorizationCodeTest extends \PHPUnit_Framework_TestCase
+{
+ public function testNoCode()
+ {
+ $server = $this->getTestServer();
+ $request = TestRequest::createPost(array(
+ 'grant_type' => 'authorization_code', // valid grant type
+ 'client_id' => 'Test Client ID', // valid client id
+ 'client_secret' => 'TestSecret', // valid client secret
+ ));
+ $server->handleTokenRequest($request, $response = new Response());
+
+ $this->assertEquals($response->getStatusCode(), 400);
+ $this->assertEquals($response->getParameter('error'), 'invalid_request');
+ $this->assertEquals($response->getParameter('error_description'), 'Missing parameter: "code" is required');
+ }
+
+ public function testInvalidCode()
+ {
+ $server = $this->getTestServer();
+ $request = TestRequest::createPost(array(
+ 'grant_type' => 'authorization_code', // valid grant type
+ 'client_id' => 'Test Client ID', // valid client id
+ 'client_secret' => 'TestSecret', // valid client secret
+ 'code' => 'InvalidCode', // invalid authorization code
+ ));
+ $server->handleTokenRequest($request, $response = new Response());
+
+ $this->assertEquals($response->getStatusCode(), 400);
+ $this->assertEquals($response->getParameter('error'), 'invalid_grant');
+ $this->assertEquals($response->getParameter('error_description'), 'Authorization code doesn\'t exist or is invalid for the client');
+ }
+
+ public function testCodeCannotBeUsedTwice()
+ {
+ $server = $this->getTestServer();
+ $request = TestRequest::createPost(array(
+ 'grant_type' => 'authorization_code', // valid grant type
+ 'client_id' => 'Test Client ID', // valid client id
+ 'client_secret' => 'TestSecret', // valid client secret
+ 'code' => 'testcode', // valid code
+ ));
+ $server->handleTokenRequest($request, $response = new Response());
+
+ $this->assertEquals($response->getStatusCode(), 200);
+ $this->assertNotNull($response->getParameter('access_token'));
+
+ // try to use the same code again
+ $server->handleTokenRequest($request, $response = new Response());
+
+ $this->assertEquals($response->getStatusCode(), 400);
+ $this->assertEquals($response->getParameter('error'), 'invalid_grant');
+ $this->assertEquals($response->getParameter('error_description'), 'Authorization code doesn\'t exist or is invalid for the client');
+ }
+
+ public function testExpiredCode()
+ {
+ $server = $this->getTestServer();
+ $request = TestRequest::createPost(array(
+ 'grant_type' => 'authorization_code', // valid grant type
+ 'client_id' => 'Test Client ID', // valid client id
+ 'client_secret' => 'TestSecret', // valid client secret
+ 'code' => 'testcode-expired', // expired authorization code
+ ));
+ $server->handleTokenRequest($request, $response = new Response());
+
+ $this->assertEquals($response->getStatusCode(), 400);
+ $this->assertEquals($response->getParameter('error'), 'invalid_grant');
+ $this->assertEquals($response->getParameter('error_description'), 'The authorization code has expired');
+ }
+
+ public function testValidCode()
+ {
+ $server = $this->getTestServer();
+ $request = TestRequest::createPost(array(
+ 'grant_type' => 'authorization_code', // valid grant type
+ 'client_id' => 'Test Client ID', // valid client id
+ 'client_secret' => 'TestSecret', // valid client secret
+ 'code' => 'testcode', // valid code
+ ));
+ $token = $server->grantAccessToken($request, new Response());
+
+ $this->assertNotNull($token);
+ $this->assertArrayHasKey('access_token', $token);
+ }
+
+ public function testValidRedirectUri()
+ {
+ $server = $this->getTestServer();
+ $request = TestRequest::createPost(array(
+ 'grant_type' => 'authorization_code', // valid grant type
+ 'client_id' => 'Test Client ID', // valid client id
+ 'redirect_uri' => 'http://brentertainment.com/voil%C3%A0', // valid client id
+ 'client_secret' => 'TestSecret', // valid client secret
+ 'code' => 'testcode-redirect-uri', // valid code
+ ));
+ $token = $server->grantAccessToken($request, new Response());
+
+ $this->assertNotNull($token);
+ $this->assertArrayHasKey('access_token', $token);
+ }
+
+ public function testValidCodeNoScope()
+ {
+ $server = $this->getTestServer();
+ $request = TestRequest::createPost(array(
+ 'grant_type' => 'authorization_code', // valid grant type
+ 'client_id' => 'Test Client ID', // valid client id
+ 'client_secret' => 'TestSecret', // valid client secret
+ 'code' => 'testcode-with-scope', // valid code
+ ));
+ $token = $server->grantAccessToken($request, new Response());
+
+ $this->assertNotNull($token);
+ $this->assertArrayHasKey('access_token', $token);
+ $this->assertArrayHasKey('scope', $token);
+ $this->assertEquals($token['scope'], 'scope1 scope2');
+ }
+
+ public function testValidCodeSameScope()
+ {
+ $server = $this->getTestServer();
+ $request = TestRequest::createPost(array(
+ 'grant_type' => 'authorization_code', // valid grant type
+ 'client_id' => 'Test Client ID', // valid client id
+ 'client_secret' => 'TestSecret', // valid client secret
+ 'code' => 'testcode-with-scope', // valid code
+ 'scope' => 'scope2 scope1',
+ ));
+ $token = $server->grantAccessToken($request, new Response());
+
+ $this->assertNotNull($token);
+ $this->assertArrayHasKey('access_token', $token);
+ $this->assertArrayHasKey('scope', $token);
+ $this->assertEquals($token['scope'], 'scope2 scope1');
+ }
+
+ public function testValidCodeLessScope()
+ {
+ $server = $this->getTestServer();
+ $request = TestRequest::createPost(array(
+ 'grant_type' => 'authorization_code', // valid grant type
+ 'client_id' => 'Test Client ID', // valid client id
+ 'client_secret' => 'TestSecret', // valid client secret
+ 'code' => 'testcode-with-scope', // valid code
+ 'scope' => 'scope1',
+ ));
+ $token = $server->grantAccessToken($request, new Response());
+
+ $this->assertNotNull($token);
+ $this->assertArrayHasKey('access_token', $token);
+ $this->assertArrayHasKey('scope', $token);
+ $this->assertEquals($token['scope'], 'scope1');
+ }
+
+ public function testValidCodeDifferentScope()
+ {
+ $server = $this->getTestServer();
+ $request = TestRequest::createPost(array(
+ 'grant_type' => 'authorization_code', // valid grant type
+ 'client_id' => 'Test Client ID', // valid client id
+ 'client_secret' => 'TestSecret', // valid client secret
+ 'code' => 'testcode-with-scope', // valid code
+ 'scope' => 'scope3',
+ ));
+ $token = $server->grantAccessToken($request, $response = new Response());
+
+ $this->assertEquals($response->getStatusCode(), 400);
+ $this->assertEquals($response->getParameter('error'), 'invalid_scope');
+ $this->assertEquals($response->getParameter('error_description'), 'The scope requested is invalid for this request');
+ }
+
+ public function testValidCodeInvalidScope()
+ {
+ $server = $this->getTestServer();
+ $request = TestRequest::createPost(array(
+ 'grant_type' => 'authorization_code', // valid grant type
+ 'client_id' => 'Test Client ID', // valid client id
+ 'client_secret' => 'TestSecret', // valid client secret
+ 'code' => 'testcode-with-scope', // valid code
+ 'scope' => 'invalid-scope',
+ ));
+ $token = $server->grantAccessToken($request, $response = new Response());
+
+ $this->assertEquals($response->getStatusCode(), 400);
+ $this->assertEquals($response->getParameter('error'), 'invalid_scope');
+ $this->assertEquals($response->getParameter('error_description'), 'The scope requested is invalid for this request');
+ }
+
+ public function testValidClientDifferentCode()
+ {
+ $server = $this->getTestServer();
+ $request = TestRequest::createPost(array(
+ 'grant_type' => 'authorization_code', // valid grant type
+ 'client_id' => 'Test Some Other Client', // valid client id
+ 'client_secret' => 'TestSecret3', // valid client secret
+ 'code' => 'testcode', // valid code
+ ));
+ $token = $server->grantAccessToken($request, $response = new Response());
+
+ $this->assertEquals($response->getStatusCode(), 400);
+ $this->assertEquals($response->getParameter('error'), 'invalid_grant');
+ $this->assertEquals($response->getParameter('error_description'), 'authorization_code doesn\'t exist or is invalid for the client');
+ }
+
+ private function getTestServer()
+ {
+ $storage = Bootstrap::getInstance()->getMemoryStorage();
+ $server = new Server($storage);
+ $server->addGrantType(new AuthorizationCode($storage));
+
+ return $server;
+ }
+}
diff --git a/vendor/bshaffer/oauth2-server-php/test/OAuth2/GrantType/ClientCredentialsTest.php b/vendor/bshaffer/oauth2-server-php/test/OAuth2/GrantType/ClientCredentialsTest.php
new file mode 100644
index 000000000..f0d46ccb3
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/test/OAuth2/GrantType/ClientCredentialsTest.php
@@ -0,0 +1,159 @@
+<?php
+
+namespace OAuth2\GrantType;
+
+use OAuth2\Storage\Bootstrap;
+use OAuth2\Server;
+use OAuth2\Request\TestRequest;
+use OAuth2\Request;
+use OAuth2\Response;
+
+class ClientCredentialsTest extends \PHPUnit_Framework_TestCase
+{
+ public function testInvalidCredentials()
+ {
+ $server = $this->getTestServer();
+ $request = TestRequest::createPost(array(
+ 'grant_type' => 'client_credentials', // valid grant type
+ 'client_id' => 'Test Client ID', // valid client id
+ 'client_secret' => 'FakeSecret', // valid client secret
+ ));
+ $server->handleTokenRequest($request, $response = new Response());
+
+ $this->assertEquals($response->getStatusCode(), 400);
+ $this->assertEquals($response->getParameter('error'), 'invalid_client');
+ $this->assertEquals($response->getParameter('error_description'), 'The client credentials are invalid');
+ }
+
+ public function testValidCredentials()
+ {
+ $server = $this->getTestServer();
+ $request = TestRequest::createPost(array(
+ 'grant_type' => 'client_credentials', // valid grant type
+ 'client_id' => 'Test Client ID', // valid client id
+ 'client_secret' => 'TestSecret', // valid client secret
+ ));
+ $token = $server->grantAccessToken($request, new Response());
+
+ $this->assertNotNull($token);
+ $this->assertArrayHasKey('scope', $token);
+ $this->assertNull($token['scope']);
+ }
+
+ public function testValidCredentialsWithScope()
+ {
+ $server = $this->getTestServer();
+ $request = TestRequest::createPost(array(
+ 'grant_type' => 'client_credentials', // valid grant type
+ 'client_id' => 'Test Client ID', // valid client id
+ 'client_secret' => 'TestSecret', // valid client secret
+ 'scope' => 'scope1',
+ ));
+ $token = $server->grantAccessToken($request, new Response());
+
+ $this->assertNotNull($token);
+ $this->assertArrayHasKey('access_token', $token);
+ $this->assertArrayHasKey('scope', $token);
+ $this->assertEquals($token['scope'], 'scope1');
+ }
+
+ public function testValidCredentialsInvalidScope()
+ {
+ $server = $this->getTestServer();
+ $request = TestRequest::createPost(array(
+ 'grant_type' => 'client_credentials', // valid grant type
+ 'client_id' => 'Test Client ID', // valid client id
+ 'client_secret' => 'TestSecret', // valid client secret
+ 'scope' => 'invalid-scope',
+ ));
+ $token = $server->grantAccessToken($request, $response = new Response());
+
+ $this->assertEquals($response->getStatusCode(), 400);
+ $this->assertEquals($response->getParameter('error'), 'invalid_scope');
+ $this->assertEquals($response->getParameter('error_description'), 'An unsupported scope was requested');
+ }
+
+ public function testValidCredentialsInHeader()
+ {
+ // create with HTTP_AUTHORIZATION in header
+ $server = $this->getTestServer();
+ $headers = array('HTTP_AUTHORIZATION' => 'Basic '.base64_encode('Test Client ID:TestSecret'), 'REQUEST_METHOD' => 'POST');
+ $params = array('grant_type' => 'client_credentials');
+ $request = new Request(array(), $params, array(), array(), array(), $headers);
+ $token = $server->grantAccessToken($request, new Response());
+
+ $this->assertNotNull($token);
+ $this->assertArrayHasKey('access_token', $token);
+ $this->assertNotNull($token['access_token']);
+
+ // create using PHP Authorization Globals
+ $headers = array('PHP_AUTH_USER' => 'Test Client ID', 'PHP_AUTH_PW' => 'TestSecret', 'REQUEST_METHOD' => 'POST');
+ $params = array('grant_type' => 'client_credentials');
+ $request = new Request(array(), $params, array(), array(), array(), $headers);
+ $token = $server->grantAccessToken($request, new Response());
+
+ $this->assertNotNull($token);
+ $this->assertArrayHasKey('access_token', $token);
+ $this->assertNotNull($token['access_token']);
+ }
+
+ public function testValidCredentialsInRequest()
+ {
+ $server = $this->getTestServer();
+ $request = TestRequest::createPost(array(
+ 'grant_type' => 'client_credentials', // valid grant type
+ 'client_id' => 'Test Client ID', // valid client id
+ 'client_secret' => 'TestSecret', // valid client secret
+ ));
+ $token = $server->grantAccessToken($request, new Response());
+
+ $this->assertNotNull($token);
+ $this->assertArrayHasKey('access_token', $token);
+ $this->assertNotNull($token['access_token']);
+ }
+
+ public function testValidCredentialsInQuerystring()
+ {
+ $server = $this->getTestServer();
+ $request = TestRequest::createPost(array(
+ 'grant_type' => 'client_credentials', // valid grant type
+ 'client_id' => 'Test Client ID', // valid client id
+ 'client_secret' => 'TestSecret', // valid client secret
+ ));
+ $token = $server->grantAccessToken($request, new Response());
+
+ $this->assertNotNull($token);
+ $this->assertArrayHasKey('access_token', $token);
+ $this->assertNotNull($token['access_token']);
+ }
+
+ public function testClientUserIdIsSetInAccessToken()
+ {
+ $server = $this->getTestServer();
+ $request = TestRequest::createPost(array(
+ 'grant_type' => 'client_credentials', // valid grant type
+ 'client_id' => 'Client ID With User ID', // valid client id
+ 'client_secret' => 'TestSecret', // valid client secret
+ ));
+ $token = $server->grantAccessToken($request, new Response());
+
+ $this->assertNotNull($token);
+ $this->assertArrayHasKey('access_token', $token);
+
+ // verify the user_id was associated with the token
+ $storage = $server->getStorage('client');
+ $token = $storage->getAccessToken($token['access_token']);
+ $this->assertNotNull($token);
+ $this->assertArrayHasKey('user_id', $token);
+ $this->assertEquals($token['user_id'], 'brent@brentertainment.com');
+ }
+
+ private function getTestServer()
+ {
+ $storage = Bootstrap::getInstance()->getMemoryStorage();
+ $server = new Server($storage);
+ $server->addGrantType(new ClientCredentials($storage));
+
+ return $server;
+ }
+}
diff --git a/vendor/bshaffer/oauth2-server-php/test/OAuth2/GrantType/ImplicitTest.php b/vendor/bshaffer/oauth2-server-php/test/OAuth2/GrantType/ImplicitTest.php
new file mode 100644
index 000000000..a47aae3e8
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/test/OAuth2/GrantType/ImplicitTest.php
@@ -0,0 +1,143 @@
+<?php
+
+namespace OAuth2\GrantType;
+
+use OAuth2\Storage\Bootstrap;
+use OAuth2\Server;
+use OAuth2\Request;
+use OAuth2\Response;
+
+class ImplicitTest extends \PHPUnit_Framework_TestCase
+{
+ public function testImplicitNotAllowedResponse()
+ {
+ $server = $this->getTestServer();
+ $request = new Request(array(
+ 'client_id' => 'Test Client ID', // valid client id
+ 'redirect_uri' => 'http://adobe.com', // valid redirect URI
+ 'response_type' => 'token', // invalid response type
+ ));
+ $server->handleAuthorizeRequest($request, $response = new Response(), false);
+
+ $this->assertEquals($response->getStatusCode(), 302);
+ $location = $response->getHttpHeader('Location');
+ $parts = parse_url($location);
+ parse_str($parts['query'], $query);
+
+ $this->assertEquals($query['error'], 'unsupported_response_type');
+ $this->assertEquals($query['error_description'], 'implicit grant type not supported');
+ }
+
+ public function testUserDeniesAccessResponse()
+ {
+ $server = $this->getTestServer(array('allow_implicit' => true));
+ $request = new Request(array(
+ 'client_id' => 'Test Client ID', // valid client id
+ 'redirect_uri' => 'http://adobe.com', // valid redirect URI
+ 'response_type' => 'token', // valid response type
+ 'state' => 'xyz',
+ ));
+ $server->handleAuthorizeRequest($request, $response = new Response(), false);
+
+ $this->assertEquals($response->getStatusCode(), 302);
+ $location = $response->getHttpHeader('Location');
+ $parts = parse_url($location);
+ parse_str($parts['query'], $query);
+
+ $this->assertEquals($query['error'], 'access_denied');
+ $this->assertEquals($query['error_description'], 'The user denied access to your application');
+ }
+
+ public function testSuccessfulRequestFragmentParameter()
+ {
+ $server = $this->getTestServer(array('allow_implicit' => true));
+ $request = new Request(array(
+ 'client_id' => 'Test Client ID', // valid client id
+ 'redirect_uri' => 'http://adobe.com', // valid redirect URI
+ 'response_type' => 'token', // valid response type
+ 'state' => 'xyz',
+ ));
+ $server->handleAuthorizeRequest($request, $response = new Response(), true);
+
+ $this->assertEquals($response->getStatusCode(), 302);
+ $this->assertNull($response->getParameter('error'));
+ $this->assertNull($response->getParameter('error_description'));
+
+ $location = $response->getHttpHeader('Location');
+ $parts = parse_url($location);
+
+ $this->assertEquals('http', $parts['scheme']); // same as passed in to redirect_uri
+ $this->assertEquals('adobe.com', $parts['host']); // same as passed in to redirect_uri
+ $this->assertArrayHasKey('fragment', $parts);
+ $this->assertFalse(isset($parts['query']));
+
+ // assert fragment is in "application/x-www-form-urlencoded" format
+ parse_str($parts['fragment'], $params);
+ $this->assertNotNull($params);
+ $this->assertArrayHasKey('access_token', $params);
+ $this->assertArrayHasKey('expires_in', $params);
+ $this->assertArrayHasKey('token_type', $params);
+ }
+
+ public function testSuccessfulRequestReturnsStateParameter()
+ {
+ $server = $this->getTestServer(array('allow_implicit' => true));
+ $request = new Request(array(
+ 'client_id' => 'Test Client ID', // valid client id
+ 'redirect_uri' => 'http://adobe.com', // valid redirect URI
+ 'response_type' => 'token', // valid response type
+ 'state' => 'test', // valid state string (just needs to be passed back to us)
+ ));
+ $server->handleAuthorizeRequest($request, $response = new Response(), true);
+
+ $this->assertEquals($response->getStatusCode(), 302);
+ $this->assertNull($response->getParameter('error'));
+ $this->assertNull($response->getParameter('error_description'));
+
+ $location = $response->getHttpHeader('Location');
+ $parts = parse_url($location);
+ $this->assertArrayHasKey('fragment', $parts);
+ parse_str($parts['fragment'], $params);
+
+ $this->assertArrayHasKey('state', $params);
+ $this->assertEquals($params['state'], 'test');
+ }
+
+ public function testSuccessfulRequestStripsExtraParameters()
+ {
+ $server = $this->getTestServer(array('allow_implicit' => true));
+ $request = new Request(array(
+ 'client_id' => 'Test Client ID', // valid client id
+ 'redirect_uri' => 'http://adobe.com?fake=something', // valid redirect URI
+ 'response_type' => 'token', // valid response type
+ 'state' => 'test', // valid state string (just needs to be passed back to us)
+ 'fake' => 'something', // add extra param to querystring
+ ));
+ $server->handleAuthorizeRequest($request, $response = new Response(), true);
+
+ $this->assertEquals($response->getStatusCode(), 302);
+ $this->assertNull($response->getParameter('error'));
+ $this->assertNull($response->getParameter('error_description'));
+
+ $location = $response->getHttpHeader('Location');
+ $parts = parse_url($location);
+ $this->assertFalse(isset($parts['fake']));
+ $this->assertArrayHasKey('fragment', $parts);
+ parse_str($parts['fragment'], $params);
+
+ $this->assertFalse(isset($params['fake']));
+ $this->assertArrayHasKey('state', $params);
+ $this->assertEquals($params['state'], 'test');
+ }
+
+ private function getTestServer($config = array())
+ {
+ $storage = Bootstrap::getInstance()->getMemoryStorage();
+ $server = new Server($storage, $config);
+
+ // Add the two types supported for authorization grant
+ $server->addGrantType(new AuthorizationCode($storage));
+
+ return $server;
+ }
+}
diff --git a/vendor/bshaffer/oauth2-server-php/test/OAuth2/GrantType/JwtBearerTest.php b/vendor/bshaffer/oauth2-server-php/test/OAuth2/GrantType/JwtBearerTest.php
new file mode 100644
index 000000000..0a6c4b827
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/test/OAuth2/GrantType/JwtBearerTest.php
@@ -0,0 +1,360 @@
+<?php
+
+namespace OAuth2\GrantType;
+
+use OAuth2\Storage\Bootstrap;
+use OAuth2\Server;
+use OAuth2\Request\TestRequest;
+use OAuth2\Response;
+use OAuth2\Encryption\Jwt;
+
+class JwtBearerTest extends \PHPUnit_Framework_TestCase
+{
+ private $privateKey;
+
+ public function setUp()
+ {
+ $this->privateKey = <<<EOD
+-----BEGIN RSA PRIVATE KEY-----
+MIICXAIBAAKBgQC5/SxVlE8gnpFqCxgl2wjhzY7ucEi00s0kUg3xp7lVEvgLgYcA
+nHiWp+gtSjOFfH2zsvpiWm6Lz5f743j/FEzHIO1owR0p4d9pOaJK07d01+RzoQLO
+IQAgXrr4T1CCWUesncwwPBVCyy2Mw3Nmhmr9MrF8UlvdRKBxriRnlP3qJQIDAQAB
+AoGAVgJJVU4fhYMu1e5JfYAcTGfF+Gf+h3iQm4JCpoUcxMXf5VpB9ztk3K7LRN5y
+kwFuFALpnUAarRcUPs0D8FoP4qBluKksbAtgHkO7bMSH9emN+mH4le4qpFlR7+P1
+3fLE2Y19IBwPwEfClC+TpJvuog6xqUYGPlg6XLq/MxQUB4ECQQDgovP1v+ONSeGS
+R+NgJTR47noTkQT3M2izlce/OG7a+O0yw6BOZjNXqH2wx3DshqMcPUFrTjibIClP
+l/tEQ3ShAkEA0/TdBYDtXpNNjqg0R9GVH2pw7Kh68ne6mZTuj0kCgFYpUF6L6iMm
+zXamIJ51rTDsTyKTAZ1JuAhAsK/M2BbDBQJAKQ5fXEkIA+i+64dsDUR/hKLBeRYG
+PFAPENONQGvGBwt7/s02XV3cgGbxIgAxqWkqIp0neb9AJUoJgtyaNe3GQQJANoL4
+QQ0af0NVJAZgg8QEHTNL3aGrFSbzx8IE5Lb7PLRsJa5bP5lQxnDoYuU+EI/Phr62
+niisp/b/ZDGidkTMXQJBALeRsH1I+LmICAvWXpLKa9Gv0zGCwkuIJLiUbV9c6CVh
+suocCAteQwL5iW2gA4AnYr5OGeHFsEl7NCQcwfPZpJ0=
+-----END RSA PRIVATE KEY-----
+EOD;
+ }
+
+ public function testMalformedJWT()
+ {
+ $server = $this->getTestServer();
+ $request = TestRequest::createPost(array(
+ 'grant_type' => 'urn:ietf:params:oauth:grant-type:jwt-bearer', // valid grant type
+ ));
+
+ //Get the jwt and break it
+ $jwt = $this->getJWT();
+ $jwt = substr_replace($jwt, 'broken', 3, 6);
+
+ $request->request['assertion'] = $jwt;
+
+ $server->grantAccessToken($request, $response = new Response());
+
+ $this->assertEquals($response->getStatusCode(), 400);
+ $this->assertEquals($response->getParameter('error'), 'invalid_request');
+ $this->assertEquals($response->getParameter('error_description'), 'JWT is malformed');
+ }
+
+ public function testBrokenSignature()
+ {
+ $server = $this->getTestServer();
+ $request = TestRequest::createPost(array(
+ 'grant_type' => 'urn:ietf:params:oauth:grant-type:jwt-bearer', // valid grant type
+ ));
+
+ //Get the jwt and break signature
+ $jwt = $this->getJWT() . 'notSupposeToBeHere';
+ $request->request['assertion'] = $jwt;
+
+ $server->grantAccessToken($request, $response = new Response());
+
+ $this->assertEquals($response->getStatusCode(), 400);
+ $this->assertEquals($response->getParameter('error'), 'invalid_grant');
+ $this->assertEquals($response->getParameter('error_description'), 'JWT failed signature verification');
+ }
+
+ public function testExpiredJWT()
+ {
+ $server = $this->getTestServer();
+ $request = TestRequest::createPost(array(
+ 'grant_type' => 'urn:ietf:params:oauth:grant-type:jwt-bearer', // valid grant type
+ ));
+
+ //Get an expired JWT
+ $jwt = $this->getJWT(1234);
+ $request->request['assertion'] = $jwt;
+
+ $server->grantAccessToken($request, $response = new Response());
+
+ $this->assertEquals($response->getStatusCode(), 400);
+ $this->assertEquals($response->getParameter('error'), 'invalid_grant');
+ $this->assertEquals($response->getParameter('error_description'), 'JWT has expired');
+ }
+
+ public function testBadExp()
+ {
+ $server = $this->getTestServer();
+ $request = TestRequest::createPost(array(
+ 'grant_type' => 'urn:ietf:params:oauth:grant-type:jwt-bearer', // valid grant type
+ ));
+
+ //Get an expired JWT
+ $jwt = $this->getJWT('badtimestamp');
+ $request->request['assertion'] = $jwt;
+
+ $server->grantAccessToken($request, $response = new Response());
+
+ $this->assertEquals($response->getStatusCode(), 400);
+ $this->assertEquals($response->getParameter('error'), 'invalid_grant');
+ $this->assertEquals($response->getParameter('error_description'), 'Expiration (exp) time must be a unix time stamp');
+ }
+
+ public function testNoAssert()
+ {
+ $server = $this->getTestServer();
+ $request = TestRequest::createPost(array(
+ 'grant_type' => 'urn:ietf:params:oauth:grant-type:jwt-bearer', // valid grant type
+ ));
+
+ //Do not pass the assert (JWT)
+
+ $server->grantAccessToken($request, $response = new Response());
+
+ $this->assertEquals($response->getStatusCode(), 400);
+ $this->assertEquals($response->getParameter('error'), 'invalid_request');
+ $this->assertEquals($response->getParameter('error_description'), 'Missing parameters: "assertion" required');
+ }
+
+ public function testNotBefore()
+ {
+ $server = $this->getTestServer();
+ $request = TestRequest::createPost(array(
+ 'grant_type' => 'urn:ietf:params:oauth:grant-type:jwt-bearer', // valid grant type
+ ));
+
+ //Get a future NBF
+ $jwt = $this->getJWT(null, time() + 10000);
+ $request->request['assertion'] = $jwt;
+
+ $server->grantAccessToken($request, $response = new Response());
+
+ $this->assertEquals($response->getStatusCode(), 400);
+ $this->assertEquals($response->getParameter('error'), 'invalid_grant');
+ $this->assertEquals($response->getParameter('error_description'), 'JWT cannot be used before the Not Before (nbf) time');
+ }
+
+ public function testBadNotBefore()
+ {
+ $server = $this->getTestServer();
+ $request = TestRequest::createPost(array(
+ 'grant_type' => 'urn:ietf:params:oauth:grant-type:jwt-bearer', // valid grant type
+ ));
+
+ //Get a non timestamp nbf
+ $jwt = $this->getJWT(null, 'notatimestamp');
+ $request->request['assertion'] = $jwt;
+
+ $server->grantAccessToken($request, $response = new Response());
+
+ $this->assertEquals($response->getStatusCode(), 400);
+ $this->assertEquals($response->getParameter('error'), 'invalid_grant');
+ $this->assertEquals($response->getParameter('error_description'), 'Not Before (nbf) time must be a unix time stamp');
+ }
+
+ public function testNonMatchingAudience()
+ {
+ $server = $this->getTestServer('http://google.com/oauth/o/auth');
+ $request = TestRequest::createPost(array(
+ 'grant_type' => 'urn:ietf:params:oauth:grant-type:jwt-bearer', // valid grant type
+ 'assertion' => $this->getJWT(),
+ ));
+
+ $server->grantAccessToken($request, $response = new Response());
+
+ $this->assertEquals($response->getStatusCode(), 400);
+ $this->assertEquals($response->getParameter('error'), 'invalid_grant');
+ $this->assertEquals($response->getParameter('error_description'), 'Invalid audience (aud)');
+ }
+
+ public function testBadClientID()
+ {
+ $server = $this->getTestServer();
+ $request = TestRequest::createPost(array(
+ 'grant_type' => 'urn:ietf:params:oauth:grant-type:jwt-bearer', // valid grant type
+ 'assertion' => $this->getJWT(null, null, null, 'bad_client_id'),
+ ));
+
+ $server->grantAccessToken($request, $response = new Response());
+
+ $this->assertEquals($response->getStatusCode(), 400);
+ $this->assertEquals($response->getParameter('error'), 'invalid_grant');
+ $this->assertEquals($response->getParameter('error_description'), 'Invalid issuer (iss) or subject (sub) provided');
+ }
+
+ public function testBadSubject()
+ {
+ $server = $this->getTestServer();
+ $request = TestRequest::createPost(array(
+ 'grant_type' => 'urn:ietf:params:oauth:grant-type:jwt-bearer', // valid grant type
+ 'assertion' => $this->getJWT(null, null, 'anotheruser@ourdomain,com'),
+ ));
+
+ $server->grantAccessToken($request, $response = new Response());
+
+ $this->assertEquals($response->getStatusCode(), 400);
+ $this->assertEquals($response->getParameter('error'), 'invalid_grant');
+ $this->assertEquals($response->getParameter('error_description'), 'Invalid issuer (iss) or subject (sub) provided');
+ }
+
+ public function testMissingKey()
+ {
+ $server = $this->getTestServer();
+ $request = TestRequest::createPost(array(
+ 'grant_type' => 'urn:ietf:params:oauth:grant-type:jwt-bearer', // valid grant type
+ 'assertion' => $this->getJWT(null, null, null, 'Missing Key Cli,nt'),
+ ));
+
+ $server->grantAccessToken($request, $response = new Response());
+
+ $this->assertEquals($response->getStatusCode(), 400);
+ $this->assertEquals($response->getParameter('error'), 'invalid_grant');
+ $this->assertEquals($response->getParameter('error_description'), 'Invalid issuer (iss) or subject (sub) provided');
+ }
+
+ public function testValidJwt()
+ {
+ $server = $this->getTestServer();
+ $request = TestRequest::createPost(array(
+ 'grant_type' => 'urn:ietf:params:oauth:grant-type:jwt-bearer', // valid grant type
+ 'assertion' => $this->getJWT(), // valid assertion
+ ));
+
+ $token = $server->grantAccessToken($request, new Response());
+ $this->assertNotNull($token);
+ $this->assertArrayHasKey('access_token', $token);
+ }
+
+ public function testValidJwtWithScope()
+ {
+ $server = $this->getTestServer();
+ $request = TestRequest::createPost(array(
+ 'grant_type' => 'urn:ietf:params:oauth:grant-type:jwt-bearer', // valid grant type
+ 'assertion' => $this->getJWT(null, null, null, 'Test Client ID'), // valid assertion
+ 'scope' => 'scope1', // valid scope
+ ));
+ $token = $server->grantAccessToken($request, new Response());
+
+ $this->assertNotNull($token);
+ $this->assertArrayHasKey('access_token', $token);
+ $this->assertArrayHasKey('scope', $token);
+ $this->assertEquals($token['scope'], 'scope1');
+ }
+
+ public function testValidJwtInvalidScope()
+ {
+ $server = $this->getTestServer();
+ $request = TestRequest::createPost(array(
+ 'grant_type' => 'urn:ietf:params:oauth:grant-type:jwt-bearer', // valid grant type
+ 'assertion' => $this->getJWT(null, null, null, 'Test Client ID'), // valid assertion
+ 'scope' => 'invalid-scope', // invalid scope
+ ));
+ $token = $server->grantAccessToken($request, $response = new Response());
+
+ $this->assertEquals($response->getStatusCode(), 400);
+ $this->assertEquals($response->getParameter('error'), 'invalid_scope');
+ $this->assertEquals($response->getParameter('error_description'), 'An unsupported scope was requested');
+ }
+
+ public function testValidJti()
+ {
+ $server = $this->getTestServer();
+ $request = TestRequest::createPost(array(
+ 'grant_type' => 'urn:ietf:params:oauth:grant-type:jwt-bearer', // valid grant type
+ 'assertion' => $this->getJWT(null, null, 'testuser@ourdomain.com', 'Test Client ID', 'unused_jti'), // valid assertion with invalid scope
+ ));
+ $token = $server->grantAccessToken($request, $response = new Response());
+
+ $this->assertNotNull($token);
+ $this->assertArrayHasKey('access_token', $token);
+ }
+
+ public function testInvalidJti()
+ {
+ $server = $this->getTestServer();
+ $request = TestRequest::createPost(array(
+ 'grant_type' => 'urn:ietf:params:oauth:grant-type:jwt-bearer', // valid grant type
+ 'assertion' => $this->getJWT(99999999900, null, 'testuser@ourdomain.com', 'Test Client ID', 'used_jti'), // valid assertion with invalid scope
+ ));
+ $token = $server->grantAccessToken($request, $response = new Response());
+
+ $this->assertEquals($response->getStatusCode(), 400);
+ $this->assertEquals($response->getParameter('error'), 'invalid_grant');
+ $this->assertEquals($response->getParameter('error_description'), 'JSON Token Identifier (jti) has already been used');
+ }
+
+ public function testJtiReplayAttack()
+ {
+ $server = $this->getTestServer();
+ $request = TestRequest::createPost(array(
+ 'grant_type' => 'urn:ietf:params:oauth:grant-type:jwt-bearer', // valid grant type
+ 'assertion' => $this->getJWT(99999999900, null, 'testuser@ourdomain.com', 'Test Client ID', 'totally_new_jti'), // valid assertion with invalid scope
+ ));
+ $token = $server->grantAccessToken($request, $response = new Response());
+
+ $this->assertNotNull($token);
+ $this->assertArrayHasKey('access_token', $token);
+
+ //Replay the same request
+ $token = $server->grantAccessToken($request, $response = new Response());
+
+ $this->assertEquals($response->getStatusCode(), 400);
+ $this->assertEquals($response->getParameter('error'), 'invalid_grant');
+ $this->assertEquals($response->getParameter('error_description'), 'JSON Token Identifier (jti) has already been used');
+ }
+
+ /**
+ * Generates a JWT
+ * @param $exp The expiration date. If the current time is greater than the exp, the JWT is invalid.
+ * @param $nbf The "not before" time. If the current time is less than the nbf, the JWT is invalid.
+ * @param $sub The subject we are acting on behalf of. This could be the email address of the user in the system.
+ * @param $iss The issuer, usually the client_id.
+ * @return string
+ */
+ private function getJWT($exp = null, $nbf = null, $sub = null, $iss = 'Test Client ID', $jti = null)
+ {
+ if (!$exp) {
+ $exp = time() + 1000;
+ }
+
+ if (!$sub) {
+ $sub = "testuser@ourdomain.com";
+ }
+
+ $params = array(
+ 'iss' => $iss,
+ 'exp' => $exp,
+ 'iat' => time(),
+ 'sub' => $sub,
+ 'aud' => 'http://myapp.com/oauth/auth',
+ );
+
+ if ($nbf) {
+ $params['nbf'] = $nbf;
+ }
+
+ if ($jti) {
+ $params['jti'] = $jti;
+ }
+
+ $jwtUtil = new Jwt();
+
+ return $jwtUtil->encode($params, $this->privateKey, 'RS256');
+ }
+
+ private function getTestServer($audience = 'http://myapp.com/oauth/auth')
+ {
+ $storage = Bootstrap::getInstance()->getMemoryStorage();
+ $server = new Server($storage);
+ $server->addGrantType(new JwtBearer($storage, $audience, new Jwt()));
+
+ return $server;
+ }
+}
diff --git a/vendor/bshaffer/oauth2-server-php/test/OAuth2/GrantType/RefreshTokenTest.php b/vendor/bshaffer/oauth2-server-php/test/OAuth2/GrantType/RefreshTokenTest.php
new file mode 100644
index 000000000..a458aad8a
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/test/OAuth2/GrantType/RefreshTokenTest.php
@@ -0,0 +1,204 @@
+<?php
+
+namespace OAuth2\GrantType;
+
+use OAuth2\Storage\Bootstrap;
+use OAuth2\Server;
+use OAuth2\Request\TestRequest;
+use OAuth2\Response;
+
+class RefreshTokenTest extends \PHPUnit_Framework_TestCase
+{
+ private $storage;
+
+ public function testNoRefreshToken()
+ {
+ $server = $this->getTestServer();
+ $server->addGrantType(new RefreshToken($this->storage));
+
+ $request = TestRequest::createPost(array(
+ 'grant_type' => 'refresh_token', // valid grant type
+ 'client_id' => 'Test Client ID', // valid client id
+ 'client_secret' => 'TestSecret', // valid client secret
+ ));
+ $server->grantAccessToken($request, $response = new Response());
+
+ $this->assertEquals($response->getStatusCode(), 400);
+ $this->assertEquals($response->getParameter('error'), 'invalid_request');
+ $this->assertEquals($response->getParameter('error_description'), 'Missing parameter: "refresh_token" is required');
+ }
+
+ public function testInvalidRefreshToken()
+ {
+ $server = $this->getTestServer();
+ $server->addGrantType(new RefreshToken($this->storage));
+
+ $request = TestRequest::createPost(array(
+ 'grant_type' => 'refresh_token', // valid grant type
+ 'client_id' => 'Test Client ID', // valid client id
+ 'client_secret' => 'TestSecret', // valid client secret
+ 'refresh_token' => 'fake-token', // invalid refresh token
+ ));
+ $server->grantAccessToken($request, $response = new Response());
+
+ $this->assertEquals($response->getStatusCode(), 400);
+ $this->assertEquals($response->getParameter('error'), 'invalid_grant');
+ $this->assertEquals($response->getParameter('error_description'), 'Invalid refresh token');
+ }
+
+ public function testValidRefreshTokenWithNewRefreshTokenInResponse()
+ {
+ $server = $this->getTestServer();
+ $server->addGrantType(new RefreshToken($this->storage, array('always_issue_new_refresh_token' => true)));
+
+ $request = TestRequest::createPost(array(
+ 'grant_type' => 'refresh_token', // valid grant type
+ 'client_id' => 'Test Client ID', // valid client id
+ 'client_secret' => 'TestSecret', // valid client secret
+ 'refresh_token' => 'test-refreshtoken', // valid refresh token
+ ));
+ $token = $server->grantAccessToken($request, new Response());
+ $this->assertTrue(isset($token['refresh_token']), 'refresh token should always refresh');
+
+ $refresh_token = $this->storage->getRefreshToken($token['refresh_token']);
+ $this->assertNotNull($refresh_token);
+ $this->assertEquals($refresh_token['refresh_token'], $token['refresh_token']);
+ $this->assertEquals($refresh_token['client_id'], $request->request('client_id'));
+ $this->assertTrue($token['refresh_token'] != 'test-refreshtoken', 'the refresh token returned is not the one used');
+ $used_token = $this->storage->getRefreshToken('test-refreshtoken');
+ $this->assertFalse($used_token, 'the refresh token used is no longer valid');
+ }
+
+ public function testValidRefreshTokenDoesNotUnsetToken()
+ {
+ $server = $this->getTestServer();
+ $server->addGrantType(new RefreshToken($this->storage, array(
+ 'always_issue_new_refresh_token' => true,
+ 'unset_refresh_token_after_use' => false,
+ )));
+
+ $request = TestRequest::createPost(array(
+ 'grant_type' => 'refresh_token', // valid grant type
+ 'client_id' => 'Test Client ID', // valid client id
+ 'client_secret' => 'TestSecret', // valid client secret
+ 'refresh_token' => 'test-refreshtoken', // valid refresh token
+ ));
+ $token = $server->grantAccessToken($request, new Response());
+ $this->assertTrue(isset($token['refresh_token']), 'refresh token should always refresh');
+
+ $used_token = $this->storage->getRefreshToken('test-refreshtoken');
+ $this->assertNotNull($used_token, 'the refresh token used is still valid');
+ }
+
+ public function testValidRefreshTokenWithNoRefreshTokenInResponse()
+ {
+ $server = $this->getTestServer();
+ $server->addGrantType(new RefreshToken($this->storage, array('always_issue_new_refresh_token' => false)));
+
+ $request = TestRequest::createPost(array(
+ 'grant_type' => 'refresh_token', // valid grant type
+ 'client_id' => 'Test Client ID', // valid client id
+ 'client_secret' => 'TestSecret', // valid client secret
+ 'refresh_token' => 'test-refreshtoken', // valid refresh token
+ ));
+ $token = $server->grantAccessToken($request, new Response());
+ $this->assertFalse(isset($token['refresh_token']), 'refresh token should not be returned');
+
+ $used_token = $this->storage->getRefreshToken('test-refreshtoken');
+ $this->assertNotNull($used_token, 'the refresh token used is still valid');
+ }
+
+ public function testValidRefreshTokenSameScope()
+ {
+ $server = $this->getTestServer();
+ $request = TestRequest::createPost(array(
+ 'grant_type' => 'refresh_token', // valid grant type
+ 'client_id' => 'Test Client ID', // valid client id
+ 'client_secret' => 'TestSecret', // valid client secret
+ 'refresh_token' => 'test-refreshtoken-with-scope', // valid refresh token (with scope)
+ 'scope' => 'scope2 scope1',
+ ));
+ $token = $server->grantAccessToken($request, new Response());
+
+ $this->assertNotNull($token);
+ $this->assertArrayHasKey('access_token', $token);
+ $this->assertArrayHasKey('scope', $token);
+ $this->assertEquals($token['scope'], 'scope2 scope1');
+ }
+
+ public function testValidRefreshTokenLessScope()
+ {
+ $server = $this->getTestServer();
+ $request = TestRequest::createPost(array(
+ 'grant_type' => 'refresh_token', // valid grant type
+ 'client_id' => 'Test Client ID', // valid client id
+ 'client_secret' => 'TestSecret', // valid client secret
+ 'refresh_token' => 'test-refreshtoken-with-scope', // valid refresh token (with scope)
+ 'scope' => 'scope1',
+ ));
+ $token = $server->grantAccessToken($request, new Response());
+
+ $this->assertNotNull($token);
+ $this->assertArrayHasKey('access_token', $token);
+ $this->assertArrayHasKey('scope', $token);
+ $this->assertEquals($token['scope'], 'scope1');
+ }
+
+ public function testValidRefreshTokenDifferentScope()
+ {
+ $server = $this->getTestServer();
+ $request = TestRequest::createPost(array(
+ 'grant_type' => 'refresh_token', // valid grant type
+ 'client_id' => 'Test Client ID', // valid client id
+ 'client_secret' => 'TestSecret', // valid client secret
+ 'refresh_token' => 'test-refreshtoken-with-scope', // valid refresh token (with scope)
+ 'scope' => 'scope3',
+ ));
+ $token = $server->grantAccessToken($request, $response = new Response());
+
+ $this->assertEquals($response->getStatusCode(), 400);
+ $this->assertEquals($response->getParameter('error'), 'invalid_scope');
+ $this->assertEquals($response->getParameter('error_description'), 'The scope requested is invalid for this request');
+ }
+
+ public function testValidRefreshTokenInvalidScope()
+ {
+ $server = $this->getTestServer();
+ $request = TestRequest::createPost(array(
+ 'grant_type' => 'refresh_token', // valid grant type
+ 'client_id' => 'Test Client ID', // valid client id
+ 'client_secret' => 'TestSecret', // valid client secret
+ 'refresh_token' => 'test-refreshtoken-with-scope', // valid refresh token (with scope)
+ 'scope' => 'invalid-scope',
+ ));
+ $token = $server->grantAccessToken($request, $response = new Response());
+
+ $this->assertEquals($response->getStatusCode(), 400);
+ $this->assertEquals($response->getParameter('error'), 'invalid_scope');
+ $this->assertEquals($response->getParameter('error_description'), 'The scope requested is invalid for this request');
+ }
+
+ public function testValidClientDifferentRefreshToken()
+ {
+ $server = $this->getTestServer();
+ $request = TestRequest::createPost(array(
+ 'grant_type' => 'refresh_token', // valid grant type
+ 'client_id' => 'Test Some Other Client', // valid client id
+ 'client_secret' => 'TestSecret3', // valid client secret
+ 'refresh_token' => 'test-refreshtoken', // valid refresh token
+ ));
+ $token = $server->grantAccessToken($request, $response = new Response());
+
+ $this->assertEquals($response->getStatusCode(), 400);
+ $this->assertEquals($response->getParameter('error'), 'invalid_grant');
+ $this->assertEquals($response->getParameter('error_description'), 'refresh_token doesn\'t exist or is invalid for the client');
+ }
+
+ private function getTestServer()
+ {
+ $this->storage = Bootstrap::getInstance()->getMemoryStorage();
+ $server = new Server($this->storage);
+
+ return $server;
+ }
+}
diff --git a/vendor/bshaffer/oauth2-server-php/test/OAuth2/GrantType/UserCredentialsTest.php b/vendor/bshaffer/oauth2-server-php/test/OAuth2/GrantType/UserCredentialsTest.php
new file mode 100644
index 000000000..18943d055
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/test/OAuth2/GrantType/UserCredentialsTest.php
@@ -0,0 +1,172 @@
+<?php
+
+namespace OAuth2\GrantType;
+
+use OAuth2\Storage\Bootstrap;
+use OAuth2\Server;
+use OAuth2\Request\TestRequest;
+use OAuth2\Response;
+
+class UserCredentialsTest extends \PHPUnit_Framework_TestCase
+{
+ public function testNoUsername()
+ {
+ $server = $this->getTestServer();
+ $request = TestRequest::createPost(array(
+ 'grant_type' => 'password', // valid grant type
+ 'client_id' => 'Test Client ID', // valid client id
+ 'client_secret' => 'TestSecret', // valid client secret
+ 'password' => 'testpass', // valid password
+ ));
+ $server->grantAccessToken($request, $response = new Response());
+
+ $this->assertEquals($response->getStatusCode(), 400);
+ $this->assertEquals($response->getParameter('error'), 'invalid_request');
+ $this->assertEquals($response->getParameter('error_description'), 'Missing parameters: "username" and "password" required');
+ }
+
+ public function testNoPassword()
+ {
+ $server = $this->getTestServer();
+ $request = TestRequest::createPost(array(
+ 'grant_type' => 'password', // valid grant type
+ 'client_id' => 'Test Client ID', // valid client id
+ 'client_secret' => 'TestSecret', // valid client secret
+ 'username' => 'test-username', // valid username
+ ));
+ $server->grantAccessToken($request, $response = new Response());
+
+ $this->assertEquals($response->getStatusCode(), 400);
+ $this->assertEquals($response->getParameter('error'), 'invalid_request');
+ $this->assertEquals($response->getParameter('error_description'), 'Missing parameters: "username" and "password" required');
+ }
+
+ public function testInvalidUsername()
+ {
+ $server = $this->getTestServer();
+ $request = TestRequest::createPost(array(
+ 'grant_type' => 'password', // valid grant type
+ 'client_id' => 'Test Client ID', // valid client id
+ 'client_secret' => 'TestSecret', // valid client secret
+ 'username' => 'fake-username', // valid username
+ 'password' => 'testpass', // valid password
+ ));
+ $token = $server->grantAccessToken($request, $response = new Response());
+
+ $this->assertEquals($response->getStatusCode(), 401);
+ $this->assertEquals($response->getParameter('error'), 'invalid_grant');
+ $this->assertEquals($response->getParameter('error_description'), 'Invalid username and password combination');
+ }
+
+ public function testInvalidPassword()
+ {
+ $server = $this->getTestServer();
+ $request = TestRequest::createPost(array(
+ 'grant_type' => 'password', // valid grant type
+ 'client_id' => 'Test Client ID', // valid client id
+ 'client_secret' => 'TestSecret', // valid client secret
+ 'username' => 'test-username', // valid username
+ 'password' => 'fakepass', // invalid password
+ ));
+ $token = $server->grantAccessToken($request, $response = new Response());
+
+ $this->assertEquals($response->getStatusCode(), 401);
+ $this->assertEquals($response->getParameter('error'), 'invalid_grant');
+ $this->assertEquals($response->getParameter('error_description'), 'Invalid username and password combination');
+ }
+
+ public function testValidCredentials()
+ {
+ $server = $this->getTestServer();
+ $request = TestRequest::createPost(array(
+ 'grant_type' => 'password', // valid grant type
+ 'client_id' => 'Test Client ID', // valid client id
+ 'client_secret' => 'TestSecret', // valid client secret
+ 'username' => 'test-username', // valid username
+ 'password' => 'testpass', // valid password
+ ));
+ $token = $server->grantAccessToken($request, new Response());
+
+ $this->assertNotNull($token);
+ $this->assertArrayHasKey('access_token', $token);
+ }
+
+ public function testValidCredentialsWithScope()
+ {
+ $server = $this->getTestServer();
+ $request = TestRequest::createPost(array(
+ 'grant_type' => 'password', // valid grant type
+ 'client_id' => 'Test Client ID', // valid client id
+ 'client_secret' => 'TestSecret', // valid client secret
+ 'username' => 'test-username', // valid username
+ 'password' => 'testpass', // valid password
+ 'scope' => 'scope1', // valid scope
+ ));
+ $token = $server->grantAccessToken($request, new Response());
+
+ $this->assertNotNull($token);
+ $this->assertArrayHasKey('access_token', $token);
+ $this->assertArrayHasKey('scope', $token);
+ $this->assertEquals($token['scope'], 'scope1');
+ }
+
+ public function testValidCredentialsInvalidScope()
+ {
+ $server = $this->getTestServer();
+ $request = TestRequest::createPost(array(
+ 'grant_type' => 'password', // valid grant type
+ 'client_id' => 'Test Client ID', // valid client id
+ 'client_secret' => 'TestSecret', // valid client secret
+ 'username' => 'test-username', // valid username
+ 'password' => 'testpass', // valid password
+ 'scope' => 'invalid-scope',
+ ));
+ $token = $server->grantAccessToken($request, $response = new Response());
+
+ $this->assertEquals($response->getStatusCode(), 400);
+ $this->assertEquals($response->getParameter('error'), 'invalid_scope');
+ $this->assertEquals($response->getParameter('error_description'), 'An unsupported scope was requested');
+ }
+
+ public function testNoSecretWithPublicClient()
+ {
+ $server = $this->getTestServer();
+ $request = TestRequest::createPost(array(
+ 'grant_type' => 'password', // valid grant type
+ 'client_id' => 'Test Client ID Empty Secret', // valid public client
+ 'username' => 'test-username', // valid username
+ 'password' => 'testpass', // valid password
+ ));
+
+ $token = $server->grantAccessToken($request, $response = new Response());
+
+ $this->assertNotNull($token);
+ $this->assertArrayHasKey('access_token', $token);
+ }
+
+ public function testNoSecretWithConfidentialClient()
+ {
+ $server = $this->getTestServer();
+ $request = TestRequest::createPost(array(
+ 'grant_type' => 'password', // valid grant type
+ 'client_id' => 'Test Client ID', // valid public client
+ 'username' => 'test-username', // valid username
+ 'password' => 'testpass', // valid password
+ ));
+
+ $token = $server->grantAccessToken($request, $response = new Response());
+
+ $this->assertEquals($response->getStatusCode(), 400);
+ $this->assertEquals($response->getParameter('error'), 'invalid_client');
+ $this->assertEquals($response->getParameter('error_description'), 'This client is invalid or must authenticate using a client secret');
+ }
+
+ private function getTestServer()
+ {
+ $storage = Bootstrap::getInstance()->getMemoryStorage();
+ $server = new Server($storage);
+ $server->addGrantType(new UserCredentials($storage));
+
+ return $server;
+ }
+}
diff --git a/vendor/bshaffer/oauth2-server-php/test/OAuth2/OpenID/Controller/AuthorizeControllerTest.php b/vendor/bshaffer/oauth2-server-php/test/OAuth2/OpenID/Controller/AuthorizeControllerTest.php
new file mode 100644
index 000000000..46de936d8
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/test/OAuth2/OpenID/Controller/AuthorizeControllerTest.php
@@ -0,0 +1,182 @@
+<?php
+
+namespace OAuth2\OpenID\Controller;
+
+use OAuth2\Storage\Bootstrap;
+use OAuth2\Server;
+use OAuth2\Request;
+use OAuth2\Response;
+
+class AuthorizeControllerTest extends \PHPUnit_Framework_TestCase
+{
+ public function testValidateAuthorizeRequest()
+ {
+ $server = $this->getTestServer();
+
+ $response = new Response();
+ $request = new Request(array(
+ 'client_id' => 'Test Client ID', // valid client id
+ 'redirect_uri' => 'http://adobe.com', // valid redirect URI
+ 'response_type' => 'id_token',
+ 'state' => 'af0ifjsldkj',
+ 'nonce' => 'n-0S6_WzA2Mj',
+ ));
+
+ // Test valid id_token request
+ $server->handleAuthorizeRequest($request, $response, true);
+
+ $parts = parse_url($response->getHttpHeader('Location'));
+ parse_str($parts['fragment'], $query);
+
+ $this->assertEquals('n-0S6_WzA2Mj', $server->getAuthorizeController()->getNonce());
+ $this->assertEquals($query['state'], 'af0ifjsldkj');
+
+ $this->assertArrayHasKey('id_token', $query);
+ $this->assertArrayHasKey('state', $query);
+ $this->assertArrayNotHasKey('access_token', $query);
+ $this->assertArrayNotHasKey('expires_in', $query);
+ $this->assertArrayNotHasKey('token_type', $query);
+
+ // Test valid token id_token request
+ $request->query['response_type'] = 'id_token token';
+ $server->handleAuthorizeRequest($request, $response, true);
+
+ $parts = parse_url($response->getHttpHeader('Location'));
+ parse_str($parts['fragment'], $query);
+
+ $this->assertEquals('n-0S6_WzA2Mj', $server->getAuthorizeController()->getNonce());
+ $this->assertEquals($query['state'], 'af0ifjsldkj');
+
+ $this->assertArrayHasKey('access_token', $query);
+ $this->assertArrayHasKey('expires_in', $query);
+ $this->assertArrayHasKey('token_type', $query);
+ $this->assertArrayHasKey('state', $query);
+ $this->assertArrayHasKey('id_token', $query);
+
+ // assert that with multiple-valued response types, order does not matter
+ $request->query['response_type'] = 'token id_token';
+ $server->handleAuthorizeRequest($request, $response, true);
+
+ $parts = parse_url($response->getHttpHeader('Location'));
+ parse_str($parts['fragment'], $query);
+
+ $this->assertEquals('n-0S6_WzA2Mj', $server->getAuthorizeController()->getNonce());
+ $this->assertEquals($query['state'], 'af0ifjsldkj');
+
+ $this->assertArrayHasKey('access_token', $query);
+ $this->assertArrayHasKey('expires_in', $query);
+ $this->assertArrayHasKey('token_type', $query);
+ $this->assertArrayHasKey('state', $query);
+ $this->assertArrayHasKey('id_token', $query);
+
+ // assert that with multiple-valued response types with extra spaces do not matter
+ $request->query['response_type'] = ' token id_token ';
+ $server->handleAuthorizeRequest($request, $response, true);
+
+ $parts = parse_url($response->getHttpHeader('Location'));
+ parse_str($parts['fragment'], $query);
+
+ $this->assertEquals('n-0S6_WzA2Mj', $server->getAuthorizeController()->getNonce());
+ $this->assertEquals($query['state'], 'af0ifjsldkj');
+
+ $this->assertArrayHasKey('access_token', $query);
+ $this->assertArrayHasKey('expires_in', $query);
+ $this->assertArrayHasKey('token_type', $query);
+ $this->assertArrayHasKey('state', $query);
+ $this->assertArrayHasKey('id_token', $query);
+ }
+
+ public function testMissingNonce()
+ {
+ $server = $this->getTestServer();
+ $authorize = $server->getAuthorizeController();
+
+ $response = new Response();
+ $request = new Request(array(
+ 'client_id' => 'Test Client ID', // valid client id
+ 'redirect_uri' => 'http://adobe.com', // valid redirect URI
+ 'response_type' => 'id_token',
+ 'state' => 'xyz',
+ ));
+
+ // Test missing nonce for 'id_token' response type
+ $server->handleAuthorizeRequest($request, $response, true);
+ $params = $response->getParameters();
+
+ $this->assertEquals($params['error'], 'invalid_nonce');
+ $this->assertEquals($params['error_description'], 'This application requires you specify a nonce parameter');
+
+ // Test missing nonce for 'id_token token' response type
+ $request->query['response_type'] = 'id_token token';
+ $server->handleAuthorizeRequest($request, $response, true);
+ $params = $response->getParameters();
+
+ $this->assertEquals($params['error'], 'invalid_nonce');
+ $this->assertEquals($params['error_description'], 'This application requires you specify a nonce parameter');
+ }
+
+ public function testNotGrantedApplication()
+ {
+ $server = $this->getTestServer();
+
+ $response = new Response();
+ $request = new Request(array(
+ 'client_id' => 'Test Client ID', // valid client id
+ 'redirect_uri' => 'http://adobe.com', // valid redirect URI
+ 'response_type' => 'id_token',
+ 'state' => 'af0ifjsldkj',
+ 'nonce' => 'n-0S6_WzA2Mj',
+ ));
+
+ // Test not approved application
+ $server->handleAuthorizeRequest($request, $response, false);
+
+ $params = $response->getParameters();
+
+ $this->assertEquals($params['error'], 'consent_required');
+ $this->assertEquals($params['error_description'], 'The user denied access to your application');
+
+ // Test not approved application with prompt parameter
+ $request->query['prompt'] = 'none';
+ $server->handleAuthorizeRequest($request, $response, false);
+
+ $params = $response->getParameters();
+
+ $this->assertEquals($params['error'], 'login_required');
+ $this->assertEquals($params['error_description'], 'The user must log in');
+
+ // Test not approved application with user_id set
+ $request->query['prompt'] = 'none';
+ $server->handleAuthorizeRequest($request, $response, false, 'some-user-id');
+
+ $params = $response->getParameters();
+
+ $this->assertEquals($params['error'], 'interaction_required');
+ $this->assertEquals($params['error_description'], 'The user must grant access to your application');
+ }
+
+ public function testNeedsIdToken()
+ {
+ $server = $this->getTestServer();
+ $authorize = $server->getAuthorizeController();
+
+ $this->assertTrue($authorize->needsIdToken('openid'));
+ $this->assertTrue($authorize->needsIdToken('openid profile'));
+ $this->assertFalse($authorize->needsIdToken(''));
+ $this->assertFalse($authorize->needsIdToken('some-scope'));
+ }
+
+ private function getTestServer($config = array())
+ {
+ $config += array(
+ 'use_openid_connect' => true,
+ 'issuer' => 'phpunit',
+ 'allow_implicit' => true
+ );
+
+ $storage = Bootstrap::getInstance()->getMemoryStorage();
+ $server = new Server($storage, $config);
+
+ return $server;
+ }
+}
diff --git a/vendor/bshaffer/oauth2-server-php/test/OAuth2/OpenID/Controller/UserInfoControllerTest.php b/vendor/bshaffer/oauth2-server-php/test/OAuth2/OpenID/Controller/UserInfoControllerTest.php
new file mode 100644
index 000000000..b1b687077
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/test/OAuth2/OpenID/Controller/UserInfoControllerTest.php
@@ -0,0 +1,44 @@
+<?php
+
+namespace OAuth2\OpenID\Controller;
+
+use OAuth2\Storage\Bootstrap;
+use OAuth2\Server;
+use OAuth2\Request;
+use OAuth2\Response;
+
+class UserInfoControllerTest extends \PHPUnit_Framework_TestCase
+{
+ public function testCreateController()
+ {
+ $tokenType = new \OAuth2\TokenType\Bearer();
+ $storage = new \OAuth2\Storage\Memory();
+ $controller = new UserInfoController($tokenType, $storage, $storage);
+
+ $response = new Response();
+ $controller->handleUserInfoRequest(new Request(), $response);
+ $this->assertEquals(401, $response->getStatusCode());
+ }
+
+ public function testValidToken()
+ {
+ $server = $this->getTestServer();
+ $request = Request::createFromGlobals();
+ $request->headers['AUTHORIZATION'] = 'Bearer accesstoken-openid-connect';
+ $response = new Response();
+
+ $server->handleUserInfoRequest($request, $response);
+ $parameters = $response->getParameters();
+ $this->assertEquals($parameters['sub'], 'testuser');
+ $this->assertEquals($parameters['email'], 'testuser@test.com');
+ $this->assertEquals($parameters['email_verified'], true);
+ }
+
+ private function getTestServer($config = array())
+ {
+ $storage = Bootstrap::getInstance()->getMemoryStorage();
+ $server = new Server($storage, $config);
+
+ return $server;
+ }
+}
diff --git a/vendor/bshaffer/oauth2-server-php/test/OAuth2/OpenID/GrantType/AuthorizationCodeTest.php b/vendor/bshaffer/oauth2-server-php/test/OAuth2/OpenID/GrantType/AuthorizationCodeTest.php
new file mode 100644
index 000000000..776002d1e
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/test/OAuth2/OpenID/GrantType/AuthorizationCodeTest.php
@@ -0,0 +1,57 @@
+<?php
+
+namespace OAuth2\OpenID\GrantType;
+
+use OAuth2\Storage\Bootstrap;
+use OAuth2\Server;
+use OAuth2\Request\TestRequest;
+use OAuth2\Response;
+
+class AuthorizationCodeTest extends \PHPUnit_Framework_TestCase
+{
+ public function testValidCode()
+ {
+ $server = $this->getTestServer();
+ $request = TestRequest::createPost(array(
+ 'grant_type' => 'authorization_code', // valid grant type
+ 'client_id' => 'Test Client ID', // valid client id
+ 'client_secret' => 'TestSecret', // valid client secret
+ 'code' => 'testcode-openid', // valid code
+ ));
+ $token = $server->grantAccessToken($request, new Response());
+
+ $this->assertNotNull($token);
+ $this->assertArrayHasKey('id_token', $token);
+ $this->assertEquals('test_id_token', $token['id_token']);
+
+ // this is only true if "offline_access" was requested
+ $this->assertFalse(isset($token['refresh_token']));
+ }
+
+ public function testOfflineAccess()
+ {
+ $server = $this->getTestServer();
+ $request = TestRequest::createPost(array(
+ 'grant_type' => 'authorization_code', // valid grant type
+ 'client_id' => 'Test Client ID', // valid client id
+ 'client_secret' => 'TestSecret', // valid client secret
+ 'code' => 'testcode-openid', // valid code
+ 'scope' => 'offline_access', // valid code
+ ));
+ $token = $server->grantAccessToken($request, new Response());
+
+ $this->assertNotNull($token);
+ $this->assertArrayHasKey('id_token', $token);
+ $this->assertEquals('test_id_token', $token['id_token']);
+ $this->assertTrue(isset($token['refresh_token']));
+ }
+
+ private function getTestServer()
+ {
+ $storage = Bootstrap::getInstance()->getMemoryStorage();
+ $server = new Server($storage, array('use_openid_connect' => true));
+ $server->addGrantType(new AuthorizationCode($storage));
+
+ return $server;
+ }
+}
diff --git a/vendor/bshaffer/oauth2-server-php/test/OAuth2/OpenID/ResponseType/CodeIdTokenTest.php b/vendor/bshaffer/oauth2-server-php/test/OAuth2/OpenID/ResponseType/CodeIdTokenTest.php
new file mode 100644
index 000000000..b0311434a
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/test/OAuth2/OpenID/ResponseType/CodeIdTokenTest.php
@@ -0,0 +1,182 @@
+<?php
+
+namespace OAuth2\OpenID\ResponseType;
+
+use OAuth2\Server;
+use OAuth2\Request;
+use OAuth2\Response;
+use OAuth2\Storage\Bootstrap;
+use OAuth2\GrantType\ClientCredentials;
+
+class CodeIdTokenTest extends \PHPUnit_Framework_TestCase
+{
+ public function testHandleAuthorizeRequest()
+ {
+ // add the test parameters in memory
+ $server = $this->getTestServer();
+
+ $request = new Request(array(
+ 'response_type' => 'code id_token',
+ 'redirect_uri' => 'http://adobe.com',
+ 'client_id' => 'Test Client ID',
+ 'scope' => 'openid',
+ 'state' => 'test',
+ 'nonce' => 'test',
+ ));
+
+ $server->handleAuthorizeRequest($request, $response = new Response(), true);
+
+ $this->assertEquals($response->getStatusCode(), 302);
+ $location = $response->getHttpHeader('Location');
+ $this->assertNotContains('error', $location);
+
+ $parts = parse_url($location);
+ $this->assertArrayHasKey('query', $parts);
+
+ // assert fragment is in "application/x-www-form-urlencoded" format
+ parse_str($parts['query'], $params);
+ $this->assertNotNull($params);
+ $this->assertArrayHasKey('id_token', $params);
+ $this->assertArrayHasKey('code', $params);
+
+ // validate ID Token
+ $parts = explode('.', $params['id_token']);
+ foreach ($parts as &$part) {
+ // Each part is a base64url encoded json string.
+ $part = str_replace(array('-', '_'), array('+', '/'), $part);
+ $part = base64_decode($part);
+ $part = json_decode($part, true);
+ }
+ list($header, $claims, $signature) = $parts;
+
+ $this->assertArrayHasKey('iss', $claims);
+ $this->assertArrayHasKey('sub', $claims);
+ $this->assertArrayHasKey('aud', $claims);
+ $this->assertArrayHasKey('iat', $claims);
+ $this->assertArrayHasKey('exp', $claims);
+ $this->assertArrayHasKey('auth_time', $claims);
+ $this->assertArrayHasKey('nonce', $claims);
+
+ // only exists if an access token was granted along with the id_token
+ $this->assertArrayNotHasKey('at_hash', $claims);
+
+ $this->assertEquals($claims['iss'], 'test');
+ $this->assertEquals($claims['aud'], 'Test Client ID');
+ $this->assertEquals($claims['nonce'], 'test');
+ $duration = $claims['exp'] - $claims['iat'];
+ $this->assertEquals($duration, 3600);
+ }
+
+ public function testUserClaimsWithUserId()
+ {
+ // add the test parameters in memory
+ $server = $this->getTestServer();
+
+ $request = new Request(array(
+ 'response_type' => 'code id_token',
+ 'redirect_uri' => 'http://adobe.com',
+ 'client_id' => 'Test Client ID',
+ 'scope' => 'openid email',
+ 'state' => 'test',
+ 'nonce' => 'test',
+ ));
+
+ $userId = 'testuser';
+ $server->handleAuthorizeRequest($request, $response = new Response(), true, $userId);
+
+ $this->assertEquals($response->getStatusCode(), 302);
+ $location = $response->getHttpHeader('Location');
+ $this->assertNotContains('error', $location);
+
+ $parts = parse_url($location);
+ $this->assertArrayHasKey('query', $parts);
+
+ // assert fragment is in "application/x-www-form-urlencoded" format
+ parse_str($parts['query'], $params);
+ $this->assertNotNull($params);
+ $this->assertArrayHasKey('id_token', $params);
+ $this->assertArrayHasKey('code', $params);
+
+ // validate ID Token
+ $parts = explode('.', $params['id_token']);
+ foreach ($parts as &$part) {
+ // Each part is a base64url encoded json string.
+ $part = str_replace(array('-', '_'), array('+', '/'), $part);
+ $part = base64_decode($part);
+ $part = json_decode($part, true);
+ }
+ list($header, $claims, $signature) = $parts;
+
+ $this->assertArrayHasKey('email', $claims);
+ $this->assertArrayHasKey('email_verified', $claims);
+ $this->assertNotNull($claims['email']);
+ $this->assertNotNull($claims['email_verified']);
+ }
+
+ public function testUserClaimsWithoutUserId()
+ {
+ // add the test parameters in memory
+ $server = $this->getTestServer();
+
+ $request = new Request(array(
+ 'response_type' => 'code id_token',
+ 'redirect_uri' => 'http://adobe.com',
+ 'client_id' => 'Test Client ID',
+ 'scope' => 'openid email',
+ 'state' => 'test',
+ 'nonce' => 'test',
+ ));
+
+ $userId = null;
+ $server->handleAuthorizeRequest($request, $response = new Response(), true, $userId);
+
+ $this->assertEquals($response->getStatusCode(), 302);
+ $location = $response->getHttpHeader('Location');
+ $this->assertNotContains('error', $location);
+
+ $parts = parse_url($location);
+ $this->assertArrayHasKey('query', $parts);
+
+ // assert fragment is in "application/x-www-form-urlencoded" format
+ parse_str($parts['query'], $params);
+ $this->assertNotNull($params);
+ $this->assertArrayHasKey('id_token', $params);
+ $this->assertArrayHasKey('code', $params);
+
+ // validate ID Token
+ $parts = explode('.', $params['id_token']);
+ foreach ($parts as &$part) {
+ // Each part is a base64url encoded json string.
+ $part = str_replace(array('-', '_'), array('+', '/'), $part);
+ $part = base64_decode($part);
+ $part = json_decode($part, true);
+ }
+ list($header, $claims, $signature) = $parts;
+
+ $this->assertArrayNotHasKey('email', $claims);
+ $this->assertArrayNotHasKey('email_verified', $claims);
+ }
+
+ private function getTestServer($config = array())
+ {
+ $config += array(
+ 'use_openid_connect' => true,
+ 'issuer' => 'test',
+ 'id_lifetime' => 3600,
+ 'allow_implicit' => true,
+ );
+
+ $memoryStorage = Bootstrap::getInstance()->getMemoryStorage();
+ $memoryStorage->supportedScopes[] = 'email';
+ $responseTypes = array(
+ 'code' => $code = new AuthorizationCode($memoryStorage),
+ 'id_token' => $idToken = new IdToken($memoryStorage, $memoryStorage, $config),
+ 'code id_token' => new CodeIdToken($code, $idToken),
+ );
+
+ $server = new Server($memoryStorage, $config, array(), $responseTypes);
+ $server->addGrantType(new ClientCredentials($memoryStorage));
+
+ return $server;
+ }
+}
diff --git a/vendor/bshaffer/oauth2-server-php/test/OAuth2/OpenID/ResponseType/IdTokenTest.php b/vendor/bshaffer/oauth2-server-php/test/OAuth2/OpenID/ResponseType/IdTokenTest.php
new file mode 100644
index 000000000..e772f6be4
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/test/OAuth2/OpenID/ResponseType/IdTokenTest.php
@@ -0,0 +1,184 @@
+<?php
+
+namespace OAuth2\OpenID\ResponseType;
+
+use OAuth2\Server;
+use OAuth2\Request;
+use OAuth2\Response;
+use OAuth2\Storage\Bootstrap;
+use OAuth2\GrantType\ClientCredentials;
+use OAuth2\Encryption\Jwt;
+
+class IdTokenTest extends \PHPUnit_Framework_TestCase
+{
+ public function testValidateAuthorizeRequest()
+ {
+ $query = array(
+ 'response_type' => 'id_token',
+ 'redirect_uri' => 'http://adobe.com',
+ 'client_id' => 'Test Client ID',
+ 'scope' => 'openid',
+ 'state' => 'test',
+ );
+
+ // attempt to do the request without a nonce.
+ $server = $this->getTestServer(array('allow_implicit' => true));
+ $request = new Request($query);
+ $valid = $server->validateAuthorizeRequest($request, $response = new Response());
+
+ // Add a nonce and retry.
+ $query['nonce'] = 'test';
+ $request = new Request($query);
+ $valid = $server->validateAuthorizeRequest($request, $response = new Response());
+ $this->assertTrue($valid);
+ }
+
+ public function testHandleAuthorizeRequest()
+ {
+ // add the test parameters in memory
+ $server = $this->getTestServer(array('allow_implicit' => true));
+ $request = new Request(array(
+ 'response_type' => 'id_token',
+ 'redirect_uri' => 'http://adobe.com',
+ 'client_id' => 'Test Client ID',
+ 'scope' => 'openid email',
+ 'state' => 'test',
+ 'nonce' => 'test',
+ ));
+
+ $user_id = 'testuser';
+ $server->handleAuthorizeRequest($request, $response = new Response(), true, $user_id);
+
+ $this->assertEquals($response->getStatusCode(), 302);
+ $location = $response->getHttpHeader('Location');
+ $this->assertNotContains('error', $location);
+
+ $parts = parse_url($location);
+ $this->assertArrayHasKey('fragment', $parts);
+ $this->assertFalse(isset($parts['query']));
+
+ // assert fragment is in "application/x-www-form-urlencoded" format
+ parse_str($parts['fragment'], $params);
+ $this->assertNotNull($params);
+ $this->assertArrayHasKey('id_token', $params);
+ $this->assertArrayNotHasKey('access_token', $params);
+ $this->validateIdToken($params['id_token']);
+ }
+
+ public function testPassInAuthTime()
+ {
+ $server = $this->getTestServer(array('allow_implicit' => true));
+ $request = new Request(array(
+ 'response_type' => 'id_token',
+ 'redirect_uri' => 'http://adobe.com',
+ 'client_id' => 'Test Client ID',
+ 'scope' => 'openid email',
+ 'state' => 'test',
+ 'nonce' => 'test',
+ ));
+
+ // test with a scalar user id
+ $user_id = 'testuser123';
+ $server->handleAuthorizeRequest($request, $response = new Response(), true, $user_id);
+
+ list($header, $payload, $signature) = $this->extractTokenDataFromResponse($response);
+
+ $this->assertTrue(is_array($payload));
+ $this->assertArrayHasKey('sub', $payload);
+ $this->assertEquals($user_id, $payload['sub']);
+ $this->assertArrayHasKey('auth_time', $payload);
+
+ // test with an array of user info
+ $userInfo = array(
+ 'user_id' => 'testuser1234',
+ 'auth_time' => date('Y-m-d H:i:s', strtotime('20 minutes ago')
+ ));
+
+ $server->handleAuthorizeRequest($request, $response = new Response(), true, $userInfo);
+
+ list($header, $payload, $signature) = $this->extractTokenDataFromResponse($response);
+
+ $this->assertTrue(is_array($payload));
+ $this->assertArrayHasKey('sub', $payload);
+ $this->assertEquals($userInfo['user_id'], $payload['sub']);
+ $this->assertArrayHasKey('auth_time', $payload);
+ $this->assertEquals($userInfo['auth_time'], $payload['auth_time']);
+ }
+
+ private function extractTokenDataFromResponse(Response $response)
+ {
+ $this->assertEquals($response->getStatusCode(), 302);
+ $location = $response->getHttpHeader('Location');
+ $this->assertNotContains('error', $location);
+
+ $parts = parse_url($location);
+ $this->assertArrayHasKey('fragment', $parts);
+ $this->assertFalse(isset($parts['query']));
+
+ parse_str($parts['fragment'], $params);
+ $this->assertNotNull($params);
+ $this->assertArrayHasKey('id_token', $params);
+ $this->assertArrayNotHasKey('access_token', $params);
+
+ list($headb64, $payloadb64, $signature) = explode('.', $params['id_token']);
+
+ $jwt = new Jwt();
+ $header = json_decode($jwt->urlSafeB64Decode($headb64), true);
+ $payload = json_decode($jwt->urlSafeB64Decode($payloadb64), true);
+
+ return array($header, $payload, $signature);
+ }
+
+ private function validateIdToken($id_token)
+ {
+ $parts = explode('.', $id_token);
+ foreach ($parts as &$part) {
+ // Each part is a base64url encoded json string.
+ $part = str_replace(array('-', '_'), array('+', '/'), $part);
+ $part = base64_decode($part);
+ $part = json_decode($part, true);
+ }
+ list($header, $claims, $signature) = $parts;
+
+ $this->assertArrayHasKey('iss', $claims);
+ $this->assertArrayHasKey('sub', $claims);
+ $this->assertArrayHasKey('aud', $claims);
+ $this->assertArrayHasKey('iat', $claims);
+ $this->assertArrayHasKey('exp', $claims);
+ $this->assertArrayHasKey('auth_time', $claims);
+ $this->assertArrayHasKey('nonce', $claims);
+ $this->assertArrayHasKey('email', $claims);
+ $this->assertArrayHasKey('email_verified', $claims);
+
+ $this->assertEquals($claims['iss'], 'test');
+ $this->assertEquals($claims['aud'], 'Test Client ID');
+ $this->assertEquals($claims['nonce'], 'test');
+ $this->assertEquals($claims['email'], 'testuser@test.com');
+ $duration = $claims['exp'] - $claims['iat'];
+ $this->assertEquals($duration, 3600);
+ }
+
+ private function getTestServer($config = array())
+ {
+ $config += array(
+ 'use_openid_connect' => true,
+ 'issuer' => 'test',
+ 'id_lifetime' => 3600,
+ );
+
+ $memoryStorage = Bootstrap::getInstance()->getMemoryStorage();
+ $memoryStorage->supportedScopes[] = 'email';
+ $storage = array(
+ 'client' => $memoryStorage,
+ 'scope' => $memoryStorage,
+ );
+ $responseTypes = array(
+ 'id_token' => new IdToken($memoryStorage, $memoryStorage, $config),
+ );
+
+ $server = new Server($storage, $config, array(), $responseTypes);
+ $server->addGrantType(new ClientCredentials($memoryStorage));
+
+ return $server;
+ }
+}
diff --git a/vendor/bshaffer/oauth2-server-php/test/OAuth2/OpenID/ResponseType/IdTokenTokenTest.php b/vendor/bshaffer/oauth2-server-php/test/OAuth2/OpenID/ResponseType/IdTokenTokenTest.php
new file mode 100644
index 000000000..bc564d37b
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/test/OAuth2/OpenID/ResponseType/IdTokenTokenTest.php
@@ -0,0 +1,91 @@
+<?php
+
+namespace OAuth2\OpenID\ResponseType;
+
+use OAuth2\Server;
+use OAuth2\Request;
+use OAuth2\Response;
+use OAuth2\Storage\Bootstrap;
+use OAuth2\GrantType\ClientCredentials;
+use OAuth2\ResponseType\AccessToken;
+
+class IdTokenTokenTest extends \PHPUnit_Framework_TestCase
+{
+
+ public function testHandleAuthorizeRequest()
+ {
+ // add the test parameters in memory
+ $server = $this->getTestServer(array('allow_implicit' => true));
+
+ $request = new Request(array(
+ 'response_type' => 'id_token token',
+ 'redirect_uri' => 'http://adobe.com',
+ 'client_id' => 'Test Client ID',
+ 'scope' => 'openid',
+ 'state' => 'test',
+ 'nonce' => 'test',
+ ));
+
+ $server->handleAuthorizeRequest($request, $response = new Response(), true);
+
+ $this->assertEquals($response->getStatusCode(), 302);
+ $location = $response->getHttpHeader('Location');
+ $this->assertNotContains('error', $location);
+
+ $parts = parse_url($location);
+ $this->assertArrayHasKey('fragment', $parts);
+ $this->assertFalse(isset($parts['query']));
+
+ // assert fragment is in "application/x-www-form-urlencoded" format
+ parse_str($parts['fragment'], $params);
+ $this->assertNotNull($params);
+ $this->assertArrayHasKey('id_token', $params);
+ $this->assertArrayHasKey('access_token', $params);
+
+ // validate ID Token
+ $parts = explode('.', $params['id_token']);
+ foreach ($parts as &$part) {
+ // Each part is a base64url encoded json string.
+ $part = str_replace(array('-', '_'), array('+', '/'), $part);
+ $part = base64_decode($part);
+ $part = json_decode($part, true);
+ }
+ list($header, $claims, $signature) = $parts;
+
+ $this->assertArrayHasKey('iss', $claims);
+ $this->assertArrayHasKey('sub', $claims);
+ $this->assertArrayHasKey('aud', $claims);
+ $this->assertArrayHasKey('iat', $claims);
+ $this->assertArrayHasKey('exp', $claims);
+ $this->assertArrayHasKey('auth_time', $claims);
+ $this->assertArrayHasKey('nonce', $claims);
+ $this->assertArrayHasKey('at_hash', $claims);
+
+ $this->assertEquals($claims['iss'], 'test');
+ $this->assertEquals($claims['aud'], 'Test Client ID');
+ $this->assertEquals($claims['nonce'], 'test');
+ $duration = $claims['exp'] - $claims['iat'];
+ $this->assertEquals($duration, 3600);
+ }
+
+ private function getTestServer($config = array())
+ {
+ $config += array(
+ 'use_openid_connect' => true,
+ 'issuer' => 'test',
+ 'id_lifetime' => 3600,
+ );
+
+ $memoryStorage = Bootstrap::getInstance()->getMemoryStorage();
+ $responseTypes = array(
+ 'token' => $token = new AccessToken($memoryStorage, $memoryStorage),
+ 'id_token' => $idToken = new IdToken($memoryStorage, $memoryStorage, $config),
+ 'id_token token' => new IdTokenToken($token, $idToken),
+ );
+
+ $server = new Server($memoryStorage, $config, array(), $responseTypes);
+ $server->addGrantType(new ClientCredentials($memoryStorage));
+
+ return $server;
+ }
+}
diff --git a/vendor/bshaffer/oauth2-server-php/test/OAuth2/OpenID/Storage/AuthorizationCodeTest.php b/vendor/bshaffer/oauth2-server-php/test/OAuth2/OpenID/Storage/AuthorizationCodeTest.php
new file mode 100644
index 000000000..bdfb085e3
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/test/OAuth2/OpenID/Storage/AuthorizationCodeTest.php
@@ -0,0 +1,95 @@
+<?php
+
+namespace OAuth2\OpenID\Storage;
+
+use OAuth2\Storage\BaseTest;
+use OAuth2\Storage\NullStorage;
+
+class AuthorizationCodeTest extends BaseTest
+{
+ /** @dataProvider provideStorage */
+ public function testCreateAuthorizationCode($storage)
+ {
+ if ($storage instanceof NullStorage) {
+ $this->markTestSkipped('Skipped Storage: ' . $storage->getMessage());
+
+ return;
+ }
+
+ if (!$storage instanceof AuthorizationCodeInterface) {
+ return;
+ }
+
+ // assert code we are about to add does not exist
+ $code = $storage->getAuthorizationCode('new-openid-code');
+ $this->assertFalse($code);
+
+ // add new code
+ $expires = time() + 20;
+ $scope = null;
+ $id_token = 'fake_id_token';
+ $success = $storage->setAuthorizationCode('new-openid-code', 'client ID', 'SOMEUSERID', 'http://example.com', $expires, $scope, $id_token);
+ $this->assertTrue($success);
+
+ $code = $storage->getAuthorizationCode('new-openid-code');
+ $this->assertNotNull($code);
+ $this->assertArrayHasKey('authorization_code', $code);
+ $this->assertArrayHasKey('client_id', $code);
+ $this->assertArrayHasKey('user_id', $code);
+ $this->assertArrayHasKey('redirect_uri', $code);
+ $this->assertArrayHasKey('expires', $code);
+ $this->assertEquals($code['authorization_code'], 'new-openid-code');
+ $this->assertEquals($code['client_id'], 'client ID');
+ $this->assertEquals($code['user_id'], 'SOMEUSERID');
+ $this->assertEquals($code['redirect_uri'], 'http://example.com');
+ $this->assertEquals($code['expires'], $expires);
+ $this->assertEquals($code['id_token'], $id_token);
+
+ // change existing code
+ $expires = time() + 42;
+ $new_id_token = 'fake_id_token-2';
+ $success = $storage->setAuthorizationCode('new-openid-code', 'client ID2', 'SOMEOTHERID', 'http://example.org', $expires, $scope, $new_id_token);
+ $this->assertTrue($success);
+
+ $code = $storage->getAuthorizationCode('new-openid-code');
+ $this->assertNotNull($code);
+ $this->assertArrayHasKey('authorization_code', $code);
+ $this->assertArrayHasKey('client_id', $code);
+ $this->assertArrayHasKey('user_id', $code);
+ $this->assertArrayHasKey('redirect_uri', $code);
+ $this->assertArrayHasKey('expires', $code);
+ $this->assertEquals($code['authorization_code'], 'new-openid-code');
+ $this->assertEquals($code['client_id'], 'client ID2');
+ $this->assertEquals($code['user_id'], 'SOMEOTHERID');
+ $this->assertEquals($code['redirect_uri'], 'http://example.org');
+ $this->assertEquals($code['expires'], $expires);
+ $this->assertEquals($code['id_token'], $new_id_token);
+ }
+
+ /** @dataProvider provideStorage */
+ public function testRemoveIdTokenFromAuthorizationCode($storage)
+ {
+ // add new code
+ $expires = time() + 20;
+ $scope = null;
+ $id_token = 'fake_id_token_to_remove';
+ $authcode = 'new-openid-code-'.rand();
+ $success = $storage->setAuthorizationCode($authcode, 'client ID', 'SOMEUSERID', 'http://example.com', $expires, $scope, $id_token);
+ $this->assertTrue($success);
+
+ // verify params were set
+ $code = $storage->getAuthorizationCode($authcode);
+ $this->assertNotNull($code);
+ $this->assertArrayHasKey('id_token', $code);
+ $this->assertEquals($code['id_token'], $id_token);
+
+ // remove the id_token
+ $success = $storage->setAuthorizationCode($authcode, 'client ID', 'SOMEUSERID', 'http://example.com', $expires, $scope, null);
+
+ // verify the "id_token" is now null
+ $code = $storage->getAuthorizationCode($authcode);
+ $this->assertNotNull($code);
+ $this->assertArrayHasKey('id_token', $code);
+ $this->assertEquals($code['id_token'], null);
+ }
+}
diff --git a/vendor/bshaffer/oauth2-server-php/test/OAuth2/OpenID/Storage/UserClaimsTest.php b/vendor/bshaffer/oauth2-server-php/test/OAuth2/OpenID/Storage/UserClaimsTest.php
new file mode 100644
index 000000000..840f6c566
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/test/OAuth2/OpenID/Storage/UserClaimsTest.php
@@ -0,0 +1,41 @@
+<?php
+
+namespace OAuth2\OpenID\Storage;
+
+use OAuth2\Storage\BaseTest;
+use OAuth2\Storage\NullStorage;
+
+class UserClaimsTest extends BaseTest
+{
+ /** @dataProvider provideStorage */
+ public function testGetUserClaims($storage)
+ {
+ if ($storage instanceof NullStorage) {
+ $this->markTestSkipped('Skipped Storage: ' . $storage->getMessage());
+
+ return;
+ }
+
+ if (!$storage instanceof UserClaimsInterface) {
+ // incompatible storage
+ return;
+ }
+
+ // invalid user
+ $claims = $storage->getUserClaims('fake-user', '');
+ $this->assertFalse($claims);
+
+ // valid user (no scope)
+ $claims = $storage->getUserClaims('testuser', '');
+
+ /* assert the decoded token is the same */
+ $this->assertFalse(isset($claims['email']));
+
+ // valid user
+ $claims = $storage->getUserClaims('testuser', 'email');
+
+ /* assert the decoded token is the same */
+ $this->assertEquals($claims['email'], "testuser@test.com");
+ $this->assertEquals($claims['email_verified'], true);
+ }
+}
diff --git a/vendor/bshaffer/oauth2-server-php/test/OAuth2/RequestTest.php b/vendor/bshaffer/oauth2-server-php/test/OAuth2/RequestTest.php
new file mode 100644
index 000000000..10db3215c
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/test/OAuth2/RequestTest.php
@@ -0,0 +1,98 @@
+<?php
+
+namespace OAuth2;
+
+use OAuth2\Request\TestRequest;
+use OAuth2\Storage\Bootstrap;
+use OAuth2\GrantType\AuthorizationCode;
+
+class RequestTest extends \PHPUnit_Framework_TestCase
+{
+ public function testRequestOverride()
+ {
+ $request = new TestRequest();
+ $server = $this->getTestServer();
+
+ // Smoke test for override request class
+ // $server->handleTokenRequest($request, $response = new Response());
+ // $this->assertInstanceOf('Response', $response);
+ // $server->handleAuthorizeRequest($request, $response = new Response(), true);
+ // $this->assertInstanceOf('Response', $response);
+ // $response = $server->verifyResourceRequest($request, $response = new Response());
+ // $this->assertTrue(is_bool($response));
+
+ /*** make some valid requests ***/
+
+ // Valid Token Request
+ $request->setPost(array(
+ 'grant_type' => 'authorization_code',
+ 'client_id' => 'Test Client ID',
+ 'client_secret' => 'TestSecret',
+ 'code' => 'testcode',
+ ));
+ $server->handleTokenRequest($request, $response = new Response());
+ $this->assertEquals($response->getStatusCode(), 200);
+ $this->assertNull($response->getParameter('error'));
+ $this->assertNotNUll($response->getParameter('access_token'));
+ }
+
+ public function testHeadersReturnsValueByKey()
+ {
+ $request = new Request(
+ array(),
+ array(),
+ array(),
+ array(),
+ array(),
+ array(),
+ array(),
+ array('AUTHORIZATION' => 'Basic secret')
+ );
+
+ $this->assertEquals('Basic secret', $request->headers('AUTHORIZATION'));
+ }
+
+ public function testHeadersReturnsDefaultIfHeaderNotPresent()
+ {
+ $request = new Request();
+
+ $this->assertEquals('Bearer', $request->headers('AUTHORIZATION', 'Bearer'));
+ }
+
+ public function testHeadersIsCaseInsensitive()
+ {
+ $request = new Request(
+ array(),
+ array(),
+ array(),
+ array(),
+ array(),
+ array(),
+ array(),
+ array('AUTHORIZATION' => 'Basic secret')
+ );
+
+ $this->assertEquals('Basic secret', $request->headers('Authorization'));
+ }
+
+ public function testRequestReturnsPostParamIfNoQueryParamAvailable()
+ {
+ $request = new Request(
+ array(),
+ array('client_id' => 'correct')
+ );
+
+ $this->assertEquals('correct', $request->query('client_id', $request->request('client_id')));
+ }
+
+ private function getTestServer($config = array())
+ {
+ $storage = Bootstrap::getInstance()->getMemoryStorage();
+ $server = new Server($storage, $config);
+
+ // Add the two types supported for authorization grant
+ $server->addGrantType(new AuthorizationCode($storage));
+
+ return $server;
+ }
+}
diff --git a/vendor/bshaffer/oauth2-server-php/test/OAuth2/ResponseTest.php b/vendor/bshaffer/oauth2-server-php/test/OAuth2/ResponseTest.php
new file mode 100644
index 000000000..b8149005d
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/test/OAuth2/ResponseTest.php
@@ -0,0 +1,17 @@
+<?php
+
+namespace OAuth2;
+
+class ResponseTest extends \PHPUnit_Framework_TestCase
+{
+ public function testRenderAsXml()
+ {
+ $response = new Response(array(
+ 'foo' => 'bar',
+ 'halland' => 'oates',
+ ));
+
+ $string = $response->getResponseBody('xml');
+ $this->assertContains('<response><foo>bar</foo><halland>oates</halland></response>', $string);
+ }
+}
diff --git a/vendor/bshaffer/oauth2-server-php/test/OAuth2/ResponseType/AccessTokenTest.php b/vendor/bshaffer/oauth2-server-php/test/OAuth2/ResponseType/AccessTokenTest.php
new file mode 100644
index 000000000..0ed1c82fc
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/test/OAuth2/ResponseType/AccessTokenTest.php
@@ -0,0 +1,107 @@
+<?php
+
+namespace OAuth2\ResponseType;
+
+use OAuth2\Server;
+use OAuth2\Storage\Memory;
+
+class AccessTokenTest extends \PHPUnit_Framework_TestCase
+{
+ public function testRevokeAccessTokenWithTypeHint()
+ {
+ $tokenStorage = new Memory(array(
+ 'access_tokens' => array(
+ 'revoke' => array('mytoken'),
+ ),
+ ));
+
+ $this->assertEquals(array('mytoken'), $tokenStorage->getAccessToken('revoke'));
+ $accessToken = new AccessToken($tokenStorage);
+ $accessToken->revokeToken('revoke', 'access_token');
+ $this->assertFalse($tokenStorage->getAccessToken('revoke'));
+ }
+
+ public function testRevokeAccessTokenWithoutTypeHint()
+ {
+ $tokenStorage = new Memory(array(
+ 'access_tokens' => array(
+ 'revoke' => array('mytoken'),
+ ),
+ ));
+
+ $this->assertEquals(array('mytoken'), $tokenStorage->getAccessToken('revoke'));
+ $accessToken = new AccessToken($tokenStorage);
+ $accessToken->revokeToken('revoke');
+ $this->assertFalse($tokenStorage->getAccessToken('revoke'));
+ }
+
+ public function testRevokeRefreshTokenWithTypeHint()
+ {
+ $tokenStorage = new Memory(array(
+ 'refresh_tokens' => array(
+ 'revoke' => array('mytoken'),
+ ),
+ ));
+
+ $this->assertEquals(array('mytoken'), $tokenStorage->getRefreshToken('revoke'));
+ $accessToken = new AccessToken(new Memory, $tokenStorage);
+ $accessToken->revokeToken('revoke', 'refresh_token');
+ $this->assertFalse($tokenStorage->getRefreshToken('revoke'));
+ }
+
+ public function testRevokeRefreshTokenWithoutTypeHint()
+ {
+ $tokenStorage = new Memory(array(
+ 'refresh_tokens' => array(
+ 'revoke' => array('mytoken'),
+ ),
+ ));
+
+ $this->assertEquals(array('mytoken'), $tokenStorage->getRefreshToken('revoke'));
+ $accessToken = new AccessToken(new Memory, $tokenStorage);
+ $accessToken->revokeToken('revoke');
+ $this->assertFalse($tokenStorage->getRefreshToken('revoke'));
+ }
+
+ public function testRevokeAccessTokenWithRefreshTokenTypeHint()
+ {
+ $tokenStorage = new Memory(array(
+ 'access_tokens' => array(
+ 'revoke' => array('mytoken'),
+ ),
+ ));
+
+ $this->assertEquals(array('mytoken'), $tokenStorage->getAccessToken('revoke'));
+ $accessToken = new AccessToken($tokenStorage);
+ $accessToken->revokeToken('revoke', 'refresh_token');
+ $this->assertFalse($tokenStorage->getAccessToken('revoke'));
+ }
+
+ public function testRevokeAccessTokenWithBogusTypeHint()
+ {
+ $tokenStorage = new Memory(array(
+ 'access_tokens' => array(
+ 'revoke' => array('mytoken'),
+ ),
+ ));
+
+ $this->assertEquals(array('mytoken'), $tokenStorage->getAccessToken('revoke'));
+ $accessToken = new AccessToken($tokenStorage);
+ $accessToken->revokeToken('revoke', 'foo');
+ $this->assertFalse($tokenStorage->getAccessToken('revoke'));
+ }
+
+ public function testRevokeRefreshTokenWithBogusTypeHint()
+ {
+ $tokenStorage = new Memory(array(
+ 'refresh_tokens' => array(
+ 'revoke' => array('mytoken'),
+ ),
+ ));
+
+ $this->assertEquals(array('mytoken'), $tokenStorage->getRefreshToken('revoke'));
+ $accessToken = new AccessToken(new Memory, $tokenStorage);
+ $accessToken->revokeToken('revoke', 'foo');
+ $this->assertFalse($tokenStorage->getRefreshToken('revoke'));
+ }
+}
diff --git a/vendor/bshaffer/oauth2-server-php/test/OAuth2/ResponseType/JwtAccessTokenTest.php b/vendor/bshaffer/oauth2-server-php/test/OAuth2/ResponseType/JwtAccessTokenTest.php
new file mode 100644
index 000000000..51b01a927
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/test/OAuth2/ResponseType/JwtAccessTokenTest.php
@@ -0,0 +1,160 @@
+<?php
+
+namespace OAuth2\ResponseType;
+
+use OAuth2\Server;
+use OAuth2\Response;
+use OAuth2\Request\TestRequest;
+use OAuth2\Storage\Bootstrap;
+use OAuth2\Storage\JwtAccessToken as JwtAccessTokenStorage;
+use OAuth2\GrantType\ClientCredentials;
+use OAuth2\GrantType\UserCredentials;
+use OAuth2\GrantType\RefreshToken;
+use OAuth2\Encryption\Jwt;
+
+class JwtAccessTokenTest extends \PHPUnit_Framework_TestCase
+{
+ public function testCreateAccessToken()
+ {
+ $server = $this->getTestServer();
+ $jwtResponseType = $server->getResponseType('token');
+
+ $accessToken = $jwtResponseType->createAccessToken('Test Client ID', 123, 'test', false);
+ $jwt = new Jwt;
+ $decodedAccessToken = $jwt->decode($accessToken['access_token'], null, false);
+
+ $this->assertArrayHasKey('id', $decodedAccessToken);
+ $this->assertArrayHasKey('jti', $decodedAccessToken);
+ $this->assertArrayHasKey('iss', $decodedAccessToken);
+ $this->assertArrayHasKey('aud', $decodedAccessToken);
+ $this->assertArrayHasKey('exp', $decodedAccessToken);
+ $this->assertArrayHasKey('iat', $decodedAccessToken);
+ $this->assertArrayHasKey('token_type', $decodedAccessToken);
+ $this->assertArrayHasKey('scope', $decodedAccessToken);
+
+ $this->assertEquals('https://api.example.com', $decodedAccessToken['iss']);
+ $this->assertEquals('Test Client ID', $decodedAccessToken['aud']);
+ $this->assertEquals(123, $decodedAccessToken['sub']);
+ $delta = $decodedAccessToken['exp'] - $decodedAccessToken['iat'];
+ $this->assertEquals(3600, $delta);
+ $this->assertEquals($decodedAccessToken['id'], $decodedAccessToken['jti']);
+ }
+
+ public function testGrantJwtAccessToken()
+ {
+ // add the test parameters in memory
+ $server = $this->getTestServer();
+ $request = TestRequest::createPost(array(
+ 'grant_type' => 'client_credentials', // valid grant type
+ 'client_id' => 'Test Client ID', // valid client id
+ 'client_secret' => 'TestSecret', // valid client secret
+ ));
+ $server->handleTokenRequest($request, $response = new Response());
+
+ $this->assertNotNull($response->getParameter('access_token'));
+ $this->assertEquals(2, substr_count($response->getParameter('access_token'), '.'));
+ }
+
+ public function testAccessResourceWithJwtAccessToken()
+ {
+ // add the test parameters in memory
+ $server = $this->getTestServer();
+ $request = TestRequest::createPost(array(
+ 'grant_type' => 'client_credentials', // valid grant type
+ 'client_id' => 'Test Client ID', // valid client id
+ 'client_secret' => 'TestSecret', // valid client secret
+ ));
+ $server->handleTokenRequest($request, $response = new Response());
+ $this->assertNotNull($JwtAccessToken = $response->getParameter('access_token'));
+
+ // make a call to the resource server using the crypto token
+ $request = TestRequest::createPost(array(
+ 'access_token' => $JwtAccessToken,
+ ));
+
+ $this->assertTrue($server->verifyResourceRequest($request));
+ }
+
+ public function testAccessResourceWithJwtAccessTokenUsingSecondaryStorage()
+ {
+ // add the test parameters in memory
+ $server = $this->getTestServer();
+ $request = TestRequest::createPost(array(
+ 'grant_type' => 'client_credentials', // valid grant type
+ 'client_id' => 'Test Client ID', // valid client id
+ 'client_secret' => 'TestSecret', // valid client secret
+ ));
+ $server->handleTokenRequest($request, $response = new Response());
+ $this->assertNotNull($JwtAccessToken = $response->getParameter('access_token'));
+
+ // make a call to the resource server using the crypto token
+ $request = TestRequest::createPost(array(
+ 'access_token' => $JwtAccessToken,
+ ));
+
+ // create a resource server with the "memory" storage from the grant server
+ $resourceServer = new Server($server->getStorage('client_credentials'));
+
+ $this->assertTrue($resourceServer->verifyResourceRequest($request));
+ }
+
+ public function testJwtAccessTokenWithRefreshToken()
+ {
+ $server = $this->getTestServer();
+
+ // add "UserCredentials" grant type and "JwtAccessToken" response type
+ // and ensure "JwtAccessToken" response type has "RefreshToken" storage
+ $memoryStorage = Bootstrap::getInstance()->getMemoryStorage();
+ $server->addGrantType(new UserCredentials($memoryStorage));
+ $server->addGrantType(new RefreshToken($memoryStorage));
+ $server->addResponseType(new JwtAccessToken($memoryStorage, $memoryStorage, $memoryStorage), 'token');
+
+ $request = TestRequest::createPost(array(
+ 'grant_type' => 'password', // valid grant type
+ 'client_id' => 'Test Client ID', // valid client id
+ 'client_secret' => 'TestSecret', // valid client secret
+ 'username' => 'test-username', // valid username
+ 'password' => 'testpass', // valid password
+ ));
+
+ // make the call to grant a crypto token
+ $server->handleTokenRequest($request, $response = new Response());
+ $this->assertNotNull($JwtAccessToken = $response->getParameter('access_token'));
+ $this->assertNotNull($refreshToken = $response->getParameter('refresh_token'));
+
+ // decode token and make sure refresh_token isn't set
+ list($header, $payload, $signature) = explode('.', $JwtAccessToken);
+ $decodedToken = json_decode(base64_decode($payload), true);
+ $this->assertFalse(array_key_exists('refresh_token', $decodedToken));
+
+ // use the refresh token to get another access token
+ $request = TestRequest::createPost(array(
+ 'grant_type' => 'refresh_token',
+ 'client_id' => 'Test Client ID', // valid client id
+ 'client_secret' => 'TestSecret', // valid client secret
+ 'refresh_token' => $refreshToken,
+ ));
+
+ $server->handleTokenRequest($request, $response = new Response());
+ $this->assertNotNull($response->getParameter('access_token'));
+ }
+
+ private function getTestServer()
+ {
+ $memoryStorage = Bootstrap::getInstance()->getMemoryStorage();
+
+ $storage = array(
+ 'access_token' => new JwtAccessTokenStorage($memoryStorage),
+ 'client' => $memoryStorage,
+ 'client_credentials' => $memoryStorage,
+ );
+ $server = new Server($storage);
+ $server->addGrantType(new ClientCredentials($memoryStorage));
+
+ // make the "token" response type a JwtAccessToken
+ $config = array('issuer' => 'https://api.example.com');
+ $server->addResponseType(new JwtAccessToken($memoryStorage, $memoryStorage, null, $config));
+
+ return $server;
+ }
+}
diff --git a/vendor/bshaffer/oauth2-server-php/test/OAuth2/ScopeTest.php b/vendor/bshaffer/oauth2-server-php/test/OAuth2/ScopeTest.php
new file mode 100644
index 000000000..99f9cf6eb
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/test/OAuth2/ScopeTest.php
@@ -0,0 +1,42 @@
+<?php
+
+namespace OAuth2;
+
+use OAuth2\Storage\Memory;
+
+class ScopeTest extends \PHPUnit_Framework_TestCase
+{
+ public function testCheckScope()
+ {
+ $scopeUtil = new Scope();
+
+ $this->assertFalse($scopeUtil->checkScope('invalid', 'list of scopes'));
+ $this->assertTrue($scopeUtil->checkScope('valid', 'valid and-some other-scopes'));
+ $this->assertTrue($scopeUtil->checkScope('valid another-valid', 'valid another-valid and-some other-scopes'));
+ // all scopes must match
+ $this->assertFalse($scopeUtil->checkScope('valid invalid', 'valid and-some other-scopes'));
+ $this->assertFalse($scopeUtil->checkScope('valid valid2 invalid', 'valid valid2 and-some other-scopes'));
+ }
+
+ public function testScopeStorage()
+ {
+ $scopeUtil = new Scope();
+ $this->assertEquals($scopeUtil->getDefaultScope(), null);
+
+ $scopeUtil = new Scope(array(
+ 'default_scope' => 'default',
+ 'supported_scopes' => array('this', 'that', 'another'),
+ ));
+ $this->assertEquals($scopeUtil->getDefaultScope(), 'default');
+ $this->assertTrue($scopeUtil->scopeExists('this that another', 'client_id'));
+
+ $memoryStorage = new Memory(array(
+ 'default_scope' => 'base',
+ 'supported_scopes' => array('only-this-one'),
+ ));
+ $scopeUtil = new Scope($memoryStorage);
+
+ $this->assertEquals($scopeUtil->getDefaultScope(), 'base');
+ $this->assertTrue($scopeUtil->scopeExists('only-this-one', 'client_id'));
+ }
+}
diff --git a/vendor/bshaffer/oauth2-server-php/test/OAuth2/ServerTest.php b/vendor/bshaffer/oauth2-server-php/test/OAuth2/ServerTest.php
new file mode 100644
index 000000000..747e120f5
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/test/OAuth2/ServerTest.php
@@ -0,0 +1,684 @@
+<?php
+
+namespace OAuth2;
+
+use OAuth2\Request\TestRequest;
+use OAuth2\ResponseType\AuthorizationCode;
+use OAuth2\Storage\Bootstrap;
+
+class ServerTest extends \PHPUnit_Framework_TestCase
+{
+ /**
+ * @expectedException LogicException OAuth2\Storage\ClientInterface
+ **/
+ public function testGetAuthorizeControllerWithNoClientStorageThrowsException()
+ {
+ // must set Client Storage
+ $server = new Server();
+ $server->getAuthorizeController();
+ }
+
+ /**
+ * @expectedException LogicException OAuth2\Storage\AccessTokenInterface
+ **/
+ public function testGetAuthorizeControllerWithNoAccessTokenStorageThrowsException()
+ {
+ // must set AccessToken or AuthorizationCode
+ $server = new Server();
+ $server->addStorage($this->getMock('OAuth2\Storage\ClientInterface'));
+ $server->getAuthorizeController();
+ }
+
+ public function testGetAuthorizeControllerWithClientStorageAndAccessTokenResponseType()
+ {
+ // must set AccessToken or AuthorizationCode
+ $server = new Server();
+ $server->addStorage($this->getMock('OAuth2\Storage\ClientInterface'));
+ $server->addResponseType($this->getMock('OAuth2\ResponseType\AccessTokenInterface'));
+
+ $this->assertNotNull($server->getAuthorizeController());
+ }
+
+ public function testGetAuthorizeControllerWithClientStorageAndAuthorizationCodeResponseType()
+ {
+ // must set AccessToken or AuthorizationCode
+ $server = new Server();
+ $server->addStorage($this->getMock('OAuth2\Storage\ClientInterface'));
+ $server->addResponseType($this->getMock('OAuth2\ResponseType\AuthorizationCodeInterface'));
+
+ $this->assertNotNull($server->getAuthorizeController());
+ }
+
+ /**
+ * @expectedException LogicException allow_implicit
+ **/
+ public function testGetAuthorizeControllerWithClientStorageAndAccessTokenStorageThrowsException()
+ {
+ // must set AuthorizationCode or AccessToken / implicit
+ $server = new Server();
+ $server->addStorage($this->getMock('OAuth2\Storage\ClientInterface'));
+ $server->addStorage($this->getMock('OAuth2\Storage\AccessTokenInterface'));
+
+ $this->assertNotNull($server->getAuthorizeController());
+ }
+
+ public function testGetAuthorizeControllerWithClientStorageAndAccessTokenStorage()
+ {
+ // must set AuthorizationCode or AccessToken / implicit
+ $server = new Server(array(), array('allow_implicit' => true));
+ $server->addStorage($this->getMock('OAuth2\Storage\ClientInterface'));
+ $server->addStorage($this->getMock('OAuth2\Storage\AccessTokenInterface'));
+
+ $this->assertNotNull($server->getAuthorizeController());
+ }
+
+ public function testGetAuthorizeControllerWithClientStorageAndAuthorizationCodeStorage()
+ {
+ // must set AccessToken or AuthorizationCode
+ $server = new Server();
+ $server->addStorage($this->getMock('OAuth2\Storage\ClientInterface'));
+ $server->addStorage($this->getMock('OAuth2\Storage\AuthorizationCodeInterface'));
+
+ $this->assertNotNull($server->getAuthorizeController());
+ }
+
+ /**
+ * @expectedException LogicException grant_types
+ **/
+ public function testGetTokenControllerWithGrantTypeStorageThrowsException()
+ {
+ $server = new Server();
+ $server->getTokenController();
+ }
+
+ /**
+ * @expectedException LogicException OAuth2\Storage\ClientCredentialsInterface
+ **/
+ public function testGetTokenControllerWithNoClientCredentialsStorageThrowsException()
+ {
+ $server = new Server();
+ $server->addStorage($this->getMock('OAuth2\Storage\UserCredentialsInterface'));
+ $server->getTokenController();
+ }
+
+ /**
+ * @expectedException LogicException OAuth2\Storage\AccessTokenInterface
+ **/
+ public function testGetTokenControllerWithNoAccessTokenStorageThrowsException()
+ {
+ $server = new Server();
+ $server->addStorage($this->getMock('OAuth2\Storage\ClientCredentialsInterface'));
+ $server->getTokenController();
+ }
+
+ public function testGetTokenControllerWithAccessTokenAndClientCredentialsStorage()
+ {
+ $server = new Server();
+ $server->addStorage($this->getMock('OAuth2\Storage\AccessTokenInterface'));
+ $server->addStorage($this->getMock('OAuth2\Storage\ClientCredentialsInterface'));
+ $server->getTokenController();
+ }
+
+ public function testGetTokenControllerAccessTokenStorageAndClientCredentialsStorageAndGrantTypes()
+ {
+ $server = new Server();
+ $server->addStorage($this->getMock('OAuth2\Storage\AccessTokenInterface'));
+ $server->addStorage($this->getMock('OAuth2\Storage\ClientCredentialsInterface'));
+ $server->addGrantType($this->getMockBuilder('OAuth2\GrantType\AuthorizationCode')->disableOriginalConstructor()->getMock());
+ $server->getTokenController();
+ }
+
+ /**
+ * @expectedException LogicException OAuth2\Storage\AccessTokenInterface
+ **/
+ public function testGetResourceControllerWithNoAccessTokenStorageThrowsException()
+ {
+ $server = new Server();
+ $server->getResourceController();
+ }
+
+ public function testGetResourceControllerWithAccessTokenStorage()
+ {
+ $server = new Server();
+ $server->addStorage($this->getMock('OAuth2\Storage\AccessTokenInterface'));
+ $server->getResourceController();
+ }
+
+ /**
+ * @expectedException InvalidArgumentException OAuth2\Storage\AccessTokenInterface
+ **/
+ public function testAddingStorageWithInvalidClass()
+ {
+ $server = new Server();
+ $server->addStorage(new \StdClass());
+ }
+
+ /**
+ * @expectedException InvalidArgumentException access_token
+ **/
+ public function testAddingStorageWithInvalidKey()
+ {
+ $server = new Server();
+ $server->addStorage($this->getMock('OAuth2\Storage\AccessTokenInterface'), 'nonexistant_storage');
+ }
+
+ /**
+ * @expectedException InvalidArgumentException OAuth2\Storage\AuthorizationCodeInterface
+ **/
+ public function testAddingStorageWithInvalidKeyStorageCombination()
+ {
+ $server = new Server();
+ $server->addStorage($this->getMock('OAuth2\Storage\AccessTokenInterface'), 'authorization_code');
+ }
+
+ public function testAddingStorageWithValidKeyOnlySetsThatKey()
+ {
+ $server = new Server();
+ $server->addStorage($this->getMock('OAuth2\Storage\Memory'), 'access_token');
+
+ $reflection = new \ReflectionClass($server);
+ $prop = $reflection->getProperty('storages');
+ $prop->setAccessible(true);
+
+ $storages = $prop->getValue($server); // get the private "storages" property
+
+ $this->assertEquals(1, count($storages));
+ $this->assertTrue(isset($storages['access_token']));
+ $this->assertFalse(isset($storages['authorization_code']));
+ }
+
+ public function testAddingClientStorageSetsClientCredentialsStorageByDefault()
+ {
+ $server = new Server();
+ $memory = $this->getMock('OAuth2\Storage\Memory');
+ $server->addStorage($memory, 'client');
+
+ $client_credentials = $server->getStorage('client_credentials');
+
+ $this->assertNotNull($client_credentials);
+ $this->assertEquals($client_credentials, $memory);
+ }
+
+ public function testAddStorageWithNullValue()
+ {
+ $memory = $this->getMock('OAuth2\Storage\Memory');
+ $server = new Server($memory);
+ $server->addStorage(null, 'refresh_token');
+
+ $client_credentials = $server->getStorage('client_credentials');
+
+ $this->assertNotNull($client_credentials);
+ $this->assertEquals($client_credentials, $memory);
+
+ $refresh_token = $server->getStorage('refresh_token');
+
+ $this->assertNull($refresh_token);
+ }
+
+ public function testNewServerWithNullStorageValue()
+ {
+ $memory = $this->getMock('OAuth2\Storage\Memory');
+ $server = new Server(array(
+ 'client_credentials' => $memory,
+ 'refresh_token' => null,
+ ));
+
+ $client_credentials = $server->getStorage('client_credentials');
+
+ $this->assertNotNull($client_credentials);
+ $this->assertEquals($client_credentials, $memory);
+
+ $refresh_token = $server->getStorage('refresh_token');
+
+ $this->assertNull($refresh_token);
+ }
+
+ public function testAddingClientCredentialsStorageSetsClientStorageByDefault()
+ {
+ $server = new Server();
+ $memory = $this->getMock('OAuth2\Storage\Memory');
+ $server->addStorage($memory, 'client_credentials');
+
+ $client = $server->getStorage('client');
+
+ $this->assertNotNull($client);
+ $this->assertEquals($client, $memory);
+ }
+
+ public function testSettingClientStorageByDefaultDoesNotOverrideSetStorage()
+ {
+ $server = new Server();
+ $pdo = $this->getMockBuilder('OAuth2\Storage\Pdo')
+ ->disableOriginalConstructor()->getMock();
+
+ $memory = $this->getMock('OAuth2\Storage\Memory');
+
+ $server->addStorage($pdo, 'client');
+ $server->addStorage($memory, 'client_credentials');
+
+ $client = $server->getStorage('client');
+ $client_credentials = $server->getStorage('client_credentials');
+
+ $this->assertEquals($client, $pdo);
+ $this->assertEquals($client_credentials, $memory);
+ }
+
+ public function testAddingResponseType()
+ {
+ $storage = $this->getMock('OAuth2\Storage\Memory');
+ $storage
+ ->expects($this->any())
+ ->method('getClientDetails')
+ ->will($this->returnValue(array('client_id' => 'some_client')));
+ $storage
+ ->expects($this->any())
+ ->method('checkRestrictedGrantType')
+ ->will($this->returnValue(true));
+
+ // add with the "code" key explicitly set
+ $codeType = new AuthorizationCode($storage);
+ $server = new Server();
+ $server->addStorage($storage);
+ $server->addResponseType($codeType);
+ $request = new Request(array(
+ 'response_type' => 'code',
+ 'client_id' => 'some_client',
+ 'redirect_uri' => 'http://example.com',
+ 'state' => 'xyx',
+ ));
+ $server->handleAuthorizeRequest($request, $response = new Response(), true);
+
+ // the response is successful
+ $this->assertEquals($response->getStatusCode(), 302);
+ $parts = parse_url($response->getHttpHeader('Location'));
+ parse_str($parts['query'], $query);
+ $this->assertTrue(isset($query['code']));
+ $this->assertFalse(isset($query['error']));
+
+ // add with the "code" key not set
+ $codeType = new AuthorizationCode($storage);
+ $server = new Server(array($storage), array(), array(), array($codeType));
+ $request = new Request(array(
+ 'response_type' => 'code',
+ 'client_id' => 'some_client',
+ 'redirect_uri' => 'http://example.com',
+ 'state' => 'xyx',
+ ));
+ $server->handleAuthorizeRequest($request, $response = new Response(), true);
+
+ // the response is successful
+ $this->assertEquals($response->getStatusCode(), 302);
+ $parts = parse_url($response->getHttpHeader('Location'));
+ parse_str($parts['query'], $query);
+ $this->assertTrue(isset($query['code']));
+ $this->assertFalse(isset($query['error']));
+ }
+
+ public function testCustomClientAssertionType()
+ {
+ $request = TestRequest::createPost(array(
+ 'grant_type' => 'authorization_code',
+ 'client_id' =>'Test Client ID',
+ 'code' => 'testcode',
+ ));
+ // verify the mock clientAssertionType was called as expected
+ $clientAssertionType = $this->getMock('OAuth2\ClientAssertionType\ClientAssertionTypeInterface', array('validateRequest', 'getClientId'));
+ $clientAssertionType
+ ->expects($this->once())
+ ->method('validateRequest')
+ ->will($this->returnValue(true));
+ $clientAssertionType
+ ->expects($this->once())
+ ->method('getClientId')
+ ->will($this->returnValue('Test Client ID'));
+
+ // create mock storage
+ $storage = Bootstrap::getInstance()->getMemoryStorage();
+ $server = new Server(array($storage), array(), array(), array(), null, null, $clientAssertionType);
+ $server->handleTokenRequest($request, $response = new Response());
+ }
+
+ public function testHttpBasicConfig()
+ {
+ // create mock storage
+ $storage = Bootstrap::getInstance()->getMemoryStorage();
+ $server = new Server(array($storage), array(
+ 'allow_credentials_in_request_body' => false,
+ 'allow_public_clients' => false
+ ));
+ $server->getTokenController();
+ $httpBasic = $server->getClientAssertionType();
+
+ $reflection = new \ReflectionClass($httpBasic);
+ $prop = $reflection->getProperty('config');
+ $prop->setAccessible(true);
+
+ $config = $prop->getValue($httpBasic); // get the private "config" property
+
+ $this->assertEquals($config['allow_credentials_in_request_body'], false);
+ $this->assertEquals($config['allow_public_clients'], false);
+ }
+
+ public function testRefreshTokenConfig()
+ {
+ // create mock storage
+ $storage = Bootstrap::getInstance()->getMemoryStorage();
+ $server1 = new Server(array($storage));
+ $server2 = new Server(array($storage), array('always_issue_new_refresh_token' => true, 'unset_refresh_token_after_use' => false));
+
+ $server1->getTokenController();
+ $refreshToken1 = $server1->getGrantType('refresh_token');
+
+ $server2->getTokenController();
+ $refreshToken2 = $server2->getGrantType('refresh_token');
+
+ $reflection1 = new \ReflectionClass($refreshToken1);
+ $prop1 = $reflection1->getProperty('config');
+ $prop1->setAccessible(true);
+
+ $reflection2 = new \ReflectionClass($refreshToken2);
+ $prop2 = $reflection2->getProperty('config');
+ $prop2->setAccessible(true);
+
+ // get the private "config" property
+ $config1 = $prop1->getValue($refreshToken1);
+ $config2 = $prop2->getValue($refreshToken2);
+
+ $this->assertEquals($config1['always_issue_new_refresh_token'], false);
+ $this->assertEquals($config2['always_issue_new_refresh_token'], true);
+
+ $this->assertEquals($config1['unset_refresh_token_after_use'], true);
+ $this->assertEquals($config2['unset_refresh_token_after_use'], false);
+ }
+
+ /**
+ * Test setting "always_issue_new_refresh_token" on a server level
+ *
+ * @see test/OAuth2/GrantType/RefreshTokenTest::testValidRefreshTokenWithNewRefreshTokenInResponse
+ **/
+ public function testValidRefreshTokenWithNewRefreshTokenInResponse()
+ {
+ $storage = Bootstrap::getInstance()->getMemoryStorage();
+ $server = new Server($storage, array('always_issue_new_refresh_token' => true));
+
+ $request = TestRequest::createPost(array(
+ 'grant_type' => 'refresh_token', // valid grant type
+ 'client_id' => 'Test Client ID', // valid client id
+ 'client_secret' => 'TestSecret', // valid client secret
+ 'refresh_token' => 'test-refreshtoken', // valid refresh token
+ ));
+ $token = $server->grantAccessToken($request, new Response());
+ $this->assertTrue(isset($token['refresh_token']), 'refresh token should always refresh');
+
+ $refresh_token = $storage->getRefreshToken($token['refresh_token']);
+ $this->assertNotNull($refresh_token);
+ $this->assertEquals($refresh_token['refresh_token'], $token['refresh_token']);
+ $this->assertEquals($refresh_token['client_id'], $request->request('client_id'));
+ $this->assertTrue($token['refresh_token'] != 'test-refreshtoken', 'the refresh token returned is not the one used');
+ $used_token = $storage->getRefreshToken('test-refreshtoken');
+ $this->assertFalse($used_token, 'the refresh token used is no longer valid');
+ }
+
+ /**
+ * @expectedException InvalidArgumentException OAuth2\ResponseType\AuthorizationCodeInterface
+ **/
+ public function testAddingUnknownResponseTypeThrowsException()
+ {
+ $server = new Server();
+ $server->addResponseType($this->getMock('OAuth2\ResponseType\ResponseTypeInterface'));
+ }
+
+ /**
+ * @expectedException LogicException OAuth2\Storage\PublicKeyInterface
+ **/
+ public function testUsingJwtAccessTokensWithoutPublicKeyStorageThrowsException()
+ {
+ $server = new Server(array(), array('use_jwt_access_tokens' => true));
+ $server->addGrantType($this->getMock('OAuth2\GrantType\GrantTypeInterface'));
+ $server->addStorage($this->getMock('OAuth2\Storage\ClientCredentialsInterface'));
+ $server->addStorage($this->getMock('OAuth2\Storage\ClientCredentialsInterface'));
+
+ $server->getTokenController();
+ }
+
+ public function testUsingJustJwtAccessTokenStorageWithResourceControllerIsOkay()
+ {
+ $pubkey = $this->getMock('OAuth2\Storage\PublicKeyInterface');
+ $server = new Server(array($pubkey), array('use_jwt_access_tokens' => true));
+
+ $this->assertNotNull($server->getResourceController());
+ $this->assertInstanceOf('OAuth2\Storage\PublicKeyInterface', $server->getStorage('public_key'));
+ }
+
+ /**
+ * @expectedException LogicException OAuth2\Storage\ClientInterface
+ **/
+ public function testUsingJustJwtAccessTokenStorageWithAuthorizeControllerThrowsException()
+ {
+ $pubkey = $this->getMock('OAuth2\Storage\PublicKeyInterface');
+ $server = new Server(array($pubkey), array('use_jwt_access_tokens' => true));
+ $this->assertNotNull($server->getAuthorizeController());
+ }
+
+ /**
+ * @expectedException LogicException grant_types
+ **/
+ public function testUsingJustJwtAccessTokenStorageWithTokenControllerThrowsException()
+ {
+ $pubkey = $this->getMock('OAuth2\Storage\PublicKeyInterface');
+ $server = new Server(array($pubkey), array('use_jwt_access_tokens' => true));
+ $server->getTokenController();
+ }
+
+ public function testUsingJwtAccessTokenAndClientStorageWithAuthorizeControllerIsOkay()
+ {
+ $pubkey = $this->getMock('OAuth2\Storage\PublicKeyInterface');
+ $client = $this->getMock('OAuth2\Storage\ClientInterface');
+ $server = new Server(array($pubkey, $client), array('use_jwt_access_tokens' => true, 'allow_implicit' => true));
+ $this->assertNotNull($server->getAuthorizeController());
+
+ $this->assertInstanceOf('OAuth2\ResponseType\JwtAccessToken', $server->getResponseType('token'));
+ }
+
+ /**
+ * @expectedException LogicException UserClaims
+ **/
+ public function testUsingOpenIDConnectWithoutUserClaimsThrowsException()
+ {
+ $client = $this->getMock('OAuth2\Storage\ClientInterface');
+ $server = new Server($client, array('use_openid_connect' => true));
+
+ $server->getAuthorizeController();
+ }
+
+ /**
+ * @expectedException LogicException PublicKeyInterface
+ **/
+ public function testUsingOpenIDConnectWithoutPublicKeyThrowsException()
+ {
+ $client = $this->getMock('OAuth2\Storage\ClientInterface');
+ $userclaims = $this->getMock('OAuth2\OPenID\Storage\UserClaimsInterface');
+ $server = new Server(array($client, $userclaims), array('use_openid_connect' => true));
+
+ $server->getAuthorizeController();
+ }
+
+ /**
+ * @expectedException LogicException issuer
+ **/
+ public function testUsingOpenIDConnectWithoutIssuerThrowsException()
+ {
+ $client = $this->getMock('OAuth2\Storage\ClientInterface');
+ $userclaims = $this->getMock('OAuth2\OpenID\Storage\UserClaimsInterface');
+ $pubkey = $this->getMock('OAuth2\Storage\PublicKeyInterface');
+ $server = new Server(array($client, $userclaims, $pubkey), array('use_openid_connect' => true));
+
+ $server->getAuthorizeController();
+ }
+
+ public function testUsingOpenIDConnectWithIssuerPublicKeyAndUserClaimsIsOkay()
+ {
+ $client = $this->getMock('OAuth2\Storage\ClientInterface');
+ $userclaims = $this->getMock('OAuth2\OpenID\Storage\UserClaimsInterface');
+ $pubkey = $this->getMock('OAuth2\Storage\PublicKeyInterface');
+ $server = new Server(array($client, $userclaims, $pubkey), array(
+ 'use_openid_connect' => true,
+ 'issuer' => 'someguy',
+ ));
+
+ $server->getAuthorizeController();
+
+ $this->assertInstanceOf('OAuth2\OpenID\ResponseType\IdTokenInterface', $server->getResponseType('id_token'));
+ $this->assertNull($server->getResponseType('id_token token'));
+ }
+
+ /**
+ * @expectedException LogicException OAuth2\ResponseType\AccessTokenInterface
+ **/
+ public function testUsingOpenIDConnectWithAllowImplicitWithoutTokenStorageThrowsException()
+ {
+ $client = $this->getMock('OAuth2\Storage\ClientInterface');
+ $userclaims = $this->getMock('OAuth2\OpenID\Storage\UserClaimsInterface');
+ $pubkey = $this->getMock('OAuth2\Storage\PublicKeyInterface');
+ $server = new Server(array($client, $userclaims, $pubkey), array(
+ 'use_openid_connect' => true,
+ 'issuer' => 'someguy',
+ 'allow_implicit' => true,
+ ));
+
+ $server->getAuthorizeController();
+ }
+
+ public function testUsingOpenIDConnectWithAllowImplicitAndUseJwtAccessTokensIsOkay()
+ {
+ $client = $this->getMock('OAuth2\Storage\ClientInterface');
+ $userclaims = $this->getMock('OAuth2\OpenID\Storage\UserClaimsInterface');
+ $pubkey = $this->getMock('OAuth2\Storage\PublicKeyInterface');
+ $server = new Server(array($client, $userclaims, $pubkey), array(
+ 'use_openid_connect' => true,
+ 'issuer' => 'someguy',
+ 'allow_implicit' => true,
+ 'use_jwt_access_tokens' => true,
+ ));
+
+ $server->getAuthorizeController();
+
+ $this->assertInstanceOf('OAuth2\OpenID\ResponseType\IdTokenInterface', $server->getResponseType('id_token'));
+ $this->assertInstanceOf('OAuth2\OpenID\ResponseType\IdTokenTokenInterface', $server->getResponseType('id_token token'));
+ }
+
+ public function testUsingOpenIDConnectWithAllowImplicitAndAccessTokenStorageIsOkay()
+ {
+ $client = $this->getMock('OAuth2\Storage\ClientInterface');
+ $userclaims = $this->getMock('OAuth2\OpenID\Storage\UserClaimsInterface');
+ $pubkey = $this->getMock('OAuth2\Storage\PublicKeyInterface');
+ $token = $this->getMock('OAuth2\Storage\AccessTokenInterface');
+ $server = new Server(array($client, $userclaims, $pubkey, $token), array(
+ 'use_openid_connect' => true,
+ 'issuer' => 'someguy',
+ 'allow_implicit' => true,
+ ));
+
+ $server->getAuthorizeController();
+
+ $this->assertInstanceOf('OAuth2\OpenID\ResponseType\IdTokenInterface', $server->getResponseType('id_token'));
+ $this->assertInstanceOf('OAuth2\OpenID\ResponseType\IdTokenTokenInterface', $server->getResponseType('id_token token'));
+ }
+
+ public function testUsingOpenIDConnectWithAllowImplicitAndAccessTokenResponseTypeIsOkay()
+ {
+ $client = $this->getMock('OAuth2\Storage\ClientInterface');
+ $userclaims = $this->getMock('OAuth2\OpenID\Storage\UserClaimsInterface');
+ $pubkey = $this->getMock('OAuth2\Storage\PublicKeyInterface');
+ // $token = $this->getMock('OAuth2\Storage\AccessTokenInterface');
+ $server = new Server(array($client, $userclaims, $pubkey), array(
+ 'use_openid_connect' => true,
+ 'issuer' => 'someguy',
+ 'allow_implicit' => true,
+ ));
+
+ $token = $this->getMock('OAuth2\ResponseType\AccessTokenInterface');
+ $server->addResponseType($token, 'token');
+
+ $server->getAuthorizeController();
+
+ $this->assertInstanceOf('OAuth2\OpenID\ResponseType\IdTokenInterface', $server->getResponseType('id_token'));
+ $this->assertInstanceOf('OAuth2\OpenID\ResponseType\IdTokenTokenInterface', $server->getResponseType('id_token token'));
+ }
+
+ /**
+ * @expectedException LogicException OAuth2\OpenID\Storage\AuthorizationCodeInterface
+ **/
+ public function testUsingOpenIDConnectWithAuthorizationCodeStorageThrowsException()
+ {
+ $client = $this->getMock('OAuth2\Storage\ClientCredentialsInterface');
+ $userclaims = $this->getMock('OAuth2\OpenID\Storage\UserClaimsInterface');
+ $pubkey = $this->getMock('OAuth2\Storage\PublicKeyInterface');
+ $token = $this->getMock('OAuth2\Storage\AccessTokenInterface');
+ $authcode = $this->getMock('OAuth2\Storage\AuthorizationCodeInterface');
+
+ $server = new Server(array($client, $userclaims, $pubkey, $token, $authcode), array(
+ 'use_openid_connect' => true,
+ 'issuer' => 'someguy'
+ ));
+
+ $server->getTokenController();
+
+ $this->assertInstanceOf('OAuth2\OpenID\GrantType\AuthorizationCode', $server->getGrantType('authorization_code'));
+ }
+
+ public function testUsingOpenIDConnectWithOpenIDAuthorizationCodeStorageCreatesOpenIDAuthorizationCodeGrantType()
+ {
+ $client = $this->getMock('OAuth2\Storage\ClientCredentialsInterface');
+ $userclaims = $this->getMock('OAuth2\OpenID\Storage\UserClaimsInterface');
+ $pubkey = $this->getMock('OAuth2\Storage\PublicKeyInterface');
+ $token = $this->getMock('OAuth2\Storage\AccessTokenInterface');
+ $authcode = $this->getMock('OAuth2\OpenID\Storage\AuthorizationCodeInterface');
+
+ $server = new Server(array($client, $userclaims, $pubkey, $token, $authcode), array(
+ 'use_openid_connect' => true,
+ 'issuer' => 'someguy'
+ ));
+
+ $server->getTokenController();
+
+ $this->assertInstanceOf('OAuth2\OpenID\GrantType\AuthorizationCode', $server->getGrantType('authorization_code'));
+ }
+
+ public function testMultipleValuedResponseTypeOrderDoesntMatter()
+ {
+ $responseType = $this->getMock('OAuth2\OpenID\ResponseType\IdTokenTokenInterface');
+ $server = new Server(array(), array(), array(), array(
+ 'token id_token' => $responseType,
+ ));
+
+ $this->assertEquals($responseType, $server->getResponseType('id_token token'));
+ }
+
+ public function testAddGrantTypeWithoutKey()
+ {
+ $server = new Server();
+ $server->addGrantType(new \OAuth2\GrantType\AuthorizationCode($this->getMock('OAuth2\Storage\AuthorizationCodeInterface')));
+
+ $grantTypes = $server->getGrantTypes();
+ $this->assertEquals('authorization_code', key($grantTypes));
+ }
+
+ public function testAddGrantTypeWithKey()
+ {
+ $server = new Server();
+ $server->addGrantType(new \OAuth2\GrantType\AuthorizationCode($this->getMock('OAuth2\Storage\AuthorizationCodeInterface')), 'ac');
+
+ $grantTypes = $server->getGrantTypes();
+ $this->assertEquals('ac', key($grantTypes));
+ }
+
+ public function testAddGrantTypeWithKeyNotString()
+ {
+ $server = new Server();
+ $server->addGrantType(new \OAuth2\GrantType\AuthorizationCode($this->getMock('OAuth2\Storage\AuthorizationCodeInterface')), 42);
+
+ $grantTypes = $server->getGrantTypes();
+ $this->assertEquals('authorization_code', key($grantTypes));
+ }
+}
diff --git a/vendor/bshaffer/oauth2-server-php/test/OAuth2/Storage/AccessTokenTest.php b/vendor/bshaffer/oauth2-server-php/test/OAuth2/Storage/AccessTokenTest.php
new file mode 100644
index 000000000..b34e0bfc0
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/test/OAuth2/Storage/AccessTokenTest.php
@@ -0,0 +1,102 @@
+<?php
+
+namespace OAuth2\Storage;
+
+class AccessTokenTest extends BaseTest
+{
+ /** @dataProvider provideStorage */
+ public function testSetAccessToken(AccessTokenInterface $storage)
+ {
+ if ($storage instanceof NullStorage) {
+ $this->markTestSkipped('Skipped Storage: ' . $storage->getMessage());
+
+ return;
+ }
+
+ // assert token we are about to add does not exist
+ $token = $storage->getAccessToken('newtoken');
+ $this->assertFalse($token);
+
+ // add new token
+ $expires = time() + 20;
+ $success = $storage->setAccessToken('newtoken', 'client ID', 'SOMEUSERID', $expires);
+ $this->assertTrue($success);
+
+ $token = $storage->getAccessToken('newtoken');
+ $this->assertNotNull($token);
+ $this->assertArrayHasKey('access_token', $token);
+ $this->assertArrayHasKey('client_id', $token);
+ $this->assertArrayHasKey('user_id', $token);
+ $this->assertArrayHasKey('expires', $token);
+ $this->assertEquals($token['access_token'], 'newtoken');
+ $this->assertEquals($token['client_id'], 'client ID');
+ $this->assertEquals($token['user_id'], 'SOMEUSERID');
+ $this->assertEquals($token['expires'], $expires);
+
+ // change existing token
+ $expires = time() + 42;
+ $success = $storage->setAccessToken('newtoken', 'client ID2', 'SOMEOTHERID', $expires);
+ $this->assertTrue($success);
+
+ $token = $storage->getAccessToken('newtoken');
+ $this->assertNotNull($token);
+ $this->assertArrayHasKey('access_token', $token);
+ $this->assertArrayHasKey('client_id', $token);
+ $this->assertArrayHasKey('user_id', $token);
+ $this->assertArrayHasKey('expires', $token);
+ $this->assertEquals($token['access_token'], 'newtoken');
+ $this->assertEquals($token['client_id'], 'client ID2');
+ $this->assertEquals($token['user_id'], 'SOMEOTHERID');
+ $this->assertEquals($token['expires'], $expires);
+
+ // add token with scope having an empty string value
+ $expires = time() + 42;
+ $success = $storage->setAccessToken('newtoken', 'client ID', 'SOMEOTHERID', $expires, '');
+ $this->assertTrue($success);
+ }
+
+ /** @dataProvider provideStorage */
+ public function testUnsetAccessToken(AccessTokenInterface $storage)
+ {
+ if ($storage instanceof NullStorage || !method_exists($storage, 'unsetAccessToken')) {
+ $this->markTestSkipped('Skipped Storage: ' . $storage->getMessage());
+
+ return;
+ }
+
+ // assert token we are about to unset does not exist
+ $token = $storage->getAccessToken('revokabletoken');
+ $this->assertFalse($token);
+
+ // add new token
+ $expires = time() + 20;
+ $success = $storage->setAccessToken('revokabletoken', 'client ID', 'SOMEUSERID', $expires);
+ $this->assertTrue($success);
+
+ // assert unsetAccessToken returns true
+ $result = $storage->unsetAccessToken('revokabletoken');
+ $this->assertTrue($result);
+
+ // assert token we unset does not exist
+ $token = $storage->getAccessToken('revokabletoken');
+ $this->assertFalse($token);
+ }
+
+ /** @dataProvider provideStorage */
+ public function testUnsetAccessTokenReturnsFalse(AccessTokenInterface $storage)
+ {
+ if ($storage instanceof NullStorage || !method_exists($storage, 'unsetAccessToken')) {
+ $this->markTestSkipped('Skipped Storage: ' . $storage->getMessage());
+
+ return;
+ }
+
+ // assert token we are about to unset does not exist
+ $token = $storage->getAccessToken('nonexistanttoken');
+ $this->assertFalse($token);
+
+ // assert unsetAccessToken returns false
+ $result = $storage->unsetAccessToken('nonexistanttoken');
+ $this->assertFalse($result);
+ }
+}
diff --git a/vendor/bshaffer/oauth2-server-php/test/OAuth2/Storage/AuthorizationCodeTest.php b/vendor/bshaffer/oauth2-server-php/test/OAuth2/Storage/AuthorizationCodeTest.php
new file mode 100644
index 000000000..2d901b501
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/test/OAuth2/Storage/AuthorizationCodeTest.php
@@ -0,0 +1,106 @@
+<?php
+
+namespace OAuth2\Storage;
+
+class AuthorizationCodeTest extends BaseTest
+{
+ /** @dataProvider provideStorage */
+ public function testGetAuthorizationCode(AuthorizationCodeInterface $storage)
+ {
+ if ($storage instanceof NullStorage) {
+ $this->markTestSkipped('Skipped Storage: ' . $storage->getMessage());
+
+ return;
+ }
+
+ // nonexistant client_id
+ $details = $storage->getAuthorizationCode('faketoken');
+ $this->assertFalse($details);
+
+ // valid client_id
+ $details = $storage->getAuthorizationCode('testtoken');
+ $this->assertNotNull($details);
+ }
+
+ /** @dataProvider provideStorage */
+ public function testSetAuthorizationCode(AuthorizationCodeInterface $storage)
+ {
+ if ($storage instanceof NullStorage) {
+ $this->markTestSkipped('Skipped Storage: ' . $storage->getMessage());
+
+ return;
+ }
+
+ // assert code we are about to add does not exist
+ $code = $storage->getAuthorizationCode('newcode');
+ $this->assertFalse($code);
+
+ // add new code
+ $expires = time() + 20;
+ $success = $storage->setAuthorizationCode('newcode', 'client ID', 'SOMEUSERID', 'http://example.com', $expires);
+ $this->assertTrue($success);
+
+ $code = $storage->getAuthorizationCode('newcode');
+ $this->assertNotNull($code);
+ $this->assertArrayHasKey('authorization_code', $code);
+ $this->assertArrayHasKey('client_id', $code);
+ $this->assertArrayHasKey('user_id', $code);
+ $this->assertArrayHasKey('redirect_uri', $code);
+ $this->assertArrayHasKey('expires', $code);
+ $this->assertEquals($code['authorization_code'], 'newcode');
+ $this->assertEquals($code['client_id'], 'client ID');
+ $this->assertEquals($code['user_id'], 'SOMEUSERID');
+ $this->assertEquals($code['redirect_uri'], 'http://example.com');
+ $this->assertEquals($code['expires'], $expires);
+
+ // change existing code
+ $expires = time() + 42;
+ $success = $storage->setAuthorizationCode('newcode', 'client ID2', 'SOMEOTHERID', 'http://example.org', $expires);
+ $this->assertTrue($success);
+
+ $code = $storage->getAuthorizationCode('newcode');
+ $this->assertNotNull($code);
+ $this->assertArrayHasKey('authorization_code', $code);
+ $this->assertArrayHasKey('client_id', $code);
+ $this->assertArrayHasKey('user_id', $code);
+ $this->assertArrayHasKey('redirect_uri', $code);
+ $this->assertArrayHasKey('expires', $code);
+ $this->assertEquals($code['authorization_code'], 'newcode');
+ $this->assertEquals($code['client_id'], 'client ID2');
+ $this->assertEquals($code['user_id'], 'SOMEOTHERID');
+ $this->assertEquals($code['redirect_uri'], 'http://example.org');
+ $this->assertEquals($code['expires'], $expires);
+
+ // add new code with scope having an empty string value
+ $expires = time() + 20;
+ $success = $storage->setAuthorizationCode('newcode', 'client ID', 'SOMEUSERID', 'http://example.com', $expires, '');
+ $this->assertTrue($success);
+ }
+
+ /** @dataProvider provideStorage */
+ public function testExpireAccessToken(AccessTokenInterface $storage)
+ {
+ if ($storage instanceof NullStorage) {
+ $this->markTestSkipped('Skipped Storage: ' . $storage->getMessage());
+
+ return;
+ }
+
+ // create a valid code
+ $expires = time() + 20;
+ $success = $storage->setAuthorizationCode('code-to-expire', 'client ID', 'SOMEUSERID', 'http://example.com', time() + 20);
+ $this->assertTrue($success);
+
+ // verify the new code exists
+ $code = $storage->getAuthorizationCode('code-to-expire');
+ $this->assertNotNull($code);
+
+ $this->assertArrayHasKey('authorization_code', $code);
+ $this->assertEquals($code['authorization_code'], 'code-to-expire');
+
+ // now expire the code and ensure it's no longer available
+ $storage->expireAuthorizationCode('code-to-expire');
+ $code = $storage->getAuthorizationCode('code-to-expire');
+ $this->assertFalse($code);
+ }
+}
diff --git a/vendor/bshaffer/oauth2-server-php/test/OAuth2/Storage/ClientCredentialsTest.php b/vendor/bshaffer/oauth2-server-php/test/OAuth2/Storage/ClientCredentialsTest.php
new file mode 100644
index 000000000..15289af30
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/test/OAuth2/Storage/ClientCredentialsTest.php
@@ -0,0 +1,28 @@
+<?php
+
+namespace OAuth2\Storage;
+
+class ClientCredentialsTest extends BaseTest
+{
+ /** @dataProvider provideStorage */
+ public function testCheckClientCredentials(ClientCredentialsInterface $storage)
+ {
+ if ($storage instanceof NullStorage) {
+ $this->markTestSkipped('Skipped Storage: ' . $storage->getMessage());
+
+ return;
+ }
+
+ // nonexistant client_id
+ $pass = $storage->checkClientCredentials('fakeclient', 'testpass');
+ $this->assertFalse($pass);
+
+ // invalid password
+ $pass = $storage->checkClientCredentials('oauth_test_client', 'invalidcredentials');
+ $this->assertFalse($pass);
+
+ // valid credentials
+ $pass = $storage->checkClientCredentials('oauth_test_client', 'testpass');
+ $this->assertTrue($pass);
+ }
+}
diff --git a/vendor/bshaffer/oauth2-server-php/test/OAuth2/Storage/ClientTest.php b/vendor/bshaffer/oauth2-server-php/test/OAuth2/Storage/ClientTest.php
new file mode 100644
index 000000000..6a5cc0b49
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/test/OAuth2/Storage/ClientTest.php
@@ -0,0 +1,110 @@
+<?php
+
+namespace OAuth2\Storage;
+
+class ClientTest extends BaseTest
+{
+ /** @dataProvider provideStorage */
+ public function testGetClientDetails(ClientInterface $storage)
+ {
+ if ($storage instanceof NullStorage) {
+ $this->markTestSkipped('Skipped Storage: ' . $storage->getMessage());
+
+ return;
+ }
+
+ // nonexistant client_id
+ $details = $storage->getClientDetails('fakeclient');
+ $this->assertFalse($details);
+
+ // valid client_id
+ $details = $storage->getClientDetails('oauth_test_client');
+ $this->assertNotNull($details);
+ $this->assertArrayHasKey('client_id', $details);
+ $this->assertArrayHasKey('client_secret', $details);
+ $this->assertArrayHasKey('redirect_uri', $details);
+ }
+
+ /** @dataProvider provideStorage */
+ public function testCheckRestrictedGrantType(ClientInterface $storage)
+ {
+ if ($storage instanceof NullStorage) {
+ $this->markTestSkipped('Skipped Storage: ' . $storage->getMessage());
+
+ return;
+ }
+
+ // Check invalid
+ $pass = $storage->checkRestrictedGrantType('oauth_test_client', 'authorization_code');
+ $this->assertFalse($pass);
+
+ // Check valid
+ $pass = $storage->checkRestrictedGrantType('oauth_test_client', 'implicit');
+ $this->assertTrue($pass);
+ }
+
+ /** @dataProvider provideStorage */
+ public function testGetAccessToken(ClientInterface $storage)
+ {
+ if ($storage instanceof NullStorage) {
+ $this->markTestSkipped('Skipped Storage: ' . $storage->getMessage());
+
+ return;
+ }
+
+ // nonexistant client_id
+ $details = $storage->getAccessToken('faketoken');
+ $this->assertFalse($details);
+
+ // valid client_id
+ $details = $storage->getAccessToken('testtoken');
+ $this->assertNotNull($details);
+ }
+
+ /** @dataProvider provideStorage */
+ public function testIsPublicClient(ClientInterface $storage)
+ {
+ if ($storage instanceof NullStorage) {
+ $this->markTestSkipped('Skipped Storage: ' . $storage->getMessage());
+
+ return;
+ }
+
+ $publicClientId = 'public-client-'.rand();
+ $confidentialClientId = 'confidential-client-'.rand();
+
+ // create a new client
+ $success1 = $storage->setClientDetails($publicClientId, '');
+ $success2 = $storage->setClientDetails($confidentialClientId, 'some-secret');
+ $this->assertTrue($success1);
+ $this->assertTrue($success2);
+
+ // assert isPublicClient for both
+ $this->assertTrue($storage->isPublicClient($publicClientId));
+ $this->assertFalse($storage->isPublicClient($confidentialClientId));
+ }
+
+ /** @dataProvider provideStorage */
+ public function testSaveClient(ClientInterface $storage)
+ {
+ if ($storage instanceof NullStorage) {
+ $this->markTestSkipped('Skipped Storage: ' . $storage->getMessage());
+
+ return;
+ }
+
+ $clientId = 'some-client-'.rand();
+
+ // create a new client
+ $success = $storage->setClientDetails($clientId, 'somesecret', 'http://test.com', 'client_credentials', 'clientscope1', 'brent@brentertainment.com');
+ $this->assertTrue($success);
+
+ // valid client_id
+ $details = $storage->getClientDetails($clientId);
+ $this->assertEquals($details['client_secret'], 'somesecret');
+ $this->assertEquals($details['redirect_uri'], 'http://test.com');
+ $this->assertEquals($details['grant_types'], 'client_credentials');
+ $this->assertEquals($details['scope'], 'clientscope1');
+ $this->assertEquals($details['user_id'], 'brent@brentertainment.com');
+ }
+}
diff --git a/vendor/bshaffer/oauth2-server-php/test/OAuth2/Storage/DynamoDBTest.php b/vendor/bshaffer/oauth2-server-php/test/OAuth2/Storage/DynamoDBTest.php
new file mode 100644
index 000000000..2147f0914
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/test/OAuth2/Storage/DynamoDBTest.php
@@ -0,0 +1,40 @@
+<?php
+
+namespace OAuth2\Storage;
+
+class DynamoDBTest extends BaseTest
+{
+ public function testGetDefaultScope()
+ {
+ $client = $this->getMockBuilder('\Aws\DynamoDb\DynamoDbClient')
+ ->disableOriginalConstructor()
+ ->setMethods(array('query'))
+ ->getMock();
+
+ $return = $this->getMockBuilder('\Guzzle\Service\Resource\Model')
+ ->setMethods(array('count', 'toArray'))
+ ->getMock();
+
+ $data = array(
+ 'Items' => array(),
+ 'Count' => 0,
+ 'ScannedCount'=> 0
+ );
+
+ $return->expects($this->once())
+ ->method('count')
+ ->will($this->returnValue(count($data)));
+
+ $return->expects($this->once())
+ ->method('toArray')
+ ->will($this->returnValue($data));
+
+ // should return null default scope if none is set in database
+ $client->expects($this->once())
+ ->method('query')
+ ->will($this->returnValue($return));
+
+ $storage = new DynamoDB($client);
+ $this->assertNull($storage->getDefaultScope());
+ }
+}
diff --git a/vendor/bshaffer/oauth2-server-php/test/OAuth2/Storage/JwtAccessTokenTest.php b/vendor/bshaffer/oauth2-server-php/test/OAuth2/Storage/JwtAccessTokenTest.php
new file mode 100644
index 000000000..a6acbea1f
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/test/OAuth2/Storage/JwtAccessTokenTest.php
@@ -0,0 +1,41 @@
+<?php
+
+namespace OAuth2\Storage;
+
+use OAuth2\Encryption\Jwt;
+
+class JwtAccessTokenTest extends BaseTest
+{
+ /** @dataProvider provideStorage */
+ public function testSetAccessToken($storage)
+ {
+ if (!$storage instanceof PublicKey) {
+ // incompatible storage
+ return;
+ }
+
+ $crypto = new jwtAccessToken($storage);
+
+ $publicKeyStorage = Bootstrap::getInstance()->getMemoryStorage();
+ $encryptionUtil = new Jwt();
+
+ $jwtAccessToken = array(
+ 'access_token' => rand(),
+ 'expires' => time() + 100,
+ 'scope' => 'foo',
+ );
+
+ $token = $encryptionUtil->encode($jwtAccessToken, $storage->getPrivateKey(), $storage->getEncryptionAlgorithm());
+
+ $this->assertNotNull($token);
+
+ $tokenData = $crypto->getAccessToken($token);
+
+ $this->assertTrue(is_array($tokenData));
+
+ /* assert the decoded token is the same */
+ $this->assertEquals($tokenData['access_token'], $jwtAccessToken['access_token']);
+ $this->assertEquals($tokenData['expires'], $jwtAccessToken['expires']);
+ $this->assertEquals($tokenData['scope'], $jwtAccessToken['scope']);
+ }
+}
diff --git a/vendor/bshaffer/oauth2-server-php/test/OAuth2/Storage/JwtBearerTest.php b/vendor/bshaffer/oauth2-server-php/test/OAuth2/Storage/JwtBearerTest.php
new file mode 100644
index 000000000..d0ab9b899
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/test/OAuth2/Storage/JwtBearerTest.php
@@ -0,0 +1,25 @@
+<?php
+
+namespace OAuth2\Storage;
+
+class JwtBearerTest extends BaseTest
+{
+ /** @dataProvider provideStorage */
+ public function testGetClientKey(JwtBearerInterface $storage)
+ {
+ if ($storage instanceof NullStorage) {
+ $this->markTestSkipped('Skipped Storage: ' . $storage->getMessage());
+
+ return;
+ }
+
+ // nonexistant client_id
+ $key = $storage->getClientKey('this-is-not-real', 'nor-is-this');
+ $this->assertFalse($key);
+
+ // valid client_id and subject
+ $key = $storage->getClientKey('oauth_test_client', 'test_subject');
+ $this->assertNotNull($key);
+ $this->assertEquals($key, Bootstrap::getInstance()->getTestPublicKey());
+ }
+}
diff --git a/vendor/bshaffer/oauth2-server-php/test/OAuth2/Storage/PdoTest.php b/vendor/bshaffer/oauth2-server-php/test/OAuth2/Storage/PdoTest.php
new file mode 100644
index 000000000..57eb39072
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/test/OAuth2/Storage/PdoTest.php
@@ -0,0 +1,39 @@
+<?php
+
+namespace OAuth2\Storage;
+
+class PdoTest extends BaseTest
+{
+ public function testCreatePdoStorageUsingPdoClass()
+ {
+ $pdo = new \PDO(sprintf('sqlite://%s', Bootstrap::getInstance()->getSqliteDir()));
+ $storage = new Pdo($pdo);
+
+ $this->assertNotNull($storage->getClientDetails('oauth_test_client'));
+ }
+
+ public function testCreatePdoStorageUsingDSN()
+ {
+ $dsn = sprintf('sqlite://%s', Bootstrap::getInstance()->getSqliteDir());
+ $storage = new Pdo($dsn);
+
+ $this->assertNotNull($storage->getClientDetails('oauth_test_client'));
+ }
+
+ public function testCreatePdoStorageUsingConfig()
+ {
+ $config = array('dsn' => sprintf('sqlite://%s', Bootstrap::getInstance()->getSqliteDir()));
+ $storage = new Pdo($config);
+
+ $this->assertNotNull($storage->getClientDetails('oauth_test_client'));
+ }
+
+ /**
+ * @expectedException InvalidArgumentException dsn
+ */
+ public function testCreatePdoStorageWithoutDSNThrowsException()
+ {
+ $config = array('username' => 'brent', 'password' => 'brentisaballer');
+ $storage = new Pdo($config);
+ }
+}
diff --git a/vendor/bshaffer/oauth2-server-php/test/OAuth2/Storage/PublicKeyTest.php b/vendor/bshaffer/oauth2-server-php/test/OAuth2/Storage/PublicKeyTest.php
new file mode 100644
index 000000000..f85195870
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/test/OAuth2/Storage/PublicKeyTest.php
@@ -0,0 +1,29 @@
+<?php
+
+namespace OAuth2\Storage;
+
+class PublicKeyTest extends BaseTest
+{
+ /** @dataProvider provideStorage */
+ public function testSetAccessToken($storage)
+ {
+ if ($storage instanceof NullStorage) {
+ $this->markTestSkipped('Skipped Storage: ' . $storage->getMessage());
+
+ return;
+ }
+
+ if (!$storage instanceof PublicKeyInterface) {
+ // incompatible storage
+ return;
+ }
+
+ $configDir = Bootstrap::getInstance()->getConfigDir();
+ $globalPublicKey = file_get_contents($configDir.'/keys/id_rsa.pub');
+ $globalPrivateKey = file_get_contents($configDir.'/keys/id_rsa');
+
+ /* assert values from storage */
+ $this->assertEquals($storage->getPublicKey(), $globalPublicKey);
+ $this->assertEquals($storage->getPrivateKey(), $globalPrivateKey);
+ }
+}
diff --git a/vendor/bshaffer/oauth2-server-php/test/OAuth2/Storage/RefreshTokenTest.php b/vendor/bshaffer/oauth2-server-php/test/OAuth2/Storage/RefreshTokenTest.php
new file mode 100644
index 000000000..314c93195
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/test/OAuth2/Storage/RefreshTokenTest.php
@@ -0,0 +1,41 @@
+<?php
+
+namespace OAuth2\Storage;
+
+class RefreshTokenTest extends BaseTest
+{
+ /** @dataProvider provideStorage */
+ public function testSetRefreshToken(RefreshTokenInterface $storage)
+ {
+ if ($storage instanceof NullStorage) {
+ $this->markTestSkipped('Skipped Storage: ' . $storage->getMessage());
+
+ return;
+ }
+
+ // assert token we are about to add does not exist
+ $token = $storage->getRefreshToken('refreshtoken');
+ $this->assertFalse($token);
+
+ // add new token
+ $expires = time() + 20;
+ $success = $storage->setRefreshToken('refreshtoken', 'client ID', 'SOMEUSERID', $expires);
+ $this->assertTrue($success);
+
+ $token = $storage->getRefreshToken('refreshtoken');
+ $this->assertNotNull($token);
+ $this->assertArrayHasKey('refresh_token', $token);
+ $this->assertArrayHasKey('client_id', $token);
+ $this->assertArrayHasKey('user_id', $token);
+ $this->assertArrayHasKey('expires', $token);
+ $this->assertEquals($token['refresh_token'], 'refreshtoken');
+ $this->assertEquals($token['client_id'], 'client ID');
+ $this->assertEquals($token['user_id'], 'SOMEUSERID');
+ $this->assertEquals($token['expires'], $expires);
+
+ // add token with scope having an empty string value
+ $expires = time() + 20;
+ $success = $storage->setRefreshToken('refreshtoken2', 'client ID', 'SOMEUSERID', $expires, '');
+ $this->assertTrue($success);
+ }
+}
diff --git a/vendor/bshaffer/oauth2-server-php/test/OAuth2/Storage/ScopeTest.php b/vendor/bshaffer/oauth2-server-php/test/OAuth2/Storage/ScopeTest.php
new file mode 100644
index 000000000..fd1edeb93
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/test/OAuth2/Storage/ScopeTest.php
@@ -0,0 +1,53 @@
+<?php
+
+namespace OAuth2\Storage;
+
+use OAuth2\Scope;
+
+class ScopeTest extends BaseTest
+{
+ /** @dataProvider provideStorage */
+ public function testScopeExists($storage)
+ {
+ if ($storage instanceof NullStorage) {
+ $this->markTestSkipped('Skipped Storage: ' . $storage->getMessage());
+
+ return;
+ }
+
+ if (!$storage instanceof ScopeInterface) {
+ // incompatible storage
+ return;
+ }
+
+ //Test getting scopes
+ $scopeUtil = new Scope($storage);
+ $this->assertTrue($scopeUtil->scopeExists('supportedscope1'));
+ $this->assertTrue($scopeUtil->scopeExists('supportedscope1 supportedscope2 supportedscope3'));
+ $this->assertFalse($scopeUtil->scopeExists('fakescope'));
+ $this->assertFalse($scopeUtil->scopeExists('supportedscope1 supportedscope2 supportedscope3 fakescope'));
+ }
+
+ /** @dataProvider provideStorage */
+ public function testGetDefaultScope($storage)
+ {
+ if ($storage instanceof NullStorage) {
+ $this->markTestSkipped('Skipped Storage: ' . $storage->getMessage());
+
+ return;
+ }
+
+ if (!$storage instanceof ScopeInterface) {
+ // incompatible storage
+ return;
+ }
+
+ // test getting default scope
+ $scopeUtil = new Scope($storage);
+ $expected = explode(' ', $scopeUtil->getDefaultScope());
+ $actual = explode(' ', 'defaultscope1 defaultscope2');
+ sort($expected);
+ sort($actual);
+ $this->assertEquals($expected, $actual);
+ }
+}
diff --git a/vendor/bshaffer/oauth2-server-php/test/OAuth2/Storage/UserCredentialsTest.php b/vendor/bshaffer/oauth2-server-php/test/OAuth2/Storage/UserCredentialsTest.php
new file mode 100644
index 000000000..65655a6b2
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/test/OAuth2/Storage/UserCredentialsTest.php
@@ -0,0 +1,40 @@
+<?php
+
+namespace OAuth2\Storage;
+
+class UserCredentialsTest extends BaseTest
+{
+ /** @dataProvider provideStorage */
+ public function testCheckUserCredentials(UserCredentialsInterface $storage)
+ {
+ if ($storage instanceof NullStorage) {
+ $this->markTestSkipped('Skipped Storage: ' . $storage->getMessage());
+
+ return;
+ }
+
+ // create a new user for testing
+ $success = $storage->setUser('testusername', 'testpass', 'Test', 'User');
+ $this->assertTrue($success);
+
+ // correct credentials
+ $this->assertTrue($storage->checkUserCredentials('testusername', 'testpass'));
+ // invalid password
+ $this->assertFalse($storage->checkUserCredentials('testusername', 'fakepass'));
+ // invalid username
+ $this->assertFalse($storage->checkUserCredentials('fakeusername', 'testpass'));
+
+ // invalid username
+ $this->assertFalse($storage->getUserDetails('fakeusername'));
+
+ // ensure all properties are set
+ $user = $storage->getUserDetails('testusername');
+ $this->assertTrue($user !== false);
+ $this->assertArrayHasKey('user_id', $user);
+ $this->assertArrayHasKey('first_name', $user);
+ $this->assertArrayHasKey('last_name', $user);
+ $this->assertEquals($user['user_id'], 'testusername');
+ $this->assertEquals($user['first_name'], 'Test');
+ $this->assertEquals($user['last_name'], 'User');
+ }
+}
diff --git a/vendor/bshaffer/oauth2-server-php/test/OAuth2/TokenType/BearerTest.php b/vendor/bshaffer/oauth2-server-php/test/OAuth2/TokenType/BearerTest.php
new file mode 100644
index 000000000..a2e000e22
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/test/OAuth2/TokenType/BearerTest.php
@@ -0,0 +1,58 @@
+<?php
+
+namespace OAuth2\TokenType;
+
+use OAuth2\Request\TestRequest;
+use OAuth2\Response;
+
+class BearerTest extends \PHPUnit_Framework_TestCase
+{
+ public function testValidContentTypeWithCharset()
+ {
+ $bearer = new Bearer();
+ $request = TestRequest::createPost(array(
+ 'access_token' => 'ThisIsMyAccessToken'
+ ));
+ $request->server['CONTENT_TYPE'] = 'application/x-www-form-urlencoded; charset=UTF-8';
+
+ $param = $bearer->getAccessTokenParameter($request, $response = new Response());
+ $this->assertEquals($param, 'ThisIsMyAccessToken');
+ }
+
+ public function testInvalidContentType()
+ {
+ $bearer = new Bearer();
+ $request = TestRequest::createPost(array(
+ 'access_token' => 'ThisIsMyAccessToken'
+ ));
+ $request->server['CONTENT_TYPE'] = 'application/json; charset=UTF-8';
+
+ $param = $bearer->getAccessTokenParameter($request, $response = new Response());
+ $this->assertNull($param);
+ $this->assertEquals($response->getStatusCode(), 400);
+ $this->assertEquals($response->getParameter('error'), 'invalid_request');
+ $this->assertEquals($response->getParameter('error_description'), 'The content type for POST requests must be "application/x-www-form-urlencoded"');
+ }
+
+ public function testValidRequestUsingAuthorizationHeader()
+ {
+ $bearer = new Bearer();
+ $request = new TestRequest();
+ $request->headers['AUTHORIZATION'] = 'Bearer MyToken';
+ $request->server['CONTENT_TYPE'] = 'application/x-www-form-urlencoded; charset=UTF-8';
+
+ $param = $bearer->getAccessTokenParameter($request, $response = new Response());
+ $this->assertEquals('MyToken', $param);
+ }
+
+ public function testValidRequestUsingAuthorizationHeaderCaseInsensitive()
+ {
+ $bearer = new Bearer();
+ $request = new TestRequest();
+ $request->server['CONTENT_TYPE'] = 'application/x-www-form-urlencoded; charset=UTF-8';
+ $request->headers['Authorization'] = 'Bearer MyToken';
+
+ $param = $bearer->getAccessTokenParameter($request, $response = new Response());
+ $this->assertEquals('MyToken', $param);
+ }
+}
diff --git a/vendor/bshaffer/oauth2-server-php/test/bootstrap.php b/vendor/bshaffer/oauth2-server-php/test/bootstrap.php
new file mode 100644
index 000000000..0a4af0716
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/test/bootstrap.php
@@ -0,0 +1,12 @@
+<?php
+
+require_once(dirname(__FILE__).'/../src/OAuth2/Autoloader.php');
+OAuth2\Autoloader::register();
+
+// register test classes
+OAuth2\Autoloader::register(dirname(__FILE__).'/lib');
+
+// register vendors if possible
+if (file_exists(__DIR__.'/../vendor/autoload.php')) {
+ require_once(__DIR__.'/../vendor/autoload.php');
+}
diff --git a/vendor/bshaffer/oauth2-server-php/test/cleanup.php b/vendor/bshaffer/oauth2-server-php/test/cleanup.php
new file mode 100644
index 000000000..8663a901b
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/test/cleanup.php
@@ -0,0 +1,15 @@
+<?php
+
+require_once(dirname(__FILE__).'/../src/OAuth2/Autoloader.php');
+OAuth2\Autoloader::register();
+
+// register test classes
+OAuth2\Autoloader::register(dirname(__FILE__).'/lib');
+
+// register vendors if possible
+if (file_exists(__DIR__.'/../vendor/autoload.php')) {
+ require_once(__DIR__.'/../vendor/autoload.php');
+}
+
+// remove the dynamoDB database that was created for this build
+OAuth2\Storage\Bootstrap::getInstance()->cleanupTravisDynamoDb();
diff --git a/vendor/bshaffer/oauth2-server-php/test/config/keys/id_rsa b/vendor/bshaffer/oauth2-server-php/test/config/keys/id_rsa
new file mode 100644
index 000000000..e8b9eff2d
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/test/config/keys/id_rsa
@@ -0,0 +1,15 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIICXQIBAAKBgQC8fpi06NfVYHAOAnxNMVnTXr/ptsLsNjP+uAt2eO0cc5J9H5XV
+8lFVujOrRu/JWi1TDmAvOaf/6A3BphIA1Pwp0AAqlZdwizIum8j0KzpsGYH5qReN
+QDwF3oUSKMsQCCGCDHrDYifG/pRi9bN1ZVjEXPr35HJuBe+FQpZTs8DewwIDAQAB
+AoGARfNxNknmtx/n1bskZ/01iZRzAge6BLEE0LV6Q4gS7mkRZu/Oyiv39Sl5vUlA
++WdGxLjkBwKNjxGN8Vxw9/ASd8rSsqeAUYIwAeifXrHhj5DBPQT/pDPkeFnp9B1w
+C6jo+3AbBQ4/b0ONSIEnCL2xGGglSIAxO17T1ViXp7lzXPECQQDe63nkRdWM0OCb
+oaHQPT3E26224maIstrGFUdt9yw3yJf4bOF7TtiPLlLuHsTTge3z+fG6ntC0xG56
+1cl37C3ZAkEA2HdVcRGugNp/qmVz4LJTpD+WZKi73PLAO47wDOrYh9Pn2I6fcEH0
+CPnggt1ko4ujvGzFTvRH64HXa6aPCv1j+wJBAMQMah3VQPNf/DlDVFEUmw9XeBZg
+VHaifX851aEjgXLp6qVj9IYCmLiLsAmVa9rr6P7p8asD418nZlaHUHE0eDkCQQCr
+uxis6GMx1Ka971jcJX2X696LoxXPd0KsvXySMupv79yagKPa8mgBiwPjrnK+EPVo
+cj6iochA/bSCshP/mwFrAkBHEKPi6V6gb94JinCT7x3weahbdp6bJ6/nzBH/p9VA
+HoT1JtwNFhGv9BCjmDydshQHfSWpY9NxlccBKL7ITm8R
+-----END RSA PRIVATE KEY----- \ No newline at end of file
diff --git a/vendor/bshaffer/oauth2-server-php/test/config/keys/id_rsa.pub b/vendor/bshaffer/oauth2-server-php/test/config/keys/id_rsa.pub
new file mode 100644
index 000000000..1ac15f5eb
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/test/config/keys/id_rsa.pub
@@ -0,0 +1,16 @@
+-----BEGIN CERTIFICATE-----
+MIICiDCCAfGgAwIBAgIBADANBgkqhkiG9w0BAQQFADA9MQswCQYDVQQGEwJVUzEL
+MAkGA1UECBMCVVQxITAfBgNVBAoTGFZpZ25ldHRlIENvcnBvcmF0aW9uIFNCWDAe
+Fw0xMTEwMTUwMzE4MjdaFw0zMTEwMTAwMzE4MjdaMD0xCzAJBgNVBAYTAlVTMQsw
+CQYDVQQIEwJVVDEhMB8GA1UEChMYVmlnbmV0dGUgQ29ycG9yYXRpb24gU0JYMIGf
+MA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC8fpi06NfVYHAOAnxNMVnTXr/ptsLs
+NjP+uAt2eO0cc5J9H5XV8lFVujOrRu/JWi1TDmAvOaf/6A3BphIA1Pwp0AAqlZdw
+izIum8j0KzpsGYH5qReNQDwF3oUSKMsQCCGCDHrDYifG/pRi9bN1ZVjEXPr35HJu
+Be+FQpZTs8DewwIDAQABo4GXMIGUMB0GA1UdDgQWBBRe8hrEXm+Yim4YlD5Nx+1K
+vCYs9DBlBgNVHSMEXjBcgBRe8hrEXm+Yim4YlD5Nx+1KvCYs9KFBpD8wPTELMAkG
+A1UEBhMCVVMxCzAJBgNVBAgTAlVUMSEwHwYDVQQKExhWaWduZXR0ZSBDb3Jwb3Jh
+dGlvbiBTQliCAQAwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQQFAAOBgQBjhyRD
+lM7vnLn6drgQVftW5V9nDFAyPAuiGvMIKFSbiAf1PxXCRn5sfJquwWKsJUi4ZGNl
+aViXdFmN6/F13PSM+yg63tpKy0fYqMbTM+Oe5WuSHkSW1VuYNHV+24adgNk/FRDL
+FRrlM1f6s9VTLWvwGItjfrof0Ba8Uq7ZDSb9Xg==
+-----END CERTIFICATE----- \ No newline at end of file
diff --git a/vendor/bshaffer/oauth2-server-php/test/config/storage.json b/vendor/bshaffer/oauth2-server-php/test/config/storage.json
new file mode 100644
index 000000000..52d3f2399
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/test/config/storage.json
@@ -0,0 +1,188 @@
+{
+ "authorization_codes": {
+ "testcode": {
+ "client_id": "Test Client ID",
+ "user_id": "",
+ "redirect_uri": "",
+ "expires": "9999999999",
+ "id_token": "IDTOKEN"
+ },
+ "testcode-with-scope": {
+ "client_id": "Test Client ID",
+ "user_id": "",
+ "redirect_uri": "",
+ "expires": "9999999999",
+ "scope": "scope1 scope2"
+ },
+ "testcode-expired": {
+ "client_id": "Test Client ID",
+ "user_id": "",
+ "redirect_uri": "",
+ "expires": "1356998400"
+ },
+ "testcode-empty-secret": {
+ "client_id": "Test Client ID Empty Secret",
+ "user_id": "",
+ "redirect_uri": "",
+ "expires": "9999999999"
+ },
+ "testcode-openid": {
+ "client_id": "Test Client ID",
+ "user_id": "",
+ "redirect_uri": "",
+ "expires": "9999999999",
+ "id_token": "test_id_token"
+ },
+ "testcode-redirect-uri": {
+ "client_id": "Test Client ID",
+ "user_id": "",
+ "redirect_uri": "http://brentertainment.com/voil%C3%A0",
+ "expires": "9999999999",
+ "id_token": "IDTOKEN"
+ }
+ },
+ "client_credentials" : {
+ "Test Client ID": {
+ "client_secret": "TestSecret"
+ },
+ "Test Client ID with Redirect Uri": {
+ "client_secret": "TestSecret2",
+ "redirect_uri": "http://brentertainment.com"
+ },
+ "Test Client ID with Buggy Redirect Uri": {
+ "client_secret": "TestSecret2",
+ "redirect_uri": " http://brentertainment.com"
+ },
+ "Test Client ID with Multiple Redirect Uris": {
+ "client_secret": "TestSecret3",
+ "redirect_uri": "http://brentertainment.com http://morehazards.com"
+ },
+ "Test Client ID with Redirect Uri Parts": {
+ "client_secret": "TestSecret4",
+ "redirect_uri": "http://user:pass@brentertainment.com:2222/authorize/cb?auth_type=oauth&test=true"
+ },
+ "Test Some Other Client": {
+ "client_secret": "TestSecret3"
+ },
+ "Test Client ID Empty Secret": {
+ "client_secret": ""
+ },
+ "Test Client ID For Password Grant": {
+ "grant_types": "password",
+ "client_secret": ""
+ },
+ "Client ID With User ID": {
+ "client_secret": "TestSecret",
+ "user_id": "brent@brentertainment.com"
+ },
+ "oauth_test_client": {
+ "client_secret": "testpass",
+ "grant_types": "implicit password"
+ }
+ },
+ "user_credentials" : {
+ "test-username": {
+ "password": "testpass"
+ },
+ "testusername": {
+ "password": "testpass"
+ },
+ "testuser": {
+ "password": "password",
+ "email": "testuser@test.com",
+ "email_verified": true
+ },
+ "johndoe": {
+ "password": "password"
+ }
+ },
+ "refresh_tokens" : {
+ "test-refreshtoken": {
+ "refresh_token": "test-refreshtoken",
+ "client_id": "Test Client ID",
+ "user_id": "test-username",
+ "expires": 0,
+ "scope": null
+ },
+ "test-refreshtoken-with-scope": {
+ "refresh_token": "test-refreshtoken",
+ "client_id": "Test Client ID",
+ "user_id": "test-username",
+ "expires": 0,
+ "scope": "scope1 scope2"
+ }
+ },
+ "access_tokens" : {
+ "accesstoken-expired": {
+ "access_token": "accesstoken-expired",
+ "client_id": "Test Client ID",
+ "expires": 1234567,
+ "scope": null
+ },
+ "accesstoken-scope": {
+ "access_token": "accesstoken-scope",
+ "client_id": "Test Client ID",
+ "expires": 99999999900,
+ "scope": "testscope"
+ },
+ "accesstoken-openid-connect": {
+ "access_token": "accesstoken-openid-connect",
+ "client_id": "Test Client ID",
+ "user_id": "testuser",
+ "expires": 99999999900,
+ "scope": "openid email"
+ },
+ "accesstoken-malformed": {
+ "access_token": "accesstoken-mallformed",
+ "expires": 99999999900,
+ "scope": "testscope"
+ }
+ },
+ "jwt": {
+ "Test Client ID": {
+ "key": "-----BEGIN PUBLIC KEY-----\nMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC5/SxVlE8gnpFqCxgl2wjhzY7u\ncEi00s0kUg3xp7lVEvgLgYcAnHiWp+gtSjOFfH2zsvpiWm6Lz5f743j/FEzHIO1o\nwR0p4d9pOaJK07d01+RzoQLOIQAgXrr4T1CCWUesncwwPBVCyy2Mw3Nmhmr9MrF8\nUlvdRKBxriRnlP3qJQIDAQAB\n-----END PUBLIC KEY-----",
+ "subject": "testuser@ourdomain.com"
+ },
+ "Test Client ID PHP-5.2": {
+ "key": "mysecretkey",
+ "subject": "testuser@ourdomain.com"
+ },
+ "Missing Key Client": {
+ "key": null,
+ "subject": "testuser@ourdomain.com"
+ },
+ "Missing Key Client PHP-5.2": {
+ "key": null,
+ "subject": "testuser@ourdomain.com"
+ },
+ "oauth_test_client": {
+ "key": "-----BEGIN CERTIFICATE-----\nMIICiDCCAfGgAwIBAgIBADANBgkqhkiG9w0BAQQFADA9MQswCQYDVQQGEwJVUzEL\nMAkGA1UECBMCVVQxITAfBgNVBAoTGFZpZ25ldHRlIENvcnBvcmF0aW9uIFNCWDAe\nFw0xMTEwMTUwMzE4MjdaFw0zMTEwMTAwMzE4MjdaMD0xCzAJBgNVBAYTAlVTMQsw\nCQYDVQQIEwJVVDEhMB8GA1UEChMYVmlnbmV0dGUgQ29ycG9yYXRpb24gU0JYMIGf\nMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC8fpi06NfVYHAOAnxNMVnTXr/ptsLs\nNjP+uAt2eO0cc5J9H5XV8lFVujOrRu/JWi1TDmAvOaf/6A3BphIA1Pwp0AAqlZdw\nizIum8j0KzpsGYH5qReNQDwF3oUSKMsQCCGCDHrDYifG/pRi9bN1ZVjEXPr35HJu\nBe+FQpZTs8DewwIDAQABo4GXMIGUMB0GA1UdDgQWBBRe8hrEXm+Yim4YlD5Nx+1K\nvCYs9DBlBgNVHSMEXjBcgBRe8hrEXm+Yim4YlD5Nx+1KvCYs9KFBpD8wPTELMAkG\nA1UEBhMCVVMxCzAJBgNVBAgTAlVUMSEwHwYDVQQKExhWaWduZXR0ZSBDb3Jwb3Jh\ndGlvbiBTQliCAQAwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQQFAAOBgQBjhyRD\nlM7vnLn6drgQVftW5V9nDFAyPAuiGvMIKFSbiAf1PxXCRn5sfJquwWKsJUi4ZGNl\naViXdFmN6/F13PSM+yg63tpKy0fYqMbTM+Oe5WuSHkSW1VuYNHV+24adgNk/FRDL\nFRrlM1f6s9VTLWvwGItjfrof0Ba8Uq7ZDSb9Xg==\n-----END CERTIFICATE-----",
+ "subject": "test_subject"
+ }
+ },
+ "jti": [
+ {
+ "issuer": "Test Client ID",
+ "subject": "testuser@ourdomain.com",
+ "audience": "http://myapp.com/oauth/auth",
+ "expires": 99999999900,
+ "jti": "used_jti"
+ }
+ ],
+ "supported_scopes" : [
+ "scope1",
+ "scope2",
+ "scope3",
+ "clientscope1",
+ "clientscope2",
+ "clientscope3",
+ "supportedscope1",
+ "supportedscope2",
+ "supportedscope3",
+ "supportedscope4"
+ ],
+ "keys": {
+ "public_key": "-----BEGIN CERTIFICATE-----\nMIICiDCCAfGgAwIBAgIBADANBgkqhkiG9w0BAQQFADA9MQswCQYDVQQGEwJVUzEL\nMAkGA1UECBMCVVQxITAfBgNVBAoTGFZpZ25ldHRlIENvcnBvcmF0aW9uIFNCWDAe\nFw0xMTEwMTUwMzE4MjdaFw0zMTEwMTAwMzE4MjdaMD0xCzAJBgNVBAYTAlVTMQsw\nCQYDVQQIEwJVVDEhMB8GA1UEChMYVmlnbmV0dGUgQ29ycG9yYXRpb24gU0JYMIGf\nMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC8fpi06NfVYHAOAnxNMVnTXr/ptsLs\nNjP+uAt2eO0cc5J9H5XV8lFVujOrRu/JWi1TDmAvOaf/6A3BphIA1Pwp0AAqlZdw\nizIum8j0KzpsGYH5qReNQDwF3oUSKMsQCCGCDHrDYifG/pRi9bN1ZVjEXPr35HJu\nBe+FQpZTs8DewwIDAQABo4GXMIGUMB0GA1UdDgQWBBRe8hrEXm+Yim4YlD5Nx+1K\nvCYs9DBlBgNVHSMEXjBcgBRe8hrEXm+Yim4YlD5Nx+1KvCYs9KFBpD8wPTELMAkG\nA1UEBhMCVVMxCzAJBgNVBAgTAlVUMSEwHwYDVQQKExhWaWduZXR0ZSBDb3Jwb3Jh\ndGlvbiBTQliCAQAwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQQFAAOBgQBjhyRD\nlM7vnLn6drgQVftW5V9nDFAyPAuiGvMIKFSbiAf1PxXCRn5sfJquwWKsJUi4ZGNl\naViXdFmN6/F13PSM+yg63tpKy0fYqMbTM+Oe5WuSHkSW1VuYNHV+24adgNk/FRDL\nFRrlM1f6s9VTLWvwGItjfrof0Ba8Uq7ZDSb9Xg==\n-----END CERTIFICATE-----",
+ "private_key": "-----BEGIN RSA PRIVATE KEY-----\nMIICXQIBAAKBgQC8fpi06NfVYHAOAnxNMVnTXr/ptsLsNjP+uAt2eO0cc5J9H5XV\n8lFVujOrRu/JWi1TDmAvOaf/6A3BphIA1Pwp0AAqlZdwizIum8j0KzpsGYH5qReN\nQDwF3oUSKMsQCCGCDHrDYifG/pRi9bN1ZVjEXPr35HJuBe+FQpZTs8DewwIDAQAB\nAoGARfNxNknmtx/n1bskZ/01iZRzAge6BLEE0LV6Q4gS7mkRZu/Oyiv39Sl5vUlA\n+WdGxLjkBwKNjxGN8Vxw9/ASd8rSsqeAUYIwAeifXrHhj5DBPQT/pDPkeFnp9B1w\nC6jo+3AbBQ4/b0ONSIEnCL2xGGglSIAxO17T1ViXp7lzXPECQQDe63nkRdWM0OCb\noaHQPT3E26224maIstrGFUdt9yw3yJf4bOF7TtiPLlLuHsTTge3z+fG6ntC0xG56\n1cl37C3ZAkEA2HdVcRGugNp/qmVz4LJTpD+WZKi73PLAO47wDOrYh9Pn2I6fcEH0\nCPnggt1ko4ujvGzFTvRH64HXa6aPCv1j+wJBAMQMah3VQPNf/DlDVFEUmw9XeBZg\nVHaifX851aEjgXLp6qVj9IYCmLiLsAmVa9rr6P7p8asD418nZlaHUHE0eDkCQQCr\nuxis6GMx1Ka971jcJX2X696LoxXPd0KsvXySMupv79yagKPa8mgBiwPjrnK+EPVo\ncj6iochA/bSCshP/mwFrAkBHEKPi6V6gb94JinCT7x3weahbdp6bJ6/nzBH/p9VA\nHoT1JtwNFhGv9BCjmDydshQHfSWpY9NxlccBKL7ITm8R\n-----END RSA PRIVATE KEY-----"
+ }
+}
diff --git a/vendor/bshaffer/oauth2-server-php/test/lib/OAuth2/Request/TestRequest.php b/vendor/bshaffer/oauth2-server-php/test/lib/OAuth2/Request/TestRequest.php
new file mode 100644
index 000000000..7bbce28a4
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/test/lib/OAuth2/Request/TestRequest.php
@@ -0,0 +1,61 @@
+<?php
+
+namespace OAuth2\Request;
+
+use OAuth2\Request;
+use OAuth2\RequestInterface;
+
+/**
+*
+*/
+class TestRequest extends Request implements RequestInterface
+{
+ public $query, $request, $server, $headers;
+
+ public function __construct()
+ {
+ $this->query = $_GET;
+ $this->request = $_POST;
+ $this->server = $_SERVER;
+ $this->headers = array();
+ }
+
+ public function query($name, $default = null)
+ {
+ return isset($this->query[$name]) ? $this->query[$name] : $default;
+ }
+
+ public function request($name, $default = null)
+ {
+ return isset($this->request[$name]) ? $this->request[$name] : $default;
+ }
+
+ public function server($name, $default = null)
+ {
+ return isset($this->server[$name]) ? $this->server[$name] : $default;
+ }
+
+ public function getAllQueryParameters()
+ {
+ return $this->query;
+ }
+
+ public function setQuery(array $query)
+ {
+ $this->query = $query;
+ }
+
+ public function setPost(array $params)
+ {
+ $this->server['REQUEST_METHOD'] = 'POST';
+ $this->request = $params;
+ }
+
+ public static function createPost(array $params = array())
+ {
+ $request = new self();
+ $request->setPost($params);
+
+ return $request;
+ }
+}
diff --git a/vendor/bshaffer/oauth2-server-php/test/lib/OAuth2/Storage/BaseTest.php b/vendor/bshaffer/oauth2-server-php/test/lib/OAuth2/Storage/BaseTest.php
new file mode 100755
index 000000000..f0b1274a2
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/test/lib/OAuth2/Storage/BaseTest.php
@@ -0,0 +1,36 @@
+<?php
+
+namespace OAuth2\Storage;
+
+abstract class BaseTest extends \PHPUnit_Framework_TestCase
+{
+ public function provideStorage()
+ {
+ $memory = Bootstrap::getInstance()->getMemoryStorage();
+ $sqlite = Bootstrap::getInstance()->getSqlitePdo();
+ $mysql = Bootstrap::getInstance()->getMysqlPdo();
+ $postgres = Bootstrap::getInstance()->getPostgresPdo();
+ $mongo = Bootstrap::getInstance()->getMongo();
+ $mongoDb = Bootstrap::getInstance()->getMongoDB();
+ $redis = Bootstrap::getInstance()->getRedisStorage();
+ $cassandra = Bootstrap::getInstance()->getCassandraStorage();
+ $dynamodb = Bootstrap::getInstance()->getDynamoDbStorage();
+ $couchbase = Bootstrap::getInstance()->getCouchbase();
+
+ /* hack until we can fix "default_scope" dependencies in other tests */
+ $memory->defaultScope = 'defaultscope1 defaultscope2';
+
+ return array(
+ array($memory),
+ array($sqlite),
+ array($mysql),
+ array($postgres),
+ array($mongo),
+ array($mongoDb),
+ array($redis),
+ array($cassandra),
+ array($dynamodb),
+ array($couchbase),
+ );
+ }
+}
diff --git a/vendor/bshaffer/oauth2-server-php/test/lib/OAuth2/Storage/Bootstrap.php b/vendor/bshaffer/oauth2-server-php/test/lib/OAuth2/Storage/Bootstrap.php
new file mode 100755
index 000000000..3d7bdd4e9
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/test/lib/OAuth2/Storage/Bootstrap.php
@@ -0,0 +1,967 @@
+<?php
+
+namespace OAuth2\Storage;
+
+class Bootstrap
+{
+ const DYNAMODB_PHP_VERSION = 'none';
+
+ protected static $instance;
+ private $mysql;
+ private $sqlite;
+ private $postgres;
+ private $mongo;
+ private $mongoDb;
+ private $redis;
+ private $cassandra;
+ private $configDir;
+ private $dynamodb;
+ private $couchbase;
+
+ public function __construct()
+ {
+ $this->configDir = __DIR__.'/../../../config';
+ }
+
+ public static function getInstance()
+ {
+ if (!self::$instance) {
+ self::$instance = new self();
+ }
+
+ return self::$instance;
+ }
+
+ public function getSqlitePdo()
+ {
+ if (!$this->sqlite) {
+ $this->removeSqliteDb();
+ $pdo = new \PDO(sprintf('sqlite://%s', $this->getSqliteDir()));
+ $pdo->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION);
+ $this->createSqliteDb($pdo);
+
+ $this->sqlite = new Pdo($pdo);
+ }
+
+ return $this->sqlite;
+ }
+
+ public function getPostgresPdo()
+ {
+ if (!$this->postgres) {
+ if (in_array('pgsql', \PDO::getAvailableDrivers())) {
+ $this->removePostgresDb();
+ $this->createPostgresDb();
+ if ($pdo = $this->getPostgresDriver()) {
+ $pdo->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION);
+ $this->populatePostgresDb($pdo);
+ $this->postgres = new Pdo($pdo);
+ }
+ } else {
+ $this->postgres = new NullStorage('Postgres', 'Missing postgres PDO extension.');
+ }
+ }
+
+ return $this->postgres;
+ }
+
+ public function getPostgresDriver()
+ {
+ try {
+ $pdo = new \PDO('pgsql:host=localhost;dbname=oauth2_server_php', 'postgres');
+
+ return $pdo;
+ } catch (\PDOException $e) {
+ $this->postgres = new NullStorage('Postgres', $e->getMessage());
+ }
+ }
+
+ public function getMemoryStorage()
+ {
+ return new Memory(json_decode(file_get_contents($this->configDir. '/storage.json'), true));
+ }
+
+ public function getRedisStorage()
+ {
+ if (!$this->redis) {
+ if (class_exists('Predis\Client')) {
+ $redis = new \Predis\Client();
+ if ($this->testRedisConnection($redis)) {
+ $redis->flushdb();
+ $this->redis = new Redis($redis);
+ $this->createRedisDb($this->redis);
+ } else {
+ $this->redis = new NullStorage('Redis', 'Unable to connect to redis server on port 6379');
+ }
+ } else {
+ $this->redis = new NullStorage('Redis', 'Missing redis library. Please run "composer.phar require predis/predis:dev-master"');
+ }
+ }
+
+ return $this->redis;
+ }
+
+ private function testRedisConnection(\Predis\Client $redis)
+ {
+ try {
+ $redis->connect();
+ } catch (\Predis\CommunicationException $exception) {
+ // we were unable to connect to the redis server
+ return false;
+ }
+
+ return true;
+ }
+
+ public function getMysqlPdo()
+ {
+ if (!$this->mysql) {
+ $pdo = null;
+ try {
+ $pdo = new \PDO('mysql:host=localhost;', 'root');
+ } catch (\PDOException $e) {
+ $this->mysql = new NullStorage('MySQL', 'Unable to connect to MySQL on root@localhost');
+ }
+
+ if ($pdo) {
+ $pdo->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION);
+ $this->removeMysqlDb($pdo);
+ $this->createMysqlDb($pdo);
+
+ $this->mysql = new Pdo($pdo);
+ }
+ }
+
+ return $this->mysql;
+ }
+
+ public function getMongo()
+ {
+ if (!$this->mongo) {
+ if (class_exists('MongoClient')) {
+ $mongo = new \MongoClient('mongodb://localhost:27017', array('connect' => false));
+ if ($this->testMongoConnection($mongo)) {
+ $db = $mongo->oauth2_server_php_legacy;
+ $this->removeMongo($db);
+ $this->createMongo($db);
+
+ $this->mongo = new Mongo($db);
+ } else {
+ $this->mongo = new NullStorage('Mongo', 'Unable to connect to mongo server on "localhost:27017"');
+ }
+ } else {
+ $this->mongo = new NullStorage('Mongo', 'Missing mongo php extension. Please install mongo.so');
+ }
+ }
+
+ return $this->mongo;
+ }
+
+ public function getMongoDb()
+ {
+ if (!$this->mongoDb) {
+ if (class_exists('MongoDB\Client')) {
+ $mongoDb = new \MongoDB\Client('mongodb://localhost:27017');
+ if ($this->testMongoDBConnection($mongoDb)) {
+ $db = $mongoDb->oauth2_server_php;
+ $this->removeMongoDb($db);
+ $this->createMongoDb($db);
+
+ $this->mongoDb = new MongoDB($db);
+ } else {
+ $this->mongoDb = new NullStorage('MongoDB', 'Unable to connect to mongo server on "localhost:27017"');
+ }
+ } else {
+ $this->mongoDb = new NullStorage('MongoDB', 'Missing MongoDB php extension. Please install mongodb.so');
+ }
+ }
+
+ return $this->mongoDb;
+ }
+
+ private function testMongoConnection(\MongoClient $mongo)
+ {
+ try {
+ $mongo->connect();
+ } catch (\MongoConnectionException $e) {
+ return false;
+ }
+
+ return true;
+ }
+
+ private function testMongoDBConnection(\MongoDB\Client $mongo)
+ {
+ return true;
+ }
+
+ public function getCouchbase()
+ {
+ if (!$this->couchbase) {
+ if ($this->getEnvVar('SKIP_COUCHBASE_TESTS')) {
+ $this->couchbase = new NullStorage('Couchbase', 'Skipping Couchbase tests');
+ } elseif (!class_exists('Couchbase')) {
+ $this->couchbase = new NullStorage('Couchbase', 'Missing Couchbase php extension. Please install couchbase.so');
+ } else {
+ // round-about way to make sure couchbase is working
+ // this is required because it throws a "floating point exception" otherwise
+ $code = "new \Couchbase(array('localhost:8091'), '', '', 'auth', false);";
+ $exec = sprintf('php -r "%s"', $code);
+ $ret = exec($exec, $test, $var);
+ if ($ret != 0) {
+ $couchbase = new \Couchbase(array('localhost:8091'), '', '', 'auth', false);
+ if ($this->testCouchbaseConnection($couchbase)) {
+ $this->clearCouchbase($couchbase);
+ $this->createCouchbaseDB($couchbase);
+
+ $this->couchbase = new CouchbaseDB($couchbase);
+ } else {
+ $this->couchbase = new NullStorage('Couchbase', 'Unable to connect to Couchbase server on "localhost:8091"');
+ }
+ } else {
+ $this->couchbase = new NullStorage('Couchbase', 'Error while trying to connect to Couchbase');
+ }
+ }
+ }
+
+ return $this->couchbase;
+ }
+
+ private function testCouchbaseConnection(\Couchbase $couchbase)
+ {
+ try {
+ if (count($couchbase->getServers()) > 0) {
+ return true;
+ }
+ } catch (\CouchbaseException $e) {
+ return false;
+ }
+
+ return true;
+ }
+
+ public function getCassandraStorage()
+ {
+ if (!$this->cassandra) {
+ if (class_exists('phpcassa\ColumnFamily')) {
+ $cassandra = new \phpcassa\Connection\ConnectionPool('oauth2_test', array('127.0.0.1:9160'));
+ if ($this->testCassandraConnection($cassandra)) {
+ $this->removeCassandraDb();
+ $this->cassandra = new Cassandra($cassandra);
+ $this->createCassandraDb($this->cassandra);
+ } else {
+ $this->cassandra = new NullStorage('Cassandra', 'Unable to connect to cassandra server on "127.0.0.1:9160"');
+ }
+ } else {
+ $this->cassandra = new NullStorage('Cassandra', 'Missing cassandra library. Please run "composer.phar require thobbs/phpcassa:dev-master"');
+ }
+ }
+
+ return $this->cassandra;
+ }
+
+ private function testCassandraConnection(\phpcassa\Connection\ConnectionPool $cassandra)
+ {
+ try {
+ new \phpcassa\SystemManager('localhost:9160');
+ } catch (\Exception $e) {
+ return false;
+ }
+
+ return true;
+ }
+
+ private function removeCassandraDb()
+ {
+ $sys = new \phpcassa\SystemManager('localhost:9160');
+
+ try {
+ $sys->drop_keyspace('oauth2_test');
+ } catch (\cassandra\InvalidRequestException $e) {
+
+ }
+ }
+
+ private function createCassandraDb(Cassandra $storage)
+ {
+ // create the cassandra keyspace and column family
+ $sys = new \phpcassa\SystemManager('localhost:9160');
+
+ $sys->create_keyspace('oauth2_test', array(
+ "strategy_class" => \phpcassa\Schema\StrategyClass::SIMPLE_STRATEGY,
+ "strategy_options" => array('replication_factor' => '1')
+ ));
+
+ $sys->create_column_family('oauth2_test', 'auth');
+ $cassandra = new \phpcassa\Connection\ConnectionPool('oauth2_test', array('127.0.0.1:9160'));
+ $cf = new \phpcassa\ColumnFamily($cassandra, 'auth');
+
+ // populate the data
+ $storage->setClientDetails("oauth_test_client", "testpass", "http://example.com", 'implicit password');
+ $storage->setAccessToken("testtoken", "Some Client", '', time() + 1000);
+ $storage->setAuthorizationCode("testcode", "Some Client", '', '', time() + 1000);
+
+ $storage->setScope('supportedscope1 supportedscope2 supportedscope3 supportedscope4');
+ $storage->setScope('defaultscope1 defaultscope2', null, 'default');
+
+ $storage->setScope('clientscope1 clientscope2', 'Test Client ID');
+ $storage->setScope('clientscope1 clientscope2', 'Test Client ID', 'default');
+
+ $storage->setScope('clientscope1 clientscope2 clientscope3', 'Test Client ID 2');
+ $storage->setScope('clientscope1 clientscope2', 'Test Client ID 2', 'default');
+
+ $storage->setScope('clientscope1 clientscope2', 'Test Default Scope Client ID');
+ $storage->setScope('clientscope1 clientscope2', 'Test Default Scope Client ID', 'default');
+
+ $storage->setScope('clientscope1 clientscope2 clientscope3', 'Test Default Scope Client ID 2');
+ $storage->setScope('clientscope3', 'Test Default Scope Client ID 2', 'default');
+
+ $storage->setClientKey('oauth_test_client', $this->getTestPublicKey(), 'test_subject');
+
+ $cf->insert("oauth_public_keys:ClientID_One", array('__data' => json_encode(array("public_key" => "client_1_public", "private_key" => "client_1_private", "encryption_algorithm" => "RS256"))));
+ $cf->insert("oauth_public_keys:ClientID_Two", array('__data' => json_encode(array("public_key" => "client_2_public", "private_key" => "client_2_private", "encryption_algorithm" => "RS256"))));
+ $cf->insert("oauth_public_keys:", array('__data' => json_encode(array("public_key" => $this->getTestPublicKey(), "private_key" => $this->getTestPrivateKey(), "encryption_algorithm" => "RS256"))));
+
+ $cf->insert("oauth_users:testuser", array('__data' =>json_encode(array("password" => "password", "email" => "testuser@test.com", "email_verified" => true))));
+
+ }
+
+ private function createSqliteDb(\PDO $pdo)
+ {
+ $this->runPdoSql($pdo);
+ }
+
+ private function removeSqliteDb()
+ {
+ if (file_exists($this->getSqliteDir())) {
+ unlink($this->getSqliteDir());
+ }
+ }
+
+ private function createMysqlDb(\PDO $pdo)
+ {
+ $pdo->exec('CREATE DATABASE oauth2_server_php');
+ $pdo->exec('USE oauth2_server_php');
+ $this->runPdoSql($pdo);
+ }
+
+ private function removeMysqlDb(\PDO $pdo)
+ {
+ $pdo->exec('DROP DATABASE IF EXISTS oauth2_server_php');
+ }
+
+ private function createPostgresDb()
+ {
+ if (!`psql postgres -tAc "SELECT 1 FROM pg_roles WHERE rolname='postgres'"`) {
+ `createuser -s -r postgres`;
+ }
+
+ `createdb -O postgres oauth2_server_php`;
+ }
+
+ private function populatePostgresDb(\PDO $pdo)
+ {
+ $this->runPdoSql($pdo);
+ }
+
+ private function removePostgresDb()
+ {
+ if (trim(`psql -l | grep oauth2_server_php | wc -l`)) {
+ `dropdb oauth2_server_php`;
+ }
+ }
+
+ public function runPdoSql(\PDO $pdo)
+ {
+ $storage = new Pdo($pdo);
+ foreach (explode(';', $storage->getBuildSql()) as $statement) {
+ $result = $pdo->exec($statement);
+ }
+
+ // set up scopes
+ $sql = 'INSERT INTO oauth_scopes (scope) VALUES (?)';
+ foreach (explode(' ', 'supportedscope1 supportedscope2 supportedscope3 supportedscope4 clientscope1 clientscope2 clientscope3') as $supportedScope) {
+ $pdo->prepare($sql)->execute(array($supportedScope));
+ }
+
+ $sql = 'INSERT INTO oauth_scopes (scope, is_default) VALUES (?, ?)';
+ foreach (array('defaultscope1', 'defaultscope2') as $defaultScope) {
+ $pdo->prepare($sql)->execute(array($defaultScope, true));
+ }
+
+ // set up clients
+ $sql = 'INSERT INTO oauth_clients (client_id, client_secret, scope, grant_types) VALUES (?, ?, ?, ?)';
+ $pdo->prepare($sql)->execute(array('Test Client ID', 'TestSecret', 'clientscope1 clientscope2', null));
+ $pdo->prepare($sql)->execute(array('Test Client ID 2', 'TestSecret', 'clientscope1 clientscope2 clientscope3', null));
+ $pdo->prepare($sql)->execute(array('Test Default Scope Client ID', 'TestSecret', 'clientscope1 clientscope2', null));
+ $pdo->prepare($sql)->execute(array('oauth_test_client', 'testpass', null, 'implicit password'));
+
+ // set up misc
+ $sql = 'INSERT INTO oauth_access_tokens (access_token, client_id, expires, user_id) VALUES (?, ?, ?, ?)';
+ $pdo->prepare($sql)->execute(array('testtoken', 'Some Client', date('Y-m-d H:i:s', strtotime('+1 hour')), null));
+ $pdo->prepare($sql)->execute(array('accesstoken-openid-connect', 'Some Client', date('Y-m-d H:i:s', strtotime('+1 hour')), 'testuser'));
+
+ $sql = 'INSERT INTO oauth_authorization_codes (authorization_code, client_id, expires) VALUES (?, ?, ?)';
+ $pdo->prepare($sql)->execute(array('testcode', 'Some Client', date('Y-m-d H:i:s', strtotime('+1 hour'))));
+
+ $sql = 'INSERT INTO oauth_users (username, password, email, email_verified) VALUES (?, ?, ?, ?)';
+ $pdo->prepare($sql)->execute(array('testuser', 'password', 'testuser@test.com', true));
+
+ $sql = 'INSERT INTO oauth_public_keys (client_id, public_key, private_key, encryption_algorithm) VALUES (?, ?, ?, ?)';
+ $pdo->prepare($sql)->execute(array('ClientID_One', 'client_1_public', 'client_1_private', 'RS256'));
+ $pdo->prepare($sql)->execute(array('ClientID_Two', 'client_2_public', 'client_2_private', 'RS256'));
+
+ $sql = 'INSERT INTO oauth_public_keys (client_id, public_key, private_key, encryption_algorithm) VALUES (?, ?, ?, ?)';
+ $pdo->prepare($sql)->execute(array(null, $this->getTestPublicKey(), $this->getTestPrivateKey(), 'RS256'));
+
+ $sql = 'INSERT INTO oauth_jwt (client_id, subject, public_key) VALUES (?, ?, ?)';
+ $pdo->prepare($sql)->execute(array('oauth_test_client', 'test_subject', $this->getTestPublicKey()));
+ }
+
+ public function getSqliteDir()
+ {
+ return $this->configDir. '/test.sqlite';
+ }
+
+ public function getConfigDir()
+ {
+ return $this->configDir;
+ }
+
+ private function createCouchbaseDB(\Couchbase $db)
+ {
+ $db->set('oauth_clients-oauth_test_client',json_encode(array(
+ 'client_id' => "oauth_test_client",
+ 'client_secret' => "testpass",
+ 'redirect_uri' => "http://example.com",
+ 'grant_types' => 'implicit password'
+ )));
+
+ $db->set('oauth_access_tokens-testtoken',json_encode(array(
+ 'access_token' => "testtoken",
+ 'client_id' => "Some Client"
+ )));
+
+ $db->set('oauth_authorization_codes-testcode',json_encode(array(
+ 'access_token' => "testcode",
+ 'client_id' => "Some Client"
+ )));
+
+ $db->set('oauth_users-testuser',json_encode(array(
+ 'username' => 'testuser',
+ 'password' => 'password',
+ 'email' => 'testuser@test.com',
+ 'email_verified' => true,
+ )));
+
+ $db->set('oauth_jwt-oauth_test_client',json_encode(array(
+ 'client_id' => 'oauth_test_client',
+ 'key' => $this->getTestPublicKey(),
+ 'subject' => 'test_subject',
+ )));
+ }
+
+ private function clearCouchbase(\Couchbase $cb)
+ {
+ $cb->delete('oauth_authorization_codes-new-openid-code');
+ $cb->delete('oauth_access_tokens-newtoken');
+ $cb->delete('oauth_authorization_codes-newcode');
+ $cb->delete('oauth_refresh_tokens-refreshtoken');
+ }
+
+ private function createMongo(\MongoDB $db)
+ {
+ $db->oauth_clients->insert(array(
+ 'client_id' => "oauth_test_client",
+ 'client_secret' => "testpass",
+ 'redirect_uri' => "http://example.com",
+ 'grant_types' => 'implicit password'
+ ));
+
+ $db->oauth_access_tokens->insert(array(
+ 'access_token' => "testtoken",
+ 'client_id' => "Some Client"
+ ));
+
+ $db->oauth_authorization_codes->insert(array(
+ 'authorization_code' => "testcode",
+ 'client_id' => "Some Client"
+ ));
+
+ $db->oauth_users->insert(array(
+ 'username' => 'testuser',
+ 'password' => 'password',
+ 'email' => 'testuser@test.com',
+ 'email_verified' => true,
+ ));
+
+ $db->oauth_keys->insert(array(
+ 'client_id' => null,
+ 'public_key' => $this->getTestPublicKey(),
+ 'private_key' => $this->getTestPrivateKey(),
+ 'encryption_algorithm' => 'RS256'
+ ));
+
+ $db->oauth_jwt->insert(array(
+ 'client_id' => 'oauth_test_client',
+ 'key' => $this->getTestPublicKey(),
+ 'subject' => 'test_subject',
+ ));
+ }
+
+ public function removeMongo(\MongoDB $db)
+ {
+ $db->drop();
+ }
+
+ private function createMongoDB(\MongoDB\Database $db)
+ {
+ $db->oauth_clients->insertOne(array(
+ 'client_id' => "oauth_test_client",
+ 'client_secret' => "testpass",
+ 'redirect_uri' => "http://example.com",
+ 'grant_types' => 'implicit password'
+ ));
+
+ $db->oauth_access_tokens->insertOne(array(
+ 'access_token' => "testtoken",
+ 'client_id' => "Some Client"
+ ));
+
+ $db->oauth_authorization_codes->insertOne(array(
+ 'authorization_code' => "testcode",
+ 'client_id' => "Some Client"
+ ));
+
+ $db->oauth_users->insertOne(array(
+ 'username' => 'testuser',
+ 'password' => 'password',
+ 'email' => 'testuser@test.com',
+ 'email_verified' => true,
+ ));
+
+ $db->oauth_keys->insertOne(array(
+ 'client_id' => null,
+ 'public_key' => $this->getTestPublicKey(),
+ 'private_key' => $this->getTestPrivateKey(),
+ 'encryption_algorithm' => 'RS256'
+ ));
+
+ $db->oauth_jwt->insertOne(array(
+ 'client_id' => 'oauth_test_client',
+ 'key' => $this->getTestPublicKey(),
+ 'subject' => 'test_subject',
+ ));
+ }
+
+ public function removeMongoDB(\MongoDB\Database $db)
+ {
+ $db->drop();
+ }
+
+ private function createRedisDb(Redis $storage)
+ {
+ $storage->setClientDetails("oauth_test_client", "testpass", "http://example.com", 'implicit password');
+ $storage->setAccessToken("testtoken", "Some Client", '', time() + 1000);
+ $storage->setAuthorizationCode("testcode", "Some Client", '', '', time() + 1000);
+ $storage->setUser("testuser", "password");
+
+ $storage->setScope('supportedscope1 supportedscope2 supportedscope3 supportedscope4');
+ $storage->setScope('defaultscope1 defaultscope2', null, 'default');
+
+ $storage->setScope('clientscope1 clientscope2', 'Test Client ID');
+ $storage->setScope('clientscope1 clientscope2', 'Test Client ID', 'default');
+
+ $storage->setScope('clientscope1 clientscope2 clientscope3', 'Test Client ID 2');
+ $storage->setScope('clientscope1 clientscope2', 'Test Client ID 2', 'default');
+
+ $storage->setScope('clientscope1 clientscope2', 'Test Default Scope Client ID');
+ $storage->setScope('clientscope1 clientscope2', 'Test Default Scope Client ID', 'default');
+
+ $storage->setScope('clientscope1 clientscope2 clientscope3', 'Test Default Scope Client ID 2');
+ $storage->setScope('clientscope3', 'Test Default Scope Client ID 2', 'default');
+
+ $storage->setClientKey('oauth_test_client', $this->getTestPublicKey(), 'test_subject');
+ }
+
+ public function getTestPublicKey()
+ {
+ return file_get_contents(__DIR__.'/../../../config/keys/id_rsa.pub');
+ }
+
+ private function getTestPrivateKey()
+ {
+ return file_get_contents(__DIR__.'/../../../config/keys/id_rsa');
+ }
+
+ public function getDynamoDbStorage()
+ {
+ if (!$this->dynamodb) {
+ // only run once per travis build
+ if (true == $this->getEnvVar('TRAVIS')) {
+ if (self::DYNAMODB_PHP_VERSION != $this->getEnvVar('TRAVIS_PHP_VERSION')) {
+ $this->dynamodb = new NullStorage('DynamoDb', 'Skipping for travis.ci - only run once per build');
+
+ return;
+ }
+ }
+ if (class_exists('\Aws\DynamoDb\DynamoDbClient')) {
+ if ($client = $this->getDynamoDbClient()) {
+ // travis runs a unique set of tables per build, to avoid conflict
+ $prefix = '';
+ if ($build_id = $this->getEnvVar('TRAVIS_JOB_NUMBER')) {
+ $prefix = sprintf('build_%s_', $build_id);
+ } else {
+ if (!$this->deleteDynamoDb($client, $prefix, true)) {
+ return $this->dynamodb = new NullStorage('DynamoDb', 'Timed out while waiting for DynamoDB deletion (30 seconds)');
+ }
+ }
+ $this->createDynamoDb($client, $prefix);
+ $this->populateDynamoDb($client, $prefix);
+ $config = array(
+ 'client_table' => $prefix.'oauth_clients',
+ 'access_token_table' => $prefix.'oauth_access_tokens',
+ 'refresh_token_table' => $prefix.'oauth_refresh_tokens',
+ 'code_table' => $prefix.'oauth_authorization_codes',
+ 'user_table' => $prefix.'oauth_users',
+ 'jwt_table' => $prefix.'oauth_jwt',
+ 'scope_table' => $prefix.'oauth_scopes',
+ 'public_key_table' => $prefix.'oauth_public_keys',
+ );
+ $this->dynamodb = new DynamoDB($client, $config);
+ } elseif (!$this->dynamodb) {
+ $this->dynamodb = new NullStorage('DynamoDb', 'unable to connect to DynamoDB');
+ }
+ } else {
+ $this->dynamodb = new NullStorage('DynamoDb', 'Missing DynamoDB library. Please run "composer.phar require aws/aws-sdk-php:dev-master');
+ }
+ }
+
+ return $this->dynamodb;
+ }
+
+ private function getDynamoDbClient()
+ {
+ $config = array();
+ // check for environment variables
+ if (($key = $this->getEnvVar('AWS_ACCESS_KEY_ID')) && ($secret = $this->getEnvVar('AWS_SECRET_KEY'))) {
+ $config['key'] = $key;
+ $config['secret'] = $secret;
+ } else {
+ // fall back on ~/.aws/credentials file
+ // @see http://docs.aws.amazon.com/aws-sdk-php/guide/latest/credentials.html#credential-profiles
+ if (!file_exists($this->getEnvVar('HOME') . '/.aws/credentials')) {
+ $this->dynamodb = new NullStorage('DynamoDb', 'No aws credentials file found, and no AWS_ACCESS_KEY_ID or AWS_SECRET_KEY environment variable set');
+
+ return;
+ }
+
+ // set profile in AWS_PROFILE environment variable, defaults to "default"
+ $config['profile'] = $this->getEnvVar('AWS_PROFILE', 'default');
+ }
+
+ // set region in AWS_REGION environment variable, defaults to "us-east-1"
+ $config['region'] = $this->getEnvVar('AWS_REGION', \Aws\Common\Enum\Region::US_EAST_1);
+
+ return \Aws\DynamoDb\DynamoDbClient::factory($config);
+ }
+
+ private function deleteDynamoDb(\Aws\DynamoDb\DynamoDbClient $client, $prefix = null, $waitForDeletion = false)
+ {
+ $tablesList = explode(' ', 'oauth_access_tokens oauth_authorization_codes oauth_clients oauth_jwt oauth_public_keys oauth_refresh_tokens oauth_scopes oauth_users');
+ $nbTables = count($tablesList);
+
+ // Delete all table.
+ foreach ($tablesList as $key => $table) {
+ try {
+ $client->deleteTable(array('TableName' => $prefix.$table));
+ } catch (\Aws\DynamoDb\Exception\DynamoDbException $e) {
+ // Table does not exist : nothing to do
+ }
+ }
+
+ // Wait for deleting
+ if ($waitForDeletion) {
+ $retries = 5;
+ $nbTableDeleted = 0;
+ while ($nbTableDeleted != $nbTables) {
+ $nbTableDeleted = 0;
+ foreach ($tablesList as $key => $table) {
+ try {
+ $result = $client->describeTable(array('TableName' => $prefix.$table));
+ } catch (\Aws\DynamoDb\Exception\DynamoDbException $e) {
+ // Table does not exist : nothing to do
+ $nbTableDeleted++;
+ }
+ }
+ if ($nbTableDeleted != $nbTables) {
+ if ($retries < 0) {
+ // we are tired of waiting
+ return false;
+ }
+ sleep(5);
+ echo "Sleeping 5 seconds for DynamoDB ($retries more retries)...\n";
+ $retries--;
+ }
+ }
+ }
+
+ return true;
+ }
+
+ private function createDynamoDb(\Aws\DynamoDb\DynamoDbClient $client, $prefix = null)
+ {
+ $tablesList = explode(' ', 'oauth_access_tokens oauth_authorization_codes oauth_clients oauth_jwt oauth_public_keys oauth_refresh_tokens oauth_scopes oauth_users');
+ $nbTables = count($tablesList);
+ $client->createTable(array(
+ 'TableName' => $prefix.'oauth_access_tokens',
+ 'AttributeDefinitions' => array(
+ array('AttributeName' => 'access_token','AttributeType' => 'S')
+ ),
+ 'KeySchema' => array(array('AttributeName' => 'access_token','KeyType' => 'HASH')),
+ 'ProvisionedThroughput' => array('ReadCapacityUnits' => 1,'WriteCapacityUnits' => 1)
+ ));
+
+ $client->createTable(array(
+ 'TableName' => $prefix.'oauth_authorization_codes',
+ 'AttributeDefinitions' => array(
+ array('AttributeName' => 'authorization_code','AttributeType' => 'S')
+ ),
+ 'KeySchema' => array(array('AttributeName' => 'authorization_code','KeyType' => 'HASH')),
+ 'ProvisionedThroughput' => array('ReadCapacityUnits' => 1,'WriteCapacityUnits' => 1)
+ ));
+
+ $client->createTable(array(
+ 'TableName' => $prefix.'oauth_clients',
+ 'AttributeDefinitions' => array(
+ array('AttributeName' => 'client_id','AttributeType' => 'S')
+ ),
+ 'KeySchema' => array(array('AttributeName' => 'client_id','KeyType' => 'HASH')),
+ 'ProvisionedThroughput' => array('ReadCapacityUnits' => 1,'WriteCapacityUnits' => 1)
+ ));
+
+ $client->createTable(array(
+ 'TableName' => $prefix.'oauth_jwt',
+ 'AttributeDefinitions' => array(
+ array('AttributeName' => 'client_id','AttributeType' => 'S'),
+ array('AttributeName' => 'subject','AttributeType' => 'S')
+ ),
+ 'KeySchema' => array(
+ array('AttributeName' => 'client_id','KeyType' => 'HASH'),
+ array('AttributeName' => 'subject','KeyType' => 'RANGE')
+ ),
+ 'ProvisionedThroughput' => array('ReadCapacityUnits' => 1,'WriteCapacityUnits' => 1)
+ ));
+
+ $client->createTable(array(
+ 'TableName' => $prefix.'oauth_public_keys',
+ 'AttributeDefinitions' => array(
+ array('AttributeName' => 'client_id','AttributeType' => 'S')
+ ),
+ 'KeySchema' => array(array('AttributeName' => 'client_id','KeyType' => 'HASH')),
+ 'ProvisionedThroughput' => array('ReadCapacityUnits' => 1,'WriteCapacityUnits' => 1)
+ ));
+
+ $client->createTable(array(
+ 'TableName' => $prefix.'oauth_refresh_tokens',
+ 'AttributeDefinitions' => array(
+ array('AttributeName' => 'refresh_token','AttributeType' => 'S')
+ ),
+ 'KeySchema' => array(array('AttributeName' => 'refresh_token','KeyType' => 'HASH')),
+ 'ProvisionedThroughput' => array('ReadCapacityUnits' => 1,'WriteCapacityUnits' => 1)
+ ));
+
+ $client->createTable(array(
+ 'TableName' => $prefix.'oauth_scopes',
+ 'AttributeDefinitions' => array(
+ array('AttributeName' => 'scope','AttributeType' => 'S'),
+ array('AttributeName' => 'is_default','AttributeType' => 'S')
+ ),
+ 'KeySchema' => array(array('AttributeName' => 'scope','KeyType' => 'HASH')),
+ 'GlobalSecondaryIndexes' => array(
+ array(
+ 'IndexName' => 'is_default-index',
+ 'KeySchema' => array(array('AttributeName' => 'is_default', 'KeyType' => 'HASH')),
+ 'Projection' => array('ProjectionType' => 'ALL'),
+ 'ProvisionedThroughput' => array('ReadCapacityUnits' => 1,'WriteCapacityUnits' => 1)
+ ),
+ ),
+ 'ProvisionedThroughput' => array('ReadCapacityUnits' => 1,'WriteCapacityUnits' => 1)
+ ));
+
+ $client->createTable(array(
+ 'TableName' => $prefix.'oauth_users',
+ 'AttributeDefinitions' => array(array('AttributeName' => 'username','AttributeType' => 'S')),
+ 'KeySchema' => array(array('AttributeName' => 'username','KeyType' => 'HASH')),
+ 'ProvisionedThroughput' => array('ReadCapacityUnits' => 1,'WriteCapacityUnits' => 1)
+ ));
+
+ // Wait for creation
+ $nbTableCreated = 0;
+ while ($nbTableCreated != $nbTables) {
+ $nbTableCreated = 0;
+ foreach ($tablesList as $key => $table) {
+ try {
+ $result = $client->describeTable(array('TableName' => $prefix.$table));
+ if ($result['Table']['TableStatus'] == 'ACTIVE') {
+ $nbTableCreated++;
+ }
+ } catch (\Aws\DynamoDb\Exception\DynamoDbException $e) {
+ // Table does not exist : nothing to do
+ $nbTableCreated++;
+ }
+ }
+ if ($nbTableCreated != $nbTables) {
+ sleep(1);
+ }
+ }
+ }
+
+ private function populateDynamoDb($client, $prefix = null)
+ {
+ // set up scopes
+ foreach (explode(' ', 'supportedscope1 supportedscope2 supportedscope3 supportedscope4 clientscope1 clientscope2 clientscope3') as $supportedScope) {
+ $client->putItem(array(
+ 'TableName' => $prefix.'oauth_scopes',
+ 'Item' => array('scope' => array('S' => $supportedScope))
+ ));
+ }
+
+ foreach (array('defaultscope1', 'defaultscope2') as $defaultScope) {
+ $client->putItem(array(
+ 'TableName' => $prefix.'oauth_scopes',
+ 'Item' => array('scope' => array('S' => $defaultScope), 'is_default' => array('S' => "true"))
+ ));
+ }
+
+ $client->putItem(array(
+ 'TableName' => $prefix.'oauth_clients',
+ 'Item' => array(
+ 'client_id' => array('S' => 'Test Client ID'),
+ 'client_secret' => array('S' => 'TestSecret'),
+ 'scope' => array('S' => 'clientscope1 clientscope2')
+ )
+ ));
+
+ $client->putItem(array(
+ 'TableName' => $prefix.'oauth_clients',
+ 'Item' => array(
+ 'client_id' => array('S' => 'Test Client ID 2'),
+ 'client_secret' => array('S' => 'TestSecret'),
+ 'scope' => array('S' => 'clientscope1 clientscope2 clientscope3')
+ )
+ ));
+
+ $client->putItem(array(
+ 'TableName' => $prefix.'oauth_clients',
+ 'Item' => array(
+ 'client_id' => array('S' => 'Test Default Scope Client ID'),
+ 'client_secret' => array('S' => 'TestSecret'),
+ 'scope' => array('S' => 'clientscope1 clientscope2')
+ )
+ ));
+
+ $client->putItem(array(
+ 'TableName' => $prefix.'oauth_clients',
+ 'Item' => array(
+ 'client_id' => array('S' => 'oauth_test_client'),
+ 'client_secret' => array('S' => 'testpass'),
+ 'grant_types' => array('S' => 'implicit password')
+ )
+ ));
+
+ $client->putItem(array(
+ 'TableName' => $prefix.'oauth_access_tokens',
+ 'Item' => array(
+ 'access_token' => array('S' => 'testtoken'),
+ 'client_id' => array('S' => 'Some Client'),
+ )
+ ));
+
+ $client->putItem(array(
+ 'TableName' => $prefix.'oauth_access_tokens',
+ 'Item' => array(
+ 'access_token' => array('S' => 'accesstoken-openid-connect'),
+ 'client_id' => array('S' => 'Some Client'),
+ 'user_id' => array('S' => 'testuser'),
+ )
+ ));
+
+ $client->putItem(array(
+ 'TableName' => $prefix.'oauth_authorization_codes',
+ 'Item' => array(
+ 'authorization_code' => array('S' => 'testcode'),
+ 'client_id' => array('S' => 'Some Client'),
+ )
+ ));
+
+ $client->putItem(array(
+ 'TableName' => $prefix.'oauth_users',
+ 'Item' => array(
+ 'username' => array('S' => 'testuser'),
+ 'password' => array('S' => 'password'),
+ 'email' => array('S' => 'testuser@test.com'),
+ 'email_verified' => array('S' => 'true'),
+ )
+ ));
+
+ $client->putItem(array(
+ 'TableName' => $prefix.'oauth_public_keys',
+ 'Item' => array(
+ 'client_id' => array('S' => 'ClientID_One'),
+ 'public_key' => array('S' => 'client_1_public'),
+ 'private_key' => array('S' => 'client_1_private'),
+ 'encryption_algorithm' => array('S' => 'RS256'),
+ )
+ ));
+
+ $client->putItem(array(
+ 'TableName' => $prefix.'oauth_public_keys',
+ 'Item' => array(
+ 'client_id' => array('S' => 'ClientID_Two'),
+ 'public_key' => array('S' => 'client_2_public'),
+ 'private_key' => array('S' => 'client_2_private'),
+ 'encryption_algorithm' => array('S' => 'RS256'),
+ )
+ ));
+
+ $client->putItem(array(
+ 'TableName' => $prefix.'oauth_public_keys',
+ 'Item' => array(
+ 'client_id' => array('S' => '0'),
+ 'public_key' => array('S' => $this->getTestPublicKey()),
+ 'private_key' => array('S' => $this->getTestPrivateKey()),
+ 'encryption_algorithm' => array('S' => 'RS256'),
+ )
+ ));
+
+ $client->putItem(array(
+ 'TableName' => $prefix.'oauth_jwt',
+ 'Item' => array(
+ 'client_id' => array('S' => 'oauth_test_client'),
+ 'subject' => array('S' => 'test_subject'),
+ 'public_key' => array('S' => $this->getTestPublicKey()),
+ )
+ ));
+ }
+
+ public function cleanupTravisDynamoDb($prefix = null)
+ {
+ if (is_null($prefix)) {
+ // skip this when not applicable
+ if (!$this->getEnvVar('TRAVIS') || self::DYNAMODB_PHP_VERSION != $this->getEnvVar('TRAVIS_PHP_VERSION')) {
+ return;
+ }
+
+ $prefix = sprintf('build_%s_', $this->getEnvVar('TRAVIS_JOB_NUMBER'));
+ }
+
+ $client = $this->getDynamoDbClient();
+ $this->deleteDynamoDb($client, $prefix);
+ }
+
+ private function getEnvVar($var, $default = null)
+ {
+ return isset($_SERVER[$var]) ? $_SERVER[$var] : (getenv($var) ?: $default);
+ }
+}
diff --git a/vendor/bshaffer/oauth2-server-php/test/lib/OAuth2/Storage/NullStorage.php b/vendor/bshaffer/oauth2-server-php/test/lib/OAuth2/Storage/NullStorage.php
new file mode 100644
index 000000000..6caa62068
--- /dev/null
+++ b/vendor/bshaffer/oauth2-server-php/test/lib/OAuth2/Storage/NullStorage.php
@@ -0,0 +1,32 @@
+<?php
+
+namespace OAuth2\Storage;
+
+/**
+*
+*/
+class NullStorage extends Memory
+{
+ private $name;
+ private $description;
+
+ public function __construct($name, $description = null)
+ {
+ $this->name = $name;
+ $this->description = $description;
+ }
+
+ public function __toString()
+ {
+ return $this->name;
+ }
+
+ public function getMessage()
+ {
+ if ($this->description) {
+ return $this->description;
+ }
+
+ return $this->name;
+ }
+}
diff --git a/vendor/commerceguys/intl/.gitignore b/vendor/commerceguys/intl/.gitignore
new file mode 100644
index 000000000..5708e161b
--- /dev/null
+++ b/vendor/commerceguys/intl/.gitignore
@@ -0,0 +1,2 @@
+composer.lock
+vendor/*
diff --git a/vendor/commerceguys/intl/LICENSE b/vendor/commerceguys/intl/LICENSE
new file mode 100644
index 000000000..e4ef21420
--- /dev/null
+++ b/vendor/commerceguys/intl/LICENSE
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) 2014 Commerce Guys
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/vendor/commerceguys/intl/README.md b/vendor/commerceguys/intl/README.md
new file mode 100644
index 000000000..b24d3a89e
--- /dev/null
+++ b/vendor/commerceguys/intl/README.md
@@ -0,0 +1,163 @@
+intl
+=====
+
+[![Build Status](https://travis-ci.org/commerceguys/intl.svg?branch=master)](https://travis-ci.org/commerceguys/intl)
+
+A PHP 5.4+ internationalization library, powered by CLDR data.
+
+Features:
+- NumberFormatter, inspired by [intl](http://php.net/manual/en/class.numberformatter.php).
+- Currencies
+- Countries
+- Languages
+
+Coming soon: date formatting.
+
+Why not use the intl extension?
+-------------------------------
+The intl extension isn't present by default on PHP installs, requiring
+it can hurt software adoption.
+Behind the scenes the extension relies on libicu which includes the CLDR dataset,
+but depending on the OS/distribution used, could be several major CLDR releases behind.
+
+Since the CLDR dataset is freely available in JSON form, it is possible to
+reimplement the intl functionality in pure PHP code while ensuring that the
+dataset is always fresh.
+
+Having access to the CLDR dataset also makes it possible to offer additional APIs,
+such as listing all currencies.
+
+More backstory can be found in [this blog post](https://drupalcommerce.org/blog/15916/commerce-2x-stories-internationalization).
+
+Formatting numbers
+------------------
+Formats numbers (decimals, percents, currency amounts) using locale-specific rules.
+
+This ensures that the decimal and grouping separators, the position of the currency
+symbol, as well as the actual symbol used match what the user is expecting.
+
+The amounts passed for formatting should already be rounded, because the
+formatter doesn't do any rounding of its own.
+
+```php
+use CommerceGuys\Intl\Currency\CurrencyRepository;
+use CommerceGuys\Intl\NumberFormat\NumberFormatRepository;
+use CommerceGuys\Intl\Formatter\NumberFormatter;
+
+$currencyRepository = new CurrencyRepository;
+$numberFormatRepository = new NumberFormatRepository;
+
+$currency = $currencyRepository->get('USD');
+$numberFormat = $numberFormatRepository->get('en');
+
+$decimalFormatter = new NumberFormatter($numberFormat);
+echo $decimalFormatter->format('1234.99'); // 123,456.99
+
+$percentFormatter = new NumberFormatter($numberFormat, NumberFormatter::PERCENT);
+echo $percentFormatter->format('0.75'); // 75%
+
+$currencyFormatter = new NumberFormatter($numberFormat, NumberFormatter::CURRENCY);
+echo $currencyFormatter->formatCurrency('2.99', $currency); // $2.99
+
+// The accounting pattern shows negative numbers differently and is used
+// primarily for amounts shown on invoices.
+$invoiceCurrencyFormatter = new NumberFormatter($numberFormat, NumberFormatter::CURRENCY_ACCOUNTING);
+echo $invoiceCurrencyFormatter->formatCurrency('-2.99', $currency); // (2.99$)
+
+// Arabic, Arabic extended, Bengali, Devanagari digits are supported as expected.
+$currency = $currencyRepository->get('USD', 'ar');
+$numberFormat = $numberFormatRepository->get('ar');
+$currencyFormatter = new NumberFormatter($numberFormat, NumberFormatter::CURRENCY);
+echo $currencyFormatter->formatCurrency('1230.99', $currency); // US$ ١٬٢٣٠٫٩٩
+
+// Parse formatted values into numeric values.
+echo $currencyFormatter->parseCurrency('US$ ١٬٢٣٠٫٩٩', $currency); // 1230.99
+```
+
+Currencies
+----------
+```php
+use CommerceGuys\Intl\Currency\CurrencyRepository;
+
+// Reads the currency definitions from resources/currency.
+$currencyRepository = new CurrencyRepository;
+
+// Get the USD currency using the default locale (en).
+$currency = $currencyRepository->get('USD');
+echo $currency->getCurrencyCode(); // USD
+echo $currency->getNumericCode(); // 840
+echo $currency->getFractionDigits(); // 2
+echo $currency->getName(); // US Dollar
+echo $currency->getSymbol(); // $
+echo $currency->getLocale(); // en
+
+// Get the USD currency using the fr-FR locale.
+$currency = $currencyRepository->get('USD', 'fr-FR');
+echo $currency->getName(); // dollar des États-Unis
+echo $currency->getSymbol(); // $US
+echo $currency->getLocale(); // fr-FR
+
+$allCurrencies = $currencyRepository->getAll();
+```
+
+Countries
+---------
+```php
+use CommerceGuys\Intl\Country\CountryRepository;
+
+// Reads the country definitions from resources/country.
+$countryRepository = new CountryRepository;
+
+// Get the US country using the default locale (en).
+$country = $countryRepository->get('US');
+echo $country->getCountryCode(); // US
+echo $country->getName(); // United States
+echo $country->getCurrencyCode(); // USD
+
+// Get the US country using the fr-FR locale.
+$country = $countryRepository->get('US', 'fr-FR');
+echo $country->getName(); // États-Unis
+
+$allCountries = $countryRepository->getAll();
+```
+
+Languages
+---------
+```php
+use CommerceGuys\Intl\Language\LanguageRepository;
+
+// Reads the language definitions from resources/language.
+$languageRepository = new LanguageRepository;
+
+// Get the german language using the default locale (en).
+$language = $languageRepository->get('de');
+echo $language->getLanguageCode(); // de
+echo $language->getName(); // German
+
+// Get the german language using the fr-FR locale.
+$language = $languageRepository->get('de', 'fr-FR');
+echo $language->getName(); // allemand
+
+$allLanguages = $languageRepository->getAll();
+```
+
+Implementing the library
+------------------------
+The base interfaces don't impose setters.
+Extended interfaces (with setters) are provided for (Doctrine, Drupal) entities.
+
+While the library can be used as-is, many applications will want to store parts of the dataset in a database.
+This allows for better performance while giving users the ability to modify and expand the data.
+Taking currencies as an example, a merchant frequently wants to be able to:
+
+- Define custom currencies.
+- Enable/disable existing currencies
+- Modify an existing currency (changing the default number of fraction digits, for example).
+
+This would be accomplished by using the CurrencyRepository to get all default currencies and
+insert them into the database. The doctrine entity (or any similar data object) would then implement
+the CurrencyEntityInterface so that the NumberFormatter can continue to work.
+
+Related projects
+----------------
+[commerceguys/pricing](http://github.com/commerceguys/pricing) provides a Price object.
diff --git a/vendor/commerceguys/intl/composer.json b/vendor/commerceguys/intl/composer.json
new file mode 100644
index 000000000..e4e0349fe
--- /dev/null
+++ b/vendor/commerceguys/intl/composer.json
@@ -0,0 +1,33 @@
+{
+ "name": "commerceguys/intl",
+ "type": "library",
+ "description": "Internationalization library powered by CLDR data.",
+ "license": "MIT",
+ "require": {
+ "php": ">=5.4.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "~4.0",
+ "mikey179/vfsStream": "1.*"
+ },
+ "autoload": {
+ "psr-4": {
+ "CommerceGuys\\Intl\\": "src"
+ }
+ },
+ "autoload-dev": {
+ "psr-4": {
+ "CommerceGuys\\Intl\\Tests\\": "tests"
+ }
+ },
+ "authors": [
+ {
+ "name": "Bojan Zivanovic"
+ }
+ ],
+ "extra": {
+ "branch-alias": {
+ "dev-master": "0.x-dev"
+ }
+ }
+}
diff --git a/vendor/commerceguys/intl/phpunit.xml b/vendor/commerceguys/intl/phpunit.xml
new file mode 100644
index 000000000..82bf2b096
--- /dev/null
+++ b/vendor/commerceguys/intl/phpunit.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<phpunit backupGlobals="false"
+ backupStaticAttributes="false"
+ colors="true"
+ convertErrorsToExceptions="true"
+ convertNoticesToExceptions="true"
+ convertWarningsToExceptions="true"
+ stopOnFailure="false"
+ bootstrap="vendor/autoload.php"
+>
+ <testsuites>
+ <testsuite name="CommerceGuys Intl Test Suite">
+ <directory>./tests/</directory>
+ </testsuite>
+ </testsuites>
+
+ <filter>
+ <whitelist>
+ <directory suffix=".php">./src/</directory>
+ </whitelist>
+ </filter>
+</phpunit>
diff --git a/vendor/commerceguys/intl/resources/country/af.json b/vendor/commerceguys/intl/resources/country/af.json
new file mode 100644
index 000000000..0e039f26c
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/af.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afganistan"
+ },
+ "AX": {
+ "name": "Ålandeilande"
+ },
+ "AL": {
+ "name": "Albanië"
+ },
+ "DZ": {
+ "name": "Algerië"
+ },
+ "AS": {
+ "name": "Amerikaans-Samoa"
+ },
+ "VI": {
+ "name": "Amerikaanse Maagde-eilande"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarktika"
+ },
+ "AG": {
+ "name": "Antigua en Barbuda"
+ },
+ "AR": {
+ "name": "Argentinië"
+ },
+ "AM": {
+ "name": "Armenië"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascensioneiland"
+ },
+ "AU": {
+ "name": "Australië"
+ },
+ "AZ": {
+ "name": "Azerbeidjan"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahrein"
+ },
+ "BD": {
+ "name": "Bangladesj"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BY": {
+ "name": "Belarus"
+ },
+ "BE": {
+ "name": "België"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BT": {
+ "name": "Bhoetan"
+ },
+ "BO": {
+ "name": "Bolivië"
+ },
+ "BA": {
+ "name": "Bosnië en Herzegowina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brasilië"
+ },
+ "IO": {
+ "name": "Brits-Indiese Oseaangebied"
+ },
+ "VG": {
+ "name": "Britse Maagde-eilande"
+ },
+ "BN": {
+ "name": "Broenei"
+ },
+ "BG": {
+ "name": "Bulgarye"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "EA": {
+ "name": "Ceuta en Melilla"
+ },
+ "CL": {
+ "name": "Chili"
+ },
+ "CO": {
+ "name": "Colombië"
+ },
+ "KM": {
+ "name": "Comore"
+ },
+ "CK": {
+ "name": "Cookeilande"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "CD": {
+ "name": "Demokratiese Republiek van die Kongo"
+ },
+ "DK": {
+ "name": "Denemarke"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DJ": {
+ "name": "Djiboeti"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "DO": {
+ "name": "Dominikaanse Republiek"
+ },
+ "DE": {
+ "name": "Duitsland"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egipte"
+ },
+ "IM": {
+ "name": "Eiland Man"
+ },
+ "GQ": {
+ "name": "Ekwatoriaal-Guinee"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estland"
+ },
+ "ET": {
+ "name": "Ethiopië"
+ },
+ "FK": {
+ "name": "Falklandeilande"
+ },
+ "FO": {
+ "name": "Faroëreilande"
+ },
+ "FJ": {
+ "name": "Fidji"
+ },
+ "PH": {
+ "name": "Filippyne"
+ },
+ "FI": {
+ "name": "Finland"
+ },
+ "FR": {
+ "name": "Frankryk"
+ },
+ "GF": {
+ "name": "Frans-Guyana"
+ },
+ "PF": {
+ "name": "Frans-Polinesië"
+ },
+ "TF": {
+ "name": "Franse Suidelike Gebiede"
+ },
+ "GA": {
+ "name": "Gaboen"
+ },
+ "GM": {
+ "name": "Gambië"
+ },
+ "GE": {
+ "name": "Georgië"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GR": {
+ "name": "Griekeland"
+ },
+ "GL": {
+ "name": "Groenland"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GN": {
+ "name": "Guinee"
+ },
+ "GW": {
+ "name": "Guinee-Bissau"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haïti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HU": {
+ "name": "Hongarye"
+ },
+ "HK": {
+ "name": "Hongkong SAS Sjina"
+ },
+ "IE": {
+ "name": "Ierland"
+ },
+ "IN": {
+ "name": "Indië"
+ },
+ "ID": {
+ "name": "Indonesië"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italië"
+ },
+ "CI": {
+ "name": "Ivoorkus"
+ },
+ "JM": {
+ "name": "Jamaika"
+ },
+ "JP": {
+ "name": "Japan"
+ },
+ "YE": {
+ "name": "Jemen"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordanië"
+ },
+ "KY": {
+ "name": "Kaaimanseilande"
+ },
+ "CV": {
+ "name": "Kaap Verde"
+ },
+ "KH": {
+ "name": "Kambodja"
+ },
+ "CM": {
+ "name": "Kameroen"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "IC": {
+ "name": "Kanariese Eilande"
+ },
+ "BQ": {
+ "name": "Karibiese Nederland"
+ },
+ "QA": {
+ "name": "Katar"
+ },
+ "KZ": {
+ "name": "Kazakstan"
+ },
+ "KE": {
+ "name": "Kenia"
+ },
+ "CX": {
+ "name": "Kerseiland"
+ },
+ "KG": {
+ "name": "Kirgisië"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "KW": {
+ "name": "Koeweit"
+ },
+ "CC": {
+ "name": "Kokos-eilande"
+ },
+ "CG": {
+ "name": "Kongo - Brazzaville"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "HR": {
+ "name": "Kroasië"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LV": {
+ "name": "Letland"
+ },
+ "LB": {
+ "name": "Libanon"
+ },
+ "LR": {
+ "name": "Liberië"
+ },
+ "LY": {
+ "name": "Libië"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Litaue"
+ },
+ "LU": {
+ "name": "Luxemburg"
+ },
+ "MO": {
+ "name": "Macau SAS Sjina"
+ },
+ "MK": {
+ "name": "Macedonië"
+ },
+ "MG": {
+ "name": "Madagaskar"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MV": {
+ "name": "Maledive"
+ },
+ "MY": {
+ "name": "Maleisië"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marokko"
+ },
+ "MH": {
+ "name": "Marshalleilande"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MR": {
+ "name": "Mauritanië"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Meksiko"
+ },
+ "MM": {
+ "name": "Mianmar (Birma)"
+ },
+ "FM": {
+ "name": "Mikronesië"
+ },
+ "MD": {
+ "name": "Moldowa"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongolië"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mosambiek"
+ },
+ "NA": {
+ "name": "Namibië"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NL": {
+ "name": "Nederland"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NC": {
+ "name": "Nieu-Kaledonië"
+ },
+ "NZ": {
+ "name": "Nieu-Seeland"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigerië"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "KP": {
+ "name": "Noord-Korea"
+ },
+ "MP": {
+ "name": "Noord-Mariane-eilande"
+ },
+ "NO": {
+ "name": "Noorweë"
+ },
+ "NF": {
+ "name": "Norfolkeiland"
+ },
+ "UA": {
+ "name": "Oekraïne"
+ },
+ "UZ": {
+ "name": "Oesbekistan"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "TL": {
+ "name": "Oos-Timor"
+ },
+ "AT": {
+ "name": "Oostenryk"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palestynse gebiede"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papoea-Nieu-Guinee"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitcairneilande"
+ },
+ "PL": {
+ "name": "Pole"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RO": {
+ "name": "Roemenië"
+ },
+ "RU": {
+ "name": "Rusland"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "SB": {
+ "name": "Salomonseilande"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "São Tomé en Príncipe"
+ },
+ "SA": {
+ "name": "Saoedi-Arabië"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "CF": {
+ "name": "Sentraal-Afrikaanse Republiek"
+ },
+ "RS": {
+ "name": "Serwië"
+ },
+ "SC": {
+ "name": "Seychelle"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapoer"
+ },
+ "BL": {
+ "name": "Sint Barthélemy"
+ },
+ "SH": {
+ "name": "Sint Helena"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "CY": {
+ "name": "Siprus"
+ },
+ "SY": {
+ "name": "Sirië"
+ },
+ "CN": {
+ "name": "Sjina"
+ },
+ "SK": {
+ "name": "Slowakye"
+ },
+ "SI": {
+ "name": "Slowenië"
+ },
+ "SD": {
+ "name": "Soedan"
+ },
+ "SO": {
+ "name": "Somalië"
+ },
+ "ES": {
+ "name": "Spanje"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "KN": {
+ "name": "St. Kitts en Nevis"
+ },
+ "LC": {
+ "name": "St. Lucia"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "PM": {
+ "name": "St. Pierre en Miquelon"
+ },
+ "VC": {
+ "name": "St. Vincent en die Grenadine"
+ },
+ "ZA": {
+ "name": "Suid-Afrika"
+ },
+ "GS": {
+ "name": "Suid-Georgië en die Suidelike Sandwicheilande"
+ },
+ "KR": {
+ "name": "Suid-Korea"
+ },
+ "SS": {
+ "name": "Suid-Soedan"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SJ": {
+ "name": "Svalbard en Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swaziland"
+ },
+ "SE": {
+ "name": "Swede"
+ },
+ "CH": {
+ "name": "Switserland"
+ },
+ "TJ": {
+ "name": "Tadjikistan"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TZ": {
+ "name": "Tanzanië"
+ },
+ "TH": {
+ "name": "Thailand"
+ },
+ "CZ": {
+ "name": "Tjeggiese Republiek"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad en Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TD": {
+ "name": "Tsjad"
+ },
+ "TN": {
+ "name": "Tunisië"
+ },
+ "TM": {
+ "name": "Turkmenië"
+ },
+ "TC": {
+ "name": "Turks- en Caicoseilande"
+ },
+ "TR": {
+ "name": "Turkye"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikaanstad"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "AE": {
+ "name": "Verenigde Arabiese Emirate"
+ },
+ "GB": {
+ "name": "Verenigde Koninkryk"
+ },
+ "US": {
+ "name": "Verenigde State van Amerika"
+ },
+ "VN": {
+ "name": "Viëtnam"
+ },
+ "UM": {
+ "name": "VS klein omliggende eilande"
+ },
+ "WF": {
+ "name": "Wallis en Futuna"
+ },
+ "EH": {
+ "name": "Wes-Sahara"
+ },
+ "IS": {
+ "name": "Ysland"
+ },
+ "ZM": {
+ "name": "Zambië"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/agq.json b/vendor/commerceguys/intl/resources/country/agq.json
new file mode 100644
index 000000000..c66c2baee
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/agq.json
@@ -0,0 +1,761 @@
+{
+ "AL": {
+ "name": "Àabɛnìa"
+ },
+ "DZ": {
+ "name": "Àadzɛlìa"
+ },
+ "AR": {
+ "name": "Àdzɛ̀ntinà"
+ },
+ "PS": {
+ "name": "Adzɨmā kɨ ŋgùŋ kɨ Palɛsɨtɨnyia à kɨ Gazà kò"
+ },
+ "IE": {
+ "name": "Aelɨ̀lân"
+ },
+ "IS": {
+ "name": "Aesɨ̀lân"
+ },
+ "AF": {
+ "name": "Àfɨ̀ganìsɨ̀tân"
+ },
+ "ZA": {
+ "name": "Afɨlekà ghɨ Emàm ghò"
+ },
+ "AX": {
+ "name": "Åland Islands"
+ },
+ "AW": {
+ "name": "Àlubà"
+ },
+ "AS": {
+ "name": "Àmɛlekan Samwà"
+ },
+ "AM": {
+ "name": "Àmɛnyìa"
+ },
+ "AD": {
+ "name": "Àndolà"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Àntigwà à Bàbudà"
+ },
+ "AO": {
+ "name": "Àŋgolà"
+ },
+ "AI": {
+ "name": "Àŋgwilà"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AZ": {
+ "name": "Àzɨbɛ̀dzân"
+ },
+ "BB": {
+ "name": "Bàbadòs"
+ },
+ "BS": {
+ "name": "Bàhamàs"
+ },
+ "BH": {
+ "name": "Bàlaen"
+ },
+ "BD": {
+ "name": "Baŋgɨ̀làdɛ̂"
+ },
+ "BE": {
+ "name": "Bɛɛdzwùm"
+ },
+ "BY": {
+ "name": "Bɛlàlûs"
+ },
+ "BZ": {
+ "name": "Bɛ̀lezɨ̀"
+ },
+ "BM": {
+ "name": "Bɛ̀mudà"
+ },
+ "BJ": {
+ "name": "Bɛ̀nɨ̂ŋ"
+ },
+ "BR": {
+ "name": "Bɨ̀làzîi"
+ },
+ "BN": {
+ "name": "Bɨ̀lunè"
+ },
+ "BO": {
+ "name": "Bòlevà"
+ },
+ "BA": {
+ "name": "Bosɨnyìa à Hɛ̀zɛ̀gòvinà"
+ },
+ "BW": {
+ "name": "Bòtɨ̀swǎnà"
+ },
+ "BF": {
+ "name": "Bùkinà Fasò"
+ },
+ "BI": {
+ "name": "Bùlundì"
+ },
+ "BG": {
+ "name": "Bùugɛlìa"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "TD": {
+ "name": "Châ"
+ },
+ "CN": {
+ "name": "Chaenà"
+ },
+ "CZ": {
+ "name": "Chɛ̂ Lèkpubèlè"
+ },
+ "CL": {
+ "name": "Chilè"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "FK": {
+ "name": "Chwɨlà fɨ Fakɨlàn"
+ },
+ "MH": {
+ "name": "Chwɨlà fɨ Mashà"
+ },
+ "NF": {
+ "name": "Chwɨlà fɨ Nufòʔ"
+ },
+ "SB": {
+ "name": "Chwɨlà fɨ Solomwɨ̀n"
+ },
+ "MP": {
+ "name": "Chwɨlà m̀ Màlǐanà mɨ̀ Ekùw mò"
+ },
+ "VG": {
+ "name": "Chwɨlà m̀ Vidzinyìa m̀ Bɨ̀letì mò"
+ },
+ "TC": {
+ "name": "Chwɨla n Tɨtê à Kaekùs"
+ },
+ "KY": {
+ "name": "Chwɨlà ŋ̀ Kaemàn"
+ },
+ "CV": {
+ "name": "Chwɨla ŋ̀ Kɛ̀b Vɛ̂ɛ"
+ },
+ "CK": {
+ "name": "Chwɨla ŋ̀ Kûʔ"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "CD": {
+ "name": "Dɛ̀mùkàlatì Lèkpubèlè è Kuŋgù"
+ },
+ "DK": {
+ "name": "Dɛnɨmà"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "IO": {
+ "name": "Dɨŋò kɨ dzughùnstòʔ kɨ Endìa kɨ Bɨ̀letì kò"
+ },
+ "DM": {
+ "name": "Dòmenekà"
+ },
+ "DO": {
+ "name": "Dòmenekà Lèkpubèlè"
+ },
+ "JP": {
+ "name": "Dzàkpân"
+ },
+ "DE": {
+ "name": "Dzamanè"
+ },
+ "JM": {
+ "name": "Dzàmɛkà"
+ },
+ "GI": {
+ "name": "Dzibɨ̀latà"
+ },
+ "DJ": {
+ "name": "Dzìbuwtì"
+ },
+ "JO": {
+ "name": "Dzodàn"
+ },
+ "GE": {
+ "name": "Dzɔɔdzìa"
+ },
+ "EG": {
+ "name": "Edzì"
+ },
+ "EC": {
+ "name": "Ekwadò"
+ },
+ "GQ": {
+ "name": "Èkwɛ̀tolia Ginè"
+ },
+ "IQ": {
+ "name": "Èlâkɨ̀"
+ },
+ "IR": {
+ "name": "Èlân"
+ },
+ "ER": {
+ "name": "Èletɨ̀là"
+ },
+ "IN": {
+ "name": "Endìa"
+ },
+ "ID": {
+ "name": "Èndòneshìa"
+ },
+ "TL": {
+ "name": "Ês Taemò"
+ },
+ "SV": {
+ "name": "Esàvadò"
+ },
+ "EE": {
+ "name": "Èsɨ̀tonyìa"
+ },
+ "IT": {
+ "name": "Etalè"
+ },
+ "ET": {
+ "name": "Ètyǒpìa"
+ },
+ "IL": {
+ "name": "Ezɨ̀lɛ̂"
+ },
+ "FR": {
+ "name": "Fàlâŋnsì"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "PH": {
+ "name": "Felèkpî"
+ },
+ "FJ": {
+ "name": "Fidzi"
+ },
+ "FI": {
+ "name": "Fɨnlàn"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GH": {
+ "name": "Gaanà"
+ },
+ "GA": {
+ "name": "Gàbûn"
+ },
+ "GM": {
+ "name": "Gambìa"
+ },
+ "GF": {
+ "name": "Gàyanà è Fàlâŋnsì"
+ },
+ "GN": {
+ "name": "Ginè"
+ },
+ "GW": {
+ "name": "Ginè Bìsawù"
+ },
+ "NG": {
+ "name": "Gɨ̀anyɨ"
+ },
+ "GL": {
+ "name": "Gɨ̀lenlân"
+ },
+ "GR": {
+ "name": "Gɨ̀lês"
+ },
+ "GD": {
+ "name": "Gɨ̀lɛnadà"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Gùyanà"
+ },
+ "GP": {
+ "name": "Gwadalukpɛ̀"
+ },
+ "GU": {
+ "name": "Gwam"
+ },
+ "GT": {
+ "name": "Gwàtɨ̀malà"
+ },
+ "HT": {
+ "name": "Hǎetì"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HN": {
+ "name": "Hɔndulàs"
+ },
+ "HU": {
+ "name": "Hɔŋgàlè"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "NC": {
+ "name": "Kàlèdonyìa È fūghū"
+ },
+ "CM": {
+ "name": "Kàmàlûŋ"
+ },
+ "KH": {
+ "name": "Kàmbodìa"
+ },
+ "CA": {
+ "name": "Kanadà"
+ },
+ "QA": {
+ "name": "Katà"
+ },
+ "KZ": {
+ "name": "Kàzasɨ̀tân"
+ },
+ "KI": {
+ "name": "Kèlèbati"
+ },
+ "KG": {
+ "name": "Kìdzisɨ̀tân"
+ },
+ "KE": {
+ "name": "Kɨnyà"
+ },
+ "CO": {
+ "name": "Kòlombìa"
+ },
+ "KM": {
+ "name": "Komolòs"
+ },
+ "CR": {
+ "name": "Kòsɨ̀tà Lekà"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "HR": {
+ "name": "Kòwɛshìa"
+ },
+ "PK": {
+ "name": "Kpakìsɨ̀tân"
+ },
+ "PG": {
+ "name": "Kpakpua Ginè È fūghū"
+ },
+ "PY": {
+ "name": "Kpalàgwɛ̂"
+ },
+ "PW": {
+ "name": "Kpàlawù"
+ },
+ "PA": {
+ "name": "Kpanàma"
+ },
+ "PE": {
+ "name": "Kpɛlû"
+ },
+ "PN": {
+ "name": "Kpitɨ̀kalè"
+ },
+ "PF": {
+ "name": "Kpoleneshìa è Fàlâŋnsì"
+ },
+ "PR": {
+ "name": "Kpǒto Leko"
+ },
+ "PL": {
+ "name": "Kpulàn"
+ },
+ "PT": {
+ "name": "Kputuwgà"
+ },
+ "CI": {
+ "name": "Ku Dɨ̀vûa"
+ },
+ "CG": {
+ "name": "Kuŋgù"
+ },
+ "KP": {
+ "name": "Kùulîa, Ekùw"
+ },
+ "KR": {
+ "name": "Kùulîa, Emàm"
+ },
+ "CU": {
+ "name": "Kuuwbà"
+ },
+ "KW": {
+ "name": "Kùwɛ̂"
+ },
+ "LR": {
+ "name": "Làebɛlìa"
+ },
+ "LV": {
+ "name": "Làtɨva"
+ },
+ "LA": {
+ "name": "Làwos"
+ },
+ "LY": {
+ "name": "Lebìa"
+ },
+ "LI": {
+ "name": "Letɨnshɨ̀n"
+ },
+ "LT": {
+ "name": "Lètwǎnyìa"
+ },
+ "RE": {
+ "name": "Lèyunyɔ̀ŋ"
+ },
+ "LB": {
+ "name": "Lɛbanè"
+ },
+ "LS": {
+ "name": "Lɛ̀sotù"
+ },
+ "RU": {
+ "name": "Loshìa"
+ },
+ "RO": {
+ "name": "Lùmanyìa"
+ },
+ "RW": {
+ "name": "Lùwandà"
+ },
+ "LU": {
+ "name": "Luzɨmbùʔ"
+ },
+ "MT": {
+ "name": "Maatà"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MG": {
+ "name": "Màdàgasɨkà"
+ },
+ "MV": {
+ "name": "Màdivè"
+ },
+ "FM": {
+ "name": "Maekòlòneshìa"
+ },
+ "MW": {
+ "name": "Màlawì"
+ },
+ "ML": {
+ "name": "Malè"
+ },
+ "MY": {
+ "name": "Màlɛshìa"
+ },
+ "MQ": {
+ "name": "Màtìnekì"
+ },
+ "YT": {
+ "name": "Màyotì"
+ },
+ "BT": {
+ "name": "Mbutàn"
+ },
+ "MX": {
+ "name": "Mɛkɨzikù"
+ },
+ "MM": {
+ "name": "Mǐanmà"
+ },
+ "MK": {
+ "name": "Mɨ̀sɨ̀donyìa"
+ },
+ "MA": {
+ "name": "Mòlokò"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MD": {
+ "name": "Mòodovà"
+ },
+ "MU": {
+ "name": "Mùleshwɨ̀s"
+ },
+ "MR": {
+ "name": "Mùlètanyìa"
+ },
+ "MC": {
+ "name": "Mùnaku"
+ },
+ "MN": {
+ "name": "Mùŋgolìa"
+ },
+ "MS": {
+ "name": "Mùŋtselà"
+ },
+ "MZ": {
+ "name": "Mùzàmbî"
+ },
+ "NE": {
+ "name": "Naedzà"
+ },
+ "NA": {
+ "name": "Nàmibìa"
+ },
+ "NR": {
+ "name": "Nàwulù"
+ },
+ "NL": {
+ "name": "Nedàlân"
+ },
+ "NP": {
+ "name": "Nɛkpâa"
+ },
+ "NI": {
+ "name": "Nikàlagwà"
+ },
+ "NU": {
+ "name": "Niyu"
+ },
+ "NO": {
+ "name": "Noowɛ̂ɛ"
+ },
+ "CY": {
+ "name": "Saekpùlù"
+ },
+ "WS": {
+ "name": "Sàmowà"
+ },
+ "SM": {
+ "name": "Sàn Màlenù"
+ },
+ "ST": {
+ "name": "Sawo Tɔ̀me à Kpèlènsikpɛ̀"
+ },
+ "SA": {
+ "name": "Sawudi Alabi"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Sɛchɛ̀lɛ̀s"
+ },
+ "SH": {
+ "name": "Sɛ̀n Èlenà"
+ },
+ "KN": {
+ "name": "Sɛ̀n Kî à Nevì"
+ },
+ "PM": {
+ "name": "Sɛ̀n Kpiyɛ̀ à Mikelɔŋ"
+ },
+ "LC": {
+ "name": "Sɛ̀n Lushìa"
+ },
+ "VC": {
+ "name": "Sɛ̀n Vinsɨ̀n à Gɨlenadi Ù tē"
+ },
+ "SN": {
+ "name": "Sɛ̀nɛ̀gâa"
+ },
+ "CF": {
+ "name": "Sɛnta Afɨlekan Lèkpobèlè"
+ },
+ "SZ": {
+ "name": "Shǔazìlân"
+ },
+ "SY": {
+ "name": "Silîa"
+ },
+ "SL": {
+ "name": "Silìa lûŋ"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SG": {
+ "name": "Siŋgàkpôo"
+ },
+ "ES": {
+ "name": "Sɨ̀kpɛ̂n"
+ },
+ "LK": {
+ "name": "Sɨ̀le Laŋkà"
+ },
+ "SK": {
+ "name": "Sɨ̀lòvɨkɨ̀a"
+ },
+ "SI": {
+ "name": "Sɨ̀lòvɨnyìa"
+ },
+ "SO": {
+ "name": "Sòmalìa"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SD": {
+ "name": "Sùdân"
+ },
+ "SE": {
+ "name": "Suedɨ̀n"
+ },
+ "CH": {
+ "name": "Suezàlân"
+ },
+ "SR": {
+ "name": "Sulènamè"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "TZ": {
+ "name": "Tàanzanyìa"
+ },
+ "TJ": {
+ "name": "Tàdzikìsɨ̀tân"
+ },
+ "TH": {
+ "name": "Taelàn"
+ },
+ "TW": {
+ "name": "Taewàn"
+ },
+ "TR": {
+ "name": "Teekì"
+ },
+ "TM": {
+ "name": "Tekɨmènèsɨ̀tân"
+ },
+ "TT": {
+ "name": "Tèlenedà à Tòbagù"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TG": {
+ "name": "Tugù"
+ },
+ "TN": {
+ "name": "Tùneshìa"
+ },
+ "TO": {
+ "name": "Tuŋgà"
+ },
+ "TK": {
+ "name": "Tuwkelawù"
+ },
+ "TV": {
+ "name": "Tuwvalùw"
+ },
+ "VI": {
+ "name": "U. S. Chwɨlà fɨ Mbuʔmbu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "OM": {
+ "name": "Umàn"
+ },
+ "US": {
+ "name": "USA"
+ },
+ "AU": {
+ "name": "Ùsɨ̀tɛ̀lɛlìa"
+ },
+ "AT": {
+ "name": "Usɨtɨ̀là"
+ },
+ "VU": {
+ "name": "Vànǔatùw"
+ },
+ "VA": {
+ "name": "Vatikàn Sɨ̀tɛ̂"
+ },
+ "VE": {
+ "name": "Vɛ̀nɛ̀zǔɛɛlà"
+ },
+ "VN": {
+ "name": "Vìyɛnàm"
+ },
+ "WF": {
+ "name": "Wales à Fùwtuwnà"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yɛmɛ̀n"
+ },
+ "UG": {
+ "name": "Yùgandà"
+ },
+ "UA": {
+ "name": "Yùkɛ̀lɛ̂"
+ },
+ "UY": {
+ "name": "Yulùgwɛ̂"
+ },
+ "AE": {
+ "name": "Yùnaetɛ Alab ɛmelɛ̀"
+ },
+ "GB": {
+ "name": "Yùnaetɛ Kiŋdɔ̀m"
+ },
+ "UZ": {
+ "name": "Yùzɨ̀bɛkìsɨ̀tân"
+ },
+ "ZM": {
+ "name": "Zambìa"
+ },
+ "NZ": {
+ "name": "Zìlân È fūghū"
+ },
+ "ZW": {
+ "name": "Zìmbagbɛ̀"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/ak.json b/vendor/commerceguys/intl/resources/country/ak.json
new file mode 100644
index 000000000..b95f77837
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/ak.json
@@ -0,0 +1,761 @@
+{
+ "AM": {
+ "name": "Aamenia"
+ },
+ "IE": {
+ "name": "Aereland"
+ },
+ "IS": {
+ "name": "Aesland"
+ },
+ "AF": {
+ "name": "Afganistan"
+ },
+ "ZA": {
+ "name": "Afrika Anaafo"
+ },
+ "CF": {
+ "name": "Afrika Finimfin Man"
+ },
+ "AR": {
+ "name": "Agyɛntina"
+ },
+ "GB": {
+ "name": "Ahendiman Nkabom"
+ },
+ "AX": {
+ "name": "Åland Islands"
+ },
+ "AL": {
+ "name": "Albenia"
+ },
+ "US": {
+ "name": "Amɛrika"
+ },
+ "AS": {
+ "name": "Amɛrika Samoa"
+ },
+ "VI": {
+ "name": "Amɛrika Virgin Islands"
+ },
+ "KR": {
+ "name": "Anaafo Koria"
+ },
+ "AD": {
+ "name": "Andora"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguila"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigua ne Baabuda"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AZ": {
+ "name": "Azebaegyan"
+ },
+ "BB": {
+ "name": "Baabados"
+ },
+ "BS": {
+ "name": "Bahama"
+ },
+ "BD": {
+ "name": "Bangladɛhye"
+ },
+ "BH": {
+ "name": "Baren"
+ },
+ "BZ": {
+ "name": "Beliz"
+ },
+ "BY": {
+ "name": "Bɛlarus"
+ },
+ "BE": {
+ "name": "Bɛlgyium"
+ },
+ "BM": {
+ "name": "Bɛmuda"
+ },
+ "BJ": {
+ "name": "Bɛnin"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia ne Hɛzegovina"
+ },
+ "BF": {
+ "name": "Bɔkina Faso"
+ },
+ "BG": {
+ "name": "Bɔlgeria"
+ },
+ "BW": {
+ "name": "Bɔtswana"
+ },
+ "BR": {
+ "name": "Brazil"
+ },
+ "VG": {
+ "name": "Britainfo Virgin Islands"
+ },
+ "IO": {
+ "name": "Britenfo Hɔn Man Wɔ India Po No Mu"
+ },
+ "BN": {
+ "name": "Brunae"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Butan"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Dɛnmak"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Dɔmeneka"
+ },
+ "DO": {
+ "name": "Dɔmeneka Kurokɛse"
+ },
+ "KP": {
+ "name": "Etifi Koria"
+ },
+ "SV": {
+ "name": "Ɛl Salvadɔ"
+ },
+ "ER": {
+ "name": "Ɛritrea"
+ },
+ "EE": {
+ "name": "Ɛstonia"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Figyi"
+ },
+ "FI": {
+ "name": "Finland"
+ },
+ "FK": {
+ "name": "Fɔlkman Aeland"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GF": {
+ "name": "Frɛnkye Gayana"
+ },
+ "PF": {
+ "name": "Frɛnkye Pɔlenehyia"
+ },
+ "FR": {
+ "name": "Frɛnkyeman"
+ },
+ "GH": {
+ "name": "Gaana"
+ },
+ "GA": {
+ "name": "Gabɔn"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GY": {
+ "name": "Gayana"
+ },
+ "GN": {
+ "name": "Gini"
+ },
+ "GW": {
+ "name": "Gini Bisaw"
+ },
+ "GQ": {
+ "name": "Gini Ikuweta"
+ },
+ "GR": {
+ "name": "Greekman"
+ },
+ "GL": {
+ "name": "Greenman"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GP": {
+ "name": "Guwadelup"
+ },
+ "GT": {
+ "name": "Guwatemala"
+ },
+ "DE": {
+ "name": "Gyaaman"
+ },
+ "JM": {
+ "name": "Gyameka"
+ },
+ "JP": {
+ "name": "Gyapan"
+ },
+ "GI": {
+ "name": "Gyebralta"
+ },
+ "DJ": {
+ "name": "Gyibuti"
+ },
+ "JO": {
+ "name": "Gyɔdan"
+ },
+ "GE": {
+ "name": "Gyɔgyea"
+ },
+ "HU": {
+ "name": "Hangari"
+ },
+ "HT": {
+ "name": "Heiti"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HN": {
+ "name": "Hɔnduras"
+ },
+ "EC": {
+ "name": "Ikuwadɔ"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indɔnehyia"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Itali"
+ },
+ "ET": {
+ "name": "Ithiopia"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "NC": {
+ "name": "Kaledonia Foforo"
+ },
+ "KH": {
+ "name": "Kambodia"
+ },
+ "CM": {
+ "name": "Kamɛrun"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "QA": {
+ "name": "Kata"
+ },
+ "KZ": {
+ "name": "Kazakstan"
+ },
+ "KY": {
+ "name": "Kemanfo Islands"
+ },
+ "CV": {
+ "name": "Kepvɛdfo Islands"
+ },
+ "KG": {
+ "name": "Kɛɛgestan"
+ },
+ "KE": {
+ "name": "Kɛnya"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "CO": {
+ "name": "Kolombia"
+ },
+ "CG": {
+ "name": "Kongo"
+ },
+ "CD": {
+ "name": "Kongo (Zair)"
+ },
+ "CK": {
+ "name": "Kook Nsupɔw"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KM": {
+ "name": "Kɔmɔrɔs"
+ },
+ "CR": {
+ "name": "Kɔsta Rika"
+ },
+ "HR": {
+ "name": "Krowehyia"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "KW": {
+ "name": "Kuwete"
+ },
+ "TD": {
+ "name": "Kyad"
+ },
+ "CN": {
+ "name": "Kyaena"
+ },
+ "CZ": {
+ "name": "Kyɛk Kurokɛse"
+ },
+ "CL": {
+ "name": "Kyili"
+ },
+ "CI": {
+ "name": "La Côte d’Ivoire"
+ },
+ "LR": {
+ "name": "Laeberia"
+ },
+ "LU": {
+ "name": "Laksembɛg"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LV": {
+ "name": "Latvia"
+ },
+ "LI": {
+ "name": "Lektenstaen"
+ },
+ "LB": {
+ "name": "Lɛbanɔn"
+ },
+ "LS": {
+ "name": "Lɛsutu"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LT": {
+ "name": "Lituwenia"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MG": {
+ "name": "Madagaska"
+ },
+ "FM": {
+ "name": "Maekronehyia"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MV": {
+ "name": "Maldives"
+ },
+ "MY": {
+ "name": "Malehyia"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MS": {
+ "name": "Mantserat"
+ },
+ "MH": {
+ "name": "Marshall Islands"
+ },
+ "MK": {
+ "name": "Masedonia"
+ },
+ "MQ": {
+ "name": "Matinik"
+ },
+ "YT": {
+ "name": "Mayɔte"
+ },
+ "MX": {
+ "name": "Mɛksiko"
+ },
+ "MM": {
+ "name": "Miyanma"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MA": {
+ "name": "Moroko"
+ },
+ "MZ": {
+ "name": "Mozambik"
+ },
+ "MD": {
+ "name": "Mɔldova"
+ },
+ "MT": {
+ "name": "Mɔlta"
+ },
+ "MC": {
+ "name": "Mɔnako"
+ },
+ "MN": {
+ "name": "Mɔngolia"
+ },
+ "MU": {
+ "name": "Mɔrehyeɔs"
+ },
+ "MR": {
+ "name": "Mɔretenia"
+ },
+ "NG": {
+ "name": "Naegyeria"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Naworu"
+ },
+ "NI": {
+ "name": "Nekaraguwa"
+ },
+ "NL": {
+ "name": "Nɛdɛland"
+ },
+ "NP": {
+ "name": "Nɛpɔl"
+ },
+ "NE": {
+ "name": "Nigyɛ"
+ },
+ "EG": {
+ "name": "Nisrim"
+ },
+ "NU": {
+ "name": "Niyu"
+ },
+ "MP": {
+ "name": "Northern Mariana Islands"
+ },
+ "NF": {
+ "name": "Nɔfolk Aeland"
+ },
+ "NO": {
+ "name": "Nɔɔwe"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "DZ": {
+ "name": "Ɔlgyeria"
+ },
+ "AU": {
+ "name": "Ɔstrelia"
+ },
+ "AT": {
+ "name": "Ɔstria"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palestaen West Bank ne Gaza"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua Guinea Foforo"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PH": {
+ "name": "Philippines"
+ },
+ "PN": {
+ "name": "Pitcairn"
+ },
+ "PL": {
+ "name": "Poland"
+ },
+ "PT": {
+ "name": "Pɔtugal"
+ },
+ "PR": {
+ "name": "Puɛto Riko"
+ },
+ "RE": {
+ "name": "Reyuniɔn"
+ },
+ "RO": {
+ "name": "Romenia"
+ },
+ "RU": {
+ "name": "Rɔhyea"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "CY": {
+ "name": "Saeprɔs"
+ },
+ "SH": {
+ "name": "Saint Helena"
+ },
+ "KN": {
+ "name": "Saint Kitts ne Nɛves"
+ },
+ "LC": {
+ "name": "Saint Lucia"
+ },
+ "PM": {
+ "name": "Saint Pierre ne Miquelon"
+ },
+ "VC": {
+ "name": "Saint Vincent ne Grenadines"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "São Tomé and Príncipe"
+ },
+ "SA": {
+ "name": "Saudi Arabia"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seyhyɛl"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapɔ"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Siria"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovinia"
+ },
+ "SB": {
+ "name": "Solomon Islands"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "ES": {
+ "name": "Spain"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swaziland"
+ },
+ "SE": {
+ "name": "Sweden"
+ },
+ "CH": {
+ "name": "Swetzaland"
+ },
+ "TH": {
+ "name": "Taeland"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TJ": {
+ "name": "Tajikistan"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TR": {
+ "name": "Tɛɛki"
+ },
+ "TM": {
+ "name": "Tɛkmɛnistan"
+ },
+ "TL": {
+ "name": "Timɔ Boka"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad ne Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunihyia"
+ },
+ "TC": {
+ "name": "Turks ne Caicos Islands"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukren"
+ },
+ "AE": {
+ "name": "United Arab Emirates"
+ },
+ "UZ": {
+ "name": "Uzbɛkistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatican Man"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Viɛtnam"
+ },
+ "WF": {
+ "name": "Wallis ne Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yɛmen"
+ },
+ "UY": {
+ "name": "Yurugwae"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zembabwe"
+ },
+ "NZ": {
+ "name": "Ziland Foforo"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/am.json b/vendor/commerceguys/intl/resources/country/am.json
new file mode 100644
index 000000000..c0abf4fee
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/am.json
@@ -0,0 +1,761 @@
+{
+ "HU": {
+ "name": "ሀንጋሪ"
+ },
+ "HT": {
+ "name": "ሀይቲ"
+ },
+ "IN": {
+ "name": "ህንድ"
+ },
+ "HN": {
+ "name": "ሆንዱራስ"
+ },
+ "HK": {
+ "name": "ሆንግ ኮንግ ልዩ የአስተዳደር ክልል ቻይና"
+ },
+ "LU": {
+ "name": "ሉክሰምበርግ"
+ },
+ "LY": {
+ "name": "ሊቢያ"
+ },
+ "LB": {
+ "name": "ሊባኖስ"
+ },
+ "LT": {
+ "name": "ሊቱዌኒያ"
+ },
+ "LI": {
+ "name": "ሊችተንስታይን"
+ },
+ "LV": {
+ "name": "ላትቪያ"
+ },
+ "LA": {
+ "name": "ላኦስ"
+ },
+ "LR": {
+ "name": "ላይቤሪያ"
+ },
+ "LS": {
+ "name": "ሌሶቶ"
+ },
+ "MK": {
+ "name": "መቄዶንያ"
+ },
+ "FM": {
+ "name": "ሚክሮኔዢያ"
+ },
+ "ML": {
+ "name": "ማሊ"
+ },
+ "MW": {
+ "name": "ማላዊ"
+ },
+ "MY": {
+ "name": "ማሌዢያ"
+ },
+ "MT": {
+ "name": "ማልታ"
+ },
+ "MV": {
+ "name": "ማልዲቭስ"
+ },
+ "MH": {
+ "name": "ማርሻል አይላንድ"
+ },
+ "MQ": {
+ "name": "ማርቲኒክ"
+ },
+ "MO": {
+ "name": "ማካኡ ልዩ የአስተዳደር ክልል ቻይና"
+ },
+ "MM": {
+ "name": "ማይናማር(በርማ)"
+ },
+ "MG": {
+ "name": "ማዳጋስካር"
+ },
+ "MX": {
+ "name": "ሜክሲኮ"
+ },
+ "YT": {
+ "name": "ሜይኦቴ"
+ },
+ "TL": {
+ "name": "ምስራቅ ሌስት"
+ },
+ "EH": {
+ "name": "ምዕራባዊ ሳህራ"
+ },
+ "MD": {
+ "name": "ሞልዶቫ"
+ },
+ "MU": {
+ "name": "ሞሪሸስ"
+ },
+ "MR": {
+ "name": "ሞሪቴኒያ"
+ },
+ "MA": {
+ "name": "ሞሮኮ"
+ },
+ "MC": {
+ "name": "ሞናኮ"
+ },
+ "ME": {
+ "name": "ሞንተኔግሮ"
+ },
+ "MS": {
+ "name": "ሞንትሴራት"
+ },
+ "MN": {
+ "name": "ሞንጎሊያ"
+ },
+ "MZ": {
+ "name": "ሞዛምቢክ"
+ },
+ "RW": {
+ "name": "ሩዋንዳ"
+ },
+ "RE": {
+ "name": "ሪዩኒየን"
+ },
+ "RU": {
+ "name": "ራሽያ"
+ },
+ "RO": {
+ "name": "ሮሜኒያ"
+ },
+ "SB": {
+ "name": "ሰሎሞን ደሴት"
+ },
+ "KP": {
+ "name": "ሰሜን ኮሪያ"
+ },
+ "RS": {
+ "name": "ሰርብያ"
+ },
+ "SO": {
+ "name": "ሱማሌ"
+ },
+ "SR": {
+ "name": "ሱሪናም"
+ },
+ "SZ": {
+ "name": "ሱዋዚላንድ"
+ },
+ "SD": {
+ "name": "ሱዳን"
+ },
+ "LK": {
+ "name": "ሲሪላንካ"
+ },
+ "SY": {
+ "name": "ሲሪያ"
+ },
+ "SC": {
+ "name": "ሲሼልስ"
+ },
+ "SX": {
+ "name": "ሲንት ማርተን"
+ },
+ "SG": {
+ "name": "ሲንጋፖር"
+ },
+ "WS": {
+ "name": "ሳሞአ"
+ },
+ "SM": {
+ "name": "ሳን ማሪኖ"
+ },
+ "ST": {
+ "name": "ሳኦ ቶሜ እና ፕሪንሲፔ"
+ },
+ "SA": {
+ "name": "ሳውድአረቢያ"
+ },
+ "CY": {
+ "name": "ሳይፕረስ"
+ },
+ "SL": {
+ "name": "ሴራሊዮን"
+ },
+ "SN": {
+ "name": "ሴኔጋል"
+ },
+ "SH": {
+ "name": "ሴንት ሄለና"
+ },
+ "LC": {
+ "name": "ሴንት ሉቺያ"
+ },
+ "MF": {
+ "name": "ሴንት ማርቲን"
+ },
+ "EA": {
+ "name": "ሴኡታና ሜሊላ"
+ },
+ "SK": {
+ "name": "ስሎቫኪያ"
+ },
+ "SI": {
+ "name": "ስሎቬኒያ"
+ },
+ "SJ": {
+ "name": "ስቫልባርድ እና ጃን ማየን"
+ },
+ "CH": {
+ "name": "ስዊዘርላንድ"
+ },
+ "SE": {
+ "name": "ስዊድን"
+ },
+ "ES": {
+ "name": "ስፔን"
+ },
+ "BL": {
+ "name": "ቅዱስ በርቴሎሜ"
+ },
+ "VC": {
+ "name": "ቅዱስ ቪንሴንት እና ግሬናዲንስ"
+ },
+ "KN": {
+ "name": "ቅዱስ ኪትስ እና ኔቪስ"
+ },
+ "PM": {
+ "name": "ቅዱስ ፒዬር እና ሚኩኤሎን"
+ },
+ "BT": {
+ "name": "ቡህታን"
+ },
+ "BG": {
+ "name": "ቡልጌሪያ"
+ },
+ "BF": {
+ "name": "ቡርኪና ፋሶ"
+ },
+ "BS": {
+ "name": "ባሃማስ"
+ },
+ "BH": {
+ "name": "ባህሬን"
+ },
+ "BB": {
+ "name": "ባርቤዶስ"
+ },
+ "BD": {
+ "name": "ባንግላዲሽ"
+ },
+ "BZ": {
+ "name": "ቤሊዘ"
+ },
+ "BY": {
+ "name": "ቤላሩስ"
+ },
+ "BE": {
+ "name": "ቤልጄም"
+ },
+ "BM": {
+ "name": "ቤርሙዳ"
+ },
+ "BJ": {
+ "name": "ቤኒን"
+ },
+ "BN": {
+ "name": "ብሩኒ"
+ },
+ "BI": {
+ "name": "ብሩንዲ"
+ },
+ "BR": {
+ "name": "ብራዚል"
+ },
+ "BO": {
+ "name": "ቦሊቪያ"
+ },
+ "BA": {
+ "name": "ቦስኒያ እና ሄርዞጎቪኒያ"
+ },
+ "BW": {
+ "name": "ቦትስዋና"
+ },
+ "VA": {
+ "name": "ቫቲካን ከተማ"
+ },
+ "VU": {
+ "name": "ቫኑአቱ"
+ },
+ "VN": {
+ "name": "ቬትናም"
+ },
+ "VE": {
+ "name": "ቬንዙዌላ"
+ },
+ "TR": {
+ "name": "ቱርክ"
+ },
+ "TM": {
+ "name": "ቱርክሜኒስታን"
+ },
+ "TV": {
+ "name": "ቱቫሉ"
+ },
+ "TN": {
+ "name": "ቱኒዚያ"
+ },
+ "TZ": {
+ "name": "ታንዛኒያ"
+ },
+ "TH": {
+ "name": "ታይላንድ"
+ },
+ "TW": {
+ "name": "ታይዋን"
+ },
+ "TJ": {
+ "name": "ታጃኪስታን"
+ },
+ "TA": {
+ "name": "ትሪስታን ዲ ኩንሃ"
+ },
+ "TT": {
+ "name": "ትሪናዳድ እና ቶቤጎ"
+ },
+ "TO": {
+ "name": "ቶንጋ"
+ },
+ "TK": {
+ "name": "ቶክላው"
+ },
+ "TG": {
+ "name": "ቶጐ"
+ },
+ "CL": {
+ "name": "ቺሊ"
+ },
+ "CN": {
+ "name": "ቻይና"
+ },
+ "TD": {
+ "name": "ቻድ"
+ },
+ "CZ": {
+ "name": "ቼክ ሪፑብሊክ"
+ },
+ "NU": {
+ "name": "ኒኡይ"
+ },
+ "NI": {
+ "name": "ኒካራጓ"
+ },
+ "NC": {
+ "name": "ኒው ካሌዶኒያ"
+ },
+ "NZ": {
+ "name": "ኒው ዚላንድ"
+ },
+ "NE": {
+ "name": "ኒጀር"
+ },
+ "NA": {
+ "name": "ናሚቢያ"
+ },
+ "NR": {
+ "name": "ናኡሩ"
+ },
+ "NG": {
+ "name": "ናይጄሪያ"
+ },
+ "NL": {
+ "name": "ኔዘርላንድ"
+ },
+ "NP": {
+ "name": "ኔፓል"
+ },
+ "NO": {
+ "name": "ኖርዌይ"
+ },
+ "NF": {
+ "name": "ኖርፎልክ ደሴት"
+ },
+ "AL": {
+ "name": "አልባኒያ"
+ },
+ "DZ": {
+ "name": "አልጄሪያ"
+ },
+ "AW": {
+ "name": "አሩባ"
+ },
+ "AM": {
+ "name": "አርሜኒያ"
+ },
+ "AR": {
+ "name": "አርጀንቲና"
+ },
+ "AC": {
+ "name": "አሴንሽን ደሴት"
+ },
+ "AG": {
+ "name": "አንቲጓ እና ባሩዳ"
+ },
+ "AQ": {
+ "name": "አንታርክቲካ"
+ },
+ "AD": {
+ "name": "አንዶራ"
+ },
+ "AI": {
+ "name": "አንጉኢላ"
+ },
+ "AO": {
+ "name": "አንጐላ"
+ },
+ "AU": {
+ "name": "አውስትራልያ"
+ },
+ "AZ": {
+ "name": "አዘርባጃን"
+ },
+ "IE": {
+ "name": "አየርላንድ"
+ },
+ "IM": {
+ "name": "አይል ኦፍ ማን"
+ },
+ "IS": {
+ "name": "አይስላንድ"
+ },
+ "AF": {
+ "name": "አፍጋኒስታን"
+ },
+ "UY": {
+ "name": "ኡራጓይ"
+ },
+ "UZ": {
+ "name": "ኡዝቤኪስታን"
+ },
+ "IQ": {
+ "name": "ኢራቅ"
+ },
+ "IR": {
+ "name": "ኢራን"
+ },
+ "ET": {
+ "name": "ኢትዮጵያ"
+ },
+ "ID": {
+ "name": "ኢንዶኔዢያ"
+ },
+ "GQ": {
+ "name": "ኢኳቶሪያል ጊኒ"
+ },
+ "EC": {
+ "name": "ኢኳዶር"
+ },
+ "SV": {
+ "name": "ኤል ሳልቫዶር"
+ },
+ "ER": {
+ "name": "ኤርትራ"
+ },
+ "EE": {
+ "name": "ኤስቶኒያ"
+ },
+ "IL": {
+ "name": "እስራኤል"
+ },
+ "GB": {
+ "name": "እንግሊዝ"
+ },
+ "OM": {
+ "name": "ኦማን"
+ },
+ "AT": {
+ "name": "ኦስትሪያ"
+ },
+ "CW": {
+ "name": "ኩራሳዎ"
+ },
+ "CU": {
+ "name": "ኩባ"
+ },
+ "CK": {
+ "name": "ኩክ ደሴቶች"
+ },
+ "KI": {
+ "name": "ኪሪባቲ"
+ },
+ "KG": {
+ "name": "ኪርጊስታን"
+ },
+ "CM": {
+ "name": "ካሜሩን"
+ },
+ "KH": {
+ "name": "ካምቦዲያ"
+ },
+ "CA": {
+ "name": "ካናዳ"
+ },
+ "KZ": {
+ "name": "ካዛኪስታን"
+ },
+ "KY": {
+ "name": "ካይማን ደሴቶች"
+ },
+ "KE": {
+ "name": "ኬንያ"
+ },
+ "CV": {
+ "name": "ኬፕ ቬርዴ"
+ },
+ "HR": {
+ "name": "ክሮኤሽያ"
+ },
+ "KW": {
+ "name": "ክዌት"
+ },
+ "CO": {
+ "name": "ኮሎምቢያ"
+ },
+ "KM": {
+ "name": "ኮሞሮስ"
+ },
+ "CR": {
+ "name": "ኮስታ ሪካ"
+ },
+ "XK": {
+ "name": "ኮሶቮ"
+ },
+ "CI": {
+ "name": "ኮት ዲቯር"
+ },
+ "CG": {
+ "name": "ኮንጎ ብራዛቪል"
+ },
+ "CD": {
+ "name": "ኮንጎ-ኪንሻሳ"
+ },
+ "CC": {
+ "name": "ኮኮስ(ኬሊንግ) ደሴቶች"
+ },
+ "QA": {
+ "name": "ኳታር"
+ },
+ "WF": {
+ "name": "ዋሊስ እና ፉቱና ደሴቶች"
+ },
+ "ZW": {
+ "name": "ዚምቧቤ"
+ },
+ "ZM": {
+ "name": "ዛምቢያ"
+ },
+ "YE": {
+ "name": "የመን"
+ },
+ "CF": {
+ "name": "የመካከለኛው አፍሪካ ሪፐብሊክ"
+ },
+ "MP": {
+ "name": "የሰሜናዊ ማሪያና ደሴቶች"
+ },
+ "IO": {
+ "name": "የብሪታኒያ ህንድ ውቂያኖስ ግዛት"
+ },
+ "AE": {
+ "name": "የተባበሩት ዓረብ ኤምሬትስ"
+ },
+ "TC": {
+ "name": "የቱርኮችና የካኢኮስ ደሴቶች"
+ },
+ "AX": {
+ "name": "የአላንድ ደሴቶች"
+ },
+ "AS": {
+ "name": "የአሜሪካ ሳሞአ"
+ },
+ "VI": {
+ "name": "የአሜሪካ ቨርጂን ደሴቶች"
+ },
+ "VG": {
+ "name": "የእንግሊዝ ቨርጂን ደሴቶች"
+ },
+ "BQ": {
+ "name": "የካሪቢያን ኔዘርላንድስ"
+ },
+ "IC": {
+ "name": "የካናሪ ደሴቶች"
+ },
+ "UM": {
+ "name": "የዩ ኤስ ጠረፍ ላይ ያሉ ደሴቶች"
+ },
+ "CX": {
+ "name": "የገና ደሴት"
+ },
+ "TF": {
+ "name": "የፈረንሳይ ደቡባዊ ግዛቶች"
+ },
+ "GF": {
+ "name": "የፈረንሳይ ጉዊአና"
+ },
+ "PF": {
+ "name": "የፈረንሳይ ፖሊኔዢያ"
+ },
+ "FO": {
+ "name": "የፋሮ ደሴቶች"
+ },
+ "PS": {
+ "name": "የፍልስጤም ግዛት"
+ },
+ "FK": {
+ "name": "የፎክላንድ ደሴቶች"
+ },
+ "US": {
+ "name": "ዩናይትድ ስቴትስ"
+ },
+ "UA": {
+ "name": "ዩክሬን"
+ },
+ "UG": {
+ "name": "ዩጋንዳ"
+ },
+ "SS": {
+ "name": "ደቡብ ሱዳን"
+ },
+ "ZA": {
+ "name": "ደቡብ አፍሪካ"
+ },
+ "KR": {
+ "name": "ደቡብ ኮሪያ"
+ },
+ "GS": {
+ "name": "ደቡብ ጆርጂያ እና የደቡብ ሳንድዊች ደሴቶች"
+ },
+ "DG": {
+ "name": "ዲዬጎ ጋርሺያ"
+ },
+ "DK": {
+ "name": "ዴንማርክ"
+ },
+ "DM": {
+ "name": "ዶሚኒካ"
+ },
+ "DO": {
+ "name": "ዶሚኒክ ሪፑብሊክ"
+ },
+ "DE": {
+ "name": "ጀርመን"
+ },
+ "JE": {
+ "name": "ጀርሲ"
+ },
+ "DJ": {
+ "name": "ጂቡቲ"
+ },
+ "GI": {
+ "name": "ጂብራልተር"
+ },
+ "JM": {
+ "name": "ጃማይካ"
+ },
+ "JP": {
+ "name": "ጃፓን"
+ },
+ "JO": {
+ "name": "ጆርዳን"
+ },
+ "GE": {
+ "name": "ጆርጂያ"
+ },
+ "GG": {
+ "name": "ጉርነሲ"
+ },
+ "GU": {
+ "name": "ጉዋም"
+ },
+ "GT": {
+ "name": "ጉዋቲማላ"
+ },
+ "GP": {
+ "name": "ጉዋደሉፕ"
+ },
+ "GY": {
+ "name": "ጉያና"
+ },
+ "GN": {
+ "name": "ጊኒ"
+ },
+ "GW": {
+ "name": "ጊኒ ቢሳኦ"
+ },
+ "GM": {
+ "name": "ጋምቢያ"
+ },
+ "GA": {
+ "name": "ጋቦን"
+ },
+ "GH": {
+ "name": "ጋና"
+ },
+ "GL": {
+ "name": "ግሪንላንድ"
+ },
+ "GR": {
+ "name": "ግሪክ"
+ },
+ "GD": {
+ "name": "ግሬናዳ"
+ },
+ "EG": {
+ "name": "ግብጽ"
+ },
+ "IT": {
+ "name": "ጣሊያን"
+ },
+ "FR": {
+ "name": "ፈረንሳይ"
+ },
+ "PH": {
+ "name": "ፊሊፒንስ"
+ },
+ "FI": {
+ "name": "ፊንላንድ"
+ },
+ "FJ": {
+ "name": "ፊጂ"
+ },
+ "PN": {
+ "name": "ፒትካኢርን አይስላንድ"
+ },
+ "PW": {
+ "name": "ፓላው"
+ },
+ "PY": {
+ "name": "ፓራጓይ"
+ },
+ "PA": {
+ "name": "ፓናማ"
+ },
+ "PK": {
+ "name": "ፓኪስታን"
+ },
+ "PG": {
+ "name": "ፓፑዋ ኒው ጊኒ"
+ },
+ "PE": {
+ "name": "ፔሩ"
+ },
+ "PL": {
+ "name": "ፖላንድ"
+ },
+ "PT": {
+ "name": "ፖርቱጋል"
+ },
+ "PR": {
+ "name": "ፖርታ ሪኮ"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/ar-LY.json b/vendor/commerceguys/intl/resources/country/ar-LY.json
new file mode 100644
index 000000000..6796f6d00
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/ar-LY.json
@@ -0,0 +1,761 @@
+{
+ "ET": {
+ "name": "إثيوبيا"
+ },
+ "AZ": {
+ "name": "أذربيجان"
+ },
+ "AM": {
+ "name": "أرمينيا"
+ },
+ "AW": {
+ "name": "أروبا"
+ },
+ "ER": {
+ "name": "إريتريا"
+ },
+ "ES": {
+ "name": "إسبانيا"
+ },
+ "AU": {
+ "name": "أستراليا"
+ },
+ "EE": {
+ "name": "إستونيا"
+ },
+ "IL": {
+ "name": "إسرائيل"
+ },
+ "AF": {
+ "name": "أفغانستان"
+ },
+ "PS": {
+ "name": "الأراضي الفلسطينية"
+ },
+ "AR": {
+ "name": "الأرجنتين"
+ },
+ "JO": {
+ "name": "الأردن"
+ },
+ "TF": {
+ "name": "الأقاليم الجنوبية الفرنسية"
+ },
+ "IO": {
+ "name": "الإقليم البريطاني في المحيط الهندي"
+ },
+ "EC": {
+ "name": "الإكوادور"
+ },
+ "AE": {
+ "name": "الإمارات العربية المتحدة"
+ },
+ "AL": {
+ "name": "ألبانيا"
+ },
+ "BH": {
+ "name": "البحرين"
+ },
+ "BR": {
+ "name": "البرازيل"
+ },
+ "PT": {
+ "name": "البرتغال"
+ },
+ "BS": {
+ "name": "البهاما"
+ },
+ "BA": {
+ "name": "البوسنة والهرسك"
+ },
+ "ME": {
+ "name": "الجبل الأسود"
+ },
+ "DZ": {
+ "name": "الجزائر"
+ },
+ "DK": {
+ "name": "الدانمرك"
+ },
+ "CV": {
+ "name": "الرأس الأخضر"
+ },
+ "SV": {
+ "name": "السلفادور"
+ },
+ "SN": {
+ "name": "السنغال"
+ },
+ "SD": {
+ "name": "السودان"
+ },
+ "SE": {
+ "name": "السويد"
+ },
+ "EH": {
+ "name": "الصحراء الغربية"
+ },
+ "SO": {
+ "name": "الصومال"
+ },
+ "CN": {
+ "name": "الصين"
+ },
+ "IQ": {
+ "name": "العراق"
+ },
+ "GA": {
+ "name": "الغابون"
+ },
+ "VA": {
+ "name": "الفاتيكان"
+ },
+ "PH": {
+ "name": "الفلبين"
+ },
+ "CM": {
+ "name": "الكاميرون"
+ },
+ "CG": {
+ "name": "الكونغو - برازافيل"
+ },
+ "CD": {
+ "name": "الكونغو - كينشاسا"
+ },
+ "KW": {
+ "name": "الكويت"
+ },
+ "DE": {
+ "name": "ألمانيا"
+ },
+ "MA": {
+ "name": "المغرب"
+ },
+ "MX": {
+ "name": "المكسيك"
+ },
+ "SA": {
+ "name": "المملكة العربية السعودية"
+ },
+ "GB": {
+ "name": "المملكة المتحدة"
+ },
+ "NO": {
+ "name": "النرويج"
+ },
+ "AT": {
+ "name": "النمسا"
+ },
+ "NE": {
+ "name": "النيجر"
+ },
+ "IN": {
+ "name": "الهند"
+ },
+ "US": {
+ "name": "الولايات المتحدة"
+ },
+ "JP": {
+ "name": "اليابان"
+ },
+ "YE": {
+ "name": "اليمن"
+ },
+ "GR": {
+ "name": "اليونان"
+ },
+ "AQ": {
+ "name": "أنتاركتيكا"
+ },
+ "AG": {
+ "name": "أنتيغوا وبربودا"
+ },
+ "AD": {
+ "name": "أندورا"
+ },
+ "ID": {
+ "name": "إندونيسيا"
+ },
+ "AO": {
+ "name": "أنغولا"
+ },
+ "AI": {
+ "name": "أنغويلا"
+ },
+ "UY": {
+ "name": "أوروغواي"
+ },
+ "UZ": {
+ "name": "أوزبكستان"
+ },
+ "UG": {
+ "name": "أوغندا"
+ },
+ "UA": {
+ "name": "أوكرانيا"
+ },
+ "IR": {
+ "name": "إيران"
+ },
+ "IE": {
+ "name": "أيرلندا"
+ },
+ "IS": {
+ "name": "أيسلندا"
+ },
+ "IT": {
+ "name": "إيطاليا"
+ },
+ "PG": {
+ "name": "بابوا غينيا الجديدة"
+ },
+ "PY": {
+ "name": "باراغواي"
+ },
+ "PK": {
+ "name": "باكستان"
+ },
+ "PW": {
+ "name": "بالاو"
+ },
+ "BW": {
+ "name": "بتسوانا"
+ },
+ "BB": {
+ "name": "بربادوس"
+ },
+ "BM": {
+ "name": "برمودا"
+ },
+ "BN": {
+ "name": "بروناي"
+ },
+ "BE": {
+ "name": "بلجيكا"
+ },
+ "BG": {
+ "name": "بلغاريا"
+ },
+ "BZ": {
+ "name": "بليز"
+ },
+ "BD": {
+ "name": "بنغلاديش"
+ },
+ "PA": {
+ "name": "بنما"
+ },
+ "BJ": {
+ "name": "بنين"
+ },
+ "BT": {
+ "name": "بوتان"
+ },
+ "PR": {
+ "name": "بورتوريكو"
+ },
+ "BF": {
+ "name": "بوركينا فاسو"
+ },
+ "BI": {
+ "name": "بوروندي"
+ },
+ "PL": {
+ "name": "بولندا"
+ },
+ "BO": {
+ "name": "بوليفيا"
+ },
+ "PF": {
+ "name": "بولينيزيا الفرنسية"
+ },
+ "PE": {
+ "name": "بيرو"
+ },
+ "BY": {
+ "name": "بيلاروس"
+ },
+ "TH": {
+ "name": "تايلاند"
+ },
+ "TW": {
+ "name": "تايوان"
+ },
+ "TM": {
+ "name": "تركمانستان"
+ },
+ "TR": {
+ "name": "تركيا"
+ },
+ "TA": {
+ "name": "تريستان دي كونها"
+ },
+ "TT": {
+ "name": "ترينيداد وتوباغو"
+ },
+ "TD": {
+ "name": "تشاد"
+ },
+ "CL": {
+ "name": "تشيلي"
+ },
+ "TZ": {
+ "name": "تنزانيا"
+ },
+ "TG": {
+ "name": "توغو"
+ },
+ "TV": {
+ "name": "توفالو"
+ },
+ "TK": {
+ "name": "توكيلو"
+ },
+ "TN": {
+ "name": "تونس"
+ },
+ "TO": {
+ "name": "تونغا"
+ },
+ "TL": {
+ "name": "تيمور- ليشتي"
+ },
+ "JM": {
+ "name": "جامايكا"
+ },
+ "GI": {
+ "name": "جبل طارق"
+ },
+ "AX": {
+ "name": "جزر آلاند"
+ },
+ "KM": {
+ "name": "جزر القمر"
+ },
+ "IC": {
+ "name": "جزر الكناري"
+ },
+ "MQ": {
+ "name": "جزر المارتينيك"
+ },
+ "MV": {
+ "name": "جزر المالديف"
+ },
+ "UM": {
+ "name": "جزر الولايات المتحدة النائية"
+ },
+ "PN": {
+ "name": "جزر بيتكيرن"
+ },
+ "TC": {
+ "name": "جزر توركس وكايكوس"
+ },
+ "SB": {
+ "name": "جزر سليمان"
+ },
+ "FO": {
+ "name": "جزر فارو"
+ },
+ "FK": {
+ "name": "جزر فوكلاند"
+ },
+ "VG": {
+ "name": "جزر فيرجن البريطانية"
+ },
+ "VI": {
+ "name": "جزر فيرجن التابعة للولايات المتحدة"
+ },
+ "KY": {
+ "name": "جزر كايمان"
+ },
+ "CK": {
+ "name": "جزر كوك"
+ },
+ "CC": {
+ "name": "جزر كوكوس (كيلينغ)"
+ },
+ "MH": {
+ "name": "جزر مارشال"
+ },
+ "MP": {
+ "name": "جزر ماريانا الشمالية"
+ },
+ "WF": {
+ "name": "جزر والس وفوتونا"
+ },
+ "AC": {
+ "name": "جزيرة أسينشيون"
+ },
+ "CX": {
+ "name": "جزيرة الكريسماس"
+ },
+ "IM": {
+ "name": "جزيرة مان"
+ },
+ "NF": {
+ "name": "جزيرة نورفولك"
+ },
+ "CF": {
+ "name": "جمهورية أفريقيا الوسطى"
+ },
+ "CZ": {
+ "name": "جمهورية التشيك"
+ },
+ "DO": {
+ "name": "جمهورية الدومينيكان"
+ },
+ "ZA": {
+ "name": "جنوب أفريقيا"
+ },
+ "SS": {
+ "name": "جنوب السودان"
+ },
+ "GE": {
+ "name": "جورجيا"
+ },
+ "GS": {
+ "name": "جورجيا الجنوبية وجزر ساندويتش الجنوبية"
+ },
+ "DJ": {
+ "name": "جيبوتي"
+ },
+ "JE": {
+ "name": "جيرسي"
+ },
+ "DM": {
+ "name": "دومينيكا"
+ },
+ "DG": {
+ "name": "دييغو غارسيا"
+ },
+ "RW": {
+ "name": "رواندا"
+ },
+ "RU": {
+ "name": "روسيا"
+ },
+ "RO": {
+ "name": "رومانيا"
+ },
+ "RE": {
+ "name": "روينيون"
+ },
+ "ZM": {
+ "name": "زامبيا"
+ },
+ "ZW": {
+ "name": "زيمبابوي"
+ },
+ "CI": {
+ "name": "ساحل العاج"
+ },
+ "WS": {
+ "name": "ساموا"
+ },
+ "AS": {
+ "name": "ساموا الأمريكية"
+ },
+ "BL": {
+ "name": "سان بارتليمي"
+ },
+ "SM": {
+ "name": "سان مارينو"
+ },
+ "PM": {
+ "name": "سانت بيير وميكولون"
+ },
+ "VC": {
+ "name": "سانت فنسنت وجزر غرينادين"
+ },
+ "KN": {
+ "name": "سانت كيتس ونيفيس"
+ },
+ "LC": {
+ "name": "سانت لوسيا"
+ },
+ "MF": {
+ "name": "سانت مارتن"
+ },
+ "SH": {
+ "name": "سانت هيلانة"
+ },
+ "ST": {
+ "name": "ساو تومي وبرينسيبي"
+ },
+ "EA": {
+ "name": "سبتة ومليلية"
+ },
+ "LK": {
+ "name": "سريلانكا"
+ },
+ "SJ": {
+ "name": "سفالبارد وجان مايان"
+ },
+ "SK": {
+ "name": "سلوفاكيا"
+ },
+ "SI": {
+ "name": "سلوفينيا"
+ },
+ "SG": {
+ "name": "سنغافورة"
+ },
+ "SZ": {
+ "name": "سوازيلاند"
+ },
+ "SY": {
+ "name": "سوريا"
+ },
+ "SR": {
+ "name": "سورينام"
+ },
+ "CH": {
+ "name": "سويسرا"
+ },
+ "SL": {
+ "name": "سيراليون"
+ },
+ "SC": {
+ "name": "سيشل"
+ },
+ "SX": {
+ "name": "سينت مارتن"
+ },
+ "RS": {
+ "name": "صربيا"
+ },
+ "TJ": {
+ "name": "طاجيكستان"
+ },
+ "OM": {
+ "name": "عُمان"
+ },
+ "GM": {
+ "name": "غامبيا"
+ },
+ "GH": {
+ "name": "غانا"
+ },
+ "GD": {
+ "name": "غرينادا"
+ },
+ "GL": {
+ "name": "غرينلاند"
+ },
+ "GT": {
+ "name": "غواتيمالا"
+ },
+ "GP": {
+ "name": "غوادلوب"
+ },
+ "GU": {
+ "name": "غوام"
+ },
+ "GF": {
+ "name": "غويانا الفرنسية"
+ },
+ "GY": {
+ "name": "غيانا"
+ },
+ "GG": {
+ "name": "غيرنزي"
+ },
+ "GN": {
+ "name": "غينيا"
+ },
+ "GQ": {
+ "name": "غينيا الاستوائية"
+ },
+ "GW": {
+ "name": "غينيا بيساو"
+ },
+ "VU": {
+ "name": "فانواتو"
+ },
+ "FR": {
+ "name": "فرنسا"
+ },
+ "VE": {
+ "name": "فنزويلا"
+ },
+ "FI": {
+ "name": "فنلندا"
+ },
+ "VN": {
+ "name": "فيتنام"
+ },
+ "FJ": {
+ "name": "فيجي"
+ },
+ "CY": {
+ "name": "قبرص"
+ },
+ "QA": {
+ "name": "قطر"
+ },
+ "KG": {
+ "name": "قيرغيزستان"
+ },
+ "KZ": {
+ "name": "كازاخستان"
+ },
+ "NC": {
+ "name": "كاليدونيا الجديدة"
+ },
+ "HR": {
+ "name": "كرواتيا"
+ },
+ "KH": {
+ "name": "كمبوديا"
+ },
+ "CA": {
+ "name": "كندا"
+ },
+ "CU": {
+ "name": "كوبا"
+ },
+ "CW": {
+ "name": "كوراساو"
+ },
+ "KR": {
+ "name": "كوريا الجنوبية"
+ },
+ "KP": {
+ "name": "كوريا الشمالية"
+ },
+ "CR": {
+ "name": "كوستاريكا"
+ },
+ "XK": {
+ "name": "كوسوفو"
+ },
+ "CO": {
+ "name": "كولومبيا"
+ },
+ "KI": {
+ "name": "كيريباتي"
+ },
+ "KE": {
+ "name": "كينيا"
+ },
+ "LV": {
+ "name": "لاتفيا"
+ },
+ "LA": {
+ "name": "لاوس"
+ },
+ "LB": {
+ "name": "لبنان"
+ },
+ "LU": {
+ "name": "لوكسمبورغ"
+ },
+ "LY": {
+ "name": "ليبيا"
+ },
+ "LR": {
+ "name": "ليبيريا"
+ },
+ "LT": {
+ "name": "ليتوانيا"
+ },
+ "LI": {
+ "name": "ليختنشتاين"
+ },
+ "LS": {
+ "name": "ليسوتو"
+ },
+ "MT": {
+ "name": "مالطا"
+ },
+ "ML": {
+ "name": "مالي"
+ },
+ "MY": {
+ "name": "ماليزيا"
+ },
+ "YT": {
+ "name": "مايوت"
+ },
+ "MG": {
+ "name": "مدغشقر"
+ },
+ "EG": {
+ "name": "مصر"
+ },
+ "MK": {
+ "name": "مقدونيا"
+ },
+ "MO": {
+ "name": "مكاو الصينية (منطقة إدارية خاصة)"
+ },
+ "MW": {
+ "name": "ملاوي"
+ },
+ "MN": {
+ "name": "منغوليا"
+ },
+ "MR": {
+ "name": "موريتانيا"
+ },
+ "MU": {
+ "name": "موريشيوس"
+ },
+ "MZ": {
+ "name": "موزمبيق"
+ },
+ "MD": {
+ "name": "مولدوفا"
+ },
+ "MC": {
+ "name": "موناكو"
+ },
+ "MS": {
+ "name": "مونتيسيرات"
+ },
+ "MM": {
+ "name": "ميانمار (بورما)"
+ },
+ "FM": {
+ "name": "ميكرونيزيا"
+ },
+ "NA": {
+ "name": "ناميبيا"
+ },
+ "NR": {
+ "name": "ناورو"
+ },
+ "NP": {
+ "name": "نيبال"
+ },
+ "NG": {
+ "name": "نيجيريا"
+ },
+ "NI": {
+ "name": "نيكاراغوا"
+ },
+ "NZ": {
+ "name": "نيوزيلندا"
+ },
+ "NU": {
+ "name": "نيوي"
+ },
+ "HT": {
+ "name": "هايتي"
+ },
+ "HN": {
+ "name": "هندوراس"
+ },
+ "HU": {
+ "name": "هنغاريا"
+ },
+ "NL": {
+ "name": "هولندا"
+ },
+ "BQ": {
+ "name": "هولندا الكاريبية"
+ },
+ "HK": {
+ "name": "هونغ كونغ الصينية"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/ar-SA.json b/vendor/commerceguys/intl/resources/country/ar-SA.json
new file mode 100644
index 000000000..c610e5e45
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/ar-SA.json
@@ -0,0 +1,761 @@
+{
+ "ET": {
+ "name": "إثيوبيا"
+ },
+ "AZ": {
+ "name": "أذربيجان"
+ },
+ "AM": {
+ "name": "أرمينيا"
+ },
+ "AW": {
+ "name": "أروبا"
+ },
+ "ER": {
+ "name": "إريتريا"
+ },
+ "ES": {
+ "name": "إسبانيا"
+ },
+ "AU": {
+ "name": "أستراليا"
+ },
+ "EE": {
+ "name": "إستونيا"
+ },
+ "IL": {
+ "name": "إسرائيل"
+ },
+ "AF": {
+ "name": "أفغانستان"
+ },
+ "PS": {
+ "name": "الأراضي الفلسطينية"
+ },
+ "AR": {
+ "name": "الأرجنتين"
+ },
+ "JO": {
+ "name": "الأردن"
+ },
+ "TF": {
+ "name": "الأقاليم الجنوبية الفرنسية"
+ },
+ "IO": {
+ "name": "الإقليم البريطاني في المحيط الهندي"
+ },
+ "EC": {
+ "name": "الإكوادور"
+ },
+ "AE": {
+ "name": "الإمارات العربية المتحدة"
+ },
+ "AL": {
+ "name": "ألبانيا"
+ },
+ "BH": {
+ "name": "البحرين"
+ },
+ "BR": {
+ "name": "البرازيل"
+ },
+ "PT": {
+ "name": "البرتغال"
+ },
+ "BA": {
+ "name": "البوسنة والهرسك"
+ },
+ "ME": {
+ "name": "الجبل الأسود"
+ },
+ "DZ": {
+ "name": "الجزائر"
+ },
+ "DK": {
+ "name": "الدانمرك"
+ },
+ "CV": {
+ "name": "الرأس الأخضر"
+ },
+ "SV": {
+ "name": "السلفادور"
+ },
+ "SN": {
+ "name": "السنغال"
+ },
+ "SD": {
+ "name": "السودان"
+ },
+ "SE": {
+ "name": "السويد"
+ },
+ "EH": {
+ "name": "الصحراء الغربية"
+ },
+ "SO": {
+ "name": "الصومال"
+ },
+ "CN": {
+ "name": "الصين"
+ },
+ "IQ": {
+ "name": "العراق"
+ },
+ "GA": {
+ "name": "الغابون"
+ },
+ "VA": {
+ "name": "الفاتيكان"
+ },
+ "PH": {
+ "name": "الفلبين"
+ },
+ "CM": {
+ "name": "الكاميرون"
+ },
+ "CG": {
+ "name": "الكونغو - برازافيل"
+ },
+ "CD": {
+ "name": "الكونغو - كينشاسا"
+ },
+ "KW": {
+ "name": "الكويت"
+ },
+ "DE": {
+ "name": "ألمانيا"
+ },
+ "MA": {
+ "name": "المغرب"
+ },
+ "MX": {
+ "name": "المكسيك"
+ },
+ "SA": {
+ "name": "المملكة العربية السعودية"
+ },
+ "GB": {
+ "name": "المملكة المتحدة"
+ },
+ "NO": {
+ "name": "النرويج"
+ },
+ "AT": {
+ "name": "النمسا"
+ },
+ "NE": {
+ "name": "النيجر"
+ },
+ "IN": {
+ "name": "الهند"
+ },
+ "US": {
+ "name": "الولايات المتحدة"
+ },
+ "JP": {
+ "name": "اليابان"
+ },
+ "YE": {
+ "name": "اليمن"
+ },
+ "GR": {
+ "name": "اليونان"
+ },
+ "AQ": {
+ "name": "أنتاركتيكا"
+ },
+ "AG": {
+ "name": "أنتيغوا وبربودا"
+ },
+ "AD": {
+ "name": "أندورا"
+ },
+ "ID": {
+ "name": "إندونيسيا"
+ },
+ "AO": {
+ "name": "أنغولا"
+ },
+ "AI": {
+ "name": "أنغويلا"
+ },
+ "UY": {
+ "name": "أوروغواي"
+ },
+ "UZ": {
+ "name": "أوزبكستان"
+ },
+ "UG": {
+ "name": "أوغندا"
+ },
+ "UA": {
+ "name": "أوكرانيا"
+ },
+ "IR": {
+ "name": "إيران"
+ },
+ "IE": {
+ "name": "أيرلندا"
+ },
+ "IS": {
+ "name": "أيسلندا"
+ },
+ "IT": {
+ "name": "إيطاليا"
+ },
+ "PG": {
+ "name": "بابوا غينيا الجديدة"
+ },
+ "PY": {
+ "name": "باراغواي"
+ },
+ "PK": {
+ "name": "باكستان"
+ },
+ "PW": {
+ "name": "بالاو"
+ },
+ "BW": {
+ "name": "بتسوانا"
+ },
+ "BB": {
+ "name": "بربادوس"
+ },
+ "BM": {
+ "name": "برمودا"
+ },
+ "BN": {
+ "name": "بروناي"
+ },
+ "BE": {
+ "name": "بلجيكا"
+ },
+ "BG": {
+ "name": "بلغاريا"
+ },
+ "BZ": {
+ "name": "بليز"
+ },
+ "BD": {
+ "name": "بنغلاديش"
+ },
+ "PA": {
+ "name": "بنما"
+ },
+ "BJ": {
+ "name": "بنين"
+ },
+ "BT": {
+ "name": "بوتان"
+ },
+ "PR": {
+ "name": "بورتوريكو"
+ },
+ "BF": {
+ "name": "بوركينا فاسو"
+ },
+ "BI": {
+ "name": "بوروندي"
+ },
+ "PL": {
+ "name": "بولندا"
+ },
+ "BO": {
+ "name": "بوليفيا"
+ },
+ "PF": {
+ "name": "بولينيزيا الفرنسية"
+ },
+ "PE": {
+ "name": "بيرو"
+ },
+ "BY": {
+ "name": "بيلاروس"
+ },
+ "TH": {
+ "name": "تايلاند"
+ },
+ "TW": {
+ "name": "تايوان"
+ },
+ "TM": {
+ "name": "تركمانستان"
+ },
+ "TR": {
+ "name": "تركيا"
+ },
+ "TA": {
+ "name": "تريستان دي كونها"
+ },
+ "TT": {
+ "name": "ترينيداد وتوباغو"
+ },
+ "TD": {
+ "name": "تشاد"
+ },
+ "CL": {
+ "name": "تشيلي"
+ },
+ "TZ": {
+ "name": "تنزانيا"
+ },
+ "TG": {
+ "name": "توغو"
+ },
+ "TV": {
+ "name": "توفالو"
+ },
+ "TK": {
+ "name": "توكيلو"
+ },
+ "TN": {
+ "name": "تونس"
+ },
+ "TO": {
+ "name": "تونغا"
+ },
+ "TL": {
+ "name": "تيمور- ليشتي"
+ },
+ "JM": {
+ "name": "جامايكا"
+ },
+ "GI": {
+ "name": "جبل طارق"
+ },
+ "AX": {
+ "name": "جزر آلاند"
+ },
+ "BS": {
+ "name": "جزر البهاما"
+ },
+ "KM": {
+ "name": "جزر القمر"
+ },
+ "IC": {
+ "name": "جزر الكناري"
+ },
+ "MQ": {
+ "name": "جزر المارتينيك"
+ },
+ "MV": {
+ "name": "جزر المالديف"
+ },
+ "UM": {
+ "name": "جزر الولايات المتحدة النائية"
+ },
+ "PN": {
+ "name": "جزر بيتكيرن"
+ },
+ "TC": {
+ "name": "جزر توركس وكايكوس"
+ },
+ "SB": {
+ "name": "جزر سليمان"
+ },
+ "FO": {
+ "name": "جزر فارو"
+ },
+ "FK": {
+ "name": "جزر فوكلاند"
+ },
+ "VG": {
+ "name": "جزر فيرجن البريطانية"
+ },
+ "VI": {
+ "name": "جزر فيرجن التابعة للولايات المتحدة"
+ },
+ "KY": {
+ "name": "جزر كايمان"
+ },
+ "CK": {
+ "name": "جزر كوك"
+ },
+ "CC": {
+ "name": "جزر كوكوس (كيلينغ)"
+ },
+ "MH": {
+ "name": "جزر مارشال"
+ },
+ "MP": {
+ "name": "جزر ماريانا الشمالية"
+ },
+ "WF": {
+ "name": "جزر والس وفوتونا"
+ },
+ "AC": {
+ "name": "جزيرة أسينشيون"
+ },
+ "CX": {
+ "name": "جزيرة الكريسماس"
+ },
+ "IM": {
+ "name": "جزيرة مان"
+ },
+ "NF": {
+ "name": "جزيرة نورفولك"
+ },
+ "CF": {
+ "name": "جمهورية أفريقيا الوسطى"
+ },
+ "CZ": {
+ "name": "جمهورية التشيك"
+ },
+ "DO": {
+ "name": "جمهورية الدومينيكان"
+ },
+ "ZA": {
+ "name": "جنوب أفريقيا"
+ },
+ "SS": {
+ "name": "جنوب السودان"
+ },
+ "GE": {
+ "name": "جورجيا"
+ },
+ "GS": {
+ "name": "جورجيا الجنوبية وجزر ساندويتش الجنوبية"
+ },
+ "DJ": {
+ "name": "جيبوتي"
+ },
+ "JE": {
+ "name": "جيرسي"
+ },
+ "DM": {
+ "name": "دومينيكا"
+ },
+ "DG": {
+ "name": "دييغو غارسيا"
+ },
+ "RW": {
+ "name": "رواندا"
+ },
+ "RU": {
+ "name": "روسيا"
+ },
+ "RO": {
+ "name": "رومانيا"
+ },
+ "RE": {
+ "name": "روينيون"
+ },
+ "ZM": {
+ "name": "زامبيا"
+ },
+ "ZW": {
+ "name": "زيمبابوي"
+ },
+ "CI": {
+ "name": "ساحل العاج"
+ },
+ "WS": {
+ "name": "ساموا"
+ },
+ "AS": {
+ "name": "ساموا الأمريكية"
+ },
+ "BL": {
+ "name": "سان بارتليمي"
+ },
+ "PM": {
+ "name": "سان بيير وميكولون"
+ },
+ "SM": {
+ "name": "سان مارينو"
+ },
+ "VC": {
+ "name": "سانت فنسنت وجزر غرينادين"
+ },
+ "KN": {
+ "name": "سانت كيتس ونيفيس"
+ },
+ "LC": {
+ "name": "سانت لوسيا"
+ },
+ "MF": {
+ "name": "سانت مارتن"
+ },
+ "SH": {
+ "name": "سانت هيلانة"
+ },
+ "ST": {
+ "name": "ساو تومي وبرينسيبي"
+ },
+ "EA": {
+ "name": "سبتة ومليلية"
+ },
+ "LK": {
+ "name": "سريلانكا"
+ },
+ "SJ": {
+ "name": "سفالبارد وجان مايان"
+ },
+ "SK": {
+ "name": "سلوفاكيا"
+ },
+ "SI": {
+ "name": "سلوفينيا"
+ },
+ "SG": {
+ "name": "سنغافورة"
+ },
+ "SZ": {
+ "name": "سوازيلاند"
+ },
+ "SY": {
+ "name": "سوريا"
+ },
+ "SR": {
+ "name": "سورينام"
+ },
+ "CH": {
+ "name": "سويسرا"
+ },
+ "SL": {
+ "name": "سيراليون"
+ },
+ "SC": {
+ "name": "سيشل"
+ },
+ "SX": {
+ "name": "سينت مارتن"
+ },
+ "RS": {
+ "name": "صربيا"
+ },
+ "TJ": {
+ "name": "طاجيكستان"
+ },
+ "OM": {
+ "name": "عُمان"
+ },
+ "GM": {
+ "name": "غامبيا"
+ },
+ "GH": {
+ "name": "غانا"
+ },
+ "GD": {
+ "name": "غرينادا"
+ },
+ "GL": {
+ "name": "غرينلاند"
+ },
+ "GT": {
+ "name": "غواتيمالا"
+ },
+ "GP": {
+ "name": "غوادلوب"
+ },
+ "GU": {
+ "name": "غوام"
+ },
+ "GF": {
+ "name": "غويانا الفرنسية"
+ },
+ "GY": {
+ "name": "غيانا"
+ },
+ "GG": {
+ "name": "غيرنزي"
+ },
+ "GN": {
+ "name": "غينيا"
+ },
+ "GQ": {
+ "name": "غينيا الاستوائية"
+ },
+ "GW": {
+ "name": "غينيا بيساو"
+ },
+ "VU": {
+ "name": "فانواتو"
+ },
+ "FR": {
+ "name": "فرنسا"
+ },
+ "VE": {
+ "name": "فنزويلا"
+ },
+ "FI": {
+ "name": "فنلندا"
+ },
+ "VN": {
+ "name": "فيتنام"
+ },
+ "FJ": {
+ "name": "فيجي"
+ },
+ "CY": {
+ "name": "قبرص"
+ },
+ "QA": {
+ "name": "قطر"
+ },
+ "KG": {
+ "name": "قيرغيزستان"
+ },
+ "KZ": {
+ "name": "كازاخستان"
+ },
+ "NC": {
+ "name": "كاليدونيا الجديدة"
+ },
+ "HR": {
+ "name": "كرواتيا"
+ },
+ "KH": {
+ "name": "كمبوديا"
+ },
+ "CA": {
+ "name": "كندا"
+ },
+ "CU": {
+ "name": "كوبا"
+ },
+ "CW": {
+ "name": "كوراساو"
+ },
+ "KR": {
+ "name": "كوريا الجنوبية"
+ },
+ "KP": {
+ "name": "كوريا الشمالية"
+ },
+ "CR": {
+ "name": "كوستاريكا"
+ },
+ "XK": {
+ "name": "كوسوفو"
+ },
+ "CO": {
+ "name": "كولومبيا"
+ },
+ "KI": {
+ "name": "كيريباتي"
+ },
+ "KE": {
+ "name": "كينيا"
+ },
+ "LV": {
+ "name": "لاتفيا"
+ },
+ "LA": {
+ "name": "لاوس"
+ },
+ "LB": {
+ "name": "لبنان"
+ },
+ "LU": {
+ "name": "لوكسمبورغ"
+ },
+ "LY": {
+ "name": "ليبيا"
+ },
+ "LR": {
+ "name": "ليبيريا"
+ },
+ "LT": {
+ "name": "ليتوانيا"
+ },
+ "LI": {
+ "name": "ليختنشتاين"
+ },
+ "LS": {
+ "name": "ليسوتو"
+ },
+ "MT": {
+ "name": "مالطا"
+ },
+ "ML": {
+ "name": "مالي"
+ },
+ "MY": {
+ "name": "ماليزيا"
+ },
+ "YT": {
+ "name": "مايوت"
+ },
+ "MG": {
+ "name": "مدغشقر"
+ },
+ "EG": {
+ "name": "مصر"
+ },
+ "MK": {
+ "name": "مقدونيا"
+ },
+ "MO": {
+ "name": "مكاو الصينية (منطقة إدارية خاصة)"
+ },
+ "MW": {
+ "name": "ملاوي"
+ },
+ "MN": {
+ "name": "منغوليا"
+ },
+ "MR": {
+ "name": "موريتانيا"
+ },
+ "MU": {
+ "name": "موريشيوس"
+ },
+ "MZ": {
+ "name": "موزمبيق"
+ },
+ "MD": {
+ "name": "مولدوفا"
+ },
+ "MC": {
+ "name": "موناكو"
+ },
+ "MS": {
+ "name": "مونتيسيرات"
+ },
+ "MM": {
+ "name": "ميانمار (بورما)"
+ },
+ "FM": {
+ "name": "ميكرونيزيا"
+ },
+ "NA": {
+ "name": "ناميبيا"
+ },
+ "NR": {
+ "name": "ناورو"
+ },
+ "NP": {
+ "name": "نيبال"
+ },
+ "NG": {
+ "name": "نيجيريا"
+ },
+ "NI": {
+ "name": "نيكاراغوا"
+ },
+ "NZ": {
+ "name": "نيوزيلندا"
+ },
+ "NU": {
+ "name": "نيوي"
+ },
+ "HT": {
+ "name": "هايتي"
+ },
+ "HN": {
+ "name": "هندوراس"
+ },
+ "HU": {
+ "name": "هنغاريا"
+ },
+ "NL": {
+ "name": "هولندا"
+ },
+ "BQ": {
+ "name": "هولندا الكاريبية"
+ },
+ "HK": {
+ "name": "هونغ كونغ الصينية"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/ar.json b/vendor/commerceguys/intl/resources/country/ar.json
new file mode 100644
index 000000000..3a589a7f4
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/ar.json
@@ -0,0 +1,761 @@
+{
+ "ET": {
+ "name": "إثيوبيا"
+ },
+ "AZ": {
+ "name": "أذربيجان"
+ },
+ "AM": {
+ "name": "أرمينيا"
+ },
+ "AW": {
+ "name": "أروبا"
+ },
+ "ER": {
+ "name": "إريتريا"
+ },
+ "ES": {
+ "name": "إسبانيا"
+ },
+ "AU": {
+ "name": "أستراليا"
+ },
+ "EE": {
+ "name": "إستونيا"
+ },
+ "IL": {
+ "name": "إسرائيل"
+ },
+ "AF": {
+ "name": "أفغانستان"
+ },
+ "PS": {
+ "name": "الأراضي الفلسطينية"
+ },
+ "AR": {
+ "name": "الأرجنتين"
+ },
+ "JO": {
+ "name": "الأردن"
+ },
+ "TF": {
+ "name": "الأقاليم الجنوبية الفرنسية"
+ },
+ "IO": {
+ "name": "الإقليم البريطاني في المحيط الهندي"
+ },
+ "EC": {
+ "name": "الإكوادور"
+ },
+ "AE": {
+ "name": "الإمارات العربية المتحدة"
+ },
+ "AL": {
+ "name": "ألبانيا"
+ },
+ "BH": {
+ "name": "البحرين"
+ },
+ "BR": {
+ "name": "البرازيل"
+ },
+ "PT": {
+ "name": "البرتغال"
+ },
+ "BS": {
+ "name": "البهاما"
+ },
+ "BA": {
+ "name": "البوسنة والهرسك"
+ },
+ "ME": {
+ "name": "الجبل الأسود"
+ },
+ "DZ": {
+ "name": "الجزائر"
+ },
+ "DK": {
+ "name": "الدانمرك"
+ },
+ "CV": {
+ "name": "الرأس الأخضر"
+ },
+ "SV": {
+ "name": "السلفادور"
+ },
+ "SN": {
+ "name": "السنغال"
+ },
+ "SD": {
+ "name": "السودان"
+ },
+ "SE": {
+ "name": "السويد"
+ },
+ "EH": {
+ "name": "الصحراء الغربية"
+ },
+ "SO": {
+ "name": "الصومال"
+ },
+ "CN": {
+ "name": "الصين"
+ },
+ "IQ": {
+ "name": "العراق"
+ },
+ "GA": {
+ "name": "الغابون"
+ },
+ "VA": {
+ "name": "الفاتيكان"
+ },
+ "PH": {
+ "name": "الفلبين"
+ },
+ "CM": {
+ "name": "الكاميرون"
+ },
+ "CG": {
+ "name": "الكونغو - برازافيل"
+ },
+ "CD": {
+ "name": "الكونغو - كينشاسا"
+ },
+ "KW": {
+ "name": "الكويت"
+ },
+ "DE": {
+ "name": "ألمانيا"
+ },
+ "MA": {
+ "name": "المغرب"
+ },
+ "MX": {
+ "name": "المكسيك"
+ },
+ "SA": {
+ "name": "المملكة العربية السعودية"
+ },
+ "GB": {
+ "name": "المملكة المتحدة"
+ },
+ "NO": {
+ "name": "النرويج"
+ },
+ "AT": {
+ "name": "النمسا"
+ },
+ "NE": {
+ "name": "النيجر"
+ },
+ "IN": {
+ "name": "الهند"
+ },
+ "US": {
+ "name": "الولايات المتحدة"
+ },
+ "JP": {
+ "name": "اليابان"
+ },
+ "YE": {
+ "name": "اليمن"
+ },
+ "GR": {
+ "name": "اليونان"
+ },
+ "AQ": {
+ "name": "أنتاركتيكا"
+ },
+ "AG": {
+ "name": "أنتيغوا وبربودا"
+ },
+ "AD": {
+ "name": "أندورا"
+ },
+ "ID": {
+ "name": "إندونيسيا"
+ },
+ "AO": {
+ "name": "أنغولا"
+ },
+ "AI": {
+ "name": "أنغويلا"
+ },
+ "UY": {
+ "name": "أورغواي"
+ },
+ "UZ": {
+ "name": "أوزبكستان"
+ },
+ "UG": {
+ "name": "أوغندا"
+ },
+ "UA": {
+ "name": "أوكرانيا"
+ },
+ "IR": {
+ "name": "إيران"
+ },
+ "IE": {
+ "name": "أيرلندا"
+ },
+ "IS": {
+ "name": "أيسلندا"
+ },
+ "IT": {
+ "name": "إيطاليا"
+ },
+ "PG": {
+ "name": "بابوا غينيا الجديدة"
+ },
+ "PY": {
+ "name": "باراغواي"
+ },
+ "PK": {
+ "name": "باكستان"
+ },
+ "PW": {
+ "name": "بالاو"
+ },
+ "BW": {
+ "name": "بتسوانا"
+ },
+ "BB": {
+ "name": "بربادوس"
+ },
+ "BM": {
+ "name": "برمودا"
+ },
+ "BN": {
+ "name": "بروناي"
+ },
+ "BE": {
+ "name": "بلجيكا"
+ },
+ "BG": {
+ "name": "بلغاريا"
+ },
+ "BZ": {
+ "name": "بليز"
+ },
+ "BD": {
+ "name": "بنغلاديش"
+ },
+ "PA": {
+ "name": "بنما"
+ },
+ "BJ": {
+ "name": "بنين"
+ },
+ "BT": {
+ "name": "بوتان"
+ },
+ "PR": {
+ "name": "بورتوريكو"
+ },
+ "BF": {
+ "name": "بوركينا فاسو"
+ },
+ "BI": {
+ "name": "بوروندي"
+ },
+ "PL": {
+ "name": "بولندا"
+ },
+ "BO": {
+ "name": "بوليفيا"
+ },
+ "PF": {
+ "name": "بولينيزيا الفرنسية"
+ },
+ "PE": {
+ "name": "بيرو"
+ },
+ "BY": {
+ "name": "بيلاروس"
+ },
+ "TH": {
+ "name": "تايلاند"
+ },
+ "TW": {
+ "name": "تايوان"
+ },
+ "TM": {
+ "name": "تركمانستان"
+ },
+ "TR": {
+ "name": "تركيا"
+ },
+ "TA": {
+ "name": "تريستان دي كونها"
+ },
+ "TT": {
+ "name": "ترينيداد وتوباغو"
+ },
+ "TD": {
+ "name": "تشاد"
+ },
+ "CL": {
+ "name": "تشيلي"
+ },
+ "TZ": {
+ "name": "تنزانيا"
+ },
+ "TG": {
+ "name": "توغو"
+ },
+ "TV": {
+ "name": "توفالو"
+ },
+ "TK": {
+ "name": "توكيلو"
+ },
+ "TN": {
+ "name": "تونس"
+ },
+ "TO": {
+ "name": "تونغا"
+ },
+ "TL": {
+ "name": "تيمور- ليشتي"
+ },
+ "JM": {
+ "name": "جامايكا"
+ },
+ "GI": {
+ "name": "جبل طارق"
+ },
+ "AX": {
+ "name": "جزر آلاند"
+ },
+ "KM": {
+ "name": "جزر القمر"
+ },
+ "IC": {
+ "name": "جزر الكناري"
+ },
+ "MQ": {
+ "name": "جزر المارتينيك"
+ },
+ "MV": {
+ "name": "جزر المالديف"
+ },
+ "UM": {
+ "name": "جزر الولايات المتحدة النائية"
+ },
+ "PN": {
+ "name": "جزر بيتكيرن"
+ },
+ "TC": {
+ "name": "جزر توركس وكايكوس"
+ },
+ "SB": {
+ "name": "جزر سليمان"
+ },
+ "FO": {
+ "name": "جزر فارو"
+ },
+ "FK": {
+ "name": "جزر فوكلاند"
+ },
+ "VG": {
+ "name": "جزر فيرجن البريطانية"
+ },
+ "VI": {
+ "name": "جزر فيرجن التابعة للولايات المتحدة"
+ },
+ "KY": {
+ "name": "جزر كايمان"
+ },
+ "CK": {
+ "name": "جزر كوك"
+ },
+ "CC": {
+ "name": "جزر كوكوس (كيلينغ)"
+ },
+ "MH": {
+ "name": "جزر مارشال"
+ },
+ "MP": {
+ "name": "جزر ماريانا الشمالية"
+ },
+ "WF": {
+ "name": "جزر والس وفوتونا"
+ },
+ "AC": {
+ "name": "جزيرة أسينشيون"
+ },
+ "CX": {
+ "name": "جزيرة الكريسماس"
+ },
+ "IM": {
+ "name": "جزيرة مان"
+ },
+ "NF": {
+ "name": "جزيرة نورفولك"
+ },
+ "CF": {
+ "name": "جمهورية أفريقيا الوسطى"
+ },
+ "CZ": {
+ "name": "جمهورية التشيك"
+ },
+ "DO": {
+ "name": "جمهورية الدومينيكان"
+ },
+ "ZA": {
+ "name": "جنوب أفريقيا"
+ },
+ "SS": {
+ "name": "جنوب السودان"
+ },
+ "GE": {
+ "name": "جورجيا"
+ },
+ "GS": {
+ "name": "جورجيا الجنوبية وجزر ساندويتش الجنوبية"
+ },
+ "DJ": {
+ "name": "جيبوتي"
+ },
+ "JE": {
+ "name": "جيرسي"
+ },
+ "DM": {
+ "name": "دومينيكا"
+ },
+ "DG": {
+ "name": "دييغو غارسيا"
+ },
+ "RW": {
+ "name": "رواندا"
+ },
+ "RU": {
+ "name": "روسيا"
+ },
+ "RO": {
+ "name": "رومانيا"
+ },
+ "RE": {
+ "name": "روينيون"
+ },
+ "ZM": {
+ "name": "زامبيا"
+ },
+ "ZW": {
+ "name": "زيمبابوي"
+ },
+ "CI": {
+ "name": "ساحل العاج"
+ },
+ "WS": {
+ "name": "ساموا"
+ },
+ "AS": {
+ "name": "ساموا الأمريكية"
+ },
+ "BL": {
+ "name": "سان بارتليمي"
+ },
+ "SM": {
+ "name": "سان مارينو"
+ },
+ "PM": {
+ "name": "سانت بيير وميكولون"
+ },
+ "VC": {
+ "name": "سانت فنسنت وجزر غرينادين"
+ },
+ "KN": {
+ "name": "سانت كيتس ونيفيس"
+ },
+ "LC": {
+ "name": "سانت لوسيا"
+ },
+ "MF": {
+ "name": "سانت مارتن"
+ },
+ "SH": {
+ "name": "سانت هيلانة"
+ },
+ "ST": {
+ "name": "ساو تومي وبرينسيبي"
+ },
+ "LK": {
+ "name": "سريلانكا"
+ },
+ "SJ": {
+ "name": "سفالبارد وجان مايان"
+ },
+ "SK": {
+ "name": "سلوفاكيا"
+ },
+ "SI": {
+ "name": "سلوفينيا"
+ },
+ "SG": {
+ "name": "سنغافورة"
+ },
+ "SZ": {
+ "name": "سوازيلاند"
+ },
+ "SY": {
+ "name": "سوريا"
+ },
+ "SR": {
+ "name": "سورينام"
+ },
+ "CH": {
+ "name": "سويسرا"
+ },
+ "SL": {
+ "name": "سيراليون"
+ },
+ "SC": {
+ "name": "سيشل"
+ },
+ "SX": {
+ "name": "سينت مارتن"
+ },
+ "EA": {
+ "name": "سيوتا وميليلا"
+ },
+ "RS": {
+ "name": "صربيا"
+ },
+ "TJ": {
+ "name": "طاجيكستان"
+ },
+ "OM": {
+ "name": "عُمان"
+ },
+ "GM": {
+ "name": "غامبيا"
+ },
+ "GH": {
+ "name": "غانا"
+ },
+ "GD": {
+ "name": "غرينادا"
+ },
+ "GL": {
+ "name": "غرينلاند"
+ },
+ "GT": {
+ "name": "غواتيمالا"
+ },
+ "GP": {
+ "name": "غوادلوب"
+ },
+ "GU": {
+ "name": "غوام"
+ },
+ "GF": {
+ "name": "غويانا الفرنسية"
+ },
+ "GY": {
+ "name": "غيانا"
+ },
+ "GG": {
+ "name": "غيرنزي"
+ },
+ "GN": {
+ "name": "غينيا"
+ },
+ "GQ": {
+ "name": "غينيا الاستوائية"
+ },
+ "GW": {
+ "name": "غينيا بيساو"
+ },
+ "VU": {
+ "name": "فانواتو"
+ },
+ "FR": {
+ "name": "فرنسا"
+ },
+ "VE": {
+ "name": "فنزويلا"
+ },
+ "FI": {
+ "name": "فنلندا"
+ },
+ "VN": {
+ "name": "فيتنام"
+ },
+ "FJ": {
+ "name": "فيجي"
+ },
+ "CY": {
+ "name": "قبرص"
+ },
+ "QA": {
+ "name": "قطر"
+ },
+ "KG": {
+ "name": "قيرغيزستان"
+ },
+ "KZ": {
+ "name": "كازاخستان"
+ },
+ "NC": {
+ "name": "كاليدونيا الجديدة"
+ },
+ "HR": {
+ "name": "كرواتيا"
+ },
+ "KH": {
+ "name": "كمبوديا"
+ },
+ "CA": {
+ "name": "كندا"
+ },
+ "CU": {
+ "name": "كوبا"
+ },
+ "CW": {
+ "name": "كوراساو"
+ },
+ "KR": {
+ "name": "كوريا الجنوبية"
+ },
+ "KP": {
+ "name": "كوريا الشمالية"
+ },
+ "CR": {
+ "name": "كوستاريكا"
+ },
+ "XK": {
+ "name": "كوسوفو"
+ },
+ "CO": {
+ "name": "كولومبيا"
+ },
+ "KI": {
+ "name": "كيريباتي"
+ },
+ "KE": {
+ "name": "كينيا"
+ },
+ "LV": {
+ "name": "لاتفيا"
+ },
+ "LA": {
+ "name": "لاوس"
+ },
+ "LB": {
+ "name": "لبنان"
+ },
+ "LU": {
+ "name": "لوكسمبورغ"
+ },
+ "LY": {
+ "name": "ليبيا"
+ },
+ "LR": {
+ "name": "ليبيريا"
+ },
+ "LT": {
+ "name": "ليتوانيا"
+ },
+ "LI": {
+ "name": "ليختنشتاين"
+ },
+ "LS": {
+ "name": "ليسوتو"
+ },
+ "MT": {
+ "name": "مالطا"
+ },
+ "ML": {
+ "name": "مالي"
+ },
+ "MY": {
+ "name": "ماليزيا"
+ },
+ "YT": {
+ "name": "مايوت"
+ },
+ "MG": {
+ "name": "مدغشقر"
+ },
+ "EG": {
+ "name": "مصر"
+ },
+ "MK": {
+ "name": "مقدونيا"
+ },
+ "MO": {
+ "name": "مكاو الصينية (منطقة إدارية خاصة)"
+ },
+ "MW": {
+ "name": "ملاوي"
+ },
+ "MN": {
+ "name": "منغوليا"
+ },
+ "MR": {
+ "name": "موريتانيا"
+ },
+ "MU": {
+ "name": "موريشيوس"
+ },
+ "MZ": {
+ "name": "موزمبيق"
+ },
+ "MD": {
+ "name": "مولدوفا"
+ },
+ "MC": {
+ "name": "موناكو"
+ },
+ "MS": {
+ "name": "مونتسرات"
+ },
+ "MM": {
+ "name": "ميانمار (بورما)"
+ },
+ "FM": {
+ "name": "ميكرونيزيا"
+ },
+ "NA": {
+ "name": "ناميبيا"
+ },
+ "NR": {
+ "name": "ناورو"
+ },
+ "NP": {
+ "name": "نيبال"
+ },
+ "NG": {
+ "name": "نيجيريا"
+ },
+ "NI": {
+ "name": "نيكاراغوا"
+ },
+ "NZ": {
+ "name": "نيوزيلندا"
+ },
+ "NU": {
+ "name": "نيوي"
+ },
+ "HT": {
+ "name": "هايتي"
+ },
+ "HN": {
+ "name": "هندوراس"
+ },
+ "HU": {
+ "name": "هنغاريا"
+ },
+ "NL": {
+ "name": "هولندا"
+ },
+ "BQ": {
+ "name": "هولندا الكاريبية"
+ },
+ "HK": {
+ "name": "هونغ كونغ الصينية"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/asa.json b/vendor/commerceguys/intl/resources/country/asa.json
new file mode 100644
index 000000000..2548dd74c
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/asa.json
@@ -0,0 +1,761 @@
+{
+ "AZ": {
+ "name": "Adhabajani"
+ },
+ "ZA": {
+ "name": "Afrika Kuthini"
+ },
+ "AF": {
+ "name": "Afuganistani"
+ },
+ "IS": {
+ "name": "Aithlandi"
+ },
+ "AR": {
+ "name": "Ajentina"
+ },
+ "AX": {
+ "name": "Åland Islands"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Aljeria"
+ },
+ "AD": {
+ "name": "Andora"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigua na Barbuda"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AU": {
+ "name": "Authtralia"
+ },
+ "AT": {
+ "name": "Authtria"
+ },
+ "IE": {
+ "name": "Ayalandi"
+ },
+ "BB": {
+ "name": "Babadothi"
+ },
+ "BS": {
+ "name": "Bahama"
+ },
+ "BH": {
+ "name": "Bahareni"
+ },
+ "BD": {
+ "name": "Bangladeshi"
+ },
+ "BY": {
+ "name": "Belaruthi"
+ },
+ "BZ": {
+ "name": "Belidhe"
+ },
+ "BJ": {
+ "name": "Benini"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bothnia na Hedhegovina"
+ },
+ "BW": {
+ "name": "Botthwana"
+ },
+ "BR": {
+ "name": "Brazili"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BF": {
+ "name": "Bukinafatho"
+ },
+ "MG": {
+ "name": "Bukini"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Butani"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "TD": {
+ "name": "Chadi"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Denmaki"
+ },
+ "ZM": {
+ "name": "Dhambia"
+ },
+ "ZW": {
+ "name": "Dhimbabwe"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "EC": {
+ "name": "Ekwado"
+ },
+ "SV": {
+ "name": "Elsavado"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Ethtonia"
+ },
+ "AE": {
+ "name": "Falme dha Kiarabu"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filipino"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gaboni"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GN": {
+ "name": "Gine"
+ },
+ "GW": {
+ "name": "Ginebisau"
+ },
+ "GQ": {
+ "name": "Ginekweta"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GL": {
+ "name": "Grinlandi"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "GP": {
+ "name": "Gwadelupe"
+ },
+ "GU": {
+ "name": "Gwam"
+ },
+ "GT": {
+ "name": "Gwatemala"
+ },
+ "GF": {
+ "name": "Gwiyana ya Ufarantha"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "ES": {
+ "name": "Hithpania"
+ },
+ "HN": {
+ "name": "Hondurathi"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hungaria"
+ },
+ "IO": {
+ "name": "Ieneo la Uingeredha katika Bahari Hindi"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonethia"
+ },
+ "IQ": {
+ "name": "Iraki"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "IL": {
+ "name": "Ithraeli"
+ },
+ "JM": {
+ "name": "Jamaika"
+ },
+ "CF": {
+ "name": "Jamhuri ya Afrika ya Kati"
+ },
+ "CZ": {
+ "name": "Jamhuri ya Cheki"
+ },
+ "DO": {
+ "name": "Jamhuri ya Dominika"
+ },
+ "CD": {
+ "name": "Jamhuri ya Kidemokrathia ya Kongo"
+ },
+ "JP": {
+ "name": "Japani"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "GI": {
+ "name": "Jibralta"
+ },
+ "DJ": {
+ "name": "Jibuti"
+ },
+ "GE": {
+ "name": "Jojia"
+ },
+ "KH": {
+ "name": "Kambodia"
+ },
+ "CM": {
+ "name": "Kameruni"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "QA": {
+ "name": "Katari"
+ },
+ "KZ": {
+ "name": "Kazakithtani"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "CV": {
+ "name": "Kepuvede"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "KG": {
+ "name": "Kirigizithtani"
+ },
+ "NF": {
+ "name": "Kithiwa cha Norfok"
+ },
+ "CI": {
+ "name": "Kodivaa"
+ },
+ "CO": {
+ "name": "Kolombia"
+ },
+ "KM": {
+ "name": "Komoro"
+ },
+ "CG": {
+ "name": "Kongo"
+ },
+ "HR": {
+ "name": "Korathia"
+ },
+ "KP": {
+ "name": "Korea Kathkazini"
+ },
+ "KR": {
+ "name": "Korea Kuthini"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "Kothtarika"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "CY": {
+ "name": "Kuprothi"
+ },
+ "KW": {
+ "name": "Kuwaiti"
+ },
+ "LA": {
+ "name": "Laothi"
+ },
+ "LU": {
+ "name": "Lathembagi"
+ },
+ "LV": {
+ "name": "Lativia"
+ },
+ "LB": {
+ "name": "Lebanoni"
+ },
+ "LS": {
+ "name": "Lethoto"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Lishenteni"
+ },
+ "LT": {
+ "name": "Litwania"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malethia"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "US": {
+ "name": "Marekani"
+ },
+ "MQ": {
+ "name": "Martiniki"
+ },
+ "MK": {
+ "name": "Mathedonia"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Mekthiko"
+ },
+ "FM": {
+ "name": "Mikronethia"
+ },
+ "EG": {
+ "name": "Mithri"
+ },
+ "MV": {
+ "name": "Modivu"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Monttherrati"
+ },
+ "MR": {
+ "name": "Moritania"
+ },
+ "MU": {
+ "name": "Morithi"
+ },
+ "MA": {
+ "name": "Moroko"
+ },
+ "MZ": {
+ "name": "Mthumbiji"
+ },
+ "MM": {
+ "name": "Myama"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepali"
+ },
+ "NE": {
+ "name": "Nijeri"
+ },
+ "NG": {
+ "name": "Nijeria"
+ },
+ "NI": {
+ "name": "Nikaragwa"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Norwe"
+ },
+ "NZ": {
+ "name": "Nyudhilandi"
+ },
+ "NC": {
+ "name": "Nyukaledonia"
+ },
+ "OM": {
+ "name": "Omani"
+ },
+ "PK": {
+ "name": "Pakithtani"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palestina"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua"
+ },
+ "PY": {
+ "name": "Paragwai"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitkairni"
+ },
+ "PL": {
+ "name": "Polandi"
+ },
+ "PF": {
+ "name": "Polinesia ya Ufarantha"
+ },
+ "PR": {
+ "name": "Pwetoriko"
+ },
+ "RE": {
+ "name": "Riyunioni"
+ },
+ "RO": {
+ "name": "Romania"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Shelisheli"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "TZ": {
+ "name": "Tadhania"
+ },
+ "TH": {
+ "name": "Tailandi"
+ },
+ "TW": {
+ "name": "Taiwani"
+ },
+ "TJ": {
+ "name": "Tajikithtani"
+ },
+ "SM": {
+ "name": "Thamarino"
+ },
+ "WS": {
+ "name": "Thamoa"
+ },
+ "AS": {
+ "name": "Thamoa ya Marekani"
+ },
+ "SH": {
+ "name": "Thantahelena"
+ },
+ "KN": {
+ "name": "Thantakitdhi na Nevith"
+ },
+ "LC": {
+ "name": "Thantaluthia"
+ },
+ "PM": {
+ "name": "Thantapieri na Mikeloni"
+ },
+ "VC": {
+ "name": "Thantavithenti na Grenadini"
+ },
+ "ST": {
+ "name": "Thao Tome na Principe"
+ },
+ "SA": {
+ "name": "Thaudi"
+ },
+ "SN": {
+ "name": "Thenegali"
+ },
+ "SL": {
+ "name": "Thiera Leoni"
+ },
+ "SG": {
+ "name": "Thingapoo"
+ },
+ "SY": {
+ "name": "Thiria"
+ },
+ "LK": {
+ "name": "Thirilanka"
+ },
+ "SI": {
+ "name": "Thlovenia"
+ },
+ "SK": {
+ "name": "Tholvakia"
+ },
+ "SO": {
+ "name": "Thomalia"
+ },
+ "SD": {
+ "name": "Thudani"
+ },
+ "SR": {
+ "name": "Thurinamu"
+ },
+ "TL": {
+ "name": "Timori ya Mashariki"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad na Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunithia"
+ },
+ "TM": {
+ "name": "Turukimenithtani"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "IR": {
+ "name": "Uajemi"
+ },
+ "BE": {
+ "name": "Ubelgiji"
+ },
+ "UZ": {
+ "name": "Udhibekithtani"
+ },
+ "FR": {
+ "name": "Ufarantha"
+ },
+ "FI": {
+ "name": "Ufini"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "GR": {
+ "name": "Ugiriki"
+ },
+ "ET": {
+ "name": "Uhabeshi"
+ },
+ "NL": {
+ "name": "Uholandhi"
+ },
+ "GB": {
+ "name": "Uingeredha"
+ },
+ "DE": {
+ "name": "Ujerumani"
+ },
+ "UA": {
+ "name": "Ukraine"
+ },
+ "PT": {
+ "name": "Ureno"
+ },
+ "UY": {
+ "name": "Urugwai"
+ },
+ "RU": {
+ "name": "Uruthi"
+ },
+ "SZ": {
+ "name": "Uthwadhi"
+ },
+ "SE": {
+ "name": "Uthwidi"
+ },
+ "CH": {
+ "name": "Uthwithi"
+ },
+ "TR": {
+ "name": "Uturuki"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikani"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietinamu"
+ },
+ "CK": {
+ "name": "Vithiwa vya Cook"
+ },
+ "FK": {
+ "name": "Vithiwa vya Falkland"
+ },
+ "KY": {
+ "name": "Vithiwa vya Kayman"
+ },
+ "MP": {
+ "name": "Vithiwa vya Mariana vya Kathkazini"
+ },
+ "MH": {
+ "name": "Vithiwa vya Marshal"
+ },
+ "SB": {
+ "name": "Vithiwa vya Tholomon"
+ },
+ "TC": {
+ "name": "Vithiwa vya Turki na Kaiko"
+ },
+ "VI": {
+ "name": "Vithiwa vya Virgin vya Marekani"
+ },
+ "VG": {
+ "name": "Vithiwa vya Virgin vya Uingeredha"
+ },
+ "WF": {
+ "name": "Walith na Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yemeni"
+ },
+ "JO": {
+ "name": "Yordani"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/ast.json b/vendor/commerceguys/intl/resources/country/ast.json
new file mode 100644
index 000000000..a7c9737d4
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/ast.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afganistán"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DE": {
+ "name": "Alemaña"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguila"
+ },
+ "AG": {
+ "name": "Antigua y Barbuda"
+ },
+ "SA": {
+ "name": "Arabia Saudita"
+ },
+ "HK": {
+ "name": "ARE China de Ḥong Kong"
+ },
+ "MO": {
+ "name": "ARE China de Macáu"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "DZ": {
+ "name": "Arxelia"
+ },
+ "AR": {
+ "name": "Arxentina"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "AZ": {
+ "name": "Azerbaixán"
+ },
+ "BH": {
+ "name": "Baḥréin"
+ },
+ "BD": {
+ "name": "Bangladex"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BE": {
+ "name": "Bélxica"
+ },
+ "BJ": {
+ "name": "Benín"
+ },
+ "BY": {
+ "name": "Bielorrusia"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia y Herzegovina"
+ },
+ "BW": {
+ "name": "Botsuana"
+ },
+ "BR": {
+ "name": "Brasil"
+ },
+ "BN": {
+ "name": "Brunéi"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Fasu"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Bután"
+ },
+ "CV": {
+ "name": "Cabu Verde"
+ },
+ "KH": {
+ "name": "Camboya"
+ },
+ "CM": {
+ "name": "Camerún"
+ },
+ "CA": {
+ "name": "Canadá"
+ },
+ "BQ": {
+ "name": "Caribe neerlandés"
+ },
+ "EA": {
+ "name": "Ceuta y Melilla"
+ },
+ "TD": {
+ "name": "Chad"
+ },
+ "CZ": {
+ "name": "Chequia"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "VA": {
+ "name": "Ciudá del Vaticanu"
+ },
+ "CO": {
+ "name": "Colombia"
+ },
+ "CG": {
+ "name": "Congu - Brazzaville"
+ },
+ "CD": {
+ "name": "Congu - Kinxasa"
+ },
+ "KP": {
+ "name": "Corea del Norte"
+ },
+ "KR": {
+ "name": "Corea del Sur"
+ },
+ "CI": {
+ "name": "Costa de Marfil"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "HR": {
+ "name": "Croacia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DK": {
+ "name": "Dinamarca"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "NE": {
+ "name": "El Níxer"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "AE": {
+ "name": "Emiratos Árabes Xuníos"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "SK": {
+ "name": "Eslovaquia"
+ },
+ "SI": {
+ "name": "Eslovenia"
+ },
+ "ES": {
+ "name": "España"
+ },
+ "US": {
+ "name": "Estaos Xuníos"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Etiopía"
+ },
+ "EG": {
+ "name": "Exiptu"
+ },
+ "FK": {
+ "name": "Falkland Islands"
+ },
+ "PH": {
+ "name": "Filipines"
+ },
+ "FI": {
+ "name": "Finlandia"
+ },
+ "FR": {
+ "name": "Francia"
+ },
+ "GA": {
+ "name": "Gabón"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GD": {
+ "name": "Granada"
+ },
+ "GR": {
+ "name": "Grecia"
+ },
+ "GL": {
+ "name": "Groenlandia"
+ },
+ "GP": {
+ "name": "Guadalupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GQ": {
+ "name": "Guinea Ecuatorial"
+ },
+ "GW": {
+ "name": "Guinea-Bisáu"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "GF": {
+ "name": "Guyana Francesa"
+ },
+ "HT": {
+ "name": "Haití"
+ },
+ "HN": {
+ "name": "Hondures"
+ },
+ "HU": {
+ "name": "Hungría"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IR": {
+ "name": "Irán"
+ },
+ "IQ": {
+ "name": "Iraq"
+ },
+ "IE": {
+ "name": "Irlanda"
+ },
+ "IS": {
+ "name": "Islandia"
+ },
+ "AC": {
+ "name": "Islla Ascensión"
+ },
+ "CX": {
+ "name": "Islla Christmas"
+ },
+ "IM": {
+ "name": "Islla de Man"
+ },
+ "NF": {
+ "name": "Islla Norfolk"
+ },
+ "AX": {
+ "name": "Islles Aland"
+ },
+ "KY": {
+ "name": "Islles Caimán"
+ },
+ "IC": {
+ "name": "Islles Canaries"
+ },
+ "CC": {
+ "name": "Islles Cocos (Keeling)"
+ },
+ "CK": {
+ "name": "Islles Cook"
+ },
+ "FO": {
+ "name": "Islles Feroe"
+ },
+ "FJ": {
+ "name": "Islles Fixi"
+ },
+ "MP": {
+ "name": "Islles Marianes del Norte"
+ },
+ "MH": {
+ "name": "Islles Marshall"
+ },
+ "UM": {
+ "name": "Islles Perifériques Menores de los EE.XX."
+ },
+ "PN": {
+ "name": "Islles Pitcairn"
+ },
+ "SB": {
+ "name": "Islles Salomón"
+ },
+ "TC": {
+ "name": "Islles Turques y Caicos"
+ },
+ "VI": {
+ "name": "Islles Vírxenes Americanes"
+ },
+ "VG": {
+ "name": "Islles Vírxenes Britániques"
+ },
+ "GS": {
+ "name": "Islles Xeorxa del Sur y Sandwich del Sur"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "KZ": {
+ "name": "Kazakstán"
+ },
+ "KE": {
+ "name": "Kenia"
+ },
+ "KG": {
+ "name": "Kirguistán"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovu"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "AQ": {
+ "name": "L’Antártida"
+ },
+ "MQ": {
+ "name": "La Martinica"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "BS": {
+ "name": "Les Bahames"
+ },
+ "BM": {
+ "name": "Les Bermudes"
+ },
+ "KM": {
+ "name": "Les Comores"
+ },
+ "MV": {
+ "name": "Les Maldives"
+ },
+ "SC": {
+ "name": "Les Seixeles"
+ },
+ "LS": {
+ "name": "Lesothu"
+ },
+ "LV": {
+ "name": "Letonia"
+ },
+ "LB": {
+ "name": "Líbanu"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libia"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lituania"
+ },
+ "LU": {
+ "name": "Luxemburgu"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MY": {
+ "name": "Malasia"
+ },
+ "MW": {
+ "name": "Malaui"
+ },
+ "ML": {
+ "name": "Malí"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marruecos"
+ },
+ "MU": {
+ "name": "Mauriciu"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Méxicu"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldavia"
+ },
+ "MC": {
+ "name": "Mónacu"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegru"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar (Birmania)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NG": {
+ "name": "Nixeria"
+ },
+ "NO": {
+ "name": "Noruega"
+ },
+ "NC": {
+ "name": "Nueva Caledonia"
+ },
+ "NZ": {
+ "name": "Nueva Zelanda"
+ },
+ "OM": {
+ "name": "Omán"
+ },
+ "NL": {
+ "name": "Países Baxos"
+ },
+ "PW": {
+ "name": "Paláu"
+ },
+ "PA": {
+ "name": "Panamá"
+ },
+ "PG": {
+ "name": "Papúa Nueva Guinea"
+ },
+ "PK": {
+ "name": "Paquistán"
+ },
+ "PY": {
+ "name": "Paraguái"
+ },
+ "PE": {
+ "name": "Perú"
+ },
+ "PF": {
+ "name": "Polinesia Francesa"
+ },
+ "PL": {
+ "name": "Polonia"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puertu Ricu"
+ },
+ "QA": {
+ "name": "Qatar"
+ },
+ "GB": {
+ "name": "Reinu Xuníu"
+ },
+ "CF": {
+ "name": "República Centroafricana"
+ },
+ "DO": {
+ "name": "República Dominicana"
+ },
+ "RE": {
+ "name": "Reunión"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RO": {
+ "name": "Rumanía"
+ },
+ "RU": {
+ "name": "Rusia"
+ },
+ "EH": {
+ "name": "Sáḥara Occidental"
+ },
+ "KN": {
+ "name": "Saint Kitts y Nevis"
+ },
+ "MF": {
+ "name": "Saint Martin"
+ },
+ "PM": {
+ "name": "Saint Pierre y Miquelon"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa Americana"
+ },
+ "BL": {
+ "name": "San Bartolomé"
+ },
+ "SM": {
+ "name": "San Marín"
+ },
+ "VC": {
+ "name": "San Vicente y Granadines"
+ },
+ "SH": {
+ "name": "Santa Helena"
+ },
+ "LC": {
+ "name": "Santa Llucía"
+ },
+ "ST": {
+ "name": "Santu Tomé y Príncipe"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SL": {
+ "name": "Sierra Lleona"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Siria"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "SZ": {
+ "name": "Suazilandia"
+ },
+ "ZA": {
+ "name": "Sudáfrica"
+ },
+ "SD": {
+ "name": "Sudán"
+ },
+ "SS": {
+ "name": "Sudán del Sur"
+ },
+ "SE": {
+ "name": "Suecia"
+ },
+ "CH": {
+ "name": "Suiza"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SJ": {
+ "name": "Svalbard ya Islla Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailandia"
+ },
+ "TW": {
+ "name": "Taiwán"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TJ": {
+ "name": "Taxiquistán"
+ },
+ "PS": {
+ "name": "Territorios Palestinos"
+ },
+ "IO": {
+ "name": "Territoriu Británicu del Océanu Índicu"
+ },
+ "TF": {
+ "name": "Tierres Australes Franceses"
+ },
+ "TL": {
+ "name": "Timor Oriental"
+ },
+ "TG": {
+ "name": "Togu"
+ },
+ "TK": {
+ "name": "Tokeláu"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidá y Tobagu"
+ },
+ "TA": {
+ "name": "Tristán da Cunha"
+ },
+ "TN": {
+ "name": "Tunicia"
+ },
+ "TM": {
+ "name": "Turkmenistán"
+ },
+ "TR": {
+ "name": "Turquía"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UA": {
+ "name": "Ucraína"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UY": {
+ "name": "Uruguái"
+ },
+ "UZ": {
+ "name": "Uzbequistán"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis y Futuna"
+ },
+ "JM": {
+ "name": "Xamaica"
+ },
+ "JP": {
+ "name": "Xapón"
+ },
+ "GE": {
+ "name": "Xeorxa"
+ },
+ "GI": {
+ "name": "Xibraltar"
+ },
+ "DJ": {
+ "name": "Xibuti"
+ },
+ "CY": {
+ "name": "Xipre"
+ },
+ "JO": {
+ "name": "Xordania"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabue"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/az-Cyrl.json b/vendor/commerceguys/intl/resources/country/az-Cyrl.json
new file mode 100644
index 000000000..d16c29a0e
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/az-Cyrl.json
@@ -0,0 +1,761 @@
+{
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "CI": {
+ "name": "Kотд’ивуар"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "PS": {
+ "name": "Palestinian Territories"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "VI": {
+ "name": "АБШ Вирҝин адалары"
+ },
+ "UM": {
+ "name": "АБШ-а бағлы кичик адаҹыглар"
+ },
+ "AU": {
+ "name": "Австралија"
+ },
+ "AT": {
+ "name": "Австрија"
+ },
+ "AZ": {
+ "name": "Азәрбајҹан"
+ },
+ "AX": {
+ "name": "Аланд адалары"
+ },
+ "AL": {
+ "name": "Албанија"
+ },
+ "DE": {
+ "name": "Алманија"
+ },
+ "US": {
+ "name": "Америка Бирләшмиш Штатлары"
+ },
+ "AS": {
+ "name": "Америка Самоасы"
+ },
+ "AO": {
+ "name": "Ангола"
+ },
+ "AD": {
+ "name": "Андорра"
+ },
+ "AI": {
+ "name": "Анҝилја"
+ },
+ "AQ": {
+ "name": "Антарктика"
+ },
+ "AG": {
+ "name": "Антигуа вә Барбуда"
+ },
+ "AR": {
+ "name": "Арҝентина"
+ },
+ "AW": {
+ "name": "Аруба"
+ },
+ "AC": {
+ "name": "Аскенсон адасы"
+ },
+ "DZ": {
+ "name": "Әлҹәзаир"
+ },
+ "AF": {
+ "name": "Әфганыстан"
+ },
+ "BD": {
+ "name": "Бангладеш"
+ },
+ "BB": {
+ "name": "Барбадос"
+ },
+ "BS": {
+ "name": "Баһам адалары"
+ },
+ "BH": {
+ "name": "Бәһрејн"
+ },
+ "BY": {
+ "name": "Беларус"
+ },
+ "BZ": {
+ "name": "Белиз"
+ },
+ "BE": {
+ "name": "Белчика"
+ },
+ "BJ": {
+ "name": "Бенин"
+ },
+ "BM": {
+ "name": "Бермуд адалары"
+ },
+ "AE": {
+ "name": "Бирләшмиш Әрәб Әмирликләри"
+ },
+ "GB": {
+ "name": "Бирләшмиш Краллыг"
+ },
+ "BG": {
+ "name": "Болгарыстан"
+ },
+ "BO": {
+ "name": "Боливија"
+ },
+ "BA": {
+ "name": "Боснија вә Һерсеговина"
+ },
+ "BW": {
+ "name": "Ботсвана"
+ },
+ "BR": {
+ "name": "Бразилија"
+ },
+ "VG": {
+ "name": "Британијанын Вирҝин адалары"
+ },
+ "IO": {
+ "name": "Британтјанын Һинд Океаны Әразиси"
+ },
+ "BN": {
+ "name": "Брунеј"
+ },
+ "BF": {
+ "name": "Буркина Фасо"
+ },
+ "BI": {
+ "name": "Бурунди"
+ },
+ "BT": {
+ "name": "Бутан"
+ },
+ "VU": {
+ "name": "Вануату"
+ },
+ "VA": {
+ "name": "Ватикан"
+ },
+ "VE": {
+ "name": "Венесуела"
+ },
+ "VN": {
+ "name": "Вјетнам"
+ },
+ "GA": {
+ "name": "Габон"
+ },
+ "KZ": {
+ "name": "Газахыстан"
+ },
+ "GY": {
+ "name": "Гајана"
+ },
+ "GM": {
+ "name": "Гамбија"
+ },
+ "GH": {
+ "name": "Гана"
+ },
+ "QA": {
+ "name": "Гәтәр"
+ },
+ "GP": {
+ "name": "Гваделупа"
+ },
+ "GT": {
+ "name": "Гватемала"
+ },
+ "GN": {
+ "name": "Гвинеја"
+ },
+ "GW": {
+ "name": "Гвинеја-Бисау"
+ },
+ "GD": {
+ "name": "Гренада"
+ },
+ "GL": {
+ "name": "Гренландија"
+ },
+ "GU": {
+ "name": "Гуам"
+ },
+ "KG": {
+ "name": "Гырғызыстан"
+ },
+ "DK": {
+ "name": "Данимарка"
+ },
+ "DG": {
+ "name": "Диего Гарсија"
+ },
+ "DM": {
+ "name": "Доминика"
+ },
+ "DO": {
+ "name": "Доминикан Республикасы"
+ },
+ "EC": {
+ "name": "Еквадор"
+ },
+ "GQ": {
+ "name": "Екваториал Гвинеја"
+ },
+ "ER": {
+ "name": "Еритреја"
+ },
+ "AM": {
+ "name": "Ермәнистан"
+ },
+ "EE": {
+ "name": "Естонија"
+ },
+ "ET": {
+ "name": "Ефиопија"
+ },
+ "ZM": {
+ "name": "Замбија"
+ },
+ "ZW": {
+ "name": "Зимбабве"
+ },
+ "ID": {
+ "name": "Индонезија"
+ },
+ "JO": {
+ "name": "Иорданија"
+ },
+ "IQ": {
+ "name": "Ираг"
+ },
+ "IR": {
+ "name": "Иран"
+ },
+ "IE": {
+ "name": "Ирландија"
+ },
+ "SE": {
+ "name": "Исвеч"
+ },
+ "CH": {
+ "name": "Исвечрә"
+ },
+ "IS": {
+ "name": "Исландија"
+ },
+ "ES": {
+ "name": "Испанија"
+ },
+ "IL": {
+ "name": "Исраил"
+ },
+ "IT": {
+ "name": "Италија"
+ },
+ "JM": {
+ "name": "Јамајка"
+ },
+ "JP": {
+ "name": "Јапонија"
+ },
+ "YE": {
+ "name": "Јәмән"
+ },
+ "NZ": {
+ "name": "Јени Зеландија"
+ },
+ "NC": {
+ "name": "Јени Каледонија"
+ },
+ "GR": {
+ "name": "Јунаныстан"
+ },
+ "CV": {
+ "name": "Кабо-Верде"
+ },
+ "KY": {
+ "name": "Кајман адалары"
+ },
+ "KH": {
+ "name": "Камбоҹа"
+ },
+ "CM": {
+ "name": "Камерун"
+ },
+ "CA": {
+ "name": "Канада"
+ },
+ "IC": {
+ "name": "Канар адалары"
+ },
+ "KE": {
+ "name": "Кенија"
+ },
+ "CY": {
+ "name": "Кипр"
+ },
+ "KI": {
+ "name": "Кирибати"
+ },
+ "CC": {
+ "name": "Кокос (Килинг) адалары"
+ },
+ "CO": {
+ "name": "Колумбија"
+ },
+ "KM": {
+ "name": "Комор адалары"
+ },
+ "CG": {
+ "name": "Конго-Браззавил"
+ },
+ "CD": {
+ "name": "Конго-Киншаса"
+ },
+ "XK": {
+ "name": "Косово"
+ },
+ "CR": {
+ "name": "Коста Рика"
+ },
+ "CU": {
+ "name": "Куба"
+ },
+ "CK": {
+ "name": "Кук адалары"
+ },
+ "CW": {
+ "name": "Курасао"
+ },
+ "KW": {
+ "name": "Күвејт"
+ },
+ "GG": {
+ "name": "Ҝернси"
+ },
+ "GE": {
+ "name": "Ҝүрҹүстан"
+ },
+ "LA": {
+ "name": "Лаос"
+ },
+ "LV": {
+ "name": "Латвија"
+ },
+ "LS": {
+ "name": "Лесото"
+ },
+ "LR": {
+ "name": "Либерија"
+ },
+ "LB": {
+ "name": "Ливан"
+ },
+ "LY": {
+ "name": "Ливија"
+ },
+ "LT": {
+ "name": "Литва"
+ },
+ "LI": {
+ "name": "Лихтенштејн"
+ },
+ "LU": {
+ "name": "Лүксембург"
+ },
+ "MU": {
+ "name": "Маврики"
+ },
+ "MR": {
+ "name": "Мавританија"
+ },
+ "MG": {
+ "name": "Мадагаскар"
+ },
+ "YT": {
+ "name": "Мајот"
+ },
+ "MO": {
+ "name": "Макао Хүсуси Инзибати Әрази Чин"
+ },
+ "MW": {
+ "name": "Малави"
+ },
+ "MY": {
+ "name": "Малајзија"
+ },
+ "MV": {
+ "name": "Малдив адалары"
+ },
+ "ML": {
+ "name": "Мали"
+ },
+ "MT": {
+ "name": "Малта"
+ },
+ "MQ": {
+ "name": "Мартиник"
+ },
+ "MH": {
+ "name": "Маршал адалары"
+ },
+ "HU": {
+ "name": "Маҹарыстан"
+ },
+ "MA": {
+ "name": "Мәракеш"
+ },
+ "CF": {
+ "name": "Мәркәзи Африка Республикасы"
+ },
+ "MX": {
+ "name": "Мексика"
+ },
+ "IM": {
+ "name": "Мен адасы"
+ },
+ "FM": {
+ "name": "Микронезија"
+ },
+ "CX": {
+ "name": "Милад адасы"
+ },
+ "EG": {
+ "name": "Мисир"
+ },
+ "MM": {
+ "name": "Мјанма"
+ },
+ "MZ": {
+ "name": "Мозамбик"
+ },
+ "MD": {
+ "name": "Молдова"
+ },
+ "MC": {
+ "name": "Монако"
+ },
+ "MN": {
+ "name": "Монголустан"
+ },
+ "MS": {
+ "name": "Монсерат"
+ },
+ "ME": {
+ "name": "Монтенегро"
+ },
+ "SH": {
+ "name": "Мүгәддәс Јелена"
+ },
+ "PM": {
+ "name": "Мүгәддәс Пјер вә Микелон"
+ },
+ "NA": {
+ "name": "Намибија"
+ },
+ "NR": {
+ "name": "Науру"
+ },
+ "NP": {
+ "name": "Непал"
+ },
+ "NL": {
+ "name": "Нидерланд"
+ },
+ "NI": {
+ "name": "Никарагуа"
+ },
+ "NE": {
+ "name": "Ниҝер"
+ },
+ "NG": {
+ "name": "Ниҝерија"
+ },
+ "NU": {
+ "name": "Ниуе"
+ },
+ "NO": {
+ "name": "Норвеч"
+ },
+ "NF": {
+ "name": "Норфолк адасы"
+ },
+ "OM": {
+ "name": "Оман"
+ },
+ "UZ": {
+ "name": "Өзбәкистан"
+ },
+ "PK": {
+ "name": "Пакистан"
+ },
+ "PW": {
+ "name": "Палау"
+ },
+ "PA": {
+ "name": "Панама"
+ },
+ "PG": {
+ "name": "Папуа-Јени Гвинеја"
+ },
+ "PY": {
+ "name": "Парагвај"
+ },
+ "PE": {
+ "name": "Перу"
+ },
+ "PN": {
+ "name": "Питкерн адалары"
+ },
+ "PL": {
+ "name": "Полша"
+ },
+ "PT": {
+ "name": "Португалија"
+ },
+ "PR": {
+ "name": "Пуерто Рико"
+ },
+ "RE": {
+ "name": "Рејунјон"
+ },
+ "RW": {
+ "name": "Руанда"
+ },
+ "RO": {
+ "name": "Румынија"
+ },
+ "RU": {
+ "name": "Русија"
+ },
+ "SV": {
+ "name": "Салвадор"
+ },
+ "WS": {
+ "name": "Самоа"
+ },
+ "SM": {
+ "name": "Сан-Марино"
+ },
+ "ST": {
+ "name": "Сан-Томе вә Принсипи"
+ },
+ "SA": {
+ "name": "Сәудијјә Әрәбистаны"
+ },
+ "SZ": {
+ "name": "Свазиленд"
+ },
+ "SJ": {
+ "name": "Свалбард вә Јан-Мајен"
+ },
+ "SC": {
+ "name": "Сејшел адалары"
+ },
+ "SN": {
+ "name": "Сенегал"
+ },
+ "MF": {
+ "name": "Сент Мартин"
+ },
+ "BL": {
+ "name": "Сент-Бартелеми"
+ },
+ "VC": {
+ "name": "Сент-Винсент вә Гренадинләр"
+ },
+ "KN": {
+ "name": "Сент-Китс вә Невис"
+ },
+ "LC": {
+ "name": "Сент-Лусија"
+ },
+ "RS": {
+ "name": "Сербија"
+ },
+ "EA": {
+ "name": "Сеута вә Мелилја"
+ },
+ "SG": {
+ "name": "Сингапур"
+ },
+ "SX": {
+ "name": "Синт-Мартен"
+ },
+ "SL": {
+ "name": "Сјерра-Леоне"
+ },
+ "SK": {
+ "name": "Словакија"
+ },
+ "SI": {
+ "name": "Словенија"
+ },
+ "SB": {
+ "name": "Соломон адалары"
+ },
+ "SO": {
+ "name": "Сомали"
+ },
+ "SD": {
+ "name": "Судан"
+ },
+ "SY": {
+ "name": "Сурија"
+ },
+ "SR": {
+ "name": "Суринам"
+ },
+ "TH": {
+ "name": "Таиланд"
+ },
+ "TW": {
+ "name": "Тајван"
+ },
+ "TZ": {
+ "name": "Танзанија"
+ },
+ "TJ": {
+ "name": "Таҹикистан"
+ },
+ "TG": {
+ "name": "Того"
+ },
+ "TK": {
+ "name": "Токелау"
+ },
+ "TO": {
+ "name": "Тонга"
+ },
+ "TC": {
+ "name": "Төркс вә Кајкос адалары"
+ },
+ "TT": {
+ "name": "Тринидад вә Тобаго"
+ },
+ "TA": {
+ "name": "Тристан да Кунја"
+ },
+ "TV": {
+ "name": "Тувалу"
+ },
+ "TN": {
+ "name": "Тунис"
+ },
+ "TR": {
+ "name": "Түркијә"
+ },
+ "TM": {
+ "name": "Түркмәнистан"
+ },
+ "UG": {
+ "name": "Уганда"
+ },
+ "UA": {
+ "name": "Украјна"
+ },
+ "WF": {
+ "name": "Уоллис вә Футуна"
+ },
+ "UY": {
+ "name": "Уругвај"
+ },
+ "FO": {
+ "name": "Фарер адалары"
+ },
+ "PH": {
+ "name": "Филиппин"
+ },
+ "FI": {
+ "name": "Финландија"
+ },
+ "FJ": {
+ "name": "Фиҹи"
+ },
+ "FK": {
+ "name": "Фолкленд адалары"
+ },
+ "FR": {
+ "name": "Франса"
+ },
+ "GF": {
+ "name": "Франса Гвианасы"
+ },
+ "PF": {
+ "name": "Франса Полинезијасы"
+ },
+ "TF": {
+ "name": "Франсанын Ҹәнуб Әразиләри"
+ },
+ "HR": {
+ "name": "Хорватија"
+ },
+ "HT": {
+ "name": "Һаити"
+ },
+ "IN": {
+ "name": "Һиндистан"
+ },
+ "HN": {
+ "name": "Һондурас"
+ },
+ "HK": {
+ "name": "Һонк Конг Хүсуси Инзибати Әрази Чин"
+ },
+ "TD": {
+ "name": "Чад"
+ },
+ "CZ": {
+ "name": "Чех Республикасы"
+ },
+ "CL": {
+ "name": "Чили"
+ },
+ "CN": {
+ "name": "Чин"
+ },
+ "GI": {
+ "name": "Ҹәбәллүтариг"
+ },
+ "ZA": {
+ "name": "Ҹәнуб Африка"
+ },
+ "KR": {
+ "name": "Ҹәнуби Кореја"
+ },
+ "SS": {
+ "name": "Ҹәнуби Судан"
+ },
+ "GS": {
+ "name": "Ҹәнуби Ҹорҹија вә Ҹәнуби Сендвич адалары"
+ },
+ "JE": {
+ "name": "Ҹерси"
+ },
+ "DJ": {
+ "name": "Ҹибути"
+ },
+ "TL": {
+ "name": "Шәрги Тимор"
+ },
+ "KP": {
+ "name": "Шимали Кореја"
+ },
+ "MP": {
+ "name": "Шимали Мариан адалары"
+ },
+ "LK": {
+ "name": "Шри-Ланка"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/az.json b/vendor/commerceguys/intl/resources/country/az.json
new file mode 100644
index 000000000..137c593c7
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/az.json
@@ -0,0 +1,761 @@
+{
+ "VI": {
+ "name": "ABŞ Virgin adaları"
+ },
+ "UM": {
+ "name": "ABŞ-a bağlı kiçik adacıqlar"
+ },
+ "AX": {
+ "name": "Aland adaları"
+ },
+ "AL": {
+ "name": "Albaniya"
+ },
+ "DE": {
+ "name": "Almaniya"
+ },
+ "US": {
+ "name": "Amerika Birləşmiş Ştatları"
+ },
+ "AS": {
+ "name": "Amerika Samoası"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AI": {
+ "name": "Angilya"
+ },
+ "AO": {
+ "name": "Anqola"
+ },
+ "AQ": {
+ "name": "Antarktika"
+ },
+ "AG": {
+ "name": "Antiqua və Barbuda"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Askenson adası"
+ },
+ "AU": {
+ "name": "Avstraliya"
+ },
+ "AT": {
+ "name": "Avstriya"
+ },
+ "AZ": {
+ "name": "Azərbaycan"
+ },
+ "BS": {
+ "name": "Baham adaları"
+ },
+ "BD": {
+ "name": "Banqladeş"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BY": {
+ "name": "Belarus"
+ },
+ "BE": {
+ "name": "Belçika"
+ },
+ "BZ": {
+ "name": "Beliz"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermud adaları"
+ },
+ "BH": {
+ "name": "Bəhreyn"
+ },
+ "AE": {
+ "name": "Birləşmiş Ərəb Əmirlikləri"
+ },
+ "GB": {
+ "name": "Birləşmiş Krallıq"
+ },
+ "BO": {
+ "name": "Boliviya"
+ },
+ "BG": {
+ "name": "Bolqarıstan"
+ },
+ "BA": {
+ "name": "Bosniya və Herseqovina"
+ },
+ "BW": {
+ "name": "Botsvana"
+ },
+ "BR": {
+ "name": "Braziliya"
+ },
+ "IO": {
+ "name": "Britaniyanın Hind Okeanı Ərazisi"
+ },
+ "VG": {
+ "name": "Britaniyanın Virgin adaları"
+ },
+ "BN": {
+ "name": "Bruney"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Butan"
+ },
+ "JE": {
+ "name": "Cersi"
+ },
+ "GI": {
+ "name": "Cəbəllütariq"
+ },
+ "ZA": {
+ "name": "Cənub Afrika"
+ },
+ "GS": {
+ "name": "Cənubi Corciya və Cənubi Sendviç adaları"
+ },
+ "KR": {
+ "name": "Cənubi Koreya"
+ },
+ "SS": {
+ "name": "Cənubi Sudan"
+ },
+ "DJ": {
+ "name": "Cibuti"
+ },
+ "TD": {
+ "name": "Çad"
+ },
+ "CZ": {
+ "name": "Çex Respublikası"
+ },
+ "CL": {
+ "name": "Çili"
+ },
+ "CN": {
+ "name": "Çin"
+ },
+ "DK": {
+ "name": "Danimarka"
+ },
+ "DG": {
+ "name": "Dieqo Qarsiya"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "DO": {
+ "name": "Dominikan Respublikası"
+ },
+ "ET": {
+ "name": "Efiopiya"
+ },
+ "EC": {
+ "name": "Ekvador"
+ },
+ "GQ": {
+ "name": "Ekvatorial Qvineya"
+ },
+ "ER": {
+ "name": "Eritreya"
+ },
+ "AM": {
+ "name": "Ermənistan"
+ },
+ "EE": {
+ "name": "Estoniya"
+ },
+ "AF": {
+ "name": "Əfqanıstan"
+ },
+ "DZ": {
+ "name": "Əlcəzair"
+ },
+ "FO": {
+ "name": "Farer adaları"
+ },
+ "PS": {
+ "name": "Fələstin Əraziləri"
+ },
+ "FJ": {
+ "name": "Fici"
+ },
+ "PH": {
+ "name": "Filippin"
+ },
+ "FI": {
+ "name": "Finlandiya"
+ },
+ "FK": {
+ "name": "Folklend adaları"
+ },
+ "FR": {
+ "name": "Fransa"
+ },
+ "GF": {
+ "name": "Fransa Qvianası"
+ },
+ "PF": {
+ "name": "Fransa Polineziyası"
+ },
+ "TF": {
+ "name": "Fransanın Cənub Əraziləri"
+ },
+ "GG": {
+ "name": "Gernsi"
+ },
+ "GE": {
+ "name": "Gürcüstan"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "IN": {
+ "name": "Hindistan"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Honq Konq Xüsusi İnzibati Ərazi Çin"
+ },
+ "HR": {
+ "name": "Xorvatiya"
+ },
+ "ID": {
+ "name": "İndoneziya"
+ },
+ "JO": {
+ "name": "İordaniya"
+ },
+ "IQ": {
+ "name": "İraq"
+ },
+ "IR": {
+ "name": "İran"
+ },
+ "IE": {
+ "name": "İrlandiya"
+ },
+ "IS": {
+ "name": "İslandiya"
+ },
+ "ES": {
+ "name": "İspaniya"
+ },
+ "IL": {
+ "name": "İsrail"
+ },
+ "SE": {
+ "name": "İsveç"
+ },
+ "CH": {
+ "name": "İsveçrə"
+ },
+ "IT": {
+ "name": "İtaliya"
+ },
+ "CV": {
+ "name": "Kabo-Verde"
+ },
+ "KH": {
+ "name": "Kamboca"
+ },
+ "CM": {
+ "name": "Kamerun"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "IC": {
+ "name": "Kanar adaları"
+ },
+ "BQ": {
+ "name": "Karib Niderlandı"
+ },
+ "KY": {
+ "name": "Kayman adaları"
+ },
+ "KE": {
+ "name": "Keniya"
+ },
+ "CY": {
+ "name": "Kipr"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "CC": {
+ "name": "Kokos (Kilinq) adaları"
+ },
+ "CO": {
+ "name": "Kolumbiya"
+ },
+ "KM": {
+ "name": "Komor adaları"
+ },
+ "CG": {
+ "name": "Konqo - Brazzavil"
+ },
+ "CD": {
+ "name": "Konqo - Kinşasa"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "Kosta Rika"
+ },
+ "CI": {
+ "name": "Kotd’ivuar"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "CK": {
+ "name": "Kuk adaları"
+ },
+ "CW": {
+ "name": "Kurasao"
+ },
+ "KW": {
+ "name": "Küveyt"
+ },
+ "GA": {
+ "name": "Qabon"
+ },
+ "GM": {
+ "name": "Qambiya"
+ },
+ "GH": {
+ "name": "Qana"
+ },
+ "GY": {
+ "name": "Qayana"
+ },
+ "KZ": {
+ "name": "Qazaxıstan"
+ },
+ "EH": {
+ "name": "Qərbi Saxara"
+ },
+ "QA": {
+ "name": "Qətər"
+ },
+ "KG": {
+ "name": "Qırğızıstan"
+ },
+ "GD": {
+ "name": "Qrenada"
+ },
+ "GL": {
+ "name": "Qrenlandiya"
+ },
+ "GU": {
+ "name": "Quam"
+ },
+ "GP": {
+ "name": "Qvadelupa"
+ },
+ "GT": {
+ "name": "Qvatemala"
+ },
+ "GN": {
+ "name": "Qvineya"
+ },
+ "GW": {
+ "name": "Qvineya-Bisau"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LV": {
+ "name": "Latviya"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LR": {
+ "name": "Liberiya"
+ },
+ "LI": {
+ "name": "Lixtenşteyn"
+ },
+ "LT": {
+ "name": "Litva"
+ },
+ "LB": {
+ "name": "Livan"
+ },
+ "LY": {
+ "name": "Liviya"
+ },
+ "LU": {
+ "name": "Lüksemburq"
+ },
+ "HU": {
+ "name": "Macarıstan"
+ },
+ "MG": {
+ "name": "Madaqaskar"
+ },
+ "MO": {
+ "name": "Makao Xüsusi İnzibati Ərazi Çin"
+ },
+ "MK": {
+ "name": "Makedoniya"
+ },
+ "MW": {
+ "name": "Malavi"
+ },
+ "MY": {
+ "name": "Malayziya"
+ },
+ "MV": {
+ "name": "Maldiv adaları"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MH": {
+ "name": "Marşal adaları"
+ },
+ "MQ": {
+ "name": "Martinik"
+ },
+ "MU": {
+ "name": "Mavriki"
+ },
+ "MR": {
+ "name": "Mavritaniya"
+ },
+ "YT": {
+ "name": "Mayot"
+ },
+ "MX": {
+ "name": "Meksika"
+ },
+ "IM": {
+ "name": "Men adası"
+ },
+ "MA": {
+ "name": "Mərakeş"
+ },
+ "CF": {
+ "name": "Mərkəzi Afrika Respublikası"
+ },
+ "FM": {
+ "name": "Mikroneziya"
+ },
+ "CX": {
+ "name": "Milad adası"
+ },
+ "EG": {
+ "name": "Misir"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MN": {
+ "name": "Monqolustan"
+ },
+ "MS": {
+ "name": "Monserat"
+ },
+ "ME": {
+ "name": "Monteneqro"
+ },
+ "MZ": {
+ "name": "Mozambik"
+ },
+ "PM": {
+ "name": "Müqəddəs Pyer və Mikelon"
+ },
+ "SH": {
+ "name": "Müqəddəs Yelena"
+ },
+ "MM": {
+ "name": "Myanma"
+ },
+ "NA": {
+ "name": "Namibiya"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NL": {
+ "name": "Niderland"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigeriya"
+ },
+ "NI": {
+ "name": "Nikaraqua"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NF": {
+ "name": "Norfolk adası"
+ },
+ "NO": {
+ "name": "Norveç"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "UZ": {
+ "name": "Özbəkistan"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua-Yeni Qvineya"
+ },
+ "PY": {
+ "name": "Paraqvay"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitkern adaları"
+ },
+ "PL": {
+ "name": "Polşa"
+ },
+ "PT": {
+ "name": "Portuqaliya"
+ },
+ "PR": {
+ "name": "Puerto Riko"
+ },
+ "RE": {
+ "name": "Reyunyon"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RO": {
+ "name": "Rumıniya"
+ },
+ "RU": {
+ "name": "Rusiya"
+ },
+ "SV": {
+ "name": "Salvador"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San-Marino"
+ },
+ "ST": {
+ "name": "San-Tome və Prinsipi"
+ },
+ "SN": {
+ "name": "Seneqal"
+ },
+ "MF": {
+ "name": "Sent Martin"
+ },
+ "BL": {
+ "name": "Sent-Bartelemi"
+ },
+ "KN": {
+ "name": "Sent-Kits və Nevis"
+ },
+ "LC": {
+ "name": "Sent-Lusiya"
+ },
+ "VC": {
+ "name": "Sent-Vinsent və Qrenadinlər"
+ },
+ "RS": {
+ "name": "Serbiya"
+ },
+ "EA": {
+ "name": "Seuta və Melilya"
+ },
+ "SC": {
+ "name": "Seyşel adaları"
+ },
+ "SA": {
+ "name": "Səudiyyə Ərəbistanı"
+ },
+ "SG": {
+ "name": "Sinqapur"
+ },
+ "SX": {
+ "name": "Sint-Marten"
+ },
+ "SK": {
+ "name": "Slovakiya"
+ },
+ "SI": {
+ "name": "Sloveniya"
+ },
+ "SB": {
+ "name": "Solomon adaları"
+ },
+ "SO": {
+ "name": "Somali"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SY": {
+ "name": "Suriya"
+ },
+ "SJ": {
+ "name": "Svalbard və Yan-Mayen"
+ },
+ "SZ": {
+ "name": "Svazilend"
+ },
+ "SL": {
+ "name": "Syerra-Leone"
+ },
+ "TL": {
+ "name": "Şərqi Timor"
+ },
+ "KP": {
+ "name": "Şimali Koreya"
+ },
+ "MP": {
+ "name": "Şimali Marian adaları"
+ },
+ "LK": {
+ "name": "Şri-Lanka"
+ },
+ "TJ": {
+ "name": "Tacikistan"
+ },
+ "TH": {
+ "name": "Tailand"
+ },
+ "TZ": {
+ "name": "Tanzaniya"
+ },
+ "TW": {
+ "name": "Tayvan"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TG": {
+ "name": "Toqo"
+ },
+ "TO": {
+ "name": "Tonqa"
+ },
+ "TC": {
+ "name": "Törks və Kaykos adaları"
+ },
+ "TT": {
+ "name": "Trinidad və Tobaqo"
+ },
+ "TA": {
+ "name": "Tristan da Kunya"
+ },
+ "TN": {
+ "name": "Tunis"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "TR": {
+ "name": "Türkiyə"
+ },
+ "TM": {
+ "name": "Türkmənistan"
+ },
+ "UA": {
+ "name": "Ukrayna"
+ },
+ "UG": {
+ "name": "Uqanda"
+ },
+ "WF": {
+ "name": "Uollis və Futuna"
+ },
+ "UY": {
+ "name": "Uruqvay"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikan"
+ },
+ "VE": {
+ "name": "Venesuela"
+ },
+ "VN": {
+ "name": "Vyetnam"
+ },
+ "JM": {
+ "name": "Yamayka"
+ },
+ "JP": {
+ "name": "Yaponiya"
+ },
+ "NC": {
+ "name": "Yeni Kaledoniya"
+ },
+ "NZ": {
+ "name": "Yeni Zelandiya"
+ },
+ "YE": {
+ "name": "Yəmən"
+ },
+ "GR": {
+ "name": "Yunanıstan"
+ },
+ "ZM": {
+ "name": "Zambiya"
+ },
+ "ZW": {
+ "name": "Zimbabve"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/bas.json b/vendor/commerceguys/intl/resources/country/bas.json
new file mode 100644
index 000000000..7cc39b45e
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/bas.json
@@ -0,0 +1,761 @@
+{
+ "US": {
+ "name": "Àdnà i Bilɔ̀ŋ bi Amerkà"
+ },
+ "AE": {
+ "name": "Àdnà i Bilɔ̀ŋ bi Arābìà"
+ },
+ "GB": {
+ "name": "Àdnà i Lɔ̂ŋ"
+ },
+ "AF": {
+ "name": "Àfgànìstâŋ"
+ },
+ "ZA": {
+ "name": "Àfrǐkà Sɔ̀"
+ },
+ "HT": {
+ "name": "Àitì"
+ },
+ "AX": {
+ "name": "Åland Islands"
+ },
+ "AL": {
+ "name": "Àlbanìà"
+ },
+ "DZ": {
+ "name": "Àlgerìà"
+ },
+ "AS": {
+ "name": "American Samoa"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AD": {
+ "name": "Àŋdɔ̂r"
+ },
+ "AI": {
+ "name": "Àŋgiyà"
+ },
+ "AO": {
+ "name": "Àŋgolà"
+ },
+ "AG": {
+ "name": "Àŋtigà ɓɔ Bàrbudà"
+ },
+ "AR": {
+ "name": "Àrgàŋtinà"
+ },
+ "AM": {
+ "name": "Àrmenìà"
+ },
+ "AW": {
+ "name": "Àrubà"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AZ": {
+ "name": "Àzɛ̀rbajàŋ"
+ },
+ "BS": {
+ "name": "Bàhamàs"
+ },
+ "BD": {
+ "name": "Bàŋglàdɛ̂s"
+ },
+ "BH": {
+ "name": "Bàraìn"
+ },
+ "BB": {
+ "name": "Bàrbadò"
+ },
+ "BY": {
+ "name": "Bèlarùs"
+ },
+ "BZ": {
+ "name": "Bèlîs"
+ },
+ "BJ": {
+ "name": "Bènɛ̂ŋ"
+ },
+ "BE": {
+ "name": "Bɛlgyùm"
+ },
+ "BM": {
+ "name": "Bɛ̀rmudà"
+ },
+ "FK": {
+ "name": "Bìòn bi Falkland"
+ },
+ "KY": {
+ "name": "Bìòn bi Kaymàn"
+ },
+ "CK": {
+ "name": "Bìòn bi Kook"
+ },
+ "VG": {
+ "name": "Bìòn bi kɔnji bi Ŋgisì"
+ },
+ "VI": {
+ "name": "Bìòn bi kɔnji bi U.S."
+ },
+ "MH": {
+ "name": "Bìòn bi Marcàl"
+ },
+ "MP": {
+ "name": "Bìòn bi Marìanà ŋ̀ɔmbɔk"
+ },
+ "SB": {
+ "name": "Bìòn bi Salōmò"
+ },
+ "TC": {
+ "name": "Bìòn bi Tûrks nì Kalkòs"
+ },
+ "IO": {
+ "name": "Bìtèk bi Ŋgisì i Tūyɛ Īndìà"
+ },
+ "BW": {
+ "name": "Bòdsùanà"
+ },
+ "BA": {
+ "name": "Bòhnià Ɛrzègòvinà"
+ },
+ "BO": {
+ "name": "Bòlivìà"
+ },
+ "BR": {
+ "name": "Bràsîl"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bùlgarìà"
+ },
+ "BF": {
+ "name": "Bùrkìnà Fasò"
+ },
+ "BI": {
+ "name": "Bùrundì"
+ },
+ "BT": {
+ "name": "Bùtân"
+ },
+ "TD": {
+ "name": "Câd"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "CZ": {
+ "name": "Czech Republic"
+ },
+ "DK": {
+ "name": "Dànmârk"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Dòmnîk"
+ },
+ "DO": {
+ "name": "Dòmnikà"
+ },
+ "EG": {
+ "name": "Ègîptò"
+ },
+ "EC": {
+ "name": "Èkwàtorìà"
+ },
+ "ER": {
+ "name": "Èrìtrěà"
+ },
+ "EE": {
+ "name": "Èstonìà"
+ },
+ "ET": {
+ "name": "Ètìopìà"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Fìlìpîn"
+ },
+ "FI": {
+ "name": "Fìnlând"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gàbɔ̂ŋ"
+ },
+ "GM": {
+ "name": "Gàmbià"
+ },
+ "GH": {
+ "name": "Ganà"
+ },
+ "GE": {
+ "name": "Gèɔrgìà"
+ },
+ "GI": {
+ "name": "Gìlbràtâr"
+ },
+ "GN": {
+ "name": "Gìnê"
+ },
+ "GW": {
+ "name": "Gìne Bìsàô"
+ },
+ "GQ": {
+ "name": "Gìne Èkwàtorìà"
+ },
+ "PG": {
+ "name": "Gìne ì Pàpu"
+ },
+ "GD": {
+ "name": "Grènadà"
+ },
+ "GR": {
+ "name": "Grǐkyà"
+ },
+ "GL": {
+ "name": "Grǐnlànd"
+ },
+ "GU": {
+ "name": "Gùâm"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Gùyanà"
+ },
+ "GF": {
+ "name": "Gùyanà Pùlàsi"
+ },
+ "GP": {
+ "name": "Gwàdèlûp"
+ },
+ "GT": {
+ "name": "Gwàtèmalà"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "IN": {
+ "name": "Indìà"
+ },
+ "ID": {
+ "name": "Indònèsià"
+ },
+ "IQ": {
+ "name": "Ìrâk"
+ },
+ "IR": {
+ "name": "Ìrâŋ"
+ },
+ "IE": {
+ "name": "Ìrlând"
+ },
+ "IS": {
+ "name": "Ìslandìà"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Isràɛ̂l"
+ },
+ "IT": {
+ "name": "Ìtalìà"
+ },
+ "JM": {
+ "name": "Jàmàikà"
+ },
+ "DE": {
+ "name": "Jamân"
+ },
+ "JP": {
+ "name": "Japan"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "DJ": {
+ "name": "Jìbutì"
+ },
+ "CV": {
+ "name": "Kabwɛ᷆r"
+ },
+ "NC": {
+ "name": "Kàlèdonìà Yɔ̀ndɔ"
+ },
+ "KH": {
+ "name": "Kàmbodìà"
+ },
+ "CM": {
+ "name": "Kàmɛ̀rûn"
+ },
+ "CA": {
+ "name": "Kànadà"
+ },
+ "QA": {
+ "name": "Kàtâr"
+ },
+ "KZ": {
+ "name": "Kàzàkstâŋ"
+ },
+ "KE": {
+ "name": "Kenìà"
+ },
+ "CL": {
+ "name": "Kìlî"
+ },
+ "CN": {
+ "name": "Kinà"
+ },
+ "CY": {
+ "name": "Kiprò"
+ },
+ "KG": {
+ "name": "Kìrgìzìstàŋ"
+ },
+ "KI": {
+ "name": "Kìrìbatì"
+ },
+ "CG": {
+ "name": "Kòŋgo"
+ },
+ "CD": {
+ "name": "Kòŋgo ìkɛŋi"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "Kòstà Rikà"
+ },
+ "KW": {
+ "name": "Kòwêt"
+ },
+ "CO": {
+ "name": "Kɔ̀lɔmbìà"
+ },
+ "KM": {
+ "name": "Kɔ̀mɔ̂r"
+ },
+ "KP": {
+ "name": "Kɔ̀re ì Ŋ̀ɔmbɔk"
+ },
+ "KR": {
+ "name": "Kɔ̀re ì Ŋ̀wɛ̀lmbɔk"
+ },
+ "HR": {
+ "name": "Kròasìà"
+ },
+ "CU": {
+ "name": "Kubà"
+ },
+ "LV": {
+ "name": "Làdvià"
+ },
+ "LA": {
+ "name": "Làôs"
+ },
+ "LB": {
+ "name": "Lèbanòn"
+ },
+ "LS": {
+ "name": "Lesòtò"
+ },
+ "LR": {
+ "name": "Lìberìà"
+ },
+ "LY": {
+ "name": "Libìà"
+ },
+ "LI": {
+ "name": "Ligstɛntàn"
+ },
+ "LT": {
+ "name": "Lìtùanìà"
+ },
+ "LU": {
+ "name": "Lùgsàmbûr"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MG": {
+ "name": "Màdàgàskâr"
+ },
+ "MW": {
+ "name": "Màlàwi"
+ },
+ "MV": {
+ "name": "Màldîf"
+ },
+ "MY": {
+ "name": "Màlɛ̀sìà"
+ },
+ "ML": {
+ "name": "Màli"
+ },
+ "MT": {
+ "name": "Maltà"
+ },
+ "CI": {
+ "name": "Màŋ mi Njɔ̂k"
+ },
+ "MA": {
+ "name": "Màrokò"
+ },
+ "MQ": {
+ "name": "Màrtìnîk"
+ },
+ "MK": {
+ "name": "Màsèdonìà"
+ },
+ "YT": {
+ "name": "Màyɔ̂t"
+ },
+ "MX": {
+ "name": "Mɛ̀gsîk"
+ },
+ "FM": {
+ "name": "Mìkrònesìà"
+ },
+ "MD": {
+ "name": "Moldavìà"
+ },
+ "MC": {
+ "name": "Mònakò"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MN": {
+ "name": "Mòŋgolìà"
+ },
+ "MU": {
+ "name": "Mòrîs"
+ },
+ "MR": {
+ "name": "Mòrìtanìà"
+ },
+ "MZ": {
+ "name": "Mòsàmbîk"
+ },
+ "MS": {
+ "name": "Mɔ̀ŋseràt"
+ },
+ "MM": {
+ "name": "Myànmâr"
+ },
+ "NA": {
+ "name": "Nàmibìà"
+ },
+ "NP": {
+ "name": "Nèpâl"
+ },
+ "NR": {
+ "name": "Nerù"
+ },
+ "NG": {
+ "name": "Nìgerìà"
+ },
+ "NE": {
+ "name": "Nìjɛ̂r"
+ },
+ "NI": {
+ "name": "Nìkàragwà"
+ },
+ "NU": {
+ "name": "Nìuɛ̀"
+ },
+ "NL": {
+ "name": "Ǹlɛndi"
+ },
+ "NO": {
+ "name": "Nɔ̀rvegìà"
+ },
+ "SH": {
+ "name": "Nûmpubi Ɛlēnà"
+ },
+ "KN": {
+ "name": "Nûmpubi Kîts nì Nevìs"
+ },
+ "LC": {
+ "name": "Nûmpubi Lusì"
+ },
+ "SM": {
+ "name": "Nûmpubi Māatìn"
+ },
+ "PM": {
+ "name": "Nûmpubi Petrò nì Mikèlôn"
+ },
+ "VC": {
+ "name": "Nûmpubi Vɛ̂ŋsâŋ nì grènàdîn"
+ },
+ "CF": {
+ "name": "Ŋ̀ɛm Afrīkà"
+ },
+ "OM": {
+ "name": "Òmân"
+ },
+ "NF": {
+ "name": "Òn i Nɔrfɔ̂k"
+ },
+ "AU": {
+ "name": "Òstralìà"
+ },
+ "AT": {
+ "name": "Òstrǐk"
+ },
+ "HN": {
+ "name": "Ɔ̀ŋduràs"
+ },
+ "HU": {
+ "name": "Ɔ̀ŋgriì"
+ },
+ "PK": {
+ "name": "Pàkìstân"
+ },
+ "PW": {
+ "name": "Pàlaù"
+ },
+ "PS": {
+ "name": "Pàlɛ̀htinà Hyɔ̀ŋg nì Gazà"
+ },
+ "PA": {
+ "name": "Pànàma"
+ },
+ "ES": {
+ "name": "Pànya"
+ },
+ "PY": {
+ "name": "Pàràgwê"
+ },
+ "PE": {
+ "name": "Pèrû"
+ },
+ "PN": {
+ "name": "Pìdkaìrn"
+ },
+ "PL": {
+ "name": "Pòlànd"
+ },
+ "PF": {
+ "name": "Pòlìnesìà Pùlàsi"
+ },
+ "PR": {
+ "name": "Pɔ̀rtò Rikò"
+ },
+ "PT": {
+ "name": "Pɔ̀tɔkì"
+ },
+ "FR": {
+ "name": "Pùlàsi \/ Fɛ̀lɛ̀nsi \/"
+ },
+ "RE": {
+ "name": "Rèunyɔ̂ŋ"
+ },
+ "RW": {
+ "name": "Rùandà"
+ },
+ "RO": {
+ "name": "Rùmanìà"
+ },
+ "RU": {
+ "name": "Ruslànd"
+ },
+ "SV": {
+ "name": "Sàlvàdɔ̂r"
+ },
+ "WS": {
+ "name": "Sàmoà"
+ },
+ "ST": {
+ "name": "Sào Tòme ɓɔ Prɛ̀ŋcipè"
+ },
+ "SA": {
+ "name": "Sàudi Àrabìà"
+ },
+ "SN": {
+ "name": "Sènègâl"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Sèsɛ̂l"
+ },
+ "SL": {
+ "name": "Sièra Lèɔ̂n"
+ },
+ "NZ": {
+ "name": "Sìlând Yɔ̀ndɔ"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SG": {
+ "name": "Sìŋgàpûr"
+ },
+ "SY": {
+ "name": "Sirìà"
+ },
+ "SK": {
+ "name": "Slòvakìà"
+ },
+ "SI": {
+ "name": "Slòvanìà"
+ },
+ "SO": {
+ "name": "Sòmalìà"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "LK": {
+ "name": "Srìlaŋkà"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SD": {
+ "name": "Sùdâŋ"
+ },
+ "SR": {
+ "name": "Sùrinâm"
+ },
+ "CH": {
+ "name": "Sùwîs"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swàzìlând"
+ },
+ "SE": {
+ "name": "Swedɛ̀n"
+ },
+ "TJ": {
+ "name": "Tàjìkìstaŋ"
+ },
+ "TZ": {
+ "name": "Tànzànià"
+ },
+ "TH": {
+ "name": "Taylànd"
+ },
+ "TW": {
+ "name": "Tàywân"
+ },
+ "TL": {
+ "name": "Tìmɔ̂r lìkòl"
+ },
+ "TG": {
+ "name": "Tògo"
+ },
+ "TK": {
+ "name": "Tòkèlaò"
+ },
+ "TO": {
+ "name": "Tɔŋgà"
+ },
+ "TT": {
+ "name": "Trìnidàd ɓɔ Tòbagò"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tùnisìà"
+ },
+ "TM": {
+ "name": "Tùrgmènìstân"
+ },
+ "TR": {
+ "name": "Tùrkây"
+ },
+ "TV": {
+ "name": "Tùvàlù"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "UG": {
+ "name": "Ùgandà"
+ },
+ "UA": {
+ "name": "Ùkrɛ̌n"
+ },
+ "UY": {
+ "name": "Ùrùgwêy"
+ },
+ "UZ": {
+ "name": "Ùzbèkìstân"
+ },
+ "VU": {
+ "name": "Vànùatù"
+ },
+ "VA": {
+ "name": "Vàtìkâŋ"
+ },
+ "VE": {
+ "name": "Vènèzùelà"
+ },
+ "VN": {
+ "name": "Vìɛ̀dnâm"
+ },
+ "WF": {
+ "name": "Wàlîs nì Fùtunà"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yèmɛ̂n"
+ },
+ "JO": {
+ "name": "Yɔ̀rdanià"
+ },
+ "ZM": {
+ "name": "Zàmbià"
+ },
+ "ZW": {
+ "name": "Zìmbàbwê"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/base.json b/vendor/commerceguys/intl/resources/country/base.json
new file mode 100644
index 000000000..21e0721d6
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/base.json
@@ -0,0 +1,1259 @@
+{
+ "AC": {
+ "three_letter_code": "ASC",
+ "currency_code": "SHP"
+ },
+ "AD": {
+ "three_letter_code": "AND",
+ "numeric_code": "020",
+ "currency_code": "EUR"
+ },
+ "AE": {
+ "three_letter_code": "ARE",
+ "numeric_code": "784",
+ "currency_code": "AED"
+ },
+ "AF": {
+ "three_letter_code": "AFG",
+ "numeric_code": "004",
+ "currency_code": "AFN"
+ },
+ "AG": {
+ "three_letter_code": "ATG",
+ "numeric_code": "028",
+ "currency_code": "XCD"
+ },
+ "AI": {
+ "three_letter_code": "AIA",
+ "numeric_code": "660",
+ "currency_code": "XCD"
+ },
+ "AL": {
+ "three_letter_code": "ALB",
+ "numeric_code": "008",
+ "currency_code": "ALL"
+ },
+ "AM": {
+ "three_letter_code": "ARM",
+ "numeric_code": "051",
+ "currency_code": "AMD"
+ },
+ "AO": {
+ "three_letter_code": "AGO",
+ "numeric_code": "024",
+ "currency_code": "AOA"
+ },
+ "AQ": {
+ "three_letter_code": "ATA",
+ "numeric_code": "010"
+ },
+ "AR": {
+ "three_letter_code": "ARG",
+ "numeric_code": "032",
+ "currency_code": "ARS"
+ },
+ "AS": {
+ "three_letter_code": "ASM",
+ "numeric_code": "016",
+ "currency_code": "USD"
+ },
+ "AT": {
+ "three_letter_code": "AUT",
+ "numeric_code": "040",
+ "currency_code": "EUR"
+ },
+ "AU": {
+ "three_letter_code": "AUS",
+ "numeric_code": "036",
+ "currency_code": "AUD"
+ },
+ "AW": {
+ "three_letter_code": "ABW",
+ "numeric_code": "533",
+ "currency_code": "AWG"
+ },
+ "AX": {
+ "three_letter_code": "ALA",
+ "numeric_code": "248",
+ "currency_code": "EUR"
+ },
+ "AZ": {
+ "three_letter_code": "AZE",
+ "numeric_code": "031",
+ "currency_code": "AZN"
+ },
+ "BA": {
+ "three_letter_code": "BIH",
+ "numeric_code": "070",
+ "currency_code": "BAM"
+ },
+ "BB": {
+ "three_letter_code": "BRB",
+ "numeric_code": "052",
+ "currency_code": "BBD"
+ },
+ "BD": {
+ "three_letter_code": "BGD",
+ "numeric_code": "050",
+ "currency_code": "BDT"
+ },
+ "BE": {
+ "three_letter_code": "BEL",
+ "numeric_code": "056",
+ "currency_code": "EUR"
+ },
+ "BF": {
+ "three_letter_code": "BFA",
+ "numeric_code": "854",
+ "currency_code": "XOF"
+ },
+ "BG": {
+ "three_letter_code": "BGR",
+ "numeric_code": "100",
+ "currency_code": "BGN"
+ },
+ "BH": {
+ "three_letter_code": "BHR",
+ "numeric_code": "048",
+ "currency_code": "BHD"
+ },
+ "BI": {
+ "three_letter_code": "BDI",
+ "numeric_code": "108",
+ "currency_code": "BIF"
+ },
+ "BJ": {
+ "three_letter_code": "BEN",
+ "numeric_code": "204",
+ "currency_code": "XOF"
+ },
+ "BL": {
+ "three_letter_code": "BLM",
+ "numeric_code": "652",
+ "currency_code": "EUR"
+ },
+ "BM": {
+ "three_letter_code": "BMU",
+ "numeric_code": "060",
+ "currency_code": "BMD"
+ },
+ "BN": {
+ "three_letter_code": "BRN",
+ "numeric_code": "096",
+ "currency_code": "BND"
+ },
+ "BO": {
+ "three_letter_code": "BOL",
+ "numeric_code": "068",
+ "currency_code": "BOB"
+ },
+ "BQ": {
+ "three_letter_code": "BES",
+ "numeric_code": "535",
+ "currency_code": "USD"
+ },
+ "BR": {
+ "three_letter_code": "BRA",
+ "numeric_code": "076",
+ "currency_code": "BRL"
+ },
+ "BS": {
+ "three_letter_code": "BHS",
+ "numeric_code": "044",
+ "currency_code": "BSD"
+ },
+ "BT": {
+ "three_letter_code": "BTN",
+ "numeric_code": "064",
+ "currency_code": "BTN"
+ },
+ "BW": {
+ "three_letter_code": "BWA",
+ "numeric_code": "072",
+ "currency_code": "BWP"
+ },
+ "BY": {
+ "three_letter_code": "BLR",
+ "numeric_code": "112",
+ "currency_code": "BYN"
+ },
+ "BZ": {
+ "three_letter_code": "BLZ",
+ "numeric_code": "084",
+ "currency_code": "BZD"
+ },
+ "CA": {
+ "three_letter_code": "CAN",
+ "numeric_code": "124",
+ "currency_code": "CAD"
+ },
+ "CC": {
+ "three_letter_code": "CCK",
+ "numeric_code": "166",
+ "currency_code": "AUD"
+ },
+ "CD": {
+ "three_letter_code": "COD",
+ "numeric_code": "180",
+ "currency_code": "CDF"
+ },
+ "CF": {
+ "three_letter_code": "CAF",
+ "numeric_code": "140",
+ "currency_code": "XAF"
+ },
+ "CG": {
+ "three_letter_code": "COG",
+ "numeric_code": "178",
+ "currency_code": "XAF"
+ },
+ "CH": {
+ "three_letter_code": "CHE",
+ "numeric_code": "756",
+ "currency_code": "CHF"
+ },
+ "CI": {
+ "three_letter_code": "CIV",
+ "numeric_code": "384",
+ "currency_code": "XOF"
+ },
+ "CK": {
+ "three_letter_code": "COK",
+ "numeric_code": "184",
+ "currency_code": "NZD"
+ },
+ "CL": {
+ "three_letter_code": "CHL",
+ "numeric_code": "152",
+ "currency_code": "CLP"
+ },
+ "CM": {
+ "three_letter_code": "CMR",
+ "numeric_code": "120",
+ "currency_code": "XAF"
+ },
+ "CN": {
+ "three_letter_code": "CHN",
+ "numeric_code": "156",
+ "currency_code": "CNY"
+ },
+ "CO": {
+ "three_letter_code": "COL",
+ "numeric_code": "170",
+ "currency_code": "COP"
+ },
+ "CR": {
+ "three_letter_code": "CRI",
+ "numeric_code": "188",
+ "currency_code": "CRC"
+ },
+ "CU": {
+ "three_letter_code": "CUB",
+ "numeric_code": "192",
+ "currency_code": "CUC"
+ },
+ "CV": {
+ "three_letter_code": "CPV",
+ "numeric_code": "132",
+ "currency_code": "CVE"
+ },
+ "CW": {
+ "three_letter_code": "CUW",
+ "numeric_code": "531",
+ "currency_code": "ANG"
+ },
+ "CX": {
+ "three_letter_code": "CXR",
+ "numeric_code": "162",
+ "currency_code": "AUD"
+ },
+ "CY": {
+ "three_letter_code": "CYP",
+ "numeric_code": "196",
+ "currency_code": "EUR"
+ },
+ "CZ": {
+ "three_letter_code": "CZE",
+ "numeric_code": "203",
+ "currency_code": "CZK"
+ },
+ "DE": {
+ "three_letter_code": "DEU",
+ "numeric_code": "276",
+ "currency_code": "EUR"
+ },
+ "DG": {
+ "three_letter_code": "DGA",
+ "currency_code": "USD"
+ },
+ "DJ": {
+ "three_letter_code": "DJI",
+ "numeric_code": "262",
+ "currency_code": "DJF"
+ },
+ "DK": {
+ "three_letter_code": "DNK",
+ "numeric_code": "208",
+ "currency_code": "DKK"
+ },
+ "DM": {
+ "three_letter_code": "DMA",
+ "numeric_code": "212",
+ "currency_code": "XCD"
+ },
+ "DO": {
+ "three_letter_code": "DOM",
+ "numeric_code": "214",
+ "currency_code": "DOP"
+ },
+ "DZ": {
+ "three_letter_code": "DZA",
+ "numeric_code": "012",
+ "currency_code": "DZD"
+ },
+ "EA": {
+ "currency_code": "EUR"
+ },
+ "EC": {
+ "three_letter_code": "ECU",
+ "numeric_code": "218",
+ "currency_code": "USD"
+ },
+ "EE": {
+ "three_letter_code": "EST",
+ "numeric_code": "233",
+ "currency_code": "EUR"
+ },
+ "EG": {
+ "three_letter_code": "EGY",
+ "numeric_code": "818",
+ "currency_code": "EGP"
+ },
+ "EH": {
+ "three_letter_code": "ESH",
+ "numeric_code": "732",
+ "currency_code": "MAD"
+ },
+ "ER": {
+ "three_letter_code": "ERI",
+ "numeric_code": "232",
+ "currency_code": "ERN"
+ },
+ "ES": {
+ "three_letter_code": "ESP",
+ "numeric_code": "724",
+ "currency_code": "EUR"
+ },
+ "ET": {
+ "three_letter_code": "ETH",
+ "numeric_code": "231",
+ "currency_code": "ETB"
+ },
+ "FI": {
+ "three_letter_code": "FIN",
+ "numeric_code": "246",
+ "currency_code": "EUR"
+ },
+ "FJ": {
+ "three_letter_code": "FJI",
+ "numeric_code": "242",
+ "currency_code": "FJD"
+ },
+ "FK": {
+ "three_letter_code": "FLK",
+ "numeric_code": "238",
+ "currency_code": "FKP"
+ },
+ "FM": {
+ "three_letter_code": "FSM",
+ "numeric_code": "583",
+ "currency_code": "USD"
+ },
+ "FO": {
+ "three_letter_code": "FRO",
+ "numeric_code": "234",
+ "currency_code": "DKK"
+ },
+ "FR": {
+ "three_letter_code": "FRA",
+ "numeric_code": "250",
+ "currency_code": "EUR"
+ },
+ "GA": {
+ "three_letter_code": "GAB",
+ "numeric_code": "266",
+ "currency_code": "XAF"
+ },
+ "GB": {
+ "three_letter_code": "GBR",
+ "numeric_code": "826",
+ "currency_code": "GBP"
+ },
+ "GD": {
+ "three_letter_code": "GRD",
+ "numeric_code": "308",
+ "currency_code": "XCD"
+ },
+ "GE": {
+ "three_letter_code": "GEO",
+ "numeric_code": "268",
+ "currency_code": "GEL"
+ },
+ "GF": {
+ "three_letter_code": "GUF",
+ "numeric_code": "254",
+ "currency_code": "EUR"
+ },
+ "GG": {
+ "three_letter_code": "GGY",
+ "numeric_code": "831",
+ "currency_code": "GBP"
+ },
+ "GH": {
+ "three_letter_code": "GHA",
+ "numeric_code": "288",
+ "currency_code": "GHS"
+ },
+ "GI": {
+ "three_letter_code": "GIB",
+ "numeric_code": "292",
+ "currency_code": "GIP"
+ },
+ "GL": {
+ "three_letter_code": "GRL",
+ "numeric_code": "304",
+ "currency_code": "DKK"
+ },
+ "GM": {
+ "three_letter_code": "GMB",
+ "numeric_code": "270",
+ "currency_code": "GMD"
+ },
+ "GN": {
+ "three_letter_code": "GIN",
+ "numeric_code": "324",
+ "currency_code": "GNF"
+ },
+ "GP": {
+ "three_letter_code": "GLP",
+ "numeric_code": "312",
+ "currency_code": "EUR"
+ },
+ "GQ": {
+ "three_letter_code": "GNQ",
+ "numeric_code": "226",
+ "currency_code": "XAF"
+ },
+ "GR": {
+ "three_letter_code": "GRC",
+ "numeric_code": "300",
+ "currency_code": "EUR"
+ },
+ "GS": {
+ "three_letter_code": "SGS",
+ "numeric_code": "239",
+ "currency_code": "GBP"
+ },
+ "GT": {
+ "three_letter_code": "GTM",
+ "numeric_code": "320",
+ "currency_code": "GTQ"
+ },
+ "GU": {
+ "three_letter_code": "GUM",
+ "numeric_code": "316",
+ "currency_code": "USD"
+ },
+ "GW": {
+ "three_letter_code": "GNB",
+ "numeric_code": "624",
+ "currency_code": "XOF"
+ },
+ "GY": {
+ "three_letter_code": "GUY",
+ "numeric_code": "328",
+ "currency_code": "GYD"
+ },
+ "HK": {
+ "three_letter_code": "HKG",
+ "numeric_code": "344",
+ "currency_code": "HKD"
+ },
+ "HN": {
+ "three_letter_code": "HND",
+ "numeric_code": "340",
+ "currency_code": "HNL"
+ },
+ "HR": {
+ "three_letter_code": "HRV",
+ "numeric_code": "191",
+ "currency_code": "HRK"
+ },
+ "HT": {
+ "three_letter_code": "HTI",
+ "numeric_code": "332",
+ "currency_code": "USD"
+ },
+ "HU": {
+ "three_letter_code": "HUN",
+ "numeric_code": "348",
+ "currency_code": "HUF"
+ },
+ "IC": {
+ "currency_code": "EUR"
+ },
+ "ID": {
+ "three_letter_code": "IDN",
+ "numeric_code": "360",
+ "currency_code": "IDR"
+ },
+ "IE": {
+ "three_letter_code": "IRL",
+ "numeric_code": "372",
+ "currency_code": "EUR"
+ },
+ "IL": {
+ "three_letter_code": "ISR",
+ "numeric_code": "376",
+ "currency_code": "ILS"
+ },
+ "IM": {
+ "three_letter_code": "IMN",
+ "numeric_code": "833",
+ "currency_code": "GBP"
+ },
+ "IN": {
+ "three_letter_code": "IND",
+ "numeric_code": "356",
+ "currency_code": "INR"
+ },
+ "IO": {
+ "three_letter_code": "IOT",
+ "numeric_code": "086",
+ "currency_code": "USD"
+ },
+ "IQ": {
+ "three_letter_code": "IRQ",
+ "numeric_code": "368",
+ "currency_code": "IQD"
+ },
+ "IR": {
+ "three_letter_code": "IRN",
+ "numeric_code": "364",
+ "currency_code": "IRR"
+ },
+ "IS": {
+ "three_letter_code": "ISL",
+ "numeric_code": "352",
+ "currency_code": "ISK"
+ },
+ "IT": {
+ "three_letter_code": "ITA",
+ "numeric_code": "380",
+ "currency_code": "EUR"
+ },
+ "JE": {
+ "three_letter_code": "JEY",
+ "numeric_code": "832",
+ "currency_code": "GBP"
+ },
+ "JM": {
+ "three_letter_code": "JAM",
+ "numeric_code": "388",
+ "currency_code": "JMD"
+ },
+ "JO": {
+ "three_letter_code": "JOR",
+ "numeric_code": "400",
+ "currency_code": "JOD"
+ },
+ "JP": {
+ "three_letter_code": "JPN",
+ "numeric_code": "392",
+ "currency_code": "JPY"
+ },
+ "KE": {
+ "three_letter_code": "KEN",
+ "numeric_code": "404",
+ "currency_code": "KES"
+ },
+ "KG": {
+ "three_letter_code": "KGZ",
+ "numeric_code": "417",
+ "currency_code": "KGS"
+ },
+ "KH": {
+ "three_letter_code": "KHM",
+ "numeric_code": "116",
+ "currency_code": "KHR"
+ },
+ "KI": {
+ "three_letter_code": "KIR",
+ "numeric_code": "296",
+ "currency_code": "AUD"
+ },
+ "KM": {
+ "three_letter_code": "COM",
+ "numeric_code": "174",
+ "currency_code": "KMF"
+ },
+ "KN": {
+ "three_letter_code": "KNA",
+ "numeric_code": "659",
+ "currency_code": "XCD"
+ },
+ "KP": {
+ "three_letter_code": "PRK",
+ "numeric_code": "408",
+ "currency_code": "KPW"
+ },
+ "KR": {
+ "three_letter_code": "KOR",
+ "numeric_code": "410",
+ "currency_code": "KRW"
+ },
+ "KW": {
+ "three_letter_code": "KWT",
+ "numeric_code": "414",
+ "currency_code": "KWD"
+ },
+ "KY": {
+ "three_letter_code": "CYM",
+ "numeric_code": "136",
+ "currency_code": "KYD"
+ },
+ "KZ": {
+ "three_letter_code": "KAZ",
+ "numeric_code": "398",
+ "currency_code": "KZT"
+ },
+ "LA": {
+ "three_letter_code": "LAO",
+ "numeric_code": "418",
+ "currency_code": "LAK"
+ },
+ "LB": {
+ "three_letter_code": "LBN",
+ "numeric_code": "422",
+ "currency_code": "LBP"
+ },
+ "LC": {
+ "three_letter_code": "LCA",
+ "numeric_code": "662",
+ "currency_code": "XCD"
+ },
+ "LI": {
+ "three_letter_code": "LIE",
+ "numeric_code": "438",
+ "currency_code": "CHF"
+ },
+ "LK": {
+ "three_letter_code": "LKA",
+ "numeric_code": "144",
+ "currency_code": "LKR"
+ },
+ "LR": {
+ "three_letter_code": "LBR",
+ "numeric_code": "430",
+ "currency_code": "LRD"
+ },
+ "LS": {
+ "three_letter_code": "LSO",
+ "numeric_code": "426",
+ "currency_code": "LSL"
+ },
+ "LT": {
+ "three_letter_code": "LTU",
+ "numeric_code": "440",
+ "currency_code": "EUR"
+ },
+ "LU": {
+ "three_letter_code": "LUX",
+ "numeric_code": "442",
+ "currency_code": "EUR"
+ },
+ "LV": {
+ "three_letter_code": "LVA",
+ "numeric_code": "428",
+ "currency_code": "EUR"
+ },
+ "LY": {
+ "three_letter_code": "LBY",
+ "numeric_code": "434",
+ "currency_code": "LYD"
+ },
+ "MA": {
+ "three_letter_code": "MAR",
+ "numeric_code": "504",
+ "currency_code": "MAD"
+ },
+ "MC": {
+ "three_letter_code": "MCO",
+ "numeric_code": "492",
+ "currency_code": "EUR"
+ },
+ "MD": {
+ "three_letter_code": "MDA",
+ "numeric_code": "498",
+ "currency_code": "MDL"
+ },
+ "ME": {
+ "three_letter_code": "MNE",
+ "numeric_code": "499",
+ "currency_code": "EUR"
+ },
+ "MF": {
+ "three_letter_code": "MAF",
+ "numeric_code": "663",
+ "currency_code": "EUR"
+ },
+ "MG": {
+ "three_letter_code": "MDG",
+ "numeric_code": "450",
+ "currency_code": "MGA"
+ },
+ "MH": {
+ "three_letter_code": "MHL",
+ "numeric_code": "584",
+ "currency_code": "USD"
+ },
+ "MK": {
+ "three_letter_code": "MKD",
+ "numeric_code": "807",
+ "currency_code": "MKD"
+ },
+ "ML": {
+ "three_letter_code": "MLI",
+ "numeric_code": "466",
+ "currency_code": "XOF"
+ },
+ "MM": {
+ "three_letter_code": "MMR",
+ "numeric_code": "104",
+ "currency_code": "MMK"
+ },
+ "MN": {
+ "three_letter_code": "MNG",
+ "numeric_code": "496",
+ "currency_code": "MNT"
+ },
+ "MO": {
+ "three_letter_code": "MAC",
+ "numeric_code": "446",
+ "currency_code": "MOP"
+ },
+ "MP": {
+ "three_letter_code": "MNP",
+ "numeric_code": "580",
+ "currency_code": "USD"
+ },
+ "MQ": {
+ "three_letter_code": "MTQ",
+ "numeric_code": "474",
+ "currency_code": "EUR"
+ },
+ "MR": {
+ "three_letter_code": "MRT",
+ "numeric_code": "478",
+ "currency_code": "MRO"
+ },
+ "MS": {
+ "three_letter_code": "MSR",
+ "numeric_code": "500",
+ "currency_code": "XCD"
+ },
+ "MT": {
+ "three_letter_code": "MLT",
+ "numeric_code": "470",
+ "currency_code": "EUR"
+ },
+ "MU": {
+ "three_letter_code": "MUS",
+ "numeric_code": "480",
+ "currency_code": "MUR"
+ },
+ "MV": {
+ "three_letter_code": "MDV",
+ "numeric_code": "462",
+ "currency_code": "MVR"
+ },
+ "MW": {
+ "three_letter_code": "MWI",
+ "numeric_code": "454",
+ "currency_code": "MWK"
+ },
+ "MX": {
+ "three_letter_code": "MEX",
+ "numeric_code": "484",
+ "currency_code": "MXN"
+ },
+ "MY": {
+ "three_letter_code": "MYS",
+ "numeric_code": "458",
+ "currency_code": "MYR"
+ },
+ "MZ": {
+ "three_letter_code": "MOZ",
+ "numeric_code": "508",
+ "currency_code": "MZN"
+ },
+ "NA": {
+ "three_letter_code": "NAM",
+ "numeric_code": "516",
+ "currency_code": "NAD"
+ },
+ "NC": {
+ "three_letter_code": "NCL",
+ "numeric_code": "540",
+ "currency_code": "XPF"
+ },
+ "NE": {
+ "three_letter_code": "NER",
+ "numeric_code": "562",
+ "currency_code": "XOF"
+ },
+ "NF": {
+ "three_letter_code": "NFK",
+ "numeric_code": "574",
+ "currency_code": "AUD"
+ },
+ "NG": {
+ "three_letter_code": "NGA",
+ "numeric_code": "566",
+ "currency_code": "NGN"
+ },
+ "NI": {
+ "three_letter_code": "NIC",
+ "numeric_code": "558",
+ "currency_code": "NIO"
+ },
+ "NL": {
+ "three_letter_code": "NLD",
+ "numeric_code": "528",
+ "currency_code": "EUR"
+ },
+ "NO": {
+ "three_letter_code": "NOR",
+ "numeric_code": "578",
+ "currency_code": "NOK"
+ },
+ "NP": {
+ "three_letter_code": "NPL",
+ "numeric_code": "524",
+ "currency_code": "NPR"
+ },
+ "NR": {
+ "three_letter_code": "NRU",
+ "numeric_code": "520",
+ "currency_code": "AUD"
+ },
+ "NU": {
+ "three_letter_code": "NIU",
+ "numeric_code": "570",
+ "currency_code": "NZD"
+ },
+ "NZ": {
+ "three_letter_code": "NZL",
+ "numeric_code": "554",
+ "currency_code": "NZD"
+ },
+ "OM": {
+ "three_letter_code": "OMN",
+ "numeric_code": "512",
+ "currency_code": "OMR"
+ },
+ "PA": {
+ "three_letter_code": "PAN",
+ "numeric_code": "591",
+ "currency_code": "USD"
+ },
+ "PE": {
+ "three_letter_code": "PER",
+ "numeric_code": "604",
+ "currency_code": "PEN"
+ },
+ "PF": {
+ "three_letter_code": "PYF",
+ "numeric_code": "258",
+ "currency_code": "XPF"
+ },
+ "PG": {
+ "three_letter_code": "PNG",
+ "numeric_code": "598",
+ "currency_code": "PGK"
+ },
+ "PH": {
+ "three_letter_code": "PHL",
+ "numeric_code": "608",
+ "currency_code": "PHP"
+ },
+ "PK": {
+ "three_letter_code": "PAK",
+ "numeric_code": "586",
+ "currency_code": "PKR"
+ },
+ "PL": {
+ "three_letter_code": "POL",
+ "numeric_code": "616",
+ "currency_code": "PLN"
+ },
+ "PM": {
+ "three_letter_code": "SPM",
+ "numeric_code": "666",
+ "currency_code": "EUR"
+ },
+ "PN": {
+ "three_letter_code": "PCN",
+ "numeric_code": "612",
+ "currency_code": "NZD"
+ },
+ "PR": {
+ "three_letter_code": "PRI",
+ "numeric_code": "630",
+ "currency_code": "USD"
+ },
+ "PS": {
+ "three_letter_code": "PSE",
+ "numeric_code": "275",
+ "currency_code": "JOD"
+ },
+ "PT": {
+ "three_letter_code": "PRT",
+ "numeric_code": "620",
+ "currency_code": "EUR"
+ },
+ "PW": {
+ "three_letter_code": "PLW",
+ "numeric_code": "585",
+ "currency_code": "USD"
+ },
+ "PY": {
+ "three_letter_code": "PRY",
+ "numeric_code": "600",
+ "currency_code": "PYG"
+ },
+ "QA": {
+ "three_letter_code": "QAT",
+ "numeric_code": "634",
+ "currency_code": "QAR"
+ },
+ "RE": {
+ "three_letter_code": "REU",
+ "numeric_code": "638",
+ "currency_code": "EUR"
+ },
+ "RO": {
+ "three_letter_code": "ROU",
+ "numeric_code": "642",
+ "currency_code": "RON"
+ },
+ "RS": {
+ "three_letter_code": "SRB",
+ "numeric_code": "688",
+ "currency_code": "RSD"
+ },
+ "RU": {
+ "three_letter_code": "RUS",
+ "numeric_code": "643",
+ "currency_code": "RUB"
+ },
+ "RW": {
+ "three_letter_code": "RWA",
+ "numeric_code": "646",
+ "currency_code": "RWF"
+ },
+ "SA": {
+ "three_letter_code": "SAU",
+ "numeric_code": "682",
+ "currency_code": "SAR"
+ },
+ "SB": {
+ "three_letter_code": "SLB",
+ "numeric_code": "090",
+ "currency_code": "SBD"
+ },
+ "SC": {
+ "three_letter_code": "SYC",
+ "numeric_code": "690",
+ "currency_code": "SCR"
+ },
+ "SD": {
+ "three_letter_code": "SDN",
+ "numeric_code": "729",
+ "currency_code": "SDG"
+ },
+ "SE": {
+ "three_letter_code": "SWE",
+ "numeric_code": "752",
+ "currency_code": "SEK"
+ },
+ "SG": {
+ "three_letter_code": "SGP",
+ "numeric_code": "702",
+ "currency_code": "SGD"
+ },
+ "SH": {
+ "three_letter_code": "SHN",
+ "numeric_code": "654",
+ "currency_code": "SHP"
+ },
+ "SI": {
+ "three_letter_code": "SVN",
+ "numeric_code": "705",
+ "currency_code": "EUR"
+ },
+ "SJ": {
+ "three_letter_code": "SJM",
+ "numeric_code": "744",
+ "currency_code": "NOK"
+ },
+ "SK": {
+ "three_letter_code": "SVK",
+ "numeric_code": "703",
+ "currency_code": "EUR"
+ },
+ "SL": {
+ "three_letter_code": "SLE",
+ "numeric_code": "694",
+ "currency_code": "SLL"
+ },
+ "SM": {
+ "three_letter_code": "SMR",
+ "numeric_code": "674",
+ "currency_code": "EUR"
+ },
+ "SN": {
+ "three_letter_code": "SEN",
+ "numeric_code": "686",
+ "currency_code": "XOF"
+ },
+ "SO": {
+ "three_letter_code": "SOM",
+ "numeric_code": "706",
+ "currency_code": "SOS"
+ },
+ "SR": {
+ "three_letter_code": "SUR",
+ "numeric_code": "740",
+ "currency_code": "SRD"
+ },
+ "SS": {
+ "three_letter_code": "SSD",
+ "numeric_code": "728",
+ "currency_code": "SSP"
+ },
+ "ST": {
+ "three_letter_code": "STP",
+ "numeric_code": "678",
+ "currency_code": "STD"
+ },
+ "SV": {
+ "three_letter_code": "SLV",
+ "numeric_code": "222",
+ "currency_code": "USD"
+ },
+ "SX": {
+ "three_letter_code": "SXM",
+ "numeric_code": "534",
+ "currency_code": "ANG"
+ },
+ "SY": {
+ "three_letter_code": "SYR",
+ "numeric_code": "760",
+ "currency_code": "SYP"
+ },
+ "SZ": {
+ "three_letter_code": "SWZ",
+ "numeric_code": "748",
+ "currency_code": "SZL"
+ },
+ "TA": {
+ "three_letter_code": "TAA",
+ "currency_code": "GBP"
+ },
+ "TC": {
+ "three_letter_code": "TCA",
+ "numeric_code": "796",
+ "currency_code": "USD"
+ },
+ "TD": {
+ "three_letter_code": "TCD",
+ "numeric_code": "148",
+ "currency_code": "XAF"
+ },
+ "TF": {
+ "three_letter_code": "ATF",
+ "numeric_code": "260",
+ "currency_code": "EUR"
+ },
+ "TG": {
+ "three_letter_code": "TGO",
+ "numeric_code": "768",
+ "currency_code": "XOF"
+ },
+ "TH": {
+ "three_letter_code": "THA",
+ "numeric_code": "764",
+ "currency_code": "THB"
+ },
+ "TJ": {
+ "three_letter_code": "TJK",
+ "numeric_code": "762",
+ "currency_code": "TJS"
+ },
+ "TK": {
+ "three_letter_code": "TKL",
+ "numeric_code": "772",
+ "currency_code": "NZD"
+ },
+ "TL": {
+ "three_letter_code": "TLS",
+ "numeric_code": "626",
+ "currency_code": "USD"
+ },
+ "TM": {
+ "three_letter_code": "TKM",
+ "numeric_code": "795",
+ "currency_code": "TMT"
+ },
+ "TN": {
+ "three_letter_code": "TUN",
+ "numeric_code": "788",
+ "currency_code": "TND"
+ },
+ "TO": {
+ "three_letter_code": "TON",
+ "numeric_code": "776",
+ "currency_code": "TOP"
+ },
+ "TR": {
+ "three_letter_code": "TUR",
+ "numeric_code": "792",
+ "currency_code": "TRY"
+ },
+ "TT": {
+ "three_letter_code": "TTO",
+ "numeric_code": "780",
+ "currency_code": "TTD"
+ },
+ "TV": {
+ "three_letter_code": "TUV",
+ "numeric_code": "798",
+ "currency_code": "AUD"
+ },
+ "TW": {
+ "three_letter_code": "TWN",
+ "numeric_code": "158",
+ "currency_code": "TWD"
+ },
+ "TZ": {
+ "three_letter_code": "TZA",
+ "numeric_code": "834",
+ "currency_code": "TZS"
+ },
+ "UA": {
+ "three_letter_code": "UKR",
+ "numeric_code": "804",
+ "currency_code": "UAH"
+ },
+ "UG": {
+ "three_letter_code": "UGA",
+ "numeric_code": "800",
+ "currency_code": "UGX"
+ },
+ "UM": {
+ "three_letter_code": "UMI",
+ "numeric_code": "581",
+ "currency_code": "USD"
+ },
+ "US": {
+ "three_letter_code": "USA",
+ "numeric_code": "840",
+ "currency_code": "USD"
+ },
+ "UY": {
+ "three_letter_code": "URY",
+ "numeric_code": "858",
+ "currency_code": "UYU"
+ },
+ "UZ": {
+ "three_letter_code": "UZB",
+ "numeric_code": "860",
+ "currency_code": "UZS"
+ },
+ "VA": {
+ "three_letter_code": "VAT",
+ "numeric_code": "336",
+ "currency_code": "EUR"
+ },
+ "VC": {
+ "three_letter_code": "VCT",
+ "numeric_code": "670",
+ "currency_code": "XCD"
+ },
+ "VE": {
+ "three_letter_code": "VEN",
+ "numeric_code": "862",
+ "currency_code": "VEF"
+ },
+ "VG": {
+ "three_letter_code": "VGB",
+ "numeric_code": "092",
+ "currency_code": "USD"
+ },
+ "VI": {
+ "three_letter_code": "VIR",
+ "numeric_code": "850",
+ "currency_code": "USD"
+ },
+ "VN": {
+ "three_letter_code": "VNM",
+ "numeric_code": "704",
+ "currency_code": "VND"
+ },
+ "VU": {
+ "three_letter_code": "VUT",
+ "numeric_code": "548",
+ "currency_code": "VUV"
+ },
+ "WF": {
+ "three_letter_code": "WLF",
+ "numeric_code": "876",
+ "currency_code": "XPF"
+ },
+ "WS": {
+ "three_letter_code": "WSM",
+ "numeric_code": "882",
+ "currency_code": "WST"
+ },
+ "XK": {
+ "three_letter_code": "XKK",
+ "numeric_code": "983",
+ "currency_code": "EUR"
+ },
+ "YE": {
+ "three_letter_code": "YEM",
+ "numeric_code": "887",
+ "currency_code": "YER"
+ },
+ "YT": {
+ "three_letter_code": "MYT",
+ "numeric_code": "175",
+ "currency_code": "EUR"
+ },
+ "ZA": {
+ "three_letter_code": "ZAF",
+ "numeric_code": "710",
+ "currency_code": "ZAR"
+ },
+ "ZM": {
+ "three_letter_code": "ZMB",
+ "numeric_code": "894",
+ "currency_code": "ZMW"
+ },
+ "ZW": {
+ "three_letter_code": "ZWE",
+ "numeric_code": "716",
+ "currency_code": "USD"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/be.json b/vendor/commerceguys/intl/resources/country/be.json
new file mode 100644
index 000000000..95a028ad3
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/be.json
@@ -0,0 +1,761 @@
+{
+ "AE": {
+ "name": "Аб’яднаныя Арабскія Эміраты"
+ },
+ "AZ": {
+ "name": "Азербайджан"
+ },
+ "AX": {
+ "name": "Аландскія астравы"
+ },
+ "AL": {
+ "name": "Албанія"
+ },
+ "DZ": {
+ "name": "Алжыр"
+ },
+ "OM": {
+ "name": "Аман"
+ },
+ "AS": {
+ "name": "Амерыканскае Самоа"
+ },
+ "VI": {
+ "name": "Амерыканскія Віргінскія астравы"
+ },
+ "AI": {
+ "name": "Ангілья"
+ },
+ "AO": {
+ "name": "Ангола"
+ },
+ "AD": {
+ "name": "Андора"
+ },
+ "AQ": {
+ "name": "Антарктыка"
+ },
+ "AG": {
+ "name": "Антыгуа і Барбуда"
+ },
+ "AR": {
+ "name": "Аргенціна"
+ },
+ "AM": {
+ "name": "Арменія"
+ },
+ "AW": {
+ "name": "Аруба"
+ },
+ "CK": {
+ "name": "Астравы Кука"
+ },
+ "PN": {
+ "name": "Астравы Піткэрн"
+ },
+ "AU": {
+ "name": "Аўстралія"
+ },
+ "AT": {
+ "name": "Аўстрыя"
+ },
+ "AF": {
+ "name": "Афганістан"
+ },
+ "BS": {
+ "name": "Багамы"
+ },
+ "BG": {
+ "name": "Балгарыя"
+ },
+ "BO": {
+ "name": "Балівія"
+ },
+ "BD": {
+ "name": "Бангладэш"
+ },
+ "BB": {
+ "name": "Барбадас"
+ },
+ "BW": {
+ "name": "Батсвана"
+ },
+ "BH": {
+ "name": "Бахрэйн"
+ },
+ "BY": {
+ "name": "Беларусь"
+ },
+ "BZ": {
+ "name": "Беліз"
+ },
+ "BE": {
+ "name": "Бельгія"
+ },
+ "BJ": {
+ "name": "Бенін"
+ },
+ "BM": {
+ "name": "Бермудскія астравы"
+ },
+ "BA": {
+ "name": "Боснія і Герцагавіна"
+ },
+ "BR": {
+ "name": "Бразілія"
+ },
+ "BN": {
+ "name": "Бруней"
+ },
+ "IO": {
+ "name": "Брытанская тэрыторыя ў Індыйскім акіяне"
+ },
+ "VG": {
+ "name": "Брытанскія Віргінскія астравы"
+ },
+ "BF": {
+ "name": "Буркіна-Фасо"
+ },
+ "BI": {
+ "name": "Бурундзі"
+ },
+ "BT": {
+ "name": "Бутан"
+ },
+ "VN": {
+ "name": "В’етнам"
+ },
+ "VU": {
+ "name": "Вануату"
+ },
+ "VA": {
+ "name": "Ватыкан"
+ },
+ "HU": {
+ "name": "Венгрыя"
+ },
+ "VE": {
+ "name": "Венесуэла"
+ },
+ "DG": {
+ "name": "Востраў Дыега-Гарсія"
+ },
+ "CX": {
+ "name": "Востраў Каляд"
+ },
+ "IM": {
+ "name": "Востраў Мэн"
+ },
+ "NF": {
+ "name": "Востраў Норфалк"
+ },
+ "SH": {
+ "name": "Востраў Святой Алены"
+ },
+ "AC": {
+ "name": "Востраў Узнясення"
+ },
+ "GB": {
+ "name": "Вялікабрытанія"
+ },
+ "GA": {
+ "name": "Габон"
+ },
+ "HT": {
+ "name": "Гаіці"
+ },
+ "GM": {
+ "name": "Гамбія"
+ },
+ "GH": {
+ "name": "Гана"
+ },
+ "HN": {
+ "name": "Гандурас"
+ },
+ "HK": {
+ "name": "Ганконг, САР (Кітай)"
+ },
+ "GY": {
+ "name": "Гаяна"
+ },
+ "GP": {
+ "name": "Гвадэлупа"
+ },
+ "GT": {
+ "name": "Гватэмала"
+ },
+ "GN": {
+ "name": "Гвінея"
+ },
+ "GW": {
+ "name": "Гвінея-Бісау"
+ },
+ "DE": {
+ "name": "Германія"
+ },
+ "GG": {
+ "name": "Гернсі"
+ },
+ "GI": {
+ "name": "Гібралтар"
+ },
+ "GE": {
+ "name": "Грузія"
+ },
+ "GD": {
+ "name": "Грэнада"
+ },
+ "GL": {
+ "name": "Грэнландыя"
+ },
+ "GR": {
+ "name": "Грэцыя"
+ },
+ "GU": {
+ "name": "Гуам"
+ },
+ "DM": {
+ "name": "Дамініка"
+ },
+ "DO": {
+ "name": "Дамініканская Рэспубліка"
+ },
+ "DK": {
+ "name": "Данія"
+ },
+ "DJ": {
+ "name": "Джыбуці"
+ },
+ "JE": {
+ "name": "Джэрсі"
+ },
+ "EG": {
+ "name": "Егіпет"
+ },
+ "YE": {
+ "name": "Емен"
+ },
+ "ZM": {
+ "name": "Замбія"
+ },
+ "EH": {
+ "name": "Заходняя Сахара"
+ },
+ "ZW": {
+ "name": "Зімбабвэ"
+ },
+ "US": {
+ "name": "Злучаныя Штаты Амерыкі"
+ },
+ "JO": {
+ "name": "Іарданія"
+ },
+ "IL": {
+ "name": "Ізраіль"
+ },
+ "ID": {
+ "name": "Інданезія"
+ },
+ "IN": {
+ "name": "Індыя"
+ },
+ "IQ": {
+ "name": "Ірак"
+ },
+ "IR": {
+ "name": "Іран"
+ },
+ "IE": {
+ "name": "Ірландыя"
+ },
+ "IS": {
+ "name": "Ісландыя"
+ },
+ "ES": {
+ "name": "Іспанія"
+ },
+ "IT": {
+ "name": "Італія"
+ },
+ "CV": {
+ "name": "Каба-Вердэ"
+ },
+ "KZ": {
+ "name": "Казахстан"
+ },
+ "KY": {
+ "name": "Кайманавы астравы"
+ },
+ "CC": {
+ "name": "Какосавыя (Кілінг) астравы"
+ },
+ "CO": {
+ "name": "Калумбія"
+ },
+ "KH": {
+ "name": "Камбоджа"
+ },
+ "CM": {
+ "name": "Камерун"
+ },
+ "KM": {
+ "name": "Каморскія Астравы"
+ },
+ "CA": {
+ "name": "Канада"
+ },
+ "IC": {
+ "name": "Канарскія астравы"
+ },
+ "BQ": {
+ "name": "Карыбскія Нідэрланды"
+ },
+ "QA": {
+ "name": "Катар"
+ },
+ "KE": {
+ "name": "Кенія"
+ },
+ "CY": {
+ "name": "Кіпр"
+ },
+ "KI": {
+ "name": "Кірыбаці"
+ },
+ "CN": {
+ "name": "Кітай"
+ },
+ "CG": {
+ "name": "Конга - Бразавіль"
+ },
+ "CD": {
+ "name": "Конга (Кіншаса)"
+ },
+ "XK": {
+ "name": "Косава"
+ },
+ "CR": {
+ "name": "Коста-Рыка"
+ },
+ "CI": {
+ "name": "Кот-д’Івуар"
+ },
+ "CU": {
+ "name": "Куба"
+ },
+ "KW": {
+ "name": "Кувейт"
+ },
+ "KG": {
+ "name": "Кыргызстан"
+ },
+ "CW": {
+ "name": "Кюрасаа"
+ },
+ "LA": {
+ "name": "Лаос"
+ },
+ "LV": {
+ "name": "Латвія"
+ },
+ "LS": {
+ "name": "Лесота"
+ },
+ "LR": {
+ "name": "Ліберыя"
+ },
+ "LB": {
+ "name": "Ліван"
+ },
+ "LY": {
+ "name": "Лівія"
+ },
+ "LT": {
+ "name": "Літва"
+ },
+ "LI": {
+ "name": "Ліхтэнштэйн"
+ },
+ "LU": {
+ "name": "Люксембург"
+ },
+ "MM": {
+ "name": "М’янма (Бірма)"
+ },
+ "MG": {
+ "name": "Мадагаскар"
+ },
+ "YT": {
+ "name": "Маёта"
+ },
+ "MZ": {
+ "name": "Мазамбік"
+ },
+ "MO": {
+ "name": "Макаа, САР (Кітай)"
+ },
+ "MK": {
+ "name": "Македонія"
+ },
+ "MW": {
+ "name": "Малаві"
+ },
+ "MY": {
+ "name": "Малайзія"
+ },
+ "MD": {
+ "name": "Малдова"
+ },
+ "ML": {
+ "name": "Малі"
+ },
+ "UM": {
+ "name": "Малыя Аддаленыя астравы ЗША"
+ },
+ "MV": {
+ "name": "Мальдывы"
+ },
+ "MT": {
+ "name": "Мальта"
+ },
+ "MC": {
+ "name": "Манака"
+ },
+ "MN": {
+ "name": "Манголія"
+ },
+ "MS": {
+ "name": "Мантсерат"
+ },
+ "MA": {
+ "name": "Марока"
+ },
+ "MQ": {
+ "name": "Марцініка"
+ },
+ "MH": {
+ "name": "Маршалавы Астравы"
+ },
+ "MU": {
+ "name": "Маўрыкій"
+ },
+ "MR": {
+ "name": "Маўрытанія"
+ },
+ "MX": {
+ "name": "Мексіка"
+ },
+ "FM": {
+ "name": "Мікранезія"
+ },
+ "NA": {
+ "name": "Намібія"
+ },
+ "NO": {
+ "name": "Нарвегія"
+ },
+ "NR": {
+ "name": "Науру"
+ },
+ "NP": {
+ "name": "Непал"
+ },
+ "NE": {
+ "name": "Нігер"
+ },
+ "NG": {
+ "name": "Нігерыя"
+ },
+ "NL": {
+ "name": "Нідэрланды"
+ },
+ "NI": {
+ "name": "Нікарагуа"
+ },
+ "NU": {
+ "name": "Ніуэ"
+ },
+ "NZ": {
+ "name": "Новая Зеландыя"
+ },
+ "NC": {
+ "name": "Новая Каледонія"
+ },
+ "PK": {
+ "name": "Пакістан"
+ },
+ "PW": {
+ "name": "Палау"
+ },
+ "PS": {
+ "name": "Палесцінскія Тэрыторыі"
+ },
+ "PA": {
+ "name": "Панама"
+ },
+ "PG": {
+ "name": "Папуа-Новая Гвінея"
+ },
+ "PY": {
+ "name": "Парагвай"
+ },
+ "PT": {
+ "name": "Партугалія"
+ },
+ "ZA": {
+ "name": "Паўднёваафрыканская Рэспубліка"
+ },
+ "GS": {
+ "name": "Паўднёвая Джорджыя і Паўднёвыя Сандвічавы астравы"
+ },
+ "KR": {
+ "name": "Паўднёвая Карэя"
+ },
+ "SS": {
+ "name": "Паўднёвы Судан"
+ },
+ "KP": {
+ "name": "Паўночная Карэя"
+ },
+ "MP": {
+ "name": "Паўночныя Марыянскія астравы"
+ },
+ "PE": {
+ "name": "Перу"
+ },
+ "PL": {
+ "name": "Польшча"
+ },
+ "PR": {
+ "name": "Пуэрта-Рыка"
+ },
+ "RU": {
+ "name": "Расія"
+ },
+ "RW": {
+ "name": "Руанда"
+ },
+ "RO": {
+ "name": "Румынія"
+ },
+ "RE": {
+ "name": "Рэюньён"
+ },
+ "SB": {
+ "name": "Саламонавы Астравы"
+ },
+ "SV": {
+ "name": "Сальвадор"
+ },
+ "SO": {
+ "name": "Самалі"
+ },
+ "WS": {
+ "name": "Самоа"
+ },
+ "SM": {
+ "name": "Сан-Марына"
+ },
+ "ST": {
+ "name": "Сан-Тамэ і Прынсіпі"
+ },
+ "SA": {
+ "name": "Саудаўская Аравія"
+ },
+ "SZ": {
+ "name": "Свазіленд"
+ },
+ "SC": {
+ "name": "Сейшэльскія Астравы"
+ },
+ "BL": {
+ "name": "Сен-Бартэльмі"
+ },
+ "MF": {
+ "name": "Сен-Мартэн"
+ },
+ "PM": {
+ "name": "Сен-П’ер і Мікелон"
+ },
+ "SN": {
+ "name": "Сенегал"
+ },
+ "VC": {
+ "name": "Сент-Вінсент і Грэнадзіны"
+ },
+ "KN": {
+ "name": "Сент-Кітс і Невіс"
+ },
+ "LC": {
+ "name": "Сент-Люсія"
+ },
+ "RS": {
+ "name": "Сербія"
+ },
+ "EA": {
+ "name": "Сеўта і Мелілья"
+ },
+ "SG": {
+ "name": "Сінгапур"
+ },
+ "SX": {
+ "name": "Сінт-Мартэн"
+ },
+ "SY": {
+ "name": "Сірыя"
+ },
+ "SK": {
+ "name": "Славакія"
+ },
+ "SI": {
+ "name": "Славенія"
+ },
+ "SD": {
+ "name": "Судан"
+ },
+ "SR": {
+ "name": "Сурынам"
+ },
+ "SL": {
+ "name": "Сьера-Леонэ"
+ },
+ "TJ": {
+ "name": "Таджыкістан"
+ },
+ "TW": {
+ "name": "Тайвань"
+ },
+ "TH": {
+ "name": "Тайланд"
+ },
+ "TK": {
+ "name": "Такелау"
+ },
+ "TZ": {
+ "name": "Танзанія"
+ },
+ "TG": {
+ "name": "Тога"
+ },
+ "TO": {
+ "name": "Тонга"
+ },
+ "TT": {
+ "name": "Трынідад і Табага"
+ },
+ "TA": {
+ "name": "Трыстан-да-Кунья"
+ },
+ "TV": {
+ "name": "Тувалу"
+ },
+ "TN": {
+ "name": "Туніс"
+ },
+ "TM": {
+ "name": "Туркменістан"
+ },
+ "TR": {
+ "name": "Турцыя"
+ },
+ "TL": {
+ "name": "Тымор-Лешці"
+ },
+ "UG": {
+ "name": "Уганда"
+ },
+ "UZ": {
+ "name": "Узбекістан"
+ },
+ "UA": {
+ "name": "Украіна"
+ },
+ "WF": {
+ "name": "Уоліс і Футуна"
+ },
+ "UY": {
+ "name": "Уругвай"
+ },
+ "FK": {
+ "name": "Фалклендскія астравы"
+ },
+ "FO": {
+ "name": "Фарэрскія астравы"
+ },
+ "FJ": {
+ "name": "Фіджы"
+ },
+ "PH": {
+ "name": "Філіпіны"
+ },
+ "FI": {
+ "name": "Фінляндыя"
+ },
+ "GF": {
+ "name": "Французская Гвіяна"
+ },
+ "PF": {
+ "name": "Французская Палінезія"
+ },
+ "TF": {
+ "name": "Французскія Паўднёвыя тэрыторыі"
+ },
+ "FR": {
+ "name": "Францыя"
+ },
+ "HR": {
+ "name": "Харватыя"
+ },
+ "TC": {
+ "name": "Цёркс і Кайкас"
+ },
+ "CF": {
+ "name": "Цэнтральнаафрыканская Рэспубліка"
+ },
+ "TD": {
+ "name": "Чад"
+ },
+ "ME": {
+ "name": "Чарнагорыя"
+ },
+ "CL": {
+ "name": "Чылі"
+ },
+ "CZ": {
+ "name": "Чэхія"
+ },
+ "CH": {
+ "name": "Швейцарыя"
+ },
+ "SE": {
+ "name": "Швецыя"
+ },
+ "SJ": {
+ "name": "Шпіцберген і Ян-Маен"
+ },
+ "LK": {
+ "name": "Шры-Ланка"
+ },
+ "EC": {
+ "name": "Эквадор"
+ },
+ "GQ": {
+ "name": "Экватарыяльная Гвінея"
+ },
+ "ER": {
+ "name": "Эрытрэя"
+ },
+ "EE": {
+ "name": "Эстонія"
+ },
+ "ET": {
+ "name": "Эфіопія"
+ },
+ "JM": {
+ "name": "Ямайка"
+ },
+ "JP": {
+ "name": "Японія"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/bez.json b/vendor/commerceguys/intl/resources/country/bez.json
new file mode 100644
index 000000000..357566fb5
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/bez.json
@@ -0,0 +1,761 @@
+{
+ "AX": {
+ "name": "Åland Islands"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "ZA": {
+ "name": "Huafrika iya Hukusini"
+ },
+ "AF": {
+ "name": "Huafuganistani"
+ },
+ "IS": {
+ "name": "Huaislandi"
+ },
+ "AR": {
+ "name": "Huajendina"
+ },
+ "AL": {
+ "name": "Hualbania"
+ },
+ "DZ": {
+ "name": "Hualjelia"
+ },
+ "AW": {
+ "name": "Hualuba"
+ },
+ "AM": {
+ "name": "Huamenia"
+ },
+ "AD": {
+ "name": "Huandola"
+ },
+ "AO": {
+ "name": "Huangola"
+ },
+ "AI": {
+ "name": "Huanguila"
+ },
+ "AG": {
+ "name": "Huantigua na Hubarubuda"
+ },
+ "AT": {
+ "name": "Huastlia"
+ },
+ "AU": {
+ "name": "Huaustlalia"
+ },
+ "IE": {
+ "name": "Huayalandi"
+ },
+ "AZ": {
+ "name": "Huazabajani"
+ },
+ "BB": {
+ "name": "Hubabadosi"
+ },
+ "BH": {
+ "name": "Hubahaleni"
+ },
+ "BS": {
+ "name": "Hubahama"
+ },
+ "BD": {
+ "name": "Hubangaladeshi"
+ },
+ "BY": {
+ "name": "Hubelalusi"
+ },
+ "BZ": {
+ "name": "Hubelize"
+ },
+ "BM": {
+ "name": "Hubelmuda"
+ },
+ "BJ": {
+ "name": "Hubenini"
+ },
+ "BR": {
+ "name": "Hublazili"
+ },
+ "BO": {
+ "name": "Hubolivia"
+ },
+ "BA": {
+ "name": "Hubosinia na Huhezegovina"
+ },
+ "BW": {
+ "name": "Hubotiswana"
+ },
+ "BN": {
+ "name": "Hubrunei"
+ },
+ "BF": {
+ "name": "Hubukinafaso"
+ },
+ "MG": {
+ "name": "Hubukini"
+ },
+ "BG": {
+ "name": "Hubulgaria"
+ },
+ "BI": {
+ "name": "Huburundi"
+ },
+ "BT": {
+ "name": "Hubutani"
+ },
+ "TD": {
+ "name": "Huchadi"
+ },
+ "CL": {
+ "name": "Huchile"
+ },
+ "CN": {
+ "name": "Huchina"
+ },
+ "DK": {
+ "name": "Hudenmaki"
+ },
+ "DM": {
+ "name": "Hudominika"
+ },
+ "EC": {
+ "name": "Huekwado"
+ },
+ "SV": {
+ "name": "Huelsavado"
+ },
+ "ER": {
+ "name": "Hueritrea"
+ },
+ "EE": {
+ "name": "Huestonia"
+ },
+ "AE": {
+ "name": "Hufalme dza Hihalabu"
+ },
+ "FJ": {
+ "name": "Hufiji"
+ },
+ "PH": {
+ "name": "Hufilipino"
+ },
+ "GA": {
+ "name": "Hugaboni"
+ },
+ "GM": {
+ "name": "Hugambia"
+ },
+ "GH": {
+ "name": "Hughana"
+ },
+ "GW": {
+ "name": "Huginebisau"
+ },
+ "GQ": {
+ "name": "Huginekweta"
+ },
+ "GD": {
+ "name": "Hugrenada"
+ },
+ "GY": {
+ "name": "Huguyana"
+ },
+ "GP": {
+ "name": "Hugwadelupe"
+ },
+ "GU": {
+ "name": "Hugwam"
+ },
+ "GT": {
+ "name": "Hugwatemala"
+ },
+ "GF": {
+ "name": "Hugwiyana ya Huufaransa"
+ },
+ "HT": {
+ "name": "Huhaiti"
+ },
+ "ES": {
+ "name": "Huhispania"
+ },
+ "HN": {
+ "name": "Huhondulasi"
+ },
+ "HU": {
+ "name": "Huhungalia"
+ },
+ "IQ": {
+ "name": "Huilaki"
+ },
+ "IN": {
+ "name": "Huindia"
+ },
+ "ID": {
+ "name": "Huindonesia"
+ },
+ "IL": {
+ "name": "Huislaheli"
+ },
+ "IT": {
+ "name": "Huitalia"
+ },
+ "JM": {
+ "name": "Hujamaika"
+ },
+ "JP": {
+ "name": "Hujapani"
+ },
+ "GI": {
+ "name": "Hujiblalta"
+ },
+ "DJ": {
+ "name": "Hujibuti"
+ },
+ "GN": {
+ "name": "Hujine"
+ },
+ "GL": {
+ "name": "Hujinlandi"
+ },
+ "GE": {
+ "name": "Hujojia"
+ },
+ "KH": {
+ "name": "Hukambodia"
+ },
+ "CM": {
+ "name": "Hukameruni"
+ },
+ "CA": {
+ "name": "Hukanada"
+ },
+ "QA": {
+ "name": "Hukatali"
+ },
+ "KZ": {
+ "name": "Hukazakistani"
+ },
+ "KE": {
+ "name": "Hukenya"
+ },
+ "CV": {
+ "name": "Hukepuvede"
+ },
+ "KI": {
+ "name": "Hukilibati"
+ },
+ "KG": {
+ "name": "Hukiligizistani"
+ },
+ "CI": {
+ "name": "Hukodivaa"
+ },
+ "KP": {
+ "name": "Hukolea Kaskazini"
+ },
+ "KR": {
+ "name": "Hukolea Kusini"
+ },
+ "CO": {
+ "name": "Hukolombia"
+ },
+ "KM": {
+ "name": "Hukomoro"
+ },
+ "CG": {
+ "name": "Hukongo"
+ },
+ "HR": {
+ "name": "Hukorasia"
+ },
+ "CR": {
+ "name": "Hukostarika"
+ },
+ "CU": {
+ "name": "Hukuba"
+ },
+ "CY": {
+ "name": "Hukuprosi"
+ },
+ "KW": {
+ "name": "Hukuwaiti"
+ },
+ "LA": {
+ "name": "Hulaosi"
+ },
+ "LU": {
+ "name": "Hulasembagi"
+ },
+ "LV": {
+ "name": "Hulativia"
+ },
+ "LB": {
+ "name": "Hulebanoni"
+ },
+ "LS": {
+ "name": "Hulesoto"
+ },
+ "LR": {
+ "name": "Hulibelia"
+ },
+ "LY": {
+ "name": "Hulibiya"
+ },
+ "LI": {
+ "name": "Hulishenteni"
+ },
+ "LT": {
+ "name": "Hulitwania"
+ },
+ "RE": {
+ "name": "Huliyunioni"
+ },
+ "RO": {
+ "name": "Hulomania"
+ },
+ "RW": {
+ "name": "Hulwanda"
+ },
+ "MW": {
+ "name": "Humalawi"
+ },
+ "US": {
+ "name": "Humalekani"
+ },
+ "MY": {
+ "name": "Humalesia"
+ },
+ "ML": {
+ "name": "Humali"
+ },
+ "MT": {
+ "name": "Humalta"
+ },
+ "MQ": {
+ "name": "Humartiniki"
+ },
+ "MK": {
+ "name": "Humasedonia"
+ },
+ "YT": {
+ "name": "Humayotte"
+ },
+ "MX": {
+ "name": "Humeksiko"
+ },
+ "FM": {
+ "name": "Humikronesia"
+ },
+ "EG": {
+ "name": "Humisri"
+ },
+ "MV": {
+ "name": "Humodivu"
+ },
+ "MD": {
+ "name": "Humoldova"
+ },
+ "MU": {
+ "name": "Humolisi"
+ },
+ "MR": {
+ "name": "Humolitania"
+ },
+ "MA": {
+ "name": "Humoloko"
+ },
+ "MC": {
+ "name": "Humonako"
+ },
+ "MN": {
+ "name": "Humongolia"
+ },
+ "MS": {
+ "name": "Humontserrati"
+ },
+ "MZ": {
+ "name": "Humusumbiji"
+ },
+ "MM": {
+ "name": "Humyama"
+ },
+ "NA": {
+ "name": "Hunamibia"
+ },
+ "NR": {
+ "name": "Hunauru"
+ },
+ "NP": {
+ "name": "Hunepali"
+ },
+ "NE": {
+ "name": "Hunijeli"
+ },
+ "NG": {
+ "name": "Hunijelia"
+ },
+ "NI": {
+ "name": "Hunikaragwa"
+ },
+ "NU": {
+ "name": "Huniue"
+ },
+ "NO": {
+ "name": "Hunolwe"
+ },
+ "NC": {
+ "name": "Hunyukaledonia"
+ },
+ "NZ": {
+ "name": "Hunyuzilandi"
+ },
+ "OM": {
+ "name": "Huomani"
+ },
+ "PK": {
+ "name": "Hupakistani"
+ },
+ "PY": {
+ "name": "Hupalagwai"
+ },
+ "PW": {
+ "name": "Hupalau"
+ },
+ "PA": {
+ "name": "Hupanama"
+ },
+ "PG": {
+ "name": "Hupapua"
+ },
+ "PE": {
+ "name": "Hupelu"
+ },
+ "PN": {
+ "name": "Hupitkaini"
+ },
+ "PL": {
+ "name": "Hupolandi"
+ },
+ "PF": {
+ "name": "Hupolinesia ya Huufaransa"
+ },
+ "PR": {
+ "name": "Hupwetoriko"
+ },
+ "SM": {
+ "name": "Husamalino"
+ },
+ "WS": {
+ "name": "Husamoa"
+ },
+ "AS": {
+ "name": "Husamoa ya Humalekani"
+ },
+ "SH": {
+ "name": "Husantahelena"
+ },
+ "KN": {
+ "name": "Husantakitzi na Hunevis"
+ },
+ "LC": {
+ "name": "Husantalusia"
+ },
+ "PM": {
+ "name": "Husantapieri na Humikeloni"
+ },
+ "VC": {
+ "name": "Husantavisenti na Hugrenadini"
+ },
+ "ST": {
+ "name": "Husaotome na Huprinsipe"
+ },
+ "SA": {
+ "name": "Husaudi"
+ },
+ "SN": {
+ "name": "Husenegali"
+ },
+ "SC": {
+ "name": "Hushelisheli"
+ },
+ "SL": {
+ "name": "Husiela Lioni"
+ },
+ "SY": {
+ "name": "Husilia"
+ },
+ "SG": {
+ "name": "Husingapoo"
+ },
+ "LK": {
+ "name": "Husirilanka"
+ },
+ "SK": {
+ "name": "Huslovakia"
+ },
+ "SI": {
+ "name": "Huslovenia"
+ },
+ "SO": {
+ "name": "Husomalia"
+ },
+ "SD": {
+ "name": "Husudani"
+ },
+ "SR": {
+ "name": "Husurinamu"
+ },
+ "TH": {
+ "name": "Hutailandi"
+ },
+ "TW": {
+ "name": "Hutaiwani"
+ },
+ "TJ": {
+ "name": "Hutajikistani"
+ },
+ "TZ": {
+ "name": "Hutanzania"
+ },
+ "TL": {
+ "name": "Hutimori ya Mashariki"
+ },
+ "TG": {
+ "name": "Hutogo"
+ },
+ "TK": {
+ "name": "Hutokelau"
+ },
+ "TO": {
+ "name": "Hutonga"
+ },
+ "TT": {
+ "name": "Hutrinad na Hutobago"
+ },
+ "TN": {
+ "name": "Hutunisia"
+ },
+ "TV": {
+ "name": "Hutuvalu"
+ },
+ "IR": {
+ "name": "Huuajemi"
+ },
+ "BE": {
+ "name": "Huubelgiji"
+ },
+ "FR": {
+ "name": "Huufaransa"
+ },
+ "FI": {
+ "name": "Huufini"
+ },
+ "UG": {
+ "name": "Huuganda"
+ },
+ "GR": {
+ "name": "Huugiliki"
+ },
+ "ET": {
+ "name": "Huuhabeshi"
+ },
+ "NL": {
+ "name": "Huuholanzi"
+ },
+ "GB": {
+ "name": "Huuingereza"
+ },
+ "DE": {
+ "name": "Huujerumani"
+ },
+ "UA": {
+ "name": "Huukraini"
+ },
+ "PT": {
+ "name": "Huuleno"
+ },
+ "UY": {
+ "name": "Huulugwai"
+ },
+ "RU": {
+ "name": "Huulusi"
+ },
+ "SZ": {
+ "name": "Huuswazi"
+ },
+ "SE": {
+ "name": "Huuswidi"
+ },
+ "CH": {
+ "name": "Huuswisi"
+ },
+ "TR": {
+ "name": "Huuturuki"
+ },
+ "TM": {
+ "name": "Huuturukimenistani"
+ },
+ "UZ": {
+ "name": "Huuzibekistani"
+ },
+ "VU": {
+ "name": "Huvanuatu"
+ },
+ "VA": {
+ "name": "Huvatikani"
+ },
+ "VE": {
+ "name": "Huvenezuela"
+ },
+ "VN": {
+ "name": "Huvietinamu"
+ },
+ "WF": {
+ "name": "Huwalis na Hufutuna"
+ },
+ "YE": {
+ "name": "Huyemeni"
+ },
+ "JO": {
+ "name": "Huyolodani"
+ },
+ "ZM": {
+ "name": "Huzambia"
+ },
+ "ZW": {
+ "name": "Huzimbabwe"
+ },
+ "FK": {
+ "name": "Ifisima fya Falkland"
+ },
+ "KY": {
+ "name": "Ifisima fya Kayman"
+ },
+ "CK": {
+ "name": "Ifisima fya Kook"
+ },
+ "MP": {
+ "name": "Ifisima fya Mariana fya Hukaskazini"
+ },
+ "MH": {
+ "name": "Ifisima fya Marshal"
+ },
+ "SB": {
+ "name": "Ifisima fya Solomon"
+ },
+ "TC": {
+ "name": "Ifisima fya Turki na Kaiko"
+ },
+ "VG": {
+ "name": "Ifisima fya Virgin fya Huingereza"
+ },
+ "VI": {
+ "name": "Ifisima fya Virgin fya Humelekani"
+ },
+ "NF": {
+ "name": "Ihisima sha Norfok"
+ },
+ "CF": {
+ "name": "Ijamhuri ya Afrika ya Pagati"
+ },
+ "CZ": {
+ "name": "Ijamhuri ya Cheki"
+ },
+ "CD": {
+ "name": "Ijamhuri ya Hidemokrasi ya Hukongo"
+ },
+ "DO": {
+ "name": "Ijamhuri ya Hudominika"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "IO": {
+ "name": "Ulubali lwa Hubahari ya Hindi lwa Huingereza"
+ },
+ "PS": {
+ "name": "Ulubali lwa Magharibi nu Gaza wa Hupalestina"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/bg.json b/vendor/commerceguys/intl/resources/country/bg.json
new file mode 100644
index 000000000..a4f2247b3
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/bg.json
@@ -0,0 +1,761 @@
+{
+ "AU": {
+ "name": "Австралия"
+ },
+ "AT": {
+ "name": "Австрия"
+ },
+ "AZ": {
+ "name": "Азербайджан"
+ },
+ "AL": {
+ "name": "Албания"
+ },
+ "DZ": {
+ "name": "Алжир"
+ },
+ "AS": {
+ "name": "Американска Самоа"
+ },
+ "VI": {
+ "name": "Американски Вирджински острови"
+ },
+ "AO": {
+ "name": "Ангола"
+ },
+ "AI": {
+ "name": "Ангуила"
+ },
+ "AD": {
+ "name": "Андора"
+ },
+ "AQ": {
+ "name": "Антарктика"
+ },
+ "AG": {
+ "name": "Антигуа и Барбуда"
+ },
+ "AR": {
+ "name": "Аржентина"
+ },
+ "AM": {
+ "name": "Армения"
+ },
+ "AW": {
+ "name": "Аруба"
+ },
+ "AF": {
+ "name": "Афганистан"
+ },
+ "BD": {
+ "name": "Бангладеш"
+ },
+ "BB": {
+ "name": "Барбадос"
+ },
+ "BS": {
+ "name": "Бахами"
+ },
+ "BH": {
+ "name": "Бахрейн"
+ },
+ "BY": {
+ "name": "Беларус"
+ },
+ "BE": {
+ "name": "Белгия"
+ },
+ "BZ": {
+ "name": "Белиз"
+ },
+ "BJ": {
+ "name": "Бенин"
+ },
+ "BM": {
+ "name": "Бермуда"
+ },
+ "BO": {
+ "name": "Боливия"
+ },
+ "BA": {
+ "name": "Босна и Херцеговина"
+ },
+ "BW": {
+ "name": "Ботсвана"
+ },
+ "BR": {
+ "name": "Бразилия"
+ },
+ "IO": {
+ "name": "Британска територия в Индийския океан"
+ },
+ "VG": {
+ "name": "Британски Вирджински острови"
+ },
+ "BN": {
+ "name": "Бруней Даруссалам"
+ },
+ "BF": {
+ "name": "Буркина Фасо"
+ },
+ "BI": {
+ "name": "Бурунди"
+ },
+ "BT": {
+ "name": "Бутан"
+ },
+ "BG": {
+ "name": "България"
+ },
+ "VU": {
+ "name": "Вануату"
+ },
+ "VA": {
+ "name": "Ватикан"
+ },
+ "VE": {
+ "name": "Венецуела"
+ },
+ "VN": {
+ "name": "Виетнам"
+ },
+ "GA": {
+ "name": "Габон"
+ },
+ "GM": {
+ "name": "Гамбия"
+ },
+ "GH": {
+ "name": "Гана"
+ },
+ "GY": {
+ "name": "Гаяна"
+ },
+ "GP": {
+ "name": "Гваделупа"
+ },
+ "GT": {
+ "name": "Гватемала"
+ },
+ "GN": {
+ "name": "Гвинея"
+ },
+ "GW": {
+ "name": "Гвинея-Бисау"
+ },
+ "DE": {
+ "name": "Германия"
+ },
+ "GI": {
+ "name": "Гибралтар"
+ },
+ "GD": {
+ "name": "Гренада"
+ },
+ "GL": {
+ "name": "Гренландия"
+ },
+ "GE": {
+ "name": "Грузия"
+ },
+ "GU": {
+ "name": "Гуам"
+ },
+ "GG": {
+ "name": "Гърнзи"
+ },
+ "GR": {
+ "name": "Гърция"
+ },
+ "DK": {
+ "name": "Дания"
+ },
+ "DJ": {
+ "name": "Джибути"
+ },
+ "JE": {
+ "name": "Джърси"
+ },
+ "DG": {
+ "name": "Диего Гарсия"
+ },
+ "DM": {
+ "name": "Доминика"
+ },
+ "DO": {
+ "name": "Доминиканска република"
+ },
+ "EG": {
+ "name": "Египет"
+ },
+ "EC": {
+ "name": "Еквадор"
+ },
+ "GQ": {
+ "name": "Екваториална Гвинея"
+ },
+ "ER": {
+ "name": "Еритрея"
+ },
+ "EE": {
+ "name": "Естония"
+ },
+ "ET": {
+ "name": "Етиопия"
+ },
+ "ZM": {
+ "name": "Замбия"
+ },
+ "EH": {
+ "name": "Западна Сахара"
+ },
+ "ZW": {
+ "name": "Зимбабве"
+ },
+ "IL": {
+ "name": "Израел"
+ },
+ "TL": {
+ "name": "Източен Тимор"
+ },
+ "IN": {
+ "name": "Индия"
+ },
+ "ID": {
+ "name": "Индонезия"
+ },
+ "IQ": {
+ "name": "Ирак"
+ },
+ "IR": {
+ "name": "Иран"
+ },
+ "IE": {
+ "name": "Ирландия"
+ },
+ "IS": {
+ "name": "Исландия"
+ },
+ "ES": {
+ "name": "Испания"
+ },
+ "IT": {
+ "name": "Италия"
+ },
+ "YE": {
+ "name": "Йемен"
+ },
+ "JO": {
+ "name": "Йордания"
+ },
+ "CV": {
+ "name": "Кабо Верде"
+ },
+ "KZ": {
+ "name": "Казахстан"
+ },
+ "KY": {
+ "name": "Кайманови острови"
+ },
+ "KH": {
+ "name": "Камбоджа"
+ },
+ "CM": {
+ "name": "Камерун"
+ },
+ "CA": {
+ "name": "Канада"
+ },
+ "IC": {
+ "name": "Канарски острови"
+ },
+ "BQ": {
+ "name": "Карибска Нидерландия"
+ },
+ "QA": {
+ "name": "Катар"
+ },
+ "KE": {
+ "name": "Кения"
+ },
+ "CY": {
+ "name": "Кипър"
+ },
+ "KG": {
+ "name": "Киргизстан"
+ },
+ "KI": {
+ "name": "Кирибати"
+ },
+ "CN": {
+ "name": "Китай"
+ },
+ "CC": {
+ "name": "Кокосови острови (острови Кийлинг)"
+ },
+ "CO": {
+ "name": "Колумбия"
+ },
+ "KM": {
+ "name": "Коморски острови"
+ },
+ "CG": {
+ "name": "Конго (Бразавил)"
+ },
+ "CD": {
+ "name": "Конго (Киншаса)"
+ },
+ "XK": {
+ "name": "Косово"
+ },
+ "CR": {
+ "name": "Коста Рика"
+ },
+ "CI": {
+ "name": "Кот д’Ивоар"
+ },
+ "CU": {
+ "name": "Куба"
+ },
+ "KW": {
+ "name": "Кувейт"
+ },
+ "CW": {
+ "name": "Кюрасао"
+ },
+ "LA": {
+ "name": "Лаос"
+ },
+ "LV": {
+ "name": "Латвия"
+ },
+ "LS": {
+ "name": "Лесото"
+ },
+ "LR": {
+ "name": "Либерия"
+ },
+ "LY": {
+ "name": "Либия"
+ },
+ "LB": {
+ "name": "Ливан"
+ },
+ "LT": {
+ "name": "Литва"
+ },
+ "LI": {
+ "name": "Лихтенщайн"
+ },
+ "LU": {
+ "name": "Люксембург"
+ },
+ "MR": {
+ "name": "Мавритания"
+ },
+ "MU": {
+ "name": "Мавриций"
+ },
+ "MG": {
+ "name": "Мадагаскар"
+ },
+ "YT": {
+ "name": "Майот"
+ },
+ "MO": {
+ "name": "Макао, САР на Китай"
+ },
+ "MK": {
+ "name": "Македония"
+ },
+ "MW": {
+ "name": "Малави"
+ },
+ "MY": {
+ "name": "Малайзия"
+ },
+ "MV": {
+ "name": "Малдиви"
+ },
+ "ML": {
+ "name": "Мали"
+ },
+ "MT": {
+ "name": "Малта"
+ },
+ "MA": {
+ "name": "Мароко"
+ },
+ "MQ": {
+ "name": "Мартиника"
+ },
+ "MH": {
+ "name": "Маршалови острови"
+ },
+ "MX": {
+ "name": "Мексико"
+ },
+ "MM": {
+ "name": "Мианмар (Бирма)"
+ },
+ "FM": {
+ "name": "Микронезия"
+ },
+ "MZ": {
+ "name": "Мозамбик"
+ },
+ "MD": {
+ "name": "Молдова"
+ },
+ "MC": {
+ "name": "Монако"
+ },
+ "MN": {
+ "name": "Монголия"
+ },
+ "MS": {
+ "name": "Монтсерат"
+ },
+ "NA": {
+ "name": "Намибия"
+ },
+ "NR": {
+ "name": "Науру"
+ },
+ "NP": {
+ "name": "Непал"
+ },
+ "NE": {
+ "name": "Нигер"
+ },
+ "NG": {
+ "name": "Нигерия"
+ },
+ "NL": {
+ "name": "Нидерландия"
+ },
+ "NI": {
+ "name": "Никарагуа"
+ },
+ "NU": {
+ "name": "Ниуе"
+ },
+ "NZ": {
+ "name": "Нова Зеландия"
+ },
+ "NC": {
+ "name": "Нова Каледония"
+ },
+ "NO": {
+ "name": "Норвегия"
+ },
+ "AE": {
+ "name": "Обединени арабски емирства"
+ },
+ "GB": {
+ "name": "Обединеното кралство"
+ },
+ "AX": {
+ "name": "Оландски острови"
+ },
+ "OM": {
+ "name": "Оман"
+ },
+ "AC": {
+ "name": "остров Възнесение"
+ },
+ "IM": {
+ "name": "остров Ман"
+ },
+ "NF": {
+ "name": "остров Норфолк"
+ },
+ "CX": {
+ "name": "остров Рождество"
+ },
+ "CK": {
+ "name": "острови Кук"
+ },
+ "PN": {
+ "name": "Острови Питкерн"
+ },
+ "TC": {
+ "name": "острови Търкс и Кайкос"
+ },
+ "UM": {
+ "name": "Отдалечени острови на САЩ"
+ },
+ "PK": {
+ "name": "Пакистан"
+ },
+ "PW": {
+ "name": "Палау"
+ },
+ "PS": {
+ "name": "Палестински територии"
+ },
+ "PA": {
+ "name": "Панама"
+ },
+ "PG": {
+ "name": "Папуа-Нова Гвинея"
+ },
+ "PY": {
+ "name": "Парагвай"
+ },
+ "PE": {
+ "name": "Перу"
+ },
+ "PL": {
+ "name": "Полша"
+ },
+ "PT": {
+ "name": "Португалия"
+ },
+ "PR": {
+ "name": "Пуерто Рико"
+ },
+ "RE": {
+ "name": "Реюнион"
+ },
+ "RW": {
+ "name": "Руанда"
+ },
+ "RO": {
+ "name": "Румъния"
+ },
+ "RU": {
+ "name": "Русия"
+ },
+ "SV": {
+ "name": "Салвадор"
+ },
+ "WS": {
+ "name": "Самоа"
+ },
+ "SM": {
+ "name": "Сан Марино"
+ },
+ "ST": {
+ "name": "Сао Томе и Принсипи"
+ },
+ "SA": {
+ "name": "Саудитска Арабия"
+ },
+ "SZ": {
+ "name": "Свазиленд"
+ },
+ "SJ": {
+ "name": "Свалбард и Ян Майен"
+ },
+ "SH": {
+ "name": "Света Елена"
+ },
+ "KP": {
+ "name": "Северна Корея"
+ },
+ "MP": {
+ "name": "Северни Мариански острови"
+ },
+ "VC": {
+ "name": "Сейнт Винсънт и Гренадини"
+ },
+ "KN": {
+ "name": "Сейнт Китс и Невис"
+ },
+ "LC": {
+ "name": "Сейнт Лусия"
+ },
+ "SC": {
+ "name": "Сейшели"
+ },
+ "BL": {
+ "name": "Сен Бартелеми"
+ },
+ "MF": {
+ "name": "Сен Мартен"
+ },
+ "PM": {
+ "name": "Сен Пиер и Микелон"
+ },
+ "SN": {
+ "name": "Сенегал"
+ },
+ "EA": {
+ "name": "Сеута и Мелия"
+ },
+ "SL": {
+ "name": "Сиера Леоне"
+ },
+ "SG": {
+ "name": "Сингапур"
+ },
+ "SX": {
+ "name": "Синт Мартен"
+ },
+ "SY": {
+ "name": "Сирия"
+ },
+ "SK": {
+ "name": "Словакия"
+ },
+ "SI": {
+ "name": "Словения"
+ },
+ "SB": {
+ "name": "Соломонови острови"
+ },
+ "SO": {
+ "name": "Сомалия"
+ },
+ "SD": {
+ "name": "Судан"
+ },
+ "SR": {
+ "name": "Суринам"
+ },
+ "US": {
+ "name": "Съединени щати"
+ },
+ "RS": {
+ "name": "Сърбия"
+ },
+ "TJ": {
+ "name": "Таджикистан"
+ },
+ "TW": {
+ "name": "Тайван"
+ },
+ "TH": {
+ "name": "Тайланд"
+ },
+ "TZ": {
+ "name": "Танзания"
+ },
+ "TG": {
+ "name": "Того"
+ },
+ "TK": {
+ "name": "Токелау"
+ },
+ "TO": {
+ "name": "Тонга"
+ },
+ "TT": {
+ "name": "Тринидад и Тобаго"
+ },
+ "TA": {
+ "name": "Тристан да Куня"
+ },
+ "TV": {
+ "name": "Тувалу"
+ },
+ "TN": {
+ "name": "Тунис"
+ },
+ "TM": {
+ "name": "Туркменистан"
+ },
+ "TR": {
+ "name": "Турция"
+ },
+ "UG": {
+ "name": "Уганда"
+ },
+ "UZ": {
+ "name": "Узбекистан"
+ },
+ "UA": {
+ "name": "Украйна"
+ },
+ "HU": {
+ "name": "Унгария"
+ },
+ "WF": {
+ "name": "Уолис и Футуна"
+ },
+ "UY": {
+ "name": "Уругвай"
+ },
+ "FO": {
+ "name": "Фарьорски острови"
+ },
+ "FJ": {
+ "name": "Фиджи"
+ },
+ "PH": {
+ "name": "Филипини"
+ },
+ "FI": {
+ "name": "Финландия"
+ },
+ "FK": {
+ "name": "Фолклендски острови"
+ },
+ "FR": {
+ "name": "Франция"
+ },
+ "GF": {
+ "name": "Френска Гвиана"
+ },
+ "PF": {
+ "name": "Френска Полинезия"
+ },
+ "TF": {
+ "name": "Френски южни територии"
+ },
+ "HT": {
+ "name": "Хаити"
+ },
+ "HN": {
+ "name": "Хондурас"
+ },
+ "HK": {
+ "name": "Хонконг, САР на Китай"
+ },
+ "HR": {
+ "name": "Хърватия"
+ },
+ "CF": {
+ "name": "Централноафриканска република"
+ },
+ "TD": {
+ "name": "Чад"
+ },
+ "ME": {
+ "name": "Черна гора"
+ },
+ "CZ": {
+ "name": "Чешка република"
+ },
+ "CL": {
+ "name": "Чили"
+ },
+ "CH": {
+ "name": "Швейцария"
+ },
+ "SE": {
+ "name": "Швеция"
+ },
+ "LK": {
+ "name": "Шри Ланка"
+ },
+ "SS": {
+ "name": "Южен Судан"
+ },
+ "ZA": {
+ "name": "Южна Африка"
+ },
+ "GS": {
+ "name": "Южна Джорджия и Южни Сандвичеви острови"
+ },
+ "KR": {
+ "name": "Южна Корея"
+ },
+ "JM": {
+ "name": "Ямайка"
+ },
+ "JP": {
+ "name": "Япония"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/bm.json b/vendor/commerceguys/intl/resources/country/bm.json
new file mode 100644
index 000000000..0d046e823
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/bm.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afiganistaŋ"
+ },
+ "AX": {
+ "name": "Åland Islands"
+ },
+ "AL": {
+ "name": "Alibani"
+ },
+ "DE": {
+ "name": "Alimaɲi"
+ },
+ "DZ": {
+ "name": "Alizeri"
+ },
+ "US": {
+ "name": "Ameriki"
+ },
+ "VI": {
+ "name": "Ameriki ka Sungurunnin Gun"
+ },
+ "AD": {
+ "name": "Andɔr"
+ },
+ "IO": {
+ "name": "Angilɛ ka ɛndu dugukolo"
+ },
+ "VG": {
+ "name": "Angilɛ ka Sungurunnin Gun"
+ },
+ "GB": {
+ "name": "Angilɛtɛri"
+ },
+ "AI": {
+ "name": "Angiya"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antiga-ni-Barbuda"
+ },
+ "SA": {
+ "name": "Arabiya Sawudiya"
+ },
+ "AE": {
+ "name": "Arabu mara kafoli"
+ },
+ "AM": {
+ "name": "Arimeni"
+ },
+ "AR": {
+ "name": "Arizantin"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "HT": {
+ "name": "Ayiti"
+ },
+ "AZ": {
+ "name": "Azɛrbayjaŋ"
+ },
+ "BS": {
+ "name": "Bahamasi"
+ },
+ "KY": {
+ "name": "Bama Gun"
+ },
+ "BB": {
+ "name": "Barbadi"
+ },
+ "BH": {
+ "name": "Bareyini"
+ },
+ "BY": {
+ "name": "Belarusi"
+ },
+ "BZ": {
+ "name": "Belizi"
+ },
+ "BJ": {
+ "name": "Benɛn"
+ },
+ "BR": {
+ "name": "Berezili"
+ },
+ "BM": {
+ "name": "Bermudi"
+ },
+ "BE": {
+ "name": "Bɛliziki"
+ },
+ "BD": {
+ "name": "Bɛngiladɛsi"
+ },
+ "BO": {
+ "name": "Bolivi"
+ },
+ "BA": {
+ "name": "Bozni-Ɛrizigovini"
+ },
+ "BW": {
+ "name": "Bɔtisiwana"
+ },
+ "BG": {
+ "name": "Buligari"
+ },
+ "BN": {
+ "name": "Burinɛyi"
+ },
+ "BF": {
+ "name": "Burukina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Butaŋ"
+ },
+ "TD": {
+ "name": "Cadi"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "CV": {
+ "name": "Capivɛrdi"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "CZ": {
+ "name": "Ceki republiki"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CY": {
+ "name": "Cipri"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Danemarki"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DO": {
+ "name": "Dɔmimiki republiki"
+ },
+ "DM": {
+ "name": "Dɔminiki"
+ },
+ "EC": {
+ "name": "Ekwatɔr"
+ },
+ "ER": {
+ "name": "Eritere"
+ },
+ "EE": {
+ "name": "Esetoni"
+ },
+ "ES": {
+ "name": "Esipaɲi"
+ },
+ "ET": {
+ "name": "Etiopi"
+ },
+ "EG": {
+ "name": "Eziputi"
+ },
+ "SH": {
+ "name": "Ɛlɛni Senu"
+ },
+ "ID": {
+ "name": "Ɛndonezi"
+ },
+ "IN": {
+ "name": "Ɛndujamana"
+ },
+ "FR": {
+ "name": "Faransi"
+ },
+ "GF": {
+ "name": "Faransi ka gwiyani"
+ },
+ "PF": {
+ "name": "Faransi ka polinezi"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filipini"
+ },
+ "FI": {
+ "name": "Finilandi"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gabɔŋ"
+ },
+ "GH": {
+ "name": "Gana"
+ },
+ "GM": {
+ "name": "Ganbi"
+ },
+ "GR": {
+ "name": "Gɛrɛsi"
+ },
+ "GN": {
+ "name": "Gine"
+ },
+ "GW": {
+ "name": "Gine Bisawo"
+ },
+ "GQ": {
+ "name": "Gine ekwatɔri"
+ },
+ "GL": {
+ "name": "Gɔrɔhenelandi"
+ },
+ "GD": {
+ "name": "Granadi"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GP": {
+ "name": "Gwadelup"
+ },
+ "GU": {
+ "name": "Gwam"
+ },
+ "GT": {
+ "name": "Gwatemala"
+ },
+ "GY": {
+ "name": "Gwiyana"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HN": {
+ "name": "Hɔndirasi"
+ },
+ "HU": {
+ "name": "Hɔngri"
+ },
+ "IQ": {
+ "name": "Iraki"
+ },
+ "IR": {
+ "name": "Iraŋ"
+ },
+ "IE": {
+ "name": "Irilandi"
+ },
+ "RU": {
+ "name": "Irisi"
+ },
+ "IS": {
+ "name": "Isilandi"
+ },
+ "IL": {
+ "name": "Isirayeli"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IT": {
+ "name": "Itali"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "DJ": {
+ "name": "Jibuti"
+ },
+ "NC": {
+ "name": "Kaledoni Koura"
+ },
+ "KH": {
+ "name": "Kamboji"
+ },
+ "CM": {
+ "name": "Kameruni"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "QA": {
+ "name": "Katari"
+ },
+ "KZ": {
+ "name": "Kazakistaŋ"
+ },
+ "KE": {
+ "name": "Keniya"
+ },
+ "KP": {
+ "name": "Kɛɲɛka Kore"
+ },
+ "MP": {
+ "name": "Kɛɲɛka Mariyani Gun"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "KG": {
+ "name": "Kirigizisitaŋ"
+ },
+ "CI": {
+ "name": "Kodiwari"
+ },
+ "CO": {
+ "name": "Kolombi"
+ },
+ "KM": {
+ "name": "Komɔri"
+ },
+ "CG": {
+ "name": "Kongo"
+ },
+ "CD": {
+ "name": "Kongo ka republiki demɔkratiki"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kowɛti"
+ },
+ "TL": {
+ "name": "Kɔrɔn Timɔr"
+ },
+ "CR": {
+ "name": "Kɔsitarika"
+ },
+ "KN": {
+ "name": "Kristɔfo-Senu-ni-Ɲevɛs"
+ },
+ "HR": {
+ "name": "Kroasi"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "CK": {
+ "name": "Kuki Gun"
+ },
+ "LA": {
+ "name": "Layosi"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LV": {
+ "name": "Letoni"
+ },
+ "LB": {
+ "name": "Libaŋ"
+ },
+ "LR": {
+ "name": "Liberiya"
+ },
+ "LY": {
+ "name": "Libi"
+ },
+ "LU": {
+ "name": "Likisanburu"
+ },
+ "LI": {
+ "name": "Lisɛnsitayini"
+ },
+ "LT": {
+ "name": "Lituyani"
+ },
+ "LC": {
+ "name": "Lusi-Senu"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MK": {
+ "name": "Macedɔni"
+ },
+ "MG": {
+ "name": "Madagasikari"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MV": {
+ "name": "Maldivi"
+ },
+ "MY": {
+ "name": "Malɛzi"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malti"
+ },
+ "FK": {
+ "name": "Maluwini Gun"
+ },
+ "SM": {
+ "name": "Marini-Senu"
+ },
+ "MH": {
+ "name": "Marisali Gun"
+ },
+ "MQ": {
+ "name": "Maritiniki"
+ },
+ "MA": {
+ "name": "Marɔku"
+ },
+ "YT": {
+ "name": "Mayoti"
+ },
+ "MX": {
+ "name": "Meksiki"
+ },
+ "FM": {
+ "name": "Mikironesi"
+ },
+ "MD": {
+ "name": "Molidavi"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MN": {
+ "name": "Moŋoli"
+ },
+ "MS": {
+ "name": "Moŋsera"
+ },
+ "MU": {
+ "name": "Morisi"
+ },
+ "MZ": {
+ "name": "Mozanbiki"
+ },
+ "MR": {
+ "name": "Mɔritani"
+ },
+ "MM": {
+ "name": "Myanimari"
+ },
+ "NA": {
+ "name": "Namibi"
+ },
+ "NR": {
+ "name": "Nawuru"
+ },
+ "NP": {
+ "name": "Nepali"
+ },
+ "NI": {
+ "name": "Nikaragwa"
+ },
+ "NG": {
+ "name": "Nizeriya"
+ },
+ "NE": {
+ "name": "Nizɛri"
+ },
+ "NO": {
+ "name": "Nɔriwɛzi"
+ },
+ "NF": {
+ "name": "Nɔrofoliki Gun"
+ },
+ "NU": {
+ "name": "Nyuwe"
+ },
+ "OM": {
+ "name": "Omaŋ"
+ },
+ "AU": {
+ "name": "Ositirali"
+ },
+ "AT": {
+ "name": "Otirisi"
+ },
+ "PK": {
+ "name": "Pakisitaŋ"
+ },
+ "PW": {
+ "name": "Palawu"
+ },
+ "PS": {
+ "name": "Palesitini"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papuwasi-Gine-Koura"
+ },
+ "PY": {
+ "name": "Paraguwayi"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "NL": {
+ "name": "Peyiba"
+ },
+ "PN": {
+ "name": "Pitikarini"
+ },
+ "PM": {
+ "name": "Piyɛri-Senu-ni-Mikelɔŋ"
+ },
+ "PL": {
+ "name": "Poloɲi"
+ },
+ "PT": {
+ "name": "Pɔritigali"
+ },
+ "PR": {
+ "name": "Pɔrotoriko"
+ },
+ "RE": {
+ "name": "Reyuɲɔŋ"
+ },
+ "RO": {
+ "name": "Rumani"
+ },
+ "RW": {
+ "name": "Ruwanda"
+ },
+ "SV": {
+ "name": "Salivadɔr"
+ },
+ "SB": {
+ "name": "Salomo Gun"
+ },
+ "WS": {
+ "name": "Samowa"
+ },
+ "AS": {
+ "name": "Samowa amerikani"
+ },
+ "CF": {
+ "name": "Santarafiriki"
+ },
+ "ST": {
+ "name": "Sawo Tome-ni-Prinicipe"
+ },
+ "SN": {
+ "name": "Senegali"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Sesɛli"
+ },
+ "SG": {
+ "name": "Sɛngapuri"
+ },
+ "CL": {
+ "name": "Sili"
+ },
+ "CN": {
+ "name": "Siniwajamana"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Siri"
+ },
+ "LK": {
+ "name": "Sirilanka"
+ },
+ "SL": {
+ "name": "Siyera Lewɔni"
+ },
+ "SI": {
+ "name": "Sloveni"
+ },
+ "SK": {
+ "name": "Slowaki"
+ },
+ "SO": {
+ "name": "Somali"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SD": {
+ "name": "Sudaŋ"
+ },
+ "SR": {
+ "name": "Surinami"
+ },
+ "SE": {
+ "name": "Suwɛdi"
+ },
+ "CH": {
+ "name": "Suwisi"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swazilandi"
+ },
+ "TJ": {
+ "name": "Tajikisitani"
+ },
+ "TZ": {
+ "name": "Tanzani"
+ },
+ "TH": {
+ "name": "Tayilandi"
+ },
+ "TW": {
+ "name": "Tayiwani"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelo"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinite-ni-Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunizi"
+ },
+ "TR": {
+ "name": "Turiki"
+ },
+ "TC": {
+ "name": "Turiki Gun ni Kayiki"
+ },
+ "TM": {
+ "name": "Turikimenisitani"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukɛrɛni"
+ },
+ "UY": {
+ "name": "Urugwayi"
+ },
+ "UZ": {
+ "name": "Uzebekisitani"
+ },
+ "VU": {
+ "name": "Vanuwatu"
+ },
+ "VA": {
+ "name": "Vatikaŋ"
+ },
+ "VE": {
+ "name": "Venezuwela"
+ },
+ "VC": {
+ "name": "Vinisɛn-Senu-ni-Grenadini"
+ },
+ "WF": {
+ "name": "Walisi-ni-Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "VN": {
+ "name": "Wiyɛtinamu"
+ },
+ "ZA": {
+ "name": "Worodugu Afriki"
+ },
+ "KR": {
+ "name": "Worodugu Kore"
+ },
+ "YE": {
+ "name": "Yemɛni"
+ },
+ "JM": {
+ "name": "Zamayiki"
+ },
+ "ZM": {
+ "name": "Zanbi"
+ },
+ "JP": {
+ "name": "Zapɔn"
+ },
+ "NZ": {
+ "name": "Zelandi Koura"
+ },
+ "GE": {
+ "name": "Zeyɔrzi"
+ },
+ "GI": {
+ "name": "Zibralitari"
+ },
+ "ZW": {
+ "name": "Zimbabuwe"
+ },
+ "JO": {
+ "name": "Zɔrdani"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/bn-IN.json b/vendor/commerceguys/intl/resources/country/bn-IN.json
new file mode 100644
index 000000000..08ebd7381
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/bn-IN.json
@@ -0,0 +1,761 @@
+{
+ "AT": {
+ "name": "অস্ট্রিয়া"
+ },
+ "AU": {
+ "name": "অস্ট্রেলিয়া"
+ },
+ "AO": {
+ "name": "অ্যাঙ্গোলা"
+ },
+ "AQ": {
+ "name": "অ্যান্টার্কটিকা"
+ },
+ "AC": {
+ "name": "অ্যাসসেনশন আইল্যান্ড"
+ },
+ "CI": {
+ "name": "আইভরি কোস্ট"
+ },
+ "IM": {
+ "name": "আইল অফ ম্যান"
+ },
+ "IS": {
+ "name": "আইসল্যান্ড"
+ },
+ "AZ": {
+ "name": "আজারবাইজান"
+ },
+ "AD": {
+ "name": "আন্ডোরা"
+ },
+ "AF": {
+ "name": "আফগানিস্তান"
+ },
+ "AS": {
+ "name": "আমেরিকান সামোয়া"
+ },
+ "IE": {
+ "name": "আয়ারল্যান্ড"
+ },
+ "AW": {
+ "name": "আরুবা"
+ },
+ "AR": {
+ "name": "আর্জেন্টিনা"
+ },
+ "AM": {
+ "name": "আর্মেনিয়া"
+ },
+ "DZ": {
+ "name": "আলজেরিয়া"
+ },
+ "AL": {
+ "name": "আলবেনিয়া"
+ },
+ "AX": {
+ "name": "আলান্ড দ্বীপপুঞ্জ"
+ },
+ "UA": {
+ "name": "ইউক্রেন"
+ },
+ "EC": {
+ "name": "ইকুয়েডর"
+ },
+ "IL": {
+ "name": "ইজরায়েল"
+ },
+ "IT": {
+ "name": "ইতালি"
+ },
+ "ID": {
+ "name": "ইন্দোনেশিয়া"
+ },
+ "ET": {
+ "name": "ইফিওপিয়া"
+ },
+ "YE": {
+ "name": "ইয়েমেন"
+ },
+ "IQ": {
+ "name": "ইরাক"
+ },
+ "IR": {
+ "name": "ইরান"
+ },
+ "ER": {
+ "name": "ইরিত্রিয়া"
+ },
+ "UG": {
+ "name": "উগান্ডা"
+ },
+ "UZ": {
+ "name": "উজবেকিস্তান"
+ },
+ "KP": {
+ "name": "উত্তর কোরিয়া"
+ },
+ "MP": {
+ "name": "উত্তরাঞ্চলীয় মারিয়ানা দ্বীপপুঞ্জ"
+ },
+ "UY": {
+ "name": "উরুগুয়ে"
+ },
+ "AG": {
+ "name": "এন্টিগুয়া ও বারবুডা"
+ },
+ "SV": {
+ "name": "এল সালভেদর"
+ },
+ "EE": {
+ "name": "এস্তোনিয়া"
+ },
+ "AI": {
+ "name": "এ্যাঙ্গুইলা"
+ },
+ "OM": {
+ "name": "ওমান"
+ },
+ "WF": {
+ "name": "ওয়ালিস ও ফুটুনা"
+ },
+ "CG": {
+ "name": "কঙ্গো - ব্রাজাভিল"
+ },
+ "CD": {
+ "name": "কঙ্গো-কিনশাসা"
+ },
+ "KM": {
+ "name": "কমোরোস"
+ },
+ "KH": {
+ "name": "কম্বোডিয়া"
+ },
+ "CO": {
+ "name": "কলম্বিয়া"
+ },
+ "XK": {
+ "name": "কসোভো"
+ },
+ "KZ": {
+ "name": "কাজাখস্তান"
+ },
+ "QA": {
+ "name": "কাতার"
+ },
+ "CA": {
+ "name": "কানাডা"
+ },
+ "CU": {
+ "name": "কিউবা"
+ },
+ "CW": {
+ "name": "কিউরাসাও"
+ },
+ "KG": {
+ "name": "কিরগিজিস্তান"
+ },
+ "KI": {
+ "name": "কিরিবাতি"
+ },
+ "EA": {
+ "name": "কুউটা এবং মেলিলা"
+ },
+ "CK": {
+ "name": "কুক দ্বীপপুঞ্জ"
+ },
+ "KW": {
+ "name": "কুয়েত"
+ },
+ "KE": {
+ "name": "কেনিয়া"
+ },
+ "CV": {
+ "name": "কেপভার্দে"
+ },
+ "KY": {
+ "name": "কেম্যান দ্বীপপুঞ্জ"
+ },
+ "CC": {
+ "name": "কোকোস (কিলিং) দ্বীপপুঞ্জ"
+ },
+ "CR": {
+ "name": "কোস্টারিকা"
+ },
+ "IC": {
+ "name": "ক্যানারি দ্বীপপুঞ্জ"
+ },
+ "CM": {
+ "name": "ক্যামেরুন"
+ },
+ "BQ": {
+ "name": "ক্যারিবিয়ান নেদারল্যান্ডস"
+ },
+ "CX": {
+ "name": "ক্রিসমাস দ্বীপ"
+ },
+ "HR": {
+ "name": "ক্রোয়েশিয়া"
+ },
+ "GM": {
+ "name": "গাম্বিয়া"
+ },
+ "GN": {
+ "name": "গিনি"
+ },
+ "GW": {
+ "name": "গিনি-বিসাউ"
+ },
+ "GY": {
+ "name": "গিয়ানা"
+ },
+ "GT": {
+ "name": "গুয়াতেমালা"
+ },
+ "GP": {
+ "name": "গুয়াদেলৌপ"
+ },
+ "GU": {
+ "name": "গুয়াম"
+ },
+ "GA": {
+ "name": "গ্যাবন"
+ },
+ "GG": {
+ "name": "গ্রাঞ্জি"
+ },
+ "GL": {
+ "name": "গ্রীনল্যান্ড"
+ },
+ "GR": {
+ "name": "গ্রীস"
+ },
+ "GD": {
+ "name": "গ্রেনাডা"
+ },
+ "GH": {
+ "name": "ঘানা"
+ },
+ "TD": {
+ "name": "চাদ"
+ },
+ "CL": {
+ "name": "চিলি"
+ },
+ "CN": {
+ "name": "চীন"
+ },
+ "CZ": {
+ "name": "চেক প্রজাতন্ত্র"
+ },
+ "GE": {
+ "name": "জর্জিয়া"
+ },
+ "JO": {
+ "name": "জর্ডন"
+ },
+ "JP": {
+ "name": "জাপান"
+ },
+ "JM": {
+ "name": "জামাইকা"
+ },
+ "ZM": {
+ "name": "জাম্বিয়া"
+ },
+ "DE": {
+ "name": "জার্মানি"
+ },
+ "JE": {
+ "name": "জার্সি"
+ },
+ "DJ": {
+ "name": "জিবুতি"
+ },
+ "GI": {
+ "name": "জিব্রাল্টার"
+ },
+ "ZW": {
+ "name": "জিম্বাবোয়ে"
+ },
+ "TV": {
+ "name": "টুভালু"
+ },
+ "TK": {
+ "name": "টোকেলাউ"
+ },
+ "TG": {
+ "name": "টোগো"
+ },
+ "TO": {
+ "name": "টোঙ্গা"
+ },
+ "TA": {
+ "name": "ট্রিস্টান ডা কুনহা"
+ },
+ "DK": {
+ "name": "ডেনমার্ক"
+ },
+ "DM": {
+ "name": "ডোমিনিকা"
+ },
+ "DO": {
+ "name": "ডোমেনিকান প্রজাতন্ত্র"
+ },
+ "TW": {
+ "name": "তাইওয়ান"
+ },
+ "TJ": {
+ "name": "তাজিকস্থান"
+ },
+ "TZ": {
+ "name": "তাঞ্জানিয়া"
+ },
+ "TN": {
+ "name": "তিউনিসিয়া"
+ },
+ "TL": {
+ "name": "তিমুর-লেস্তে"
+ },
+ "TR": {
+ "name": "তুরস্ক"
+ },
+ "TM": {
+ "name": "তুর্কমেনিস্তান"
+ },
+ "TC": {
+ "name": "তুর্কস ও কাইকোস দ্বীপপুঞ্জ"
+ },
+ "TT": {
+ "name": "ত্রিনিনাদ ও টোব্যাগো"
+ },
+ "TH": {
+ "name": "থাইল্যান্ড"
+ },
+ "ZA": {
+ "name": "দক্ষিণ আফ্রিকা"
+ },
+ "KR": {
+ "name": "দক্ষিণ কোরিয়া"
+ },
+ "GS": {
+ "name": "দক্ষিণ জর্জিয়া ও দক্ষিণ স্যান্ডউইচ দ্বীপপুঞ্জ"
+ },
+ "SS": {
+ "name": "দক্ষিণ সুদান"
+ },
+ "DG": {
+ "name": "দিয়েগো গার্সিয়া"
+ },
+ "NO": {
+ "name": "নরওয়ে"
+ },
+ "NE": {
+ "name": "নাইজার"
+ },
+ "NG": {
+ "name": "নাইজেরিয়া"
+ },
+ "NR": {
+ "name": "নাউরু"
+ },
+ "NA": {
+ "name": "নামিবিয়া"
+ },
+ "NC": {
+ "name": "নিউ ক্যালেডোনিয়া"
+ },
+ "NZ": {
+ "name": "নিউজিল্যান্ড"
+ },
+ "NU": {
+ "name": "নিউয়ে"
+ },
+ "NI": {
+ "name": "নিকারাগুয়া"
+ },
+ "GQ": {
+ "name": "নিরক্ষীয় গিনি"
+ },
+ "NF": {
+ "name": "নিরফোক দ্বীপ"
+ },
+ "NL": {
+ "name": "নেদারল্যান্ডস"
+ },
+ "NP": {
+ "name": "নেপাল"
+ },
+ "PT": {
+ "name": "পর্তুগাল"
+ },
+ "EH": {
+ "name": "পশ্চিম সাহারা"
+ },
+ "PK": {
+ "name": "পাকিস্তান"
+ },
+ "PA": {
+ "name": "পানামা"
+ },
+ "PG": {
+ "name": "পাপুয়া নিউ গিনি"
+ },
+ "PW": {
+ "name": "পালাউ"
+ },
+ "PN": {
+ "name": "পিটকেয়ার্ন দ্বীপপুঞ্জ"
+ },
+ "PR": {
+ "name": "পুয়ের্তো রিকো"
+ },
+ "PE": {
+ "name": "পেরু"
+ },
+ "PL": {
+ "name": "পোল্যান্ড"
+ },
+ "PY": {
+ "name": "প্যারাগুয়ে"
+ },
+ "FK": {
+ "name": "ফকল্যান্ড দ্বীপপুঞ্জ"
+ },
+ "GF": {
+ "name": "ফরাসী গায়ানা"
+ },
+ "TF": {
+ "name": "ফরাসী দক্ষিণাঞ্চল"
+ },
+ "PF": {
+ "name": "ফরাসী পলিনেশিয়া"
+ },
+ "FJ": {
+ "name": "ফিজি"
+ },
+ "FI": {
+ "name": "ফিনল্যান্ড"
+ },
+ "PH": {
+ "name": "ফিলিপাইন"
+ },
+ "PS": {
+ "name": "ফিলিস্তিন অঞ্চলসমূহ"
+ },
+ "FO": {
+ "name": "ফ্যারও দ্বীপপুঞ্জ"
+ },
+ "FR": {
+ "name": "ফ্রান্স"
+ },
+ "BW": {
+ "name": "বতসোয়ানা"
+ },
+ "BO": {
+ "name": "বলিভিয়া"
+ },
+ "BA": {
+ "name": "বসনিয়া ও হার্জেগোভিনা"
+ },
+ "BD": {
+ "name": "বাংলাদেশ"
+ },
+ "BB": {
+ "name": "বারবাদোস"
+ },
+ "BM": {
+ "name": "বারমুডা"
+ },
+ "BH": {
+ "name": "বাহরাইন"
+ },
+ "BS": {
+ "name": "বাহামা দ্বীপপুঞ্জ"
+ },
+ "BF": {
+ "name": "বুরকিনা ফাসো"
+ },
+ "BI": {
+ "name": "বুরুন্ডি"
+ },
+ "BG": {
+ "name": "বুলগেরিয়া"
+ },
+ "BJ": {
+ "name": "বেনিন"
+ },
+ "BE": {
+ "name": "বেলজিয়াম"
+ },
+ "BY": {
+ "name": "বেলারুশ"
+ },
+ "BZ": {
+ "name": "বেলিজ"
+ },
+ "BR": {
+ "name": "ব্রাজিল"
+ },
+ "IO": {
+ "name": "ব্রিটিশ ভারত মহাসাগরীয় অঞ্চল"
+ },
+ "VG": {
+ "name": "ব্রিটিশ ভার্জিন দ্বীপপুঞ্জ"
+ },
+ "BN": {
+ "name": "ব্রুনেই"
+ },
+ "VU": {
+ "name": "ভানুয়াটু"
+ },
+ "IN": {
+ "name": "ভারত"
+ },
+ "VN": {
+ "name": "ভিয়েতনাম"
+ },
+ "BT": {
+ "name": "ভুটান"
+ },
+ "VE": {
+ "name": "ভেনেজুয়েলা"
+ },
+ "VA": {
+ "name": "ভ্যাটিকান সিটি"
+ },
+ "MN": {
+ "name": "মঙ্গোলিয়া"
+ },
+ "CF": {
+ "name": "মধ্য আফ্রিকার প্রজাতন্ত্র"
+ },
+ "MS": {
+ "name": "মন্টসেরাট"
+ },
+ "ME": {
+ "name": "মন্টিনিগ্রো"
+ },
+ "MR": {
+ "name": "মরিতানিয়া"
+ },
+ "MU": {
+ "name": "মরিশাস"
+ },
+ "MD": {
+ "name": "মলডোভা"
+ },
+ "FM": {
+ "name": "মাইক্রোনেশিয়া"
+ },
+ "MG": {
+ "name": "মাদাগাস্কার"
+ },
+ "MM": {
+ "name": "মায়ানমার (বার্মা)"
+ },
+ "YT": {
+ "name": "মায়োত্তে"
+ },
+ "US": {
+ "name": "মার্কিন যুক্তরাষ্ট্র"
+ },
+ "UM": {
+ "name": "মার্কিন যুক্তরাষ্ট্রের পার্শ্ববর্তী দ্বীপপুঞ্জ"
+ },
+ "VI": {
+ "name": "মার্কিন যুক্তরাষ্ট্রের ভার্জিন দ্বীপপুঞ্জ"
+ },
+ "MQ": {
+ "name": "মার্টিনিক"
+ },
+ "MH": {
+ "name": "মার্শাল দ্বীপপুঞ্জ"
+ },
+ "MV": {
+ "name": "মালদ্বীপ"
+ },
+ "MY": {
+ "name": "মালয়েশিয়া"
+ },
+ "MW": {
+ "name": "মালাউই"
+ },
+ "ML": {
+ "name": "মালি"
+ },
+ "MT": {
+ "name": "মাল্টা"
+ },
+ "EG": {
+ "name": "মিশর"
+ },
+ "MX": {
+ "name": "মেক্সিকো"
+ },
+ "MZ": {
+ "name": "মোজাম্বিক"
+ },
+ "MC": {
+ "name": "মোনাকো"
+ },
+ "MA": {
+ "name": "মোরক্কো"
+ },
+ "MO": {
+ "name": "ম্যাকাও এসএআর চীনা"
+ },
+ "MK": {
+ "name": "ম্যাসাডোনিয়া"
+ },
+ "GB": {
+ "name": "যুক্তরাজ্য"
+ },
+ "RU": {
+ "name": "রাশিয়া"
+ },
+ "RE": {
+ "name": "রিইউনিয়ন"
+ },
+ "RW": {
+ "name": "রুয়ান্ডা"
+ },
+ "RO": {
+ "name": "রোমানিয়া"
+ },
+ "LR": {
+ "name": "লাইবেরিয়া"
+ },
+ "LA": {
+ "name": "লাওস"
+ },
+ "LU": {
+ "name": "লাক্সেমবার্গ"
+ },
+ "LV": {
+ "name": "লাত্ভিয়া"
+ },
+ "LI": {
+ "name": "লিচেনস্টেইন"
+ },
+ "LT": {
+ "name": "লিথুয়ানিয়া"
+ },
+ "LY": {
+ "name": "লিবিয়া"
+ },
+ "LB": {
+ "name": "লেবানন"
+ },
+ "LS": {
+ "name": "লেসোথো"
+ },
+ "LK": {
+ "name": "শ্রীলঙ্কা"
+ },
+ "AE": {
+ "name": "সংযুক্ত আরব আমিরাত"
+ },
+ "SB": {
+ "name": "সলোমন দ্বীপপুঞ্জ"
+ },
+ "CY": {
+ "name": "সাইপ্রাস"
+ },
+ "ST": {
+ "name": "সাওটোমা ও প্রিন্সিপি"
+ },
+ "SM": {
+ "name": "সান মারিনো"
+ },
+ "WS": {
+ "name": "সামোয়া"
+ },
+ "RS": {
+ "name": "সার্বিয়া"
+ },
+ "SG": {
+ "name": "সিঙ্গাপুর"
+ },
+ "SX": {
+ "name": "সিন্ট মার্টেন"
+ },
+ "SL": {
+ "name": "সিয়েরালিওন"
+ },
+ "SY": {
+ "name": "সিরিয়া"
+ },
+ "SC": {
+ "name": "সিসিলি"
+ },
+ "CH": {
+ "name": "সুইজারল্যান্ড"
+ },
+ "SE": {
+ "name": "সুইডেন"
+ },
+ "SD": {
+ "name": "সুদান"
+ },
+ "SR": {
+ "name": "সুরিনাম"
+ },
+ "SN": {
+ "name": "সেনেগাল"
+ },
+ "KN": {
+ "name": "সেন্ট কিটস ও নেভিস"
+ },
+ "PM": {
+ "name": "সেন্ট পিয়ের ও মিকুয়েলন"
+ },
+ "BL": {
+ "name": "সেন্ট বারথেলিমি"
+ },
+ "VC": {
+ "name": "সেন্ট ভিনসেন্ট ও দ্যা গ্রেনাডিনস"
+ },
+ "MF": {
+ "name": "সেন্ট মার্টিন"
+ },
+ "LC": {
+ "name": "সেন্ট লুসিয়া"
+ },
+ "SH": {
+ "name": "সেন্ট হেলেনা"
+ },
+ "SO": {
+ "name": "সোমালিয়া"
+ },
+ "SZ": {
+ "name": "সোয়াজিল্যান্ড"
+ },
+ "SA": {
+ "name": "সৌদি আরব"
+ },
+ "ES": {
+ "name": "স্পেন"
+ },
+ "SJ": {
+ "name": "স্বালবার্ড ও জান মেয়েন"
+ },
+ "SK": {
+ "name": "স্লোভাকিয়া"
+ },
+ "SI": {
+ "name": "স্লোভানিয়া"
+ },
+ "HK": {
+ "name": "হংকং এসএআর চীনা"
+ },
+ "HN": {
+ "name": "হন্ডুরাস"
+ },
+ "HT": {
+ "name": "হাইতি"
+ },
+ "HU": {
+ "name": "হাঙ্গেরি"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/bn.json b/vendor/commerceguys/intl/resources/country/bn.json
new file mode 100644
index 000000000..93c312ed8
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/bn.json
@@ -0,0 +1,761 @@
+{
+ "AT": {
+ "name": "অস্ট্রিয়া"
+ },
+ "AU": {
+ "name": "অস্ট্রেলিয়া"
+ },
+ "AO": {
+ "name": "অ্যাঙ্গোলা"
+ },
+ "AQ": {
+ "name": "অ্যান্টার্কটিকা"
+ },
+ "AC": {
+ "name": "অ্যাসসেনশন আইল্যান্ড"
+ },
+ "CI": {
+ "name": "আইভরি কোস্ট"
+ },
+ "IM": {
+ "name": "আইল অফ ম্যান"
+ },
+ "IS": {
+ "name": "আইসল্যান্ড"
+ },
+ "AZ": {
+ "name": "আজারবাইজান"
+ },
+ "AD": {
+ "name": "আন্ডোরা"
+ },
+ "AF": {
+ "name": "আফগানিস্তান"
+ },
+ "AS": {
+ "name": "আমেরিকান সামোয়া"
+ },
+ "IE": {
+ "name": "আয়ারল্যান্ড"
+ },
+ "AW": {
+ "name": "আরুবা"
+ },
+ "AR": {
+ "name": "আর্জেন্টিনা"
+ },
+ "AM": {
+ "name": "আর্মেনিয়া"
+ },
+ "DZ": {
+ "name": "আলজেরিয়া"
+ },
+ "AL": {
+ "name": "আলবেনিয়া"
+ },
+ "AX": {
+ "name": "আলান্ড দ্বীপপুঞ্জ"
+ },
+ "UA": {
+ "name": "ইউক্রেন"
+ },
+ "EC": {
+ "name": "ইকুয়েডর"
+ },
+ "IL": {
+ "name": "ইজরায়েল"
+ },
+ "IT": {
+ "name": "ইতালি"
+ },
+ "ID": {
+ "name": "ইন্দোনেশিয়া"
+ },
+ "ET": {
+ "name": "ইফিওপিয়া"
+ },
+ "YE": {
+ "name": "ইয়েমেন"
+ },
+ "IQ": {
+ "name": "ইরাক"
+ },
+ "IR": {
+ "name": "ইরান"
+ },
+ "ER": {
+ "name": "ইরিত্রিয়া"
+ },
+ "UG": {
+ "name": "উগান্ডা"
+ },
+ "UZ": {
+ "name": "উজবেকিস্তান"
+ },
+ "KP": {
+ "name": "উত্তর কোরিয়া"
+ },
+ "MP": {
+ "name": "উত্তরাঞ্চলীয় মারিয়ানা দ্বীপপুঞ্জ"
+ },
+ "UY": {
+ "name": "উরুগুয়ে"
+ },
+ "AG": {
+ "name": "এন্টিগুয়া ও বারবুডা"
+ },
+ "SV": {
+ "name": "এল সালভেদর"
+ },
+ "EE": {
+ "name": "এস্তোনিয়া"
+ },
+ "AI": {
+ "name": "এ্যাঙ্গুইলা"
+ },
+ "OM": {
+ "name": "ওমান"
+ },
+ "WF": {
+ "name": "ওয়ালিস ও ফুটুনা"
+ },
+ "CG": {
+ "name": "কঙ্গো - ব্রাজাভিল"
+ },
+ "CD": {
+ "name": "কঙ্গো-কিনশাসা"
+ },
+ "KM": {
+ "name": "কমোরোস"
+ },
+ "KH": {
+ "name": "কম্বোডিয়া"
+ },
+ "CO": {
+ "name": "কলম্বিয়া"
+ },
+ "XK": {
+ "name": "কসোভো"
+ },
+ "KZ": {
+ "name": "কাজাখস্তান"
+ },
+ "QA": {
+ "name": "কাতার"
+ },
+ "CA": {
+ "name": "কানাডা"
+ },
+ "CU": {
+ "name": "কিউবা"
+ },
+ "CW": {
+ "name": "কিউরাসাও"
+ },
+ "KG": {
+ "name": "কিরগিজিস্তান"
+ },
+ "KI": {
+ "name": "কিরিবাতি"
+ },
+ "EA": {
+ "name": "কুউটা এবং মেলিলা"
+ },
+ "CK": {
+ "name": "কুক দ্বীপপুঞ্জ"
+ },
+ "KW": {
+ "name": "কুয়েত"
+ },
+ "KE": {
+ "name": "কেনিয়া"
+ },
+ "CV": {
+ "name": "কেপভার্দে"
+ },
+ "KY": {
+ "name": "কেম্যান দ্বীপপুঞ্জ"
+ },
+ "CC": {
+ "name": "কোকোস (কিলিং) দ্বীপপুঞ্জ"
+ },
+ "CR": {
+ "name": "কোস্টারিকা"
+ },
+ "IC": {
+ "name": "ক্যানারি দ্বীপপুঞ্জ"
+ },
+ "CM": {
+ "name": "ক্যামেরুন"
+ },
+ "BQ": {
+ "name": "ক্যারিবিয়ান নেদারল্যান্ডস"
+ },
+ "CX": {
+ "name": "ক্রিসমাস দ্বীপ"
+ },
+ "HR": {
+ "name": "ক্রোয়েশিয়া"
+ },
+ "GM": {
+ "name": "গাম্বিয়া"
+ },
+ "GN": {
+ "name": "গিনি"
+ },
+ "GW": {
+ "name": "গিনি-বিসাউ"
+ },
+ "GY": {
+ "name": "গিয়ানা"
+ },
+ "GT": {
+ "name": "গুয়াতেমালা"
+ },
+ "GP": {
+ "name": "গুয়াদেলৌপ"
+ },
+ "GU": {
+ "name": "গুয়াম"
+ },
+ "GA": {
+ "name": "গ্যাবন"
+ },
+ "GG": {
+ "name": "গ্রাঞ্জি"
+ },
+ "GL": {
+ "name": "গ্রীনল্যান্ড"
+ },
+ "GR": {
+ "name": "গ্রীস"
+ },
+ "GD": {
+ "name": "গ্রেনাডা"
+ },
+ "GH": {
+ "name": "ঘানা"
+ },
+ "TD": {
+ "name": "চাদ"
+ },
+ "CL": {
+ "name": "চিলি"
+ },
+ "CN": {
+ "name": "চীন"
+ },
+ "CZ": {
+ "name": "চেক প্রজাতন্ত্র"
+ },
+ "GE": {
+ "name": "জর্জিয়া"
+ },
+ "JO": {
+ "name": "জর্ডন"
+ },
+ "JP": {
+ "name": "জাপান"
+ },
+ "JM": {
+ "name": "জামাইকা"
+ },
+ "ZM": {
+ "name": "জাম্বিয়া"
+ },
+ "DE": {
+ "name": "জার্মানি"
+ },
+ "JE": {
+ "name": "জার্সি"
+ },
+ "DJ": {
+ "name": "জিবুতি"
+ },
+ "GI": {
+ "name": "জিব্রাল্টার"
+ },
+ "ZW": {
+ "name": "জিম্বাবোয়ে"
+ },
+ "TV": {
+ "name": "টুভালু"
+ },
+ "TK": {
+ "name": "টোকেলাউ"
+ },
+ "TG": {
+ "name": "টোগো"
+ },
+ "TO": {
+ "name": "টোঙ্গা"
+ },
+ "TA": {
+ "name": "ট্রিস্টান ডা কুনহা"
+ },
+ "DK": {
+ "name": "ডেনমার্ক"
+ },
+ "DM": {
+ "name": "ডোমিনিকা"
+ },
+ "DO": {
+ "name": "ডোমেনিকান প্রজাতন্ত্র"
+ },
+ "TW": {
+ "name": "তাইওয়ান"
+ },
+ "TJ": {
+ "name": "তাজিকস্থান"
+ },
+ "TZ": {
+ "name": "তাঞ্জানিয়া"
+ },
+ "TN": {
+ "name": "তিউনিসিয়া"
+ },
+ "TL": {
+ "name": "তিমুর-লেস্তে"
+ },
+ "TR": {
+ "name": "তুরস্ক"
+ },
+ "TM": {
+ "name": "তুর্কমেনিস্তান"
+ },
+ "TC": {
+ "name": "তুর্কস ও কাইকোস দ্বীপপুঞ্জ"
+ },
+ "TT": {
+ "name": "ত্রিনিনাদ ও টোব্যাগো"
+ },
+ "TH": {
+ "name": "থাইল্যান্ড"
+ },
+ "ZA": {
+ "name": "দক্ষিণ আফ্রিকা"
+ },
+ "KR": {
+ "name": "দক্ষিণ কোরিয়া"
+ },
+ "GS": {
+ "name": "দক্ষিণ জর্জিয়া ও দক্ষিণ স্যান্ডউইচ দ্বীপপুঞ্জ"
+ },
+ "SS": {
+ "name": "দক্ষিণ সুদান"
+ },
+ "DG": {
+ "name": "দিয়েগো গার্সিয়া"
+ },
+ "NO": {
+ "name": "নরওয়ে"
+ },
+ "NE": {
+ "name": "নাইজার"
+ },
+ "NG": {
+ "name": "নাইজেরিয়া"
+ },
+ "NR": {
+ "name": "নাউরু"
+ },
+ "NA": {
+ "name": "নামিবিয়া"
+ },
+ "NC": {
+ "name": "নিউ ক্যালেডোনিয়া"
+ },
+ "NZ": {
+ "name": "নিউজিল্যান্ড"
+ },
+ "NU": {
+ "name": "নিউয়ে"
+ },
+ "NI": {
+ "name": "নিকারাগুয়া"
+ },
+ "GQ": {
+ "name": "নিরক্ষীয় গিনি"
+ },
+ "NF": {
+ "name": "নিরফোক দ্বীপ"
+ },
+ "NL": {
+ "name": "নেদারল্যান্ডস"
+ },
+ "NP": {
+ "name": "নেপাল"
+ },
+ "PT": {
+ "name": "পর্তুগাল"
+ },
+ "EH": {
+ "name": "পশ্চিম সাহারা"
+ },
+ "PK": {
+ "name": "পাকিস্তান"
+ },
+ "PA": {
+ "name": "পানামা"
+ },
+ "PG": {
+ "name": "পাপুয়া নিউ গিনি"
+ },
+ "PW": {
+ "name": "পালাউ"
+ },
+ "PN": {
+ "name": "পিটকেয়ার্ন দ্বীপপুঞ্জ"
+ },
+ "PR": {
+ "name": "পুয়ের্তো রিকো"
+ },
+ "PE": {
+ "name": "পেরু"
+ },
+ "PL": {
+ "name": "পোল্যান্ড"
+ },
+ "PY": {
+ "name": "প্যারাগুয়ে"
+ },
+ "FK": {
+ "name": "ফকল্যান্ড দ্বীপপুঞ্জ"
+ },
+ "GF": {
+ "name": "ফরাসী গায়ানা"
+ },
+ "TF": {
+ "name": "ফরাসী দক্ষিণাঞ্চল"
+ },
+ "PF": {
+ "name": "ফরাসী পলিনেশিয়া"
+ },
+ "FJ": {
+ "name": "ফিজি"
+ },
+ "FI": {
+ "name": "ফিনল্যান্ড"
+ },
+ "PH": {
+ "name": "ফিলিপাইন"
+ },
+ "PS": {
+ "name": "ফিলিস্তিন অঞ্চলসমূহ"
+ },
+ "FO": {
+ "name": "ফ্যারও দ্বীপপুঞ্জ"
+ },
+ "FR": {
+ "name": "ফ্রান্স"
+ },
+ "BW": {
+ "name": "বতসোয়ানা"
+ },
+ "BO": {
+ "name": "বলিভিয়া"
+ },
+ "BA": {
+ "name": "বসনিয়া ও হার্জেগোভিনা"
+ },
+ "BD": {
+ "name": "বাংলাদেশ"
+ },
+ "BB": {
+ "name": "বারবাদোস"
+ },
+ "BM": {
+ "name": "বারমুডা"
+ },
+ "BH": {
+ "name": "বাহরাইন"
+ },
+ "BS": {
+ "name": "বাহামা দ্বীপপুঞ্জ"
+ },
+ "BF": {
+ "name": "বুরকিনা ফাসো"
+ },
+ "BI": {
+ "name": "বুরুন্ডি"
+ },
+ "BG": {
+ "name": "বুলগেরিয়া"
+ },
+ "BJ": {
+ "name": "বেনিন"
+ },
+ "BE": {
+ "name": "বেলজিয়াম"
+ },
+ "BY": {
+ "name": "বেলারুশ"
+ },
+ "BZ": {
+ "name": "বেলিজ"
+ },
+ "BR": {
+ "name": "ব্রাজিল"
+ },
+ "IO": {
+ "name": "ব্রিটিশ ভারত মহাসাগরীয় অঞ্চল"
+ },
+ "VG": {
+ "name": "ব্রিটিশ ভার্জিন দ্বীপপুঞ্জ"
+ },
+ "BN": {
+ "name": "ব্রুনেই"
+ },
+ "VU": {
+ "name": "ভানুয়াটু"
+ },
+ "IN": {
+ "name": "ভারত"
+ },
+ "VN": {
+ "name": "ভিয়েতনাম"
+ },
+ "BT": {
+ "name": "ভুটান"
+ },
+ "VE": {
+ "name": "ভেনেজুয়েলা"
+ },
+ "VA": {
+ "name": "ভ্যাটিকান সিটি"
+ },
+ "MN": {
+ "name": "মঙ্গোলিয়া"
+ },
+ "CF": {
+ "name": "মধ্য আফ্রিকার প্রজাতন্ত্র"
+ },
+ "MS": {
+ "name": "মন্টসেরাট"
+ },
+ "ME": {
+ "name": "মন্টিনিগ্রো"
+ },
+ "MR": {
+ "name": "মরিতানিয়া"
+ },
+ "MU": {
+ "name": "মরিশাস"
+ },
+ "FM": {
+ "name": "মাইক্রোনেশিয়া"
+ },
+ "MG": {
+ "name": "মাদাগাস্কার"
+ },
+ "MM": {
+ "name": "মায়ানমার (বার্মা)"
+ },
+ "YT": {
+ "name": "মায়োত্তে"
+ },
+ "US": {
+ "name": "মার্কিন যুক্তরাষ্ট্র"
+ },
+ "VI": {
+ "name": "মার্কিন যুক্তরাষ্ট্রের ভার্জিন দ্বীপপুঞ্জ"
+ },
+ "MQ": {
+ "name": "মার্টিনিক"
+ },
+ "MH": {
+ "name": "মার্শাল দ্বীপপুঞ্জ"
+ },
+ "MV": {
+ "name": "মালদ্বীপ"
+ },
+ "MY": {
+ "name": "মালয়েশিয়া"
+ },
+ "MW": {
+ "name": "মালাউই"
+ },
+ "ML": {
+ "name": "মালি"
+ },
+ "MT": {
+ "name": "মাল্টা"
+ },
+ "EG": {
+ "name": "মিশর"
+ },
+ "MX": {
+ "name": "মেক্সিকো"
+ },
+ "MZ": {
+ "name": "মোজাম্বিক"
+ },
+ "MC": {
+ "name": "মোনাকো"
+ },
+ "MA": {
+ "name": "মোরক্কো"
+ },
+ "MD": {
+ "name": "মোল্দাভিয়া"
+ },
+ "MO": {
+ "name": "ম্যাকাও এসএআর চীনা"
+ },
+ "MK": {
+ "name": "ম্যাসাডোনিয়া"
+ },
+ "GB": {
+ "name": "যুক্তরাজ্য"
+ },
+ "UM": {
+ "name": "যুক্তরাষ্ট্রের পার্শ্ববর্তী দ্বীপপুঞ্জ"
+ },
+ "RU": {
+ "name": "রাশিয়া"
+ },
+ "RE": {
+ "name": "রিইউনিয়ন"
+ },
+ "RW": {
+ "name": "রুয়ান্ডা"
+ },
+ "RO": {
+ "name": "রোমানিয়া"
+ },
+ "LR": {
+ "name": "লাইবেরিয়া"
+ },
+ "LA": {
+ "name": "লাওস"
+ },
+ "LU": {
+ "name": "লাক্সেমবার্গ"
+ },
+ "LV": {
+ "name": "লাত্ভিয়া"
+ },
+ "LI": {
+ "name": "লিচেনস্টেইন"
+ },
+ "LT": {
+ "name": "লিথুয়ানিয়া"
+ },
+ "LY": {
+ "name": "লিবিয়া"
+ },
+ "LB": {
+ "name": "লেবানন"
+ },
+ "LS": {
+ "name": "লেসোথো"
+ },
+ "LK": {
+ "name": "শ্রীলঙ্কা"
+ },
+ "AE": {
+ "name": "সংযুক্ত আরব আমিরাত"
+ },
+ "SB": {
+ "name": "সলোমন দ্বীপপুঞ্জ"
+ },
+ "CY": {
+ "name": "সাইপ্রাস"
+ },
+ "ST": {
+ "name": "সাওটোমা ও প্রিন্সিপি"
+ },
+ "SM": {
+ "name": "সান মারিনো"
+ },
+ "WS": {
+ "name": "সামোয়া"
+ },
+ "RS": {
+ "name": "সার্বিয়া"
+ },
+ "SG": {
+ "name": "সিঙ্গাপুর"
+ },
+ "SX": {
+ "name": "সিন্ট মার্টেন"
+ },
+ "SL": {
+ "name": "সিয়েরালিওন"
+ },
+ "SY": {
+ "name": "সিরিয়া"
+ },
+ "SC": {
+ "name": "সিসিলি"
+ },
+ "CH": {
+ "name": "সুইজারল্যান্ড"
+ },
+ "SE": {
+ "name": "সুইডেন"
+ },
+ "SD": {
+ "name": "সুদান"
+ },
+ "SR": {
+ "name": "সুরিনাম"
+ },
+ "SN": {
+ "name": "সেনেগাল"
+ },
+ "KN": {
+ "name": "সেন্ট কিটস ও নেভিস"
+ },
+ "PM": {
+ "name": "সেন্ট পিয়ের ও মিকুয়েলন"
+ },
+ "BL": {
+ "name": "সেন্ট বারথেলিমি"
+ },
+ "VC": {
+ "name": "সেন্ট ভিনসেন্ট ও দ্যা গ্রেনাডিনস"
+ },
+ "MF": {
+ "name": "সেন্ট মার্টিন"
+ },
+ "LC": {
+ "name": "সেন্ট লুসিয়া"
+ },
+ "SH": {
+ "name": "সেন্ট হেলেনা"
+ },
+ "SO": {
+ "name": "সোমালিয়া"
+ },
+ "SZ": {
+ "name": "সোয়াজিল্যান্ড"
+ },
+ "SA": {
+ "name": "সৌদি আরব"
+ },
+ "ES": {
+ "name": "স্পেন"
+ },
+ "SJ": {
+ "name": "স্বালবার্ড ও জান মেয়েন"
+ },
+ "SK": {
+ "name": "স্লোভাকিয়া"
+ },
+ "SI": {
+ "name": "স্লোভানিয়া"
+ },
+ "HK": {
+ "name": "হংকং এসএআর চীনা"
+ },
+ "HN": {
+ "name": "হণ্ডুরাস"
+ },
+ "HT": {
+ "name": "হাইতি"
+ },
+ "HU": {
+ "name": "হাঙ্গেরি"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/br.json b/vendor/commerceguys/intl/resources/country/br.json
new file mode 100644
index 000000000..fefe17b66
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/br.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afghanistan"
+ },
+ "DE": {
+ "name": "Alamagn"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Aljeria"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarktika"
+ },
+ "AG": {
+ "name": "Antigua ha Barbuda"
+ },
+ "CI": {
+ "name": "Aod an Olifant"
+ },
+ "AU": {
+ "name": "Aostralia"
+ },
+ "AT": {
+ "name": "Aostria"
+ },
+ "RE": {
+ "name": "Ar Reünion"
+ },
+ "SA": {
+ "name": "Arabia Saoudat"
+ },
+ "AR": {
+ "name": "Arcʼhantina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AZ": {
+ "name": "Azerbaidjan"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahrein"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BY": {
+ "name": "Belarus"
+ },
+ "BE": {
+ "name": "Belgia"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BT": {
+ "name": "Bhoutan"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia ha Herzegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brazil"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "EA": {
+ "name": "Ceuta ha Melilla"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Danmark"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DJ": {
+ "name": "Djibouti"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "TF": {
+ "name": "Douaroù aostral Frañs"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egipt"
+ },
+ "AE": {
+ "name": "Emirelezhioù Arab Unanet"
+ },
+ "AC": {
+ "name": "Enez Ascension"
+ },
+ "CX": {
+ "name": "Enez Christmas"
+ },
+ "NF": {
+ "name": "Enez Norfolk"
+ },
+ "PN": {
+ "name": "Enez Pitcairn"
+ },
+ "IM": {
+ "name": "Enez Vanav"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Etiopia"
+ },
+ "FJ": {
+ "name": "Fidji"
+ },
+ "PH": {
+ "name": "Filipinez"
+ },
+ "FI": {
+ "name": "Finland"
+ },
+ "FR": {
+ "name": "Frañs"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GN": {
+ "name": "Ginea"
+ },
+ "GQ": {
+ "name": "Ginea ar Cʼheheder"
+ },
+ "GW": {
+ "name": "Ginea-Bissau"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GR": {
+ "name": "Gres"
+ },
+ "GL": {
+ "name": "Greunland"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "GP": {
+ "name": "Gwadeloup"
+ },
+ "GG": {
+ "name": "Gwernenez"
+ },
+ "GF": {
+ "name": "Gwiana cʼhall"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hong Kong RMD Sina"
+ },
+ "HU": {
+ "name": "Hungaria"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonezia"
+ },
+ "AX": {
+ "name": "Inizi Åland"
+ },
+ "KY": {
+ "name": "Inizi Cayman"
+ },
+ "CK": {
+ "name": "Inizi Cook"
+ },
+ "UM": {
+ "name": "Inizi diabell ar Stadoù-Unanet"
+ },
+ "FO": {
+ "name": "Inizi Faero"
+ },
+ "FK": {
+ "name": "Inizi Falkland"
+ },
+ "GS": {
+ "name": "Inizi Georgia ar Su hag Inizi Sandwich ar Su"
+ },
+ "VI": {
+ "name": "Inizi Gwercʼh ar Stadoù-Unanet"
+ },
+ "VG": {
+ "name": "Inizi Gwercʼh Breizh-Veur"
+ },
+ "IC": {
+ "name": "Inizi Kanariez"
+ },
+ "CC": {
+ "name": "Inizi Kokoz"
+ },
+ "MP": {
+ "name": "Inizi Mariana an Norzh"
+ },
+ "MH": {
+ "name": "Inizi Marshall"
+ },
+ "SB": {
+ "name": "Inizi Salomon"
+ },
+ "TC": {
+ "name": "Inizi Turks ha Caicos"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IQ": {
+ "name": "Iraq"
+ },
+ "IS": {
+ "name": "Island"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "IE": {
+ "name": "Iwerzhon"
+ },
+ "NL": {
+ "name": "Izelvroioù"
+ },
+ "JM": {
+ "name": "Jamaika"
+ },
+ "JP": {
+ "name": "Japan"
+ },
+ "JE": {
+ "name": "Jerzenez"
+ },
+ "GI": {
+ "name": "Jibraltar"
+ },
+ "JO": {
+ "name": "Jordania"
+ },
+ "GE": {
+ "name": "Jorjia"
+ },
+ "CV": {
+ "name": "Kab-Glas"
+ },
+ "NC": {
+ "name": "Kaledonia Nevez"
+ },
+ "KH": {
+ "name": "Kambodja"
+ },
+ "CM": {
+ "name": "Kameroun"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "BQ": {
+ "name": "Karib Nederlandat"
+ },
+ "KZ": {
+ "name": "Kazakstan"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "CY": {
+ "name": "Kiprenez"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "CO": {
+ "name": "Kolombia"
+ },
+ "KM": {
+ "name": "Komorez"
+ },
+ "CG": {
+ "name": "Kongo - Brazzaville"
+ },
+ "CD": {
+ "name": "Kongo - Kinshasa"
+ },
+ "KP": {
+ "name": "Korea an Norzh"
+ },
+ "KR": {
+ "name": "Korea ar Su"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Koweit"
+ },
+ "HR": {
+ "name": "Kroatia"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "KG": {
+ "name": "Kyrgyzstan"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LV": {
+ "name": "Latvia"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LB": {
+ "name": "Liban"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libia"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lituania"
+ },
+ "LU": {
+ "name": "Luksembourg"
+ },
+ "MO": {
+ "name": "Macau RMD Sina"
+ },
+ "MG": {
+ "name": "Madagaskar"
+ },
+ "MK": {
+ "name": "Makedonia"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malaysia"
+ },
+ "MV": {
+ "name": "Maldivez"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MR": {
+ "name": "Maouritania"
+ },
+ "MA": {
+ "name": "Maroko"
+ },
+ "MQ": {
+ "name": "Martinik"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Mecʼhiko"
+ },
+ "FM": {
+ "name": "Mikronezia"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MU": {
+ "name": "Moris"
+ },
+ "MZ": {
+ "name": "Mozambik"
+ },
+ "MM": {
+ "name": "Myanmar (Birmania)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Norvegia"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "UG": {
+ "name": "Ouganda"
+ },
+ "UZ": {
+ "name": "Ouzbekistan"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panamá"
+ },
+ "PG": {
+ "name": "Papoua Ginea-Nevez"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Perou"
+ },
+ "PF": {
+ "name": "Polinezia Cʼhall"
+ },
+ "PL": {
+ "name": "Polonia"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "QA": {
+ "name": "Qatar"
+ },
+ "DO": {
+ "name": "Republik Dominikan"
+ },
+ "CF": {
+ "name": "Republik Kreizafrikan"
+ },
+ "CZ": {
+ "name": "Republik Tchek"
+ },
+ "GB": {
+ "name": "Rouantelezh-Unanet"
+ },
+ "RO": {
+ "name": "Roumania"
+ },
+ "RU": {
+ "name": "Rusia"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "EH": {
+ "name": "Sahara ar Cʼhornôg"
+ },
+ "BL": {
+ "name": "Saint Barthélemy"
+ },
+ "KN": {
+ "name": "Saint Kitts ha Nevis"
+ },
+ "LC": {
+ "name": "Saint Lucia"
+ },
+ "MF": {
+ "name": "Saint Martin"
+ },
+ "SH": {
+ "name": "Saint-Helena"
+ },
+ "SV": {
+ "name": "Salvador"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa Amerikan"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "VC": {
+ "name": "Sant Visant hag ar Grenadinez"
+ },
+ "PM": {
+ "name": "Sant-Pêr-ha-Mikelon"
+ },
+ "ST": {
+ "name": "São Tomé ha Príncipe"
+ },
+ "SC": {
+ "name": "Sechelez"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "CN": {
+ "name": "Sina"
+ },
+ "SG": {
+ "name": "Singapour"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Siria"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "SD": {
+ "name": "Soudan"
+ },
+ "ES": {
+ "name": "Spagn"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "US": {
+ "name": "Stadoù-Unanet"
+ },
+ "ZA": {
+ "name": "Suafrika"
+ },
+ "CH": {
+ "name": "Suis"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SS": {
+ "name": "Susoudan"
+ },
+ "SJ": {
+ "name": "Svalbard"
+ },
+ "SE": {
+ "name": "Sveden"
+ },
+ "SZ": {
+ "name": "Swaziland"
+ },
+ "TJ": {
+ "name": "Tadjikistan"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TD": {
+ "name": "Tchad"
+ },
+ "TH": {
+ "name": "Thailand"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "IO": {
+ "name": "Tiriad breizhveurat Meurvor Indez"
+ },
+ "PS": {
+ "name": "Tiriadoù Palestina"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad ha Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunizia"
+ },
+ "TR": {
+ "name": "Turkia"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UA": {
+ "name": "Ukraina"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikan"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Viêt Nam"
+ },
+ "WF": {
+ "name": "Wallis ha Futuna"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "NZ": {
+ "name": "Zeland-Nevez"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/brx.json b/vendor/commerceguys/intl/resources/country/brx.json
new file mode 100644
index 000000000..1ba764e87
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/brx.json
@@ -0,0 +1,761 @@
+{
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "AO": {
+ "name": "अंगोला"
+ },
+ "AZ": {
+ "name": "अज़रबैजान"
+ },
+ "AQ": {
+ "name": "अंटार्कटिका"
+ },
+ "AF": {
+ "name": "अफ़ग़ानिस्तान"
+ },
+ "AS": {
+ "name": "अमरिकी समोआ"
+ },
+ "AW": {
+ "name": "अरूबा"
+ },
+ "AR": {
+ "name": "अर्जेण्टिना"
+ },
+ "DZ": {
+ "name": "अल्जीरिया"
+ },
+ "AL": {
+ "name": "अल्बानिया"
+ },
+ "IS": {
+ "name": "आइसलैंड"
+ },
+ "IM": {
+ "name": "आईल ऑफ़ मैन"
+ },
+ "CI": {
+ "name": "आईवरी कोस्ट"
+ },
+ "IE": {
+ "name": "आयरलैंड"
+ },
+ "AM": {
+ "name": "आर्मेनिया"
+ },
+ "AX": {
+ "name": "आलाँड द्वीप"
+ },
+ "GQ": {
+ "name": "इक्वेटोरियल गिनी"
+ },
+ "IT": {
+ "name": "इटली"
+ },
+ "ID": {
+ "name": "इंडोनेशिया"
+ },
+ "ET": {
+ "name": "इथिओपिया"
+ },
+ "IL": {
+ "name": "इस्राइल"
+ },
+ "IQ": {
+ "name": "ईराक़"
+ },
+ "IR": {
+ "name": "ईरान"
+ },
+ "UZ": {
+ "name": "उज़बेकिस्तान"
+ },
+ "KP": {
+ "name": "उत्तर कोरिया"
+ },
+ "MP": {
+ "name": "उत्तरी मारियाना द्वीप"
+ },
+ "AD": {
+ "name": "ऍन्डोरा"
+ },
+ "SV": {
+ "name": "ऍल साल्वाडोर"
+ },
+ "EC": {
+ "name": "एक्वाडोर"
+ },
+ "AI": {
+ "name": "एंगीला"
+ },
+ "AG": {
+ "name": "एन्टिगुआ एवं बारबूडा"
+ },
+ "ER": {
+ "name": "एरिट्रिया"
+ },
+ "EE": {
+ "name": "एस्टोनिया"
+ },
+ "AT": {
+ "name": "ऑस्ट्रिया"
+ },
+ "AU": {
+ "name": "ऑस्ट्रेलिया"
+ },
+ "OM": {
+ "name": "ओमान"
+ },
+ "KZ": {
+ "name": "कज़ाखस्तान"
+ },
+ "QA": {
+ "name": "क़तार"
+ },
+ "KH": {
+ "name": "कम्बोडिया"
+ },
+ "KI": {
+ "name": "किरिबाती"
+ },
+ "KG": {
+ "name": "किर्गिज़"
+ },
+ "CK": {
+ "name": "कुक द्वीप"
+ },
+ "KW": {
+ "name": "कुवैत"
+ },
+ "KE": {
+ "name": "केन्या"
+ },
+ "KY": {
+ "name": "केमैन द्वीप"
+ },
+ "CA": {
+ "name": "कैनाडा"
+ },
+ "CV": {
+ "name": "कैप वेर्दे"
+ },
+ "CD": {
+ "name": "कॉंगो किनशासा"
+ },
+ "CG": {
+ "name": "कॉंगो ब्राज़्ज़ावील"
+ },
+ "CC": {
+ "name": "कोकोस द्वीप"
+ },
+ "CM": {
+ "name": "कोमेरान"
+ },
+ "KM": {
+ "name": "कोमोरोज़"
+ },
+ "CO": {
+ "name": "कोलम्बिया"
+ },
+ "CR": {
+ "name": "कोस्टारीका"
+ },
+ "CU": {
+ "name": "क्यूबा"
+ },
+ "CX": {
+ "name": "क्रिस्मस द्वीप"
+ },
+ "HR": {
+ "name": "क्रोएशिया"
+ },
+ "GM": {
+ "name": "गाम्बिया"
+ },
+ "GN": {
+ "name": "गिनी"
+ },
+ "GW": {
+ "name": "गीनी-बिसाउ"
+ },
+ "GU": {
+ "name": "गुआम"
+ },
+ "GY": {
+ "name": "गुयाना"
+ },
+ "GG": {
+ "name": "गेर्नसे"
+ },
+ "GA": {
+ "name": "गैबॉन"
+ },
+ "GT": {
+ "name": "गोतेदाला"
+ },
+ "GL": {
+ "name": "ग्रीनलैण्ड"
+ },
+ "GR": {
+ "name": "ग्रीस"
+ },
+ "GD": {
+ "name": "ग्रेनडा"
+ },
+ "GP": {
+ "name": "ग्वादलुप"
+ },
+ "GH": {
+ "name": "घाना"
+ },
+ "TD": {
+ "name": "चाड"
+ },
+ "CL": {
+ "name": "चिली"
+ },
+ "CN": {
+ "name": "चीन"
+ },
+ "CZ": {
+ "name": "चेक गणराज्य"
+ },
+ "JM": {
+ "name": "जमाइका"
+ },
+ "DE": {
+ "name": "जर्मनी"
+ },
+ "JE": {
+ "name": "जर्सी"
+ },
+ "JP": {
+ "name": "जापान"
+ },
+ "ZM": {
+ "name": "ज़ाम्बिया"
+ },
+ "GI": {
+ "name": "जिब्राल्टर"
+ },
+ "ZW": {
+ "name": "ज़ीम्बाब्वे"
+ },
+ "GE": {
+ "name": "जॉर्जिया"
+ },
+ "JO": {
+ "name": "जॉर्डन"
+ },
+ "TO": {
+ "name": "टॉंगा"
+ },
+ "TK": {
+ "name": "टोकेलौ"
+ },
+ "TG": {
+ "name": "टोगो"
+ },
+ "TT": {
+ "name": "ट्रिनिडाड एवं टोबैगो"
+ },
+ "DK": {
+ "name": "डेनमार्क"
+ },
+ "DO": {
+ "name": "डोमिनिकन गणराज्य"
+ },
+ "DM": {
+ "name": "डोमिनिका"
+ },
+ "TZ": {
+ "name": "तंज़ानिया"
+ },
+ "TW": {
+ "name": "ताइवान"
+ },
+ "TJ": {
+ "name": "ताजिकिस्तान"
+ },
+ "TM": {
+ "name": "तुर्कमेनीस्तान"
+ },
+ "TR": {
+ "name": "तुर्की"
+ },
+ "TC": {
+ "name": "तुर्की एवं कैकोज़ द्वीप"
+ },
+ "TV": {
+ "name": "तुवालु"
+ },
+ "TN": {
+ "name": "त्युनिशिया"
+ },
+ "TH": {
+ "name": "थाइलैण्ड"
+ },
+ "ZA": {
+ "name": "दक्षिण अफ्रीका"
+ },
+ "KR": {
+ "name": "दक्षिण कोरिया"
+ },
+ "GS": {
+ "name": "दक्षिण जोर्जिया एवं दक्षिण सैंडवीच द्वीप"
+ },
+ "DJ": {
+ "name": "द्जिबूती"
+ },
+ "NG": {
+ "name": "नाइजीरिया"
+ },
+ "NE": {
+ "name": "नाइजेर"
+ },
+ "NR": {
+ "name": "नाउरू"
+ },
+ "NA": {
+ "name": "नामीबिया"
+ },
+ "NI": {
+ "name": "निकारागुआ"
+ },
+ "NU": {
+ "name": "नीयूए"
+ },
+ "NL": {
+ "name": "नेदरलैण्ड"
+ },
+ "NP": {
+ "name": "नेपाल"
+ },
+ "NF": {
+ "name": "नॉरफ़ॉक द्वीप"
+ },
+ "NO": {
+ "name": "नॉर्वे"
+ },
+ "NC": {
+ "name": "न्यू कैलेडोनिया"
+ },
+ "NZ": {
+ "name": "न्यूज़ीलैंड"
+ },
+ "PA": {
+ "name": "पनामा"
+ },
+ "PW": {
+ "name": "पलाऊ"
+ },
+ "EH": {
+ "name": "पश्चिमी सहारा"
+ },
+ "PK": {
+ "name": "पाकिस्तान"
+ },
+ "PG": {
+ "name": "पापुआ न्यू गिनी"
+ },
+ "PY": {
+ "name": "पारागुए"
+ },
+ "PN": {
+ "name": "पिटकेर्न"
+ },
+ "PR": {
+ "name": "पुएर्टो रीको"
+ },
+ "PT": {
+ "name": "पुर्तगाल"
+ },
+ "TL": {
+ "name": "पूर्वी तिमोर"
+ },
+ "PE": {
+ "name": "पेरू"
+ },
+ "PL": {
+ "name": "पोलैण्ड"
+ },
+ "FO": {
+ "name": "फरो द्वीप"
+ },
+ "FJ": {
+ "name": "फिजी"
+ },
+ "FI": {
+ "name": "फिनलैंड"
+ },
+ "PS": {
+ "name": "फ़िलिस्तीन"
+ },
+ "PH": {
+ "name": "फिलीपिन्स"
+ },
+ "FK": {
+ "name": "फ़ॉल्कलैंड द्वीप"
+ },
+ "FR": {
+ "name": "फ्राँस"
+ },
+ "TF": {
+ "name": "फ्राँसीसी उत्तरी क्षेत्रों"
+ },
+ "GF": {
+ "name": "फ्राँसीसी गिआना"
+ },
+ "PF": {
+ "name": "फ्राँसीसी पॉलिनीशिया"
+ },
+ "BD": {
+ "name": "बंगलादेश"
+ },
+ "BM": {
+ "name": "बरमूडा"
+ },
+ "BG": {
+ "name": "बल्गैरिया"
+ },
+ "BH": {
+ "name": "बहरैन"
+ },
+ "BS": {
+ "name": "बहामा"
+ },
+ "BB": {
+ "name": "बारबाडोस"
+ },
+ "BI": {
+ "name": "बुरुंडी"
+ },
+ "BF": {
+ "name": "बुर्किना फासो"
+ },
+ "BJ": {
+ "name": "बेनेँ"
+ },
+ "BY": {
+ "name": "बेलारूस"
+ },
+ "BZ": {
+ "name": "बेलिज़"
+ },
+ "BE": {
+ "name": "बेल्जियम"
+ },
+ "BW": {
+ "name": "बोत्स्वाना"
+ },
+ "BO": {
+ "name": "बोलीविया"
+ },
+ "BA": {
+ "name": "बोसनिया हर्ज़ेगोविना"
+ },
+ "BR": {
+ "name": "ब्राज़ील"
+ },
+ "VG": {
+ "name": "ब्रिटिश वर्जीन आईलंड्स"
+ },
+ "IO": {
+ "name": "ब्रिटिश हिंद महासागरिय क्षेत्र"
+ },
+ "GB": {
+ "name": "ब्रितन"
+ },
+ "BN": {
+ "name": "ब्रूनइ"
+ },
+ "IN": {
+ "name": "भारत"
+ },
+ "BT": {
+ "name": "भूटान"
+ },
+ "MO": {
+ "name": "मकाओ विशेष प्रशासनिक क्षेत्र (चीन)"
+ },
+ "MN": {
+ "name": "मंगोलिया"
+ },
+ "MG": {
+ "name": "मदागास्कर"
+ },
+ "MW": {
+ "name": "मलावी"
+ },
+ "MY": {
+ "name": "मलेशिया"
+ },
+ "FM": {
+ "name": "माइक्रोनेशिया"
+ },
+ "MQ": {
+ "name": "मार्टीनिक"
+ },
+ "MH": {
+ "name": "मार्शल द्वीप"
+ },
+ "MV": {
+ "name": "मालदीव"
+ },
+ "ML": {
+ "name": "माली"
+ },
+ "MT": {
+ "name": "माल्टा"
+ },
+ "EG": {
+ "name": "मिस्र"
+ },
+ "MX": {
+ "name": "मैक्सिको"
+ },
+ "YT": {
+ "name": "मैयौट"
+ },
+ "MK": {
+ "name": "मैसेडोनिया"
+ },
+ "MR": {
+ "name": "मॉरिटेनिया"
+ },
+ "MU": {
+ "name": "मॉरिस"
+ },
+ "MS": {
+ "name": "मॉंसेरा"
+ },
+ "MZ": {
+ "name": "मोज़ाम्बिक"
+ },
+ "ME": {
+ "name": "मोंटेनेग्रो"
+ },
+ "MC": {
+ "name": "मोनाको"
+ },
+ "MA": {
+ "name": "मोरोक्को"
+ },
+ "MD": {
+ "name": "मोल्डेविया"
+ },
+ "MM": {
+ "name": "म्यानमार"
+ },
+ "YE": {
+ "name": "यमन"
+ },
+ "VI": {
+ "name": "यु.एस. वर्जीन आईलंड्स"
+ },
+ "UG": {
+ "name": "युगाँडा"
+ },
+ "UM": {
+ "name": "युनाइटेड स्टेट्स के छोटे बाहरिय द्वीप"
+ },
+ "UY": {
+ "name": "युरूगुए"
+ },
+ "UA": {
+ "name": "यूक्रेन"
+ },
+ "RW": {
+ "name": "रूआण्डा"
+ },
+ "RU": {
+ "name": "रूस"
+ },
+ "RE": {
+ "name": "रेयूनियॉं"
+ },
+ "RO": {
+ "name": "रोमानिया"
+ },
+ "LU": {
+ "name": "लक्समबर्ग"
+ },
+ "LS": {
+ "name": "लसोथो"
+ },
+ "LR": {
+ "name": "लाइबेरिया"
+ },
+ "LA": {
+ "name": "लाओस"
+ },
+ "LV": {
+ "name": "लाट्वीया"
+ },
+ "LI": {
+ "name": "लिक्टैनस्टाईन"
+ },
+ "LT": {
+ "name": "लिथुआनिया"
+ },
+ "LY": {
+ "name": "लीबिया"
+ },
+ "LB": {
+ "name": "लेबनोन"
+ },
+ "VU": {
+ "name": "वानाऊटु"
+ },
+ "VN": {
+ "name": "वियतनाम"
+ },
+ "VE": {
+ "name": "वेनेज़ुएला"
+ },
+ "VA": {
+ "name": "वैटिकन"
+ },
+ "WF": {
+ "name": "वॉलेस एवं फ़्यूचूना"
+ },
+ "LK": {
+ "name": "श्री लँका"
+ },
+ "SA": {
+ "name": "सऊदी अरब"
+ },
+ "WS": {
+ "name": "समोआ"
+ },
+ "AE": {
+ "name": "संयुक्त अरब अमीरात"
+ },
+ "US": {
+ "name": "संयुक्त राज्य अमरिका"
+ },
+ "RS": {
+ "name": "सर्बिया"
+ },
+ "CY": {
+ "name": "साइप्रस"
+ },
+ "ST": {
+ "name": "साउँ-तोमे एवं प्रिंसिप"
+ },
+ "SG": {
+ "name": "सिंगापुर"
+ },
+ "SL": {
+ "name": "सियेरा लेओन"
+ },
+ "SY": {
+ "name": "सीरिया"
+ },
+ "SR": {
+ "name": "सुरिनाम"
+ },
+ "SD": {
+ "name": "सूदान"
+ },
+ "PM": {
+ "name": "सेँ पीएर एवं मि‍केलॉं"
+ },
+ "BL": {
+ "name": "सेँ बार्थेलेमी"
+ },
+ "MF": {
+ "name": "सेँ मार्टेँ"
+ },
+ "KN": {
+ "name": "सेंट किट्स एवं नेविस"
+ },
+ "LC": {
+ "name": "सेंट लूसिया"
+ },
+ "VC": {
+ "name": "सेंट विंसंट एवं दी ग्रनाडीन्स्"
+ },
+ "CF": {
+ "name": "सेंट्रल अफ्रीकन रिपब्लिक"
+ },
+ "SH": {
+ "name": "सेण्‍ट हेलेना"
+ },
+ "SN": {
+ "name": "सेनेगाल"
+ },
+ "SC": {
+ "name": "सेशेल्स"
+ },
+ "SM": {
+ "name": "सैन मरीनो"
+ },
+ "SB": {
+ "name": "सॉलोमन द्वीप"
+ },
+ "SO": {
+ "name": "सोमालिया"
+ },
+ "ES": {
+ "name": "स्पेन"
+ },
+ "SK": {
+ "name": "स्लोवाकिया"
+ },
+ "SI": {
+ "name": "स्लोवेनिया"
+ },
+ "SZ": {
+ "name": "स्वाज़ीलैंड"
+ },
+ "SJ": {
+ "name": "स्वाल्बार्ड एवं यान मायेन"
+ },
+ "CH": {
+ "name": "स्वित्ज़रलैंड"
+ },
+ "SE": {
+ "name": "स्वीडन"
+ },
+ "HU": {
+ "name": "हंगरी"
+ },
+ "HT": {
+ "name": "हाइती"
+ },
+ "HK": {
+ "name": "हाँगकाँग विशेष प्रशासनिक क्षेत्र चीन"
+ },
+ "HN": {
+ "name": "हौण्डूरास"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/bs-Cyrl.json b/vendor/commerceguys/intl/resources/country/bs-Cyrl.json
new file mode 100644
index 000000000..ed7dcf940
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/bs-Cyrl.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Авганистан"
+ },
+ "AZ": {
+ "name": "Азербејџан"
+ },
+ "AX": {
+ "name": "Аландска острва"
+ },
+ "AL": {
+ "name": "Албанија"
+ },
+ "DZ": {
+ "name": "Алжир"
+ },
+ "AS": {
+ "name": "Америчка Самоа"
+ },
+ "AI": {
+ "name": "Ангвила"
+ },
+ "AO": {
+ "name": "Ангола"
+ },
+ "AD": {
+ "name": "Андора"
+ },
+ "AQ": {
+ "name": "Антарктик"
+ },
+ "AG": {
+ "name": "Антигва и Барбуда"
+ },
+ "AR": {
+ "name": "Аргентина"
+ },
+ "AM": {
+ "name": "Арменија"
+ },
+ "AW": {
+ "name": "Аруба"
+ },
+ "AU": {
+ "name": "Аустралија"
+ },
+ "AT": {
+ "name": "Аустрија"
+ },
+ "BD": {
+ "name": "Бангладеш"
+ },
+ "BB": {
+ "name": "Барбадос"
+ },
+ "BS": {
+ "name": "Бахами"
+ },
+ "BH": {
+ "name": "Бахреин"
+ },
+ "BE": {
+ "name": "Белгија"
+ },
+ "BZ": {
+ "name": "Белизе"
+ },
+ "BY": {
+ "name": "Белорусија"
+ },
+ "BJ": {
+ "name": "Бенин"
+ },
+ "BM": {
+ "name": "Бермуда"
+ },
+ "CX": {
+ "name": "Божићна острва"
+ },
+ "BO": {
+ "name": "Боливија"
+ },
+ "BA": {
+ "name": "Босна и Херцеговина"
+ },
+ "BW": {
+ "name": "Боцвана"
+ },
+ "BR": {
+ "name": "Бразил"
+ },
+ "VG": {
+ "name": "Британска Девичанска Острва"
+ },
+ "IO": {
+ "name": "Британска територија у Индијском океану"
+ },
+ "BN": {
+ "name": "Брунеј"
+ },
+ "BG": {
+ "name": "Бугарска"
+ },
+ "BF": {
+ "name": "Буркина Фасо"
+ },
+ "BI": {
+ "name": "Бурунди"
+ },
+ "BT": {
+ "name": "Бутан"
+ },
+ "WF": {
+ "name": "Валис и Футуна Острва"
+ },
+ "VU": {
+ "name": "Вануату"
+ },
+ "VA": {
+ "name": "Ватикан"
+ },
+ "GB": {
+ "name": "Велика Британија"
+ },
+ "VE": {
+ "name": "Венецуела"
+ },
+ "VN": {
+ "name": "Вијетнам"
+ },
+ "GA": {
+ "name": "Габон"
+ },
+ "GM": {
+ "name": "Гамбија"
+ },
+ "GH": {
+ "name": "Гана"
+ },
+ "GP": {
+ "name": "Гваделупе"
+ },
+ "GY": {
+ "name": "Гвајана"
+ },
+ "GT": {
+ "name": "Гватемала"
+ },
+ "GN": {
+ "name": "Гвинеја"
+ },
+ "GW": {
+ "name": "Гвинеја-Бисао"
+ },
+ "GI": {
+ "name": "Гибралтар"
+ },
+ "GD": {
+ "name": "Гренада"
+ },
+ "GL": {
+ "name": "Гренланд"
+ },
+ "GE": {
+ "name": "Грузија"
+ },
+ "GR": {
+ "name": "Грчка"
+ },
+ "GU": {
+ "name": "Гуам"
+ },
+ "GG": {
+ "name": "Гурнси"
+ },
+ "DK": {
+ "name": "Данска"
+ },
+ "DG": {
+ "name": "Дијего Гарсија"
+ },
+ "DM": {
+ "name": "Доминика"
+ },
+ "DO": {
+ "name": "Доминиканска Република"
+ },
+ "EG": {
+ "name": "Египат"
+ },
+ "EC": {
+ "name": "Еквадор"
+ },
+ "GQ": {
+ "name": "Екваторијална Гвинеја"
+ },
+ "ER": {
+ "name": "Еритреја"
+ },
+ "EE": {
+ "name": "Естонија"
+ },
+ "ET": {
+ "name": "Етиопија"
+ },
+ "ZM": {
+ "name": "Замбија"
+ },
+ "EH": {
+ "name": "Западна Сахара"
+ },
+ "ZW": {
+ "name": "Зимбабве"
+ },
+ "IL": {
+ "name": "Израел"
+ },
+ "IN": {
+ "name": "Индија"
+ },
+ "ID": {
+ "name": "Индонезија"
+ },
+ "IQ": {
+ "name": "Ирак"
+ },
+ "IR": {
+ "name": "Иран"
+ },
+ "IE": {
+ "name": "Ирска"
+ },
+ "IS": {
+ "name": "Исланд"
+ },
+ "TL": {
+ "name": "Источни Тимор"
+ },
+ "IT": {
+ "name": "Италија"
+ },
+ "JM": {
+ "name": "Јамајка"
+ },
+ "JP": {
+ "name": "Јапан"
+ },
+ "YE": {
+ "name": "Јемен"
+ },
+ "JO": {
+ "name": "Јордан"
+ },
+ "KR": {
+ "name": "Јужна Кореја"
+ },
+ "GS": {
+ "name": "Јужна Џорџија и Јужна Сендвич Острва"
+ },
+ "ZA": {
+ "name": "Јужноафричка Република"
+ },
+ "KZ": {
+ "name": "Казахстан"
+ },
+ "KY": {
+ "name": "Кајманска Острва"
+ },
+ "KH": {
+ "name": "Камбоџа"
+ },
+ "CM": {
+ "name": "Камерун"
+ },
+ "CA": {
+ "name": "Канада"
+ },
+ "IC": {
+ "name": "Канарска острва"
+ },
+ "CV": {
+ "name": "Капе Верде"
+ },
+ "QA": {
+ "name": "Катар"
+ },
+ "KE": {
+ "name": "Кенија"
+ },
+ "CN": {
+ "name": "Кина"
+ },
+ "CY": {
+ "name": "Кипар"
+ },
+ "KG": {
+ "name": "Киргизстан"
+ },
+ "KI": {
+ "name": "Кирибати"
+ },
+ "CC": {
+ "name": "Кокос (Келинг) Острва"
+ },
+ "CO": {
+ "name": "Колумбија"
+ },
+ "KM": {
+ "name": "Коморска Острва"
+ },
+ "CG": {
+ "name": "Конго - Бразавил"
+ },
+ "CD": {
+ "name": "Конго - Киншаса"
+ },
+ "CR": {
+ "name": "Костарика"
+ },
+ "CU": {
+ "name": "Куба"
+ },
+ "KW": {
+ "name": "Кувајт"
+ },
+ "CK": {
+ "name": "Кукова Острва"
+ },
+ "LA": {
+ "name": "Лаос"
+ },
+ "LS": {
+ "name": "Лесото"
+ },
+ "LV": {
+ "name": "Летонија"
+ },
+ "LB": {
+ "name": "Либан"
+ },
+ "LR": {
+ "name": "Либерија"
+ },
+ "LY": {
+ "name": "Либија"
+ },
+ "LT": {
+ "name": "Литванија"
+ },
+ "LI": {
+ "name": "Лихтенштајн"
+ },
+ "LU": {
+ "name": "Луксембург"
+ },
+ "MG": {
+ "name": "Мадагаскар"
+ },
+ "HU": {
+ "name": "Мађарска"
+ },
+ "YT": {
+ "name": "Мајоте"
+ },
+ "MO": {
+ "name": "Макао С. А. Р. Кина"
+ },
+ "MK": {
+ "name": "Македонија"
+ },
+ "MW": {
+ "name": "Малави"
+ },
+ "MV": {
+ "name": "Малдиви"
+ },
+ "MY": {
+ "name": "Малезија"
+ },
+ "ML": {
+ "name": "Мали"
+ },
+ "MT": {
+ "name": "Малта"
+ },
+ "UM": {
+ "name": "Мања удаљена острва САД"
+ },
+ "MA": {
+ "name": "Мароко"
+ },
+ "MQ": {
+ "name": "Мартиник"
+ },
+ "MH": {
+ "name": "Маршалска Острва"
+ },
+ "MR": {
+ "name": "Мауританија"
+ },
+ "MU": {
+ "name": "Маурицијус"
+ },
+ "MX": {
+ "name": "Мексико"
+ },
+ "MM": {
+ "name": "Мијанмар (Бурма)"
+ },
+ "FM": {
+ "name": "Микронезија"
+ },
+ "MZ": {
+ "name": "Мозамбик"
+ },
+ "MD": {
+ "name": "Молдавија"
+ },
+ "MC": {
+ "name": "Монако"
+ },
+ "MN": {
+ "name": "Монголија"
+ },
+ "MS": {
+ "name": "Монсерат"
+ },
+ "NA": {
+ "name": "Намибија"
+ },
+ "NR": {
+ "name": "Науру"
+ },
+ "DE": {
+ "name": "Немачка"
+ },
+ "NP": {
+ "name": "Непал"
+ },
+ "NE": {
+ "name": "Нигер"
+ },
+ "NG": {
+ "name": "Нигерија"
+ },
+ "NI": {
+ "name": "Никарагва"
+ },
+ "NU": {
+ "name": "Ниуе"
+ },
+ "NC": {
+ "name": "Нова Каледонија"
+ },
+ "NZ": {
+ "name": "Нови Зеланд"
+ },
+ "NO": {
+ "name": "Норвешка"
+ },
+ "NF": {
+ "name": "Норфолк Острво"
+ },
+ "CI": {
+ "name": "Обала Слоноваче"
+ },
+ "OM": {
+ "name": "Оман"
+ },
+ "AC": {
+ "name": "Острво Асенсион"
+ },
+ "IM": {
+ "name": "Острво Ман"
+ },
+ "PK": {
+ "name": "Пакистан"
+ },
+ "PW": {
+ "name": "Палау"
+ },
+ "PS": {
+ "name": "Палестинске територије"
+ },
+ "PA": {
+ "name": "Панама"
+ },
+ "PG": {
+ "name": "Папуа Нова Гвинеја"
+ },
+ "PY": {
+ "name": "Парагвај"
+ },
+ "PE": {
+ "name": "Перу"
+ },
+ "PN": {
+ "name": "Питкерн"
+ },
+ "PL": {
+ "name": "Пољска"
+ },
+ "PR": {
+ "name": "Порто Рико"
+ },
+ "PT": {
+ "name": "Португалија"
+ },
+ "RE": {
+ "name": "Реинион"
+ },
+ "RW": {
+ "name": "Руанда"
+ },
+ "RO": {
+ "name": "Румунија"
+ },
+ "RU": {
+ "name": "Русија"
+ },
+ "VI": {
+ "name": "С.А.Д. Девичанска Острва"
+ },
+ "SV": {
+ "name": "Салвадор"
+ },
+ "WS": {
+ "name": "Самоа"
+ },
+ "SM": {
+ "name": "Сан Марино"
+ },
+ "ST": {
+ "name": "Сао Томе и Принципе"
+ },
+ "SA": {
+ "name": "Саудијска Арабија"
+ },
+ "SZ": {
+ "name": "Свазиленд"
+ },
+ "SJ": {
+ "name": "Свалбард и Јанмајен Острва"
+ },
+ "SH": {
+ "name": "Света Јелена"
+ },
+ "BL": {
+ "name": "Свети Бартоломеј"
+ },
+ "KP": {
+ "name": "Северна Кореја"
+ },
+ "MP": {
+ "name": "Северна Маријанска Острва"
+ },
+ "SC": {
+ "name": "Сејшели"
+ },
+ "PM": {
+ "name": "Сен Пјер и Микелон"
+ },
+ "SN": {
+ "name": "Сенегал"
+ },
+ "VC": {
+ "name": "Сент Винсент и Гренадини"
+ },
+ "KN": {
+ "name": "Сент Китс и Невис"
+ },
+ "LC": {
+ "name": "Сент Луција"
+ },
+ "MF": {
+ "name": "Сент Мартин"
+ },
+ "EA": {
+ "name": "Сеута и Мелиља"
+ },
+ "SL": {
+ "name": "Сијера Леоне"
+ },
+ "SG": {
+ "name": "Сингапур"
+ },
+ "SY": {
+ "name": "Сирија"
+ },
+ "US": {
+ "name": "Сједињене Америчке Државе"
+ },
+ "SK": {
+ "name": "Словачка"
+ },
+ "SI": {
+ "name": "Словенија"
+ },
+ "SB": {
+ "name": "Соломонска Острва"
+ },
+ "SO": {
+ "name": "Сомалија"
+ },
+ "RS": {
+ "name": "Србија"
+ },
+ "SD": {
+ "name": "Судан"
+ },
+ "SR": {
+ "name": "Суринам"
+ },
+ "TW": {
+ "name": "Тајван"
+ },
+ "TH": {
+ "name": "Тајланд"
+ },
+ "TZ": {
+ "name": "Танзанија"
+ },
+ "TJ": {
+ "name": "Таџикистан"
+ },
+ "TG": {
+ "name": "Того"
+ },
+ "TK": {
+ "name": "Токелау"
+ },
+ "TO": {
+ "name": "Тонга"
+ },
+ "TT": {
+ "name": "Тринидад и Тобаго"
+ },
+ "TA": {
+ "name": "Тристан да Куња"
+ },
+ "TV": {
+ "name": "Тувалу"
+ },
+ "TN": {
+ "name": "Тунис"
+ },
+ "TM": {
+ "name": "Туркменистан"
+ },
+ "TC": {
+ "name": "Туркс и Кајкос Острва"
+ },
+ "TR": {
+ "name": "Турска"
+ },
+ "UG": {
+ "name": "Уганда"
+ },
+ "UZ": {
+ "name": "Узбекистан"
+ },
+ "AE": {
+ "name": "Уједињени Арапски Емирати"
+ },
+ "UA": {
+ "name": "Украјина"
+ },
+ "UY": {
+ "name": "Уругвај"
+ },
+ "FO": {
+ "name": "Фарска Острва"
+ },
+ "PH": {
+ "name": "Филипини"
+ },
+ "FI": {
+ "name": "Финска"
+ },
+ "FJ": {
+ "name": "Фиџи"
+ },
+ "FK": {
+ "name": "Фокландска острва"
+ },
+ "FR": {
+ "name": "Француска"
+ },
+ "GF": {
+ "name": "Француска Гвајана"
+ },
+ "PF": {
+ "name": "Француска Полинезија"
+ },
+ "TF": {
+ "name": "Француске Јужне Територије"
+ },
+ "HT": {
+ "name": "Хаити"
+ },
+ "NL": {
+ "name": "Холандија"
+ },
+ "HK": {
+ "name": "Хонг Конг С. А. Р. Кина"
+ },
+ "HN": {
+ "name": "Хондурас"
+ },
+ "HR": {
+ "name": "Хрватска"
+ },
+ "CF": {
+ "name": "Централно Афричка Република"
+ },
+ "ME": {
+ "name": "Црна Гора"
+ },
+ "TD": {
+ "name": "Чад"
+ },
+ "CZ": {
+ "name": "Чешка"
+ },
+ "CL": {
+ "name": "Чиле"
+ },
+ "JE": {
+ "name": "Џерси"
+ },
+ "DJ": {
+ "name": "Џибути"
+ },
+ "CH": {
+ "name": "Швајцарска"
+ },
+ "SE": {
+ "name": "Шведска"
+ },
+ "ES": {
+ "name": "Шпанија"
+ },
+ "LK": {
+ "name": "Шри Ланка"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SS": {
+ "name": "South Sudan"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/bs.json b/vendor/commerceguys/intl/resources/country/bs.json
new file mode 100644
index 000000000..7ac63ca2a
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/bs.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afganistan"
+ },
+ "AL": {
+ "name": "Albanija"
+ },
+ "DZ": {
+ "name": "Alžir"
+ },
+ "VI": {
+ "name": "Američka Djevičanska Ostrva"
+ },
+ "AS": {
+ "name": "Američka Samoa"
+ },
+ "UM": {
+ "name": "Američka Vanjska Ostrva"
+ },
+ "AD": {
+ "name": "Andora"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Angvila"
+ },
+ "AQ": {
+ "name": "Antarktika"
+ },
+ "AG": {
+ "name": "Antigva i Barbuda"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenija"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Australija"
+ },
+ "AT": {
+ "name": "Austrija"
+ },
+ "AZ": {
+ "name": "Azerbejdžan"
+ },
+ "BS": {
+ "name": "Bahami"
+ },
+ "BH": {
+ "name": "Bahrein"
+ },
+ "BD": {
+ "name": "Bangladeš"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BE": {
+ "name": "Belgija"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BY": {
+ "name": "Bjelorusija"
+ },
+ "BW": {
+ "name": "Bocvana"
+ },
+ "BO": {
+ "name": "Bolivija"
+ },
+ "BA": {
+ "name": "Bosna i Hercegovina"
+ },
+ "CX": {
+ "name": "Božićna Ostrva"
+ },
+ "BR": {
+ "name": "Brazil"
+ },
+ "VG": {
+ "name": "Britanska Djevičanska Ostrva"
+ },
+ "IO": {
+ "name": "Britanska Teritorija u Indijskom Okeanu"
+ },
+ "BN": {
+ "name": "Brunej"
+ },
+ "BG": {
+ "name": "Bugarska"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Butan"
+ },
+ "CF": {
+ "name": "Centralnoafrička Republika"
+ },
+ "ME": {
+ "name": "Crna Gora"
+ },
+ "TD": {
+ "name": "Čad"
+ },
+ "CZ": {
+ "name": "Češka Republika"
+ },
+ "CL": {
+ "name": "Čile"
+ },
+ "DK": {
+ "name": "Danska"
+ },
+ "CD": {
+ "name": "Demokratska Republika Kongo"
+ },
+ "DG": {
+ "name": "Dijego Garsija"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "DO": {
+ "name": "Dominikanska Republika"
+ },
+ "JE": {
+ "name": "Džerzi"
+ },
+ "DJ": {
+ "name": "Džibuti"
+ },
+ "EG": {
+ "name": "Egipat"
+ },
+ "EC": {
+ "name": "Ekvador"
+ },
+ "GQ": {
+ "name": "Ekvatorijalna Gvineja"
+ },
+ "ER": {
+ "name": "Eritreja"
+ },
+ "EE": {
+ "name": "Estonija"
+ },
+ "ET": {
+ "name": "Etiopija"
+ },
+ "FO": {
+ "name": "Farska Ostrva"
+ },
+ "FJ": {
+ "name": "Fidži"
+ },
+ "PH": {
+ "name": "Filipini"
+ },
+ "FI": {
+ "name": "Finska"
+ },
+ "FK": {
+ "name": "Folklandska Ostrva"
+ },
+ "FR": {
+ "name": "Francuska"
+ },
+ "GF": {
+ "name": "Francuska Gvajana"
+ },
+ "PF": {
+ "name": "Francuska Polinezija"
+ },
+ "TF": {
+ "name": "Francuske Južne Teritorije"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambija"
+ },
+ "GH": {
+ "name": "Gana"
+ },
+ "GG": {
+ "name": "Gernzi"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GR": {
+ "name": "Grčka"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GL": {
+ "name": "Grenland"
+ },
+ "GE": {
+ "name": "Gruzija"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GP": {
+ "name": "Gvadalupe"
+ },
+ "GY": {
+ "name": "Gvajana"
+ },
+ "GT": {
+ "name": "Gvatemala"
+ },
+ "GN": {
+ "name": "Gvineja"
+ },
+ "GW": {
+ "name": "Gvineja-Bisao"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "NL": {
+ "name": "Holandija"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hong Kong (SAR Kina)"
+ },
+ "HR": {
+ "name": "Hrvatska"
+ },
+ "IN": {
+ "name": "Indija"
+ },
+ "ID": {
+ "name": "Indonezija"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IE": {
+ "name": "Irska"
+ },
+ "IS": {
+ "name": "Island"
+ },
+ "TL": {
+ "name": "Istočni Timor"
+ },
+ "IT": {
+ "name": "Italija"
+ },
+ "IL": {
+ "name": "Izrael"
+ },
+ "JM": {
+ "name": "Jamajka"
+ },
+ "JP": {
+ "name": "Japan"
+ },
+ "YE": {
+ "name": "Jemen"
+ },
+ "JO": {
+ "name": "Jordan"
+ },
+ "GS": {
+ "name": "Južna Džordžija i Južna Sendvička Ostrva"
+ },
+ "KR": {
+ "name": "Južna Koreja"
+ },
+ "SS": {
+ "name": "Južni Sudan"
+ },
+ "ZA": {
+ "name": "Južnoafrička Republika"
+ },
+ "KY": {
+ "name": "Kajmanska Ostrva"
+ },
+ "KH": {
+ "name": "Kambodža"
+ },
+ "CM": {
+ "name": "Kamerun"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "IC": {
+ "name": "Kanarska Ostrva"
+ },
+ "CV": {
+ "name": "Kape Verde"
+ },
+ "BQ": {
+ "name": "Karipska Holandija"
+ },
+ "QA": {
+ "name": "Katar"
+ },
+ "KZ": {
+ "name": "Kazahstan"
+ },
+ "KE": {
+ "name": "Kenija"
+ },
+ "CN": {
+ "name": "Kina"
+ },
+ "CY": {
+ "name": "Kipar"
+ },
+ "KG": {
+ "name": "Kirgistan"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "CC": {
+ "name": "Kokosova (Kilingova) Ostrva"
+ },
+ "CO": {
+ "name": "Kolumbija"
+ },
+ "KM": {
+ "name": "Komorska Ostrva"
+ },
+ "CG": {
+ "name": "Kongo"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "Kostarika"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "CK": {
+ "name": "Kukova Ostrva"
+ },
+ "CW": {
+ "name": "Kurasao"
+ },
+ "KW": {
+ "name": "Kuvajt"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LV": {
+ "name": "Latvija"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LB": {
+ "name": "Liban"
+ },
+ "LR": {
+ "name": "Liberija"
+ },
+ "LY": {
+ "name": "Libija"
+ },
+ "LI": {
+ "name": "Lihtenštajn"
+ },
+ "LT": {
+ "name": "Litvanija"
+ },
+ "LU": {
+ "name": "Luksemburg"
+ },
+ "MG": {
+ "name": "Madagaskar"
+ },
+ "HU": {
+ "name": "Mađarska"
+ },
+ "YT": {
+ "name": "Majote"
+ },
+ "MO": {
+ "name": "Makao (SAR Kina)"
+ },
+ "MK": {
+ "name": "Makedonija"
+ },
+ "MW": {
+ "name": "Malavi"
+ },
+ "MV": {
+ "name": "Maldivi"
+ },
+ "MY": {
+ "name": "Malezija"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Maroko"
+ },
+ "MH": {
+ "name": "Maršalova Ostrva"
+ },
+ "MQ": {
+ "name": "Martinik"
+ },
+ "MU": {
+ "name": "Mauricijus"
+ },
+ "MR": {
+ "name": "Mauritanija"
+ },
+ "MX": {
+ "name": "Meksiko"
+ },
+ "MM": {
+ "name": "Mijanmar"
+ },
+ "FM": {
+ "name": "Mikronezija"
+ },
+ "MD": {
+ "name": "Moldavija"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MN": {
+ "name": "Mongolija"
+ },
+ "MS": {
+ "name": "Monserat"
+ },
+ "MZ": {
+ "name": "Mozambik"
+ },
+ "NA": {
+ "name": "Namibija"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigerija"
+ },
+ "NI": {
+ "name": "Nikaragva"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Norveška"
+ },
+ "NC": {
+ "name": "Nova Kaledonija"
+ },
+ "NZ": {
+ "name": "Novi Zeland"
+ },
+ "DE": {
+ "name": "Njemačka"
+ },
+ "CI": {
+ "name": "Obala Slonovače"
+ },
+ "AX": {
+ "name": "Olandska Ostrva"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "TC": {
+ "name": "Ostrva Turks i Kaikos"
+ },
+ "WF": {
+ "name": "Ostrva Valis i Futuna"
+ },
+ "AC": {
+ "name": "Ostrvo Asension"
+ },
+ "IM": {
+ "name": "Ostrvo Man"
+ },
+ "NF": {
+ "name": "Ostrvo Norfolk"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palestinska Teritorija"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua Nova Gvineja"
+ },
+ "PY": {
+ "name": "Paragvaj"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitkernska Ostrva"
+ },
+ "PL": {
+ "name": "Poljska"
+ },
+ "PR": {
+ "name": "Porto Riko"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "RE": {
+ "name": "Reunion"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RO": {
+ "name": "Rumunija"
+ },
+ "RU": {
+ "name": "Rusija"
+ },
+ "SV": {
+ "name": "Salvador"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "Sao Tome i Principe"
+ },
+ "SA": {
+ "name": "Saudijska Arabija"
+ },
+ "SC": {
+ "name": "Sejšeli"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "EA": {
+ "name": "Seuta i Melilja"
+ },
+ "SL": {
+ "name": "Sijera Leone"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SX": {
+ "name": "Sint Marten"
+ },
+ "SY": {
+ "name": "Sirija"
+ },
+ "US": {
+ "name": "Sjedinjene Američke Države"
+ },
+ "KP": {
+ "name": "Sjeverna Koreja"
+ },
+ "MP": {
+ "name": "Sjeverna Marijanska Ostrva"
+ },
+ "SK": {
+ "name": "Slovačka"
+ },
+ "SI": {
+ "name": "Slovenija"
+ },
+ "SB": {
+ "name": "Solomonska Ostrva"
+ },
+ "SO": {
+ "name": "Somalija"
+ },
+ "RS": {
+ "name": "Srbija"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "MF": {
+ "name": "Sv. Martin"
+ },
+ "SJ": {
+ "name": "Svalbard i Jan Majen"
+ },
+ "SZ": {
+ "name": "Svazilend"
+ },
+ "SH": {
+ "name": "Sveta Helena"
+ },
+ "LC": {
+ "name": "Sveta Lucija"
+ },
+ "BL": {
+ "name": "Sveti Bartolomej"
+ },
+ "KN": {
+ "name": "Sveti Kits i Nevis"
+ },
+ "PM": {
+ "name": "Sveti Petar i Mikelon"
+ },
+ "VC": {
+ "name": "Sveti Vinsent i Grenadin"
+ },
+ "ES": {
+ "name": "Španija"
+ },
+ "LK": {
+ "name": "Šri Lanka"
+ },
+ "SE": {
+ "name": "Švedska"
+ },
+ "CH": {
+ "name": "Švicarska"
+ },
+ "TJ": {
+ "name": "Tadžikistan"
+ },
+ "TH": {
+ "name": "Tajland"
+ },
+ "TW": {
+ "name": "Tajvan"
+ },
+ "TZ": {
+ "name": "Tanzanija"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad i Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Kunja"
+ },
+ "TN": {
+ "name": "Tunis"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TR": {
+ "name": "Turska"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "AE": {
+ "name": "Ujedinjeni Arapski Emirati"
+ },
+ "UA": {
+ "name": "Ukrajina"
+ },
+ "UY": {
+ "name": "Urugvaj"
+ },
+ "UZ": {
+ "name": "Uzbekistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikan"
+ },
+ "GB": {
+ "name": "Velika Britanija"
+ },
+ "VE": {
+ "name": "Venecuela"
+ },
+ "VN": {
+ "name": "Vijetnam"
+ },
+ "ZM": {
+ "name": "Zambija"
+ },
+ "EH": {
+ "name": "Zapadna Sahara"
+ },
+ "ZW": {
+ "name": "Zimbabve"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/ca.json b/vendor/commerceguys/intl/resources/country/ca.json
new file mode 100644
index 000000000..6542ab21b
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/ca.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afganistan"
+ },
+ "AL": {
+ "name": "Albània"
+ },
+ "DE": {
+ "name": "Alemanya"
+ },
+ "DZ": {
+ "name": "Algèria"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antàrtida"
+ },
+ "AG": {
+ "name": "Antigua i Barbuda"
+ },
+ "SA": {
+ "name": "Aràbia Saudita"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armènia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Austràlia"
+ },
+ "AT": {
+ "name": "Àustria"
+ },
+ "AZ": {
+ "name": "Azerbaidjan"
+ },
+ "BS": {
+ "name": "Bahames"
+ },
+ "BH": {
+ "name": "Bahrain"
+ },
+ "BD": {
+ "name": "Bangla Desh"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BY": {
+ "name": "Belarús"
+ },
+ "BE": {
+ "name": "Bèlgica"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benín"
+ },
+ "BM": {
+ "name": "Bermudes"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BO": {
+ "name": "Bolívia"
+ },
+ "BA": {
+ "name": "Bòsnia i Hercegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brasil"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgària"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "KH": {
+ "name": "Cambodja"
+ },
+ "CM": {
+ "name": "Camerun"
+ },
+ "CA": {
+ "name": "Canadà"
+ },
+ "CV": {
+ "name": "Cap Verd"
+ },
+ "BQ": {
+ "name": "Carib Neerlandès"
+ },
+ "EA": {
+ "name": "Ceuta i Melilla"
+ },
+ "VA": {
+ "name": "Ciutat del Vaticà"
+ },
+ "CO": {
+ "name": "Colòmbia"
+ },
+ "KM": {
+ "name": "Comores"
+ },
+ "CG": {
+ "name": "Congo - Brazzaville"
+ },
+ "CD": {
+ "name": "Congo - Kinshasa"
+ },
+ "KP": {
+ "name": "Corea del Nord"
+ },
+ "KR": {
+ "name": "Corea del Sud"
+ },
+ "CI": {
+ "name": "Costa d’Ivori"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "HR": {
+ "name": "Croàcia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DK": {
+ "name": "Dinamarca"
+ },
+ "DJ": {
+ "name": "Djibouti"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "EG": {
+ "name": "Egipte"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "AE": {
+ "name": "Emirats Àrabs Units"
+ },
+ "EC": {
+ "name": "Equador"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "SK": {
+ "name": "Eslovàquia"
+ },
+ "SI": {
+ "name": "Eslovènia"
+ },
+ "ES": {
+ "name": "Espanya"
+ },
+ "US": {
+ "name": "Estats Units"
+ },
+ "EE": {
+ "name": "Estònia"
+ },
+ "ET": {
+ "name": "Etiòpia"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filipines"
+ },
+ "FI": {
+ "name": "Finlàndia"
+ },
+ "FR": {
+ "name": "França"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gàmbia"
+ },
+ "GE": {
+ "name": "Geòrgia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GR": {
+ "name": "Grècia"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GL": {
+ "name": "Grenlàndia"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GF": {
+ "name": "Guaiana Francesa"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GW": {
+ "name": "Guinea Bissau"
+ },
+ "GQ": {
+ "name": "Guinea Equatorial"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haití"
+ },
+ "HN": {
+ "name": "Hondures"
+ },
+ "HK": {
+ "name": "Hong Kong (RAE Xina)"
+ },
+ "HU": {
+ "name": "Hongria"
+ },
+ "YE": {
+ "name": "Iemen"
+ },
+ "CX": {
+ "name": "Illa Christmas"
+ },
+ "AC": {
+ "name": "Illa de l’Ascensió"
+ },
+ "RE": {
+ "name": "Illa de la Reunió"
+ },
+ "IM": {
+ "name": "Illa de Man"
+ },
+ "AX": {
+ "name": "Illes Åland"
+ },
+ "KY": {
+ "name": "Illes Caiman"
+ },
+ "IC": {
+ "name": "Illes Canàries"
+ },
+ "CC": {
+ "name": "Illes Cocos"
+ },
+ "CK": {
+ "name": "Illes Cook"
+ },
+ "FO": {
+ "name": "Illes Fèroe"
+ },
+ "GS": {
+ "name": "Illes Geòrgia del Sud i Sandwich del Sud"
+ },
+ "FK": {
+ "name": "Illes Malvines"
+ },
+ "MP": {
+ "name": "Illes Mariannes del Nord"
+ },
+ "MH": {
+ "name": "Illes Marshall"
+ },
+ "UM": {
+ "name": "Illes Perifèriques Menors dels EUA"
+ },
+ "PN": {
+ "name": "Illes Pitcairn"
+ },
+ "SB": {
+ "name": "Illes Salomó"
+ },
+ "TC": {
+ "name": "Illes Turks i Caicos"
+ },
+ "VG": {
+ "name": "Illes Verges Britàniques"
+ },
+ "VI": {
+ "name": "Illes Verges Nord-americanes"
+ },
+ "IN": {
+ "name": "Índia"
+ },
+ "ID": {
+ "name": "Indonèsia"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IQ": {
+ "name": "Iraq"
+ },
+ "IE": {
+ "name": "Irlanda"
+ },
+ "IS": {
+ "name": "Islàndia"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Itàlia"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japó"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordània"
+ },
+ "KZ": {
+ "name": "Kazakhstan"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "KG": {
+ "name": "Kirguizistan"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LV": {
+ "name": "Letònia"
+ },
+ "LB": {
+ "name": "Líban"
+ },
+ "LR": {
+ "name": "Libèria"
+ },
+ "LY": {
+ "name": "Líbia"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lituània"
+ },
+ "LU": {
+ "name": "Luxemburg"
+ },
+ "MO": {
+ "name": "Macau (RAE Xina)"
+ },
+ "MK": {
+ "name": "Macedònia"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MY": {
+ "name": "Malàisia"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MV": {
+ "name": "Maldives"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marroc"
+ },
+ "MQ": {
+ "name": "Martinica"
+ },
+ "MU": {
+ "name": "Maurici"
+ },
+ "MR": {
+ "name": "Mauritània"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Mèxic"
+ },
+ "FM": {
+ "name": "Micronèsia"
+ },
+ "MZ": {
+ "name": "Moçambic"
+ },
+ "MD": {
+ "name": "Moldàvia"
+ },
+ "MC": {
+ "name": "Mònaco"
+ },
+ "MN": {
+ "name": "Mongòlia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MM": {
+ "name": "Myanmar (Birmània)"
+ },
+ "NA": {
+ "name": "Namíbia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Níger"
+ },
+ "NG": {
+ "name": "Nigèria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NF": {
+ "name": "Norfolk"
+ },
+ "NO": {
+ "name": "Noruega"
+ },
+ "NC": {
+ "name": "Nova Caledònia"
+ },
+ "NZ": {
+ "name": "Nova Zelanda"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "NL": {
+ "name": "Països Baixos"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panamà"
+ },
+ "PG": {
+ "name": "Papua Nova Guinea"
+ },
+ "PY": {
+ "name": "Paraguai"
+ },
+ "PE": {
+ "name": "Perú"
+ },
+ "PF": {
+ "name": "Polinèsia Francesa"
+ },
+ "PL": {
+ "name": "Polònia"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "QA": {
+ "name": "Qatar"
+ },
+ "GB": {
+ "name": "Regne Unit"
+ },
+ "CF": {
+ "name": "República Centreafricana"
+ },
+ "ZA": {
+ "name": "República de Sud-àfrica"
+ },
+ "DO": {
+ "name": "República Dominicana"
+ },
+ "CZ": {
+ "name": "República Txeca"
+ },
+ "RO": {
+ "name": "Romania"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RU": {
+ "name": "Rússia"
+ },
+ "EH": {
+ "name": "Sàhara Occidental"
+ },
+ "BL": {
+ "name": "Saint Barthélemy"
+ },
+ "KN": {
+ "name": "Saint Christopher i Nevis"
+ },
+ "SH": {
+ "name": "Saint Helena"
+ },
+ "LC": {
+ "name": "Saint Lucia"
+ },
+ "MF": {
+ "name": "Saint Martin"
+ },
+ "VC": {
+ "name": "Saint Vincent i les Grenadines"
+ },
+ "PM": {
+ "name": "Saint-Pierre-et-Miquelon"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa Nord-americana"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "São Tomé i Príncipe"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Sèrbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Síria"
+ },
+ "SO": {
+ "name": "Somàlia"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "SS": {
+ "name": "Sudan del Sud"
+ },
+ "SE": {
+ "name": "Suècia"
+ },
+ "CH": {
+ "name": "Suïssa"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SJ": {
+ "name": "Svalbard i Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swazilàndia"
+ },
+ "TJ": {
+ "name": "Tadjikistan"
+ },
+ "TH": {
+ "name": "Tailàndia"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TZ": {
+ "name": "Tanzània"
+ },
+ "IO": {
+ "name": "Territori Britànic de l’Oceà Índic"
+ },
+ "TF": {
+ "name": "Territoris Francesos del Sud"
+ },
+ "PS": {
+ "name": "territoris palestins"
+ },
+ "TL": {
+ "name": "Timor Oriental"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinitat i Tobago"
+ },
+ "TA": {
+ "name": "Tristão da Cunha"
+ },
+ "TN": {
+ "name": "Tunísia"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TR": {
+ "name": "Turquia"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "TD": {
+ "name": "Txad"
+ },
+ "UA": {
+ "name": "Ucraïna"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UY": {
+ "name": "Uruguai"
+ },
+ "UZ": {
+ "name": "Uzbekistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VE": {
+ "name": "Veneçuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis i Futuna"
+ },
+ "CL": {
+ "name": "Xile"
+ },
+ "CN": {
+ "name": "Xina"
+ },
+ "CY": {
+ "name": "Xipre"
+ },
+ "ZM": {
+ "name": "Zàmbia"
+ },
+ "ZW": {
+ "name": "Zimbàbue"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/ce.json b/vendor/commerceguys/intl/resources/country/ce.json
new file mode 100644
index 000000000..4db6fcd4c
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/ce.json
@@ -0,0 +1,761 @@
+{
+ "AU": {
+ "name": "Австрали"
+ },
+ "AT": {
+ "name": "Австри"
+ },
+ "AZ": {
+ "name": "Азербайджан"
+ },
+ "AC": {
+ "name": "Айъадаларан гӀайре"
+ },
+ "AX": {
+ "name": "Аландан гӀайренаш"
+ },
+ "AL": {
+ "name": "Албани"
+ },
+ "DZ": {
+ "name": "Алжир"
+ },
+ "AS": {
+ "name": "Американ Самоа"
+ },
+ "AI": {
+ "name": "Ангилья"
+ },
+ "AO": {
+ "name": "Ангола"
+ },
+ "AD": {
+ "name": "Андорра"
+ },
+ "AQ": {
+ "name": "Антарктида"
+ },
+ "AG": {
+ "name": "Антигуа а, Барбуда а"
+ },
+ "AR": {
+ "name": "Аргентина"
+ },
+ "AW": {
+ "name": "Аруба"
+ },
+ "UM": {
+ "name": "АЦШн арахьара кегийн гӀайренаш"
+ },
+ "BS": {
+ "name": "Багаман гӀайренаш"
+ },
+ "BD": {
+ "name": "Бангладеш"
+ },
+ "BB": {
+ "name": "Барбадос"
+ },
+ "BH": {
+ "name": "Бахрейн"
+ },
+ "BZ": {
+ "name": "Белиз"
+ },
+ "BY": {
+ "name": "Белорусси"
+ },
+ "BE": {
+ "name": "Бельги"
+ },
+ "BJ": {
+ "name": "Бенин"
+ },
+ "BM": {
+ "name": "Бермудан гӀайренаш"
+ },
+ "BG": {
+ "name": "Болгари"
+ },
+ "BO": {
+ "name": "Боливи"
+ },
+ "BQ": {
+ "name": "Бонэйр, Синт-Эстатиус а, Саба а"
+ },
+ "BA": {
+ "name": "Босни а, Герцеговина а"
+ },
+ "BW": {
+ "name": "Ботсвана"
+ },
+ "BR": {
+ "name": "Бразили"
+ },
+ "IO": {
+ "name": "Британин латта Индин океанехь"
+ },
+ "BN": {
+ "name": "Бруней-Даруссалам"
+ },
+ "BF": {
+ "name": "Буркина- Фасо"
+ },
+ "BI": {
+ "name": "Бурунди"
+ },
+ "BT": {
+ "name": "Бутан"
+ },
+ "VU": {
+ "name": "Вануату"
+ },
+ "VA": {
+ "name": "Ватикан"
+ },
+ "HU": {
+ "name": "Венгри"
+ },
+ "VE": {
+ "name": "Венесуэла"
+ },
+ "VI": {
+ "name": "Виргинийн гӀайренаш (АЦШ)"
+ },
+ "VG": {
+ "name": "Виргинийн гӀайренаш (Британи)"
+ },
+ "VN": {
+ "name": "Вьетнам"
+ },
+ "GA": {
+ "name": "Габон"
+ },
+ "HT": {
+ "name": "Гаити"
+ },
+ "GY": {
+ "name": "Гайана"
+ },
+ "GM": {
+ "name": "Гамби"
+ },
+ "GH": {
+ "name": "Гана"
+ },
+ "GP": {
+ "name": "Гваделупа"
+ },
+ "GT": {
+ "name": "Гватемала"
+ },
+ "GN": {
+ "name": "Гвиней"
+ },
+ "GW": {
+ "name": "Гвиней-Бисау"
+ },
+ "DE": {
+ "name": "Германи"
+ },
+ "GG": {
+ "name": "Гернси"
+ },
+ "GI": {
+ "name": "Гибралтар"
+ },
+ "HN": {
+ "name": "Гондурас"
+ },
+ "HK": {
+ "name": "Гонконг (ша-къаьстина кӀошт)"
+ },
+ "GD": {
+ "name": "Гренада"
+ },
+ "GL": {
+ "name": "Гренланди"
+ },
+ "GR": {
+ "name": "Греци"
+ },
+ "GU": {
+ "name": "Гуам"
+ },
+ "GE": {
+ "name": "Гуьржийчоь"
+ },
+ "IR": {
+ "name": "ГӀажарийчоь"
+ },
+ "CX": {
+ "name": "ГӀайре ӏиса пайхӏамар вина де"
+ },
+ "DK": {
+ "name": "Дани"
+ },
+ "CD": {
+ "name": "Демократин Республика Конго"
+ },
+ "JE": {
+ "name": "Джерси"
+ },
+ "DJ": {
+ "name": "Джибути"
+ },
+ "DG": {
+ "name": "Диего-Гарси"
+ },
+ "DM": {
+ "name": "Доминика"
+ },
+ "DO": {
+ "name": "Доминикан Республика"
+ },
+ "ZM": {
+ "name": "Замби"
+ },
+ "ZW": {
+ "name": "Зимбабве"
+ },
+ "IL": {
+ "name": "Израиль"
+ },
+ "IN": {
+ "name": "Инди"
+ },
+ "ID": {
+ "name": "Индонези"
+ },
+ "IE": {
+ "name": "Ирланди"
+ },
+ "IS": {
+ "name": "Исланди"
+ },
+ "ES": {
+ "name": "Испани"
+ },
+ "IT": {
+ "name": "Итали"
+ },
+ "YE": {
+ "name": "Йемен"
+ },
+ "GB": {
+ "name": "Йоккха Британи"
+ },
+ "CV": {
+ "name": "Кабо-Верде"
+ },
+ "KZ": {
+ "name": "Казахстан"
+ },
+ "KY": {
+ "name": "Кайман гӀайренаш"
+ },
+ "KH": {
+ "name": "Камбоджа"
+ },
+ "CM": {
+ "name": "Камерун"
+ },
+ "CA": {
+ "name": "Канада"
+ },
+ "IC": {
+ "name": "Канаран гӀайренаш"
+ },
+ "QA": {
+ "name": "Катар"
+ },
+ "KE": {
+ "name": "Кени"
+ },
+ "NZ": {
+ "name": "Керла Зеланди"
+ },
+ "NC": {
+ "name": "Керла Каледони"
+ },
+ "CY": {
+ "name": "Кипр"
+ },
+ "KG": {
+ "name": "Киргизи"
+ },
+ "KI": {
+ "name": "Кирибати"
+ },
+ "CN": {
+ "name": "Китай"
+ },
+ "CC": {
+ "name": "Кокосийн гӀайренаш"
+ },
+ "CO": {
+ "name": "Колумби"
+ },
+ "KM": {
+ "name": "Комораш"
+ },
+ "XK": {
+ "name": "Косово"
+ },
+ "CR": {
+ "name": "Коста-Рика"
+ },
+ "CI": {
+ "name": "Кот-Д’ивуар"
+ },
+ "CU": {
+ "name": "Куба"
+ },
+ "KW": {
+ "name": "Кувейт"
+ },
+ "CK": {
+ "name": "Кукан гӀайренаш"
+ },
+ "GS": {
+ "name": "Къилба Джорджи а, Къилба Гавайн гӀайренаш а"
+ },
+ "KR": {
+ "name": "Къилба Корей"
+ },
+ "SS": {
+ "name": "Къилба Судан"
+ },
+ "ZA": {
+ "name": "Къилба-Африкин Республика"
+ },
+ "KP": {
+ "name": "Къилбаседа Корей"
+ },
+ "MP": {
+ "name": "Къилбаседа Марианан гӀайренаш"
+ },
+ "CW": {
+ "name": "Кюрасао"
+ },
+ "LA": {
+ "name": "Лаос"
+ },
+ "LV": {
+ "name": "Латви"
+ },
+ "LS": {
+ "name": "Лесото"
+ },
+ "LR": {
+ "name": "Либери"
+ },
+ "LB": {
+ "name": "Ливан"
+ },
+ "LY": {
+ "name": "Ливи"
+ },
+ "LT": {
+ "name": "Литва"
+ },
+ "LI": {
+ "name": "Лихтенштейн"
+ },
+ "LU": {
+ "name": "Люксембург"
+ },
+ "MU": {
+ "name": "Маврики"
+ },
+ "MR": {
+ "name": "Мавритани"
+ },
+ "MG": {
+ "name": "Мадагаскар"
+ },
+ "YT": {
+ "name": "Майотта"
+ },
+ "MO": {
+ "name": "Макао (ша-къаьстина кӀошт)"
+ },
+ "MK": {
+ "name": "Македони"
+ },
+ "MW": {
+ "name": "Малави"
+ },
+ "MY": {
+ "name": "Малайзи"
+ },
+ "ML": {
+ "name": "Мали"
+ },
+ "TL": {
+ "name": "Малхбален Тимор"
+ },
+ "EH": {
+ "name": "Малхбузен Саьхьара"
+ },
+ "MV": {
+ "name": "Мальдиваш"
+ },
+ "MT": {
+ "name": "Мальта"
+ },
+ "MA": {
+ "name": "Марокко"
+ },
+ "MQ": {
+ "name": "Мартиника"
+ },
+ "MH": {
+ "name": "Маршаллан гӀайренаш"
+ },
+ "MX": {
+ "name": "Мексика"
+ },
+ "FM": {
+ "name": "Микронезин Федеративни штаташ"
+ },
+ "EG": {
+ "name": "Мисар"
+ },
+ "MZ": {
+ "name": "Мозамбик"
+ },
+ "MD": {
+ "name": "Молдави"
+ },
+ "MC": {
+ "name": "Монако"
+ },
+ "MN": {
+ "name": "Монголи"
+ },
+ "MS": {
+ "name": "Монтсеррат"
+ },
+ "MM": {
+ "name": "Мьянма (Бирма)"
+ },
+ "IM": {
+ "name": "Мэн гӀайре"
+ },
+ "NA": {
+ "name": "Намиби"
+ },
+ "NR": {
+ "name": "Науру"
+ },
+ "NP": {
+ "name": "Непал"
+ },
+ "NE": {
+ "name": "Нигер"
+ },
+ "NG": {
+ "name": "Нигери"
+ },
+ "NL": {
+ "name": "Нидерландаш"
+ },
+ "NI": {
+ "name": "Никарагуа"
+ },
+ "NU": {
+ "name": "Ниуэ"
+ },
+ "NO": {
+ "name": "Норвеги"
+ },
+ "NF": {
+ "name": "Норфолк гӀайре"
+ },
+ "AF": {
+ "name": "ОвхӀан-пачхьалкх"
+ },
+ "OM": {
+ "name": "Оман"
+ },
+ "PK": {
+ "name": "Пакистан"
+ },
+ "PW": {
+ "name": "Палау"
+ },
+ "PS": {
+ "name": "Палестинан латтанаш"
+ },
+ "PA": {
+ "name": "Панама"
+ },
+ "PG": {
+ "name": "Папуа — Керла Гвиней"
+ },
+ "PY": {
+ "name": "Парагвай"
+ },
+ "PE": {
+ "name": "Перу"
+ },
+ "PN": {
+ "name": "Питкэрн гӀайренаш"
+ },
+ "PL": {
+ "name": "Польша"
+ },
+ "PT": {
+ "name": "Португали"
+ },
+ "PR": {
+ "name": "Пуэрто-Рико"
+ },
+ "CG": {
+ "name": "Республика Конго"
+ },
+ "RE": {
+ "name": "Реюньон"
+ },
+ "RU": {
+ "name": "Росси"
+ },
+ "RW": {
+ "name": "Руанда"
+ },
+ "RO": {
+ "name": "Румыни"
+ },
+ "SV": {
+ "name": "Сальвадор"
+ },
+ "WS": {
+ "name": "Самоа"
+ },
+ "SM": {
+ "name": "Сан-Марино"
+ },
+ "ST": {
+ "name": "Сан-Томе а, Принсипи а"
+ },
+ "SA": {
+ "name": "СаӀудийн Арави"
+ },
+ "SZ": {
+ "name": "Свазиленд"
+ },
+ "SC": {
+ "name": "Сейшелан гӀайренаш"
+ },
+ "BL": {
+ "name": "Сен-Бартельми"
+ },
+ "MF": {
+ "name": "Сен-Мартен"
+ },
+ "PM": {
+ "name": "Сен-Пьер а, Микелон а"
+ },
+ "SN": {
+ "name": "Сенегал"
+ },
+ "VC": {
+ "name": "Сент-Винсент а, Гренадинаш а"
+ },
+ "KN": {
+ "name": "Сент-Китс а, Невис а"
+ },
+ "LC": {
+ "name": "Сент-Люси"
+ },
+ "RS": {
+ "name": "Серби"
+ },
+ "EA": {
+ "name": "Сеута а, Мелилья а"
+ },
+ "SH": {
+ "name": "Сийлахьчу Еленин гӀайре"
+ },
+ "SG": {
+ "name": "Сингапур"
+ },
+ "SX": {
+ "name": "Синт-Мартен"
+ },
+ "SK": {
+ "name": "Словаки"
+ },
+ "SI": {
+ "name": "Словени"
+ },
+ "SB": {
+ "name": "Соломонан гӀайренаш"
+ },
+ "SO": {
+ "name": "Сомали"
+ },
+ "SD": {
+ "name": "Судан"
+ },
+ "SR": {
+ "name": "Суринам"
+ },
+ "SL": {
+ "name": "Сьерра- Леоне"
+ },
+ "TJ": {
+ "name": "Таджикистан"
+ },
+ "TH": {
+ "name": "Таиланд"
+ },
+ "TW": {
+ "name": "Тайвань"
+ },
+ "TZ": {
+ "name": "Танзани"
+ },
+ "TC": {
+ "name": "Тёркс а, Кайкос а гӀайренаш"
+ },
+ "TG": {
+ "name": "Того"
+ },
+ "TK": {
+ "name": "Токелау"
+ },
+ "TO": {
+ "name": "Тонга"
+ },
+ "TT": {
+ "name": "Тринидад а, Тобаго а"
+ },
+ "TA": {
+ "name": "Тристан-да- Кунья"
+ },
+ "TV": {
+ "name": "Тувалу"
+ },
+ "TN": {
+ "name": "Тунис"
+ },
+ "TM": {
+ "name": "Туркмени"
+ },
+ "TR": {
+ "name": "Туркойчоь"
+ },
+ "UG": {
+ "name": "Уганда"
+ },
+ "UZ": {
+ "name": "Узбекистан"
+ },
+ "UA": {
+ "name": "Украина"
+ },
+ "WF": {
+ "name": "Уоллис а, Футуна а"
+ },
+ "JO": {
+ "name": "Урдан"
+ },
+ "UY": {
+ "name": "Уругвай"
+ },
+ "FO": {
+ "name": "Фарерийн гӀайренаш"
+ },
+ "FJ": {
+ "name": "Фиджи"
+ },
+ "PH": {
+ "name": "Филиппинаш"
+ },
+ "FI": {
+ "name": "Финлянди"
+ },
+ "FK": {
+ "name": "Фолклендан гӀайренаш"
+ },
+ "FR": {
+ "name": "Франци"
+ },
+ "GF": {
+ "name": "Французийн Гвиана"
+ },
+ "TF": {
+ "name": "Французийн къилба латтанаш"
+ },
+ "PF": {
+ "name": "Французийн Полинези"
+ },
+ "HR": {
+ "name": "Хорвати"
+ },
+ "US": {
+ "name": "Цхьанатоьхна Штаташ"
+ },
+ "TD": {
+ "name": "Чад"
+ },
+ "CZ": {
+ "name": "Чехи"
+ },
+ "CL": {
+ "name": "Чили"
+ },
+ "CH": {
+ "name": "Швейцари"
+ },
+ "SE": {
+ "name": "Швеци"
+ },
+ "SY": {
+ "name": "Шема"
+ },
+ "SJ": {
+ "name": "Шпицберген а, Ян-Майен а"
+ },
+ "LK": {
+ "name": "Шри-Ланка"
+ },
+ "EC": {
+ "name": "Эквадор"
+ },
+ "GQ": {
+ "name": "Экваторан Гвиней"
+ },
+ "ER": {
+ "name": "Эритрей"
+ },
+ "AM": {
+ "name": "Эрмалойчоь"
+ },
+ "EE": {
+ "name": "Эстони"
+ },
+ "ET": {
+ "name": "Эфиопи"
+ },
+ "CF": {
+ "name": "Юккъерчу Африкин Республика"
+ },
+ "JM": {
+ "name": "Ямайка"
+ },
+ "JP": {
+ "name": "Япони"
+ },
+ "AE": {
+ "name": "Ӏарбийн Цхьанатоьхна Эмираташ"
+ },
+ "ME": {
+ "name": "Ӏаьржаламанхойчоь"
+ },
+ "IQ": {
+ "name": "Ӏиракъ"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/cgg.json b/vendor/commerceguys/intl/resources/country/cgg.json
new file mode 100644
index 000000000..6375bbd0c
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/cgg.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afuganistani"
+ },
+ "IS": {
+ "name": "Aisilandi"
+ },
+ "CI": {
+ "name": "Aivore Kositi"
+ },
+ "AX": {
+ "name": "Åland Islands"
+ },
+ "AE": {
+ "name": "Amahanga ga Buharabu ageeteereine"
+ },
+ "US": {
+ "name": "Amerika"
+ },
+ "AD": {
+ "name": "Andora"
+ },
+ "AG": {
+ "name": "Angiguwa na Babuda"
+ },
+ "AO": {
+ "name": "Angora"
+ },
+ "AI": {
+ "name": "Angwira"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AR": {
+ "name": "Arigentina"
+ },
+ "DZ": {
+ "name": "Arigyeriya"
+ },
+ "AM": {
+ "name": "Arimeniya"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AL": {
+ "name": "Arubania"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AZ": {
+ "name": "Azabagyani"
+ },
+ "BB": {
+ "name": "Babadosi"
+ },
+ "BS": {
+ "name": "Bahama"
+ },
+ "BH": {
+ "name": "Bahareni"
+ },
+ "BD": {
+ "name": "Bangaradeshi"
+ },
+ "BY": {
+ "name": "Bararusi"
+ },
+ "BJ": {
+ "name": "Benini"
+ },
+ "BM": {
+ "name": "Berimuda"
+ },
+ "BZ": {
+ "name": "Berize"
+ },
+ "BF": {
+ "name": "Bokina Faso"
+ },
+ "BO": {
+ "name": "Boriiviya"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BA": {
+ "name": "Boziniya na Hezegovina"
+ },
+ "IO": {
+ "name": "British Indian Ocean Territory"
+ },
+ "BE": {
+ "name": "Bubirigi"
+ },
+ "FR": {
+ "name": "Bufaransa"
+ },
+ "FI": {
+ "name": "Bufini"
+ },
+ "DE": {
+ "name": "Bugirimaani"
+ },
+ "GB": {
+ "name": "Bungyereza"
+ },
+ "BR": {
+ "name": "Buraziiri"
+ },
+ "BG": {
+ "name": "Burugariya"
+ },
+ "TL": {
+ "name": "Burugweizooba bwa Timori"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BN": {
+ "name": "Burunei"
+ },
+ "BT": {
+ "name": "Butani"
+ },
+ "TR": {
+ "name": "Buturuki \/Take"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "TD": {
+ "name": "Chadi"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Deenimaaka"
+ },
+ "CD": {
+ "name": "Demokoratika Ripaaburika ya Kongo"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "MP": {
+ "name": "Ebizinga by’amatemba ga Mariana"
+ },
+ "TC": {
+ "name": "Ebizinga bya Buturuki na Kaiko"
+ },
+ "FK": {
+ "name": "Ebizinga bya Faakilanda"
+ },
+ "KY": {
+ "name": "Ebizinga bya Kayimani"
+ },
+ "CV": {
+ "name": "Ebizinga bya Kepuvade"
+ },
+ "CK": {
+ "name": "Ebizinga bya Kuuku"
+ },
+ "MH": {
+ "name": "Ebizinga bya Marshaa"
+ },
+ "SB": {
+ "name": "Ebizinga bya Surimaani"
+ },
+ "VI": {
+ "name": "Ebizinga bya Virigini ebya Amerika"
+ },
+ "VG": {
+ "name": "Ebizinga bya Virigini ebya Bungyereza"
+ },
+ "CF": {
+ "name": "Eihanga rya Rwagati ya Afirika"
+ },
+ "NF": {
+ "name": "Ekizinga Norifoko"
+ },
+ "SV": {
+ "name": "Eri Salivado"
+ },
+ "ER": {
+ "name": "Eriteriya"
+ },
+ "EE": {
+ "name": "Esitoniya"
+ },
+ "ET": {
+ "name": "Ethiyopiya"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Figyi"
+ },
+ "PH": {
+ "name": "Firipino"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gabooni"
+ },
+ "GM": {
+ "name": "Gambiya"
+ },
+ "GH": {
+ "name": "Gana"
+ },
+ "GI": {
+ "name": "Giburaata"
+ },
+ "GN": {
+ "name": "Gine"
+ },
+ "GW": {
+ "name": "Ginebisau"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GQ": {
+ "name": "Guni"
+ },
+ "GD": {
+ "name": "Gurenada"
+ },
+ "GL": {
+ "name": "Guriinirandi"
+ },
+ "GR": {
+ "name": "Guriisi"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "GF": {
+ "name": "Guyana ya Bufaransa"
+ },
+ "GP": {
+ "name": "Gwaderupe"
+ },
+ "GU": {
+ "name": "Gwamu"
+ },
+ "GT": {
+ "name": "Gwatemara"
+ },
+ "JM": {
+ "name": "Gyamaika"
+ },
+ "JP": {
+ "name": "Gyapaani"
+ },
+ "DJ": {
+ "name": "Gyibuti"
+ },
+ "GE": {
+ "name": "Gyogiya"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HU": {
+ "name": "Hangare"
+ },
+ "HN": {
+ "name": "Hondurasi"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "NL": {
+ "name": "Hoorandi"
+ },
+ "EC": {
+ "name": "Ikweda"
+ },
+ "IN": {
+ "name": "Indiya"
+ },
+ "ID": {
+ "name": "Indoneeziya"
+ },
+ "IQ": {
+ "name": "Iraaka"
+ },
+ "IR": {
+ "name": "Iraani"
+ },
+ "IE": {
+ "name": "Irerandi"
+ },
+ "IL": {
+ "name": "Isirairi"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IT": {
+ "name": "Itare"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "KH": {
+ "name": "Kambodiya"
+ },
+ "CM": {
+ "name": "Kameruuni"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "QA": {
+ "name": "Kata"
+ },
+ "KZ": {
+ "name": "Kazakisitani"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "KG": {
+ "name": "Kirigizistani"
+ },
+ "CG": {
+ "name": "Kongo"
+ },
+ "HR": {
+ "name": "Korasiya"
+ },
+ "KR": {
+ "name": "Koreya Amashuuma"
+ },
+ "KP": {
+ "name": "Koreya Amatemba"
+ },
+ "CO": {
+ "name": "Korombiya"
+ },
+ "KM": {
+ "name": "Koromo"
+ },
+ "CR": {
+ "name": "Kositarika"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuweiti"
+ },
+ "LU": {
+ "name": "Lakizembaaga"
+ },
+ "LV": {
+ "name": "Latviya"
+ },
+ "LA": {
+ "name": "Layosi"
+ },
+ "LB": {
+ "name": "Lebanoni"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LR": {
+ "name": "Liberiya"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Lishenteni"
+ },
+ "LT": {
+ "name": "Lithuania"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MG": {
+ "name": "Madagasika"
+ },
+ "MW": {
+ "name": "Marawi"
+ },
+ "MY": {
+ "name": "marayizia"
+ },
+ "ML": {
+ "name": "Mari"
+ },
+ "MV": {
+ "name": "Maridives"
+ },
+ "MT": {
+ "name": "Marita"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MK": {
+ "name": "Masedoonia"
+ },
+ "MU": {
+ "name": "Maurishiasi"
+ },
+ "MR": {
+ "name": "Mauriteeniya"
+ },
+ "YT": {
+ "name": "Mayote"
+ },
+ "MX": {
+ "name": "Mexico"
+ },
+ "FM": {
+ "name": "Mikironesiya"
+ },
+ "EG": {
+ "name": "Misiri"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongoria"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrati"
+ },
+ "MD": {
+ "name": "Moridova"
+ },
+ "MA": {
+ "name": "Morocco"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanamar"
+ },
+ "NE": {
+ "name": "Naigya"
+ },
+ "NG": {
+ "name": "Naigyeriya"
+ },
+ "NA": {
+ "name": "Namibiya"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepo"
+ },
+ "NI": {
+ "name": "Nikaragwa"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NC": {
+ "name": "Niukaredonia"
+ },
+ "NZ": {
+ "name": "Niuzirandi"
+ },
+ "NO": {
+ "name": "Noorwe"
+ },
+ "OM": {
+ "name": "Omaani"
+ },
+ "AU": {
+ "name": "Ositureeriya"
+ },
+ "AT": {
+ "name": "Osituria"
+ },
+ "PK": {
+ "name": "Pakisitaani"
+ },
+ "PW": {
+ "name": "Palaawu"
+ },
+ "PS": {
+ "name": "Palestinian Territories"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua"
+ },
+ "PY": {
+ "name": "Paragwai"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitkaini"
+ },
+ "PT": {
+ "name": "Pocugo"
+ },
+ "PF": {
+ "name": "Polinesia ya Bufaransa"
+ },
+ "PL": {
+ "name": "Poorandi"
+ },
+ "PR": {
+ "name": "Pwetoriko"
+ },
+ "DO": {
+ "name": "Ripaaburika ya Dominica"
+ },
+ "CZ": {
+ "name": "Ripaaburika ya Zeeki"
+ },
+ "RE": {
+ "name": "Riyuniyoni"
+ },
+ "RO": {
+ "name": "Romaniya"
+ },
+ "RU": {
+ "name": "Rrasha"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "CY": {
+ "name": "Saipurasi"
+ },
+ "SM": {
+ "name": "Samarino"
+ },
+ "WS": {
+ "name": "Samowa"
+ },
+ "AS": {
+ "name": "Samowa ya Ameerika"
+ },
+ "SA": {
+ "name": "Saudi Areebiya"
+ },
+ "ZA": {
+ "name": "Sausi Afirika"
+ },
+ "ST": {
+ "name": "Sawo Tome na Purinsipo"
+ },
+ "SN": {
+ "name": "Senego"
+ },
+ "SH": {
+ "name": "Senti Herena"
+ },
+ "KN": {
+ "name": "Senti Kittis na Nevisi"
+ },
+ "PM": {
+ "name": "Senti Piyerre na Mikweron"
+ },
+ "LC": {
+ "name": "Senti Rusiya"
+ },
+ "VC": {
+ "name": "Senti Vinsent na Gurenadini"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Shesheresi"
+ },
+ "SG": {
+ "name": "Singapo"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "ES": {
+ "name": "Sipeyini"
+ },
+ "LK": {
+ "name": "Siriranka"
+ },
+ "SY": {
+ "name": "Siriya"
+ },
+ "SK": {
+ "name": "Sirovaakiya"
+ },
+ "SI": {
+ "name": "Sirovaaniya"
+ },
+ "SL": {
+ "name": "Sirra Riyooni"
+ },
+ "SO": {
+ "name": "Somaariya"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SD": {
+ "name": "Sudani"
+ },
+ "SR": {
+ "name": "Surinaamu"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swazirandi"
+ },
+ "SE": {
+ "name": "Swideni"
+ },
+ "CH": {
+ "name": "Swisi"
+ },
+ "TH": {
+ "name": "Tairandi"
+ },
+ "TJ": {
+ "name": "Tajikisitani"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TW": {
+ "name": "Tayiwaani"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokerawu"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunizia"
+ },
+ "TT": {
+ "name": "Turinidad na Tobago"
+ },
+ "TM": {
+ "name": "Turukimenisitani"
+ },
+ "TV": {
+ "name": "Tuvaru"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukureini"
+ },
+ "UY": {
+ "name": "Urugwai"
+ },
+ "UZ": {
+ "name": "Uzibekisitani"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikani"
+ },
+ "VE": {
+ "name": "Venezuwera"
+ },
+ "VN": {
+ "name": "Viyetinaamu"
+ },
+ "WF": {
+ "name": "Warris na Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yemeni"
+ },
+ "JO": {
+ "name": "Yorudaani"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/chr.json b/vendor/commerceguys/intl/resources/country/chr.json
new file mode 100644
index 000000000..335cd6a81
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/chr.json
@@ -0,0 +1,761 @@
+{
+ "AM": {
+ "name": "ᎠᎵᎻᏂᎠ"
+ },
+ "AL": {
+ "name": "ᎠᎵᏇᏂᏯ"
+ },
+ "DZ": {
+ "name": "ᎠᎵᏥᎵᏯ"
+ },
+ "AW": {
+ "name": "ᎠᎷᏆ"
+ },
+ "AS": {
+ "name": "ᎠᎺᎵᎧ ᏌᎼᎠ"
+ },
+ "GF": {
+ "name": "ᎠᏂᎦᎸᏥ ᎩᎠ"
+ },
+ "PF": {
+ "name": "ᎠᏂᎦᎸᏥ ᏆᎵᏂᏏᎠ"
+ },
+ "TF": {
+ "name": "ᎠᏂᎦᎸᏥ ᏧᎦᎾᏮ ᎦᏙᎯ ᎤᎵᏍᏛᎢ"
+ },
+ "AI": {
+ "name": "ᎠᏂᎩᎳ"
+ },
+ "AO": {
+ "name": "ᎠᏂᎪᎳ"
+ },
+ "PH": {
+ "name": "ᎠᏂᏈᎵᎩᏃ"
+ },
+ "MX": {
+ "name": "ᎠᏂᏍᏆᏂ"
+ },
+ "ES": {
+ "name": "ᎠᏂᏍᏆᏂᏱ"
+ },
+ "SZ": {
+ "name": "ᎠᏂᏍᏩᏏᎢ"
+ },
+ "AD": {
+ "name": "ᎠᏂᏙᎳ"
+ },
+ "TC": {
+ "name": "ᎠᏂᏛᎵᎩ ᎠᎴ ᎨᎢᎪ ᏚᎦᏚᏛᎢ"
+ },
+ "DE": {
+ "name": "ᎠᏂᏛᏥ"
+ },
+ "AT": {
+ "name": "ᎠᏍᏟᏯ"
+ },
+ "AZ": {
+ "name": "ᎠᏎᏆᏣᏂ"
+ },
+ "CK": {
+ "name": "ᎠᏓᏍᏓᏴᎲᏍᎩ ᏚᎦᏚᏛᎢ"
+ },
+ "VA": {
+ "name": "ᎠᏥᎳᏁᏠ ᎦᏚᎲ"
+ },
+ "AR": {
+ "name": "ᎠᏥᏂᏘᏂᎠ"
+ },
+ "AF": {
+ "name": "ᎠᏫᎨᏂᏍᏖᏂ"
+ },
+ "IE": {
+ "name": "ᎠᏲᎳᏂ"
+ },
+ "AU": {
+ "name": "ᎡᎳᏗᏜ"
+ },
+ "SV": {
+ "name": "ᎡᎵᏌᎵᏆᏙᎵ"
+ },
+ "ER": {
+ "name": "ᎡᎵᏟᏯ"
+ },
+ "EC": {
+ "name": "ᎡᏆᏙᎵ"
+ },
+ "GQ": {
+ "name": "ᎡᏆᏙᎵᎠᎵ ᎩᎢᏂ"
+ },
+ "EE": {
+ "name": "ᎡᏍᏙᏂᏯ"
+ },
+ "CV": {
+ "name": "ᎢᎬᎾᏕᎾ ᎢᏤᏳᏍᏗ"
+ },
+ "IQ": {
+ "name": "ᎢᎳᎩ"
+ },
+ "IR": {
+ "name": "ᎢᎴᏂ"
+ },
+ "ID": {
+ "name": "ᎢᏂᏙᏂᏍᏯ"
+ },
+ "IN": {
+ "name": "ᎢᏅᏗᎾ"
+ },
+ "IL": {
+ "name": "ᎢᏏᎵᏱ"
+ },
+ "IT": {
+ "name": "ᎢᏔᎵ"
+ },
+ "ET": {
+ "name": "ᎢᏗᎣᏈᎠ"
+ },
+ "NC": {
+ "name": "ᎢᏤ ᎧᎵᏙᏂᎠᏂ"
+ },
+ "NZ": {
+ "name": "ᎢᏤ ᏏᎢᎴᏂᏗ"
+ },
+ "GL": {
+ "name": "ᎢᏤᏍᏛᏱ"
+ },
+ "EG": {
+ "name": "ᎢᏥᏈᎢ"
+ },
+ "CI": {
+ "name": "ᎢᏬᎵ ᎾᎿ ᎠᎹᏳᎶᏗ"
+ },
+ "AX": {
+ "name": "ᎣᎴᏅᏓ ᏚᎦᏚᏛᎢ"
+ },
+ "OM": {
+ "name": "ᎣᎺᏂ"
+ },
+ "AC": {
+ "name": "ᎤᎵᏌᎳᏓᏅ ᎤᎦᏚᏛᎢ"
+ },
+ "UZ": {
+ "name": "ᎤᏍᏇᎩᏍᏖᏂ"
+ },
+ "IM": {
+ "name": "ᎤᏍᏗ ᎤᎦᏚᏛᎢ ᎾᎿ ᎠᏍᎦᏯ"
+ },
+ "KN": {
+ "name": "ᎤᏓᏅᏘ ᎨᏘᏏ ᎠᎴ ᏁᏪᏏ"
+ },
+ "SH": {
+ "name": "ᎤᏓᏅᏘ ᎮᎵᎾ"
+ },
+ "LC": {
+ "name": "ᎤᏓᏅᏘ ᎷᏏᏯ"
+ },
+ "SM": {
+ "name": "ᎤᏓᏅᏘ ᎹᎵᎢᏃ"
+ },
+ "BL": {
+ "name": "ᎤᏓᏅᏘ ᏆᏕᎳᎻ"
+ },
+ "PM": {
+ "name": "ᎤᏓᏅᏘ ᏈᏰ ᎠᎴ ᎻᏇᎶᏂ"
+ },
+ "MF": {
+ "name": "ᎤᏓᏅᏘ ᏡᏡ"
+ },
+ "VC": {
+ "name": "ᎤᏓᏅᏘ ᏫᏂᏏᏂᏗ ᎠᎴ ᎾᏍᎩ ᏇᎾᏗᏁᏍ"
+ },
+ "AG": {
+ "name": "ᎤᏪᏘ ᎠᎴ ᏆᏊᏓ"
+ },
+ "GH": {
+ "name": "ᎦᎠᎾ"
+ },
+ "FR": {
+ "name": "ᎦᎸᏥᏱ"
+ },
+ "GM": {
+ "name": "ᎦᎹᏈᎢᎠ"
+ },
+ "GA": {
+ "name": "ᎦᏉᏂ"
+ },
+ "GY": {
+ "name": "ᎦᏯᎾ"
+ },
+ "KI": {
+ "name": "ᎧᎵᏆᏘ"
+ },
+ "BQ": {
+ "name": "ᎧᎵᏈᎢᏂᎯ ᎾᏍᎩᏁᏛᎳᏂ"
+ },
+ "HR": {
+ "name": "ᎧᎶᎡᏏᎠ"
+ },
+ "CM": {
+ "name": "ᎧᎹᎷᏂ"
+ },
+ "KH": {
+ "name": "ᎧᎹᏉᏗᎠᏂ"
+ },
+ "CD": {
+ "name": "ᎧᏂᎪ - ᎨᏂᏝᏌ"
+ },
+ "CG": {
+ "name": "ᎧᏂᎪ - ᏆᏌᏩᎵ"
+ },
+ "KZ": {
+ "name": "ᎧᏎᎧᏍᏕᏂ"
+ },
+ "QA": {
+ "name": "ᎧᏔᎵ"
+ },
+ "KY": {
+ "name": "ᎨᎢᎹᏂ ᏚᎦᏚᏛᎢ"
+ },
+ "CA": {
+ "name": "ᎨᎾᏓ"
+ },
+ "KE": {
+ "name": "ᎨᏂᏯ"
+ },
+ "GN": {
+ "name": "ᎩᎢᏂ"
+ },
+ "GW": {
+ "name": "ᎩᎢᏂ-ᏈᏌᎤᏫ"
+ },
+ "GB": {
+ "name": "ᎩᎵᏏᏲ"
+ },
+ "KG": {
+ "name": "ᎩᎵᏣᎢᏍ"
+ },
+ "GR": {
+ "name": "ᎪᎢᎯ"
+ },
+ "CC": {
+ "name": "ᎪᎪᏍ (ᎩᎵᏂ) ᏚᎦᏚᏛᎢ"
+ },
+ "CO": {
+ "name": "ᎪᎸᎻᏈᎢᎠ"
+ },
+ "KM": {
+ "name": "ᎪᎼᎳᏍ"
+ },
+ "CR": {
+ "name": "ᎪᏍᏓ ᎵᎧ"
+ },
+ "XK": {
+ "name": "ᎪᏐᏉ"
+ },
+ "CW": {
+ "name": "ᎫᎳᎨᎣ"
+ },
+ "CU": {
+ "name": "ᎫᏆ"
+ },
+ "KW": {
+ "name": "ᎫᏪᎢᏘ"
+ },
+ "CF": {
+ "name": "ᎬᎿᎨᏍᏛ ᎠᏰᏟ ᏍᎦᏚᎩ"
+ },
+ "GG": {
+ "name": "ᎬᏂᏏ"
+ },
+ "TR": {
+ "name": "ᎬᏃ"
+ },
+ "HN": {
+ "name": "ᎭᏂᏚᎳᏍ"
+ },
+ "HT": {
+ "name": "ᎮᎢᏘ"
+ },
+ "HK": {
+ "name": "ᎰᏂᎩ ᎪᏂᎩ ᎤᏓᏤᎵᏓ ᏧᏂᎸᏫᏍᏓᏁᏗ ᎢᎬᎾᏕᎾ ᏓᎶᏂᎨᏍᏛ"
+ },
+ "HU": {
+ "name": "ᎲᏂᎦᎵ"
+ },
+ "LR": {
+ "name": "ᎳᏈᎵᏯ"
+ },
+ "LV": {
+ "name": "ᎳᏘᏫᎠ"
+ },
+ "LA": {
+ "name": "ᎴᎣᏍ"
+ },
+ "LB": {
+ "name": "ᎴᏆᎾᏂ"
+ },
+ "LS": {
+ "name": "ᎴᏐᏙ"
+ },
+ "RE": {
+ "name": "ᎴᏳᏂᎠᏂ"
+ },
+ "LI": {
+ "name": "ᎵᎦᏗᏂᏍᏓᏂ"
+ },
+ "LY": {
+ "name": "ᎵᏈᏯ"
+ },
+ "LT": {
+ "name": "ᎵᏗᏪᏂᎠ"
+ },
+ "RO": {
+ "name": "ᎶᎹᏂᏯ"
+ },
+ "RW": {
+ "name": "ᎶᏩᏂᏓ"
+ },
+ "LU": {
+ "name": "ᎸᎧᏎᏋᎩ"
+ },
+ "FM": {
+ "name": "ᎹᎢᏉᏂᏏᏯ"
+ },
+ "MO": {
+ "name": "ᎹᎧᎣ (ᎤᏓᏤᎵᏓ ᏧᏂᎸᏫᏍᏓᏁᏗ ᎢᎬᎾᏕᎾ) ᏣᎢ"
+ },
+ "MW": {
+ "name": "ᎹᎳᏫ"
+ },
+ "MY": {
+ "name": "ᎹᎴᏏᎢᎠ"
+ },
+ "ML": {
+ "name": "ᎹᎵ"
+ },
+ "MT": {
+ "name": "ᎹᎵᏔ"
+ },
+ "MV": {
+ "name": "ᎹᎵᏗᏫᏍ"
+ },
+ "MD": {
+ "name": "ᎹᎵᏙᏫᎠ"
+ },
+ "MC": {
+ "name": "ᎹᎾᎪ"
+ },
+ "MN": {
+ "name": "ᎹᏂᎪᎵᎠ"
+ },
+ "MS": {
+ "name": "ᎹᏂᏘᏌᎳᏗ"
+ },
+ "MH": {
+ "name": "ᎹᏌᎵ ᏚᎦᏚᏛᎢ"
+ },
+ "MK": {
+ "name": "ᎹᏎᏙᏂᏯ"
+ },
+ "MG": {
+ "name": "ᎹᏓᎦᏍᎧᎵ"
+ },
+ "MR": {
+ "name": "ᎹᏘᎢᏯ"
+ },
+ "MQ": {
+ "name": "ᎹᏘᏂᎨ"
+ },
+ "MM": {
+ "name": "ᎹᏯᎹᎵ"
+ },
+ "YT": {
+ "name": "ᎺᏯᏖ"
+ },
+ "MU": {
+ "name": "ᎼᎵᏏᎥᏍ"
+ },
+ "MA": {
+ "name": "ᎼᎶᎪ"
+ },
+ "ME": {
+ "name": "ᎼᏂᏔᏁᎦᎶ"
+ },
+ "MZ": {
+ "name": "ᎼᏎᎻᏇᎩ"
+ },
+ "NE": {
+ "name": "ᎾᎢᏨ"
+ },
+ "NA": {
+ "name": "ᎾᎻᏈᎢᏯ"
+ },
+ "BS": {
+ "name": "ᎾᏍᎩ ᏆᎭᎹᏍ"
+ },
+ "NP": {
+ "name": "ᏁᏆᎵ"
+ },
+ "NL": {
+ "name": "ᏁᏛᎳᏂ"
+ },
+ "NI": {
+ "name": "ᏂᎧᎳᏆ"
+ },
+ "NG": {
+ "name": "ᏂᏥᎵᏯ"
+ },
+ "NU": {
+ "name": "ᏂᏳ"
+ },
+ "NR": {
+ "name": "ᏃᎤᎷ"
+ },
+ "NF": {
+ "name": "ᏃᎵᏬᎵᎩ ᎤᎦᏚᏛᎢ"
+ },
+ "NO": {
+ "name": "ᏃᏪ"
+ },
+ "PK": {
+ "name": "ᏆᎩᏍᏖᏂ"
+ },
+ "BH": {
+ "name": "ᏆᎭᎴᎢᏂ"
+ },
+ "PY": {
+ "name": "ᏆᎳᏇᎢᏯ"
+ },
+ "PW": {
+ "name": "ᏆᎴᎠᏫ"
+ },
+ "PS": {
+ "name": "ᏆᎴᏍᏗᏂᎠᏂ ᏄᎬᏫᏳᏌᏕᎩ"
+ },
+ "GU": {
+ "name": "ᏆᎻ"
+ },
+ "PA": {
+ "name": "ᏆᎾᎹ"
+ },
+ "BJ": {
+ "name": "ᏆᏂᎢᏂ"
+ },
+ "BD": {
+ "name": "ᏆᏂᎦᎵᏕᏍ"
+ },
+ "PG": {
+ "name": "ᏆᏇ ᎢᏤ ᎩᎢᏂ"
+ },
+ "BB": {
+ "name": "ᏆᏇᏙᏍ"
+ },
+ "BM": {
+ "name": "ᏆᏊᏓ"
+ },
+ "BR": {
+ "name": "ᏆᏏᎵ"
+ },
+ "BW": {
+ "name": "ᏆᏣᏩᎾ"
+ },
+ "PR": {
+ "name": "ᏇᎡᏙ ᎵᎢᎪ"
+ },
+ "BY": {
+ "name": "ᏇᎳᎷᏍ"
+ },
+ "BZ": {
+ "name": "ᏇᎵᏍ"
+ },
+ "BE": {
+ "name": "ᏇᎵᏥᎥᎻ"
+ },
+ "PE": {
+ "name": "ᏇᎷ"
+ },
+ "PN": {
+ "name": "ᏈᎧᎵᏂ ᏚᎦᏚᏛᎢ"
+ },
+ "VG": {
+ "name": "ᏈᏗᏍ ᎠᏒᏂᎸ ᏂᎨᏒᎾ ᏚᎦᏚᏛᎢ"
+ },
+ "IO": {
+ "name": "ᏈᏗᏏ ᏴᏫᏯ ᎠᎺᏉ ᎢᎬᎾᏕᏅ"
+ },
+ "PL": {
+ "name": "ᏉᎳᏂ"
+ },
+ "BO": {
+ "name": "ᏉᎵᏫᎠ"
+ },
+ "BA": {
+ "name": "ᏉᏏᏂᎠ ᎠᎴ ᎲᏤᎪᏫ"
+ },
+ "PT": {
+ "name": "ᏉᏥᎦᎳ"
+ },
+ "BG": {
+ "name": "ᏊᎵᎨᎵᎠ"
+ },
+ "BN": {
+ "name": "ᏊᎾᎢ"
+ },
+ "BT": {
+ "name": "ᏊᏔᏂ"
+ },
+ "BF": {
+ "name": "ᏋᎩᎾ ᏩᏐ"
+ },
+ "BI": {
+ "name": "ᏋᎷᏂᏗ"
+ },
+ "GD": {
+ "name": "ᏋᎾᏓ"
+ },
+ "CY": {
+ "name": "ᏌᎢᏆᏍ"
+ },
+ "ST": {
+ "name": "ᏌᎣ ᏙᎺ ᎠᎴ ᏈᏂᏏᏇ"
+ },
+ "SA": {
+ "name": "ᏌᎤᏗ ᎡᎴᏈᎠ"
+ },
+ "ZM": {
+ "name": "ᏌᎻᏈᏯ"
+ },
+ "WS": {
+ "name": "ᏌᎼᎠ"
+ },
+ "AE": {
+ "name": "ᏌᏊ ᎢᏳᎾᎵᏍᏔᏅ ᎡᎳᏈ ᎢᎹᎵᏘᏏ"
+ },
+ "US": {
+ "name": "ᏌᏊ ᎢᏳᎾᎵᏍᏔᏅ ᏍᎦᏚᎩ"
+ },
+ "LK": {
+ "name": "ᏍᎵ ᎳᏂᎧ"
+ },
+ "SK": {
+ "name": "ᏍᎶᏩᎩᎠ"
+ },
+ "SI": {
+ "name": "ᏍᎶᏫᏂᎠ"
+ },
+ "SJ": {
+ "name": "ᏍᏩᎵᏆᎵᏗ ᎠᎴ ᏤᏂ ᎹᏰᏂ"
+ },
+ "CH": {
+ "name": "ᏍᏫᏍ"
+ },
+ "SE": {
+ "name": "ᏍᏫᏕᏂ"
+ },
+ "SL": {
+ "name": "ᏏᎡᎳ ᎴᎣᏂ"
+ },
+ "SC": {
+ "name": "ᏏᎡᏥᎵᏍ"
+ },
+ "SY": {
+ "name": "ᏏᎵᎠ"
+ },
+ "ZW": {
+ "name": "ᏏᎻᏆᏇ"
+ },
+ "SN": {
+ "name": "ᏏᏂᎦᎵ"
+ },
+ "SG": {
+ "name": "ᏏᏂᎦᏉᎵ"
+ },
+ "SX": {
+ "name": "ᏏᏂᏘ ᎹᏘᏂ"
+ },
+ "SB": {
+ "name": "ᏐᎶᎹᏂ ᏚᎦᏚᏛᎢ"
+ },
+ "SO": {
+ "name": "ᏐᎹᎵ"
+ },
+ "EA": {
+ "name": "ᏑᏔ ᎠᎴ ᎺᎵᏯ"
+ },
+ "SD": {
+ "name": "ᏑᏕᏂ"
+ },
+ "SR": {
+ "name": "ᏒᎵᎾᎻ"
+ },
+ "RS": {
+ "name": "ᏒᏈᏯ"
+ },
+ "CN": {
+ "name": "ᏓᎶᏂᎨᏍᏛ"
+ },
+ "CX": {
+ "name": "ᏓᏂᏍᏓᏲᎯᎲ ᎤᎦᏚᏛᎢ"
+ },
+ "TW": {
+ "name": "ᏔᎢᏩᏂ"
+ },
+ "TJ": {
+ "name": "ᏔᏥᎩᏍᏕᏂ"
+ },
+ "TH": {
+ "name": "ᏔᏯᎴᏂ"
+ },
+ "TZ": {
+ "name": "ᏖᏂᏏᏂᏯ"
+ },
+ "DK": {
+ "name": "ᏗᏂᎹᎦ"
+ },
+ "DG": {
+ "name": "ᏗᏰᎪ ᎦᏏᏯ"
+ },
+ "TL": {
+ "name": "ᏘᎼᎵ-ᎴᏍᏖ"
+ },
+ "TK": {
+ "name": "ᏙᎨᎳᏭ"
+ },
+ "TG": {
+ "name": "ᏙᎪ"
+ },
+ "DM": {
+ "name": "ᏙᎻᏂᎧ"
+ },
+ "DO": {
+ "name": "ᏙᎻᏂᎧᏂ ᏍᎦᏚᎩ"
+ },
+ "TO": {
+ "name": "ᏙᏅᎦ"
+ },
+ "TN": {
+ "name": "ᏚᏂᏏᏍᎠ"
+ },
+ "TV": {
+ "name": "ᏚᏩᎷ"
+ },
+ "TM": {
+ "name": "ᏛᎵᎩᎺᏂᏍᏔᏂ"
+ },
+ "TT": {
+ "name": "ᏟᏂᏕᏗ ᎠᎴ ᏙᏆᎪ"
+ },
+ "TA": {
+ "name": "ᏟᏍᏛᏂ Ꮣ ᎫᎾᎭ"
+ },
+ "GE": {
+ "name": "ᏣᎠᏥᎢ"
+ },
+ "JM": {
+ "name": "ᏣᎺᎢᎧ"
+ },
+ "TD": {
+ "name": "ᏣᏗ"
+ },
+ "JP": {
+ "name": "ᏣᏩᏂᏏ"
+ },
+ "CZ": {
+ "name": "ᏤᎩ ᏍᎦᏚᎩ"
+ },
+ "CL": {
+ "name": "ᏥᎵ"
+ },
+ "GI": {
+ "name": "ᏥᏆᎵᏓ"
+ },
+ "DJ": {
+ "name": "ᏥᏊᏗ"
+ },
+ "IC": {
+ "name": "ᏥᏍᏆ ᏚᎦᏚᏛᎢ"
+ },
+ "JO": {
+ "name": "ᏦᏓᏂ"
+ },
+ "ZA": {
+ "name": "ᏧᎦᎾᏮ ᎬᎿᎨᏍᏛ"
+ },
+ "SS": {
+ "name": "ᏧᎦᎾᏮ ᏑᏕᏂ"
+ },
+ "KR": {
+ "name": "ᏧᎦᏃᏮ ᎪᎵᎠ"
+ },
+ "GS": {
+ "name": "ᏧᎦᏃᏮ ᏣᎠᏥᎢ ᎠᎴ ᎾᏍᎩ ᏧᎦᏃᏮ ᎠᏍᏛᎭᏟ ᏚᎦᏚᏛᎢ"
+ },
+ "AQ": {
+ "name": "ᏧᏁᏍᏓᎸ"
+ },
+ "IS": {
+ "name": "ᏧᏁᏍᏓᎸᎯ"
+ },
+ "KP": {
+ "name": "ᏧᏴᏢ ᎪᎵᎠ"
+ },
+ "MP": {
+ "name": "ᏧᏴᏢ ᏗᏜ ᎹᎵᎠᎾ ᏚᎦᏚᏛᎢ"
+ },
+ "JE": {
+ "name": "ᏨᎵᏏ"
+ },
+ "FK": {
+ "name": "ᏩᎩ ᏚᎦᏚᏛᎢ"
+ },
+ "WF": {
+ "name": "ᏩᎵᏍ ᎠᎴ ᏊᏚᎾ"
+ },
+ "VU": {
+ "name": "ᏩᏂᎤᏩᏚ"
+ },
+ "GP": {
+ "name": "ᏩᏓᎷᏇ"
+ },
+ "GT": {
+ "name": "ᏩᏔᎹᎳ"
+ },
+ "FO": {
+ "name": "ᏪᎶ ᏚᎦᏚᏛᎢ"
+ },
+ "VE": {
+ "name": "ᏪᏁᏑᏪᎳ"
+ },
+ "VN": {
+ "name": "ᏫᎡᏘᎾᎻ"
+ },
+ "FI": {
+ "name": "ᏫᏂᎦᏙᎯ"
+ },
+ "FJ": {
+ "name": "ᏫᏥ"
+ },
+ "EH": {
+ "name": "ᏭᏕᎵᎬ ᏗᏜ ᏌᎮᎳ"
+ },
+ "YE": {
+ "name": "ᏰᎺᏂ"
+ },
+ "RU": {
+ "name": "ᏲᏂᎢ"
+ },
+ "UG": {
+ "name": "ᏳᎦᏂᏓ"
+ },
+ "UA": {
+ "name": "ᏳᎧᎴᏂ"
+ },
+ "UY": {
+ "name": "ᏳᎷᏇ"
+ },
+ "UM": {
+ "name": "U.S. ᎠᏍᏛ ᏚᎦᏚᏛᎢ"
+ },
+ "VI": {
+ "name": "U.S. ᎠᏒᏂᎸ ᏂᎨᏒᎾ ᏚᎦᏚᏛᎢ"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/ckb.json b/vendor/commerceguys/intl/resources/country/ckb.json
new file mode 100644
index 000000000..7e23dc39d
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/ckb.json
@@ -0,0 +1,761 @@
+{
+ "AX": {
+ "name": "Åland Islands"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "IO": {
+ "name": "British Indian Ocean Territory"
+ },
+ "VG": {
+ "name": "British Virgin Islands"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "KY": {
+ "name": "Cayman Islands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CG": {
+ "name": "Congo - Brazzaville"
+ },
+ "CK": {
+ "name": "Cook Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DO": {
+ "name": "Dominican Republic"
+ },
+ "GQ": {
+ "name": "Equatorial Guinea"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "FK": {
+ "name": "Falkland Islands"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "GF": {
+ "name": "French Guiana"
+ },
+ "PF": {
+ "name": "French Polynesia"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "NC": {
+ "name": "New Caledonia"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NF": {
+ "name": "Norfolk Island"
+ },
+ "MP": {
+ "name": "Northern Mariana Islands"
+ },
+ "PS": {
+ "name": "Palestinian Territories"
+ },
+ "PN": {
+ "name": "Pitcairn Islands"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "KR": {
+ "name": "South Korea"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "SH": {
+ "name": "St. Helena"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "PM": {
+ "name": "St. Pierre & Miquelon"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TC": {
+ "name": "Turks & Caicos Islands"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "VI": {
+ "name": "U.S. Virgin Islands"
+ },
+ "US": {
+ "name": "United States"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "WF": {
+ "name": "Wallis & Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "AR": {
+ "name": "ئارجەنتینا"
+ },
+ "AW": {
+ "name": "ئارووبا"
+ },
+ "AZ": {
+ "name": "ئازەربایجان"
+ },
+ "AQ": {
+ "name": "ئانتارکتیکا"
+ },
+ "AG": {
+ "name": "ئانتیگوا و باربودا"
+ },
+ "AD": {
+ "name": "ئاندۆرا"
+ },
+ "IS": {
+ "name": "ئایسلەند"
+ },
+ "ET": {
+ "name": "ئەتیۆپیا"
+ },
+ "AM": {
+ "name": "ئەرمەنستان"
+ },
+ "ER": {
+ "name": "ئەریتریا"
+ },
+ "ZA": {
+ "name": "ئەفریقای باشوور"
+ },
+ "AF": {
+ "name": "ئەفغانستان"
+ },
+ "DZ": {
+ "name": "ئەلجەزایر"
+ },
+ "AL": {
+ "name": "ئەڵبانیا"
+ },
+ "DE": {
+ "name": "ئەڵمانیا"
+ },
+ "AO": {
+ "name": "ئەنگۆلا"
+ },
+ "JO": {
+ "name": "ئوردن"
+ },
+ "UY": {
+ "name": "ئوروگوای"
+ },
+ "UZ": {
+ "name": "ئوزبەکستان"
+ },
+ "UG": {
+ "name": "ئوگاندا"
+ },
+ "AU": {
+ "name": "ئۆسترالیا"
+ },
+ "UA": {
+ "name": "ئۆکرانیا"
+ },
+ "IT": {
+ "name": "ئیتاڵی"
+ },
+ "IE": {
+ "name": "ئیرلەند"
+ },
+ "ES": {
+ "name": "ئیسپانیا"
+ },
+ "IL": {
+ "name": "ئیسرائیل"
+ },
+ "EC": {
+ "name": "ئیکوادۆر"
+ },
+ "ID": {
+ "name": "ئیندۆنیزیا"
+ },
+ "IR": {
+ "name": "ئێران"
+ },
+ "SV": {
+ "name": "ئێلسالڤادۆر"
+ },
+ "BB": {
+ "name": "باربادۆس"
+ },
+ "BR": {
+ "name": "برازیل"
+ },
+ "BJ": {
+ "name": "بنین"
+ },
+ "BH": {
+ "name": "بەحرەین"
+ },
+ "BE": {
+ "name": "بەلژیک"
+ },
+ "BZ": {
+ "name": "بەلیز"
+ },
+ "BD": {
+ "name": "بەنگلادیش"
+ },
+ "BS": {
+ "name": "بەھاما"
+ },
+ "BF": {
+ "name": "بورکینافاسۆ"
+ },
+ "BI": {
+ "name": "بوروندی"
+ },
+ "BG": {
+ "name": "بولگاریا"
+ },
+ "BT": {
+ "name": "بووتان"
+ },
+ "BW": {
+ "name": "بۆتسوانا"
+ },
+ "BA": {
+ "name": "بۆسنیا و ھەرزەگۆڤینا"
+ },
+ "BO": {
+ "name": "بۆلیڤیا"
+ },
+ "BY": {
+ "name": "بیلاڕووس"
+ },
+ "PG": {
+ "name": "پاپوا گینێی نوێ"
+ },
+ "PY": {
+ "name": "پاراگوای"
+ },
+ "PK": {
+ "name": "پاکستان"
+ },
+ "PW": {
+ "name": "پالاو"
+ },
+ "PA": {
+ "name": "پاناما"
+ },
+ "PT": {
+ "name": "پورتوگال"
+ },
+ "PL": {
+ "name": "پۆڵەندا"
+ },
+ "PE": {
+ "name": "پیروو"
+ },
+ "TJ": {
+ "name": "تاجیکستان"
+ },
+ "TZ": {
+ "name": "تانزانیا"
+ },
+ "TH": {
+ "name": "تایلەند"
+ },
+ "TW": {
+ "name": "تایوان"
+ },
+ "TT": {
+ "name": "ترینیداد و تۆباگو"
+ },
+ "TM": {
+ "name": "تورکمانستان"
+ },
+ "TR": {
+ "name": "تورکیا"
+ },
+ "TV": {
+ "name": "تووڤالوو"
+ },
+ "TN": {
+ "name": "توونس"
+ },
+ "TG": {
+ "name": "تۆگۆ"
+ },
+ "TO": {
+ "name": "تۆنگا"
+ },
+ "JM": {
+ "name": "جامایکا"
+ },
+ "DJ": {
+ "name": "جیبووتی"
+ },
+ "TD": {
+ "name": "چاد"
+ },
+ "CN": {
+ "name": "چین"
+ },
+ "DK": {
+ "name": "دانمارک"
+ },
+ "SB": {
+ "name": "دوورگەکانی سلێمان"
+ },
+ "KM": {
+ "name": "دوورگەکانی قەمەر"
+ },
+ "MH": {
+ "name": "دوورگەکانی مارشاڵ"
+ },
+ "DM": {
+ "name": "دۆمینیکا"
+ },
+ "ZM": {
+ "name": "زامبیا"
+ },
+ "ZW": {
+ "name": "زیمبابوی"
+ },
+ "RW": {
+ "name": "ڕواندا"
+ },
+ "RU": {
+ "name": "ڕووسیا"
+ },
+ "RO": {
+ "name": "ڕۆمانیا"
+ },
+ "JP": {
+ "name": "ژاپۆن"
+ },
+ "WS": {
+ "name": "ساموا"
+ },
+ "AS": {
+ "name": "ساموای ئەمەریکایی"
+ },
+ "SM": {
+ "name": "سان مارینۆ"
+ },
+ "ST": {
+ "name": "ساوتۆمێ و پرینسیپی"
+ },
+ "RS": {
+ "name": "سربیا"
+ },
+ "LK": {
+ "name": "سریلانکا"
+ },
+ "SK": {
+ "name": "سلۆڤاکیا"
+ },
+ "SI": {
+ "name": "سلۆڤێنیا"
+ },
+ "VC": {
+ "name": "سەینت ڤینسەنت و گرینادینز"
+ },
+ "KN": {
+ "name": "سەینت کیتس و نیڤیس"
+ },
+ "LC": {
+ "name": "سەینت لووسیا"
+ },
+ "SZ": {
+ "name": "سوازیلاند"
+ },
+ "SR": {
+ "name": "سورینام"
+ },
+ "SD": {
+ "name": "سوودان"
+ },
+ "SY": {
+ "name": "سووریا"
+ },
+ "SE": {
+ "name": "سوید"
+ },
+ "CH": {
+ "name": "سویسرا"
+ },
+ "SO": {
+ "name": "سۆمالیا"
+ },
+ "SC": {
+ "name": "سیشێل"
+ },
+ "SG": {
+ "name": "سینگاپور"
+ },
+ "SN": {
+ "name": "سینیگال"
+ },
+ "SL": {
+ "name": "سیەرالیۆن"
+ },
+ "GB": {
+ "name": "شانشینی یەکگرتوو"
+ },
+ "CL": {
+ "name": "شیلی"
+ },
+ "SA": {
+ "name": "عەرەبستانی سەعوودی"
+ },
+ "OM": {
+ "name": "عومان"
+ },
+ "IQ": {
+ "name": "عێراق"
+ },
+ "GH": {
+ "name": "غەنا"
+ },
+ "PH": {
+ "name": "فلیپین"
+ },
+ "FR": {
+ "name": "فەڕەنسا"
+ },
+ "FJ": {
+ "name": "فیجی"
+ },
+ "FI": {
+ "name": "فینلاند"
+ },
+ "VA": {
+ "name": "ڤاتیکان"
+ },
+ "VU": {
+ "name": "ڤانوواتوو"
+ },
+ "VN": {
+ "name": "ڤیەتنام"
+ },
+ "KG": {
+ "name": "قرغیزستان"
+ },
+ "QA": {
+ "name": "قەتەر"
+ },
+ "CY": {
+ "name": "قیبرس"
+ },
+ "KZ": {
+ "name": "کازاخستان"
+ },
+ "CM": {
+ "name": "کامیروون"
+ },
+ "CA": {
+ "name": "کانەدا"
+ },
+ "HR": {
+ "name": "کرۆواتیا"
+ },
+ "KH": {
+ "name": "کەمبۆدیا"
+ },
+ "CV": {
+ "name": "کەیپڤەرد"
+ },
+ "KW": {
+ "name": "کوەیت"
+ },
+ "CU": {
+ "name": "کووبا"
+ },
+ "CI": {
+ "name": "کۆتدیڤوار"
+ },
+ "KP": {
+ "name": "کۆریای باکوور"
+ },
+ "CR": {
+ "name": "کۆستاریکا"
+ },
+ "CO": {
+ "name": "کۆلۆمبیا"
+ },
+ "CF": {
+ "name": "کۆماری ئەفریقای ناوەڕاست"
+ },
+ "CZ": {
+ "name": "کۆماری چیک"
+ },
+ "CD": {
+ "name": "کۆنگۆ کینشاسا"
+ },
+ "KI": {
+ "name": "کیریباس"
+ },
+ "GA": {
+ "name": "گابۆن"
+ },
+ "GM": {
+ "name": "گامبیا"
+ },
+ "GD": {
+ "name": "گرینادا"
+ },
+ "GL": {
+ "name": "گرینلاند"
+ },
+ "GT": {
+ "name": "گواتیمالا"
+ },
+ "GU": {
+ "name": "گوام"
+ },
+ "GE": {
+ "name": "گورجستان"
+ },
+ "GY": {
+ "name": "گویانا"
+ },
+ "GN": {
+ "name": "گینێ"
+ },
+ "GW": {
+ "name": "گینێ بیساو"
+ },
+ "LV": {
+ "name": "لاتڤیا"
+ },
+ "LA": {
+ "name": "لاوس"
+ },
+ "LS": {
+ "name": "لەسۆتۆ"
+ },
+ "LB": {
+ "name": "لوبنان"
+ },
+ "LU": {
+ "name": "لوکسەمبورگ"
+ },
+ "LR": {
+ "name": "لیبەریا"
+ },
+ "LY": {
+ "name": "لیبیا"
+ },
+ "LT": {
+ "name": "لیتوانایا"
+ },
+ "LI": {
+ "name": "لیختنشتاین"
+ },
+ "MG": {
+ "name": "ماداگاسکار"
+ },
+ "MW": {
+ "name": "مالاوی"
+ },
+ "MV": {
+ "name": "مالدیڤ"
+ },
+ "ML": {
+ "name": "مالی"
+ },
+ "MY": {
+ "name": "مالیزیا"
+ },
+ "MT": {
+ "name": "ماڵتا"
+ },
+ "FM": {
+ "name": "مایکرۆنیزیا"
+ },
+ "HU": {
+ "name": "مەجارستان"
+ },
+ "MA": {
+ "name": "مەغریب"
+ },
+ "MX": {
+ "name": "مەکسیک"
+ },
+ "MN": {
+ "name": "مەنگۆلیا"
+ },
+ "MR": {
+ "name": "مۆریتانیا"
+ },
+ "MZ": {
+ "name": "مۆزامبیک"
+ },
+ "MD": {
+ "name": "مۆلدۆڤا"
+ },
+ "MC": {
+ "name": "مۆناکۆ"
+ },
+ "ME": {
+ "name": "مۆنتینیگرۆ"
+ },
+ "MM": {
+ "name": "میانمار"
+ },
+ "AE": {
+ "name": "میرنشینە یەکگرتووە عەرەبییەکان"
+ },
+ "EG": {
+ "name": "میسر"
+ },
+ "NR": {
+ "name": "نائوروو"
+ },
+ "NA": {
+ "name": "نامیبیا"
+ },
+ "AT": {
+ "name": "نەمسا"
+ },
+ "NO": {
+ "name": "نۆرویژ"
+ },
+ "NP": {
+ "name": "نیپال"
+ },
+ "NE": {
+ "name": "نیجەر"
+ },
+ "NI": {
+ "name": "نیکاراگوا"
+ },
+ "NZ": {
+ "name": "نیوزیلاند"
+ },
+ "HT": {
+ "name": "ھایتی"
+ },
+ "NL": {
+ "name": "ھۆڵەندا"
+ },
+ "HN": {
+ "name": "ھۆندووراس"
+ },
+ "IN": {
+ "name": "ھیندستان"
+ },
+ "YE": {
+ "name": "یەمەن"
+ },
+ "GR": {
+ "name": "یۆنان"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/cs.json b/vendor/commerceguys/intl/resources/country/cs.json
new file mode 100644
index 000000000..1bdaa3252
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/cs.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afghánistán"
+ },
+ "AX": {
+ "name": "Ålandy"
+ },
+ "AL": {
+ "name": "Albánie"
+ },
+ "DZ": {
+ "name": "Alžírsko"
+ },
+ "AS": {
+ "name": "Americká Samoa"
+ },
+ "VI": {
+ "name": "Americké Panenské ostrovy"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarktida"
+ },
+ "AG": {
+ "name": "Antigua a Barbuda"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Arménie"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension"
+ },
+ "AU": {
+ "name": "Austrálie"
+ },
+ "AZ": {
+ "name": "Ázerbájdžán"
+ },
+ "BS": {
+ "name": "Bahamy"
+ },
+ "BH": {
+ "name": "Bahrajn"
+ },
+ "BD": {
+ "name": "Bangladéš"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BE": {
+ "name": "Belgie"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BY": {
+ "name": "Bělorusko"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermudy"
+ },
+ "BT": {
+ "name": "Bhútán"
+ },
+ "BO": {
+ "name": "Bolívie"
+ },
+ "BA": {
+ "name": "Bosna a Hercegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brazílie"
+ },
+ "IO": {
+ "name": "Britské indickooceánské území"
+ },
+ "VG": {
+ "name": "Britské Panenské ostrovy"
+ },
+ "BN": {
+ "name": "Brunej"
+ },
+ "BG": {
+ "name": "Bulharsko"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "EA": {
+ "name": "Ceuta a Melilla"
+ },
+ "CK": {
+ "name": "Cookovy ostrovy"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "TD": {
+ "name": "Čad"
+ },
+ "ME": {
+ "name": "Černá Hora"
+ },
+ "CZ": {
+ "name": "Česká republika"
+ },
+ "CN": {
+ "name": "Čína"
+ },
+ "DK": {
+ "name": "Dánsko"
+ },
+ "DG": {
+ "name": "Diego García"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "DO": {
+ "name": "Dominikánská republika"
+ },
+ "DJ": {
+ "name": "Džibutsko"
+ },
+ "EG": {
+ "name": "Egypt"
+ },
+ "EC": {
+ "name": "Ekvádor"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estonsko"
+ },
+ "ET": {
+ "name": "Etiopie"
+ },
+ "FO": {
+ "name": "Faerské ostrovy"
+ },
+ "FK": {
+ "name": "Falklandské ostrovy"
+ },
+ "FJ": {
+ "name": "Fidži"
+ },
+ "PH": {
+ "name": "Filipíny"
+ },
+ "FI": {
+ "name": "Finsko"
+ },
+ "FR": {
+ "name": "Francie"
+ },
+ "GF": {
+ "name": "Francouzská Guyana"
+ },
+ "TF": {
+ "name": "Francouzská jižní území"
+ },
+ "PF": {
+ "name": "Francouzská Polynésie"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambie"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GL": {
+ "name": "Grónsko"
+ },
+ "GE": {
+ "name": "Gruzie"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GW": {
+ "name": "Guinea-Bissau"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hongkong – ZAO Číny"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "HR": {
+ "name": "Chorvatsko"
+ },
+ "IN": {
+ "name": "Indie"
+ },
+ "ID": {
+ "name": "Indonésie"
+ },
+ "IQ": {
+ "name": "Irák"
+ },
+ "IR": {
+ "name": "Írán"
+ },
+ "IE": {
+ "name": "Irsko"
+ },
+ "IS": {
+ "name": "Island"
+ },
+ "IT": {
+ "name": "Itálie"
+ },
+ "IL": {
+ "name": "Izrael"
+ },
+ "JM": {
+ "name": "Jamajka"
+ },
+ "JP": {
+ "name": "Japonsko"
+ },
+ "YE": {
+ "name": "Jemen"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "ZA": {
+ "name": "Jihoafrická republika"
+ },
+ "GS": {
+ "name": "Jižní Georgie a Jižní Sandwichovy ostrovy"
+ },
+ "KR": {
+ "name": "Jižní Korea"
+ },
+ "SS": {
+ "name": "Jižní Súdán"
+ },
+ "JO": {
+ "name": "Jordánsko"
+ },
+ "KY": {
+ "name": "Kajmanské ostrovy"
+ },
+ "KH": {
+ "name": "Kambodža"
+ },
+ "CM": {
+ "name": "Kamerun"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "IC": {
+ "name": "Kanárské ostrovy"
+ },
+ "CV": {
+ "name": "Kapverdy"
+ },
+ "BQ": {
+ "name": "Karibské Nizozemsko"
+ },
+ "QA": {
+ "name": "Katar"
+ },
+ "KZ": {
+ "name": "Kazachstán"
+ },
+ "KE": {
+ "name": "Keňa"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "CC": {
+ "name": "Kokosové ostrovy"
+ },
+ "CO": {
+ "name": "Kolumbie"
+ },
+ "KM": {
+ "name": "Komory"
+ },
+ "CG": {
+ "name": "Kongo – Brazzaville"
+ },
+ "CD": {
+ "name": "Kongo – Kinshasa"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "Kostarika"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "KW": {
+ "name": "Kuvajt"
+ },
+ "CY": {
+ "name": "Kypr"
+ },
+ "KG": {
+ "name": "Kyrgyzstán"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LB": {
+ "name": "Libanon"
+ },
+ "LR": {
+ "name": "Libérie"
+ },
+ "LY": {
+ "name": "Libye"
+ },
+ "LI": {
+ "name": "Lichtenštejnsko"
+ },
+ "LT": {
+ "name": "Litva"
+ },
+ "LV": {
+ "name": "Lotyšsko"
+ },
+ "LU": {
+ "name": "Lucembursko"
+ },
+ "MO": {
+ "name": "Macao – ZAO Číny"
+ },
+ "MG": {
+ "name": "Madagaskar"
+ },
+ "HU": {
+ "name": "Maďarsko"
+ },
+ "MK": {
+ "name": "Makedonie"
+ },
+ "MY": {
+ "name": "Malajsie"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MV": {
+ "name": "Maledivy"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Maroko"
+ },
+ "MH": {
+ "name": "Marshallovy ostrovy"
+ },
+ "MQ": {
+ "name": "Martinik"
+ },
+ "MU": {
+ "name": "Mauricius"
+ },
+ "MR": {
+ "name": "Mauritánie"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "UM": {
+ "name": "Menší odlehlé ostrovy USA"
+ },
+ "MX": {
+ "name": "Mexiko"
+ },
+ "FM": {
+ "name": "Mikronésie"
+ },
+ "MD": {
+ "name": "Moldavsko"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MN": {
+ "name": "Mongolsko"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mosambik"
+ },
+ "MM": {
+ "name": "Myanmar (Barma)"
+ },
+ "NA": {
+ "name": "Namibie"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "DE": {
+ "name": "Německo"
+ },
+ "NP": {
+ "name": "Nepál"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigérie"
+ },
+ "NI": {
+ "name": "Nikaragua"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NL": {
+ "name": "Nizozemsko"
+ },
+ "NF": {
+ "name": "Norfolk"
+ },
+ "NO": {
+ "name": "Norsko"
+ },
+ "NC": {
+ "name": "Nová Kaledonie"
+ },
+ "NZ": {
+ "name": "Nový Zéland"
+ },
+ "OM": {
+ "name": "Omán"
+ },
+ "IM": {
+ "name": "Ostrov Man"
+ },
+ "PK": {
+ "name": "Pákistán"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palestinská území"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua-Nová Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitcairnovy ostrovy"
+ },
+ "CI": {
+ "name": "Pobřeží slonoviny"
+ },
+ "PL": {
+ "name": "Polsko"
+ },
+ "PR": {
+ "name": "Portoriko"
+ },
+ "PT": {
+ "name": "Portugalsko"
+ },
+ "AT": {
+ "name": "Rakousko"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "GQ": {
+ "name": "Rovníková Guinea"
+ },
+ "RO": {
+ "name": "Rumunsko"
+ },
+ "RU": {
+ "name": "Rusko"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "GR": {
+ "name": "Řecko"
+ },
+ "PM": {
+ "name": "Saint-Pierre a Miquelon"
+ },
+ "SV": {
+ "name": "Salvador"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "SA": {
+ "name": "Saúdská Arábie"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "KP": {
+ "name": "Severní Korea"
+ },
+ "MP": {
+ "name": "Severní Mariany"
+ },
+ "SC": {
+ "name": "Seychely"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SK": {
+ "name": "Slovensko"
+ },
+ "SI": {
+ "name": "Slovinsko"
+ },
+ "SO": {
+ "name": "Somálsko"
+ },
+ "AE": {
+ "name": "Spojené arabské emiráty"
+ },
+ "GB": {
+ "name": "Spojené království"
+ },
+ "US": {
+ "name": "Spojené státy"
+ },
+ "RS": {
+ "name": "Srbsko"
+ },
+ "LK": {
+ "name": "Srí Lanka"
+ },
+ "CF": {
+ "name": "Středoafrická republika"
+ },
+ "SD": {
+ "name": "Súdán"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SH": {
+ "name": "Svatá Helena"
+ },
+ "LC": {
+ "name": "Svatá Lucie"
+ },
+ "BL": {
+ "name": "Svatý Bartoloměj"
+ },
+ "KN": {
+ "name": "Svatý Kryštof a Nevis"
+ },
+ "MF": {
+ "name": "Svatý Martin (Francie)"
+ },
+ "SX": {
+ "name": "Svatý Martin (Nizozemsko)"
+ },
+ "ST": {
+ "name": "Svatý Tomáš a Princův ostrov"
+ },
+ "VC": {
+ "name": "Svatý Vincenc a Grenadiny"
+ },
+ "SZ": {
+ "name": "Svazijsko"
+ },
+ "SY": {
+ "name": "Sýrie"
+ },
+ "SB": {
+ "name": "Šalamounovy ostrovy"
+ },
+ "ES": {
+ "name": "Španělsko"
+ },
+ "SJ": {
+ "name": "Špicberky a Jan Mayen"
+ },
+ "SE": {
+ "name": "Švédsko"
+ },
+ "CH": {
+ "name": "Švýcarsko"
+ },
+ "TJ": {
+ "name": "Tádžikistán"
+ },
+ "TZ": {
+ "name": "Tanzanie"
+ },
+ "TH": {
+ "name": "Thajsko"
+ },
+ "TW": {
+ "name": "Tchaj-wan"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad a Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisko"
+ },
+ "TR": {
+ "name": "Turecko"
+ },
+ "TM": {
+ "name": "Turkmenistán"
+ },
+ "TC": {
+ "name": "Turks a Caicos"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukrajina"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbekistán"
+ },
+ "CX": {
+ "name": "Vánoční ostrov"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikán"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "TL": {
+ "name": "Východní Timor"
+ },
+ "WF": {
+ "name": "Wallis a Futuna"
+ },
+ "ZM": {
+ "name": "Zambie"
+ },
+ "EH": {
+ "name": "Západní Sahara"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/cy.json b/vendor/commerceguys/intl/resources/country/cy.json
new file mode 100644
index 000000000..bab95e199
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/cy.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afghanistan"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Algeria"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigua a Barbuda"
+ },
+ "BQ": {
+ "name": "Antilles yr Iseldiroedd"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Awstralia"
+ },
+ "AT": {
+ "name": "Awstria"
+ },
+ "AZ": {
+ "name": "Azerbaijan"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BH": {
+ "name": "Bahrain"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BY": {
+ "name": "Belarws"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BO": {
+ "name": "Bolifia"
+ },
+ "BA": {
+ "name": "Bosnia a Hercegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brasil"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BG": {
+ "name": "Bwlgaria"
+ },
+ "CV": {
+ "name": "Cabo Verde"
+ },
+ "NC": {
+ "name": "Caledonia Newydd"
+ },
+ "KH": {
+ "name": "Cambodia"
+ },
+ "CM": {
+ "name": "Camerŵn"
+ },
+ "CA": {
+ "name": "Canada"
+ },
+ "EA": {
+ "name": "Ceuta a Melilla"
+ },
+ "CU": {
+ "name": "Ciwba"
+ },
+ "CO": {
+ "name": "Colombia"
+ },
+ "KM": {
+ "name": "Comoros"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "CI": {
+ "name": "Côte d’Ivoire"
+ },
+ "HR": {
+ "name": "Croatia"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "CY": {
+ "name": "Cyprus"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "ZA": {
+ "name": "De Affrica"
+ },
+ "GS": {
+ "name": "De Georgia ac Ynysoedd Sandwich y De"
+ },
+ "KR": {
+ "name": "De Korea"
+ },
+ "SS": {
+ "name": "De Swdan"
+ },
+ "DK": {
+ "name": "Denmarc"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DJ": {
+ "name": "Djibouti"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "AE": {
+ "name": "Emiradau Arabaidd Unedig"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Ethiopia"
+ },
+ "VN": {
+ "name": "Fietnam"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "FR": {
+ "name": "Ffrainc"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "KP": {
+ "name": "Gogledd Korea"
+ },
+ "EH": {
+ "name": "Gorllewin Sahara"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GW": {
+ "name": "Guiné-Bissau"
+ },
+ "GQ": {
+ "name": "Guinea Gyhydeddol"
+ },
+ "GN": {
+ "name": "Guinée"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "GF": {
+ "name": "Guyane Ffrengig"
+ },
+ "CF": {
+ "name": "Gweriniaeth Canolbarth Affrica"
+ },
+ "DO": {
+ "name": "Gweriniaeth Dominica"
+ },
+ "CZ": {
+ "name": "Gweriniaeth Tsiec"
+ },
+ "BE": {
+ "name": "Gwlad Belg"
+ },
+ "GR": {
+ "name": "Gwlad Groeg"
+ },
+ "JO": {
+ "name": "Gwlad Iorddonen"
+ },
+ "PL": {
+ "name": "Gwlad Pwyl"
+ },
+ "SZ": {
+ "name": "Gwlad Swazi"
+ },
+ "TH": {
+ "name": "Gwlad Thai"
+ },
+ "IS": {
+ "name": "Gwlad yr Iâ"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HK": {
+ "name": "Hong Kong RhGA Tsieina"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HU": {
+ "name": "Hwngari"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IQ": {
+ "name": "Irac"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IE": {
+ "name": "Iwerddon"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japan"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "KZ": {
+ "name": "Kazakstan"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "KG": {
+ "name": "Kyrgyzstan"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LV": {
+ "name": "Latfia"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LB": {
+ "name": "Libanus"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lithuania"
+ },
+ "LU": {
+ "name": "Lwcsembwrg"
+ },
+ "MO": {
+ "name": "Macau RhGA Tsieina"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malaysia"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Mecsico"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "MD": {
+ "name": "Moldofa"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MA": {
+ "name": "Moroco"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar (Burma)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Norwy"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua Guinea Newydd"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Periw"
+ },
+ "PF": {
+ "name": "Polynesia Ffrengig"
+ },
+ "PT": {
+ "name": "Portiwgal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "QA": {
+ "name": "Qatar"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "RO": {
+ "name": "Rwmania"
+ },
+ "RU": {
+ "name": "Rwsia"
+ },
+ "BL": {
+ "name": "Saint Barthélemy"
+ },
+ "SH": {
+ "name": "Saint Helena"
+ },
+ "KN": {
+ "name": "Saint Kitts a Nevis"
+ },
+ "LC": {
+ "name": "Saint Lucia"
+ },
+ "MF": {
+ "name": "Saint Martin"
+ },
+ "VC": {
+ "name": "Saint Vincent a’r Grenadines"
+ },
+ "PM": {
+ "name": "Saint-Pierre-et-Miquelon"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa America"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "São Tomé a Príncipe"
+ },
+ "SA": {
+ "name": "Saudi Arabia"
+ },
+ "ES": {
+ "name": "Sbaen"
+ },
+ "NZ": {
+ "name": "Seland Newydd"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapore"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SK": {
+ "name": "Slofacia"
+ },
+ "SI": {
+ "name": "Slofenia"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SJ": {
+ "name": "Svalbard a Jan Mayen"
+ },
+ "SD": {
+ "name": "Swdan"
+ },
+ "SE": {
+ "name": "Sweden"
+ },
+ "SY": {
+ "name": "Syria"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TJ": {
+ "name": "Tajikistan"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TD": {
+ "name": "Tchad"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "IO": {
+ "name": "Tiriogaeth Brydeinig Cefnfor India"
+ },
+ "PS": {
+ "name": "Tiriogaethau Palesteinaidd"
+ },
+ "TF": {
+ "name": "Tiroedd Deheuol ac Antarctig Ffrainc"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TT": {
+ "name": "Trinidad a Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "CN": {
+ "name": "Tsieina"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "TR": {
+ "name": "Twrci"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbekistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "WF": {
+ "name": "Wallis a Futuna"
+ },
+ "UA": {
+ "name": "Wcráin"
+ },
+ "BS": {
+ "name": "Y Bahamas"
+ },
+ "CG": {
+ "name": "Y Congo - Brazzaville"
+ },
+ "CD": {
+ "name": "Y Congo - Kinshasa"
+ },
+ "GB": {
+ "name": "Y Deyrnas Unedig"
+ },
+ "VA": {
+ "name": "Y Fatican"
+ },
+ "FI": {
+ "name": "Y Ffindir"
+ },
+ "MV": {
+ "name": "Y Maldives"
+ },
+ "PH": {
+ "name": "Y Philipinau"
+ },
+ "CH": {
+ "name": "Y Swistir"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "AC": {
+ "name": "Ynys Ascension"
+ },
+ "IM": {
+ "name": "Ynys Manaw"
+ },
+ "NF": {
+ "name": "Ynys Norfolk"
+ },
+ "GG": {
+ "name": "Ynys y Garn"
+ },
+ "CX": {
+ "name": "Ynys y Nadolig"
+ },
+ "AX": {
+ "name": "Ynysoedd Åland"
+ },
+ "KY": {
+ "name": "Ynysoedd Cayman"
+ },
+ "CC": {
+ "name": "Ynysoedd Cocos (Keeling)"
+ },
+ "CK": {
+ "name": "Ynysoedd Cook"
+ },
+ "FO": {
+ "name": "Ynysoedd Ffaro"
+ },
+ "MP": {
+ "name": "Ynysoedd Gogledd Mariana"
+ },
+ "VG": {
+ "name": "Ynysoedd Gwyryf Prydain"
+ },
+ "VI": {
+ "name": "Ynysoedd Gwyryf yr Unol Daleithiau"
+ },
+ "MH": {
+ "name": "Ynysoedd Marshall"
+ },
+ "UM": {
+ "name": "Ynysoedd Pellennig UDA"
+ },
+ "PN": {
+ "name": "Ynysoedd Pitcairn"
+ },
+ "SB": {
+ "name": "Ynysoedd Solomon"
+ },
+ "TC": {
+ "name": "Ynysoedd Turks a Caicos"
+ },
+ "FK": {
+ "name": "Ynysoedd y Falkland\/Malvinas"
+ },
+ "EG": {
+ "name": "Yr Aifft"
+ },
+ "DE": {
+ "name": "Yr Almaen"
+ },
+ "AR": {
+ "name": "Yr Ariannin"
+ },
+ "IT": {
+ "name": "Yr Eidal"
+ },
+ "NL": {
+ "name": "Yr Iseldiroedd"
+ },
+ "US": {
+ "name": "Yr Unol Daleithiau"
+ },
+ "GL": {
+ "name": "Yr Ynys Las"
+ },
+ "IC": {
+ "name": "Yr Ynysoedd Dedwydd"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/da.json b/vendor/commerceguys/intl/resources/country/da.json
new file mode 100644
index 000000000..2b7bdd797
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/da.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afghanistan"
+ },
+ "AL": {
+ "name": "Albanien"
+ },
+ "DZ": {
+ "name": "Algeriet"
+ },
+ "AS": {
+ "name": "Amerikansk Samoa"
+ },
+ "UM": {
+ "name": "Amerikanske oversøiske øer"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarktis"
+ },
+ "AG": {
+ "name": "Antigua og Barbuda"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenien"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascensionøen"
+ },
+ "AZ": {
+ "name": "Aserbajdsjan"
+ },
+ "AU": {
+ "name": "Australien"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahrain"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BE": {
+ "name": "Belgien"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnien-Hercegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brasilien"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgarien"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "KH": {
+ "name": "Cambodja"
+ },
+ "CM": {
+ "name": "Cameroun"
+ },
+ "CA": {
+ "name": "Canada"
+ },
+ "KY": {
+ "name": "Caymanøerne"
+ },
+ "EA": {
+ "name": "Ceuta og Melilla"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CC": {
+ "name": "Cocosøerne"
+ },
+ "CO": {
+ "name": "Colombia"
+ },
+ "KM": {
+ "name": "Comorerne"
+ },
+ "CG": {
+ "name": "Congo-Brazzaville"
+ },
+ "CD": {
+ "name": "Congo-Kinshasa"
+ },
+ "CK": {
+ "name": "Cookøerne"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "CY": {
+ "name": "Cypern"
+ },
+ "DK": {
+ "name": "Danmark"
+ },
+ "VI": {
+ "name": "De Amerikanske Jomfruøer"
+ },
+ "VG": {
+ "name": "De Britiske Jomfruøer"
+ },
+ "AE": {
+ "name": "De Forenede Arabiske Emirater"
+ },
+ "TF": {
+ "name": "De franske besiddelser i Det Sydlige Indiske Ocean"
+ },
+ "PS": {
+ "name": "De palæstinensiske områder"
+ },
+ "BQ": {
+ "name": "De tidligere Nederlandske Antiller"
+ },
+ "CF": {
+ "name": "Den Centralafrikanske Republik"
+ },
+ "DO": {
+ "name": "Den Dominikanske Republik"
+ },
+ "IO": {
+ "name": "Det britiske territorium i Det Indiske Ocean"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DJ": {
+ "name": "Djibouti"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egypten"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "CI": {
+ "name": "Elfenbenskysten"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estland"
+ },
+ "ET": {
+ "name": "Etiopien"
+ },
+ "FK": {
+ "name": "Falklandsøerne"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filippinerne"
+ },
+ "FI": {
+ "name": "Finland"
+ },
+ "FR": {
+ "name": "Frankrig"
+ },
+ "GF": {
+ "name": "Fransk Guyana"
+ },
+ "PF": {
+ "name": "Fransk Polynesien"
+ },
+ "FO": {
+ "name": "Færøerne"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgien"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GR": {
+ "name": "Grækenland"
+ },
+ "GL": {
+ "name": "Grønland"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GW": {
+ "name": "Guinea-Bissau"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "NL": {
+ "name": "Holland"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "BY": {
+ "name": "Hviderusland"
+ },
+ "IN": {
+ "name": "Indien"
+ },
+ "ID": {
+ "name": "Indonesien"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IE": {
+ "name": "Irland"
+ },
+ "IS": {
+ "name": "Island"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italien"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japan"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordan"
+ },
+ "CX": {
+ "name": "Juleøen"
+ },
+ "IC": {
+ "name": "Kanariske øer"
+ },
+ "CV": {
+ "name": "Kap Verde"
+ },
+ "KZ": {
+ "name": "Kasakhstan"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "CN": {
+ "name": "Kina"
+ },
+ "KG": {
+ "name": "Kirgisistan"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "HR": {
+ "name": "Kroatien"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LV": {
+ "name": "Letland"
+ },
+ "LB": {
+ "name": "Libanon"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libyen"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Litauen"
+ },
+ "LU": {
+ "name": "Luxembourg"
+ },
+ "MG": {
+ "name": "Madagaskar"
+ },
+ "MK": {
+ "name": "Makedonien"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malaysia"
+ },
+ "MV": {
+ "name": "Maldiverne"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marokko"
+ },
+ "MH": {
+ "name": "Marshalløerne"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MR": {
+ "name": "Mauretanien"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Mexico"
+ },
+ "FM": {
+ "name": "Mikronesiens Forenede Stater"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongoliet"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar (Burma)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NZ": {
+ "name": "New Zealand"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "KP": {
+ "name": "Nordkorea"
+ },
+ "MP": {
+ "name": "Nordmarianerne"
+ },
+ "NF": {
+ "name": "Norfolk Island"
+ },
+ "NO": {
+ "name": "Norge"
+ },
+ "NC": {
+ "name": "Ny Kaledonien"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua Ny Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitcairn"
+ },
+ "PL": {
+ "name": "Polen"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "QA": {
+ "name": "Qatar"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RO": {
+ "name": "Rumænien"
+ },
+ "RU": {
+ "name": "Rusland"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "BL": {
+ "name": "Saint Barthélemy"
+ },
+ "KN": {
+ "name": "Saint Kitts og Nevis"
+ },
+ "LC": {
+ "name": "Saint Lucia"
+ },
+ "MF": {
+ "name": "Saint Martin"
+ },
+ "PM": {
+ "name": "Saint Pierre og Miquelon"
+ },
+ "VC": {
+ "name": "Saint Vincent og Grenadinerne"
+ },
+ "SB": {
+ "name": "Salomonøerne"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "São Tomé og Príncipe"
+ },
+ "HK": {
+ "name": "SAR Hongkong"
+ },
+ "MO": {
+ "name": "SAR Macao"
+ },
+ "SA": {
+ "name": "Saudi-Arabien"
+ },
+ "CH": {
+ "name": "Schweiz"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbien"
+ },
+ "SC": {
+ "name": "Seychellerne"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapore"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SK": {
+ "name": "Slovakiet"
+ },
+ "SI": {
+ "name": "Slovenien"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "GS": {
+ "name": "South Georgia og De Sydlige Sandwichøer"
+ },
+ "ES": {
+ "name": "Spanien"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "SH": {
+ "name": "St. Helena"
+ },
+ "GB": {
+ "name": "Storbritannien"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SJ": {
+ "name": "Svalbard og Jan Mayen"
+ },
+ "SE": {
+ "name": "Sverige"
+ },
+ "SZ": {
+ "name": "Swaziland"
+ },
+ "ZA": {
+ "name": "Sydafrika"
+ },
+ "KR": {
+ "name": "Sydkorea"
+ },
+ "SS": {
+ "name": "Sydsudan"
+ },
+ "SY": {
+ "name": "Syrien"
+ },
+ "TJ": {
+ "name": "Tadsjikistan"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TD": {
+ "name": "Tchad"
+ },
+ "TH": {
+ "name": "Thailand"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "CZ": {
+ "name": "Tjekkiet"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad og Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunesien"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TC": {
+ "name": "Turks- og Caicosøerne"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "TR": {
+ "name": "Tyrkiet"
+ },
+ "DE": {
+ "name": "Tyskland"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukraine"
+ },
+ "HU": {
+ "name": "Ungarn"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "US": {
+ "name": "USA"
+ },
+ "UZ": {
+ "name": "Usbekistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikanstaten"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "EH": {
+ "name": "Vestsahara"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis og Futuna"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ },
+ "GQ": {
+ "name": "Ækvatorialguinea"
+ },
+ "AT": {
+ "name": "Østrig"
+ },
+ "AX": {
+ "name": "Åland"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/dav.json b/vendor/commerceguys/intl/resources/country/dav.json
new file mode 100644
index 000000000..06ebd2eb3
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/dav.json
@@ -0,0 +1,761 @@
+{
+ "ZA": {
+ "name": "Afrika Kusini"
+ },
+ "AF": {
+ "name": "Afuganistani"
+ },
+ "IS": {
+ "name": "Aislandi"
+ },
+ "AR": {
+ "name": "Ajentina"
+ },
+ "AX": {
+ "name": "Åland Islands"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Aljeria"
+ },
+ "AD": {
+ "name": "Andora"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigua na Barbuda"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "IE": {
+ "name": "Ayalandi"
+ },
+ "AZ": {
+ "name": "Azabajani"
+ },
+ "BB": {
+ "name": "Babadosi"
+ },
+ "BS": {
+ "name": "Bahama"
+ },
+ "BH": {
+ "name": "Bahareni"
+ },
+ "BD": {
+ "name": "Bangladeshi"
+ },
+ "BY": {
+ "name": "Belarusi"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benini"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia na Hezegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brazili"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BF": {
+ "name": "Bukinafaso"
+ },
+ "MG": {
+ "name": "Bukini"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Butani"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "TD": {
+ "name": "Chadi"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Denmaki"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "EC": {
+ "name": "Ekwado"
+ },
+ "SV": {
+ "name": "Elsavado"
+ },
+ "IO": {
+ "name": "Eneo la Uingereza katika Bahari Hindi"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "AE": {
+ "name": "Falme za Kiarabu"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filipino"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gaboni"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GN": {
+ "name": "Gine"
+ },
+ "GW": {
+ "name": "Ginebisau"
+ },
+ "GQ": {
+ "name": "Ginekweta"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GL": {
+ "name": "Grinlandi"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "GP": {
+ "name": "Gwadelupe"
+ },
+ "GU": {
+ "name": "Gwam"
+ },
+ "GT": {
+ "name": "Gwatemala"
+ },
+ "GF": {
+ "name": "Gwiyana ya Ufaransa"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "ES": {
+ "name": "Hispania"
+ },
+ "HN": {
+ "name": "Hondurasi"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hungaria"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IQ": {
+ "name": "Iraki"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israeli"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JM": {
+ "name": "Jamaika"
+ },
+ "CF": {
+ "name": "Jamhuri ya Afrika ya Kati"
+ },
+ "CZ": {
+ "name": "Jamhuri ya Cheki"
+ },
+ "DO": {
+ "name": "Jamhuri ya Dominika"
+ },
+ "CD": {
+ "name": "Jamhuri ya Kidemokrasia ya Kongo"
+ },
+ "JP": {
+ "name": "Japani"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "GI": {
+ "name": "Jibralta"
+ },
+ "DJ": {
+ "name": "Jibuti"
+ },
+ "GE": {
+ "name": "Jojia"
+ },
+ "KH": {
+ "name": "Kambodia"
+ },
+ "CM": {
+ "name": "Kameruni"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "QA": {
+ "name": "Katari"
+ },
+ "KZ": {
+ "name": "Kazakistani"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "CV": {
+ "name": "Kepuvede"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "KG": {
+ "name": "Kirigizistani"
+ },
+ "NF": {
+ "name": "Kisiwa cha Norfok"
+ },
+ "CI": {
+ "name": "Kodivaa"
+ },
+ "CO": {
+ "name": "Kolombia"
+ },
+ "KM": {
+ "name": "Komoro"
+ },
+ "CG": {
+ "name": "Kongo"
+ },
+ "HR": {
+ "name": "Korasia"
+ },
+ "KP": {
+ "name": "Korea Kaskazini"
+ },
+ "KR": {
+ "name": "Korea Kusini"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "Kostarika"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "CY": {
+ "name": "Kuprosi"
+ },
+ "KW": {
+ "name": "Kuwaiti"
+ },
+ "LA": {
+ "name": "Laosi"
+ },
+ "LU": {
+ "name": "Lasembagi"
+ },
+ "LV": {
+ "name": "Lativia"
+ },
+ "LB": {
+ "name": "Lebanoni"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Lishenteni"
+ },
+ "LT": {
+ "name": "Litwania"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malesia"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "US": {
+ "name": "Marekani"
+ },
+ "MQ": {
+ "name": "Martiniki"
+ },
+ "MK": {
+ "name": "Masedonia"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Meksiko"
+ },
+ "FM": {
+ "name": "Mikronesia"
+ },
+ "EG": {
+ "name": "Misri"
+ },
+ "MV": {
+ "name": "Modivu"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrati"
+ },
+ "MU": {
+ "name": "Morisi"
+ },
+ "MR": {
+ "name": "Moritania"
+ },
+ "MA": {
+ "name": "Moroko"
+ },
+ "MZ": {
+ "name": "Msumbiji"
+ },
+ "MM": {
+ "name": "Myama"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepali"
+ },
+ "NE": {
+ "name": "Nijeri"
+ },
+ "NG": {
+ "name": "Nijeria"
+ },
+ "NI": {
+ "name": "Nikaragwa"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Norwe"
+ },
+ "NC": {
+ "name": "Nyukaledonia"
+ },
+ "NZ": {
+ "name": "Nyuzilandi"
+ },
+ "OM": {
+ "name": "Omani"
+ },
+ "PK": {
+ "name": "Pakistani"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua"
+ },
+ "PY": {
+ "name": "Paragwai"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitkairni"
+ },
+ "PL": {
+ "name": "Polandi"
+ },
+ "PF": {
+ "name": "Polinesia ya Ufaransa"
+ },
+ "PR": {
+ "name": "Pwetoriko"
+ },
+ "RE": {
+ "name": "Riyunioni"
+ },
+ "RO": {
+ "name": "Romania"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "SM": {
+ "name": "Samarino"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa ya Marekani"
+ },
+ "SH": {
+ "name": "Santahelena"
+ },
+ "KN": {
+ "name": "Santakitzi na Nevis"
+ },
+ "LC": {
+ "name": "Santalusia"
+ },
+ "PM": {
+ "name": "Santapieri na Mikeloni"
+ },
+ "VC": {
+ "name": "Santavisenti na Grenadini"
+ },
+ "ST": {
+ "name": "Sao Tome na Principe"
+ },
+ "SA": {
+ "name": "Saudi"
+ },
+ "SN": {
+ "name": "Senegali"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Shelisheli"
+ },
+ "SL": {
+ "name": "Siera Leoni"
+ },
+ "SG": {
+ "name": "Singapoo"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Siria"
+ },
+ "LK": {
+ "name": "Sirilanka"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SD": {
+ "name": "Sudani"
+ },
+ "SR": {
+ "name": "Surinamu"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailandi"
+ },
+ "TW": {
+ "name": "Taiwani"
+ },
+ "TJ": {
+ "name": "Tajikistani"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TL": {
+ "name": "Timori ya Mashariki"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad na Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TM": {
+ "name": "Turukimenistani"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "IR": {
+ "name": "Uajemi"
+ },
+ "BE": {
+ "name": "Ubelgiji"
+ },
+ "FR": {
+ "name": "Ufaransa"
+ },
+ "FI": {
+ "name": "Ufini"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "GR": {
+ "name": "Ugiriki"
+ },
+ "ET": {
+ "name": "Uhabeshi"
+ },
+ "NL": {
+ "name": "Uholanzi"
+ },
+ "GB": {
+ "name": "Uingereza"
+ },
+ "DE": {
+ "name": "Ujerumani"
+ },
+ "PS": {
+ "name": "Ukingo wa Magharibi na Ukanda wa Gaza wa Palestina"
+ },
+ "UA": {
+ "name": "Ukraini"
+ },
+ "PT": {
+ "name": "Ureno"
+ },
+ "UY": {
+ "name": "Urugwai"
+ },
+ "RU": {
+ "name": "Urusi"
+ },
+ "SZ": {
+ "name": "Uswazi"
+ },
+ "SE": {
+ "name": "Uswidi"
+ },
+ "CH": {
+ "name": "Uswisi"
+ },
+ "TR": {
+ "name": "Uturuki"
+ },
+ "UZ": {
+ "name": "Uzibekistani"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikani"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietinamu"
+ },
+ "CK": {
+ "name": "Visiwa vya Cook"
+ },
+ "FK": {
+ "name": "Visiwa vya Falkland"
+ },
+ "KY": {
+ "name": "Visiwa vya Kayman"
+ },
+ "MP": {
+ "name": "Visiwa vya Mariana vya Kaskazini"
+ },
+ "MH": {
+ "name": "Visiwa vya Marshal"
+ },
+ "SB": {
+ "name": "Visiwa vya Solomon"
+ },
+ "TC": {
+ "name": "Visiwa vya Turki na Kaiko"
+ },
+ "VI": {
+ "name": "Visiwa vya Virgin vya Marekani"
+ },
+ "VG": {
+ "name": "Visiwa vya Virgin vya Uingereza"
+ },
+ "WF": {
+ "name": "Walis na Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yemeni"
+ },
+ "JO": {
+ "name": "Yordani"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/de-AT.json b/vendor/commerceguys/intl/resources/country/de-AT.json
new file mode 100644
index 000000000..f59c442d2
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/de-AT.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afghanistan"
+ },
+ "EG": {
+ "name": "Ägypten"
+ },
+ "AX": {
+ "name": "Ålandinseln"
+ },
+ "AL": {
+ "name": "Albanien"
+ },
+ "DZ": {
+ "name": "Algerien"
+ },
+ "AS": {
+ "name": "Amerikanisch-Samoa"
+ },
+ "VI": {
+ "name": "Amerikanische Jungferninseln"
+ },
+ "UM": {
+ "name": "Amerikanische Überseeinseln"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarktis"
+ },
+ "AG": {
+ "name": "Antigua und Barbuda"
+ },
+ "GQ": {
+ "name": "Äquatorialguinea"
+ },
+ "AR": {
+ "name": "Argentinien"
+ },
+ "AM": {
+ "name": "Armenien"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension"
+ },
+ "AZ": {
+ "name": "Aserbaidschan"
+ },
+ "ET": {
+ "name": "Äthiopien"
+ },
+ "AU": {
+ "name": "Australien"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahrain"
+ },
+ "BD": {
+ "name": "Bangladesch"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BY": {
+ "name": "Belarus"
+ },
+ "BE": {
+ "name": "Belgien"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BO": {
+ "name": "Bolivien"
+ },
+ "BQ": {
+ "name": "Bonaire, Sint Eustatius und Saba"
+ },
+ "BA": {
+ "name": "Bosnien und Herzegowina"
+ },
+ "BW": {
+ "name": "Botsuana"
+ },
+ "BR": {
+ "name": "Brasilien"
+ },
+ "VG": {
+ "name": "Britische Jungferninseln"
+ },
+ "IO": {
+ "name": "Britisches Territorium im Indischen Ozean"
+ },
+ "BN": {
+ "name": "Brunei Darussalam"
+ },
+ "BG": {
+ "name": "Bulgarien"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "CV": {
+ "name": "Cabo Verde"
+ },
+ "EA": {
+ "name": "Ceuta und Melilla"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CK": {
+ "name": "Cookinseln"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "CI": {
+ "name": "Côte d’Ivoire"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Dänemark"
+ },
+ "DE": {
+ "name": "Deutschland"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "DO": {
+ "name": "Dominikanische Republik"
+ },
+ "DJ": {
+ "name": "Dschibuti"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estland"
+ },
+ "FK": {
+ "name": "Falklandinseln"
+ },
+ "FO": {
+ "name": "Färöer"
+ },
+ "FJ": {
+ "name": "Fidschi"
+ },
+ "FI": {
+ "name": "Finnland"
+ },
+ "FR": {
+ "name": "Frankreich"
+ },
+ "GF": {
+ "name": "Französisch-Guayana"
+ },
+ "PF": {
+ "name": "Französisch-Polynesien"
+ },
+ "TF": {
+ "name": "Französische Süd- und Antarktisgebiete"
+ },
+ "GA": {
+ "name": "Gabun"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgien"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GR": {
+ "name": "Griechenland"
+ },
+ "GL": {
+ "name": "Grönland"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GW": {
+ "name": "Guinea-Bissau"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "IN": {
+ "name": "Indien"
+ },
+ "ID": {
+ "name": "Indonesien"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IE": {
+ "name": "Irland"
+ },
+ "IS": {
+ "name": "Island"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italien"
+ },
+ "JM": {
+ "name": "Jamaika"
+ },
+ "JP": {
+ "name": "Japan"
+ },
+ "YE": {
+ "name": "Jemen"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordanien"
+ },
+ "KY": {
+ "name": "Kaimaninseln"
+ },
+ "KH": {
+ "name": "Kambodscha"
+ },
+ "CM": {
+ "name": "Kamerun"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "IC": {
+ "name": "Kanarische Inseln"
+ },
+ "KZ": {
+ "name": "Kasachstan"
+ },
+ "QA": {
+ "name": "Katar"
+ },
+ "KE": {
+ "name": "Kenia"
+ },
+ "KG": {
+ "name": "Kirgisistan"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "CC": {
+ "name": "Kokosinseln"
+ },
+ "CO": {
+ "name": "Kolumbien"
+ },
+ "KM": {
+ "name": "Komoren"
+ },
+ "CG": {
+ "name": "Kongo-Brazzaville"
+ },
+ "CD": {
+ "name": "Kongo-Kinshasa"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "HR": {
+ "name": "Kroatien"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LV": {
+ "name": "Lettland"
+ },
+ "LB": {
+ "name": "Libanon"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libyen"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Litauen"
+ },
+ "LU": {
+ "name": "Luxemburg"
+ },
+ "MG": {
+ "name": "Madagaskar"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malaysia"
+ },
+ "MV": {
+ "name": "Malediven"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marokko"
+ },
+ "MH": {
+ "name": "Marshallinseln"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MR": {
+ "name": "Mauretanien"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MK": {
+ "name": "Mazedonien"
+ },
+ "MX": {
+ "name": "Mexiko"
+ },
+ "FM": {
+ "name": "Mikronesien"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongolei"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mosambik"
+ },
+ "MM": {
+ "name": "Myanmar"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NC": {
+ "name": "Neukaledonien"
+ },
+ "NZ": {
+ "name": "Neuseeland"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NL": {
+ "name": "Niederlande"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "KP": {
+ "name": "Nordkorea"
+ },
+ "MP": {
+ "name": "Nördliche Marianen"
+ },
+ "NF": {
+ "name": "Norfolkinsel"
+ },
+ "NO": {
+ "name": "Norwegen"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "AT": {
+ "name": "Österreich"
+ },
+ "TL": {
+ "name": "Osttimor"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PS": {
+ "name": "Palästinensische Autonomiegebiete"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua-Neuguinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PH": {
+ "name": "Philippinen"
+ },
+ "PN": {
+ "name": "Pitcairninseln"
+ },
+ "PL": {
+ "name": "Polen"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "MD": {
+ "name": "Republik Moldau"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RO": {
+ "name": "Rumänien"
+ },
+ "RU": {
+ "name": "Russland"
+ },
+ "SB": {
+ "name": "Salomonen"
+ },
+ "ZM": {
+ "name": "Sambia"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "São Tomé und Príncipe"
+ },
+ "SA": {
+ "name": "Saudi-Arabien"
+ },
+ "SE": {
+ "name": "Schweden"
+ },
+ "CH": {
+ "name": "Schweiz"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbien"
+ },
+ "SC": {
+ "name": "Seychellen"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "ZW": {
+ "name": "Simbabwe"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SK": {
+ "name": "Slowakei"
+ },
+ "SI": {
+ "name": "Slowenien"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "MO": {
+ "name": "Sonderverwaltungsregion Macau"
+ },
+ "HK": {
+ "name": "Sonderverwaltungszone Hongkong"
+ },
+ "ES": {
+ "name": "Spanien"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "SH": {
+ "name": "St. Helena"
+ },
+ "KN": {
+ "name": "St. Kitts und Nevis"
+ },
+ "LC": {
+ "name": "St. Lucia"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "PM": {
+ "name": "St. Pierre und Miquelon"
+ },
+ "VC": {
+ "name": "St. Vincent und die Grenadinen"
+ },
+ "ZA": {
+ "name": "Südafrika"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "GS": {
+ "name": "Südgeorgien und die Südlichen Sandwichinseln"
+ },
+ "KR": {
+ "name": "Südkorea"
+ },
+ "SS": {
+ "name": "Südsudan"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SJ": {
+ "name": "Svalbard und Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swasiland"
+ },
+ "SY": {
+ "name": "Syrien"
+ },
+ "TJ": {
+ "name": "Tadschikistan"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TZ": {
+ "name": "Tansania"
+ },
+ "TH": {
+ "name": "Thailand"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad und Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TD": {
+ "name": "Tschad"
+ },
+ "CZ": {
+ "name": "Tschechische Republik"
+ },
+ "TN": {
+ "name": "Tunesien"
+ },
+ "TR": {
+ "name": "Türkei"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TC": {
+ "name": "Turks- und Caicosinseln"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukraine"
+ },
+ "HU": {
+ "name": "Ungarn"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Usbekistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikanstadt"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "AE": {
+ "name": "Vereinigte Arabische Emirate"
+ },
+ "US": {
+ "name": "Vereinigte Staaten"
+ },
+ "GB": {
+ "name": "Vereinigtes Königreich"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis und Futuna"
+ },
+ "CX": {
+ "name": "Weihnachtsinsel"
+ },
+ "EH": {
+ "name": "Westsahara"
+ },
+ "CF": {
+ "name": "Zentralafrikanische Republik"
+ },
+ "CY": {
+ "name": "Zypern"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/de-CH.json b/vendor/commerceguys/intl/resources/country/de-CH.json
new file mode 100644
index 000000000..15abe9e34
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/de-CH.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afghanistan"
+ },
+ "EG": {
+ "name": "Ägypten"
+ },
+ "AX": {
+ "name": "Ålandinseln"
+ },
+ "AL": {
+ "name": "Albanien"
+ },
+ "DZ": {
+ "name": "Algerien"
+ },
+ "AS": {
+ "name": "Amerikanisch-Samoa"
+ },
+ "VI": {
+ "name": "Amerikanische Jungferninseln"
+ },
+ "UM": {
+ "name": "Amerikanische Überseeinseln"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarktis"
+ },
+ "AG": {
+ "name": "Antigua und Barbuda"
+ },
+ "GQ": {
+ "name": "Äquatorialguinea"
+ },
+ "AR": {
+ "name": "Argentinien"
+ },
+ "AM": {
+ "name": "Armenien"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension"
+ },
+ "AZ": {
+ "name": "Aserbaidschan"
+ },
+ "ET": {
+ "name": "Äthiopien"
+ },
+ "AU": {
+ "name": "Australien"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahrain"
+ },
+ "BD": {
+ "name": "Bangladesch"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BE": {
+ "name": "Belgien"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BO": {
+ "name": "Bolivien"
+ },
+ "BQ": {
+ "name": "Bonaire, Sint Eustatius und Saba"
+ },
+ "BA": {
+ "name": "Bosnien und Herzegowina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brasilien"
+ },
+ "VG": {
+ "name": "Britische Jungferninseln"
+ },
+ "IO": {
+ "name": "Britisches Territorium im Indischen Ozean"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgarien"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "EA": {
+ "name": "Ceuta und Melilla"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CK": {
+ "name": "Cookinseln"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "CI": {
+ "name": "Côte d’Ivoire"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Dänemark"
+ },
+ "DE": {
+ "name": "Deutschland"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "DO": {
+ "name": "Dominikanische Republik"
+ },
+ "DJ": {
+ "name": "Dschibuti"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estland"
+ },
+ "FK": {
+ "name": "Falklandinseln"
+ },
+ "FO": {
+ "name": "Färöer"
+ },
+ "FJ": {
+ "name": "Fidschi"
+ },
+ "FI": {
+ "name": "Finnland"
+ },
+ "FR": {
+ "name": "Frankreich"
+ },
+ "GF": {
+ "name": "Französisch-Guayana"
+ },
+ "PF": {
+ "name": "Französisch-Polynesien"
+ },
+ "TF": {
+ "name": "Französische Süd- und Antarktisgebiete"
+ },
+ "GA": {
+ "name": "Gabun"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgien"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GR": {
+ "name": "Griechenland"
+ },
+ "GL": {
+ "name": "Grönland"
+ },
+ "GB": {
+ "name": "Grossbritannien"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GW": {
+ "name": "Guinea-Bissau"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "IN": {
+ "name": "Indien"
+ },
+ "ID": {
+ "name": "Indonesien"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IE": {
+ "name": "Irland"
+ },
+ "IS": {
+ "name": "Island"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italien"
+ },
+ "JM": {
+ "name": "Jamaika"
+ },
+ "JP": {
+ "name": "Japan"
+ },
+ "YE": {
+ "name": "Jemen"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordanien"
+ },
+ "KY": {
+ "name": "Kaimaninseln"
+ },
+ "KH": {
+ "name": "Kambodscha"
+ },
+ "CM": {
+ "name": "Kamerun"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "IC": {
+ "name": "Kanarische Inseln"
+ },
+ "CV": {
+ "name": "Kapverden"
+ },
+ "KZ": {
+ "name": "Kasachstan"
+ },
+ "QA": {
+ "name": "Katar"
+ },
+ "KE": {
+ "name": "Kenia"
+ },
+ "KG": {
+ "name": "Kirgisistan"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "CC": {
+ "name": "Kokosinseln"
+ },
+ "CO": {
+ "name": "Kolumbien"
+ },
+ "KM": {
+ "name": "Komoren"
+ },
+ "CG": {
+ "name": "Kongo-Brazzaville"
+ },
+ "CD": {
+ "name": "Kongo-Kinshasa"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "HR": {
+ "name": "Kroatien"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LV": {
+ "name": "Lettland"
+ },
+ "LB": {
+ "name": "Libanon"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libyen"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Litauen"
+ },
+ "LU": {
+ "name": "Luxemburg"
+ },
+ "MG": {
+ "name": "Madagaskar"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malaysia"
+ },
+ "MV": {
+ "name": "Malediven"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marokko"
+ },
+ "MH": {
+ "name": "Marshallinseln"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MR": {
+ "name": "Mauretanien"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MK": {
+ "name": "Mazedonien"
+ },
+ "MX": {
+ "name": "Mexiko"
+ },
+ "FM": {
+ "name": "Mikronesien"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongolei"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mosambik"
+ },
+ "MM": {
+ "name": "Myanmar"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NC": {
+ "name": "Neukaledonien"
+ },
+ "NZ": {
+ "name": "Neuseeland"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NL": {
+ "name": "Niederlande"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "KP": {
+ "name": "Nordkorea"
+ },
+ "MP": {
+ "name": "Nördliche Marianen"
+ },
+ "NF": {
+ "name": "Norfolkinsel"
+ },
+ "NO": {
+ "name": "Norwegen"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "AT": {
+ "name": "Österreich"
+ },
+ "TL": {
+ "name": "Osttimor"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PS": {
+ "name": "Palästinensische Autonomiegebiete"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua-Neuguinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PH": {
+ "name": "Philippinen"
+ },
+ "PN": {
+ "name": "Pitcairninseln"
+ },
+ "PL": {
+ "name": "Polen"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "MD": {
+ "name": "Republik Moldau"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RO": {
+ "name": "Rumänien"
+ },
+ "RU": {
+ "name": "Russland"
+ },
+ "SB": {
+ "name": "Salomon-Inseln"
+ },
+ "ZM": {
+ "name": "Sambia"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "São Tomé und Príncipe"
+ },
+ "SA": {
+ "name": "Saudi-Arabien"
+ },
+ "SE": {
+ "name": "Schweden"
+ },
+ "CH": {
+ "name": "Schweiz"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbien"
+ },
+ "SC": {
+ "name": "Seychellen"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SK": {
+ "name": "Slowakei"
+ },
+ "SI": {
+ "name": "Slowenien"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "MO": {
+ "name": "Sonderverwaltungsregion Macau"
+ },
+ "HK": {
+ "name": "Sonderverwaltungszone Hongkong"
+ },
+ "ES": {
+ "name": "Spanien"
+ },
+ "SJ": {
+ "name": "Spitzbergen"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "SH": {
+ "name": "St. Helena"
+ },
+ "KN": {
+ "name": "St. Kitts und Nevis"
+ },
+ "LC": {
+ "name": "St. Lucia"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "PM": {
+ "name": "St. Pierre und Miquelon"
+ },
+ "VC": {
+ "name": "St. Vincent und die Grenadinen"
+ },
+ "ZA": {
+ "name": "Südafrika"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "GS": {
+ "name": "Südgeorgien und die Südlichen Sandwichinseln"
+ },
+ "KR": {
+ "name": "Südkorea"
+ },
+ "SS": {
+ "name": "Südsudan"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SZ": {
+ "name": "Swasiland"
+ },
+ "SY": {
+ "name": "Syrien"
+ },
+ "TJ": {
+ "name": "Tadschikistan"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TZ": {
+ "name": "Tansania"
+ },
+ "TH": {
+ "name": "Thailand"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad und Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TD": {
+ "name": "Tschad"
+ },
+ "CZ": {
+ "name": "Tschechische Republik"
+ },
+ "TN": {
+ "name": "Tunesien"
+ },
+ "TR": {
+ "name": "Türkei"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TC": {
+ "name": "Turks- und Caicosinseln"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukraine"
+ },
+ "HU": {
+ "name": "Ungarn"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Usbekistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikanstadt"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "AE": {
+ "name": "Vereinigte Arabische Emirate"
+ },
+ "US": {
+ "name": "Vereinigte Staaten"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis und Futuna"
+ },
+ "CX": {
+ "name": "Weihnachtsinsel"
+ },
+ "BY": {
+ "name": "Weissrussland"
+ },
+ "EH": {
+ "name": "Westsahara"
+ },
+ "CF": {
+ "name": "Zentralafrikanische Republik"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ },
+ "CY": {
+ "name": "Zypern"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/de.json b/vendor/commerceguys/intl/resources/country/de.json
new file mode 100644
index 000000000..1a604877e
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/de.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afghanistan"
+ },
+ "EG": {
+ "name": "Ägypten"
+ },
+ "AX": {
+ "name": "Ålandinseln"
+ },
+ "AL": {
+ "name": "Albanien"
+ },
+ "DZ": {
+ "name": "Algerien"
+ },
+ "AS": {
+ "name": "Amerikanisch-Samoa"
+ },
+ "VI": {
+ "name": "Amerikanische Jungferninseln"
+ },
+ "UM": {
+ "name": "Amerikanische Überseeinseln"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarktis"
+ },
+ "AG": {
+ "name": "Antigua und Barbuda"
+ },
+ "GQ": {
+ "name": "Äquatorialguinea"
+ },
+ "AR": {
+ "name": "Argentinien"
+ },
+ "AM": {
+ "name": "Armenien"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension"
+ },
+ "AZ": {
+ "name": "Aserbaidschan"
+ },
+ "ET": {
+ "name": "Äthiopien"
+ },
+ "AU": {
+ "name": "Australien"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahrain"
+ },
+ "BD": {
+ "name": "Bangladesch"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BY": {
+ "name": "Belarus"
+ },
+ "BE": {
+ "name": "Belgien"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BO": {
+ "name": "Bolivien"
+ },
+ "BQ": {
+ "name": "Bonaire, Sint Eustatius und Saba"
+ },
+ "BA": {
+ "name": "Bosnien und Herzegowina"
+ },
+ "BW": {
+ "name": "Botsuana"
+ },
+ "BR": {
+ "name": "Brasilien"
+ },
+ "VG": {
+ "name": "Britische Jungferninseln"
+ },
+ "IO": {
+ "name": "Britisches Territorium im Indischen Ozean"
+ },
+ "BN": {
+ "name": "Brunei Darussalam"
+ },
+ "BG": {
+ "name": "Bulgarien"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "CV": {
+ "name": "Cabo Verde"
+ },
+ "EA": {
+ "name": "Ceuta und Melilla"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CK": {
+ "name": "Cookinseln"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "CI": {
+ "name": "Côte d’Ivoire"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Dänemark"
+ },
+ "DE": {
+ "name": "Deutschland"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "DO": {
+ "name": "Dominikanische Republik"
+ },
+ "DJ": {
+ "name": "Dschibuti"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estland"
+ },
+ "FK": {
+ "name": "Falklandinseln"
+ },
+ "FO": {
+ "name": "Färöer"
+ },
+ "FJ": {
+ "name": "Fidschi"
+ },
+ "FI": {
+ "name": "Finnland"
+ },
+ "FR": {
+ "name": "Frankreich"
+ },
+ "GF": {
+ "name": "Französisch-Guayana"
+ },
+ "PF": {
+ "name": "Französisch-Polynesien"
+ },
+ "TF": {
+ "name": "Französische Süd- und Antarktisgebiete"
+ },
+ "GA": {
+ "name": "Gabun"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgien"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GR": {
+ "name": "Griechenland"
+ },
+ "GL": {
+ "name": "Grönland"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GW": {
+ "name": "Guinea-Bissau"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "IN": {
+ "name": "Indien"
+ },
+ "ID": {
+ "name": "Indonesien"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IE": {
+ "name": "Irland"
+ },
+ "IS": {
+ "name": "Island"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italien"
+ },
+ "JM": {
+ "name": "Jamaika"
+ },
+ "JP": {
+ "name": "Japan"
+ },
+ "YE": {
+ "name": "Jemen"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordanien"
+ },
+ "KY": {
+ "name": "Kaimaninseln"
+ },
+ "KH": {
+ "name": "Kambodscha"
+ },
+ "CM": {
+ "name": "Kamerun"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "IC": {
+ "name": "Kanarische Inseln"
+ },
+ "KZ": {
+ "name": "Kasachstan"
+ },
+ "QA": {
+ "name": "Katar"
+ },
+ "KE": {
+ "name": "Kenia"
+ },
+ "KG": {
+ "name": "Kirgisistan"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "CC": {
+ "name": "Kokosinseln"
+ },
+ "CO": {
+ "name": "Kolumbien"
+ },
+ "KM": {
+ "name": "Komoren"
+ },
+ "CG": {
+ "name": "Kongo-Brazzaville"
+ },
+ "CD": {
+ "name": "Kongo-Kinshasa"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "HR": {
+ "name": "Kroatien"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LV": {
+ "name": "Lettland"
+ },
+ "LB": {
+ "name": "Libanon"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libyen"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Litauen"
+ },
+ "LU": {
+ "name": "Luxemburg"
+ },
+ "MG": {
+ "name": "Madagaskar"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malaysia"
+ },
+ "MV": {
+ "name": "Malediven"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marokko"
+ },
+ "MH": {
+ "name": "Marshallinseln"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MR": {
+ "name": "Mauretanien"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MK": {
+ "name": "Mazedonien"
+ },
+ "MX": {
+ "name": "Mexiko"
+ },
+ "FM": {
+ "name": "Mikronesien"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongolei"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mosambik"
+ },
+ "MM": {
+ "name": "Myanmar"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NC": {
+ "name": "Neukaledonien"
+ },
+ "NZ": {
+ "name": "Neuseeland"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NL": {
+ "name": "Niederlande"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "KP": {
+ "name": "Nordkorea"
+ },
+ "MP": {
+ "name": "Nördliche Marianen"
+ },
+ "NF": {
+ "name": "Norfolkinsel"
+ },
+ "NO": {
+ "name": "Norwegen"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "AT": {
+ "name": "Österreich"
+ },
+ "TL": {
+ "name": "Osttimor"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PS": {
+ "name": "Palästinensische Autonomiegebiete"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua-Neuguinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PH": {
+ "name": "Philippinen"
+ },
+ "PN": {
+ "name": "Pitcairninseln"
+ },
+ "PL": {
+ "name": "Polen"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "MD": {
+ "name": "Republik Moldau"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RO": {
+ "name": "Rumänien"
+ },
+ "RU": {
+ "name": "Russland"
+ },
+ "SB": {
+ "name": "Salomonen"
+ },
+ "ZM": {
+ "name": "Sambia"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "São Tomé und Príncipe"
+ },
+ "SA": {
+ "name": "Saudi-Arabien"
+ },
+ "SE": {
+ "name": "Schweden"
+ },
+ "CH": {
+ "name": "Schweiz"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbien"
+ },
+ "SC": {
+ "name": "Seychellen"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "ZW": {
+ "name": "Simbabwe"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SK": {
+ "name": "Slowakei"
+ },
+ "SI": {
+ "name": "Slowenien"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "MO": {
+ "name": "Sonderverwaltungsregion Macau"
+ },
+ "HK": {
+ "name": "Sonderverwaltungszone Hongkong"
+ },
+ "ES": {
+ "name": "Spanien"
+ },
+ "SJ": {
+ "name": "Spitzbergen"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "SH": {
+ "name": "St. Helena"
+ },
+ "KN": {
+ "name": "St. Kitts und Nevis"
+ },
+ "LC": {
+ "name": "St. Lucia"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "PM": {
+ "name": "St. Pierre und Miquelon"
+ },
+ "VC": {
+ "name": "St. Vincent und die Grenadinen"
+ },
+ "ZA": {
+ "name": "Südafrika"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "GS": {
+ "name": "Südgeorgien und die Südlichen Sandwichinseln"
+ },
+ "KR": {
+ "name": "Südkorea"
+ },
+ "SS": {
+ "name": "Südsudan"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SZ": {
+ "name": "Swasiland"
+ },
+ "SY": {
+ "name": "Syrien"
+ },
+ "TJ": {
+ "name": "Tadschikistan"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TZ": {
+ "name": "Tansania"
+ },
+ "TH": {
+ "name": "Thailand"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad und Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TD": {
+ "name": "Tschad"
+ },
+ "CZ": {
+ "name": "Tschechische Republik"
+ },
+ "TN": {
+ "name": "Tunesien"
+ },
+ "TR": {
+ "name": "Türkei"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TC": {
+ "name": "Turks- und Caicosinseln"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukraine"
+ },
+ "HU": {
+ "name": "Ungarn"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Usbekistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikanstadt"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "AE": {
+ "name": "Vereinigte Arabische Emirate"
+ },
+ "US": {
+ "name": "Vereinigte Staaten"
+ },
+ "GB": {
+ "name": "Vereinigtes Königreich"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis und Futuna"
+ },
+ "CX": {
+ "name": "Weihnachtsinsel"
+ },
+ "EH": {
+ "name": "Westsahara"
+ },
+ "CF": {
+ "name": "Zentralafrikanische Republik"
+ },
+ "CY": {
+ "name": "Zypern"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/dje.json b/vendor/commerceguys/intl/resources/country/dje.json
new file mode 100644
index 000000000..f5b0f1d6f
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/dje.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afgaanistan"
+ },
+ "AX": {
+ "name": "Åland Islands"
+ },
+ "AL": {
+ "name": "Albaani"
+ },
+ "GB": {
+ "name": "Albaasalaama Marganta"
+ },
+ "DE": {
+ "name": "Almaaɲe"
+ },
+ "DZ": {
+ "name": "Alžeeri"
+ },
+ "VI": {
+ "name": "Ameerik Virgin Gungey"
+ },
+ "US": {
+ "name": "Ameriki Laabu Margantey"
+ },
+ "AS": {
+ "name": "Ameriki Samoa"
+ },
+ "AD": {
+ "name": "Andoora"
+ },
+ "AI": {
+ "name": "Angiiya"
+ },
+ "AO": {
+ "name": "Angoola"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigua nda Barbuuda"
+ },
+ "AR": {
+ "name": "Argentine"
+ },
+ "AM": {
+ "name": "Armeeni"
+ },
+ "AW": {
+ "name": "Aruuba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "IS": {
+ "name": "Ayseland"
+ },
+ "AZ": {
+ "name": "Azerbaayijaŋ"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahareen"
+ },
+ "BD": {
+ "name": "Bangladeši"
+ },
+ "BB": {
+ "name": "Barbaados"
+ },
+ "BE": {
+ "name": "Belgiiki"
+ },
+ "BZ": {
+ "name": "Beliizi"
+ },
+ "BJ": {
+ "name": "Beniŋ"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BY": {
+ "name": "Biloriši"
+ },
+ "BO": {
+ "name": "Boolivi"
+ },
+ "BA": {
+ "name": "Bosni nda Herzegovine"
+ },
+ "BW": {
+ "name": "Botswaana"
+ },
+ "BR": {
+ "name": "Breezil"
+ },
+ "IO": {
+ "name": "Britiši Indu teekoo laama"
+ },
+ "VG": {
+ "name": "Britiši Virgin gungey"
+ },
+ "BN": {
+ "name": "Bruunee"
+ },
+ "BG": {
+ "name": "Bulgaari"
+ },
+ "BF": {
+ "name": "Burkina faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Buutaŋ"
+ },
+ "TD": {
+ "name": "Caadu"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "CZ": {
+ "name": "Cek labo"
+ },
+ "CF": {
+ "name": "Centraafriki koyra"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Danemark"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "DO": {
+ "name": "Doominiki laboo"
+ },
+ "ET": {
+ "name": "Ecioopi"
+ },
+ "EC": {
+ "name": "Ekwateer"
+ },
+ "ER": {
+ "name": "Eritree"
+ },
+ "ES": {
+ "name": "Espaaɲe"
+ },
+ "EE": {
+ "name": "Estooni"
+ },
+ "FR": {
+ "name": "Faransi"
+ },
+ "GF": {
+ "name": "Faransi Guyaan"
+ },
+ "PF": {
+ "name": "Faransi Polineezi"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filipine"
+ },
+ "FI": {
+ "name": "Finlandu"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gaabon"
+ },
+ "GH": {
+ "name": "Gaana"
+ },
+ "GM": {
+ "name": "Gambi"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GN": {
+ "name": "Gine"
+ },
+ "GW": {
+ "name": "Gine-Bisso"
+ },
+ "GQ": {
+ "name": "Ginee Ekwatorial"
+ },
+ "GE": {
+ "name": "Gorgi"
+ },
+ "GR": {
+ "name": "Greece"
+ },
+ "GD": {
+ "name": "Grenaada"
+ },
+ "GL": {
+ "name": "Grinland"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "KP": {
+ "name": "Gurma Kooree"
+ },
+ "GY": {
+ "name": "Guyaane"
+ },
+ "GP": {
+ "name": "Gwadeluup"
+ },
+ "GT": {
+ "name": "Gwatemaala"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "ZA": {
+ "name": "Hawsa Afriki Laboo"
+ },
+ "KR": {
+ "name": "Hawsa Kooree"
+ },
+ "NL": {
+ "name": "Hollandu"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hungaari"
+ },
+ "ID": {
+ "name": "Indoneezi"
+ },
+ "IN": {
+ "name": "Indu laboo"
+ },
+ "IQ": {
+ "name": "Iraak"
+ },
+ "IR": {
+ "name": "Iraan"
+ },
+ "RU": {
+ "name": "Iriši laboo"
+ },
+ "IE": {
+ "name": "Irlandu"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israyel"
+ },
+ "IT": {
+ "name": "Itaali"
+ },
+ "JP": {
+ "name": "Jaapoŋ"
+ },
+ "JM": {
+ "name": "Jamaayik"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "DJ": {
+ "name": "Jibuuti"
+ },
+ "NC": {
+ "name": "Kaaledooni Taagaa"
+ },
+ "KZ": {
+ "name": "Kaazakstan"
+ },
+ "FK": {
+ "name": "Kalkan gungey"
+ },
+ "KH": {
+ "name": "kamboogi"
+ },
+ "CM": {
+ "name": "Kameruun"
+ },
+ "CA": {
+ "name": "Kanaada"
+ },
+ "CV": {
+ "name": "Kapuver gungey"
+ },
+ "QA": {
+ "name": "Kataar"
+ },
+ "KY": {
+ "name": "Kayman gungey"
+ },
+ "KE": {
+ "name": "Keeniya"
+ },
+ "KI": {
+ "name": "Kiribaati"
+ },
+ "CO": {
+ "name": "Kolombi"
+ },
+ "KM": {
+ "name": "Komoor"
+ },
+ "CG": {
+ "name": "Kongoo"
+ },
+ "CD": {
+ "name": "Kongoo demookaratiki laboo"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "Kosta rika"
+ },
+ "HR": {
+ "name": "Krwaasi"
+ },
+ "CI": {
+ "name": "Kudwar"
+ },
+ "CU": {
+ "name": "Kuuba"
+ },
+ "CK": {
+ "name": "Kuuk gungey"
+ },
+ "KW": {
+ "name": "Kuweet"
+ },
+ "KG": {
+ "name": "Kyrgyzstan"
+ },
+ "AE": {
+ "name": "Laaraw Imaarawey Margantey"
+ },
+ "LA": {
+ "name": "Laawos"
+ },
+ "LS": {
+ "name": "Leesoto"
+ },
+ "LV": {
+ "name": "Letooni"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LY": {
+ "name": "Liibi"
+ },
+ "LT": {
+ "name": "Lituaani"
+ },
+ "LB": {
+ "name": "Lubnaan"
+ },
+ "LU": {
+ "name": "Luxembourg"
+ },
+ "MK": {
+ "name": "Maacedooni"
+ },
+ "ML": {
+ "name": "Maali"
+ },
+ "MA": {
+ "name": "Maarok"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MW": {
+ "name": "Malaawi"
+ },
+ "MV": {
+ "name": "Maldiivu"
+ },
+ "MY": {
+ "name": "Maleezi"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MP": {
+ "name": "Mariana Gurma Gungey"
+ },
+ "MH": {
+ "name": "Maršal gungey"
+ },
+ "MQ": {
+ "name": "Martiniiki"
+ },
+ "MM": {
+ "name": "Maynamar"
+ },
+ "YT": {
+ "name": "Mayooti"
+ },
+ "MX": {
+ "name": "Mexiki"
+ },
+ "FM": {
+ "name": "Mikronezi"
+ },
+ "EG": {
+ "name": "Misra"
+ },
+ "MD": {
+ "name": "Moldovi"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MN": {
+ "name": "Mongooli"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MU": {
+ "name": "Mooris gungey"
+ },
+ "MR": {
+ "name": "Mooritaani"
+ },
+ "MZ": {
+ "name": "Mozambik"
+ },
+ "NG": {
+ "name": "Naajiriia"
+ },
+ "NA": {
+ "name": "Naamibi"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Neepal"
+ },
+ "NI": {
+ "name": "Nikaragwa"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NE": {
+ "name": "Nižer"
+ },
+ "NF": {
+ "name": "Norfolk Gungoo"
+ },
+ "NO": {
+ "name": "Norveej"
+ },
+ "OM": {
+ "name": "Omaan"
+ },
+ "AU": {
+ "name": "Ostraali"
+ },
+ "AT": {
+ "name": "Otriši"
+ },
+ "PK": {
+ "name": "Paakistan"
+ },
+ "PS": {
+ "name": "Palestine Dangay nda Gaaza"
+ },
+ "PW": {
+ "name": "Palu"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua Ginee Taaga"
+ },
+ "PY": {
+ "name": "Paraguwey"
+ },
+ "PE": {
+ "name": "Peeru"
+ },
+ "PN": {
+ "name": "Pitikarin"
+ },
+ "PL": {
+ "name": "Poloɲe"
+ },
+ "PR": {
+ "name": "Porto Riko"
+ },
+ "PT": {
+ "name": "Portugaal"
+ },
+ "RE": {
+ "name": "Reenioŋ"
+ },
+ "RO": {
+ "name": "Rumaani"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "SV": {
+ "name": "Salvador laboo"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "Sao Tome nda Prinsipe"
+ },
+ "SA": {
+ "name": "Saudiya"
+ },
+ "SL": {
+ "name": "Seera Leon"
+ },
+ "SC": {
+ "name": "Seešel"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "SH": {
+ "name": "Seŋ Helena"
+ },
+ "KN": {
+ "name": "Seŋ Kitts nda Nevis"
+ },
+ "LC": {
+ "name": "Seŋ Lussia"
+ },
+ "PM": {
+ "name": "Seŋ Piyer nda Mikelon"
+ },
+ "VC": {
+ "name": "Seŋvinsaŋ nda Grenadine"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "CL": {
+ "name": "Šiili"
+ },
+ "CN": {
+ "name": "Šiin"
+ },
+ "CY": {
+ "name": "Šiipur"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SK": {
+ "name": "Slovaaki"
+ },
+ "SI": {
+ "name": "Sloveeni"
+ },
+ "SB": {
+ "name": "Solomon Gungey"
+ },
+ "SO": {
+ "name": "Somaali"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "LK": {
+ "name": "Srilanka"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SR": {
+ "name": "Surinaam"
+ },
+ "SD": {
+ "name": "Suudaŋ"
+ },
+ "SY": {
+ "name": "Suuria"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swaziland"
+ },
+ "SE": {
+ "name": "Sweede"
+ },
+ "CH": {
+ "name": "Swisu"
+ },
+ "TH": {
+ "name": "Taayiland"
+ },
+ "TW": {
+ "name": "Taayiwan"
+ },
+ "TJ": {
+ "name": "Taažikistan"
+ },
+ "TZ": {
+ "name": "Tanzaani"
+ },
+ "TL": {
+ "name": "Timoor hawsa"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad nda Tobaago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunizi"
+ },
+ "TC": {
+ "name": "Turk nda Kayikos Gungey"
+ },
+ "TR": {
+ "name": "Turki"
+ },
+ "TM": {
+ "name": "Turkmenistaŋ"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukreen"
+ },
+ "JO": {
+ "name": "Urdun"
+ },
+ "UY": {
+ "name": "Uruguwey"
+ },
+ "UZ": {
+ "name": "Uzbeekistan"
+ },
+ "VA": {
+ "name": "Vaatikan Laama"
+ },
+ "VU": {
+ "name": "Vanautu"
+ },
+ "VE": {
+ "name": "Veneezuyeela"
+ },
+ "VN": {
+ "name": "Vietnaam"
+ },
+ "WF": {
+ "name": "Wallis nda Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yaman"
+ },
+ "ZM": {
+ "name": "Zambi"
+ },
+ "NZ": {
+ "name": "Zeelandu Taaga"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/dsb.json b/vendor/commerceguys/intl/resources/country/dsb.json
new file mode 100644
index 000000000..c5fd0def4
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/dsb.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afghanistan"
+ },
+ "AX": {
+ "name": "Åland"
+ },
+ "AL": {
+ "name": "Albańska"
+ },
+ "DZ": {
+ "name": "Algeriska"
+ },
+ "UM": {
+ "name": "Ameriska Oceaniska"
+ },
+ "AS": {
+ "name": "Ameriska Samoa"
+ },
+ "VI": {
+ "name": "Ameriske kněžniske kupy"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarktis"
+ },
+ "AG": {
+ "name": "Antigua a Barbuda"
+ },
+ "AR": {
+ "name": "Argentinska"
+ },
+ "AM": {
+ "name": "Armeńska"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension"
+ },
+ "AU": {
+ "name": "Awstralska"
+ },
+ "AT": {
+ "name": "Awstriska"
+ },
+ "AZ": {
+ "name": "Azerbajdžan"
+ },
+ "BS": {
+ "name": "Bahamy"
+ },
+ "BH": {
+ "name": "Bahrain"
+ },
+ "BD": {
+ "name": "Bangladeš"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BE": {
+ "name": "Belgiska"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermudy"
+ },
+ "BY": {
+ "name": "Běłoruska"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BO": {
+ "name": "Boliwiska"
+ },
+ "BA": {
+ "name": "Bosniska a Hercegowina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brazilska"
+ },
+ "VG": {
+ "name": "Britiske kněžniske kupy"
+ },
+ "IO": {
+ "name": "Britiski indiskooceaniski teritorium"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgarska"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "ME": {
+ "name": "Carna Góra"
+ },
+ "CF": {
+ "name": "Centralnoafriska republika"
+ },
+ "EA": {
+ "name": "Ceuta a Melilla"
+ },
+ "CK": {
+ "name": "Cookowe kupy"
+ },
+ "CI": {
+ "name": "Côte d’Ivoire"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "CY": {
+ "name": "Cypriska"
+ },
+ "TD": {
+ "name": "Čad"
+ },
+ "CZ": {
+ "name": "Česka republika"
+ },
+ "DK": {
+ "name": "Dańska"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "DO": {
+ "name": "Dominikańska republika"
+ },
+ "DJ": {
+ "name": "Džibuti"
+ },
+ "EG": {
+ "name": "Egyptojska"
+ },
+ "EC": {
+ "name": "Ekwador"
+ },
+ "GQ": {
+ "name": "Ekwatorialna Gineja"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "ER": {
+ "name": "Eritreja"
+ },
+ "EE": {
+ "name": "Estniska"
+ },
+ "ET": {
+ "name": "Etiopiska"
+ },
+ "FK": {
+ "name": "Falklandske kupy"
+ },
+ "FO": {
+ "name": "Färöje"
+ },
+ "FJ": {
+ "name": "Fidži"
+ },
+ "PH": {
+ "name": "Filipiny"
+ },
+ "FI": {
+ "name": "Finska"
+ },
+ "FR": {
+ "name": "Francojska"
+ },
+ "GF": {
+ "name": "Francojska Guyana"
+ },
+ "PF": {
+ "name": "Francojska Polyneziska"
+ },
+ "TF": {
+ "name": "Francojski pódpołdnjowy a antarktiski teritorium"
+ },
+ "GA": {
+ "name": "Gabun"
+ },
+ "GM": {
+ "name": "Gambija"
+ },
+ "GE": {
+ "name": "Georgiska"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GN": {
+ "name": "Gineja"
+ },
+ "GW": {
+ "name": "Gineja-Bissau"
+ },
+ "CX": {
+ "name": "Gódowne kupy"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GR": {
+ "name": "Grichiska"
+ },
+ "GL": {
+ "name": "Grönlandska"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HU": {
+ "name": "Hungorska"
+ },
+ "CL": {
+ "name": "Chilska"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "HR": {
+ "name": "Chorwatska"
+ },
+ "IN": {
+ "name": "Indiska"
+ },
+ "ID": {
+ "name": "Indoneziska"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IE": {
+ "name": "Irska"
+ },
+ "IS": {
+ "name": "Islandska"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italska"
+ },
+ "JM": {
+ "name": "Jamaika"
+ },
+ "JP": {
+ "name": "Japańska"
+ },
+ "YE": {
+ "name": "Jemen"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordaniska"
+ },
+ "KY": {
+ "name": "Kajmaniske kupy"
+ },
+ "KH": {
+ "name": "Kambodža"
+ },
+ "CM": {
+ "name": "Kamerun"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "IC": {
+ "name": "Kanariske kupy"
+ },
+ "CV": {
+ "name": "Kap Verde"
+ },
+ "BQ": {
+ "name": "Karibiska Nižozemska"
+ },
+ "QA": {
+ "name": "Katar"
+ },
+ "KZ": {
+ "name": "Kazachstan"
+ },
+ "KE": {
+ "name": "Kenia"
+ },
+ "KG": {
+ "name": "Kirgizistan"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "CC": {
+ "name": "Kokosowe kupy"
+ },
+ "CO": {
+ "name": "Kolumbiska"
+ },
+ "KM": {
+ "name": "Komory"
+ },
+ "CG": {
+ "name": "Kongo-Brazzaville"
+ },
+ "CD": {
+ "name": "Kongo-Kinshasa"
+ },
+ "XK": {
+ "name": "Kosowo"
+ },
+ "CR": {
+ "name": "Kosta Rika"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LV": {
+ "name": "Letiska"
+ },
+ "LB": {
+ "name": "Libanon"
+ },
+ "LR": {
+ "name": "Liberija"
+ },
+ "LY": {
+ "name": "Libyska"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Litawska"
+ },
+ "LU": {
+ "name": "Luxemburgska"
+ },
+ "MG": {
+ "name": "Madagaskar"
+ },
+ "MK": {
+ "name": "Makedońska"
+ },
+ "MY": {
+ "name": "Malajzija"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MV": {
+ "name": "Malediwy"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "IM": {
+ "name": "Man"
+ },
+ "MA": {
+ "name": "Marokko"
+ },
+ "MH": {
+ "name": "Marshallowe kupy"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "MR": {
+ "name": "Mawretańska"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Mexiko"
+ },
+ "FM": {
+ "name": "Mikroneziska"
+ },
+ "MD": {
+ "name": "Moldawska"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongolska"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mosambik"
+ },
+ "MM": {
+ "name": "Myanmar"
+ },
+ "NA": {
+ "name": "Namibija"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigerija"
+ },
+ "NI": {
+ "name": "Nikaragua"
+ },
+ "DE": {
+ "name": "Nimska"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NL": {
+ "name": "Nižozemska"
+ },
+ "NF": {
+ "name": "Norfolkowa kupa"
+ },
+ "NO": {
+ "name": "Norwegska"
+ },
+ "NC": {
+ "name": "Nowa Kaledoniska"
+ },
+ "NZ": {
+ "name": "Nowoseelandska"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palestinski awtonomny teritorium"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua-Neuguinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitcairnowe kupy"
+ },
+ "ZA": {
+ "name": "Pódpołdnjowa Afrika (Republika)"
+ },
+ "GS": {
+ "name": "Pódpołdnjowa Georgiska a Pódpołdnjowe Sandwichowe kupy"
+ },
+ "KR": {
+ "name": "Pódpołdnjowa Koreja"
+ },
+ "SS": {
+ "name": "Pódpołdnjowy Sudan"
+ },
+ "KP": {
+ "name": "Pódpołnocna Koreja"
+ },
+ "MP": {
+ "name": "Pódpołnocne Mariany"
+ },
+ "EH": {
+ "name": "Pódwjacorna Sahara"
+ },
+ "PL": {
+ "name": "Pólska"
+ },
+ "PT": {
+ "name": "Portugalska"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RO": {
+ "name": "Rumuńska"
+ },
+ "RU": {
+ "name": "Ruska"
+ },
+ "SB": {
+ "name": "Salomony"
+ },
+ "ZM": {
+ "name": "Sambija"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "São Tomé a Príncipe"
+ },
+ "SA": {
+ "name": "Saudi-Arabiska"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbiska"
+ },
+ "SC": {
+ "name": "Seychelle"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "ZW": {
+ "name": "Simbabwe"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SK": {
+ "name": "Słowakska"
+ },
+ "SI": {
+ "name": "Słowjeńska"
+ },
+ "SO": {
+ "name": "Somalija"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "SH": {
+ "name": "St. Helena"
+ },
+ "KN": {
+ "name": "St. Kitts a Nevis"
+ },
+ "LC": {
+ "name": "St. Lucia"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "PM": {
+ "name": "St. Pierre a Miquelon"
+ },
+ "VC": {
+ "name": "St. Vincent a Grenadiny"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "SR": {
+ "name": "Surinamska"
+ },
+ "SJ": {
+ "name": "Svalbard a Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swasiska"
+ },
+ "SY": {
+ "name": "Syriska"
+ },
+ "ES": {
+ "name": "Špańska"
+ },
+ "SE": {
+ "name": "Šwedska"
+ },
+ "CH": {
+ "name": "Šwicarska"
+ },
+ "TJ": {
+ "name": "Tadźikistan"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TZ": {
+ "name": "Tansanija"
+ },
+ "TH": {
+ "name": "Thailandska"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad a Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tuneziska"
+ },
+ "TM": {
+ "name": "Turkmeniska"
+ },
+ "TR": {
+ "name": "Turkojska"
+ },
+ "TC": {
+ "name": "Turks a Caicos kupy"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukraina"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbekistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikańske město"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis a Futuna"
+ },
+ "HK": {
+ "name": "Wósebna zastojnstwowa cona Hongkong"
+ },
+ "MO": {
+ "name": "Wósebna zastojnstwowa cona Macao"
+ },
+ "AE": {
+ "name": "Zjadnośone arabiske emiraty"
+ },
+ "GB": {
+ "name": "Zjadnośone kralejstwo"
+ },
+ "US": {
+ "name": "Zjadnośone staty Ameriki"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/dyo.json b/vendor/commerceguys/intl/resources/country/dyo.json
new file mode 100644
index 000000000..9d2cb7369
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/dyo.json
@@ -0,0 +1,761 @@
+{
+ "SA": {
+ "name": "Abari Saudi"
+ },
+ "AF": {
+ "name": "Afganistan"
+ },
+ "AX": {
+ "name": "Åland Islands"
+ },
+ "AL": {
+ "name": "Albani"
+ },
+ "DE": {
+ "name": "Almaañ"
+ },
+ "DZ": {
+ "name": "Alseri"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AI": {
+ "name": "Angiiya"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigua di Barbuda"
+ },
+ "AM": {
+ "name": "Armeni"
+ },
+ "AR": {
+ "name": "Arsantin"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AZ": {
+ "name": "Aserbaysan"
+ },
+ "HT": {
+ "name": "Ayti"
+ },
+ "BS": {
+ "name": "Bahama"
+ },
+ "BH": {
+ "name": "Bahrayn"
+ },
+ "BD": {
+ "name": "Banglades"
+ },
+ "BB": {
+ "name": "Barbad"
+ },
+ "BY": {
+ "name": "Belarus"
+ },
+ "BZ": {
+ "name": "Beliis"
+ },
+ "BE": {
+ "name": "Belsik"
+ },
+ "BJ": {
+ "name": "Bene"
+ },
+ "BM": {
+ "name": "Bermud"
+ },
+ "BO": {
+ "name": "Boliivi"
+ },
+ "BA": {
+ "name": "Bosni di Hersegovin"
+ },
+ "BW": {
+ "name": "Boswana"
+ },
+ "BR": {
+ "name": "Bresil"
+ },
+ "IO": {
+ "name": "British Indian Ocean Territory"
+ },
+ "VG": {
+ "name": "British Virgin Islands"
+ },
+ "BG": {
+ "name": "Bulgari"
+ },
+ "BF": {
+ "name": "Burukiina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BN": {
+ "name": "Buruney"
+ },
+ "BT": {
+ "name": "Butan"
+ },
+ "TD": {
+ "name": "Cad"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "KY": {
+ "name": "Cayman Islands"
+ },
+ "CF": {
+ "name": "Central African Republic"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CL": {
+ "name": "Cili"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CK": {
+ "name": "Cook Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Danmark"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "NF": {
+ "name": "Ecinkey yati Noorfok"
+ },
+ "ET": {
+ "name": "Ecoopi"
+ },
+ "EC": {
+ "name": "Ekuador"
+ },
+ "IN": {
+ "name": "End"
+ },
+ "ID": {
+ "name": "Endonesi"
+ },
+ "GQ": {
+ "name": "Equatorial Guinea"
+ },
+ "ER": {
+ "name": "Eritree"
+ },
+ "EG": {
+ "name": "Esípt"
+ },
+ "ES": {
+ "name": "Espaañ"
+ },
+ "EE": {
+ "name": "Estoni"
+ },
+ "FK": {
+ "name": "Falkland Islands"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "FI": {
+ "name": "Finland"
+ },
+ "FR": {
+ "name": "Frans"
+ },
+ "GF": {
+ "name": "French Guiana"
+ },
+ "PF": {
+ "name": "French Polynesia"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GH": {
+ "name": "Gaana"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambi"
+ },
+ "GN": {
+ "name": "Giné"
+ },
+ "GW": {
+ "name": "Giné Bisaau"
+ },
+ "GY": {
+ "name": "Giyan"
+ },
+ "GL": {
+ "name": "Greenland"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GR": {
+ "name": "Gres"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GP": {
+ "name": "Guwadalup"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "IS": {
+ "name": "Iisland"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IE": {
+ "name": "Irland"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Itali"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "DJ": {
+ "name": "Jibuti"
+ },
+ "JO": {
+ "name": "Jordan"
+ },
+ "KH": {
+ "name": "Kamboj"
+ },
+ "CM": {
+ "name": "Kamerun"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "CV": {
+ "name": "Kap Ver"
+ },
+ "KZ": {
+ "name": "Kazakhstan"
+ },
+ "KE": {
+ "name": "Keniya"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "CI": {
+ "name": "Koddiwar"
+ },
+ "CO": {
+ "name": "Kolombi"
+ },
+ "KM": {
+ "name": "Komor"
+ },
+ "CG": {
+ "name": "Kongo"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "Kosta Rika"
+ },
+ "HR": {
+ "name": "Kroasi"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "KG": {
+ "name": "Kyrgyzstan"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LV": {
+ "name": "Latvia"
+ },
+ "LB": {
+ "name": "Lebanon"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lithuania"
+ },
+ "LU": {
+ "name": "Luxembourg"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagaskaar"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malaysia"
+ },
+ "MV": {
+ "name": "Maldives"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MH": {
+ "name": "Marshall Islands"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Mexico"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "CD": {
+ "name": "Mofam demokratik mati Kongo"
+ },
+ "CZ": {
+ "name": "Mofam mati Cek"
+ },
+ "DO": {
+ "name": "Mofam mati Dominik"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MA": {
+ "name": "Morocco"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar (Burma)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NL": {
+ "name": "Netherlands"
+ },
+ "NC": {
+ "name": "New Caledonia"
+ },
+ "NZ": {
+ "name": "New Zealand"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "KP": {
+ "name": "North Korea"
+ },
+ "MP": {
+ "name": "Northern Mariana Islands"
+ },
+ "NO": {
+ "name": "Norway"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "HN": {
+ "name": "Onduras"
+ },
+ "HU": {
+ "name": "Oŋri"
+ },
+ "AU": {
+ "name": "Ostraalia"
+ },
+ "AT": {
+ "name": "Otris"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palestinian Territories"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua New Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PH": {
+ "name": "Philippines"
+ },
+ "PN": {
+ "name": "Pitcairn Islands"
+ },
+ "PL": {
+ "name": "Poland"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "QA": {
+ "name": "Qatar"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RO": {
+ "name": "Romania"
+ },
+ "RU": {
+ "name": "Russia"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "SV": {
+ "name": "Salvadoor"
+ },
+ "JM": {
+ "name": "Samaik"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa yati Amerik"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "LC": {
+ "name": "Saŋ Lusia"
+ },
+ "ST": {
+ "name": "São Tomé & Príncipe"
+ },
+ "JP": {
+ "name": "Sapoŋ"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "GE": {
+ "name": "Seorsi"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SL": {
+ "name": "Serra Leon"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "CN": {
+ "name": "Siin"
+ },
+ "CY": {
+ "name": "Siipr"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "GI": {
+ "name": "Sipraltaar"
+ },
+ "LK": {
+ "name": "Siri Lanka"
+ },
+ "SK": {
+ "name": "Slovaki"
+ },
+ "SI": {
+ "name": "Sloveni"
+ },
+ "SB": {
+ "name": "Solomon Islands"
+ },
+ "SO": {
+ "name": "Somali"
+ },
+ "ZA": {
+ "name": "South Africa"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "KR": {
+ "name": "South Korea"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "SH": {
+ "name": "St. Helena"
+ },
+ "KN": {
+ "name": "St. Kitts & Nevis"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "PM": {
+ "name": "St. Pierre & Miquelon"
+ },
+ "VC": {
+ "name": "St. Vincent & Grenadines"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swaziland"
+ },
+ "SE": {
+ "name": "Sweden"
+ },
+ "CH": {
+ "name": "Switzerland"
+ },
+ "SY": {
+ "name": "Syria"
+ },
+ "TH": {
+ "name": "Tailand"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TJ": {
+ "name": "Tajikistan"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad & Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TR": {
+ "name": "Turkey"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TC": {
+ "name": "Turks & Caicos Islands"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "VI": {
+ "name": "U.S. Virgin Islands"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukraine"
+ },
+ "AE": {
+ "name": "United Arab Emirates"
+ },
+ "GB": {
+ "name": "United Kingdom"
+ },
+ "US": {
+ "name": "United States"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbekistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatican City"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis & Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/dz.json b/vendor/commerceguys/intl/resources/country/dz.json
new file mode 100644
index 000000000..55b814d89
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/dz.json
@@ -0,0 +1,761 @@
+{
+ "XK": {
+ "name": "Kosovo"
+ },
+ "QA": {
+ "name": "ཀ་ཊར"
+ },
+ "IC": {
+ "name": "ཀ་ནེ་རི་གླིང་ཚོམ"
+ },
+ "KZ": {
+ "name": "ཀ་ཛགས་སཏཱན"
+ },
+ "KH": {
+ "name": "ཀམ་བྷོ་ཌི་ཡ"
+ },
+ "CW": {
+ "name": "ཀྱཱུར་ར་ཀོ"
+ },
+ "HR": {
+ "name": "ཀྲོ་ཨེ་ཤ"
+ },
+ "KI": {
+ "name": "ཀི་རི་བ་ཏི་མཚོ་གླིང"
+ },
+ "CU": {
+ "name": "ཀིའུ་བྷ"
+ },
+ "KG": {
+ "name": "ཀིར་གིས་སཏཱན"
+ },
+ "KW": {
+ "name": "ཀུ་ཝེཊ"
+ },
+ "CK": {
+ "name": "ཀུག་གླིང་ཚོམ"
+ },
+ "CA": {
+ "name": "ཀེ་ན་ཌ"
+ },
+ "CM": {
+ "name": "ཀེ་མ་རུན"
+ },
+ "BQ": {
+ "name": "ཀེ་རི་བི་ཡེན་ནེ་དར་ལནཌས྄"
+ },
+ "KE": {
+ "name": "ཀེན་ཡ"
+ },
+ "CV": {
+ "name": "ཀེཔ་བཱཌ"
+ },
+ "CC": {
+ "name": "ཀོ་ཀོས་གླིང་ཚོམ"
+ },
+ "CI": {
+ "name": "ཀོ་ཊེ་ ཌི་ཨི་ཝོ་རེ"
+ },
+ "KM": {
+ "name": "ཀོ་མོ་རོས"
+ },
+ "CO": {
+ "name": "ཀོ་ལོམ་བྷི་ཡ"
+ },
+ "CD": {
+ "name": "ཀོང་གྷོ ཀིན་ཤ་ས"
+ },
+ "CG": {
+ "name": "ཀོང་གྷོ བྷྲ་ཛ་བིལ"
+ },
+ "CR": {
+ "name": "ཀོས་ཊ་རི་ཀ"
+ },
+ "CX": {
+ "name": "ཁི་རིསྟ་མེས་མཚོ་གླིང"
+ },
+ "KY": {
+ "name": "ཁེ་མེན་གླིང་ཚོམ"
+ },
+ "GH": {
+ "name": "གྷ་ན"
+ },
+ "GA": {
+ "name": "གྷ་བྷོན"
+ },
+ "GY": {
+ "name": "གྷ་ཡ་ན"
+ },
+ "GN": {
+ "name": "གྷི་ནི"
+ },
+ "GW": {
+ "name": "གྷི་ནི་ བྷི་སཱའུ"
+ },
+ "GM": {
+ "name": "གྷེམ་བི་ཡ"
+ },
+ "GT": {
+ "name": "གྷོ་ཊ་མ་ལ"
+ },
+ "GR": {
+ "name": "གིརིས྄"
+ },
+ "GL": {
+ "name": "གིརཱིན་ལནཌ྄"
+ },
+ "GU": {
+ "name": "གུ་འམ་ མཚོ་གླིང"
+ },
+ "GG": {
+ "name": "གུ་ཨེརྣ་སི"
+ },
+ "GF": {
+ "name": "གུའི་ཡ་ན་ ཕྲནས྄་མངའ་ཁོངས"
+ },
+ "GD": {
+ "name": "གྲྀ་ན་ཌ"
+ },
+ "GP": {
+ "name": "གོ་ཌེ་ལུ་པེ"
+ },
+ "TD": {
+ "name": "ཅཱཌ"
+ },
+ "CL": {
+ "name": "ཅི་ལི"
+ },
+ "CZ": {
+ "name": "ཅེཀ་ རི་པབ་ལིཀ"
+ },
+ "JP": {
+ "name": "ཇ་པཱན"
+ },
+ "JM": {
+ "name": "ཇཱ་མཻ་ཀ"
+ },
+ "DE": {
+ "name": "ཇཱར་མ་ནི"
+ },
+ "DJ": {
+ "name": "ཇི་བྷུ་ཊི"
+ },
+ "GI": {
+ "name": "ཇིབ་རཱལ་ཊར"
+ },
+ "JE": {
+ "name": "ཇེར་སི"
+ },
+ "JO": {
+ "name": "ཇོར་ཌན"
+ },
+ "GE": {
+ "name": "ཇཽར་ཇཱ"
+ },
+ "TZ": {
+ "name": "ཊཱན་ཛཱ་ནི་ཡ"
+ },
+ "TW": {
+ "name": "ཊཱའི་ཝཱན"
+ },
+ "TR": {
+ "name": "ཊཱར་ཀི"
+ },
+ "TM": {
+ "name": "ཊཱརཀ་མེནའི་སཏཱན"
+ },
+ "TT": {
+ "name": "ཊི་ནི་ཌཱཌ་ ཨེནཌ་ ཊོ་བྷེ་གྷོ"
+ },
+ "TN": {
+ "name": "ཊུ་ནི་ཤི་ཡ"
+ },
+ "TG": {
+ "name": "ཊོ་གྷོ"
+ },
+ "TO": {
+ "name": "ཊོང་གྷ"
+ },
+ "DG": {
+ "name": "ཌི་ཡེ་གོ་གར་སིའོ"
+ },
+ "DK": {
+ "name": "ཌེན་མཱཀ"
+ },
+ "DM": {
+ "name": "ཌོ་མི་ནི་ཀ"
+ },
+ "DO": {
+ "name": "ཌོ་མི་ནི་ཀཱན་ རི་པབ་ལིཀ"
+ },
+ "TJ": {
+ "name": "ཏ་ཇིག་གི་སཏཱན"
+ },
+ "TA": {
+ "name": "ཏྲིས་ཏན་ད་ཀུན་ཧ"
+ },
+ "TL": {
+ "name": "ཏི་་མོར་ལེ་ཨེསཊ"
+ },
+ "TV": {
+ "name": "ཏུ་ཝ་ལུ"
+ },
+ "TC": {
+ "name": "ཏུརྐས྄་ ཨེནཌ་ ཀ་ཀོས་གླིང་ཚོམ"
+ },
+ "TK": {
+ "name": "ཏོ་ཀེ་ལའུ་ མཚོ་གླིང"
+ },
+ "TH": {
+ "name": "ཐཱའི་ལེནཌ"
+ },
+ "NA": {
+ "name": "ན་མི་བི་ཡ"
+ },
+ "NR": {
+ "name": "ནའུ་རུ་"
+ },
+ "NE": {
+ "name": "ནཱའི་ཇཱ"
+ },
+ "NG": {
+ "name": "ནཱའི་ཇི་རི་ཡ"
+ },
+ "NI": {
+ "name": "ནི་ཀྲ་ཝ་ག"
+ },
+ "NU": {
+ "name": "ནི་ཨུ་ཨཻ"
+ },
+ "NC": {
+ "name": "ནིའུ་ཀ་ལི་དོ་ནི་ཡ"
+ },
+ "NZ": {
+ "name": "ནིའུ་ཛི་ལེནཌ"
+ },
+ "EH": {
+ "name": "ནུབ་ཕྱོགས་ ས་ཧཱ་ར"
+ },
+ "NL": {
+ "name": "ནེ་དར་ལནཌས྄"
+ },
+ "NF": {
+ "name": "ནོར་ཕོལཀ་མཚོ་གླིང༌"
+ },
+ "NO": {
+ "name": "ནོར་ཝེ"
+ },
+ "PK": {
+ "name": "པ་ཀི་སཏཱན"
+ },
+ "PA": {
+ "name": "པ་ན་མ"
+ },
+ "PG": {
+ "name": "པ་པུ་ ནིའུ་གི་ནི"
+ },
+ "PY": {
+ "name": "པ་ར་གུ་ཝའི"
+ },
+ "PW": {
+ "name": "པ་ལའུ"
+ },
+ "PN": {
+ "name": "པིཊ་ཀེ་ཡེརན་གླིང་ཚོམ"
+ },
+ "PR": {
+ "name": "པུ་འེར་ཊོ་རི་ཁོ"
+ },
+ "PE": {
+ "name": "པེ་རུ"
+ },
+ "PS": {
+ "name": "པེ་ལིསི་ཊི་ནི་ཡན་ཊེ་རི་ཐོ་རི"
+ },
+ "PL": {
+ "name": "པོ་ལེནཌ"
+ },
+ "PT": {
+ "name": "པོར་ཅུ་གཱལ"
+ },
+ "TF": {
+ "name": "ཕྲནཅ་གི་ལྷོ་ཕྱོགས་མངའ་ཁོངས"
+ },
+ "FR": {
+ "name": "ཕྲཱནས"
+ },
+ "PF": {
+ "name": "ཕྲཱནས྄་ཀྱི་པོ་ལི་ནི་ཤི་ཡ"
+ },
+ "FK": {
+ "name": "ཕལྐ་ལནྜ་གླིང་ཚོམ"
+ },
+ "FO": {
+ "name": "ཕཱའེ་རོ་གླིང་ཚོམ"
+ },
+ "FJ": {
+ "name": "ཕི་ཇི"
+ },
+ "PH": {
+ "name": "ཕི་ལི་པིནས"
+ },
+ "FI": {
+ "name": "ཕིན་ལེནཌ"
+ },
+ "VA": {
+ "name": "བ་ཊི་ཀཱན་ སི་ཊི"
+ },
+ "BD": {
+ "name": "བངྒ་ལ་དེཤ"
+ },
+ "KP": {
+ "name": "བྱང་ ཀོ་རི་ཡ"
+ },
+ "MP": {
+ "name": "བྱང་ཕྱོགས་ཀྱི་མ་ར་ཡ་ན་གླིང་ཚོམ"
+ },
+ "BM": {
+ "name": "བར་མུ་ཌ"
+ },
+ "BR": {
+ "name": "བྲ་ཛིལ"
+ },
+ "IO": {
+ "name": "བྲི་ཊིཤ་རྒྱ་གར་གྱི་རྒྱ་མཚོ་ས་ཁོངས"
+ },
+ "NP": {
+ "name": "བལ་ཡུལ"
+ },
+ "BH": {
+ "name": "བྷ་རེན"
+ },
+ "BS": {
+ "name": "བྷ་ཧ་མས྄"
+ },
+ "BF": {
+ "name": "བྷར་ཀི་ན་ ཕེ་སོ"
+ },
+ "BB": {
+ "name": "བྷར་བེ་ཌོས"
+ },
+ "BN": {
+ "name": "བྷྲུ་ནའི"
+ },
+ "BI": {
+ "name": "བྷུ་རུན་ཌི"
+ },
+ "BJ": {
+ "name": "བྷེ་ནིན"
+ },
+ "BO": {
+ "name": "བྷེ་ལི་བི་ཡ"
+ },
+ "BZ": {
+ "name": "བྷེ་ལིཛ"
+ },
+ "BE": {
+ "name": "བྷེལ་ཇམ"
+ },
+ "BW": {
+ "name": "བྷོཙ་ཝ་ན"
+ },
+ "BA": {
+ "name": "བྷོས་ནི་ཡ་ ཨེནཌ་ ཧར་ཛི་གྷོ་བི་ན"
+ },
+ "BG": {
+ "name": "བུལ་ག་རི་ཡ"
+ },
+ "VE": {
+ "name": "བེ་ནི་ཛུ་ཝེ་ལ"
+ },
+ "VN": {
+ "name": "བེཊ་ནཱམ"
+ },
+ "BY": {
+ "name": "བེལ་ཨ་རུ་སུ"
+ },
+ "MG": {
+ "name": "མ་དཱ་གེས་ཀར"
+ },
+ "MW": {
+ "name": "མ་ལ་ཝི"
+ },
+ "MY": {
+ "name": "མ་ལེ་ཤི་ཡ"
+ },
+ "MK": {
+ "name": "མ་སེ་ཌོ་ནི་ཡ"
+ },
+ "MO": {
+ "name": "མཀ་ཨའུ་ཅཱའི་ན"
+ },
+ "FM": {
+ "name": "མའི་ཀྲོ་ནི་ཤི་ཡ"
+ },
+ "MH": {
+ "name": "མར་ཤེལ་གླིང་ཚོམ"
+ },
+ "ML": {
+ "name": "མཱ་ལི"
+ },
+ "MQ": {
+ "name": "མཱར་ཊི་ནིཀ"
+ },
+ "MT": {
+ "name": "མཱལ་ཊ"
+ },
+ "MV": {
+ "name": "མཱལ་དིབས"
+ },
+ "MM": {
+ "name": "མི་ཡཱན་མར་ (བྷར་མ)"
+ },
+ "YT": {
+ "name": "མེ་ཡོཊ"
+ },
+ "MX": {
+ "name": "མེཀ་སི་ཀོ"
+ },
+ "MC": {
+ "name": "མོ་ན་ཀོ"
+ },
+ "MZ": {
+ "name": "མོ་ཛམ་བྷིཀ"
+ },
+ "MR": {
+ "name": "མོ་རི་ཊེ་ནི་ཡ"
+ },
+ "MU": {
+ "name": "མོ་རི་ཤཱས"
+ },
+ "MA": {
+ "name": "མོ་རོ་ཀོ"
+ },
+ "ME": {
+ "name": "མོན་ཊི་ནེག་རོ"
+ },
+ "MS": {
+ "name": "མོན་ས་རཊ"
+ },
+ "MD": {
+ "name": "མོལ་དོ་བཱ"
+ },
+ "ZM": {
+ "name": "ཛམ་བྷི་ཡ"
+ },
+ "ZW": {
+ "name": "ཛིམ་བྷབ་ཝེ"
+ },
+ "VU": {
+ "name": "ཝ་ནུ་ཨ་ཏུ"
+ },
+ "VG": {
+ "name": "ཝརཇིན་གླིང་ཚོམ་ བྲཱི་ཊིཤ་མངའ་ཁོངས"
+ },
+ "VI": {
+ "name": "ཝརཇིན་གླིང་ཚོམ་ ཡུ་ཨེས་ཨེ་མངའ་ཁོངས"
+ },
+ "WF": {
+ "name": "ཝལ་ལིས྄་ ཨེནཌ་ ཕུ་ཏུ་ན་"
+ },
+ "BT": {
+ "name": "འབྲུག"
+ },
+ "AQ": {
+ "name": "འཛམ་གླིང་ལྷོ་མཐའི་ཁྱགས་གླིང"
+ },
+ "UA": {
+ "name": "ཡུ་ཀརེན"
+ },
+ "UG": {
+ "name": "ཡུ་གྷན་ཌ"
+ },
+ "GB": {
+ "name": "ཡུ་ནཱའི་ཊེཌ་ ཀིང་ཌམ"
+ },
+ "AE": {
+ "name": "ཡུ་ནཱའི་ཊེཌ་ ཨ་རབ་ ཨེ་མེ་རེཊས"
+ },
+ "UY": {
+ "name": "ཡུ་རུ་གུ་ཝའི"
+ },
+ "UM": {
+ "name": "ཡུ་ཨེས་གྱི་མཐའ་མཚམས་མཚོ་གླིང་"
+ },
+ "US": {
+ "name": "ཡུ་ཨེས་ཨེ"
+ },
+ "YE": {
+ "name": "ཡེ་མེན"
+ },
+ "IN": {
+ "name": "རྒྱ་གར"
+ },
+ "CN": {
+ "name": "རྒྱ་ནག"
+ },
+ "RW": {
+ "name": "རུ་ཝན་ཌ"
+ },
+ "RE": {
+ "name": "རེ་ཡུ་ནི་ཡོན"
+ },
+ "RO": {
+ "name": "རོ་མེ་ནི་ཡ"
+ },
+ "LU": {
+ "name": "ལག་ཛམ་བོརྒ"
+ },
+ "LV": {
+ "name": "ལཊ་བི་ཡ"
+ },
+ "KR": {
+ "name": "ལྷོ་ ཀོ་རི་ཡ"
+ },
+ "LA": {
+ "name": "ལཱ་ཝོས"
+ },
+ "LR": {
+ "name": "ལཱའི་བེ་རི་ཡ"
+ },
+ "LT": {
+ "name": "ལི་ཐུ་ཝེ་ནི་ཡ"
+ },
+ "LY": {
+ "name": "ལི་བི་ཡ"
+ },
+ "LI": {
+ "name": "ལིཀ་ཏནས་ཏ་ཡིན"
+ },
+ "LB": {
+ "name": "ལེ་བ་ནོན"
+ },
+ "LS": {
+ "name": "ལཻ་སོ་ཐོ"
+ },
+ "LK": {
+ "name": "ཤྲཱི་ལང་ཀ"
+ },
+ "WS": {
+ "name": "ས་མོ་ཨ"
+ },
+ "AS": {
+ "name": "ས་མོ་ཨ་ཡུ་ཨེས་ཨེ་མངའ་ཁོངས"
+ },
+ "ST": {
+ "name": "སཝ་ ཊོ་མེ་ ཨེནཌ་ པྲྀན་སི་པེ"
+ },
+ "SJ": {
+ "name": "སྭཱལ་བྷརྡ་ ཨེནཌ་ ཇཱན་མ་ཡེན"
+ },
+ "SM": {
+ "name": "སཱན་མ་རི་ནོ"
+ },
+ "SA": {
+ "name": "སཱཝ་དི་ ཨ་རེ་བྷི་ཡ"
+ },
+ "CY": {
+ "name": "སཱའི་པྲས"
+ },
+ "SS": {
+ "name": "སཱའུཐ་ སུ་ཌཱན"
+ },
+ "ZA": {
+ "name": "སཱའུཐ་ ཨཕ་རི་ཀ"
+ },
+ "GS": {
+ "name": "སཱའུཐ་ཇཽར་ཇཱ་ དང་ སཱའུཐ་སེནཌ྄་ཝིཅ་གླིང་ཚོམ"
+ },
+ "RS": {
+ "name": "སཱར་བྷི་ཡ"
+ },
+ "SL": {
+ "name": "སི་ར་ ལི་འོན"
+ },
+ "SY": {
+ "name": "སི་རི་ཡ"
+ },
+ "SG": {
+ "name": "སིང་ག་པོར"
+ },
+ "SX": {
+ "name": "སིནཊ་ མཱར་ཊེན"
+ },
+ "PM": {
+ "name": "སིནཊ་པི་ཡེར་ ཨེནཌ་ མིཀོ་ལེན"
+ },
+ "SD": {
+ "name": "སུ་ཌཱན"
+ },
+ "SZ": {
+ "name": "སུ་ཝ་ཛི་ལེནཌ"
+ },
+ "CH": {
+ "name": "སུ་ཝིཊ་ཛར་ལེནཌ"
+ },
+ "SR": {
+ "name": "སུ་རི་ནཱམ"
+ },
+ "SK": {
+ "name": "སུ་ལོ་བཱ་ཀི་ཡ"
+ },
+ "SI": {
+ "name": "སུ་ལོ་བི་ནི་ཡ"
+ },
+ "SE": {
+ "name": "སུའི་ཌེན"
+ },
+ "SN": {
+ "name": "སེ་ནི་གྷལ"
+ },
+ "SC": {
+ "name": "སེ་ཤཱལས"
+ },
+ "EA": {
+ "name": "སེ་ཨུ་ཏ་ ཨེནཌ་ མེལ་ལི་ལ"
+ },
+ "CF": {
+ "name": "སེན་ཊལ་ ཨཕ་རི་ཀཱན་ རི་པབ་ལིཀ"
+ },
+ "KN": {
+ "name": "སེནཊ་ ཀིཊས་ དང་ ནེ་བིས"
+ },
+ "BL": {
+ "name": "སེནཊ་ བར་ཐོ་ལོམ་མིའུ"
+ },
+ "MF": {
+ "name": "སེནཊ་ མཱར་ཊིན"
+ },
+ "LC": {
+ "name": "སེནཊ་ ལུ་སི་ཡ"
+ },
+ "SH": {
+ "name": "སེནཊ་ ཧེ་ལི་ན"
+ },
+ "VC": {
+ "name": "སེནཊ་ཝིན་སེནཌ྄ ཨེནཌ་ གི་རེ་ན་དིནས྄"
+ },
+ "SO": {
+ "name": "སོ་མ་ལི་ཡ"
+ },
+ "SB": {
+ "name": "སོ་ལོ་མོན་ གླིང་ཚོམ"
+ },
+ "MN": {
+ "name": "སོག་པོ་ཡུལ"
+ },
+ "HU": {
+ "name": "ཧཱང་གྷ་རི"
+ },
+ "HN": {
+ "name": "ཧཱན་ཌུ་རཱས྄"
+ },
+ "HT": {
+ "name": "ཧེ་ཊི"
+ },
+ "HK": {
+ "name": "ཧོང་ཀོང་ཅཱའི་ན"
+ },
+ "AZ": {
+ "name": "ཨ་ཛར་བྷའི་ཇཱན"
+ },
+ "IM": {
+ "name": "ཨ་ཡུལ་ ཨོཕ་ མཱན"
+ },
+ "AW": {
+ "name": "ཨ་རུ་བཱ"
+ },
+ "AX": {
+ "name": "ཨ་ལནཌ་གླིང་ཚོམ"
+ },
+ "AO": {
+ "name": "ཨང་གྷོ་ལ"
+ },
+ "AI": {
+ "name": "ཨང་གི་ལ"
+ },
+ "AG": {
+ "name": "ཨན་ཊི་གུ་ཝ་ ཨེནཌ་ བྷར་བྷུ་ཌ"
+ },
+ "AF": {
+ "name": "ཨཕ་གྷ་ནི་སཏཱན"
+ },
+ "AR": {
+ "name": "ཨར་ཇེན་ཊི་ན"
+ },
+ "AM": {
+ "name": "ཨར་མི་ནི་ཡ"
+ },
+ "IE": {
+ "name": "ཨཱ་ཡ་ལེནཌ"
+ },
+ "AD": {
+ "name": "ཨཱན་དོ་ར"
+ },
+ "IS": {
+ "name": "ཨཱའིས་ལེནཌ"
+ },
+ "DZ": {
+ "name": "ཨཱལ་ཇི་རི་ཡ"
+ },
+ "AL": {
+ "name": "ཨཱལ་བེ་ནི་ཡ"
+ },
+ "AT": {
+ "name": "ཨཱོས་ཊྲི་ཡ"
+ },
+ "AU": {
+ "name": "ཨཱོས་ཊྲེལ་ལི་ཡ"
+ },
+ "EG": {
+ "name": "ཨི་ཇིབཊ"
+ },
+ "IT": {
+ "name": "ཨི་ཊ་ལི"
+ },
+ "ET": {
+ "name": "ཨི་ཐི་ཡོ་པི་ཡ"
+ },
+ "IQ": {
+ "name": "ཨི་རཱཀ"
+ },
+ "IR": {
+ "name": "ཨི་རཱན"
+ },
+ "ID": {
+ "name": "ཨིན་ཌོ་ནེ་ཤི་ཡ"
+ },
+ "ES": {
+ "name": "ཨིས་པེན"
+ },
+ "IL": {
+ "name": "ཨིས་ར་ཡེལ"
+ },
+ "RU": {
+ "name": "ཨུ་རུ་སུ"
+ },
+ "UZ": {
+ "name": "ཨུས་བེག་གི་སཏཱན"
+ },
+ "GQ": {
+ "name": "ཨེ་ཀུ་ཊོ་རེལ་ གི་ནི"
+ },
+ "EC": {
+ "name": "ཨེ་ཁྭ་ཌོར"
+ },
+ "ER": {
+ "name": "ཨེ་རི་ཊྲེ་ཡ"
+ },
+ "AC": {
+ "name": "ཨེ་སེན་ཤུན་ཚོ་གླིང༌"
+ },
+ "SV": {
+ "name": "ཨེལ་སལ་བ་ཌོར"
+ },
+ "EE": {
+ "name": "ཨེས་ཊོ་ནི་ཡ"
+ },
+ "OM": {
+ "name": "ཨོ་མཱན"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/ebu.json b/vendor/commerceguys/intl/resources/country/ebu.json
new file mode 100644
index 000000000..06ebd2eb3
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/ebu.json
@@ -0,0 +1,761 @@
+{
+ "ZA": {
+ "name": "Afrika Kusini"
+ },
+ "AF": {
+ "name": "Afuganistani"
+ },
+ "IS": {
+ "name": "Aislandi"
+ },
+ "AR": {
+ "name": "Ajentina"
+ },
+ "AX": {
+ "name": "Åland Islands"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Aljeria"
+ },
+ "AD": {
+ "name": "Andora"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigua na Barbuda"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "IE": {
+ "name": "Ayalandi"
+ },
+ "AZ": {
+ "name": "Azabajani"
+ },
+ "BB": {
+ "name": "Babadosi"
+ },
+ "BS": {
+ "name": "Bahama"
+ },
+ "BH": {
+ "name": "Bahareni"
+ },
+ "BD": {
+ "name": "Bangladeshi"
+ },
+ "BY": {
+ "name": "Belarusi"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benini"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia na Hezegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brazili"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BF": {
+ "name": "Bukinafaso"
+ },
+ "MG": {
+ "name": "Bukini"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Butani"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "TD": {
+ "name": "Chadi"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Denmaki"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "EC": {
+ "name": "Ekwado"
+ },
+ "SV": {
+ "name": "Elsavado"
+ },
+ "IO": {
+ "name": "Eneo la Uingereza katika Bahari Hindi"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "AE": {
+ "name": "Falme za Kiarabu"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filipino"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gaboni"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GN": {
+ "name": "Gine"
+ },
+ "GW": {
+ "name": "Ginebisau"
+ },
+ "GQ": {
+ "name": "Ginekweta"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GL": {
+ "name": "Grinlandi"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "GP": {
+ "name": "Gwadelupe"
+ },
+ "GU": {
+ "name": "Gwam"
+ },
+ "GT": {
+ "name": "Gwatemala"
+ },
+ "GF": {
+ "name": "Gwiyana ya Ufaransa"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "ES": {
+ "name": "Hispania"
+ },
+ "HN": {
+ "name": "Hondurasi"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hungaria"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IQ": {
+ "name": "Iraki"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israeli"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JM": {
+ "name": "Jamaika"
+ },
+ "CF": {
+ "name": "Jamhuri ya Afrika ya Kati"
+ },
+ "CZ": {
+ "name": "Jamhuri ya Cheki"
+ },
+ "DO": {
+ "name": "Jamhuri ya Dominika"
+ },
+ "CD": {
+ "name": "Jamhuri ya Kidemokrasia ya Kongo"
+ },
+ "JP": {
+ "name": "Japani"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "GI": {
+ "name": "Jibralta"
+ },
+ "DJ": {
+ "name": "Jibuti"
+ },
+ "GE": {
+ "name": "Jojia"
+ },
+ "KH": {
+ "name": "Kambodia"
+ },
+ "CM": {
+ "name": "Kameruni"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "QA": {
+ "name": "Katari"
+ },
+ "KZ": {
+ "name": "Kazakistani"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "CV": {
+ "name": "Kepuvede"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "KG": {
+ "name": "Kirigizistani"
+ },
+ "NF": {
+ "name": "Kisiwa cha Norfok"
+ },
+ "CI": {
+ "name": "Kodivaa"
+ },
+ "CO": {
+ "name": "Kolombia"
+ },
+ "KM": {
+ "name": "Komoro"
+ },
+ "CG": {
+ "name": "Kongo"
+ },
+ "HR": {
+ "name": "Korasia"
+ },
+ "KP": {
+ "name": "Korea Kaskazini"
+ },
+ "KR": {
+ "name": "Korea Kusini"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "Kostarika"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "CY": {
+ "name": "Kuprosi"
+ },
+ "KW": {
+ "name": "Kuwaiti"
+ },
+ "LA": {
+ "name": "Laosi"
+ },
+ "LU": {
+ "name": "Lasembagi"
+ },
+ "LV": {
+ "name": "Lativia"
+ },
+ "LB": {
+ "name": "Lebanoni"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Lishenteni"
+ },
+ "LT": {
+ "name": "Litwania"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malesia"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "US": {
+ "name": "Marekani"
+ },
+ "MQ": {
+ "name": "Martiniki"
+ },
+ "MK": {
+ "name": "Masedonia"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Meksiko"
+ },
+ "FM": {
+ "name": "Mikronesia"
+ },
+ "EG": {
+ "name": "Misri"
+ },
+ "MV": {
+ "name": "Modivu"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrati"
+ },
+ "MU": {
+ "name": "Morisi"
+ },
+ "MR": {
+ "name": "Moritania"
+ },
+ "MA": {
+ "name": "Moroko"
+ },
+ "MZ": {
+ "name": "Msumbiji"
+ },
+ "MM": {
+ "name": "Myama"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepali"
+ },
+ "NE": {
+ "name": "Nijeri"
+ },
+ "NG": {
+ "name": "Nijeria"
+ },
+ "NI": {
+ "name": "Nikaragwa"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Norwe"
+ },
+ "NC": {
+ "name": "Nyukaledonia"
+ },
+ "NZ": {
+ "name": "Nyuzilandi"
+ },
+ "OM": {
+ "name": "Omani"
+ },
+ "PK": {
+ "name": "Pakistani"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua"
+ },
+ "PY": {
+ "name": "Paragwai"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitkairni"
+ },
+ "PL": {
+ "name": "Polandi"
+ },
+ "PF": {
+ "name": "Polinesia ya Ufaransa"
+ },
+ "PR": {
+ "name": "Pwetoriko"
+ },
+ "RE": {
+ "name": "Riyunioni"
+ },
+ "RO": {
+ "name": "Romania"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "SM": {
+ "name": "Samarino"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa ya Marekani"
+ },
+ "SH": {
+ "name": "Santahelena"
+ },
+ "KN": {
+ "name": "Santakitzi na Nevis"
+ },
+ "LC": {
+ "name": "Santalusia"
+ },
+ "PM": {
+ "name": "Santapieri na Mikeloni"
+ },
+ "VC": {
+ "name": "Santavisenti na Grenadini"
+ },
+ "ST": {
+ "name": "Sao Tome na Principe"
+ },
+ "SA": {
+ "name": "Saudi"
+ },
+ "SN": {
+ "name": "Senegali"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Shelisheli"
+ },
+ "SL": {
+ "name": "Siera Leoni"
+ },
+ "SG": {
+ "name": "Singapoo"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Siria"
+ },
+ "LK": {
+ "name": "Sirilanka"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SD": {
+ "name": "Sudani"
+ },
+ "SR": {
+ "name": "Surinamu"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailandi"
+ },
+ "TW": {
+ "name": "Taiwani"
+ },
+ "TJ": {
+ "name": "Tajikistani"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TL": {
+ "name": "Timori ya Mashariki"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad na Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TM": {
+ "name": "Turukimenistani"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "IR": {
+ "name": "Uajemi"
+ },
+ "BE": {
+ "name": "Ubelgiji"
+ },
+ "FR": {
+ "name": "Ufaransa"
+ },
+ "FI": {
+ "name": "Ufini"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "GR": {
+ "name": "Ugiriki"
+ },
+ "ET": {
+ "name": "Uhabeshi"
+ },
+ "NL": {
+ "name": "Uholanzi"
+ },
+ "GB": {
+ "name": "Uingereza"
+ },
+ "DE": {
+ "name": "Ujerumani"
+ },
+ "PS": {
+ "name": "Ukingo wa Magharibi na Ukanda wa Gaza wa Palestina"
+ },
+ "UA": {
+ "name": "Ukraini"
+ },
+ "PT": {
+ "name": "Ureno"
+ },
+ "UY": {
+ "name": "Urugwai"
+ },
+ "RU": {
+ "name": "Urusi"
+ },
+ "SZ": {
+ "name": "Uswazi"
+ },
+ "SE": {
+ "name": "Uswidi"
+ },
+ "CH": {
+ "name": "Uswisi"
+ },
+ "TR": {
+ "name": "Uturuki"
+ },
+ "UZ": {
+ "name": "Uzibekistani"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikani"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietinamu"
+ },
+ "CK": {
+ "name": "Visiwa vya Cook"
+ },
+ "FK": {
+ "name": "Visiwa vya Falkland"
+ },
+ "KY": {
+ "name": "Visiwa vya Kayman"
+ },
+ "MP": {
+ "name": "Visiwa vya Mariana vya Kaskazini"
+ },
+ "MH": {
+ "name": "Visiwa vya Marshal"
+ },
+ "SB": {
+ "name": "Visiwa vya Solomon"
+ },
+ "TC": {
+ "name": "Visiwa vya Turki na Kaiko"
+ },
+ "VI": {
+ "name": "Visiwa vya Virgin vya Marekani"
+ },
+ "VG": {
+ "name": "Visiwa vya Virgin vya Uingereza"
+ },
+ "WF": {
+ "name": "Walis na Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yemeni"
+ },
+ "JO": {
+ "name": "Yordani"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/ee.json b/vendor/commerceguys/intl/resources/country/ee.json
new file mode 100644
index 000000000..144d80332
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/ee.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afghanistan nutome"
+ },
+ "IS": {
+ "name": "Aiseland nutome"
+ },
+ "IM": {
+ "name": "Aisle of Man nutome"
+ },
+ "AX": {
+ "name": "Åland ƒudomekpo nutome"
+ },
+ "AL": {
+ "name": "Albania nutome"
+ },
+ "DZ": {
+ "name": "Algeria nutome"
+ },
+ "AS": {
+ "name": "Amerika Samoa nutome"
+ },
+ "AD": {
+ "name": "Andorra nutome"
+ },
+ "AO": {
+ "name": "Angola nutome"
+ },
+ "AI": {
+ "name": "Anguilla nutome"
+ },
+ "AQ": {
+ "name": "Antartica nutome"
+ },
+ "AG": {
+ "name": "́Antigua kple Barbuda nutome"
+ },
+ "ZA": {
+ "name": "Anyiehe Africa nutome"
+ },
+ "TF": {
+ "name": "Anyiehe Franseme nutome"
+ },
+ "GS": {
+ "name": "Anyiehe Georgia kple Anyiehe Sandwich ƒudomekpowo nutome"
+ },
+ "KR": {
+ "name": "Anyiehe Korea nutome"
+ },
+ "AR": {
+ "name": "Argentina nutome"
+ },
+ "AM": {
+ "name": "Armenia nutome"
+ },
+ "AW": {
+ "name": "Aruba nutome"
+ },
+ "AC": {
+ "name": "Ascension ƒudomekpo nutome"
+ },
+ "AU": {
+ "name": "Australia nutome"
+ },
+ "AT": {
+ "name": "Austria nutome"
+ },
+ "AZ": {
+ "name": "Azerbaijan nutome"
+ },
+ "BS": {
+ "name": "Bahamas nutome"
+ },
+ "BH": {
+ "name": "Bahrain nutome"
+ },
+ "BD": {
+ "name": "Bangladesh nutome"
+ },
+ "BB": {
+ "name": "Barbados nutome"
+ },
+ "BY": {
+ "name": "Belarus nutome"
+ },
+ "BE": {
+ "name": "Belgium nutome"
+ },
+ "BZ": {
+ "name": "Belize nutome"
+ },
+ "BJ": {
+ "name": "Benin nutome"
+ },
+ "BM": {
+ "name": "Bermuda nutome"
+ },
+ "BT": {
+ "name": "Bhutan nutome"
+ },
+ "BO": {
+ "name": "Bolivia nutome"
+ },
+ "BA": {
+ "name": "Bosnia kple Herzergovina nutome"
+ },
+ "BW": {
+ "name": "Botswana nutome"
+ },
+ "BR": {
+ "name": "Brazil nutome"
+ },
+ "IO": {
+ "name": "Britaintɔwo ƒe india ƒudome nutome"
+ },
+ "VG": {
+ "name": "Britaintɔwo ƒe Virgin ƒudomekpowo nutome"
+ },
+ "BN": {
+ "name": "Brunei nutome"
+ },
+ "BG": {
+ "name": "Bulgaria nutome"
+ },
+ "BF": {
+ "name": "Burkina Faso nutome"
+ },
+ "BI": {
+ "name": "Burundi nutome"
+ },
+ "CA": {
+ "name": "Canada nutome"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Denmark nutome"
+ },
+ "DG": {
+ "name": "Diego Garsia nutome"
+ },
+ "DM": {
+ "name": "Dominika nutome"
+ },
+ "DO": {
+ "name": "Dominika repɔblik nutome"
+ },
+ "JM": {
+ "name": "Dzamaika nutome"
+ },
+ "JP": {
+ "name": "Dzapan nutome"
+ },
+ "JE": {
+ "name": "Dzɛse nutome"
+ },
+ "DJ": {
+ "name": "Dzibuti nutome"
+ },
+ "KP": {
+ "name": "Dziehe Korea nutome"
+ },
+ "MP": {
+ "name": "Dziehe Marina ƒudomekpowo nutome"
+ },
+ "EG": {
+ "name": "Egypte nutome"
+ },
+ "EC": {
+ "name": "Ekuadɔ nutome"
+ },
+ "GQ": {
+ "name": "Ekuatorial Guini nutome"
+ },
+ "SV": {
+ "name": "El Salvadɔ nutome"
+ },
+ "ER": {
+ "name": "Eritrea nutome"
+ },
+ "EE": {
+ "name": "Estonia nutome"
+ },
+ "ET": {
+ "name": "Etiopia nutome"
+ },
+ "FK": {
+ "name": "Falkland ƒudomekpowo nutome"
+ },
+ "FO": {
+ "name": "Faroe ƒudomekpowo nutome"
+ },
+ "FJ": {
+ "name": "Fidzi nutome"
+ },
+ "PH": {
+ "name": "Filipini nutome"
+ },
+ "FI": {
+ "name": "Finland nutome"
+ },
+ "FR": {
+ "name": "France nutome"
+ },
+ "GF": {
+ "name": "Frentsi Gayana nutome"
+ },
+ "PF": {
+ "name": "Frentsi Pɔlinesia nutome"
+ },
+ "GA": {
+ "name": "Gabɔn nutome"
+ },
+ "GM": {
+ "name": "Gambia nutome"
+ },
+ "GE": {
+ "name": "Georgia nutome"
+ },
+ "DE": {
+ "name": "Germania nutome"
+ },
+ "GH": {
+ "name": "Ghana nutome"
+ },
+ "GI": {
+ "name": "Gibraltar nutome"
+ },
+ "GW": {
+ "name": "Gini-Bisao nutome"
+ },
+ "GR": {
+ "name": "Greece nutome"
+ },
+ "GD": {
+ "name": "Grenada nutome"
+ },
+ "GL": {
+ "name": "Grinland nutome"
+ },
+ "GP": {
+ "name": "Guadelupe nutome"
+ },
+ "GU": {
+ "name": "Guam nutome"
+ },
+ "GT": {
+ "name": "Guatemala nutome"
+ },
+ "GG": {
+ "name": "Guernse nutome"
+ },
+ "GN": {
+ "name": "Guini nutome"
+ },
+ "GY": {
+ "name": "Guyanadu"
+ },
+ "EH": {
+ "name": "Ɣetoɖoƒe Sahara nutome"
+ },
+ "HT": {
+ "name": "Haiti nutome"
+ },
+ "HN": {
+ "name": "Hondurasdu"
+ },
+ "HK": {
+ "name": "Hɔng Kɔng SAR Tsaina nutome"
+ },
+ "HU": {
+ "name": "Hungari nutome"
+ },
+ "IN": {
+ "name": "India nutome"
+ },
+ "ID": {
+ "name": "Indonesia nutome"
+ },
+ "IR": {
+ "name": "Iran nutome"
+ },
+ "IQ": {
+ "name": "iraqdukɔ"
+ },
+ "IE": {
+ "name": "Ireland nutome"
+ },
+ "IL": {
+ "name": "Israel nutome"
+ },
+ "IT": {
+ "name": "Italia nutome"
+ },
+ "KH": {
+ "name": "Kambodia nutome"
+ },
+ "CM": {
+ "name": "Kamerun nutome"
+ },
+ "IC": {
+ "name": "Kanari ƒudomekpowo nutome"
+ },
+ "CV": {
+ "name": "Kape Verde nutome"
+ },
+ "QA": {
+ "name": "Katar nutome"
+ },
+ "KY": {
+ "name": "Kayman ƒudomekpowo nutome"
+ },
+ "KZ": {
+ "name": "Kazakstan nutome"
+ },
+ "KE": {
+ "name": "Kenya nutome"
+ },
+ "EA": {
+ "name": "Keuta and Melilla nutome"
+ },
+ "KG": {
+ "name": "Kirgizstan nutome"
+ },
+ "KI": {
+ "name": "Kiribati nutome"
+ },
+ "CC": {
+ "name": "Kokos (Kiling) fudomekpo nutome"
+ },
+ "CO": {
+ "name": "Kolombia nutome"
+ },
+ "KM": {
+ "name": "Komoros nutome"
+ },
+ "CG": {
+ "name": "Kongo Brazzaville nutome"
+ },
+ "CD": {
+ "name": "Kongo Kinshasa nutome"
+ },
+ "CK": {
+ "name": "Kook ƒudomekpo nutome"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "Kosta Rika nutome"
+ },
+ "CI": {
+ "name": "Kote d’Ivoire nutome"
+ },
+ "CX": {
+ "name": "Kristmas ƒudomekpo nutome"
+ },
+ "HR": {
+ "name": "Kroatsia nutome"
+ },
+ "CU": {
+ "name": "Kuba nutome"
+ },
+ "KW": {
+ "name": "Kuwait nutome"
+ },
+ "LA": {
+ "name": "Laos nutome"
+ },
+ "LV": {
+ "name": "Latvia nutome"
+ },
+ "LU": {
+ "name": "Lazembɔg nutome"
+ },
+ "LB": {
+ "name": "Lebanɔn nutome"
+ },
+ "LS": {
+ "name": "Lɛsoto nutome"
+ },
+ "LR": {
+ "name": "Liberia nutome"
+ },
+ "LY": {
+ "name": "Libya nutome"
+ },
+ "LT": {
+ "name": "Lituania nutome"
+ },
+ "LI": {
+ "name": "Litsenstein nutome"
+ },
+ "MO": {
+ "name": "Macau SAR Tsaina nutome"
+ },
+ "MG": {
+ "name": "Madagaska nutome"
+ },
+ "MK": {
+ "name": "Makedonia nutome"
+ },
+ "MW": {
+ "name": "Malawi nutome"
+ },
+ "MY": {
+ "name": "Malaysia nutome"
+ },
+ "MV": {
+ "name": "maldivesdukɔ"
+ },
+ "ML": {
+ "name": "Mali nutome"
+ },
+ "MT": {
+ "name": "Malta nutome"
+ },
+ "MH": {
+ "name": "Marshal ƒudomekpowo nutome"
+ },
+ "MQ": {
+ "name": "Martiniki nutome"
+ },
+ "MR": {
+ "name": "Mauritania nutome"
+ },
+ "MU": {
+ "name": "mauritiusdukɔ"
+ },
+ "YT": {
+ "name": "Mayotte nutome"
+ },
+ "MX": {
+ "name": "Mexico nutome"
+ },
+ "FM": {
+ "name": "Mikronesia nutome"
+ },
+ "MD": {
+ "name": "Moldova nutome"
+ },
+ "MC": {
+ "name": "Monako nutome"
+ },
+ "MN": {
+ "name": "Mongolia nutome"
+ },
+ "ME": {
+ "name": "Montenegro nutome"
+ },
+ "MS": {
+ "name": "Montserrat nutome"
+ },
+ "MA": {
+ "name": "Moroko nutome"
+ },
+ "MZ": {
+ "name": "Mozambiki nutome"
+ },
+ "MM": {
+ "name": "Myanmar (Burma) nutome"
+ },
+ "NA": {
+ "name": "Namibia nutome"
+ },
+ "NR": {
+ "name": "Nauru nutome"
+ },
+ "NP": {
+ "name": "Nepal nutome"
+ },
+ "NL": {
+ "name": "Netherlands nutome"
+ },
+ "NC": {
+ "name": "New Kaledonia nutome"
+ },
+ "NZ": {
+ "name": "New Zealand nutome"
+ },
+ "NI": {
+ "name": "Nicaraguadukɔ"
+ },
+ "NE": {
+ "name": "Niger nutome"
+ },
+ "NG": {
+ "name": "Nigeria nutome"
+ },
+ "NU": {
+ "name": "Niue nutome"
+ },
+ "NF": {
+ "name": "Norfolk ƒudomekpo nutome"
+ },
+ "NO": {
+ "name": "Norway nutome"
+ },
+ "OM": {
+ "name": "Oman nutome"
+ },
+ "PK": {
+ "name": "Pakistan nutome"
+ },
+ "PW": {
+ "name": "Palau nutome"
+ },
+ "PS": {
+ "name": "Palestinia nutome"
+ },
+ "PA": {
+ "name": "Panama nutome"
+ },
+ "PG": {
+ "name": "Papua New Gini nutome"
+ },
+ "PY": {
+ "name": "Paragua nutome"
+ },
+ "PE": {
+ "name": "Peru nutome"
+ },
+ "PN": {
+ "name": "Pitkairn ƒudomekpo nutome"
+ },
+ "PL": {
+ "name": "Poland nutome"
+ },
+ "PT": {
+ "name": "Portugal nutome"
+ },
+ "PR": {
+ "name": "Puerto Riko nutome"
+ },
+ "RE": {
+ "name": "Réunion nutome"
+ },
+ "RO": {
+ "name": "Romania nutome"
+ },
+ "RU": {
+ "name": "Russia nutome"
+ },
+ "RW": {
+ "name": "Rwanda nutome"
+ },
+ "BL": {
+ "name": "Saint Barthélemy nutome"
+ },
+ "SH": {
+ "name": "Saint Helena nutome"
+ },
+ "KN": {
+ "name": "Saint Kitis kple Nevis nutome"
+ },
+ "LC": {
+ "name": "Saint Lusia nutome"
+ },
+ "MF": {
+ "name": "Saint Martin nutome"
+ },
+ "PM": {
+ "name": "Saint Pierre kple Mikelɔn nutome"
+ },
+ "VC": {
+ "name": "Saint Vincent kple Grenadine nutome"
+ },
+ "CY": {
+ "name": "Saiprus nutome"
+ },
+ "WS": {
+ "name": "Samoa nutome"
+ },
+ "SM": {
+ "name": "San Marino nutome"
+ },
+ "ST": {
+ "name": "São Tomé kple Príncipe nutome"
+ },
+ "SA": {
+ "name": "Saudi Arabia nutome"
+ },
+ "SN": {
+ "name": "Senegal nutome"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seshɛls nutome"
+ },
+ "SL": {
+ "name": "Sierra Leone nutome"
+ },
+ "SG": {
+ "name": "Singapɔr nutome"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Siria nutome"
+ },
+ "SK": {
+ "name": "Slovakia nutome"
+ },
+ "SI": {
+ "name": "Slovenia nutome"
+ },
+ "SB": {
+ "name": "Solomon ƒudomekpowo nutome"
+ },
+ "SO": {
+ "name": "Somalia nutome"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "ES": {
+ "name": "Spain nutome"
+ },
+ "LK": {
+ "name": "Sri Lanka nutome"
+ },
+ "SD": {
+ "name": "Sudan nutome"
+ },
+ "SR": {
+ "name": "Suriname nutome"
+ },
+ "SJ": {
+ "name": "Svalbard kple Yan Mayen nutome"
+ },
+ "SZ": {
+ "name": "Swaziland nutome"
+ },
+ "SE": {
+ "name": "Sweden nutome"
+ },
+ "CH": {
+ "name": "Switzerland nutome"
+ },
+ "TW": {
+ "name": "Taiwan nutome"
+ },
+ "TJ": {
+ "name": "Tajikistan nutome"
+ },
+ "TZ": {
+ "name": "Tanzania nutome"
+ },
+ "TR": {
+ "name": "Tɛki nutome"
+ },
+ "TM": {
+ "name": "Tɛkmenistan nutome"
+ },
+ "TC": {
+ "name": "Tɛks kple Kaikos ƒudomekpowo nutome"
+ },
+ "TH": {
+ "name": "Thailand nutome"
+ },
+ "TL": {
+ "name": "Timor-Leste nutome"
+ },
+ "CF": {
+ "name": "Titina Afrika repɔblik nutome"
+ },
+ "TG": {
+ "name": "Togo nutome"
+ },
+ "TK": {
+ "name": "Tokelau nutome"
+ },
+ "TO": {
+ "name": "Tonga nutome"
+ },
+ "TT": {
+ "name": "Trinidad kple Tobago nutome"
+ },
+ "TA": {
+ "name": "Tristan da Kunha nutome"
+ },
+ "TN": {
+ "name": "Tunisia nutome"
+ },
+ "TV": {
+ "name": "Tuvalu nutome"
+ },
+ "TD": {
+ "name": "Tsad nutome"
+ },
+ "CN": {
+ "name": "Tsaina nutome"
+ },
+ "CZ": {
+ "name": "Tsɛk repɔblik nutome"
+ },
+ "CL": {
+ "name": "Tsile nutome"
+ },
+ "UM": {
+ "name": "U.S. Minor Outlaying ƒudomekpowo nutome"
+ },
+ "VI": {
+ "name": "U.S. Vɛrgin ƒudomekpowo nutome"
+ },
+ "UG": {
+ "name": "Uganda nutome"
+ },
+ "UA": {
+ "name": "Ukraine nutome"
+ },
+ "AE": {
+ "name": "United Arab Emirates nutome"
+ },
+ "GB": {
+ "name": "United Kingdom nutome"
+ },
+ "UY": {
+ "name": "uruguaydukɔ"
+ },
+ "US": {
+ "name": "USA nutome"
+ },
+ "UZ": {
+ "name": "Uzbekistan nutome"
+ },
+ "VU": {
+ "name": "Vanuatu nutome"
+ },
+ "VA": {
+ "name": "Vatikandu nutome"
+ },
+ "VE": {
+ "name": "Venezuela nutome"
+ },
+ "VN": {
+ "name": "Vietnam nutome"
+ },
+ "WF": {
+ "name": "Wallis kple Futuna nutome"
+ },
+ "YE": {
+ "name": "Yemen nutome"
+ },
+ "JO": {
+ "name": "Yordan nutome"
+ },
+ "ZM": {
+ "name": "Zambia nutome"
+ },
+ "ZW": {
+ "name": "Zimbabwe nutome"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/el.json b/vendor/commerceguys/intl/resources/country/el.json
new file mode 100644
index 000000000..752f7f054
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/el.json
@@ -0,0 +1,761 @@
+{
+ "SH": {
+ "name": "Αγία Ελένη"
+ },
+ "LC": {
+ "name": "Αγία Λουκία"
+ },
+ "BL": {
+ "name": "Άγιος Βαρθολομαίος"
+ },
+ "VC": {
+ "name": "Άγιος Βικέντιος και Γρεναδίνες"
+ },
+ "SM": {
+ "name": "Άγιος Μαρίνος"
+ },
+ "MF": {
+ "name": "Άγιος Μαρτίνος (Γαλλικό τμήμα)"
+ },
+ "SX": {
+ "name": "Άγιος Μαρτίνος (Ολλανδικό τμήμα)"
+ },
+ "KN": {
+ "name": "Άγιος Χριστόφορος και Νέβις"
+ },
+ "AZ": {
+ "name": "Αζερμπαϊτζάν"
+ },
+ "EG": {
+ "name": "Αίγυπτος"
+ },
+ "ET": {
+ "name": "Αιθιοπία"
+ },
+ "HT": {
+ "name": "Αϊτή"
+ },
+ "CI": {
+ "name": "Ακτή Ελεφαντοστού"
+ },
+ "AL": {
+ "name": "Αλβανία"
+ },
+ "DZ": {
+ "name": "Αλγερία"
+ },
+ "VI": {
+ "name": "Αμερικανικές Παρθένοι Νήσοι"
+ },
+ "AS": {
+ "name": "Αμερικανική Σαμόα"
+ },
+ "AO": {
+ "name": "Ανγκόλα"
+ },
+ "AI": {
+ "name": "Ανγκουίλα"
+ },
+ "AD": {
+ "name": "Ανδόρα"
+ },
+ "AQ": {
+ "name": "Ανταρκτική"
+ },
+ "AG": {
+ "name": "Αντίγκουα και Μπαρμπούντα"
+ },
+ "UM": {
+ "name": "Απομακρυσμένες Νησίδες ΗΠΑ"
+ },
+ "AR": {
+ "name": "Αργεντινή"
+ },
+ "AM": {
+ "name": "Αρμενία"
+ },
+ "AW": {
+ "name": "Αρούμπα"
+ },
+ "AU": {
+ "name": "Αυστραλία"
+ },
+ "AT": {
+ "name": "Αυστρία"
+ },
+ "AF": {
+ "name": "Αφγανιστάν"
+ },
+ "VU": {
+ "name": "Βανουάτου"
+ },
+ "VA": {
+ "name": "Βατικανό"
+ },
+ "BE": {
+ "name": "Βέλγιο"
+ },
+ "VE": {
+ "name": "Βενεζουέλα"
+ },
+ "BM": {
+ "name": "Βερμούδες"
+ },
+ "VN": {
+ "name": "Βιετνάμ"
+ },
+ "BO": {
+ "name": "Βολιβία"
+ },
+ "KP": {
+ "name": "Βόρεια Κορέα"
+ },
+ "BA": {
+ "name": "Βοσνία - Ερζεγοβίνη"
+ },
+ "BG": {
+ "name": "Βουλγαρία"
+ },
+ "BR": {
+ "name": "Βραζιλία"
+ },
+ "IO": {
+ "name": "Βρετανικά Εδάφη Ινδικού Ωκεανού"
+ },
+ "VG": {
+ "name": "Βρετανικές Παρθένοι Νήσοι"
+ },
+ "FR": {
+ "name": "Γαλλία"
+ },
+ "TF": {
+ "name": "Γαλλικές περιοχές του νοτίου ημισφαιρίου"
+ },
+ "GF": {
+ "name": "Γαλλική Γουιάνα"
+ },
+ "PF": {
+ "name": "Γαλλική Πολυνησία"
+ },
+ "DE": {
+ "name": "Γερμανία"
+ },
+ "GE": {
+ "name": "Γεωργία"
+ },
+ "GI": {
+ "name": "Γιβραλτάρ"
+ },
+ "GM": {
+ "name": "Γκάμπια"
+ },
+ "GA": {
+ "name": "Γκαμπόν"
+ },
+ "GH": {
+ "name": "Γκάνα"
+ },
+ "GG": {
+ "name": "Γκέρνζι"
+ },
+ "GU": {
+ "name": "Γκουάμ"
+ },
+ "GP": {
+ "name": "Γουαδελούπη"
+ },
+ "GT": {
+ "name": "Γουατεμάλα"
+ },
+ "GY": {
+ "name": "Γουιάνα"
+ },
+ "GN": {
+ "name": "Γουινέα"
+ },
+ "GW": {
+ "name": "Γουινέα Μπισάου"
+ },
+ "GD": {
+ "name": "Γρενάδα"
+ },
+ "GL": {
+ "name": "Γροιλανδία"
+ },
+ "DK": {
+ "name": "Δανία"
+ },
+ "DO": {
+ "name": "Δομινικανή Δημοκρατία"
+ },
+ "EH": {
+ "name": "Δυτική Σαχάρα"
+ },
+ "EC": {
+ "name": "Εκουαδόρ"
+ },
+ "SV": {
+ "name": "Ελ Σαλβαδόρ"
+ },
+ "CH": {
+ "name": "Ελβετία"
+ },
+ "GR": {
+ "name": "Ελλάδα"
+ },
+ "ER": {
+ "name": "Ερυθραία"
+ },
+ "EE": {
+ "name": "Εσθονία"
+ },
+ "ZM": {
+ "name": "Ζάμπια"
+ },
+ "ZW": {
+ "name": "Ζιμπάμπουε"
+ },
+ "AE": {
+ "name": "Ηνωμένα Αραβικά Εμιράτα"
+ },
+ "US": {
+ "name": "Ηνωμένες Πολιτείες"
+ },
+ "GB": {
+ "name": "Ηνωμένο Βασίλειο"
+ },
+ "EA": {
+ "name": "Θεούτα και Μελίλα"
+ },
+ "JP": {
+ "name": "Ιαπωνία"
+ },
+ "IN": {
+ "name": "Ινδία"
+ },
+ "ID": {
+ "name": "Ινδονησία"
+ },
+ "JO": {
+ "name": "Ιορδανία"
+ },
+ "IQ": {
+ "name": "Ιράκ"
+ },
+ "IR": {
+ "name": "Ιράν"
+ },
+ "IE": {
+ "name": "Ιρλανδία"
+ },
+ "GQ": {
+ "name": "Ισημερινή Γουινέα"
+ },
+ "IS": {
+ "name": "Ισλανδία"
+ },
+ "ES": {
+ "name": "Ισπανία"
+ },
+ "IL": {
+ "name": "Ισραήλ"
+ },
+ "IT": {
+ "name": "Ιταλία"
+ },
+ "KZ": {
+ "name": "Καζακστάν"
+ },
+ "CM": {
+ "name": "Καμερούν"
+ },
+ "KH": {
+ "name": "Καμπότζη"
+ },
+ "CA": {
+ "name": "Καναδάς"
+ },
+ "IC": {
+ "name": "Κανάριοι Νήσοι"
+ },
+ "QA": {
+ "name": "Κατάρ"
+ },
+ "CF": {
+ "name": "Κεντροαφρικανική Δημοκρατία"
+ },
+ "KE": {
+ "name": "Κένυα"
+ },
+ "CN": {
+ "name": "Κίνα"
+ },
+ "KG": {
+ "name": "Κιργιστάν"
+ },
+ "KI": {
+ "name": "Κιριμπάτι"
+ },
+ "CO": {
+ "name": "Κολομβία"
+ },
+ "KM": {
+ "name": "Κομόρες"
+ },
+ "CD": {
+ "name": "Κονγκό - Κινσάσα"
+ },
+ "CG": {
+ "name": "Κονγκό - Μπραζαβίλ"
+ },
+ "XK": {
+ "name": "Κόσοβο"
+ },
+ "CR": {
+ "name": "Κόστα Ρίκα"
+ },
+ "CU": {
+ "name": "Κούβα"
+ },
+ "KW": {
+ "name": "Κουβέιτ"
+ },
+ "CW": {
+ "name": "Κουρασάο"
+ },
+ "HR": {
+ "name": "Κροατία"
+ },
+ "CY": {
+ "name": "Κύπρος"
+ },
+ "LA": {
+ "name": "Λάος"
+ },
+ "LS": {
+ "name": "Λεσότο"
+ },
+ "LV": {
+ "name": "Λετονία"
+ },
+ "BY": {
+ "name": "Λευκορωσία"
+ },
+ "LB": {
+ "name": "Λίβανος"
+ },
+ "LR": {
+ "name": "Λιβερία"
+ },
+ "LY": {
+ "name": "Λιβύη"
+ },
+ "LT": {
+ "name": "Λιθουανία"
+ },
+ "LI": {
+ "name": "Λιχτενστάιν"
+ },
+ "LU": {
+ "name": "Λουξεμβούργο"
+ },
+ "YT": {
+ "name": "Μαγιότ"
+ },
+ "MG": {
+ "name": "Μαδαγασκάρη"
+ },
+ "MO": {
+ "name": "Μακάο ΕΔΠ Κίνας"
+ },
+ "MY": {
+ "name": "Μαλαισία"
+ },
+ "MW": {
+ "name": "Μαλάουι"
+ },
+ "MV": {
+ "name": "Μαλδίβες"
+ },
+ "ML": {
+ "name": "Μάλι"
+ },
+ "MT": {
+ "name": "Μάλτα"
+ },
+ "MA": {
+ "name": "Μαρόκο"
+ },
+ "MQ": {
+ "name": "Μαρτινίκα"
+ },
+ "MU": {
+ "name": "Μαυρίκιος"
+ },
+ "MR": {
+ "name": "Μαυριτανία"
+ },
+ "ME": {
+ "name": "Μαυροβούνιο"
+ },
+ "MX": {
+ "name": "Μεξικό"
+ },
+ "MM": {
+ "name": "Μιανμάρ\/Βιρμανία"
+ },
+ "FM": {
+ "name": "Μικρονησία"
+ },
+ "MN": {
+ "name": "Μογγολία"
+ },
+ "MZ": {
+ "name": "Μοζαμβίκη"
+ },
+ "MD": {
+ "name": "Μολδαβία"
+ },
+ "MC": {
+ "name": "Μονακό"
+ },
+ "MS": {
+ "name": "Μονσεράτ"
+ },
+ "BD": {
+ "name": "Μπανγκλαντές"
+ },
+ "BB": {
+ "name": "Μπαρμπάντος"
+ },
+ "BS": {
+ "name": "Μπαχάμες"
+ },
+ "BH": {
+ "name": "Μπαχρέιν"
+ },
+ "BZ": {
+ "name": "Μπελίζ"
+ },
+ "BJ": {
+ "name": "Μπενίν"
+ },
+ "BW": {
+ "name": "Μποτσουάνα"
+ },
+ "BF": {
+ "name": "Μπουρκίνα Φάσο"
+ },
+ "BI": {
+ "name": "Μπουρούντι"
+ },
+ "BT": {
+ "name": "Μπουτάν"
+ },
+ "BN": {
+ "name": "Μπρουνέι"
+ },
+ "NA": {
+ "name": "Ναμίμπια"
+ },
+ "NR": {
+ "name": "Ναουρού"
+ },
+ "NZ": {
+ "name": "Νέα Ζηλανδία"
+ },
+ "NC": {
+ "name": "Νέα Καληδονία"
+ },
+ "NP": {
+ "name": "Νεπάλ"
+ },
+ "MP": {
+ "name": "Νήσοι Βόρειες Μαριάνες"
+ },
+ "KY": {
+ "name": "Νήσοι Κάιμαν"
+ },
+ "CC": {
+ "name": "Νήσοι Κόκος (Κίλινγκ)"
+ },
+ "CK": {
+ "name": "Νήσοι Κουκ"
+ },
+ "MH": {
+ "name": "Νήσοι Μάρσαλ"
+ },
+ "GS": {
+ "name": "Νήσοι Νότια Γεωργία και Νότιες Σάντουιτς"
+ },
+ "AX": {
+ "name": "Νήσοι Όλαντ"
+ },
+ "PN": {
+ "name": "Νήσοι Πίτκερν"
+ },
+ "SB": {
+ "name": "Νήσοι Σολομώντος"
+ },
+ "TC": {
+ "name": "Νήσοι Τερκ και Κάικος"
+ },
+ "FO": {
+ "name": "Νήσοι Φερόες"
+ },
+ "FK": {
+ "name": "Νήσοι Φόκλαντ"
+ },
+ "AC": {
+ "name": "Νήσος Ασενσιόν"
+ },
+ "IM": {
+ "name": "Νήσος Μαν"
+ },
+ "NF": {
+ "name": "Νήσος Νόρφολκ"
+ },
+ "CX": {
+ "name": "Νήσος των Χριστουγέννων"
+ },
+ "NE": {
+ "name": "Νίγηρας"
+ },
+ "NG": {
+ "name": "Νιγηρία"
+ },
+ "NI": {
+ "name": "Νικαράγουα"
+ },
+ "NU": {
+ "name": "Νιούε"
+ },
+ "NO": {
+ "name": "Νορβηγία"
+ },
+ "ZA": {
+ "name": "Νότια Αφρική"
+ },
+ "KR": {
+ "name": "Νότια Κορέα"
+ },
+ "SS": {
+ "name": "Νότιο Σουδάν"
+ },
+ "DG": {
+ "name": "Ντιέγκο Γκαρσία"
+ },
+ "DM": {
+ "name": "Ντομίνικα"
+ },
+ "NL": {
+ "name": "Ολλανδία"
+ },
+ "BQ": {
+ "name": "Ολλανδία Καραϊβικής"
+ },
+ "OM": {
+ "name": "Ομάν"
+ },
+ "HN": {
+ "name": "Ονδούρα"
+ },
+ "WF": {
+ "name": "Ουάλις και Φουτούνα"
+ },
+ "HU": {
+ "name": "Ουγγαρία"
+ },
+ "UG": {
+ "name": "Ουγκάντα"
+ },
+ "UZ": {
+ "name": "Ουζμπεκιστάν"
+ },
+ "UA": {
+ "name": "Ουκρανία"
+ },
+ "UY": {
+ "name": "Ουρουγουάη"
+ },
+ "PK": {
+ "name": "Πακιστάν"
+ },
+ "PS": {
+ "name": "Παλαιστινιακά Εδάφη"
+ },
+ "PW": {
+ "name": "Παλάου"
+ },
+ "PA": {
+ "name": "Παναμάς"
+ },
+ "PG": {
+ "name": "Παπούα Νέα Γουινέα"
+ },
+ "PY": {
+ "name": "Παραγουάη"
+ },
+ "PE": {
+ "name": "Περού"
+ },
+ "PL": {
+ "name": "Πολωνία"
+ },
+ "PT": {
+ "name": "Πορτογαλία"
+ },
+ "PR": {
+ "name": "Πουέρτο Ρίκο"
+ },
+ "CV": {
+ "name": "Πράσινο Ακρωτήριο"
+ },
+ "MK": {
+ "name": "Πρώην Γιουγκοσλαβική Δημοκρατία της Μακεδονίας"
+ },
+ "RE": {
+ "name": "Ρεϊνιόν"
+ },
+ "RW": {
+ "name": "Ρουάντα"
+ },
+ "RO": {
+ "name": "Ρουμανία"
+ },
+ "RU": {
+ "name": "Ρωσία"
+ },
+ "WS": {
+ "name": "Σαμόα"
+ },
+ "ST": {
+ "name": "Σάο Τομέ και Πρίνσιπε"
+ },
+ "SA": {
+ "name": "Σαουδική Αραβία"
+ },
+ "SJ": {
+ "name": "Σβάλμπαρντ και Γιαν Μαγιέν"
+ },
+ "PM": {
+ "name": "Σεν Πιερ και Μικελόν"
+ },
+ "SN": {
+ "name": "Σενεγάλη"
+ },
+ "RS": {
+ "name": "Σερβία"
+ },
+ "SC": {
+ "name": "Σεϋχέλλες"
+ },
+ "SG": {
+ "name": "Σιγκαπούρη"
+ },
+ "SL": {
+ "name": "Σιέρα Λεόνε"
+ },
+ "SK": {
+ "name": "Σλοβακία"
+ },
+ "SI": {
+ "name": "Σλοβενία"
+ },
+ "SO": {
+ "name": "Σομαλία"
+ },
+ "SZ": {
+ "name": "Σουαζιλάνδη"
+ },
+ "SD": {
+ "name": "Σουδάν"
+ },
+ "SE": {
+ "name": "Σουηδία"
+ },
+ "SR": {
+ "name": "Σουρινάμ"
+ },
+ "LK": {
+ "name": "Σρι Λάνκα"
+ },
+ "SY": {
+ "name": "Συρία"
+ },
+ "TW": {
+ "name": "Ταϊβάν"
+ },
+ "TH": {
+ "name": "Ταϊλάνδη"
+ },
+ "TZ": {
+ "name": "Τανζανία"
+ },
+ "TJ": {
+ "name": "Τατζικιστάν"
+ },
+ "JM": {
+ "name": "Τζαμάικα"
+ },
+ "JE": {
+ "name": "Τζέρζι"
+ },
+ "DJ": {
+ "name": "Τζιμπουτί"
+ },
+ "TL": {
+ "name": "Τιμόρ-Λέστε"
+ },
+ "TG": {
+ "name": "Τόγκο"
+ },
+ "TK": {
+ "name": "Τοκελάου"
+ },
+ "TO": {
+ "name": "Τόνγκα"
+ },
+ "TV": {
+ "name": "Τουβαλού"
+ },
+ "TR": {
+ "name": "Τουρκία"
+ },
+ "TM": {
+ "name": "Τουρκμενιστάν"
+ },
+ "TT": {
+ "name": "Τρινιντάντ και Τομπάγκο"
+ },
+ "TA": {
+ "name": "Τριστάν ντα Κούνια"
+ },
+ "TD": {
+ "name": "Τσαντ"
+ },
+ "CZ": {
+ "name": "Τσεχική Δημοκρατία"
+ },
+ "TN": {
+ "name": "Τυνησία"
+ },
+ "YE": {
+ "name": "Υεμένη"
+ },
+ "PH": {
+ "name": "Φιλιππίνες"
+ },
+ "FI": {
+ "name": "Φινλανδία"
+ },
+ "FJ": {
+ "name": "Φίτζι"
+ },
+ "CL": {
+ "name": "Χιλή"
+ },
+ "HK": {
+ "name": "Χονγκ Κονγκ ΕΔΠ Κίνας"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/en.json b/vendor/commerceguys/intl/resources/country/en.json
new file mode 100644
index 000000000..7a858bf01
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/en.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afghanistan"
+ },
+ "AX": {
+ "name": "Åland Islands"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Algeria"
+ },
+ "AS": {
+ "name": "American Samoa"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigua & Barbuda"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "AZ": {
+ "name": "Azerbaijan"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahrain"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BY": {
+ "name": "Belarus"
+ },
+ "BE": {
+ "name": "Belgium"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia & Herzegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brazil"
+ },
+ "IO": {
+ "name": "British Indian Ocean Territory"
+ },
+ "VG": {
+ "name": "British Virgin Islands"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "KH": {
+ "name": "Cambodia"
+ },
+ "CM": {
+ "name": "Cameroon"
+ },
+ "CA": {
+ "name": "Canada"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "CV": {
+ "name": "Cape Verde"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "KY": {
+ "name": "Cayman Islands"
+ },
+ "CF": {
+ "name": "Central African Republic"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "TD": {
+ "name": "Chad"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CO": {
+ "name": "Colombia"
+ },
+ "KM": {
+ "name": "Comoros"
+ },
+ "CG": {
+ "name": "Congo - Brazzaville"
+ },
+ "CD": {
+ "name": "Congo - Kinshasa"
+ },
+ "CK": {
+ "name": "Cook Islands"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "CI": {
+ "name": "Côte d’Ivoire"
+ },
+ "HR": {
+ "name": "Croatia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "CY": {
+ "name": "Cyprus"
+ },
+ "CZ": {
+ "name": "Czech Republic"
+ },
+ "DK": {
+ "name": "Denmark"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DJ": {
+ "name": "Djibouti"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "DO": {
+ "name": "Dominican Republic"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egypt"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "GQ": {
+ "name": "Equatorial Guinea"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Ethiopia"
+ },
+ "FK": {
+ "name": "Falkland Islands"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "FI": {
+ "name": "Finland"
+ },
+ "FR": {
+ "name": "France"
+ },
+ "GF": {
+ "name": "French Guiana"
+ },
+ "PF": {
+ "name": "French Polynesia"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "DE": {
+ "name": "Germany"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GR": {
+ "name": "Greece"
+ },
+ "GL": {
+ "name": "Greenland"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GW": {
+ "name": "Guinea-Bissau"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hungary"
+ },
+ "IS": {
+ "name": "Iceland"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IQ": {
+ "name": "Iraq"
+ },
+ "IE": {
+ "name": "Ireland"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italy"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japan"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordan"
+ },
+ "KZ": {
+ "name": "Kazakhstan"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "KG": {
+ "name": "Kyrgyzstan"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LV": {
+ "name": "Latvia"
+ },
+ "LB": {
+ "name": "Lebanon"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lithuania"
+ },
+ "LU": {
+ "name": "Luxembourg"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malaysia"
+ },
+ "MV": {
+ "name": "Maldives"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MH": {
+ "name": "Marshall Islands"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Mexico"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MA": {
+ "name": "Morocco"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar (Burma)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NL": {
+ "name": "Netherlands"
+ },
+ "NC": {
+ "name": "New Caledonia"
+ },
+ "NZ": {
+ "name": "New Zealand"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NF": {
+ "name": "Norfolk Island"
+ },
+ "KP": {
+ "name": "North Korea"
+ },
+ "MP": {
+ "name": "Northern Mariana Islands"
+ },
+ "NO": {
+ "name": "Norway"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palestinian Territories"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua New Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PH": {
+ "name": "Philippines"
+ },
+ "PN": {
+ "name": "Pitcairn Islands"
+ },
+ "PL": {
+ "name": "Poland"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "QA": {
+ "name": "Qatar"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RO": {
+ "name": "Romania"
+ },
+ "RU": {
+ "name": "Russia"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "São Tomé & Príncipe"
+ },
+ "SA": {
+ "name": "Saudi Arabia"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapore"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SB": {
+ "name": "Solomon Islands"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "ZA": {
+ "name": "South Africa"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "KR": {
+ "name": "South Korea"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "ES": {
+ "name": "Spain"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "SH": {
+ "name": "St. Helena"
+ },
+ "KN": {
+ "name": "St. Kitts & Nevis"
+ },
+ "LC": {
+ "name": "St. Lucia"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "PM": {
+ "name": "St. Pierre & Miquelon"
+ },
+ "VC": {
+ "name": "St. Vincent & Grenadines"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swaziland"
+ },
+ "SE": {
+ "name": "Sweden"
+ },
+ "CH": {
+ "name": "Switzerland"
+ },
+ "SY": {
+ "name": "Syria"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TJ": {
+ "name": "Tajikistan"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TH": {
+ "name": "Thailand"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad & Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TR": {
+ "name": "Turkey"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TC": {
+ "name": "Turks & Caicos Islands"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "VI": {
+ "name": "U.S. Virgin Islands"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukraine"
+ },
+ "AE": {
+ "name": "United Arab Emirates"
+ },
+ "GB": {
+ "name": "United Kingdom"
+ },
+ "US": {
+ "name": "United States"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbekistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatican City"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis & Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/eo.json b/vendor/commerceguys/intl/resources/country/eo.json
new file mode 100644
index 000000000..af32c660d
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/eo.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afganujo"
+ },
+ "AX": {
+ "name": "Åland Islands"
+ },
+ "AL": {
+ "name": "Albanujo"
+ },
+ "DZ": {
+ "name": "Alĝerio"
+ },
+ "AS": {
+ "name": "American Samoa"
+ },
+ "AD": {
+ "name": "Andoro"
+ },
+ "AO": {
+ "name": "Angolo"
+ },
+ "AI": {
+ "name": "Angvilo"
+ },
+ "AQ": {
+ "name": "Antarkto"
+ },
+ "AG": {
+ "name": "Antigvo-Barbudo"
+ },
+ "AR": {
+ "name": "Argentino"
+ },
+ "AM": {
+ "name": "Armenujo"
+ },
+ "AW": {
+ "name": "Arubo"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AU": {
+ "name": "Aŭstralio"
+ },
+ "AT": {
+ "name": "Aŭstrujo"
+ },
+ "AZ": {
+ "name": "Azerbajĝano"
+ },
+ "BS": {
+ "name": "Bahamoj"
+ },
+ "BD": {
+ "name": "Bangladeŝo"
+ },
+ "BB": {
+ "name": "Barbado"
+ },
+ "BH": {
+ "name": "Barejno"
+ },
+ "PW": {
+ "name": "Belaŭo"
+ },
+ "BE": {
+ "name": "Belgujo"
+ },
+ "BZ": {
+ "name": "Belizo"
+ },
+ "BY": {
+ "name": "Belorusujo"
+ },
+ "BJ": {
+ "name": "Benino"
+ },
+ "BM": {
+ "name": "Bermudoj"
+ },
+ "BW": {
+ "name": "Bocvano"
+ },
+ "BO": {
+ "name": "Bolivio"
+ },
+ "BA": {
+ "name": "Bosnio-Hercegovino"
+ },
+ "BR": {
+ "name": "Brazilo"
+ },
+ "IO": {
+ "name": "Brita Hindoceana Teritorio"
+ },
+ "VG": {
+ "name": "Britaj Virgulininsuloj"
+ },
+ "BN": {
+ "name": "Brunejo"
+ },
+ "BG": {
+ "name": "Bulgarujo"
+ },
+ "BF": {
+ "name": "Burkino"
+ },
+ "BI": {
+ "name": "Burundo"
+ },
+ "BT": {
+ "name": "Butano"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "CF": {
+ "name": "Centr-Afrika Respubliko"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CD": {
+ "name": "Congo - Kinshasa"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "TD": {
+ "name": "Ĉado"
+ },
+ "CZ": {
+ "name": "Ĉeĥujo"
+ },
+ "CL": {
+ "name": "Ĉilio"
+ },
+ "CN": {
+ "name": "Ĉinujo"
+ },
+ "DK": {
+ "name": "Danujo"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DO": {
+ "name": "Domingo"
+ },
+ "DM": {
+ "name": "Dominiko"
+ },
+ "CI": {
+ "name": "Ebur-Bordo"
+ },
+ "EG": {
+ "name": "Egipto"
+ },
+ "EC": {
+ "name": "Ekvadoro"
+ },
+ "GQ": {
+ "name": "Ekvatora Gvineo"
+ },
+ "ER": {
+ "name": "Eritreo"
+ },
+ "EE": {
+ "name": "Estonujo"
+ },
+ "ET": {
+ "name": "Etiopujo"
+ },
+ "FK": {
+ "name": "Falkland Islands"
+ },
+ "FO": {
+ "name": "Ferooj"
+ },
+ "FJ": {
+ "name": "Fiĝoj"
+ },
+ "PH": {
+ "name": "Filipinoj"
+ },
+ "FI": {
+ "name": "Finnlando"
+ },
+ "GF": {
+ "name": "Franca Gviano"
+ },
+ "PF": {
+ "name": "Franca Polinezio"
+ },
+ "FR": {
+ "name": "Francujo"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gabono"
+ },
+ "GM": {
+ "name": "Gambio"
+ },
+ "GH": {
+ "name": "Ganao"
+ },
+ "DE": {
+ "name": "Germanujo"
+ },
+ "GR": {
+ "name": "Grekujo"
+ },
+ "GD": {
+ "name": "Grenado"
+ },
+ "GL": {
+ "name": "Gronlando"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Gujano"
+ },
+ "GP": {
+ "name": "Gvadelupo"
+ },
+ "GU": {
+ "name": "Gvamo"
+ },
+ "GT": {
+ "name": "Gvatemalo"
+ },
+ "GN": {
+ "name": "Gvineo"
+ },
+ "GW": {
+ "name": "Gvineo-Bisaŭo"
+ },
+ "GI": {
+ "name": "Ĝibraltaro"
+ },
+ "DJ": {
+ "name": "Ĝibutio"
+ },
+ "HT": {
+ "name": "Haitio"
+ },
+ "IN": {
+ "name": "Hindujo"
+ },
+ "ES": {
+ "name": "Hispanujo"
+ },
+ "HN": {
+ "name": "Honduro"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hungarujo"
+ },
+ "ID": {
+ "name": "Indonezio"
+ },
+ "IQ": {
+ "name": "Irako"
+ },
+ "IR": {
+ "name": "Irano"
+ },
+ "IE": {
+ "name": "Irlando"
+ },
+ "IS": {
+ "name": "Islando"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israelo"
+ },
+ "IT": {
+ "name": "Italujo"
+ },
+ "JM": {
+ "name": "Jamajko"
+ },
+ "JP": {
+ "name": "Japanujo"
+ },
+ "YE": {
+ "name": "Jemeno"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordanio"
+ },
+ "CV": {
+ "name": "Kabo-Verdo"
+ },
+ "KH": {
+ "name": "Kamboĝo"
+ },
+ "CM": {
+ "name": "Kameruno"
+ },
+ "CA": {
+ "name": "Kanado"
+ },
+ "GE": {
+ "name": "Kartvelujo"
+ },
+ "QA": {
+ "name": "Kataro"
+ },
+ "KZ": {
+ "name": "Kazaĥstano"
+ },
+ "KY": {
+ "name": "Kejmanoj"
+ },
+ "KE": {
+ "name": "Kenjo"
+ },
+ "CY": {
+ "name": "Kipro"
+ },
+ "KG": {
+ "name": "Kirgizistano"
+ },
+ "KI": {
+ "name": "Kiribato"
+ },
+ "CO": {
+ "name": "Kolombio"
+ },
+ "KM": {
+ "name": "Komoroj"
+ },
+ "CG": {
+ "name": "Kongolo"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "Kostariko"
+ },
+ "HR": {
+ "name": "Kroatujo"
+ },
+ "CU": {
+ "name": "Kubo"
+ },
+ "CK": {
+ "name": "Kukinsuloj"
+ },
+ "KW": {
+ "name": "Kuvajto"
+ },
+ "LA": {
+ "name": "Laoso"
+ },
+ "LV": {
+ "name": "Latvujo"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LB": {
+ "name": "Libano"
+ },
+ "LR": {
+ "name": "Liberio"
+ },
+ "LY": {
+ "name": "Libio"
+ },
+ "LI": {
+ "name": "Liĥtenŝtejno"
+ },
+ "LT": {
+ "name": "Litovujo"
+ },
+ "LU": {
+ "name": "Luksemburgo"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MG": {
+ "name": "Madagaskaro"
+ },
+ "YT": {
+ "name": "Majoto"
+ },
+ "MK": {
+ "name": "Makedonujo"
+ },
+ "MY": {
+ "name": "Malajzio"
+ },
+ "MW": {
+ "name": "Malavio"
+ },
+ "MV": {
+ "name": "Maldivoj"
+ },
+ "ML": {
+ "name": "Malio"
+ },
+ "MT": {
+ "name": "Malto"
+ },
+ "MA": {
+ "name": "Maroko"
+ },
+ "MH": {
+ "name": "Marŝaloj"
+ },
+ "MQ": {
+ "name": "Martiniko"
+ },
+ "MU": {
+ "name": "Maŭricio"
+ },
+ "MR": {
+ "name": "Maŭritanujo"
+ },
+ "MX": {
+ "name": "Meksiko"
+ },
+ "FM": {
+ "name": "Mikronezio"
+ },
+ "MM": {
+ "name": "Mjanmao"
+ },
+ "MD": {
+ "name": "Moldavujo"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MN": {
+ "name": "Mongolujo"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mozambiko"
+ },
+ "NA": {
+ "name": "Namibio"
+ },
+ "NR": {
+ "name": "Nauro"
+ },
+ "NL": {
+ "name": "Nederlando"
+ },
+ "NP": {
+ "name": "Nepalo"
+ },
+ "NG": {
+ "name": "Niĝerio"
+ },
+ "NE": {
+ "name": "Niĝero"
+ },
+ "NI": {
+ "name": "Nikaragvo"
+ },
+ "NU": {
+ "name": "Niuo"
+ },
+ "KP": {
+ "name": "Nord-Koreo"
+ },
+ "MP": {
+ "name": "Nord-Marianoj"
+ },
+ "NF": {
+ "name": "Norfolkinsulo"
+ },
+ "NO": {
+ "name": "Norvegujo"
+ },
+ "NC": {
+ "name": "Nov-Kaledonio"
+ },
+ "NZ": {
+ "name": "Nov-Zelando"
+ },
+ "EH": {
+ "name": "Okcidenta Saharo"
+ },
+ "OM": {
+ "name": "Omano"
+ },
+ "PK": {
+ "name": "Pakistano"
+ },
+ "PS": {
+ "name": "Palestinian Territories"
+ },
+ "PA": {
+ "name": "Panamo"
+ },
+ "PG": {
+ "name": "Papuo-Nov-Gvineo"
+ },
+ "PY": {
+ "name": "Paragvajo"
+ },
+ "PE": {
+ "name": "Peruo"
+ },
+ "PN": {
+ "name": "Pitkarna Insulo"
+ },
+ "PL": {
+ "name": "Pollando"
+ },
+ "PT": {
+ "name": "Portugalujo"
+ },
+ "PR": {
+ "name": "Puerto-Riko"
+ },
+ "RE": {
+ "name": "Reunio"
+ },
+ "RW": {
+ "name": "Ruando"
+ },
+ "RO": {
+ "name": "Rumanujo"
+ },
+ "RU": {
+ "name": "Rusujo"
+ },
+ "SB": {
+ "name": "Salomonoj"
+ },
+ "SV": {
+ "name": "Salvadoro"
+ },
+ "WS": {
+ "name": "Samoo"
+ },
+ "SM": {
+ "name": "San-Marino"
+ },
+ "ST": {
+ "name": "Sao-Tomeo kaj Principeo"
+ },
+ "SA": {
+ "name": "Saŭda Arabujo"
+ },
+ "SC": {
+ "name": "Sejŝeloj"
+ },
+ "SN": {
+ "name": "Senegalo"
+ },
+ "SH": {
+ "name": "Sent-Heleno"
+ },
+ "KN": {
+ "name": "Sent-Kristofo kaj Neviso"
+ },
+ "LC": {
+ "name": "Sent-Lucio"
+ },
+ "PM": {
+ "name": "Sent-Piero kaj Mikelono"
+ },
+ "VC": {
+ "name": "Sent-Vincento kaj la Grenadinoj"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SL": {
+ "name": "Siera-Leono"
+ },
+ "SG": {
+ "name": "Singapuro"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Sirio"
+ },
+ "SK": {
+ "name": "Slovakujo"
+ },
+ "SI": {
+ "name": "Slovenujo"
+ },
+ "SO": {
+ "name": "Somalujo"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "LK": {
+ "name": "Sri-Lanko"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "ZA": {
+ "name": "Sud-Afriko"
+ },
+ "GS": {
+ "name": "Sud-Georgio kaj Sud-Sandviĉinsuloj"
+ },
+ "KR": {
+ "name": "Sud-Koreo"
+ },
+ "SD": {
+ "name": "Sudano"
+ },
+ "SR": {
+ "name": "Surinamo"
+ },
+ "SJ": {
+ "name": "Svalbardo kaj Jan-Majen-insulo"
+ },
+ "SZ": {
+ "name": "Svazilando"
+ },
+ "SE": {
+ "name": "Svedujo"
+ },
+ "CH": {
+ "name": "Svisujo"
+ },
+ "TJ": {
+ "name": "Taĝikujo"
+ },
+ "TH": {
+ "name": "Tajlando"
+ },
+ "TW": {
+ "name": "Tajvano"
+ },
+ "TZ": {
+ "name": "Tanzanio"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "TG": {
+ "name": "Togolo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tongo"
+ },
+ "TT": {
+ "name": "Trinidado kaj Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunizio"
+ },
+ "TM": {
+ "name": "Turkmenujo"
+ },
+ "TC": {
+ "name": "Turks & Caicos Islands"
+ },
+ "TR": {
+ "name": "Turkujo"
+ },
+ "TV": {
+ "name": "Tuvalo"
+ },
+ "UG": {
+ "name": "Ugando"
+ },
+ "UA": {
+ "name": "Ukrajno"
+ },
+ "GB": {
+ "name": "Unuiĝinta Reĝlando"
+ },
+ "AE": {
+ "name": "Unuiĝintaj Arabaj Emirlandoj"
+ },
+ "UY": {
+ "name": "Urugvajo"
+ },
+ "UM": {
+ "name": "Usonaj malgrandaj insuloj"
+ },
+ "VI": {
+ "name": "Usonaj Virgulininsuloj"
+ },
+ "US": {
+ "name": "Usono"
+ },
+ "UZ": {
+ "name": "Uzbekujo"
+ },
+ "WF": {
+ "name": "Valiso kaj Futuno"
+ },
+ "VU": {
+ "name": "Vanuatuo"
+ },
+ "VA": {
+ "name": "Vatikano"
+ },
+ "VE": {
+ "name": "Venezuelo"
+ },
+ "VN": {
+ "name": "Vjetnamo"
+ },
+ "ZM": {
+ "name": "Zambio"
+ },
+ "ZW": {
+ "name": "Zimbabvo"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/es-AR.json b/vendor/commerceguys/intl/resources/country/es-AR.json
new file mode 100644
index 000000000..e94300461
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/es-AR.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afganistán"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DE": {
+ "name": "Alemania"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguila"
+ },
+ "AQ": {
+ "name": "Antártida"
+ },
+ "AG": {
+ "name": "Antigua y Barbuda"
+ },
+ "SA": {
+ "name": "Arabia Saudí"
+ },
+ "DZ": {
+ "name": "Argelia"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "AZ": {
+ "name": "Azerbaiyán"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BD": {
+ "name": "Bangladés"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BH": {
+ "name": "Baréin"
+ },
+ "BE": {
+ "name": "Bélgica"
+ },
+ "BZ": {
+ "name": "Belice"
+ },
+ "BJ": {
+ "name": "Benín"
+ },
+ "BM": {
+ "name": "Bermudas"
+ },
+ "BY": {
+ "name": "Bielorrusia"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia y Herzegovina"
+ },
+ "BW": {
+ "name": "Botsuana"
+ },
+ "BR": {
+ "name": "Brasil"
+ },
+ "BN": {
+ "name": "Brunéi"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Bután"
+ },
+ "CV": {
+ "name": "Cabo Verde"
+ },
+ "KH": {
+ "name": "Camboya"
+ },
+ "CM": {
+ "name": "Camerún"
+ },
+ "CA": {
+ "name": "Canadá"
+ },
+ "BQ": {
+ "name": "Caribe neerlandés"
+ },
+ "QA": {
+ "name": "Catar"
+ },
+ "EA": {
+ "name": "Ceuta y Melilla"
+ },
+ "TD": {
+ "name": "Chad"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CY": {
+ "name": "Chipre"
+ },
+ "VA": {
+ "name": "Ciudad del Vaticano"
+ },
+ "CO": {
+ "name": "Colombia"
+ },
+ "KM": {
+ "name": "Comoras"
+ },
+ "KP": {
+ "name": "Corea del Norte"
+ },
+ "KR": {
+ "name": "Corea del Sur"
+ },
+ "CI": {
+ "name": "Costa de Marfil"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "HR": {
+ "name": "Croacia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curazao"
+ },
+ "DG": {
+ "name": "Diego García"
+ },
+ "DK": {
+ "name": "Dinamarca"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egipto"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "AE": {
+ "name": "Emiratos Árabes Unidos"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "SK": {
+ "name": "Eslovaquia"
+ },
+ "SI": {
+ "name": "Eslovenia"
+ },
+ "ES": {
+ "name": "España"
+ },
+ "US": {
+ "name": "Estados Unidos"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Etiopía"
+ },
+ "PH": {
+ "name": "Filipinas"
+ },
+ "FI": {
+ "name": "Finlandia"
+ },
+ "FJ": {
+ "name": "Fiyi"
+ },
+ "FR": {
+ "name": "Francia"
+ },
+ "GA": {
+ "name": "Gabón"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Granada"
+ },
+ "GR": {
+ "name": "Grecia"
+ },
+ "GL": {
+ "name": "Groenlandia"
+ },
+ "GP": {
+ "name": "Guadalupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GF": {
+ "name": "Guayana Francesa"
+ },
+ "GG": {
+ "name": "Guernesey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GQ": {
+ "name": "Guinea Ecuatorial"
+ },
+ "GW": {
+ "name": "Guinea-Bisáu"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haití"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HU": {
+ "name": "Hungría"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Irán"
+ },
+ "IE": {
+ "name": "Irlanda"
+ },
+ "AC": {
+ "name": "Isla de la Ascensión"
+ },
+ "IM": {
+ "name": "Isla de Man"
+ },
+ "CX": {
+ "name": "Isla de Navidad"
+ },
+ "NF": {
+ "name": "Isla Norfolk"
+ },
+ "IS": {
+ "name": "Islandia"
+ },
+ "AX": {
+ "name": "Islas Åland"
+ },
+ "KY": {
+ "name": "Islas Caimán"
+ },
+ "IC": {
+ "name": "Islas Canarias"
+ },
+ "CC": {
+ "name": "Islas Cocos"
+ },
+ "CK": {
+ "name": "Islas Cook"
+ },
+ "FO": {
+ "name": "Islas Feroe"
+ },
+ "GS": {
+ "name": "Islas Georgia del Sur y Sandwich del Sur"
+ },
+ "FK": {
+ "name": "Islas Malvinas"
+ },
+ "MP": {
+ "name": "Islas Marianas del Norte"
+ },
+ "MH": {
+ "name": "Islas Marshall"
+ },
+ "UM": {
+ "name": "Islas menores alejadas de EE. UU."
+ },
+ "PN": {
+ "name": "Islas Pitcairn"
+ },
+ "SB": {
+ "name": "Islas Salomón"
+ },
+ "TC": {
+ "name": "Islas Turcas y Caicos"
+ },
+ "VG": {
+ "name": "Islas Vírgenes Británicas"
+ },
+ "VI": {
+ "name": "Islas Vírgenes de EE. UU."
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japón"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordania"
+ },
+ "KZ": {
+ "name": "Kazajistán"
+ },
+ "KE": {
+ "name": "Kenia"
+ },
+ "KG": {
+ "name": "Kirguistán"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LV": {
+ "name": "Letonia"
+ },
+ "LB": {
+ "name": "Líbano"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libia"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lituania"
+ },
+ "LU": {
+ "name": "Luxemburgo"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MY": {
+ "name": "Malasia"
+ },
+ "MW": {
+ "name": "Malaui"
+ },
+ "MV": {
+ "name": "Maldivas"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marruecos"
+ },
+ "MQ": {
+ "name": "Martinica"
+ },
+ "MU": {
+ "name": "Mauricio"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "México"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldavia"
+ },
+ "MC": {
+ "name": "Mónaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar (Birmania)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Níger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Noruega"
+ },
+ "NC": {
+ "name": "Nueva Caledonia"
+ },
+ "NZ": {
+ "name": "Nueva Zelanda"
+ },
+ "OM": {
+ "name": "Omán"
+ },
+ "NL": {
+ "name": "Países Bajos"
+ },
+ "PK": {
+ "name": "Pakistán"
+ },
+ "PW": {
+ "name": "Palaos"
+ },
+ "PA": {
+ "name": "Panamá"
+ },
+ "PG": {
+ "name": "Papúa Nueva Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Perú"
+ },
+ "PF": {
+ "name": "Polinesia Francesa"
+ },
+ "PL": {
+ "name": "Polonia"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "HK": {
+ "name": "RAE de Hong Kong (China)"
+ },
+ "MO": {
+ "name": "RAE de Macao (China)"
+ },
+ "GB": {
+ "name": "Reino Unido"
+ },
+ "CF": {
+ "name": "República Centroafricana"
+ },
+ "CZ": {
+ "name": "República Checa"
+ },
+ "CG": {
+ "name": "República del Congo"
+ },
+ "CD": {
+ "name": "República Democrática del Congo"
+ },
+ "DO": {
+ "name": "República Dominicana"
+ },
+ "RE": {
+ "name": "Reunión"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RO": {
+ "name": "Rumanía"
+ },
+ "RU": {
+ "name": "Rusia"
+ },
+ "EH": {
+ "name": "Sáhara Occidental"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa Americana"
+ },
+ "BL": {
+ "name": "San Bartolomé"
+ },
+ "KN": {
+ "name": "San Cristóbal y Nieves"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "MF": {
+ "name": "San Martín"
+ },
+ "PM": {
+ "name": "San Pedro y Miquelón"
+ },
+ "VC": {
+ "name": "San Vicente y las Granadinas"
+ },
+ "SH": {
+ "name": "Santa Elena"
+ },
+ "LC": {
+ "name": "Santa Lucía"
+ },
+ "ST": {
+ "name": "Santo Tomé y Príncipe"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leona"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Siria"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "SZ": {
+ "name": "Suazilandia"
+ },
+ "ZA": {
+ "name": "Sudáfrica"
+ },
+ "SD": {
+ "name": "Sudán"
+ },
+ "SS": {
+ "name": "Sudán del Sur"
+ },
+ "SE": {
+ "name": "Suecia"
+ },
+ "CH": {
+ "name": "Suiza"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SJ": {
+ "name": "Svalbard y Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailandia"
+ },
+ "TW": {
+ "name": "Taiwán"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TJ": {
+ "name": "Tayikistán"
+ },
+ "IO": {
+ "name": "Territorio Británico del Océano Índico"
+ },
+ "TF": {
+ "name": "Territorios Australes Franceses"
+ },
+ "PS": {
+ "name": "Territorios Palestinos"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad y Tobago"
+ },
+ "TA": {
+ "name": "Tristán de Acuña"
+ },
+ "TN": {
+ "name": "Túnez"
+ },
+ "TM": {
+ "name": "Turkmenistán"
+ },
+ "TR": {
+ "name": "Turquía"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UA": {
+ "name": "Ucrania"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbekistán"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis y Futuna"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "DJ": {
+ "name": "Yibuti"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabue"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/es-BO.json b/vendor/commerceguys/intl/resources/country/es-BO.json
new file mode 100644
index 000000000..e94300461
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/es-BO.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afganistán"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DE": {
+ "name": "Alemania"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguila"
+ },
+ "AQ": {
+ "name": "Antártida"
+ },
+ "AG": {
+ "name": "Antigua y Barbuda"
+ },
+ "SA": {
+ "name": "Arabia Saudí"
+ },
+ "DZ": {
+ "name": "Argelia"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "AZ": {
+ "name": "Azerbaiyán"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BD": {
+ "name": "Bangladés"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BH": {
+ "name": "Baréin"
+ },
+ "BE": {
+ "name": "Bélgica"
+ },
+ "BZ": {
+ "name": "Belice"
+ },
+ "BJ": {
+ "name": "Benín"
+ },
+ "BM": {
+ "name": "Bermudas"
+ },
+ "BY": {
+ "name": "Bielorrusia"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia y Herzegovina"
+ },
+ "BW": {
+ "name": "Botsuana"
+ },
+ "BR": {
+ "name": "Brasil"
+ },
+ "BN": {
+ "name": "Brunéi"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Bután"
+ },
+ "CV": {
+ "name": "Cabo Verde"
+ },
+ "KH": {
+ "name": "Camboya"
+ },
+ "CM": {
+ "name": "Camerún"
+ },
+ "CA": {
+ "name": "Canadá"
+ },
+ "BQ": {
+ "name": "Caribe neerlandés"
+ },
+ "QA": {
+ "name": "Catar"
+ },
+ "EA": {
+ "name": "Ceuta y Melilla"
+ },
+ "TD": {
+ "name": "Chad"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CY": {
+ "name": "Chipre"
+ },
+ "VA": {
+ "name": "Ciudad del Vaticano"
+ },
+ "CO": {
+ "name": "Colombia"
+ },
+ "KM": {
+ "name": "Comoras"
+ },
+ "KP": {
+ "name": "Corea del Norte"
+ },
+ "KR": {
+ "name": "Corea del Sur"
+ },
+ "CI": {
+ "name": "Costa de Marfil"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "HR": {
+ "name": "Croacia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curazao"
+ },
+ "DG": {
+ "name": "Diego García"
+ },
+ "DK": {
+ "name": "Dinamarca"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egipto"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "AE": {
+ "name": "Emiratos Árabes Unidos"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "SK": {
+ "name": "Eslovaquia"
+ },
+ "SI": {
+ "name": "Eslovenia"
+ },
+ "ES": {
+ "name": "España"
+ },
+ "US": {
+ "name": "Estados Unidos"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Etiopía"
+ },
+ "PH": {
+ "name": "Filipinas"
+ },
+ "FI": {
+ "name": "Finlandia"
+ },
+ "FJ": {
+ "name": "Fiyi"
+ },
+ "FR": {
+ "name": "Francia"
+ },
+ "GA": {
+ "name": "Gabón"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Granada"
+ },
+ "GR": {
+ "name": "Grecia"
+ },
+ "GL": {
+ "name": "Groenlandia"
+ },
+ "GP": {
+ "name": "Guadalupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GF": {
+ "name": "Guayana Francesa"
+ },
+ "GG": {
+ "name": "Guernesey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GQ": {
+ "name": "Guinea Ecuatorial"
+ },
+ "GW": {
+ "name": "Guinea-Bisáu"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haití"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HU": {
+ "name": "Hungría"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Irán"
+ },
+ "IE": {
+ "name": "Irlanda"
+ },
+ "AC": {
+ "name": "Isla de la Ascensión"
+ },
+ "IM": {
+ "name": "Isla de Man"
+ },
+ "CX": {
+ "name": "Isla de Navidad"
+ },
+ "NF": {
+ "name": "Isla Norfolk"
+ },
+ "IS": {
+ "name": "Islandia"
+ },
+ "AX": {
+ "name": "Islas Åland"
+ },
+ "KY": {
+ "name": "Islas Caimán"
+ },
+ "IC": {
+ "name": "Islas Canarias"
+ },
+ "CC": {
+ "name": "Islas Cocos"
+ },
+ "CK": {
+ "name": "Islas Cook"
+ },
+ "FO": {
+ "name": "Islas Feroe"
+ },
+ "GS": {
+ "name": "Islas Georgia del Sur y Sandwich del Sur"
+ },
+ "FK": {
+ "name": "Islas Malvinas"
+ },
+ "MP": {
+ "name": "Islas Marianas del Norte"
+ },
+ "MH": {
+ "name": "Islas Marshall"
+ },
+ "UM": {
+ "name": "Islas menores alejadas de EE. UU."
+ },
+ "PN": {
+ "name": "Islas Pitcairn"
+ },
+ "SB": {
+ "name": "Islas Salomón"
+ },
+ "TC": {
+ "name": "Islas Turcas y Caicos"
+ },
+ "VG": {
+ "name": "Islas Vírgenes Británicas"
+ },
+ "VI": {
+ "name": "Islas Vírgenes de EE. UU."
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japón"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordania"
+ },
+ "KZ": {
+ "name": "Kazajistán"
+ },
+ "KE": {
+ "name": "Kenia"
+ },
+ "KG": {
+ "name": "Kirguistán"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LV": {
+ "name": "Letonia"
+ },
+ "LB": {
+ "name": "Líbano"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libia"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lituania"
+ },
+ "LU": {
+ "name": "Luxemburgo"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MY": {
+ "name": "Malasia"
+ },
+ "MW": {
+ "name": "Malaui"
+ },
+ "MV": {
+ "name": "Maldivas"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marruecos"
+ },
+ "MQ": {
+ "name": "Martinica"
+ },
+ "MU": {
+ "name": "Mauricio"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "México"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldavia"
+ },
+ "MC": {
+ "name": "Mónaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar (Birmania)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Níger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Noruega"
+ },
+ "NC": {
+ "name": "Nueva Caledonia"
+ },
+ "NZ": {
+ "name": "Nueva Zelanda"
+ },
+ "OM": {
+ "name": "Omán"
+ },
+ "NL": {
+ "name": "Países Bajos"
+ },
+ "PK": {
+ "name": "Pakistán"
+ },
+ "PW": {
+ "name": "Palaos"
+ },
+ "PA": {
+ "name": "Panamá"
+ },
+ "PG": {
+ "name": "Papúa Nueva Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Perú"
+ },
+ "PF": {
+ "name": "Polinesia Francesa"
+ },
+ "PL": {
+ "name": "Polonia"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "HK": {
+ "name": "RAE de Hong Kong (China)"
+ },
+ "MO": {
+ "name": "RAE de Macao (China)"
+ },
+ "GB": {
+ "name": "Reino Unido"
+ },
+ "CF": {
+ "name": "República Centroafricana"
+ },
+ "CZ": {
+ "name": "República Checa"
+ },
+ "CG": {
+ "name": "República del Congo"
+ },
+ "CD": {
+ "name": "República Democrática del Congo"
+ },
+ "DO": {
+ "name": "República Dominicana"
+ },
+ "RE": {
+ "name": "Reunión"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RO": {
+ "name": "Rumanía"
+ },
+ "RU": {
+ "name": "Rusia"
+ },
+ "EH": {
+ "name": "Sáhara Occidental"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa Americana"
+ },
+ "BL": {
+ "name": "San Bartolomé"
+ },
+ "KN": {
+ "name": "San Cristóbal y Nieves"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "MF": {
+ "name": "San Martín"
+ },
+ "PM": {
+ "name": "San Pedro y Miquelón"
+ },
+ "VC": {
+ "name": "San Vicente y las Granadinas"
+ },
+ "SH": {
+ "name": "Santa Elena"
+ },
+ "LC": {
+ "name": "Santa Lucía"
+ },
+ "ST": {
+ "name": "Santo Tomé y Príncipe"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leona"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Siria"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "SZ": {
+ "name": "Suazilandia"
+ },
+ "ZA": {
+ "name": "Sudáfrica"
+ },
+ "SD": {
+ "name": "Sudán"
+ },
+ "SS": {
+ "name": "Sudán del Sur"
+ },
+ "SE": {
+ "name": "Suecia"
+ },
+ "CH": {
+ "name": "Suiza"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SJ": {
+ "name": "Svalbard y Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailandia"
+ },
+ "TW": {
+ "name": "Taiwán"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TJ": {
+ "name": "Tayikistán"
+ },
+ "IO": {
+ "name": "Territorio Británico del Océano Índico"
+ },
+ "TF": {
+ "name": "Territorios Australes Franceses"
+ },
+ "PS": {
+ "name": "Territorios Palestinos"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad y Tobago"
+ },
+ "TA": {
+ "name": "Tristán de Acuña"
+ },
+ "TN": {
+ "name": "Túnez"
+ },
+ "TM": {
+ "name": "Turkmenistán"
+ },
+ "TR": {
+ "name": "Turquía"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UA": {
+ "name": "Ucrania"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbekistán"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis y Futuna"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "DJ": {
+ "name": "Yibuti"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabue"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/es-BR.json b/vendor/commerceguys/intl/resources/country/es-BR.json
new file mode 100644
index 000000000..d0a111cec
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/es-BR.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afganistán"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DE": {
+ "name": "Alemania"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguila"
+ },
+ "AQ": {
+ "name": "Antártida"
+ },
+ "AG": {
+ "name": "Antigua y Barbuda"
+ },
+ "SA": {
+ "name": "Arabia Saudí"
+ },
+ "DZ": {
+ "name": "Argelia"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "AZ": {
+ "name": "Azerbaiyán"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BD": {
+ "name": "Bangladés"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BH": {
+ "name": "Baréin"
+ },
+ "BE": {
+ "name": "Bélgica"
+ },
+ "BZ": {
+ "name": "Belice"
+ },
+ "BJ": {
+ "name": "Benín"
+ },
+ "BM": {
+ "name": "Bermudas"
+ },
+ "BY": {
+ "name": "Bielorrusia"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia-Herzegovina"
+ },
+ "BW": {
+ "name": "Botsuana"
+ },
+ "BR": {
+ "name": "Brasil"
+ },
+ "BN": {
+ "name": "Brunéi"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Bután"
+ },
+ "CV": {
+ "name": "Cabo Verde"
+ },
+ "KH": {
+ "name": "Camboya"
+ },
+ "CM": {
+ "name": "Camerún"
+ },
+ "CA": {
+ "name": "Canadá"
+ },
+ "BQ": {
+ "name": "Caribe neerlandés"
+ },
+ "QA": {
+ "name": "Catar"
+ },
+ "EA": {
+ "name": "Ceuta y Melilla"
+ },
+ "TD": {
+ "name": "Chad"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CY": {
+ "name": "Chipre"
+ },
+ "VA": {
+ "name": "Ciudad del Vaticano"
+ },
+ "CO": {
+ "name": "Colombia"
+ },
+ "KM": {
+ "name": "Comoras"
+ },
+ "KP": {
+ "name": "Corea del Norte"
+ },
+ "KR": {
+ "name": "Corea del Sur"
+ },
+ "CI": {
+ "name": "Costa de Marfil"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "HR": {
+ "name": "Croacia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curazao"
+ },
+ "DG": {
+ "name": "Diego García"
+ },
+ "DK": {
+ "name": "Dinamarca"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egipto"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "AE": {
+ "name": "Emiratos Árabes Unidos"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "SK": {
+ "name": "Eslovaquia"
+ },
+ "SI": {
+ "name": "Eslovenia"
+ },
+ "ES": {
+ "name": "España"
+ },
+ "US": {
+ "name": "Estados Unidos"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Etiopía"
+ },
+ "PH": {
+ "name": "Filipinas"
+ },
+ "FI": {
+ "name": "Finlandia"
+ },
+ "FJ": {
+ "name": "Fiyi"
+ },
+ "FR": {
+ "name": "Francia"
+ },
+ "GA": {
+ "name": "Gabón"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Granada"
+ },
+ "GR": {
+ "name": "Grecia"
+ },
+ "GL": {
+ "name": "Groenlandia"
+ },
+ "GP": {
+ "name": "Guadalupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GF": {
+ "name": "Guayana Francesa"
+ },
+ "GG": {
+ "name": "Guernesey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GQ": {
+ "name": "Guinea Ecuatorial"
+ },
+ "GW": {
+ "name": "Guinea-Bisáu"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haití"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HU": {
+ "name": "Hungría"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Irán"
+ },
+ "IE": {
+ "name": "Irlanda"
+ },
+ "AC": {
+ "name": "Isla de la Ascensión"
+ },
+ "IM": {
+ "name": "Isla de Man"
+ },
+ "CX": {
+ "name": "Isla de Navidad"
+ },
+ "NF": {
+ "name": "Isla Norfolk"
+ },
+ "IS": {
+ "name": "Islandia"
+ },
+ "AX": {
+ "name": "Islas Åland"
+ },
+ "KY": {
+ "name": "Islas Caimán"
+ },
+ "IC": {
+ "name": "Islas Canarias"
+ },
+ "CC": {
+ "name": "Islas Cocos"
+ },
+ "CK": {
+ "name": "Islas Cook"
+ },
+ "FO": {
+ "name": "Islas Feroe"
+ },
+ "GS": {
+ "name": "Islas Georgia del Sur y Sandwich del Sur"
+ },
+ "FK": {
+ "name": "Islas Malvinas"
+ },
+ "MP": {
+ "name": "Islas Marianas del Norte"
+ },
+ "MH": {
+ "name": "Islas Marshall"
+ },
+ "PN": {
+ "name": "Islas Pitcairn"
+ },
+ "SB": {
+ "name": "Islas Salomón"
+ },
+ "TC": {
+ "name": "Islas Turcas y Caicos"
+ },
+ "UM": {
+ "name": "Islas Ultramarinas de EE.UU."
+ },
+ "VG": {
+ "name": "Islas Vírgenes Británicas"
+ },
+ "VI": {
+ "name": "Islas Vírgenes de EE. UU."
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japón"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordania"
+ },
+ "KZ": {
+ "name": "Kazajistán"
+ },
+ "KE": {
+ "name": "Kenia"
+ },
+ "KG": {
+ "name": "Kirguistán"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LV": {
+ "name": "Letonia"
+ },
+ "LB": {
+ "name": "Líbano"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libia"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lituania"
+ },
+ "LU": {
+ "name": "Luxemburgo"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MY": {
+ "name": "Malasia"
+ },
+ "MW": {
+ "name": "Malaui"
+ },
+ "MV": {
+ "name": "Maldivas"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marruecos"
+ },
+ "MQ": {
+ "name": "Martinica"
+ },
+ "MU": {
+ "name": "Mauricio"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "México"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldavia"
+ },
+ "MC": {
+ "name": "Mónaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar (Birmania)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Níger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Noruega"
+ },
+ "NC": {
+ "name": "Nueva Caledonia"
+ },
+ "NZ": {
+ "name": "Nueva Zelanda"
+ },
+ "OM": {
+ "name": "Omán"
+ },
+ "NL": {
+ "name": "Países Bajos"
+ },
+ "PK": {
+ "name": "Pakistán"
+ },
+ "PW": {
+ "name": "Palaos"
+ },
+ "PA": {
+ "name": "Panamá"
+ },
+ "PG": {
+ "name": "Papúa Nueva Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Perú"
+ },
+ "PF": {
+ "name": "Polinesia Francesa"
+ },
+ "PL": {
+ "name": "Polonia"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "HK": {
+ "name": "RAE de Hong Kong (China)"
+ },
+ "MO": {
+ "name": "RAE de Macao (China)"
+ },
+ "GB": {
+ "name": "Reino Unido"
+ },
+ "CF": {
+ "name": "República Centroafricana"
+ },
+ "CZ": {
+ "name": "República Checa"
+ },
+ "CG": {
+ "name": "República del Congo"
+ },
+ "CD": {
+ "name": "República Democrática del Congo"
+ },
+ "DO": {
+ "name": "República Dominicana"
+ },
+ "RE": {
+ "name": "Reunión"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RO": {
+ "name": "Rumanía"
+ },
+ "RU": {
+ "name": "Rusia"
+ },
+ "EH": {
+ "name": "Sáhara Occidental"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa Americana"
+ },
+ "BL": {
+ "name": "San Bartolomé"
+ },
+ "KN": {
+ "name": "San Cristóbal y Nieves"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "MF": {
+ "name": "San Martín"
+ },
+ "PM": {
+ "name": "San Pedro y Miquelón"
+ },
+ "VC": {
+ "name": "San Vicente y las Granadinas"
+ },
+ "SH": {
+ "name": "Santa Elena"
+ },
+ "LC": {
+ "name": "Santa Lucía"
+ },
+ "ST": {
+ "name": "Santo Tomé y Príncipe"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leona"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Siria"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "SZ": {
+ "name": "Suazilandia"
+ },
+ "ZA": {
+ "name": "Sudáfrica"
+ },
+ "SD": {
+ "name": "Sudán"
+ },
+ "SS": {
+ "name": "Sudán del Sur"
+ },
+ "SE": {
+ "name": "Suecia"
+ },
+ "CH": {
+ "name": "Suiza"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SJ": {
+ "name": "Svalbard y Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailandia"
+ },
+ "TW": {
+ "name": "Taiwán"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TJ": {
+ "name": "Tayikistán"
+ },
+ "IO": {
+ "name": "Territorio Británico del Océano Índico"
+ },
+ "TF": {
+ "name": "Territorios Australes Franceses"
+ },
+ "PS": {
+ "name": "Territorios Palestinos"
+ },
+ "TL": {
+ "name": "Timor Oriental"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad y Tobago"
+ },
+ "TA": {
+ "name": "Tristán da Cunha"
+ },
+ "TN": {
+ "name": "Túnez"
+ },
+ "TM": {
+ "name": "Turkmenistán"
+ },
+ "TR": {
+ "name": "Turquía"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UA": {
+ "name": "Ucrania"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbekistán"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis y Futuna"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "DJ": {
+ "name": "Yibuti"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabue"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/es-CL.json b/vendor/commerceguys/intl/resources/country/es-CL.json
new file mode 100644
index 000000000..d10f7a5d1
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/es-CL.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afganistán"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DE": {
+ "name": "Alemania"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguila"
+ },
+ "AQ": {
+ "name": "Antártida"
+ },
+ "AG": {
+ "name": "Antigua y Barbuda"
+ },
+ "SA": {
+ "name": "Arabia Saudí"
+ },
+ "DZ": {
+ "name": "Argelia"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "AZ": {
+ "name": "Azerbaiyán"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BD": {
+ "name": "Bangladés"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BH": {
+ "name": "Baréin"
+ },
+ "BE": {
+ "name": "Bélgica"
+ },
+ "BZ": {
+ "name": "Belice"
+ },
+ "BJ": {
+ "name": "Benín"
+ },
+ "BM": {
+ "name": "Bermudas"
+ },
+ "BY": {
+ "name": "Bielorrusia"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia y Herzegovina"
+ },
+ "BW": {
+ "name": "Botsuana"
+ },
+ "BR": {
+ "name": "Brasil"
+ },
+ "BN": {
+ "name": "Brunéi"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Bután"
+ },
+ "CV": {
+ "name": "Cabo Verde"
+ },
+ "KH": {
+ "name": "Camboya"
+ },
+ "CM": {
+ "name": "Camerún"
+ },
+ "CA": {
+ "name": "Canadá"
+ },
+ "BQ": {
+ "name": "Caribe neerlandés"
+ },
+ "QA": {
+ "name": "Catar"
+ },
+ "EA": {
+ "name": "Ceuta y Melilla"
+ },
+ "TD": {
+ "name": "Chad"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CY": {
+ "name": "Chipre"
+ },
+ "VA": {
+ "name": "Ciudad del Vaticano"
+ },
+ "CO": {
+ "name": "Colombia"
+ },
+ "KM": {
+ "name": "Comoras"
+ },
+ "KP": {
+ "name": "Corea del Norte"
+ },
+ "KR": {
+ "name": "Corea del Sur"
+ },
+ "CI": {
+ "name": "Costa de Marfil"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "HR": {
+ "name": "Croacia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curazao"
+ },
+ "DG": {
+ "name": "Diego García"
+ },
+ "DK": {
+ "name": "Dinamarca"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egipto"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "AE": {
+ "name": "Emiratos Árabes Unidos"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "SK": {
+ "name": "Eslovaquia"
+ },
+ "SI": {
+ "name": "Eslovenia"
+ },
+ "ES": {
+ "name": "España"
+ },
+ "US": {
+ "name": "Estados Unidos"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Etiopía"
+ },
+ "PH": {
+ "name": "Filipinas"
+ },
+ "FI": {
+ "name": "Finlandia"
+ },
+ "FJ": {
+ "name": "Fiyi"
+ },
+ "FR": {
+ "name": "Francia"
+ },
+ "GA": {
+ "name": "Gabón"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Granada"
+ },
+ "GR": {
+ "name": "Grecia"
+ },
+ "GL": {
+ "name": "Groenlandia"
+ },
+ "GP": {
+ "name": "Guadalupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GF": {
+ "name": "Guayana Francesa"
+ },
+ "GG": {
+ "name": "Guernesey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GQ": {
+ "name": "Guinea Ecuatorial"
+ },
+ "GW": {
+ "name": "Guinea-Bisáu"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haití"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HU": {
+ "name": "Hungría"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Irán"
+ },
+ "IE": {
+ "name": "Irlanda"
+ },
+ "AC": {
+ "name": "Isla de la Ascensión"
+ },
+ "IM": {
+ "name": "Isla de Man"
+ },
+ "CX": {
+ "name": "Isla de Navidad"
+ },
+ "NF": {
+ "name": "Isla Norfolk"
+ },
+ "IS": {
+ "name": "Islandia"
+ },
+ "AX": {
+ "name": "Islas Åland"
+ },
+ "KY": {
+ "name": "Islas Caimán"
+ },
+ "IC": {
+ "name": "Islas Canarias"
+ },
+ "CC": {
+ "name": "Islas Cocos"
+ },
+ "CK": {
+ "name": "Islas Cook"
+ },
+ "FO": {
+ "name": "Islas Feroe"
+ },
+ "GS": {
+ "name": "Islas Georgia del Sur y Sandwich del Sur"
+ },
+ "FK": {
+ "name": "Islas Malvinas"
+ },
+ "MP": {
+ "name": "Islas Marianas del Norte"
+ },
+ "MH": {
+ "name": "Islas Marshall"
+ },
+ "UM": {
+ "name": "Islas menores alejadas de EE. UU."
+ },
+ "PN": {
+ "name": "Islas Pitcairn"
+ },
+ "SB": {
+ "name": "Islas Salomón"
+ },
+ "TC": {
+ "name": "Islas Turcas y Caicos"
+ },
+ "VG": {
+ "name": "Islas Vírgenes Británicas"
+ },
+ "VI": {
+ "name": "Islas Vírgenes de EE. UU."
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japón"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordania"
+ },
+ "KZ": {
+ "name": "Kazajistán"
+ },
+ "KE": {
+ "name": "Kenia"
+ },
+ "KG": {
+ "name": "Kirguistán"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LV": {
+ "name": "Letonia"
+ },
+ "LB": {
+ "name": "Líbano"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libia"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lituania"
+ },
+ "LU": {
+ "name": "Luxemburgo"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MY": {
+ "name": "Malasia"
+ },
+ "MW": {
+ "name": "Malaui"
+ },
+ "MV": {
+ "name": "Maldivas"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marruecos"
+ },
+ "MQ": {
+ "name": "Martinica"
+ },
+ "MU": {
+ "name": "Mauricio"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "México"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldavia"
+ },
+ "MC": {
+ "name": "Mónaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar (Birmania)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Níger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Noruega"
+ },
+ "NC": {
+ "name": "Nueva Caledonia"
+ },
+ "NZ": {
+ "name": "Nueva Zelanda"
+ },
+ "OM": {
+ "name": "Omán"
+ },
+ "NL": {
+ "name": "Países Bajos"
+ },
+ "PK": {
+ "name": "Pakistán"
+ },
+ "PW": {
+ "name": "Palaos"
+ },
+ "PA": {
+ "name": "Panamá"
+ },
+ "PG": {
+ "name": "Papúa Nueva Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Perú"
+ },
+ "PF": {
+ "name": "Polinesia Francesa"
+ },
+ "PL": {
+ "name": "Polonia"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "HK": {
+ "name": "RAE de Hong Kong (China)"
+ },
+ "MO": {
+ "name": "RAE de Macao (China)"
+ },
+ "GB": {
+ "name": "Reino Unido"
+ },
+ "CF": {
+ "name": "República Centroafricana"
+ },
+ "CZ": {
+ "name": "República Checa"
+ },
+ "CG": {
+ "name": "República del Congo"
+ },
+ "CD": {
+ "name": "República Democrática del Congo"
+ },
+ "DO": {
+ "name": "República Dominicana"
+ },
+ "RE": {
+ "name": "Reunión"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RO": {
+ "name": "Rumanía"
+ },
+ "RU": {
+ "name": "Rusia"
+ },
+ "EH": {
+ "name": "Sahara Occidental"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa Americana"
+ },
+ "BL": {
+ "name": "San Bartolomé"
+ },
+ "KN": {
+ "name": "San Cristóbal y Nieves"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "MF": {
+ "name": "San Martín"
+ },
+ "PM": {
+ "name": "San Pedro y Miquelón"
+ },
+ "VC": {
+ "name": "San Vicente y las Granadinas"
+ },
+ "SH": {
+ "name": "Santa Elena"
+ },
+ "LC": {
+ "name": "Santa Lucía"
+ },
+ "ST": {
+ "name": "Santo Tomé y Príncipe"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leona"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Siria"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "SZ": {
+ "name": "Suazilandia"
+ },
+ "ZA": {
+ "name": "Sudáfrica"
+ },
+ "SD": {
+ "name": "Sudán"
+ },
+ "SS": {
+ "name": "Sudán del Sur"
+ },
+ "SE": {
+ "name": "Suecia"
+ },
+ "CH": {
+ "name": "Suiza"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SJ": {
+ "name": "Svalbard y Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailandia"
+ },
+ "TW": {
+ "name": "Taiwán"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TJ": {
+ "name": "Tayikistán"
+ },
+ "IO": {
+ "name": "Territorio Británico del Océano Índico"
+ },
+ "TF": {
+ "name": "Territorios Australes Franceses"
+ },
+ "PS": {
+ "name": "Territorios Palestinos"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad y Tobago"
+ },
+ "TA": {
+ "name": "Tristán de Acuña"
+ },
+ "TN": {
+ "name": "Túnez"
+ },
+ "TM": {
+ "name": "Turkmenistán"
+ },
+ "TR": {
+ "name": "Turquía"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UA": {
+ "name": "Ucrania"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbekistán"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis y Futuna"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "DJ": {
+ "name": "Yibuti"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabue"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/es-CO.json b/vendor/commerceguys/intl/resources/country/es-CO.json
new file mode 100644
index 000000000..e94300461
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/es-CO.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afganistán"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DE": {
+ "name": "Alemania"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguila"
+ },
+ "AQ": {
+ "name": "Antártida"
+ },
+ "AG": {
+ "name": "Antigua y Barbuda"
+ },
+ "SA": {
+ "name": "Arabia Saudí"
+ },
+ "DZ": {
+ "name": "Argelia"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "AZ": {
+ "name": "Azerbaiyán"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BD": {
+ "name": "Bangladés"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BH": {
+ "name": "Baréin"
+ },
+ "BE": {
+ "name": "Bélgica"
+ },
+ "BZ": {
+ "name": "Belice"
+ },
+ "BJ": {
+ "name": "Benín"
+ },
+ "BM": {
+ "name": "Bermudas"
+ },
+ "BY": {
+ "name": "Bielorrusia"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia y Herzegovina"
+ },
+ "BW": {
+ "name": "Botsuana"
+ },
+ "BR": {
+ "name": "Brasil"
+ },
+ "BN": {
+ "name": "Brunéi"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Bután"
+ },
+ "CV": {
+ "name": "Cabo Verde"
+ },
+ "KH": {
+ "name": "Camboya"
+ },
+ "CM": {
+ "name": "Camerún"
+ },
+ "CA": {
+ "name": "Canadá"
+ },
+ "BQ": {
+ "name": "Caribe neerlandés"
+ },
+ "QA": {
+ "name": "Catar"
+ },
+ "EA": {
+ "name": "Ceuta y Melilla"
+ },
+ "TD": {
+ "name": "Chad"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CY": {
+ "name": "Chipre"
+ },
+ "VA": {
+ "name": "Ciudad del Vaticano"
+ },
+ "CO": {
+ "name": "Colombia"
+ },
+ "KM": {
+ "name": "Comoras"
+ },
+ "KP": {
+ "name": "Corea del Norte"
+ },
+ "KR": {
+ "name": "Corea del Sur"
+ },
+ "CI": {
+ "name": "Costa de Marfil"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "HR": {
+ "name": "Croacia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curazao"
+ },
+ "DG": {
+ "name": "Diego García"
+ },
+ "DK": {
+ "name": "Dinamarca"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egipto"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "AE": {
+ "name": "Emiratos Árabes Unidos"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "SK": {
+ "name": "Eslovaquia"
+ },
+ "SI": {
+ "name": "Eslovenia"
+ },
+ "ES": {
+ "name": "España"
+ },
+ "US": {
+ "name": "Estados Unidos"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Etiopía"
+ },
+ "PH": {
+ "name": "Filipinas"
+ },
+ "FI": {
+ "name": "Finlandia"
+ },
+ "FJ": {
+ "name": "Fiyi"
+ },
+ "FR": {
+ "name": "Francia"
+ },
+ "GA": {
+ "name": "Gabón"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Granada"
+ },
+ "GR": {
+ "name": "Grecia"
+ },
+ "GL": {
+ "name": "Groenlandia"
+ },
+ "GP": {
+ "name": "Guadalupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GF": {
+ "name": "Guayana Francesa"
+ },
+ "GG": {
+ "name": "Guernesey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GQ": {
+ "name": "Guinea Ecuatorial"
+ },
+ "GW": {
+ "name": "Guinea-Bisáu"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haití"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HU": {
+ "name": "Hungría"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Irán"
+ },
+ "IE": {
+ "name": "Irlanda"
+ },
+ "AC": {
+ "name": "Isla de la Ascensión"
+ },
+ "IM": {
+ "name": "Isla de Man"
+ },
+ "CX": {
+ "name": "Isla de Navidad"
+ },
+ "NF": {
+ "name": "Isla Norfolk"
+ },
+ "IS": {
+ "name": "Islandia"
+ },
+ "AX": {
+ "name": "Islas Åland"
+ },
+ "KY": {
+ "name": "Islas Caimán"
+ },
+ "IC": {
+ "name": "Islas Canarias"
+ },
+ "CC": {
+ "name": "Islas Cocos"
+ },
+ "CK": {
+ "name": "Islas Cook"
+ },
+ "FO": {
+ "name": "Islas Feroe"
+ },
+ "GS": {
+ "name": "Islas Georgia del Sur y Sandwich del Sur"
+ },
+ "FK": {
+ "name": "Islas Malvinas"
+ },
+ "MP": {
+ "name": "Islas Marianas del Norte"
+ },
+ "MH": {
+ "name": "Islas Marshall"
+ },
+ "UM": {
+ "name": "Islas menores alejadas de EE. UU."
+ },
+ "PN": {
+ "name": "Islas Pitcairn"
+ },
+ "SB": {
+ "name": "Islas Salomón"
+ },
+ "TC": {
+ "name": "Islas Turcas y Caicos"
+ },
+ "VG": {
+ "name": "Islas Vírgenes Británicas"
+ },
+ "VI": {
+ "name": "Islas Vírgenes de EE. UU."
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japón"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordania"
+ },
+ "KZ": {
+ "name": "Kazajistán"
+ },
+ "KE": {
+ "name": "Kenia"
+ },
+ "KG": {
+ "name": "Kirguistán"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LV": {
+ "name": "Letonia"
+ },
+ "LB": {
+ "name": "Líbano"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libia"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lituania"
+ },
+ "LU": {
+ "name": "Luxemburgo"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MY": {
+ "name": "Malasia"
+ },
+ "MW": {
+ "name": "Malaui"
+ },
+ "MV": {
+ "name": "Maldivas"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marruecos"
+ },
+ "MQ": {
+ "name": "Martinica"
+ },
+ "MU": {
+ "name": "Mauricio"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "México"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldavia"
+ },
+ "MC": {
+ "name": "Mónaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar (Birmania)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Níger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Noruega"
+ },
+ "NC": {
+ "name": "Nueva Caledonia"
+ },
+ "NZ": {
+ "name": "Nueva Zelanda"
+ },
+ "OM": {
+ "name": "Omán"
+ },
+ "NL": {
+ "name": "Países Bajos"
+ },
+ "PK": {
+ "name": "Pakistán"
+ },
+ "PW": {
+ "name": "Palaos"
+ },
+ "PA": {
+ "name": "Panamá"
+ },
+ "PG": {
+ "name": "Papúa Nueva Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Perú"
+ },
+ "PF": {
+ "name": "Polinesia Francesa"
+ },
+ "PL": {
+ "name": "Polonia"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "HK": {
+ "name": "RAE de Hong Kong (China)"
+ },
+ "MO": {
+ "name": "RAE de Macao (China)"
+ },
+ "GB": {
+ "name": "Reino Unido"
+ },
+ "CF": {
+ "name": "República Centroafricana"
+ },
+ "CZ": {
+ "name": "República Checa"
+ },
+ "CG": {
+ "name": "República del Congo"
+ },
+ "CD": {
+ "name": "República Democrática del Congo"
+ },
+ "DO": {
+ "name": "República Dominicana"
+ },
+ "RE": {
+ "name": "Reunión"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RO": {
+ "name": "Rumanía"
+ },
+ "RU": {
+ "name": "Rusia"
+ },
+ "EH": {
+ "name": "Sáhara Occidental"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa Americana"
+ },
+ "BL": {
+ "name": "San Bartolomé"
+ },
+ "KN": {
+ "name": "San Cristóbal y Nieves"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "MF": {
+ "name": "San Martín"
+ },
+ "PM": {
+ "name": "San Pedro y Miquelón"
+ },
+ "VC": {
+ "name": "San Vicente y las Granadinas"
+ },
+ "SH": {
+ "name": "Santa Elena"
+ },
+ "LC": {
+ "name": "Santa Lucía"
+ },
+ "ST": {
+ "name": "Santo Tomé y Príncipe"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leona"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Siria"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "SZ": {
+ "name": "Suazilandia"
+ },
+ "ZA": {
+ "name": "Sudáfrica"
+ },
+ "SD": {
+ "name": "Sudán"
+ },
+ "SS": {
+ "name": "Sudán del Sur"
+ },
+ "SE": {
+ "name": "Suecia"
+ },
+ "CH": {
+ "name": "Suiza"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SJ": {
+ "name": "Svalbard y Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailandia"
+ },
+ "TW": {
+ "name": "Taiwán"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TJ": {
+ "name": "Tayikistán"
+ },
+ "IO": {
+ "name": "Territorio Británico del Océano Índico"
+ },
+ "TF": {
+ "name": "Territorios Australes Franceses"
+ },
+ "PS": {
+ "name": "Territorios Palestinos"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad y Tobago"
+ },
+ "TA": {
+ "name": "Tristán de Acuña"
+ },
+ "TN": {
+ "name": "Túnez"
+ },
+ "TM": {
+ "name": "Turkmenistán"
+ },
+ "TR": {
+ "name": "Turquía"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UA": {
+ "name": "Ucrania"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbekistán"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis y Futuna"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "DJ": {
+ "name": "Yibuti"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabue"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/es-CR.json b/vendor/commerceguys/intl/resources/country/es-CR.json
new file mode 100644
index 000000000..e94300461
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/es-CR.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afganistán"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DE": {
+ "name": "Alemania"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguila"
+ },
+ "AQ": {
+ "name": "Antártida"
+ },
+ "AG": {
+ "name": "Antigua y Barbuda"
+ },
+ "SA": {
+ "name": "Arabia Saudí"
+ },
+ "DZ": {
+ "name": "Argelia"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "AZ": {
+ "name": "Azerbaiyán"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BD": {
+ "name": "Bangladés"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BH": {
+ "name": "Baréin"
+ },
+ "BE": {
+ "name": "Bélgica"
+ },
+ "BZ": {
+ "name": "Belice"
+ },
+ "BJ": {
+ "name": "Benín"
+ },
+ "BM": {
+ "name": "Bermudas"
+ },
+ "BY": {
+ "name": "Bielorrusia"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia y Herzegovina"
+ },
+ "BW": {
+ "name": "Botsuana"
+ },
+ "BR": {
+ "name": "Brasil"
+ },
+ "BN": {
+ "name": "Brunéi"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Bután"
+ },
+ "CV": {
+ "name": "Cabo Verde"
+ },
+ "KH": {
+ "name": "Camboya"
+ },
+ "CM": {
+ "name": "Camerún"
+ },
+ "CA": {
+ "name": "Canadá"
+ },
+ "BQ": {
+ "name": "Caribe neerlandés"
+ },
+ "QA": {
+ "name": "Catar"
+ },
+ "EA": {
+ "name": "Ceuta y Melilla"
+ },
+ "TD": {
+ "name": "Chad"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CY": {
+ "name": "Chipre"
+ },
+ "VA": {
+ "name": "Ciudad del Vaticano"
+ },
+ "CO": {
+ "name": "Colombia"
+ },
+ "KM": {
+ "name": "Comoras"
+ },
+ "KP": {
+ "name": "Corea del Norte"
+ },
+ "KR": {
+ "name": "Corea del Sur"
+ },
+ "CI": {
+ "name": "Costa de Marfil"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "HR": {
+ "name": "Croacia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curazao"
+ },
+ "DG": {
+ "name": "Diego García"
+ },
+ "DK": {
+ "name": "Dinamarca"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egipto"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "AE": {
+ "name": "Emiratos Árabes Unidos"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "SK": {
+ "name": "Eslovaquia"
+ },
+ "SI": {
+ "name": "Eslovenia"
+ },
+ "ES": {
+ "name": "España"
+ },
+ "US": {
+ "name": "Estados Unidos"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Etiopía"
+ },
+ "PH": {
+ "name": "Filipinas"
+ },
+ "FI": {
+ "name": "Finlandia"
+ },
+ "FJ": {
+ "name": "Fiyi"
+ },
+ "FR": {
+ "name": "Francia"
+ },
+ "GA": {
+ "name": "Gabón"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Granada"
+ },
+ "GR": {
+ "name": "Grecia"
+ },
+ "GL": {
+ "name": "Groenlandia"
+ },
+ "GP": {
+ "name": "Guadalupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GF": {
+ "name": "Guayana Francesa"
+ },
+ "GG": {
+ "name": "Guernesey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GQ": {
+ "name": "Guinea Ecuatorial"
+ },
+ "GW": {
+ "name": "Guinea-Bisáu"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haití"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HU": {
+ "name": "Hungría"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Irán"
+ },
+ "IE": {
+ "name": "Irlanda"
+ },
+ "AC": {
+ "name": "Isla de la Ascensión"
+ },
+ "IM": {
+ "name": "Isla de Man"
+ },
+ "CX": {
+ "name": "Isla de Navidad"
+ },
+ "NF": {
+ "name": "Isla Norfolk"
+ },
+ "IS": {
+ "name": "Islandia"
+ },
+ "AX": {
+ "name": "Islas Åland"
+ },
+ "KY": {
+ "name": "Islas Caimán"
+ },
+ "IC": {
+ "name": "Islas Canarias"
+ },
+ "CC": {
+ "name": "Islas Cocos"
+ },
+ "CK": {
+ "name": "Islas Cook"
+ },
+ "FO": {
+ "name": "Islas Feroe"
+ },
+ "GS": {
+ "name": "Islas Georgia del Sur y Sandwich del Sur"
+ },
+ "FK": {
+ "name": "Islas Malvinas"
+ },
+ "MP": {
+ "name": "Islas Marianas del Norte"
+ },
+ "MH": {
+ "name": "Islas Marshall"
+ },
+ "UM": {
+ "name": "Islas menores alejadas de EE. UU."
+ },
+ "PN": {
+ "name": "Islas Pitcairn"
+ },
+ "SB": {
+ "name": "Islas Salomón"
+ },
+ "TC": {
+ "name": "Islas Turcas y Caicos"
+ },
+ "VG": {
+ "name": "Islas Vírgenes Británicas"
+ },
+ "VI": {
+ "name": "Islas Vírgenes de EE. UU."
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japón"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordania"
+ },
+ "KZ": {
+ "name": "Kazajistán"
+ },
+ "KE": {
+ "name": "Kenia"
+ },
+ "KG": {
+ "name": "Kirguistán"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LV": {
+ "name": "Letonia"
+ },
+ "LB": {
+ "name": "Líbano"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libia"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lituania"
+ },
+ "LU": {
+ "name": "Luxemburgo"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MY": {
+ "name": "Malasia"
+ },
+ "MW": {
+ "name": "Malaui"
+ },
+ "MV": {
+ "name": "Maldivas"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marruecos"
+ },
+ "MQ": {
+ "name": "Martinica"
+ },
+ "MU": {
+ "name": "Mauricio"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "México"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldavia"
+ },
+ "MC": {
+ "name": "Mónaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar (Birmania)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Níger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Noruega"
+ },
+ "NC": {
+ "name": "Nueva Caledonia"
+ },
+ "NZ": {
+ "name": "Nueva Zelanda"
+ },
+ "OM": {
+ "name": "Omán"
+ },
+ "NL": {
+ "name": "Países Bajos"
+ },
+ "PK": {
+ "name": "Pakistán"
+ },
+ "PW": {
+ "name": "Palaos"
+ },
+ "PA": {
+ "name": "Panamá"
+ },
+ "PG": {
+ "name": "Papúa Nueva Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Perú"
+ },
+ "PF": {
+ "name": "Polinesia Francesa"
+ },
+ "PL": {
+ "name": "Polonia"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "HK": {
+ "name": "RAE de Hong Kong (China)"
+ },
+ "MO": {
+ "name": "RAE de Macao (China)"
+ },
+ "GB": {
+ "name": "Reino Unido"
+ },
+ "CF": {
+ "name": "República Centroafricana"
+ },
+ "CZ": {
+ "name": "República Checa"
+ },
+ "CG": {
+ "name": "República del Congo"
+ },
+ "CD": {
+ "name": "República Democrática del Congo"
+ },
+ "DO": {
+ "name": "República Dominicana"
+ },
+ "RE": {
+ "name": "Reunión"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RO": {
+ "name": "Rumanía"
+ },
+ "RU": {
+ "name": "Rusia"
+ },
+ "EH": {
+ "name": "Sáhara Occidental"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa Americana"
+ },
+ "BL": {
+ "name": "San Bartolomé"
+ },
+ "KN": {
+ "name": "San Cristóbal y Nieves"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "MF": {
+ "name": "San Martín"
+ },
+ "PM": {
+ "name": "San Pedro y Miquelón"
+ },
+ "VC": {
+ "name": "San Vicente y las Granadinas"
+ },
+ "SH": {
+ "name": "Santa Elena"
+ },
+ "LC": {
+ "name": "Santa Lucía"
+ },
+ "ST": {
+ "name": "Santo Tomé y Príncipe"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leona"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Siria"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "SZ": {
+ "name": "Suazilandia"
+ },
+ "ZA": {
+ "name": "Sudáfrica"
+ },
+ "SD": {
+ "name": "Sudán"
+ },
+ "SS": {
+ "name": "Sudán del Sur"
+ },
+ "SE": {
+ "name": "Suecia"
+ },
+ "CH": {
+ "name": "Suiza"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SJ": {
+ "name": "Svalbard y Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailandia"
+ },
+ "TW": {
+ "name": "Taiwán"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TJ": {
+ "name": "Tayikistán"
+ },
+ "IO": {
+ "name": "Territorio Británico del Océano Índico"
+ },
+ "TF": {
+ "name": "Territorios Australes Franceses"
+ },
+ "PS": {
+ "name": "Territorios Palestinos"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad y Tobago"
+ },
+ "TA": {
+ "name": "Tristán de Acuña"
+ },
+ "TN": {
+ "name": "Túnez"
+ },
+ "TM": {
+ "name": "Turkmenistán"
+ },
+ "TR": {
+ "name": "Turquía"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UA": {
+ "name": "Ucrania"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbekistán"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis y Futuna"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "DJ": {
+ "name": "Yibuti"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabue"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/es-CU.json b/vendor/commerceguys/intl/resources/country/es-CU.json
new file mode 100644
index 000000000..d0a111cec
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/es-CU.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afganistán"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DE": {
+ "name": "Alemania"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguila"
+ },
+ "AQ": {
+ "name": "Antártida"
+ },
+ "AG": {
+ "name": "Antigua y Barbuda"
+ },
+ "SA": {
+ "name": "Arabia Saudí"
+ },
+ "DZ": {
+ "name": "Argelia"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "AZ": {
+ "name": "Azerbaiyán"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BD": {
+ "name": "Bangladés"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BH": {
+ "name": "Baréin"
+ },
+ "BE": {
+ "name": "Bélgica"
+ },
+ "BZ": {
+ "name": "Belice"
+ },
+ "BJ": {
+ "name": "Benín"
+ },
+ "BM": {
+ "name": "Bermudas"
+ },
+ "BY": {
+ "name": "Bielorrusia"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia-Herzegovina"
+ },
+ "BW": {
+ "name": "Botsuana"
+ },
+ "BR": {
+ "name": "Brasil"
+ },
+ "BN": {
+ "name": "Brunéi"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Bután"
+ },
+ "CV": {
+ "name": "Cabo Verde"
+ },
+ "KH": {
+ "name": "Camboya"
+ },
+ "CM": {
+ "name": "Camerún"
+ },
+ "CA": {
+ "name": "Canadá"
+ },
+ "BQ": {
+ "name": "Caribe neerlandés"
+ },
+ "QA": {
+ "name": "Catar"
+ },
+ "EA": {
+ "name": "Ceuta y Melilla"
+ },
+ "TD": {
+ "name": "Chad"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CY": {
+ "name": "Chipre"
+ },
+ "VA": {
+ "name": "Ciudad del Vaticano"
+ },
+ "CO": {
+ "name": "Colombia"
+ },
+ "KM": {
+ "name": "Comoras"
+ },
+ "KP": {
+ "name": "Corea del Norte"
+ },
+ "KR": {
+ "name": "Corea del Sur"
+ },
+ "CI": {
+ "name": "Costa de Marfil"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "HR": {
+ "name": "Croacia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curazao"
+ },
+ "DG": {
+ "name": "Diego García"
+ },
+ "DK": {
+ "name": "Dinamarca"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egipto"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "AE": {
+ "name": "Emiratos Árabes Unidos"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "SK": {
+ "name": "Eslovaquia"
+ },
+ "SI": {
+ "name": "Eslovenia"
+ },
+ "ES": {
+ "name": "España"
+ },
+ "US": {
+ "name": "Estados Unidos"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Etiopía"
+ },
+ "PH": {
+ "name": "Filipinas"
+ },
+ "FI": {
+ "name": "Finlandia"
+ },
+ "FJ": {
+ "name": "Fiyi"
+ },
+ "FR": {
+ "name": "Francia"
+ },
+ "GA": {
+ "name": "Gabón"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Granada"
+ },
+ "GR": {
+ "name": "Grecia"
+ },
+ "GL": {
+ "name": "Groenlandia"
+ },
+ "GP": {
+ "name": "Guadalupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GF": {
+ "name": "Guayana Francesa"
+ },
+ "GG": {
+ "name": "Guernesey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GQ": {
+ "name": "Guinea Ecuatorial"
+ },
+ "GW": {
+ "name": "Guinea-Bisáu"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haití"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HU": {
+ "name": "Hungría"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Irán"
+ },
+ "IE": {
+ "name": "Irlanda"
+ },
+ "AC": {
+ "name": "Isla de la Ascensión"
+ },
+ "IM": {
+ "name": "Isla de Man"
+ },
+ "CX": {
+ "name": "Isla de Navidad"
+ },
+ "NF": {
+ "name": "Isla Norfolk"
+ },
+ "IS": {
+ "name": "Islandia"
+ },
+ "AX": {
+ "name": "Islas Åland"
+ },
+ "KY": {
+ "name": "Islas Caimán"
+ },
+ "IC": {
+ "name": "Islas Canarias"
+ },
+ "CC": {
+ "name": "Islas Cocos"
+ },
+ "CK": {
+ "name": "Islas Cook"
+ },
+ "FO": {
+ "name": "Islas Feroe"
+ },
+ "GS": {
+ "name": "Islas Georgia del Sur y Sandwich del Sur"
+ },
+ "FK": {
+ "name": "Islas Malvinas"
+ },
+ "MP": {
+ "name": "Islas Marianas del Norte"
+ },
+ "MH": {
+ "name": "Islas Marshall"
+ },
+ "PN": {
+ "name": "Islas Pitcairn"
+ },
+ "SB": {
+ "name": "Islas Salomón"
+ },
+ "TC": {
+ "name": "Islas Turcas y Caicos"
+ },
+ "UM": {
+ "name": "Islas Ultramarinas de EE.UU."
+ },
+ "VG": {
+ "name": "Islas Vírgenes Británicas"
+ },
+ "VI": {
+ "name": "Islas Vírgenes de EE. UU."
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japón"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordania"
+ },
+ "KZ": {
+ "name": "Kazajistán"
+ },
+ "KE": {
+ "name": "Kenia"
+ },
+ "KG": {
+ "name": "Kirguistán"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LV": {
+ "name": "Letonia"
+ },
+ "LB": {
+ "name": "Líbano"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libia"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lituania"
+ },
+ "LU": {
+ "name": "Luxemburgo"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MY": {
+ "name": "Malasia"
+ },
+ "MW": {
+ "name": "Malaui"
+ },
+ "MV": {
+ "name": "Maldivas"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marruecos"
+ },
+ "MQ": {
+ "name": "Martinica"
+ },
+ "MU": {
+ "name": "Mauricio"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "México"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldavia"
+ },
+ "MC": {
+ "name": "Mónaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar (Birmania)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Níger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Noruega"
+ },
+ "NC": {
+ "name": "Nueva Caledonia"
+ },
+ "NZ": {
+ "name": "Nueva Zelanda"
+ },
+ "OM": {
+ "name": "Omán"
+ },
+ "NL": {
+ "name": "Países Bajos"
+ },
+ "PK": {
+ "name": "Pakistán"
+ },
+ "PW": {
+ "name": "Palaos"
+ },
+ "PA": {
+ "name": "Panamá"
+ },
+ "PG": {
+ "name": "Papúa Nueva Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Perú"
+ },
+ "PF": {
+ "name": "Polinesia Francesa"
+ },
+ "PL": {
+ "name": "Polonia"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "HK": {
+ "name": "RAE de Hong Kong (China)"
+ },
+ "MO": {
+ "name": "RAE de Macao (China)"
+ },
+ "GB": {
+ "name": "Reino Unido"
+ },
+ "CF": {
+ "name": "República Centroafricana"
+ },
+ "CZ": {
+ "name": "República Checa"
+ },
+ "CG": {
+ "name": "República del Congo"
+ },
+ "CD": {
+ "name": "República Democrática del Congo"
+ },
+ "DO": {
+ "name": "República Dominicana"
+ },
+ "RE": {
+ "name": "Reunión"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RO": {
+ "name": "Rumanía"
+ },
+ "RU": {
+ "name": "Rusia"
+ },
+ "EH": {
+ "name": "Sáhara Occidental"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa Americana"
+ },
+ "BL": {
+ "name": "San Bartolomé"
+ },
+ "KN": {
+ "name": "San Cristóbal y Nieves"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "MF": {
+ "name": "San Martín"
+ },
+ "PM": {
+ "name": "San Pedro y Miquelón"
+ },
+ "VC": {
+ "name": "San Vicente y las Granadinas"
+ },
+ "SH": {
+ "name": "Santa Elena"
+ },
+ "LC": {
+ "name": "Santa Lucía"
+ },
+ "ST": {
+ "name": "Santo Tomé y Príncipe"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leona"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Siria"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "SZ": {
+ "name": "Suazilandia"
+ },
+ "ZA": {
+ "name": "Sudáfrica"
+ },
+ "SD": {
+ "name": "Sudán"
+ },
+ "SS": {
+ "name": "Sudán del Sur"
+ },
+ "SE": {
+ "name": "Suecia"
+ },
+ "CH": {
+ "name": "Suiza"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SJ": {
+ "name": "Svalbard y Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailandia"
+ },
+ "TW": {
+ "name": "Taiwán"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TJ": {
+ "name": "Tayikistán"
+ },
+ "IO": {
+ "name": "Territorio Británico del Océano Índico"
+ },
+ "TF": {
+ "name": "Territorios Australes Franceses"
+ },
+ "PS": {
+ "name": "Territorios Palestinos"
+ },
+ "TL": {
+ "name": "Timor Oriental"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad y Tobago"
+ },
+ "TA": {
+ "name": "Tristán da Cunha"
+ },
+ "TN": {
+ "name": "Túnez"
+ },
+ "TM": {
+ "name": "Turkmenistán"
+ },
+ "TR": {
+ "name": "Turquía"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UA": {
+ "name": "Ucrania"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbekistán"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis y Futuna"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "DJ": {
+ "name": "Yibuti"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabue"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/es-DO.json b/vendor/commerceguys/intl/resources/country/es-DO.json
new file mode 100644
index 000000000..e94300461
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/es-DO.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afganistán"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DE": {
+ "name": "Alemania"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguila"
+ },
+ "AQ": {
+ "name": "Antártida"
+ },
+ "AG": {
+ "name": "Antigua y Barbuda"
+ },
+ "SA": {
+ "name": "Arabia Saudí"
+ },
+ "DZ": {
+ "name": "Argelia"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "AZ": {
+ "name": "Azerbaiyán"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BD": {
+ "name": "Bangladés"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BH": {
+ "name": "Baréin"
+ },
+ "BE": {
+ "name": "Bélgica"
+ },
+ "BZ": {
+ "name": "Belice"
+ },
+ "BJ": {
+ "name": "Benín"
+ },
+ "BM": {
+ "name": "Bermudas"
+ },
+ "BY": {
+ "name": "Bielorrusia"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia y Herzegovina"
+ },
+ "BW": {
+ "name": "Botsuana"
+ },
+ "BR": {
+ "name": "Brasil"
+ },
+ "BN": {
+ "name": "Brunéi"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Bután"
+ },
+ "CV": {
+ "name": "Cabo Verde"
+ },
+ "KH": {
+ "name": "Camboya"
+ },
+ "CM": {
+ "name": "Camerún"
+ },
+ "CA": {
+ "name": "Canadá"
+ },
+ "BQ": {
+ "name": "Caribe neerlandés"
+ },
+ "QA": {
+ "name": "Catar"
+ },
+ "EA": {
+ "name": "Ceuta y Melilla"
+ },
+ "TD": {
+ "name": "Chad"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CY": {
+ "name": "Chipre"
+ },
+ "VA": {
+ "name": "Ciudad del Vaticano"
+ },
+ "CO": {
+ "name": "Colombia"
+ },
+ "KM": {
+ "name": "Comoras"
+ },
+ "KP": {
+ "name": "Corea del Norte"
+ },
+ "KR": {
+ "name": "Corea del Sur"
+ },
+ "CI": {
+ "name": "Costa de Marfil"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "HR": {
+ "name": "Croacia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curazao"
+ },
+ "DG": {
+ "name": "Diego García"
+ },
+ "DK": {
+ "name": "Dinamarca"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egipto"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "AE": {
+ "name": "Emiratos Árabes Unidos"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "SK": {
+ "name": "Eslovaquia"
+ },
+ "SI": {
+ "name": "Eslovenia"
+ },
+ "ES": {
+ "name": "España"
+ },
+ "US": {
+ "name": "Estados Unidos"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Etiopía"
+ },
+ "PH": {
+ "name": "Filipinas"
+ },
+ "FI": {
+ "name": "Finlandia"
+ },
+ "FJ": {
+ "name": "Fiyi"
+ },
+ "FR": {
+ "name": "Francia"
+ },
+ "GA": {
+ "name": "Gabón"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Granada"
+ },
+ "GR": {
+ "name": "Grecia"
+ },
+ "GL": {
+ "name": "Groenlandia"
+ },
+ "GP": {
+ "name": "Guadalupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GF": {
+ "name": "Guayana Francesa"
+ },
+ "GG": {
+ "name": "Guernesey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GQ": {
+ "name": "Guinea Ecuatorial"
+ },
+ "GW": {
+ "name": "Guinea-Bisáu"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haití"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HU": {
+ "name": "Hungría"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Irán"
+ },
+ "IE": {
+ "name": "Irlanda"
+ },
+ "AC": {
+ "name": "Isla de la Ascensión"
+ },
+ "IM": {
+ "name": "Isla de Man"
+ },
+ "CX": {
+ "name": "Isla de Navidad"
+ },
+ "NF": {
+ "name": "Isla Norfolk"
+ },
+ "IS": {
+ "name": "Islandia"
+ },
+ "AX": {
+ "name": "Islas Åland"
+ },
+ "KY": {
+ "name": "Islas Caimán"
+ },
+ "IC": {
+ "name": "Islas Canarias"
+ },
+ "CC": {
+ "name": "Islas Cocos"
+ },
+ "CK": {
+ "name": "Islas Cook"
+ },
+ "FO": {
+ "name": "Islas Feroe"
+ },
+ "GS": {
+ "name": "Islas Georgia del Sur y Sandwich del Sur"
+ },
+ "FK": {
+ "name": "Islas Malvinas"
+ },
+ "MP": {
+ "name": "Islas Marianas del Norte"
+ },
+ "MH": {
+ "name": "Islas Marshall"
+ },
+ "UM": {
+ "name": "Islas menores alejadas de EE. UU."
+ },
+ "PN": {
+ "name": "Islas Pitcairn"
+ },
+ "SB": {
+ "name": "Islas Salomón"
+ },
+ "TC": {
+ "name": "Islas Turcas y Caicos"
+ },
+ "VG": {
+ "name": "Islas Vírgenes Británicas"
+ },
+ "VI": {
+ "name": "Islas Vírgenes de EE. UU."
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japón"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordania"
+ },
+ "KZ": {
+ "name": "Kazajistán"
+ },
+ "KE": {
+ "name": "Kenia"
+ },
+ "KG": {
+ "name": "Kirguistán"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LV": {
+ "name": "Letonia"
+ },
+ "LB": {
+ "name": "Líbano"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libia"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lituania"
+ },
+ "LU": {
+ "name": "Luxemburgo"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MY": {
+ "name": "Malasia"
+ },
+ "MW": {
+ "name": "Malaui"
+ },
+ "MV": {
+ "name": "Maldivas"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marruecos"
+ },
+ "MQ": {
+ "name": "Martinica"
+ },
+ "MU": {
+ "name": "Mauricio"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "México"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldavia"
+ },
+ "MC": {
+ "name": "Mónaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar (Birmania)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Níger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Noruega"
+ },
+ "NC": {
+ "name": "Nueva Caledonia"
+ },
+ "NZ": {
+ "name": "Nueva Zelanda"
+ },
+ "OM": {
+ "name": "Omán"
+ },
+ "NL": {
+ "name": "Países Bajos"
+ },
+ "PK": {
+ "name": "Pakistán"
+ },
+ "PW": {
+ "name": "Palaos"
+ },
+ "PA": {
+ "name": "Panamá"
+ },
+ "PG": {
+ "name": "Papúa Nueva Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Perú"
+ },
+ "PF": {
+ "name": "Polinesia Francesa"
+ },
+ "PL": {
+ "name": "Polonia"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "HK": {
+ "name": "RAE de Hong Kong (China)"
+ },
+ "MO": {
+ "name": "RAE de Macao (China)"
+ },
+ "GB": {
+ "name": "Reino Unido"
+ },
+ "CF": {
+ "name": "República Centroafricana"
+ },
+ "CZ": {
+ "name": "República Checa"
+ },
+ "CG": {
+ "name": "República del Congo"
+ },
+ "CD": {
+ "name": "República Democrática del Congo"
+ },
+ "DO": {
+ "name": "República Dominicana"
+ },
+ "RE": {
+ "name": "Reunión"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RO": {
+ "name": "Rumanía"
+ },
+ "RU": {
+ "name": "Rusia"
+ },
+ "EH": {
+ "name": "Sáhara Occidental"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa Americana"
+ },
+ "BL": {
+ "name": "San Bartolomé"
+ },
+ "KN": {
+ "name": "San Cristóbal y Nieves"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "MF": {
+ "name": "San Martín"
+ },
+ "PM": {
+ "name": "San Pedro y Miquelón"
+ },
+ "VC": {
+ "name": "San Vicente y las Granadinas"
+ },
+ "SH": {
+ "name": "Santa Elena"
+ },
+ "LC": {
+ "name": "Santa Lucía"
+ },
+ "ST": {
+ "name": "Santo Tomé y Príncipe"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leona"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Siria"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "SZ": {
+ "name": "Suazilandia"
+ },
+ "ZA": {
+ "name": "Sudáfrica"
+ },
+ "SD": {
+ "name": "Sudán"
+ },
+ "SS": {
+ "name": "Sudán del Sur"
+ },
+ "SE": {
+ "name": "Suecia"
+ },
+ "CH": {
+ "name": "Suiza"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SJ": {
+ "name": "Svalbard y Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailandia"
+ },
+ "TW": {
+ "name": "Taiwán"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TJ": {
+ "name": "Tayikistán"
+ },
+ "IO": {
+ "name": "Territorio Británico del Océano Índico"
+ },
+ "TF": {
+ "name": "Territorios Australes Franceses"
+ },
+ "PS": {
+ "name": "Territorios Palestinos"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad y Tobago"
+ },
+ "TA": {
+ "name": "Tristán de Acuña"
+ },
+ "TN": {
+ "name": "Túnez"
+ },
+ "TM": {
+ "name": "Turkmenistán"
+ },
+ "TR": {
+ "name": "Turquía"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UA": {
+ "name": "Ucrania"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbekistán"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis y Futuna"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "DJ": {
+ "name": "Yibuti"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabue"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/es-EC.json b/vendor/commerceguys/intl/resources/country/es-EC.json
new file mode 100644
index 000000000..e94300461
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/es-EC.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afganistán"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DE": {
+ "name": "Alemania"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguila"
+ },
+ "AQ": {
+ "name": "Antártida"
+ },
+ "AG": {
+ "name": "Antigua y Barbuda"
+ },
+ "SA": {
+ "name": "Arabia Saudí"
+ },
+ "DZ": {
+ "name": "Argelia"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "AZ": {
+ "name": "Azerbaiyán"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BD": {
+ "name": "Bangladés"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BH": {
+ "name": "Baréin"
+ },
+ "BE": {
+ "name": "Bélgica"
+ },
+ "BZ": {
+ "name": "Belice"
+ },
+ "BJ": {
+ "name": "Benín"
+ },
+ "BM": {
+ "name": "Bermudas"
+ },
+ "BY": {
+ "name": "Bielorrusia"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia y Herzegovina"
+ },
+ "BW": {
+ "name": "Botsuana"
+ },
+ "BR": {
+ "name": "Brasil"
+ },
+ "BN": {
+ "name": "Brunéi"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Bután"
+ },
+ "CV": {
+ "name": "Cabo Verde"
+ },
+ "KH": {
+ "name": "Camboya"
+ },
+ "CM": {
+ "name": "Camerún"
+ },
+ "CA": {
+ "name": "Canadá"
+ },
+ "BQ": {
+ "name": "Caribe neerlandés"
+ },
+ "QA": {
+ "name": "Catar"
+ },
+ "EA": {
+ "name": "Ceuta y Melilla"
+ },
+ "TD": {
+ "name": "Chad"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CY": {
+ "name": "Chipre"
+ },
+ "VA": {
+ "name": "Ciudad del Vaticano"
+ },
+ "CO": {
+ "name": "Colombia"
+ },
+ "KM": {
+ "name": "Comoras"
+ },
+ "KP": {
+ "name": "Corea del Norte"
+ },
+ "KR": {
+ "name": "Corea del Sur"
+ },
+ "CI": {
+ "name": "Costa de Marfil"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "HR": {
+ "name": "Croacia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curazao"
+ },
+ "DG": {
+ "name": "Diego García"
+ },
+ "DK": {
+ "name": "Dinamarca"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egipto"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "AE": {
+ "name": "Emiratos Árabes Unidos"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "SK": {
+ "name": "Eslovaquia"
+ },
+ "SI": {
+ "name": "Eslovenia"
+ },
+ "ES": {
+ "name": "España"
+ },
+ "US": {
+ "name": "Estados Unidos"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Etiopía"
+ },
+ "PH": {
+ "name": "Filipinas"
+ },
+ "FI": {
+ "name": "Finlandia"
+ },
+ "FJ": {
+ "name": "Fiyi"
+ },
+ "FR": {
+ "name": "Francia"
+ },
+ "GA": {
+ "name": "Gabón"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Granada"
+ },
+ "GR": {
+ "name": "Grecia"
+ },
+ "GL": {
+ "name": "Groenlandia"
+ },
+ "GP": {
+ "name": "Guadalupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GF": {
+ "name": "Guayana Francesa"
+ },
+ "GG": {
+ "name": "Guernesey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GQ": {
+ "name": "Guinea Ecuatorial"
+ },
+ "GW": {
+ "name": "Guinea-Bisáu"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haití"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HU": {
+ "name": "Hungría"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Irán"
+ },
+ "IE": {
+ "name": "Irlanda"
+ },
+ "AC": {
+ "name": "Isla de la Ascensión"
+ },
+ "IM": {
+ "name": "Isla de Man"
+ },
+ "CX": {
+ "name": "Isla de Navidad"
+ },
+ "NF": {
+ "name": "Isla Norfolk"
+ },
+ "IS": {
+ "name": "Islandia"
+ },
+ "AX": {
+ "name": "Islas Åland"
+ },
+ "KY": {
+ "name": "Islas Caimán"
+ },
+ "IC": {
+ "name": "Islas Canarias"
+ },
+ "CC": {
+ "name": "Islas Cocos"
+ },
+ "CK": {
+ "name": "Islas Cook"
+ },
+ "FO": {
+ "name": "Islas Feroe"
+ },
+ "GS": {
+ "name": "Islas Georgia del Sur y Sandwich del Sur"
+ },
+ "FK": {
+ "name": "Islas Malvinas"
+ },
+ "MP": {
+ "name": "Islas Marianas del Norte"
+ },
+ "MH": {
+ "name": "Islas Marshall"
+ },
+ "UM": {
+ "name": "Islas menores alejadas de EE. UU."
+ },
+ "PN": {
+ "name": "Islas Pitcairn"
+ },
+ "SB": {
+ "name": "Islas Salomón"
+ },
+ "TC": {
+ "name": "Islas Turcas y Caicos"
+ },
+ "VG": {
+ "name": "Islas Vírgenes Británicas"
+ },
+ "VI": {
+ "name": "Islas Vírgenes de EE. UU."
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japón"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordania"
+ },
+ "KZ": {
+ "name": "Kazajistán"
+ },
+ "KE": {
+ "name": "Kenia"
+ },
+ "KG": {
+ "name": "Kirguistán"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LV": {
+ "name": "Letonia"
+ },
+ "LB": {
+ "name": "Líbano"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libia"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lituania"
+ },
+ "LU": {
+ "name": "Luxemburgo"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MY": {
+ "name": "Malasia"
+ },
+ "MW": {
+ "name": "Malaui"
+ },
+ "MV": {
+ "name": "Maldivas"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marruecos"
+ },
+ "MQ": {
+ "name": "Martinica"
+ },
+ "MU": {
+ "name": "Mauricio"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "México"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldavia"
+ },
+ "MC": {
+ "name": "Mónaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar (Birmania)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Níger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Noruega"
+ },
+ "NC": {
+ "name": "Nueva Caledonia"
+ },
+ "NZ": {
+ "name": "Nueva Zelanda"
+ },
+ "OM": {
+ "name": "Omán"
+ },
+ "NL": {
+ "name": "Países Bajos"
+ },
+ "PK": {
+ "name": "Pakistán"
+ },
+ "PW": {
+ "name": "Palaos"
+ },
+ "PA": {
+ "name": "Panamá"
+ },
+ "PG": {
+ "name": "Papúa Nueva Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Perú"
+ },
+ "PF": {
+ "name": "Polinesia Francesa"
+ },
+ "PL": {
+ "name": "Polonia"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "HK": {
+ "name": "RAE de Hong Kong (China)"
+ },
+ "MO": {
+ "name": "RAE de Macao (China)"
+ },
+ "GB": {
+ "name": "Reino Unido"
+ },
+ "CF": {
+ "name": "República Centroafricana"
+ },
+ "CZ": {
+ "name": "República Checa"
+ },
+ "CG": {
+ "name": "República del Congo"
+ },
+ "CD": {
+ "name": "República Democrática del Congo"
+ },
+ "DO": {
+ "name": "República Dominicana"
+ },
+ "RE": {
+ "name": "Reunión"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RO": {
+ "name": "Rumanía"
+ },
+ "RU": {
+ "name": "Rusia"
+ },
+ "EH": {
+ "name": "Sáhara Occidental"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa Americana"
+ },
+ "BL": {
+ "name": "San Bartolomé"
+ },
+ "KN": {
+ "name": "San Cristóbal y Nieves"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "MF": {
+ "name": "San Martín"
+ },
+ "PM": {
+ "name": "San Pedro y Miquelón"
+ },
+ "VC": {
+ "name": "San Vicente y las Granadinas"
+ },
+ "SH": {
+ "name": "Santa Elena"
+ },
+ "LC": {
+ "name": "Santa Lucía"
+ },
+ "ST": {
+ "name": "Santo Tomé y Príncipe"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leona"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Siria"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "SZ": {
+ "name": "Suazilandia"
+ },
+ "ZA": {
+ "name": "Sudáfrica"
+ },
+ "SD": {
+ "name": "Sudán"
+ },
+ "SS": {
+ "name": "Sudán del Sur"
+ },
+ "SE": {
+ "name": "Suecia"
+ },
+ "CH": {
+ "name": "Suiza"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SJ": {
+ "name": "Svalbard y Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailandia"
+ },
+ "TW": {
+ "name": "Taiwán"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TJ": {
+ "name": "Tayikistán"
+ },
+ "IO": {
+ "name": "Territorio Británico del Océano Índico"
+ },
+ "TF": {
+ "name": "Territorios Australes Franceses"
+ },
+ "PS": {
+ "name": "Territorios Palestinos"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad y Tobago"
+ },
+ "TA": {
+ "name": "Tristán de Acuña"
+ },
+ "TN": {
+ "name": "Túnez"
+ },
+ "TM": {
+ "name": "Turkmenistán"
+ },
+ "TR": {
+ "name": "Turquía"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UA": {
+ "name": "Ucrania"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbekistán"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis y Futuna"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "DJ": {
+ "name": "Yibuti"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabue"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/es-GT.json b/vendor/commerceguys/intl/resources/country/es-GT.json
new file mode 100644
index 000000000..e94300461
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/es-GT.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afganistán"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DE": {
+ "name": "Alemania"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguila"
+ },
+ "AQ": {
+ "name": "Antártida"
+ },
+ "AG": {
+ "name": "Antigua y Barbuda"
+ },
+ "SA": {
+ "name": "Arabia Saudí"
+ },
+ "DZ": {
+ "name": "Argelia"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "AZ": {
+ "name": "Azerbaiyán"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BD": {
+ "name": "Bangladés"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BH": {
+ "name": "Baréin"
+ },
+ "BE": {
+ "name": "Bélgica"
+ },
+ "BZ": {
+ "name": "Belice"
+ },
+ "BJ": {
+ "name": "Benín"
+ },
+ "BM": {
+ "name": "Bermudas"
+ },
+ "BY": {
+ "name": "Bielorrusia"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia y Herzegovina"
+ },
+ "BW": {
+ "name": "Botsuana"
+ },
+ "BR": {
+ "name": "Brasil"
+ },
+ "BN": {
+ "name": "Brunéi"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Bután"
+ },
+ "CV": {
+ "name": "Cabo Verde"
+ },
+ "KH": {
+ "name": "Camboya"
+ },
+ "CM": {
+ "name": "Camerún"
+ },
+ "CA": {
+ "name": "Canadá"
+ },
+ "BQ": {
+ "name": "Caribe neerlandés"
+ },
+ "QA": {
+ "name": "Catar"
+ },
+ "EA": {
+ "name": "Ceuta y Melilla"
+ },
+ "TD": {
+ "name": "Chad"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CY": {
+ "name": "Chipre"
+ },
+ "VA": {
+ "name": "Ciudad del Vaticano"
+ },
+ "CO": {
+ "name": "Colombia"
+ },
+ "KM": {
+ "name": "Comoras"
+ },
+ "KP": {
+ "name": "Corea del Norte"
+ },
+ "KR": {
+ "name": "Corea del Sur"
+ },
+ "CI": {
+ "name": "Costa de Marfil"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "HR": {
+ "name": "Croacia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curazao"
+ },
+ "DG": {
+ "name": "Diego García"
+ },
+ "DK": {
+ "name": "Dinamarca"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egipto"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "AE": {
+ "name": "Emiratos Árabes Unidos"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "SK": {
+ "name": "Eslovaquia"
+ },
+ "SI": {
+ "name": "Eslovenia"
+ },
+ "ES": {
+ "name": "España"
+ },
+ "US": {
+ "name": "Estados Unidos"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Etiopía"
+ },
+ "PH": {
+ "name": "Filipinas"
+ },
+ "FI": {
+ "name": "Finlandia"
+ },
+ "FJ": {
+ "name": "Fiyi"
+ },
+ "FR": {
+ "name": "Francia"
+ },
+ "GA": {
+ "name": "Gabón"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Granada"
+ },
+ "GR": {
+ "name": "Grecia"
+ },
+ "GL": {
+ "name": "Groenlandia"
+ },
+ "GP": {
+ "name": "Guadalupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GF": {
+ "name": "Guayana Francesa"
+ },
+ "GG": {
+ "name": "Guernesey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GQ": {
+ "name": "Guinea Ecuatorial"
+ },
+ "GW": {
+ "name": "Guinea-Bisáu"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haití"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HU": {
+ "name": "Hungría"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Irán"
+ },
+ "IE": {
+ "name": "Irlanda"
+ },
+ "AC": {
+ "name": "Isla de la Ascensión"
+ },
+ "IM": {
+ "name": "Isla de Man"
+ },
+ "CX": {
+ "name": "Isla de Navidad"
+ },
+ "NF": {
+ "name": "Isla Norfolk"
+ },
+ "IS": {
+ "name": "Islandia"
+ },
+ "AX": {
+ "name": "Islas Åland"
+ },
+ "KY": {
+ "name": "Islas Caimán"
+ },
+ "IC": {
+ "name": "Islas Canarias"
+ },
+ "CC": {
+ "name": "Islas Cocos"
+ },
+ "CK": {
+ "name": "Islas Cook"
+ },
+ "FO": {
+ "name": "Islas Feroe"
+ },
+ "GS": {
+ "name": "Islas Georgia del Sur y Sandwich del Sur"
+ },
+ "FK": {
+ "name": "Islas Malvinas"
+ },
+ "MP": {
+ "name": "Islas Marianas del Norte"
+ },
+ "MH": {
+ "name": "Islas Marshall"
+ },
+ "UM": {
+ "name": "Islas menores alejadas de EE. UU."
+ },
+ "PN": {
+ "name": "Islas Pitcairn"
+ },
+ "SB": {
+ "name": "Islas Salomón"
+ },
+ "TC": {
+ "name": "Islas Turcas y Caicos"
+ },
+ "VG": {
+ "name": "Islas Vírgenes Británicas"
+ },
+ "VI": {
+ "name": "Islas Vírgenes de EE. UU."
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japón"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordania"
+ },
+ "KZ": {
+ "name": "Kazajistán"
+ },
+ "KE": {
+ "name": "Kenia"
+ },
+ "KG": {
+ "name": "Kirguistán"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LV": {
+ "name": "Letonia"
+ },
+ "LB": {
+ "name": "Líbano"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libia"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lituania"
+ },
+ "LU": {
+ "name": "Luxemburgo"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MY": {
+ "name": "Malasia"
+ },
+ "MW": {
+ "name": "Malaui"
+ },
+ "MV": {
+ "name": "Maldivas"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marruecos"
+ },
+ "MQ": {
+ "name": "Martinica"
+ },
+ "MU": {
+ "name": "Mauricio"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "México"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldavia"
+ },
+ "MC": {
+ "name": "Mónaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar (Birmania)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Níger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Noruega"
+ },
+ "NC": {
+ "name": "Nueva Caledonia"
+ },
+ "NZ": {
+ "name": "Nueva Zelanda"
+ },
+ "OM": {
+ "name": "Omán"
+ },
+ "NL": {
+ "name": "Países Bajos"
+ },
+ "PK": {
+ "name": "Pakistán"
+ },
+ "PW": {
+ "name": "Palaos"
+ },
+ "PA": {
+ "name": "Panamá"
+ },
+ "PG": {
+ "name": "Papúa Nueva Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Perú"
+ },
+ "PF": {
+ "name": "Polinesia Francesa"
+ },
+ "PL": {
+ "name": "Polonia"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "HK": {
+ "name": "RAE de Hong Kong (China)"
+ },
+ "MO": {
+ "name": "RAE de Macao (China)"
+ },
+ "GB": {
+ "name": "Reino Unido"
+ },
+ "CF": {
+ "name": "República Centroafricana"
+ },
+ "CZ": {
+ "name": "República Checa"
+ },
+ "CG": {
+ "name": "República del Congo"
+ },
+ "CD": {
+ "name": "República Democrática del Congo"
+ },
+ "DO": {
+ "name": "República Dominicana"
+ },
+ "RE": {
+ "name": "Reunión"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RO": {
+ "name": "Rumanía"
+ },
+ "RU": {
+ "name": "Rusia"
+ },
+ "EH": {
+ "name": "Sáhara Occidental"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa Americana"
+ },
+ "BL": {
+ "name": "San Bartolomé"
+ },
+ "KN": {
+ "name": "San Cristóbal y Nieves"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "MF": {
+ "name": "San Martín"
+ },
+ "PM": {
+ "name": "San Pedro y Miquelón"
+ },
+ "VC": {
+ "name": "San Vicente y las Granadinas"
+ },
+ "SH": {
+ "name": "Santa Elena"
+ },
+ "LC": {
+ "name": "Santa Lucía"
+ },
+ "ST": {
+ "name": "Santo Tomé y Príncipe"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leona"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Siria"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "SZ": {
+ "name": "Suazilandia"
+ },
+ "ZA": {
+ "name": "Sudáfrica"
+ },
+ "SD": {
+ "name": "Sudán"
+ },
+ "SS": {
+ "name": "Sudán del Sur"
+ },
+ "SE": {
+ "name": "Suecia"
+ },
+ "CH": {
+ "name": "Suiza"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SJ": {
+ "name": "Svalbard y Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailandia"
+ },
+ "TW": {
+ "name": "Taiwán"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TJ": {
+ "name": "Tayikistán"
+ },
+ "IO": {
+ "name": "Territorio Británico del Océano Índico"
+ },
+ "TF": {
+ "name": "Territorios Australes Franceses"
+ },
+ "PS": {
+ "name": "Territorios Palestinos"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad y Tobago"
+ },
+ "TA": {
+ "name": "Tristán de Acuña"
+ },
+ "TN": {
+ "name": "Túnez"
+ },
+ "TM": {
+ "name": "Turkmenistán"
+ },
+ "TR": {
+ "name": "Turquía"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UA": {
+ "name": "Ucrania"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbekistán"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis y Futuna"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "DJ": {
+ "name": "Yibuti"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabue"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/es-HN.json b/vendor/commerceguys/intl/resources/country/es-HN.json
new file mode 100644
index 000000000..e94300461
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/es-HN.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afganistán"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DE": {
+ "name": "Alemania"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguila"
+ },
+ "AQ": {
+ "name": "Antártida"
+ },
+ "AG": {
+ "name": "Antigua y Barbuda"
+ },
+ "SA": {
+ "name": "Arabia Saudí"
+ },
+ "DZ": {
+ "name": "Argelia"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "AZ": {
+ "name": "Azerbaiyán"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BD": {
+ "name": "Bangladés"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BH": {
+ "name": "Baréin"
+ },
+ "BE": {
+ "name": "Bélgica"
+ },
+ "BZ": {
+ "name": "Belice"
+ },
+ "BJ": {
+ "name": "Benín"
+ },
+ "BM": {
+ "name": "Bermudas"
+ },
+ "BY": {
+ "name": "Bielorrusia"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia y Herzegovina"
+ },
+ "BW": {
+ "name": "Botsuana"
+ },
+ "BR": {
+ "name": "Brasil"
+ },
+ "BN": {
+ "name": "Brunéi"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Bután"
+ },
+ "CV": {
+ "name": "Cabo Verde"
+ },
+ "KH": {
+ "name": "Camboya"
+ },
+ "CM": {
+ "name": "Camerún"
+ },
+ "CA": {
+ "name": "Canadá"
+ },
+ "BQ": {
+ "name": "Caribe neerlandés"
+ },
+ "QA": {
+ "name": "Catar"
+ },
+ "EA": {
+ "name": "Ceuta y Melilla"
+ },
+ "TD": {
+ "name": "Chad"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CY": {
+ "name": "Chipre"
+ },
+ "VA": {
+ "name": "Ciudad del Vaticano"
+ },
+ "CO": {
+ "name": "Colombia"
+ },
+ "KM": {
+ "name": "Comoras"
+ },
+ "KP": {
+ "name": "Corea del Norte"
+ },
+ "KR": {
+ "name": "Corea del Sur"
+ },
+ "CI": {
+ "name": "Costa de Marfil"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "HR": {
+ "name": "Croacia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curazao"
+ },
+ "DG": {
+ "name": "Diego García"
+ },
+ "DK": {
+ "name": "Dinamarca"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egipto"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "AE": {
+ "name": "Emiratos Árabes Unidos"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "SK": {
+ "name": "Eslovaquia"
+ },
+ "SI": {
+ "name": "Eslovenia"
+ },
+ "ES": {
+ "name": "España"
+ },
+ "US": {
+ "name": "Estados Unidos"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Etiopía"
+ },
+ "PH": {
+ "name": "Filipinas"
+ },
+ "FI": {
+ "name": "Finlandia"
+ },
+ "FJ": {
+ "name": "Fiyi"
+ },
+ "FR": {
+ "name": "Francia"
+ },
+ "GA": {
+ "name": "Gabón"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Granada"
+ },
+ "GR": {
+ "name": "Grecia"
+ },
+ "GL": {
+ "name": "Groenlandia"
+ },
+ "GP": {
+ "name": "Guadalupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GF": {
+ "name": "Guayana Francesa"
+ },
+ "GG": {
+ "name": "Guernesey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GQ": {
+ "name": "Guinea Ecuatorial"
+ },
+ "GW": {
+ "name": "Guinea-Bisáu"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haití"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HU": {
+ "name": "Hungría"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Irán"
+ },
+ "IE": {
+ "name": "Irlanda"
+ },
+ "AC": {
+ "name": "Isla de la Ascensión"
+ },
+ "IM": {
+ "name": "Isla de Man"
+ },
+ "CX": {
+ "name": "Isla de Navidad"
+ },
+ "NF": {
+ "name": "Isla Norfolk"
+ },
+ "IS": {
+ "name": "Islandia"
+ },
+ "AX": {
+ "name": "Islas Åland"
+ },
+ "KY": {
+ "name": "Islas Caimán"
+ },
+ "IC": {
+ "name": "Islas Canarias"
+ },
+ "CC": {
+ "name": "Islas Cocos"
+ },
+ "CK": {
+ "name": "Islas Cook"
+ },
+ "FO": {
+ "name": "Islas Feroe"
+ },
+ "GS": {
+ "name": "Islas Georgia del Sur y Sandwich del Sur"
+ },
+ "FK": {
+ "name": "Islas Malvinas"
+ },
+ "MP": {
+ "name": "Islas Marianas del Norte"
+ },
+ "MH": {
+ "name": "Islas Marshall"
+ },
+ "UM": {
+ "name": "Islas menores alejadas de EE. UU."
+ },
+ "PN": {
+ "name": "Islas Pitcairn"
+ },
+ "SB": {
+ "name": "Islas Salomón"
+ },
+ "TC": {
+ "name": "Islas Turcas y Caicos"
+ },
+ "VG": {
+ "name": "Islas Vírgenes Británicas"
+ },
+ "VI": {
+ "name": "Islas Vírgenes de EE. UU."
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japón"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordania"
+ },
+ "KZ": {
+ "name": "Kazajistán"
+ },
+ "KE": {
+ "name": "Kenia"
+ },
+ "KG": {
+ "name": "Kirguistán"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LV": {
+ "name": "Letonia"
+ },
+ "LB": {
+ "name": "Líbano"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libia"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lituania"
+ },
+ "LU": {
+ "name": "Luxemburgo"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MY": {
+ "name": "Malasia"
+ },
+ "MW": {
+ "name": "Malaui"
+ },
+ "MV": {
+ "name": "Maldivas"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marruecos"
+ },
+ "MQ": {
+ "name": "Martinica"
+ },
+ "MU": {
+ "name": "Mauricio"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "México"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldavia"
+ },
+ "MC": {
+ "name": "Mónaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar (Birmania)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Níger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Noruega"
+ },
+ "NC": {
+ "name": "Nueva Caledonia"
+ },
+ "NZ": {
+ "name": "Nueva Zelanda"
+ },
+ "OM": {
+ "name": "Omán"
+ },
+ "NL": {
+ "name": "Países Bajos"
+ },
+ "PK": {
+ "name": "Pakistán"
+ },
+ "PW": {
+ "name": "Palaos"
+ },
+ "PA": {
+ "name": "Panamá"
+ },
+ "PG": {
+ "name": "Papúa Nueva Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Perú"
+ },
+ "PF": {
+ "name": "Polinesia Francesa"
+ },
+ "PL": {
+ "name": "Polonia"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "HK": {
+ "name": "RAE de Hong Kong (China)"
+ },
+ "MO": {
+ "name": "RAE de Macao (China)"
+ },
+ "GB": {
+ "name": "Reino Unido"
+ },
+ "CF": {
+ "name": "República Centroafricana"
+ },
+ "CZ": {
+ "name": "República Checa"
+ },
+ "CG": {
+ "name": "República del Congo"
+ },
+ "CD": {
+ "name": "República Democrática del Congo"
+ },
+ "DO": {
+ "name": "República Dominicana"
+ },
+ "RE": {
+ "name": "Reunión"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RO": {
+ "name": "Rumanía"
+ },
+ "RU": {
+ "name": "Rusia"
+ },
+ "EH": {
+ "name": "Sáhara Occidental"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa Americana"
+ },
+ "BL": {
+ "name": "San Bartolomé"
+ },
+ "KN": {
+ "name": "San Cristóbal y Nieves"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "MF": {
+ "name": "San Martín"
+ },
+ "PM": {
+ "name": "San Pedro y Miquelón"
+ },
+ "VC": {
+ "name": "San Vicente y las Granadinas"
+ },
+ "SH": {
+ "name": "Santa Elena"
+ },
+ "LC": {
+ "name": "Santa Lucía"
+ },
+ "ST": {
+ "name": "Santo Tomé y Príncipe"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leona"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Siria"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "SZ": {
+ "name": "Suazilandia"
+ },
+ "ZA": {
+ "name": "Sudáfrica"
+ },
+ "SD": {
+ "name": "Sudán"
+ },
+ "SS": {
+ "name": "Sudán del Sur"
+ },
+ "SE": {
+ "name": "Suecia"
+ },
+ "CH": {
+ "name": "Suiza"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SJ": {
+ "name": "Svalbard y Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailandia"
+ },
+ "TW": {
+ "name": "Taiwán"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TJ": {
+ "name": "Tayikistán"
+ },
+ "IO": {
+ "name": "Territorio Británico del Océano Índico"
+ },
+ "TF": {
+ "name": "Territorios Australes Franceses"
+ },
+ "PS": {
+ "name": "Territorios Palestinos"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad y Tobago"
+ },
+ "TA": {
+ "name": "Tristán de Acuña"
+ },
+ "TN": {
+ "name": "Túnez"
+ },
+ "TM": {
+ "name": "Turkmenistán"
+ },
+ "TR": {
+ "name": "Turquía"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UA": {
+ "name": "Ucrania"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbekistán"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis y Futuna"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "DJ": {
+ "name": "Yibuti"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabue"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/es-MX.json b/vendor/commerceguys/intl/resources/country/es-MX.json
new file mode 100644
index 000000000..6b1dc0e7d
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/es-MX.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afganistán"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DE": {
+ "name": "Alemania"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguila"
+ },
+ "AQ": {
+ "name": "Antártida"
+ },
+ "AG": {
+ "name": "Antigua y Barbuda"
+ },
+ "SA": {
+ "name": "Arabia Saudí"
+ },
+ "DZ": {
+ "name": "Argelia"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "AZ": {
+ "name": "Azerbaiyán"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BD": {
+ "name": "Bangladés"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BH": {
+ "name": "Baréin"
+ },
+ "BE": {
+ "name": "Bélgica"
+ },
+ "BZ": {
+ "name": "Belice"
+ },
+ "BJ": {
+ "name": "Benín"
+ },
+ "BM": {
+ "name": "Bermudas"
+ },
+ "BY": {
+ "name": "Bielorrusia"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia y Herzegovina"
+ },
+ "BW": {
+ "name": "Botsuana"
+ },
+ "BR": {
+ "name": "Brasil"
+ },
+ "BN": {
+ "name": "Brunéi"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Bután"
+ },
+ "CV": {
+ "name": "Cabo Verde"
+ },
+ "KH": {
+ "name": "Camboya"
+ },
+ "CM": {
+ "name": "Camerún"
+ },
+ "CA": {
+ "name": "Canadá"
+ },
+ "BQ": {
+ "name": "Caribe neerlandés"
+ },
+ "QA": {
+ "name": "Catar"
+ },
+ "EA": {
+ "name": "Ceuta y Melilla"
+ },
+ "TD": {
+ "name": "Chad"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CY": {
+ "name": "Chipre"
+ },
+ "VA": {
+ "name": "Ciudad del Vaticano"
+ },
+ "CO": {
+ "name": "Colombia"
+ },
+ "KM": {
+ "name": "Comoras"
+ },
+ "KP": {
+ "name": "Corea del Norte"
+ },
+ "KR": {
+ "name": "Corea del Sur"
+ },
+ "CI": {
+ "name": "Costa de Marfil"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "HR": {
+ "name": "Croacia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curazao"
+ },
+ "DG": {
+ "name": "Diego García"
+ },
+ "DK": {
+ "name": "Dinamarca"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egipto"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "AE": {
+ "name": "Emiratos Árabes Unidos"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "SK": {
+ "name": "Eslovaquia"
+ },
+ "SI": {
+ "name": "Eslovenia"
+ },
+ "ES": {
+ "name": "España"
+ },
+ "US": {
+ "name": "Estados Unidos"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Etiopía"
+ },
+ "PH": {
+ "name": "Filipinas"
+ },
+ "FI": {
+ "name": "Finlandia"
+ },
+ "FJ": {
+ "name": "Fiyi"
+ },
+ "FR": {
+ "name": "Francia"
+ },
+ "GA": {
+ "name": "Gabón"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Granada"
+ },
+ "GR": {
+ "name": "Grecia"
+ },
+ "GL": {
+ "name": "Groenlandia"
+ },
+ "GP": {
+ "name": "Guadalupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GF": {
+ "name": "Guayana Francesa"
+ },
+ "GG": {
+ "name": "Guernesey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GQ": {
+ "name": "Guinea Ecuatorial"
+ },
+ "GW": {
+ "name": "Guinea-Bisáu"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haití"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HU": {
+ "name": "Hungría"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Irán"
+ },
+ "IE": {
+ "name": "Irlanda"
+ },
+ "AC": {
+ "name": "Isla de la Ascensión"
+ },
+ "IM": {
+ "name": "Isla de Man"
+ },
+ "CX": {
+ "name": "Isla de Navidad"
+ },
+ "NF": {
+ "name": "Isla Norfolk"
+ },
+ "IS": {
+ "name": "Islandia"
+ },
+ "AX": {
+ "name": "Islas Åland"
+ },
+ "KY": {
+ "name": "Islas Caimán"
+ },
+ "IC": {
+ "name": "Islas Canarias"
+ },
+ "CC": {
+ "name": "Islas Cocos"
+ },
+ "CK": {
+ "name": "Islas Cook"
+ },
+ "FO": {
+ "name": "Islas Feroe"
+ },
+ "GS": {
+ "name": "Islas Georgia del Sur y Sandwich del Sur"
+ },
+ "FK": {
+ "name": "Islas Malvinas"
+ },
+ "MP": {
+ "name": "Islas Marianas del Norte"
+ },
+ "MH": {
+ "name": "Islas Marshall"
+ },
+ "PN": {
+ "name": "Islas Pitcairn"
+ },
+ "SB": {
+ "name": "Islas Salomón"
+ },
+ "TC": {
+ "name": "Islas Turcas y Caicos"
+ },
+ "UM": {
+ "name": "Islas Ultramarinas Menores de Estados Unidos"
+ },
+ "VG": {
+ "name": "Islas Vírgenes Británicas"
+ },
+ "VI": {
+ "name": "Islas Vírgenes de EE. UU."
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japón"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordania"
+ },
+ "KZ": {
+ "name": "Kazajistán"
+ },
+ "KE": {
+ "name": "Kenia"
+ },
+ "KG": {
+ "name": "Kirguistán"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LV": {
+ "name": "Letonia"
+ },
+ "LB": {
+ "name": "Líbano"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libia"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lituania"
+ },
+ "LU": {
+ "name": "Luxemburgo"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MY": {
+ "name": "Malasia"
+ },
+ "MW": {
+ "name": "Malaui"
+ },
+ "MV": {
+ "name": "Maldivas"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marruecos"
+ },
+ "MQ": {
+ "name": "Martinica"
+ },
+ "MU": {
+ "name": "Mauricio"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "México"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldavia"
+ },
+ "MC": {
+ "name": "Mónaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar (Birmania)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Níger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Noruega"
+ },
+ "NC": {
+ "name": "Nueva Caledonia"
+ },
+ "NZ": {
+ "name": "Nueva Zelanda"
+ },
+ "OM": {
+ "name": "Omán"
+ },
+ "NL": {
+ "name": "Países Bajos"
+ },
+ "PK": {
+ "name": "Pakistán"
+ },
+ "PW": {
+ "name": "Palaos"
+ },
+ "PA": {
+ "name": "Panamá"
+ },
+ "PG": {
+ "name": "Papúa Nueva Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Perú"
+ },
+ "PF": {
+ "name": "Polinesia Francesa"
+ },
+ "PL": {
+ "name": "Polonia"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "HK": {
+ "name": "RAE de Hong Kong (China)"
+ },
+ "MO": {
+ "name": "RAE de Macao (China)"
+ },
+ "GB": {
+ "name": "Reino Unido"
+ },
+ "CF": {
+ "name": "República Centroafricana"
+ },
+ "CZ": {
+ "name": "República Checa"
+ },
+ "CG": {
+ "name": "República del Congo"
+ },
+ "CD": {
+ "name": "República Democrática del Congo"
+ },
+ "DO": {
+ "name": "República Dominicana"
+ },
+ "RE": {
+ "name": "Reunión"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RO": {
+ "name": "Rumanía"
+ },
+ "RU": {
+ "name": "Rusia"
+ },
+ "EH": {
+ "name": "Sáhara Occidental"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa Americana"
+ },
+ "BL": {
+ "name": "San Bartolomé"
+ },
+ "KN": {
+ "name": "San Cristóbal y Nieves"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "MF": {
+ "name": "San Martín"
+ },
+ "PM": {
+ "name": "San Pedro y Miquelón"
+ },
+ "VC": {
+ "name": "San Vicente y las Granadinas"
+ },
+ "SH": {
+ "name": "Santa Elena"
+ },
+ "LC": {
+ "name": "Santa Lucía"
+ },
+ "ST": {
+ "name": "Santo Tomé y Príncipe"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leona"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Siria"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "SZ": {
+ "name": "Suazilandia"
+ },
+ "ZA": {
+ "name": "Sudáfrica"
+ },
+ "SD": {
+ "name": "Sudán"
+ },
+ "SS": {
+ "name": "Sudán del Sur"
+ },
+ "SE": {
+ "name": "Suecia"
+ },
+ "CH": {
+ "name": "Suiza"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SJ": {
+ "name": "Svalbard y Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailandia"
+ },
+ "TW": {
+ "name": "Taiwán"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TJ": {
+ "name": "Tayikistán"
+ },
+ "IO": {
+ "name": "Territorio Británico del Océano Índico"
+ },
+ "TF": {
+ "name": "Territorios Australes Franceses"
+ },
+ "PS": {
+ "name": "Territorios Palestinos"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad y Tobago"
+ },
+ "TA": {
+ "name": "Tristán de Acuña"
+ },
+ "TN": {
+ "name": "Túnez"
+ },
+ "TM": {
+ "name": "Turkmenistán"
+ },
+ "TR": {
+ "name": "Turquía"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UA": {
+ "name": "Ucrania"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbekistán"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis y Futuna"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "DJ": {
+ "name": "Yibuti"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabue"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/es-NI.json b/vendor/commerceguys/intl/resources/country/es-NI.json
new file mode 100644
index 000000000..e94300461
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/es-NI.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afganistán"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DE": {
+ "name": "Alemania"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguila"
+ },
+ "AQ": {
+ "name": "Antártida"
+ },
+ "AG": {
+ "name": "Antigua y Barbuda"
+ },
+ "SA": {
+ "name": "Arabia Saudí"
+ },
+ "DZ": {
+ "name": "Argelia"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "AZ": {
+ "name": "Azerbaiyán"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BD": {
+ "name": "Bangladés"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BH": {
+ "name": "Baréin"
+ },
+ "BE": {
+ "name": "Bélgica"
+ },
+ "BZ": {
+ "name": "Belice"
+ },
+ "BJ": {
+ "name": "Benín"
+ },
+ "BM": {
+ "name": "Bermudas"
+ },
+ "BY": {
+ "name": "Bielorrusia"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia y Herzegovina"
+ },
+ "BW": {
+ "name": "Botsuana"
+ },
+ "BR": {
+ "name": "Brasil"
+ },
+ "BN": {
+ "name": "Brunéi"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Bután"
+ },
+ "CV": {
+ "name": "Cabo Verde"
+ },
+ "KH": {
+ "name": "Camboya"
+ },
+ "CM": {
+ "name": "Camerún"
+ },
+ "CA": {
+ "name": "Canadá"
+ },
+ "BQ": {
+ "name": "Caribe neerlandés"
+ },
+ "QA": {
+ "name": "Catar"
+ },
+ "EA": {
+ "name": "Ceuta y Melilla"
+ },
+ "TD": {
+ "name": "Chad"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CY": {
+ "name": "Chipre"
+ },
+ "VA": {
+ "name": "Ciudad del Vaticano"
+ },
+ "CO": {
+ "name": "Colombia"
+ },
+ "KM": {
+ "name": "Comoras"
+ },
+ "KP": {
+ "name": "Corea del Norte"
+ },
+ "KR": {
+ "name": "Corea del Sur"
+ },
+ "CI": {
+ "name": "Costa de Marfil"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "HR": {
+ "name": "Croacia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curazao"
+ },
+ "DG": {
+ "name": "Diego García"
+ },
+ "DK": {
+ "name": "Dinamarca"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egipto"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "AE": {
+ "name": "Emiratos Árabes Unidos"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "SK": {
+ "name": "Eslovaquia"
+ },
+ "SI": {
+ "name": "Eslovenia"
+ },
+ "ES": {
+ "name": "España"
+ },
+ "US": {
+ "name": "Estados Unidos"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Etiopía"
+ },
+ "PH": {
+ "name": "Filipinas"
+ },
+ "FI": {
+ "name": "Finlandia"
+ },
+ "FJ": {
+ "name": "Fiyi"
+ },
+ "FR": {
+ "name": "Francia"
+ },
+ "GA": {
+ "name": "Gabón"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Granada"
+ },
+ "GR": {
+ "name": "Grecia"
+ },
+ "GL": {
+ "name": "Groenlandia"
+ },
+ "GP": {
+ "name": "Guadalupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GF": {
+ "name": "Guayana Francesa"
+ },
+ "GG": {
+ "name": "Guernesey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GQ": {
+ "name": "Guinea Ecuatorial"
+ },
+ "GW": {
+ "name": "Guinea-Bisáu"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haití"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HU": {
+ "name": "Hungría"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Irán"
+ },
+ "IE": {
+ "name": "Irlanda"
+ },
+ "AC": {
+ "name": "Isla de la Ascensión"
+ },
+ "IM": {
+ "name": "Isla de Man"
+ },
+ "CX": {
+ "name": "Isla de Navidad"
+ },
+ "NF": {
+ "name": "Isla Norfolk"
+ },
+ "IS": {
+ "name": "Islandia"
+ },
+ "AX": {
+ "name": "Islas Åland"
+ },
+ "KY": {
+ "name": "Islas Caimán"
+ },
+ "IC": {
+ "name": "Islas Canarias"
+ },
+ "CC": {
+ "name": "Islas Cocos"
+ },
+ "CK": {
+ "name": "Islas Cook"
+ },
+ "FO": {
+ "name": "Islas Feroe"
+ },
+ "GS": {
+ "name": "Islas Georgia del Sur y Sandwich del Sur"
+ },
+ "FK": {
+ "name": "Islas Malvinas"
+ },
+ "MP": {
+ "name": "Islas Marianas del Norte"
+ },
+ "MH": {
+ "name": "Islas Marshall"
+ },
+ "UM": {
+ "name": "Islas menores alejadas de EE. UU."
+ },
+ "PN": {
+ "name": "Islas Pitcairn"
+ },
+ "SB": {
+ "name": "Islas Salomón"
+ },
+ "TC": {
+ "name": "Islas Turcas y Caicos"
+ },
+ "VG": {
+ "name": "Islas Vírgenes Británicas"
+ },
+ "VI": {
+ "name": "Islas Vírgenes de EE. UU."
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japón"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordania"
+ },
+ "KZ": {
+ "name": "Kazajistán"
+ },
+ "KE": {
+ "name": "Kenia"
+ },
+ "KG": {
+ "name": "Kirguistán"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LV": {
+ "name": "Letonia"
+ },
+ "LB": {
+ "name": "Líbano"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libia"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lituania"
+ },
+ "LU": {
+ "name": "Luxemburgo"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MY": {
+ "name": "Malasia"
+ },
+ "MW": {
+ "name": "Malaui"
+ },
+ "MV": {
+ "name": "Maldivas"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marruecos"
+ },
+ "MQ": {
+ "name": "Martinica"
+ },
+ "MU": {
+ "name": "Mauricio"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "México"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldavia"
+ },
+ "MC": {
+ "name": "Mónaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar (Birmania)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Níger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Noruega"
+ },
+ "NC": {
+ "name": "Nueva Caledonia"
+ },
+ "NZ": {
+ "name": "Nueva Zelanda"
+ },
+ "OM": {
+ "name": "Omán"
+ },
+ "NL": {
+ "name": "Países Bajos"
+ },
+ "PK": {
+ "name": "Pakistán"
+ },
+ "PW": {
+ "name": "Palaos"
+ },
+ "PA": {
+ "name": "Panamá"
+ },
+ "PG": {
+ "name": "Papúa Nueva Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Perú"
+ },
+ "PF": {
+ "name": "Polinesia Francesa"
+ },
+ "PL": {
+ "name": "Polonia"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "HK": {
+ "name": "RAE de Hong Kong (China)"
+ },
+ "MO": {
+ "name": "RAE de Macao (China)"
+ },
+ "GB": {
+ "name": "Reino Unido"
+ },
+ "CF": {
+ "name": "República Centroafricana"
+ },
+ "CZ": {
+ "name": "República Checa"
+ },
+ "CG": {
+ "name": "República del Congo"
+ },
+ "CD": {
+ "name": "República Democrática del Congo"
+ },
+ "DO": {
+ "name": "República Dominicana"
+ },
+ "RE": {
+ "name": "Reunión"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RO": {
+ "name": "Rumanía"
+ },
+ "RU": {
+ "name": "Rusia"
+ },
+ "EH": {
+ "name": "Sáhara Occidental"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa Americana"
+ },
+ "BL": {
+ "name": "San Bartolomé"
+ },
+ "KN": {
+ "name": "San Cristóbal y Nieves"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "MF": {
+ "name": "San Martín"
+ },
+ "PM": {
+ "name": "San Pedro y Miquelón"
+ },
+ "VC": {
+ "name": "San Vicente y las Granadinas"
+ },
+ "SH": {
+ "name": "Santa Elena"
+ },
+ "LC": {
+ "name": "Santa Lucía"
+ },
+ "ST": {
+ "name": "Santo Tomé y Príncipe"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leona"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Siria"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "SZ": {
+ "name": "Suazilandia"
+ },
+ "ZA": {
+ "name": "Sudáfrica"
+ },
+ "SD": {
+ "name": "Sudán"
+ },
+ "SS": {
+ "name": "Sudán del Sur"
+ },
+ "SE": {
+ "name": "Suecia"
+ },
+ "CH": {
+ "name": "Suiza"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SJ": {
+ "name": "Svalbard y Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailandia"
+ },
+ "TW": {
+ "name": "Taiwán"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TJ": {
+ "name": "Tayikistán"
+ },
+ "IO": {
+ "name": "Territorio Británico del Océano Índico"
+ },
+ "TF": {
+ "name": "Territorios Australes Franceses"
+ },
+ "PS": {
+ "name": "Territorios Palestinos"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad y Tobago"
+ },
+ "TA": {
+ "name": "Tristán de Acuña"
+ },
+ "TN": {
+ "name": "Túnez"
+ },
+ "TM": {
+ "name": "Turkmenistán"
+ },
+ "TR": {
+ "name": "Turquía"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UA": {
+ "name": "Ucrania"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbekistán"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis y Futuna"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "DJ": {
+ "name": "Yibuti"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabue"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/es-PA.json b/vendor/commerceguys/intl/resources/country/es-PA.json
new file mode 100644
index 000000000..e94300461
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/es-PA.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afganistán"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DE": {
+ "name": "Alemania"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguila"
+ },
+ "AQ": {
+ "name": "Antártida"
+ },
+ "AG": {
+ "name": "Antigua y Barbuda"
+ },
+ "SA": {
+ "name": "Arabia Saudí"
+ },
+ "DZ": {
+ "name": "Argelia"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "AZ": {
+ "name": "Azerbaiyán"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BD": {
+ "name": "Bangladés"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BH": {
+ "name": "Baréin"
+ },
+ "BE": {
+ "name": "Bélgica"
+ },
+ "BZ": {
+ "name": "Belice"
+ },
+ "BJ": {
+ "name": "Benín"
+ },
+ "BM": {
+ "name": "Bermudas"
+ },
+ "BY": {
+ "name": "Bielorrusia"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia y Herzegovina"
+ },
+ "BW": {
+ "name": "Botsuana"
+ },
+ "BR": {
+ "name": "Brasil"
+ },
+ "BN": {
+ "name": "Brunéi"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Bután"
+ },
+ "CV": {
+ "name": "Cabo Verde"
+ },
+ "KH": {
+ "name": "Camboya"
+ },
+ "CM": {
+ "name": "Camerún"
+ },
+ "CA": {
+ "name": "Canadá"
+ },
+ "BQ": {
+ "name": "Caribe neerlandés"
+ },
+ "QA": {
+ "name": "Catar"
+ },
+ "EA": {
+ "name": "Ceuta y Melilla"
+ },
+ "TD": {
+ "name": "Chad"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CY": {
+ "name": "Chipre"
+ },
+ "VA": {
+ "name": "Ciudad del Vaticano"
+ },
+ "CO": {
+ "name": "Colombia"
+ },
+ "KM": {
+ "name": "Comoras"
+ },
+ "KP": {
+ "name": "Corea del Norte"
+ },
+ "KR": {
+ "name": "Corea del Sur"
+ },
+ "CI": {
+ "name": "Costa de Marfil"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "HR": {
+ "name": "Croacia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curazao"
+ },
+ "DG": {
+ "name": "Diego García"
+ },
+ "DK": {
+ "name": "Dinamarca"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egipto"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "AE": {
+ "name": "Emiratos Árabes Unidos"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "SK": {
+ "name": "Eslovaquia"
+ },
+ "SI": {
+ "name": "Eslovenia"
+ },
+ "ES": {
+ "name": "España"
+ },
+ "US": {
+ "name": "Estados Unidos"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Etiopía"
+ },
+ "PH": {
+ "name": "Filipinas"
+ },
+ "FI": {
+ "name": "Finlandia"
+ },
+ "FJ": {
+ "name": "Fiyi"
+ },
+ "FR": {
+ "name": "Francia"
+ },
+ "GA": {
+ "name": "Gabón"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Granada"
+ },
+ "GR": {
+ "name": "Grecia"
+ },
+ "GL": {
+ "name": "Groenlandia"
+ },
+ "GP": {
+ "name": "Guadalupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GF": {
+ "name": "Guayana Francesa"
+ },
+ "GG": {
+ "name": "Guernesey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GQ": {
+ "name": "Guinea Ecuatorial"
+ },
+ "GW": {
+ "name": "Guinea-Bisáu"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haití"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HU": {
+ "name": "Hungría"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Irán"
+ },
+ "IE": {
+ "name": "Irlanda"
+ },
+ "AC": {
+ "name": "Isla de la Ascensión"
+ },
+ "IM": {
+ "name": "Isla de Man"
+ },
+ "CX": {
+ "name": "Isla de Navidad"
+ },
+ "NF": {
+ "name": "Isla Norfolk"
+ },
+ "IS": {
+ "name": "Islandia"
+ },
+ "AX": {
+ "name": "Islas Åland"
+ },
+ "KY": {
+ "name": "Islas Caimán"
+ },
+ "IC": {
+ "name": "Islas Canarias"
+ },
+ "CC": {
+ "name": "Islas Cocos"
+ },
+ "CK": {
+ "name": "Islas Cook"
+ },
+ "FO": {
+ "name": "Islas Feroe"
+ },
+ "GS": {
+ "name": "Islas Georgia del Sur y Sandwich del Sur"
+ },
+ "FK": {
+ "name": "Islas Malvinas"
+ },
+ "MP": {
+ "name": "Islas Marianas del Norte"
+ },
+ "MH": {
+ "name": "Islas Marshall"
+ },
+ "UM": {
+ "name": "Islas menores alejadas de EE. UU."
+ },
+ "PN": {
+ "name": "Islas Pitcairn"
+ },
+ "SB": {
+ "name": "Islas Salomón"
+ },
+ "TC": {
+ "name": "Islas Turcas y Caicos"
+ },
+ "VG": {
+ "name": "Islas Vírgenes Británicas"
+ },
+ "VI": {
+ "name": "Islas Vírgenes de EE. UU."
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japón"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordania"
+ },
+ "KZ": {
+ "name": "Kazajistán"
+ },
+ "KE": {
+ "name": "Kenia"
+ },
+ "KG": {
+ "name": "Kirguistán"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LV": {
+ "name": "Letonia"
+ },
+ "LB": {
+ "name": "Líbano"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libia"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lituania"
+ },
+ "LU": {
+ "name": "Luxemburgo"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MY": {
+ "name": "Malasia"
+ },
+ "MW": {
+ "name": "Malaui"
+ },
+ "MV": {
+ "name": "Maldivas"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marruecos"
+ },
+ "MQ": {
+ "name": "Martinica"
+ },
+ "MU": {
+ "name": "Mauricio"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "México"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldavia"
+ },
+ "MC": {
+ "name": "Mónaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar (Birmania)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Níger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Noruega"
+ },
+ "NC": {
+ "name": "Nueva Caledonia"
+ },
+ "NZ": {
+ "name": "Nueva Zelanda"
+ },
+ "OM": {
+ "name": "Omán"
+ },
+ "NL": {
+ "name": "Países Bajos"
+ },
+ "PK": {
+ "name": "Pakistán"
+ },
+ "PW": {
+ "name": "Palaos"
+ },
+ "PA": {
+ "name": "Panamá"
+ },
+ "PG": {
+ "name": "Papúa Nueva Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Perú"
+ },
+ "PF": {
+ "name": "Polinesia Francesa"
+ },
+ "PL": {
+ "name": "Polonia"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "HK": {
+ "name": "RAE de Hong Kong (China)"
+ },
+ "MO": {
+ "name": "RAE de Macao (China)"
+ },
+ "GB": {
+ "name": "Reino Unido"
+ },
+ "CF": {
+ "name": "República Centroafricana"
+ },
+ "CZ": {
+ "name": "República Checa"
+ },
+ "CG": {
+ "name": "República del Congo"
+ },
+ "CD": {
+ "name": "República Democrática del Congo"
+ },
+ "DO": {
+ "name": "República Dominicana"
+ },
+ "RE": {
+ "name": "Reunión"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RO": {
+ "name": "Rumanía"
+ },
+ "RU": {
+ "name": "Rusia"
+ },
+ "EH": {
+ "name": "Sáhara Occidental"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa Americana"
+ },
+ "BL": {
+ "name": "San Bartolomé"
+ },
+ "KN": {
+ "name": "San Cristóbal y Nieves"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "MF": {
+ "name": "San Martín"
+ },
+ "PM": {
+ "name": "San Pedro y Miquelón"
+ },
+ "VC": {
+ "name": "San Vicente y las Granadinas"
+ },
+ "SH": {
+ "name": "Santa Elena"
+ },
+ "LC": {
+ "name": "Santa Lucía"
+ },
+ "ST": {
+ "name": "Santo Tomé y Príncipe"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leona"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Siria"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "SZ": {
+ "name": "Suazilandia"
+ },
+ "ZA": {
+ "name": "Sudáfrica"
+ },
+ "SD": {
+ "name": "Sudán"
+ },
+ "SS": {
+ "name": "Sudán del Sur"
+ },
+ "SE": {
+ "name": "Suecia"
+ },
+ "CH": {
+ "name": "Suiza"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SJ": {
+ "name": "Svalbard y Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailandia"
+ },
+ "TW": {
+ "name": "Taiwán"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TJ": {
+ "name": "Tayikistán"
+ },
+ "IO": {
+ "name": "Territorio Británico del Océano Índico"
+ },
+ "TF": {
+ "name": "Territorios Australes Franceses"
+ },
+ "PS": {
+ "name": "Territorios Palestinos"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad y Tobago"
+ },
+ "TA": {
+ "name": "Tristán de Acuña"
+ },
+ "TN": {
+ "name": "Túnez"
+ },
+ "TM": {
+ "name": "Turkmenistán"
+ },
+ "TR": {
+ "name": "Turquía"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UA": {
+ "name": "Ucrania"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbekistán"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis y Futuna"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "DJ": {
+ "name": "Yibuti"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabue"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/es-PE.json b/vendor/commerceguys/intl/resources/country/es-PE.json
new file mode 100644
index 000000000..e94300461
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/es-PE.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afganistán"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DE": {
+ "name": "Alemania"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguila"
+ },
+ "AQ": {
+ "name": "Antártida"
+ },
+ "AG": {
+ "name": "Antigua y Barbuda"
+ },
+ "SA": {
+ "name": "Arabia Saudí"
+ },
+ "DZ": {
+ "name": "Argelia"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "AZ": {
+ "name": "Azerbaiyán"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BD": {
+ "name": "Bangladés"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BH": {
+ "name": "Baréin"
+ },
+ "BE": {
+ "name": "Bélgica"
+ },
+ "BZ": {
+ "name": "Belice"
+ },
+ "BJ": {
+ "name": "Benín"
+ },
+ "BM": {
+ "name": "Bermudas"
+ },
+ "BY": {
+ "name": "Bielorrusia"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia y Herzegovina"
+ },
+ "BW": {
+ "name": "Botsuana"
+ },
+ "BR": {
+ "name": "Brasil"
+ },
+ "BN": {
+ "name": "Brunéi"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Bután"
+ },
+ "CV": {
+ "name": "Cabo Verde"
+ },
+ "KH": {
+ "name": "Camboya"
+ },
+ "CM": {
+ "name": "Camerún"
+ },
+ "CA": {
+ "name": "Canadá"
+ },
+ "BQ": {
+ "name": "Caribe neerlandés"
+ },
+ "QA": {
+ "name": "Catar"
+ },
+ "EA": {
+ "name": "Ceuta y Melilla"
+ },
+ "TD": {
+ "name": "Chad"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CY": {
+ "name": "Chipre"
+ },
+ "VA": {
+ "name": "Ciudad del Vaticano"
+ },
+ "CO": {
+ "name": "Colombia"
+ },
+ "KM": {
+ "name": "Comoras"
+ },
+ "KP": {
+ "name": "Corea del Norte"
+ },
+ "KR": {
+ "name": "Corea del Sur"
+ },
+ "CI": {
+ "name": "Costa de Marfil"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "HR": {
+ "name": "Croacia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curazao"
+ },
+ "DG": {
+ "name": "Diego García"
+ },
+ "DK": {
+ "name": "Dinamarca"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egipto"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "AE": {
+ "name": "Emiratos Árabes Unidos"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "SK": {
+ "name": "Eslovaquia"
+ },
+ "SI": {
+ "name": "Eslovenia"
+ },
+ "ES": {
+ "name": "España"
+ },
+ "US": {
+ "name": "Estados Unidos"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Etiopía"
+ },
+ "PH": {
+ "name": "Filipinas"
+ },
+ "FI": {
+ "name": "Finlandia"
+ },
+ "FJ": {
+ "name": "Fiyi"
+ },
+ "FR": {
+ "name": "Francia"
+ },
+ "GA": {
+ "name": "Gabón"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Granada"
+ },
+ "GR": {
+ "name": "Grecia"
+ },
+ "GL": {
+ "name": "Groenlandia"
+ },
+ "GP": {
+ "name": "Guadalupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GF": {
+ "name": "Guayana Francesa"
+ },
+ "GG": {
+ "name": "Guernesey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GQ": {
+ "name": "Guinea Ecuatorial"
+ },
+ "GW": {
+ "name": "Guinea-Bisáu"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haití"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HU": {
+ "name": "Hungría"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Irán"
+ },
+ "IE": {
+ "name": "Irlanda"
+ },
+ "AC": {
+ "name": "Isla de la Ascensión"
+ },
+ "IM": {
+ "name": "Isla de Man"
+ },
+ "CX": {
+ "name": "Isla de Navidad"
+ },
+ "NF": {
+ "name": "Isla Norfolk"
+ },
+ "IS": {
+ "name": "Islandia"
+ },
+ "AX": {
+ "name": "Islas Åland"
+ },
+ "KY": {
+ "name": "Islas Caimán"
+ },
+ "IC": {
+ "name": "Islas Canarias"
+ },
+ "CC": {
+ "name": "Islas Cocos"
+ },
+ "CK": {
+ "name": "Islas Cook"
+ },
+ "FO": {
+ "name": "Islas Feroe"
+ },
+ "GS": {
+ "name": "Islas Georgia del Sur y Sandwich del Sur"
+ },
+ "FK": {
+ "name": "Islas Malvinas"
+ },
+ "MP": {
+ "name": "Islas Marianas del Norte"
+ },
+ "MH": {
+ "name": "Islas Marshall"
+ },
+ "UM": {
+ "name": "Islas menores alejadas de EE. UU."
+ },
+ "PN": {
+ "name": "Islas Pitcairn"
+ },
+ "SB": {
+ "name": "Islas Salomón"
+ },
+ "TC": {
+ "name": "Islas Turcas y Caicos"
+ },
+ "VG": {
+ "name": "Islas Vírgenes Británicas"
+ },
+ "VI": {
+ "name": "Islas Vírgenes de EE. UU."
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japón"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordania"
+ },
+ "KZ": {
+ "name": "Kazajistán"
+ },
+ "KE": {
+ "name": "Kenia"
+ },
+ "KG": {
+ "name": "Kirguistán"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LV": {
+ "name": "Letonia"
+ },
+ "LB": {
+ "name": "Líbano"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libia"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lituania"
+ },
+ "LU": {
+ "name": "Luxemburgo"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MY": {
+ "name": "Malasia"
+ },
+ "MW": {
+ "name": "Malaui"
+ },
+ "MV": {
+ "name": "Maldivas"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marruecos"
+ },
+ "MQ": {
+ "name": "Martinica"
+ },
+ "MU": {
+ "name": "Mauricio"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "México"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldavia"
+ },
+ "MC": {
+ "name": "Mónaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar (Birmania)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Níger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Noruega"
+ },
+ "NC": {
+ "name": "Nueva Caledonia"
+ },
+ "NZ": {
+ "name": "Nueva Zelanda"
+ },
+ "OM": {
+ "name": "Omán"
+ },
+ "NL": {
+ "name": "Países Bajos"
+ },
+ "PK": {
+ "name": "Pakistán"
+ },
+ "PW": {
+ "name": "Palaos"
+ },
+ "PA": {
+ "name": "Panamá"
+ },
+ "PG": {
+ "name": "Papúa Nueva Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Perú"
+ },
+ "PF": {
+ "name": "Polinesia Francesa"
+ },
+ "PL": {
+ "name": "Polonia"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "HK": {
+ "name": "RAE de Hong Kong (China)"
+ },
+ "MO": {
+ "name": "RAE de Macao (China)"
+ },
+ "GB": {
+ "name": "Reino Unido"
+ },
+ "CF": {
+ "name": "República Centroafricana"
+ },
+ "CZ": {
+ "name": "República Checa"
+ },
+ "CG": {
+ "name": "República del Congo"
+ },
+ "CD": {
+ "name": "República Democrática del Congo"
+ },
+ "DO": {
+ "name": "República Dominicana"
+ },
+ "RE": {
+ "name": "Reunión"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RO": {
+ "name": "Rumanía"
+ },
+ "RU": {
+ "name": "Rusia"
+ },
+ "EH": {
+ "name": "Sáhara Occidental"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa Americana"
+ },
+ "BL": {
+ "name": "San Bartolomé"
+ },
+ "KN": {
+ "name": "San Cristóbal y Nieves"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "MF": {
+ "name": "San Martín"
+ },
+ "PM": {
+ "name": "San Pedro y Miquelón"
+ },
+ "VC": {
+ "name": "San Vicente y las Granadinas"
+ },
+ "SH": {
+ "name": "Santa Elena"
+ },
+ "LC": {
+ "name": "Santa Lucía"
+ },
+ "ST": {
+ "name": "Santo Tomé y Príncipe"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leona"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Siria"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "SZ": {
+ "name": "Suazilandia"
+ },
+ "ZA": {
+ "name": "Sudáfrica"
+ },
+ "SD": {
+ "name": "Sudán"
+ },
+ "SS": {
+ "name": "Sudán del Sur"
+ },
+ "SE": {
+ "name": "Suecia"
+ },
+ "CH": {
+ "name": "Suiza"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SJ": {
+ "name": "Svalbard y Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailandia"
+ },
+ "TW": {
+ "name": "Taiwán"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TJ": {
+ "name": "Tayikistán"
+ },
+ "IO": {
+ "name": "Territorio Británico del Océano Índico"
+ },
+ "TF": {
+ "name": "Territorios Australes Franceses"
+ },
+ "PS": {
+ "name": "Territorios Palestinos"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad y Tobago"
+ },
+ "TA": {
+ "name": "Tristán de Acuña"
+ },
+ "TN": {
+ "name": "Túnez"
+ },
+ "TM": {
+ "name": "Turkmenistán"
+ },
+ "TR": {
+ "name": "Turquía"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UA": {
+ "name": "Ucrania"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbekistán"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis y Futuna"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "DJ": {
+ "name": "Yibuti"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabue"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/es-PR.json b/vendor/commerceguys/intl/resources/country/es-PR.json
new file mode 100644
index 000000000..dc8f46f45
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/es-PR.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afganistán"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DE": {
+ "name": "Alemania"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguila"
+ },
+ "AQ": {
+ "name": "Antártida"
+ },
+ "AG": {
+ "name": "Antigua y Barbuda"
+ },
+ "SA": {
+ "name": "Arabia Saudí"
+ },
+ "DZ": {
+ "name": "Argelia"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "AZ": {
+ "name": "Azerbaiyán"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BD": {
+ "name": "Bangladés"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BH": {
+ "name": "Baréin"
+ },
+ "BE": {
+ "name": "Bélgica"
+ },
+ "BZ": {
+ "name": "Belice"
+ },
+ "BJ": {
+ "name": "Benín"
+ },
+ "BM": {
+ "name": "Bermudas"
+ },
+ "BY": {
+ "name": "Bielorrusia"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia-Herzegovina"
+ },
+ "BW": {
+ "name": "Botsuana"
+ },
+ "BR": {
+ "name": "Brasil"
+ },
+ "BN": {
+ "name": "Brunéi"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Bután"
+ },
+ "CV": {
+ "name": "Cabo Verde"
+ },
+ "KH": {
+ "name": "Camboya"
+ },
+ "CM": {
+ "name": "Camerún"
+ },
+ "CA": {
+ "name": "Canadá"
+ },
+ "BQ": {
+ "name": "Caribe neerlandés"
+ },
+ "QA": {
+ "name": "Catar"
+ },
+ "EA": {
+ "name": "Ceuta y Melilla"
+ },
+ "TD": {
+ "name": "Chad"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CY": {
+ "name": "Chipre"
+ },
+ "VA": {
+ "name": "Ciudad del Vaticano"
+ },
+ "CO": {
+ "name": "Colombia"
+ },
+ "KM": {
+ "name": "Comoras"
+ },
+ "KP": {
+ "name": "Corea del Norte"
+ },
+ "KR": {
+ "name": "Corea del Sur"
+ },
+ "CI": {
+ "name": "Costa de Marfil"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "HR": {
+ "name": "Croacia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curazao"
+ },
+ "DG": {
+ "name": "Diego García"
+ },
+ "DK": {
+ "name": "Dinamarca"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egipto"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "AE": {
+ "name": "Emiratos Árabes Unidos"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "SK": {
+ "name": "Eslovaquia"
+ },
+ "SI": {
+ "name": "Eslovenia"
+ },
+ "ES": {
+ "name": "España"
+ },
+ "US": {
+ "name": "Estados Unidos"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Etiopía"
+ },
+ "PH": {
+ "name": "Filipinas"
+ },
+ "FI": {
+ "name": "Finlandia"
+ },
+ "FJ": {
+ "name": "Fiyi"
+ },
+ "FR": {
+ "name": "Francia"
+ },
+ "GA": {
+ "name": "Gabón"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Granada"
+ },
+ "GR": {
+ "name": "Grecia"
+ },
+ "GL": {
+ "name": "Groenlandia"
+ },
+ "GP": {
+ "name": "Guadalupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GF": {
+ "name": "Guayana Francesa"
+ },
+ "GG": {
+ "name": "Guernesey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GQ": {
+ "name": "Guinea Ecuatorial"
+ },
+ "GW": {
+ "name": "Guinea-Bisáu"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haití"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HU": {
+ "name": "Hungría"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Irán"
+ },
+ "IE": {
+ "name": "Irlanda"
+ },
+ "AC": {
+ "name": "Isla de la Ascensión"
+ },
+ "IM": {
+ "name": "Isla de Man"
+ },
+ "CX": {
+ "name": "Isla de Navidad"
+ },
+ "NF": {
+ "name": "Isla Norfolk"
+ },
+ "IS": {
+ "name": "Islandia"
+ },
+ "AX": {
+ "name": "Islas Åland"
+ },
+ "KY": {
+ "name": "Islas Caimán"
+ },
+ "IC": {
+ "name": "Islas Canarias"
+ },
+ "CC": {
+ "name": "Islas Cocos"
+ },
+ "CK": {
+ "name": "Islas Cook"
+ },
+ "FO": {
+ "name": "Islas Feroe"
+ },
+ "GS": {
+ "name": "Islas Georgia del Sur y Sandwich del Sur"
+ },
+ "FK": {
+ "name": "Islas Malvinas"
+ },
+ "MP": {
+ "name": "Islas Marianas del Norte"
+ },
+ "MH": {
+ "name": "Islas Marshall"
+ },
+ "UM": {
+ "name": "Islas menores alejadas de EE. UU."
+ },
+ "PN": {
+ "name": "Islas Pitcairn"
+ },
+ "SB": {
+ "name": "Islas Salomón"
+ },
+ "TC": {
+ "name": "Islas Turcas y Caicos"
+ },
+ "VG": {
+ "name": "Islas Vírgenes Británicas"
+ },
+ "VI": {
+ "name": "Islas Vírgenes de EE. UU."
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japón"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordania"
+ },
+ "KZ": {
+ "name": "Kazajistán"
+ },
+ "KE": {
+ "name": "Kenia"
+ },
+ "KG": {
+ "name": "Kirguistán"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LV": {
+ "name": "Letonia"
+ },
+ "LB": {
+ "name": "Líbano"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libia"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lituania"
+ },
+ "LU": {
+ "name": "Luxemburgo"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MY": {
+ "name": "Malasia"
+ },
+ "MW": {
+ "name": "Malaui"
+ },
+ "MV": {
+ "name": "Maldivas"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marruecos"
+ },
+ "MQ": {
+ "name": "Martinica"
+ },
+ "MU": {
+ "name": "Mauricio"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "México"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldavia"
+ },
+ "MC": {
+ "name": "Mónaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar (Birmania)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Níger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Noruega"
+ },
+ "NC": {
+ "name": "Nueva Caledonia"
+ },
+ "NZ": {
+ "name": "Nueva Zelanda"
+ },
+ "OM": {
+ "name": "Omán"
+ },
+ "NL": {
+ "name": "Países Bajos"
+ },
+ "PK": {
+ "name": "Pakistán"
+ },
+ "PW": {
+ "name": "Palaos"
+ },
+ "PA": {
+ "name": "Panamá"
+ },
+ "PG": {
+ "name": "Papúa Nueva Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Perú"
+ },
+ "PF": {
+ "name": "Polinesia Francesa"
+ },
+ "PL": {
+ "name": "Polonia"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "HK": {
+ "name": "RAE de Hong Kong (China)"
+ },
+ "MO": {
+ "name": "RAE de Macao (China)"
+ },
+ "GB": {
+ "name": "Reino Unido"
+ },
+ "CF": {
+ "name": "República Centroafricana"
+ },
+ "CZ": {
+ "name": "República Checa"
+ },
+ "CG": {
+ "name": "República del Congo"
+ },
+ "CD": {
+ "name": "República Democrática del Congo"
+ },
+ "DO": {
+ "name": "República Dominicana"
+ },
+ "RE": {
+ "name": "Reunión"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RO": {
+ "name": "Rumanía"
+ },
+ "RU": {
+ "name": "Rusia"
+ },
+ "EH": {
+ "name": "Sáhara Occidental"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa Americana"
+ },
+ "BL": {
+ "name": "San Bartolomé"
+ },
+ "KN": {
+ "name": "San Cristóbal y Nieves"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "MF": {
+ "name": "San Martín"
+ },
+ "PM": {
+ "name": "San Pedro y Miquelón"
+ },
+ "VC": {
+ "name": "San Vicente y las Granadinas"
+ },
+ "SH": {
+ "name": "Santa Elena"
+ },
+ "LC": {
+ "name": "Santa Lucía"
+ },
+ "ST": {
+ "name": "Santo Tomé y Príncipe"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leona"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Siria"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "SZ": {
+ "name": "Suazilandia"
+ },
+ "ZA": {
+ "name": "Sudáfrica"
+ },
+ "SD": {
+ "name": "Sudán"
+ },
+ "SS": {
+ "name": "Sudán del Sur"
+ },
+ "SE": {
+ "name": "Suecia"
+ },
+ "CH": {
+ "name": "Suiza"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SJ": {
+ "name": "Svalbard y Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailandia"
+ },
+ "TW": {
+ "name": "Taiwán"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TJ": {
+ "name": "Tayikistán"
+ },
+ "IO": {
+ "name": "Territorio Británico del Océano Índico"
+ },
+ "TF": {
+ "name": "Territorios Australes Franceses"
+ },
+ "PS": {
+ "name": "Territorios Palestinos"
+ },
+ "TL": {
+ "name": "Timor Oriental"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad y Tobago"
+ },
+ "TA": {
+ "name": "Tristán da Cunha"
+ },
+ "TN": {
+ "name": "Túnez"
+ },
+ "TM": {
+ "name": "Turkmenistán"
+ },
+ "TR": {
+ "name": "Turquía"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UA": {
+ "name": "Ucrania"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbekistán"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis y Futuna"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "DJ": {
+ "name": "Yibuti"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabue"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/es-PY.json b/vendor/commerceguys/intl/resources/country/es-PY.json
new file mode 100644
index 000000000..e94300461
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/es-PY.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afganistán"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DE": {
+ "name": "Alemania"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguila"
+ },
+ "AQ": {
+ "name": "Antártida"
+ },
+ "AG": {
+ "name": "Antigua y Barbuda"
+ },
+ "SA": {
+ "name": "Arabia Saudí"
+ },
+ "DZ": {
+ "name": "Argelia"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "AZ": {
+ "name": "Azerbaiyán"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BD": {
+ "name": "Bangladés"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BH": {
+ "name": "Baréin"
+ },
+ "BE": {
+ "name": "Bélgica"
+ },
+ "BZ": {
+ "name": "Belice"
+ },
+ "BJ": {
+ "name": "Benín"
+ },
+ "BM": {
+ "name": "Bermudas"
+ },
+ "BY": {
+ "name": "Bielorrusia"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia y Herzegovina"
+ },
+ "BW": {
+ "name": "Botsuana"
+ },
+ "BR": {
+ "name": "Brasil"
+ },
+ "BN": {
+ "name": "Brunéi"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Bután"
+ },
+ "CV": {
+ "name": "Cabo Verde"
+ },
+ "KH": {
+ "name": "Camboya"
+ },
+ "CM": {
+ "name": "Camerún"
+ },
+ "CA": {
+ "name": "Canadá"
+ },
+ "BQ": {
+ "name": "Caribe neerlandés"
+ },
+ "QA": {
+ "name": "Catar"
+ },
+ "EA": {
+ "name": "Ceuta y Melilla"
+ },
+ "TD": {
+ "name": "Chad"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CY": {
+ "name": "Chipre"
+ },
+ "VA": {
+ "name": "Ciudad del Vaticano"
+ },
+ "CO": {
+ "name": "Colombia"
+ },
+ "KM": {
+ "name": "Comoras"
+ },
+ "KP": {
+ "name": "Corea del Norte"
+ },
+ "KR": {
+ "name": "Corea del Sur"
+ },
+ "CI": {
+ "name": "Costa de Marfil"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "HR": {
+ "name": "Croacia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curazao"
+ },
+ "DG": {
+ "name": "Diego García"
+ },
+ "DK": {
+ "name": "Dinamarca"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egipto"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "AE": {
+ "name": "Emiratos Árabes Unidos"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "SK": {
+ "name": "Eslovaquia"
+ },
+ "SI": {
+ "name": "Eslovenia"
+ },
+ "ES": {
+ "name": "España"
+ },
+ "US": {
+ "name": "Estados Unidos"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Etiopía"
+ },
+ "PH": {
+ "name": "Filipinas"
+ },
+ "FI": {
+ "name": "Finlandia"
+ },
+ "FJ": {
+ "name": "Fiyi"
+ },
+ "FR": {
+ "name": "Francia"
+ },
+ "GA": {
+ "name": "Gabón"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Granada"
+ },
+ "GR": {
+ "name": "Grecia"
+ },
+ "GL": {
+ "name": "Groenlandia"
+ },
+ "GP": {
+ "name": "Guadalupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GF": {
+ "name": "Guayana Francesa"
+ },
+ "GG": {
+ "name": "Guernesey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GQ": {
+ "name": "Guinea Ecuatorial"
+ },
+ "GW": {
+ "name": "Guinea-Bisáu"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haití"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HU": {
+ "name": "Hungría"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Irán"
+ },
+ "IE": {
+ "name": "Irlanda"
+ },
+ "AC": {
+ "name": "Isla de la Ascensión"
+ },
+ "IM": {
+ "name": "Isla de Man"
+ },
+ "CX": {
+ "name": "Isla de Navidad"
+ },
+ "NF": {
+ "name": "Isla Norfolk"
+ },
+ "IS": {
+ "name": "Islandia"
+ },
+ "AX": {
+ "name": "Islas Åland"
+ },
+ "KY": {
+ "name": "Islas Caimán"
+ },
+ "IC": {
+ "name": "Islas Canarias"
+ },
+ "CC": {
+ "name": "Islas Cocos"
+ },
+ "CK": {
+ "name": "Islas Cook"
+ },
+ "FO": {
+ "name": "Islas Feroe"
+ },
+ "GS": {
+ "name": "Islas Georgia del Sur y Sandwich del Sur"
+ },
+ "FK": {
+ "name": "Islas Malvinas"
+ },
+ "MP": {
+ "name": "Islas Marianas del Norte"
+ },
+ "MH": {
+ "name": "Islas Marshall"
+ },
+ "UM": {
+ "name": "Islas menores alejadas de EE. UU."
+ },
+ "PN": {
+ "name": "Islas Pitcairn"
+ },
+ "SB": {
+ "name": "Islas Salomón"
+ },
+ "TC": {
+ "name": "Islas Turcas y Caicos"
+ },
+ "VG": {
+ "name": "Islas Vírgenes Británicas"
+ },
+ "VI": {
+ "name": "Islas Vírgenes de EE. UU."
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japón"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordania"
+ },
+ "KZ": {
+ "name": "Kazajistán"
+ },
+ "KE": {
+ "name": "Kenia"
+ },
+ "KG": {
+ "name": "Kirguistán"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LV": {
+ "name": "Letonia"
+ },
+ "LB": {
+ "name": "Líbano"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libia"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lituania"
+ },
+ "LU": {
+ "name": "Luxemburgo"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MY": {
+ "name": "Malasia"
+ },
+ "MW": {
+ "name": "Malaui"
+ },
+ "MV": {
+ "name": "Maldivas"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marruecos"
+ },
+ "MQ": {
+ "name": "Martinica"
+ },
+ "MU": {
+ "name": "Mauricio"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "México"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldavia"
+ },
+ "MC": {
+ "name": "Mónaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar (Birmania)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Níger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Noruega"
+ },
+ "NC": {
+ "name": "Nueva Caledonia"
+ },
+ "NZ": {
+ "name": "Nueva Zelanda"
+ },
+ "OM": {
+ "name": "Omán"
+ },
+ "NL": {
+ "name": "Países Bajos"
+ },
+ "PK": {
+ "name": "Pakistán"
+ },
+ "PW": {
+ "name": "Palaos"
+ },
+ "PA": {
+ "name": "Panamá"
+ },
+ "PG": {
+ "name": "Papúa Nueva Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Perú"
+ },
+ "PF": {
+ "name": "Polinesia Francesa"
+ },
+ "PL": {
+ "name": "Polonia"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "HK": {
+ "name": "RAE de Hong Kong (China)"
+ },
+ "MO": {
+ "name": "RAE de Macao (China)"
+ },
+ "GB": {
+ "name": "Reino Unido"
+ },
+ "CF": {
+ "name": "República Centroafricana"
+ },
+ "CZ": {
+ "name": "República Checa"
+ },
+ "CG": {
+ "name": "República del Congo"
+ },
+ "CD": {
+ "name": "República Democrática del Congo"
+ },
+ "DO": {
+ "name": "República Dominicana"
+ },
+ "RE": {
+ "name": "Reunión"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RO": {
+ "name": "Rumanía"
+ },
+ "RU": {
+ "name": "Rusia"
+ },
+ "EH": {
+ "name": "Sáhara Occidental"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa Americana"
+ },
+ "BL": {
+ "name": "San Bartolomé"
+ },
+ "KN": {
+ "name": "San Cristóbal y Nieves"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "MF": {
+ "name": "San Martín"
+ },
+ "PM": {
+ "name": "San Pedro y Miquelón"
+ },
+ "VC": {
+ "name": "San Vicente y las Granadinas"
+ },
+ "SH": {
+ "name": "Santa Elena"
+ },
+ "LC": {
+ "name": "Santa Lucía"
+ },
+ "ST": {
+ "name": "Santo Tomé y Príncipe"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leona"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Siria"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "SZ": {
+ "name": "Suazilandia"
+ },
+ "ZA": {
+ "name": "Sudáfrica"
+ },
+ "SD": {
+ "name": "Sudán"
+ },
+ "SS": {
+ "name": "Sudán del Sur"
+ },
+ "SE": {
+ "name": "Suecia"
+ },
+ "CH": {
+ "name": "Suiza"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SJ": {
+ "name": "Svalbard y Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailandia"
+ },
+ "TW": {
+ "name": "Taiwán"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TJ": {
+ "name": "Tayikistán"
+ },
+ "IO": {
+ "name": "Territorio Británico del Océano Índico"
+ },
+ "TF": {
+ "name": "Territorios Australes Franceses"
+ },
+ "PS": {
+ "name": "Territorios Palestinos"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad y Tobago"
+ },
+ "TA": {
+ "name": "Tristán de Acuña"
+ },
+ "TN": {
+ "name": "Túnez"
+ },
+ "TM": {
+ "name": "Turkmenistán"
+ },
+ "TR": {
+ "name": "Turquía"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UA": {
+ "name": "Ucrania"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbekistán"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis y Futuna"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "DJ": {
+ "name": "Yibuti"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabue"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/es-SV.json b/vendor/commerceguys/intl/resources/country/es-SV.json
new file mode 100644
index 000000000..dc8f46f45
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/es-SV.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afganistán"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DE": {
+ "name": "Alemania"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguila"
+ },
+ "AQ": {
+ "name": "Antártida"
+ },
+ "AG": {
+ "name": "Antigua y Barbuda"
+ },
+ "SA": {
+ "name": "Arabia Saudí"
+ },
+ "DZ": {
+ "name": "Argelia"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "AZ": {
+ "name": "Azerbaiyán"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BD": {
+ "name": "Bangladés"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BH": {
+ "name": "Baréin"
+ },
+ "BE": {
+ "name": "Bélgica"
+ },
+ "BZ": {
+ "name": "Belice"
+ },
+ "BJ": {
+ "name": "Benín"
+ },
+ "BM": {
+ "name": "Bermudas"
+ },
+ "BY": {
+ "name": "Bielorrusia"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia-Herzegovina"
+ },
+ "BW": {
+ "name": "Botsuana"
+ },
+ "BR": {
+ "name": "Brasil"
+ },
+ "BN": {
+ "name": "Brunéi"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Bután"
+ },
+ "CV": {
+ "name": "Cabo Verde"
+ },
+ "KH": {
+ "name": "Camboya"
+ },
+ "CM": {
+ "name": "Camerún"
+ },
+ "CA": {
+ "name": "Canadá"
+ },
+ "BQ": {
+ "name": "Caribe neerlandés"
+ },
+ "QA": {
+ "name": "Catar"
+ },
+ "EA": {
+ "name": "Ceuta y Melilla"
+ },
+ "TD": {
+ "name": "Chad"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CY": {
+ "name": "Chipre"
+ },
+ "VA": {
+ "name": "Ciudad del Vaticano"
+ },
+ "CO": {
+ "name": "Colombia"
+ },
+ "KM": {
+ "name": "Comoras"
+ },
+ "KP": {
+ "name": "Corea del Norte"
+ },
+ "KR": {
+ "name": "Corea del Sur"
+ },
+ "CI": {
+ "name": "Costa de Marfil"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "HR": {
+ "name": "Croacia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curazao"
+ },
+ "DG": {
+ "name": "Diego García"
+ },
+ "DK": {
+ "name": "Dinamarca"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egipto"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "AE": {
+ "name": "Emiratos Árabes Unidos"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "SK": {
+ "name": "Eslovaquia"
+ },
+ "SI": {
+ "name": "Eslovenia"
+ },
+ "ES": {
+ "name": "España"
+ },
+ "US": {
+ "name": "Estados Unidos"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Etiopía"
+ },
+ "PH": {
+ "name": "Filipinas"
+ },
+ "FI": {
+ "name": "Finlandia"
+ },
+ "FJ": {
+ "name": "Fiyi"
+ },
+ "FR": {
+ "name": "Francia"
+ },
+ "GA": {
+ "name": "Gabón"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Granada"
+ },
+ "GR": {
+ "name": "Grecia"
+ },
+ "GL": {
+ "name": "Groenlandia"
+ },
+ "GP": {
+ "name": "Guadalupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GF": {
+ "name": "Guayana Francesa"
+ },
+ "GG": {
+ "name": "Guernesey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GQ": {
+ "name": "Guinea Ecuatorial"
+ },
+ "GW": {
+ "name": "Guinea-Bisáu"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haití"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HU": {
+ "name": "Hungría"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Irán"
+ },
+ "IE": {
+ "name": "Irlanda"
+ },
+ "AC": {
+ "name": "Isla de la Ascensión"
+ },
+ "IM": {
+ "name": "Isla de Man"
+ },
+ "CX": {
+ "name": "Isla de Navidad"
+ },
+ "NF": {
+ "name": "Isla Norfolk"
+ },
+ "IS": {
+ "name": "Islandia"
+ },
+ "AX": {
+ "name": "Islas Åland"
+ },
+ "KY": {
+ "name": "Islas Caimán"
+ },
+ "IC": {
+ "name": "Islas Canarias"
+ },
+ "CC": {
+ "name": "Islas Cocos"
+ },
+ "CK": {
+ "name": "Islas Cook"
+ },
+ "FO": {
+ "name": "Islas Feroe"
+ },
+ "GS": {
+ "name": "Islas Georgia del Sur y Sandwich del Sur"
+ },
+ "FK": {
+ "name": "Islas Malvinas"
+ },
+ "MP": {
+ "name": "Islas Marianas del Norte"
+ },
+ "MH": {
+ "name": "Islas Marshall"
+ },
+ "UM": {
+ "name": "Islas menores alejadas de EE. UU."
+ },
+ "PN": {
+ "name": "Islas Pitcairn"
+ },
+ "SB": {
+ "name": "Islas Salomón"
+ },
+ "TC": {
+ "name": "Islas Turcas y Caicos"
+ },
+ "VG": {
+ "name": "Islas Vírgenes Británicas"
+ },
+ "VI": {
+ "name": "Islas Vírgenes de EE. UU."
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japón"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordania"
+ },
+ "KZ": {
+ "name": "Kazajistán"
+ },
+ "KE": {
+ "name": "Kenia"
+ },
+ "KG": {
+ "name": "Kirguistán"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LV": {
+ "name": "Letonia"
+ },
+ "LB": {
+ "name": "Líbano"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libia"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lituania"
+ },
+ "LU": {
+ "name": "Luxemburgo"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MY": {
+ "name": "Malasia"
+ },
+ "MW": {
+ "name": "Malaui"
+ },
+ "MV": {
+ "name": "Maldivas"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marruecos"
+ },
+ "MQ": {
+ "name": "Martinica"
+ },
+ "MU": {
+ "name": "Mauricio"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "México"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldavia"
+ },
+ "MC": {
+ "name": "Mónaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar (Birmania)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Níger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Noruega"
+ },
+ "NC": {
+ "name": "Nueva Caledonia"
+ },
+ "NZ": {
+ "name": "Nueva Zelanda"
+ },
+ "OM": {
+ "name": "Omán"
+ },
+ "NL": {
+ "name": "Países Bajos"
+ },
+ "PK": {
+ "name": "Pakistán"
+ },
+ "PW": {
+ "name": "Palaos"
+ },
+ "PA": {
+ "name": "Panamá"
+ },
+ "PG": {
+ "name": "Papúa Nueva Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Perú"
+ },
+ "PF": {
+ "name": "Polinesia Francesa"
+ },
+ "PL": {
+ "name": "Polonia"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "HK": {
+ "name": "RAE de Hong Kong (China)"
+ },
+ "MO": {
+ "name": "RAE de Macao (China)"
+ },
+ "GB": {
+ "name": "Reino Unido"
+ },
+ "CF": {
+ "name": "República Centroafricana"
+ },
+ "CZ": {
+ "name": "República Checa"
+ },
+ "CG": {
+ "name": "República del Congo"
+ },
+ "CD": {
+ "name": "República Democrática del Congo"
+ },
+ "DO": {
+ "name": "República Dominicana"
+ },
+ "RE": {
+ "name": "Reunión"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RO": {
+ "name": "Rumanía"
+ },
+ "RU": {
+ "name": "Rusia"
+ },
+ "EH": {
+ "name": "Sáhara Occidental"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa Americana"
+ },
+ "BL": {
+ "name": "San Bartolomé"
+ },
+ "KN": {
+ "name": "San Cristóbal y Nieves"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "MF": {
+ "name": "San Martín"
+ },
+ "PM": {
+ "name": "San Pedro y Miquelón"
+ },
+ "VC": {
+ "name": "San Vicente y las Granadinas"
+ },
+ "SH": {
+ "name": "Santa Elena"
+ },
+ "LC": {
+ "name": "Santa Lucía"
+ },
+ "ST": {
+ "name": "Santo Tomé y Príncipe"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leona"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Siria"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "SZ": {
+ "name": "Suazilandia"
+ },
+ "ZA": {
+ "name": "Sudáfrica"
+ },
+ "SD": {
+ "name": "Sudán"
+ },
+ "SS": {
+ "name": "Sudán del Sur"
+ },
+ "SE": {
+ "name": "Suecia"
+ },
+ "CH": {
+ "name": "Suiza"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SJ": {
+ "name": "Svalbard y Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailandia"
+ },
+ "TW": {
+ "name": "Taiwán"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TJ": {
+ "name": "Tayikistán"
+ },
+ "IO": {
+ "name": "Territorio Británico del Océano Índico"
+ },
+ "TF": {
+ "name": "Territorios Australes Franceses"
+ },
+ "PS": {
+ "name": "Territorios Palestinos"
+ },
+ "TL": {
+ "name": "Timor Oriental"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad y Tobago"
+ },
+ "TA": {
+ "name": "Tristán da Cunha"
+ },
+ "TN": {
+ "name": "Túnez"
+ },
+ "TM": {
+ "name": "Turkmenistán"
+ },
+ "TR": {
+ "name": "Turquía"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UA": {
+ "name": "Ucrania"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbekistán"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis y Futuna"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "DJ": {
+ "name": "Yibuti"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabue"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/es-US.json b/vendor/commerceguys/intl/resources/country/es-US.json
new file mode 100644
index 000000000..dc8f46f45
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/es-US.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afganistán"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DE": {
+ "name": "Alemania"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguila"
+ },
+ "AQ": {
+ "name": "Antártida"
+ },
+ "AG": {
+ "name": "Antigua y Barbuda"
+ },
+ "SA": {
+ "name": "Arabia Saudí"
+ },
+ "DZ": {
+ "name": "Argelia"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "AZ": {
+ "name": "Azerbaiyán"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BD": {
+ "name": "Bangladés"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BH": {
+ "name": "Baréin"
+ },
+ "BE": {
+ "name": "Bélgica"
+ },
+ "BZ": {
+ "name": "Belice"
+ },
+ "BJ": {
+ "name": "Benín"
+ },
+ "BM": {
+ "name": "Bermudas"
+ },
+ "BY": {
+ "name": "Bielorrusia"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia-Herzegovina"
+ },
+ "BW": {
+ "name": "Botsuana"
+ },
+ "BR": {
+ "name": "Brasil"
+ },
+ "BN": {
+ "name": "Brunéi"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Bután"
+ },
+ "CV": {
+ "name": "Cabo Verde"
+ },
+ "KH": {
+ "name": "Camboya"
+ },
+ "CM": {
+ "name": "Camerún"
+ },
+ "CA": {
+ "name": "Canadá"
+ },
+ "BQ": {
+ "name": "Caribe neerlandés"
+ },
+ "QA": {
+ "name": "Catar"
+ },
+ "EA": {
+ "name": "Ceuta y Melilla"
+ },
+ "TD": {
+ "name": "Chad"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CY": {
+ "name": "Chipre"
+ },
+ "VA": {
+ "name": "Ciudad del Vaticano"
+ },
+ "CO": {
+ "name": "Colombia"
+ },
+ "KM": {
+ "name": "Comoras"
+ },
+ "KP": {
+ "name": "Corea del Norte"
+ },
+ "KR": {
+ "name": "Corea del Sur"
+ },
+ "CI": {
+ "name": "Costa de Marfil"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "HR": {
+ "name": "Croacia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curazao"
+ },
+ "DG": {
+ "name": "Diego García"
+ },
+ "DK": {
+ "name": "Dinamarca"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egipto"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "AE": {
+ "name": "Emiratos Árabes Unidos"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "SK": {
+ "name": "Eslovaquia"
+ },
+ "SI": {
+ "name": "Eslovenia"
+ },
+ "ES": {
+ "name": "España"
+ },
+ "US": {
+ "name": "Estados Unidos"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Etiopía"
+ },
+ "PH": {
+ "name": "Filipinas"
+ },
+ "FI": {
+ "name": "Finlandia"
+ },
+ "FJ": {
+ "name": "Fiyi"
+ },
+ "FR": {
+ "name": "Francia"
+ },
+ "GA": {
+ "name": "Gabón"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Granada"
+ },
+ "GR": {
+ "name": "Grecia"
+ },
+ "GL": {
+ "name": "Groenlandia"
+ },
+ "GP": {
+ "name": "Guadalupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GF": {
+ "name": "Guayana Francesa"
+ },
+ "GG": {
+ "name": "Guernesey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GQ": {
+ "name": "Guinea Ecuatorial"
+ },
+ "GW": {
+ "name": "Guinea-Bisáu"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haití"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HU": {
+ "name": "Hungría"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Irán"
+ },
+ "IE": {
+ "name": "Irlanda"
+ },
+ "AC": {
+ "name": "Isla de la Ascensión"
+ },
+ "IM": {
+ "name": "Isla de Man"
+ },
+ "CX": {
+ "name": "Isla de Navidad"
+ },
+ "NF": {
+ "name": "Isla Norfolk"
+ },
+ "IS": {
+ "name": "Islandia"
+ },
+ "AX": {
+ "name": "Islas Åland"
+ },
+ "KY": {
+ "name": "Islas Caimán"
+ },
+ "IC": {
+ "name": "Islas Canarias"
+ },
+ "CC": {
+ "name": "Islas Cocos"
+ },
+ "CK": {
+ "name": "Islas Cook"
+ },
+ "FO": {
+ "name": "Islas Feroe"
+ },
+ "GS": {
+ "name": "Islas Georgia del Sur y Sandwich del Sur"
+ },
+ "FK": {
+ "name": "Islas Malvinas"
+ },
+ "MP": {
+ "name": "Islas Marianas del Norte"
+ },
+ "MH": {
+ "name": "Islas Marshall"
+ },
+ "UM": {
+ "name": "Islas menores alejadas de EE. UU."
+ },
+ "PN": {
+ "name": "Islas Pitcairn"
+ },
+ "SB": {
+ "name": "Islas Salomón"
+ },
+ "TC": {
+ "name": "Islas Turcas y Caicos"
+ },
+ "VG": {
+ "name": "Islas Vírgenes Británicas"
+ },
+ "VI": {
+ "name": "Islas Vírgenes de EE. UU."
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japón"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordania"
+ },
+ "KZ": {
+ "name": "Kazajistán"
+ },
+ "KE": {
+ "name": "Kenia"
+ },
+ "KG": {
+ "name": "Kirguistán"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LV": {
+ "name": "Letonia"
+ },
+ "LB": {
+ "name": "Líbano"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libia"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lituania"
+ },
+ "LU": {
+ "name": "Luxemburgo"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MY": {
+ "name": "Malasia"
+ },
+ "MW": {
+ "name": "Malaui"
+ },
+ "MV": {
+ "name": "Maldivas"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marruecos"
+ },
+ "MQ": {
+ "name": "Martinica"
+ },
+ "MU": {
+ "name": "Mauricio"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "México"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldavia"
+ },
+ "MC": {
+ "name": "Mónaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar (Birmania)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Níger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Noruega"
+ },
+ "NC": {
+ "name": "Nueva Caledonia"
+ },
+ "NZ": {
+ "name": "Nueva Zelanda"
+ },
+ "OM": {
+ "name": "Omán"
+ },
+ "NL": {
+ "name": "Países Bajos"
+ },
+ "PK": {
+ "name": "Pakistán"
+ },
+ "PW": {
+ "name": "Palaos"
+ },
+ "PA": {
+ "name": "Panamá"
+ },
+ "PG": {
+ "name": "Papúa Nueva Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Perú"
+ },
+ "PF": {
+ "name": "Polinesia Francesa"
+ },
+ "PL": {
+ "name": "Polonia"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "HK": {
+ "name": "RAE de Hong Kong (China)"
+ },
+ "MO": {
+ "name": "RAE de Macao (China)"
+ },
+ "GB": {
+ "name": "Reino Unido"
+ },
+ "CF": {
+ "name": "República Centroafricana"
+ },
+ "CZ": {
+ "name": "República Checa"
+ },
+ "CG": {
+ "name": "República del Congo"
+ },
+ "CD": {
+ "name": "República Democrática del Congo"
+ },
+ "DO": {
+ "name": "República Dominicana"
+ },
+ "RE": {
+ "name": "Reunión"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RO": {
+ "name": "Rumanía"
+ },
+ "RU": {
+ "name": "Rusia"
+ },
+ "EH": {
+ "name": "Sáhara Occidental"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa Americana"
+ },
+ "BL": {
+ "name": "San Bartolomé"
+ },
+ "KN": {
+ "name": "San Cristóbal y Nieves"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "MF": {
+ "name": "San Martín"
+ },
+ "PM": {
+ "name": "San Pedro y Miquelón"
+ },
+ "VC": {
+ "name": "San Vicente y las Granadinas"
+ },
+ "SH": {
+ "name": "Santa Elena"
+ },
+ "LC": {
+ "name": "Santa Lucía"
+ },
+ "ST": {
+ "name": "Santo Tomé y Príncipe"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leona"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Siria"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "SZ": {
+ "name": "Suazilandia"
+ },
+ "ZA": {
+ "name": "Sudáfrica"
+ },
+ "SD": {
+ "name": "Sudán"
+ },
+ "SS": {
+ "name": "Sudán del Sur"
+ },
+ "SE": {
+ "name": "Suecia"
+ },
+ "CH": {
+ "name": "Suiza"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SJ": {
+ "name": "Svalbard y Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailandia"
+ },
+ "TW": {
+ "name": "Taiwán"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TJ": {
+ "name": "Tayikistán"
+ },
+ "IO": {
+ "name": "Territorio Británico del Océano Índico"
+ },
+ "TF": {
+ "name": "Territorios Australes Franceses"
+ },
+ "PS": {
+ "name": "Territorios Palestinos"
+ },
+ "TL": {
+ "name": "Timor Oriental"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad y Tobago"
+ },
+ "TA": {
+ "name": "Tristán da Cunha"
+ },
+ "TN": {
+ "name": "Túnez"
+ },
+ "TM": {
+ "name": "Turkmenistán"
+ },
+ "TR": {
+ "name": "Turquía"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UA": {
+ "name": "Ucrania"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbekistán"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis y Futuna"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "DJ": {
+ "name": "Yibuti"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabue"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/es-UY.json b/vendor/commerceguys/intl/resources/country/es-UY.json
new file mode 100644
index 000000000..d0a111cec
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/es-UY.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afganistán"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DE": {
+ "name": "Alemania"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguila"
+ },
+ "AQ": {
+ "name": "Antártida"
+ },
+ "AG": {
+ "name": "Antigua y Barbuda"
+ },
+ "SA": {
+ "name": "Arabia Saudí"
+ },
+ "DZ": {
+ "name": "Argelia"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "AZ": {
+ "name": "Azerbaiyán"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BD": {
+ "name": "Bangladés"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BH": {
+ "name": "Baréin"
+ },
+ "BE": {
+ "name": "Bélgica"
+ },
+ "BZ": {
+ "name": "Belice"
+ },
+ "BJ": {
+ "name": "Benín"
+ },
+ "BM": {
+ "name": "Bermudas"
+ },
+ "BY": {
+ "name": "Bielorrusia"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia-Herzegovina"
+ },
+ "BW": {
+ "name": "Botsuana"
+ },
+ "BR": {
+ "name": "Brasil"
+ },
+ "BN": {
+ "name": "Brunéi"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Bután"
+ },
+ "CV": {
+ "name": "Cabo Verde"
+ },
+ "KH": {
+ "name": "Camboya"
+ },
+ "CM": {
+ "name": "Camerún"
+ },
+ "CA": {
+ "name": "Canadá"
+ },
+ "BQ": {
+ "name": "Caribe neerlandés"
+ },
+ "QA": {
+ "name": "Catar"
+ },
+ "EA": {
+ "name": "Ceuta y Melilla"
+ },
+ "TD": {
+ "name": "Chad"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CY": {
+ "name": "Chipre"
+ },
+ "VA": {
+ "name": "Ciudad del Vaticano"
+ },
+ "CO": {
+ "name": "Colombia"
+ },
+ "KM": {
+ "name": "Comoras"
+ },
+ "KP": {
+ "name": "Corea del Norte"
+ },
+ "KR": {
+ "name": "Corea del Sur"
+ },
+ "CI": {
+ "name": "Costa de Marfil"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "HR": {
+ "name": "Croacia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curazao"
+ },
+ "DG": {
+ "name": "Diego García"
+ },
+ "DK": {
+ "name": "Dinamarca"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egipto"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "AE": {
+ "name": "Emiratos Árabes Unidos"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "SK": {
+ "name": "Eslovaquia"
+ },
+ "SI": {
+ "name": "Eslovenia"
+ },
+ "ES": {
+ "name": "España"
+ },
+ "US": {
+ "name": "Estados Unidos"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Etiopía"
+ },
+ "PH": {
+ "name": "Filipinas"
+ },
+ "FI": {
+ "name": "Finlandia"
+ },
+ "FJ": {
+ "name": "Fiyi"
+ },
+ "FR": {
+ "name": "Francia"
+ },
+ "GA": {
+ "name": "Gabón"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Granada"
+ },
+ "GR": {
+ "name": "Grecia"
+ },
+ "GL": {
+ "name": "Groenlandia"
+ },
+ "GP": {
+ "name": "Guadalupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GF": {
+ "name": "Guayana Francesa"
+ },
+ "GG": {
+ "name": "Guernesey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GQ": {
+ "name": "Guinea Ecuatorial"
+ },
+ "GW": {
+ "name": "Guinea-Bisáu"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haití"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HU": {
+ "name": "Hungría"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Irán"
+ },
+ "IE": {
+ "name": "Irlanda"
+ },
+ "AC": {
+ "name": "Isla de la Ascensión"
+ },
+ "IM": {
+ "name": "Isla de Man"
+ },
+ "CX": {
+ "name": "Isla de Navidad"
+ },
+ "NF": {
+ "name": "Isla Norfolk"
+ },
+ "IS": {
+ "name": "Islandia"
+ },
+ "AX": {
+ "name": "Islas Åland"
+ },
+ "KY": {
+ "name": "Islas Caimán"
+ },
+ "IC": {
+ "name": "Islas Canarias"
+ },
+ "CC": {
+ "name": "Islas Cocos"
+ },
+ "CK": {
+ "name": "Islas Cook"
+ },
+ "FO": {
+ "name": "Islas Feroe"
+ },
+ "GS": {
+ "name": "Islas Georgia del Sur y Sandwich del Sur"
+ },
+ "FK": {
+ "name": "Islas Malvinas"
+ },
+ "MP": {
+ "name": "Islas Marianas del Norte"
+ },
+ "MH": {
+ "name": "Islas Marshall"
+ },
+ "PN": {
+ "name": "Islas Pitcairn"
+ },
+ "SB": {
+ "name": "Islas Salomón"
+ },
+ "TC": {
+ "name": "Islas Turcas y Caicos"
+ },
+ "UM": {
+ "name": "Islas Ultramarinas de EE.UU."
+ },
+ "VG": {
+ "name": "Islas Vírgenes Británicas"
+ },
+ "VI": {
+ "name": "Islas Vírgenes de EE. UU."
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japón"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordania"
+ },
+ "KZ": {
+ "name": "Kazajistán"
+ },
+ "KE": {
+ "name": "Kenia"
+ },
+ "KG": {
+ "name": "Kirguistán"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LV": {
+ "name": "Letonia"
+ },
+ "LB": {
+ "name": "Líbano"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libia"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lituania"
+ },
+ "LU": {
+ "name": "Luxemburgo"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MY": {
+ "name": "Malasia"
+ },
+ "MW": {
+ "name": "Malaui"
+ },
+ "MV": {
+ "name": "Maldivas"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marruecos"
+ },
+ "MQ": {
+ "name": "Martinica"
+ },
+ "MU": {
+ "name": "Mauricio"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "México"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldavia"
+ },
+ "MC": {
+ "name": "Mónaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar (Birmania)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Níger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Noruega"
+ },
+ "NC": {
+ "name": "Nueva Caledonia"
+ },
+ "NZ": {
+ "name": "Nueva Zelanda"
+ },
+ "OM": {
+ "name": "Omán"
+ },
+ "NL": {
+ "name": "Países Bajos"
+ },
+ "PK": {
+ "name": "Pakistán"
+ },
+ "PW": {
+ "name": "Palaos"
+ },
+ "PA": {
+ "name": "Panamá"
+ },
+ "PG": {
+ "name": "Papúa Nueva Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Perú"
+ },
+ "PF": {
+ "name": "Polinesia Francesa"
+ },
+ "PL": {
+ "name": "Polonia"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "HK": {
+ "name": "RAE de Hong Kong (China)"
+ },
+ "MO": {
+ "name": "RAE de Macao (China)"
+ },
+ "GB": {
+ "name": "Reino Unido"
+ },
+ "CF": {
+ "name": "República Centroafricana"
+ },
+ "CZ": {
+ "name": "República Checa"
+ },
+ "CG": {
+ "name": "República del Congo"
+ },
+ "CD": {
+ "name": "República Democrática del Congo"
+ },
+ "DO": {
+ "name": "República Dominicana"
+ },
+ "RE": {
+ "name": "Reunión"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RO": {
+ "name": "Rumanía"
+ },
+ "RU": {
+ "name": "Rusia"
+ },
+ "EH": {
+ "name": "Sáhara Occidental"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa Americana"
+ },
+ "BL": {
+ "name": "San Bartolomé"
+ },
+ "KN": {
+ "name": "San Cristóbal y Nieves"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "MF": {
+ "name": "San Martín"
+ },
+ "PM": {
+ "name": "San Pedro y Miquelón"
+ },
+ "VC": {
+ "name": "San Vicente y las Granadinas"
+ },
+ "SH": {
+ "name": "Santa Elena"
+ },
+ "LC": {
+ "name": "Santa Lucía"
+ },
+ "ST": {
+ "name": "Santo Tomé y Príncipe"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leona"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Siria"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "SZ": {
+ "name": "Suazilandia"
+ },
+ "ZA": {
+ "name": "Sudáfrica"
+ },
+ "SD": {
+ "name": "Sudán"
+ },
+ "SS": {
+ "name": "Sudán del Sur"
+ },
+ "SE": {
+ "name": "Suecia"
+ },
+ "CH": {
+ "name": "Suiza"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SJ": {
+ "name": "Svalbard y Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailandia"
+ },
+ "TW": {
+ "name": "Taiwán"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TJ": {
+ "name": "Tayikistán"
+ },
+ "IO": {
+ "name": "Territorio Británico del Océano Índico"
+ },
+ "TF": {
+ "name": "Territorios Australes Franceses"
+ },
+ "PS": {
+ "name": "Territorios Palestinos"
+ },
+ "TL": {
+ "name": "Timor Oriental"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad y Tobago"
+ },
+ "TA": {
+ "name": "Tristán da Cunha"
+ },
+ "TN": {
+ "name": "Túnez"
+ },
+ "TM": {
+ "name": "Turkmenistán"
+ },
+ "TR": {
+ "name": "Turquía"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UA": {
+ "name": "Ucrania"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbekistán"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis y Futuna"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "DJ": {
+ "name": "Yibuti"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabue"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/es-VE.json b/vendor/commerceguys/intl/resources/country/es-VE.json
new file mode 100644
index 000000000..e94300461
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/es-VE.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afganistán"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DE": {
+ "name": "Alemania"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguila"
+ },
+ "AQ": {
+ "name": "Antártida"
+ },
+ "AG": {
+ "name": "Antigua y Barbuda"
+ },
+ "SA": {
+ "name": "Arabia Saudí"
+ },
+ "DZ": {
+ "name": "Argelia"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "AZ": {
+ "name": "Azerbaiyán"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BD": {
+ "name": "Bangladés"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BH": {
+ "name": "Baréin"
+ },
+ "BE": {
+ "name": "Bélgica"
+ },
+ "BZ": {
+ "name": "Belice"
+ },
+ "BJ": {
+ "name": "Benín"
+ },
+ "BM": {
+ "name": "Bermudas"
+ },
+ "BY": {
+ "name": "Bielorrusia"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia y Herzegovina"
+ },
+ "BW": {
+ "name": "Botsuana"
+ },
+ "BR": {
+ "name": "Brasil"
+ },
+ "BN": {
+ "name": "Brunéi"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Bután"
+ },
+ "CV": {
+ "name": "Cabo Verde"
+ },
+ "KH": {
+ "name": "Camboya"
+ },
+ "CM": {
+ "name": "Camerún"
+ },
+ "CA": {
+ "name": "Canadá"
+ },
+ "BQ": {
+ "name": "Caribe neerlandés"
+ },
+ "QA": {
+ "name": "Catar"
+ },
+ "EA": {
+ "name": "Ceuta y Melilla"
+ },
+ "TD": {
+ "name": "Chad"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CY": {
+ "name": "Chipre"
+ },
+ "VA": {
+ "name": "Ciudad del Vaticano"
+ },
+ "CO": {
+ "name": "Colombia"
+ },
+ "KM": {
+ "name": "Comoras"
+ },
+ "KP": {
+ "name": "Corea del Norte"
+ },
+ "KR": {
+ "name": "Corea del Sur"
+ },
+ "CI": {
+ "name": "Costa de Marfil"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "HR": {
+ "name": "Croacia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curazao"
+ },
+ "DG": {
+ "name": "Diego García"
+ },
+ "DK": {
+ "name": "Dinamarca"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egipto"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "AE": {
+ "name": "Emiratos Árabes Unidos"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "SK": {
+ "name": "Eslovaquia"
+ },
+ "SI": {
+ "name": "Eslovenia"
+ },
+ "ES": {
+ "name": "España"
+ },
+ "US": {
+ "name": "Estados Unidos"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Etiopía"
+ },
+ "PH": {
+ "name": "Filipinas"
+ },
+ "FI": {
+ "name": "Finlandia"
+ },
+ "FJ": {
+ "name": "Fiyi"
+ },
+ "FR": {
+ "name": "Francia"
+ },
+ "GA": {
+ "name": "Gabón"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Granada"
+ },
+ "GR": {
+ "name": "Grecia"
+ },
+ "GL": {
+ "name": "Groenlandia"
+ },
+ "GP": {
+ "name": "Guadalupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GF": {
+ "name": "Guayana Francesa"
+ },
+ "GG": {
+ "name": "Guernesey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GQ": {
+ "name": "Guinea Ecuatorial"
+ },
+ "GW": {
+ "name": "Guinea-Bisáu"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haití"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HU": {
+ "name": "Hungría"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Irán"
+ },
+ "IE": {
+ "name": "Irlanda"
+ },
+ "AC": {
+ "name": "Isla de la Ascensión"
+ },
+ "IM": {
+ "name": "Isla de Man"
+ },
+ "CX": {
+ "name": "Isla de Navidad"
+ },
+ "NF": {
+ "name": "Isla Norfolk"
+ },
+ "IS": {
+ "name": "Islandia"
+ },
+ "AX": {
+ "name": "Islas Åland"
+ },
+ "KY": {
+ "name": "Islas Caimán"
+ },
+ "IC": {
+ "name": "Islas Canarias"
+ },
+ "CC": {
+ "name": "Islas Cocos"
+ },
+ "CK": {
+ "name": "Islas Cook"
+ },
+ "FO": {
+ "name": "Islas Feroe"
+ },
+ "GS": {
+ "name": "Islas Georgia del Sur y Sandwich del Sur"
+ },
+ "FK": {
+ "name": "Islas Malvinas"
+ },
+ "MP": {
+ "name": "Islas Marianas del Norte"
+ },
+ "MH": {
+ "name": "Islas Marshall"
+ },
+ "UM": {
+ "name": "Islas menores alejadas de EE. UU."
+ },
+ "PN": {
+ "name": "Islas Pitcairn"
+ },
+ "SB": {
+ "name": "Islas Salomón"
+ },
+ "TC": {
+ "name": "Islas Turcas y Caicos"
+ },
+ "VG": {
+ "name": "Islas Vírgenes Británicas"
+ },
+ "VI": {
+ "name": "Islas Vírgenes de EE. UU."
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japón"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordania"
+ },
+ "KZ": {
+ "name": "Kazajistán"
+ },
+ "KE": {
+ "name": "Kenia"
+ },
+ "KG": {
+ "name": "Kirguistán"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LV": {
+ "name": "Letonia"
+ },
+ "LB": {
+ "name": "Líbano"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libia"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lituania"
+ },
+ "LU": {
+ "name": "Luxemburgo"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MY": {
+ "name": "Malasia"
+ },
+ "MW": {
+ "name": "Malaui"
+ },
+ "MV": {
+ "name": "Maldivas"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marruecos"
+ },
+ "MQ": {
+ "name": "Martinica"
+ },
+ "MU": {
+ "name": "Mauricio"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "México"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldavia"
+ },
+ "MC": {
+ "name": "Mónaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar (Birmania)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Níger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Noruega"
+ },
+ "NC": {
+ "name": "Nueva Caledonia"
+ },
+ "NZ": {
+ "name": "Nueva Zelanda"
+ },
+ "OM": {
+ "name": "Omán"
+ },
+ "NL": {
+ "name": "Países Bajos"
+ },
+ "PK": {
+ "name": "Pakistán"
+ },
+ "PW": {
+ "name": "Palaos"
+ },
+ "PA": {
+ "name": "Panamá"
+ },
+ "PG": {
+ "name": "Papúa Nueva Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Perú"
+ },
+ "PF": {
+ "name": "Polinesia Francesa"
+ },
+ "PL": {
+ "name": "Polonia"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "HK": {
+ "name": "RAE de Hong Kong (China)"
+ },
+ "MO": {
+ "name": "RAE de Macao (China)"
+ },
+ "GB": {
+ "name": "Reino Unido"
+ },
+ "CF": {
+ "name": "República Centroafricana"
+ },
+ "CZ": {
+ "name": "República Checa"
+ },
+ "CG": {
+ "name": "República del Congo"
+ },
+ "CD": {
+ "name": "República Democrática del Congo"
+ },
+ "DO": {
+ "name": "República Dominicana"
+ },
+ "RE": {
+ "name": "Reunión"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RO": {
+ "name": "Rumanía"
+ },
+ "RU": {
+ "name": "Rusia"
+ },
+ "EH": {
+ "name": "Sáhara Occidental"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa Americana"
+ },
+ "BL": {
+ "name": "San Bartolomé"
+ },
+ "KN": {
+ "name": "San Cristóbal y Nieves"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "MF": {
+ "name": "San Martín"
+ },
+ "PM": {
+ "name": "San Pedro y Miquelón"
+ },
+ "VC": {
+ "name": "San Vicente y las Granadinas"
+ },
+ "SH": {
+ "name": "Santa Elena"
+ },
+ "LC": {
+ "name": "Santa Lucía"
+ },
+ "ST": {
+ "name": "Santo Tomé y Príncipe"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leona"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Siria"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "SZ": {
+ "name": "Suazilandia"
+ },
+ "ZA": {
+ "name": "Sudáfrica"
+ },
+ "SD": {
+ "name": "Sudán"
+ },
+ "SS": {
+ "name": "Sudán del Sur"
+ },
+ "SE": {
+ "name": "Suecia"
+ },
+ "CH": {
+ "name": "Suiza"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SJ": {
+ "name": "Svalbard y Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailandia"
+ },
+ "TW": {
+ "name": "Taiwán"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TJ": {
+ "name": "Tayikistán"
+ },
+ "IO": {
+ "name": "Territorio Británico del Océano Índico"
+ },
+ "TF": {
+ "name": "Territorios Australes Franceses"
+ },
+ "PS": {
+ "name": "Territorios Palestinos"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad y Tobago"
+ },
+ "TA": {
+ "name": "Tristán de Acuña"
+ },
+ "TN": {
+ "name": "Túnez"
+ },
+ "TM": {
+ "name": "Turkmenistán"
+ },
+ "TR": {
+ "name": "Turquía"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UA": {
+ "name": "Ucrania"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbekistán"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis y Futuna"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "DJ": {
+ "name": "Yibuti"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabue"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/es.json b/vendor/commerceguys/intl/resources/country/es.json
new file mode 100644
index 000000000..c5ef97c54
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/es.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afganistán"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DE": {
+ "name": "Alemania"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguila"
+ },
+ "AQ": {
+ "name": "Antártida"
+ },
+ "AG": {
+ "name": "Antigua y Barbuda"
+ },
+ "SA": {
+ "name": "Arabia Saudí"
+ },
+ "DZ": {
+ "name": "Argelia"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "AZ": {
+ "name": "Azerbaiyán"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BD": {
+ "name": "Bangladés"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BH": {
+ "name": "Baréin"
+ },
+ "BE": {
+ "name": "Bélgica"
+ },
+ "BZ": {
+ "name": "Belice"
+ },
+ "BJ": {
+ "name": "Benín"
+ },
+ "BM": {
+ "name": "Bermudas"
+ },
+ "BY": {
+ "name": "Bielorrusia"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia-Herzegovina"
+ },
+ "BW": {
+ "name": "Botsuana"
+ },
+ "BR": {
+ "name": "Brasil"
+ },
+ "BN": {
+ "name": "Brunéi"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Bután"
+ },
+ "CV": {
+ "name": "Cabo Verde"
+ },
+ "KH": {
+ "name": "Camboya"
+ },
+ "CM": {
+ "name": "Camerún"
+ },
+ "CA": {
+ "name": "Canadá"
+ },
+ "IC": {
+ "name": "Canarias"
+ },
+ "BQ": {
+ "name": "Caribe neerlandés"
+ },
+ "QA": {
+ "name": "Catar"
+ },
+ "EA": {
+ "name": "Ceuta y Melilla"
+ },
+ "TD": {
+ "name": "Chad"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CY": {
+ "name": "Chipre"
+ },
+ "VA": {
+ "name": "Ciudad del Vaticano"
+ },
+ "CO": {
+ "name": "Colombia"
+ },
+ "KM": {
+ "name": "Comoras"
+ },
+ "KP": {
+ "name": "Corea del Norte"
+ },
+ "KR": {
+ "name": "Corea del Sur"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "CI": {
+ "name": "Côte d’Ivoire"
+ },
+ "HR": {
+ "name": "Croacia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curazao"
+ },
+ "DG": {
+ "name": "Diego García"
+ },
+ "DK": {
+ "name": "Dinamarca"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egipto"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "AE": {
+ "name": "Emiratos Árabes Unidos"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "SK": {
+ "name": "Eslovaquia"
+ },
+ "SI": {
+ "name": "Eslovenia"
+ },
+ "ES": {
+ "name": "España"
+ },
+ "US": {
+ "name": "Estados Unidos"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Etiopía"
+ },
+ "PH": {
+ "name": "Filipinas"
+ },
+ "FI": {
+ "name": "Finlandia"
+ },
+ "FJ": {
+ "name": "Fiyi"
+ },
+ "FR": {
+ "name": "Francia"
+ },
+ "GA": {
+ "name": "Gabón"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Granada"
+ },
+ "GR": {
+ "name": "Grecia"
+ },
+ "GL": {
+ "name": "Groenlandia"
+ },
+ "GP": {
+ "name": "Guadalupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GF": {
+ "name": "Guayana Francesa"
+ },
+ "GG": {
+ "name": "Guernesey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GQ": {
+ "name": "Guinea Ecuatorial"
+ },
+ "GW": {
+ "name": "Guinea-Bisáu"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haití"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HU": {
+ "name": "Hungría"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Irán"
+ },
+ "IE": {
+ "name": "Irlanda"
+ },
+ "AC": {
+ "name": "Isla de la Ascensión"
+ },
+ "IM": {
+ "name": "Isla de Man"
+ },
+ "CX": {
+ "name": "Isla de Navidad"
+ },
+ "NF": {
+ "name": "Isla Norfolk"
+ },
+ "IS": {
+ "name": "Islandia"
+ },
+ "AX": {
+ "name": "Islas Åland"
+ },
+ "KY": {
+ "name": "Islas Caimán"
+ },
+ "CC": {
+ "name": "Islas Cocos"
+ },
+ "CK": {
+ "name": "Islas Cook"
+ },
+ "FO": {
+ "name": "Islas Feroe"
+ },
+ "GS": {
+ "name": "Islas Georgia del Sur y Sandwich del Sur"
+ },
+ "FK": {
+ "name": "Islas Malvinas"
+ },
+ "MP": {
+ "name": "Islas Marianas del Norte"
+ },
+ "MH": {
+ "name": "Islas Marshall"
+ },
+ "UM": {
+ "name": "Islas menores alejadas de EE. UU."
+ },
+ "PN": {
+ "name": "Islas Pitcairn"
+ },
+ "SB": {
+ "name": "Islas Salomón"
+ },
+ "TC": {
+ "name": "Islas Turcas y Caicos"
+ },
+ "VG": {
+ "name": "Islas Vírgenes Británicas"
+ },
+ "VI": {
+ "name": "Islas Vírgenes de EE. UU."
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japón"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordania"
+ },
+ "KZ": {
+ "name": "Kazajistán"
+ },
+ "KE": {
+ "name": "Kenia"
+ },
+ "KG": {
+ "name": "Kirguistán"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LV": {
+ "name": "Letonia"
+ },
+ "LB": {
+ "name": "Líbano"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libia"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lituania"
+ },
+ "LU": {
+ "name": "Luxemburgo"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MY": {
+ "name": "Malasia"
+ },
+ "MW": {
+ "name": "Malaui"
+ },
+ "MV": {
+ "name": "Maldivas"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marruecos"
+ },
+ "MQ": {
+ "name": "Martinica"
+ },
+ "MU": {
+ "name": "Mauricio"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "México"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldavia"
+ },
+ "MC": {
+ "name": "Mónaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar (Birmania)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Níger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Noruega"
+ },
+ "NC": {
+ "name": "Nueva Caledonia"
+ },
+ "NZ": {
+ "name": "Nueva Zelanda"
+ },
+ "OM": {
+ "name": "Omán"
+ },
+ "NL": {
+ "name": "Países Bajos"
+ },
+ "PK": {
+ "name": "Pakistán"
+ },
+ "PW": {
+ "name": "Palaos"
+ },
+ "PA": {
+ "name": "Panamá"
+ },
+ "PG": {
+ "name": "Papúa Nueva Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Perú"
+ },
+ "PF": {
+ "name": "Polinesia Francesa"
+ },
+ "PL": {
+ "name": "Polonia"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "HK": {
+ "name": "RAE de Hong Kong (China)"
+ },
+ "MO": {
+ "name": "RAE de Macao (China)"
+ },
+ "GB": {
+ "name": "Reino Unido"
+ },
+ "CF": {
+ "name": "República Centroafricana"
+ },
+ "CZ": {
+ "name": "República Checa"
+ },
+ "CG": {
+ "name": "República del Congo"
+ },
+ "CD": {
+ "name": "República Democrática del Congo"
+ },
+ "DO": {
+ "name": "República Dominicana"
+ },
+ "RE": {
+ "name": "Reunión"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RO": {
+ "name": "Rumanía"
+ },
+ "RU": {
+ "name": "Rusia"
+ },
+ "EH": {
+ "name": "Sáhara Occidental"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa Americana"
+ },
+ "BL": {
+ "name": "San Bartolomé"
+ },
+ "KN": {
+ "name": "San Cristóbal y Nieves"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "MF": {
+ "name": "San Martín"
+ },
+ "PM": {
+ "name": "San Pedro y Miquelón"
+ },
+ "VC": {
+ "name": "San Vicente y las Granadinas"
+ },
+ "SH": {
+ "name": "Santa Elena"
+ },
+ "LC": {
+ "name": "Santa Lucía"
+ },
+ "ST": {
+ "name": "Santo Tomé y Príncipe"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leona"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Siria"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "SZ": {
+ "name": "Suazilandia"
+ },
+ "ZA": {
+ "name": "Sudáfrica"
+ },
+ "SD": {
+ "name": "Sudán"
+ },
+ "SS": {
+ "name": "Sudán del Sur"
+ },
+ "SE": {
+ "name": "Suecia"
+ },
+ "CH": {
+ "name": "Suiza"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SJ": {
+ "name": "Svalbard y Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailandia"
+ },
+ "TW": {
+ "name": "Taiwán"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TJ": {
+ "name": "Tayikistán"
+ },
+ "IO": {
+ "name": "Territorio Británico del Océano Índico"
+ },
+ "TF": {
+ "name": "Territorios Australes Franceses"
+ },
+ "PS": {
+ "name": "Territorios Palestinos"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad y Tobago"
+ },
+ "TA": {
+ "name": "Tristán de Acuña"
+ },
+ "TN": {
+ "name": "Túnez"
+ },
+ "TM": {
+ "name": "Turkmenistán"
+ },
+ "TR": {
+ "name": "Turquía"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UA": {
+ "name": "Ucrania"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbekistán"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis y Futuna"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "DJ": {
+ "name": "Yibuti"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabue"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/et.json b/vendor/commerceguys/intl/resources/country/et.json
new file mode 100644
index 000000000..d900eb6a8
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/et.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afganistan"
+ },
+ "AX": {
+ "name": "Ahvenamaa"
+ },
+ "AL": {
+ "name": "Albaania"
+ },
+ "DZ": {
+ "name": "Alžeeria"
+ },
+ "AS": {
+ "name": "Ameerika Samoa"
+ },
+ "US": {
+ "name": "Ameerika Ühendriigid"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarktika"
+ },
+ "AG": {
+ "name": "Antigua ja Barbuda"
+ },
+ "AE": {
+ "name": "Araabia Ühendemiraadid"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armeenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascensioni saar"
+ },
+ "AZ": {
+ "name": "Aserbaidžaan"
+ },
+ "AU": {
+ "name": "Austraalia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "BS": {
+ "name": "Bahama"
+ },
+ "BH": {
+ "name": "Bahrein"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "PW": {
+ "name": "Belau"
+ },
+ "BE": {
+ "name": "Belgia"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BO": {
+ "name": "Boliivia"
+ },
+ "BA": {
+ "name": "Bosnia ja Hertsegoviina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brasiilia"
+ },
+ "IO": {
+ "name": "Briti India ookeani ala"
+ },
+ "VG": {
+ "name": "Briti Neitsisaared"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgaaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "EA": {
+ "name": "Ceuta ja Melilla"
+ },
+ "CO": {
+ "name": "Colombia"
+ },
+ "CK": {
+ "name": "Cooki saared"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "CI": {
+ "name": "Côte d’Ivoire"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DJ": {
+ "name": "Djibouti"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "DO": {
+ "name": "Dominikaani Vabariik"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EE": {
+ "name": "Eesti"
+ },
+ "EG": {
+ "name": "Egiptus"
+ },
+ "GQ": {
+ "name": "Ekvatoriaal-Guinea"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "ET": {
+ "name": "Etioopia"
+ },
+ "FK": {
+ "name": "Falklandi saared"
+ },
+ "FJ": {
+ "name": "Fidži"
+ },
+ "PH": {
+ "name": "Filipiinid"
+ },
+ "FO": {
+ "name": "Fääri saared"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GE": {
+ "name": "Gruusia"
+ },
+ "GL": {
+ "name": "Gröönimaa"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GW": {
+ "name": "Guinea-Bissau"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "CN": {
+ "name": "Hiina"
+ },
+ "ES": {
+ "name": "Hispaania"
+ },
+ "NL": {
+ "name": "Holland"
+ },
+ "BQ": {
+ "name": "Hollandi Kariibi mere saared"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hongkongi erihalduspiirkond"
+ },
+ "HR": {
+ "name": "Horvaatia"
+ },
+ "TL": {
+ "name": "Ida-Timor"
+ },
+ "IE": {
+ "name": "Iirimaa"
+ },
+ "IL": {
+ "name": "Iisrael"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indoneesia"
+ },
+ "IQ": {
+ "name": "Iraak"
+ },
+ "IR": {
+ "name": "Iraan"
+ },
+ "IS": {
+ "name": "Island"
+ },
+ "IT": {
+ "name": "Itaalia"
+ },
+ "JP": {
+ "name": "Jaapan"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "YE": {
+ "name": "Jeemen"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordaania"
+ },
+ "CX": {
+ "name": "Jõulusaar"
+ },
+ "KY": {
+ "name": "Kaimanisaared"
+ },
+ "KH": {
+ "name": "Kambodža"
+ },
+ "CM": {
+ "name": "Kamerun"
+ },
+ "IC": {
+ "name": "Kanaari saared"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "KZ": {
+ "name": "Kasahstan"
+ },
+ "QA": {
+ "name": "Katar"
+ },
+ "KE": {
+ "name": "Keenia"
+ },
+ "CF": {
+ "name": "Kesk-Aafrika Vabariik"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "KM": {
+ "name": "Komoorid"
+ },
+ "CD": {
+ "name": "Kongo DV"
+ },
+ "CG": {
+ "name": "Kongo Vabariik"
+ },
+ "CC": {
+ "name": "Kookossaared"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "GR": {
+ "name": "Kreeka"
+ },
+ "CU": {
+ "name": "Kuuba"
+ },
+ "KW": {
+ "name": "Kuveit"
+ },
+ "KG": {
+ "name": "Kõrgõzstan"
+ },
+ "CY": {
+ "name": "Küpros"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LT": {
+ "name": "Leedu"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LR": {
+ "name": "Libeeria"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LB": {
+ "name": "Liibanon"
+ },
+ "LY": {
+ "name": "Liibüa"
+ },
+ "LU": {
+ "name": "Luksemburg"
+ },
+ "ZA": {
+ "name": "Lõuna-Aafrika Vabariik"
+ },
+ "GS": {
+ "name": "Lõuna-Georgia ja Lõuna-Sandwichi saared"
+ },
+ "KR": {
+ "name": "Lõuna-Korea"
+ },
+ "SS": {
+ "name": "Lõuna-Sudaan"
+ },
+ "LV": {
+ "name": "Läti"
+ },
+ "EH": {
+ "name": "Lääne-Sahara"
+ },
+ "MO": {
+ "name": "Macau erihalduspiirkond"
+ },
+ "MG": {
+ "name": "Madagaskar"
+ },
+ "MK": {
+ "name": "Makedoonia"
+ },
+ "MY": {
+ "name": "Malaisia"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MV": {
+ "name": "Maldiivid"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "IM": {
+ "name": "Mani saar"
+ },
+ "MA": {
+ "name": "Maroko"
+ },
+ "MH": {
+ "name": "Marshalli Saared"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MR": {
+ "name": "Mauritaania"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Mehhiko"
+ },
+ "FM": {
+ "name": "Mikroneesia"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongoolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mosambiik"
+ },
+ "MM": {
+ "name": "Myanmar (Birma)"
+ },
+ "NA": {
+ "name": "Namiibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NG": {
+ "name": "Nigeeria"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NF": {
+ "name": "Norfolk"
+ },
+ "NO": {
+ "name": "Norra"
+ },
+ "OM": {
+ "name": "Omaan"
+ },
+ "PG": {
+ "name": "Paapua Uus-Guinea"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PS": {
+ "name": "Palestiina alad"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Peruu"
+ },
+ "PN": {
+ "name": "Pitcairni saared"
+ },
+ "PL": {
+ "name": "Poola"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "GF": {
+ "name": "Prantsuse Guajaana"
+ },
+ "TF": {
+ "name": "Prantsuse Lõunaalad"
+ },
+ "PF": {
+ "name": "Prantsuse Polüneesia"
+ },
+ "FR": {
+ "name": "Prantsusmaa"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "KP": {
+ "name": "Põhja-Korea"
+ },
+ "MP": {
+ "name": "Põhja-Mariaanid"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "CV": {
+ "name": "Roheneemesaared"
+ },
+ "SE": {
+ "name": "Rootsi"
+ },
+ "RO": {
+ "name": "Rumeenia"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "SB": {
+ "name": "Saalomoni Saared"
+ },
+ "BL": {
+ "name": "Saint Barthélemy"
+ },
+ "SH": {
+ "name": "Saint Helena"
+ },
+ "KN": {
+ "name": "Saint Kitts ja Nevis"
+ },
+ "LC": {
+ "name": "Saint Lucia"
+ },
+ "PM": {
+ "name": "Saint Pierre ja Miquelon"
+ },
+ "VC": {
+ "name": "Saint Vincent ja Grenadiinid"
+ },
+ "MF": {
+ "name": "Saint-Martin"
+ },
+ "DE": {
+ "name": "Saksamaa"
+ },
+ "ZM": {
+ "name": "Sambia"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "São Tomé ja Príncipe"
+ },
+ "SA": {
+ "name": "Saudi Araabia"
+ },
+ "SC": {
+ "name": "Seišellid"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SK": {
+ "name": "Slovakkia"
+ },
+ "SI": {
+ "name": "Sloveenia"
+ },
+ "SO": {
+ "name": "Somaalia"
+ },
+ "FI": {
+ "name": "Soome"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "SD": {
+ "name": "Sudaan"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "GB": {
+ "name": "Suurbritannia"
+ },
+ "SZ": {
+ "name": "Svaasimaa"
+ },
+ "SJ": {
+ "name": "Svalbard ja Jan Mayen"
+ },
+ "SY": {
+ "name": "Süüria"
+ },
+ "CH": {
+ "name": "Šveits"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ },
+ "DK": {
+ "name": "Taani"
+ },
+ "TJ": {
+ "name": "Tadžikistan"
+ },
+ "TH": {
+ "name": "Tai"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TZ": {
+ "name": "Tansaania"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad ja Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TD": {
+ "name": "Tšaad"
+ },
+ "CZ": {
+ "name": "Tšehhi"
+ },
+ "CL": {
+ "name": "Tšiili"
+ },
+ "TN": {
+ "name": "Tuneesia"
+ },
+ "TC": {
+ "name": "Turks ja Caicos"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "TR": {
+ "name": "Türgi"
+ },
+ "TM": {
+ "name": "Türkmenistan"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukraina"
+ },
+ "HU": {
+ "name": "Ungari"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "VI": {
+ "name": "USA Neitsisaared"
+ },
+ "UZ": {
+ "name": "Usbekistan"
+ },
+ "NC": {
+ "name": "Uus-Kaledoonia"
+ },
+ "NZ": {
+ "name": "Uus-Meremaa"
+ },
+ "BY": {
+ "name": "Valgevene"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikan"
+ },
+ "RU": {
+ "name": "Venemaa"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis ja Futuna"
+ },
+ "UM": {
+ "name": "Ühendriikide hajasaared"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/eu.json b/vendor/commerceguys/intl/resources/country/eu.json
new file mode 100644
index 000000000..14f5bcab4
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/eu.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afganistan"
+ },
+ "CF": {
+ "name": "Afrika Erdiko Errepublika"
+ },
+ "AX": {
+ "name": "Aland uharteak"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DE": {
+ "name": "Alemania"
+ },
+ "DZ": {
+ "name": "Aljeria"
+ },
+ "AS": {
+ "name": "Amerikar Samoa"
+ },
+ "US": {
+ "name": "Ameriketako Estatu Batuak"
+ },
+ "UM": {
+ "name": "Ameriketako Estatu Batuetako Kanpoaldeko Uharte Txikiak"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AI": {
+ "name": "Angila"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AQ": {
+ "name": "Antartika"
+ },
+ "AG": {
+ "name": "Antigua eta Barbuda"
+ },
+ "AE": {
+ "name": "Arabiar Emirerri Batuak"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension uhartea"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "AZ": {
+ "name": "Azerbaijan"
+ },
+ "BS": {
+ "name": "Bahamak"
+ },
+ "BH": {
+ "name": "Bahrain"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BE": {
+ "name": "Belgika"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BY": {
+ "name": "Bielorrusia"
+ },
+ "VI": {
+ "name": "Birjina uharte amerikarrak"
+ },
+ "VG": {
+ "name": "Birjina uharte britainiarrak"
+ },
+ "CI": {
+ "name": "Boli Kosta"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia-Herzegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brasil"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "CV": {
+ "name": "Cabo Verde"
+ },
+ "EA": {
+ "name": "Ceuta eta Melilla"
+ },
+ "CX": {
+ "name": "Christmas uhartea"
+ },
+ "CC": {
+ "name": "Cocos uharteak"
+ },
+ "CK": {
+ "name": "Cook uharteak"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Danimarka"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DJ": {
+ "name": "Djibuti"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "DO": {
+ "name": "Dominikar Errepublika"
+ },
+ "EG": {
+ "name": "Egipto"
+ },
+ "TL": {
+ "name": "Ekialdeko Timor"
+ },
+ "EC": {
+ "name": "Ekuador"
+ },
+ "GQ": {
+ "name": "Ekuatore Ginea"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "GB": {
+ "name": "Erresuma Batua"
+ },
+ "RO": {
+ "name": "Errumania"
+ },
+ "RU": {
+ "name": "Errusia"
+ },
+ "SK": {
+ "name": "Eslovakia"
+ },
+ "SI": {
+ "name": "Eslovenia"
+ },
+ "ES": {
+ "name": "Espainia"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Etiopia"
+ },
+ "FO": {
+ "name": "Faroe uharteak"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filipinak"
+ },
+ "FI": {
+ "name": "Finlandia"
+ },
+ "FR": {
+ "name": "Frantzia"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GN": {
+ "name": "Ginea"
+ },
+ "GW": {
+ "name": "Ginea-Bissau"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GR": {
+ "name": "Grezia"
+ },
+ "GL": {
+ "name": "Groenlandia"
+ },
+ "GP": {
+ "name": "Guadalupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernesey"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "GF": {
+ "name": "Guyana Frantsesa"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "KR": {
+ "name": "Hego Korea"
+ },
+ "SS": {
+ "name": "Hego Sudan"
+ },
+ "ZA": {
+ "name": "Hegoafrika"
+ },
+ "GS": {
+ "name": "Hegoaldeko Georgia eta Hegoaldeko Sandwich uharteak"
+ },
+ "TF": {
+ "name": "Hegoaldeko lurralde frantsesak"
+ },
+ "NL": {
+ "name": "Herbehereak"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hong Kong AEB Txina"
+ },
+ "HU": {
+ "name": "Hungaria"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "IO": {
+ "name": "Indiako Ozeanoko lurralde britainiarra"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "KP": {
+ "name": "Ipar Korea"
+ },
+ "MP": {
+ "name": "Iparraldeko Mariana uharteak"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IE": {
+ "name": "Irlanda"
+ },
+ "IS": {
+ "name": "Islandia"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JM": {
+ "name": "Jamaika"
+ },
+ "JP": {
+ "name": "Japonia"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordania"
+ },
+ "KY": {
+ "name": "Kaiman uharteak"
+ },
+ "NC": {
+ "name": "Kaledonia Berria"
+ },
+ "CM": {
+ "name": "Kamerun"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "IC": {
+ "name": "Kanariak"
+ },
+ "KH": {
+ "name": "Kanbodia"
+ },
+ "BQ": {
+ "name": "Karibeko Herbehereak"
+ },
+ "KZ": {
+ "name": "Kazakhstan"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "KG": {
+ "name": "Kirgizistan"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "CO": {
+ "name": "Kolonbia"
+ },
+ "KM": {
+ "name": "Komoreak"
+ },
+ "CG": {
+ "name": "Kongo (Brazzaville)"
+ },
+ "CD": {
+ "name": "Kongoko Errepublika Demokratikoa"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "HR": {
+ "name": "Kroazia"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LV": {
+ "name": "Letonia"
+ },
+ "LB": {
+ "name": "Libano"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libia"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lituania"
+ },
+ "LU": {
+ "name": "Luxenburgo"
+ },
+ "MO": {
+ "name": "Macau AEB Txina"
+ },
+ "MG": {
+ "name": "Madagaskar"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malaysia"
+ },
+ "MV": {
+ "name": "Maldivak"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "FK": {
+ "name": "Malvinak"
+ },
+ "IM": {
+ "name": "Man uhartea"
+ },
+ "MA": {
+ "name": "Maroko"
+ },
+ "MH": {
+ "name": "Marshall uharteak"
+ },
+ "MQ": {
+ "name": "Martinika"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "MU": {
+ "name": "Maurizio"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MK": {
+ "name": "Mazedonia"
+ },
+ "EH": {
+ "name": "Mendebaldeko Sahara"
+ },
+ "MX": {
+ "name": "Mexiko"
+ },
+ "FM": {
+ "name": "Mikronesia"
+ },
+ "MD": {
+ "name": "Moldavia"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mozambike"
+ },
+ "MM": {
+ "name": "Myanmar (Birmania)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NI": {
+ "name": "Nikaragua"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NF": {
+ "name": "Norfolk uhartea"
+ },
+ "NO": {
+ "name": "Norvegia"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palestinako Lurraldeak"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua Ginea Berria"
+ },
+ "PY": {
+ "name": "Paraguai"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitcairn uharteak"
+ },
+ "PF": {
+ "name": "Polinesia Frantsesa"
+ },
+ "PL": {
+ "name": "Polonia"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "QA": {
+ "name": "Qatar"
+ },
+ "RE": {
+ "name": "Reunion"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "BL": {
+ "name": "Saint Barthélemy"
+ },
+ "KN": {
+ "name": "Saint Kitts eta Nevis"
+ },
+ "VC": {
+ "name": "Saint Vincent eta Grenadinak"
+ },
+ "PM": {
+ "name": "Saint-Pierre eta Mikelune"
+ },
+ "SB": {
+ "name": "Salomon uharteak"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "MF": {
+ "name": "San Martin"
+ },
+ "SH": {
+ "name": "Santa Helena"
+ },
+ "LC": {
+ "name": "Santa Luzia"
+ },
+ "ST": {
+ "name": "Sao Tome eta Principe"
+ },
+ "SA": {
+ "name": "Saudi Arabia"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelleak"
+ },
+ "SL": {
+ "name": "Sierra Leona"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Siria"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "SE": {
+ "name": "Suedia"
+ },
+ "CH": {
+ "name": "Suitza"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SJ": {
+ "name": "Svalbard eta Jan Mayen uharteak"
+ },
+ "SZ": {
+ "name": "Swazilandia"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TJ": {
+ "name": "Tajikistan"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TH": {
+ "name": "Thailandia"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad eta Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TC": {
+ "name": "Turk eta Caico uharteak"
+ },
+ "TR": {
+ "name": "Turkia"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "TD": {
+ "name": "Txad"
+ },
+ "CZ": {
+ "name": "Txekiar Errepublika"
+ },
+ "CL": {
+ "name": "Txile"
+ },
+ "CN": {
+ "name": "Txina"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukraina"
+ },
+ "UY": {
+ "name": "Uruguai"
+ },
+ "UZ": {
+ "name": "Uzbekistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikano Hiria"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis eta Futuna"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "NZ": {
+ "name": "Zeelanda Berria"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ },
+ "CY": {
+ "name": "Zipre"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/ewo.json b/vendor/commerceguys/intl/resources/country/ewo.json
new file mode 100644
index 000000000..edc9e632c
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/ewo.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afəganisətán"
+ },
+ "ZA": {
+ "name": "Afiríka yá Súd"
+ },
+ "HT": {
+ "name": "Aití"
+ },
+ "AX": {
+ "name": "Åland Islands"
+ },
+ "AL": {
+ "name": "Aləbánia"
+ },
+ "DZ": {
+ "name": "Aləyéria"
+ },
+ "AD": {
+ "name": "Andór"
+ },
+ "AI": {
+ "name": "Angíyə"
+ },
+ "AO": {
+ "name": "Angolá"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antígwa ai Barəbúda"
+ },
+ "SA": {
+ "name": "Arabí Saudí"
+ },
+ "AR": {
+ "name": "Arəhenətína"
+ },
+ "AM": {
+ "name": "Arəménia"
+ },
+ "AW": {
+ "name": "Arúba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AZ": {
+ "name": "Azɛrəbaidzáŋ"
+ },
+ "BS": {
+ "name": "Bahámas"
+ },
+ "BH": {
+ "name": "Bahərɛ́n"
+ },
+ "BD": {
+ "name": "Bangaladɛ́s"
+ },
+ "BB": {
+ "name": "Barəbád"
+ },
+ "AE": {
+ "name": "Bemirá yá Arábə uní"
+ },
+ "BY": {
+ "name": "Bəlarús"
+ },
+ "BR": {
+ "name": "Bəlazíl"
+ },
+ "BZ": {
+ "name": "Bəlís"
+ },
+ "BJ": {
+ "name": "Bəníŋ"
+ },
+ "AS": {
+ "name": "Bəsamóa yá Amə́rəka"
+ },
+ "BE": {
+ "name": "Bɛləhíg"
+ },
+ "BM": {
+ "name": "Bɛrəmúd"
+ },
+ "BO": {
+ "name": "Bolívia"
+ },
+ "BA": {
+ "name": "Bosəní ai ɛrəzegovín"
+ },
+ "BW": {
+ "name": "Botswaná"
+ },
+ "BG": {
+ "name": "Buləgarí"
+ },
+ "BF": {
+ "name": "Buləkiná Fasó"
+ },
+ "BN": {
+ "name": "Buluné"
+ },
+ "BI": {
+ "name": "Burundí"
+ },
+ "BT": {
+ "name": "Butáŋ"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Danəmárəg"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Dómənika"
+ },
+ "DJ": {
+ "name": "Dzibutí"
+ },
+ "EG": {
+ "name": "Ehíbətɛn"
+ },
+ "EC": {
+ "name": "Ekwatór"
+ },
+ "ER": {
+ "name": "Elitəlé"
+ },
+ "EE": {
+ "name": "Esetoní"
+ },
+ "ET": {
+ "name": "Etiopí"
+ },
+ "IN": {
+ "name": "ɛ́ndə"
+ },
+ "ID": {
+ "name": "ɛndonésia"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fidzí"
+ },
+ "PH": {
+ "name": "Filipín"
+ },
+ "FI": {
+ "name": "Finəlán"
+ },
+ "PL": {
+ "name": "fólis"
+ },
+ "PT": {
+ "name": "fɔrətugɛ́s"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "FR": {
+ "name": "Fulɛnsí"
+ },
+ "GA": {
+ "name": "Gabóŋ"
+ },
+ "GM": {
+ "name": "Gambí"
+ },
+ "GH": {
+ "name": "Ganá"
+ },
+ "GD": {
+ "name": "Gələnádə"
+ },
+ "GR": {
+ "name": "Gəlɛ́s"
+ },
+ "GN": {
+ "name": "Giné"
+ },
+ "GW": {
+ "name": "Giné Bisaó"
+ },
+ "GQ": {
+ "name": "Giné Ekwató"
+ },
+ "GL": {
+ "name": "Goelán"
+ },
+ "GP": {
+ "name": "Guadəlúb"
+ },
+ "GU": {
+ "name": "Guám"
+ },
+ "GT": {
+ "name": "Guatemalá"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Guyán"
+ },
+ "GF": {
+ "name": "Guyán yá Fulɛnsí"
+ },
+ "JM": {
+ "name": "Hamaíka"
+ },
+ "JP": {
+ "name": "Hapɔ́n"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "JO": {
+ "name": "Horədaní"
+ },
+ "GE": {
+ "name": "Horə́yia"
+ },
+ "IQ": {
+ "name": "Irág"
+ },
+ "IR": {
+ "name": "Irán"
+ },
+ "IE": {
+ "name": "Irəlándə"
+ },
+ "IS": {
+ "name": "Isəlándə"
+ },
+ "IL": {
+ "name": "Isəraɛ́l"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IT": {
+ "name": "Itáliɛn"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "KH": {
+ "name": "kambodía"
+ },
+ "CM": {
+ "name": "Kamərún"
+ },
+ "CA": {
+ "name": "kanadá"
+ },
+ "QA": {
+ "name": "Katár"
+ },
+ "KZ": {
+ "name": "Kazakətáŋ"
+ },
+ "KE": {
+ "name": "Keniá"
+ },
+ "HR": {
+ "name": "Kəlowásia"
+ },
+ "KI": {
+ "name": "Kiribatí"
+ },
+ "KG": {
+ "name": "Kirigisətán"
+ },
+ "CI": {
+ "name": "Kód Divɔ́r"
+ },
+ "CO": {
+ "name": "Kolɔmbí"
+ },
+ "KM": {
+ "name": "Komɔ́r"
+ },
+ "CG": {
+ "name": "Kongó"
+ },
+ "KP": {
+ "name": "Koré yá Nór"
+ },
+ "KR": {
+ "name": "Koré yá Súd"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "Kosta Ríka"
+ },
+ "KW": {
+ "name": "Kowɛ́d"
+ },
+ "ES": {
+ "name": "Kpənyá"
+ },
+ "CU": {
+ "name": "Kubá"
+ },
+ "LA": {
+ "name": "Laós"
+ },
+ "LS": {
+ "name": "Ləsotó"
+ },
+ "LV": {
+ "name": "Lətoní"
+ },
+ "LB": {
+ "name": "Libáŋ"
+ },
+ "LR": {
+ "name": "Libéria"
+ },
+ "LY": {
+ "name": "Libí"
+ },
+ "LI": {
+ "name": "Lísə́sə́táin"
+ },
+ "LT": {
+ "name": "Lituaní"
+ },
+ "LU": {
+ "name": "Lukəzambúd"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MG": {
+ "name": "Madagasəkárə"
+ },
+ "MW": {
+ "name": "Malawí"
+ },
+ "MV": {
+ "name": "Malədívə"
+ },
+ "MT": {
+ "name": "Málətə"
+ },
+ "MY": {
+ "name": "Malɛ́zia"
+ },
+ "ML": {
+ "name": "Malí"
+ },
+ "MQ": {
+ "name": "Marətiníg"
+ },
+ "MA": {
+ "name": "Marɔ́g"
+ },
+ "MK": {
+ "name": "Masedónia"
+ },
+ "YT": {
+ "name": "Mayɔ́d"
+ },
+ "MX": {
+ "name": "Mɛkəsíg"
+ },
+ "MM": {
+ "name": "Mianəmár"
+ },
+ "FM": {
+ "name": "Mikoronésia"
+ },
+ "VI": {
+ "name": "Minlán Mi Amɛrəkə"
+ },
+ "FK": {
+ "name": "Minlán Mi Fóləkəlan"
+ },
+ "CV": {
+ "name": "Minlán Mí Káb Vɛr"
+ },
+ "KY": {
+ "name": "Minlán Mí Kalimáŋ"
+ },
+ "CK": {
+ "name": "Minlán Mí kúg"
+ },
+ "MH": {
+ "name": "Minlán Mí Maresál"
+ },
+ "MP": {
+ "name": "Minlán Mi Marián yá Nór"
+ },
+ "SB": {
+ "name": "Minlán Mí Solomɔ́n"
+ },
+ "TC": {
+ "name": "Minlán Mí túrə́g-ai-Kaíg"
+ },
+ "NF": {
+ "name": "Minlán Nɔrəfɔ́ləkə"
+ },
+ "MD": {
+ "name": "Molədaví"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MU": {
+ "name": "Morís"
+ },
+ "MR": {
+ "name": "Moritaní"
+ },
+ "MZ": {
+ "name": "Mozambíg"
+ },
+ "MC": {
+ "name": "Mɔnakó"
+ },
+ "MN": {
+ "name": "Mɔngɔ́lia"
+ },
+ "MS": {
+ "name": "Mɔ́ntserád"
+ },
+ "NA": {
+ "name": "Namibí"
+ },
+ "NR": {
+ "name": "Naurú"
+ },
+ "DE": {
+ "name": "Ndzáman"
+ },
+ "NP": {
+ "name": "Nepál"
+ },
+ "SM": {
+ "name": "Ǹfúfúb Maríno"
+ },
+ "SH": {
+ "name": "Ǹfúfúb-Ɛlɛ́na"
+ },
+ "KN": {
+ "name": "Ǹfúfúb-Kilisətóv-ai-Nevis"
+ },
+ "LC": {
+ "name": "Ǹfúfúb-Lúsia"
+ },
+ "PM": {
+ "name": "Ǹfúfúb-Píɛr-ai-Mikəlɔ́ŋ"
+ },
+ "VC": {
+ "name": "Ǹfúfúb-Vɛngəsáŋ-ai-Bə Gələnadín"
+ },
+ "NG": {
+ "name": "Nihéria"
+ },
+ "NE": {
+ "name": "Nihɛ́r"
+ },
+ "NI": {
+ "name": "Nikarágua"
+ },
+ "NU": {
+ "name": "Niué"
+ },
+ "NC": {
+ "name": "Ǹkpámɛn Kaledónia"
+ },
+ "NZ": {
+ "name": "Ǹkpámɛn Zeláŋ"
+ },
+ "US": {
+ "name": "Ǹnam Amɛrəkə"
+ },
+ "GB": {
+ "name": "Ǹnam Engəlis"
+ },
+ "IO": {
+ "name": "ǹnam ɛngəlís yá Máŋ mə́ ɛ́ndə"
+ },
+ "CD": {
+ "name": "ǹnam Kongó Demokəlatíg"
+ },
+ "VG": {
+ "name": "ńnam Minlán ɛ́ngəlís"
+ },
+ "PS": {
+ "name": "Ǹnam Palɛsətín"
+ },
+ "CZ": {
+ "name": "Ǹnam Tsɛ́g"
+ },
+ "VA": {
+ "name": "Ǹnam Vatikán"
+ },
+ "CF": {
+ "name": "ǹnam Zǎŋ Afiriká"
+ },
+ "NO": {
+ "name": "Nɔrəvɛ́s"
+ },
+ "OM": {
+ "name": "Omán"
+ },
+ "HN": {
+ "name": "Ondurás"
+ },
+ "HU": {
+ "name": "Ongirí"
+ },
+ "AU": {
+ "name": "Osətəlalí"
+ },
+ "AT": {
+ "name": "Osətəlía"
+ },
+ "PK": {
+ "name": "Pakisətán"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panamá"
+ },
+ "PG": {
+ "name": "Papwazi yá Ǹkpámɛ́n Giné"
+ },
+ "PY": {
+ "name": "Paragué"
+ },
+ "PE": {
+ "name": "Perú"
+ },
+ "NL": {
+ "name": "Pɛíbá"
+ },
+ "PN": {
+ "name": "Pítə́kɛ́rɛnə"
+ },
+ "PF": {
+ "name": "Polinesí yá Fulɛnsí"
+ },
+ "PR": {
+ "name": "Pwɛrəto Ríko"
+ },
+ "DO": {
+ "name": "République dominicaine"
+ },
+ "RE": {
+ "name": "Reuniɔ́ŋ"
+ },
+ "RO": {
+ "name": "Rumaní"
+ },
+ "RU": {
+ "name": "Rúsian"
+ },
+ "RW": {
+ "name": "Ruwandá"
+ },
+ "SV": {
+ "name": "Saləvadór"
+ },
+ "WS": {
+ "name": "Samoá"
+ },
+ "ST": {
+ "name": "Saó Tomé ai Pəlinəsípe"
+ },
+ "SN": {
+ "name": "Senegál"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SK": {
+ "name": "Səlovakí"
+ },
+ "SI": {
+ "name": "Səlovénia"
+ },
+ "LK": {
+ "name": "Səri Laŋká"
+ },
+ "SC": {
+ "name": "Sɛsɛ́l"
+ },
+ "SL": {
+ "name": "Sierá-leónə"
+ },
+ "SG": {
+ "name": "Singapúr"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "CY": {
+ "name": "Sipəlús"
+ },
+ "SY": {
+ "name": "Sirí"
+ },
+ "SO": {
+ "name": "Somália"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SD": {
+ "name": "Sudáŋ"
+ },
+ "CH": {
+ "name": "Suís"
+ },
+ "SR": {
+ "name": "Surinám"
+ },
+ "SE": {
+ "name": "Suwɛ́d"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swazilándə"
+ },
+ "TJ": {
+ "name": "Tadzikisətáŋ"
+ },
+ "TH": {
+ "name": "Tailán"
+ },
+ "TW": {
+ "name": "Taiwán"
+ },
+ "TZ": {
+ "name": "Taŋəzaní"
+ },
+ "TT": {
+ "name": "Təlinité-ai-Tobágo"
+ },
+ "TL": {
+ "name": "Timôr"
+ },
+ "TG": {
+ "name": "Togó"
+ },
+ "TK": {
+ "name": "Tokeló"
+ },
+ "TO": {
+ "name": "Tɔngá"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TD": {
+ "name": "Tsád"
+ },
+ "CN": {
+ "name": "Tsáina"
+ },
+ "CL": {
+ "name": "Tsilí"
+ },
+ "TN": {
+ "name": "Tunisí"
+ },
+ "TM": {
+ "name": "Turəkəmənisətáŋ"
+ },
+ "TR": {
+ "name": "Turəkí"
+ },
+ "TV": {
+ "name": "Tuvalú"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "UG": {
+ "name": "Ugandá"
+ },
+ "UA": {
+ "name": "Ukərɛ́n"
+ },
+ "UY": {
+ "name": "Urugué"
+ },
+ "UZ": {
+ "name": "Uzubekisətán"
+ },
+ "VU": {
+ "name": "Vanuátu"
+ },
+ "VE": {
+ "name": "Venezuéla"
+ },
+ "VN": {
+ "name": "Viɛdənám"
+ },
+ "WF": {
+ "name": "Walís-ai-Futúna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yemɛ́n"
+ },
+ "GI": {
+ "name": "Yiləbalatár"
+ },
+ "ZM": {
+ "name": "Zambí"
+ },
+ "ZW": {
+ "name": "Zimbabwé"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/fa-AF.json b/vendor/commerceguys/intl/resources/country/fa-AF.json
new file mode 100644
index 000000000..07c342c83
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/fa-AF.json
@@ -0,0 +1,761 @@
+{
+ "AW": {
+ "name": "آروبا"
+ },
+ "AU": {
+ "name": "آسترالیا"
+ },
+ "DE": {
+ "name": "آلمان"
+ },
+ "AI": {
+ "name": "آنگویلا"
+ },
+ "IE": {
+ "name": "آیرلند"
+ },
+ "IS": {
+ "name": "آیسلند"
+ },
+ "AT": {
+ "name": "اتریش"
+ },
+ "AR": {
+ "name": "ارجنتاین"
+ },
+ "JO": {
+ "name": "اردن"
+ },
+ "AM": {
+ "name": "ارمنستان"
+ },
+ "ER": {
+ "name": "اریتریا"
+ },
+ "UZ": {
+ "name": "ازبکستان"
+ },
+ "EE": {
+ "name": "استونیا"
+ },
+ "IL": {
+ "name": "اسرائیل"
+ },
+ "SJ": {
+ "name": "اسوالبارد و جان‌ماین"
+ },
+ "ZA": {
+ "name": "افریقای جنوبی"
+ },
+ "AF": {
+ "name": "افغانستان"
+ },
+ "UA": {
+ "name": "اکراین"
+ },
+ "EC": {
+ "name": "اکوادور"
+ },
+ "AL": {
+ "name": "البانیا"
+ },
+ "DZ": {
+ "name": "الجزایر"
+ },
+ "SV": {
+ "name": "السلوادور"
+ },
+ "AE": {
+ "name": "امارات متحدهٔ عربی"
+ },
+ "AQ": {
+ "name": "انترکتیکا"
+ },
+ "AG": {
+ "name": "انتیگوا و باربودا"
+ },
+ "AD": {
+ "name": "اندورا"
+ },
+ "ID": {
+ "name": "اندونیزیا"
+ },
+ "AO": {
+ "name": "انگولا"
+ },
+ "US": {
+ "name": "ایالات متحده"
+ },
+ "IT": {
+ "name": "ایتالیا"
+ },
+ "ET": {
+ "name": "ایتوپیا"
+ },
+ "IR": {
+ "name": "ایران"
+ },
+ "BB": {
+ "name": "باربادوس"
+ },
+ "BH": {
+ "name": "بحرین"
+ },
+ "BR": {
+ "name": "برازیل"
+ },
+ "BM": {
+ "name": "برمودا"
+ },
+ "BN": {
+ "name": "برونی"
+ },
+ "GB": {
+ "name": "بریتانیا"
+ },
+ "BE": {
+ "name": "بلجیم"
+ },
+ "BG": {
+ "name": "بلغاریا"
+ },
+ "BZ": {
+ "name": "بلیز"
+ },
+ "BD": {
+ "name": "بنگله‌دیش"
+ },
+ "BJ": {
+ "name": "بنین"
+ },
+ "BS": {
+ "name": "بهاماس"
+ },
+ "BT": {
+ "name": "بوتان"
+ },
+ "BW": {
+ "name": "بوتسوانا"
+ },
+ "BF": {
+ "name": "بورکینافاسو"
+ },
+ "BI": {
+ "name": "بوروندی"
+ },
+ "BA": {
+ "name": "بوسنیا و هرزه‌گوینا"
+ },
+ "BO": {
+ "name": "بولیویا"
+ },
+ "PG": {
+ "name": "پاپوا نیو گینیا"
+ },
+ "PY": {
+ "name": "پاراگوای"
+ },
+ "PK": {
+ "name": "پاکستان"
+ },
+ "PW": {
+ "name": "پالائو"
+ },
+ "PA": {
+ "name": "پانامه"
+ },
+ "PT": {
+ "name": "پرتگال"
+ },
+ "PF": {
+ "name": "پلی‌نزی فرانسه"
+ },
+ "PR": {
+ "name": "پورتوریکو"
+ },
+ "PL": {
+ "name": "پولند"
+ },
+ "PE": {
+ "name": "پیرو"
+ },
+ "TJ": {
+ "name": "تاجکستان"
+ },
+ "TZ": {
+ "name": "تانزانیا"
+ },
+ "TH": {
+ "name": "تایلند"
+ },
+ "TW": {
+ "name": "تایوان"
+ },
+ "TM": {
+ "name": "ترکمنستان"
+ },
+ "TR": {
+ "name": "ترکیه"
+ },
+ "TA": {
+ "name": "تریستان دا کونا"
+ },
+ "TT": {
+ "name": "ترینیداد و توباگو"
+ },
+ "TK": {
+ "name": "توکلائو"
+ },
+ "TG": {
+ "name": "توگو"
+ },
+ "TN": {
+ "name": "تونس"
+ },
+ "TO": {
+ "name": "تونگا"
+ },
+ "TV": {
+ "name": "تووالو"
+ },
+ "TL": {
+ "name": "تیمور-لسته"
+ },
+ "JP": {
+ "name": "جاپان"
+ },
+ "JM": {
+ "name": "جامائیکا"
+ },
+ "GI": {
+ "name": "جبل‌الطارق"
+ },
+ "JE": {
+ "name": "جرزی"
+ },
+ "AC": {
+ "name": "جزایر آسنسیون"
+ },
+ "AX": {
+ "name": "جزایر آلاند"
+ },
+ "PN": {
+ "name": "جزایر پیت‌کرن"
+ },
+ "TC": {
+ "name": "جزایر تورکس و کایکوس"
+ },
+ "GS": {
+ "name": "جزایر جورجیای جنوبی و ساندویچ جنوبی"
+ },
+ "UM": {
+ "name": "جزایر دورافتادهٔ ایالات متحده"
+ },
+ "SB": {
+ "name": "جزایر سلیمان"
+ },
+ "FO": {
+ "name": "جزایر فارو"
+ },
+ "FK": {
+ "name": "جزایر فالکلند"
+ },
+ "IC": {
+ "name": "جزایر قناری"
+ },
+ "BQ": {
+ "name": "جزایر کارائیب هلند"
+ },
+ "CK": {
+ "name": "جزایر کوک"
+ },
+ "CC": {
+ "name": "جزایر کوکوس"
+ },
+ "KY": {
+ "name": "جزایر کِیمن"
+ },
+ "MH": {
+ "name": "جزایر مارشال"
+ },
+ "MP": {
+ "name": "جزایر ماریانای شمالی"
+ },
+ "VI": {
+ "name": "جزایر ویرجین ایالات متحده"
+ },
+ "VG": {
+ "name": "جزایر ویرجین بریتانیا"
+ },
+ "CX": {
+ "name": "جزیرهٔ کریسمس"
+ },
+ "IM": {
+ "name": "جزیرهٔ من"
+ },
+ "NF": {
+ "name": "جزیرهٔ نورفولک"
+ },
+ "AZ": {
+ "name": "جمهوری آذربایجان"
+ },
+ "CF": {
+ "name": "جمهوری افریقای مرکزی"
+ },
+ "CZ": {
+ "name": "جمهوری چک"
+ },
+ "DO": {
+ "name": "جمهوری دومینیکن"
+ },
+ "DJ": {
+ "name": "جیبوتی"
+ },
+ "TD": {
+ "name": "چاد"
+ },
+ "CL": {
+ "name": "چلی"
+ },
+ "CN": {
+ "name": "چین"
+ },
+ "DK": {
+ "name": "دنمارک"
+ },
+ "DM": {
+ "name": "دومینیکا"
+ },
+ "DG": {
+ "name": "دیه‌گو گارسیا"
+ },
+ "RW": {
+ "name": "روآندا"
+ },
+ "RU": {
+ "name": "روسیه"
+ },
+ "BY": {
+ "name": "روسیهٔ سفید"
+ },
+ "RO": {
+ "name": "رومانیا"
+ },
+ "RE": {
+ "name": "رئونیون"
+ },
+ "ZM": {
+ "name": "زامبیا"
+ },
+ "NZ": {
+ "name": "زیلاند جدید"
+ },
+ "ZW": {
+ "name": "زیمبابوی"
+ },
+ "CI": {
+ "name": "ساحل عاج"
+ },
+ "WS": {
+ "name": "ساموآ"
+ },
+ "AS": {
+ "name": "ساموآی امریکا"
+ },
+ "SM": {
+ "name": "سان‌مارینو"
+ },
+ "ST": {
+ "name": "سائوتومه و پرینسیپ"
+ },
+ "EA": {
+ "name": "سبته و ملیله"
+ },
+ "PS": {
+ "name": "سرزمین‌های فلسطینی"
+ },
+ "LK": {
+ "name": "سریلانکا"
+ },
+ "SK": {
+ "name": "سلواکیا"
+ },
+ "SI": {
+ "name": "سلونیا"
+ },
+ "BL": {
+ "name": "سن بارتلمی"
+ },
+ "PM": {
+ "name": "سن پیر و میکلن"
+ },
+ "KN": {
+ "name": "سنت کیتس و نویس"
+ },
+ "LC": {
+ "name": "سنت لوسیا"
+ },
+ "SX": {
+ "name": "سنت مارتن"
+ },
+ "MF": {
+ "name": "سنت مارتین"
+ },
+ "SH": {
+ "name": "سنت هلن"
+ },
+ "VC": {
+ "name": "سنت وینسنت و گرنادین‌ها"
+ },
+ "SZ": {
+ "name": "سوازیلند"
+ },
+ "SD": {
+ "name": "سودان"
+ },
+ "SS": {
+ "name": "سودان جنوبی"
+ },
+ "SR": {
+ "name": "سورینام"
+ },
+ "SY": {
+ "name": "سوریه"
+ },
+ "SO": {
+ "name": "سومالیه"
+ },
+ "SE": {
+ "name": "سویدن"
+ },
+ "CH": {
+ "name": "سویس"
+ },
+ "SL": {
+ "name": "سیرالیون"
+ },
+ "SC": {
+ "name": "سیشل"
+ },
+ "SG": {
+ "name": "سینگاپور"
+ },
+ "SN": {
+ "name": "سینیگال"
+ },
+ "EH": {
+ "name": "صحرای غربی"
+ },
+ "RS": {
+ "name": "صربستان"
+ },
+ "IQ": {
+ "name": "عراق"
+ },
+ "SA": {
+ "name": "عربستان سعودی"
+ },
+ "OM": {
+ "name": "عمان"
+ },
+ "FR": {
+ "name": "فرانسه"
+ },
+ "FI": {
+ "name": "فنلند"
+ },
+ "FJ": {
+ "name": "فیجی"
+ },
+ "PH": {
+ "name": "فیلیپین"
+ },
+ "CY": {
+ "name": "قبرس"
+ },
+ "KG": {
+ "name": "قرغزستان"
+ },
+ "KZ": {
+ "name": "قزاقستان"
+ },
+ "QA": {
+ "name": "قطر"
+ },
+ "IO": {
+ "name": "قلمرو بریتانیا در اقیانوس هند"
+ },
+ "TF": {
+ "name": "قلمروهای جنوبی فرانسه"
+ },
+ "CR": {
+ "name": "کاستریکا"
+ },
+ "NC": {
+ "name": "کالدونیای جدید"
+ },
+ "CM": {
+ "name": "کامرون"
+ },
+ "CA": {
+ "name": "کانادا"
+ },
+ "CG": {
+ "name": "کانگو - برازویل"
+ },
+ "CD": {
+ "name": "کانگو - کینشاسا"
+ },
+ "HR": {
+ "name": "کروشیا"
+ },
+ "KH": {
+ "name": "کمپوچیا"
+ },
+ "CW": {
+ "name": "کوراسائو"
+ },
+ "KR": {
+ "name": "کوریای جنوبی"
+ },
+ "KP": {
+ "name": "کوریای شمالی"
+ },
+ "XK": {
+ "name": "کوسوا"
+ },
+ "CO": {
+ "name": "کولمبیا"
+ },
+ "KM": {
+ "name": "کومورو"
+ },
+ "KW": {
+ "name": "کویت"
+ },
+ "CV": {
+ "name": "کیپ‌ورد"
+ },
+ "KI": {
+ "name": "کیریباتی"
+ },
+ "KE": {
+ "name": "کینیا"
+ },
+ "CU": {
+ "name": "کیوبا"
+ },
+ "GA": {
+ "name": "گابن"
+ },
+ "GM": {
+ "name": "گامبیا"
+ },
+ "GH": {
+ "name": "گانا"
+ },
+ "GE": {
+ "name": "گرجستان"
+ },
+ "GG": {
+ "name": "گرنزی"
+ },
+ "GD": {
+ "name": "گرینادا"
+ },
+ "GL": {
+ "name": "گرینلند"
+ },
+ "GT": {
+ "name": "گواتیمالا"
+ },
+ "GP": {
+ "name": "گوادلوپ"
+ },
+ "GU": {
+ "name": "گوام"
+ },
+ "GF": {
+ "name": "گویان فرانسه"
+ },
+ "GY": {
+ "name": "گیانا"
+ },
+ "GN": {
+ "name": "گینیا"
+ },
+ "GQ": {
+ "name": "گینیا استوایی"
+ },
+ "GW": {
+ "name": "گینیا بیسائو"
+ },
+ "LV": {
+ "name": "لاتویا"
+ },
+ "LA": {
+ "name": "لائوس"
+ },
+ "LB": {
+ "name": "لبنان"
+ },
+ "LT": {
+ "name": "لتوانیا"
+ },
+ "LU": {
+ "name": "لوکزامبورگ"
+ },
+ "LR": {
+ "name": "لیبریا"
+ },
+ "LY": {
+ "name": "لیبیا"
+ },
+ "LI": {
+ "name": "لیختن‌اشتاین"
+ },
+ "LS": {
+ "name": "لیسوتو"
+ },
+ "MG": {
+ "name": "مادغاسکر"
+ },
+ "MQ": {
+ "name": "مارتینیک"
+ },
+ "MO": {
+ "name": "ماکائو، ناحیهٔ ویژهٔ حکومتی چین"
+ },
+ "MW": {
+ "name": "مالاوی"
+ },
+ "MT": {
+ "name": "مالتا"
+ },
+ "MV": {
+ "name": "مالدیو"
+ },
+ "ML": {
+ "name": "مالی"
+ },
+ "MY": {
+ "name": "مالیزیا"
+ },
+ "YT": {
+ "name": "مایوت"
+ },
+ "HU": {
+ "name": "مجارستان"
+ },
+ "MA": {
+ "name": "مراکش"
+ },
+ "EG": {
+ "name": "مصر"
+ },
+ "MK": {
+ "name": "مقدونیه"
+ },
+ "MX": {
+ "name": "مکسیکو"
+ },
+ "MN": {
+ "name": "منگولیا"
+ },
+ "MR": {
+ "name": "موریتانیا"
+ },
+ "MU": {
+ "name": "موریس"
+ },
+ "MZ": {
+ "name": "موزمبیق"
+ },
+ "MD": {
+ "name": "مولداوی"
+ },
+ "MC": {
+ "name": "موناکو"
+ },
+ "MS": {
+ "name": "مونت‌سرات"
+ },
+ "ME": {
+ "name": "مونته‌نگرو"
+ },
+ "MM": {
+ "name": "میانمار (برمه)"
+ },
+ "FM": {
+ "name": "میکرونزیا"
+ },
+ "NO": {
+ "name": "ناروی"
+ },
+ "NA": {
+ "name": "نامیبیا"
+ },
+ "NE": {
+ "name": "نایجر"
+ },
+ "NR": {
+ "name": "نائورو"
+ },
+ "NP": {
+ "name": "نیپال"
+ },
+ "NG": {
+ "name": "نیجریا"
+ },
+ "NI": {
+ "name": "نیکاراگوا"
+ },
+ "NU": {
+ "name": "نیوئه"
+ },
+ "NL": {
+ "name": "هالند"
+ },
+ "HN": {
+ "name": "هاندوراس"
+ },
+ "HT": {
+ "name": "هایتی"
+ },
+ "ES": {
+ "name": "هسپانیه"
+ },
+ "IN": {
+ "name": "هند"
+ },
+ "HK": {
+ "name": "هنگ‌کنگ، ناحیهٔ ویژهٔ حکومتی چین"
+ },
+ "VA": {
+ "name": "واتیکان"
+ },
+ "WF": {
+ "name": "والیس و فوتونا"
+ },
+ "VU": {
+ "name": "وانواتو"
+ },
+ "VE": {
+ "name": "ونزویلا"
+ },
+ "VN": {
+ "name": "ویتنام"
+ },
+ "YE": {
+ "name": "یمن"
+ },
+ "UY": {
+ "name": "یوروگوای"
+ },
+ "UG": {
+ "name": "یوگاندا"
+ },
+ "GR": {
+ "name": "یونان"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/fa.json b/vendor/commerceguys/intl/resources/country/fa.json
new file mode 100644
index 000000000..bba753bef
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/fa.json
@@ -0,0 +1,761 @@
+{
+ "AR": {
+ "name": "آرژانتین"
+ },
+ "AW": {
+ "name": "آروبا"
+ },
+ "AL": {
+ "name": "آلبانی"
+ },
+ "DE": {
+ "name": "آلمان"
+ },
+ "AG": {
+ "name": "آنتیگوا و باربودا"
+ },
+ "AD": {
+ "name": "آندورا"
+ },
+ "AO": {
+ "name": "آنگولا"
+ },
+ "AI": {
+ "name": "آنگویلا"
+ },
+ "AT": {
+ "name": "اتریش"
+ },
+ "ET": {
+ "name": "اتیوپی"
+ },
+ "JO": {
+ "name": "اردن"
+ },
+ "AM": {
+ "name": "ارمنستان"
+ },
+ "UY": {
+ "name": "اروگوئه"
+ },
+ "ER": {
+ "name": "اریتره"
+ },
+ "UZ": {
+ "name": "ازبکستان"
+ },
+ "ES": {
+ "name": "اسپانیا"
+ },
+ "AU": {
+ "name": "استرالیا"
+ },
+ "EE": {
+ "name": "استونی"
+ },
+ "IL": {
+ "name": "اسرائیل"
+ },
+ "SK": {
+ "name": "اسلواکی"
+ },
+ "SI": {
+ "name": "اسلوونی"
+ },
+ "SJ": {
+ "name": "اسوالبارد و جان‌ماین"
+ },
+ "ZA": {
+ "name": "افریقای جنوبی"
+ },
+ "AF": {
+ "name": "افغانستان"
+ },
+ "EC": {
+ "name": "اکوادور"
+ },
+ "DZ": {
+ "name": "الجزایر"
+ },
+ "SV": {
+ "name": "السالوادور"
+ },
+ "AE": {
+ "name": "امارات متحدهٔ عربی"
+ },
+ "ID": {
+ "name": "اندونزی"
+ },
+ "UA": {
+ "name": "اوکراین"
+ },
+ "UG": {
+ "name": "اوگاندا"
+ },
+ "US": {
+ "name": "ایالات متحده"
+ },
+ "IT": {
+ "name": "ایتالیا"
+ },
+ "IR": {
+ "name": "ایران"
+ },
+ "IE": {
+ "name": "ایرلند"
+ },
+ "IS": {
+ "name": "ایسلند"
+ },
+ "BB": {
+ "name": "باربادوس"
+ },
+ "BS": {
+ "name": "باهاما"
+ },
+ "BH": {
+ "name": "بحرین"
+ },
+ "BR": {
+ "name": "برزیل"
+ },
+ "BM": {
+ "name": "برمودا"
+ },
+ "BN": {
+ "name": "برونئی"
+ },
+ "GB": {
+ "name": "بریتانیا"
+ },
+ "BY": {
+ "name": "بلاروس"
+ },
+ "BE": {
+ "name": "بلژیک"
+ },
+ "BG": {
+ "name": "بلغارستان"
+ },
+ "BZ": {
+ "name": "بلیز"
+ },
+ "BD": {
+ "name": "بنگلادش"
+ },
+ "BJ": {
+ "name": "بنین"
+ },
+ "BT": {
+ "name": "بوتان"
+ },
+ "BW": {
+ "name": "بوتسوانا"
+ },
+ "BF": {
+ "name": "بورکینافاسو"
+ },
+ "BI": {
+ "name": "بوروندی"
+ },
+ "BA": {
+ "name": "بوسنی و هرزگوین"
+ },
+ "BO": {
+ "name": "بولیوی"
+ },
+ "PG": {
+ "name": "پاپوا گینهٔ نو"
+ },
+ "PY": {
+ "name": "پاراگوئه"
+ },
+ "PK": {
+ "name": "پاکستان"
+ },
+ "PW": {
+ "name": "پالائو"
+ },
+ "PA": {
+ "name": "پاناما"
+ },
+ "PT": {
+ "name": "پرتغال"
+ },
+ "PE": {
+ "name": "پرو"
+ },
+ "PF": {
+ "name": "پلی‌نزی فرانسه"
+ },
+ "PR": {
+ "name": "پورتوریکو"
+ },
+ "TJ": {
+ "name": "تاجیکستان"
+ },
+ "TZ": {
+ "name": "تانزانیا"
+ },
+ "TH": {
+ "name": "تایلند"
+ },
+ "TW": {
+ "name": "تایوان"
+ },
+ "TM": {
+ "name": "ترکمنستان"
+ },
+ "TR": {
+ "name": "ترکیه"
+ },
+ "TA": {
+ "name": "تریستان دا کونا"
+ },
+ "TT": {
+ "name": "ترینیداد و توباگو"
+ },
+ "TK": {
+ "name": "توکلائو"
+ },
+ "TG": {
+ "name": "توگو"
+ },
+ "TN": {
+ "name": "تونس"
+ },
+ "TO": {
+ "name": "تونگا"
+ },
+ "TV": {
+ "name": "تووالو"
+ },
+ "TL": {
+ "name": "تیمور-لسته"
+ },
+ "JM": {
+ "name": "جامائیکا"
+ },
+ "GI": {
+ "name": "جبل‌الطارق"
+ },
+ "JE": {
+ "name": "جرزی"
+ },
+ "AC": {
+ "name": "جزایر آسنسیون"
+ },
+ "AX": {
+ "name": "جزایر آلاند"
+ },
+ "PN": {
+ "name": "جزایر پیت‌کرن"
+ },
+ "TC": {
+ "name": "جزایر تورکس و کایکوس"
+ },
+ "GS": {
+ "name": "جزایر جورجیای جنوبی و ساندویچ جنوبی"
+ },
+ "UM": {
+ "name": "جزایر دورافتادهٔ ایالات متحده"
+ },
+ "SB": {
+ "name": "جزایر سلیمان"
+ },
+ "FO": {
+ "name": "جزایر فارو"
+ },
+ "FK": {
+ "name": "جزایر فالکلند"
+ },
+ "IC": {
+ "name": "جزایر قناری"
+ },
+ "BQ": {
+ "name": "جزایر کارائیب هلند"
+ },
+ "CK": {
+ "name": "جزایر کوک"
+ },
+ "CC": {
+ "name": "جزایر کوکوس"
+ },
+ "KY": {
+ "name": "جزایر کِیمن"
+ },
+ "MH": {
+ "name": "جزایر مارشال"
+ },
+ "MP": {
+ "name": "جزایر ماریانای شمالی"
+ },
+ "VI": {
+ "name": "جزایر ویرجین ایالات متحده"
+ },
+ "VG": {
+ "name": "جزایر ویرجین بریتانیا"
+ },
+ "CX": {
+ "name": "جزیرهٔ کریسمس"
+ },
+ "IM": {
+ "name": "جزیرهٔ من"
+ },
+ "NF": {
+ "name": "جزیرهٔ نورفولک"
+ },
+ "AZ": {
+ "name": "جمهوری آذربایجان"
+ },
+ "CF": {
+ "name": "جمهوری افریقای مرکزی"
+ },
+ "CZ": {
+ "name": "جمهوری چک"
+ },
+ "DO": {
+ "name": "جمهوری دومینیکن"
+ },
+ "AQ": {
+ "name": "جنوبگان"
+ },
+ "DJ": {
+ "name": "جیبوتی"
+ },
+ "TD": {
+ "name": "چاد"
+ },
+ "CN": {
+ "name": "چین"
+ },
+ "DK": {
+ "name": "دانمارک"
+ },
+ "DM": {
+ "name": "دومینیکا"
+ },
+ "DG": {
+ "name": "دیه‌گو گارسیا"
+ },
+ "RE": {
+ "name": "رئونیون"
+ },
+ "RW": {
+ "name": "رواندا"
+ },
+ "RU": {
+ "name": "روسیه"
+ },
+ "RO": {
+ "name": "رومانی"
+ },
+ "ZM": {
+ "name": "زامبیا"
+ },
+ "ZW": {
+ "name": "زیمبابوه"
+ },
+ "JP": {
+ "name": "ژاپن"
+ },
+ "ST": {
+ "name": "سائوتومه و پرینسیپ"
+ },
+ "CI": {
+ "name": "ساحل عاج"
+ },
+ "WS": {
+ "name": "ساموآ"
+ },
+ "AS": {
+ "name": "ساموآی امریکا"
+ },
+ "SM": {
+ "name": "سان‌مارینو"
+ },
+ "EA": {
+ "name": "سبته و ملیله"
+ },
+ "PS": {
+ "name": "سرزمین‌های فلسطینی"
+ },
+ "LK": {
+ "name": "سری‌لانکا"
+ },
+ "BL": {
+ "name": "سن بارتلمی"
+ },
+ "PM": {
+ "name": "سن پیر و میکلن"
+ },
+ "KN": {
+ "name": "سنت کیتس و نویس"
+ },
+ "LC": {
+ "name": "سنت لوسیا"
+ },
+ "SX": {
+ "name": "سنت مارتن"
+ },
+ "MF": {
+ "name": "سنت مارتین"
+ },
+ "VC": {
+ "name": "سنت وینسنت و گرنادین"
+ },
+ "SH": {
+ "name": "سنت هلن"
+ },
+ "SG": {
+ "name": "سنگاپور"
+ },
+ "SN": {
+ "name": "سنگال"
+ },
+ "SZ": {
+ "name": "سوازیلند"
+ },
+ "SE": {
+ "name": "سوئد"
+ },
+ "CH": {
+ "name": "سوئیس"
+ },
+ "SD": {
+ "name": "سودان"
+ },
+ "SS": {
+ "name": "سودان جنوبی"
+ },
+ "SR": {
+ "name": "سورینام"
+ },
+ "SY": {
+ "name": "سوریه"
+ },
+ "SO": {
+ "name": "سومالی"
+ },
+ "SL": {
+ "name": "سیرالئون"
+ },
+ "SC": {
+ "name": "سیشل"
+ },
+ "CL": {
+ "name": "شیلی"
+ },
+ "EH": {
+ "name": "صحرای غربی"
+ },
+ "RS": {
+ "name": "صربستان"
+ },
+ "IQ": {
+ "name": "عراق"
+ },
+ "SA": {
+ "name": "عربستان سعودی"
+ },
+ "OM": {
+ "name": "عمان"
+ },
+ "GH": {
+ "name": "غنا"
+ },
+ "FR": {
+ "name": "فرانسه"
+ },
+ "FI": {
+ "name": "فنلاند"
+ },
+ "FJ": {
+ "name": "فیجی"
+ },
+ "PH": {
+ "name": "فیلیپین"
+ },
+ "CY": {
+ "name": "قبرس"
+ },
+ "KG": {
+ "name": "قرقیزستان"
+ },
+ "KZ": {
+ "name": "قزاقستان"
+ },
+ "QA": {
+ "name": "قطر"
+ },
+ "IO": {
+ "name": "قلمرو بریتانیا در اقیانوس هند"
+ },
+ "TF": {
+ "name": "قلمروهای جنوبی فرانسه"
+ },
+ "CR": {
+ "name": "کاستاریکا"
+ },
+ "NC": {
+ "name": "کالدونیای جدید"
+ },
+ "KH": {
+ "name": "کامبوج"
+ },
+ "CM": {
+ "name": "کامرون"
+ },
+ "CA": {
+ "name": "کانادا"
+ },
+ "HR": {
+ "name": "کرواسی"
+ },
+ "KR": {
+ "name": "کرهٔ جنوبی"
+ },
+ "KP": {
+ "name": "کرهٔ شمالی"
+ },
+ "CO": {
+ "name": "کلمبیا"
+ },
+ "CG": {
+ "name": "کنگو - برازویل"
+ },
+ "CD": {
+ "name": "کنگو - کینشاسا"
+ },
+ "KE": {
+ "name": "کنیا"
+ },
+ "CU": {
+ "name": "کوبا"
+ },
+ "CW": {
+ "name": "کوراسائو"
+ },
+ "XK": {
+ "name": "کوزوو"
+ },
+ "KM": {
+ "name": "کومورو"
+ },
+ "KW": {
+ "name": "کویت"
+ },
+ "CV": {
+ "name": "کیپ‌ورد"
+ },
+ "KI": {
+ "name": "کیریباتی"
+ },
+ "GA": {
+ "name": "گابن"
+ },
+ "GM": {
+ "name": "گامبیا"
+ },
+ "GE": {
+ "name": "گرجستان"
+ },
+ "GD": {
+ "name": "گرنادا"
+ },
+ "GG": {
+ "name": "گرنزی"
+ },
+ "GL": {
+ "name": "گرینلند"
+ },
+ "GT": {
+ "name": "گواتمالا"
+ },
+ "GP": {
+ "name": "گوادلوپ"
+ },
+ "GU": {
+ "name": "گوام"
+ },
+ "GY": {
+ "name": "گویان"
+ },
+ "GF": {
+ "name": "گویان فرانسه"
+ },
+ "GN": {
+ "name": "گینه"
+ },
+ "GQ": {
+ "name": "گینهٔ استوایی"
+ },
+ "GW": {
+ "name": "گینهٔ بیسائو"
+ },
+ "LA": {
+ "name": "لائوس"
+ },
+ "LB": {
+ "name": "لبنان"
+ },
+ "LV": {
+ "name": "لتونی"
+ },
+ "LS": {
+ "name": "لسوتو"
+ },
+ "LU": {
+ "name": "لوکزامبورگ"
+ },
+ "PL": {
+ "name": "لهستان"
+ },
+ "LR": {
+ "name": "لیبریا"
+ },
+ "LY": {
+ "name": "لیبی"
+ },
+ "LT": {
+ "name": "لیتوانی"
+ },
+ "LI": {
+ "name": "لیختن‌اشتاین"
+ },
+ "MG": {
+ "name": "ماداگاسکار"
+ },
+ "MQ": {
+ "name": "مارتینیک"
+ },
+ "MO": {
+ "name": "ماکائو، ناحیهٔ ویژهٔ حکومتی چین"
+ },
+ "MW": {
+ "name": "مالاوی"
+ },
+ "MT": {
+ "name": "مالت"
+ },
+ "MV": {
+ "name": "مالدیو"
+ },
+ "MY": {
+ "name": "مالزی"
+ },
+ "ML": {
+ "name": "مالی"
+ },
+ "YT": {
+ "name": "مایوت"
+ },
+ "HU": {
+ "name": "مجارستان"
+ },
+ "MA": {
+ "name": "مراکش"
+ },
+ "EG": {
+ "name": "مصر"
+ },
+ "MN": {
+ "name": "مغولستان"
+ },
+ "MK": {
+ "name": "مقدونیه"
+ },
+ "MX": {
+ "name": "مکزیک"
+ },
+ "MR": {
+ "name": "موریتانی"
+ },
+ "MU": {
+ "name": "موریس"
+ },
+ "MZ": {
+ "name": "موزامبیک"
+ },
+ "MD": {
+ "name": "مولداوی"
+ },
+ "MC": {
+ "name": "موناکو"
+ },
+ "MS": {
+ "name": "مونت‌سرات"
+ },
+ "ME": {
+ "name": "مونته‌نگرو"
+ },
+ "MM": {
+ "name": "میانمار (برمه)"
+ },
+ "FM": {
+ "name": "میکرونزی"
+ },
+ "NR": {
+ "name": "نائورو"
+ },
+ "NA": {
+ "name": "نامیبیا"
+ },
+ "NP": {
+ "name": "نپال"
+ },
+ "NO": {
+ "name": "نروژ"
+ },
+ "NE": {
+ "name": "نیجر"
+ },
+ "NG": {
+ "name": "نیجریه"
+ },
+ "NI": {
+ "name": "نیکاراگوئه"
+ },
+ "NU": {
+ "name": "نیوئه"
+ },
+ "NZ": {
+ "name": "نیوزیلند"
+ },
+ "VA": {
+ "name": "واتیکان"
+ },
+ "WF": {
+ "name": "والیس و فوتونا"
+ },
+ "VU": {
+ "name": "وانواتو"
+ },
+ "VE": {
+ "name": "ونزوئلا"
+ },
+ "VN": {
+ "name": "ویتنام"
+ },
+ "HT": {
+ "name": "هائیتی"
+ },
+ "NL": {
+ "name": "هلند"
+ },
+ "IN": {
+ "name": "هند"
+ },
+ "HN": {
+ "name": "هندوراس"
+ },
+ "HK": {
+ "name": "هنگ‌کنگ، ناحیهٔ ویژهٔ حکومتی چین"
+ },
+ "YE": {
+ "name": "یمن"
+ },
+ "GR": {
+ "name": "یونان"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/ff.json b/vendor/commerceguys/intl/resources/country/ff.json
new file mode 100644
index 000000000..1ffd7053e
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/ff.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afganistaan"
+ },
+ "ZA": {
+ "name": "Afrik bŋ Worgo"
+ },
+ "AZ": {
+ "name": "Ajerbayjaan"
+ },
+ "AX": {
+ "name": "Åland Islands"
+ },
+ "DZ": {
+ "name": "Alaseri"
+ },
+ "AL": {
+ "name": "Albanii"
+ },
+ "DE": {
+ "name": "Almaañ"
+ },
+ "AD": {
+ "name": "Anndoora"
+ },
+ "AI": {
+ "name": "Anngiyaa"
+ },
+ "AO": {
+ "name": "Anngolaa"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antiguwaa e Barbudaa"
+ },
+ "SA": {
+ "name": "Arabii Sawdit"
+ },
+ "AR": {
+ "name": "Arjantiin"
+ },
+ "AM": {
+ "name": "Armenii"
+ },
+ "AW": {
+ "name": "Aruuba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "BS": {
+ "name": "Bahamaas"
+ },
+ "BH": {
+ "name": "Bahreyn"
+ },
+ "BD": {
+ "name": "Banglaadees"
+ },
+ "BB": {
+ "name": "Barbadoos"
+ },
+ "BY": {
+ "name": "Belaruus"
+ },
+ "BZ": {
+ "name": "Beliise"
+ },
+ "BE": {
+ "name": "Beljik"
+ },
+ "BJ": {
+ "name": "Benee"
+ },
+ "BR": {
+ "name": "Beresiil"
+ },
+ "BM": {
+ "name": "Bermudaa"
+ },
+ "BO": {
+ "name": "Boliwii"
+ },
+ "BA": {
+ "name": "Bosnii Hersegowiin"
+ },
+ "BW": {
+ "name": "Botswaana"
+ },
+ "BG": {
+ "name": "Bulgarii"
+ },
+ "BF": {
+ "name": "Burkibaa Faaso"
+ },
+ "BN": {
+ "name": "Burnaay"
+ },
+ "BI": {
+ "name": "Burunndi"
+ },
+ "BT": {
+ "name": "Butaan"
+ },
+ "TD": {
+ "name": "Caad"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CL": {
+ "name": "Cilii"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Danmark"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "VA": {
+ "name": "Dowla Waticaan"
+ },
+ "US": {
+ "name": "Dowlaaji Dentuɗi Amerik"
+ },
+ "FK": {
+ "name": "Duuɗe Falkland"
+ },
+ "CV": {
+ "name": "Duuɗe Kap Weer"
+ },
+ "KY": {
+ "name": "Duuɗe Kaymaa"
+ },
+ "VI": {
+ "name": "Duuɗe Kecce Amerik"
+ },
+ "VG": {
+ "name": "duuɗe kecce britanii"
+ },
+ "CK": {
+ "name": "Duuɗe Kuuk"
+ },
+ "MP": {
+ "name": "Duuɗe Mariyaana Rewo"
+ },
+ "MH": {
+ "name": "Duuɗe Marsaal"
+ },
+ "NF": {
+ "name": "Duuɗe Norfolk"
+ },
+ "SB": {
+ "name": "Duuɗe Solomon"
+ },
+ "TC": {
+ "name": "Duuɗe Turke e Keikoos"
+ },
+ "ET": {
+ "name": "Ecoppi"
+ },
+ "EG": {
+ "name": "Ejipt"
+ },
+ "EC": {
+ "name": "Ekuwatoor"
+ },
+ "SV": {
+ "name": "El Salwador"
+ },
+ "AE": {
+ "name": "Emiraat Araab Denntuɗe"
+ },
+ "IN": {
+ "name": "Enndo"
+ },
+ "ID": {
+ "name": "Enndonesii"
+ },
+ "ER": {
+ "name": "Eriteree"
+ },
+ "ES": {
+ "name": "Espaañ"
+ },
+ "EE": {
+ "name": "Estoni"
+ },
+ "FR": {
+ "name": "Farayse"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FI": {
+ "name": "Fenland"
+ },
+ "FJ": {
+ "name": "Fijji"
+ },
+ "PH": {
+ "name": "Filipiin"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gaboo"
+ },
+ "GM": {
+ "name": "Gammbi"
+ },
+ "GH": {
+ "name": "Ganaa"
+ },
+ "GD": {
+ "name": "Garnaad"
+ },
+ "GR": {
+ "name": "Gerees"
+ },
+ "GN": {
+ "name": "Gine"
+ },
+ "GW": {
+ "name": "Gine-Bisaawo"
+ },
+ "GQ": {
+ "name": "Ginee Ekuwaatoriyaal"
+ },
+ "GY": {
+ "name": "Giyaan"
+ },
+ "GF": {
+ "name": "Giyaan Farayse"
+ },
+ "GL": {
+ "name": "Gorwendland"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GU": {
+ "name": "Guwam"
+ },
+ "GP": {
+ "name": "Gwaadalup"
+ },
+ "GT": {
+ "name": "Gwaatemalaa"
+ },
+ "HT": {
+ "name": "Haytii"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "IQ": {
+ "name": "Iraak"
+ },
+ "IR": {
+ "name": "Iraan"
+ },
+ "IE": {
+ "name": "Irlannda"
+ },
+ "IS": {
+ "name": "Islannda"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israa’iila"
+ },
+ "IT": {
+ "name": "Itali"
+ },
+ "JM": {
+ "name": "Jamayka"
+ },
+ "GE": {
+ "name": "Jeorgii"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "GI": {
+ "name": "Jibraltaar"
+ },
+ "DJ": {
+ "name": "Jibutii"
+ },
+ "JO": {
+ "name": "Jordani"
+ },
+ "KH": {
+ "name": "Kambodso"
+ },
+ "CM": {
+ "name": "Kameruun"
+ },
+ "CA": {
+ "name": "Kanadaa"
+ },
+ "KZ": {
+ "name": "Kasakstaan"
+ },
+ "QA": {
+ "name": "Kataar"
+ },
+ "IO": {
+ "name": "Keeriindi britaani to maayo enndo"
+ },
+ "KE": {
+ "name": "Keñaa"
+ },
+ "KG": {
+ "name": "Kirgistaan"
+ },
+ "KI": {
+ "name": "Kiribari"
+ },
+ "CI": {
+ "name": "Kodduwaar"
+ },
+ "CO": {
+ "name": "Kolombiya"
+ },
+ "KM": {
+ "name": "Komoor"
+ },
+ "CG": {
+ "name": "Konngo"
+ },
+ "KP": {
+ "name": "Koree Rewo"
+ },
+ "KR": {
+ "name": "Koree Worgo"
+ },
+ "HR": {
+ "name": "Korwasii"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "Kosta Rikaa"
+ },
+ "CU": {
+ "name": "Kubaa"
+ },
+ "KW": {
+ "name": "Kuweyti"
+ },
+ "GB": {
+ "name": "Laamateeri Rentundi"
+ },
+ "LA": {
+ "name": "Lawoos"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LV": {
+ "name": "Letonii"
+ },
+ "LB": {
+ "name": "Libaa"
+ },
+ "LR": {
+ "name": "Liberiyaa"
+ },
+ "LY": {
+ "name": "Libi"
+ },
+ "LU": {
+ "name": "Liksembuur"
+ },
+ "LI": {
+ "name": "Lincenstayn"
+ },
+ "LT": {
+ "name": "Lituaanii"
+ },
+ "ML": {
+ "name": "Maali"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MG": {
+ "name": "Madagaskaar"
+ },
+ "MW": {
+ "name": "Malaawi"
+ },
+ "MV": {
+ "name": "Maldiiwe"
+ },
+ "MY": {
+ "name": "Malesii"
+ },
+ "MT": {
+ "name": "Malte"
+ },
+ "MQ": {
+ "name": "Martinik"
+ },
+ "MA": {
+ "name": "Maruk"
+ },
+ "YT": {
+ "name": "Mayoot"
+ },
+ "MK": {
+ "name": "Meceduwaan"
+ },
+ "MX": {
+ "name": "Meksik"
+ },
+ "FM": {
+ "name": "Mikoronesii"
+ },
+ "MM": {
+ "name": "Miyamaar"
+ },
+ "MD": {
+ "name": "Moldawii"
+ },
+ "MC": {
+ "name": "Monaakoo"
+ },
+ "MN": {
+ "name": "Monngolii"
+ },
+ "MS": {
+ "name": "Monseraat"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MU": {
+ "name": "Moriis"
+ },
+ "MZ": {
+ "name": "Mosammbik"
+ },
+ "MR": {
+ "name": "Muritani"
+ },
+ "NA": {
+ "name": "Namibii"
+ },
+ "NR": {
+ "name": "Nawuru"
+ },
+ "CZ": {
+ "name": "Ndenndaandi Cek"
+ },
+ "CD": {
+ "name": "Ndenndaandi Demokaraasiire Konngo"
+ },
+ "CF": {
+ "name": "Ndenndaandi Santarafrik"
+ },
+ "DO": {
+ "name": "Ndenndanndi Dominika"
+ },
+ "NL": {
+ "name": "Nederlannda"
+ },
+ "NP": {
+ "name": "Nepaal"
+ },
+ "NE": {
+ "name": "Nijeer"
+ },
+ "NG": {
+ "name": "Nijeriyaa"
+ },
+ "NI": {
+ "name": "Nikaraguwaa"
+ },
+ "NU": {
+ "name": "Niuwe"
+ },
+ "NO": {
+ "name": "Norwees"
+ },
+ "NC": {
+ "name": "Nuwel Kaledonii"
+ },
+ "NZ": {
+ "name": "Nuwel Selannda"
+ },
+ "OM": {
+ "name": "Omaan"
+ },
+ "HN": {
+ "name": "Onnduraas"
+ },
+ "HU": {
+ "name": "Onngiri"
+ },
+ "AU": {
+ "name": "Ostaraalii"
+ },
+ "AT": {
+ "name": "Otiriis"
+ },
+ "PK": {
+ "name": "Pakistaan"
+ },
+ "PW": {
+ "name": "Palawu"
+ },
+ "PS": {
+ "name": "Palestiin Sisjordani e Gaasaa"
+ },
+ "PA": {
+ "name": "Panamaa"
+ },
+ "PG": {
+ "name": "Papuwaa Nuwel Gine"
+ },
+ "PY": {
+ "name": "Paraguwaay"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitkern"
+ },
+ "PF": {
+ "name": "Polinesii Farayse"
+ },
+ "PL": {
+ "name": "Poloñ"
+ },
+ "PR": {
+ "name": "Porto Rikoo"
+ },
+ "PT": {
+ "name": "Purtugaal"
+ },
+ "RE": {
+ "name": "Rewiñoo"
+ },
+ "RU": {
+ "name": "Riisii"
+ },
+ "RO": {
+ "name": "Rumanii"
+ },
+ "RW": {
+ "name": "Ruwanndaa"
+ },
+ "ZM": {
+ "name": "Sammbi"
+ },
+ "AS": {
+ "name": "Samowa Amerik"
+ },
+ "WS": {
+ "name": "Samowaa"
+ },
+ "JP": {
+ "name": "Sapoo"
+ },
+ "ST": {
+ "name": "Sawo Tome e Perensipe"
+ },
+ "SM": {
+ "name": "See Maree"
+ },
+ "PM": {
+ "name": "See Piyeer e Mikeloo"
+ },
+ "VC": {
+ "name": "See Weesaa e Garnadiin"
+ },
+ "SN": {
+ "name": "Senegaal"
+ },
+ "SH": {
+ "name": "Sent Helen"
+ },
+ "KN": {
+ "name": "Sent Kits e Newis"
+ },
+ "LC": {
+ "name": "Sent Lusiyaa"
+ },
+ "SL": {
+ "name": "Seraa liyon"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seysel"
+ },
+ "CN": {
+ "name": "Siin"
+ },
+ "CY": {
+ "name": "Siipar"
+ },
+ "ZW": {
+ "name": "Simbaabuwe"
+ },
+ "SG": {
+ "name": "Sinngapuur"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "LK": {
+ "name": "Siri Lanka"
+ },
+ "SY": {
+ "name": "Sirii"
+ },
+ "SK": {
+ "name": "Slowakii"
+ },
+ "SI": {
+ "name": "Slowenii"
+ },
+ "SO": {
+ "name": "Somalii"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SD": {
+ "name": "Sudaan"
+ },
+ "SR": {
+ "name": "Surinaam"
+ },
+ "SE": {
+ "name": "Suweed"
+ },
+ "CH": {
+ "name": "Suwiis"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swaasilannda"
+ },
+ "TJ": {
+ "name": "Tajikistaan"
+ },
+ "TZ": {
+ "name": "Tansanii"
+ },
+ "TH": {
+ "name": "Taylannda"
+ },
+ "TW": {
+ "name": "Taywaan"
+ },
+ "TL": {
+ "name": "Timoor Fuɗnaange"
+ },
+ "TT": {
+ "name": "Tirnidaad e Tobaago"
+ },
+ "TG": {
+ "name": "Togoo"
+ },
+ "TK": {
+ "name": "Tokelaaw"
+ },
+ "TO": {
+ "name": "Tonngaa"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisii"
+ },
+ "TR": {
+ "name": "Turkii"
+ },
+ "TM": {
+ "name": "Turkmenistaan"
+ },
+ "TV": {
+ "name": "Tuwaluu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "UA": {
+ "name": "Ukereen"
+ },
+ "UG": {
+ "name": "Unganndaa"
+ },
+ "UY": {
+ "name": "Uruguwaay"
+ },
+ "UZ": {
+ "name": "Usbekistaan"
+ },
+ "WF": {
+ "name": "Walis e Futuna"
+ },
+ "VU": {
+ "name": "Wanuwaatuu"
+ },
+ "VE": {
+ "name": "Wenesuwelaa"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "VN": {
+ "name": "Wiyetnaam"
+ },
+ "YE": {
+ "name": "Yemen"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/fi.json b/vendor/commerceguys/intl/resources/country/fi.json
new file mode 100644
index 000000000..518b71384
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/fi.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afganistan"
+ },
+ "AX": {
+ "name": "Ahvenanmaa"
+ },
+ "NL": {
+ "name": "Alankomaat"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Algeria"
+ },
+ "AS": {
+ "name": "Amerikan Samoa"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarktis"
+ },
+ "AG": {
+ "name": "Antigua ja Barbuda"
+ },
+ "AE": {
+ "name": "Arabiemiirikunnat"
+ },
+ "AR": {
+ "name": "Argentiina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension-saari"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AZ": {
+ "name": "Azerbaidžan"
+ },
+ "BS": {
+ "name": "Bahama"
+ },
+ "BH": {
+ "name": "Bahrain"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BE": {
+ "name": "Belgia"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia ja Hertsegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brasilia"
+ },
+ "IO": {
+ "name": "Brittiläinen Intian valtameren alue"
+ },
+ "VG": {
+ "name": "Brittiläiset Neitsytsaaret"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "KY": {
+ "name": "Caymansaaret"
+ },
+ "EA": {
+ "name": "Ceuta ja Melilla"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CK": {
+ "name": "Cookinsaaret"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DJ": {
+ "name": "Djibouti"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "DO": {
+ "name": "Dominikaaninen tasavalta"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egypti"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "ES": {
+ "name": "Espanja"
+ },
+ "ZA": {
+ "name": "Etelä-Afrikka"
+ },
+ "GS": {
+ "name": "Etelä-Georgia ja Eteläiset Sandwichsaaret"
+ },
+ "KR": {
+ "name": "Etelä-Korea"
+ },
+ "SS": {
+ "name": "Etelä-Sudan"
+ },
+ "ET": {
+ "name": "Etiopia"
+ },
+ "FK": {
+ "name": "Falklandinsaaret"
+ },
+ "FJ": {
+ "name": "Fidži"
+ },
+ "PH": {
+ "name": "Filippiinit"
+ },
+ "FO": {
+ "name": "Färsaaret"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GL": {
+ "name": "Grönlanti"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GW": {
+ "name": "Guinea-Bissau"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hongkong – Kiinan e.h.a."
+ },
+ "SJ": {
+ "name": "Huippuvuoret ja Jan Mayen"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IN": {
+ "name": "Intia"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IE": {
+ "name": "Irlanti"
+ },
+ "IS": {
+ "name": "Islanti"
+ },
+ "GB": {
+ "name": "Iso-Britannia"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "TL": {
+ "name": "Itä-Timor"
+ },
+ "AT": {
+ "name": "Itävalta"
+ },
+ "JM": {
+ "name": "Jamaika"
+ },
+ "JP": {
+ "name": "Japani"
+ },
+ "YE": {
+ "name": "Jemen"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordania"
+ },
+ "CX": {
+ "name": "Joulusaari"
+ },
+ "KH": {
+ "name": "Kambodža"
+ },
+ "CM": {
+ "name": "Kamerun"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "IC": {
+ "name": "Kanariansaaret"
+ },
+ "CV": {
+ "name": "Kap Verde"
+ },
+ "BQ": {
+ "name": "Karibian Alankomaat"
+ },
+ "KZ": {
+ "name": "Kazakstan"
+ },
+ "KE": {
+ "name": "Kenia"
+ },
+ "CF": {
+ "name": "Keski-Afrikan tasavalta"
+ },
+ "CN": {
+ "name": "Kiina"
+ },
+ "KG": {
+ "name": "Kirgisia"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "CO": {
+ "name": "Kolumbia"
+ },
+ "KM": {
+ "name": "Komorit"
+ },
+ "CD": {
+ "name": "Kongon demokraattinen tasavalta"
+ },
+ "CG": {
+ "name": "Kongon tasavalta"
+ },
+ "CC": {
+ "name": "Kookossaaret (Keelingsaaret)"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "GR": {
+ "name": "Kreikka"
+ },
+ "HR": {
+ "name": "Kroatia"
+ },
+ "CU": {
+ "name": "Kuuba"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "CY": {
+ "name": "Kypros"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LV": {
+ "name": "Latvia"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LB": {
+ "name": "Libanon"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Liettua"
+ },
+ "LU": {
+ "name": "Luxemburg"
+ },
+ "EH": {
+ "name": "Länsi-Sahara"
+ },
+ "MO": {
+ "name": "Macao – Kiinan e.h.a."
+ },
+ "MG": {
+ "name": "Madagaskar"
+ },
+ "MK": {
+ "name": "Makedonia"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MV": {
+ "name": "Malediivit"
+ },
+ "MY": {
+ "name": "Malesia"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "IM": {
+ "name": "Mansaari"
+ },
+ "MA": {
+ "name": "Marokko"
+ },
+ "MH": {
+ "name": "Marshallinsaaret"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Meksiko"
+ },
+ "FM": {
+ "name": "Mikronesian liittovaltio"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mosambik"
+ },
+ "MM": {
+ "name": "Myanmar (Burma)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NF": {
+ "name": "Norfolkinsaari"
+ },
+ "NO": {
+ "name": "Norja"
+ },
+ "CI": {
+ "name": "Norsunluurannikko"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palestiinalaisalueet"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua-Uusi-Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitcairn"
+ },
+ "KP": {
+ "name": "Pohjois-Korea"
+ },
+ "MP": {
+ "name": "Pohjois-Mariaanit"
+ },
+ "PT": {
+ "name": "Portugali"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "PL": {
+ "name": "Puola"
+ },
+ "GQ": {
+ "name": "Päiväntasaajan Guinea"
+ },
+ "QA": {
+ "name": "Qatar"
+ },
+ "FR": {
+ "name": "Ranska"
+ },
+ "TF": {
+ "name": "Ranskan eteläiset alueet"
+ },
+ "GF": {
+ "name": "Ranskan Guayana"
+ },
+ "PF": {
+ "name": "Ranskan Polynesia"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RO": {
+ "name": "Romania"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "SE": {
+ "name": "Ruotsi"
+ },
+ "SH": {
+ "name": "Saint Helena"
+ },
+ "KN": {
+ "name": "Saint Kitts ja Nevis"
+ },
+ "LC": {
+ "name": "Saint Lucia"
+ },
+ "VC": {
+ "name": "Saint Vincent ja Grenadiinit"
+ },
+ "BL": {
+ "name": "Saint-Barthélemy"
+ },
+ "MF": {
+ "name": "Saint-Martin"
+ },
+ "PM": {
+ "name": "Saint-Pierre ja Miquelon"
+ },
+ "DE": {
+ "name": "Saksa"
+ },
+ "SB": {
+ "name": "Salomonsaaret"
+ },
+ "ZM": {
+ "name": "Sambia"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "São Tomé ja Príncipe"
+ },
+ "SA": {
+ "name": "Saudi-Arabia"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychellit"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapore"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "FI": {
+ "name": "Suomi"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "CH": {
+ "name": "Sveitsi"
+ },
+ "SZ": {
+ "name": "Swazimaa"
+ },
+ "SY": {
+ "name": "Syyria"
+ },
+ "TJ": {
+ "name": "Tadžikistan"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TZ": {
+ "name": "Tansania"
+ },
+ "DK": {
+ "name": "Tanska"
+ },
+ "TH": {
+ "name": "Thaimaa"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad ja Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TD": {
+ "name": "Tšad"
+ },
+ "CZ": {
+ "name": "Tšekki"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TR": {
+ "name": "Turkki"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TC": {
+ "name": "Turks- ja Caicossaaret"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukraina"
+ },
+ "HU": {
+ "name": "Unkari"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "NC": {
+ "name": "Uusi-Kaledonia"
+ },
+ "NZ": {
+ "name": "Uusi-Seelanti"
+ },
+ "UZ": {
+ "name": "Uzbekistan"
+ },
+ "BY": {
+ "name": "Valko-Venäjä"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikaani"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "RU": {
+ "name": "Venäjä"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "EE": {
+ "name": "Viro"
+ },
+ "WF": {
+ "name": "Wallis ja Futuna"
+ },
+ "US": {
+ "name": "Yhdysvallat"
+ },
+ "UM": {
+ "name": "Yhdysvaltain erillissaaret"
+ },
+ "VI": {
+ "name": "Yhdysvaltain Neitsytsaaret"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/fil.json b/vendor/commerceguys/intl/resources/country/fil.json
new file mode 100644
index 000000000..f14ba9fb0
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/fil.json
@@ -0,0 +1,761 @@
+{
+ "AC": {
+ "name": "Acsencion island"
+ },
+ "AF": {
+ "name": "Afghanistan"
+ },
+ "AX": {
+ "name": "Åland Islands"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Algeria"
+ },
+ "AS": {
+ "name": "American Samoa"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigua and Barbuda"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "AZ": {
+ "name": "Azerbaijan"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahrain"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BY": {
+ "name": "Belarus"
+ },
+ "BE": {
+ "name": "Belgium"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia and Herzegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brazil"
+ },
+ "IO": {
+ "name": "British Indian Ocean Territory"
+ },
+ "VG": {
+ "name": "British Virgin Islands"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "KH": {
+ "name": "Cambodia"
+ },
+ "CM": {
+ "name": "Cameroon"
+ },
+ "CA": {
+ "name": "Canada"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "CV": {
+ "name": "Cape Verde"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "KY": {
+ "name": "Cayman Islands"
+ },
+ "CF": {
+ "name": "Central African Republic"
+ },
+ "EA": {
+ "name": "Ceuta and Melilla"
+ },
+ "TD": {
+ "name": "Chad"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CO": {
+ "name": "Colombia"
+ },
+ "KM": {
+ "name": "Comoros"
+ },
+ "CG": {
+ "name": "Congo - Brazzaville"
+ },
+ "CD": {
+ "name": "Congo - Kinshasa"
+ },
+ "CK": {
+ "name": "Cook Islands"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "CI": {
+ "name": "Côte d’Ivoire"
+ },
+ "HR": {
+ "name": "Croatia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "CY": {
+ "name": "Cyprus"
+ },
+ "CZ": {
+ "name": "Czech Republic"
+ },
+ "DK": {
+ "name": "Denmark"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DJ": {
+ "name": "Djibouti"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "DO": {
+ "name": "Dominican Republic"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egypt"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "GQ": {
+ "name": "Equatorial Guinea"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "US": {
+ "name": "Estados Unidos"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Ethiopia"
+ },
+ "FK": {
+ "name": "Falkland Islands"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "FI": {
+ "name": "Finland"
+ },
+ "FR": {
+ "name": "France"
+ },
+ "GF": {
+ "name": "French Guiana"
+ },
+ "PF": {
+ "name": "French Polynesia"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "DE": {
+ "name": "Germany"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GR": {
+ "name": "Greece"
+ },
+ "GL": {
+ "name": "Greenland"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GW": {
+ "name": "Guinea-Bissau"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "KP": {
+ "name": "Hilagang Korea"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hungary"
+ },
+ "IS": {
+ "name": "Iceland"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IQ": {
+ "name": "Iraq"
+ },
+ "IE": {
+ "name": "Ireland"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italy"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japan"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordan"
+ },
+ "EH": {
+ "name": "Kanlurang Sahara"
+ },
+ "KZ": {
+ "name": "Kazakhstan"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "KG": {
+ "name": "Kyrgyzstan"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LV": {
+ "name": "Latvia"
+ },
+ "LB": {
+ "name": "Lebanon"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lithuania"
+ },
+ "LU": {
+ "name": "Luxembourg"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malaysia"
+ },
+ "MV": {
+ "name": "Maldives"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MH": {
+ "name": "Marshall Islands"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Mexico"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "MA": {
+ "name": "Morocco"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar (Burma)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NL": {
+ "name": "Netherlands"
+ },
+ "NC": {
+ "name": "New Caledonia"
+ },
+ "NZ": {
+ "name": "New Zealand"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NF": {
+ "name": "Norfolk Island"
+ },
+ "MP": {
+ "name": "Northern Mariana Islands"
+ },
+ "NO": {
+ "name": "Norway"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palestinian Territories"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua New Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PH": {
+ "name": "Pilipinas"
+ },
+ "PN": {
+ "name": "Pitcairn Islands"
+ },
+ "PL": {
+ "name": "Poland"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "QA": {
+ "name": "Qatar"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RO": {
+ "name": "Romania"
+ },
+ "RU": {
+ "name": "Russia"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "BL": {
+ "name": "Saint Barthélemy"
+ },
+ "SH": {
+ "name": "Saint Helena"
+ },
+ "KN": {
+ "name": "Saint Kitts and Nevis"
+ },
+ "LC": {
+ "name": "Saint Lucia"
+ },
+ "MF": {
+ "name": "Saint Martin"
+ },
+ "PM": {
+ "name": "Saint Pierre and Miquelon"
+ },
+ "VC": {
+ "name": "Saint Vincent and the Grenadines"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "São Tomé and Príncipe"
+ },
+ "SA": {
+ "name": "Saudi Arabia"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SG": {
+ "name": "Singapore"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SB": {
+ "name": "Solomon Islands"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "ZA": {
+ "name": "South Africa"
+ },
+ "GS": {
+ "name": "South Georgia and the South Sandwich Islands"
+ },
+ "ES": {
+ "name": "Spain"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SJ": {
+ "name": "Svalbard and Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swaziland"
+ },
+ "SE": {
+ "name": "Sweden"
+ },
+ "CH": {
+ "name": "Switzerland"
+ },
+ "SY": {
+ "name": "Syria"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TJ": {
+ "name": "Tajikistan"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TH": {
+ "name": "Thailand"
+ },
+ "KR": {
+ "name": "Timog Korea"
+ },
+ "SS": {
+ "name": "Timog Sudan"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad and Tobago"
+ },
+ "TA": {
+ "name": "Tristan de Cunha"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TR": {
+ "name": "Turkey"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TC": {
+ "name": "Turks and Caicos Islands"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "VI": {
+ "name": "U.S. Virgin Islands"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukraine"
+ },
+ "AE": {
+ "name": "United Arab Emirates"
+ },
+ "GB": {
+ "name": "United Kingdom"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbekistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatican City"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis and Futuna"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/fo.json b/vendor/commerceguys/intl/resources/country/fo.json
new file mode 100644
index 000000000..45abb15bc
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/fo.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afganistan"
+ },
+ "AX": {
+ "name": "Áland"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Algeria"
+ },
+ "AS": {
+ "name": "Amerikanska Samoa"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarktis"
+ },
+ "AG": {
+ "name": "Antigua & Barbuda"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension"
+ },
+ "AZ": {
+ "name": "Aserbadjan"
+ },
+ "AU": {
+ "name": "Avstralia"
+ },
+ "BS": {
+ "name": "Bahamaoyggjar"
+ },
+ "BD": {
+ "name": "Bangladesj"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BH": {
+ "name": "Barein"
+ },
+ "BE": {
+ "name": "Belgia"
+ },
+ "BZ": {
+ "name": "Belis"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia-Hersegovina"
+ },
+ "BW": {
+ "name": "Botsvana"
+ },
+ "BR": {
+ "name": "Brasil"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Butan"
+ },
+ "KY": {
+ "name": "Caymanoyggjar"
+ },
+ "EA": {
+ "name": "Ceuta og Melilla"
+ },
+ "CK": {
+ "name": "Cooksoyggjar"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Danmark"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DJ": {
+ "name": "Djibuti"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "DO": {
+ "name": "Dominikalýðveldið"
+ },
+ "EG": {
+ "name": "Egyptaland"
+ },
+ "EC": {
+ "name": "Ekvador"
+ },
+ "GQ": {
+ "name": "Ekvatorguinea"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estland"
+ },
+ "ET": {
+ "name": "Etiopia"
+ },
+ "AT": {
+ "name": "Eysturríki"
+ },
+ "TL": {
+ "name": "Eysturtimor"
+ },
+ "FK": {
+ "name": "Falklandsoyggjar"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "CI": {
+ "name": "Fílabeinsstrondin"
+ },
+ "PH": {
+ "name": "Filipsoyggjar"
+ },
+ "FI": {
+ "name": "Finnland"
+ },
+ "FR": {
+ "name": "Frakland"
+ },
+ "GF": {
+ "name": "Franska Gujana"
+ },
+ "PF": {
+ "name": "Franska Polynesia"
+ },
+ "TF": {
+ "name": "Fronsku sunnaru landaøki"
+ },
+ "FO": {
+ "name": "Føroyar"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GH": {
+ "name": "Gana"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GR": {
+ "name": "Grikkaland"
+ },
+ "CV": {
+ "name": "Grønhøvdaoyggjar"
+ },
+ "GL": {
+ "name": "Grønland"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GW": {
+ "name": "Guinea-Bissau"
+ },
+ "GY": {
+ "name": "Gujana"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hong Kong SAR Kina"
+ },
+ "BY": {
+ "name": "Hvítarussland"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IE": {
+ "name": "Írland"
+ },
+ "IS": {
+ "name": "Ísland"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Ísrael"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JM": {
+ "name": "Jamaika"
+ },
+ "JP": {
+ "name": "Japan"
+ },
+ "YE": {
+ "name": "Jemen"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "CX": {
+ "name": "Jólaoyggjin"
+ },
+ "JO": {
+ "name": "Jordan"
+ },
+ "KH": {
+ "name": "Kambodja"
+ },
+ "CM": {
+ "name": "Kamerun"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "IC": {
+ "name": "Kanariuoyggjar"
+ },
+ "KZ": {
+ "name": "Kasakstan"
+ },
+ "QA": {
+ "name": "Katar"
+ },
+ "CZ": {
+ "name": "Kekkia"
+ },
+ "KE": {
+ "name": "Kenja"
+ },
+ "CL": {
+ "name": "Kili"
+ },
+ "CN": {
+ "name": "Kina"
+ },
+ "KG": {
+ "name": "Kirgisia"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "TD": {
+ "name": "Kjad"
+ },
+ "CC": {
+ "name": "Kokosoyggjar"
+ },
+ "CO": {
+ "name": "Kolombia"
+ },
+ "KM": {
+ "name": "Komoroyggjar"
+ },
+ "CG": {
+ "name": "Kongo"
+ },
+ "CD": {
+ "name": "Kongo, Dem. Lýðveldið"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "Kosta Rika"
+ },
+ "HR": {
+ "name": "Kroatia"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "KW": {
+ "name": "Kuvait"
+ },
+ "CY": {
+ "name": "Kýpros"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LV": {
+ "name": "Lettland"
+ },
+ "LB": {
+ "name": "Libanon"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Liktinstein"
+ },
+ "LT": {
+ "name": "Litava"
+ },
+ "LU": {
+ "name": "Luksemborg"
+ },
+ "MG": {
+ "name": "Madagaskar"
+ },
+ "MO": {
+ "name": "Makao SAR Kina"
+ },
+ "MK": {
+ "name": "Makedónia"
+ },
+ "MY": {
+ "name": "Malaisia"
+ },
+ "MW": {
+ "name": "Malavi"
+ },
+ "MV": {
+ "name": "Maldivoyggjar"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marokko"
+ },
+ "MH": {
+ "name": "Marshalloyggjar"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Meksiko"
+ },
+ "CF": {
+ "name": "Miðafrikalýðveldið"
+ },
+ "FM": {
+ "name": "Mikronesiasamveldið"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MR": {
+ "name": "Móritania"
+ },
+ "MU": {
+ "name": "Móritius"
+ },
+ "MZ": {
+ "name": "Mosambik"
+ },
+ "MM": {
+ "name": "Myanmar (Burma)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NL": {
+ "name": "Niðurlond"
+ },
+ "BQ": {
+ "name": "Niðurlonds Karibia"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NI": {
+ "name": "Nikaragua"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "MP": {
+ "name": "Norðaru Mariuoyggjar"
+ },
+ "KP": {
+ "name": "Norðurkorea"
+ },
+ "NO": {
+ "name": "Noreg"
+ },
+ "NF": {
+ "name": "Norfolksoyggj"
+ },
+ "NC": {
+ "name": "Nýkaledónia"
+ },
+ "NZ": {
+ "name": "Nýsæland"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palestinskt landøki"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua Nýguinea"
+ },
+ "PY": {
+ "name": "Paraguai"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitcairnoyggjar"
+ },
+ "PL": {
+ "name": "Pólland"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Riko"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RO": {
+ "name": "Rumenia"
+ },
+ "RU": {
+ "name": "Russland"
+ },
+ "PM": {
+ "name": "Saint Pierre og Miquelon"
+ },
+ "SB": {
+ "name": "Salomonoyggjar"
+ },
+ "US": {
+ "name": "Sambandsríki Amerika"
+ },
+ "UM": {
+ "name": "Sambandsríki Amerikas fjarskotnu oyggjar"
+ },
+ "VI": {
+ "name": "Sambandsríki Amerikas Jomfrúoyggjar"
+ },
+ "ZM": {
+ "name": "Sambia"
+ },
+ "AE": {
+ "name": "Sameindu Emirríkini"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "Sao Tome & Prinsipi"
+ },
+ "SA": {
+ "name": "Saudiarabia"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seyskelloyggjar"
+ },
+ "SL": {
+ "name": "Sierra Leona"
+ },
+ "ZW": {
+ "name": "Simbabvi"
+ },
+ "SG": {
+ "name": "Singapor"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "ES": {
+ "name": "Spania"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "BL": {
+ "name": "St-Barthélemy"
+ },
+ "MF": {
+ "name": "St-Martin"
+ },
+ "SH": {
+ "name": "St. Helena"
+ },
+ "KN": {
+ "name": "St. Kitts & Nevis"
+ },
+ "LC": {
+ "name": "St. Lusia"
+ },
+ "VC": {
+ "name": "St. Vinsent & Grenadinoyggjar"
+ },
+ "IO": {
+ "name": "Stóra Bretlands Indiahavoyggjar"
+ },
+ "VG": {
+ "name": "Stóra Bretlands Jomfrúoyggjar"
+ },
+ "GB": {
+ "name": "Stórabretland"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "ZA": {
+ "name": "Suðurafrika"
+ },
+ "GS": {
+ "name": "Suðurgeorgia og Suðursandwichoyggjar"
+ },
+ "KR": {
+ "name": "Suðurkorea"
+ },
+ "SS": {
+ "name": "Suðursudan"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "SZ": {
+ "name": "Svasiland"
+ },
+ "CH": {
+ "name": "Sveis"
+ },
+ "SE": {
+ "name": "Svøríki"
+ },
+ "SY": {
+ "name": "Sýria"
+ },
+ "TJ": {
+ "name": "Tadsjikistan"
+ },
+ "TH": {
+ "name": "Tailand"
+ },
+ "TW": {
+ "name": "Taivan"
+ },
+ "TZ": {
+ "name": "Tansania"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad & Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunesia"
+ },
+ "TR": {
+ "name": "Turkaland"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TC": {
+ "name": "Turks- og Caicosoyggjar"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "DE": {
+ "name": "Týskland"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukraina"
+ },
+ "HU": {
+ "name": "Ungarn"
+ },
+ "UY": {
+ "name": "Uruguai"
+ },
+ "UZ": {
+ "name": "Usbekistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikanbýur"
+ },
+ "VE": {
+ "name": "Venesuela"
+ },
+ "EH": {
+ "name": "Vestursahara"
+ },
+ "VN": {
+ "name": "Vjetnam"
+ },
+ "WF": {
+ "name": "Wallis- og Futunaoyggjar"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/fr-BE.json b/vendor/commerceguys/intl/resources/country/fr-BE.json
new file mode 100644
index 000000000..77621f32e
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/fr-BE.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afghanistan"
+ },
+ "ZA": {
+ "name": "Afrique du Sud"
+ },
+ "AL": {
+ "name": "Albanie"
+ },
+ "DZ": {
+ "name": "Algérie"
+ },
+ "DE": {
+ "name": "Allemagne"
+ },
+ "AD": {
+ "name": "Andorre"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarctique"
+ },
+ "AG": {
+ "name": "Antigua-et-Barbuda"
+ },
+ "SA": {
+ "name": "Arabie saoudite"
+ },
+ "AR": {
+ "name": "Argentine"
+ },
+ "AM": {
+ "name": "Arménie"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Australie"
+ },
+ "AT": {
+ "name": "Autriche"
+ },
+ "AZ": {
+ "name": "Azerbaïdjan"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahreïn"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BB": {
+ "name": "Barbade"
+ },
+ "BE": {
+ "name": "Belgique"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Bénin"
+ },
+ "BM": {
+ "name": "Bermudes"
+ },
+ "BT": {
+ "name": "Bhoutan"
+ },
+ "BY": {
+ "name": "Biélorussie"
+ },
+ "BO": {
+ "name": "Bolivie"
+ },
+ "BA": {
+ "name": "Bosnie-Herzégovine"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brésil"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgarie"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "KH": {
+ "name": "Cambodge"
+ },
+ "CM": {
+ "name": "Cameroun"
+ },
+ "CA": {
+ "name": "Canada"
+ },
+ "CV": {
+ "name": "Cap-Vert"
+ },
+ "EA": {
+ "name": "Ceuta et Melilla"
+ },
+ "CL": {
+ "name": "Chili"
+ },
+ "CN": {
+ "name": "Chine"
+ },
+ "CY": {
+ "name": "Chypre"
+ },
+ "CO": {
+ "name": "Colombie"
+ },
+ "KM": {
+ "name": "Comores"
+ },
+ "CG": {
+ "name": "Congo-Brazzaville"
+ },
+ "CD": {
+ "name": "Congo-Kinshasa"
+ },
+ "KP": {
+ "name": "Corée du Nord"
+ },
+ "KR": {
+ "name": "Corée du Sud"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "CI": {
+ "name": "Côte d’Ivoire"
+ },
+ "HR": {
+ "name": "Croatie"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Danemark"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DJ": {
+ "name": "Djibouti"
+ },
+ "DM": {
+ "name": "Dominique"
+ },
+ "EG": {
+ "name": "Égypte"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "AE": {
+ "name": "Émirats arabes unis"
+ },
+ "EC": {
+ "name": "Équateur"
+ },
+ "ER": {
+ "name": "Érythrée"
+ },
+ "ES": {
+ "name": "Espagne"
+ },
+ "EE": {
+ "name": "Estonie"
+ },
+ "VA": {
+ "name": "État de la Cité du Vatican"
+ },
+ "FM": {
+ "name": "États fédérés de Micronésie"
+ },
+ "US": {
+ "name": "États-Unis"
+ },
+ "ET": {
+ "name": "Éthiopie"
+ },
+ "FJ": {
+ "name": "Fidji"
+ },
+ "FI": {
+ "name": "Finlande"
+ },
+ "FR": {
+ "name": "France"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambie"
+ },
+ "GE": {
+ "name": "Géorgie"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GR": {
+ "name": "Grèce"
+ },
+ "GD": {
+ "name": "Grenade"
+ },
+ "GL": {
+ "name": "Groenland"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernesey"
+ },
+ "GN": {
+ "name": "Guinée"
+ },
+ "GQ": {
+ "name": "Guinée équatoriale"
+ },
+ "GW": {
+ "name": "Guinée-Bissau"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "GF": {
+ "name": "Guyane française"
+ },
+ "HT": {
+ "name": "Haïti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HU": {
+ "name": "Hongrie"
+ },
+ "CX": {
+ "name": "Île Christmas"
+ },
+ "AC": {
+ "name": "Île de l’Ascension"
+ },
+ "IM": {
+ "name": "Île de Man"
+ },
+ "NF": {
+ "name": "Île Norfolk"
+ },
+ "AX": {
+ "name": "Îles Åland"
+ },
+ "KY": {
+ "name": "Îles Caïmans"
+ },
+ "IC": {
+ "name": "Îles Canaries"
+ },
+ "CC": {
+ "name": "Îles Cocos"
+ },
+ "CK": {
+ "name": "Îles Cook"
+ },
+ "FO": {
+ "name": "Îles Féroé"
+ },
+ "GS": {
+ "name": "Îles Géorgie du Sud et Sandwich du Sud"
+ },
+ "FK": {
+ "name": "Îles Malouines"
+ },
+ "MP": {
+ "name": "Îles Mariannes du Nord"
+ },
+ "MH": {
+ "name": "Îles Marshall"
+ },
+ "UM": {
+ "name": "Îles mineures éloignées des États-Unis"
+ },
+ "PN": {
+ "name": "Îles Pitcairn"
+ },
+ "SB": {
+ "name": "Îles Salomon"
+ },
+ "TC": {
+ "name": "Îles Turques-et-Caïques"
+ },
+ "VG": {
+ "name": "Îles Vierges britanniques"
+ },
+ "VI": {
+ "name": "Îles Vierges des États-Unis"
+ },
+ "IN": {
+ "name": "Inde"
+ },
+ "ID": {
+ "name": "Indonésie"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IE": {
+ "name": "Irlande"
+ },
+ "IS": {
+ "name": "Islande"
+ },
+ "IL": {
+ "name": "Israël"
+ },
+ "IT": {
+ "name": "Italie"
+ },
+ "JM": {
+ "name": "Jamaïque"
+ },
+ "JP": {
+ "name": "Japon"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordanie"
+ },
+ "KZ": {
+ "name": "Kazakhstan"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "KG": {
+ "name": "Kirghizistan"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Koweït"
+ },
+ "RE": {
+ "name": "La Réunion"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LV": {
+ "name": "Lettonie"
+ },
+ "LB": {
+ "name": "Liban"
+ },
+ "LR": {
+ "name": "Libéria"
+ },
+ "LY": {
+ "name": "Libye"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lituanie"
+ },
+ "LU": {
+ "name": "Luxembourg"
+ },
+ "MK": {
+ "name": "Macédoine"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MY": {
+ "name": "Malaisie"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MV": {
+ "name": "Maldives"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malte"
+ },
+ "MA": {
+ "name": "Maroc"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MU": {
+ "name": "Maurice"
+ },
+ "MR": {
+ "name": "Mauritanie"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Mexique"
+ },
+ "MD": {
+ "name": "Moldavie"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongolie"
+ },
+ "ME": {
+ "name": "Monténégro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar (Birmanie)"
+ },
+ "NA": {
+ "name": "Namibie"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Népal"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigéria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Norvège"
+ },
+ "NC": {
+ "name": "Nouvelle-Calédonie"
+ },
+ "NZ": {
+ "name": "Nouvelle-Zélande"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "UG": {
+ "name": "Ouganda"
+ },
+ "UZ": {
+ "name": "Ouzbékistan"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palaos"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papouasie-Nouvelle-Guinée"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "NL": {
+ "name": "Pays-Bas"
+ },
+ "BQ": {
+ "name": "Pays-Bas caribéens"
+ },
+ "PE": {
+ "name": "Pérou"
+ },
+ "PH": {
+ "name": "Philippines"
+ },
+ "PL": {
+ "name": "Pologne"
+ },
+ "PF": {
+ "name": "Polynésie française"
+ },
+ "PR": {
+ "name": "Porto Rico"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "QA": {
+ "name": "Qatar"
+ },
+ "HK": {
+ "name": "R.A.S. chinoise de Hong Kong"
+ },
+ "MO": {
+ "name": "R.A.S. chinoise de Macao"
+ },
+ "CF": {
+ "name": "République centrafricaine"
+ },
+ "DO": {
+ "name": "République dominicaine"
+ },
+ "CZ": {
+ "name": "République tchèque"
+ },
+ "RO": {
+ "name": "Roumanie"
+ },
+ "GB": {
+ "name": "Royaume-Uni"
+ },
+ "RU": {
+ "name": "Russie"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "EH": {
+ "name": "Sahara occidental"
+ },
+ "BL": {
+ "name": "Saint-Barthélemy"
+ },
+ "KN": {
+ "name": "Saint-Christophe-et-Niévès"
+ },
+ "SM": {
+ "name": "Saint-Marin"
+ },
+ "MF": {
+ "name": "Saint-Martin"
+ },
+ "SX": {
+ "name": "Saint-Martin (partie néerlandaise)"
+ },
+ "PM": {
+ "name": "Saint-Pierre-et-Miquelon"
+ },
+ "VC": {
+ "name": "Saint-Vincent-et-les-Grenadines"
+ },
+ "SH": {
+ "name": "Sainte-Hélène"
+ },
+ "LC": {
+ "name": "Sainte-Lucie"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa américaines"
+ },
+ "ST": {
+ "name": "Sao Tomé-et-Principe"
+ },
+ "SN": {
+ "name": "Sénégal"
+ },
+ "RS": {
+ "name": "Serbie"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapour"
+ },
+ "SK": {
+ "name": "Slovaquie"
+ },
+ "SI": {
+ "name": "Slovénie"
+ },
+ "SO": {
+ "name": "Somalie"
+ },
+ "SD": {
+ "name": "Soudan"
+ },
+ "SS": {
+ "name": "Soudan du Sud"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "SE": {
+ "name": "Suède"
+ },
+ "CH": {
+ "name": "Suisse"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SJ": {
+ "name": "Svalbard et Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swaziland"
+ },
+ "SY": {
+ "name": "Syrie"
+ },
+ "TJ": {
+ "name": "Tadjikistan"
+ },
+ "TW": {
+ "name": "Taïwan"
+ },
+ "TZ": {
+ "name": "Tanzanie"
+ },
+ "TD": {
+ "name": "Tchad"
+ },
+ "TF": {
+ "name": "Terres australes françaises"
+ },
+ "IO": {
+ "name": "Territoire britannique de l’océan Indien"
+ },
+ "PS": {
+ "name": "Territoires palestiniens"
+ },
+ "TH": {
+ "name": "Thaïlande"
+ },
+ "TL": {
+ "name": "Timor oriental"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokélaou"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinité-et-Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisie"
+ },
+ "TM": {
+ "name": "Turkménistan"
+ },
+ "TR": {
+ "name": "Turquie"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UA": {
+ "name": "Ukraine"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis-et-Futuna"
+ },
+ "YE": {
+ "name": "Yémen"
+ },
+ "ZM": {
+ "name": "Zambie"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/fr-CA.json b/vendor/commerceguys/intl/resources/country/fr-CA.json
new file mode 100644
index 000000000..0f1c1cf95
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/fr-CA.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afghanistan"
+ },
+ "ZA": {
+ "name": "Afrique du Sud"
+ },
+ "AL": {
+ "name": "Albanie"
+ },
+ "DZ": {
+ "name": "Algérie"
+ },
+ "DE": {
+ "name": "Allemagne"
+ },
+ "AD": {
+ "name": "Andorre"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarctique"
+ },
+ "AG": {
+ "name": "Antigua-et-Barbuda"
+ },
+ "SA": {
+ "name": "Arabie saoudite"
+ },
+ "AR": {
+ "name": "Argentine"
+ },
+ "AM": {
+ "name": "Arménie"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Australie"
+ },
+ "AT": {
+ "name": "Autriche"
+ },
+ "AZ": {
+ "name": "Azerbaïdjan"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahreïn"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BB": {
+ "name": "Barbade"
+ },
+ "BY": {
+ "name": "Bélarus"
+ },
+ "BE": {
+ "name": "Belgique"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Bénin"
+ },
+ "BM": {
+ "name": "Bermudes"
+ },
+ "BT": {
+ "name": "Bhoutan"
+ },
+ "BO": {
+ "name": "Bolivie"
+ },
+ "BA": {
+ "name": "Bosnie-Herzégovine"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brésil"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgarie"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "KH": {
+ "name": "Cambodge"
+ },
+ "CM": {
+ "name": "Cameroun"
+ },
+ "CA": {
+ "name": "Canada"
+ },
+ "CV": {
+ "name": "Cap-Vert"
+ },
+ "EA": {
+ "name": "Ceuta et Melilla"
+ },
+ "CL": {
+ "name": "Chili"
+ },
+ "CN": {
+ "name": "Chine"
+ },
+ "CY": {
+ "name": "Chypre"
+ },
+ "VA": {
+ "name": "Cité du Vatican"
+ },
+ "CO": {
+ "name": "Colombie"
+ },
+ "KM": {
+ "name": "Comores"
+ },
+ "CG": {
+ "name": "Congo-Brazzaville"
+ },
+ "CD": {
+ "name": "Congo-Kinshasa"
+ },
+ "KP": {
+ "name": "Corée du Nord"
+ },
+ "KR": {
+ "name": "Corée du Sud"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "CI": {
+ "name": "Côte d’Ivoire"
+ },
+ "HR": {
+ "name": "Croatie"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Danemark"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DJ": {
+ "name": "Djibouti"
+ },
+ "DM": {
+ "name": "Dominique"
+ },
+ "EG": {
+ "name": "Égypte"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "AE": {
+ "name": "Émirats arabes unis"
+ },
+ "EC": {
+ "name": "Équateur"
+ },
+ "ER": {
+ "name": "Érythrée"
+ },
+ "ES": {
+ "name": "Espagne"
+ },
+ "EE": {
+ "name": "Estonie"
+ },
+ "US": {
+ "name": "États-Unis"
+ },
+ "ET": {
+ "name": "Éthiopie"
+ },
+ "FJ": {
+ "name": "Fidji"
+ },
+ "FI": {
+ "name": "Finlande"
+ },
+ "FR": {
+ "name": "France"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambie"
+ },
+ "GE": {
+ "name": "Géorgie"
+ },
+ "GS": {
+ "name": "Géorgie du Sud et îles Sandwich du Sud"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GR": {
+ "name": "Grèce"
+ },
+ "GD": {
+ "name": "Grenade"
+ },
+ "GL": {
+ "name": "Groenland"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernesey"
+ },
+ "GN": {
+ "name": "Guinée"
+ },
+ "GQ": {
+ "name": "Guinée équatoriale"
+ },
+ "GW": {
+ "name": "Guinée-Bissau"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "GF": {
+ "name": "Guyane française"
+ },
+ "HT": {
+ "name": "Haïti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HU": {
+ "name": "Hongrie"
+ },
+ "CX": {
+ "name": "île Christmas"
+ },
+ "AC": {
+ "name": "île de l’Ascension"
+ },
+ "IM": {
+ "name": "île de Man"
+ },
+ "NF": {
+ "name": "île Norfolk"
+ },
+ "KY": {
+ "name": "Îles Caïmans"
+ },
+ "IC": {
+ "name": "îles Canaries"
+ },
+ "CC": {
+ "name": "îles Cocos (Keeling)"
+ },
+ "CK": {
+ "name": "îles Cook"
+ },
+ "AX": {
+ "name": "îles d’Åland"
+ },
+ "FO": {
+ "name": "îles Féroé"
+ },
+ "FK": {
+ "name": "îles Malouines"
+ },
+ "MH": {
+ "name": "Îles Marshall"
+ },
+ "UM": {
+ "name": "îles mineures éloignées des États-Unis"
+ },
+ "PN": {
+ "name": "îles Pitcairn"
+ },
+ "SB": {
+ "name": "Îles Salomon"
+ },
+ "TC": {
+ "name": "Îles Turques-et-Caïques"
+ },
+ "VI": {
+ "name": "îles Vierges américaines"
+ },
+ "VG": {
+ "name": "îles Vierges britanniques"
+ },
+ "IN": {
+ "name": "Inde"
+ },
+ "ID": {
+ "name": "Indonésie"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IE": {
+ "name": "Irlande"
+ },
+ "IS": {
+ "name": "Islande"
+ },
+ "IL": {
+ "name": "Israël"
+ },
+ "IT": {
+ "name": "Italie"
+ },
+ "JM": {
+ "name": "Jamaïque"
+ },
+ "JP": {
+ "name": "Japon"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordanie"
+ },
+ "KZ": {
+ "name": "Kazakhstan"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "KG": {
+ "name": "Kirghizistan"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Koweït"
+ },
+ "RE": {
+ "name": "la Réunion"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LV": {
+ "name": "Lettonie"
+ },
+ "LB": {
+ "name": "Liban"
+ },
+ "LR": {
+ "name": "Libéria"
+ },
+ "LY": {
+ "name": "Libye"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lituanie"
+ },
+ "LU": {
+ "name": "Luxembourg"
+ },
+ "MK": {
+ "name": "Macédoine"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MY": {
+ "name": "Malaisie"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MV": {
+ "name": "Maldives"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malte"
+ },
+ "MP": {
+ "name": "Mariannes du Nord"
+ },
+ "MA": {
+ "name": "Maroc"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MU": {
+ "name": "Maurice"
+ },
+ "MR": {
+ "name": "Mauritanie"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Mexique"
+ },
+ "FM": {
+ "name": "Micronésie"
+ },
+ "MD": {
+ "name": "Moldavie"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongolie"
+ },
+ "ME": {
+ "name": "Monténégro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar"
+ },
+ "NA": {
+ "name": "Namibie"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Népal"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigéria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Norvège"
+ },
+ "NC": {
+ "name": "Nouvelle-Calédonie"
+ },
+ "NZ": {
+ "name": "Nouvelle-Zélande"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "UG": {
+ "name": "Ouganda"
+ },
+ "UZ": {
+ "name": "Ouzbékistan"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palaos"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papouasie-Nouvelle-Guinée"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "NL": {
+ "name": "Pays-Bas"
+ },
+ "BQ": {
+ "name": "Pays-Bas caribéens"
+ },
+ "PE": {
+ "name": "Pérou"
+ },
+ "PH": {
+ "name": "Philippines"
+ },
+ "PL": {
+ "name": "Pologne"
+ },
+ "PF": {
+ "name": "Polynésie française"
+ },
+ "PR": {
+ "name": "Porto Rico"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "QA": {
+ "name": "Qatar"
+ },
+ "HK": {
+ "name": "R.A.S. chinoise de Hong Kong"
+ },
+ "MO": {
+ "name": "R.A.S. chinoise de Macao"
+ },
+ "CF": {
+ "name": "République centrafricaine"
+ },
+ "DO": {
+ "name": "République dominicaine"
+ },
+ "CZ": {
+ "name": "République tchèque"
+ },
+ "RO": {
+ "name": "Roumanie"
+ },
+ "GB": {
+ "name": "Royaume-Uni"
+ },
+ "RU": {
+ "name": "Russie"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "EH": {
+ "name": "Sahara occidental"
+ },
+ "BL": {
+ "name": "Saint-Barthélemy"
+ },
+ "KN": {
+ "name": "Saint-Christophe-et-Niévès"
+ },
+ "SM": {
+ "name": "Saint-Marin"
+ },
+ "MF": {
+ "name": "Saint-Martin (France)"
+ },
+ "SX": {
+ "name": "Saint-Martin (Pays-Bas)"
+ },
+ "PM": {
+ "name": "Saint-Pierre-et-Miquelon"
+ },
+ "VC": {
+ "name": "Saint-Vincent-et-les Grenadines"
+ },
+ "SH": {
+ "name": "Sainte-Hélène"
+ },
+ "LC": {
+ "name": "Sainte-Lucie"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa américaines"
+ },
+ "ST": {
+ "name": "Sao Tomé-et-Principe"
+ },
+ "SN": {
+ "name": "Sénégal"
+ },
+ "RS": {
+ "name": "Serbie"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapour"
+ },
+ "SK": {
+ "name": "Slovaquie"
+ },
+ "SI": {
+ "name": "Slovénie"
+ },
+ "SO": {
+ "name": "Somalie"
+ },
+ "SD": {
+ "name": "Soudan"
+ },
+ "SS": {
+ "name": "Soudan du Sud"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "SE": {
+ "name": "Suède"
+ },
+ "CH": {
+ "name": "Suisse"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SJ": {
+ "name": "Svalbard et Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swaziland"
+ },
+ "SY": {
+ "name": "Syrie"
+ },
+ "TJ": {
+ "name": "Tadjikistan"
+ },
+ "TW": {
+ "name": "Taïwan"
+ },
+ "TZ": {
+ "name": "Tanzanie"
+ },
+ "TD": {
+ "name": "Tchad"
+ },
+ "TF": {
+ "name": "Terres australes françaises"
+ },
+ "IO": {
+ "name": "Territoire britannique de l’océan Indien"
+ },
+ "PS": {
+ "name": "Territoires palestiniens"
+ },
+ "TH": {
+ "name": "Thaïlande"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinité-et-Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisie"
+ },
+ "TM": {
+ "name": "Turkménistan"
+ },
+ "TR": {
+ "name": "Turquie"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UA": {
+ "name": "Ukraine"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis-et-Futuna"
+ },
+ "YE": {
+ "name": "Yémen"
+ },
+ "ZM": {
+ "name": "Zambie"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/fr.json b/vendor/commerceguys/intl/resources/country/fr.json
new file mode 100644
index 000000000..38882255b
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/fr.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afghanistan"
+ },
+ "ZA": {
+ "name": "Afrique du Sud"
+ },
+ "AL": {
+ "name": "Albanie"
+ },
+ "DZ": {
+ "name": "Algérie"
+ },
+ "DE": {
+ "name": "Allemagne"
+ },
+ "AD": {
+ "name": "Andorre"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarctique"
+ },
+ "AG": {
+ "name": "Antigua-et-Barbuda"
+ },
+ "SA": {
+ "name": "Arabie saoudite"
+ },
+ "AR": {
+ "name": "Argentine"
+ },
+ "AM": {
+ "name": "Arménie"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Australie"
+ },
+ "AT": {
+ "name": "Autriche"
+ },
+ "AZ": {
+ "name": "Azerbaïdjan"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahreïn"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BB": {
+ "name": "Barbade"
+ },
+ "BE": {
+ "name": "Belgique"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Bénin"
+ },
+ "BM": {
+ "name": "Bermudes"
+ },
+ "BT": {
+ "name": "Bhoutan"
+ },
+ "BY": {
+ "name": "Biélorussie"
+ },
+ "BO": {
+ "name": "Bolivie"
+ },
+ "BA": {
+ "name": "Bosnie-Herzégovine"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brésil"
+ },
+ "BN": {
+ "name": "Brunéi Darussalam"
+ },
+ "BG": {
+ "name": "Bulgarie"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "KH": {
+ "name": "Cambodge"
+ },
+ "CM": {
+ "name": "Cameroun"
+ },
+ "CA": {
+ "name": "Canada"
+ },
+ "CV": {
+ "name": "Cap-Vert"
+ },
+ "EA": {
+ "name": "Ceuta et Melilla"
+ },
+ "CL": {
+ "name": "Chili"
+ },
+ "CN": {
+ "name": "Chine"
+ },
+ "CY": {
+ "name": "Chypre"
+ },
+ "CO": {
+ "name": "Colombie"
+ },
+ "KM": {
+ "name": "Comores"
+ },
+ "CG": {
+ "name": "Congo-Brazzaville"
+ },
+ "CD": {
+ "name": "Congo-Kinshasa"
+ },
+ "KP": {
+ "name": "Corée du Nord"
+ },
+ "KR": {
+ "name": "Corée du Sud"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "CI": {
+ "name": "Côte d’Ivoire"
+ },
+ "HR": {
+ "name": "Croatie"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Danemark"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DJ": {
+ "name": "Djibouti"
+ },
+ "DM": {
+ "name": "Dominique"
+ },
+ "EG": {
+ "name": "Égypte"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "AE": {
+ "name": "Émirats arabes unis"
+ },
+ "EC": {
+ "name": "Équateur"
+ },
+ "ER": {
+ "name": "Érythrée"
+ },
+ "ES": {
+ "name": "Espagne"
+ },
+ "EE": {
+ "name": "Estonie"
+ },
+ "VA": {
+ "name": "État de la Cité du Vatican"
+ },
+ "FM": {
+ "name": "États fédérés de Micronésie"
+ },
+ "US": {
+ "name": "États-Unis"
+ },
+ "ET": {
+ "name": "Éthiopie"
+ },
+ "FJ": {
+ "name": "Fidji"
+ },
+ "FI": {
+ "name": "Finlande"
+ },
+ "FR": {
+ "name": "France"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambie"
+ },
+ "GE": {
+ "name": "Géorgie"
+ },
+ "GS": {
+ "name": "Géorgie du Sud et îles Sandwich du Sud"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GR": {
+ "name": "Grèce"
+ },
+ "GD": {
+ "name": "Grenade"
+ },
+ "GL": {
+ "name": "Groenland"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernesey"
+ },
+ "GN": {
+ "name": "Guinée"
+ },
+ "GQ": {
+ "name": "Guinée équatoriale"
+ },
+ "GW": {
+ "name": "Guinée-Bissau"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "GF": {
+ "name": "Guyane française"
+ },
+ "HT": {
+ "name": "Haïti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HU": {
+ "name": "Hongrie"
+ },
+ "CX": {
+ "name": "Île Christmas"
+ },
+ "AC": {
+ "name": "Île de l’Ascension"
+ },
+ "IM": {
+ "name": "Île de Man"
+ },
+ "NF": {
+ "name": "Île Norfolk"
+ },
+ "AX": {
+ "name": "Îles Åland"
+ },
+ "KY": {
+ "name": "Îles Caïmans"
+ },
+ "IC": {
+ "name": "Îles Canaries"
+ },
+ "CC": {
+ "name": "Îles Cocos"
+ },
+ "CK": {
+ "name": "Îles Cook"
+ },
+ "FO": {
+ "name": "Îles Féroé"
+ },
+ "FK": {
+ "name": "Îles Malouines"
+ },
+ "MP": {
+ "name": "Îles Mariannes du Nord"
+ },
+ "MH": {
+ "name": "Îles Marshall"
+ },
+ "UM": {
+ "name": "Îles mineures éloignées des États-Unis"
+ },
+ "PN": {
+ "name": "Îles Pitcairn"
+ },
+ "SB": {
+ "name": "Îles Salomon"
+ },
+ "TC": {
+ "name": "Îles Turques-et-Caïques"
+ },
+ "VG": {
+ "name": "Îles Vierges britanniques"
+ },
+ "VI": {
+ "name": "Îles Vierges des États-Unis"
+ },
+ "IN": {
+ "name": "Inde"
+ },
+ "ID": {
+ "name": "Indonésie"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IE": {
+ "name": "Irlande"
+ },
+ "IS": {
+ "name": "Islande"
+ },
+ "IL": {
+ "name": "Israël"
+ },
+ "IT": {
+ "name": "Italie"
+ },
+ "JM": {
+ "name": "Jamaïque"
+ },
+ "JP": {
+ "name": "Japon"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordanie"
+ },
+ "KZ": {
+ "name": "Kazakhstan"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "KG": {
+ "name": "Kirghizistan"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Koweït"
+ },
+ "RE": {
+ "name": "La Réunion"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LV": {
+ "name": "Lettonie"
+ },
+ "LB": {
+ "name": "Liban"
+ },
+ "LR": {
+ "name": "Libéria"
+ },
+ "LY": {
+ "name": "Libye"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lituanie"
+ },
+ "LU": {
+ "name": "Luxembourg"
+ },
+ "MK": {
+ "name": "Macédoine"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MY": {
+ "name": "Malaisie"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MV": {
+ "name": "Maldives"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malte"
+ },
+ "MA": {
+ "name": "Maroc"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MU": {
+ "name": "Maurice"
+ },
+ "MR": {
+ "name": "Mauritanie"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Mexique"
+ },
+ "MD": {
+ "name": "Moldavie"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongolie"
+ },
+ "ME": {
+ "name": "Monténégro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar (Birmanie)"
+ },
+ "NA": {
+ "name": "Namibie"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Népal"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigéria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Norvège"
+ },
+ "NC": {
+ "name": "Nouvelle-Calédonie"
+ },
+ "NZ": {
+ "name": "Nouvelle-Zélande"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "UG": {
+ "name": "Ouganda"
+ },
+ "UZ": {
+ "name": "Ouzbékistan"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palaos"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papouasie-Nouvelle-Guinée"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "NL": {
+ "name": "Pays-Bas"
+ },
+ "BQ": {
+ "name": "Pays-Bas caribéens"
+ },
+ "PE": {
+ "name": "Pérou"
+ },
+ "PH": {
+ "name": "Philippines"
+ },
+ "PL": {
+ "name": "Pologne"
+ },
+ "PF": {
+ "name": "Polynésie française"
+ },
+ "PR": {
+ "name": "Porto Rico"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "QA": {
+ "name": "Qatar"
+ },
+ "HK": {
+ "name": "R.A.S. chinoise de Hong Kong"
+ },
+ "MO": {
+ "name": "R.A.S. chinoise de Macao"
+ },
+ "CF": {
+ "name": "République centrafricaine"
+ },
+ "DO": {
+ "name": "République dominicaine"
+ },
+ "CZ": {
+ "name": "République tchèque"
+ },
+ "RO": {
+ "name": "Roumanie"
+ },
+ "GB": {
+ "name": "Royaume-Uni"
+ },
+ "RU": {
+ "name": "Russie"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "EH": {
+ "name": "Sahara occidental"
+ },
+ "BL": {
+ "name": "Saint-Barthélemy"
+ },
+ "KN": {
+ "name": "Saint-Christophe-et-Niévès"
+ },
+ "SM": {
+ "name": "Saint-Marin"
+ },
+ "MF": {
+ "name": "Saint-Martin"
+ },
+ "SX": {
+ "name": "Saint-Martin (partie néerlandaise)"
+ },
+ "PM": {
+ "name": "Saint-Pierre-et-Miquelon"
+ },
+ "VC": {
+ "name": "Saint-Vincent-et-les-Grenadines"
+ },
+ "SH": {
+ "name": "Sainte-Hélène"
+ },
+ "LC": {
+ "name": "Sainte-Lucie"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa américaines"
+ },
+ "ST": {
+ "name": "Sao Tomé-et-Principe"
+ },
+ "SN": {
+ "name": "Sénégal"
+ },
+ "RS": {
+ "name": "Serbie"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapour"
+ },
+ "SK": {
+ "name": "Slovaquie"
+ },
+ "SI": {
+ "name": "Slovénie"
+ },
+ "SO": {
+ "name": "Somalie"
+ },
+ "SD": {
+ "name": "Soudan"
+ },
+ "SS": {
+ "name": "Soudan du Sud"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "SE": {
+ "name": "Suède"
+ },
+ "CH": {
+ "name": "Suisse"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SJ": {
+ "name": "Svalbard et Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swaziland"
+ },
+ "SY": {
+ "name": "Syrie"
+ },
+ "TJ": {
+ "name": "Tadjikistan"
+ },
+ "TW": {
+ "name": "Taïwan"
+ },
+ "TZ": {
+ "name": "Tanzanie"
+ },
+ "TD": {
+ "name": "Tchad"
+ },
+ "TF": {
+ "name": "Terres australes françaises"
+ },
+ "IO": {
+ "name": "Territoire britannique de l’océan Indien"
+ },
+ "PS": {
+ "name": "Territoires palestiniens"
+ },
+ "TH": {
+ "name": "Thaïlande"
+ },
+ "TL": {
+ "name": "Timor oriental"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokélaou"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinité-et-Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisie"
+ },
+ "TM": {
+ "name": "Turkménistan"
+ },
+ "TR": {
+ "name": "Turquie"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UA": {
+ "name": "Ukraine"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis-et-Futuna"
+ },
+ "YE": {
+ "name": "Yémen"
+ },
+ "ZM": {
+ "name": "Zambie"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/fur.json b/vendor/commerceguys/intl/resources/country/fur.json
new file mode 100644
index 000000000..f42c039e4
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/fur.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afghanistan"
+ },
+ "AL": {
+ "name": "Albanie"
+ },
+ "DZ": {
+ "name": "Alzerie"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antartic"
+ },
+ "AG": {
+ "name": "Antigua e Barbuda"
+ },
+ "SA": {
+ "name": "Arabie Saudide"
+ },
+ "AR": {
+ "name": "Argjentine"
+ },
+ "AM": {
+ "name": "Armenie"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AU": {
+ "name": "Australie"
+ },
+ "AT": {
+ "name": "Austrie"
+ },
+ "AZ": {
+ "name": "Azerbaigian"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahrain"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BE": {
+ "name": "Belgjiche"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BY": {
+ "name": "Bielorussie"
+ },
+ "MM": {
+ "name": "Birmanie"
+ },
+ "BO": {
+ "name": "Bolivie"
+ },
+ "BA": {
+ "name": "Bosnie e Ercegovine"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brasîl"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgarie"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "TD": {
+ "name": "Çad"
+ },
+ "KH": {
+ "name": "Camboze"
+ },
+ "CM": {
+ "name": "Camerun"
+ },
+ "CA": {
+ "name": "Canade"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta e Melilla"
+ },
+ "CL": {
+ "name": "Cile"
+ },
+ "CN": {
+ "name": "Cine"
+ },
+ "CY": {
+ "name": "Cipri"
+ },
+ "CV": {
+ "name": "Cjâf vert"
+ },
+ "CO": {
+ "name": "Colombie"
+ },
+ "KM": {
+ "name": "Comoris"
+ },
+ "CG": {
+ "name": "Congo - Brazzaville"
+ },
+ "KP": {
+ "name": "Coree dal nord"
+ },
+ "KR": {
+ "name": "Coree dal sud"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "HR": {
+ "name": "Cravuazie"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CI": {
+ "name": "Cueste di Avoli"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Danimarcje"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Dominiche"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egjit"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "AE": {
+ "name": "Emirâts araps unîts"
+ },
+ "ER": {
+ "name": "Eritree"
+ },
+ "EE": {
+ "name": "Estonie"
+ },
+ "ET": {
+ "name": "Etiopie"
+ },
+ "PH": {
+ "name": "Filipinis"
+ },
+ "FI": {
+ "name": "Finlandie"
+ },
+ "FJ": {
+ "name": "Fizi"
+ },
+ "FR": {
+ "name": "France"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GS": {
+ "name": "Georgia dal Sud e Isulis Sandwich dal Sud"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "DJ": {
+ "name": "Gibuti"
+ },
+ "JM": {
+ "name": "Gjamaiche"
+ },
+ "JP": {
+ "name": "Gjapon"
+ },
+ "GE": {
+ "name": "Gjeorgjie"
+ },
+ "DE": {
+ "name": "Gjermanie"
+ },
+ "GI": {
+ "name": "Gjibraltar"
+ },
+ "NC": {
+ "name": "Gnove Caledonie"
+ },
+ "NZ": {
+ "name": "Gnove Zelande"
+ },
+ "GR": {
+ "name": "Grecie"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GL": {
+ "name": "Groenlande"
+ },
+ "GP": {
+ "name": "Guadalupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GF": {
+ "name": "Guiana francês"
+ },
+ "GW": {
+ "name": "Guinea-Bissau"
+ },
+ "GN": {
+ "name": "Guinee"
+ },
+ "GQ": {
+ "name": "Guinee ecuatoriâl"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesie"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IQ": {
+ "name": "Iraq"
+ },
+ "IE": {
+ "name": "Irlande"
+ },
+ "IS": {
+ "name": "Islande"
+ },
+ "NF": {
+ "name": "Isole Norfolk"
+ },
+ "IL": {
+ "name": "Israêl"
+ },
+ "CX": {
+ "name": "Isule Christmas"
+ },
+ "IM": {
+ "name": "Isule di Man"
+ },
+ "AX": {
+ "name": "Isulis Aland"
+ },
+ "IC": {
+ "name": "Isulis Canariis"
+ },
+ "KY": {
+ "name": "Isulis Cayman"
+ },
+ "CC": {
+ "name": "Isulis Cocos"
+ },
+ "CK": {
+ "name": "Isulis Cook"
+ },
+ "FK": {
+ "name": "Isulis Falkland"
+ },
+ "FO": {
+ "name": "Isulis Faroe"
+ },
+ "MP": {
+ "name": "Isulis Mariana dal Nord"
+ },
+ "MH": {
+ "name": "Isulis Marshall"
+ },
+ "UM": {
+ "name": "Isulis periferichis minôrs dai Stâts Unîts"
+ },
+ "SB": {
+ "name": "Isulis Salomon"
+ },
+ "TC": {
+ "name": "Isulis Turks e Caicos"
+ },
+ "VI": {
+ "name": "Isulis vergjinis americanis"
+ },
+ "VG": {
+ "name": "Isulis vergjinis britanichis"
+ },
+ "IT": {
+ "name": "Italie"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordanie"
+ },
+ "KZ": {
+ "name": "Kazachistan"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "KG": {
+ "name": "Kirghizstan"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LV": {
+ "name": "Letonie"
+ },
+ "LB": {
+ "name": "Liban"
+ },
+ "LR": {
+ "name": "Liberie"
+ },
+ "LY": {
+ "name": "Libie"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lituanie"
+ },
+ "LU": {
+ "name": "Lussemburc"
+ },
+ "MK": {
+ "name": "Macedonie"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malaysia"
+ },
+ "MV": {
+ "name": "Maldivis"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Maroc"
+ },
+ "MQ": {
+ "name": "Martiniche"
+ },
+ "MR": {
+ "name": "Mauritanie"
+ },
+ "MU": {
+ "name": "Maurizi"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Messic"
+ },
+ "FM": {
+ "name": "Micronesie"
+ },
+ "MD": {
+ "name": "Moldavie"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongolie"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mozambic"
+ },
+ "NA": {
+ "name": "Namibie"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigerie"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Norvegje"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "HU": {
+ "name": "Ongjarie"
+ },
+ "NL": {
+ "name": "Paîs bas"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panamà"
+ },
+ "PG": {
+ "name": "Papue Gnove Guinee"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Perù"
+ },
+ "PN": {
+ "name": "Pitcairn"
+ },
+ "PF": {
+ "name": "Polinesie francês"
+ },
+ "PL": {
+ "name": "Polonie"
+ },
+ "PR": {
+ "name": "Porto Rico"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "QA": {
+ "name": "Qatar"
+ },
+ "GB": {
+ "name": "Ream unît"
+ },
+ "HK": {
+ "name": "Regjon aministrative speciâl de Cine di Hong Kong"
+ },
+ "MO": {
+ "name": "Regjon aministrative speciâl de Cine di Macao"
+ },
+ "CZ": {
+ "name": "Republiche ceche"
+ },
+ "CF": {
+ "name": "Republiche centri africane"
+ },
+ "CD": {
+ "name": "Republiche Democratiche dal Congo"
+ },
+ "DO": {
+ "name": "Republiche dominicane"
+ },
+ "RE": {
+ "name": "Reunion"
+ },
+ "RO": {
+ "name": "Romanie"
+ },
+ "RW": {
+ "name": "Ruande"
+ },
+ "RU": {
+ "name": "Russie"
+ },
+ "EH": {
+ "name": "Sahara ocidentâl"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa merecanis"
+ },
+ "KN": {
+ "name": "San Kitts e Nevis"
+ },
+ "SM": {
+ "name": "San Marin"
+ },
+ "PM": {
+ "name": "San Pierre e Miquelon"
+ },
+ "VC": {
+ "name": "San Vincent e lis Grenadinis"
+ },
+ "BL": {
+ "name": "Sant Barthélemy"
+ },
+ "MF": {
+ "name": "Sant Martin"
+ },
+ "SH": {
+ "name": "Sante Eline"
+ },
+ "LC": {
+ "name": "Sante Lusie"
+ },
+ "ST": {
+ "name": "Sao Tomè e Principe"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbie"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapore"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Sirie"
+ },
+ "SK": {
+ "name": "Slovachie"
+ },
+ "SI": {
+ "name": "Slovenie"
+ },
+ "SO": {
+ "name": "Somalie"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "ES": {
+ "name": "Spagne"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "US": {
+ "name": "Stâts Unîts"
+ },
+ "ZA": {
+ "name": "Sud Afriche"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SJ": {
+ "name": "Svalbard e Jan Mayen"
+ },
+ "SE": {
+ "name": "Svezie"
+ },
+ "CH": {
+ "name": "Svuizare"
+ },
+ "SZ": {
+ "name": "Swaziland"
+ },
+ "TH": {
+ "name": "Tailandie"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TZ": {
+ "name": "Tanzanie"
+ },
+ "TJ": {
+ "name": "Tazikistan"
+ },
+ "IO": {
+ "name": "Teritori britanic dal Ocean Indian"
+ },
+ "TF": {
+ "name": "Teritoris meridionâi francês"
+ },
+ "PS": {
+ "name": "Teritoris palestinês"
+ },
+ "TL": {
+ "name": "Timor orientâl"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad e Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisie"
+ },
+ "TR": {
+ "name": "Turchie"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UA": {
+ "name": "Ucraine"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbechistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatican"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis e Futuna"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/fy.json b/vendor/commerceguys/intl/resources/country/fy.json
new file mode 100644
index 000000000..fa7fc3c81
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/fy.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afghanistan"
+ },
+ "AX": {
+ "name": "Ålân"
+ },
+ "AL": {
+ "name": "Albanië"
+ },
+ "DZ": {
+ "name": "Algerije"
+ },
+ "AS": {
+ "name": "Amerikaansk Samoa"
+ },
+ "VI": {
+ "name": "Amerikaanske Maagdeneilannen"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigua en Barbuda"
+ },
+ "AR": {
+ "name": "Argentinië"
+ },
+ "AM": {
+ "name": "Armenië"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension"
+ },
+ "AU": {
+ "name": "Australië"
+ },
+ "AZ": {
+ "name": "Azerbeidzjan"
+ },
+ "BS": {
+ "name": "Bahama’s"
+ },
+ "BH": {
+ "name": "Bahrein"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BE": {
+ "name": "België"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnië en Herzegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brazilië"
+ },
+ "IO": {
+ "name": "Britse Gebieden yn de Indyske Oseaan"
+ },
+ "VG": {
+ "name": "Britse Maagdeneilannen"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgarije"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "KH": {
+ "name": "Cambodja"
+ },
+ "CA": {
+ "name": "Canada"
+ },
+ "KY": {
+ "name": "Caymaneilannen"
+ },
+ "EA": {
+ "name": "Ceuta en Melilla"
+ },
+ "CL": {
+ "name": "Chili"
+ },
+ "KM": {
+ "name": "Comoren"
+ },
+ "CG": {
+ "name": "Congo-Brazzaville"
+ },
+ "CD": {
+ "name": "Congo-Kinshasa"
+ },
+ "CK": {
+ "name": "Cookeilannen"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Denemarken"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DJ": {
+ "name": "Djibouti"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "DO": {
+ "name": "Dominikaanske Republyk"
+ },
+ "DE": {
+ "name": "Dútslân"
+ },
+ "TL": {
+ "name": "East-Timor"
+ },
+ "AT": {
+ "name": "Eastenryk"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egypte"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "GQ": {
+ "name": "Equatoriaal-Guinea"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estlân"
+ },
+ "ET": {
+ "name": "Ethiopië"
+ },
+ "FO": {
+ "name": "Faeröer"
+ },
+ "FK": {
+ "name": "Falklâneilannen"
+ },
+ "US": {
+ "name": "Ferienigde Staten"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filipijnen"
+ },
+ "FI": {
+ "name": "Finlân"
+ },
+ "FR": {
+ "name": "Frankrijk"
+ },
+ "GF": {
+ "name": "Frans-Guyana"
+ },
+ "PF": {
+ "name": "Frans-Polynesië"
+ },
+ "TF": {
+ "name": "Franse Gebieden in de zuidelijke Indyske Oseaan"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgië"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GL": {
+ "name": "Grienlân"
+ },
+ "GR": {
+ "name": "Grikelân"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GN": {
+ "name": "Guinee"
+ },
+ "GW": {
+ "name": "Guinee-Bissau"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haïti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HU": {
+ "name": "Hongarije"
+ },
+ "HK": {
+ "name": "Hongkong SAR van Sina"
+ },
+ "IE": {
+ "name": "Ierlân"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israël"
+ },
+ "IT": {
+ "name": "Italië"
+ },
+ "CI": {
+ "name": "Ivoorkust"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japan"
+ },
+ "YE": {
+ "name": "Jemen"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordanië"
+ },
+ "CV": {
+ "name": "Kaapverdië"
+ },
+ "CM": {
+ "name": "Kameroen"
+ },
+ "IC": {
+ "name": "Kanaryske Eilânnen"
+ },
+ "BQ": {
+ "name": "Karibysk Nederlân"
+ },
+ "KZ": {
+ "name": "Kazachstan"
+ },
+ "KE": {
+ "name": "Kenia"
+ },
+ "KG": {
+ "name": "Kirgizië"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "KW": {
+ "name": "Koeweit"
+ },
+ "CC": {
+ "name": "Kokosilanen"
+ },
+ "CO": {
+ "name": "Kolombia"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "HR": {
+ "name": "Kroatië"
+ },
+ "CX": {
+ "name": "Krysteilan"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LV": {
+ "name": "Letlân"
+ },
+ "LB": {
+ "name": "Libanon"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libië"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Litouwen"
+ },
+ "LU": {
+ "name": "Luxemburg"
+ },
+ "UM": {
+ "name": "Lyts ôflizzen eilannen fan de Ferienigde Staten"
+ },
+ "MO": {
+ "name": "Macao SAR van Sina"
+ },
+ "MK": {
+ "name": "Macedonië"
+ },
+ "MG": {
+ "name": "Madeiaskar"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MV": {
+ "name": "Maldiven"
+ },
+ "MY": {
+ "name": "Maleisië"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marokko"
+ },
+ "MH": {
+ "name": "Marshalleilannen"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MR": {
+ "name": "Mauritanië"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Mexico"
+ },
+ "FM": {
+ "name": "Micronesië"
+ },
+ "MD": {
+ "name": "Moldavië"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongolië"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar (Birma)"
+ },
+ "NA": {
+ "name": "Namibië"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NL": {
+ "name": "Nederlân"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NC": {
+ "name": "Nij-Caledonië"
+ },
+ "NZ": {
+ "name": "Nij-Seelân"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "KP": {
+ "name": "Noard-Korea"
+ },
+ "MP": {
+ "name": "Noardlike Marianeneilannen"
+ },
+ "NO": {
+ "name": "Noarwegen"
+ },
+ "NF": {
+ "name": "Norfolkeilân"
+ },
+ "UG": {
+ "name": "Oeganda"
+ },
+ "UA": {
+ "name": "Oekraïne"
+ },
+ "UZ": {
+ "name": "Oezbekistan"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palestynske gebieten"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papoea-Nij-Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitcairneilannen"
+ },
+ "PL": {
+ "name": "Polen"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "QA": {
+ "name": "Qatar"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RO": {
+ "name": "Roemenië"
+ },
+ "RU": {
+ "name": "Ruslân"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "BL": {
+ "name": "Saint Barthélemy"
+ },
+ "KN": {
+ "name": "Saint Kitts en Nevis"
+ },
+ "LC": {
+ "name": "Saint Lucia"
+ },
+ "VC": {
+ "name": "Saint Vincent en de Grenadines"
+ },
+ "MF": {
+ "name": "Saint-Martin"
+ },
+ "PM": {
+ "name": "Saint-Pierre en Miquelon"
+ },
+ "SB": {
+ "name": "Salomonseilannen"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "Sao Tomé en Principe"
+ },
+ "SA": {
+ "name": "Saoedi-Arabië"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Servië"
+ },
+ "SC": {
+ "name": "Seychellen"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "CN": {
+ "name": "Sina"
+ },
+ "SG": {
+ "name": "Singapore"
+ },
+ "SH": {
+ "name": "Sint-Helena"
+ },
+ "SX": {
+ "name": "Sint-Maarten"
+ },
+ "CF": {
+ "name": "Sintraal-Afrikaanske Republyk"
+ },
+ "SI": {
+ "name": "Slovenië"
+ },
+ "SK": {
+ "name": "Slowakije"
+ },
+ "SD": {
+ "name": "Soedan"
+ },
+ "SO": {
+ "name": "Somalië"
+ },
+ "ES": {
+ "name": "Spanje"
+ },
+ "SJ": {
+ "name": "Spitsbergen en Jan Mayen"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "ZA": {
+ "name": "Sûd-Afrika"
+ },
+ "GS": {
+ "name": "Sûd-Georgia en Sûdlike Sandwicheilannen"
+ },
+ "KR": {
+ "name": "Sûd-Korea"
+ },
+ "SS": {
+ "name": "Sûd-Soedan"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SZ": {
+ "name": "Swazilân"
+ },
+ "CH": {
+ "name": "Switserlân"
+ },
+ "CY": {
+ "name": "Syprus"
+ },
+ "SY": {
+ "name": "Syrië"
+ },
+ "TJ": {
+ "name": "Tadzjikistan"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TH": {
+ "name": "Thailân"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad en Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TD": {
+ "name": "Tsjaad"
+ },
+ "CZ": {
+ "name": "Tsjechje"
+ },
+ "TN": {
+ "name": "Tunesië"
+ },
+ "TR": {
+ "name": "Turkije"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TC": {
+ "name": "Turks- en Caicoseilannen"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vaticaanstêd"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "GB": {
+ "name": "Verenigd Koninkrijk"
+ },
+ "AE": {
+ "name": "Verenigde Arabyske Emiraten"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis en Futuna"
+ },
+ "EH": {
+ "name": "Westelijke Sahara"
+ },
+ "BY": {
+ "name": "Wit-Ruslân"
+ },
+ "ID": {
+ "name": "Yndonesië"
+ },
+ "IS": {
+ "name": "Yslân"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ },
+ "SE": {
+ "name": "Zweden"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/ga.json b/vendor/commerceguys/intl/resources/country/ga.json
new file mode 100644
index 000000000..ab3c85af4
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/ga.json
@@ -0,0 +1,761 @@
+{
+ "ET": {
+ "name": "An Aetóip"
+ },
+ "AF": {
+ "name": "An Afganastáin"
+ },
+ "ZA": {
+ "name": "An Afraic Theas"
+ },
+ "DZ": {
+ "name": "An Ailgéir"
+ },
+ "AR": {
+ "name": "An Airgintín"
+ },
+ "AM": {
+ "name": "An Airméin"
+ },
+ "AL": {
+ "name": "An Albáin"
+ },
+ "AQ": {
+ "name": "An Antartaice"
+ },
+ "SA": {
+ "name": "An Araib Shádach"
+ },
+ "AZ": {
+ "name": "An Asarbaiseáin"
+ },
+ "AU": {
+ "name": "An Astráil"
+ },
+ "BD": {
+ "name": "An Bhanglaidéis"
+ },
+ "BY": {
+ "name": "An Bhealarúis"
+ },
+ "BE": {
+ "name": "An Bheilg"
+ },
+ "BZ": {
+ "name": "An Bheilís"
+ },
+ "BA": {
+ "name": "An Bhoisnia agus An Heirseagaivéin"
+ },
+ "BO": {
+ "name": "An Bholaiv"
+ },
+ "BW": {
+ "name": "An Bhotsuáin"
+ },
+ "BR": {
+ "name": "An Bhrasaíl"
+ },
+ "BG": {
+ "name": "An Bhulgáir"
+ },
+ "BI": {
+ "name": "An Bhurúin"
+ },
+ "BT": {
+ "name": "An Bhútáin"
+ },
+ "KH": {
+ "name": "An Chambóid"
+ },
+ "KZ": {
+ "name": "An Chasacstáin"
+ },
+ "KE": {
+ "name": "An Chéinia"
+ },
+ "CY": {
+ "name": "An Chipir"
+ },
+ "KG": {
+ "name": "An Chirgeastáin"
+ },
+ "KR": {
+ "name": "An Chóiré Theas"
+ },
+ "KP": {
+ "name": "An Chóiré Thuaidh"
+ },
+ "CO": {
+ "name": "An Cholóim"
+ },
+ "XK": {
+ "name": "An Chosaiv"
+ },
+ "HR": {
+ "name": "An Chróit"
+ },
+ "CG": {
+ "name": "An Congó"
+ },
+ "CI": {
+ "name": "An Cósta Eabhair"
+ },
+ "DK": {
+ "name": "An Danmhairg"
+ },
+ "EE": {
+ "name": "An Eastóin"
+ },
+ "EG": {
+ "name": "An Éigipt"
+ },
+ "CH": {
+ "name": "An Eilvéis"
+ },
+ "ER": {
+ "name": "An Eiritré"
+ },
+ "FI": {
+ "name": "An Fhionlainn"
+ },
+ "FR": {
+ "name": "An Fhrainc"
+ },
+ "GA": {
+ "name": "An Ghabúin"
+ },
+ "GM": {
+ "name": "An Ghaimbia"
+ },
+ "DE": {
+ "name": "An Ghearmáin"
+ },
+ "GL": {
+ "name": "An Ghraonlainn"
+ },
+ "GR": {
+ "name": "An Ghréig"
+ },
+ "GY": {
+ "name": "An Ghuáin"
+ },
+ "GN": {
+ "name": "An Ghuine"
+ },
+ "GQ": {
+ "name": "An Ghuine Mheánchriosach"
+ },
+ "IQ": {
+ "name": "An Iaráic"
+ },
+ "IR": {
+ "name": "An Iaráin"
+ },
+ "IN": {
+ "name": "An India"
+ },
+ "ID": {
+ "name": "An Indinéis"
+ },
+ "IT": {
+ "name": "An Iodáil"
+ },
+ "JO": {
+ "name": "An Iordáin"
+ },
+ "NO": {
+ "name": "An Iorua"
+ },
+ "IS": {
+ "name": "An Íoslainn"
+ },
+ "NL": {
+ "name": "An Ísiltír"
+ },
+ "BQ": {
+ "name": "An Ísiltír Chairibeach"
+ },
+ "LV": {
+ "name": "An Laitvia"
+ },
+ "LR": {
+ "name": "An Libéir"
+ },
+ "LY": {
+ "name": "An Libia"
+ },
+ "LB": {
+ "name": "An Liobáin"
+ },
+ "LT": {
+ "name": "An Liotuáin"
+ },
+ "MK": {
+ "name": "An Mhacadóin"
+ },
+ "MY": {
+ "name": "An Mhalaeisia"
+ },
+ "MW": {
+ "name": "An Mhaláiv"
+ },
+ "MR": {
+ "name": "An Mháratáin"
+ },
+ "FM": {
+ "name": "An Mhicrinéis"
+ },
+ "MD": {
+ "name": "An Mholdóiv"
+ },
+ "MN": {
+ "name": "An Mhongóil"
+ },
+ "NA": {
+ "name": "An Namaib"
+ },
+ "NG": {
+ "name": "An Nigéir"
+ },
+ "NE": {
+ "name": "An Nígir"
+ },
+ "NC": {
+ "name": "An Nua-Chaladóin"
+ },
+ "NZ": {
+ "name": "An Nua-Shéalainn"
+ },
+ "AT": {
+ "name": "An Ostair"
+ },
+ "PK": {
+ "name": "An Phacastáin"
+ },
+ "DO": {
+ "name": "An Phoblacht Dhoiminiceach"
+ },
+ "PL": {
+ "name": "An Pholainn"
+ },
+ "PT": {
+ "name": "An Phortaingéil"
+ },
+ "GB": {
+ "name": "An Ríocht Aontaithe"
+ },
+ "RO": {
+ "name": "An Rómáin"
+ },
+ "RU": {
+ "name": "An Rúis"
+ },
+ "EH": {
+ "name": "An Sahára Thiar"
+ },
+ "ES": {
+ "name": "An Spáinn"
+ },
+ "TJ": {
+ "name": "An Táidsíceastáin"
+ },
+ "TZ": {
+ "name": "An Tansáin"
+ },
+ "TH": {
+ "name": "An Téalainn"
+ },
+ "TW": {
+ "name": "An Téaváin"
+ },
+ "ZM": {
+ "name": "An tSaimbia"
+ },
+ "SV": {
+ "name": "An tSalvadóir"
+ },
+ "JP": {
+ "name": "An tSeapáin"
+ },
+ "SN": {
+ "name": "An tSeineagáil"
+ },
+ "RS": {
+ "name": "An tSeirbia"
+ },
+ "GE": {
+ "name": "An tSeoirsia"
+ },
+ "GS": {
+ "name": "An tSeoirsia Theas agus Oileáin Sandwich Theas"
+ },
+ "CL": {
+ "name": "An tSile"
+ },
+ "CN": {
+ "name": "An tSín"
+ },
+ "ZW": {
+ "name": "An tSiombáib"
+ },
+ "SY": {
+ "name": "An tSiria"
+ },
+ "SI": {
+ "name": "An tSlóivéin"
+ },
+ "SK": {
+ "name": "An tSlóvaic"
+ },
+ "SO": {
+ "name": "An tSomáil"
+ },
+ "SE": {
+ "name": "An tSualainn"
+ },
+ "SZ": {
+ "name": "An tSuasalainn"
+ },
+ "SD": {
+ "name": "An tSúdáin"
+ },
+ "SS": {
+ "name": "An tSúdáin Theas"
+ },
+ "TN": {
+ "name": "An Túinéis"
+ },
+ "TR": {
+ "name": "An Tuirc"
+ },
+ "TM": {
+ "name": "An Tuircméanastáin"
+ },
+ "UA": {
+ "name": "An Úcráin"
+ },
+ "UZ": {
+ "name": "An Úisbéiceastáin"
+ },
+ "HU": {
+ "name": "An Ungáir"
+ },
+ "VA": {
+ "name": "An Vatacáin"
+ },
+ "AD": {
+ "name": "Andóra"
+ },
+ "AI": {
+ "name": "Angaíle"
+ },
+ "AO": {
+ "name": "Angóla"
+ },
+ "AG": {
+ "name": "Antigua agus Barbúda"
+ },
+ "AE": {
+ "name": "Aontas na nÉimíríochtaí Arabacha"
+ },
+ "AW": {
+ "name": "Arúba"
+ },
+ "BH": {
+ "name": "Bairéin"
+ },
+ "BB": {
+ "name": "Barbadós"
+ },
+ "BJ": {
+ "name": "Beinin"
+ },
+ "BM": {
+ "name": "Beirmiúda"
+ },
+ "BN": {
+ "name": "Brúiné"
+ },
+ "BF": {
+ "name": "Buircíne Fasó"
+ },
+ "CM": {
+ "name": "Camarún"
+ },
+ "QA": {
+ "name": "Catar"
+ },
+ "CA": {
+ "name": "Ceanada"
+ },
+ "EA": {
+ "name": "Ceuta agus Melilla"
+ },
+ "KI": {
+ "name": "Cireabaití"
+ },
+ "CR": {
+ "name": "Cósta Ríce"
+ },
+ "IO": {
+ "name": "Críoch Aigéan Indiach na Breataine"
+ },
+ "TF": {
+ "name": "Críocha Francacha Dheisceart an Domhain"
+ },
+ "KW": {
+ "name": "Cuáit"
+ },
+ "CU": {
+ "name": "Cúba"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DJ": {
+ "name": "Djibouti"
+ },
+ "DM": {
+ "name": "Doiminice"
+ },
+ "EC": {
+ "name": "Eacuadór"
+ },
+ "YE": {
+ "name": "Éimin"
+ },
+ "IE": {
+ "name": "Éire"
+ },
+ "FJ": {
+ "name": "Fidsí"
+ },
+ "GH": {
+ "name": "Gána"
+ },
+ "GG": {
+ "name": "Geansaí"
+ },
+ "JE": {
+ "name": "Geirsí"
+ },
+ "GI": {
+ "name": "Giobráltar"
+ },
+ "GD": {
+ "name": "Greanáda"
+ },
+ "GP": {
+ "name": "Guadalúip"
+ },
+ "GF": {
+ "name": "Guáin na Fraince"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatamala"
+ },
+ "GW": {
+ "name": "Guine Bissau"
+ },
+ "HT": {
+ "name": "Háítí"
+ },
+ "HN": {
+ "name": "Hondúras"
+ },
+ "JM": {
+ "name": "Iamáice"
+ },
+ "IL": {
+ "name": "Iosrael"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Leosóta"
+ },
+ "LI": {
+ "name": "Lichtinstéin"
+ },
+ "LU": {
+ "name": "Lucsamburg"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MM": {
+ "name": "Maenmar (Burma)"
+ },
+ "ML": {
+ "name": "Mailí"
+ },
+ "MT": {
+ "name": "Málta"
+ },
+ "MA": {
+ "name": "Maracó"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Meicsiceo"
+ },
+ "MC": {
+ "name": "Monacó"
+ },
+ "ME": {
+ "name": "Montainéagró"
+ },
+ "MS": {
+ "name": "Montsarat"
+ },
+ "MZ": {
+ "name": "Mósaimbíc"
+ },
+ "BS": {
+ "name": "Na Bahámaí"
+ },
+ "PS": {
+ "name": "Na Críocha Palaistíneacha"
+ },
+ "IC": {
+ "name": "Na hOileáin Chanáracha"
+ },
+ "PH": {
+ "name": "Na hOileáin Fhilipíneacha"
+ },
+ "MP": {
+ "name": "Na hOileáin Mháirianacha Thuaidh"
+ },
+ "SC": {
+ "name": "Na Séiséil"
+ },
+ "NR": {
+ "name": "Nárú"
+ },
+ "NP": {
+ "name": "Neipeal"
+ },
+ "NI": {
+ "name": "Nicearagua"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "PG": {
+ "name": "Nua-Ghuine Phapua"
+ },
+ "AX": {
+ "name": "Oileáin Åland"
+ },
+ "VG": {
+ "name": "Oileáin Bhriotanacha na Maighdean"
+ },
+ "KY": {
+ "name": "Oileáin Cayman"
+ },
+ "KM": {
+ "name": "Oileáin Chomóra"
+ },
+ "CC": {
+ "name": "Oileáin Cocos (Keeling)"
+ },
+ "CK": {
+ "name": "Oileáin Cook"
+ },
+ "FK": {
+ "name": "Oileáin Fháclainne"
+ },
+ "FO": {
+ "name": "Oileáin Fharó"
+ },
+ "UM": {
+ "name": "Oileáin Imeallacha S.A.M."
+ },
+ "MH": {
+ "name": "Oileáin Marshall"
+ },
+ "MV": {
+ "name": "Oileáin Mhaildíve"
+ },
+ "VI": {
+ "name": "Oileáin Mheiriceánacha na Maighdean"
+ },
+ "TC": {
+ "name": "Oileáin na dTurcach agus Caicos"
+ },
+ "PN": {
+ "name": "Oileáin Pitcairn"
+ },
+ "SB": {
+ "name": "Oileáin Sholomón"
+ },
+ "IM": {
+ "name": "Oileán Mhanann"
+ },
+ "MU": {
+ "name": "Oileán Mhuirís"
+ },
+ "AC": {
+ "name": "Oileán na Deascabhála"
+ },
+ "CX": {
+ "name": "Oileán na Nollag"
+ },
+ "TT": {
+ "name": "Oileán na Tríonóide agus Tobága"
+ },
+ "NF": {
+ "name": "Oileán Norfolk"
+ },
+ "OM": {
+ "name": "Óman"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PY": {
+ "name": "Paragua"
+ },
+ "PE": {
+ "name": "Peiriú"
+ },
+ "CD": {
+ "name": "Poblacht Dhaonlathach an Chongó"
+ },
+ "CF": {
+ "name": "Poblacht na hAfraice Láir"
+ },
+ "CZ": {
+ "name": "Poblacht na Seice"
+ },
+ "PF": {
+ "name": "Polainéis na Fraince"
+ },
+ "PR": {
+ "name": "Portó Ríce"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "CV": {
+ "name": "Rinn Verde"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "HK": {
+ "name": "S.R.R. na Síne Hong Cong"
+ },
+ "MO": {
+ "name": "S.R.R. na Síne Macao"
+ },
+ "BL": {
+ "name": "Saint Barthélemy"
+ },
+ "LC": {
+ "name": "Saint Lucia"
+ },
+ "MF": {
+ "name": "Saint-Martin"
+ },
+ "PM": {
+ "name": "Saint-Pierre-et-Miquelon"
+ },
+ "WS": {
+ "name": "Samó"
+ },
+ "AS": {
+ "name": "Samó Meiriceánach"
+ },
+ "KN": {
+ "name": "San Críostóir-Nimheas"
+ },
+ "SH": {
+ "name": "San Héilin"
+ },
+ "SM": {
+ "name": "San Mairíne"
+ },
+ "VC": {
+ "name": "San Uinseann agus na Greanáidíní"
+ },
+ "ST": {
+ "name": "São Tomé agus Príncipe"
+ },
+ "TD": {
+ "name": "Sead"
+ },
+ "SL": {
+ "name": "Siarra Leon"
+ },
+ "SG": {
+ "name": "Singeapór"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "LK": {
+ "name": "Srí Lanca"
+ },
+ "US": {
+ "name": "Stáit Aontaithe Mheiriceá"
+ },
+ "SR": {
+ "name": "Suranam"
+ },
+ "SJ": {
+ "name": "Svalbard agus Jan Mayen"
+ },
+ "TL": {
+ "name": "Tíomór Thoir"
+ },
+ "TK": {
+ "name": "Tócalá"
+ },
+ "TG": {
+ "name": "Tóga"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UY": {
+ "name": "Urugua"
+ },
+ "WF": {
+ "name": "Vailís agus Futúna"
+ },
+ "VU": {
+ "name": "Vanuatú"
+ },
+ "VE": {
+ "name": "Veiniséala"
+ },
+ "VN": {
+ "name": "Vítneam"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/gd.json b/vendor/commerceguys/intl/resources/country/gd.json
new file mode 100644
index 000000000..d5a672824
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/gd.json
@@ -0,0 +1,761 @@
+{
+ "BY": {
+ "name": "A’ Bhealaruis"
+ },
+ "BE": {
+ "name": "A’ Bheilg"
+ },
+ "BZ": {
+ "name": "A’ Bheilìs"
+ },
+ "VE": {
+ "name": "A’ Bheiniseala"
+ },
+ "BG": {
+ "name": "A’ Bhulgair"
+ },
+ "GE": {
+ "name": "A’ Chairtbheil"
+ },
+ "CG": {
+ "name": "A’ Chongo - Brazzaville"
+ },
+ "XK": {
+ "name": "A’ Chosobho"
+ },
+ "HR": {
+ "name": "A’ Chròthais"
+ },
+ "GM": {
+ "name": "A’ Ghaimbia"
+ },
+ "DE": {
+ "name": "A’ Ghearmailt"
+ },
+ "GL": {
+ "name": "A’ Ghraonlann"
+ },
+ "GR": {
+ "name": "A’ Ghreug"
+ },
+ "MK": {
+ "name": "A’ Mhasadon"
+ },
+ "MD": {
+ "name": "A’ Mholdobha"
+ },
+ "DO": {
+ "name": "A’ Phoblachd Dhoiminiceach"
+ },
+ "PL": {
+ "name": "A’ Phòlainn"
+ },
+ "PT": {
+ "name": "A’ Phortagail"
+ },
+ "AF": {
+ "name": "Afghanastàn"
+ },
+ "ZA": {
+ "name": "Afraga a Deas"
+ },
+ "DZ": {
+ "name": "Aildiria"
+ },
+ "AG": {
+ "name": "Aintìoga is Barbuda"
+ },
+ "AM": {
+ "name": "Airmeinea"
+ },
+ "AL": {
+ "name": "Albàinia"
+ },
+ "ME": {
+ "name": "Am Monadh Neagrach"
+ },
+ "AQ": {
+ "name": "An Antartaig"
+ },
+ "AR": {
+ "name": "An Argantain"
+ },
+ "CV": {
+ "name": "An Ceap Uaine"
+ },
+ "DK": {
+ "name": "An Danmhairg"
+ },
+ "IT": {
+ "name": "An Eadailt"
+ },
+ "YE": {
+ "name": "An Eaman"
+ },
+ "EE": {
+ "name": "An Eastoin"
+ },
+ "CH": {
+ "name": "An Eilbheis"
+ },
+ "EG": {
+ "name": "An Èiphit"
+ },
+ "FI": {
+ "name": "An Fhionnlann"
+ },
+ "FR": {
+ "name": "An Fhraing"
+ },
+ "ET": {
+ "name": "An Itiop"
+ },
+ "LV": {
+ "name": "An Laitbhe"
+ },
+ "LT": {
+ "name": "An Liotuain"
+ },
+ "NA": {
+ "name": "An Namaib"
+ },
+ "AT": {
+ "name": "An Ostair"
+ },
+ "GB": {
+ "name": "An Rìoghachd Aonaichte"
+ },
+ "RU": {
+ "name": "An Ruis"
+ },
+ "SV": {
+ "name": "An Salbhador"
+ },
+ "ES": {
+ "name": "An Spàinnt"
+ },
+ "TD": {
+ "name": "An t-Seàd"
+ },
+ "JP": {
+ "name": "An t-Seapan"
+ },
+ "RS": {
+ "name": "An t-Sèirb"
+ },
+ "CL": {
+ "name": "An t-Sile"
+ },
+ "CN": {
+ "name": "An t-Sìn"
+ },
+ "ZW": {
+ "name": "An t-Sìombab"
+ },
+ "SK": {
+ "name": "An t-Slòbhac"
+ },
+ "SI": {
+ "name": "An t-Slòbhain"
+ },
+ "SE": {
+ "name": "An t-Suain"
+ },
+ "TZ": {
+ "name": "An Tansan"
+ },
+ "TR": {
+ "name": "An Tuirc"
+ },
+ "UA": {
+ "name": "An Ucràin"
+ },
+ "HU": {
+ "name": "An Ungair"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angòla"
+ },
+ "AI": {
+ "name": "Anguillia"
+ },
+ "SA": {
+ "name": "Aràibia nan Sabhd"
+ },
+ "AW": {
+ "name": "Arùba"
+ },
+ "AZ": {
+ "name": "Asarbaideàn"
+ },
+ "AU": {
+ "name": "Astràilia"
+ },
+ "BH": {
+ "name": "Bachrain"
+ },
+ "BD": {
+ "name": "Bangladais"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BM": {
+ "name": "Bearmùda"
+ },
+ "BJ": {
+ "name": "Beinin"
+ },
+ "VN": {
+ "name": "Bhiet-Nam"
+ },
+ "BO": {
+ "name": "Boilibhia"
+ },
+ "BA": {
+ "name": "Bosna agus Hearsagobhana"
+ },
+ "BW": {
+ "name": "Botsuana"
+ },
+ "BR": {
+ "name": "Braisil"
+ },
+ "BN": {
+ "name": "Brùnaigh"
+ },
+ "BF": {
+ "name": "Buirciona Faso"
+ },
+ "BI": {
+ "name": "Burundaidh"
+ },
+ "BT": {
+ "name": "Butàn"
+ },
+ "NC": {
+ "name": "Cailleann Nuadh"
+ },
+ "CM": {
+ "name": "Camarun"
+ },
+ "KH": {
+ "name": "Cambuidea"
+ },
+ "CA": {
+ "name": "Canada"
+ },
+ "KZ": {
+ "name": "Casachstàn"
+ },
+ "QA": {
+ "name": "Catar"
+ },
+ "VA": {
+ "name": "Cathair na Bhatacain"
+ },
+ "KE": {
+ "name": "Ceinia"
+ },
+ "EA": {
+ "name": "Ceuta agus Melilla"
+ },
+ "CY": {
+ "name": "Cìopras"
+ },
+ "KG": {
+ "name": "Cìorgastan"
+ },
+ "KI": {
+ "name": "Ciribeas"
+ },
+ "KR": {
+ "name": "Coirèa"
+ },
+ "KP": {
+ "name": "Coirèa a Tuath"
+ },
+ "CO": {
+ "name": "Coloimbia"
+ },
+ "KM": {
+ "name": "Comoros"
+ },
+ "CD": {
+ "name": "Congo - Kinshasa"
+ },
+ "CR": {
+ "name": "Costa Rìcea"
+ },
+ "CI": {
+ "name": "Côte d’Ivoire"
+ },
+ "CU": {
+ "name": "Cùba"
+ },
+ "KW": {
+ "name": "Cuibhèit"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "JE": {
+ "name": "Deàrsaidh"
+ },
+ "JM": {
+ "name": "Diameuga"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "GI": {
+ "name": "Diobraltar"
+ },
+ "DJ": {
+ "name": "Diobùtaidh"
+ },
+ "DM": {
+ "name": "Doiminicea"
+ },
+ "MN": {
+ "name": "Dùthaich nam Mongol"
+ },
+ "SZ": {
+ "name": "Dùthaich nan Suasaidh"
+ },
+ "TH": {
+ "name": "Dùthaich nan Tàidh"
+ },
+ "EC": {
+ "name": "Eacuador"
+ },
+ "ER": {
+ "name": "Eartra"
+ },
+ "IM": {
+ "name": "Eilean Mhanainn"
+ },
+ "AC": {
+ "name": "Eilean na Deasgabhalach"
+ },
+ "CX": {
+ "name": "Eilean na Nollaig"
+ },
+ "SH": {
+ "name": "Eilean Naomh Eilidh"
+ },
+ "NF": {
+ "name": "Eilean Norfolk"
+ },
+ "VG": {
+ "name": "Eileanan Breatannach na Maighdinn"
+ },
+ "CK": {
+ "name": "Eileanan Cook"
+ },
+ "MH": {
+ "name": "Eileanan Mharshall"
+ },
+ "VI": {
+ "name": "Eileanan na Maighdinn aig na SA"
+ },
+ "PN": {
+ "name": "Eileanan Peit a’ Chàirn"
+ },
+ "SB": {
+ "name": "Eileanan Sholaimh"
+ },
+ "IE": {
+ "name": "Èirinn"
+ },
+ "FJ": {
+ "name": "Fìdi"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GH": {
+ "name": "Gàna"
+ },
+ "GG": {
+ "name": "Geàrnsaidh"
+ },
+ "GN": {
+ "name": "Gini"
+ },
+ "GQ": {
+ "name": "Gini Mheadhan-Chriosach"
+ },
+ "PG": {
+ "name": "Gini Nuadh Phaputhach"
+ },
+ "GW": {
+ "name": "Gini-Bioso"
+ },
+ "GD": {
+ "name": "Greanàda"
+ },
+ "GP": {
+ "name": "Guadalup"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatamala"
+ },
+ "GY": {
+ "name": "Guidheàna"
+ },
+ "GF": {
+ "name": "Guidheàna na Frainge"
+ },
+ "HT": {
+ "name": "Haidhti"
+ },
+ "HN": {
+ "name": "Hondùras"
+ },
+ "HK": {
+ "name": "Hong Kong SAR na Sìne"
+ },
+ "IS": {
+ "name": "Innis Tìle"
+ },
+ "IQ": {
+ "name": "Ioràc"
+ },
+ "IR": {
+ "name": "Ioràn"
+ },
+ "JO": {
+ "name": "Iòrdan"
+ },
+ "IL": {
+ "name": "Iosrael"
+ },
+ "LA": {
+ "name": "Làthos"
+ },
+ "LB": {
+ "name": "Leabanon"
+ },
+ "LS": {
+ "name": "Leasoto"
+ },
+ "LR": {
+ "name": "Libèir"
+ },
+ "LY": {
+ "name": "Libia"
+ },
+ "LI": {
+ "name": "Lichtenstein"
+ },
+ "LU": {
+ "name": "Lugsamburg"
+ },
+ "MO": {
+ "name": "Macàthu SAR na Sìne"
+ },
+ "MG": {
+ "name": "Madagasgar"
+ },
+ "ML": {
+ "name": "Màili"
+ },
+ "MQ": {
+ "name": "Mairtinic"
+ },
+ "MW": {
+ "name": "Malabhaidh"
+ },
+ "MY": {
+ "name": "Malaidhsea"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Meagsago"
+ },
+ "UM": {
+ "name": "Meanbh-Eileanan Iomallach nan SA"
+ },
+ "MM": {
+ "name": "Miànmar"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MS": {
+ "name": "Montsarat"
+ },
+ "MR": {
+ "name": "Moratàinea"
+ },
+ "MA": {
+ "name": "Moroco"
+ },
+ "MZ": {
+ "name": "Mòsaimbic"
+ },
+ "AX": {
+ "name": "Na h-Eileanan Åland"
+ },
+ "BS": {
+ "name": "Na h-Eileanan Bhathama"
+ },
+ "KY": {
+ "name": "Na h-Eileanan Caimean"
+ },
+ "IC": {
+ "name": "Na h-Eileanan Canàrach"
+ },
+ "CC": {
+ "name": "Na h-Eileanan Chocos (Keeling)"
+ },
+ "FK": {
+ "name": "Na h-Eileanan Fàclannach"
+ },
+ "FO": {
+ "name": "Na h-Eileanan Fàro"
+ },
+ "PH": {
+ "name": "Na h-Eileanan Filipineach"
+ },
+ "MP": {
+ "name": "Na h-Eileanan Mairianach a Tuath"
+ },
+ "MV": {
+ "name": "Na h-Eileanan Mhaladaibh"
+ },
+ "MU": {
+ "name": "Na h-Eileanan Mhoiriseas"
+ },
+ "SC": {
+ "name": "Na h-Eileanan Sheiseall"
+ },
+ "TC": {
+ "name": "Na h-Eileanan Turcach is Caiceo"
+ },
+ "ID": {
+ "name": "Na h-Innd-innse"
+ },
+ "IN": {
+ "name": "Na h-Innseachan"
+ },
+ "AE": {
+ "name": "Na h-Iomaratan Arabach Aonaichte"
+ },
+ "FM": {
+ "name": "Na Meanbh-eileanan"
+ },
+ "PS": {
+ "name": "Na Ranntairean Palastaineach"
+ },
+ "US": {
+ "name": "Na Stàitean Aonaichte"
+ },
+ "NL": {
+ "name": "Na Tìrean Ìsle"
+ },
+ "BQ": {
+ "name": "Na Tìrean Ìsle Caraibeach"
+ },
+ "NR": {
+ "name": "Nabhru"
+ },
+ "VC": {
+ "name": "Naomh Bhionsant agus Eileanan Greanadach"
+ },
+ "KN": {
+ "name": "Naomh Crìstean is Nibheis"
+ },
+ "LC": {
+ "name": "Naomh Lùisea"
+ },
+ "MF": {
+ "name": "Naomh Màrtainn"
+ },
+ "NP": {
+ "name": "Neapàl"
+ },
+ "NE": {
+ "name": "Nìgeir"
+ },
+ "NG": {
+ "name": "Nigèiria"
+ },
+ "NI": {
+ "name": "Niocaragua"
+ },
+ "NO": {
+ "name": "Nirribhidh"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "OM": {
+ "name": "Omàn"
+ },
+ "PK": {
+ "name": "Pagastàn"
+ },
+ "PW": {
+ "name": "Palabh"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PY": {
+ "name": "Paraguaidh"
+ },
+ "PE": {
+ "name": "Pearù"
+ },
+ "CF": {
+ "name": "Poblachd Meadhan Afraga"
+ },
+ "CZ": {
+ "name": "Poblachd na Seice"
+ },
+ "PF": {
+ "name": "Poilinèis na Frainge"
+ },
+ "PR": {
+ "name": "Porto Rìceo"
+ },
+ "IO": {
+ "name": "Ranntair Breatannach Cuan nan Innseachan"
+ },
+ "TF": {
+ "name": "Ranntairean a Deas na Frainge"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RO": {
+ "name": "Romàinia"
+ },
+ "RW": {
+ "name": "Rubhanda"
+ },
+ "ZM": {
+ "name": "Sàimbia"
+ },
+ "BL": {
+ "name": "Saint Barthélemy"
+ },
+ "PM": {
+ "name": "Saint Pierre agus Miquelon"
+ },
+ "WS": {
+ "name": "Samotha"
+ },
+ "AS": {
+ "name": "Samotha na h-Aimeireaga"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "São Tomé agus Príncipe"
+ },
+ "EH": {
+ "name": "Sathara an Iar"
+ },
+ "NZ": {
+ "name": "Sealainn Nuadh"
+ },
+ "SN": {
+ "name": "Seanagal"
+ },
+ "GS": {
+ "name": "Seòirsea a Deas is na h-Eileanan Sandwich a Deas"
+ },
+ "SL": {
+ "name": "Siarra Leòmhann"
+ },
+ "SG": {
+ "name": "Singeapòr"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Siridhea"
+ },
+ "SO": {
+ "name": "Somàilia"
+ },
+ "LK": {
+ "name": "Sri Lanca"
+ },
+ "SD": {
+ "name": "Sudàn"
+ },
+ "SS": {
+ "name": "Sudàn a Deas"
+ },
+ "SR": {
+ "name": "Suranam"
+ },
+ "SJ": {
+ "name": "Svalbard agus Jan Mayen"
+ },
+ "TW": {
+ "name": "Taidh-Bhàn"
+ },
+ "TJ": {
+ "name": "Taidigeastàn"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trianaid agus Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TV": {
+ "name": "Tubhalu"
+ },
+ "TN": {
+ "name": "Tuinisea"
+ },
+ "TM": {
+ "name": "Turcmanastàn"
+ },
+ "WF": {
+ "name": "Uallas agus Futuna"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UY": {
+ "name": "Uruguaidh"
+ },
+ "UZ": {
+ "name": "Usbagastàn"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/gl.json b/vendor/commerceguys/intl/resources/country/gl.json
new file mode 100644
index 000000000..934089a2b
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/gl.json
@@ -0,0 +1,761 @@
+{
+ "CN": {
+ "name": "A China"
+ },
+ "IN": {
+ "name": "A India"
+ },
+ "AZ": {
+ "name": "Acerbaixán"
+ },
+ "AF": {
+ "name": "Afganistán"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DE": {
+ "name": "Alemaña"
+ },
+ "DZ": {
+ "name": "Alxeria"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguila"
+ },
+ "AQ": {
+ "name": "Antártida"
+ },
+ "AG": {
+ "name": "Antiga e Barbuda"
+ },
+ "SA": {
+ "name": "Arabia Saudita"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AR": {
+ "name": "Arxentina"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahrain"
+ },
+ "BD": {
+ "name": "Bangladés"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BZ": {
+ "name": "Belice"
+ },
+ "BE": {
+ "name": "Bélxica"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermudas"
+ },
+ "BY": {
+ "name": "Bielorrusia"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia-Hercegovina"
+ },
+ "BW": {
+ "name": "Botsuana"
+ },
+ "BR": {
+ "name": "Brasil"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Bután"
+ },
+ "CV": {
+ "name": "Cabo Verde"
+ },
+ "KH": {
+ "name": "Camboxa"
+ },
+ "CM": {
+ "name": "Camerún"
+ },
+ "CA": {
+ "name": "Canadá"
+ },
+ "BQ": {
+ "name": "Caribe Neerlandés"
+ },
+ "KZ": {
+ "name": "Casaquistán"
+ },
+ "EA": {
+ "name": "Ceuta e Melilla"
+ },
+ "TD": {
+ "name": "Chad"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CY": {
+ "name": "Chipre"
+ },
+ "VA": {
+ "name": "Cidade do Vaticano"
+ },
+ "ZW": {
+ "name": "Cimbabue"
+ },
+ "CO": {
+ "name": "Colombia"
+ },
+ "KM": {
+ "name": "Comores"
+ },
+ "KP": {
+ "name": "Corea do Norte"
+ },
+ "KR": {
+ "name": "Corea do Sur"
+ },
+ "CI": {
+ "name": "Costa do Marfil"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "HR": {
+ "name": "Croacia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DG": {
+ "name": "Diego García"
+ },
+ "DK": {
+ "name": "Dinamarca"
+ },
+ "DJ": {
+ "name": "Djibuti"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "AE": {
+ "name": "Emiratos Árabes Unidos"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "SK": {
+ "name": "Eslovaquia"
+ },
+ "SI": {
+ "name": "Eslovenia"
+ },
+ "ES": {
+ "name": "España"
+ },
+ "US": {
+ "name": "Estados Unidos de América"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Etiopía"
+ },
+ "EG": {
+ "name": "Exipto"
+ },
+ "FJ": {
+ "name": "Fidxi"
+ },
+ "PH": {
+ "name": "Filipinas"
+ },
+ "FI": {
+ "name": "Finlandia"
+ },
+ "FR": {
+ "name": "Francia"
+ },
+ "GA": {
+ "name": "Gabón"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GD": {
+ "name": "Granada"
+ },
+ "GR": {
+ "name": "Grecia"
+ },
+ "GL": {
+ "name": "Groenlandia"
+ },
+ "GP": {
+ "name": "Guadalupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Güiana"
+ },
+ "GF": {
+ "name": "Güiana Francesa"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GQ": {
+ "name": "Guinea Ecuatorial"
+ },
+ "GW": {
+ "name": "Guinea-Bisau"
+ },
+ "HT": {
+ "name": "Haití"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hong Kong RAE de China"
+ },
+ "HU": {
+ "name": "Hungría"
+ },
+ "YE": {
+ "name": "Iemen"
+ },
+ "AC": {
+ "name": "Illa de Ascensión"
+ },
+ "IM": {
+ "name": "Illa de Man"
+ },
+ "CX": {
+ "name": "Illa de Nadal"
+ },
+ "NF": {
+ "name": "Illa Norfolk"
+ },
+ "AX": {
+ "name": "Illas Aland"
+ },
+ "KY": {
+ "name": "Illas Caimán"
+ },
+ "IC": {
+ "name": "Illas Canarias"
+ },
+ "CC": {
+ "name": "Illas Cocos (Keeling)"
+ },
+ "CK": {
+ "name": "Illas Cook"
+ },
+ "FO": {
+ "name": "Illas Feroe"
+ },
+ "FK": {
+ "name": "Illas Malvinas"
+ },
+ "MP": {
+ "name": "Illas Marianas do Norte"
+ },
+ "MH": {
+ "name": "Illas Marshall"
+ },
+ "PN": {
+ "name": "Illas Pitcairn"
+ },
+ "SB": {
+ "name": "Illas Salomón"
+ },
+ "TC": {
+ "name": "Illas Turks e Caicos"
+ },
+ "UM": {
+ "name": "Illas Ultramarinas dos EUA"
+ },
+ "VG": {
+ "name": "Illas Virxes Británicas"
+ },
+ "VI": {
+ "name": "Illas Virxes Estadounidenses"
+ },
+ "GS": {
+ "name": "Illas Xeorxia do Sur e Sandwich do Sur"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IR": {
+ "name": "Irán"
+ },
+ "IQ": {
+ "name": "Iraq"
+ },
+ "IE": {
+ "name": "Irlanda"
+ },
+ "IS": {
+ "name": "Islandia"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LV": {
+ "name": "Letonia"
+ },
+ "LB": {
+ "name": "Líbano"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libia"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lituania"
+ },
+ "LU": {
+ "name": "Luxemburgo"
+ },
+ "MO": {
+ "name": "Macau RAE de China"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MY": {
+ "name": "Malaisia"
+ },
+ "MW": {
+ "name": "Malaui"
+ },
+ "MV": {
+ "name": "Maldivas"
+ },
+ "ML": {
+ "name": "Malí"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marrocos"
+ },
+ "MQ": {
+ "name": "Martinica"
+ },
+ "MU": {
+ "name": "Mauricio"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "México"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldavia"
+ },
+ "MC": {
+ "name": "Mónaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar (Birmania)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NE": {
+ "name": "Níxer"
+ },
+ "NG": {
+ "name": "Nixeria"
+ },
+ "NO": {
+ "name": "Noruega"
+ },
+ "NC": {
+ "name": "Nova Caledonia"
+ },
+ "NZ": {
+ "name": "Nova Zelandia"
+ },
+ "SV": {
+ "name": "O Salvador"
+ },
+ "JP": {
+ "name": "O Xapón"
+ },
+ "OM": {
+ "name": "Omán"
+ },
+ "NL": {
+ "name": "Países Baixos"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panamá"
+ },
+ "PG": {
+ "name": "Papúa-Nova Guinea"
+ },
+ "PK": {
+ "name": "Paquistán"
+ },
+ "PY": {
+ "name": "Paraguai"
+ },
+ "PE": {
+ "name": "Perú"
+ },
+ "PF": {
+ "name": "Polinesia Francesa"
+ },
+ "PL": {
+ "name": "Polonia"
+ },
+ "PR": {
+ "name": "Porto Rico"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "QA": {
+ "name": "Qatar"
+ },
+ "KG": {
+ "name": "Quirguicistán"
+ },
+ "GB": {
+ "name": "Reino Unido"
+ },
+ "CF": {
+ "name": "República Centroafricana"
+ },
+ "CZ": {
+ "name": "República Checa"
+ },
+ "CD": {
+ "name": "República Democrática do Congo"
+ },
+ "CG": {
+ "name": "República do Congo"
+ },
+ "DO": {
+ "name": "República Dominicana"
+ },
+ "RE": {
+ "name": "Reunión"
+ },
+ "RO": {
+ "name": "Romanía"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RU": {
+ "name": "Rusia"
+ },
+ "EH": {
+ "name": "Sáhara Occidental"
+ },
+ "KN": {
+ "name": "Saint Kitts e Nevis"
+ },
+ "PM": {
+ "name": "Saint Pierre e Miquelon"
+ },
+ "BL": {
+ "name": "Saint-Barthélemy"
+ },
+ "MF": {
+ "name": "Saint-Martin"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa Americana"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "San Tomé e Príncipe"
+ },
+ "VC": {
+ "name": "San Vicente e as Granadinas"
+ },
+ "SH": {
+ "name": "Santa Helena"
+ },
+ "LC": {
+ "name": "Santa Lucía"
+ },
+ "SC": {
+ "name": "Seixeles"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SL": {
+ "name": "Serra Leoa"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Siria"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "SZ": {
+ "name": "Suacilandia"
+ },
+ "SD": {
+ "name": "Sudán"
+ },
+ "SS": {
+ "name": "Sudán do sur"
+ },
+ "SE": {
+ "name": "Suecia"
+ },
+ "CH": {
+ "name": "Suíza"
+ },
+ "ZA": {
+ "name": "Suráfrica"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SJ": {
+ "name": "Svalbard e Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailandia"
+ },
+ "TW": {
+ "name": "Taiwán"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TJ": {
+ "name": "Taxiquistán"
+ },
+ "IO": {
+ "name": "Territorio Británico do Océano Índico"
+ },
+ "TF": {
+ "name": "Territorios Austrais Franceses"
+ },
+ "PS": {
+ "name": "Territorios palestinos"
+ },
+ "TL": {
+ "name": "Timor Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TK": {
+ "name": "Toquelau"
+ },
+ "TT": {
+ "name": "Trinidad e Tobago"
+ },
+ "TA": {
+ "name": "Tristán da Cunha"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TM": {
+ "name": "Turcomenistán"
+ },
+ "TR": {
+ "name": "Turquía"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UA": {
+ "name": "Ucraína"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UY": {
+ "name": "Uruguai"
+ },
+ "UZ": {
+ "name": "Uzbekistán"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis e Futuna"
+ },
+ "JM": {
+ "name": "Xamaica"
+ },
+ "GE": {
+ "name": "Xeorxia"
+ },
+ "GI": {
+ "name": "Xibraltar"
+ },
+ "JO": {
+ "name": "Xordania"
+ },
+ "ZM": {
+ "name": "Zambia"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/gsw.json b/vendor/commerceguys/intl/resources/country/gsw.json
new file mode 100644
index 000000000..febc6193a
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/gsw.json
@@ -0,0 +1,761 @@
+{
+ "AX": {
+ "name": "Aaland-Insle"
+ },
+ "AF": {
+ "name": "Afganischtan"
+ },
+ "EG": {
+ "name": "Ägüpte"
+ },
+ "AL": {
+ "name": "Albaanie"
+ },
+ "DZ": {
+ "name": "Algeerie"
+ },
+ "AS": {
+ "name": "Amerikaanisch-Samoa"
+ },
+ "VI": {
+ "name": "Amerikaanischi Jungfere-Insle"
+ },
+ "UM": {
+ "name": "Amerikanisch-Ozeaanie"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angoola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarktis"
+ },
+ "AG": {
+ "name": "Antigua und Barbuda"
+ },
+ "GQ": {
+ "name": "Äquatoriaalgineea"
+ },
+ "AR": {
+ "name": "Argentiinie"
+ },
+ "ER": {
+ "name": "Äritreea"
+ },
+ "AM": {
+ "name": "Armeenie"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AZ": {
+ "name": "Aserbäidschan"
+ },
+ "ET": {
+ "name": "Äthiopie"
+ },
+ "AU": {
+ "name": "Auschtraalie"
+ },
+ "BH": {
+ "name": "Bachräin"
+ },
+ "BS": {
+ "name": "Bahaamas"
+ },
+ "BD": {
+ "name": "Bangladesch"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BE": {
+ "name": "Belgie"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuuda"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BO": {
+ "name": "Boliivie"
+ },
+ "BA": {
+ "name": "Bosnie und Herzegowina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brasilie"
+ },
+ "VG": {
+ "name": "Britischi Jungfere-Insle"
+ },
+ "IO": {
+ "name": "Britischs Territoorium im Indische Oozean"
+ },
+ "BN": {
+ "name": "Brunäi Tarussalam"
+ },
+ "BG": {
+ "name": "Bulgaarie"
+ },
+ "BF": {
+ "name": "Burkina Faaso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "CN": {
+ "name": "Chiina"
+ },
+ "CK": {
+ "name": "Cook-Insle"
+ },
+ "CR": {
+ "name": "Coschta Rica"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "KP": {
+ "name": "Demokraatischi Volksrepublik Koreea"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "JM": {
+ "name": "Dschamäika"
+ },
+ "JE": {
+ "name": "Dschörsi"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EE": {
+ "name": "Eestland"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "CI": {
+ "name": "Elfebäiküschte"
+ },
+ "FK": {
+ "name": "Falkland-Insle"
+ },
+ "FO": {
+ "name": "Färöer"
+ },
+ "FI": {
+ "name": "Finnland"
+ },
+ "FJ": {
+ "name": "Fitschi"
+ },
+ "FR": {
+ "name": "Frankriich"
+ },
+ "GF": {
+ "name": "Französisch-Guäjaana"
+ },
+ "PF": {
+ "name": "Französisch-Polineesie"
+ },
+ "TF": {
+ "name": "Französischi Süüd- und Antarktisgebiet"
+ },
+ "GH": {
+ "name": "Gaana"
+ },
+ "GG": {
+ "name": "Gäärnsi"
+ },
+ "GA": {
+ "name": "Gabun"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Geoorgie"
+ },
+ "QA": {
+ "name": "Ggatar"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GN": {
+ "name": "Gineea"
+ },
+ "GW": {
+ "name": "Gineea-Bissau"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GR": {
+ "name": "Griecheland"
+ },
+ "GL": {
+ "name": "Gröönland"
+ },
+ "GP": {
+ "name": "Guadälup"
+ },
+ "GY": {
+ "name": "Guäjaana"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemaala"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "NL": {
+ "name": "Holland"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "IS": {
+ "name": "Iisland"
+ },
+ "IN": {
+ "name": "Indie"
+ },
+ "ID": {
+ "name": "Indoneesie"
+ },
+ "IM": {
+ "name": "Insle vo Män"
+ },
+ "IQ": {
+ "name": "Iraak"
+ },
+ "IR": {
+ "name": "Iraan"
+ },
+ "IE": {
+ "name": "Irland"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Itaalie"
+ },
+ "JP": {
+ "name": "Japan"
+ },
+ "YE": {
+ "name": "Jeeme"
+ },
+ "JO": {
+ "name": "Jordaanie"
+ },
+ "KY": {
+ "name": "Käimän-Insle"
+ },
+ "KH": {
+ "name": "Kambodscha"
+ },
+ "CM": {
+ "name": "Kamerun"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "CV": {
+ "name": "Kap Verde"
+ },
+ "KZ": {
+ "name": "Kasachschtan"
+ },
+ "KE": {
+ "name": "Keenia"
+ },
+ "KG": {
+ "name": "Kirgiisischtan"
+ },
+ "KI": {
+ "name": "Kiribaati"
+ },
+ "CC": {
+ "name": "Kokos-Insle"
+ },
+ "CO": {
+ "name": "Kolumbie"
+ },
+ "KM": {
+ "name": "Komoore"
+ },
+ "CG": {
+ "name": "Kongo"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "HR": {
+ "name": "Kroaazie"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "KW": {
+ "name": "Kuwäit"
+ },
+ "LA": {
+ "name": "Laaos"
+ },
+ "LS": {
+ "name": "Lesooto"
+ },
+ "LV": {
+ "name": "Lettland"
+ },
+ "LI": {
+ "name": "Liächteschtäi"
+ },
+ "LB": {
+ "name": "Libanon"
+ },
+ "LR": {
+ "name": "Libeeria"
+ },
+ "LT": {
+ "name": "Littaue"
+ },
+ "LY": {
+ "name": "Lüübie"
+ },
+ "LU": {
+ "name": "Luxemburg"
+ },
+ "ML": {
+ "name": "Maali"
+ },
+ "MG": {
+ "name": "Madagaschkar"
+ },
+ "YT": {
+ "name": "Majott"
+ },
+ "MW": {
+ "name": "Malaawi"
+ },
+ "MY": {
+ "name": "Maläisia"
+ },
+ "MV": {
+ "name": "Malediiwe"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marokko"
+ },
+ "MH": {
+ "name": "Marshallinsle"
+ },
+ "MQ": {
+ "name": "Martinigg"
+ },
+ "MR": {
+ "name": "Mauretaanie"
+ },
+ "MU": {
+ "name": "Mauriizius"
+ },
+ "MK": {
+ "name": "Mazedoonie"
+ },
+ "MX": {
+ "name": "Mexiko"
+ },
+ "FM": {
+ "name": "Mikroneesie"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongolei"
+ },
+ "ME": {
+ "name": "Monteneegro"
+ },
+ "MS": {
+ "name": "Moosörrat"
+ },
+ "MZ": {
+ "name": "Mosambik"
+ },
+ "MM": {
+ "name": "Myanmar (Burma)"
+ },
+ "NA": {
+ "name": "Namiibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Neepal"
+ },
+ "NI": {
+ "name": "Nicaraagua"
+ },
+ "NG": {
+ "name": "Nigeeria"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NC": {
+ "name": "Nöikaledoonie"
+ },
+ "NZ": {
+ "name": "Nöiseeland"
+ },
+ "MP": {
+ "name": "Nördlichi Mariaane"
+ },
+ "NF": {
+ "name": "Norfolk-Insle"
+ },
+ "NO": {
+ "name": "Norweege"
+ },
+ "OM": {
+ "name": "Omaan"
+ },
+ "AT": {
+ "name": "Ööschtriich"
+ },
+ "TL": {
+ "name": "Oschttimor"
+ },
+ "PK": {
+ "name": "Pakischtan"
+ },
+ "PS": {
+ "name": "Paläschtinänsischi Gebiet"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua-Neuguinea"
+ },
+ "PY": {
+ "name": "Paraguai"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PH": {
+ "name": "Philippiine"
+ },
+ "PN": {
+ "name": "Pitggäärn"
+ },
+ "PL": {
+ "name": "Poole"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Riggo"
+ },
+ "KR": {
+ "name": "Republik Koreea"
+ },
+ "MD": {
+ "name": "Republik Moldau"
+ },
+ "RE": {
+ "name": "Reünioon"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RO": {
+ "name": "Rumäänie"
+ },
+ "RU": {
+ "name": "Russland"
+ },
+ "SB": {
+ "name": "Salomoone"
+ },
+ "ZM": {
+ "name": "Sambia"
+ },
+ "WS": {
+ "name": "Samooa"
+ },
+ "SM": {
+ "name": "San Mariino"
+ },
+ "ST": {
+ "name": "Sao Tome und Prinssipe"
+ },
+ "RS": {
+ "name": "Särbie"
+ },
+ "SA": {
+ "name": "Saudi-Araabie"
+ },
+ "ES": {
+ "name": "Schpanie"
+ },
+ "LK": {
+ "name": "Schri Lanka"
+ },
+ "SE": {
+ "name": "Schweede"
+ },
+ "CH": {
+ "name": "Schwiiz"
+ },
+ "SC": {
+ "name": "Seischälle"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "SL": {
+ "name": "Sierra Leoone"
+ },
+ "ZW": {
+ "name": "Simbabwe"
+ },
+ "SG": {
+ "name": "Singapuur"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SK": {
+ "name": "Slowakäi"
+ },
+ "SI": {
+ "name": "Sloweenie"
+ },
+ "SO": {
+ "name": "Somaalie"
+ },
+ "HK": {
+ "name": "Sonderverwaltigszone Hongkong"
+ },
+ "MO": {
+ "name": "Sonderverwaltigszone Macao"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "BL": {
+ "name": "St. Barthelemi"
+ },
+ "SH": {
+ "name": "St. Helena"
+ },
+ "KN": {
+ "name": "St. Kitts und Niuwis"
+ },
+ "LC": {
+ "name": "St. Lutschiia"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "PM": {
+ "name": "St. Pierr und Miggelo"
+ },
+ "VC": {
+ "name": "St. Vincent und d’Grönadiine"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "ZA": {
+ "name": "Süüdafrika"
+ },
+ "GS": {
+ "name": "Süüdgeorgie und d’süüdlichi Sändwitsch-Insle"
+ },
+ "SY": {
+ "name": "Süürie"
+ },
+ "SJ": {
+ "name": "Svalbard und Jaan Määie"
+ },
+ "SZ": {
+ "name": "Swasiland"
+ },
+ "TJ": {
+ "name": "Tadschikischtan"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "DK": {
+ "name": "Tänemark"
+ },
+ "TZ": {
+ "name": "Tansaniia"
+ },
+ "CD": {
+ "name": "Temokraatischi Republik Kongo"
+ },
+ "TH": {
+ "name": "Thailand"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "DM": {
+ "name": "Tominica"
+ },
+ "DO": {
+ "name": "Tominikaanischi Republik"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TG": {
+ "name": "Toogo"
+ },
+ "TC": {
+ "name": "Törks- und Gaiggos-Insle"
+ },
+ "TT": {
+ "name": "Trinidad und Tobaago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TD": {
+ "name": "Tschad"
+ },
+ "CZ": {
+ "name": "Tschechischi Republik"
+ },
+ "DJ": {
+ "name": "Tschibuuti"
+ },
+ "CL": {
+ "name": "Tschile"
+ },
+ "TN": {
+ "name": "Tuneesie"
+ },
+ "TR": {
+ "name": "Türggei"
+ },
+ "TM": {
+ "name": "Turkmeenischtan"
+ },
+ "DE": {
+ "name": "Tüütschland"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukraiine"
+ },
+ "HU": {
+ "name": "Ungarn"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uschbeekischtan"
+ },
+ "VA": {
+ "name": "Vatikanstadt"
+ },
+ "VE": {
+ "name": "Venezueela"
+ },
+ "AE": {
+ "name": "Veräinigti Arabischi Emirate"
+ },
+ "US": {
+ "name": "Veräinigti Schtaate"
+ },
+ "GB": {
+ "name": "Veräinigts Chönigriich"
+ },
+ "WF": {
+ "name": "Wallis und Futuuna"
+ },
+ "VU": {
+ "name": "Wanuatu"
+ },
+ "EH": {
+ "name": "Weschtsahara"
+ },
+ "CX": {
+ "name": "Wienachts-Insle"
+ },
+ "VN": {
+ "name": "Wietnam"
+ },
+ "BY": {
+ "name": "Wiissrussland"
+ },
+ "CF": {
+ "name": "Zentraalafrikaanischi Republik"
+ },
+ "CY": {
+ "name": "Zypere"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/gu.json b/vendor/commerceguys/intl/resources/country/gu.json
new file mode 100644
index 000000000..bc22afa7e
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/gu.json
@@ -0,0 +1,761 @@
+{
+ "AO": {
+ "name": "અંગોલા"
+ },
+ "AZ": {
+ "name": "અઝરબૈજાન"
+ },
+ "AF": {
+ "name": "અફઘાનિસ્તાન"
+ },
+ "AS": {
+ "name": "અમેરીકન સમોઆ"
+ },
+ "AW": {
+ "name": "અરુબા"
+ },
+ "DZ": {
+ "name": "અલ્જીરિયા"
+ },
+ "AL": {
+ "name": "અલ્બેનિયા"
+ },
+ "IS": {
+ "name": "આઇસલેન્ડ"
+ },
+ "IM": {
+ "name": "આઈલ ઓફ મૅન"
+ },
+ "IE": {
+ "name": "આયર્લેન્ડ"
+ },
+ "AR": {
+ "name": "આર્જેન્ટીના"
+ },
+ "AM": {
+ "name": "આર્મેનિયા"
+ },
+ "GQ": {
+ "name": "ઇક્વેટોરિયલ ગિની"
+ },
+ "EG": {
+ "name": "ઇજિપ્ત"
+ },
+ "IL": {
+ "name": "ઇઝરાઇલ"
+ },
+ "IT": {
+ "name": "ઇટાલી"
+ },
+ "ET": {
+ "name": "ઇથિઓપિયા"
+ },
+ "ID": {
+ "name": "ઇન્ડોનેશિયા"
+ },
+ "IQ": {
+ "name": "ઇરાક"
+ },
+ "IR": {
+ "name": "ઈરાન"
+ },
+ "UZ": {
+ "name": "ઉઝ્બેકિસ્તાન"
+ },
+ "KP": {
+ "name": "ઉત્તર કોરિયા"
+ },
+ "MP": {
+ "name": "ઉત્તરીય મારિયાના આઇલેન્ડ્સ"
+ },
+ "UY": {
+ "name": "ઉરુગ્વે"
+ },
+ "AI": {
+ "name": "ઍંગ્વિલા"
+ },
+ "AD": {
+ "name": "ઍંડોરા"
+ },
+ "EC": {
+ "name": "એક્વાડોર"
+ },
+ "AQ": {
+ "name": "એન્ટાર્કટિકા"
+ },
+ "AG": {
+ "name": "એન્ટીગુઆ અને બર્મુડા"
+ },
+ "ER": {
+ "name": "એરિટ્રિયા"
+ },
+ "SV": {
+ "name": "એલ સેલ્વાડોર"
+ },
+ "AX": {
+ "name": "એલેંડ ટાપુઓ"
+ },
+ "AC": {
+ "name": "એસેન્શન આઇલેન્ડ"
+ },
+ "EE": {
+ "name": "એસ્ટોનિયા"
+ },
+ "AT": {
+ "name": "ઑસ્ટ્રિયા"
+ },
+ "AU": {
+ "name": "ઑસ્ટ્રેલિયા"
+ },
+ "OM": {
+ "name": "ઓમાન"
+ },
+ "KH": {
+ "name": "કંબોડિયા"
+ },
+ "KZ": {
+ "name": "કઝાકિસ્તાન"
+ },
+ "QA": {
+ "name": "કતાર"
+ },
+ "KI": {
+ "name": "કિરિબાટી"
+ },
+ "KG": {
+ "name": "કિર્ગિઝ્સ્તાન"
+ },
+ "CK": {
+ "name": "કુક આઇલેન્ડ્સ"
+ },
+ "KW": {
+ "name": "કુવૈત"
+ },
+ "IC": {
+ "name": "કૅનેરી ટાપુઓ"
+ },
+ "CV": {
+ "name": "કૅપ વર્ડે"
+ },
+ "CM": {
+ "name": "કૅમરૂન"
+ },
+ "CA": {
+ "name": "કેનેડા"
+ },
+ "KE": {
+ "name": "કેન્યા"
+ },
+ "KY": {
+ "name": "કેમેન ટાપુઓ"
+ },
+ "BQ": {
+ "name": "કેરેબિયન નેધરલેન્ડ્ઝ"
+ },
+ "CD": {
+ "name": "કોંગો - કિંશાસા"
+ },
+ "CG": {
+ "name": "કોંગો - બ્રાઝાવિલે"
+ },
+ "CC": {
+ "name": "કોકોઝ (કીલીંગ) આઇલેન્ડ્સ"
+ },
+ "CI": {
+ "name": "કોટ ડી આઇવરી"
+ },
+ "KM": {
+ "name": "કોમોરસ"
+ },
+ "CO": {
+ "name": "કોલમ્બિયા"
+ },
+ "XK": {
+ "name": "કોસોવો"
+ },
+ "CR": {
+ "name": "કોસ્ટા રિકા"
+ },
+ "CU": {
+ "name": "ક્યુબા"
+ },
+ "CW": {
+ "name": "ક્યુરાસાઓ"
+ },
+ "CX": {
+ "name": "ક્રિસમસ આઇલેન્ડ"
+ },
+ "HR": {
+ "name": "ક્રોએશિયા"
+ },
+ "GY": {
+ "name": "ગયાના"
+ },
+ "GN": {
+ "name": "ગિની"
+ },
+ "GW": {
+ "name": "ગિની-બિસાઉ"
+ },
+ "GA": {
+ "name": "ગેબન"
+ },
+ "GM": {
+ "name": "ગેમ્બિયા"
+ },
+ "GL": {
+ "name": "ગ્રીનલેન્ડ"
+ },
+ "GR": {
+ "name": "ગ્રીસ"
+ },
+ "GD": {
+ "name": "ગ્રેનેડા"
+ },
+ "GT": {
+ "name": "ગ્વાટેમાલા"
+ },
+ "GP": {
+ "name": "ગ્વાડેલોપ"
+ },
+ "GU": {
+ "name": "ગ્વામ"
+ },
+ "GG": {
+ "name": "ગ્વેર્નસે"
+ },
+ "GH": {
+ "name": "ઘાના"
+ },
+ "TD": {
+ "name": "ચાડ"
+ },
+ "CL": {
+ "name": "ચિલી"
+ },
+ "CN": {
+ "name": "ચીન"
+ },
+ "CZ": {
+ "name": "ચેક રીપબ્લિક"
+ },
+ "JM": {
+ "name": "જમૈકા"
+ },
+ "DE": {
+ "name": "જર્મની"
+ },
+ "JE": {
+ "name": "જર્સી"
+ },
+ "JP": {
+ "name": "જાપાન"
+ },
+ "DJ": {
+ "name": "જીબૌટી"
+ },
+ "GI": {
+ "name": "જીબ્રાલ્ટર"
+ },
+ "JO": {
+ "name": "જોર્ડન"
+ },
+ "GE": {
+ "name": "જ્યોર્જીયા"
+ },
+ "ZM": {
+ "name": "ઝામ્બિયા"
+ },
+ "ZW": {
+ "name": "ઝિમ્બાબ્વે"
+ },
+ "TO": {
+ "name": "ટોંગા"
+ },
+ "TK": {
+ "name": "ટોકેલાઉ"
+ },
+ "TG": {
+ "name": "ટોગો"
+ },
+ "TN": {
+ "name": "ટ્યુનિશિયા"
+ },
+ "TT": {
+ "name": "ટ્રિનીદાદ અને ટોબેગો"
+ },
+ "DG": {
+ "name": "ડિએગો ગારસિઆ"
+ },
+ "DK": {
+ "name": "ડેનમાર્ક"
+ },
+ "DO": {
+ "name": "ડોમિનિકન રીપબ્લિક"
+ },
+ "DM": {
+ "name": "ડોમિનિકા"
+ },
+ "TZ": {
+ "name": "તાંઝાનિયા"
+ },
+ "TW": {
+ "name": "તાઇવાન"
+ },
+ "TJ": {
+ "name": "તાજીકિસ્તાન"
+ },
+ "TL": {
+ "name": "તિમોર-લેસ્તે"
+ },
+ "TM": {
+ "name": "તુર્કમેનિસ્તાન"
+ },
+ "TR": {
+ "name": "તુર્કી"
+ },
+ "TC": {
+ "name": "તુર્ક્સ અને કાઇકોસ ટાપુઓ"
+ },
+ "TV": {
+ "name": "તુવાલુ"
+ },
+ "TA": {
+ "name": "ત્રિસ્તાન દા કુન્હા"
+ },
+ "TH": {
+ "name": "થાઇલેંડ"
+ },
+ "ZA": {
+ "name": "દક્ષિણ આફ્રિકા"
+ },
+ "KR": {
+ "name": "દક્ષિણ કોરિયા"
+ },
+ "GS": {
+ "name": "દક્ષિણ જ્યોર્જીયા અને દક્ષિણ સેન્ડવિચ આઇલેન્ડ્સ"
+ },
+ "SS": {
+ "name": "દક્ષિણ સુદાન"
+ },
+ "NE": {
+ "name": "નાઇજર"
+ },
+ "NG": {
+ "name": "નાઇજીરીયા"
+ },
+ "NA": {
+ "name": "નામિબિયા"
+ },
+ "NI": {
+ "name": "નિકારાગુઆ"
+ },
+ "NU": {
+ "name": "નીયુ"
+ },
+ "NL": {
+ "name": "નેધરલેન્ડ"
+ },
+ "NP": {
+ "name": "નેપાળ"
+ },
+ "NO": {
+ "name": "નૉર્વે"
+ },
+ "NF": {
+ "name": "નોરફૉક ટાપુ"
+ },
+ "NR": {
+ "name": "નૌરુ"
+ },
+ "NC": {
+ "name": "ન્યુ સેલેડોનિયા"
+ },
+ "NZ": {
+ "name": "ન્યુઝીલેન્ડ"
+ },
+ "PA": {
+ "name": "પનામા"
+ },
+ "PW": {
+ "name": "પલાઉ"
+ },
+ "EH": {
+ "name": "પશ્ચિમી સહારા"
+ },
+ "PK": {
+ "name": "પાકિસ્તાન"
+ },
+ "PG": {
+ "name": "પાપુઆ ન્યૂ ગિની"
+ },
+ "PN": {
+ "name": "પીટકૈર્ન આઇલેન્ડ્સ"
+ },
+ "PY": {
+ "name": "પેરાગ્વે"
+ },
+ "PE": {
+ "name": "પેરુ"
+ },
+ "PS": {
+ "name": "પેલેસ્ટિનિયન ટેરિટરી"
+ },
+ "PT": {
+ "name": "પોર્ટુગલ"
+ },
+ "PL": {
+ "name": "પોલેંડ"
+ },
+ "PR": {
+ "name": "પ્યુઅર્ટો રિકો"
+ },
+ "FI": {
+ "name": "ફિનલેન્ડ"
+ },
+ "PH": {
+ "name": "ફિલીપાઇન્સ"
+ },
+ "FJ": {
+ "name": "ફીજી"
+ },
+ "FO": {
+ "name": "ફૅરો ટાપુઓ"
+ },
+ "FK": {
+ "name": "ફૉકલેન્ડ ટાપુઓ"
+ },
+ "FR": {
+ "name": "ફ્રાંસ"
+ },
+ "GF": {
+ "name": "ફ્રેંચ ગયાના"
+ },
+ "PF": {
+ "name": "ફ્રેંચ પોલિનેશિયા"
+ },
+ "TF": {
+ "name": "ફ્રેંચ સદર્ન ટેરિટરીઝ"
+ },
+ "BM": {
+ "name": "બર્મુડા"
+ },
+ "BG": {
+ "name": "બલ્ગેરિયા"
+ },
+ "BS": {
+ "name": "બહામાસ"
+ },
+ "BD": {
+ "name": "બાંગ્લાદેશ"
+ },
+ "BB": {
+ "name": "બાર્બાડોસ"
+ },
+ "BI": {
+ "name": "બુરુંડી"
+ },
+ "BF": {
+ "name": "બુર્કિના ફાસો"
+ },
+ "BJ": {
+ "name": "બેનિન"
+ },
+ "BY": {
+ "name": "બેલારુસ"
+ },
+ "BZ": {
+ "name": "બેલીઝ"
+ },
+ "BE": {
+ "name": "બેલ્જીયમ"
+ },
+ "BH": {
+ "name": "બેહરીન"
+ },
+ "BW": {
+ "name": "બોત્સ્વાના"
+ },
+ "BO": {
+ "name": "બોલિવિયા"
+ },
+ "BA": {
+ "name": "બોસ્નિયા અને હર્ઝેગોવિના"
+ },
+ "BR": {
+ "name": "બ્રાઝિલ"
+ },
+ "IO": {
+ "name": "બ્રિટિશ ઇન્ડિયન ઓશન ટેરિટરી"
+ },
+ "VG": {
+ "name": "બ્રિટિશ વર્જિન ટાપુઓ"
+ },
+ "BN": {
+ "name": "બ્રુનેઇ"
+ },
+ "IN": {
+ "name": "ભારત"
+ },
+ "BT": {
+ "name": "ભૂટાન"
+ },
+ "MN": {
+ "name": "મંગોલિયા"
+ },
+ "MO": {
+ "name": "મકાઉ SAR ચીન"
+ },
+ "MY": {
+ "name": "મલેશિયા"
+ },
+ "FM": {
+ "name": "માઇક્રોનેશિયા"
+ },
+ "MQ": {
+ "name": "માર્ટીનીક"
+ },
+ "MH": {
+ "name": "માર્શલ આઇલેન્ડ્સ"
+ },
+ "MV": {
+ "name": "માલદિવ્સ"
+ },
+ "MW": {
+ "name": "માલાવી"
+ },
+ "ML": {
+ "name": "માલી"
+ },
+ "MT": {
+ "name": "માલ્ટા"
+ },
+ "MX": {
+ "name": "મેક્સિકો"
+ },
+ "MG": {
+ "name": "મેડાગાસ્કર"
+ },
+ "YT": {
+ "name": "મેયોટ"
+ },
+ "MK": {
+ "name": "મેસેડોનિયા"
+ },
+ "ME": {
+ "name": "મૉન્ટેંનેગ્રો"
+ },
+ "MS": {
+ "name": "મોંટસેરાત"
+ },
+ "MZ": {
+ "name": "મોઝામ્બિક"
+ },
+ "MC": {
+ "name": "મોનાકો"
+ },
+ "MU": {
+ "name": "મોરિશિયસ"
+ },
+ "MA": {
+ "name": "મોરોક્કો"
+ },
+ "MD": {
+ "name": "મોલડોવા"
+ },
+ "MR": {
+ "name": "મૌરિટાનિયા"
+ },
+ "MM": {
+ "name": "મ્યાંમાર (બર્મા)"
+ },
+ "VI": {
+ "name": "યુ.એસ. વર્જિન ટાપુઓ"
+ },
+ "UA": {
+ "name": "યુક્રેન"
+ },
+ "UG": {
+ "name": "યુગાંડા"
+ },
+ "AE": {
+ "name": "યુનાઇટેડ આરબ અમીરાત"
+ },
+ "GB": {
+ "name": "યુનાઇટેડ કિંગડમ"
+ },
+ "YE": {
+ "name": "યેમેન"
+ },
+ "RW": {
+ "name": "રવાંડા"
+ },
+ "RU": {
+ "name": "રશિયા"
+ },
+ "RE": {
+ "name": "રીયુનિયન"
+ },
+ "RO": {
+ "name": "રોમાનિયા"
+ },
+ "LU": {
+ "name": "લક્ઝમબર્ગ"
+ },
+ "LR": {
+ "name": "લાઇબેરિયા"
+ },
+ "LA": {
+ "name": "લાઓસ"
+ },
+ "LV": {
+ "name": "લાત્વિયા"
+ },
+ "LT": {
+ "name": "લિથુઆનિયા"
+ },
+ "LY": {
+ "name": "લિબિયા"
+ },
+ "LB": {
+ "name": "લેબનોન"
+ },
+ "LS": {
+ "name": "લેસોથો"
+ },
+ "LI": {
+ "name": "લૈચટેંસ્ટેઇન"
+ },
+ "VU": {
+ "name": "વાનુઆતુ"
+ },
+ "VN": {
+ "name": "વિયેતનામ"
+ },
+ "VA": {
+ "name": "વેટિકન સિટી"
+ },
+ "VE": {
+ "name": "વેનેઝુએલા"
+ },
+ "WF": {
+ "name": "વેલીસ અને ફ્યુટુના"
+ },
+ "LK": {
+ "name": "શ્રીલંકા"
+ },
+ "US": {
+ "name": "સંયુકત રાજ્ય અમેરિકા"
+ },
+ "UM": {
+ "name": "સંયુક્ત રાજ્ય આઉટલાઇંગ આયલેન્ડ્સ"
+ },
+ "WS": {
+ "name": "સમોઆ"
+ },
+ "RS": {
+ "name": "સર્બિયા"
+ },
+ "SA": {
+ "name": "સાઉદી અરેબિયા"
+ },
+ "ST": {
+ "name": "સાઓ ટૉમ અને પ્રિંસિપે"
+ },
+ "CY": {
+ "name": "સાયપ્રસ"
+ },
+ "SG": {
+ "name": "સિંગાપુર"
+ },
+ "SX": {
+ "name": "સિંટ માર્ટેન"
+ },
+ "SL": {
+ "name": "સીએરા લેઓન"
+ },
+ "SY": {
+ "name": "સીરિયા"
+ },
+ "SD": {
+ "name": "સુદાન"
+ },
+ "SR": {
+ "name": "સુરીનામ"
+ },
+ "SM": {
+ "name": "સૅન મેરિનો"
+ },
+ "SN": {
+ "name": "સેનેગલ"
+ },
+ "KN": {
+ "name": "સેન્ટ કિટ્સ અને નેવિસ"
+ },
+ "PM": {
+ "name": "સેન્ટ પિયર અને મીક્વેલન"
+ },
+ "BL": {
+ "name": "સેન્ટ બાર્થેલેમી"
+ },
+ "MF": {
+ "name": "સેન્ટ માર્ટિન"
+ },
+ "LC": {
+ "name": "સેન્ટ લુસિયા"
+ },
+ "VC": {
+ "name": "સેન્ટ વિન્સેટ અને ગ્રેનેડીન્સ"
+ },
+ "SH": {
+ "name": "સેન્ટ હેલેના"
+ },
+ "CF": {
+ "name": "સેન્ટ્રલ આફ્રિકન રીપબ્લિક"
+ },
+ "SC": {
+ "name": "સેશેલ્સ"
+ },
+ "SO": {
+ "name": "સોમાલિયા"
+ },
+ "SB": {
+ "name": "સોલોમન આઇલેન્ડ્સ"
+ },
+ "ES": {
+ "name": "સ્પેન"
+ },
+ "EA": {
+ "name": "સ્યુટા અને મેલિલા"
+ },
+ "SK": {
+ "name": "સ્લોવેકિયા"
+ },
+ "SI": {
+ "name": "સ્લોવેનિયા"
+ },
+ "SZ": {
+ "name": "સ્વાઝિલેન્ડ"
+ },
+ "SJ": {
+ "name": "સ્વાલબર્ડ અને જેન મેયન"
+ },
+ "CH": {
+ "name": "સ્વિટ્ઝર્લૅન્ડ"
+ },
+ "SE": {
+ "name": "સ્વીડન"
+ },
+ "HU": {
+ "name": "હંગેરી"
+ },
+ "HT": {
+ "name": "હૈતિ"
+ },
+ "HK": {
+ "name": "હોંગકોંગ SAR ચીન"
+ },
+ "HN": {
+ "name": "હોન્ડુરસ"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/guz.json b/vendor/commerceguys/intl/resources/country/guz.json
new file mode 100644
index 000000000..06ebd2eb3
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/guz.json
@@ -0,0 +1,761 @@
+{
+ "ZA": {
+ "name": "Afrika Kusini"
+ },
+ "AF": {
+ "name": "Afuganistani"
+ },
+ "IS": {
+ "name": "Aislandi"
+ },
+ "AR": {
+ "name": "Ajentina"
+ },
+ "AX": {
+ "name": "Åland Islands"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Aljeria"
+ },
+ "AD": {
+ "name": "Andora"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigua na Barbuda"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "IE": {
+ "name": "Ayalandi"
+ },
+ "AZ": {
+ "name": "Azabajani"
+ },
+ "BB": {
+ "name": "Babadosi"
+ },
+ "BS": {
+ "name": "Bahama"
+ },
+ "BH": {
+ "name": "Bahareni"
+ },
+ "BD": {
+ "name": "Bangladeshi"
+ },
+ "BY": {
+ "name": "Belarusi"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benini"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia na Hezegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brazili"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BF": {
+ "name": "Bukinafaso"
+ },
+ "MG": {
+ "name": "Bukini"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Butani"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "TD": {
+ "name": "Chadi"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Denmaki"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "EC": {
+ "name": "Ekwado"
+ },
+ "SV": {
+ "name": "Elsavado"
+ },
+ "IO": {
+ "name": "Eneo la Uingereza katika Bahari Hindi"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "AE": {
+ "name": "Falme za Kiarabu"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filipino"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gaboni"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GN": {
+ "name": "Gine"
+ },
+ "GW": {
+ "name": "Ginebisau"
+ },
+ "GQ": {
+ "name": "Ginekweta"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GL": {
+ "name": "Grinlandi"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "GP": {
+ "name": "Gwadelupe"
+ },
+ "GU": {
+ "name": "Gwam"
+ },
+ "GT": {
+ "name": "Gwatemala"
+ },
+ "GF": {
+ "name": "Gwiyana ya Ufaransa"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "ES": {
+ "name": "Hispania"
+ },
+ "HN": {
+ "name": "Hondurasi"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hungaria"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IQ": {
+ "name": "Iraki"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israeli"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JM": {
+ "name": "Jamaika"
+ },
+ "CF": {
+ "name": "Jamhuri ya Afrika ya Kati"
+ },
+ "CZ": {
+ "name": "Jamhuri ya Cheki"
+ },
+ "DO": {
+ "name": "Jamhuri ya Dominika"
+ },
+ "CD": {
+ "name": "Jamhuri ya Kidemokrasia ya Kongo"
+ },
+ "JP": {
+ "name": "Japani"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "GI": {
+ "name": "Jibralta"
+ },
+ "DJ": {
+ "name": "Jibuti"
+ },
+ "GE": {
+ "name": "Jojia"
+ },
+ "KH": {
+ "name": "Kambodia"
+ },
+ "CM": {
+ "name": "Kameruni"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "QA": {
+ "name": "Katari"
+ },
+ "KZ": {
+ "name": "Kazakistani"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "CV": {
+ "name": "Kepuvede"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "KG": {
+ "name": "Kirigizistani"
+ },
+ "NF": {
+ "name": "Kisiwa cha Norfok"
+ },
+ "CI": {
+ "name": "Kodivaa"
+ },
+ "CO": {
+ "name": "Kolombia"
+ },
+ "KM": {
+ "name": "Komoro"
+ },
+ "CG": {
+ "name": "Kongo"
+ },
+ "HR": {
+ "name": "Korasia"
+ },
+ "KP": {
+ "name": "Korea Kaskazini"
+ },
+ "KR": {
+ "name": "Korea Kusini"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "Kostarika"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "CY": {
+ "name": "Kuprosi"
+ },
+ "KW": {
+ "name": "Kuwaiti"
+ },
+ "LA": {
+ "name": "Laosi"
+ },
+ "LU": {
+ "name": "Lasembagi"
+ },
+ "LV": {
+ "name": "Lativia"
+ },
+ "LB": {
+ "name": "Lebanoni"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Lishenteni"
+ },
+ "LT": {
+ "name": "Litwania"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malesia"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "US": {
+ "name": "Marekani"
+ },
+ "MQ": {
+ "name": "Martiniki"
+ },
+ "MK": {
+ "name": "Masedonia"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Meksiko"
+ },
+ "FM": {
+ "name": "Mikronesia"
+ },
+ "EG": {
+ "name": "Misri"
+ },
+ "MV": {
+ "name": "Modivu"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrati"
+ },
+ "MU": {
+ "name": "Morisi"
+ },
+ "MR": {
+ "name": "Moritania"
+ },
+ "MA": {
+ "name": "Moroko"
+ },
+ "MZ": {
+ "name": "Msumbiji"
+ },
+ "MM": {
+ "name": "Myama"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepali"
+ },
+ "NE": {
+ "name": "Nijeri"
+ },
+ "NG": {
+ "name": "Nijeria"
+ },
+ "NI": {
+ "name": "Nikaragwa"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Norwe"
+ },
+ "NC": {
+ "name": "Nyukaledonia"
+ },
+ "NZ": {
+ "name": "Nyuzilandi"
+ },
+ "OM": {
+ "name": "Omani"
+ },
+ "PK": {
+ "name": "Pakistani"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua"
+ },
+ "PY": {
+ "name": "Paragwai"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitkairni"
+ },
+ "PL": {
+ "name": "Polandi"
+ },
+ "PF": {
+ "name": "Polinesia ya Ufaransa"
+ },
+ "PR": {
+ "name": "Pwetoriko"
+ },
+ "RE": {
+ "name": "Riyunioni"
+ },
+ "RO": {
+ "name": "Romania"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "SM": {
+ "name": "Samarino"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa ya Marekani"
+ },
+ "SH": {
+ "name": "Santahelena"
+ },
+ "KN": {
+ "name": "Santakitzi na Nevis"
+ },
+ "LC": {
+ "name": "Santalusia"
+ },
+ "PM": {
+ "name": "Santapieri na Mikeloni"
+ },
+ "VC": {
+ "name": "Santavisenti na Grenadini"
+ },
+ "ST": {
+ "name": "Sao Tome na Principe"
+ },
+ "SA": {
+ "name": "Saudi"
+ },
+ "SN": {
+ "name": "Senegali"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Shelisheli"
+ },
+ "SL": {
+ "name": "Siera Leoni"
+ },
+ "SG": {
+ "name": "Singapoo"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Siria"
+ },
+ "LK": {
+ "name": "Sirilanka"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SD": {
+ "name": "Sudani"
+ },
+ "SR": {
+ "name": "Surinamu"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailandi"
+ },
+ "TW": {
+ "name": "Taiwani"
+ },
+ "TJ": {
+ "name": "Tajikistani"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TL": {
+ "name": "Timori ya Mashariki"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad na Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TM": {
+ "name": "Turukimenistani"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "IR": {
+ "name": "Uajemi"
+ },
+ "BE": {
+ "name": "Ubelgiji"
+ },
+ "FR": {
+ "name": "Ufaransa"
+ },
+ "FI": {
+ "name": "Ufini"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "GR": {
+ "name": "Ugiriki"
+ },
+ "ET": {
+ "name": "Uhabeshi"
+ },
+ "NL": {
+ "name": "Uholanzi"
+ },
+ "GB": {
+ "name": "Uingereza"
+ },
+ "DE": {
+ "name": "Ujerumani"
+ },
+ "PS": {
+ "name": "Ukingo wa Magharibi na Ukanda wa Gaza wa Palestina"
+ },
+ "UA": {
+ "name": "Ukraini"
+ },
+ "PT": {
+ "name": "Ureno"
+ },
+ "UY": {
+ "name": "Urugwai"
+ },
+ "RU": {
+ "name": "Urusi"
+ },
+ "SZ": {
+ "name": "Uswazi"
+ },
+ "SE": {
+ "name": "Uswidi"
+ },
+ "CH": {
+ "name": "Uswisi"
+ },
+ "TR": {
+ "name": "Uturuki"
+ },
+ "UZ": {
+ "name": "Uzibekistani"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikani"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietinamu"
+ },
+ "CK": {
+ "name": "Visiwa vya Cook"
+ },
+ "FK": {
+ "name": "Visiwa vya Falkland"
+ },
+ "KY": {
+ "name": "Visiwa vya Kayman"
+ },
+ "MP": {
+ "name": "Visiwa vya Mariana vya Kaskazini"
+ },
+ "MH": {
+ "name": "Visiwa vya Marshal"
+ },
+ "SB": {
+ "name": "Visiwa vya Solomon"
+ },
+ "TC": {
+ "name": "Visiwa vya Turki na Kaiko"
+ },
+ "VI": {
+ "name": "Visiwa vya Virgin vya Marekani"
+ },
+ "VG": {
+ "name": "Visiwa vya Virgin vya Uingereza"
+ },
+ "WF": {
+ "name": "Walis na Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yemeni"
+ },
+ "JO": {
+ "name": "Yordani"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/ha.json b/vendor/commerceguys/intl/resources/country/ha.json
new file mode 100644
index 000000000..18d317195
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/ha.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afaganistan"
+ },
+ "ZA": {
+ "name": "Afirka Ta Kudu"
+ },
+ "CI": {
+ "name": "Aibari Kwas"
+ },
+ "IS": {
+ "name": "Aisalan"
+ },
+ "AX": {
+ "name": "Åland Islands"
+ },
+ "AL": {
+ "name": "Albaniya"
+ },
+ "DZ": {
+ "name": "Aljeriya"
+ },
+ "US": {
+ "name": "Amurka"
+ },
+ "AD": {
+ "name": "Andora"
+ },
+ "AI": {
+ "name": "Angila"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigwa da Barbuba"
+ },
+ "AR": {
+ "name": "Arjantiniya"
+ },
+ "AM": {
+ "name": "Armeniya"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "IE": {
+ "name": "Ayalan"
+ },
+ "AZ": {
+ "name": "Azarbaijan"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Baharan"
+ },
+ "BD": {
+ "name": "Bangiladas"
+ },
+ "VU": {
+ "name": "Banuwatu"
+ },
+ "BB": {
+ "name": "Barbadas"
+ },
+ "BM": {
+ "name": "Barmuda"
+ },
+ "BW": {
+ "name": "Baswana"
+ },
+ "VA": {
+ "name": "Batikan"
+ },
+ "BY": {
+ "name": "Belarus"
+ },
+ "BE": {
+ "name": "Belgiyom"
+ },
+ "BZ": {
+ "name": "Beliz"
+ },
+ "VE": {
+ "name": "Benezuwela"
+ },
+ "BJ": {
+ "name": "Binin"
+ },
+ "BR": {
+ "name": "Birazil"
+ },
+ "GB": {
+ "name": "Birtaniya"
+ },
+ "VN": {
+ "name": "Biyetinam"
+ },
+ "BO": {
+ "name": "Bolibiya"
+ },
+ "BA": {
+ "name": "Bosniya Harzagobina"
+ },
+ "BG": {
+ "name": "Bulgariya"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "MM": {
+ "name": "Burma, Miyamar"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BN": {
+ "name": "Burune"
+ },
+ "BT": {
+ "name": "Butan"
+ },
+ "TD": {
+ "name": "Cadi"
+ },
+ "CN": {
+ "name": "Caina, Sin"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "CL": {
+ "name": "Cayile"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Danmark"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "EC": {
+ "name": "Ekwador"
+ },
+ "SV": {
+ "name": "El Salbador"
+ },
+ "ER": {
+ "name": "Eritireya"
+ },
+ "EE": {
+ "name": "Estoniya"
+ },
+ "FR": {
+ "name": "Faransa"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filipin"
+ },
+ "FI": {
+ "name": "Finlan"
+ },
+ "PF": {
+ "name": "Folinesiya Ta Faransa"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambiya"
+ },
+ "GH": {
+ "name": "Gana"
+ },
+ "GN": {
+ "name": "Gini"
+ },
+ "GW": {
+ "name": "Gini Bisau"
+ },
+ "GF": {
+ "name": "Gini Ta Faransa"
+ },
+ "GQ": {
+ "name": "Gini Ta Ikwaita"
+ },
+ "GR": {
+ "name": "Girka"
+ },
+ "GD": {
+ "name": "Girnada"
+ },
+ "GL": {
+ "name": "Grinlan"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "GP": {
+ "name": "Gwadaluf"
+ },
+ "GU": {
+ "name": "Gwam"
+ },
+ "GT": {
+ "name": "Gwatamala"
+ },
+ "ET": {
+ "name": "Habasha"
+ },
+ "AE": {
+ "name": "Haɗaɗɗiyar Daular Larabawa"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "NL": {
+ "name": "Holan"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hungari"
+ },
+ "IN": {
+ "name": "Indiya"
+ },
+ "ID": {
+ "name": "Indunusiya"
+ },
+ "IQ": {
+ "name": "Iraƙi"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IT": {
+ "name": "Italiya"
+ },
+ "IL": {
+ "name": "Iziraʼila"
+ },
+ "JM": {
+ "name": "Jamaika"
+ },
+ "CF": {
+ "name": "Jamhuriyar Afirka Ta Tsakiya"
+ },
+ "CZ": {
+ "name": "Jamhuriyar Cak"
+ },
+ "CD": {
+ "name": "Jamhuriyar Dimokuraɗiyyar Kongo"
+ },
+ "DO": {
+ "name": "Jamhuriyar Dominika"
+ },
+ "DE": {
+ "name": "Jamus"
+ },
+ "JP": {
+ "name": "Japan"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "GI": {
+ "name": "Jibaraltar"
+ },
+ "DJ": {
+ "name": "Jibuti"
+ },
+ "GE": {
+ "name": "Jiwarjiya"
+ },
+ "JO": {
+ "name": "Jordan"
+ },
+ "NC": {
+ "name": "Kaledoniya Sabuwa"
+ },
+ "CM": {
+ "name": "Kamaru"
+ },
+ "KH": {
+ "name": "Kambodiya"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "KZ": {
+ "name": "Kazakistan"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "KG": {
+ "name": "Kirgizistan"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "CO": {
+ "name": "Kolambiya"
+ },
+ "CG": {
+ "name": "Kongo"
+ },
+ "KP": {
+ "name": "Koreya Ta Arewa"
+ },
+ "KR": {
+ "name": "Koreya Ta Kudu"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "HR": {
+ "name": "Kurowaishiya"
+ },
+ "KM": {
+ "name": "Kwamoras"
+ },
+ "CR": {
+ "name": "Kwasta Rika"
+ },
+ "QA": {
+ "name": "Kwatar"
+ },
+ "KW": {
+ "name": "Kwiyat"
+ },
+ "CU": {
+ "name": "Kyuba"
+ },
+ "SA": {
+ "name": "Ƙasar Makka"
+ },
+ "LB": {
+ "name": "Labanan"
+ },
+ "LR": {
+ "name": "Laberiya"
+ },
+ "LV": {
+ "name": "latibiya"
+ },
+ "LA": {
+ "name": "Lawas"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LY": {
+ "name": "Libiya"
+ },
+ "LI": {
+ "name": "Licansitan"
+ },
+ "LT": {
+ "name": "Lituweniya"
+ },
+ "LU": {
+ "name": "Lukusambur"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MG": {
+ "name": "Madagaskar"
+ },
+ "MX": {
+ "name": "Makasiko"
+ },
+ "MY": {
+ "name": "Malaisiya"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MV": {
+ "name": "Maldibi"
+ },
+ "MD": {
+ "name": "Maldoba"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MN": {
+ "name": "Mangoliya"
+ },
+ "MS": {
+ "name": "Manserati"
+ },
+ "MA": {
+ "name": "Maroko"
+ },
+ "MQ": {
+ "name": "Martinik"
+ },
+ "EG": {
+ "name": "Masar, Misira"
+ },
+ "MK": {
+ "name": "Masedoniya"
+ },
+ "YT": {
+ "name": "Mayoti"
+ },
+ "FM": {
+ "name": "Mikuronesiya"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MR": {
+ "name": "Moritaniya"
+ },
+ "MU": {
+ "name": "Moritus"
+ },
+ "MZ": {
+ "name": "Mozambik"
+ },
+ "NG": {
+ "name": "Najeriya"
+ },
+ "NA": {
+ "name": "Namibiya"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nefal"
+ },
+ "NE": {
+ "name": "Nijar"
+ },
+ "NI": {
+ "name": "Nikaraguwa"
+ },
+ "NU": {
+ "name": "Niyu"
+ },
+ "NO": {
+ "name": "Norwe"
+ },
+ "NZ": {
+ "name": "Nuzilan"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "AU": {
+ "name": "Ostareliya"
+ },
+ "AT": {
+ "name": "Ostiriya"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PS": {
+ "name": "Palasɗinu"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papuwa Nugini"
+ },
+ "PY": {
+ "name": "Paragai"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitakarin"
+ },
+ "PL": {
+ "name": "Polan"
+ },
+ "PR": {
+ "name": "Porto Riko"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "RU": {
+ "name": "Rasha"
+ },
+ "RE": {
+ "name": "Rawuniyan"
+ },
+ "RO": {
+ "name": "Romaniya"
+ },
+ "RW": {
+ "name": "Ruwanda"
+ },
+ "SC": {
+ "name": "Saishal"
+ },
+ "SL": {
+ "name": "Salewo"
+ },
+ "WS": {
+ "name": "Samowa"
+ },
+ "AS": {
+ "name": "Samowa Ta Amurka"
+ },
+ "VC": {
+ "name": "San Binsan Da Girnadin"
+ },
+ "SH": {
+ "name": "San Helena"
+ },
+ "KN": {
+ "name": "San Kiti Da Nebis"
+ },
+ "LC": {
+ "name": "San Lusiya"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "PM": {
+ "name": "San Piyar Da Mikelan"
+ },
+ "ST": {
+ "name": "Sawo Tome Da Paransip"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "CY": {
+ "name": "Sifurus"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SN": {
+ "name": "Sinigal"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "ES": {
+ "name": "Sipen"
+ },
+ "LK": {
+ "name": "Siri Lanka"
+ },
+ "SO": {
+ "name": "Somaliya"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "SK": {
+ "name": "Sulobakiya"
+ },
+ "SI": {
+ "name": "Sulobeniya"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SZ": {
+ "name": "Suwazilan"
+ },
+ "SE": {
+ "name": "Suwedan"
+ },
+ "CH": {
+ "name": "Suwizalan"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "SY": {
+ "name": "Sham, Siriya"
+ },
+ "TH": {
+ "name": "Tailan"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TJ": {
+ "name": "Tajikistan"
+ },
+ "TK": {
+ "name": "Takelau"
+ },
+ "TO": {
+ "name": "Tanga"
+ },
+ "TZ": {
+ "name": "Tanzaniya"
+ },
+ "TL": {
+ "name": "Timor Ta Gabas"
+ },
+ "TT": {
+ "name": "Tirinidad Da Tobago"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TV": {
+ "name": "Tubalu"
+ },
+ "TN": {
+ "name": "Tunisiya"
+ },
+ "TC": {
+ "name": "Turkis Da Tsibiran Kaikwas"
+ },
+ "TR": {
+ "name": "Turkiyya"
+ },
+ "TM": {
+ "name": "Turkumenistan"
+ },
+ "VI": {
+ "name": "Tsibiran Birjin Ta Amurka"
+ },
+ "FK": {
+ "name": "Tsibiran Falkilan"
+ },
+ "KY": {
+ "name": "Tsibiran Kaiman"
+ },
+ "CV": {
+ "name": "Tsibiran Kap Barde"
+ },
+ "CK": {
+ "name": "Tsibiran Kuku"
+ },
+ "MP": {
+ "name": "Tsibiran Mariyana Na Arewa"
+ },
+ "MH": {
+ "name": "Tsibiran Marshal"
+ },
+ "SB": {
+ "name": "Tsibiran Salaman"
+ },
+ "VG": {
+ "name": "Tsibirin Birjin Na Birtaniya"
+ },
+ "NF": {
+ "name": "Tsibirin Narfalk"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "UZ": {
+ "name": "Uzubekistan"
+ },
+ "WF": {
+ "name": "Walis Da Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yamal"
+ },
+ "IO": {
+ "name": "Yankin Birtaniya Na Tekun Indiya"
+ },
+ "UG": {
+ "name": "Yuganda"
+ },
+ "UA": {
+ "name": "Yukaran"
+ },
+ "UY": {
+ "name": "Yurugai"
+ },
+ "ZM": {
+ "name": "Zambiya"
+ },
+ "ZW": {
+ "name": "Zimbabuwe"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/he.json b/vendor/commerceguys/intl/resources/country/he.json
new file mode 100644
index 000000000..9bd3f956b
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/he.json
@@ -0,0 +1,761 @@
+{
+ "UG": {
+ "name": "אוגנדה"
+ },
+ "UZ": {
+ "name": "אוזבקיסטן"
+ },
+ "AT": {
+ "name": "אוסטריה"
+ },
+ "AU": {
+ "name": "אוסטרליה"
+ },
+ "UA": {
+ "name": "אוקראינה"
+ },
+ "UY": {
+ "name": "אורוגוואי"
+ },
+ "AZ": {
+ "name": "אזרבייג׳ן"
+ },
+ "AE": {
+ "name": "איחוד האמירויות הערביות"
+ },
+ "IT": {
+ "name": "איטליה"
+ },
+ "AX": {
+ "name": "איי אולנד"
+ },
+ "BS": {
+ "name": "איי בהאמה"
+ },
+ "VG": {
+ "name": "איי הבתולה הבריטיים"
+ },
+ "VI": {
+ "name": "איי הבתולה של ארצות הברית"
+ },
+ "WF": {
+ "name": "איי ווליס ופוטונה"
+ },
+ "TC": {
+ "name": "איי טורקס וקאיקוס"
+ },
+ "MP": {
+ "name": "איי מריאנה הצפוניים"
+ },
+ "MH": {
+ "name": "איי מרשל"
+ },
+ "NF": {
+ "name": "איי נורפוק"
+ },
+ "SC": {
+ "name": "איי סיישל"
+ },
+ "FO": {
+ "name": "איי פארו"
+ },
+ "FK": {
+ "name": "איי פוקלנד"
+ },
+ "PN": {
+ "name": "איי פיטקרן"
+ },
+ "CK": {
+ "name": "איי קוק"
+ },
+ "CC": {
+ "name": "איי קוקוס (קילינג)"
+ },
+ "KY": {
+ "name": "איי קיימן"
+ },
+ "SB": {
+ "name": "איי שלמה"
+ },
+ "ID": {
+ "name": "אינדונזיה"
+ },
+ "IS": {
+ "name": "איסלנד"
+ },
+ "IR": {
+ "name": "איראן"
+ },
+ "IE": {
+ "name": "אירלנד"
+ },
+ "SV": {
+ "name": "אל סלבדור"
+ },
+ "AL": {
+ "name": "אלבניה"
+ },
+ "DZ": {
+ "name": "אלג׳יריה"
+ },
+ "AO": {
+ "name": "אנגולה"
+ },
+ "AI": {
+ "name": "אנגילה"
+ },
+ "AD": {
+ "name": "אנדורה"
+ },
+ "AQ": {
+ "name": "אנטארקטיקה"
+ },
+ "AG": {
+ "name": "אנטיגואה וברבודה"
+ },
+ "EE": {
+ "name": "אסטוניה"
+ },
+ "AF": {
+ "name": "אפגניסטן"
+ },
+ "EC": {
+ "name": "אקוודור"
+ },
+ "AR": {
+ "name": "ארגנטינה"
+ },
+ "AW": {
+ "name": "ארובה"
+ },
+ "ER": {
+ "name": "אריתריאה"
+ },
+ "AM": {
+ "name": "ארמניה"
+ },
+ "US": {
+ "name": "ארצות הברית"
+ },
+ "ET": {
+ "name": "אתיופיה"
+ },
+ "BT": {
+ "name": "בהוטן"
+ },
+ "BG": {
+ "name": "בולגריה"
+ },
+ "BO": {
+ "name": "בוליביה"
+ },
+ "BA": {
+ "name": "בוסניה והרצגובינה"
+ },
+ "BW": {
+ "name": "בוצוואנה"
+ },
+ "BI": {
+ "name": "בורונדי"
+ },
+ "BF": {
+ "name": "בורקינה פאסו"
+ },
+ "BH": {
+ "name": "בחריין"
+ },
+ "BY": {
+ "name": "בלארוס"
+ },
+ "BE": {
+ "name": "בלגיה"
+ },
+ "BZ": {
+ "name": "בליז"
+ },
+ "BD": {
+ "name": "בנגלדש"
+ },
+ "BJ": {
+ "name": "בנין"
+ },
+ "BB": {
+ "name": "ברבדוס"
+ },
+ "BN": {
+ "name": "ברוניי"
+ },
+ "BR": {
+ "name": "ברזיל"
+ },
+ "BM": {
+ "name": "ברמודה"
+ },
+ "GS": {
+ "name": "ג׳ורג׳יה הדרומית ואיי סנדוויץ׳ הדרומיים"
+ },
+ "DJ": {
+ "name": "ג׳יבוטי"
+ },
+ "JM": {
+ "name": "ג׳מייקה"
+ },
+ "JE": {
+ "name": "ג׳רסי"
+ },
+ "GE": {
+ "name": "גאורגיה"
+ },
+ "GH": {
+ "name": "גאנה"
+ },
+ "GA": {
+ "name": "גבון"
+ },
+ "GT": {
+ "name": "גואטמלה"
+ },
+ "GU": {
+ "name": "גואם"
+ },
+ "GP": {
+ "name": "גוואדלופ"
+ },
+ "GY": {
+ "name": "גיאנה"
+ },
+ "GF": {
+ "name": "גיאנה הצרפתית"
+ },
+ "GI": {
+ "name": "גיברלטר"
+ },
+ "GN": {
+ "name": "גינאה"
+ },
+ "GW": {
+ "name": "גינאה ביסאו"
+ },
+ "GQ": {
+ "name": "גינאה המשוונית"
+ },
+ "GM": {
+ "name": "גמביה"
+ },
+ "GL": {
+ "name": "גרינלנד"
+ },
+ "DE": {
+ "name": "גרמניה"
+ },
+ "GD": {
+ "name": "גרנדה"
+ },
+ "GG": {
+ "name": "גרנסי"
+ },
+ "DM": {
+ "name": "דומיניקה"
+ },
+ "DG": {
+ "name": "דייגו גרסיה"
+ },
+ "DK": {
+ "name": "דנמרק"
+ },
+ "ZA": {
+ "name": "דרום אפריקה"
+ },
+ "SS": {
+ "name": "דרום סודן"
+ },
+ "AC": {
+ "name": "האי אסנשן"
+ },
+ "CX": {
+ "name": "האי כריסטמס"
+ },
+ "IM": {
+ "name": "האי מאן"
+ },
+ "HT": {
+ "name": "האיטי"
+ },
+ "MV": {
+ "name": "האיים המלדיביים"
+ },
+ "UM": {
+ "name": "האיים המרוחקים הקטנים של ארה״ב"
+ },
+ "IC": {
+ "name": "האיים הקנריים"
+ },
+ "BQ": {
+ "name": "האיים הקריביים ההולנדיים"
+ },
+ "IN": {
+ "name": "הודו"
+ },
+ "VA": {
+ "name": "הוותיקן"
+ },
+ "NL": {
+ "name": "הולנד"
+ },
+ "HK": {
+ "name": "הונג קונג (מחוז מנהלי מיוחד של סין)"
+ },
+ "HU": {
+ "name": "הונגריה"
+ },
+ "HN": {
+ "name": "הונדורס"
+ },
+ "IO": {
+ "name": "הטריטוריה הבריטית באוקיינוס ההודי"
+ },
+ "TF": {
+ "name": "הטריטוריות הדרומיות של צרפת"
+ },
+ "GB": {
+ "name": "הממלכה המאוחדת"
+ },
+ "PH": {
+ "name": "הפיליפינים"
+ },
+ "DO": {
+ "name": "הרפובליקה הדומיניקנית"
+ },
+ "CZ": {
+ "name": "הרפובליקה הצ׳כית"
+ },
+ "CF": {
+ "name": "הרפובליקה של מרכז אפריקה"
+ },
+ "PS": {
+ "name": "השטחים הפלסטיניים"
+ },
+ "VN": {
+ "name": "וייטנאם"
+ },
+ "VU": {
+ "name": "ונואטו"
+ },
+ "VE": {
+ "name": "ונצואלה"
+ },
+ "ZW": {
+ "name": "זימבבואה"
+ },
+ "ZM": {
+ "name": "זמביה"
+ },
+ "CI": {
+ "name": "חוף השנהב"
+ },
+ "TJ": {
+ "name": "טג׳יקיסטן"
+ },
+ "TV": {
+ "name": "טובאלו"
+ },
+ "TG": {
+ "name": "טוגו"
+ },
+ "TO": {
+ "name": "טונגה"
+ },
+ "TN": {
+ "name": "טוניסיה"
+ },
+ "TK": {
+ "name": "טוקלאו"
+ },
+ "TR": {
+ "name": "טורקיה"
+ },
+ "TM": {
+ "name": "טורקמניסטן"
+ },
+ "TW": {
+ "name": "טייוואן"
+ },
+ "TL": {
+ "name": "טימור לסטה"
+ },
+ "TZ": {
+ "name": "טנזניה"
+ },
+ "TT": {
+ "name": "טרינידד וטובגו"
+ },
+ "TA": {
+ "name": "טריסטן דה קונה"
+ },
+ "GR": {
+ "name": "יוון"
+ },
+ "JP": {
+ "name": "יפן"
+ },
+ "JO": {
+ "name": "ירדן"
+ },
+ "IL": {
+ "name": "ישראל"
+ },
+ "KW": {
+ "name": "כווית"
+ },
+ "CV": {
+ "name": "כף ורדה"
+ },
+ "LA": {
+ "name": "לאוס"
+ },
+ "LB": {
+ "name": "לבנון"
+ },
+ "LY": {
+ "name": "לוב"
+ },
+ "LU": {
+ "name": "לוקסמבורג"
+ },
+ "LV": {
+ "name": "לטביה"
+ },
+ "LR": {
+ "name": "ליבריה"
+ },
+ "LT": {
+ "name": "ליטא"
+ },
+ "LI": {
+ "name": "ליכטנשטיין"
+ },
+ "LS": {
+ "name": "לסוטו"
+ },
+ "MR": {
+ "name": "מאוריטניה"
+ },
+ "MU": {
+ "name": "מאוריציוס"
+ },
+ "YT": {
+ "name": "מאיוט"
+ },
+ "ML": {
+ "name": "מאלי"
+ },
+ "MG": {
+ "name": "מדגסקר"
+ },
+ "MZ": {
+ "name": "מוזמביק"
+ },
+ "MD": {
+ "name": "מולדובה"
+ },
+ "MN": {
+ "name": "מונגוליה"
+ },
+ "ME": {
+ "name": "מונטנגרו"
+ },
+ "MS": {
+ "name": "מונסראט"
+ },
+ "MC": {
+ "name": "מונקו"
+ },
+ "MM": {
+ "name": "מיאנמר (בורמה)"
+ },
+ "FM": {
+ "name": "מיקרונזיה"
+ },
+ "MW": {
+ "name": "מלאווי"
+ },
+ "MY": {
+ "name": "מלזיה"
+ },
+ "MT": {
+ "name": "מלטה"
+ },
+ "EG": {
+ "name": "מצרים"
+ },
+ "MO": {
+ "name": "מקאו (מחוז מנהלי מיוחד של סין)"
+ },
+ "MK": {
+ "name": "מקדוניה"
+ },
+ "MX": {
+ "name": "מקסיקו"
+ },
+ "MA": {
+ "name": "מרוקו"
+ },
+ "MQ": {
+ "name": "מרטיניק"
+ },
+ "NR": {
+ "name": "נאורו"
+ },
+ "NO": {
+ "name": "נורווגיה"
+ },
+ "NG": {
+ "name": "ניגריה"
+ },
+ "NZ": {
+ "name": "ניו זילנד"
+ },
+ "NU": {
+ "name": "ניווה"
+ },
+ "NE": {
+ "name": "ניז׳ר"
+ },
+ "NI": {
+ "name": "ניקרגואה"
+ },
+ "NA": {
+ "name": "נמיביה"
+ },
+ "NP": {
+ "name": "נפאל"
+ },
+ "ST": {
+ "name": "סאו טומה ופרינסיפה"
+ },
+ "EA": {
+ "name": "סאוטה ומלייה"
+ },
+ "EH": {
+ "name": "סהרה המערבית"
+ },
+ "SD": {
+ "name": "סודן"
+ },
+ "SZ": {
+ "name": "סווזילנד"
+ },
+ "SJ": {
+ "name": "סוולבארד ויאן מאיין"
+ },
+ "SO": {
+ "name": "סומליה"
+ },
+ "SY": {
+ "name": "סוריה"
+ },
+ "SR": {
+ "name": "סורינם"
+ },
+ "SL": {
+ "name": "סיירה לאונה"
+ },
+ "CN": {
+ "name": "סין"
+ },
+ "SG": {
+ "name": "סינגפור"
+ },
+ "SI": {
+ "name": "סלובניה"
+ },
+ "SK": {
+ "name": "סלובקיה"
+ },
+ "WS": {
+ "name": "סמואה"
+ },
+ "AS": {
+ "name": "סמואה האמריקנית"
+ },
+ "MF": {
+ "name": "סן מרטן"
+ },
+ "SM": {
+ "name": "סן מרינו"
+ },
+ "SN": {
+ "name": "סנגל"
+ },
+ "BL": {
+ "name": "סנט ברתולומיאו"
+ },
+ "SH": {
+ "name": "סנט הלנה"
+ },
+ "VC": {
+ "name": "סנט וינסנט והגרנדינים"
+ },
+ "LC": {
+ "name": "סנט לוסיה"
+ },
+ "SX": {
+ "name": "סנט מארטן"
+ },
+ "PM": {
+ "name": "סנט פייר ומיקלון"
+ },
+ "KN": {
+ "name": "סנט קיטס ונוויס"
+ },
+ "ES": {
+ "name": "ספרד"
+ },
+ "RS": {
+ "name": "סרביה"
+ },
+ "LK": {
+ "name": "סרי לנקה"
+ },
+ "OM": {
+ "name": "עומאן"
+ },
+ "IQ": {
+ "name": "עיראק"
+ },
+ "SA": {
+ "name": "ערב הסעודית"
+ },
+ "PR": {
+ "name": "פוארטו ריקו"
+ },
+ "PL": {
+ "name": "פולין"
+ },
+ "PF": {
+ "name": "פולינזיה הצרפתית"
+ },
+ "PT": {
+ "name": "פורטוגל"
+ },
+ "FJ": {
+ "name": "פיג׳י"
+ },
+ "FI": {
+ "name": "פינלנד"
+ },
+ "PW": {
+ "name": "פלאו"
+ },
+ "PA": {
+ "name": "פנמה"
+ },
+ "PG": {
+ "name": "פפואה גינאה החדשה"
+ },
+ "PK": {
+ "name": "פקיסטן"
+ },
+ "PY": {
+ "name": "פרגוואי"
+ },
+ "PE": {
+ "name": "פרו"
+ },
+ "TD": {
+ "name": "צ׳אד"
+ },
+ "CL": {
+ "name": "צ׳ילה"
+ },
+ "FR": {
+ "name": "צרפת"
+ },
+ "CU": {
+ "name": "קובה"
+ },
+ "CO": {
+ "name": "קולומביה"
+ },
+ "KM": {
+ "name": "קומורו"
+ },
+ "CG": {
+ "name": "קונגו - ברזאויל"
+ },
+ "CD": {
+ "name": "קונגו - קינשאסה"
+ },
+ "XK": {
+ "name": "קוסובו"
+ },
+ "CR": {
+ "name": "קוסטה ריקה"
+ },
+ "CW": {
+ "name": "קוראסאו"
+ },
+ "KR": {
+ "name": "קוריאה הדרומית"
+ },
+ "KP": {
+ "name": "קוריאה הצפונית"
+ },
+ "KZ": {
+ "name": "קזחסטן"
+ },
+ "QA": {
+ "name": "קטאר"
+ },
+ "KG": {
+ "name": "קירגיזסטן"
+ },
+ "KI": {
+ "name": "קיריבאטי"
+ },
+ "NC": {
+ "name": "קלדוניה החדשה"
+ },
+ "KH": {
+ "name": "קמבודיה"
+ },
+ "CM": {
+ "name": "קמרון"
+ },
+ "CA": {
+ "name": "קנדה"
+ },
+ "KE": {
+ "name": "קניה"
+ },
+ "CY": {
+ "name": "קפריסין"
+ },
+ "HR": {
+ "name": "קרואטיה"
+ },
+ "RE": {
+ "name": "ראוניון"
+ },
+ "RW": {
+ "name": "רואנדה"
+ },
+ "RO": {
+ "name": "רומניה"
+ },
+ "RU": {
+ "name": "רוסיה"
+ },
+ "SE": {
+ "name": "שוודיה"
+ },
+ "CH": {
+ "name": "שווייץ"
+ },
+ "TH": {
+ "name": "תאילנד"
+ },
+ "YE": {
+ "name": "תימן"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/hi.json b/vendor/commerceguys/intl/resources/country/hi.json
new file mode 100644
index 000000000..a9c275cea
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/hi.json
@@ -0,0 +1,761 @@
+{
+ "AO": {
+ "name": "अंगोला"
+ },
+ "AQ": {
+ "name": "अंटार्कटिका"
+ },
+ "AZ": {
+ "name": "अज़रबैजान"
+ },
+ "AF": {
+ "name": "अफ़गानिस्तान"
+ },
+ "AS": {
+ "name": "अमेरिकी समोआ"
+ },
+ "AW": {
+ "name": "अरूबा"
+ },
+ "AR": {
+ "name": "अर्जेंटीना"
+ },
+ "SV": {
+ "name": "अल सल्वाडोर"
+ },
+ "DZ": {
+ "name": "अल्जीरिया"
+ },
+ "AL": {
+ "name": "अल्बानिया"
+ },
+ "AC": {
+ "name": "असेंशन द्वीप"
+ },
+ "IM": {
+ "name": "आइल ऑफ़ मैन"
+ },
+ "IS": {
+ "name": "आइसलैंड"
+ },
+ "IE": {
+ "name": "आयरलैंड"
+ },
+ "AM": {
+ "name": "आर्मेनिया"
+ },
+ "ID": {
+ "name": "इंडोनेशिया"
+ },
+ "EC": {
+ "name": "इक्वाडोर"
+ },
+ "GQ": {
+ "name": "इक्वेटोरियल गिनी"
+ },
+ "IL": {
+ "name": "इज़राइल"
+ },
+ "IT": {
+ "name": "इटली"
+ },
+ "ET": {
+ "name": "इथियोपिया"
+ },
+ "IQ": {
+ "name": "इराक"
+ },
+ "ER": {
+ "name": "इरिट्रिया"
+ },
+ "IR": {
+ "name": "ईरान"
+ },
+ "UZ": {
+ "name": "उज़्बेकिस्तान"
+ },
+ "KP": {
+ "name": "उत्तर कोरिया"
+ },
+ "MP": {
+ "name": "उत्तरी मारियाना द्वीपसमूह"
+ },
+ "UY": {
+ "name": "उरूग्वे"
+ },
+ "AI": {
+ "name": "एंग्विला"
+ },
+ "AG": {
+ "name": "एंटिगुआ और बरबुडा"
+ },
+ "AD": {
+ "name": "एंडोरा"
+ },
+ "AX": {
+ "name": "एलैंड द्वीपसमूह"
+ },
+ "EE": {
+ "name": "एस्टोनिया"
+ },
+ "AT": {
+ "name": "ऑस्ट्रिया"
+ },
+ "AU": {
+ "name": "ऑस्ट्रेलिया"
+ },
+ "OM": {
+ "name": "ओमान"
+ },
+ "KH": {
+ "name": "कंबोडिया"
+ },
+ "KZ": {
+ "name": "कज़ाखस्तान"
+ },
+ "QA": {
+ "name": "क़तर"
+ },
+ "CA": {
+ "name": "कनाडा"
+ },
+ "CD": {
+ "name": "कांगो - किंशासा"
+ },
+ "CG": {
+ "name": "कांगो – ब्राज़ाविल"
+ },
+ "KI": {
+ "name": "किरिबाती"
+ },
+ "KG": {
+ "name": "किर्गिज़स्तान"
+ },
+ "CK": {
+ "name": "कुक द्वीपसमूह"
+ },
+ "KW": {
+ "name": "कुवैत"
+ },
+ "KE": {
+ "name": "केन्या"
+ },
+ "CV": {
+ "name": "केप वर्ड"
+ },
+ "KY": {
+ "name": "केमैन द्वीपसमूह"
+ },
+ "IC": {
+ "name": "कैनेरी द्वीपसमूह"
+ },
+ "CM": {
+ "name": "कैमरून"
+ },
+ "BQ": {
+ "name": "कैरिबियन नीदरलैंड"
+ },
+ "CC": {
+ "name": "कोकोस (कीलिंग) द्वीपसमूह"
+ },
+ "CI": {
+ "name": "कोट डी आइवर"
+ },
+ "KM": {
+ "name": "कोमोरोस"
+ },
+ "CO": {
+ "name": "कोलंबिया"
+ },
+ "XK": {
+ "name": "कोसोवो"
+ },
+ "CR": {
+ "name": "कोस्टारिका"
+ },
+ "CU": {
+ "name": "क्यूबा"
+ },
+ "CW": {
+ "name": "क्यूरासाओ"
+ },
+ "CX": {
+ "name": "क्रिसमस द्वीप"
+ },
+ "HR": {
+ "name": "क्रोएशिया"
+ },
+ "GY": {
+ "name": "गयाना"
+ },
+ "GG": {
+ "name": "गर्नसी"
+ },
+ "GM": {
+ "name": "गाम्बिया"
+ },
+ "GN": {
+ "name": "गिनी"
+ },
+ "GW": {
+ "name": "गिनी-बिसाउ"
+ },
+ "GU": {
+ "name": "गुआम"
+ },
+ "GA": {
+ "name": "गैबॉन"
+ },
+ "GL": {
+ "name": "ग्रीनलैंड"
+ },
+ "GD": {
+ "name": "ग्रेनाडा"
+ },
+ "GT": {
+ "name": "ग्वाटेमाला"
+ },
+ "GP": {
+ "name": "ग्वाडेलूप"
+ },
+ "GH": {
+ "name": "घाना"
+ },
+ "TD": {
+ "name": "चाड"
+ },
+ "CL": {
+ "name": "चिली"
+ },
+ "CN": {
+ "name": "चीन"
+ },
+ "CZ": {
+ "name": "चेक गणराज्य"
+ },
+ "JM": {
+ "name": "जमैका"
+ },
+ "DE": {
+ "name": "जर्मनी"
+ },
+ "JE": {
+ "name": "जर्सी"
+ },
+ "JP": {
+ "name": "जापान"
+ },
+ "ZM": {
+ "name": "ज़ाम्बिया"
+ },
+ "DJ": {
+ "name": "जिबूती"
+ },
+ "GI": {
+ "name": "जिब्राल्टर"
+ },
+ "ZW": {
+ "name": "ज़िम्बाब्वे"
+ },
+ "GE": {
+ "name": "जॉर्जिया"
+ },
+ "JO": {
+ "name": "जॉर्डन"
+ },
+ "TO": {
+ "name": "टोंगा"
+ },
+ "TG": {
+ "name": "टोगो"
+ },
+ "TN": {
+ "name": "ट्यूनीशिया"
+ },
+ "DG": {
+ "name": "डिएगो गार्सिया"
+ },
+ "DK": {
+ "name": "डेनमार्क"
+ },
+ "DO": {
+ "name": "डोमिनिकन गणराज्य"
+ },
+ "DM": {
+ "name": "डोमिनिका"
+ },
+ "TZ": {
+ "name": "तंज़ानिया"
+ },
+ "TW": {
+ "name": "ताइवान"
+ },
+ "TJ": {
+ "name": "ताज़िकिस्तान"
+ },
+ "TL": {
+ "name": "तिमोर-लेस्त"
+ },
+ "TC": {
+ "name": "तुर्क और कैकोज़ द्वीपसमूह"
+ },
+ "TM": {
+ "name": "तुर्कमेनिस्तान"
+ },
+ "TR": {
+ "name": "तुर्की"
+ },
+ "TV": {
+ "name": "तुवालू"
+ },
+ "TK": {
+ "name": "तोकेलाउ"
+ },
+ "TT": {
+ "name": "त्रिनिदाद और टोबैगो"
+ },
+ "TA": {
+ "name": "त्रिस्टान डा कुना"
+ },
+ "TH": {
+ "name": "थाईलैंड"
+ },
+ "ZA": {
+ "name": "दक्षिण अफ़्रीका"
+ },
+ "KR": {
+ "name": "दक्षिण कोरिया"
+ },
+ "GS": {
+ "name": "दक्षिण जॉर्जिया और दक्षिण सैंडविच द्वीपसमूह"
+ },
+ "SS": {
+ "name": "दक्षिण सूडान"
+ },
+ "NE": {
+ "name": "नाइजर"
+ },
+ "NG": {
+ "name": "नाइजीरिया"
+ },
+ "NR": {
+ "name": "नाउरु"
+ },
+ "NA": {
+ "name": "नामीबिया"
+ },
+ "NI": {
+ "name": "निकारागुआ"
+ },
+ "NL": {
+ "name": "नीदरलैंड"
+ },
+ "NU": {
+ "name": "नीयू"
+ },
+ "NP": {
+ "name": "नेपाल"
+ },
+ "NF": {
+ "name": "नॉरफ़ॉक द्वीप"
+ },
+ "NO": {
+ "name": "नॉर्वे"
+ },
+ "NC": {
+ "name": "न्यू कैलेडोनिया"
+ },
+ "NZ": {
+ "name": "न्यूज़ीलैंड"
+ },
+ "PA": {
+ "name": "पनामा"
+ },
+ "PW": {
+ "name": "पलाऊ"
+ },
+ "EH": {
+ "name": "पश्चिमी सहारा"
+ },
+ "PK": {
+ "name": "पाकिस्तान"
+ },
+ "PG": {
+ "name": "पापुआ न्यू गिनी"
+ },
+ "PN": {
+ "name": "पिटकैर्न द्वीपसमूह"
+ },
+ "PT": {
+ "name": "पुर्तगाल"
+ },
+ "PY": {
+ "name": "पेराग्वे"
+ },
+ "PE": {
+ "name": "पेरू"
+ },
+ "PR": {
+ "name": "पोर्टो रिको"
+ },
+ "PL": {
+ "name": "पोलैंड"
+ },
+ "FJ": {
+ "name": "फ़िजी"
+ },
+ "FI": {
+ "name": "फ़िनलैंड"
+ },
+ "PH": {
+ "name": "फ़िलिपींस"
+ },
+ "PS": {
+ "name": "फ़िलिस्तीनी क्षेत्र"
+ },
+ "FO": {
+ "name": "फ़ेरो द्वीपसमूह"
+ },
+ "FK": {
+ "name": "फ़ॉकलैंड द्वीपसमूह"
+ },
+ "FR": {
+ "name": "फ़्रांस"
+ },
+ "TF": {
+ "name": "फ़्रांसीसी दक्षिणी क्षेत्र"
+ },
+ "GF": {
+ "name": "फ़्रेंच गयाना"
+ },
+ "PF": {
+ "name": "फ़्रेंच पोलिनेशिया"
+ },
+ "BM": {
+ "name": "बरमूडा"
+ },
+ "BH": {
+ "name": "बहरीन"
+ },
+ "BS": {
+ "name": "बहामास"
+ },
+ "BD": {
+ "name": "बांग्लादेश"
+ },
+ "BB": {
+ "name": "बारबाडोस"
+ },
+ "BI": {
+ "name": "बुरुंडी"
+ },
+ "BF": {
+ "name": "बुर्किना फ़ासो"
+ },
+ "BG": {
+ "name": "बुल्गारिया"
+ },
+ "BJ": {
+ "name": "बेनिन"
+ },
+ "BY": {
+ "name": "बेलारूस"
+ },
+ "BZ": {
+ "name": "बेलीज़"
+ },
+ "BE": {
+ "name": "बेल्जियम"
+ },
+ "BW": {
+ "name": "बोत्स्वाना"
+ },
+ "BO": {
+ "name": "बोलीविया"
+ },
+ "BA": {
+ "name": "बोस्निया और हर्ज़ेगोविना"
+ },
+ "BR": {
+ "name": "ब्राज़ील"
+ },
+ "VG": {
+ "name": "ब्रिटिश वर्जिन द्वीपसमूह"
+ },
+ "IO": {
+ "name": "ब्रिटिश हिंद महासागरीय क्षेत्र"
+ },
+ "BN": {
+ "name": "ब्रूनेई"
+ },
+ "IN": {
+ "name": "भारत"
+ },
+ "BT": {
+ "name": "भूटान"
+ },
+ "MN": {
+ "name": "मंगोलिया"
+ },
+ "MO": {
+ "name": "मकाऊ (विशेष प्रशासनिक क्षेत्र चीन)"
+ },
+ "CF": {
+ "name": "मध्य अफ़्रीकी गणराज्य"
+ },
+ "MW": {
+ "name": "मलावी"
+ },
+ "MY": {
+ "name": "मलेशिया"
+ },
+ "FM": {
+ "name": "माइक्रोनेशिया"
+ },
+ "YT": {
+ "name": "मायोते"
+ },
+ "MQ": {
+ "name": "मार्टीनिक"
+ },
+ "MH": {
+ "name": "मार्शल द्वीपसमूह"
+ },
+ "MV": {
+ "name": "मालदीव"
+ },
+ "ML": {
+ "name": "माली"
+ },
+ "MT": {
+ "name": "माल्टा"
+ },
+ "EG": {
+ "name": "मिस्र"
+ },
+ "MG": {
+ "name": "मेडागास्कर"
+ },
+ "MX": {
+ "name": "मैक्सिको"
+ },
+ "MK": {
+ "name": "मैसिडोनिया"
+ },
+ "MR": {
+ "name": "मॉरिटानिया"
+ },
+ "MU": {
+ "name": "मॉरिशस"
+ },
+ "MD": {
+ "name": "मॉल्डोवा"
+ },
+ "MS": {
+ "name": "मोंटसेरात"
+ },
+ "ME": {
+ "name": "मोंटेनेग्रो"
+ },
+ "MZ": {
+ "name": "मोज़ांबिक"
+ },
+ "MC": {
+ "name": "मोनाको"
+ },
+ "MA": {
+ "name": "मोरक्को"
+ },
+ "MM": {
+ "name": "म्यांमार (बर्मा)"
+ },
+ "YE": {
+ "name": "यमन"
+ },
+ "UG": {
+ "name": "युगांडा"
+ },
+ "UM": {
+ "name": "यू.एस. आउटलाइंग द्वीपसमूह"
+ },
+ "VI": {
+ "name": "यू.एस. वर्जिन द्वीपसमूह"
+ },
+ "UA": {
+ "name": "यूक्रेन"
+ },
+ "GB": {
+ "name": "यूनाइटेड किंगडम"
+ },
+ "GR": {
+ "name": "यूनान"
+ },
+ "RW": {
+ "name": "रवांडा"
+ },
+ "RE": {
+ "name": "रियूनियन"
+ },
+ "RU": {
+ "name": "रूस"
+ },
+ "RO": {
+ "name": "रोमानिया"
+ },
+ "LU": {
+ "name": "लग्ज़मबर्ग"
+ },
+ "LR": {
+ "name": "लाइबेरिया"
+ },
+ "LA": {
+ "name": "लाओस"
+ },
+ "LV": {
+ "name": "लातविया"
+ },
+ "LI": {
+ "name": "लिचेंस्टीन"
+ },
+ "LT": {
+ "name": "लिथुआनिया"
+ },
+ "LY": {
+ "name": "लीबिया"
+ },
+ "LB": {
+ "name": "लेबनान"
+ },
+ "LS": {
+ "name": "लेसोथो"
+ },
+ "VU": {
+ "name": "वनुआतू"
+ },
+ "WF": {
+ "name": "वालिस और फ़्यूचूना"
+ },
+ "VN": {
+ "name": "वियतनाम"
+ },
+ "VA": {
+ "name": "वेटिकन सिटी"
+ },
+ "VE": {
+ "name": "वेनेज़ुएला"
+ },
+ "LK": {
+ "name": "श्रीलंका"
+ },
+ "AE": {
+ "name": "संयुक्त अरब अमीरात"
+ },
+ "US": {
+ "name": "संयुक्त राज्य"
+ },
+ "SA": {
+ "name": "सऊदी अरब"
+ },
+ "WS": {
+ "name": "समोआ"
+ },
+ "RS": {
+ "name": "सर्बिया"
+ },
+ "CY": {
+ "name": "साइप्रस"
+ },
+ "ST": {
+ "name": "साओ टोम और प्रिंसिपे"
+ },
+ "SG": {
+ "name": "सिंगापुर"
+ },
+ "SX": {
+ "name": "सिंट मार्टिन"
+ },
+ "SL": {
+ "name": "सिएरा लियोन"
+ },
+ "SY": {
+ "name": "सीरिया"
+ },
+ "SD": {
+ "name": "सूडान"
+ },
+ "SR": {
+ "name": "सूरीनाम"
+ },
+ "KN": {
+ "name": "सेंट किट्स और नेविस"
+ },
+ "PM": {
+ "name": "सेंट पिएरे और मिक्वेलान"
+ },
+ "BL": {
+ "name": "सेंट बार्थेलेमी"
+ },
+ "MF": {
+ "name": "सेंट मार्टिन"
+ },
+ "LC": {
+ "name": "सेंट लूसिया"
+ },
+ "VC": {
+ "name": "सेंट विंसेंट और ग्रेनाडाइंस"
+ },
+ "SH": {
+ "name": "सेंट हेलेना"
+ },
+ "EA": {
+ "name": "सेउटा और मेलिला"
+ },
+ "SN": {
+ "name": "सेनेगल"
+ },
+ "SC": {
+ "name": "सेशेल्स"
+ },
+ "SM": {
+ "name": "सैन मेरीनो"
+ },
+ "SO": {
+ "name": "सोमालिया"
+ },
+ "SB": {
+ "name": "सोलोमन द्वीपसमूह"
+ },
+ "ES": {
+ "name": "स्पेन"
+ },
+ "SK": {
+ "name": "स्लोवाकिया"
+ },
+ "SI": {
+ "name": "स्लोवेनिया"
+ },
+ "SZ": {
+ "name": "स्वाज़ीलैंड"
+ },
+ "SJ": {
+ "name": "स्वालबार्ड और जान मायेन"
+ },
+ "CH": {
+ "name": "स्विट्ज़रलैंड"
+ },
+ "SE": {
+ "name": "स्वीडन"
+ },
+ "HU": {
+ "name": "हंगरी"
+ },
+ "HK": {
+ "name": "हाँग काँग (चीन विशेष प्रशासनिक क्षेत्र)"
+ },
+ "HT": {
+ "name": "हैती"
+ },
+ "HN": {
+ "name": "होंडूरास"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/hr.json b/vendor/commerceguys/intl/resources/country/hr.json
new file mode 100644
index 000000000..5dae99ba2
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/hr.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afganistan"
+ },
+ "AX": {
+ "name": "Ålandski otoci"
+ },
+ "AL": {
+ "name": "Albanija"
+ },
+ "DZ": {
+ "name": "Alžir"
+ },
+ "AS": {
+ "name": "Američka Samoa"
+ },
+ "VI": {
+ "name": "Američki Djevičanski otoci"
+ },
+ "AD": {
+ "name": "Andora"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Angvila"
+ },
+ "AQ": {
+ "name": "Antarktika"
+ },
+ "AG": {
+ "name": "Antigva i Barbuda"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenija"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Australija"
+ },
+ "AT": {
+ "name": "Austrija"
+ },
+ "AZ": {
+ "name": "Azerbajdžan"
+ },
+ "BS": {
+ "name": "Bahami"
+ },
+ "BH": {
+ "name": "Bahrein"
+ },
+ "BD": {
+ "name": "Bangladeš"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BE": {
+ "name": "Belgija"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermudi"
+ },
+ "BY": {
+ "name": "Bjelorusija"
+ },
+ "BW": {
+ "name": "Bocvana"
+ },
+ "BO": {
+ "name": "Bolivija"
+ },
+ "BA": {
+ "name": "Bosna i Hercegovina"
+ },
+ "CX": {
+ "name": "Božićni otok"
+ },
+ "BR": {
+ "name": "Brazil"
+ },
+ "VG": {
+ "name": "Britanski Djevičanski otoci"
+ },
+ "IO": {
+ "name": "Britanski Indijskooceanski teritorij"
+ },
+ "BN": {
+ "name": "Brunej"
+ },
+ "BG": {
+ "name": "Bugarska"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Butan"
+ },
+ "EA": {
+ "name": "Ceuta i Melilla"
+ },
+ "CY": {
+ "name": "Cipar"
+ },
+ "CK": {
+ "name": "Cookovi Otoci"
+ },
+ "ME": {
+ "name": "Crna Gora"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "TD": {
+ "name": "Čad"
+ },
+ "CZ": {
+ "name": "Češka Republika"
+ },
+ "CL": {
+ "name": "Čile"
+ },
+ "DK": {
+ "name": "Danska"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "DO": {
+ "name": "Dominikanska Republika"
+ },
+ "DJ": {
+ "name": "Džibuti"
+ },
+ "EG": {
+ "name": "Egipat"
+ },
+ "EC": {
+ "name": "Ekvador"
+ },
+ "GQ": {
+ "name": "Ekvatorska Gvineja"
+ },
+ "ER": {
+ "name": "Eritreja"
+ },
+ "EE": {
+ "name": "Estonija"
+ },
+ "ET": {
+ "name": "Etiopija"
+ },
+ "FK": {
+ "name": "Falklandski otoci"
+ },
+ "FO": {
+ "name": "Farski otoci"
+ },
+ "FJ": {
+ "name": "Fidži"
+ },
+ "PH": {
+ "name": "Filipini"
+ },
+ "FI": {
+ "name": "Finska"
+ },
+ "FR": {
+ "name": "Francuska"
+ },
+ "GF": {
+ "name": "Francuska Gijana"
+ },
+ "PF": {
+ "name": "Francuska Polinezija"
+ },
+ "TF": {
+ "name": "Francuski južni i antarktički teritoriji"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambija"
+ },
+ "GH": {
+ "name": "Gana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GR": {
+ "name": "Grčka"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GL": {
+ "name": "Grenland"
+ },
+ "GE": {
+ "name": "Gruzija"
+ },
+ "GP": {
+ "name": "Guadalupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Gvajana"
+ },
+ "GT": {
+ "name": "Gvatemala"
+ },
+ "GN": {
+ "name": "Gvineja"
+ },
+ "GW": {
+ "name": "Gvineja Bisau"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HR": {
+ "name": "Hrvatska"
+ },
+ "IN": {
+ "name": "Indija"
+ },
+ "ID": {
+ "name": "Indonezija"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IE": {
+ "name": "Irska"
+ },
+ "IS": {
+ "name": "Island"
+ },
+ "IT": {
+ "name": "Italija"
+ },
+ "IL": {
+ "name": "Izrael"
+ },
+ "JM": {
+ "name": "Jamajka"
+ },
+ "JP": {
+ "name": "Japan"
+ },
+ "YE": {
+ "name": "Jemen"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordan"
+ },
+ "GS": {
+ "name": "Južna Georgija i Južni Sendvički Otoci"
+ },
+ "KR": {
+ "name": "Južna Koreja"
+ },
+ "SS": {
+ "name": "Južni Sudan"
+ },
+ "ZA": {
+ "name": "Južnoafrička Republika"
+ },
+ "KY": {
+ "name": "Kajmanski otoci"
+ },
+ "KH": {
+ "name": "Kambodža"
+ },
+ "CM": {
+ "name": "Kamerun"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "IC": {
+ "name": "Kanarski otoci"
+ },
+ "BQ": {
+ "name": "Karipski otoci Nizozemske"
+ },
+ "QA": {
+ "name": "Katar"
+ },
+ "KZ": {
+ "name": "Kazahstan"
+ },
+ "KE": {
+ "name": "Kenija"
+ },
+ "CN": {
+ "name": "Kina"
+ },
+ "KG": {
+ "name": "Kirgistan"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "CC": {
+ "name": "Kokosovi (Keelingovi) otoci"
+ },
+ "CO": {
+ "name": "Kolumbija"
+ },
+ "KM": {
+ "name": "Komori"
+ },
+ "CG": {
+ "name": "Kongo - Brazzaville"
+ },
+ "CD": {
+ "name": "Kongo - Kinshasa"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "Kostarika"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "KW": {
+ "name": "Kuvajt"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LV": {
+ "name": "Latvija"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LB": {
+ "name": "Libanon"
+ },
+ "LR": {
+ "name": "Liberija"
+ },
+ "LY": {
+ "name": "Libija"
+ },
+ "LI": {
+ "name": "Lihtenštajn"
+ },
+ "LT": {
+ "name": "Litva"
+ },
+ "LU": {
+ "name": "Luksemburg"
+ },
+ "MG": {
+ "name": "Madagaskar"
+ },
+ "HU": {
+ "name": "Mađarska"
+ },
+ "MK": {
+ "name": "Makedonija"
+ },
+ "MW": {
+ "name": "Malavi"
+ },
+ "MV": {
+ "name": "Maldivi"
+ },
+ "MY": {
+ "name": "Malezija"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "UM": {
+ "name": "Mali udaljeni otoci SAD-a"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Maroko"
+ },
+ "MH": {
+ "name": "Maršalovi Otoci"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MR": {
+ "name": "Mauretanija"
+ },
+ "MU": {
+ "name": "Mauricijus"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Meksiko"
+ },
+ "FM": {
+ "name": "Mikronezija"
+ },
+ "MM": {
+ "name": "Mjanmar (Burma)"
+ },
+ "MD": {
+ "name": "Moldavija"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MN": {
+ "name": "Mongolija"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mozambik"
+ },
+ "NA": {
+ "name": "Namibija"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigerija"
+ },
+ "NI": {
+ "name": "Nikaragva"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NL": {
+ "name": "Nizozemska"
+ },
+ "NO": {
+ "name": "Norveška"
+ },
+ "NC": {
+ "name": "Nova Kaledonija"
+ },
+ "NZ": {
+ "name": "Novi Zeland"
+ },
+ "DE": {
+ "name": "Njemačka"
+ },
+ "CI": {
+ "name": "Obala Bjelokosti"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "PN": {
+ "name": "Otoci Pitcairn"
+ },
+ "TC": {
+ "name": "Otoci Turks i Caicos"
+ },
+ "AC": {
+ "name": "Otok Ascension"
+ },
+ "IM": {
+ "name": "Otok Man"
+ },
+ "NF": {
+ "name": "Otok Norfolk"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palestinsko Područje"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua Nova Gvineja"
+ },
+ "PY": {
+ "name": "Paragvaj"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PL": {
+ "name": "Poljska"
+ },
+ "PR": {
+ "name": "Portoriko"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "HK": {
+ "name": "PUP Hong Kong Kina"
+ },
+ "MO": {
+ "name": "PUP Makao Kina"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RO": {
+ "name": "Rumunjska"
+ },
+ "RU": {
+ "name": "Rusija"
+ },
+ "BL": {
+ "name": "Saint Barthélemy"
+ },
+ "MF": {
+ "name": "Saint Martin"
+ },
+ "PM": {
+ "name": "Saint-Pierre-et-Miquelon"
+ },
+ "SB": {
+ "name": "Salomonski Otoci"
+ },
+ "SV": {
+ "name": "Salvador"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "SA": {
+ "name": "Saudijska Arabija"
+ },
+ "SC": {
+ "name": "Sejšeli"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "SL": {
+ "name": "Sijera Leone"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Sirija"
+ },
+ "US": {
+ "name": "Sjedinjene Američke Države"
+ },
+ "KP": {
+ "name": "Sjeverna Koreja"
+ },
+ "MP": {
+ "name": "Sjevernomarijanski otoci"
+ },
+ "SK": {
+ "name": "Slovačka"
+ },
+ "SI": {
+ "name": "Slovenija"
+ },
+ "SO": {
+ "name": "Somalija"
+ },
+ "RS": {
+ "name": "Srbija"
+ },
+ "CF": {
+ "name": "Srednjoafrička Republika"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SJ": {
+ "name": "Svalbard i Jan Mayen"
+ },
+ "SZ": {
+ "name": "Svazi"
+ },
+ "SH": {
+ "name": "Sveta Helena"
+ },
+ "LC": {
+ "name": "Sveta Lucija"
+ },
+ "KN": {
+ "name": "Sveti Kristofor i Nevis"
+ },
+ "ST": {
+ "name": "Sveti Toma i Princip"
+ },
+ "VC": {
+ "name": "Sveti Vincent i Grenadini"
+ },
+ "ES": {
+ "name": "Španjolska"
+ },
+ "LK": {
+ "name": "Šri Lanka"
+ },
+ "SE": {
+ "name": "Švedska"
+ },
+ "CH": {
+ "name": "Švicarska"
+ },
+ "TJ": {
+ "name": "Tadžikistan"
+ },
+ "TH": {
+ "name": "Tajland"
+ },
+ "TW": {
+ "name": "Tajvan"
+ },
+ "TZ": {
+ "name": "Tanzanija"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad i Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunis"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TR": {
+ "name": "Turska"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "AE": {
+ "name": "Ujedinjeni Arapski Emirati"
+ },
+ "GB": {
+ "name": "Ujedinjeno Kraljevstvo"
+ },
+ "UA": {
+ "name": "Ukrajina"
+ },
+ "UY": {
+ "name": "Urugvaj"
+ },
+ "UZ": {
+ "name": "Uzbekistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikanski Grad"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vijetnam"
+ },
+ "WF": {
+ "name": "Wallis i Futuna"
+ },
+ "ZM": {
+ "name": "Zambija"
+ },
+ "EH": {
+ "name": "Zapadna Sahara"
+ },
+ "CV": {
+ "name": "Zelenortska Republika"
+ },
+ "ZW": {
+ "name": "Zimbabve"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/hsb.json b/vendor/commerceguys/intl/resources/country/hsb.json
new file mode 100644
index 000000000..531efb6b2
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/hsb.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afghanistan"
+ },
+ "AX": {
+ "name": "Åland"
+ },
+ "AL": {
+ "name": "Albanska"
+ },
+ "DZ": {
+ "name": "Algeriska"
+ },
+ "UM": {
+ "name": "Ameriska Oceaniska"
+ },
+ "AS": {
+ "name": "Ameriska Samoa"
+ },
+ "VI": {
+ "name": "Ameriske knježniske kupy"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarktika"
+ },
+ "AG": {
+ "name": "Antigua a Barbuda"
+ },
+ "AR": {
+ "name": "Argentinska"
+ },
+ "AM": {
+ "name": "Armenska"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension"
+ },
+ "AU": {
+ "name": "Awstralska"
+ },
+ "AT": {
+ "name": "Awstriska"
+ },
+ "AZ": {
+ "name": "Azerbajdźan"
+ },
+ "BS": {
+ "name": "Bahamy"
+ },
+ "BH": {
+ "name": "Bahrain"
+ },
+ "BD": {
+ "name": "Bangladeš"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BE": {
+ "name": "Belgiska"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermudy"
+ },
+ "BY": {
+ "name": "Běłoruska"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BG": {
+ "name": "Bołharska"
+ },
+ "BO": {
+ "name": "Boliwiska"
+ },
+ "BA": {
+ "name": "Bosniska a Hercegowina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brazilska"
+ },
+ "VG": {
+ "name": "Britiske knježniske kupy"
+ },
+ "IO": {
+ "name": "Britiski teritorij w Indiskim oceanje"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "CF": {
+ "name": "Centralnoafriska republika"
+ },
+ "EA": {
+ "name": "Ceuta a Melilla"
+ },
+ "CK": {
+ "name": "Cookowe kupy"
+ },
+ "CI": {
+ "name": "Côte d’Ivoire"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "CY": {
+ "name": "Cypern"
+ },
+ "TD": {
+ "name": "Čad"
+ },
+ "CZ": {
+ "name": "Čěska republika"
+ },
+ "DK": {
+ "name": "Danska"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "DO": {
+ "name": "Dominikanska republika"
+ },
+ "DJ": {
+ "name": "Dźibuti"
+ },
+ "EG": {
+ "name": "Egyptowska"
+ },
+ "EC": {
+ "name": "Ekwador"
+ },
+ "GQ": {
+ "name": "Ekwatorialna Gineja"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "ER": {
+ "name": "Eritreja"
+ },
+ "EE": {
+ "name": "Estiska"
+ },
+ "ET": {
+ "name": "Etiopiska"
+ },
+ "FK": {
+ "name": "Falklandske kupy"
+ },
+ "FO": {
+ "name": "Färöske kupy"
+ },
+ "FJ": {
+ "name": "Fidźi"
+ },
+ "PH": {
+ "name": "Filipiny"
+ },
+ "FI": {
+ "name": "Finska"
+ },
+ "FR": {
+ "name": "Francoska"
+ },
+ "GF": {
+ "name": "Francoska Guyana"
+ },
+ "PF": {
+ "name": "Francoska Polyneziska"
+ },
+ "TF": {
+ "name": "Francoski južny a antarktiski teritorij"
+ },
+ "GA": {
+ "name": "Gabun"
+ },
+ "GM": {
+ "name": "Gambija"
+ },
+ "GE": {
+ "name": "Georgiska"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GN": {
+ "name": "Gineja"
+ },
+ "GW": {
+ "name": "Gineja-Bissau"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GR": {
+ "name": "Grjekska"
+ },
+ "GL": {
+ "name": "Grönlandska"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "CX": {
+ "name": "Hodowna kupa"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "CL": {
+ "name": "Chilska"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "HR": {
+ "name": "Chorwatska"
+ },
+ "IN": {
+ "name": "Indiska"
+ },
+ "ID": {
+ "name": "Indoneska"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IE": {
+ "name": "Irska"
+ },
+ "IS": {
+ "name": "Islandska"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italska"
+ },
+ "JM": {
+ "name": "Jamaika"
+ },
+ "JP": {
+ "name": "Japanska"
+ },
+ "YE": {
+ "name": "Jemen"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordaniska"
+ },
+ "ZA": {
+ "name": "Južna Afrika (Republika)"
+ },
+ "GS": {
+ "name": "Južna Georgiska a Južne Sandwichowe kupy"
+ },
+ "KR": {
+ "name": "Južna Koreja"
+ },
+ "SS": {
+ "name": "Južny Sudan"
+ },
+ "KY": {
+ "name": "Kajmanske kupy"
+ },
+ "KH": {
+ "name": "Kambodźa"
+ },
+ "CM": {
+ "name": "Kamerun"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "IC": {
+ "name": "Kanariske kupy"
+ },
+ "CV": {
+ "name": "Kap Verde"
+ },
+ "BQ": {
+ "name": "Karibiska Nižozemska"
+ },
+ "QA": {
+ "name": "Katar"
+ },
+ "KZ": {
+ "name": "Kazachstan"
+ },
+ "KE": {
+ "name": "Kenija"
+ },
+ "KG": {
+ "name": "Kirgizistan"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "CC": {
+ "name": "Kokosowe kupy"
+ },
+ "CO": {
+ "name": "Kolumbiska"
+ },
+ "KM": {
+ "name": "Komory"
+ },
+ "CG": {
+ "name": "Kongo-Brazzaville"
+ },
+ "CD": {
+ "name": "Kongo-Kinshasa"
+ },
+ "XK": {
+ "name": "Kosowo"
+ },
+ "CR": {
+ "name": "Kosta Rika"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "TC": {
+ "name": "kupy Turks a Caicos"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LV": {
+ "name": "Letiska"
+ },
+ "LB": {
+ "name": "Libanon"
+ },
+ "LR": {
+ "name": "Liberija"
+ },
+ "LY": {
+ "name": "Libyska"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Litawska"
+ },
+ "LU": {
+ "name": "Luxemburgska"
+ },
+ "MG": {
+ "name": "Madagaskar"
+ },
+ "HU": {
+ "name": "Madźarska"
+ },
+ "MK": {
+ "name": "Makedonska"
+ },
+ "MY": {
+ "name": "Malajzija"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MV": {
+ "name": "Malediwy"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "IM": {
+ "name": "Man"
+ },
+ "MA": {
+ "name": "Marokko"
+ },
+ "MH": {
+ "name": "Marshallowe kupy"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "MR": {
+ "name": "Mawretanska"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Mexiko"
+ },
+ "FM": {
+ "name": "Mikroneziska"
+ },
+ "MD": {
+ "name": "Moldawska"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongolska"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mosambik"
+ },
+ "MM": {
+ "name": "Myanmar"
+ },
+ "NA": {
+ "name": "Namibija"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "DE": {
+ "name": "Němska"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigerija"
+ },
+ "NI": {
+ "name": "Nikaragua"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NL": {
+ "name": "Nižozemska"
+ },
+ "NF": {
+ "name": "Norfolkowa kupa"
+ },
+ "NO": {
+ "name": "Norwegska"
+ },
+ "NC": {
+ "name": "Nowa Kaledoniska"
+ },
+ "NZ": {
+ "name": "Nowoseelandska"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palestinski awtonomny teritorij"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papuwa-Nowa Gineja"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitcairnowe kupy"
+ },
+ "PL": {
+ "name": "Pólska"
+ },
+ "PT": {
+ "name": "Portugalska"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RO": {
+ "name": "Rumunska"
+ },
+ "RU": {
+ "name": "Ruska"
+ },
+ "SB": {
+ "name": "Salomony"
+ },
+ "ZM": {
+ "name": "Sambija"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "São Tomé a Príncipe"
+ },
+ "SA": {
+ "name": "Sawdi-Arabska"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbiska"
+ },
+ "KP": {
+ "name": "Sewjerna Koreja"
+ },
+ "MP": {
+ "name": "Sewjerne Mariany"
+ },
+ "SC": {
+ "name": "Seychelle"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "ZW": {
+ "name": "Simbabwe"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SK": {
+ "name": "Słowakska"
+ },
+ "SI": {
+ "name": "Słowjenska"
+ },
+ "SO": {
+ "name": "Somalija"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "SH": {
+ "name": "St. Helena"
+ },
+ "KN": {
+ "name": "St. Kitts a Nevis"
+ },
+ "LC": {
+ "name": "St. Lucia"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "PM": {
+ "name": "St. Pierre a Miquelon"
+ },
+ "VC": {
+ "name": "St. Vincent a Grenadiny"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SJ": {
+ "name": "Svalbard a Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swaziska"
+ },
+ "SY": {
+ "name": "Syriska"
+ },
+ "ES": {
+ "name": "Španiska"
+ },
+ "SE": {
+ "name": "Šwedska"
+ },
+ "CH": {
+ "name": "Šwicarska"
+ },
+ "TJ": {
+ "name": "Tadźikistan"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TZ": {
+ "name": "Tansanija"
+ },
+ "TH": {
+ "name": "Thailandska"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad a Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tuneziska"
+ },
+ "TM": {
+ "name": "Turkmeniska"
+ },
+ "TR": {
+ "name": "Turkowska"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukraina"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbekistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikanske město"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis a Futuna"
+ },
+ "HK": {
+ "name": "Wosebita zarjadniska cona Hongkong"
+ },
+ "MO": {
+ "name": "Wosebita zarjadniska cona Macao"
+ },
+ "EH": {
+ "name": "Zapadna Sahara"
+ },
+ "AE": {
+ "name": "Zjednoćene arabske emiraty"
+ },
+ "GB": {
+ "name": "Zjednoćene kralestwo"
+ },
+ "US": {
+ "name": "Zjednoćene staty Ameriki"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/hu.json b/vendor/commerceguys/intl/resources/country/hu.json
new file mode 100644
index 000000000..ad9c5d79c
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/hu.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afganisztán"
+ },
+ "AX": {
+ "name": "Åland-szigetek"
+ },
+ "AL": {
+ "name": "Albánia"
+ },
+ "DZ": {
+ "name": "Algéria"
+ },
+ "AS": {
+ "name": "Amerikai Szamoa"
+ },
+ "VI": {
+ "name": "Amerikai Virgin-szigetek"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarktisz"
+ },
+ "AG": {
+ "name": "Antigua és Barbuda"
+ },
+ "AR": {
+ "name": "Argentína"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension-sziget"
+ },
+ "AU": {
+ "name": "Ausztrália"
+ },
+ "AT": {
+ "name": "Ausztria"
+ },
+ "UM": {
+ "name": "Az Amerikai Egyesült Államok lakatlan külbirtokai"
+ },
+ "AZ": {
+ "name": "Azerbajdzsán"
+ },
+ "BS": {
+ "name": "Bahama-szigetek"
+ },
+ "BH": {
+ "name": "Bahrein"
+ },
+ "BD": {
+ "name": "Banglades"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BY": {
+ "name": "Belarusz"
+ },
+ "BE": {
+ "name": "Belgium"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BT": {
+ "name": "Bhután"
+ },
+ "GW": {
+ "name": "Bissau-Guinea"
+ },
+ "BO": {
+ "name": "Bolívia"
+ },
+ "BA": {
+ "name": "Bosznia-Hercegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brazília"
+ },
+ "IO": {
+ "name": "Brit Indiai-óceáni Terület"
+ },
+ "VG": {
+ "name": "Brit Virgin-szigetek"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgária"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "EA": {
+ "name": "Ceuta és Melilla"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CY": {
+ "name": "Ciprus"
+ },
+ "KM": {
+ "name": "Comore-szigetek"
+ },
+ "CK": {
+ "name": "Cook-szigetek"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "TD": {
+ "name": "Csád"
+ },
+ "CZ": {
+ "name": "Csehország"
+ },
+ "DK": {
+ "name": "Dánia"
+ },
+ "ZA": {
+ "name": "Dél-afrikai Köztársaság"
+ },
+ "KR": {
+ "name": "Dél-Korea"
+ },
+ "SS": {
+ "name": "Dél-Szudán"
+ },
+ "GS": {
+ "name": "Déli-Georgia és Déli-Sandwich-szigetek"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "DO": {
+ "name": "Dominikai Köztársaság"
+ },
+ "DJ": {
+ "name": "Dzsibuti"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "GQ": {
+ "name": "Egyenlítői-Guinea"
+ },
+ "US": {
+ "name": "Egyesült Államok"
+ },
+ "AE": {
+ "name": "Egyesült Arab Emírségek"
+ },
+ "GB": {
+ "name": "Egyesült Királyság"
+ },
+ "EG": {
+ "name": "Egyiptom"
+ },
+ "CI": {
+ "name": "Elefántcsontpart"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "KP": {
+ "name": "Észak-Korea"
+ },
+ "MP": {
+ "name": "Északi Mariana-szigetek"
+ },
+ "EE": {
+ "name": "Észtország"
+ },
+ "ET": {
+ "name": "Etiópia"
+ },
+ "FK": {
+ "name": "Falkland-szigetek"
+ },
+ "FO": {
+ "name": "Feröer-szigetek"
+ },
+ "FJ": {
+ "name": "Fidzsi"
+ },
+ "FI": {
+ "name": "Finnország"
+ },
+ "TF": {
+ "name": "Francia Déli Területek"
+ },
+ "GF": {
+ "name": "Francia Guyana"
+ },
+ "PF": {
+ "name": "Francia Polinézia"
+ },
+ "FR": {
+ "name": "Franciaország"
+ },
+ "PH": {
+ "name": "Fülöp-szigetek"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GH": {
+ "name": "Ghána"
+ },
+ "GI": {
+ "name": "Gibraltár"
+ },
+ "GR": {
+ "name": "Görögország"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GL": {
+ "name": "Grönland"
+ },
+ "GE": {
+ "name": "Grúzia"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "BQ": {
+ "name": "Holland Karib-térség"
+ },
+ "NL": {
+ "name": "Hollandia"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hongkong KKT"
+ },
+ "HR": {
+ "name": "Horvátország"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonézia"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Irán"
+ },
+ "IE": {
+ "name": "Írország"
+ },
+ "IS": {
+ "name": "Izland"
+ },
+ "IL": {
+ "name": "Izrael"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japán"
+ },
+ "YE": {
+ "name": "Jemen"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordánia"
+ },
+ "KY": {
+ "name": "Kajmán-szigetek"
+ },
+ "KH": {
+ "name": "Kambodzsa"
+ },
+ "CM": {
+ "name": "Kamerun"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "IC": {
+ "name": "Kanári-szigetek"
+ },
+ "CX": {
+ "name": "Karácsony-sziget"
+ },
+ "QA": {
+ "name": "Katar"
+ },
+ "KZ": {
+ "name": "Kazahsztán"
+ },
+ "TL": {
+ "name": "Kelet-Timor"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "CN": {
+ "name": "Kína"
+ },
+ "KG": {
+ "name": "Kirgizisztán"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "CC": {
+ "name": "Kókusz (Keeling)-szigetek"
+ },
+ "CO": {
+ "name": "Kolumbia"
+ },
+ "CG": {
+ "name": "Kongó - Brazzaville"
+ },
+ "CD": {
+ "name": "Kongó - Kinshasa"
+ },
+ "XK": {
+ "name": "Koszovó"
+ },
+ "CF": {
+ "name": "Közép-afrikai Köztársaság"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "KW": {
+ "name": "Kuvait"
+ },
+ "LA": {
+ "name": "Laosz"
+ },
+ "PL": {
+ "name": "Lengyelország"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LV": {
+ "name": "Lettország"
+ },
+ "LB": {
+ "name": "Libanon"
+ },
+ "LR": {
+ "name": "Libéria"
+ },
+ "LY": {
+ "name": "Líbia"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Litvánia"
+ },
+ "LU": {
+ "name": "Luxemburg"
+ },
+ "MK": {
+ "name": "Macedónia"
+ },
+ "MG": {
+ "name": "Madagaszkár"
+ },
+ "HU": {
+ "name": "Magyarország"
+ },
+ "MO": {
+ "name": "Makaó KKT"
+ },
+ "MY": {
+ "name": "Malajzia"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MV": {
+ "name": "Maldív-szigetek"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Málta"
+ },
+ "IM": {
+ "name": "Man-sziget"
+ },
+ "MA": {
+ "name": "Marokkó"
+ },
+ "MH": {
+ "name": "Marshall-szigetek"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MR": {
+ "name": "Mauritánia"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Mexikó"
+ },
+ "MM": {
+ "name": "Mianmar (Burma)"
+ },
+ "FM": {
+ "name": "Mikronézia"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongólia"
+ },
+ "ME": {
+ "name": "Montenegró"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mozambik"
+ },
+ "NA": {
+ "name": "Namíbia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "DE": {
+ "name": "Németország"
+ },
+ "NP": {
+ "name": "Nepál"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigéria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NF": {
+ "name": "Norfolk-sziget"
+ },
+ "NO": {
+ "name": "Norvégia"
+ },
+ "EH": {
+ "name": "Nyugat-Szahara"
+ },
+ "IT": {
+ "name": "Olaszország"
+ },
+ "OM": {
+ "name": "Omán"
+ },
+ "RU": {
+ "name": "Oroszország"
+ },
+ "AM": {
+ "name": "Örményország"
+ },
+ "PK": {
+ "name": "Pakisztán"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palesztin Terület"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Pápua Új-Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitcairn-szigetek"
+ },
+ "PT": {
+ "name": "Portugália"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RO": {
+ "name": "Románia"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "KN": {
+ "name": "Saint Kitts és Nevis"
+ },
+ "LC": {
+ "name": "Saint Lucia"
+ },
+ "MF": {
+ "name": "Saint Martin"
+ },
+ "VC": {
+ "name": "Saint Vincent és a Grenadine-szigetek"
+ },
+ "BL": {
+ "name": "Saint-Barthélemy"
+ },
+ "PM": {
+ "name": "Saint-Pierre és Miquelon"
+ },
+ "SB": {
+ "name": "Salamon-szigetek"
+ },
+ "SV": {
+ "name": "Salvador"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "Sao Tomé és Príncipe"
+ },
+ "SC": {
+ "name": "Seychelle-szigetek"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "ES": {
+ "name": "Spanyolország"
+ },
+ "LK": {
+ "name": "Srí Lanka"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "CH": {
+ "name": "Svájc"
+ },
+ "SJ": {
+ "name": "Svalbard és Jan Mayen"
+ },
+ "SE": {
+ "name": "Svédország"
+ },
+ "WS": {
+ "name": "Szamoa"
+ },
+ "SA": {
+ "name": "Szaúd-Arábia"
+ },
+ "SN": {
+ "name": "Szenegál"
+ },
+ "SH": {
+ "name": "Szent Ilona"
+ },
+ "RS": {
+ "name": "Szerbia"
+ },
+ "SG": {
+ "name": "Szingapúr"
+ },
+ "SY": {
+ "name": "Szíria"
+ },
+ "SK": {
+ "name": "Szlovákia"
+ },
+ "SI": {
+ "name": "Szlovénia"
+ },
+ "SO": {
+ "name": "Szomália"
+ },
+ "SD": {
+ "name": "Szudán"
+ },
+ "SZ": {
+ "name": "Szváziföld"
+ },
+ "TJ": {
+ "name": "Tádzsikisztán"
+ },
+ "TW": {
+ "name": "Tajvan"
+ },
+ "TZ": {
+ "name": "Tanzánia"
+ },
+ "TH": {
+ "name": "Thaiföld"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TR": {
+ "name": "Törökország"
+ },
+ "TT": {
+ "name": "Trinidad és Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunézia"
+ },
+ "TC": {
+ "name": "Turks- és Caicos-szigetek"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "TM": {
+ "name": "Türkmenisztán"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "NC": {
+ "name": "Új-Kaledónia"
+ },
+ "NZ": {
+ "name": "Új-Zéland"
+ },
+ "UA": {
+ "name": "Ukrajna"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Üzbegisztán"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikán"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis és Futuna"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ },
+ "CV": {
+ "name": "Zöld-foki Köztársaság"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/hy.json b/vendor/commerceguys/intl/resources/country/hy.json
new file mode 100644
index 000000000..8aa26c72d
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/hy.json
@@ -0,0 +1,761 @@
+{
+ "AZ": {
+ "name": "Ադրբեջան"
+ },
+ "AX": {
+ "name": "Ալանդյան կղզիներ"
+ },
+ "AL": {
+ "name": "Ալբանիա"
+ },
+ "DZ": {
+ "name": "Ալժիր"
+ },
+ "AS": {
+ "name": "Ամերիկյան Սամոա"
+ },
+ "VI": {
+ "name": "ԱՄՆ Վիրջինյան կղզիներ"
+ },
+ "AO": {
+ "name": "Անգոլա"
+ },
+ "AI": {
+ "name": "Անգուիլա"
+ },
+ "AD": {
+ "name": "Անդորրա"
+ },
+ "AQ": {
+ "name": "Անտարկտիդա"
+ },
+ "AG": {
+ "name": "Անտիգուա և Բարբուդա"
+ },
+ "AU": {
+ "name": "Ավստրալիա"
+ },
+ "AT": {
+ "name": "Ավստրիա"
+ },
+ "AE": {
+ "name": "Արաբական Միացյալ Էմիրություններ"
+ },
+ "AR": {
+ "name": "Արգենտինա"
+ },
+ "AW": {
+ "name": "Արուբա"
+ },
+ "UM": {
+ "name": "Արտաքին կղզիներ (ԱՄՆ)"
+ },
+ "EH": {
+ "name": "Արևմտյան Սահարա"
+ },
+ "AF": {
+ "name": "Աֆղանստան"
+ },
+ "BS": {
+ "name": "Բահամաներ"
+ },
+ "BH": {
+ "name": "Բահրեյն"
+ },
+ "BD": {
+ "name": "Բանգլադեշ"
+ },
+ "BB": {
+ "name": "Բարբադոս"
+ },
+ "BY": {
+ "name": "Բելառուս"
+ },
+ "BE": {
+ "name": "Բելգիա"
+ },
+ "BZ": {
+ "name": "Բելիզ"
+ },
+ "BJ": {
+ "name": "Բենին"
+ },
+ "BM": {
+ "name": "Բերմուդներ"
+ },
+ "BW": {
+ "name": "Բոթսվանա"
+ },
+ "BO": {
+ "name": "Բոլիվիա"
+ },
+ "BA": {
+ "name": "Բոսնիա և Հերցեգովինա"
+ },
+ "BT": {
+ "name": "Բութան"
+ },
+ "BG": {
+ "name": "Բուլղարիա"
+ },
+ "BF": {
+ "name": "Բուրկինա Ֆասո"
+ },
+ "BI": {
+ "name": "Բուրունդի"
+ },
+ "BR": {
+ "name": "Բրազիլիա"
+ },
+ "VG": {
+ "name": "Բրիտանական Վիրջինյան կղզիներ"
+ },
+ "IO": {
+ "name": "Բրիտանական Տարածք Հնդկական Օվկիանոսում"
+ },
+ "BN": {
+ "name": "Բրունեյ"
+ },
+ "GA": {
+ "name": "Գաբոն"
+ },
+ "GM": {
+ "name": "Գամբիա"
+ },
+ "GY": {
+ "name": "Գայանա"
+ },
+ "GH": {
+ "name": "Գանա"
+ },
+ "DE": {
+ "name": "Գերմանիա"
+ },
+ "GG": {
+ "name": "Գերնսի"
+ },
+ "GU": {
+ "name": "Գուամ"
+ },
+ "GP": {
+ "name": "Գվադելուպա"
+ },
+ "GT": {
+ "name": "Գվատեմալա"
+ },
+ "GN": {
+ "name": "Գվինեա"
+ },
+ "GW": {
+ "name": "Գվինեա-Բիսսաու"
+ },
+ "GD": {
+ "name": "Գրենադա"
+ },
+ "GL": {
+ "name": "Գրենլանդիա"
+ },
+ "DK": {
+ "name": "Դանիա"
+ },
+ "DG": {
+ "name": "Դիեգո Գարսիա"
+ },
+ "DM": {
+ "name": "Դոմինիկա"
+ },
+ "DO": {
+ "name": "Դոմինիկյան Հանրապետություն"
+ },
+ "EG": {
+ "name": "Եգիպտոս"
+ },
+ "ET": {
+ "name": "Եթովպիա"
+ },
+ "YE": {
+ "name": "Եմեն"
+ },
+ "ZM": {
+ "name": "Զամբիա"
+ },
+ "ZW": {
+ "name": "Զիմբաբվե"
+ },
+ "EC": {
+ "name": "Էկվադոր"
+ },
+ "EE": {
+ "name": "Էստոնիա"
+ },
+ "ER": {
+ "name": "Էրիթրեա"
+ },
+ "TH": {
+ "name": "Թայլանդ"
+ },
+ "TW": {
+ "name": "Թայվան"
+ },
+ "TC": {
+ "name": "Թըրքս և Կայկոս կղզիներ"
+ },
+ "TL": {
+ "name": "Թիմոր Լեշտի"
+ },
+ "TN": {
+ "name": "Թունիս"
+ },
+ "TR": {
+ "name": "Թուրքիա"
+ },
+ "TM": {
+ "name": "Թուրքմենստան"
+ },
+ "ID": {
+ "name": "Ինդոնեզիա"
+ },
+ "IE": {
+ "name": "Իռլանդիա"
+ },
+ "IS": {
+ "name": "Իսլանդիա"
+ },
+ "ES": {
+ "name": "Իսպանիա"
+ },
+ "IL": {
+ "name": "Իսրայել"
+ },
+ "IT": {
+ "name": "Իտալիա"
+ },
+ "IR": {
+ "name": "Իրան"
+ },
+ "IQ": {
+ "name": "Իրաք"
+ },
+ "LA": {
+ "name": "Լաոս"
+ },
+ "LV": {
+ "name": "Լատվիա"
+ },
+ "PL": {
+ "name": "Լեհաստան"
+ },
+ "LS": {
+ "name": "Լեսոտո"
+ },
+ "LB": {
+ "name": "Լիբանան"
+ },
+ "LR": {
+ "name": "Լիբերիա"
+ },
+ "LY": {
+ "name": "Լիբիա"
+ },
+ "LI": {
+ "name": "Լիխտենշտեյն"
+ },
+ "LT": {
+ "name": "Լիտվա"
+ },
+ "LU": {
+ "name": "Լյուքսեմբուրգ"
+ },
+ "HR": {
+ "name": "Խորվաթիա"
+ },
+ "CV": {
+ "name": "Կաբո Վերդե"
+ },
+ "KH": {
+ "name": "Կամբոջա"
+ },
+ "CM": {
+ "name": "Կամերուն"
+ },
+ "KY": {
+ "name": "Կայմանյան կղզիներ"
+ },
+ "CA": {
+ "name": "Կանադա"
+ },
+ "IC": {
+ "name": "Կանարյան կղզիներ"
+ },
+ "QA": {
+ "name": "Կատար"
+ },
+ "BQ": {
+ "name": "Կարիբյան Նիդեռլանդներ"
+ },
+ "CF": {
+ "name": "Կենտրոնական Աֆրիկյան Հանրապետություն"
+ },
+ "CY": {
+ "name": "Կիպրոս"
+ },
+ "KI": {
+ "name": "Կիրիբատի"
+ },
+ "CW": {
+ "name": "Կյուրասաո"
+ },
+ "CO": {
+ "name": "Կոլումբիա"
+ },
+ "CC": {
+ "name": "Կոկոսյան (Քիլինգ) կղզիներ"
+ },
+ "KM": {
+ "name": "Կոմորյան կղզիներ"
+ },
+ "CG": {
+ "name": "Կոնգո - Բրազավիլ"
+ },
+ "CD": {
+ "name": "Կոնգո - Կինշասա"
+ },
+ "XK": {
+ "name": "Կոսովո"
+ },
+ "CR": {
+ "name": "Կոստա Ռիկա"
+ },
+ "CI": {
+ "name": "Կոտ դ’Իվուար"
+ },
+ "CU": {
+ "name": "Կուբա"
+ },
+ "CK": {
+ "name": "Կուկի կղզիներ"
+ },
+ "AC": {
+ "name": "Համբարձման կղզի"
+ },
+ "AM": {
+ "name": "Հայաստան"
+ },
+ "HT": {
+ "name": "Հայիթի"
+ },
+ "GQ": {
+ "name": "Հասարակածային Գվինեա"
+ },
+ "KR": {
+ "name": "Հարավային Կորեա"
+ },
+ "GS": {
+ "name": "Հարավային Ջորջիա և Հարավային Սենդվիչյան կղզիներ"
+ },
+ "SS": {
+ "name": "Հարավային Սուդան"
+ },
+ "ZA": {
+ "name": "Հարավաֆրիկյան Հանրապետություն"
+ },
+ "KP": {
+ "name": "Հյուսիսային Կորեա"
+ },
+ "MP": {
+ "name": "Հյուսիսային Մարիանյան կղզիներ"
+ },
+ "IN": {
+ "name": "Հնդկաստան"
+ },
+ "HN": {
+ "name": "Հոնդուրաս"
+ },
+ "HK": {
+ "name": "Հոնկոնգի ՀՎՇ"
+ },
+ "JO": {
+ "name": "Հորդանան"
+ },
+ "GR": {
+ "name": "Հունաստան"
+ },
+ "HU": {
+ "name": "Հունգարիա"
+ },
+ "KZ": {
+ "name": "Ղազախստան"
+ },
+ "KG": {
+ "name": "Ղրղզստան"
+ },
+ "JM": {
+ "name": "Ճամայկա"
+ },
+ "JP": {
+ "name": "Ճապոնիա"
+ },
+ "MG": {
+ "name": "Մադագասկար"
+ },
+ "MY": {
+ "name": "Մալայզիա"
+ },
+ "MW": {
+ "name": "Մալավի"
+ },
+ "MV": {
+ "name": "Մալդիվներ"
+ },
+ "MT": {
+ "name": "Մալթա"
+ },
+ "ML": {
+ "name": "Մալի"
+ },
+ "MK": {
+ "name": "Մակեդոնիա"
+ },
+ "YT": {
+ "name": "Մայոտ"
+ },
+ "MU": {
+ "name": "Մավրիկիոս"
+ },
+ "MR": {
+ "name": "Մավրիտանիա"
+ },
+ "MH": {
+ "name": "Մարշալյան կղզիներ"
+ },
+ "MA": {
+ "name": "Մարոկկո"
+ },
+ "MQ": {
+ "name": "Մարտինիկա"
+ },
+ "IM": {
+ "name": "Մեն կղզի"
+ },
+ "MX": {
+ "name": "Մեքսիկա"
+ },
+ "GB": {
+ "name": "Միացյալ Թագավորություն"
+ },
+ "US": {
+ "name": "Միացյալ Նահանգներ"
+ },
+ "FM": {
+ "name": "Միկրոնեզիա"
+ },
+ "MM": {
+ "name": "Մյանմա (Բիրմա)"
+ },
+ "MZ": {
+ "name": "Մոզամբիկ"
+ },
+ "MD": {
+ "name": "Մոլդովա"
+ },
+ "MC": {
+ "name": "Մոնակո"
+ },
+ "MN": {
+ "name": "Մոնղոլիա"
+ },
+ "MS": {
+ "name": "Մոնսեռատ"
+ },
+ "NA": {
+ "name": "Նամիբիա"
+ },
+ "NR": {
+ "name": "Նաուրու"
+ },
+ "NP": {
+ "name": "Նեպալ"
+ },
+ "NE": {
+ "name": "Նիգեր"
+ },
+ "NG": {
+ "name": "Նիգերիա"
+ },
+ "NL": {
+ "name": "Նիդեռլանդներ"
+ },
+ "NI": {
+ "name": "Նիկարագուա"
+ },
+ "NU": {
+ "name": "Նիուե"
+ },
+ "NZ": {
+ "name": "Նոր Զելանդիա"
+ },
+ "NC": {
+ "name": "Նոր Կալեդոնիա"
+ },
+ "NO": {
+ "name": "Նորվեգիա"
+ },
+ "NF": {
+ "name": "Նորֆոլկ կղզի"
+ },
+ "SE": {
+ "name": "Շվեդիա"
+ },
+ "CH": {
+ "name": "Շվեյցարիա"
+ },
+ "LK": {
+ "name": "Շրի Լանկա"
+ },
+ "UG": {
+ "name": "Ուգանդա"
+ },
+ "UZ": {
+ "name": "Ուզբեկստան"
+ },
+ "UA": {
+ "name": "Ուկրաինա"
+ },
+ "WF": {
+ "name": "Ուոլիս և Ֆուտունա"
+ },
+ "UY": {
+ "name": "Ուրուգվայ"
+ },
+ "TD": {
+ "name": "Չադ"
+ },
+ "CZ": {
+ "name": "Չեխիա"
+ },
+ "ME": {
+ "name": "Չեռնոգորիա"
+ },
+ "CL": {
+ "name": "Չիլի"
+ },
+ "CN": {
+ "name": "Չինաստան"
+ },
+ "MO": {
+ "name": "Չինաստանի Մակաո ՀՎՇ"
+ },
+ "PW": {
+ "name": "Պալաու"
+ },
+ "PK": {
+ "name": "Պակիստան"
+ },
+ "PS": {
+ "name": "Պաղեստինյան տարածքներ"
+ },
+ "PA": {
+ "name": "Պանամա"
+ },
+ "PG": {
+ "name": "Պապուա Նոր Գվինեա"
+ },
+ "PY": {
+ "name": "Պարագվայ"
+ },
+ "PE": {
+ "name": "Պերու"
+ },
+ "PN": {
+ "name": "Պիտկեռն կղզիներ"
+ },
+ "PT": {
+ "name": "Պորտուգալիա"
+ },
+ "PR": {
+ "name": "Պուերտո Ռիկո"
+ },
+ "JE": {
+ "name": "Ջերսի"
+ },
+ "DJ": {
+ "name": "Ջիբութի"
+ },
+ "GI": {
+ "name": "Ջիբրալթար"
+ },
+ "RE": {
+ "name": "Ռեյունիոն"
+ },
+ "RW": {
+ "name": "Ռուանդա"
+ },
+ "RO": {
+ "name": "Ռումինիա"
+ },
+ "RU": {
+ "name": "Ռուսաստան"
+ },
+ "SV": {
+ "name": "Սալվադոր"
+ },
+ "WS": {
+ "name": "Սամոա"
+ },
+ "SM": {
+ "name": "Սան Մարինո"
+ },
+ "ST": {
+ "name": "Սան Տոմե և Փրինսիպի"
+ },
+ "SA": {
+ "name": "Սաուդյան Արաբիա"
+ },
+ "SC": {
+ "name": "Սեյշելներ"
+ },
+ "BL": {
+ "name": "Սեն Բարտելմի"
+ },
+ "MF": {
+ "name": "Սեն Մարտեն"
+ },
+ "PM": {
+ "name": "Սեն Պիեռ և Միքելոն"
+ },
+ "SN": {
+ "name": "Սենեգալ"
+ },
+ "LC": {
+ "name": "Սենթ Լյուսիա"
+ },
+ "VC": {
+ "name": "Սենթ Վինսենթ և Գրենադիններ"
+ },
+ "KN": {
+ "name": "Սենտ Քիտս և Նևիս"
+ },
+ "EA": {
+ "name": "Սեուտա և Մելիլյա"
+ },
+ "RS": {
+ "name": "Սերբիա"
+ },
+ "SL": {
+ "name": "Սիեռա Լեոնե"
+ },
+ "SG": {
+ "name": "Սինգապուր"
+ },
+ "SX": {
+ "name": "Սինտ Մարտեն"
+ },
+ "SY": {
+ "name": "Սիրիա"
+ },
+ "SK": {
+ "name": "Սլովակիա"
+ },
+ "SI": {
+ "name": "Սլովենիա"
+ },
+ "SB": {
+ "name": "Սողոմոնյան կղզիներ"
+ },
+ "SO": {
+ "name": "Սոմալի"
+ },
+ "SD": {
+ "name": "Սուդան"
+ },
+ "CX": {
+ "name": "Սուրբ Ծննդյան կղզի"
+ },
+ "SH": {
+ "name": "Սուրբ Հեղինեի կղզի"
+ },
+ "SR": {
+ "name": "Սուրինամ"
+ },
+ "SZ": {
+ "name": "Սվազիլենդ"
+ },
+ "SJ": {
+ "name": "Սվալբարդ և Յան Մայեն"
+ },
+ "VU": {
+ "name": "Վանուատու"
+ },
+ "VA": {
+ "name": "Վատիկան"
+ },
+ "VE": {
+ "name": "Վենեսուելա"
+ },
+ "VN": {
+ "name": "Վիետնամ"
+ },
+ "GE": {
+ "name": "Վրաստան"
+ },
+ "TZ": {
+ "name": "Տանզանիա"
+ },
+ "TJ": {
+ "name": "Տաջիկստան"
+ },
+ "TG": {
+ "name": "Տոգո"
+ },
+ "TK": {
+ "name": "Տոկելաու"
+ },
+ "TO": {
+ "name": "Տոնգա"
+ },
+ "TV": {
+ "name": "Տուվալու"
+ },
+ "TT": {
+ "name": "Տրինիդադ և Տոբագո"
+ },
+ "TA": {
+ "name": "Տրիստան դա Կունյա"
+ },
+ "KE": {
+ "name": "Քենիա"
+ },
+ "KW": {
+ "name": "Քուվեյթ"
+ },
+ "OM": {
+ "name": "Օման"
+ },
+ "FO": {
+ "name": "Ֆարերյան կղզիներ"
+ },
+ "PH": {
+ "name": "Ֆիլիպիններ"
+ },
+ "FI": {
+ "name": "Ֆինլանդիա"
+ },
+ "FJ": {
+ "name": "Ֆիջի"
+ },
+ "FK": {
+ "name": "Ֆոլքլենդյան կղզիներ"
+ },
+ "FR": {
+ "name": "Ֆրանսիա"
+ },
+ "GF": {
+ "name": "Ֆրանսիական Գվիանա"
+ },
+ "TF": {
+ "name": "Ֆրանսիական Հարավային Տարածքներ"
+ },
+ "PF": {
+ "name": "Ֆրանսիական Պոլինեզիա"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/id.json b/vendor/commerceguys/intl/resources/country/id.json
new file mode 100644
index 000000000..bc63c93dd
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/id.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afganistan"
+ },
+ "ZA": {
+ "name": "Afrika Selatan"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Aljazair"
+ },
+ "US": {
+ "name": "Amerika Serikat"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antartika"
+ },
+ "AG": {
+ "name": "Antigua dan Barbuda"
+ },
+ "SA": {
+ "name": "Arab Saudi"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "AZ": {
+ "name": "Azerbaijan"
+ },
+ "BS": {
+ "name": "Bahama"
+ },
+ "BH": {
+ "name": "Bahrain"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "NL": {
+ "name": "Belanda"
+ },
+ "BY": {
+ "name": "Belarus"
+ },
+ "BE": {
+ "name": "Belgia"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia dan Herzegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brasil"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "TD": {
+ "name": "Cad"
+ },
+ "EA": {
+ "name": "Ceuta dan Melilla"
+ },
+ "CL": {
+ "name": "Cile"
+ },
+ "CI": {
+ "name": "Cote d’Ivoire"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Denmark"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "EC": {
+ "name": "Ekuador"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Etiopia"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filipina"
+ },
+ "FI": {
+ "name": "Finlandia"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "GS": {
+ "name": "Georgia Selatan & Kep. Sandwich Selatan"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GL": {
+ "name": "Grinlandia"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GQ": {
+ "name": "Guinea Ekuatorial"
+ },
+ "GW": {
+ "name": "Guinea-Bissau"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "GF": {
+ "name": "Guyana Prancis"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hong Kong SAR Tiongkok"
+ },
+ "HU": {
+ "name": "Hungaria"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "GB": {
+ "name": "Inggris Raya"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IE": {
+ "name": "Irlandia"
+ },
+ "IS": {
+ "name": "Islandia"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JM": {
+ "name": "Jamaika"
+ },
+ "JP": {
+ "name": "Jepang"
+ },
+ "DE": {
+ "name": "Jerman"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "DJ": {
+ "name": "Jibuti"
+ },
+ "NC": {
+ "name": "Kaledonia Baru"
+ },
+ "KH": {
+ "name": "Kamboja"
+ },
+ "CM": {
+ "name": "Kamerun"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "BQ": {
+ "name": "Karibia Belanda"
+ },
+ "KZ": {
+ "name": "Kazakstan"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "AX": {
+ "name": "Kepulauan Aland"
+ },
+ "IC": {
+ "name": "Kepulauan Canary"
+ },
+ "KY": {
+ "name": "Kepulauan Cayman"
+ },
+ "CC": {
+ "name": "Kepulauan Cocos (Keeling)"
+ },
+ "CK": {
+ "name": "Kepulauan Cook"
+ },
+ "FO": {
+ "name": "Kepulauan Faroe"
+ },
+ "FK": {
+ "name": "Kepulauan Malvinas"
+ },
+ "MP": {
+ "name": "Kepulauan Mariana Utara"
+ },
+ "MH": {
+ "name": "Kepulauan Marshall"
+ },
+ "NF": {
+ "name": "Kepulauan Norfolk"
+ },
+ "PN": {
+ "name": "Kepulauan Pitcairn"
+ },
+ "SB": {
+ "name": "Kepulauan Solomon"
+ },
+ "SJ": {
+ "name": "Kepulauan Svalbard dan Jan Mayen"
+ },
+ "UM": {
+ "name": "Kepulauan Terluar A.S."
+ },
+ "TC": {
+ "name": "Kepulauan Turks dan Caicos"
+ },
+ "VI": {
+ "name": "Kepulauan Virgin A.S."
+ },
+ "VG": {
+ "name": "Kepulauan Virgin Inggris"
+ },
+ "WF": {
+ "name": "Kepulauan Wallis dan Futuna"
+ },
+ "KG": {
+ "name": "Kirgistan"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "CO": {
+ "name": "Kolombia"
+ },
+ "KM": {
+ "name": "Komoro"
+ },
+ "CG": {
+ "name": "Kongo - Brazzaville"
+ },
+ "CD": {
+ "name": "Kongo - Kinshasa"
+ },
+ "KR": {
+ "name": "Korea Selatan"
+ },
+ "KP": {
+ "name": "Korea Utara"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "Kosta Rika"
+ },
+ "HR": {
+ "name": "Kroasia"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LV": {
+ "name": "Latvia"
+ },
+ "LB": {
+ "name": "Lebanon"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libia"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lituania"
+ },
+ "LU": {
+ "name": "Luksemburg"
+ },
+ "MG": {
+ "name": "Madagaskar"
+ },
+ "MO": {
+ "name": "Makau SAR Tiongkok"
+ },
+ "MK": {
+ "name": "Makedonia"
+ },
+ "MV": {
+ "name": "Maladewa"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malaysia"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Maroko"
+ },
+ "MQ": {
+ "name": "Martinik"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Meksiko"
+ },
+ "EG": {
+ "name": "Mesir"
+ },
+ "FM": {
+ "name": "Mikronesia"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mozambik"
+ },
+ "MM": {
+ "name": "Myanmar (Burma)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NI": {
+ "name": "Nikaragua"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Norwegia"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua Nugini"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PL": {
+ "name": "Polandia"
+ },
+ "PF": {
+ "name": "Polinesia Prancis"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "FR": {
+ "name": "Prancis"
+ },
+ "PR": {
+ "name": "Puerto Riko"
+ },
+ "AC": {
+ "name": "Pulau Ascension"
+ },
+ "CX": {
+ "name": "Pulau Christmas"
+ },
+ "IM": {
+ "name": "Pulau Man"
+ },
+ "QA": {
+ "name": "Qatar"
+ },
+ "CF": {
+ "name": "Republik Afrika Tengah"
+ },
+ "CZ": {
+ "name": "Republik Cheska"
+ },
+ "DO": {
+ "name": "Republik Dominika"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RO": {
+ "name": "Rumania"
+ },
+ "RU": {
+ "name": "Rusia"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "EH": {
+ "name": "Sahara Barat"
+ },
+ "BL": {
+ "name": "Saint Barthélemy"
+ },
+ "SH": {
+ "name": "Saint Helena"
+ },
+ "KN": {
+ "name": "Saint Kitts dan Nevis"
+ },
+ "LC": {
+ "name": "Saint Lucia"
+ },
+ "MF": {
+ "name": "Saint Martin"
+ },
+ "PM": {
+ "name": "Saint Pierre dan Miquelon"
+ },
+ "VC": {
+ "name": "Saint Vincent dan Grenadines"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa Amerika"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "Sao Tome dan Principe"
+ },
+ "NZ": {
+ "name": "Selandia Baru"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapura"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "CY": {
+ "name": "Siprus"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "ES": {
+ "name": "Spanyol"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "SS": {
+ "name": "Sudan Selatan"
+ },
+ "SY": {
+ "name": "Suriah"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SZ": {
+ "name": "Swaziland"
+ },
+ "SE": {
+ "name": "Swedia"
+ },
+ "CH": {
+ "name": "Swiss"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TJ": {
+ "name": "Tajikistan"
+ },
+ "CV": {
+ "name": "Tanjung Verde"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TH": {
+ "name": "Thailand"
+ },
+ "TL": {
+ "name": "Timor Leste"
+ },
+ "CN": {
+ "name": "Tiongkok"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad dan Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TR": {
+ "name": "Turki"
+ },
+ "TM": {
+ "name": "Turkimenistan"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukraina"
+ },
+ "AE": {
+ "name": "Uni Emirat Arab"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbekistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikan"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "IO": {
+ "name": "Wilayah Inggris di Samudra Hindia"
+ },
+ "TF": {
+ "name": "Wilayah Kutub Selatan Prancis"
+ },
+ "PS": {
+ "name": "Wilayah Palestina"
+ },
+ "YE": {
+ "name": "Yaman"
+ },
+ "JO": {
+ "name": "Yordania"
+ },
+ "GR": {
+ "name": "Yunani"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/is.json b/vendor/commerceguys/intl/resources/country/is.json
new file mode 100644
index 000000000..38d47b85f
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/is.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afganistan"
+ },
+ "AL": {
+ "name": "Albanía"
+ },
+ "DZ": {
+ "name": "Alsír"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angóla"
+ },
+ "AI": {
+ "name": "Angvilla"
+ },
+ "AG": {
+ "name": "Antígva og Barbúda"
+ },
+ "AR": {
+ "name": "Argentína"
+ },
+ "AM": {
+ "name": "Armenía"
+ },
+ "AW": {
+ "name": "Arúba"
+ },
+ "AC": {
+ "name": "Ascension-eyja"
+ },
+ "AZ": {
+ "name": "Aserbaídsjan"
+ },
+ "AT": {
+ "name": "Austurríki"
+ },
+ "AX": {
+ "name": "Álandseyjar"
+ },
+ "AU": {
+ "name": "Ástralía"
+ },
+ "BS": {
+ "name": "Bahamaeyjar"
+ },
+ "US": {
+ "name": "Bandaríkin"
+ },
+ "AS": {
+ "name": "Bandaríska Samóa"
+ },
+ "VI": {
+ "name": "Bandarísku Jómfrúaeyjar"
+ },
+ "BD": {
+ "name": "Bangladess"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BH": {
+ "name": "Barein"
+ },
+ "BE": {
+ "name": "Belgía"
+ },
+ "BZ": {
+ "name": "Belís"
+ },
+ "BJ": {
+ "name": "Benín"
+ },
+ "BM": {
+ "name": "Bermúdaeyjar"
+ },
+ "BA": {
+ "name": "Bosnía og Hersegóvína"
+ },
+ "BW": {
+ "name": "Botsvana"
+ },
+ "BO": {
+ "name": "Bólivía"
+ },
+ "BR": {
+ "name": "Brasilía"
+ },
+ "IO": {
+ "name": "Bresku Indlandshafseyjar"
+ },
+ "VG": {
+ "name": "Bresku Jómfrúaeyjar"
+ },
+ "GB": {
+ "name": "Bretland"
+ },
+ "BN": {
+ "name": "Brúnei"
+ },
+ "BG": {
+ "name": "Búlgaría"
+ },
+ "BF": {
+ "name": "Búrkína Fasó"
+ },
+ "BI": {
+ "name": "Búrúndí"
+ },
+ "BT": {
+ "name": "Bútan"
+ },
+ "KY": {
+ "name": "Caymaneyjar"
+ },
+ "EA": {
+ "name": "Ceuta og Melilla"
+ },
+ "CK": {
+ "name": "Cooks-eyjar"
+ },
+ "CW": {
+ "name": "Curacao"
+ },
+ "DK": {
+ "name": "Danmörk"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DJ": {
+ "name": "Djíbútí"
+ },
+ "DM": {
+ "name": "Dóminíka"
+ },
+ "DO": {
+ "name": "Dóminíska lýðveldið"
+ },
+ "EG": {
+ "name": "Egyptaland"
+ },
+ "EE": {
+ "name": "Eistland"
+ },
+ "EC": {
+ "name": "Ekvador"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "ER": {
+ "name": "Erítrea"
+ },
+ "ET": {
+ "name": "Eþíópía"
+ },
+ "FK": {
+ "name": "Falklandseyjar"
+ },
+ "PH": {
+ "name": "Filippseyjar"
+ },
+ "FI": {
+ "name": "Finnland"
+ },
+ "FJ": {
+ "name": "Fídjíeyjar"
+ },
+ "CI": {
+ "name": "Fílabeinsströndin"
+ },
+ "FR": {
+ "name": "Frakkland"
+ },
+ "GF": {
+ "name": "Franska Gvæjana"
+ },
+ "PF": {
+ "name": "Franska Pólýnesía"
+ },
+ "TF": {
+ "name": "Frönsku suðlægu landsvæðin"
+ },
+ "FO": {
+ "name": "Færeyjar"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambía"
+ },
+ "GH": {
+ "name": "Gana"
+ },
+ "GE": {
+ "name": "Georgía"
+ },
+ "GI": {
+ "name": "Gíbraltar"
+ },
+ "GN": {
+ "name": "Gínea"
+ },
+ "GW": {
+ "name": "Gínea-Bissá"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GR": {
+ "name": "Grikkland"
+ },
+ "CV": {
+ "name": "Grænhöfðaeyjar"
+ },
+ "GL": {
+ "name": "Grænland"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GP": {
+ "name": "Gvadelúpeyjar"
+ },
+ "GU": {
+ "name": "Gvam"
+ },
+ "GT": {
+ "name": "Gvatemala"
+ },
+ "GY": {
+ "name": "Gvæjana"
+ },
+ "HT": {
+ "name": "Haítí"
+ },
+ "PS": {
+ "name": "Heimastjórnarsvæði Palestínumanna"
+ },
+ "NL": {
+ "name": "Holland"
+ },
+ "HN": {
+ "name": "Hondúras"
+ },
+ "BY": {
+ "name": "Hvíta-Rússland"
+ },
+ "IN": {
+ "name": "Indland"
+ },
+ "ID": {
+ "name": "Indónesía"
+ },
+ "IQ": {
+ "name": "Írak"
+ },
+ "IR": {
+ "name": "Íran"
+ },
+ "IE": {
+ "name": "Írland"
+ },
+ "IS": {
+ "name": "Ísland"
+ },
+ "IL": {
+ "name": "Ísrael"
+ },
+ "IT": {
+ "name": "Ítalía"
+ },
+ "JM": {
+ "name": "Jamaíka"
+ },
+ "JP": {
+ "name": "Japan"
+ },
+ "YE": {
+ "name": "Jemen"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "CX": {
+ "name": "Jólaey"
+ },
+ "JO": {
+ "name": "Jórdanía"
+ },
+ "KH": {
+ "name": "Kambódía"
+ },
+ "CM": {
+ "name": "Kamerún"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "IC": {
+ "name": "Kanaríeyjar"
+ },
+ "BQ": {
+ "name": "Karíbahafshluti Hollands"
+ },
+ "KZ": {
+ "name": "Kasakstan"
+ },
+ "QA": {
+ "name": "Katar"
+ },
+ "KE": {
+ "name": "Kenía"
+ },
+ "KG": {
+ "name": "Kirgistan"
+ },
+ "CN": {
+ "name": "Kína"
+ },
+ "KI": {
+ "name": "Kíribatí"
+ },
+ "CG": {
+ "name": "Kongó-Brazzaville"
+ },
+ "CD": {
+ "name": "Kongó-Kinshasa"
+ },
+ "CR": {
+ "name": "Kostaríka"
+ },
+ "CC": {
+ "name": "Kókoseyjar (Keeling)"
+ },
+ "CO": {
+ "name": "Kólumbía"
+ },
+ "KM": {
+ "name": "Kómoreyjar"
+ },
+ "XK": {
+ "name": "Kósóvó"
+ },
+ "HR": {
+ "name": "Króatía"
+ },
+ "CU": {
+ "name": "Kúba"
+ },
+ "KW": {
+ "name": "Kúveit"
+ },
+ "CY": {
+ "name": "Kýpur"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesótó"
+ },
+ "LV": {
+ "name": "Lettland"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Litháen"
+ },
+ "LB": {
+ "name": "Líbanon"
+ },
+ "LR": {
+ "name": "Líbería"
+ },
+ "LY": {
+ "name": "Líbía"
+ },
+ "LU": {
+ "name": "Lúxemborg"
+ },
+ "MG": {
+ "name": "Madagaskar"
+ },
+ "MK": {
+ "name": "Makedónía"
+ },
+ "MY": {
+ "name": "Malasía"
+ },
+ "MW": {
+ "name": "Malaví"
+ },
+ "MV": {
+ "name": "Maldíveyjar"
+ },
+ "ML": {
+ "name": "Malí"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marokkó"
+ },
+ "MH": {
+ "name": "Marshalleyjar"
+ },
+ "MQ": {
+ "name": "Martiník"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MR": {
+ "name": "Máritanía"
+ },
+ "MU": {
+ "name": "Máritíus"
+ },
+ "MX": {
+ "name": "Mexíkó"
+ },
+ "CF": {
+ "name": "Mið-Afríkulýðveldið"
+ },
+ "GQ": {
+ "name": "Miðbaugs-Gínea"
+ },
+ "FM": {
+ "name": "Míkrónesía"
+ },
+ "MM": {
+ "name": "Mjanmar (Búrma)"
+ },
+ "MD": {
+ "name": "Moldóva"
+ },
+ "MN": {
+ "name": "Mongólía"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MC": {
+ "name": "Mónakó"
+ },
+ "MZ": {
+ "name": "Mósambík"
+ },
+ "IM": {
+ "name": "Mön"
+ },
+ "NA": {
+ "name": "Namibía"
+ },
+ "NR": {
+ "name": "Nárú"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NE": {
+ "name": "Níger"
+ },
+ "NG": {
+ "name": "Nígería"
+ },
+ "NI": {
+ "name": "Níkaragva"
+ },
+ "KP": {
+ "name": "Norður-Kórea"
+ },
+ "MP": {
+ "name": "Norður-Maríanaeyjar"
+ },
+ "NO": {
+ "name": "Noregur"
+ },
+ "NF": {
+ "name": "Norfolkeyja"
+ },
+ "NC": {
+ "name": "Nýja-Kaledónía"
+ },
+ "NZ": {
+ "name": "Nýja-Sjáland"
+ },
+ "OM": {
+ "name": "Óman"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palá"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papúa Nýja-Gínea"
+ },
+ "PY": {
+ "name": "Paragvæ"
+ },
+ "PE": {
+ "name": "Perú"
+ },
+ "PN": {
+ "name": "Pitcairn-eyjar"
+ },
+ "PT": {
+ "name": "Portúgal"
+ },
+ "PL": {
+ "name": "Pólland"
+ },
+ "PR": {
+ "name": "Púertó Ríkó"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RW": {
+ "name": "Rúanda"
+ },
+ "RO": {
+ "name": "Rúmenía"
+ },
+ "RU": {
+ "name": "Rússland"
+ },
+ "SB": {
+ "name": "Salómonseyjar"
+ },
+ "ZM": {
+ "name": "Sambía"
+ },
+ "AE": {
+ "name": "Sameinuðu arabísku furstadæmin"
+ },
+ "WS": {
+ "name": "Samóa"
+ },
+ "SM": {
+ "name": "San Marínó"
+ },
+ "BL": {
+ "name": "Sankti Bartólómeusareyjar"
+ },
+ "SH": {
+ "name": "Sankti Helena"
+ },
+ "KN": {
+ "name": "Sankti Kitts og Nevis"
+ },
+ "LC": {
+ "name": "Sankti Lúsía"
+ },
+ "SX": {
+ "name": "Sankti Martin"
+ },
+ "PM": {
+ "name": "Sankti Pierre og Miquelon"
+ },
+ "VC": {
+ "name": "Sankti Vinsent og Grenadíneyjar"
+ },
+ "ST": {
+ "name": "Saó Tóme og Prinsípe"
+ },
+ "SA": {
+ "name": "Sádi-Arabía"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbía"
+ },
+ "SC": {
+ "name": "Seychelles-eyjar"
+ },
+ "ZW": {
+ "name": "Simbabve"
+ },
+ "SG": {
+ "name": "Singapúr"
+ },
+ "SL": {
+ "name": "Síerra Leóne"
+ },
+ "CL": {
+ "name": "Síle"
+ },
+ "HK": {
+ "name": "Sjálfstjórnarsvæðið Hong Kong"
+ },
+ "MO": {
+ "name": "Sjálfstjórnarsvæðið Makaó"
+ },
+ "SK": {
+ "name": "Slóvakía"
+ },
+ "SI": {
+ "name": "Slóvenía"
+ },
+ "UM": {
+ "name": "Smáeyjar Bandaríkjanna"
+ },
+ "SO": {
+ "name": "Sómalía"
+ },
+ "ES": {
+ "name": "Spánn"
+ },
+ "LK": {
+ "name": "Srí Lanka"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "ZA": {
+ "name": "Suður-Afríka"
+ },
+ "GS": {
+ "name": "Suður-Georgía og Suður-Sandvíkureyjar"
+ },
+ "KR": {
+ "name": "Suður-Kórea"
+ },
+ "SS": {
+ "name": "Suður-Súdan"
+ },
+ "AQ": {
+ "name": "Suðurskautslandið"
+ },
+ "SD": {
+ "name": "Súdan"
+ },
+ "SR": {
+ "name": "Súrínam"
+ },
+ "SJ": {
+ "name": "Svalbarði og Jan Mayen"
+ },
+ "ME": {
+ "name": "Svartfjallaland"
+ },
+ "SZ": {
+ "name": "Svasíland"
+ },
+ "CH": {
+ "name": "Sviss"
+ },
+ "SE": {
+ "name": "Svíþjóð"
+ },
+ "SY": {
+ "name": "Sýrland"
+ },
+ "TJ": {
+ "name": "Tadsjikistan"
+ },
+ "TH": {
+ "name": "Taíland"
+ },
+ "TW": {
+ "name": "Taívan"
+ },
+ "TZ": {
+ "name": "Tansanía"
+ },
+ "CZ": {
+ "name": "Tékkland"
+ },
+ "TL": {
+ "name": "Tímor-Leste"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TG": {
+ "name": "Tógó"
+ },
+ "TK": {
+ "name": "Tókelá"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TT": {
+ "name": "Trínidad og Tóbagó"
+ },
+ "TD": {
+ "name": "Tsjad"
+ },
+ "TC": {
+ "name": "Turks- og Caicoseyjar"
+ },
+ "TN": {
+ "name": "Túnis"
+ },
+ "TM": {
+ "name": "Túrkmenistan"
+ },
+ "TV": {
+ "name": "Túvalú"
+ },
+ "TR": {
+ "name": "Tyrkland"
+ },
+ "HU": {
+ "name": "Ungverjaland"
+ },
+ "UG": {
+ "name": "Úganda"
+ },
+ "UA": {
+ "name": "Úkraína"
+ },
+ "UY": {
+ "name": "Úrúgvæ"
+ },
+ "UZ": {
+ "name": "Úsbekistan"
+ },
+ "VU": {
+ "name": "Vanúatú"
+ },
+ "VA": {
+ "name": "Vatíkanið"
+ },
+ "VE": {
+ "name": "Venesúela"
+ },
+ "EH": {
+ "name": "Vestur-Sahara"
+ },
+ "VN": {
+ "name": "Víetnam"
+ },
+ "WF": {
+ "name": "Wallis- og Fútúnaeyjar"
+ },
+ "DE": {
+ "name": "Þýskaland"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/it.json b/vendor/commerceguys/intl/resources/country/it.json
new file mode 100644
index 000000000..22da1cf0f
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/it.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afghanistan"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Algeria"
+ },
+ "UM": {
+ "name": "Altre isole americane del Pacifico"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antartide"
+ },
+ "AG": {
+ "name": "Antigua e Barbuda"
+ },
+ "SA": {
+ "name": "Arabia Saudita"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "AZ": {
+ "name": "Azerbaigian"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahrein"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BE": {
+ "name": "Belgio"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BY": {
+ "name": "Bielorussia"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia ed Erzegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brasile"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "KH": {
+ "name": "Cambogia"
+ },
+ "CM": {
+ "name": "Camerun"
+ },
+ "CA": {
+ "name": "Canada"
+ },
+ "CV": {
+ "name": "Capo Verde"
+ },
+ "BQ": {
+ "name": "Caraibi olandesi"
+ },
+ "EA": {
+ "name": "Ceuta e Melilla"
+ },
+ "TD": {
+ "name": "Ciad"
+ },
+ "CL": {
+ "name": "Cile"
+ },
+ "CN": {
+ "name": "Cina"
+ },
+ "CY": {
+ "name": "Cipro"
+ },
+ "VA": {
+ "name": "Città del Vaticano"
+ },
+ "CO": {
+ "name": "Colombia"
+ },
+ "KM": {
+ "name": "Comore"
+ },
+ "CD": {
+ "name": "Congo - Kinshasa"
+ },
+ "CG": {
+ "name": "Congo-Brazzaville"
+ },
+ "KP": {
+ "name": "Corea del Nord"
+ },
+ "KR": {
+ "name": "Corea del Sud"
+ },
+ "CI": {
+ "name": "Costa d’Avorio"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "HR": {
+ "name": "Croazia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Danimarca"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egitto"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "AE": {
+ "name": "Emirati Arabi Uniti"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Etiopia"
+ },
+ "FJ": {
+ "name": "Figi"
+ },
+ "PH": {
+ "name": "Filippine"
+ },
+ "FI": {
+ "name": "Finlandia"
+ },
+ "FR": {
+ "name": "Francia"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "GS": {
+ "name": "Georgia del Sud e Sandwich australi"
+ },
+ "DE": {
+ "name": "Germania"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "JM": {
+ "name": "Giamaica"
+ },
+ "JP": {
+ "name": "Giappone"
+ },
+ "GI": {
+ "name": "Gibilterra"
+ },
+ "DJ": {
+ "name": "Gibuti"
+ },
+ "JO": {
+ "name": "Giordania"
+ },
+ "GR": {
+ "name": "Grecia"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GL": {
+ "name": "Groenlandia"
+ },
+ "GP": {
+ "name": "Guadalupa"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GQ": {
+ "name": "Guinea Equatoriale"
+ },
+ "GW": {
+ "name": "Guinea-Bissau"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "GF": {
+ "name": "Guyana francese"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IQ": {
+ "name": "Iraq"
+ },
+ "IE": {
+ "name": "Irlanda"
+ },
+ "IS": {
+ "name": "Islanda"
+ },
+ "AC": {
+ "name": "Isola Ascensione"
+ },
+ "CX": {
+ "name": "Isola Christmas"
+ },
+ "IM": {
+ "name": "Isola di Man"
+ },
+ "NF": {
+ "name": "Isola Norfolk"
+ },
+ "AX": {
+ "name": "Isole Åland"
+ },
+ "IC": {
+ "name": "Isole Canarie"
+ },
+ "KY": {
+ "name": "Isole Cayman"
+ },
+ "CC": {
+ "name": "Isole Cocos (Keeling)"
+ },
+ "CK": {
+ "name": "Isole Cook"
+ },
+ "FO": {
+ "name": "Isole Fær Øer"
+ },
+ "FK": {
+ "name": "Isole Falkland"
+ },
+ "MP": {
+ "name": "Isole Marianne settentrionali"
+ },
+ "MH": {
+ "name": "Isole Marshall"
+ },
+ "PN": {
+ "name": "Isole Pitcairn"
+ },
+ "SB": {
+ "name": "Isole Salomone"
+ },
+ "TC": {
+ "name": "Isole Turks e Caicos"
+ },
+ "VI": {
+ "name": "Isole Vergini Americane"
+ },
+ "VG": {
+ "name": "Isole Vergini Britanniche"
+ },
+ "IL": {
+ "name": "Israele"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "KZ": {
+ "name": "Kazakistan"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "KG": {
+ "name": "Kirghizistan"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LV": {
+ "name": "Lettonia"
+ },
+ "LB": {
+ "name": "Libano"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libia"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lituania"
+ },
+ "LU": {
+ "name": "Lussemburgo"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malaysia"
+ },
+ "MV": {
+ "name": "Maldive"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marocco"
+ },
+ "MQ": {
+ "name": "Martinica"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Messico"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldavia"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mozambico"
+ },
+ "MM": {
+ "name": "Myanmar (Birmania)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Norvegia"
+ },
+ "NC": {
+ "name": "Nuova Caledonia"
+ },
+ "NZ": {
+ "name": "Nuova Zelanda"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "NL": {
+ "name": "Paesi Bassi"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panamá"
+ },
+ "PG": {
+ "name": "Papua Nuova Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Perù"
+ },
+ "PF": {
+ "name": "Polinesia francese"
+ },
+ "PL": {
+ "name": "Polonia"
+ },
+ "PT": {
+ "name": "Portogallo"
+ },
+ "PR": {
+ "name": "Portorico"
+ },
+ "QA": {
+ "name": "Qatar"
+ },
+ "HK": {
+ "name": "RAS di Hong Kong"
+ },
+ "MO": {
+ "name": "RAS di Macao"
+ },
+ "GB": {
+ "name": "Regno Unito"
+ },
+ "CZ": {
+ "name": "Repubblica Ceca"
+ },
+ "CF": {
+ "name": "Repubblica Centrafricana"
+ },
+ "MK": {
+ "name": "Repubblica di Macedonia"
+ },
+ "DO": {
+ "name": "Repubblica Dominicana"
+ },
+ "RE": {
+ "name": "Riunione"
+ },
+ "RO": {
+ "name": "Romania"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RU": {
+ "name": "Russia"
+ },
+ "EH": {
+ "name": "Sahara occidentale"
+ },
+ "KN": {
+ "name": "Saint Kitts e Nevis"
+ },
+ "LC": {
+ "name": "Saint Lucia"
+ },
+ "MF": {
+ "name": "Saint Martin"
+ },
+ "PM": {
+ "name": "Saint Pierre e Miquelon"
+ },
+ "VC": {
+ "name": "Saint Vincent e Grenadines"
+ },
+ "BL": {
+ "name": "Saint-Barthélemy"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa americane"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "SH": {
+ "name": "Sant’Elena"
+ },
+ "ST": {
+ "name": "São Tomé e Príncipe"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapore"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Siria"
+ },
+ "SK": {
+ "name": "Slovacchia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "ES": {
+ "name": "Spagna"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "US": {
+ "name": "Stati Uniti"
+ },
+ "SS": {
+ "name": "Sud Sudan"
+ },
+ "ZA": {
+ "name": "Sudafrica"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SJ": {
+ "name": "Svalbard e Jan Mayen"
+ },
+ "SE": {
+ "name": "Svezia"
+ },
+ "CH": {
+ "name": "Svizzera"
+ },
+ "SZ": {
+ "name": "Swaziland"
+ },
+ "TJ": {
+ "name": "Tagikistan"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TF": {
+ "name": "Terre australi francesi"
+ },
+ "PS": {
+ "name": "Territori palestinesi"
+ },
+ "IO": {
+ "name": "Territorio britannico dell’Oceano Indiano"
+ },
+ "TH": {
+ "name": "Thailandia"
+ },
+ "TL": {
+ "name": "Timor Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad e Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TR": {
+ "name": "Turchia"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UA": {
+ "name": "Ucraina"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "HU": {
+ "name": "Ungheria"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbekistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis e Futuna"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/ja.json b/vendor/commerceguys/intl/resources/country/ja.json
new file mode 100644
index 000000000..7be0a4f8a
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/ja.json
@@ -0,0 +1,761 @@
+{
+ "IS": {
+ "name": "アイスランド"
+ },
+ "IE": {
+ "name": "アイルランド"
+ },
+ "AZ": {
+ "name": "アゼルバイジャン"
+ },
+ "AC": {
+ "name": "アセンション島"
+ },
+ "AF": {
+ "name": "アフガニスタン"
+ },
+ "US": {
+ "name": "アメリカ合衆国"
+ },
+ "AE": {
+ "name": "アラブ首長国連邦"
+ },
+ "DZ": {
+ "name": "アルジェリア"
+ },
+ "AR": {
+ "name": "アルゼンチン"
+ },
+ "AW": {
+ "name": "アルバ"
+ },
+ "AL": {
+ "name": "アルバニア"
+ },
+ "AM": {
+ "name": "アルメニア"
+ },
+ "AI": {
+ "name": "アンギラ"
+ },
+ "AO": {
+ "name": "アンゴラ"
+ },
+ "AG": {
+ "name": "アンティグア・バーブーダ"
+ },
+ "AD": {
+ "name": "アンドラ"
+ },
+ "YE": {
+ "name": "イエメン"
+ },
+ "GB": {
+ "name": "イギリス"
+ },
+ "IL": {
+ "name": "イスラエル"
+ },
+ "IT": {
+ "name": "イタリア"
+ },
+ "IQ": {
+ "name": "イラク"
+ },
+ "IR": {
+ "name": "イラン"
+ },
+ "IN": {
+ "name": "インド"
+ },
+ "ID": {
+ "name": "インドネシア"
+ },
+ "WF": {
+ "name": "ウォリス・フツナ"
+ },
+ "UG": {
+ "name": "ウガンダ"
+ },
+ "UA": {
+ "name": "ウクライナ"
+ },
+ "UZ": {
+ "name": "ウズベキスタン"
+ },
+ "UY": {
+ "name": "ウルグアイ"
+ },
+ "EC": {
+ "name": "エクアドル"
+ },
+ "EG": {
+ "name": "エジプト"
+ },
+ "EE": {
+ "name": "エストニア"
+ },
+ "ET": {
+ "name": "エチオピア"
+ },
+ "ER": {
+ "name": "エリトリア"
+ },
+ "SV": {
+ "name": "エルサルバドル"
+ },
+ "AU": {
+ "name": "オーストラリア"
+ },
+ "AT": {
+ "name": "オーストリア"
+ },
+ "AX": {
+ "name": "オーランド諸島"
+ },
+ "OM": {
+ "name": "オマーン"
+ },
+ "NL": {
+ "name": "オランダ"
+ },
+ "BQ": {
+ "name": "オランダ領カリブ"
+ },
+ "GH": {
+ "name": "ガーナ"
+ },
+ "CV": {
+ "name": "カーボベルデ"
+ },
+ "GG": {
+ "name": "ガーンジー"
+ },
+ "GY": {
+ "name": "ガイアナ"
+ },
+ "KZ": {
+ "name": "カザフスタン"
+ },
+ "QA": {
+ "name": "カタール"
+ },
+ "CA": {
+ "name": "カナダ"
+ },
+ "IC": {
+ "name": "カナリア諸島"
+ },
+ "GA": {
+ "name": "ガボン"
+ },
+ "CM": {
+ "name": "カメルーン"
+ },
+ "GM": {
+ "name": "ガンビア"
+ },
+ "KH": {
+ "name": "カンボジア"
+ },
+ "GN": {
+ "name": "ギニア"
+ },
+ "GW": {
+ "name": "ギニアビサウ"
+ },
+ "CY": {
+ "name": "キプロス"
+ },
+ "CU": {
+ "name": "キューバ"
+ },
+ "CW": {
+ "name": "キュラソー"
+ },
+ "GR": {
+ "name": "ギリシャ"
+ },
+ "KI": {
+ "name": "キリバス"
+ },
+ "KG": {
+ "name": "キルギス"
+ },
+ "GT": {
+ "name": "グアテマラ"
+ },
+ "GP": {
+ "name": "グアドループ"
+ },
+ "GU": {
+ "name": "グアム"
+ },
+ "KW": {
+ "name": "クウェート"
+ },
+ "CK": {
+ "name": "クック諸島"
+ },
+ "GL": {
+ "name": "グリーンランド"
+ },
+ "CX": {
+ "name": "クリスマス島"
+ },
+ "GD": {
+ "name": "グレナダ"
+ },
+ "HR": {
+ "name": "クロアチア"
+ },
+ "KY": {
+ "name": "ケイマン諸島"
+ },
+ "KE": {
+ "name": "ケニア"
+ },
+ "CI": {
+ "name": "コートジボワール"
+ },
+ "CC": {
+ "name": "ココス(キーリング)諸島"
+ },
+ "CR": {
+ "name": "コスタリカ"
+ },
+ "XK": {
+ "name": "コソボ"
+ },
+ "KM": {
+ "name": "コモロ"
+ },
+ "CO": {
+ "name": "コロンビア"
+ },
+ "CG": {
+ "name": "コンゴ共和国(ブラザビル)"
+ },
+ "CD": {
+ "name": "コンゴ民主共和国(キンシャサ)"
+ },
+ "SA": {
+ "name": "サウジアラビア"
+ },
+ "WS": {
+ "name": "サモア"
+ },
+ "BL": {
+ "name": "サン・バルテルミー島"
+ },
+ "MF": {
+ "name": "サン・マルタン"
+ },
+ "ST": {
+ "name": "サントメ・プリンシペ"
+ },
+ "ZM": {
+ "name": "ザンビア"
+ },
+ "PM": {
+ "name": "サンピエール島・ミクロン島"
+ },
+ "SM": {
+ "name": "サンマリノ"
+ },
+ "SL": {
+ "name": "シエラレオネ"
+ },
+ "DJ": {
+ "name": "ジブチ"
+ },
+ "GI": {
+ "name": "ジブラルタル"
+ },
+ "JE": {
+ "name": "ジャージー"
+ },
+ "JM": {
+ "name": "ジャマイカ"
+ },
+ "GE": {
+ "name": "ジョージア"
+ },
+ "SY": {
+ "name": "シリア"
+ },
+ "SG": {
+ "name": "シンガポール"
+ },
+ "SX": {
+ "name": "シント・マールテン"
+ },
+ "ZW": {
+ "name": "ジンバブエ"
+ },
+ "CH": {
+ "name": "スイス"
+ },
+ "SE": {
+ "name": "スウェーデン"
+ },
+ "SD": {
+ "name": "スーダン"
+ },
+ "SJ": {
+ "name": "スバールバル諸島・ヤンマイエン島"
+ },
+ "ES": {
+ "name": "スペイン"
+ },
+ "SR": {
+ "name": "スリナム"
+ },
+ "LK": {
+ "name": "スリランカ"
+ },
+ "SK": {
+ "name": "スロバキア"
+ },
+ "SI": {
+ "name": "スロベニア"
+ },
+ "SZ": {
+ "name": "スワジランド"
+ },
+ "EA": {
+ "name": "セウタ・メリリャ"
+ },
+ "SC": {
+ "name": "セーシェル"
+ },
+ "SN": {
+ "name": "セネガル"
+ },
+ "RS": {
+ "name": "セルビア"
+ },
+ "KN": {
+ "name": "セントクリストファー・ネーヴィス"
+ },
+ "VC": {
+ "name": "セントビンセント及びグレナディーン諸島"
+ },
+ "SH": {
+ "name": "セントヘレナ"
+ },
+ "LC": {
+ "name": "セントルシア"
+ },
+ "SO": {
+ "name": "ソマリア"
+ },
+ "SB": {
+ "name": "ソロモン諸島"
+ },
+ "TC": {
+ "name": "タークス・カイコス諸島"
+ },
+ "TH": {
+ "name": "タイ"
+ },
+ "TJ": {
+ "name": "タジキスタン"
+ },
+ "TZ": {
+ "name": "タンザニア"
+ },
+ "CZ": {
+ "name": "チェコ共和国"
+ },
+ "TD": {
+ "name": "チャド"
+ },
+ "TN": {
+ "name": "チュニジア"
+ },
+ "CL": {
+ "name": "チリ"
+ },
+ "TV": {
+ "name": "ツバル"
+ },
+ "DG": {
+ "name": "ディエゴガルシア島"
+ },
+ "DK": {
+ "name": "デンマーク"
+ },
+ "DE": {
+ "name": "ドイツ"
+ },
+ "TG": {
+ "name": "トーゴ"
+ },
+ "TK": {
+ "name": "トケラウ"
+ },
+ "DO": {
+ "name": "ドミニカ共和国"
+ },
+ "DM": {
+ "name": "ドミニカ国"
+ },
+ "TA": {
+ "name": "トリスタン・ダ・クーニャ"
+ },
+ "TT": {
+ "name": "トリニダード・トバゴ"
+ },
+ "TM": {
+ "name": "トルクメニスタン"
+ },
+ "TR": {
+ "name": "トルコ"
+ },
+ "TO": {
+ "name": "トンガ"
+ },
+ "NG": {
+ "name": "ナイジェリア"
+ },
+ "NR": {
+ "name": "ナウル"
+ },
+ "NA": {
+ "name": "ナミビア"
+ },
+ "NU": {
+ "name": "ニウエ"
+ },
+ "NI": {
+ "name": "ニカラグア"
+ },
+ "NE": {
+ "name": "ニジェール"
+ },
+ "NC": {
+ "name": "ニューカレドニア"
+ },
+ "NZ": {
+ "name": "ニュージーランド"
+ },
+ "NP": {
+ "name": "ネパール"
+ },
+ "NF": {
+ "name": "ノーフォーク島"
+ },
+ "NO": {
+ "name": "ノルウェー"
+ },
+ "BH": {
+ "name": "バーレーン"
+ },
+ "HT": {
+ "name": "ハイチ"
+ },
+ "PK": {
+ "name": "パキスタン"
+ },
+ "VA": {
+ "name": "バチカン市国"
+ },
+ "PA": {
+ "name": "パナマ"
+ },
+ "VU": {
+ "name": "バヌアツ"
+ },
+ "BS": {
+ "name": "バハマ"
+ },
+ "PG": {
+ "name": "パプアニューギニア"
+ },
+ "BM": {
+ "name": "バミューダ"
+ },
+ "PW": {
+ "name": "パラオ"
+ },
+ "PY": {
+ "name": "パラグアイ"
+ },
+ "BB": {
+ "name": "バルバドス"
+ },
+ "PS": {
+ "name": "パレスチナ自治区"
+ },
+ "HU": {
+ "name": "ハンガリー"
+ },
+ "BD": {
+ "name": "バングラデシュ"
+ },
+ "PN": {
+ "name": "ピトケアン諸島"
+ },
+ "FJ": {
+ "name": "フィジー"
+ },
+ "PH": {
+ "name": "フィリピン"
+ },
+ "FI": {
+ "name": "フィンランド"
+ },
+ "BT": {
+ "name": "ブータン"
+ },
+ "PR": {
+ "name": "プエルトリコ"
+ },
+ "FO": {
+ "name": "フェロー諸島"
+ },
+ "FK": {
+ "name": "フォークランド諸島"
+ },
+ "BR": {
+ "name": "ブラジル"
+ },
+ "FR": {
+ "name": "フランス"
+ },
+ "BG": {
+ "name": "ブルガリア"
+ },
+ "BF": {
+ "name": "ブルキナファソ"
+ },
+ "BN": {
+ "name": "ブルネイ"
+ },
+ "BI": {
+ "name": "ブルンジ"
+ },
+ "VN": {
+ "name": "ベトナム"
+ },
+ "BJ": {
+ "name": "ベナン"
+ },
+ "VE": {
+ "name": "ベネズエラ"
+ },
+ "BY": {
+ "name": "ベラルーシ"
+ },
+ "BZ": {
+ "name": "ベリーズ"
+ },
+ "PE": {
+ "name": "ペルー"
+ },
+ "BE": {
+ "name": "ベルギー"
+ },
+ "PL": {
+ "name": "ポーランド"
+ },
+ "BA": {
+ "name": "ボスニア・ヘルツェゴビナ"
+ },
+ "BW": {
+ "name": "ボツワナ"
+ },
+ "BO": {
+ "name": "ボリビア"
+ },
+ "PT": {
+ "name": "ポルトガル"
+ },
+ "HN": {
+ "name": "ホンジュラス"
+ },
+ "MH": {
+ "name": "マーシャル諸島"
+ },
+ "MK": {
+ "name": "マケドニア"
+ },
+ "MG": {
+ "name": "マダガスカル"
+ },
+ "YT": {
+ "name": "マヨット島"
+ },
+ "MW": {
+ "name": "マラウイ"
+ },
+ "ML": {
+ "name": "マリ"
+ },
+ "MT": {
+ "name": "マルタ"
+ },
+ "MQ": {
+ "name": "マルティニーク"
+ },
+ "MY": {
+ "name": "マレーシア"
+ },
+ "IM": {
+ "name": "マン島"
+ },
+ "FM": {
+ "name": "ミクロネシア連邦"
+ },
+ "MM": {
+ "name": "ミャンマー"
+ },
+ "MX": {
+ "name": "メキシコ"
+ },
+ "MU": {
+ "name": "モーリシャス"
+ },
+ "MR": {
+ "name": "モーリタニア"
+ },
+ "MZ": {
+ "name": "モザンビーク"
+ },
+ "MC": {
+ "name": "モナコ"
+ },
+ "MV": {
+ "name": "モルディブ"
+ },
+ "MD": {
+ "name": "モルドバ"
+ },
+ "MA": {
+ "name": "モロッコ"
+ },
+ "MN": {
+ "name": "モンゴル"
+ },
+ "ME": {
+ "name": "モンテネグロ"
+ },
+ "MS": {
+ "name": "モントセラト"
+ },
+ "JO": {
+ "name": "ヨルダン"
+ },
+ "LA": {
+ "name": "ラオス"
+ },
+ "LV": {
+ "name": "ラトビア"
+ },
+ "LT": {
+ "name": "リトアニア"
+ },
+ "LY": {
+ "name": "リビア"
+ },
+ "LI": {
+ "name": "リヒテンシュタイン"
+ },
+ "LR": {
+ "name": "リベリア"
+ },
+ "RO": {
+ "name": "ルーマニア"
+ },
+ "LU": {
+ "name": "ルクセンブルク"
+ },
+ "RW": {
+ "name": "ルワンダ"
+ },
+ "LS": {
+ "name": "レソト"
+ },
+ "LB": {
+ "name": "レバノン"
+ },
+ "RE": {
+ "name": "レユニオン島"
+ },
+ "RU": {
+ "name": "ロシア"
+ },
+ "IO": {
+ "name": "英領インド洋地域"
+ },
+ "VG": {
+ "name": "英領ヴァージン諸島"
+ },
+ "UM": {
+ "name": "合衆国領有小離島"
+ },
+ "EH": {
+ "name": "西サハラ"
+ },
+ "GQ": {
+ "name": "赤道ギニア"
+ },
+ "TW": {
+ "name": "台湾"
+ },
+ "KR": {
+ "name": "大韓民国"
+ },
+ "CF": {
+ "name": "中央アフリカ共和国"
+ },
+ "MO": {
+ "name": "中華人民共和国マカオ特別行政区"
+ },
+ "HK": {
+ "name": "中華人民共和国香港特別行政区"
+ },
+ "CN": {
+ "name": "中国"
+ },
+ "KP": {
+ "name": "朝鮮民主主義人民共和国"
+ },
+ "TL": {
+ "name": "東ティモール"
+ },
+ "ZA": {
+ "name": "南アフリカ"
+ },
+ "GS": {
+ "name": "南ジョージア島・南サンドイッチ諸島"
+ },
+ "SS": {
+ "name": "南スーダン"
+ },
+ "AQ": {
+ "name": "南極"
+ },
+ "JP": {
+ "name": "日本"
+ },
+ "GF": {
+ "name": "仏領ギアナ"
+ },
+ "PF": {
+ "name": "仏領ポリネシア"
+ },
+ "TF": {
+ "name": "仏領極南諸島"
+ },
+ "VI": {
+ "name": "米領ヴァージン諸島"
+ },
+ "AS": {
+ "name": "米領サモア"
+ },
+ "MP": {
+ "name": "北マリアナ諸島"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/jgo.json b/vendor/commerceguys/intl/resources/country/jgo.json
new file mode 100644
index 000000000..697430bc8
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/jgo.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afghanistan"
+ },
+ "AR": {
+ "name": "Ajɛntîn"
+ },
+ "AX": {
+ "name": "Åland Islands"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Aljɛlî"
+ },
+ "AS": {
+ "name": "American Samoa"
+ },
+ "IN": {
+ "name": "Ándɛ"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigua & Barbuda"
+ },
+ "AO": {
+ "name": "Aŋgɔ́la"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "AZ": {
+ "name": "Azerbaijan"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahrain"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BY": {
+ "name": "Belarus"
+ },
+ "BE": {
+ "name": "Belgium"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BA": {
+ "name": "Bosnia & Herzegovina"
+ },
+ "IO": {
+ "name": "British Indian Ocean Territory"
+ },
+ "VG": {
+ "name": "British Virgin Islands"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "KH": {
+ "name": "Cambodia"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "CV": {
+ "name": "Cape Verde"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "TD": {
+ "name": "Cât"
+ },
+ "KY": {
+ "name": "Cayman Islands"
+ },
+ "CF": {
+ "name": "Central African Republic"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CL": {
+ "name": "Cíllɛ"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CK": {
+ "name": "Cook Islands"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "HR": {
+ "name": "Croatia"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "CY": {
+ "name": "Cyprus"
+ },
+ "CZ": {
+ "name": "Czech Republic"
+ },
+ "DK": {
+ "name": "Denmark"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "DO": {
+ "name": "Dominican Republic"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "EG": {
+ "name": "Ɛjíptɛ"
+ },
+ "EC": {
+ "name": "Ɛkwandɔ̂"
+ },
+ "ER": {
+ "name": "Ɛlitɛlɛ́ya"
+ },
+ "ES": {
+ "name": "Ɛspániya"
+ },
+ "ET": {
+ "name": "Ɛtiyɔpî"
+ },
+ "FK": {
+ "name": "Falkland Islands"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FR": {
+ "name": "Fɛlánci"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "FI": {
+ "name": "Finland"
+ },
+ "GF": {
+ "name": "French Guiana"
+ },
+ "PF": {
+ "name": "French Polynesia"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GL": {
+ "name": "Greenland"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hungary"
+ },
+ "IS": {
+ "name": "Iceland"
+ },
+ "IQ": {
+ "name": "Ilâk"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IE": {
+ "name": "Ireland"
+ },
+ "IL": {
+ "name": "Islayɛ̂l"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IT": {
+ "name": "Italî"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japɔ̂n"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordan"
+ },
+ "CM": {
+ "name": "Kamɛlûn"
+ },
+ "CA": {
+ "name": "Kanadâ"
+ },
+ "KZ": {
+ "name": "Kazakhstan"
+ },
+ "KE": {
+ "name": "Kɛ́nya"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CO": {
+ "name": "Kɔllɔmbî"
+ },
+ "KM": {
+ "name": "Kɔmɔ́lɔshi"
+ },
+ "CD": {
+ "name": "Kɔ́ŋgɔ-Kinshása"
+ },
+ "CG": {
+ "name": "Kɔ́ŋgɔ-Mbɛlazavîl"
+ },
+ "CI": {
+ "name": "Kɔ́t Ndivwâ"
+ },
+ "CU": {
+ "name": "Kúba"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "KG": {
+ "name": "Kyrgyzstan"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LV": {
+ "name": "Latvia"
+ },
+ "LB": {
+ "name": "Lebanon"
+ },
+ "LS": {
+ "name": "Lɛsɔ́tɔ"
+ },
+ "RE": {
+ "name": "Lɛ́uniyɔ̂n"
+ },
+ "LR": {
+ "name": "Libɛrî"
+ },
+ "LY": {
+ "name": "Libî"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lithuania"
+ },
+ "RU": {
+ "name": "Lusî"
+ },
+ "RW": {
+ "name": "Luwánda"
+ },
+ "LU": {
+ "name": "Luxembourg"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MW": {
+ "name": "Maláwi"
+ },
+ "MY": {
+ "name": "Malaysia"
+ },
+ "MV": {
+ "name": "Maldives"
+ },
+ "ML": {
+ "name": "Malî"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MG": {
+ "name": "Mándaŋgasɛkâ"
+ },
+ "MH": {
+ "name": "Marshall Islands"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "YT": {
+ "name": "Mayɔ̂t"
+ },
+ "BR": {
+ "name": "Mbɛlazîl"
+ },
+ "BJ": {
+ "name": "Mbɛnɛ̂ŋ"
+ },
+ "BO": {
+ "name": "Mbɔlivî"
+ },
+ "BW": {
+ "name": "Mbɔtswána"
+ },
+ "BF": {
+ "name": "Mbulukína Fásɔ"
+ },
+ "BI": {
+ "name": "Mbulundí"
+ },
+ "MX": {
+ "name": "Mɛksîk"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MR": {
+ "name": "Mɔlitanî"
+ },
+ "MA": {
+ "name": "Mɔlɔ̂k"
+ },
+ "MZ": {
+ "name": "Mɔzambîk"
+ },
+ "MM": {
+ "name": "Myanmar (Burma)"
+ },
+ "NA": {
+ "name": "Namimbî"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NL": {
+ "name": "Netherlands"
+ },
+ "NC": {
+ "name": "New Caledonia"
+ },
+ "NZ": {
+ "name": "New Zealand"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Nijɛ̂"
+ },
+ "NG": {
+ "name": "Ninjɛliyâ"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "DE": {
+ "name": "Njáman"
+ },
+ "DJ": {
+ "name": "Njimbúti"
+ },
+ "NF": {
+ "name": "Norfolk Island"
+ },
+ "KP": {
+ "name": "North Korea"
+ },
+ "MP": {
+ "name": "Northern Mariana Islands"
+ },
+ "NO": {
+ "name": "Nɔlɛvɛ́jɛ"
+ },
+ "GA": {
+ "name": "Ŋgabɔ̂ŋ"
+ },
+ "GM": {
+ "name": "Ŋgambî"
+ },
+ "GH": {
+ "name": "Ŋgána"
+ },
+ "GR": {
+ "name": "Ŋgɛlɛ̂k"
+ },
+ "GN": {
+ "name": "Ŋginɛ̂"
+ },
+ "GQ": {
+ "name": "Ŋginɛ̂ Ɛkwatɔliyâl"
+ },
+ "GW": {
+ "name": "Ŋginɛ̂ Mbisáwu"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palestinian Territories"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua New Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Pɛlû"
+ },
+ "SC": {
+ "name": "Pɛsɛ́shɛl"
+ },
+ "PH": {
+ "name": "Philippines"
+ },
+ "PN": {
+ "name": "Pitcairn Islands"
+ },
+ "PL": {
+ "name": "Poland"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "QA": {
+ "name": "Qatar"
+ },
+ "RO": {
+ "name": "Romania"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "SA": {
+ "name": "Saudi Arabia"
+ },
+ "ST": {
+ "name": "Sáwɔŋ Tɔmɛ́ nɛ́ Pɛlínsipɛ"
+ },
+ "RS": {
+ "name": "Sɛlɛbî"
+ },
+ "SN": {
+ "name": "Sɛnɛgâl"
+ },
+ "CN": {
+ "name": "Shîn"
+ },
+ "SG": {
+ "name": "Singapore"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SL": {
+ "name": "Siyɛ́la Lɛɔ̂n"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SB": {
+ "name": "Solomon Islands"
+ },
+ "ZA": {
+ "name": "South Africa"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "KR": {
+ "name": "South Korea"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "SO": {
+ "name": "Sɔmalî"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "SH": {
+ "name": "St. Helena"
+ },
+ "KN": {
+ "name": "St. Kitts & Nevis"
+ },
+ "LC": {
+ "name": "St. Lucia"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "PM": {
+ "name": "St. Pierre & Miquelon"
+ },
+ "VC": {
+ "name": "St. Vincent & Grenadines"
+ },
+ "SD": {
+ "name": "Sundân"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swazilân"
+ },
+ "SE": {
+ "name": "Sweden"
+ },
+ "CH": {
+ "name": "Sẅísɛ"
+ },
+ "SY": {
+ "name": "Syria"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TJ": {
+ "name": "Tajikistan"
+ },
+ "TZ": {
+ "name": "Tanzanî"
+ },
+ "TH": {
+ "name": "Thailand"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TG": {
+ "name": "Tɔ́ŋgɔ"
+ },
+ "TT": {
+ "name": "Trinidad & Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunizî"
+ },
+ "TR": {
+ "name": "Turkey"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TC": {
+ "name": "Turks & Caicos Islands"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "VI": {
+ "name": "U.S. Virgin Islands"
+ },
+ "UA": {
+ "name": "Ukraine"
+ },
+ "AE": {
+ "name": "United Arab Emirates"
+ },
+ "GB": {
+ "name": "United Kingdom"
+ },
+ "US": {
+ "name": "United States"
+ },
+ "UG": {
+ "name": "Uŋgánda"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbekistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatican City"
+ },
+ "VE": {
+ "name": "Vɛnɛzwɛ́la"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis & Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "ZM": {
+ "name": "Zambî"
+ },
+ "ZW": {
+ "name": "Zimbámbwɛ"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/jmc.json b/vendor/commerceguys/intl/resources/country/jmc.json
new file mode 100644
index 000000000..06ebd2eb3
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/jmc.json
@@ -0,0 +1,761 @@
+{
+ "ZA": {
+ "name": "Afrika Kusini"
+ },
+ "AF": {
+ "name": "Afuganistani"
+ },
+ "IS": {
+ "name": "Aislandi"
+ },
+ "AR": {
+ "name": "Ajentina"
+ },
+ "AX": {
+ "name": "Åland Islands"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Aljeria"
+ },
+ "AD": {
+ "name": "Andora"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigua na Barbuda"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "IE": {
+ "name": "Ayalandi"
+ },
+ "AZ": {
+ "name": "Azabajani"
+ },
+ "BB": {
+ "name": "Babadosi"
+ },
+ "BS": {
+ "name": "Bahama"
+ },
+ "BH": {
+ "name": "Bahareni"
+ },
+ "BD": {
+ "name": "Bangladeshi"
+ },
+ "BY": {
+ "name": "Belarusi"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benini"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia na Hezegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brazili"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BF": {
+ "name": "Bukinafaso"
+ },
+ "MG": {
+ "name": "Bukini"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Butani"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "TD": {
+ "name": "Chadi"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Denmaki"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "EC": {
+ "name": "Ekwado"
+ },
+ "SV": {
+ "name": "Elsavado"
+ },
+ "IO": {
+ "name": "Eneo la Uingereza katika Bahari Hindi"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "AE": {
+ "name": "Falme za Kiarabu"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filipino"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gaboni"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GN": {
+ "name": "Gine"
+ },
+ "GW": {
+ "name": "Ginebisau"
+ },
+ "GQ": {
+ "name": "Ginekweta"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GL": {
+ "name": "Grinlandi"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "GP": {
+ "name": "Gwadelupe"
+ },
+ "GU": {
+ "name": "Gwam"
+ },
+ "GT": {
+ "name": "Gwatemala"
+ },
+ "GF": {
+ "name": "Gwiyana ya Ufaransa"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "ES": {
+ "name": "Hispania"
+ },
+ "HN": {
+ "name": "Hondurasi"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hungaria"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IQ": {
+ "name": "Iraki"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israeli"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JM": {
+ "name": "Jamaika"
+ },
+ "CF": {
+ "name": "Jamhuri ya Afrika ya Kati"
+ },
+ "CZ": {
+ "name": "Jamhuri ya Cheki"
+ },
+ "DO": {
+ "name": "Jamhuri ya Dominika"
+ },
+ "CD": {
+ "name": "Jamhuri ya Kidemokrasia ya Kongo"
+ },
+ "JP": {
+ "name": "Japani"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "GI": {
+ "name": "Jibralta"
+ },
+ "DJ": {
+ "name": "Jibuti"
+ },
+ "GE": {
+ "name": "Jojia"
+ },
+ "KH": {
+ "name": "Kambodia"
+ },
+ "CM": {
+ "name": "Kameruni"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "QA": {
+ "name": "Katari"
+ },
+ "KZ": {
+ "name": "Kazakistani"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "CV": {
+ "name": "Kepuvede"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "KG": {
+ "name": "Kirigizistani"
+ },
+ "NF": {
+ "name": "Kisiwa cha Norfok"
+ },
+ "CI": {
+ "name": "Kodivaa"
+ },
+ "CO": {
+ "name": "Kolombia"
+ },
+ "KM": {
+ "name": "Komoro"
+ },
+ "CG": {
+ "name": "Kongo"
+ },
+ "HR": {
+ "name": "Korasia"
+ },
+ "KP": {
+ "name": "Korea Kaskazini"
+ },
+ "KR": {
+ "name": "Korea Kusini"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "Kostarika"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "CY": {
+ "name": "Kuprosi"
+ },
+ "KW": {
+ "name": "Kuwaiti"
+ },
+ "LA": {
+ "name": "Laosi"
+ },
+ "LU": {
+ "name": "Lasembagi"
+ },
+ "LV": {
+ "name": "Lativia"
+ },
+ "LB": {
+ "name": "Lebanoni"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Lishenteni"
+ },
+ "LT": {
+ "name": "Litwania"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malesia"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "US": {
+ "name": "Marekani"
+ },
+ "MQ": {
+ "name": "Martiniki"
+ },
+ "MK": {
+ "name": "Masedonia"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Meksiko"
+ },
+ "FM": {
+ "name": "Mikronesia"
+ },
+ "EG": {
+ "name": "Misri"
+ },
+ "MV": {
+ "name": "Modivu"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrati"
+ },
+ "MU": {
+ "name": "Morisi"
+ },
+ "MR": {
+ "name": "Moritania"
+ },
+ "MA": {
+ "name": "Moroko"
+ },
+ "MZ": {
+ "name": "Msumbiji"
+ },
+ "MM": {
+ "name": "Myama"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepali"
+ },
+ "NE": {
+ "name": "Nijeri"
+ },
+ "NG": {
+ "name": "Nijeria"
+ },
+ "NI": {
+ "name": "Nikaragwa"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Norwe"
+ },
+ "NC": {
+ "name": "Nyukaledonia"
+ },
+ "NZ": {
+ "name": "Nyuzilandi"
+ },
+ "OM": {
+ "name": "Omani"
+ },
+ "PK": {
+ "name": "Pakistani"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua"
+ },
+ "PY": {
+ "name": "Paragwai"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitkairni"
+ },
+ "PL": {
+ "name": "Polandi"
+ },
+ "PF": {
+ "name": "Polinesia ya Ufaransa"
+ },
+ "PR": {
+ "name": "Pwetoriko"
+ },
+ "RE": {
+ "name": "Riyunioni"
+ },
+ "RO": {
+ "name": "Romania"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "SM": {
+ "name": "Samarino"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa ya Marekani"
+ },
+ "SH": {
+ "name": "Santahelena"
+ },
+ "KN": {
+ "name": "Santakitzi na Nevis"
+ },
+ "LC": {
+ "name": "Santalusia"
+ },
+ "PM": {
+ "name": "Santapieri na Mikeloni"
+ },
+ "VC": {
+ "name": "Santavisenti na Grenadini"
+ },
+ "ST": {
+ "name": "Sao Tome na Principe"
+ },
+ "SA": {
+ "name": "Saudi"
+ },
+ "SN": {
+ "name": "Senegali"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Shelisheli"
+ },
+ "SL": {
+ "name": "Siera Leoni"
+ },
+ "SG": {
+ "name": "Singapoo"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Siria"
+ },
+ "LK": {
+ "name": "Sirilanka"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SD": {
+ "name": "Sudani"
+ },
+ "SR": {
+ "name": "Surinamu"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailandi"
+ },
+ "TW": {
+ "name": "Taiwani"
+ },
+ "TJ": {
+ "name": "Tajikistani"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TL": {
+ "name": "Timori ya Mashariki"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad na Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TM": {
+ "name": "Turukimenistani"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "IR": {
+ "name": "Uajemi"
+ },
+ "BE": {
+ "name": "Ubelgiji"
+ },
+ "FR": {
+ "name": "Ufaransa"
+ },
+ "FI": {
+ "name": "Ufini"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "GR": {
+ "name": "Ugiriki"
+ },
+ "ET": {
+ "name": "Uhabeshi"
+ },
+ "NL": {
+ "name": "Uholanzi"
+ },
+ "GB": {
+ "name": "Uingereza"
+ },
+ "DE": {
+ "name": "Ujerumani"
+ },
+ "PS": {
+ "name": "Ukingo wa Magharibi na Ukanda wa Gaza wa Palestina"
+ },
+ "UA": {
+ "name": "Ukraini"
+ },
+ "PT": {
+ "name": "Ureno"
+ },
+ "UY": {
+ "name": "Urugwai"
+ },
+ "RU": {
+ "name": "Urusi"
+ },
+ "SZ": {
+ "name": "Uswazi"
+ },
+ "SE": {
+ "name": "Uswidi"
+ },
+ "CH": {
+ "name": "Uswisi"
+ },
+ "TR": {
+ "name": "Uturuki"
+ },
+ "UZ": {
+ "name": "Uzibekistani"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikani"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietinamu"
+ },
+ "CK": {
+ "name": "Visiwa vya Cook"
+ },
+ "FK": {
+ "name": "Visiwa vya Falkland"
+ },
+ "KY": {
+ "name": "Visiwa vya Kayman"
+ },
+ "MP": {
+ "name": "Visiwa vya Mariana vya Kaskazini"
+ },
+ "MH": {
+ "name": "Visiwa vya Marshal"
+ },
+ "SB": {
+ "name": "Visiwa vya Solomon"
+ },
+ "TC": {
+ "name": "Visiwa vya Turki na Kaiko"
+ },
+ "VI": {
+ "name": "Visiwa vya Virgin vya Marekani"
+ },
+ "VG": {
+ "name": "Visiwa vya Virgin vya Uingereza"
+ },
+ "WF": {
+ "name": "Walis na Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yemeni"
+ },
+ "JO": {
+ "name": "Yordani"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/ka.json b/vendor/commerceguys/intl/resources/country/ka.json
new file mode 100644
index 000000000..335a57cb8
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/ka.json
@@ -0,0 +1,761 @@
+{
+ "AU": {
+ "name": "ავსტრალია"
+ },
+ "AT": {
+ "name": "ავსტრია"
+ },
+ "AF": {
+ "name": "ავღანეთი"
+ },
+ "AZ": {
+ "name": "აზერბაიჯანი"
+ },
+ "AX": {
+ "name": "ალანდის კუნძულები"
+ },
+ "AL": {
+ "name": "ალბანეთი"
+ },
+ "DZ": {
+ "name": "ალჟირი"
+ },
+ "AC": {
+ "name": "ამაღლების კუნძული"
+ },
+ "AS": {
+ "name": "ამერიკის სამოა"
+ },
+ "US": {
+ "name": "ამერიკის შეერთებული შტატები"
+ },
+ "AI": {
+ "name": "ანგვილა"
+ },
+ "AO": {
+ "name": "ანგოლა"
+ },
+ "AD": {
+ "name": "ანდორა"
+ },
+ "AQ": {
+ "name": "ანტარქტიკა"
+ },
+ "AG": {
+ "name": "ანტიგუა და ბარბუდა"
+ },
+ "AE": {
+ "name": "არაბთა გაერთიანებული საამიროები"
+ },
+ "AR": {
+ "name": "არგენტინა"
+ },
+ "AW": {
+ "name": "არუბა"
+ },
+ "VI": {
+ "name": "აშშ-ის ვირჯინის კუნძულები"
+ },
+ "UM": {
+ "name": "აშშ-ის შორეული კუნძულები"
+ },
+ "NZ": {
+ "name": "ახალი ზელანდია"
+ },
+ "NC": {
+ "name": "ახალი კალედონია"
+ },
+ "BD": {
+ "name": "ბანგლადეში"
+ },
+ "BB": {
+ "name": "ბარბადოსი"
+ },
+ "BS": {
+ "name": "ბაჰამის კუნძულები"
+ },
+ "BH": {
+ "name": "ბაჰრეინი"
+ },
+ "BY": {
+ "name": "ბელარუსი"
+ },
+ "BE": {
+ "name": "ბელგია"
+ },
+ "BZ": {
+ "name": "ბელიზი"
+ },
+ "BJ": {
+ "name": "ბენინი"
+ },
+ "BM": {
+ "name": "ბერმუდა"
+ },
+ "BO": {
+ "name": "ბოლივია"
+ },
+ "BA": {
+ "name": "ბოსნია და ჰერცეგოვინა"
+ },
+ "BW": {
+ "name": "ბოტსვანა"
+ },
+ "BR": {
+ "name": "ბრაზილია"
+ },
+ "VG": {
+ "name": "ბრიტანეთის ვირჯინის კუნძულები"
+ },
+ "IO": {
+ "name": "ბრიტანეთის ტერიტორია ინდოეთის ოკეანეში"
+ },
+ "BN": {
+ "name": "ბრუნეი"
+ },
+ "BG": {
+ "name": "ბულგარეთი"
+ },
+ "BF": {
+ "name": "ბურკინა-ფასო"
+ },
+ "BI": {
+ "name": "ბურუნდი"
+ },
+ "BT": {
+ "name": "ბუტანი"
+ },
+ "GA": {
+ "name": "გაბონი"
+ },
+ "GB": {
+ "name": "გაერთიანებული სამეფო"
+ },
+ "GY": {
+ "name": "გაიანა"
+ },
+ "GM": {
+ "name": "გამბია"
+ },
+ "GH": {
+ "name": "განა"
+ },
+ "DE": {
+ "name": "გერმანია"
+ },
+ "GG": {
+ "name": "გერნსი"
+ },
+ "GP": {
+ "name": "გვადელუპა"
+ },
+ "GT": {
+ "name": "გვატემალა"
+ },
+ "GN": {
+ "name": "გვინეა"
+ },
+ "GW": {
+ "name": "გვინეა-ბისაუ"
+ },
+ "GI": {
+ "name": "გიბრალტარი"
+ },
+ "GD": {
+ "name": "გრენადა"
+ },
+ "GL": {
+ "name": "გრენლანდია"
+ },
+ "GU": {
+ "name": "გუამი"
+ },
+ "DK": {
+ "name": "დანია"
+ },
+ "EH": {
+ "name": "დასავლეთ საჰარა"
+ },
+ "DG": {
+ "name": "დიეგო-გარსია"
+ },
+ "DM": {
+ "name": "დომინიკა"
+ },
+ "DO": {
+ "name": "დომინიკელთა რესპუბლიკა"
+ },
+ "EG": {
+ "name": "ეგვიპტე"
+ },
+ "ET": {
+ "name": "ეთიოპია"
+ },
+ "EC": {
+ "name": "ეკვადორი"
+ },
+ "GQ": {
+ "name": "ეკვატორული გვინეა"
+ },
+ "IQ": {
+ "name": "ერაყი"
+ },
+ "ER": {
+ "name": "ერიტრეა"
+ },
+ "ES": {
+ "name": "ესპანეთი"
+ },
+ "EE": {
+ "name": "ესტონეთი"
+ },
+ "VU": {
+ "name": "ვანუატუ"
+ },
+ "VE": {
+ "name": "ვენესუელა"
+ },
+ "VN": {
+ "name": "ვიეტნამი"
+ },
+ "ZM": {
+ "name": "ზამბია"
+ },
+ "ZW": {
+ "name": "ზიმბაბვე"
+ },
+ "TC": {
+ "name": "თერქს-ქაიქოსის კუნძულები"
+ },
+ "TR": {
+ "name": "თურქეთი"
+ },
+ "TM": {
+ "name": "თურქმენეთი"
+ },
+ "JM": {
+ "name": "იამაიკა"
+ },
+ "JP": {
+ "name": "იაპონია"
+ },
+ "YE": {
+ "name": "იემენი"
+ },
+ "IN": {
+ "name": "ინდოეთი"
+ },
+ "ID": {
+ "name": "ინდონეზია"
+ },
+ "JO": {
+ "name": "იორდანია"
+ },
+ "IR": {
+ "name": "ირანი"
+ },
+ "IE": {
+ "name": "ირლანდია"
+ },
+ "IS": {
+ "name": "ისლანდია"
+ },
+ "IL": {
+ "name": "ისრაელი"
+ },
+ "IT": {
+ "name": "იტალია"
+ },
+ "CV": {
+ "name": "კაბო-ვერდე"
+ },
+ "KY": {
+ "name": "კაიმანის კუნძულები"
+ },
+ "KH": {
+ "name": "კამბოჯა"
+ },
+ "CM": {
+ "name": "კამერუნი"
+ },
+ "CA": {
+ "name": "კანადა"
+ },
+ "IC": {
+ "name": "კანარის კუნძულები"
+ },
+ "BQ": {
+ "name": "კარიბის ნიდერლანდები"
+ },
+ "QA": {
+ "name": "კატარი"
+ },
+ "KE": {
+ "name": "კენია"
+ },
+ "CY": {
+ "name": "კვიპროსი"
+ },
+ "KI": {
+ "name": "კირიბატი"
+ },
+ "CW": {
+ "name": "კიურასაო"
+ },
+ "CO": {
+ "name": "კოლუმბია"
+ },
+ "KM": {
+ "name": "კომორის კუნძულები"
+ },
+ "CG": {
+ "name": "კონგო - ბრაზავილი"
+ },
+ "CD": {
+ "name": "კონგო - კინშასა"
+ },
+ "XK": {
+ "name": "კოსოვო"
+ },
+ "CR": {
+ "name": "კოსტა-რიკა"
+ },
+ "CI": {
+ "name": "კოტ-დივუარი"
+ },
+ "CU": {
+ "name": "კუბა"
+ },
+ "CK": {
+ "name": "კუკის კუნძულები"
+ },
+ "LA": {
+ "name": "ლაოსი"
+ },
+ "LV": {
+ "name": "ლატვია"
+ },
+ "LS": {
+ "name": "ლესოთო"
+ },
+ "LB": {
+ "name": "ლიბანი"
+ },
+ "LR": {
+ "name": "ლიბერია"
+ },
+ "LY": {
+ "name": "ლიბია"
+ },
+ "LT": {
+ "name": "ლიტვა"
+ },
+ "LI": {
+ "name": "ლიხტენშტაინი"
+ },
+ "LU": {
+ "name": "ლუქსემბურგი"
+ },
+ "MG": {
+ "name": "მადაგასკარი"
+ },
+ "MU": {
+ "name": "მავრიკი"
+ },
+ "MR": {
+ "name": "მავრიტანია"
+ },
+ "YT": {
+ "name": "მაიოტა"
+ },
+ "MO": {
+ "name": "მაკაოს სპეციალური ადმინისტრაციული რეგიონი ჩინეთი"
+ },
+ "MK": {
+ "name": "მაკედონია"
+ },
+ "MW": {
+ "name": "მალავი"
+ },
+ "MY": {
+ "name": "მალაიზია"
+ },
+ "MV": {
+ "name": "მალდივები"
+ },
+ "ML": {
+ "name": "მალი"
+ },
+ "MT": {
+ "name": "მალტა"
+ },
+ "MA": {
+ "name": "მაროკო"
+ },
+ "MQ": {
+ "name": "მარტინიკა"
+ },
+ "MH": {
+ "name": "მარშალის კუნძულები"
+ },
+ "IM": {
+ "name": "მენის კუნძული"
+ },
+ "MX": {
+ "name": "მექსიკა"
+ },
+ "MM": {
+ "name": "მიანმარი (ბირმა)"
+ },
+ "FM": {
+ "name": "მიკრონეზია"
+ },
+ "MZ": {
+ "name": "მოზამბიკი"
+ },
+ "MD": {
+ "name": "მოლდოვა"
+ },
+ "MC": {
+ "name": "მონაკო"
+ },
+ "MS": {
+ "name": "მონსერატი"
+ },
+ "ME": {
+ "name": "მონტენეგრო"
+ },
+ "MN": {
+ "name": "მონღოლეთი"
+ },
+ "NA": {
+ "name": "ნამიბია"
+ },
+ "NR": {
+ "name": "ნაურუ"
+ },
+ "NP": {
+ "name": "ნეპალი"
+ },
+ "NE": {
+ "name": "ნიგერი"
+ },
+ "NG": {
+ "name": "ნიგერია"
+ },
+ "NL": {
+ "name": "ნიდერლანდები"
+ },
+ "NI": {
+ "name": "ნიკარაგუა"
+ },
+ "NU": {
+ "name": "ნიუე"
+ },
+ "NO": {
+ "name": "ნორვეგია"
+ },
+ "NF": {
+ "name": "ნორფოლკის კუნძული"
+ },
+ "OM": {
+ "name": "ომანი"
+ },
+ "PK": {
+ "name": "პაკისტანი"
+ },
+ "PW": {
+ "name": "პალაუ"
+ },
+ "PS": {
+ "name": "პალესტინის ტერიტორიები"
+ },
+ "PA": {
+ "name": "პანამა"
+ },
+ "PG": {
+ "name": "პაპუა-ახალი გვინეა"
+ },
+ "PY": {
+ "name": "პარაგვაი"
+ },
+ "PE": {
+ "name": "პერუ"
+ },
+ "PN": {
+ "name": "პიტკერნის კუნძულები"
+ },
+ "PL": {
+ "name": "პოლონეთი"
+ },
+ "PT": {
+ "name": "პორტუგალია"
+ },
+ "PR": {
+ "name": "პუერტო-რიკო"
+ },
+ "RE": {
+ "name": "რეუნიონი"
+ },
+ "RW": {
+ "name": "რუანდა"
+ },
+ "RO": {
+ "name": "რუმინეთი"
+ },
+ "RU": {
+ "name": "რუსეთი"
+ },
+ "GR": {
+ "name": "საბერძნეთი"
+ },
+ "SV": {
+ "name": "სალვადორი"
+ },
+ "WS": {
+ "name": "სამოა"
+ },
+ "ZA": {
+ "name": "სამხრეთ აფრიკის რესპუბლიკა"
+ },
+ "KR": {
+ "name": "სამხრეთ კორეა"
+ },
+ "SS": {
+ "name": "სამხრეთ სუდანი"
+ },
+ "GS": {
+ "name": "სამხრეთ ჯორჯია და სამხრეთ სენდვიჩის კუნძულები"
+ },
+ "SM": {
+ "name": "სან-მარინო"
+ },
+ "ST": {
+ "name": "სან-ტომე და პრინსიპი"
+ },
+ "SA": {
+ "name": "საუდის არაბეთი"
+ },
+ "FR": {
+ "name": "საფრანგეთი"
+ },
+ "GF": {
+ "name": "საფრანგეთის გვიანა"
+ },
+ "PF": {
+ "name": "საფრანგეთის პოლინეზია"
+ },
+ "GE": {
+ "name": "საქართველო"
+ },
+ "SC": {
+ "name": "სეიშელის კუნძულები"
+ },
+ "BL": {
+ "name": "სენ-ბართელმი"
+ },
+ "MF": {
+ "name": "სენ-მარტენი"
+ },
+ "PM": {
+ "name": "სენ-პიერი და მიკელონი"
+ },
+ "SN": {
+ "name": "სენეგალი"
+ },
+ "VC": {
+ "name": "სენტ-ვინსენტი და გრენადინები"
+ },
+ "KN": {
+ "name": "სენტ-კიტსი და ნევისი"
+ },
+ "LC": {
+ "name": "სენტ-ლუსია"
+ },
+ "RS": {
+ "name": "სერბეთი"
+ },
+ "EA": {
+ "name": "სეუტა და მელილა"
+ },
+ "SZ": {
+ "name": "სვაზილენდი"
+ },
+ "SL": {
+ "name": "სიერა-ლეონე"
+ },
+ "SG": {
+ "name": "სინგაპური"
+ },
+ "SX": {
+ "name": "სინტ-მარტენი"
+ },
+ "SY": {
+ "name": "სირია"
+ },
+ "SK": {
+ "name": "სლოვაკეთი"
+ },
+ "SI": {
+ "name": "სლოვენია"
+ },
+ "SB": {
+ "name": "სოლომონის კუნძულები"
+ },
+ "SO": {
+ "name": "სომალი"
+ },
+ "AM": {
+ "name": "სომხეთი"
+ },
+ "SD": {
+ "name": "სუდანი"
+ },
+ "SR": {
+ "name": "სურინამი"
+ },
+ "TW": {
+ "name": "ტაივანი"
+ },
+ "TH": {
+ "name": "ტაილანდი"
+ },
+ "TZ": {
+ "name": "ტანზანია"
+ },
+ "TJ": {
+ "name": "ტაჯიკეთი"
+ },
+ "TL": {
+ "name": "ტიმორ-ლესტე"
+ },
+ "TG": {
+ "name": "ტოგო"
+ },
+ "TK": {
+ "name": "ტოკელაუ"
+ },
+ "TO": {
+ "name": "ტონგა"
+ },
+ "TT": {
+ "name": "ტრინიდადი და ტობაგო"
+ },
+ "TA": {
+ "name": "ტრისტან-და-კუნია"
+ },
+ "TV": {
+ "name": "ტუვალუ"
+ },
+ "TN": {
+ "name": "ტუნისი"
+ },
+ "UG": {
+ "name": "უგანდა"
+ },
+ "UZ": {
+ "name": "უზბეკეთი"
+ },
+ "UA": {
+ "name": "უკრაინა"
+ },
+ "HU": {
+ "name": "უნგრეთი"
+ },
+ "WF": {
+ "name": "უოლისი და ფუტუნა"
+ },
+ "UY": {
+ "name": "ურუგვაი"
+ },
+ "FO": {
+ "name": "ფარერის კუნძულები"
+ },
+ "PH": {
+ "name": "ფილიპინები"
+ },
+ "FI": {
+ "name": "ფინეთი"
+ },
+ "FJ": {
+ "name": "ფიჯი"
+ },
+ "FK": {
+ "name": "ფოლკლენდის კუნძულები"
+ },
+ "TF": {
+ "name": "ფრანგული სამხრეთის ტერიტორიები"
+ },
+ "VA": {
+ "name": "ქალაქი ვატიკანი"
+ },
+ "CC": {
+ "name": "ქოქოსის (კილინგის) კუნძულები"
+ },
+ "KW": {
+ "name": "ქუვეითი"
+ },
+ "KZ": {
+ "name": "ყაზახეთი"
+ },
+ "KG": {
+ "name": "ყირგიზეთი"
+ },
+ "SE": {
+ "name": "შვედეთი"
+ },
+ "CH": {
+ "name": "შვეიცარია"
+ },
+ "CX": {
+ "name": "შობის კუნძული"
+ },
+ "SJ": {
+ "name": "შპიცბერგენი და იან-მაიენი"
+ },
+ "LK": {
+ "name": "შრი-ლანკა"
+ },
+ "TD": {
+ "name": "ჩადი"
+ },
+ "CZ": {
+ "name": "ჩეხეთის რესპუბლიკა"
+ },
+ "CL": {
+ "name": "ჩილე"
+ },
+ "CN": {
+ "name": "ჩინეთი"
+ },
+ "KP": {
+ "name": "ჩრდილოეთ კორეა"
+ },
+ "MP": {
+ "name": "ჩრდილოეთ მარიანას კუნძულები"
+ },
+ "CF": {
+ "name": "ცენტრალური აფრიკის რესპუბლიკა"
+ },
+ "SH": {
+ "name": "წმინდა ელენეს კუნძული"
+ },
+ "HR": {
+ "name": "ხორვატია"
+ },
+ "JE": {
+ "name": "ჯერსი"
+ },
+ "DJ": {
+ "name": "ჯიბუტი"
+ },
+ "HT": {
+ "name": "ჰაიტი"
+ },
+ "HN": {
+ "name": "ჰონდურასი"
+ },
+ "HK": {
+ "name": "ჰონკონგის სპეციალური ადმინისტრაციული რეგიონი ჩინეთი"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/kab.json b/vendor/commerceguys/intl/resources/country/kab.json
new file mode 100644
index 000000000..0e6f79f22
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/kab.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afɣanistan"
+ },
+ "IO": {
+ "name": "Akal Aglizi deg Ugaraw Ahendi"
+ },
+ "AX": {
+ "name": "Åland Islands"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AR": {
+ "name": "Arjuntin"
+ },
+ "AM": {
+ "name": "Arminya"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "VA": {
+ "name": "Awanek n Vatikan"
+ },
+ "AZ": {
+ "name": "Azrabijan"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Baḥrin"
+ },
+ "BD": {
+ "name": "Bangladac"
+ },
+ "BB": {
+ "name": "Barbadus"
+ },
+ "BE": {
+ "name": "Belǧik"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BY": {
+ "name": "Bilarus"
+ },
+ "BZ": {
+ "name": "Biliz"
+ },
+ "BJ": {
+ "name": "Binin"
+ },
+ "BR": {
+ "name": "Brizil"
+ },
+ "BN": {
+ "name": "Bruney"
+ },
+ "BG": {
+ "name": "Bulgari"
+ },
+ "BO": {
+ "name": "Bulivi"
+ },
+ "BI": {
+ "name": "Burandi"
+ },
+ "BF": {
+ "name": "Burkina Fasu"
+ },
+ "BA": {
+ "name": "Busna d Hersek"
+ },
+ "BW": {
+ "name": "Bustwana"
+ },
+ "TD": {
+ "name": "Čad"
+ },
+ "KH": {
+ "name": "Cambudya"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "CZ": {
+ "name": "Čček"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CL": {
+ "name": "Cili"
+ },
+ "CY": {
+ "name": "Cipr"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Denmark"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Duminik"
+ },
+ "OM": {
+ "name": "Ɛuman"
+ },
+ "PS": {
+ "name": "Falisṭin d Ɣezza"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filipin"
+ },
+ "FI": {
+ "name": "Finlund"
+ },
+ "FR": {
+ "name": "Fransa"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gabun"
+ },
+ "GM": {
+ "name": "Gambya"
+ },
+ "DJ": {
+ "name": "Ǧibuti"
+ },
+ "GD": {
+ "name": "Grunad"
+ },
+ "GL": {
+ "name": "Grunland"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Guwana"
+ },
+ "GP": {
+ "name": "Gwadalupi"
+ },
+ "GU": {
+ "name": "Gwam"
+ },
+ "GT": {
+ "name": "Gwatimala"
+ },
+ "GH": {
+ "name": "Ɣana"
+ },
+ "GF": {
+ "name": "Ɣana tafransist"
+ },
+ "GN": {
+ "name": "Ɣinya"
+ },
+ "PG": {
+ "name": "Ɣinya Tamaynut Tapaput"
+ },
+ "GQ": {
+ "name": "Ɣinya Tasebgast"
+ },
+ "GW": {
+ "name": "Ɣinya-Bisaw"
+ },
+ "HT": {
+ "name": "Hayti"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HN": {
+ "name": "Hunduras"
+ },
+ "HU": {
+ "name": "Hungri"
+ },
+ "EC": {
+ "name": "Ikwaṭur"
+ },
+ "ID": {
+ "name": "Indunizi"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "ER": {
+ "name": "Iritiria"
+ },
+ "IS": {
+ "name": "Island"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "EE": {
+ "name": "Istunya"
+ },
+ "IL": {
+ "name": "Izrayil"
+ },
+ "JM": {
+ "name": "Jamyika"
+ },
+ "JP": {
+ "name": "Jappu"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "GI": {
+ "name": "Jibraltar"
+ },
+ "GE": {
+ "name": "Jiyurji"
+ },
+ "NC": {
+ "name": "Kalidunya Tamaynut"
+ },
+ "CM": {
+ "name": "Kamirun"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "KZ": {
+ "name": "Kazaxistan"
+ },
+ "HR": {
+ "name": "Kerwasya"
+ },
+ "KE": {
+ "name": "Kinya"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "KG": {
+ "name": "Kirigistan"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "CO": {
+ "name": "Kulumbi"
+ },
+ "KM": {
+ "name": "Kumur"
+ },
+ "CG": {
+ "name": "Kungu"
+ },
+ "KP": {
+ "name": "Kurya, Ufella"
+ },
+ "KR": {
+ "name": "Kurya, Wadda"
+ },
+ "CR": {
+ "name": "Kusta Rika"
+ },
+ "CI": {
+ "name": "Kuṭ Divwar"
+ },
+ "KW": {
+ "name": "Kuwayt"
+ },
+ "CN": {
+ "name": "Lacin"
+ },
+ "GR": {
+ "name": "Lagris"
+ },
+ "JO": {
+ "name": "Lajurdani"
+ },
+ "AL": {
+ "name": "Lalbani"
+ },
+ "DE": {
+ "name": "Lalman"
+ },
+ "LV": {
+ "name": "Latvia"
+ },
+ "LA": {
+ "name": "Laws"
+ },
+ "LI": {
+ "name": "Layctenstan"
+ },
+ "DZ": {
+ "name": "Lezzayer"
+ },
+ "IQ": {
+ "name": "Lɛiraq"
+ },
+ "IN": {
+ "name": "Lhend"
+ },
+ "LR": {
+ "name": "Libirya"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "IE": {
+ "name": "Lirlund"
+ },
+ "LT": {
+ "name": "Liṭwanya"
+ },
+ "LS": {
+ "name": "Lizuṭu"
+ },
+ "MA": {
+ "name": "Lmerruk"
+ },
+ "LB": {
+ "name": "Lubnan"
+ },
+ "LU": {
+ "name": "Luksamburg"
+ },
+ "YE": {
+ "name": "Lyamen"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MG": {
+ "name": "Madaɣecqer"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MV": {
+ "name": "Maldib"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MY": {
+ "name": "Malizya"
+ },
+ "MT": {
+ "name": "Malṭ"
+ },
+ "MQ": {
+ "name": "Martinik"
+ },
+ "MK": {
+ "name": "Masidwan"
+ },
+ "EG": {
+ "name": "Maṣr"
+ },
+ "YT": {
+ "name": "Mayuṭ"
+ },
+ "MX": {
+ "name": "Meksik"
+ },
+ "FM": {
+ "name": "Mikrunizya"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MD": {
+ "name": "Muldabi"
+ },
+ "MC": {
+ "name": "Munaku"
+ },
+ "MN": {
+ "name": "Mungulya"
+ },
+ "MS": {
+ "name": "Munsirat"
+ },
+ "MU": {
+ "name": "Muris"
+ },
+ "MR": {
+ "name": "Muriṭanya"
+ },
+ "MZ": {
+ "name": "Muzembiq"
+ },
+ "MM": {
+ "name": "Myanmar"
+ },
+ "NA": {
+ "name": "Namibya"
+ },
+ "NE": {
+ "name": "Nijer"
+ },
+ "NG": {
+ "name": "Nijirya"
+ },
+ "NI": {
+ "name": "Nikaragwa"
+ },
+ "NP": {
+ "name": "Nipal"
+ },
+ "NU": {
+ "name": "Niwi"
+ },
+ "NR": {
+ "name": "Nuru"
+ },
+ "NO": {
+ "name": "Nurvij"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palu"
+ },
+ "PA": {
+ "name": "Panam"
+ },
+ "PY": {
+ "name": "Paragway"
+ },
+ "PE": {
+ "name": "Piru"
+ },
+ "PN": {
+ "name": "Pitkarin"
+ },
+ "PL": {
+ "name": "Pulund"
+ },
+ "PF": {
+ "name": "Pulunizi tafransist"
+ },
+ "PR": {
+ "name": "Purtu Riku"
+ },
+ "PT": {
+ "name": "Purtugal"
+ },
+ "QA": {
+ "name": "Qaṭar"
+ },
+ "RU": {
+ "name": "Rrus"
+ },
+ "RO": {
+ "name": "Rumani"
+ },
+ "RW": {
+ "name": "Ruwanda"
+ },
+ "SV": {
+ "name": "Salvadur"
+ },
+ "WS": {
+ "name": "Samwa"
+ },
+ "AS": {
+ "name": "Samwa Tamarikanit"
+ },
+ "KN": {
+ "name": "San Kits d Nivis"
+ },
+ "LC": {
+ "name": "San Lučya"
+ },
+ "SM": {
+ "name": "San Marinu"
+ },
+ "PM": {
+ "name": "San Pyar d Miklun"
+ },
+ "VC": {
+ "name": "San Vansu d Grunadin"
+ },
+ "SH": {
+ "name": "Sant Ilina"
+ },
+ "ST": {
+ "name": "Saw Tumi d Pransip"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seycel"
+ },
+ "SG": {
+ "name": "Singafur"
+ },
+ "SN": {
+ "name": "Sinigal"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SL": {
+ "name": "Sira Lyun"
+ },
+ "SK": {
+ "name": "Sluvakya"
+ },
+ "SI": {
+ "name": "Sluvinya"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "ES": {
+ "name": "Spanya"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "SA": {
+ "name": "Suɛudiya Taɛrabt"
+ },
+ "SO": {
+ "name": "Ṣumal"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SY": {
+ "name": "Surya"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swazilund"
+ },
+ "SE": {
+ "name": "Swid"
+ },
+ "CH": {
+ "name": "Swis"
+ },
+ "ZA": {
+ "name": "Tafriqt Wadda"
+ },
+ "GB": {
+ "name": "Tagelda Yedduklen"
+ },
+ "TJ": {
+ "name": "Tajikistan"
+ },
+ "TZ": {
+ "name": "Ṭanzanya"
+ },
+ "TH": {
+ "name": "Ṭayland"
+ },
+ "TW": {
+ "name": "Ṭaywan"
+ },
+ "IT": {
+ "name": "Ṭelyan"
+ },
+ "CF": {
+ "name": "Tigduda n Tefriqt Talemmast"
+ },
+ "DO": {
+ "name": "Tigduda Taduminikit"
+ },
+ "CD": {
+ "name": "Tigduda Tagdudant n Kungu"
+ },
+ "AE": {
+ "name": "Tigeldunin Yedduklen Taɛrabin"
+ },
+ "FK": {
+ "name": "Tigzirin n Falkland"
+ },
+ "KY": {
+ "name": "Tigzirin n Kamyan"
+ },
+ "CK": {
+ "name": "Tigzirin n Kuk"
+ },
+ "MH": {
+ "name": "Tigzirin n Marcal"
+ },
+ "MP": {
+ "name": "Tigzirin n Maryan Ufella"
+ },
+ "SB": {
+ "name": "Tigzirin n Sulumun"
+ },
+ "CV": {
+ "name": "Tigzirin n yixef azegzaw"
+ },
+ "NF": {
+ "name": "Tigzirin Tinawfukin"
+ },
+ "VG": {
+ "name": "Tigzirin Tiverjiniyin Tigliziyin"
+ },
+ "RE": {
+ "name": "Timlilit"
+ },
+ "NL": {
+ "name": "Timura-Yessakesren"
+ },
+ "TT": {
+ "name": "Ṭrindad d Ṭubagu"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TG": {
+ "name": "Ṭugu"
+ },
+ "TK": {
+ "name": "Ṭuklu"
+ },
+ "TL": {
+ "name": "Tumur Asamar"
+ },
+ "TN": {
+ "name": "Tunes"
+ },
+ "TO": {
+ "name": "Ṭunga"
+ },
+ "TR": {
+ "name": "Ṭurk"
+ },
+ "TC": {
+ "name": "Ṭurk d Tegzirin n Kaykus"
+ },
+ "TM": {
+ "name": "Ṭurkmanistan"
+ },
+ "TV": {
+ "name": "Ṭuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "UG": {
+ "name": "Uɣanda"
+ },
+ "UA": {
+ "name": "Ukran"
+ },
+ "AD": {
+ "name": "Undura"
+ },
+ "AI": {
+ "name": "Ungiya"
+ },
+ "AO": {
+ "name": "Ungula"
+ },
+ "AG": {
+ "name": "Untiga d Barbuda"
+ },
+ "UY": {
+ "name": "Urugway"
+ },
+ "AU": {
+ "name": "Ustrali"
+ },
+ "AT": {
+ "name": "Ustriya"
+ },
+ "ET": {
+ "name": "Utyupi"
+ },
+ "UZ": {
+ "name": "Uzbaxistan"
+ },
+ "VU": {
+ "name": "Vanwatu"
+ },
+ "VE": {
+ "name": "Venzwila"
+ },
+ "VN": {
+ "name": "Vyeṭnam"
+ },
+ "VI": {
+ "name": "W.D. Tigzirin n Virginya"
+ },
+ "WF": {
+ "name": "Wallis d Futuna"
+ },
+ "US": {
+ "name": "WDM"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "ZM": {
+ "name": "Zambya"
+ },
+ "NZ": {
+ "name": "Ziland Tamaynut"
+ },
+ "ZW": {
+ "name": "Zimbabwi"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/kam.json b/vendor/commerceguys/intl/resources/country/kam.json
new file mode 100644
index 000000000..ece3de595
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/kam.json
@@ -0,0 +1,761 @@
+{
+ "ZA": {
+ "name": "Afrika Kusini"
+ },
+ "AF": {
+ "name": "Afuganistani"
+ },
+ "IS": {
+ "name": "Aislandi"
+ },
+ "AR": {
+ "name": "Ajentina"
+ },
+ "AX": {
+ "name": "Åland Islands"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Aljeria"
+ },
+ "AD": {
+ "name": "Andora"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigua na Barbuda"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "IE": {
+ "name": "Ayalandi"
+ },
+ "AZ": {
+ "name": "Azabajani"
+ },
+ "BB": {
+ "name": "Babadosi"
+ },
+ "BS": {
+ "name": "Bahama"
+ },
+ "BH": {
+ "name": "Bahareni"
+ },
+ "BD": {
+ "name": "Bangladeshi"
+ },
+ "BY": {
+ "name": "Belarusi"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benini"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia na Hezegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brazili"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BF": {
+ "name": "Bukinafaso"
+ },
+ "MG": {
+ "name": "Bukini"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BT": {
+ "name": "Butani"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "TD": {
+ "name": "Chadi"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Denmaki"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "EC": {
+ "name": "Ekwado"
+ },
+ "SV": {
+ "name": "Elsavado"
+ },
+ "IO": {
+ "name": "Eneo la Uingereza katika Bahari Hindi"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "AE": {
+ "name": "Falme za Kiarabu"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filipino"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gaboni"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GN": {
+ "name": "Gine"
+ },
+ "GW": {
+ "name": "Ginebisau"
+ },
+ "GQ": {
+ "name": "Ginekweta"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GL": {
+ "name": "Grinlandi"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "GP": {
+ "name": "Gwadelupe"
+ },
+ "GU": {
+ "name": "Gwam"
+ },
+ "GT": {
+ "name": "Gwatemala"
+ },
+ "GF": {
+ "name": "Gwiyana ya Ufaransa"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "ES": {
+ "name": "Hispania"
+ },
+ "HN": {
+ "name": "Hondurasi"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hungaria"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IQ": {
+ "name": "Iraki"
+ },
+ "CK": {
+ "name": "Isiwa sya Cook"
+ },
+ "KY": {
+ "name": "Isiwa sya Kayman"
+ },
+ "SB": {
+ "name": "Isiwa sya Solomon"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israeli"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JM": {
+ "name": "Jamaika"
+ },
+ "CF": {
+ "name": "Jamhuri ya Afrika ya Kati"
+ },
+ "CZ": {
+ "name": "Jamhuri ya Cheki"
+ },
+ "DO": {
+ "name": "Jamhuri ya Dominika"
+ },
+ "CD": {
+ "name": "Jamhuri ya Kidemokrasia ya Kongo"
+ },
+ "JP": {
+ "name": "Japani"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "GI": {
+ "name": "Jibralta"
+ },
+ "DJ": {
+ "name": "Jibuti"
+ },
+ "GE": {
+ "name": "Jojia"
+ },
+ "KH": {
+ "name": "Kambodia"
+ },
+ "CM": {
+ "name": "Kameluni"
+ },
+ "CA": {
+ "name": "Kananda"
+ },
+ "QA": {
+ "name": "Katari"
+ },
+ "KZ": {
+ "name": "Kazakistani"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "CV": {
+ "name": "Kepuvede"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "KG": {
+ "name": "Kirigizistani"
+ },
+ "NF": {
+ "name": "Kisiwa cha Norfok"
+ },
+ "CI": {
+ "name": "Kodivaa"
+ },
+ "CO": {
+ "name": "Kolombia"
+ },
+ "KM": {
+ "name": "Komoro"
+ },
+ "CG": {
+ "name": "Kongo"
+ },
+ "HR": {
+ "name": "Korasia"
+ },
+ "KP": {
+ "name": "Korea Kaskazini"
+ },
+ "KR": {
+ "name": "Korea Kusini"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "Kostarika"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "CY": {
+ "name": "Kuprosi"
+ },
+ "KW": {
+ "name": "Kuwaiti"
+ },
+ "CN": {
+ "name": "Kyaina"
+ },
+ "LA": {
+ "name": "Laosi"
+ },
+ "LU": {
+ "name": "Lasembagi"
+ },
+ "LV": {
+ "name": "Lativia"
+ },
+ "LB": {
+ "name": "Lebanoni"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Lishenteni"
+ },
+ "LT": {
+ "name": "Litwania"
+ },
+ "RW": {
+ "name": "Lwanda"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malesia"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "US": {
+ "name": "Marekani"
+ },
+ "MQ": {
+ "name": "Martiniki"
+ },
+ "MK": {
+ "name": "Masedonia"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "BI": {
+ "name": "Mbulundi"
+ },
+ "MX": {
+ "name": "Meksiko"
+ },
+ "FM": {
+ "name": "Mikronesia"
+ },
+ "EG": {
+ "name": "Misili"
+ },
+ "MV": {
+ "name": "Modivu"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrati"
+ },
+ "MU": {
+ "name": "Morisi"
+ },
+ "MR": {
+ "name": "Moritania"
+ },
+ "MA": {
+ "name": "Moroko"
+ },
+ "MZ": {
+ "name": "Msumbiji"
+ },
+ "MM": {
+ "name": "Myama"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepali"
+ },
+ "NE": {
+ "name": "Nijeri"
+ },
+ "NG": {
+ "name": "Nijeria"
+ },
+ "NI": {
+ "name": "Nikaragwa"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Norwe"
+ },
+ "NC": {
+ "name": "Nyukaledonia"
+ },
+ "NZ": {
+ "name": "Nyuzilandi"
+ },
+ "ZM": {
+ "name": "Nzambia"
+ },
+ "ZW": {
+ "name": "Nzimbambwe"
+ },
+ "OM": {
+ "name": "Omani"
+ },
+ "PK": {
+ "name": "Pakistani"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua"
+ },
+ "PY": {
+ "name": "Paragwai"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitkairni"
+ },
+ "PL": {
+ "name": "Polandi"
+ },
+ "PF": {
+ "name": "Polinesia ya Ufaransa"
+ },
+ "PR": {
+ "name": "Pwetoriko"
+ },
+ "RE": {
+ "name": "Riyunioni"
+ },
+ "RO": {
+ "name": "Romania"
+ },
+ "SM": {
+ "name": "Samarino"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa ya Marekani"
+ },
+ "SH": {
+ "name": "Santahelena"
+ },
+ "KN": {
+ "name": "Santakitzi na Nevis"
+ },
+ "LC": {
+ "name": "Santalusia"
+ },
+ "PM": {
+ "name": "Santapieri na Mikeloni"
+ },
+ "VC": {
+ "name": "Santavisenti na Grenadini"
+ },
+ "ST": {
+ "name": "Sao Tome na Principe"
+ },
+ "SA": {
+ "name": "Saudi"
+ },
+ "SN": {
+ "name": "Senegali"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Shelisheli"
+ },
+ "SL": {
+ "name": "Siera Leoni"
+ },
+ "SG": {
+ "name": "Singapoo"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Siria"
+ },
+ "LK": {
+ "name": "Sirilanka"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SD": {
+ "name": "Sudani"
+ },
+ "SR": {
+ "name": "Surinamu"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailandi"
+ },
+ "TW": {
+ "name": "Taiwani"
+ },
+ "TJ": {
+ "name": "Tajikistani"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TL": {
+ "name": "Timori ya Mashariki"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad na Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TM": {
+ "name": "Turukimenistani"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "IR": {
+ "name": "Uajemi"
+ },
+ "BE": {
+ "name": "Ubelgiji"
+ },
+ "FI": {
+ "name": "Ufini"
+ },
+ "GR": {
+ "name": "Ugiriki"
+ },
+ "ET": {
+ "name": "Uhabeshi"
+ },
+ "NL": {
+ "name": "Uholanzi"
+ },
+ "GB": {
+ "name": "Uingereza"
+ },
+ "DE": {
+ "name": "Ujerumani"
+ },
+ "UG": {
+ "name": "Ukanda"
+ },
+ "PS": {
+ "name": "Ukingo wa Magharibi na Ukanda wa Gaza wa Palestina"
+ },
+ "UA": {
+ "name": "Ukraini"
+ },
+ "PT": {
+ "name": "Ureno"
+ },
+ "UY": {
+ "name": "Urugwai"
+ },
+ "RU": {
+ "name": "Urusi"
+ },
+ "SZ": {
+ "name": "Uswazi"
+ },
+ "SE": {
+ "name": "Uswidi"
+ },
+ "CH": {
+ "name": "Uswisi"
+ },
+ "TR": {
+ "name": "Uturuki"
+ },
+ "FR": {
+ "name": "Uvalanza"
+ },
+ "UZ": {
+ "name": "Uzibekistani"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikani"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietinamu"
+ },
+ "FK": {
+ "name": "Visiwa vya Falkland"
+ },
+ "MP": {
+ "name": "Visiwa vya Mariana vya Kaskazini"
+ },
+ "MH": {
+ "name": "Visiwa vya Marshal"
+ },
+ "TC": {
+ "name": "Visiwa vya Turki na Kaiko"
+ },
+ "VI": {
+ "name": "Visiwa vya Virgin vya Marekani"
+ },
+ "VG": {
+ "name": "Visiwa vya Virgin vya Uingereza"
+ },
+ "WF": {
+ "name": "Walis na Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yemeni"
+ },
+ "JO": {
+ "name": "Yordani"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/kde.json b/vendor/commerceguys/intl/resources/country/kde.json
new file mode 100644
index 000000000..cec341744
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/kde.json
@@ -0,0 +1,761 @@
+{
+ "AR": {
+ "name": "Adyentina"
+ },
+ "ZA": {
+ "name": "Afilika Kusini"
+ },
+ "AF": {
+ "name": "Afuganistani"
+ },
+ "IS": {
+ "name": "Aislandi"
+ },
+ "AX": {
+ "name": "Åland Islands"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Aljelia"
+ },
+ "AM": {
+ "name": "Almenia"
+ },
+ "AW": {
+ "name": "Aluba"
+ },
+ "AD": {
+ "name": "Andola"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Angwila"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigua na Balbuda"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AU": {
+ "name": "Austlalia"
+ },
+ "AT": {
+ "name": "Austlia"
+ },
+ "IE": {
+ "name": "Ayalandi"
+ },
+ "AZ": {
+ "name": "Azabadyani"
+ },
+ "BB": {
+ "name": "Babadosi"
+ },
+ "BH": {
+ "name": "Bahaleni"
+ },
+ "BS": {
+ "name": "Bahama"
+ },
+ "BD": {
+ "name": "Bangladeshi"
+ },
+ "BY": {
+ "name": "Belalusi"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BM": {
+ "name": "Belmuda"
+ },
+ "BJ": {
+ "name": "Benini"
+ },
+ "BR": {
+ "name": "Blazili"
+ },
+ "BN": {
+ "name": "Blunei"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia na Hezegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BF": {
+ "name": "Buchinafaso"
+ },
+ "MG": {
+ "name": "Bukini"
+ },
+ "BG": {
+ "name": "Bulgalia"
+ },
+ "BI": {
+ "name": "Bulundi"
+ },
+ "BT": {
+ "name": "Butani"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "TD": {
+ "name": "Chadi"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CK": {
+ "name": "Chisiwa cha Cook"
+ },
+ "FK": {
+ "name": "Chisiwa cha Falkland"
+ },
+ "KY": {
+ "name": "Chisiwa cha Kemen"
+ },
+ "MH": {
+ "name": "Chisiwa cha Malushal"
+ },
+ "MP": {
+ "name": "Chisiwa cha Marian cha Kasikazini"
+ },
+ "NF": {
+ "name": "Chisiwa cha Nolufok"
+ },
+ "SB": {
+ "name": "Chisiwa cha Solomon"
+ },
+ "TC": {
+ "name": "Chisiwa cha Tuluchi na Kaiko"
+ },
+ "VI": {
+ "name": "Chisiwa Chivihi cha Malekani"
+ },
+ "VG": {
+ "name": "Chisiwa Chivihi cha Wingalesa"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Denmaki"
+ },
+ "GI": {
+ "name": "Diblalta"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "AE": {
+ "name": "Dimiliki dya Vakulungwa va Chalabu"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "JM": {
+ "name": "Dyamaika"
+ },
+ "JP": {
+ "name": "Dyapani"
+ },
+ "DJ": {
+ "name": "Dyibuti"
+ },
+ "GE": {
+ "name": "Dyodya"
+ },
+ "EC": {
+ "name": "Ekwado"
+ },
+ "ER": {
+ "name": "Elitilea"
+ },
+ "SV": {
+ "name": "Elsavado"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filipino"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gaboni"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GN": {
+ "name": "Gine"
+ },
+ "GW": {
+ "name": "Ginebisau"
+ },
+ "GQ": {
+ "name": "Ginekweta"
+ },
+ "GD": {
+ "name": "Glenada"
+ },
+ "GL": {
+ "name": "Glinlandi"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "GP": {
+ "name": "Gwadelupe"
+ },
+ "GU": {
+ "name": "Gwam"
+ },
+ "GT": {
+ "name": "Gwatemala"
+ },
+ "GF": {
+ "name": "Gwiyana ya Ufalansa"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "ES": {
+ "name": "Hispania"
+ },
+ "HN": {
+ "name": "Hondulasi"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hungalia"
+ },
+ "IQ": {
+ "name": "Ilaki"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IL": {
+ "name": "Islaeli"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "CF": {
+ "name": "Jamuhuli ya Afilika ya Paching’ati"
+ },
+ "CZ": {
+ "name": "Jamuhuli ya Chechi"
+ },
+ "CD": {
+ "name": "Jamuhuli ya Chidemoklasia ya kuKongo"
+ },
+ "DO": {
+ "name": "Jamuhuli ya Dominika"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "KH": {
+ "name": "Kambodia"
+ },
+ "CM": {
+ "name": "Kameluni"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "QA": {
+ "name": "Katali"
+ },
+ "KZ": {
+ "name": "Kazachistani"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "CV": {
+ "name": "Kepuvede"
+ },
+ "KI": {
+ "name": "Kilibati"
+ },
+ "KG": {
+ "name": "Kiligizistani"
+ },
+ "CI": {
+ "name": "Kodivaa"
+ },
+ "HR": {
+ "name": "Kolasia"
+ },
+ "KP": {
+ "name": "Kolea Kasikazini"
+ },
+ "KR": {
+ "name": "Kolea Kusini"
+ },
+ "CO": {
+ "name": "Kolombia"
+ },
+ "KM": {
+ "name": "Komolo"
+ },
+ "CG": {
+ "name": "Kongo"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "Kostalika"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "CY": {
+ "name": "Kuplosi"
+ },
+ "KW": {
+ "name": "Kuwaiti"
+ },
+ "LA": {
+ "name": "Laosi"
+ },
+ "LU": {
+ "name": "Lasembagi"
+ },
+ "LV": {
+ "name": "Lativia"
+ },
+ "LB": {
+ "name": "Lebanoni"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LR": {
+ "name": "Libelia"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "IO": {
+ "name": "Lieneo lyaki Nngalesa Nbahali ya Hindi"
+ },
+ "LI": {
+ "name": "Lishenteni"
+ },
+ "LT": {
+ "name": "Litwania"
+ },
+ "RE": {
+ "name": "Liyunioni"
+ },
+ "RO": {
+ "name": "Lomania"
+ },
+ "RW": {
+ "name": "Lwanda"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "US": {
+ "name": "Malekani"
+ },
+ "MY": {
+ "name": "Malesia"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MQ": {
+ "name": "Malitiniki"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "YT": {
+ "name": "Maole"
+ },
+ "MK": {
+ "name": "Masedonia"
+ },
+ "MX": {
+ "name": "Meksiko"
+ },
+ "FM": {
+ "name": "Mikilonesia"
+ },
+ "EG": {
+ "name": "Misli"
+ },
+ "MV": {
+ "name": "Modivu"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MU": {
+ "name": "Molisi"
+ },
+ "MR": {
+ "name": "Molitania"
+ },
+ "MA": {
+ "name": "Moloko"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "MS": {
+ "name": "Monselati"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MZ": {
+ "name": "Msumbiji"
+ },
+ "MM": {
+ "name": "Myama"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Naulu"
+ },
+ "PS": {
+ "name": "Nchingu wa Magalibi wa Mpanda wa kuGaza wa kuPales"
+ },
+ "NP": {
+ "name": "Nepali"
+ },
+ "NE": {
+ "name": "Nidyeli"
+ },
+ "NG": {
+ "name": "Nidyelia"
+ },
+ "NI": {
+ "name": "Nikalagwa"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "GB": {
+ "name": "Nngalesa"
+ },
+ "NO": {
+ "name": "Norwe"
+ },
+ "NC": {
+ "name": "Nyukaledonia"
+ },
+ "NZ": {
+ "name": "Nyuzilandi"
+ },
+ "OM": {
+ "name": "Omani"
+ },
+ "PK": {
+ "name": "Pakistani"
+ },
+ "PY": {
+ "name": "Palagwai"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua"
+ },
+ "PE": {
+ "name": "Pelu"
+ },
+ "PN": {
+ "name": "Pitikeluni"
+ },
+ "PL": {
+ "name": "Polandi"
+ },
+ "PF": {
+ "name": "Polinesia ya Ufalansa"
+ },
+ "PR": {
+ "name": "Pwetoliko"
+ },
+ "SM": {
+ "name": "Samalino"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa ya Malekani"
+ },
+ "SH": {
+ "name": "Santahelena"
+ },
+ "KN": {
+ "name": "Santakitzi na Nevis"
+ },
+ "LC": {
+ "name": "Santalusia"
+ },
+ "PM": {
+ "name": "Santapieli na Mikeloni"
+ },
+ "VC": {
+ "name": "Santavisenti na Glenadini"
+ },
+ "ST": {
+ "name": "Saotome na Prinsipe"
+ },
+ "SA": {
+ "name": "Saudia"
+ },
+ "SN": {
+ "name": "Senegali"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Shelisheli"
+ },
+ "SL": {
+ "name": "Siela Leoni"
+ },
+ "SY": {
+ "name": "Silia"
+ },
+ "LK": {
+ "name": "Sililanka"
+ },
+ "SG": {
+ "name": "Singapoo"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SD": {
+ "name": "Sudani"
+ },
+ "SR": {
+ "name": "Sulinamu"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "TJ": {
+ "name": "Tadikistani"
+ },
+ "TH": {
+ "name": "Tailandi"
+ },
+ "TW": {
+ "name": "Taiwani"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TT": {
+ "name": "Tilinidad na Tobago"
+ },
+ "TL": {
+ "name": "Timoli ya Mashaliki"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TM": {
+ "name": "Tuluchimenistani"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "IR": {
+ "name": "Uadyemi"
+ },
+ "BE": {
+ "name": "Ubelgidi"
+ },
+ "DE": {
+ "name": "Udyerumani"
+ },
+ "FR": {
+ "name": "Ufalansa"
+ },
+ "FI": {
+ "name": "Ufini"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "GR": {
+ "name": "Ugilichi"
+ },
+ "ET": {
+ "name": "Uhabeshi"
+ },
+ "NL": {
+ "name": "Uholanzi"
+ },
+ "UA": {
+ "name": "Uklaini"
+ },
+ "PT": {
+ "name": "Uleno"
+ },
+ "UY": {
+ "name": "Ulugwai"
+ },
+ "RU": {
+ "name": "Ulusi"
+ },
+ "SZ": {
+ "name": "Uswazi"
+ },
+ "SE": {
+ "name": "Uswidi"
+ },
+ "CH": {
+ "name": "Uswisi"
+ },
+ "TR": {
+ "name": "Utuluchi"
+ },
+ "UZ": {
+ "name": "Uzibechistani"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikani"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietinamu"
+ },
+ "WF": {
+ "name": "Walis na Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yemeni"
+ },
+ "JO": {
+ "name": "Yordani"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/kea.json b/vendor/commerceguys/intl/resources/country/kea.json
new file mode 100644
index 000000000..3c4cb8df1
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/kea.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afeganistãu"
+ },
+ "ZA": {
+ "name": "Áfrika di Sul"
+ },
+ "HT": {
+ "name": "Aití"
+ },
+ "AL": {
+ "name": "Albánia"
+ },
+ "DE": {
+ "name": "Alimanha"
+ },
+ "AD": {
+ "name": "Andora"
+ },
+ "AI": {
+ "name": "Angila"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AQ": {
+ "name": "Antártika"
+ },
+ "AG": {
+ "name": "Antigua i Barbuda"
+ },
+ "SA": {
+ "name": "Arábia Saudita"
+ },
+ "DZ": {
+ "name": "Arjélia"
+ },
+ "AR": {
+ "name": "Arjentina"
+ },
+ "AM": {
+ "name": "Arménia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Austrália"
+ },
+ "AT": {
+ "name": "Áustria"
+ },
+ "AZ": {
+ "name": "Azerbaijãu"
+ },
+ "BS": {
+ "name": "Baamas"
+ },
+ "BD": {
+ "name": "Bangladexi"
+ },
+ "BH": {
+ "name": "Barain"
+ },
+ "BB": {
+ "name": "Barbadus"
+ },
+ "BY": {
+ "name": "Belarus"
+ },
+ "BZ": {
+ "name": "Belizi"
+ },
+ "BE": {
+ "name": "Béljika"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermudas"
+ },
+ "BO": {
+ "name": "Bolívia"
+ },
+ "BA": {
+ "name": "Bósnia i Erzegovina"
+ },
+ "BW": {
+ "name": "Botsuana"
+ },
+ "BR": {
+ "name": "Brazil"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgária"
+ },
+ "BF": {
+ "name": "Burkina Fasu"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Butãu"
+ },
+ "DG": {
+ "name": "Diegu Garsia"
+ },
+ "DK": {
+ "name": "Dinamarka"
+ },
+ "DJ": {
+ "name": "Djibuti"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "EG": {
+ "name": "Ejitu"
+ },
+ "EC": {
+ "name": "Ekuador"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "AE": {
+ "name": "Emiradus Árabi Unidu"
+ },
+ "ET": {
+ "name": "Etiópia"
+ },
+ "FJ": {
+ "name": "Fidji"
+ },
+ "PH": {
+ "name": "Filipinas"
+ },
+ "FI": {
+ "name": "Finlándia"
+ },
+ "FR": {
+ "name": "Fransa"
+ },
+ "GA": {
+ "name": "Gabãu"
+ },
+ "GM": {
+ "name": "Gámbia"
+ },
+ "GH": {
+ "name": "Gana"
+ },
+ "GG": {
+ "name": "Gernzi"
+ },
+ "GY": {
+ "name": "Giana"
+ },
+ "GF": {
+ "name": "Giana Franseza"
+ },
+ "GN": {
+ "name": "Gine"
+ },
+ "GQ": {
+ "name": "Gine Ekuatorial"
+ },
+ "GW": {
+ "name": "Gine-Bisau"
+ },
+ "GD": {
+ "name": "Granada"
+ },
+ "GR": {
+ "name": "Grésia"
+ },
+ "GL": {
+ "name": "Gronelándia"
+ },
+ "GP": {
+ "name": "Guadalupi"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatimala"
+ },
+ "YE": {
+ "name": "Iémen"
+ },
+ "AC": {
+ "name": "Ilha di Asensãu"
+ },
+ "IM": {
+ "name": "Ilha di Man"
+ },
+ "CX": {
+ "name": "Ilha di Natal"
+ },
+ "AX": {
+ "name": "Ilhas Åland"
+ },
+ "IO": {
+ "name": "Ilhas Británikas di Índiku"
+ },
+ "FO": {
+ "name": "Ilhas Faroe"
+ },
+ "GS": {
+ "name": "Ilhas Jeórjia di Sul i Sanduixi di Sul"
+ },
+ "KY": {
+ "name": "Ilhas Kaimãu"
+ },
+ "CC": {
+ "name": "Ilhas Kokus (Keeling)"
+ },
+ "CK": {
+ "name": "Ilhas Kuk"
+ },
+ "FK": {
+ "name": "Ilhas Malvinas"
+ },
+ "MP": {
+ "name": "Ilhas Marianas di Norti"
+ },
+ "MH": {
+ "name": "Ilhas Marxal"
+ },
+ "UM": {
+ "name": "Ilhas Minoris Distantis de Stadus Unidus"
+ },
+ "NF": {
+ "name": "Ilhas Norfolk"
+ },
+ "SB": {
+ "name": "Ilhas Salumãu"
+ },
+ "TC": {
+ "name": "Ilhas Turkas i Kaikus"
+ },
+ "VG": {
+ "name": "Ilhas Virjens Británikas"
+ },
+ "VI": {
+ "name": "Ilhas Virjens Merkanas"
+ },
+ "IN": {
+ "name": "Índia"
+ },
+ "ID": {
+ "name": "Indonézia"
+ },
+ "IQ": {
+ "name": "Iraki"
+ },
+ "IR": {
+ "name": "Irãu"
+ },
+ "ER": {
+ "name": "Iritreia"
+ },
+ "IE": {
+ "name": "Irlanda"
+ },
+ "IS": {
+ "name": "Islándia"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Itália"
+ },
+ "JM": {
+ "name": "Jamaika"
+ },
+ "JP": {
+ "name": "Japãu"
+ },
+ "JE": {
+ "name": "Jersi"
+ },
+ "GI": {
+ "name": "Jibraltar"
+ },
+ "GE": {
+ "name": "Jiórjia"
+ },
+ "JO": {
+ "name": "Jordánia"
+ },
+ "CV": {
+ "name": "Kabu Verdi"
+ },
+ "CM": {
+ "name": "Kamarõis"
+ },
+ "KH": {
+ "name": "Kambodja"
+ },
+ "KM": {
+ "name": "Kamoris"
+ },
+ "CA": {
+ "name": "Kanadá"
+ },
+ "IC": {
+ "name": "Kanárias"
+ },
+ "BQ": {
+ "name": "Karaibas Olandezas"
+ },
+ "QA": {
+ "name": "Katar"
+ },
+ "KZ": {
+ "name": "Kazakistãu"
+ },
+ "KE": {
+ "name": "Kénia"
+ },
+ "KG": {
+ "name": "Kirgistãu"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "CO": {
+ "name": "Kolômbia"
+ },
+ "CG": {
+ "name": "Kongu - Brazavili"
+ },
+ "CD": {
+ "name": "Kongu - Kinxasa"
+ },
+ "KP": {
+ "name": "Koreia di Norti"
+ },
+ "KR": {
+ "name": "Koreia di Sul"
+ },
+ "CI": {
+ "name": "Kosta di Marfin"
+ },
+ "CR": {
+ "name": "Kosta Rika"
+ },
+ "XK": {
+ "name": "Kozovu"
+ },
+ "HR": {
+ "name": "Kroásia"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "KW": {
+ "name": "Kueiti"
+ },
+ "CW": {
+ "name": "Kurasau"
+ },
+ "LA": {
+ "name": "Laus"
+ },
+ "LV": {
+ "name": "Letónia"
+ },
+ "LS": {
+ "name": "Lezotu"
+ },
+ "LB": {
+ "name": "Líbanu"
+ },
+ "LR": {
+ "name": "Libéria"
+ },
+ "LY": {
+ "name": "Líbia"
+ },
+ "LT": {
+ "name": "Lituánia"
+ },
+ "LI": {
+ "name": "Lixenstain"
+ },
+ "LU": {
+ "name": "Luxemburgu"
+ },
+ "MG": {
+ "name": "Madagaskar"
+ },
+ "YT": {
+ "name": "Maiote"
+ },
+ "MW": {
+ "name": "Malaui"
+ },
+ "MY": {
+ "name": "Malázia"
+ },
+ "MV": {
+ "name": "Maldivas"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marokus"
+ },
+ "MQ": {
+ "name": "Martinika"
+ },
+ "MK": {
+ "name": "Masidónia"
+ },
+ "MU": {
+ "name": "Maurísia"
+ },
+ "MR": {
+ "name": "Mauritánia"
+ },
+ "MX": {
+ "name": "Méxiku"
+ },
+ "MM": {
+ "name": "Mianmar (Birmánia)"
+ },
+ "FM": {
+ "name": "Mikronézia"
+ },
+ "MD": {
+ "name": "Moldávia"
+ },
+ "MC": {
+ "name": "Mónaku"
+ },
+ "MN": {
+ "name": "Mongólia"
+ },
+ "MS": {
+ "name": "Monserat"
+ },
+ "ME": {
+ "name": "Montenegru"
+ },
+ "MZ": {
+ "name": "Musambiki"
+ },
+ "NA": {
+ "name": "Namíbia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NE": {
+ "name": "Nijer"
+ },
+ "NG": {
+ "name": "Nijéria"
+ },
+ "NI": {
+ "name": "Nikarágua"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Noruega"
+ },
+ "NC": {
+ "name": "Nova Kalidónia"
+ },
+ "NZ": {
+ "name": "Nova Zilándia"
+ },
+ "NL": {
+ "name": "Olanda"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "HN": {
+ "name": "Onduras"
+ },
+ "PK": {
+ "name": "Pakistãu"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palistina"
+ },
+ "PA": {
+ "name": "Panamá"
+ },
+ "PG": {
+ "name": "Papua-Nova Gine"
+ },
+ "PY": {
+ "name": "Paraguai"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pirkairn"
+ },
+ "PF": {
+ "name": "Polinézia Franseza"
+ },
+ "PR": {
+ "name": "Portu Riku"
+ },
+ "PL": {
+ "name": "Pulónia"
+ },
+ "PT": {
+ "name": "Purtugal"
+ },
+ "GB": {
+ "name": "Reinu Unidu"
+ },
+ "HK": {
+ "name": "Rejiãu Administrativu Spesial di Hong Kong"
+ },
+ "MO": {
+ "name": "Rejiãu Administrativu Spesial di Makau"
+ },
+ "DO": {
+ "name": "Repúblika Dominikana"
+ },
+ "CF": {
+ "name": "Republika Sentru-Afrikanu"
+ },
+ "CZ": {
+ "name": "Repúblika Txeka"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RO": {
+ "name": "Ruménia"
+ },
+ "RE": {
+ "name": "Runiãu"
+ },
+ "RU": {
+ "name": "Rúsia"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa Merkanu"
+ },
+ "SM": {
+ "name": "San Marinu"
+ },
+ "PM": {
+ "name": "San Piere i Mikelon"
+ },
+ "SH": {
+ "name": "Santa Ilena"
+ },
+ "LC": {
+ "name": "Santa Lúsia"
+ },
+ "EH": {
+ "name": "Sara Osidental"
+ },
+ "BL": {
+ "name": "Sãu Bartolomeu"
+ },
+ "VC": {
+ "name": "Sãu Bisenti i Granadinas"
+ },
+ "KN": {
+ "name": "Sãu Kristovãu i Nevis"
+ },
+ "MF": {
+ "name": "Sãu Martinhu di Fransa"
+ },
+ "SX": {
+ "name": "Sãu Martinhu di Olanda"
+ },
+ "ST": {
+ "name": "Sãu Tume i Prínsipi"
+ },
+ "SC": {
+ "name": "Seixelis"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "SL": {
+ "name": "Sera Lioa"
+ },
+ "RS": {
+ "name": "Sérvia"
+ },
+ "EA": {
+ "name": "Seuta i Melilha"
+ },
+ "SG": {
+ "name": "Singapura"
+ },
+ "SY": {
+ "name": "Síria"
+ },
+ "SK": {
+ "name": "Slovákia"
+ },
+ "SI": {
+ "name": "Slovénia"
+ },
+ "ES": {
+ "name": "Spanha"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "US": {
+ "name": "Stadus Unidos di Merka"
+ },
+ "EE": {
+ "name": "Stónia"
+ },
+ "SZ": {
+ "name": "Suazilándia"
+ },
+ "SD": {
+ "name": "Sudãu"
+ },
+ "SS": {
+ "name": "Sudãu di Sul"
+ },
+ "SE": {
+ "name": "Suésia"
+ },
+ "CH": {
+ "name": "Suisa"
+ },
+ "SO": {
+ "name": "Sumália"
+ },
+ "SR": {
+ "name": "Surinami"
+ },
+ "SJ": {
+ "name": "Svalbard i Jan Maien"
+ },
+ "TJ": {
+ "name": "Tadjikistãu"
+ },
+ "TH": {
+ "name": "Tailándia"
+ },
+ "TW": {
+ "name": "Taiuan"
+ },
+ "TZ": {
+ "name": "Tanzánia"
+ },
+ "TF": {
+ "name": "Terras Franses di Sul"
+ },
+ "TL": {
+ "name": "Timor Lesti"
+ },
+ "TG": {
+ "name": "Togu"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad i Tobagu"
+ },
+ "TA": {
+ "name": "Tristan da Kunha"
+ },
+ "TN": {
+ "name": "Tunízia"
+ },
+ "TR": {
+ "name": "Turkia"
+ },
+ "TM": {
+ "name": "Turkumenistãu"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "TD": {
+ "name": "Txadi"
+ },
+ "WF": {
+ "name": "Ualis i Futuna"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukránia"
+ },
+ "HU": {
+ "name": "Ungria"
+ },
+ "UY": {
+ "name": "Uruguai"
+ },
+ "UZ": {
+ "name": "Uzbekistãu"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikanu"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "VE": {
+ "name": "Vinizuela"
+ },
+ "CL": {
+ "name": "Xili"
+ },
+ "CN": {
+ "name": "Xina"
+ },
+ "CY": {
+ "name": "Xipri"
+ },
+ "ZM": {
+ "name": "Zámbia"
+ },
+ "ZW": {
+ "name": "Zimbábui"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/khq.json b/vendor/commerceguys/intl/resources/country/khq.json
new file mode 100644
index 000000000..c6d377bc9
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/khq.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afgaanistan"
+ },
+ "AX": {
+ "name": "Åland Islands"
+ },
+ "AL": {
+ "name": "Albaani"
+ },
+ "GB": {
+ "name": "Albaasalaama Marganta"
+ },
+ "DE": {
+ "name": "Almaaɲe"
+ },
+ "DZ": {
+ "name": "Alžeeri"
+ },
+ "VI": {
+ "name": "Ameerik Virgin Gungey"
+ },
+ "US": {
+ "name": "Ameriki Laabu Margantey"
+ },
+ "AS": {
+ "name": "Ameriki Samoa"
+ },
+ "AD": {
+ "name": "Andoora"
+ },
+ "AI": {
+ "name": "Angiiya"
+ },
+ "AO": {
+ "name": "Angoola"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigua nda Barbuuda"
+ },
+ "AR": {
+ "name": "Argentine"
+ },
+ "AM": {
+ "name": "Armeeni"
+ },
+ "AW": {
+ "name": "Aruuba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "IS": {
+ "name": "Ayceland"
+ },
+ "AZ": {
+ "name": "Azerbaayijaŋ"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahareen"
+ },
+ "BD": {
+ "name": "Bangladeši"
+ },
+ "BB": {
+ "name": "Barbaados"
+ },
+ "BE": {
+ "name": "Belgiiki"
+ },
+ "BZ": {
+ "name": "Beliizi"
+ },
+ "BJ": {
+ "name": "Beniŋ"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BY": {
+ "name": "Biloriši"
+ },
+ "BO": {
+ "name": "Boolivi"
+ },
+ "BA": {
+ "name": "Bosni nda Herzegovine"
+ },
+ "BW": {
+ "name": "Botswaana"
+ },
+ "BR": {
+ "name": "Breezil"
+ },
+ "IO": {
+ "name": "Britiši Indu teekoo laama"
+ },
+ "VG": {
+ "name": "Britiši Virgin gungey"
+ },
+ "BN": {
+ "name": "Bruunee"
+ },
+ "BG": {
+ "name": "Bulgaari"
+ },
+ "BF": {
+ "name": "Burkina faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Buutaŋ"
+ },
+ "TD": {
+ "name": "Caadu"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "CZ": {
+ "name": "Cek labo"
+ },
+ "CF": {
+ "name": "Centraafriki koyra"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Danemark"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Doominiki"
+ },
+ "DO": {
+ "name": "Doominiki laboo"
+ },
+ "ET": {
+ "name": "Ecioopi"
+ },
+ "EC": {
+ "name": "Ekwateer"
+ },
+ "ER": {
+ "name": "Eritree"
+ },
+ "ES": {
+ "name": "Espaaɲe"
+ },
+ "EE": {
+ "name": "Estooni"
+ },
+ "FR": {
+ "name": "Faransi"
+ },
+ "GF": {
+ "name": "Faransi Guyaan"
+ },
+ "PF": {
+ "name": "Faransi Polineezi"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filipine"
+ },
+ "FI": {
+ "name": "Finlandu"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gaabon"
+ },
+ "GH": {
+ "name": "Gaana"
+ },
+ "GM": {
+ "name": "Gambi"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GN": {
+ "name": "Gine"
+ },
+ "GW": {
+ "name": "Gine-Bisso"
+ },
+ "GQ": {
+ "name": "Ginee Ekwatorial"
+ },
+ "GE": {
+ "name": "Gorgi"
+ },
+ "GR": {
+ "name": "Greece"
+ },
+ "GD": {
+ "name": "Grenaada"
+ },
+ "GL": {
+ "name": "Grinland"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Guyaane"
+ },
+ "GP": {
+ "name": "Gwadeluup"
+ },
+ "GT": {
+ "name": "Gwatemaala"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "ZA": {
+ "name": "Hawsa Afriki Laboo"
+ },
+ "NL": {
+ "name": "Hollandu"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hungaari"
+ },
+ "ID": {
+ "name": "Indoneezi"
+ },
+ "IN": {
+ "name": "Indu laboo"
+ },
+ "IQ": {
+ "name": "Iraak"
+ },
+ "IR": {
+ "name": "Iraan"
+ },
+ "RU": {
+ "name": "Iriši laboo"
+ },
+ "IE": {
+ "name": "Irlandu"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israyel"
+ },
+ "IT": {
+ "name": "Itaali"
+ },
+ "JP": {
+ "name": "Jaapoŋ"
+ },
+ "JM": {
+ "name": "Jamaayik"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "DJ": {
+ "name": "Jibuuti"
+ },
+ "NC": {
+ "name": "Kaaledooni Taagaa"
+ },
+ "KZ": {
+ "name": "Kaazakstan"
+ },
+ "FK": {
+ "name": "Kalkan gungey"
+ },
+ "KH": {
+ "name": "Kamboogi"
+ },
+ "CM": {
+ "name": "Kameruun"
+ },
+ "CA": {
+ "name": "Kanaada"
+ },
+ "CV": {
+ "name": "Kapuver gungey"
+ },
+ "QA": {
+ "name": "Kataar"
+ },
+ "KY": {
+ "name": "Kayman gungey"
+ },
+ "KE": {
+ "name": "Keeniya"
+ },
+ "KI": {
+ "name": "Kiribaati"
+ },
+ "CO": {
+ "name": "Kolombi"
+ },
+ "KM": {
+ "name": "Komoor"
+ },
+ "CG": {
+ "name": "Kongoo"
+ },
+ "CD": {
+ "name": "Kongoo demookaratiki laboo"
+ },
+ "KP": {
+ "name": "Kooree, Gurma"
+ },
+ "KR": {
+ "name": "Kooree, Hawsa"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "Kosta rika"
+ },
+ "HR": {
+ "name": "Krwaasi"
+ },
+ "CI": {
+ "name": "Kudwar"
+ },
+ "CU": {
+ "name": "Kuuba"
+ },
+ "CK": {
+ "name": "Kuuk gungey"
+ },
+ "KW": {
+ "name": "Kuweet"
+ },
+ "KG": {
+ "name": "Kyrgyzstan"
+ },
+ "AE": {
+ "name": "Laaraw Imaarawey Margantey"
+ },
+ "LA": {
+ "name": "Laawos"
+ },
+ "LS": {
+ "name": "Leesoto"
+ },
+ "LV": {
+ "name": "Letooni"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LY": {
+ "name": "Liibi"
+ },
+ "LT": {
+ "name": "Lituaani"
+ },
+ "LB": {
+ "name": "Lubnaan"
+ },
+ "LU": {
+ "name": "Luxembourg"
+ },
+ "MK": {
+ "name": "Maacedooni"
+ },
+ "ML": {
+ "name": "Maali"
+ },
+ "MA": {
+ "name": "Maarok"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MW": {
+ "name": "Malaawi"
+ },
+ "MV": {
+ "name": "Maldiivu"
+ },
+ "MY": {
+ "name": "Maleezi"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MP": {
+ "name": "Mariana Gurma Gungey"
+ },
+ "MH": {
+ "name": "Maršal gungey"
+ },
+ "MQ": {
+ "name": "Martiniiki"
+ },
+ "MM": {
+ "name": "Maynamar"
+ },
+ "YT": {
+ "name": "Mayooti"
+ },
+ "MX": {
+ "name": "Mexiki"
+ },
+ "FM": {
+ "name": "Mikronezi"
+ },
+ "EG": {
+ "name": "Misra"
+ },
+ "MD": {
+ "name": "Moldovi"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MN": {
+ "name": "Mongooli"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MU": {
+ "name": "Mooris gungey"
+ },
+ "MR": {
+ "name": "Mooritaani"
+ },
+ "MZ": {
+ "name": "Mozambik"
+ },
+ "NG": {
+ "name": "Naajiriia"
+ },
+ "NA": {
+ "name": "Naamibi"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Neepal"
+ },
+ "NI": {
+ "name": "Nikaragwa"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NE": {
+ "name": "Nižer"
+ },
+ "NF": {
+ "name": "Norfolk Gungoo"
+ },
+ "NO": {
+ "name": "Norveej"
+ },
+ "OM": {
+ "name": "Omaan"
+ },
+ "AU": {
+ "name": "Ostraali"
+ },
+ "AT": {
+ "name": "Otriši"
+ },
+ "PK": {
+ "name": "Paakistan"
+ },
+ "PS": {
+ "name": "Palestine Dangay nda Gaaza"
+ },
+ "PW": {
+ "name": "Palu"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua Ginee Taaga"
+ },
+ "PY": {
+ "name": "Paraguwey"
+ },
+ "PE": {
+ "name": "Peeru"
+ },
+ "PN": {
+ "name": "Pitikarin"
+ },
+ "PL": {
+ "name": "Poloɲe"
+ },
+ "PR": {
+ "name": "Porto Riko"
+ },
+ "PT": {
+ "name": "Portugaal"
+ },
+ "RE": {
+ "name": "Reenioŋ"
+ },
+ "RO": {
+ "name": "Rumaani"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "SV": {
+ "name": "Salvador laboo"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "Sao Tome nda Prinsipe"
+ },
+ "SA": {
+ "name": "Saudiya"
+ },
+ "SL": {
+ "name": "Seera Leon"
+ },
+ "SC": {
+ "name": "Seešel"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "SH": {
+ "name": "Seŋ Helena"
+ },
+ "KN": {
+ "name": "Seŋ Kitts nda Nevis"
+ },
+ "LC": {
+ "name": "Seŋ Lussia"
+ },
+ "PM": {
+ "name": "Seŋ Piyer nda Mikelon"
+ },
+ "VC": {
+ "name": "Seŋvinsaŋ nda Grenadine"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "CL": {
+ "name": "Šiili"
+ },
+ "CN": {
+ "name": "Šiin"
+ },
+ "CY": {
+ "name": "Šiipur"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SK": {
+ "name": "Slovaaki"
+ },
+ "SI": {
+ "name": "Sloveeni"
+ },
+ "SB": {
+ "name": "Solomon Gungey"
+ },
+ "SO": {
+ "name": "Somaali"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "LK": {
+ "name": "Srilanka"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SR": {
+ "name": "Surinaam"
+ },
+ "SD": {
+ "name": "Suudaŋ"
+ },
+ "SY": {
+ "name": "Suuria"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swaziland"
+ },
+ "SE": {
+ "name": "Sweede"
+ },
+ "CH": {
+ "name": "Swisu"
+ },
+ "TH": {
+ "name": "Taayiland"
+ },
+ "TW": {
+ "name": "Taayiwan"
+ },
+ "TJ": {
+ "name": "Taažikistan"
+ },
+ "TZ": {
+ "name": "Tanzaani"
+ },
+ "TL": {
+ "name": "Timoor hawsa"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad nda Tobaago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunizi"
+ },
+ "TC": {
+ "name": "Turk nda Kayikos Gungey"
+ },
+ "TR": {
+ "name": "Turki"
+ },
+ "TM": {
+ "name": "Turkmenistaŋ"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukreen"
+ },
+ "JO": {
+ "name": "Urdun"
+ },
+ "UY": {
+ "name": "Uruguwey"
+ },
+ "UZ": {
+ "name": "Uzbeekistan"
+ },
+ "VA": {
+ "name": "Vaatikan Laama"
+ },
+ "VU": {
+ "name": "Vanautu"
+ },
+ "VE": {
+ "name": "Veneezuyeela"
+ },
+ "VN": {
+ "name": "Vietnaam"
+ },
+ "WF": {
+ "name": "Wallis nda Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yaman"
+ },
+ "ZM": {
+ "name": "Zambi"
+ },
+ "NZ": {
+ "name": "Zeelandu Taaga"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/ki.json b/vendor/commerceguys/intl/resources/country/ki.json
new file mode 100644
index 000000000..1119caa95
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/ki.json
@@ -0,0 +1,761 @@
+{
+ "ZA": {
+ "name": "Afrika Kusini"
+ },
+ "AF": {
+ "name": "Afuganistani"
+ },
+ "IS": {
+ "name": "Aislandi"
+ },
+ "AR": {
+ "name": "Ajentina"
+ },
+ "AX": {
+ "name": "Åland Islands"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Aljeria"
+ },
+ "US": {
+ "name": "Amerika"
+ },
+ "AD": {
+ "name": "Andora"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigua na Barbuda"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "IE": {
+ "name": "Ayalandi"
+ },
+ "AZ": {
+ "name": "Azabajani"
+ },
+ "BB": {
+ "name": "Babadosi"
+ },
+ "BS": {
+ "name": "Bahama"
+ },
+ "BH": {
+ "name": "Bahareni"
+ },
+ "BD": {
+ "name": "Bangladeshi"
+ },
+ "BY": {
+ "name": "Belarusi"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benini"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia na Hezegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brazili"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BF": {
+ "name": "Bukinafaso"
+ },
+ "MG": {
+ "name": "Bukini"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BT": {
+ "name": "Butani"
+ },
+ "CN": {
+ "name": "Caina"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "TD": {
+ "name": "Chadi"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Denmaki"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "EC": {
+ "name": "Ekwado"
+ },
+ "SV": {
+ "name": "Elsavado"
+ },
+ "IO": {
+ "name": "Eneo la Uingereza katika Bahari Hindi"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "AE": {
+ "name": "Falme za Kiarabu"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filipino"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gaboni"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GN": {
+ "name": "Gine"
+ },
+ "GW": {
+ "name": "Ginebisau"
+ },
+ "GQ": {
+ "name": "Ginekweta"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GL": {
+ "name": "Grinlandi"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "GP": {
+ "name": "Gwadelupe"
+ },
+ "GU": {
+ "name": "Gwam"
+ },
+ "GT": {
+ "name": "Gwatemala"
+ },
+ "GF": {
+ "name": "Gwiyana ya Ufaransa"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "ES": {
+ "name": "Hispania"
+ },
+ "HN": {
+ "name": "Hondurasi"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hungaria"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IQ": {
+ "name": "Iraki"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israeli"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JM": {
+ "name": "Jamaika"
+ },
+ "CF": {
+ "name": "Jamhuri ya Afrika ya Kati"
+ },
+ "CZ": {
+ "name": "Jamhuri ya Cheki"
+ },
+ "DO": {
+ "name": "Jamhuri ya Dominika"
+ },
+ "CD": {
+ "name": "Jamhuri ya Kidemokrasia ya Kongo"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "GI": {
+ "name": "Jibralta"
+ },
+ "DJ": {
+ "name": "Jibuti"
+ },
+ "GE": {
+ "name": "Jojia"
+ },
+ "KH": {
+ "name": "Kambodia"
+ },
+ "CM": {
+ "name": "Kameruni"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "QA": {
+ "name": "Katari"
+ },
+ "KZ": {
+ "name": "Kazakistani"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "CV": {
+ "name": "Kepuvede"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "KG": {
+ "name": "Kirigizistani"
+ },
+ "NF": {
+ "name": "Kisiwa cha Norfok"
+ },
+ "CU": {
+ "name": "Kiumba"
+ },
+ "CI": {
+ "name": "Kodivaa"
+ },
+ "CO": {
+ "name": "Kolombia"
+ },
+ "KM": {
+ "name": "Komoro"
+ },
+ "CG": {
+ "name": "Kongo"
+ },
+ "HR": {
+ "name": "Korasia"
+ },
+ "KP": {
+ "name": "Korea Kaskazini"
+ },
+ "KR": {
+ "name": "Korea Kusini"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "Kostarika"
+ },
+ "CY": {
+ "name": "Kuprosi"
+ },
+ "KW": {
+ "name": "Kuwaiti"
+ },
+ "LA": {
+ "name": "Laosi"
+ },
+ "LU": {
+ "name": "Lasembagi"
+ },
+ "LV": {
+ "name": "Lativia"
+ },
+ "LB": {
+ "name": "Lebanoni"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Lishenteni"
+ },
+ "LT": {
+ "name": "Litwania"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malesia"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MQ": {
+ "name": "Martiniki"
+ },
+ "MK": {
+ "name": "Masedonia"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "BI": {
+ "name": "Mburundi"
+ },
+ "MX": {
+ "name": "Meksiko"
+ },
+ "FM": {
+ "name": "Mikronesia"
+ },
+ "EG": {
+ "name": "Misri"
+ },
+ "MV": {
+ "name": "Modivu"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrati"
+ },
+ "MU": {
+ "name": "Morisi"
+ },
+ "MR": {
+ "name": "Moritania"
+ },
+ "MA": {
+ "name": "Moroko"
+ },
+ "MZ": {
+ "name": "Msumbiji"
+ },
+ "MM": {
+ "name": "Myama"
+ },
+ "NG": {
+ "name": "Nainjeria"
+ },
+ "NA": {
+ "name": "Namimbia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepali"
+ },
+ "GH": {
+ "name": "Ngana"
+ },
+ "GB": {
+ "name": "Ngeretha"
+ },
+ "NE": {
+ "name": "Nijeri"
+ },
+ "NI": {
+ "name": "Nikaragwa"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "JP": {
+ "name": "Njabani"
+ },
+ "DE": {
+ "name": "Njeremani"
+ },
+ "JO": {
+ "name": "Njorondani"
+ },
+ "NO": {
+ "name": "Norwe"
+ },
+ "NC": {
+ "name": "Nyukaledonia"
+ },
+ "NZ": {
+ "name": "Nyuzilandi"
+ },
+ "OM": {
+ "name": "Omani"
+ },
+ "PK": {
+ "name": "Pakistani"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua"
+ },
+ "PY": {
+ "name": "Paragwai"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitkairni"
+ },
+ "PL": {
+ "name": "Polandi"
+ },
+ "PF": {
+ "name": "Polinesia ya Ufaransa"
+ },
+ "PR": {
+ "name": "Pwetoriko"
+ },
+ "RE": {
+ "name": "Riyunioni"
+ },
+ "RO": {
+ "name": "Romania"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "SM": {
+ "name": "Samarino"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa ya Marekani"
+ },
+ "SH": {
+ "name": "Santahelena"
+ },
+ "KN": {
+ "name": "Santakitzi na Nevis"
+ },
+ "LC": {
+ "name": "Santalusia"
+ },
+ "PM": {
+ "name": "Santapieri na Mikeloni"
+ },
+ "VC": {
+ "name": "Santavisenti na Grenadini"
+ },
+ "ST": {
+ "name": "Sao Tome na Principe"
+ },
+ "SA": {
+ "name": "Saudi"
+ },
+ "SN": {
+ "name": "Senegali"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Shelisheli"
+ },
+ "SL": {
+ "name": "Siera Leoni"
+ },
+ "SG": {
+ "name": "Singapoo"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Siria"
+ },
+ "LK": {
+ "name": "Sirilanka"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SO": {
+ "name": "Somaria"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SD": {
+ "name": "Sudani"
+ },
+ "SR": {
+ "name": "Surinamu"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailandi"
+ },
+ "TW": {
+ "name": "Taiwani"
+ },
+ "TJ": {
+ "name": "Tajikistani"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TL": {
+ "name": "Timori ya Mashariki"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad na Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TM": {
+ "name": "Turukimenistani"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "IR": {
+ "name": "Uajemi"
+ },
+ "FR": {
+ "name": "Ubaranja"
+ },
+ "BE": {
+ "name": "Ubelgiji"
+ },
+ "FI": {
+ "name": "Ufini"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "GR": {
+ "name": "Ugiriki"
+ },
+ "ET": {
+ "name": "Uhabeshi"
+ },
+ "NL": {
+ "name": "Uholanzi"
+ },
+ "PS": {
+ "name": "Ukingo wa Magharibi na Ukanda wa Gaza wa Palestina"
+ },
+ "UA": {
+ "name": "Ukraini"
+ },
+ "PT": {
+ "name": "Ureno"
+ },
+ "UY": {
+ "name": "Urugwai"
+ },
+ "RU": {
+ "name": "Urusi"
+ },
+ "SZ": {
+ "name": "Uswazi"
+ },
+ "SE": {
+ "name": "Uswidi"
+ },
+ "CH": {
+ "name": "Uswisi"
+ },
+ "TR": {
+ "name": "Uturuki"
+ },
+ "UZ": {
+ "name": "Uzibekistani"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikani"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietinamu"
+ },
+ "CK": {
+ "name": "Visiwa vya Cook"
+ },
+ "FK": {
+ "name": "Visiwa vya Falkland"
+ },
+ "KY": {
+ "name": "Visiwa vya Kayman"
+ },
+ "MP": {
+ "name": "Visiwa vya Mariana vya Kaskazini"
+ },
+ "MH": {
+ "name": "Visiwa vya Marshal"
+ },
+ "SB": {
+ "name": "Visiwa vya Solomon"
+ },
+ "TC": {
+ "name": "Visiwa vya Turki na Kaiko"
+ },
+ "VI": {
+ "name": "Visiwa vya Virgin vya Marekani"
+ },
+ "VG": {
+ "name": "Visiwa vya Virgin vya Uingereza"
+ },
+ "WF": {
+ "name": "Walis na Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yemeni"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/kk.json b/vendor/commerceguys/intl/resources/country/kk.json
new file mode 100644
index 000000000..5357a4a9c
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/kk.json
@@ -0,0 +1,761 @@
+{
+ "AU": {
+ "name": "Австралия"
+ },
+ "AT": {
+ "name": "Австрия"
+ },
+ "VI": {
+ "name": "АҚШ-тың Виргин аралдары"
+ },
+ "UM": {
+ "name": "АҚШ-тың сыртқы кіші аралдары"
+ },
+ "AX": {
+ "name": "Аланд аралдары"
+ },
+ "AL": {
+ "name": "Албания"
+ },
+ "DZ": {
+ "name": "Алжир"
+ },
+ "US": {
+ "name": "Америка Құрама Штаттары"
+ },
+ "AS": {
+ "name": "Америкалық Самоа"
+ },
+ "AI": {
+ "name": "Ангилья"
+ },
+ "AO": {
+ "name": "Ангола"
+ },
+ "AD": {
+ "name": "Андорра"
+ },
+ "AQ": {
+ "name": "Антарктида"
+ },
+ "AG": {
+ "name": "Антигуа және Барбуда"
+ },
+ "AR": {
+ "name": "Аргентина"
+ },
+ "AM": {
+ "name": "Армения"
+ },
+ "AW": {
+ "name": "Аруба"
+ },
+ "AF": {
+ "name": "Ауғанстан"
+ },
+ "AZ": {
+ "name": "Әзірбайжан"
+ },
+ "AC": {
+ "name": "Әскенжін аралы"
+ },
+ "SH": {
+ "name": "Әулие Елена аралы"
+ },
+ "BS": {
+ "name": "Багам аралдары"
+ },
+ "BD": {
+ "name": "Бангладеш"
+ },
+ "BB": {
+ "name": "Барбадос"
+ },
+ "EH": {
+ "name": "Батыс Сахара"
+ },
+ "BH": {
+ "name": "Бахрейн"
+ },
+ "BY": {
+ "name": "Беларусь"
+ },
+ "BZ": {
+ "name": "Белиз"
+ },
+ "BE": {
+ "name": "Бельгия"
+ },
+ "BJ": {
+ "name": "Бенин"
+ },
+ "BM": {
+ "name": "Бермуд аралдары"
+ },
+ "BG": {
+ "name": "Болгария"
+ },
+ "BO": {
+ "name": "Боливия"
+ },
+ "BA": {
+ "name": "Босния және Герцеговина"
+ },
+ "BW": {
+ "name": "Ботсвана"
+ },
+ "BR": {
+ "name": "Бразилия"
+ },
+ "VG": {
+ "name": "Британдық Виргин аралдары"
+ },
+ "BN": {
+ "name": "Бруней"
+ },
+ "BF": {
+ "name": "Буркина-Фасо"
+ },
+ "BI": {
+ "name": "Бурунди"
+ },
+ "BT": {
+ "name": "Бутан"
+ },
+ "AE": {
+ "name": "Біріккен Араб Әмірліктері"
+ },
+ "VU": {
+ "name": "Вануату"
+ },
+ "VA": {
+ "name": "Ватикан"
+ },
+ "HU": {
+ "name": "Венгрия"
+ },
+ "VE": {
+ "name": "Венесуэла"
+ },
+ "VN": {
+ "name": "Вьетнам"
+ },
+ "GA": {
+ "name": "Габон"
+ },
+ "HT": {
+ "name": "Гаити"
+ },
+ "GY": {
+ "name": "Гайана"
+ },
+ "GM": {
+ "name": "Гамбия"
+ },
+ "GH": {
+ "name": "Гана"
+ },
+ "GP": {
+ "name": "Гваделупа"
+ },
+ "GT": {
+ "name": "Гватемала"
+ },
+ "GN": {
+ "name": "Гвинея"
+ },
+ "GW": {
+ "name": "Гвинея-Бисау"
+ },
+ "DE": {
+ "name": "Германия"
+ },
+ "GG": {
+ "name": "Гернси"
+ },
+ "GI": {
+ "name": "Гибралтар"
+ },
+ "HN": {
+ "name": "Гондурас"
+ },
+ "GR": {
+ "name": "Грекия"
+ },
+ "GD": {
+ "name": "Гренада"
+ },
+ "GL": {
+ "name": "Гренландия"
+ },
+ "GE": {
+ "name": "Грузия"
+ },
+ "GU": {
+ "name": "Гуам"
+ },
+ "DK": {
+ "name": "Дания"
+ },
+ "JE": {
+ "name": "Джерси"
+ },
+ "DJ": {
+ "name": "Джибути"
+ },
+ "DG": {
+ "name": "Диего-Гарсия"
+ },
+ "DM": {
+ "name": "Доминика"
+ },
+ "DO": {
+ "name": "Доминикан Республикасы"
+ },
+ "NZ": {
+ "name": "Жаңа Зеландия"
+ },
+ "NC": {
+ "name": "Жаңа Каледония"
+ },
+ "JP": {
+ "name": "Жапония"
+ },
+ "ZM": {
+ "name": "Замбия"
+ },
+ "ZW": {
+ "name": "Зимбабве"
+ },
+ "IL": {
+ "name": "Израиль"
+ },
+ "ID": {
+ "name": "Индонезия"
+ },
+ "JO": {
+ "name": "Иордания"
+ },
+ "IQ": {
+ "name": "Ирак"
+ },
+ "IR": {
+ "name": "Иран"
+ },
+ "IE": {
+ "name": "Ирландия"
+ },
+ "IS": {
+ "name": "Исландия"
+ },
+ "ES": {
+ "name": "Испания"
+ },
+ "IT": {
+ "name": "Италия"
+ },
+ "YE": {
+ "name": "Йемен"
+ },
+ "CV": {
+ "name": "Кабо-Верде"
+ },
+ "KY": {
+ "name": "Кайман аралдары"
+ },
+ "KH": {
+ "name": "Камбоджа"
+ },
+ "CM": {
+ "name": "Камерун"
+ },
+ "CA": {
+ "name": "Канада"
+ },
+ "IC": {
+ "name": "Канар аралдары"
+ },
+ "BQ": {
+ "name": "Кариб Нидерландысы"
+ },
+ "QA": {
+ "name": "Катар"
+ },
+ "KE": {
+ "name": "Кения"
+ },
+ "CY": {
+ "name": "Кипр"
+ },
+ "KI": {
+ "name": "Кирибати"
+ },
+ "CC": {
+ "name": "Кокос (Килинг) аралдары"
+ },
+ "CO": {
+ "name": "Колумбия"
+ },
+ "KM": {
+ "name": "Комор аралдары"
+ },
+ "CD": {
+ "name": "Конго"
+ },
+ "CG": {
+ "name": "Конго-Браззавиль Республикасы"
+ },
+ "XK": {
+ "name": "Косово"
+ },
+ "CR": {
+ "name": "Коста-Рика"
+ },
+ "CI": {
+ "name": "Кот-д’Ивуар"
+ },
+ "CU": {
+ "name": "Куба"
+ },
+ "KW": {
+ "name": "Кувейт"
+ },
+ "CK": {
+ "name": "Кук аралдары"
+ },
+ "CW": {
+ "name": "Кюрасао"
+ },
+ "KZ": {
+ "name": "Қазақстан"
+ },
+ "KG": {
+ "name": "Қырғызстан"
+ },
+ "CN": {
+ "name": "Қытай"
+ },
+ "HK": {
+ "name": "Қытай Халық Республикасының Гонконг арнайы әкімшілік ауданы"
+ },
+ "MO": {
+ "name": "Қытай Халық Республикасының Макао арнайы әкімшілік ауданы"
+ },
+ "LA": {
+ "name": "Лаос"
+ },
+ "LV": {
+ "name": "Латвия"
+ },
+ "LS": {
+ "name": "Лесото"
+ },
+ "LR": {
+ "name": "Либерия"
+ },
+ "LB": {
+ "name": "Ливан"
+ },
+ "LY": {
+ "name": "Ливия"
+ },
+ "LT": {
+ "name": "Литва"
+ },
+ "LI": {
+ "name": "Лихтенштейн"
+ },
+ "LU": {
+ "name": "Люксембург"
+ },
+ "MU": {
+ "name": "Маврикий"
+ },
+ "MR": {
+ "name": "Мавритания"
+ },
+ "MG": {
+ "name": "Мадагаскар"
+ },
+ "YT": {
+ "name": "Майотта"
+ },
+ "MK": {
+ "name": "Македония"
+ },
+ "MW": {
+ "name": "Малави"
+ },
+ "MY": {
+ "name": "Малайзия"
+ },
+ "ML": {
+ "name": "Мали"
+ },
+ "MV": {
+ "name": "Мальдив аралдары"
+ },
+ "MT": {
+ "name": "Мальта"
+ },
+ "MA": {
+ "name": "Марокко"
+ },
+ "MQ": {
+ "name": "Мартиника"
+ },
+ "MH": {
+ "name": "Маршалл аралдары"
+ },
+ "MX": {
+ "name": "Мексика"
+ },
+ "FM": {
+ "name": "Микронезия"
+ },
+ "MZ": {
+ "name": "Мозамбик"
+ },
+ "MD": {
+ "name": "Молдова"
+ },
+ "MC": {
+ "name": "Монако"
+ },
+ "MS": {
+ "name": "Монтсеррат"
+ },
+ "MN": {
+ "name": "Моңғолия"
+ },
+ "EG": {
+ "name": "Мысыр"
+ },
+ "MM": {
+ "name": "Мьянма (Бирма)"
+ },
+ "IM": {
+ "name": "Мэн аралы"
+ },
+ "NA": {
+ "name": "Намибия"
+ },
+ "NR": {
+ "name": "Науру"
+ },
+ "NP": {
+ "name": "Непал"
+ },
+ "NE": {
+ "name": "Нигер"
+ },
+ "NG": {
+ "name": "Нигерия"
+ },
+ "NL": {
+ "name": "Нидерланд"
+ },
+ "NI": {
+ "name": "Никарагуа"
+ },
+ "NU": {
+ "name": "Ниуэ"
+ },
+ "NO": {
+ "name": "Норвегия"
+ },
+ "NF": {
+ "name": "Норфолк аралы"
+ },
+ "OM": {
+ "name": "Оман"
+ },
+ "ZA": {
+ "name": "Оңтүстік Африка Республикасы"
+ },
+ "GS": {
+ "name": "Оңтүстік Георгия және Оңтүстік Сандвич аралдары"
+ },
+ "KR": {
+ "name": "Оңтүстік Корея"
+ },
+ "SS": {
+ "name": "Оңтүстік Судан"
+ },
+ "CF": {
+ "name": "Орталық Африка Республикасы"
+ },
+ "UZ": {
+ "name": "Өзбекстан"
+ },
+ "PW": {
+ "name": "Палау"
+ },
+ "PS": {
+ "name": "Палестина аймақтары"
+ },
+ "PA": {
+ "name": "Панама"
+ },
+ "PG": {
+ "name": "Папуа — Жаңа Гвинея"
+ },
+ "PY": {
+ "name": "Парагвай"
+ },
+ "PK": {
+ "name": "Пәкістан"
+ },
+ "PE": {
+ "name": "Перу"
+ },
+ "PN": {
+ "name": "Питкэрн аралдары"
+ },
+ "PL": {
+ "name": "Польша"
+ },
+ "PT": {
+ "name": "Португалия"
+ },
+ "PR": {
+ "name": "Пуэрто-Рико"
+ },
+ "RU": {
+ "name": "Ресей"
+ },
+ "RE": {
+ "name": "Реюньон"
+ },
+ "CX": {
+ "name": "Рождество аралы"
+ },
+ "RW": {
+ "name": "Руанда"
+ },
+ "RO": {
+ "name": "Румыния"
+ },
+ "SV": {
+ "name": "Сальвадор"
+ },
+ "WS": {
+ "name": "Самоа"
+ },
+ "SM": {
+ "name": "Сан-Марино"
+ },
+ "ST": {
+ "name": "Сан-Томе және Принсипи"
+ },
+ "SA": {
+ "name": "Сауд Арабиясы"
+ },
+ "SZ": {
+ "name": "Свазиленд"
+ },
+ "SC": {
+ "name": "Сейшель аралдары"
+ },
+ "BL": {
+ "name": "Сен-Бартелеми"
+ },
+ "MF": {
+ "name": "Сен-Мартен"
+ },
+ "PM": {
+ "name": "Сен-Пьер және Микелон"
+ },
+ "SN": {
+ "name": "Сенегал"
+ },
+ "VC": {
+ "name": "Сент-Винсент және Гренадин аралдары"
+ },
+ "KN": {
+ "name": "Сент-Китс және Невис"
+ },
+ "LC": {
+ "name": "Сент-Люсия"
+ },
+ "RS": {
+ "name": "Сербия"
+ },
+ "EA": {
+ "name": "Сеута және Мелилья"
+ },
+ "SG": {
+ "name": "Сингапур"
+ },
+ "SX": {
+ "name": "Синт-Мартен"
+ },
+ "SY": {
+ "name": "Сирия"
+ },
+ "SK": {
+ "name": "Словакия"
+ },
+ "SI": {
+ "name": "Словения"
+ },
+ "SB": {
+ "name": "Соломон аралдары"
+ },
+ "KP": {
+ "name": "Солтүстік Корея"
+ },
+ "MP": {
+ "name": "Солтүстік Мариана аралдары"
+ },
+ "SO": {
+ "name": "Сомали"
+ },
+ "SD": {
+ "name": "Судан"
+ },
+ "SR": {
+ "name": "Суринам"
+ },
+ "SL": {
+ "name": "Сьерра-Леоне"
+ },
+ "TW": {
+ "name": "Тайвань"
+ },
+ "TH": {
+ "name": "Тайланд"
+ },
+ "TZ": {
+ "name": "Танзания"
+ },
+ "TJ": {
+ "name": "Тәжікстан"
+ },
+ "TC": {
+ "name": "Теркс және Кайкос аралдары"
+ },
+ "TL": {
+ "name": "Тимор-Лесте"
+ },
+ "TG": {
+ "name": "Того"
+ },
+ "TK": {
+ "name": "Токелау"
+ },
+ "TO": {
+ "name": "Тонга"
+ },
+ "TT": {
+ "name": "Тринидад және Тобаго"
+ },
+ "TA": {
+ "name": "Тристан-да-Кунья"
+ },
+ "TV": {
+ "name": "Тувалу"
+ },
+ "TN": {
+ "name": "Тунис"
+ },
+ "TR": {
+ "name": "Түркия"
+ },
+ "TM": {
+ "name": "Түрікменстан"
+ },
+ "UG": {
+ "name": "Уганда"
+ },
+ "UA": {
+ "name": "Украина"
+ },
+ "WF": {
+ "name": "Уоллис және Футуна"
+ },
+ "UY": {
+ "name": "Уругвай"
+ },
+ "GB": {
+ "name": "Ұлыбритания"
+ },
+ "IO": {
+ "name": "Үнді мұхитындағы Британ аймағы"
+ },
+ "IN": {
+ "name": "Үндістан"
+ },
+ "FO": {
+ "name": "Фарер аралдары"
+ },
+ "FJ": {
+ "name": "Фиджи"
+ },
+ "PH": {
+ "name": "Филиппин"
+ },
+ "FI": {
+ "name": "Финляндия"
+ },
+ "FK": {
+ "name": "Фолкленд аралдары"
+ },
+ "FR": {
+ "name": "Франция"
+ },
+ "TF": {
+ "name": "Францияның оңтүстік аймақтары"
+ },
+ "GF": {
+ "name": "Француз Гвианасы"
+ },
+ "PF": {
+ "name": "Француз Полинезиясы"
+ },
+ "HR": {
+ "name": "Хорватия"
+ },
+ "TD": {
+ "name": "Чад"
+ },
+ "ME": {
+ "name": "Черногория"
+ },
+ "CZ": {
+ "name": "Чех Республикасы"
+ },
+ "CL": {
+ "name": "Чили"
+ },
+ "CH": {
+ "name": "Швейцария"
+ },
+ "SE": {
+ "name": "Швеция"
+ },
+ "SJ": {
+ "name": "Шпицберген және Ян-Майен"
+ },
+ "LK": {
+ "name": "Шри-Ланка"
+ },
+ "EC": {
+ "name": "Эквадор"
+ },
+ "GQ": {
+ "name": "Экваторлық Гвинея"
+ },
+ "ER": {
+ "name": "Эритрея"
+ },
+ "EE": {
+ "name": "Эстония"
+ },
+ "ET": {
+ "name": "Эфиопия"
+ },
+ "JM": {
+ "name": "Ямайка"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/kln.json b/vendor/commerceguys/intl/resources/country/kln.json
new file mode 100644
index 000000000..905bf1215
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/kln.json
@@ -0,0 +1,761 @@
+{
+ "AX": {
+ "name": "Åland Islands"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "AF": {
+ "name": "Emetab Afghanistan"
+ },
+ "CF": {
+ "name": "Emetab Afrika nebo Kwen"
+ },
+ "ZA": {
+ "name": "Emetab Afrika nebo Murot tai"
+ },
+ "AL": {
+ "name": "Emetab Albania"
+ },
+ "DZ": {
+ "name": "Emetab Algeria"
+ },
+ "AS": {
+ "name": "Emetab American Samoa"
+ },
+ "US": {
+ "name": "Emetab amerika"
+ },
+ "AD": {
+ "name": "Emetab Andorra"
+ },
+ "AO": {
+ "name": "Emetab Angola"
+ },
+ "AI": {
+ "name": "Emetab Anguilla"
+ },
+ "AG": {
+ "name": "Emetab Antigua ak Barbuda"
+ },
+ "AR": {
+ "name": "Emetab Argentina"
+ },
+ "AM": {
+ "name": "Emetab Armenia"
+ },
+ "AW": {
+ "name": "Emetab Aruba"
+ },
+ "AU": {
+ "name": "Emetab Australia"
+ },
+ "AT": {
+ "name": "Emetab Austria"
+ },
+ "AZ": {
+ "name": "Emetab Azerbaijan"
+ },
+ "BS": {
+ "name": "Emetab Bahamas"
+ },
+ "BH": {
+ "name": "Emetab Bahrain"
+ },
+ "BD": {
+ "name": "Emetab Bangladesh"
+ },
+ "BB": {
+ "name": "Emetab Barbados"
+ },
+ "BY": {
+ "name": "Emetab Belarus"
+ },
+ "BE": {
+ "name": "Emetab Belgium"
+ },
+ "BZ": {
+ "name": "Emetab Belize"
+ },
+ "BJ": {
+ "name": "Emetab Benin"
+ },
+ "BM": {
+ "name": "Emetab Bermuda"
+ },
+ "BT": {
+ "name": "Emetab Bhutan"
+ },
+ "BO": {
+ "name": "Emetab Bolivia"
+ },
+ "BA": {
+ "name": "Emetab Bosnia ak Herzegovina"
+ },
+ "BW": {
+ "name": "Emetab Botswana"
+ },
+ "BR": {
+ "name": "Emetab Brazil"
+ },
+ "BN": {
+ "name": "Emetab Brunei"
+ },
+ "BG": {
+ "name": "Emetab Bulgaria"
+ },
+ "BF": {
+ "name": "Emetab Burkina Faso"
+ },
+ "BI": {
+ "name": "Emetab Burundi"
+ },
+ "KH": {
+ "name": "Emetab Cambodia"
+ },
+ "CM": {
+ "name": "Emetab Cameroon"
+ },
+ "CA": {
+ "name": "Emetab Canada"
+ },
+ "TD": {
+ "name": "Emetab Chad"
+ },
+ "CL": {
+ "name": "Emetab Chile"
+ },
+ "CN": {
+ "name": "Emetab China"
+ },
+ "CO": {
+ "name": "Emetab Colombia"
+ },
+ "KM": {
+ "name": "Emetab Comoros"
+ },
+ "CG": {
+ "name": "Emetab Congo - Brazzaville"
+ },
+ "CD": {
+ "name": "Emetab Congo - Kinshasa"
+ },
+ "CR": {
+ "name": "Emetab Costa Rica"
+ },
+ "CI": {
+ "name": "Emetab Côte d’Ivoire"
+ },
+ "HR": {
+ "name": "Emetab Croatia"
+ },
+ "CU": {
+ "name": "Emetab Cuba"
+ },
+ "CY": {
+ "name": "Emetab Cyprus"
+ },
+ "CZ": {
+ "name": "Emetab Czech Republic"
+ },
+ "DK": {
+ "name": "Emetab Denmark"
+ },
+ "DJ": {
+ "name": "Emetab Djibouti"
+ },
+ "DM": {
+ "name": "Emetab Dominica"
+ },
+ "DO": {
+ "name": "Emetab Dominican Republic"
+ },
+ "EC": {
+ "name": "Emetab Ecuador"
+ },
+ "SV": {
+ "name": "Emetab El Salvador"
+ },
+ "GQ": {
+ "name": "Emetab Equatorial Guinea"
+ },
+ "ER": {
+ "name": "Emetab Eritrea"
+ },
+ "EE": {
+ "name": "Emetab Estonia"
+ },
+ "ET": {
+ "name": "Emetab Ethiopia"
+ },
+ "FJ": {
+ "name": "Emetab Fiji"
+ },
+ "FI": {
+ "name": "Emetab Finland"
+ },
+ "FR": {
+ "name": "Emetab France"
+ },
+ "GA": {
+ "name": "Emetab Gabon"
+ },
+ "GM": {
+ "name": "Emetab Gambia"
+ },
+ "GE": {
+ "name": "Emetab Georgia"
+ },
+ "DE": {
+ "name": "Emetab Geruman"
+ },
+ "GH": {
+ "name": "Emetab Ghana"
+ },
+ "GI": {
+ "name": "Emetab Gibraltar"
+ },
+ "GR": {
+ "name": "Emetab Greece"
+ },
+ "GL": {
+ "name": "Emetab Greenland"
+ },
+ "GD": {
+ "name": "Emetab Grenada"
+ },
+ "GP": {
+ "name": "Emetab Guadeloupe"
+ },
+ "GU": {
+ "name": "Emetab Guam"
+ },
+ "GT": {
+ "name": "Emetab Guatemala"
+ },
+ "GF": {
+ "name": "Emetab Guiana nebo Ufaransa"
+ },
+ "GN": {
+ "name": "Emetab Guinea"
+ },
+ "GW": {
+ "name": "Emetab Guinea-Bissau"
+ },
+ "GY": {
+ "name": "Emetab Guyana"
+ },
+ "HT": {
+ "name": "Emetab Haiti"
+ },
+ "SH": {
+ "name": "Emetab Helena Ne tilil"
+ },
+ "NL": {
+ "name": "Emetab Holand"
+ },
+ "HN": {
+ "name": "Emetab Honduras"
+ },
+ "HU": {
+ "name": "Emetab Hungary"
+ },
+ "IS": {
+ "name": "Emetab Iceland"
+ },
+ "IN": {
+ "name": "Emetab India"
+ },
+ "ID": {
+ "name": "Emetab Indonesia"
+ },
+ "IR": {
+ "name": "Emetab Iran"
+ },
+ "IQ": {
+ "name": "Emetab Iraq"
+ },
+ "IE": {
+ "name": "Emetab Ireland"
+ },
+ "IL": {
+ "name": "Emetab Israel"
+ },
+ "IT": {
+ "name": "Emetab Italy"
+ },
+ "JM": {
+ "name": "Emetab Jamaica"
+ },
+ "JP": {
+ "name": "Emetab Japan"
+ },
+ "JO": {
+ "name": "Emetab Jordan"
+ },
+ "KZ": {
+ "name": "Emetab Kazakhstan"
+ },
+ "KE": {
+ "name": "Emetab Kenya"
+ },
+ "AE": {
+ "name": "Emetab kibagenge nebo arabuk"
+ },
+ "GB": {
+ "name": "Emetab Kibagenge nebo Uingereza"
+ },
+ "KI": {
+ "name": "Emetab Kiribati"
+ },
+ "KP": {
+ "name": "Emetab Korea nebo murot katam"
+ },
+ "KR": {
+ "name": "Emetab korea nebo murot tai"
+ },
+ "KW": {
+ "name": "Emetab Kuwait"
+ },
+ "KG": {
+ "name": "Emetab Kyrgyzstan"
+ },
+ "LA": {
+ "name": "Emetab Laos"
+ },
+ "LV": {
+ "name": "Emetab Latvia"
+ },
+ "LB": {
+ "name": "Emetab Lebanon"
+ },
+ "LS": {
+ "name": "Emetab Lesotho"
+ },
+ "LR": {
+ "name": "Emetab Liberia"
+ },
+ "LY": {
+ "name": "Emetab Libya"
+ },
+ "LI": {
+ "name": "Emetab Liechtenstein"
+ },
+ "LT": {
+ "name": "Emetab Lithuania"
+ },
+ "LC": {
+ "name": "Emetab Lucia Ne"
+ },
+ "LU": {
+ "name": "Emetab Luxembourg"
+ },
+ "MK": {
+ "name": "Emetab Macedonia"
+ },
+ "MG": {
+ "name": "Emetab Madagascar"
+ },
+ "MW": {
+ "name": "Emetab Malawi"
+ },
+ "MY": {
+ "name": "Emetab Malaysia"
+ },
+ "MV": {
+ "name": "Emetab Maldives"
+ },
+ "ML": {
+ "name": "Emetab Mali"
+ },
+ "MT": {
+ "name": "Emetab Malta"
+ },
+ "MQ": {
+ "name": "Emetab Martinique"
+ },
+ "MR": {
+ "name": "Emetab Mauritania"
+ },
+ "MU": {
+ "name": "Emetab Mauritius"
+ },
+ "YT": {
+ "name": "Emetab Mayotte"
+ },
+ "MX": {
+ "name": "Emetab Mexico"
+ },
+ "FM": {
+ "name": "Emetab Micronesia"
+ },
+ "EG": {
+ "name": "Emetab Misiri"
+ },
+ "MD": {
+ "name": "Emetab Moldova"
+ },
+ "MC": {
+ "name": "Emetab Monaco"
+ },
+ "MN": {
+ "name": "Emetab Mongolia"
+ },
+ "MS": {
+ "name": "Emetab Montserrat"
+ },
+ "MA": {
+ "name": "Emetab Morocco"
+ },
+ "MZ": {
+ "name": "Emetab Mozambique"
+ },
+ "MM": {
+ "name": "Emetab Myanmar"
+ },
+ "NA": {
+ "name": "Emetab Namibia"
+ },
+ "NR": {
+ "name": "Emetab Nauru"
+ },
+ "NP": {
+ "name": "Emetab Nepal"
+ },
+ "NC": {
+ "name": "Emetab New Caledonia"
+ },
+ "NZ": {
+ "name": "Emetab New Zealand"
+ },
+ "NI": {
+ "name": "Emetab Nicaragua"
+ },
+ "NE": {
+ "name": "Emetab niger"
+ },
+ "NG": {
+ "name": "Emetab Nigeria"
+ },
+ "NU": {
+ "name": "Emetab Niue"
+ },
+ "NO": {
+ "name": "Emetab Norway"
+ },
+ "OM": {
+ "name": "Emetab Oman"
+ },
+ "PK": {
+ "name": "Emetab Pakistan"
+ },
+ "PW": {
+ "name": "Emetab Palau"
+ },
+ "PS": {
+ "name": "Emetab Palestine"
+ },
+ "PA": {
+ "name": "Emetab Panama"
+ },
+ "PG": {
+ "name": "Emetab Papua New Guinea"
+ },
+ "PY": {
+ "name": "Emetab Paraguay"
+ },
+ "PE": {
+ "name": "Emetab Peru"
+ },
+ "PM": {
+ "name": "Emetab Peter Ne titil ak Miquelon"
+ },
+ "PH": {
+ "name": "Emetab Philippines"
+ },
+ "PN": {
+ "name": "Emetab Pitcairn"
+ },
+ "PL": {
+ "name": "Emetab Poland"
+ },
+ "PF": {
+ "name": "Emetab Polynesia nebo ufaransa"
+ },
+ "PT": {
+ "name": "Emetab Portugal"
+ },
+ "PR": {
+ "name": "Emetab Puerto Rico"
+ },
+ "QA": {
+ "name": "Emetab Qatar"
+ },
+ "RE": {
+ "name": "Emetab Réunion"
+ },
+ "RO": {
+ "name": "Emetab Romania"
+ },
+ "RU": {
+ "name": "Emetab Russia"
+ },
+ "RW": {
+ "name": "Emetab Rwanda"
+ },
+ "KN": {
+ "name": "Emetab Saint Kitts ak Nevis"
+ },
+ "WS": {
+ "name": "Emetab Samoa"
+ },
+ "SM": {
+ "name": "Emetab San Marino"
+ },
+ "ST": {
+ "name": "Emetab São Tomé and Príncipe"
+ },
+ "SA": {
+ "name": "Emetab Saudi Arabia"
+ },
+ "SN": {
+ "name": "Emetab Senegal"
+ },
+ "SC": {
+ "name": "Emetab Seychelles"
+ },
+ "SL": {
+ "name": "Emetab Sierra Leone"
+ },
+ "SG": {
+ "name": "Emetab Singapore"
+ },
+ "SK": {
+ "name": "Emetab Slovakia"
+ },
+ "SI": {
+ "name": "Emetab Slovenia"
+ },
+ "SO": {
+ "name": "Emetab Somalia"
+ },
+ "ES": {
+ "name": "Emetab Spain"
+ },
+ "LK": {
+ "name": "Emetab Sri Lanka"
+ },
+ "SD": {
+ "name": "Emetab Sudan"
+ },
+ "SR": {
+ "name": "Emetab Suriname"
+ },
+ "SZ": {
+ "name": "Emetab Swaziland"
+ },
+ "SE": {
+ "name": "Emetab Sweden"
+ },
+ "CH": {
+ "name": "Emetab Switzerland"
+ },
+ "SY": {
+ "name": "Emetab Syria"
+ },
+ "TW": {
+ "name": "Emetab Taiwan"
+ },
+ "TJ": {
+ "name": "Emetab Tajikistan"
+ },
+ "TZ": {
+ "name": "Emetab Tanzania"
+ },
+ "TH": {
+ "name": "Emetab Thailand"
+ },
+ "TL": {
+ "name": "Emetab Timor nebo Murot tai"
+ },
+ "TG": {
+ "name": "Emetab Togo"
+ },
+ "TK": {
+ "name": "Emetab Tokelau"
+ },
+ "TO": {
+ "name": "Emetab Tonga"
+ },
+ "TT": {
+ "name": "Emetab Trinidad ak Tobago"
+ },
+ "TN": {
+ "name": "Emetab Tunisia"
+ },
+ "TR": {
+ "name": "Emetab Turkey"
+ },
+ "TM": {
+ "name": "Emetab Turkmenistan"
+ },
+ "TV": {
+ "name": "Emetab Tuvalu"
+ },
+ "UG": {
+ "name": "Emetab Uganda"
+ },
+ "UA": {
+ "name": "Emetab Ukrainie"
+ },
+ "UY": {
+ "name": "Emetab Uruguay"
+ },
+ "UZ": {
+ "name": "Emetab Uzibekistani"
+ },
+ "VU": {
+ "name": "Emetab Vanuatu"
+ },
+ "VA": {
+ "name": "Emetab Vatican"
+ },
+ "VE": {
+ "name": "Emetab Venezuela"
+ },
+ "VN": {
+ "name": "Emetab Vietnam"
+ },
+ "VC": {
+ "name": "Emetab Vincent netilil ak Grenadines"
+ },
+ "WF": {
+ "name": "Emetab Walis ak Futuna"
+ },
+ "YE": {
+ "name": "Emetab Yemen"
+ },
+ "ZM": {
+ "name": "Emetab Zambia"
+ },
+ "ZW": {
+ "name": "Emetab Zimbabwe"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "MP": {
+ "name": "Ikwembeiyotab Mariana nebo murot katam"
+ },
+ "MH": {
+ "name": "Ikwembeiyotab Marshall"
+ },
+ "NF": {
+ "name": "Ikwembeiyotab Norfork"
+ },
+ "SB": {
+ "name": "Ikwembeiyotab Solomon"
+ },
+ "TC": {
+ "name": "Ikwembeiyotab Turks ak Caicos"
+ },
+ "VG": {
+ "name": "Ikwembeyotab British Virgin"
+ },
+ "CV": {
+ "name": "Ikwembeyotab Cape Verde"
+ },
+ "KY": {
+ "name": "Ikwembeyotab Cayman"
+ },
+ "CK": {
+ "name": "Ikwembeyotab Cook"
+ },
+ "FK": {
+ "name": "Ikwembeyotab Falkland"
+ },
+ "VI": {
+ "name": "Ikwemweiyotab Amerika"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "IO": {
+ "name": "Kebebertab araraitab indian Ocean nebo Uingeresa"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/km.json b/vendor/commerceguys/intl/resources/country/km.json
new file mode 100644
index 000000000..fc25432f5
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/km.json
@@ -0,0 +1,761 @@
+{
+ "KH": {
+ "name": "កម្ពុជា"
+ },
+ "CA": {
+ "name": "កាណាដា"
+ },
+ "QA": {
+ "name": "កាតា"
+ },
+ "CV": {
+ "name": "កាបវែរ"
+ },
+ "CM": {
+ "name": "កាមេរូន"
+ },
+ "KZ": {
+ "name": "កាហ្សាក់ស្ថាន"
+ },
+ "CG": {
+ "name": "កុងហ្គោ - ប្រាហ្សាវីល"
+ },
+ "CD": {
+ "name": "កុងហ្គោ- គីនស្ហាសា"
+ },
+ "CI": {
+ "name": "កូដឌីវ័រ"
+ },
+ "KM": {
+ "name": "កូម័រ"
+ },
+ "CW": {
+ "name": "កូរ៉ាកៅ"
+ },
+ "KP": {
+ "name": "កូរ៉េ​ខាង​ជើង"
+ },
+ "KR": {
+ "name": "កូរ៉េ​ខាង​ត្បូង"
+ },
+ "XK": {
+ "name": "កូសូវ៉ូ"
+ },
+ "CR": {
+ "name": "កូស្តារីកា"
+ },
+ "CO": {
+ "name": "កូឡុំប៊ី"
+ },
+ "KG": {
+ "name": "កៀហ្ស៊ីស៊ីស្ថាន"
+ },
+ "KE": {
+ "name": "កេនយ៉ា"
+ },
+ "IC": {
+ "name": "កោះ​កាណារី"
+ },
+ "CC": {
+ "name": "កោះ​កូកូស (គីលីង)"
+ },
+ "KY": {
+ "name": "កោះ​កៃម៉ង់"
+ },
+ "CK": {
+ "name": "កោះ​ខូក"
+ },
+ "CX": {
+ "name": "កោះ​គ្រីស្មាស"
+ },
+ "NF": {
+ "name": "កោះ​ណ័រហ្វក់"
+ },
+ "TC": {
+ "name": "កោះ​ទួគ និង កៃកូស"
+ },
+ "PN": {
+ "name": "កោះ​ភីតកាន"
+ },
+ "MP": {
+ "name": "កោះ​ម៉ារីណា​ខាង​ជើង"
+ },
+ "MH": {
+ "name": "កោះ​ម៉ាស់សល"
+ },
+ "VG": {
+ "name": "កោះ​វឺជិន​ចក្រភព​អង់គ្លេស"
+ },
+ "VI": {
+ "name": "កោះ​វឺជីន​អាមេរិក"
+ },
+ "SB": {
+ "name": "កោះ​សូឡូម៉ុង"
+ },
+ "FK": {
+ "name": "កោះ​ហ្វក់ឡែន"
+ },
+ "FO": {
+ "name": "កោះ​ហ្វារ៉ូ"
+ },
+ "GS": {
+ "name": "កោះ​ហ្សកហ្ស៊ី​ខាង​ត្បូង និង សាន់វិច​ខាង​ត្បូង"
+ },
+ "AC": {
+ "name": "កោះ​អាសេនសិន"
+ },
+ "AX": {
+ "name": "កោះ​អាឡាំង"
+ },
+ "UM": {
+ "name": "កោះ​អៅឡាយីង​អាមេរិក"
+ },
+ "GR": {
+ "name": "ក្រិក"
+ },
+ "HR": {
+ "name": "ក្រូអាត"
+ },
+ "KI": {
+ "name": "គិរិបាទី"
+ },
+ "CU": {
+ "name": "គុយបា"
+ },
+ "KW": {
+ "name": "គុយវ៉ែត"
+ },
+ "GB": {
+ "name": "ចក្រភព​អង់គ្លេស"
+ },
+ "JM": {
+ "name": "ចាម៉ៃកា"
+ },
+ "CN": {
+ "name": "ចិន"
+ },
+ "TD": {
+ "name": "ឆាដ"
+ },
+ "JP": {
+ "name": "ជប៉ុន"
+ },
+ "DJ": {
+ "name": "ជីប៊ូទី"
+ },
+ "EA": {
+ "name": "ជឺតា និង​ម៉េលីឡា"
+ },
+ "JE": {
+ "name": "ជឺស៊ី"
+ },
+ "NC": {
+ "name": "ញូកាឡេដូនៀ"
+ },
+ "DK": {
+ "name": "ដាណឺម៉ាក"
+ },
+ "DM": {
+ "name": "ដូមីនីក"
+ },
+ "TF": {
+ "name": "ដែនដី​បារាំង​នៅ​ភាគខាងត្បូង"
+ },
+ "IO": {
+ "name": "ដែនដី​អង់គ្លេស​នៅ​មហា​សមុទ្រ​ឥណ្ឌា"
+ },
+ "PS": {
+ "name": "ដែន​ប៉ាលេស្ទីន"
+ },
+ "DG": {
+ "name": "ឌៀហ្គោហ្គាស៊ី"
+ },
+ "NA": {
+ "name": "ណាមីប៊ី"
+ },
+ "NR": {
+ "name": "ណូរូ"
+ },
+ "NU": {
+ "name": "ណៀ"
+ },
+ "TZ": {
+ "name": "តង់ហ្សានី"
+ },
+ "TJ": {
+ "name": "តាហ្ស៊ីគីស្ថាន"
+ },
+ "TO": {
+ "name": "តុងហ្គា"
+ },
+ "TK": {
+ "name": "តូខេឡៅ"
+ },
+ "TG": {
+ "name": "តូហ្គោ"
+ },
+ "TM": {
+ "name": "តួកម៉េនីស្ថាន"
+ },
+ "TW": {
+ "name": "តៃវ៉ាន់"
+ },
+ "TH": {
+ "name": "ថៃ"
+ },
+ "TL": {
+ "name": "ទីម័រ"
+ },
+ "TN": {
+ "name": "ទុយនេស៊ី"
+ },
+ "TV": {
+ "name": "ទូវ៉ាលូ"
+ },
+ "TR": {
+ "name": "ទួរគី"
+ },
+ "TT": {
+ "name": "ទ្រីនីដាត និង​តូបាហ្គោ"
+ },
+ "TA": {
+ "name": "ទ្រីស្តង់​ដា​ចូនហា"
+ },
+ "NO": {
+ "name": "ន័រវែស"
+ },
+ "NI": {
+ "name": "នីការ៉ាហ្គ័រ"
+ },
+ "NE": {
+ "name": "នីហ្សេរ"
+ },
+ "NG": {
+ "name": "នីហ្សេរីយ៉ា"
+ },
+ "NZ": {
+ "name": "នូវែលហ្សេឡង់"
+ },
+ "NP": {
+ "name": "នេប៉ាល់"
+ },
+ "BD": {
+ "name": "បង់ក្លាដែស"
+ },
+ "PK": {
+ "name": "ប៉ាគីស្ថាន"
+ },
+ "PA": {
+ "name": "ប៉ាណាម៉ា"
+ },
+ "BB": {
+ "name": "បាបាដុស"
+ },
+ "PG": {
+ "name": "ប៉ាពួញ៉ូហ្គីណេ"
+ },
+ "PY": {
+ "name": "ប៉ារ៉ាហ្គាយ"
+ },
+ "BH": {
+ "name": "បារ៉ែន"
+ },
+ "FR": {
+ "name": "បារាំង"
+ },
+ "BS": {
+ "name": "បាហាម៉ា"
+ },
+ "BM": {
+ "name": "ប៊ឺមុយដា"
+ },
+ "BW": {
+ "name": "បុតស្វាណា"
+ },
+ "VA": {
+ "name": "បុរី​វ៉ាទីកង់"
+ },
+ "BG": {
+ "name": "ប៊ុលហ្គារី"
+ },
+ "BT": {
+ "name": "ប៊ូតាន"
+ },
+ "BI": {
+ "name": "ប៊ូរុនឌី"
+ },
+ "PF": {
+ "name": "ប៉ូលី​ណេស៊ី​បារាំង"
+ },
+ "BO": {
+ "name": "បូលីវី"
+ },
+ "BA": {
+ "name": "បូស្នី និងហឺហ្សីហ្គូវីណា"
+ },
+ "PL": {
+ "name": "ប៉ូឡូញ"
+ },
+ "BF": {
+ "name": "បួគីណាហ្វាសូ"
+ },
+ "BJ": {
+ "name": "បេណាំង"
+ },
+ "PE": {
+ "name": "ប៉េរូ"
+ },
+ "BZ": {
+ "name": "បេលីហ្ស"
+ },
+ "BY": {
+ "name": "បេឡារុស្ស"
+ },
+ "BE": {
+ "name": "បែលហ្ស៊ិក"
+ },
+ "BN": {
+ "name": "ប្រ៊ុយណេ"
+ },
+ "BR": {
+ "name": "ប្រេស៊ីល"
+ },
+ "PW": {
+ "name": "ផៅឡូ"
+ },
+ "PR": {
+ "name": "ព័រតូរីកូ"
+ },
+ "PT": {
+ "name": "ព័រទុយហ្គាល់"
+ },
+ "MO": {
+ "name": "ម៉ាកាវ"
+ },
+ "MG": {
+ "name": "ម៉ាដាហ្គាស្កា"
+ },
+ "MQ": {
+ "name": "ម៉ាទីនីក"
+ },
+ "YT": {
+ "name": "ម៉ាយុត"
+ },
+ "MA": {
+ "name": "ម៉ារ៉ុក"
+ },
+ "MV": {
+ "name": "ម៉ាល់ឌីវ"
+ },
+ "MT": {
+ "name": "ម៉ាល់តា"
+ },
+ "ML": {
+ "name": "ម៉ាលី"
+ },
+ "MK": {
+ "name": "ម៉ាសេដូនា"
+ },
+ "MW": {
+ "name": "ម៉ាឡាវី"
+ },
+ "MY": {
+ "name": "ម៉ាឡេស៊ី"
+ },
+ "MX": {
+ "name": "ម៉ិកស៊ិក"
+ },
+ "FM": {
+ "name": "មីក្រូណេស៊ី"
+ },
+ "MM": {
+ "name": "មីយ៉ាន់ម៉ា (ភូមា)"
+ },
+ "ME": {
+ "name": "ម៉ុងតេណេហ្គ្រោ"
+ },
+ "MS": {
+ "name": "ម៉ុង​សេរ៉ង់"
+ },
+ "MN": {
+ "name": "ម៉ុងហ្គោលី"
+ },
+ "MD": {
+ "name": "ម៉ុលដាវី"
+ },
+ "MC": {
+ "name": "ម៉ូណាកូ"
+ },
+ "MR": {
+ "name": "ម៉ូរីតានី"
+ },
+ "MU": {
+ "name": "ម៉ូរីស"
+ },
+ "MZ": {
+ "name": "ម៉ូហ្សាំប៊ិក"
+ },
+ "YE": {
+ "name": "យេមែន"
+ },
+ "RW": {
+ "name": "រវ៉ាន់ដា"
+ },
+ "RU": {
+ "name": "រុស្ស៊ី"
+ },
+ "RO": {
+ "name": "រូម៉ានី"
+ },
+ "RE": {
+ "name": "រេអុយញ៉ុង"
+ },
+ "LI": {
+ "name": "លិចទេនស្តែន"
+ },
+ "LT": {
+ "name": "លីទុយអានី"
+ },
+ "LB": {
+ "name": "លីបង់"
+ },
+ "LY": {
+ "name": "លីប៊ី"
+ },
+ "LR": {
+ "name": "លីបេរីយ៉ា"
+ },
+ "LU": {
+ "name": "លុចហ្សំបួរ"
+ },
+ "VU": {
+ "name": "វ៉ានូអាទូ"
+ },
+ "WF": {
+ "name": "វ៉ាលីស និង​ហ្វូទូណា"
+ },
+ "VN": {
+ "name": "វៀតណាម"
+ },
+ "VE": {
+ "name": "វេនេហ្ស៊ុយឡា"
+ },
+ "BL": {
+ "name": "សង់ បាតេឡេម៉ី"
+ },
+ "KN": {
+ "name": "សង់ឃីត និង​ណេវីស"
+ },
+ "PM": {
+ "name": "សង់ព្យែរ និង​មីគីឡុង"
+ },
+ "MF": {
+ "name": "សង់​ម៉ាទីន"
+ },
+ "LC": {
+ "name": "សង់​លូសៀ"
+ },
+ "SH": {
+ "name": "សង់​ហេឡេណា"
+ },
+ "US": {
+ "name": "សហរដ្ឋអាមេរិក"
+ },
+ "CZ": {
+ "name": "សាធារណរដ្ឋឆេក"
+ },
+ "DO": {
+ "name": "សាធារណរដ្ឋ​ដូមីនីក"
+ },
+ "CF": {
+ "name": "សាធារណរដ្ឋអាហ្វ្រិកកណ្ដាល"
+ },
+ "SM": {
+ "name": "សាន​ម៉ារីណូ"
+ },
+ "WS": {
+ "name": "សាម័រ"
+ },
+ "AS": {
+ "name": "សាម័រ អាមេរិកាំង"
+ },
+ "EH": {
+ "name": "សាហារ៉ាខាងលិច"
+ },
+ "SG": {
+ "name": "សិង្ហបុរី"
+ },
+ "SX": {
+ "name": "សីង​ម៉ាធីន"
+ },
+ "CY": {
+ "name": "ស៊ីប"
+ },
+ "SY": {
+ "name": "ស៊ីរី"
+ },
+ "CL": {
+ "name": "ស៊ីលី"
+ },
+ "SC": {
+ "name": "សីសែល"
+ },
+ "SE": {
+ "name": "ស៊ុយអែត"
+ },
+ "SD": {
+ "name": "ស៊ូដង់"
+ },
+ "SS": {
+ "name": "ស៊ូដង់​ខាង​ត្បូង"
+ },
+ "SO": {
+ "name": "សូម៉ាលី"
+ },
+ "SR": {
+ "name": "សូរីណាម"
+ },
+ "SN": {
+ "name": "សេណេហ្គាល់"
+ },
+ "SL": {
+ "name": "សេរ៉ាឡេអូន"
+ },
+ "RS": {
+ "name": "ស៊ែប"
+ },
+ "ST": {
+ "name": "សៅតូម៉េ និង ប្រាំងស៊ីប"
+ },
+ "VC": {
+ "name": "សាំង​វីនសេន និង​ឌឹ​ហ្គ្រីណាឌីនីស"
+ },
+ "LK": {
+ "name": "ស្រីលង្កា"
+ },
+ "SK": {
+ "name": "ស្លូវ៉ាគី"
+ },
+ "SI": {
+ "name": "ស្លូវេនី"
+ },
+ "SJ": {
+ "name": "ស្វាលបាដ និង ហ្សង់ម៉ាយេន"
+ },
+ "SZ": {
+ "name": "ស្វាហ្ស៊ីឡង់"
+ },
+ "CH": {
+ "name": "ស្វីស"
+ },
+ "HK": {
+ "name": "ហុងកុង"
+ },
+ "HU": {
+ "name": "ហុងគ្រី"
+ },
+ "HN": {
+ "name": "ហុងឌូរ៉ាស"
+ },
+ "BQ": {
+ "name": "ហុល្លង់ ការ៉ាប៊ីន"
+ },
+ "NL": {
+ "name": "ហូឡង់"
+ },
+ "HT": {
+ "name": "ហៃទី"
+ },
+ "GH": {
+ "name": "ហ្គាណា"
+ },
+ "GT": {
+ "name": "ហ្គាតេម៉ាឡា"
+ },
+ "GA": {
+ "name": "ហ្គាបុង"
+ },
+ "GN": {
+ "name": "ហ្គីណេ"
+ },
+ "GW": {
+ "name": "ហ្គីណេប៊ីសូ"
+ },
+ "GQ": {
+ "name": "ហ្គីណេអេក្វាទ័រ"
+ },
+ "GI": {
+ "name": "ហ្គីប្រាលតា"
+ },
+ "GY": {
+ "name": "ហ្គីយ៉ាណា"
+ },
+ "GF": {
+ "name": "ហ្គៀណាបារាំង"
+ },
+ "GG": {
+ "name": "ហ្គេនស៊ី"
+ },
+ "GP": {
+ "name": "ហ្គោដឺឡុប"
+ },
+ "GU": {
+ "name": "ហ្គាំ"
+ },
+ "GM": {
+ "name": "ហ្គាំប៊ី"
+ },
+ "GD": {
+ "name": "ហ្គ្រីណាដា"
+ },
+ "GL": {
+ "name": "ហ្គ្រោអង់ឡង់"
+ },
+ "FJ": {
+ "name": "ហ្វីជី"
+ },
+ "PH": {
+ "name": "ហ្វីលីពីន"
+ },
+ "FI": {
+ "name": "ហ្វាំងឡង់"
+ },
+ "JO": {
+ "name": "ហ៊្សកដានី"
+ },
+ "GE": {
+ "name": "ហ្សកហ្ស៊ី"
+ },
+ "ZW": {
+ "name": "ហ្ស៊ីមបាវ៉េ"
+ },
+ "ZM": {
+ "name": "ហ្សាំប៊ី"
+ },
+ "LV": {
+ "name": "ឡាតវីយ៉ា"
+ },
+ "LA": {
+ "name": "ឡាវ"
+ },
+ "LS": {
+ "name": "ឡេសូតូ"
+ },
+ "AD": {
+ "name": "អង់ដូរ៉ា"
+ },
+ "AQ": {
+ "name": "អង់តាក់ទិក"
+ },
+ "AG": {
+ "name": "អង់ទីហ្គា និង បាប៊ុយដា"
+ },
+ "AI": {
+ "name": "អង់ហ្គីឡា"
+ },
+ "AO": {
+ "name": "អង់ហ្គោឡា"
+ },
+ "AM": {
+ "name": "អាមេនី"
+ },
+ "AE": {
+ "name": "អារ៉ាប់រួម"
+ },
+ "SA": {
+ "name": "អារ៉ាប៊ីសាអូឌីត"
+ },
+ "AW": {
+ "name": "អារូបា"
+ },
+ "AL": {
+ "name": "អាល់បានី"
+ },
+ "DZ": {
+ "name": "អាល់ហ្សេរី"
+ },
+ "DE": {
+ "name": "អាល្លឺម៉ង់"
+ },
+ "AZ": {
+ "name": "អាស៊ែបៃហ្សង់"
+ },
+ "AF": {
+ "name": "អាហ្វហ្គានីស្ថាន"
+ },
+ "ZA": {
+ "name": "អាហ្វ្រិកខាងត្បូង"
+ },
+ "AR": {
+ "name": "អាហ្សង់ទីន"
+ },
+ "IN": {
+ "name": "ឥណ្ឌា"
+ },
+ "ID": {
+ "name": "ឥណ្ឌូណេស៊ី"
+ },
+ "IT": {
+ "name": "អ៊ីតាលី"
+ },
+ "IR": {
+ "name": "អ៊ីរ៉ង់"
+ },
+ "IQ": {
+ "name": "អ៊ីរ៉ាក់"
+ },
+ "IL": {
+ "name": "អ៊ីស្រាអែល"
+ },
+ "IS": {
+ "name": "អ៊ីស្លង់"
+ },
+ "UA": {
+ "name": "អ៊ុយក្រែន"
+ },
+ "UY": {
+ "name": "អ៊ុយរ៉ាហ្គាយ"
+ },
+ "AT": {
+ "name": "អូទ្រីស"
+ },
+ "OM": {
+ "name": "អូម៉ង់"
+ },
+ "UZ": {
+ "name": "អ៊ូសបេគីស្ថាន"
+ },
+ "AU": {
+ "name": "អូស្ត្រាលី"
+ },
+ "UG": {
+ "name": "អ៊ូហ្គង់ដា"
+ },
+ "IE": {
+ "name": "អៀរឡង់"
+ },
+ "EC": {
+ "name": "អេក្វាឌ័រ"
+ },
+ "ET": {
+ "name": "អេត្យូពី"
+ },
+ "ER": {
+ "name": "អេរីទ្រា"
+ },
+ "EE": {
+ "name": "អេស្តូនី"
+ },
+ "ES": {
+ "name": "អេស្ប៉ាញ"
+ },
+ "EG": {
+ "name": "អេហ្ស៊ីប"
+ },
+ "SV": {
+ "name": "អែលសាល់វ៉ាឌ័រ"
+ },
+ "IM": {
+ "name": "អែលអុហ្វមែន"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/kn.json b/vendor/commerceguys/intl/resources/country/kn.json
new file mode 100644
index 000000000..883eaaa45
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/kn.json
@@ -0,0 +1,761 @@
+{
+ "AO": {
+ "name": "ಅಂಗೋಲಾ"
+ },
+ "AQ": {
+ "name": "ಅಂಟಾರ್ಟಿಕಾ"
+ },
+ "AD": {
+ "name": "ಅಂಡೋರಾ"
+ },
+ "AZ": {
+ "name": "ಅಜರ್ಬೈಜಾನ್"
+ },
+ "AF": {
+ "name": "ಅಫಘಾನಿಸ್ಥಾನ್"
+ },
+ "AS": {
+ "name": "ಅಮೇರಿಕನ್ ಸಮೋವಾ"
+ },
+ "US": {
+ "name": "ಅಮೇರಿಕಾ ಸಂಯುಕ್ತ ಸಂಸ್ಥಾನ"
+ },
+ "AW": {
+ "name": "ಅರುಬಾ"
+ },
+ "AR": {
+ "name": "ಅರ್ಜೆಂಟಿನಾ"
+ },
+ "AM": {
+ "name": "ಅರ್ಮೇನಿಯಾ"
+ },
+ "DZ": {
+ "name": "ಅಲ್ಗೇರಿಯಾ"
+ },
+ "AL": {
+ "name": "ಅಲ್ಬೇನಿಯಾ"
+ },
+ "AC": {
+ "name": "ಅಸೆನ್ಶನ್ ದ್ವೀಪ"
+ },
+ "AI": {
+ "name": "ಆಂಗ್ವಿಲ್ಲಾ"
+ },
+ "AG": {
+ "name": "ಆಂಟಿಗುವಾ ಮತ್ತು ಬರ್ಬುಡಾ"
+ },
+ "AX": {
+ "name": "ಆಲ್ಯಾಂಡ್ ದ್ವೀಪಗಳು"
+ },
+ "AT": {
+ "name": "ಆಸ್ಟ್ರಿಯಾ"
+ },
+ "AU": {
+ "name": "ಆಸ್ಟ್ರೇಲಿಯ"
+ },
+ "ID": {
+ "name": "ಇಂಡೋನೇಶಿಯಾ"
+ },
+ "IT": {
+ "name": "ಇಟಲಿ"
+ },
+ "ET": {
+ "name": "ಇಥಿಯೋಪಿಯಾ"
+ },
+ "IQ": {
+ "name": "ಇರಾಕ್"
+ },
+ "IR": {
+ "name": "ಇರಾನ್"
+ },
+ "IL": {
+ "name": "ಇಸ್ರೇಲ್"
+ },
+ "GQ": {
+ "name": "ಈಕ್ವೆಟೋರಿಯಲ್ ಗಿನಿ"
+ },
+ "EC": {
+ "name": "ಈಕ್ವೆಡಾರ್"
+ },
+ "EG": {
+ "name": "ಈಜಿಪ್ಟ್"
+ },
+ "UA": {
+ "name": "ಉಕ್ರೈನ್"
+ },
+ "UG": {
+ "name": "ಉಗಾಂಡಾ"
+ },
+ "UZ": {
+ "name": "ಉಜ್ಬೇಕಿಸ್ಥಾನ್"
+ },
+ "KP": {
+ "name": "ಉತ್ತರ ಕೋರಿಯಾ"
+ },
+ "MP": {
+ "name": "ಉತ್ತರ ಮರಿಯಾನಾ ದ್ವೀಪಗಳು"
+ },
+ "UY": {
+ "name": "ಉರುಗ್ವೇ"
+ },
+ "SV": {
+ "name": "ಎಲ್ ಸಾಲ್ವೇಡಾರ್"
+ },
+ "EE": {
+ "name": "ಎಸ್ಟೋನಿಯಾ"
+ },
+ "ER": {
+ "name": "ಏರಿಟ್ರಿಯಾ"
+ },
+ "IE": {
+ "name": "ಐರ್ಲೆಂಡ್"
+ },
+ "IM": {
+ "name": "ಐಲ್ ಆಫ್ ಮ್ಯಾನ್"
+ },
+ "IS": {
+ "name": "ಐಸ್‌ಲ್ಯಾಂಡ್"
+ },
+ "OM": {
+ "name": "ಓಮನ್"
+ },
+ "KZ": {
+ "name": "ಕಝಾಕಿಸ್ಥಾನ್"
+ },
+ "CD": {
+ "name": "ಕಾಂಗೋ - ಕಿನ್ಶಾಸಾ"
+ },
+ "CG": {
+ "name": "ಕಾಂಗೋ - ಬ್ರಾಜಾವಿಲ್ಲೇ"
+ },
+ "KH": {
+ "name": "ಕಾಂಬೋಡಿಯಾ"
+ },
+ "KI": {
+ "name": "ಕಿರಿಬಾತಿ"
+ },
+ "KG": {
+ "name": "ಕಿರ್ಗಿಸ್ಥಾನ್"
+ },
+ "KE": {
+ "name": "ಕೀನ್ಯಾ"
+ },
+ "CK": {
+ "name": "ಕುಕ್ ದ್ವೀಪಗಳು"
+ },
+ "CW": {
+ "name": "ಕುರಾಕಾವ್"
+ },
+ "KW": {
+ "name": "ಕುವೈತ್"
+ },
+ "CA": {
+ "name": "ಕೆನಡಾ"
+ },
+ "BQ": {
+ "name": "ಕೆರೀಬಿಯನ್ ನೆದರ್‌ಲ್ಯಾಂಡ್ಸ್"
+ },
+ "CV": {
+ "name": "ಕೇಪ್ ವರ್ಡೆ"
+ },
+ "KY": {
+ "name": "ಕೇಮನ್ ದ್ವೀಪಗಳು"
+ },
+ "CC": {
+ "name": "ಕೊಕೊಸ್ (ಕೀಲಿಂಗ್) ದ್ವೀಪಗಳು"
+ },
+ "KM": {
+ "name": "ಕೊಮೊರೊಸ್"
+ },
+ "CO": {
+ "name": "ಕೊಲಂಬಿಯಾ"
+ },
+ "XK": {
+ "name": "ಕೊಸೊವೊ"
+ },
+ "CR": {
+ "name": "ಕೊಸ್ಟಾ ರಿಕಾ"
+ },
+ "CI": {
+ "name": "ಕೋತ್‌ ದಿವಾರ್‍"
+ },
+ "IC": {
+ "name": "ಕ್ಯಾನರಿ ದ್ವೀಪಗಳು"
+ },
+ "CM": {
+ "name": "ಕ್ಯಾಮರೋನ್"
+ },
+ "CU": {
+ "name": "ಕ್ಯೂಬಾ"
+ },
+ "CX": {
+ "name": "ಕ್ರಿಸ್ಮಸ್ ದ್ವೀಪ"
+ },
+ "HR": {
+ "name": "ಕ್ರೊಯೇಶಿಯಾ"
+ },
+ "QA": {
+ "name": "ಖತಾರ್"
+ },
+ "GY": {
+ "name": "ಗಯಾನಾ"
+ },
+ "GN": {
+ "name": "ಗಿನಿ"
+ },
+ "GW": {
+ "name": "ಗಿನಿ-ಬಿಸ್ಸಾವ್"
+ },
+ "GI": {
+ "name": "ಗಿಬ್ರಾಲ್ಟರ್"
+ },
+ "GP": {
+ "name": "ಗುಡೆಲೋಪ್"
+ },
+ "GU": {
+ "name": "ಗುಯಾಮ್"
+ },
+ "GG": {
+ "name": "ಗುರ್ನ್‌ಸೆ"
+ },
+ "GA": {
+ "name": "ಗೆಬೊನ್"
+ },
+ "GM": {
+ "name": "ಗ್ಯಾಂಬಿಯಾ"
+ },
+ "GL": {
+ "name": "ಗ್ರೀನ್‌ಲ್ಯಾಂಡ್"
+ },
+ "GR": {
+ "name": "ಗ್ರೀಸ್"
+ },
+ "GD": {
+ "name": "ಗ್ರೆನೆಡಾ"
+ },
+ "GT": {
+ "name": "ಗ್ವಾಟೆಮಾಲಾ"
+ },
+ "GH": {
+ "name": "ಘಾನಾ"
+ },
+ "TD": {
+ "name": "ಚಾದ್"
+ },
+ "CL": {
+ "name": "ಚಿಲಿ"
+ },
+ "CN": {
+ "name": "ಚೀನಾ"
+ },
+ "JP": {
+ "name": "ಜಪಾನ್"
+ },
+ "JM": {
+ "name": "ಜಮೈಕಾ"
+ },
+ "DE": {
+ "name": "ಜರ್ಮನಿ"
+ },
+ "GE": {
+ "name": "ಜಾರ್ಜಿಯಾ"
+ },
+ "ZW": {
+ "name": "ಜಿಂಬಾಬ್ವೆ"
+ },
+ "DJ": {
+ "name": "ಜಿಬೋಟಿ"
+ },
+ "JE": {
+ "name": "ಜೆರ್ಸಿ"
+ },
+ "JO": {
+ "name": "ಜೋರ್ಡಾನ್"
+ },
+ "ZM": {
+ "name": "ಝಾಂಬಿಯಾ"
+ },
+ "CZ": {
+ "name": "ಝೆಕ್ ರಿಪಬ್ಲಿಕ್"
+ },
+ "TR": {
+ "name": "ಟರ್ಕಿ"
+ },
+ "TC": {
+ "name": "ಟರ್ಕ್ಸ್ ಮತ್ತು ಕೈಕೋಸ್ ದ್ವೀಪಗಳು"
+ },
+ "TN": {
+ "name": "ಟುನಿಶಿಯಾ"
+ },
+ "TV": {
+ "name": "ಟುವಾಲು"
+ },
+ "TO": {
+ "name": "ಟೊಂಗ"
+ },
+ "TK": {
+ "name": "ಟೊಕೆಲಾವ್"
+ },
+ "TG": {
+ "name": "ಟೋಗೋ"
+ },
+ "TT": {
+ "name": "ಟ್ರಿನಿಡಾಡ್ ಮತ್ತು ಟೊಬಾಗೊ"
+ },
+ "TA": {
+ "name": "ಟ್ರಿಸ್ತನ್ ಡಾ ಕುನ್ಹಾ"
+ },
+ "DK": {
+ "name": "ಡೆನ್ಮಾರ್ಕ್"
+ },
+ "DG": {
+ "name": "ಡೈಗೋ ಗಾರ್ಸಿಯ"
+ },
+ "DM": {
+ "name": "ಡೊಮಿನಿಕಾ"
+ },
+ "DO": {
+ "name": "ಡೊಮೆನಿಕನ್ ರಿಪಬ್ಲಿಕ್"
+ },
+ "TJ": {
+ "name": "ತಜಿಕಿಸ್ತಾನ್"
+ },
+ "TZ": {
+ "name": "ತಾಂಜೇನಿಯಾ"
+ },
+ "TM": {
+ "name": "ತುರ್ಕಮೆನಿಸ್ತಾನ್"
+ },
+ "TH": {
+ "name": "ಥೈಲ್ಯಾಂಡ್"
+ },
+ "TW": {
+ "name": "ಥೈವಾನ್"
+ },
+ "ZA": {
+ "name": "ದಕ್ಷಿಣ ಆಫ್ರಿಕಾ"
+ },
+ "KR": {
+ "name": "ದಕ್ಷಿಣ ಕೋರಿಯಾ"
+ },
+ "GS": {
+ "name": "ದಕ್ಷಿಣ ಜಾರ್ಜಿಯಾ ಮತ್ತು ದಕ್ಷಿಣ ಸ್ಯಾಂಡ್‍ವಿಚ್ ದ್ವೀಪಗಳು"
+ },
+ "SS": {
+ "name": "ದಕ್ಷಿಣ ಸೂಡಾನ್"
+ },
+ "NA": {
+ "name": "ನಮೀಬಿಯಾ"
+ },
+ "NF": {
+ "name": "ನಾರ್ಫೋಕ್ ದ್ವೀಪ"
+ },
+ "NO": {
+ "name": "ನಾರ್ವೇ"
+ },
+ "NI": {
+ "name": "ನಿಕಾರಾಗುವಾ"
+ },
+ "NU": {
+ "name": "ನಿಯು"
+ },
+ "NL": {
+ "name": "ನೆದರ್‌ಲ್ಯಾಂಡ್ಸ್"
+ },
+ "NP": {
+ "name": "ನೇಪಾಳ"
+ },
+ "NE": {
+ "name": "ನೈಜರ್"
+ },
+ "NG": {
+ "name": "ನೈಜೀರಿಯಾ"
+ },
+ "NR": {
+ "name": "ನೌರು"
+ },
+ "NC": {
+ "name": "ನ್ಯೂ ಕ್ಯಾಲಿಡೋನಿಯಾ"
+ },
+ "NZ": {
+ "name": "ನ್ಯೂಜಿಲೆಂಡ್"
+ },
+ "PA": {
+ "name": "ಪನಾಮಾ"
+ },
+ "PG": {
+ "name": "ಪಪುವಾ ನ್ಯೂಗಿನಿಯಾ"
+ },
+ "PY": {
+ "name": "ಪರಾಗ್ವೇ"
+ },
+ "PW": {
+ "name": "ಪಲಾವು"
+ },
+ "EH": {
+ "name": "ಪಶ್ಚಿಮ ಸಹಾರಾ"
+ },
+ "PK": {
+ "name": "ಪಾಕಿಸ್ತಾನ"
+ },
+ "PN": {
+ "name": "ಪಿಟ್‌ಕೈರ್ನ್ ದ್ವೀಪಗಳು"
+ },
+ "TL": {
+ "name": "ಪೂರ್ವ ತಿಮೋರ್"
+ },
+ "PE": {
+ "name": "ಪೆರು"
+ },
+ "PT": {
+ "name": "ಪೋರ್ಚುಗಲ್"
+ },
+ "PL": {
+ "name": "ಪೋಲ್ಯಾಂಡ್"
+ },
+ "PS": {
+ "name": "ಪ್ಯಾಲೇಸ್ಟೇನಿಯನ್ ಪ್ರದೇಶಗಳು"
+ },
+ "PR": {
+ "name": "ಪ್ಯೂರ್ಟೋ ರಿಕೊ"
+ },
+ "FO": {
+ "name": "ಫರೋ ದ್ವೀಪಗಳು"
+ },
+ "FK": {
+ "name": "ಫಾಲ್ಕ್‌ಲ್ಯಾಂಡ್ ದ್ವೀಪಗಳು"
+ },
+ "FJ": {
+ "name": "ಫಿಜಿ"
+ },
+ "FI": {
+ "name": "ಫಿನ್‌ಲ್ಯಾಂಡ್"
+ },
+ "PH": {
+ "name": "ಫಿಲಿಫೈನ್ಸ್"
+ },
+ "FR": {
+ "name": "ಫ್ರಾನ್ಸ್"
+ },
+ "GF": {
+ "name": "ಫ್ರೆಂಚ್ ಗಯಾನಾ"
+ },
+ "TF": {
+ "name": "ಫ್ರೆಂಚ್ ದಕ್ಷಿಣ ಪ್ರದೇಶಗಳು"
+ },
+ "PF": {
+ "name": "ಫ್ರೆಂಚ್ ಪಾಲಿನೇಷ್ಯಾ"
+ },
+ "BM": {
+ "name": "ಬರ್ಮುಡಾ"
+ },
+ "BG": {
+ "name": "ಬಲ್ಗೇರಿಯಾ"
+ },
+ "BS": {
+ "name": "ಬಹಾಮಾಸ್"
+ },
+ "BH": {
+ "name": "ಬಹ್ರೇನ್"
+ },
+ "BD": {
+ "name": "ಬಾಂಗ್ಲಾದೇಶ್"
+ },
+ "BB": {
+ "name": "ಬಾರ್ಬಡೋಸ್"
+ },
+ "BI": {
+ "name": "ಬುರುಂಡಿ"
+ },
+ "BF": {
+ "name": "ಬುರ್ಕಿನಾ ಫಾಸೋ"
+ },
+ "BJ": {
+ "name": "ಬೆನಿನ್"
+ },
+ "BY": {
+ "name": "ಬೆಲಾರಸ್"
+ },
+ "BZ": {
+ "name": "ಬೆಲಿಜ್"
+ },
+ "BE": {
+ "name": "ಬೆಲ್ಜಿಯಮ್"
+ },
+ "BO": {
+ "name": "ಬೊಲಿವಿಯಾ"
+ },
+ "BW": {
+ "name": "ಬೋಟ್ಸ್‌ವಾನಾ"
+ },
+ "BA": {
+ "name": "ಬೋಸ್ನಿಯಾ ಮತ್ತು ಹರ್ಜೆಗೋವಿನಾ"
+ },
+ "GB": {
+ "name": "ಬ್ರಿಟನ್\/ಇಂಗ್ಲೆಂಡ್"
+ },
+ "VG": {
+ "name": "ಬ್ರಿಟಿಷ್ ವರ್ಜಿನ್ ದ್ವೀಪಗಳು"
+ },
+ "IO": {
+ "name": "ಬ್ರಿಟೀಷ್ ಹಿಂದೂ ಮಹಾಸಾಗರದ ಪ್ರದೇಶ"
+ },
+ "BN": {
+ "name": "ಬ್ರೂನಿ"
+ },
+ "BR": {
+ "name": "ಬ್ರೆಜಿಲ್"
+ },
+ "IN": {
+ "name": "ಭಾರತ"
+ },
+ "BT": {
+ "name": "ಭೂತಾನ್"
+ },
+ "MO": {
+ "name": "ಮಖಾವು (SAR) ಚೈನಾ"
+ },
+ "MG": {
+ "name": "ಮಡಗಾಸ್ಕರ್"
+ },
+ "CF": {
+ "name": "ಮಧ್ಯ ಆಫ್ರಿಕಾ ಗಣರಾಜ್ಯ"
+ },
+ "MM": {
+ "name": "ಮಯನ್ಮಾರ್ (ಬರ್ಮಾ)"
+ },
+ "YT": {
+ "name": "ಮಯೊಟ್ಟೆ"
+ },
+ "MW": {
+ "name": "ಮಲಾವಿ"
+ },
+ "MY": {
+ "name": "ಮಲೇಶಿಯಾ"
+ },
+ "MS": {
+ "name": "ಮಾಂಟ್‌ಸೆರೇಟ್"
+ },
+ "MR": {
+ "name": "ಮಾರಿಟೇನಿಯಾ"
+ },
+ "MU": {
+ "name": "ಮಾರಿಷಸ್"
+ },
+ "MQ": {
+ "name": "ಮಾರ್ಟಿನಿಕ್"
+ },
+ "MH": {
+ "name": "ಮಾರ್ಷಲ್ ದ್ವೀಪಗಳು"
+ },
+ "ML": {
+ "name": "ಮಾಲಿ"
+ },
+ "MT": {
+ "name": "ಮಾಲ್ಟಾ"
+ },
+ "MV": {
+ "name": "ಮಾಲ್ಡಿವ್ಸ್"
+ },
+ "MX": {
+ "name": "ಮೆಕ್ಸಿಕೊ"
+ },
+ "FM": {
+ "name": "ಮೈಕ್ರೋನೇಶಿಯಾ"
+ },
+ "MN": {
+ "name": "ಮೊಂಗೋಲಿಯಾ"
+ },
+ "ME": {
+ "name": "ಮೊಂಟೆನೆಗ್ರೋ"
+ },
+ "MZ": {
+ "name": "ಮೊಜಾಂಬಿಕ್"
+ },
+ "MC": {
+ "name": "ಮೊನಾಕೊ"
+ },
+ "MA": {
+ "name": "ಮೊರಾಕ್ಕೊ"
+ },
+ "MD": {
+ "name": "ಮೊಲ್ಡೋವಾ"
+ },
+ "MK": {
+ "name": "ಮ್ಯಾಸಿಡೋನಿಯಾ"
+ },
+ "VI": {
+ "name": "ಯು.ಎಸ್. ವರ್ಜಿನ್ ದ್ವೀಪಗಳು"
+ },
+ "UM": {
+ "name": "ಯುಎಸ್‌. ಔಟ್‌ಲೇಯಿಂಗ್ ದ್ವೀಪಗಳು"
+ },
+ "YE": {
+ "name": "ಯೆಮನ್"
+ },
+ "RU": {
+ "name": "ರಷ್ಯಾ"
+ },
+ "RE": {
+ "name": "ರೀಯೂನಿಯನ್"
+ },
+ "RW": {
+ "name": "ರುವಾಂಡಾ"
+ },
+ "RO": {
+ "name": "ರೊಮೇನಿಯಾ"
+ },
+ "LU": {
+ "name": "ಲಕ್ಸಂಬರ್ಗ್"
+ },
+ "LV": {
+ "name": "ಲಾಟ್ವಿಯಾ"
+ },
+ "LA": {
+ "name": "ಲಾವೋಸ್"
+ },
+ "LI": {
+ "name": "ಲಿಚೆನ್‌ಸ್ಟೈನ್"
+ },
+ "LT": {
+ "name": "ಲಿಥುವೇನಿಯಾ"
+ },
+ "LY": {
+ "name": "ಲಿಬಿಯಾ"
+ },
+ "LR": {
+ "name": "ಲಿಬೇರಿಯಾ"
+ },
+ "LB": {
+ "name": "ಲೆಬನಾನ್"
+ },
+ "LS": {
+ "name": "ಲೆಸೊಥೋ"
+ },
+ "VU": {
+ "name": "ವನೌಟು"
+ },
+ "WF": {
+ "name": "ವಾಲಿಸ್ ಮತ್ತು ಫುಟುನಾ"
+ },
+ "VN": {
+ "name": "ವಿಯೇಟ್ನಾಮ್"
+ },
+ "VE": {
+ "name": "ವೆನೆಜುವೆಲಾ"
+ },
+ "VA": {
+ "name": "ವ್ಯಾಟಿಕನ್"
+ },
+ "LK": {
+ "name": "ಶ್ರೀಲಂಕಾ"
+ },
+ "AE": {
+ "name": "ಸಂಯುಕ್ತ ಅರಬ್ ಎಮಿರೇಟಸ್"
+ },
+ "WS": {
+ "name": "ಸಮೋವಾ"
+ },
+ "ST": {
+ "name": "ಸಾವೋ ಟೋಮ್ ಮತ್ತು ಪ್ರಿನ್ಸಿಪಿ"
+ },
+ "SG": {
+ "name": "ಸಿಂಗಾಪುರ್"
+ },
+ "SX": {
+ "name": "ಸಿಂಟ್ ಮಾರ್ಟೆನ್"
+ },
+ "SL": {
+ "name": "ಸಿಯೆರ್ರಾ ಲಿಯೋನ್"
+ },
+ "SY": {
+ "name": "ಸಿರಿಯಾ"
+ },
+ "SC": {
+ "name": "ಸೀಶೆಲ್ಲೆಸ್"
+ },
+ "SR": {
+ "name": "ಸುರಿನಾಮ"
+ },
+ "SD": {
+ "name": "ಸೂಡಾನ್"
+ },
+ "SN": {
+ "name": "ಸೆನೆಗಲ್"
+ },
+ "EA": {
+ "name": "ಸೆಯುಟಾ ಹಾಗೂ ಮೆಲಿಲ್ಲಾ"
+ },
+ "RS": {
+ "name": "ಸೆರ್ಬಿಯಾ"
+ },
+ "KN": {
+ "name": "ಸೇಂಟ್ ಕಿಟ್ಸ್ ಮತ್ತು ನೆವಿಸ್"
+ },
+ "PM": {
+ "name": "ಸೇಂಟ್ ಪಿಯರೆ ಮತ್ತು ಮಿಕೆಲನ್"
+ },
+ "BL": {
+ "name": "ಸೇಂಟ್ ಬಾರ್ಥೆಲೆಮಿ"
+ },
+ "MF": {
+ "name": "ಸೇಂಟ್ ಮಾರ್ಟಿನ್"
+ },
+ "LC": {
+ "name": "ಸೇಂಟ್ ಲೂಸಿಯಾ"
+ },
+ "SH": {
+ "name": "ಸೇಂಟ್ ಹೆಲೆನಾ"
+ },
+ "VC": {
+ "name": "ಸೇಂಟ್. ವಿನ್ಸೆಂಟ್ ಮತ್ತು ಗ್ರೆನೆಡೈನ್ಸ್"
+ },
+ "CY": {
+ "name": "ಸೈಪ್ರಸ್"
+ },
+ "SO": {
+ "name": "ಸೊಮಾಲಿಯಾ"
+ },
+ "SB": {
+ "name": "ಸೊಲೊಮನ್ ದ್ವೀಪಗಳು"
+ },
+ "SA": {
+ "name": "ಸೌದಿ ಅರೇಬಿಯಾ"
+ },
+ "ES": {
+ "name": "ಸ್ಪೇನ್"
+ },
+ "SM": {
+ "name": "ಸ್ಯಾನ್ ಮೆರಿನೋ"
+ },
+ "SK": {
+ "name": "ಸ್ಲೋವಾಕಿಯಾ"
+ },
+ "SI": {
+ "name": "ಸ್ಲೋವೇನಿಯಾ"
+ },
+ "SZ": {
+ "name": "ಸ್ವಾಜಿಲ್ಯಾಂಡ್"
+ },
+ "SJ": {
+ "name": "ಸ್ವಾಲ್ಬಾರ್ಡ್ ಮತ್ತು ಜಾನ್ ಮೆಯನ್"
+ },
+ "CH": {
+ "name": "ಸ್ವಿಟ್ಜರ್ಲ್ಯಾಂಡ್"
+ },
+ "SE": {
+ "name": "ಸ್ವೀಡನ್"
+ },
+ "HU": {
+ "name": "ಹಂಗೇರಿ"
+ },
+ "HK": {
+ "name": "ಹಾಂಗ್ ಕಾಂಗ್ SAR ಚೈನಾ"
+ },
+ "HT": {
+ "name": "ಹೈಟಿ"
+ },
+ "HN": {
+ "name": "ಹೊಂಡುರಾಸ್"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/ko-KP.json b/vendor/commerceguys/intl/resources/country/ko-KP.json
new file mode 100644
index 000000000..68c0e32fe
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/ko-KP.json
@@ -0,0 +1,761 @@
+{
+ "GH": {
+ "name": "가나"
+ },
+ "GA": {
+ "name": "가봉"
+ },
+ "GY": {
+ "name": "가이아나"
+ },
+ "GM": {
+ "name": "감비아"
+ },
+ "GG": {
+ "name": "건지"
+ },
+ "GP": {
+ "name": "과들루프"
+ },
+ "GT": {
+ "name": "과테말라"
+ },
+ "GU": {
+ "name": "괌"
+ },
+ "GD": {
+ "name": "그레나다"
+ },
+ "GR": {
+ "name": "그리스"
+ },
+ "GL": {
+ "name": "그린란드"
+ },
+ "GN": {
+ "name": "기니"
+ },
+ "GW": {
+ "name": "기니비사우"
+ },
+ "NA": {
+ "name": "나미비아"
+ },
+ "NR": {
+ "name": "나우루"
+ },
+ "NG": {
+ "name": "나이지리아"
+ },
+ "AQ": {
+ "name": "남극 대륙"
+ },
+ "SS": {
+ "name": "남수단"
+ },
+ "ZA": {
+ "name": "남아프리카"
+ },
+ "NL": {
+ "name": "네덜란드"
+ },
+ "BQ": {
+ "name": "네덜란드령 카리브"
+ },
+ "NP": {
+ "name": "네팔"
+ },
+ "NO": {
+ "name": "노르웨이"
+ },
+ "NF": {
+ "name": "노퍽섬"
+ },
+ "NZ": {
+ "name": "뉴질랜드"
+ },
+ "NC": {
+ "name": "뉴칼레도니아"
+ },
+ "NU": {
+ "name": "니우에"
+ },
+ "NE": {
+ "name": "니제르"
+ },
+ "NI": {
+ "name": "니카라과"
+ },
+ "TW": {
+ "name": "대만"
+ },
+ "KR": {
+ "name": "대한민국"
+ },
+ "DK": {
+ "name": "덴마크"
+ },
+ "DM": {
+ "name": "도미니카"
+ },
+ "DO": {
+ "name": "도미니카 공화국"
+ },
+ "DE": {
+ "name": "독일"
+ },
+ "TL": {
+ "name": "동티모르"
+ },
+ "DG": {
+ "name": "디에고 가르시아"
+ },
+ "LA": {
+ "name": "라오스"
+ },
+ "LR": {
+ "name": "라이베리아"
+ },
+ "LV": {
+ "name": "라트비아"
+ },
+ "RU": {
+ "name": "러시아"
+ },
+ "LB": {
+ "name": "레바논"
+ },
+ "LS": {
+ "name": "레소토"
+ },
+ "RO": {
+ "name": "루마니아"
+ },
+ "LU": {
+ "name": "룩셈부르크"
+ },
+ "RW": {
+ "name": "르완다"
+ },
+ "LY": {
+ "name": "리비아"
+ },
+ "RE": {
+ "name": "리유니온"
+ },
+ "LT": {
+ "name": "리투아니아"
+ },
+ "LI": {
+ "name": "리히텐슈타인"
+ },
+ "MG": {
+ "name": "마다가스카르"
+ },
+ "MQ": {
+ "name": "마르티니크"
+ },
+ "MH": {
+ "name": "마셜 제도"
+ },
+ "YT": {
+ "name": "마요트"
+ },
+ "MO": {
+ "name": "마카오(중국 특별행정구)"
+ },
+ "MK": {
+ "name": "마케도니아"
+ },
+ "MW": {
+ "name": "말라위"
+ },
+ "MY": {
+ "name": "말레이시아"
+ },
+ "ML": {
+ "name": "말리"
+ },
+ "IM": {
+ "name": "맨 섬"
+ },
+ "MX": {
+ "name": "멕시코"
+ },
+ "MC": {
+ "name": "모나코"
+ },
+ "MA": {
+ "name": "모로코"
+ },
+ "MU": {
+ "name": "모리셔스"
+ },
+ "MR": {
+ "name": "모리타니"
+ },
+ "MZ": {
+ "name": "모잠비크"
+ },
+ "ME": {
+ "name": "몬테네그로"
+ },
+ "MS": {
+ "name": "몬트세라트"
+ },
+ "MD": {
+ "name": "몰도바"
+ },
+ "MV": {
+ "name": "몰디브"
+ },
+ "MT": {
+ "name": "몰타"
+ },
+ "MN": {
+ "name": "몽골"
+ },
+ "US": {
+ "name": "미국"
+ },
+ "VI": {
+ "name": "미국령 버진아일랜드"
+ },
+ "UM": {
+ "name": "미국령 해외 제도"
+ },
+ "MM": {
+ "name": "미얀마"
+ },
+ "FM": {
+ "name": "미크로네시아"
+ },
+ "VU": {
+ "name": "바누아투"
+ },
+ "BH": {
+ "name": "바레인"
+ },
+ "BB": {
+ "name": "바베이도스"
+ },
+ "VA": {
+ "name": "바티칸 시국"
+ },
+ "BS": {
+ "name": "바하마"
+ },
+ "BD": {
+ "name": "방글라데시"
+ },
+ "BM": {
+ "name": "버뮤다"
+ },
+ "BJ": {
+ "name": "베냉"
+ },
+ "VE": {
+ "name": "베네수엘라"
+ },
+ "VN": {
+ "name": "베트남"
+ },
+ "BE": {
+ "name": "벨기에"
+ },
+ "BY": {
+ "name": "벨라루스"
+ },
+ "BZ": {
+ "name": "벨리즈"
+ },
+ "BA": {
+ "name": "보스니아 헤르체고비나"
+ },
+ "BW": {
+ "name": "보츠와나"
+ },
+ "BO": {
+ "name": "볼리비아"
+ },
+ "BI": {
+ "name": "부룬디"
+ },
+ "BF": {
+ "name": "부르키나파소"
+ },
+ "BT": {
+ "name": "부탄"
+ },
+ "MP": {
+ "name": "북마리아나제도"
+ },
+ "BG": {
+ "name": "불가리아"
+ },
+ "BR": {
+ "name": "브라질"
+ },
+ "BN": {
+ "name": "브루나이"
+ },
+ "WS": {
+ "name": "사모아"
+ },
+ "SA": {
+ "name": "사우디아라비아"
+ },
+ "GS": {
+ "name": "사우스조지아 사우스샌드위치 제도"
+ },
+ "SM": {
+ "name": "산마리노"
+ },
+ "ST": {
+ "name": "상투메 프린시페"
+ },
+ "MF": {
+ "name": "생마르탱"
+ },
+ "BL": {
+ "name": "생바르텔레미"
+ },
+ "PM": {
+ "name": "생피에르 미클롱"
+ },
+ "EH": {
+ "name": "서사하라"
+ },
+ "SN": {
+ "name": "세네갈"
+ },
+ "RS": {
+ "name": "세르비아"
+ },
+ "EA": {
+ "name": "세우타 및 멜리야"
+ },
+ "SC": {
+ "name": "세이셸"
+ },
+ "LC": {
+ "name": "세인트루시아"
+ },
+ "VC": {
+ "name": "세인트빈센트그레나딘"
+ },
+ "KN": {
+ "name": "세인트키츠 네비스"
+ },
+ "SH": {
+ "name": "세인트헬레나"
+ },
+ "SO": {
+ "name": "소말리아"
+ },
+ "SB": {
+ "name": "솔로몬 제도"
+ },
+ "SD": {
+ "name": "수단"
+ },
+ "SR": {
+ "name": "수리남"
+ },
+ "LK": {
+ "name": "스리랑카"
+ },
+ "SJ": {
+ "name": "스발바르제도-얀마웬섬"
+ },
+ "SZ": {
+ "name": "스와질란드"
+ },
+ "SE": {
+ "name": "스웨덴"
+ },
+ "CH": {
+ "name": "스위스"
+ },
+ "ES": {
+ "name": "스페인"
+ },
+ "SK": {
+ "name": "슬로바키아"
+ },
+ "SI": {
+ "name": "슬로베니아"
+ },
+ "SY": {
+ "name": "시리아"
+ },
+ "SL": {
+ "name": "시에라리온"
+ },
+ "SX": {
+ "name": "신트마르턴"
+ },
+ "SG": {
+ "name": "싱가포르"
+ },
+ "AE": {
+ "name": "아랍에미리트"
+ },
+ "AW": {
+ "name": "아루바"
+ },
+ "AM": {
+ "name": "아르메니아"
+ },
+ "AR": {
+ "name": "아르헨티나"
+ },
+ "AS": {
+ "name": "아메리칸 사모아"
+ },
+ "IS": {
+ "name": "아이슬란드"
+ },
+ "HT": {
+ "name": "아이티"
+ },
+ "IE": {
+ "name": "아일랜드"
+ },
+ "AZ": {
+ "name": "아제르바이잔"
+ },
+ "AF": {
+ "name": "아프가니스탄"
+ },
+ "AD": {
+ "name": "안도라"
+ },
+ "AL": {
+ "name": "알바니아"
+ },
+ "DZ": {
+ "name": "알제리"
+ },
+ "AO": {
+ "name": "앙골라"
+ },
+ "AG": {
+ "name": "앤티가 바부다"
+ },
+ "AI": {
+ "name": "앵귈라"
+ },
+ "AC": {
+ "name": "어센션 섬"
+ },
+ "ER": {
+ "name": "에리트리아"
+ },
+ "EE": {
+ "name": "에스토니아"
+ },
+ "EC": {
+ "name": "에콰도르"
+ },
+ "ET": {
+ "name": "에티오피아"
+ },
+ "SV": {
+ "name": "엘살바도르"
+ },
+ "GB": {
+ "name": "영국"
+ },
+ "VG": {
+ "name": "영국령 버진아일랜드"
+ },
+ "IO": {
+ "name": "영국령 인도양 식민지"
+ },
+ "YE": {
+ "name": "예멘"
+ },
+ "OM": {
+ "name": "오만"
+ },
+ "AU": {
+ "name": "오스트레일리아"
+ },
+ "AT": {
+ "name": "오스트리아"
+ },
+ "HN": {
+ "name": "온두라스"
+ },
+ "AX": {
+ "name": "올란드 제도"
+ },
+ "WF": {
+ "name": "왈리스-푸투나 제도"
+ },
+ "JO": {
+ "name": "요르단"
+ },
+ "UG": {
+ "name": "우간다"
+ },
+ "UY": {
+ "name": "우루과이"
+ },
+ "UZ": {
+ "name": "우즈베키스탄"
+ },
+ "UA": {
+ "name": "우크라이나"
+ },
+ "IQ": {
+ "name": "이라크"
+ },
+ "IR": {
+ "name": "이란"
+ },
+ "IL": {
+ "name": "이스라엘"
+ },
+ "EG": {
+ "name": "이집트"
+ },
+ "IT": {
+ "name": "이탈리아"
+ },
+ "IN": {
+ "name": "인도"
+ },
+ "ID": {
+ "name": "인도네시아"
+ },
+ "JP": {
+ "name": "일본"
+ },
+ "JM": {
+ "name": "자메이카"
+ },
+ "ZM": {
+ "name": "잠비아"
+ },
+ "JE": {
+ "name": "저지"
+ },
+ "GQ": {
+ "name": "적도 기니"
+ },
+ "KP": {
+ "name": "조선민주주의인민공화국"
+ },
+ "GE": {
+ "name": "조지아"
+ },
+ "CN": {
+ "name": "중국"
+ },
+ "CF": {
+ "name": "중앙 아프리카 공화국"
+ },
+ "DJ": {
+ "name": "지부티"
+ },
+ "GI": {
+ "name": "지브롤터"
+ },
+ "ZW": {
+ "name": "짐바브웨"
+ },
+ "TD": {
+ "name": "차드"
+ },
+ "CZ": {
+ "name": "체코"
+ },
+ "CL": {
+ "name": "칠레"
+ },
+ "IC": {
+ "name": "카나리아 제도"
+ },
+ "CM": {
+ "name": "카메룬"
+ },
+ "CV": {
+ "name": "카보베르데"
+ },
+ "KZ": {
+ "name": "카자흐스탄"
+ },
+ "QA": {
+ "name": "카타르"
+ },
+ "KH": {
+ "name": "캄보디아"
+ },
+ "CA": {
+ "name": "캐나다"
+ },
+ "KE": {
+ "name": "케냐"
+ },
+ "KY": {
+ "name": "케이맨 제도"
+ },
+ "KM": {
+ "name": "코모로"
+ },
+ "XK": {
+ "name": "코소보"
+ },
+ "CR": {
+ "name": "코스타리카"
+ },
+ "CC": {
+ "name": "코코스 제도"
+ },
+ "CI": {
+ "name": "코트디부아르"
+ },
+ "CO": {
+ "name": "콜롬비아"
+ },
+ "CG": {
+ "name": "콩고-브라자빌"
+ },
+ "CD": {
+ "name": "콩고-킨샤사"
+ },
+ "CU": {
+ "name": "쿠바"
+ },
+ "KW": {
+ "name": "쿠웨이트"
+ },
+ "CK": {
+ "name": "쿡 제도"
+ },
+ "CW": {
+ "name": "퀴라소"
+ },
+ "HR": {
+ "name": "크로아티아"
+ },
+ "CX": {
+ "name": "크리스마스섬"
+ },
+ "KG": {
+ "name": "키르기스스탄"
+ },
+ "KI": {
+ "name": "키리바시"
+ },
+ "CY": {
+ "name": "키프로스"
+ },
+ "TJ": {
+ "name": "타지키스탄"
+ },
+ "TZ": {
+ "name": "탄자니아"
+ },
+ "TH": {
+ "name": "태국"
+ },
+ "TC": {
+ "name": "터크스 케이커스 제도"
+ },
+ "TR": {
+ "name": "터키"
+ },
+ "TG": {
+ "name": "토고"
+ },
+ "TK": {
+ "name": "토켈라우"
+ },
+ "TO": {
+ "name": "통가"
+ },
+ "TM": {
+ "name": "투르크메니스탄"
+ },
+ "TV": {
+ "name": "투발루"
+ },
+ "TN": {
+ "name": "튀니지"
+ },
+ "TT": {
+ "name": "트리니다드 토바고"
+ },
+ "TA": {
+ "name": "트리스탄다쿠나"
+ },
+ "PA": {
+ "name": "파나마"
+ },
+ "PY": {
+ "name": "파라과이"
+ },
+ "PK": {
+ "name": "파키스탄"
+ },
+ "PG": {
+ "name": "파푸아뉴기니"
+ },
+ "PW": {
+ "name": "팔라우"
+ },
+ "PS": {
+ "name": "팔레스타인 지구"
+ },
+ "FO": {
+ "name": "페로 제도"
+ },
+ "PE": {
+ "name": "페루"
+ },
+ "PT": {
+ "name": "포르투갈"
+ },
+ "FK": {
+ "name": "포클랜드 제도"
+ },
+ "PL": {
+ "name": "폴란드"
+ },
+ "PR": {
+ "name": "푸에르토리코"
+ },
+ "FR": {
+ "name": "프랑스"
+ },
+ "TF": {
+ "name": "프랑스 남부 지방"
+ },
+ "GF": {
+ "name": "프랑스령 기아나"
+ },
+ "PF": {
+ "name": "프랑스령 폴리네시아"
+ },
+ "FJ": {
+ "name": "피지"
+ },
+ "FI": {
+ "name": "핀란드"
+ },
+ "PH": {
+ "name": "필리핀"
+ },
+ "PN": {
+ "name": "핏케언 섬"
+ },
+ "HU": {
+ "name": "헝가리"
+ },
+ "HK": {
+ "name": "홍콩(중국 특별행정구)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/ko.json b/vendor/commerceguys/intl/resources/country/ko.json
new file mode 100644
index 000000000..a3c1f0bb4
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/ko.json
@@ -0,0 +1,761 @@
+{
+ "GH": {
+ "name": "가나"
+ },
+ "GA": {
+ "name": "가봉"
+ },
+ "GY": {
+ "name": "가이아나"
+ },
+ "GM": {
+ "name": "감비아"
+ },
+ "GG": {
+ "name": "건지"
+ },
+ "GP": {
+ "name": "과들루프"
+ },
+ "GT": {
+ "name": "과테말라"
+ },
+ "GU": {
+ "name": "괌"
+ },
+ "GD": {
+ "name": "그레나다"
+ },
+ "GR": {
+ "name": "그리스"
+ },
+ "GL": {
+ "name": "그린란드"
+ },
+ "GN": {
+ "name": "기니"
+ },
+ "GW": {
+ "name": "기니비사우"
+ },
+ "NA": {
+ "name": "나미비아"
+ },
+ "NR": {
+ "name": "나우루"
+ },
+ "NG": {
+ "name": "나이지리아"
+ },
+ "AQ": {
+ "name": "남극 대륙"
+ },
+ "SS": {
+ "name": "남수단"
+ },
+ "ZA": {
+ "name": "남아프리카"
+ },
+ "NL": {
+ "name": "네덜란드"
+ },
+ "BQ": {
+ "name": "네덜란드령 카리브"
+ },
+ "NP": {
+ "name": "네팔"
+ },
+ "NO": {
+ "name": "노르웨이"
+ },
+ "NF": {
+ "name": "노퍽섬"
+ },
+ "NZ": {
+ "name": "뉴질랜드"
+ },
+ "NC": {
+ "name": "뉴칼레도니아"
+ },
+ "NU": {
+ "name": "니우에"
+ },
+ "NE": {
+ "name": "니제르"
+ },
+ "NI": {
+ "name": "니카라과"
+ },
+ "TW": {
+ "name": "대만"
+ },
+ "KR": {
+ "name": "대한민국"
+ },
+ "DK": {
+ "name": "덴마크"
+ },
+ "DM": {
+ "name": "도미니카"
+ },
+ "DO": {
+ "name": "도미니카 공화국"
+ },
+ "DE": {
+ "name": "독일"
+ },
+ "TL": {
+ "name": "동티모르"
+ },
+ "DG": {
+ "name": "디에고 가르시아"
+ },
+ "LA": {
+ "name": "라오스"
+ },
+ "LR": {
+ "name": "라이베리아"
+ },
+ "LV": {
+ "name": "라트비아"
+ },
+ "RU": {
+ "name": "러시아"
+ },
+ "LB": {
+ "name": "레바논"
+ },
+ "LS": {
+ "name": "레소토"
+ },
+ "RO": {
+ "name": "루마니아"
+ },
+ "LU": {
+ "name": "룩셈부르크"
+ },
+ "RW": {
+ "name": "르완다"
+ },
+ "LY": {
+ "name": "리비아"
+ },
+ "RE": {
+ "name": "리유니온"
+ },
+ "LT": {
+ "name": "리투아니아"
+ },
+ "LI": {
+ "name": "리히텐슈타인"
+ },
+ "MG": {
+ "name": "마다가스카르"
+ },
+ "MQ": {
+ "name": "마르티니크"
+ },
+ "MH": {
+ "name": "마셜 제도"
+ },
+ "YT": {
+ "name": "마요트"
+ },
+ "MO": {
+ "name": "마카오(중국 특별행정구)"
+ },
+ "MK": {
+ "name": "마케도니아"
+ },
+ "MW": {
+ "name": "말라위"
+ },
+ "MY": {
+ "name": "말레이시아"
+ },
+ "ML": {
+ "name": "말리"
+ },
+ "IM": {
+ "name": "맨 섬"
+ },
+ "MX": {
+ "name": "멕시코"
+ },
+ "MC": {
+ "name": "모나코"
+ },
+ "MA": {
+ "name": "모로코"
+ },
+ "MU": {
+ "name": "모리셔스"
+ },
+ "MR": {
+ "name": "모리타니"
+ },
+ "MZ": {
+ "name": "모잠비크"
+ },
+ "ME": {
+ "name": "몬테네그로"
+ },
+ "MS": {
+ "name": "몬트세라트"
+ },
+ "MD": {
+ "name": "몰도바"
+ },
+ "MV": {
+ "name": "몰디브"
+ },
+ "MT": {
+ "name": "몰타"
+ },
+ "MN": {
+ "name": "몽골"
+ },
+ "US": {
+ "name": "미국"
+ },
+ "VI": {
+ "name": "미국령 버진아일랜드"
+ },
+ "UM": {
+ "name": "미국령 해외 제도"
+ },
+ "MM": {
+ "name": "미얀마"
+ },
+ "FM": {
+ "name": "미크로네시아"
+ },
+ "VU": {
+ "name": "바누아투"
+ },
+ "BH": {
+ "name": "바레인"
+ },
+ "BB": {
+ "name": "바베이도스"
+ },
+ "VA": {
+ "name": "바티칸 시국"
+ },
+ "BS": {
+ "name": "바하마"
+ },
+ "BD": {
+ "name": "방글라데시"
+ },
+ "BM": {
+ "name": "버뮤다"
+ },
+ "BJ": {
+ "name": "베냉"
+ },
+ "VE": {
+ "name": "베네수엘라"
+ },
+ "VN": {
+ "name": "베트남"
+ },
+ "BE": {
+ "name": "벨기에"
+ },
+ "BY": {
+ "name": "벨라루스"
+ },
+ "BZ": {
+ "name": "벨리즈"
+ },
+ "BA": {
+ "name": "보스니아 헤르체고비나"
+ },
+ "BW": {
+ "name": "보츠와나"
+ },
+ "BO": {
+ "name": "볼리비아"
+ },
+ "BI": {
+ "name": "부룬디"
+ },
+ "BF": {
+ "name": "부르키나파소"
+ },
+ "BT": {
+ "name": "부탄"
+ },
+ "MP": {
+ "name": "북마리아나제도"
+ },
+ "KP": {
+ "name": "북한"
+ },
+ "BG": {
+ "name": "불가리아"
+ },
+ "BR": {
+ "name": "브라질"
+ },
+ "BN": {
+ "name": "브루나이"
+ },
+ "WS": {
+ "name": "사모아"
+ },
+ "SA": {
+ "name": "사우디아라비아"
+ },
+ "GS": {
+ "name": "사우스조지아 사우스샌드위치 제도"
+ },
+ "SM": {
+ "name": "산마리노"
+ },
+ "ST": {
+ "name": "상투메 프린시페"
+ },
+ "MF": {
+ "name": "생마르탱"
+ },
+ "BL": {
+ "name": "생바르텔레미"
+ },
+ "PM": {
+ "name": "생피에르 미클롱"
+ },
+ "EH": {
+ "name": "서사하라"
+ },
+ "SN": {
+ "name": "세네갈"
+ },
+ "RS": {
+ "name": "세르비아"
+ },
+ "EA": {
+ "name": "세우타 및 멜리야"
+ },
+ "SC": {
+ "name": "세이셸"
+ },
+ "LC": {
+ "name": "세인트루시아"
+ },
+ "VC": {
+ "name": "세인트빈센트그레나딘"
+ },
+ "KN": {
+ "name": "세인트키츠 네비스"
+ },
+ "SH": {
+ "name": "세인트헬레나"
+ },
+ "SO": {
+ "name": "소말리아"
+ },
+ "SB": {
+ "name": "솔로몬 제도"
+ },
+ "SD": {
+ "name": "수단"
+ },
+ "SR": {
+ "name": "수리남"
+ },
+ "LK": {
+ "name": "스리랑카"
+ },
+ "SJ": {
+ "name": "스발바르제도-얀마웬섬"
+ },
+ "SZ": {
+ "name": "스와질란드"
+ },
+ "SE": {
+ "name": "스웨덴"
+ },
+ "CH": {
+ "name": "스위스"
+ },
+ "ES": {
+ "name": "스페인"
+ },
+ "SK": {
+ "name": "슬로바키아"
+ },
+ "SI": {
+ "name": "슬로베니아"
+ },
+ "SY": {
+ "name": "시리아"
+ },
+ "SL": {
+ "name": "시에라리온"
+ },
+ "SX": {
+ "name": "신트마르턴"
+ },
+ "SG": {
+ "name": "싱가포르"
+ },
+ "AE": {
+ "name": "아랍에미리트"
+ },
+ "AW": {
+ "name": "아루바"
+ },
+ "AM": {
+ "name": "아르메니아"
+ },
+ "AR": {
+ "name": "아르헨티나"
+ },
+ "AS": {
+ "name": "아메리칸 사모아"
+ },
+ "IS": {
+ "name": "아이슬란드"
+ },
+ "HT": {
+ "name": "아이티"
+ },
+ "IE": {
+ "name": "아일랜드"
+ },
+ "AZ": {
+ "name": "아제르바이잔"
+ },
+ "AF": {
+ "name": "아프가니스탄"
+ },
+ "AD": {
+ "name": "안도라"
+ },
+ "AL": {
+ "name": "알바니아"
+ },
+ "DZ": {
+ "name": "알제리"
+ },
+ "AO": {
+ "name": "앙골라"
+ },
+ "AG": {
+ "name": "앤티가 바부다"
+ },
+ "AI": {
+ "name": "앵귈라"
+ },
+ "AC": {
+ "name": "어센션 섬"
+ },
+ "ER": {
+ "name": "에리트리아"
+ },
+ "EE": {
+ "name": "에스토니아"
+ },
+ "EC": {
+ "name": "에콰도르"
+ },
+ "ET": {
+ "name": "에티오피아"
+ },
+ "SV": {
+ "name": "엘살바도르"
+ },
+ "GB": {
+ "name": "영국"
+ },
+ "VG": {
+ "name": "영국령 버진아일랜드"
+ },
+ "IO": {
+ "name": "영국령 인도양 식민지"
+ },
+ "YE": {
+ "name": "예멘"
+ },
+ "OM": {
+ "name": "오만"
+ },
+ "AU": {
+ "name": "오스트레일리아"
+ },
+ "AT": {
+ "name": "오스트리아"
+ },
+ "HN": {
+ "name": "온두라스"
+ },
+ "AX": {
+ "name": "올란드 제도"
+ },
+ "WF": {
+ "name": "왈리스-푸투나 제도"
+ },
+ "JO": {
+ "name": "요르단"
+ },
+ "UG": {
+ "name": "우간다"
+ },
+ "UY": {
+ "name": "우루과이"
+ },
+ "UZ": {
+ "name": "우즈베키스탄"
+ },
+ "UA": {
+ "name": "우크라이나"
+ },
+ "IQ": {
+ "name": "이라크"
+ },
+ "IR": {
+ "name": "이란"
+ },
+ "IL": {
+ "name": "이스라엘"
+ },
+ "EG": {
+ "name": "이집트"
+ },
+ "IT": {
+ "name": "이탈리아"
+ },
+ "IN": {
+ "name": "인도"
+ },
+ "ID": {
+ "name": "인도네시아"
+ },
+ "JP": {
+ "name": "일본"
+ },
+ "JM": {
+ "name": "자메이카"
+ },
+ "ZM": {
+ "name": "잠비아"
+ },
+ "JE": {
+ "name": "저지"
+ },
+ "GQ": {
+ "name": "적도 기니"
+ },
+ "GE": {
+ "name": "조지아"
+ },
+ "CN": {
+ "name": "중국"
+ },
+ "CF": {
+ "name": "중앙 아프리카 공화국"
+ },
+ "DJ": {
+ "name": "지부티"
+ },
+ "GI": {
+ "name": "지브롤터"
+ },
+ "ZW": {
+ "name": "짐바브웨"
+ },
+ "TD": {
+ "name": "차드"
+ },
+ "CZ": {
+ "name": "체코"
+ },
+ "CL": {
+ "name": "칠레"
+ },
+ "IC": {
+ "name": "카나리아 제도"
+ },
+ "CM": {
+ "name": "카메룬"
+ },
+ "CV": {
+ "name": "카보베르데"
+ },
+ "KZ": {
+ "name": "카자흐스탄"
+ },
+ "QA": {
+ "name": "카타르"
+ },
+ "KH": {
+ "name": "캄보디아"
+ },
+ "CA": {
+ "name": "캐나다"
+ },
+ "KE": {
+ "name": "케냐"
+ },
+ "KY": {
+ "name": "케이맨 제도"
+ },
+ "KM": {
+ "name": "코모로"
+ },
+ "XK": {
+ "name": "코소보"
+ },
+ "CR": {
+ "name": "코스타리카"
+ },
+ "CC": {
+ "name": "코코스 제도"
+ },
+ "CI": {
+ "name": "코트디부아르"
+ },
+ "CO": {
+ "name": "콜롬비아"
+ },
+ "CG": {
+ "name": "콩고-브라자빌"
+ },
+ "CD": {
+ "name": "콩고-킨샤사"
+ },
+ "CU": {
+ "name": "쿠바"
+ },
+ "KW": {
+ "name": "쿠웨이트"
+ },
+ "CK": {
+ "name": "쿡 제도"
+ },
+ "CW": {
+ "name": "퀴라소"
+ },
+ "HR": {
+ "name": "크로아티아"
+ },
+ "CX": {
+ "name": "크리스마스섬"
+ },
+ "KG": {
+ "name": "키르기스스탄"
+ },
+ "KI": {
+ "name": "키리바시"
+ },
+ "CY": {
+ "name": "키프로스"
+ },
+ "TJ": {
+ "name": "타지키스탄"
+ },
+ "TZ": {
+ "name": "탄자니아"
+ },
+ "TH": {
+ "name": "태국"
+ },
+ "TC": {
+ "name": "터크스 케이커스 제도"
+ },
+ "TR": {
+ "name": "터키"
+ },
+ "TG": {
+ "name": "토고"
+ },
+ "TK": {
+ "name": "토켈라우"
+ },
+ "TO": {
+ "name": "통가"
+ },
+ "TM": {
+ "name": "투르크메니스탄"
+ },
+ "TV": {
+ "name": "투발루"
+ },
+ "TN": {
+ "name": "튀니지"
+ },
+ "TT": {
+ "name": "트리니다드 토바고"
+ },
+ "TA": {
+ "name": "트리스탄다쿠나"
+ },
+ "PA": {
+ "name": "파나마"
+ },
+ "PY": {
+ "name": "파라과이"
+ },
+ "PK": {
+ "name": "파키스탄"
+ },
+ "PG": {
+ "name": "파푸아뉴기니"
+ },
+ "PW": {
+ "name": "팔라우"
+ },
+ "PS": {
+ "name": "팔레스타인 지구"
+ },
+ "FO": {
+ "name": "페로 제도"
+ },
+ "PE": {
+ "name": "페루"
+ },
+ "PT": {
+ "name": "포르투갈"
+ },
+ "FK": {
+ "name": "포클랜드 제도"
+ },
+ "PL": {
+ "name": "폴란드"
+ },
+ "PR": {
+ "name": "푸에르토리코"
+ },
+ "FR": {
+ "name": "프랑스"
+ },
+ "TF": {
+ "name": "프랑스 남부 지방"
+ },
+ "GF": {
+ "name": "프랑스령 기아나"
+ },
+ "PF": {
+ "name": "프랑스령 폴리네시아"
+ },
+ "FJ": {
+ "name": "피지"
+ },
+ "FI": {
+ "name": "핀란드"
+ },
+ "PH": {
+ "name": "필리핀"
+ },
+ "PN": {
+ "name": "핏케언 섬"
+ },
+ "HU": {
+ "name": "헝가리"
+ },
+ "HK": {
+ "name": "홍콩(중국 특별행정구)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/ks.json b/vendor/commerceguys/intl/resources/country/ks.json
new file mode 100644
index 000000000..fafeaabcc
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/ks.json
@@ -0,0 +1,761 @@
+{
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "JO": {
+ "name": "Jordan"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "AZ": {
+ "name": "آزَرباجان"
+ },
+ "AU": {
+ "name": "آسٹریلِیا"
+ },
+ "AT": {
+ "name": "آسٹِیا"
+ },
+ "IM": {
+ "name": "آیِل آف میٛن"
+ },
+ "AR": {
+ "name": "أرجَنٹینا"
+ },
+ "SV": {
+ "name": "اٮ۪ل سَلواڑور"
+ },
+ "AL": {
+ "name": "اٮ۪لبانِیا"
+ },
+ "DZ": {
+ "name": "اٮ۪لجیرِیا"
+ },
+ "AG": {
+ "name": "اٮ۪نٹِگُوا تہٕ باربوڑا"
+ },
+ "AD": {
+ "name": "اٮ۪نڑورا"
+ },
+ "ET": {
+ "name": "اِتھوپِیا"
+ },
+ "IT": {
+ "name": "اِٹلی"
+ },
+ "ER": {
+ "name": "اِرٕٹِیا"
+ },
+ "AM": {
+ "name": "اَرمانِیا"
+ },
+ "AW": {
+ "name": "اَروٗبا"
+ },
+ "UZ": {
+ "name": "اُزبِکِستان"
+ },
+ "IL": {
+ "name": "اِسرایٖل"
+ },
+ "AF": {
+ "name": "اَفغانَستان"
+ },
+ "EC": {
+ "name": "اِکواڑور"
+ },
+ "GQ": {
+ "name": "اِکوِٹورِیَل گِنی"
+ },
+ "AS": {
+ "name": "اَمریٖکَن سَموا"
+ },
+ "ID": {
+ "name": "اِنڑونیشِیا"
+ },
+ "AI": {
+ "name": "انگوئیلا"
+ },
+ "AO": {
+ "name": "انگولا"
+ },
+ "OM": {
+ "name": "اومان"
+ },
+ "IQ": {
+ "name": "ایٖراق"
+ },
+ "IR": {
+ "name": "ایٖران"
+ },
+ "IE": {
+ "name": "اَیَرلینٛڑ"
+ },
+ "EE": {
+ "name": "ایسٹونِیا"
+ },
+ "IS": {
+ "name": "اَیِسلینٛڑ"
+ },
+ "AX": {
+ "name": "ایلینٛڑ جٔزیٖرٕ"
+ },
+ "AQ": {
+ "name": "اینٹارٹِکا"
+ },
+ "CI": {
+ "name": "اَیوٕری کوسٹ"
+ },
+ "BB": {
+ "name": "باربیڈاس"
+ },
+ "BH": {
+ "name": "بحریٖن"
+ },
+ "BR": {
+ "name": "برٛازِل"
+ },
+ "VG": {
+ "name": "بَرطانوی ؤرجِن جٔزیٖرٕ"
+ },
+ "IO": {
+ "name": "برطانوی بحرِ ہِنٛدۍ علاقہٕ"
+ },
+ "BQ": {
+ "name": "برطانوی قُطبہِ جَنوٗبی علاقہٕ"
+ },
+ "BF": {
+ "name": "بُرکِنا فیسو"
+ },
+ "BM": {
+ "name": "بٔرمیوڈا"
+ },
+ "BN": {
+ "name": "بُرنٔے"
+ },
+ "BG": {
+ "name": "بَلجیرِیا"
+ },
+ "BD": {
+ "name": "بَنٛگلادیش"
+ },
+ "BJ": {
+ "name": "بِنِن"
+ },
+ "BS": {
+ "name": "بَہامَس"
+ },
+ "BW": {
+ "name": "بوتَسوانا"
+ },
+ "BT": {
+ "name": "بوٗٹان"
+ },
+ "BI": {
+ "name": "بورَنڈِ"
+ },
+ "BA": {
+ "name": "بوسنِیا تہٕ ہَرزِگووِنا"
+ },
+ "BO": {
+ "name": "بولِوِیا"
+ },
+ "BY": {
+ "name": "بیلاروٗس"
+ },
+ "BZ": {
+ "name": "بیلِج"
+ },
+ "BE": {
+ "name": "بیٛلجِیَم"
+ },
+ "PG": {
+ "name": "پاپُوا نیوٗ گیٖنی"
+ },
+ "PK": {
+ "name": "پاکِستان"
+ },
+ "PN": {
+ "name": "پِٹکیرٕنۍ جٔزیٖرٕ"
+ },
+ "PY": {
+ "name": "پَراگُے"
+ },
+ "PT": {
+ "name": "پُرتِگال"
+ },
+ "PR": {
+ "name": "پٔرٹو رِکو"
+ },
+ "PW": {
+ "name": "پَلاو"
+ },
+ "PA": {
+ "name": "پَناما"
+ },
+ "PL": {
+ "name": "پولینٛڑ"
+ },
+ "PE": {
+ "name": "پیٖروٗ"
+ },
+ "TJ": {
+ "name": "تاجکِستان"
+ },
+ "TW": {
+ "name": "تایوان"
+ },
+ "TC": {
+ "name": "تُرُک تہٕ کیکوس جٔزیٖرٕ"
+ },
+ "TR": {
+ "name": "تُرکی"
+ },
+ "TM": {
+ "name": "تُرمِنِستان"
+ },
+ "TZ": {
+ "name": "تَنجانِیا"
+ },
+ "TH": {
+ "name": "تھایلینٛڑ"
+ },
+ "TK": {
+ "name": "توکیلاو"
+ },
+ "TV": {
+ "name": "توٗوالوٗ"
+ },
+ "TT": {
+ "name": "ٹرٛنِنداد تہٕ ٹوبیگو"
+ },
+ "TG": {
+ "name": "ٹوگو"
+ },
+ "TO": {
+ "name": "ٹونٛگا"
+ },
+ "TN": {
+ "name": "ٹونیشِیا"
+ },
+ "JP": {
+ "name": "جاپان"
+ },
+ "GE": {
+ "name": "جارجِیا"
+ },
+ "ZM": {
+ "name": "جامبِیا"
+ },
+ "GI": {
+ "name": "جِبرالٹَر"
+ },
+ "DJ": {
+ "name": "جِبوٗتی"
+ },
+ "JE": {
+ "name": "جٔرسی"
+ },
+ "DE": {
+ "name": "جرمٔنی"
+ },
+ "JM": {
+ "name": "جَمایکا"
+ },
+ "ZA": {
+ "name": "جَنوٗبی اَفریٖکا"
+ },
+ "GS": {
+ "name": "جنوٗبی جارجِیا تہٕ جنوٗبی سینٛڑوٕچ جٔزیٖرٕ"
+ },
+ "KR": {
+ "name": "جنوٗبی کورِیا"
+ },
+ "TD": {
+ "name": "چاڑ"
+ },
+ "CL": {
+ "name": "چِلی"
+ },
+ "CZ": {
+ "name": "چیک جَموٗرِیَت"
+ },
+ "CN": {
+ "name": "چیٖن"
+ },
+ "DM": {
+ "name": "ڈومِنِکا"
+ },
+ "DO": {
+ "name": "ڈومِنِکَن جموٗرِیَت"
+ },
+ "DK": {
+ "name": "ڈینٛمارٕک"
+ },
+ "RU": {
+ "name": "روٗس"
+ },
+ "RO": {
+ "name": "رومانِیا"
+ },
+ "RW": {
+ "name": "روٗوانٛڈا"
+ },
+ "RE": {
+ "name": "رِیوٗنِیَن"
+ },
+ "ZW": {
+ "name": "زِمبابے"
+ },
+ "ST": {
+ "name": "ساو توم تہٕ پرٛنسِپی"
+ },
+ "CY": {
+ "name": "سایفرٛس"
+ },
+ "ES": {
+ "name": "سٕپین"
+ },
+ "RS": {
+ "name": "سَربِیا"
+ },
+ "SR": {
+ "name": "سُرِنام"
+ },
+ "LK": {
+ "name": "سِریٖلَنٛکا"
+ },
+ "SK": {
+ "name": "سَلوواکِیا"
+ },
+ "SI": {
+ "name": "سَلووینِیا"
+ },
+ "SG": {
+ "name": "ٛسِنٛگاپوٗر"
+ },
+ "SJ": {
+ "name": "سَوالبریڑ تہٕ جان ماییڑ"
+ },
+ "SA": {
+ "name": "سوٗدی عربِیہ"
+ },
+ "SD": {
+ "name": "سوٗڈان"
+ },
+ "SE": {
+ "name": "سُوِڈَن"
+ },
+ "CH": {
+ "name": "سُوِزَرلینٛڑ"
+ },
+ "SZ": {
+ "name": "سُوزِلینٛڑ"
+ },
+ "SB": {
+ "name": "سولامان جٔزیٖرٕ"
+ },
+ "SO": {
+ "name": "سومالِیا"
+ },
+ "SL": {
+ "name": "سیٖرالیوون"
+ },
+ "SC": {
+ "name": "سیشَلِس"
+ },
+ "WS": {
+ "name": "سیمووا"
+ },
+ "SM": {
+ "name": "سین میرِنو"
+ },
+ "BL": {
+ "name": "سینٛٹ بارتَھیلمی"
+ },
+ "PM": {
+ "name": "سینٛٹ پیٖری تہٕ موکیلِیَن"
+ },
+ "KN": {
+ "name": "سینٛٹ کِٹَس تہٕ نیوِس"
+ },
+ "LC": {
+ "name": "سینٛٹ لوٗسِیا"
+ },
+ "MF": {
+ "name": "سینٛٹ مارٹِن"
+ },
+ "SH": {
+ "name": "سینٛٹ ہٮ۪لِنا"
+ },
+ "VC": {
+ "name": "سینٛٹ وینسٮ۪ٹ تہٕ گرٛیناڑاینٕز"
+ },
+ "SN": {
+ "name": "سینیگَل"
+ },
+ "SY": {
+ "name": "شام"
+ },
+ "KP": {
+ "name": "شُمٲلی کورِیا"
+ },
+ "MP": {
+ "name": "شُمٲلی مارِیانا جٔزیٖرٕ"
+ },
+ "FJ": {
+ "name": "فِجی"
+ },
+ "FR": {
+ "name": "فرٛانس"
+ },
+ "TF": {
+ "name": "فرٛانسِسی جَنوٗبی عَلاقہٕ"
+ },
+ "GF": {
+ "name": "فرٛانسِسی گِانا"
+ },
+ "PF": {
+ "name": "فرٛانسی پولِنیشِیا"
+ },
+ "FK": {
+ "name": "فٕلاکلینٛڑ جٔزیٖرٕ"
+ },
+ "PH": {
+ "name": "فِلِپِینس"
+ },
+ "PS": {
+ "name": "فَلَستیٖن"
+ },
+ "FI": {
+ "name": "فِنلینٛڑ"
+ },
+ "QA": {
+ "name": "قَطِر"
+ },
+ "KI": {
+ "name": "کِرٕباتی"
+ },
+ "CX": {
+ "name": "کرِسمَس جٔزیٖرٕ"
+ },
+ "KG": {
+ "name": "کِرگِستان"
+ },
+ "HR": {
+ "name": "کرٛوشِیا"
+ },
+ "KZ": {
+ "name": "کَزاکِستان"
+ },
+ "CK": {
+ "name": "کُک جٔزیٖرٕ"
+ },
+ "KH": {
+ "name": "کَمبوڑِیا"
+ },
+ "KM": {
+ "name": "کَمورَس"
+ },
+ "KE": {
+ "name": "کِنٛیا"
+ },
+ "CR": {
+ "name": "کوسٹا رِکا"
+ },
+ "CC": {
+ "name": "کوکَس کیٖلِنٛگ جٔزیٖرٕ"
+ },
+ "CO": {
+ "name": "کولَمبِیا"
+ },
+ "CG": {
+ "name": "کونٛگو بٔرٛزاوِلی"
+ },
+ "CD": {
+ "name": "کونٛگو کِنشاسا"
+ },
+ "KW": {
+ "name": "کُویت"
+ },
+ "CV": {
+ "name": "کیپ ؤرڑی"
+ },
+ "CM": {
+ "name": "کیٚمِروٗن"
+ },
+ "KY": {
+ "name": "کیمَن جٔزیٖرٕ"
+ },
+ "CA": {
+ "name": "کینَڑا"
+ },
+ "CU": {
+ "name": "کیوٗبا"
+ },
+ "GH": {
+ "name": "گانا"
+ },
+ "GD": {
+ "name": "گرٛنیڑا"
+ },
+ "GR": {
+ "name": "گریٖس"
+ },
+ "GL": {
+ "name": "گریٖنلینٛڑ"
+ },
+ "GM": {
+ "name": "گَمبِیا"
+ },
+ "GN": {
+ "name": "گِنی"
+ },
+ "GP": {
+ "name": "گَواڑیلوپ"
+ },
+ "GU": {
+ "name": "گُوام"
+ },
+ "GT": {
+ "name": "گوتیدالا"
+ },
+ "GY": {
+ "name": "گُیانا"
+ },
+ "GA": {
+ "name": "گیبان"
+ },
+ "GW": {
+ "name": "گیٖنی بِساو"
+ },
+ "GG": {
+ "name": "گیوَنَرسے"
+ },
+ "LA": {
+ "name": "لاس"
+ },
+ "LR": {
+ "name": "لایبیرِیا"
+ },
+ "LB": {
+ "name": "لٮ۪بنان"
+ },
+ "LY": {
+ "name": "لِبیا"
+ },
+ "LT": {
+ "name": "لِتھُوانِیا"
+ },
+ "LI": {
+ "name": "لِکٹیٛسٹیٖن"
+ },
+ "LU": {
+ "name": "لَکسَمبٔرٕگ"
+ },
+ "LV": {
+ "name": "لیٛٹوِیا"
+ },
+ "LS": {
+ "name": "لیسوتھو"
+ },
+ "MR": {
+ "name": "مارٕٹانِیا"
+ },
+ "MQ": {
+ "name": "مارٹِنِک"
+ },
+ "MH": {
+ "name": "مارشَل جٔزیٖرٕ"
+ },
+ "MT": {
+ "name": "مالٹا"
+ },
+ "MV": {
+ "name": "مالدیٖو"
+ },
+ "ML": {
+ "name": "مالی"
+ },
+ "MS": {
+ "name": "مانٛٹسیراٹ"
+ },
+ "MK": {
+ "name": "مٮ۪سوڑونِیا"
+ },
+ "MX": {
+ "name": "مٮ۪کسِکو"
+ },
+ "AE": {
+ "name": "مُتحدہ عرَب امارات"
+ },
+ "CF": {
+ "name": "مرکٔزی اَفریٖکی جموٗریَت"
+ },
+ "EG": {
+ "name": "مِسٔر"
+ },
+ "TL": {
+ "name": "مَشرِقی تایمور"
+ },
+ "EH": {
+ "name": "مشرِقی سَہارا"
+ },
+ "MO": {
+ "name": "مَکاوو ایس اے آر چیٖن"
+ },
+ "MW": {
+ "name": "ملاوی"
+ },
+ "MY": {
+ "name": "مَلیشِیا"
+ },
+ "MN": {
+ "name": "مَنٛگولِیا"
+ },
+ "ME": {
+ "name": "موٹونیٛگِریو"
+ },
+ "MU": {
+ "name": "مورِشَس"
+ },
+ "MA": {
+ "name": "موروکو"
+ },
+ "MZ": {
+ "name": "موزَمبِک"
+ },
+ "MD": {
+ "name": "مولڑاوِیا"
+ },
+ "MC": {
+ "name": "مونیٚکو"
+ },
+ "MG": {
+ "name": "میڑاگاسکار"
+ },
+ "MM": {
+ "name": "مَیَنما بٔرما"
+ },
+ "YT": {
+ "name": "مَییٹ"
+ },
+ "NF": {
+ "name": "نارفاک جٔزیٖرٕ"
+ },
+ "NR": {
+ "name": "نارووٗ"
+ },
+ "NO": {
+ "name": "ناروے"
+ },
+ "NI": {
+ "name": "ناکاراگُوا"
+ },
+ "NA": {
+ "name": "نامِبِیا"
+ },
+ "NE": {
+ "name": "نایجَر"
+ },
+ "NG": {
+ "name": "نایجیرِیا"
+ },
+ "NC": {
+ "name": "نِو کیلِڑونِیا"
+ },
+ "NP": {
+ "name": "نیپال"
+ },
+ "NL": {
+ "name": "نیٖدَرلینٛڑ"
+ },
+ "NU": {
+ "name": "نیوٗ"
+ },
+ "NZ": {
+ "name": "نیوٗزِلینٛڑ"
+ },
+ "HN": {
+ "name": "ہانٛڈوٗرِس"
+ },
+ "HK": {
+ "name": "ہانٛگ کانٛگ ایس اے آر چیٖن"
+ },
+ "HT": {
+ "name": "ہایتی"
+ },
+ "IN": {
+ "name": "ہِنٛدوستان"
+ },
+ "HU": {
+ "name": "ہَنٛگری"
+ },
+ "WF": {
+ "name": "والِس تہٕ فیوٗچوٗنا"
+ },
+ "VU": {
+ "name": "وانوٗتوٗ"
+ },
+ "VA": {
+ "name": "ویٹِکَن سِٹی"
+ },
+ "VN": {
+ "name": "ویٹِنام"
+ },
+ "VE": {
+ "name": "وینازوٗلا"
+ },
+ "YE": {
+ "name": "یَمَن"
+ },
+ "GB": {
+ "name": "یُنایٹِڑ کِنٛگڈَم"
+ },
+ "VI": {
+ "name": "یوٗ ایس ؤرجِن جٔزیٖرٕ"
+ },
+ "UA": {
+ "name": "یوٗرِکین"
+ },
+ "UY": {
+ "name": "یوٗروگے"
+ },
+ "UG": {
+ "name": "یوٗگانٛڑا"
+ },
+ "US": {
+ "name": "یوٗنایٹِڑ سِٹیٹِس"
+ },
+ "UM": {
+ "name": "یوٗنایٹِڑ سِٹیٹِس ماینَر آوُٹلییِنٛگ جٔزیٖرٕ"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/ksb.json b/vendor/commerceguys/intl/resources/country/ksb.json
new file mode 100644
index 000000000..1b6a27954
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/ksb.json
@@ -0,0 +1,761 @@
+{
+ "ZA": {
+ "name": "Aflika Kusini"
+ },
+ "AF": {
+ "name": "Afuganistani"
+ },
+ "IS": {
+ "name": "Aislandi"
+ },
+ "AR": {
+ "name": "Ajentina"
+ },
+ "AX": {
+ "name": "Åland Islands"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Aljelia"
+ },
+ "AM": {
+ "name": "Almenia"
+ },
+ "AW": {
+ "name": "Aluba"
+ },
+ "AD": {
+ "name": "Andola"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigua na Balbuda"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AU": {
+ "name": "Austlalia"
+ },
+ "AT": {
+ "name": "Austlia"
+ },
+ "IE": {
+ "name": "Ayalandi"
+ },
+ "AZ": {
+ "name": "Azabajani"
+ },
+ "BB": {
+ "name": "Babadosi"
+ },
+ "BH": {
+ "name": "Bahaleni"
+ },
+ "BS": {
+ "name": "Bahama"
+ },
+ "BD": {
+ "name": "Bangladeshi"
+ },
+ "BY": {
+ "name": "Belalusi"
+ },
+ "BE": {
+ "name": "Belgium"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BM": {
+ "name": "Belmuda"
+ },
+ "BJ": {
+ "name": "Benini"
+ },
+ "BR": {
+ "name": "Blazili"
+ },
+ "BN": {
+ "name": "Blunei"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia na Hezegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BF": {
+ "name": "Bukinafaso"
+ },
+ "MG": {
+ "name": "Bukini"
+ },
+ "BG": {
+ "name": "Bulgalia"
+ },
+ "BI": {
+ "name": "Bulundi"
+ },
+ "BT": {
+ "name": "Butani"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "TD": {
+ "name": "Chadi"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Denmaki"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "EC": {
+ "name": "Ekwado"
+ },
+ "ER": {
+ "name": "Elitlea"
+ },
+ "SV": {
+ "name": "Elsavado"
+ },
+ "IO": {
+ "name": "Eneo ja Uingeeza mwe Bahali Hindi"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "AE": {
+ "name": "Falme za Kialabu"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filipino"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gaboni"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GN": {
+ "name": "Gine"
+ },
+ "GW": {
+ "name": "Ginebisau"
+ },
+ "GQ": {
+ "name": "Ginekweta"
+ },
+ "GD": {
+ "name": "Glenada"
+ },
+ "GL": {
+ "name": "Glinlandi"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "GP": {
+ "name": "Gwadelupe"
+ },
+ "GU": {
+ "name": "Gwam"
+ },
+ "GT": {
+ "name": "Gwatemala"
+ },
+ "GF": {
+ "name": "Gwiyana ya Ufalansa"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "ES": {
+ "name": "Hispania"
+ },
+ "HN": {
+ "name": "Honduasi"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hungalia"
+ },
+ "IQ": {
+ "name": "Ilaki"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IL": {
+ "name": "Islaeli"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JM": {
+ "name": "Jamaika"
+ },
+ "CF": {
+ "name": "Jamhuli ya Afrika ya Gati"
+ },
+ "CZ": {
+ "name": "Jamhuli ya Cheki"
+ },
+ "DO": {
+ "name": "Jamhuli ya Dominika"
+ },
+ "CD": {
+ "name": "Jamhuli ya Kidemoklasia ya Kongo"
+ },
+ "JP": {
+ "name": "Japani"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "GI": {
+ "name": "Jiblalta"
+ },
+ "DJ": {
+ "name": "Jibuti"
+ },
+ "GE": {
+ "name": "Jojia"
+ },
+ "KH": {
+ "name": "Kambodia"
+ },
+ "CM": {
+ "name": "Kameluni"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "QA": {
+ "name": "Katali"
+ },
+ "KZ": {
+ "name": "Kazakistani"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "CV": {
+ "name": "Kepuvede"
+ },
+ "KI": {
+ "name": "Kiibati"
+ },
+ "KG": {
+ "name": "Kiigizistani"
+ },
+ "NF": {
+ "name": "Kisiwa cha Nolfok"
+ },
+ "CI": {
+ "name": "Kodivaa"
+ },
+ "HR": {
+ "name": "Kolasia"
+ },
+ "KP": {
+ "name": "Kolea Kaskazini"
+ },
+ "KR": {
+ "name": "Kolea Kusini"
+ },
+ "CO": {
+ "name": "Kolombia"
+ },
+ "KM": {
+ "name": "Komolo"
+ },
+ "CG": {
+ "name": "Kongo"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "Kostalika"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "CY": {
+ "name": "Kuplosi"
+ },
+ "KW": {
+ "name": "Kuwaiti"
+ },
+ "LA": {
+ "name": "Laosi"
+ },
+ "LU": {
+ "name": "Lasembagi"
+ },
+ "LV": {
+ "name": "Lativia"
+ },
+ "LB": {
+ "name": "Lebanoni"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LR": {
+ "name": "Libelia"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Lishenteni"
+ },
+ "LT": {
+ "name": "Litwania"
+ },
+ "RE": {
+ "name": "Liyunioni"
+ },
+ "RO": {
+ "name": "Lomania"
+ },
+ "RW": {
+ "name": "Lwanda"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "US": {
+ "name": "Malekani"
+ },
+ "MY": {
+ "name": "Malesia"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MQ": {
+ "name": "Maltiniki"
+ },
+ "MK": {
+ "name": "Masedonia"
+ },
+ "MR": {
+ "name": "Maulitania"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Meksiko"
+ },
+ "FM": {
+ "name": "Miklonesia"
+ },
+ "EG": {
+ "name": "Misli"
+ },
+ "MV": {
+ "name": "Modivu"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MU": {
+ "name": "Molisi"
+ },
+ "MA": {
+ "name": "Moloko"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montselati"
+ },
+ "MZ": {
+ "name": "Msumbiji"
+ },
+ "MM": {
+ "name": "Myama"
+ },
+ "NE": {
+ "name": "Naija"
+ },
+ "NG": {
+ "name": "Naijelia"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Naulu"
+ },
+ "NP": {
+ "name": "Nepali"
+ },
+ "NI": {
+ "name": "Nikalagwa"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Nolwei"
+ },
+ "NC": {
+ "name": "Nyukaledonia"
+ },
+ "NZ": {
+ "name": "Nyuzilandi"
+ },
+ "OM": {
+ "name": "Omani"
+ },
+ "PK": {
+ "name": "Pakistani"
+ },
+ "PY": {
+ "name": "Palagwai"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua"
+ },
+ "PE": {
+ "name": "Pelu"
+ },
+ "PN": {
+ "name": "Pitkailni"
+ },
+ "PL": {
+ "name": "Polandi"
+ },
+ "PF": {
+ "name": "Polinesia ya Ufalansa"
+ },
+ "PR": {
+ "name": "Pwetoliko"
+ },
+ "SM": {
+ "name": "Samalino"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa ya Malekani"
+ },
+ "SH": {
+ "name": "Santahelena"
+ },
+ "KN": {
+ "name": "Santakitzi na Nevis"
+ },
+ "LC": {
+ "name": "Santalusia"
+ },
+ "PM": {
+ "name": "Santapieli na Mikeloni"
+ },
+ "VC": {
+ "name": "Santavisenti na Glenadini"
+ },
+ "ST": {
+ "name": "Sao Tome na Plincipe"
+ },
+ "SA": {
+ "name": "Saudi"
+ },
+ "SN": {
+ "name": "Senegali"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Shelisheli"
+ },
+ "SL": {
+ "name": "Siela Leoni"
+ },
+ "SY": {
+ "name": "Silia"
+ },
+ "LK": {
+ "name": "Sililanka"
+ },
+ "SG": {
+ "name": "Singapoo"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SD": {
+ "name": "Sudani"
+ },
+ "SR": {
+ "name": "Sulinamu"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailandi"
+ },
+ "TW": {
+ "name": "Taiwani"
+ },
+ "TJ": {
+ "name": "Tajikistani"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TL": {
+ "name": "Timoli ya Mashaliki"
+ },
+ "TT": {
+ "name": "Tlinidad na Tobago"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TM": {
+ "name": "Tulukimenistani"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "IR": {
+ "name": "Uajemi"
+ },
+ "FR": {
+ "name": "Ufalansa"
+ },
+ "FI": {
+ "name": "Ufini"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "GR": {
+ "name": "Ugiiki"
+ },
+ "ET": {
+ "name": "Uhabeshi"
+ },
+ "NL": {
+ "name": "Uholanzi"
+ },
+ "GB": {
+ "name": "Uingeeza"
+ },
+ "DE": {
+ "name": "Ujeumani"
+ },
+ "PS": {
+ "name": "Ukingo wa Maghalibi na Ukanda wa Gaza wa Palestina"
+ },
+ "UA": {
+ "name": "Uklaini"
+ },
+ "PT": {
+ "name": "Uleno"
+ },
+ "UY": {
+ "name": "Ulugwai"
+ },
+ "RU": {
+ "name": "Ulusi"
+ },
+ "SZ": {
+ "name": "Uswazi"
+ },
+ "SE": {
+ "name": "Uswidi"
+ },
+ "CH": {
+ "name": "Uswisi"
+ },
+ "TR": {
+ "name": "Utuluki"
+ },
+ "UZ": {
+ "name": "Uzibekistani"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikani"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietinamu"
+ },
+ "CK": {
+ "name": "Visiwa vya Cook"
+ },
+ "FK": {
+ "name": "Visiwa vya Falkland"
+ },
+ "KY": {
+ "name": "Visiwa vya Kayman"
+ },
+ "MP": {
+ "name": "Visiwa vya Maliana vya Kaskazini"
+ },
+ "MH": {
+ "name": "Visiwa vya Mashal"
+ },
+ "SB": {
+ "name": "Visiwa vya Solomon"
+ },
+ "TC": {
+ "name": "Visiwa vya Tulki na Kaiko"
+ },
+ "VI": {
+ "name": "Visiwa vya Vilgin vya Malekani"
+ },
+ "VG": {
+ "name": "Visiwa vya Vilgin vya Uingeeza"
+ },
+ "WF": {
+ "name": "Walis na Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yemeni"
+ },
+ "JO": {
+ "name": "Yoldani"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/ksf.json b/vendor/commerceguys/intl/resources/country/ksf.json
new file mode 100644
index 000000000..feaca9a15
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/ksf.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "afganistáŋ"
+ },
+ "ZA": {
+ "name": "afrik anǝ a sud"
+ },
+ "AX": {
+ "name": "Åland Islands"
+ },
+ "AL": {
+ "name": "albaní"
+ },
+ "DZ": {
+ "name": "aljɛrí"
+ },
+ "US": {
+ "name": "amɛrika"
+ },
+ "AD": {
+ "name": "andɔrǝ"
+ },
+ "AI": {
+ "name": "angiya"
+ },
+ "AO": {
+ "name": "angóla"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "antiga ri barbúda"
+ },
+ "SA": {
+ "name": "arabí saodí"
+ },
+ "AR": {
+ "name": "arjǝntín"
+ },
+ "AM": {
+ "name": "armɛní"
+ },
+ "AW": {
+ "name": "aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "HT": {
+ "name": "ayiti"
+ },
+ "AZ": {
+ "name": "azabecán"
+ },
+ "BB": {
+ "name": "baabaadǝ"
+ },
+ "BS": {
+ "name": "baamás"
+ },
+ "BD": {
+ "name": "baŋladɛ́c"
+ },
+ "BH": {
+ "name": "barǝ́n"
+ },
+ "AE": {
+ "name": "bǝlɔŋ bǝ kaksa bɛ táatáaŋzǝn"
+ },
+ "BM": {
+ "name": "bɛɛmúdǝ"
+ },
+ "BY": {
+ "name": "bɛlaris"
+ },
+ "BZ": {
+ "name": "bɛliz"
+ },
+ "BE": {
+ "name": "bɛljík"
+ },
+ "BJ": {
+ "name": "bɛnǝ́n"
+ },
+ "BW": {
+ "name": "botswana"
+ },
+ "BO": {
+ "name": "bɔɔlíví"
+ },
+ "BA": {
+ "name": "bɔsnyɛ ri hɛrsǝgɔvín"
+ },
+ "BR": {
+ "name": "brɛsíl"
+ },
+ "BN": {
+ "name": "brunǝ́"
+ },
+ "BF": {
+ "name": "bukína fǝ́ asɔ"
+ },
+ "BG": {
+ "name": "bulgarí"
+ },
+ "BI": {
+ "name": "burundí"
+ },
+ "BT": {
+ "name": "bután"
+ },
+ "TD": {
+ "name": "caád"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "CZ": {
+ "name": "cɛ́k"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CL": {
+ "name": "cíli"
+ },
+ "CN": {
+ "name": "cín"
+ },
+ "CY": {
+ "name": "cíprɛ"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "danmak"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DE": {
+ "name": "djɛrman"
+ },
+ "DM": {
+ "name": "dɔminik"
+ },
+ "DO": {
+ "name": "dɔminik rɛpublík"
+ },
+ "DJ": {
+ "name": "dyibutí"
+ },
+ "EG": {
+ "name": "ɛjípt"
+ },
+ "EC": {
+ "name": "ɛkwatɛǝ́"
+ },
+ "ER": {
+ "name": "ɛritrɛ́"
+ },
+ "EE": {
+ "name": "ɛstoní"
+ },
+ "ET": {
+ "name": "ɛtyɔpí"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "fíji"
+ },
+ "PH": {
+ "name": "filipǝ́n"
+ },
+ "FI": {
+ "name": "fínlan"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "gabɔŋ"
+ },
+ "GM": {
+ "name": "gambí"
+ },
+ "GH": {
+ "name": "gána"
+ },
+ "GN": {
+ "name": "ginɛ́"
+ },
+ "GW": {
+ "name": "ginɛ́ bisɔ́"
+ },
+ "GQ": {
+ "name": "ginɛ́ ɛkwatɔrial"
+ },
+ "GR": {
+ "name": "grɛ́k"
+ },
+ "GD": {
+ "name": "grɛnadǝ"
+ },
+ "GL": {
+ "name": "grínlan"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "guyán"
+ },
+ "GF": {
+ "name": "guyán i pɛrɛsǝ́"
+ },
+ "GP": {
+ "name": "gwadɛlúp"
+ },
+ "GU": {
+ "name": "gwám"
+ },
+ "GT": {
+ "name": "gwátǝmala"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "IE": {
+ "name": "ilán"
+ },
+ "IN": {
+ "name": "indí"
+ },
+ "ID": {
+ "name": "indonɛsí"
+ },
+ "IQ": {
+ "name": "irák"
+ },
+ "IR": {
+ "name": "iráŋ"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "israɛ́l"
+ },
+ "IT": {
+ "name": "italí"
+ },
+ "JM": {
+ "name": "jamaík"
+ },
+ "JP": {
+ "name": "japɔ́ŋ"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "GI": {
+ "name": "jibraltá"
+ },
+ "JO": {
+ "name": "jɔrdán"
+ },
+ "GE": {
+ "name": "jɔrjí"
+ },
+ "NC": {
+ "name": "kalɛdoní anyɔ́n"
+ },
+ "KH": {
+ "name": "kambodj"
+ },
+ "CM": {
+ "name": "kamɛrún"
+ },
+ "CA": {
+ "name": "kanada"
+ },
+ "CV": {
+ "name": "kapvɛr"
+ },
+ "QA": {
+ "name": "katá"
+ },
+ "KZ": {
+ "name": "kazakstáŋ"
+ },
+ "NL": {
+ "name": "kǝlɔŋ kǝ ázǝ"
+ },
+ "GB": {
+ "name": "kǝlɔŋ kǝ kǝtáatáaŋzǝn"
+ },
+ "KE": {
+ "name": "kɛnya"
+ },
+ "KG": {
+ "name": "kigistáŋ"
+ },
+ "KI": {
+ "name": "kiribáti"
+ },
+ "CO": {
+ "name": "kolɔmbí"
+ },
+ "KM": {
+ "name": "komɔr"
+ },
+ "KP": {
+ "name": "korɛanɔ́r"
+ },
+ "KR": {
+ "name": "korɛasud"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CG": {
+ "name": "kɔngó"
+ },
+ "CD": {
+ "name": "kɔngó anyɔ́n"
+ },
+ "CR": {
+ "name": "kɔstaríka"
+ },
+ "CI": {
+ "name": "kɔtiwuár"
+ },
+ "ES": {
+ "name": "kpanyá"
+ },
+ "HR": {
+ "name": "krwasí"
+ },
+ "CU": {
+ "name": "kuba"
+ },
+ "KW": {
+ "name": "kuwɛit"
+ },
+ "LA": {
+ "name": "laɔs"
+ },
+ "LS": {
+ "name": "lǝsóto"
+ },
+ "LV": {
+ "name": "lɛtoní"
+ },
+ "LB": {
+ "name": "libáŋ"
+ },
+ "LR": {
+ "name": "libɛrya"
+ },
+ "LY": {
+ "name": "libí"
+ },
+ "LI": {
+ "name": "lictɛnstɛ́n"
+ },
+ "LT": {
+ "name": "litwaní"
+ },
+ "LU": {
+ "name": "luksɛmbúr"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MG": {
+ "name": "madagaska"
+ },
+ "MW": {
+ "name": "malawi"
+ },
+ "MV": {
+ "name": "maldivǝ"
+ },
+ "MY": {
+ "name": "malɛsí"
+ },
+ "ML": {
+ "name": "mali"
+ },
+ "MT": {
+ "name": "maltǝ"
+ },
+ "MA": {
+ "name": "marɔk"
+ },
+ "MK": {
+ "name": "másǝdwán"
+ },
+ "MQ": {
+ "name": "matiník"
+ },
+ "YT": {
+ "name": "mayɔ́t"
+ },
+ "MX": {
+ "name": "mɛksík"
+ },
+ "FM": {
+ "name": "mikronɛ́si"
+ },
+ "MC": {
+ "name": "monako"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MZ": {
+ "name": "mosambík"
+ },
+ "MD": {
+ "name": "mɔldaví"
+ },
+ "MS": {
+ "name": "mɔnsɛrat"
+ },
+ "MN": {
+ "name": "mɔŋolí"
+ },
+ "MU": {
+ "name": "mwarís"
+ },
+ "MR": {
+ "name": "mwaritaní"
+ },
+ "MM": {
+ "name": "myanmár"
+ },
+ "NA": {
+ "name": "namibí"
+ },
+ "NP": {
+ "name": "nɛpal"
+ },
+ "NE": {
+ "name": "nijɛ́r"
+ },
+ "NG": {
+ "name": "nijɛ́rya"
+ },
+ "NI": {
+ "name": "níkarágwa"
+ },
+ "NU": {
+ "name": "niwɛ́"
+ },
+ "NO": {
+ "name": "nɔrvɛjǝ"
+ },
+ "NR": {
+ "name": "nwarú"
+ },
+ "OM": {
+ "name": "oman"
+ },
+ "AT": {
+ "name": "otric"
+ },
+ "HN": {
+ "name": "ɔnduras"
+ },
+ "HU": {
+ "name": "ɔngrí"
+ },
+ "AU": {
+ "name": "ɔstralí"
+ },
+ "PK": {
+ "name": "pakistáŋ"
+ },
+ "PW": {
+ "name": "palwa"
+ },
+ "PA": {
+ "name": "panama"
+ },
+ "PG": {
+ "name": "papwazí ginɛ́ anyɔ́n"
+ },
+ "PY": {
+ "name": "paragwɛ́"
+ },
+ "FR": {
+ "name": "pɛrɛsǝ́"
+ },
+ "PE": {
+ "name": "pɛrú"
+ },
+ "PN": {
+ "name": "pitkɛ́n"
+ },
+ "PL": {
+ "name": "polɔ́n"
+ },
+ "PT": {
+ "name": "portugál"
+ },
+ "PF": {
+ "name": "pɔlinɛsí a pɛrɛsǝ́"
+ },
+ "PR": {
+ "name": "pɔtoríko"
+ },
+ "RE": {
+ "name": "rɛunyɔŋ"
+ },
+ "RU": {
+ "name": "risí"
+ },
+ "RO": {
+ "name": "rɔmaní"
+ },
+ "RW": {
+ "name": "rwanda"
+ },
+ "SV": {
+ "name": "salvadɔr"
+ },
+ "WS": {
+ "name": "samɔa"
+ },
+ "AS": {
+ "name": "samɔa a amɛrika"
+ },
+ "CF": {
+ "name": "santrafrík"
+ },
+ "ST": {
+ "name": "saotomɛ́ ri priŋsib"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "sɛcɛl"
+ },
+ "SN": {
+ "name": "sɛnɛgal"
+ },
+ "KN": {
+ "name": "sɛnkrǝstɔ́f ri nyɛ́vǝ"
+ },
+ "SM": {
+ "name": "sɛnmarǝn"
+ },
+ "PM": {
+ "name": "sɛnpyɛr ri mikɛlɔŋ"
+ },
+ "SH": {
+ "name": "sɛntɛ́len"
+ },
+ "LC": {
+ "name": "sɛntlísí"
+ },
+ "VC": {
+ "name": "sɛnvǝnsǝŋ ri grɛnadín"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SG": {
+ "name": "siŋapó"
+ },
+ "SY": {
+ "name": "sirí"
+ },
+ "SK": {
+ "name": "slovakí"
+ },
+ "SI": {
+ "name": "slovɛní"
+ },
+ "SO": {
+ "name": "somalí"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "LK": {
+ "name": "srílaŋka"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SD": {
+ "name": "sudan"
+ },
+ "SR": {
+ "name": "surinam"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "SZ": {
+ "name": "swazilan"
+ },
+ "SE": {
+ "name": "swɛdǝ"
+ },
+ "CH": {
+ "name": "swís"
+ },
+ "SL": {
+ "name": "syɛraleon"
+ },
+ "TJ": {
+ "name": "tadjikistaŋ"
+ },
+ "TZ": {
+ "name": "tanzaní"
+ },
+ "TH": {
+ "name": "tɛlan"
+ },
+ "TT": {
+ "name": "tɛrinitɛ ri tobago"
+ },
+ "TW": {
+ "name": "tɛwán"
+ },
+ "TL": {
+ "name": "timor anǝ á ɛst"
+ },
+ "TR": {
+ "name": "tirkí"
+ },
+ "TM": {
+ "name": "tirkmɛnistaŋ"
+ },
+ "TG": {
+ "name": "togo"
+ },
+ "TK": {
+ "name": "tokǝlao"
+ },
+ "TO": {
+ "name": "tɔŋa"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "tunɛsí"
+ },
+ "TV": {
+ "name": "tuwalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "UG": {
+ "name": "uganda"
+ },
+ "UA": {
+ "name": "ukrain"
+ },
+ "UY": {
+ "name": "urugwɛ́"
+ },
+ "UZ": {
+ "name": "usbɛkistaŋ"
+ },
+ "WF": {
+ "name": "walis ri futuna"
+ },
+ "VU": {
+ "name": "wanwatu"
+ },
+ "VA": {
+ "name": "watikáŋ"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "VE": {
+ "name": "wɛnǝzwɛla"
+ },
+ "VN": {
+ "name": "wyɛtnám"
+ },
+ "YE": {
+ "name": "yɛmɛn"
+ },
+ "ZM": {
+ "name": "zambí"
+ },
+ "VI": {
+ "name": "zǝ bɛ gɔn inɛ á amɛrika"
+ },
+ "VG": {
+ "name": "zǝ bɛ gɔn inɛ a ingɛrís"
+ },
+ "KY": {
+ "name": "zǝ i gan"
+ },
+ "IS": {
+ "name": "zǝ i glás"
+ },
+ "MH": {
+ "name": "zǝ i marcál"
+ },
+ "IO": {
+ "name": "zǝ ingɛrís ncɔ́m wa indi"
+ },
+ "FK": {
+ "name": "zǝ maalwín"
+ },
+ "MP": {
+ "name": "zǝ maryánnɔ́r"
+ },
+ "PS": {
+ "name": "zǝ palɛstínǝ"
+ },
+ "SB": {
+ "name": "zǝ salomɔ́n"
+ },
+ "TC": {
+ "name": "zǝ tirk ri kakɔs"
+ },
+ "CK": {
+ "name": "zɛ i kúk"
+ },
+ "NF": {
+ "name": "zɛ nɔ́fɔlk"
+ },
+ "NZ": {
+ "name": "zɛlan anyɔ́n"
+ },
+ "ZW": {
+ "name": "zimbabwɛ́"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/ksh.json b/vendor/commerceguys/intl/resources/country/ksh.json
new file mode 100644
index 000000000..89594ba8d
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/ksh.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afjaanistahn"
+ },
+ "AR": {
+ "name": "Ajjentiinije"
+ },
+ "EG": {
+ "name": "Äjüpte"
+ },
+ "EC": {
+ "name": "Äkwador"
+ },
+ "SV": {
+ "name": "Äl Slavadohr"
+ },
+ "AL": {
+ "name": "Albaanije"
+ },
+ "CI": {
+ "name": "Älfebeijn-Köß"
+ },
+ "DZ": {
+ "name": "Alljeerije"
+ },
+ "AS": {
+ "name": "Ammerikaanesch Sammoha"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AI": {
+ "name": "Anggwilla"
+ },
+ "AO": {
+ "name": "Angjoola"
+ },
+ "AG": {
+ "name": "Antigwa un Barbuda"
+ },
+ "GQ": {
+ "name": "Äquatorial Jineeja"
+ },
+ "ER": {
+ "name": "Äritreja"
+ },
+ "AM": {
+ "name": "Arrmeenije"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Aßension"
+ },
+ "AZ": {
+ "name": "Asserbaidschahn"
+ },
+ "EE": {
+ "name": "Äßland"
+ },
+ "ET": {
+ "name": "Ättijoopije"
+ },
+ "AU": {
+ "name": "Austraalije"
+ },
+ "BH": {
+ "name": "Bachrain"
+ },
+ "BD": {
+ "name": "Bangladesch"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BE": {
+ "name": "Bellje"
+ },
+ "MM": {
+ "name": "Birma"
+ },
+ "BO": {
+ "name": "Bolliivije"
+ },
+ "BA": {
+ "name": "Boßnije un Herzegovina"
+ },
+ "BW": {
+ "name": "Bozwaana"
+ },
+ "BR": {
+ "name": "Brasilije"
+ },
+ "IO": {
+ "name": "Brettesche Besezunge em indesche Oozejahn"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BF": {
+ "name": "Bukkinna-Faase"
+ },
+ "BG": {
+ "name": "Bulljaarije"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Buttaan"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "BJ": {
+ "name": "dä Benin"
+ },
+ "CG": {
+ "name": "dä Konggo (Brassavill)"
+ },
+ "CD": {
+ "name": "dä Konggo (Kinschasa)"
+ },
+ "DK": {
+ "name": "Dänemark"
+ },
+ "VI": {
+ "name": "de ammärrikahnesche Juffer-Enselle"
+ },
+ "BS": {
+ "name": "de Bahamas"
+ },
+ "BM": {
+ "name": "de Bermudas"
+ },
+ "VG": {
+ "name": "de brettesche Juffer-Enselle"
+ },
+ "DG": {
+ "name": "de Diego-Garcia-Ensel"
+ },
+ "DO": {
+ "name": "de Dommenekaanesche Reppublik"
+ },
+ "BB": {
+ "name": "de Ensel Barbados"
+ },
+ "IM": {
+ "name": "de Ensel Män"
+ },
+ "SH": {
+ "name": "de Ensel Zint Hellena"
+ },
+ "LC": {
+ "name": "de Ensel Zint-Lutscha"
+ },
+ "SJ": {
+ "name": "de Enselle Svalbard un Jan Mayen"
+ },
+ "TC": {
+ "name": "de Enselle Turks un Kaikos"
+ },
+ "FK": {
+ "name": "de Falkland-Enselle"
+ },
+ "FO": {
+ "name": "de Färrör-Enselle"
+ },
+ "FJ": {
+ "name": "de Fidschi-Endelle"
+ },
+ "KY": {
+ "name": "de Kaiman-Enselle"
+ },
+ "IC": {
+ "name": "de Kannaresche Enselle"
+ },
+ "CV": {
+ "name": "de kapvärdesche Enselle"
+ },
+ "BQ": {
+ "name": "de karribbesche Nederläng"
+ },
+ "CC": {
+ "name": "de Kokkos-Enselle"
+ },
+ "KM": {
+ "name": "de Kommoore"
+ },
+ "CK": {
+ "name": "de Kuuk-Enselle"
+ },
+ "MH": {
+ "name": "de Machschall-Enselle"
+ },
+ "NL": {
+ "name": "de Nederläng"
+ },
+ "MP": {
+ "name": "de nöödlijje Marijanne-Enselle"
+ },
+ "NF": {
+ "name": "de Noofok-Ensel"
+ },
+ "AX": {
+ "name": "de Ohland-Enselle"
+ },
+ "PN": {
+ "name": "de Pitkärn-Ensel"
+ },
+ "ZA": {
+ "name": "de Republik Södaffrika"
+ },
+ "CH": {
+ "name": "de Schweiz"
+ },
+ "SC": {
+ "name": "de Seischälle"
+ },
+ "SB": {
+ "name": "de Solomone-Enselle"
+ },
+ "TR": {
+ "name": "de Törkei"
+ },
+ "CZ": {
+ "name": "de Tschäschei"
+ },
+ "UA": {
+ "name": "de Ukra’iine"
+ },
+ "UM": {
+ "name": "de Vereineschte Schtaate vun Amärrika ier ußerhallef jelääje Enselsche"
+ },
+ "US": {
+ "name": "de vereineschte Schtaate vun Ammärrika"
+ },
+ "CX": {
+ "name": "de Weihnaachs-Ensel"
+ },
+ "CF": {
+ "name": "de Zäntraalaffrikaanesche Republik"
+ },
+ "BL": {
+ "name": "de Zint Battälmi-Enselle"
+ },
+ "MF": {
+ "name": "de Zint-Määtes-Ensel"
+ },
+ "SN": {
+ "name": "der Sennejall"
+ },
+ "AQ": {
+ "name": "der Södpol"
+ },
+ "TD": {
+ "name": "der Tschadd"
+ },
+ "VA": {
+ "name": "der Vattikahn"
+ },
+ "DM": {
+ "name": "Dominnika"
+ },
+ "DE": {
+ "name": "Doütschland"
+ },
+ "DJ": {
+ "name": "Dschibutti"
+ },
+ "ME": {
+ "name": "et Monteneejro"
+ },
+ "PH": {
+ "name": "Fillipiine"
+ },
+ "FI": {
+ "name": "Finnland"
+ },
+ "FR": {
+ "name": "Frankrisch"
+ },
+ "GF": {
+ "name": "Franzüüsesch Jujaana"
+ },
+ "PF": {
+ "name": "Franzüüsesch Pollineesije"
+ },
+ "TF": {
+ "name": "Franzüüsesche Södsee-Enselle"
+ },
+ "HT": {
+ "name": "Ha’itti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hongkong"
+ },
+ "IN": {
+ "name": "Indije"
+ },
+ "ID": {
+ "name": "Indoneesije"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IE": {
+ "name": "Irrland"
+ },
+ "IS": {
+ "name": "Ißland"
+ },
+ "IL": {
+ "name": "Ißraäl"
+ },
+ "IT": {
+ "name": "Itaalije"
+ },
+ "GH": {
+ "name": "Jaana"
+ },
+ "GA": {
+ "name": "Jabuhn"
+ },
+ "GM": {
+ "name": "Jambija"
+ },
+ "JM": {
+ "name": "Jammaika"
+ },
+ "YE": {
+ "name": "Jämme"
+ },
+ "JP": {
+ "name": "Japan"
+ },
+ "GE": {
+ "name": "Jeorrjije"
+ },
+ "GI": {
+ "name": "Jibralltaa"
+ },
+ "GN": {
+ "name": "Jinneha"
+ },
+ "GW": {
+ "name": "Jinneha_Bißau"
+ },
+ "GG": {
+ "name": "Jöönsei"
+ },
+ "JE": {
+ "name": "Jööseh"
+ },
+ "JO": {
+ "name": "Jordaanije"
+ },
+ "GD": {
+ "name": "Jrenahda"
+ },
+ "GR": {
+ "name": "Jriescheland"
+ },
+ "GL": {
+ "name": "Jröhnland"
+ },
+ "GB": {
+ "name": "Jruußbrettannije"
+ },
+ "GP": {
+ "name": "Juadelupp"
+ },
+ "GU": {
+ "name": "Juham"
+ },
+ "GY": {
+ "name": "Jujaana"
+ },
+ "GT": {
+ "name": "Juwatemahla"
+ },
+ "KH": {
+ "name": "Kambodscha"
+ },
+ "CM": {
+ "name": "Kammeruhn"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "KZ": {
+ "name": "Kassakstahn"
+ },
+ "QA": {
+ "name": "Kataa"
+ },
+ "KE": {
+ "name": "Keenija"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "KG": {
+ "name": "Kirrjiisije"
+ },
+ "CO": {
+ "name": "Kolumbije"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "Kostarika"
+ },
+ "HR": {
+ "name": "Krowazije"
+ },
+ "CU": {
+ "name": "Kuhba"
+ },
+ "KW": {
+ "name": "Kuweit"
+ },
+ "LA": {
+ "name": "La’os"
+ },
+ "LV": {
+ "name": "Lätland"
+ },
+ "LB": {
+ "name": "Lebbannon"
+ },
+ "LS": {
+ "name": "Lesooto"
+ },
+ "LY": {
+ "name": "Libbije"
+ },
+ "LR": {
+ "name": "Libeerija"
+ },
+ "LI": {
+ "name": "Lischteschtein"
+ },
+ "LT": {
+ "name": "Littaue"
+ },
+ "LU": {
+ "name": "Luxembursch"
+ },
+ "ML": {
+ "name": "Maali"
+ },
+ "MQ": {
+ "name": "Machtinik"
+ },
+ "MG": {
+ "name": "Maddajaska"
+ },
+ "YT": {
+ "name": "Majott"
+ },
+ "MO": {
+ "name": "Makau"
+ },
+ "MY": {
+ "name": "Malaisije"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MV": {
+ "name": "Mallediive"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marokko"
+ },
+ "MU": {
+ "name": "Maurizijus"
+ },
+ "MR": {
+ "name": "Mautitaanije"
+ },
+ "MX": {
+ "name": "Mäxiko"
+ },
+ "MK": {
+ "name": "Mazedoonije"
+ },
+ "FM": {
+ "name": "Mikroneesije"
+ },
+ "MD": {
+ "name": "Moldaavije"
+ },
+ "MC": {
+ "name": "Monakko"
+ },
+ "MN": {
+ "name": "Mongjolei"
+ },
+ "MS": {
+ "name": "Mongßerrat"
+ },
+ "MZ": {
+ "name": "Mosambik"
+ },
+ "NA": {
+ "name": "Namiibije"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepall"
+ },
+ "NC": {
+ "name": "Neuschottland"
+ },
+ "NZ": {
+ "name": "Neuseeland"
+ },
+ "NE": {
+ "name": "Nijer"
+ },
+ "NG": {
+ "name": "Nikaraagua"
+ },
+ "NI": {
+ "name": "Nikarahguwa"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "KP": {
+ "name": "Nood-Koreja"
+ },
+ "SD": {
+ "name": "Noodsudahn"
+ },
+ "NO": {
+ "name": "Norrweeje"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "AT": {
+ "name": "Öösterisch"
+ },
+ "TL": {
+ "name": "Oß-Timor"
+ },
+ "PK": {
+ "name": "Pakistahn"
+ },
+ "PS": {
+ "name": "Palästina"
+ },
+ "PW": {
+ "name": "Pallau"
+ },
+ "PA": {
+ "name": "Pannama"
+ },
+ "PG": {
+ "name": "Papuwa Neujineeja"
+ },
+ "PY": {
+ "name": "Parraguwai"
+ },
+ "PE": {
+ "name": "Perruh"
+ },
+ "IR": {
+ "name": "Persije"
+ },
+ "PT": {
+ "name": "Pochtojall"
+ },
+ "PR": {
+ "name": "Pochtoriko"
+ },
+ "PL": {
+ "name": "Pole"
+ },
+ "RE": {
+ "name": "Rehunjohn"
+ },
+ "RO": {
+ "name": "Romäänije"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RU": {
+ "name": "Rußland"
+ },
+ "ZM": {
+ "name": "Sambija"
+ },
+ "WS": {
+ "name": "Sammoha"
+ },
+ "SM": {
+ "name": "San-Marino"
+ },
+ "RS": {
+ "name": "Särbije"
+ },
+ "SA": {
+ "name": "Saudi Arraabije"
+ },
+ "CL": {
+ "name": "Schiile"
+ },
+ "CN": {
+ "name": "Schiina"
+ },
+ "ES": {
+ "name": "Schpaanije"
+ },
+ "SE": {
+ "name": "Schweede"
+ },
+ "ZW": {
+ "name": "Simbabwe"
+ },
+ "SG": {
+ "name": "Singjapuur"
+ },
+ "SL": {
+ "name": "Sjärra Lejone"
+ },
+ "GS": {
+ "name": "Söd-Jeorjie un de södlijje Botteramms-Enselle"
+ },
+ "KR": {
+ "name": "Söd-Koreja"
+ },
+ "SS": {
+ "name": "Södsudahn"
+ },
+ "SO": {
+ "name": "Somaalije"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "SK": {
+ "name": "ẞlovakei"
+ },
+ "SI": {
+ "name": "ẞloveenije"
+ },
+ "SZ": {
+ "name": "ẞwaasiland"
+ },
+ "SY": {
+ "name": "Sürije"
+ },
+ "SR": {
+ "name": "Sürinamm"
+ },
+ "TJ": {
+ "name": "Tadschikistahn"
+ },
+ "TH": {
+ "name": "Tailand"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TZ": {
+ "name": "Tansanija"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tongga"
+ },
+ "TG": {
+ "name": "Toojo"
+ },
+ "TT": {
+ "name": "Trinidad un Tobähjo"
+ },
+ "TA": {
+ "name": "Tristan da Cunja"
+ },
+ "TN": {
+ "name": "Tuneesije"
+ },
+ "TM": {
+ "name": "Turkmenistahn"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UG": {
+ "name": "Ujanda"
+ },
+ "HU": {
+ "name": "Unjann"
+ },
+ "UY": {
+ "name": "Urrujwai"
+ },
+ "UZ": {
+ "name": "Ußbeekistahn"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "AE": {
+ "name": "Vereinschte Arrabesche Emmirate"
+ },
+ "VN": {
+ "name": "Vijätnamm"
+ },
+ "WF": {
+ "name": "Wallis un Futuna"
+ },
+ "EH": {
+ "name": "Wäß-Sahara"
+ },
+ "BY": {
+ "name": "Wießrußland"
+ },
+ "EA": {
+ "name": "Ze’uta un Meliija"
+ },
+ "KN": {
+ "name": "Zint Kitts un Nevis"
+ },
+ "SX": {
+ "name": "Zint Maarten"
+ },
+ "PM": {
+ "name": "Zint Pjäär un Mikelong"
+ },
+ "ST": {
+ "name": "Zint Tommeh un Printschipe"
+ },
+ "VC": {
+ "name": "Zint Vinzänz un de Jrenadines-Enselle"
+ },
+ "CY": {
+ "name": "Züppere"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/ky.json b/vendor/commerceguys/intl/resources/country/ky.json
new file mode 100644
index 000000000..19237a3e1
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/ky.json
@@ -0,0 +1,761 @@
+{
+ "AU": {
+ "name": "Австралия"
+ },
+ "AT": {
+ "name": "Австрия"
+ },
+ "AZ": {
+ "name": "Азербайжан"
+ },
+ "UM": {
+ "name": "АКШнын сырткы аралдары"
+ },
+ "AX": {
+ "name": "Аланд аралдары"
+ },
+ "AL": {
+ "name": "Албания"
+ },
+ "DZ": {
+ "name": "Алжир"
+ },
+ "US": {
+ "name": "Америка Кошмо Штаттары"
+ },
+ "AS": {
+ "name": "Америка Самоасы"
+ },
+ "AO": {
+ "name": "Ангола"
+ },
+ "AI": {
+ "name": "Ангуила"
+ },
+ "AD": {
+ "name": "Андорра"
+ },
+ "AQ": {
+ "name": "Антарктика"
+ },
+ "AG": {
+ "name": "Антигуа жана Барбуда"
+ },
+ "AR": {
+ "name": "Аргентина"
+ },
+ "AM": {
+ "name": "Армения"
+ },
+ "AW": {
+ "name": "Аруба"
+ },
+ "AC": {
+ "name": "Ассеншин аралы"
+ },
+ "AF": {
+ "name": "Афганистан"
+ },
+ "BS": {
+ "name": "Багам аралдары"
+ },
+ "BD": {
+ "name": "Бангладеш"
+ },
+ "BB": {
+ "name": "Барбадос"
+ },
+ "EH": {
+ "name": "Батыш Сахара"
+ },
+ "BH": {
+ "name": "Бахрейн"
+ },
+ "BY": {
+ "name": "Беларусь"
+ },
+ "BZ": {
+ "name": "Белиз"
+ },
+ "BE": {
+ "name": "Бельгия"
+ },
+ "BJ": {
+ "name": "Бенин"
+ },
+ "BM": {
+ "name": "Бермуд аралдары"
+ },
+ "AE": {
+ "name": "Бириккен Араб Эмираттары"
+ },
+ "BG": {
+ "name": "Болгария"
+ },
+ "BO": {
+ "name": "Боливия"
+ },
+ "CF": {
+ "name": "Борбордук Африка Республикасы"
+ },
+ "BA": {
+ "name": "Босния жана Герцеговина"
+ },
+ "BW": {
+ "name": "Ботсвана"
+ },
+ "BR": {
+ "name": "Бразилия"
+ },
+ "IO": {
+ "name": "Британиянын Индия океанындагы аймагы"
+ },
+ "BN": {
+ "name": "Бруней"
+ },
+ "BF": {
+ "name": "Буркина-Фасо"
+ },
+ "BI": {
+ "name": "Бурунди"
+ },
+ "BT": {
+ "name": "Бутан"
+ },
+ "VU": {
+ "name": "Вануату"
+ },
+ "VA": {
+ "name": "Ватикан"
+ },
+ "HU": {
+ "name": "Венгрия"
+ },
+ "VE": {
+ "name": "Венесуэла"
+ },
+ "VI": {
+ "name": "Виргин аралдары (АКШ)"
+ },
+ "VG": {
+ "name": "Виргин аралдары (Британия)"
+ },
+ "VN": {
+ "name": "Вьетнам"
+ },
+ "GA": {
+ "name": "Габон"
+ },
+ "HT": {
+ "name": "Гаити"
+ },
+ "GY": {
+ "name": "Гайана"
+ },
+ "GM": {
+ "name": "Гамбия"
+ },
+ "GH": {
+ "name": "Гана"
+ },
+ "GP": {
+ "name": "Гваделупа"
+ },
+ "GT": {
+ "name": "Гватемала"
+ },
+ "GF": {
+ "name": "Гвиана (Франция)"
+ },
+ "GN": {
+ "name": "Гвинея"
+ },
+ "GW": {
+ "name": "Гвинея-Бисау"
+ },
+ "DE": {
+ "name": "Германия"
+ },
+ "GG": {
+ "name": "Гернси"
+ },
+ "GI": {
+ "name": "Гибралтар"
+ },
+ "HN": {
+ "name": "Гондурас"
+ },
+ "HK": {
+ "name": "Гонконг Кытай ААА"
+ },
+ "GD": {
+ "name": "Гренада"
+ },
+ "GL": {
+ "name": "Гренландия"
+ },
+ "GR": {
+ "name": "Греция"
+ },
+ "GE": {
+ "name": "Грузия"
+ },
+ "GU": {
+ "name": "Гуам"
+ },
+ "DK": {
+ "name": "Дания"
+ },
+ "DJ": {
+ "name": "Джибути"
+ },
+ "DG": {
+ "name": "Диего Гарсия"
+ },
+ "DM": {
+ "name": "Доминика"
+ },
+ "DO": {
+ "name": "Доминика Республикасы"
+ },
+ "EG": {
+ "name": "Египет"
+ },
+ "NZ": {
+ "name": "Жаӊы Зеландия"
+ },
+ "NC": {
+ "name": "Жаӊы Каледония"
+ },
+ "JE": {
+ "name": "Жерси"
+ },
+ "ZM": {
+ "name": "Замбия"
+ },
+ "ZW": {
+ "name": "Зимбабве"
+ },
+ "IL": {
+ "name": "Израиль"
+ },
+ "IN": {
+ "name": "Индия"
+ },
+ "ID": {
+ "name": "Индонезия"
+ },
+ "JO": {
+ "name": "Иордания"
+ },
+ "IQ": {
+ "name": "Ирак"
+ },
+ "IR": {
+ "name": "Иран"
+ },
+ "IE": {
+ "name": "Ирландия"
+ },
+ "IS": {
+ "name": "Исландия"
+ },
+ "ES": {
+ "name": "Испания"
+ },
+ "IT": {
+ "name": "Италия"
+ },
+ "YE": {
+ "name": "Йемен"
+ },
+ "KZ": {
+ "name": "Казакстан"
+ },
+ "KY": {
+ "name": "Кайман Аралдары"
+ },
+ "KH": {
+ "name": "Камбоджа"
+ },
+ "CM": {
+ "name": "Камерун"
+ },
+ "CA": {
+ "name": "Канада"
+ },
+ "IC": {
+ "name": "Канар аралдары"
+ },
+ "CV": {
+ "name": "Капе Верде"
+ },
+ "BQ": {
+ "name": "Кариб Нидерланддары"
+ },
+ "QA": {
+ "name": "Катар"
+ },
+ "KE": {
+ "name": "Кения"
+ },
+ "CY": {
+ "name": "Кипр"
+ },
+ "KI": {
+ "name": "Кирибати"
+ },
+ "CC": {
+ "name": "Кокос (Килиӊ) аралдары"
+ },
+ "CO": {
+ "name": "Колумбия"
+ },
+ "KM": {
+ "name": "Коморос"
+ },
+ "CG": {
+ "name": "Конго-Браззавил"
+ },
+ "CD": {
+ "name": "Конго-Киншаса"
+ },
+ "XK": {
+ "name": "Косово"
+ },
+ "CR": {
+ "name": "Коста-Рика"
+ },
+ "CI": {
+ "name": "Кот-д’Ивуар"
+ },
+ "CX": {
+ "name": "Крисмас аралы"
+ },
+ "CU": {
+ "name": "Куба"
+ },
+ "KW": {
+ "name": "Кувейт"
+ },
+ "CK": {
+ "name": "Кук аралдары"
+ },
+ "KG": {
+ "name": "Кыргызстан"
+ },
+ "CN": {
+ "name": "Кытай"
+ },
+ "CW": {
+ "name": "Кюрасао"
+ },
+ "LA": {
+ "name": "Лаос"
+ },
+ "LV": {
+ "name": "Латвия"
+ },
+ "LS": {
+ "name": "Лесото"
+ },
+ "LR": {
+ "name": "Либерия"
+ },
+ "LB": {
+ "name": "Ливан"
+ },
+ "LY": {
+ "name": "Ливия"
+ },
+ "LT": {
+ "name": "Литва"
+ },
+ "LI": {
+ "name": "Лихтенштейн"
+ },
+ "LU": {
+ "name": "Люксембург"
+ },
+ "MU": {
+ "name": "Маврикий"
+ },
+ "MR": {
+ "name": "Мавритания"
+ },
+ "MG": {
+ "name": "Мадагаскар"
+ },
+ "YT": {
+ "name": "Майотта"
+ },
+ "MO": {
+ "name": "Макау Кытай ААА"
+ },
+ "MK": {
+ "name": "Македония"
+ },
+ "MW": {
+ "name": "Малави"
+ },
+ "MY": {
+ "name": "Малайзия"
+ },
+ "MV": {
+ "name": "Малдив аралдары"
+ },
+ "ML": {
+ "name": "Мали"
+ },
+ "MT": {
+ "name": "Мальта"
+ },
+ "MA": {
+ "name": "Марокко"
+ },
+ "MQ": {
+ "name": "Мартиника"
+ },
+ "MH": {
+ "name": "Маршалл аралдары"
+ },
+ "MX": {
+ "name": "Мексика"
+ },
+ "FM": {
+ "name": "Микронезия"
+ },
+ "MZ": {
+ "name": "Мозамбик"
+ },
+ "MD": {
+ "name": "Молдова"
+ },
+ "MC": {
+ "name": "Монако"
+ },
+ "MN": {
+ "name": "Монголия"
+ },
+ "MS": {
+ "name": "Монсеррат"
+ },
+ "MM": {
+ "name": "Мьянма (Бирма)"
+ },
+ "IM": {
+ "name": "Мэн аралы"
+ },
+ "NA": {
+ "name": "Намибия"
+ },
+ "NR": {
+ "name": "Науру"
+ },
+ "NP": {
+ "name": "Непал"
+ },
+ "NE": {
+ "name": "Нигер"
+ },
+ "NG": {
+ "name": "Нигерия"
+ },
+ "NL": {
+ "name": "Нидерланддар"
+ },
+ "NI": {
+ "name": "Никарагуа"
+ },
+ "NU": {
+ "name": "Ниуэ"
+ },
+ "NO": {
+ "name": "Норвегия"
+ },
+ "NF": {
+ "name": "Норфолк аралы"
+ },
+ "OM": {
+ "name": "Оман"
+ },
+ "UZ": {
+ "name": "Өзбекстан"
+ },
+ "PK": {
+ "name": "Пакистан"
+ },
+ "PW": {
+ "name": "Палау"
+ },
+ "PS": {
+ "name": "Палестина аймактары"
+ },
+ "PA": {
+ "name": "Панама"
+ },
+ "PG": {
+ "name": "Папуа Жаңы-Гвинея"
+ },
+ "PY": {
+ "name": "Парагвай"
+ },
+ "PE": {
+ "name": "Перу"
+ },
+ "PN": {
+ "name": "Питкэрн аралдары"
+ },
+ "PL": {
+ "name": "Польша"
+ },
+ "PT": {
+ "name": "Португалия"
+ },
+ "PR": {
+ "name": "Пуэрто-Рико"
+ },
+ "RE": {
+ "name": "Реюнион"
+ },
+ "RU": {
+ "name": "Россия"
+ },
+ "RW": {
+ "name": "Руанда"
+ },
+ "RO": {
+ "name": "Румыния"
+ },
+ "WS": {
+ "name": "Самоа"
+ },
+ "SM": {
+ "name": "Сан Марино"
+ },
+ "ST": {
+ "name": "Сан-Томе жана Принсипи"
+ },
+ "SA": {
+ "name": "Сауд Арабиясы"
+ },
+ "SZ": {
+ "name": "Свазиленд"
+ },
+ "SJ": {
+ "name": "Свалбард жана Жан Майен"
+ },
+ "SC": {
+ "name": "Сейшелдер"
+ },
+ "PM": {
+ "name": "Сен-Пьер жана Микелон"
+ },
+ "SN": {
+ "name": "Сенегал"
+ },
+ "BL": {
+ "name": "Сент Бартелеми"
+ },
+ "VC": {
+ "name": "Сент-Винсент жана Гренадиналар"
+ },
+ "KN": {
+ "name": "Сент-Китс жана Невис"
+ },
+ "LC": {
+ "name": "Сент-Люсия"
+ },
+ "MF": {
+ "name": "Сент-Мартин"
+ },
+ "RS": {
+ "name": "Сербия"
+ },
+ "EA": {
+ "name": "Сеута жана Мелилла"
+ },
+ "SG": {
+ "name": "Сингапур"
+ },
+ "SX": {
+ "name": "Синт Маартен"
+ },
+ "SY": {
+ "name": "Сирия"
+ },
+ "SK": {
+ "name": "Словакия"
+ },
+ "SI": {
+ "name": "Словения"
+ },
+ "SB": {
+ "name": "Соломон аралдары"
+ },
+ "SO": {
+ "name": "Сомали"
+ },
+ "SD": {
+ "name": "Судан"
+ },
+ "SR": {
+ "name": "Суринаме"
+ },
+ "SL": {
+ "name": "Сьерра-Леоне"
+ },
+ "TJ": {
+ "name": "Тажикстан"
+ },
+ "TH": {
+ "name": "Таиланд"
+ },
+ "TW": {
+ "name": "Тайвань"
+ },
+ "TZ": {
+ "name": "Танзания"
+ },
+ "TL": {
+ "name": "Тимор-Лесте"
+ },
+ "TG": {
+ "name": "Того"
+ },
+ "TK": {
+ "name": "Токелау"
+ },
+ "TO": {
+ "name": "Тонга"
+ },
+ "TT": {
+ "name": "Тринидад жана Тобаго"
+ },
+ "TA": {
+ "name": "Тристан да Кунья"
+ },
+ "TV": {
+ "name": "Тувалу"
+ },
+ "TN": {
+ "name": "Тунис"
+ },
+ "KP": {
+ "name": "Түндүк Корея"
+ },
+ "MP": {
+ "name": "Түндүк Мариана аралдары"
+ },
+ "TR": {
+ "name": "Түркия"
+ },
+ "TM": {
+ "name": "Түркмөнстан"
+ },
+ "TC": {
+ "name": "Түркс жана Кайкос аралдары"
+ },
+ "ZA": {
+ "name": "Түштүк Африка Республикасы"
+ },
+ "GS": {
+ "name": "Түштүк Жоржия жана Түштүк Сэндвич аралдары"
+ },
+ "KR": {
+ "name": "Түштүк Корея"
+ },
+ "SS": {
+ "name": "Түштүк Судан"
+ },
+ "UG": {
+ "name": "Уганда"
+ },
+ "UA": {
+ "name": "Украина"
+ },
+ "GB": {
+ "name": "Улуу Британия"
+ },
+ "WF": {
+ "name": "Уоллис жана Футуна"
+ },
+ "UY": {
+ "name": "Уругвай"
+ },
+ "FO": {
+ "name": "Фарер аралдары"
+ },
+ "FJ": {
+ "name": "Фиджи"
+ },
+ "PH": {
+ "name": "Филлипин"
+ },
+ "FI": {
+ "name": "Финляндия"
+ },
+ "FK": {
+ "name": "Фолклэнд аралдары"
+ },
+ "FR": {
+ "name": "Франция"
+ },
+ "TF": {
+ "name": "Франциянын Түштүктөгү аймактары"
+ },
+ "PF": {
+ "name": "Француз Полинезиясы"
+ },
+ "HR": {
+ "name": "Хорватия"
+ },
+ "TD": {
+ "name": "Чад"
+ },
+ "ME": {
+ "name": "Черногория"
+ },
+ "CZ": {
+ "name": "Чех Республикасы"
+ },
+ "CL": {
+ "name": "Чили"
+ },
+ "CH": {
+ "name": "Швейцария"
+ },
+ "SE": {
+ "name": "Швеция"
+ },
+ "LK": {
+ "name": "Шри-Ланка"
+ },
+ "SH": {
+ "name": "Ыйык Елена"
+ },
+ "EC": {
+ "name": "Эквадор"
+ },
+ "GQ": {
+ "name": "Экваториалдык Гвинея"
+ },
+ "SV": {
+ "name": "Эл Салвадор"
+ },
+ "ER": {
+ "name": "Эритрея"
+ },
+ "EE": {
+ "name": "Эстония"
+ },
+ "ET": {
+ "name": "Эфиопия"
+ },
+ "JM": {
+ "name": "Ямайка"
+ },
+ "JP": {
+ "name": "Япония"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/lag.json b/vendor/commerceguys/intl/resources/country/lag.json
new file mode 100644
index 000000000..73ad5c926
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/lag.json
@@ -0,0 +1,761 @@
+{
+ "ZA": {
+ "name": "Afɨrɨka ya Saame"
+ },
+ "AF": {
+ "name": "Afuganisitáani"
+ },
+ "IS": {
+ "name": "Aisiláandi"
+ },
+ "AR": {
+ "name": "Ajentíina"
+ },
+ "AX": {
+ "name": "Åland Islands"
+ },
+ "DZ": {
+ "name": "Alijéria"
+ },
+ "AL": {
+ "name": "Alubánia"
+ },
+ "US": {
+ "name": "Amerɨka"
+ },
+ "AD": {
+ "name": "Andóra"
+ },
+ "AO": {
+ "name": "Angóola"
+ },
+ "AI": {
+ "name": "Anguíila"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigúua na Baribúuda"
+ },
+ "AM": {
+ "name": "Ariménia"
+ },
+ "AW": {
+ "name": "Arúuba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AU": {
+ "name": "Ausiteréelia"
+ },
+ "AT": {
+ "name": "Áusitiria"
+ },
+ "IE": {
+ "name": "Ayaláandi"
+ },
+ "AZ": {
+ "name": "Azabajáani"
+ },
+ "BB": {
+ "name": "Babadóosi"
+ },
+ "BS": {
+ "name": "Baháama"
+ },
+ "BH": {
+ "name": "Baharéeni"
+ },
+ "BD": {
+ "name": "Bangaladéeshi"
+ },
+ "BY": {
+ "name": "Belarúusi"
+ },
+ "BZ": {
+ "name": "Belíise"
+ },
+ "BJ": {
+ "name": "Beníini"
+ },
+ "BM": {
+ "name": "Berimúuda"
+ },
+ "BO": {
+ "name": "Bolívia"
+ },
+ "BA": {
+ "name": "Bósinia"
+ },
+ "BW": {
+ "name": "Botiswáana"
+ },
+ "BR": {
+ "name": "Brasíili"
+ },
+ "MG": {
+ "name": "Bukíini"
+ },
+ "BF": {
+ "name": "Bukinafáaso"
+ },
+ "BG": {
+ "name": "Buligaría"
+ },
+ "BN": {
+ "name": "Burunéei"
+ },
+ "BI": {
+ "name": "Burúundi"
+ },
+ "BT": {
+ "name": "Butáani"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "TD": {
+ "name": "Cháadi"
+ },
+ "CL": {
+ "name": "Chíile"
+ },
+ "CN": {
+ "name": "Chíina"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Denimaki"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Domínɨka"
+ },
+ "SV": {
+ "name": "Elisalivado"
+ },
+ "ER": {
+ "name": "Eriterea"
+ },
+ "EE": {
+ "name": "Estonía"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fíiji"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GH": {
+ "name": "Gáana"
+ },
+ "GA": {
+ "name": "Gabóoni"
+ },
+ "GM": {
+ "name": "Gámbia"
+ },
+ "GN": {
+ "name": "Gíine"
+ },
+ "GW": {
+ "name": "Gíine Bisáau"
+ },
+ "GQ": {
+ "name": "Gíine Ikwéeta"
+ },
+ "GD": {
+ "name": "Girenáada"
+ },
+ "GL": {
+ "name": "Giriniláandi"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Guyáana"
+ },
+ "GP": {
+ "name": "Gwadelúupe"
+ },
+ "GU": {
+ "name": "Gwani"
+ },
+ "GT": {
+ "name": "Gwatemáala"
+ },
+ "GF": {
+ "name": "Gwiyáana yʉ Ʉfaráansa"
+ },
+ "HT": {
+ "name": "Haíiti"
+ },
+ "ES": {
+ "name": "Hisipánia"
+ },
+ "HN": {
+ "name": "Honduráasi"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hungária"
+ },
+ "EC": {
+ "name": "Íkwado"
+ },
+ "IN": {
+ "name": "Índia"
+ },
+ "ID": {
+ "name": "Indonésia"
+ },
+ "IQ": {
+ "name": "Iráaki"
+ },
+ "IL": {
+ "name": "Isiraéeli"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IT": {
+ "name": "Itália"
+ },
+ "CI": {
+ "name": "Ivori Kositi"
+ },
+ "IO": {
+ "name": "Ɨsɨ yʉ Ʉɨngeréesa irivii ra Híindi"
+ },
+ "JM": {
+ "name": "Jamáika"
+ },
+ "CZ": {
+ "name": "Jamuhúuri ya Chéeki"
+ },
+ "DO": {
+ "name": "Jamuhúuri ya Dominɨka"
+ },
+ "CD": {
+ "name": "Jamuhúuri ya Kɨdemokurasía ya Kóongo"
+ },
+ "JP": {
+ "name": "Japáani"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "GI": {
+ "name": "Jiburálita"
+ },
+ "DJ": {
+ "name": "Jibúuti"
+ },
+ "JO": {
+ "name": "Jódani"
+ },
+ "GE": {
+ "name": "Jójia"
+ },
+ "CF": {
+ "name": "Juhúuri ya Afɨrɨka ya katɨ katɨ"
+ },
+ "NC": {
+ "name": "Kaledónia Ifya"
+ },
+ "KH": {
+ "name": "Kambódia"
+ },
+ "CM": {
+ "name": "Kamerúuni"
+ },
+ "CA": {
+ "name": "Kánada"
+ },
+ "QA": {
+ "name": "Katáari"
+ },
+ "KZ": {
+ "name": "Kazakasitáani"
+ },
+ "KE": {
+ "name": "Kéenya"
+ },
+ "CV": {
+ "name": "Kepuvéede"
+ },
+ "KI": {
+ "name": "Kiribáati"
+ },
+ "KG": {
+ "name": "Kirigisitáani"
+ },
+ "NF": {
+ "name": "Kisíiwa cha Nofifóoki"
+ },
+ "CO": {
+ "name": "Kolómbia"
+ },
+ "KM": {
+ "name": "Komóoro"
+ },
+ "CG": {
+ "name": "Kóongo"
+ },
+ "KR": {
+ "name": "Koréa ya Saame"
+ },
+ "KP": {
+ "name": "Koréa yʉ ʉtʉrʉko"
+ },
+ "HR": {
+ "name": "Koréshia"
+ },
+ "CR": {
+ "name": "Kósita Rɨ́ɨka"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CY": {
+ "name": "Kupuróosi"
+ },
+ "KW": {
+ "name": "Kʉwáiti"
+ },
+ "CU": {
+ "name": "Kyúuba"
+ },
+ "LA": {
+ "name": "Laóosi"
+ },
+ "LU": {
+ "name": "Lasembáagi"
+ },
+ "LV": {
+ "name": "Lativia"
+ },
+ "LB": {
+ "name": "Lebanóoni"
+ },
+ "LS": {
+ "name": "Lesóoto"
+ },
+ "LY": {
+ "name": "Líbia"
+ },
+ "LR": {
+ "name": "Liibéria"
+ },
+ "LI": {
+ "name": "Lishentéeni"
+ },
+ "LT": {
+ "name": "Lisuánia"
+ },
+ "ML": {
+ "name": "Máali"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MW": {
+ "name": "Maláawi"
+ },
+ "MY": {
+ "name": "Maleísia"
+ },
+ "MT": {
+ "name": "Málita"
+ },
+ "MQ": {
+ "name": "Maritiníiki"
+ },
+ "MK": {
+ "name": "Masedónia"
+ },
+ "YT": {
+ "name": "Mayóote"
+ },
+ "MX": {
+ "name": "Mekisiko"
+ },
+ "MM": {
+ "name": "Miáama"
+ },
+ "FM": {
+ "name": "Mikironésia"
+ },
+ "EG": {
+ "name": "Mísiri"
+ },
+ "MV": {
+ "name": "Modíivu"
+ },
+ "MD": {
+ "name": "Molidóova"
+ },
+ "MC": {
+ "name": "Monáako"
+ },
+ "MN": {
+ "name": "Mongólia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Monteráati"
+ },
+ "MU": {
+ "name": "Moríisi"
+ },
+ "MR": {
+ "name": "Moritánia"
+ },
+ "MA": {
+ "name": "Moróoko"
+ },
+ "MZ": {
+ "name": "Musumbíiji"
+ },
+ "SH": {
+ "name": "Mʉtakatíifu Heléena"
+ },
+ "KN": {
+ "name": "Mʉtakatíifu kitisi na Nevíisi"
+ },
+ "LC": {
+ "name": "Mʉtakatíifu Lusíia"
+ },
+ "PM": {
+ "name": "Mʉtakatíifu Peéteri na Mɨkaéeli"
+ },
+ "VC": {
+ "name": "Mʉtakatíifu Viséenti na Gernadíini"
+ },
+ "PS": {
+ "name": "Mweemberera wa kʉmweeri wa Gáaza"
+ },
+ "NA": {
+ "name": "Namíbia"
+ },
+ "NR": {
+ "name": "Naúuru"
+ },
+ "NP": {
+ "name": "Nepáali"
+ },
+ "NE": {
+ "name": "Níija"
+ },
+ "NG": {
+ "name": "Niijéria"
+ },
+ "NI": {
+ "name": "Nikarágʉa"
+ },
+ "NU": {
+ "name": "Niúue"
+ },
+ "NO": {
+ "name": "Norwe"
+ },
+ "NZ": {
+ "name": "Nyuzílandi"
+ },
+ "OM": {
+ "name": "Ómani"
+ },
+ "PK": {
+ "name": "Pakisitáani"
+ },
+ "PW": {
+ "name": "Paláau"
+ },
+ "PA": {
+ "name": "Panáama"
+ },
+ "PG": {
+ "name": "Papúua"
+ },
+ "PY": {
+ "name": "Paraguáai"
+ },
+ "PN": {
+ "name": "Patikaírini"
+ },
+ "PE": {
+ "name": "Péeru"
+ },
+ "PL": {
+ "name": "Pólandi"
+ },
+ "PF": {
+ "name": "Polinésia yʉ Ʉfaráansa"
+ },
+ "PR": {
+ "name": "Pwetorɨ́ɨko"
+ },
+ "RE": {
+ "name": "Reyunióoni"
+ },
+ "RO": {
+ "name": "Romaníia"
+ },
+ "RW": {
+ "name": "Rwáanda"
+ },
+ "SM": {
+ "name": "Samaríino"
+ },
+ "ZM": {
+ "name": "Sámbia"
+ },
+ "WS": {
+ "name": "Samóoa"
+ },
+ "AS": {
+ "name": "Samóoa ya Amerɨ́ka"
+ },
+ "ST": {
+ "name": "Sao Tóome na Pirinsipe"
+ },
+ "SA": {
+ "name": "Saudíia Arabíia"
+ },
+ "SN": {
+ "name": "Senegáali"
+ },
+ "SL": {
+ "name": "Seraleóoni"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Shelishéeli"
+ },
+ "ZW": {
+ "name": "Simbáabwe"
+ },
+ "SG": {
+ "name": "Singapoo"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Síria"
+ },
+ "LK": {
+ "name": "Siriláanka"
+ },
+ "SO": {
+ "name": "Somália"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SD": {
+ "name": "Sudáani"
+ },
+ "SK": {
+ "name": "Sulováakia"
+ },
+ "SI": {
+ "name": "Sulovénia"
+ },
+ "SR": {
+ "name": "Surináamu"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "TZ": {
+ "name": "Taansanía"
+ },
+ "TH": {
+ "name": "Táilandi"
+ },
+ "TW": {
+ "name": "Taiwáani"
+ },
+ "TJ": {
+ "name": "Tajikisitáani"
+ },
+ "TL": {
+ "name": "Timóori yi Itʉʉmba"
+ },
+ "TT": {
+ "name": "Tiriníida ya Tobáago"
+ },
+ "TK": {
+ "name": "Tokeláau"
+ },
+ "TG": {
+ "name": "Tóogo"
+ },
+ "TO": {
+ "name": "Tóonga"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunísia"
+ },
+ "TV": {
+ "name": "Tuváalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "FI": {
+ "name": "Ufíini"
+ },
+ "PH": {
+ "name": "Ufilipíino"
+ },
+ "GR": {
+ "name": "Ugiríki"
+ },
+ "UY": {
+ "name": "Uruguáai"
+ },
+ "RU": {
+ "name": "Urúusi"
+ },
+ "UZ": {
+ "name": "Usibekisitáani"
+ },
+ "SE": {
+ "name": "Uswíidi"
+ },
+ "CH": {
+ "name": "Uswíisi"
+ },
+ "TM": {
+ "name": "Uturukimenisitáani"
+ },
+ "TR": {
+ "name": "Uturúuki"
+ },
+ "IR": {
+ "name": "Ʉajéemi"
+ },
+ "BE": {
+ "name": "Ʉbeligíiji"
+ },
+ "FR": {
+ "name": "Ʉfaráansa"
+ },
+ "UG": {
+ "name": "Ʉgáanda"
+ },
+ "ET": {
+ "name": "Ʉhabéeshi"
+ },
+ "NL": {
+ "name": "Ʉholáanzi"
+ },
+ "GB": {
+ "name": "Ʉɨngeréesa"
+ },
+ "DE": {
+ "name": "Ʉjerumáani"
+ },
+ "UA": {
+ "name": "Ʉkɨréeni"
+ },
+ "PT": {
+ "name": "Ʉréeno"
+ },
+ "SZ": {
+ "name": "Ʉswáazi"
+ },
+ "AE": {
+ "name": "Ʉtemi wa Kɨaráabu"
+ },
+ "VU": {
+ "name": "Vanuáatu"
+ },
+ "VA": {
+ "name": "Vatikáani"
+ },
+ "VE": {
+ "name": "Venezuéela"
+ },
+ "VN": {
+ "name": "Vietináamu"
+ },
+ "FK": {
+ "name": "Visíiwa vya Fakulandi"
+ },
+ "KY": {
+ "name": "Visíiwa vya Kayimani"
+ },
+ "CK": {
+ "name": "Visíiwa vya Kúuku"
+ },
+ "MH": {
+ "name": "Visíiwa vya Marisháali"
+ },
+ "SB": {
+ "name": "Visíiwa vya Solomóoni"
+ },
+ "TC": {
+ "name": "Visíiwa vya Turíiki na Kaíiko"
+ },
+ "VI": {
+ "name": "Visíiwa vya Vigíini vya Amerɨ́ka"
+ },
+ "VG": {
+ "name": "Visíiwa vya Vigíini vya Ʉɨngeréesa"
+ },
+ "MP": {
+ "name": "Visiwa vya Mariana vya Kaskazini"
+ },
+ "WF": {
+ "name": "Walíisi na Futúuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yémeni"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/lb.json b/vendor/commerceguys/intl/resources/country/lb.json
new file mode 100644
index 000000000..adcf90df9
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/lb.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afghanistan"
+ },
+ "AX": {
+ "name": "Ålandinselen"
+ },
+ "AL": {
+ "name": "Albanien"
+ },
+ "DZ": {
+ "name": "Algerien"
+ },
+ "VI": {
+ "name": "Amerikanesch Joffereninselen"
+ },
+ "UM": {
+ "name": "Amerikanesch-Ozeanien"
+ },
+ "AS": {
+ "name": "Amerikanesch-Samoa"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarktis"
+ },
+ "AG": {
+ "name": "Antigua a Barbuda"
+ },
+ "AR": {
+ "name": "Argentinien"
+ },
+ "AM": {
+ "name": "Armenien"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension"
+ },
+ "AZ": {
+ "name": "Aserbaidschan"
+ },
+ "AU": {
+ "name": "Australien"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahrain"
+ },
+ "BD": {
+ "name": "Bangladesch"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BE": {
+ "name": "Belsch"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BO": {
+ "name": "Bolivien"
+ },
+ "BA": {
+ "name": "Bosnien an Herzegowina"
+ },
+ "BW": {
+ "name": "Botsuana"
+ },
+ "BR": {
+ "name": "Brasilien"
+ },
+ "VG": {
+ "name": "Britesch Joffereninselen"
+ },
+ "IO": {
+ "name": "Britescht Territorium am Indeschen Ozean"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgarien"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "EA": {
+ "name": "Ceuta a Melilla"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CX": {
+ "name": "Chrëschtdagsinsel"
+ },
+ "CK": {
+ "name": "Cookinselen"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "CI": {
+ "name": "Côte d’Ivoire"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DE": {
+ "name": "Däitschland"
+ },
+ "DK": {
+ "name": "Dänemark"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "DO": {
+ "name": "Dominikanesch Republik"
+ },
+ "DJ": {
+ "name": "Dschibuti"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egypten"
+ },
+ "AT": {
+ "name": "Éisträich"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "GQ": {
+ "name": "Equatorialguinea"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estland"
+ },
+ "ET": {
+ "name": "Ethiopien"
+ },
+ "FK": {
+ "name": "Falklandinselen"
+ },
+ "FO": {
+ "name": "Färöer"
+ },
+ "FJ": {
+ "name": "Fidschi"
+ },
+ "FI": {
+ "name": "Finnland"
+ },
+ "FR": {
+ "name": "Frankräich"
+ },
+ "TF": {
+ "name": "Franséisch Süd- an Antarktisgebidder"
+ },
+ "PF": {
+ "name": "Franséisch-Polynesien"
+ },
+ "GA": {
+ "name": "Gabun"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgien"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GR": {
+ "name": "Griicheland"
+ },
+ "GL": {
+ "name": "Grönland"
+ },
+ "GB": {
+ "name": "Groussbritannien"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GF": {
+ "name": "Guayane"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GW": {
+ "name": "Guinea-Bissau"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "NL": {
+ "name": "Holland"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "IN": {
+ "name": "Indien"
+ },
+ "ID": {
+ "name": "Indonesien"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IE": {
+ "name": "Irland"
+ },
+ "IS": {
+ "name": "Island"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italien"
+ },
+ "JM": {
+ "name": "Jamaika"
+ },
+ "JP": {
+ "name": "Japan"
+ },
+ "YE": {
+ "name": "Jemen"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordanien"
+ },
+ "KY": {
+ "name": "Kaimaninselen"
+ },
+ "KH": {
+ "name": "Kambodscha"
+ },
+ "CM": {
+ "name": "Kamerun"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "IC": {
+ "name": "Kanaresch Inselen"
+ },
+ "CV": {
+ "name": "Kap Verde"
+ },
+ "BQ": {
+ "name": "Karibescht Holland"
+ },
+ "KZ": {
+ "name": "Kasachstan"
+ },
+ "QA": {
+ "name": "Katar"
+ },
+ "KE": {
+ "name": "Kenia"
+ },
+ "KG": {
+ "name": "Kirgisistan"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "CC": {
+ "name": "Kokosinselen"
+ },
+ "CO": {
+ "name": "Kolumbien"
+ },
+ "KM": {
+ "name": "Komoren"
+ },
+ "CG": {
+ "name": "Kongo-Brazzaville"
+ },
+ "CD": {
+ "name": "Kongo-Kinshasa"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "HR": {
+ "name": "Kroatien"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LV": {
+ "name": "Lettland"
+ },
+ "LU": {
+ "name": "Lëtzebuerg"
+ },
+ "LB": {
+ "name": "Libanon"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libyen"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Litauen"
+ },
+ "MG": {
+ "name": "Madagaskar"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malaysia"
+ },
+ "MV": {
+ "name": "Maldiven"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marokko"
+ },
+ "MH": {
+ "name": "Marshallinselen"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MR": {
+ "name": "Mauretanien"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MK": {
+ "name": "Mazedonien"
+ },
+ "MX": {
+ "name": "Mexiko"
+ },
+ "FM": {
+ "name": "Mikronesien"
+ },
+ "MD": {
+ "name": "Moldawien"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongolei"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mosambik"
+ },
+ "MM": {
+ "name": "Myanmar"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NC": {
+ "name": "Neikaledonien"
+ },
+ "NZ": {
+ "name": "Neiséiland"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "MP": {
+ "name": "Nërdlech Marianen"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "KP": {
+ "name": "Nordkorea"
+ },
+ "NF": {
+ "name": "Norfolkinsel"
+ },
+ "NO": {
+ "name": "Norwegen"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "TL": {
+ "name": "Osttimor"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palestinensesch Autonomiegebidder"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua-Neiguinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PH": {
+ "name": "Philippinnen"
+ },
+ "PN": {
+ "name": "Pitcairninselen"
+ },
+ "PL": {
+ "name": "Polen"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RO": {
+ "name": "Rumänien"
+ },
+ "RU": {
+ "name": "Russland"
+ },
+ "BL": {
+ "name": "Saint-Barthélemy"
+ },
+ "SB": {
+ "name": "Salomonen"
+ },
+ "ZM": {
+ "name": "Sambia"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "São Tomé a Príncipe"
+ },
+ "SA": {
+ "name": "Saudi-Arabien"
+ },
+ "CH": {
+ "name": "Schwäiz"
+ },
+ "SE": {
+ "name": "Schweden"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbien"
+ },
+ "SC": {
+ "name": "Seychellen"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "ZW": {
+ "name": "Simbabwe"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SK": {
+ "name": "Slowakei"
+ },
+ "SI": {
+ "name": "Slowenien"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "ES": {
+ "name": "Spanien"
+ },
+ "HK": {
+ "name": "Spezialverwaltungszon Hong Kong"
+ },
+ "MO": {
+ "name": "Spezialverwaltungszon Macau"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "SH": {
+ "name": "St. Helena"
+ },
+ "KN": {
+ "name": "St. Kitts an Nevis"
+ },
+ "LC": {
+ "name": "St. Lucia"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "PM": {
+ "name": "St. Pierre a Miquelon"
+ },
+ "VC": {
+ "name": "St. Vincent an d’Grenadinnen"
+ },
+ "ZA": {
+ "name": "Südafrika"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "GS": {
+ "name": "Südgeorgien an déi Südlech Sandwichinselen"
+ },
+ "KR": {
+ "name": "Südkorea"
+ },
+ "SS": {
+ "name": "Südsudan"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SJ": {
+ "name": "Svalbard a Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swasiland"
+ },
+ "SY": {
+ "name": "Syrien"
+ },
+ "TJ": {
+ "name": "Tadschikistan"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TZ": {
+ "name": "Tansania"
+ },
+ "TH": {
+ "name": "Thailand"
+ },
+ "TR": {
+ "name": "Tierkei"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad an Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TD": {
+ "name": "Tschad"
+ },
+ "CZ": {
+ "name": "Tschechien"
+ },
+ "TN": {
+ "name": "Tunesien"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TC": {
+ "name": "Turks- a Caicosinselen"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukrain"
+ },
+ "HU": {
+ "name": "Ungarn"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Usbekistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikanstad"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "AE": {
+ "name": "Vereenegt Arabesch Emirater"
+ },
+ "US": {
+ "name": "Vereenegt Staate vun Amerika"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "BY": {
+ "name": "Wäissrussland"
+ },
+ "WF": {
+ "name": "Wallis a Futuna"
+ },
+ "EH": {
+ "name": "Westsahara"
+ },
+ "CF": {
+ "name": "Zentralafrikanesch Republik"
+ },
+ "CY": {
+ "name": "Zypern"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/lg.json b/vendor/commerceguys/intl/resources/country/lg.json
new file mode 100644
index 000000000..2fec889d0
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/lg.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afaganisitani"
+ },
+ "AX": {
+ "name": "Åland Islands"
+ },
+ "AL": {
+ "name": "Alibaniya"
+ },
+ "DZ": {
+ "name": "Aligerya"
+ },
+ "US": {
+ "name": "Amerika"
+ },
+ "AD": {
+ "name": "Andora"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Angwila"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigwa ne Barabuda"
+ },
+ "AM": {
+ "name": "Arameniya"
+ },
+ "AR": {
+ "name": "Arigentina"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AU": {
+ "name": "Awusitureliya"
+ },
+ "AT": {
+ "name": "Awusituriya"
+ },
+ "IE": {
+ "name": "Ayalandi"
+ },
+ "IS": {
+ "name": "Ayisirandi"
+ },
+ "AZ": {
+ "name": "Azerebayijaani"
+ },
+ "BH": {
+ "name": "Baareeni"
+ },
+ "BS": {
+ "name": "Bahamasi"
+ },
+ "BD": {
+ "name": "Bangaladesi"
+ },
+ "BB": {
+ "name": "Barabadosi"
+ },
+ "BY": {
+ "name": "Belarusi"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benini"
+ },
+ "BM": {
+ "name": "Beremuda"
+ },
+ "SB": {
+ "name": "Bizanga by’eSolomooni"
+ },
+ "CV": {
+ "name": "Bizinga by’e Kepu Veredi"
+ },
+ "IO": {
+ "name": "Bizinga by’eCago"
+ },
+ "FK": {
+ "name": "Bizinga by’eFalikalandi"
+ },
+ "KM": {
+ "name": "Bizinga by’eKomoro"
+ },
+ "MV": {
+ "name": "Bizinga by’eMalidive"
+ },
+ "TC": {
+ "name": "Bizinga by’eTaaka ne Kayikosi"
+ },
+ "PH": {
+ "name": "Bizinga bya Firipino"
+ },
+ "CK": {
+ "name": "Bizinga bya Kkuki"
+ },
+ "MH": {
+ "name": "Bizinga bya Mariso"
+ },
+ "MP": {
+ "name": "Bizinga bya Mariyana eby’omumambuka"
+ },
+ "VI": {
+ "name": "Bizinga bya Virigini eby’Amerika"
+ },
+ "KY": {
+ "name": "Bizinga ebya Kayimaani"
+ },
+ "VG": {
+ "name": "Bizinga ebya Virigini ebitwalibwa Bungereza"
+ },
+ "BO": {
+ "name": "Boliviya"
+ },
+ "BW": {
+ "name": "Botiswana"
+ },
+ "BA": {
+ "name": "Boziniya Hezegovina"
+ },
+ "BE": {
+ "name": "Bubirigi"
+ },
+ "DE": {
+ "name": "Budaaki"
+ },
+ "FR": {
+ "name": "Bufalansa"
+ },
+ "GR": {
+ "name": "Bugereeki\/Buyonaani"
+ },
+ "BG": {
+ "name": "Bulugariya"
+ },
+ "GB": {
+ "name": "Bungereza"
+ },
+ "BR": {
+ "name": "Buraziiri"
+ },
+ "BF": {
+ "name": "Burukina Faso"
+ },
+ "BN": {
+ "name": "Burunayi"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Butaani"
+ },
+ "IN": {
+ "name": "Buyindi"
+ },
+ "TD": {
+ "name": "Caadi"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "CN": {
+ "name": "Cayina"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CL": {
+ "name": "Cile"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Denimaaka"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "EC": {
+ "name": "Ekwado"
+ },
+ "SV": {
+ "name": "El salivado"
+ },
+ "AE": {
+ "name": "Emireeti"
+ },
+ "ER": {
+ "name": "Eritureya"
+ },
+ "EE": {
+ "name": "Esitoniya"
+ },
+ "ET": {
+ "name": "Esyopya"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "FI": {
+ "name": "Finilandi"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gaboni"
+ },
+ "GM": {
+ "name": "Gambya"
+ },
+ "GH": {
+ "name": "Gana"
+ },
+ "GY": {
+ "name": "Gayana"
+ },
+ "GQ": {
+ "name": "Gayana ey’oku ekweta"
+ },
+ "GI": {
+ "name": "Giburalita"
+ },
+ "GN": {
+ "name": "Gini"
+ },
+ "GW": {
+ "name": "Gini-Bisawu"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GD": {
+ "name": "Gurenada"
+ },
+ "GL": {
+ "name": "Gurenelandi"
+ },
+ "GF": {
+ "name": "Guyana enfalansa"
+ },
+ "GP": {
+ "name": "Gwadalupe"
+ },
+ "GU": {
+ "name": "Gwamu"
+ },
+ "GT": {
+ "name": "Gwatemala"
+ },
+ "GE": {
+ "name": "Gyogya"
+ },
+ "HU": {
+ "name": "Hangare"
+ },
+ "HT": {
+ "name": "Hayiti"
+ },
+ "NL": {
+ "name": "Holandi"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HN": {
+ "name": "Hundurasi"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "JM": {
+ "name": "Jamayika"
+ },
+ "JP": {
+ "name": "Japani"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "DJ": {
+ "name": "Jjibuti"
+ },
+ "NC": {
+ "name": "Kaledonya mupya"
+ },
+ "KH": {
+ "name": "Kambodya"
+ },
+ "CM": {
+ "name": "Kameruuni"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "QA": {
+ "name": "Kataa"
+ },
+ "KZ": {
+ "name": "Kazakisitaani"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "KG": {
+ "name": "Kirigizisitaani"
+ },
+ "NF": {
+ "name": "Kizinga ky’eNorofoko"
+ },
+ "CO": {
+ "name": "Kolombya"
+ },
+ "CG": {
+ "name": "Kongo"
+ },
+ "CD": {
+ "name": "Kongo - Zayire"
+ },
+ "KP": {
+ "name": "Koreya ey’omumambuka"
+ },
+ "KR": {
+ "name": "Koreya ey’omumaserengeta"
+ },
+ "CR": {
+ "name": "Kosita Rika"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CI": {
+ "name": "Kote Divwa"
+ },
+ "HR": {
+ "name": "Kurowesya"
+ },
+ "KW": {
+ "name": "Kuweti"
+ },
+ "RU": {
+ "name": "Lasa"
+ },
+ "LV": {
+ "name": "Lativya"
+ },
+ "LA": {
+ "name": "Lawosi"
+ },
+ "LB": {
+ "name": "Lebanoni"
+ },
+ "LS": {
+ "name": "Lesoso"
+ },
+ "RE": {
+ "name": "Leyunyoni"
+ },
+ "LR": {
+ "name": "Liberya"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Licitensitayini"
+ },
+ "CF": {
+ "name": "Lipubulika eya Senturafiriki"
+ },
+ "CZ": {
+ "name": "Lipubulika ya Ceeka"
+ },
+ "DO": {
+ "name": "Lipubulika ya Dominika"
+ },
+ "LT": {
+ "name": "Lisuwenya"
+ },
+ "RO": {
+ "name": "Lomaniya"
+ },
+ "LU": {
+ "name": "Lukisembaaga"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MG": {
+ "name": "Madagasika"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malezya"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malita"
+ },
+ "MQ": {
+ "name": "Maritiniiki"
+ },
+ "MK": {
+ "name": "Masedoniya"
+ },
+ "MU": {
+ "name": "Mawulisyasi"
+ },
+ "MR": {
+ "name": "Mawulitenya"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Mekisiko"
+ },
+ "FM": {
+ "name": "Mikuronezya"
+ },
+ "EG": {
+ "name": "Misiri"
+ },
+ "MD": {
+ "name": "Molodova"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MN": {
+ "name": "Mongoliya"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Monteseraati"
+ },
+ "MA": {
+ "name": "Moroko"
+ },
+ "MZ": {
+ "name": "Mozambiiki"
+ },
+ "MM": {
+ "name": "Myanima"
+ },
+ "NA": {
+ "name": "Namibiya"
+ },
+ "NR": {
+ "name": "Nawuru"
+ },
+ "NG": {
+ "name": "Nayijerya"
+ },
+ "NP": {
+ "name": "Nepalo"
+ },
+ "NE": {
+ "name": "Nije"
+ },
+ "NI": {
+ "name": "Nikaraguwa"
+ },
+ "NU": {
+ "name": "Niyuwe"
+ },
+ "NZ": {
+ "name": "Niyuziirandi"
+ },
+ "NO": {
+ "name": "Nowe"
+ },
+ "OM": {
+ "name": "Omaani"
+ },
+ "PK": {
+ "name": "Pakisitaani"
+ },
+ "PW": {
+ "name": "Palawu"
+ },
+ "PS": {
+ "name": "Palesitayini"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papwa Nyugini"
+ },
+ "PY": {
+ "name": "Paragwayi"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitikeeni"
+ },
+ "PL": {
+ "name": "Polandi"
+ },
+ "PF": {
+ "name": "Polinesiya enfalansa"
+ },
+ "PR": {
+ "name": "Potoriko"
+ },
+ "PT": {
+ "name": "Potugaali"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "WS": {
+ "name": "Samowa"
+ },
+ "AS": {
+ "name": "Samowa omumerika"
+ },
+ "SM": {
+ "name": "Sanimarino"
+ },
+ "ST": {
+ "name": "Sanitome ne Purincipe"
+ },
+ "SA": {
+ "name": "Sawudarebya - Buwarabu"
+ },
+ "ZA": {
+ "name": "Sawusafirika"
+ },
+ "SN": {
+ "name": "Senegaalo"
+ },
+ "SH": {
+ "name": "Senti Herena"
+ },
+ "KN": {
+ "name": "Senti Kitisi ne Nevisi"
+ },
+ "LC": {
+ "name": "Senti Luciya"
+ },
+ "PM": {
+ "name": "Senti Piyere ne Mikeloni"
+ },
+ "VC": {
+ "name": "Senti Vinsenti ne Gurendadiini"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Sesere"
+ },
+ "SG": {
+ "name": "Singapowa"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "ES": {
+ "name": "Sipeyini"
+ },
+ "CY": {
+ "name": "Sipuriya"
+ },
+ "LK": {
+ "name": "Sirilanka"
+ },
+ "SY": {
+ "name": "Siriya"
+ },
+ "SK": {
+ "name": "Sirovakya"
+ },
+ "SI": {
+ "name": "Sirovenya"
+ },
+ "SL": {
+ "name": "Siyeralewone"
+ },
+ "SO": {
+ "name": "Somaliya"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SD": {
+ "name": "Sudaani"
+ },
+ "SR": {
+ "name": "Surinaamu"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swazirandi"
+ },
+ "SE": {
+ "name": "Swideni"
+ },
+ "CH": {
+ "name": "Switizirandi"
+ },
+ "TJ": {
+ "name": "Tajikisitaani"
+ },
+ "TM": {
+ "name": "Takimenesitaani"
+ },
+ "TZ": {
+ "name": "Tanzaniya"
+ },
+ "TH": {
+ "name": "Tayirandi"
+ },
+ "TW": {
+ "name": "Tayiwani"
+ },
+ "TL": {
+ "name": "Timowa"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelawu"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TR": {
+ "name": "Ttake"
+ },
+ "TN": {
+ "name": "Tunisya"
+ },
+ "TT": {
+ "name": "Turindaadi ne Tobago"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "VU": {
+ "name": "Vanawuwatu"
+ },
+ "VA": {
+ "name": "Vatikaani"
+ },
+ "VE": {
+ "name": "Venzwera"
+ },
+ "VN": {
+ "name": "Vyetinaamu"
+ },
+ "WF": {
+ "name": "Walisi ne Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "UY": {
+ "name": "Wurugwayi"
+ },
+ "UZ": {
+ "name": "Wuzibekisitaani"
+ },
+ "YE": {
+ "name": "Yemeni"
+ },
+ "ID": {
+ "name": "Yindonezya"
+ },
+ "IQ": {
+ "name": "Yiraaka"
+ },
+ "IR": {
+ "name": "Yiraani"
+ },
+ "IL": {
+ "name": "Yisirayeri"
+ },
+ "IT": {
+ "name": "Yitale"
+ },
+ "JO": {
+ "name": "Yorodani"
+ },
+ "UG": {
+ "name": "Yuganda"
+ },
+ "UA": {
+ "name": "Yukurayine"
+ },
+ "ZM": {
+ "name": "Zambya"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/ln.json b/vendor/commerceguys/intl/resources/country/ln.json
new file mode 100644
index 000000000..cf4e8ddf0
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/ln.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afiganisitá"
+ },
+ "ZA": {
+ "name": "Afríka ya Súdi"
+ },
+ "SA": {
+ "name": "Alabi Sawuditɛ"
+ },
+ "AX": {
+ "name": "Åland Islands"
+ },
+ "DE": {
+ "name": "Alemani"
+ },
+ "AL": {
+ "name": "Alibani"
+ },
+ "DZ": {
+ "name": "Alizɛri"
+ },
+ "US": {
+ "name": "Ameriki"
+ },
+ "AM": {
+ "name": "Amɛni"
+ },
+ "AD": {
+ "name": "Andorɛ"
+ },
+ "GB": {
+ "name": "Angɛlɛtɛ́lɛ"
+ },
+ "AI": {
+ "name": "Angiyɛ"
+ },
+ "AO": {
+ "name": "Angóla"
+ },
+ "AQ": {
+ "name": "Antarctique"
+ },
+ "AG": {
+ "name": "Antiga mpé Barbuda"
+ },
+ "AR": {
+ "name": "Arizantinɛ"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "HT": {
+ "name": "Ayiti"
+ },
+ "AZ": {
+ "name": "Azɛlɛbaizá"
+ },
+ "BS": {
+ "name": "Bahamasɛ"
+ },
+ "BH": {
+ "name": "Bahrɛnɛ"
+ },
+ "BB": {
+ "name": "Barɛbadɛ"
+ },
+ "BE": {
+ "name": "Beleziki"
+ },
+ "BZ": {
+ "name": "Belizɛ"
+ },
+ "BJ": {
+ "name": "Benɛ"
+ },
+ "BD": {
+ "name": "Bengalidɛsi"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BG": {
+ "name": "Biligari"
+ },
+ "MM": {
+ "name": "Birmanie"
+ },
+ "CV": {
+ "name": "Bisanga bya Kapevɛrɛ"
+ },
+ "KY": {
+ "name": "Bisanga bya Kayíma"
+ },
+ "CK": {
+ "name": "Bisanga bya Kookɛ"
+ },
+ "FK": {
+ "name": "Bisanga bya Maluni"
+ },
+ "MP": {
+ "name": "Bisanga bya Marianɛ ya nɔ́rdi"
+ },
+ "MH": {
+ "name": "Bisanga bya Marishalɛ"
+ },
+ "TC": {
+ "name": "Bisanga bya Turki mpé Kaiko"
+ },
+ "VI": {
+ "name": "Bisanga bya Vierzi ya Ameriki"
+ },
+ "VG": {
+ "name": "Bisanga bya Vierzi ya Angɛlɛtɛ́lɛ"
+ },
+ "SB": {
+ "name": "Bisanga Solomɔ"
+ },
+ "BO": {
+ "name": "Bolivi"
+ },
+ "BA": {
+ "name": "Bosini mpé Hezegovine"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brezílɛ"
+ },
+ "BN": {
+ "name": "Brineyi"
+ },
+ "BF": {
+ "name": "Bukina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Butáni"
+ },
+ "BY": {
+ "name": "Byelorisi"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Danɛmarike"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Domínike"
+ },
+ "DJ": {
+ "name": "Dzibuti"
+ },
+ "EC": {
+ "name": "Ekwatɛ́lɛ"
+ },
+ "ER": {
+ "name": "Elitelɛ"
+ },
+ "NF": {
+ "name": "Esanga Norfokɛ"
+ },
+ "ES": {
+ "name": "Esipanye"
+ },
+ "EE": {
+ "name": "Esitoni"
+ },
+ "ET": {
+ "name": "Etsíopi"
+ },
+ "EG": {
+ "name": "Ezípite"
+ },
+ "FR": {
+ "name": "Falánsɛ"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fidzi"
+ },
+ "FI": {
+ "name": "Filandɛ"
+ },
+ "PH": {
+ "name": "Filipinɛ"
+ },
+ "GA": {
+ "name": "Gabɔ"
+ },
+ "GM": {
+ "name": "Gambi"
+ },
+ "GH": {
+ "name": "Gana"
+ },
+ "GR": {
+ "name": "Geleki"
+ },
+ "GD": {
+ "name": "Gelenadɛ"
+ },
+ "GN": {
+ "name": "Ginɛ"
+ },
+ "GW": {
+ "name": "Ginɛbisau"
+ },
+ "GQ": {
+ "name": "Ginɛ́kwatɛ́lɛ"
+ },
+ "GY": {
+ "name": "Giyane"
+ },
+ "GF": {
+ "name": "Giyanɛ ya Falánsɛ"
+ },
+ "GL": {
+ "name": "Gowelande"
+ },
+ "GG": {
+ "name": "Guernesey"
+ },
+ "GP": {
+ "name": "Gwadɛlupɛ"
+ },
+ "GU": {
+ "name": "Gwamɛ"
+ },
+ "GT": {
+ "name": "Gwatémala"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "UA": {
+ "name": "Ikrɛni"
+ },
+ "GS": {
+ "name": "Îles de Géorgie du Sud et Sandwich du Sud"
+ },
+ "IN": {
+ "name": "Índɛ"
+ },
+ "ID": {
+ "name": "Indonezi"
+ },
+ "IR": {
+ "name": "Irâ"
+ },
+ "IQ": {
+ "name": "Iraki"
+ },
+ "IE": {
+ "name": "Irelandɛ"
+ },
+ "UY": {
+ "name": "Irigwei"
+ },
+ "IS": {
+ "name": "Isilandɛ"
+ },
+ "IL": {
+ "name": "Isirayelɛ"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IT": {
+ "name": "Itali"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "NC": {
+ "name": "Kaledoni ya sika"
+ },
+ "KH": {
+ "name": "Kambodza"
+ },
+ "CM": {
+ "name": "Kamɛrune"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "QA": {
+ "name": "Katari"
+ },
+ "KZ": {
+ "name": "Kazakisitá"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "CU": {
+ "name": "Kiba"
+ },
+ "KG": {
+ "name": "Kigizisitá"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "CO": {
+ "name": "Kolombi"
+ },
+ "KM": {
+ "name": "Komorɛ"
+ },
+ "CG": {
+ "name": "Kongo"
+ },
+ "KP": {
+ "name": "Korɛ ya nɔ́rdi"
+ },
+ "KR": {
+ "name": "Korɛ ya súdi"
+ },
+ "CR": {
+ "name": "Kositarika"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CI": {
+ "name": "Kotídivualɛ"
+ },
+ "KW": {
+ "name": "Koweti"
+ },
+ "HR": {
+ "name": "Krowasi"
+ },
+ "LA": {
+ "name": "Lawosi"
+ },
+ "RE": {
+ "name": "Lenyo"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LV": {
+ "name": "Letoni"
+ },
+ "AE": {
+ "name": "Lɛmila alabo"
+ },
+ "LB": {
+ "name": "Libá"
+ },
+ "LR": {
+ "name": "Libériya"
+ },
+ "LY": {
+ "name": "Libí"
+ },
+ "LU": {
+ "name": "Likisambulu"
+ },
+ "LI": {
+ "name": "Lishɛteni"
+ },
+ "LT": {
+ "name": "Litwani"
+ },
+ "IO": {
+ "name": "Mabelé ya Angɛlɛtɛ́lɛ na mbú ya Indiya"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MG": {
+ "name": "Madagasikari"
+ },
+ "MV": {
+ "name": "Madívɛ"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malezi"
+ },
+ "ML": {
+ "name": "Malí"
+ },
+ "MT": {
+ "name": "Malitɛ"
+ },
+ "MA": {
+ "name": "Marokɛ"
+ },
+ "MQ": {
+ "name": "Martiniki"
+ },
+ "MK": {
+ "name": "Masedwanɛ"
+ },
+ "YT": {
+ "name": "Mayotɛ"
+ },
+ "MX": {
+ "name": "Meksike"
+ },
+ "FM": {
+ "name": "Mikronezi"
+ },
+ "MD": {
+ "name": "Molidavi"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MN": {
+ "name": "Mongolí"
+ },
+ "ME": {
+ "name": "Monténégro"
+ },
+ "MU": {
+ "name": "Morisɛ"
+ },
+ "MR": {
+ "name": "Moritani"
+ },
+ "MS": {
+ "name": "Mɔsera"
+ },
+ "MZ": {
+ "name": "Mozambíki"
+ },
+ "NA": {
+ "name": "Namibi"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepálɛ"
+ },
+ "NI": {
+ "name": "Nikaragwa"
+ },
+ "NG": {
+ "name": "Nizerya"
+ },
+ "NE": {
+ "name": "Nizɛrɛ"
+ },
+ "NO": {
+ "name": "Norivezɛ"
+ },
+ "NU": {
+ "name": "Nyué"
+ },
+ "NL": {
+ "name": "Olandɛ"
+ },
+ "OM": {
+ "name": "Ománɛ"
+ },
+ "HN": {
+ "name": "Ondurasɛ"
+ },
+ "HU": {
+ "name": "Ongili"
+ },
+ "AU": {
+ "name": "Ositáli"
+ },
+ "AT": {
+ "name": "Otilisi"
+ },
+ "PK": {
+ "name": "Pakisitá"
+ },
+ "PY": {
+ "name": "Palagwei"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palɛsine"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papwazi Ginɛ ya sika"
+ },
+ "PE": {
+ "name": "Péru"
+ },
+ "PN": {
+ "name": "Pikairni"
+ },
+ "PF": {
+ "name": "Polinezi ya Falánsɛ"
+ },
+ "PL": {
+ "name": "Poloni"
+ },
+ "PR": {
+ "name": "Pɔtoriko"
+ },
+ "PT": {
+ "name": "Putúlugɛsi"
+ },
+ "CZ": {
+ "name": "Repibiki Tsekɛ"
+ },
+ "CF": {
+ "name": "Repibiki ya Afríka ya Káti"
+ },
+ "DO": {
+ "name": "Repibiki ya Domínikɛ"
+ },
+ "CD": {
+ "name": "Republíki ya Kongó Demokratíki"
+ },
+ "RU": {
+ "name": "Risí"
+ },
+ "RO": {
+ "name": "Romani"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa ya Ameriki"
+ },
+ "SH": {
+ "name": "Sántu eleni"
+ },
+ "KN": {
+ "name": "Sántu krístofe mpé Nevɛ̀s"
+ },
+ "LC": {
+ "name": "Sántu lisi"
+ },
+ "SM": {
+ "name": "Sántu Marinɛ"
+ },
+ "PM": {
+ "name": "Sántu pététo mpé Mikelɔ"
+ },
+ "VC": {
+ "name": "Sántu vesá mpé Gelenadinɛ"
+ },
+ "ST": {
+ "name": "Sao Tomé mpé Presipɛ"
+ },
+ "SV": {
+ "name": "Savadɔrɛ"
+ },
+ "SN": {
+ "name": "Senegalɛ"
+ },
+ "RS": {
+ "name": "Serbie"
+ },
+ "SC": {
+ "name": "Sɛshɛlɛ"
+ },
+ "SL": {
+ "name": "Siera Leonɛ"
+ },
+ "CL": {
+ "name": "Síli"
+ },
+ "SK": {
+ "name": "Silovaki"
+ },
+ "SI": {
+ "name": "Siloveni"
+ },
+ "CN": {
+ "name": "Sinɛ"
+ },
+ "SG": {
+ "name": "Singapurɛ"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "CY": {
+ "name": "Sípɛlɛ"
+ },
+ "SY": {
+ "name": "Sirí"
+ },
+ "LK": {
+ "name": "Sirilanka"
+ },
+ "SO": {
+ "name": "Somali"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SD": {
+ "name": "Sudá"
+ },
+ "SR": {
+ "name": "Surinamɛ"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swazilandi"
+ },
+ "SE": {
+ "name": "Swédɛ"
+ },
+ "CH": {
+ "name": "Swisɛ"
+ },
+ "TH": {
+ "name": "Tailandɛ"
+ },
+ "TW": {
+ "name": "Taiwanin"
+ },
+ "TZ": {
+ "name": "Tanzani"
+ },
+ "TJ": {
+ "name": "Tazikisitá"
+ },
+ "TF": {
+ "name": "Terres australes et antarctiques françaises"
+ },
+ "TM": {
+ "name": "Tikɛménisitá"
+ },
+ "TR": {
+ "name": "Tiliki"
+ },
+ "TL": {
+ "name": "Timorɛ ya Moniɛlɛ"
+ },
+ "TT": {
+ "name": "Tinidadɛ mpé Tobago"
+ },
+ "TN": {
+ "name": "Tinizi"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TD": {
+ "name": "Tsádi"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UZ": {
+ "name": "Uzibɛkisitá"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatiká"
+ },
+ "VE": {
+ "name": "Venézuela"
+ },
+ "VN": {
+ "name": "Viyetinamɛ"
+ },
+ "WF": {
+ "name": "Walisɛ mpé Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yemɛnɛ"
+ },
+ "JM": {
+ "name": "Zamaiki"
+ },
+ "ZM": {
+ "name": "Zambi"
+ },
+ "JP": {
+ "name": "Zapɔ"
+ },
+ "NZ": {
+ "name": "Zelandɛ ya sika"
+ },
+ "GI": {
+ "name": "Zibatalɛ"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ },
+ "JO": {
+ "name": "Zɔdani"
+ },
+ "GE": {
+ "name": "Zorzi"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/lo.json b/vendor/commerceguys/intl/resources/country/lo.json
new file mode 100644
index 000000000..5916f7f56
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/lo.json
@@ -0,0 +1,761 @@
+{
+ "GR": {
+ "name": "ກຣີຊ"
+ },
+ "GL": {
+ "name": "ກຣີນແລນ"
+ },
+ "GU": {
+ "name": "ກວາມ"
+ },
+ "GY": {
+ "name": "ກາຍຢານາ"
+ },
+ "QA": {
+ "name": "ກາຕາ"
+ },
+ "GH": {
+ "name": "ການາ"
+ },
+ "GA": {
+ "name": "ກາບອນ"
+ },
+ "KH": {
+ "name": "ກຳປູເຈຍ"
+ },
+ "GN": {
+ "name": "ກິນີ"
+ },
+ "GW": {
+ "name": "ກິນີ-ບິສເຊົາ"
+ },
+ "KW": {
+ "name": "ກູເວດ"
+ },
+ "GP": {
+ "name": "ກົວດາລູບ"
+ },
+ "GT": {
+ "name": "ກົວເທມາລາ"
+ },
+ "GD": {
+ "name": "ເກຣເນດາ"
+ },
+ "CX": {
+ "name": "ເກາະຄຣິສມາດ"
+ },
+ "NF": {
+ "name": "ເກາະນໍໂຟກ"
+ },
+ "AC": {
+ "name": "ເກາະອາເຊນຊັນ"
+ },
+ "GG": {
+ "name": "ເກີນຊີ"
+ },
+ "KR": {
+ "name": "ເກົາຫລີໃຕ້"
+ },
+ "KP": {
+ "name": "ເກົາຫລີເໜືອ"
+ },
+ "TF": {
+ "name": "ເຂດແດນທາງໃຕ້ຂອຝຮັ່ງ"
+ },
+ "IO": {
+ "name": "ເຂດແດນອັງກິດໃນມະຫາສະມຸດອິນເດຍ"
+ },
+ "CD": {
+ "name": "ຄອງໂກ - ຄິນຊາຊາ"
+ },
+ "CG": {
+ "name": "ຄອງໂກ - ບຣາຊາວິວ"
+ },
+ "KZ": {
+ "name": "ຄາຊັກສະຖານ"
+ },
+ "CM": {
+ "name": "ຄາເມຣູນ"
+ },
+ "BQ": {
+ "name": "ຄາຣິບບຽນ ເນເທີແລນ"
+ },
+ "KI": {
+ "name": "ຄິຣິບາທິ"
+ },
+ "CU": {
+ "name": "ຄິວບາ"
+ },
+ "KG": {
+ "name": "ຄີກິສຖານ"
+ },
+ "CW": {
+ "name": "ຄູຣາຊາວ"
+ },
+ "KE": {
+ "name": "ເຄນຢາ"
+ },
+ "CV": {
+ "name": "ເຄບ ເວີດ"
+ },
+ "CA": {
+ "name": "ແຄນາດາ"
+ },
+ "CR": {
+ "name": "ໂຄສຕາ ຣິກາ"
+ },
+ "XK": {
+ "name": "ໂຄໂຊໂວ"
+ },
+ "CI": {
+ "name": "ໂຄຕີ ວົວ"
+ },
+ "KM": {
+ "name": "ໂຄໂມໂຣສ"
+ },
+ "HR": {
+ "name": "ໂຄຣເອເທຍ"
+ },
+ "CO": {
+ "name": "ໂຄລົມເບຍ"
+ },
+ "GE": {
+ "name": "ຈໍເຈຍ"
+ },
+ "JO": {
+ "name": "ຈໍແດນ"
+ },
+ "JM": {
+ "name": "ຈາໄມຄາ"
+ },
+ "GI": {
+ "name": "ຈິບບຣອນທາ"
+ },
+ "DJ": {
+ "name": "ຈິບູຕິ"
+ },
+ "CN": {
+ "name": "ຈີນ"
+ },
+ "CL": {
+ "name": "ຈີເລ"
+ },
+ "JE": {
+ "name": "ເຈີຊີ"
+ },
+ "ES": {
+ "name": "ສະເປນ"
+ },
+ "SK": {
+ "name": "ສະໂລວາເກຍ"
+ },
+ "SI": {
+ "name": "ສະໂລເວເນຍ"
+ },
+ "SZ": {
+ "name": "ສະວາຊິແລນ"
+ },
+ "SJ": {
+ "name": "ສະວາບາ ແລະ ແຢນ ມາເຢນ"
+ },
+ "CH": {
+ "name": "ສະວິດເຊີແລນ"
+ },
+ "SE": {
+ "name": "ສະວີເດັນ"
+ },
+ "US": {
+ "name": "ສະຫະລັດ"
+ },
+ "AE": {
+ "name": "ສະຫະລັດອາຣັບເອມິເຣດ"
+ },
+ "GB": {
+ "name": "ສະຫະລາດຊະອະນາຈັກ"
+ },
+ "DO": {
+ "name": "ສາທາລະນະລັດ ໂດມິນິກັນ"
+ },
+ "GM": {
+ "name": "ສາທາລະນະລັດແກມເບຍ"
+ },
+ "CZ": {
+ "name": "ສາທາລະນະລັດເຊັກ"
+ },
+ "CF": {
+ "name": "ສາທາລະນະລັດອາຟຣິກາກາງ"
+ },
+ "SG": {
+ "name": "ສິງກະໂປ"
+ },
+ "LK": {
+ "name": "ສີລັງກາ"
+ },
+ "TD": {
+ "name": "ຊາດ"
+ },
+ "WS": {
+ "name": "ຊາມົວ"
+ },
+ "SA": {
+ "name": "ຊາອຸດິ ອາຣາເບຍ"
+ },
+ "EH": {
+ "name": "ຊາຮາຣາຕາເວັນຕົກ"
+ },
+ "SX": {
+ "name": "ຊິນ ມາເທັນ"
+ },
+ "ZW": {
+ "name": "ຊິມບັບເວ"
+ },
+ "SY": {
+ "name": "ຊີເຣຍ"
+ },
+ "SD": {
+ "name": "ຊູດານ"
+ },
+ "SS": {
+ "name": "ຊູດານໃຕ້"
+ },
+ "SR": {
+ "name": "ຊູຣິນາມ"
+ },
+ "SC": {
+ "name": "ເຊເຊວເລສ"
+ },
+ "SL": {
+ "name": "ເຊຍຣາ ລີໂອນ"
+ },
+ "KN": {
+ "name": "ເຊນ ຄິດ ແລະ ເນວິສ"
+ },
+ "BL": {
+ "name": "ເຊນ ບາເທເລມີ"
+ },
+ "PM": {
+ "name": "ເຊນ ປີແອ ມິເກວລອນ"
+ },
+ "MF": {
+ "name": "ເຊນ ມາທິນ"
+ },
+ "LC": {
+ "name": "ເຊນ ລູເຊຍ"
+ },
+ "VC": {
+ "name": "ເຊນ ວິນເຊນ ແລະ ເກຣເນດິນ"
+ },
+ "SH": {
+ "name": "ເຊນ ເຮເລນາ"
+ },
+ "SN": {
+ "name": "ເຊນີໂກລ"
+ },
+ "EA": {
+ "name": "ເຊວຕາ ແລະເມລິນລາ"
+ },
+ "RS": {
+ "name": "ເຊີເບຍ"
+ },
+ "ST": {
+ "name": "ເຊົາທູເມ ແລະ ພຣິນຊິບ"
+ },
+ "SM": {
+ "name": "ແຊນ ມາຣິໂນ"
+ },
+ "ZM": {
+ "name": "ແຊມເບຍ"
+ },
+ "SO": {
+ "name": "ໂຊມາລີ"
+ },
+ "CY": {
+ "name": "ໄຊປຣັສ"
+ },
+ "JP": {
+ "name": "ຍີ່ປຸ່ນ"
+ },
+ "PS": {
+ "name": "ດິນແດນ ປາເລສຕິນຽນ"
+ },
+ "DG": {
+ "name": "ດິເອໂກ ກາເຊຍ"
+ },
+ "DK": {
+ "name": "ເດນມາກ"
+ },
+ "DM": {
+ "name": "ໂດມີນິຄາ"
+ },
+ "TN": {
+ "name": "ຕູນິເຊຍ"
+ },
+ "TV": {
+ "name": "ຕູວາລູ"
+ },
+ "TK": {
+ "name": "ໂຕເກເລົາ"
+ },
+ "TG": {
+ "name": "ໂຕໂກ"
+ },
+ "TW": {
+ "name": "ໄຕ້ຫວັນ"
+ },
+ "TA": {
+ "name": "ທຣິສຕັນ ດາ ກັນຮາ"
+ },
+ "TT": {
+ "name": "ທຣິນິແດດ ແລະ ໂທແບໂກ"
+ },
+ "TO": {
+ "name": "ທອງກາ"
+ },
+ "TJ": {
+ "name": "ທາຈິກິດສະຖານ"
+ },
+ "TZ": {
+ "name": "ທານຊາເນຍ"
+ },
+ "TL": {
+ "name": "ທິມໍ-ເລສເຕ"
+ },
+ "TM": {
+ "name": "ເທີກເມນິສະຖານ"
+ },
+ "TR": {
+ "name": "ເທີຄີ"
+ },
+ "TH": {
+ "name": "ໄທ"
+ },
+ "NO": {
+ "name": "ນໍເວ"
+ },
+ "VA": {
+ "name": "ນະຄອນ ວາຕິກັນ"
+ },
+ "NA": {
+ "name": "ນາມີເບຍ"
+ },
+ "NR": {
+ "name": "ນາອູຣູ"
+ },
+ "NI": {
+ "name": "ນິກຄາຣາກົວ"
+ },
+ "NE": {
+ "name": "ນິເຈີ"
+ },
+ "NC": {
+ "name": "ນິວ ຄາເລໂດເນຍ"
+ },
+ "NZ": {
+ "name": "ນິວຊີແລນ"
+ },
+ "NU": {
+ "name": "ນີອູເອ"
+ },
+ "NL": {
+ "name": "ເນເທີແລນ"
+ },
+ "NP": {
+ "name": "ເນປານ"
+ },
+ "NG": {
+ "name": "ໄນຈີເຣຍ"
+ },
+ "BN": {
+ "name": "ບຣູໄນ"
+ },
+ "BA": {
+ "name": "ບອດສະເນຍ ແລະ ແຮສໂກວີນາ"
+ },
+ "BW": {
+ "name": "ບອດສະວານາ"
+ },
+ "BR": {
+ "name": "ບະເລຊີນ"
+ },
+ "BD": {
+ "name": "ບັງກະລາເທດ"
+ },
+ "BG": {
+ "name": "ບັງກາເຣຍ"
+ },
+ "BB": {
+ "name": "ບາບາໂດສ"
+ },
+ "BH": {
+ "name": "ບາເຣນ"
+ },
+ "BS": {
+ "name": "ບາຮາມາສ"
+ },
+ "BI": {
+ "name": "ບູຣຸນດິ"
+ },
+ "BJ": {
+ "name": "ເບນິນ"
+ },
+ "BZ": {
+ "name": "ເບລີຊ"
+ },
+ "BY": {
+ "name": "ເບວບາຣຸສ"
+ },
+ "BE": {
+ "name": "ເບວຢຽມ"
+ },
+ "BF": {
+ "name": "ເບີກິນາ ຟາໂຊ"
+ },
+ "BM": {
+ "name": "ເບີມິວດາ"
+ },
+ "BO": {
+ "name": "ໂບລິເວຍ"
+ },
+ "PK": {
+ "name": "ປາກິດສະຖານ"
+ },
+ "PG": {
+ "name": "ປາປົວນິວກີນີ"
+ },
+ "PW": {
+ "name": "ປາລາວ"
+ },
+ "PE": {
+ "name": "ເປຣູ"
+ },
+ "PL": {
+ "name": "ໂປແລນ"
+ },
+ "FR": {
+ "name": "ຝຣັ່ງ"
+ },
+ "PT": {
+ "name": "ພອລທູໂກ"
+ },
+ "PA": {
+ "name": "ພານາມາ"
+ },
+ "PY": {
+ "name": "ພາຣາກວຍ"
+ },
+ "BT": {
+ "name": "ພູຖານ"
+ },
+ "PR": {
+ "name": "ເພືອໂຕ ຣິໂກ"
+ },
+ "FJ": {
+ "name": "ຟິຈິ"
+ },
+ "FI": {
+ "name": "ຟິນແລນ"
+ },
+ "PH": {
+ "name": "ຟິລິບປິນ"
+ },
+ "GF": {
+ "name": "ເຟຣນຊ໌ ກຸຍອານາ"
+ },
+ "PF": {
+ "name": "ເຟຣນຊ໌ ໂພລິນີເຊຍ"
+ },
+ "MN": {
+ "name": "ມອງໂກເລຍ"
+ },
+ "MS": {
+ "name": "ມອນເຊີຣາດ"
+ },
+ "ME": {
+ "name": "ມອນເຕເນໂກຣ"
+ },
+ "MT": {
+ "name": "ມອນທາ"
+ },
+ "MV": {
+ "name": "ມັນດິຟ"
+ },
+ "MO": {
+ "name": "ມາເກົ້າ ເຂດປົກຄອງພິເສດ ຈີນ"
+ },
+ "MG": {
+ "name": "ມາດາກາສກາ"
+ },
+ "MQ": {
+ "name": "ມາຕິນີກ"
+ },
+ "YT": {
+ "name": "ມາຢັອດ"
+ },
+ "MW": {
+ "name": "ມາລາວີ"
+ },
+ "ML": {
+ "name": "ມາລີ"
+ },
+ "MY": {
+ "name": "ມາເລເຊຍ"
+ },
+ "MU": {
+ "name": "ມົວຣິຊຽສ"
+ },
+ "MR": {
+ "name": "ມົວຣິເທເນຍ"
+ },
+ "MM": {
+ "name": "ມຽນມາ (ເບີມາ)"
+ },
+ "MX": {
+ "name": "ເມັກຊິໂກ"
+ },
+ "MK": {
+ "name": "ແມຊິໂດເນຍ"
+ },
+ "MZ": {
+ "name": "ໂມແຊມບິກ"
+ },
+ "MD": {
+ "name": "ໂມນໂດວາ"
+ },
+ "MC": {
+ "name": "ໂມນາໂຄ"
+ },
+ "MA": {
+ "name": "ໂມຣັອກໂຄ"
+ },
+ "FM": {
+ "name": "ໄມໂຄຣນີເຊຍ"
+ },
+ "UA": {
+ "name": "ຢູເຄຣນ"
+ },
+ "DE": {
+ "name": "ເຢຍລະມັນ"
+ },
+ "YE": {
+ "name": "ເຢເມນ"
+ },
+ "RW": {
+ "name": "ຣວັນດາ"
+ },
+ "RU": {
+ "name": "ຣັດເຊຍ"
+ },
+ "RE": {
+ "name": "ເຣອູນິຍົງ"
+ },
+ "RO": {
+ "name": "ໂຣແມເນຍ"
+ },
+ "LV": {
+ "name": "ລັດເວຍ"
+ },
+ "LA": {
+ "name": "ລາວ"
+ },
+ "LI": {
+ "name": "ລິດເທນສະຕາຍ"
+ },
+ "LT": {
+ "name": "ລິທົວເນຍ"
+ },
+ "LY": {
+ "name": "ລິເບຍ"
+ },
+ "LR": {
+ "name": "ລິເບີເຣຍ"
+ },
+ "LU": {
+ "name": "ລຸກຊຳບົວ"
+ },
+ "LS": {
+ "name": "ເລໂຊໂທ"
+ },
+ "LB": {
+ "name": "ເລບານອນ"
+ },
+ "VU": {
+ "name": "ວານົວຕູ"
+ },
+ "WF": {
+ "name": "ວາລລິສ ແລະ ຟູຕູນາ"
+ },
+ "VE": {
+ "name": "ເວເນຊູເອລາ"
+ },
+ "KY": {
+ "name": "ໝູ່ເກາະ ເຄແມນ"
+ },
+ "TC": {
+ "name": "ໝູ່ເກາະ ເທີກ ແລະ ໄຄໂຄສ"
+ },
+ "VG": {
+ "name": "ໝູ່ເກາະ ບຣິທິຊ ເວີຈິນ"
+ },
+ "VI": {
+ "name": "ໝູ່ເກາະ ຢູເອສ ເວີຈິນ"
+ },
+ "CC": {
+ "name": "ຫມູ່ເກາະໂກໂກສ"
+ },
+ "IC": {
+ "name": "ໝູ່ເກາະຄານາຣີ"
+ },
+ "CK": {
+ "name": "ໝູ່ເກາະຄຸກ"
+ },
+ "GS": {
+ "name": "ໝູ່ເກາະຈໍເຈຍ & ເຊົາ ແຊນວິດ"
+ },
+ "SB": {
+ "name": "ຫມູ່ເກາະໂຊໂລມອນ"
+ },
+ "PN": {
+ "name": "ໝູ່ເກາະພິດແຄນ"
+ },
+ "FK": {
+ "name": "ຫມູ່ເກາະຟອກແລນ"
+ },
+ "FO": {
+ "name": "ຫມູ່ເກາະແຟໂຣ"
+ },
+ "MH": {
+ "name": "ຫມູ່ເກາະມາແຊວ"
+ },
+ "MP": {
+ "name": "ຫມູ່ເກາະມາແຊວຕອນເຫນືອ"
+ },
+ "AX": {
+ "name": "ຫມູ່ເກາະໂອລັນ"
+ },
+ "UM": {
+ "name": "ໝູ່ເກາະຮອບນອກຂອງສະຫະລັດຯ"
+ },
+ "VN": {
+ "name": "ຫວຽດນາມ"
+ },
+ "AU": {
+ "name": "ອອສເຕຣເລຍ"
+ },
+ "AT": {
+ "name": "ອອສເທຣຍ"
+ },
+ "AD": {
+ "name": "ອັນດໍຣາ"
+ },
+ "DZ": {
+ "name": "ອັລຈິເຣຍ"
+ },
+ "AR": {
+ "name": "ອາເຈນທິນາ"
+ },
+ "AZ": {
+ "name": "ອາເຊີໄບຈານ"
+ },
+ "AF": {
+ "name": "ອາຟການິດສະຖານ"
+ },
+ "ZA": {
+ "name": "ອາຟຣິກາໃຕ້"
+ },
+ "AM": {
+ "name": "ອາເມເນຍ"
+ },
+ "AS": {
+ "name": "ອາເມຣິກາ ຊາມົວ"
+ },
+ "AW": {
+ "name": "ອາຣູບາ"
+ },
+ "IL": {
+ "name": "ອິສຣາເອວ"
+ },
+ "IT": {
+ "name": "ອິຕາລີ"
+ },
+ "IN": {
+ "name": "ອິນເດຍ"
+ },
+ "ID": {
+ "name": "ອິນໂດເນເຊຍ"
+ },
+ "ET": {
+ "name": "ອີທິໂອເປຍ"
+ },
+ "EG": {
+ "name": "ອີຢິບ"
+ },
+ "IQ": {
+ "name": "ອີຣັກ"
+ },
+ "IR": {
+ "name": "ອີຣານ"
+ },
+ "UZ": {
+ "name": "ອຸສເບກິສະຖານ"
+ },
+ "UG": {
+ "name": "ອູການດາ"
+ },
+ "UY": {
+ "name": "ອູຣຸກວຍ"
+ },
+ "EC": {
+ "name": "ເອກວາດໍ"
+ },
+ "GQ": {
+ "name": "ເອຄົວໂທຣຽວ ກີນີ"
+ },
+ "EE": {
+ "name": "ເອສໂຕເນຍ"
+ },
+ "ER": {
+ "name": "ເອຣິເທຣຍ"
+ },
+ "SV": {
+ "name": "ເອວ ຊໍວາດໍ"
+ },
+ "IM": {
+ "name": "ເອວ ອອບ ແມນ"
+ },
+ "AO": {
+ "name": "ແອງໂກລາ"
+ },
+ "AI": {
+ "name": "ແອນກຸຍລາ"
+ },
+ "AQ": {
+ "name": "ແອນຕາດຕິກາ"
+ },
+ "AG": {
+ "name": "ແອນທິກົວ ແລະ ບາບູດາ"
+ },
+ "AL": {
+ "name": "ແອວເບເນຍ"
+ },
+ "OM": {
+ "name": "ໂອມານ"
+ },
+ "IS": {
+ "name": "ໄອສແລນ"
+ },
+ "IE": {
+ "name": "ໄອຣ໌ແລນ"
+ },
+ "HK": {
+ "name": "ຮອງກົງ ເຂດປົກຄອງພິເສດ ຈີນ"
+ },
+ "HN": {
+ "name": "ຮອນດູຣັສ"
+ },
+ "HU": {
+ "name": "ຮັງກາຣີ"
+ },
+ "HT": {
+ "name": "ໄຮຕິ"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/lt.json b/vendor/commerceguys/intl/resources/country/lt.json
new file mode 100644
index 000000000..09da8afbc
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/lt.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afganistanas"
+ },
+ "IE": {
+ "name": "Airija"
+ },
+ "AX": {
+ "name": "Alandų Salos"
+ },
+ "AL": {
+ "name": "Albanija"
+ },
+ "DZ": {
+ "name": "Alžyras"
+ },
+ "AS": {
+ "name": "Amerikos Samoa"
+ },
+ "AD": {
+ "name": "Andora"
+ },
+ "AI": {
+ "name": "Angilija"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AQ": {
+ "name": "Antarktida"
+ },
+ "AG": {
+ "name": "Antigva ir Barbuda"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armėnija"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Australija"
+ },
+ "AT": {
+ "name": "Austrija"
+ },
+ "AZ": {
+ "name": "Azerbaidžanas"
+ },
+ "BS": {
+ "name": "Bahamos"
+ },
+ "BH": {
+ "name": "Bahreinas"
+ },
+ "BY": {
+ "name": "Baltarusija"
+ },
+ "BD": {
+ "name": "Bangladešas"
+ },
+ "BB": {
+ "name": "Barbadosas"
+ },
+ "BE": {
+ "name": "Belgija"
+ },
+ "BZ": {
+ "name": "Belizas"
+ },
+ "BJ": {
+ "name": "Beninas"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "GW": {
+ "name": "Bisau Gvinėja"
+ },
+ "BO": {
+ "name": "Bolivija"
+ },
+ "BA": {
+ "name": "Bosnija ir Hercegovina"
+ },
+ "BW": {
+ "name": "Botsvana"
+ },
+ "BR": {
+ "name": "Brazilija"
+ },
+ "BN": {
+ "name": "Brunėjus"
+ },
+ "BG": {
+ "name": "Bulgarija"
+ },
+ "BF": {
+ "name": "Burkina Fasas"
+ },
+ "BI": {
+ "name": "Burundis"
+ },
+ "BT": {
+ "name": "Butanas"
+ },
+ "CF": {
+ "name": "Centrinės Afrikos Respublika"
+ },
+ "TD": {
+ "name": "Čadas"
+ },
+ "CZ": {
+ "name": "Čekija"
+ },
+ "CL": {
+ "name": "Čilė"
+ },
+ "AC": {
+ "name": "Dangun Žengimo sala"
+ },
+ "DK": {
+ "name": "Danija"
+ },
+ "VG": {
+ "name": "Didžiosios Britanijos Mergelių Salos"
+ },
+ "DG": {
+ "name": "Diego Garsija"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "DO": {
+ "name": "Dominikos Respublika"
+ },
+ "CI": {
+ "name": "Dramblio Kaulo Krantas"
+ },
+ "JE": {
+ "name": "Džersis"
+ },
+ "DJ": {
+ "name": "Džibutis"
+ },
+ "EG": {
+ "name": "Egiptas"
+ },
+ "EC": {
+ "name": "Ekvadoras"
+ },
+ "ER": {
+ "name": "Eritrėja"
+ },
+ "EE": {
+ "name": "Estija"
+ },
+ "ET": {
+ "name": "Etiopija"
+ },
+ "FO": {
+ "name": "Farerų Salos"
+ },
+ "FJ": {
+ "name": "Fidžis"
+ },
+ "PH": {
+ "name": "Filipinai"
+ },
+ "FK": {
+ "name": "Folklando Salos"
+ },
+ "GA": {
+ "name": "Gabonas"
+ },
+ "GY": {
+ "name": "Gajana"
+ },
+ "GM": {
+ "name": "Gambija"
+ },
+ "GH": {
+ "name": "Gana"
+ },
+ "GG": {
+ "name": "Gernsis"
+ },
+ "GI": {
+ "name": "Gibraltaras"
+ },
+ "GR": {
+ "name": "Graikija"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GL": {
+ "name": "Grenlandija"
+ },
+ "GE": {
+ "name": "Gruzija"
+ },
+ "GU": {
+ "name": "Guamas"
+ },
+ "GP": {
+ "name": "Gvadelupa"
+ },
+ "GT": {
+ "name": "Gvatemala"
+ },
+ "GN": {
+ "name": "Gvinėja"
+ },
+ "HT": {
+ "name": "Haitis"
+ },
+ "HN": {
+ "name": "Hondūras"
+ },
+ "IN": {
+ "name": "Indija"
+ },
+ "IO": {
+ "name": "Indijos Vandenyno Britų Sritis"
+ },
+ "ID": {
+ "name": "Indonezija"
+ },
+ "HK": {
+ "name": "Ypatingasis Administracinis Kinijos Regionas Honkongas"
+ },
+ "MO": {
+ "name": "Ypatingasis Administracinis Kinijos Regionas Makao"
+ },
+ "IQ": {
+ "name": "Irakas"
+ },
+ "IR": {
+ "name": "Iranas"
+ },
+ "IS": {
+ "name": "Islandija"
+ },
+ "ES": {
+ "name": "Ispanija"
+ },
+ "IT": {
+ "name": "Italija"
+ },
+ "IL": {
+ "name": "Izraelis"
+ },
+ "JM": {
+ "name": "Jamaika"
+ },
+ "JP": {
+ "name": "Japonija"
+ },
+ "YE": {
+ "name": "Jemenas"
+ },
+ "JO": {
+ "name": "Jordanija"
+ },
+ "GB": {
+ "name": "Jungtinė Karalystė"
+ },
+ "US": {
+ "name": "Jungtinės Valstijos"
+ },
+ "AE": {
+ "name": "Jungtiniai Arabų Emyratai"
+ },
+ "UM": {
+ "name": "Jungtinių Valstijų Mažosios Tolimosios Salos"
+ },
+ "VI": {
+ "name": "Jungtinių Valstijų Mergelių Salos"
+ },
+ "ME": {
+ "name": "Juodkalnija"
+ },
+ "KY": {
+ "name": "Kaimanų Salos"
+ },
+ "CX": {
+ "name": "Kalėdų Sala"
+ },
+ "KH": {
+ "name": "Kambodža"
+ },
+ "CM": {
+ "name": "Kamerūnas"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "IC": {
+ "name": "Kanarų salos"
+ },
+ "BQ": {
+ "name": "Karibų Nyderlandai"
+ },
+ "QA": {
+ "name": "Kataras"
+ },
+ "KZ": {
+ "name": "Kazachstanas"
+ },
+ "KE": {
+ "name": "Kenija"
+ },
+ "CN": {
+ "name": "Kinija"
+ },
+ "CY": {
+ "name": "Kipras"
+ },
+ "KG": {
+ "name": "Kirgizija"
+ },
+ "KI": {
+ "name": "Kiribatis"
+ },
+ "CW": {
+ "name": "Kiurasao"
+ },
+ "CC": {
+ "name": "Kokosų (Kilingo) Salos"
+ },
+ "CO": {
+ "name": "Kolumbija"
+ },
+ "KM": {
+ "name": "Komorai"
+ },
+ "CG": {
+ "name": "Kongas-Brazavilis"
+ },
+ "CD": {
+ "name": "Kongas-Kinšasa"
+ },
+ "XK": {
+ "name": "Kosovas"
+ },
+ "CR": {
+ "name": "Kosta Rika"
+ },
+ "HR": {
+ "name": "Kroatija"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "CK": {
+ "name": "Kuko Salos"
+ },
+ "KW": {
+ "name": "Kuveitas"
+ },
+ "LA": {
+ "name": "Laosas"
+ },
+ "LV": {
+ "name": "Latvija"
+ },
+ "PL": {
+ "name": "Lenkija"
+ },
+ "LS": {
+ "name": "Lesotas"
+ },
+ "LB": {
+ "name": "Libanas"
+ },
+ "LR": {
+ "name": "Liberija"
+ },
+ "LY": {
+ "name": "Libija"
+ },
+ "LI": {
+ "name": "Lichtenšteinas"
+ },
+ "LT": {
+ "name": "Lietuva"
+ },
+ "LU": {
+ "name": "Liuksemburgas"
+ },
+ "MG": {
+ "name": "Madagaskaras"
+ },
+ "YT": {
+ "name": "Majotas"
+ },
+ "MK": {
+ "name": "Makedonija"
+ },
+ "MY": {
+ "name": "Malaizija"
+ },
+ "MW": {
+ "name": "Malavis"
+ },
+ "MV": {
+ "name": "Maldyvai"
+ },
+ "ML": {
+ "name": "Malis"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MP": {
+ "name": "Marianos Šiaurinės Salos"
+ },
+ "MA": {
+ "name": "Marokas"
+ },
+ "MH": {
+ "name": "Maršalo Salos"
+ },
+ "MQ": {
+ "name": "Martinika"
+ },
+ "MU": {
+ "name": "Mauricijus"
+ },
+ "MR": {
+ "name": "Mauritanija"
+ },
+ "MX": {
+ "name": "Meksika"
+ },
+ "IM": {
+ "name": "Meno Sala"
+ },
+ "MM": {
+ "name": "Mianmaras (Birma)"
+ },
+ "FM": {
+ "name": "Mikronezija"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monakas"
+ },
+ "MN": {
+ "name": "Mongolija"
+ },
+ "MS": {
+ "name": "Montseratas"
+ },
+ "MZ": {
+ "name": "Mozambikas"
+ },
+ "NA": {
+ "name": "Namibija"
+ },
+ "NC": {
+ "name": "Naujoji Kaledonija"
+ },
+ "NZ": {
+ "name": "Naujoji Zelandija"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepalas"
+ },
+ "NL": {
+ "name": "Nyderlandai"
+ },
+ "NG": {
+ "name": "Nigerija"
+ },
+ "NE": {
+ "name": "Nigeris"
+ },
+ "NI": {
+ "name": "Nikaragva"
+ },
+ "NU": {
+ "name": "Niujė"
+ },
+ "NF": {
+ "name": "Norfolko sala"
+ },
+ "NO": {
+ "name": "Norvegija"
+ },
+ "OM": {
+ "name": "Omanas"
+ },
+ "PK": {
+ "name": "Pakistanas"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palestinos teritorija"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua Naujoji Gvinėja"
+ },
+ "PY": {
+ "name": "Paragvajus"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "ZA": {
+ "name": "Pietų Afrika"
+ },
+ "GS": {
+ "name": "Pietų Džordžija ir Pietų Sandvičo salos"
+ },
+ "KR": {
+ "name": "Pietų Korėja"
+ },
+ "SS": {
+ "name": "Pietų Sudanas"
+ },
+ "PN": {
+ "name": "Pitkerno salos"
+ },
+ "PT": {
+ "name": "Portugalija"
+ },
+ "FR": {
+ "name": "Prancūzija"
+ },
+ "GF": {
+ "name": "Prancūzijos Gviana"
+ },
+ "TF": {
+ "name": "Prancūzijos Pietų sritys"
+ },
+ "PF": {
+ "name": "Prancūzijos Polinezija"
+ },
+ "PR": {
+ "name": "Puerto Rikas"
+ },
+ "GQ": {
+ "name": "Pusiaujo Gvinėja"
+ },
+ "RE": {
+ "name": "Reunjonas"
+ },
+ "TL": {
+ "name": "Rytų Timoras"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RO": {
+ "name": "Rumunija"
+ },
+ "RU": {
+ "name": "Rusija"
+ },
+ "SB": {
+ "name": "Saliamono Salos"
+ },
+ "SV": {
+ "name": "Salvadoras"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marinas"
+ },
+ "ST": {
+ "name": "San Tomė ir Prinsipė"
+ },
+ "SA": {
+ "name": "Saudo Arabija"
+ },
+ "SC": {
+ "name": "Seišeliai"
+ },
+ "BL": {
+ "name": "Sen Bartelemi"
+ },
+ "MF": {
+ "name": "Sen Martenas"
+ },
+ "PM": {
+ "name": "Sen Pjeras ir Mikelonas"
+ },
+ "SN": {
+ "name": "Senegalas"
+ },
+ "KN": {
+ "name": "Sent Kitsas ir Nevis"
+ },
+ "LC": {
+ "name": "Sent Lusija"
+ },
+ "RS": {
+ "name": "Serbija"
+ },
+ "EA": {
+ "name": "Seuta ir Melila"
+ },
+ "SL": {
+ "name": "Siera Leonė"
+ },
+ "SG": {
+ "name": "Singapūras"
+ },
+ "SX": {
+ "name": "Sint Martenas"
+ },
+ "SY": {
+ "name": "Sirija"
+ },
+ "SK": {
+ "name": "Slovakija"
+ },
+ "SI": {
+ "name": "Slovėnija"
+ },
+ "SO": {
+ "name": "Somalis"
+ },
+ "SD": {
+ "name": "Sudanas"
+ },
+ "FI": {
+ "name": "Suomija"
+ },
+ "SR": {
+ "name": "Surinamas"
+ },
+ "SJ": {
+ "name": "Svalbardas ir Janas Majenas"
+ },
+ "SZ": {
+ "name": "Svazilandas"
+ },
+ "KP": {
+ "name": "Šiaurės Korėja"
+ },
+ "LK": {
+ "name": "Šri Lanka"
+ },
+ "SH": {
+ "name": "Šv. Elenos Sala"
+ },
+ "SE": {
+ "name": "Švedija"
+ },
+ "CH": {
+ "name": "Šveicarija"
+ },
+ "VC": {
+ "name": "Šventasis Vincentas ir Grenadinai"
+ },
+ "TJ": {
+ "name": "Tadžikija"
+ },
+ "TH": {
+ "name": "Tailandas"
+ },
+ "TW": {
+ "name": "Taivanas"
+ },
+ "TZ": {
+ "name": "Tanzanija"
+ },
+ "TC": {
+ "name": "Terkso ir Kaikoso Salos"
+ },
+ "TG": {
+ "name": "Togas"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidadas ir Tobagas"
+ },
+ "TA": {
+ "name": "Tristanas da Kunja"
+ },
+ "TN": {
+ "name": "Tunisas"
+ },
+ "TR": {
+ "name": "Turkija"
+ },
+ "TM": {
+ "name": "Turkmėnistanas"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukraina"
+ },
+ "UY": {
+ "name": "Urugvajus"
+ },
+ "UZ": {
+ "name": "Uzbekistanas"
+ },
+ "EH": {
+ "name": "Vakarų Sachara"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikano Miesto Valstybė"
+ },
+ "VE": {
+ "name": "Venesuela"
+ },
+ "HU": {
+ "name": "Vengrija"
+ },
+ "VN": {
+ "name": "Vietnamas"
+ },
+ "DE": {
+ "name": "Vokietija"
+ },
+ "WF": {
+ "name": "Volisas ir Futūna"
+ },
+ "ZM": {
+ "name": "Zambija"
+ },
+ "ZW": {
+ "name": "Zimbabvė"
+ },
+ "CV": {
+ "name": "Žaliasis Kyšulys"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/lu.json b/vendor/commerceguys/intl/resources/country/lu.json
new file mode 100644
index 000000000..764368c95
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/lu.json
@@ -0,0 +1,761 @@
+{
+ "ZA": {
+ "name": "Afrika ya Súdi"
+ },
+ "AF": {
+ "name": "Afuganisita"
+ },
+ "AZ": {
+ "name": "Ajelbayidja"
+ },
+ "SA": {
+ "name": "Alabu Nsawudi"
+ },
+ "AX": {
+ "name": "Åland Islands"
+ },
+ "DE": {
+ "name": "Alemanu"
+ },
+ "AR": {
+ "name": "Alijantine"
+ },
+ "DZ": {
+ "name": "Alijeri"
+ },
+ "AL": {
+ "name": "Alubani"
+ },
+ "AM": {
+ "name": "Ameni"
+ },
+ "US": {
+ "name": "Ameriki"
+ },
+ "AD": {
+ "name": "Andore"
+ },
+ "GB": {
+ "name": "Angeletele"
+ },
+ "AI": {
+ "name": "Angiye"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antiga ne Barbuda"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "HT": {
+ "name": "Ayiti"
+ },
+ "BS": {
+ "name": "Bahamase"
+ },
+ "BH": {
+ "name": "Bahrene"
+ },
+ "BB": {
+ "name": "Barebade"
+ },
+ "BE": {
+ "name": "Belejiki"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Bene"
+ },
+ "BD": {
+ "name": "Benguladeshi"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BG": {
+ "name": "Biligari"
+ },
+ "BN": {
+ "name": "Brineyi"
+ },
+ "BF": {
+ "name": "Bukinafaso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Butani"
+ },
+ "BY": {
+ "name": "Byelorisi"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Danemalaku"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "CF": {
+ "name": "Ditunga dya Afrika wa munkatshi"
+ },
+ "CZ": {
+ "name": "Ditunga dya Tsheka"
+ },
+ "DO": {
+ "name": "Ditunga wa Duminiku"
+ },
+ "CD": {
+ "name": "Ditunga wa Kongu"
+ },
+ "DJ": {
+ "name": "Djibuti"
+ },
+ "DM": {
+ "name": "Duminiku"
+ },
+ "EC": {
+ "name": "Ekwatele"
+ },
+ "ER": {
+ "name": "Elitele"
+ },
+ "EE": {
+ "name": "Esitoni"
+ },
+ "ET": {
+ "name": "Etshiopi"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FI": {
+ "name": "Filande"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "FJ": {
+ "name": "Fuji"
+ },
+ "GM": {
+ "name": "Gambi"
+ },
+ "GQ": {
+ "name": "Gine Ekwatele"
+ },
+ "GF": {
+ "name": "Giyane wa Nfalanse"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "IN": {
+ "name": "Inde"
+ },
+ "ID": {
+ "name": "Indonezi"
+ },
+ "IR": {
+ "name": "Ira"
+ },
+ "IQ": {
+ "name": "Iraki"
+ },
+ "IE": {
+ "name": "Irelande"
+ },
+ "UY": {
+ "name": "Irigwei"
+ },
+ "IS": {
+ "name": "Isilande"
+ },
+ "IL": {
+ "name": "Isirayele"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IT": {
+ "name": "Itali"
+ },
+ "JM": {
+ "name": "Jamaiki"
+ },
+ "JP": {
+ "name": "Japu"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "GI": {
+ "name": "Jibeletale"
+ },
+ "JO": {
+ "name": "Jodani"
+ },
+ "GE": {
+ "name": "Joriji"
+ },
+ "NC": {
+ "name": "Kaledoni wa mumu"
+ },
+ "KH": {
+ "name": "Kambodza"
+ },
+ "CM": {
+ "name": "Kamerune"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "QA": {
+ "name": "Katari"
+ },
+ "KZ": {
+ "name": "Kazakusita"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "KG": {
+ "name": "Kigizisita"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "CO": {
+ "name": "Kolombi"
+ },
+ "KM": {
+ "name": "Komoru"
+ },
+ "CG": {
+ "name": "Kongu"
+ },
+ "KP": {
+ "name": "Kore wa muulu"
+ },
+ "KR": {
+ "name": "Kore wa mwinshi"
+ },
+ "CR": {
+ "name": "Kositarika"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CI": {
+ "name": "Kotedivuale"
+ },
+ "KW": {
+ "name": "Koweti"
+ },
+ "HR": {
+ "name": "Krowasi"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "LA": {
+ "name": "Lawosi"
+ },
+ "AE": {
+ "name": "Lemila alabu"
+ },
+ "RE": {
+ "name": "Lenyo"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LV": {
+ "name": "Letoni"
+ },
+ "LB": {
+ "name": "Liba"
+ },
+ "LR": {
+ "name": "Liberiya"
+ },
+ "LY": {
+ "name": "Libi"
+ },
+ "LU": {
+ "name": "Likisambulu"
+ },
+ "LI": {
+ "name": "Lishuteni"
+ },
+ "LT": {
+ "name": "Litwani"
+ },
+ "CV": {
+ "name": "Lutanda lua Kapevele"
+ },
+ "KY": {
+ "name": "Lutanda lua Kayima"
+ },
+ "CK": {
+ "name": "Lutanda lua Kookɛ"
+ },
+ "FK": {
+ "name": "Lutanda lua Maluni"
+ },
+ "MP": {
+ "name": "Lutanda lua Mariane wa muulu"
+ },
+ "MH": {
+ "name": "Lutanda lua Marishale"
+ },
+ "NF": {
+ "name": "Lutanda lua Norfok"
+ },
+ "SB": {
+ "name": "Lutanda lua Solomu"
+ },
+ "TC": {
+ "name": "Lutanda lua Tuluki ne Kaiko"
+ },
+ "VI": {
+ "name": "Lutanda lua Vierzi wa Ameriki"
+ },
+ "VG": {
+ "name": "Lutanda lua Vierzi wa Angeletele"
+ },
+ "IO": {
+ "name": "Lutanda lwa Angeletele ku mbu wa Indiya"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MG": {
+ "name": "Madagasikari"
+ },
+ "MV": {
+ "name": "Madive"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malezi"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malite"
+ },
+ "MA": {
+ "name": "Maroke"
+ },
+ "MQ": {
+ "name": "Martiniki"
+ },
+ "MK": {
+ "name": "Masedwane"
+ },
+ "YT": {
+ "name": "Mayote"
+ },
+ "BO": {
+ "name": "Mbolivi"
+ },
+ "BA": {
+ "name": "Mbosini ne Hezegovine"
+ },
+ "BW": {
+ "name": "Mbotswana"
+ },
+ "MX": {
+ "name": "Meksike"
+ },
+ "FM": {
+ "name": "Mikronezi"
+ },
+ "BR": {
+ "name": "Mnulezile"
+ },
+ "MD": {
+ "name": "Molidavi"
+ },
+ "MC": {
+ "name": "Monaku"
+ },
+ "MN": {
+ "name": "Mongoli"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MU": {
+ "name": "Morise"
+ },
+ "MR": {
+ "name": "Moritani"
+ },
+ "MZ": {
+ "name": "Mozambiki"
+ },
+ "PL": {
+ "name": "Mpoloni"
+ },
+ "PR": {
+ "name": "Mpotoriku"
+ },
+ "PT": {
+ "name": "Mputulugeshi"
+ },
+ "MS": {
+ "name": "Musera"
+ },
+ "EG": {
+ "name": "Mushidi"
+ },
+ "MM": {
+ "name": "Myamare"
+ },
+ "NA": {
+ "name": "Namibi"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepálɛ"
+ },
+ "FR": {
+ "name": "Nfalanse"
+ },
+ "PH": {
+ "name": "Nfilipi"
+ },
+ "GA": {
+ "name": "Ngabu"
+ },
+ "GH": {
+ "name": "Ngana"
+ },
+ "GR": {
+ "name": "Ngeleka"
+ },
+ "GD": {
+ "name": "Ngelenade"
+ },
+ "GN": {
+ "name": "Ngine"
+ },
+ "GW": {
+ "name": "Nginebisau"
+ },
+ "GY": {
+ "name": "Ngiyane"
+ },
+ "GL": {
+ "name": "Ngowelande"
+ },
+ "GP": {
+ "name": "Ngwadelupe"
+ },
+ "GU": {
+ "name": "Ngwame"
+ },
+ "GT": {
+ "name": "Ngwatemala"
+ },
+ "NE": {
+ "name": "Nijere"
+ },
+ "NG": {
+ "name": "Nijerya"
+ },
+ "NI": {
+ "name": "Nikaragwa"
+ },
+ "NO": {
+ "name": "Noriveje"
+ },
+ "ES": {
+ "name": "Nsipani"
+ },
+ "VA": {
+ "name": "Nvatika"
+ },
+ "NU": {
+ "name": "Nyue"
+ },
+ "NL": {
+ "name": "Olandɛ"
+ },
+ "OM": {
+ "name": "Omane"
+ },
+ "HN": {
+ "name": "Ondurase"
+ },
+ "HU": {
+ "name": "Ongili"
+ },
+ "AU": {
+ "name": "Ositali"
+ },
+ "AT": {
+ "name": "Otilisi"
+ },
+ "PK": {
+ "name": "Pakisita"
+ },
+ "PY": {
+ "name": "Palagwei"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palesine"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papwazi wa Nginɛ wa mumu"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pikairni"
+ },
+ "PF": {
+ "name": "Polinezi wa Nfalanse"
+ },
+ "RU": {
+ "name": "Risi"
+ },
+ "RO": {
+ "name": "Romani"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa wa Ameriki"
+ },
+ "SH": {
+ "name": "Santu eleni"
+ },
+ "KN": {
+ "name": "Santu krístofe ne Neves"
+ },
+ "LC": {
+ "name": "Santu lisi"
+ },
+ "SM": {
+ "name": "Santu Marine"
+ },
+ "PM": {
+ "name": "Santu pététo ne Mikelu"
+ },
+ "VC": {
+ "name": "Santu vesa ne Ngelenadine"
+ },
+ "ST": {
+ "name": "Sao Tome ne Presipɛ"
+ },
+ "SV": {
+ "name": "Savadore"
+ },
+ "SN": {
+ "name": "Senegale"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seshele"
+ },
+ "CL": {
+ "name": "Shili"
+ },
+ "CN": {
+ "name": "Shine"
+ },
+ "CY": {
+ "name": "Shipele"
+ },
+ "SL": {
+ "name": "Siera Leone"
+ },
+ "SK": {
+ "name": "Silovaki"
+ },
+ "SI": {
+ "name": "Siloveni"
+ },
+ "SG": {
+ "name": "Singapure"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Siri"
+ },
+ "LK": {
+ "name": "Sirilanka"
+ },
+ "SO": {
+ "name": "Somali"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SD": {
+ "name": "Suda"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SE": {
+ "name": "Suwedi"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swazilandi"
+ },
+ "CH": {
+ "name": "Swise"
+ },
+ "TW": {
+ "name": "Taiwani"
+ },
+ "TZ": {
+ "name": "Tanzani"
+ },
+ "TH": {
+ "name": "Tayilanda"
+ },
+ "TJ": {
+ "name": "Tazikisita"
+ },
+ "TL": {
+ "name": "Timoru wa diboku"
+ },
+ "TT": {
+ "name": "Tinidade ne Tobago"
+ },
+ "TN": {
+ "name": "Tinizi"
+ },
+ "TG": {
+ "name": "Togu"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TD": {
+ "name": "Tshadi"
+ },
+ "TM": {
+ "name": "Tukemenisita"
+ },
+ "TR": {
+ "name": "Tuluki"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukreni"
+ },
+ "UZ": {
+ "name": "Uzibekisita"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Viyetiname"
+ },
+ "WF": {
+ "name": "Walise ne Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yemenu"
+ },
+ "ZM": {
+ "name": "Zambi"
+ },
+ "NZ": {
+ "name": "Zelanda wa mumu"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/luo.json b/vendor/commerceguys/intl/resources/country/luo.json
new file mode 100644
index 000000000..e77c55357
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/luo.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afghanistan"
+ },
+ "AX": {
+ "name": "Åland Islands"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Algeria"
+ },
+ "AS": {
+ "name": "American Samoa"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigua gi Barbuda"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "AZ": {
+ "name": "Azerbaijan"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahrain"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BY": {
+ "name": "Belarus"
+ },
+ "BE": {
+ "name": "Belgium"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia gi Herzegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brazil"
+ },
+ "IO": {
+ "name": "British Indian Ocean Territory"
+ },
+ "VG": {
+ "name": "British Virgin Islands"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "KH": {
+ "name": "Cambodia"
+ },
+ "CM": {
+ "name": "Cameroon"
+ },
+ "CA": {
+ "name": "Canada"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "CV": {
+ "name": "Cape Verde Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "KY": {
+ "name": "Cayman Islands"
+ },
+ "CF": {
+ "name": "Central African Republic"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "TD": {
+ "name": "Chad"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "FK": {
+ "name": "Chuia mar Falkland"
+ },
+ "MH": {
+ "name": "Chuia mar Marshall"
+ },
+ "NF": {
+ "name": "Chuia mar Norfolk"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CO": {
+ "name": "Colombia"
+ },
+ "KM": {
+ "name": "Comoros"
+ },
+ "CG": {
+ "name": "Congo"
+ },
+ "CK": {
+ "name": "Cook Islands"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "CI": {
+ "name": "Côte d"
+ },
+ "HR": {
+ "name": "Croatia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "CY": {
+ "name": "Cyprus"
+ },
+ "CZ": {
+ "name": "Czech Republic"
+ },
+ "CD": {
+ "name": "Democratic Republic of the Congo"
+ },
+ "DK": {
+ "name": "Denmark"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DJ": {
+ "name": "Djibouti"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "DO": {
+ "name": "Dominican Republic"
+ },
+ "TL": {
+ "name": "East Timor"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egypt"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "GQ": {
+ "name": "Equatorial Guinea"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Ethiopia"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "FI": {
+ "name": "Finland"
+ },
+ "FR": {
+ "name": "France"
+ },
+ "GF": {
+ "name": "French Guiana"
+ },
+ "PF": {
+ "name": "French Polynesia"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "DE": {
+ "name": "Germany"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GR": {
+ "name": "Greece"
+ },
+ "GL": {
+ "name": "Greenland"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GW": {
+ "name": "Guinea-Bissau"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hungary"
+ },
+ "IS": {
+ "name": "Iceland"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IQ": {
+ "name": "Iraq"
+ },
+ "IE": {
+ "name": "Ireland"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italy"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japan"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordan"
+ },
+ "KZ": {
+ "name": "Kazakhstan"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "KP": {
+ "name": "Korea Masawa"
+ },
+ "KR": {
+ "name": "Korea Milambo"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "KG": {
+ "name": "Kyrgyzstan"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LV": {
+ "name": "Latvia"
+ },
+ "LB": {
+ "name": "Lebanon"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lithuania"
+ },
+ "LU": {
+ "name": "Luxembourg"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malaysia"
+ },
+ "MV": {
+ "name": "Maldives"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Mexico"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MA": {
+ "name": "Morocco"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NL": {
+ "name": "Netherlands"
+ },
+ "NC": {
+ "name": "New Caledonia"
+ },
+ "NZ": {
+ "name": "New Zealand"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "MP": {
+ "name": "Northern Mariana Islands"
+ },
+ "NO": {
+ "name": "Norway"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palestinian West Bank gi Gaza"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua New Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PH": {
+ "name": "Philippines"
+ },
+ "PN": {
+ "name": "Pitcairn"
+ },
+ "PL": {
+ "name": "Poland"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "QA": {
+ "name": "Qatar"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RO": {
+ "name": "Romania"
+ },
+ "RU": {
+ "name": "Russia"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "SH": {
+ "name": "Saint Helena"
+ },
+ "KN": {
+ "name": "Saint Kitts gi Nevis"
+ },
+ "LC": {
+ "name": "Saint Lucia"
+ },
+ "PM": {
+ "name": "Saint Pierre gi Miquelon"
+ },
+ "VC": {
+ "name": "Saint Vincent gi Grenadines"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "São Tomé gi Príncipe"
+ },
+ "SA": {
+ "name": "Saudi Arabia"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapore"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SB": {
+ "name": "Solomon Islands"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "ZA": {
+ "name": "South Africa"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "ES": {
+ "name": "Spain"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swaziland"
+ },
+ "SE": {
+ "name": "Sweden"
+ },
+ "CH": {
+ "name": "Switzerland"
+ },
+ "SY": {
+ "name": "Syria"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TJ": {
+ "name": "Tajikistan"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TH": {
+ "name": "Thailand"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad gi Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TR": {
+ "name": "Turkey"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TC": {
+ "name": "Turks gi Caicos Islands"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "VI": {
+ "name": "U.S. Virgin Islands"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukraine"
+ },
+ "AE": {
+ "name": "United Arab Emirates"
+ },
+ "GB": {
+ "name": "United Kingdom"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "US": {
+ "name": "USA"
+ },
+ "UZ": {
+ "name": "Uzbekistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatican State"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis gi Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/luy.json b/vendor/commerceguys/intl/resources/country/luy.json
new file mode 100644
index 000000000..eb156ffd0
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/luy.json
@@ -0,0 +1,761 @@
+{
+ "ZA": {
+ "name": "Afrika Kusini"
+ },
+ "AF": {
+ "name": "Afuganistani"
+ },
+ "IS": {
+ "name": "Aislandi"
+ },
+ "AR": {
+ "name": "Ajentina"
+ },
+ "AX": {
+ "name": "Åland Islands"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Aljeria"
+ },
+ "AD": {
+ "name": "Andora"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigua na Barbuda"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "IE": {
+ "name": "Ayalandi"
+ },
+ "AZ": {
+ "name": "Azabajani"
+ },
+ "BB": {
+ "name": "Babadosi"
+ },
+ "BS": {
+ "name": "Bahama"
+ },
+ "BH": {
+ "name": "Bahareni"
+ },
+ "BD": {
+ "name": "Bangladeshi"
+ },
+ "BY": {
+ "name": "Belarusi"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benini"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia na Hezegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brazili"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BF": {
+ "name": "Bukinafaso"
+ },
+ "MG": {
+ "name": "Bukini"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Butani"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "TD": {
+ "name": "Chadi"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Denmaki"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "EC": {
+ "name": "Ekwado"
+ },
+ "SV": {
+ "name": "Elsavado"
+ },
+ "IO": {
+ "name": "Eneo la Uingereza katika Bahari Hindi"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "AE": {
+ "name": "Falme za Kiarabu"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filipino"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gaboni"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GN": {
+ "name": "Gine"
+ },
+ "GW": {
+ "name": "Ginebisau"
+ },
+ "GQ": {
+ "name": "Ginekweta"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GL": {
+ "name": "Grinlandi"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "GP": {
+ "name": "Gwadelupe"
+ },
+ "GU": {
+ "name": "Gwam"
+ },
+ "GT": {
+ "name": "Gwatemala"
+ },
+ "GF": {
+ "name": "Gwiyana ya Ufaransa"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "ES": {
+ "name": "Hispania"
+ },
+ "HN": {
+ "name": "Hondurasi"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hungaria"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IQ": {
+ "name": "Iraki"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israeli"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JM": {
+ "name": "Jamaika"
+ },
+ "CF": {
+ "name": "Jamhuri ya Afrika ya Kati"
+ },
+ "CZ": {
+ "name": "Jamhuri ya Cheki"
+ },
+ "DO": {
+ "name": "Jamhuri ya Dominika"
+ },
+ "CD": {
+ "name": "Jamhuri ya Kidemokrasia ya Kongo"
+ },
+ "JP": {
+ "name": "Japani"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "GI": {
+ "name": "Jibralta"
+ },
+ "DJ": {
+ "name": "Jibuti"
+ },
+ "GE": {
+ "name": "Jojia"
+ },
+ "KH": {
+ "name": "Kambodia"
+ },
+ "CM": {
+ "name": "Kameruni"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "QA": {
+ "name": "Katari"
+ },
+ "KZ": {
+ "name": "Kazakistani"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "CV": {
+ "name": "Kepuvede"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "KG": {
+ "name": "Kirigizistani"
+ },
+ "NF": {
+ "name": "Kisiwa cha Norfok"
+ },
+ "CI": {
+ "name": "Kodivaa"
+ },
+ "CO": {
+ "name": "Kolombia"
+ },
+ "KM": {
+ "name": "Komoro"
+ },
+ "CG": {
+ "name": "Kongo"
+ },
+ "HR": {
+ "name": "Korasia"
+ },
+ "KP": {
+ "name": "Korea Kaskazini"
+ },
+ "KR": {
+ "name": "Korea Kusini"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "Kostarika"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "CY": {
+ "name": "Kuprosi"
+ },
+ "KW": {
+ "name": "Kuwaiti"
+ },
+ "LA": {
+ "name": "Laosi"
+ },
+ "LU": {
+ "name": "Lasembagi"
+ },
+ "LV": {
+ "name": "Lativia"
+ },
+ "LB": {
+ "name": "Lebanoni"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Lishenteni"
+ },
+ "LT": {
+ "name": "Litwania"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malesia"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "US": {
+ "name": "Marekani"
+ },
+ "MQ": {
+ "name": "Martiniki"
+ },
+ "MK": {
+ "name": "Masedonia"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Meksiko"
+ },
+ "FM": {
+ "name": "Mikronesia"
+ },
+ "EG": {
+ "name": "Misri"
+ },
+ "MV": {
+ "name": "Modivu"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrati"
+ },
+ "MU": {
+ "name": "Morisi"
+ },
+ "MR": {
+ "name": "Moritania"
+ },
+ "MA": {
+ "name": "Moroko"
+ },
+ "MZ": {
+ "name": "Msumbiji"
+ },
+ "MM": {
+ "name": "Myama"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepali"
+ },
+ "NE": {
+ "name": "Nijeri"
+ },
+ "NG": {
+ "name": "Nijeria"
+ },
+ "NI": {
+ "name": "Nikaragwa"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Norwe"
+ },
+ "NC": {
+ "name": "Nyukaledonia"
+ },
+ "NZ": {
+ "name": "Nyuzilandi"
+ },
+ "OM": {
+ "name": "Omani"
+ },
+ "PK": {
+ "name": "Pakistani"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua"
+ },
+ "PY": {
+ "name": "Paragwai"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitkairni"
+ },
+ "PL": {
+ "name": "Polandi"
+ },
+ "PF": {
+ "name": "Polinesia ya Ufaransa"
+ },
+ "PR": {
+ "name": "Pwetoriko"
+ },
+ "RE": {
+ "name": "Riyunioni"
+ },
+ "RO": {
+ "name": "Romania"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "SM": {
+ "name": "Samarino"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa lya Marekani"
+ },
+ "SH": {
+ "name": "Santahelena"
+ },
+ "KN": {
+ "name": "Santakitzi na Nevis"
+ },
+ "LC": {
+ "name": "Santalusia"
+ },
+ "PM": {
+ "name": "Santapieri na Mikeloni"
+ },
+ "VC": {
+ "name": "Santavisenti na Grenadini"
+ },
+ "ST": {
+ "name": "Sao Tome na Principe"
+ },
+ "SA": {
+ "name": "Saudi"
+ },
+ "SN": {
+ "name": "Senegali"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Shelisheli"
+ },
+ "SL": {
+ "name": "Siera Leoni"
+ },
+ "SG": {
+ "name": "Singapoo"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Siria"
+ },
+ "LK": {
+ "name": "Sirilanka"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SD": {
+ "name": "Sudani"
+ },
+ "SR": {
+ "name": "Surinamu"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailandi"
+ },
+ "TW": {
+ "name": "Taiwani"
+ },
+ "TJ": {
+ "name": "Tajikistani"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TL": {
+ "name": "Timori ya Mashariki"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad na Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TM": {
+ "name": "Turukimenistani"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "IR": {
+ "name": "Uajemi"
+ },
+ "BE": {
+ "name": "Ubelgiji"
+ },
+ "FR": {
+ "name": "Ufaransa"
+ },
+ "FI": {
+ "name": "Ufini"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "GR": {
+ "name": "Ugiriki"
+ },
+ "ET": {
+ "name": "Uhabeshi"
+ },
+ "NL": {
+ "name": "Uholanzi"
+ },
+ "GB": {
+ "name": "Uingereza"
+ },
+ "DE": {
+ "name": "Ujerumani"
+ },
+ "PS": {
+ "name": "Ukingo wa Magharibi na Ukanda wa Gaza wa Palestina"
+ },
+ "UA": {
+ "name": "Ukraini"
+ },
+ "PT": {
+ "name": "Ureno"
+ },
+ "UY": {
+ "name": "Urugwai"
+ },
+ "RU": {
+ "name": "Urusi"
+ },
+ "SZ": {
+ "name": "Uswazi"
+ },
+ "SE": {
+ "name": "Uswidi"
+ },
+ "CH": {
+ "name": "Uswisi"
+ },
+ "TR": {
+ "name": "Uturuki"
+ },
+ "UZ": {
+ "name": "Uzibekistani"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikani"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietinamu"
+ },
+ "CK": {
+ "name": "Visiwa vya Cook"
+ },
+ "FK": {
+ "name": "Visiwa vya Falkland"
+ },
+ "KY": {
+ "name": "Visiwa vya Kayman"
+ },
+ "MP": {
+ "name": "Visiwa vya Mariana vya Kaskazini"
+ },
+ "MH": {
+ "name": "Visiwa vya Marshal"
+ },
+ "SB": {
+ "name": "Visiwa vya Solomon"
+ },
+ "TC": {
+ "name": "Visiwa vya Turki na Kaiko"
+ },
+ "VI": {
+ "name": "Visiwa vya Virgin vya Marekani"
+ },
+ "VG": {
+ "name": "Visiwa vya Virgin vya Uingereza"
+ },
+ "WF": {
+ "name": "Walis na Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yemeni"
+ },
+ "JO": {
+ "name": "Yordani"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/lv.json b/vendor/commerceguys/intl/resources/country/lv.json
new file mode 100644
index 000000000..32270870f
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/lv.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afganistāna"
+ },
+ "AL": {
+ "name": "Albānija"
+ },
+ "DZ": {
+ "name": "Alžīrija"
+ },
+ "US": {
+ "name": "Amerikas Savienotās Valstis"
+ },
+ "AD": {
+ "name": "Andora"
+ },
+ "AI": {
+ "name": "Angilja"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AQ": {
+ "name": "Antarktika"
+ },
+ "AG": {
+ "name": "Antigva un Barbuda"
+ },
+ "AE": {
+ "name": "Apvienotie Arābu Emirāti"
+ },
+ "AR": {
+ "name": "Argentīna"
+ },
+ "AM": {
+ "name": "Armēnija"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "UM": {
+ "name": "ASV Mazās Aizjūras salas"
+ },
+ "AS": {
+ "name": "ASV Samoa"
+ },
+ "VI": {
+ "name": "ASV Virdžīnas"
+ },
+ "AU": {
+ "name": "Austrālija"
+ },
+ "AT": {
+ "name": "Austrija"
+ },
+ "TL": {
+ "name": "Austrumtimora"
+ },
+ "AZ": {
+ "name": "Azerbaidžāna"
+ },
+ "BS": {
+ "name": "Bahamu salas"
+ },
+ "BH": {
+ "name": "Bahreina"
+ },
+ "BY": {
+ "name": "Baltkrievija"
+ },
+ "BD": {
+ "name": "Bangladeša"
+ },
+ "BB": {
+ "name": "Barbadosa"
+ },
+ "BZ": {
+ "name": "Beliza"
+ },
+ "BE": {
+ "name": "Beļģija"
+ },
+ "BJ": {
+ "name": "Benina"
+ },
+ "BM": {
+ "name": "Bermudu salas"
+ },
+ "BO": {
+ "name": "Bolīvija"
+ },
+ "BA": {
+ "name": "Bosnija un Hercegovina"
+ },
+ "BW": {
+ "name": "Botsvāna"
+ },
+ "BR": {
+ "name": "Brazīlija"
+ },
+ "VG": {
+ "name": "Britu Virdžīnas"
+ },
+ "BN": {
+ "name": "Bruneja"
+ },
+ "BG": {
+ "name": "Bulgārija"
+ },
+ "BF": {
+ "name": "Burkinafaso"
+ },
+ "BI": {
+ "name": "Burundija"
+ },
+ "BT": {
+ "name": "Butāna"
+ },
+ "CF": {
+ "name": "Centrālāfrikas Republika"
+ },
+ "TD": {
+ "name": "Čada"
+ },
+ "CZ": {
+ "name": "Čehijas Republika"
+ },
+ "CL": {
+ "name": "Čīle"
+ },
+ "DK": {
+ "name": "Dānija"
+ },
+ "AC": {
+ "name": "Debesbraukšanas sala"
+ },
+ "ZA": {
+ "name": "Dienvidāfrikas Republika"
+ },
+ "GS": {
+ "name": "Dienviddžordžija un Dienvidsendviču salas"
+ },
+ "KR": {
+ "name": "Dienvidkoreja"
+ },
+ "SS": {
+ "name": "Dienvidsudāna"
+ },
+ "DG": {
+ "name": "Djego Garsijas atols"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "DO": {
+ "name": "Dominikāna"
+ },
+ "JE": {
+ "name": "Džērsija"
+ },
+ "DJ": {
+ "name": "Džibutija"
+ },
+ "EG": {
+ "name": "Ēģipte"
+ },
+ "EC": {
+ "name": "Ekvadora"
+ },
+ "GQ": {
+ "name": "Ekvatoriālā Gvineja"
+ },
+ "ER": {
+ "name": "Eritreja"
+ },
+ "ET": {
+ "name": "Etiopija"
+ },
+ "FO": {
+ "name": "Fēru salas"
+ },
+ "FJ": {
+ "name": "Fidži"
+ },
+ "PH": {
+ "name": "Filipīnas"
+ },
+ "FK": {
+ "name": "Folklenda salas"
+ },
+ "FR": {
+ "name": "Francija"
+ },
+ "TF": {
+ "name": "Francijas Dienvidjūru teritorija"
+ },
+ "GF": {
+ "name": "Francijas Gviāna"
+ },
+ "PF": {
+ "name": "Francijas Polinēzija"
+ },
+ "GA": {
+ "name": "Gabona"
+ },
+ "GY": {
+ "name": "Gajāna"
+ },
+ "GM": {
+ "name": "Gambija"
+ },
+ "GH": {
+ "name": "Gana"
+ },
+ "GG": {
+ "name": "Gērnsija"
+ },
+ "GI": {
+ "name": "Gibraltārs"
+ },
+ "GD": {
+ "name": "Grenāda"
+ },
+ "GL": {
+ "name": "Grenlande"
+ },
+ "GR": {
+ "name": "Grieķija"
+ },
+ "GE": {
+ "name": "Gruzija"
+ },
+ "GU": {
+ "name": "Guama"
+ },
+ "GP": {
+ "name": "Gvadelupa"
+ },
+ "GT": {
+ "name": "Gvatemala"
+ },
+ "GN": {
+ "name": "Gvineja"
+ },
+ "GW": {
+ "name": "Gvineja-Bisava"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HN": {
+ "name": "Hondurasa"
+ },
+ "HR": {
+ "name": "Horvātija"
+ },
+ "EE": {
+ "name": "Igaunija"
+ },
+ "IN": {
+ "name": "Indija"
+ },
+ "IO": {
+ "name": "Indijas okeāna Britu teritorija"
+ },
+ "ID": {
+ "name": "Indonēzija"
+ },
+ "IQ": {
+ "name": "Irāka"
+ },
+ "IR": {
+ "name": "Irāna"
+ },
+ "IE": {
+ "name": "Īrija"
+ },
+ "IS": {
+ "name": "Īslande"
+ },
+ "IT": {
+ "name": "Itālija"
+ },
+ "IL": {
+ "name": "Izraēla"
+ },
+ "JM": {
+ "name": "Jamaika"
+ },
+ "JP": {
+ "name": "Japāna"
+ },
+ "NC": {
+ "name": "Jaunkaledonija"
+ },
+ "NZ": {
+ "name": "Jaunzēlande"
+ },
+ "YE": {
+ "name": "Jemena"
+ },
+ "JO": {
+ "name": "Jordānija"
+ },
+ "CV": {
+ "name": "Kaboverde"
+ },
+ "KY": {
+ "name": "Kaimanu salas"
+ },
+ "KH": {
+ "name": "Kambodža"
+ },
+ "CM": {
+ "name": "Kamerūna"
+ },
+ "CA": {
+ "name": "Kanāda"
+ },
+ "IC": {
+ "name": "Kanāriju salas"
+ },
+ "QA": {
+ "name": "Katara"
+ },
+ "KZ": {
+ "name": "Kazahstāna"
+ },
+ "KE": {
+ "name": "Kenija"
+ },
+ "CY": {
+ "name": "Kipra"
+ },
+ "CW": {
+ "name": "Kirasao"
+ },
+ "KG": {
+ "name": "Kirgizstāna"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "CC": {
+ "name": "Kokosu (Kīlinga) salas"
+ },
+ "CO": {
+ "name": "Kolumbija"
+ },
+ "KM": {
+ "name": "Komoru salas"
+ },
+ "CG": {
+ "name": "Kongo (Brazavila)"
+ },
+ "CD": {
+ "name": "Kongo (Kinšasa)"
+ },
+ "XK": {
+ "name": "Kosova"
+ },
+ "CR": {
+ "name": "Kostarika"
+ },
+ "CI": {
+ "name": "Kotdivuāra"
+ },
+ "RU": {
+ "name": "Krievija"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "CK": {
+ "name": "Kuka salas"
+ },
+ "KW": {
+ "name": "Kuveita"
+ },
+ "CN": {
+ "name": "Ķīna"
+ },
+ "HK": {
+ "name": "Ķīnas īpašās pārvaldes apgabals Honkonga"
+ },
+ "MO": {
+ "name": "Ķīnas īpašās pārvaldes apgabals Makao"
+ },
+ "LA": {
+ "name": "Laosa"
+ },
+ "LV": {
+ "name": "Latvija"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LB": {
+ "name": "Libāna"
+ },
+ "LR": {
+ "name": "Libērija"
+ },
+ "LY": {
+ "name": "Lībija"
+ },
+ "GB": {
+ "name": "Lielbritānija"
+ },
+ "LT": {
+ "name": "Lietuva"
+ },
+ "LI": {
+ "name": "Lihtenšteina"
+ },
+ "LU": {
+ "name": "Luksemburga"
+ },
+ "MG": {
+ "name": "Madagaskara"
+ },
+ "YT": {
+ "name": "Majota"
+ },
+ "MK": {
+ "name": "Maķedonija"
+ },
+ "MY": {
+ "name": "Malaizija"
+ },
+ "MW": {
+ "name": "Malāvija"
+ },
+ "MV": {
+ "name": "Maldīvija"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Maroka"
+ },
+ "MH": {
+ "name": "Māršala salas"
+ },
+ "MQ": {
+ "name": "Martinika"
+ },
+ "MU": {
+ "name": "Maurīcija"
+ },
+ "MR": {
+ "name": "Mauritānija"
+ },
+ "MX": {
+ "name": "Meksika"
+ },
+ "ME": {
+ "name": "Melnkalne"
+ },
+ "IM": {
+ "name": "Mena"
+ },
+ "FM": {
+ "name": "Mikronēzija"
+ },
+ "MM": {
+ "name": "Mjanma (Birma)"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MN": {
+ "name": "Mongolija"
+ },
+ "MS": {
+ "name": "Montserrata"
+ },
+ "MZ": {
+ "name": "Mozambika"
+ },
+ "NA": {
+ "name": "Namībija"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepāla"
+ },
+ "NL": {
+ "name": "Nīderlande"
+ },
+ "BQ": {
+ "name": "Nīderlandes Karību salas"
+ },
+ "NE": {
+ "name": "Nigēra"
+ },
+ "NG": {
+ "name": "Nigērija"
+ },
+ "NI": {
+ "name": "Nikaragva"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NF": {
+ "name": "Norfolkas sala"
+ },
+ "NO": {
+ "name": "Norvēģija"
+ },
+ "AX": {
+ "name": "Olandes salas"
+ },
+ "OM": {
+ "name": "Omāna"
+ },
+ "PK": {
+ "name": "Pakistāna"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palestīna"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua-Jaungvineja"
+ },
+ "PY": {
+ "name": "Paragvaja"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitkērnas salas"
+ },
+ "PL": {
+ "name": "Polija"
+ },
+ "PT": {
+ "name": "Portugāle"
+ },
+ "PR": {
+ "name": "Puertoriko"
+ },
+ "RE": {
+ "name": "Reinjona"
+ },
+ "EH": {
+ "name": "Rietumsahāra"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RO": {
+ "name": "Rumānija"
+ },
+ "SV": {
+ "name": "Salvadora"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "Sanmarīno"
+ },
+ "ST": {
+ "name": "Santome un Prinsipi"
+ },
+ "SA": {
+ "name": "Saūda Arābija"
+ },
+ "SC": {
+ "name": "Seišelu salas"
+ },
+ "BL": {
+ "name": "Senbartelmī"
+ },
+ "SN": {
+ "name": "Senegāla"
+ },
+ "MF": {
+ "name": "Senmartēna"
+ },
+ "PM": {
+ "name": "Senpjēra un Mikelona"
+ },
+ "KN": {
+ "name": "Sentkitsa un Nevisa"
+ },
+ "LC": {
+ "name": "Sentlūsija"
+ },
+ "VC": {
+ "name": "Sentvinsenta un Grenadīnas"
+ },
+ "RS": {
+ "name": "Serbija"
+ },
+ "EA": {
+ "name": "Seūta un Melilja"
+ },
+ "SG": {
+ "name": "Singapūra"
+ },
+ "SX": {
+ "name": "Sintmārtena"
+ },
+ "SY": {
+ "name": "Sīrija"
+ },
+ "SL": {
+ "name": "Sjerraleone"
+ },
+ "SK": {
+ "name": "Slovākija"
+ },
+ "SI": {
+ "name": "Slovēnija"
+ },
+ "SO": {
+ "name": "Somālija"
+ },
+ "FI": {
+ "name": "Somija"
+ },
+ "ES": {
+ "name": "Spānija"
+ },
+ "SD": {
+ "name": "Sudāna"
+ },
+ "SR": {
+ "name": "Surinama"
+ },
+ "SH": {
+ "name": "Sv.Helēnas sala"
+ },
+ "SJ": {
+ "name": "Svalbāra un Jana Majena sala"
+ },
+ "SZ": {
+ "name": "Svazilenda"
+ },
+ "LK": {
+ "name": "Šrilanka"
+ },
+ "CH": {
+ "name": "Šveice"
+ },
+ "TJ": {
+ "name": "Tadžikistāna"
+ },
+ "TW": {
+ "name": "Taivāna"
+ },
+ "TH": {
+ "name": "Taizeme"
+ },
+ "TZ": {
+ "name": "Tanzānija"
+ },
+ "TC": {
+ "name": "Tērksas un Kaikosas salas"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidāda un Tobāgo"
+ },
+ "TA": {
+ "name": "Tristana da Kuņas salas"
+ },
+ "TN": {
+ "name": "Tunisija"
+ },
+ "TR": {
+ "name": "Turcija"
+ },
+ "TM": {
+ "name": "Turkmenistāna"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukraina"
+ },
+ "HU": {
+ "name": "Ungārija"
+ },
+ "UY": {
+ "name": "Urugvaja"
+ },
+ "UZ": {
+ "name": "Uzbekistāna"
+ },
+ "DE": {
+ "name": "Vācija"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikāns"
+ },
+ "VE": {
+ "name": "Venecuēla"
+ },
+ "VN": {
+ "name": "Vjetnama"
+ },
+ "WF": {
+ "name": "Volisa un Futunas salas"
+ },
+ "SB": {
+ "name": "Zālamana salas"
+ },
+ "ZM": {
+ "name": "Zambija"
+ },
+ "KP": {
+ "name": "Ziemeļkoreja"
+ },
+ "MP": {
+ "name": "Ziemeļu Marianas salas"
+ },
+ "CX": {
+ "name": "Ziemsvētku sala"
+ },
+ "ZW": {
+ "name": "Zimbabve"
+ },
+ "SE": {
+ "name": "Zviedrija"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/mas.json b/vendor/commerceguys/intl/resources/country/mas.json
new file mode 100644
index 000000000..221f37e2a
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/mas.json
@@ -0,0 +1,761 @@
+{
+ "ZA": {
+ "name": "Afrika Kusini"
+ },
+ "AF": {
+ "name": "Afuganistani"
+ },
+ "IS": {
+ "name": "Aislandi"
+ },
+ "AR": {
+ "name": "Ajentina"
+ },
+ "AX": {
+ "name": "Åland Islands"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Aljeria"
+ },
+ "AD": {
+ "name": "Andora"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigua na Barbuda"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "IE": {
+ "name": "Ayalandi"
+ },
+ "AZ": {
+ "name": "Azabajani"
+ },
+ "BB": {
+ "name": "Babadosi"
+ },
+ "BS": {
+ "name": "Bahama"
+ },
+ "BH": {
+ "name": "Bahareni"
+ },
+ "BD": {
+ "name": "Bangladeshi"
+ },
+ "BY": {
+ "name": "Belarusi"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benini"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia na Hezegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brazili"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BF": {
+ "name": "Bukinafaso"
+ },
+ "MG": {
+ "name": "Bukini"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Butani"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "TD": {
+ "name": "Chadi"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Denmaki"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "EC": {
+ "name": "Ekwado"
+ },
+ "SV": {
+ "name": "Elsavado"
+ },
+ "IO": {
+ "name": "Eneo la Uingereza katika Bahari Hindi"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "AE": {
+ "name": "Falme za Kiarabu"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filipino"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gaboni"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GN": {
+ "name": "Gine"
+ },
+ "GW": {
+ "name": "Ginebisau"
+ },
+ "GQ": {
+ "name": "Ginekweta"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GL": {
+ "name": "Grinlandi"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "GP": {
+ "name": "Gwadelupe"
+ },
+ "GU": {
+ "name": "Gwam"
+ },
+ "GT": {
+ "name": "Gwatemala"
+ },
+ "GF": {
+ "name": "Gwiyana ya Ufaransa"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "ES": {
+ "name": "Hispania"
+ },
+ "HN": {
+ "name": "Hondurasi"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hungaria"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IQ": {
+ "name": "Iraki"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israeli"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JM": {
+ "name": "Jamaika"
+ },
+ "CF": {
+ "name": "Jamhuri ya Afrika ya Kati"
+ },
+ "CZ": {
+ "name": "Jamhuri ya Cheki"
+ },
+ "DO": {
+ "name": "Jamhuri ya Dominika"
+ },
+ "CD": {
+ "name": "Jamhuri ya Kidemokrasia ya Kongo"
+ },
+ "JP": {
+ "name": "Japani"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "GI": {
+ "name": "Jibralta"
+ },
+ "DJ": {
+ "name": "Jibuti"
+ },
+ "GE": {
+ "name": "Jojia"
+ },
+ "KH": {
+ "name": "Kambodia"
+ },
+ "CM": {
+ "name": "Kameruni"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "QA": {
+ "name": "Katari"
+ },
+ "KZ": {
+ "name": "Kazakistani"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "CV": {
+ "name": "Kepuvede"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "KG": {
+ "name": "Kirigizistani"
+ },
+ "NF": {
+ "name": "Kisiwa cha Norfok"
+ },
+ "CI": {
+ "name": "Kodivaa"
+ },
+ "CO": {
+ "name": "Kolombia"
+ },
+ "KM": {
+ "name": "Komoro"
+ },
+ "CG": {
+ "name": "Kongo"
+ },
+ "HR": {
+ "name": "Korasia"
+ },
+ "KP": {
+ "name": "Korea Kaskazini"
+ },
+ "KR": {
+ "name": "Korea Kusini"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "Kostarika"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "CY": {
+ "name": "Kuprosi"
+ },
+ "KW": {
+ "name": "Kuwaiti"
+ },
+ "LA": {
+ "name": "Laosi"
+ },
+ "LU": {
+ "name": "Lasembagi"
+ },
+ "LV": {
+ "name": "Lativia"
+ },
+ "LB": {
+ "name": "Lebanoni"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Lishenteni"
+ },
+ "LT": {
+ "name": "Litwania"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malesia"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "US": {
+ "name": "Marekani"
+ },
+ "MQ": {
+ "name": "Martiniki"
+ },
+ "MK": {
+ "name": "Masedonia"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Meksiko"
+ },
+ "FM": {
+ "name": "Mikronesia"
+ },
+ "EG": {
+ "name": "Misri"
+ },
+ "MV": {
+ "name": "Modivu"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrati"
+ },
+ "MU": {
+ "name": "Morisi"
+ },
+ "MR": {
+ "name": "Moritania"
+ },
+ "MA": {
+ "name": "Moroko"
+ },
+ "MZ": {
+ "name": "Msumbiji"
+ },
+ "MM": {
+ "name": "Myama"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepali"
+ },
+ "NE": {
+ "name": "Nijeri"
+ },
+ "NG": {
+ "name": "Nijeria"
+ },
+ "NI": {
+ "name": "Nikaragwa"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Norwe"
+ },
+ "NC": {
+ "name": "Nyukaledonia"
+ },
+ "NZ": {
+ "name": "Nyuzilandi"
+ },
+ "OM": {
+ "name": "Omani"
+ },
+ "PK": {
+ "name": "Pakistani"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua"
+ },
+ "PY": {
+ "name": "Paragwai"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitkairni"
+ },
+ "PL": {
+ "name": "Polandi"
+ },
+ "PF": {
+ "name": "Polinesia ya Ufaransa"
+ },
+ "PR": {
+ "name": "Pwetoriko"
+ },
+ "RE": {
+ "name": "Riyunioni"
+ },
+ "RO": {
+ "name": "Romania"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "SM": {
+ "name": "Samarino"
+ },
+ "ZM": {
+ "name": "Sambia"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa ya Marekani"
+ },
+ "SH": {
+ "name": "Santahelena"
+ },
+ "KN": {
+ "name": "Santakitzi na Nevis"
+ },
+ "LC": {
+ "name": "Santalusia"
+ },
+ "PM": {
+ "name": "Santapieri na Mikeloni"
+ },
+ "VC": {
+ "name": "Santavisenti na Grenadini"
+ },
+ "ST": {
+ "name": "Sao Tome na Principe"
+ },
+ "SA": {
+ "name": "Saudi"
+ },
+ "SN": {
+ "name": "Senegali"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Shelisheli"
+ },
+ "SL": {
+ "name": "Siera Leoni"
+ },
+ "ZW": {
+ "name": "Simbabwe"
+ },
+ "SG": {
+ "name": "Singapoo"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Siria"
+ },
+ "LK": {
+ "name": "Sirilanka"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SD": {
+ "name": "Sudani"
+ },
+ "SR": {
+ "name": "Surinamu"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailandi"
+ },
+ "TW": {
+ "name": "Taiwani"
+ },
+ "TJ": {
+ "name": "Tajikistani"
+ },
+ "TZ": {
+ "name": "Tansania"
+ },
+ "TL": {
+ "name": "Timori ya Mashariki"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad na Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TM": {
+ "name": "Turukimenistani"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "IR": {
+ "name": "Uajemi"
+ },
+ "BE": {
+ "name": "Ubelgiji"
+ },
+ "FR": {
+ "name": "Ufaransa"
+ },
+ "FI": {
+ "name": "Ufini"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "GR": {
+ "name": "Ugiriki"
+ },
+ "ET": {
+ "name": "Uhabeshi"
+ },
+ "NL": {
+ "name": "Uholanzi"
+ },
+ "GB": {
+ "name": "Uingereza"
+ },
+ "DE": {
+ "name": "Ujerumani"
+ },
+ "PS": {
+ "name": "Ukingo wa Magharibi na Ukanda wa Gaza wa Palestina"
+ },
+ "UA": {
+ "name": "Ukraini"
+ },
+ "PT": {
+ "name": "Ureno"
+ },
+ "UY": {
+ "name": "Urugwai"
+ },
+ "RU": {
+ "name": "Urusi"
+ },
+ "SZ": {
+ "name": "Uswazi"
+ },
+ "SE": {
+ "name": "Uswidi"
+ },
+ "CH": {
+ "name": "Uswisi"
+ },
+ "TR": {
+ "name": "Uturuki"
+ },
+ "UZ": {
+ "name": "Uzibekistani"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikani"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietinamu"
+ },
+ "CK": {
+ "name": "Visiwa vya Cook"
+ },
+ "FK": {
+ "name": "Visiwa vya Falkland"
+ },
+ "KY": {
+ "name": "Visiwa vya Kayman"
+ },
+ "MP": {
+ "name": "Visiwa vya Mariana vya Kaskazini"
+ },
+ "MH": {
+ "name": "Visiwa vya Marshal"
+ },
+ "SB": {
+ "name": "Visiwa vya Solomon"
+ },
+ "TC": {
+ "name": "Visiwa vya Turki na Kaiko"
+ },
+ "VI": {
+ "name": "Visiwa vya Virgin vya Marekani"
+ },
+ "VG": {
+ "name": "Visiwa vya Virgin vya Uingereza"
+ },
+ "WF": {
+ "name": "Walis na Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yemeni"
+ },
+ "JO": {
+ "name": "Yordani"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/mer.json b/vendor/commerceguys/intl/resources/country/mer.json
new file mode 100644
index 000000000..8b18b781a
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/mer.json
@@ -0,0 +1,761 @@
+{
+ "IE": {
+ "name": "Aelandi"
+ },
+ "ZA": {
+ "name": "Afrika ya Southi"
+ },
+ "AF": {
+ "name": "Afuganistani"
+ },
+ "CK": {
+ "name": "Aĩrandi cia Cook"
+ },
+ "FK": {
+ "name": "Aĩrandi cia Falklandi"
+ },
+ "KY": {
+ "name": "Aĩrandi cia Kayman"
+ },
+ "MP": {
+ "name": "Aĩrandi cia Mariana ya nothi"
+ },
+ "MH": {
+ "name": "Aĩrandi cia Marshal"
+ },
+ "NF": {
+ "name": "Aĩrandi cia Norfok"
+ },
+ "SB": {
+ "name": "Airandi Cia Solomon"
+ },
+ "TC": {
+ "name": "Aĩrandi cia Takĩ na Kaiko"
+ },
+ "VI": {
+ "name": "Aĩrandi cia Virgin cia Amerika"
+ },
+ "VG": {
+ "name": "Aĩrandi cia Virgin cia Ngeretha"
+ },
+ "IS": {
+ "name": "Aisilandi"
+ },
+ "AR": {
+ "name": "Ajentina"
+ },
+ "AX": {
+ "name": "Åland Islands"
+ },
+ "AL": {
+ "name": "Alubania"
+ },
+ "US": {
+ "name": "Amerika"
+ },
+ "AD": {
+ "name": "Andora"
+ },
+ "DZ": {
+ "name": "Angiria"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigua na Barbuda"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AT": {
+ "name": "Austiria"
+ },
+ "AU": {
+ "name": "Austrĩlia"
+ },
+ "AZ": {
+ "name": "Azebaijani"
+ },
+ "BB": {
+ "name": "Babadosi"
+ },
+ "BS": {
+ "name": "Bahamasi"
+ },
+ "BH": {
+ "name": "Baharini"
+ },
+ "BM": {
+ "name": "Bamuda"
+ },
+ "BD": {
+ "name": "Bangiradeshi"
+ },
+ "BY": {
+ "name": "Belarusi"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benini"
+ },
+ "BE": {
+ "name": "Beronjiamu"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia na Hezegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brazilu"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BF": {
+ "name": "Bukinafaso"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Butani"
+ },
+ "CY": {
+ "name": "Caipurasi"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "TD": {
+ "name": "Chadi"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Denimaki"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "EC": {
+ "name": "Ekwado"
+ },
+ "SV": {
+ "name": "Elsavado"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "AE": {
+ "name": "Falme cia Kiarabu"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filipino"
+ },
+ "FI": {
+ "name": "Finilandi"
+ },
+ "FR": {
+ "name": "Fransi"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gaboni"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GN": {
+ "name": "Gine"
+ },
+ "GQ": {
+ "name": "Gine ya Iquita"
+ },
+ "GW": {
+ "name": "Ginebisau"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "GP": {
+ "name": "Gwadelupe"
+ },
+ "GU": {
+ "name": "Gwam"
+ },
+ "GT": {
+ "name": "Gwatemala"
+ },
+ "GF": {
+ "name": "Gwiyana ya Fransi"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HU": {
+ "name": "Hangarĩ"
+ },
+ "NL": {
+ "name": "Holandi"
+ },
+ "HN": {
+ "name": "Hondurasi"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IQ": {
+ "name": "Iraki"
+ },
+ "IR": {
+ "name": "Irani"
+ },
+ "IL": {
+ "name": "Isiraeli"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IT": {
+ "name": "Italĩ"
+ },
+ "ET": {
+ "name": "Ithiopia"
+ },
+ "JM": {
+ "name": "Jamaika"
+ },
+ "JP": {
+ "name": "Japani"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "DJ": {
+ "name": "Jibuti"
+ },
+ "GE": {
+ "name": "Jojia"
+ },
+ "JO": {
+ "name": "Jorondani"
+ },
+ "NC": {
+ "name": "Kalendoia Ĩnjeru"
+ },
+ "KH": {
+ "name": "Kambodia"
+ },
+ "CM": {
+ "name": "Kameruni"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "QA": {
+ "name": "Kata"
+ },
+ "KZ": {
+ "name": "Kazakistani"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "CV": {
+ "name": "Kepuvede"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "KG": {
+ "name": "Kirigizistani"
+ },
+ "CU": {
+ "name": "Kiuba"
+ },
+ "CI": {
+ "name": "Kodivaa"
+ },
+ "CO": {
+ "name": "Kolombia"
+ },
+ "KM": {
+ "name": "Komoro"
+ },
+ "CG": {
+ "name": "Kongo"
+ },
+ "KP": {
+ "name": "Korea Nothi"
+ },
+ "KR": {
+ "name": "Korea Saũthi"
+ },
+ "HR": {
+ "name": "Koroashia"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "Kostarika"
+ },
+ "KW": {
+ "name": "Kuwĩ ti"
+ },
+ "LA": {
+ "name": "Laosi"
+ },
+ "LV": {
+ "name": "Lativia"
+ },
+ "LB": {
+ "name": "Lebanoni"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Lĩbia"
+ },
+ "LI": {
+ "name": "Lishenteni"
+ },
+ "LT": {
+ "name": "Lithuania"
+ },
+ "LU": {
+ "name": "Luxembogu"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagasika"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MY": {
+ "name": "Malĩsia"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MQ": {
+ "name": "Martiniki"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "MU": {
+ "name": "Maurĩtiasi"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Mexiko"
+ },
+ "FM": {
+ "name": "Mikronesia"
+ },
+ "EG": {
+ "name": "Misiri"
+ },
+ "MV": {
+ "name": "Modivu"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrati"
+ },
+ "MA": {
+ "name": "Moroko"
+ },
+ "MZ": {
+ "name": "Mozambiki"
+ },
+ "MM": {
+ "name": "Myanima"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepali"
+ },
+ "GB": {
+ "name": "Ngeretha"
+ },
+ "GI": {
+ "name": "Ngĩbrata"
+ },
+ "GR": {
+ "name": "Ngiriki"
+ },
+ "GL": {
+ "name": "Ngirinilandi"
+ },
+ "NE": {
+ "name": "Nija"
+ },
+ "NG": {
+ "name": "Nijeria"
+ },
+ "NI": {
+ "name": "Nikaragwa"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NZ": {
+ "name": "Niuzilandi"
+ },
+ "DE": {
+ "name": "Njamanĩ"
+ },
+ "NO": {
+ "name": "Norwi"
+ },
+ "IO": {
+ "name": "Nthĩ cia Ngeretha gatagatĩ ka ĩria ria Hindi"
+ },
+ "CF": {
+ "name": "Nthĩ ya Afrika gatĩgatĩ"
+ },
+ "CZ": {
+ "name": "Nthĩ ya Cheki"
+ },
+ "DO": {
+ "name": "Nthĩ ya Dominika"
+ },
+ "CD": {
+ "name": "Nthĩ ya Kidemokrasĩ ya Kongo"
+ },
+ "OM": {
+ "name": "Omani"
+ },
+ "PK": {
+ "name": "Pakistani"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua"
+ },
+ "PY": {
+ "name": "Paragwai"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitkairni"
+ },
+ "PL": {
+ "name": "Polandi"
+ },
+ "PF": {
+ "name": "Polinesia ya Fransi"
+ },
+ "PT": {
+ "name": "Potogo"
+ },
+ "PR": {
+ "name": "Pwetoriko"
+ },
+ "RU": {
+ "name": "Rashia"
+ },
+ "RE": {
+ "name": "Riyunioni"
+ },
+ "RO": {
+ "name": "Romania"
+ },
+ "PS": {
+ "name": "Rũtere rwa Westi banki na Gaza cia Palestina"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "SM": {
+ "name": "Samarino"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa ya Amerika"
+ },
+ "SH": {
+ "name": "Santahelena"
+ },
+ "KN": {
+ "name": "Santakitzi na Nevis"
+ },
+ "LC": {
+ "name": "Santalusia"
+ },
+ "PM": {
+ "name": "Santapieri na Mikeloni"
+ },
+ "VC": {
+ "name": "Santavisenti na Grenadini"
+ },
+ "ST": {
+ "name": "Sao Tome na Principe"
+ },
+ "SA": {
+ "name": "Saudi"
+ },
+ "SN": {
+ "name": "Senego"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Shelisheli"
+ },
+ "SL": {
+ "name": "Siera Leoni"
+ },
+ "SG": {
+ "name": "Singapoo"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Siria"
+ },
+ "LK": {
+ "name": "Sirilanka"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "ES": {
+ "name": "Spĩni"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SD": {
+ "name": "Sudani"
+ },
+ "SR": {
+ "name": "Surinamu"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swazilandi"
+ },
+ "SE": {
+ "name": "Swideni"
+ },
+ "CH": {
+ "name": "Swizilandi"
+ },
+ "TW": {
+ "name": "Taiwani"
+ },
+ "TJ": {
+ "name": "Tajikistani"
+ },
+ "TR": {
+ "name": "Takĩ"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TH": {
+ "name": "Thaĩlandi"
+ },
+ "TL": {
+ "name": "Timori ya Isti"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad na Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TM": {
+ "name": "Tukumenistani"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukirĩni"
+ },
+ "UY": {
+ "name": "Urugwĩ"
+ },
+ "UZ": {
+ "name": "Uzibekistani"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikani"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietinamu"
+ },
+ "WF": {
+ "name": "Walis na Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yemeni"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/mfe.json b/vendor/commerceguys/intl/resources/country/mfe.json
new file mode 100644
index 000000000..bc23d15ec
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/mfe.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afganistan"
+ },
+ "AX": {
+ "name": "Åland Islands"
+ },
+ "AL": {
+ "name": "Albani"
+ },
+ "DE": {
+ "name": "Almagn"
+ },
+ "DZ": {
+ "name": "Alzeri"
+ },
+ "AD": {
+ "name": "Andor"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigua-ek-Barbuda"
+ },
+ "AM": {
+ "name": "Armeni"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "HT": {
+ "name": "Ayti"
+ },
+ "AZ": {
+ "name": "Azerbaïdjan"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahreïn"
+ },
+ "BD": {
+ "name": "Banglades"
+ },
+ "BB": {
+ "name": "Barbad"
+ },
+ "BY": {
+ "name": "Belaris"
+ },
+ "BZ": {
+ "name": "Beliz"
+ },
+ "BE": {
+ "name": "Belzik"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermid"
+ },
+ "BG": {
+ "name": "Bilgari"
+ },
+ "BO": {
+ "name": "Bolivi"
+ },
+ "BA": {
+ "name": "Bosni-Herzegovinn"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BT": {
+ "name": "Boutan"
+ },
+ "BR": {
+ "name": "Brezil"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "CI": {
+ "name": "Côte d’Ivoire"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "CY": {
+ "name": "Cyprus"
+ },
+ "DK": {
+ "name": "Dannmark"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DJ": {
+ "name": "Djibouti"
+ },
+ "DM": {
+ "name": "Dominik"
+ },
+ "EC": {
+ "name": "Ekwater"
+ },
+ "AE": {
+ "name": "Emira arab ini"
+ },
+ "ER": {
+ "name": "Erythre"
+ },
+ "EE": {
+ "name": "Estoni"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fidji"
+ },
+ "PH": {
+ "name": "Filipinn"
+ },
+ "FI": {
+ "name": "Finland"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambi"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GN": {
+ "name": "Gine"
+ },
+ "GQ": {
+ "name": "Gine ekwatoryal"
+ },
+ "GW": {
+ "name": "Gine-Bisau"
+ },
+ "GL": {
+ "name": "Greenland"
+ },
+ "GD": {
+ "name": "Grenad"
+ },
+ "GR": {
+ "name": "Gres"
+ },
+ "GP": {
+ "name": "Guadloup"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "GF": {
+ "name": "Gwiyann franse"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "UA": {
+ "name": "Ikrenn"
+ },
+ "ID": {
+ "name": "Indonezi"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IE": {
+ "name": "Irland"
+ },
+ "IS": {
+ "name": "Island"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IT": {
+ "name": "Itali"
+ },
+ "IL": {
+ "name": "Izrael"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "KH": {
+ "name": "Kambodj"
+ },
+ "CM": {
+ "name": "Kamerounn"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "CV": {
+ "name": "Kap-Ver"
+ },
+ "QA": {
+ "name": "Katar"
+ },
+ "KZ": {
+ "name": "Kazakstan"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "KG": {
+ "name": "Kirghizistan"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "CO": {
+ "name": "Kolonbi"
+ },
+ "KM": {
+ "name": "Komor"
+ },
+ "CG": {
+ "name": "Kongo"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Koweit"
+ },
+ "HR": {
+ "name": "Kroasi"
+ },
+ "FR": {
+ "name": "Lafrans"
+ },
+ "KP": {
+ "name": "Lakore-dinor"
+ },
+ "KR": {
+ "name": "Lakore-disid"
+ },
+ "US": {
+ "name": "Lamerik"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "SA": {
+ "name": "Larabi Saoudit"
+ },
+ "RE": {
+ "name": "Larenion"
+ },
+ "RU": {
+ "name": "Larisi"
+ },
+ "AR": {
+ "name": "Larzantinn"
+ },
+ "CN": {
+ "name": "Lasinn"
+ },
+ "SY": {
+ "name": "Lasiri"
+ },
+ "SE": {
+ "name": "Laswed"
+ },
+ "CH": {
+ "name": "Laswis"
+ },
+ "VA": {
+ "name": "Lata Vatikan"
+ },
+ "IN": {
+ "name": "Lenn"
+ },
+ "ES": {
+ "name": "Lespagn"
+ },
+ "ET": {
+ "name": "Letiopi"
+ },
+ "LV": {
+ "name": "Letoni"
+ },
+ "EG": {
+ "name": "Lezipt"
+ },
+ "LS": {
+ "name": "Lezoto"
+ },
+ "LB": {
+ "name": "Liban"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libi"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "NF": {
+ "name": "Lil Norfolk"
+ },
+ "LT": {
+ "name": "Lituani"
+ },
+ "AU": {
+ "name": "Lostrali"
+ },
+ "AT": {
+ "name": "Lostris"
+ },
+ "LU": {
+ "name": "Luxembourg"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MG": {
+ "name": "Madagaskar"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MV": {
+ "name": "Maldiv"
+ },
+ "MY": {
+ "name": "Malezi"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malt"
+ },
+ "MA": {
+ "name": "Marok"
+ },
+ "MQ": {
+ "name": "Martinik"
+ },
+ "MK": {
+ "name": "Masedwann"
+ },
+ "YT": {
+ "name": "Mayot"
+ },
+ "MX": {
+ "name": "Mexik"
+ },
+ "FM": {
+ "name": "Mikronezi"
+ },
+ "MD": {
+ "name": "Moldavi"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MN": {
+ "name": "Mongoli"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montsera"
+ },
+ "MU": {
+ "name": "Moris"
+ },
+ "MR": {
+ "name": "Moritani"
+ },
+ "MZ": {
+ "name": "Mozambik"
+ },
+ "MM": {
+ "name": "Myanmar"
+ },
+ "NA": {
+ "name": "Namibi"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NU": {
+ "name": "Niowe"
+ },
+ "NE": {
+ "name": "Nizer"
+ },
+ "NG": {
+ "name": "Nizeria"
+ },
+ "NO": {
+ "name": "Norvez"
+ },
+ "NZ": {
+ "name": "Nouvel Zeland"
+ },
+ "NC": {
+ "name": "Nouvel-Kaledoni"
+ },
+ "NL": {
+ "name": "Oland"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "HU": {
+ "name": "Ongri"
+ },
+ "UG": {
+ "name": "Ouganda"
+ },
+ "UZ": {
+ "name": "Ouzbekistan"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papouazi-Nouvel-Gine"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Perou"
+ },
+ "PN": {
+ "name": "Pitcairn"
+ },
+ "PF": {
+ "name": "Polinezi franse"
+ },
+ "PL": {
+ "name": "Pologn"
+ },
+ "PT": {
+ "name": "Portigal"
+ },
+ "PR": {
+ "name": "Porto Rico"
+ },
+ "CZ": {
+ "name": "Repiblik Chek"
+ },
+ "CD": {
+ "name": "Repiblik demokratik Kongo"
+ },
+ "DO": {
+ "name": "Repiblik dominikin"
+ },
+ "CF": {
+ "name": "Repiblik Lafrik Santral"
+ },
+ "RO": {
+ "name": "Roumani"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "KN": {
+ "name": "Saint-Christophe-ek-Niévès"
+ },
+ "SM": {
+ "name": "Saint-Marin"
+ },
+ "PM": {
+ "name": "Saint-Pierre-ek-Miquelon"
+ },
+ "VC": {
+ "name": "Saint-Vincent-ek-Grenadines"
+ },
+ "SH": {
+ "name": "Sainte-Hélène"
+ },
+ "LC": {
+ "name": "Sainte-Lucie"
+ },
+ "SV": {
+ "name": "Salvador"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa amerikin"
+ },
+ "ST": {
+ "name": "São Tome-ek-Prínsip"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Sesel"
+ },
+ "CL": {
+ "name": "Shili"
+ },
+ "ZA": {
+ "name": "Sid-Afrik"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapour"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SK": {
+ "name": "Slovaki"
+ },
+ "SI": {
+ "name": "Sloveni"
+ },
+ "SO": {
+ "name": "Somali"
+ },
+ "SD": {
+ "name": "Soudan"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swaziland"
+ },
+ "TJ": {
+ "name": "Tadjikistan"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TZ": {
+ "name": "Tanzani"
+ },
+ "TD": {
+ "name": "Tchad"
+ },
+ "IO": {
+ "name": "Teritwar Britanik Losean Indien"
+ },
+ "PS": {
+ "name": "Teritwar Palestinn"
+ },
+ "TH": {
+ "name": "Thayland"
+ },
+ "TL": {
+ "name": "Timor oriantal"
+ },
+ "TN": {
+ "name": "Tinizi"
+ },
+ "TR": {
+ "name": "Tirki"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinite-ek-Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "GB": {
+ "name": "United Kingdom"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis-ek-Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yemenn"
+ },
+ "JM": {
+ "name": "Zamaik"
+ },
+ "ZM": {
+ "name": "Zambi"
+ },
+ "JP": {
+ "name": "Zapon"
+ },
+ "GE": {
+ "name": "Zeorzi"
+ },
+ "GI": {
+ "name": "Zibraltar"
+ },
+ "CK": {
+ "name": "Zil Cook"
+ },
+ "KY": {
+ "name": "Zil Kayman"
+ },
+ "FK": {
+ "name": "Zil malwinn"
+ },
+ "MH": {
+ "name": "Zil Marshall"
+ },
+ "MP": {
+ "name": "Zil Maryann dinor"
+ },
+ "SB": {
+ "name": "Zil Salomon"
+ },
+ "TC": {
+ "name": "Zil Tirk ek Caïcos"
+ },
+ "VG": {
+ "name": "Zil vierz britanik"
+ },
+ "VI": {
+ "name": "Zil Vierz Lamerik"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ },
+ "JO": {
+ "name": "Zordani"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/mg.json b/vendor/commerceguys/intl/resources/country/mg.json
new file mode 100644
index 000000000..0e99407e6
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/mg.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afghanistan"
+ },
+ "ZA": {
+ "name": "Afrika Atsimo"
+ },
+ "AX": {
+ "name": "Åland Islands"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DE": {
+ "name": "Alemaina"
+ },
+ "DZ": {
+ "name": "Alzeria"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "GB": {
+ "name": "Angletera"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antiga sy Barboda"
+ },
+ "AU": {
+ "name": "Aostralia"
+ },
+ "AT": {
+ "name": "Aotrisy"
+ },
+ "SA": {
+ "name": "Arabia saodita"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Arobà"
+ },
+ "AR": {
+ "name": "Arzantina"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AZ": {
+ "name": "Azerbaidjan"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahrain"
+ },
+ "BD": {
+ "name": "Bangladesy"
+ },
+ "BB": {
+ "name": "Barbady"
+ },
+ "BY": {
+ "name": "Belarosy"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BE": {
+ "name": "Belzika"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermioda"
+ },
+ "BT": {
+ "name": "Bhotana"
+ },
+ "BG": {
+ "name": "Biolgaria"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BF": {
+ "name": "Borkina Faso"
+ },
+ "BI": {
+ "name": "Borondi"
+ },
+ "BA": {
+ "name": "Bosnia sy Herzegovina"
+ },
+ "BW": {
+ "name": "Botsoana"
+ },
+ "BR": {
+ "name": "Brezila"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CI": {
+ "name": "Côte d’Ivoire"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Danmarka"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DJ": {
+ "name": "Djiboti"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "EG": {
+ "name": "Ejypta"
+ },
+ "EC": {
+ "name": "Ekoatera"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "AE": {
+ "name": "Emirà Arabo mitambatra"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "ES": {
+ "name": "Espaina"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "US": {
+ "name": "Etazonia"
+ },
+ "ET": {
+ "name": "Ethiopia"
+ },
+ "IO": {
+ "name": "Faridranomasina indiana britanika"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fidji"
+ },
+ "PH": {
+ "name": "Filipina"
+ },
+ "FI": {
+ "name": "Finlandy"
+ },
+ "VA": {
+ "name": "Firenen’i Vatikana"
+ },
+ "FR": {
+ "name": "Frantsa"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GW": {
+ "name": "Giné-Bisao"
+ },
+ "GN": {
+ "name": "Ginea"
+ },
+ "GP": {
+ "name": "Goadelopy"
+ },
+ "GT": {
+ "name": "Goatemalà"
+ },
+ "GD": {
+ "name": "Grenady"
+ },
+ "GR": {
+ "name": "Gresy"
+ },
+ "GL": {
+ "name": "Groenland"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GQ": {
+ "name": "Guinea Ekoatera"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "GF": {
+ "name": "Guyana frantsay"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "NL": {
+ "name": "Holanda"
+ },
+ "HN": {
+ "name": "Hondiorasy"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hongria"
+ },
+ "ID": {
+ "name": "Indonezia"
+ },
+ "IN": {
+ "name": "Indy"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IE": {
+ "name": "Irlandy"
+ },
+ "IS": {
+ "name": "Islandy"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israely"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JM": {
+ "name": "Jamaïka"
+ },
+ "JP": {
+ "name": "Japana"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordania"
+ },
+ "KH": {
+ "name": "Kambôdja"
+ },
+ "CM": {
+ "name": "Kamerona"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "QA": {
+ "name": "Katar"
+ },
+ "KZ": {
+ "name": "Kazakhstan"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "CU": {
+ "name": "Kiobà"
+ },
+ "KG": {
+ "name": "Kiordistan"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "KW": {
+ "name": "Kôeity"
+ },
+ "CO": {
+ "name": "Kôlômbia"
+ },
+ "KM": {
+ "name": "Kômaoro"
+ },
+ "CG": {
+ "name": "Kôngô"
+ },
+ "KR": {
+ "name": "Korea Atsimo"
+ },
+ "KP": {
+ "name": "Korea Avaratra"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "Kosta Rikà"
+ },
+ "HR": {
+ "name": "Kroasia"
+ },
+ "LA": {
+ "name": "Laôs"
+ },
+ "RE": {
+ "name": "Larenion"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LV": {
+ "name": "Letonia"
+ },
+ "LB": {
+ "name": "Libana"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LU": {
+ "name": "Lioksamboro"
+ },
+ "LI": {
+ "name": "Listenstein"
+ },
+ "LT": {
+ "name": "Litoania"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MG": {
+ "name": "Madagasikara"
+ },
+ "MK": {
+ "name": "Makedonia"
+ },
+ "MY": {
+ "name": "Malaizia"
+ },
+ "MW": {
+ "name": "Malaoì"
+ },
+ "MV": {
+ "name": "Maldiva"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MU": {
+ "name": "Maorisy"
+ },
+ "MR": {
+ "name": "Maoritania"
+ },
+ "MA": {
+ "name": "Marôka"
+ },
+ "MQ": {
+ "name": "Martinika"
+ },
+ "YT": {
+ "name": "Mayôty"
+ },
+ "MX": {
+ "name": "Meksika"
+ },
+ "FM": {
+ "name": "Mikrônezia"
+ },
+ "MD": {
+ "name": "Môldavia"
+ },
+ "MC": {
+ "name": "Mônakô"
+ },
+ "MN": {
+ "name": "Môngôlia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mozambika"
+ },
+ "MM": {
+ "name": "Myanmar"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Naorò"
+ },
+ "NP": {
+ "name": "Nepala"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NI": {
+ "name": "Nikaragoà"
+ },
+ "NU": {
+ "name": "Nioé"
+ },
+ "NG": {
+ "name": "Nizeria"
+ },
+ "NO": {
+ "name": "Nôrvezy"
+ },
+ "VG": {
+ "name": "Nosy britanika virijiny"
+ },
+ "CV": {
+ "name": "Nosy Cap-Vert"
+ },
+ "FK": {
+ "name": "Nosy Falkand"
+ },
+ "KY": {
+ "name": "Nosy Kayman"
+ },
+ "CK": {
+ "name": "Nosy Kook"
+ },
+ "MP": {
+ "name": "Nosy Mariana Atsinanana"
+ },
+ "MH": {
+ "name": "Nosy Marshall"
+ },
+ "NF": {
+ "name": "Nosy Norfolk"
+ },
+ "SB": {
+ "name": "Nosy Salomona"
+ },
+ "TC": {
+ "name": "Nosy Turks sy Caïques"
+ },
+ "VI": {
+ "name": "Nosy Virijiny Etazonia"
+ },
+ "NC": {
+ "name": "Nouvelle-Calédonie"
+ },
+ "NZ": {
+ "name": "Nouvelle-Zélande"
+ },
+ "UG": {
+ "name": "Oganda"
+ },
+ "UA": {
+ "name": "Okraina"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "UY": {
+ "name": "Orogoay"
+ },
+ "UZ": {
+ "name": "Ozbekistan"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palao"
+ },
+ "PS": {
+ "name": "Palestina"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papouasie-Nouvelle-Guinée"
+ },
+ "PY": {
+ "name": "Paragoay"
+ },
+ "PE": {
+ "name": "Peroa"
+ },
+ "PN": {
+ "name": "Pitkairn"
+ },
+ "PL": {
+ "name": "Pôlôna"
+ },
+ "PF": {
+ "name": "Polynezia frantsay"
+ },
+ "PT": {
+ "name": "Pôrtiogala"
+ },
+ "PR": {
+ "name": "Pôrtô Rikô"
+ },
+ "DO": {
+ "name": "Repoblika Dominikanina"
+ },
+ "CF": {
+ "name": "Repoblika Ivon’Afrika"
+ },
+ "CD": {
+ "name": "Repoblikan’i Kongo"
+ },
+ "CZ": {
+ "name": "Repoblikan’i Tseky"
+ },
+ "RW": {
+ "name": "Roanda"
+ },
+ "RO": {
+ "name": "Romania"
+ },
+ "RU": {
+ "name": "Rosia"
+ },
+ "KN": {
+ "name": "Saint-Christophe-et-Niévès"
+ },
+ "SM": {
+ "name": "Saint-Marin"
+ },
+ "PM": {
+ "name": "Saint-Pierre-et-Miquelon"
+ },
+ "VC": {
+ "name": "Saint-Vincent-et-les Grenadines"
+ },
+ "SH": {
+ "name": "Sainte-Hélène"
+ },
+ "LC": {
+ "name": "Sainte-Lucie"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa amerikanina"
+ },
+ "ST": {
+ "name": "São Tomé-et-Príncipe"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seyshela"
+ },
+ "CL": {
+ "name": "Shili"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "CN": {
+ "name": "Sina"
+ },
+ "SG": {
+ "name": "Singaporo"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SZ": {
+ "name": "Soazilandy"
+ },
+ "SD": {
+ "name": "Sodan"
+ },
+ "SE": {
+ "name": "Soedy"
+ },
+ "CH": {
+ "name": "Soisa"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "SR": {
+ "name": "Sorinam"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "CY": {
+ "name": "Sypra"
+ },
+ "SY": {
+ "name": "Syria"
+ },
+ "TW": {
+ "name": "Taioana"
+ },
+ "TJ": {
+ "name": "Tajikistan"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TH": {
+ "name": "Thailandy"
+ },
+ "TL": {
+ "name": "Timor Atsinanana"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelao"
+ },
+ "TO": {
+ "name": "Tongà"
+ },
+ "TN": {
+ "name": "Tonizia"
+ },
+ "TR": {
+ "name": "Torkia"
+ },
+ "TM": {
+ "name": "Torkmenistan"
+ },
+ "TV": {
+ "name": "Tovalò"
+ },
+ "TT": {
+ "name": "Trinidad sy Tobagô"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TD": {
+ "name": "Tsady"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "VU": {
+ "name": "Vanoatò"
+ },
+ "VE": {
+ "name": "Venezoelà"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis sy Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "GE": {
+ "name": "Zeorzia"
+ },
+ "GI": {
+ "name": "Zibraltara"
+ },
+ "ZW": {
+ "name": "Zimbaboe"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/mgh.json b/vendor/commerceguys/intl/resources/country/mgh.json
new file mode 100644
index 000000000..8ab499590
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/mgh.json
@@ -0,0 +1,761 @@
+{
+ "ZA": {
+ "name": "Afrika du Sulu"
+ },
+ "AX": {
+ "name": "Åland Islands"
+ },
+ "DZ": {
+ "name": "Alujeria"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigua & Barbuda"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahrain"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BY": {
+ "name": "Belarus"
+ },
+ "BE": {
+ "name": "Belgium"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia & Herzegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brazil"
+ },
+ "IO": {
+ "name": "British Indian Ocean Territory"
+ },
+ "VG": {
+ "name": "British Virgin Islands"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "CM": {
+ "name": "Cameroon"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "CV": {
+ "name": "Cape Verde"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "KY": {
+ "name": "Cayman Islands"
+ },
+ "CF": {
+ "name": "Central African Republic"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CD": {
+ "name": "Congo - Kinshasa"
+ },
+ "CK": {
+ "name": "Cook Islands"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DO": {
+ "name": "Dominican Republic"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "GQ": {
+ "name": "Equatorial Guinea"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "FK": {
+ "name": "Falkland Islands"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "DE": {
+ "name": "Germany"
+ },
+ "GR": {
+ "name": "Greece"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "IS": {
+ "name": "Iceland"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "KG": {
+ "name": "Kyrgyzstan"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MY": {
+ "name": "Malaysia"
+ },
+ "MV": {
+ "name": "Maldives"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MH": {
+ "name": "Marshall Islands"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Mexico"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MA": {
+ "name": "Morocco"
+ },
+ "MM": {
+ "name": "Myanmar (Burma)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NL": {
+ "name": "Netherlands"
+ },
+ "NC": {
+ "name": "New Caledonia"
+ },
+ "NZ": {
+ "name": "New Zealand"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NF": {
+ "name": "Norfolk Island"
+ },
+ "MP": {
+ "name": "Northern Mariana Islands"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palestinian Territories"
+ },
+ "PY": {
+ "name": "Paragwai"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "RU": {
+ "name": "Russia"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SB": {
+ "name": "Solomon Islands"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TC": {
+ "name": "Turks & Caicos Islands"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "VI": {
+ "name": "U.S. Virgin Islands"
+ },
+ "AL": {
+ "name": "Ualbania"
+ },
+ "AD": {
+ "name": "Uandora"
+ },
+ "IE": {
+ "name": "Uayalandi"
+ },
+ "AZ": {
+ "name": "Uazabajani"
+ },
+ "BJ": {
+ "name": "Ubelin"
+ },
+ "MG": {
+ "name": "Ubukini"
+ },
+ "TD": {
+ "name": "Uchadi"
+ },
+ "CZ": {
+ "name": "Ucheki"
+ },
+ "CL": {
+ "name": "Uchile"
+ },
+ "CN": {
+ "name": "Uchina"
+ },
+ "DK": {
+ "name": "Udenimaka"
+ },
+ "DM": {
+ "name": "Udominika"
+ },
+ "FR": {
+ "name": "Ufaransa"
+ },
+ "GF": {
+ "name": "Ufaransa yo Gwaya"
+ },
+ "PF": {
+ "name": "Ufaransa yo Potina"
+ },
+ "FJ": {
+ "name": "Ufiji"
+ },
+ "PH": {
+ "name": "Ufilipino"
+ },
+ "FI": {
+ "name": "Ufini"
+ },
+ "AF": {
+ "name": "Ufugustani"
+ },
+ "GA": {
+ "name": "Ugaboni"
+ },
+ "GM": {
+ "name": "Ugambia"
+ },
+ "GH": {
+ "name": "Ugana"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "GN": {
+ "name": "Ugine"
+ },
+ "GW": {
+ "name": "Uginebisau"
+ },
+ "GD": {
+ "name": "Ugrenada"
+ },
+ "GL": {
+ "name": "Ugrinlandi"
+ },
+ "GY": {
+ "name": "Uguyana"
+ },
+ "GP": {
+ "name": "Ugwadelupe"
+ },
+ "GU": {
+ "name": "Ugwam"
+ },
+ "GT": {
+ "name": "Ugwatemala"
+ },
+ "ET": {
+ "name": "Uhabeshi"
+ },
+ "HT": {
+ "name": "Uhaiti"
+ },
+ "IN": {
+ "name": "Uhindini"
+ },
+ "ES": {
+ "name": "Uhispania"
+ },
+ "HN": {
+ "name": "Uhondurasi"
+ },
+ "HU": {
+ "name": "Uhungaria"
+ },
+ "IL": {
+ "name": "Uisraeli"
+ },
+ "JM": {
+ "name": "Ujamaika"
+ },
+ "JP": {
+ "name": "Ujapani"
+ },
+ "GI": {
+ "name": "Ujibralta"
+ },
+ "DJ": {
+ "name": "Ujibuti"
+ },
+ "TJ": {
+ "name": "Ujikistani"
+ },
+ "GE": {
+ "name": "Ujojia"
+ },
+ "KH": {
+ "name": "Ukambodia"
+ },
+ "CA": {
+ "name": "Ukanada"
+ },
+ "QA": {
+ "name": "Ukatari"
+ },
+ "KZ": {
+ "name": "Ukazakistani"
+ },
+ "KE": {
+ "name": "Ukenya"
+ },
+ "CI": {
+ "name": "Ukodiva"
+ },
+ "CO": {
+ "name": "Ukolombia"
+ },
+ "KM": {
+ "name": "Ukomoro"
+ },
+ "CG": {
+ "name": "Ukongo"
+ },
+ "HR": {
+ "name": "Ukorasia"
+ },
+ "KP": {
+ "name": "Ukorea Kaskazini"
+ },
+ "KR": {
+ "name": "Ukorea Kusini"
+ },
+ "UA": {
+ "name": "Ukraine"
+ },
+ "CU": {
+ "name": "Ukuba"
+ },
+ "CY": {
+ "name": "Ukuprosi"
+ },
+ "LV": {
+ "name": "Ulativia"
+ },
+ "LB": {
+ "name": "Ulebanoni"
+ },
+ "LS": {
+ "name": "Ulesoto"
+ },
+ "LR": {
+ "name": "Uliberia"
+ },
+ "LY": {
+ "name": "Ulibya"
+ },
+ "MW": {
+ "name": "Umalawi"
+ },
+ "ME": {
+ "name": "Umantegro"
+ },
+ "US": {
+ "name": "Umarekani"
+ },
+ "MK": {
+ "name": "Umasedonia"
+ },
+ "EG": {
+ "name": "Umisiri"
+ },
+ "MZ": {
+ "name": "Umozambiki"
+ },
+ "ID": {
+ "name": "Undonesia"
+ },
+ "NE": {
+ "name": "Unijeri"
+ },
+ "NG": {
+ "name": "Unijeria"
+ },
+ "AE": {
+ "name": "United Arab Emirates"
+ },
+ "GB": {
+ "name": "United Kingdom"
+ },
+ "NO": {
+ "name": "Unorwe"
+ },
+ "OM": {
+ "name": "Uomani"
+ },
+ "PK": {
+ "name": "Upakistani"
+ },
+ "PA": {
+ "name": "Upanama"
+ },
+ "PG": {
+ "name": "Upapua"
+ },
+ "PE": {
+ "name": "Uperuu"
+ },
+ "PN": {
+ "name": "Upitkairni"
+ },
+ "PL": {
+ "name": "Upolandi"
+ },
+ "PR": {
+ "name": "Upwetoriko"
+ },
+ "ER": {
+ "name": "Uriterea"
+ },
+ "RE": {
+ "name": "Uriyunioni"
+ },
+ "RO": {
+ "name": "Uromania"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "BI": {
+ "name": "Urundi"
+ },
+ "RW": {
+ "name": "Urwanda"
+ },
+ "SV": {
+ "name": "Usalavado"
+ },
+ "SM": {
+ "name": "Usamarino"
+ },
+ "WS": {
+ "name": "Usamoa"
+ },
+ "AS": {
+ "name": "Usamoa ya Marekani"
+ },
+ "SH": {
+ "name": "Usantahelena"
+ },
+ "KN": {
+ "name": "Usantakitzi na Nevis"
+ },
+ "LC": {
+ "name": "Usantalusia"
+ },
+ "PM": {
+ "name": "Usantapieri na Mikeloni"
+ },
+ "VC": {
+ "name": "Usantavisenti na Grenadini"
+ },
+ "ST": {
+ "name": "Usao Tome na Principe"
+ },
+ "SA": {
+ "name": "Usaudi"
+ },
+ "LU": {
+ "name": "Usembaji"
+ },
+ "SN": {
+ "name": "Usenegali"
+ },
+ "SC": {
+ "name": "Ushelisheli"
+ },
+ "LI": {
+ "name": "Ushenteni"
+ },
+ "SG": {
+ "name": "Usingapoo"
+ },
+ "SY": {
+ "name": "Usiria"
+ },
+ "LK": {
+ "name": "Usirilanka"
+ },
+ "SK": {
+ "name": "Uslovakia"
+ },
+ "SI": {
+ "name": "Uslovenia"
+ },
+ "SO": {
+ "name": "Usomalia"
+ },
+ "SD": {
+ "name": "Usudani"
+ },
+ "SR": {
+ "name": "Usurinamu"
+ },
+ "SZ": {
+ "name": "Uswazi"
+ },
+ "SE": {
+ "name": "Uswidi"
+ },
+ "CH": {
+ "name": "Uswisi"
+ },
+ "TH": {
+ "name": "Utailandi"
+ },
+ "TZ": {
+ "name": "Utanzania"
+ },
+ "TL": {
+ "name": "Utimo Mashariki"
+ },
+ "TG": {
+ "name": "Utogo"
+ },
+ "TK": {
+ "name": "Utokelau"
+ },
+ "TO": {
+ "name": "Utonga"
+ },
+ "TT": {
+ "name": "Utrinidad na Tobago"
+ },
+ "TR": {
+ "name": "Utuki"
+ },
+ "TN": {
+ "name": "Utunisia"
+ },
+ "TM": {
+ "name": "Uturukimenistani"
+ },
+ "TV": {
+ "name": "Utuvalu"
+ },
+ "LT": {
+ "name": "Utwania"
+ },
+ "VU": {
+ "name": "Uvanuatu"
+ },
+ "VA": {
+ "name": "Uvatikani"
+ },
+ "VE": {
+ "name": "Uvenezuela"
+ },
+ "VN": {
+ "name": "Uvietinamu"
+ },
+ "WF": {
+ "name": "Uwalis na Futuna"
+ },
+ "YE": {
+ "name": "Uyemeni"
+ },
+ "JO": {
+ "name": "Uyordani"
+ },
+ "ZM": {
+ "name": "Uzambia"
+ },
+ "UZ": {
+ "name": "Uzbekistan"
+ },
+ "ZW": {
+ "name": "Uzimbabwe"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "IQ": {
+ "name": "Wiraki"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/mk.json b/vendor/commerceguys/intl/resources/country/mk.json
new file mode 100644
index 000000000..374b019ba
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/mk.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Авганистан"
+ },
+ "AU": {
+ "name": "Австралија"
+ },
+ "AT": {
+ "name": "Австрија"
+ },
+ "AZ": {
+ "name": "Азербејџан"
+ },
+ "AL": {
+ "name": "Албанија"
+ },
+ "DZ": {
+ "name": "Алжир"
+ },
+ "AS": {
+ "name": "Американска Самоа"
+ },
+ "VI": {
+ "name": "Американски Девствени Острови"
+ },
+ "UM": {
+ "name": "Американски територии во Пацификот"
+ },
+ "AI": {
+ "name": "Ангвила"
+ },
+ "AO": {
+ "name": "Ангола"
+ },
+ "AD": {
+ "name": "Андора"
+ },
+ "AQ": {
+ "name": "Антарктик"
+ },
+ "AG": {
+ "name": "Антигва и Барбуда"
+ },
+ "AR": {
+ "name": "Аргентина"
+ },
+ "AW": {
+ "name": "Аруба"
+ },
+ "BD": {
+ "name": "Бангладеш"
+ },
+ "BB": {
+ "name": "Барбадос"
+ },
+ "BS": {
+ "name": "Бахами"
+ },
+ "BH": {
+ "name": "Бахреин"
+ },
+ "BE": {
+ "name": "Белгија"
+ },
+ "BZ": {
+ "name": "Белизе"
+ },
+ "BY": {
+ "name": "Белорусија"
+ },
+ "BJ": {
+ "name": "Бенин"
+ },
+ "BM": {
+ "name": "Бермуди"
+ },
+ "CX": {
+ "name": "Божиќен Остров"
+ },
+ "BO": {
+ "name": "Боливија"
+ },
+ "BA": {
+ "name": "Босна и Херцеговина"
+ },
+ "BW": {
+ "name": "Боцвана"
+ },
+ "BR": {
+ "name": "Бразил"
+ },
+ "CI": {
+ "name": "Брегот на Слоновата Коска"
+ },
+ "IO": {
+ "name": "Британска Индоокеанска Територија"
+ },
+ "VG": {
+ "name": "Британски Девствени Острови"
+ },
+ "BN": {
+ "name": "Брунеј"
+ },
+ "BG": {
+ "name": "Бугарија"
+ },
+ "BF": {
+ "name": "Буркина Фасо"
+ },
+ "BI": {
+ "name": "Бурунди"
+ },
+ "BT": {
+ "name": "Бутан"
+ },
+ "WF": {
+ "name": "Валис и Футуна"
+ },
+ "VU": {
+ "name": "Вануату"
+ },
+ "VA": {
+ "name": "Ватикан"
+ },
+ "VE": {
+ "name": "Венецуела"
+ },
+ "VN": {
+ "name": "Виетнам"
+ },
+ "GA": {
+ "name": "Габон"
+ },
+ "GM": {
+ "name": "Гамбија"
+ },
+ "GH": {
+ "name": "Гана"
+ },
+ "GP": {
+ "name": "Гвадалупе"
+ },
+ "GY": {
+ "name": "Гвајана"
+ },
+ "GT": {
+ "name": "Гватемала"
+ },
+ "GN": {
+ "name": "Гвинеја"
+ },
+ "GW": {
+ "name": "Гвинеја-Бисау"
+ },
+ "DE": {
+ "name": "Германија"
+ },
+ "GG": {
+ "name": "Гернзи"
+ },
+ "GI": {
+ "name": "Гибралтар"
+ },
+ "GD": {
+ "name": "Гренада"
+ },
+ "GL": {
+ "name": "Гренланд"
+ },
+ "GE": {
+ "name": "Грузија"
+ },
+ "GR": {
+ "name": "Грција"
+ },
+ "GU": {
+ "name": "Гуам"
+ },
+ "DK": {
+ "name": "Данска"
+ },
+ "DG": {
+ "name": "Диего Гарсија"
+ },
+ "DM": {
+ "name": "Доминика"
+ },
+ "DO": {
+ "name": "Доминиканска Република"
+ },
+ "EG": {
+ "name": "Египет"
+ },
+ "EC": {
+ "name": "Еквадор"
+ },
+ "GQ": {
+ "name": "Екваторска Гвинеја"
+ },
+ "SV": {
+ "name": "Ел Салвадор"
+ },
+ "ER": {
+ "name": "Еритреја"
+ },
+ "AM": {
+ "name": "Ерменија"
+ },
+ "EE": {
+ "name": "Естонија"
+ },
+ "ET": {
+ "name": "Етиопија"
+ },
+ "ZM": {
+ "name": "Замбија"
+ },
+ "EH": {
+ "name": "Западна Сахара"
+ },
+ "CV": {
+ "name": "Зелен ’Рт"
+ },
+ "ZW": {
+ "name": "Зимбабве"
+ },
+ "IL": {
+ "name": "Израел"
+ },
+ "IN": {
+ "name": "Индија"
+ },
+ "ID": {
+ "name": "Индонезија"
+ },
+ "IQ": {
+ "name": "Ирак"
+ },
+ "IR": {
+ "name": "Иран"
+ },
+ "IE": {
+ "name": "Ирска"
+ },
+ "IS": {
+ "name": "Исланд"
+ },
+ "TL": {
+ "name": "Источен Тимор (Тимор Лесте)"
+ },
+ "IT": {
+ "name": "Италија"
+ },
+ "JM": {
+ "name": "Јамајка"
+ },
+ "JP": {
+ "name": "Јапонија"
+ },
+ "YE": {
+ "name": "Јемен"
+ },
+ "JO": {
+ "name": "Јордан"
+ },
+ "SS": {
+ "name": "Јужен Судан"
+ },
+ "KR": {
+ "name": "Јужна Кореја"
+ },
+ "GS": {
+ "name": "Јужна Џорџија и Јужни Сендвички Острови"
+ },
+ "ZA": {
+ "name": "Јужноафриканска Република"
+ },
+ "KZ": {
+ "name": "Казахстан"
+ },
+ "KY": {
+ "name": "Кајмански Острови"
+ },
+ "KH": {
+ "name": "Камбоџа"
+ },
+ "CM": {
+ "name": "Камерун"
+ },
+ "CA": {
+ "name": "Канада"
+ },
+ "IC": {
+ "name": "Канарски Острови"
+ },
+ "BQ": {
+ "name": "Карипска Холандија"
+ },
+ "QA": {
+ "name": "Катар"
+ },
+ "KE": {
+ "name": "Кенија"
+ },
+ "CN": {
+ "name": "Кина"
+ },
+ "CY": {
+ "name": "Кипар"
+ },
+ "KG": {
+ "name": "Киргистан"
+ },
+ "KI": {
+ "name": "Кирибати"
+ },
+ "CC": {
+ "name": "Кокосови (Килиншки) Острови"
+ },
+ "CO": {
+ "name": "Колумбија"
+ },
+ "KM": {
+ "name": "Коморски Острови"
+ },
+ "CG": {
+ "name": "Конго - Бразавил"
+ },
+ "CD": {
+ "name": "Конго - Киншаса"
+ },
+ "XK": {
+ "name": "Косово"
+ },
+ "CR": {
+ "name": "Костарика"
+ },
+ "CU": {
+ "name": "Куба"
+ },
+ "KW": {
+ "name": "Кувајт"
+ },
+ "CK": {
+ "name": "Кукови Острови"
+ },
+ "CW": {
+ "name": "Курасао"
+ },
+ "LA": {
+ "name": "Лаос"
+ },
+ "LV": {
+ "name": "Латвија"
+ },
+ "LS": {
+ "name": "Лесото"
+ },
+ "LB": {
+ "name": "Либан"
+ },
+ "LR": {
+ "name": "Либерија"
+ },
+ "LY": {
+ "name": "Либија"
+ },
+ "LT": {
+ "name": "Литванија"
+ },
+ "LI": {
+ "name": "Лихтенштајн"
+ },
+ "LU": {
+ "name": "Луксембург"
+ },
+ "MR": {
+ "name": "Мавританија"
+ },
+ "MU": {
+ "name": "Маврициус"
+ },
+ "MG": {
+ "name": "Мадагаскар"
+ },
+ "YT": {
+ "name": "Мајот"
+ },
+ "MO": {
+ "name": "Макао САР"
+ },
+ "MK": {
+ "name": "Македонија"
+ },
+ "MW": {
+ "name": "Малави"
+ },
+ "MV": {
+ "name": "Малдиви"
+ },
+ "MY": {
+ "name": "Малезија"
+ },
+ "ML": {
+ "name": "Мали"
+ },
+ "MT": {
+ "name": "Малта"
+ },
+ "MA": {
+ "name": "Мароко"
+ },
+ "MQ": {
+ "name": "Мартиник"
+ },
+ "MH": {
+ "name": "Маршалски Острови"
+ },
+ "MX": {
+ "name": "Мексико"
+ },
+ "FM": {
+ "name": "Микронезија"
+ },
+ "MM": {
+ "name": "Мјанмар (Бурма)"
+ },
+ "MZ": {
+ "name": "Мозамбик"
+ },
+ "MD": {
+ "name": "Молдавија"
+ },
+ "MC": {
+ "name": "Монако"
+ },
+ "MN": {
+ "name": "Монголија"
+ },
+ "MS": {
+ "name": "Монсерат"
+ },
+ "NA": {
+ "name": "Намибија"
+ },
+ "NR": {
+ "name": "Науру"
+ },
+ "NP": {
+ "name": "Непал"
+ },
+ "NE": {
+ "name": "Нигер"
+ },
+ "NG": {
+ "name": "Нигерија"
+ },
+ "NI": {
+ "name": "Никарагва"
+ },
+ "NU": {
+ "name": "Ниује"
+ },
+ "NZ": {
+ "name": "Нов Зеланд"
+ },
+ "NC": {
+ "name": "Нова Каледонија"
+ },
+ "NO": {
+ "name": "Норвешка"
+ },
+ "NF": {
+ "name": "Норфолшки Остров"
+ },
+ "AE": {
+ "name": "Обединети Арапски Емирати"
+ },
+ "GB": {
+ "name": "Обединето Кралство"
+ },
+ "AX": {
+ "name": "Оландски Острови"
+ },
+ "OM": {
+ "name": "Оман"
+ },
+ "AC": {
+ "name": "Остров Асенсион"
+ },
+ "IM": {
+ "name": "Остров Ман"
+ },
+ "TC": {
+ "name": "Острови Туркс и Каикос"
+ },
+ "PK": {
+ "name": "Пакистан"
+ },
+ "PW": {
+ "name": "Палау"
+ },
+ "PS": {
+ "name": "Палестински територии"
+ },
+ "PA": {
+ "name": "Панама"
+ },
+ "PG": {
+ "name": "Папуа Нова Гвинеја"
+ },
+ "PY": {
+ "name": "Парагвај"
+ },
+ "PE": {
+ "name": "Перу"
+ },
+ "PN": {
+ "name": "Питкернски Острови"
+ },
+ "PL": {
+ "name": "Полска"
+ },
+ "PR": {
+ "name": "Порторико"
+ },
+ "PT": {
+ "name": "Португалија"
+ },
+ "CZ": {
+ "name": "Република Чешка"
+ },
+ "RE": {
+ "name": "Реунион"
+ },
+ "RO": {
+ "name": "Романија"
+ },
+ "RW": {
+ "name": "Руанда"
+ },
+ "RU": {
+ "name": "Русија"
+ },
+ "WS": {
+ "name": "Самоа"
+ },
+ "SM": {
+ "name": "Сан Марино"
+ },
+ "ST": {
+ "name": "Сао Томе и Принсипе"
+ },
+ "SA": {
+ "name": "Саудиска Арабија"
+ },
+ "SZ": {
+ "name": "Свазиленд"
+ },
+ "SJ": {
+ "name": "Свалбард и Жан Мејен"
+ },
+ "SH": {
+ "name": "Света Елена"
+ },
+ "LC": {
+ "name": "Света Луција"
+ },
+ "BL": {
+ "name": "Свети Вартоломеј"
+ },
+ "VC": {
+ "name": "Свети Винсент и Гренадините"
+ },
+ "KN": {
+ "name": "Свети Кристофер и Невис"
+ },
+ "SX": {
+ "name": "Свети Мартин"
+ },
+ "KP": {
+ "name": "Северна Кореја"
+ },
+ "MP": {
+ "name": "Северни Маријански Острови"
+ },
+ "SC": {
+ "name": "Сејшели"
+ },
+ "SN": {
+ "name": "Сенегал"
+ },
+ "MF": {
+ "name": "Сент Мартин"
+ },
+ "PM": {
+ "name": "Сент Пјер и Микелан"
+ },
+ "EA": {
+ "name": "Сеута и Мелиља"
+ },
+ "SL": {
+ "name": "Сиера Леоне"
+ },
+ "SG": {
+ "name": "Сингапур"
+ },
+ "SY": {
+ "name": "Сирија"
+ },
+ "SK": {
+ "name": "Словачка"
+ },
+ "SI": {
+ "name": "Словенија"
+ },
+ "US": {
+ "name": "Соединети Американски Држави"
+ },
+ "SB": {
+ "name": "Соломонски Острови"
+ },
+ "SO": {
+ "name": "Сомалија"
+ },
+ "RS": {
+ "name": "Србија"
+ },
+ "SD": {
+ "name": "Судан"
+ },
+ "SR": {
+ "name": "Суринам"
+ },
+ "TW": {
+ "name": "Тајван"
+ },
+ "TH": {
+ "name": "Тајланд"
+ },
+ "TZ": {
+ "name": "Танзанија"
+ },
+ "TJ": {
+ "name": "Таџикистан"
+ },
+ "TG": {
+ "name": "Того"
+ },
+ "TK": {
+ "name": "Токелау"
+ },
+ "TO": {
+ "name": "Тонга"
+ },
+ "TT": {
+ "name": "Тринидад и Тобаго"
+ },
+ "TA": {
+ "name": "Тристан да Куња"
+ },
+ "TV": {
+ "name": "Тувалу"
+ },
+ "TN": {
+ "name": "Тунис"
+ },
+ "TM": {
+ "name": "Туркменистан"
+ },
+ "TR": {
+ "name": "Турција"
+ },
+ "UG": {
+ "name": "Уганда"
+ },
+ "UZ": {
+ "name": "Узбекистан"
+ },
+ "UA": {
+ "name": "Украина"
+ },
+ "HU": {
+ "name": "Унгарија"
+ },
+ "UY": {
+ "name": "Уругвај"
+ },
+ "FO": {
+ "name": "Фарски Острови"
+ },
+ "PH": {
+ "name": "Филипини"
+ },
+ "FI": {
+ "name": "Финска"
+ },
+ "FJ": {
+ "name": "Фиџи"
+ },
+ "FK": {
+ "name": "Фолкландски Острови"
+ },
+ "FR": {
+ "name": "Франција"
+ },
+ "GF": {
+ "name": "Француска Гвајана"
+ },
+ "PF": {
+ "name": "Француска Полинезија"
+ },
+ "TF": {
+ "name": "Француски Јужни Територии"
+ },
+ "HT": {
+ "name": "Хаити"
+ },
+ "NL": {
+ "name": "Холандија"
+ },
+ "HK": {
+ "name": "Хонг Конг С.А.Р Кина"
+ },
+ "HN": {
+ "name": "Хондурас"
+ },
+ "HR": {
+ "name": "Хрватска"
+ },
+ "CF": {
+ "name": "Централноафриканска Република"
+ },
+ "ME": {
+ "name": "Црна Гора"
+ },
+ "TD": {
+ "name": "Чад"
+ },
+ "CL": {
+ "name": "Чиле"
+ },
+ "JE": {
+ "name": "Џерси"
+ },
+ "DJ": {
+ "name": "Џибути"
+ },
+ "CH": {
+ "name": "Швајцарија"
+ },
+ "SE": {
+ "name": "Шведска"
+ },
+ "ES": {
+ "name": "Шпанија"
+ },
+ "LK": {
+ "name": "Шри Ланка"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/ml.json b/vendor/commerceguys/intl/resources/country/ml.json
new file mode 100644
index 000000000..c539f8e88
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/ml.json
@@ -0,0 +1,761 @@
+{
+ "AQ": {
+ "name": "അൻറാർട്ടിക്ക"
+ },
+ "AD": {
+ "name": "അന്റോറ"
+ },
+ "AF": {
+ "name": "അഫ്‌ഗാനിസ്ഥാൻ"
+ },
+ "US": {
+ "name": "അമേരിക്കൻ ഐക്യനാടുകൾ"
+ },
+ "AS": {
+ "name": "അമേരിക്കൻ സമോവ"
+ },
+ "AO": {
+ "name": "അംഗോള"
+ },
+ "IE": {
+ "name": "അയർലൻഡ്"
+ },
+ "AR": {
+ "name": "അർജൻറീന"
+ },
+ "AM": {
+ "name": "അർമേനിയ"
+ },
+ "AX": {
+ "name": "അലൻഡ് ദ്വീപുകൾ"
+ },
+ "AL": {
+ "name": "അൽബേനിയ"
+ },
+ "AC": {
+ "name": "അസൻഷൻ ദ്വീപ്"
+ },
+ "AZ": {
+ "name": "അസർബൈജാൻ"
+ },
+ "DZ": {
+ "name": "അൾജീരിയ"
+ },
+ "AW": {
+ "name": "അറൂബ"
+ },
+ "AI": {
+ "name": "ആൻഗ്വില്ല"
+ },
+ "AG": {
+ "name": "ആൻറിഗ്വയും ബർബുഡയും"
+ },
+ "EC": {
+ "name": "ഇക്വഡോർ"
+ },
+ "GQ": {
+ "name": "ഇക്വറ്റോറിയൽ ഗിനിയ"
+ },
+ "ID": {
+ "name": "ഇന്തോനേഷ്യ"
+ },
+ "IN": {
+ "name": "ഇന്ത്യ"
+ },
+ "IL": {
+ "name": "ഇസ്രായേൽ"
+ },
+ "IQ": {
+ "name": "ഇറാഖ്"
+ },
+ "IR": {
+ "name": "ഇറാൻ"
+ },
+ "IT": {
+ "name": "ഇറ്റലി"
+ },
+ "EG": {
+ "name": "ഈജിപ്ത്"
+ },
+ "UA": {
+ "name": "ഉക്രെയ്‌ൻ"
+ },
+ "UG": {
+ "name": "ഉഗാണ്ട"
+ },
+ "MP": {
+ "name": "ഉത്തര മറിയാനാ ദ്വീപുകൾ"
+ },
+ "KP": {
+ "name": "ഉത്തരകൊറിയ"
+ },
+ "UZ": {
+ "name": "ഉസ്‌ബെക്കിസ്ഥാൻ"
+ },
+ "UY": {
+ "name": "ഉറുഗ്വേ"
+ },
+ "ET": {
+ "name": "എത്യോപ്യ"
+ },
+ "SV": {
+ "name": "എൽ സാൽവദോർ"
+ },
+ "EE": {
+ "name": "എസ്റ്റോണിയ‍"
+ },
+ "ER": {
+ "name": "എറിത്രിയ"
+ },
+ "IM": {
+ "name": "ഐൽ ഓഫ് മാൻ"
+ },
+ "IS": {
+ "name": "ഐസ്‌ലാന്റ്"
+ },
+ "OM": {
+ "name": "ഒമാൻ"
+ },
+ "AT": {
+ "name": "ഓസ്ട്രിയ"
+ },
+ "AU": {
+ "name": "ഓസ്‌ട്രേലിയ"
+ },
+ "KH": {
+ "name": "കംബോഡിയ"
+ },
+ "BQ": {
+ "name": "കരീബിയൻ നെതർലാൻഡ്സ്"
+ },
+ "KZ": {
+ "name": "കസാഖിസ്ഥാൻ"
+ },
+ "CA": {
+ "name": "കാനഡ"
+ },
+ "IC": {
+ "name": "കാനറി ദ്വീപുകൾ"
+ },
+ "CM": {
+ "name": "കാമറൂൺ"
+ },
+ "KI": {
+ "name": "കിരിബാട്ടി"
+ },
+ "KG": {
+ "name": "കിർഗിസ്ഥാൻ"
+ },
+ "CK": {
+ "name": "കുക്ക് ദ്വീപുകൾ"
+ },
+ "KW": {
+ "name": "കുവൈറ്റ്"
+ },
+ "CW": {
+ "name": "കുറാകാവോ"
+ },
+ "KE": {
+ "name": "കെനിയ"
+ },
+ "CV": {
+ "name": "കേപ്പ് വെർദെ"
+ },
+ "KY": {
+ "name": "കേമാൻ ദ്വീപുകൾ"
+ },
+ "XK": {
+ "name": "കൊസോവൊ"
+ },
+ "CO": {
+ "name": "കൊളംബിയ"
+ },
+ "CC": {
+ "name": "കോക്കസ് (കീലിംഗ്) ദ്വീപുകൾ"
+ },
+ "CI": {
+ "name": "കോട്ട് ഡി വാർ"
+ },
+ "KM": {
+ "name": "കോമൊറോസ്"
+ },
+ "CD": {
+ "name": "കോംഗോ - കിൻഷാസ"
+ },
+ "CG": {
+ "name": "കോംഗോ - ബ്രാസവില്ലി"
+ },
+ "CR": {
+ "name": "കോസ്റ്ററിക്ക"
+ },
+ "CU": {
+ "name": "ക്യൂബ"
+ },
+ "CX": {
+ "name": "ക്രിസ്മസ് ദ്വീപ്"
+ },
+ "HR": {
+ "name": "ക്രൊയേഷ്യ"
+ },
+ "QA": {
+ "name": "ഖത്തർ"
+ },
+ "GY": {
+ "name": "ഗയാന"
+ },
+ "GA": {
+ "name": "ഗാബൺ"
+ },
+ "GM": {
+ "name": "ഗാംബിയ"
+ },
+ "GN": {
+ "name": "ഗിനിയ"
+ },
+ "GW": {
+ "name": "ഗിനിയ-ബിസൗ"
+ },
+ "GG": {
+ "name": "ഗേൺസി"
+ },
+ "GD": {
+ "name": "ഗ്രനേഡ"
+ },
+ "GL": {
+ "name": "ഗ്രീൻലാൻറ്"
+ },
+ "GR": {
+ "name": "ഗ്രീസ്"
+ },
+ "GT": {
+ "name": "ഗ്വാട്ടിമാല"
+ },
+ "GP": {
+ "name": "ഗ്വാഡലൂപ്പ്"
+ },
+ "GU": {
+ "name": "ഗ്വാം"
+ },
+ "GH": {
+ "name": "ഘാന"
+ },
+ "CL": {
+ "name": "ചിലി"
+ },
+ "CZ": {
+ "name": "ചെക്ക് റിപ്പബ്ലിക്"
+ },
+ "CN": {
+ "name": "ചൈന"
+ },
+ "TD": {
+ "name": "ഛാഡ്"
+ },
+ "JP": {
+ "name": "ജപ്പാൻ"
+ },
+ "JM": {
+ "name": "ജമൈക്ക"
+ },
+ "DE": {
+ "name": "ജർമനി"
+ },
+ "GI": {
+ "name": "ജിബ്രാൾട്ടർ"
+ },
+ "JE": {
+ "name": "ജേഴ്സി"
+ },
+ "GE": {
+ "name": "ജോർജ്ജിയ"
+ },
+ "JO": {
+ "name": "ജോർദ്ദാൻ"
+ },
+ "TC": {
+ "name": "ടർക്ക്‌സും കെയ്‌ക്കോ ദ്വീപുകളും"
+ },
+ "TZ": {
+ "name": "ടാൻസാനിയ"
+ },
+ "TN": {
+ "name": "ടുണീഷ്യ"
+ },
+ "TV": {
+ "name": "ടുവാലു"
+ },
+ "TK": {
+ "name": "ടോക്കെലൂ"
+ },
+ "TG": {
+ "name": "ടോഗോ"
+ },
+ "TO": {
+ "name": "ടോംഗ"
+ },
+ "TA": {
+ "name": "ട്രസ്റ്റൻ ഡ കൂന"
+ },
+ "TT": {
+ "name": "ട്രിനിഡാഡും ടുബാഗോയും"
+ },
+ "DG": {
+ "name": "ഡീഗോ ഗ്രാഷ്യ"
+ },
+ "DK": {
+ "name": "ഡെൻമാർക്ക്"
+ },
+ "DM": {
+ "name": "ഡൊമിനിക്ക"
+ },
+ "DO": {
+ "name": "ഡൊമിനിക്കൻ റിപ്പബ്ലിക്"
+ },
+ "TJ": {
+ "name": "താജിക്കിസ്ഥാൻ"
+ },
+ "TH": {
+ "name": "തായ്‌ലാൻഡ്"
+ },
+ "TW": {
+ "name": "തായ്‌വാൻ"
+ },
+ "TL": {
+ "name": "തിമോർ-ലെസ്റ്റെ"
+ },
+ "TR": {
+ "name": "തുർക്കി"
+ },
+ "TM": {
+ "name": "തുർക്ക്മെനിസ്ഥാൻ"
+ },
+ "GS": {
+ "name": "ദക്ഷിണ ജോർജ്ജിയയും ദക്ഷിണ സാൻഡ്‌വിച്ച് ദ്വീപുകളും"
+ },
+ "SS": {
+ "name": "ദക്ഷിണ സുഡാൻ"
+ },
+ "KR": {
+ "name": "ദക്ഷിണകൊറിയ"
+ },
+ "ZA": {
+ "name": "ദക്ഷിണാഫ്രിക്ക"
+ },
+ "DJ": {
+ "name": "ദിജിബൗട്ടി"
+ },
+ "NA": {
+ "name": "നമീബിയ"
+ },
+ "NI": {
+ "name": "നിക്കരാഗ്വ"
+ },
+ "NL": {
+ "name": "നെതർലാൻഡ്‌സ്"
+ },
+ "NP": {
+ "name": "നേപ്പാൾ"
+ },
+ "NE": {
+ "name": "നൈജർ"
+ },
+ "NG": {
+ "name": "നൈജീരിയ"
+ },
+ "NF": {
+ "name": "നോർഫോക് ദ്വീപ്"
+ },
+ "NO": {
+ "name": "നോർവെ"
+ },
+ "NR": {
+ "name": "നൗറു"
+ },
+ "NC": {
+ "name": "ന്യൂ കാലിഡോണിയ"
+ },
+ "NU": {
+ "name": "ന്യൂയി"
+ },
+ "NZ": {
+ "name": "ന്യൂസിലാൻറ്"
+ },
+ "PA": {
+ "name": "പനാമ"
+ },
+ "PY": {
+ "name": "പരാഗ്വേ"
+ },
+ "PW": {
+ "name": "പലാവു"
+ },
+ "EH": {
+ "name": "പശ്ചിമ സഹാറ"
+ },
+ "PK": {
+ "name": "പാക്കിസ്ഥാൻ"
+ },
+ "PG": {
+ "name": "പാപ്പുവ ന്യൂ ഗിനിയ"
+ },
+ "PS": {
+ "name": "പാലസ്‌തീൻ പ്രദേശങ്ങൾ"
+ },
+ "PN": {
+ "name": "പിറ്റ്‌കെയ്‌ൻ ദ്വീപുകൾ"
+ },
+ "PE": {
+ "name": "പെറു"
+ },
+ "PT": {
+ "name": "പോർച്ചുഗൽ"
+ },
+ "PL": {
+ "name": "പോളണ്ട്"
+ },
+ "PR": {
+ "name": "പ്യൂർട്ടോ റിക്കോ"
+ },
+ "FO": {
+ "name": "ഫറോ ദ്വീപുകൾ"
+ },
+ "FK": {
+ "name": "ഫാക്ക്‌ലാന്റ് ദ്വീപുകൾ"
+ },
+ "FJ": {
+ "name": "ഫിജി"
+ },
+ "FI": {
+ "name": "ഫിൻലാൻഡ്"
+ },
+ "PH": {
+ "name": "ഫിലിപ്പീൻസ്"
+ },
+ "GF": {
+ "name": "ഫ്രഞ്ച് ഗയാന"
+ },
+ "TF": {
+ "name": "ഫ്രഞ്ച് ദക്ഷിണ ഭൂപ്രദേശം"
+ },
+ "PF": {
+ "name": "ഫ്രഞ്ച് പോളിനേഷ്യ"
+ },
+ "FR": {
+ "name": "ഫ്രാൻസ്"
+ },
+ "BD": {
+ "name": "ബംഗ്ലാദേശ്"
+ },
+ "BM": {
+ "name": "ബർമുഡ"
+ },
+ "BS": {
+ "name": "ബഹാമാസ്"
+ },
+ "BH": {
+ "name": "ബഹ്റിൻ"
+ },
+ "BG": {
+ "name": "ബൾഗേറിയ"
+ },
+ "BI": {
+ "name": "ബറുണ്ടി"
+ },
+ "BB": {
+ "name": "ബാർബഡോസ്"
+ },
+ "BF": {
+ "name": "ബുർക്കിനാ ഫാസോ"
+ },
+ "BJ": {
+ "name": "ബെനിൻ"
+ },
+ "BY": {
+ "name": "ബെലറൂസ്"
+ },
+ "BZ": {
+ "name": "ബെലീസ്"
+ },
+ "BE": {
+ "name": "ബെൽജിയം"
+ },
+ "BO": {
+ "name": "ബൊളീവിയ"
+ },
+ "BW": {
+ "name": "ബോട്സ്വാന"
+ },
+ "BA": {
+ "name": "ബോസ്നിയയും ഹെർസഗോവിനയും"
+ },
+ "BR": {
+ "name": "ബ്രസീൽ"
+ },
+ "IO": {
+ "name": "ബ്രിട്ടീഷ് ഇന്ത്യൻ മഹാസമുദ്ര പ്രദേശം"
+ },
+ "VG": {
+ "name": "ബ്രിട്ടീഷ് വെർജിൻ ദ്വീപുകൾ"
+ },
+ "BN": {
+ "name": "ബ്രൂണൈ"
+ },
+ "BT": {
+ "name": "ഭൂട്ടാൻ"
+ },
+ "MO": {
+ "name": "മക്കാവു (SAR) ചൈന"
+ },
+ "MG": {
+ "name": "മഡഗാസ്കർ"
+ },
+ "MN": {
+ "name": "മംഗോളിയ"
+ },
+ "YT": {
+ "name": "മയോട്ടി"
+ },
+ "MW": {
+ "name": "മലാവി"
+ },
+ "MY": {
+ "name": "മലേഷ്യ"
+ },
+ "MD": {
+ "name": "മൾഡോവ"
+ },
+ "MQ": {
+ "name": "മാർട്ടിനിക്ക്"
+ },
+ "MH": {
+ "name": "മാർഷൽ‍‍ ദ്വീപുകൾ"
+ },
+ "ML": {
+ "name": "മാലി"
+ },
+ "MV": {
+ "name": "മാലിദ്വീപ്"
+ },
+ "MK": {
+ "name": "മാസിഡോണിയ"
+ },
+ "MT": {
+ "name": "മാൾട്ട"
+ },
+ "MX": {
+ "name": "മെക്സിക്കോ"
+ },
+ "FM": {
+ "name": "മൈക്രോനേഷ്യ"
+ },
+ "MC": {
+ "name": "മൊണാക്കോ"
+ },
+ "MS": {
+ "name": "മൊണ്ടെസരത്ത്"
+ },
+ "MZ": {
+ "name": "മൊസാംബിക്ക്"
+ },
+ "MA": {
+ "name": "മൊറോക്കൊ"
+ },
+ "ME": {
+ "name": "മോണ്ടെനെഗ്രോ"
+ },
+ "MR": {
+ "name": "മൗറിറ്റാനിയ"
+ },
+ "MU": {
+ "name": "മൗറീഷ്യസ്"
+ },
+ "MM": {
+ "name": "മ്യാൻമാർ (ബർമ്മ)"
+ },
+ "UM": {
+ "name": "യു.എസ്. ദ്വീപസമൂഹങ്ങൾ"
+ },
+ "VI": {
+ "name": "യു.എസ്. വെർജിൻ ദ്വീപുകൾ"
+ },
+ "AE": {
+ "name": "യുണൈറ്റഡ് അറബ് എമിറൈറ്റ്‌സ്"
+ },
+ "GB": {
+ "name": "യുണൈറ്റഡ് കിംഗ്ഡം"
+ },
+ "YE": {
+ "name": "യെമൻ"
+ },
+ "LU": {
+ "name": "ലക്സംബർഗ്"
+ },
+ "LA": {
+ "name": "ലാവോസ്"
+ },
+ "LV": {
+ "name": "ലാറ്റ്വിയ"
+ },
+ "LI": {
+ "name": "ലിച്ചൺസ്റ്റൈൻ"
+ },
+ "LT": {
+ "name": "ലിത്വാനിയ"
+ },
+ "LY": {
+ "name": "ലിബിയ"
+ },
+ "LB": {
+ "name": "ലെബനൻ"
+ },
+ "LS": {
+ "name": "ലെസോതോ"
+ },
+ "LR": {
+ "name": "ലൈബീരിയ"
+ },
+ "VA": {
+ "name": "വത്തിക്കാൻ"
+ },
+ "VU": {
+ "name": "വന്വാതു"
+ },
+ "WF": {
+ "name": "വാലിസ് ആന്റ് ഫ്യൂച്യുന"
+ },
+ "VN": {
+ "name": "വിയറ്റ്നാം"
+ },
+ "VE": {
+ "name": "വെനിസ്വേല"
+ },
+ "LK": {
+ "name": "ശ്രീലങ്ക"
+ },
+ "WS": {
+ "name": "സമോവ"
+ },
+ "SM": {
+ "name": "സാൻ മറിനോ"
+ },
+ "ZM": {
+ "name": "സാംബിയ"
+ },
+ "ST": {
+ "name": "സാവോ ടോമും പ്രിൻസിപെയും"
+ },
+ "SX": {
+ "name": "സിന്റ് മാർട്ടെൻ"
+ },
+ "SG": {
+ "name": "സിംഗപ്പുർ"
+ },
+ "ZW": {
+ "name": "സിംബാബ്‌വേ"
+ },
+ "SL": {
+ "name": "സിയെറ ലിയോൺ"
+ },
+ "SY": {
+ "name": "സിറിയ"
+ },
+ "SC": {
+ "name": "സീഷെൽസ്"
+ },
+ "SD": {
+ "name": "സുഡാൻ"
+ },
+ "SR": {
+ "name": "സുരിനാം"
+ },
+ "SN": {
+ "name": "സെനഗൽ"
+ },
+ "CF": {
+ "name": "സെൻട്രൽ ആഫ്രിക്കൻ റിപ്പബ്ലിക്"
+ },
+ "KN": {
+ "name": "സെന്റ് കിറ്റ്‌സും നെവിസും"
+ },
+ "PM": {
+ "name": "സെന്റ് പിയറിയും മിക്കലണും"
+ },
+ "BL": {
+ "name": "സെന്റ് ബാർത്തലമി"
+ },
+ "MF": {
+ "name": "സെൻറ് മാർട്ടിൻ"
+ },
+ "LC": {
+ "name": "സെൻറ് ലൂസിയ"
+ },
+ "VC": {
+ "name": "സെന്റ് വിൻസെന്റും ഗ്രനെഡൈൻസും"
+ },
+ "SH": {
+ "name": "സെൻറ് ഹെലീന"
+ },
+ "EA": {
+ "name": "സെയൂത്ത ആൻഡ് മെലിയ"
+ },
+ "RS": {
+ "name": "സെർബിയ"
+ },
+ "CY": {
+ "name": "സൈപ്രസ്"
+ },
+ "SO": {
+ "name": "സോമാലിയ"
+ },
+ "SB": {
+ "name": "സോളമൻ‍ ദ്വീപുകൾ"
+ },
+ "SA": {
+ "name": "സൗദി അറേബ്യ"
+ },
+ "ES": {
+ "name": "സ്‌പെയിൻ"
+ },
+ "SK": {
+ "name": "സ്ലോവാക്യ"
+ },
+ "SI": {
+ "name": "സ്ലോവേനിയ"
+ },
+ "SJ": {
+ "name": "സ്വാൽബാഡും ജാൻ മായേനും"
+ },
+ "SZ": {
+ "name": "സ്വാസിലാൻറ്"
+ },
+ "CH": {
+ "name": "സ്വിറ്റ്സർലാൻഡ്"
+ },
+ "SE": {
+ "name": "സ്വീഡൻ"
+ },
+ "HU": {
+ "name": "ഹംഗറി"
+ },
+ "HT": {
+ "name": "ഹെയ്തി"
+ },
+ "HK": {
+ "name": "ഹോങ്കോങ്ങ് (SAR) ചൈന"
+ },
+ "HN": {
+ "name": "ഹോണ്ടുറാസ്"
+ },
+ "RU": {
+ "name": "റഷ്യ"
+ },
+ "RE": {
+ "name": "റീയൂണിയൻ"
+ },
+ "RW": {
+ "name": "റുവാണ്ട"
+ },
+ "RO": {
+ "name": "റൊമാനിയ"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/mn.json b/vendor/commerceguys/intl/resources/country/mn.json
new file mode 100644
index 000000000..33688638c
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/mn.json
@@ -0,0 +1,761 @@
+{
+ "AU": {
+ "name": "Австрали"
+ },
+ "AT": {
+ "name": "Австри"
+ },
+ "AZ": {
+ "name": "Азербайжан"
+ },
+ "AX": {
+ "name": "Аландын Арлууд"
+ },
+ "AL": {
+ "name": "Албани"
+ },
+ "DZ": {
+ "name": "Алжир"
+ },
+ "US": {
+ "name": "Америкийн Нэгдсэн Улс"
+ },
+ "AS": {
+ "name": "Америкийн Самоа"
+ },
+ "AI": {
+ "name": "Ангила"
+ },
+ "AO": {
+ "name": "Ангол"
+ },
+ "AD": {
+ "name": "Андорра"
+ },
+ "AQ": {
+ "name": "Антарктик"
+ },
+ "AG": {
+ "name": "Антигуа ба Барбуда"
+ },
+ "VI": {
+ "name": "АНУ-ын Виржиний Арлууд"
+ },
+ "UM": {
+ "name": "АНУ-ын тойрсон арлууд"
+ },
+ "AE": {
+ "name": "Арабын Нэгдсэн Эмират"
+ },
+ "AR": {
+ "name": "Аргентин"
+ },
+ "AM": {
+ "name": "Армени"
+ },
+ "AW": {
+ "name": "Аруба"
+ },
+ "AC": {
+ "name": "Аскенсион арал"
+ },
+ "AF": {
+ "name": "Афганистан"
+ },
+ "BS": {
+ "name": "Багам"
+ },
+ "NP": {
+ "name": "Балба"
+ },
+ "BD": {
+ "name": "Бангладеш"
+ },
+ "BB": {
+ "name": "Барбадос"
+ },
+ "EH": {
+ "name": "Баруун Сахар"
+ },
+ "BH": {
+ "name": "Бахрейн"
+ },
+ "BY": {
+ "name": "Беларусь"
+ },
+ "BE": {
+ "name": "Белги"
+ },
+ "BZ": {
+ "name": "Белиз"
+ },
+ "BJ": {
+ "name": "Бенин"
+ },
+ "BM": {
+ "name": "Бермуд"
+ },
+ "MO": {
+ "name": "БНХАУ-ын Тусгай захиргааны бүс Макао"
+ },
+ "HK": {
+ "name": "БНХАУ-ын Тусгай захиргааны бүс Хонг Конг"
+ },
+ "BG": {
+ "name": "Болгар"
+ },
+ "BO": {
+ "name": "Боливи"
+ },
+ "BA": {
+ "name": "Босни Герцеговин"
+ },
+ "BW": {
+ "name": "Ботсвана"
+ },
+ "BR": {
+ "name": "Бразил"
+ },
+ "VG": {
+ "name": "Британийн Виржиний Арлууд"
+ },
+ "IO": {
+ "name": "Британийн харьяа Энэтхэгийн далай дахь нутаг дэвсгэрүүд"
+ },
+ "BN": {
+ "name": "Бруней"
+ },
+ "BF": {
+ "name": "Буркина фасо"
+ },
+ "BI": {
+ "name": "Бурунди"
+ },
+ "BT": {
+ "name": "Бутан"
+ },
+ "DO": {
+ "name": "Бүгд Найрамдах Доминикан Улс"
+ },
+ "CZ": {
+ "name": "Бүгд Найрамдах Чех Улс"
+ },
+ "VU": {
+ "name": "Вануату"
+ },
+ "VA": {
+ "name": "Ватикан хот улс"
+ },
+ "VE": {
+ "name": "Венесуэл"
+ },
+ "VN": {
+ "name": "Вьетнам"
+ },
+ "GA": {
+ "name": "Габон"
+ },
+ "HT": {
+ "name": "Гаити"
+ },
+ "GY": {
+ "name": "Гайана"
+ },
+ "GM": {
+ "name": "Гамби"
+ },
+ "GH": {
+ "name": "Гана"
+ },
+ "GP": {
+ "name": "Гваделуп"
+ },
+ "GT": {
+ "name": "Гватемал"
+ },
+ "GN": {
+ "name": "Гвиней"
+ },
+ "GW": {
+ "name": "Гвиней-Бисау"
+ },
+ "DE": {
+ "name": "Герман"
+ },
+ "GG": {
+ "name": "Гернси"
+ },
+ "GI": {
+ "name": "Гибралтар"
+ },
+ "HN": {
+ "name": "Гондурас"
+ },
+ "GR": {
+ "name": "Грек"
+ },
+ "GD": {
+ "name": "Гренада"
+ },
+ "GL": {
+ "name": "Гренланд"
+ },
+ "GU": {
+ "name": "Гуам"
+ },
+ "GE": {
+ "name": "Гүрж"
+ },
+ "DK": {
+ "name": "Дани"
+ },
+ "DJ": {
+ "name": "Джибути"
+ },
+ "DG": {
+ "name": "Диего Гарсиа"
+ },
+ "DM": {
+ "name": "Доминик"
+ },
+ "EG": {
+ "name": "Египет"
+ },
+ "JE": {
+ "name": "Жерси"
+ },
+ "ZM": {
+ "name": "Замби"
+ },
+ "ZW": {
+ "name": "Зимбабве"
+ },
+ "CX": {
+ "name": "Зул сарын арал"
+ },
+ "IL": {
+ "name": "Израиль"
+ },
+ "ID": {
+ "name": "Индонези"
+ },
+ "IQ": {
+ "name": "Ирак"
+ },
+ "IR": {
+ "name": "Иран"
+ },
+ "IE": {
+ "name": "Ирланд"
+ },
+ "IS": {
+ "name": "Исланд"
+ },
+ "ES": {
+ "name": "Испани"
+ },
+ "IT": {
+ "name": "Итали"
+ },
+ "GB": {
+ "name": "Их Британи"
+ },
+ "YE": {
+ "name": "Йемен"
+ },
+ "JO": {
+ "name": "Йордан"
+ },
+ "KZ": {
+ "name": "Казахстан"
+ },
+ "KY": {
+ "name": "Кайманы Арлууд"
+ },
+ "KH": {
+ "name": "Камбож"
+ },
+ "CM": {
+ "name": "Камерун"
+ },
+ "CA": {
+ "name": "Канад"
+ },
+ "IC": {
+ "name": "Канарын арлууд"
+ },
+ "CV": {
+ "name": "Капе Верде"
+ },
+ "BQ": {
+ "name": "Карибын Нидерланд"
+ },
+ "QA": {
+ "name": "Катар"
+ },
+ "KE": {
+ "name": "Кени"
+ },
+ "CY": {
+ "name": "Кипр"
+ },
+ "KI": {
+ "name": "Кирибати"
+ },
+ "CC": {
+ "name": "Кокос (Кийлинг) арлууд"
+ },
+ "CO": {
+ "name": "Колумб"
+ },
+ "KM": {
+ "name": "Коморос"
+ },
+ "CG": {
+ "name": "Конго Браззавиль"
+ },
+ "CD": {
+ "name": "Конго-Киншаса"
+ },
+ "XK": {
+ "name": "Косово"
+ },
+ "CR": {
+ "name": "Коста Рика"
+ },
+ "CI": {
+ "name": "Кот д’Ивуар"
+ },
+ "CU": {
+ "name": "Куба"
+ },
+ "KW": {
+ "name": "Кувейт"
+ },
+ "CW": {
+ "name": "Куракао"
+ },
+ "CK": {
+ "name": "Күүкийн арлууд"
+ },
+ "KG": {
+ "name": "Кыргызстан"
+ },
+ "LA": {
+ "name": "Лаос"
+ },
+ "LV": {
+ "name": "Латви"
+ },
+ "LS": {
+ "name": "Лесото"
+ },
+ "LR": {
+ "name": "Либери"
+ },
+ "LB": {
+ "name": "Ливан"
+ },
+ "LY": {
+ "name": "Ливи"
+ },
+ "LT": {
+ "name": "Литва"
+ },
+ "LI": {
+ "name": "Лихтенштейн"
+ },
+ "LU": {
+ "name": "Люксембург"
+ },
+ "MR": {
+ "name": "Мавритани"
+ },
+ "MU": {
+ "name": "Мавритус"
+ },
+ "MG": {
+ "name": "Мадагаскар"
+ },
+ "YT": {
+ "name": "Майотте"
+ },
+ "MK": {
+ "name": "Македон"
+ },
+ "MW": {
+ "name": "Малави"
+ },
+ "MY": {
+ "name": "Малайз"
+ },
+ "ML": {
+ "name": "Мали"
+ },
+ "MV": {
+ "name": "Мальдив"
+ },
+ "MT": {
+ "name": "Мальта"
+ },
+ "MA": {
+ "name": "Марокко"
+ },
+ "MQ": {
+ "name": "Мартиник"
+ },
+ "MH": {
+ "name": "Маршаллын арлууд"
+ },
+ "MX": {
+ "name": "Мексик"
+ },
+ "FM": {
+ "name": "Микронези"
+ },
+ "MZ": {
+ "name": "Мозамбик"
+ },
+ "MD": {
+ "name": "Молдав"
+ },
+ "MC": {
+ "name": "Монако"
+ },
+ "MN": {
+ "name": "Монгол"
+ },
+ "ME": {
+ "name": "Монтенегро"
+ },
+ "MS": {
+ "name": "Монтсеррат"
+ },
+ "MM": {
+ "name": "Мьянмар (Бурма)"
+ },
+ "IM": {
+ "name": "Мэн Арал"
+ },
+ "NA": {
+ "name": "Намиби"
+ },
+ "NR": {
+ "name": "Науру"
+ },
+ "NE": {
+ "name": "Нигер"
+ },
+ "NG": {
+ "name": "Нигери"
+ },
+ "NL": {
+ "name": "Нидерланд"
+ },
+ "NI": {
+ "name": "Никарагуа"
+ },
+ "NU": {
+ "name": "Ниуэ"
+ },
+ "NO": {
+ "name": "Норвеги"
+ },
+ "NF": {
+ "name": "Норфолк арлууд"
+ },
+ "OM": {
+ "name": "Оман"
+ },
+ "RU": {
+ "name": "Орос"
+ },
+ "ZA": {
+ "name": "Өмнөд Африк тив"
+ },
+ "GS": {
+ "name": "Өмнөд Жоржиа ба Өмнөд Сэндвичийн Арлууд"
+ },
+ "KR": {
+ "name": "Өмнөд Солонгос"
+ },
+ "SS": {
+ "name": "Өмнөд Судан"
+ },
+ "PK": {
+ "name": "Пакистан"
+ },
+ "PW": {
+ "name": "Палау"
+ },
+ "PS": {
+ "name": "Палестины нутаг дэвсгэрүүд"
+ },
+ "PA": {
+ "name": "Панам"
+ },
+ "PG": {
+ "name": "Папуа Шинэ Гвиней"
+ },
+ "PY": {
+ "name": "Парагвай"
+ },
+ "PE": {
+ "name": "Перу"
+ },
+ "PN": {
+ "name": "Питкэрн арлууд"
+ },
+ "PL": {
+ "name": "Польш"
+ },
+ "PT": {
+ "name": "Португаль"
+ },
+ "PR": {
+ "name": "Пуэрто Рико"
+ },
+ "RE": {
+ "name": "Реюньон"
+ },
+ "RW": {
+ "name": "Руанда"
+ },
+ "RO": {
+ "name": "Румын"
+ },
+ "WS": {
+ "name": "Самоа"
+ },
+ "SM": {
+ "name": "Сан-Марино"
+ },
+ "ST": {
+ "name": "Сан-Томе ба Принсипи"
+ },
+ "SA": {
+ "name": "Саудын Араб"
+ },
+ "SZ": {
+ "name": "Свазиланд"
+ },
+ "SJ": {
+ "name": "Свалбард ба Ян Майен"
+ },
+ "SC": {
+ "name": "Сейшел"
+ },
+ "SN": {
+ "name": "Сенегал"
+ },
+ "BL": {
+ "name": "Сент Бартельми"
+ },
+ "LC": {
+ "name": "Сент Люсиа"
+ },
+ "SH": {
+ "name": "Сент Хелена"
+ },
+ "KN": {
+ "name": "Сент-Киттс ба Невис"
+ },
+ "MF": {
+ "name": "Сент-Мартин"
+ },
+ "RS": {
+ "name": "Серби"
+ },
+ "EA": {
+ "name": "Сеута ба Мелилья"
+ },
+ "SG": {
+ "name": "Сингапур"
+ },
+ "SX": {
+ "name": "Синт Мартен"
+ },
+ "SY": {
+ "name": "Сири"
+ },
+ "SK": {
+ "name": "Словак"
+ },
+ "SI": {
+ "name": "Словени"
+ },
+ "SB": {
+ "name": "Соломоны Арлууд"
+ },
+ "SO": {
+ "name": "Сомали"
+ },
+ "SD": {
+ "name": "Судан"
+ },
+ "SR": {
+ "name": "Суринам"
+ },
+ "SL": {
+ "name": "Сьерра-Леоне"
+ },
+ "VC": {
+ "name": "Сэнт Винсэнт ба Гренадин"
+ },
+ "PM": {
+ "name": "Сэнт Пьер ба Микелон"
+ },
+ "TJ": {
+ "name": "Тажикистан"
+ },
+ "TW": {
+ "name": "Тайвань"
+ },
+ "TH": {
+ "name": "Тайланд"
+ },
+ "TZ": {
+ "name": "Танзани"
+ },
+ "TL": {
+ "name": "Тимор-Лесте"
+ },
+ "TG": {
+ "name": "Того"
+ },
+ "TK": {
+ "name": "Токелау"
+ },
+ "TO": {
+ "name": "Тонга"
+ },
+ "CF": {
+ "name": "Төв Африкийн Бүгд Найрамдах Улс"
+ },
+ "TT": {
+ "name": "Тринидад Тобаго"
+ },
+ "TA": {
+ "name": "Тристан да Кунья"
+ },
+ "TV": {
+ "name": "Тувалу"
+ },
+ "TN": {
+ "name": "Тунис"
+ },
+ "TR": {
+ "name": "Турк"
+ },
+ "TC": {
+ "name": "Турк ба Кайкосын Арлууд"
+ },
+ "TM": {
+ "name": "Туркменистан"
+ },
+ "UG": {
+ "name": "Уганда"
+ },
+ "UZ": {
+ "name": "Узбекистан"
+ },
+ "UA": {
+ "name": "Украин"
+ },
+ "HU": {
+ "name": "Унгар"
+ },
+ "WF": {
+ "name": "Уоллис ба Футуна"
+ },
+ "UY": {
+ "name": "Уругвай"
+ },
+ "FO": {
+ "name": "Фароэ Арлууд"
+ },
+ "FJ": {
+ "name": "Фижи"
+ },
+ "PH": {
+ "name": "Филиппин"
+ },
+ "FI": {
+ "name": "Финланд"
+ },
+ "FK": {
+ "name": "Фолькландын Арлууд"
+ },
+ "FR": {
+ "name": "Франц"
+ },
+ "GF": {
+ "name": "Францын Гайана"
+ },
+ "TF": {
+ "name": "Францын өмнөд газар нутаг"
+ },
+ "PF": {
+ "name": "Францын Полинез"
+ },
+ "MP": {
+ "name": "Хойд Марианы арлууд"
+ },
+ "KP": {
+ "name": "Хойд Солонгос"
+ },
+ "HR": {
+ "name": "Хорват"
+ },
+ "CN": {
+ "name": "Хятад"
+ },
+ "TD": {
+ "name": "Чад"
+ },
+ "CL": {
+ "name": "Чили"
+ },
+ "SE": {
+ "name": "Швед"
+ },
+ "CH": {
+ "name": "Швейцари"
+ },
+ "NZ": {
+ "name": "Шинэ Зеланд"
+ },
+ "NC": {
+ "name": "Шинэ Каледони"
+ },
+ "LK": {
+ "name": "Шри Ланка"
+ },
+ "EC": {
+ "name": "Эквадор"
+ },
+ "GQ": {
+ "name": "Экваторын Гвиней"
+ },
+ "SV": {
+ "name": "Эль Сальвадор"
+ },
+ "IN": {
+ "name": "Энэтхэг"
+ },
+ "ER": {
+ "name": "Эритри"
+ },
+ "EE": {
+ "name": "Эстони"
+ },
+ "ET": {
+ "name": "Этиоп"
+ },
+ "JM": {
+ "name": "Ямайк"
+ },
+ "JP": {
+ "name": "Япон"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/mr.json b/vendor/commerceguys/intl/resources/country/mr.json
new file mode 100644
index 000000000..9910a9428
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/mr.json
@@ -0,0 +1,761 @@
+{
+ "AO": {
+ "name": "अंगोला"
+ },
+ "AI": {
+ "name": "अँग्विला"
+ },
+ "AQ": {
+ "name": "अंटार्क्टिका"
+ },
+ "AG": {
+ "name": "अँटिग्वा आणि बर्बुडा"
+ },
+ "AD": {
+ "name": "अँडोरा"
+ },
+ "AZ": {
+ "name": "अझरबैजान"
+ },
+ "AF": {
+ "name": "अफगाणिस्तान"
+ },
+ "AS": {
+ "name": "अमेरिकन सामोआ"
+ },
+ "AW": {
+ "name": "अरुबा"
+ },
+ "AR": {
+ "name": "अर्जेंटिना"
+ },
+ "AM": {
+ "name": "अर्मेनिया"
+ },
+ "SV": {
+ "name": "अल साल्वाडोर"
+ },
+ "DZ": {
+ "name": "अल्जीरिया"
+ },
+ "AL": {
+ "name": "अल्बानिया"
+ },
+ "AX": {
+ "name": "अ‍ॅलँड बेटे"
+ },
+ "AC": {
+ "name": "अ‍ॅसेन्शियन बेट"
+ },
+ "IS": {
+ "name": "आइसलँड"
+ },
+ "IE": {
+ "name": "आयर्लंड"
+ },
+ "IM": {
+ "name": "आयल ऑफ मॅन"
+ },
+ "CI": {
+ "name": "आयव्हरी कोस्ट"
+ },
+ "ID": {
+ "name": "इंडोनेशिया"
+ },
+ "EC": {
+ "name": "इक्वाडोर"
+ },
+ "GQ": {
+ "name": "इक्वेटोरियल गिनी"
+ },
+ "EG": {
+ "name": "इजिप्त"
+ },
+ "IT": {
+ "name": "इटली"
+ },
+ "ET": {
+ "name": "इथिओपिया"
+ },
+ "IQ": {
+ "name": "इराक"
+ },
+ "IR": {
+ "name": "इराण"
+ },
+ "IL": {
+ "name": "इस्त्राइल"
+ },
+ "UZ": {
+ "name": "उझबेकिस्तान"
+ },
+ "KP": {
+ "name": "उत्तर कोरिया"
+ },
+ "MP": {
+ "name": "उत्तरी मारियाना बेटे"
+ },
+ "UY": {
+ "name": "उरुग्वे"
+ },
+ "ER": {
+ "name": "एरिट्रिया"
+ },
+ "EE": {
+ "name": "एस्टोनिया"
+ },
+ "AT": {
+ "name": "ऑस्ट्रिया"
+ },
+ "AU": {
+ "name": "ऑस्ट्रेलिया"
+ },
+ "OM": {
+ "name": "ओमान"
+ },
+ "KH": {
+ "name": "कंबोडिया"
+ },
+ "KZ": {
+ "name": "कझाकस्तान"
+ },
+ "QA": {
+ "name": "कतार"
+ },
+ "CD": {
+ "name": "काँगो - किंशासा"
+ },
+ "CG": {
+ "name": "काँगो - ब्राझाविले"
+ },
+ "KG": {
+ "name": "किरगिझस्तान"
+ },
+ "KI": {
+ "name": "किरीबाटी"
+ },
+ "CK": {
+ "name": "कुक बेटे"
+ },
+ "KW": {
+ "name": "कुवेत"
+ },
+ "CA": {
+ "name": "कॅनडा"
+ },
+ "IC": {
+ "name": "कॅनरी बेटे"
+ },
+ "CM": {
+ "name": "कॅमेरून"
+ },
+ "BQ": {
+ "name": "कॅरिबियन नेदरलँड्स"
+ },
+ "CF": {
+ "name": "केंद्रीय अफ्रिकी प्रजासत्ताक"
+ },
+ "KE": {
+ "name": "केनिया"
+ },
+ "CV": {
+ "name": "केप व्हर्डे"
+ },
+ "KY": {
+ "name": "केमन बेटे"
+ },
+ "CC": {
+ "name": "कोकोस (कीलिंग) बेटे"
+ },
+ "KM": {
+ "name": "कोमोरोज"
+ },
+ "CO": {
+ "name": "कोलम्बिया"
+ },
+ "XK": {
+ "name": "कोसोव्हो"
+ },
+ "CR": {
+ "name": "कोस्टा रिका"
+ },
+ "CW": {
+ "name": "क्युरासाओ"
+ },
+ "CU": {
+ "name": "क्यूबा"
+ },
+ "HR": {
+ "name": "क्रोएशिया"
+ },
+ "CX": {
+ "name": "ख्रिसमस बेट"
+ },
+ "GY": {
+ "name": "गयाना"
+ },
+ "GM": {
+ "name": "गाम्बिया"
+ },
+ "GN": {
+ "name": "गिनी"
+ },
+ "GW": {
+ "name": "गिनी-बिसाउ"
+ },
+ "GU": {
+ "name": "गुआम"
+ },
+ "GA": {
+ "name": "गॅबॉन"
+ },
+ "GL": {
+ "name": "ग्रीनलंड"
+ },
+ "GR": {
+ "name": "ग्रीस"
+ },
+ "GD": {
+ "name": "ग्रेनेडा"
+ },
+ "GT": {
+ "name": "ग्वाटेमाला"
+ },
+ "GP": {
+ "name": "ग्वाडेलोउपे"
+ },
+ "GG": {
+ "name": "ग्वेर्नसे"
+ },
+ "GH": {
+ "name": "घाना"
+ },
+ "TD": {
+ "name": "चाड"
+ },
+ "CL": {
+ "name": "चिली"
+ },
+ "CN": {
+ "name": "चीन"
+ },
+ "JP": {
+ "name": "जपान"
+ },
+ "JM": {
+ "name": "जमैका"
+ },
+ "DE": {
+ "name": "जर्मनी"
+ },
+ "JE": {
+ "name": "जर्सी"
+ },
+ "DJ": {
+ "name": "जिबौटी"
+ },
+ "GI": {
+ "name": "जिब्राल्टर"
+ },
+ "GE": {
+ "name": "जॉर्जिया"
+ },
+ "JO": {
+ "name": "जॉर्डन"
+ },
+ "ZM": {
+ "name": "झाम्बिया"
+ },
+ "ZW": {
+ "name": "झिम्बाब्वे"
+ },
+ "CZ": {
+ "name": "झेक प्रजासत्ताक"
+ },
+ "TC": {
+ "name": "टर्क्स आणि कैकोस बेटे"
+ },
+ "TZ": {
+ "name": "टांझानिया"
+ },
+ "TV": {
+ "name": "टुवालु"
+ },
+ "TO": {
+ "name": "टोंगा"
+ },
+ "TG": {
+ "name": "टोगो"
+ },
+ "TN": {
+ "name": "ट्यूनिशिया"
+ },
+ "TA": {
+ "name": "ट्रिस्टन दा कुन्हा"
+ },
+ "DK": {
+ "name": "डेन्मार्क"
+ },
+ "DO": {
+ "name": "डोमिनिकन प्रजासत्ताक"
+ },
+ "DM": {
+ "name": "डोमिनिका"
+ },
+ "TJ": {
+ "name": "ताजिकिस्तान"
+ },
+ "TL": {
+ "name": "तिमोर-लेस्ते"
+ },
+ "TM": {
+ "name": "तुर्कमेनिस्तान"
+ },
+ "TR": {
+ "name": "तुर्की"
+ },
+ "TW": {
+ "name": "तैवान"
+ },
+ "TK": {
+ "name": "तोकेलाउ"
+ },
+ "TT": {
+ "name": "त्रिनिदाद आणि टोबॅगो"
+ },
+ "TH": {
+ "name": "थायलंड"
+ },
+ "ZA": {
+ "name": "दक्षिण आफ्रिका"
+ },
+ "KR": {
+ "name": "दक्षिण कोरिया"
+ },
+ "GS": {
+ "name": "दक्षिण जॉर्जिया आणि दक्षिण सँडविच बेटे"
+ },
+ "SS": {
+ "name": "दक्षिण सुदान"
+ },
+ "DG": {
+ "name": "दिएगो गार्सिया"
+ },
+ "NE": {
+ "name": "नाइजर"
+ },
+ "NR": {
+ "name": "नाउरू"
+ },
+ "NA": {
+ "name": "नामिबिया"
+ },
+ "NG": {
+ "name": "नायजेरिया"
+ },
+ "NI": {
+ "name": "निकाराग्वा"
+ },
+ "NU": {
+ "name": "नीयू"
+ },
+ "NL": {
+ "name": "नेदरलँड"
+ },
+ "NP": {
+ "name": "नेपाळ"
+ },
+ "NF": {
+ "name": "नॉरफॉक बेट"
+ },
+ "NO": {
+ "name": "नॉर्वे"
+ },
+ "NC": {
+ "name": "न्यू कॅलेडोनिया"
+ },
+ "NZ": {
+ "name": "न्यूझीलंड"
+ },
+ "PA": {
+ "name": "पनामा"
+ },
+ "PY": {
+ "name": "पराग्वे"
+ },
+ "PW": {
+ "name": "पलाऊ"
+ },
+ "EH": {
+ "name": "पश्चिम सहारा"
+ },
+ "PK": {
+ "name": "पाकिस्तान"
+ },
+ "PG": {
+ "name": "पापुआ न्यू गिनी"
+ },
+ "PN": {
+ "name": "पिटकैर्न बेटे"
+ },
+ "PS": {
+ "name": "पॅलेस्टिनियन प्रदेश"
+ },
+ "PE": {
+ "name": "पेरू"
+ },
+ "PT": {
+ "name": "पोर्तुगाल"
+ },
+ "PL": {
+ "name": "पोलंड"
+ },
+ "PR": {
+ "name": "प्युएर्तो रिको"
+ },
+ "FJ": {
+ "name": "फिजी"
+ },
+ "FI": {
+ "name": "फिनलंड"
+ },
+ "PH": {
+ "name": "फिलिपिन्स"
+ },
+ "FO": {
+ "name": "फेरो बेटे"
+ },
+ "FK": {
+ "name": "फॉकलंड बेटे"
+ },
+ "FR": {
+ "name": "फ्रान्स"
+ },
+ "GF": {
+ "name": "फ्रेंच गयाना"
+ },
+ "TF": {
+ "name": "फ्रेंच दाक्षिणात्य प्रदेश"
+ },
+ "PF": {
+ "name": "फ्रेंच पॉलिनेशिया"
+ },
+ "BM": {
+ "name": "बर्मुडा"
+ },
+ "BZ": {
+ "name": "बलिझ"
+ },
+ "BG": {
+ "name": "बल्गेरिया"
+ },
+ "BS": {
+ "name": "बहामाज"
+ },
+ "BH": {
+ "name": "बहारीन"
+ },
+ "BD": {
+ "name": "बांगलादेश"
+ },
+ "BB": {
+ "name": "बार्बाडोस"
+ },
+ "BI": {
+ "name": "बुरुंडी"
+ },
+ "BF": {
+ "name": "बुर्किना फासो"
+ },
+ "BJ": {
+ "name": "बेनिन"
+ },
+ "BY": {
+ "name": "बेलारूस"
+ },
+ "BE": {
+ "name": "बेल्जियम"
+ },
+ "BW": {
+ "name": "बोट्सवाना"
+ },
+ "BO": {
+ "name": "बोलिव्हिया"
+ },
+ "BA": {
+ "name": "बोस्निया अणि हर्जेगोविना"
+ },
+ "BR": {
+ "name": "ब्राझिल"
+ },
+ "VG": {
+ "name": "ब्रिटिश व्हर्जिन बेटे"
+ },
+ "IO": {
+ "name": "ब्रिटिश हिंदी महासागर क्षेत्र"
+ },
+ "BN": {
+ "name": "ब्रुनेई"
+ },
+ "IN": {
+ "name": "भारत"
+ },
+ "BT": {
+ "name": "भूतान"
+ },
+ "MN": {
+ "name": "मंगोलिया"
+ },
+ "MO": {
+ "name": "मकाओ एसएआर चीन"
+ },
+ "MW": {
+ "name": "मलावी"
+ },
+ "MY": {
+ "name": "मलेशिया"
+ },
+ "MG": {
+ "name": "मादागास्कर"
+ },
+ "FM": {
+ "name": "मायक्रोनेशिया"
+ },
+ "YT": {
+ "name": "मायोट्टे"
+ },
+ "MQ": {
+ "name": "मार्टिनिक"
+ },
+ "MH": {
+ "name": "मार्शल बेटे"
+ },
+ "MV": {
+ "name": "मालदीव"
+ },
+ "ML": {
+ "name": "माली"
+ },
+ "MT": {
+ "name": "माल्टा"
+ },
+ "MK": {
+ "name": "मॅसेडोनिया"
+ },
+ "MX": {
+ "name": "मेक्सिको"
+ },
+ "MS": {
+ "name": "मॉन्ट्सेराट"
+ },
+ "MR": {
+ "name": "मॉरिटानिया"
+ },
+ "MU": {
+ "name": "मॉरिशस"
+ },
+ "ME": {
+ "name": "मोंटेनेग्रो"
+ },
+ "MZ": {
+ "name": "मोझाम्बिक"
+ },
+ "MC": {
+ "name": "मोनॅको"
+ },
+ "MA": {
+ "name": "मोरोक्को"
+ },
+ "MD": {
+ "name": "मोल्डोव्हा"
+ },
+ "MM": {
+ "name": "म्यानमार (बर्मा)"
+ },
+ "UA": {
+ "name": "युक्रेन"
+ },
+ "UG": {
+ "name": "युगांडा"
+ },
+ "GB": {
+ "name": "युनायटेड किंगडम"
+ },
+ "US": {
+ "name": "युनायटेड स्टेट्स"
+ },
+ "UM": {
+ "name": "यू.एस. आउटलाइंग बेटे"
+ },
+ "VI": {
+ "name": "यू.एस. व्हर्जिन बेटे"
+ },
+ "YE": {
+ "name": "येमेन"
+ },
+ "RW": {
+ "name": "रवांडा"
+ },
+ "RU": {
+ "name": "रशिया"
+ },
+ "RE": {
+ "name": "रियुनियन"
+ },
+ "RO": {
+ "name": "रोमानिया"
+ },
+ "LU": {
+ "name": "लक्झेंबर्ग"
+ },
+ "LA": {
+ "name": "लाओस"
+ },
+ "LV": {
+ "name": "लात्विया"
+ },
+ "LR": {
+ "name": "लायबेरिया"
+ },
+ "LI": {
+ "name": "लिक्टेनस्टाइन"
+ },
+ "LT": {
+ "name": "लिथुआनिया"
+ },
+ "LY": {
+ "name": "लिबिया"
+ },
+ "LB": {
+ "name": "लेबनॉन"
+ },
+ "LS": {
+ "name": "लेसोथो"
+ },
+ "VU": {
+ "name": "वानुआतु"
+ },
+ "WF": {
+ "name": "वालिस आणि फ्यूचूना"
+ },
+ "VN": {
+ "name": "व्हिएतनाम"
+ },
+ "VA": {
+ "name": "व्हॅटिकन सिटी"
+ },
+ "VE": {
+ "name": "व्हेनेझुएला"
+ },
+ "LK": {
+ "name": "श्रीलंका"
+ },
+ "AE": {
+ "name": "संयुक्त अरब अमीरात"
+ },
+ "RS": {
+ "name": "सर्बिया"
+ },
+ "ST": {
+ "name": "साओ टोम आणि प्रिंसिपे"
+ },
+ "WS": {
+ "name": "सामोआ"
+ },
+ "CY": {
+ "name": "सायप्रस"
+ },
+ "SG": {
+ "name": "सिंगापूर"
+ },
+ "SX": {
+ "name": "सिंट मार्टेन"
+ },
+ "SL": {
+ "name": "सिएरा लिओन"
+ },
+ "SY": {
+ "name": "सीरिया"
+ },
+ "SD": {
+ "name": "सुदान"
+ },
+ "SR": {
+ "name": "सुरिनाम"
+ },
+ "SM": {
+ "name": "सॅन मरीनो"
+ },
+ "KN": {
+ "name": "सेंट किट्स आणि नेव्हिस"
+ },
+ "PM": {
+ "name": "सेंट पियरे आणि मिक्वेलोन"
+ },
+ "BL": {
+ "name": "सेंट बार्थेलेमी"
+ },
+ "MF": {
+ "name": "सेंट मार्टिन"
+ },
+ "LC": {
+ "name": "सेंट ल्यूसिया"
+ },
+ "VC": {
+ "name": "सेंट व्हिन्सेंट आणि ग्रेनडाइन्स"
+ },
+ "SH": {
+ "name": "सेंट हेलेना"
+ },
+ "SN": {
+ "name": "सेनेगल"
+ },
+ "SC": {
+ "name": "सेशेल्स"
+ },
+ "SO": {
+ "name": "सोमालिया"
+ },
+ "SB": {
+ "name": "सोलोमन बेटे"
+ },
+ "SA": {
+ "name": "सौदी अरब"
+ },
+ "ES": {
+ "name": "स्पेन"
+ },
+ "EA": {
+ "name": "स्यूटा आणि मेलिला"
+ },
+ "SK": {
+ "name": "स्लोव्हाकिया"
+ },
+ "SI": {
+ "name": "स्लोव्हेनिया"
+ },
+ "SZ": {
+ "name": "स्वाझिलँड"
+ },
+ "SJ": {
+ "name": "स्वालबर्ड आणि जान मायेन"
+ },
+ "CH": {
+ "name": "स्वित्झर्लंड"
+ },
+ "SE": {
+ "name": "स्वीडन"
+ },
+ "HU": {
+ "name": "हंगेरी"
+ },
+ "HK": {
+ "name": "हाँगकाँग एसएआर चीन"
+ },
+ "HT": {
+ "name": "हैती"
+ },
+ "HN": {
+ "name": "होंडुरास"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/ms.json b/vendor/commerceguys/intl/resources/country/ms.json
new file mode 100644
index 000000000..0214d3540
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/ms.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afghanistan"
+ },
+ "ZA": {
+ "name": "Afrika Selatan"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Algeria"
+ },
+ "US": {
+ "name": "Amerika Syarikat"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antartika"
+ },
+ "AG": {
+ "name": "Antigua dan Barbuda"
+ },
+ "SA": {
+ "name": "Arab Saudi"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "AZ": {
+ "name": "Azerbaijan"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahrain"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "NL": {
+ "name": "Belanda"
+ },
+ "BQ": {
+ "name": "Belanda Caribbean"
+ },
+ "BY": {
+ "name": "Belarus"
+ },
+ "BE": {
+ "name": "Belgium"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia dan Herzegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brazil"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "CM": {
+ "name": "Cameroon"
+ },
+ "CV": {
+ "name": "Cape Verde"
+ },
+ "EA": {
+ "name": "Ceuta dan Melilla"
+ },
+ "TD": {
+ "name": "Chad"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CO": {
+ "name": "Colombia"
+ },
+ "KM": {
+ "name": "Comoros"
+ },
+ "CG": {
+ "name": "Congo - Brazzaville"
+ },
+ "CD": {
+ "name": "Congo - Kinshasa"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "CI": {
+ "name": "Cote d’Ivoire"
+ },
+ "HR": {
+ "name": "Croatia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curacao"
+ },
+ "CY": {
+ "name": "Cyprus"
+ },
+ "DK": {
+ "name": "Denmark"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DJ": {
+ "name": "Djibouti"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "AE": {
+ "name": "Emiriah Arab Bersatu"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Ethiopia"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filipina"
+ },
+ "FI": {
+ "name": "Finland"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GR": {
+ "name": "Greece"
+ },
+ "GL": {
+ "name": "Greenland"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GF": {
+ "name": "Guiana Perancis"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GW": {
+ "name": "Guinea Bissau"
+ },
+ "GQ": {
+ "name": "Guinea Khatulistiwa"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hungary"
+ },
+ "IS": {
+ "name": "Iceland"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IQ": {
+ "name": "Iraq"
+ },
+ "IE": {
+ "name": "Ireland"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Itali"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Jepun"
+ },
+ "DE": {
+ "name": "Jerman"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordan"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "KZ": {
+ "name": "Kazakhstan"
+ },
+ "KH": {
+ "name": "Kemboja"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "AX": {
+ "name": "Kepulauan Aland"
+ },
+ "IC": {
+ "name": "Kepulauan Canary"
+ },
+ "KY": {
+ "name": "Kepulauan Cayman"
+ },
+ "CC": {
+ "name": "Kepulauan Cocos (Keeling)"
+ },
+ "CK": {
+ "name": "Kepulauan Cook"
+ },
+ "FK": {
+ "name": "Kepulauan Falkland"
+ },
+ "FO": {
+ "name": "Kepulauan Faroe"
+ },
+ "GS": {
+ "name": "Kepulauan Georgia Selatan & Sandwich Selatan"
+ },
+ "MP": {
+ "name": "Kepulauan Mariana Utara"
+ },
+ "MH": {
+ "name": "Kepulauan Marshall"
+ },
+ "PN": {
+ "name": "Kepulauan Pitcairn"
+ },
+ "SB": {
+ "name": "Kepulauan Solomon"
+ },
+ "UM": {
+ "name": "Kepulauan Terpencil A.S."
+ },
+ "TC": {
+ "name": "Kepulauan Turks dan Caicos"
+ },
+ "VI": {
+ "name": "Kepulauan Virgin A.S."
+ },
+ "VG": {
+ "name": "Kepulauan Virgin British"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "KR": {
+ "name": "Korea Selatan"
+ },
+ "KP": {
+ "name": "Korea Utara"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "VA": {
+ "name": "Kota Vatican"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "KG": {
+ "name": "Kyrgyzstan"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LV": {
+ "name": "Latvia"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lithuania"
+ },
+ "LB": {
+ "name": "Lubnan"
+ },
+ "LU": {
+ "name": "Luxembourg"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagaskar"
+ },
+ "MA": {
+ "name": "Maghribi"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malaysia"
+ },
+ "MV": {
+ "name": "Maldives"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "EG": {
+ "name": "Mesir"
+ },
+ "MX": {
+ "name": "Mexico"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar (Burma)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NC": {
+ "name": "New Caledonia"
+ },
+ "NZ": {
+ "name": "New Zealand"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Norway"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua New Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "FR": {
+ "name": "Perancis"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PL": {
+ "name": "Poland"
+ },
+ "PF": {
+ "name": "Polinesia Perancis"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "AC": {
+ "name": "Pulau Ascension"
+ },
+ "CX": {
+ "name": "Pulau Krismas"
+ },
+ "NF": {
+ "name": "Pulau Norfolk"
+ },
+ "QA": {
+ "name": "Qatar"
+ },
+ "CF": {
+ "name": "Republik Afrika Tengah"
+ },
+ "CZ": {
+ "name": "Republik Czech"
+ },
+ "DO": {
+ "name": "Republik Dominica"
+ },
+ "RE": {
+ "name": "Reunion"
+ },
+ "RO": {
+ "name": "Romania"
+ },
+ "RU": {
+ "name": "Rusia"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "EH": {
+ "name": "Sahara Barat"
+ },
+ "BL": {
+ "name": "Saint Barthélemy"
+ },
+ "SH": {
+ "name": "Saint Helena"
+ },
+ "KN": {
+ "name": "Saint Kitts dan Nevis"
+ },
+ "LC": {
+ "name": "Saint Lucia"
+ },
+ "MF": {
+ "name": "Saint Martin"
+ },
+ "PM": {
+ "name": "Saint Pierre dan Miquelon"
+ },
+ "VC": {
+ "name": "Saint Vincent dan Grenadines"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa Amerika"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "Sao Tome dan Principe"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "ES": {
+ "name": "Sepanyol"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapura"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "SS": {
+ "name": "Sudan Selatan"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SJ": {
+ "name": "Svalbard dan Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swaziland"
+ },
+ "SE": {
+ "name": "Sweden"
+ },
+ "CH": {
+ "name": "Switzerland"
+ },
+ "SY": {
+ "name": "Syria"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TJ": {
+ "name": "Tajikistan"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TH": {
+ "name": "Thailand"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad dan Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TR": {
+ "name": "Turki"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukraine"
+ },
+ "GB": {
+ "name": "United Kingdom"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbekistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis dan Futuna"
+ },
+ "IO": {
+ "name": "Wilayah Lautan Hindi British"
+ },
+ "PS": {
+ "name": "Wilayah Palestin"
+ },
+ "TF": {
+ "name": "Wilayah Selatan Perancis"
+ },
+ "YE": {
+ "name": "Yaman"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/mt.json b/vendor/commerceguys/intl/resources/country/mt.json
new file mode 100644
index 000000000..8d7db1aa9
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/mt.json
@@ -0,0 +1,761 @@
+{
+ "AD": {
+ "name": "Andorra"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AG": {
+ "name": "Antigua u Barbuda"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "CY": {
+ "name": "Ċipru"
+ },
+ "CV": {
+ "name": "Cape Verde"
+ },
+ "EA": {
+ "name": "Ceuta u Melilla"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "KM": {
+ "name": "Comoros"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "FJ": {
+ "name": "Fiġi"
+ },
+ "FR": {
+ "name": "Franza"
+ },
+ "GI": {
+ "name": "Ġibiltà"
+ },
+ "MP": {
+ "name": "Ġżejjer Mariana tat-Tramuntana"
+ },
+ "GL": {
+ "name": "Greenland"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "CC": {
+ "name": "Gżejjer Cocos (Keeling)"
+ },
+ "CK": {
+ "name": "Gżejjer Cook"
+ },
+ "MH": {
+ "name": "Gżejjer Marshall"
+ },
+ "PN": {
+ "name": "Gżejjer Pitcairn"
+ },
+ "NF": {
+ "name": "Gżira Norfolk"
+ },
+ "CL": {
+ "name": "iċ-Ċili"
+ },
+ "TD": {
+ "name": "iċ-Chad"
+ },
+ "DK": {
+ "name": "id-Danimarka"
+ },
+ "BS": {
+ "name": "il-Bahamas"
+ },
+ "BH": {
+ "name": "il-Bahrain"
+ },
+ "BD": {
+ "name": "il-Bangladesh"
+ },
+ "BY": {
+ "name": "il-Belarussja"
+ },
+ "BE": {
+ "name": "il-Belġju"
+ },
+ "BZ": {
+ "name": "il-Belize"
+ },
+ "BJ": {
+ "name": "il-Benin"
+ },
+ "BT": {
+ "name": "il-Bhutan"
+ },
+ "BO": {
+ "name": "il-Bolivja"
+ },
+ "BW": {
+ "name": "il-Botswana"
+ },
+ "BA": {
+ "name": "il-Bożnija-Ħerzegovina"
+ },
+ "BR": {
+ "name": "Il-Brażil"
+ },
+ "BN": {
+ "name": "il-Brunei"
+ },
+ "BG": {
+ "name": "il-Bulgarija"
+ },
+ "BF": {
+ "name": "il-Burkina Faso"
+ },
+ "BI": {
+ "name": "il-Burundi"
+ },
+ "CR": {
+ "name": "il-Costa Rica"
+ },
+ "DJ": {
+ "name": "il-Djibouti"
+ },
+ "PH": {
+ "name": "il-Filippini"
+ },
+ "FI": {
+ "name": "il-Finlandja"
+ },
+ "JM": {
+ "name": "il-Ġamajka"
+ },
+ "JP": {
+ "name": "il-Ġappun"
+ },
+ "DE": {
+ "name": "il-Ġermanja"
+ },
+ "JO": {
+ "name": "il-Ġordan"
+ },
+ "GA": {
+ "name": "il-Gabon"
+ },
+ "GM": {
+ "name": "il-Gambja"
+ },
+ "GE": {
+ "name": "il-Georgia"
+ },
+ "GS": {
+ "name": "il-Georgia tan-Nofsinhar u l-Gżejjer Sandwich tan-Nofsinhar"
+ },
+ "GH": {
+ "name": "il-Ghana"
+ },
+ "GR": {
+ "name": "il-Greċja"
+ },
+ "GN": {
+ "name": "il-Guinea"
+ },
+ "GQ": {
+ "name": "il-Guinea Ekwatorjali"
+ },
+ "GW": {
+ "name": "il-Guinea-Bissau"
+ },
+ "GY": {
+ "name": "il-Guyana"
+ },
+ "GF": {
+ "name": "il-Guyana Franċiża"
+ },
+ "GT": {
+ "name": "il-Gwatemala"
+ },
+ "AX": {
+ "name": "il-Gżejjer Aland"
+ },
+ "IC": {
+ "name": "il-Gżejjer Canary"
+ },
+ "KY": {
+ "name": "il-Gżejjer Cayman"
+ },
+ "FO": {
+ "name": "il-Gżejjer Faeroe"
+ },
+ "FK": {
+ "name": "il-Gżejjer Falkland"
+ },
+ "UM": {
+ "name": "Il-Gżejjer Minuri Mbiegħda tal-Istati Uniti"
+ },
+ "SB": {
+ "name": "il-Gżejjer Solomon"
+ },
+ "TC": {
+ "name": "il-Gżejjer Turks u Caicos"
+ },
+ "VG": {
+ "name": "il-Gżejjer Verġni Brittaniċi"
+ },
+ "VI": {
+ "name": "il-Gżejjer Verġni tal-Istati Uniti"
+ },
+ "CX": {
+ "name": "il-Gżira Christmas"
+ },
+ "HT": {
+ "name": "il-Haiti"
+ },
+ "HN": {
+ "name": "il-Honduras"
+ },
+ "YE": {
+ "name": "il-Jemen"
+ },
+ "KH": {
+ "name": "il-Kambodja"
+ },
+ "CM": {
+ "name": "il-Kamerun"
+ },
+ "CA": {
+ "name": "il-Kanada"
+ },
+ "KZ": {
+ "name": "il-Każakistan"
+ },
+ "KE": {
+ "name": "il-Kenja"
+ },
+ "KG": {
+ "name": "il-Kirgiżistan"
+ },
+ "CO": {
+ "name": "il-Kolombja"
+ },
+ "CG": {
+ "name": "il-Kongo - Brazzaville"
+ },
+ "KR": {
+ "name": "il-Korea t’Isfel"
+ },
+ "KP": {
+ "name": "il-Korea ta’ Fuq"
+ },
+ "CI": {
+ "name": "il-Kosta tal-Avorju"
+ },
+ "HR": {
+ "name": "il-Kroazja"
+ },
+ "KW": {
+ "name": "il-Kuwajt"
+ },
+ "LA": {
+ "name": "il-Laos"
+ },
+ "LV": {
+ "name": "il-Latvja"
+ },
+ "LS": {
+ "name": "il-Lesoto"
+ },
+ "LB": {
+ "name": "il-Libanu"
+ },
+ "LR": {
+ "name": "il-Liberja"
+ },
+ "LY": {
+ "name": "il-Libja"
+ },
+ "LI": {
+ "name": "il-Liechtenstein"
+ },
+ "LT": {
+ "name": "il-Litwanja"
+ },
+ "LU": {
+ "name": "il-Lussemburgu"
+ },
+ "MY": {
+ "name": "il-Malasja"
+ },
+ "MW": {
+ "name": "il-Malawi"
+ },
+ "MV": {
+ "name": "il-Maldivi"
+ },
+ "ML": {
+ "name": "il-Mali"
+ },
+ "MA": {
+ "name": "il-Marokk"
+ },
+ "MR": {
+ "name": "il-Mauritania"
+ },
+ "MX": {
+ "name": "il-Messiku"
+ },
+ "MD": {
+ "name": "il-Moldova"
+ },
+ "MN": {
+ "name": "il-Mongolja"
+ },
+ "ME": {
+ "name": "il-Montenegro"
+ },
+ "MZ": {
+ "name": "il-Mozambique"
+ },
+ "MM": {
+ "name": "il-Myanmar\/Burma"
+ },
+ "PK": {
+ "name": "il-Pakistan"
+ },
+ "PA": {
+ "name": "il-Panama"
+ },
+ "PY": {
+ "name": "il-Paragwaj"
+ },
+ "PE": {
+ "name": "il-Perù"
+ },
+ "PL": {
+ "name": "il-Polonja"
+ },
+ "PT": {
+ "name": "il-Portugall"
+ },
+ "QA": {
+ "name": "il-Qatar"
+ },
+ "VE": {
+ "name": "il-Venezwela"
+ },
+ "VN": {
+ "name": "il-Vjetnam"
+ },
+ "NA": {
+ "name": "in-Namibja"
+ },
+ "NP": {
+ "name": "in-Nepal"
+ },
+ "NL": {
+ "name": "in-Netherlands"
+ },
+ "BQ": {
+ "name": "in-Netherlands tal-Karibew"
+ },
+ "NE": {
+ "name": "in-Niġer"
+ },
+ "NG": {
+ "name": "in-Niġerja"
+ },
+ "NI": {
+ "name": "in-Nikaragwa"
+ },
+ "NO": {
+ "name": "in-Norveġja"
+ },
+ "HK": {
+ "name": "ir-Reġjun Amministrattiv Speċjali ta’ Hong Kong tar-Repubblika tal-Poplu taċ-Ċina"
+ },
+ "MO": {
+ "name": "ir-Reġjun Amministrattiv Speċjali tal-Macao tar-Repubblika tal-Poplu taċ-Ċina"
+ },
+ "GB": {
+ "name": "ir-Renju Unit"
+ },
+ "CZ": {
+ "name": "ir-Repubblika Ċeka"
+ },
+ "CF": {
+ "name": "ir-Repubblika Ċentru-Afrikana"
+ },
+ "CD": {
+ "name": "ir-Repubblika Demokratika tal-Kongo"
+ },
+ "DO": {
+ "name": "ir-Repubblika Dominicana"
+ },
+ "RO": {
+ "name": "ir-Rumanija"
+ },
+ "RU": {
+ "name": "ir-Russja"
+ },
+ "RW": {
+ "name": "ir-Rwanda"
+ },
+ "EH": {
+ "name": "is-Saħara tal-Punent"
+ },
+ "AS": {
+ "name": "is-Samoa Amerikana"
+ },
+ "SN": {
+ "name": "is-Senegal"
+ },
+ "RS": {
+ "name": "is-Serbja"
+ },
+ "SC": {
+ "name": "is-Seychelles"
+ },
+ "SY": {
+ "name": "is-Sirja"
+ },
+ "SK": {
+ "name": "is-Slovakkja"
+ },
+ "SI": {
+ "name": "is-Slovenja"
+ },
+ "SO": {
+ "name": "is-Somalja"
+ },
+ "LK": {
+ "name": "is-Sri Lanka"
+ },
+ "SD": {
+ "name": "is-Sudan"
+ },
+ "SS": {
+ "name": "is-Sudan t’Isfel"
+ },
+ "SR": {
+ "name": "is-Suriname"
+ },
+ "SZ": {
+ "name": "is-Swaziland"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "TJ": {
+ "name": "it-Taġikistan"
+ },
+ "TH": {
+ "name": "it-Tajlandja"
+ },
+ "TW": {
+ "name": "it-Tajwan"
+ },
+ "TZ": {
+ "name": "it-Tanzanija"
+ },
+ "TF": {
+ "name": "It-Territorji Franċiżi tan-Nofsinhar"
+ },
+ "PS": {
+ "name": "it-Territorji Palestinjani"
+ },
+ "TG": {
+ "name": "it-Togo"
+ },
+ "TK": {
+ "name": "it-Tokelau"
+ },
+ "TN": {
+ "name": "it-Tuneżija"
+ },
+ "TR": {
+ "name": "it-Turkija"
+ },
+ "TM": {
+ "name": "it-Turkmenistan"
+ },
+ "ZM": {
+ "name": "iż-Żambja"
+ },
+ "ZW": {
+ "name": "iż-Żimbabwe"
+ },
+ "IL": {
+ "name": "Iżrael"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "AF": {
+ "name": "l-Afganistan"
+ },
+ "ZA": {
+ "name": "l-Afrika t’Isfel"
+ },
+ "AL": {
+ "name": "l-Albanija"
+ },
+ "DZ": {
+ "name": "l-Alġerija"
+ },
+ "AO": {
+ "name": "l-Angola"
+ },
+ "AQ": {
+ "name": "l-Antartika"
+ },
+ "SA": {
+ "name": "l-Arabia Sawdija"
+ },
+ "AR": {
+ "name": "l-Arġentina"
+ },
+ "AM": {
+ "name": "l-Armenja"
+ },
+ "AU": {
+ "name": "l-Awstralja"
+ },
+ "AT": {
+ "name": "l-Awstrija"
+ },
+ "AZ": {
+ "name": "l-Ażerbajġan"
+ },
+ "EG": {
+ "name": "l-Eġittu"
+ },
+ "MK": {
+ "name": "l-Eks-Repubblika Jugoslava tal-Maċedonia"
+ },
+ "EC": {
+ "name": "l-Ekwador"
+ },
+ "AE": {
+ "name": "l-Emirati Għarab Magħquda"
+ },
+ "ER": {
+ "name": "l-Eritrea"
+ },
+ "EE": {
+ "name": "l-Estonja"
+ },
+ "ET": {
+ "name": "l-Etjopja"
+ },
+ "IN": {
+ "name": "l-Indja"
+ },
+ "ID": {
+ "name": "l-Indoneżja"
+ },
+ "IR": {
+ "name": "l-Iran"
+ },
+ "IQ": {
+ "name": "l-Iraq"
+ },
+ "IE": {
+ "name": "l-Irlanda"
+ },
+ "VA": {
+ "name": "l-Istat tal-Belt tal-Vatikan"
+ },
+ "US": {
+ "name": "l-Istati Uniti"
+ },
+ "IT": {
+ "name": "l-Italja"
+ },
+ "IS": {
+ "name": "l-iżlanda"
+ },
+ "SE": {
+ "name": "l-Iżvezja"
+ },
+ "OM": {
+ "name": "l-Oman"
+ },
+ "UG": {
+ "name": "l-Uganda"
+ },
+ "UA": {
+ "name": "l-Ukrajna"
+ },
+ "HU": {
+ "name": "l-Ungerija"
+ },
+ "UY": {
+ "name": "l-Urugwaj"
+ },
+ "UZ": {
+ "name": "l-Użbekistan"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "FM": {
+ "name": "Mikroneżja"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NC": {
+ "name": "New Caledonia"
+ },
+ "NZ": {
+ "name": "New Zealand"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PG": {
+ "name": "Papua New Guinea"
+ },
+ "PF": {
+ "name": "Polineżja Franċiża"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "BL": {
+ "name": "Saint Barthélemy"
+ },
+ "SH": {
+ "name": "Saint Helena"
+ },
+ "KN": {
+ "name": "Saint Kitts u Nevis"
+ },
+ "LC": {
+ "name": "Saint Lucia"
+ },
+ "MF": {
+ "name": "Saint Martin"
+ },
+ "PM": {
+ "name": "Saint Pierre u Miquelon"
+ },
+ "VC": {
+ "name": "Saint Vincent u l-Grenadini"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "São Tomé u Príncipe"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapore"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "ES": {
+ "name": "Spanja"
+ },
+ "SJ": {
+ "name": "Svalbard u Jan Mayen"
+ },
+ "IO": {
+ "name": "Territorju Brittaniku tal-Oċean Indjan"
+ },
+ "TL": {
+ "name": "Timor Leste"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad u Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "WF": {
+ "name": "Wallis u Futuna"
+ },
+ "CH": {
+ "name": "Żvizzera"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/mua.json b/vendor/commerceguys/intl/resources/country/mua.json
new file mode 100644
index 000000000..157f8f6ed
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/mua.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "afghanistaŋ"
+ },
+ "ZA": {
+ "name": "Afrika nekǝsǝŋ"
+ },
+ "AX": {
+ "name": "Åland Islands"
+ },
+ "AL": {
+ "name": "albaniya"
+ },
+ "DZ": {
+ "name": "algeriya"
+ },
+ "US": {
+ "name": "Amerika"
+ },
+ "AD": {
+ "name": "andorra"
+ },
+ "IO": {
+ "name": "anglofoŋ ma Indiya"
+ },
+ "AO": {
+ "name": "angola"
+ },
+ "AI": {
+ "name": "anguiya"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "antiguan ne Barbuda"
+ },
+ "AR": {
+ "name": "argentiniya"
+ },
+ "AM": {
+ "name": "armeniya"
+ },
+ "AW": {
+ "name": "aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AU": {
+ "name": "australiya"
+ },
+ "AT": {
+ "name": "austriya"
+ },
+ "AZ": {
+ "name": "azerbaijaŋ"
+ },
+ "BS": {
+ "name": "bahamas"
+ },
+ "BH": {
+ "name": "bahraiŋ"
+ },
+ "BD": {
+ "name": "bangladeshiya"
+ },
+ "BB": {
+ "name": "barbadiya"
+ },
+ "BY": {
+ "name": "belarussiya"
+ },
+ "BE": {
+ "name": "belgika"
+ },
+ "BZ": {
+ "name": "beliziya"
+ },
+ "BJ": {
+ "name": "beniŋ"
+ },
+ "BM": {
+ "name": "bermudiya"
+ },
+ "BO": {
+ "name": "boliviya"
+ },
+ "BA": {
+ "name": "bosniya ne Herzegovina"
+ },
+ "BW": {
+ "name": "botswana"
+ },
+ "BR": {
+ "name": "brazilya"
+ },
+ "BN": {
+ "name": "bruniya"
+ },
+ "BG": {
+ "name": "bulgariya"
+ },
+ "BF": {
+ "name": "burkina Faso"
+ },
+ "BI": {
+ "name": "burundi"
+ },
+ "BT": {
+ "name": "butaŋ"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "CF": {
+ "name": "centrafrika"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Daŋmark"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DJ": {
+ "name": "Djibouti"
+ },
+ "DM": {
+ "name": "Dominik"
+ },
+ "EC": {
+ "name": "Ekwatǝr"
+ },
+ "ES": {
+ "name": "Espaŋiya"
+ },
+ "EE": {
+ "name": "Estoniya"
+ },
+ "ET": {
+ "name": "Etiopia"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "PH": {
+ "name": "Filipiŋ"
+ },
+ "FR": {
+ "name": "Franssǝ"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gaboŋ"
+ },
+ "GM": {
+ "name": "Gambiya"
+ },
+ "GH": {
+ "name": "Gana"
+ },
+ "GE": {
+ "name": "Georgiya"
+ },
+ "DE": {
+ "name": "Germaniya"
+ },
+ "GD": {
+ "name": "Grenadǝ"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GN": {
+ "name": "Guine"
+ },
+ "GW": {
+ "name": "Guine ma Bissao"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "GU": {
+ "name": "Gwam"
+ },
+ "GT": {
+ "name": "Gwatemala"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hungriya"
+ },
+ "ID": {
+ "name": "Indonesiya"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Iraŋ"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IT": {
+ "name": "Italiya"
+ },
+ "JM": {
+ "name": "Jamaika"
+ },
+ "JP": {
+ "name": "Japaŋ"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordaniya"
+ },
+ "NC": {
+ "name": "Kaledoniya mafuu"
+ },
+ "KH": {
+ "name": "kambodiya"
+ },
+ "CM": {
+ "name": "kameruŋ"
+ },
+ "CA": {
+ "name": "kanada"
+ },
+ "CV": {
+ "name": "kap ma laŋne"
+ },
+ "QA": {
+ "name": "Katar"
+ },
+ "KY": {
+ "name": "kayman ma laŋne"
+ },
+ "KZ": {
+ "name": "Kazakstaŋ"
+ },
+ "KG": {
+ "name": "Kirgizstaŋ"
+ },
+ "CO": {
+ "name": "kolombiya"
+ },
+ "KM": {
+ "name": "komora"
+ },
+ "CG": {
+ "name": "kongo"
+ },
+ "CK": {
+ "name": "kook ma laŋne"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "kosta Rika"
+ },
+ "HR": {
+ "name": "kroatiya"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "LV": {
+ "name": "Letoniya"
+ },
+ "LB": {
+ "name": "Libaŋ"
+ },
+ "LR": {
+ "name": "Liberiya"
+ },
+ "LY": {
+ "name": "Libiya"
+ },
+ "LI": {
+ "name": "Lichtǝnsteiŋ"
+ },
+ "LT": {
+ "name": "Lituaniya"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MK": {
+ "name": "Macedoniya"
+ },
+ "MG": {
+ "name": "Madagaskar"
+ },
+ "MY": {
+ "name": "Malaysiya"
+ },
+ "MV": {
+ "name": "Maldivǝ"
+ },
+ "MA": {
+ "name": "Marok"
+ },
+ "MQ": {
+ "name": "Martinika"
+ },
+ "MR": {
+ "name": "Mauritaniya"
+ },
+ "YT": {
+ "name": "Mayot"
+ },
+ "MX": {
+ "name": "Mexiko"
+ },
+ "FM": {
+ "name": "Micronesiya"
+ },
+ "MD": {
+ "name": "Moldoviya"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MN": {
+ "name": "Mongoliya"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MZ": {
+ "name": "Mozambika"
+ },
+ "NA": {
+ "name": "Namibiya"
+ },
+ "NG": {
+ "name": "Nigeriya"
+ },
+ "NI": {
+ "name": "Nikaragwa"
+ },
+ "NU": {
+ "name": "Niwe"
+ },
+ "NF": {
+ "name": "Norfolk ma laŋne"
+ },
+ "NO": {
+ "name": "Norvegǝ"
+ },
+ "OM": {
+ "name": "Omaŋ"
+ },
+ "PK": {
+ "name": "Pakistaŋ"
+ },
+ "PG": {
+ "name": "Papuasiya Guine mafuu"
+ },
+ "PY": {
+ "name": "Paragwai"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitkairn"
+ },
+ "PL": {
+ "name": "Pologŋ"
+ },
+ "PR": {
+ "name": "Porto Riko"
+ },
+ "RO": {
+ "name": "Romaniya"
+ },
+ "RU": {
+ "name": "Russiya"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "SC": {
+ "name": "Saichel"
+ },
+ "AS": {
+ "name": "samoa Amerika"
+ },
+ "ST": {
+ "name": "Sao Tome ne Principe"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "VG": {
+ "name": "ser Anglofon ma laŋne"
+ },
+ "CI": {
+ "name": "ser Ivoiriya"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "VI": {
+ "name": "Sǝr amerika ma laŋne"
+ },
+ "GB": {
+ "name": "Sǝr Anglofoŋ"
+ },
+ "SA": {
+ "name": "Sǝr Arabiya"
+ },
+ "AE": {
+ "name": "Sǝr Arabiya ma taini"
+ },
+ "DO": {
+ "name": "Sǝr Dominik ma lii"
+ },
+ "EG": {
+ "name": "Sǝr Egypt"
+ },
+ "ER": {
+ "name": "Sǝr Eritre"
+ },
+ "FJ": {
+ "name": "Sǝr Fiji"
+ },
+ "FI": {
+ "name": "Sǝr Finland"
+ },
+ "GI": {
+ "name": "Sǝr Gibraltar"
+ },
+ "GR": {
+ "name": "Sǝr Grek"
+ },
+ "GL": {
+ "name": "Sǝr Groenland"
+ },
+ "GQ": {
+ "name": "Sǝr Guine"
+ },
+ "GF": {
+ "name": "Sǝr Guyana ma Franssǝ"
+ },
+ "GP": {
+ "name": "Sǝr Gwadeloupǝ"
+ },
+ "HT": {
+ "name": "Sǝr Haiti"
+ },
+ "SH": {
+ "name": "Sǝr Helena"
+ },
+ "HN": {
+ "name": "Sǝr Honduras"
+ },
+ "IN": {
+ "name": "Sǝr Indǝ"
+ },
+ "IE": {
+ "name": "Sǝr Ireland"
+ },
+ "IS": {
+ "name": "Sǝr Island"
+ },
+ "IL": {
+ "name": "Sǝr Israel"
+ },
+ "KE": {
+ "name": "Sǝr Kenya"
+ },
+ "KI": {
+ "name": "Sǝr Kiribati"
+ },
+ "CD": {
+ "name": "Sǝr Kongo ma dii ne zair"
+ },
+ "KP": {
+ "name": "Sǝr Kore fah sǝŋ"
+ },
+ "KR": {
+ "name": "Sǝr Kore nekǝsǝŋ"
+ },
+ "KW": {
+ "name": "Sǝr Kowait"
+ },
+ "KN": {
+ "name": "Sǝr Kristof ne Nievǝ"
+ },
+ "LK": {
+ "name": "Sǝr Lanka"
+ },
+ "LA": {
+ "name": "Sǝr Laos"
+ },
+ "LS": {
+ "name": "Sǝr Lesotho"
+ },
+ "LC": {
+ "name": "Sǝr Lucia"
+ },
+ "LU": {
+ "name": "Sǝr Luxemburg"
+ },
+ "NL": {
+ "name": "Sǝr ma kasǝŋ"
+ },
+ "MW": {
+ "name": "Sǝr Malawi"
+ },
+ "ML": {
+ "name": "Sǝr Mali"
+ },
+ "FK": {
+ "name": "Sǝr malouniya ma laŋne"
+ },
+ "MT": {
+ "name": "Sǝr Malta"
+ },
+ "MP": {
+ "name": "Sǝr Maria ma laŋne"
+ },
+ "SM": {
+ "name": "Sǝr Marino"
+ },
+ "MH": {
+ "name": "Sǝr Marshall ma laŋne"
+ },
+ "MU": {
+ "name": "Sǝr Mauricǝ"
+ },
+ "MS": {
+ "name": "Sǝr Montserrat"
+ },
+ "MM": {
+ "name": "Sǝr Myanmar"
+ },
+ "NR": {
+ "name": "Sǝr Nauru"
+ },
+ "NP": {
+ "name": "Sǝr Nepal"
+ },
+ "NE": {
+ "name": "Sǝr Niger"
+ },
+ "PW": {
+ "name": "Sǝr Palau"
+ },
+ "PS": {
+ "name": "Sǝr Palestiniya"
+ },
+ "PA": {
+ "name": "Sǝr Panama"
+ },
+ "PM": {
+ "name": "Sǝr Pǝtar ne Mikǝlon"
+ },
+ "PF": {
+ "name": "Sǝr Polynesiya ma Franssǝ"
+ },
+ "PT": {
+ "name": "Sǝr Portugal"
+ },
+ "RE": {
+ "name": "Sǝr Reunion"
+ },
+ "SB": {
+ "name": "Sǝr Salomon ma laŋne"
+ },
+ "SV": {
+ "name": "Sǝr Salvador"
+ },
+ "WS": {
+ "name": "Sǝr Samoa"
+ },
+ "SE": {
+ "name": "Sǝr Sued"
+ },
+ "SR": {
+ "name": "Sǝr Surinam"
+ },
+ "SZ": {
+ "name": "Sǝr Swaziland"
+ },
+ "CH": {
+ "name": "Sǝr Swiss"
+ },
+ "CZ": {
+ "name": "Sǝr Syek"
+ },
+ "TG": {
+ "name": "Sǝr Togo"
+ },
+ "TK": {
+ "name": "Sǝr Tokelau"
+ },
+ "TO": {
+ "name": "Sǝr Tonga"
+ },
+ "TV": {
+ "name": "Sǝr Tuvalu"
+ },
+ "VU": {
+ "name": "Sǝr Vanuatu"
+ },
+ "VE": {
+ "name": "Sǝr Venezuela"
+ },
+ "VN": {
+ "name": "Sǝr Vietnam"
+ },
+ "VC": {
+ "name": "Sǝr Vinceŋ ne Grenadiŋ"
+ },
+ "SL": {
+ "name": "Sierra Leonǝ"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SK": {
+ "name": "Slovakiya"
+ },
+ "SI": {
+ "name": "Sloveniya"
+ },
+ "SO": {
+ "name": "Somaliya"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SD": {
+ "name": "Sudaŋ"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "TD": {
+ "name": "syad"
+ },
+ "CL": {
+ "name": "syili"
+ },
+ "CN": {
+ "name": "syiŋ"
+ },
+ "CY": {
+ "name": "Syipriya"
+ },
+ "SY": {
+ "name": "Syria"
+ },
+ "TH": {
+ "name": "Tailand"
+ },
+ "TW": {
+ "name": "Taiwaŋ"
+ },
+ "TJ": {
+ "name": "Tajikistaŋ"
+ },
+ "TZ": {
+ "name": "Tanzaniya"
+ },
+ "TL": {
+ "name": "Timoriya"
+ },
+ "TT": {
+ "name": "Trinite ne Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisiya"
+ },
+ "TR": {
+ "name": "Turkiya"
+ },
+ "TC": {
+ "name": "Turkiya ne kaicos ma laŋne"
+ },
+ "TM": {
+ "name": "Turkmenistaŋ"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukraiŋ"
+ },
+ "UY": {
+ "name": "Urugwai"
+ },
+ "UZ": {
+ "name": "Uzbekistaŋ"
+ },
+ "VA": {
+ "name": "Vaticaŋ"
+ },
+ "WF": {
+ "name": "Wallis ne Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yemeŋ"
+ },
+ "ZM": {
+ "name": "Zambiya"
+ },
+ "NZ": {
+ "name": "Zeland mafuu"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/my.json b/vendor/commerceguys/intl/resources/country/my.json
new file mode 100644
index 000000000..fccd2e6f4
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/my.json
@@ -0,0 +1,761 @@
+{
+ "CA": {
+ "name": "ကနေဒါ"
+ },
+ "IC": {
+ "name": "ကနေရီ ကျွန်းစု"
+ },
+ "KG": {
+ "name": "ကာဂျစ္စတန်"
+ },
+ "KZ": {
+ "name": "ကာဇက်စတန်"
+ },
+ "QA": {
+ "name": "ကာတာ"
+ },
+ "BQ": {
+ "name": "ကာရစ်ဘီယံ နယ်သာလန်"
+ },
+ "KW": {
+ "name": "ကူဝိတ်"
+ },
+ "KY": {
+ "name": "ကေမန် ကျွန်းစု"
+ },
+ "CC": {
+ "name": "ကိုကိုးကျွန်း"
+ },
+ "XK": {
+ "name": "ကိုဆိုဗို"
+ },
+ "KM": {
+ "name": "ကိုမိုရိုစ်"
+ },
+ "CO": {
+ "name": "ကိုလံဘီယာ"
+ },
+ "CR": {
+ "name": "ကို့စ်တာရီကာ"
+ },
+ "CI": {
+ "name": "ကို့တ် ဒီဗွာ"
+ },
+ "KE": {
+ "name": "ကင်ညာ"
+ },
+ "CM": {
+ "name": "ကင်မရွန်း"
+ },
+ "CV": {
+ "name": "ကိတ်ဗာဒီ"
+ },
+ "KH": {
+ "name": "ကမ္ဘောဒီးယား"
+ },
+ "CW": {
+ "name": "ကျူရေးကိုးစ်"
+ },
+ "CU": {
+ "name": "ကျူးဘား"
+ },
+ "CK": {
+ "name": "ကွတ် ကျွန်းစု"
+ },
+ "CD": {
+ "name": "ကွန်ဂို"
+ },
+ "CG": {
+ "name": "ကွန်ဂို-ဘရာဇာဗီးလ်"
+ },
+ "HR": {
+ "name": "ခရိုအေးရှား"
+ },
+ "CX": {
+ "name": "ခရစ်စမတ် ကျွန်း"
+ },
+ "KI": {
+ "name": "ခီရီဘာတီ"
+ },
+ "CL": {
+ "name": "ချီလီ"
+ },
+ "CZ": {
+ "name": "ချက် ပြည်ထောင်စု"
+ },
+ "TD": {
+ "name": "ချဒ်"
+ },
+ "GR": {
+ "name": "ဂရိ"
+ },
+ "GD": {
+ "name": "ဂရီနေဒါ"
+ },
+ "GL": {
+ "name": "ဂရင်းလန်း"
+ },
+ "GH": {
+ "name": "ဂါနာ"
+ },
+ "GA": {
+ "name": "ဂါဘွန်"
+ },
+ "GN": {
+ "name": "ဂီနီ"
+ },
+ "GW": {
+ "name": "ဂီနီ-ဘီစော"
+ },
+ "GU": {
+ "name": "ဂူအမ်"
+ },
+ "GY": {
+ "name": "ဂိုင်ယာနာ"
+ },
+ "GM": {
+ "name": "ဂမ်ဘီရာ"
+ },
+ "JP": {
+ "name": "ဂျပန်"
+ },
+ "JM": {
+ "name": "ဂျမေကာ"
+ },
+ "JE": {
+ "name": "ဂျာစီ"
+ },
+ "DE": {
+ "name": "ဂျာမဏီ"
+ },
+ "GI": {
+ "name": "ဂျီဘရော်လ်တာ"
+ },
+ "DJ": {
+ "name": "ဂျီဘူတီ"
+ },
+ "GE": {
+ "name": "ဂျော်ဂျီယာ"
+ },
+ "JO": {
+ "name": "ဂျော်ဒန်"
+ },
+ "GT": {
+ "name": "ဂွါတီမာလာ"
+ },
+ "GP": {
+ "name": "ဂွါဒီလု"
+ },
+ "GG": {
+ "name": "ဂွန်းဇီ"
+ },
+ "ES": {
+ "name": "စပိန်"
+ },
+ "SJ": {
+ "name": "စဗိုလ်ဘတ်နှင့်ဂျန်မေရန်"
+ },
+ "SI": {
+ "name": "စလိုဗေးနီးယား"
+ },
+ "KN": {
+ "name": "စိန့်ကစ်နှင့်နီဗီစ်"
+ },
+ "PM": {
+ "name": "စိန့်ပီအဲရ်နှင့် မီကွီလွန်"
+ },
+ "VC": {
+ "name": "စိန့်ဗင်းဆင့်နှင့် ဂရိနေဒိုင်"
+ },
+ "BL": {
+ "name": "စိန့်ဘာသယ်လ်မီ"
+ },
+ "MF": {
+ "name": "စိန့်မာတင်"
+ },
+ "LC": {
+ "name": "စိန့်လူစီယာ"
+ },
+ "SH": {
+ "name": "စိန့်ဟယ်လယ်နာ"
+ },
+ "SG": {
+ "name": "စင်္ကာပူ"
+ },
+ "SX": {
+ "name": "စင့်မာတင်"
+ },
+ "WS": {
+ "name": "ဆမိုးအား"
+ },
+ "SK": {
+ "name": "ဆလိုဗက်ကီးယား"
+ },
+ "RS": {
+ "name": "ဆားဘီးယား"
+ },
+ "SN": {
+ "name": "ဆီနီဂေါ"
+ },
+ "SL": {
+ "name": "ဆီယာရာ လီယွန်း"
+ },
+ "SY": {
+ "name": "ဆီးရီးယား"
+ },
+ "SD": {
+ "name": "ဆူဒန်"
+ },
+ "SR": {
+ "name": "ဆူရာနမ်"
+ },
+ "SC": {
+ "name": "ဆေးရှဲ"
+ },
+ "SA": {
+ "name": "ဆော်ဒီအာရေးဘီးယား"
+ },
+ "SB": {
+ "name": "ဆော်လမွန်ကျွန်းစု"
+ },
+ "SO": {
+ "name": "ဆိုမာလီယာ"
+ },
+ "CY": {
+ "name": "ဆိုက်ပရပ်စ်"
+ },
+ "ST": {
+ "name": "ဆောင်တူမေးနှင့် ပရင်စီပီ"
+ },
+ "SM": {
+ "name": "ဆန်မာရီနို"
+ },
+ "EA": {
+ "name": "ဆယ်ဥတာနှင့်မယ်လီလ်လာ"
+ },
+ "SZ": {
+ "name": "ဆွာဇီလန်"
+ },
+ "SE": {
+ "name": "ဆွီဒင်"
+ },
+ "CH": {
+ "name": "ဆွစ်ဇာလန်"
+ },
+ "ZW": {
+ "name": "ဇင်ဘာဘွေ"
+ },
+ "ZM": {
+ "name": "ဇမ်ဘီယာ"
+ },
+ "UZ": {
+ "name": "ဉဇဘက်ကစ္စတန်"
+ },
+ "CN": {
+ "name": "တရုတ်"
+ },
+ "TJ": {
+ "name": "တာဂျီကစ္စတန်"
+ },
+ "TM": {
+ "name": "တာ့ခ်မင်နစ္စတန်"
+ },
+ "TN": {
+ "name": "တူနီးရှား"
+ },
+ "TV": {
+ "name": "တူဗားလူ"
+ },
+ "TR": {
+ "name": "တူရကီ"
+ },
+ "TK": {
+ "name": "တိုကလောင်"
+ },
+ "TG": {
+ "name": "တိုဂို"
+ },
+ "AC": {
+ "name": "တက်တော်မူကျွန်း"
+ },
+ "TC": {
+ "name": "တခ်စ်နှင့်ကာအီကိုစ်ကျွန်းစု"
+ },
+ "GS": {
+ "name": "တောင် ဂျော်ဂျီယာ နှင့် တောင် ဆင်းဒဝစ်ဂျ် ကျွန်းစုများ"
+ },
+ "SS": {
+ "name": "တောင် ဆူဒန်"
+ },
+ "KR": {
+ "name": "တောင်ကိုရီးယား"
+ },
+ "MP": {
+ "name": "တောင်ပိုင်းမာရီအာနာကျွန်းစု"
+ },
+ "ZA": {
+ "name": "တောင်အာဖရိက"
+ },
+ "TZ": {
+ "name": "တန်ဇန်းနီးယား"
+ },
+ "TO": {
+ "name": "တွန်ဂါ"
+ },
+ "TT": {
+ "name": "ထရီနီဒတ်နှင့် တိုဘက်ဂို"
+ },
+ "TA": {
+ "name": "ထရစ္စတန် ဒါ ကွန်ဟာ"
+ },
+ "TW": {
+ "name": "ထိုင်ဝမ်"
+ },
+ "TH": {
+ "name": "ထိုင်း"
+ },
+ "DG": {
+ "name": "ဒီအဲဂိုဂါစီရာ"
+ },
+ "DM": {
+ "name": "ဒိုမီနီကာ"
+ },
+ "DO": {
+ "name": "ဒိုမီနီကန်"
+ },
+ "DK": {
+ "name": "ဒိန်းမတ်"
+ },
+ "NA": {
+ "name": "နမီးဘီးယား"
+ },
+ "NC": {
+ "name": "နယူး ကယ်လီဒိုနီးယား"
+ },
+ "NZ": {
+ "name": "နယူးဇီလန်"
+ },
+ "NI": {
+ "name": "နီကာရာဂွါ"
+ },
+ "NP": {
+ "name": "နီပေါ"
+ },
+ "NU": {
+ "name": "နီဥူအေ"
+ },
+ "NF": {
+ "name": "နောဖုတ်ကျွန်း"
+ },
+ "NR": {
+ "name": "နော်ရူး"
+ },
+ "NO": {
+ "name": "နော်ဝေ"
+ },
+ "NE": {
+ "name": "နိုင်ဂျာ"
+ },
+ "NG": {
+ "name": "နိုင်ဂျီးရီးယား"
+ },
+ "NL": {
+ "name": "နယ်သာလန်"
+ },
+ "PA": {
+ "name": "ပနားမား"
+ },
+ "PW": {
+ "name": "ပလာအို"
+ },
+ "PK": {
+ "name": "ပါကစ္စတန်"
+ },
+ "PG": {
+ "name": "ပါပူအာ နယူးဂီနီ"
+ },
+ "PY": {
+ "name": "ပါရာဂွေး"
+ },
+ "PS": {
+ "name": "ပါလက်စတိုင်း ပိုင်နက်"
+ },
+ "PE": {
+ "name": "ပီရူး"
+ },
+ "PT": {
+ "name": "ပေါ်တူဂီ"
+ },
+ "PR": {
+ "name": "ပေါ်တိုရီကို"
+ },
+ "PL": {
+ "name": "ပိုလန်"
+ },
+ "PN": {
+ "name": "ပစ်တ်ကိန်းကျွန်းစု"
+ },
+ "FR": {
+ "name": "ပြင်သစ်"
+ },
+ "GF": {
+ "name": "ပြင်သစ် ဂိုင်ယာနာ"
+ },
+ "TF": {
+ "name": "ပြင်သစ် တောင်ပိုင်း ပိုင်နက်များ"
+ },
+ "PF": {
+ "name": "ပြင်သစ် ပေါ်လီနီးရှား"
+ },
+ "FO": {
+ "name": "ဖာရိုး ကျွန်းစုများ"
+ },
+ "PH": {
+ "name": "ဖိလစ်ပိုင်"
+ },
+ "FJ": {
+ "name": "ဖီဂျီ"
+ },
+ "FK": {
+ "name": "ဖော့ကလန် ကျွန်းစု"
+ },
+ "FI": {
+ "name": "ဖင်လန်"
+ },
+ "VU": {
+ "name": "ဗနွားတူ"
+ },
+ "CF": {
+ "name": "ဗဟို အာဖရိက ပြည်ထောင်စု"
+ },
+ "VA": {
+ "name": "ဗာတီကန်စီတီး"
+ },
+ "VN": {
+ "name": "ဗီယက်နမ်"
+ },
+ "VE": {
+ "name": "ဗင်နီဇွဲလား"
+ },
+ "VG": {
+ "name": "ဗြိတိသျှ ဗာဂျင်း ကျွန်းစု"
+ },
+ "IO": {
+ "name": "ဗြိတိသျှပိုင် အိန္ဒိယသမုဒ္ဒရာကျွန်းများ"
+ },
+ "BR": {
+ "name": "ဘရာဇီး"
+ },
+ "BN": {
+ "name": "ဘရူနိုင်း"
+ },
+ "BZ": {
+ "name": "ဘလိဇ်"
+ },
+ "BS": {
+ "name": "ဘဟားမား"
+ },
+ "BF": {
+ "name": "ဘာကီးနား ဖားဆို"
+ },
+ "BB": {
+ "name": "ဘာဘေးဒိုးစ်"
+ },
+ "BM": {
+ "name": "ဘာမြူဒါ"
+ },
+ "BH": {
+ "name": "ဘာရိန်း"
+ },
+ "BJ": {
+ "name": "ဘီနင်"
+ },
+ "BY": {
+ "name": "ဘီလာရုဇ်"
+ },
+ "BT": {
+ "name": "ဘူတန်"
+ },
+ "BI": {
+ "name": "ဘူရွန်ဒီ"
+ },
+ "BG": {
+ "name": "ဘူလ်ဂေးရီးယား"
+ },
+ "BA": {
+ "name": "ဘော့စနီးယားနှင့် ဟာဇီဂိုဗီနား"
+ },
+ "BW": {
+ "name": "ဘော့ဆွာနာ"
+ },
+ "BO": {
+ "name": "ဘိုလီးဗီးယား"
+ },
+ "BD": {
+ "name": "ဘင်္ဂလားဒေ့ရှ်"
+ },
+ "BE": {
+ "name": "ဘယ်လ်ဂျီယမ်"
+ },
+ "MO": {
+ "name": "မကာအို (တရုတ်ပြည်)"
+ },
+ "MG": {
+ "name": "မဒါဂတ်စကား"
+ },
+ "MY": {
+ "name": "မလေးရှား"
+ },
+ "MQ": {
+ "name": "မာတီနိခ်"
+ },
+ "YT": {
+ "name": "မာယိုတေး"
+ },
+ "MH": {
+ "name": "မာရှယ် ကျွန်းစု"
+ },
+ "MW": {
+ "name": "မာလာဝီ"
+ },
+ "ML": {
+ "name": "မာလီ"
+ },
+ "MU": {
+ "name": "မောရစ်ရှ"
+ },
+ "MS": {
+ "name": "မောင့်စဲရက်"
+ },
+ "MR": {
+ "name": "မော်ရီတေးနီးယား"
+ },
+ "MA": {
+ "name": "မော်ရိုကို"
+ },
+ "MV": {
+ "name": "မော်လ်ဒိုက်"
+ },
+ "MZ": {
+ "name": "မိုဇမ်ဘစ်"
+ },
+ "MC": {
+ "name": "မိုနာကို"
+ },
+ "MX": {
+ "name": "မက္ကဆီကို"
+ },
+ "MK": {
+ "name": "မက်စီဒိုးနီးယား"
+ },
+ "FM": {
+ "name": "မိုင်ခရိုနီရှား"
+ },
+ "IM": {
+ "name": "မန်ကျွန်း"
+ },
+ "MT": {
+ "name": "မောလ်တာ"
+ },
+ "MD": {
+ "name": "မောလ်ဒိုဗာ"
+ },
+ "KP": {
+ "name": "မြောက်ကိုရီးယား"
+ },
+ "MM": {
+ "name": "မြန်မာ"
+ },
+ "MN": {
+ "name": "မွန်ဂိုးလီးယား"
+ },
+ "ME": {
+ "name": "မွန်တီနိဂရိုး"
+ },
+ "YE": {
+ "name": "ယီမင်"
+ },
+ "UA": {
+ "name": "ယူကရိန်း"
+ },
+ "UG": {
+ "name": "ယူဂန်းဒါး"
+ },
+ "GB": {
+ "name": "ယူနိုက်တက်ကင်းဒမ်း"
+ },
+ "US": {
+ "name": "ယူနိုက်တက်စတိတ်"
+ },
+ "UM": {
+ "name": "ယူနိုက်တက်စတိတ် ကျွန်းနိုင်ငံများ"
+ },
+ "AE": {
+ "name": "ယူအေအီး"
+ },
+ "VI": {
+ "name": "ယူအက်စ် ဗာဂျင်း ကျွန်းစု"
+ },
+ "RW": {
+ "name": "ရဝန်ဒါ"
+ },
+ "RU": {
+ "name": "ရုရှ"
+ },
+ "RO": {
+ "name": "ရိုမေးနီးယား"
+ },
+ "LA": {
+ "name": "လာအို"
+ },
+ "LS": {
+ "name": "လီဆိုသို"
+ },
+ "LU": {
+ "name": "လူဇင်ဘတ်"
+ },
+ "LB": {
+ "name": "လက်ဘနွန်"
+ },
+ "LR": {
+ "name": "လိုက်ဘေးရီးယား"
+ },
+ "LI": {
+ "name": "လစ်တန်စတိန်း"
+ },
+ "LY": {
+ "name": "လစ်ဗျား"
+ },
+ "LT": {
+ "name": "လစ်သူယေးနီးယား"
+ },
+ "LV": {
+ "name": "လတ်ဗီးယား"
+ },
+ "WF": {
+ "name": "ဝေါလစ်နှင့် ဖူကျူးနား"
+ },
+ "LK": {
+ "name": "သီရိလင်္ကာ"
+ },
+ "RE": {
+ "name": "ဟေညွန်"
+ },
+ "HT": {
+ "name": "ဟေတီ"
+ },
+ "HK": {
+ "name": "ဟောင်ကောင် (တရုတ်ပြည်)"
+ },
+ "HU": {
+ "name": "ဟန်ဂေရီ"
+ },
+ "HN": {
+ "name": "ဟွန်ဒူးရပ်စ်"
+ },
+ "AZ": {
+ "name": "အဇာဘိုင်ဂျန်"
+ },
+ "EH": {
+ "name": "အနောက် ဆာဟာရ"
+ },
+ "AS": {
+ "name": "အမေရိကန် ဆမိုးအား"
+ },
+ "TL": {
+ "name": "အရှေ့တီမော"
+ },
+ "AR": {
+ "name": "အာဂျင်တီးနား"
+ },
+ "AF": {
+ "name": "အာဖဂန်နစ္စတန်"
+ },
+ "AM": {
+ "name": "အာမေးနီးယား"
+ },
+ "AW": {
+ "name": "အာရူးဗား"
+ },
+ "AX": {
+ "name": "အာလန်ကျွန်း"
+ },
+ "GQ": {
+ "name": "အီကွေတာ ဂီနီ"
+ },
+ "EC": {
+ "name": "အီကွေဒေါ"
+ },
+ "EG": {
+ "name": "အီဂျစ်"
+ },
+ "IT": {
+ "name": "အီတလီ"
+ },
+ "ER": {
+ "name": "အီရီထရီးယား"
+ },
+ "IQ": {
+ "name": "အီရတ်"
+ },
+ "IR": {
+ "name": "အီရန်"
+ },
+ "ET": {
+ "name": "အီသီယိုးပီးယား"
+ },
+ "UY": {
+ "name": "ဥရုဂွေး"
+ },
+ "AT": {
+ "name": "ဩစတြီးယား"
+ },
+ "AU": {
+ "name": "ဩစတြေးလျ"
+ },
+ "OM": {
+ "name": "အိုမန်"
+ },
+ "EE": {
+ "name": "အက်စတိုးနီးယား"
+ },
+ "IS": {
+ "name": "အိုက်စလန်"
+ },
+ "AO": {
+ "name": "အင်ဂိုလာ"
+ },
+ "AG": {
+ "name": "အင်တီဂွါနှင့် ဘာဘူဒါ"
+ },
+ "ID": {
+ "name": "အင်ဒိုနီးရှား"
+ },
+ "AD": {
+ "name": "အင်ဒိုရာ"
+ },
+ "IE": {
+ "name": "အိုင်ယာလန်"
+ },
+ "IL": {
+ "name": "အစ္စရေး"
+ },
+ "AI": {
+ "name": "အန်ဂီလာ"
+ },
+ "AQ": {
+ "name": "အန္တာတိက"
+ },
+ "IN": {
+ "name": "အိန္ဒိယ"
+ },
+ "DZ": {
+ "name": "အယ်လ်ဂျီးရီးယား"
+ },
+ "SV": {
+ "name": "အယ်လ်ဆာဗေးဒိုး"
+ },
+ "AL": {
+ "name": "အယ်လ်ဘေးနီးယား"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/mzn.json b/vendor/commerceguys/intl/resources/country/mzn.json
new file mode 100644
index 000000000..710b178ec
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/mzn.json
@@ -0,0 +1,761 @@
+{
+ "AZ": {
+ "name": "آذربایجون"
+ },
+ "AR": {
+ "name": "آرژانتین"
+ },
+ "AW": {
+ "name": "آروبا"
+ },
+ "AC": {
+ "name": "آسنسیون جزیره"
+ },
+ "AL": {
+ "name": "آلبانی"
+ },
+ "DE": {
+ "name": "آلمان"
+ },
+ "AX": {
+ "name": "آلند جزیره"
+ },
+ "UM": {
+ "name": "آمریکای پَرتِ‌پِلا جزیره‌ئون"
+ },
+ "AS": {
+ "name": "آمریکای ِساموآ"
+ },
+ "VI": {
+ "name": "آمریکای ویرجین"
+ },
+ "AG": {
+ "name": "آنتیگوا و باربودا"
+ },
+ "AD": {
+ "name": "آندورا"
+ },
+ "AO": {
+ "name": "آنگولا"
+ },
+ "AI": {
+ "name": "آنگویلا"
+ },
+ "AT": {
+ "name": "اتریش"
+ },
+ "ET": {
+ "name": "اتیوپی"
+ },
+ "JO": {
+ "name": "اردن"
+ },
+ "AM": {
+ "name": "ارمنستون"
+ },
+ "UY": {
+ "name": "اروگوئه"
+ },
+ "ER": {
+ "name": "اریتره"
+ },
+ "UZ": {
+ "name": "ازبکستون"
+ },
+ "AU": {
+ "name": "استرالیا"
+ },
+ "GQ": {
+ "name": "استوایی گینه"
+ },
+ "EE": {
+ "name": "استونی"
+ },
+ "SK": {
+ "name": "اسلواکی"
+ },
+ "SI": {
+ "name": "اسلوونی"
+ },
+ "AF": {
+ "name": "افغانستون"
+ },
+ "EC": {
+ "name": "اکوادر"
+ },
+ "DZ": {
+ "name": "الجزیره"
+ },
+ "SV": {
+ "name": "السالوادور"
+ },
+ "ID": {
+ "name": "اندونزی"
+ },
+ "UA": {
+ "name": "اوکراین"
+ },
+ "UG": {
+ "name": "اوگاندا"
+ },
+ "IT": {
+ "name": "ایتالیا"
+ },
+ "IR": {
+ "name": "ایران"
+ },
+ "IE": {
+ "name": "ایرلند"
+ },
+ "ES": {
+ "name": "ایسپانیا"
+ },
+ "IL": {
+ "name": "ایسراییل"
+ },
+ "IS": {
+ "name": "ایسلند"
+ },
+ "BB": {
+ "name": "باربادوس"
+ },
+ "BS": {
+ "name": "باهاما"
+ },
+ "BH": {
+ "name": "بحرین"
+ },
+ "BR": {
+ "name": "برزیل"
+ },
+ "BM": {
+ "name": "برمودا"
+ },
+ "BN": {
+ "name": "برونئی"
+ },
+ "GB": {
+ "name": "بریتانیا"
+ },
+ "IO": {
+ "name": "بریتانیای هند ِاوقیانوس ِمناطق"
+ },
+ "VG": {
+ "name": "بریتانیای ویرجین"
+ },
+ "BY": {
+ "name": "بلاروس"
+ },
+ "BE": {
+ "name": "بلژیک"
+ },
+ "BG": {
+ "name": "بلغارستون"
+ },
+ "BZ": {
+ "name": "بلیز"
+ },
+ "BD": {
+ "name": "بنگلادش"
+ },
+ "BJ": {
+ "name": "بنین"
+ },
+ "BT": {
+ "name": "بوتان"
+ },
+ "BW": {
+ "name": "بوتساوانا"
+ },
+ "BF": {
+ "name": "بورکینا فاسو"
+ },
+ "BI": {
+ "name": "بوروندی"
+ },
+ "BA": {
+ "name": "بوسنی و هرزگوین"
+ },
+ "BO": {
+ "name": "بولیوی"
+ },
+ "PG": {
+ "name": "پاپوا نو گینه"
+ },
+ "PY": {
+ "name": "پاراگوئه"
+ },
+ "PK": {
+ "name": "پاکستون"
+ },
+ "PW": {
+ "name": "پالائو"
+ },
+ "PA": {
+ "name": "پاناما"
+ },
+ "PT": {
+ "name": "پرتغال"
+ },
+ "PE": {
+ "name": "پرو"
+ },
+ "PR": {
+ "name": "پورتوریکو"
+ },
+ "PN": {
+ "name": "پیتکارین جزایر"
+ },
+ "TJ": {
+ "name": "تاجیکستون"
+ },
+ "TZ": {
+ "name": "تانزانیا"
+ },
+ "TH": {
+ "name": "تایلند"
+ },
+ "TW": {
+ "name": "تایوان"
+ },
+ "TM": {
+ "name": "ترکمونستون"
+ },
+ "TR": {
+ "name": "ترکیه"
+ },
+ "TA": {
+ "name": "تریستان دا جونها"
+ },
+ "TT": {
+ "name": "ترینیداد و توباگو"
+ },
+ "TC": {
+ "name": "تورکس و کایکوس جزایر"
+ },
+ "TK": {
+ "name": "توکلائو"
+ },
+ "TG": {
+ "name": "توگو"
+ },
+ "TN": {
+ "name": "تونس"
+ },
+ "TO": {
+ "name": "تونگا"
+ },
+ "TV": {
+ "name": "تووالو"
+ },
+ "TL": {
+ "name": "تیمور شرقی"
+ },
+ "JP": {
+ "name": "جاپون"
+ },
+ "JM": {
+ "name": "جاماییکا"
+ },
+ "GI": {
+ "name": "جبل طارق"
+ },
+ "JE": {
+ "name": "جرسی"
+ },
+ "ZA": {
+ "name": "جنوبی افریقا"
+ },
+ "GS": {
+ "name": "جنوبی جورجیا و جنوبی ساندویچ جزایر"
+ },
+ "SS": {
+ "name": "جنوبی سودان"
+ },
+ "KR": {
+ "name": "جنوبی کُره"
+ },
+ "AQ": {
+ "name": "جنوبی یخ‌بزه قطب"
+ },
+ "DJ": {
+ "name": "جیبوتی"
+ },
+ "TD": {
+ "name": "چاد"
+ },
+ "CZ": {
+ "name": "چک جمهوری"
+ },
+ "CN": {
+ "name": "چین"
+ },
+ "DK": {
+ "name": "دانمارک"
+ },
+ "DM": {
+ "name": "دومنیکا"
+ },
+ "DO": {
+ "name": "دومنیکن جمهوری"
+ },
+ "DG": {
+ "name": "دیگو گارسیا"
+ },
+ "RE": {
+ "name": "رئونیون"
+ },
+ "RW": {
+ "name": "روآندا"
+ },
+ "RU": {
+ "name": "روسیه"
+ },
+ "RO": {
+ "name": "رومانی"
+ },
+ "ZM": {
+ "name": "زامبیا"
+ },
+ "ZW": {
+ "name": "زیمبابوه"
+ },
+ "ST": {
+ "name": "سائوتومه و پرینسیپ"
+ },
+ "WS": {
+ "name": "ساموآ"
+ },
+ "LK": {
+ "name": "سریلانکا"
+ },
+ "SB": {
+ "name": "سلیمون جزیره"
+ },
+ "PM": {
+ "name": "سن پییر و میکلن"
+ },
+ "SM": {
+ "name": "سن مارینو"
+ },
+ "BL": {
+ "name": "سنت بارتلمی"
+ },
+ "KN": {
+ "name": "سنت کیتس و نویس"
+ },
+ "LC": {
+ "name": "سنت لوسیا"
+ },
+ "SX": {
+ "name": "سنت مارتن"
+ },
+ "MF": {
+ "name": "سنت مارتین"
+ },
+ "SH": {
+ "name": "سنت هلنا"
+ },
+ "VC": {
+ "name": "سنت وینسنت و گرنادین"
+ },
+ "SG": {
+ "name": "سنگاپور"
+ },
+ "SN": {
+ "name": "سنگال"
+ },
+ "SE": {
+ "name": "سوئد"
+ },
+ "SZ": {
+ "name": "سوازیلند"
+ },
+ "SJ": {
+ "name": "سوالبارد و يان ماين"
+ },
+ "EA": {
+ "name": "سوتا و ملیله"
+ },
+ "SD": {
+ "name": "سودان"
+ },
+ "SR": {
+ "name": "سورینام"
+ },
+ "SY": {
+ "name": "سوریه"
+ },
+ "SO": {
+ "name": "سومالی"
+ },
+ "CH": {
+ "name": "سوییس"
+ },
+ "SL": {
+ "name": "سیرالئون"
+ },
+ "SC": {
+ "name": "سیشل"
+ },
+ "KP": {
+ "name": "شمالی کُره"
+ },
+ "MP": {
+ "name": "شمالی ماریانا جزایر"
+ },
+ "CL": {
+ "name": "شیلی"
+ },
+ "RS": {
+ "name": "صربستون"
+ },
+ "CI": {
+ "name": "عاج ِساحل"
+ },
+ "IQ": {
+ "name": "عراق"
+ },
+ "SA": {
+ "name": "عربستون"
+ },
+ "OM": {
+ "name": "عمان"
+ },
+ "EH": {
+ "name": "غربی صحرا"
+ },
+ "GH": {
+ "name": "غنا"
+ },
+ "FO": {
+ "name": "فارو جزایر"
+ },
+ "FK": {
+ "name": "فالکلند جزیره‌ئون"
+ },
+ "FR": {
+ "name": "فرانسه"
+ },
+ "PF": {
+ "name": "فرانسه‌ی پولی‌نزی"
+ },
+ "TF": {
+ "name": "فرانسه‌ی جنوبی مناطق"
+ },
+ "GF": {
+ "name": "فرانسه‌ی ِگویان"
+ },
+ "PS": {
+ "name": "فلسطین ِسرزمین"
+ },
+ "FI": {
+ "name": "فنلاند"
+ },
+ "FJ": {
+ "name": "فیجی"
+ },
+ "PH": {
+ "name": "فیلیپین"
+ },
+ "CY": {
+ "name": "قبرس"
+ },
+ "KG": {
+ "name": "قرقیزستون"
+ },
+ "KZ": {
+ "name": "قزاقستون"
+ },
+ "QA": {
+ "name": "قطر"
+ },
+ "IC": {
+ "name": "قناری جزایر"
+ },
+ "CR": {
+ "name": "کاستاریکا"
+ },
+ "KH": {
+ "name": "کامبوج"
+ },
+ "CM": {
+ "name": "کامرون"
+ },
+ "CA": {
+ "name": "کانادا"
+ },
+ "HR": {
+ "name": "کرواسی"
+ },
+ "CX": {
+ "name": "کریسمس جزیره"
+ },
+ "CO": {
+ "name": "کلمبیا"
+ },
+ "CG": {
+ "name": "کنگو برازاویل"
+ },
+ "CD": {
+ "name": "کنگو کینشاسا"
+ },
+ "KE": {
+ "name": "کنیا"
+ },
+ "CU": {
+ "name": "کوبا"
+ },
+ "CW": {
+ "name": "کوراسائو"
+ },
+ "XK": {
+ "name": "کوزوو"
+ },
+ "CC": {
+ "name": "کوک (کیلینگ) جزایر"
+ },
+ "CK": {
+ "name": "کوک جزایر"
+ },
+ "KM": {
+ "name": "کومور"
+ },
+ "KW": {
+ "name": "کویت"
+ },
+ "CV": {
+ "name": "کیپ ورد"
+ },
+ "KI": {
+ "name": "کیریباتی"
+ },
+ "KY": {
+ "name": "کیمن جزیره‌ئون"
+ },
+ "GA": {
+ "name": "گابون"
+ },
+ "GM": {
+ "name": "گامبیا"
+ },
+ "GD": {
+ "name": "گرانادا"
+ },
+ "GE": {
+ "name": "گرجستون"
+ },
+ "GG": {
+ "name": "گرنزی"
+ },
+ "GL": {
+ "name": "گرینلند"
+ },
+ "GU": {
+ "name": "گوئام"
+ },
+ "GT": {
+ "name": "گواتمالا"
+ },
+ "GP": {
+ "name": "گوادلوپ"
+ },
+ "GY": {
+ "name": "گویان"
+ },
+ "GN": {
+ "name": "گینه"
+ },
+ "GW": {
+ "name": "گینه بیسائو"
+ },
+ "LA": {
+ "name": "لائوس"
+ },
+ "LV": {
+ "name": "لاتویا"
+ },
+ "LB": {
+ "name": "لبنان"
+ },
+ "LT": {
+ "name": "لتونی"
+ },
+ "LS": {
+ "name": "لسوتو"
+ },
+ "PL": {
+ "name": "لهستون"
+ },
+ "LU": {
+ "name": "لوکزامبورگ"
+ },
+ "LR": {
+ "name": "لیبریا"
+ },
+ "LY": {
+ "name": "لیبی"
+ },
+ "LI": {
+ "name": "لیختن اشتاین"
+ },
+ "MG": {
+ "name": "ماداگاسکار"
+ },
+ "MQ": {
+ "name": "مارتینیک جزیره‌ئون"
+ },
+ "MH": {
+ "name": "مارشال جزایر"
+ },
+ "MO": {
+ "name": "ماکائو (چین دله)"
+ },
+ "MW": {
+ "name": "مالاوی"
+ },
+ "MT": {
+ "name": "مالت"
+ },
+ "MV": {
+ "name": "مالدیو"
+ },
+ "MY": {
+ "name": "مالزی"
+ },
+ "ML": {
+ "name": "مالی"
+ },
+ "YT": {
+ "name": "مایوت"
+ },
+ "US": {
+ "name": "متحده ایالات"
+ },
+ "AE": {
+ "name": "متحده عربی امارات"
+ },
+ "HU": {
+ "name": "مجارستون"
+ },
+ "MA": {
+ "name": "مراکش"
+ },
+ "CF": {
+ "name": "مرکزی آفریقای جمهوری"
+ },
+ "EG": {
+ "name": "مصر"
+ },
+ "MN": {
+ "name": "مغولستون"
+ },
+ "MK": {
+ "name": "مقدونیه"
+ },
+ "MX": {
+ "name": "مکزیک"
+ },
+ "IM": {
+ "name": "من ِجزیره"
+ },
+ "MU": {
+ "name": "مورى تيوس"
+ },
+ "MR": {
+ "name": "موریتانی"
+ },
+ "MZ": {
+ "name": "موزامبیک"
+ },
+ "MD": {
+ "name": "مولداوی"
+ },
+ "MC": {
+ "name": "موناکو"
+ },
+ "MS": {
+ "name": "مونتسرات"
+ },
+ "ME": {
+ "name": "مونته‌نگرو"
+ },
+ "MM": {
+ "name": "میانمار"
+ },
+ "FM": {
+ "name": "میکرونزی"
+ },
+ "NR": {
+ "name": "نائورو"
+ },
+ "NA": {
+ "name": "نامبیا"
+ },
+ "NP": {
+ "name": "نپال"
+ },
+ "NO": {
+ "name": "نروژ"
+ },
+ "NF": {
+ "name": "نورفولک جزیره"
+ },
+ "NU": {
+ "name": "نیئو"
+ },
+ "NE": {
+ "name": "نیجر"
+ },
+ "NG": {
+ "name": "نیجریه"
+ },
+ "NI": {
+ "name": "نیکاراگوئه"
+ },
+ "NC": {
+ "name": "نیو کالیدونیا"
+ },
+ "NZ": {
+ "name": "نیوزلند"
+ },
+ "HT": {
+ "name": "هاییتی"
+ },
+ "NL": {
+ "name": "هلند"
+ },
+ "BQ": {
+ "name": "هلند ِکاراییبی جزایر"
+ },
+ "IN": {
+ "name": "هند"
+ },
+ "HN": {
+ "name": "هندوراس"
+ },
+ "HK": {
+ "name": "هنگ کنگ"
+ },
+ "VA": {
+ "name": "واتیکان"
+ },
+ "WF": {
+ "name": "والیس و فوتونا"
+ },
+ "VU": {
+ "name": "وانواتو"
+ },
+ "VE": {
+ "name": "ونزوئلا"
+ },
+ "VN": {
+ "name": "ویتنام"
+ },
+ "YE": {
+ "name": "یمن"
+ },
+ "GR": {
+ "name": "یونان"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/naq.json b/vendor/commerceguys/intl/resources/country/naq.json
new file mode 100644
index 000000000..4dc7188ce
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/naq.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afghanistanni"
+ },
+ "AX": {
+ "name": "Åland Islands"
+ },
+ "AL": {
+ "name": "Albaniab"
+ },
+ "DZ": {
+ "name": "Algeriab"
+ },
+ "AS": {
+ "name": "Americab Samoab"
+ },
+ "US": {
+ "name": "Amerikab"
+ },
+ "AD": {
+ "name": "Andorrab"
+ },
+ "AO": {
+ "name": "Angolab"
+ },
+ "AI": {
+ "name": "Anguillab"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antiguab tsî Barbudab"
+ },
+ "AR": {
+ "name": "Argentinab"
+ },
+ "AM": {
+ "name": "Armeniab"
+ },
+ "AW": {
+ "name": "Arubab"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AU": {
+ "name": "Australieb"
+ },
+ "AT": {
+ "name": "Austriab"
+ },
+ "AZ": {
+ "name": "Azerbaijanni"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahrain"
+ },
+ "BD": {
+ "name": "Banglades"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BY": {
+ "name": "Belarus"
+ },
+ "BE": {
+ "name": "Belgiummi"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benins"
+ },
+ "BM": {
+ "name": "Bermudas"
+ },
+ "BT": {
+ "name": "Bhutans"
+ },
+ "BO": {
+ "name": "Boliviab"
+ },
+ "BA": {
+ "name": "Bosniab tsî Herzegovinab"
+ },
+ "BW": {
+ "name": "Botswanab"
+ },
+ "BR": {
+ "name": "Braziliab"
+ },
+ "IO": {
+ "name": "British Indian Ocean Territory"
+ },
+ "VG": {
+ "name": "British Virgin Islands"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgariab"
+ },
+ "BF": {
+ "name": "Burkina Fasob"
+ },
+ "BI": {
+ "name": "Burundib"
+ },
+ "KH": {
+ "name": "Cambodiab"
+ },
+ "CM": {
+ "name": "Cameroonni"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "CV": {
+ "name": "Cape Verde Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "KY": {
+ "name": "Cayman Islands"
+ },
+ "CF": {
+ "name": "Central African Republiki"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "TD": {
+ "name": "Chadi"
+ },
+ "CL": {
+ "name": "Chilib"
+ },
+ "CN": {
+ "name": "Chinab"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CO": {
+ "name": "Colombiab"
+ },
+ "KM": {
+ "name": "Comoros"
+ },
+ "CG": {
+ "name": "Congob"
+ },
+ "CK": {
+ "name": "Cook Islands"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "HR": {
+ "name": "Croatiab"
+ },
+ "CU": {
+ "name": "Cubab"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "CY": {
+ "name": "Cyprus"
+ },
+ "CZ": {
+ "name": "Czech Republiki"
+ },
+ "CD": {
+ "name": "Democratic Republic of the Congo"
+ },
+ "DK": {
+ "name": "Denmarki"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DJ": {
+ "name": "Djibouti"
+ },
+ "DM": {
+ "name": "Dominicab"
+ },
+ "DO": {
+ "name": "Dominican Republic"
+ },
+ "DE": {
+ "name": "Duitslandi"
+ },
+ "TL": {
+ "name": "East Timor"
+ },
+ "EC": {
+ "name": "Ecuadori"
+ },
+ "EG": {
+ "name": "Egipteb"
+ },
+ "SV": {
+ "name": "El Salvadori"
+ },
+ "GQ": {
+ "name": "Equatorial Guineab"
+ },
+ "ER": {
+ "name": "Eritreab"
+ },
+ "EE": {
+ "name": "Estoniab"
+ },
+ "ET": {
+ "name": "Ethiopiab"
+ },
+ "FK": {
+ "name": "Falkland Islands"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fijib"
+ },
+ "FI": {
+ "name": "Finlandi"
+ },
+ "FR": {
+ "name": "Frankreiki"
+ },
+ "GF": {
+ "name": "French Guiana"
+ },
+ "PF": {
+ "name": "French Polynesia"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gaboni"
+ },
+ "GM": {
+ "name": "Gambiab"
+ },
+ "GE": {
+ "name": "Georgiab"
+ },
+ "GH": {
+ "name": "Ghanab"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GL": {
+ "name": "Greenland"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GW": {
+ "name": "Guinea-Bissau"
+ },
+ "GN": {
+ "name": "Guineab"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hongareieb"
+ },
+ "IS": {
+ "name": "Iceland"
+ },
+ "IN": {
+ "name": "Indiab"
+ },
+ "ID": {
+ "name": "Indonesiab"
+ },
+ "IR": {
+ "name": "Iranni"
+ },
+ "IQ": {
+ "name": "Iraqi"
+ },
+ "IE": {
+ "name": "Irlandi"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israeli"
+ },
+ "IT": {
+ "name": "Italiab"
+ },
+ "CI": {
+ "name": "Ivoorkusi"
+ },
+ "JM": {
+ "name": "Jamaicab"
+ },
+ "JP": {
+ "name": "Japanni"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordanni"
+ },
+ "CA": {
+ "name": "Kanadab"
+ },
+ "KZ": {
+ "name": "Kazakhstanni"
+ },
+ "KE": {
+ "name": "Kenyab"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "KP": {
+ "name": "Koreab, Noord"
+ },
+ "KR": {
+ "name": "Koreab, Suid"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwaiti"
+ },
+ "KG": {
+ "name": "Kyrgyzstanni"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LV": {
+ "name": "Latvia"
+ },
+ "LB": {
+ "name": "Lebanonni"
+ },
+ "LS": {
+ "name": "Lesothob"
+ },
+ "LR": {
+ "name": "Liberiab"
+ },
+ "LY": {
+ "name": "Libyab"
+ },
+ "LI": {
+ "name": "Liechtensteinni"
+ },
+ "LT": {
+ "name": "Lithuaniab"
+ },
+ "LU": {
+ "name": "Luxembourgi"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MK": {
+ "name": "Macedoniab"
+ },
+ "MG": {
+ "name": "Madagascari"
+ },
+ "MW": {
+ "name": "Malawib"
+ },
+ "MY": {
+ "name": "Malaysiab"
+ },
+ "MV": {
+ "name": "Maldives"
+ },
+ "ML": {
+ "name": "Malib"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MH": {
+ "name": "Marshall Islands"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Mexicob"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MA": {
+ "name": "Morocco"
+ },
+ "MZ": {
+ "name": "Mozambiki"
+ },
+ "MM": {
+ "name": "Myanmar"
+ },
+ "NA": {
+ "name": "Namibiab"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepali"
+ },
+ "NL": {
+ "name": "Netherlands"
+ },
+ "NC": {
+ "name": "New Caledonia"
+ },
+ "NZ": {
+ "name": "New Zealandi"
+ },
+ "NI": {
+ "name": "Nicaraguab"
+ },
+ "NE": {
+ "name": "Nigeri"
+ },
+ "NG": {
+ "name": "Nigerieb"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Noorweeb"
+ },
+ "NF": {
+ "name": "Norfolk Island"
+ },
+ "MP": {
+ "name": "Northern Mariana Islands"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "PK": {
+ "name": "Pakistanni"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palestinian West Bank and Gaza"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua New Guineab"
+ },
+ "PY": {
+ "name": "Paraguaib"
+ },
+ "PE": {
+ "name": "Perub"
+ },
+ "PH": {
+ "name": "Philippinni"
+ },
+ "PN": {
+ "name": "Pitcairn"
+ },
+ "PL": {
+ "name": "Polandi"
+ },
+ "PT": {
+ "name": "Portugali"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "QA": {
+ "name": "Qatar"
+ },
+ "RU": {
+ "name": "Rasiab"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RO": {
+ "name": "Romania"
+ },
+ "RW": {
+ "name": "Rwandab"
+ },
+ "SH": {
+ "name": "Saint Helena"
+ },
+ "KN": {
+ "name": "Saint Kitts and Nevis"
+ },
+ "LC": {
+ "name": "Saint Lucia"
+ },
+ "PM": {
+ "name": "Saint Pierre and Miquelon"
+ },
+ "VC": {
+ "name": "Saint Vincent and the Grenadines"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "São Tomé and Príncipe"
+ },
+ "SA": {
+ "name": "Saudi Arabiab"
+ },
+ "SN": {
+ "name": "Senegali"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapore"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SB": {
+ "name": "Solomon Islands"
+ },
+ "SO": {
+ "name": "Somaliab"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "ES": {
+ "name": "Spanieb"
+ },
+ "LK": {
+ "name": "Sri Lankab"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SD": {
+ "name": "Sudanni"
+ },
+ "ZA": {
+ "name": "Suid Afrikab"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swazilandi"
+ },
+ "SE": {
+ "name": "Swedeb"
+ },
+ "CH": {
+ "name": "Switzerlandi"
+ },
+ "SY": {
+ "name": "Syriab"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TJ": {
+ "name": "Tajikistan"
+ },
+ "TZ": {
+ "name": "Tanzaniab"
+ },
+ "TH": {
+ "name": "Thailandi"
+ },
+ "TG": {
+ "name": "Togob"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad and Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisiab"
+ },
+ "TR": {
+ "name": "Turkeieb"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TC": {
+ "name": "Turks and Caicos Islands"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "VI": {
+ "name": "U.S. Virgin Islands"
+ },
+ "UG": {
+ "name": "Ugandab"
+ },
+ "UA": {
+ "name": "Ukraine"
+ },
+ "AE": {
+ "name": "United Arab Emirates"
+ },
+ "GB": {
+ "name": "United Kingdom"
+ },
+ "UY": {
+ "name": "Uruguaib"
+ },
+ "UZ": {
+ "name": "Uzbekistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatican State"
+ },
+ "VE": {
+ "name": "Venezuelab"
+ },
+ "VN": {
+ "name": "Vietnammi"
+ },
+ "WF": {
+ "name": "Wallis and Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "GR": {
+ "name": "Xrikelandi"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "ZM": {
+ "name": "Zambiab"
+ },
+ "ZW": {
+ "name": "Zimbabweb"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/nb.json b/vendor/commerceguys/intl/resources/country/nb.json
new file mode 100644
index 000000000..61db19d5a
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/nb.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afghanistan"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Algerie"
+ },
+ "AS": {
+ "name": "Amerikansk Samoa"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarktis"
+ },
+ "AG": {
+ "name": "Antigua og Barbuda"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension"
+ },
+ "AZ": {
+ "name": "Aserbajdsjan"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahrain"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BE": {
+ "name": "Belgia"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia-Hercegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brasil"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "CA": {
+ "name": "Canada"
+ },
+ "KY": {
+ "name": "Caymanøyene"
+ },
+ "EA": {
+ "name": "Ceuta og Melilla"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CX": {
+ "name": "Christmasøya"
+ },
+ "CO": {
+ "name": "Colombia"
+ },
+ "CK": {
+ "name": "Cookøyene"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Danmark"
+ },
+ "VI": {
+ "name": "De amerikanske jomfruøyene"
+ },
+ "VG": {
+ "name": "De britiske jomfruøyene"
+ },
+ "AE": {
+ "name": "De forente arabiske emirater"
+ },
+ "TF": {
+ "name": "De franske sørterritorier"
+ },
+ "DO": {
+ "name": "Den dominikanske republikk"
+ },
+ "CF": {
+ "name": "Den sentralafrikanske republikk"
+ },
+ "CZ": {
+ "name": "Den tsjekkiske republikk"
+ },
+ "IO": {
+ "name": "Det britiske territoriet i Indiahavet"
+ },
+ "PS": {
+ "name": "Det palestinske området"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DJ": {
+ "name": "Djibouti"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egypt"
+ },
+ "GQ": {
+ "name": "Ekvatorial-Guinea"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "CI": {
+ "name": "Elfenbenskysten"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estland"
+ },
+ "ET": {
+ "name": "Etiopia"
+ },
+ "FK": {
+ "name": "Falklandsøyene"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filippinene"
+ },
+ "FI": {
+ "name": "Finland"
+ },
+ "FR": {
+ "name": "Frankrike"
+ },
+ "GF": {
+ "name": "Fransk Guyana"
+ },
+ "PF": {
+ "name": "Fransk Polynesia"
+ },
+ "FO": {
+ "name": "Færøyene"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GL": {
+ "name": "Grønland"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GW": {
+ "name": "Guinea-Bissau"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "GR": {
+ "name": "Hellas"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hongkong S.A.R. Kina"
+ },
+ "BY": {
+ "name": "Hviterussland"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IE": {
+ "name": "Irland"
+ },
+ "IS": {
+ "name": "Island"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japan"
+ },
+ "YE": {
+ "name": "Jemen"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordan"
+ },
+ "KH": {
+ "name": "Kambodsja"
+ },
+ "CM": {
+ "name": "Kamerun"
+ },
+ "IC": {
+ "name": "Kanariøyene"
+ },
+ "CV": {
+ "name": "Kapp Verde"
+ },
+ "BQ": {
+ "name": "Karibisk Nederland"
+ },
+ "KZ": {
+ "name": "Kasakhstan"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "CN": {
+ "name": "Kina"
+ },
+ "KG": {
+ "name": "Kirgisistan"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "CC": {
+ "name": "Kokosøyene"
+ },
+ "KM": {
+ "name": "Komorene"
+ },
+ "CG": {
+ "name": "Kongo-Brazzaville"
+ },
+ "CD": {
+ "name": "Kongo-Kinshasa"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "HR": {
+ "name": "Kroatia"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "CY": {
+ "name": "Kypros"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LV": {
+ "name": "Latvia"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LB": {
+ "name": "Libanon"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Litauen"
+ },
+ "LU": {
+ "name": "Luxemburg"
+ },
+ "MO": {
+ "name": "Macao S.A.R. Kina"
+ },
+ "MG": {
+ "name": "Madagaskar"
+ },
+ "MK": {
+ "name": "Makedonia"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malaysia"
+ },
+ "MV": {
+ "name": "Maldivene"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "IM": {
+ "name": "Man"
+ },
+ "MA": {
+ "name": "Marokko"
+ },
+ "MH": {
+ "name": "Marshalløyene"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Mexico"
+ },
+ "FM": {
+ "name": "Mikronesiaføderasjonen"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mosambik"
+ },
+ "MM": {
+ "name": "Myanmar (Burma)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NL": {
+ "name": "Nederland"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NZ": {
+ "name": "New Zealand"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "KP": {
+ "name": "Nord-Korea"
+ },
+ "MP": {
+ "name": "Nord-Marianene"
+ },
+ "NF": {
+ "name": "Norfolkøya"
+ },
+ "NO": {
+ "name": "Norge"
+ },
+ "NC": {
+ "name": "Ny-Caledonia"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua Ny-Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitcairn"
+ },
+ "PL": {
+ "name": "Polen"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "QA": {
+ "name": "Qatar"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RO": {
+ "name": "Romania"
+ },
+ "RU": {
+ "name": "Russland"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "KN": {
+ "name": "Saint Kitts og Nevis"
+ },
+ "BL": {
+ "name": "Saint-Barthélemy"
+ },
+ "MF": {
+ "name": "Saint-Martin"
+ },
+ "SB": {
+ "name": "Salomonøyene"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "São Tomé og Príncipe"
+ },
+ "SA": {
+ "name": "Saudi-Arabia"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychellene"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapore"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "ES": {
+ "name": "Spania"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "SH": {
+ "name": "St. Helena"
+ },
+ "LC": {
+ "name": "St. Lucia"
+ },
+ "PM": {
+ "name": "St. Pierre og Miquelon"
+ },
+ "VC": {
+ "name": "St. Vincent og Grenadinene"
+ },
+ "GB": {
+ "name": "Storbritannia"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SJ": {
+ "name": "Svalbard og Jan Mayen"
+ },
+ "CH": {
+ "name": "Sveits"
+ },
+ "SE": {
+ "name": "Sverige"
+ },
+ "SZ": {
+ "name": "Swaziland"
+ },
+ "SY": {
+ "name": "Syria"
+ },
+ "ZA": {
+ "name": "Sør-Afrika"
+ },
+ "GS": {
+ "name": "Sør-Georgia og Sør-Sandwichøyene"
+ },
+ "KR": {
+ "name": "Sør-Korea"
+ },
+ "SS": {
+ "name": "Sør-Sudan"
+ },
+ "TJ": {
+ "name": "Tadsjikistan"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TH": {
+ "name": "Thailand"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad og Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TD": {
+ "name": "Tsjad"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TC": {
+ "name": "Turks- og Caicosøyene"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "TR": {
+ "name": "Tyrkia"
+ },
+ "DE": {
+ "name": "Tyskland"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukraina"
+ },
+ "HU": {
+ "name": "Ungarn"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "US": {
+ "name": "USA"
+ },
+ "UM": {
+ "name": "USAs ytre øyer"
+ },
+ "UZ": {
+ "name": "Usbekistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikanstaten"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "EH": {
+ "name": "Vest-Sahara"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis og Futuna"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ },
+ "TL": {
+ "name": "Øst-Timor"
+ },
+ "AT": {
+ "name": "Østerrike"
+ },
+ "AX": {
+ "name": "Åland"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/nd.json b/vendor/commerceguys/intl/resources/country/nd.json
new file mode 100644
index 000000000..edeaf5abe
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/nd.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afghanistan"
+ },
+ "AR": {
+ "name": "Ajentina"
+ },
+ "AX": {
+ "name": "Åland Islands"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Aljeriya"
+ },
+ "US": {
+ "name": "Amelika"
+ },
+ "AD": {
+ "name": "Andora"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigua le Barbuda"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Arubha"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "AZ": {
+ "name": "Azerbaijan"
+ },
+ "BB": {
+ "name": "Bhabhadosi"
+ },
+ "BS": {
+ "name": "Bhahamas"
+ },
+ "BH": {
+ "name": "Bhahareni"
+ },
+ "BD": {
+ "name": "Bhangiladeshi"
+ },
+ "BY": {
+ "name": "Bhelarusi"
+ },
+ "BE": {
+ "name": "Bhelgium"
+ },
+ "BZ": {
+ "name": "Bhelize"
+ },
+ "BM": {
+ "name": "Bhemuda"
+ },
+ "BJ": {
+ "name": "Bhenini"
+ },
+ "BO": {
+ "name": "Bholiviya"
+ },
+ "BA": {
+ "name": "Bhosnia le Herzegovina"
+ },
+ "BF": {
+ "name": "Bhukina Faso"
+ },
+ "BG": {
+ "name": "Bhulgariya"
+ },
+ "BI": {
+ "name": "Bhurundi"
+ },
+ "BT": {
+ "name": "Bhutani"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brazili"
+ },
+ "IO": {
+ "name": "British Indian Ocean Territory"
+ },
+ "VG": {
+ "name": "British Virgin Islands"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "KH": {
+ "name": "Cambodia"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "CV": {
+ "name": "Cape Verde Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "KY": {
+ "name": "Cayman Islands"
+ },
+ "CF": {
+ "name": "Central African Republic"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "TD": {
+ "name": "Chadi"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CK": {
+ "name": "Cook Islands"
+ },
+ "HR": {
+ "name": "Croatia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "CY": {
+ "name": "Cyprus"
+ },
+ "CZ": {
+ "name": "Czech Republic"
+ },
+ "CD": {
+ "name": "Democratic Republic of the Congo"
+ },
+ "DK": {
+ "name": "Denmakhi"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DJ": {
+ "name": "Djibouti"
+ },
+ "DO": {
+ "name": "Dominican Republic"
+ },
+ "DM": {
+ "name": "Dominikha"
+ },
+ "TL": {
+ "name": "East Timor"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egypt"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "GQ": {
+ "name": "Equatorial Guinea"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Ethiopia"
+ },
+ "FK": {
+ "name": "Falkland Islands"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "FI": {
+ "name": "Finland"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "FR": {
+ "name": "Furansi"
+ },
+ "GA": {
+ "name": "Gabhoni"
+ },
+ "GM": {
+ "name": "Gambiya"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "DE": {
+ "name": "Germany"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GR": {
+ "name": "Greece"
+ },
+ "GL": {
+ "name": "Greenland"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GW": {
+ "name": "Guinea-Bissau"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "GF": {
+ "name": "Gwiyana ye Furansi"
+ },
+ "HT": {
+ "name": "Hayiti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hungary"
+ },
+ "IS": {
+ "name": "Iceland"
+ },
+ "IN": {
+ "name": "Indiya"
+ },
+ "ID": {
+ "name": "Indonesiya"
+ },
+ "IQ": {
+ "name": "Iraki"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IE": {
+ "name": "Ireland"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Isuraeli"
+ },
+ "IT": {
+ "name": "Itali"
+ },
+ "CI": {
+ "name": "Ivory Coast"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japan"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jodani"
+ },
+ "QA": {
+ "name": "Kathari"
+ },
+ "KZ": {
+ "name": "Kazakhstan"
+ },
+ "CM": {
+ "name": "Khameruni"
+ },
+ "CA": {
+ "name": "Khanada"
+ },
+ "KE": {
+ "name": "Khenya"
+ },
+ "KI": {
+ "name": "Khiribati"
+ },
+ "CO": {
+ "name": "Kholombiya"
+ },
+ "KM": {
+ "name": "Khomoro"
+ },
+ "CG": {
+ "name": "Khongo"
+ },
+ "CR": {
+ "name": "Khosta Rikha"
+ },
+ "KW": {
+ "name": "Khuweiti"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KG": {
+ "name": "Kyrgyzstan"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LV": {
+ "name": "Latvia"
+ },
+ "LB": {
+ "name": "Lebhanoni"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LR": {
+ "name": "Libheriya"
+ },
+ "LY": {
+ "name": "Libhiya"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lithuania"
+ },
+ "LU": {
+ "name": "Luxembourg"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagaska"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MV": {
+ "name": "Maldives"
+ },
+ "MY": {
+ "name": "Malezhiya"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MH": {
+ "name": "Marshall Islands"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Meksikho"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monakho"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MA": {
+ "name": "Morokho"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar"
+ },
+ "ZA": {
+ "name": "Mzansi ye Afrika"
+ },
+ "NA": {
+ "name": "Namibhiya"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nephali"
+ },
+ "NL": {
+ "name": "Netherlands"
+ },
+ "NC": {
+ "name": "New Caledonia"
+ },
+ "NZ": {
+ "name": "New Zealand"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigeriya"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NF": {
+ "name": "Norfolk Island"
+ },
+ "KP": {
+ "name": "North Korea"
+ },
+ "MP": {
+ "name": "Northern Mariana Islands"
+ },
+ "NO": {
+ "name": "Noweyi"
+ },
+ "OM": {
+ "name": "Omani"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palestinian West Bank and Gaza"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua New Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PK": {
+ "name": "Phakistani"
+ },
+ "PE": {
+ "name": "Pheru"
+ },
+ "PH": {
+ "name": "Philippines"
+ },
+ "PL": {
+ "name": "Pholandi"
+ },
+ "PF": {
+ "name": "Pholinesiya ye Fulansi"
+ },
+ "PN": {
+ "name": "Pitcairn"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "RU": {
+ "name": "Rashiya"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RO": {
+ "name": "Romania"
+ },
+ "RW": {
+ "name": "Ruwanda"
+ },
+ "SH": {
+ "name": "Saint Helena"
+ },
+ "KN": {
+ "name": "Saint Kitts and Nevis"
+ },
+ "LC": {
+ "name": "Saint Lucia"
+ },
+ "PM": {
+ "name": "Saint Pierre and Miquelon"
+ },
+ "VC": {
+ "name": "Saint Vincent and the Grenadines"
+ },
+ "AS": {
+ "name": "Samoa ye Amelika"
+ },
+ "WS": {
+ "name": "Samowa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "São Tomé and Príncipe"
+ },
+ "SA": {
+ "name": "Saudi Arabia"
+ },
+ "SN": {
+ "name": "Senegali"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapore"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SB": {
+ "name": "Solomon Islands"
+ },
+ "SO": {
+ "name": "Somaliya"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "KR": {
+ "name": "South Korea"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "ES": {
+ "name": "Spain"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SD": {
+ "name": "Sudani"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swaziland"
+ },
+ "SE": {
+ "name": "Sweden"
+ },
+ "CH": {
+ "name": "Switzerland"
+ },
+ "SY": {
+ "name": "Syria"
+ },
+ "TJ": {
+ "name": "Tajikistan"
+ },
+ "TZ": {
+ "name": "Tanzaniya"
+ },
+ "TH": {
+ "name": "Thayilandi"
+ },
+ "TW": {
+ "name": "Thayiwani"
+ },
+ "TR": {
+ "name": "Thekhi"
+ },
+ "TG": {
+ "name": "Thogo"
+ },
+ "TK": {
+ "name": "Thokelawu"
+ },
+ "TO": {
+ "name": "Thonga"
+ },
+ "TV": {
+ "name": "Thuvalu"
+ },
+ "TT": {
+ "name": "Trinidad le Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisiya"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TC": {
+ "name": "Turks and Caicos Islands"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "VI": {
+ "name": "U.S. Virgin Islands"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "AE": {
+ "name": "United Arab Emirates"
+ },
+ "GB": {
+ "name": "United Kingdom"
+ },
+ "UZ": {
+ "name": "Uzbekistan"
+ },
+ "VA": {
+ "name": "Vatican State"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VU": {
+ "name": "Vhanuatu"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis and Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yemeni"
+ },
+ "UA": {
+ "name": "Yukreini"
+ },
+ "UY": {
+ "name": "Yurugwai"
+ },
+ "ZM": {
+ "name": "Zambiya"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/ne.json b/vendor/commerceguys/intl/resources/country/ne.json
new file mode 100644
index 000000000..9373cb068
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/ne.json
@@ -0,0 +1,761 @@
+{
+ "AO": {
+ "name": "अङ्गोला"
+ },
+ "AZ": {
+ "name": "अजरबैजान"
+ },
+ "AQ": {
+ "name": "अन्टारटिका"
+ },
+ "AD": {
+ "name": "अन्डोर्रा"
+ },
+ "AF": {
+ "name": "अफगानिस्तान"
+ },
+ "AS": {
+ "name": "अमेरिकी समोआ"
+ },
+ "AR": {
+ "name": "अर्जेन्टिना"
+ },
+ "AX": {
+ "name": "अलान्ड टापुहरु"
+ },
+ "DZ": {
+ "name": "अल्जेरिया"
+ },
+ "AL": {
+ "name": "अल्बानिया"
+ },
+ "AT": {
+ "name": "अष्ट्रिया"
+ },
+ "AU": {
+ "name": "अष्ट्रेलिया"
+ },
+ "IM": {
+ "name": "आइज्ले अफ् म्यान"
+ },
+ "CI": {
+ "name": "आइभोरी कोस्ट"
+ },
+ "IS": {
+ "name": "आइस्ल्याण्ड"
+ },
+ "AI": {
+ "name": "आङ्गुइला"
+ },
+ "IE": {
+ "name": "आयरल्याण्ड"
+ },
+ "AW": {
+ "name": "आरूबा"
+ },
+ "AM": {
+ "name": "आर्मेनिया"
+ },
+ "EC": {
+ "name": "इक्वडेर"
+ },
+ "IL": {
+ "name": "इजरायल"
+ },
+ "EG": {
+ "name": "इजिप्ट"
+ },
+ "IT": {
+ "name": "इटाली"
+ },
+ "ET": {
+ "name": "इथियोपिया"
+ },
+ "ID": {
+ "name": "इन्डोनेशिया"
+ },
+ "IQ": {
+ "name": "इराक"
+ },
+ "IR": {
+ "name": "इरान"
+ },
+ "EE": {
+ "name": "इस्टोनिया"
+ },
+ "UZ": {
+ "name": "उज्बेकिस्तान"
+ },
+ "KP": {
+ "name": "उत्तर कोरिया"
+ },
+ "MP": {
+ "name": "उत्तरी मारिआना टापु"
+ },
+ "UY": {
+ "name": "उरूग्वे"
+ },
+ "AG": {
+ "name": "एन्टिगुआ र बारबुडा"
+ },
+ "ER": {
+ "name": "एरित्रिया"
+ },
+ "SV": {
+ "name": "एल् साल्भाडोर"
+ },
+ "AC": {
+ "name": "एस्केन्सन टापु"
+ },
+ "OM": {
+ "name": "ओमन"
+ },
+ "QA": {
+ "name": "कतार"
+ },
+ "KH": {
+ "name": "कम्बोडिया"
+ },
+ "KZ": {
+ "name": "काजाकस्तान"
+ },
+ "KI": {
+ "name": "किरिबाटी"
+ },
+ "KG": {
+ "name": "किर्गिस्थान"
+ },
+ "CK": {
+ "name": "कुक टापुहरु"
+ },
+ "CW": {
+ "name": "कुराकाओ"
+ },
+ "KW": {
+ "name": "कुवेत"
+ },
+ "CF": {
+ "name": "केन्द्रीय अफ्रिकी गणतन्त्र"
+ },
+ "KE": {
+ "name": "केन्या"
+ },
+ "CV": {
+ "name": "केप भर्डे"
+ },
+ "KY": {
+ "name": "केयमान टापु"
+ },
+ "CC": {
+ "name": "कोकोस (किलिंग) टापुहरु"
+ },
+ "CG": {
+ "name": "कोङ्गो - ब्राज्जाभिल्ले"
+ },
+ "CD": {
+ "name": "कोङ्गो-किन्शासा"
+ },
+ "KM": {
+ "name": "कोमोरोस"
+ },
+ "CO": {
+ "name": "कोलोम्बिया"
+ },
+ "CR": {
+ "name": "कोष्टारिका"
+ },
+ "XK": {
+ "name": "कोसोवो"
+ },
+ "CA": {
+ "name": "क्यानाडा"
+ },
+ "IC": {
+ "name": "क्यानारी टापुहरू"
+ },
+ "CM": {
+ "name": "क्यामरून"
+ },
+ "BQ": {
+ "name": "क्यारिवियन नेदरल्याण्ड्स"
+ },
+ "CU": {
+ "name": "क्युबा"
+ },
+ "CX": {
+ "name": "क्रिष्टमस टापु"
+ },
+ "HR": {
+ "name": "क्रोएशिया"
+ },
+ "GM": {
+ "name": "गाम्विया"
+ },
+ "GA": {
+ "name": "गावोन"
+ },
+ "GN": {
+ "name": "गिनी"
+ },
+ "GW": {
+ "name": "गिनी-बिसाउ"
+ },
+ "GG": {
+ "name": "गुएर्नसे"
+ },
+ "GY": {
+ "name": "गुयाना"
+ },
+ "GU": {
+ "name": "गुवाम"
+ },
+ "GL": {
+ "name": "ग्रिनल्याण्ड"
+ },
+ "GR": {
+ "name": "ग्रिस"
+ },
+ "GD": {
+ "name": "ग्रेनाडा"
+ },
+ "GT": {
+ "name": "ग्वाटेमाला"
+ },
+ "GP": {
+ "name": "ग्वाडेलुप"
+ },
+ "GH": {
+ "name": "घाना"
+ },
+ "TD": {
+ "name": "चाड"
+ },
+ "CL": {
+ "name": "चिली"
+ },
+ "CN": {
+ "name": "चीन"
+ },
+ "CZ": {
+ "name": "चेक गणतन्त्र"
+ },
+ "JM": {
+ "name": "जमाइका"
+ },
+ "GE": {
+ "name": "जर्जिया"
+ },
+ "DE": {
+ "name": "जर्मनी"
+ },
+ "JE": {
+ "name": "जर्सी"
+ },
+ "JP": {
+ "name": "जापान"
+ },
+ "ZM": {
+ "name": "जाम्बिया"
+ },
+ "GI": {
+ "name": "जिब्राल्टार"
+ },
+ "ZW": {
+ "name": "जिम्बाबे"
+ },
+ "JO": {
+ "name": "जोर्डन"
+ },
+ "TR": {
+ "name": "टर्की"
+ },
+ "TL": {
+ "name": "टिमोर-लेस्टे"
+ },
+ "TO": {
+ "name": "टोंगा"
+ },
+ "TG": {
+ "name": "टोगो"
+ },
+ "TN": {
+ "name": "ट्युनिसिया"
+ },
+ "TA": {
+ "name": "ट्रिस्टान डा कुन्हा"
+ },
+ "DJ": {
+ "name": "डिजिबुटी"
+ },
+ "DG": {
+ "name": "डियगो गार्सिया"
+ },
+ "DK": {
+ "name": "डेनमार्क"
+ },
+ "DO": {
+ "name": "डोमिनिकन गणतन्त्र"
+ },
+ "DM": {
+ "name": "डोमिनिका"
+ },
+ "TW": {
+ "name": "ताइवान"
+ },
+ "TJ": {
+ "name": "ताजिकिस्तान"
+ },
+ "TZ": {
+ "name": "तान्जानिया"
+ },
+ "TV": {
+ "name": "तुभालु"
+ },
+ "TC": {
+ "name": "तुर्क र काइकोस टापु"
+ },
+ "TM": {
+ "name": "तुर्कमेनिस्तान"
+ },
+ "TK": {
+ "name": "तोकेलाउ"
+ },
+ "TT": {
+ "name": "त्रिनिडाड एण्ड टोबागो"
+ },
+ "TH": {
+ "name": "थाइल्याण्ड"
+ },
+ "ZA": {
+ "name": "दक्षिण अफ्रिका"
+ },
+ "KR": {
+ "name": "दक्षिण कोरिया"
+ },
+ "GS": {
+ "name": "दक्षिण जर्जिया र दक्षिण स्यान्डवीच टापुहरू"
+ },
+ "SS": {
+ "name": "दक्षिणी सुडान"
+ },
+ "NC": {
+ "name": "नयाँ कालेडोनिया"
+ },
+ "NO": {
+ "name": "नर्वे"
+ },
+ "NE": {
+ "name": "नाइजर"
+ },
+ "NG": {
+ "name": "नाइजेरिया"
+ },
+ "NR": {
+ "name": "नाउरू"
+ },
+ "NA": {
+ "name": "नामिबिया"
+ },
+ "NI": {
+ "name": "निकारागुवा"
+ },
+ "NU": {
+ "name": "नियुइ"
+ },
+ "NL": {
+ "name": "नेदरल्याण्ड्स"
+ },
+ "NP": {
+ "name": "नेपाल"
+ },
+ "NF": {
+ "name": "नोरफोल्क टापु"
+ },
+ "NZ": {
+ "name": "न्युजिल्याण्ड"
+ },
+ "PA": {
+ "name": "पनामा"
+ },
+ "PG": {
+ "name": "पपुआ न्यू गाइनिया"
+ },
+ "PW": {
+ "name": "पलाउ"
+ },
+ "EH": {
+ "name": "पश्चिमी साहारा"
+ },
+ "PK": {
+ "name": "पाकिस्तान"
+ },
+ "PN": {
+ "name": "पिटकाइर्न टापुहरु"
+ },
+ "PR": {
+ "name": "पुएर्टो रिको"
+ },
+ "PE": {
+ "name": "पेरू"
+ },
+ "PT": {
+ "name": "पोर्चुगल"
+ },
+ "PL": {
+ "name": "पोल्याण्ड"
+ },
+ "PY": {
+ "name": "प्याराग्वे"
+ },
+ "PS": {
+ "name": "प्यालेस्टनी भू-भागहरु"
+ },
+ "FK": {
+ "name": "फकल्याण्ड टापुहरु"
+ },
+ "FO": {
+ "name": "फारो टापुहरू"
+ },
+ "FJ": {
+ "name": "फिजी"
+ },
+ "FI": {
+ "name": "फिन्ल्याण्ड"
+ },
+ "PH": {
+ "name": "फिलिपिन्स"
+ },
+ "FR": {
+ "name": "फ्रान्स"
+ },
+ "GF": {
+ "name": "फ्रान्सेली गायना"
+ },
+ "TF": {
+ "name": "फ्रान्सेली दक्षिणी क्षेत्रहरु"
+ },
+ "PF": {
+ "name": "फ्रान्सेली पोलिनेसिया"
+ },
+ "BD": {
+ "name": "बङ्गलादेश"
+ },
+ "BF": {
+ "name": "बर्किना फासो"
+ },
+ "BM": {
+ "name": "बर्मुडा"
+ },
+ "BH": {
+ "name": "बहराइन"
+ },
+ "BS": {
+ "name": "बहामास"
+ },
+ "BB": {
+ "name": "बार्बाडोस"
+ },
+ "BI": {
+ "name": "बुरूण्डी"
+ },
+ "BG": {
+ "name": "बुल्गेरिया"
+ },
+ "BJ": {
+ "name": "बेनिन"
+ },
+ "GB": {
+ "name": "बेलायत"
+ },
+ "VG": {
+ "name": "बेलायती भर्जिन टापुहरु"
+ },
+ "IO": {
+ "name": "बेलायती हिन्द महासागर क्षेत्र"
+ },
+ "BY": {
+ "name": "बेलारूस"
+ },
+ "BZ": {
+ "name": "बेलिज"
+ },
+ "BE": {
+ "name": "बेल्जियम"
+ },
+ "BW": {
+ "name": "बोट्स्वाना"
+ },
+ "BO": {
+ "name": "बोलिभिया"
+ },
+ "BA": {
+ "name": "बोस्निया एण्ड हर्जगोभिनिया"
+ },
+ "BR": {
+ "name": "ब्राजिल"
+ },
+ "BN": {
+ "name": "ब्रुनाइ"
+ },
+ "VU": {
+ "name": "भानुआतु"
+ },
+ "IN": {
+ "name": "भारत"
+ },
+ "VN": {
+ "name": "भिएतनाम"
+ },
+ "BT": {
+ "name": "भुटान"
+ },
+ "GQ": {
+ "name": "भू-मध्यीय गिनी"
+ },
+ "VA": {
+ "name": "भेटिकन सिटी"
+ },
+ "VE": {
+ "name": "भेनेजुएला"
+ },
+ "MO": {
+ "name": "मकावो चिनिँया स्वशासित क्षेत्र"
+ },
+ "MN": {
+ "name": "मङ्गोलिया"
+ },
+ "MG": {
+ "name": "मडागास्कर"
+ },
+ "MY": {
+ "name": "मलेसिया"
+ },
+ "FM": {
+ "name": "माइक्रोनेसिया"
+ },
+ "MU": {
+ "name": "माउरिटस"
+ },
+ "MR": {
+ "name": "माउरिटानिया"
+ },
+ "YT": {
+ "name": "मायोट्ट"
+ },
+ "MQ": {
+ "name": "मार्टिनिक"
+ },
+ "MH": {
+ "name": "मार्शल टापुहरु"
+ },
+ "MW": {
+ "name": "मालावी"
+ },
+ "ML": {
+ "name": "माली"
+ },
+ "MT": {
+ "name": "माल्टा"
+ },
+ "MD": {
+ "name": "माल्डोभा"
+ },
+ "MV": {
+ "name": "माल्दिभ्स"
+ },
+ "MX": {
+ "name": "मेक्सिको"
+ },
+ "MZ": {
+ "name": "मोजाम्बिक"
+ },
+ "MC": {
+ "name": "मोनाको"
+ },
+ "MS": {
+ "name": "मोन्टसेर्राट"
+ },
+ "ME": {
+ "name": "मोन्टेनेग्रो"
+ },
+ "MA": {
+ "name": "मोरोक्को"
+ },
+ "MK": {
+ "name": "म्याकेडोनिया"
+ },
+ "MM": {
+ "name": "म्यान्मार (बर्मा)"
+ },
+ "UA": {
+ "name": "युक्रेन"
+ },
+ "UG": {
+ "name": "युगाण्डा"
+ },
+ "YE": {
+ "name": "येमेन"
+ },
+ "RW": {
+ "name": "रवाण्डा"
+ },
+ "RE": {
+ "name": "रियुनियन"
+ },
+ "RU": {
+ "name": "रूस"
+ },
+ "RO": {
+ "name": "रोमानिया"
+ },
+ "LU": {
+ "name": "लक्जेमबर्ग"
+ },
+ "LR": {
+ "name": "लाइबेरिया"
+ },
+ "LA": {
+ "name": "लाओस"
+ },
+ "LV": {
+ "name": "लाट्भिया"
+ },
+ "LI": {
+ "name": "लिएखटेन्स्टाइन"
+ },
+ "LT": {
+ "name": "लिथुअनिया"
+ },
+ "LY": {
+ "name": "लिबिया"
+ },
+ "LB": {
+ "name": "लेबनन"
+ },
+ "LS": {
+ "name": "लेसोथो"
+ },
+ "WF": {
+ "name": "वालिस र फुटुना"
+ },
+ "LK": {
+ "name": "श्रीलङ्का"
+ },
+ "SJ": {
+ "name": "सभाल्बार्ड र जान मायेन"
+ },
+ "AE": {
+ "name": "संयुक्त अरब इमिराट्स"
+ },
+ "US": {
+ "name": "संयुक्त राज्य"
+ },
+ "VI": {
+ "name": "संयुक्त राज्य भर्जिन टापुहरु"
+ },
+ "UM": {
+ "name": "संयुक्त राज्यका बाह्य टापुहरु"
+ },
+ "RS": {
+ "name": "सर्बिया"
+ },
+ "CY": {
+ "name": "साइप्रस"
+ },
+ "SA": {
+ "name": "साउदी अरब"
+ },
+ "ST": {
+ "name": "साओ टोमे र प्रिन्सिप"
+ },
+ "SM": {
+ "name": "सान् मारिनो"
+ },
+ "WS": {
+ "name": "सामोआ"
+ },
+ "EA": {
+ "name": "सिउटा र मेलिला"
+ },
+ "SL": {
+ "name": "सिएर्रा लिओन"
+ },
+ "SG": {
+ "name": "सिङ्गापुर"
+ },
+ "SX": {
+ "name": "सिन्ट मार्टेन"
+ },
+ "SY": {
+ "name": "सिरिया"
+ },
+ "SD": {
+ "name": "सुडान"
+ },
+ "SR": {
+ "name": "सुरिनेम"
+ },
+ "SC": {
+ "name": "सेचेलेस"
+ },
+ "SN": {
+ "name": "सेनेगाल"
+ },
+ "KN": {
+ "name": "सेन्ट किट्स र नेभिस"
+ },
+ "PM": {
+ "name": "सेन्ट पिर्रे र मिक्केलोन"
+ },
+ "BL": {
+ "name": "सेन्ट बार्थालेमी"
+ },
+ "VC": {
+ "name": "सेन्ट भिन्सेन्ट र ग्रेनाडिन्स"
+ },
+ "MF": {
+ "name": "सेन्ट मार्टिन"
+ },
+ "LC": {
+ "name": "सेन्ट लुसिया"
+ },
+ "SH": {
+ "name": "सेन्ट हेलेना"
+ },
+ "SO": {
+ "name": "सोमालिया"
+ },
+ "SB": {
+ "name": "सोलोमोन टापुहरु"
+ },
+ "ES": {
+ "name": "स्पेन"
+ },
+ "SK": {
+ "name": "स्लोभाकिया"
+ },
+ "SI": {
+ "name": "स्लोभेनिया"
+ },
+ "SZ": {
+ "name": "स्वाजिल्याण्ड"
+ },
+ "CH": {
+ "name": "स्विजरल्याण्ड"
+ },
+ "SE": {
+ "name": "स्विडेन"
+ },
+ "HK": {
+ "name": "हङकङ चिनिया समाजवादी स्वायत्त क्षेत्र"
+ },
+ "HU": {
+ "name": "हङ्गेरी"
+ },
+ "HN": {
+ "name": "हन्डुरास"
+ },
+ "HT": {
+ "name": "हैटी"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/nl.json b/vendor/commerceguys/intl/resources/country/nl.json
new file mode 100644
index 000000000..92f6c5c55
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/nl.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afghanistan"
+ },
+ "AX": {
+ "name": "Åland"
+ },
+ "AL": {
+ "name": "Albanië"
+ },
+ "DZ": {
+ "name": "Algerije"
+ },
+ "AS": {
+ "name": "Amerikaans-Samoa"
+ },
+ "VI": {
+ "name": "Amerikaanse Maagdeneilanden"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigua en Barbuda"
+ },
+ "AR": {
+ "name": "Argentinië"
+ },
+ "AM": {
+ "name": "Armenië"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension"
+ },
+ "AU": {
+ "name": "Australië"
+ },
+ "AZ": {
+ "name": "Azerbeidzjan"
+ },
+ "BS": {
+ "name": "Bahama’s"
+ },
+ "BH": {
+ "name": "Bahrein"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BY": {
+ "name": "Belarus"
+ },
+ "BE": {
+ "name": "België"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnië en Herzegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brazilië"
+ },
+ "IO": {
+ "name": "Britse Gebieden in de Indische Oceaan"
+ },
+ "VG": {
+ "name": "Britse Maagdeneilanden"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgarije"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "KH": {
+ "name": "Cambodja"
+ },
+ "CA": {
+ "name": "Canada"
+ },
+ "IC": {
+ "name": "Canarische Eilanden"
+ },
+ "BQ": {
+ "name": "Caribisch Nederland"
+ },
+ "CF": {
+ "name": "Centraal-Afrikaanse Republiek"
+ },
+ "EA": {
+ "name": "Ceuta en Melilla"
+ },
+ "CL": {
+ "name": "Chili"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CX": {
+ "name": "Christmaseiland"
+ },
+ "CC": {
+ "name": "Cocoseilanden"
+ },
+ "CO": {
+ "name": "Colombia"
+ },
+ "KM": {
+ "name": "Comoren"
+ },
+ "CG": {
+ "name": "Congo-Brazzaville"
+ },
+ "CD": {
+ "name": "Congo-Kinshasa"
+ },
+ "CK": {
+ "name": "Cookeilanden"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "CY": {
+ "name": "Cyprus"
+ },
+ "DK": {
+ "name": "Denemarken"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DJ": {
+ "name": "Djibouti"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "DO": {
+ "name": "Dominicaanse Republiek"
+ },
+ "DE": {
+ "name": "Duitsland"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egypte"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "GQ": {
+ "name": "Equatoriaal-Guinea"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estland"
+ },
+ "ET": {
+ "name": "Ethiopië"
+ },
+ "FO": {
+ "name": "Faeröer"
+ },
+ "FK": {
+ "name": "Falklandeilanden"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filipijnen"
+ },
+ "FI": {
+ "name": "Finland"
+ },
+ "FR": {
+ "name": "Frankrijk"
+ },
+ "GF": {
+ "name": "Frans-Guyana"
+ },
+ "PF": {
+ "name": "Frans-Polynesië"
+ },
+ "TF": {
+ "name": "Franse Gebieden in de zuidelijke Indische Oceaan"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgië"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GR": {
+ "name": "Griekenland"
+ },
+ "GL": {
+ "name": "Groenland"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GN": {
+ "name": "Guinee"
+ },
+ "GW": {
+ "name": "Guinee-Bissau"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haïti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HU": {
+ "name": "Hongarije"
+ },
+ "HK": {
+ "name": "Hongkong SAR van China"
+ },
+ "IE": {
+ "name": "Ierland"
+ },
+ "IS": {
+ "name": "IJsland"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesië"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israël"
+ },
+ "IT": {
+ "name": "Italië"
+ },
+ "CI": {
+ "name": "Ivoorkust"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japan"
+ },
+ "YE": {
+ "name": "Jemen"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordanië"
+ },
+ "KY": {
+ "name": "Kaaimaneilanden"
+ },
+ "CV": {
+ "name": "Kaapverdië"
+ },
+ "CM": {
+ "name": "Kameroen"
+ },
+ "KZ": {
+ "name": "Kazachstan"
+ },
+ "KE": {
+ "name": "Kenia"
+ },
+ "KG": {
+ "name": "Kirgizië"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "UM": {
+ "name": "Kleine afgelegen eilanden van de Verenigde Staten"
+ },
+ "KW": {
+ "name": "Koeweit"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "HR": {
+ "name": "Kroatië"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LV": {
+ "name": "Letland"
+ },
+ "LB": {
+ "name": "Libanon"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libië"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Litouwen"
+ },
+ "LU": {
+ "name": "Luxemburg"
+ },
+ "MO": {
+ "name": "Macau SAR van China"
+ },
+ "MK": {
+ "name": "Macedonië"
+ },
+ "MG": {
+ "name": "Madagaskar"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MV": {
+ "name": "Maldiven"
+ },
+ "MY": {
+ "name": "Maleisië"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marokko"
+ },
+ "MH": {
+ "name": "Marshalleilanden"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MR": {
+ "name": "Mauritanië"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Mexico"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldavië"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongolië"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar (Birma)"
+ },
+ "NA": {
+ "name": "Namibië"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NL": {
+ "name": "Nederland"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NC": {
+ "name": "Nieuw-Caledonië"
+ },
+ "NZ": {
+ "name": "Nieuw-Zeeland"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "KP": {
+ "name": "Noord-Korea"
+ },
+ "MP": {
+ "name": "Noordelijke Marianen"
+ },
+ "NO": {
+ "name": "Noorwegen"
+ },
+ "NF": {
+ "name": "Norfolk"
+ },
+ "UG": {
+ "name": "Oeganda"
+ },
+ "UA": {
+ "name": "Oekraïne"
+ },
+ "UZ": {
+ "name": "Oezbekistan"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "TL": {
+ "name": "Oost-Timor"
+ },
+ "AT": {
+ "name": "Oostenrijk"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palestijnse gebieden"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papoea-Nieuw-Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitcairneilanden"
+ },
+ "PL": {
+ "name": "Polen"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "QA": {
+ "name": "Qatar"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RO": {
+ "name": "Roemenië"
+ },
+ "RU": {
+ "name": "Rusland"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "KN": {
+ "name": "Saint Kitts en Nevis"
+ },
+ "LC": {
+ "name": "Saint Lucia"
+ },
+ "VC": {
+ "name": "Saint Vincent en de Grenadines"
+ },
+ "BL": {
+ "name": "Saint-Barthélemy"
+ },
+ "MF": {
+ "name": "Saint-Martin"
+ },
+ "PM": {
+ "name": "Saint-Pierre en Miquelon"
+ },
+ "SB": {
+ "name": "Salomonseilanden"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "Sao Tomé en Principe"
+ },
+ "SA": {
+ "name": "Saoedi-Arabië"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Servië"
+ },
+ "SC": {
+ "name": "Seychellen"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapore"
+ },
+ "SH": {
+ "name": "Sint-Helena"
+ },
+ "SX": {
+ "name": "Sint-Maarten"
+ },
+ "SI": {
+ "name": "Slovenië"
+ },
+ "SK": {
+ "name": "Slowakije"
+ },
+ "SD": {
+ "name": "Soedan"
+ },
+ "SO": {
+ "name": "Somalië"
+ },
+ "ES": {
+ "name": "Spanje"
+ },
+ "SJ": {
+ "name": "Spitsbergen en Jan Mayen"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SZ": {
+ "name": "Swaziland"
+ },
+ "SY": {
+ "name": "Syrië"
+ },
+ "TJ": {
+ "name": "Tadzjikistan"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TH": {
+ "name": "Thailand"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad en Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TD": {
+ "name": "Tsjaad"
+ },
+ "CZ": {
+ "name": "Tsjechië"
+ },
+ "TN": {
+ "name": "Tunesië"
+ },
+ "TR": {
+ "name": "Turkije"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TC": {
+ "name": "Turks- en Caicoseilanden"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vaticaanstad"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "GB": {
+ "name": "Verenigd Koninkrijk"
+ },
+ "AE": {
+ "name": "Verenigde Arabische Emiraten"
+ },
+ "US": {
+ "name": "Verenigde Staten"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis en Futuna"
+ },
+ "EH": {
+ "name": "Westelijke Sahara"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ },
+ "ZA": {
+ "name": "Zuid-Afrika"
+ },
+ "GS": {
+ "name": "Zuid-Georgia en Zuidelijke Sandwicheilanden"
+ },
+ "KR": {
+ "name": "Zuid-Korea"
+ },
+ "SS": {
+ "name": "Zuid-Soedan"
+ },
+ "SE": {
+ "name": "Zweden"
+ },
+ "CH": {
+ "name": "Zwitserland"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/nmg.json b/vendor/commerceguys/intl/resources/country/nmg.json
new file mode 100644
index 000000000..522d50b83
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/nmg.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afganistaŋ"
+ },
+ "ZA": {
+ "name": "Afríka yí sí"
+ },
+ "EG": {
+ "name": "Ägyptɛn"
+ },
+ "AX": {
+ "name": "Åland Islands"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Algeria"
+ },
+ "US": {
+ "name": "Amɛŕka"
+ },
+ "AD": {
+ "name": "Andɔ́ra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguílla"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antíga bá Barbúda"
+ },
+ "AR": {
+ "name": "Argentína"
+ },
+ "AM": {
+ "name": "Arménia"
+ },
+ "AW": {
+ "name": "Árúba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "IL": {
+ "name": "Äsrɛl"
+ },
+ "AZ": {
+ "name": "Azerbaïjaŋ"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahrain"
+ },
+ "BB": {
+ "name": "Barbado"
+ },
+ "BY": {
+ "name": "Belarus"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BE": {
+ "name": "Bɛlgik"
+ },
+ "BZ": {
+ "name": "Bɛliz"
+ },
+ "BD": {
+ "name": "Bɛŋgladɛsh"
+ },
+ "BM": {
+ "name": "Bɛrmuda"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia na Ɛrzegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brésil"
+ },
+ "BN": {
+ "name": "Brunɛi"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Butaŋ"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Danemark"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Dominíka"
+ },
+ "EC": {
+ "name": "Ekuateur"
+ },
+ "ER": {
+ "name": "Erytrea"
+ },
+ "ET": {
+ "name": "Ethiopiá"
+ },
+ "EE": {
+ "name": "Ɛstonia"
+ },
+ "FR": {
+ "name": "Fala"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fijiá"
+ },
+ "PH": {
+ "name": "Filipin"
+ },
+ "FI": {
+ "name": "Finlande"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gabɔŋ"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GH": {
+ "name": "Gána"
+ },
+ "GI": {
+ "name": "Gilbratar"
+ },
+ "GL": {
+ "name": "Greenland"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GR": {
+ "name": "Grɛce"
+ },
+ "GP": {
+ "name": "Guadeloup"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GN": {
+ "name": "Guine"
+ },
+ "GW": {
+ "name": "Guine Bisso"
+ },
+ "GQ": {
+ "name": "Guine Ekuatorial"
+ },
+ "PG": {
+ "name": "Guine Papuasi"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "GF": {
+ "name": "Guyane Fala"
+ },
+ "HT": {
+ "name": "Haïti"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IE": {
+ "name": "Irland"
+ },
+ "IS": {
+ "name": "Island"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JM": {
+ "name": "Jamaika"
+ },
+ "DE": {
+ "name": "Jaman"
+ },
+ "JP": {
+ "name": "Japɔn"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "DJ": {
+ "name": "Jibúti"
+ },
+ "JO": {
+ "name": "Jɔrdania"
+ },
+ "GE": {
+ "name": "Jɔrgia"
+ },
+ "NC": {
+ "name": "Kaledoni nwanah"
+ },
+ "KH": {
+ "name": "Kambodia"
+ },
+ "CM": {
+ "name": "Kamerun"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "QA": {
+ "name": "Katar"
+ },
+ "KZ": {
+ "name": "Kazakstaŋ"
+ },
+ "KE": {
+ "name": "Kɛnya"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "CG": {
+ "name": "Kongo"
+ },
+ "CD": {
+ "name": "Kongó Zaïre"
+ },
+ "KP": {
+ "name": "Koré yí bvuɔ"
+ },
+ "KR": {
+ "name": "Koré yí sí"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "Kosta Ríka"
+ },
+ "CI": {
+ "name": "Kote d´Ivoire"
+ },
+ "KW": {
+ "name": "Kowɛit"
+ },
+ "CO": {
+ "name": "Kɔlɔ́mbia"
+ },
+ "KM": {
+ "name": "Kɔmɔr"
+ },
+ "HR": {
+ "name": "Kroasia"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "KG": {
+ "name": "Kyrgystaŋ"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LV": {
+ "name": "Latvia"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LB": {
+ "name": "Libaŋ"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Lishenstein"
+ },
+ "LT": {
+ "name": "Lituaniá"
+ },
+ "LU": {
+ "name": "Luxembourg"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagaskar"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malaysia"
+ },
+ "MV": {
+ "name": "Maldivia"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "FK": {
+ "name": "Maŋ má Falkland"
+ },
+ "CV": {
+ "name": "Maŋ́ má Kapvɛr"
+ },
+ "CK": {
+ "name": "Maŋ́ má Kook"
+ },
+ "KY": {
+ "name": "Maŋ́ má kumbi"
+ },
+ "MH": {
+ "name": "Maŋ́ má Marshall"
+ },
+ "NF": {
+ "name": "Maŋ́ má Nɔrfɔrk"
+ },
+ "SB": {
+ "name": "Maŋ́ má Salomɔn"
+ },
+ "TC": {
+ "name": "Maŋ́ má Turk na Kaiko"
+ },
+ "MP": {
+ "name": "Maŋ́ Mariá"
+ },
+ "MA": {
+ "name": "Marɔk"
+ },
+ "MQ": {
+ "name": "Martinika"
+ },
+ "YT": {
+ "name": "Mayɔt"
+ },
+ "MX": {
+ "name": "Mɛxik"
+ },
+ "FM": {
+ "name": "Mikronesia"
+ },
+ "AE": {
+ "name": "Minlambɔ́ Nsaŋ́nsa mí Arabia"
+ },
+ "VI": {
+ "name": "Minsilɛ mí maŋ́ m´Amɛrka"
+ },
+ "VG": {
+ "name": "Minsilɛ́ mímaŋ mí ngɛ̄lɛ̄n"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MU": {
+ "name": "Morisse"
+ },
+ "MR": {
+ "name": "Moritania"
+ },
+ "MZ": {
+ "name": "Mozambik"
+ },
+ "MD": {
+ "name": "Mɔldavia"
+ },
+ "MN": {
+ "name": "Mɔngolia"
+ },
+ "MS": {
+ "name": "Mɔnserrat"
+ },
+ "MM": {
+ "name": "Myanmar"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NL": {
+ "name": "Nedɛrland"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NI": {
+ "name": "Nikaragua"
+ },
+ "NU": {
+ "name": "Niuɛ"
+ },
+ "CZ": {
+ "name": "Nlambɔ́ bó tschɛk"
+ },
+ "DO": {
+ "name": "Nlambɔ́ Dominíka"
+ },
+ "GB": {
+ "name": "Nlambɔ́ Ngɛlɛn"
+ },
+ "IO": {
+ "name": "Nlambɔ́ ngɛlɛn ma yí maŋ ntsiɛh"
+ },
+ "NR": {
+ "name": "Noru"
+ },
+ "NO": {
+ "name": "Nɔrvɛg"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "AU": {
+ "name": "Östraliá"
+ },
+ "AT": {
+ "name": "Ötrish"
+ },
+ "HN": {
+ "name": "Ɔndúras"
+ },
+ "HU": {
+ "name": "Ɔngría"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PS": {
+ "name": "Palɛstin"
+ },
+ "PW": {
+ "name": "Palo"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "ES": {
+ "name": "Paŋá"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitkairn"
+ },
+ "PF": {
+ "name": "Polynesia Fala"
+ },
+ "PL": {
+ "name": "Pɔlɔŋ"
+ },
+ "PT": {
+ "name": "Pɔrtugal"
+ },
+ "PR": {
+ "name": "Puɛrto Riko"
+ },
+ "RE": {
+ "name": "Réuniɔn"
+ },
+ "RO": {
+ "name": "Roumania"
+ },
+ "RU": {
+ "name": "Russi"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "KN": {
+ "name": "Saint Kitts na Nevis"
+ },
+ "SH": {
+ "name": "Saint Lina"
+ },
+ "LC": {
+ "name": "Saint Lucia"
+ },
+ "PM": {
+ "name": "Saint Peter ba Mikelɔn"
+ },
+ "VC": {
+ "name": "Saint Vincent ba Grenadines"
+ },
+ "SV": {
+ "name": "Salvadɔr"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa m ́Amɛ́rka"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "Sao Tomé ba Prinship"
+ },
+ "SA": {
+ "name": "Saudi Arabia"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "CF": {
+ "name": "Sentrafríka"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychɛlle"
+ },
+ "CN": {
+ "name": "Shine"
+ },
+ "SL": {
+ "name": "Sierra Leɔn"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "CY": {
+ "name": "Sipria"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SO": {
+ "name": "Somália"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SD": {
+ "name": "Sudaŋ"
+ },
+ "SE": {
+ "name": "Suɛd"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swaziland"
+ },
+ "CH": {
+ "name": "Switzɛrland"
+ },
+ "SY": {
+ "name": "Syria"
+ },
+ "TH": {
+ "name": "Taïland"
+ },
+ "TW": {
+ "name": "Taïwan"
+ },
+ "TJ": {
+ "name": "Tajikistaŋ"
+ },
+ "TZ": {
+ "name": "Tanzánía"
+ },
+ "TL": {
+ "name": "Timɔr tsindikēh"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelo"
+ },
+ "TO": {
+ "name": "Tɔnga"
+ },
+ "TT": {
+ "name": "Trinidad ba Tobágó"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TD": {
+ "name": "Tshad"
+ },
+ "CL": {
+ "name": "Tshili"
+ },
+ "TN": {
+ "name": "Tunisiá"
+ },
+ "TR": {
+ "name": "Turki"
+ },
+ "TM": {
+ "name": "Turkmɛnistaŋ"
+ },
+ "TV": {
+ "name": "Tuvalú"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukrɛn"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Usbǝkistaŋ"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikaŋ"
+ },
+ "VE": {
+ "name": "Vǝnǝzuela"
+ },
+ "VN": {
+ "name": "Viɛtnam"
+ },
+ "WF": {
+ "name": "Wallis ba Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yǝmɛn"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "NZ": {
+ "name": "Zeland nwanah"
+ },
+ "ZW": {
+ "name": "Zimbabwǝ"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/nn.json b/vendor/commerceguys/intl/resources/country/nn.json
new file mode 100644
index 000000000..18e901e73
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/nn.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afghanistan"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Algerie"
+ },
+ "AS": {
+ "name": "Amerikansk Samoa"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarktis"
+ },
+ "AG": {
+ "name": "Antigua og Barbuda"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension"
+ },
+ "AZ": {
+ "name": "Aserbajdsjan"
+ },
+ "AT": {
+ "name": "Austerrike"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahrain"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BE": {
+ "name": "Belgia"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia og Hercegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brasil"
+ },
+ "IO": {
+ "name": "Britiske område i Det indiske hav"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "CA": {
+ "name": "Canada"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "KY": {
+ "name": "Caymanøyane"
+ },
+ "EA": {
+ "name": "Ceuta og Melilla"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CX": {
+ "name": "Christmasøya"
+ },
+ "CO": {
+ "name": "Colombia"
+ },
+ "CK": {
+ "name": "Cookøyane"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Danmark"
+ },
+ "VI": {
+ "name": "Dei amerikanske jomfruøyane"
+ },
+ "VG": {
+ "name": "Dei britiske jomfruøyane"
+ },
+ "AE": {
+ "name": "Dei sameinte arabiske emirata"
+ },
+ "DO": {
+ "name": "Den dominikanske republikken"
+ },
+ "CF": {
+ "name": "Den sentralafrikanske republikken"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DJ": {
+ "name": "Djibouti"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egypt"
+ },
+ "GQ": {
+ "name": "Ekvatorial-Guinea"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "CI": {
+ "name": "Elfenbeinskysten"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estland"
+ },
+ "ET": {
+ "name": "Etiopia"
+ },
+ "FK": {
+ "name": "Falklandsøyane"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filippinane"
+ },
+ "FI": {
+ "name": "Finland"
+ },
+ "FR": {
+ "name": "Frankrike"
+ },
+ "GF": {
+ "name": "Fransk Guyana"
+ },
+ "PF": {
+ "name": "Fransk Polynesia"
+ },
+ "TF": {
+ "name": "Franske sørområde"
+ },
+ "FO": {
+ "name": "Færøyane"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GL": {
+ "name": "Grønland"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GW": {
+ "name": "Guinea-Bissau"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "GR": {
+ "name": "Hellas"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hongkong S.A.R. Kina"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IE": {
+ "name": "Irland"
+ },
+ "IS": {
+ "name": "Island"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japan"
+ },
+ "YE": {
+ "name": "Jemen"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordan"
+ },
+ "KH": {
+ "name": "Kambodsja"
+ },
+ "CM": {
+ "name": "Kamerun"
+ },
+ "IC": {
+ "name": "Kanariøyane"
+ },
+ "CV": {
+ "name": "Kapp Verde"
+ },
+ "KZ": {
+ "name": "Kasakhstan"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "CN": {
+ "name": "Kina"
+ },
+ "KG": {
+ "name": "Kirgisistan"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "CC": {
+ "name": "Kokosøyane"
+ },
+ "KM": {
+ "name": "Komorane"
+ },
+ "CG": {
+ "name": "Kongo-Brazzaville"
+ },
+ "CD": {
+ "name": "Kongo-Kinshasa"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "HR": {
+ "name": "Kroatia"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "BY": {
+ "name": "Kviterussland"
+ },
+ "CY": {
+ "name": "Kypros"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LV": {
+ "name": "Latvia"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LB": {
+ "name": "Libanon"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Litauen"
+ },
+ "LU": {
+ "name": "Luxembourg"
+ },
+ "MO": {
+ "name": "Macao S.A.R. Kina"
+ },
+ "MG": {
+ "name": "Madagaskar"
+ },
+ "MK": {
+ "name": "Makedonia"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malaysia"
+ },
+ "MV": {
+ "name": "Maldivane"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "IM": {
+ "name": "Man"
+ },
+ "MA": {
+ "name": "Marokko"
+ },
+ "MH": {
+ "name": "Marshalløyane"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Mexico"
+ },
+ "FM": {
+ "name": "Mikronesiaføderasjonen"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mosambik"
+ },
+ "MM": {
+ "name": "Myanmar (Burma)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NL": {
+ "name": "Nederland"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NZ": {
+ "name": "New Zealand"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "KP": {
+ "name": "Nord-Korea"
+ },
+ "MP": {
+ "name": "Nord-Marianane"
+ },
+ "NO": {
+ "name": "Noreg"
+ },
+ "NF": {
+ "name": "Norfolkøyane"
+ },
+ "NC": {
+ "name": "Ny-Caledonia"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palestinsk territorium"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua Ny-Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitcairn"
+ },
+ "PL": {
+ "name": "Polen"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "QA": {
+ "name": "Qatar"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RO": {
+ "name": "Romania"
+ },
+ "RU": {
+ "name": "Russland"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "BL": {
+ "name": "Saint Barthélemy"
+ },
+ "SH": {
+ "name": "Saint Helena"
+ },
+ "MF": {
+ "name": "Saint Martin"
+ },
+ "SB": {
+ "name": "Salomonøyane"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "São Tomé og Príncipe"
+ },
+ "SA": {
+ "name": "Saudi-Arabia"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychellane"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapore"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "ES": {
+ "name": "Spania"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "KN": {
+ "name": "St. Christopher og Nevis"
+ },
+ "LC": {
+ "name": "St. Lucia"
+ },
+ "PM": {
+ "name": "St. Pierre og Miquelon"
+ },
+ "VC": {
+ "name": "St. Vincent og Grenadinane"
+ },
+ "GB": {
+ "name": "Storbritannia"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SJ": {
+ "name": "Svalbard og Jan Mayen"
+ },
+ "CH": {
+ "name": "Sveits"
+ },
+ "SE": {
+ "name": "Sverige"
+ },
+ "SZ": {
+ "name": "Swaziland"
+ },
+ "SY": {
+ "name": "Syria"
+ },
+ "ZA": {
+ "name": "Sør-Afrika"
+ },
+ "GS": {
+ "name": "Sør-Georgia og Sør-Sandwich-øyane"
+ },
+ "KR": {
+ "name": "Sør-Korea"
+ },
+ "SS": {
+ "name": "Sør-Sudan"
+ },
+ "TJ": {
+ "name": "Tadsjikistan"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TH": {
+ "name": "Thailand"
+ },
+ "TL": {
+ "name": "Timor-Leste (Aust-Timor)"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad og Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TD": {
+ "name": "Tsjad"
+ },
+ "CZ": {
+ "name": "Tsjekkia"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TC": {
+ "name": "Turks- og Caicosøyane"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "TR": {
+ "name": "Tyrkia"
+ },
+ "DE": {
+ "name": "Tyskland"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukraina"
+ },
+ "HU": {
+ "name": "Ungarn"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "US": {
+ "name": "USA"
+ },
+ "UM": {
+ "name": "USAs ytre småøyar"
+ },
+ "UZ": {
+ "name": "Usbekistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikanstaten"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "EH": {
+ "name": "Vest-Sahara"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis og Futuna"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ },
+ "AX": {
+ "name": "Åland"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/nus.json b/vendor/commerceguys/intl/resources/country/nus.json
new file mode 100644
index 000000000..3dcba70ed
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/nus.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Abganithtan"
+ },
+ "AZ": {
+ "name": "Adhe̱rbe̱ja̱n"
+ },
+ "AR": {
+ "name": "Aɛrgentin"
+ },
+ "AM": {
+ "name": "Aɛrmänia"
+ },
+ "AX": {
+ "name": "Åland Islands"
+ },
+ "AL": {
+ "name": "Albänia"
+ },
+ "DZ": {
+ "name": "Algeria"
+ },
+ "AS": {
+ "name": "Amerika thamow"
+ },
+ "AD": {
+ "name": "Andora"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antiguaa kɛnɛ Barbuda"
+ },
+ "AO": {
+ "name": "Aŋgola"
+ },
+ "AI": {
+ "name": "Aŋguɛla"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AU": {
+ "name": "Athɔra̱lia"
+ },
+ "AT": {
+ "name": "Athtɛria"
+ },
+ "BS": {
+ "name": "Bämuɔth"
+ },
+ "BR": {
+ "name": "Bäraadhiil"
+ },
+ "BB": {
+ "name": "Bärbadoth"
+ },
+ "BH": {
+ "name": "Ba̱reen"
+ },
+ "BY": {
+ "name": "Be̱lɛruth"
+ },
+ "BE": {
+ "name": "Be̱lgim"
+ },
+ "BD": {
+ "name": "Bengeladiec"
+ },
+ "BJ": {
+ "name": "Be̱ni̱n"
+ },
+ "BM": {
+ "name": "Be̱rmudaa"
+ },
+ "BZ": {
+ "name": "Bilidha"
+ },
+ "BW": {
+ "name": "Bothiwaana"
+ },
+ "BA": {
+ "name": "Bothnia kɛnɛ ɣärgobinia"
+ },
+ "BG": {
+ "name": "Bulga̱a̱ria"
+ },
+ "BO": {
+ "name": "Bulibia"
+ },
+ "BF": {
+ "name": "Burkinɛ pa̱thu"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BN": {
+ "name": "Burunɛy"
+ },
+ "VG": {
+ "name": "Burutic dhuɔ̱ɔ̱l be̱rgin"
+ },
+ "IO": {
+ "name": "Burutic ɣe̱ndian oce̱n"
+ },
+ "BT": {
+ "name": "Buta̱n"
+ },
+ "TD": {
+ "name": "Ca̱d"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "CN": {
+ "name": "Cayna"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "CF": {
+ "name": "Cɛntrɔl aprika repuɔblic"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CL": {
+ "name": "Cili̱"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CD": {
+ "name": "Congo - Kinshasa"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "CY": {
+ "name": "Cyprus"
+ },
+ "CZ": {
+ "name": "Czech Republic"
+ },
+ "DK": {
+ "name": "Denmark"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DJ": {
+ "name": "Djibouti"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "DO": {
+ "name": "Dominican Republic"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egypt"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "GQ": {
+ "name": "Equatorial Guinea"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Ethiopia"
+ },
+ "FK": {
+ "name": "Falkland Islands"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "FI": {
+ "name": "Finland"
+ },
+ "FR": {
+ "name": "France"
+ },
+ "GF": {
+ "name": "French Guiana"
+ },
+ "PF": {
+ "name": "French Polynesia"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "DE": {
+ "name": "Germany"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GR": {
+ "name": "Greece"
+ },
+ "GL": {
+ "name": "Greenland"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GW": {
+ "name": "Guinea-Bissau"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hungary"
+ },
+ "IS": {
+ "name": "Iceland"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IQ": {
+ "name": "Iraq"
+ },
+ "IE": {
+ "name": "Ireland"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italy"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japan"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordan"
+ },
+ "CA": {
+ "name": "Känɛda"
+ },
+ "KY": {
+ "name": "Kaymɛn ɣa̱ylɛn"
+ },
+ "KZ": {
+ "name": "Kazakhstan"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "CM": {
+ "name": "Kɛmɛrun"
+ },
+ "CV": {
+ "name": "Kɛp bedi ɣa̱ylɛn"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "CI": {
+ "name": "Kodibo̱o̱"
+ },
+ "CO": {
+ "name": "Kolombia"
+ },
+ "KH": {
+ "name": "Kombodia"
+ },
+ "KM": {
+ "name": "Komruth"
+ },
+ "HR": {
+ "name": "Korwaatia"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "Kothtirika"
+ },
+ "CG": {
+ "name": "Kɔŋgɔ"
+ },
+ "CK": {
+ "name": "Kuk ɣa̱ylɛn"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "KG": {
+ "name": "Kyrgyzstan"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LV": {
+ "name": "Latvia"
+ },
+ "LB": {
+ "name": "Lebanon"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lithuania"
+ },
+ "LU": {
+ "name": "Luxembourg"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malaysia"
+ },
+ "MV": {
+ "name": "Maldives"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MH": {
+ "name": "Marshall Islands"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Mexico"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MA": {
+ "name": "Morocco"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar (Burma)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NL": {
+ "name": "Netherlands"
+ },
+ "NC": {
+ "name": "New Caledonia"
+ },
+ "NZ": {
+ "name": "New Zealand"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NF": {
+ "name": "Norfolk Island"
+ },
+ "KP": {
+ "name": "North Korea"
+ },
+ "MP": {
+ "name": "Northern Mariana Islands"
+ },
+ "NO": {
+ "name": "Norway"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palestinian Territories"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua New Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PH": {
+ "name": "Philippines"
+ },
+ "PN": {
+ "name": "Pitcairn Islands"
+ },
+ "PL": {
+ "name": "Poland"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "QA": {
+ "name": "Qatar"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RO": {
+ "name": "Romania"
+ },
+ "RU": {
+ "name": "Russia"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "São Tomé & Príncipe"
+ },
+ "SA": {
+ "name": "Saudi Arabia"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapore"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SB": {
+ "name": "Solomon Islands"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "ZA": {
+ "name": "South Africa"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "KR": {
+ "name": "South Korea"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "ES": {
+ "name": "Spain"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "SH": {
+ "name": "St. Helena"
+ },
+ "KN": {
+ "name": "St. Kitts & Nevis"
+ },
+ "LC": {
+ "name": "St. Lucia"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "PM": {
+ "name": "St. Pierre & Miquelon"
+ },
+ "VC": {
+ "name": "St. Vincent & Grenadines"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swaziland"
+ },
+ "SE": {
+ "name": "Sweden"
+ },
+ "CH": {
+ "name": "Switzerland"
+ },
+ "SY": {
+ "name": "Syria"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TJ": {
+ "name": "Tajikistan"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TH": {
+ "name": "Thailand"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad & Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TR": {
+ "name": "Turkey"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TC": {
+ "name": "Turks & Caicos Islands"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "VI": {
+ "name": "U.S. Virgin Islands"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukraine"
+ },
+ "AE": {
+ "name": "United Arab Emirates"
+ },
+ "GB": {
+ "name": "United Kingdom"
+ },
+ "US": {
+ "name": "United States"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbekistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatican City"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis & Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/nyn.json b/vendor/commerceguys/intl/resources/country/nyn.json
new file mode 100644
index 000000000..037a3e6dc
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/nyn.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afuganistani"
+ },
+ "IS": {
+ "name": "Aisilandi"
+ },
+ "CI": {
+ "name": "Aivore Kositi"
+ },
+ "AX": {
+ "name": "Åland Islands"
+ },
+ "AE": {
+ "name": "Amahanga ga Buharabu ageeteereine"
+ },
+ "US": {
+ "name": "Amerika"
+ },
+ "AD": {
+ "name": "Andora"
+ },
+ "AG": {
+ "name": "Angiguwa na Babuda"
+ },
+ "AO": {
+ "name": "Angora"
+ },
+ "AI": {
+ "name": "Angwira"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AR": {
+ "name": "Arigentina"
+ },
+ "DZ": {
+ "name": "Arigyeriya"
+ },
+ "AM": {
+ "name": "Arimeniya"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AL": {
+ "name": "Arubania"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AZ": {
+ "name": "Azabagyani"
+ },
+ "BB": {
+ "name": "Babadosi"
+ },
+ "BS": {
+ "name": "Bahama"
+ },
+ "BH": {
+ "name": "Bahareni"
+ },
+ "BD": {
+ "name": "Bangaradeshi"
+ },
+ "BY": {
+ "name": "Bararusi"
+ },
+ "BJ": {
+ "name": "Benini"
+ },
+ "BM": {
+ "name": "Berimuda"
+ },
+ "BZ": {
+ "name": "Berize"
+ },
+ "BF": {
+ "name": "Bokina Faso"
+ },
+ "BO": {
+ "name": "Boriiviya"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BA": {
+ "name": "Boziniya na Hezegovina"
+ },
+ "BE": {
+ "name": "Bubirigi"
+ },
+ "FR": {
+ "name": "Bufaransa"
+ },
+ "FI": {
+ "name": "Bufini"
+ },
+ "DE": {
+ "name": "Bugirimaani"
+ },
+ "GB": {
+ "name": "Bungyereza"
+ },
+ "BR": {
+ "name": "Buraziiri"
+ },
+ "BG": {
+ "name": "Burugariya"
+ },
+ "TL": {
+ "name": "Burugweizooba bwa Timori"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BN": {
+ "name": "Burunei"
+ },
+ "BT": {
+ "name": "Butani"
+ },
+ "TR": {
+ "name": "Buturuki \/Take"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "TD": {
+ "name": "Chadi"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Deenimaaka"
+ },
+ "CD": {
+ "name": "Demokoratika Ripaaburika ya Kongo"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "MP": {
+ "name": "Ebizinga by’amatemba ga Mariana"
+ },
+ "TC": {
+ "name": "Ebizinga bya Buturuki na Kaiko"
+ },
+ "FK": {
+ "name": "Ebizinga bya Faakilanda"
+ },
+ "IO": {
+ "name": "Ebizinga bya Indian ebya Bungyereza"
+ },
+ "KY": {
+ "name": "Ebizinga bya Kayimani"
+ },
+ "CV": {
+ "name": "Ebizinga bya Kepuvade"
+ },
+ "CK": {
+ "name": "Ebizinga bya Kuuku"
+ },
+ "MH": {
+ "name": "Ebizinga bya Marshaa"
+ },
+ "SB": {
+ "name": "Ebizinga bya Surimaani"
+ },
+ "VI": {
+ "name": "Ebizinga bya Virigini ebya Amerika"
+ },
+ "VG": {
+ "name": "Ebizinga bya Virigini ebya Bungyereza"
+ },
+ "CF": {
+ "name": "Eihanga rya Rwagati ya Afirika"
+ },
+ "NF": {
+ "name": "Ekizinga Norifoko"
+ },
+ "SV": {
+ "name": "Eri Salivado"
+ },
+ "ER": {
+ "name": "Eriteriya"
+ },
+ "EE": {
+ "name": "Esitoniya"
+ },
+ "ET": {
+ "name": "Ethiyopiya"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Figyi"
+ },
+ "PH": {
+ "name": "Firipino"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gabooni"
+ },
+ "GM": {
+ "name": "Gambiya"
+ },
+ "GH": {
+ "name": "Gana"
+ },
+ "GI": {
+ "name": "Giburaata"
+ },
+ "GN": {
+ "name": "Gine"
+ },
+ "GW": {
+ "name": "Ginebisau"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GQ": {
+ "name": "Guni"
+ },
+ "GD": {
+ "name": "Gurenada"
+ },
+ "GL": {
+ "name": "Guriinirandi"
+ },
+ "GR": {
+ "name": "Guriisi"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "GF": {
+ "name": "Guyana ya Bufaransa"
+ },
+ "GP": {
+ "name": "Gwaderupe"
+ },
+ "GU": {
+ "name": "Gwamu"
+ },
+ "GT": {
+ "name": "Gwatemara"
+ },
+ "JM": {
+ "name": "Gyamaika"
+ },
+ "JP": {
+ "name": "Gyapaani"
+ },
+ "DJ": {
+ "name": "Gyibuti"
+ },
+ "GE": {
+ "name": "Gyogiya"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HU": {
+ "name": "Hangare"
+ },
+ "HN": {
+ "name": "Hondurasi"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "NL": {
+ "name": "Hoorandi"
+ },
+ "EC": {
+ "name": "Ikweda"
+ },
+ "IN": {
+ "name": "Indiya"
+ },
+ "ID": {
+ "name": "Indoneeziya"
+ },
+ "IQ": {
+ "name": "Iraaka"
+ },
+ "IR": {
+ "name": "Iraani"
+ },
+ "IE": {
+ "name": "Irerandi"
+ },
+ "IL": {
+ "name": "Isirairi"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IT": {
+ "name": "Itare"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "KH": {
+ "name": "Kambodiya"
+ },
+ "CM": {
+ "name": "Kameruuni"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "QA": {
+ "name": "Kata"
+ },
+ "KZ": {
+ "name": "Kazakisitani"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "KG": {
+ "name": "Kirigizistani"
+ },
+ "CG": {
+ "name": "Kongo"
+ },
+ "HR": {
+ "name": "Korasiya"
+ },
+ "KR": {
+ "name": "Koreya Amashuuma"
+ },
+ "KP": {
+ "name": "Koreya Amatemba"
+ },
+ "CO": {
+ "name": "Korombiya"
+ },
+ "KM": {
+ "name": "Koromo"
+ },
+ "CR": {
+ "name": "Kositarika"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuweiti"
+ },
+ "LU": {
+ "name": "Lakizembaaga"
+ },
+ "LV": {
+ "name": "Latviya"
+ },
+ "LA": {
+ "name": "Layosi"
+ },
+ "LB": {
+ "name": "Lebanoni"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LR": {
+ "name": "Liberiya"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Lishenteni"
+ },
+ "LT": {
+ "name": "Lithuania"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MG": {
+ "name": "Madagasika"
+ },
+ "MW": {
+ "name": "Marawi"
+ },
+ "MY": {
+ "name": "marayizia"
+ },
+ "ML": {
+ "name": "Mari"
+ },
+ "MV": {
+ "name": "Maridives"
+ },
+ "MT": {
+ "name": "Marita"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MK": {
+ "name": "Masedoonia"
+ },
+ "MU": {
+ "name": "Maurishiasi"
+ },
+ "MR": {
+ "name": "Mauriteeniya"
+ },
+ "YT": {
+ "name": "Mayote"
+ },
+ "MX": {
+ "name": "Mexico"
+ },
+ "FM": {
+ "name": "Mikironesiya"
+ },
+ "EG": {
+ "name": "Misiri"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongoria"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrati"
+ },
+ "MD": {
+ "name": "Moridova"
+ },
+ "MA": {
+ "name": "Morocco"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanamar"
+ },
+ "NE": {
+ "name": "Naigya"
+ },
+ "NG": {
+ "name": "Naigyeriya"
+ },
+ "NA": {
+ "name": "Namibiya"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepo"
+ },
+ "NI": {
+ "name": "Nikaragwa"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NC": {
+ "name": "Niukaredonia"
+ },
+ "NZ": {
+ "name": "Niuzirandi"
+ },
+ "NO": {
+ "name": "Noorwe"
+ },
+ "OM": {
+ "name": "Omaani"
+ },
+ "AU": {
+ "name": "Ositureeriya"
+ },
+ "AT": {
+ "name": "Osituria"
+ },
+ "PK": {
+ "name": "Pakisitaani"
+ },
+ "PW": {
+ "name": "Palaawu"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua"
+ },
+ "PY": {
+ "name": "Paragwai"
+ },
+ "PS": {
+ "name": "Parestiina na Gaza"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitkaini"
+ },
+ "PT": {
+ "name": "Pocugo"
+ },
+ "PF": {
+ "name": "Polinesia ya Bufaransa"
+ },
+ "PL": {
+ "name": "Poorandi"
+ },
+ "PR": {
+ "name": "Pwetoriko"
+ },
+ "DO": {
+ "name": "Ripaaburika ya Dominica"
+ },
+ "CZ": {
+ "name": "Ripaaburika ya Zeeki"
+ },
+ "RE": {
+ "name": "Riyuniyoni"
+ },
+ "RO": {
+ "name": "Romaniya"
+ },
+ "RU": {
+ "name": "Rrasha"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "CY": {
+ "name": "Saipurasi"
+ },
+ "SM": {
+ "name": "Samarino"
+ },
+ "WS": {
+ "name": "Samowa"
+ },
+ "AS": {
+ "name": "Samowa ya Ameerika"
+ },
+ "SA": {
+ "name": "Saudi Areebiya"
+ },
+ "ZA": {
+ "name": "Sausi Afirika"
+ },
+ "ST": {
+ "name": "Sawo Tome na Purinsipo"
+ },
+ "SN": {
+ "name": "Senego"
+ },
+ "SH": {
+ "name": "Senti Herena"
+ },
+ "KN": {
+ "name": "Senti Kittis na Nevisi"
+ },
+ "PM": {
+ "name": "Senti Piyerre na Mikweron"
+ },
+ "LC": {
+ "name": "Senti Rusiya"
+ },
+ "VC": {
+ "name": "Senti Vinsent na Gurenadini"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Shesheresi"
+ },
+ "SG": {
+ "name": "Singapo"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "ES": {
+ "name": "Sipeyini"
+ },
+ "LK": {
+ "name": "Siriranka"
+ },
+ "SY": {
+ "name": "Siriya"
+ },
+ "SK": {
+ "name": "Sirovaakiya"
+ },
+ "SI": {
+ "name": "Sirovaaniya"
+ },
+ "SL": {
+ "name": "Sirra Riyooni"
+ },
+ "SO": {
+ "name": "Somaariya"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SD": {
+ "name": "Sudani"
+ },
+ "SR": {
+ "name": "Surinaamu"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swazirandi"
+ },
+ "SE": {
+ "name": "Swideni"
+ },
+ "CH": {
+ "name": "Swisi"
+ },
+ "TH": {
+ "name": "Tairandi"
+ },
+ "TJ": {
+ "name": "Tajikisitani"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TW": {
+ "name": "Tayiwaani"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokerawu"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunizia"
+ },
+ "TT": {
+ "name": "Turinidad na Tobago"
+ },
+ "TM": {
+ "name": "Turukimenisitani"
+ },
+ "TV": {
+ "name": "Tuvaru"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukureini"
+ },
+ "UY": {
+ "name": "Urugwai"
+ },
+ "UZ": {
+ "name": "Uzibekisitani"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikani"
+ },
+ "VE": {
+ "name": "Venezuwera"
+ },
+ "VN": {
+ "name": "Viyetinaamu"
+ },
+ "WF": {
+ "name": "Warris na Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yemeni"
+ },
+ "JO": {
+ "name": "Yorudaani"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/or.json b/vendor/commerceguys/intl/resources/country/or.json
new file mode 100644
index 000000000..0c481a9c1
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/or.json
@@ -0,0 +1,761 @@
+{
+ "AT": {
+ "name": "ଅଷ୍ଟ୍ରିଆ"
+ },
+ "AU": {
+ "name": "ଅଷ୍ଟ୍ରେଲିଆ"
+ },
+ "CI": {
+ "name": "ଆଇବରୀ କୋଷ୍ଟ"
+ },
+ "IM": {
+ "name": "ଆଇଲ୍ ଅଫ୍ ମୈନ୍"
+ },
+ "IS": {
+ "name": "ଆଇସଲ୍ୟାଣ୍ଡ"
+ },
+ "AI": {
+ "name": "ଆଙ୍ଗୁଇଲ୍ଲା"
+ },
+ "AO": {
+ "name": "ଆଙ୍ଗୋଲା"
+ },
+ "AZ": {
+ "name": "ଆଜେରବାଇଜାନ୍"
+ },
+ "AG": {
+ "name": "ଆଣ୍ଟିଗୁଆ ଏବଂ ବାରବୁଦା"
+ },
+ "AD": {
+ "name": "ଆଣ୍ଡୋରା"
+ },
+ "AF": {
+ "name": "ଆଫାଗାନିସ୍ତାନ୍"
+ },
+ "AS": {
+ "name": "ଆମେରିକାନ୍ ସାମୋଆ"
+ },
+ "IE": {
+ "name": "ଆୟରଲ୍ୟାଣ୍ଡ"
+ },
+ "AW": {
+ "name": "ଆରୁବା"
+ },
+ "AR": {
+ "name": "ଆର୍ଜେଣ୍ଟିନା"
+ },
+ "AQ": {
+ "name": "ଆର୍ଣ୍ଟକଟିକା"
+ },
+ "AM": {
+ "name": "ଆର୍ମେନିଆ"
+ },
+ "DZ": {
+ "name": "ଆଲଜେରିଆ"
+ },
+ "AL": {
+ "name": "ଆଲବାନିଆ"
+ },
+ "AX": {
+ "name": "ଆଲାଣ୍ଡ ଆଇସଲ୍ୟାଣ୍ଡ"
+ },
+ "GQ": {
+ "name": "ଇକ୍ବାଟେରିଆଲ୍ ଗୁଇନିଆ"
+ },
+ "EC": {
+ "name": "ଇକ୍ୱାଡୋର୍"
+ },
+ "EG": {
+ "name": "ଇଜିପ୍ଟ"
+ },
+ "IT": {
+ "name": "ଇଟାଲୀ"
+ },
+ "ID": {
+ "name": "ଇଣ୍ଡୋନେସିଆ"
+ },
+ "ET": {
+ "name": "ଇଥିଓପିଆ"
+ },
+ "IQ": {
+ "name": "ଇରାକ୍"
+ },
+ "IR": {
+ "name": "ଇରାନ୍"
+ },
+ "ER": {
+ "name": "ଇରିଟ୍ରିୟା"
+ },
+ "IL": {
+ "name": "ଇସ୍ରାଏଲ୍"
+ },
+ "UG": {
+ "name": "ଉଗାଣ୍ଡା"
+ },
+ "UZ": {
+ "name": "ଉଜବେକିସ୍ଥାନ୍"
+ },
+ "KP": {
+ "name": "ଉତ୍ତର କୋରିଆ"
+ },
+ "MP": {
+ "name": "ଉତ୍ତର ମାରିଆନା ଦ୍ବୀପପୁଞ୍ଜ"
+ },
+ "UY": {
+ "name": "ଉରୁଗୁଏ"
+ },
+ "SV": {
+ "name": "ଏଲ୍ ସାଲଭାଡୋର୍"
+ },
+ "EE": {
+ "name": "ଏସ୍ତୋନିଆ"
+ },
+ "OM": {
+ "name": "ଓମାନ୍"
+ },
+ "CD": {
+ "name": "କଙ୍ଗୋ-କିନସାସା"
+ },
+ "CG": {
+ "name": "କଙ୍ଗୋ-ବ୍ରାଜିଭିଲ୍ଲେ"
+ },
+ "QA": {
+ "name": "କତାର୍"
+ },
+ "KZ": {
+ "name": "କାଜାକାସ୍ଥାନ୍"
+ },
+ "CA": {
+ "name": "କାନାଡା"
+ },
+ "CM": {
+ "name": "କାମେରୁନ୍"
+ },
+ "KM": {
+ "name": "କାମୋରସ୍"
+ },
+ "KH": {
+ "name": "କାମ୍ବୋଡିଆ"
+ },
+ "KI": {
+ "name": "କିରିବାଟୀ"
+ },
+ "KG": {
+ "name": "କିର୍ଗିଜିସ୍ଥାନ"
+ },
+ "KW": {
+ "name": "କୁଏତ୍"
+ },
+ "CK": {
+ "name": "କୁକ୍ ଆଇସଲ୍ୟାଣ୍ଡ"
+ },
+ "KE": {
+ "name": "କେନିୟା"
+ },
+ "CV": {
+ "name": "କେପ୍ ଭର୍ଦେ"
+ },
+ "KY": {
+ "name": "କେମ୍ୟାନ୍ ଦ୍ବୀପପୁଞ୍ଜ"
+ },
+ "CC": {
+ "name": "କୋକୋସ୍ ଆଇସଲ୍ୟାଣ୍ଡ"
+ },
+ "CO": {
+ "name": "କୋଲମ୍ବିଆ"
+ },
+ "CR": {
+ "name": "କୋଷ୍ଟା ରିକା"
+ },
+ "HR": {
+ "name": "କ୍ରୋଆଟିଆ"
+ },
+ "CU": {
+ "name": "କ୍ୱିବା"
+ },
+ "CX": {
+ "name": "ଖ୍ରୀଷ୍ଟମାସ ଆଇଲ୍ୟାଣ୍ଡ"
+ },
+ "GA": {
+ "name": "ଗାବୋନ୍"
+ },
+ "GM": {
+ "name": "ଗାମ୍ବିଆ"
+ },
+ "GU": {
+ "name": "ଗୁଆମ୍"
+ },
+ "GY": {
+ "name": "ଗୁଇନା"
+ },
+ "GW": {
+ "name": "ଗୁଇନିଆ-ବିସାଉ"
+ },
+ "GT": {
+ "name": "ଗୁଏତମାଲା"
+ },
+ "GN": {
+ "name": "ଗୁଏନେଆ"
+ },
+ "GG": {
+ "name": "ଗୁଏରନେସି"
+ },
+ "GP": {
+ "name": "ଗୌଡେଲୌପେ"
+ },
+ "GL": {
+ "name": "ଗ୍ରୀନଲ୍ୟାଣ୍ଡ"
+ },
+ "GR": {
+ "name": "ଗ୍ରୀସ୍"
+ },
+ "GD": {
+ "name": "ଗ୍ରେନାଡା"
+ },
+ "GH": {
+ "name": "ଘାନା"
+ },
+ "TD": {
+ "name": "ଚାଦ୍"
+ },
+ "CN": {
+ "name": "ଚିନ୍"
+ },
+ "CL": {
+ "name": "ଚିଲ୍ଲୀ"
+ },
+ "CZ": {
+ "name": "ଚେକ୍ ସାଧାରଣତନ୍ତ୍ର"
+ },
+ "GE": {
+ "name": "ଜର୍ଜିଆ"
+ },
+ "DE": {
+ "name": "ଜର୍ମାନୀ"
+ },
+ "JE": {
+ "name": "ଜର୍ସି"
+ },
+ "JP": {
+ "name": "ଜାପାନ୍"
+ },
+ "JM": {
+ "name": "ଜାମାଇକା"
+ },
+ "ZM": {
+ "name": "ଜାମ୍ବିଆ"
+ },
+ "GI": {
+ "name": "ଜିବ୍ରାଲ୍ଟର୍"
+ },
+ "ZW": {
+ "name": "ଜିମ୍ବାୱେ"
+ },
+ "JO": {
+ "name": "ଜୋର୍ଡାନ୍"
+ },
+ "TV": {
+ "name": "ଟୁଭାଲୁ"
+ },
+ "TK": {
+ "name": "ଟୋକେଲାଉ"
+ },
+ "TG": {
+ "name": "ଟୋଗୋ"
+ },
+ "TO": {
+ "name": "ଟୋଙ୍ଗା"
+ },
+ "DJ": {
+ "name": "ଡିବୌଟି"
+ },
+ "DK": {
+ "name": "ଡେନମାର୍କ"
+ },
+ "DO": {
+ "name": "ଡୋମିନକାନ୍ ପ୍ରଜାତନ୍ତ୍ର"
+ },
+ "DM": {
+ "name": "ଡୋମିନାକା"
+ },
+ "TW": {
+ "name": "ତାଇୱାନ୍"
+ },
+ "TJ": {
+ "name": "ତାଜିକିସ୍ଥାନ୍"
+ },
+ "TZ": {
+ "name": "ତାଞ୍ଜାନିଆ"
+ },
+ "TN": {
+ "name": "ତୁନିସିଆ"
+ },
+ "TM": {
+ "name": "ତୁର୍କମେନିସ୍ତାନ୍"
+ },
+ "TC": {
+ "name": "ତୁର୍କସ୍ ଏବଂ ସାଇକସ୍ ଦ୍ବୀପପୁଞ୍ଜ"
+ },
+ "TR": {
+ "name": "ତୁର୍କୀ"
+ },
+ "TT": {
+ "name": "ତ୍ରିନିଦାଦ୍ ଏବଂ ଟୋବାଗୋ"
+ },
+ "TH": {
+ "name": "ଥାଇଲାଣ୍ଡ"
+ },
+ "ZA": {
+ "name": "ଦକ୍ଷିଣ ଆଫ୍ରିକା"
+ },
+ "KR": {
+ "name": "ଦକ୍ଷିଣ କୋରିଆ"
+ },
+ "GS": {
+ "name": "ଦକ୍ଷିଣ ଜର୍ଜିଆ ଏବଂ ଦକ୍ଷିଣ ସାଣ୍ଡୱିଚ୍ ଦ୍ବୀପପୁଞ୍ଜ"
+ },
+ "NF": {
+ "name": "ନରଫ୍ଲକ୍ ଦ୍ବୀପ"
+ },
+ "NO": {
+ "name": "ନରୱେ"
+ },
+ "NE": {
+ "name": "ନାଇଜର୍"
+ },
+ "NG": {
+ "name": "ନାଇଜେରିଆ"
+ },
+ "NR": {
+ "name": "ନାଉରୁ"
+ },
+ "NA": {
+ "name": "ନାମ୍ବିଆ"
+ },
+ "NU": {
+ "name": "ନିଉ"
+ },
+ "NI": {
+ "name": "ନିକାରାଗୁଆ"
+ },
+ "NC": {
+ "name": "ନୂତନ କାଲେଡୋନିଆ"
+ },
+ "NL": {
+ "name": "ନେଦରଲ୍ୟାଣ୍ଡ"
+ },
+ "NP": {
+ "name": "ନେପାଳ"
+ },
+ "NZ": {
+ "name": "ନ୍ୟୁଜିଲାଣ୍ଡ"
+ },
+ "PG": {
+ "name": "ପପୁଆ ନ୍ୟୁ ଗୁଏନିଆ"
+ },
+ "PT": {
+ "name": "ପର୍ତ୍ତୁଗାଲ୍"
+ },
+ "EH": {
+ "name": "ପଶ୍ଚିମ ସାହାରା"
+ },
+ "PK": {
+ "name": "ପାକିସ୍ତାନ"
+ },
+ "PA": {
+ "name": "ପାନାମା"
+ },
+ "PY": {
+ "name": "ପାରାଗୁଏ"
+ },
+ "PW": {
+ "name": "ପାଲାଉ"
+ },
+ "PS": {
+ "name": "ପାଲେସ୍ତେନିଆ"
+ },
+ "PN": {
+ "name": "ପିଟକାଇରିନ୍"
+ },
+ "PR": {
+ "name": "ପୁଏର୍ତ୍ତୋ ରିକୋ"
+ },
+ "TL": {
+ "name": "ପୁର୍ବ ତିମୋର୍"
+ },
+ "PE": {
+ "name": "ପେରୁ"
+ },
+ "PL": {
+ "name": "ପୋଲାଣ୍ଡ"
+ },
+ "TF": {
+ "name": "ଫରାସୀ ଦକ୍ଷିଣ କ୍ଷେତ୍ର"
+ },
+ "FK": {
+ "name": "ଫଲ୍କଲ୍ୟାଣ୍ଡ ଦ୍ବୀପପୁଞ୍ଜ"
+ },
+ "FO": {
+ "name": "ଫାରୋଇ ଦ୍ବୀପପୁଞ୍ଜ"
+ },
+ "FJ": {
+ "name": "ଫିଜି"
+ },
+ "FI": {
+ "name": "ଫିନଲ୍ୟାଣ୍ଡ"
+ },
+ "PH": {
+ "name": "ଫିଲିପାଇନସ୍"
+ },
+ "FR": {
+ "name": "ଫ୍ରାନ୍ସ"
+ },
+ "GF": {
+ "name": "ଫ୍ରେଞ୍ଚ ଗୁଇନା"
+ },
+ "PF": {
+ "name": "ଫ୍ରେଞ୍ଚ ପଲିନେସିଆ"
+ },
+ "BM": {
+ "name": "ବରମୁଡା"
+ },
+ "BD": {
+ "name": "ବାଙ୍ଗଲାଦେଶ୍"
+ },
+ "BB": {
+ "name": "ବାରବାଡୋସ୍"
+ },
+ "BS": {
+ "name": "ବାହାମାସ୍"
+ },
+ "BH": {
+ "name": "ବାହାରିନ୍"
+ },
+ "BI": {
+ "name": "ବୁରୁନ୍ଦି"
+ },
+ "BF": {
+ "name": "ବୁର୍କିନୋ ଫାସୋ"
+ },
+ "BG": {
+ "name": "ବୁଲଗେରିଆ"
+ },
+ "BJ": {
+ "name": "ବେନିନ୍"
+ },
+ "BE": {
+ "name": "ବେଲଜିୟମ୍"
+ },
+ "BY": {
+ "name": "ବେଲାରୁଷ୍"
+ },
+ "BZ": {
+ "name": "ବେଲିଜ୍"
+ },
+ "BW": {
+ "name": "ବୋଟସ୍ବାନ୍"
+ },
+ "BO": {
+ "name": "ବୋଲଭିଆ"
+ },
+ "BA": {
+ "name": "ବୋସନିଆ ଏବଂ ହର୍ଜଗୋଭିନା"
+ },
+ "BR": {
+ "name": "ବ୍ରାଜିଲ୍"
+ },
+ "VG": {
+ "name": "ବ୍ରିଟିଶ୍ ଭର୍ଜିନ୍ ଦ୍ବୀପପୁଞ୍ଜ"
+ },
+ "IO": {
+ "name": "ବ୍ରିଟିଶ୍ ଭାରତୀୟ ସାମୁଦ୍ରିକ କ୍ଷେତ୍ର"
+ },
+ "GB": {
+ "name": "ବ୍ରିଟେନ୍"
+ },
+ "BN": {
+ "name": "ବ୍ରୁନେଇ"
+ },
+ "VA": {
+ "name": "ଭାଟିକାନ୍"
+ },
+ "VU": {
+ "name": "ଭାନୁଆତୁ"
+ },
+ "IN": {
+ "name": "ଭାରତ"
+ },
+ "VN": {
+ "name": "ଭିଏତନାମ୍"
+ },
+ "BT": {
+ "name": "ଭୁଟାନ୍"
+ },
+ "VE": {
+ "name": "ଭେନଜୁଏଲା"
+ },
+ "MN": {
+ "name": "ମଙ୍ଗୋଲିଆ"
+ },
+ "ME": {
+ "name": "ମଣ୍ଟେଗ୍ରୋ"
+ },
+ "MS": {
+ "name": "ମଣ୍ଟେସେରାଟ୍"
+ },
+ "CF": {
+ "name": "ମଧ୍ୟ ଆଫ୍ରିକୀୟ ଗଣତନ୍ତ୍ର"
+ },
+ "FM": {
+ "name": "ମାଇକ୍ରୋନେସିଆ"
+ },
+ "MR": {
+ "name": "ମାଉରିଟାନିଆ"
+ },
+ "MO": {
+ "name": "ମାକାଉ SAR ଚିନ୍"
+ },
+ "MG": {
+ "name": "ମାଡାଗାସ୍କର୍"
+ },
+ "YT": {
+ "name": "ମାୟୋଟେ"
+ },
+ "MQ": {
+ "name": "ମାର୍ଟିନିକ୍ୟୁ"
+ },
+ "MH": {
+ "name": "ମାର୍ଶଲ୍ ଦ୍ବୀପପୁଞ୍ଜ"
+ },
+ "MD": {
+ "name": "ମାଲଡୋଭା"
+ },
+ "MW": {
+ "name": "ମାଲୱି"
+ },
+ "MY": {
+ "name": "ମାଲେସିଆ"
+ },
+ "MT": {
+ "name": "ମାଲ୍ଟା"
+ },
+ "MV": {
+ "name": "ମାଳଦ୍ବୀପ"
+ },
+ "ML": {
+ "name": "ମାଳୀ"
+ },
+ "MK": {
+ "name": "ମାସେଡୋନିଆ"
+ },
+ "MM": {
+ "name": "ମିୟାମାର୍"
+ },
+ "MX": {
+ "name": "ମେକ୍ସିକୋ"
+ },
+ "MZ": {
+ "name": "ମୋଜାମ୍ବିକ୍ୟୁ"
+ },
+ "MC": {
+ "name": "ମୋନାକୋ"
+ },
+ "MA": {
+ "name": "ମୋରୋକ୍କୋ"
+ },
+ "MU": {
+ "name": "ମୌରିସସ୍"
+ },
+ "VI": {
+ "name": "ୟୁଏସ୍ ଭର୍ଜିନ୍ ଦ୍ବୀପପୁଞ୍ଜ"
+ },
+ "US": {
+ "name": "ଯୁକ୍ତ ରାଷ୍ଟ୍ର ଆମେରିକା"
+ },
+ "UA": {
+ "name": "ୟୁକ୍ରାଇନ୍"
+ },
+ "UM": {
+ "name": "ୟୁନାଇଟେଡ୍ ଷ୍ଟେଟସ୍ ମାଇନର୍ ଆଉଟଲେଇଂ ଦ୍ବୀପପୁଞ୍ଜ"
+ },
+ "YE": {
+ "name": "ୟେମେନ୍"
+ },
+ "RW": {
+ "name": "ରାୱାଣ୍ଡା"
+ },
+ "RE": {
+ "name": "ରିୟୁନିଅନ୍"
+ },
+ "RU": {
+ "name": "ରୁଷିଆ"
+ },
+ "RO": {
+ "name": "ରୋମାନିଆ"
+ },
+ "LU": {
+ "name": "ଲକ୍ସେମବର୍ଗ"
+ },
+ "LA": {
+ "name": "ଲାଓସ୍"
+ },
+ "LV": {
+ "name": "ଲାଟଭିଆ"
+ },
+ "LI": {
+ "name": "ଲିଚେସ୍ତିଆନାନ୍"
+ },
+ "LT": {
+ "name": "ଲିଥାଆନିଆ"
+ },
+ "LY": {
+ "name": "ଲିବିଆ"
+ },
+ "LR": {
+ "name": "ଲିବେରିଆ"
+ },
+ "LB": {
+ "name": "ଲେବାନନ୍"
+ },
+ "LS": {
+ "name": "ଲେସୋଥୋ"
+ },
+ "WF": {
+ "name": "ୱାଲିସ୍ ଏବଂ ଫୁତୁନା"
+ },
+ "LK": {
+ "name": "ଶ୍ରୀଲଙ୍କା"
+ },
+ "AE": {
+ "name": "ସଂଯୁକ୍ତ ଆରବ ଏମିରେଟସ୍"
+ },
+ "RS": {
+ "name": "ସର୍ବିଆ"
+ },
+ "CY": {
+ "name": "ସାଇପ୍ରସ୍"
+ },
+ "SA": {
+ "name": "ସାଉଦି ଆରବିଆ"
+ },
+ "ST": {
+ "name": "ସାଓ ଟୋମେ ଏବଂ ପ୍ରିନସିପି"
+ },
+ "SM": {
+ "name": "ସାନ୍ ମାରିନୋ"
+ },
+ "WS": {
+ "name": "ସାମୋଆ"
+ },
+ "SJ": {
+ "name": "ସାଲ୍ଭାର୍ଡ ଏବଂ ଜାନ୍ ମାୟୋନ୍"
+ },
+ "SL": {
+ "name": "ସିଓରା ଲିଓନ୍"
+ },
+ "SG": {
+ "name": "ସିଙ୍ଗାପୁର୍"
+ },
+ "SY": {
+ "name": "ସିରିଆ"
+ },
+ "SD": {
+ "name": "ସୁଦାନ୍"
+ },
+ "SR": {
+ "name": "ସୁରିନାମ"
+ },
+ "SC": {
+ "name": "ସେଚେଲସ୍"
+ },
+ "KN": {
+ "name": "ସେଣ୍ଟ କିଟସ୍ ଏଣ୍ଡ ନେଭିସ୍"
+ },
+ "PM": {
+ "name": "ସେଣ୍ଟ ପିଏରେ ଏବଂ ମିକ୍ବାଲୋନ୍"
+ },
+ "BL": {
+ "name": "ସେଣ୍ଟ ବାର୍ଥେଲେମି"
+ },
+ "VC": {
+ "name": "ସେଣ୍ଟ ଭିନସେଣ୍ଟ ଏବଂ ଦି ଗ୍ରେନାଡିସ୍"
+ },
+ "MF": {
+ "name": "ସେଣ୍ଟ ମାର୍ଟିନ୍"
+ },
+ "LC": {
+ "name": "ସେଣ୍ଟ ଲୁସିଆ"
+ },
+ "SH": {
+ "name": "ସେଣ୍ଟ ହେଲେନା"
+ },
+ "SN": {
+ "name": "ସେନେଗାଲ୍"
+ },
+ "SO": {
+ "name": "ସୋମାଲିଆ"
+ },
+ "SB": {
+ "name": "ସୋଲୋମନ୍ ଦ୍ବୀପପୁଞ୍ଜ"
+ },
+ "ES": {
+ "name": "ସ୍ପେନ୍"
+ },
+ "SZ": {
+ "name": "ସ୍ବାଜିଲାଣ୍ଡ"
+ },
+ "CH": {
+ "name": "ସ୍ବିଜରଲ୍ୟାଣ୍ଡ"
+ },
+ "SK": {
+ "name": "ସ୍ଲୋଭାକିଆ"
+ },
+ "SI": {
+ "name": "ସ୍ଲୋଭେନିଆ"
+ },
+ "SE": {
+ "name": "ସ୍ୱେଡେନ୍"
+ },
+ "HK": {
+ "name": "ହଂକଂ ବିଶେଷ ପ୍ରଶାସନିକ କ୍ଷେତ୍ର ଚୀନ୍"
+ },
+ "HU": {
+ "name": "ହଙ୍ଗେରୀ"
+ },
+ "HT": {
+ "name": "ହାଇତି"
+ },
+ "HN": {
+ "name": "ହୋଣ୍ଡାରୁସ୍"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/pa.json b/vendor/commerceguys/intl/resources/country/pa.json
new file mode 100644
index 000000000..4853d378f
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/pa.json
@@ -0,0 +1,761 @@
+{
+ "UZ": {
+ "name": "ਉਜ਼ਬੇਕਿਸਤਾਨ"
+ },
+ "KP": {
+ "name": "ਉੱਤਰ ਕੋਰੀਆ"
+ },
+ "MP": {
+ "name": "ਉੱਤਰੀ ਮਾਰੀਆਨਾ ਟਾਪੂ"
+ },
+ "UY": {
+ "name": "ਉਰੂਗਵੇ"
+ },
+ "OM": {
+ "name": "ਓਮਾਨ"
+ },
+ "AC": {
+ "name": "ਅਸੈਂਸ਼ਨ ਟਾਪੂ"
+ },
+ "AI": {
+ "name": "ਅੰਗੁਇਲਾ"
+ },
+ "AO": {
+ "name": "ਅੰਗੋਲਾ"
+ },
+ "AZ": {
+ "name": "ਅਜ਼ਰਬਾਈਜਾਨ"
+ },
+ "AQ": {
+ "name": "ਅੰਟਾਰਕਟਿਕਾ"
+ },
+ "AD": {
+ "name": "ਅੰਡੋਰਾ"
+ },
+ "AF": {
+ "name": "ਅਫ਼ਗਾਨਿਸਤਾਨ"
+ },
+ "AS": {
+ "name": "ਅਮੈਰੀਕਨ ਸਮੋਆ"
+ },
+ "AR": {
+ "name": "ਅਰਜਨਟੀਨਾ"
+ },
+ "AM": {
+ "name": "ਅਰਮੀਨੀਆ"
+ },
+ "AW": {
+ "name": "ਅਰੂਬਾ"
+ },
+ "SV": {
+ "name": "ਅਲ ਸਲਵਾਡੋਰ"
+ },
+ "DZ": {
+ "name": "ਅਲਜੀਰੀਆ"
+ },
+ "AL": {
+ "name": "ਅਲਬਾਨੀਆ"
+ },
+ "AX": {
+ "name": "ਅਲੈਂਡ ਟਾਪੂ"
+ },
+ "IE": {
+ "name": "ਆਇਰਲੈਂਡ"
+ },
+ "IM": {
+ "name": "ਆਇਲ ਆਫ ਮੈਨ"
+ },
+ "IS": {
+ "name": "ਆਈਸਲੈਂਡ"
+ },
+ "AT": {
+ "name": "ਆਸਟਰੀਆ"
+ },
+ "AU": {
+ "name": "ਆਸਟ੍ਰੇਲੀਆ"
+ },
+ "AG": {
+ "name": "ਐਂਟੀਗੁਆ ਅਤੇ ਬਾਰਬੁਡਾ"
+ },
+ "EE": {
+ "name": "ਇਸਟੋਨੀਆ"
+ },
+ "EC": {
+ "name": "ਇਕਵੇਡੋਰ"
+ },
+ "IL": {
+ "name": "ਇਜ਼ਰਾਈਲ"
+ },
+ "IT": {
+ "name": "ਇਟਲੀ"
+ },
+ "ID": {
+ "name": "ਇੰਡੋਨੇਸ਼ੀਆ"
+ },
+ "ET": {
+ "name": "ਇਥੋਪੀਆ"
+ },
+ "IQ": {
+ "name": "ਇਰਾਕ"
+ },
+ "ER": {
+ "name": "ਇਰੀਟ੍ਰਿਆ"
+ },
+ "IR": {
+ "name": "ਈਰਾਨ"
+ },
+ "ES": {
+ "name": "ਸਪੇਨ"
+ },
+ "AE": {
+ "name": "ਸੰਯੁਕਤ ਅਰਬ ਅਮੀਰਾਤ"
+ },
+ "US": {
+ "name": "ਸੰਯੁਕਤ ਰਾਜ"
+ },
+ "RS": {
+ "name": "ਸਰਬੀਆ"
+ },
+ "SK": {
+ "name": "ਸਲੋਵਾਕੀਆ"
+ },
+ "SI": {
+ "name": "ਸਲੋਵੇਨੀਆ"
+ },
+ "SZ": {
+ "name": "ਸਵਾਜ਼ੀਲੈਂਡ"
+ },
+ "SJ": {
+ "name": "ਸਵਾਲਬਰਡ ਅਤੇ ਜਾਨ ਮਾਯੇਨ"
+ },
+ "CH": {
+ "name": "ਸਵਿਟਜ਼ਰਲੈਂਡ"
+ },
+ "SE": {
+ "name": "ਸਵੀਡਨ"
+ },
+ "LK": {
+ "name": "ਸ੍ਰੀ ਲੰਕਾ"
+ },
+ "SA": {
+ "name": "ਸਾਊਦੀ ਅਰਬ"
+ },
+ "ST": {
+ "name": "ਸਾਓ ਟੋਮ ਅਤੇ ਪ੍ਰਿੰਸੀਪੇ"
+ },
+ "CY": {
+ "name": "ਸਾਇਪ੍ਰਸ"
+ },
+ "WS": {
+ "name": "ਸਾਮੋਆ"
+ },
+ "EA": {
+ "name": "ਸਿਓਟਾ ਅਤੇ ਮੇਲਿੱਲਾ"
+ },
+ "SL": {
+ "name": "ਸਿਏਰਾ ਲਿਓਨ"
+ },
+ "SG": {
+ "name": "ਸਿੰਗਾਪੁਰ"
+ },
+ "SX": {
+ "name": "ਸਿੰਟ ਮਾਰਟੀਨ"
+ },
+ "SY": {
+ "name": "ਸੀਰੀਆ"
+ },
+ "SD": {
+ "name": "ਸੂਡਾਨ"
+ },
+ "SR": {
+ "name": "ਸੂਰੀਨਾਮ"
+ },
+ "SC": {
+ "name": "ਸੇਸ਼ਲਸ"
+ },
+ "SH": {
+ "name": "ਸੇਂਟ ਹੇਲੇਨਾ"
+ },
+ "KN": {
+ "name": "ਸੇਂਟ ਕਿਟਸ ਐਂਡ ਨੇਵਿਸ"
+ },
+ "PM": {
+ "name": "ਸੇਂਟ ਪੀਅਰੇ ਐਂਡ ਮਿਕੇਲਨ"
+ },
+ "BL": {
+ "name": "ਸੇਂਟ ਬਾਰਥੇਲੇਮੀ"
+ },
+ "MF": {
+ "name": "ਸੇਂਟ ਮਾਰਟਿਨ"
+ },
+ "LC": {
+ "name": "ਸੇਂਟ ਲੂਸੀਆ"
+ },
+ "VC": {
+ "name": "ਸੇਂਟ ਵਿਨਸੈਂਟ ਐਂਡ ਗ੍ਰੇਨਾਡੀਨਸ"
+ },
+ "SN": {
+ "name": "ਸੇਨੇਗਲ"
+ },
+ "SM": {
+ "name": "ਸੈਨ ਮਰੀਨੋ"
+ },
+ "SO": {
+ "name": "ਸੋਮਾਲੀਆ"
+ },
+ "SB": {
+ "name": "ਸੋਲੋਮਨ ਟਾਪੂ"
+ },
+ "HU": {
+ "name": "ਹੰਗਰੀ"
+ },
+ "HK": {
+ "name": "ਹਾਂਗ ਕਾਂਗ ਐਸਏਆਰ ਚੀਨ"
+ },
+ "HT": {
+ "name": "ਹੈਤੀ"
+ },
+ "HN": {
+ "name": "ਹੋਂਡੁਰਸ"
+ },
+ "KZ": {
+ "name": "ਕਜ਼ਾਖਸਤਾਨ"
+ },
+ "QA": {
+ "name": "ਕਤਰ"
+ },
+ "KH": {
+ "name": "ਕੰਬੋਡੀਆ"
+ },
+ "HR": {
+ "name": "ਕਰੋਏਸ਼ੀਆ"
+ },
+ "CX": {
+ "name": "ਕ੍ਰਿਸਮਿਸ ਟਾਪੂ"
+ },
+ "CD": {
+ "name": "ਕਾਂਗੋ - ਕਿੰਸ਼ਾਸਾ"
+ },
+ "CG": {
+ "name": "ਕਾਂਗੋ - ਬ੍ਰਾਜ਼ਾਵਿਲੇ"
+ },
+ "CU": {
+ "name": "ਕਿਊਬਾ"
+ },
+ "KG": {
+ "name": "ਕਿਰਗਿਜ਼ਸਤਾਨ"
+ },
+ "KI": {
+ "name": "ਕਿਰਬਾਤੀ"
+ },
+ "KE": {
+ "name": "ਕੀਨੀਆ"
+ },
+ "CK": {
+ "name": "ਕੁੱਕ ਟਾਪੂ"
+ },
+ "CW": {
+ "name": "ਕੁਰਾਕਾਓ"
+ },
+ "KW": {
+ "name": "ਕੁਵੈਤ"
+ },
+ "CF": {
+ "name": "ਕੇਂਦਰੀ ਅਫ਼ਰੀਕੀ ਗਣਰਾਜ"
+ },
+ "IC": {
+ "name": "ਕੇਨਾਰੀ ਟਾਪੂ"
+ },
+ "CV": {
+ "name": "ਕੇਪ ਵਰਡੇ"
+ },
+ "KY": {
+ "name": "ਕੇਮੈਨ ਟਾਪੂ"
+ },
+ "CA": {
+ "name": "ਕੈਨੇਡਾ"
+ },
+ "CM": {
+ "name": "ਕੈਮਰੂਨ"
+ },
+ "BQ": {
+ "name": "ਕੈਰੇਬੀਆਈ ਨੀਦਰਲੈਂਡ"
+ },
+ "CR": {
+ "name": "ਕੋਸਟਾ ਰੀਕਾ"
+ },
+ "XK": {
+ "name": "ਕੋਸੋਵੋ"
+ },
+ "CC": {
+ "name": "ਕੋਕੋਸ (ਕੀਲਿੰਗ) ਟਾਪੂ"
+ },
+ "CI": {
+ "name": "ਕੋਟ ਡੀਵੋਆਰ"
+ },
+ "KM": {
+ "name": "ਕੋਮੋਰੋਸ"
+ },
+ "CO": {
+ "name": "ਕੋਲੰਬੀਆ"
+ },
+ "GA": {
+ "name": "ਗਬੋਨ"
+ },
+ "GG": {
+ "name": "ਗਰਨਜੀ"
+ },
+ "GR": {
+ "name": "ਗ੍ਰੀਸ"
+ },
+ "GL": {
+ "name": "ਗ੍ਰੀਨਲੈਂਡ"
+ },
+ "GD": {
+ "name": "ਗ੍ਰੇਨਾਡਾ"
+ },
+ "GN": {
+ "name": "ਗਿਨੀ"
+ },
+ "GW": {
+ "name": "ਗਿਨੀ-ਬਿਸਾਉ"
+ },
+ "GT": {
+ "name": "ਗੁਆਟੇਮਾਲਾ"
+ },
+ "GP": {
+ "name": "ਗੁਆਡੇਲੋਪ"
+ },
+ "GU": {
+ "name": "ਗੁਆਮ"
+ },
+ "GY": {
+ "name": "ਗੁਯਾਨਾ"
+ },
+ "GM": {
+ "name": "ਗੈਂਬੀਆ"
+ },
+ "GH": {
+ "name": "ਘਾਨਾ"
+ },
+ "TD": {
+ "name": "ਚਾਡ"
+ },
+ "CL": {
+ "name": "ਚਿਲੀ"
+ },
+ "CN": {
+ "name": "ਚੀਨ"
+ },
+ "CZ": {
+ "name": "ਚੈੱਕ ਗਣਰਾਜ"
+ },
+ "JP": {
+ "name": "ਜਪਾਨ"
+ },
+ "JM": {
+ "name": "ਜਮਾਇਕਾ"
+ },
+ "JE": {
+ "name": "ਜਰਸੀ"
+ },
+ "DE": {
+ "name": "ਜਰਮਨੀ"
+ },
+ "ZM": {
+ "name": "ਜ਼ਾਮਬੀਆ"
+ },
+ "GE": {
+ "name": "ਜਾਰਜੀਆ"
+ },
+ "JO": {
+ "name": "ਜਾਰਡਨ"
+ },
+ "GI": {
+ "name": "ਜਿਬਰਾਲਟਰ"
+ },
+ "ZW": {
+ "name": "ਜ਼ਿੰਬਾਬਵੇ"
+ },
+ "DJ": {
+ "name": "ਜ਼ੀਬੂਤੀ"
+ },
+ "TA": {
+ "name": "ਟ੍ਰਿਸਟਾਨ ਦਾ ਕੁੰਹਾ"
+ },
+ "TT": {
+ "name": "ਟ੍ਰਿਨੀਡਾਡ ਅਤੇ ਟੋਬਾਗੋ"
+ },
+ "TN": {
+ "name": "ਟਿਊਨੀਸ਼ੀਆ"
+ },
+ "TC": {
+ "name": "ਟੁਰਕਸ ਅਤੇ ਕੈਕੋਸ ਟਾਪੂ"
+ },
+ "TV": {
+ "name": "ਟੁਵਾਲੂ"
+ },
+ "TK": {
+ "name": "ਟੋਕੇਲਾਉ"
+ },
+ "TG": {
+ "name": "ਟੋਗੋ"
+ },
+ "TO": {
+ "name": "ਟੌਂਗਾ"
+ },
+ "DG": {
+ "name": "ਡੀਇਗੋ ਗਾਰਸੀਆ"
+ },
+ "DK": {
+ "name": "ਡੈਨਮਾਰਕ"
+ },
+ "DM": {
+ "name": "ਡੋਮੀਨਿਕਾ"
+ },
+ "DO": {
+ "name": "ਡੋਮੀਨਿਕਾਈ ਗਣਰਾਜ"
+ },
+ "TZ": {
+ "name": "ਤਨਜ਼ਾਨੀਆ"
+ },
+ "TW": {
+ "name": "ਤਾਇਵਾਨ"
+ },
+ "TJ": {
+ "name": "ਤਾਜਿਕਿਸਤਾਨ"
+ },
+ "TL": {
+ "name": "ਤਿਮੋਰ-ਲੇਸਤੇ"
+ },
+ "TM": {
+ "name": "ਤੁਰਕਮੇਨਿਸਤਾਨ"
+ },
+ "TR": {
+ "name": "ਤੁਰਕੀ"
+ },
+ "TH": {
+ "name": "ਥਾਈਲੈਂਡ"
+ },
+ "ZA": {
+ "name": "ਦੱਖਣ ਅਫਰੀਕਾ"
+ },
+ "SS": {
+ "name": "ਦੱਖਣ ਸੁਡਾਨ"
+ },
+ "KR": {
+ "name": "ਦੱਖਣ ਕੋਰੀਆ"
+ },
+ "GS": {
+ "name": "ਦੱਖਣੀ ਜਾਰਜੀਆ ਅਤੇ ਦੱਖਣੀ ਸੈਂਡਵਿਚ ਟਾਪੂ"
+ },
+ "NR": {
+ "name": "ਨਾਉਰੂ"
+ },
+ "NE": {
+ "name": "ਨਾਈਜਰ"
+ },
+ "NG": {
+ "name": "ਨਾਈਜੀਰੀਆ"
+ },
+ "NA": {
+ "name": "ਨਾਮੀਬੀਆ"
+ },
+ "NO": {
+ "name": "ਨਾਰਵੇ"
+ },
+ "NC": {
+ "name": "ਨਿਊ ਕੈਲੇਡੋਨੀਆ"
+ },
+ "NZ": {
+ "name": "ਨਿਊਜ਼ੀਲੈਂਡ"
+ },
+ "NI": {
+ "name": "ਨਿਕਾਰਾਗੁਆ"
+ },
+ "NU": {
+ "name": "ਨਿਯੂ"
+ },
+ "NL": {
+ "name": "ਨੀਦਰਲੈਂਡ"
+ },
+ "NP": {
+ "name": "ਨੇਪਾਲ"
+ },
+ "NF": {
+ "name": "ਨੋਰਫੌਕ ਟਾਪੂ"
+ },
+ "EH": {
+ "name": "ਪੱਛਮੀ ਸਹਾਰਾ"
+ },
+ "PA": {
+ "name": "ਪਨਾਮਾ"
+ },
+ "PW": {
+ "name": "ਪਲਾਉ"
+ },
+ "PK": {
+ "name": "ਪਾਕਿਸਤਾਨ"
+ },
+ "PG": {
+ "name": "ਪਾਪੂਆ ਨਿਊ ਗਿਨੀ"
+ },
+ "PR": {
+ "name": "ਪਿਊਰਟੋ ਰਿਕੋ"
+ },
+ "PN": {
+ "name": "ਪਿਟਕੇਰਨ ਟਾਪੂ"
+ },
+ "PT": {
+ "name": "ਪੁਰਤਗਾਲ"
+ },
+ "PE": {
+ "name": "ਪੇਰੂ"
+ },
+ "PY": {
+ "name": "ਪੈਰਾਗਵੇ"
+ },
+ "PL": {
+ "name": "ਪੋਲੈਂਡ"
+ },
+ "FR": {
+ "name": "ਫ਼ਰਾਂਸ"
+ },
+ "GF": {
+ "name": "ਫਰੈਂਚ ਗੁਇਆਨਾ"
+ },
+ "TF": {
+ "name": "ਫਰੈਂਚ ਦੱਖਣੀ ਪ੍ਰਦੇਸ਼"
+ },
+ "PF": {
+ "name": "ਫਰੈਂਚ ਪੋਲੀਨੇਸ਼ੀਆ"
+ },
+ "FK": {
+ "name": "ਫ਼ਾਕਲੈਂਡ ਟਾਪੂ"
+ },
+ "FJ": {
+ "name": "ਫ਼ਿਜੀ"
+ },
+ "FI": {
+ "name": "ਫਿਨਲੈਂਡ"
+ },
+ "PS": {
+ "name": "ਫਿਲੀਸਤੀਨੀ ਇਲਾਕਾ"
+ },
+ "PH": {
+ "name": "ਫਿਲੀਪੀਨਜ"
+ },
+ "FO": {
+ "name": "ਫੈਰੋ ਟਾਪੂ"
+ },
+ "BS": {
+ "name": "ਬਹਾਮਾਸ"
+ },
+ "BH": {
+ "name": "ਬਹਿਰੀਨ"
+ },
+ "BD": {
+ "name": "ਬੰਗਲਾਦੇਸ਼"
+ },
+ "IO": {
+ "name": "ਬਰਤਾਨਵੀ ਹਿੰਦ ਮਹਾਂਸਾਗਰ ਖਿੱਤਾ"
+ },
+ "BM": {
+ "name": "ਬਰਮੂਡਾ"
+ },
+ "BN": {
+ "name": "ਬਰੂਨੇਈ"
+ },
+ "BR": {
+ "name": "ਬ੍ਰਾਜ਼ੀਲ"
+ },
+ "VG": {
+ "name": "ਬ੍ਰਿਟਿਸ਼ ਵਰਜਿਨ ਟਾਪੂ"
+ },
+ "BB": {
+ "name": "ਬਾਰਬਾਡੋਸ"
+ },
+ "BF": {
+ "name": "ਬੁਰਕੀਨਾ ਫ਼ਾਸੋ"
+ },
+ "BI": {
+ "name": "ਬੁਰੁੰਡੀ"
+ },
+ "BG": {
+ "name": "ਬੁਲਗਾਰੀਆ"
+ },
+ "BJ": {
+ "name": "ਬੇਨਿਨ"
+ },
+ "BY": {
+ "name": "ਬੇਲਾਰੂਸ"
+ },
+ "BZ": {
+ "name": "ਬੇਲੀਜ਼"
+ },
+ "BE": {
+ "name": "ਬੈਲਜੀਅਮ"
+ },
+ "BA": {
+ "name": "ਬੋਸਨੀਆ ਅਤੇ ਹਰਜ਼ੇਗੋਵੀਨਾ"
+ },
+ "BW": {
+ "name": "ਬੋਤਸਵਾਨਾ"
+ },
+ "BO": {
+ "name": "ਬੋਲੀਵੀਆ"
+ },
+ "IN": {
+ "name": "ਭਾਰਤ"
+ },
+ "GQ": {
+ "name": "ਭੂ-ਖੰਡੀ ਗਿਨੀ"
+ },
+ "BT": {
+ "name": "ਭੂਟਾਨ"
+ },
+ "MO": {
+ "name": "ਮਕਾਉ ਐਸਏਆਰ ਚੀਨ"
+ },
+ "MN": {
+ "name": "ਮੰਗੋਲੀਆ"
+ },
+ "MW": {
+ "name": "ਮਲਾਵੀ"
+ },
+ "MY": {
+ "name": "ਮਲੇਸ਼ੀਆ"
+ },
+ "FM": {
+ "name": "ਮਾਇਕ੍ਰੋਨੇਸ਼ੀਆ"
+ },
+ "YT": {
+ "name": "ਮਾਯੋਟੀ"
+ },
+ "MH": {
+ "name": "ਮਾਰਸ਼ਲ ਟਾਪੂ"
+ },
+ "MQ": {
+ "name": "ਮਾਰਟੀਨਿਕ"
+ },
+ "MT": {
+ "name": "ਮਾਲਟਾ"
+ },
+ "MV": {
+ "name": "ਮਾਲਦੀਵ"
+ },
+ "ML": {
+ "name": "ਮਾਲੀ"
+ },
+ "MM": {
+ "name": "ਮਿਆਂਮਾਰ (ਬਰਮਾ)"
+ },
+ "EG": {
+ "name": "ਮਿਸਰ"
+ },
+ "MX": {
+ "name": "ਮੈਕਸੀਕੋ"
+ },
+ "MK": {
+ "name": "ਮੈਕਡੋਨੀਆ"
+ },
+ "MG": {
+ "name": "ਮੈਡਾਗਾਸਕਰ"
+ },
+ "MZ": {
+ "name": "ਮੋਜ਼ਾਮਬੀਕ"
+ },
+ "MS": {
+ "name": "ਮੋਂਟਸੇਰਾਤ"
+ },
+ "ME": {
+ "name": "ਮੋਂਟੇਨੇਗਰੋ"
+ },
+ "MC": {
+ "name": "ਮੋਨਾਕੋ"
+ },
+ "MA": {
+ "name": "ਮੋਰੱਕੋ"
+ },
+ "MR": {
+ "name": "ਮੋਰਿਟਾਨੀਆ"
+ },
+ "MD": {
+ "name": "ਮੋਲਡੋਵਾ"
+ },
+ "MU": {
+ "name": "ਮੌਰਿਸ਼ਸ"
+ },
+ "YE": {
+ "name": "ਯਮਨ"
+ },
+ "VI": {
+ "name": "ਯੂ ਐੱਸ ਵਰਜਿਨ ਟਾਪੂ"
+ },
+ "UM": {
+ "name": "ਯੂ.ਐੱਸ. ਦੂਰ-ਦੁਰਾਡੇ ਟਾਪੂ"
+ },
+ "UA": {
+ "name": "ਯੂਕਰੇਨ"
+ },
+ "UG": {
+ "name": "ਯੂਗਾਂਡਾ"
+ },
+ "GB": {
+ "name": "ਯੂਨਾਈਟਡ ਕਿੰਗਡਮ"
+ },
+ "RW": {
+ "name": "ਰਵਾਂਡਾ"
+ },
+ "RE": {
+ "name": "ਰਿਯੂਨੀਅਨ"
+ },
+ "RU": {
+ "name": "ਰੂਸ"
+ },
+ "RO": {
+ "name": "ਰੋਮਾਨੀਆ"
+ },
+ "LU": {
+ "name": "ਲਕਜ਼ਮਬਰਗ"
+ },
+ "LA": {
+ "name": "ਲਾਓਸ"
+ },
+ "LR": {
+ "name": "ਲਾਈਬੀਰੀਆ"
+ },
+ "LV": {
+ "name": "ਲਾਤਵੀਆ"
+ },
+ "LI": {
+ "name": "ਲਿਚੇਂਸਟਾਇਨ"
+ },
+ "LT": {
+ "name": "ਲਿਥੁਆਨੀਆ"
+ },
+ "LY": {
+ "name": "ਲੀਬੀਆ"
+ },
+ "LS": {
+ "name": "ਲੇਸੋਥੋ"
+ },
+ "LB": {
+ "name": "ਲੈਬਨਾਨ"
+ },
+ "VU": {
+ "name": "ਵਾਨੂਆਟੂ"
+ },
+ "WF": {
+ "name": "ਵਾਲਿਸ ਅਤੇ ਫੂਟੂਨਾ"
+ },
+ "VN": {
+ "name": "ਵੀਅਤਨਾਮ"
+ },
+ "VE": {
+ "name": "ਵੇਨੇਜ਼ੂਏਲਾ"
+ },
+ "VA": {
+ "name": "ਵੈਟੀਕਨ ਸਿਟੀ"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/pl.json b/vendor/commerceguys/intl/resources/country/pl.json
new file mode 100644
index 000000000..4a1690a1c
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/pl.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afganistan"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Algieria"
+ },
+ "AD": {
+ "name": "Andora"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarktyka"
+ },
+ "AG": {
+ "name": "Antigua i Barbuda"
+ },
+ "SA": {
+ "name": "Arabia Saudyjska"
+ },
+ "AR": {
+ "name": "Argentyna"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "AZ": {
+ "name": "Azerbejdżan"
+ },
+ "BS": {
+ "name": "Bahamy"
+ },
+ "BH": {
+ "name": "Bahrajn"
+ },
+ "BD": {
+ "name": "Bangladesz"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BE": {
+ "name": "Belgia"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermudy"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BY": {
+ "name": "Białoruś"
+ },
+ "BO": {
+ "name": "Boliwia"
+ },
+ "BA": {
+ "name": "Bośnia i Hercegowina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brazylia"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "IO": {
+ "name": "Brytyjskie Terytorium Oceanu Indyjskiego"
+ },
+ "VG": {
+ "name": "Brytyjskie Wyspy Dziewicze"
+ },
+ "BG": {
+ "name": "Bułgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "EA": {
+ "name": "Ceuta i Melilla"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "Chiny"
+ },
+ "HR": {
+ "name": "Chorwacja"
+ },
+ "CI": {
+ "name": "Côte d’Ivoire"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "CY": {
+ "name": "Cypr"
+ },
+ "TD": {
+ "name": "Czad"
+ },
+ "ME": {
+ "name": "Czarnogóra"
+ },
+ "CZ": {
+ "name": "Czechy"
+ },
+ "UM": {
+ "name": "Dalekie Wyspy Mniejsze Stanów Zjednoczonych"
+ },
+ "DK": {
+ "name": "Dania"
+ },
+ "CD": {
+ "name": "Demokratyczna Republika Konga"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "DO": {
+ "name": "Dominikana"
+ },
+ "DJ": {
+ "name": "Dżibuti"
+ },
+ "EG": {
+ "name": "Egipt"
+ },
+ "EC": {
+ "name": "Ekwador"
+ },
+ "ER": {
+ "name": "Erytrea"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Etiopia"
+ },
+ "FK": {
+ "name": "Falklandy"
+ },
+ "FJ": {
+ "name": "Fidżi"
+ },
+ "PH": {
+ "name": "Filipiny"
+ },
+ "FI": {
+ "name": "Finlandia"
+ },
+ "FR": {
+ "name": "Francja"
+ },
+ "TF": {
+ "name": "Francuskie Terytoria Południowe i Antarktyczne"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GS": {
+ "name": "Georgia Południowa i Sandwich Południowy"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GR": {
+ "name": "Grecja"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GL": {
+ "name": "Grenlandia"
+ },
+ "GE": {
+ "name": "Gruzja"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Gujana"
+ },
+ "GF": {
+ "name": "Gujana Francuska"
+ },
+ "GP": {
+ "name": "Gwadelupa"
+ },
+ "GT": {
+ "name": "Gwatemala"
+ },
+ "GN": {
+ "name": "Gwinea"
+ },
+ "GW": {
+ "name": "Gwinea Bissau"
+ },
+ "GQ": {
+ "name": "Gwinea Równikowa"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "ES": {
+ "name": "Hiszpania"
+ },
+ "NL": {
+ "name": "Holandia"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "IN": {
+ "name": "Indie"
+ },
+ "ID": {
+ "name": "Indonezja"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IE": {
+ "name": "Irlandia"
+ },
+ "IS": {
+ "name": "Islandia"
+ },
+ "IL": {
+ "name": "Izrael"
+ },
+ "JM": {
+ "name": "Jamajka"
+ },
+ "JP": {
+ "name": "Japonia"
+ },
+ "YE": {
+ "name": "Jemen"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordania"
+ },
+ "KY": {
+ "name": "Kajmany"
+ },
+ "KH": {
+ "name": "Kambodża"
+ },
+ "CM": {
+ "name": "Kamerun"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "QA": {
+ "name": "Katar"
+ },
+ "KZ": {
+ "name": "Kazachstan"
+ },
+ "KE": {
+ "name": "Kenia"
+ },
+ "KG": {
+ "name": "Kirgistan"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "CO": {
+ "name": "Kolumbia"
+ },
+ "KM": {
+ "name": "Komory"
+ },
+ "CG": {
+ "name": "Kongo"
+ },
+ "KR": {
+ "name": "Korea Południowa"
+ },
+ "KP": {
+ "name": "Korea Północna"
+ },
+ "XK": {
+ "name": "Kosowo"
+ },
+ "CR": {
+ "name": "Kostaryka"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "KW": {
+ "name": "Kuwejt"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LB": {
+ "name": "Liban"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libia"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Litwa"
+ },
+ "LU": {
+ "name": "Luksemburg"
+ },
+ "LV": {
+ "name": "Łotwa"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagaskar"
+ },
+ "YT": {
+ "name": "Majotta"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MV": {
+ "name": "Malediwy"
+ },
+ "MY": {
+ "name": "Malezja"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MP": {
+ "name": "Mariany Północne"
+ },
+ "MA": {
+ "name": "Maroko"
+ },
+ "MQ": {
+ "name": "Martynika"
+ },
+ "MR": {
+ "name": "Mauretania"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "MX": {
+ "name": "Meksyk"
+ },
+ "FM": {
+ "name": "Mikronezja"
+ },
+ "MM": {
+ "name": "Mjanma (Birma)"
+ },
+ "MD": {
+ "name": "Mołdawia"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mozambik"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "BQ": {
+ "name": "Niderlandy Karaibskie"
+ },
+ "DE": {
+ "name": "Niemcy"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NI": {
+ "name": "Nikaragua"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NF": {
+ "name": "Norfolk"
+ },
+ "NO": {
+ "name": "Norwegia"
+ },
+ "NC": {
+ "name": "Nowa Kaledonia"
+ },
+ "NZ": {
+ "name": "Nowa Zelandia"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua-Nowa Gwinea"
+ },
+ "PY": {
+ "name": "Paragwaj"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitcairn"
+ },
+ "PF": {
+ "name": "Polinezja Francuska"
+ },
+ "PL": {
+ "name": "Polska"
+ },
+ "PR": {
+ "name": "Portoryko"
+ },
+ "PT": {
+ "name": "Portugalia"
+ },
+ "ZA": {
+ "name": "Republika Południowej Afryki"
+ },
+ "CF": {
+ "name": "Republika Środkowoafrykańska"
+ },
+ "CV": {
+ "name": "Republika Zielonego Przylądka"
+ },
+ "RE": {
+ "name": "Reunion"
+ },
+ "RU": {
+ "name": "Rosja"
+ },
+ "RO": {
+ "name": "Rumunia"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "EH": {
+ "name": "Sahara Zachodnia"
+ },
+ "KN": {
+ "name": "Saint Kitts i Nevis"
+ },
+ "LC": {
+ "name": "Saint Lucia"
+ },
+ "VC": {
+ "name": "Saint Vincent i Grenadyny"
+ },
+ "BL": {
+ "name": "Saint-Barthélemy"
+ },
+ "MF": {
+ "name": "Saint-Martin"
+ },
+ "PM": {
+ "name": "Saint-Pierre i Miquelon"
+ },
+ "SV": {
+ "name": "Salwador"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa Amerykańskie"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seszele"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SK": {
+ "name": "Słowacja"
+ },
+ "SI": {
+ "name": "Słowenia"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "HK": {
+ "name": "SRA Hongkong (Chiny)"
+ },
+ "MO": {
+ "name": "SRA Makau (Chiny)"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "US": {
+ "name": "Stany Zjednoczone"
+ },
+ "SZ": {
+ "name": "Suazi"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "SS": {
+ "name": "Sudan Południowy"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SJ": {
+ "name": "Svalbard i Jan Mayen"
+ },
+ "SY": {
+ "name": "Syria"
+ },
+ "CH": {
+ "name": "Szwajcaria"
+ },
+ "SE": {
+ "name": "Szwecja"
+ },
+ "TJ": {
+ "name": "Tadżykistan"
+ },
+ "TH": {
+ "name": "Tajlandia"
+ },
+ "TW": {
+ "name": "Tajwan"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "PS": {
+ "name": "Terytoria Palestyńskie"
+ },
+ "TL": {
+ "name": "Timor Wschodni"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TT": {
+ "name": "Trynidad i Tobago"
+ },
+ "TN": {
+ "name": "Tunezja"
+ },
+ "TR": {
+ "name": "Turcja"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TC": {
+ "name": "Turks i Caicos"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukraina"
+ },
+ "UY": {
+ "name": "Urugwaj"
+ },
+ "UZ": {
+ "name": "Uzbekistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "WF": {
+ "name": "Wallis i Futuna"
+ },
+ "VA": {
+ "name": "Watykan"
+ },
+ "VE": {
+ "name": "Wenezuela"
+ },
+ "HU": {
+ "name": "Węgry"
+ },
+ "GB": {
+ "name": "Wielka Brytania"
+ },
+ "VN": {
+ "name": "Wietnam"
+ },
+ "IT": {
+ "name": "Włochy"
+ },
+ "CX": {
+ "name": "Wyspa Bożego Narodzenia"
+ },
+ "IM": {
+ "name": "Wyspa Man"
+ },
+ "SH": {
+ "name": "Wyspa Świętej Heleny"
+ },
+ "AC": {
+ "name": "Wyspa Wniebowstąpienia"
+ },
+ "AX": {
+ "name": "Wyspy Alandzkie"
+ },
+ "CK": {
+ "name": "Wyspy Cooka"
+ },
+ "VI": {
+ "name": "Wyspy Dziewicze Stanów Zjednoczonych"
+ },
+ "IC": {
+ "name": "Wyspy Kanaryjskie"
+ },
+ "CC": {
+ "name": "Wyspy Kokosowe"
+ },
+ "MH": {
+ "name": "Wyspy Marshalla"
+ },
+ "FO": {
+ "name": "Wyspy Owcze"
+ },
+ "SB": {
+ "name": "Wyspy Salomona"
+ },
+ "ST": {
+ "name": "Wyspy Świętego Tomasza i Książęca"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ },
+ "AE": {
+ "name": "Zjednoczone Emiraty Arabskie"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/ps.json b/vendor/commerceguys/intl/resources/country/ps.json
new file mode 100644
index 000000000..999cd380d
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/ps.json
@@ -0,0 +1,761 @@
+{
+ "IS": {
+ "name": "آیسلینډ"
+ },
+ "AT": {
+ "name": "اتریش"
+ },
+ "AF": {
+ "name": "افغانستان"
+ },
+ "AL": {
+ "name": "البانیه"
+ },
+ "DZ": {
+ "name": "الجزایر"
+ },
+ "DE": {
+ "name": "المان"
+ },
+ "AQ": {
+ "name": "انتارکتیکا"
+ },
+ "ID": {
+ "name": "اندونیزیا"
+ },
+ "AO": {
+ "name": "انګولا"
+ },
+ "IT": {
+ "name": "ایټالیه"
+ },
+ "GB": {
+ "name": "برتانیه"
+ },
+ "BG": {
+ "name": "بلغاریه"
+ },
+ "BD": {
+ "name": "بنګله‌دیش"
+ },
+ "PK": {
+ "name": "پاکستان"
+ },
+ "PT": {
+ "name": "پورتګال"
+ },
+ "PL": {
+ "name": "پولنډ"
+ },
+ "TJ": {
+ "name": "تاجکستان"
+ },
+ "TZ": {
+ "name": "تنزانیا"
+ },
+ "JP": {
+ "name": "جاپان"
+ },
+ "JM": {
+ "name": "جمیکا"
+ },
+ "CN": {
+ "name": "چین"
+ },
+ "ET": {
+ "name": "حبشه"
+ },
+ "DK": {
+ "name": "ډنمارک"
+ },
+ "RU": {
+ "name": "روسیه"
+ },
+ "RW": {
+ "name": "روندا"
+ },
+ "SV": {
+ "name": "سالوېډور"
+ },
+ "SA": {
+ "name": "سعودی عربستان"
+ },
+ "SY": {
+ "name": "سوریه"
+ },
+ "SE": {
+ "name": "سویډن"
+ },
+ "CH": {
+ "name": "سویس"
+ },
+ "IQ": {
+ "name": "عراق"
+ },
+ "FR": {
+ "name": "فرانسه"
+ },
+ "PS": {
+ "name": "فلسطین"
+ },
+ "FI": {
+ "name": "فنلینډ"
+ },
+ "CA": {
+ "name": "کاناډا"
+ },
+ "KH": {
+ "name": "کمبودیا"
+ },
+ "CO": {
+ "name": "کولمبیا"
+ },
+ "KW": {
+ "name": "کویټ"
+ },
+ "CU": {
+ "name": "کیوبا"
+ },
+ "GH": {
+ "name": "ګانا"
+ },
+ "GT": {
+ "name": "ګواتیمالا"
+ },
+ "GN": {
+ "name": "ګیانا"
+ },
+ "LA": {
+ "name": "لاوس"
+ },
+ "LR": {
+ "name": "لایبریا"
+ },
+ "LB": {
+ "name": "لبنان"
+ },
+ "LY": {
+ "name": "لیبیا"
+ },
+ "MY": {
+ "name": "مالیزیا"
+ },
+ "HU": {
+ "name": "مجارستان"
+ },
+ "MA": {
+ "name": "مراکش"
+ },
+ "EG": {
+ "name": "مصر"
+ },
+ "MN": {
+ "name": "مغولستان"
+ },
+ "NO": {
+ "name": "ناروۍ"
+ },
+ "NG": {
+ "name": "نایجیریا"
+ },
+ "NI": {
+ "name": "نکاراګوا"
+ },
+ "NP": {
+ "name": "نیپال"
+ },
+ "NZ": {
+ "name": "نیوزیلنډ"
+ },
+ "NL": {
+ "name": "هالېنډ"
+ },
+ "HN": {
+ "name": "هانډوراس"
+ },
+ "ES": {
+ "name": "هسپانیه"
+ },
+ "IN": {
+ "name": "هند"
+ },
+ "YE": {
+ "name": "یمن"
+ },
+ "UY": {
+ "name": "یوروګوای"
+ },
+ "GR": {
+ "name": "یونان"
+ },
+ "AX": {
+ "name": "Åland Islands"
+ },
+ "AS": {
+ "name": "American Samoa"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AG": {
+ "name": "Antigua & Barbuda"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AZ": {
+ "name": "Azerbaijan"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahrain"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BY": {
+ "name": "Belarus"
+ },
+ "BE": {
+ "name": "Belgium"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia & Herzegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brazil"
+ },
+ "IO": {
+ "name": "British Indian Ocean Territory"
+ },
+ "VG": {
+ "name": "British Virgin Islands"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "CM": {
+ "name": "Cameroon"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "CV": {
+ "name": "Cape Verde"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "KY": {
+ "name": "Cayman Islands"
+ },
+ "CF": {
+ "name": "Central African Republic"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "TD": {
+ "name": "Chad"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "KM": {
+ "name": "Comoros"
+ },
+ "CG": {
+ "name": "Congo - Brazzaville"
+ },
+ "CD": {
+ "name": "Congo - Kinshasa"
+ },
+ "CK": {
+ "name": "Cook Islands"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "CI": {
+ "name": "Côte d’Ivoire"
+ },
+ "HR": {
+ "name": "Croatia"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "CY": {
+ "name": "Cyprus"
+ },
+ "CZ": {
+ "name": "Czech Republic"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DJ": {
+ "name": "Djibouti"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "DO": {
+ "name": "Dominican Republic"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "GQ": {
+ "name": "Equatorial Guinea"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "FK": {
+ "name": "Falkland Islands"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "GF": {
+ "name": "French Guiana"
+ },
+ "PF": {
+ "name": "French Polynesia"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GL": {
+ "name": "Greenland"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GW": {
+ "name": "Guinea-Bissau"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IE": {
+ "name": "Ireland"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordan"
+ },
+ "KZ": {
+ "name": "Kazakhstan"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KG": {
+ "name": "Kyrgyzstan"
+ },
+ "LV": {
+ "name": "Latvia"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lithuania"
+ },
+ "LU": {
+ "name": "Luxembourg"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MV": {
+ "name": "Maldives"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MH": {
+ "name": "Marshall Islands"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Mexico"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar (Burma)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NC": {
+ "name": "New Caledonia"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NF": {
+ "name": "Norfolk Island"
+ },
+ "KP": {
+ "name": "North Korea"
+ },
+ "MP": {
+ "name": "Northern Mariana Islands"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua New Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PH": {
+ "name": "Philippines"
+ },
+ "PN": {
+ "name": "Pitcairn Islands"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "QA": {
+ "name": "Qatar"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RO": {
+ "name": "Romania"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "São Tomé & Príncipe"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapore"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SB": {
+ "name": "Solomon Islands"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "ZA": {
+ "name": "South Africa"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "KR": {
+ "name": "South Korea"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "SH": {
+ "name": "St. Helena"
+ },
+ "KN": {
+ "name": "St. Kitts & Nevis"
+ },
+ "LC": {
+ "name": "St. Lucia"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "PM": {
+ "name": "St. Pierre & Miquelon"
+ },
+ "VC": {
+ "name": "St. Vincent & Grenadines"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swaziland"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TH": {
+ "name": "Thailand"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad & Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TR": {
+ "name": "Turkey"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TC": {
+ "name": "Turks & Caicos Islands"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "VI": {
+ "name": "U.S. Virgin Islands"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukraine"
+ },
+ "AE": {
+ "name": "United Arab Emirates"
+ },
+ "US": {
+ "name": "United States"
+ },
+ "UZ": {
+ "name": "Uzbekistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatican City"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis & Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/pt-AO.json b/vendor/commerceguys/intl/resources/country/pt-AO.json
new file mode 100644
index 000000000..31fddbf1d
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/pt-AO.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afeganistão"
+ },
+ "ZA": {
+ "name": "África do Sul"
+ },
+ "AX": {
+ "name": "Alanda"
+ },
+ "AL": {
+ "name": "Albânia"
+ },
+ "DE": {
+ "name": "Alemanha"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguila"
+ },
+ "AQ": {
+ "name": "Antártida"
+ },
+ "AG": {
+ "name": "Antígua e Barbuda"
+ },
+ "SA": {
+ "name": "Arábia Saudita"
+ },
+ "DZ": {
+ "name": "Argélia"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Arménia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Austrália"
+ },
+ "AT": {
+ "name": "Áustria"
+ },
+ "AZ": {
+ "name": "Azerbaijão"
+ },
+ "BS": {
+ "name": "Baamas"
+ },
+ "BD": {
+ "name": "Bangladeche"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BH": {
+ "name": "Barém"
+ },
+ "BE": {
+ "name": "Bélgica"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benim"
+ },
+ "BM": {
+ "name": "Bermudas"
+ },
+ "BY": {
+ "name": "Bielorrússia"
+ },
+ "BO": {
+ "name": "Bolívia"
+ },
+ "BA": {
+ "name": "Bósnia e Herzegovina"
+ },
+ "BW": {
+ "name": "Botsuana"
+ },
+ "BR": {
+ "name": "Brasil"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgária"
+ },
+ "BF": {
+ "name": "Burquina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Butão"
+ },
+ "CV": {
+ "name": "Cabo Verde"
+ },
+ "CM": {
+ "name": "Camarões"
+ },
+ "KH": {
+ "name": "Camboja"
+ },
+ "CA": {
+ "name": "Canadá"
+ },
+ "QA": {
+ "name": "Catar"
+ },
+ "KZ": {
+ "name": "Cazaquistão"
+ },
+ "EA": {
+ "name": "Ceuta e Melilha"
+ },
+ "TD": {
+ "name": "Chade"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CY": {
+ "name": "Chipre"
+ },
+ "VA": {
+ "name": "Cidade do Vaticano"
+ },
+ "CO": {
+ "name": "Colômbia"
+ },
+ "KM": {
+ "name": "Comores"
+ },
+ "CG": {
+ "name": "Congo-Brazzaville"
+ },
+ "CD": {
+ "name": "Congo-Kinshasa"
+ },
+ "KP": {
+ "name": "Coreia do Norte"
+ },
+ "KR": {
+ "name": "Coreia do Sul"
+ },
+ "CI": {
+ "name": "Costa do Marfim"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "HR": {
+ "name": "Croácia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curaçau"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DK": {
+ "name": "Dinamarca"
+ },
+ "DM": {
+ "name": "Domínica"
+ },
+ "EG": {
+ "name": "Egito"
+ },
+ "AE": {
+ "name": "Emirados Árabes Unidos"
+ },
+ "EC": {
+ "name": "Equador"
+ },
+ "ER": {
+ "name": "Eritreia"
+ },
+ "SK": {
+ "name": "Eslováquia"
+ },
+ "SI": {
+ "name": "Eslovénia"
+ },
+ "ES": {
+ "name": "Espanha"
+ },
+ "US": {
+ "name": "Estados Unidos"
+ },
+ "EE": {
+ "name": "Estónia"
+ },
+ "ET": {
+ "name": "Etiópia"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filipinas"
+ },
+ "FI": {
+ "name": "Finlândia"
+ },
+ "FR": {
+ "name": "França"
+ },
+ "GA": {
+ "name": "Gabão"
+ },
+ "GM": {
+ "name": "Gâmbia"
+ },
+ "GH": {
+ "name": "Gana"
+ },
+ "GE": {
+ "name": "Geórgia"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Granada"
+ },
+ "GR": {
+ "name": "Grécia"
+ },
+ "GL": {
+ "name": "Gronelândia"
+ },
+ "GP": {
+ "name": "Guadalupe"
+ },
+ "GU": {
+ "name": "Guame"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Guiana"
+ },
+ "GF": {
+ "name": "Guiana Francesa"
+ },
+ "GN": {
+ "name": "Guiné"
+ },
+ "GQ": {
+ "name": "Guiné Equatorial"
+ },
+ "GW": {
+ "name": "Guiné-Bissau"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hong Kong, RAE da China"
+ },
+ "HU": {
+ "name": "Hungria"
+ },
+ "YE": {
+ "name": "Iémen"
+ },
+ "AC": {
+ "name": "Ilha de Ascensão"
+ },
+ "IM": {
+ "name": "Ilha de Man"
+ },
+ "CX": {
+ "name": "Ilha do Natal"
+ },
+ "NF": {
+ "name": "Ilha Norfolk"
+ },
+ "KY": {
+ "name": "Ilhas Caimão"
+ },
+ "IC": {
+ "name": "Ilhas Canárias"
+ },
+ "CK": {
+ "name": "Ilhas Cook"
+ },
+ "CC": {
+ "name": "Ilhas dos Cocos (Keeling)"
+ },
+ "FK": {
+ "name": "Ilhas Falkland"
+ },
+ "FO": {
+ "name": "Ilhas Faroé"
+ },
+ "GS": {
+ "name": "Ilhas Geórgia do Sul e Sandwich do Sul"
+ },
+ "MP": {
+ "name": "Ilhas Marianas do Norte"
+ },
+ "MH": {
+ "name": "Ilhas Marshall"
+ },
+ "UM": {
+ "name": "Ilhas Menores Afastadas dos EUA"
+ },
+ "PN": {
+ "name": "Ilhas Pitcairn"
+ },
+ "SB": {
+ "name": "Ilhas Salomão"
+ },
+ "TC": {
+ "name": "Ilhas Turcas e Caicos"
+ },
+ "VG": {
+ "name": "Ilhas Virgens Britânicas"
+ },
+ "VI": {
+ "name": "Ilhas Virgens dos EUA"
+ },
+ "IN": {
+ "name": "Índia"
+ },
+ "ID": {
+ "name": "Indonésia"
+ },
+ "IR": {
+ "name": "Irão"
+ },
+ "IQ": {
+ "name": "Iraque"
+ },
+ "IE": {
+ "name": "Irlanda"
+ },
+ "IS": {
+ "name": "Islândia"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Itália"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japão"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "DJ": {
+ "name": "Jibuti"
+ },
+ "JO": {
+ "name": "Jordânia"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LV": {
+ "name": "Letónia"
+ },
+ "LB": {
+ "name": "Líbano"
+ },
+ "LR": {
+ "name": "Libéria"
+ },
+ "LY": {
+ "name": "Líbia"
+ },
+ "LI": {
+ "name": "Listenstaine"
+ },
+ "LT": {
+ "name": "Lituânia"
+ },
+ "LU": {
+ "name": "Luxemburgo"
+ },
+ "MO": {
+ "name": "Macau, RAE da China"
+ },
+ "MK": {
+ "name": "Macedónia"
+ },
+ "MG": {
+ "name": "Madagáscar"
+ },
+ "YT": {
+ "name": "Maiote"
+ },
+ "MY": {
+ "name": "Malásia"
+ },
+ "MW": {
+ "name": "Maláui"
+ },
+ "MV": {
+ "name": "Maldivas"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marrocos"
+ },
+ "MQ": {
+ "name": "Martinica"
+ },
+ "MU": {
+ "name": "Maurícia"
+ },
+ "MR": {
+ "name": "Mauritânia"
+ },
+ "MX": {
+ "name": "México"
+ },
+ "MM": {
+ "name": "Mianmar (Birmânia)"
+ },
+ "FM": {
+ "name": "Micronésia"
+ },
+ "MZ": {
+ "name": "Moçambique"
+ },
+ "MD": {
+ "name": "Moldávia"
+ },
+ "MC": {
+ "name": "Mónaco"
+ },
+ "MN": {
+ "name": "Mongólia"
+ },
+ "MS": {
+ "name": "Monserrate"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "NA": {
+ "name": "Namíbia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicarágua"
+ },
+ "NE": {
+ "name": "Níger"
+ },
+ "NG": {
+ "name": "Nigéria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Noruega"
+ },
+ "NC": {
+ "name": "Nova Caledónia"
+ },
+ "NZ": {
+ "name": "Nova Zelândia"
+ },
+ "OM": {
+ "name": "Omã"
+ },
+ "NL": {
+ "name": "Países Baixos"
+ },
+ "BQ": {
+ "name": "Países Baixos Caribenhos"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panamá"
+ },
+ "PG": {
+ "name": "Papua-Nova Guiné"
+ },
+ "PK": {
+ "name": "Paquistão"
+ },
+ "PY": {
+ "name": "Paraguai"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PF": {
+ "name": "Polinésia Francesa"
+ },
+ "PL": {
+ "name": "Polónia"
+ },
+ "PR": {
+ "name": "Porto Rico"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "KE": {
+ "name": "Quénia"
+ },
+ "KG": {
+ "name": "Quirguistão"
+ },
+ "KI": {
+ "name": "Quiribati"
+ },
+ "GB": {
+ "name": "Reino Unido"
+ },
+ "CF": {
+ "name": "República Centro-Africana"
+ },
+ "CZ": {
+ "name": "República Checa"
+ },
+ "DO": {
+ "name": "República Dominicana"
+ },
+ "RE": {
+ "name": "Reunião"
+ },
+ "RO": {
+ "name": "Roménia"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RU": {
+ "name": "Rússia"
+ },
+ "EH": {
+ "name": "Saara Ocidental"
+ },
+ "SV": {
+ "name": "Salvador"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa Americana"
+ },
+ "SH": {
+ "name": "Santa Helena"
+ },
+ "LC": {
+ "name": "Santa Lúcia"
+ },
+ "BL": {
+ "name": "São Bartolomeu"
+ },
+ "KN": {
+ "name": "São Cristóvão e Neves"
+ },
+ "SM": {
+ "name": "São Marinho"
+ },
+ "MF": {
+ "name": "São Martinho"
+ },
+ "PM": {
+ "name": "São Pedro e Miquelão"
+ },
+ "ST": {
+ "name": "São Tomé e Príncipe"
+ },
+ "VC": {
+ "name": "São Vicente e Granadinas"
+ },
+ "SC": {
+ "name": "Seicheles"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "SL": {
+ "name": "Serra Leoa"
+ },
+ "RS": {
+ "name": "Sérvia"
+ },
+ "SG": {
+ "name": "Singapura"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Síria"
+ },
+ "SO": {
+ "name": "Somália"
+ },
+ "LK": {
+ "name": "Sri Lanca"
+ },
+ "SZ": {
+ "name": "Suazilândia"
+ },
+ "SD": {
+ "name": "Sudão"
+ },
+ "SS": {
+ "name": "Sudão do Sul"
+ },
+ "SE": {
+ "name": "Suécia"
+ },
+ "CH": {
+ "name": "Suíça"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SJ": {
+ "name": "Svalbard e Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailândia"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TJ": {
+ "name": "Tajiquistão"
+ },
+ "TZ": {
+ "name": "Tanzânia"
+ },
+ "IO": {
+ "name": "Território Britânico do Oceano Índico"
+ },
+ "TF": {
+ "name": "Territórios Franceses do Sul"
+ },
+ "PS": {
+ "name": "Territórios palestinianos"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TK": {
+ "name": "Toquelau"
+ },
+ "TT": {
+ "name": "Trindade e Tobago"
+ },
+ "TA": {
+ "name": "Tristão da Cunha"
+ },
+ "TN": {
+ "name": "Tunísia"
+ },
+ "TM": {
+ "name": "Turquemenistão"
+ },
+ "TR": {
+ "name": "Turquia"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UA": {
+ "name": "Ucrânia"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UY": {
+ "name": "Uruguai"
+ },
+ "UZ": {
+ "name": "Usbequistão"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietname"
+ },
+ "WF": {
+ "name": "Wallis e Futuna"
+ },
+ "ZM": {
+ "name": "Zâmbia"
+ },
+ "ZW": {
+ "name": "Zimbabué"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/pt-CH.json b/vendor/commerceguys/intl/resources/country/pt-CH.json
new file mode 100644
index 000000000..31fddbf1d
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/pt-CH.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afeganistão"
+ },
+ "ZA": {
+ "name": "África do Sul"
+ },
+ "AX": {
+ "name": "Alanda"
+ },
+ "AL": {
+ "name": "Albânia"
+ },
+ "DE": {
+ "name": "Alemanha"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguila"
+ },
+ "AQ": {
+ "name": "Antártida"
+ },
+ "AG": {
+ "name": "Antígua e Barbuda"
+ },
+ "SA": {
+ "name": "Arábia Saudita"
+ },
+ "DZ": {
+ "name": "Argélia"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Arménia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Austrália"
+ },
+ "AT": {
+ "name": "Áustria"
+ },
+ "AZ": {
+ "name": "Azerbaijão"
+ },
+ "BS": {
+ "name": "Baamas"
+ },
+ "BD": {
+ "name": "Bangladeche"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BH": {
+ "name": "Barém"
+ },
+ "BE": {
+ "name": "Bélgica"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benim"
+ },
+ "BM": {
+ "name": "Bermudas"
+ },
+ "BY": {
+ "name": "Bielorrússia"
+ },
+ "BO": {
+ "name": "Bolívia"
+ },
+ "BA": {
+ "name": "Bósnia e Herzegovina"
+ },
+ "BW": {
+ "name": "Botsuana"
+ },
+ "BR": {
+ "name": "Brasil"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgária"
+ },
+ "BF": {
+ "name": "Burquina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Butão"
+ },
+ "CV": {
+ "name": "Cabo Verde"
+ },
+ "CM": {
+ "name": "Camarões"
+ },
+ "KH": {
+ "name": "Camboja"
+ },
+ "CA": {
+ "name": "Canadá"
+ },
+ "QA": {
+ "name": "Catar"
+ },
+ "KZ": {
+ "name": "Cazaquistão"
+ },
+ "EA": {
+ "name": "Ceuta e Melilha"
+ },
+ "TD": {
+ "name": "Chade"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CY": {
+ "name": "Chipre"
+ },
+ "VA": {
+ "name": "Cidade do Vaticano"
+ },
+ "CO": {
+ "name": "Colômbia"
+ },
+ "KM": {
+ "name": "Comores"
+ },
+ "CG": {
+ "name": "Congo-Brazzaville"
+ },
+ "CD": {
+ "name": "Congo-Kinshasa"
+ },
+ "KP": {
+ "name": "Coreia do Norte"
+ },
+ "KR": {
+ "name": "Coreia do Sul"
+ },
+ "CI": {
+ "name": "Costa do Marfim"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "HR": {
+ "name": "Croácia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curaçau"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DK": {
+ "name": "Dinamarca"
+ },
+ "DM": {
+ "name": "Domínica"
+ },
+ "EG": {
+ "name": "Egito"
+ },
+ "AE": {
+ "name": "Emirados Árabes Unidos"
+ },
+ "EC": {
+ "name": "Equador"
+ },
+ "ER": {
+ "name": "Eritreia"
+ },
+ "SK": {
+ "name": "Eslováquia"
+ },
+ "SI": {
+ "name": "Eslovénia"
+ },
+ "ES": {
+ "name": "Espanha"
+ },
+ "US": {
+ "name": "Estados Unidos"
+ },
+ "EE": {
+ "name": "Estónia"
+ },
+ "ET": {
+ "name": "Etiópia"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filipinas"
+ },
+ "FI": {
+ "name": "Finlândia"
+ },
+ "FR": {
+ "name": "França"
+ },
+ "GA": {
+ "name": "Gabão"
+ },
+ "GM": {
+ "name": "Gâmbia"
+ },
+ "GH": {
+ "name": "Gana"
+ },
+ "GE": {
+ "name": "Geórgia"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Granada"
+ },
+ "GR": {
+ "name": "Grécia"
+ },
+ "GL": {
+ "name": "Gronelândia"
+ },
+ "GP": {
+ "name": "Guadalupe"
+ },
+ "GU": {
+ "name": "Guame"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Guiana"
+ },
+ "GF": {
+ "name": "Guiana Francesa"
+ },
+ "GN": {
+ "name": "Guiné"
+ },
+ "GQ": {
+ "name": "Guiné Equatorial"
+ },
+ "GW": {
+ "name": "Guiné-Bissau"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hong Kong, RAE da China"
+ },
+ "HU": {
+ "name": "Hungria"
+ },
+ "YE": {
+ "name": "Iémen"
+ },
+ "AC": {
+ "name": "Ilha de Ascensão"
+ },
+ "IM": {
+ "name": "Ilha de Man"
+ },
+ "CX": {
+ "name": "Ilha do Natal"
+ },
+ "NF": {
+ "name": "Ilha Norfolk"
+ },
+ "KY": {
+ "name": "Ilhas Caimão"
+ },
+ "IC": {
+ "name": "Ilhas Canárias"
+ },
+ "CK": {
+ "name": "Ilhas Cook"
+ },
+ "CC": {
+ "name": "Ilhas dos Cocos (Keeling)"
+ },
+ "FK": {
+ "name": "Ilhas Falkland"
+ },
+ "FO": {
+ "name": "Ilhas Faroé"
+ },
+ "GS": {
+ "name": "Ilhas Geórgia do Sul e Sandwich do Sul"
+ },
+ "MP": {
+ "name": "Ilhas Marianas do Norte"
+ },
+ "MH": {
+ "name": "Ilhas Marshall"
+ },
+ "UM": {
+ "name": "Ilhas Menores Afastadas dos EUA"
+ },
+ "PN": {
+ "name": "Ilhas Pitcairn"
+ },
+ "SB": {
+ "name": "Ilhas Salomão"
+ },
+ "TC": {
+ "name": "Ilhas Turcas e Caicos"
+ },
+ "VG": {
+ "name": "Ilhas Virgens Britânicas"
+ },
+ "VI": {
+ "name": "Ilhas Virgens dos EUA"
+ },
+ "IN": {
+ "name": "Índia"
+ },
+ "ID": {
+ "name": "Indonésia"
+ },
+ "IR": {
+ "name": "Irão"
+ },
+ "IQ": {
+ "name": "Iraque"
+ },
+ "IE": {
+ "name": "Irlanda"
+ },
+ "IS": {
+ "name": "Islândia"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Itália"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japão"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "DJ": {
+ "name": "Jibuti"
+ },
+ "JO": {
+ "name": "Jordânia"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LV": {
+ "name": "Letónia"
+ },
+ "LB": {
+ "name": "Líbano"
+ },
+ "LR": {
+ "name": "Libéria"
+ },
+ "LY": {
+ "name": "Líbia"
+ },
+ "LI": {
+ "name": "Listenstaine"
+ },
+ "LT": {
+ "name": "Lituânia"
+ },
+ "LU": {
+ "name": "Luxemburgo"
+ },
+ "MO": {
+ "name": "Macau, RAE da China"
+ },
+ "MK": {
+ "name": "Macedónia"
+ },
+ "MG": {
+ "name": "Madagáscar"
+ },
+ "YT": {
+ "name": "Maiote"
+ },
+ "MY": {
+ "name": "Malásia"
+ },
+ "MW": {
+ "name": "Maláui"
+ },
+ "MV": {
+ "name": "Maldivas"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marrocos"
+ },
+ "MQ": {
+ "name": "Martinica"
+ },
+ "MU": {
+ "name": "Maurícia"
+ },
+ "MR": {
+ "name": "Mauritânia"
+ },
+ "MX": {
+ "name": "México"
+ },
+ "MM": {
+ "name": "Mianmar (Birmânia)"
+ },
+ "FM": {
+ "name": "Micronésia"
+ },
+ "MZ": {
+ "name": "Moçambique"
+ },
+ "MD": {
+ "name": "Moldávia"
+ },
+ "MC": {
+ "name": "Mónaco"
+ },
+ "MN": {
+ "name": "Mongólia"
+ },
+ "MS": {
+ "name": "Monserrate"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "NA": {
+ "name": "Namíbia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicarágua"
+ },
+ "NE": {
+ "name": "Níger"
+ },
+ "NG": {
+ "name": "Nigéria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Noruega"
+ },
+ "NC": {
+ "name": "Nova Caledónia"
+ },
+ "NZ": {
+ "name": "Nova Zelândia"
+ },
+ "OM": {
+ "name": "Omã"
+ },
+ "NL": {
+ "name": "Países Baixos"
+ },
+ "BQ": {
+ "name": "Países Baixos Caribenhos"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panamá"
+ },
+ "PG": {
+ "name": "Papua-Nova Guiné"
+ },
+ "PK": {
+ "name": "Paquistão"
+ },
+ "PY": {
+ "name": "Paraguai"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PF": {
+ "name": "Polinésia Francesa"
+ },
+ "PL": {
+ "name": "Polónia"
+ },
+ "PR": {
+ "name": "Porto Rico"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "KE": {
+ "name": "Quénia"
+ },
+ "KG": {
+ "name": "Quirguistão"
+ },
+ "KI": {
+ "name": "Quiribati"
+ },
+ "GB": {
+ "name": "Reino Unido"
+ },
+ "CF": {
+ "name": "República Centro-Africana"
+ },
+ "CZ": {
+ "name": "República Checa"
+ },
+ "DO": {
+ "name": "República Dominicana"
+ },
+ "RE": {
+ "name": "Reunião"
+ },
+ "RO": {
+ "name": "Roménia"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RU": {
+ "name": "Rússia"
+ },
+ "EH": {
+ "name": "Saara Ocidental"
+ },
+ "SV": {
+ "name": "Salvador"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa Americana"
+ },
+ "SH": {
+ "name": "Santa Helena"
+ },
+ "LC": {
+ "name": "Santa Lúcia"
+ },
+ "BL": {
+ "name": "São Bartolomeu"
+ },
+ "KN": {
+ "name": "São Cristóvão e Neves"
+ },
+ "SM": {
+ "name": "São Marinho"
+ },
+ "MF": {
+ "name": "São Martinho"
+ },
+ "PM": {
+ "name": "São Pedro e Miquelão"
+ },
+ "ST": {
+ "name": "São Tomé e Príncipe"
+ },
+ "VC": {
+ "name": "São Vicente e Granadinas"
+ },
+ "SC": {
+ "name": "Seicheles"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "SL": {
+ "name": "Serra Leoa"
+ },
+ "RS": {
+ "name": "Sérvia"
+ },
+ "SG": {
+ "name": "Singapura"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Síria"
+ },
+ "SO": {
+ "name": "Somália"
+ },
+ "LK": {
+ "name": "Sri Lanca"
+ },
+ "SZ": {
+ "name": "Suazilândia"
+ },
+ "SD": {
+ "name": "Sudão"
+ },
+ "SS": {
+ "name": "Sudão do Sul"
+ },
+ "SE": {
+ "name": "Suécia"
+ },
+ "CH": {
+ "name": "Suíça"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SJ": {
+ "name": "Svalbard e Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailândia"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TJ": {
+ "name": "Tajiquistão"
+ },
+ "TZ": {
+ "name": "Tanzânia"
+ },
+ "IO": {
+ "name": "Território Britânico do Oceano Índico"
+ },
+ "TF": {
+ "name": "Territórios Franceses do Sul"
+ },
+ "PS": {
+ "name": "Territórios palestinianos"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TK": {
+ "name": "Toquelau"
+ },
+ "TT": {
+ "name": "Trindade e Tobago"
+ },
+ "TA": {
+ "name": "Tristão da Cunha"
+ },
+ "TN": {
+ "name": "Tunísia"
+ },
+ "TM": {
+ "name": "Turquemenistão"
+ },
+ "TR": {
+ "name": "Turquia"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UA": {
+ "name": "Ucrânia"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UY": {
+ "name": "Uruguai"
+ },
+ "UZ": {
+ "name": "Usbequistão"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietname"
+ },
+ "WF": {
+ "name": "Wallis e Futuna"
+ },
+ "ZM": {
+ "name": "Zâmbia"
+ },
+ "ZW": {
+ "name": "Zimbabué"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/pt-CV.json b/vendor/commerceguys/intl/resources/country/pt-CV.json
new file mode 100644
index 000000000..31fddbf1d
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/pt-CV.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afeganistão"
+ },
+ "ZA": {
+ "name": "África do Sul"
+ },
+ "AX": {
+ "name": "Alanda"
+ },
+ "AL": {
+ "name": "Albânia"
+ },
+ "DE": {
+ "name": "Alemanha"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguila"
+ },
+ "AQ": {
+ "name": "Antártida"
+ },
+ "AG": {
+ "name": "Antígua e Barbuda"
+ },
+ "SA": {
+ "name": "Arábia Saudita"
+ },
+ "DZ": {
+ "name": "Argélia"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Arménia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Austrália"
+ },
+ "AT": {
+ "name": "Áustria"
+ },
+ "AZ": {
+ "name": "Azerbaijão"
+ },
+ "BS": {
+ "name": "Baamas"
+ },
+ "BD": {
+ "name": "Bangladeche"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BH": {
+ "name": "Barém"
+ },
+ "BE": {
+ "name": "Bélgica"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benim"
+ },
+ "BM": {
+ "name": "Bermudas"
+ },
+ "BY": {
+ "name": "Bielorrússia"
+ },
+ "BO": {
+ "name": "Bolívia"
+ },
+ "BA": {
+ "name": "Bósnia e Herzegovina"
+ },
+ "BW": {
+ "name": "Botsuana"
+ },
+ "BR": {
+ "name": "Brasil"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgária"
+ },
+ "BF": {
+ "name": "Burquina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Butão"
+ },
+ "CV": {
+ "name": "Cabo Verde"
+ },
+ "CM": {
+ "name": "Camarões"
+ },
+ "KH": {
+ "name": "Camboja"
+ },
+ "CA": {
+ "name": "Canadá"
+ },
+ "QA": {
+ "name": "Catar"
+ },
+ "KZ": {
+ "name": "Cazaquistão"
+ },
+ "EA": {
+ "name": "Ceuta e Melilha"
+ },
+ "TD": {
+ "name": "Chade"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CY": {
+ "name": "Chipre"
+ },
+ "VA": {
+ "name": "Cidade do Vaticano"
+ },
+ "CO": {
+ "name": "Colômbia"
+ },
+ "KM": {
+ "name": "Comores"
+ },
+ "CG": {
+ "name": "Congo-Brazzaville"
+ },
+ "CD": {
+ "name": "Congo-Kinshasa"
+ },
+ "KP": {
+ "name": "Coreia do Norte"
+ },
+ "KR": {
+ "name": "Coreia do Sul"
+ },
+ "CI": {
+ "name": "Costa do Marfim"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "HR": {
+ "name": "Croácia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curaçau"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DK": {
+ "name": "Dinamarca"
+ },
+ "DM": {
+ "name": "Domínica"
+ },
+ "EG": {
+ "name": "Egito"
+ },
+ "AE": {
+ "name": "Emirados Árabes Unidos"
+ },
+ "EC": {
+ "name": "Equador"
+ },
+ "ER": {
+ "name": "Eritreia"
+ },
+ "SK": {
+ "name": "Eslováquia"
+ },
+ "SI": {
+ "name": "Eslovénia"
+ },
+ "ES": {
+ "name": "Espanha"
+ },
+ "US": {
+ "name": "Estados Unidos"
+ },
+ "EE": {
+ "name": "Estónia"
+ },
+ "ET": {
+ "name": "Etiópia"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filipinas"
+ },
+ "FI": {
+ "name": "Finlândia"
+ },
+ "FR": {
+ "name": "França"
+ },
+ "GA": {
+ "name": "Gabão"
+ },
+ "GM": {
+ "name": "Gâmbia"
+ },
+ "GH": {
+ "name": "Gana"
+ },
+ "GE": {
+ "name": "Geórgia"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Granada"
+ },
+ "GR": {
+ "name": "Grécia"
+ },
+ "GL": {
+ "name": "Gronelândia"
+ },
+ "GP": {
+ "name": "Guadalupe"
+ },
+ "GU": {
+ "name": "Guame"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Guiana"
+ },
+ "GF": {
+ "name": "Guiana Francesa"
+ },
+ "GN": {
+ "name": "Guiné"
+ },
+ "GQ": {
+ "name": "Guiné Equatorial"
+ },
+ "GW": {
+ "name": "Guiné-Bissau"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hong Kong, RAE da China"
+ },
+ "HU": {
+ "name": "Hungria"
+ },
+ "YE": {
+ "name": "Iémen"
+ },
+ "AC": {
+ "name": "Ilha de Ascensão"
+ },
+ "IM": {
+ "name": "Ilha de Man"
+ },
+ "CX": {
+ "name": "Ilha do Natal"
+ },
+ "NF": {
+ "name": "Ilha Norfolk"
+ },
+ "KY": {
+ "name": "Ilhas Caimão"
+ },
+ "IC": {
+ "name": "Ilhas Canárias"
+ },
+ "CK": {
+ "name": "Ilhas Cook"
+ },
+ "CC": {
+ "name": "Ilhas dos Cocos (Keeling)"
+ },
+ "FK": {
+ "name": "Ilhas Falkland"
+ },
+ "FO": {
+ "name": "Ilhas Faroé"
+ },
+ "GS": {
+ "name": "Ilhas Geórgia do Sul e Sandwich do Sul"
+ },
+ "MP": {
+ "name": "Ilhas Marianas do Norte"
+ },
+ "MH": {
+ "name": "Ilhas Marshall"
+ },
+ "UM": {
+ "name": "Ilhas Menores Afastadas dos EUA"
+ },
+ "PN": {
+ "name": "Ilhas Pitcairn"
+ },
+ "SB": {
+ "name": "Ilhas Salomão"
+ },
+ "TC": {
+ "name": "Ilhas Turcas e Caicos"
+ },
+ "VG": {
+ "name": "Ilhas Virgens Britânicas"
+ },
+ "VI": {
+ "name": "Ilhas Virgens dos EUA"
+ },
+ "IN": {
+ "name": "Índia"
+ },
+ "ID": {
+ "name": "Indonésia"
+ },
+ "IR": {
+ "name": "Irão"
+ },
+ "IQ": {
+ "name": "Iraque"
+ },
+ "IE": {
+ "name": "Irlanda"
+ },
+ "IS": {
+ "name": "Islândia"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Itália"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japão"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "DJ": {
+ "name": "Jibuti"
+ },
+ "JO": {
+ "name": "Jordânia"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LV": {
+ "name": "Letónia"
+ },
+ "LB": {
+ "name": "Líbano"
+ },
+ "LR": {
+ "name": "Libéria"
+ },
+ "LY": {
+ "name": "Líbia"
+ },
+ "LI": {
+ "name": "Listenstaine"
+ },
+ "LT": {
+ "name": "Lituânia"
+ },
+ "LU": {
+ "name": "Luxemburgo"
+ },
+ "MO": {
+ "name": "Macau, RAE da China"
+ },
+ "MK": {
+ "name": "Macedónia"
+ },
+ "MG": {
+ "name": "Madagáscar"
+ },
+ "YT": {
+ "name": "Maiote"
+ },
+ "MY": {
+ "name": "Malásia"
+ },
+ "MW": {
+ "name": "Maláui"
+ },
+ "MV": {
+ "name": "Maldivas"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marrocos"
+ },
+ "MQ": {
+ "name": "Martinica"
+ },
+ "MU": {
+ "name": "Maurícia"
+ },
+ "MR": {
+ "name": "Mauritânia"
+ },
+ "MX": {
+ "name": "México"
+ },
+ "MM": {
+ "name": "Mianmar (Birmânia)"
+ },
+ "FM": {
+ "name": "Micronésia"
+ },
+ "MZ": {
+ "name": "Moçambique"
+ },
+ "MD": {
+ "name": "Moldávia"
+ },
+ "MC": {
+ "name": "Mónaco"
+ },
+ "MN": {
+ "name": "Mongólia"
+ },
+ "MS": {
+ "name": "Monserrate"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "NA": {
+ "name": "Namíbia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicarágua"
+ },
+ "NE": {
+ "name": "Níger"
+ },
+ "NG": {
+ "name": "Nigéria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Noruega"
+ },
+ "NC": {
+ "name": "Nova Caledónia"
+ },
+ "NZ": {
+ "name": "Nova Zelândia"
+ },
+ "OM": {
+ "name": "Omã"
+ },
+ "NL": {
+ "name": "Países Baixos"
+ },
+ "BQ": {
+ "name": "Países Baixos Caribenhos"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panamá"
+ },
+ "PG": {
+ "name": "Papua-Nova Guiné"
+ },
+ "PK": {
+ "name": "Paquistão"
+ },
+ "PY": {
+ "name": "Paraguai"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PF": {
+ "name": "Polinésia Francesa"
+ },
+ "PL": {
+ "name": "Polónia"
+ },
+ "PR": {
+ "name": "Porto Rico"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "KE": {
+ "name": "Quénia"
+ },
+ "KG": {
+ "name": "Quirguistão"
+ },
+ "KI": {
+ "name": "Quiribati"
+ },
+ "GB": {
+ "name": "Reino Unido"
+ },
+ "CF": {
+ "name": "República Centro-Africana"
+ },
+ "CZ": {
+ "name": "República Checa"
+ },
+ "DO": {
+ "name": "República Dominicana"
+ },
+ "RE": {
+ "name": "Reunião"
+ },
+ "RO": {
+ "name": "Roménia"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RU": {
+ "name": "Rússia"
+ },
+ "EH": {
+ "name": "Saara Ocidental"
+ },
+ "SV": {
+ "name": "Salvador"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa Americana"
+ },
+ "SH": {
+ "name": "Santa Helena"
+ },
+ "LC": {
+ "name": "Santa Lúcia"
+ },
+ "BL": {
+ "name": "São Bartolomeu"
+ },
+ "KN": {
+ "name": "São Cristóvão e Neves"
+ },
+ "SM": {
+ "name": "São Marinho"
+ },
+ "MF": {
+ "name": "São Martinho"
+ },
+ "PM": {
+ "name": "São Pedro e Miquelão"
+ },
+ "ST": {
+ "name": "São Tomé e Príncipe"
+ },
+ "VC": {
+ "name": "São Vicente e Granadinas"
+ },
+ "SC": {
+ "name": "Seicheles"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "SL": {
+ "name": "Serra Leoa"
+ },
+ "RS": {
+ "name": "Sérvia"
+ },
+ "SG": {
+ "name": "Singapura"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Síria"
+ },
+ "SO": {
+ "name": "Somália"
+ },
+ "LK": {
+ "name": "Sri Lanca"
+ },
+ "SZ": {
+ "name": "Suazilândia"
+ },
+ "SD": {
+ "name": "Sudão"
+ },
+ "SS": {
+ "name": "Sudão do Sul"
+ },
+ "SE": {
+ "name": "Suécia"
+ },
+ "CH": {
+ "name": "Suíça"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SJ": {
+ "name": "Svalbard e Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailândia"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TJ": {
+ "name": "Tajiquistão"
+ },
+ "TZ": {
+ "name": "Tanzânia"
+ },
+ "IO": {
+ "name": "Território Britânico do Oceano Índico"
+ },
+ "TF": {
+ "name": "Territórios Franceses do Sul"
+ },
+ "PS": {
+ "name": "Territórios palestinianos"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TK": {
+ "name": "Toquelau"
+ },
+ "TT": {
+ "name": "Trindade e Tobago"
+ },
+ "TA": {
+ "name": "Tristão da Cunha"
+ },
+ "TN": {
+ "name": "Tunísia"
+ },
+ "TM": {
+ "name": "Turquemenistão"
+ },
+ "TR": {
+ "name": "Turquia"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UA": {
+ "name": "Ucrânia"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UY": {
+ "name": "Uruguai"
+ },
+ "UZ": {
+ "name": "Usbequistão"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietname"
+ },
+ "WF": {
+ "name": "Wallis e Futuna"
+ },
+ "ZM": {
+ "name": "Zâmbia"
+ },
+ "ZW": {
+ "name": "Zimbabué"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/pt-GQ.json b/vendor/commerceguys/intl/resources/country/pt-GQ.json
new file mode 100644
index 000000000..31fddbf1d
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/pt-GQ.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afeganistão"
+ },
+ "ZA": {
+ "name": "África do Sul"
+ },
+ "AX": {
+ "name": "Alanda"
+ },
+ "AL": {
+ "name": "Albânia"
+ },
+ "DE": {
+ "name": "Alemanha"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguila"
+ },
+ "AQ": {
+ "name": "Antártida"
+ },
+ "AG": {
+ "name": "Antígua e Barbuda"
+ },
+ "SA": {
+ "name": "Arábia Saudita"
+ },
+ "DZ": {
+ "name": "Argélia"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Arménia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Austrália"
+ },
+ "AT": {
+ "name": "Áustria"
+ },
+ "AZ": {
+ "name": "Azerbaijão"
+ },
+ "BS": {
+ "name": "Baamas"
+ },
+ "BD": {
+ "name": "Bangladeche"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BH": {
+ "name": "Barém"
+ },
+ "BE": {
+ "name": "Bélgica"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benim"
+ },
+ "BM": {
+ "name": "Bermudas"
+ },
+ "BY": {
+ "name": "Bielorrússia"
+ },
+ "BO": {
+ "name": "Bolívia"
+ },
+ "BA": {
+ "name": "Bósnia e Herzegovina"
+ },
+ "BW": {
+ "name": "Botsuana"
+ },
+ "BR": {
+ "name": "Brasil"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgária"
+ },
+ "BF": {
+ "name": "Burquina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Butão"
+ },
+ "CV": {
+ "name": "Cabo Verde"
+ },
+ "CM": {
+ "name": "Camarões"
+ },
+ "KH": {
+ "name": "Camboja"
+ },
+ "CA": {
+ "name": "Canadá"
+ },
+ "QA": {
+ "name": "Catar"
+ },
+ "KZ": {
+ "name": "Cazaquistão"
+ },
+ "EA": {
+ "name": "Ceuta e Melilha"
+ },
+ "TD": {
+ "name": "Chade"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CY": {
+ "name": "Chipre"
+ },
+ "VA": {
+ "name": "Cidade do Vaticano"
+ },
+ "CO": {
+ "name": "Colômbia"
+ },
+ "KM": {
+ "name": "Comores"
+ },
+ "CG": {
+ "name": "Congo-Brazzaville"
+ },
+ "CD": {
+ "name": "Congo-Kinshasa"
+ },
+ "KP": {
+ "name": "Coreia do Norte"
+ },
+ "KR": {
+ "name": "Coreia do Sul"
+ },
+ "CI": {
+ "name": "Costa do Marfim"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "HR": {
+ "name": "Croácia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curaçau"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DK": {
+ "name": "Dinamarca"
+ },
+ "DM": {
+ "name": "Domínica"
+ },
+ "EG": {
+ "name": "Egito"
+ },
+ "AE": {
+ "name": "Emirados Árabes Unidos"
+ },
+ "EC": {
+ "name": "Equador"
+ },
+ "ER": {
+ "name": "Eritreia"
+ },
+ "SK": {
+ "name": "Eslováquia"
+ },
+ "SI": {
+ "name": "Eslovénia"
+ },
+ "ES": {
+ "name": "Espanha"
+ },
+ "US": {
+ "name": "Estados Unidos"
+ },
+ "EE": {
+ "name": "Estónia"
+ },
+ "ET": {
+ "name": "Etiópia"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filipinas"
+ },
+ "FI": {
+ "name": "Finlândia"
+ },
+ "FR": {
+ "name": "França"
+ },
+ "GA": {
+ "name": "Gabão"
+ },
+ "GM": {
+ "name": "Gâmbia"
+ },
+ "GH": {
+ "name": "Gana"
+ },
+ "GE": {
+ "name": "Geórgia"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Granada"
+ },
+ "GR": {
+ "name": "Grécia"
+ },
+ "GL": {
+ "name": "Gronelândia"
+ },
+ "GP": {
+ "name": "Guadalupe"
+ },
+ "GU": {
+ "name": "Guame"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Guiana"
+ },
+ "GF": {
+ "name": "Guiana Francesa"
+ },
+ "GN": {
+ "name": "Guiné"
+ },
+ "GQ": {
+ "name": "Guiné Equatorial"
+ },
+ "GW": {
+ "name": "Guiné-Bissau"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hong Kong, RAE da China"
+ },
+ "HU": {
+ "name": "Hungria"
+ },
+ "YE": {
+ "name": "Iémen"
+ },
+ "AC": {
+ "name": "Ilha de Ascensão"
+ },
+ "IM": {
+ "name": "Ilha de Man"
+ },
+ "CX": {
+ "name": "Ilha do Natal"
+ },
+ "NF": {
+ "name": "Ilha Norfolk"
+ },
+ "KY": {
+ "name": "Ilhas Caimão"
+ },
+ "IC": {
+ "name": "Ilhas Canárias"
+ },
+ "CK": {
+ "name": "Ilhas Cook"
+ },
+ "CC": {
+ "name": "Ilhas dos Cocos (Keeling)"
+ },
+ "FK": {
+ "name": "Ilhas Falkland"
+ },
+ "FO": {
+ "name": "Ilhas Faroé"
+ },
+ "GS": {
+ "name": "Ilhas Geórgia do Sul e Sandwich do Sul"
+ },
+ "MP": {
+ "name": "Ilhas Marianas do Norte"
+ },
+ "MH": {
+ "name": "Ilhas Marshall"
+ },
+ "UM": {
+ "name": "Ilhas Menores Afastadas dos EUA"
+ },
+ "PN": {
+ "name": "Ilhas Pitcairn"
+ },
+ "SB": {
+ "name": "Ilhas Salomão"
+ },
+ "TC": {
+ "name": "Ilhas Turcas e Caicos"
+ },
+ "VG": {
+ "name": "Ilhas Virgens Britânicas"
+ },
+ "VI": {
+ "name": "Ilhas Virgens dos EUA"
+ },
+ "IN": {
+ "name": "Índia"
+ },
+ "ID": {
+ "name": "Indonésia"
+ },
+ "IR": {
+ "name": "Irão"
+ },
+ "IQ": {
+ "name": "Iraque"
+ },
+ "IE": {
+ "name": "Irlanda"
+ },
+ "IS": {
+ "name": "Islândia"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Itália"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japão"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "DJ": {
+ "name": "Jibuti"
+ },
+ "JO": {
+ "name": "Jordânia"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LV": {
+ "name": "Letónia"
+ },
+ "LB": {
+ "name": "Líbano"
+ },
+ "LR": {
+ "name": "Libéria"
+ },
+ "LY": {
+ "name": "Líbia"
+ },
+ "LI": {
+ "name": "Listenstaine"
+ },
+ "LT": {
+ "name": "Lituânia"
+ },
+ "LU": {
+ "name": "Luxemburgo"
+ },
+ "MO": {
+ "name": "Macau, RAE da China"
+ },
+ "MK": {
+ "name": "Macedónia"
+ },
+ "MG": {
+ "name": "Madagáscar"
+ },
+ "YT": {
+ "name": "Maiote"
+ },
+ "MY": {
+ "name": "Malásia"
+ },
+ "MW": {
+ "name": "Maláui"
+ },
+ "MV": {
+ "name": "Maldivas"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marrocos"
+ },
+ "MQ": {
+ "name": "Martinica"
+ },
+ "MU": {
+ "name": "Maurícia"
+ },
+ "MR": {
+ "name": "Mauritânia"
+ },
+ "MX": {
+ "name": "México"
+ },
+ "MM": {
+ "name": "Mianmar (Birmânia)"
+ },
+ "FM": {
+ "name": "Micronésia"
+ },
+ "MZ": {
+ "name": "Moçambique"
+ },
+ "MD": {
+ "name": "Moldávia"
+ },
+ "MC": {
+ "name": "Mónaco"
+ },
+ "MN": {
+ "name": "Mongólia"
+ },
+ "MS": {
+ "name": "Monserrate"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "NA": {
+ "name": "Namíbia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicarágua"
+ },
+ "NE": {
+ "name": "Níger"
+ },
+ "NG": {
+ "name": "Nigéria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Noruega"
+ },
+ "NC": {
+ "name": "Nova Caledónia"
+ },
+ "NZ": {
+ "name": "Nova Zelândia"
+ },
+ "OM": {
+ "name": "Omã"
+ },
+ "NL": {
+ "name": "Países Baixos"
+ },
+ "BQ": {
+ "name": "Países Baixos Caribenhos"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panamá"
+ },
+ "PG": {
+ "name": "Papua-Nova Guiné"
+ },
+ "PK": {
+ "name": "Paquistão"
+ },
+ "PY": {
+ "name": "Paraguai"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PF": {
+ "name": "Polinésia Francesa"
+ },
+ "PL": {
+ "name": "Polónia"
+ },
+ "PR": {
+ "name": "Porto Rico"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "KE": {
+ "name": "Quénia"
+ },
+ "KG": {
+ "name": "Quirguistão"
+ },
+ "KI": {
+ "name": "Quiribati"
+ },
+ "GB": {
+ "name": "Reino Unido"
+ },
+ "CF": {
+ "name": "República Centro-Africana"
+ },
+ "CZ": {
+ "name": "República Checa"
+ },
+ "DO": {
+ "name": "República Dominicana"
+ },
+ "RE": {
+ "name": "Reunião"
+ },
+ "RO": {
+ "name": "Roménia"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RU": {
+ "name": "Rússia"
+ },
+ "EH": {
+ "name": "Saara Ocidental"
+ },
+ "SV": {
+ "name": "Salvador"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa Americana"
+ },
+ "SH": {
+ "name": "Santa Helena"
+ },
+ "LC": {
+ "name": "Santa Lúcia"
+ },
+ "BL": {
+ "name": "São Bartolomeu"
+ },
+ "KN": {
+ "name": "São Cristóvão e Neves"
+ },
+ "SM": {
+ "name": "São Marinho"
+ },
+ "MF": {
+ "name": "São Martinho"
+ },
+ "PM": {
+ "name": "São Pedro e Miquelão"
+ },
+ "ST": {
+ "name": "São Tomé e Príncipe"
+ },
+ "VC": {
+ "name": "São Vicente e Granadinas"
+ },
+ "SC": {
+ "name": "Seicheles"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "SL": {
+ "name": "Serra Leoa"
+ },
+ "RS": {
+ "name": "Sérvia"
+ },
+ "SG": {
+ "name": "Singapura"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Síria"
+ },
+ "SO": {
+ "name": "Somália"
+ },
+ "LK": {
+ "name": "Sri Lanca"
+ },
+ "SZ": {
+ "name": "Suazilândia"
+ },
+ "SD": {
+ "name": "Sudão"
+ },
+ "SS": {
+ "name": "Sudão do Sul"
+ },
+ "SE": {
+ "name": "Suécia"
+ },
+ "CH": {
+ "name": "Suíça"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SJ": {
+ "name": "Svalbard e Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailândia"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TJ": {
+ "name": "Tajiquistão"
+ },
+ "TZ": {
+ "name": "Tanzânia"
+ },
+ "IO": {
+ "name": "Território Britânico do Oceano Índico"
+ },
+ "TF": {
+ "name": "Territórios Franceses do Sul"
+ },
+ "PS": {
+ "name": "Territórios palestinianos"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TK": {
+ "name": "Toquelau"
+ },
+ "TT": {
+ "name": "Trindade e Tobago"
+ },
+ "TA": {
+ "name": "Tristão da Cunha"
+ },
+ "TN": {
+ "name": "Tunísia"
+ },
+ "TM": {
+ "name": "Turquemenistão"
+ },
+ "TR": {
+ "name": "Turquia"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UA": {
+ "name": "Ucrânia"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UY": {
+ "name": "Uruguai"
+ },
+ "UZ": {
+ "name": "Usbequistão"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietname"
+ },
+ "WF": {
+ "name": "Wallis e Futuna"
+ },
+ "ZM": {
+ "name": "Zâmbia"
+ },
+ "ZW": {
+ "name": "Zimbabué"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/pt-GW.json b/vendor/commerceguys/intl/resources/country/pt-GW.json
new file mode 100644
index 000000000..31fddbf1d
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/pt-GW.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afeganistão"
+ },
+ "ZA": {
+ "name": "África do Sul"
+ },
+ "AX": {
+ "name": "Alanda"
+ },
+ "AL": {
+ "name": "Albânia"
+ },
+ "DE": {
+ "name": "Alemanha"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguila"
+ },
+ "AQ": {
+ "name": "Antártida"
+ },
+ "AG": {
+ "name": "Antígua e Barbuda"
+ },
+ "SA": {
+ "name": "Arábia Saudita"
+ },
+ "DZ": {
+ "name": "Argélia"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Arménia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Austrália"
+ },
+ "AT": {
+ "name": "Áustria"
+ },
+ "AZ": {
+ "name": "Azerbaijão"
+ },
+ "BS": {
+ "name": "Baamas"
+ },
+ "BD": {
+ "name": "Bangladeche"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BH": {
+ "name": "Barém"
+ },
+ "BE": {
+ "name": "Bélgica"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benim"
+ },
+ "BM": {
+ "name": "Bermudas"
+ },
+ "BY": {
+ "name": "Bielorrússia"
+ },
+ "BO": {
+ "name": "Bolívia"
+ },
+ "BA": {
+ "name": "Bósnia e Herzegovina"
+ },
+ "BW": {
+ "name": "Botsuana"
+ },
+ "BR": {
+ "name": "Brasil"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgária"
+ },
+ "BF": {
+ "name": "Burquina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Butão"
+ },
+ "CV": {
+ "name": "Cabo Verde"
+ },
+ "CM": {
+ "name": "Camarões"
+ },
+ "KH": {
+ "name": "Camboja"
+ },
+ "CA": {
+ "name": "Canadá"
+ },
+ "QA": {
+ "name": "Catar"
+ },
+ "KZ": {
+ "name": "Cazaquistão"
+ },
+ "EA": {
+ "name": "Ceuta e Melilha"
+ },
+ "TD": {
+ "name": "Chade"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CY": {
+ "name": "Chipre"
+ },
+ "VA": {
+ "name": "Cidade do Vaticano"
+ },
+ "CO": {
+ "name": "Colômbia"
+ },
+ "KM": {
+ "name": "Comores"
+ },
+ "CG": {
+ "name": "Congo-Brazzaville"
+ },
+ "CD": {
+ "name": "Congo-Kinshasa"
+ },
+ "KP": {
+ "name": "Coreia do Norte"
+ },
+ "KR": {
+ "name": "Coreia do Sul"
+ },
+ "CI": {
+ "name": "Costa do Marfim"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "HR": {
+ "name": "Croácia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curaçau"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DK": {
+ "name": "Dinamarca"
+ },
+ "DM": {
+ "name": "Domínica"
+ },
+ "EG": {
+ "name": "Egito"
+ },
+ "AE": {
+ "name": "Emirados Árabes Unidos"
+ },
+ "EC": {
+ "name": "Equador"
+ },
+ "ER": {
+ "name": "Eritreia"
+ },
+ "SK": {
+ "name": "Eslováquia"
+ },
+ "SI": {
+ "name": "Eslovénia"
+ },
+ "ES": {
+ "name": "Espanha"
+ },
+ "US": {
+ "name": "Estados Unidos"
+ },
+ "EE": {
+ "name": "Estónia"
+ },
+ "ET": {
+ "name": "Etiópia"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filipinas"
+ },
+ "FI": {
+ "name": "Finlândia"
+ },
+ "FR": {
+ "name": "França"
+ },
+ "GA": {
+ "name": "Gabão"
+ },
+ "GM": {
+ "name": "Gâmbia"
+ },
+ "GH": {
+ "name": "Gana"
+ },
+ "GE": {
+ "name": "Geórgia"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Granada"
+ },
+ "GR": {
+ "name": "Grécia"
+ },
+ "GL": {
+ "name": "Gronelândia"
+ },
+ "GP": {
+ "name": "Guadalupe"
+ },
+ "GU": {
+ "name": "Guame"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Guiana"
+ },
+ "GF": {
+ "name": "Guiana Francesa"
+ },
+ "GN": {
+ "name": "Guiné"
+ },
+ "GQ": {
+ "name": "Guiné Equatorial"
+ },
+ "GW": {
+ "name": "Guiné-Bissau"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hong Kong, RAE da China"
+ },
+ "HU": {
+ "name": "Hungria"
+ },
+ "YE": {
+ "name": "Iémen"
+ },
+ "AC": {
+ "name": "Ilha de Ascensão"
+ },
+ "IM": {
+ "name": "Ilha de Man"
+ },
+ "CX": {
+ "name": "Ilha do Natal"
+ },
+ "NF": {
+ "name": "Ilha Norfolk"
+ },
+ "KY": {
+ "name": "Ilhas Caimão"
+ },
+ "IC": {
+ "name": "Ilhas Canárias"
+ },
+ "CK": {
+ "name": "Ilhas Cook"
+ },
+ "CC": {
+ "name": "Ilhas dos Cocos (Keeling)"
+ },
+ "FK": {
+ "name": "Ilhas Falkland"
+ },
+ "FO": {
+ "name": "Ilhas Faroé"
+ },
+ "GS": {
+ "name": "Ilhas Geórgia do Sul e Sandwich do Sul"
+ },
+ "MP": {
+ "name": "Ilhas Marianas do Norte"
+ },
+ "MH": {
+ "name": "Ilhas Marshall"
+ },
+ "UM": {
+ "name": "Ilhas Menores Afastadas dos EUA"
+ },
+ "PN": {
+ "name": "Ilhas Pitcairn"
+ },
+ "SB": {
+ "name": "Ilhas Salomão"
+ },
+ "TC": {
+ "name": "Ilhas Turcas e Caicos"
+ },
+ "VG": {
+ "name": "Ilhas Virgens Britânicas"
+ },
+ "VI": {
+ "name": "Ilhas Virgens dos EUA"
+ },
+ "IN": {
+ "name": "Índia"
+ },
+ "ID": {
+ "name": "Indonésia"
+ },
+ "IR": {
+ "name": "Irão"
+ },
+ "IQ": {
+ "name": "Iraque"
+ },
+ "IE": {
+ "name": "Irlanda"
+ },
+ "IS": {
+ "name": "Islândia"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Itália"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japão"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "DJ": {
+ "name": "Jibuti"
+ },
+ "JO": {
+ "name": "Jordânia"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LV": {
+ "name": "Letónia"
+ },
+ "LB": {
+ "name": "Líbano"
+ },
+ "LR": {
+ "name": "Libéria"
+ },
+ "LY": {
+ "name": "Líbia"
+ },
+ "LI": {
+ "name": "Listenstaine"
+ },
+ "LT": {
+ "name": "Lituânia"
+ },
+ "LU": {
+ "name": "Luxemburgo"
+ },
+ "MO": {
+ "name": "Macau, RAE da China"
+ },
+ "MK": {
+ "name": "Macedónia"
+ },
+ "MG": {
+ "name": "Madagáscar"
+ },
+ "YT": {
+ "name": "Maiote"
+ },
+ "MY": {
+ "name": "Malásia"
+ },
+ "MW": {
+ "name": "Maláui"
+ },
+ "MV": {
+ "name": "Maldivas"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marrocos"
+ },
+ "MQ": {
+ "name": "Martinica"
+ },
+ "MU": {
+ "name": "Maurícia"
+ },
+ "MR": {
+ "name": "Mauritânia"
+ },
+ "MX": {
+ "name": "México"
+ },
+ "MM": {
+ "name": "Mianmar (Birmânia)"
+ },
+ "FM": {
+ "name": "Micronésia"
+ },
+ "MZ": {
+ "name": "Moçambique"
+ },
+ "MD": {
+ "name": "Moldávia"
+ },
+ "MC": {
+ "name": "Mónaco"
+ },
+ "MN": {
+ "name": "Mongólia"
+ },
+ "MS": {
+ "name": "Monserrate"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "NA": {
+ "name": "Namíbia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicarágua"
+ },
+ "NE": {
+ "name": "Níger"
+ },
+ "NG": {
+ "name": "Nigéria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Noruega"
+ },
+ "NC": {
+ "name": "Nova Caledónia"
+ },
+ "NZ": {
+ "name": "Nova Zelândia"
+ },
+ "OM": {
+ "name": "Omã"
+ },
+ "NL": {
+ "name": "Países Baixos"
+ },
+ "BQ": {
+ "name": "Países Baixos Caribenhos"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panamá"
+ },
+ "PG": {
+ "name": "Papua-Nova Guiné"
+ },
+ "PK": {
+ "name": "Paquistão"
+ },
+ "PY": {
+ "name": "Paraguai"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PF": {
+ "name": "Polinésia Francesa"
+ },
+ "PL": {
+ "name": "Polónia"
+ },
+ "PR": {
+ "name": "Porto Rico"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "KE": {
+ "name": "Quénia"
+ },
+ "KG": {
+ "name": "Quirguistão"
+ },
+ "KI": {
+ "name": "Quiribati"
+ },
+ "GB": {
+ "name": "Reino Unido"
+ },
+ "CF": {
+ "name": "República Centro-Africana"
+ },
+ "CZ": {
+ "name": "República Checa"
+ },
+ "DO": {
+ "name": "República Dominicana"
+ },
+ "RE": {
+ "name": "Reunião"
+ },
+ "RO": {
+ "name": "Roménia"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RU": {
+ "name": "Rússia"
+ },
+ "EH": {
+ "name": "Saara Ocidental"
+ },
+ "SV": {
+ "name": "Salvador"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa Americana"
+ },
+ "SH": {
+ "name": "Santa Helena"
+ },
+ "LC": {
+ "name": "Santa Lúcia"
+ },
+ "BL": {
+ "name": "São Bartolomeu"
+ },
+ "KN": {
+ "name": "São Cristóvão e Neves"
+ },
+ "SM": {
+ "name": "São Marinho"
+ },
+ "MF": {
+ "name": "São Martinho"
+ },
+ "PM": {
+ "name": "São Pedro e Miquelão"
+ },
+ "ST": {
+ "name": "São Tomé e Príncipe"
+ },
+ "VC": {
+ "name": "São Vicente e Granadinas"
+ },
+ "SC": {
+ "name": "Seicheles"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "SL": {
+ "name": "Serra Leoa"
+ },
+ "RS": {
+ "name": "Sérvia"
+ },
+ "SG": {
+ "name": "Singapura"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Síria"
+ },
+ "SO": {
+ "name": "Somália"
+ },
+ "LK": {
+ "name": "Sri Lanca"
+ },
+ "SZ": {
+ "name": "Suazilândia"
+ },
+ "SD": {
+ "name": "Sudão"
+ },
+ "SS": {
+ "name": "Sudão do Sul"
+ },
+ "SE": {
+ "name": "Suécia"
+ },
+ "CH": {
+ "name": "Suíça"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SJ": {
+ "name": "Svalbard e Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailândia"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TJ": {
+ "name": "Tajiquistão"
+ },
+ "TZ": {
+ "name": "Tanzânia"
+ },
+ "IO": {
+ "name": "Território Britânico do Oceano Índico"
+ },
+ "TF": {
+ "name": "Territórios Franceses do Sul"
+ },
+ "PS": {
+ "name": "Territórios palestinianos"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TK": {
+ "name": "Toquelau"
+ },
+ "TT": {
+ "name": "Trindade e Tobago"
+ },
+ "TA": {
+ "name": "Tristão da Cunha"
+ },
+ "TN": {
+ "name": "Tunísia"
+ },
+ "TM": {
+ "name": "Turquemenistão"
+ },
+ "TR": {
+ "name": "Turquia"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UA": {
+ "name": "Ucrânia"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UY": {
+ "name": "Uruguai"
+ },
+ "UZ": {
+ "name": "Usbequistão"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietname"
+ },
+ "WF": {
+ "name": "Wallis e Futuna"
+ },
+ "ZM": {
+ "name": "Zâmbia"
+ },
+ "ZW": {
+ "name": "Zimbabué"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/pt-LU.json b/vendor/commerceguys/intl/resources/country/pt-LU.json
new file mode 100644
index 000000000..31fddbf1d
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/pt-LU.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afeganistão"
+ },
+ "ZA": {
+ "name": "África do Sul"
+ },
+ "AX": {
+ "name": "Alanda"
+ },
+ "AL": {
+ "name": "Albânia"
+ },
+ "DE": {
+ "name": "Alemanha"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguila"
+ },
+ "AQ": {
+ "name": "Antártida"
+ },
+ "AG": {
+ "name": "Antígua e Barbuda"
+ },
+ "SA": {
+ "name": "Arábia Saudita"
+ },
+ "DZ": {
+ "name": "Argélia"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Arménia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Austrália"
+ },
+ "AT": {
+ "name": "Áustria"
+ },
+ "AZ": {
+ "name": "Azerbaijão"
+ },
+ "BS": {
+ "name": "Baamas"
+ },
+ "BD": {
+ "name": "Bangladeche"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BH": {
+ "name": "Barém"
+ },
+ "BE": {
+ "name": "Bélgica"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benim"
+ },
+ "BM": {
+ "name": "Bermudas"
+ },
+ "BY": {
+ "name": "Bielorrússia"
+ },
+ "BO": {
+ "name": "Bolívia"
+ },
+ "BA": {
+ "name": "Bósnia e Herzegovina"
+ },
+ "BW": {
+ "name": "Botsuana"
+ },
+ "BR": {
+ "name": "Brasil"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgária"
+ },
+ "BF": {
+ "name": "Burquina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Butão"
+ },
+ "CV": {
+ "name": "Cabo Verde"
+ },
+ "CM": {
+ "name": "Camarões"
+ },
+ "KH": {
+ "name": "Camboja"
+ },
+ "CA": {
+ "name": "Canadá"
+ },
+ "QA": {
+ "name": "Catar"
+ },
+ "KZ": {
+ "name": "Cazaquistão"
+ },
+ "EA": {
+ "name": "Ceuta e Melilha"
+ },
+ "TD": {
+ "name": "Chade"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CY": {
+ "name": "Chipre"
+ },
+ "VA": {
+ "name": "Cidade do Vaticano"
+ },
+ "CO": {
+ "name": "Colômbia"
+ },
+ "KM": {
+ "name": "Comores"
+ },
+ "CG": {
+ "name": "Congo-Brazzaville"
+ },
+ "CD": {
+ "name": "Congo-Kinshasa"
+ },
+ "KP": {
+ "name": "Coreia do Norte"
+ },
+ "KR": {
+ "name": "Coreia do Sul"
+ },
+ "CI": {
+ "name": "Costa do Marfim"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "HR": {
+ "name": "Croácia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curaçau"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DK": {
+ "name": "Dinamarca"
+ },
+ "DM": {
+ "name": "Domínica"
+ },
+ "EG": {
+ "name": "Egito"
+ },
+ "AE": {
+ "name": "Emirados Árabes Unidos"
+ },
+ "EC": {
+ "name": "Equador"
+ },
+ "ER": {
+ "name": "Eritreia"
+ },
+ "SK": {
+ "name": "Eslováquia"
+ },
+ "SI": {
+ "name": "Eslovénia"
+ },
+ "ES": {
+ "name": "Espanha"
+ },
+ "US": {
+ "name": "Estados Unidos"
+ },
+ "EE": {
+ "name": "Estónia"
+ },
+ "ET": {
+ "name": "Etiópia"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filipinas"
+ },
+ "FI": {
+ "name": "Finlândia"
+ },
+ "FR": {
+ "name": "França"
+ },
+ "GA": {
+ "name": "Gabão"
+ },
+ "GM": {
+ "name": "Gâmbia"
+ },
+ "GH": {
+ "name": "Gana"
+ },
+ "GE": {
+ "name": "Geórgia"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Granada"
+ },
+ "GR": {
+ "name": "Grécia"
+ },
+ "GL": {
+ "name": "Gronelândia"
+ },
+ "GP": {
+ "name": "Guadalupe"
+ },
+ "GU": {
+ "name": "Guame"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Guiana"
+ },
+ "GF": {
+ "name": "Guiana Francesa"
+ },
+ "GN": {
+ "name": "Guiné"
+ },
+ "GQ": {
+ "name": "Guiné Equatorial"
+ },
+ "GW": {
+ "name": "Guiné-Bissau"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hong Kong, RAE da China"
+ },
+ "HU": {
+ "name": "Hungria"
+ },
+ "YE": {
+ "name": "Iémen"
+ },
+ "AC": {
+ "name": "Ilha de Ascensão"
+ },
+ "IM": {
+ "name": "Ilha de Man"
+ },
+ "CX": {
+ "name": "Ilha do Natal"
+ },
+ "NF": {
+ "name": "Ilha Norfolk"
+ },
+ "KY": {
+ "name": "Ilhas Caimão"
+ },
+ "IC": {
+ "name": "Ilhas Canárias"
+ },
+ "CK": {
+ "name": "Ilhas Cook"
+ },
+ "CC": {
+ "name": "Ilhas dos Cocos (Keeling)"
+ },
+ "FK": {
+ "name": "Ilhas Falkland"
+ },
+ "FO": {
+ "name": "Ilhas Faroé"
+ },
+ "GS": {
+ "name": "Ilhas Geórgia do Sul e Sandwich do Sul"
+ },
+ "MP": {
+ "name": "Ilhas Marianas do Norte"
+ },
+ "MH": {
+ "name": "Ilhas Marshall"
+ },
+ "UM": {
+ "name": "Ilhas Menores Afastadas dos EUA"
+ },
+ "PN": {
+ "name": "Ilhas Pitcairn"
+ },
+ "SB": {
+ "name": "Ilhas Salomão"
+ },
+ "TC": {
+ "name": "Ilhas Turcas e Caicos"
+ },
+ "VG": {
+ "name": "Ilhas Virgens Britânicas"
+ },
+ "VI": {
+ "name": "Ilhas Virgens dos EUA"
+ },
+ "IN": {
+ "name": "Índia"
+ },
+ "ID": {
+ "name": "Indonésia"
+ },
+ "IR": {
+ "name": "Irão"
+ },
+ "IQ": {
+ "name": "Iraque"
+ },
+ "IE": {
+ "name": "Irlanda"
+ },
+ "IS": {
+ "name": "Islândia"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Itália"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japão"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "DJ": {
+ "name": "Jibuti"
+ },
+ "JO": {
+ "name": "Jordânia"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LV": {
+ "name": "Letónia"
+ },
+ "LB": {
+ "name": "Líbano"
+ },
+ "LR": {
+ "name": "Libéria"
+ },
+ "LY": {
+ "name": "Líbia"
+ },
+ "LI": {
+ "name": "Listenstaine"
+ },
+ "LT": {
+ "name": "Lituânia"
+ },
+ "LU": {
+ "name": "Luxemburgo"
+ },
+ "MO": {
+ "name": "Macau, RAE da China"
+ },
+ "MK": {
+ "name": "Macedónia"
+ },
+ "MG": {
+ "name": "Madagáscar"
+ },
+ "YT": {
+ "name": "Maiote"
+ },
+ "MY": {
+ "name": "Malásia"
+ },
+ "MW": {
+ "name": "Maláui"
+ },
+ "MV": {
+ "name": "Maldivas"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marrocos"
+ },
+ "MQ": {
+ "name": "Martinica"
+ },
+ "MU": {
+ "name": "Maurícia"
+ },
+ "MR": {
+ "name": "Mauritânia"
+ },
+ "MX": {
+ "name": "México"
+ },
+ "MM": {
+ "name": "Mianmar (Birmânia)"
+ },
+ "FM": {
+ "name": "Micronésia"
+ },
+ "MZ": {
+ "name": "Moçambique"
+ },
+ "MD": {
+ "name": "Moldávia"
+ },
+ "MC": {
+ "name": "Mónaco"
+ },
+ "MN": {
+ "name": "Mongólia"
+ },
+ "MS": {
+ "name": "Monserrate"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "NA": {
+ "name": "Namíbia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicarágua"
+ },
+ "NE": {
+ "name": "Níger"
+ },
+ "NG": {
+ "name": "Nigéria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Noruega"
+ },
+ "NC": {
+ "name": "Nova Caledónia"
+ },
+ "NZ": {
+ "name": "Nova Zelândia"
+ },
+ "OM": {
+ "name": "Omã"
+ },
+ "NL": {
+ "name": "Países Baixos"
+ },
+ "BQ": {
+ "name": "Países Baixos Caribenhos"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panamá"
+ },
+ "PG": {
+ "name": "Papua-Nova Guiné"
+ },
+ "PK": {
+ "name": "Paquistão"
+ },
+ "PY": {
+ "name": "Paraguai"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PF": {
+ "name": "Polinésia Francesa"
+ },
+ "PL": {
+ "name": "Polónia"
+ },
+ "PR": {
+ "name": "Porto Rico"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "KE": {
+ "name": "Quénia"
+ },
+ "KG": {
+ "name": "Quirguistão"
+ },
+ "KI": {
+ "name": "Quiribati"
+ },
+ "GB": {
+ "name": "Reino Unido"
+ },
+ "CF": {
+ "name": "República Centro-Africana"
+ },
+ "CZ": {
+ "name": "República Checa"
+ },
+ "DO": {
+ "name": "República Dominicana"
+ },
+ "RE": {
+ "name": "Reunião"
+ },
+ "RO": {
+ "name": "Roménia"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RU": {
+ "name": "Rússia"
+ },
+ "EH": {
+ "name": "Saara Ocidental"
+ },
+ "SV": {
+ "name": "Salvador"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa Americana"
+ },
+ "SH": {
+ "name": "Santa Helena"
+ },
+ "LC": {
+ "name": "Santa Lúcia"
+ },
+ "BL": {
+ "name": "São Bartolomeu"
+ },
+ "KN": {
+ "name": "São Cristóvão e Neves"
+ },
+ "SM": {
+ "name": "São Marinho"
+ },
+ "MF": {
+ "name": "São Martinho"
+ },
+ "PM": {
+ "name": "São Pedro e Miquelão"
+ },
+ "ST": {
+ "name": "São Tomé e Príncipe"
+ },
+ "VC": {
+ "name": "São Vicente e Granadinas"
+ },
+ "SC": {
+ "name": "Seicheles"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "SL": {
+ "name": "Serra Leoa"
+ },
+ "RS": {
+ "name": "Sérvia"
+ },
+ "SG": {
+ "name": "Singapura"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Síria"
+ },
+ "SO": {
+ "name": "Somália"
+ },
+ "LK": {
+ "name": "Sri Lanca"
+ },
+ "SZ": {
+ "name": "Suazilândia"
+ },
+ "SD": {
+ "name": "Sudão"
+ },
+ "SS": {
+ "name": "Sudão do Sul"
+ },
+ "SE": {
+ "name": "Suécia"
+ },
+ "CH": {
+ "name": "Suíça"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SJ": {
+ "name": "Svalbard e Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailândia"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TJ": {
+ "name": "Tajiquistão"
+ },
+ "TZ": {
+ "name": "Tanzânia"
+ },
+ "IO": {
+ "name": "Território Britânico do Oceano Índico"
+ },
+ "TF": {
+ "name": "Territórios Franceses do Sul"
+ },
+ "PS": {
+ "name": "Territórios palestinianos"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TK": {
+ "name": "Toquelau"
+ },
+ "TT": {
+ "name": "Trindade e Tobago"
+ },
+ "TA": {
+ "name": "Tristão da Cunha"
+ },
+ "TN": {
+ "name": "Tunísia"
+ },
+ "TM": {
+ "name": "Turquemenistão"
+ },
+ "TR": {
+ "name": "Turquia"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UA": {
+ "name": "Ucrânia"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UY": {
+ "name": "Uruguai"
+ },
+ "UZ": {
+ "name": "Usbequistão"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietname"
+ },
+ "WF": {
+ "name": "Wallis e Futuna"
+ },
+ "ZM": {
+ "name": "Zâmbia"
+ },
+ "ZW": {
+ "name": "Zimbabué"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/pt-MO.json b/vendor/commerceguys/intl/resources/country/pt-MO.json
new file mode 100644
index 000000000..31fddbf1d
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/pt-MO.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afeganistão"
+ },
+ "ZA": {
+ "name": "África do Sul"
+ },
+ "AX": {
+ "name": "Alanda"
+ },
+ "AL": {
+ "name": "Albânia"
+ },
+ "DE": {
+ "name": "Alemanha"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguila"
+ },
+ "AQ": {
+ "name": "Antártida"
+ },
+ "AG": {
+ "name": "Antígua e Barbuda"
+ },
+ "SA": {
+ "name": "Arábia Saudita"
+ },
+ "DZ": {
+ "name": "Argélia"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Arménia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Austrália"
+ },
+ "AT": {
+ "name": "Áustria"
+ },
+ "AZ": {
+ "name": "Azerbaijão"
+ },
+ "BS": {
+ "name": "Baamas"
+ },
+ "BD": {
+ "name": "Bangladeche"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BH": {
+ "name": "Barém"
+ },
+ "BE": {
+ "name": "Bélgica"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benim"
+ },
+ "BM": {
+ "name": "Bermudas"
+ },
+ "BY": {
+ "name": "Bielorrússia"
+ },
+ "BO": {
+ "name": "Bolívia"
+ },
+ "BA": {
+ "name": "Bósnia e Herzegovina"
+ },
+ "BW": {
+ "name": "Botsuana"
+ },
+ "BR": {
+ "name": "Brasil"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgária"
+ },
+ "BF": {
+ "name": "Burquina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Butão"
+ },
+ "CV": {
+ "name": "Cabo Verde"
+ },
+ "CM": {
+ "name": "Camarões"
+ },
+ "KH": {
+ "name": "Camboja"
+ },
+ "CA": {
+ "name": "Canadá"
+ },
+ "QA": {
+ "name": "Catar"
+ },
+ "KZ": {
+ "name": "Cazaquistão"
+ },
+ "EA": {
+ "name": "Ceuta e Melilha"
+ },
+ "TD": {
+ "name": "Chade"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CY": {
+ "name": "Chipre"
+ },
+ "VA": {
+ "name": "Cidade do Vaticano"
+ },
+ "CO": {
+ "name": "Colômbia"
+ },
+ "KM": {
+ "name": "Comores"
+ },
+ "CG": {
+ "name": "Congo-Brazzaville"
+ },
+ "CD": {
+ "name": "Congo-Kinshasa"
+ },
+ "KP": {
+ "name": "Coreia do Norte"
+ },
+ "KR": {
+ "name": "Coreia do Sul"
+ },
+ "CI": {
+ "name": "Costa do Marfim"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "HR": {
+ "name": "Croácia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curaçau"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DK": {
+ "name": "Dinamarca"
+ },
+ "DM": {
+ "name": "Domínica"
+ },
+ "EG": {
+ "name": "Egito"
+ },
+ "AE": {
+ "name": "Emirados Árabes Unidos"
+ },
+ "EC": {
+ "name": "Equador"
+ },
+ "ER": {
+ "name": "Eritreia"
+ },
+ "SK": {
+ "name": "Eslováquia"
+ },
+ "SI": {
+ "name": "Eslovénia"
+ },
+ "ES": {
+ "name": "Espanha"
+ },
+ "US": {
+ "name": "Estados Unidos"
+ },
+ "EE": {
+ "name": "Estónia"
+ },
+ "ET": {
+ "name": "Etiópia"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filipinas"
+ },
+ "FI": {
+ "name": "Finlândia"
+ },
+ "FR": {
+ "name": "França"
+ },
+ "GA": {
+ "name": "Gabão"
+ },
+ "GM": {
+ "name": "Gâmbia"
+ },
+ "GH": {
+ "name": "Gana"
+ },
+ "GE": {
+ "name": "Geórgia"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Granada"
+ },
+ "GR": {
+ "name": "Grécia"
+ },
+ "GL": {
+ "name": "Gronelândia"
+ },
+ "GP": {
+ "name": "Guadalupe"
+ },
+ "GU": {
+ "name": "Guame"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Guiana"
+ },
+ "GF": {
+ "name": "Guiana Francesa"
+ },
+ "GN": {
+ "name": "Guiné"
+ },
+ "GQ": {
+ "name": "Guiné Equatorial"
+ },
+ "GW": {
+ "name": "Guiné-Bissau"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hong Kong, RAE da China"
+ },
+ "HU": {
+ "name": "Hungria"
+ },
+ "YE": {
+ "name": "Iémen"
+ },
+ "AC": {
+ "name": "Ilha de Ascensão"
+ },
+ "IM": {
+ "name": "Ilha de Man"
+ },
+ "CX": {
+ "name": "Ilha do Natal"
+ },
+ "NF": {
+ "name": "Ilha Norfolk"
+ },
+ "KY": {
+ "name": "Ilhas Caimão"
+ },
+ "IC": {
+ "name": "Ilhas Canárias"
+ },
+ "CK": {
+ "name": "Ilhas Cook"
+ },
+ "CC": {
+ "name": "Ilhas dos Cocos (Keeling)"
+ },
+ "FK": {
+ "name": "Ilhas Falkland"
+ },
+ "FO": {
+ "name": "Ilhas Faroé"
+ },
+ "GS": {
+ "name": "Ilhas Geórgia do Sul e Sandwich do Sul"
+ },
+ "MP": {
+ "name": "Ilhas Marianas do Norte"
+ },
+ "MH": {
+ "name": "Ilhas Marshall"
+ },
+ "UM": {
+ "name": "Ilhas Menores Afastadas dos EUA"
+ },
+ "PN": {
+ "name": "Ilhas Pitcairn"
+ },
+ "SB": {
+ "name": "Ilhas Salomão"
+ },
+ "TC": {
+ "name": "Ilhas Turcas e Caicos"
+ },
+ "VG": {
+ "name": "Ilhas Virgens Britânicas"
+ },
+ "VI": {
+ "name": "Ilhas Virgens dos EUA"
+ },
+ "IN": {
+ "name": "Índia"
+ },
+ "ID": {
+ "name": "Indonésia"
+ },
+ "IR": {
+ "name": "Irão"
+ },
+ "IQ": {
+ "name": "Iraque"
+ },
+ "IE": {
+ "name": "Irlanda"
+ },
+ "IS": {
+ "name": "Islândia"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Itália"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japão"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "DJ": {
+ "name": "Jibuti"
+ },
+ "JO": {
+ "name": "Jordânia"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LV": {
+ "name": "Letónia"
+ },
+ "LB": {
+ "name": "Líbano"
+ },
+ "LR": {
+ "name": "Libéria"
+ },
+ "LY": {
+ "name": "Líbia"
+ },
+ "LI": {
+ "name": "Listenstaine"
+ },
+ "LT": {
+ "name": "Lituânia"
+ },
+ "LU": {
+ "name": "Luxemburgo"
+ },
+ "MO": {
+ "name": "Macau, RAE da China"
+ },
+ "MK": {
+ "name": "Macedónia"
+ },
+ "MG": {
+ "name": "Madagáscar"
+ },
+ "YT": {
+ "name": "Maiote"
+ },
+ "MY": {
+ "name": "Malásia"
+ },
+ "MW": {
+ "name": "Maláui"
+ },
+ "MV": {
+ "name": "Maldivas"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marrocos"
+ },
+ "MQ": {
+ "name": "Martinica"
+ },
+ "MU": {
+ "name": "Maurícia"
+ },
+ "MR": {
+ "name": "Mauritânia"
+ },
+ "MX": {
+ "name": "México"
+ },
+ "MM": {
+ "name": "Mianmar (Birmânia)"
+ },
+ "FM": {
+ "name": "Micronésia"
+ },
+ "MZ": {
+ "name": "Moçambique"
+ },
+ "MD": {
+ "name": "Moldávia"
+ },
+ "MC": {
+ "name": "Mónaco"
+ },
+ "MN": {
+ "name": "Mongólia"
+ },
+ "MS": {
+ "name": "Monserrate"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "NA": {
+ "name": "Namíbia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicarágua"
+ },
+ "NE": {
+ "name": "Níger"
+ },
+ "NG": {
+ "name": "Nigéria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Noruega"
+ },
+ "NC": {
+ "name": "Nova Caledónia"
+ },
+ "NZ": {
+ "name": "Nova Zelândia"
+ },
+ "OM": {
+ "name": "Omã"
+ },
+ "NL": {
+ "name": "Países Baixos"
+ },
+ "BQ": {
+ "name": "Países Baixos Caribenhos"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panamá"
+ },
+ "PG": {
+ "name": "Papua-Nova Guiné"
+ },
+ "PK": {
+ "name": "Paquistão"
+ },
+ "PY": {
+ "name": "Paraguai"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PF": {
+ "name": "Polinésia Francesa"
+ },
+ "PL": {
+ "name": "Polónia"
+ },
+ "PR": {
+ "name": "Porto Rico"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "KE": {
+ "name": "Quénia"
+ },
+ "KG": {
+ "name": "Quirguistão"
+ },
+ "KI": {
+ "name": "Quiribati"
+ },
+ "GB": {
+ "name": "Reino Unido"
+ },
+ "CF": {
+ "name": "República Centro-Africana"
+ },
+ "CZ": {
+ "name": "República Checa"
+ },
+ "DO": {
+ "name": "República Dominicana"
+ },
+ "RE": {
+ "name": "Reunião"
+ },
+ "RO": {
+ "name": "Roménia"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RU": {
+ "name": "Rússia"
+ },
+ "EH": {
+ "name": "Saara Ocidental"
+ },
+ "SV": {
+ "name": "Salvador"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa Americana"
+ },
+ "SH": {
+ "name": "Santa Helena"
+ },
+ "LC": {
+ "name": "Santa Lúcia"
+ },
+ "BL": {
+ "name": "São Bartolomeu"
+ },
+ "KN": {
+ "name": "São Cristóvão e Neves"
+ },
+ "SM": {
+ "name": "São Marinho"
+ },
+ "MF": {
+ "name": "São Martinho"
+ },
+ "PM": {
+ "name": "São Pedro e Miquelão"
+ },
+ "ST": {
+ "name": "São Tomé e Príncipe"
+ },
+ "VC": {
+ "name": "São Vicente e Granadinas"
+ },
+ "SC": {
+ "name": "Seicheles"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "SL": {
+ "name": "Serra Leoa"
+ },
+ "RS": {
+ "name": "Sérvia"
+ },
+ "SG": {
+ "name": "Singapura"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Síria"
+ },
+ "SO": {
+ "name": "Somália"
+ },
+ "LK": {
+ "name": "Sri Lanca"
+ },
+ "SZ": {
+ "name": "Suazilândia"
+ },
+ "SD": {
+ "name": "Sudão"
+ },
+ "SS": {
+ "name": "Sudão do Sul"
+ },
+ "SE": {
+ "name": "Suécia"
+ },
+ "CH": {
+ "name": "Suíça"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SJ": {
+ "name": "Svalbard e Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailândia"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TJ": {
+ "name": "Tajiquistão"
+ },
+ "TZ": {
+ "name": "Tanzânia"
+ },
+ "IO": {
+ "name": "Território Britânico do Oceano Índico"
+ },
+ "TF": {
+ "name": "Territórios Franceses do Sul"
+ },
+ "PS": {
+ "name": "Territórios palestinianos"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TK": {
+ "name": "Toquelau"
+ },
+ "TT": {
+ "name": "Trindade e Tobago"
+ },
+ "TA": {
+ "name": "Tristão da Cunha"
+ },
+ "TN": {
+ "name": "Tunísia"
+ },
+ "TM": {
+ "name": "Turquemenistão"
+ },
+ "TR": {
+ "name": "Turquia"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UA": {
+ "name": "Ucrânia"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UY": {
+ "name": "Uruguai"
+ },
+ "UZ": {
+ "name": "Usbequistão"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietname"
+ },
+ "WF": {
+ "name": "Wallis e Futuna"
+ },
+ "ZM": {
+ "name": "Zâmbia"
+ },
+ "ZW": {
+ "name": "Zimbabué"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/pt-MZ.json b/vendor/commerceguys/intl/resources/country/pt-MZ.json
new file mode 100644
index 000000000..31fddbf1d
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/pt-MZ.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afeganistão"
+ },
+ "ZA": {
+ "name": "África do Sul"
+ },
+ "AX": {
+ "name": "Alanda"
+ },
+ "AL": {
+ "name": "Albânia"
+ },
+ "DE": {
+ "name": "Alemanha"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguila"
+ },
+ "AQ": {
+ "name": "Antártida"
+ },
+ "AG": {
+ "name": "Antígua e Barbuda"
+ },
+ "SA": {
+ "name": "Arábia Saudita"
+ },
+ "DZ": {
+ "name": "Argélia"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Arménia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Austrália"
+ },
+ "AT": {
+ "name": "Áustria"
+ },
+ "AZ": {
+ "name": "Azerbaijão"
+ },
+ "BS": {
+ "name": "Baamas"
+ },
+ "BD": {
+ "name": "Bangladeche"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BH": {
+ "name": "Barém"
+ },
+ "BE": {
+ "name": "Bélgica"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benim"
+ },
+ "BM": {
+ "name": "Bermudas"
+ },
+ "BY": {
+ "name": "Bielorrússia"
+ },
+ "BO": {
+ "name": "Bolívia"
+ },
+ "BA": {
+ "name": "Bósnia e Herzegovina"
+ },
+ "BW": {
+ "name": "Botsuana"
+ },
+ "BR": {
+ "name": "Brasil"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgária"
+ },
+ "BF": {
+ "name": "Burquina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Butão"
+ },
+ "CV": {
+ "name": "Cabo Verde"
+ },
+ "CM": {
+ "name": "Camarões"
+ },
+ "KH": {
+ "name": "Camboja"
+ },
+ "CA": {
+ "name": "Canadá"
+ },
+ "QA": {
+ "name": "Catar"
+ },
+ "KZ": {
+ "name": "Cazaquistão"
+ },
+ "EA": {
+ "name": "Ceuta e Melilha"
+ },
+ "TD": {
+ "name": "Chade"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CY": {
+ "name": "Chipre"
+ },
+ "VA": {
+ "name": "Cidade do Vaticano"
+ },
+ "CO": {
+ "name": "Colômbia"
+ },
+ "KM": {
+ "name": "Comores"
+ },
+ "CG": {
+ "name": "Congo-Brazzaville"
+ },
+ "CD": {
+ "name": "Congo-Kinshasa"
+ },
+ "KP": {
+ "name": "Coreia do Norte"
+ },
+ "KR": {
+ "name": "Coreia do Sul"
+ },
+ "CI": {
+ "name": "Costa do Marfim"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "HR": {
+ "name": "Croácia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curaçau"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DK": {
+ "name": "Dinamarca"
+ },
+ "DM": {
+ "name": "Domínica"
+ },
+ "EG": {
+ "name": "Egito"
+ },
+ "AE": {
+ "name": "Emirados Árabes Unidos"
+ },
+ "EC": {
+ "name": "Equador"
+ },
+ "ER": {
+ "name": "Eritreia"
+ },
+ "SK": {
+ "name": "Eslováquia"
+ },
+ "SI": {
+ "name": "Eslovénia"
+ },
+ "ES": {
+ "name": "Espanha"
+ },
+ "US": {
+ "name": "Estados Unidos"
+ },
+ "EE": {
+ "name": "Estónia"
+ },
+ "ET": {
+ "name": "Etiópia"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filipinas"
+ },
+ "FI": {
+ "name": "Finlândia"
+ },
+ "FR": {
+ "name": "França"
+ },
+ "GA": {
+ "name": "Gabão"
+ },
+ "GM": {
+ "name": "Gâmbia"
+ },
+ "GH": {
+ "name": "Gana"
+ },
+ "GE": {
+ "name": "Geórgia"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Granada"
+ },
+ "GR": {
+ "name": "Grécia"
+ },
+ "GL": {
+ "name": "Gronelândia"
+ },
+ "GP": {
+ "name": "Guadalupe"
+ },
+ "GU": {
+ "name": "Guame"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Guiana"
+ },
+ "GF": {
+ "name": "Guiana Francesa"
+ },
+ "GN": {
+ "name": "Guiné"
+ },
+ "GQ": {
+ "name": "Guiné Equatorial"
+ },
+ "GW": {
+ "name": "Guiné-Bissau"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hong Kong, RAE da China"
+ },
+ "HU": {
+ "name": "Hungria"
+ },
+ "YE": {
+ "name": "Iémen"
+ },
+ "AC": {
+ "name": "Ilha de Ascensão"
+ },
+ "IM": {
+ "name": "Ilha de Man"
+ },
+ "CX": {
+ "name": "Ilha do Natal"
+ },
+ "NF": {
+ "name": "Ilha Norfolk"
+ },
+ "KY": {
+ "name": "Ilhas Caimão"
+ },
+ "IC": {
+ "name": "Ilhas Canárias"
+ },
+ "CK": {
+ "name": "Ilhas Cook"
+ },
+ "CC": {
+ "name": "Ilhas dos Cocos (Keeling)"
+ },
+ "FK": {
+ "name": "Ilhas Falkland"
+ },
+ "FO": {
+ "name": "Ilhas Faroé"
+ },
+ "GS": {
+ "name": "Ilhas Geórgia do Sul e Sandwich do Sul"
+ },
+ "MP": {
+ "name": "Ilhas Marianas do Norte"
+ },
+ "MH": {
+ "name": "Ilhas Marshall"
+ },
+ "UM": {
+ "name": "Ilhas Menores Afastadas dos EUA"
+ },
+ "PN": {
+ "name": "Ilhas Pitcairn"
+ },
+ "SB": {
+ "name": "Ilhas Salomão"
+ },
+ "TC": {
+ "name": "Ilhas Turcas e Caicos"
+ },
+ "VG": {
+ "name": "Ilhas Virgens Britânicas"
+ },
+ "VI": {
+ "name": "Ilhas Virgens dos EUA"
+ },
+ "IN": {
+ "name": "Índia"
+ },
+ "ID": {
+ "name": "Indonésia"
+ },
+ "IR": {
+ "name": "Irão"
+ },
+ "IQ": {
+ "name": "Iraque"
+ },
+ "IE": {
+ "name": "Irlanda"
+ },
+ "IS": {
+ "name": "Islândia"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Itália"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japão"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "DJ": {
+ "name": "Jibuti"
+ },
+ "JO": {
+ "name": "Jordânia"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LV": {
+ "name": "Letónia"
+ },
+ "LB": {
+ "name": "Líbano"
+ },
+ "LR": {
+ "name": "Libéria"
+ },
+ "LY": {
+ "name": "Líbia"
+ },
+ "LI": {
+ "name": "Listenstaine"
+ },
+ "LT": {
+ "name": "Lituânia"
+ },
+ "LU": {
+ "name": "Luxemburgo"
+ },
+ "MO": {
+ "name": "Macau, RAE da China"
+ },
+ "MK": {
+ "name": "Macedónia"
+ },
+ "MG": {
+ "name": "Madagáscar"
+ },
+ "YT": {
+ "name": "Maiote"
+ },
+ "MY": {
+ "name": "Malásia"
+ },
+ "MW": {
+ "name": "Maláui"
+ },
+ "MV": {
+ "name": "Maldivas"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marrocos"
+ },
+ "MQ": {
+ "name": "Martinica"
+ },
+ "MU": {
+ "name": "Maurícia"
+ },
+ "MR": {
+ "name": "Mauritânia"
+ },
+ "MX": {
+ "name": "México"
+ },
+ "MM": {
+ "name": "Mianmar (Birmânia)"
+ },
+ "FM": {
+ "name": "Micronésia"
+ },
+ "MZ": {
+ "name": "Moçambique"
+ },
+ "MD": {
+ "name": "Moldávia"
+ },
+ "MC": {
+ "name": "Mónaco"
+ },
+ "MN": {
+ "name": "Mongólia"
+ },
+ "MS": {
+ "name": "Monserrate"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "NA": {
+ "name": "Namíbia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicarágua"
+ },
+ "NE": {
+ "name": "Níger"
+ },
+ "NG": {
+ "name": "Nigéria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Noruega"
+ },
+ "NC": {
+ "name": "Nova Caledónia"
+ },
+ "NZ": {
+ "name": "Nova Zelândia"
+ },
+ "OM": {
+ "name": "Omã"
+ },
+ "NL": {
+ "name": "Países Baixos"
+ },
+ "BQ": {
+ "name": "Países Baixos Caribenhos"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panamá"
+ },
+ "PG": {
+ "name": "Papua-Nova Guiné"
+ },
+ "PK": {
+ "name": "Paquistão"
+ },
+ "PY": {
+ "name": "Paraguai"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PF": {
+ "name": "Polinésia Francesa"
+ },
+ "PL": {
+ "name": "Polónia"
+ },
+ "PR": {
+ "name": "Porto Rico"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "KE": {
+ "name": "Quénia"
+ },
+ "KG": {
+ "name": "Quirguistão"
+ },
+ "KI": {
+ "name": "Quiribati"
+ },
+ "GB": {
+ "name": "Reino Unido"
+ },
+ "CF": {
+ "name": "República Centro-Africana"
+ },
+ "CZ": {
+ "name": "República Checa"
+ },
+ "DO": {
+ "name": "República Dominicana"
+ },
+ "RE": {
+ "name": "Reunião"
+ },
+ "RO": {
+ "name": "Roménia"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RU": {
+ "name": "Rússia"
+ },
+ "EH": {
+ "name": "Saara Ocidental"
+ },
+ "SV": {
+ "name": "Salvador"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa Americana"
+ },
+ "SH": {
+ "name": "Santa Helena"
+ },
+ "LC": {
+ "name": "Santa Lúcia"
+ },
+ "BL": {
+ "name": "São Bartolomeu"
+ },
+ "KN": {
+ "name": "São Cristóvão e Neves"
+ },
+ "SM": {
+ "name": "São Marinho"
+ },
+ "MF": {
+ "name": "São Martinho"
+ },
+ "PM": {
+ "name": "São Pedro e Miquelão"
+ },
+ "ST": {
+ "name": "São Tomé e Príncipe"
+ },
+ "VC": {
+ "name": "São Vicente e Granadinas"
+ },
+ "SC": {
+ "name": "Seicheles"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "SL": {
+ "name": "Serra Leoa"
+ },
+ "RS": {
+ "name": "Sérvia"
+ },
+ "SG": {
+ "name": "Singapura"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Síria"
+ },
+ "SO": {
+ "name": "Somália"
+ },
+ "LK": {
+ "name": "Sri Lanca"
+ },
+ "SZ": {
+ "name": "Suazilândia"
+ },
+ "SD": {
+ "name": "Sudão"
+ },
+ "SS": {
+ "name": "Sudão do Sul"
+ },
+ "SE": {
+ "name": "Suécia"
+ },
+ "CH": {
+ "name": "Suíça"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SJ": {
+ "name": "Svalbard e Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailândia"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TJ": {
+ "name": "Tajiquistão"
+ },
+ "TZ": {
+ "name": "Tanzânia"
+ },
+ "IO": {
+ "name": "Território Britânico do Oceano Índico"
+ },
+ "TF": {
+ "name": "Territórios Franceses do Sul"
+ },
+ "PS": {
+ "name": "Territórios palestinianos"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TK": {
+ "name": "Toquelau"
+ },
+ "TT": {
+ "name": "Trindade e Tobago"
+ },
+ "TA": {
+ "name": "Tristão da Cunha"
+ },
+ "TN": {
+ "name": "Tunísia"
+ },
+ "TM": {
+ "name": "Turquemenistão"
+ },
+ "TR": {
+ "name": "Turquia"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UA": {
+ "name": "Ucrânia"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UY": {
+ "name": "Uruguai"
+ },
+ "UZ": {
+ "name": "Usbequistão"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietname"
+ },
+ "WF": {
+ "name": "Wallis e Futuna"
+ },
+ "ZM": {
+ "name": "Zâmbia"
+ },
+ "ZW": {
+ "name": "Zimbabué"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/pt-PT.json b/vendor/commerceguys/intl/resources/country/pt-PT.json
new file mode 100644
index 000000000..31fddbf1d
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/pt-PT.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afeganistão"
+ },
+ "ZA": {
+ "name": "África do Sul"
+ },
+ "AX": {
+ "name": "Alanda"
+ },
+ "AL": {
+ "name": "Albânia"
+ },
+ "DE": {
+ "name": "Alemanha"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguila"
+ },
+ "AQ": {
+ "name": "Antártida"
+ },
+ "AG": {
+ "name": "Antígua e Barbuda"
+ },
+ "SA": {
+ "name": "Arábia Saudita"
+ },
+ "DZ": {
+ "name": "Argélia"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Arménia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Austrália"
+ },
+ "AT": {
+ "name": "Áustria"
+ },
+ "AZ": {
+ "name": "Azerbaijão"
+ },
+ "BS": {
+ "name": "Baamas"
+ },
+ "BD": {
+ "name": "Bangladeche"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BH": {
+ "name": "Barém"
+ },
+ "BE": {
+ "name": "Bélgica"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benim"
+ },
+ "BM": {
+ "name": "Bermudas"
+ },
+ "BY": {
+ "name": "Bielorrússia"
+ },
+ "BO": {
+ "name": "Bolívia"
+ },
+ "BA": {
+ "name": "Bósnia e Herzegovina"
+ },
+ "BW": {
+ "name": "Botsuana"
+ },
+ "BR": {
+ "name": "Brasil"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgária"
+ },
+ "BF": {
+ "name": "Burquina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Butão"
+ },
+ "CV": {
+ "name": "Cabo Verde"
+ },
+ "CM": {
+ "name": "Camarões"
+ },
+ "KH": {
+ "name": "Camboja"
+ },
+ "CA": {
+ "name": "Canadá"
+ },
+ "QA": {
+ "name": "Catar"
+ },
+ "KZ": {
+ "name": "Cazaquistão"
+ },
+ "EA": {
+ "name": "Ceuta e Melilha"
+ },
+ "TD": {
+ "name": "Chade"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CY": {
+ "name": "Chipre"
+ },
+ "VA": {
+ "name": "Cidade do Vaticano"
+ },
+ "CO": {
+ "name": "Colômbia"
+ },
+ "KM": {
+ "name": "Comores"
+ },
+ "CG": {
+ "name": "Congo-Brazzaville"
+ },
+ "CD": {
+ "name": "Congo-Kinshasa"
+ },
+ "KP": {
+ "name": "Coreia do Norte"
+ },
+ "KR": {
+ "name": "Coreia do Sul"
+ },
+ "CI": {
+ "name": "Costa do Marfim"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "HR": {
+ "name": "Croácia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curaçau"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DK": {
+ "name": "Dinamarca"
+ },
+ "DM": {
+ "name": "Domínica"
+ },
+ "EG": {
+ "name": "Egito"
+ },
+ "AE": {
+ "name": "Emirados Árabes Unidos"
+ },
+ "EC": {
+ "name": "Equador"
+ },
+ "ER": {
+ "name": "Eritreia"
+ },
+ "SK": {
+ "name": "Eslováquia"
+ },
+ "SI": {
+ "name": "Eslovénia"
+ },
+ "ES": {
+ "name": "Espanha"
+ },
+ "US": {
+ "name": "Estados Unidos"
+ },
+ "EE": {
+ "name": "Estónia"
+ },
+ "ET": {
+ "name": "Etiópia"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filipinas"
+ },
+ "FI": {
+ "name": "Finlândia"
+ },
+ "FR": {
+ "name": "França"
+ },
+ "GA": {
+ "name": "Gabão"
+ },
+ "GM": {
+ "name": "Gâmbia"
+ },
+ "GH": {
+ "name": "Gana"
+ },
+ "GE": {
+ "name": "Geórgia"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Granada"
+ },
+ "GR": {
+ "name": "Grécia"
+ },
+ "GL": {
+ "name": "Gronelândia"
+ },
+ "GP": {
+ "name": "Guadalupe"
+ },
+ "GU": {
+ "name": "Guame"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Guiana"
+ },
+ "GF": {
+ "name": "Guiana Francesa"
+ },
+ "GN": {
+ "name": "Guiné"
+ },
+ "GQ": {
+ "name": "Guiné Equatorial"
+ },
+ "GW": {
+ "name": "Guiné-Bissau"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hong Kong, RAE da China"
+ },
+ "HU": {
+ "name": "Hungria"
+ },
+ "YE": {
+ "name": "Iémen"
+ },
+ "AC": {
+ "name": "Ilha de Ascensão"
+ },
+ "IM": {
+ "name": "Ilha de Man"
+ },
+ "CX": {
+ "name": "Ilha do Natal"
+ },
+ "NF": {
+ "name": "Ilha Norfolk"
+ },
+ "KY": {
+ "name": "Ilhas Caimão"
+ },
+ "IC": {
+ "name": "Ilhas Canárias"
+ },
+ "CK": {
+ "name": "Ilhas Cook"
+ },
+ "CC": {
+ "name": "Ilhas dos Cocos (Keeling)"
+ },
+ "FK": {
+ "name": "Ilhas Falkland"
+ },
+ "FO": {
+ "name": "Ilhas Faroé"
+ },
+ "GS": {
+ "name": "Ilhas Geórgia do Sul e Sandwich do Sul"
+ },
+ "MP": {
+ "name": "Ilhas Marianas do Norte"
+ },
+ "MH": {
+ "name": "Ilhas Marshall"
+ },
+ "UM": {
+ "name": "Ilhas Menores Afastadas dos EUA"
+ },
+ "PN": {
+ "name": "Ilhas Pitcairn"
+ },
+ "SB": {
+ "name": "Ilhas Salomão"
+ },
+ "TC": {
+ "name": "Ilhas Turcas e Caicos"
+ },
+ "VG": {
+ "name": "Ilhas Virgens Britânicas"
+ },
+ "VI": {
+ "name": "Ilhas Virgens dos EUA"
+ },
+ "IN": {
+ "name": "Índia"
+ },
+ "ID": {
+ "name": "Indonésia"
+ },
+ "IR": {
+ "name": "Irão"
+ },
+ "IQ": {
+ "name": "Iraque"
+ },
+ "IE": {
+ "name": "Irlanda"
+ },
+ "IS": {
+ "name": "Islândia"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Itália"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japão"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "DJ": {
+ "name": "Jibuti"
+ },
+ "JO": {
+ "name": "Jordânia"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LV": {
+ "name": "Letónia"
+ },
+ "LB": {
+ "name": "Líbano"
+ },
+ "LR": {
+ "name": "Libéria"
+ },
+ "LY": {
+ "name": "Líbia"
+ },
+ "LI": {
+ "name": "Listenstaine"
+ },
+ "LT": {
+ "name": "Lituânia"
+ },
+ "LU": {
+ "name": "Luxemburgo"
+ },
+ "MO": {
+ "name": "Macau, RAE da China"
+ },
+ "MK": {
+ "name": "Macedónia"
+ },
+ "MG": {
+ "name": "Madagáscar"
+ },
+ "YT": {
+ "name": "Maiote"
+ },
+ "MY": {
+ "name": "Malásia"
+ },
+ "MW": {
+ "name": "Maláui"
+ },
+ "MV": {
+ "name": "Maldivas"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marrocos"
+ },
+ "MQ": {
+ "name": "Martinica"
+ },
+ "MU": {
+ "name": "Maurícia"
+ },
+ "MR": {
+ "name": "Mauritânia"
+ },
+ "MX": {
+ "name": "México"
+ },
+ "MM": {
+ "name": "Mianmar (Birmânia)"
+ },
+ "FM": {
+ "name": "Micronésia"
+ },
+ "MZ": {
+ "name": "Moçambique"
+ },
+ "MD": {
+ "name": "Moldávia"
+ },
+ "MC": {
+ "name": "Mónaco"
+ },
+ "MN": {
+ "name": "Mongólia"
+ },
+ "MS": {
+ "name": "Monserrate"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "NA": {
+ "name": "Namíbia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicarágua"
+ },
+ "NE": {
+ "name": "Níger"
+ },
+ "NG": {
+ "name": "Nigéria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Noruega"
+ },
+ "NC": {
+ "name": "Nova Caledónia"
+ },
+ "NZ": {
+ "name": "Nova Zelândia"
+ },
+ "OM": {
+ "name": "Omã"
+ },
+ "NL": {
+ "name": "Países Baixos"
+ },
+ "BQ": {
+ "name": "Países Baixos Caribenhos"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panamá"
+ },
+ "PG": {
+ "name": "Papua-Nova Guiné"
+ },
+ "PK": {
+ "name": "Paquistão"
+ },
+ "PY": {
+ "name": "Paraguai"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PF": {
+ "name": "Polinésia Francesa"
+ },
+ "PL": {
+ "name": "Polónia"
+ },
+ "PR": {
+ "name": "Porto Rico"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "KE": {
+ "name": "Quénia"
+ },
+ "KG": {
+ "name": "Quirguistão"
+ },
+ "KI": {
+ "name": "Quiribati"
+ },
+ "GB": {
+ "name": "Reino Unido"
+ },
+ "CF": {
+ "name": "República Centro-Africana"
+ },
+ "CZ": {
+ "name": "República Checa"
+ },
+ "DO": {
+ "name": "República Dominicana"
+ },
+ "RE": {
+ "name": "Reunião"
+ },
+ "RO": {
+ "name": "Roménia"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RU": {
+ "name": "Rússia"
+ },
+ "EH": {
+ "name": "Saara Ocidental"
+ },
+ "SV": {
+ "name": "Salvador"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa Americana"
+ },
+ "SH": {
+ "name": "Santa Helena"
+ },
+ "LC": {
+ "name": "Santa Lúcia"
+ },
+ "BL": {
+ "name": "São Bartolomeu"
+ },
+ "KN": {
+ "name": "São Cristóvão e Neves"
+ },
+ "SM": {
+ "name": "São Marinho"
+ },
+ "MF": {
+ "name": "São Martinho"
+ },
+ "PM": {
+ "name": "São Pedro e Miquelão"
+ },
+ "ST": {
+ "name": "São Tomé e Príncipe"
+ },
+ "VC": {
+ "name": "São Vicente e Granadinas"
+ },
+ "SC": {
+ "name": "Seicheles"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "SL": {
+ "name": "Serra Leoa"
+ },
+ "RS": {
+ "name": "Sérvia"
+ },
+ "SG": {
+ "name": "Singapura"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Síria"
+ },
+ "SO": {
+ "name": "Somália"
+ },
+ "LK": {
+ "name": "Sri Lanca"
+ },
+ "SZ": {
+ "name": "Suazilândia"
+ },
+ "SD": {
+ "name": "Sudão"
+ },
+ "SS": {
+ "name": "Sudão do Sul"
+ },
+ "SE": {
+ "name": "Suécia"
+ },
+ "CH": {
+ "name": "Suíça"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SJ": {
+ "name": "Svalbard e Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailândia"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TJ": {
+ "name": "Tajiquistão"
+ },
+ "TZ": {
+ "name": "Tanzânia"
+ },
+ "IO": {
+ "name": "Território Britânico do Oceano Índico"
+ },
+ "TF": {
+ "name": "Territórios Franceses do Sul"
+ },
+ "PS": {
+ "name": "Territórios palestinianos"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TK": {
+ "name": "Toquelau"
+ },
+ "TT": {
+ "name": "Trindade e Tobago"
+ },
+ "TA": {
+ "name": "Tristão da Cunha"
+ },
+ "TN": {
+ "name": "Tunísia"
+ },
+ "TM": {
+ "name": "Turquemenistão"
+ },
+ "TR": {
+ "name": "Turquia"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UA": {
+ "name": "Ucrânia"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UY": {
+ "name": "Uruguai"
+ },
+ "UZ": {
+ "name": "Usbequistão"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietname"
+ },
+ "WF": {
+ "name": "Wallis e Futuna"
+ },
+ "ZM": {
+ "name": "Zâmbia"
+ },
+ "ZW": {
+ "name": "Zimbabué"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/pt-ST.json b/vendor/commerceguys/intl/resources/country/pt-ST.json
new file mode 100644
index 000000000..31fddbf1d
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/pt-ST.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afeganistão"
+ },
+ "ZA": {
+ "name": "África do Sul"
+ },
+ "AX": {
+ "name": "Alanda"
+ },
+ "AL": {
+ "name": "Albânia"
+ },
+ "DE": {
+ "name": "Alemanha"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguila"
+ },
+ "AQ": {
+ "name": "Antártida"
+ },
+ "AG": {
+ "name": "Antígua e Barbuda"
+ },
+ "SA": {
+ "name": "Arábia Saudita"
+ },
+ "DZ": {
+ "name": "Argélia"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Arménia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Austrália"
+ },
+ "AT": {
+ "name": "Áustria"
+ },
+ "AZ": {
+ "name": "Azerbaijão"
+ },
+ "BS": {
+ "name": "Baamas"
+ },
+ "BD": {
+ "name": "Bangladeche"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BH": {
+ "name": "Barém"
+ },
+ "BE": {
+ "name": "Bélgica"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benim"
+ },
+ "BM": {
+ "name": "Bermudas"
+ },
+ "BY": {
+ "name": "Bielorrússia"
+ },
+ "BO": {
+ "name": "Bolívia"
+ },
+ "BA": {
+ "name": "Bósnia e Herzegovina"
+ },
+ "BW": {
+ "name": "Botsuana"
+ },
+ "BR": {
+ "name": "Brasil"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgária"
+ },
+ "BF": {
+ "name": "Burquina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Butão"
+ },
+ "CV": {
+ "name": "Cabo Verde"
+ },
+ "CM": {
+ "name": "Camarões"
+ },
+ "KH": {
+ "name": "Camboja"
+ },
+ "CA": {
+ "name": "Canadá"
+ },
+ "QA": {
+ "name": "Catar"
+ },
+ "KZ": {
+ "name": "Cazaquistão"
+ },
+ "EA": {
+ "name": "Ceuta e Melilha"
+ },
+ "TD": {
+ "name": "Chade"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CY": {
+ "name": "Chipre"
+ },
+ "VA": {
+ "name": "Cidade do Vaticano"
+ },
+ "CO": {
+ "name": "Colômbia"
+ },
+ "KM": {
+ "name": "Comores"
+ },
+ "CG": {
+ "name": "Congo-Brazzaville"
+ },
+ "CD": {
+ "name": "Congo-Kinshasa"
+ },
+ "KP": {
+ "name": "Coreia do Norte"
+ },
+ "KR": {
+ "name": "Coreia do Sul"
+ },
+ "CI": {
+ "name": "Costa do Marfim"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "HR": {
+ "name": "Croácia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curaçau"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DK": {
+ "name": "Dinamarca"
+ },
+ "DM": {
+ "name": "Domínica"
+ },
+ "EG": {
+ "name": "Egito"
+ },
+ "AE": {
+ "name": "Emirados Árabes Unidos"
+ },
+ "EC": {
+ "name": "Equador"
+ },
+ "ER": {
+ "name": "Eritreia"
+ },
+ "SK": {
+ "name": "Eslováquia"
+ },
+ "SI": {
+ "name": "Eslovénia"
+ },
+ "ES": {
+ "name": "Espanha"
+ },
+ "US": {
+ "name": "Estados Unidos"
+ },
+ "EE": {
+ "name": "Estónia"
+ },
+ "ET": {
+ "name": "Etiópia"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filipinas"
+ },
+ "FI": {
+ "name": "Finlândia"
+ },
+ "FR": {
+ "name": "França"
+ },
+ "GA": {
+ "name": "Gabão"
+ },
+ "GM": {
+ "name": "Gâmbia"
+ },
+ "GH": {
+ "name": "Gana"
+ },
+ "GE": {
+ "name": "Geórgia"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Granada"
+ },
+ "GR": {
+ "name": "Grécia"
+ },
+ "GL": {
+ "name": "Gronelândia"
+ },
+ "GP": {
+ "name": "Guadalupe"
+ },
+ "GU": {
+ "name": "Guame"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Guiana"
+ },
+ "GF": {
+ "name": "Guiana Francesa"
+ },
+ "GN": {
+ "name": "Guiné"
+ },
+ "GQ": {
+ "name": "Guiné Equatorial"
+ },
+ "GW": {
+ "name": "Guiné-Bissau"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hong Kong, RAE da China"
+ },
+ "HU": {
+ "name": "Hungria"
+ },
+ "YE": {
+ "name": "Iémen"
+ },
+ "AC": {
+ "name": "Ilha de Ascensão"
+ },
+ "IM": {
+ "name": "Ilha de Man"
+ },
+ "CX": {
+ "name": "Ilha do Natal"
+ },
+ "NF": {
+ "name": "Ilha Norfolk"
+ },
+ "KY": {
+ "name": "Ilhas Caimão"
+ },
+ "IC": {
+ "name": "Ilhas Canárias"
+ },
+ "CK": {
+ "name": "Ilhas Cook"
+ },
+ "CC": {
+ "name": "Ilhas dos Cocos (Keeling)"
+ },
+ "FK": {
+ "name": "Ilhas Falkland"
+ },
+ "FO": {
+ "name": "Ilhas Faroé"
+ },
+ "GS": {
+ "name": "Ilhas Geórgia do Sul e Sandwich do Sul"
+ },
+ "MP": {
+ "name": "Ilhas Marianas do Norte"
+ },
+ "MH": {
+ "name": "Ilhas Marshall"
+ },
+ "UM": {
+ "name": "Ilhas Menores Afastadas dos EUA"
+ },
+ "PN": {
+ "name": "Ilhas Pitcairn"
+ },
+ "SB": {
+ "name": "Ilhas Salomão"
+ },
+ "TC": {
+ "name": "Ilhas Turcas e Caicos"
+ },
+ "VG": {
+ "name": "Ilhas Virgens Britânicas"
+ },
+ "VI": {
+ "name": "Ilhas Virgens dos EUA"
+ },
+ "IN": {
+ "name": "Índia"
+ },
+ "ID": {
+ "name": "Indonésia"
+ },
+ "IR": {
+ "name": "Irão"
+ },
+ "IQ": {
+ "name": "Iraque"
+ },
+ "IE": {
+ "name": "Irlanda"
+ },
+ "IS": {
+ "name": "Islândia"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Itália"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japão"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "DJ": {
+ "name": "Jibuti"
+ },
+ "JO": {
+ "name": "Jordânia"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LV": {
+ "name": "Letónia"
+ },
+ "LB": {
+ "name": "Líbano"
+ },
+ "LR": {
+ "name": "Libéria"
+ },
+ "LY": {
+ "name": "Líbia"
+ },
+ "LI": {
+ "name": "Listenstaine"
+ },
+ "LT": {
+ "name": "Lituânia"
+ },
+ "LU": {
+ "name": "Luxemburgo"
+ },
+ "MO": {
+ "name": "Macau, RAE da China"
+ },
+ "MK": {
+ "name": "Macedónia"
+ },
+ "MG": {
+ "name": "Madagáscar"
+ },
+ "YT": {
+ "name": "Maiote"
+ },
+ "MY": {
+ "name": "Malásia"
+ },
+ "MW": {
+ "name": "Maláui"
+ },
+ "MV": {
+ "name": "Maldivas"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marrocos"
+ },
+ "MQ": {
+ "name": "Martinica"
+ },
+ "MU": {
+ "name": "Maurícia"
+ },
+ "MR": {
+ "name": "Mauritânia"
+ },
+ "MX": {
+ "name": "México"
+ },
+ "MM": {
+ "name": "Mianmar (Birmânia)"
+ },
+ "FM": {
+ "name": "Micronésia"
+ },
+ "MZ": {
+ "name": "Moçambique"
+ },
+ "MD": {
+ "name": "Moldávia"
+ },
+ "MC": {
+ "name": "Mónaco"
+ },
+ "MN": {
+ "name": "Mongólia"
+ },
+ "MS": {
+ "name": "Monserrate"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "NA": {
+ "name": "Namíbia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicarágua"
+ },
+ "NE": {
+ "name": "Níger"
+ },
+ "NG": {
+ "name": "Nigéria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Noruega"
+ },
+ "NC": {
+ "name": "Nova Caledónia"
+ },
+ "NZ": {
+ "name": "Nova Zelândia"
+ },
+ "OM": {
+ "name": "Omã"
+ },
+ "NL": {
+ "name": "Países Baixos"
+ },
+ "BQ": {
+ "name": "Países Baixos Caribenhos"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panamá"
+ },
+ "PG": {
+ "name": "Papua-Nova Guiné"
+ },
+ "PK": {
+ "name": "Paquistão"
+ },
+ "PY": {
+ "name": "Paraguai"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PF": {
+ "name": "Polinésia Francesa"
+ },
+ "PL": {
+ "name": "Polónia"
+ },
+ "PR": {
+ "name": "Porto Rico"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "KE": {
+ "name": "Quénia"
+ },
+ "KG": {
+ "name": "Quirguistão"
+ },
+ "KI": {
+ "name": "Quiribati"
+ },
+ "GB": {
+ "name": "Reino Unido"
+ },
+ "CF": {
+ "name": "República Centro-Africana"
+ },
+ "CZ": {
+ "name": "República Checa"
+ },
+ "DO": {
+ "name": "República Dominicana"
+ },
+ "RE": {
+ "name": "Reunião"
+ },
+ "RO": {
+ "name": "Roménia"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RU": {
+ "name": "Rússia"
+ },
+ "EH": {
+ "name": "Saara Ocidental"
+ },
+ "SV": {
+ "name": "Salvador"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa Americana"
+ },
+ "SH": {
+ "name": "Santa Helena"
+ },
+ "LC": {
+ "name": "Santa Lúcia"
+ },
+ "BL": {
+ "name": "São Bartolomeu"
+ },
+ "KN": {
+ "name": "São Cristóvão e Neves"
+ },
+ "SM": {
+ "name": "São Marinho"
+ },
+ "MF": {
+ "name": "São Martinho"
+ },
+ "PM": {
+ "name": "São Pedro e Miquelão"
+ },
+ "ST": {
+ "name": "São Tomé e Príncipe"
+ },
+ "VC": {
+ "name": "São Vicente e Granadinas"
+ },
+ "SC": {
+ "name": "Seicheles"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "SL": {
+ "name": "Serra Leoa"
+ },
+ "RS": {
+ "name": "Sérvia"
+ },
+ "SG": {
+ "name": "Singapura"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Síria"
+ },
+ "SO": {
+ "name": "Somália"
+ },
+ "LK": {
+ "name": "Sri Lanca"
+ },
+ "SZ": {
+ "name": "Suazilândia"
+ },
+ "SD": {
+ "name": "Sudão"
+ },
+ "SS": {
+ "name": "Sudão do Sul"
+ },
+ "SE": {
+ "name": "Suécia"
+ },
+ "CH": {
+ "name": "Suíça"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SJ": {
+ "name": "Svalbard e Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailândia"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TJ": {
+ "name": "Tajiquistão"
+ },
+ "TZ": {
+ "name": "Tanzânia"
+ },
+ "IO": {
+ "name": "Território Britânico do Oceano Índico"
+ },
+ "TF": {
+ "name": "Territórios Franceses do Sul"
+ },
+ "PS": {
+ "name": "Territórios palestinianos"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TK": {
+ "name": "Toquelau"
+ },
+ "TT": {
+ "name": "Trindade e Tobago"
+ },
+ "TA": {
+ "name": "Tristão da Cunha"
+ },
+ "TN": {
+ "name": "Tunísia"
+ },
+ "TM": {
+ "name": "Turquemenistão"
+ },
+ "TR": {
+ "name": "Turquia"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UA": {
+ "name": "Ucrânia"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UY": {
+ "name": "Uruguai"
+ },
+ "UZ": {
+ "name": "Usbequistão"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietname"
+ },
+ "WF": {
+ "name": "Wallis e Futuna"
+ },
+ "ZM": {
+ "name": "Zâmbia"
+ },
+ "ZW": {
+ "name": "Zimbabué"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/pt-TL.json b/vendor/commerceguys/intl/resources/country/pt-TL.json
new file mode 100644
index 000000000..31fddbf1d
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/pt-TL.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afeganistão"
+ },
+ "ZA": {
+ "name": "África do Sul"
+ },
+ "AX": {
+ "name": "Alanda"
+ },
+ "AL": {
+ "name": "Albânia"
+ },
+ "DE": {
+ "name": "Alemanha"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguila"
+ },
+ "AQ": {
+ "name": "Antártida"
+ },
+ "AG": {
+ "name": "Antígua e Barbuda"
+ },
+ "SA": {
+ "name": "Arábia Saudita"
+ },
+ "DZ": {
+ "name": "Argélia"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Arménia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Austrália"
+ },
+ "AT": {
+ "name": "Áustria"
+ },
+ "AZ": {
+ "name": "Azerbaijão"
+ },
+ "BS": {
+ "name": "Baamas"
+ },
+ "BD": {
+ "name": "Bangladeche"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BH": {
+ "name": "Barém"
+ },
+ "BE": {
+ "name": "Bélgica"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benim"
+ },
+ "BM": {
+ "name": "Bermudas"
+ },
+ "BY": {
+ "name": "Bielorrússia"
+ },
+ "BO": {
+ "name": "Bolívia"
+ },
+ "BA": {
+ "name": "Bósnia e Herzegovina"
+ },
+ "BW": {
+ "name": "Botsuana"
+ },
+ "BR": {
+ "name": "Brasil"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgária"
+ },
+ "BF": {
+ "name": "Burquina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Butão"
+ },
+ "CV": {
+ "name": "Cabo Verde"
+ },
+ "CM": {
+ "name": "Camarões"
+ },
+ "KH": {
+ "name": "Camboja"
+ },
+ "CA": {
+ "name": "Canadá"
+ },
+ "QA": {
+ "name": "Catar"
+ },
+ "KZ": {
+ "name": "Cazaquistão"
+ },
+ "EA": {
+ "name": "Ceuta e Melilha"
+ },
+ "TD": {
+ "name": "Chade"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CY": {
+ "name": "Chipre"
+ },
+ "VA": {
+ "name": "Cidade do Vaticano"
+ },
+ "CO": {
+ "name": "Colômbia"
+ },
+ "KM": {
+ "name": "Comores"
+ },
+ "CG": {
+ "name": "Congo-Brazzaville"
+ },
+ "CD": {
+ "name": "Congo-Kinshasa"
+ },
+ "KP": {
+ "name": "Coreia do Norte"
+ },
+ "KR": {
+ "name": "Coreia do Sul"
+ },
+ "CI": {
+ "name": "Costa do Marfim"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "HR": {
+ "name": "Croácia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curaçau"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DK": {
+ "name": "Dinamarca"
+ },
+ "DM": {
+ "name": "Domínica"
+ },
+ "EG": {
+ "name": "Egito"
+ },
+ "AE": {
+ "name": "Emirados Árabes Unidos"
+ },
+ "EC": {
+ "name": "Equador"
+ },
+ "ER": {
+ "name": "Eritreia"
+ },
+ "SK": {
+ "name": "Eslováquia"
+ },
+ "SI": {
+ "name": "Eslovénia"
+ },
+ "ES": {
+ "name": "Espanha"
+ },
+ "US": {
+ "name": "Estados Unidos"
+ },
+ "EE": {
+ "name": "Estónia"
+ },
+ "ET": {
+ "name": "Etiópia"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filipinas"
+ },
+ "FI": {
+ "name": "Finlândia"
+ },
+ "FR": {
+ "name": "França"
+ },
+ "GA": {
+ "name": "Gabão"
+ },
+ "GM": {
+ "name": "Gâmbia"
+ },
+ "GH": {
+ "name": "Gana"
+ },
+ "GE": {
+ "name": "Geórgia"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Granada"
+ },
+ "GR": {
+ "name": "Grécia"
+ },
+ "GL": {
+ "name": "Gronelândia"
+ },
+ "GP": {
+ "name": "Guadalupe"
+ },
+ "GU": {
+ "name": "Guame"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Guiana"
+ },
+ "GF": {
+ "name": "Guiana Francesa"
+ },
+ "GN": {
+ "name": "Guiné"
+ },
+ "GQ": {
+ "name": "Guiné Equatorial"
+ },
+ "GW": {
+ "name": "Guiné-Bissau"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hong Kong, RAE da China"
+ },
+ "HU": {
+ "name": "Hungria"
+ },
+ "YE": {
+ "name": "Iémen"
+ },
+ "AC": {
+ "name": "Ilha de Ascensão"
+ },
+ "IM": {
+ "name": "Ilha de Man"
+ },
+ "CX": {
+ "name": "Ilha do Natal"
+ },
+ "NF": {
+ "name": "Ilha Norfolk"
+ },
+ "KY": {
+ "name": "Ilhas Caimão"
+ },
+ "IC": {
+ "name": "Ilhas Canárias"
+ },
+ "CK": {
+ "name": "Ilhas Cook"
+ },
+ "CC": {
+ "name": "Ilhas dos Cocos (Keeling)"
+ },
+ "FK": {
+ "name": "Ilhas Falkland"
+ },
+ "FO": {
+ "name": "Ilhas Faroé"
+ },
+ "GS": {
+ "name": "Ilhas Geórgia do Sul e Sandwich do Sul"
+ },
+ "MP": {
+ "name": "Ilhas Marianas do Norte"
+ },
+ "MH": {
+ "name": "Ilhas Marshall"
+ },
+ "UM": {
+ "name": "Ilhas Menores Afastadas dos EUA"
+ },
+ "PN": {
+ "name": "Ilhas Pitcairn"
+ },
+ "SB": {
+ "name": "Ilhas Salomão"
+ },
+ "TC": {
+ "name": "Ilhas Turcas e Caicos"
+ },
+ "VG": {
+ "name": "Ilhas Virgens Britânicas"
+ },
+ "VI": {
+ "name": "Ilhas Virgens dos EUA"
+ },
+ "IN": {
+ "name": "Índia"
+ },
+ "ID": {
+ "name": "Indonésia"
+ },
+ "IR": {
+ "name": "Irão"
+ },
+ "IQ": {
+ "name": "Iraque"
+ },
+ "IE": {
+ "name": "Irlanda"
+ },
+ "IS": {
+ "name": "Islândia"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Itália"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japão"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "DJ": {
+ "name": "Jibuti"
+ },
+ "JO": {
+ "name": "Jordânia"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LV": {
+ "name": "Letónia"
+ },
+ "LB": {
+ "name": "Líbano"
+ },
+ "LR": {
+ "name": "Libéria"
+ },
+ "LY": {
+ "name": "Líbia"
+ },
+ "LI": {
+ "name": "Listenstaine"
+ },
+ "LT": {
+ "name": "Lituânia"
+ },
+ "LU": {
+ "name": "Luxemburgo"
+ },
+ "MO": {
+ "name": "Macau, RAE da China"
+ },
+ "MK": {
+ "name": "Macedónia"
+ },
+ "MG": {
+ "name": "Madagáscar"
+ },
+ "YT": {
+ "name": "Maiote"
+ },
+ "MY": {
+ "name": "Malásia"
+ },
+ "MW": {
+ "name": "Maláui"
+ },
+ "MV": {
+ "name": "Maldivas"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marrocos"
+ },
+ "MQ": {
+ "name": "Martinica"
+ },
+ "MU": {
+ "name": "Maurícia"
+ },
+ "MR": {
+ "name": "Mauritânia"
+ },
+ "MX": {
+ "name": "México"
+ },
+ "MM": {
+ "name": "Mianmar (Birmânia)"
+ },
+ "FM": {
+ "name": "Micronésia"
+ },
+ "MZ": {
+ "name": "Moçambique"
+ },
+ "MD": {
+ "name": "Moldávia"
+ },
+ "MC": {
+ "name": "Mónaco"
+ },
+ "MN": {
+ "name": "Mongólia"
+ },
+ "MS": {
+ "name": "Monserrate"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "NA": {
+ "name": "Namíbia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicarágua"
+ },
+ "NE": {
+ "name": "Níger"
+ },
+ "NG": {
+ "name": "Nigéria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Noruega"
+ },
+ "NC": {
+ "name": "Nova Caledónia"
+ },
+ "NZ": {
+ "name": "Nova Zelândia"
+ },
+ "OM": {
+ "name": "Omã"
+ },
+ "NL": {
+ "name": "Países Baixos"
+ },
+ "BQ": {
+ "name": "Países Baixos Caribenhos"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panamá"
+ },
+ "PG": {
+ "name": "Papua-Nova Guiné"
+ },
+ "PK": {
+ "name": "Paquistão"
+ },
+ "PY": {
+ "name": "Paraguai"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PF": {
+ "name": "Polinésia Francesa"
+ },
+ "PL": {
+ "name": "Polónia"
+ },
+ "PR": {
+ "name": "Porto Rico"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "KE": {
+ "name": "Quénia"
+ },
+ "KG": {
+ "name": "Quirguistão"
+ },
+ "KI": {
+ "name": "Quiribati"
+ },
+ "GB": {
+ "name": "Reino Unido"
+ },
+ "CF": {
+ "name": "República Centro-Africana"
+ },
+ "CZ": {
+ "name": "República Checa"
+ },
+ "DO": {
+ "name": "República Dominicana"
+ },
+ "RE": {
+ "name": "Reunião"
+ },
+ "RO": {
+ "name": "Roménia"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RU": {
+ "name": "Rússia"
+ },
+ "EH": {
+ "name": "Saara Ocidental"
+ },
+ "SV": {
+ "name": "Salvador"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa Americana"
+ },
+ "SH": {
+ "name": "Santa Helena"
+ },
+ "LC": {
+ "name": "Santa Lúcia"
+ },
+ "BL": {
+ "name": "São Bartolomeu"
+ },
+ "KN": {
+ "name": "São Cristóvão e Neves"
+ },
+ "SM": {
+ "name": "São Marinho"
+ },
+ "MF": {
+ "name": "São Martinho"
+ },
+ "PM": {
+ "name": "São Pedro e Miquelão"
+ },
+ "ST": {
+ "name": "São Tomé e Príncipe"
+ },
+ "VC": {
+ "name": "São Vicente e Granadinas"
+ },
+ "SC": {
+ "name": "Seicheles"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "SL": {
+ "name": "Serra Leoa"
+ },
+ "RS": {
+ "name": "Sérvia"
+ },
+ "SG": {
+ "name": "Singapura"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Síria"
+ },
+ "SO": {
+ "name": "Somália"
+ },
+ "LK": {
+ "name": "Sri Lanca"
+ },
+ "SZ": {
+ "name": "Suazilândia"
+ },
+ "SD": {
+ "name": "Sudão"
+ },
+ "SS": {
+ "name": "Sudão do Sul"
+ },
+ "SE": {
+ "name": "Suécia"
+ },
+ "CH": {
+ "name": "Suíça"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SJ": {
+ "name": "Svalbard e Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailândia"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TJ": {
+ "name": "Tajiquistão"
+ },
+ "TZ": {
+ "name": "Tanzânia"
+ },
+ "IO": {
+ "name": "Território Britânico do Oceano Índico"
+ },
+ "TF": {
+ "name": "Territórios Franceses do Sul"
+ },
+ "PS": {
+ "name": "Territórios palestinianos"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TK": {
+ "name": "Toquelau"
+ },
+ "TT": {
+ "name": "Trindade e Tobago"
+ },
+ "TA": {
+ "name": "Tristão da Cunha"
+ },
+ "TN": {
+ "name": "Tunísia"
+ },
+ "TM": {
+ "name": "Turquemenistão"
+ },
+ "TR": {
+ "name": "Turquia"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UA": {
+ "name": "Ucrânia"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UY": {
+ "name": "Uruguai"
+ },
+ "UZ": {
+ "name": "Usbequistão"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietname"
+ },
+ "WF": {
+ "name": "Wallis e Futuna"
+ },
+ "ZM": {
+ "name": "Zâmbia"
+ },
+ "ZW": {
+ "name": "Zimbabué"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/pt.json b/vendor/commerceguys/intl/resources/country/pt.json
new file mode 100644
index 000000000..97dd69cfb
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/pt.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afeganistão"
+ },
+ "ZA": {
+ "name": "África do Sul"
+ },
+ "AL": {
+ "name": "Albânia"
+ },
+ "DE": {
+ "name": "Alemanha"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antártida"
+ },
+ "AG": {
+ "name": "Antígua e Barbuda"
+ },
+ "SA": {
+ "name": "Arábia Saudita"
+ },
+ "DZ": {
+ "name": "Argélia"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armênia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Austrália"
+ },
+ "AT": {
+ "name": "Áustria"
+ },
+ "AZ": {
+ "name": "Azerbaijão"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahrein"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BE": {
+ "name": "Bélgica"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermudas"
+ },
+ "BY": {
+ "name": "Bielorrússia"
+ },
+ "BO": {
+ "name": "Bolívia"
+ },
+ "BA": {
+ "name": "Bósnia e Herzegovina"
+ },
+ "BW": {
+ "name": "Botsuana"
+ },
+ "BR": {
+ "name": "Brasil"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgária"
+ },
+ "BF": {
+ "name": "Burquina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Butão"
+ },
+ "CV": {
+ "name": "Cabo Verde"
+ },
+ "KH": {
+ "name": "Camboja"
+ },
+ "CA": {
+ "name": "Canadá"
+ },
+ "QA": {
+ "name": "Catar"
+ },
+ "KZ": {
+ "name": "Cazaquistão"
+ },
+ "EA": {
+ "name": "Ceuta e Melilha"
+ },
+ "TD": {
+ "name": "Chade"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CY": {
+ "name": "Chipre"
+ },
+ "VA": {
+ "name": "Cidade do Vaticano"
+ },
+ "SG": {
+ "name": "Cingapura"
+ },
+ "CO": {
+ "name": "Colômbia"
+ },
+ "KM": {
+ "name": "Comores"
+ },
+ "CG": {
+ "name": "Congo - Brazzaville"
+ },
+ "CD": {
+ "name": "Congo - Kinshasa"
+ },
+ "KP": {
+ "name": "Coreia do Norte"
+ },
+ "KR": {
+ "name": "Coreia do Sul"
+ },
+ "CI": {
+ "name": "Costa do Marfim"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "HR": {
+ "name": "Croácia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DK": {
+ "name": "Dinamarca"
+ },
+ "DJ": {
+ "name": "Djibuti"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "EG": {
+ "name": "Egito"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "AE": {
+ "name": "Emirados Árabes Unidos"
+ },
+ "EC": {
+ "name": "Equador"
+ },
+ "ER": {
+ "name": "Eritreia"
+ },
+ "SK": {
+ "name": "Eslováquia"
+ },
+ "SI": {
+ "name": "Eslovênia"
+ },
+ "ES": {
+ "name": "Espanha"
+ },
+ "US": {
+ "name": "Estados Unidos"
+ },
+ "EE": {
+ "name": "Estônia"
+ },
+ "ET": {
+ "name": "Etiópia"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filipinas"
+ },
+ "FI": {
+ "name": "Finlândia"
+ },
+ "FR": {
+ "name": "França"
+ },
+ "GA": {
+ "name": "Gabão"
+ },
+ "GM": {
+ "name": "Gâmbia"
+ },
+ "GH": {
+ "name": "Gana"
+ },
+ "GE": {
+ "name": "Geórgia"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Granada"
+ },
+ "GR": {
+ "name": "Grécia"
+ },
+ "GL": {
+ "name": "Groenlândia"
+ },
+ "GP": {
+ "name": "Guadalupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Guiana"
+ },
+ "GF": {
+ "name": "Guiana Francesa"
+ },
+ "GN": {
+ "name": "Guiné"
+ },
+ "GQ": {
+ "name": "Guiné Equatorial"
+ },
+ "GW": {
+ "name": "Guiné-Bissau"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "NL": {
+ "name": "Holanda"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hong Kong, RAE da China"
+ },
+ "HU": {
+ "name": "Hungria"
+ },
+ "YE": {
+ "name": "Iêmen"
+ },
+ "CX": {
+ "name": "Ilha Christmas"
+ },
+ "AC": {
+ "name": "Ilha de Ascensão"
+ },
+ "IM": {
+ "name": "Ilha de Man"
+ },
+ "NF": {
+ "name": "Ilha Norfolk"
+ },
+ "AX": {
+ "name": "Ilhas Åland"
+ },
+ "IC": {
+ "name": "Ilhas Canárias"
+ },
+ "KY": {
+ "name": "Ilhas Cayman"
+ },
+ "CC": {
+ "name": "Ilhas Cocos (Keeling)"
+ },
+ "CK": {
+ "name": "Ilhas Cook"
+ },
+ "FO": {
+ "name": "Ilhas Faroe"
+ },
+ "GS": {
+ "name": "Ilhas Geórgia do Sul e Sandwich do Sul"
+ },
+ "FK": {
+ "name": "Ilhas Malvinas"
+ },
+ "MP": {
+ "name": "Ilhas Marianas do Norte"
+ },
+ "MH": {
+ "name": "Ilhas Marshall"
+ },
+ "UM": {
+ "name": "Ilhas Menores Distantes dos EUA"
+ },
+ "PN": {
+ "name": "Ilhas Pitcairn"
+ },
+ "SB": {
+ "name": "Ilhas Salomão"
+ },
+ "TC": {
+ "name": "Ilhas Turks e Caicos"
+ },
+ "VG": {
+ "name": "Ilhas Virgens Britânicas"
+ },
+ "VI": {
+ "name": "Ilhas Virgens dos EUA"
+ },
+ "IN": {
+ "name": "Índia"
+ },
+ "ID": {
+ "name": "Indonésia"
+ },
+ "IR": {
+ "name": "Irã"
+ },
+ "IQ": {
+ "name": "Iraque"
+ },
+ "IE": {
+ "name": "Irlanda"
+ },
+ "IS": {
+ "name": "Islândia"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Itália"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japão"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordânia"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LV": {
+ "name": "Letônia"
+ },
+ "LB": {
+ "name": "Líbano"
+ },
+ "LR": {
+ "name": "Libéria"
+ },
+ "LY": {
+ "name": "Líbia"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lituânia"
+ },
+ "LU": {
+ "name": "Luxemburgo"
+ },
+ "MO": {
+ "name": "Macau, RAE da China"
+ },
+ "MK": {
+ "name": "Macedônia"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MY": {
+ "name": "Malásia"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MV": {
+ "name": "Maldivas"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marrocos"
+ },
+ "MQ": {
+ "name": "Martinica"
+ },
+ "MU": {
+ "name": "Maurício"
+ },
+ "MR": {
+ "name": "Mauritânia"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "México"
+ },
+ "MM": {
+ "name": "Mianmar (Birmânia)"
+ },
+ "FM": {
+ "name": "Micronésia"
+ },
+ "MZ": {
+ "name": "Moçambique"
+ },
+ "MD": {
+ "name": "Moldávia"
+ },
+ "MC": {
+ "name": "Mônaco"
+ },
+ "MN": {
+ "name": "Mongólia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "NA": {
+ "name": "Namíbia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicarágua"
+ },
+ "NE": {
+ "name": "Níger"
+ },
+ "NG": {
+ "name": "Nigéria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Noruega"
+ },
+ "NC": {
+ "name": "Nova Caledônia"
+ },
+ "NZ": {
+ "name": "Nova Zelândia"
+ },
+ "OM": {
+ "name": "Omã"
+ },
+ "BQ": {
+ "name": "Países Baixos Caribenhos"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panamá"
+ },
+ "PG": {
+ "name": "Papua-Nova Guiné"
+ },
+ "PK": {
+ "name": "Paquistão"
+ },
+ "PY": {
+ "name": "Paraguai"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PF": {
+ "name": "Polinésia Francesa"
+ },
+ "PL": {
+ "name": "Polônia"
+ },
+ "PR": {
+ "name": "Porto Rico"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "KE": {
+ "name": "Quênia"
+ },
+ "KG": {
+ "name": "Quirguistão"
+ },
+ "KI": {
+ "name": "Quiribati"
+ },
+ "GB": {
+ "name": "Reino Unido"
+ },
+ "CF": {
+ "name": "República Centro-Africana"
+ },
+ "DO": {
+ "name": "República Dominicana"
+ },
+ "CM": {
+ "name": "República dos Camarões"
+ },
+ "CZ": {
+ "name": "República Tcheca"
+ },
+ "RE": {
+ "name": "Reunião"
+ },
+ "RO": {
+ "name": "Romênia"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RU": {
+ "name": "Rússia"
+ },
+ "EH": {
+ "name": "Saara Ocidental"
+ },
+ "PM": {
+ "name": "Saint Pierre e Miquelon"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa Americana"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "SH": {
+ "name": "Santa Helena"
+ },
+ "LC": {
+ "name": "Santa Lúcia"
+ },
+ "BL": {
+ "name": "São Bartolomeu"
+ },
+ "KN": {
+ "name": "São Cristóvão e Nevis"
+ },
+ "MF": {
+ "name": "São Martinho"
+ },
+ "ST": {
+ "name": "São Tomé e Príncipe"
+ },
+ "VC": {
+ "name": "São Vicente e Granadinas"
+ },
+ "SC": {
+ "name": "Seicheles"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "SL": {
+ "name": "Serra Leoa"
+ },
+ "RS": {
+ "name": "Sérvia"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Síria"
+ },
+ "SO": {
+ "name": "Somália"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "SZ": {
+ "name": "Suazilândia"
+ },
+ "SD": {
+ "name": "Sudão"
+ },
+ "SS": {
+ "name": "Sudão do Sul"
+ },
+ "SE": {
+ "name": "Suécia"
+ },
+ "CH": {
+ "name": "Suíça"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SJ": {
+ "name": "Svalbard e Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailândia"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TJ": {
+ "name": "Tajiquistão"
+ },
+ "TZ": {
+ "name": "Tanzânia"
+ },
+ "IO": {
+ "name": "Território Britânico do Oceano Índico"
+ },
+ "TF": {
+ "name": "Territórios Franceses do Sul"
+ },
+ "PS": {
+ "name": "Territórios palestinos"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad e Tobago"
+ },
+ "TA": {
+ "name": "Tristão da Cunha"
+ },
+ "TN": {
+ "name": "Tunísia"
+ },
+ "TM": {
+ "name": "Turcomenistão"
+ },
+ "TR": {
+ "name": "Turquia"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UA": {
+ "name": "Ucrânia"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UY": {
+ "name": "Uruguai"
+ },
+ "UZ": {
+ "name": "Uzbequistão"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnã"
+ },
+ "WF": {
+ "name": "Wallis e Futuna"
+ },
+ "ZM": {
+ "name": "Zâmbia"
+ },
+ "ZW": {
+ "name": "Zimbábue"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/qu.json b/vendor/commerceguys/intl/resources/country/qu.json
new file mode 100644
index 000000000..8ecfa3398
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/qu.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afganistán"
+ },
+ "AX": {
+ "name": "Åland Islands"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DE": {
+ "name": "Alemania"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigua & Barbuda"
+ },
+ "SA": {
+ "name": "Arabia Saudí"
+ },
+ "DZ": {
+ "name": "Argelia"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "AZ": {
+ "name": "Azerbaiyán"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BH": {
+ "name": "Baréin"
+ },
+ "BY": {
+ "name": "Belarús"
+ },
+ "BE": {
+ "name": "Bélgica"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benín"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BQ": {
+ "name": "Bonaire"
+ },
+ "BA": {
+ "name": "Bosnia & Herzegovina"
+ },
+ "BW": {
+ "name": "Botsuana"
+ },
+ "BR": {
+ "name": "Brasil"
+ },
+ "IO": {
+ "name": "British Indian Ocean Territory"
+ },
+ "VG": {
+ "name": "British Virgin Islands"
+ },
+ "BN": {
+ "name": "Brunéi"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Bután"
+ },
+ "KH": {
+ "name": "Camboya"
+ },
+ "CM": {
+ "name": "Camerún"
+ },
+ "CA": {
+ "name": "Canada"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "CV": {
+ "name": "Cape Verde"
+ },
+ "KY": {
+ "name": "Cayman Islands"
+ },
+ "CF": {
+ "name": "Central African Republic"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "TD": {
+ "name": "Chad"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CY": {
+ "name": "Chipre"
+ },
+ "CO": {
+ "name": "Colombia"
+ },
+ "KM": {
+ "name": "Comoras"
+ },
+ "CG": {
+ "name": "Congo"
+ },
+ "CD": {
+ "name": "Congo (RDC)"
+ },
+ "CK": {
+ "name": "Cook Islands"
+ },
+ "KP": {
+ "name": "Corea del Norte"
+ },
+ "KR": {
+ "name": "Corea del Sur"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "CI": {
+ "name": "Côte d’Ivoire"
+ },
+ "HR": {
+ "name": "Croacia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curazao"
+ },
+ "CZ": {
+ "name": "Czech Republic"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DK": {
+ "name": "Dinamarca"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "DO": {
+ "name": "Dominican Republic"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "VI": {
+ "name": "EE.UU. Islas Vírgenes"
+ },
+ "EG": {
+ "name": "Egipto"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "MK": {
+ "name": "ERY Macedonia"
+ },
+ "SK": {
+ "name": "Eslovaquia"
+ },
+ "SI": {
+ "name": "Eslovenia"
+ },
+ "ES": {
+ "name": "España"
+ },
+ "US": {
+ "name": "Estados Unidos"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Etiopía"
+ },
+ "FK": {
+ "name": "Falkland Islands"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "PH": {
+ "name": "Filipinas"
+ },
+ "FI": {
+ "name": "Finlandia"
+ },
+ "FJ": {
+ "name": "Fiyi"
+ },
+ "FR": {
+ "name": "Francia"
+ },
+ "GF": {
+ "name": "French Guiana"
+ },
+ "GA": {
+ "name": "Gabón"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GR": {
+ "name": "Grecia"
+ },
+ "GL": {
+ "name": "Greenland"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernesey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GQ": {
+ "name": "Guinea Ecuatorial"
+ },
+ "GW": {
+ "name": "Guinea-Bisáu"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haití"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hong Kong (RAE)"
+ },
+ "HU": {
+ "name": "Hungary"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Irán"
+ },
+ "IE": {
+ "name": "Ireland"
+ },
+ "CX": {
+ "name": "Isla Christmas"
+ },
+ "NF": {
+ "name": "Isla Norfolk"
+ },
+ "IS": {
+ "name": "Islandia"
+ },
+ "CC": {
+ "name": "Islas Cocos"
+ },
+ "MP": {
+ "name": "Islas Marianas del Norte"
+ },
+ "MH": {
+ "name": "Islas Marshall"
+ },
+ "UM": {
+ "name": "Islas menores alejadas de los EE.UU."
+ },
+ "PN": {
+ "name": "Islas Pitcairn"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japan"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordania"
+ },
+ "KZ": {
+ "name": "Kazajistán"
+ },
+ "KE": {
+ "name": "Kenia"
+ },
+ "KG": {
+ "name": "Kirguistán"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LV": {
+ "name": "Letonia"
+ },
+ "LB": {
+ "name": "Líbano"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lituania"
+ },
+ "LU": {
+ "name": "Luxemburgo"
+ },
+ "MO": {
+ "name": "Macao RAE"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malaysia"
+ },
+ "MV": {
+ "name": "Maldivas"
+ },
+ "ML": {
+ "name": "Malí"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marruecos"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MU": {
+ "name": "Mauricio"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "México"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Mónaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NZ": {
+ "name": "New Zealand"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Níger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Noruega"
+ },
+ "NC": {
+ "name": "Nueva Caledonia"
+ },
+ "OM": {
+ "name": "Omán"
+ },
+ "NL": {
+ "name": "Países Bajos"
+ },
+ "PK": {
+ "name": "Pakistán"
+ },
+ "PW": {
+ "name": "Palaos"
+ },
+ "PS": {
+ "name": "Palestina Kamachikuq"
+ },
+ "PA": {
+ "name": "Panamá"
+ },
+ "PG": {
+ "name": "Papúa Nueva Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Perú"
+ },
+ "PF": {
+ "name": "Polinesia Francesa"
+ },
+ "PL": {
+ "name": "Polonia"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "QA": {
+ "name": "Qatar"
+ },
+ "GB": {
+ "name": "Reino Unido"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RO": {
+ "name": "Romania"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RU": {
+ "name": "Rusia"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa Americana"
+ },
+ "KN": {
+ "name": "San Cristóbal y Nieves"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "MF": {
+ "name": "San Martín"
+ },
+ "PM": {
+ "name": "San Pedro y Miquelón"
+ },
+ "VA": {
+ "name": "Santa Sede (Ciudad del Vaticano)"
+ },
+ "ST": {
+ "name": "Santo Tomé y Príncipe"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leona"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Siria"
+ },
+ "SB": {
+ "name": "Solomon Islands"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "SH": {
+ "name": "St. Helena"
+ },
+ "LC": {
+ "name": "St. Lucia"
+ },
+ "VC": {
+ "name": "St. Vincent & Grenadines"
+ },
+ "SZ": {
+ "name": "Suazilandia"
+ },
+ "ZA": {
+ "name": "Sudáfrica"
+ },
+ "SD": {
+ "name": "Sudán"
+ },
+ "SS": {
+ "name": "Sudán del Sur"
+ },
+ "SE": {
+ "name": "Suecia"
+ },
+ "CH": {
+ "name": "Suiza"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailandia"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TJ": {
+ "name": "Tayikistán"
+ },
+ "TF": {
+ "name": "Territorios Australes Franceses"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad y Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Túnez"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TC": {
+ "name": "Turks & Caicos Islands"
+ },
+ "TR": {
+ "name": "Turquía"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukraine"
+ },
+ "AE": {
+ "name": "United Arab Emirates"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbekistán"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis y Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "DJ": {
+ "name": "Yibuti"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabue"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/rm.json b/vendor/commerceguys/intl/resources/country/rm.json
new file mode 100644
index 000000000..e1fcdaf6f
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/rm.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afghanistan"
+ },
+ "ZA": {
+ "name": "Africa dal Sid"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Algeria"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigua e Barbuda"
+ },
+ "SA": {
+ "name": "Arabia Saudita"
+ },
+ "AR": {
+ "name": "Argentinia"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AZ": {
+ "name": "Aserbaidschan"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahrain"
+ },
+ "BD": {
+ "name": "Bangladesch"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BE": {
+ "name": "Belgia"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermudas"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BY": {
+ "name": "Bielorussia"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia ed Erzegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brasila"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "KH": {
+ "name": "Cambodscha"
+ },
+ "CM": {
+ "name": "Camerun"
+ },
+ "CA": {
+ "name": "Canada"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "CV": {
+ "name": "Cap Verd"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CY": {
+ "name": "Cipra"
+ },
+ "VA": {
+ "name": "Citad dal Vatican"
+ },
+ "CO": {
+ "name": "Columbia"
+ },
+ "KM": {
+ "name": "Comoras"
+ },
+ "CG": {
+ "name": "Congo"
+ },
+ "KP": {
+ "name": "Corea dal Nord"
+ },
+ "KR": {
+ "name": "Corea dal Sid"
+ },
+ "CI": {
+ "name": "Costa d’Ivur"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "HR": {
+ "name": "Croazia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Danemarc"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "DJ": {
+ "name": "Dschibuti"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egipta"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "AE": {
+ "name": "Emirats Arabs Unids"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Etiopia"
+ },
+ "FJ": {
+ "name": "Fidschi"
+ },
+ "PH": {
+ "name": "Filippinas"
+ },
+ "FI": {
+ "name": "Finlanda"
+ },
+ "FR": {
+ "name": "Frantscha"
+ },
+ "GA": {
+ "name": "Gabun"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "GS": {
+ "name": "Georgia dal Sid e las Inslas Sandwich dal Sid"
+ },
+ "DE": {
+ "name": "Germania"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "JM": {
+ "name": "Giamaica"
+ },
+ "JP": {
+ "name": "Giapun"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GR": {
+ "name": "Grezia"
+ },
+ "GL": {
+ "name": "Grönlanda"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GQ": {
+ "name": "Guinea Equatoriala"
+ },
+ "GW": {
+ "name": "Guinea-Bissau"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "GF": {
+ "name": "Guyana Franzosa"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "CX": {
+ "name": "Insla da Christmas"
+ },
+ "IM": {
+ "name": "Insla da Man"
+ },
+ "NF": {
+ "name": "Insla Norfolk"
+ },
+ "AX": {
+ "name": "Inslas Aland"
+ },
+ "KY": {
+ "name": "Inslas Cayman"
+ },
+ "CC": {
+ "name": "Inslas Cocos"
+ },
+ "CK": {
+ "name": "Inslas Cook"
+ },
+ "MH": {
+ "name": "Inslas da Marshall"
+ },
+ "FK": {
+ "name": "Inslas dal Falkland"
+ },
+ "FO": {
+ "name": "Inslas Feroe"
+ },
+ "MP": {
+ "name": "Inslas Mariannas dal Nord"
+ },
+ "UM": {
+ "name": "Inslas pitschnas perifericas dals Stadis Unids da l’America"
+ },
+ "TC": {
+ "name": "Inslas Turks e Caicos"
+ },
+ "VI": {
+ "name": "Inslas Verginas Americanas"
+ },
+ "VG": {
+ "name": "Inslas Verginas Britannicas"
+ },
+ "IQ": {
+ "name": "Irac"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IE": {
+ "name": "Irlanda"
+ },
+ "IS": {
+ "name": "Islanda"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "YE": {
+ "name": "Jemen"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordania"
+ },
+ "KZ": {
+ "name": "Kasachstan"
+ },
+ "QA": {
+ "name": "Katar"
+ },
+ "KE": {
+ "name": "Kenia"
+ },
+ "KG": {
+ "name": "Kirghisistan"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LV": {
+ "name": "Lettonia"
+ },
+ "LB": {
+ "name": "Libanon"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libia"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lituania"
+ },
+ "LU": {
+ "name": "Luxemburg"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MY": {
+ "name": "Malaisia"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MV": {
+ "name": "Maldivas"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Maroc"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MR": {
+ "name": "Mauretania"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Mexico"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldavia"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mosambic"
+ },
+ "MM": {
+ "name": "Myanmar"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Norvegia"
+ },
+ "NC": {
+ "name": "Nova Caledonia"
+ },
+ "NZ": {
+ "name": "Nova Zelanda"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "NL": {
+ "name": "Pajais Bass"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua Nova Guinea"
+ },
+ "PY": {
+ "name": "Paraguai"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitcairn"
+ },
+ "PF": {
+ "name": "Polinesia Franzosa"
+ },
+ "PL": {
+ "name": "Pologna"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "GB": {
+ "name": "Reginavel Unì"
+ },
+ "HK": {
+ "name": "Regiun d’administraziun speziala da Hongkong, China"
+ },
+ "MO": {
+ "name": "Regiun d’administraziun speziala Macao, China"
+ },
+ "CF": {
+ "name": "Republica Centralafricana"
+ },
+ "CD": {
+ "name": "Republica Democratica dal Congo"
+ },
+ "DO": {
+ "name": "Republica Dominicana"
+ },
+ "CZ": {
+ "name": "Republica Tscheca"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RO": {
+ "name": "Rumenia"
+ },
+ "RU": {
+ "name": "Russia"
+ },
+ "EH": {
+ "name": "Sahara Occidentala"
+ },
+ "KN": {
+ "name": "Saint Kitts e Nevis"
+ },
+ "LC": {
+ "name": "Saint Lucia"
+ },
+ "MF": {
+ "name": "Saint Martin"
+ },
+ "PM": {
+ "name": "Saint Pierre e Miquelon"
+ },
+ "VC": {
+ "name": "Saint Vincent e las Grenadinas"
+ },
+ "SB": {
+ "name": "Salomonas"
+ },
+ "ZM": {
+ "name": "Sambia"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa Americana"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "São Tomé e Principe"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychellas"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "ZW": {
+ "name": "Simbabwe"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Siria"
+ },
+ "SK": {
+ "name": "Slovachia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "BL": {
+ "name": "Son Barthélemy"
+ },
+ "SH": {
+ "name": "Sontg’Elena"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "ES": {
+ "name": "Spagna"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "US": {
+ "name": "Stadis Unids da l’America"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SJ": {
+ "name": "Svalbard e Jan Mayen"
+ },
+ "SE": {
+ "name": "Svezia"
+ },
+ "CH": {
+ "name": "Svizra"
+ },
+ "SZ": {
+ "name": "Swaziland"
+ },
+ "TJ": {
+ "name": "Tadschikistan"
+ },
+ "TH": {
+ "name": "Tailanda"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TZ": {
+ "name": "Tansania"
+ },
+ "IO": {
+ "name": "Territori Britannic en l’Ocean Indic"
+ },
+ "PS": {
+ "name": "Territori Palestinais"
+ },
+ "TF": {
+ "name": "Territoris Franzos Meridiunals"
+ },
+ "TL": {
+ "name": "Timor da l’Ost"
+ },
+ "TR": {
+ "name": "Tirchia"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad e Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TD": {
+ "name": "Tschad"
+ },
+ "TN": {
+ "name": "Tunesia"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UA": {
+ "name": "Ucraina"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "HU": {
+ "name": "Ungaria"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Usbekistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis e Futuna"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/rn.json b/vendor/commerceguys/intl/resources/country/rn.json
new file mode 100644
index 000000000..bf2044359
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/rn.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afuganisitani"
+ },
+ "ZA": {
+ "name": "Afurika y’Epfo"
+ },
+ "AX": {
+ "name": "Åland Islands"
+ },
+ "DZ": {
+ "name": "Alijeriya"
+ },
+ "AL": {
+ "name": "Alubaniya"
+ },
+ "VI": {
+ "name": "Amazinga y’Isugi y’Abanyamerika"
+ },
+ "PH": {
+ "name": "Amazinga ya Filipine"
+ },
+ "MP": {
+ "name": "Amazinga ya Mariyana ryo mu majaruguru"
+ },
+ "RE": {
+ "name": "Amazinga ya Reyiniyo"
+ },
+ "SB": {
+ "name": "Amazinga ya Salumoni"
+ },
+ "SC": {
+ "name": "Amazinga ya Seyisheli"
+ },
+ "TC": {
+ "name": "Amazinga ya Turkisi na Cayikosi"
+ },
+ "AD": {
+ "name": "Andora"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Angwila"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigwa na Baribuda"
+ },
+ "SA": {
+ "name": "Arabiya Sawudite"
+ },
+ "AR": {
+ "name": "Arijantine"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AM": {
+ "name": "Arumeniya"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "IS": {
+ "name": "Ayisilandi"
+ },
+ "AZ": {
+ "name": "Azerubayijani"
+ },
+ "BS": {
+ "name": "Bahamasi"
+ },
+ "BH": {
+ "name": "Bahareyini"
+ },
+ "BD": {
+ "name": "Bangaladeshi"
+ },
+ "BB": {
+ "name": "Barubadosi"
+ },
+ "BY": {
+ "name": "Belausi"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Bene"
+ },
+ "BM": {
+ "name": "Berimuda"
+ },
+ "MM": {
+ "name": "Birimaniya"
+ },
+ "BO": {
+ "name": "Boliviya"
+ },
+ "BA": {
+ "name": "Bosiniya na Herigozevine"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BG": {
+ "name": "Buligariya"
+ },
+ "BR": {
+ "name": "Burezili"
+ },
+ "BF": {
+ "name": "Burukina Faso"
+ },
+ "BN": {
+ "name": "Buruneyi"
+ },
+ "BT": {
+ "name": "Butani"
+ },
+ "TD": {
+ "name": "Cadi"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Danimariki"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "EC": {
+ "name": "Ekwateri"
+ },
+ "SV": {
+ "name": "Eli Saluvatori"
+ },
+ "ER": {
+ "name": "Elitereya"
+ },
+ "EE": {
+ "name": "Esitoniya"
+ },
+ "ET": {
+ "name": "Etiyopiya"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "FI": {
+ "name": "Finilandi"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gabo"
+ },
+ "GM": {
+ "name": "Gambiya"
+ },
+ "GH": {
+ "name": "Gana"
+ },
+ "GD": {
+ "name": "Gerenada"
+ },
+ "GW": {
+ "name": "Gineya Bisawu"
+ },
+ "GQ": {
+ "name": "Gineya Ekwatoriyali"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GN": {
+ "name": "Guneya"
+ },
+ "GL": {
+ "name": "Gurunilandi"
+ },
+ "GY": {
+ "name": "Guyane"
+ },
+ "GP": {
+ "name": "Gwadelupe"
+ },
+ "GU": {
+ "name": "Gwamu"
+ },
+ "GT": {
+ "name": "Gwatemala"
+ },
+ "GF": {
+ "name": "Gwayana y’Abafaransa"
+ },
+ "HT": {
+ "name": "Hayiti"
+ },
+ "ES": {
+ "name": "Hisipaniya"
+ },
+ "HN": {
+ "name": "Hondurasi"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hungariya"
+ },
+ "VG": {
+ "name": "Ibirwa by’isugi by’Abongereza"
+ },
+ "CV": {
+ "name": "Ibirwa bya Kapuveri"
+ },
+ "KY": {
+ "name": "Ibirwa bya Keyimani"
+ },
+ "UA": {
+ "name": "Ikerene"
+ },
+ "ID": {
+ "name": "Indoneziya"
+ },
+ "IO": {
+ "name": "Intara y’Ubwongereza yo mu birwa by’Abahindi"
+ },
+ "IQ": {
+ "name": "Iraki"
+ },
+ "IR": {
+ "name": "Irani"
+ },
+ "UY": {
+ "name": "Irigwe"
+ },
+ "IE": {
+ "name": "Irilandi"
+ },
+ "IL": {
+ "name": "Isiraheli"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "FK": {
+ "name": "Izinga rya Filikilandi"
+ },
+ "KM": {
+ "name": "Izinga rya Komore"
+ },
+ "CK": {
+ "name": "Izinga rya Kuku"
+ },
+ "MH": {
+ "name": "Izinga rya Marishari"
+ },
+ "MU": {
+ "name": "Izinga rya Morise"
+ },
+ "NF": {
+ "name": "izinga rya Norufoluke"
+ },
+ "CY": {
+ "name": "Izinga rya Shipure"
+ },
+ "JM": {
+ "name": "Jamayika"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "GE": {
+ "name": "Jeworujiya"
+ },
+ "DJ": {
+ "name": "Jibuti"
+ },
+ "GI": {
+ "name": "Juburalitari"
+ },
+ "KH": {
+ "name": "Kamboje"
+ },
+ "CM": {
+ "name": "Kameruni"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "QA": {
+ "name": "Katari"
+ },
+ "KZ": {
+ "name": "Kazakisitani"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "CU": {
+ "name": "Kiba"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "KG": {
+ "name": "Kirigisitani"
+ },
+ "CO": {
+ "name": "Kolombiya"
+ },
+ "CG": {
+ "name": "Kongo"
+ },
+ "KP": {
+ "name": "Koreya y’amajaruguru"
+ },
+ "KR": {
+ "name": "Koreya y’amajepfo"
+ },
+ "HR": {
+ "name": "Korowasiya"
+ },
+ "CR": {
+ "name": "Kositarika"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CI": {
+ "name": "Kotedivuware"
+ },
+ "KW": {
+ "name": "Koweti"
+ },
+ "LV": {
+ "name": "Lativa"
+ },
+ "LA": {
+ "name": "Layosi"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "AE": {
+ "name": "Leta Zunze Ubumwe z’Abarabu"
+ },
+ "US": {
+ "name": "Leta Zunze Ubumwe za Amerika"
+ },
+ "LB": {
+ "name": "Libani"
+ },
+ "LR": {
+ "name": "Liberiya"
+ },
+ "LY": {
+ "name": "Libiya"
+ },
+ "LI": {
+ "name": "Lishyitenshitayini"
+ },
+ "LT": {
+ "name": "Lituwaniya"
+ },
+ "LU": {
+ "name": "Lukusamburu"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MG": {
+ "name": "Madagasikari"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Maleziya"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malita"
+ },
+ "MQ": {
+ "name": "Maritiniki"
+ },
+ "MA": {
+ "name": "Maroke"
+ },
+ "MK": {
+ "name": "Masedoniya"
+ },
+ "YT": {
+ "name": "Mayote"
+ },
+ "MX": {
+ "name": "Migizike"
+ },
+ "FM": {
+ "name": "Mikoroniziya"
+ },
+ "EG": {
+ "name": "Misiri"
+ },
+ "MV": {
+ "name": "Moludave"
+ },
+ "MD": {
+ "name": "Moludavi"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MN": {
+ "name": "Mongoliya"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Monteserati"
+ },
+ "MR": {
+ "name": "Moritaniya"
+ },
+ "MZ": {
+ "name": "Mozambiki"
+ },
+ "NA": {
+ "name": "Namibiya"
+ },
+ "NR": {
+ "name": "Nawuru"
+ },
+ "NP": {
+ "name": "Nepali"
+ },
+ "NE": {
+ "name": "Nijeri"
+ },
+ "NG": {
+ "name": "Nijeriya"
+ },
+ "NI": {
+ "name": "Nikaragwa"
+ },
+ "NC": {
+ "name": "Niyukaledoniya"
+ },
+ "NU": {
+ "name": "Niyuwe"
+ },
+ "NO": {
+ "name": "Noruveji"
+ },
+ "NZ": {
+ "name": "Nuvelizelandi"
+ },
+ "OM": {
+ "name": "Omani"
+ },
+ "AU": {
+ "name": "Ositaraliya"
+ },
+ "AT": {
+ "name": "Otirishe"
+ },
+ "PK": {
+ "name": "Pakisitani"
+ },
+ "PW": {
+ "name": "Palawu"
+ },
+ "PS": {
+ "name": "Palesitina Wesitibanka na Gaza"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papuwa Niyugineya"
+ },
+ "PY": {
+ "name": "Paragwe"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitikeyirini"
+ },
+ "PF": {
+ "name": "Polineziya y’Abafaransa"
+ },
+ "PL": {
+ "name": "Polonye"
+ },
+ "PT": {
+ "name": "Porutugali"
+ },
+ "PR": {
+ "name": "Puwetoriko"
+ },
+ "CD": {
+ "name": "Repubulika Iharanira Demokarasi ya Kongo"
+ },
+ "CZ": {
+ "name": "Repubulika ya Ceke"
+ },
+ "DO": {
+ "name": "Repubulika ya Dominika"
+ },
+ "CF": {
+ "name": "Repubulika ya Santarafurika"
+ },
+ "RO": {
+ "name": "Rumaniya"
+ },
+ "WS": {
+ "name": "Samowa"
+ },
+ "AS": {
+ "name": "Samowa nyamerika"
+ },
+ "SM": {
+ "name": "Sanimarino"
+ },
+ "ST": {
+ "name": "Sawotome na Perensipe"
+ },
+ "SH": {
+ "name": "Sehelene"
+ },
+ "KN": {
+ "name": "Sekitsi na Nevisi"
+ },
+ "LC": {
+ "name": "Selusiya"
+ },
+ "PM": {
+ "name": "Sempiyeri na Mikeloni"
+ },
+ "SN": {
+ "name": "Senegali"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "VC": {
+ "name": "Sevensa na Gerenadine"
+ },
+ "CL": {
+ "name": "Shili"
+ },
+ "SK": {
+ "name": "Silovakiya"
+ },
+ "SI": {
+ "name": "Siloveniya"
+ },
+ "SG": {
+ "name": "Singapuru"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "LK": {
+ "name": "Sirilanka"
+ },
+ "SY": {
+ "name": "Siriya"
+ },
+ "SL": {
+ "name": "Siyeralewone"
+ },
+ "SO": {
+ "name": "Somaliya"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SD": {
+ "name": "Sudani"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SZ": {
+ "name": "Suwazilandi"
+ },
+ "SE": {
+ "name": "Suwedi"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "TJ": {
+ "name": "Tajikisitani"
+ },
+ "TZ": {
+ "name": "Tanzaniya"
+ },
+ "TH": {
+ "name": "Tayilandi"
+ },
+ "TW": {
+ "name": "Tayiwani"
+ },
+ "TL": {
+ "name": "Timoru y’iburasirazuba"
+ },
+ "TT": {
+ "name": "Tirinidadi na Tobago"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelawu"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tuniziya"
+ },
+ "TR": {
+ "name": "Turukiya"
+ },
+ "TM": {
+ "name": "Turukumenisitani"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "RW": {
+ "name": "u Rwanda"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "BE": {
+ "name": "Ububiligi"
+ },
+ "DE": {
+ "name": "Ubudage"
+ },
+ "FR": {
+ "name": "Ubufaransa"
+ },
+ "UG": {
+ "name": "Ubugande"
+ },
+ "GR": {
+ "name": "Ubugereki"
+ },
+ "IN": {
+ "name": "Ubuhindi"
+ },
+ "NL": {
+ "name": "Ubuholandi"
+ },
+ "BI": {
+ "name": "Uburundi"
+ },
+ "RU": {
+ "name": "Uburusiya"
+ },
+ "CN": {
+ "name": "Ubushinwa"
+ },
+ "CH": {
+ "name": "Ubusuwisi"
+ },
+ "IT": {
+ "name": "Ubutaliyani"
+ },
+ "JP": {
+ "name": "Ubuyapani"
+ },
+ "GB": {
+ "name": "Ubwongereza"
+ },
+ "VA": {
+ "name": "Umurwa wa Vatikani"
+ },
+ "UZ": {
+ "name": "Uzubekisitani"
+ },
+ "VU": {
+ "name": "Vanuwatu"
+ },
+ "VE": {
+ "name": "Venezuwela"
+ },
+ "VN": {
+ "name": "Viyetinamu"
+ },
+ "WF": {
+ "name": "Walisi na Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yemeni"
+ },
+ "JO": {
+ "name": "Yorudaniya"
+ },
+ "ZM": {
+ "name": "Zambiya"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/ro-MD.json b/vendor/commerceguys/intl/resources/country/ro-MD.json
new file mode 100644
index 000000000..87b5a9da5
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/ro-MD.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afganistan"
+ },
+ "ZA": {
+ "name": "Africa de Sud"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Algeria"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigua și Barbuda"
+ },
+ "SA": {
+ "name": "Arabia Saudită"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "AZ": {
+ "name": "Azerbaidjan"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahrain"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BY": {
+ "name": "Belarus"
+ },
+ "BE": {
+ "name": "Belgia"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia și Herțegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brazilia"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "KH": {
+ "name": "Cambodgia"
+ },
+ "CM": {
+ "name": "Camerun"
+ },
+ "CA": {
+ "name": "Canada"
+ },
+ "CV": {
+ "name": "Capul Verde"
+ },
+ "EA": {
+ "name": "Ceuta și Melilla"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "TD": {
+ "name": "Ciad"
+ },
+ "CY": {
+ "name": "Cipru"
+ },
+ "CO": {
+ "name": "Columbia"
+ },
+ "KM": {
+ "name": "Comore"
+ },
+ "CG": {
+ "name": "Congo - Brazzaville"
+ },
+ "CD": {
+ "name": "Congo - Kinshasa"
+ },
+ "KP": {
+ "name": "Coreea de Nord"
+ },
+ "KR": {
+ "name": "Coreea de Sud"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "CI": {
+ "name": "Côte d’Ivoire"
+ },
+ "HR": {
+ "name": "Croația"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Danemarca"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DJ": {
+ "name": "Djibouti"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egipt"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "CH": {
+ "name": "Elveția"
+ },
+ "AE": {
+ "name": "Emiratele Arabe Unite"
+ },
+ "ER": {
+ "name": "Eritreea"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Etiopia"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filipine"
+ },
+ "FI": {
+ "name": "Finlanda"
+ },
+ "FR": {
+ "name": "Franța"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "GS": {
+ "name": "Georgia de Sud și Insulele Sandwich de Sud"
+ },
+ "DE": {
+ "name": "Germania"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GR": {
+ "name": "Grecia"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GL": {
+ "name": "Groenlanda"
+ },
+ "GP": {
+ "name": "Guadelupa"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GN": {
+ "name": "Guineea"
+ },
+ "GQ": {
+ "name": "Guineea Ecuatorială"
+ },
+ "GW": {
+ "name": "Guineea-Bissau"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "GF": {
+ "name": "Guyana Franceză"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonezia"
+ },
+ "AC": {
+ "name": "Insula Ascension"
+ },
+ "CX": {
+ "name": "Insula Christmas"
+ },
+ "IM": {
+ "name": "Insula Man"
+ },
+ "NF": {
+ "name": "Insula Norfolk"
+ },
+ "AX": {
+ "name": "Insulele Åland"
+ },
+ "IC": {
+ "name": "Insulele Canare"
+ },
+ "BQ": {
+ "name": "Insulele Caraibe Olandeze"
+ },
+ "KY": {
+ "name": "Insulele Cayman"
+ },
+ "CC": {
+ "name": "Insulele Cocos (Keeling)"
+ },
+ "CK": {
+ "name": "Insulele Cook"
+ },
+ "FK": {
+ "name": "Insulele Falkland"
+ },
+ "FO": {
+ "name": "Insulele Feroe"
+ },
+ "UM": {
+ "name": "Insulele Îndepărtate ale S.U.A."
+ },
+ "MP": {
+ "name": "Insulele Mariane de Nord"
+ },
+ "MH": {
+ "name": "Insulele Marshall"
+ },
+ "PN": {
+ "name": "Insulele Pitcairn"
+ },
+ "SB": {
+ "name": "Insulele Solomon"
+ },
+ "TC": {
+ "name": "Insulele Turks și Caicos"
+ },
+ "VI": {
+ "name": "Insulele Virgine Americane"
+ },
+ "VG": {
+ "name": "Insulele Virgine Britanice"
+ },
+ "JO": {
+ "name": "Iordania"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IE": {
+ "name": "Irlanda"
+ },
+ "IS": {
+ "name": "Islanda"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japonia"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "KZ": {
+ "name": "Kazahstan"
+ },
+ "KG": {
+ "name": "Kârgâzstan"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuweit"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LV": {
+ "name": "Letonia"
+ },
+ "LB": {
+ "name": "Liban"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libia"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lituania"
+ },
+ "LU": {
+ "name": "Luxemburg"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malaysia"
+ },
+ "MV": {
+ "name": "Maldive"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Maroc"
+ },
+ "MQ": {
+ "name": "Martinica"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Mexic"
+ },
+ "FM": {
+ "name": "Micronezia"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mozambic"
+ },
+ "ME": {
+ "name": "Muntenegru"
+ },
+ "MM": {
+ "name": "Myanmar"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Norvegia"
+ },
+ "NC": {
+ "name": "Noua Caledonie"
+ },
+ "NZ": {
+ "name": "Noua Zeelandă"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua-Noua Guinee"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PF": {
+ "name": "Polinezia Franceză"
+ },
+ "PL": {
+ "name": "Polonia"
+ },
+ "PT": {
+ "name": "Portugalia"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "QA": {
+ "name": "Qatar"
+ },
+ "HK": {
+ "name": "R.A.S. Hong Kong a Chinei"
+ },
+ "MO": {
+ "name": "R.A.S. Macao a Chinei"
+ },
+ "GB": {
+ "name": "Regatul Unit"
+ },
+ "CZ": {
+ "name": "Republica Cehă"
+ },
+ "CF": {
+ "name": "Republica Centrafricană"
+ },
+ "DO": {
+ "name": "Republica Dominicană"
+ },
+ "MK": {
+ "name": "Republica Macedonia"
+ },
+ "MD": {
+ "name": "Republica Moldova"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RO": {
+ "name": "România"
+ },
+ "RU": {
+ "name": "Rusia"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "EH": {
+ "name": "Sahara Occidentală"
+ },
+ "KN": {
+ "name": "Saint Kitts și Nevis"
+ },
+ "VC": {
+ "name": "Saint Vincent și Grenadinele"
+ },
+ "PM": {
+ "name": "Saint-Pierre și Miquelon"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa Americană"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "Sao Tomé și Príncipe"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SH": {
+ "name": "Sfânta Elena"
+ },
+ "LC": {
+ "name": "Sfânta Lucia"
+ },
+ "BL": {
+ "name": "Sfântul Bartolomeu"
+ },
+ "MF": {
+ "name": "Sfântul Martin"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapore"
+ },
+ "SX": {
+ "name": "Sint-Maarten"
+ },
+ "SY": {
+ "name": "Siria"
+ },
+ "SK": {
+ "name": "Slovacia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "ES": {
+ "name": "Spania"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "US": {
+ "name": "Statele Unite ale Americii"
+ },
+ "VA": {
+ "name": "Statul Cetății Vaticanului"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "SS": {
+ "name": "Sudanul de Sud"
+ },
+ "SE": {
+ "name": "Suedia"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SJ": {
+ "name": "Svalbard și Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swaziland"
+ },
+ "TJ": {
+ "name": "Tadjikistan"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TF": {
+ "name": "Teritoriile Australe și Antarctice Franceze"
+ },
+ "PS": {
+ "name": "Teritoriile Palestiniene"
+ },
+ "IO": {
+ "name": "Teritoriul Britanic din Oceanul Indian"
+ },
+ "TH": {
+ "name": "Thailanda"
+ },
+ "TL": {
+ "name": "Timorul de Est"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad și Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TR": {
+ "name": "Turcia"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "NL": {
+ "name": "Țările de Jos"
+ },
+ "UA": {
+ "name": "Ucraina"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "HU": {
+ "name": "Ungaria"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbekistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis și Futuna"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/ro.json b/vendor/commerceguys/intl/resources/country/ro.json
new file mode 100644
index 000000000..db9f3fdf3
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/ro.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afganistan"
+ },
+ "ZA": {
+ "name": "Africa de Sud"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Algeria"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigua și Barbuda"
+ },
+ "SA": {
+ "name": "Arabia Saudită"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "AZ": {
+ "name": "Azerbaidjan"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahrain"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BY": {
+ "name": "Belarus"
+ },
+ "BE": {
+ "name": "Belgia"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia și Herțegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brazilia"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "KH": {
+ "name": "Cambodgia"
+ },
+ "CM": {
+ "name": "Camerun"
+ },
+ "CA": {
+ "name": "Canada"
+ },
+ "CV": {
+ "name": "Capul Verde"
+ },
+ "EA": {
+ "name": "Ceuta și Melilla"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "TD": {
+ "name": "Ciad"
+ },
+ "CY": {
+ "name": "Cipru"
+ },
+ "CO": {
+ "name": "Columbia"
+ },
+ "KM": {
+ "name": "Comore"
+ },
+ "CG": {
+ "name": "Congo - Brazzaville"
+ },
+ "CD": {
+ "name": "Congo - Kinshasa"
+ },
+ "KP": {
+ "name": "Coreea de Nord"
+ },
+ "KR": {
+ "name": "Coreea de Sud"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "CI": {
+ "name": "Côte d’Ivoire"
+ },
+ "HR": {
+ "name": "Croația"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Danemarca"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DJ": {
+ "name": "Djibouti"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egipt"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "CH": {
+ "name": "Elveția"
+ },
+ "AE": {
+ "name": "Emiratele Arabe Unite"
+ },
+ "ER": {
+ "name": "Eritreea"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Etiopia"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filipine"
+ },
+ "FI": {
+ "name": "Finlanda"
+ },
+ "FR": {
+ "name": "Franța"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "GS": {
+ "name": "Georgia de Sud și Insulele Sandwich de Sud"
+ },
+ "DE": {
+ "name": "Germania"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GR": {
+ "name": "Grecia"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GL": {
+ "name": "Groenlanda"
+ },
+ "GP": {
+ "name": "Guadelupa"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GN": {
+ "name": "Guineea"
+ },
+ "GQ": {
+ "name": "Guineea Ecuatorială"
+ },
+ "GW": {
+ "name": "Guineea-Bissau"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "GF": {
+ "name": "Guyana Franceză"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonezia"
+ },
+ "AC": {
+ "name": "Insula Ascension"
+ },
+ "CX": {
+ "name": "Insula Christmas"
+ },
+ "IM": {
+ "name": "Insula Man"
+ },
+ "NF": {
+ "name": "Insula Norfolk"
+ },
+ "AX": {
+ "name": "Insulele Åland"
+ },
+ "IC": {
+ "name": "Insulele Canare"
+ },
+ "BQ": {
+ "name": "Insulele Caraibe Olandeze"
+ },
+ "KY": {
+ "name": "Insulele Cayman"
+ },
+ "CC": {
+ "name": "Insulele Cocos (Keeling)"
+ },
+ "CK": {
+ "name": "Insulele Cook"
+ },
+ "FK": {
+ "name": "Insulele Falkland"
+ },
+ "FO": {
+ "name": "Insulele Feroe"
+ },
+ "UM": {
+ "name": "Insulele Îndepărtate ale S.U.A."
+ },
+ "MP": {
+ "name": "Insulele Mariane de Nord"
+ },
+ "MH": {
+ "name": "Insulele Marshall"
+ },
+ "PN": {
+ "name": "Insulele Pitcairn"
+ },
+ "SB": {
+ "name": "Insulele Solomon"
+ },
+ "TC": {
+ "name": "Insulele Turks și Caicos"
+ },
+ "VI": {
+ "name": "Insulele Virgine Americane"
+ },
+ "VG": {
+ "name": "Insulele Virgine Britanice"
+ },
+ "JO": {
+ "name": "Iordania"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IE": {
+ "name": "Irlanda"
+ },
+ "IS": {
+ "name": "Islanda"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japonia"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "KZ": {
+ "name": "Kazahstan"
+ },
+ "KG": {
+ "name": "Kârgâzstan"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuweit"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LV": {
+ "name": "Letonia"
+ },
+ "LB": {
+ "name": "Liban"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libia"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lituania"
+ },
+ "LU": {
+ "name": "Luxemburg"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malaysia"
+ },
+ "MV": {
+ "name": "Maldive"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Maroc"
+ },
+ "MQ": {
+ "name": "Martinica"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Mexic"
+ },
+ "FM": {
+ "name": "Micronezia"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mozambic"
+ },
+ "ME": {
+ "name": "Muntenegru"
+ },
+ "MM": {
+ "name": "Myanmar (Birmania)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Norvegia"
+ },
+ "NC": {
+ "name": "Noua Caledonie"
+ },
+ "NZ": {
+ "name": "Noua Zeelandă"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua-Noua Guinee"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PF": {
+ "name": "Polinezia Franceză"
+ },
+ "PL": {
+ "name": "Polonia"
+ },
+ "PT": {
+ "name": "Portugalia"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "QA": {
+ "name": "Qatar"
+ },
+ "HK": {
+ "name": "R.A.S. Hong Kong a Chinei"
+ },
+ "MO": {
+ "name": "R.A.S. Macao a Chinei"
+ },
+ "GB": {
+ "name": "Regatul Unit"
+ },
+ "CZ": {
+ "name": "Republica Cehă"
+ },
+ "CF": {
+ "name": "Republica Centrafricană"
+ },
+ "DO": {
+ "name": "Republica Dominicană"
+ },
+ "MK": {
+ "name": "Republica Macedonia"
+ },
+ "MD": {
+ "name": "Republica Moldova"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RO": {
+ "name": "România"
+ },
+ "RU": {
+ "name": "Rusia"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "EH": {
+ "name": "Sahara Occidentală"
+ },
+ "KN": {
+ "name": "Saint Kitts și Nevis"
+ },
+ "VC": {
+ "name": "Saint Vincent și Grenadinele"
+ },
+ "PM": {
+ "name": "Saint-Pierre și Miquelon"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa Americană"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "Sao Tomé și Príncipe"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SH": {
+ "name": "Sfânta Elena"
+ },
+ "LC": {
+ "name": "Sfânta Lucia"
+ },
+ "BL": {
+ "name": "Sfântul Bartolomeu"
+ },
+ "MF": {
+ "name": "Sfântul Martin"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapore"
+ },
+ "SX": {
+ "name": "Sint-Maarten"
+ },
+ "SY": {
+ "name": "Siria"
+ },
+ "SK": {
+ "name": "Slovacia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "ES": {
+ "name": "Spania"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "US": {
+ "name": "Statele Unite ale Americii"
+ },
+ "VA": {
+ "name": "Statul Cetății Vaticanului"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "SS": {
+ "name": "Sudanul de Sud"
+ },
+ "SE": {
+ "name": "Suedia"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SJ": {
+ "name": "Svalbard și Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swaziland"
+ },
+ "TJ": {
+ "name": "Tadjikistan"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TF": {
+ "name": "Teritoriile Australe și Antarctice Franceze"
+ },
+ "PS": {
+ "name": "Teritoriile Palestiniene"
+ },
+ "IO": {
+ "name": "Teritoriul Britanic din Oceanul Indian"
+ },
+ "TH": {
+ "name": "Thailanda"
+ },
+ "TL": {
+ "name": "Timorul de Est"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad și Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TR": {
+ "name": "Turcia"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "NL": {
+ "name": "Țările de Jos"
+ },
+ "UA": {
+ "name": "Ucraina"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "HU": {
+ "name": "Ungaria"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbekistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis și Futuna"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/rof.json b/vendor/commerceguys/intl/resources/country/rof.json
new file mode 100644
index 000000000..b07ff65c8
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/rof.json
@@ -0,0 +1,761 @@
+{
+ "ZA": {
+ "name": "Afrika Kusini"
+ },
+ "AF": {
+ "name": "Afuganistani"
+ },
+ "IS": {
+ "name": "Aislandi"
+ },
+ "AR": {
+ "name": "Ajentina"
+ },
+ "AX": {
+ "name": "Åland Islands"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Aljeria"
+ },
+ "AM": {
+ "name": "Amenia"
+ },
+ "AD": {
+ "name": "Andoro"
+ },
+ "AO": {
+ "name": "Angolo"
+ },
+ "AI": {
+ "name": "Anguila"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigua na Babuda"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "IE": {
+ "name": "Ayalandi"
+ },
+ "AZ": {
+ "name": "Azabajani"
+ },
+ "BB": {
+ "name": "Babado"
+ },
+ "BS": {
+ "name": "Bahamasi"
+ },
+ "BH": {
+ "name": "Bahareni"
+ },
+ "BD": {
+ "name": "Bangladeshi"
+ },
+ "BY": {
+ "name": "Belarusi"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benini"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia na Hezegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brazili"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BF": {
+ "name": "Bukinafaso"
+ },
+ "MG": {
+ "name": "Bukini"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Butani"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "TD": {
+ "name": "Chadi"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Denmaki"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "EC": {
+ "name": "Ekwado"
+ },
+ "SV": {
+ "name": "Elsavado"
+ },
+ "IO": {
+ "name": "Eneo la Uingereza katika Bahari Hindi"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "AE": {
+ "name": "Falme za Kiarabu"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filipino"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gaboni"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GN": {
+ "name": "Gine"
+ },
+ "GW": {
+ "name": "Ginebisau"
+ },
+ "GQ": {
+ "name": "Ginekweta"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GL": {
+ "name": "Grinlandi"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "GP": {
+ "name": "Gwadelupe"
+ },
+ "GU": {
+ "name": "Gwam"
+ },
+ "GT": {
+ "name": "Gwatemala"
+ },
+ "GF": {
+ "name": "Gwiyana ya Ufaransa"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "ES": {
+ "name": "Hispania"
+ },
+ "HN": {
+ "name": "Hondurasi"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hungaria"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IQ": {
+ "name": "Iraki"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israeli"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JM": {
+ "name": "Jamaika"
+ },
+ "CF": {
+ "name": "Jamhuri ya Afrika ya Kati"
+ },
+ "CZ": {
+ "name": "Jamhuri ya Cheki"
+ },
+ "DO": {
+ "name": "Jamhuri ya Dominika"
+ },
+ "CD": {
+ "name": "Jamhuri ya Kidemokrasia ya Kongo"
+ },
+ "JP": {
+ "name": "Japani"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "GI": {
+ "name": "Jibralta"
+ },
+ "DJ": {
+ "name": "Jibuti"
+ },
+ "GE": {
+ "name": "Jojia"
+ },
+ "KH": {
+ "name": "Kambodia"
+ },
+ "CM": {
+ "name": "Kameruni"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "QA": {
+ "name": "Katari"
+ },
+ "KZ": {
+ "name": "Kazakistani"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "CV": {
+ "name": "Kepuvede"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "KG": {
+ "name": "Kirigizistani"
+ },
+ "NF": {
+ "name": "Kisiwa cha Norfok"
+ },
+ "CI": {
+ "name": "Kodivaa"
+ },
+ "CO": {
+ "name": "Kolombia"
+ },
+ "KM": {
+ "name": "Komoro"
+ },
+ "CG": {
+ "name": "Kongo"
+ },
+ "HR": {
+ "name": "Korasia"
+ },
+ "KP": {
+ "name": "Korea Kaskazini"
+ },
+ "KR": {
+ "name": "Korea Kusini"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "Kostarika"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "CY": {
+ "name": "Kuprosi"
+ },
+ "KW": {
+ "name": "Kuwaiti"
+ },
+ "LA": {
+ "name": "Laosi"
+ },
+ "LU": {
+ "name": "Lasembagi"
+ },
+ "LV": {
+ "name": "Lativia"
+ },
+ "LB": {
+ "name": "Lebanoni"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Lishenteni"
+ },
+ "LT": {
+ "name": "Litwania"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malesia"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "US": {
+ "name": "Marekani"
+ },
+ "MQ": {
+ "name": "Martiniki"
+ },
+ "MK": {
+ "name": "Masedonia"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Meksiko"
+ },
+ "FM": {
+ "name": "Mikronesia"
+ },
+ "EG": {
+ "name": "Misri"
+ },
+ "MV": {
+ "name": "Modivu"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrati"
+ },
+ "MU": {
+ "name": "Morisi"
+ },
+ "MR": {
+ "name": "Moritania"
+ },
+ "MA": {
+ "name": "Moroko"
+ },
+ "MZ": {
+ "name": "Msumbiji"
+ },
+ "MM": {
+ "name": "Myama"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepali"
+ },
+ "NE": {
+ "name": "Nijeri"
+ },
+ "NG": {
+ "name": "Nijeria"
+ },
+ "NI": {
+ "name": "Nikaragwa"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Norwe"
+ },
+ "NC": {
+ "name": "Nyukaledonia"
+ },
+ "NZ": {
+ "name": "Nyuzilandi"
+ },
+ "OM": {
+ "name": "Omani"
+ },
+ "AT": {
+ "name": "Ostria"
+ },
+ "PK": {
+ "name": "Pakistani"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua"
+ },
+ "PY": {
+ "name": "Paragwai"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitkairni"
+ },
+ "PL": {
+ "name": "Polandi"
+ },
+ "PF": {
+ "name": "Polinesia ya Ufaransa"
+ },
+ "PR": {
+ "name": "Pwetoriko"
+ },
+ "RE": {
+ "name": "Riyunioni"
+ },
+ "RO": {
+ "name": "Romania"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "SM": {
+ "name": "Samarino"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa ya Marekani"
+ },
+ "SH": {
+ "name": "Santahelena"
+ },
+ "KN": {
+ "name": "Santakitzi na Nevis"
+ },
+ "LC": {
+ "name": "Santalusia"
+ },
+ "PM": {
+ "name": "Santapieri na Mikeloni"
+ },
+ "VC": {
+ "name": "Santavisenti na Grenadini"
+ },
+ "ST": {
+ "name": "Sao Tome na Principe"
+ },
+ "SA": {
+ "name": "Saudi"
+ },
+ "SN": {
+ "name": "Senegali"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Shelisheli"
+ },
+ "SL": {
+ "name": "Siera Leoni"
+ },
+ "SG": {
+ "name": "Singapoo"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Siria"
+ },
+ "LK": {
+ "name": "Sirilanka"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SD": {
+ "name": "Sudani"
+ },
+ "SR": {
+ "name": "Surinamu"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailandi"
+ },
+ "TW": {
+ "name": "Taiwani"
+ },
+ "TJ": {
+ "name": "Tajikistani"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TL": {
+ "name": "Timori ya Mashariki"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad na Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TM": {
+ "name": "Turukimenistani"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "IR": {
+ "name": "Uajemi"
+ },
+ "BE": {
+ "name": "Ubelgiji"
+ },
+ "FR": {
+ "name": "Ufaransa"
+ },
+ "FI": {
+ "name": "Ufini"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "GR": {
+ "name": "Ugiriki"
+ },
+ "ET": {
+ "name": "Uhabeshi"
+ },
+ "NL": {
+ "name": "Uholanzi"
+ },
+ "GB": {
+ "name": "Uingereza"
+ },
+ "DE": {
+ "name": "Ujerumani"
+ },
+ "PS": {
+ "name": "Ukingo wa Magharibi na Ukanda wa Gaza wa Palestina"
+ },
+ "UA": {
+ "name": "Ukraini"
+ },
+ "PT": {
+ "name": "Ureno"
+ },
+ "UY": {
+ "name": "Urugwai"
+ },
+ "RU": {
+ "name": "Urusi"
+ },
+ "SZ": {
+ "name": "Uswazi"
+ },
+ "SE": {
+ "name": "Uswidi"
+ },
+ "CH": {
+ "name": "Uswisi"
+ },
+ "TR": {
+ "name": "Uturuki"
+ },
+ "UZ": {
+ "name": "Uzibekistani"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikani"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietinamu"
+ },
+ "CK": {
+ "name": "Visiwa vya Cook"
+ },
+ "FK": {
+ "name": "Visiwa vya Falkland"
+ },
+ "KY": {
+ "name": "Visiwa vya Kaimai"
+ },
+ "MP": {
+ "name": "Visiwa vya Mariana vya Kaskazini"
+ },
+ "MH": {
+ "name": "Visiwa vya Marshal"
+ },
+ "SB": {
+ "name": "Visiwa vya Solomon"
+ },
+ "TC": {
+ "name": "Visiwa vya Turki na Kaiko"
+ },
+ "VI": {
+ "name": "Visiwa vya Virgin vya Marekani"
+ },
+ "VG": {
+ "name": "Visiwa vya Virgin vya Uingereza"
+ },
+ "WF": {
+ "name": "Walis na Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yemeni"
+ },
+ "JO": {
+ "name": "Yordani"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/ru-UA.json b/vendor/commerceguys/intl/resources/country/ru-UA.json
new file mode 100644
index 000000000..955727433
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/ru-UA.json
@@ -0,0 +1,761 @@
+{
+ "AU": {
+ "name": "Австралия"
+ },
+ "AT": {
+ "name": "Австрия"
+ },
+ "AZ": {
+ "name": "Азербайджан"
+ },
+ "AX": {
+ "name": "Аландские о-ва"
+ },
+ "AL": {
+ "name": "Албания"
+ },
+ "DZ": {
+ "name": "Алжир"
+ },
+ "AS": {
+ "name": "Американское Самоа"
+ },
+ "AI": {
+ "name": "Ангилья"
+ },
+ "AO": {
+ "name": "Ангола"
+ },
+ "AD": {
+ "name": "Андорра"
+ },
+ "AQ": {
+ "name": "Антарктида"
+ },
+ "AG": {
+ "name": "Антигуа и Барбуда"
+ },
+ "AR": {
+ "name": "Аргентина"
+ },
+ "AM": {
+ "name": "Армения"
+ },
+ "AW": {
+ "name": "Аруба"
+ },
+ "AF": {
+ "name": "Афганистан"
+ },
+ "BS": {
+ "name": "Багамы"
+ },
+ "BD": {
+ "name": "Бангладеш"
+ },
+ "BB": {
+ "name": "Барбадос"
+ },
+ "BH": {
+ "name": "Бахрейн"
+ },
+ "BY": {
+ "name": "Беларусь"
+ },
+ "BZ": {
+ "name": "Белиз"
+ },
+ "BE": {
+ "name": "Бельгия"
+ },
+ "BJ": {
+ "name": "Бенин"
+ },
+ "BM": {
+ "name": "Бермуды"
+ },
+ "BG": {
+ "name": "Болгария"
+ },
+ "BO": {
+ "name": "Боливия"
+ },
+ "BQ": {
+ "name": "Бонэйр, Синт-Эстатиус и Саба"
+ },
+ "BA": {
+ "name": "Босния и Герцеговина"
+ },
+ "BW": {
+ "name": "Ботсвана"
+ },
+ "BR": {
+ "name": "Бразилия"
+ },
+ "IO": {
+ "name": "Британская территория в Индийском океане"
+ },
+ "BN": {
+ "name": "Бруней-Даруссалам"
+ },
+ "BF": {
+ "name": "Буркина-Фасо"
+ },
+ "BI": {
+ "name": "Бурунди"
+ },
+ "BT": {
+ "name": "Бутан"
+ },
+ "VU": {
+ "name": "Вануату"
+ },
+ "VA": {
+ "name": "Ватикан"
+ },
+ "GB": {
+ "name": "Великобритания"
+ },
+ "HU": {
+ "name": "Венгрия"
+ },
+ "VE": {
+ "name": "Венесуэла"
+ },
+ "VG": {
+ "name": "Виргинские о-ва (Британские)"
+ },
+ "VI": {
+ "name": "Виргинские о-ва (США)"
+ },
+ "VN": {
+ "name": "Вьетнам"
+ },
+ "GA": {
+ "name": "Габон"
+ },
+ "HT": {
+ "name": "Гаити"
+ },
+ "GY": {
+ "name": "Гайана"
+ },
+ "GM": {
+ "name": "Гамбия"
+ },
+ "GH": {
+ "name": "Гана"
+ },
+ "GP": {
+ "name": "Гваделупа"
+ },
+ "GT": {
+ "name": "Гватемала"
+ },
+ "GN": {
+ "name": "Гвинея"
+ },
+ "GW": {
+ "name": "Гвинея-Бисау"
+ },
+ "DE": {
+ "name": "Германия"
+ },
+ "GG": {
+ "name": "Гернси"
+ },
+ "GI": {
+ "name": "Гибралтар"
+ },
+ "HN": {
+ "name": "Гондурас"
+ },
+ "HK": {
+ "name": "Гонконг (специальный административный район)"
+ },
+ "GD": {
+ "name": "Гренада"
+ },
+ "GL": {
+ "name": "Гренландия"
+ },
+ "GR": {
+ "name": "Греция"
+ },
+ "GE": {
+ "name": "Грузия"
+ },
+ "GU": {
+ "name": "Гуам"
+ },
+ "DK": {
+ "name": "Дания"
+ },
+ "JE": {
+ "name": "Джерси"
+ },
+ "DJ": {
+ "name": "Джибути"
+ },
+ "DG": {
+ "name": "Диего-Гарсия"
+ },
+ "DM": {
+ "name": "Доминика"
+ },
+ "DO": {
+ "name": "Доминиканская Республика"
+ },
+ "EG": {
+ "name": "Египет"
+ },
+ "ZM": {
+ "name": "Замбия"
+ },
+ "EH": {
+ "name": "Западная Сахара"
+ },
+ "ZW": {
+ "name": "Зимбабве"
+ },
+ "IL": {
+ "name": "Израиль"
+ },
+ "IN": {
+ "name": "Индия"
+ },
+ "ID": {
+ "name": "Индонезия"
+ },
+ "JO": {
+ "name": "Иордания"
+ },
+ "IQ": {
+ "name": "Ирак"
+ },
+ "IR": {
+ "name": "Иран"
+ },
+ "IE": {
+ "name": "Ирландия"
+ },
+ "IS": {
+ "name": "Исландия"
+ },
+ "ES": {
+ "name": "Испания"
+ },
+ "IT": {
+ "name": "Италия"
+ },
+ "YE": {
+ "name": "Йемен"
+ },
+ "CV": {
+ "name": "Кабо-Верде"
+ },
+ "KZ": {
+ "name": "Казахстан"
+ },
+ "KY": {
+ "name": "Каймановы о-ва"
+ },
+ "KH": {
+ "name": "Камбоджа"
+ },
+ "CM": {
+ "name": "Камерун"
+ },
+ "CA": {
+ "name": "Канада"
+ },
+ "IC": {
+ "name": "Канарские о-ва"
+ },
+ "QA": {
+ "name": "Катар"
+ },
+ "KE": {
+ "name": "Кения"
+ },
+ "CY": {
+ "name": "Кипр"
+ },
+ "KG": {
+ "name": "Киргизия"
+ },
+ "KI": {
+ "name": "Кирибати"
+ },
+ "CN": {
+ "name": "Китай"
+ },
+ "KP": {
+ "name": "КНДР"
+ },
+ "CC": {
+ "name": "Кокосовые о-ва"
+ },
+ "CO": {
+ "name": "Колумбия"
+ },
+ "KM": {
+ "name": "Коморы"
+ },
+ "CG": {
+ "name": "Конго - Браззавиль"
+ },
+ "CD": {
+ "name": "Конго - Киншаса"
+ },
+ "XK": {
+ "name": "Косово"
+ },
+ "CR": {
+ "name": "Коста-Рика"
+ },
+ "CI": {
+ "name": "Кот-д’Ивуар"
+ },
+ "CU": {
+ "name": "Куба"
+ },
+ "KW": {
+ "name": "Кувейт"
+ },
+ "CW": {
+ "name": "Кюрасао"
+ },
+ "LA": {
+ "name": "Лаос"
+ },
+ "LV": {
+ "name": "Латвия"
+ },
+ "LS": {
+ "name": "Лесото"
+ },
+ "LR": {
+ "name": "Либерия"
+ },
+ "LB": {
+ "name": "Ливан"
+ },
+ "LY": {
+ "name": "Ливия"
+ },
+ "LT": {
+ "name": "Литва"
+ },
+ "LI": {
+ "name": "Лихтенштейн"
+ },
+ "LU": {
+ "name": "Люксембург"
+ },
+ "MU": {
+ "name": "Маврикий"
+ },
+ "MR": {
+ "name": "Мавритания"
+ },
+ "MG": {
+ "name": "Мадагаскар"
+ },
+ "YT": {
+ "name": "Майотта"
+ },
+ "MO": {
+ "name": "Макао (специальный административный район)"
+ },
+ "MK": {
+ "name": "Македония"
+ },
+ "MW": {
+ "name": "Малави"
+ },
+ "MY": {
+ "name": "Малайзия"
+ },
+ "ML": {
+ "name": "Мали"
+ },
+ "UM": {
+ "name": "Малые Тихоокеанские Отдаленные Острова США"
+ },
+ "MV": {
+ "name": "Мальдивы"
+ },
+ "MT": {
+ "name": "Мальта"
+ },
+ "MA": {
+ "name": "Марокко"
+ },
+ "MQ": {
+ "name": "Мартиника"
+ },
+ "MH": {
+ "name": "Маршалловы Острова"
+ },
+ "MX": {
+ "name": "Мексика"
+ },
+ "MZ": {
+ "name": "Мозамбик"
+ },
+ "MD": {
+ "name": "Молдова"
+ },
+ "MC": {
+ "name": "Монако"
+ },
+ "MN": {
+ "name": "Монголия"
+ },
+ "MS": {
+ "name": "Монтсеррат"
+ },
+ "MM": {
+ "name": "Мьянма (Бирма)"
+ },
+ "NA": {
+ "name": "Намибия"
+ },
+ "NR": {
+ "name": "Науру"
+ },
+ "NP": {
+ "name": "Непал"
+ },
+ "NE": {
+ "name": "Нигер"
+ },
+ "NG": {
+ "name": "Нигерия"
+ },
+ "NL": {
+ "name": "Нидерланды"
+ },
+ "NI": {
+ "name": "Никарагуа"
+ },
+ "NU": {
+ "name": "Ниуэ"
+ },
+ "NZ": {
+ "name": "Новая Зеландия"
+ },
+ "NC": {
+ "name": "Новая Каледония"
+ },
+ "NO": {
+ "name": "Норвегия"
+ },
+ "AC": {
+ "name": "О-в Вознесения"
+ },
+ "IM": {
+ "name": "о-в Мэн"
+ },
+ "NF": {
+ "name": "О-в Норфолк"
+ },
+ "CX": {
+ "name": "О-в Рождества"
+ },
+ "SH": {
+ "name": "о-в Св. Елены"
+ },
+ "CK": {
+ "name": "О-ва Кука"
+ },
+ "TC": {
+ "name": "о-ва Тёркс и Кайкос"
+ },
+ "AE": {
+ "name": "Объединенные Арабские Эмираты"
+ },
+ "OM": {
+ "name": "Оман"
+ },
+ "PN": {
+ "name": "острова Питкэрн"
+ },
+ "PK": {
+ "name": "Пакистан"
+ },
+ "PW": {
+ "name": "Палау"
+ },
+ "PS": {
+ "name": "Палестинские территории"
+ },
+ "PA": {
+ "name": "Панама"
+ },
+ "PG": {
+ "name": "Папуа – Новая Гвинея"
+ },
+ "PY": {
+ "name": "Парагвай"
+ },
+ "PE": {
+ "name": "Перу"
+ },
+ "PL": {
+ "name": "Польша"
+ },
+ "PT": {
+ "name": "Португалия"
+ },
+ "PR": {
+ "name": "Пуэрто-Рико"
+ },
+ "KR": {
+ "name": "Республика Корея"
+ },
+ "RE": {
+ "name": "Реюньон"
+ },
+ "RU": {
+ "name": "Россия"
+ },
+ "RW": {
+ "name": "Руанда"
+ },
+ "RO": {
+ "name": "Румыния"
+ },
+ "SV": {
+ "name": "Сальвадор"
+ },
+ "WS": {
+ "name": "Самоа"
+ },
+ "SM": {
+ "name": "Сан-Марино"
+ },
+ "ST": {
+ "name": "Сан-Томе и Принсипи"
+ },
+ "SA": {
+ "name": "Саудовская Аравия"
+ },
+ "SZ": {
+ "name": "Свазиленд"
+ },
+ "MP": {
+ "name": "Северные Марианские о-ва"
+ },
+ "SC": {
+ "name": "Сейшельские Острова"
+ },
+ "BL": {
+ "name": "Сен-Бартелеми"
+ },
+ "MF": {
+ "name": "Сен-Мартен"
+ },
+ "PM": {
+ "name": "Сен-Пьер и Микелон"
+ },
+ "SN": {
+ "name": "Сенегал"
+ },
+ "VC": {
+ "name": "Сент-Винсент и Гренадины"
+ },
+ "KN": {
+ "name": "Сент-Китс и Невис"
+ },
+ "LC": {
+ "name": "Сент-Люсия"
+ },
+ "RS": {
+ "name": "Сербия"
+ },
+ "EA": {
+ "name": "Сеута и Мелилья"
+ },
+ "SG": {
+ "name": "Сингапур"
+ },
+ "SX": {
+ "name": "Синт-Мартен"
+ },
+ "SY": {
+ "name": "Сирия"
+ },
+ "SK": {
+ "name": "Словакия"
+ },
+ "SI": {
+ "name": "Словения"
+ },
+ "US": {
+ "name": "Соединенные Штаты"
+ },
+ "SB": {
+ "name": "Соломоновы Острова"
+ },
+ "SO": {
+ "name": "Сомали"
+ },
+ "SD": {
+ "name": "Судан"
+ },
+ "SR": {
+ "name": "Суринам"
+ },
+ "SL": {
+ "name": "Сьерра-Леоне"
+ },
+ "TJ": {
+ "name": "Таджикистан"
+ },
+ "TH": {
+ "name": "Таиланд"
+ },
+ "TW": {
+ "name": "Тайвань"
+ },
+ "TZ": {
+ "name": "Танзания"
+ },
+ "TL": {
+ "name": "Тимор-Лесте"
+ },
+ "TG": {
+ "name": "Того"
+ },
+ "TK": {
+ "name": "Токелау"
+ },
+ "TO": {
+ "name": "Тонга"
+ },
+ "TT": {
+ "name": "Тринидад и Тобаго"
+ },
+ "TA": {
+ "name": "Тристан-да-Кунья"
+ },
+ "TV": {
+ "name": "Тувалу"
+ },
+ "TN": {
+ "name": "Тунис"
+ },
+ "TM": {
+ "name": "Туркменистан"
+ },
+ "TR": {
+ "name": "Турция"
+ },
+ "UG": {
+ "name": "Уганда"
+ },
+ "UZ": {
+ "name": "Узбекистан"
+ },
+ "UA": {
+ "name": "Украина"
+ },
+ "WF": {
+ "name": "Уоллис и Футуна"
+ },
+ "UY": {
+ "name": "Уругвай"
+ },
+ "FO": {
+ "name": "Фарерские о-ва"
+ },
+ "FM": {
+ "name": "Федеративные Штаты Микронезии"
+ },
+ "FJ": {
+ "name": "Фиджи"
+ },
+ "PH": {
+ "name": "Филиппины"
+ },
+ "FI": {
+ "name": "Финляндия"
+ },
+ "FK": {
+ "name": "Фолклендские о-ва"
+ },
+ "FR": {
+ "name": "Франция"
+ },
+ "GF": {
+ "name": "Французская Гвиана"
+ },
+ "PF": {
+ "name": "Французская Полинезия"
+ },
+ "TF": {
+ "name": "Французские Южные территории"
+ },
+ "HR": {
+ "name": "Хорватия"
+ },
+ "CF": {
+ "name": "Центрально-Африканская Республика"
+ },
+ "TD": {
+ "name": "Чад"
+ },
+ "ME": {
+ "name": "Черногория"
+ },
+ "CZ": {
+ "name": "Чехия"
+ },
+ "CL": {
+ "name": "Чили"
+ },
+ "CH": {
+ "name": "Швейцария"
+ },
+ "SE": {
+ "name": "Швеция"
+ },
+ "SJ": {
+ "name": "Шпицберген и Ян-Майен"
+ },
+ "LK": {
+ "name": "Шри-Ланка"
+ },
+ "EC": {
+ "name": "Эквадор"
+ },
+ "GQ": {
+ "name": "Экваториальная Гвинея"
+ },
+ "ER": {
+ "name": "Эритрея"
+ },
+ "EE": {
+ "name": "Эстония"
+ },
+ "ET": {
+ "name": "Эфиопия"
+ },
+ "ZA": {
+ "name": "ЮАР"
+ },
+ "GS": {
+ "name": "Южная Георгия и Южные Сандвичевы о-ва"
+ },
+ "SS": {
+ "name": "Южный Судан"
+ },
+ "JM": {
+ "name": "Ямайка"
+ },
+ "JP": {
+ "name": "Япония"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/ru.json b/vendor/commerceguys/intl/resources/country/ru.json
new file mode 100644
index 000000000..02bf78db7
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/ru.json
@@ -0,0 +1,761 @@
+{
+ "AU": {
+ "name": "Австралия"
+ },
+ "AT": {
+ "name": "Австрия"
+ },
+ "AZ": {
+ "name": "Азербайджан"
+ },
+ "AX": {
+ "name": "Аландские о-ва"
+ },
+ "AL": {
+ "name": "Албания"
+ },
+ "DZ": {
+ "name": "Алжир"
+ },
+ "AS": {
+ "name": "Американское Самоа"
+ },
+ "AI": {
+ "name": "Ангилья"
+ },
+ "AO": {
+ "name": "Ангола"
+ },
+ "AD": {
+ "name": "Андорра"
+ },
+ "AQ": {
+ "name": "Антарктида"
+ },
+ "AG": {
+ "name": "Антигуа и Барбуда"
+ },
+ "AR": {
+ "name": "Аргентина"
+ },
+ "AM": {
+ "name": "Армения"
+ },
+ "AW": {
+ "name": "Аруба"
+ },
+ "AF": {
+ "name": "Афганистан"
+ },
+ "BS": {
+ "name": "Багамы"
+ },
+ "BD": {
+ "name": "Бангладеш"
+ },
+ "BB": {
+ "name": "Барбадос"
+ },
+ "BH": {
+ "name": "Бахрейн"
+ },
+ "BY": {
+ "name": "Беларусь"
+ },
+ "BZ": {
+ "name": "Белиз"
+ },
+ "BE": {
+ "name": "Бельгия"
+ },
+ "BJ": {
+ "name": "Бенин"
+ },
+ "BM": {
+ "name": "Бермуды"
+ },
+ "BG": {
+ "name": "Болгария"
+ },
+ "BO": {
+ "name": "Боливия"
+ },
+ "BQ": {
+ "name": "Бонэйр, Синт-Эстатиус и Саба"
+ },
+ "BA": {
+ "name": "Босния и Герцеговина"
+ },
+ "BW": {
+ "name": "Ботсвана"
+ },
+ "BR": {
+ "name": "Бразилия"
+ },
+ "IO": {
+ "name": "Британская территория в Индийском океане"
+ },
+ "BN": {
+ "name": "Бруней-Даруссалам"
+ },
+ "BF": {
+ "name": "Буркина-Фасо"
+ },
+ "BI": {
+ "name": "Бурунди"
+ },
+ "BT": {
+ "name": "Бутан"
+ },
+ "VU": {
+ "name": "Вануату"
+ },
+ "VA": {
+ "name": "Ватикан"
+ },
+ "GB": {
+ "name": "Великобритания"
+ },
+ "HU": {
+ "name": "Венгрия"
+ },
+ "VE": {
+ "name": "Венесуэла"
+ },
+ "VG": {
+ "name": "Виргинские о-ва (Британские)"
+ },
+ "VI": {
+ "name": "Виргинские о-ва (США)"
+ },
+ "UM": {
+ "name": "Внешние малые о-ва (США)"
+ },
+ "TL": {
+ "name": "Восточный Тимор"
+ },
+ "VN": {
+ "name": "Вьетнам"
+ },
+ "GA": {
+ "name": "Габон"
+ },
+ "HT": {
+ "name": "Гаити"
+ },
+ "GY": {
+ "name": "Гайана"
+ },
+ "GM": {
+ "name": "Гамбия"
+ },
+ "GH": {
+ "name": "Гана"
+ },
+ "GP": {
+ "name": "Гваделупа"
+ },
+ "GT": {
+ "name": "Гватемала"
+ },
+ "GN": {
+ "name": "Гвинея"
+ },
+ "GW": {
+ "name": "Гвинея-Бисау"
+ },
+ "DE": {
+ "name": "Германия"
+ },
+ "GG": {
+ "name": "Гернси"
+ },
+ "GI": {
+ "name": "Гибралтар"
+ },
+ "HN": {
+ "name": "Гондурас"
+ },
+ "HK": {
+ "name": "Гонконг (специальный административный район)"
+ },
+ "GD": {
+ "name": "Гренада"
+ },
+ "GL": {
+ "name": "Гренландия"
+ },
+ "GR": {
+ "name": "Греция"
+ },
+ "GE": {
+ "name": "Грузия"
+ },
+ "GU": {
+ "name": "Гуам"
+ },
+ "DK": {
+ "name": "Дания"
+ },
+ "JE": {
+ "name": "Джерси"
+ },
+ "DJ": {
+ "name": "Джибути"
+ },
+ "DG": {
+ "name": "Диего-Гарсия"
+ },
+ "DM": {
+ "name": "Доминика"
+ },
+ "DO": {
+ "name": "Доминиканская Республика"
+ },
+ "EG": {
+ "name": "Египет"
+ },
+ "ZM": {
+ "name": "Замбия"
+ },
+ "EH": {
+ "name": "Западная Сахара"
+ },
+ "ZW": {
+ "name": "Зимбабве"
+ },
+ "IL": {
+ "name": "Израиль"
+ },
+ "IN": {
+ "name": "Индия"
+ },
+ "ID": {
+ "name": "Индонезия"
+ },
+ "JO": {
+ "name": "Иордания"
+ },
+ "IQ": {
+ "name": "Ирак"
+ },
+ "IR": {
+ "name": "Иран"
+ },
+ "IE": {
+ "name": "Ирландия"
+ },
+ "IS": {
+ "name": "Исландия"
+ },
+ "ES": {
+ "name": "Испания"
+ },
+ "IT": {
+ "name": "Италия"
+ },
+ "YE": {
+ "name": "Йемен"
+ },
+ "CV": {
+ "name": "Кабо-Верде"
+ },
+ "KZ": {
+ "name": "Казахстан"
+ },
+ "KY": {
+ "name": "Каймановы о-ва"
+ },
+ "KH": {
+ "name": "Камбоджа"
+ },
+ "CM": {
+ "name": "Камерун"
+ },
+ "CA": {
+ "name": "Канада"
+ },
+ "IC": {
+ "name": "Канарские о-ва"
+ },
+ "QA": {
+ "name": "Катар"
+ },
+ "KE": {
+ "name": "Кения"
+ },
+ "CY": {
+ "name": "Кипр"
+ },
+ "KG": {
+ "name": "Киргизия"
+ },
+ "KI": {
+ "name": "Кирибати"
+ },
+ "CN": {
+ "name": "Китай"
+ },
+ "KP": {
+ "name": "КНДР"
+ },
+ "CC": {
+ "name": "Кокосовые о-ва"
+ },
+ "CO": {
+ "name": "Колумбия"
+ },
+ "KM": {
+ "name": "Коморы"
+ },
+ "CG": {
+ "name": "Конго - Браззавиль"
+ },
+ "CD": {
+ "name": "Конго - Киншаса"
+ },
+ "XK": {
+ "name": "Косово"
+ },
+ "CR": {
+ "name": "Коста-Рика"
+ },
+ "CI": {
+ "name": "Кот-д’Ивуар"
+ },
+ "CU": {
+ "name": "Куба"
+ },
+ "KW": {
+ "name": "Кувейт"
+ },
+ "CW": {
+ "name": "Кюрасао"
+ },
+ "LA": {
+ "name": "Лаос"
+ },
+ "LV": {
+ "name": "Латвия"
+ },
+ "LS": {
+ "name": "Лесото"
+ },
+ "LR": {
+ "name": "Либерия"
+ },
+ "LB": {
+ "name": "Ливан"
+ },
+ "LY": {
+ "name": "Ливия"
+ },
+ "LT": {
+ "name": "Литва"
+ },
+ "LI": {
+ "name": "Лихтенштейн"
+ },
+ "LU": {
+ "name": "Люксембург"
+ },
+ "MU": {
+ "name": "Маврикий"
+ },
+ "MR": {
+ "name": "Мавритания"
+ },
+ "MG": {
+ "name": "Мадагаскар"
+ },
+ "YT": {
+ "name": "Майотта"
+ },
+ "MO": {
+ "name": "Макао (специальный административный район)"
+ },
+ "MK": {
+ "name": "Македония"
+ },
+ "MW": {
+ "name": "Малави"
+ },
+ "MY": {
+ "name": "Малайзия"
+ },
+ "ML": {
+ "name": "Мали"
+ },
+ "MV": {
+ "name": "Мальдивы"
+ },
+ "MT": {
+ "name": "Мальта"
+ },
+ "MA": {
+ "name": "Марокко"
+ },
+ "MQ": {
+ "name": "Мартиника"
+ },
+ "MH": {
+ "name": "Маршалловы Острова"
+ },
+ "MX": {
+ "name": "Мексика"
+ },
+ "MZ": {
+ "name": "Мозамбик"
+ },
+ "MD": {
+ "name": "Молдова"
+ },
+ "MC": {
+ "name": "Монако"
+ },
+ "MN": {
+ "name": "Монголия"
+ },
+ "MS": {
+ "name": "Монтсеррат"
+ },
+ "MM": {
+ "name": "Мьянма (Бирма)"
+ },
+ "NA": {
+ "name": "Намибия"
+ },
+ "NR": {
+ "name": "Науру"
+ },
+ "NP": {
+ "name": "Непал"
+ },
+ "NE": {
+ "name": "Нигер"
+ },
+ "NG": {
+ "name": "Нигерия"
+ },
+ "NL": {
+ "name": "Нидерланды"
+ },
+ "NI": {
+ "name": "Никарагуа"
+ },
+ "NU": {
+ "name": "Ниуэ"
+ },
+ "NZ": {
+ "name": "Новая Зеландия"
+ },
+ "NC": {
+ "name": "Новая Каледония"
+ },
+ "NO": {
+ "name": "Норвегия"
+ },
+ "AC": {
+ "name": "о-в Вознесения"
+ },
+ "IM": {
+ "name": "о-в Мэн"
+ },
+ "NF": {
+ "name": "о-в Норфолк"
+ },
+ "CX": {
+ "name": "о-в Рождества"
+ },
+ "SH": {
+ "name": "о-в Св. Елены"
+ },
+ "TC": {
+ "name": "о-ва Тёркс и Кайкос"
+ },
+ "AE": {
+ "name": "ОАЭ"
+ },
+ "OM": {
+ "name": "Оман"
+ },
+ "CK": {
+ "name": "Острова Кука"
+ },
+ "PN": {
+ "name": "острова Питкэрн"
+ },
+ "PK": {
+ "name": "Пакистан"
+ },
+ "PW": {
+ "name": "Палау"
+ },
+ "PS": {
+ "name": "Палестинские территории"
+ },
+ "PA": {
+ "name": "Панама"
+ },
+ "PG": {
+ "name": "Папуа – Новая Гвинея"
+ },
+ "PY": {
+ "name": "Парагвай"
+ },
+ "PE": {
+ "name": "Перу"
+ },
+ "PL": {
+ "name": "Польша"
+ },
+ "PT": {
+ "name": "Португалия"
+ },
+ "PR": {
+ "name": "Пуэрто-Рико"
+ },
+ "KR": {
+ "name": "Республика Корея"
+ },
+ "RE": {
+ "name": "Реюньон"
+ },
+ "RU": {
+ "name": "Россия"
+ },
+ "RW": {
+ "name": "Руанда"
+ },
+ "RO": {
+ "name": "Румыния"
+ },
+ "SV": {
+ "name": "Сальвадор"
+ },
+ "WS": {
+ "name": "Самоа"
+ },
+ "SM": {
+ "name": "Сан-Марино"
+ },
+ "ST": {
+ "name": "Сан-Томе и Принсипи"
+ },
+ "SA": {
+ "name": "Саудовская Аравия"
+ },
+ "SZ": {
+ "name": "Свазиленд"
+ },
+ "MP": {
+ "name": "Северные Марианские о-ва"
+ },
+ "SC": {
+ "name": "Сейшельские Острова"
+ },
+ "BL": {
+ "name": "Сен-Бартелеми"
+ },
+ "MF": {
+ "name": "Сен-Мартен"
+ },
+ "PM": {
+ "name": "Сен-Пьер и Микелон"
+ },
+ "SN": {
+ "name": "Сенегал"
+ },
+ "VC": {
+ "name": "Сент-Винсент и Гренадины"
+ },
+ "KN": {
+ "name": "Сент-Китс и Невис"
+ },
+ "LC": {
+ "name": "Сент-Люсия"
+ },
+ "RS": {
+ "name": "Сербия"
+ },
+ "EA": {
+ "name": "Сеута и Мелилья"
+ },
+ "SG": {
+ "name": "Сингапур"
+ },
+ "SX": {
+ "name": "Синт-Мартен"
+ },
+ "SY": {
+ "name": "Сирия"
+ },
+ "SK": {
+ "name": "Словакия"
+ },
+ "SI": {
+ "name": "Словения"
+ },
+ "US": {
+ "name": "Соединенные Штаты"
+ },
+ "SB": {
+ "name": "Соломоновы Острова"
+ },
+ "SO": {
+ "name": "Сомали"
+ },
+ "SD": {
+ "name": "Судан"
+ },
+ "SR": {
+ "name": "Суринам"
+ },
+ "SL": {
+ "name": "Сьерра-Леоне"
+ },
+ "TJ": {
+ "name": "Таджикистан"
+ },
+ "TH": {
+ "name": "Таиланд"
+ },
+ "TW": {
+ "name": "Тайвань"
+ },
+ "TZ": {
+ "name": "Танзания"
+ },
+ "TG": {
+ "name": "Того"
+ },
+ "TK": {
+ "name": "Токелау"
+ },
+ "TO": {
+ "name": "Тонга"
+ },
+ "TT": {
+ "name": "Тринидад и Тобаго"
+ },
+ "TA": {
+ "name": "Тристан-да-Кунья"
+ },
+ "TV": {
+ "name": "Тувалу"
+ },
+ "TN": {
+ "name": "Тунис"
+ },
+ "TM": {
+ "name": "Туркменистан"
+ },
+ "TR": {
+ "name": "Турция"
+ },
+ "UG": {
+ "name": "Уганда"
+ },
+ "UZ": {
+ "name": "Узбекистан"
+ },
+ "UA": {
+ "name": "Украина"
+ },
+ "WF": {
+ "name": "Уоллис и Футуна"
+ },
+ "UY": {
+ "name": "Уругвай"
+ },
+ "FO": {
+ "name": "Фарерские о-ва"
+ },
+ "FM": {
+ "name": "Федеративные Штаты Микронезии"
+ },
+ "FJ": {
+ "name": "Фиджи"
+ },
+ "PH": {
+ "name": "Филиппины"
+ },
+ "FI": {
+ "name": "Финляндия"
+ },
+ "FK": {
+ "name": "Фолклендские о-ва"
+ },
+ "FR": {
+ "name": "Франция"
+ },
+ "GF": {
+ "name": "Французская Гвиана"
+ },
+ "PF": {
+ "name": "Французская Полинезия"
+ },
+ "TF": {
+ "name": "Французские Южные территории"
+ },
+ "HR": {
+ "name": "Хорватия"
+ },
+ "CF": {
+ "name": "ЦАР"
+ },
+ "TD": {
+ "name": "Чад"
+ },
+ "ME": {
+ "name": "Черногория"
+ },
+ "CZ": {
+ "name": "Чехия"
+ },
+ "CL": {
+ "name": "Чили"
+ },
+ "CH": {
+ "name": "Швейцария"
+ },
+ "SE": {
+ "name": "Швеция"
+ },
+ "SJ": {
+ "name": "Шпицберген и Ян-Майен"
+ },
+ "LK": {
+ "name": "Шри-Ланка"
+ },
+ "EC": {
+ "name": "Эквадор"
+ },
+ "GQ": {
+ "name": "Экваториальная Гвинея"
+ },
+ "ER": {
+ "name": "Эритрея"
+ },
+ "EE": {
+ "name": "Эстония"
+ },
+ "ET": {
+ "name": "Эфиопия"
+ },
+ "ZA": {
+ "name": "ЮАР"
+ },
+ "GS": {
+ "name": "Южная Георгия и Южные Сандвичевы о-ва"
+ },
+ "SS": {
+ "name": "Южный Судан"
+ },
+ "JM": {
+ "name": "Ямайка"
+ },
+ "JP": {
+ "name": "Япония"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/rwk.json b/vendor/commerceguys/intl/resources/country/rwk.json
new file mode 100644
index 000000000..06ebd2eb3
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/rwk.json
@@ -0,0 +1,761 @@
+{
+ "ZA": {
+ "name": "Afrika Kusini"
+ },
+ "AF": {
+ "name": "Afuganistani"
+ },
+ "IS": {
+ "name": "Aislandi"
+ },
+ "AR": {
+ "name": "Ajentina"
+ },
+ "AX": {
+ "name": "Åland Islands"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Aljeria"
+ },
+ "AD": {
+ "name": "Andora"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigua na Barbuda"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "IE": {
+ "name": "Ayalandi"
+ },
+ "AZ": {
+ "name": "Azabajani"
+ },
+ "BB": {
+ "name": "Babadosi"
+ },
+ "BS": {
+ "name": "Bahama"
+ },
+ "BH": {
+ "name": "Bahareni"
+ },
+ "BD": {
+ "name": "Bangladeshi"
+ },
+ "BY": {
+ "name": "Belarusi"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benini"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia na Hezegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brazili"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BF": {
+ "name": "Bukinafaso"
+ },
+ "MG": {
+ "name": "Bukini"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Butani"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "TD": {
+ "name": "Chadi"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Denmaki"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "EC": {
+ "name": "Ekwado"
+ },
+ "SV": {
+ "name": "Elsavado"
+ },
+ "IO": {
+ "name": "Eneo la Uingereza katika Bahari Hindi"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "AE": {
+ "name": "Falme za Kiarabu"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filipino"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gaboni"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GN": {
+ "name": "Gine"
+ },
+ "GW": {
+ "name": "Ginebisau"
+ },
+ "GQ": {
+ "name": "Ginekweta"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GL": {
+ "name": "Grinlandi"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "GP": {
+ "name": "Gwadelupe"
+ },
+ "GU": {
+ "name": "Gwam"
+ },
+ "GT": {
+ "name": "Gwatemala"
+ },
+ "GF": {
+ "name": "Gwiyana ya Ufaransa"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "ES": {
+ "name": "Hispania"
+ },
+ "HN": {
+ "name": "Hondurasi"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hungaria"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IQ": {
+ "name": "Iraki"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israeli"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JM": {
+ "name": "Jamaika"
+ },
+ "CF": {
+ "name": "Jamhuri ya Afrika ya Kati"
+ },
+ "CZ": {
+ "name": "Jamhuri ya Cheki"
+ },
+ "DO": {
+ "name": "Jamhuri ya Dominika"
+ },
+ "CD": {
+ "name": "Jamhuri ya Kidemokrasia ya Kongo"
+ },
+ "JP": {
+ "name": "Japani"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "GI": {
+ "name": "Jibralta"
+ },
+ "DJ": {
+ "name": "Jibuti"
+ },
+ "GE": {
+ "name": "Jojia"
+ },
+ "KH": {
+ "name": "Kambodia"
+ },
+ "CM": {
+ "name": "Kameruni"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "QA": {
+ "name": "Katari"
+ },
+ "KZ": {
+ "name": "Kazakistani"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "CV": {
+ "name": "Kepuvede"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "KG": {
+ "name": "Kirigizistani"
+ },
+ "NF": {
+ "name": "Kisiwa cha Norfok"
+ },
+ "CI": {
+ "name": "Kodivaa"
+ },
+ "CO": {
+ "name": "Kolombia"
+ },
+ "KM": {
+ "name": "Komoro"
+ },
+ "CG": {
+ "name": "Kongo"
+ },
+ "HR": {
+ "name": "Korasia"
+ },
+ "KP": {
+ "name": "Korea Kaskazini"
+ },
+ "KR": {
+ "name": "Korea Kusini"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "Kostarika"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "CY": {
+ "name": "Kuprosi"
+ },
+ "KW": {
+ "name": "Kuwaiti"
+ },
+ "LA": {
+ "name": "Laosi"
+ },
+ "LU": {
+ "name": "Lasembagi"
+ },
+ "LV": {
+ "name": "Lativia"
+ },
+ "LB": {
+ "name": "Lebanoni"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Lishenteni"
+ },
+ "LT": {
+ "name": "Litwania"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malesia"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "US": {
+ "name": "Marekani"
+ },
+ "MQ": {
+ "name": "Martiniki"
+ },
+ "MK": {
+ "name": "Masedonia"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Meksiko"
+ },
+ "FM": {
+ "name": "Mikronesia"
+ },
+ "EG": {
+ "name": "Misri"
+ },
+ "MV": {
+ "name": "Modivu"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrati"
+ },
+ "MU": {
+ "name": "Morisi"
+ },
+ "MR": {
+ "name": "Moritania"
+ },
+ "MA": {
+ "name": "Moroko"
+ },
+ "MZ": {
+ "name": "Msumbiji"
+ },
+ "MM": {
+ "name": "Myama"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepali"
+ },
+ "NE": {
+ "name": "Nijeri"
+ },
+ "NG": {
+ "name": "Nijeria"
+ },
+ "NI": {
+ "name": "Nikaragwa"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Norwe"
+ },
+ "NC": {
+ "name": "Nyukaledonia"
+ },
+ "NZ": {
+ "name": "Nyuzilandi"
+ },
+ "OM": {
+ "name": "Omani"
+ },
+ "PK": {
+ "name": "Pakistani"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua"
+ },
+ "PY": {
+ "name": "Paragwai"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitkairni"
+ },
+ "PL": {
+ "name": "Polandi"
+ },
+ "PF": {
+ "name": "Polinesia ya Ufaransa"
+ },
+ "PR": {
+ "name": "Pwetoriko"
+ },
+ "RE": {
+ "name": "Riyunioni"
+ },
+ "RO": {
+ "name": "Romania"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "SM": {
+ "name": "Samarino"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa ya Marekani"
+ },
+ "SH": {
+ "name": "Santahelena"
+ },
+ "KN": {
+ "name": "Santakitzi na Nevis"
+ },
+ "LC": {
+ "name": "Santalusia"
+ },
+ "PM": {
+ "name": "Santapieri na Mikeloni"
+ },
+ "VC": {
+ "name": "Santavisenti na Grenadini"
+ },
+ "ST": {
+ "name": "Sao Tome na Principe"
+ },
+ "SA": {
+ "name": "Saudi"
+ },
+ "SN": {
+ "name": "Senegali"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Shelisheli"
+ },
+ "SL": {
+ "name": "Siera Leoni"
+ },
+ "SG": {
+ "name": "Singapoo"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Siria"
+ },
+ "LK": {
+ "name": "Sirilanka"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SD": {
+ "name": "Sudani"
+ },
+ "SR": {
+ "name": "Surinamu"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailandi"
+ },
+ "TW": {
+ "name": "Taiwani"
+ },
+ "TJ": {
+ "name": "Tajikistani"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TL": {
+ "name": "Timori ya Mashariki"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad na Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TM": {
+ "name": "Turukimenistani"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "IR": {
+ "name": "Uajemi"
+ },
+ "BE": {
+ "name": "Ubelgiji"
+ },
+ "FR": {
+ "name": "Ufaransa"
+ },
+ "FI": {
+ "name": "Ufini"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "GR": {
+ "name": "Ugiriki"
+ },
+ "ET": {
+ "name": "Uhabeshi"
+ },
+ "NL": {
+ "name": "Uholanzi"
+ },
+ "GB": {
+ "name": "Uingereza"
+ },
+ "DE": {
+ "name": "Ujerumani"
+ },
+ "PS": {
+ "name": "Ukingo wa Magharibi na Ukanda wa Gaza wa Palestina"
+ },
+ "UA": {
+ "name": "Ukraini"
+ },
+ "PT": {
+ "name": "Ureno"
+ },
+ "UY": {
+ "name": "Urugwai"
+ },
+ "RU": {
+ "name": "Urusi"
+ },
+ "SZ": {
+ "name": "Uswazi"
+ },
+ "SE": {
+ "name": "Uswidi"
+ },
+ "CH": {
+ "name": "Uswisi"
+ },
+ "TR": {
+ "name": "Uturuki"
+ },
+ "UZ": {
+ "name": "Uzibekistani"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikani"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietinamu"
+ },
+ "CK": {
+ "name": "Visiwa vya Cook"
+ },
+ "FK": {
+ "name": "Visiwa vya Falkland"
+ },
+ "KY": {
+ "name": "Visiwa vya Kayman"
+ },
+ "MP": {
+ "name": "Visiwa vya Mariana vya Kaskazini"
+ },
+ "MH": {
+ "name": "Visiwa vya Marshal"
+ },
+ "SB": {
+ "name": "Visiwa vya Solomon"
+ },
+ "TC": {
+ "name": "Visiwa vya Turki na Kaiko"
+ },
+ "VI": {
+ "name": "Visiwa vya Virgin vya Marekani"
+ },
+ "VG": {
+ "name": "Visiwa vya Virgin vya Uingereza"
+ },
+ "WF": {
+ "name": "Walis na Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yemeni"
+ },
+ "JO": {
+ "name": "Yordani"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/saq.json b/vendor/commerceguys/intl/resources/country/saq.json
new file mode 100644
index 000000000..06ebd2eb3
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/saq.json
@@ -0,0 +1,761 @@
+{
+ "ZA": {
+ "name": "Afrika Kusini"
+ },
+ "AF": {
+ "name": "Afuganistani"
+ },
+ "IS": {
+ "name": "Aislandi"
+ },
+ "AR": {
+ "name": "Ajentina"
+ },
+ "AX": {
+ "name": "Åland Islands"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Aljeria"
+ },
+ "AD": {
+ "name": "Andora"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigua na Barbuda"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "IE": {
+ "name": "Ayalandi"
+ },
+ "AZ": {
+ "name": "Azabajani"
+ },
+ "BB": {
+ "name": "Babadosi"
+ },
+ "BS": {
+ "name": "Bahama"
+ },
+ "BH": {
+ "name": "Bahareni"
+ },
+ "BD": {
+ "name": "Bangladeshi"
+ },
+ "BY": {
+ "name": "Belarusi"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benini"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia na Hezegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brazili"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BF": {
+ "name": "Bukinafaso"
+ },
+ "MG": {
+ "name": "Bukini"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Butani"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "TD": {
+ "name": "Chadi"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Denmaki"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "EC": {
+ "name": "Ekwado"
+ },
+ "SV": {
+ "name": "Elsavado"
+ },
+ "IO": {
+ "name": "Eneo la Uingereza katika Bahari Hindi"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "AE": {
+ "name": "Falme za Kiarabu"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filipino"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gaboni"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GN": {
+ "name": "Gine"
+ },
+ "GW": {
+ "name": "Ginebisau"
+ },
+ "GQ": {
+ "name": "Ginekweta"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GL": {
+ "name": "Grinlandi"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "GP": {
+ "name": "Gwadelupe"
+ },
+ "GU": {
+ "name": "Gwam"
+ },
+ "GT": {
+ "name": "Gwatemala"
+ },
+ "GF": {
+ "name": "Gwiyana ya Ufaransa"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "ES": {
+ "name": "Hispania"
+ },
+ "HN": {
+ "name": "Hondurasi"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hungaria"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IQ": {
+ "name": "Iraki"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israeli"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JM": {
+ "name": "Jamaika"
+ },
+ "CF": {
+ "name": "Jamhuri ya Afrika ya Kati"
+ },
+ "CZ": {
+ "name": "Jamhuri ya Cheki"
+ },
+ "DO": {
+ "name": "Jamhuri ya Dominika"
+ },
+ "CD": {
+ "name": "Jamhuri ya Kidemokrasia ya Kongo"
+ },
+ "JP": {
+ "name": "Japani"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "GI": {
+ "name": "Jibralta"
+ },
+ "DJ": {
+ "name": "Jibuti"
+ },
+ "GE": {
+ "name": "Jojia"
+ },
+ "KH": {
+ "name": "Kambodia"
+ },
+ "CM": {
+ "name": "Kameruni"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "QA": {
+ "name": "Katari"
+ },
+ "KZ": {
+ "name": "Kazakistani"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "CV": {
+ "name": "Kepuvede"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "KG": {
+ "name": "Kirigizistani"
+ },
+ "NF": {
+ "name": "Kisiwa cha Norfok"
+ },
+ "CI": {
+ "name": "Kodivaa"
+ },
+ "CO": {
+ "name": "Kolombia"
+ },
+ "KM": {
+ "name": "Komoro"
+ },
+ "CG": {
+ "name": "Kongo"
+ },
+ "HR": {
+ "name": "Korasia"
+ },
+ "KP": {
+ "name": "Korea Kaskazini"
+ },
+ "KR": {
+ "name": "Korea Kusini"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "Kostarika"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "CY": {
+ "name": "Kuprosi"
+ },
+ "KW": {
+ "name": "Kuwaiti"
+ },
+ "LA": {
+ "name": "Laosi"
+ },
+ "LU": {
+ "name": "Lasembagi"
+ },
+ "LV": {
+ "name": "Lativia"
+ },
+ "LB": {
+ "name": "Lebanoni"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Lishenteni"
+ },
+ "LT": {
+ "name": "Litwania"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malesia"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "US": {
+ "name": "Marekani"
+ },
+ "MQ": {
+ "name": "Martiniki"
+ },
+ "MK": {
+ "name": "Masedonia"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Meksiko"
+ },
+ "FM": {
+ "name": "Mikronesia"
+ },
+ "EG": {
+ "name": "Misri"
+ },
+ "MV": {
+ "name": "Modivu"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrati"
+ },
+ "MU": {
+ "name": "Morisi"
+ },
+ "MR": {
+ "name": "Moritania"
+ },
+ "MA": {
+ "name": "Moroko"
+ },
+ "MZ": {
+ "name": "Msumbiji"
+ },
+ "MM": {
+ "name": "Myama"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepali"
+ },
+ "NE": {
+ "name": "Nijeri"
+ },
+ "NG": {
+ "name": "Nijeria"
+ },
+ "NI": {
+ "name": "Nikaragwa"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Norwe"
+ },
+ "NC": {
+ "name": "Nyukaledonia"
+ },
+ "NZ": {
+ "name": "Nyuzilandi"
+ },
+ "OM": {
+ "name": "Omani"
+ },
+ "PK": {
+ "name": "Pakistani"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua"
+ },
+ "PY": {
+ "name": "Paragwai"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitkairni"
+ },
+ "PL": {
+ "name": "Polandi"
+ },
+ "PF": {
+ "name": "Polinesia ya Ufaransa"
+ },
+ "PR": {
+ "name": "Pwetoriko"
+ },
+ "RE": {
+ "name": "Riyunioni"
+ },
+ "RO": {
+ "name": "Romania"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "SM": {
+ "name": "Samarino"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa ya Marekani"
+ },
+ "SH": {
+ "name": "Santahelena"
+ },
+ "KN": {
+ "name": "Santakitzi na Nevis"
+ },
+ "LC": {
+ "name": "Santalusia"
+ },
+ "PM": {
+ "name": "Santapieri na Mikeloni"
+ },
+ "VC": {
+ "name": "Santavisenti na Grenadini"
+ },
+ "ST": {
+ "name": "Sao Tome na Principe"
+ },
+ "SA": {
+ "name": "Saudi"
+ },
+ "SN": {
+ "name": "Senegali"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Shelisheli"
+ },
+ "SL": {
+ "name": "Siera Leoni"
+ },
+ "SG": {
+ "name": "Singapoo"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Siria"
+ },
+ "LK": {
+ "name": "Sirilanka"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SD": {
+ "name": "Sudani"
+ },
+ "SR": {
+ "name": "Surinamu"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailandi"
+ },
+ "TW": {
+ "name": "Taiwani"
+ },
+ "TJ": {
+ "name": "Tajikistani"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TL": {
+ "name": "Timori ya Mashariki"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad na Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TM": {
+ "name": "Turukimenistani"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "IR": {
+ "name": "Uajemi"
+ },
+ "BE": {
+ "name": "Ubelgiji"
+ },
+ "FR": {
+ "name": "Ufaransa"
+ },
+ "FI": {
+ "name": "Ufini"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "GR": {
+ "name": "Ugiriki"
+ },
+ "ET": {
+ "name": "Uhabeshi"
+ },
+ "NL": {
+ "name": "Uholanzi"
+ },
+ "GB": {
+ "name": "Uingereza"
+ },
+ "DE": {
+ "name": "Ujerumani"
+ },
+ "PS": {
+ "name": "Ukingo wa Magharibi na Ukanda wa Gaza wa Palestina"
+ },
+ "UA": {
+ "name": "Ukraini"
+ },
+ "PT": {
+ "name": "Ureno"
+ },
+ "UY": {
+ "name": "Urugwai"
+ },
+ "RU": {
+ "name": "Urusi"
+ },
+ "SZ": {
+ "name": "Uswazi"
+ },
+ "SE": {
+ "name": "Uswidi"
+ },
+ "CH": {
+ "name": "Uswisi"
+ },
+ "TR": {
+ "name": "Uturuki"
+ },
+ "UZ": {
+ "name": "Uzibekistani"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikani"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietinamu"
+ },
+ "CK": {
+ "name": "Visiwa vya Cook"
+ },
+ "FK": {
+ "name": "Visiwa vya Falkland"
+ },
+ "KY": {
+ "name": "Visiwa vya Kayman"
+ },
+ "MP": {
+ "name": "Visiwa vya Mariana vya Kaskazini"
+ },
+ "MH": {
+ "name": "Visiwa vya Marshal"
+ },
+ "SB": {
+ "name": "Visiwa vya Solomon"
+ },
+ "TC": {
+ "name": "Visiwa vya Turki na Kaiko"
+ },
+ "VI": {
+ "name": "Visiwa vya Virgin vya Marekani"
+ },
+ "VG": {
+ "name": "Visiwa vya Virgin vya Uingereza"
+ },
+ "WF": {
+ "name": "Walis na Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yemeni"
+ },
+ "JO": {
+ "name": "Yordani"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/sbp.json b/vendor/commerceguys/intl/resources/country/sbp.json
new file mode 100644
index 000000000..47d67827c
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/sbp.json
@@ -0,0 +1,761 @@
+{
+ "ZA": {
+ "name": "Afilika Kusini"
+ },
+ "AF": {
+ "name": "Afuganisitani"
+ },
+ "AR": {
+ "name": "Ajentina"
+ },
+ "AX": {
+ "name": "Åland Islands"
+ },
+ "DZ": {
+ "name": "Alijeliya"
+ },
+ "AM": {
+ "name": "Alimeniya"
+ },
+ "AW": {
+ "name": "Aluba"
+ },
+ "AL": {
+ "name": "Alubaniya"
+ },
+ "AD": {
+ "name": "Andola"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AG": {
+ "name": "Anitiguya ni Balubuda"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AZ": {
+ "name": "Asabajani"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AU": {
+ "name": "Awusitilaliya"
+ },
+ "AT": {
+ "name": "Awusitiliya"
+ },
+ "IE": {
+ "name": "Ayalandi"
+ },
+ "IS": {
+ "name": "Ayisilendi"
+ },
+ "BB": {
+ "name": "Babadosi"
+ },
+ "BH": {
+ "name": "Bahaleni"
+ },
+ "BS": {
+ "name": "Bahama"
+ },
+ "BD": {
+ "name": "Bangiladeshi"
+ },
+ "BY": {
+ "name": "Belalusi"
+ },
+ "BM": {
+ "name": "Belimuda"
+ },
+ "BZ": {
+ "name": "Belise"
+ },
+ "BJ": {
+ "name": "Benini"
+ },
+ "BO": {
+ "name": "Boliviya"
+ },
+ "BA": {
+ "name": "Bosiniya ni Hesegovina"
+ },
+ "BW": {
+ "name": "Botiswana"
+ },
+ "BF": {
+ "name": "Bukinafaso"
+ },
+ "MG": {
+ "name": "Bukini"
+ },
+ "BR": {
+ "name": "Bulasili"
+ },
+ "BG": {
+ "name": "Buligaliya"
+ },
+ "BI": {
+ "name": "Bulundi"
+ },
+ "BN": {
+ "name": "Buluneyi"
+ },
+ "BT": {
+ "name": "Butani"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Denimaki"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "EC": {
+ "name": "Ekwado"
+ },
+ "SV": {
+ "name": "Elisavado"
+ },
+ "ER": {
+ "name": "Elitileya"
+ },
+ "EE": {
+ "name": "Esitoniya"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FK": {
+ "name": "Figunguli fya Fokolendi"
+ },
+ "CK": {
+ "name": "Figunguli fya Kooki"
+ },
+ "MP": {
+ "name": "Figunguli fya Maliyana ifya luvala lwa Kunyamande"
+ },
+ "SB": {
+ "name": "Figunguli fya Solomoni"
+ },
+ "TC": {
+ "name": "Figunguli fya Tuliki ni Kaiko"
+ },
+ "VI": {
+ "name": "Figunguli fya Viliginiya ifya Malekani"
+ },
+ "KY": {
+ "name": "Figunguli ifya Kayimayi"
+ },
+ "MH": {
+ "name": "Figunguli ifya Malishali"
+ },
+ "VG": {
+ "name": "Figunguli ifya Viliginiya ifya Uwingelesa"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filipino"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gaboni"
+ },
+ "GM": {
+ "name": "Gambiya"
+ },
+ "GD": {
+ "name": "Gilenada"
+ },
+ "GL": {
+ "name": "Gilinilandi"
+ },
+ "GN": {
+ "name": "Gine"
+ },
+ "GW": {
+ "name": "Ginebisawu"
+ },
+ "GQ": {
+ "name": "Ginekweta"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "GP": {
+ "name": "Gwadelupe"
+ },
+ "GU": {
+ "name": "Gwamu"
+ },
+ "GT": {
+ "name": "Gwatemala"
+ },
+ "GF": {
+ "name": "Gwiyana ya Wufalansa"
+ },
+ "HT": {
+ "name": "Hayiti"
+ },
+ "ES": {
+ "name": "Hisipaniya"
+ },
+ "HN": {
+ "name": "Hondulasi"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hungaliya"
+ },
+ "IQ": {
+ "name": "Ilaki"
+ },
+ "IN": {
+ "name": "Indiya"
+ },
+ "ID": {
+ "name": "Indonesiya"
+ },
+ "IL": {
+ "name": "Isilaeli"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IT": {
+ "name": "Italiya"
+ },
+ "JM": {
+ "name": "Jamaika"
+ },
+ "CF": {
+ "name": "Jamuhuli ya Afilika ya Pakhati"
+ },
+ "DO": {
+ "name": "Jamuhuli ya Dominika"
+ },
+ "CD": {
+ "name": "Jamuhuli ya Kidemokilasiya ya Kongo"
+ },
+ "CZ": {
+ "name": "Jamuhuli ya Sheki"
+ },
+ "JP": {
+ "name": "Japani"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "GI": {
+ "name": "Jibulalita"
+ },
+ "DJ": {
+ "name": "Jibuti"
+ },
+ "GE": {
+ "name": "Jojiya"
+ },
+ "KH": {
+ "name": "Kambodiya"
+ },
+ "CM": {
+ "name": "Kameruni"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "KZ": {
+ "name": "Kasakisitani"
+ },
+ "QA": {
+ "name": "Katali"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "CV": {
+ "name": "Kepuvede"
+ },
+ "GH": {
+ "name": "Khana"
+ },
+ "KI": {
+ "name": "Kilibati"
+ },
+ "KG": {
+ "name": "Kiligisisitani"
+ },
+ "CI": {
+ "name": "Kodivaya"
+ },
+ "HR": {
+ "name": "Kolasiya"
+ },
+ "KR": {
+ "name": "Koleya ya Kusini"
+ },
+ "KP": {
+ "name": "Koleya ya luvala lwa Kunyamande"
+ },
+ "CO": {
+ "name": "Kolombiya"
+ },
+ "KM": {
+ "name": "Komolo"
+ },
+ "CG": {
+ "name": "Kongo"
+ },
+ "CR": {
+ "name": "Kositalika"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "CY": {
+ "name": "Kupilosi"
+ },
+ "KW": {
+ "name": "Kuwaiti"
+ },
+ "LU": {
+ "name": "Lasembagi"
+ },
+ "LV": {
+ "name": "Lativiya"
+ },
+ "LA": {
+ "name": "Layosi"
+ },
+ "LB": {
+ "name": "Lebanoni"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LR": {
+ "name": "Libeliya"
+ },
+ "LY": {
+ "name": "Libiya"
+ },
+ "LI": {
+ "name": "Lisheniteni"
+ },
+ "LT": {
+ "name": "Litwaniya"
+ },
+ "RE": {
+ "name": "Liyunioni"
+ },
+ "RO": {
+ "name": "Lomaniya"
+ },
+ "RW": {
+ "name": "Lwanda"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "US": {
+ "name": "Malekani"
+ },
+ "MY": {
+ "name": "Malesiya"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malita"
+ },
+ "MQ": {
+ "name": "Malitiniki"
+ },
+ "MK": {
+ "name": "Masedoniya"
+ },
+ "YT": {
+ "name": "Mayote"
+ },
+ "MX": {
+ "name": "Mekisiko"
+ },
+ "FM": {
+ "name": "Mikilonesiya"
+ },
+ "EG": {
+ "name": "Misili"
+ },
+ "MV": {
+ "name": "Modivu"
+ },
+ "MD": {
+ "name": "Molidova"
+ },
+ "MU": {
+ "name": "Molisi"
+ },
+ "MR": {
+ "name": "Molitaniya"
+ },
+ "MA": {
+ "name": "Moloko"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MN": {
+ "name": "Mongoliya"
+ },
+ "MS": {
+ "name": "Monitiselati"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "PS": {
+ "name": "Munjema gwa Kusikha nu Luvala lwa Gasa lwa Palesit"
+ },
+ "MZ": {
+ "name": "Musumbiji"
+ },
+ "MM": {
+ "name": "Muyama"
+ },
+ "NA": {
+ "name": "Namibiya"
+ },
+ "NR": {
+ "name": "Nawulu"
+ },
+ "NP": {
+ "name": "Nepali"
+ },
+ "NE": {
+ "name": "Nijeli"
+ },
+ "NG": {
+ "name": "Nijeliya"
+ },
+ "NI": {
+ "name": "Nikalagwa"
+ },
+ "NU": {
+ "name": "Niwue"
+ },
+ "NO": {
+ "name": "Nolwe"
+ },
+ "NC": {
+ "name": "Nyukaledoniya"
+ },
+ "NZ": {
+ "name": "Nyusilendi"
+ },
+ "OM": {
+ "name": "Omani"
+ },
+ "PK": {
+ "name": "Pakisitani"
+ },
+ "PY": {
+ "name": "Palagwayi"
+ },
+ "PW": {
+ "name": "Palawu"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papuwa"
+ },
+ "PE": {
+ "name": "Pelu"
+ },
+ "PN": {
+ "name": "Pitikailini"
+ },
+ "PL": {
+ "name": "Polandi"
+ },
+ "PF": {
+ "name": "Polinesiya ya Wufalansa"
+ },
+ "PR": {
+ "name": "Pwetoliko"
+ },
+ "SM": {
+ "name": "Samalino"
+ },
+ "ZM": {
+ "name": "Sambiya"
+ },
+ "WS": {
+ "name": "Samoya"
+ },
+ "AS": {
+ "name": "Samoya ya Malekani"
+ },
+ "SH": {
+ "name": "Santahelena"
+ },
+ "KN": {
+ "name": "Santakitisi ni Nevisi"
+ },
+ "LC": {
+ "name": "Santalusiya"
+ },
+ "PM": {
+ "name": "Santapieli ni Mikeloni"
+ },
+ "VC": {
+ "name": "Santavisenti na Gilenadini"
+ },
+ "SA": {
+ "name": "Sawudi"
+ },
+ "ST": {
+ "name": "Sayo Tome ni Pilinikipe"
+ },
+ "SN": {
+ "name": "Senegali"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "TD": {
+ "name": "Shadi"
+ },
+ "SC": {
+ "name": "Shelisheli"
+ },
+ "NF": {
+ "name": "Shigunguli sha Nolifoki"
+ },
+ "CL": {
+ "name": "Shile"
+ },
+ "CN": {
+ "name": "Shina"
+ },
+ "SL": {
+ "name": "Siela Liyoni"
+ },
+ "LK": {
+ "name": "Sililanka"
+ },
+ "SY": {
+ "name": "Siliya"
+ },
+ "SK": {
+ "name": "Silovakiya"
+ },
+ "SI": {
+ "name": "Siloveniya"
+ },
+ "ZW": {
+ "name": "Simbabwe"
+ },
+ "SG": {
+ "name": "Singapoo"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SO": {
+ "name": "Somaliya"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SD": {
+ "name": "Sudani"
+ },
+ "SR": {
+ "name": "Sulinamu"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailandi"
+ },
+ "TW": {
+ "name": "Taiwani"
+ },
+ "TJ": {
+ "name": "Tajikisitani"
+ },
+ "TZ": {
+ "name": "Tansaniya"
+ },
+ "TT": {
+ "name": "Tilinidadi ni Tobago"
+ },
+ "TL": {
+ "name": "Timoli ya kunena"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelawu"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TM": {
+ "name": "Tulukimenisitani"
+ },
+ "TN": {
+ "name": "Tunisiya"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "BE": {
+ "name": "Ubeligiji"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "ET": {
+ "name": "Uhabeshi"
+ },
+ "UY": {
+ "name": "Ulugwayi"
+ },
+ "IO": {
+ "name": "Uluvala lwa Uwingelesa ku Bahali ya Hindi"
+ },
+ "UZ": {
+ "name": "Usibekisitani"
+ },
+ "SZ": {
+ "name": "Uswasi"
+ },
+ "SE": {
+ "name": "Uswidi"
+ },
+ "CH": {
+ "name": "Uswisi"
+ },
+ "TR": {
+ "name": "Utuluki"
+ },
+ "IR": {
+ "name": "Uwajemi"
+ },
+ "GB": {
+ "name": "Uwingelesa"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikani"
+ },
+ "VE": {
+ "name": "Venesuela"
+ },
+ "VN": {
+ "name": "Vietinamu"
+ },
+ "WF": {
+ "name": "Walisi ni Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "FR": {
+ "name": "Wufalansa"
+ },
+ "FI": {
+ "name": "Wufini"
+ },
+ "GR": {
+ "name": "Wugiliki"
+ },
+ "NL": {
+ "name": "Wuholansi"
+ },
+ "DE": {
+ "name": "Wujelumani"
+ },
+ "PT": {
+ "name": "Wuleno"
+ },
+ "RU": {
+ "name": "Wulusi"
+ },
+ "AE": {
+ "name": "Wutwa wa shiyalabu"
+ },
+ "YE": {
+ "name": "Yemeni"
+ },
+ "JO": {
+ "name": "Yolodani"
+ },
+ "UA": {
+ "name": "Yukileini"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/se-FI.json b/vendor/commerceguys/intl/resources/country/se-FI.json
new file mode 100644
index 000000000..e08f632f0
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/se-FI.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afghanistan"
+ },
+ "AL": {
+ "name": "Albánia"
+ },
+ "DZ": {
+ "name": "Algeria"
+ },
+ "US": {
+ "name": "Amerihká ovttastuvvan stáhtat"
+ },
+ "AS": {
+ "name": "Amerihká Samoa"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antárktis"
+ },
+ "AG": {
+ "name": "Antigua ja Barbuda"
+ },
+ "VI": {
+ "name": "AOS Virgin-sullot"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension"
+ },
+ "AZ": {
+ "name": "Aserbaižan"
+ },
+ "AU": {
+ "name": "Austrália"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahrain"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BE": {
+ "name": "Belgia"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia ja Hercegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brasil"
+ },
+ "IO": {
+ "name": "British Indian Ocean Territory"
+ },
+ "VG": {
+ "name": "Brittania Virgin-sullot"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgária"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "MM": {
+ "name": "Burma"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "KY": {
+ "name": "Cayman-sullot"
+ },
+ "EA": {
+ "name": "Ceuta ja Melilla"
+ },
+ "TD": {
+ "name": "Chad"
+ },
+ "CC": {
+ "name": "Cocos-sullot"
+ },
+ "CK": {
+ "name": "Cook-sullot"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "CZ": {
+ "name": "Čeahkka"
+ },
+ "CL": {
+ "name": "Čiile"
+ },
+ "KP": {
+ "name": "Davvi-Korea"
+ },
+ "MP": {
+ "name": "Davvi-Mariánat"
+ },
+ "DK": {
+ "name": "Dánmárku"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DJ": {
+ "name": "Djibouti"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "DO": {
+ "name": "Dominikána dásseváldi"
+ },
+ "DE": {
+ "name": "Duiska"
+ },
+ "TR": {
+ "name": "Durka"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egypta"
+ },
+ "GQ": {
+ "name": "Ekvatoriála Guinea"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "CI": {
+ "name": "Elfenbenariddu"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estlánda"
+ },
+ "ET": {
+ "name": "Etiopia"
+ },
+ "FK": {
+ "name": "Falklandsullot"
+ },
+ "FO": {
+ "name": "Fearsullot"
+ },
+ "FJ": {
+ "name": "Fijisullot"
+ },
+ "PH": {
+ "name": "Filippiinnat"
+ },
+ "FR": {
+ "name": "Frankriika"
+ },
+ "GF": {
+ "name": "Frankriikka Guayana"
+ },
+ "PF": {
+ "name": "Frankriikka Polynesia"
+ },
+ "MF": {
+ "name": "Frankriikka Saint Martin"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "CF": {
+ "name": "Gaska-Afrihká dásseváldi"
+ },
+ "GM": {
+ "name": "Gámbia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GR": {
+ "name": "Greika"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GW": {
+ "name": "Guinea-Bissau"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hongkong"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IE": {
+ "name": "Irlánda"
+ },
+ "IS": {
+ "name": "Islánda"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Itália"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japána"
+ },
+ "YE": {
+ "name": "Jemen"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordánia"
+ },
+ "CX": {
+ "name": "Juovllat-sullot"
+ },
+ "GL": {
+ "name": "Kalaallit Nunaat"
+ },
+ "KH": {
+ "name": "Kamboža"
+ },
+ "CM": {
+ "name": "Kamerun"
+ },
+ "CA": {
+ "name": "Kanáda"
+ },
+ "IC": {
+ "name": "Kanáriasullot"
+ },
+ "CV": {
+ "name": "Kap Verde"
+ },
+ "KZ": {
+ "name": "Kasakstan"
+ },
+ "KE": {
+ "name": "Kenia"
+ },
+ "CN": {
+ "name": "Kiinná"
+ },
+ "KG": {
+ "name": "Kirgisistan"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "CO": {
+ "name": "Kolombia"
+ },
+ "KM": {
+ "name": "Komoros"
+ },
+ "CG": {
+ "name": "Kongo-Brazzaville"
+ },
+ "CD": {
+ "name": "Kongo-Kinshasa"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "HR": {
+ "name": "Kroátia"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "CY": {
+ "name": "Kypros"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LV": {
+ "name": "Látvia"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LB": {
+ "name": "Libanon"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lietuva"
+ },
+ "GS": {
+ "name": "Lulli Georgia ja Lulli Sandwich-sullot"
+ },
+ "LU": {
+ "name": "Luxembourg"
+ },
+ "MG": {
+ "name": "Madagaskar"
+ },
+ "MO": {
+ "name": "Makáo"
+ },
+ "MK": {
+ "name": "Makedonia"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MV": {
+ "name": "Malediivvat"
+ },
+ "MY": {
+ "name": "Malesia"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "IM": {
+ "name": "Mann-sullot"
+ },
+ "MA": {
+ "name": "Marokko"
+ },
+ "MH": {
+ "name": "Marshallsullot"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MR": {
+ "name": "Mauretánia"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MT": {
+ "name": "Málta"
+ },
+ "ZA": {
+ "name": "Mátta-Afrihká"
+ },
+ "KR": {
+ "name": "Mátta-Korea"
+ },
+ "SS": {
+ "name": "Máttasudan"
+ },
+ "MX": {
+ "name": "Meksiko"
+ },
+ "FM": {
+ "name": "Mikronesia"
+ },
+ "MD": {
+ "name": "Moldávia"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mosambik"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NF": {
+ "name": "Norfolksullot"
+ },
+ "NO": {
+ "name": "Norga"
+ },
+ "TL": {
+ "name": "Nuorta-Timor"
+ },
+ "AT": {
+ "name": "Nuortariika"
+ },
+ "EH": {
+ "name": "Oarje-Sahára"
+ },
+ "NC": {
+ "name": "Ođđa-Kaledonia"
+ },
+ "NZ": {
+ "name": "Ođđa-Selánda"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "AE": {
+ "name": "Ovttastuvvan Arábaemiráhtat"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palestina"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua-Ođđa-Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitcairn"
+ },
+ "PL": {
+ "name": "Polen"
+ },
+ "PT": {
+ "name": "Portugála"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "QA": {
+ "name": "Qatar"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RO": {
+ "name": "Románia"
+ },
+ "RU": {
+ "name": "Ruošša"
+ },
+ "SE": {
+ "name": "Ruoŧŧa"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "BL": {
+ "name": "Saint Barthélemy"
+ },
+ "SH": {
+ "name": "Saint Helena"
+ },
+ "KN": {
+ "name": "Saint Kitts ja Nevis"
+ },
+ "LC": {
+ "name": "Saint Lucia"
+ },
+ "PM": {
+ "name": "Saint Pierre ja Miquelon"
+ },
+ "VC": {
+ "name": "Saint Vincent ja Grenadine"
+ },
+ "SB": {
+ "name": "Salomon-sullot"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "SA": {
+ "name": "Saudi-Arábia"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychellsullot"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapore"
+ },
+ "SK": {
+ "name": "Slovákia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SO": {
+ "name": "Somália"
+ },
+ "ES": {
+ "name": "Spánia"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "GB": {
+ "name": "Stuorra-Británnia"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "FI": {
+ "name": "Suopma"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SJ": {
+ "name": "Svalbárda ja Jan Mayen"
+ },
+ "SZ": {
+ "name": "Svazieana"
+ },
+ "SY": {
+ "name": "Syria"
+ },
+ "ST": {
+ "name": "São Tomé ja Príncipe"
+ },
+ "CH": {
+ "name": "Šveica"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TZ": {
+ "name": "Tanzánia"
+ },
+ "TJ": {
+ "name": "Tažikistan"
+ },
+ "TH": {
+ "name": "Thaieana"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad ja Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TC": {
+ "name": "Turks ja Caicos-sullot"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukraina"
+ },
+ "HU": {
+ "name": "Ungár"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Usbekistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikána"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "BY": {
+ "name": "Vilges-Ruošša"
+ },
+ "NL": {
+ "name": "Vuolleeatnamat"
+ },
+ "SX": {
+ "name": "Vuolleeatnamat Saint Martin"
+ },
+ "WF": {
+ "name": "Wallis ja Futuna"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ },
+ "AX": {
+ "name": "Ålánda"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/se.json b/vendor/commerceguys/intl/resources/country/se.json
new file mode 100644
index 000000000..a6d4e16ff
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/se.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afghanistan"
+ },
+ "AL": {
+ "name": "Albánia"
+ },
+ "DZ": {
+ "name": "Algeria"
+ },
+ "US": {
+ "name": "Amerihká ovttastuvvan stáhtat"
+ },
+ "AS": {
+ "name": "Amerihká Samoa"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antárktis"
+ },
+ "AG": {
+ "name": "Antigua ja Barbuda"
+ },
+ "VI": {
+ "name": "AOS Virgin-sullot"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension"
+ },
+ "AZ": {
+ "name": "Aserbaižan"
+ },
+ "AU": {
+ "name": "Austrália"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahrain"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BE": {
+ "name": "Belgia"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia-Hercegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brasil"
+ },
+ "IO": {
+ "name": "British Indian Ocean Territory"
+ },
+ "VG": {
+ "name": "Brittania Virgin-sullot"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgária"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "MM": {
+ "name": "Burma"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "KY": {
+ "name": "Cayman-sullot"
+ },
+ "EA": {
+ "name": "Ceuta ja Melilla"
+ },
+ "CC": {
+ "name": "Cocos-sullot"
+ },
+ "CK": {
+ "name": "Cook-sullot"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "CZ": {
+ "name": "Čeahkka"
+ },
+ "CL": {
+ "name": "Čiile"
+ },
+ "KP": {
+ "name": "Davvi-Korea"
+ },
+ "MP": {
+ "name": "Davvi-Mariánat"
+ },
+ "SD": {
+ "name": "Davvisudan"
+ },
+ "DK": {
+ "name": "Dánmárku"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DJ": {
+ "name": "Djibouti"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "DO": {
+ "name": "Dominikána dásseváldi"
+ },
+ "DE": {
+ "name": "Duiska"
+ },
+ "TR": {
+ "name": "Durka"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egypta"
+ },
+ "GQ": {
+ "name": "Ekvatoriála Guinea"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "CI": {
+ "name": "Elfenbenariddu"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estlánda"
+ },
+ "ET": {
+ "name": "Etiopia"
+ },
+ "FK": {
+ "name": "Falklandsullot"
+ },
+ "FO": {
+ "name": "Fearsullot"
+ },
+ "FJ": {
+ "name": "Fijisullot"
+ },
+ "PH": {
+ "name": "Filippiinnat"
+ },
+ "FR": {
+ "name": "Frankriika"
+ },
+ "GF": {
+ "name": "Frankriikka Guayana"
+ },
+ "PF": {
+ "name": "Frankriikka Polynesia"
+ },
+ "MF": {
+ "name": "Frankriikka Saint Martin"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "CF": {
+ "name": "Gaska-Afrihká dásseváldi"
+ },
+ "GM": {
+ "name": "Gámbia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GR": {
+ "name": "Greika"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GW": {
+ "name": "Guinea-Bissau"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hongkong"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IE": {
+ "name": "Irlánda"
+ },
+ "IS": {
+ "name": "Islánda"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Itália"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japána"
+ },
+ "YE": {
+ "name": "Jemen"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordánia"
+ },
+ "CX": {
+ "name": "Juovllat-sullot"
+ },
+ "GL": {
+ "name": "Kalaallit Nunaat"
+ },
+ "KH": {
+ "name": "Kambodža"
+ },
+ "CM": {
+ "name": "Kamerun"
+ },
+ "CA": {
+ "name": "Kanáda"
+ },
+ "IC": {
+ "name": "Kanáriasullot"
+ },
+ "CV": {
+ "name": "Kap Verde"
+ },
+ "KZ": {
+ "name": "Kasakstan"
+ },
+ "KE": {
+ "name": "Kenia"
+ },
+ "CN": {
+ "name": "Kiinná"
+ },
+ "KG": {
+ "name": "Kirgisistan"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "CO": {
+ "name": "Kolombia"
+ },
+ "KM": {
+ "name": "Komoros"
+ },
+ "CG": {
+ "name": "Kongo-Brazzaville"
+ },
+ "CD": {
+ "name": "Kongo-Kinshasa"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "HR": {
+ "name": "Kroátia"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "CY": {
+ "name": "Kypros"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LV": {
+ "name": "Látvia"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LB": {
+ "name": "Libanon"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lietuva"
+ },
+ "GS": {
+ "name": "Lulli Georgia ja Lulli Sandwich-sullot"
+ },
+ "LU": {
+ "name": "Luxembourg"
+ },
+ "MG": {
+ "name": "Madagaskar"
+ },
+ "MO": {
+ "name": "Makáo"
+ },
+ "MK": {
+ "name": "Makedonia"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MV": {
+ "name": "Malediivvat"
+ },
+ "MY": {
+ "name": "Malesia"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "IM": {
+ "name": "Mann-sullot"
+ },
+ "MA": {
+ "name": "Marokko"
+ },
+ "MH": {
+ "name": "Marshallsullot"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MR": {
+ "name": "Mauretánia"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MT": {
+ "name": "Málta"
+ },
+ "ZA": {
+ "name": "Mátta-Afrihká"
+ },
+ "KR": {
+ "name": "Mátta-Korea"
+ },
+ "SS": {
+ "name": "Máttasudan"
+ },
+ "MX": {
+ "name": "Meksiko"
+ },
+ "FM": {
+ "name": "Mikronesia"
+ },
+ "MD": {
+ "name": "Moldávia"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mosambik"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NF": {
+ "name": "Norfolksullot"
+ },
+ "NO": {
+ "name": "Norga"
+ },
+ "TL": {
+ "name": "Nuorta-Timor"
+ },
+ "AT": {
+ "name": "Nuortariika"
+ },
+ "EH": {
+ "name": "Oarje-Sahára"
+ },
+ "NC": {
+ "name": "Ođđa-Kaledonia"
+ },
+ "NZ": {
+ "name": "Ođđa-Selánda"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "AE": {
+ "name": "Ovttastuvvan Arábaemiráhtat"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palestina"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua-Ođđa-Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitcairn"
+ },
+ "PL": {
+ "name": "Polen"
+ },
+ "PT": {
+ "name": "Portugála"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "QA": {
+ "name": "Qatar"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RO": {
+ "name": "Románia"
+ },
+ "RU": {
+ "name": "Ruošša"
+ },
+ "SE": {
+ "name": "Ruoŧŧa"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "BL": {
+ "name": "Saint Barthélemy"
+ },
+ "SH": {
+ "name": "Saint Helena"
+ },
+ "KN": {
+ "name": "Saint Kitts ja Nevis"
+ },
+ "LC": {
+ "name": "Saint Lucia"
+ },
+ "PM": {
+ "name": "Saint Pierre ja Miquelon"
+ },
+ "VC": {
+ "name": "Saint Vincent ja Grenadine"
+ },
+ "SB": {
+ "name": "Salomon-sullot"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "SA": {
+ "name": "Saudi-Arábia"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychellsullot"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapore"
+ },
+ "SK": {
+ "name": "Slovákia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SO": {
+ "name": "Somália"
+ },
+ "ES": {
+ "name": "Spánia"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "GB": {
+ "name": "Stuorra-Británnia"
+ },
+ "FI": {
+ "name": "Suopma"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SJ": {
+ "name": "Svalbárda ja Jan Mayen"
+ },
+ "SZ": {
+ "name": "Svazieana"
+ },
+ "SY": {
+ "name": "Syria"
+ },
+ "ST": {
+ "name": "São Tomé ja Príncipe"
+ },
+ "CH": {
+ "name": "Šveica"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TZ": {
+ "name": "Tanzánia"
+ },
+ "TJ": {
+ "name": "Tažikistan"
+ },
+ "TD": {
+ "name": "Tčad"
+ },
+ "TH": {
+ "name": "Thaieana"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad ja Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TC": {
+ "name": "Turks ja Caicos-sullot"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukraina"
+ },
+ "HU": {
+ "name": "Ungár"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Usbekistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikána"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "BY": {
+ "name": "Vilges-Ruošša"
+ },
+ "NL": {
+ "name": "Vuolleeatnamat"
+ },
+ "SX": {
+ "name": "Vuolleeatnamat Saint Martin"
+ },
+ "WF": {
+ "name": "Wallis ja Futuna"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ },
+ "AX": {
+ "name": "Ålánda"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/seh.json b/vendor/commerceguys/intl/resources/country/seh.json
new file mode 100644
index 000000000..40bb23af5
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/seh.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afeganistão"
+ },
+ "ZA": {
+ "name": "África do Sul"
+ },
+ "AX": {
+ "name": "Åland Islands"
+ },
+ "AL": {
+ "name": "Albânia"
+ },
+ "DE": {
+ "name": "Alemanha"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antígua e Barbuda"
+ },
+ "SA": {
+ "name": "Arábia Saudita"
+ },
+ "DZ": {
+ "name": "Argélia"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armênia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AU": {
+ "name": "Austrália"
+ },
+ "AT": {
+ "name": "Áustria"
+ },
+ "AZ": {
+ "name": "Azerbaijão"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahrain"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BY": {
+ "name": "Belarus"
+ },
+ "BE": {
+ "name": "Bélgica"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermudas"
+ },
+ "BO": {
+ "name": "Bolívia"
+ },
+ "BA": {
+ "name": "Bósnia-Herzegovina"
+ },
+ "BW": {
+ "name": "Botsuana"
+ },
+ "BR": {
+ "name": "Brasil"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgária"
+ },
+ "BF": {
+ "name": "Burquina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Butão"
+ },
+ "CV": {
+ "name": "Cabo Verde"
+ },
+ "KH": {
+ "name": "Camboja"
+ },
+ "CA": {
+ "name": "Canadá"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "KZ": {
+ "name": "Casaquistão"
+ },
+ "QA": {
+ "name": "Catar"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "TD": {
+ "name": "Chade"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CY": {
+ "name": "Chipre"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "SG": {
+ "name": "Cingapura"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CO": {
+ "name": "Colômbia"
+ },
+ "KM": {
+ "name": "Comores"
+ },
+ "CG": {
+ "name": "Congo"
+ },
+ "CD": {
+ "name": "Congo-Kinshasa"
+ },
+ "KP": {
+ "name": "Coréia do Norte"
+ },
+ "KR": {
+ "name": "Coréia do Sul"
+ },
+ "CI": {
+ "name": "Costa do Marfim"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "HR": {
+ "name": "Croácia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DK": {
+ "name": "Dinamarca"
+ },
+ "DJ": {
+ "name": "Djibuti"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "EG": {
+ "name": "Egito"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "AE": {
+ "name": "Emirados Árabes Unidos"
+ },
+ "EC": {
+ "name": "Equador"
+ },
+ "ER": {
+ "name": "Eritréia"
+ },
+ "SK": {
+ "name": "Eslováquia"
+ },
+ "SI": {
+ "name": "Eslovênia"
+ },
+ "ES": {
+ "name": "Espanha"
+ },
+ "US": {
+ "name": "Estados Unidos"
+ },
+ "EE": {
+ "name": "Estônia"
+ },
+ "ET": {
+ "name": "Etiópia"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filipinas"
+ },
+ "FI": {
+ "name": "Finlândia"
+ },
+ "FR": {
+ "name": "França"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gabão"
+ },
+ "GM": {
+ "name": "Gâmbia"
+ },
+ "GH": {
+ "name": "Gana"
+ },
+ "GE": {
+ "name": "Geórgia"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Granada"
+ },
+ "GR": {
+ "name": "Grécia"
+ },
+ "GL": {
+ "name": "Groênlandia"
+ },
+ "GP": {
+ "name": "Guadalupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Guiana"
+ },
+ "GF": {
+ "name": "Guiana Francesa"
+ },
+ "GN": {
+ "name": "Guiné"
+ },
+ "GW": {
+ "name": "Guiné Bissau"
+ },
+ "GQ": {
+ "name": "Guiné Equatorial"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "NL": {
+ "name": "Holanda"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hungria"
+ },
+ "YE": {
+ "name": "Iêmen"
+ },
+ "KY": {
+ "name": "Ilhas Caiman"
+ },
+ "CK": {
+ "name": "Ilhas Cook"
+ },
+ "FK": {
+ "name": "Ilhas Malvinas"
+ },
+ "MP": {
+ "name": "Ilhas Marianas do Norte"
+ },
+ "MH": {
+ "name": "Ilhas Marshall"
+ },
+ "NF": {
+ "name": "Ilhas Norfolk"
+ },
+ "SB": {
+ "name": "Ilhas Salomão"
+ },
+ "TC": {
+ "name": "Ilhas Turks e Caicos"
+ },
+ "VG": {
+ "name": "Ilhas Virgens Britânicas"
+ },
+ "VI": {
+ "name": "Ilhas Virgens dos EUA"
+ },
+ "IN": {
+ "name": "Índia"
+ },
+ "ID": {
+ "name": "Indonésia"
+ },
+ "IR": {
+ "name": "Irã"
+ },
+ "IQ": {
+ "name": "Iraque"
+ },
+ "IE": {
+ "name": "Irlanda"
+ },
+ "IS": {
+ "name": "Islândia"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Itália"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japão"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordânia"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LV": {
+ "name": "Letônia"
+ },
+ "LB": {
+ "name": "Líbano"
+ },
+ "LR": {
+ "name": "Libéria"
+ },
+ "LY": {
+ "name": "Líbia"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lituânia"
+ },
+ "LU": {
+ "name": "Luxemburgo"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MK": {
+ "name": "Macedônia"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MY": {
+ "name": "Malásia"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MV": {
+ "name": "Maldivas"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marrocos"
+ },
+ "MQ": {
+ "name": "Martinica"
+ },
+ "MU": {
+ "name": "Maurício"
+ },
+ "MR": {
+ "name": "Mauritânia"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "México"
+ },
+ "MM": {
+ "name": "Mianmar"
+ },
+ "FM": {
+ "name": "Micronésia"
+ },
+ "MZ": {
+ "name": "Moçambique"
+ },
+ "MD": {
+ "name": "Moldávia"
+ },
+ "MC": {
+ "name": "Mônaco"
+ },
+ "MN": {
+ "name": "Mongólia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "NA": {
+ "name": "Namíbia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicarágua"
+ },
+ "NE": {
+ "name": "Níger"
+ },
+ "NG": {
+ "name": "Nigéria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Noruega"
+ },
+ "NC": {
+ "name": "Nova Caledônia"
+ },
+ "NZ": {
+ "name": "Nova Zelândia"
+ },
+ "OM": {
+ "name": "Omã"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panamá"
+ },
+ "PG": {
+ "name": "Papua-Nova Guiné"
+ },
+ "PK": {
+ "name": "Paquistão"
+ },
+ "PY": {
+ "name": "Paraguai"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitcairn"
+ },
+ "PF": {
+ "name": "Polinésia Francesa"
+ },
+ "PL": {
+ "name": "Polônia"
+ },
+ "PR": {
+ "name": "Porto Rico"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "KE": {
+ "name": "Quênia"
+ },
+ "KG": {
+ "name": "Quirguistão"
+ },
+ "KI": {
+ "name": "Quiribati"
+ },
+ "GB": {
+ "name": "Reino Unido"
+ },
+ "CF": {
+ "name": "República Centro-Africana"
+ },
+ "DO": {
+ "name": "República Dominicana"
+ },
+ "CM": {
+ "name": "República dos Camarões"
+ },
+ "CZ": {
+ "name": "República Tcheca"
+ },
+ "RE": {
+ "name": "Reunião"
+ },
+ "RO": {
+ "name": "Romênia"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RU": {
+ "name": "Rússia"
+ },
+ "PM": {
+ "name": "Saint Pierre e Miquelon"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa Americana"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "SH": {
+ "name": "Santa Helena"
+ },
+ "LC": {
+ "name": "Santa Lúcia"
+ },
+ "KN": {
+ "name": "São Cristovão e Nevis"
+ },
+ "ST": {
+ "name": "São Tomé e Príncipe"
+ },
+ "VC": {
+ "name": "São Vicente e Granadinas"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SL": {
+ "name": "Serra Leoa"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Síria"
+ },
+ "SO": {
+ "name": "Somália"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SZ": {
+ "name": "Suazilândia"
+ },
+ "SD": {
+ "name": "Sudão"
+ },
+ "SE": {
+ "name": "Suécia"
+ },
+ "CH": {
+ "name": "Suíça"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "TJ": {
+ "name": "Tadjiquistão"
+ },
+ "TH": {
+ "name": "Tailândia"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "IO": {
+ "name": "Território Britânico do Oceano Índico"
+ },
+ "PS": {
+ "name": "Território da Palestina"
+ },
+ "TL": {
+ "name": "Timor Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad e Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunísia"
+ },
+ "TM": {
+ "name": "Turcomenistão"
+ },
+ "TR": {
+ "name": "Turquia"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "UA": {
+ "name": "Ucrânia"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UY": {
+ "name": "Uruguai"
+ },
+ "UZ": {
+ "name": "Uzbequistão"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vaticano"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnã"
+ },
+ "WF": {
+ "name": "Wallis e Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "ZM": {
+ "name": "Zâmbia"
+ },
+ "ZW": {
+ "name": "Zimbábue"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/ses.json b/vendor/commerceguys/intl/resources/country/ses.json
new file mode 100644
index 000000000..c6d377bc9
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/ses.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afgaanistan"
+ },
+ "AX": {
+ "name": "Åland Islands"
+ },
+ "AL": {
+ "name": "Albaani"
+ },
+ "GB": {
+ "name": "Albaasalaama Marganta"
+ },
+ "DE": {
+ "name": "Almaaɲe"
+ },
+ "DZ": {
+ "name": "Alžeeri"
+ },
+ "VI": {
+ "name": "Ameerik Virgin Gungey"
+ },
+ "US": {
+ "name": "Ameriki Laabu Margantey"
+ },
+ "AS": {
+ "name": "Ameriki Samoa"
+ },
+ "AD": {
+ "name": "Andoora"
+ },
+ "AI": {
+ "name": "Angiiya"
+ },
+ "AO": {
+ "name": "Angoola"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigua nda Barbuuda"
+ },
+ "AR": {
+ "name": "Argentine"
+ },
+ "AM": {
+ "name": "Armeeni"
+ },
+ "AW": {
+ "name": "Aruuba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "IS": {
+ "name": "Ayceland"
+ },
+ "AZ": {
+ "name": "Azerbaayijaŋ"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahareen"
+ },
+ "BD": {
+ "name": "Bangladeši"
+ },
+ "BB": {
+ "name": "Barbaados"
+ },
+ "BE": {
+ "name": "Belgiiki"
+ },
+ "BZ": {
+ "name": "Beliizi"
+ },
+ "BJ": {
+ "name": "Beniŋ"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BY": {
+ "name": "Biloriši"
+ },
+ "BO": {
+ "name": "Boolivi"
+ },
+ "BA": {
+ "name": "Bosni nda Herzegovine"
+ },
+ "BW": {
+ "name": "Botswaana"
+ },
+ "BR": {
+ "name": "Breezil"
+ },
+ "IO": {
+ "name": "Britiši Indu teekoo laama"
+ },
+ "VG": {
+ "name": "Britiši Virgin gungey"
+ },
+ "BN": {
+ "name": "Bruunee"
+ },
+ "BG": {
+ "name": "Bulgaari"
+ },
+ "BF": {
+ "name": "Burkina faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Buutaŋ"
+ },
+ "TD": {
+ "name": "Caadu"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "CZ": {
+ "name": "Cek labo"
+ },
+ "CF": {
+ "name": "Centraafriki koyra"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Danemark"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Doominiki"
+ },
+ "DO": {
+ "name": "Doominiki laboo"
+ },
+ "ET": {
+ "name": "Ecioopi"
+ },
+ "EC": {
+ "name": "Ekwateer"
+ },
+ "ER": {
+ "name": "Eritree"
+ },
+ "ES": {
+ "name": "Espaaɲe"
+ },
+ "EE": {
+ "name": "Estooni"
+ },
+ "FR": {
+ "name": "Faransi"
+ },
+ "GF": {
+ "name": "Faransi Guyaan"
+ },
+ "PF": {
+ "name": "Faransi Polineezi"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filipine"
+ },
+ "FI": {
+ "name": "Finlandu"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gaabon"
+ },
+ "GH": {
+ "name": "Gaana"
+ },
+ "GM": {
+ "name": "Gambi"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GN": {
+ "name": "Gine"
+ },
+ "GW": {
+ "name": "Gine-Bisso"
+ },
+ "GQ": {
+ "name": "Ginee Ekwatorial"
+ },
+ "GE": {
+ "name": "Gorgi"
+ },
+ "GR": {
+ "name": "Greece"
+ },
+ "GD": {
+ "name": "Grenaada"
+ },
+ "GL": {
+ "name": "Grinland"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Guyaane"
+ },
+ "GP": {
+ "name": "Gwadeluup"
+ },
+ "GT": {
+ "name": "Gwatemaala"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "ZA": {
+ "name": "Hawsa Afriki Laboo"
+ },
+ "NL": {
+ "name": "Hollandu"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hungaari"
+ },
+ "ID": {
+ "name": "Indoneezi"
+ },
+ "IN": {
+ "name": "Indu laboo"
+ },
+ "IQ": {
+ "name": "Iraak"
+ },
+ "IR": {
+ "name": "Iraan"
+ },
+ "RU": {
+ "name": "Iriši laboo"
+ },
+ "IE": {
+ "name": "Irlandu"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israyel"
+ },
+ "IT": {
+ "name": "Itaali"
+ },
+ "JP": {
+ "name": "Jaapoŋ"
+ },
+ "JM": {
+ "name": "Jamaayik"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "DJ": {
+ "name": "Jibuuti"
+ },
+ "NC": {
+ "name": "Kaaledooni Taagaa"
+ },
+ "KZ": {
+ "name": "Kaazakstan"
+ },
+ "FK": {
+ "name": "Kalkan gungey"
+ },
+ "KH": {
+ "name": "Kamboogi"
+ },
+ "CM": {
+ "name": "Kameruun"
+ },
+ "CA": {
+ "name": "Kanaada"
+ },
+ "CV": {
+ "name": "Kapuver gungey"
+ },
+ "QA": {
+ "name": "Kataar"
+ },
+ "KY": {
+ "name": "Kayman gungey"
+ },
+ "KE": {
+ "name": "Keeniya"
+ },
+ "KI": {
+ "name": "Kiribaati"
+ },
+ "CO": {
+ "name": "Kolombi"
+ },
+ "KM": {
+ "name": "Komoor"
+ },
+ "CG": {
+ "name": "Kongoo"
+ },
+ "CD": {
+ "name": "Kongoo demookaratiki laboo"
+ },
+ "KP": {
+ "name": "Kooree, Gurma"
+ },
+ "KR": {
+ "name": "Kooree, Hawsa"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "Kosta rika"
+ },
+ "HR": {
+ "name": "Krwaasi"
+ },
+ "CI": {
+ "name": "Kudwar"
+ },
+ "CU": {
+ "name": "Kuuba"
+ },
+ "CK": {
+ "name": "Kuuk gungey"
+ },
+ "KW": {
+ "name": "Kuweet"
+ },
+ "KG": {
+ "name": "Kyrgyzstan"
+ },
+ "AE": {
+ "name": "Laaraw Imaarawey Margantey"
+ },
+ "LA": {
+ "name": "Laawos"
+ },
+ "LS": {
+ "name": "Leesoto"
+ },
+ "LV": {
+ "name": "Letooni"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LY": {
+ "name": "Liibi"
+ },
+ "LT": {
+ "name": "Lituaani"
+ },
+ "LB": {
+ "name": "Lubnaan"
+ },
+ "LU": {
+ "name": "Luxembourg"
+ },
+ "MK": {
+ "name": "Maacedooni"
+ },
+ "ML": {
+ "name": "Maali"
+ },
+ "MA": {
+ "name": "Maarok"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MW": {
+ "name": "Malaawi"
+ },
+ "MV": {
+ "name": "Maldiivu"
+ },
+ "MY": {
+ "name": "Maleezi"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MP": {
+ "name": "Mariana Gurma Gungey"
+ },
+ "MH": {
+ "name": "Maršal gungey"
+ },
+ "MQ": {
+ "name": "Martiniiki"
+ },
+ "MM": {
+ "name": "Maynamar"
+ },
+ "YT": {
+ "name": "Mayooti"
+ },
+ "MX": {
+ "name": "Mexiki"
+ },
+ "FM": {
+ "name": "Mikronezi"
+ },
+ "EG": {
+ "name": "Misra"
+ },
+ "MD": {
+ "name": "Moldovi"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MN": {
+ "name": "Mongooli"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MU": {
+ "name": "Mooris gungey"
+ },
+ "MR": {
+ "name": "Mooritaani"
+ },
+ "MZ": {
+ "name": "Mozambik"
+ },
+ "NG": {
+ "name": "Naajiriia"
+ },
+ "NA": {
+ "name": "Naamibi"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Neepal"
+ },
+ "NI": {
+ "name": "Nikaragwa"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NE": {
+ "name": "Nižer"
+ },
+ "NF": {
+ "name": "Norfolk Gungoo"
+ },
+ "NO": {
+ "name": "Norveej"
+ },
+ "OM": {
+ "name": "Omaan"
+ },
+ "AU": {
+ "name": "Ostraali"
+ },
+ "AT": {
+ "name": "Otriši"
+ },
+ "PK": {
+ "name": "Paakistan"
+ },
+ "PS": {
+ "name": "Palestine Dangay nda Gaaza"
+ },
+ "PW": {
+ "name": "Palu"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua Ginee Taaga"
+ },
+ "PY": {
+ "name": "Paraguwey"
+ },
+ "PE": {
+ "name": "Peeru"
+ },
+ "PN": {
+ "name": "Pitikarin"
+ },
+ "PL": {
+ "name": "Poloɲe"
+ },
+ "PR": {
+ "name": "Porto Riko"
+ },
+ "PT": {
+ "name": "Portugaal"
+ },
+ "RE": {
+ "name": "Reenioŋ"
+ },
+ "RO": {
+ "name": "Rumaani"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "SV": {
+ "name": "Salvador laboo"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "Sao Tome nda Prinsipe"
+ },
+ "SA": {
+ "name": "Saudiya"
+ },
+ "SL": {
+ "name": "Seera Leon"
+ },
+ "SC": {
+ "name": "Seešel"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "SH": {
+ "name": "Seŋ Helena"
+ },
+ "KN": {
+ "name": "Seŋ Kitts nda Nevis"
+ },
+ "LC": {
+ "name": "Seŋ Lussia"
+ },
+ "PM": {
+ "name": "Seŋ Piyer nda Mikelon"
+ },
+ "VC": {
+ "name": "Seŋvinsaŋ nda Grenadine"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "CL": {
+ "name": "Šiili"
+ },
+ "CN": {
+ "name": "Šiin"
+ },
+ "CY": {
+ "name": "Šiipur"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SK": {
+ "name": "Slovaaki"
+ },
+ "SI": {
+ "name": "Sloveeni"
+ },
+ "SB": {
+ "name": "Solomon Gungey"
+ },
+ "SO": {
+ "name": "Somaali"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "LK": {
+ "name": "Srilanka"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SR": {
+ "name": "Surinaam"
+ },
+ "SD": {
+ "name": "Suudaŋ"
+ },
+ "SY": {
+ "name": "Suuria"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swaziland"
+ },
+ "SE": {
+ "name": "Sweede"
+ },
+ "CH": {
+ "name": "Swisu"
+ },
+ "TH": {
+ "name": "Taayiland"
+ },
+ "TW": {
+ "name": "Taayiwan"
+ },
+ "TJ": {
+ "name": "Taažikistan"
+ },
+ "TZ": {
+ "name": "Tanzaani"
+ },
+ "TL": {
+ "name": "Timoor hawsa"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad nda Tobaago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunizi"
+ },
+ "TC": {
+ "name": "Turk nda Kayikos Gungey"
+ },
+ "TR": {
+ "name": "Turki"
+ },
+ "TM": {
+ "name": "Turkmenistaŋ"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukreen"
+ },
+ "JO": {
+ "name": "Urdun"
+ },
+ "UY": {
+ "name": "Uruguwey"
+ },
+ "UZ": {
+ "name": "Uzbeekistan"
+ },
+ "VA": {
+ "name": "Vaatikan Laama"
+ },
+ "VU": {
+ "name": "Vanautu"
+ },
+ "VE": {
+ "name": "Veneezuyeela"
+ },
+ "VN": {
+ "name": "Vietnaam"
+ },
+ "WF": {
+ "name": "Wallis nda Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yaman"
+ },
+ "ZM": {
+ "name": "Zambi"
+ },
+ "NZ": {
+ "name": "Zeelandu Taaga"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/sg.json b/vendor/commerceguys/intl/resources/country/sg.json
new file mode 100644
index 000000000..a04e0f7aa
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/sg.json
@@ -0,0 +1,761 @@
+{
+ "AX": {
+ "name": "Åland Islands"
+ },
+ "AL": {
+ "name": "Albanïi"
+ },
+ "US": {
+ "name": "ÂLeaa-Ôko tî Amerika"
+ },
+ "DZ": {
+ "name": "Alzerïi"
+ },
+ "AD": {
+ "name": "Andôro"
+ },
+ "AO": {
+ "name": "Angoläa"
+ },
+ "AI": {
+ "name": "Angûîla"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antîgua na Barbûda"
+ },
+ "AE": {
+ "name": "Arâbo Emirâti Ôko"
+ },
+ "AM": {
+ "name": "Armenïi"
+ },
+ "AW": {
+ "name": "Arûba"
+ },
+ "AR": {
+ "name": "Arzantîna"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "VG": {
+ "name": "Âzôâ Viîrîggo tî Anglëe"
+ },
+ "CK": {
+ "name": "âzûâ Kûku"
+ },
+ "MP": {
+ "name": "Âzûâ Märïâni tî Banga"
+ },
+ "MH": {
+ "name": "Âzûâ Märshâl"
+ },
+ "KY": {
+ "name": "Âzûâ Ngundë, Kaimäni"
+ },
+ "CV": {
+ "name": "Azûâ tî Kâpo-Vêre"
+ },
+ "FK": {
+ "name": "Âzûâ tî Mälüîni"
+ },
+ "TC": {
+ "name": "Âzûâ Turku na Kaîki"
+ },
+ "VI": {
+ "name": "Âzûâ Virîgo tî Amerîka"
+ },
+ "BS": {
+ "name": "Bahâmasa"
+ },
+ "BH": {
+ "name": "Bahrâina"
+ },
+ "BB": {
+ "name": "Barabâda"
+ },
+ "BY": {
+ "name": "Belarüsi"
+ },
+ "BE": {
+ "name": "Bêleze, Belezîki"
+ },
+ "BZ": {
+ "name": "Belîzi"
+ },
+ "BJ": {
+ "name": "Benëen"
+ },
+ "BD": {
+ "name": "Bengladêshi"
+ },
+ "BM": {
+ "name": "Beremûda"
+ },
+ "BO": {
+ "name": "Bolivïi"
+ },
+ "BA": {
+ "name": "Bosnïi na Herzegovînni"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brezîli"
+ },
+ "BN": {
+ "name": "Brunêi"
+ },
+ "BG": {
+ "name": "Bulugarïi"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundïi"
+ },
+ "BT": {
+ "name": "Butäan"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Danemêrke"
+ },
+ "DJ": {
+ "name": "Dibutùii"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Dömïnîka"
+ },
+ "EC": {
+ "name": "Ekuatëre"
+ },
+ "IN": {
+ "name": "Ênnde"
+ },
+ "ID": {
+ "name": "Ênndonezïi"
+ },
+ "ER": {
+ "name": "Eritrëe"
+ },
+ "ES": {
+ "name": "Espânye"
+ },
+ "EE": {
+ "name": "Estonïi"
+ },
+ "ET": {
+ "name": "Etiopïi"
+ },
+ "AF": {
+ "name": "Faganïta, Afganïstäan"
+ },
+ "FR": {
+ "name": "Farânzi"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FI": {
+ "name": "Fëlânde"
+ },
+ "FJ": {
+ "name": "Fidyïi"
+ },
+ "PH": {
+ "name": "Filipîni"
+ },
+ "NC": {
+ "name": "Finî Kaledonïi"
+ },
+ "NZ": {
+ "name": "Finî Zelânde"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gaböon"
+ },
+ "GM": {
+ "name": "Gambïi"
+ },
+ "GH": {
+ "name": "Ganäa"
+ },
+ "GY": {
+ "name": "Gayâna"
+ },
+ "GR": {
+ "name": "Gerêsi"
+ },
+ "GN": {
+ "name": "Ginëe"
+ },
+ "GQ": {
+ "name": "Ginëe tî Ekuatëre"
+ },
+ "GW": {
+ "name": "Gninëe-Bisau"
+ },
+ "GL": {
+ "name": "Gorolânde"
+ },
+ "GD": {
+ "name": "Grenâda"
+ },
+ "GP": {
+ "name": "Guadelûpu"
+ },
+ "GU": {
+ "name": "Guâm"
+ },
+ "GT": {
+ "name": "Guatêmälä"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GF": {
+ "name": "Güyâni tî farânzi"
+ },
+ "HT": {
+ "name": "Haitïi"
+ },
+ "NL": {
+ "name": "Holände"
+ },
+ "HN": {
+ "name": "Honduräsi"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hongirùii"
+ },
+ "IR": {
+ "name": "Iräan"
+ },
+ "IQ": {
+ "name": "Irâki"
+ },
+ "IE": {
+ "name": "Irlânde"
+ },
+ "IS": {
+ "name": "Islânde"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israëli"
+ },
+ "IT": {
+ "name": "Italùii"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "KH": {
+ "name": "Kämbôzi"
+ },
+ "CM": {
+ "name": "Kamerûne"
+ },
+ "EG": {
+ "name": "Kâmitâ"
+ },
+ "CA": {
+ "name": "Kanadäa"
+ },
+ "QA": {
+ "name": "Katära"
+ },
+ "KZ": {
+ "name": "Kazakisitäan"
+ },
+ "KE": {
+ "name": "Kenyäa"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "KG": {
+ "name": "Kirigizitùaan"
+ },
+ "CI": {
+ "name": "Kôdivüära"
+ },
+ "GB": {
+ "name": "Ködörögbïä--Ôko"
+ },
+ "CF": {
+ "name": "Ködörösêse tî Bêafrîka"
+ },
+ "DO": {
+ "name": "Ködörösêse tî Dominîka"
+ },
+ "CD": {
+ "name": "Ködörösêse tî Ngunuhalëzo tî kongö"
+ },
+ "CZ": {
+ "name": "Ködörösêse tî Tyêki"
+ },
+ "CO": {
+ "name": "Kolombïi"
+ },
+ "KM": {
+ "name": "Kömôro"
+ },
+ "CG": {
+ "name": "Kongö"
+ },
+ "KP": {
+ "name": "Korëe tî Banga"
+ },
+ "KR": {
+ "name": "Korëe tî Mbongo"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "Kôsta Rîka"
+ },
+ "KW": {
+ "name": "Köwêti"
+ },
+ "HR": {
+ "name": "Kroasïi"
+ },
+ "CU": {
+ "name": "Kubäa"
+ },
+ "LS": {
+ "name": "Lesôtho"
+ },
+ "VA": {
+ "name": "Letëe tî Vatikäan"
+ },
+ "LV": {
+ "name": "Letonùii"
+ },
+ "LR": {
+ "name": "Liberïa"
+ },
+ "LY": {
+ "name": "Libïi"
+ },
+ "LB": {
+ "name": "Libùaan"
+ },
+ "LI": {
+ "name": "Liechtenstein,"
+ },
+ "LT": {
+ "name": "Lituanïi"
+ },
+ "LA": {
+ "name": "Lùaôsi"
+ },
+ "LU": {
+ "name": "Lugzambûru"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MG": {
+ "name": "Madagaskära"
+ },
+ "MW": {
+ "name": "Malawïi"
+ },
+ "MV": {
+ "name": "Maldîva"
+ },
+ "MY": {
+ "name": "Malezïi"
+ },
+ "ML": {
+ "name": "Malïi"
+ },
+ "MT": {
+ "name": "Mâlta"
+ },
+ "MA": {
+ "name": "Marôko"
+ },
+ "MQ": {
+ "name": "Märtïnîki"
+ },
+ "MK": {
+ "name": "Maseduäni"
+ },
+ "YT": {
+ "name": "Mäyôte"
+ },
+ "ZA": {
+ "name": "Mbongo-Afrîka"
+ },
+ "MX": {
+ "name": "Mekisîki"
+ },
+ "FM": {
+ "name": "Mikronezïi"
+ },
+ "MD": {
+ "name": "Moldavùii"
+ },
+ "MC": {
+ "name": "Monaköo"
+ },
+ "MN": {
+ "name": "Mongolïi"
+ },
+ "MS": {
+ "name": "Monserâte"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MU": {
+ "name": "Mörîsi"
+ },
+ "MR": {
+ "name": "Moritanïi"
+ },
+ "MZ": {
+ "name": "Mözämbîka"
+ },
+ "MM": {
+ "name": "Myämâra"
+ },
+ "NA": {
+ "name": "Namibùii"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nëpâli"
+ },
+ "NI": {
+ "name": "Nikaragua"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NE": {
+ "name": "Nizëre"
+ },
+ "NG": {
+ "name": "Nizerïa"
+ },
+ "NO": {
+ "name": "Nörvêzi"
+ },
+ "OM": {
+ "name": "Omâni"
+ },
+ "AU": {
+ "name": "Ostralïi, Sotralïi"
+ },
+ "AT": {
+ "name": "Otrîsi"
+ },
+ "PK": {
+ "name": "Pakistäan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papû Finî Ginëe, Papuazïi"
+ },
+ "PY": {
+ "name": "Paraguëe"
+ },
+ "PE": {
+ "name": "Perüu"
+ },
+ "PN": {
+ "name": "Pitikêrni"
+ },
+ "PF": {
+ "name": "Polinezïi tî farânzi"
+ },
+ "PL": {
+ "name": "Pölôni"
+ },
+ "PR": {
+ "name": "Porto Rîko"
+ },
+ "PT": {
+ "name": "Pörtugäle, Ködörö Pûra"
+ },
+ "RE": {
+ "name": "Reinïon"
+ },
+ "RW": {
+ "name": "Ruandäa"
+ },
+ "RO": {
+ "name": "Rumanïi"
+ },
+ "RU": {
+ "name": "Rusïi"
+ },
+ "SV": {
+ "name": "Salvadöro"
+ },
+ "AS": {
+ "name": "Samöa tî Amerîka"
+ },
+ "WS": {
+ "name": "Samoäa"
+ },
+ "ST": {
+ "name": "Sâô Tömê na Prinsîpe"
+ },
+ "SA": {
+ "name": "Saûdi Arabïi"
+ },
+ "KN": {
+ "name": "Sên-Krïstôfo-na-Nevîsi"
+ },
+ "SM": {
+ "name": "Sên-Marëen"
+ },
+ "PM": {
+ "name": "Sên-Pyêre na Mikelöon"
+ },
+ "VC": {
+ "name": "Sên-Vensäan na âGrenadîni"
+ },
+ "SN": {
+ "name": "Senegäle"
+ },
+ "SH": {
+ "name": "Sênt-Helêna"
+ },
+ "LC": {
+ "name": "Sênt-Lisïi"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "IO": {
+ "name": "Sêse tî Anglëe na Ngûyämä tî Ênnde"
+ },
+ "PS": {
+ "name": "Sêse tî Palestîni"
+ },
+ "SC": {
+ "name": "Sëyshêle"
+ },
+ "CL": {
+ "name": "Shilïi"
+ },
+ "CN": {
+ "name": "Shîna"
+ },
+ "SL": {
+ "name": "Sierä-Leône"
+ },
+ "SG": {
+ "name": "Sïngäpûru"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "CY": {
+ "name": "Sîpri"
+ },
+ "LK": {
+ "name": "Sirî-Lanka"
+ },
+ "SY": {
+ "name": "Sirïi"
+ },
+ "SK": {
+ "name": "Solovakïi"
+ },
+ "SI": {
+ "name": "Solovenïi"
+ },
+ "SO": {
+ "name": "Somalïi"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SD": {
+ "name": "Sudäan"
+ },
+ "SE": {
+ "name": "Suêde"
+ },
+ "CH": {
+ "name": "Sûîsi"
+ },
+ "SR": {
+ "name": "Surinäm"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swäzïlânde"
+ },
+ "TJ": {
+ "name": "Taazikiistäan"
+ },
+ "TH": {
+ "name": "Tailânde"
+ },
+ "TW": {
+ "name": "Tâiwâni"
+ },
+ "TZ": {
+ "name": "Tanzanïi"
+ },
+ "TL": {
+ "name": "Timôro tî Tö"
+ },
+ "TG": {
+ "name": "Togö"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinitùee na Tobagö"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunizïi"
+ },
+ "TM": {
+ "name": "Turkumenistäan"
+ },
+ "TR": {
+ "name": "Turukïi"
+ },
+ "TV": {
+ "name": "Tüvalü"
+ },
+ "TD": {
+ "name": "Tyâde"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "UG": {
+ "name": "Ugandäa"
+ },
+ "UA": {
+ "name": "Ukrêni"
+ },
+ "UY": {
+ "name": "Uruguëe"
+ },
+ "UZ": {
+ "name": "Uzbekistäan"
+ },
+ "VU": {
+ "name": "Vanuatü"
+ },
+ "VE": {
+ "name": "Venezueläa"
+ },
+ "VN": {
+ "name": "Vietnäm"
+ },
+ "WF": {
+ "name": "Walîsi na Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yëmêni"
+ },
+ "JM": {
+ "name": "Zamaîka"
+ },
+ "DE": {
+ "name": "Zâmani"
+ },
+ "ZM": {
+ "name": "Zambïi"
+ },
+ "JP": {
+ "name": "Zapöon"
+ },
+ "AZ": {
+ "name": "Zerebaidyäan, Azerbaidyäan,"
+ },
+ "GI": {
+ "name": "Zibraltära, Zibaratära"
+ },
+ "ZW": {
+ "name": "Zimbäbwe"
+ },
+ "JO": {
+ "name": "Zordanïi"
+ },
+ "GE": {
+ "name": "Zorzïi"
+ },
+ "NF": {
+ "name": "Zûâ Nôrfôlko"
+ },
+ "SB": {
+ "name": "Zûâ Salomöon"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/shi-Latn.json b/vendor/commerceguys/intl/resources/country/shi-Latn.json
new file mode 100644
index 000000000..6be29b52b
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/shi-Latn.json
@@ -0,0 +1,761 @@
+{
+ "AZ": {
+ "name": "adrabijan"
+ },
+ "GI": {
+ "name": "adrar n ṭaṛiq"
+ },
+ "AF": {
+ "name": "afɣanistan"
+ },
+ "ZA": {
+ "name": "afriqya n iffus"
+ },
+ "PS": {
+ "name": "agmmaḍ n tagut d ɣzza"
+ },
+ "AX": {
+ "name": "Åland Islands"
+ },
+ "AL": {
+ "name": "albanya"
+ },
+ "DE": {
+ "name": "almanya"
+ },
+ "ID": {
+ "name": "andunisya"
+ },
+ "AD": {
+ "name": "andura"
+ },
+ "AI": {
+ "name": "angila"
+ },
+ "AO": {
+ "name": "angula"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "antiga d brbuda"
+ },
+ "AR": {
+ "name": "arjantin"
+ },
+ "AM": {
+ "name": "arminya"
+ },
+ "AW": {
+ "name": "aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "VA": {
+ "name": "awank n fatikan"
+ },
+ "PG": {
+ "name": "babwa ɣinya tamaynut"
+ },
+ "BS": {
+ "name": "bahamas"
+ },
+ "PK": {
+ "name": "bakistan"
+ },
+ "PW": {
+ "name": "balaw"
+ },
+ "PA": {
+ "name": "banama"
+ },
+ "BD": {
+ "name": "bangladic"
+ },
+ "PY": {
+ "name": "baragway"
+ },
+ "BB": {
+ "name": "barbad"
+ },
+ "BH": {
+ "name": "bḥrayn"
+ },
+ "BT": {
+ "name": "bhutan"
+ },
+ "BY": {
+ "name": "bilarusya"
+ },
+ "BZ": {
+ "name": "biliz"
+ },
+ "BJ": {
+ "name": "binin"
+ },
+ "PE": {
+ "name": "biru"
+ },
+ "PN": {
+ "name": "bitkayrn"
+ },
+ "BG": {
+ "name": "blɣara"
+ },
+ "BE": {
+ "name": "bljika"
+ },
+ "BR": {
+ "name": "brazil"
+ },
+ "BM": {
+ "name": "brmuda"
+ },
+ "PT": {
+ "name": "bṛṭqiz"
+ },
+ "BN": {
+ "name": "bruni"
+ },
+ "BO": {
+ "name": "bulibya"
+ },
+ "PF": {
+ "name": "bulinizya tafransist"
+ },
+ "PL": {
+ "name": "bulunya"
+ },
+ "BF": {
+ "name": "burkina fasu"
+ },
+ "PR": {
+ "name": "burtu riku"
+ },
+ "BI": {
+ "name": "burundi"
+ },
+ "BA": {
+ "name": "busna d hirsik"
+ },
+ "BW": {
+ "name": "butswana"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "CL": {
+ "name": "ccili"
+ },
+ "CN": {
+ "name": "ccinwa"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CO": {
+ "name": "culumbya"
+ },
+ "KM": {
+ "name": "cumur"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "danmark"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DJ": {
+ "name": "djibuti"
+ },
+ "DM": {
+ "name": "duminik"
+ },
+ "DZ": {
+ "name": "dzayr"
+ },
+ "OM": {
+ "name": "ɛuman"
+ },
+ "VU": {
+ "name": "fanwaṭu"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "fidji"
+ },
+ "PH": {
+ "name": "filibbin"
+ },
+ "FI": {
+ "name": "fillanda"
+ },
+ "VE": {
+ "name": "finzwila"
+ },
+ "VN": {
+ "name": "fitnam"
+ },
+ "FR": {
+ "name": "fransa"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "gabun"
+ },
+ "GM": {
+ "name": "gambya"
+ },
+ "GL": {
+ "name": "griland"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GP": {
+ "name": "gwadalub"
+ },
+ "GU": {
+ "name": "gwam"
+ },
+ "GT": {
+ "name": "gwatimala"
+ },
+ "GF": {
+ "name": "gwiyan tafransist"
+ },
+ "GY": {
+ "name": "gwiyana"
+ },
+ "GH": {
+ "name": "ɣana"
+ },
+ "GN": {
+ "name": "ɣinya"
+ },
+ "GW": {
+ "name": "ɣinya bisaw"
+ },
+ "GQ": {
+ "name": "ɣinya n ikwadur"
+ },
+ "GD": {
+ "name": "ɣrnaṭa"
+ },
+ "HT": {
+ "name": "hayti"
+ },
+ "HU": {
+ "name": "hnɣarya"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "NL": {
+ "name": "hulanda"
+ },
+ "HN": {
+ "name": "hunduras"
+ },
+ "EC": {
+ "name": "ikwadur"
+ },
+ "IR": {
+ "name": "iran"
+ },
+ "ER": {
+ "name": "iritirya"
+ },
+ "IE": {
+ "name": "irlanda"
+ },
+ "IS": {
+ "name": "island"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "israyil"
+ },
+ "EE": {
+ "name": "istunya"
+ },
+ "IT": {
+ "name": "iṭalya"
+ },
+ "ET": {
+ "name": "ityubya"
+ },
+ "US": {
+ "name": "iwunak munnin n mirikan"
+ },
+ "JM": {
+ "name": "jamayka"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "GE": {
+ "name": "jurjya"
+ },
+ "NC": {
+ "name": "kalidunya tamaynut"
+ },
+ "KH": {
+ "name": "kambudya"
+ },
+ "CM": {
+ "name": "kamirun"
+ },
+ "CA": {
+ "name": "kanada"
+ },
+ "KZ": {
+ "name": "kazaxstan"
+ },
+ "KE": {
+ "name": "kinya"
+ },
+ "KG": {
+ "name": "kirɣizistan"
+ },
+ "KI": {
+ "name": "kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "HR": {
+ "name": "krwatya"
+ },
+ "CU": {
+ "name": "kuba"
+ },
+ "CG": {
+ "name": "kungu"
+ },
+ "KR": {
+ "name": "kurya n iffus"
+ },
+ "KP": {
+ "name": "kurya n iẓẓlmḍ"
+ },
+ "CR": {
+ "name": "kusta rika"
+ },
+ "CI": {
+ "name": "kut difwar"
+ },
+ "LV": {
+ "name": "latfya"
+ },
+ "LA": {
+ "name": "laws"
+ },
+ "IQ": {
+ "name": "lɛiraq"
+ },
+ "IN": {
+ "name": "lhind"
+ },
+ "LR": {
+ "name": "libirya"
+ },
+ "LY": {
+ "name": "libya"
+ },
+ "LI": {
+ "name": "likinctayn"
+ },
+ "AE": {
+ "name": "limarat"
+ },
+ "LS": {
+ "name": "liṣuṭu"
+ },
+ "LT": {
+ "name": "litwanya"
+ },
+ "KW": {
+ "name": "lkwit"
+ },
+ "MA": {
+ "name": "lmɣrib"
+ },
+ "LB": {
+ "name": "lubnan"
+ },
+ "LU": {
+ "name": "luksanburg"
+ },
+ "JO": {
+ "name": "lurdun"
+ },
+ "JP": {
+ "name": "lyaban"
+ },
+ "GR": {
+ "name": "lyunan"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MG": {
+ "name": "madaɣacqar"
+ },
+ "MW": {
+ "name": "malawi"
+ },
+ "MV": {
+ "name": "maldif"
+ },
+ "ML": {
+ "name": "mali"
+ },
+ "MY": {
+ "name": "malizya"
+ },
+ "MT": {
+ "name": "malṭa"
+ },
+ "MQ": {
+ "name": "martinik"
+ },
+ "MK": {
+ "name": "masidunya"
+ },
+ "YT": {
+ "name": "mayuṭ"
+ },
+ "FM": {
+ "name": "mikrunizya"
+ },
+ "MX": {
+ "name": "miksik"
+ },
+ "EG": {
+ "name": "miṣṛ"
+ },
+ "MN": {
+ "name": "mnɣulya"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MD": {
+ "name": "muldufya"
+ },
+ "MC": {
+ "name": "munaku"
+ },
+ "MS": {
+ "name": "munsirat"
+ },
+ "MU": {
+ "name": "muris"
+ },
+ "MR": {
+ "name": "muṛiṭanya"
+ },
+ "MZ": {
+ "name": "muznbiq"
+ },
+ "MM": {
+ "name": "myanmar"
+ },
+ "NA": {
+ "name": "namibya"
+ },
+ "NR": {
+ "name": "nawru"
+ },
+ "NP": {
+ "name": "nibal"
+ },
+ "NG": {
+ "name": "nijirya"
+ },
+ "NI": {
+ "name": "nikaragwa"
+ },
+ "NU": {
+ "name": "niwi"
+ },
+ "NE": {
+ "name": "nnijir"
+ },
+ "AT": {
+ "name": "nnmsa"
+ },
+ "NO": {
+ "name": "nnrwij"
+ },
+ "NZ": {
+ "name": "nyuzilanda"
+ },
+ "QA": {
+ "name": "qatar"
+ },
+ "CY": {
+ "name": "qubrus"
+ },
+ "RE": {
+ "name": "riyunyun"
+ },
+ "RO": {
+ "name": "rumanya"
+ },
+ "RU": {
+ "name": "rusya"
+ },
+ "RW": {
+ "name": "rwanda"
+ },
+ "SV": {
+ "name": "salfadur"
+ },
+ "WS": {
+ "name": "samwa"
+ },
+ "AS": {
+ "name": "samwa tamirikanit"
+ },
+ "PM": {
+ "name": "sanbyir d miklun"
+ },
+ "VC": {
+ "name": "sanfansan d grinadin"
+ },
+ "KN": {
+ "name": "sankris d nifis"
+ },
+ "SM": {
+ "name": "sanmarinu"
+ },
+ "SH": {
+ "name": "santilin"
+ },
+ "LC": {
+ "name": "santlusi"
+ },
+ "ST": {
+ "name": "sawṭumi d bransib"
+ },
+ "ES": {
+ "name": "sbanya"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SK": {
+ "name": "slufakya"
+ },
+ "SI": {
+ "name": "slufinya"
+ },
+ "SG": {
+ "name": "snɣafura"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "LK": {
+ "name": "srilanka"
+ },
+ "SA": {
+ "name": "ssaɛudiya"
+ },
+ "SC": {
+ "name": "ssicil"
+ },
+ "SN": {
+ "name": "ssinigal"
+ },
+ "SL": {
+ "name": "ssiralyun"
+ },
+ "SD": {
+ "name": "ssudan"
+ },
+ "SO": {
+ "name": "ṣṣumal"
+ },
+ "SE": {
+ "name": "sswid"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SR": {
+ "name": "surinam"
+ },
+ "SY": {
+ "name": "surya"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "SZ": {
+ "name": "swazilanda"
+ },
+ "CH": {
+ "name": "swisra"
+ },
+ "TJ": {
+ "name": "tadjakistan"
+ },
+ "CD": {
+ "name": "tagdudant tadimukratit n Kongo"
+ },
+ "DO": {
+ "name": "tagdudant taduminikt"
+ },
+ "CF": {
+ "name": "tagdudant tanammast n ifriqya"
+ },
+ "CZ": {
+ "name": "tagdudant tatcikit"
+ },
+ "GB": {
+ "name": "tagldit imunn"
+ },
+ "IO": {
+ "name": "tamnaḍt tanglizit n ugaru ahindi"
+ },
+ "TZ": {
+ "name": "ṭanẓanya"
+ },
+ "TH": {
+ "name": "ṭayland"
+ },
+ "TW": {
+ "name": "ṭaywan"
+ },
+ "TD": {
+ "name": "tcad"
+ },
+ "CV": {
+ "name": "tigzirin n kabbirdi"
+ },
+ "KY": {
+ "name": "tigzirin n kayman"
+ },
+ "CK": {
+ "name": "tigzirin n kuk"
+ },
+ "FK": {
+ "name": "tigzirin n malawi"
+ },
+ "MH": {
+ "name": "tigzirin n marcal"
+ },
+ "MP": {
+ "name": "tigzirin n maryan n iẓẓlmḍ"
+ },
+ "NF": {
+ "name": "tigzirin n nurfulk"
+ },
+ "SB": {
+ "name": "tigzirin n saluman"
+ },
+ "TC": {
+ "name": "tigzirin n turkya d kayk"
+ },
+ "VI": {
+ "name": "tigzirin timgad n iwunak munnin"
+ },
+ "VG": {
+ "name": "tigzirin timgad n nngliz"
+ },
+ "TL": {
+ "name": "timur n lqblt"
+ },
+ "TT": {
+ "name": "trinidad d ṭubagu"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TV": {
+ "name": "tufalu"
+ },
+ "TG": {
+ "name": "ṭugu"
+ },
+ "TK": {
+ "name": "ṭuklaw"
+ },
+ "TO": {
+ "name": "ṭunga"
+ },
+ "TN": {
+ "name": "tuns"
+ },
+ "TM": {
+ "name": "turkmanstan"
+ },
+ "TR": {
+ "name": "turkya"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "UG": {
+ "name": "uɣanda"
+ },
+ "UA": {
+ "name": "ukranya"
+ },
+ "UY": {
+ "name": "urugway"
+ },
+ "AU": {
+ "name": "ustralya"
+ },
+ "UZ": {
+ "name": "uzbakistan"
+ },
+ "WF": {
+ "name": "walis d futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "yaman"
+ },
+ "ZM": {
+ "name": "zambya"
+ },
+ "ZW": {
+ "name": "zimbabwi"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/shi.json b/vendor/commerceguys/intl/resources/country/shi.json
new file mode 100644
index 000000000..bf55394b9
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/shi.json
@@ -0,0 +1,761 @@
+{
+ "AX": {
+ "name": "Åland Islands"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "PS": {
+ "name": "ⴰⴳⵎⵎⴰⴹ ⵏ ⵜⴰⴳⵓⵜ ⴷ ⵖⵣⵣⴰ"
+ },
+ "AZ": {
+ "name": "ⴰⴷⵔⴰⴱⵉⵊⴰⵏ"
+ },
+ "GI": {
+ "name": "ⴰⴷⵔⴰⵔ ⵏ ⵟⴰⵕⵉⵇ"
+ },
+ "ZA": {
+ "name": "ⴰⴼⵔⵉⵇⵢⴰ ⵏ ⵉⴼⴼⵓⵙ"
+ },
+ "AF": {
+ "name": "ⴰⴼⵖⴰⵏⵉⵙⵜⴰⵏ"
+ },
+ "AL": {
+ "name": "ⴰⵍⴱⴰⵏⵢⴰ"
+ },
+ "DE": {
+ "name": "ⴰⵍⵎⴰⵏⵢⴰ"
+ },
+ "AI": {
+ "name": "ⴰⵏⴳⵉⵍⴰ"
+ },
+ "AO": {
+ "name": "ⴰⵏⴳⵓⵍⴰ"
+ },
+ "ID": {
+ "name": "ⴰⵏⴷⵓⵏⵉⵙⵢⴰ"
+ },
+ "AD": {
+ "name": "ⴰⵏⴷⵓⵔⴰ"
+ },
+ "AG": {
+ "name": "ⴰⵏⵜⵉⴳⴰ ⴷ ⴱⵔⴱⵓⴷⴰ"
+ },
+ "AR": {
+ "name": "ⴰⵔⵊⴰⵏⵜⵉⵏ"
+ },
+ "AM": {
+ "name": "ⴰⵔⵎⵉⵏⵢⴰ"
+ },
+ "AW": {
+ "name": "ⴰⵔⵓⴱⴰ"
+ },
+ "VA": {
+ "name": "ⴰⵡⴰⵏⴽ ⵏ ⴼⴰⵜⵉⴽⴰⵏ"
+ },
+ "PG": {
+ "name": "ⴱⴰⴱⵡⴰ ⵖⵉⵏⵢⴰ ⵜⴰⵎⴰⵢⵏⵓⵜ"
+ },
+ "PK": {
+ "name": "ⴱⴰⴽⵉⵙⵜⴰⵏ"
+ },
+ "BS": {
+ "name": "ⴱⴰⵀⴰⵎⴰⵙ"
+ },
+ "PW": {
+ "name": "ⴱⴰⵍⴰⵡ"
+ },
+ "PA": {
+ "name": "ⴱⴰⵏⴰⵎⴰ"
+ },
+ "BD": {
+ "name": "ⴱⴰⵏⴳⵍⴰⴷⵉⵛ"
+ },
+ "PY": {
+ "name": "ⴱⴰⵔⴰⴳⵡⴰⵢ"
+ },
+ "BB": {
+ "name": "ⴱⴰⵔⴱⴰⴷ"
+ },
+ "BT": {
+ "name": "ⴱⵀⵓⵜⴰⵏ"
+ },
+ "BH": {
+ "name": "ⴱⵃⵔⴰⵢⵏ"
+ },
+ "BY": {
+ "name": "ⴱⵉⵍⴰⵔⵓⵙⵢⴰ"
+ },
+ "BZ": {
+ "name": "ⴱⵉⵍⵉⵣ"
+ },
+ "BJ": {
+ "name": "ⴱⵉⵏⵉⵏ"
+ },
+ "PE": {
+ "name": "ⴱⵉⵔⵓ"
+ },
+ "PN": {
+ "name": "ⴱⵉⵜⴽⴰⵢⵔⵏ"
+ },
+ "BE": {
+ "name": "ⴱⵍⵊⵉⴽⴰ"
+ },
+ "BG": {
+ "name": "ⴱⵍⵖⴰⵔⵢⴰ"
+ },
+ "BO": {
+ "name": "ⴱⵓⵍⵉⴼⵢⴰ"
+ },
+ "PF": {
+ "name": "ⴱⵓⵍⵉⵏⵉⵣⵢⴰ ⵜⴰⴼⵔⴰⵏⵙⵉⵙⵜ"
+ },
+ "PL": {
+ "name": "ⴱⵓⵍⵓⵏⵢⴰ"
+ },
+ "BF": {
+ "name": "ⴱⵓⵔⴽⵉⵏⴰ ⴼⴰⵙⵓ"
+ },
+ "BI": {
+ "name": "ⴱⵓⵔⵓⵏⴷⵉ"
+ },
+ "PR": {
+ "name": "ⴱⵓⵔⵜⵓ ⵔⵉⴽⵓ"
+ },
+ "BA": {
+ "name": "ⴱⵓⵙⵏⴰ ⴷ ⵀⵉⵔⵙⵉⴽ"
+ },
+ "BW": {
+ "name": "ⴱⵓⵜⵙⵡⴰⵏⴰ"
+ },
+ "BR": {
+ "name": "ⴱⵔⴰⵣⵉⵍ"
+ },
+ "BM": {
+ "name": "ⴱⵔⵎⵓⴷⴰ"
+ },
+ "BN": {
+ "name": "ⴱⵔⵓⵏⵉ"
+ },
+ "PT": {
+ "name": "ⴱⵕⵟⵇⵉⵣ"
+ },
+ "GA": {
+ "name": "ⴳⴰⴱⵓⵏ"
+ },
+ "GM": {
+ "name": "ⴳⴰⵎⴱⵢⴰ"
+ },
+ "GL": {
+ "name": "ⴳⵔⵉⵍⴰⵏⴷ"
+ },
+ "GP": {
+ "name": "ⴳⵡⴰⴷⴰⵍⵓⴱ"
+ },
+ "GU": {
+ "name": "ⴳⵡⴰⵎ"
+ },
+ "GT": {
+ "name": "ⴳⵡⴰⵜⵉⵎⴰⵍⴰ"
+ },
+ "GF": {
+ "name": "ⴳⵡⵉⵢⴰⵏ ⵜⴰⴼⵔⴰⵏⵙⵉⵙⵜ"
+ },
+ "GY": {
+ "name": "ⴳⵡⵉⵢⴰⵏⴰ"
+ },
+ "DK": {
+ "name": "ⴷⴰⵏⵎⴰⵔⴽ"
+ },
+ "DJ": {
+ "name": "ⴷⵊⵉⴱⵓⵜⵉ"
+ },
+ "DM": {
+ "name": "ⴷⵓⵎⵉⵏⵉⴽ"
+ },
+ "DZ": {
+ "name": "ⴷⵣⴰⵢⵔ"
+ },
+ "VU": {
+ "name": "ⴼⴰⵏⵡⴰⵟⵓ"
+ },
+ "FJ": {
+ "name": "ⴼⵉⴷⵊⵉ"
+ },
+ "PH": {
+ "name": "ⴼⵉⵍⵉⴱⴱⵉⵏ"
+ },
+ "FI": {
+ "name": "ⴼⵉⵍⵍⴰⵏⴷⴰ"
+ },
+ "VE": {
+ "name": "ⴼⵉⵏⵣⵡⵉⵍⴰ"
+ },
+ "VN": {
+ "name": "ⴼⵉⵜⵏⴰⵎ"
+ },
+ "FR": {
+ "name": "ⴼⵔⴰⵏⵙⴰ"
+ },
+ "NC": {
+ "name": "ⴽⴰⵍⵉⴷⵓⵏⵢⴰ ⵜⴰⵎⴰⵢⵏⵓⵜ"
+ },
+ "KH": {
+ "name": "ⴽⴰⵎⴱⵓⴷⵢⴰ"
+ },
+ "CM": {
+ "name": "ⴽⴰⵎⵉⵔⵓⵏ"
+ },
+ "CA": {
+ "name": "ⴽⴰⵏⴰⴷⴰ"
+ },
+ "KZ": {
+ "name": "ⴽⴰⵣⴰⵅⵙⵜⴰⵏ"
+ },
+ "KE": {
+ "name": "ⴽⵉⵏⵢⴰ"
+ },
+ "KI": {
+ "name": "ⴽⵉⵔⵉⴱⴰⵜⵉ"
+ },
+ "KG": {
+ "name": "ⴽⵉⵔⵖⵉⵣⵉⵙⵜⴰⵏ"
+ },
+ "CU": {
+ "name": "ⴽⵓⴱⴰ"
+ },
+ "CO": {
+ "name": "ⴽⵓⵍⵓⵎⴱⵢⴰ"
+ },
+ "CG": {
+ "name": "ⴽⵓⵏⴳⵓ"
+ },
+ "KR": {
+ "name": "ⴽⵓⵔⵢⴰ ⵏ ⵉⴼⴼⵓⵙ"
+ },
+ "KP": {
+ "name": "ⴽⵓⵔⵢⴰ ⵏ ⵉⵥⵥⵍⵎⴹ"
+ },
+ "CR": {
+ "name": "ⴽⵓⵙⵜⴰ ⵔⵉⴽⴰ"
+ },
+ "CI": {
+ "name": "ⴽⵓⵜ ⴷⵉⴼⵡⴰⵔ"
+ },
+ "HR": {
+ "name": "ⴽⵔⵡⴰⵜⵢⴰ"
+ },
+ "HT": {
+ "name": "ⵀⴰⵢⵜⵉ"
+ },
+ "HU": {
+ "name": "ⵀⵏⵖⴰⵔⵢⴰ"
+ },
+ "NL": {
+ "name": "ⵀⵓⵍⴰⵏⴷⴰ"
+ },
+ "HN": {
+ "name": "ⵀⵓⵏⴷⵓⵔⴰⵙ"
+ },
+ "OM": {
+ "name": "ⵄⵓⵎⴰⵏ"
+ },
+ "QA": {
+ "name": "ⵇⴰⵜⴰⵔ"
+ },
+ "CY": {
+ "name": "ⵇⵓⴱⵔⵓⵙ"
+ },
+ "KM": {
+ "name": "ⵇⵓⵎⵓⵔ"
+ },
+ "EC": {
+ "name": "ⵉⴽⵡⴰⴷⵓⵔ"
+ },
+ "IR": {
+ "name": "ⵉⵔⴰⵏ"
+ },
+ "ER": {
+ "name": "ⵉⵔⵉⵜⵉⵔⵢⴰ"
+ },
+ "IE": {
+ "name": "ⵉⵔⵍⴰⵏⴷⴰ"
+ },
+ "IS": {
+ "name": "ⵉⵙⵍⴰⵏⴷ"
+ },
+ "IL": {
+ "name": "ⵉⵙⵔⴰⵢⵉⵍ"
+ },
+ "EE": {
+ "name": "ⵉⵙⵜⵓⵏⵢⴰ"
+ },
+ "ET": {
+ "name": "ⵉⵜⵢⵓⴱⵢⴰ"
+ },
+ "IT": {
+ "name": "ⵉⵟⴰⵍⵢⴰ"
+ },
+ "US": {
+ "name": "ⵉⵡⵓⵏⴰⴽ ⵎⵓⵏⵏⵉⵏ ⵏ ⵎⵉⵔⵉⴽⴰⵏ"
+ },
+ "JM": {
+ "name": "ⵊⴰⵎⴰⵢⴽⴰ"
+ },
+ "GE": {
+ "name": "ⵊⵓⵔⵊⵢⴰ"
+ },
+ "LV": {
+ "name": "ⵍⴰⵜⴼⵢⴰ"
+ },
+ "LA": {
+ "name": "ⵍⴰⵡⵙ"
+ },
+ "KW": {
+ "name": "ⵍⴽⵡⵉⵜ"
+ },
+ "IN": {
+ "name": "ⵍⵀⵉⵏⴷ"
+ },
+ "IQ": {
+ "name": "ⵍⵄⵉⵔⴰⵇ"
+ },
+ "LR": {
+ "name": "ⵍⵉⴱⵉⵔⵢⴰ"
+ },
+ "LY": {
+ "name": "ⵍⵉⴱⵢⴰ"
+ },
+ "LI": {
+ "name": "ⵍⵉⴽⵉⵏⵛⵜⴰⵢⵏ"
+ },
+ "AE": {
+ "name": "ⵍⵉⵎⴰⵔⴰⵜ"
+ },
+ "LS": {
+ "name": "ⵍⵉⵚⵓⵟⵓ"
+ },
+ "LT": {
+ "name": "ⵍⵉⵜⵡⴰⵏⵢⴰ"
+ },
+ "MA": {
+ "name": "ⵍⵎⵖⵔⵉⴱ"
+ },
+ "LB": {
+ "name": "ⵍⵓⴱⵏⴰⵏ"
+ },
+ "LU": {
+ "name": "ⵍⵓⴽⵙⴰⵏⴱⵓⵔⴳ"
+ },
+ "JO": {
+ "name": "ⵍⵓⵔⴷⵓⵏ"
+ },
+ "JP": {
+ "name": "ⵍⵢⴰⴱⴰⵏ"
+ },
+ "GR": {
+ "name": "ⵍⵢⵓⵏⴰⵏ"
+ },
+ "MG": {
+ "name": "ⵎⴰⴷⴰⵖⴰⵛⵇⴰⵔ"
+ },
+ "MW": {
+ "name": "ⵎⴰⵍⴰⵡⵉ"
+ },
+ "MV": {
+ "name": "ⵎⴰⵍⴷⵉⴼ"
+ },
+ "ML": {
+ "name": "ⵎⴰⵍⵉ"
+ },
+ "MY": {
+ "name": "ⵎⴰⵍⵉⵣⵢⴰ"
+ },
+ "MT": {
+ "name": "ⵎⴰⵍⵟⴰ"
+ },
+ "MQ": {
+ "name": "ⵎⴰⵔⵜⵉⵏⵉⴽ"
+ },
+ "MK": {
+ "name": "ⵎⴰⵙⵉⴷⵓⵏⵢⴰ"
+ },
+ "YT": {
+ "name": "ⵎⴰⵢⵓⵟ"
+ },
+ "FM": {
+ "name": "ⵎⵉⴽⵔⵓⵏⵉⵣⵢⴰ"
+ },
+ "MX": {
+ "name": "ⵎⵉⴽⵙⵉⴽ"
+ },
+ "EG": {
+ "name": "ⵎⵉⵚⵕ"
+ },
+ "MN": {
+ "name": "ⵎⵏⵖⵓⵍⵢⴰ"
+ },
+ "MD": {
+ "name": "ⵎⵓⵍⴷⵓⴼⵢⴰ"
+ },
+ "MC": {
+ "name": "ⵎⵓⵏⴰⴽⵓ"
+ },
+ "MS": {
+ "name": "ⵎⵓⵏⵙⵉⵔⴰⵜ"
+ },
+ "MU": {
+ "name": "ⵎⵓⵔⵉⵙ"
+ },
+ "MR": {
+ "name": "ⵎⵓⵕⵉⵟⴰⵏⵢⴰ"
+ },
+ "MZ": {
+ "name": "ⵎⵓⵣⵏⴱⵉⵇ"
+ },
+ "MM": {
+ "name": "ⵎⵢⴰⵏⵎⴰⵔ"
+ },
+ "NA": {
+ "name": "ⵏⴰⵎⵉⴱⵢⴰ"
+ },
+ "NR": {
+ "name": "ⵏⴰⵡⵔⵓ"
+ },
+ "NP": {
+ "name": "ⵏⵉⴱⴰⵍ"
+ },
+ "NI": {
+ "name": "ⵏⵉⴽⴰⵔⴰⴳⵡⴰ"
+ },
+ "NG": {
+ "name": "ⵏⵉⵊⵉⵔⵢⴰ"
+ },
+ "NU": {
+ "name": "ⵏⵉⵡⵉ"
+ },
+ "NE": {
+ "name": "ⵏⵏⵉⵊⵉⵔ"
+ },
+ "AT": {
+ "name": "ⵏⵏⵎⵙⴰ"
+ },
+ "NO": {
+ "name": "ⵏⵏⵔⵡⵉⵊ"
+ },
+ "NZ": {
+ "name": "ⵏⵢⵓⵣⵉⵍⴰⵏⴷⴰ"
+ },
+ "UA": {
+ "name": "ⵓⴽⵔⴰⵏⵢⴰ"
+ },
+ "UY": {
+ "name": "ⵓⵔⵓⴳⵡⴰⵢ"
+ },
+ "UG": {
+ "name": "ⵓⵖⴰⵏⴷⴰ"
+ },
+ "AU": {
+ "name": "ⵓⵙⵜⵔⴰⵍⵢⴰ"
+ },
+ "UZ": {
+ "name": "ⵓⵣⴱⴰⴽⵉⵙⵜⴰⵏ"
+ },
+ "RE": {
+ "name": "ⵔⵉⵢⵓⵏⵢⵓⵏ"
+ },
+ "RO": {
+ "name": "ⵔⵓⵎⴰⵏⵢⴰ"
+ },
+ "RU": {
+ "name": "ⵔⵓⵙⵢⴰ"
+ },
+ "RW": {
+ "name": "ⵔⵡⴰⵏⴷⴰ"
+ },
+ "GH": {
+ "name": "ⵖⴰⵏⴰ"
+ },
+ "GN": {
+ "name": "ⵖⵉⵏⵢⴰ"
+ },
+ "GW": {
+ "name": "ⵖⵉⵏⵢⴰ ⴱⵉⵙⴰⵡ"
+ },
+ "GQ": {
+ "name": "ⵖⵉⵏⵢⴰ ⵏ ⵉⴽⵡⴰⴷⵓⵔ"
+ },
+ "GD": {
+ "name": "ⵖⵔⵏⴰⵟⴰ"
+ },
+ "SV": {
+ "name": "ⵙⴰⵍⴼⴰⴷⵓⵔ"
+ },
+ "WS": {
+ "name": "ⵙⴰⵎⵡⴰ"
+ },
+ "AS": {
+ "name": "ⵙⴰⵎⵡⴰ ⵜⴰⵎⵉⵔⵉⴽⴰⵏⵉⵜ"
+ },
+ "PM": {
+ "name": "ⵙⴰⵏⴱⵢⵉⵔ ⴷ ⵎⵉⴽⵍⵓⵏ"
+ },
+ "VC": {
+ "name": "ⵙⴰⵏⴼⴰⵏⵙⴰⵏ ⴷ ⴳⵔⵉⵏⴰⴷⵉⵏ"
+ },
+ "KN": {
+ "name": "ⵙⴰⵏⴽⵔⵉⵙ ⴷ ⵏⵉⴼⵉⵙ"
+ },
+ "SM": {
+ "name": "ⵙⴰⵏⵎⴰⵔⵉⵏⵓ"
+ },
+ "SH": {
+ "name": "ⵙⴰⵏⵜⵉⵍⵉⵏ"
+ },
+ "LC": {
+ "name": "ⵙⴰⵏⵜⵍⵓⵙⵉ"
+ },
+ "ST": {
+ "name": "ⵙⴰⵡⵟⵓⵎⵉ ⴷ ⴱⵔⴰⵏⵙⵉⴱ"
+ },
+ "ES": {
+ "name": "ⵙⴱⴰⵏⵢⴰ"
+ },
+ "SK": {
+ "name": "ⵙⵍⵓⴼⴰⴽⵢⴰ"
+ },
+ "SI": {
+ "name": "ⵙⵍⵓⴼⵉⵏⵢⴰ"
+ },
+ "SG": {
+ "name": "ⵙⵏⵖⴰⴼⵓⵔⴰ"
+ },
+ "SR": {
+ "name": "ⵙⵓⵔⵉⵏⴰⵎ"
+ },
+ "SY": {
+ "name": "ⵙⵓⵔⵢⴰ"
+ },
+ "LK": {
+ "name": "ⵙⵔⵉⵍⴰⵏⴽⴰ"
+ },
+ "SA": {
+ "name": "ⵙⵙⴰⵄⵓⴷⵉⵢⴰ"
+ },
+ "SN": {
+ "name": "ⵙⵙⵉⵏⵉⴳⴰⵍ"
+ },
+ "SL": {
+ "name": "ⵙⵙⵉⵔⴰⵍⵢⵓⵏ"
+ },
+ "SC": {
+ "name": "ⵙⵙⵉⵛⵉⵍ"
+ },
+ "SD": {
+ "name": "ⵙⵙⵓⴷⴰⵏ"
+ },
+ "SE": {
+ "name": "ⵙⵙⵡⵉⴷ"
+ },
+ "SZ": {
+ "name": "ⵙⵡⴰⵣⵉⵍⴰⵏⴷⴰ"
+ },
+ "CH": {
+ "name": "ⵙⵡⵉⵙⵔⴰ"
+ },
+ "SO": {
+ "name": "ⵚⵚⵓⵎⴰⵍ"
+ },
+ "CL": {
+ "name": "ⵛⵛⵉⵍⵉ"
+ },
+ "CN": {
+ "name": "ⵛⵛⵉⵏⵡⴰ"
+ },
+ "CD": {
+ "name": "ⵜⴰⴳⴷⵓⴷⴰⵏⵜ ⵜⴰⴷⵉⵎⵓⵇⵔⴰⵜⵉⵜ ⵏ ⴽⵓⵏⴳⵓ"
+ },
+ "DO": {
+ "name": "ⵜⴰⴳⴷⵓⴷⴰⵏⵜ ⵜⴰⴷⵓⵎⵉⵏⵉⴽⵜ"
+ },
+ "CF": {
+ "name": "ⵜⴰⴳⴷⵓⴷⴰⵏⵜ ⵜⴰⵏⴰⵎⵎⴰⵙⵜ ⵏ ⵉⴼⵔⵉⵇⵢⴰ"
+ },
+ "CZ": {
+ "name": "ⵜⴰⴳⴷⵓⴷⴰⵏⵜ ⵜⴰⵜⵛⵉⴽⵉⵜ"
+ },
+ "GB": {
+ "name": "ⵜⴰⴳⵍⴷⵉⵜ ⵉⵎⵓⵏⵏ"
+ },
+ "TJ": {
+ "name": "ⵜⴰⴷⵊⴰⴽⵉⵙⵜⴰⵏ"
+ },
+ "IO": {
+ "name": "ⵜⴰⵎⵏⴰⴹⵜ ⵜⴰⵏⴳⵍⵉⵣⵉⵜ ⵏ ⵓⴳⴰⵔⵓ ⴰⵀⵉⵏⴷⵉ"
+ },
+ "CV": {
+ "name": "ⵜⵉⴳⵣⵉⵔⵉⵏ ⵏ ⴽⴰⴱⴱⵉⵔⴷⵉ"
+ },
+ "KY": {
+ "name": "ⵜⵉⴳⵣⵉⵔⵉⵏ ⵏ ⴽⴰⵢⵎⴰⵏ"
+ },
+ "CK": {
+ "name": "ⵜⵉⴳⵣⵉⵔⵉⵏ ⵏ ⴽⵓⴽ"
+ },
+ "FK": {
+ "name": "ⵜⵉⴳⵣⵉⵔⵉⵏ ⵏ ⵎⴰⵍⴰⵡⵉ"
+ },
+ "MH": {
+ "name": "ⵜⵉⴳⵣⵉⵔⵉⵏ ⵏ ⵎⴰⵔⵛⴰⵍ"
+ },
+ "MP": {
+ "name": "ⵜⵉⴳⵣⵉⵔⵉⵏ ⵏ ⵎⴰⵔⵢⴰⵏ ⵏ ⵉⵥⵥⵍⵎⴹ"
+ },
+ "NF": {
+ "name": "ⵜⵉⴳⵣⵉⵔⵉⵏ ⵏ ⵏⵓⵔⴼⵓⵍⴽ"
+ },
+ "SB": {
+ "name": "ⵜⵉⴳⵣⵉⵔⵉⵏ ⵏ ⵙⴰⵍⵓⵎⴰⵏ"
+ },
+ "TC": {
+ "name": "ⵜⵉⴳⵣⵉⵔⵉⵏ ⵏ ⵜⵓⵔⴽⵢⴰ ⴷ ⴽⴰⵢⴽ"
+ },
+ "VI": {
+ "name": "ⵜⵉⴳⵣⵉⵔⵉⵏ ⵜⵉⵎⴳⴰⴷ ⵏ ⵉⵡⵓⵏⴰⴽ ⵎⵓⵏⵏⵉⵏ"
+ },
+ "VG": {
+ "name": "ⵜⵉⴳⵣⵉⵔⵉⵏ ⵜⵉⵎⴳⴰⴷ ⵏ ⵏⵏⴳⵍⵉⵣ"
+ },
+ "TL": {
+ "name": "ⵜⵉⵎⵓⵔ ⵏ ⵍⵇⴱⵍⵜ"
+ },
+ "TV": {
+ "name": "ⵜⵓⴼⴰⵍⵓ"
+ },
+ "TN": {
+ "name": "ⵜⵓⵏⵙ"
+ },
+ "TM": {
+ "name": "ⵜⵓⵔⴽⵎⴰⵏⵙⵜⴰⵏ"
+ },
+ "TR": {
+ "name": "ⵜⵓⵔⴽⵢⴰ"
+ },
+ "TT": {
+ "name": "ⵜⵔⵉⵏⵉⴷⴰⴷ ⴷ ⵟⵓⴱⴰⴳⵓ"
+ },
+ "TD": {
+ "name": "ⵜⵛⴰⴷ"
+ },
+ "TZ": {
+ "name": "ⵟⴰⵏⵥⴰⵏⵢⴰ"
+ },
+ "TH": {
+ "name": "ⵟⴰⵢⵍⴰⵏⴷ"
+ },
+ "TW": {
+ "name": "ⵟⴰⵢⵡⴰⵏ"
+ },
+ "TG": {
+ "name": "ⵟⵓⴳⵓ"
+ },
+ "TK": {
+ "name": "ⵟⵓⴽⵍⴰⵡ"
+ },
+ "TO": {
+ "name": "ⵟⵓⵏⴳⴰ"
+ },
+ "WF": {
+ "name": "ⵡⴰⵍⵉⵙ ⴷ ⴼⵓⵜⵓⵏⴰ"
+ },
+ "YE": {
+ "name": "ⵢⴰⵎⴰⵏ"
+ },
+ "ZM": {
+ "name": "ⵣⴰⵎⴱⵢⴰ"
+ },
+ "ZW": {
+ "name": "ⵣⵉⵎⴱⴰⴱⵡⵉ"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/si.json b/vendor/commerceguys/intl/resources/country/si.json
new file mode 100644
index 000000000..2ea5146e6
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/si.json
@@ -0,0 +1,761 @@
+{
+ "IE": {
+ "name": "අයර්ලන්තය"
+ },
+ "IM": {
+ "name": "අයිල් ඔෆ් මෑන්"
+ },
+ "IS": {
+ "name": "අයිස්ලන්තය"
+ },
+ "AW": {
+ "name": "අරුබාව"
+ },
+ "AZ": {
+ "name": "අසර්බයිජානය"
+ },
+ "AR": {
+ "name": "ආර්ජෙන්ටිනාව"
+ },
+ "AM": {
+ "name": "ආර්මේනියාව"
+ },
+ "AI": {
+ "name": "ඇන්ගුයිලාව"
+ },
+ "AO": {
+ "name": "ඇන්ගෝලාව"
+ },
+ "AQ": {
+ "name": "ඇන්ටාක්ටිකාව"
+ },
+ "AG": {
+ "name": "ඇන්ටිගුවා සහ බාබියුඩාව"
+ },
+ "AD": {
+ "name": "ඇන්ඩෝරාව"
+ },
+ "VI": {
+ "name": "ඇමරිකානු වර්ජින් දූපත්"
+ },
+ "AS": {
+ "name": "ඇමරිකානු සැමෝවාව"
+ },
+ "DZ": {
+ "name": "ඇල්ජීරියාව"
+ },
+ "AL": {
+ "name": "ඇල්බේනියාව"
+ },
+ "AC": {
+ "name": "ඇසෙන්ෂන් දිවයින"
+ },
+ "AF": {
+ "name": "ඇෆ්ගනිස්ථානය"
+ },
+ "EC": {
+ "name": "ඉක්වදෝරය"
+ },
+ "IT": {
+ "name": "ඉතාලිය"
+ },
+ "ET": {
+ "name": "ඉතියෝපියාව"
+ },
+ "IN": {
+ "name": "ඉන්දියාව"
+ },
+ "ID": {
+ "name": "ඉන්දුනීසියාව"
+ },
+ "IQ": {
+ "name": "ඉරාකය"
+ },
+ "IR": {
+ "name": "ඉරානය"
+ },
+ "EG": {
+ "name": "ඊජිප්තුව"
+ },
+ "IL": {
+ "name": "ඊශ්‍රායලය"
+ },
+ "UG": {
+ "name": "උගන්ඩාව"
+ },
+ "KP": {
+ "name": "උතුරු කොරියාව"
+ },
+ "MP": {
+ "name": "උතුරු මරියානා දූපත්"
+ },
+ "UY": {
+ "name": "උරුගුවේ"
+ },
+ "UZ": {
+ "name": "උස්බෙකිස්ථානය"
+ },
+ "AE": {
+ "name": "එක්සත් අරාබි එමිර් රාජ්‍යය"
+ },
+ "UM": {
+ "name": "එක්සත් ජනපද ඈත දූපත්"
+ },
+ "US": {
+ "name": "එක්සත් ජනපදය"
+ },
+ "GB": {
+ "name": "එක්සත් රාජධානිය"
+ },
+ "ER": {
+ "name": "එරිත්‍රියාව"
+ },
+ "SV": {
+ "name": "එල් සැල්වදෝරය"
+ },
+ "EE": {
+ "name": "එස්තෝනියාව"
+ },
+ "AT": {
+ "name": "ඔස්ට්‍රියාව"
+ },
+ "OM": {
+ "name": "ඕමානය"
+ },
+ "AX": {
+ "name": "ඕලන්ඩ් දූපත්"
+ },
+ "AU": {
+ "name": "ඕස්ට්‍රේලියාව"
+ },
+ "QA": {
+ "name": "කටාර්"
+ },
+ "KZ": {
+ "name": "කසකස්තානය"
+ },
+ "KH": {
+ "name": "කාම්බෝජය"
+ },
+ "CA": {
+ "name": "කැනඩාව"
+ },
+ "IC": {
+ "name": "කැනරි සූපත්"
+ },
+ "CM": {
+ "name": "කැමරූන්"
+ },
+ "BQ": {
+ "name": "කැරිබියානු නෙදර්ලන්තය"
+ },
+ "CU": {
+ "name": "කියුබාව"
+ },
+ "KI": {
+ "name": "කිරිබති"
+ },
+ "KG": {
+ "name": "කිර්ගිස්තානය"
+ },
+ "CK": {
+ "name": "කුක් දූපත්"
+ },
+ "CW": {
+ "name": "කුරකාවෝ"
+ },
+ "KW": {
+ "name": "කුවේටය"
+ },
+ "KE": {
+ "name": "කෙන්යාව"
+ },
+ "CV": {
+ "name": "කේප් වර්ඩ්"
+ },
+ "KY": {
+ "name": "කේමන් දූපත්"
+ },
+ "CD": {
+ "name": "කොංගො - කින්ශාසා"
+ },
+ "CG": {
+ "name": "කොංගො - බ්‍රසාවිල්"
+ },
+ "CC": {
+ "name": "කොකෝස් දූපත්"
+ },
+ "KM": {
+ "name": "කොමොරෝස්"
+ },
+ "XK": {
+ "name": "කොසෝවෝ"
+ },
+ "CR": {
+ "name": "කොස්ටරිකාව"
+ },
+ "CO": {
+ "name": "කොළොම්බියාව"
+ },
+ "CI": {
+ "name": "කෝට් දි අයිවරි"
+ },
+ "CX": {
+ "name": "ක්‍රිස්මස් දූපත"
+ },
+ "HR": {
+ "name": "ක්‍රොඒෂියාව"
+ },
+ "GY": {
+ "name": "ගයනාව"
+ },
+ "GG": {
+ "name": "ගර්න්සිය"
+ },
+ "GA": {
+ "name": "ගැබොන්"
+ },
+ "GM": {
+ "name": "ගැම්බියාව"
+ },
+ "GN": {
+ "name": "ගිණියාව"
+ },
+ "GW": {
+ "name": "ගිනි බිසව්"
+ },
+ "GU": {
+ "name": "ගුවාම්"
+ },
+ "GT": {
+ "name": "ගෝතමාලාව"
+ },
+ "GD": {
+ "name": "ග්‍රැනඩාව"
+ },
+ "GL": {
+ "name": "ග්‍රීන්ලන්තය"
+ },
+ "GR": {
+ "name": "ග්‍රීසිය"
+ },
+ "GP": {
+ "name": "ග්වෝඩලෝප්"
+ },
+ "GH": {
+ "name": "ඝානාව"
+ },
+ "TD": {
+ "name": "චැච්"
+ },
+ "CL": {
+ "name": "චිලී"
+ },
+ "CN": {
+ "name": "චීනය"
+ },
+ "CZ": {
+ "name": "චෙක් ජනරජය"
+ },
+ "JP": {
+ "name": "ජපානය"
+ },
+ "DE": {
+ "name": "ජර්මනිය"
+ },
+ "JE": {
+ "name": "ජර්සි"
+ },
+ "JM": {
+ "name": "ජැමෙයිකාව"
+ },
+ "DJ": {
+ "name": "ජිබුටි"
+ },
+ "GI": {
+ "name": "ජිබ්‍රෝල්ටාව"
+ },
+ "GE": {
+ "name": "ජෝර්ජියාව"
+ },
+ "JO": {
+ "name": "ජෝර්දානය"
+ },
+ "TJ": {
+ "name": "ටජිකිස්තානය"
+ },
+ "TM": {
+ "name": "ටර්ක්මෙනිස්ථානය"
+ },
+ "TC": {
+ "name": "ටර්ක්ස් සහ කයිකොස් දූපත්"
+ },
+ "TZ": {
+ "name": "ටැන්සානියාව"
+ },
+ "TL": {
+ "name": "ටිමෝර් - ලෙස්ත්"
+ },
+ "TN": {
+ "name": "ටියුනීසියාව"
+ },
+ "TV": {
+ "name": "ටුවාලූ"
+ },
+ "TO": {
+ "name": "ටොංගා"
+ },
+ "TK": {
+ "name": "ටොකලාවු"
+ },
+ "TG": {
+ "name": "ටොගෝ"
+ },
+ "TT": {
+ "name": "ට්‍රිනිඩෑඩ් සහ ටොබැගෝ"
+ },
+ "TA": {
+ "name": "ට්‍රිස්ටන් ද කුන්හා"
+ },
+ "DK": {
+ "name": "ඩෙන්මාර්කය"
+ },
+ "DO": {
+ "name": "ඩොමිනිකා ජනරජය"
+ },
+ "DM": {
+ "name": "ඩොමිනිකාව"
+ },
+ "TH": {
+ "name": "තායිලන්තය"
+ },
+ "TW": {
+ "name": "තායිවානය"
+ },
+ "TR": {
+ "name": "තුර්කිය"
+ },
+ "ZA": {
+ "name": "දකුණු අප්‍රිකාව"
+ },
+ "KR": {
+ "name": "දකුණු කොරියාව"
+ },
+ "GS": {
+ "name": "දකුණු ජෝර්ජියාව සහ දකුණු සැන්ඩ්විච් දූපත්"
+ },
+ "TF": {
+ "name": "දකුණු ප්‍රංශ දූපත් සමූහය"
+ },
+ "SS": {
+ "name": "දකුණු සුඩානය"
+ },
+ "DG": {
+ "name": "දියාගෝ ගාර්සියා"
+ },
+ "NE": {
+ "name": "නයිජර්"
+ },
+ "NG": {
+ "name": "නයිජීරියාව"
+ },
+ "NC": {
+ "name": "නව කැලිඩෝනියාව"
+ },
+ "NZ": {
+ "name": "නවසීලන්තය"
+ },
+ "NR": {
+ "name": "නාවුරු"
+ },
+ "NA": {
+ "name": "නැමීබියාව"
+ },
+ "NI": {
+ "name": "නිකරගුවාව"
+ },
+ "NU": {
+ "name": "නියූ"
+ },
+ "NL": {
+ "name": "නෙදර්ලන්තය"
+ },
+ "NP": {
+ "name": "නේපාලය"
+ },
+ "NO": {
+ "name": "නෝර්වේ"
+ },
+ "NF": {
+ "name": "නෝෆෝක් දූපත"
+ },
+ "PS": {
+ "name": "පලස්තීන රාජ්‍යය"
+ },
+ "PW": {
+ "name": "පලාවු"
+ },
+ "PK": {
+ "name": "පාකිස්තානය"
+ },
+ "PA": {
+ "name": "පැනමාව"
+ },
+ "PG": {
+ "name": "පැපුවා නිව් ගිනියාව"
+ },
+ "PY": {
+ "name": "පැරගුවේ"
+ },
+ "PN": {
+ "name": "පිට්කෙය්න් දූපත්"
+ },
+ "PH": {
+ "name": "පිලිපීනය"
+ },
+ "PR": {
+ "name": "පුවර්ටෝ රිකෝ"
+ },
+ "PT": {
+ "name": "පෘතුගාලය"
+ },
+ "PE": {
+ "name": "පේරු"
+ },
+ "PL": {
+ "name": "පෝලන්තය"
+ },
+ "GF": {
+ "name": "ප්‍රංශ ගයනාව"
+ },
+ "PF": {
+ "name": "ප්‍රංශ පොලිනීසියාව"
+ },
+ "FR": {
+ "name": "ප්‍රංශය"
+ },
+ "BD": {
+ "name": "බංග්ලාදේශය"
+ },
+ "EH": {
+ "name": "බටහිර සහරාව"
+ },
+ "BF": {
+ "name": "බර්කිනා ෆාසෝ"
+ },
+ "BM": {
+ "name": "බර්මියුඩා"
+ },
+ "BG": {
+ "name": "බල්ගේරියාව"
+ },
+ "BS": {
+ "name": "බහමාස්"
+ },
+ "BH": {
+ "name": "බහරේන්"
+ },
+ "BB": {
+ "name": "බාර්බඩෝස්"
+ },
+ "BI": {
+ "name": "බුරුන්දි"
+ },
+ "BN": {
+ "name": "බෲනායි"
+ },
+ "BJ": {
+ "name": "බෙනින්"
+ },
+ "BY": {
+ "name": "බෙලරුස්"
+ },
+ "BZ": {
+ "name": "බෙලීස්"
+ },
+ "BE": {
+ "name": "බෙල්ජියම"
+ },
+ "BW": {
+ "name": "බොට්ස්වානා"
+ },
+ "BO": {
+ "name": "බොලීවියාව"
+ },
+ "BA": {
+ "name": "බොස්නියාව සහ හර්සගොවීනාව"
+ },
+ "BR": {
+ "name": "බ්‍රසීලය"
+ },
+ "IO": {
+ "name": "බ්‍රිතාන්‍ය ඉන්දීය සාගර බල ප්‍රදේශය"
+ },
+ "VG": {
+ "name": "බ්‍රිතාන්‍ය වර්ජින් දූපත්"
+ },
+ "BT": {
+ "name": "භූතානය"
+ },
+ "MO": {
+ "name": "මකාවු චීන විශේෂ පරිපාලන කලාපය"
+ },
+ "CF": {
+ "name": "මධ්‍යම අප්‍රිකානු ජනරජය"
+ },
+ "FM": {
+ "name": "මයික්‍රොනීසියාව"
+ },
+ "YT": {
+ "name": "මයෝට්"
+ },
+ "MQ": {
+ "name": "මර්ටිනික්"
+ },
+ "MW": {
+ "name": "මලාවි"
+ },
+ "MV": {
+ "name": "මාල දිවයින"
+ },
+ "ML": {
+ "name": "මාලි"
+ },
+ "MH": {
+ "name": "මාෂල් දූපත්"
+ },
+ "MG": {
+ "name": "මැඩගස්කරය"
+ },
+ "MY": {
+ "name": "මැලේසියාව"
+ },
+ "MK": {
+ "name": "මැසිඩෝනියාව"
+ },
+ "MM": {
+ "name": "මියන්මාරය (බුරුමය)"
+ },
+ "MU": {
+ "name": "මුරුසිය"
+ },
+ "MX": {
+ "name": "මෙක්සිකෝව"
+ },
+ "MC": {
+ "name": "මොනාකෝව"
+ },
+ "MN": {
+ "name": "මොන්ගෝලියාව"
+ },
+ "ME": {
+ "name": "මොන්ටෙනීග්‍රෝ"
+ },
+ "MS": {
+ "name": "මොන්සෙරාට්"
+ },
+ "MR": {
+ "name": "මොරිටේනියාව"
+ },
+ "MA": {
+ "name": "මොරොක්කෝව"
+ },
+ "MD": {
+ "name": "මොල්ඩෝවාව"
+ },
+ "MZ": {
+ "name": "මොසැම්බික්"
+ },
+ "MT": {
+ "name": "මෝල්ටාව"
+ },
+ "UA": {
+ "name": "යුක්රේනය"
+ },
+ "YE": {
+ "name": "යේමනය"
+ },
+ "RE": {
+ "name": "රීයුනියන්"
+ },
+ "RO": {
+ "name": "රුමේනියාව"
+ },
+ "RW": {
+ "name": "රුවන්ඩාව"
+ },
+ "RU": {
+ "name": "රුසියාව"
+ },
+ "LU": {
+ "name": "ලක්ශම්බර්ග්"
+ },
+ "LR": {
+ "name": "ලයිබීරියාව"
+ },
+ "LA": {
+ "name": "ලාඕසය"
+ },
+ "LV": {
+ "name": "ලැට්වියාව"
+ },
+ "LI": {
+ "name": "ලික්ටන්ස්ටයින්"
+ },
+ "LT": {
+ "name": "ලිතුවේනියාව"
+ },
+ "LY": {
+ "name": "ලිබියාව"
+ },
+ "LB": {
+ "name": "ලෙබනනය"
+ },
+ "LS": {
+ "name": "ලෙසතෝ"
+ },
+ "VA": {
+ "name": "වතිකානු නගරය"
+ },
+ "VU": {
+ "name": "වනුවාටු"
+ },
+ "WF": {
+ "name": "වැලිස් සහ ෆුටුනා"
+ },
+ "VN": {
+ "name": "වියට්නාමය"
+ },
+ "VE": {
+ "name": "වෙනිසියුලාව"
+ },
+ "KN": {
+ "name": "ශාන්ත කිට්ස් සහ නේවිස්"
+ },
+ "PM": {
+ "name": "ශාන්ත පියරේ සහ මැකෝලන්"
+ },
+ "BL": {
+ "name": "ශාන්ත බර්තලෙමි"
+ },
+ "MF": {
+ "name": "ශාන්ත මාර්ටින්"
+ },
+ "SX": {
+ "name": "ශාන්ත මාර්ටෙන්"
+ },
+ "LC": {
+ "name": "ශාන්ත ලුසියා"
+ },
+ "VC": {
+ "name": "ශාන්ත වින්සන්ට් සහ ග්‍රෙනඩින්ස්"
+ },
+ "SH": {
+ "name": "ශාන්ත හෙලේනා"
+ },
+ "LK": {
+ "name": "ශ්‍රී ලංකාව"
+ },
+ "GQ": {
+ "name": "සමක ගිනියාව"
+ },
+ "CY": {
+ "name": "සයිප්‍රසය"
+ },
+ "RS": {
+ "name": "සර්බියාව"
+ },
+ "ST": {
+ "name": "සාඕ තෝම් සහ ප්‍රින්සිප්"
+ },
+ "SM": {
+ "name": "සැන් මැරිනෝ"
+ },
+ "WS": {
+ "name": "සැමෝවා"
+ },
+ "ZM": {
+ "name": "සැම්බියාව"
+ },
+ "SG": {
+ "name": "සිංගප්පූරුව"
+ },
+ "ZW": {
+ "name": "සිම්බාබ්වේ"
+ },
+ "SL": {
+ "name": "සියරාලියෝන්"
+ },
+ "SY": {
+ "name": "සිරියාව"
+ },
+ "SC": {
+ "name": "සීශෙල්ස්"
+ },
+ "SR": {
+ "name": "සුරිනාමය"
+ },
+ "SD": {
+ "name": "සූඩානය"
+ },
+ "SN": {
+ "name": "සෙනගාලය"
+ },
+ "EA": {
+ "name": "සෙයුටා සහ මෙලිල්ලා"
+ },
+ "SB": {
+ "name": "සොලමන් දූපත්"
+ },
+ "SO": {
+ "name": "සෝමාලියාව"
+ },
+ "SA": {
+ "name": "සෞදි අරාබිය"
+ },
+ "ES": {
+ "name": "ස්පාඤ්ඤය"
+ },
+ "SK": {
+ "name": "ස්ලෝවැකියාව"
+ },
+ "SI": {
+ "name": "ස්ලෝවේනියාව"
+ },
+ "SZ": {
+ "name": "ස්වාසිලන්තය"
+ },
+ "CH": {
+ "name": "ස්විස්ටර්ලන්තය"
+ },
+ "SE": {
+ "name": "ස්වීඩනය"
+ },
+ "SJ": {
+ "name": "ස්වෙල්බර්ඩ් සහ ජේන් මයේන්"
+ },
+ "HU": {
+ "name": "හන්ගේරියාව"
+ },
+ "HT": {
+ "name": "හයිටි"
+ },
+ "HK": {
+ "name": "හොංකොං චීන විශේෂ පරිපාලන කලාපය"
+ },
+ "HN": {
+ "name": "හොන්ඩුරාස්"
+ },
+ "FO": {
+ "name": "ෆැරෝ දූපත්"
+ },
+ "FI": {
+ "name": "ෆින්ලන්තය"
+ },
+ "FJ": {
+ "name": "ෆීජී"
+ },
+ "FK": {
+ "name": "ෆෝක්ලන්ත දූපත්"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/sk.json b/vendor/commerceguys/intl/resources/country/sk.json
new file mode 100644
index 000000000..cc90416be
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/sk.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afganistan"
+ },
+ "AX": {
+ "name": "Alandy"
+ },
+ "AL": {
+ "name": "Albánsko"
+ },
+ "DZ": {
+ "name": "Alžírsko"
+ },
+ "AS": {
+ "name": "Americká Samoa"
+ },
+ "VI": {
+ "name": "Americké Panenské ostrovy"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarktída"
+ },
+ "AG": {
+ "name": "Antigua a Barbuda"
+ },
+ "AR": {
+ "name": "Argentína"
+ },
+ "AM": {
+ "name": "Arménsko"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension"
+ },
+ "AU": {
+ "name": "Austrália"
+ },
+ "AZ": {
+ "name": "Azerbajdžan"
+ },
+ "BS": {
+ "name": "Bahamy"
+ },
+ "BH": {
+ "name": "Bahrajn"
+ },
+ "BD": {
+ "name": "Bangladéš"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BE": {
+ "name": "Belgicko"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermudy"
+ },
+ "BT": {
+ "name": "Bhután"
+ },
+ "BY": {
+ "name": "Bielorusko"
+ },
+ "BO": {
+ "name": "Bolívia"
+ },
+ "BA": {
+ "name": "Bosna a Hercegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brazília"
+ },
+ "IO": {
+ "name": "Britské indickooceánske územie"
+ },
+ "VG": {
+ "name": "Britské Panenské ostrovy"
+ },
+ "BN": {
+ "name": "Brunej"
+ },
+ "BG": {
+ "name": "Bulharsko"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "EA": {
+ "name": "Ceuta a Melilla"
+ },
+ "CK": {
+ "name": "Cookove ostrovy"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "CY": {
+ "name": "Cyprus"
+ },
+ "TD": {
+ "name": "Čad"
+ },
+ "CZ": {
+ "name": "Česká republika"
+ },
+ "ME": {
+ "name": "Čierna Hora"
+ },
+ "CL": {
+ "name": "Čile"
+ },
+ "CN": {
+ "name": "Čína"
+ },
+ "DK": {
+ "name": "Dánsko"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "DO": {
+ "name": "Dominikánska republika"
+ },
+ "DJ": {
+ "name": "Džibutsko"
+ },
+ "EG": {
+ "name": "Egypt"
+ },
+ "EC": {
+ "name": "Ekvádor"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estónsko"
+ },
+ "ET": {
+ "name": "Etiópia"
+ },
+ "FO": {
+ "name": "Faerské ostrovy"
+ },
+ "FK": {
+ "name": "Falklandy"
+ },
+ "FJ": {
+ "name": "Fidži"
+ },
+ "PH": {
+ "name": "Filipíny"
+ },
+ "FI": {
+ "name": "Fínsko"
+ },
+ "GF": {
+ "name": "Francúzska Guayana"
+ },
+ "PF": {
+ "name": "Francúzska Polynézia"
+ },
+ "TF": {
+ "name": "Francúzske južné a antarktické územia"
+ },
+ "FR": {
+ "name": "Francúzsko"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltár"
+ },
+ "GR": {
+ "name": "Grécko"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GL": {
+ "name": "Grónsko"
+ },
+ "GE": {
+ "name": "Gruzínsko"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GY": {
+ "name": "Guayana"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GW": {
+ "name": "Guinea-Bissau"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "NL": {
+ "name": "Holandsko"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hongkong – OAO Číny"
+ },
+ "HR": {
+ "name": "Chorvátsko"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonézia"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Irán"
+ },
+ "IE": {
+ "name": "Írsko"
+ },
+ "IS": {
+ "name": "Island"
+ },
+ "IL": {
+ "name": "Izrael"
+ },
+ "JM": {
+ "name": "Jamajka"
+ },
+ "JP": {
+ "name": "Japonsko"
+ },
+ "YE": {
+ "name": "Jemen"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordánsko"
+ },
+ "ZA": {
+ "name": "Južná Afrika"
+ },
+ "GS": {
+ "name": "Južná Georgia a Južné Sandwichove ostrovy"
+ },
+ "KR": {
+ "name": "Južná Kórea"
+ },
+ "SS": {
+ "name": "Južný Sudán"
+ },
+ "KY": {
+ "name": "Kajmanie ostrovy"
+ },
+ "KH": {
+ "name": "Kambodža"
+ },
+ "CM": {
+ "name": "Kamerun"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "IC": {
+ "name": "Kanárske ostrovy"
+ },
+ "CV": {
+ "name": "Kapverdy"
+ },
+ "BQ": {
+ "name": "Karibské Holandsko"
+ },
+ "QA": {
+ "name": "Katar"
+ },
+ "KZ": {
+ "name": "Kazachstan"
+ },
+ "KE": {
+ "name": "Keňa"
+ },
+ "KG": {
+ "name": "Kirgizsko"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "CC": {
+ "name": "Kokosové ostrovy"
+ },
+ "CO": {
+ "name": "Kolumbia"
+ },
+ "KM": {
+ "name": "Komory"
+ },
+ "CD": {
+ "name": "Konžská demokratická republika"
+ },
+ "CG": {
+ "name": "Konžská republika"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "Kostarika"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "KW": {
+ "name": "Kuvajt"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LB": {
+ "name": "Libanon"
+ },
+ "LR": {
+ "name": "Libéria"
+ },
+ "LY": {
+ "name": "Líbya"
+ },
+ "LI": {
+ "name": "Lichtenštajnsko"
+ },
+ "LT": {
+ "name": "Litva"
+ },
+ "LV": {
+ "name": "Lotyšsko"
+ },
+ "LU": {
+ "name": "Luxembursko"
+ },
+ "MO": {
+ "name": "Macao – OAO Číny"
+ },
+ "MK": {
+ "name": "Macedónsko"
+ },
+ "MG": {
+ "name": "Madagaskar"
+ },
+ "HU": {
+ "name": "Maďarsko"
+ },
+ "MY": {
+ "name": "Malajzia"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MV": {
+ "name": "Maldivy"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Maroko"
+ },
+ "MH": {
+ "name": "Marshallove ostrovy"
+ },
+ "MQ": {
+ "name": "Martinik"
+ },
+ "MU": {
+ "name": "Maurícius"
+ },
+ "MR": {
+ "name": "Mauritánia"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "UM": {
+ "name": "Menšie odľahlé ostrovy USA"
+ },
+ "MX": {
+ "name": "Mexiko"
+ },
+ "FM": {
+ "name": "Mikronézia"
+ },
+ "MM": {
+ "name": "Mjanmarsko"
+ },
+ "MD": {
+ "name": "Moldavsko"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MN": {
+ "name": "Mongolsko"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mozambik"
+ },
+ "NA": {
+ "name": "Namíbia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "DE": {
+ "name": "Nemecko"
+ },
+ "NP": {
+ "name": "Nepál"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigéria"
+ },
+ "NI": {
+ "name": "Nikaragua"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NF": {
+ "name": "Norfolk"
+ },
+ "NO": {
+ "name": "Nórsko"
+ },
+ "NC": {
+ "name": "Nová Kaledónia"
+ },
+ "NZ": {
+ "name": "Nový Zéland"
+ },
+ "OM": {
+ "name": "Omán"
+ },
+ "IM": {
+ "name": "Ostrov Man"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palestínske územia"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua Nová Guinea"
+ },
+ "PY": {
+ "name": "Paraguaj"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitcairnove ostrovy"
+ },
+ "CI": {
+ "name": "Pobrežie Slonoviny"
+ },
+ "PL": {
+ "name": "Poľsko"
+ },
+ "PR": {
+ "name": "Portoriko"
+ },
+ "PT": {
+ "name": "Portugalsko"
+ },
+ "AT": {
+ "name": "Rakúsko"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "GQ": {
+ "name": "Rovníková Guinea"
+ },
+ "RO": {
+ "name": "Rumunsko"
+ },
+ "RU": {
+ "name": "Rusko"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "PM": {
+ "name": "Saint Pierre a Miquelon"
+ },
+ "SV": {
+ "name": "Salvádor"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Maríno"
+ },
+ "SA": {
+ "name": "Saudská Arábia"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "KP": {
+ "name": "Severná Kórea"
+ },
+ "MP": {
+ "name": "Severné Mariány"
+ },
+ "SC": {
+ "name": "Seychely"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SK": {
+ "name": "Slovensko"
+ },
+ "SI": {
+ "name": "Slovinsko"
+ },
+ "SO": {
+ "name": "Somálsko"
+ },
+ "AE": {
+ "name": "Spojené arabské emiráty"
+ },
+ "GB": {
+ "name": "Spojené kráľovstvo"
+ },
+ "US": {
+ "name": "Spojené štáty"
+ },
+ "RS": {
+ "name": "Srbsko"
+ },
+ "LK": {
+ "name": "Srí Lanka"
+ },
+ "CF": {
+ "name": "Stredoafrická republika"
+ },
+ "SD": {
+ "name": "Sudán"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SJ": {
+ "name": "Svalbard a Jan Mayen"
+ },
+ "SZ": {
+ "name": "Svazijsko"
+ },
+ "SH": {
+ "name": "Svätá Helena"
+ },
+ "LC": {
+ "name": "Svätá Lucia"
+ },
+ "BL": {
+ "name": "Svätý Bartolomej"
+ },
+ "KN": {
+ "name": "Svätý Krištof a Nevis"
+ },
+ "MF": {
+ "name": "Svätý Martin (fr.)"
+ },
+ "SX": {
+ "name": "Svätý Martin (hol.)"
+ },
+ "ST": {
+ "name": "Svätý Tomáš a Princov ostrov"
+ },
+ "VC": {
+ "name": "Svätý Vincent a Grenadíny"
+ },
+ "SY": {
+ "name": "Sýria"
+ },
+ "SB": {
+ "name": "Šalamúnove ostrovy"
+ },
+ "ES": {
+ "name": "Španielsko"
+ },
+ "CH": {
+ "name": "Švajčiarsko"
+ },
+ "SE": {
+ "name": "Švédsko"
+ },
+ "TJ": {
+ "name": "Tadžikistan"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "IT": {
+ "name": "Taliansko"
+ },
+ "TZ": {
+ "name": "Tanzánia"
+ },
+ "TH": {
+ "name": "Thajsko"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad a Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisko"
+ },
+ "TR": {
+ "name": "Turecko"
+ },
+ "TM": {
+ "name": "Turkménsko"
+ },
+ "TC": {
+ "name": "Turks a Caicos"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukrajina"
+ },
+ "UY": {
+ "name": "Uruguaj"
+ },
+ "UZ": {
+ "name": "Uzbekistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikán"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "CX": {
+ "name": "Vianočný ostrov"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "TL": {
+ "name": "Východný Timor"
+ },
+ "WF": {
+ "name": "Wallis a Futuna"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "EH": {
+ "name": "Západná Sahara"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/sl.json b/vendor/commerceguys/intl/resources/country/sl.json
new file mode 100644
index 000000000..2855bc52c
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/sl.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afganistan"
+ },
+ "AX": {
+ "name": "Ålandski otoki"
+ },
+ "AL": {
+ "name": "Albanija"
+ },
+ "DZ": {
+ "name": "Alžirija"
+ },
+ "AS": {
+ "name": "Ameriška Samoa"
+ },
+ "VI": {
+ "name": "Ameriški Deviški otoki"
+ },
+ "AD": {
+ "name": "Andora"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Angvila"
+ },
+ "AQ": {
+ "name": "Antarktika"
+ },
+ "AG": {
+ "name": "Antigva in Barbuda"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenija"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Avstralija"
+ },
+ "AT": {
+ "name": "Avstrija"
+ },
+ "AZ": {
+ "name": "Azerbajdžan"
+ },
+ "BS": {
+ "name": "Bahami"
+ },
+ "BH": {
+ "name": "Bahrajn"
+ },
+ "BD": {
+ "name": "Bangladeš"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BE": {
+ "name": "Belgija"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BY": {
+ "name": "Belorusija"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermudi"
+ },
+ "BW": {
+ "name": "Bocvana"
+ },
+ "BG": {
+ "name": "Bolgarija"
+ },
+ "BO": {
+ "name": "Bolivija"
+ },
+ "BA": {
+ "name": "Bosna in Hercegovina"
+ },
+ "CX": {
+ "name": "Božični otok"
+ },
+ "BR": {
+ "name": "Brazilija"
+ },
+ "VG": {
+ "name": "Britanski Deviški otoki"
+ },
+ "IO": {
+ "name": "Britansko ozemlje v Indijskem oceanu"
+ },
+ "BN": {
+ "name": "Brunej"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Butan"
+ },
+ "CF": {
+ "name": "Centralnoafriška republika"
+ },
+ "EA": {
+ "name": "Ceuta in Melilla"
+ },
+ "CY": {
+ "name": "Ciper"
+ },
+ "CK": {
+ "name": "Cookovi otoki"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "TD": {
+ "name": "Čad"
+ },
+ "CZ": {
+ "name": "Češka"
+ },
+ "CL": {
+ "name": "Čile"
+ },
+ "ME": {
+ "name": "Črna gora"
+ },
+ "DK": {
+ "name": "Danska"
+ },
+ "CD": {
+ "name": "Demokratična republika Kongo"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "DO": {
+ "name": "Dominikanska republika"
+ },
+ "DJ": {
+ "name": "Džibuti"
+ },
+ "EG": {
+ "name": "Egipt"
+ },
+ "EC": {
+ "name": "Ekvador"
+ },
+ "GQ": {
+ "name": "Ekvatorialna Gvineja"
+ },
+ "ER": {
+ "name": "Eritreja"
+ },
+ "EE": {
+ "name": "Estonija"
+ },
+ "ET": {
+ "name": "Etiopija"
+ },
+ "FK": {
+ "name": "Falklandski otoki"
+ },
+ "FO": {
+ "name": "Ferski otoki"
+ },
+ "FJ": {
+ "name": "Fidži"
+ },
+ "PH": {
+ "name": "Filipini"
+ },
+ "FI": {
+ "name": "Finska"
+ },
+ "FR": {
+ "name": "Francija"
+ },
+ "GF": {
+ "name": "Francoska Gvajana"
+ },
+ "PF": {
+ "name": "Francoska Polinezija"
+ },
+ "TF": {
+ "name": "Francosko južno ozemlje"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambija"
+ },
+ "GH": {
+ "name": "Gana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GR": {
+ "name": "Grčija"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GL": {
+ "name": "Grenlandija"
+ },
+ "GE": {
+ "name": "Gruzija"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GP": {
+ "name": "Gvadalupe"
+ },
+ "GY": {
+ "name": "Gvajana"
+ },
+ "GT": {
+ "name": "Gvatemala"
+ },
+ "GN": {
+ "name": "Gvineja"
+ },
+ "GW": {
+ "name": "Gvineja Bissau"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HR": {
+ "name": "Hrvaška"
+ },
+ "IN": {
+ "name": "Indija"
+ },
+ "ID": {
+ "name": "Indonezija"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IE": {
+ "name": "Irska"
+ },
+ "IS": {
+ "name": "Islandija"
+ },
+ "IT": {
+ "name": "Italija"
+ },
+ "IL": {
+ "name": "Izrael"
+ },
+ "JM": {
+ "name": "Jamajka"
+ },
+ "JP": {
+ "name": "Japonska"
+ },
+ "YE": {
+ "name": "Jemen"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordanija"
+ },
+ "GS": {
+ "name": "Južna Georgia in Južni Sandwichevi otoki"
+ },
+ "KR": {
+ "name": "Južna Koreja"
+ },
+ "SS": {
+ "name": "Južni Sudan"
+ },
+ "ZA": {
+ "name": "Južnoafriška republika"
+ },
+ "KY": {
+ "name": "Kajmanski otoki"
+ },
+ "KH": {
+ "name": "Kambodža"
+ },
+ "CM": {
+ "name": "Kamerun"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "IC": {
+ "name": "Kanarski otoki"
+ },
+ "QA": {
+ "name": "Katar"
+ },
+ "KZ": {
+ "name": "Kazahstan"
+ },
+ "KE": {
+ "name": "Kenija"
+ },
+ "KG": {
+ "name": "Kirgizistan"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "CN": {
+ "name": "Kitajska"
+ },
+ "CC": {
+ "name": "Kokosovi otoki"
+ },
+ "CO": {
+ "name": "Kolumbija"
+ },
+ "KM": {
+ "name": "Komori"
+ },
+ "CG": {
+ "name": "Kongo - Brazzaville"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "Kostarika"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "KW": {
+ "name": "Kuvajt"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LV": {
+ "name": "Latvija"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LB": {
+ "name": "Libanon"
+ },
+ "LR": {
+ "name": "Liberija"
+ },
+ "LY": {
+ "name": "Libija"
+ },
+ "LI": {
+ "name": "Lihtenštajn"
+ },
+ "LT": {
+ "name": "Litva"
+ },
+ "LU": {
+ "name": "Luksemburg"
+ },
+ "MG": {
+ "name": "Madagaskar"
+ },
+ "HU": {
+ "name": "Madžarska"
+ },
+ "MK": {
+ "name": "Makedonija"
+ },
+ "MW": {
+ "name": "Malavi"
+ },
+ "MV": {
+ "name": "Maldivi"
+ },
+ "MY": {
+ "name": "Malezija"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Maroko"
+ },
+ "MH": {
+ "name": "Marshallovi otoki"
+ },
+ "MQ": {
+ "name": "Martinik"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "MR": {
+ "name": "Mavretanija"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Mehika"
+ },
+ "FM": {
+ "name": "Mikronezija"
+ },
+ "MM": {
+ "name": "Mjanmar (Burma)"
+ },
+ "MD": {
+ "name": "Moldavija"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MN": {
+ "name": "Mongolija"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mozambik"
+ },
+ "NA": {
+ "name": "Namibija"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "DE": {
+ "name": "Nemčija"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigerija"
+ },
+ "NI": {
+ "name": "Nikaragva"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NL": {
+ "name": "Nizozemska"
+ },
+ "BQ": {
+ "name": "Nizozemski Karibi"
+ },
+ "NF": {
+ "name": "Norfolški otok"
+ },
+ "NO": {
+ "name": "Norveška"
+ },
+ "NC": {
+ "name": "Nova Kaledonija"
+ },
+ "NZ": {
+ "name": "Nova Zelandija"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "AC": {
+ "name": "Otok Ascension"
+ },
+ "IM": {
+ "name": "Otok Man"
+ },
+ "TC": {
+ "name": "Otoki Turks in Caicos"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palestinsko ozemlje"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua Nova Gvineja"
+ },
+ "PY": {
+ "name": "Paragvaj"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitcairn"
+ },
+ "PL": {
+ "name": "Poljska"
+ },
+ "PR": {
+ "name": "Portoriko"
+ },
+ "PT": {
+ "name": "Portugalska"
+ },
+ "HK": {
+ "name": "Posebno administrativno območje LR Kitajske Hongkong"
+ },
+ "MO": {
+ "name": "Posebno administrativno območje LR Kitajske Macao"
+ },
+ "RE": {
+ "name": "Reunion"
+ },
+ "RO": {
+ "name": "Romunija"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RU": {
+ "name": "Rusija"
+ },
+ "BL": {
+ "name": "Saint Barthélemy"
+ },
+ "KN": {
+ "name": "Saint Kitts in Nevis"
+ },
+ "LC": {
+ "name": "Saint Lucia"
+ },
+ "MF": {
+ "name": "Saint Martin"
+ },
+ "PM": {
+ "name": "Saint Pierre in Miquelon"
+ },
+ "VC": {
+ "name": "Saint Vincent in Grenadine"
+ },
+ "SB": {
+ "name": "Salomonovi otoki"
+ },
+ "SV": {
+ "name": "Salvador"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "Sao Tome in Principe"
+ },
+ "SA": {
+ "name": "Saudova Arabija"
+ },
+ "SC": {
+ "name": "Sejšeli"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "KP": {
+ "name": "Severna Koreja"
+ },
+ "MP": {
+ "name": "Severni Marianski otoki"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Sirija"
+ },
+ "CI": {
+ "name": "Slonokoščena obala"
+ },
+ "SK": {
+ "name": "Slovaška"
+ },
+ "SI": {
+ "name": "Slovenija"
+ },
+ "SO": {
+ "name": "Somalija"
+ },
+ "RS": {
+ "name": "Srbija"
+ },
+ "UM": {
+ "name": "Stranski zunanji otoki Združenih držav"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SJ": {
+ "name": "Svalbard in Jan Mayen"
+ },
+ "SZ": {
+ "name": "Svazi"
+ },
+ "SH": {
+ "name": "Sveta Helena"
+ },
+ "ES": {
+ "name": "Španija"
+ },
+ "LK": {
+ "name": "Šrilanka"
+ },
+ "SE": {
+ "name": "Švedska"
+ },
+ "CH": {
+ "name": "Švica"
+ },
+ "TJ": {
+ "name": "Tadžikistan"
+ },
+ "TH": {
+ "name": "Tajska"
+ },
+ "TW": {
+ "name": "Tajvan"
+ },
+ "TZ": {
+ "name": "Tanzanija"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad in Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunizija"
+ },
+ "TR": {
+ "name": "Turčija"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukrajina"
+ },
+ "UY": {
+ "name": "Urugvaj"
+ },
+ "UZ": {
+ "name": "Uzbekistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikan"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis in Futuna"
+ },
+ "EH": {
+ "name": "Zahodna Sahara"
+ },
+ "ZM": {
+ "name": "Zambija"
+ },
+ "US": {
+ "name": "Združene države Amerike"
+ },
+ "AE": {
+ "name": "Združeni arabski emirati"
+ },
+ "GB": {
+ "name": "Združeno kraljestvo"
+ },
+ "CV": {
+ "name": "Zelenortski otoki"
+ },
+ "ZW": {
+ "name": "Zimbabve"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/smn.json b/vendor/commerceguys/intl/resources/country/smn.json
new file mode 100644
index 000000000..5e6b6a1a6
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/smn.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afganistan"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Algeria"
+ },
+ "AS": {
+ "name": "Amerika Samoa"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarktis"
+ },
+ "AG": {
+ "name": "Antigua já Barbuda"
+ },
+ "AE": {
+ "name": "Arabiemirkodeh"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension-suálui"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AZ": {
+ "name": "Azerbaidžan"
+ },
+ "BS": {
+ "name": "Bahama"
+ },
+ "BH": {
+ "name": "Bahrain"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BE": {
+ "name": "Belgia"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia já Herzegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brasilia"
+ },
+ "IO": {
+ "name": "Brittilâš India väldimeerâ kuávlu"
+ },
+ "VG": {
+ "name": "Brittiliih Nieidâsuolluuh"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "CV": {
+ "name": "Cape Verde"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "KY": {
+ "name": "Caymansuolluuh"
+ },
+ "EA": {
+ "name": "Ceuta já Melilla"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CG": {
+ "name": "Congo - Brazzaville"
+ },
+ "CD": {
+ "name": "Congo - Kinshasa"
+ },
+ "CK": {
+ "name": "Cooksuolluuh"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "CI": {
+ "name": "Côte d’Ivoire"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "SJ": {
+ "name": "Čokkeväärih já Jan Mayen"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DJ": {
+ "name": "Djibouti"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "DO": {
+ "name": "Dominikaanisâš täsiväldi"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EE": {
+ "name": "Eestieennâm"
+ },
+ "EG": {
+ "name": "Egypti"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "ES": {
+ "name": "Espanja"
+ },
+ "ET": {
+ "name": "Etiopia"
+ },
+ "FK": {
+ "name": "Falklandsuolluuh"
+ },
+ "FJ": {
+ "name": "Fidži"
+ },
+ "PH": {
+ "name": "Filipineh"
+ },
+ "FO": {
+ "name": "Färsuolluuh"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GL": {
+ "name": "Grönland"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GW": {
+ "name": "Guinea-Bissau"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hongkong – Kiina e.h.k."
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IE": {
+ "name": "Irland"
+ },
+ "IS": {
+ "name": "Island"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JP": {
+ "name": "Jaapaan"
+ },
+ "JM": {
+ "name": "Jamaika"
+ },
+ "YE": {
+ "name": "Jemen"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordan"
+ },
+ "CX": {
+ "name": "Juovlâsuálui"
+ },
+ "KH": {
+ "name": "Kambodža"
+ },
+ "CM": {
+ "name": "Kamerun"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "IC": {
+ "name": "Kanariasuolluuh"
+ },
+ "KZ": {
+ "name": "Kazakstan"
+ },
+ "KE": {
+ "name": "Kenia"
+ },
+ "CN": {
+ "name": "Kiina"
+ },
+ "KG": {
+ "name": "Kirgisia"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "CO": {
+ "name": "Kolumbia"
+ },
+ "KM": {
+ "name": "Komoreh"
+ },
+ "CC": {
+ "name": "Kookossuolluuh (Keelingsuolluuh)"
+ },
+ "CF": {
+ "name": "Koskâ-Afrika täsiväldi"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "GR": {
+ "name": "Kreikka"
+ },
+ "HR": {
+ "name": "Kroatia"
+ },
+ "CU": {
+ "name": "Kuuba"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "CY": {
+ "name": "Kypros"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LV": {
+ "name": "Latvia"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LB": {
+ "name": "Libanon"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Liettua"
+ },
+ "LU": {
+ "name": "Luxemburg"
+ },
+ "ZA": {
+ "name": "Maadâ-Afrikka"
+ },
+ "GS": {
+ "name": "Maadâ-Georgia já Máddááh Sandwichsuolluuh"
+ },
+ "KR": {
+ "name": "Maadâ-Korea"
+ },
+ "SS": {
+ "name": "Maadâ-Sudan"
+ },
+ "MO": {
+ "name": "Macao - – Kiina e.h.k."
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagaskar"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malaysia"
+ },
+ "MV": {
+ "name": "Malediveh"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "IM": {
+ "name": "Mansuálui"
+ },
+ "MA": {
+ "name": "Marokko"
+ },
+ "MH": {
+ "name": "Marshallsuolluuh"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Meksiko"
+ },
+ "FM": {
+ "name": "Mikronesia littoväldi"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mosambik"
+ },
+ "MM": {
+ "name": "Myanmar (Burma)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NF": {
+ "name": "Norfolksuálui"
+ },
+ "AT": {
+ "name": "Nuorttâriijkâ"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "GB": {
+ "name": "Ovtâstum Kunâgâskodde"
+ },
+ "US": {
+ "name": "Ovtâstum Staatah"
+ },
+ "VI": {
+ "name": "Ovtâstum Staatâi Nieidâsuolluuh"
+ },
+ "UM": {
+ "name": "Ovtâstum Staatâi sierânâssuolluuh"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palestinian Territories"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua-Uđđâ-Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "GQ": {
+ "name": "Peeivitäsideijee Guinea"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitcairn"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "PL": {
+ "name": "Puola"
+ },
+ "QA": {
+ "name": "Qatar"
+ },
+ "FR": {
+ "name": "Ranska"
+ },
+ "GF": {
+ "name": "Ranska Guyana"
+ },
+ "TF": {
+ "name": "Ranska máddááh kuávluh"
+ },
+ "PF": {
+ "name": "Ranska Polynesia"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RO": {
+ "name": "Romania"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RU": {
+ "name": "Ruoššâ"
+ },
+ "SE": {
+ "name": "Ruotâ"
+ },
+ "SH": {
+ "name": "Saint Helena"
+ },
+ "DE": {
+ "name": "Saksa"
+ },
+ "SB": {
+ "name": "Salomosuolluuh"
+ },
+ "ZM": {
+ "name": "Sambia"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "SA": {
+ "name": "Saudi Arabia"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelleh"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapore"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "KN": {
+ "name": "St. Kitts já Nevis"
+ },
+ "LC": {
+ "name": "St. Lucia"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "PM": {
+ "name": "St. Pierre já Miquelon"
+ },
+ "VC": {
+ "name": "St. Vincent já Grenadines"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "FI": {
+ "name": "Suomâ"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "CH": {
+ "name": "Sveitsi"
+ },
+ "SZ": {
+ "name": "Swazieennâm"
+ },
+ "SY": {
+ "name": "Syria"
+ },
+ "ST": {
+ "name": "São Tomé já Príncipe"
+ },
+ "NO": {
+ "name": "Taažâ"
+ },
+ "TJ": {
+ "name": "Tadžikistan"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TZ": {
+ "name": "Tansania"
+ },
+ "DK": {
+ "name": "Tanska"
+ },
+ "KP": {
+ "name": "Tave-Korea"
+ },
+ "MP": {
+ "name": "Tave-Marianeh"
+ },
+ "TH": {
+ "name": "Thaieennâm"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad já Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TD": {
+ "name": "Tšad"
+ },
+ "CZ": {
+ "name": "Tšekki"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TR": {
+ "name": "Turkki"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TC": {
+ "name": "Turks- já Caicossuolluuh"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "NC": {
+ "name": "Uđđâ-Kaledonia"
+ },
+ "NZ": {
+ "name": "Uđđâ-Seeland"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukraina"
+ },
+ "HU": {
+ "name": "Uŋgar"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbekistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikan"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "BY": {
+ "name": "Vielgis-Ruoššâ"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "NL": {
+ "name": "Vuáládâhenâmeh"
+ },
+ "AX": {
+ "name": "Vuáskueennâm"
+ },
+ "WF": {
+ "name": "Wallis já Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/sn.json b/vendor/commerceguys/intl/resources/country/sn.json
new file mode 100644
index 000000000..5813dfc23
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/sn.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afuganistani"
+ },
+ "AR": {
+ "name": "Ajentina"
+ },
+ "AX": {
+ "name": "Åland Islands"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Aljeria"
+ },
+ "US": {
+ "name": "Amerika"
+ },
+ "AD": {
+ "name": "Andora"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguila"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigua ne Barbuda"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Arubha"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "AZ": {
+ "name": "Azabajani"
+ },
+ "BS": {
+ "name": "Bahama"
+ },
+ "BH": {
+ "name": "Bahareni"
+ },
+ "BD": {
+ "name": "Bangladeshi"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BY": {
+ "name": "Belarusi"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BE": {
+ "name": "Beljium"
+ },
+ "BJ": {
+ "name": "Benini"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BT": {
+ "name": "Bhutani"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BA": {
+ "name": "Boznia ne Herzegovina"
+ },
+ "BR": {
+ "name": "Brazil"
+ },
+ "IO": {
+ "name": "British Indian Ocean Territory"
+ },
+ "BF": {
+ "name": "Bukinafaso"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BN": {
+ "name": "Burunei"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "CF": {
+ "name": "Central African Republic"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "TD": {
+ "name": "Chadi"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "NF": {
+ "name": "Chitsuwa cheNorfolk"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "CY": {
+ "name": "Cyprus"
+ },
+ "CZ": {
+ "name": "Czech Republic"
+ },
+ "CD": {
+ "name": "Democratic Republic of the Congo"
+ },
+ "DK": {
+ "name": "Denmark"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DJ": {
+ "name": "Djibouti"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "DO": {
+ "name": "Dominican Republic"
+ },
+ "TL": {
+ "name": "East Timor"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egypt"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "GQ": {
+ "name": "Equatorial Guinea"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Etiopia"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "FI": {
+ "name": "Finland"
+ },
+ "FR": {
+ "name": "France"
+ },
+ "GF": {
+ "name": "French Guiana"
+ },
+ "PF": {
+ "name": "French Polynesia"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "DE": {
+ "name": "Germany"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GR": {
+ "name": "Greece"
+ },
+ "GL": {
+ "name": "Greenland"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GW": {
+ "name": "Guinea-Bissau"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hungary"
+ },
+ "IS": {
+ "name": "Iceland"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IQ": {
+ "name": "Iraq"
+ },
+ "IE": {
+ "name": "Ireland"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IT": {
+ "name": "Italy"
+ },
+ "CI": {
+ "name": "Ivory Coast"
+ },
+ "IL": {
+ "name": "Izuraeri"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japan"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordan"
+ },
+ "KH": {
+ "name": "Kambodia"
+ },
+ "CM": {
+ "name": "Kameruni"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "KZ": {
+ "name": "Kazakhstan"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "CO": {
+ "name": "Kolombia"
+ },
+ "KM": {
+ "name": "Komoro"
+ },
+ "CG": {
+ "name": "Kongo"
+ },
+ "HR": {
+ "name": "Korasia"
+ },
+ "KP": {
+ "name": "Korea, North"
+ },
+ "KR": {
+ "name": "Korea, South"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "Kostarika"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "KG": {
+ "name": "Kyrgyzstan"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LV": {
+ "name": "Latvia"
+ },
+ "LB": {
+ "name": "Lebanon"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lithuania"
+ },
+ "LU": {
+ "name": "Luxembourg"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malaysia"
+ },
+ "MV": {
+ "name": "Maldives"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Mexico"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MA": {
+ "name": "Morocco"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NL": {
+ "name": "Netherlands"
+ },
+ "NC": {
+ "name": "New Caledonia"
+ },
+ "NZ": {
+ "name": "New Zealand"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Norway"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palestinian Territories"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua New Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PH": {
+ "name": "Philippines"
+ },
+ "PN": {
+ "name": "Pitcairn"
+ },
+ "PL": {
+ "name": "Poland"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "QA": {
+ "name": "Qatar"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RO": {
+ "name": "Romania"
+ },
+ "RU": {
+ "name": "Russia"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "SH": {
+ "name": "Saint Helena"
+ },
+ "KN": {
+ "name": "Saint Kitts and Nevis"
+ },
+ "LC": {
+ "name": "Saint Lucia"
+ },
+ "PM": {
+ "name": "Saint Pierre and Miquelon"
+ },
+ "VC": {
+ "name": "Saint Vincent and the Grenadines"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa ye Amerika"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "São Tomé and Príncipe"
+ },
+ "SA": {
+ "name": "Saudi Arabia"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapore"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "ZA": {
+ "name": "South Africa"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "ES": {
+ "name": "Spain"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swaziland"
+ },
+ "SE": {
+ "name": "Sweden"
+ },
+ "CH": {
+ "name": "Switzerland"
+ },
+ "SY": {
+ "name": "Syria"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TJ": {
+ "name": "Tajikistan"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TH": {
+ "name": "Thailand"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad and Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TR": {
+ "name": "Turkey"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukraine"
+ },
+ "AE": {
+ "name": "United Arab Emirates"
+ },
+ "GB": {
+ "name": "United Kingdom"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbekistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatican State"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis and Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ },
+ "SB": {
+ "name": "Zvitsuwa zvaSolomon"
+ },
+ "VI": {
+ "name": "Zvitsuwa zveAmerika"
+ },
+ "CV": {
+ "name": "Zvitsuwa zveCape Verde"
+ },
+ "KY": {
+ "name": "Zvitsuwa zveCayman"
+ },
+ "CK": {
+ "name": "Zvitsuwa zveCook"
+ },
+ "FK": {
+ "name": "Zvitsuwa zveFalklands"
+ },
+ "VG": {
+ "name": "Zvitsuwa zveHingirandi"
+ },
+ "MP": {
+ "name": "Zvitsuwa zvekumaodzanyemba eMariana"
+ },
+ "MH": {
+ "name": "Zvitsuwa zveMarshall"
+ },
+ "TC": {
+ "name": "Zvitsuwa zveTurk neCaico"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/so.json b/vendor/commerceguys/intl/resources/country/so.json
new file mode 100644
index 000000000..a6fcb6e19
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/so.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afgaanistaan"
+ },
+ "AX": {
+ "name": "Åland Islands"
+ },
+ "AL": {
+ "name": "Albaaniya"
+ },
+ "DZ": {
+ "name": "Aljeeriya"
+ },
+ "AD": {
+ "name": "Andora"
+ },
+ "AO": {
+ "name": "Angoola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigua iyo Barbuda"
+ },
+ "AR": {
+ "name": "Arjantiin"
+ },
+ "AM": {
+ "name": "Armeeniya"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AU": {
+ "name": "Awstaraaliya"
+ },
+ "AT": {
+ "name": "Awsteriya"
+ },
+ "IE": {
+ "name": "Ayrlaand"
+ },
+ "AZ": {
+ "name": "Azerbajaan"
+ },
+ "BB": {
+ "name": "Baarbadoos"
+ },
+ "BS": {
+ "name": "Bahaamas"
+ },
+ "PK": {
+ "name": "Bakistaan"
+ },
+ "BD": {
+ "name": "Bangaaladheesh"
+ },
+ "BH": {
+ "name": "Baxreyn"
+ },
+ "BY": {
+ "name": "Belarus"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BM": {
+ "name": "Bermuuda"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BE": {
+ "name": "Biljam"
+ },
+ "BJ": {
+ "name": "Biniin"
+ },
+ "BO": {
+ "name": "Boliifiya"
+ },
+ "PL": {
+ "name": "Booland"
+ },
+ "PT": {
+ "name": "Bortuqaal"
+ },
+ "BA": {
+ "name": "Bosniya Hersigoviina"
+ },
+ "BW": {
+ "name": "Botuswaana"
+ },
+ "BR": {
+ "name": "Braasiil"
+ },
+ "IO": {
+ "name": "British Indian Ocean Territory"
+ },
+ "VG": {
+ "name": "British Virgin Islands"
+ },
+ "BG": {
+ "name": "Bulgaariya"
+ },
+ "BF": {
+ "name": "Burkiina Faaso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BN": {
+ "name": "Buruneeya"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "CV": {
+ "name": "Cape Verde Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "KY": {
+ "name": "Cayman Islands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "IQ": {
+ "name": "Ciraaq"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "OM": {
+ "name": "Cumaan"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Denmark"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Domeenika"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "GQ": {
+ "name": "Equatorial Guinea"
+ },
+ "ER": {
+ "name": "Eretereeya"
+ },
+ "EE": {
+ "name": "Estooniya"
+ },
+ "VA": {
+ "name": "Faatikaan"
+ },
+ "PS": {
+ "name": "Falastiin Daanka galbeed iyo Qasa"
+ },
+ "FR": {
+ "name": "Faransiis"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "VE": {
+ "name": "Fenisuweela"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filibiin"
+ },
+ "FI": {
+ "name": "Finland"
+ },
+ "VN": {
+ "name": "Fiyetnaam"
+ },
+ "GF": {
+ "name": "French Guiana"
+ },
+ "PF": {
+ "name": "French Polynesia"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gaaboon"
+ },
+ "GH": {
+ "name": "Gaana"
+ },
+ "GM": {
+ "name": "Gambiya"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GN": {
+ "name": "Gini"
+ },
+ "GW": {
+ "name": "Gini-Bisaaw"
+ },
+ "GR": {
+ "name": "Giriig"
+ },
+ "GD": {
+ "name": "Giriinaada"
+ },
+ "GL": {
+ "name": "Greenland"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GT": {
+ "name": "Guwaatamaala"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HU": {
+ "name": "Hangeri"
+ },
+ "HT": {
+ "name": "Hayti"
+ },
+ "IN": {
+ "name": "Hindiya"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "IR": {
+ "name": "Iiraan"
+ },
+ "IS": {
+ "name": "Iislaand"
+ },
+ "EC": {
+ "name": "Ikuwadoor"
+ },
+ "AE": {
+ "name": "Imaaraadka Carabta ee Midoobay"
+ },
+ "ID": {
+ "name": "Indoneesiya"
+ },
+ "ES": {
+ "name": "Isbeyn"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israaʼiil"
+ },
+ "SZ": {
+ "name": "Iswaasilaand"
+ },
+ "SE": {
+ "name": "Iswidhan"
+ },
+ "ET": {
+ "name": "Itoobiya"
+ },
+ "CI": {
+ "name": "Ivory coast"
+ },
+ "TD": {
+ "name": "Jaad"
+ },
+ "JP": {
+ "name": "Jabaan"
+ },
+ "DJ": {
+ "name": "Jabuuti"
+ },
+ "JM": {
+ "name": "Jameyka"
+ },
+ "CF": {
+ "name": "Jamhuuriyadda Afrikada Dhexe"
+ },
+ "CD": {
+ "name": "Jamhuuriyadda Dimuquraadiga Kongo"
+ },
+ "DO": {
+ "name": "Jamhuuriyadda Domeenika"
+ },
+ "CZ": {
+ "name": "Jamhuuriyadda Jek"
+ },
+ "DE": {
+ "name": "Jarmal"
+ },
+ "FK": {
+ "name": "Jaziiradaha Fooklaan"
+ },
+ "CK": {
+ "name": "Jaziiradda Cook"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "CL": {
+ "name": "Jili"
+ },
+ "GE": {
+ "name": "Joorjiya"
+ },
+ "CM": {
+ "name": "Kaameruun"
+ },
+ "KH": {
+ "name": "Kamboodiya"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "KZ": {
+ "name": "Kasaakhistaan"
+ },
+ "KE": {
+ "name": "Kiiniya"
+ },
+ "KG": {
+ "name": "Kirgistaan"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "CO": {
+ "name": "Kolombiya"
+ },
+ "KM": {
+ "name": "Komooros"
+ },
+ "CG": {
+ "name": "Kongo"
+ },
+ "ZA": {
+ "name": "Koonfur Afrika"
+ },
+ "HR": {
+ "name": "Korweeshiya"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "Kosta Riika"
+ },
+ "CU": {
+ "name": "Kuuba"
+ },
+ "KR": {
+ "name": "Kuuriyada Koonfureed"
+ },
+ "KP": {
+ "name": "Kuuriyada Waqooyi"
+ },
+ "KW": {
+ "name": "Kuwayt"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LV": {
+ "name": "Latfiya"
+ },
+ "LR": {
+ "name": "Laybeeriya"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LY": {
+ "name": "Liibiya"
+ },
+ "LT": {
+ "name": "Lituweeniya"
+ },
+ "LS": {
+ "name": "Losooto"
+ },
+ "LB": {
+ "name": "Lubnaan"
+ },
+ "LU": {
+ "name": "Luksemboorg"
+ },
+ "MT": {
+ "name": "Maalda"
+ },
+ "MV": {
+ "name": "Maaldiqeen"
+ },
+ "ML": {
+ "name": "Maali"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MG": {
+ "name": "Madagaskar"
+ },
+ "MK": {
+ "name": "Makadooniya"
+ },
+ "MW": {
+ "name": "Malaawi"
+ },
+ "MY": {
+ "name": "Malaysia"
+ },
+ "US": {
+ "name": "Maraykanka"
+ },
+ "MA": {
+ "name": "Marooko"
+ },
+ "MH": {
+ "name": "Marshall Islands"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "EG": {
+ "name": "Masar"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Meksiko"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MM": {
+ "name": "Miyanmar"
+ },
+ "MD": {
+ "name": "Moldofa"
+ },
+ "MN": {
+ "name": "Mongooliya"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MC": {
+ "name": "Moonako"
+ },
+ "MU": {
+ "name": "Murishiyoos"
+ },
+ "MR": {
+ "name": "Muritaaniya"
+ },
+ "MZ": {
+ "name": "Musambiig"
+ },
+ "NA": {
+ "name": "Namiibiya"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NG": {
+ "name": "Nayjeeriya"
+ },
+ "NE": {
+ "name": "Nayjer"
+ },
+ "NP": {
+ "name": "Nebaal"
+ },
+ "NL": {
+ "name": "Netherlands"
+ },
+ "NC": {
+ "name": "New Caledonia"
+ },
+ "NZ": {
+ "name": "Neyuusilaand"
+ },
+ "NI": {
+ "name": "Nikaraaguwa"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Noorweey"
+ },
+ "NF": {
+ "name": "Norfolk Island"
+ },
+ "MP": {
+ "name": "Northern Mariana Islands"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua New Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitcairn"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "QA": {
+ "name": "Qadar"
+ },
+ "CY": {
+ "name": "Qubrus"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RO": {
+ "name": "Rumaaniya"
+ },
+ "RU": {
+ "name": "Ruush"
+ },
+ "RW": {
+ "name": "Ruwanda"
+ },
+ "ZM": {
+ "name": "Saambiya"
+ },
+ "SA": {
+ "name": "Sacuudi Carabiya"
+ },
+ "SH": {
+ "name": "Saint Helena"
+ },
+ "KN": {
+ "name": "Saint Kitts and Nevis"
+ },
+ "LC": {
+ "name": "Saint Lucia"
+ },
+ "PM": {
+ "name": "Saint Pierre and Miquelon"
+ },
+ "VC": {
+ "name": "Saint Vincent and the Grenadines"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samowa Ameerika"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "São Tomé and Príncipe"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "CN": {
+ "name": "Shiinaha"
+ },
+ "ZW": {
+ "name": "Simbaabwe"
+ },
+ "SG": {
+ "name": "Singaboor"
+ },
+ "SN": {
+ "name": "Sinigaal"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SL": {
+ "name": "Siraaliyoon"
+ },
+ "LK": {
+ "name": "Sirilaanka"
+ },
+ "SC": {
+ "name": "Sishelis"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SB": {
+ "name": "Solomon Islands"
+ },
+ "SO": {
+ "name": "Soomaaliya"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SD": {
+ "name": "Suudaan"
+ },
+ "SY": {
+ "name": "Suuriya"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "CH": {
+ "name": "Swiiserlaand"
+ },
+ "TJ": {
+ "name": "Tajikistan"
+ },
+ "IT": {
+ "name": "Talyaani"
+ },
+ "TZ": {
+ "name": "Tansaaniya"
+ },
+ "TH": {
+ "name": "Taylaand"
+ },
+ "TW": {
+ "name": "Taywaan"
+ },
+ "TL": {
+ "name": "Timorka bari"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TG": {
+ "name": "Toogo"
+ },
+ "TT": {
+ "name": "Trinidad and Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tuniisiya"
+ },
+ "TR": {
+ "name": "Turki"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TC": {
+ "name": "Turks and Caicos Islands"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "VI": {
+ "name": "U.S. Virgin Islands"
+ },
+ "UG": {
+ "name": "Ugaanda"
+ },
+ "UA": {
+ "name": "Ukrayn"
+ },
+ "GB": {
+ "name": "United Kingdom"
+ },
+ "JO": {
+ "name": "Urdun"
+ },
+ "UY": {
+ "name": "Uruguwaay"
+ },
+ "UZ": {
+ "name": "Uusbakistaan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "WF": {
+ "name": "Wallis and Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yaman"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/sq.json b/vendor/commerceguys/intl/resources/country/sq.json
new file mode 100644
index 000000000..95e46c4ac
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/sq.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afganistan"
+ },
+ "ZA": {
+ "name": "Afrika e Jugut"
+ },
+ "DZ": {
+ "name": "Algjeri"
+ },
+ "AD": {
+ "name": "Andorrë"
+ },
+ "AO": {
+ "name": "Angolë"
+ },
+ "AI": {
+ "name": "Anguilë"
+ },
+ "AQ": {
+ "name": "Antarktikë"
+ },
+ "AG": {
+ "name": "Antigua e Barbuda"
+ },
+ "SA": {
+ "name": "Arabia Saudite"
+ },
+ "AR": {
+ "name": "Argjentinë"
+ },
+ "AM": {
+ "name": "Armeni"
+ },
+ "AW": {
+ "name": "Arubë"
+ },
+ "AU": {
+ "name": "Australi"
+ },
+ "AT": {
+ "name": "Austri"
+ },
+ "AZ": {
+ "name": "Azerbajxhan"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahrejn"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BE": {
+ "name": "Belgjikë"
+ },
+ "BZ": {
+ "name": "Belizë"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermudë"
+ },
+ "BY": {
+ "name": "Bjellorusi"
+ },
+ "BO": {
+ "name": "Bolivi"
+ },
+ "BA": {
+ "name": "Bosnjë-Hercegovinë"
+ },
+ "BW": {
+ "name": "Botsvanë"
+ },
+ "BR": {
+ "name": "Brazil"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bullgari"
+ },
+ "BF": {
+ "name": "Burkina-Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Butan"
+ },
+ "CI": {
+ "name": "Côte d’Ivoire"
+ },
+ "TD": {
+ "name": "Çad"
+ },
+ "DK": {
+ "name": "Danimarkë"
+ },
+ "DG": {
+ "name": "Diego-Garsia"
+ },
+ "DM": {
+ "name": "Dominikë"
+ },
+ "EG": {
+ "name": "Egjipt"
+ },
+ "EC": {
+ "name": "Ekuador"
+ },
+ "AE": {
+ "name": "Emiratet e Bashkuara Arabe"
+ },
+ "ER": {
+ "name": "Eritre"
+ },
+ "EE": {
+ "name": "Estoni"
+ },
+ "ET": {
+ "name": "Etiopi"
+ },
+ "PH": {
+ "name": "Filipine"
+ },
+ "FI": {
+ "name": "Finlandë"
+ },
+ "FJ": {
+ "name": "Fixhi"
+ },
+ "FR": {
+ "name": "Francë"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GH": {
+ "name": "Ganë"
+ },
+ "GG": {
+ "name": "Gernsej"
+ },
+ "GD": {
+ "name": "Grenadë"
+ },
+ "GL": {
+ "name": "Grenlandë"
+ },
+ "GR": {
+ "name": "Greqi"
+ },
+ "GP": {
+ "name": "Guadalupe"
+ },
+ "GF": {
+ "name": "Guajana Franceze"
+ },
+ "GY": {
+ "name": "Guajanë"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemalë"
+ },
+ "GN": {
+ "name": "Guine"
+ },
+ "GW": {
+ "name": "Guine-Bisau"
+ },
+ "GQ": {
+ "name": "Guineja Ekuatoriale"
+ },
+ "GE": {
+ "name": "Gjeorgji"
+ },
+ "DE": {
+ "name": "Gjermani"
+ },
+ "GI": {
+ "name": "Gjibraltar"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "NL": {
+ "name": "Holandë"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HU": {
+ "name": "Hungari"
+ },
+ "IN": {
+ "name": "Indi"
+ },
+ "ID": {
+ "name": "Indonezi"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IE": {
+ "name": "Irlandë"
+ },
+ "IS": {
+ "name": "Islandë"
+ },
+ "AX": {
+ "name": "Ishujt Alandë"
+ },
+ "MP": {
+ "name": "Ishujt e Marianës Veriore"
+ },
+ "VI": {
+ "name": "Ishujt e Virgjër Amerikanë"
+ },
+ "VG": {
+ "name": "Ishujt e Virgjër Britanikë"
+ },
+ "FK": {
+ "name": "Ishujt Falkland"
+ },
+ "FO": {
+ "name": "Ishujt Faroe"
+ },
+ "KY": {
+ "name": "Ishujt Kajman"
+ },
+ "IC": {
+ "name": "Ishujt Kanarie"
+ },
+ "CC": {
+ "name": "Ishujt Kokos"
+ },
+ "CK": {
+ "name": "Ishujt Kuk"
+ },
+ "MH": {
+ "name": "Ishujt Marshall"
+ },
+ "UM": {
+ "name": "Ishujt periferikë të SHBA-së"
+ },
+ "PN": {
+ "name": "Ishujt Pitkern"
+ },
+ "SB": {
+ "name": "Ishujt Solomon"
+ },
+ "TC": {
+ "name": "Ishujt Turks dhe Kaikos"
+ },
+ "AC": {
+ "name": "Ishulli Asenshion"
+ },
+ "CX": {
+ "name": "Ishulli i Krishtlindjes"
+ },
+ "IM": {
+ "name": "Ishulli i Manit"
+ },
+ "NF": {
+ "name": "Ishulli Norfolk"
+ },
+ "IT": {
+ "name": "Itali"
+ },
+ "IL": {
+ "name": "Izrael"
+ },
+ "JP": {
+ "name": "Japoni"
+ },
+ "YE": {
+ "name": "Jemen"
+ },
+ "JO": {
+ "name": "Jordani"
+ },
+ "NC": {
+ "name": "Kaledonia e Re"
+ },
+ "KH": {
+ "name": "Kamboxhia"
+ },
+ "CM": {
+ "name": "Kamerun"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "BQ": {
+ "name": "Karaibet holandeze"
+ },
+ "QA": {
+ "name": "Katar"
+ },
+ "KZ": {
+ "name": "Kazakistan"
+ },
+ "KE": {
+ "name": "Kenia"
+ },
+ "CV": {
+ "name": "Kepi i Gjelbër"
+ },
+ "CL": {
+ "name": "Kili"
+ },
+ "CN": {
+ "name": "Kinë"
+ },
+ "KG": {
+ "name": "Kirgistan"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "CO": {
+ "name": "Kolumbi"
+ },
+ "KM": {
+ "name": "Komore"
+ },
+ "CG": {
+ "name": "Kongo-Brazavilë"
+ },
+ "CD": {
+ "name": "Kongo-Kinshasa"
+ },
+ "KR": {
+ "name": "Koreja e Jugut"
+ },
+ "KP": {
+ "name": "Koreja e Veriut"
+ },
+ "XK": {
+ "name": "Kosovë"
+ },
+ "CR": {
+ "name": "Kosta-Rikë"
+ },
+ "HR": {
+ "name": "Kroaci"
+ },
+ "CU": {
+ "name": "Kubë"
+ },
+ "CW": {
+ "name": "Kuraçao"
+ },
+ "KW": {
+ "name": "Kuvajt"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LV": {
+ "name": "Letoni"
+ },
+ "LB": {
+ "name": "Liban"
+ },
+ "LR": {
+ "name": "Liberi"
+ },
+ "LY": {
+ "name": "Libi"
+ },
+ "LI": {
+ "name": "Lihtenshtajn"
+ },
+ "LT": {
+ "name": "Lituani"
+ },
+ "LU": {
+ "name": "Luksemburg"
+ },
+ "MG": {
+ "name": "Madagaskar"
+ },
+ "YT": {
+ "name": "Majotë"
+ },
+ "ME": {
+ "name": "Mal i Zi"
+ },
+ "MY": {
+ "name": "Malajzi"
+ },
+ "MW": {
+ "name": "Malavi"
+ },
+ "MV": {
+ "name": "Maldive"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Maltë"
+ },
+ "MK": {
+ "name": "Maqedoni"
+ },
+ "MA": {
+ "name": "Marok"
+ },
+ "MQ": {
+ "name": "Martinikë"
+ },
+ "MR": {
+ "name": "Mauritani"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "GB": {
+ "name": "Mbretëria e Bashkuar"
+ },
+ "MX": {
+ "name": "Meksikë"
+ },
+ "MM": {
+ "name": "Mianmar (Burma)"
+ },
+ "FM": {
+ "name": "Mikronezi"
+ },
+ "MD": {
+ "name": "Moldavi"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MN": {
+ "name": "Mongoli"
+ },
+ "MS": {
+ "name": "Montserat"
+ },
+ "MZ": {
+ "name": "Mozambik"
+ },
+ "NA": {
+ "name": "Namibi"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigeri"
+ },
+ "NI": {
+ "name": "Nikaragua"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Norvegji"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua Guineja e Re"
+ },
+ "PY": {
+ "name": "Paraguai"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PF": {
+ "name": "Polinezia Franceze"
+ },
+ "PL": {
+ "name": "Poloni"
+ },
+ "PR": {
+ "name": "Porto-Riko"
+ },
+ "PT": {
+ "name": "Portugali"
+ },
+ "CY": {
+ "name": "Qipro"
+ },
+ "CF": {
+ "name": "Repubika e Afrikës Qendrore"
+ },
+ "CZ": {
+ "name": "Republika Çeke"
+ },
+ "DO": {
+ "name": "Republika Dominikane"
+ },
+ "RE": {
+ "name": "Reunion"
+ },
+ "RW": {
+ "name": "Ruandë"
+ },
+ "RO": {
+ "name": "Rumani"
+ },
+ "RU": {
+ "name": "Rusi"
+ },
+ "HK": {
+ "name": "RVAK i Hong Kongut"
+ },
+ "MO": {
+ "name": "RVAK i Makaos"
+ },
+ "EH": {
+ "name": "Saharaja Perëndimore"
+ },
+ "SV": {
+ "name": "Salvador"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa Amerikane"
+ },
+ "SM": {
+ "name": "San-Marino"
+ },
+ "ST": {
+ "name": "Sao-Tome e Prinsipe"
+ },
+ "SC": {
+ "name": "Sejshelle"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbi"
+ },
+ "SL": {
+ "name": "Siera-Leone"
+ },
+ "SG": {
+ "name": "Singapor"
+ },
+ "SX": {
+ "name": "Sint Marten"
+ },
+ "SY": {
+ "name": "Siri"
+ },
+ "SK": {
+ "name": "Sllovaki"
+ },
+ "SI": {
+ "name": "Slloveni"
+ },
+ "SO": {
+ "name": "Somali"
+ },
+ "ES": {
+ "name": "Spanjë"
+ },
+ "LK": {
+ "name": "Sri-Lankë"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "SS": {
+ "name": "Sudani i Jugut"
+ },
+ "SE": {
+ "name": "Suedi"
+ },
+ "SR": {
+ "name": "Surinami"
+ },
+ "SJ": {
+ "name": "Svalbard e Jan-Majen"
+ },
+ "SZ": {
+ "name": "Svazilandë"
+ },
+ "BL": {
+ "name": "Shën Bartolomeu"
+ },
+ "KN": {
+ "name": "Shën Kits dhe Nevis"
+ },
+ "PM": {
+ "name": "Shën Pier dhe Mikelon"
+ },
+ "VC": {
+ "name": "Shën Vincent dhe Grenadine"
+ },
+ "SH": {
+ "name": "Shën-Helenë"
+ },
+ "LC": {
+ "name": "Shën-Luçia"
+ },
+ "MF": {
+ "name": "Shën-Martin"
+ },
+ "AL": {
+ "name": "Shqipëri"
+ },
+ "US": {
+ "name": "Shtetet e Bashkuara të Amerikës"
+ },
+ "TH": {
+ "name": "Tajlandë"
+ },
+ "TW": {
+ "name": "Tajvan"
+ },
+ "TZ": {
+ "name": "Tanzani"
+ },
+ "TJ": {
+ "name": "Taxhikistan"
+ },
+ "TF": {
+ "name": "Territoret Jugore Franceze"
+ },
+ "PS": {
+ "name": "Territoret Palestineze"
+ },
+ "IO": {
+ "name": "Territori Britanik i Oqeanit Indian"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad e Tobago"
+ },
+ "TA": {
+ "name": "Tristan-da-Kuna"
+ },
+ "TN": {
+ "name": "Tunizi"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TR": {
+ "name": "Turqi"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "EA": {
+ "name": "Theuta e Melila"
+ },
+ "UG": {
+ "name": "Ugandë"
+ },
+ "UA": {
+ "name": "Ukrainë"
+ },
+ "WF": {
+ "name": "Uollis e Futuna"
+ },
+ "UY": {
+ "name": "Uruguai"
+ },
+ "UZ": {
+ "name": "Uzbekistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikan"
+ },
+ "VE": {
+ "name": "Venezuelë"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "JM": {
+ "name": "Xhamajkë"
+ },
+ "JE": {
+ "name": "Xhersej"
+ },
+ "DJ": {
+ "name": "Xhibuti"
+ },
+ "GS": {
+ "name": "Xhorxha Jugore dhe Ishujt Senduiçë të Jugut"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "NZ": {
+ "name": "Zelandë e Re"
+ },
+ "ZW": {
+ "name": "Zimbabve"
+ },
+ "CH": {
+ "name": "Zvicër"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/sr-Cyrl-BA.json b/vendor/commerceguys/intl/resources/country/sr-Cyrl-BA.json
new file mode 100644
index 000000000..0161e3a6d
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/sr-Cyrl-BA.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Авганистан"
+ },
+ "AZ": {
+ "name": "Азербејџан"
+ },
+ "AL": {
+ "name": "Албанија"
+ },
+ "DZ": {
+ "name": "Алжир"
+ },
+ "VI": {
+ "name": "Америчка Дјевичанска Острва"
+ },
+ "AS": {
+ "name": "Америчка Самоа"
+ },
+ "AI": {
+ "name": "Ангвила"
+ },
+ "AO": {
+ "name": "Ангола"
+ },
+ "AD": {
+ "name": "Андора"
+ },
+ "AQ": {
+ "name": "Антарктик"
+ },
+ "AG": {
+ "name": "Антигва и Барбуда"
+ },
+ "AR": {
+ "name": "Аргентина"
+ },
+ "AW": {
+ "name": "Аруба"
+ },
+ "AU": {
+ "name": "Аустралија"
+ },
+ "AT": {
+ "name": "Аустрија"
+ },
+ "BD": {
+ "name": "Бангладеш"
+ },
+ "BB": {
+ "name": "Барбадос"
+ },
+ "BS": {
+ "name": "Бахами"
+ },
+ "BH": {
+ "name": "Бахреин"
+ },
+ "BE": {
+ "name": "Белгија"
+ },
+ "BZ": {
+ "name": "Белизе"
+ },
+ "BJ": {
+ "name": "Бенин"
+ },
+ "BM": {
+ "name": "Бермуда"
+ },
+ "BY": {
+ "name": "Бјелорусија"
+ },
+ "CX": {
+ "name": "Божићно Острво"
+ },
+ "BO": {
+ "name": "Боливија"
+ },
+ "BA": {
+ "name": "Босна и Херцеговина"
+ },
+ "BW": {
+ "name": "Боцвана"
+ },
+ "BR": {
+ "name": "Бразил"
+ },
+ "VG": {
+ "name": "Британска Дјевичанска Острва"
+ },
+ "IO": {
+ "name": "Британска територија Индијског океана"
+ },
+ "BN": {
+ "name": "Брунеј"
+ },
+ "BG": {
+ "name": "Бугарска"
+ },
+ "BF": {
+ "name": "Буркина Фасо"
+ },
+ "BI": {
+ "name": "Бурунди"
+ },
+ "BT": {
+ "name": "Бутан"
+ },
+ "WF": {
+ "name": "Валис и Футуна"
+ },
+ "VU": {
+ "name": "Вануату"
+ },
+ "VA": {
+ "name": "Ватикан"
+ },
+ "VE": {
+ "name": "Венецуела"
+ },
+ "VN": {
+ "name": "Вијетнам"
+ },
+ "GA": {
+ "name": "Габон"
+ },
+ "GM": {
+ "name": "Гамбија"
+ },
+ "GH": {
+ "name": "Гана"
+ },
+ "GP": {
+ "name": "Гваделуп"
+ },
+ "GY": {
+ "name": "Гвајана"
+ },
+ "GT": {
+ "name": "Гватемала"
+ },
+ "GN": {
+ "name": "Гвинеја"
+ },
+ "GW": {
+ "name": "Гвинеја-Бисао"
+ },
+ "GG": {
+ "name": "Гернзи"
+ },
+ "GI": {
+ "name": "Гибралтар"
+ },
+ "GD": {
+ "name": "Гренада"
+ },
+ "GL": {
+ "name": "Гренланд"
+ },
+ "GE": {
+ "name": "Грузија"
+ },
+ "GR": {
+ "name": "Грчка"
+ },
+ "GU": {
+ "name": "Гуам"
+ },
+ "DK": {
+ "name": "Данска"
+ },
+ "DG": {
+ "name": "Дијего Гарсија"
+ },
+ "DM": {
+ "name": "Доминика"
+ },
+ "DO": {
+ "name": "Доминиканска Република"
+ },
+ "EG": {
+ "name": "Египат"
+ },
+ "EC": {
+ "name": "Еквадор"
+ },
+ "GQ": {
+ "name": "Екваторијална Гвинеја"
+ },
+ "ER": {
+ "name": "Еритреја"
+ },
+ "EE": {
+ "name": "Естонија"
+ },
+ "ET": {
+ "name": "Етиопија"
+ },
+ "ZM": {
+ "name": "Замбија"
+ },
+ "EH": {
+ "name": "Западна Сахара"
+ },
+ "ZW": {
+ "name": "Зимбабве"
+ },
+ "IL": {
+ "name": "Израел"
+ },
+ "IN": {
+ "name": "Индија"
+ },
+ "ID": {
+ "name": "Индонезија"
+ },
+ "IQ": {
+ "name": "Ирак"
+ },
+ "IR": {
+ "name": "Иран"
+ },
+ "IE": {
+ "name": "Ирска"
+ },
+ "IS": {
+ "name": "Исланд"
+ },
+ "IT": {
+ "name": "Италија"
+ },
+ "JM": {
+ "name": "Јамајка"
+ },
+ "JP": {
+ "name": "Јапан"
+ },
+ "YE": {
+ "name": "Јемен"
+ },
+ "AM": {
+ "name": "Јерменија"
+ },
+ "JO": {
+ "name": "Јордан"
+ },
+ "KR": {
+ "name": "Јужна Кореја"
+ },
+ "GS": {
+ "name": "Јужна Џорџија и Јужна Сендвичка Острва"
+ },
+ "SS": {
+ "name": "Јужни Судан"
+ },
+ "ZA": {
+ "name": "Јужноафричка Република"
+ },
+ "CV": {
+ "name": "Кабо Верде"
+ },
+ "KZ": {
+ "name": "Казахстан"
+ },
+ "KY": {
+ "name": "Кајманска Острва"
+ },
+ "KH": {
+ "name": "Камбоџа"
+ },
+ "CM": {
+ "name": "Камерун"
+ },
+ "CA": {
+ "name": "Канада"
+ },
+ "IC": {
+ "name": "Канарска Острва"
+ },
+ "BQ": {
+ "name": "Карипска Холандија"
+ },
+ "QA": {
+ "name": "Катар"
+ },
+ "KE": {
+ "name": "Кенија"
+ },
+ "CN": {
+ "name": "Кина"
+ },
+ "CY": {
+ "name": "Кипар"
+ },
+ "KG": {
+ "name": "Киргистан"
+ },
+ "KI": {
+ "name": "Кирибати"
+ },
+ "CC": {
+ "name": "Кокосова (Килингова) Острва"
+ },
+ "CO": {
+ "name": "Колумбија"
+ },
+ "KM": {
+ "name": "Коморска Острва"
+ },
+ "CG": {
+ "name": "Конго"
+ },
+ "CD": {
+ "name": "Конго - Киншаса"
+ },
+ "XK": {
+ "name": "Косово"
+ },
+ "CR": {
+ "name": "Костарика"
+ },
+ "CU": {
+ "name": "Куба"
+ },
+ "KW": {
+ "name": "Кувајт"
+ },
+ "CK": {
+ "name": "Кукова Острва"
+ },
+ "CW": {
+ "name": "Курасао"
+ },
+ "LA": {
+ "name": "Лаос"
+ },
+ "LS": {
+ "name": "Лесото"
+ },
+ "LV": {
+ "name": "Летонија"
+ },
+ "LB": {
+ "name": "Либан"
+ },
+ "LR": {
+ "name": "Либерија"
+ },
+ "LY": {
+ "name": "Либија"
+ },
+ "LT": {
+ "name": "Литванија"
+ },
+ "LI": {
+ "name": "Лихтенштајн"
+ },
+ "LU": {
+ "name": "Луксембург"
+ },
+ "MG": {
+ "name": "Мадагаскар"
+ },
+ "HU": {
+ "name": "Мађарска"
+ },
+ "YT": {
+ "name": "Мајот"
+ },
+ "MK": {
+ "name": "Македонија"
+ },
+ "MW": {
+ "name": "Малави"
+ },
+ "MV": {
+ "name": "Малдиви"
+ },
+ "MY": {
+ "name": "Малезија"
+ },
+ "ML": {
+ "name": "Мали"
+ },
+ "MT": {
+ "name": "Малта"
+ },
+ "UM": {
+ "name": "Мања удаљена острва САД"
+ },
+ "MA": {
+ "name": "Мароко"
+ },
+ "MQ": {
+ "name": "Мартиник"
+ },
+ "MH": {
+ "name": "Маршалска Острва"
+ },
+ "MR": {
+ "name": "Мауританија"
+ },
+ "MU": {
+ "name": "Маурицијус"
+ },
+ "MX": {
+ "name": "Мексико"
+ },
+ "MM": {
+ "name": "Мијанмар (Бурма)"
+ },
+ "FM": {
+ "name": "Микронезија"
+ },
+ "MZ": {
+ "name": "Мозамбик"
+ },
+ "MD": {
+ "name": "Молдавија"
+ },
+ "MC": {
+ "name": "Монако"
+ },
+ "MN": {
+ "name": "Монголија"
+ },
+ "MS": {
+ "name": "Монсерат"
+ },
+ "NA": {
+ "name": "Намибија"
+ },
+ "NR": {
+ "name": "Науру"
+ },
+ "NP": {
+ "name": "Непал"
+ },
+ "NE": {
+ "name": "Нигер"
+ },
+ "NG": {
+ "name": "Нигерија"
+ },
+ "NI": {
+ "name": "Никарагва"
+ },
+ "NU": {
+ "name": "Ниуе"
+ },
+ "NC": {
+ "name": "Нова Каледонија"
+ },
+ "NZ": {
+ "name": "Нови Зеланд"
+ },
+ "NO": {
+ "name": "Норвешка"
+ },
+ "DE": {
+ "name": "Њемачка"
+ },
+ "CI": {
+ "name": "Обала Слоноваче (Кот д’Ивоар)"
+ },
+ "AX": {
+ "name": "Оландска Острва"
+ },
+ "OM": {
+ "name": "Оман"
+ },
+ "TC": {
+ "name": "Острва Туркс и Каикос"
+ },
+ "AC": {
+ "name": "Острво Асенсион"
+ },
+ "IM": {
+ "name": "Острво Ман"
+ },
+ "NF": {
+ "name": "Острво Норфок"
+ },
+ "PK": {
+ "name": "Пакистан"
+ },
+ "PW": {
+ "name": "Палау"
+ },
+ "PS": {
+ "name": "Палестинске територије"
+ },
+ "PA": {
+ "name": "Панама"
+ },
+ "PG": {
+ "name": "Папуа Нова Гвинеја"
+ },
+ "PY": {
+ "name": "Парагвај"
+ },
+ "PE": {
+ "name": "Перу"
+ },
+ "PN": {
+ "name": "Питкерн"
+ },
+ "PL": {
+ "name": "Пољска"
+ },
+ "PR": {
+ "name": "Порторико"
+ },
+ "PT": {
+ "name": "Португалија"
+ },
+ "RE": {
+ "name": "Реунион"
+ },
+ "RW": {
+ "name": "Руанда"
+ },
+ "RO": {
+ "name": "Румунија"
+ },
+ "RU": {
+ "name": "Русија"
+ },
+ "SV": {
+ "name": "Салвадор"
+ },
+ "WS": {
+ "name": "Самоа"
+ },
+ "SM": {
+ "name": "Сан Марино"
+ },
+ "ST": {
+ "name": "Сао Томе и Принципе"
+ },
+ "MO": {
+ "name": "САР Макао"
+ },
+ "HK": {
+ "name": "САР Хонгконг (Кина)"
+ },
+ "SA": {
+ "name": "Саудијска Арабија"
+ },
+ "SZ": {
+ "name": "Свазиленд"
+ },
+ "SJ": {
+ "name": "Свалбард и Јан Мајен"
+ },
+ "SH": {
+ "name": "Света Јелена"
+ },
+ "LC": {
+ "name": "Света Луција"
+ },
+ "VC": {
+ "name": "Свети Винсент и Гренадини"
+ },
+ "KN": {
+ "name": "Свети Китс и Невис"
+ },
+ "MF": {
+ "name": "Свети Мартин (Француска)"
+ },
+ "SX": {
+ "name": "Свети Мартин (Холандија)"
+ },
+ "PM": {
+ "name": "Свети Пјер и Микелон"
+ },
+ "KP": {
+ "name": "Северна Кореја"
+ },
+ "MP": {
+ "name": "Северна Маријанска Острва"
+ },
+ "SC": {
+ "name": "Сејшели"
+ },
+ "BL": {
+ "name": "Сен Бартелеми"
+ },
+ "SN": {
+ "name": "Сенегал"
+ },
+ "EA": {
+ "name": "Сеута и Мелиља"
+ },
+ "SL": {
+ "name": "Сијера Леоне"
+ },
+ "SG": {
+ "name": "Сингапур"
+ },
+ "SY": {
+ "name": "Сирија"
+ },
+ "US": {
+ "name": "Сједињене Државе"
+ },
+ "SK": {
+ "name": "Словачка"
+ },
+ "SI": {
+ "name": "Словенија"
+ },
+ "SB": {
+ "name": "Соломонска Острва"
+ },
+ "SO": {
+ "name": "Сомалија"
+ },
+ "RS": {
+ "name": "Србија"
+ },
+ "SD": {
+ "name": "Судан"
+ },
+ "SR": {
+ "name": "Суринам"
+ },
+ "TW": {
+ "name": "Тајван"
+ },
+ "TH": {
+ "name": "Тајланд"
+ },
+ "TZ": {
+ "name": "Танзанија"
+ },
+ "TJ": {
+ "name": "Таџикистан"
+ },
+ "TL": {
+ "name": "Тимор-Лесте (Источни Тимор)"
+ },
+ "TG": {
+ "name": "Того"
+ },
+ "TK": {
+ "name": "Токелау"
+ },
+ "TO": {
+ "name": "Тонга"
+ },
+ "TT": {
+ "name": "Тринидад и Тобаго"
+ },
+ "TA": {
+ "name": "Тристан да Куња"
+ },
+ "TV": {
+ "name": "Тувалу"
+ },
+ "TN": {
+ "name": "Тунис"
+ },
+ "TM": {
+ "name": "Туркменистан"
+ },
+ "TR": {
+ "name": "Турска"
+ },
+ "UG": {
+ "name": "Уганда"
+ },
+ "UZ": {
+ "name": "Узбекистан"
+ },
+ "AE": {
+ "name": "Уједињени Арапски Емирати"
+ },
+ "GB": {
+ "name": "Уједињено Краљевство"
+ },
+ "UA": {
+ "name": "Украјина"
+ },
+ "UY": {
+ "name": "Уругвај"
+ },
+ "FO": {
+ "name": "Фарска Острва"
+ },
+ "PH": {
+ "name": "Филипини"
+ },
+ "FI": {
+ "name": "Финска"
+ },
+ "FJ": {
+ "name": "Фиџи"
+ },
+ "FK": {
+ "name": "Фокландска Острва"
+ },
+ "FR": {
+ "name": "Француска"
+ },
+ "GF": {
+ "name": "Француска Гвајана"
+ },
+ "PF": {
+ "name": "Француска Полинезија"
+ },
+ "TF": {
+ "name": "Француске Јужне Територије"
+ },
+ "HT": {
+ "name": "Хаити"
+ },
+ "NL": {
+ "name": "Холандија"
+ },
+ "HN": {
+ "name": "Хондурас"
+ },
+ "HR": {
+ "name": "Хрватска"
+ },
+ "CF": {
+ "name": "Централноафричка Република"
+ },
+ "ME": {
+ "name": "Црна Гора"
+ },
+ "TD": {
+ "name": "Чад"
+ },
+ "CZ": {
+ "name": "Чешка Република"
+ },
+ "CL": {
+ "name": "Чиле"
+ },
+ "JE": {
+ "name": "Џерзи"
+ },
+ "DJ": {
+ "name": "Џибути"
+ },
+ "CH": {
+ "name": "Швајцарска"
+ },
+ "SE": {
+ "name": "Шведска"
+ },
+ "ES": {
+ "name": "Шпанија"
+ },
+ "LK": {
+ "name": "Шри Ланка"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/sr-Cyrl-ME.json b/vendor/commerceguys/intl/resources/country/sr-Cyrl-ME.json
new file mode 100644
index 000000000..e1991477a
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/sr-Cyrl-ME.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Авганистан"
+ },
+ "AZ": {
+ "name": "Азербејџан"
+ },
+ "AL": {
+ "name": "Албанија"
+ },
+ "DZ": {
+ "name": "Алжир"
+ },
+ "VI": {
+ "name": "Америчка Дјевичанска Острва"
+ },
+ "AS": {
+ "name": "Америчка Самоа"
+ },
+ "AI": {
+ "name": "Ангвила"
+ },
+ "AO": {
+ "name": "Ангола"
+ },
+ "AD": {
+ "name": "Андора"
+ },
+ "AQ": {
+ "name": "Антарктик"
+ },
+ "AG": {
+ "name": "Антигва и Барбуда"
+ },
+ "AR": {
+ "name": "Аргентина"
+ },
+ "AW": {
+ "name": "Аруба"
+ },
+ "AU": {
+ "name": "Аустралија"
+ },
+ "AT": {
+ "name": "Аустрија"
+ },
+ "BD": {
+ "name": "Бангладеш"
+ },
+ "BB": {
+ "name": "Барбадос"
+ },
+ "BS": {
+ "name": "Бахами"
+ },
+ "BH": {
+ "name": "Бахреин"
+ },
+ "BE": {
+ "name": "Белгија"
+ },
+ "BZ": {
+ "name": "Белизе"
+ },
+ "BJ": {
+ "name": "Бенин"
+ },
+ "BM": {
+ "name": "Бермуда"
+ },
+ "BY": {
+ "name": "Бјелорусија"
+ },
+ "CX": {
+ "name": "Божићно Острво"
+ },
+ "BO": {
+ "name": "Боливија"
+ },
+ "BA": {
+ "name": "Босна и Херцеговина"
+ },
+ "BW": {
+ "name": "Боцвана"
+ },
+ "BR": {
+ "name": "Бразил"
+ },
+ "VG": {
+ "name": "Британска Дјевичанска Острва"
+ },
+ "IO": {
+ "name": "Британска територија Индијског океана"
+ },
+ "BN": {
+ "name": "Брунеј"
+ },
+ "BG": {
+ "name": "Бугарска"
+ },
+ "BF": {
+ "name": "Буркина Фасо"
+ },
+ "BI": {
+ "name": "Бурунди"
+ },
+ "BT": {
+ "name": "Бутан"
+ },
+ "WF": {
+ "name": "Валис и Футуна"
+ },
+ "VU": {
+ "name": "Вануату"
+ },
+ "VA": {
+ "name": "Ватикан"
+ },
+ "VE": {
+ "name": "Венецуела"
+ },
+ "VN": {
+ "name": "Вијетнам"
+ },
+ "GA": {
+ "name": "Габон"
+ },
+ "GM": {
+ "name": "Гамбија"
+ },
+ "GH": {
+ "name": "Гана"
+ },
+ "GP": {
+ "name": "Гваделуп"
+ },
+ "GY": {
+ "name": "Гвајана"
+ },
+ "GT": {
+ "name": "Гватемала"
+ },
+ "GN": {
+ "name": "Гвинеја"
+ },
+ "GW": {
+ "name": "Гвинеја-Бисао"
+ },
+ "GG": {
+ "name": "Гернзи"
+ },
+ "GI": {
+ "name": "Гибралтар"
+ },
+ "GD": {
+ "name": "Гренада"
+ },
+ "GL": {
+ "name": "Гренланд"
+ },
+ "GE": {
+ "name": "Грузија"
+ },
+ "GR": {
+ "name": "Грчка"
+ },
+ "GU": {
+ "name": "Гуам"
+ },
+ "DK": {
+ "name": "Данска"
+ },
+ "DG": {
+ "name": "Дијего Гарсија"
+ },
+ "DM": {
+ "name": "Доминика"
+ },
+ "DO": {
+ "name": "Доминиканска Република"
+ },
+ "EG": {
+ "name": "Египат"
+ },
+ "EC": {
+ "name": "Еквадор"
+ },
+ "GQ": {
+ "name": "Екваторијална Гвинеја"
+ },
+ "ER": {
+ "name": "Еритреја"
+ },
+ "EE": {
+ "name": "Естонија"
+ },
+ "ET": {
+ "name": "Етиопија"
+ },
+ "ZM": {
+ "name": "Замбија"
+ },
+ "EH": {
+ "name": "Западна Сахара"
+ },
+ "CV": {
+ "name": "Зеленортска Острва"
+ },
+ "ZW": {
+ "name": "Зимбабве"
+ },
+ "IL": {
+ "name": "Израел"
+ },
+ "IN": {
+ "name": "Индија"
+ },
+ "ID": {
+ "name": "Индонезија"
+ },
+ "IQ": {
+ "name": "Ирак"
+ },
+ "IR": {
+ "name": "Иран"
+ },
+ "IE": {
+ "name": "Ирска"
+ },
+ "IS": {
+ "name": "Исланд"
+ },
+ "IT": {
+ "name": "Италија"
+ },
+ "JM": {
+ "name": "Јамајка"
+ },
+ "JP": {
+ "name": "Јапан"
+ },
+ "YE": {
+ "name": "Јемен"
+ },
+ "AM": {
+ "name": "Јерменија"
+ },
+ "JO": {
+ "name": "Јордан"
+ },
+ "KR": {
+ "name": "Јужна Кореја"
+ },
+ "GS": {
+ "name": "Јужна Џорџија и Јужна Сендвичка Острва"
+ },
+ "SS": {
+ "name": "Јужни Судан"
+ },
+ "ZA": {
+ "name": "Јужноафричка Република"
+ },
+ "KZ": {
+ "name": "Казахстан"
+ },
+ "KY": {
+ "name": "Кајманска Острва"
+ },
+ "KH": {
+ "name": "Камбоџа"
+ },
+ "CM": {
+ "name": "Камерун"
+ },
+ "CA": {
+ "name": "Канада"
+ },
+ "IC": {
+ "name": "Канарска Острва"
+ },
+ "BQ": {
+ "name": "Карипска Холандија"
+ },
+ "QA": {
+ "name": "Катар"
+ },
+ "KE": {
+ "name": "Кенија"
+ },
+ "CN": {
+ "name": "Кина"
+ },
+ "CY": {
+ "name": "Кипар"
+ },
+ "KG": {
+ "name": "Киргистан"
+ },
+ "KI": {
+ "name": "Кирибати"
+ },
+ "CC": {
+ "name": "Кокосова (Килингова) Острва"
+ },
+ "CO": {
+ "name": "Колумбија"
+ },
+ "KM": {
+ "name": "Коморска Острва"
+ },
+ "CG": {
+ "name": "Конго"
+ },
+ "CD": {
+ "name": "Конго - Киншаса"
+ },
+ "XK": {
+ "name": "Косово"
+ },
+ "CR": {
+ "name": "Костарика"
+ },
+ "CU": {
+ "name": "Куба"
+ },
+ "KW": {
+ "name": "Кувајт"
+ },
+ "CK": {
+ "name": "Кукова Острва"
+ },
+ "CW": {
+ "name": "Курасао"
+ },
+ "LA": {
+ "name": "Лаос"
+ },
+ "LS": {
+ "name": "Лесото"
+ },
+ "LV": {
+ "name": "Летонија"
+ },
+ "LB": {
+ "name": "Либан"
+ },
+ "LR": {
+ "name": "Либерија"
+ },
+ "LY": {
+ "name": "Либија"
+ },
+ "LT": {
+ "name": "Литванија"
+ },
+ "LI": {
+ "name": "Лихтенштајн"
+ },
+ "LU": {
+ "name": "Луксембург"
+ },
+ "MG": {
+ "name": "Мадагаскар"
+ },
+ "HU": {
+ "name": "Мађарска"
+ },
+ "YT": {
+ "name": "Мајот"
+ },
+ "MK": {
+ "name": "Македонија"
+ },
+ "MW": {
+ "name": "Малави"
+ },
+ "MV": {
+ "name": "Малдиви"
+ },
+ "MY": {
+ "name": "Малезија"
+ },
+ "ML": {
+ "name": "Мали"
+ },
+ "MT": {
+ "name": "Малта"
+ },
+ "UM": {
+ "name": "Мања удаљена острва САД"
+ },
+ "MA": {
+ "name": "Мароко"
+ },
+ "MQ": {
+ "name": "Мартиник"
+ },
+ "MH": {
+ "name": "Маршалска Острва"
+ },
+ "MR": {
+ "name": "Мауританија"
+ },
+ "MU": {
+ "name": "Маурицијус"
+ },
+ "MX": {
+ "name": "Мексико"
+ },
+ "MM": {
+ "name": "Мијанмар (Бурма)"
+ },
+ "FM": {
+ "name": "Микронезија"
+ },
+ "MZ": {
+ "name": "Мозамбик"
+ },
+ "MD": {
+ "name": "Молдавија"
+ },
+ "MC": {
+ "name": "Монако"
+ },
+ "MN": {
+ "name": "Монголија"
+ },
+ "MS": {
+ "name": "Монсерат"
+ },
+ "NA": {
+ "name": "Намибија"
+ },
+ "NR": {
+ "name": "Науру"
+ },
+ "NP": {
+ "name": "Непал"
+ },
+ "NE": {
+ "name": "Нигер"
+ },
+ "NG": {
+ "name": "Нигерија"
+ },
+ "NI": {
+ "name": "Никарагва"
+ },
+ "NU": {
+ "name": "Ниуе"
+ },
+ "NC": {
+ "name": "Нова Каледонија"
+ },
+ "NZ": {
+ "name": "Нови Зеланд"
+ },
+ "NO": {
+ "name": "Норвешка"
+ },
+ "DE": {
+ "name": "Њемачка"
+ },
+ "CI": {
+ "name": "Обала Слоноваче (Кот д’Ивоар)"
+ },
+ "AX": {
+ "name": "Оландска Острва"
+ },
+ "OM": {
+ "name": "Оман"
+ },
+ "TC": {
+ "name": "Острва Туркс и Каикос"
+ },
+ "AC": {
+ "name": "Острво Асенсион"
+ },
+ "IM": {
+ "name": "Острво Ман"
+ },
+ "NF": {
+ "name": "Острво Норфок"
+ },
+ "PK": {
+ "name": "Пакистан"
+ },
+ "PW": {
+ "name": "Палау"
+ },
+ "PS": {
+ "name": "Палестинске територије"
+ },
+ "PA": {
+ "name": "Панама"
+ },
+ "PG": {
+ "name": "Папуа Нова Гвинеја"
+ },
+ "PY": {
+ "name": "Парагвај"
+ },
+ "PE": {
+ "name": "Перу"
+ },
+ "PN": {
+ "name": "Питкерн"
+ },
+ "PL": {
+ "name": "Пољска"
+ },
+ "PR": {
+ "name": "Порторико"
+ },
+ "PT": {
+ "name": "Португалија"
+ },
+ "RE": {
+ "name": "Реунион"
+ },
+ "RW": {
+ "name": "Руанда"
+ },
+ "RO": {
+ "name": "Румунија"
+ },
+ "RU": {
+ "name": "Русија"
+ },
+ "SV": {
+ "name": "Салвадор"
+ },
+ "WS": {
+ "name": "Самоа"
+ },
+ "SM": {
+ "name": "Сан Марино"
+ },
+ "ST": {
+ "name": "Сао Томе и Принципе"
+ },
+ "MO": {
+ "name": "САР Макао (Кина)"
+ },
+ "HK": {
+ "name": "САР Хонгконг (Кина)"
+ },
+ "SA": {
+ "name": "Саудијска Арабија"
+ },
+ "SZ": {
+ "name": "Свазиленд"
+ },
+ "SJ": {
+ "name": "Свалбард и Јан Мајен"
+ },
+ "SH": {
+ "name": "Света Јелена"
+ },
+ "LC": {
+ "name": "Света Луција"
+ },
+ "VC": {
+ "name": "Свети Винсент и Гренадини"
+ },
+ "KN": {
+ "name": "Свети Китс и Невис"
+ },
+ "MF": {
+ "name": "Свети Мартин (Француска)"
+ },
+ "SX": {
+ "name": "Свети Мартин (Холандија)"
+ },
+ "PM": {
+ "name": "Свети Пјер и Микелон"
+ },
+ "KP": {
+ "name": "Северна Кореја"
+ },
+ "MP": {
+ "name": "Северна Маријанска Острва"
+ },
+ "SC": {
+ "name": "Сејшели"
+ },
+ "BL": {
+ "name": "Сен Бартелеми"
+ },
+ "SN": {
+ "name": "Сенегал"
+ },
+ "EA": {
+ "name": "Сеута и Мелиља"
+ },
+ "SL": {
+ "name": "Сијера Леоне"
+ },
+ "SG": {
+ "name": "Сингапур"
+ },
+ "SY": {
+ "name": "Сирија"
+ },
+ "US": {
+ "name": "Сједињене Државе"
+ },
+ "SK": {
+ "name": "Словачка"
+ },
+ "SI": {
+ "name": "Словенија"
+ },
+ "SB": {
+ "name": "Соломонска Острва"
+ },
+ "SO": {
+ "name": "Сомалија"
+ },
+ "RS": {
+ "name": "Србија"
+ },
+ "SD": {
+ "name": "Судан"
+ },
+ "SR": {
+ "name": "Суринам"
+ },
+ "TW": {
+ "name": "Тајван"
+ },
+ "TH": {
+ "name": "Тајланд"
+ },
+ "TZ": {
+ "name": "Танзанија"
+ },
+ "TJ": {
+ "name": "Таџикистан"
+ },
+ "TL": {
+ "name": "Тимор-Лесте (Источни Тимор)"
+ },
+ "TG": {
+ "name": "Того"
+ },
+ "TK": {
+ "name": "Токелау"
+ },
+ "TO": {
+ "name": "Тонга"
+ },
+ "TT": {
+ "name": "Тринидад и Тобаго"
+ },
+ "TA": {
+ "name": "Тристан да Куња"
+ },
+ "TV": {
+ "name": "Тувалу"
+ },
+ "TN": {
+ "name": "Тунис"
+ },
+ "TM": {
+ "name": "Туркменистан"
+ },
+ "TR": {
+ "name": "Турска"
+ },
+ "UG": {
+ "name": "Уганда"
+ },
+ "UZ": {
+ "name": "Узбекистан"
+ },
+ "AE": {
+ "name": "Уједињени Арапски Емирати"
+ },
+ "GB": {
+ "name": "Уједињено Краљевство"
+ },
+ "UA": {
+ "name": "Украјина"
+ },
+ "UY": {
+ "name": "Уругвај"
+ },
+ "FO": {
+ "name": "Фарска Острва"
+ },
+ "PH": {
+ "name": "Филипини"
+ },
+ "FI": {
+ "name": "Финска"
+ },
+ "FJ": {
+ "name": "Фиџи"
+ },
+ "FK": {
+ "name": "Фокландска Острва"
+ },
+ "FR": {
+ "name": "Француска"
+ },
+ "GF": {
+ "name": "Француска Гвајана"
+ },
+ "PF": {
+ "name": "Француска Полинезија"
+ },
+ "TF": {
+ "name": "Француске Јужне Територије"
+ },
+ "HT": {
+ "name": "Хаити"
+ },
+ "NL": {
+ "name": "Холандија"
+ },
+ "HN": {
+ "name": "Хондурас"
+ },
+ "HR": {
+ "name": "Хрватска"
+ },
+ "CF": {
+ "name": "Централноафричка Република"
+ },
+ "ME": {
+ "name": "Црна Гора"
+ },
+ "TD": {
+ "name": "Чад"
+ },
+ "CZ": {
+ "name": "Чешка Република"
+ },
+ "CL": {
+ "name": "Чиле"
+ },
+ "JE": {
+ "name": "Џерзи"
+ },
+ "DJ": {
+ "name": "Џибути"
+ },
+ "CH": {
+ "name": "Швајцарска"
+ },
+ "SE": {
+ "name": "Шведска"
+ },
+ "ES": {
+ "name": "Шпанија"
+ },
+ "LK": {
+ "name": "Шри Ланка"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/sr-Cyrl-XK.json b/vendor/commerceguys/intl/resources/country/sr-Cyrl-XK.json
new file mode 100644
index 000000000..39e79d275
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/sr-Cyrl-XK.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Авганистан"
+ },
+ "AZ": {
+ "name": "Азербејџан"
+ },
+ "AL": {
+ "name": "Албанија"
+ },
+ "DZ": {
+ "name": "Алжир"
+ },
+ "VI": {
+ "name": "Америчка Девичанска Острва"
+ },
+ "AS": {
+ "name": "Америчка Самоа"
+ },
+ "AI": {
+ "name": "Ангвила"
+ },
+ "AO": {
+ "name": "Ангола"
+ },
+ "AD": {
+ "name": "Андора"
+ },
+ "AQ": {
+ "name": "Антарктик"
+ },
+ "AG": {
+ "name": "Антигва и Барбуда"
+ },
+ "AR": {
+ "name": "Аргентина"
+ },
+ "AW": {
+ "name": "Аруба"
+ },
+ "AU": {
+ "name": "Аустралија"
+ },
+ "AT": {
+ "name": "Аустрија"
+ },
+ "BD": {
+ "name": "Бангладеш"
+ },
+ "BB": {
+ "name": "Барбадос"
+ },
+ "BS": {
+ "name": "Бахами"
+ },
+ "BH": {
+ "name": "Бахреин"
+ },
+ "BE": {
+ "name": "Белгија"
+ },
+ "BZ": {
+ "name": "Белизе"
+ },
+ "BY": {
+ "name": "Белорусија"
+ },
+ "BJ": {
+ "name": "Бенин"
+ },
+ "BM": {
+ "name": "Бермуда"
+ },
+ "CX": {
+ "name": "Божићно Острво"
+ },
+ "BO": {
+ "name": "Боливија"
+ },
+ "BA": {
+ "name": "Босна и Херцеговина"
+ },
+ "BW": {
+ "name": "Боцвана"
+ },
+ "BR": {
+ "name": "Бразил"
+ },
+ "VG": {
+ "name": "Британска Девичанска Острва"
+ },
+ "IO": {
+ "name": "Британска територија Индијског океана"
+ },
+ "BN": {
+ "name": "Брунеј"
+ },
+ "BG": {
+ "name": "Бугарска"
+ },
+ "BF": {
+ "name": "Буркина Фасо"
+ },
+ "BI": {
+ "name": "Бурунди"
+ },
+ "BT": {
+ "name": "Бутан"
+ },
+ "WF": {
+ "name": "Валис и Футуна"
+ },
+ "VU": {
+ "name": "Вануату"
+ },
+ "VA": {
+ "name": "Ватикан"
+ },
+ "VE": {
+ "name": "Венецуела"
+ },
+ "VN": {
+ "name": "Вијетнам"
+ },
+ "GA": {
+ "name": "Габон"
+ },
+ "GM": {
+ "name": "Гамбија"
+ },
+ "GH": {
+ "name": "Гана"
+ },
+ "GP": {
+ "name": "Гваделуп"
+ },
+ "GY": {
+ "name": "Гвајана"
+ },
+ "GT": {
+ "name": "Гватемала"
+ },
+ "GN": {
+ "name": "Гвинеја"
+ },
+ "GW": {
+ "name": "Гвинеја-Бисао"
+ },
+ "GG": {
+ "name": "Гернзи"
+ },
+ "GI": {
+ "name": "Гибралтар"
+ },
+ "GD": {
+ "name": "Гренада"
+ },
+ "GL": {
+ "name": "Гренланд"
+ },
+ "GE": {
+ "name": "Грузија"
+ },
+ "GR": {
+ "name": "Грчка"
+ },
+ "GU": {
+ "name": "Гуам"
+ },
+ "DK": {
+ "name": "Данска"
+ },
+ "DG": {
+ "name": "Дијего Гарсија"
+ },
+ "DM": {
+ "name": "Доминика"
+ },
+ "DO": {
+ "name": "Доминиканска Република"
+ },
+ "EG": {
+ "name": "Египат"
+ },
+ "EC": {
+ "name": "Еквадор"
+ },
+ "GQ": {
+ "name": "Екваторијална Гвинеја"
+ },
+ "ER": {
+ "name": "Еритреја"
+ },
+ "EE": {
+ "name": "Естонија"
+ },
+ "ET": {
+ "name": "Етиопија"
+ },
+ "ZM": {
+ "name": "Замбија"
+ },
+ "EH": {
+ "name": "Западна Сахара"
+ },
+ "ZW": {
+ "name": "Зимбабве"
+ },
+ "IL": {
+ "name": "Израел"
+ },
+ "IN": {
+ "name": "Индија"
+ },
+ "ID": {
+ "name": "Индонезија"
+ },
+ "IQ": {
+ "name": "Ирак"
+ },
+ "IR": {
+ "name": "Иран"
+ },
+ "IE": {
+ "name": "Ирска"
+ },
+ "IS": {
+ "name": "Исланд"
+ },
+ "IT": {
+ "name": "Италија"
+ },
+ "JM": {
+ "name": "Јамајка"
+ },
+ "JP": {
+ "name": "Јапан"
+ },
+ "YE": {
+ "name": "Јемен"
+ },
+ "AM": {
+ "name": "Јерменија"
+ },
+ "JO": {
+ "name": "Јордан"
+ },
+ "KR": {
+ "name": "Јужна Кореја"
+ },
+ "GS": {
+ "name": "Јужна Џорџија и Јужна Сендвичка Острва"
+ },
+ "SS": {
+ "name": "Јужни Судан"
+ },
+ "ZA": {
+ "name": "Јужноафричка Република"
+ },
+ "CV": {
+ "name": "Кабо Верде"
+ },
+ "KZ": {
+ "name": "Казахстан"
+ },
+ "KY": {
+ "name": "Кајманска Острва"
+ },
+ "KH": {
+ "name": "Камбоџа"
+ },
+ "CM": {
+ "name": "Камерун"
+ },
+ "CA": {
+ "name": "Канада"
+ },
+ "IC": {
+ "name": "Канарска Острва"
+ },
+ "BQ": {
+ "name": "Карипска Холандија"
+ },
+ "QA": {
+ "name": "Катар"
+ },
+ "KE": {
+ "name": "Кенија"
+ },
+ "CN": {
+ "name": "Кина"
+ },
+ "CY": {
+ "name": "Кипар"
+ },
+ "KG": {
+ "name": "Киргистан"
+ },
+ "KI": {
+ "name": "Кирибати"
+ },
+ "CC": {
+ "name": "Кокосова (Килингова) Острва"
+ },
+ "CO": {
+ "name": "Колумбија"
+ },
+ "KM": {
+ "name": "Коморска Острва"
+ },
+ "CG": {
+ "name": "Конго"
+ },
+ "CD": {
+ "name": "Конго - Киншаса"
+ },
+ "XK": {
+ "name": "Косово"
+ },
+ "CR": {
+ "name": "Костарика"
+ },
+ "CU": {
+ "name": "Куба"
+ },
+ "KW": {
+ "name": "Кувајт"
+ },
+ "CK": {
+ "name": "Кукова Острва"
+ },
+ "CW": {
+ "name": "Курасао"
+ },
+ "LA": {
+ "name": "Лаос"
+ },
+ "LS": {
+ "name": "Лесото"
+ },
+ "LV": {
+ "name": "Летонија"
+ },
+ "LB": {
+ "name": "Либан"
+ },
+ "LR": {
+ "name": "Либерија"
+ },
+ "LY": {
+ "name": "Либија"
+ },
+ "LT": {
+ "name": "Литванија"
+ },
+ "LI": {
+ "name": "Лихтенштајн"
+ },
+ "LU": {
+ "name": "Луксембург"
+ },
+ "MG": {
+ "name": "Мадагаскар"
+ },
+ "HU": {
+ "name": "Мађарска"
+ },
+ "YT": {
+ "name": "Мајот"
+ },
+ "MK": {
+ "name": "Македонија"
+ },
+ "MW": {
+ "name": "Малави"
+ },
+ "MV": {
+ "name": "Малдиви"
+ },
+ "MY": {
+ "name": "Малезија"
+ },
+ "ML": {
+ "name": "Мали"
+ },
+ "MT": {
+ "name": "Малта"
+ },
+ "UM": {
+ "name": "Мања удаљена острва САД"
+ },
+ "MA": {
+ "name": "Мароко"
+ },
+ "MQ": {
+ "name": "Мартиник"
+ },
+ "MH": {
+ "name": "Маршалска Острва"
+ },
+ "MR": {
+ "name": "Мауританија"
+ },
+ "MU": {
+ "name": "Маурицијус"
+ },
+ "MX": {
+ "name": "Мексико"
+ },
+ "MM": {
+ "name": "Мијанмар (Бурма)"
+ },
+ "FM": {
+ "name": "Микронезија"
+ },
+ "MZ": {
+ "name": "Мозамбик"
+ },
+ "MD": {
+ "name": "Молдавија"
+ },
+ "MC": {
+ "name": "Монако"
+ },
+ "MN": {
+ "name": "Монголија"
+ },
+ "MS": {
+ "name": "Монсерат"
+ },
+ "NA": {
+ "name": "Намибија"
+ },
+ "NR": {
+ "name": "Науру"
+ },
+ "DE": {
+ "name": "Немачка"
+ },
+ "NP": {
+ "name": "Непал"
+ },
+ "NE": {
+ "name": "Нигер"
+ },
+ "NG": {
+ "name": "Нигерија"
+ },
+ "NI": {
+ "name": "Никарагва"
+ },
+ "NU": {
+ "name": "Ниуе"
+ },
+ "NC": {
+ "name": "Нова Каледонија"
+ },
+ "NZ": {
+ "name": "Нови Зеланд"
+ },
+ "NO": {
+ "name": "Норвешка"
+ },
+ "CI": {
+ "name": "Обала Слоноваче (Кот д’Ивоар)"
+ },
+ "AX": {
+ "name": "Оландска Острва"
+ },
+ "OM": {
+ "name": "Оман"
+ },
+ "TC": {
+ "name": "Острва Туркс и Каикос"
+ },
+ "AC": {
+ "name": "Острво Асенсион"
+ },
+ "IM": {
+ "name": "Острво Ман"
+ },
+ "NF": {
+ "name": "Острво Норфок"
+ },
+ "PK": {
+ "name": "Пакистан"
+ },
+ "PW": {
+ "name": "Палау"
+ },
+ "PS": {
+ "name": "Палестинске територије"
+ },
+ "PA": {
+ "name": "Панама"
+ },
+ "PG": {
+ "name": "Папуа Нова Гвинеја"
+ },
+ "PY": {
+ "name": "Парагвај"
+ },
+ "PE": {
+ "name": "Перу"
+ },
+ "PN": {
+ "name": "Питкерн"
+ },
+ "PL": {
+ "name": "Пољска"
+ },
+ "PR": {
+ "name": "Порторико"
+ },
+ "PT": {
+ "name": "Португалија"
+ },
+ "RE": {
+ "name": "Реунион"
+ },
+ "RW": {
+ "name": "Руанда"
+ },
+ "RO": {
+ "name": "Румунија"
+ },
+ "RU": {
+ "name": "Русија"
+ },
+ "SV": {
+ "name": "Салвадор"
+ },
+ "WS": {
+ "name": "Самоа"
+ },
+ "SM": {
+ "name": "Сан Марино"
+ },
+ "ST": {
+ "name": "Сао Томе и Принципе"
+ },
+ "MO": {
+ "name": "САР Макао"
+ },
+ "HK": {
+ "name": "САР Хонгконг"
+ },
+ "SA": {
+ "name": "Саудијска Арабија"
+ },
+ "SZ": {
+ "name": "Свазиленд"
+ },
+ "SJ": {
+ "name": "Свалбард и Јан Мајен"
+ },
+ "SH": {
+ "name": "Света Јелена"
+ },
+ "LC": {
+ "name": "Света Луција"
+ },
+ "VC": {
+ "name": "Свети Винсент и Гренадини"
+ },
+ "KN": {
+ "name": "Свети Китс и Невис"
+ },
+ "MF": {
+ "name": "Свети Мартин (Француска)"
+ },
+ "SX": {
+ "name": "Свети Мартин (Холандија)"
+ },
+ "PM": {
+ "name": "Свети Пјер и Микелон"
+ },
+ "KP": {
+ "name": "Северна Кореја"
+ },
+ "MP": {
+ "name": "Северна Маријанска Острва"
+ },
+ "SC": {
+ "name": "Сејшели"
+ },
+ "BL": {
+ "name": "Сен Бартелеми"
+ },
+ "SN": {
+ "name": "Сенегал"
+ },
+ "EA": {
+ "name": "Сеута и Мелиља"
+ },
+ "SL": {
+ "name": "Сијера Леоне"
+ },
+ "SG": {
+ "name": "Сингапур"
+ },
+ "SY": {
+ "name": "Сирија"
+ },
+ "US": {
+ "name": "Сједињене Државе"
+ },
+ "SK": {
+ "name": "Словачка"
+ },
+ "SI": {
+ "name": "Словенија"
+ },
+ "SB": {
+ "name": "Соломонска Острва"
+ },
+ "SO": {
+ "name": "Сомалија"
+ },
+ "RS": {
+ "name": "Србија"
+ },
+ "SD": {
+ "name": "Судан"
+ },
+ "SR": {
+ "name": "Суринам"
+ },
+ "TW": {
+ "name": "Тајван"
+ },
+ "TH": {
+ "name": "Тајланд"
+ },
+ "TZ": {
+ "name": "Танзанија"
+ },
+ "TJ": {
+ "name": "Таџикистан"
+ },
+ "TL": {
+ "name": "Тимор-Лесте (Источни Тимор)"
+ },
+ "TG": {
+ "name": "Того"
+ },
+ "TK": {
+ "name": "Токелау"
+ },
+ "TO": {
+ "name": "Тонга"
+ },
+ "TT": {
+ "name": "Тринидад и Тобаго"
+ },
+ "TA": {
+ "name": "Тристан да Куња"
+ },
+ "TV": {
+ "name": "Тувалу"
+ },
+ "TN": {
+ "name": "Тунис"
+ },
+ "TM": {
+ "name": "Туркменистан"
+ },
+ "TR": {
+ "name": "Турска"
+ },
+ "UG": {
+ "name": "Уганда"
+ },
+ "UZ": {
+ "name": "Узбекистан"
+ },
+ "AE": {
+ "name": "Уједињени Арапски Емирати"
+ },
+ "GB": {
+ "name": "Уједињено Краљевство"
+ },
+ "UA": {
+ "name": "Украјина"
+ },
+ "UY": {
+ "name": "Уругвај"
+ },
+ "FO": {
+ "name": "Фарска Острва"
+ },
+ "PH": {
+ "name": "Филипини"
+ },
+ "FI": {
+ "name": "Финска"
+ },
+ "FJ": {
+ "name": "Фиџи"
+ },
+ "FK": {
+ "name": "Фокландска Острва"
+ },
+ "FR": {
+ "name": "Француска"
+ },
+ "GF": {
+ "name": "Француска Гвајана"
+ },
+ "PF": {
+ "name": "Француска Полинезија"
+ },
+ "TF": {
+ "name": "Француске Јужне Територије"
+ },
+ "HT": {
+ "name": "Хаити"
+ },
+ "NL": {
+ "name": "Холандија"
+ },
+ "HN": {
+ "name": "Хондурас"
+ },
+ "HR": {
+ "name": "Хрватска"
+ },
+ "CF": {
+ "name": "Централноафричка Република"
+ },
+ "ME": {
+ "name": "Црна Гора"
+ },
+ "TD": {
+ "name": "Чад"
+ },
+ "CZ": {
+ "name": "Чешка Република"
+ },
+ "CL": {
+ "name": "Чиле"
+ },
+ "JE": {
+ "name": "Џерзи"
+ },
+ "DJ": {
+ "name": "Џибути"
+ },
+ "CH": {
+ "name": "Швајцарска"
+ },
+ "SE": {
+ "name": "Шведска"
+ },
+ "ES": {
+ "name": "Шпанија"
+ },
+ "LK": {
+ "name": "Шри Ланка"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/sr-Latn-BA.json b/vendor/commerceguys/intl/resources/country/sr-Latn-BA.json
new file mode 100644
index 000000000..9c4259ab5
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/sr-Latn-BA.json
@@ -0,0 +1,761 @@
+{
+ "AL": {
+ "name": "Albanija"
+ },
+ "DZ": {
+ "name": "Alžir"
+ },
+ "VI": {
+ "name": "Američka Djevičanska Ostrva"
+ },
+ "AS": {
+ "name": "Američka Samoa"
+ },
+ "AD": {
+ "name": "Andora"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Angvila"
+ },
+ "AQ": {
+ "name": "Antarktik"
+ },
+ "AG": {
+ "name": "Antigva i Barbuda"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Australija"
+ },
+ "AT": {
+ "name": "Austrija"
+ },
+ "AF": {
+ "name": "Avganistan"
+ },
+ "AZ": {
+ "name": "Azerbejdžan"
+ },
+ "BS": {
+ "name": "Bahami"
+ },
+ "BH": {
+ "name": "Bahrein"
+ },
+ "BD": {
+ "name": "Bangladeš"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BE": {
+ "name": "Belgija"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BY": {
+ "name": "Bjelorusija"
+ },
+ "BW": {
+ "name": "Bocvana"
+ },
+ "BO": {
+ "name": "Bolivija"
+ },
+ "BA": {
+ "name": "Bosna i Hercegovina"
+ },
+ "CX": {
+ "name": "Božićno Ostrvo"
+ },
+ "BR": {
+ "name": "Brazil"
+ },
+ "VG": {
+ "name": "Britanska Djevičanska Ostrva"
+ },
+ "IO": {
+ "name": "Britanska teritorija Indijskog okeana"
+ },
+ "BN": {
+ "name": "Brunej"
+ },
+ "BG": {
+ "name": "Bugarska"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Butan"
+ },
+ "CF": {
+ "name": "Centralnoafrička Republika"
+ },
+ "ME": {
+ "name": "Crna Gora"
+ },
+ "TD": {
+ "name": "Čad"
+ },
+ "CZ": {
+ "name": "Češka Republika"
+ },
+ "CL": {
+ "name": "Čile"
+ },
+ "DK": {
+ "name": "Danska"
+ },
+ "DG": {
+ "name": "Dijego Garsija"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "DO": {
+ "name": "Dominikanska Republika"
+ },
+ "JE": {
+ "name": "Džerzi"
+ },
+ "DJ": {
+ "name": "Džibuti"
+ },
+ "EG": {
+ "name": "Egipat"
+ },
+ "EC": {
+ "name": "Ekvador"
+ },
+ "GQ": {
+ "name": "Ekvatorijalna Gvineja"
+ },
+ "ER": {
+ "name": "Eritreja"
+ },
+ "EE": {
+ "name": "Estonija"
+ },
+ "ET": {
+ "name": "Etiopija"
+ },
+ "FO": {
+ "name": "Farska Ostrva"
+ },
+ "FJ": {
+ "name": "Fidži"
+ },
+ "PH": {
+ "name": "Filipini"
+ },
+ "FI": {
+ "name": "Finska"
+ },
+ "FK": {
+ "name": "Foklandska Ostrva"
+ },
+ "FR": {
+ "name": "Francuska"
+ },
+ "GF": {
+ "name": "Francuska Gvajana"
+ },
+ "PF": {
+ "name": "Francuska Polinezija"
+ },
+ "TF": {
+ "name": "Francuske Južne Teritorije"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambija"
+ },
+ "GH": {
+ "name": "Gana"
+ },
+ "GG": {
+ "name": "Gernzi"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GR": {
+ "name": "Grčka"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GL": {
+ "name": "Grenland"
+ },
+ "GE": {
+ "name": "Gruzija"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GP": {
+ "name": "Gvadelup"
+ },
+ "GY": {
+ "name": "Gvajana"
+ },
+ "GT": {
+ "name": "Gvatemala"
+ },
+ "GN": {
+ "name": "Gvineja"
+ },
+ "GW": {
+ "name": "Gvineja-Bisao"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "NL": {
+ "name": "Holandija"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HR": {
+ "name": "Hrvatska"
+ },
+ "IN": {
+ "name": "Indija"
+ },
+ "ID": {
+ "name": "Indonezija"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IE": {
+ "name": "Irska"
+ },
+ "IS": {
+ "name": "Island"
+ },
+ "IT": {
+ "name": "Italija"
+ },
+ "IL": {
+ "name": "Izrael"
+ },
+ "JM": {
+ "name": "Jamajka"
+ },
+ "JP": {
+ "name": "Japan"
+ },
+ "YE": {
+ "name": "Jemen"
+ },
+ "AM": {
+ "name": "Jermenija"
+ },
+ "JO": {
+ "name": "Jordan"
+ },
+ "GS": {
+ "name": "Južna Džordžija i Južna Sendvička Ostrva"
+ },
+ "KR": {
+ "name": "Južna Koreja"
+ },
+ "SS": {
+ "name": "Južni Sudan"
+ },
+ "ZA": {
+ "name": "Južnoafrička Republika"
+ },
+ "CV": {
+ "name": "Kabo Verde"
+ },
+ "KY": {
+ "name": "Kajmanska Ostrva"
+ },
+ "KH": {
+ "name": "Kambodža"
+ },
+ "CM": {
+ "name": "Kamerun"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "IC": {
+ "name": "Kanarska Ostrva"
+ },
+ "BQ": {
+ "name": "Karipska Holandija"
+ },
+ "QA": {
+ "name": "Katar"
+ },
+ "KZ": {
+ "name": "Kazahstan"
+ },
+ "KE": {
+ "name": "Kenija"
+ },
+ "CN": {
+ "name": "Kina"
+ },
+ "CY": {
+ "name": "Kipar"
+ },
+ "KG": {
+ "name": "Kirgistan"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "CC": {
+ "name": "Kokosova (Kilingova) Ostrva"
+ },
+ "CO": {
+ "name": "Kolumbija"
+ },
+ "KM": {
+ "name": "Komorska Ostrva"
+ },
+ "CG": {
+ "name": "Kongo"
+ },
+ "CD": {
+ "name": "Kongo - Kinšasa"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "Kostarika"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "CK": {
+ "name": "Kukova Ostrva"
+ },
+ "CW": {
+ "name": "Kurasao"
+ },
+ "KW": {
+ "name": "Kuvajt"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LV": {
+ "name": "Letonija"
+ },
+ "LB": {
+ "name": "Liban"
+ },
+ "LR": {
+ "name": "Liberija"
+ },
+ "LY": {
+ "name": "Libija"
+ },
+ "LI": {
+ "name": "Lihtenštajn"
+ },
+ "LT": {
+ "name": "Litvanija"
+ },
+ "LU": {
+ "name": "Luksemburg"
+ },
+ "MG": {
+ "name": "Madagaskar"
+ },
+ "HU": {
+ "name": "Mađarska"
+ },
+ "YT": {
+ "name": "Majot"
+ },
+ "MK": {
+ "name": "Makedonija"
+ },
+ "MW": {
+ "name": "Malavi"
+ },
+ "MV": {
+ "name": "Maldivi"
+ },
+ "MY": {
+ "name": "Malezija"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "UM": {
+ "name": "Manja udaljena ostrva SAD"
+ },
+ "MA": {
+ "name": "Maroko"
+ },
+ "MH": {
+ "name": "Maršalska Ostrva"
+ },
+ "MQ": {
+ "name": "Martinik"
+ },
+ "MU": {
+ "name": "Mauricijus"
+ },
+ "MR": {
+ "name": "Mauritanija"
+ },
+ "MX": {
+ "name": "Meksiko"
+ },
+ "MM": {
+ "name": "Mijanmar (Burma)"
+ },
+ "FM": {
+ "name": "Mikronezija"
+ },
+ "MD": {
+ "name": "Moldavija"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MN": {
+ "name": "Mongolija"
+ },
+ "MS": {
+ "name": "Monserat"
+ },
+ "MZ": {
+ "name": "Mozambik"
+ },
+ "NA": {
+ "name": "Namibija"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigerija"
+ },
+ "NI": {
+ "name": "Nikaragva"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Norveška"
+ },
+ "NC": {
+ "name": "Nova Kaledonija"
+ },
+ "NZ": {
+ "name": "Novi Zeland"
+ },
+ "DE": {
+ "name": "Njemačka"
+ },
+ "CI": {
+ "name": "Obala Slonovače (Kot d’Ivoar)"
+ },
+ "AX": {
+ "name": "Olandska Ostrva"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "TC": {
+ "name": "Ostrva Turks i Kaikos"
+ },
+ "AC": {
+ "name": "Ostrvo Asension"
+ },
+ "IM": {
+ "name": "Ostrvo Man"
+ },
+ "NF": {
+ "name": "Ostrvo Norfok"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palestinske teritorije"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua Nova Gvineja"
+ },
+ "PY": {
+ "name": "Paragvaj"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitkern"
+ },
+ "PL": {
+ "name": "Poljska"
+ },
+ "PR": {
+ "name": "Portoriko"
+ },
+ "PT": {
+ "name": "Portugalija"
+ },
+ "RE": {
+ "name": "Reunion"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RO": {
+ "name": "Rumunija"
+ },
+ "RU": {
+ "name": "Rusija"
+ },
+ "SV": {
+ "name": "Salvador"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "Sao Tome i Principe"
+ },
+ "HK": {
+ "name": "SAR Hongkong (Kina)"
+ },
+ "MO": {
+ "name": "SAR Makao"
+ },
+ "SA": {
+ "name": "Saudijska Arabija"
+ },
+ "SC": {
+ "name": "Sejšeli"
+ },
+ "BL": {
+ "name": "Sen Bartelemi"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "EA": {
+ "name": "Seuta i Melilja"
+ },
+ "KP": {
+ "name": "Severna Koreja"
+ },
+ "MP": {
+ "name": "Severna Marijanska Ostrva"
+ },
+ "SL": {
+ "name": "Sijera Leone"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SY": {
+ "name": "Sirija"
+ },
+ "US": {
+ "name": "Sjedinjene Države"
+ },
+ "SK": {
+ "name": "Slovačka"
+ },
+ "SI": {
+ "name": "Slovenija"
+ },
+ "SB": {
+ "name": "Solomonska Ostrva"
+ },
+ "SO": {
+ "name": "Somalija"
+ },
+ "RS": {
+ "name": "Srbija"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SJ": {
+ "name": "Svalbard i Jan Majen"
+ },
+ "SZ": {
+ "name": "Svazilend"
+ },
+ "SH": {
+ "name": "Sveta Jelena"
+ },
+ "LC": {
+ "name": "Sveta Lucija"
+ },
+ "KN": {
+ "name": "Sveti Kits i Nevis"
+ },
+ "MF": {
+ "name": "Sveti Martin (Francuska)"
+ },
+ "SX": {
+ "name": "Sveti Martin (Holandija)"
+ },
+ "PM": {
+ "name": "Sveti Pjer i Mikelon"
+ },
+ "VC": {
+ "name": "Sveti Vinsent i Grenadini"
+ },
+ "ES": {
+ "name": "Španija"
+ },
+ "LK": {
+ "name": "Šri Lanka"
+ },
+ "CH": {
+ "name": "Švajcarska"
+ },
+ "SE": {
+ "name": "Švedska"
+ },
+ "TJ": {
+ "name": "Tadžikistan"
+ },
+ "TH": {
+ "name": "Tajland"
+ },
+ "TW": {
+ "name": "Tajvan"
+ },
+ "TZ": {
+ "name": "Tanzanija"
+ },
+ "TL": {
+ "name": "Timor-Leste (Istočni Timor)"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad i Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Kunja"
+ },
+ "TN": {
+ "name": "Tunis"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TR": {
+ "name": "Turska"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "AE": {
+ "name": "Ujedinjeni Arapski Emirati"
+ },
+ "GB": {
+ "name": "Ujedinjeno Kraljevstvo"
+ },
+ "UA": {
+ "name": "Ukrajina"
+ },
+ "UY": {
+ "name": "Urugvaj"
+ },
+ "UZ": {
+ "name": "Uzbekistan"
+ },
+ "WF": {
+ "name": "Valis i Futuna"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikan"
+ },
+ "VE": {
+ "name": "Venecuela"
+ },
+ "VN": {
+ "name": "Vijetnam"
+ },
+ "ZM": {
+ "name": "Zambija"
+ },
+ "EH": {
+ "name": "Zapadna Sahara"
+ },
+ "ZW": {
+ "name": "Zimbabve"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/sr-Latn-ME.json b/vendor/commerceguys/intl/resources/country/sr-Latn-ME.json
new file mode 100644
index 000000000..bf4b909fd
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/sr-Latn-ME.json
@@ -0,0 +1,761 @@
+{
+ "AL": {
+ "name": "Albanija"
+ },
+ "DZ": {
+ "name": "Alžir"
+ },
+ "VI": {
+ "name": "Američka Djevičanska Ostrva"
+ },
+ "AS": {
+ "name": "Američka Samoa"
+ },
+ "AD": {
+ "name": "Andora"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Angvila"
+ },
+ "AQ": {
+ "name": "Antarktik"
+ },
+ "AG": {
+ "name": "Antigva i Barbuda"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Australija"
+ },
+ "AT": {
+ "name": "Austrija"
+ },
+ "AF": {
+ "name": "Avganistan"
+ },
+ "AZ": {
+ "name": "Azerbejdžan"
+ },
+ "BS": {
+ "name": "Bahami"
+ },
+ "BH": {
+ "name": "Bahrein"
+ },
+ "BD": {
+ "name": "Bangladeš"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BE": {
+ "name": "Belgija"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BY": {
+ "name": "Bjelorusija"
+ },
+ "BW": {
+ "name": "Bocvana"
+ },
+ "BO": {
+ "name": "Bolivija"
+ },
+ "BA": {
+ "name": "Bosna i Hercegovina"
+ },
+ "CX": {
+ "name": "Božićno Ostrvo"
+ },
+ "BR": {
+ "name": "Brazil"
+ },
+ "VG": {
+ "name": "Britanska Djevičanska Ostrva"
+ },
+ "IO": {
+ "name": "Britanska teritorija Indijskog okeana"
+ },
+ "BN": {
+ "name": "Brunej"
+ },
+ "BG": {
+ "name": "Bugarska"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Butan"
+ },
+ "CF": {
+ "name": "Centralnoafrička Republika"
+ },
+ "ME": {
+ "name": "Crna Gora"
+ },
+ "TD": {
+ "name": "Čad"
+ },
+ "CZ": {
+ "name": "Češka Republika"
+ },
+ "CL": {
+ "name": "Čile"
+ },
+ "DK": {
+ "name": "Danska"
+ },
+ "DG": {
+ "name": "Dijego Garsija"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "DO": {
+ "name": "Dominikanska Republika"
+ },
+ "JE": {
+ "name": "Džerzi"
+ },
+ "DJ": {
+ "name": "Džibuti"
+ },
+ "EG": {
+ "name": "Egipat"
+ },
+ "EC": {
+ "name": "Ekvador"
+ },
+ "GQ": {
+ "name": "Ekvatorijalna Gvineja"
+ },
+ "ER": {
+ "name": "Eritreja"
+ },
+ "EE": {
+ "name": "Estonija"
+ },
+ "ET": {
+ "name": "Etiopija"
+ },
+ "FO": {
+ "name": "Farska Ostrva"
+ },
+ "FJ": {
+ "name": "Fidži"
+ },
+ "PH": {
+ "name": "Filipini"
+ },
+ "FI": {
+ "name": "Finska"
+ },
+ "FK": {
+ "name": "Foklandska Ostrva"
+ },
+ "FR": {
+ "name": "Francuska"
+ },
+ "GF": {
+ "name": "Francuska Gvajana"
+ },
+ "PF": {
+ "name": "Francuska Polinezija"
+ },
+ "TF": {
+ "name": "Francuske Južne Teritorije"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambija"
+ },
+ "GH": {
+ "name": "Gana"
+ },
+ "GG": {
+ "name": "Gernzi"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GR": {
+ "name": "Grčka"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GL": {
+ "name": "Grenland"
+ },
+ "GE": {
+ "name": "Gruzija"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GP": {
+ "name": "Gvadelup"
+ },
+ "GY": {
+ "name": "Gvajana"
+ },
+ "GT": {
+ "name": "Gvatemala"
+ },
+ "GN": {
+ "name": "Gvineja"
+ },
+ "GW": {
+ "name": "Gvineja-Bisao"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "NL": {
+ "name": "Holandija"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HR": {
+ "name": "Hrvatska"
+ },
+ "IN": {
+ "name": "Indija"
+ },
+ "ID": {
+ "name": "Indonezija"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IE": {
+ "name": "Irska"
+ },
+ "IS": {
+ "name": "Island"
+ },
+ "IT": {
+ "name": "Italija"
+ },
+ "IL": {
+ "name": "Izrael"
+ },
+ "JM": {
+ "name": "Jamajka"
+ },
+ "JP": {
+ "name": "Japan"
+ },
+ "YE": {
+ "name": "Jemen"
+ },
+ "AM": {
+ "name": "Jermenija"
+ },
+ "JO": {
+ "name": "Jordan"
+ },
+ "GS": {
+ "name": "Južna Džordžija i Južna Sendvička Ostrva"
+ },
+ "KR": {
+ "name": "Južna Koreja"
+ },
+ "SS": {
+ "name": "Južni Sudan"
+ },
+ "ZA": {
+ "name": "Južnoafrička Republika"
+ },
+ "KY": {
+ "name": "Kajmanska Ostrva"
+ },
+ "KH": {
+ "name": "Kambodža"
+ },
+ "CM": {
+ "name": "Kamerun"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "IC": {
+ "name": "Kanarska Ostrva"
+ },
+ "BQ": {
+ "name": "Karipska Holandija"
+ },
+ "QA": {
+ "name": "Katar"
+ },
+ "KZ": {
+ "name": "Kazahstan"
+ },
+ "KE": {
+ "name": "Kenija"
+ },
+ "CN": {
+ "name": "Kina"
+ },
+ "CY": {
+ "name": "Kipar"
+ },
+ "KG": {
+ "name": "Kirgistan"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "CC": {
+ "name": "Kokosova (Kilingova) Ostrva"
+ },
+ "CO": {
+ "name": "Kolumbija"
+ },
+ "KM": {
+ "name": "Komorska Ostrva"
+ },
+ "CG": {
+ "name": "Kongo"
+ },
+ "CD": {
+ "name": "Kongo - Kinšasa"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "Kostarika"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "CK": {
+ "name": "Kukova Ostrva"
+ },
+ "CW": {
+ "name": "Kurasao"
+ },
+ "KW": {
+ "name": "Kuvajt"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LV": {
+ "name": "Letonija"
+ },
+ "LB": {
+ "name": "Liban"
+ },
+ "LR": {
+ "name": "Liberija"
+ },
+ "LY": {
+ "name": "Libija"
+ },
+ "LI": {
+ "name": "Lihtenštajn"
+ },
+ "LT": {
+ "name": "Litvanija"
+ },
+ "LU": {
+ "name": "Luksemburg"
+ },
+ "MG": {
+ "name": "Madagaskar"
+ },
+ "HU": {
+ "name": "Mađarska"
+ },
+ "YT": {
+ "name": "Majot"
+ },
+ "MK": {
+ "name": "Makedonija"
+ },
+ "MW": {
+ "name": "Malavi"
+ },
+ "MV": {
+ "name": "Maldivi"
+ },
+ "MY": {
+ "name": "Malezija"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "UM": {
+ "name": "Manja udaljena ostrva SAD"
+ },
+ "MA": {
+ "name": "Maroko"
+ },
+ "MH": {
+ "name": "Maršalska Ostrva"
+ },
+ "MQ": {
+ "name": "Martinik"
+ },
+ "MU": {
+ "name": "Mauricijus"
+ },
+ "MR": {
+ "name": "Mauritanija"
+ },
+ "MX": {
+ "name": "Meksiko"
+ },
+ "MM": {
+ "name": "Mijanmar (Burma)"
+ },
+ "FM": {
+ "name": "Mikronezija"
+ },
+ "MD": {
+ "name": "Moldavija"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MN": {
+ "name": "Mongolija"
+ },
+ "MS": {
+ "name": "Monserat"
+ },
+ "MZ": {
+ "name": "Mozambik"
+ },
+ "NA": {
+ "name": "Namibija"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigerija"
+ },
+ "NI": {
+ "name": "Nikaragva"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Norveška"
+ },
+ "NC": {
+ "name": "Nova Kaledonija"
+ },
+ "NZ": {
+ "name": "Novi Zeland"
+ },
+ "DE": {
+ "name": "Njemačka"
+ },
+ "CI": {
+ "name": "Obala Slonovače (Kot d’Ivoar)"
+ },
+ "AX": {
+ "name": "Olandska Ostrva"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "TC": {
+ "name": "Ostrva Turks i Kaikos"
+ },
+ "AC": {
+ "name": "Ostrvo Asension"
+ },
+ "IM": {
+ "name": "Ostrvo Man"
+ },
+ "NF": {
+ "name": "Ostrvo Norfok"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palestinske teritorije"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua Nova Gvineja"
+ },
+ "PY": {
+ "name": "Paragvaj"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitkern"
+ },
+ "PL": {
+ "name": "Poljska"
+ },
+ "PR": {
+ "name": "Portoriko"
+ },
+ "PT": {
+ "name": "Portugalija"
+ },
+ "RE": {
+ "name": "Reunion"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RO": {
+ "name": "Rumunija"
+ },
+ "RU": {
+ "name": "Rusija"
+ },
+ "SV": {
+ "name": "Salvador"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "Sao Tome i Principe"
+ },
+ "HK": {
+ "name": "SAR Hongkong (Kina)"
+ },
+ "MO": {
+ "name": "SAR Makao (Kina)"
+ },
+ "SA": {
+ "name": "Saudijska Arabija"
+ },
+ "SC": {
+ "name": "Sejšeli"
+ },
+ "BL": {
+ "name": "Sen Bartelemi"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "EA": {
+ "name": "Seuta i Melilja"
+ },
+ "KP": {
+ "name": "Severna Koreja"
+ },
+ "MP": {
+ "name": "Severna Marijanska Ostrva"
+ },
+ "SL": {
+ "name": "Sijera Leone"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SY": {
+ "name": "Sirija"
+ },
+ "US": {
+ "name": "Sjedinjene Države"
+ },
+ "SK": {
+ "name": "Slovačka"
+ },
+ "SI": {
+ "name": "Slovenija"
+ },
+ "SB": {
+ "name": "Solomonska Ostrva"
+ },
+ "SO": {
+ "name": "Somalija"
+ },
+ "RS": {
+ "name": "Srbija"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SJ": {
+ "name": "Svalbard i Jan Majen"
+ },
+ "SZ": {
+ "name": "Svazilend"
+ },
+ "SH": {
+ "name": "Sveta Jelena"
+ },
+ "LC": {
+ "name": "Sveta Lucija"
+ },
+ "KN": {
+ "name": "Sveti Kits i Nevis"
+ },
+ "MF": {
+ "name": "Sveti Martin (Francuska)"
+ },
+ "SX": {
+ "name": "Sveti Martin (Holandija)"
+ },
+ "PM": {
+ "name": "Sveti Pjer i Mikelon"
+ },
+ "VC": {
+ "name": "Sveti Vinsent i Grenadini"
+ },
+ "ES": {
+ "name": "Španija"
+ },
+ "LK": {
+ "name": "Šri Lanka"
+ },
+ "CH": {
+ "name": "Švajcarska"
+ },
+ "SE": {
+ "name": "Švedska"
+ },
+ "TJ": {
+ "name": "Tadžikistan"
+ },
+ "TH": {
+ "name": "Tajland"
+ },
+ "TW": {
+ "name": "Tajvan"
+ },
+ "TZ": {
+ "name": "Tanzanija"
+ },
+ "TL": {
+ "name": "Timor-Leste (Istočni Timor)"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad i Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Kunja"
+ },
+ "TN": {
+ "name": "Tunis"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TR": {
+ "name": "Turska"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "AE": {
+ "name": "Ujedinjeni Arapski Emirati"
+ },
+ "GB": {
+ "name": "Ujedinjeno Kraljevstvo"
+ },
+ "UA": {
+ "name": "Ukrajina"
+ },
+ "UY": {
+ "name": "Urugvaj"
+ },
+ "UZ": {
+ "name": "Uzbekistan"
+ },
+ "WF": {
+ "name": "Valis i Futuna"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikan"
+ },
+ "VE": {
+ "name": "Venecuela"
+ },
+ "VN": {
+ "name": "Vijetnam"
+ },
+ "ZM": {
+ "name": "Zambija"
+ },
+ "EH": {
+ "name": "Zapadna Sahara"
+ },
+ "CV": {
+ "name": "Zelenortska Ostrva"
+ },
+ "ZW": {
+ "name": "Zimbabve"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/sr-Latn-XK.json b/vendor/commerceguys/intl/resources/country/sr-Latn-XK.json
new file mode 100644
index 000000000..77c09bc39
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/sr-Latn-XK.json
@@ -0,0 +1,761 @@
+{
+ "AL": {
+ "name": "Albanija"
+ },
+ "DZ": {
+ "name": "Alžir"
+ },
+ "VI": {
+ "name": "Američka Devičanska Ostrva"
+ },
+ "AS": {
+ "name": "Američka Samoa"
+ },
+ "AD": {
+ "name": "Andora"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Angvila"
+ },
+ "AQ": {
+ "name": "Antarktik"
+ },
+ "AG": {
+ "name": "Antigva i Barbuda"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Australija"
+ },
+ "AT": {
+ "name": "Austrija"
+ },
+ "AF": {
+ "name": "Avganistan"
+ },
+ "AZ": {
+ "name": "Azerbejdžan"
+ },
+ "BS": {
+ "name": "Bahami"
+ },
+ "BH": {
+ "name": "Bahrein"
+ },
+ "BD": {
+ "name": "Bangladeš"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BE": {
+ "name": "Belgija"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BY": {
+ "name": "Belorusija"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BW": {
+ "name": "Bocvana"
+ },
+ "BO": {
+ "name": "Bolivija"
+ },
+ "BA": {
+ "name": "Bosna i Hercegovina"
+ },
+ "CX": {
+ "name": "Božićno Ostrvo"
+ },
+ "BR": {
+ "name": "Brazil"
+ },
+ "VG": {
+ "name": "Britanska Devičanska Ostrva"
+ },
+ "IO": {
+ "name": "Britanska teritorija Indijskog okeana"
+ },
+ "BN": {
+ "name": "Brunej"
+ },
+ "BG": {
+ "name": "Bugarska"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Butan"
+ },
+ "CF": {
+ "name": "Centralnoafrička Republika"
+ },
+ "ME": {
+ "name": "Crna Gora"
+ },
+ "TD": {
+ "name": "Čad"
+ },
+ "CZ": {
+ "name": "Češka Republika"
+ },
+ "CL": {
+ "name": "Čile"
+ },
+ "DK": {
+ "name": "Danska"
+ },
+ "DG": {
+ "name": "Dijego Garsija"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "DO": {
+ "name": "Dominikanska Republika"
+ },
+ "JE": {
+ "name": "Džerzi"
+ },
+ "DJ": {
+ "name": "Džibuti"
+ },
+ "EG": {
+ "name": "Egipat"
+ },
+ "EC": {
+ "name": "Ekvador"
+ },
+ "GQ": {
+ "name": "Ekvatorijalna Gvineja"
+ },
+ "ER": {
+ "name": "Eritreja"
+ },
+ "EE": {
+ "name": "Estonija"
+ },
+ "ET": {
+ "name": "Etiopija"
+ },
+ "FO": {
+ "name": "Farska Ostrva"
+ },
+ "FJ": {
+ "name": "Fidži"
+ },
+ "PH": {
+ "name": "Filipini"
+ },
+ "FI": {
+ "name": "Finska"
+ },
+ "FK": {
+ "name": "Foklandska Ostrva"
+ },
+ "FR": {
+ "name": "Francuska"
+ },
+ "GF": {
+ "name": "Francuska Gvajana"
+ },
+ "PF": {
+ "name": "Francuska Polinezija"
+ },
+ "TF": {
+ "name": "Francuske Južne Teritorije"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambija"
+ },
+ "GH": {
+ "name": "Gana"
+ },
+ "GG": {
+ "name": "Gernzi"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GR": {
+ "name": "Grčka"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GL": {
+ "name": "Grenland"
+ },
+ "GE": {
+ "name": "Gruzija"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GP": {
+ "name": "Gvadelup"
+ },
+ "GY": {
+ "name": "Gvajana"
+ },
+ "GT": {
+ "name": "Gvatemala"
+ },
+ "GN": {
+ "name": "Gvineja"
+ },
+ "GW": {
+ "name": "Gvineja-Bisao"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "NL": {
+ "name": "Holandija"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HR": {
+ "name": "Hrvatska"
+ },
+ "IN": {
+ "name": "Indija"
+ },
+ "ID": {
+ "name": "Indonezija"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IE": {
+ "name": "Irska"
+ },
+ "IS": {
+ "name": "Island"
+ },
+ "IT": {
+ "name": "Italija"
+ },
+ "IL": {
+ "name": "Izrael"
+ },
+ "JM": {
+ "name": "Jamajka"
+ },
+ "JP": {
+ "name": "Japan"
+ },
+ "YE": {
+ "name": "Jemen"
+ },
+ "AM": {
+ "name": "Jermenija"
+ },
+ "JO": {
+ "name": "Jordan"
+ },
+ "GS": {
+ "name": "Južna Džordžija i Južna Sendvička Ostrva"
+ },
+ "KR": {
+ "name": "Južna Koreja"
+ },
+ "SS": {
+ "name": "Južni Sudan"
+ },
+ "ZA": {
+ "name": "Južnoafrička Republika"
+ },
+ "CV": {
+ "name": "Kabo Verde"
+ },
+ "KY": {
+ "name": "Kajmanska Ostrva"
+ },
+ "KH": {
+ "name": "Kambodža"
+ },
+ "CM": {
+ "name": "Kamerun"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "IC": {
+ "name": "Kanarska Ostrva"
+ },
+ "BQ": {
+ "name": "Karipska Holandija"
+ },
+ "QA": {
+ "name": "Katar"
+ },
+ "KZ": {
+ "name": "Kazahstan"
+ },
+ "KE": {
+ "name": "Kenija"
+ },
+ "CN": {
+ "name": "Kina"
+ },
+ "CY": {
+ "name": "Kipar"
+ },
+ "KG": {
+ "name": "Kirgistan"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "CC": {
+ "name": "Kokosova (Kilingova) Ostrva"
+ },
+ "CO": {
+ "name": "Kolumbija"
+ },
+ "KM": {
+ "name": "Komorska Ostrva"
+ },
+ "CG": {
+ "name": "Kongo"
+ },
+ "CD": {
+ "name": "Kongo - Kinšasa"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "Kostarika"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "CK": {
+ "name": "Kukova Ostrva"
+ },
+ "CW": {
+ "name": "Kurasao"
+ },
+ "KW": {
+ "name": "Kuvajt"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LV": {
+ "name": "Letonija"
+ },
+ "LB": {
+ "name": "Liban"
+ },
+ "LR": {
+ "name": "Liberija"
+ },
+ "LY": {
+ "name": "Libija"
+ },
+ "LI": {
+ "name": "Lihtenštajn"
+ },
+ "LT": {
+ "name": "Litvanija"
+ },
+ "LU": {
+ "name": "Luksemburg"
+ },
+ "MG": {
+ "name": "Madagaskar"
+ },
+ "HU": {
+ "name": "Mađarska"
+ },
+ "YT": {
+ "name": "Majot"
+ },
+ "MK": {
+ "name": "Makedonija"
+ },
+ "MW": {
+ "name": "Malavi"
+ },
+ "MV": {
+ "name": "Maldivi"
+ },
+ "MY": {
+ "name": "Malezija"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "UM": {
+ "name": "Manja udaljena ostrva SAD"
+ },
+ "MA": {
+ "name": "Maroko"
+ },
+ "MH": {
+ "name": "Maršalska Ostrva"
+ },
+ "MQ": {
+ "name": "Martinik"
+ },
+ "MU": {
+ "name": "Mauricijus"
+ },
+ "MR": {
+ "name": "Mauritanija"
+ },
+ "MX": {
+ "name": "Meksiko"
+ },
+ "MM": {
+ "name": "Mijanmar (Burma)"
+ },
+ "FM": {
+ "name": "Mikronezija"
+ },
+ "MD": {
+ "name": "Moldavija"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MN": {
+ "name": "Mongolija"
+ },
+ "MS": {
+ "name": "Monserat"
+ },
+ "MZ": {
+ "name": "Mozambik"
+ },
+ "NA": {
+ "name": "Namibija"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "DE": {
+ "name": "Nemačka"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigerija"
+ },
+ "NI": {
+ "name": "Nikaragva"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Norveška"
+ },
+ "NC": {
+ "name": "Nova Kaledonija"
+ },
+ "NZ": {
+ "name": "Novi Zeland"
+ },
+ "CI": {
+ "name": "Obala Slonovače (Kot d’Ivoar)"
+ },
+ "AX": {
+ "name": "Olandska Ostrva"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "TC": {
+ "name": "Ostrva Turks i Kaikos"
+ },
+ "AC": {
+ "name": "Ostrvo Asension"
+ },
+ "IM": {
+ "name": "Ostrvo Man"
+ },
+ "NF": {
+ "name": "Ostrvo Norfok"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palestinske teritorije"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua Nova Gvineja"
+ },
+ "PY": {
+ "name": "Paragvaj"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitkern"
+ },
+ "PL": {
+ "name": "Poljska"
+ },
+ "PR": {
+ "name": "Portoriko"
+ },
+ "PT": {
+ "name": "Portugalija"
+ },
+ "RE": {
+ "name": "Reunion"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RO": {
+ "name": "Rumunija"
+ },
+ "RU": {
+ "name": "Rusija"
+ },
+ "SV": {
+ "name": "Salvador"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "Sao Tome i Principe"
+ },
+ "HK": {
+ "name": "SAR Hongkong"
+ },
+ "MO": {
+ "name": "SAR Makao"
+ },
+ "SA": {
+ "name": "Saudijska Arabija"
+ },
+ "SC": {
+ "name": "Sejšeli"
+ },
+ "BL": {
+ "name": "Sen Bartelemi"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "EA": {
+ "name": "Seuta i Melilja"
+ },
+ "KP": {
+ "name": "Severna Koreja"
+ },
+ "MP": {
+ "name": "Severna Marijanska Ostrva"
+ },
+ "SL": {
+ "name": "Sijera Leone"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SY": {
+ "name": "Sirija"
+ },
+ "US": {
+ "name": "Sjedinjene Države"
+ },
+ "SK": {
+ "name": "Slovačka"
+ },
+ "SI": {
+ "name": "Slovenija"
+ },
+ "SB": {
+ "name": "Solomonska Ostrva"
+ },
+ "SO": {
+ "name": "Somalija"
+ },
+ "RS": {
+ "name": "Srbija"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SJ": {
+ "name": "Svalbard i Jan Majen"
+ },
+ "SZ": {
+ "name": "Svazilend"
+ },
+ "SH": {
+ "name": "Sveta Jelena"
+ },
+ "LC": {
+ "name": "Sveta Lucija"
+ },
+ "KN": {
+ "name": "Sveti Kits i Nevis"
+ },
+ "MF": {
+ "name": "Sveti Martin (Francuska)"
+ },
+ "SX": {
+ "name": "Sveti Martin (Holandija)"
+ },
+ "PM": {
+ "name": "Sveti Pjer i Mikelon"
+ },
+ "VC": {
+ "name": "Sveti Vinsent i Grenadini"
+ },
+ "ES": {
+ "name": "Španija"
+ },
+ "LK": {
+ "name": "Šri Lanka"
+ },
+ "CH": {
+ "name": "Švajcarska"
+ },
+ "SE": {
+ "name": "Švedska"
+ },
+ "TJ": {
+ "name": "Tadžikistan"
+ },
+ "TH": {
+ "name": "Tajland"
+ },
+ "TW": {
+ "name": "Tajvan"
+ },
+ "TZ": {
+ "name": "Tanzanija"
+ },
+ "TL": {
+ "name": "Timor-Leste (Istočni Timor)"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad i Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Kunja"
+ },
+ "TN": {
+ "name": "Tunis"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TR": {
+ "name": "Turska"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "AE": {
+ "name": "Ujedinjeni Arapski Emirati"
+ },
+ "GB": {
+ "name": "Ujedinjeno Kraljevstvo"
+ },
+ "UA": {
+ "name": "Ukrajina"
+ },
+ "UY": {
+ "name": "Urugvaj"
+ },
+ "UZ": {
+ "name": "Uzbekistan"
+ },
+ "WF": {
+ "name": "Valis i Futuna"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikan"
+ },
+ "VE": {
+ "name": "Venecuela"
+ },
+ "VN": {
+ "name": "Vijetnam"
+ },
+ "ZM": {
+ "name": "Zambija"
+ },
+ "EH": {
+ "name": "Zapadna Sahara"
+ },
+ "ZW": {
+ "name": "Zimbabve"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/sr-Latn.json b/vendor/commerceguys/intl/resources/country/sr-Latn.json
new file mode 100644
index 000000000..60978a084
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/sr-Latn.json
@@ -0,0 +1,761 @@
+{
+ "AL": {
+ "name": "Albanija"
+ },
+ "DZ": {
+ "name": "Alžir"
+ },
+ "VI": {
+ "name": "Američka Devičanska Ostrva"
+ },
+ "AS": {
+ "name": "Američka Samoa"
+ },
+ "AD": {
+ "name": "Andora"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Angvila"
+ },
+ "AQ": {
+ "name": "Antarktik"
+ },
+ "AG": {
+ "name": "Antigva i Barbuda"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Australija"
+ },
+ "AT": {
+ "name": "Austrija"
+ },
+ "AF": {
+ "name": "Avganistan"
+ },
+ "AZ": {
+ "name": "Azerbejdžan"
+ },
+ "BS": {
+ "name": "Bahami"
+ },
+ "BH": {
+ "name": "Bahrein"
+ },
+ "BD": {
+ "name": "Bangladeš"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BE": {
+ "name": "Belgija"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BY": {
+ "name": "Belorusija"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BW": {
+ "name": "Bocvana"
+ },
+ "BO": {
+ "name": "Bolivija"
+ },
+ "BA": {
+ "name": "Bosna i Hercegovina"
+ },
+ "CX": {
+ "name": "Božićno Ostrvo"
+ },
+ "BR": {
+ "name": "Brazil"
+ },
+ "VG": {
+ "name": "Britanska Devičanska Ostrva"
+ },
+ "IO": {
+ "name": "Britanska teritorija Indijskog okeana"
+ },
+ "BN": {
+ "name": "Brunej"
+ },
+ "BG": {
+ "name": "Bugarska"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Butan"
+ },
+ "CF": {
+ "name": "Centralnoafrička Republika"
+ },
+ "ME": {
+ "name": "Crna Gora"
+ },
+ "TD": {
+ "name": "Čad"
+ },
+ "CZ": {
+ "name": "Češka"
+ },
+ "CL": {
+ "name": "Čile"
+ },
+ "DK": {
+ "name": "Danska"
+ },
+ "DG": {
+ "name": "Dijego Garsija"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "DO": {
+ "name": "Dominikanska Republika"
+ },
+ "JE": {
+ "name": "Džerzi"
+ },
+ "DJ": {
+ "name": "Džibuti"
+ },
+ "EG": {
+ "name": "Egipat"
+ },
+ "EC": {
+ "name": "Ekvador"
+ },
+ "GQ": {
+ "name": "Ekvatorijalna Gvineja"
+ },
+ "ER": {
+ "name": "Eritreja"
+ },
+ "EE": {
+ "name": "Estonija"
+ },
+ "ET": {
+ "name": "Etiopija"
+ },
+ "FO": {
+ "name": "Farska Ostrva"
+ },
+ "FJ": {
+ "name": "Fidži"
+ },
+ "PH": {
+ "name": "Filipini"
+ },
+ "FI": {
+ "name": "Finska"
+ },
+ "FK": {
+ "name": "Foklandska Ostrva"
+ },
+ "FR": {
+ "name": "Francuska"
+ },
+ "GF": {
+ "name": "Francuska Gvajana"
+ },
+ "PF": {
+ "name": "Francuska Polinezija"
+ },
+ "TF": {
+ "name": "Francuske Južne Teritorije"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambija"
+ },
+ "GH": {
+ "name": "Gana"
+ },
+ "GG": {
+ "name": "Gernzi"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GR": {
+ "name": "Grčka"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GL": {
+ "name": "Grenland"
+ },
+ "GE": {
+ "name": "Gruzija"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GP": {
+ "name": "Gvadelup"
+ },
+ "GY": {
+ "name": "Gvajana"
+ },
+ "GT": {
+ "name": "Gvatemala"
+ },
+ "GN": {
+ "name": "Gvineja"
+ },
+ "GW": {
+ "name": "Gvineja-Bisao"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "NL": {
+ "name": "Holandija"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HR": {
+ "name": "Hrvatska"
+ },
+ "IN": {
+ "name": "Indija"
+ },
+ "ID": {
+ "name": "Indonezija"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IE": {
+ "name": "Irska"
+ },
+ "IS": {
+ "name": "Island"
+ },
+ "TL": {
+ "name": "Istočni Timor"
+ },
+ "IT": {
+ "name": "Italija"
+ },
+ "IL": {
+ "name": "Izrael"
+ },
+ "JM": {
+ "name": "Jamajka"
+ },
+ "JP": {
+ "name": "Japan"
+ },
+ "YE": {
+ "name": "Jemen"
+ },
+ "AM": {
+ "name": "Jermenija"
+ },
+ "JO": {
+ "name": "Jordan"
+ },
+ "GS": {
+ "name": "Južna Džordžija i Južna Sendvička Ostrva"
+ },
+ "KR": {
+ "name": "Južna Koreja"
+ },
+ "SS": {
+ "name": "Južni Sudan"
+ },
+ "ZA": {
+ "name": "Južnoafrička Republika"
+ },
+ "KY": {
+ "name": "Kajmanska Ostrva"
+ },
+ "KH": {
+ "name": "Kambodža"
+ },
+ "CM": {
+ "name": "Kamerun"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "IC": {
+ "name": "Kanarska Ostrva"
+ },
+ "BQ": {
+ "name": "Karipska Holandija"
+ },
+ "QA": {
+ "name": "Katar"
+ },
+ "KZ": {
+ "name": "Kazahstan"
+ },
+ "KE": {
+ "name": "Kenija"
+ },
+ "CN": {
+ "name": "Kina"
+ },
+ "CY": {
+ "name": "Kipar"
+ },
+ "KG": {
+ "name": "Kirgistan"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "CC": {
+ "name": "Kokosova (Kilingova) Ostrva"
+ },
+ "CO": {
+ "name": "Kolumbija"
+ },
+ "KM": {
+ "name": "Komorska Ostrva"
+ },
+ "CG": {
+ "name": "Kongo - Brazavil"
+ },
+ "CD": {
+ "name": "Kongo - Kinšasa"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "Kostarika"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "CK": {
+ "name": "Kukova Ostrva"
+ },
+ "CW": {
+ "name": "Kurasao"
+ },
+ "KW": {
+ "name": "Kuvajt"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LV": {
+ "name": "Letonija"
+ },
+ "LB": {
+ "name": "Liban"
+ },
+ "LR": {
+ "name": "Liberija"
+ },
+ "LY": {
+ "name": "Libija"
+ },
+ "LI": {
+ "name": "Lihtenštajn"
+ },
+ "LT": {
+ "name": "Litvanija"
+ },
+ "LU": {
+ "name": "Luksemburg"
+ },
+ "MG": {
+ "name": "Madagaskar"
+ },
+ "HU": {
+ "name": "Mađarska"
+ },
+ "YT": {
+ "name": "Majot"
+ },
+ "MK": {
+ "name": "Makedonija"
+ },
+ "MW": {
+ "name": "Malavi"
+ },
+ "MV": {
+ "name": "Maldivi"
+ },
+ "MY": {
+ "name": "Malezija"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Maroko"
+ },
+ "MH": {
+ "name": "Maršalska Ostrva"
+ },
+ "MQ": {
+ "name": "Martinik"
+ },
+ "MU": {
+ "name": "Mauricijus"
+ },
+ "MR": {
+ "name": "Mauritanija"
+ },
+ "MX": {
+ "name": "Meksiko"
+ },
+ "MM": {
+ "name": "Mijanmar (Burma)"
+ },
+ "FM": {
+ "name": "Mikronezija"
+ },
+ "MD": {
+ "name": "Moldavija"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MN": {
+ "name": "Mongolija"
+ },
+ "MS": {
+ "name": "Monserat"
+ },
+ "MZ": {
+ "name": "Mozambik"
+ },
+ "NA": {
+ "name": "Namibija"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "DE": {
+ "name": "Nemačka"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigerija"
+ },
+ "NI": {
+ "name": "Nikaragva"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Norveška"
+ },
+ "NC": {
+ "name": "Nova Kaledonija"
+ },
+ "NZ": {
+ "name": "Novi Zeland"
+ },
+ "CI": {
+ "name": "Obala Slonovače"
+ },
+ "AX": {
+ "name": "Olandska Ostrva"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "TC": {
+ "name": "Ostrva Turks i Kaikos"
+ },
+ "AC": {
+ "name": "Ostrvo Asension"
+ },
+ "IM": {
+ "name": "Ostrvo Man"
+ },
+ "NF": {
+ "name": "Ostrvo Norfok"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palestinske teritorije"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua Nova Gvineja"
+ },
+ "PY": {
+ "name": "Paragvaj"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitkern"
+ },
+ "PL": {
+ "name": "Poljska"
+ },
+ "PR": {
+ "name": "Portoriko"
+ },
+ "PT": {
+ "name": "Portugalija"
+ },
+ "RE": {
+ "name": "Reinion"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RO": {
+ "name": "Rumunija"
+ },
+ "RU": {
+ "name": "Rusija"
+ },
+ "SV": {
+ "name": "Salvador"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "Sao Tome i Principe"
+ },
+ "HK": {
+ "name": "SAR Hongkong (Kina)"
+ },
+ "MO": {
+ "name": "SAR Makao (Kina)"
+ },
+ "SA": {
+ "name": "Saudijska Arabija"
+ },
+ "SC": {
+ "name": "Sejšeli"
+ },
+ "BL": {
+ "name": "Sen Bartelemi"
+ },
+ "PM": {
+ "name": "Sen Pjer i Mikelon"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "KN": {
+ "name": "Sent Kits i Nevis"
+ },
+ "VC": {
+ "name": "Sent Vinsent i Grenadini"
+ },
+ "EA": {
+ "name": "Seuta i Melilja"
+ },
+ "KP": {
+ "name": "Severna Koreja"
+ },
+ "MP": {
+ "name": "Severna Marijanska Ostrva"
+ },
+ "SL": {
+ "name": "Sijera Leone"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SY": {
+ "name": "Sirija"
+ },
+ "US": {
+ "name": "Sjedinjene Države"
+ },
+ "SK": {
+ "name": "Slovačka"
+ },
+ "SI": {
+ "name": "Slovenija"
+ },
+ "SB": {
+ "name": "Solomonska Ostrva"
+ },
+ "SO": {
+ "name": "Somalija"
+ },
+ "RS": {
+ "name": "Srbija"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SJ": {
+ "name": "Svalbard i Jan Majen"
+ },
+ "SZ": {
+ "name": "Svazilend"
+ },
+ "SH": {
+ "name": "Sveta Jelena"
+ },
+ "LC": {
+ "name": "Sveta Lucija"
+ },
+ "MF": {
+ "name": "Sveti Martin (Francuska)"
+ },
+ "SX": {
+ "name": "Sveti Martin (Holandija)"
+ },
+ "ES": {
+ "name": "Španija"
+ },
+ "LK": {
+ "name": "Šri Lanka"
+ },
+ "CH": {
+ "name": "Švajcarska"
+ },
+ "SE": {
+ "name": "Švedska"
+ },
+ "TJ": {
+ "name": "Tadžikistan"
+ },
+ "TH": {
+ "name": "Tajland"
+ },
+ "TW": {
+ "name": "Tajvan"
+ },
+ "TZ": {
+ "name": "Tanzanija"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad i Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Kunja"
+ },
+ "TN": {
+ "name": "Tunis"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TR": {
+ "name": "Turska"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "Udaljena ostrva SAD"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "AE": {
+ "name": "Ujedinjeni Arapski Emirati"
+ },
+ "GB": {
+ "name": "Ujedinjeno Kraljevstvo"
+ },
+ "UA": {
+ "name": "Ukrajina"
+ },
+ "UY": {
+ "name": "Urugvaj"
+ },
+ "UZ": {
+ "name": "Uzbekistan"
+ },
+ "WF": {
+ "name": "Valis i Futuna"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikan"
+ },
+ "VE": {
+ "name": "Venecuela"
+ },
+ "VN": {
+ "name": "Vijetnam"
+ },
+ "ZM": {
+ "name": "Zambija"
+ },
+ "EH": {
+ "name": "Zapadna Sahara"
+ },
+ "CV": {
+ "name": "Zelenortska Ostrva"
+ },
+ "ZW": {
+ "name": "Zimbabve"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/sr.json b/vendor/commerceguys/intl/resources/country/sr.json
new file mode 100644
index 000000000..afa92fbae
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/sr.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Авганистан"
+ },
+ "AZ": {
+ "name": "Азербејџан"
+ },
+ "AL": {
+ "name": "Албанија"
+ },
+ "DZ": {
+ "name": "Алжир"
+ },
+ "VI": {
+ "name": "Америчка Девичанска Острва"
+ },
+ "AS": {
+ "name": "Америчка Самоа"
+ },
+ "AI": {
+ "name": "Ангвила"
+ },
+ "AO": {
+ "name": "Ангола"
+ },
+ "AD": {
+ "name": "Андора"
+ },
+ "AQ": {
+ "name": "Антарктик"
+ },
+ "AG": {
+ "name": "Антигва и Барбуда"
+ },
+ "AR": {
+ "name": "Аргентина"
+ },
+ "AW": {
+ "name": "Аруба"
+ },
+ "AU": {
+ "name": "Аустралија"
+ },
+ "AT": {
+ "name": "Аустрија"
+ },
+ "BD": {
+ "name": "Бангладеш"
+ },
+ "BB": {
+ "name": "Барбадос"
+ },
+ "BS": {
+ "name": "Бахами"
+ },
+ "BH": {
+ "name": "Бахреин"
+ },
+ "BE": {
+ "name": "Белгија"
+ },
+ "BZ": {
+ "name": "Белизе"
+ },
+ "BY": {
+ "name": "Белорусија"
+ },
+ "BJ": {
+ "name": "Бенин"
+ },
+ "BM": {
+ "name": "Бермуда"
+ },
+ "CX": {
+ "name": "Божићно Острво"
+ },
+ "BO": {
+ "name": "Боливија"
+ },
+ "BA": {
+ "name": "Босна и Херцеговина"
+ },
+ "BW": {
+ "name": "Боцвана"
+ },
+ "BR": {
+ "name": "Бразил"
+ },
+ "VG": {
+ "name": "Британска Девичанска Острва"
+ },
+ "IO": {
+ "name": "Британска територија Индијског океана"
+ },
+ "BN": {
+ "name": "Брунеј"
+ },
+ "BG": {
+ "name": "Бугарска"
+ },
+ "BF": {
+ "name": "Буркина Фасо"
+ },
+ "BI": {
+ "name": "Бурунди"
+ },
+ "BT": {
+ "name": "Бутан"
+ },
+ "WF": {
+ "name": "Валис и Футуна"
+ },
+ "VU": {
+ "name": "Вануату"
+ },
+ "VA": {
+ "name": "Ватикан"
+ },
+ "VE": {
+ "name": "Венецуела"
+ },
+ "VN": {
+ "name": "Вијетнам"
+ },
+ "GA": {
+ "name": "Габон"
+ },
+ "GM": {
+ "name": "Гамбија"
+ },
+ "GH": {
+ "name": "Гана"
+ },
+ "GP": {
+ "name": "Гваделуп"
+ },
+ "GY": {
+ "name": "Гвајана"
+ },
+ "GT": {
+ "name": "Гватемала"
+ },
+ "GN": {
+ "name": "Гвинеја"
+ },
+ "GW": {
+ "name": "Гвинеја-Бисао"
+ },
+ "GG": {
+ "name": "Гернзи"
+ },
+ "GI": {
+ "name": "Гибралтар"
+ },
+ "GD": {
+ "name": "Гренада"
+ },
+ "GL": {
+ "name": "Гренланд"
+ },
+ "GE": {
+ "name": "Грузија"
+ },
+ "GR": {
+ "name": "Грчка"
+ },
+ "GU": {
+ "name": "Гуам"
+ },
+ "DK": {
+ "name": "Данска"
+ },
+ "DG": {
+ "name": "Дијего Гарсија"
+ },
+ "DM": {
+ "name": "Доминика"
+ },
+ "DO": {
+ "name": "Доминиканска Република"
+ },
+ "EG": {
+ "name": "Египат"
+ },
+ "EC": {
+ "name": "Еквадор"
+ },
+ "GQ": {
+ "name": "Екваторијална Гвинеја"
+ },
+ "ER": {
+ "name": "Еритреја"
+ },
+ "EE": {
+ "name": "Естонија"
+ },
+ "ET": {
+ "name": "Етиопија"
+ },
+ "ZM": {
+ "name": "Замбија"
+ },
+ "EH": {
+ "name": "Западна Сахара"
+ },
+ "CV": {
+ "name": "Зеленортска Острва"
+ },
+ "ZW": {
+ "name": "Зимбабве"
+ },
+ "IL": {
+ "name": "Израел"
+ },
+ "IN": {
+ "name": "Индија"
+ },
+ "ID": {
+ "name": "Индонезија"
+ },
+ "IQ": {
+ "name": "Ирак"
+ },
+ "IR": {
+ "name": "Иран"
+ },
+ "IE": {
+ "name": "Ирска"
+ },
+ "IS": {
+ "name": "Исланд"
+ },
+ "TL": {
+ "name": "Источни Тимор"
+ },
+ "IT": {
+ "name": "Италија"
+ },
+ "JM": {
+ "name": "Јамајка"
+ },
+ "JP": {
+ "name": "Јапан"
+ },
+ "YE": {
+ "name": "Јемен"
+ },
+ "AM": {
+ "name": "Јерменија"
+ },
+ "JO": {
+ "name": "Јордан"
+ },
+ "KR": {
+ "name": "Јужна Кореја"
+ },
+ "GS": {
+ "name": "Јужна Џорџија и Јужна Сендвичка Острва"
+ },
+ "SS": {
+ "name": "Јужни Судан"
+ },
+ "ZA": {
+ "name": "Јужноафричка Република"
+ },
+ "KZ": {
+ "name": "Казахстан"
+ },
+ "KY": {
+ "name": "Кајманска Острва"
+ },
+ "KH": {
+ "name": "Камбоџа"
+ },
+ "CM": {
+ "name": "Камерун"
+ },
+ "CA": {
+ "name": "Канада"
+ },
+ "IC": {
+ "name": "Канарска Острва"
+ },
+ "BQ": {
+ "name": "Карипска Холандија"
+ },
+ "QA": {
+ "name": "Катар"
+ },
+ "KE": {
+ "name": "Кенија"
+ },
+ "CN": {
+ "name": "Кина"
+ },
+ "CY": {
+ "name": "Кипар"
+ },
+ "KG": {
+ "name": "Киргистан"
+ },
+ "KI": {
+ "name": "Кирибати"
+ },
+ "CC": {
+ "name": "Кокосова (Килингова) Острва"
+ },
+ "CO": {
+ "name": "Колумбија"
+ },
+ "KM": {
+ "name": "Коморска Острва"
+ },
+ "CG": {
+ "name": "Конго - Бразавил"
+ },
+ "CD": {
+ "name": "Конго - Киншаса"
+ },
+ "XK": {
+ "name": "Косово"
+ },
+ "CR": {
+ "name": "Костарика"
+ },
+ "CU": {
+ "name": "Куба"
+ },
+ "KW": {
+ "name": "Кувајт"
+ },
+ "CK": {
+ "name": "Кукова Острва"
+ },
+ "CW": {
+ "name": "Курасао"
+ },
+ "LA": {
+ "name": "Лаос"
+ },
+ "LS": {
+ "name": "Лесото"
+ },
+ "LV": {
+ "name": "Летонија"
+ },
+ "LB": {
+ "name": "Либан"
+ },
+ "LR": {
+ "name": "Либерија"
+ },
+ "LY": {
+ "name": "Либија"
+ },
+ "LT": {
+ "name": "Литванија"
+ },
+ "LI": {
+ "name": "Лихтенштајн"
+ },
+ "LU": {
+ "name": "Луксембург"
+ },
+ "MG": {
+ "name": "Мадагаскар"
+ },
+ "HU": {
+ "name": "Мађарска"
+ },
+ "YT": {
+ "name": "Мајот"
+ },
+ "MK": {
+ "name": "Македонија"
+ },
+ "MW": {
+ "name": "Малави"
+ },
+ "MV": {
+ "name": "Малдиви"
+ },
+ "MY": {
+ "name": "Малезија"
+ },
+ "ML": {
+ "name": "Мали"
+ },
+ "MT": {
+ "name": "Малта"
+ },
+ "MA": {
+ "name": "Мароко"
+ },
+ "MQ": {
+ "name": "Мартиник"
+ },
+ "MH": {
+ "name": "Маршалска Острва"
+ },
+ "MR": {
+ "name": "Мауританија"
+ },
+ "MU": {
+ "name": "Маурицијус"
+ },
+ "MX": {
+ "name": "Мексико"
+ },
+ "MM": {
+ "name": "Мијанмар (Бурма)"
+ },
+ "FM": {
+ "name": "Микронезија"
+ },
+ "MZ": {
+ "name": "Мозамбик"
+ },
+ "MD": {
+ "name": "Молдавија"
+ },
+ "MC": {
+ "name": "Монако"
+ },
+ "MN": {
+ "name": "Монголија"
+ },
+ "MS": {
+ "name": "Монсерат"
+ },
+ "NA": {
+ "name": "Намибија"
+ },
+ "NR": {
+ "name": "Науру"
+ },
+ "DE": {
+ "name": "Немачка"
+ },
+ "NP": {
+ "name": "Непал"
+ },
+ "NE": {
+ "name": "Нигер"
+ },
+ "NG": {
+ "name": "Нигерија"
+ },
+ "NI": {
+ "name": "Никарагва"
+ },
+ "NU": {
+ "name": "Ниуе"
+ },
+ "NC": {
+ "name": "Нова Каледонија"
+ },
+ "NZ": {
+ "name": "Нови Зеланд"
+ },
+ "NO": {
+ "name": "Норвешка"
+ },
+ "CI": {
+ "name": "Обала Слоноваче"
+ },
+ "AX": {
+ "name": "Оландска Острва"
+ },
+ "OM": {
+ "name": "Оман"
+ },
+ "TC": {
+ "name": "Острва Туркс и Каикос"
+ },
+ "AC": {
+ "name": "Острво Асенсион"
+ },
+ "IM": {
+ "name": "Острво Ман"
+ },
+ "NF": {
+ "name": "Острво Норфок"
+ },
+ "PK": {
+ "name": "Пакистан"
+ },
+ "PW": {
+ "name": "Палау"
+ },
+ "PS": {
+ "name": "Палестинске територије"
+ },
+ "PA": {
+ "name": "Панама"
+ },
+ "PG": {
+ "name": "Папуа Нова Гвинеја"
+ },
+ "PY": {
+ "name": "Парагвај"
+ },
+ "PE": {
+ "name": "Перу"
+ },
+ "PN": {
+ "name": "Питкерн"
+ },
+ "PL": {
+ "name": "Пољска"
+ },
+ "PR": {
+ "name": "Порторико"
+ },
+ "PT": {
+ "name": "Португалија"
+ },
+ "RE": {
+ "name": "Реинион"
+ },
+ "RW": {
+ "name": "Руанда"
+ },
+ "RO": {
+ "name": "Румунија"
+ },
+ "RU": {
+ "name": "Русија"
+ },
+ "SV": {
+ "name": "Салвадор"
+ },
+ "WS": {
+ "name": "Самоа"
+ },
+ "SM": {
+ "name": "Сан Марино"
+ },
+ "ST": {
+ "name": "Сао Томе и Принципе"
+ },
+ "MO": {
+ "name": "САР Макао (Кина)"
+ },
+ "HK": {
+ "name": "САР Хонгконг (Кина)"
+ },
+ "SA": {
+ "name": "Саудијска Арабија"
+ },
+ "SZ": {
+ "name": "Свазиленд"
+ },
+ "SJ": {
+ "name": "Свалбард и Јан Мајен"
+ },
+ "SH": {
+ "name": "Света Јелена"
+ },
+ "LC": {
+ "name": "Света Луција"
+ },
+ "MF": {
+ "name": "Свети Мартин (Француска)"
+ },
+ "SX": {
+ "name": "Свети Мартин (Холандија)"
+ },
+ "KP": {
+ "name": "Северна Кореја"
+ },
+ "MP": {
+ "name": "Северна Маријанска Острва"
+ },
+ "SC": {
+ "name": "Сејшели"
+ },
+ "BL": {
+ "name": "Сен Бартелеми"
+ },
+ "PM": {
+ "name": "Сен Пјер и Микелон"
+ },
+ "SN": {
+ "name": "Сенегал"
+ },
+ "VC": {
+ "name": "Сент Винсент и Гренадини"
+ },
+ "KN": {
+ "name": "Сент Китс и Невис"
+ },
+ "EA": {
+ "name": "Сеута и Мелиља"
+ },
+ "SL": {
+ "name": "Сијера Леоне"
+ },
+ "SG": {
+ "name": "Сингапур"
+ },
+ "SY": {
+ "name": "Сирија"
+ },
+ "US": {
+ "name": "Сједињене Државе"
+ },
+ "SK": {
+ "name": "Словачка"
+ },
+ "SI": {
+ "name": "Словенија"
+ },
+ "SB": {
+ "name": "Соломонска Острва"
+ },
+ "SO": {
+ "name": "Сомалија"
+ },
+ "RS": {
+ "name": "Србија"
+ },
+ "SD": {
+ "name": "Судан"
+ },
+ "SR": {
+ "name": "Суринам"
+ },
+ "TW": {
+ "name": "Тајван"
+ },
+ "TH": {
+ "name": "Тајланд"
+ },
+ "TZ": {
+ "name": "Танзанија"
+ },
+ "TJ": {
+ "name": "Таџикистан"
+ },
+ "TG": {
+ "name": "Того"
+ },
+ "TK": {
+ "name": "Токелау"
+ },
+ "TO": {
+ "name": "Тонга"
+ },
+ "TT": {
+ "name": "Тринидад и Тобаго"
+ },
+ "TA": {
+ "name": "Тристан да Куња"
+ },
+ "TV": {
+ "name": "Тувалу"
+ },
+ "TN": {
+ "name": "Тунис"
+ },
+ "TM": {
+ "name": "Туркменистан"
+ },
+ "TR": {
+ "name": "Турска"
+ },
+ "UG": {
+ "name": "Уганда"
+ },
+ "UM": {
+ "name": "Удаљена острва САД"
+ },
+ "UZ": {
+ "name": "Узбекистан"
+ },
+ "AE": {
+ "name": "Уједињени Арапски Емирати"
+ },
+ "GB": {
+ "name": "Уједињено Краљевство"
+ },
+ "UA": {
+ "name": "Украјина"
+ },
+ "UY": {
+ "name": "Уругвај"
+ },
+ "FO": {
+ "name": "Фарска Острва"
+ },
+ "PH": {
+ "name": "Филипини"
+ },
+ "FI": {
+ "name": "Финска"
+ },
+ "FJ": {
+ "name": "Фиџи"
+ },
+ "FK": {
+ "name": "Фокландска Острва"
+ },
+ "FR": {
+ "name": "Француска"
+ },
+ "GF": {
+ "name": "Француска Гвајана"
+ },
+ "PF": {
+ "name": "Француска Полинезија"
+ },
+ "TF": {
+ "name": "Француске Јужне Територије"
+ },
+ "HT": {
+ "name": "Хаити"
+ },
+ "NL": {
+ "name": "Холандија"
+ },
+ "HN": {
+ "name": "Хондурас"
+ },
+ "HR": {
+ "name": "Хрватска"
+ },
+ "CF": {
+ "name": "Централноафричка Република"
+ },
+ "ME": {
+ "name": "Црна Гора"
+ },
+ "TD": {
+ "name": "Чад"
+ },
+ "CZ": {
+ "name": "Чешка"
+ },
+ "CL": {
+ "name": "Чиле"
+ },
+ "JE": {
+ "name": "Џерзи"
+ },
+ "DJ": {
+ "name": "Џибути"
+ },
+ "CH": {
+ "name": "Швајцарска"
+ },
+ "SE": {
+ "name": "Шведска"
+ },
+ "ES": {
+ "name": "Шпанија"
+ },
+ "LK": {
+ "name": "Шри Ланка"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/sv.json b/vendor/commerceguys/intl/resources/country/sv.json
new file mode 100644
index 000000000..e501865cd
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/sv.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afghanistan"
+ },
+ "AL": {
+ "name": "Albanien"
+ },
+ "DZ": {
+ "name": "Algeriet"
+ },
+ "VI": {
+ "name": "Amerikanska Jungfruöarna"
+ },
+ "AS": {
+ "name": "Amerikanska Samoa"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarktis"
+ },
+ "AG": {
+ "name": "Antigua och Barbuda"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenien"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension"
+ },
+ "AU": {
+ "name": "Australien"
+ },
+ "AZ": {
+ "name": "Azerbajdzjan"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahrain"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BE": {
+ "name": "Belgien"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnien och Hercegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brasilien"
+ },
+ "VG": {
+ "name": "Brittiska Jungfruöarna"
+ },
+ "IO": {
+ "name": "Brittiska territoriet i Indiska oceanen"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgarien"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "KY": {
+ "name": "Caymanöarna"
+ },
+ "CF": {
+ "name": "Centralafrikanska republiken"
+ },
+ "EA": {
+ "name": "Ceuta och Melilla"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CO": {
+ "name": "Colombia"
+ },
+ "CK": {
+ "name": "Cooköarna"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "CY": {
+ "name": "Cypern"
+ },
+ "DK": {
+ "name": "Danmark"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DJ": {
+ "name": "Djibouti"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "DO": {
+ "name": "Dominikanska republiken"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egypten"
+ },
+ "GQ": {
+ "name": "Ekvatorialguinea"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "CI": {
+ "name": "Elfenbenskusten"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estland"
+ },
+ "ET": {
+ "name": "Etiopien"
+ },
+ "FK": {
+ "name": "Falklandsöarna"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filippinerna"
+ },
+ "FI": {
+ "name": "Finland"
+ },
+ "FR": {
+ "name": "Frankrike"
+ },
+ "GF": {
+ "name": "Franska Guyana"
+ },
+ "PF": {
+ "name": "Franska Polynesien"
+ },
+ "TF": {
+ "name": "Franska sydterritorierna"
+ },
+ "FO": {
+ "name": "Färöarna"
+ },
+ "AE": {
+ "name": "Förenade Arabemiraten"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgien"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GR": {
+ "name": "Grekland"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GL": {
+ "name": "Grönland"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GW": {
+ "name": "Guinea-Bissau"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hongkong, S.A.R. Kina"
+ },
+ "IN": {
+ "name": "Indien"
+ },
+ "ID": {
+ "name": "Indonesien"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IE": {
+ "name": "Irland"
+ },
+ "IS": {
+ "name": "Island"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italien"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japan"
+ },
+ "YE": {
+ "name": "Jemen"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordanien"
+ },
+ "CX": {
+ "name": "Julön"
+ },
+ "KH": {
+ "name": "Kambodja"
+ },
+ "CM": {
+ "name": "Kamerun"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "IC": {
+ "name": "Kanarieöarna"
+ },
+ "CV": {
+ "name": "Kap Verde"
+ },
+ "BQ": {
+ "name": "Karibiska Nederländerna"
+ },
+ "KZ": {
+ "name": "Kazakstan"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "CN": {
+ "name": "Kina"
+ },
+ "KG": {
+ "name": "Kirgizistan"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "CC": {
+ "name": "Kokosöarna"
+ },
+ "KM": {
+ "name": "Komorerna"
+ },
+ "CG": {
+ "name": "Kongo-Brazzaville"
+ },
+ "CD": {
+ "name": "Kongo-Kinshasa"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "HR": {
+ "name": "Kroatien"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LV": {
+ "name": "Lettland"
+ },
+ "LB": {
+ "name": "Libanon"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libyen"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Litauen"
+ },
+ "LU": {
+ "name": "Luxemburg"
+ },
+ "MO": {
+ "name": "Macao, S.A.R. Kina"
+ },
+ "MG": {
+ "name": "Madagaskar"
+ },
+ "MK": {
+ "name": "Makedonien"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malaysia"
+ },
+ "MV": {
+ "name": "Maldiverna"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marocko"
+ },
+ "MH": {
+ "name": "Marshallöarna"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MR": {
+ "name": "Mauretanien"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Mexiko"
+ },
+ "FM": {
+ "name": "Mikronesien"
+ },
+ "MZ": {
+ "name": "Moçambique"
+ },
+ "MD": {
+ "name": "Moldavien"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongoliet"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MM": {
+ "name": "Myanmar (Burma)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NL": {
+ "name": "Nederländerna"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "KP": {
+ "name": "Nordkorea"
+ },
+ "MP": {
+ "name": "Nordmarianerna"
+ },
+ "NF": {
+ "name": "Norfolkön"
+ },
+ "NO": {
+ "name": "Norge"
+ },
+ "NC": {
+ "name": "Nya Kaledonien"
+ },
+ "NZ": {
+ "name": "Nya Zeeland"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palestinska territorierna"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua Nya Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitcairnöarna"
+ },
+ "PL": {
+ "name": "Polen"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "QA": {
+ "name": "Qatar"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RO": {
+ "name": "Rumänien"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "RU": {
+ "name": "Ryssland"
+ },
+ "BL": {
+ "name": "S:t Barthélemy"
+ },
+ "SH": {
+ "name": "S:t Helena"
+ },
+ "KN": {
+ "name": "S:t Kitts och Nevis"
+ },
+ "LC": {
+ "name": "S:t Lucia"
+ },
+ "PM": {
+ "name": "S:t Pierre och Miquelon"
+ },
+ "VC": {
+ "name": "S:t Vincent och Grenadinerna"
+ },
+ "MF": {
+ "name": "Saint-Martin"
+ },
+ "SB": {
+ "name": "Salomonöarna"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "São Tomé och Príncipe"
+ },
+ "SA": {
+ "name": "Saudiarabien"
+ },
+ "CH": {
+ "name": "Schweiz"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbien"
+ },
+ "SC": {
+ "name": "Seychellerna"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapore"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SK": {
+ "name": "Slovakien"
+ },
+ "SI": {
+ "name": "Slovenien"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "ES": {
+ "name": "Spanien"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "GB": {
+ "name": "Storbritannien"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SJ": {
+ "name": "Svalbard och Jan Mayen"
+ },
+ "SE": {
+ "name": "Sverige"
+ },
+ "SZ": {
+ "name": "Swaziland"
+ },
+ "ZA": {
+ "name": "Sydafrika"
+ },
+ "GS": {
+ "name": "Sydgeorgien och Sydsandwichöarna"
+ },
+ "KR": {
+ "name": "Sydkorea"
+ },
+ "SS": {
+ "name": "Sydsudan"
+ },
+ "SY": {
+ "name": "Syrien"
+ },
+ "TJ": {
+ "name": "Tadzjikistan"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TD": {
+ "name": "Tchad"
+ },
+ "TH": {
+ "name": "Thailand"
+ },
+ "CZ": {
+ "name": "Tjeckien"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad och Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisien"
+ },
+ "TR": {
+ "name": "Turkiet"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TC": {
+ "name": "Turks- och Caicosöarna"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "DE": {
+ "name": "Tyskland"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukraina"
+ },
+ "HU": {
+ "name": "Ungern"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "US": {
+ "name": "USA"
+ },
+ "UM": {
+ "name": "USA:s yttre öar"
+ },
+ "UZ": {
+ "name": "Uzbekistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikanstaten"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "BY": {
+ "name": "Vitryssland"
+ },
+ "EH": {
+ "name": "Västsahara"
+ },
+ "WF": {
+ "name": "Wallis- och Futunaöarna"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ },
+ "AX": {
+ "name": "Åland"
+ },
+ "AT": {
+ "name": "Österrike"
+ },
+ "TL": {
+ "name": "Östtimor"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/sw-CD.json b/vendor/commerceguys/intl/resources/country/sw-CD.json
new file mode 100644
index 000000000..0ecd33e6c
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/sw-CD.json
@@ -0,0 +1,761 @@
+{
+ "ZA": {
+ "name": "Afrika Kusini"
+ },
+ "AF": {
+ "name": "Afuganistani"
+ },
+ "IS": {
+ "name": "Aislandi"
+ },
+ "AR": {
+ "name": "Ajentina"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Aljeria"
+ },
+ "AD": {
+ "name": "Andora"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antaktika"
+ },
+ "AG": {
+ "name": "Antigua na Barbuda"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "IE": {
+ "name": "Ayalandi"
+ },
+ "AZ": {
+ "name": "Azabajani"
+ },
+ "BB": {
+ "name": "Babadosi"
+ },
+ "BS": {
+ "name": "Bahama"
+ },
+ "BH": {
+ "name": "Bahareni"
+ },
+ "BD": {
+ "name": "Bangladeshi"
+ },
+ "BY": {
+ "name": "Belarusi"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benini"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia na Hezegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brazili"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BF": {
+ "name": "Bukinafaso"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "CV": {
+ "name": "Cape Verde"
+ },
+ "EA": {
+ "name": "Ceuta na Melilla"
+ },
+ "TD": {
+ "name": "Chadi"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "DK": {
+ "name": "Denmaki"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "EC": {
+ "name": "Ekwado"
+ },
+ "SV": {
+ "name": "Elsavado"
+ },
+ "IO": {
+ "name": "Eneo la Uingereza katika Bahari Hindi"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Ethiopia"
+ },
+ "AE": {
+ "name": "Falme za Kiarabu"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GN": {
+ "name": "Gine"
+ },
+ "GW": {
+ "name": "Ginebisau"
+ },
+ "GQ": {
+ "name": "Ginekweta"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GL": {
+ "name": "Grinlandi"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "GF": {
+ "name": "Gwiyana ya Ufaransa"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "ES": {
+ "name": "Hispania"
+ },
+ "HN": {
+ "name": "Hondurasi"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hungaria"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IQ": {
+ "name": "Iraki"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israeli"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JM": {
+ "name": "Jamaika"
+ },
+ "CF": {
+ "name": "Jamhuri ya Afrika ya Kati"
+ },
+ "CZ": {
+ "name": "Jamhuri ya Cheki"
+ },
+ "DO": {
+ "name": "Jamhuri ya Dominika"
+ },
+ "CD": {
+ "name": "Jamhuri ya Kidemokrasia ya Kongo"
+ },
+ "JP": {
+ "name": "Japani"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "GI": {
+ "name": "Jibralta"
+ },
+ "DJ": {
+ "name": "Jibuti"
+ },
+ "GE": {
+ "name": "Jojia"
+ },
+ "GS": {
+ "name": "Jojia Kusini na Visiwa vya Sandwich Kusini"
+ },
+ "KH": {
+ "name": "Kambodia"
+ },
+ "CM": {
+ "name": "Kameruni"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "QA": {
+ "name": "Katari"
+ },
+ "KZ": {
+ "name": "Kazakistani"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "KG": {
+ "name": "Kirigizistani"
+ },
+ "AC": {
+ "name": "Kisiwa cha Ascension"
+ },
+ "CX": {
+ "name": "Kisiwa cha Christmas"
+ },
+ "NF": {
+ "name": "Kisiwa cha Norfolk"
+ },
+ "CI": {
+ "name": "Kodivaa"
+ },
+ "CO": {
+ "name": "Kolombia"
+ },
+ "KM": {
+ "name": "Komoro"
+ },
+ "CG": {
+ "name": "Kongo - Brazzaville"
+ },
+ "KP": {
+ "name": "Korea Kaskazini"
+ },
+ "KR": {
+ "name": "Korea Kusini"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "Kostarika"
+ },
+ "HR": {
+ "name": "Kroeshia"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "CW": {
+ "name": "Kurakao"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laosi"
+ },
+ "LU": {
+ "name": "Lasembagi"
+ },
+ "LV": {
+ "name": "Lativia"
+ },
+ "LB": {
+ "name": "Lebanoni"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Lishenteni"
+ },
+ "LT": {
+ "name": "Lithuania"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagaska"
+ },
+ "TF": {
+ "name": "Maeneo ya Kusini ya Ufaransa"
+ },
+ "PS": {
+ "name": "Maeneo ya Palestina"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MV": {
+ "name": "Maldivi"
+ },
+ "MY": {
+ "name": "Malesia"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "US": {
+ "name": "Marekani"
+ },
+ "MQ": {
+ "name": "Martiniki"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Meksiko"
+ },
+ "FM": {
+ "name": "Mikronesia"
+ },
+ "EG": {
+ "name": "Misri"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrati"
+ },
+ "MU": {
+ "name": "Morisi"
+ },
+ "MR": {
+ "name": "Moritania"
+ },
+ "MA": {
+ "name": "Moroko"
+ },
+ "MZ": {
+ "name": "Msumbiji"
+ },
+ "MM": {
+ "name": "Myama"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepali"
+ },
+ "NE": {
+ "name": "Nijeri"
+ },
+ "NG": {
+ "name": "Nijeria"
+ },
+ "NI": {
+ "name": "Nikaragwa"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Norwe"
+ },
+ "NC": {
+ "name": "Nyukaledonia"
+ },
+ "NZ": {
+ "name": "Nyuzilandi"
+ },
+ "OM": {
+ "name": "Omani"
+ },
+ "PK": {
+ "name": "Pakistani"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua New Guinea"
+ },
+ "PY": {
+ "name": "Paragwai"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PL": {
+ "name": "Polandi"
+ },
+ "PF": {
+ "name": "Polinesia ya Ufaransa"
+ },
+ "PR": {
+ "name": "Puetoriko"
+ },
+ "RE": {
+ "name": "Riyunioni"
+ },
+ "RO": {
+ "name": "Romania"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "EH": {
+ "name": "Sahara Magharibi"
+ },
+ "MF": {
+ "name": "Saint Martin"
+ },
+ "CY": {
+ "name": "Saiprasi"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa ya Marekani"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "BL": {
+ "name": "Santabathelemi"
+ },
+ "SH": {
+ "name": "Santahelena"
+ },
+ "KN": {
+ "name": "Santakitzi na Nevis"
+ },
+ "LC": {
+ "name": "Santalusia"
+ },
+ "PM": {
+ "name": "Santapierre na Miquelon"
+ },
+ "VC": {
+ "name": "Santavisenti na Grenadini"
+ },
+ "ST": {
+ "name": "Sao Tome na Prinsipe"
+ },
+ "SA": {
+ "name": "Saudia"
+ },
+ "SN": {
+ "name": "Senegali"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SL": {
+ "name": "Siera Leoni"
+ },
+ "SG": {
+ "name": "Singapore"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "SS": {
+ "name": "Sudan Kusini"
+ },
+ "SD": {
+ "name": "Sudani"
+ },
+ "SR": {
+ "name": "Surinamu"
+ },
+ "SJ": {
+ "name": "Svalbard na Jan Mayen"
+ },
+ "SY": {
+ "name": "Syria"
+ },
+ "TH": {
+ "name": "Tailandi"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TJ": {
+ "name": "Tajikistani"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TL": {
+ "name": "Timori ya Mashariki"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad na Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TM": {
+ "name": "Turukimenistani"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "BE": {
+ "name": "Ubelgiji"
+ },
+ "FR": {
+ "name": "Ufaransa"
+ },
+ "PH": {
+ "name": "Ufilipino"
+ },
+ "FI": {
+ "name": "Ufini"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "GR": {
+ "name": "Ugiriki"
+ },
+ "NL": {
+ "name": "Uholanzi"
+ },
+ "BQ": {
+ "name": "Uholanzi ya Karibiani"
+ },
+ "GB": {
+ "name": "Uingereza"
+ },
+ "DE": {
+ "name": "Ujerumani"
+ },
+ "UA": {
+ "name": "Ukraine"
+ },
+ "PT": {
+ "name": "Ureno"
+ },
+ "UY": {
+ "name": "Urugwai"
+ },
+ "RU": {
+ "name": "Urusi"
+ },
+ "SC": {
+ "name": "Ushelisheli"
+ },
+ "SZ": {
+ "name": "Uswazi"
+ },
+ "SE": {
+ "name": "Uswidi"
+ },
+ "CH": {
+ "name": "Uswisi"
+ },
+ "TR": {
+ "name": "Uturuki"
+ },
+ "UZ": {
+ "name": "Uzibekistani"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikani"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnamu"
+ },
+ "UM": {
+ "name": "Visiwa Vidogo vya Nje vya Marekani"
+ },
+ "AX": {
+ "name": "Visiwa vya Alandi"
+ },
+ "CC": {
+ "name": "Visiwa vya Cocos (Keeling)"
+ },
+ "CK": {
+ "name": "Visiwa vya Cook"
+ },
+ "FK": {
+ "name": "Visiwa vya Falkland"
+ },
+ "FO": {
+ "name": "Visiwa vya Faroe"
+ },
+ "IC": {
+ "name": "Visiwa vya Kanari"
+ },
+ "KY": {
+ "name": "Visiwa vya Kayman"
+ },
+ "MP": {
+ "name": "Visiwa vya Mariana vya Kaskazini"
+ },
+ "MH": {
+ "name": "Visiwa vya Marshall"
+ },
+ "PN": {
+ "name": "Visiwa vya Pitcairn"
+ },
+ "SB": {
+ "name": "Visiwa vya Solomon"
+ },
+ "TC": {
+ "name": "Visiwa vya Turki na Kaiko"
+ },
+ "VI": {
+ "name": "Visiwa vya Virgin vya Marekani"
+ },
+ "VG": {
+ "name": "Visiwa vya Virgin vya Uingereza"
+ },
+ "WF": {
+ "name": "Walis na Futuna"
+ },
+ "YE": {
+ "name": "Yemeni"
+ },
+ "JO": {
+ "name": "Yordani"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/sw-KE.json b/vendor/commerceguys/intl/resources/country/sw-KE.json
new file mode 100644
index 000000000..bcd7a4003
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/sw-KE.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afghanistan"
+ },
+ "ZA": {
+ "name": "Afrika Kusini"
+ },
+ "IS": {
+ "name": "Aislandi"
+ },
+ "AR": {
+ "name": "Ajentina"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Aljeria"
+ },
+ "AD": {
+ "name": "Andora"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antaktika"
+ },
+ "AG": {
+ "name": "Antigua na Barbuda"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "IE": {
+ "name": "Ayalandi"
+ },
+ "AZ": {
+ "name": "Azabajani"
+ },
+ "BB": {
+ "name": "Babadosi"
+ },
+ "BS": {
+ "name": "Bahama"
+ },
+ "BH": {
+ "name": "Bahareni"
+ },
+ "BD": {
+ "name": "Bangladeshi"
+ },
+ "BY": {
+ "name": "Belarusi"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia na Hezegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brazili"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BF": {
+ "name": "Bukinafaso"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "CV": {
+ "name": "Cape Verde"
+ },
+ "EA": {
+ "name": "Ceuta na Melilla"
+ },
+ "TD": {
+ "name": "Chadi"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "DK": {
+ "name": "Denmark"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "EC": {
+ "name": "Ekwado"
+ },
+ "SV": {
+ "name": "Elsavado"
+ },
+ "IO": {
+ "name": "Eneo la Uingereza katika Bahari Hindi"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Ethiopia"
+ },
+ "AE": {
+ "name": "Falme za Kiarabu"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GN": {
+ "name": "Gine"
+ },
+ "GW": {
+ "name": "Ginebisau"
+ },
+ "GQ": {
+ "name": "Ginekweta"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GL": {
+ "name": "Grinlandi"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "GP": {
+ "name": "Gwadelupe"
+ },
+ "GF": {
+ "name": "Gwiyana ya Ufaransa"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "ES": {
+ "name": "Hispania"
+ },
+ "HN": {
+ "name": "Hondurasi"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hungaria"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IQ": {
+ "name": "Iraki"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israeli"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "CI": {
+ "name": "Ivorikosti"
+ },
+ "JM": {
+ "name": "Jamaika"
+ },
+ "CF": {
+ "name": "Jamhuri ya Afrika ya Kati"
+ },
+ "CZ": {
+ "name": "Jamhuri ya Cheki"
+ },
+ "DO": {
+ "name": "Jamhuri ya Dominika"
+ },
+ "CD": {
+ "name": "Jamhuri ya Kidemokrasia ya Kongo"
+ },
+ "JP": {
+ "name": "Japani"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "GI": {
+ "name": "Jibralta"
+ },
+ "DJ": {
+ "name": "Jibuti"
+ },
+ "GE": {
+ "name": "Jojia"
+ },
+ "GS": {
+ "name": "Jojia Kusini na Visiwa vya Sandwich Kusini"
+ },
+ "KH": {
+ "name": "Kambodia"
+ },
+ "CM": {
+ "name": "Kameruni"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "QA": {
+ "name": "Katari"
+ },
+ "KZ": {
+ "name": "Kazakistani"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "KG": {
+ "name": "Kirigizistani"
+ },
+ "AC": {
+ "name": "Kisiwa cha Ascension"
+ },
+ "CX": {
+ "name": "Kisiwa cha Christmas"
+ },
+ "NF": {
+ "name": "Kisiwa cha Norfolk"
+ },
+ "CO": {
+ "name": "Kolombia"
+ },
+ "KM": {
+ "name": "Komoro"
+ },
+ "CG": {
+ "name": "Kongo - Brazzaville"
+ },
+ "HR": {
+ "name": "Korasia"
+ },
+ "KP": {
+ "name": "Korea Kaskazini"
+ },
+ "KR": {
+ "name": "Korea Kusini"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "Kostarika"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "CW": {
+ "name": "Kurakao"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laosi"
+ },
+ "LU": {
+ "name": "Lasembagi"
+ },
+ "LV": {
+ "name": "Lativia"
+ },
+ "LB": {
+ "name": "Lebanoni"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Lishtensteni"
+ },
+ "LT": {
+ "name": "Lithuania"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagaska"
+ },
+ "TF": {
+ "name": "Maeneo ya Kusini ya Ufaransa"
+ },
+ "PS": {
+ "name": "Maeneo ya Palestina"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MV": {
+ "name": "Maldivi"
+ },
+ "MY": {
+ "name": "Malesia"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "US": {
+ "name": "Marekani"
+ },
+ "MQ": {
+ "name": "Martiniki"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Meksiko"
+ },
+ "FM": {
+ "name": "Mikronesia"
+ },
+ "EG": {
+ "name": "Misri"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrati"
+ },
+ "MU": {
+ "name": "Morisi"
+ },
+ "MR": {
+ "name": "Moritania"
+ },
+ "MA": {
+ "name": "Morocco"
+ },
+ "MZ": {
+ "name": "Msumbiji"
+ },
+ "MM": {
+ "name": "Myanmar (Burma)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepali"
+ },
+ "NE": {
+ "name": "Nijer"
+ },
+ "NG": {
+ "name": "Nijeria"
+ },
+ "NI": {
+ "name": "Nikaragwa"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Norwe"
+ },
+ "NC": {
+ "name": "Nyukaledonia"
+ },
+ "NZ": {
+ "name": "Nyuzilandi"
+ },
+ "OM": {
+ "name": "Omani"
+ },
+ "PK": {
+ "name": "Pakistani"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua New Guinea"
+ },
+ "PY": {
+ "name": "Paragwai"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PL": {
+ "name": "Polandi"
+ },
+ "PF": {
+ "name": "Polinesia ya Ufaransa"
+ },
+ "PR": {
+ "name": "Puetoriko"
+ },
+ "RE": {
+ "name": "Riyunioni"
+ },
+ "RO": {
+ "name": "Romania"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "EH": {
+ "name": "Sahara Magharibi"
+ },
+ "MF": {
+ "name": "Saint Martin"
+ },
+ "CY": {
+ "name": "Saiprasi"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa ya Marekani"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "BL": {
+ "name": "Santabathelemi"
+ },
+ "SH": {
+ "name": "Santahelena"
+ },
+ "KN": {
+ "name": "Santakitzi na Nevis"
+ },
+ "LC": {
+ "name": "Santalusia"
+ },
+ "PM": {
+ "name": "Santapierre na Miquelon"
+ },
+ "VC": {
+ "name": "Santavisenti na Grenadini"
+ },
+ "ST": {
+ "name": "Sao Tome na Prinsipe"
+ },
+ "SA": {
+ "name": "Saudia"
+ },
+ "SN": {
+ "name": "Senegali"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SL": {
+ "name": "Siera Leoni"
+ },
+ "SG": {
+ "name": "Singapore"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "SS": {
+ "name": "Sudan Kusini"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SJ": {
+ "name": "Svalbard na Jan Mayen"
+ },
+ "SY": {
+ "name": "Syria"
+ },
+ "TH": {
+ "name": "Tailandi"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TJ": {
+ "name": "Tajikistani"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad na Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TM": {
+ "name": "Turukimenistani"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "BE": {
+ "name": "Ubelgiji"
+ },
+ "FR": {
+ "name": "Ufaransa"
+ },
+ "PH": {
+ "name": "Ufilipino"
+ },
+ "FI": {
+ "name": "Ufini"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "GR": {
+ "name": "Ugiriki"
+ },
+ "NL": {
+ "name": "Uholanzi"
+ },
+ "BQ": {
+ "name": "Uholanzi ya Karibiani"
+ },
+ "GB": {
+ "name": "Uingereza"
+ },
+ "DE": {
+ "name": "Ujerumani"
+ },
+ "UA": {
+ "name": "Ukraine"
+ },
+ "PT": {
+ "name": "Ureno"
+ },
+ "UY": {
+ "name": "Urugwai"
+ },
+ "RU": {
+ "name": "Urusi"
+ },
+ "SC": {
+ "name": "Ushelisheli"
+ },
+ "SZ": {
+ "name": "Uswazi"
+ },
+ "SE": {
+ "name": "Uswidi"
+ },
+ "CH": {
+ "name": "Uswisi"
+ },
+ "TR": {
+ "name": "Uturuki"
+ },
+ "UZ": {
+ "name": "Uzibekistani"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikani"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnamu"
+ },
+ "UM": {
+ "name": "Visiwa Vidogo vya Nje vya Marekani"
+ },
+ "AX": {
+ "name": "Visiwa vya Alandi"
+ },
+ "CC": {
+ "name": "Visiwa vya Cocos (Keeling)"
+ },
+ "CK": {
+ "name": "Visiwa vya Cook"
+ },
+ "FK": {
+ "name": "Visiwa vya Falkland"
+ },
+ "FO": {
+ "name": "Visiwa vya Faroe"
+ },
+ "IC": {
+ "name": "Visiwa vya Kanari"
+ },
+ "KY": {
+ "name": "Visiwa vya Kayman"
+ },
+ "MP": {
+ "name": "Visiwa vya Mariana vya Kaskazini"
+ },
+ "MH": {
+ "name": "Visiwa vya Marshall"
+ },
+ "PN": {
+ "name": "Visiwa vya Pitcairn"
+ },
+ "SB": {
+ "name": "Visiwa vya Solomon"
+ },
+ "TC": {
+ "name": "Visiwa vya Turki na Kaiko"
+ },
+ "VI": {
+ "name": "Visiwa vya Virgin vya Marekani"
+ },
+ "VG": {
+ "name": "Visiwa vya Virgin vya Uingereza"
+ },
+ "WF": {
+ "name": "Walis na Futuna"
+ },
+ "YE": {
+ "name": "Yemeni"
+ },
+ "JO": {
+ "name": "Yordani"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/sw.json b/vendor/commerceguys/intl/resources/country/sw.json
new file mode 100644
index 000000000..2fcc28c53
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/sw.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afghanistan"
+ },
+ "ZA": {
+ "name": "Afrika Kusini"
+ },
+ "IS": {
+ "name": "Aislandi"
+ },
+ "AR": {
+ "name": "Ajentina"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Aljeria"
+ },
+ "AD": {
+ "name": "Andora"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antaktika"
+ },
+ "AG": {
+ "name": "Antigua na Barbuda"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "IE": {
+ "name": "Ayalandi"
+ },
+ "AZ": {
+ "name": "Azerbaijan"
+ },
+ "BB": {
+ "name": "Babadosi"
+ },
+ "BS": {
+ "name": "Bahama"
+ },
+ "BH": {
+ "name": "Bahareni"
+ },
+ "BD": {
+ "name": "Bangladeshi"
+ },
+ "BY": {
+ "name": "Belarusi"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia na Hezegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brazili"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BF": {
+ "name": "Bukinafaso"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "CV": {
+ "name": "Cape Verde"
+ },
+ "EA": {
+ "name": "Ceuta na Melilla"
+ },
+ "TD": {
+ "name": "Chad"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CI": {
+ "name": "Côte d’Ivoire"
+ },
+ "CY": {
+ "name": "Cyprus"
+ },
+ "DK": {
+ "name": "Denmark"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "EC": {
+ "name": "Ekwado"
+ },
+ "SV": {
+ "name": "Elsavado"
+ },
+ "IO": {
+ "name": "Eneo la Uingereza katika Bahari Hindi"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Ethiopia"
+ },
+ "AE": {
+ "name": "Falme za Kiarabu"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GN": {
+ "name": "Gine"
+ },
+ "GW": {
+ "name": "Ginebisau"
+ },
+ "GQ": {
+ "name": "Ginekweta"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GL": {
+ "name": "Grinlandi"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "GF": {
+ "name": "Gwiyana ya Ufaransa"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "ES": {
+ "name": "Hispania"
+ },
+ "HN": {
+ "name": "Hondurasi"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hungaria"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IQ": {
+ "name": "Iraki"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israeli"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JM": {
+ "name": "Jamaika"
+ },
+ "CF": {
+ "name": "Jamhuri ya Afrika ya Kati"
+ },
+ "CZ": {
+ "name": "Jamhuri ya Cheki"
+ },
+ "DO": {
+ "name": "Jamhuri ya Dominika"
+ },
+ "CD": {
+ "name": "Jamhuri ya Kidemokrasia ya Kongo"
+ },
+ "JP": {
+ "name": "Japani"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "GI": {
+ "name": "Jibralta"
+ },
+ "DJ": {
+ "name": "Jibuti"
+ },
+ "GE": {
+ "name": "Jojia"
+ },
+ "GS": {
+ "name": "Jojia Kusini na Visiwa vya Sandwich Kusini"
+ },
+ "JO": {
+ "name": "Jordan"
+ },
+ "KH": {
+ "name": "Kambodia"
+ },
+ "CM": {
+ "name": "Kameruni"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "KZ": {
+ "name": "Kazakistani"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "KG": {
+ "name": "Kirigizistani"
+ },
+ "AC": {
+ "name": "Kisiwa cha Ascension"
+ },
+ "CX": {
+ "name": "Kisiwa cha Krismasi"
+ },
+ "NF": {
+ "name": "Kisiwa cha Norfolk"
+ },
+ "CO": {
+ "name": "Kolombia"
+ },
+ "KM": {
+ "name": "Komoro"
+ },
+ "CG": {
+ "name": "Kongo - Brazzaville"
+ },
+ "HR": {
+ "name": "Korasia"
+ },
+ "KP": {
+ "name": "Korea Kaskazini"
+ },
+ "KR": {
+ "name": "Korea Kusini"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "Kostarika"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "CW": {
+ "name": "Kurakao"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laosi"
+ },
+ "LV": {
+ "name": "Latvia"
+ },
+ "LB": {
+ "name": "Lebanon"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lithuania"
+ },
+ "LU": {
+ "name": "Luxembourg"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagaska"
+ },
+ "TF": {
+ "name": "Maeneo ya Kusini ya Ufaransa"
+ },
+ "PS": {
+ "name": "Maeneo ya Palestina"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MV": {
+ "name": "Maldives"
+ },
+ "MY": {
+ "name": "Malesia"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "US": {
+ "name": "Marekani"
+ },
+ "MQ": {
+ "name": "Martiniki"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Meksiko"
+ },
+ "FM": {
+ "name": "Mikronesia"
+ },
+ "EG": {
+ "name": "Misri"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrati"
+ },
+ "MU": {
+ "name": "Morisi"
+ },
+ "MR": {
+ "name": "Moritania"
+ },
+ "MA": {
+ "name": "Morocco"
+ },
+ "MZ": {
+ "name": "Msumbiji"
+ },
+ "MM": {
+ "name": "Myanmar (Burma)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NI": {
+ "name": "Nikaragwa"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Norway"
+ },
+ "NC": {
+ "name": "Nyukaledonia"
+ },
+ "NZ": {
+ "name": "Nyuzilandi"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "PK": {
+ "name": "Pakistani"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua New Guinea"
+ },
+ "PY": {
+ "name": "Paragwai"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PL": {
+ "name": "Polandi"
+ },
+ "PF": {
+ "name": "Polinesia ya Ufaransa"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "QA": {
+ "name": "Qatar"
+ },
+ "RE": {
+ "name": "Riyunioni"
+ },
+ "RO": {
+ "name": "Romania"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "EH": {
+ "name": "Sahara Magharibi"
+ },
+ "MF": {
+ "name": "Saint Martin"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa ya Marekani"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "BL": {
+ "name": "Santabathelemi"
+ },
+ "SH": {
+ "name": "Santahelena"
+ },
+ "KN": {
+ "name": "Santakitzi na Nevis"
+ },
+ "LC": {
+ "name": "Santalusia"
+ },
+ "PM": {
+ "name": "Santapierre na Miquelon"
+ },
+ "VC": {
+ "name": "Santavisenti na Grenadini"
+ },
+ "ST": {
+ "name": "São Tomé na Príncipe"
+ },
+ "SA": {
+ "name": "Saudia"
+ },
+ "SN": {
+ "name": "Senegali"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SL": {
+ "name": "Siera Leoni"
+ },
+ "SG": {
+ "name": "Singapore"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "SS": {
+ "name": "Sudan Kusini"
+ },
+ "SR": {
+ "name": "Surinamu"
+ },
+ "SJ": {
+ "name": "Svalbard na Jan Mayen"
+ },
+ "SY": {
+ "name": "Syria"
+ },
+ "TH": {
+ "name": "Tailandi"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TJ": {
+ "name": "Tajikistani"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad na Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TM": {
+ "name": "Turukimenistani"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "BE": {
+ "name": "Ubelgiji"
+ },
+ "FR": {
+ "name": "Ufaransa"
+ },
+ "PH": {
+ "name": "Ufilipino"
+ },
+ "FI": {
+ "name": "Ufini"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "GR": {
+ "name": "Ugiriki"
+ },
+ "NL": {
+ "name": "Uholanzi"
+ },
+ "BQ": {
+ "name": "Uholanzi ya Karibiani"
+ },
+ "GB": {
+ "name": "Uingereza"
+ },
+ "DE": {
+ "name": "Ujerumani"
+ },
+ "UA": {
+ "name": "Ukraine"
+ },
+ "PT": {
+ "name": "Ureno"
+ },
+ "UY": {
+ "name": "Urugwai"
+ },
+ "RU": {
+ "name": "Urusi"
+ },
+ "SC": {
+ "name": "Ushelisheli"
+ },
+ "SZ": {
+ "name": "Uswazi"
+ },
+ "SE": {
+ "name": "Uswidi"
+ },
+ "CH": {
+ "name": "Uswisi"
+ },
+ "TR": {
+ "name": "Uturuki"
+ },
+ "UZ": {
+ "name": "Uzibekistani"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikani"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "UM": {
+ "name": "Visiwa Vidogo vya Nje vya Marekani"
+ },
+ "AX": {
+ "name": "Visiwa vya Alandi"
+ },
+ "CC": {
+ "name": "Visiwa vya Cocos (Keeling)"
+ },
+ "CK": {
+ "name": "Visiwa vya Cook"
+ },
+ "FK": {
+ "name": "Visiwa vya Falkland"
+ },
+ "FO": {
+ "name": "Visiwa vya Faroe"
+ },
+ "IC": {
+ "name": "Visiwa vya Kanari"
+ },
+ "KY": {
+ "name": "Visiwa vya Kayman"
+ },
+ "MP": {
+ "name": "Visiwa vya Mariana vya Kaskazini"
+ },
+ "MH": {
+ "name": "Visiwa vya Marshall"
+ },
+ "PN": {
+ "name": "Visiwa vya Pitcairn"
+ },
+ "SB": {
+ "name": "Visiwa vya Solomon"
+ },
+ "TC": {
+ "name": "Visiwa vya Turki na Kaiko"
+ },
+ "VI": {
+ "name": "Visiwa vya Virgin vya Marekani"
+ },
+ "VG": {
+ "name": "Visiwa vya Virgin vya Uingereza"
+ },
+ "WF": {
+ "name": "Walis na Futuna"
+ },
+ "YE": {
+ "name": "Yemeni"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/ta.json b/vendor/commerceguys/intl/resources/country/ta.json
new file mode 100644
index 000000000..7f07a5ec8
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/ta.json
@@ -0,0 +1,761 @@
+{
+ "AI": {
+ "name": "அங்குய்லா"
+ },
+ "AO": {
+ "name": "அங்கோலா"
+ },
+ "AZ": {
+ "name": "அசர்பைஜான்"
+ },
+ "AQ": {
+ "name": "அண்டார்டிகா"
+ },
+ "AS": {
+ "name": "அமெரிக்க சமோவா"
+ },
+ "US": {
+ "name": "அமெரிக்கா"
+ },
+ "IE": {
+ "name": "அயர்லாந்து"
+ },
+ "AM": {
+ "name": "அர்மேனியா"
+ },
+ "AR": {
+ "name": "அர்ஜென்டினா"
+ },
+ "AW": {
+ "name": "அரூபா"
+ },
+ "AL": {
+ "name": "அல்பேனியா"
+ },
+ "DZ": {
+ "name": "அல்ஜீரியா"
+ },
+ "AD": {
+ "name": "அன்டோரா"
+ },
+ "AC": {
+ "name": "அஷன்ஷியன் தீவு"
+ },
+ "AG": {
+ "name": "ஆண்டிகுவா மற்றும் பார்புடா"
+ },
+ "AF": {
+ "name": "ஆப்கானிஸ்தான்"
+ },
+ "AX": {
+ "name": "ஆலந்து தீவுகள்"
+ },
+ "AT": {
+ "name": "ஆஸ்திரியா"
+ },
+ "AU": {
+ "name": "ஆஸ்திரேலியா"
+ },
+ "IT": {
+ "name": "இத்தாலி"
+ },
+ "IN": {
+ "name": "இந்தியா"
+ },
+ "ID": {
+ "name": "இந்தோனேசியா"
+ },
+ "LK": {
+ "name": "இலங்கை"
+ },
+ "IL": {
+ "name": "இஸ்ரேல்"
+ },
+ "EC": {
+ "name": "ஈக்வடார்"
+ },
+ "GQ": {
+ "name": "ஈக்வடோரியல் கினியா"
+ },
+ "IQ": {
+ "name": "ஈராக்"
+ },
+ "IR": {
+ "name": "ஈரான்"
+ },
+ "UA": {
+ "name": "உக்ரைன்"
+ },
+ "UG": {
+ "name": "உகாண்டா"
+ },
+ "UY": {
+ "name": "உருகுவே"
+ },
+ "UZ": {
+ "name": "உஸ்பெகிஸ்தான்"
+ },
+ "EG": {
+ "name": "எகிப்து"
+ },
+ "ET": {
+ "name": "எத்தியோப்பியா"
+ },
+ "ER": {
+ "name": "எரிட்ரியா"
+ },
+ "SV": {
+ "name": "எல் சால்வடார்"
+ },
+ "EE": {
+ "name": "எஸ்டோனியா"
+ },
+ "YE": {
+ "name": "ஏமன்"
+ },
+ "AE": {
+ "name": "ஐக்கிய அரபு எமிரேட்ஸ்"
+ },
+ "IM": {
+ "name": "ஐல் ஆஃப் மேன்"
+ },
+ "IS": {
+ "name": "ஐஸ்லாந்து"
+ },
+ "OM": {
+ "name": "ஓமன்"
+ },
+ "FK": {
+ "name": "ஃபாக்லாந்து தீவுகள்"
+ },
+ "FO": {
+ "name": "ஃபாரோ தீவுகள்"
+ },
+ "FJ": {
+ "name": "ஃபிஜி"
+ },
+ "GP": {
+ "name": "க்வாதேலோப்"
+ },
+ "QA": {
+ "name": "கத்தார்"
+ },
+ "KH": {
+ "name": "கம்போடியா"
+ },
+ "GY": {
+ "name": "கயானா"
+ },
+ "BQ": {
+ "name": "கரீபியன் நெதர்லாந்து"
+ },
+ "GT": {
+ "name": "கவுதமாலா"
+ },
+ "CA": {
+ "name": "கனடா"
+ },
+ "KZ": {
+ "name": "கஸகஸ்தான்"
+ },
+ "CD": {
+ "name": "காங்கோ - கின்ஷாசா"
+ },
+ "CG": {
+ "name": "காங்கோ - ப்ராஸாவில்லே"
+ },
+ "GM": {
+ "name": "காம்பியா"
+ },
+ "GH": {
+ "name": "கானா"
+ },
+ "CU": {
+ "name": "கியூபா"
+ },
+ "KG": {
+ "name": "கிர்கிஸ்தான்"
+ },
+ "GD": {
+ "name": "கிரனெடா"
+ },
+ "KI": {
+ "name": "கிரிபாட்டி"
+ },
+ "GL": {
+ "name": "கிரீன்லாந்து"
+ },
+ "GR": {
+ "name": "கிரீஸ்"
+ },
+ "CX": {
+ "name": "கிறிஸ்துமஸ் தீவு"
+ },
+ "GN": {
+ "name": "கினியா"
+ },
+ "GW": {
+ "name": "கினியா-பிஸ்ஸாவ்"
+ },
+ "CK": {
+ "name": "குக் தீவுகள்"
+ },
+ "CW": {
+ "name": "குராகவ்"
+ },
+ "HR": {
+ "name": "குரேஷியா"
+ },
+ "GU": {
+ "name": "குவாம்"
+ },
+ "KW": {
+ "name": "குவைத்"
+ },
+ "KY": {
+ "name": "கெய்மென் தீவுகள்"
+ },
+ "GG": {
+ "name": "கெர்ன்சி"
+ },
+ "KE": {
+ "name": "கென்யா"
+ },
+ "CV": {
+ "name": "கேப் வெர்டே"
+ },
+ "GA": {
+ "name": "கேபான்"
+ },
+ "CM": {
+ "name": "கேமரூன்"
+ },
+ "IC": {
+ "name": "கேனரி தீவுகள்"
+ },
+ "XK": {
+ "name": "கொசோவோ"
+ },
+ "CO": {
+ "name": "கொலம்பியா"
+ },
+ "CC": {
+ "name": "கோகோஸ் (கீலிங்) தீவுகள்"
+ },
+ "CI": {
+ "name": "கோட் தி’வாயர்"
+ },
+ "KM": {
+ "name": "கோமரோஸ்"
+ },
+ "CR": {
+ "name": "கோஸ்டாரிகா"
+ },
+ "WS": {
+ "name": "சமோவா"
+ },
+ "SA": {
+ "name": "சவூதி அரேபியா"
+ },
+ "TD": {
+ "name": "சாட்"
+ },
+ "SB": {
+ "name": "சாலமன் தீவுகள்"
+ },
+ "ST": {
+ "name": "சாவ் தோம் & ப்ரின்சிபி"
+ },
+ "SM": {
+ "name": "சான் மரினோ"
+ },
+ "SG": {
+ "name": "சிங்கப்பூர்"
+ },
+ "SL": {
+ "name": "சியாரா லியோன்"
+ },
+ "EA": {
+ "name": "சியூடா & மெலில்லா"
+ },
+ "SY": {
+ "name": "சிரியா"
+ },
+ "CL": {
+ "name": "சிலி"
+ },
+ "SX": {
+ "name": "சின்ட் மார்டென்"
+ },
+ "CN": {
+ "name": "சீனா"
+ },
+ "SC": {
+ "name": "சீஷெல்ஸ்"
+ },
+ "SR": {
+ "name": "சுரினாம்"
+ },
+ "SD": {
+ "name": "சூடான்"
+ },
+ "CZ": {
+ "name": "செக் குடியரசு"
+ },
+ "KN": {
+ "name": "செயின்ட் கிட்ஸ் & நெவிஸ்"
+ },
+ "BL": {
+ "name": "செயின்ட் பார்தேலெமி"
+ },
+ "PM": {
+ "name": "செயின்ட் பியர் & மிக்வேலான்"
+ },
+ "MF": {
+ "name": "செயின்ட் மார்ட்டீன்"
+ },
+ "LC": {
+ "name": "செயின்ட் லூசியா"
+ },
+ "VC": {
+ "name": "செயின்ட் வின்சென்ட் & கிரெனடைன்ஸ்"
+ },
+ "SH": {
+ "name": "செயின்ட் ஹெலெனா"
+ },
+ "RS": {
+ "name": "செர்பியா"
+ },
+ "SN": {
+ "name": "செனெகல்"
+ },
+ "CY": {
+ "name": "சைப்ரஸ்"
+ },
+ "SO": {
+ "name": "சோமாலியா"
+ },
+ "TC": {
+ "name": "டர்க்ஸ் & கைகோஸ் தீவுகள்"
+ },
+ "DG": {
+ "name": "டியகோ கார்ஷியா"
+ },
+ "TT": {
+ "name": "டிரினிடாட் & டொபாகோ"
+ },
+ "TA": {
+ "name": "டிரிஸ்டன் டா குன்ஹா"
+ },
+ "TN": {
+ "name": "டுனிசியா"
+ },
+ "DK": {
+ "name": "டென்மார்க்"
+ },
+ "DO": {
+ "name": "டொமினிகன் குடியரசு"
+ },
+ "DM": {
+ "name": "டொமினிகா"
+ },
+ "TK": {
+ "name": "டோகேலோ"
+ },
+ "TG": {
+ "name": "டோகோ"
+ },
+ "TO": {
+ "name": "டோங்கா"
+ },
+ "TJ": {
+ "name": "தஜிகிஸ்தான்"
+ },
+ "TH": {
+ "name": "தாய்லாந்து"
+ },
+ "TZ": {
+ "name": "தான்சானியா"
+ },
+ "TM": {
+ "name": "துர்க்மெனிஸ்தான்"
+ },
+ "TR": {
+ "name": "துருக்கி"
+ },
+ "TV": {
+ "name": "துவாலூ"
+ },
+ "SS": {
+ "name": "தெற்கு சூடான்"
+ },
+ "GS": {
+ "name": "தெற்கு ஜார்ஜியா மற்றும் தெற்கு சாண்ட்விச் தீவுகள்"
+ },
+ "ZA": {
+ "name": "தென் ஆப்பிரிக்கா"
+ },
+ "KR": {
+ "name": "தென் கொரியா"
+ },
+ "TL": {
+ "name": "தைமூர்-லெஸ்தே"
+ },
+ "TW": {
+ "name": "தைவான்"
+ },
+ "NA": {
+ "name": "நமீபியா"
+ },
+ "NF": {
+ "name": "நார்ஃபோக் தீவுகள்"
+ },
+ "NO": {
+ "name": "நார்வே"
+ },
+ "NI": {
+ "name": "நிகரகுவா"
+ },
+ "NU": {
+ "name": "நியூ"
+ },
+ "NC": {
+ "name": "நியூ கேலிடோனியா"
+ },
+ "NZ": {
+ "name": "நியூசிலாந்து"
+ },
+ "NL": {
+ "name": "நெதர்லாந்து"
+ },
+ "NP": {
+ "name": "நேபாளம்"
+ },
+ "NE": {
+ "name": "நைஜர்"
+ },
+ "NG": {
+ "name": "நைஜீரியா"
+ },
+ "NR": {
+ "name": "நௌரு"
+ },
+ "BD": {
+ "name": "பங்களாதேஷ்"
+ },
+ "PG": {
+ "name": "பப்புவா நியூ கினியா"
+ },
+ "PY": {
+ "name": "பராகுவே"
+ },
+ "BG": {
+ "name": "பல்கேரியா"
+ },
+ "PA": {
+ "name": "பனாமா"
+ },
+ "BH": {
+ "name": "பஹ்ரைன்"
+ },
+ "BS": {
+ "name": "பஹாமாஸ்"
+ },
+ "PK": {
+ "name": "பாகிஸ்தான்"
+ },
+ "BB": {
+ "name": "பார்படோஸ்"
+ },
+ "PS": {
+ "name": "பாலஸ்தீனிய பிரதேசங்கள்"
+ },
+ "PW": {
+ "name": "பாலோ"
+ },
+ "PN": {
+ "name": "பிட்கெய்ர்ன் தீவுகள்"
+ },
+ "PR": {
+ "name": "பியூர்டோ ரிகோ"
+ },
+ "FR": {
+ "name": "பிரான்ஸ்"
+ },
+ "IO": {
+ "name": "பிரிட்டிஷ் இந்தியப் பெருங்கடல் பிரதேசம்"
+ },
+ "VG": {
+ "name": "பிரிட்டீஷ் கன்னித் தீவுகள்"
+ },
+ "GF": {
+ "name": "பிரெஞ்சு கயானா"
+ },
+ "TF": {
+ "name": "பிரெஞ்சு தெற்கு பிரதேசங்கள்"
+ },
+ "PF": {
+ "name": "பிரெஞ்சு பாலினேஷியா"
+ },
+ "BR": {
+ "name": "பிரேசில்"
+ },
+ "PH": {
+ "name": "பிலிப்பைன்ஸ்"
+ },
+ "FI": {
+ "name": "பின்லாந்து"
+ },
+ "BF": {
+ "name": "புர்கினா ஃபாஸோ"
+ },
+ "BI": {
+ "name": "புருண்டி"
+ },
+ "BN": {
+ "name": "புருனே"
+ },
+ "BT": {
+ "name": "பூடான்"
+ },
+ "BM": {
+ "name": "பெர்முடா"
+ },
+ "PE": {
+ "name": "பெரு"
+ },
+ "BE": {
+ "name": "பெல்ஜியம்"
+ },
+ "BY": {
+ "name": "பெலாரூஸ்"
+ },
+ "BZ": {
+ "name": "பெலிஸ்"
+ },
+ "BJ": {
+ "name": "பெனின்"
+ },
+ "BO": {
+ "name": "பொலிவியா"
+ },
+ "BW": {
+ "name": "போட்ஸ்வானா"
+ },
+ "PT": {
+ "name": "போர்ச்சுக்கல்"
+ },
+ "PL": {
+ "name": "போலந்து"
+ },
+ "BA": {
+ "name": "போஸ்னியா & ஹெர்ஸகோவினா"
+ },
+ "MO": {
+ "name": "மகாவ் எஸ்ஏஆர் சீனா"
+ },
+ "MN": {
+ "name": "மங்கோலியா"
+ },
+ "MG": {
+ "name": "மடகாஸ்கர்"
+ },
+ "CF": {
+ "name": "மத்திய ஆப்ரிக்கக் குடியரசு"
+ },
+ "YT": {
+ "name": "மயோட்"
+ },
+ "MW": {
+ "name": "மலாவி"
+ },
+ "MY": {
+ "name": "மலேசியா"
+ },
+ "MK": {
+ "name": "மாசிடோனியா"
+ },
+ "MS": {
+ "name": "மாண்ட்செராட்"
+ },
+ "MQ": {
+ "name": "மார்டினிக்"
+ },
+ "MH": {
+ "name": "மார்ஷல் தீவுகள்"
+ },
+ "MT": {
+ "name": "மால்டா"
+ },
+ "MD": {
+ "name": "மால்டோவா"
+ },
+ "MV": {
+ "name": "மாலத்தீவு"
+ },
+ "ML": {
+ "name": "மாலி"
+ },
+ "ME": {
+ "name": "மான்டேனெக்ரோ"
+ },
+ "MM": {
+ "name": "மியான்மார் (பர்மா)"
+ },
+ "MX": {
+ "name": "மெக்சிகோ"
+ },
+ "EH": {
+ "name": "மேற்கு சஹாரா"
+ },
+ "FM": {
+ "name": "மைக்ரோனேஷியா"
+ },
+ "MZ": {
+ "name": "மொசாம்பிக்"
+ },
+ "MA": {
+ "name": "மொராக்கோ"
+ },
+ "MU": {
+ "name": "மொரிசியஸ்"
+ },
+ "MC": {
+ "name": "மொனாக்கோ"
+ },
+ "MR": {
+ "name": "மௌரிடானியா"
+ },
+ "GB": {
+ "name": "யுனைடெட் கிங்டம்"
+ },
+ "VI": {
+ "name": "யூ.எஸ். கன்னித் தீவுகள்"
+ },
+ "UM": {
+ "name": "யூ.எஸ். வெளிப்புறத் தீவுகள்"
+ },
+ "RU": {
+ "name": "ரஷ்யா"
+ },
+ "RE": {
+ "name": "ரீயூனியன்"
+ },
+ "RO": {
+ "name": "ருமேனியா"
+ },
+ "RW": {
+ "name": "ருவாண்டா"
+ },
+ "LU": {
+ "name": "லக்ஸ்சம்பர்க்"
+ },
+ "LV": {
+ "name": "லாட்வியா"
+ },
+ "LA": {
+ "name": "லாவோஸ்"
+ },
+ "LI": {
+ "name": "லிச்செண்ஸ்டெய்ன்"
+ },
+ "LT": {
+ "name": "லிதுவேனியா"
+ },
+ "LY": {
+ "name": "லிபியா"
+ },
+ "LS": {
+ "name": "லெசோதோ"
+ },
+ "LB": {
+ "name": "லெபனான்"
+ },
+ "LR": {
+ "name": "லைபீரியா"
+ },
+ "KP": {
+ "name": "வட கொரியா"
+ },
+ "MP": {
+ "name": "வடக்கு மரியானா தீவுகள்"
+ },
+ "VU": {
+ "name": "வனுவாட்டு"
+ },
+ "VA": {
+ "name": "வாடிகன் நகரம்"
+ },
+ "WF": {
+ "name": "வாலிஸ் மற்றும் ஃபுடுனா"
+ },
+ "VN": {
+ "name": "வியட்நாம்"
+ },
+ "VE": {
+ "name": "வெனிசுலா"
+ },
+ "JP": {
+ "name": "ஜப்பான்"
+ },
+ "JM": {
+ "name": "ஜமைகா"
+ },
+ "ZM": {
+ "name": "ஜாம்பியா"
+ },
+ "GE": {
+ "name": "ஜார்ஜியா"
+ },
+ "GI": {
+ "name": "ஜிப்ரால்டர்"
+ },
+ "DJ": {
+ "name": "ஜிபௌட்டி"
+ },
+ "ZW": {
+ "name": "ஜிம்பாப்வே"
+ },
+ "JE": {
+ "name": "ஜெர்சி"
+ },
+ "DE": {
+ "name": "ஜெர்மனி"
+ },
+ "JO": {
+ "name": "ஜோர்டான்"
+ },
+ "ES": {
+ "name": "ஸ்பெயின்"
+ },
+ "SK": {
+ "name": "ஸ்லோவாகியா"
+ },
+ "SI": {
+ "name": "ஸ்லோவேனியா"
+ },
+ "SJ": {
+ "name": "ஸ்வல்பார்டு & ஜான் மேயன்"
+ },
+ "SZ": {
+ "name": "ஸ்வாஸிலாந்து"
+ },
+ "CH": {
+ "name": "ஸ்விட்சர்லாந்து"
+ },
+ "SE": {
+ "name": "ஸ்வீடன்"
+ },
+ "HU": {
+ "name": "ஹங்கேரி"
+ },
+ "HK": {
+ "name": "ஹாங்காங் எஸ்ஏஆர் சீனா"
+ },
+ "HT": {
+ "name": "ஹைட்டி"
+ },
+ "HN": {
+ "name": "ஹோண்டூராஸ்"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/te.json b/vendor/commerceguys/intl/resources/country/te.json
new file mode 100644
index 000000000..18003191c
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/te.json
@@ -0,0 +1,761 @@
+{
+ "AO": {
+ "name": "అంగోలా"
+ },
+ "AQ": {
+ "name": "అంటార్కటికా"
+ },
+ "AD": {
+ "name": "అండొర్రా"
+ },
+ "AZ": {
+ "name": "అజర్బైజాన్"
+ },
+ "AS": {
+ "name": "అమెరికన్ సమోవా"
+ },
+ "US": {
+ "name": "అమెరికా సంయుక్త రాష్ట్రాలు"
+ },
+ "AW": {
+ "name": "అరుబా"
+ },
+ "AR": {
+ "name": "అర్జెంటీనా"
+ },
+ "DZ": {
+ "name": "అల్జీరియా"
+ },
+ "AL": {
+ "name": "అల్బేనియా"
+ },
+ "AI": {
+ "name": "ఆంగవిల్లా"
+ },
+ "AG": {
+ "name": "ఆంటిగ్వా మరియు బార్బుడా"
+ },
+ "AF": {
+ "name": "ఆఫ్ఘనిస్తాన్"
+ },
+ "AM": {
+ "name": "ఆర్మేనియా"
+ },
+ "AX": {
+ "name": "ఆలేండ్ దీవులు"
+ },
+ "AT": {
+ "name": "ఆస్ట్రియా"
+ },
+ "AU": {
+ "name": "ఆస్ట్రేలియా"
+ },
+ "ID": {
+ "name": "ఇండోనేషియా"
+ },
+ "IL": {
+ "name": "ఇజ్రాయిల్"
+ },
+ "IT": {
+ "name": "ఇటలీ"
+ },
+ "ET": {
+ "name": "ఇథియోపియా"
+ },
+ "IQ": {
+ "name": "ఇరాక్"
+ },
+ "IR": {
+ "name": "ఇరాన్"
+ },
+ "GQ": {
+ "name": "ఈక్వటోరియల్ గినియా"
+ },
+ "EC": {
+ "name": "ఈక్వడార్"
+ },
+ "EG": {
+ "name": "ఈజిప్ట్"
+ },
+ "UA": {
+ "name": "ఉక్రెయిన్"
+ },
+ "UG": {
+ "name": "ఉగాండా"
+ },
+ "UZ": {
+ "name": "ఉజ్బెకిస్తాన్"
+ },
+ "KP": {
+ "name": "ఉత్తర కొరియా"
+ },
+ "MP": {
+ "name": "ఉత్తర మరియానా దీవులు"
+ },
+ "UY": {
+ "name": "ఊరుగ్వే"
+ },
+ "ER": {
+ "name": "ఎరిట్రియా"
+ },
+ "SV": {
+ "name": "ఎల్ సాల్వడోర్"
+ },
+ "AC": {
+ "name": "ఎసెషన్ దీవి"
+ },
+ "EE": {
+ "name": "ఎస్టోనియా"
+ },
+ "IE": {
+ "name": "ఐర్లాండ్"
+ },
+ "IM": {
+ "name": "ఐల్ ఆఫ్ మాన్"
+ },
+ "IS": {
+ "name": "ఐస్లాండ్"
+ },
+ "OM": {
+ "name": "ఒమన్"
+ },
+ "KH": {
+ "name": "కంబోడియా"
+ },
+ "KZ": {
+ "name": "కజకస్తాన్"
+ },
+ "BQ": {
+ "name": "కరీబియన్ నెదర్లాండ్స్"
+ },
+ "CD": {
+ "name": "కాంగో- కిన్షాసా"
+ },
+ "CG": {
+ "name": "కాంగో- బ్రాజావిల్లి"
+ },
+ "CM": {
+ "name": "కామెరూన్"
+ },
+ "KI": {
+ "name": "కిరిబాటి"
+ },
+ "KG": {
+ "name": "కిర్గిజిస్తాన్"
+ },
+ "CK": {
+ "name": "కుక్ దీవులు"
+ },
+ "CW": {
+ "name": "కురాకవో"
+ },
+ "KW": {
+ "name": "కువైట్"
+ },
+ "CA": {
+ "name": "కెనడా"
+ },
+ "KE": {
+ "name": "కెన్యా"
+ },
+ "IC": {
+ "name": "కేనరీ దీవులు"
+ },
+ "CV": {
+ "name": "కేప్ వెర్డే"
+ },
+ "KY": {
+ "name": "కేమాన్ దీవులు"
+ },
+ "KM": {
+ "name": "కొమొరోస్"
+ },
+ "CO": {
+ "name": "కొలంబియా"
+ },
+ "XK": {
+ "name": "కొసోవో"
+ },
+ "CC": {
+ "name": "కోకోస్ (కీలింగ్) దీవులు"
+ },
+ "CI": {
+ "name": "కోటెడ్ ఐవోయిర్"
+ },
+ "CR": {
+ "name": "కోస్టా రికా"
+ },
+ "CU": {
+ "name": "క్యూబా"
+ },
+ "CX": {
+ "name": "క్రిస్మస్ దీవి"
+ },
+ "NC": {
+ "name": "క్రొత్త కాలెడోనియా"
+ },
+ "HR": {
+ "name": "క్రోయేషియా"
+ },
+ "QA": {
+ "name": "ఖతర్"
+ },
+ "GY": {
+ "name": "గయానా"
+ },
+ "GM": {
+ "name": "గాంబియా"
+ },
+ "GA": {
+ "name": "గాబన్"
+ },
+ "GN": {
+ "name": "గినియా"
+ },
+ "GW": {
+ "name": "గినియా-బిస్సావ్"
+ },
+ "GL": {
+ "name": "గ్రీన్‌లాండ్"
+ },
+ "GR": {
+ "name": "గ్రీస్"
+ },
+ "GD": {
+ "name": "గ్రెనెడా"
+ },
+ "GT": {
+ "name": "గ్వాటిమాల"
+ },
+ "GP": {
+ "name": "గ్వాడేలోప్"
+ },
+ "GU": {
+ "name": "గ్వామ్"
+ },
+ "GG": {
+ "name": "గ్వేర్నసే"
+ },
+ "GH": {
+ "name": "ఘనా"
+ },
+ "TD": {
+ "name": "చాద్"
+ },
+ "CL": {
+ "name": "చిలీ"
+ },
+ "CZ": {
+ "name": "చెక్ రిపబ్లిక్"
+ },
+ "CN": {
+ "name": "చైనా"
+ },
+ "JP": {
+ "name": "జపాన్"
+ },
+ "JM": {
+ "name": "జమైకా"
+ },
+ "DE": {
+ "name": "జర్మనీ"
+ },
+ "ZM": {
+ "name": "జాంబియా"
+ },
+ "GE": {
+ "name": "జార్జియా"
+ },
+ "ZW": {
+ "name": "జింబాబ్వే"
+ },
+ "DJ": {
+ "name": "జిబౌటి"
+ },
+ "GI": {
+ "name": "జిబ్రాల్టార్"
+ },
+ "JE": {
+ "name": "జెర్సీ"
+ },
+ "JO": {
+ "name": "జోర్డాన్"
+ },
+ "TR": {
+ "name": "టర్కీ"
+ },
+ "TZ": {
+ "name": "టాంజానియా"
+ },
+ "TL": {
+ "name": "టిమోర్-లెస్టె"
+ },
+ "TV": {
+ "name": "టువాలు"
+ },
+ "TO": {
+ "name": "టోంగా"
+ },
+ "TK": {
+ "name": "టోకేలావ్"
+ },
+ "TG": {
+ "name": "టోగో"
+ },
+ "TN": {
+ "name": "ట్యునీషియా"
+ },
+ "TT": {
+ "name": "ట్రినిడాడ్ మరియు టొబాగో"
+ },
+ "TA": {
+ "name": "ట్రిస్టన్ డ కన్హా"
+ },
+ "DG": {
+ "name": "డియాగో గార్సియా"
+ },
+ "DK": {
+ "name": "డెన్మార్క్"
+ },
+ "DO": {
+ "name": "డొమెనికన్ రిపబ్లిక్"
+ },
+ "DM": {
+ "name": "డొమెనికా"
+ },
+ "TJ": {
+ "name": "తజికిస్తాన్"
+ },
+ "TM": {
+ "name": "తుర్కమేనిస్తాన్"
+ },
+ "TC": {
+ "name": "తుర్క్ మరియు కాలికోస్ దీవులు"
+ },
+ "TW": {
+ "name": "తైవాన్"
+ },
+ "TH": {
+ "name": "థాయిలాండ్"
+ },
+ "ZA": {
+ "name": "దక్షిణ ఆఫ్రికా"
+ },
+ "KR": {
+ "name": "దక్షిణ కొరియా"
+ },
+ "GS": {
+ "name": "దక్షిణ జార్జియా & దక్షిణ శాండ్విచ్ దీవులు"
+ },
+ "SS": {
+ "name": "దక్షిణ సూడాన్"
+ },
+ "NA": {
+ "name": "నమీబియా"
+ },
+ "NF": {
+ "name": "నార్ఫోక్ దీవి"
+ },
+ "NO": {
+ "name": "నార్వే"
+ },
+ "NI": {
+ "name": "నికరాగువా"
+ },
+ "NU": {
+ "name": "నియు"
+ },
+ "NL": {
+ "name": "నెదర్లాండ్స్"
+ },
+ "NP": {
+ "name": "నేపాల్"
+ },
+ "NE": {
+ "name": "నైజర్"
+ },
+ "NG": {
+ "name": "నైజీరియా"
+ },
+ "NR": {
+ "name": "నౌరు"
+ },
+ "NZ": {
+ "name": "న్యూజిలాండ్"
+ },
+ "EH": {
+ "name": "పడమటి సహారా"
+ },
+ "PA": {
+ "name": "పనామా"
+ },
+ "PY": {
+ "name": "పరాగ్వే"
+ },
+ "PW": {
+ "name": "పలావు"
+ },
+ "PK": {
+ "name": "పాకిస్తాన్"
+ },
+ "PG": {
+ "name": "పాపువా న్యు గినియా"
+ },
+ "PS": {
+ "name": "పాలస్తీనియన్ ప్రాంతాలు"
+ },
+ "PN": {
+ "name": "పిట్‌కెయిర్న్ దీవులు"
+ },
+ "PE": {
+ "name": "పెరూ"
+ },
+ "PT": {
+ "name": "పోర్చుగల్"
+ },
+ "PL": {
+ "name": "పోలాండ్"
+ },
+ "FK": {
+ "name": "ఫాక్‌ల్యాండ్ దీవులు"
+ },
+ "FO": {
+ "name": "ఫారో దీవులు"
+ },
+ "FJ": {
+ "name": "ఫిజీ"
+ },
+ "FI": {
+ "name": "ఫిన్లాండ్"
+ },
+ "PH": {
+ "name": "ఫిలిప్పీన్స్"
+ },
+ "PR": {
+ "name": "ఫ్యూర్టో రికో"
+ },
+ "FR": {
+ "name": "ఫ్రాన్స్‌"
+ },
+ "GF": {
+ "name": "ఫ్రెంచ్ గియానా"
+ },
+ "TF": {
+ "name": "ఫ్రెంచ్ దక్షిణ ప్రాంతాలు"
+ },
+ "PF": {
+ "name": "ఫ్రెంచ్ పోలినిషియా"
+ },
+ "BD": {
+ "name": "బంగ్లాదేశ్"
+ },
+ "BG": {
+ "name": "బల్గేరియా"
+ },
+ "BS": {
+ "name": "బహామాస్"
+ },
+ "BH": {
+ "name": "బహ్రెయిన్"
+ },
+ "BB": {
+ "name": "బార్బడోస్"
+ },
+ "BI": {
+ "name": "బురుండి"
+ },
+ "BF": {
+ "name": "బుర్కినా ఫాసో"
+ },
+ "BJ": {
+ "name": "బెనిన్"
+ },
+ "BM": {
+ "name": "బెర్ముడా"
+ },
+ "BY": {
+ "name": "బెలారస్"
+ },
+ "BZ": {
+ "name": "బెలిజ్"
+ },
+ "BE": {
+ "name": "బెల్జియం"
+ },
+ "BO": {
+ "name": "బొలీవియా"
+ },
+ "BW": {
+ "name": "బోట్స్వానా"
+ },
+ "BA": {
+ "name": "బోస్నియా మరియు హెర్జెగొవీనా"
+ },
+ "VG": {
+ "name": "బ్రిటిష్ వర్జిన్ దీవులు"
+ },
+ "IO": {
+ "name": "బ్రిటీష్ భారతీయ సముద్రపు ప్రాంతం"
+ },
+ "BN": {
+ "name": "బ్రూనై"
+ },
+ "BR": {
+ "name": "బ్రెజిల్"
+ },
+ "IN": {
+ "name": "భారత దేశం"
+ },
+ "BT": {
+ "name": "భూటాన్"
+ },
+ "MN": {
+ "name": "మంగోలియా"
+ },
+ "MO": {
+ "name": "మకావు ఎస్ఏఆర్ చైనా"
+ },
+ "MG": {
+ "name": "మడగాస్కర్"
+ },
+ "MM": {
+ "name": "మయన్మార్ (బర్మా)"
+ },
+ "MY": {
+ "name": "మలేషియా"
+ },
+ "YT": {
+ "name": "మాయొట్టి"
+ },
+ "MU": {
+ "name": "మారిషస్"
+ },
+ "MQ": {
+ "name": "మార్టినిక్"
+ },
+ "MH": {
+ "name": "మార్షల్ దీవులు"
+ },
+ "MW": {
+ "name": "మాలావి"
+ },
+ "ML": {
+ "name": "మాలి"
+ },
+ "MT": {
+ "name": "మాల్టా"
+ },
+ "MV": {
+ "name": "మాల్దీవులు"
+ },
+ "MX": {
+ "name": "మెక్సికో"
+ },
+ "MK": {
+ "name": "మేసిడోనియా"
+ },
+ "FM": {
+ "name": "మైక్రోనేషియా"
+ },
+ "MZ": {
+ "name": "మొజాంబిక్"
+ },
+ "MC": {
+ "name": "మొనాకో"
+ },
+ "MA": {
+ "name": "మొరాకో"
+ },
+ "ME": {
+ "name": "మోంటేనేగ్రో"
+ },
+ "MS": {
+ "name": "మోంట్సేర్రాట్"
+ },
+ "MD": {
+ "name": "మోల్డోవా"
+ },
+ "MR": {
+ "name": "మౌరిటేనియా"
+ },
+ "VI": {
+ "name": "యు.ఎస్. వర్జిన్ దీవులు"
+ },
+ "AE": {
+ "name": "యునైటెడ్ అరబ్ ఎమిరేట్స్"
+ },
+ "GB": {
+ "name": "యునైటెడ్ కింగ్‌డమ్"
+ },
+ "YE": {
+ "name": "యెమెన్"
+ },
+ "RU": {
+ "name": "రష్యా"
+ },
+ "RE": {
+ "name": "రియూనియన్"
+ },
+ "RW": {
+ "name": "రువాండా"
+ },
+ "RO": {
+ "name": "రోమానియా"
+ },
+ "LU": {
+ "name": "లక్సంబర్గ్"
+ },
+ "LV": {
+ "name": "లాత్వియా"
+ },
+ "LA": {
+ "name": "లావోస్"
+ },
+ "LI": {
+ "name": "లిక్టెస్టేన్"
+ },
+ "LT": {
+ "name": "లిథువేనియా"
+ },
+ "LY": {
+ "name": "లిబియా"
+ },
+ "LB": {
+ "name": "లెబనాన్"
+ },
+ "LS": {
+ "name": "లెసోతో"
+ },
+ "LR": {
+ "name": "లైబీరియా"
+ },
+ "VU": {
+ "name": "వనాటు"
+ },
+ "VA": {
+ "name": "వాటికన్ నగరం"
+ },
+ "WF": {
+ "name": "వాలిస్ & ఫ్యుత్యునా"
+ },
+ "VN": {
+ "name": "వియత్నాం"
+ },
+ "VE": {
+ "name": "వెనుజులా"
+ },
+ "LK": {
+ "name": "శ్రీలంక"
+ },
+ "UM": {
+ "name": "సంయుక్త రాజ్య అమెరికా బయట ఉన్న దీవులు"
+ },
+ "WS": {
+ "name": "సమోవా"
+ },
+ "SM": {
+ "name": "సాన్ మారినో"
+ },
+ "ST": {
+ "name": "సావోటోమ్ & ప్రిన్సిపే"
+ },
+ "SG": {
+ "name": "సింగపూర్"
+ },
+ "SX": {
+ "name": "సింట్ మార్టెన్"
+ },
+ "SL": {
+ "name": "సియెర్రా లియాన్"
+ },
+ "SY": {
+ "name": "సిరియా"
+ },
+ "SC": {
+ "name": "సీషెల్స్"
+ },
+ "SD": {
+ "name": "సూడాన్"
+ },
+ "SR": {
+ "name": "సూరినామ్"
+ },
+ "KN": {
+ "name": "సెంట్ కిట్ట్స్ మరియు నెవిస్"
+ },
+ "PM": {
+ "name": "సెంట్ పియెర్ మరియు మికెలాన్"
+ },
+ "BL": {
+ "name": "సెంట్ బర్తేలెమీ"
+ },
+ "MF": {
+ "name": "సెంట్ మార్టిన్"
+ },
+ "LC": {
+ "name": "సెంట్ లూసియా"
+ },
+ "VC": {
+ "name": "సెంట్ విన్సెంట్ మరియు గ్రెనడీన్స్"
+ },
+ "CF": {
+ "name": "సెంట్రల్ ఆఫ్రికన్ రిపబ్లిక్"
+ },
+ "SN": {
+ "name": "సెనెగల్"
+ },
+ "SH": {
+ "name": "సెయింట్ హెలినా"
+ },
+ "RS": {
+ "name": "సెర్బియా"
+ },
+ "CY": {
+ "name": "సైప్రస్"
+ },
+ "SO": {
+ "name": "సోమాలియా"
+ },
+ "SB": {
+ "name": "సోలమన్ దీవులు"
+ },
+ "SA": {
+ "name": "సౌదీ అరేబియా"
+ },
+ "ES": {
+ "name": "స్పెయిన్"
+ },
+ "EA": {
+ "name": "స్యూటా & మెలిల్లా"
+ },
+ "SK": {
+ "name": "స్లోవేకియా"
+ },
+ "SI": {
+ "name": "స్లోవేనియా"
+ },
+ "SZ": {
+ "name": "స్వాజిల్యాండ్"
+ },
+ "SJ": {
+ "name": "స్వాల్బార్డ్ మరియు యాన్ మాయేన్"
+ },
+ "CH": {
+ "name": "స్విట్జర్లాండ్"
+ },
+ "SE": {
+ "name": "స్వీడన్"
+ },
+ "HU": {
+ "name": "హంగేరీ"
+ },
+ "HK": {
+ "name": "హాంకాంగ్ ఎస్ఏఆర్ చైనా"
+ },
+ "HT": {
+ "name": "హైటి"
+ },
+ "HN": {
+ "name": "హోండురాస్"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/teo.json b/vendor/commerceguys/intl/resources/country/teo.json
new file mode 100644
index 000000000..209d31cc4
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/teo.json
@@ -0,0 +1,761 @@
+{
+ "ZA": {
+ "name": "Afrika Kusini"
+ },
+ "AF": {
+ "name": "Afuganistani"
+ },
+ "IS": {
+ "name": "Aislandi"
+ },
+ "AR": {
+ "name": "Ajentina"
+ },
+ "AX": {
+ "name": "Åland Islands"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Aljeria"
+ },
+ "AD": {
+ "name": "Andora"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigua na Barbuda"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "IE": {
+ "name": "Ayalandi"
+ },
+ "AZ": {
+ "name": "Azabajani"
+ },
+ "BB": {
+ "name": "Babadosi"
+ },
+ "BS": {
+ "name": "Bahama"
+ },
+ "BH": {
+ "name": "Bahareni"
+ },
+ "BD": {
+ "name": "Bangladeshi"
+ },
+ "BY": {
+ "name": "Belarusi"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benini"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia na Hezegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brazili"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BF": {
+ "name": "Bukinafaso"
+ },
+ "MG": {
+ "name": "Bukini"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Butani"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "TD": {
+ "name": "Chadi"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Denmaki"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "EC": {
+ "name": "Ekwado"
+ },
+ "SV": {
+ "name": "Elsavado"
+ },
+ "IO": {
+ "name": "Eneo la Uingereza katika Bahari Hindi"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "AE": {
+ "name": "Falme za Kiarabu"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filipino"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gaboni"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GN": {
+ "name": "Gine"
+ },
+ "GW": {
+ "name": "Ginebisau"
+ },
+ "GQ": {
+ "name": "Ginekweta"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GL": {
+ "name": "Grinlandi"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "GP": {
+ "name": "Gwadelupe"
+ },
+ "GU": {
+ "name": "Gwam"
+ },
+ "GT": {
+ "name": "Gwatemala"
+ },
+ "GF": {
+ "name": "Gwiyana ya Ufaransa"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "ES": {
+ "name": "Hispania"
+ },
+ "HN": {
+ "name": "Hondurasi"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hungaria"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IQ": {
+ "name": "Iraki"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israeli"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JM": {
+ "name": "Jamaika"
+ },
+ "CF": {
+ "name": "Jamhuri ya Afrika ya Kati"
+ },
+ "CZ": {
+ "name": "Jamhuri ya Cheki"
+ },
+ "DO": {
+ "name": "Jamhuri ya Dominika"
+ },
+ "CD": {
+ "name": "Jamhuri ya Kidemokrasia ya Kongo"
+ },
+ "JP": {
+ "name": "Japani"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "GI": {
+ "name": "Jibralta"
+ },
+ "DJ": {
+ "name": "Jibuti"
+ },
+ "GE": {
+ "name": "Jojia"
+ },
+ "KH": {
+ "name": "Kambodia"
+ },
+ "CM": {
+ "name": "Kameruni"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "QA": {
+ "name": "Katari"
+ },
+ "KZ": {
+ "name": "Kazakistani"
+ },
+ "KE": {
+ "name": "Kenia"
+ },
+ "CV": {
+ "name": "Kepuvede"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "KG": {
+ "name": "Kirigizistani"
+ },
+ "NF": {
+ "name": "Kisiwa cha Norfok"
+ },
+ "CI": {
+ "name": "Kodivaa"
+ },
+ "CO": {
+ "name": "Kolombia"
+ },
+ "KM": {
+ "name": "Komoro"
+ },
+ "CG": {
+ "name": "Kongo"
+ },
+ "HR": {
+ "name": "Korasia"
+ },
+ "KP": {
+ "name": "Korea Kaskazini"
+ },
+ "KR": {
+ "name": "Korea Kusini"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "Kostarika"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "CY": {
+ "name": "Kuprosi"
+ },
+ "KW": {
+ "name": "Kuwaiti"
+ },
+ "LA": {
+ "name": "Laosi"
+ },
+ "LU": {
+ "name": "Lasembagi"
+ },
+ "LV": {
+ "name": "Lativia"
+ },
+ "LB": {
+ "name": "Lebanoni"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Lishenteni"
+ },
+ "LT": {
+ "name": "Litwania"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malesia"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "US": {
+ "name": "Marekani"
+ },
+ "MQ": {
+ "name": "Martiniki"
+ },
+ "MK": {
+ "name": "Masedonia"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Meksiko"
+ },
+ "FM": {
+ "name": "Mikronesia"
+ },
+ "EG": {
+ "name": "Misri"
+ },
+ "MV": {
+ "name": "Modivu"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrati"
+ },
+ "MU": {
+ "name": "Morisi"
+ },
+ "MR": {
+ "name": "Moritania"
+ },
+ "MA": {
+ "name": "Moroko"
+ },
+ "MZ": {
+ "name": "Msumbiji"
+ },
+ "MM": {
+ "name": "Myama"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepali"
+ },
+ "NE": {
+ "name": "Nijeri"
+ },
+ "NG": {
+ "name": "Nijeria"
+ },
+ "NI": {
+ "name": "Nikaragwa"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Norwe"
+ },
+ "NC": {
+ "name": "Nyukaledonia"
+ },
+ "NZ": {
+ "name": "Nyuzilandi"
+ },
+ "OM": {
+ "name": "Omani"
+ },
+ "PK": {
+ "name": "Pakistani"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua"
+ },
+ "PY": {
+ "name": "Paragwai"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitkairni"
+ },
+ "PL": {
+ "name": "Polandi"
+ },
+ "PF": {
+ "name": "Polinesia ya Ufaransa"
+ },
+ "PR": {
+ "name": "Pwetoriko"
+ },
+ "RE": {
+ "name": "Riyunioni"
+ },
+ "RO": {
+ "name": "Romania"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "SM": {
+ "name": "Samarino"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa ya Marekani"
+ },
+ "SH": {
+ "name": "Santahelena"
+ },
+ "KN": {
+ "name": "Santakitzi na Nevis"
+ },
+ "LC": {
+ "name": "Santalusia"
+ },
+ "PM": {
+ "name": "Santapieri na Mikeloni"
+ },
+ "VC": {
+ "name": "Santavisenti na Grenadini"
+ },
+ "ST": {
+ "name": "Sao Tome na Principe"
+ },
+ "SA": {
+ "name": "Saudi"
+ },
+ "SN": {
+ "name": "Senegali"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Shelisheli"
+ },
+ "SL": {
+ "name": "Siera Leoni"
+ },
+ "SG": {
+ "name": "Singapoo"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Siria"
+ },
+ "LK": {
+ "name": "Sirilanka"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SD": {
+ "name": "Sudani"
+ },
+ "SR": {
+ "name": "Surinamu"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailandi"
+ },
+ "TW": {
+ "name": "Taiwani"
+ },
+ "TJ": {
+ "name": "Tajikistani"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TL": {
+ "name": "Timori ya Mashariki"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad na Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TM": {
+ "name": "Turukimenistani"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "IR": {
+ "name": "Uajemi"
+ },
+ "BE": {
+ "name": "Ubelgiji"
+ },
+ "FR": {
+ "name": "Ufaransa"
+ },
+ "FI": {
+ "name": "Ufini"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "GR": {
+ "name": "Ugiriki"
+ },
+ "ET": {
+ "name": "Uhabeshi"
+ },
+ "NL": {
+ "name": "Uholanzi"
+ },
+ "GB": {
+ "name": "Uingereza"
+ },
+ "DE": {
+ "name": "Ujerumani"
+ },
+ "PS": {
+ "name": "Ukingo wa Magharibi na Ukanda wa Gaza wa Palestina"
+ },
+ "UA": {
+ "name": "Ukraini"
+ },
+ "PT": {
+ "name": "Ureno"
+ },
+ "UY": {
+ "name": "Urugwai"
+ },
+ "RU": {
+ "name": "Urusi"
+ },
+ "SZ": {
+ "name": "Uswazi"
+ },
+ "SE": {
+ "name": "Uswidi"
+ },
+ "CH": {
+ "name": "Uswisi"
+ },
+ "TR": {
+ "name": "Uturuki"
+ },
+ "UZ": {
+ "name": "Uzibekistani"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikani"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietinamu"
+ },
+ "CK": {
+ "name": "Visiwa vya Cook"
+ },
+ "FK": {
+ "name": "Visiwa vya Falkland"
+ },
+ "KY": {
+ "name": "Visiwa vya Kayman"
+ },
+ "MP": {
+ "name": "Visiwa vya Mariana vya Kaskazini"
+ },
+ "MH": {
+ "name": "Visiwa vya Marshal"
+ },
+ "SB": {
+ "name": "Visiwa vya Solomon"
+ },
+ "TC": {
+ "name": "Visiwa vya Turki na Kaiko"
+ },
+ "VI": {
+ "name": "Visiwa vya Virgin vya Marekani"
+ },
+ "VG": {
+ "name": "Visiwa vya Virgin vya Uingereza"
+ },
+ "WF": {
+ "name": "Walis na Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yemeni"
+ },
+ "JO": {
+ "name": "Yordani"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/th.json b/vendor/commerceguys/intl/resources/country/th.json
new file mode 100644
index 000000000..91124bec9
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/th.json
@@ -0,0 +1,761 @@
+{
+ "GR": {
+ "name": "กรีซ"
+ },
+ "GL": {
+ "name": "กรีนแลนด์"
+ },
+ "GU": {
+ "name": "กวม"
+ },
+ "GP": {
+ "name": "กวาเดอลูป"
+ },
+ "KH": {
+ "name": "กัมพูชา"
+ },
+ "GT": {
+ "name": "กัวเตมาลา"
+ },
+ "QA": {
+ "name": "กาตาร์"
+ },
+ "GH": {
+ "name": "กานา"
+ },
+ "GA": {
+ "name": "กาบอง"
+ },
+ "GY": {
+ "name": "กายอานา"
+ },
+ "GN": {
+ "name": "กินี"
+ },
+ "GW": {
+ "name": "กินี-บิสเซา"
+ },
+ "GD": {
+ "name": "เกรเนดา"
+ },
+ "KR": {
+ "name": "เกาหลีใต้"
+ },
+ "KP": {
+ "name": "เกาหลีเหนือ"
+ },
+ "CX": {
+ "name": "เกาะคริสต์มาส"
+ },
+ "GS": {
+ "name": "เกาะเซาท์จอร์เจียและหมู่เกาะเซาท์แซนด์วิช"
+ },
+ "NF": {
+ "name": "เกาะนอร์ฟอล์ก"
+ },
+ "IM": {
+ "name": "เกาะแมน"
+ },
+ "AC": {
+ "name": "เกาะแอสเซนชัน"
+ },
+ "GG": {
+ "name": "เกิร์นซีย์"
+ },
+ "GM": {
+ "name": "แกมเบีย"
+ },
+ "CI": {
+ "name": "โกตดิวัวร์"
+ },
+ "MO": {
+ "name": "เขตปกครองพิเศษมาเก๊าแห่งสาธารณรัฐประชาชนจีน"
+ },
+ "HK": {
+ "name": "เขตปกครองพิเศษฮ่องกงแห่งสาธารณรัฐประชาชนจีน"
+ },
+ "CD": {
+ "name": "คองโก-กินชาซา"
+ },
+ "CG": {
+ "name": "คองโก-บราซซาวิล"
+ },
+ "KM": {
+ "name": "คอโมโรส"
+ },
+ "CR": {
+ "name": "คอสตาริกา"
+ },
+ "KZ": {
+ "name": "คาซัคสถาน"
+ },
+ "KI": {
+ "name": "คิริบาส"
+ },
+ "CU": {
+ "name": "คิวบา"
+ },
+ "KG": {
+ "name": "คีร์กีซสถาน"
+ },
+ "CW": {
+ "name": "คูราเซา"
+ },
+ "KW": {
+ "name": "คูเวต"
+ },
+ "KE": {
+ "name": "เคนยา"
+ },
+ "CV": {
+ "name": "เคปเวิร์ด"
+ },
+ "CA": {
+ "name": "แคนาดา"
+ },
+ "CM": {
+ "name": "แคเมอรูน"
+ },
+ "XK": {
+ "name": "โคโซโว"
+ },
+ "HR": {
+ "name": "โครเอเชีย"
+ },
+ "CO": {
+ "name": "โคลอมเบีย"
+ },
+ "GE": {
+ "name": "จอร์เจีย"
+ },
+ "JO": {
+ "name": "จอร์แดน"
+ },
+ "JM": {
+ "name": "จาเมกา"
+ },
+ "DJ": {
+ "name": "จิบูตี"
+ },
+ "CN": {
+ "name": "จีน"
+ },
+ "JE": {
+ "name": "เจอร์ซีย์"
+ },
+ "TD": {
+ "name": "ชาด"
+ },
+ "CL": {
+ "name": "ชิลี"
+ },
+ "SM": {
+ "name": "ซานมารีโน"
+ },
+ "WS": {
+ "name": "ซามัว"
+ },
+ "SA": {
+ "name": "ซาอุดีอาระเบีย"
+ },
+ "EH": {
+ "name": "ซาฮาราตะวันตก"
+ },
+ "ZW": {
+ "name": "ซิมบับเว"
+ },
+ "SY": {
+ "name": "ซีเรีย"
+ },
+ "SD": {
+ "name": "ซูดาน"
+ },
+ "SS": {
+ "name": "ซูดานใต้"
+ },
+ "SR": {
+ "name": "ซูรินาเม"
+ },
+ "SC": {
+ "name": "เซเชลส์"
+ },
+ "KN": {
+ "name": "เซนต์คิตส์และเนวิส"
+ },
+ "BL": {
+ "name": "เซนต์บาร์เธเลมี"
+ },
+ "MF": {
+ "name": "เซนต์มาติน"
+ },
+ "SX": {
+ "name": "เซนต์มาร์ติน"
+ },
+ "LC": {
+ "name": "เซนต์ลูเซีย"
+ },
+ "VC": {
+ "name": "เซนต์วินเซนต์และเกรนาดีนส์"
+ },
+ "SH": {
+ "name": "เซนต์เฮเลนา"
+ },
+ "SN": {
+ "name": "เซเนกัล"
+ },
+ "EA": {
+ "name": "เซวตาและเมลียา"
+ },
+ "RS": {
+ "name": "เซอร์เบีย"
+ },
+ "ST": {
+ "name": "เซาตูเมและปรินซิปี"
+ },
+ "SL": {
+ "name": "เซียร์ราลีโอน"
+ },
+ "PM": {
+ "name": "แซงปีแยร์และมีเกอลง"
+ },
+ "ZM": {
+ "name": "แซมเบีย"
+ },
+ "SO": {
+ "name": "โซมาเลีย"
+ },
+ "CY": {
+ "name": "ไซปรัส"
+ },
+ "JP": {
+ "name": "ญี่ปุ่น"
+ },
+ "PS": {
+ "name": "ดินแดนปาเลสไตน์"
+ },
+ "DG": {
+ "name": "ดิเอโกการ์เซีย"
+ },
+ "DK": {
+ "name": "เดนมาร์ก"
+ },
+ "DM": {
+ "name": "โดมินิกา"
+ },
+ "TT": {
+ "name": "ตรินิแดดและโตเบโก"
+ },
+ "TO": {
+ "name": "ตองกา"
+ },
+ "TL": {
+ "name": "ติมอร์-เลสเต"
+ },
+ "TR": {
+ "name": "ตุรกี"
+ },
+ "TN": {
+ "name": "ตูนิเซีย"
+ },
+ "TV": {
+ "name": "ตูวาลู"
+ },
+ "TM": {
+ "name": "เติร์กเมนิสถาน"
+ },
+ "TK": {
+ "name": "โตเกเลา"
+ },
+ "TG": {
+ "name": "โตโก"
+ },
+ "TW": {
+ "name": "ไต้หวัน"
+ },
+ "TA": {
+ "name": "ทริสตัน เดอ คูนา"
+ },
+ "TJ": {
+ "name": "ทาจิกิสถาน"
+ },
+ "TZ": {
+ "name": "แทนซาเนีย"
+ },
+ "TH": {
+ "name": "ไทย"
+ },
+ "VA": {
+ "name": "นครวาติกัน"
+ },
+ "NO": {
+ "name": "นอร์เวย์"
+ },
+ "NA": {
+ "name": "นามิเบีย"
+ },
+ "NR": {
+ "name": "นาอูรู"
+ },
+ "NI": {
+ "name": "นิการากัว"
+ },
+ "NC": {
+ "name": "นิวแคลิโดเนีย"
+ },
+ "NZ": {
+ "name": "นิวซีแลนด์"
+ },
+ "NU": {
+ "name": "นีอูเอ"
+ },
+ "NL": {
+ "name": "เนเธอร์แลนด์"
+ },
+ "BQ": {
+ "name": "เนเธอร์แลนด์แคริบเบียน"
+ },
+ "NP": {
+ "name": "เนปาล"
+ },
+ "NG": {
+ "name": "ไนจีเรีย"
+ },
+ "NE": {
+ "name": "ไนเจอร์"
+ },
+ "BR": {
+ "name": "บราซิล"
+ },
+ "IO": {
+ "name": "บริติชอินเดียนโอเชียนเทร์ริทอรี"
+ },
+ "BN": {
+ "name": "บรูไน"
+ },
+ "BW": {
+ "name": "บอตสวานา"
+ },
+ "BA": {
+ "name": "บอสเนียและเฮอร์เซโกวีนา"
+ },
+ "BD": {
+ "name": "บังกลาเทศ"
+ },
+ "BG": {
+ "name": "บัลแกเรีย"
+ },
+ "BB": {
+ "name": "บาร์เบโดส"
+ },
+ "BH": {
+ "name": "บาห์เรน"
+ },
+ "BS": {
+ "name": "บาฮามาส"
+ },
+ "BI": {
+ "name": "บุรุนดี"
+ },
+ "BF": {
+ "name": "บูร์กินาฟาโซ"
+ },
+ "BJ": {
+ "name": "เบนิน"
+ },
+ "BE": {
+ "name": "เบลเยียม"
+ },
+ "BY": {
+ "name": "เบลารุส"
+ },
+ "BZ": {
+ "name": "เบลีซ"
+ },
+ "BM": {
+ "name": "เบอร์มิวดา"
+ },
+ "BO": {
+ "name": "โบลิเวีย"
+ },
+ "PK": {
+ "name": "ปากีสถาน"
+ },
+ "PA": {
+ "name": "ปานามา"
+ },
+ "PG": {
+ "name": "ปาปัวนิวกินี"
+ },
+ "PY": {
+ "name": "ปารากวัย"
+ },
+ "PW": {
+ "name": "ปาเลา"
+ },
+ "PE": {
+ "name": "เปรู"
+ },
+ "PR": {
+ "name": "เปอร์โตริโก"
+ },
+ "PT": {
+ "name": "โปรตุเกส"
+ },
+ "PL": {
+ "name": "โปแลนด์"
+ },
+ "FR": {
+ "name": "ฝรั่งเศส"
+ },
+ "FJ": {
+ "name": "ฟิจิ"
+ },
+ "FI": {
+ "name": "ฟินแลนด์"
+ },
+ "PH": {
+ "name": "ฟิลิปปินส์"
+ },
+ "GF": {
+ "name": "เฟรนช์เกียนา"
+ },
+ "TF": {
+ "name": "เฟรนช์เซาเทิร์นเทร์ริทอรีส์"
+ },
+ "PF": {
+ "name": "เฟรนช์โปลินีเซีย"
+ },
+ "BT": {
+ "name": "ภูฏาน"
+ },
+ "MN": {
+ "name": "มองโกเลีย"
+ },
+ "MS": {
+ "name": "มอนต์เซอร์รัต"
+ },
+ "ME": {
+ "name": "มอนเตเนโกร"
+ },
+ "MU": {
+ "name": "มอริเชียส"
+ },
+ "MR": {
+ "name": "มอริเตเนีย"
+ },
+ "MD": {
+ "name": "มอลโดวา"
+ },
+ "MT": {
+ "name": "มอลตา"
+ },
+ "MV": {
+ "name": "มัลดีฟส์"
+ },
+ "MK": {
+ "name": "มาซิโดเนีย"
+ },
+ "MG": {
+ "name": "มาดากัสการ์"
+ },
+ "YT": {
+ "name": "มายอต"
+ },
+ "MQ": {
+ "name": "มาร์ตินีก"
+ },
+ "MW": {
+ "name": "มาลาวี"
+ },
+ "ML": {
+ "name": "มาลี"
+ },
+ "MY": {
+ "name": "มาเลเซีย"
+ },
+ "MX": {
+ "name": "เม็กซิโก"
+ },
+ "MM": {
+ "name": "เมียนมาร์ (พม่า)"
+ },
+ "MZ": {
+ "name": "โมซัมบิก"
+ },
+ "MC": {
+ "name": "โมนาโก"
+ },
+ "MA": {
+ "name": "โมร็อกโก"
+ },
+ "FM": {
+ "name": "ไมโครนีเซีย"
+ },
+ "GI": {
+ "name": "ยิบรอลตาร์"
+ },
+ "UG": {
+ "name": "ยูกันดา"
+ },
+ "UA": {
+ "name": "ยูเครน"
+ },
+ "YE": {
+ "name": "เยเมน"
+ },
+ "DE": {
+ "name": "เยอรมนี"
+ },
+ "RW": {
+ "name": "รวันดา"
+ },
+ "RU": {
+ "name": "รัสเซีย"
+ },
+ "RE": {
+ "name": "เรอูนียง"
+ },
+ "RO": {
+ "name": "โรมาเนีย"
+ },
+ "LU": {
+ "name": "ลักเซมเบิร์ก"
+ },
+ "LV": {
+ "name": "ลัตเวีย"
+ },
+ "LA": {
+ "name": "ลาว"
+ },
+ "LI": {
+ "name": "ลิกเตนสไตน์"
+ },
+ "LT": {
+ "name": "ลิทัวเนีย"
+ },
+ "LY": {
+ "name": "ลิเบีย"
+ },
+ "LS": {
+ "name": "เลโซโท"
+ },
+ "LB": {
+ "name": "เลบานอน"
+ },
+ "LR": {
+ "name": "ไลบีเรีย"
+ },
+ "VU": {
+ "name": "วานูอาตู"
+ },
+ "WF": {
+ "name": "วาลลิสและฟุตูนา"
+ },
+ "VE": {
+ "name": "เวเนซุเอลา"
+ },
+ "VN": {
+ "name": "เวียดนาม"
+ },
+ "LK": {
+ "name": "ศรีลังกา"
+ },
+ "ES": {
+ "name": "สเปน"
+ },
+ "SJ": {
+ "name": "สฟาลบาร์และยานไมเอน"
+ },
+ "SK": {
+ "name": "สโลวะเกีย"
+ },
+ "SI": {
+ "name": "สโลวีเนีย"
+ },
+ "SZ": {
+ "name": "สวาซิแลนด์"
+ },
+ "CH": {
+ "name": "สวิตเซอร์แลนด์"
+ },
+ "SE": {
+ "name": "สวีเดน"
+ },
+ "US": {
+ "name": "สหรัฐอเมริกา"
+ },
+ "AE": {
+ "name": "สหรัฐอาหรับเอมิเรตส์"
+ },
+ "GB": {
+ "name": "สหราชอาณาจักร"
+ },
+ "CZ": {
+ "name": "สาธารณรัฐเช็ก"
+ },
+ "DO": {
+ "name": "สาธารณรัฐโดมินิกัน"
+ },
+ "CF": {
+ "name": "สาธารณรัฐแอฟริกากลาง"
+ },
+ "SG": {
+ "name": "สิงคโปร์"
+ },
+ "IC": {
+ "name": "หมู่เกาะคานารี"
+ },
+ "CK": {
+ "name": "หมู่เกาะคุก"
+ },
+ "KY": {
+ "name": "หมู่เกาะเคย์แมน"
+ },
+ "CC": {
+ "name": "หมู่เกาะโคโคส (คีลิง)"
+ },
+ "SB": {
+ "name": "หมู่เกาะโซโลมอน"
+ },
+ "TC": {
+ "name": "หมู่เกาะเติกส์และหมู่เกาะเคคอส"
+ },
+ "MP": {
+ "name": "หมู่เกาะนอร์เทิร์นมาเรียนา"
+ },
+ "VG": {
+ "name": "หมู่เกาะบริติชเวอร์จิน"
+ },
+ "PN": {
+ "name": "หมู่เกาะพิตแคร์น"
+ },
+ "FK": {
+ "name": "หมู่เกาะฟอล์กแลนด์"
+ },
+ "FO": {
+ "name": "หมู่เกาะแฟโร"
+ },
+ "MH": {
+ "name": "หมู่เกาะมาร์แชลล์"
+ },
+ "VI": {
+ "name": "หมู่เกาะยูเอสเวอร์จิน"
+ },
+ "UM": {
+ "name": "หมู่เกาะรอบนอกของสหรัฐอเมริกา"
+ },
+ "AX": {
+ "name": "หมู่เกาะโอลันด์"
+ },
+ "AS": {
+ "name": "อเมริกันซามัว"
+ },
+ "AU": {
+ "name": "ออสเตรเลีย"
+ },
+ "AT": {
+ "name": "ออสเตรีย"
+ },
+ "AD": {
+ "name": "อันดอร์รา"
+ },
+ "AF": {
+ "name": "อัฟกานิสถาน"
+ },
+ "AZ": {
+ "name": "อาเซอร์ไบจาน"
+ },
+ "AR": {
+ "name": "อาร์เจนตินา"
+ },
+ "AM": {
+ "name": "อาร์เมเนีย"
+ },
+ "AW": {
+ "name": "อารูบา"
+ },
+ "GQ": {
+ "name": "อิเควทอเรียลกินี"
+ },
+ "IT": {
+ "name": "อิตาลี"
+ },
+ "IN": {
+ "name": "อินเดีย"
+ },
+ "ID": {
+ "name": "อินโดนีเซีย"
+ },
+ "IQ": {
+ "name": "อิรัก"
+ },
+ "IL": {
+ "name": "อิสราเอล"
+ },
+ "IR": {
+ "name": "อิหร่าน"
+ },
+ "EG": {
+ "name": "อียิปต์"
+ },
+ "UZ": {
+ "name": "อุซเบกิสถาน"
+ },
+ "UY": {
+ "name": "อุรุกวัย"
+ },
+ "EC": {
+ "name": "เอกวาดอร์"
+ },
+ "ET": {
+ "name": "เอธิโอเปีย"
+ },
+ "ER": {
+ "name": "เอริเทรีย"
+ },
+ "SV": {
+ "name": "เอลซัลวาดอร์"
+ },
+ "EE": {
+ "name": "เอสโตเนีย"
+ },
+ "AI": {
+ "name": "แองกวิลลา"
+ },
+ "AO": {
+ "name": "แองโกลา"
+ },
+ "AQ": {
+ "name": "แอนตาร์กติกา"
+ },
+ "AG": {
+ "name": "แอนติกาและบาร์บูดา"
+ },
+ "ZA": {
+ "name": "แอฟริกาใต้"
+ },
+ "DZ": {
+ "name": "แอลจีเรีย"
+ },
+ "AL": {
+ "name": "แอลเบเนีย"
+ },
+ "OM": {
+ "name": "โอมาน"
+ },
+ "IS": {
+ "name": "ไอซ์แลนด์"
+ },
+ "IE": {
+ "name": "ไอร์แลนด์"
+ },
+ "HN": {
+ "name": "ฮอนดูรัส"
+ },
+ "HU": {
+ "name": "ฮังการี"
+ },
+ "HT": {
+ "name": "เฮติ"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/to.json b/vendor/commerceguys/intl/resources/country/to.json
new file mode 100644
index 000000000..38fc7193e
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/to.json
@@ -0,0 +1,761 @@
+{
+ "AI": {
+ "name": "Anikuila"
+ },
+ "AG": {
+ "name": "Anitikua mo Palaputa"
+ },
+ "FR": {
+ "name": "Falanisē"
+ },
+ "PH": {
+ "name": "Filipaini"
+ },
+ "FI": {
+ "name": "Finilani"
+ },
+ "FJ": {
+ "name": "Fisi"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "WS": {
+ "name": "Haʻamoa"
+ },
+ "AS": {
+ "name": "Haʻamoa ʻAmelika"
+ },
+ "NL": {
+ "name": "Hōlani"
+ },
+ "HN": {
+ "name": "Honitulasi"
+ },
+ "HK": {
+ "name": "Hongi Kongi SAR Siaina"
+ },
+ "HU": {
+ "name": "Hungakalia"
+ },
+ "YE": {
+ "name": "Iemeni"
+ },
+ "BQ": {
+ "name": "Kalipiane fakahōlani"
+ },
+ "GR": {
+ "name": "Kalisi"
+ },
+ "CM": {
+ "name": "Kameluni"
+ },
+ "GM": {
+ "name": "Kamipia"
+ },
+ "KH": {
+ "name": "Kamipōtia"
+ },
+ "GH": {
+ "name": "Kana"
+ },
+ "CA": {
+ "name": "Kānata"
+ },
+ "GA": {
+ "name": "Kaponi"
+ },
+ "KZ": {
+ "name": "Kasakitani"
+ },
+ "QA": {
+ "name": "Katā"
+ },
+ "GD": {
+ "name": "Kelenatā"
+ },
+ "KE": {
+ "name": "Keniā"
+ },
+ "KG": {
+ "name": "Kīkisitani"
+ },
+ "KI": {
+ "name": "Kilipasi"
+ },
+ "GN": {
+ "name": "Kini"
+ },
+ "GW": {
+ "name": "Kini-Pisau"
+ },
+ "CU": {
+ "name": "Kiupa"
+ },
+ "KP": {
+ "name": "Kōlea tokelau"
+ },
+ "KR": {
+ "name": "Kōlea tonga"
+ },
+ "VA": {
+ "name": "Kolo Vatikani"
+ },
+ "CO": {
+ "name": "Kolomipia"
+ },
+ "KM": {
+ "name": "Komolosi"
+ },
+ "CD": {
+ "name": "Kongo - Kinisasa"
+ },
+ "CG": {
+ "name": "Kongo - Palasavila"
+ },
+ "CR": {
+ "name": "Kosita Lika"
+ },
+ "XK": {
+ "name": "Kōsovo"
+ },
+ "GU": {
+ "name": "Kuamu"
+ },
+ "GP": {
+ "name": "Kuatalupe"
+ },
+ "GT": {
+ "name": "Kuatamala"
+ },
+ "KW": {
+ "name": "Kueiti"
+ },
+ "GG": {
+ "name": "Kuenisī"
+ },
+ "GY": {
+ "name": "Kuiana"
+ },
+ "GF": {
+ "name": "Kuiana fakafalanisē"
+ },
+ "CW": {
+ "name": "Kulasao"
+ },
+ "GL": {
+ "name": "Kulinilani"
+ },
+ "HR": {
+ "name": "Kuloisia"
+ },
+ "LR": {
+ "name": "Laipelia"
+ },
+ "LU": {
+ "name": "Lakisimipeki"
+ },
+ "LV": {
+ "name": "Lativia"
+ },
+ "LA": {
+ "name": "Lau"
+ },
+ "LB": {
+ "name": "Lepanoni"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "RE": {
+ "name": "Lēunioni"
+ },
+ "LI": {
+ "name": "Likitenisiteini"
+ },
+ "CZ": {
+ "name": "Lipapilika Seki"
+ },
+ "DO": {
+ "name": "Lipapilika Tominika"
+ },
+ "CF": {
+ "name": "Lipapilika ʻAfilika Lotoloto"
+ },
+ "LY": {
+ "name": "Līpia"
+ },
+ "LT": {
+ "name": "Lituania"
+ },
+ "RO": {
+ "name": "Lomēnia"
+ },
+ "RW": {
+ "name": "Luanitā"
+ },
+ "RU": {
+ "name": "Lūsia"
+ },
+ "YT": {
+ "name": "Maiote"
+ },
+ "MO": {
+ "name": "Makau SAR Siaina"
+ },
+ "MV": {
+ "name": "Malativisi"
+ },
+ "MW": {
+ "name": "Malaui"
+ },
+ "MY": {
+ "name": "Malēsia"
+ },
+ "ML": {
+ "name": "Māli"
+ },
+ "MT": {
+ "name": "Malita"
+ },
+ "MK": {
+ "name": "Masetōnia"
+ },
+ "CI": {
+ "name": "Matafonua ʻAivolī"
+ },
+ "MG": {
+ "name": "Matakasika"
+ },
+ "MQ": {
+ "name": "Māteniki"
+ },
+ "MR": {
+ "name": "Maulitenia"
+ },
+ "MU": {
+ "name": "Maulitiusi"
+ },
+ "MX": {
+ "name": "Mekisikou"
+ },
+ "FM": {
+ "name": "Mikolonīsia"
+ },
+ "MA": {
+ "name": "Moloko"
+ },
+ "MD": {
+ "name": "Molotova"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "ME": {
+ "name": "Monitenikalo"
+ },
+ "MN": {
+ "name": "Mongokōlia"
+ },
+ "MZ": {
+ "name": "Mosēmipiki"
+ },
+ "CX": {
+ "name": "Motu Kilisimasi"
+ },
+ "IM": {
+ "name": "Motu Mani"
+ },
+ "NF": {
+ "name": "Motu Nōfoliki"
+ },
+ "AC": {
+ "name": "Motu ʻAsenisini"
+ },
+ "MS": {
+ "name": "Moʻungaselati"
+ },
+ "CV": {
+ "name": "Muiʻi Vēte"
+ },
+ "NG": {
+ "name": "Naisilia"
+ },
+ "NA": {
+ "name": "Namipia"
+ },
+ "NR": {
+ "name": "Naulu"
+ },
+ "NP": {
+ "name": "Nepali"
+ },
+ "NI": {
+ "name": "Nikalakua"
+ },
+ "NE": {
+ "name": "Nisia"
+ },
+ "NC": {
+ "name": "Niu Kaletōnia"
+ },
+ "NU": {
+ "name": "Niuē"
+ },
+ "NO": {
+ "name": "Noauē"
+ },
+ "NZ": {
+ "name": "Nuʻusila"
+ },
+ "BS": {
+ "name": "Pahama"
+ },
+ "PK": {
+ "name": "Pākisitani"
+ },
+ "PY": {
+ "name": "Palakuai"
+ },
+ "BR": {
+ "name": "Palāsili"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "BH": {
+ "name": "Paleini"
+ },
+ "PA": {
+ "name": "Panamā"
+ },
+ "BB": {
+ "name": "Pāpeitosi"
+ },
+ "PG": {
+ "name": "Papuaniukini"
+ },
+ "BF": {
+ "name": "Pekano Faso"
+ },
+ "BY": {
+ "name": "Pelalusi"
+ },
+ "BE": {
+ "name": "Pelesiume"
+ },
+ "BZ": {
+ "name": "Pelise"
+ },
+ "PE": {
+ "name": "Pelū"
+ },
+ "MM": {
+ "name": "Pema"
+ },
+ "BM": {
+ "name": "Pēmuta"
+ },
+ "BJ": {
+ "name": "Penini"
+ },
+ "BD": {
+ "name": "Pengilātesi"
+ },
+ "GB": {
+ "name": "Pilitānia"
+ },
+ "PL": {
+ "name": "Polani"
+ },
+ "PF": {
+ "name": "Polinisia fakafalanisē"
+ },
+ "BO": {
+ "name": "Polīvia"
+ },
+ "BA": {
+ "name": "Posinia mo Hesikōvina"
+ },
+ "BW": {
+ "name": "Potisiuana"
+ },
+ "IO": {
+ "name": "Potu fonua moana ʻInitia fakapilitānia"
+ },
+ "TF": {
+ "name": "Potu fonua tonga fakafalanisē"
+ },
+ "PS": {
+ "name": "Potu Palesitaine"
+ },
+ "PT": {
+ "name": "Potukali"
+ },
+ "PR": {
+ "name": "Puēto Liko"
+ },
+ "US": {
+ "name": "Puleʻanga fakatahataha ʻAmelika"
+ },
+ "BG": {
+ "name": "Pulukalia"
+ },
+ "BN": {
+ "name": "Pulunei"
+ },
+ "BI": {
+ "name": "Puluniti"
+ },
+ "BT": {
+ "name": "Pūtani"
+ },
+ "SH": {
+ "name": "Sā Helena"
+ },
+ "KN": {
+ "name": "Sā Kitisi mo Nevisi"
+ },
+ "LC": {
+ "name": "Sā Lūsia"
+ },
+ "SM": {
+ "name": "Sā Malino"
+ },
+ "MF": {
+ "name": "Sā Mātini (fakafalanisē)"
+ },
+ "SX": {
+ "name": "Sā Mātini (fakahōlani)"
+ },
+ "BL": {
+ "name": "Sā Patēlemi"
+ },
+ "PM": {
+ "name": "Sā Piea mo Mikeloni"
+ },
+ "VC": {
+ "name": "Sā Viniseni mo Kulenatini"
+ },
+ "EH": {
+ "name": "Sahala fakahihifo"
+ },
+ "CY": {
+ "name": "Saipalesi"
+ },
+ "JM": {
+ "name": "Samaika"
+ },
+ "ST": {
+ "name": "Sao Tomē mo Pilinisipe"
+ },
+ "TD": {
+ "name": "Sāti"
+ },
+ "SA": {
+ "name": "Saute ʻAlepea"
+ },
+ "JE": {
+ "name": "Selusī"
+ },
+ "ZM": {
+ "name": "Semipia"
+ },
+ "SN": {
+ "name": "Senekalo"
+ },
+ "GE": {
+ "name": "Seōsia"
+ },
+ "RS": {
+ "name": "Sēpia"
+ },
+ "CN": {
+ "name": "Siaina"
+ },
+ "DE": {
+ "name": "Siamane"
+ },
+ "JP": {
+ "name": "Siapani"
+ },
+ "SL": {
+ "name": "Siela Leone"
+ },
+ "LK": {
+ "name": "Sīlangikā"
+ },
+ "CL": {
+ "name": "Sili"
+ },
+ "SY": {
+ "name": "Sīlia"
+ },
+ "SK": {
+ "name": "Silōvakia"
+ },
+ "SI": {
+ "name": "Silōvenia"
+ },
+ "ZW": {
+ "name": "Simipapuei"
+ },
+ "SG": {
+ "name": "Singapoa"
+ },
+ "GI": {
+ "name": "Sipalālitā"
+ },
+ "ES": {
+ "name": "Sipeini"
+ },
+ "DJ": {
+ "name": "Siputi"
+ },
+ "EA": {
+ "name": "Siuta mo Melila"
+ },
+ "SJ": {
+ "name": "Sivolopāti mo Sani Maieni"
+ },
+ "JO": {
+ "name": "Soatane"
+ },
+ "SO": {
+ "name": "Sōmalia"
+ },
+ "SZ": {
+ "name": "Suasilani"
+ },
+ "SE": {
+ "name": "Suēteni"
+ },
+ "CH": {
+ "name": "Suisilani"
+ },
+ "SR": {
+ "name": "Suliname"
+ },
+ "SS": {
+ "name": "Sūtani fakatonga"
+ },
+ "SD": {
+ "name": "Sūteni"
+ },
+ "TH": {
+ "name": "Tailani"
+ },
+ "TW": {
+ "name": "Taiuani"
+ },
+ "TJ": {
+ "name": "Tasikitani"
+ },
+ "DK": {
+ "name": "Tenimaʻake"
+ },
+ "TZ": {
+ "name": "Tenisānia"
+ },
+ "DG": {
+ "name": "Tieko Kāsia"
+ },
+ "TT": {
+ "name": "Tilinitati mo Topako"
+ },
+ "TL": {
+ "name": "Timoa hahake"
+ },
+ "TR": {
+ "name": "Toake"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TG": {
+ "name": "Toko"
+ },
+ "DM": {
+ "name": "Tominika"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TM": {
+ "name": "Tūkimenisitani"
+ },
+ "TA": {
+ "name": "Tulisitani ta Kunuha"
+ },
+ "TN": {
+ "name": "Tunīsia"
+ },
+ "TV": {
+ "name": "Tūvalu"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VE": {
+ "name": "Venesuela"
+ },
+ "VN": {
+ "name": "Vietinami"
+ },
+ "IE": {
+ "name": "ʻAealani"
+ },
+ "AF": {
+ "name": "ʻAfikānisitani"
+ },
+ "ZA": {
+ "name": "ʻAfilika tonga"
+ },
+ "IS": {
+ "name": "ʻAisilani"
+ },
+ "DZ": {
+ "name": "ʻAisilia"
+ },
+ "AE": {
+ "name": "ʻAlepea Fakatahataha"
+ },
+ "AL": {
+ "name": "ʻAlipania"
+ },
+ "AW": {
+ "name": "ʻAlupa"
+ },
+ "AM": {
+ "name": "ʻĀmenia"
+ },
+ "AQ": {
+ "name": "ʻAnitātika"
+ },
+ "AD": {
+ "name": "ʻAnitola"
+ },
+ "AO": {
+ "name": "ʻAngikola"
+ },
+ "AU": {
+ "name": "ʻAositelēlia"
+ },
+ "AT": {
+ "name": "ʻAositulia"
+ },
+ "AZ": {
+ "name": "ʻAsapaisani"
+ },
+ "AR": {
+ "name": "ʻAsenitina"
+ },
+ "GQ": {
+ "name": "ʻEkueta Kini"
+ },
+ "EC": {
+ "name": "ʻEkuetoa"
+ },
+ "SV": {
+ "name": "ʻEle Salavatoa"
+ },
+ "ER": {
+ "name": "ʻElitulia"
+ },
+ "EE": {
+ "name": "ʻEsitōnia"
+ },
+ "IQ": {
+ "name": "ʻIlaaki"
+ },
+ "IR": {
+ "name": "ʻIlaani"
+ },
+ "IN": {
+ "name": "ʻInitia"
+ },
+ "ID": {
+ "name": "ʻInitonēsia"
+ },
+ "IL": {
+ "name": "ʻIsileli"
+ },
+ "EG": {
+ "name": "ʻIsipite"
+ },
+ "IT": {
+ "name": "ʻĪtali"
+ },
+ "ET": {
+ "name": "ʻĪtiōpia"
+ },
+ "UG": {
+ "name": "ʻIukanitā"
+ },
+ "OM": {
+ "name": "ʻOmani"
+ },
+ "FO": {
+ "name": "ʻOtumotu Faloe"
+ },
+ "FK": {
+ "name": "ʻOtumotu Fokulani"
+ },
+ "IC": {
+ "name": "ʻOtumotu Kaneli"
+ },
+ "KY": {
+ "name": "ʻOtumotu Keimeni"
+ },
+ "CC": {
+ "name": "ʻOtumotu Koko"
+ },
+ "CK": {
+ "name": "ʻOtumotu Kuki"
+ },
+ "MP": {
+ "name": "ʻOtumotu Maliana tokelau"
+ },
+ "MH": {
+ "name": "ʻOtumotu Māsolo"
+ },
+ "PN": {
+ "name": "ʻOtumotu Pitikeni"
+ },
+ "SC": {
+ "name": "ʻOtumotu Seiseli"
+ },
+ "GS": {
+ "name": "ʻOtumotu Seōsia-tonga mo Saniuisi-tonga"
+ },
+ "UM": {
+ "name": "ʻOtumotu siʻi ʻo ʻAmelika"
+ },
+ "SB": {
+ "name": "ʻOtumotu Solomone"
+ },
+ "TC": {
+ "name": "ʻOtumotu Tuki mo Kaikosi"
+ },
+ "VG": {
+ "name": "ʻOtumotu Vilikini fakapilitānia"
+ },
+ "VI": {
+ "name": "ʻOtumotu Vilikini fakaʻamelika"
+ },
+ "AX": {
+ "name": "ʻOtumotu ʻAlani"
+ },
+ "UA": {
+ "name": "ʻŪkalaʻine"
+ },
+ "UY": {
+ "name": "ʻUlukuai"
+ },
+ "UZ": {
+ "name": "ʻUsipekitani"
+ },
+ "WF": {
+ "name": "ʻUvea mo Futuna"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/tr.json b/vendor/commerceguys/intl/resources/country/tr.json
new file mode 100644
index 000000000..a2c28fcb4
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/tr.json
@@ -0,0 +1,761 @@
+{
+ "UM": {
+ "name": "ABD Uzak Adaları"
+ },
+ "VI": {
+ "name": "ABD Virjin Adaları"
+ },
+ "AF": {
+ "name": "Afganistan"
+ },
+ "AX": {
+ "name": "Åland Adaları"
+ },
+ "DE": {
+ "name": "Almanya"
+ },
+ "US": {
+ "name": "Amerika Birleşik Devletleri"
+ },
+ "AS": {
+ "name": "Amerikan Samoası"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarktika"
+ },
+ "AG": {
+ "name": "Antigua ve Barbuda"
+ },
+ "AR": {
+ "name": "Arjantin"
+ },
+ "AL": {
+ "name": "Arnavutluk"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Adası"
+ },
+ "AU": {
+ "name": "Avustralya"
+ },
+ "AT": {
+ "name": "Avusturya"
+ },
+ "AZ": {
+ "name": "Azerbaycan"
+ },
+ "BS": {
+ "name": "Bahamalar"
+ },
+ "BH": {
+ "name": "Bahreyn"
+ },
+ "BD": {
+ "name": "Bangladeş"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "EH": {
+ "name": "Batı Sahra"
+ },
+ "BY": {
+ "name": "Belarus"
+ },
+ "BE": {
+ "name": "Belçika"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "AE": {
+ "name": "Birleşik Arap Emirlikleri"
+ },
+ "GB": {
+ "name": "Birleşik Krallık"
+ },
+ "BO": {
+ "name": "Bolivya"
+ },
+ "BA": {
+ "name": "Bosna-Hersek"
+ },
+ "BW": {
+ "name": "Botsvana"
+ },
+ "BR": {
+ "name": "Brezilya"
+ },
+ "IO": {
+ "name": "Britanya Hint Okyanusu Toprakları"
+ },
+ "VG": {
+ "name": "Britanya Virjin Adaları"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgaristan"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Butan"
+ },
+ "CV": {
+ "name": "Cape Verde"
+ },
+ "KY": {
+ "name": "Cayman Adaları"
+ },
+ "GI": {
+ "name": "Cebelitarık"
+ },
+ "DZ": {
+ "name": "Cezayir"
+ },
+ "CX": {
+ "name": "Christmas Adası"
+ },
+ "DJ": {
+ "name": "Cibuti"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Adaları"
+ },
+ "CK": {
+ "name": "Cook Adaları"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "TD": {
+ "name": "Çad"
+ },
+ "CZ": {
+ "name": "Çek Cumhuriyeti"
+ },
+ "CN": {
+ "name": "Çin"
+ },
+ "HK": {
+ "name": "Çin Hong Kong ÖİB"
+ },
+ "MO": {
+ "name": "Çin Makao ÖİB"
+ },
+ "DK": {
+ "name": "Danimarka"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DO": {
+ "name": "Dominik Cumhuriyeti"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "EC": {
+ "name": "Ekvador"
+ },
+ "GQ": {
+ "name": "Ekvator Ginesi"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "ID": {
+ "name": "Endonezya"
+ },
+ "ER": {
+ "name": "Eritre"
+ },
+ "AM": {
+ "name": "Ermenistan"
+ },
+ "EE": {
+ "name": "Estonya"
+ },
+ "ET": {
+ "name": "Etiyopya"
+ },
+ "FK": {
+ "name": "Falkland Adaları"
+ },
+ "FO": {
+ "name": "Faroe Adaları"
+ },
+ "MA": {
+ "name": "Fas"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "CI": {
+ "name": "Fildişi Sahili"
+ },
+ "PH": {
+ "name": "Filipinler"
+ },
+ "PS": {
+ "name": "Filistin Bölgeleri"
+ },
+ "FI": {
+ "name": "Finlandiya"
+ },
+ "FR": {
+ "name": "Fransa"
+ },
+ "GF": {
+ "name": "Fransız Guyanası"
+ },
+ "TF": {
+ "name": "Fransız Güney Toprakları"
+ },
+ "PF": {
+ "name": "Fransız Polinezyası"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambiya"
+ },
+ "GH": {
+ "name": "Gana"
+ },
+ "GN": {
+ "name": "Gine"
+ },
+ "GW": {
+ "name": "Gine-Bissau"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GL": {
+ "name": "Grönland"
+ },
+ "GP": {
+ "name": "Guadalupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "ZA": {
+ "name": "Güney Afrika"
+ },
+ "GS": {
+ "name": "Güney Georgia ve Güney Sandwich Adaları"
+ },
+ "KR": {
+ "name": "Güney Kore"
+ },
+ "SS": {
+ "name": "Güney Sudan"
+ },
+ "GE": {
+ "name": "Gürcistan"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HR": {
+ "name": "Hırvatistan"
+ },
+ "IN": {
+ "name": "Hindistan"
+ },
+ "NL": {
+ "name": "Hollanda"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "İran"
+ },
+ "IE": {
+ "name": "İrlanda"
+ },
+ "ES": {
+ "name": "İspanya"
+ },
+ "IL": {
+ "name": "İsrail"
+ },
+ "SE": {
+ "name": "İsveç"
+ },
+ "CH": {
+ "name": "İsviçre"
+ },
+ "IT": {
+ "name": "İtalya"
+ },
+ "IS": {
+ "name": "İzlanda"
+ },
+ "JM": {
+ "name": "Jamaika"
+ },
+ "JP": {
+ "name": "Japonya"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "KH": {
+ "name": "Kamboçya"
+ },
+ "CM": {
+ "name": "Kamerun"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "IC": {
+ "name": "Kanarya Adaları"
+ },
+ "ME": {
+ "name": "Karadağ"
+ },
+ "BQ": {
+ "name": "Karayip Hollanda"
+ },
+ "QA": {
+ "name": "Katar"
+ },
+ "KZ": {
+ "name": "Kazakistan"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "CY": {
+ "name": "Kıbrıs"
+ },
+ "KG": {
+ "name": "Kırgızistan"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "CO": {
+ "name": "Kolombiya"
+ },
+ "KM": {
+ "name": "Komorlar"
+ },
+ "CG": {
+ "name": "Kongo - Brazavil"
+ },
+ "CD": {
+ "name": "Kongo - Kinşasa"
+ },
+ "XK": {
+ "name": "Kosova"
+ },
+ "CR": {
+ "name": "Kosta Rika"
+ },
+ "KW": {
+ "name": "Kuveyt"
+ },
+ "KP": {
+ "name": "Kuzey Kore"
+ },
+ "MP": {
+ "name": "Kuzey Mariana Adaları"
+ },
+ "CU": {
+ "name": "Küba"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LV": {
+ "name": "Letonya"
+ },
+ "LR": {
+ "name": "Liberya"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Litvanya"
+ },
+ "LB": {
+ "name": "Lübnan"
+ },
+ "LU": {
+ "name": "Lüksemburg"
+ },
+ "HU": {
+ "name": "Macaristan"
+ },
+ "MG": {
+ "name": "Madagaskar"
+ },
+ "MK": {
+ "name": "Makedonya"
+ },
+ "MW": {
+ "name": "Malavi"
+ },
+ "MV": {
+ "name": "Maldivler"
+ },
+ "MY": {
+ "name": "Malezya"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "IM": {
+ "name": "Man Adası"
+ },
+ "MH": {
+ "name": "Marshall Adaları"
+ },
+ "MQ": {
+ "name": "Martinik"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Meksika"
+ },
+ "EG": {
+ "name": "Mısır"
+ },
+ "FM": {
+ "name": "Mikronezya"
+ },
+ "MN": {
+ "name": "Moğolistan"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MR": {
+ "name": "Moritanya"
+ },
+ "MZ": {
+ "name": "Mozambik"
+ },
+ "MM": {
+ "name": "Myanmar (Burma)"
+ },
+ "NA": {
+ "name": "Namibya"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NE": {
+ "name": "Nijer"
+ },
+ "NG": {
+ "name": "Nijerya"
+ },
+ "NI": {
+ "name": "Nikaragua"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NF": {
+ "name": "Norfolk Adası"
+ },
+ "NO": {
+ "name": "Norveç"
+ },
+ "CF": {
+ "name": "Orta Afrika Cumhuriyeti"
+ },
+ "UZ": {
+ "name": "Özbekistan"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua Yeni Gine"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitcairn Adaları"
+ },
+ "PL": {
+ "name": "Polonya"
+ },
+ "PT": {
+ "name": "Portekiz"
+ },
+ "PR": {
+ "name": "Porto Riko"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RO": {
+ "name": "Romanya"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RU": {
+ "name": "Rusya"
+ },
+ "BL": {
+ "name": "Saint Barthelemy"
+ },
+ "SH": {
+ "name": "Saint Helena"
+ },
+ "KN": {
+ "name": "Saint Kitts ve Nevis"
+ },
+ "LC": {
+ "name": "Saint Lucia"
+ },
+ "MF": {
+ "name": "Saint Martin"
+ },
+ "PM": {
+ "name": "Saint Pierre ve Miquelon"
+ },
+ "VC": {
+ "name": "Saint Vincent ve Grenadinler"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "São Tomé ve Príncipe"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "EA": {
+ "name": "Septe ve Melilla"
+ },
+ "SC": {
+ "name": "Seyşeller"
+ },
+ "RS": {
+ "name": "Sırbistan"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SK": {
+ "name": "Slovakya"
+ },
+ "SI": {
+ "name": "Slovenya"
+ },
+ "SB": {
+ "name": "Solomon Adaları"
+ },
+ "SO": {
+ "name": "Somali"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SY": {
+ "name": "Suriye"
+ },
+ "SA": {
+ "name": "Suudi Arabistan"
+ },
+ "SJ": {
+ "name": "Svalbard ve Jan Mayen"
+ },
+ "SZ": {
+ "name": "Svaziland"
+ },
+ "CL": {
+ "name": "Şili"
+ },
+ "TJ": {
+ "name": "Tacikistan"
+ },
+ "TZ": {
+ "name": "Tanzanya"
+ },
+ "TH": {
+ "name": "Tayland"
+ },
+ "TW": {
+ "name": "Tayvan"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad ve Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunus"
+ },
+ "TC": {
+ "name": "Turks ve Caicos Adaları"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "TR": {
+ "name": "Türkiye"
+ },
+ "TM": {
+ "name": "Türkmenistan"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukrayna"
+ },
+ "OM": {
+ "name": "Umman"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "JO": {
+ "name": "Ürdün"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikan"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis ve Futuna"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "NC": {
+ "name": "Yeni Kaledonya"
+ },
+ "NZ": {
+ "name": "Yeni Zelanda"
+ },
+ "GR": {
+ "name": "Yunanistan"
+ },
+ "ZM": {
+ "name": "Zambiya"
+ },
+ "ZW": {
+ "name": "Zimbabve"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/twq.json b/vendor/commerceguys/intl/resources/country/twq.json
new file mode 100644
index 000000000..de6183f25
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/twq.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afgaanistan"
+ },
+ "AX": {
+ "name": "Åland Islands"
+ },
+ "AL": {
+ "name": "Albaani"
+ },
+ "GB": {
+ "name": "Albaasalaama Marganta"
+ },
+ "DE": {
+ "name": "Almaaɲe"
+ },
+ "DZ": {
+ "name": "Alžeeri"
+ },
+ "VI": {
+ "name": "Ameerik Virgin Gungey"
+ },
+ "US": {
+ "name": "Ameriki Laabu Margantey"
+ },
+ "AS": {
+ "name": "Ameriki Samoa"
+ },
+ "AD": {
+ "name": "Andoora"
+ },
+ "AI": {
+ "name": "Angiiya"
+ },
+ "AO": {
+ "name": "Angoola"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigua nda Barbuuda"
+ },
+ "AR": {
+ "name": "Argentine"
+ },
+ "AM": {
+ "name": "Armeeni"
+ },
+ "AW": {
+ "name": "Aruuba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "IS": {
+ "name": "Ayseland"
+ },
+ "AZ": {
+ "name": "Azerbaayijaŋ"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahareen"
+ },
+ "BD": {
+ "name": "Bangladeši"
+ },
+ "BB": {
+ "name": "Barbaados"
+ },
+ "BE": {
+ "name": "Belgiiki"
+ },
+ "BZ": {
+ "name": "Beliizi"
+ },
+ "BJ": {
+ "name": "Beniŋ"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BY": {
+ "name": "Biloriši"
+ },
+ "BO": {
+ "name": "Boolivi"
+ },
+ "BA": {
+ "name": "Bosni nda Herzegovine"
+ },
+ "BW": {
+ "name": "Botswaana"
+ },
+ "BR": {
+ "name": "Breezil"
+ },
+ "IO": {
+ "name": "Britiši Indu teekoo laama"
+ },
+ "VG": {
+ "name": "Britiši Virgin gungey"
+ },
+ "BN": {
+ "name": "Bruunee"
+ },
+ "BG": {
+ "name": "Bulgaari"
+ },
+ "BF": {
+ "name": "Burkina faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Buutaŋ"
+ },
+ "TD": {
+ "name": "Caadu"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "CZ": {
+ "name": "Cek labo"
+ },
+ "CF": {
+ "name": "Centraafriki koyra"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Danemark"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Doominiki"
+ },
+ "DO": {
+ "name": "Doominiki laboo"
+ },
+ "ET": {
+ "name": "Ecioopi"
+ },
+ "EC": {
+ "name": "Ekwateer"
+ },
+ "ER": {
+ "name": "Eritree"
+ },
+ "ES": {
+ "name": "Espaaɲe"
+ },
+ "EE": {
+ "name": "Estooni"
+ },
+ "FR": {
+ "name": "Faransi"
+ },
+ "GF": {
+ "name": "Faransi Guyaan"
+ },
+ "PF": {
+ "name": "Faransi Polineezi"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filipine"
+ },
+ "FI": {
+ "name": "Finlandu"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gaabon"
+ },
+ "GH": {
+ "name": "Gaana"
+ },
+ "GM": {
+ "name": "Gambi"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GN": {
+ "name": "Gine"
+ },
+ "GW": {
+ "name": "Gine-Bisso"
+ },
+ "GQ": {
+ "name": "Ginee Ekwatorial"
+ },
+ "GE": {
+ "name": "Gorgi"
+ },
+ "GR": {
+ "name": "Greece"
+ },
+ "GD": {
+ "name": "Grenaada"
+ },
+ "GL": {
+ "name": "Grinland"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Guyaane"
+ },
+ "GP": {
+ "name": "Gwadeluup"
+ },
+ "GT": {
+ "name": "Gwatemaala"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "ZA": {
+ "name": "Hawsa Afriki Laboo"
+ },
+ "NL": {
+ "name": "Hollandu"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hungaari"
+ },
+ "ID": {
+ "name": "Indoneezi"
+ },
+ "IN": {
+ "name": "Indu laboo"
+ },
+ "IQ": {
+ "name": "Iraak"
+ },
+ "IR": {
+ "name": "Iraan"
+ },
+ "RU": {
+ "name": "Iriši laboo"
+ },
+ "IE": {
+ "name": "Irlandu"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israyel"
+ },
+ "IT": {
+ "name": "Itaali"
+ },
+ "JP": {
+ "name": "Jaapoŋ"
+ },
+ "JM": {
+ "name": "Jamaayik"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "DJ": {
+ "name": "Jibuuti"
+ },
+ "NC": {
+ "name": "Kaaledooni Taagaa"
+ },
+ "KZ": {
+ "name": "Kaazakstan"
+ },
+ "FK": {
+ "name": "Kalkan gungey"
+ },
+ "KH": {
+ "name": "kamboogi"
+ },
+ "CM": {
+ "name": "Kameruun"
+ },
+ "CA": {
+ "name": "Kanaada"
+ },
+ "CV": {
+ "name": "Kapuver gungey"
+ },
+ "QA": {
+ "name": "Kataar"
+ },
+ "KY": {
+ "name": "Kayman gungey"
+ },
+ "KE": {
+ "name": "Keeniya"
+ },
+ "KI": {
+ "name": "Kiribaati"
+ },
+ "CO": {
+ "name": "Kolombi"
+ },
+ "KM": {
+ "name": "Komoor"
+ },
+ "CG": {
+ "name": "Kongoo"
+ },
+ "CD": {
+ "name": "Kongoo demookaratiki laboo"
+ },
+ "KP": {
+ "name": "Kooree, Gurma"
+ },
+ "KR": {
+ "name": "Kooree, Hawsa"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "Kosta rika"
+ },
+ "HR": {
+ "name": "Krwaasi"
+ },
+ "CI": {
+ "name": "Kudwar"
+ },
+ "CU": {
+ "name": "Kuuba"
+ },
+ "CK": {
+ "name": "Kuuk gungey"
+ },
+ "KW": {
+ "name": "Kuweet"
+ },
+ "KG": {
+ "name": "Kyrgyzstan"
+ },
+ "AE": {
+ "name": "Laaraw Imaarawey Margantey"
+ },
+ "LA": {
+ "name": "Laawos"
+ },
+ "LS": {
+ "name": "Leesoto"
+ },
+ "LV": {
+ "name": "Letooni"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LY": {
+ "name": "Liibi"
+ },
+ "LT": {
+ "name": "Lituaani"
+ },
+ "LB": {
+ "name": "Lubnaan"
+ },
+ "LU": {
+ "name": "Luxembourg"
+ },
+ "MK": {
+ "name": "Maacedooni"
+ },
+ "ML": {
+ "name": "Maali"
+ },
+ "MA": {
+ "name": "Maarok"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MW": {
+ "name": "Malaawi"
+ },
+ "MV": {
+ "name": "Maldiivu"
+ },
+ "MY": {
+ "name": "Maleezi"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MP": {
+ "name": "Mariana Gurma Gungey"
+ },
+ "MH": {
+ "name": "Maršal gungey"
+ },
+ "MQ": {
+ "name": "Martiniiki"
+ },
+ "MM": {
+ "name": "Maynamar"
+ },
+ "YT": {
+ "name": "Mayooti"
+ },
+ "MX": {
+ "name": "Mexiki"
+ },
+ "FM": {
+ "name": "Mikronezi"
+ },
+ "EG": {
+ "name": "Misra"
+ },
+ "MD": {
+ "name": "Moldovi"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MN": {
+ "name": "Mongooli"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MU": {
+ "name": "Mooris gungey"
+ },
+ "MR": {
+ "name": "Mooritaani"
+ },
+ "MZ": {
+ "name": "Mozambik"
+ },
+ "NG": {
+ "name": "Naajiriia"
+ },
+ "NA": {
+ "name": "Naamibi"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Neepal"
+ },
+ "NI": {
+ "name": "Nikaragwa"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NE": {
+ "name": "Nižer"
+ },
+ "NF": {
+ "name": "Norfolk Gungoo"
+ },
+ "NO": {
+ "name": "Norveej"
+ },
+ "OM": {
+ "name": "Omaan"
+ },
+ "AU": {
+ "name": "Ostraali"
+ },
+ "AT": {
+ "name": "Otriši"
+ },
+ "PK": {
+ "name": "Paakistan"
+ },
+ "PS": {
+ "name": "Palestine Dangay nda Gaaza"
+ },
+ "PW": {
+ "name": "Palu"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua Ginee Taaga"
+ },
+ "PY": {
+ "name": "Paraguwey"
+ },
+ "PE": {
+ "name": "Peeru"
+ },
+ "PN": {
+ "name": "Pitikarin"
+ },
+ "PL": {
+ "name": "Poloɲe"
+ },
+ "PR": {
+ "name": "Porto Riko"
+ },
+ "PT": {
+ "name": "Portugaal"
+ },
+ "RE": {
+ "name": "Reenioŋ"
+ },
+ "RO": {
+ "name": "Rumaani"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "SV": {
+ "name": "Salvador laboo"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "Sao Tome nda Prinsipe"
+ },
+ "SA": {
+ "name": "Saudiya"
+ },
+ "SL": {
+ "name": "Seera Leon"
+ },
+ "SC": {
+ "name": "Seešel"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "SH": {
+ "name": "Seŋ Helena"
+ },
+ "KN": {
+ "name": "Seŋ Kitts nda Nevis"
+ },
+ "LC": {
+ "name": "Seŋ Lussia"
+ },
+ "PM": {
+ "name": "Seŋ Piyer nda Mikelon"
+ },
+ "VC": {
+ "name": "Seŋvinsaŋ nda Grenadine"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "CL": {
+ "name": "Šiili"
+ },
+ "CN": {
+ "name": "Šiin"
+ },
+ "CY": {
+ "name": "Šiipur"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SK": {
+ "name": "Slovaaki"
+ },
+ "SI": {
+ "name": "Sloveeni"
+ },
+ "SB": {
+ "name": "Solomon Gungey"
+ },
+ "SO": {
+ "name": "Somaali"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "LK": {
+ "name": "Srilanka"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SR": {
+ "name": "Surinaam"
+ },
+ "SD": {
+ "name": "Suudaŋ"
+ },
+ "SY": {
+ "name": "Suuria"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swaziland"
+ },
+ "SE": {
+ "name": "Sweede"
+ },
+ "CH": {
+ "name": "Swisu"
+ },
+ "TH": {
+ "name": "Taayiland"
+ },
+ "TW": {
+ "name": "Taayiwan"
+ },
+ "TJ": {
+ "name": "Taažikistan"
+ },
+ "TZ": {
+ "name": "Tanzaani"
+ },
+ "TL": {
+ "name": "Timoor hawsa"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad nda Tobaago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunizi"
+ },
+ "TC": {
+ "name": "Turk nda Kayikos Gungey"
+ },
+ "TR": {
+ "name": "Turki"
+ },
+ "TM": {
+ "name": "Turkmenistaŋ"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukreen"
+ },
+ "JO": {
+ "name": "Urdun"
+ },
+ "UY": {
+ "name": "Uruguwey"
+ },
+ "UZ": {
+ "name": "Uzbeekistan"
+ },
+ "VA": {
+ "name": "Vaatikan Laama"
+ },
+ "VU": {
+ "name": "Vanautu"
+ },
+ "VE": {
+ "name": "Veneezuyeela"
+ },
+ "VN": {
+ "name": "Vietnaam"
+ },
+ "WF": {
+ "name": "Wallis nda Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yaman"
+ },
+ "ZM": {
+ "name": "Zambi"
+ },
+ "NZ": {
+ "name": "Zeelandu Taaga"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/tzm.json b/vendor/commerceguys/intl/resources/country/tzm.json
new file mode 100644
index 000000000..44258ad77
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/tzm.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afɣanistan"
+ },
+ "PS": {
+ "name": "Agemmaḍ Ugut d Ɣazza Ifilisṭiniyen"
+ },
+ "AX": {
+ "name": "Åland Islands"
+ },
+ "AL": {
+ "name": "Albanya"
+ },
+ "DE": {
+ "name": "Almanya"
+ },
+ "IO": {
+ "name": "Amur n Agaraw Uhindi Ubṛiṭani"
+ },
+ "AD": {
+ "name": "Anḍurra"
+ },
+ "AO": {
+ "name": "Angula"
+ },
+ "AI": {
+ "name": "Angwilla"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigwa d Barbuda"
+ },
+ "AR": {
+ "name": "Arjuntin"
+ },
+ "AM": {
+ "name": "Arminya"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "VA": {
+ "name": "Awank iɣrem n Vatikan"
+ },
+ "AZ": {
+ "name": "Azerbiǧan"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Baḥrayn"
+ },
+ "BD": {
+ "name": "Bangladic"
+ },
+ "BB": {
+ "name": "Barbadus"
+ },
+ "BG": {
+ "name": "Belɣarya"
+ },
+ "BE": {
+ "name": "Beljika"
+ },
+ "BY": {
+ "name": "Bilarusya"
+ },
+ "BZ": {
+ "name": "Biliz"
+ },
+ "BJ": {
+ "name": "Binin"
+ },
+ "BM": {
+ "name": "Birmuda"
+ },
+ "BR": {
+ "name": "Bṛazil"
+ },
+ "BN": {
+ "name": "Brunay"
+ },
+ "BO": {
+ "name": "Bulivya"
+ },
+ "BF": {
+ "name": "Burkina Fasu"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BA": {
+ "name": "Busna-d-Hirsik"
+ },
+ "BT": {
+ "name": "Buṭan"
+ },
+ "BW": {
+ "name": "Butswana"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "CL": {
+ "name": "Ccili"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Danmark"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Ḍuminika"
+ },
+ "DZ": {
+ "name": "Dzayer"
+ },
+ "IQ": {
+ "name": "Ɛiraq"
+ },
+ "OM": {
+ "name": "Ɛumman"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filippin"
+ },
+ "FI": {
+ "name": "Finlanḍa"
+ },
+ "FR": {
+ "name": "Fṛansa"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gabun"
+ },
+ "GM": {
+ "name": "Gambya"
+ },
+ "DJ": {
+ "name": "Ǧibuti"
+ },
+ "GD": {
+ "name": "Grinada"
+ },
+ "GL": {
+ "name": "Grinlanḍa"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "GF": {
+ "name": "Guyana Tafransist"
+ },
+ "GP": {
+ "name": "Gwadalup"
+ },
+ "GU": {
+ "name": "Gwam"
+ },
+ "GT": {
+ "name": "Gwatimala"
+ },
+ "GH": {
+ "name": "Ɣana"
+ },
+ "GN": {
+ "name": "Ɣinya"
+ },
+ "GQ": {
+ "name": "Ɣinya Tikwaṭur it"
+ },
+ "GW": {
+ "name": "Ɣinya-Bissaw"
+ },
+ "HT": {
+ "name": "Hayti"
+ },
+ "HU": {
+ "name": "Henɣarya"
+ },
+ "IN": {
+ "name": "Hind"
+ },
+ "HN": {
+ "name": "Hinduras"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "NL": {
+ "name": "Hulanḍa"
+ },
+ "EC": {
+ "name": "Ikwaḍur"
+ },
+ "AE": {
+ "name": "Imarat Tiεrabin Tidduklin"
+ },
+ "ID": {
+ "name": "Indunizya"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "ER": {
+ "name": "Iritrya"
+ },
+ "IE": {
+ "name": "Irlanḍa"
+ },
+ "IS": {
+ "name": "Islanḍa"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israeil"
+ },
+ "EE": {
+ "name": "Isṭunya"
+ },
+ "IT": {
+ "name": "Iṭalya"
+ },
+ "ET": {
+ "name": "Ityupya"
+ },
+ "US": {
+ "name": "Iwunak Idduklen n Amirika"
+ },
+ "JM": {
+ "name": "Jamayka"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "GI": {
+ "name": "Jibralṭar"
+ },
+ "JP": {
+ "name": "Jjappun"
+ },
+ "GE": {
+ "name": "Jyurjya"
+ },
+ "NC": {
+ "name": "kalidunya Tamaynut"
+ },
+ "KH": {
+ "name": "Kambudj"
+ },
+ "CM": {
+ "name": "Kamerun"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "KZ": {
+ "name": "Kazaxistan"
+ },
+ "KE": {
+ "name": "Kinya"
+ },
+ "KG": {
+ "name": "Kirɣistan"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "HR": {
+ "name": "Krwatya"
+ },
+ "CU": {
+ "name": "kuba"
+ },
+ "CO": {
+ "name": "Kulumbya"
+ },
+ "CG": {
+ "name": "Kungu"
+ },
+ "KP": {
+ "name": "Kurya Tugafat"
+ },
+ "KR": {
+ "name": "Kurya Tunẓult"
+ },
+ "CR": {
+ "name": "Kusṭa Rika"
+ },
+ "KW": {
+ "name": "Kuwwayt"
+ },
+ "LA": {
+ "name": "Laws"
+ },
+ "LR": {
+ "name": "Libirya"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Lictencṭayn"
+ },
+ "LU": {
+ "name": "Liksumburg"
+ },
+ "LS": {
+ "name": "Lisuṭu"
+ },
+ "LV": {
+ "name": "Liṭṭunya"
+ },
+ "LT": {
+ "name": "Litwanya"
+ },
+ "LB": {
+ "name": "Lubnan"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MG": {
+ "name": "Madaɣacqar"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MV": {
+ "name": "Maldiv"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MY": {
+ "name": "Malizya"
+ },
+ "MT": {
+ "name": "Malṭa"
+ },
+ "MN": {
+ "name": "Manɣulya"
+ },
+ "MK": {
+ "name": "Maqdunya"
+ },
+ "MQ": {
+ "name": "Martinik"
+ },
+ "YT": {
+ "name": "Mayuṭ"
+ },
+ "MA": {
+ "name": "Meṛṛuk"
+ },
+ "FM": {
+ "name": "Mikrunizya"
+ },
+ "MX": {
+ "name": "Miksik"
+ },
+ "EG": {
+ "name": "Miṣr"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MD": {
+ "name": "Mulḍavya"
+ },
+ "MC": {
+ "name": "Munaku"
+ },
+ "MS": {
+ "name": "Muntsirra"
+ },
+ "MU": {
+ "name": "Muris"
+ },
+ "MR": {
+ "name": "Muritanya"
+ },
+ "MZ": {
+ "name": "Muzambiq"
+ },
+ "MM": {
+ "name": "Myanmar"
+ },
+ "NA": {
+ "name": "Namibya"
+ },
+ "NR": {
+ "name": "Nawru"
+ },
+ "NG": {
+ "name": "Nijiria"
+ },
+ "NI": {
+ "name": "Nikaragwa"
+ },
+ "NP": {
+ "name": "Nippal"
+ },
+ "NU": {
+ "name": "Niwi"
+ },
+ "NE": {
+ "name": "Nnijer"
+ },
+ "NO": {
+ "name": "Nnurwij"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palu"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papwa Ɣinya Tamaynut"
+ },
+ "PY": {
+ "name": "Paragway"
+ },
+ "PE": {
+ "name": "Piru"
+ },
+ "PN": {
+ "name": "Pitkirn"
+ },
+ "PF": {
+ "name": "Pulinizya Tafransist"
+ },
+ "PL": {
+ "name": "Pulunya"
+ },
+ "PT": {
+ "name": "Purtuɣal"
+ },
+ "PR": {
+ "name": "Purturiku"
+ },
+ "QA": {
+ "name": "Qaṭar"
+ },
+ "CY": {
+ "name": "Qubrus"
+ },
+ "KM": {
+ "name": "Qumur"
+ },
+ "RE": {
+ "name": "Riyyunyun"
+ },
+ "RO": {
+ "name": "Ṛumanya"
+ },
+ "RU": {
+ "name": "Rusya"
+ },
+ "RW": {
+ "name": "Ruwwanḍa"
+ },
+ "SV": {
+ "name": "Salvaḍur"
+ },
+ "WS": {
+ "name": "Samwa"
+ },
+ "AS": {
+ "name": "Samwa Imirikaniyyin"
+ },
+ "SG": {
+ "name": "Sanɣafura"
+ },
+ "SM": {
+ "name": "Sanmarinu"
+ },
+ "SH": {
+ "name": "Santehilin"
+ },
+ "KN": {
+ "name": "Santekits d Nivis"
+ },
+ "LC": {
+ "name": "Santelusya"
+ },
+ "PM": {
+ "name": "Santepyir d Mikelun"
+ },
+ "VC": {
+ "name": "Santevinsent d Grinadin"
+ },
+ "ST": {
+ "name": "Sawṭumi d Prinsip"
+ },
+ "ES": {
+ "name": "Sbanya"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SL": {
+ "name": "Siralyun"
+ },
+ "SK": {
+ "name": "Sluvakya"
+ },
+ "SI": {
+ "name": "Sluvinya"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "LK": {
+ "name": "Srilanka"
+ },
+ "SA": {
+ "name": "Ssaεudiyya Taεrabt"
+ },
+ "SE": {
+ "name": "Ssewwid"
+ },
+ "SC": {
+ "name": "Ssicil"
+ },
+ "CN": {
+ "name": "Ṣṣin"
+ },
+ "SN": {
+ "name": "Ssiniɣal"
+ },
+ "SD": {
+ "name": "Ssudan"
+ },
+ "SO": {
+ "name": "Ṣṣumal"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SY": {
+ "name": "Surya"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swazilanḍa"
+ },
+ "CH": {
+ "name": "Swisra"
+ },
+ "ZA": {
+ "name": "Tafrikt Tunẓul"
+ },
+ "CF": {
+ "name": "Tagduda n Afrika Wammas"
+ },
+ "CZ": {
+ "name": "Tagduda n Čik"
+ },
+ "DO": {
+ "name": "Tagduda n Ḍuminikan"
+ },
+ "CD": {
+ "name": "Tagduda Tadimuqraṭit n Kungu"
+ },
+ "GB": {
+ "name": "Tagelda Taddukelt"
+ },
+ "TJ": {
+ "name": "Ṭaǧikistan"
+ },
+ "CI": {
+ "name": "Taɣazut n Uszer"
+ },
+ "TZ": {
+ "name": "Ṭanzanya"
+ },
+ "TH": {
+ "name": "Ṭaylanḍa"
+ },
+ "TW": {
+ "name": "Ṭaywan"
+ },
+ "TD": {
+ "name": "Tcad"
+ },
+ "VG": {
+ "name": "Tigzirin (Virgin) Tibṛiṭaniyin"
+ },
+ "FK": {
+ "name": "Tigzirin n Falkland"
+ },
+ "CV": {
+ "name": "Tigzirin n Iɣf Uzegzaw"
+ },
+ "KY": {
+ "name": "Tigzirin n Kayman"
+ },
+ "CK": {
+ "name": "Tigzirin n Kuk"
+ },
+ "MH": {
+ "name": "Tigzirin n Marcal"
+ },
+ "MP": {
+ "name": "Tigzirin n Maryana Tugafat"
+ },
+ "SB": {
+ "name": "Tigzirin n Salumun"
+ },
+ "VI": {
+ "name": "Tigzirin n Virjin n Iwunak Yedduklen"
+ },
+ "TC": {
+ "name": "Tigzirin Turkiyyin d Tikaykusin"
+ },
+ "NF": {
+ "name": "Tigzirt Nurfulk"
+ },
+ "TL": {
+ "name": "Timur Tagmuṭ"
+ },
+ "TT": {
+ "name": "Trinidad d Ṭubagu"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TG": {
+ "name": "Ṭṭugu"
+ },
+ "TK": {
+ "name": "Tuklu"
+ },
+ "TN": {
+ "name": "Tunes"
+ },
+ "TO": {
+ "name": "Ṭunga"
+ },
+ "TM": {
+ "name": "Turkmanistan"
+ },
+ "TR": {
+ "name": "Turkya"
+ },
+ "TV": {
+ "name": "Ṭuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "UG": {
+ "name": "Uɣanda"
+ },
+ "UA": {
+ "name": "Ukranya"
+ },
+ "JO": {
+ "name": "Urḍun"
+ },
+ "UY": {
+ "name": "Urugway"
+ },
+ "AU": {
+ "name": "Usṭralya"
+ },
+ "AT": {
+ "name": "Ustriyya"
+ },
+ "UZ": {
+ "name": "Uzbakistan"
+ },
+ "VU": {
+ "name": "Vanwatu"
+ },
+ "VE": {
+ "name": "Vinzwilla"
+ },
+ "VN": {
+ "name": "Viṭnam"
+ },
+ "WF": {
+ "name": "Walis d Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yaman"
+ },
+ "GR": {
+ "name": "Yunan"
+ },
+ "ZM": {
+ "name": "Zambya"
+ },
+ "NZ": {
+ "name": "Zilanḍa Tamaynut"
+ },
+ "ZW": {
+ "name": "Zimbabwi"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/ug.json b/vendor/commerceguys/intl/resources/country/ug.json
new file mode 100644
index 000000000..b244e7d68
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/ug.json
@@ -0,0 +1,761 @@
+{
+ "UM": {
+ "name": "ئا ق ش تاشقى ئاراللىرى"
+ },
+ "VI": {
+ "name": "ئا ق ش ۋىرگىن ئاراللىرى"
+ },
+ "AR": {
+ "name": "ئارگېنتىنا"
+ },
+ "AW": {
+ "name": "ئارۇبا"
+ },
+ "AC": {
+ "name": "ئاسسېنسىيون ئارىلى"
+ },
+ "AF": {
+ "name": "ئافغانىستان"
+ },
+ "AX": {
+ "name": "ئالاند ئاراللىرى"
+ },
+ "AL": {
+ "name": "ئالبانىيە"
+ },
+ "DZ": {
+ "name": "ئالجىرىيە"
+ },
+ "AS": {
+ "name": "ئامېرىكا ساموئا"
+ },
+ "US": {
+ "name": "ئامېرىكا قوشما ئىشتاتلىرى"
+ },
+ "AQ": {
+ "name": "ئانتاركتىكا"
+ },
+ "AG": {
+ "name": "ئانتىگۇئا ۋە باربۇدا"
+ },
+ "AD": {
+ "name": "ئاندوررا"
+ },
+ "AO": {
+ "name": "ئانگولا"
+ },
+ "AI": {
+ "name": "ئانگۋىللا"
+ },
+ "AU": {
+ "name": "ئاۋسترالىيە"
+ },
+ "MO": {
+ "name": "ئاۋمېن ئالاھىدە مەمۇرىي رايونى"
+ },
+ "AT": {
+ "name": "ئاۋىستىرىيە"
+ },
+ "AE": {
+ "name": "ئەرەب بىرلەشمە خەلىپىلىكى"
+ },
+ "AM": {
+ "name": "ئەرمېنىيە"
+ },
+ "AZ": {
+ "name": "ئەزەربەيجان"
+ },
+ "VG": {
+ "name": "ئەنگلىيە ۋىرگىن ئاراللىرى"
+ },
+ "IO": {
+ "name": "ئەنگلىيەگە قاراشلىق ھىندى ئوكيان تېررىتورىيەسى"
+ },
+ "CF": {
+ "name": "ئوتتۇرا ئافرىقا جۇمھۇرىيىتى"
+ },
+ "OM": {
+ "name": "ئومان"
+ },
+ "UY": {
+ "name": "ئۇرۇگۋاي"
+ },
+ "UA": {
+ "name": "ئۇكرائىنا"
+ },
+ "UG": {
+ "name": "ئۇگاندا"
+ },
+ "UZ": {
+ "name": "ئۆزبېكىستان"
+ },
+ "ER": {
+ "name": "ئېرىترىيە"
+ },
+ "EE": {
+ "name": "ئېستونىيە"
+ },
+ "ET": {
+ "name": "ئېفىيوپىيە"
+ },
+ "EC": {
+ "name": "ئېكۋاتور"
+ },
+ "GQ": {
+ "name": "ئېكۋاتور گىۋىنىيەسى"
+ },
+ "IT": {
+ "name": "ئىتالىيە"
+ },
+ "IQ": {
+ "name": "ئىراق"
+ },
+ "IR": {
+ "name": "ئىران"
+ },
+ "IE": {
+ "name": "ئىرېلاندىيە"
+ },
+ "ES": {
+ "name": "ئىسپانىيە"
+ },
+ "IL": {
+ "name": "ئىسرائىلىيە"
+ },
+ "IS": {
+ "name": "ئىسلاندىيە"
+ },
+ "JO": {
+ "name": "ئىيوردانىيە"
+ },
+ "BB": {
+ "name": "باربادوس"
+ },
+ "BS": {
+ "name": "باھاما"
+ },
+ "BH": {
+ "name": "بەھرەين"
+ },
+ "BW": {
+ "name": "بوتسۋانا"
+ },
+ "BA": {
+ "name": "بوسىنىيە ۋە گېرتسېگوۋىنا"
+ },
+ "BO": {
+ "name": "بولىۋىيە"
+ },
+ "BT": {
+ "name": "بۇتان"
+ },
+ "BF": {
+ "name": "بۇركىنا فاسو"
+ },
+ "BI": {
+ "name": "بۇرۇندى"
+ },
+ "BG": {
+ "name": "بۇلغارىيە"
+ },
+ "BM": {
+ "name": "بېرمۇدا"
+ },
+ "BY": {
+ "name": "بېلارۇسىيە"
+ },
+ "BE": {
+ "name": "بېلگىيە"
+ },
+ "BZ": {
+ "name": "بېلىز"
+ },
+ "BD": {
+ "name": "بېنگال"
+ },
+ "BJ": {
+ "name": "بېنىن"
+ },
+ "BR": {
+ "name": "بىرازىلىيە"
+ },
+ "GB": {
+ "name": "بىرلەشمە پادىشاھلىق"
+ },
+ "MM": {
+ "name": "بىرما"
+ },
+ "BN": {
+ "name": "بىرۇنېي"
+ },
+ "PG": {
+ "name": "پاپۇئا يېڭى گىۋىنىيەسى"
+ },
+ "PY": {
+ "name": "پاراگۋاي"
+ },
+ "PK": {
+ "name": "پاكىستان"
+ },
+ "PW": {
+ "name": "پالائۇ"
+ },
+ "PA": {
+ "name": "پاناما"
+ },
+ "PS": {
+ "name": "پەلەستىن زېمىنى"
+ },
+ "PT": {
+ "name": "پورتۇگالىيە"
+ },
+ "PL": {
+ "name": "پولشا"
+ },
+ "PR": {
+ "name": "پۇئېرتو رىكو"
+ },
+ "PE": {
+ "name": "پېرۇ"
+ },
+ "PN": {
+ "name": "پىتكايرن ئاراللىرى"
+ },
+ "TJ": {
+ "name": "تاجىكىستان"
+ },
+ "TZ": {
+ "name": "تانزانىيە"
+ },
+ "TH": {
+ "name": "تايلاند"
+ },
+ "TW": {
+ "name": "تەيۋەن"
+ },
+ "TA": {
+ "name": "ترىستان داكۇنھا"
+ },
+ "TK": {
+ "name": "توكېلاۋ"
+ },
+ "TG": {
+ "name": "توگو"
+ },
+ "TO": {
+ "name": "تونگا"
+ },
+ "TC": {
+ "name": "تۇركس ۋە كايكوس ئاراللىرى"
+ },
+ "TN": {
+ "name": "تۇنىس"
+ },
+ "TV": {
+ "name": "تۇۋالۇ"
+ },
+ "TM": {
+ "name": "تۈركمەنىستان"
+ },
+ "TR": {
+ "name": "تۈركىيە"
+ },
+ "TT": {
+ "name": "تىرىنىداد ۋە توباگو"
+ },
+ "GI": {
+ "name": "جەبىلتارىق"
+ },
+ "ZA": {
+ "name": "جەنۇبىي ئافرىقا"
+ },
+ "GS": {
+ "name": "جەنۇبىي جورجىيە ۋە جەنۇبىي ساندۋىچ ئاراللىرى"
+ },
+ "SS": {
+ "name": "جەنۇبىي سۇدان"
+ },
+ "CN": {
+ "name": "جۇڭگو"
+ },
+ "JE": {
+ "name": "جېرسېي"
+ },
+ "DJ": {
+ "name": "جىبۇتى"
+ },
+ "TD": {
+ "name": "چاد"
+ },
+ "KP": {
+ "name": "چاۋشيەن"
+ },
+ "CZ": {
+ "name": "چېخ جۇمھۇرىيىتى"
+ },
+ "CL": {
+ "name": "چىلى"
+ },
+ "DK": {
+ "name": "دانىيە"
+ },
+ "DM": {
+ "name": "دومىنىكا"
+ },
+ "DO": {
+ "name": "دومىنىكا جۇمھۇرىيىتى"
+ },
+ "DG": {
+ "name": "دېگو-گارشىيا"
+ },
+ "RO": {
+ "name": "رومىنىيە"
+ },
+ "RU": {
+ "name": "رۇسىيە"
+ },
+ "RE": {
+ "name": "رېيۇنىيون"
+ },
+ "RW": {
+ "name": "رىۋاندا"
+ },
+ "ZM": {
+ "name": "زامبىيە"
+ },
+ "ZW": {
+ "name": "زىمبابۋې"
+ },
+ "SV": {
+ "name": "سالۋادور"
+ },
+ "WS": {
+ "name": "ساموئا"
+ },
+ "ST": {
+ "name": "سان تومې ۋە پرىنسىپې"
+ },
+ "SM": {
+ "name": "سان مارىنو"
+ },
+ "BL": {
+ "name": "ساينت بارتېلېمى"
+ },
+ "PM": {
+ "name": "ساينت پىيېر ۋە مىكېلون ئاراللىرى"
+ },
+ "KN": {
+ "name": "ساينت كىتىس ۋە نېۋىس"
+ },
+ "LC": {
+ "name": "ساينت لۇسىيە"
+ },
+ "MF": {
+ "name": "ساينت مارتىن"
+ },
+ "VC": {
+ "name": "ساينت ۋىنسېنت ۋە گىرېنادىنېس"
+ },
+ "SH": {
+ "name": "ساينىت ھېلېنا"
+ },
+ "SA": {
+ "name": "سەئۇدىي ئەرەبىستان"
+ },
+ "SB": {
+ "name": "سولومون ئاراللىرى"
+ },
+ "SO": {
+ "name": "سومالى"
+ },
+ "SD": {
+ "name": "سۇدان"
+ },
+ "SR": {
+ "name": "سۇرىنام"
+ },
+ "SY": {
+ "name": "سۇرىيە"
+ },
+ "RS": {
+ "name": "سېربىيە"
+ },
+ "SL": {
+ "name": "سېررالېئون"
+ },
+ "SN": {
+ "name": "سېنېگال"
+ },
+ "EA": {
+ "name": "سېيتا ۋە مېلىلا"
+ },
+ "SC": {
+ "name": "سېيشېل"
+ },
+ "CY": {
+ "name": "سىپرۇس"
+ },
+ "LK": {
+ "name": "سىرىلانكا"
+ },
+ "SK": {
+ "name": "سىلوۋاكىيە"
+ },
+ "SI": {
+ "name": "سىلوۋېنىيە"
+ },
+ "SX": {
+ "name": "سىنت مارتېن"
+ },
+ "SG": {
+ "name": "سىنگاپور"
+ },
+ "SJ": {
+ "name": "سىۋالبارد ۋە يان مايېن"
+ },
+ "SZ": {
+ "name": "سىۋېزىلاند"
+ },
+ "TL": {
+ "name": "شەرقىي تىمور"
+ },
+ "MP": {
+ "name": "شىمالىي مارىيانا ئاراللىرى"
+ },
+ "CH": {
+ "name": "شىۋېتسارىيە"
+ },
+ "SE": {
+ "name": "شىۋېتسىيە"
+ },
+ "HK": {
+ "name": "شياڭگاڭ ئالاھىدە مەمۇرىي رايونى (جۇڭگو)"
+ },
+ "EH": {
+ "name": "غەربىي ساخارا"
+ },
+ "FO": {
+ "name": "فارو ئاراللىرى"
+ },
+ "FK": {
+ "name": "فالكلاند ئاراللىرى"
+ },
+ "FJ": {
+ "name": "فىجى"
+ },
+ "FR": {
+ "name": "فىرانسىيە"
+ },
+ "PF": {
+ "name": "فىرانسىيەگە قاراشلىق پولىنېزىيە"
+ },
+ "GF": {
+ "name": "فىرانسىيەگە قاراشلىق گىۋىيانا"
+ },
+ "TF": {
+ "name": "فىرانسىيەنىڭ جەنۇبىي زېمىنى"
+ },
+ "PH": {
+ "name": "فىلىپپىن"
+ },
+ "FI": {
+ "name": "فىنلاندىيە"
+ },
+ "QA": {
+ "name": "قاتار"
+ },
+ "ME": {
+ "name": "قارا تاغ"
+ },
+ "KZ": {
+ "name": "قازاقىستان"
+ },
+ "KG": {
+ "name": "قىرغىزىستان"
+ },
+ "BQ": {
+ "name": "كارىب دېڭىزى گوللاندىيە"
+ },
+ "KH": {
+ "name": "كامبودژا"
+ },
+ "CM": {
+ "name": "كامېرون"
+ },
+ "CA": {
+ "name": "كانادا"
+ },
+ "IC": {
+ "name": "كانارى ئاراللىرى"
+ },
+ "KY": {
+ "name": "كايمان ئاراللىرى"
+ },
+ "CI": {
+ "name": "كوتې دې ئىۋوئىر"
+ },
+ "KR": {
+ "name": "كورېيە"
+ },
+ "CR": {
+ "name": "كوستارىكا"
+ },
+ "XK": {
+ "name": "كوسوۋو"
+ },
+ "CC": {
+ "name": "كوكوس (كىلىڭ) ئاراللىرى"
+ },
+ "CO": {
+ "name": "كولومبىيە"
+ },
+ "KM": {
+ "name": "كومورو"
+ },
+ "CG": {
+ "name": "كونگو - بىراززاۋىل"
+ },
+ "CD": {
+ "name": "كونگو - كىنشاسا"
+ },
+ "CU": {
+ "name": "كۇبا"
+ },
+ "CW": {
+ "name": "كۇراچاۋ"
+ },
+ "CK": {
+ "name": "كۇك ئاراللىرى"
+ },
+ "KW": {
+ "name": "كۇۋەيت"
+ },
+ "KE": {
+ "name": "كېنىيە"
+ },
+ "HR": {
+ "name": "كىرودىيە"
+ },
+ "KI": {
+ "name": "كىرىباتى"
+ },
+ "GA": {
+ "name": "گابون"
+ },
+ "GM": {
+ "name": "گامبىيە"
+ },
+ "GH": {
+ "name": "گانا"
+ },
+ "NL": {
+ "name": "گوللاندىيە"
+ },
+ "GU": {
+ "name": "گۇئام"
+ },
+ "GG": {
+ "name": "گۇرنسېي"
+ },
+ "DE": {
+ "name": "گېرمانىيە"
+ },
+ "GE": {
+ "name": "گىرۇزىيە"
+ },
+ "GR": {
+ "name": "گىرېتسىيە"
+ },
+ "GD": {
+ "name": "گىرېنادا"
+ },
+ "GL": {
+ "name": "گىرېنلاندىيە"
+ },
+ "GT": {
+ "name": "گىۋاتېمالا"
+ },
+ "GP": {
+ "name": "گىۋادېلۇپ"
+ },
+ "GN": {
+ "name": "گىۋىنىيە"
+ },
+ "GW": {
+ "name": "گىۋىنىيە بىسسائۇ"
+ },
+ "GY": {
+ "name": "گىۋىيانا"
+ },
+ "LA": {
+ "name": "لائوس"
+ },
+ "LV": {
+ "name": "لاتۋىيە"
+ },
+ "LS": {
+ "name": "لېسوتو"
+ },
+ "LR": {
+ "name": "لىبېرىيە"
+ },
+ "LT": {
+ "name": "لىتۋانىيە"
+ },
+ "LI": {
+ "name": "لىكتېنستېين"
+ },
+ "LB": {
+ "name": "لىۋان"
+ },
+ "LY": {
+ "name": "لىۋىيە"
+ },
+ "LU": {
+ "name": "لىيۇكسېمبۇرگ"
+ },
+ "MG": {
+ "name": "ماداغاسقار"
+ },
+ "MA": {
+ "name": "ماراكەش"
+ },
+ "MQ": {
+ "name": "مارتىنىكا"
+ },
+ "MH": {
+ "name": "مارشال ئاراللىرى"
+ },
+ "MK": {
+ "name": "ماكېدونىيە"
+ },
+ "MW": {
+ "name": "مالاۋى"
+ },
+ "MY": {
+ "name": "مالايسىيا"
+ },
+ "MT": {
+ "name": "مالتا"
+ },
+ "MV": {
+ "name": "مالدىۋې"
+ },
+ "ML": {
+ "name": "مالى"
+ },
+ "IM": {
+ "name": "مان ئارىلى"
+ },
+ "MR": {
+ "name": "ماۋرىتانىيە"
+ },
+ "MU": {
+ "name": "ماۋرىتىيۇس"
+ },
+ "YT": {
+ "name": "مايوتى"
+ },
+ "MZ": {
+ "name": "موزامبىك"
+ },
+ "MN": {
+ "name": "موڭغۇلىيە"
+ },
+ "MD": {
+ "name": "مولدوۋا"
+ },
+ "MC": {
+ "name": "موناكو"
+ },
+ "MS": {
+ "name": "مونتسېررات"
+ },
+ "MX": {
+ "name": "مېكسىكا"
+ },
+ "EG": {
+ "name": "مىسىر"
+ },
+ "FM": {
+ "name": "مىكرونېزىيە"
+ },
+ "CX": {
+ "name": "مىلاد ئارىلى"
+ },
+ "NA": {
+ "name": "نامىبىيە"
+ },
+ "NR": {
+ "name": "ناۋرۇ"
+ },
+ "NF": {
+ "name": "نورفولك ئارىلى"
+ },
+ "NO": {
+ "name": "نورۋېگىيە"
+ },
+ "NP": {
+ "name": "نېپال"
+ },
+ "NI": {
+ "name": "نىكاراگۇئا"
+ },
+ "NE": {
+ "name": "نىگېر"
+ },
+ "NG": {
+ "name": "نىگېرىيە"
+ },
+ "NU": {
+ "name": "نيۇئې"
+ },
+ "HT": {
+ "name": "ھايتى"
+ },
+ "HN": {
+ "name": "ھوندۇراس"
+ },
+ "ID": {
+ "name": "ھىندونېزىيە"
+ },
+ "IN": {
+ "name": "ھىندىستان"
+ },
+ "VA": {
+ "name": "ۋاتىكان"
+ },
+ "WF": {
+ "name": "ۋاللىس ۋە فۇتۇنا"
+ },
+ "VU": {
+ "name": "ۋانۇئاتۇ"
+ },
+ "HU": {
+ "name": "ۋېنگىرىيە"
+ },
+ "VE": {
+ "name": "ۋېنېسۇئېلا"
+ },
+ "VN": {
+ "name": "ۋىيېتنام"
+ },
+ "JP": {
+ "name": "ياپونىيە"
+ },
+ "JM": {
+ "name": "يامايكا"
+ },
+ "YE": {
+ "name": "يەمەن"
+ },
+ "CV": {
+ "name": "يېشىل تۇمشۇق"
+ },
+ "NZ": {
+ "name": "يېڭى زېلاندىيە"
+ },
+ "NC": {
+ "name": "يېڭى كالېدونىيە"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/uk.json b/vendor/commerceguys/intl/resources/country/uk.json
new file mode 100644
index 000000000..e6462481e
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/uk.json
@@ -0,0 +1,761 @@
+{
+ "AU": {
+ "name": "Австралія"
+ },
+ "AT": {
+ "name": "Австрія"
+ },
+ "AZ": {
+ "name": "Азербайджан"
+ },
+ "AX": {
+ "name": "Аландські острови"
+ },
+ "AL": {
+ "name": "Албанія"
+ },
+ "DZ": {
+ "name": "Алжир"
+ },
+ "AS": {
+ "name": "Американське Самоа"
+ },
+ "AI": {
+ "name": "Ангілья"
+ },
+ "AO": {
+ "name": "Ангола"
+ },
+ "AD": {
+ "name": "Андорра"
+ },
+ "AQ": {
+ "name": "Антарктика"
+ },
+ "AG": {
+ "name": "Антигуа і Барбуда"
+ },
+ "AR": {
+ "name": "Аргентина"
+ },
+ "AW": {
+ "name": "Аруба"
+ },
+ "AF": {
+ "name": "Афганістан"
+ },
+ "BS": {
+ "name": "Багамські Острови"
+ },
+ "BD": {
+ "name": "Бангладеш"
+ },
+ "BB": {
+ "name": "Барбадос"
+ },
+ "BH": {
+ "name": "Бахрейн"
+ },
+ "BZ": {
+ "name": "Беліз"
+ },
+ "BE": {
+ "name": "Бельгія"
+ },
+ "BJ": {
+ "name": "Бенін"
+ },
+ "BM": {
+ "name": "Бермудські острови"
+ },
+ "BY": {
+ "name": "Білорусь"
+ },
+ "BG": {
+ "name": "Болгарія"
+ },
+ "BO": {
+ "name": "Болівія"
+ },
+ "BA": {
+ "name": "Боснія і Герцоговина"
+ },
+ "BW": {
+ "name": "Ботсвана"
+ },
+ "BR": {
+ "name": "Бразилія"
+ },
+ "VG": {
+ "name": "Британські Віргінські острови"
+ },
+ "IO": {
+ "name": "Британські території в Індійському океані"
+ },
+ "BN": {
+ "name": "Бруней"
+ },
+ "BF": {
+ "name": "Буркіна-Фасо"
+ },
+ "BI": {
+ "name": "Бурунді"
+ },
+ "BT": {
+ "name": "Бутан"
+ },
+ "VU": {
+ "name": "Вануату"
+ },
+ "VA": {
+ "name": "Ватикан"
+ },
+ "GB": {
+ "name": "Велика Британія"
+ },
+ "VE": {
+ "name": "Венесуела"
+ },
+ "UM": {
+ "name": "Віддалені острови США"
+ },
+ "VI": {
+ "name": "Віргінські острови, США"
+ },
+ "AM": {
+ "name": "Вірменія"
+ },
+ "WF": {
+ "name": "Волліс і Футуна"
+ },
+ "VN": {
+ "name": "Вʼєтнам"
+ },
+ "GA": {
+ "name": "Габон"
+ },
+ "HT": {
+ "name": "Гаїті"
+ },
+ "GM": {
+ "name": "Гамбія"
+ },
+ "GH": {
+ "name": "Гана"
+ },
+ "GY": {
+ "name": "Гаяна"
+ },
+ "GP": {
+ "name": "Гваделупа"
+ },
+ "GT": {
+ "name": "Гватемала"
+ },
+ "GN": {
+ "name": "Гвінея"
+ },
+ "GW": {
+ "name": "Гвінея-Бісау"
+ },
+ "GG": {
+ "name": "Гернсі"
+ },
+ "GI": {
+ "name": "Гібралтар"
+ },
+ "HN": {
+ "name": "Гондурас"
+ },
+ "HK": {
+ "name": "Гонконг, О.А.Р. Китаю"
+ },
+ "GD": {
+ "name": "Гренада"
+ },
+ "GL": {
+ "name": "Гренландія"
+ },
+ "GR": {
+ "name": "Греція"
+ },
+ "GE": {
+ "name": "Грузія"
+ },
+ "GU": {
+ "name": "Гуам"
+ },
+ "DK": {
+ "name": "Данія"
+ },
+ "JE": {
+ "name": "Джерсі"
+ },
+ "DJ": {
+ "name": "Джибуті"
+ },
+ "DG": {
+ "name": "Дієго-Гарсія"
+ },
+ "DM": {
+ "name": "Домініка"
+ },
+ "DO": {
+ "name": "Домініканська Республіка"
+ },
+ "EC": {
+ "name": "Еквадор"
+ },
+ "GQ": {
+ "name": "Екваторіальна Гвінея"
+ },
+ "ER": {
+ "name": "Еритрея"
+ },
+ "EE": {
+ "name": "Естонія"
+ },
+ "ET": {
+ "name": "Ефіопія"
+ },
+ "EG": {
+ "name": "Єгипет"
+ },
+ "YE": {
+ "name": "Ємен"
+ },
+ "ZM": {
+ "name": "Замбія"
+ },
+ "EH": {
+ "name": "Західна Сахара"
+ },
+ "ZW": {
+ "name": "Зімбабве"
+ },
+ "IL": {
+ "name": "Ізраїль"
+ },
+ "IN": {
+ "name": "Індія"
+ },
+ "ID": {
+ "name": "Індонезія"
+ },
+ "IQ": {
+ "name": "Ірак"
+ },
+ "IR": {
+ "name": "Іран"
+ },
+ "IE": {
+ "name": "Ірландія"
+ },
+ "IS": {
+ "name": "Ісландія"
+ },
+ "ES": {
+ "name": "Іспанія"
+ },
+ "IT": {
+ "name": "Італія"
+ },
+ "JO": {
+ "name": "Йорданія"
+ },
+ "CV": {
+ "name": "Кабо-Верде"
+ },
+ "KZ": {
+ "name": "Казахстан"
+ },
+ "KY": {
+ "name": "Кайманові острови"
+ },
+ "KH": {
+ "name": "Камбоджа"
+ },
+ "CM": {
+ "name": "Камерун"
+ },
+ "CA": {
+ "name": "Канада"
+ },
+ "IC": {
+ "name": "Канарські острови"
+ },
+ "QA": {
+ "name": "Катар"
+ },
+ "KE": {
+ "name": "Кенія"
+ },
+ "KG": {
+ "name": "Киргизстан"
+ },
+ "CN": {
+ "name": "Китай"
+ },
+ "CY": {
+ "name": "Кіпр"
+ },
+ "KI": {
+ "name": "Кірибаті"
+ },
+ "CC": {
+ "name": "Кокосові (Кілінгові) острови"
+ },
+ "CO": {
+ "name": "Колумбія"
+ },
+ "KM": {
+ "name": "Коморські острови"
+ },
+ "CG": {
+ "name": "Конго – Браззавіль"
+ },
+ "CD": {
+ "name": "Конго – Кіншаса"
+ },
+ "XK": {
+ "name": "Косово"
+ },
+ "CR": {
+ "name": "Коста-Рика"
+ },
+ "CI": {
+ "name": "Кот-д’Івуар"
+ },
+ "CU": {
+ "name": "Куба"
+ },
+ "KW": {
+ "name": "Кувейт"
+ },
+ "CW": {
+ "name": "Кюрасао"
+ },
+ "LA": {
+ "name": "Лаос"
+ },
+ "LV": {
+ "name": "Латвія"
+ },
+ "LS": {
+ "name": "Лесото"
+ },
+ "LT": {
+ "name": "Литва"
+ },
+ "LR": {
+ "name": "Ліберія"
+ },
+ "LB": {
+ "name": "Ліван"
+ },
+ "LY": {
+ "name": "Лівія"
+ },
+ "LI": {
+ "name": "Ліхтенштейн"
+ },
+ "LU": {
+ "name": "Люксембург"
+ },
+ "MU": {
+ "name": "Маврикій"
+ },
+ "MR": {
+ "name": "Мавританія"
+ },
+ "MG": {
+ "name": "Мадагаскар"
+ },
+ "YT": {
+ "name": "Майотта"
+ },
+ "MO": {
+ "name": "Макао, О.А.Р Китаю"
+ },
+ "MK": {
+ "name": "Македонія"
+ },
+ "MW": {
+ "name": "Малаві"
+ },
+ "MY": {
+ "name": "Малайзія"
+ },
+ "ML": {
+ "name": "Малі"
+ },
+ "MV": {
+ "name": "Мальдіви"
+ },
+ "MT": {
+ "name": "Мальта"
+ },
+ "MA": {
+ "name": "Марокко"
+ },
+ "MQ": {
+ "name": "Мартиніка"
+ },
+ "MH": {
+ "name": "Маршаллові Острови"
+ },
+ "MX": {
+ "name": "Мексика"
+ },
+ "FM": {
+ "name": "Мікронезія"
+ },
+ "MZ": {
+ "name": "Мозамбік"
+ },
+ "MD": {
+ "name": "Молдова"
+ },
+ "MC": {
+ "name": "Монако"
+ },
+ "MN": {
+ "name": "Монголія"
+ },
+ "MS": {
+ "name": "Монтсеррат"
+ },
+ "MM": {
+ "name": "Мʼянма (Бірма)"
+ },
+ "NA": {
+ "name": "Намібія"
+ },
+ "NR": {
+ "name": "Науру"
+ },
+ "NP": {
+ "name": "Непал"
+ },
+ "NE": {
+ "name": "Нігер"
+ },
+ "NG": {
+ "name": "Нігерія"
+ },
+ "NL": {
+ "name": "Нідерланди"
+ },
+ "BQ": {
+ "name": "Нідерландські Карибські острови"
+ },
+ "NI": {
+ "name": "Нікарагуа"
+ },
+ "DE": {
+ "name": "Німеччина"
+ },
+ "NU": {
+ "name": "Ніуе"
+ },
+ "NZ": {
+ "name": "Нова Зеландія"
+ },
+ "NC": {
+ "name": "Нова Каледонія"
+ },
+ "NO": {
+ "name": "Норвегія"
+ },
+ "AE": {
+ "name": "Обʼєднані Арабські Емірати"
+ },
+ "OM": {
+ "name": "Оман"
+ },
+ "AC": {
+ "name": "Острів Вознесіння"
+ },
+ "IM": {
+ "name": "Острів Мен"
+ },
+ "NF": {
+ "name": "Острів Норфолк"
+ },
+ "CX": {
+ "name": "Острів Різдва"
+ },
+ "SH": {
+ "name": "Острів Святої Єлени"
+ },
+ "CK": {
+ "name": "Острови Кука"
+ },
+ "PN": {
+ "name": "Острови Піткерн"
+ },
+ "SJ": {
+ "name": "Острови Свальбард і Ян-Маєн"
+ },
+ "TC": {
+ "name": "Острови Теркс і Кайкос"
+ },
+ "PK": {
+ "name": "Пакистан"
+ },
+ "PW": {
+ "name": "Палау"
+ },
+ "PS": {
+ "name": "Палестинські території"
+ },
+ "PA": {
+ "name": "Панама"
+ },
+ "PG": {
+ "name": "Папуа Нова Гвінея"
+ },
+ "PY": {
+ "name": "Парагвай"
+ },
+ "PE": {
+ "name": "Перу"
+ },
+ "GS": {
+ "name": "Південна Джорджія та Південні Сандвічеві острови"
+ },
+ "KR": {
+ "name": "Південна Корея"
+ },
+ "SS": {
+ "name": "Південний Судан"
+ },
+ "ZA": {
+ "name": "Південно-Африканська Республіка"
+ },
+ "KP": {
+ "name": "Північна Корея"
+ },
+ "MP": {
+ "name": "Північні Маріанські Острови"
+ },
+ "PL": {
+ "name": "Польща"
+ },
+ "PT": {
+ "name": "Португалія"
+ },
+ "PR": {
+ "name": "Пуерто-Рико"
+ },
+ "RE": {
+ "name": "Реюньйон"
+ },
+ "RU": {
+ "name": "Росія"
+ },
+ "RW": {
+ "name": "Руанда"
+ },
+ "RO": {
+ "name": "Румунія"
+ },
+ "SV": {
+ "name": "Сальвадор"
+ },
+ "WS": {
+ "name": "Самоа"
+ },
+ "SM": {
+ "name": "Сан-Марино"
+ },
+ "ST": {
+ "name": "Сан-Томе і Прінсіпі"
+ },
+ "SA": {
+ "name": "Саудівська Аравія"
+ },
+ "SZ": {
+ "name": "Свазіленд"
+ },
+ "SC": {
+ "name": "Сейшельські Острови"
+ },
+ "BL": {
+ "name": "Сен-Бартельмі"
+ },
+ "MF": {
+ "name": "Сен-Мартен"
+ },
+ "PM": {
+ "name": "Сен-Пʼєр і Мікелон"
+ },
+ "SN": {
+ "name": "Сенегал"
+ },
+ "VC": {
+ "name": "Сент-Вінсент і Гренадини"
+ },
+ "KN": {
+ "name": "Сент-Кітс і Невіс"
+ },
+ "LC": {
+ "name": "Сент-Люсія"
+ },
+ "RS": {
+ "name": "Сербія"
+ },
+ "EA": {
+ "name": "Сеута і Мелілья"
+ },
+ "SY": {
+ "name": "Сирія"
+ },
+ "SG": {
+ "name": "Сінгапур"
+ },
+ "SX": {
+ "name": "Сінт-Мартен"
+ },
+ "SK": {
+ "name": "Словаччина"
+ },
+ "SI": {
+ "name": "Словенія"
+ },
+ "SB": {
+ "name": "Соломонові Острови"
+ },
+ "SO": {
+ "name": "Сомалі"
+ },
+ "SD": {
+ "name": "Судан"
+ },
+ "SR": {
+ "name": "Суринам"
+ },
+ "US": {
+ "name": "США"
+ },
+ "SL": {
+ "name": "Сьєрра-Леоне"
+ },
+ "TJ": {
+ "name": "Таджикистан"
+ },
+ "TH": {
+ "name": "Таїланд"
+ },
+ "TW": {
+ "name": "Тайвань"
+ },
+ "TZ": {
+ "name": "Танзанія"
+ },
+ "TL": {
+ "name": "Тимор-Лешті"
+ },
+ "TG": {
+ "name": "Того"
+ },
+ "TK": {
+ "name": "Токелау"
+ },
+ "TO": {
+ "name": "Тонга"
+ },
+ "TT": {
+ "name": "Тринідад і Тобаго"
+ },
+ "TA": {
+ "name": "Трістан-да-Кунья"
+ },
+ "TV": {
+ "name": "Тувалу"
+ },
+ "TN": {
+ "name": "Туніс"
+ },
+ "TR": {
+ "name": "Туреччина"
+ },
+ "TM": {
+ "name": "Туркменістан"
+ },
+ "UG": {
+ "name": "Уганда"
+ },
+ "HU": {
+ "name": "Угорщина"
+ },
+ "UZ": {
+ "name": "Узбекистан"
+ },
+ "UA": {
+ "name": "Україна"
+ },
+ "UY": {
+ "name": "Уругвай"
+ },
+ "FO": {
+ "name": "Фарерські Острови"
+ },
+ "FJ": {
+ "name": "Фіджі"
+ },
+ "PH": {
+ "name": "Філіппіни"
+ },
+ "FI": {
+ "name": "Фінляндія"
+ },
+ "FK": {
+ "name": "Фолклендські острови"
+ },
+ "FR": {
+ "name": "Франція"
+ },
+ "GF": {
+ "name": "Французька Гвіана"
+ },
+ "PF": {
+ "name": "Французька Полінезія"
+ },
+ "TF": {
+ "name": "Французькі Південні Території"
+ },
+ "HR": {
+ "name": "Хорватія"
+ },
+ "CF": {
+ "name": "Центральноафриканська Республіка"
+ },
+ "TD": {
+ "name": "Чад"
+ },
+ "CZ": {
+ "name": "Чеська Республіка"
+ },
+ "CL": {
+ "name": "Чилі"
+ },
+ "ME": {
+ "name": "Чорногорія"
+ },
+ "CH": {
+ "name": "Швейцарія"
+ },
+ "SE": {
+ "name": "Швеція"
+ },
+ "LK": {
+ "name": "Шрі-Ланка"
+ },
+ "JM": {
+ "name": "Ямайка"
+ },
+ "JP": {
+ "name": "Японія"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/ur-IN.json b/vendor/commerceguys/intl/resources/country/ur-IN.json
new file mode 100644
index 000000000..6ccc58c2c
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/ur-IN.json
@@ -0,0 +1,761 @@
+{
+ "IT": {
+ "name": "اٹلی"
+ },
+ "AR": {
+ "name": "ارجنٹینا"
+ },
+ "JO": {
+ "name": "اردن"
+ },
+ "AW": {
+ "name": "اروبا"
+ },
+ "ER": {
+ "name": "اریٹیریا"
+ },
+ "UZ": {
+ "name": "ازبکستان"
+ },
+ "GQ": {
+ "name": "استوائی گیانا"
+ },
+ "EE": {
+ "name": "اسٹونیا"
+ },
+ "IL": {
+ "name": "اسرائیل"
+ },
+ "AF": {
+ "name": "افغانستان"
+ },
+ "SV": {
+ "name": "ال سلواڈور"
+ },
+ "AL": {
+ "name": "البانیہ"
+ },
+ "DZ": {
+ "name": "الجیریا"
+ },
+ "UM": {
+ "name": "امریکی بیرونی جزائر"
+ },
+ "VI": {
+ "name": "امریکی جزائر ورجن"
+ },
+ "AS": {
+ "name": "امریکی ساموآ"
+ },
+ "AQ": {
+ "name": "انٹارکٹیکا"
+ },
+ "AG": {
+ "name": "انٹیگوا اور باربودا"
+ },
+ "AD": {
+ "name": "انڈورا"
+ },
+ "ID": {
+ "name": "انڈونیشیا"
+ },
+ "AO": {
+ "name": "انگولا"
+ },
+ "AI": {
+ "name": "انگوئیلا"
+ },
+ "ET": {
+ "name": "ایتھوپیا"
+ },
+ "IR": {
+ "name": "ایران"
+ },
+ "EC": {
+ "name": "ایکواڈور"
+ },
+ "AZ": {
+ "name": "آذر بائیجان"
+ },
+ "AM": {
+ "name": "آرمینیا"
+ },
+ "AT": {
+ "name": "آسٹریا"
+ },
+ "AU": {
+ "name": "آسٹریلیا"
+ },
+ "IE": {
+ "name": "آئرلینڈ"
+ },
+ "IS": {
+ "name": "آئس لینڈ"
+ },
+ "IM": {
+ "name": "آئل آف مین"
+ },
+ "BB": {
+ "name": "بارباڈوس"
+ },
+ "BH": {
+ "name": "بحرین"
+ },
+ "BR": {
+ "name": "برازیل"
+ },
+ "IO": {
+ "name": "برطانوی بحرہند خطہ"
+ },
+ "VG": {
+ "name": "برطانوی جزائر ورجن"
+ },
+ "BF": {
+ "name": "برکینا فاسو"
+ },
+ "BM": {
+ "name": "برمودا"
+ },
+ "BN": {
+ "name": "برونائی"
+ },
+ "BI": {
+ "name": "برونڈی"
+ },
+ "BG": {
+ "name": "بلغاریہ"
+ },
+ "BD": {
+ "name": "بنگلہ دیش"
+ },
+ "BW": {
+ "name": "بوتسوانا"
+ },
+ "BA": {
+ "name": "بوسنیا اور ہرزیگووینا"
+ },
+ "BO": {
+ "name": "بولیویا"
+ },
+ "BS": {
+ "name": "بہاماس"
+ },
+ "BY": {
+ "name": "بیلاروس"
+ },
+ "BZ": {
+ "name": "بیلائز"
+ },
+ "BE": {
+ "name": "بیلجیم"
+ },
+ "BJ": {
+ "name": "بینن"
+ },
+ "IN": {
+ "name": "بھارت"
+ },
+ "BT": {
+ "name": "بھوٹان"
+ },
+ "PG": {
+ "name": "پاپوآ نیو گنی"
+ },
+ "PK": {
+ "name": "پاکستان"
+ },
+ "PA": {
+ "name": "پانامہ"
+ },
+ "PT": {
+ "name": "پرتگال"
+ },
+ "PW": {
+ "name": "پلاؤ"
+ },
+ "PL": {
+ "name": "پولینڈ"
+ },
+ "PY": {
+ "name": "پیراگوئے"
+ },
+ "PE": {
+ "name": "پیرو"
+ },
+ "PR": {
+ "name": "پیورٹو ریکو"
+ },
+ "TJ": {
+ "name": "تاجکستان"
+ },
+ "TW": {
+ "name": "تائیوان"
+ },
+ "TA": {
+ "name": "ترسٹان دا کونیا"
+ },
+ "TM": {
+ "name": "ترکمانستان"
+ },
+ "TR": {
+ "name": "ترکی"
+ },
+ "TT": {
+ "name": "ترینیداد اور ٹوباگو"
+ },
+ "TZ": {
+ "name": "تنزانیہ"
+ },
+ "TN": {
+ "name": "تونس"
+ },
+ "TL": {
+ "name": "تیمور لیسٹ"
+ },
+ "TH": {
+ "name": "تھائی لینڈ"
+ },
+ "TK": {
+ "name": "ٹوکیلاؤ"
+ },
+ "TG": {
+ "name": "ٹوگو"
+ },
+ "TO": {
+ "name": "ٹونگا"
+ },
+ "TV": {
+ "name": "ٹووالو"
+ },
+ "JP": {
+ "name": "جاپان"
+ },
+ "GE": {
+ "name": "جارجیا"
+ },
+ "GI": {
+ "name": "جبل الطارق"
+ },
+ "DJ": {
+ "name": "جبوتی"
+ },
+ "JE": {
+ "name": "جرسی"
+ },
+ "DE": {
+ "name": "جرمنی"
+ },
+ "CC": {
+ "name": "جزائر (کیلنگ) کوکوس"
+ },
+ "AX": {
+ "name": "جزائر آلینڈ"
+ },
+ "PN": {
+ "name": "جزائر پٹکیرن"
+ },
+ "SB": {
+ "name": "جزائر سلیمان"
+ },
+ "MP": {
+ "name": "جزائر شمالی ماریانا"
+ },
+ "FK": {
+ "name": "جزائر فاکلینڈ"
+ },
+ "FO": {
+ "name": "جزائر فیرو"
+ },
+ "CK": {
+ "name": "جزائر کک"
+ },
+ "IC": {
+ "name": "جزائر کناری"
+ },
+ "TC": {
+ "name": "جزائر کیکس و ترکیہ"
+ },
+ "MH": {
+ "name": "جزائر مارشل"
+ },
+ "AC": {
+ "name": "جزیرہ اسینشن"
+ },
+ "CX": {
+ "name": "جزیرہ کرسمس"
+ },
+ "NF": {
+ "name": "جزیرہ نارفوک"
+ },
+ "JM": {
+ "name": "جمائیکا"
+ },
+ "ZA": {
+ "name": "جنوبی افریقہ"
+ },
+ "GS": {
+ "name": "جنوبی جارجیا اور جنوبی سینڈوچ جزائر"
+ },
+ "SS": {
+ "name": "جنوبی سوڈان"
+ },
+ "KR": {
+ "name": "جنوبی کوریا"
+ },
+ "TD": {
+ "name": "چاڈ"
+ },
+ "CL": {
+ "name": "چلی"
+ },
+ "CZ": {
+ "name": "چیک جمہوریہ"
+ },
+ "CN": {
+ "name": "چین"
+ },
+ "DK": {
+ "name": "ڈنمارک"
+ },
+ "DM": {
+ "name": "ڈومنیکا"
+ },
+ "DO": {
+ "name": "ڈومنیکن جمہوریہ"
+ },
+ "DG": {
+ "name": "ڈیگو گارشیا"
+ },
+ "RW": {
+ "name": "روانڈا"
+ },
+ "RU": {
+ "name": "روس"
+ },
+ "RO": {
+ "name": "رومانیہ"
+ },
+ "RE": {
+ "name": "ری یونین"
+ },
+ "US": {
+ "name": "ریاستہائے متحدہ"
+ },
+ "ZM": {
+ "name": "زامبیا"
+ },
+ "ZW": {
+ "name": "زمبابوے"
+ },
+ "WS": {
+ "name": "ساموآ"
+ },
+ "SM": {
+ "name": "سان مارینو"
+ },
+ "ST": {
+ "name": "ساؤ ٹوم اور پرنسپے"
+ },
+ "RS": {
+ "name": "سربیا"
+ },
+ "LK": {
+ "name": "سری لنکا"
+ },
+ "SC": {
+ "name": "سشلیز"
+ },
+ "SA": {
+ "name": "سعودی عرب"
+ },
+ "GB": {
+ "name": "سلطنت متحدہ"
+ },
+ "SK": {
+ "name": "سلوواکیہ"
+ },
+ "SI": {
+ "name": "سلووینیا"
+ },
+ "SX": {
+ "name": "سنٹ مارٹن"
+ },
+ "SG": {
+ "name": "سنگاپور"
+ },
+ "SZ": {
+ "name": "سوازی لینڈ"
+ },
+ "SJ": {
+ "name": "سوالبرڈ اور جان ماین"
+ },
+ "SD": {
+ "name": "سوڈان"
+ },
+ "SR": {
+ "name": "سورینام"
+ },
+ "CH": {
+ "name": "سوئٹزر لینڈ"
+ },
+ "SE": {
+ "name": "سویڈن"
+ },
+ "BL": {
+ "name": "سینٹ برتھلیمی"
+ },
+ "PM": {
+ "name": "سینٹ پیئر اور میکلیئون"
+ },
+ "KN": {
+ "name": "سینٹ کٹس اور نیویس"
+ },
+ "LC": {
+ "name": "سینٹ لوسیا"
+ },
+ "MF": {
+ "name": "سینٹ مارٹن"
+ },
+ "VC": {
+ "name": "سینٹ ونسنٹ اور گرینیڈائنز"
+ },
+ "SH": {
+ "name": "سینٹ ہیلینا"
+ },
+ "SN": {
+ "name": "سینیگل"
+ },
+ "SL": {
+ "name": "سیئر لیون"
+ },
+ "EA": {
+ "name": "سیئوٹا اور میلیلا"
+ },
+ "SY": {
+ "name": "شام"
+ },
+ "KP": {
+ "name": "شمالی کوریا"
+ },
+ "SO": {
+ "name": "صومالیہ"
+ },
+ "IQ": {
+ "name": "عراق"
+ },
+ "OM": {
+ "name": "عمان"
+ },
+ "FJ": {
+ "name": "فجی"
+ },
+ "FR": {
+ "name": "فرانس"
+ },
+ "PF": {
+ "name": "فرانسیسی پولینیشیا"
+ },
+ "TF": {
+ "name": "فرانسیسی جنوبی خطے"
+ },
+ "GF": {
+ "name": "فرانسیسی گیانا"
+ },
+ "PH": {
+ "name": "فلپائن"
+ },
+ "PS": {
+ "name": "فلسطینی خطے"
+ },
+ "FI": {
+ "name": "فن لینڈ"
+ },
+ "KZ": {
+ "name": "قازقستان"
+ },
+ "CY": {
+ "name": "قبرص"
+ },
+ "QA": {
+ "name": "قطر"
+ },
+ "CG": {
+ "name": "کانگو - برازاویلے"
+ },
+ "CD": {
+ "name": "کانگو - کنشاسا"
+ },
+ "KG": {
+ "name": "کرغزستان"
+ },
+ "HR": {
+ "name": "کروشیا"
+ },
+ "KI": {
+ "name": "کریباتی"
+ },
+ "BQ": {
+ "name": "کریبیائی نیدرلینڈز"
+ },
+ "KH": {
+ "name": "کمبوڈیا"
+ },
+ "CI": {
+ "name": "کوٹ ڈی آئیوری"
+ },
+ "CR": {
+ "name": "کوسٹا ریکا"
+ },
+ "XK": {
+ "name": "کوسووو"
+ },
+ "CO": {
+ "name": "کولمبیا"
+ },
+ "KM": {
+ "name": "کوموروس"
+ },
+ "KW": {
+ "name": "کویت"
+ },
+ "CV": {
+ "name": "کیپ ورڈی"
+ },
+ "CM": {
+ "name": "کیمرون"
+ },
+ "KY": {
+ "name": "کیمین آئلینڈز"
+ },
+ "KE": {
+ "name": "کینیا"
+ },
+ "CA": {
+ "name": "کینیڈا"
+ },
+ "CU": {
+ "name": "کیوبا"
+ },
+ "CW": {
+ "name": "کیوراکاؤ"
+ },
+ "GL": {
+ "name": "گرین لینڈ"
+ },
+ "GD": {
+ "name": "گریناڈا"
+ },
+ "GN": {
+ "name": "گنی"
+ },
+ "GW": {
+ "name": "گنی بساؤ"
+ },
+ "GT": {
+ "name": "گواٹے مالا"
+ },
+ "GP": {
+ "name": "گواڈیلوپ"
+ },
+ "GU": {
+ "name": "گوام"
+ },
+ "GG": {
+ "name": "گوئرنسی"
+ },
+ "GY": {
+ "name": "گیانا"
+ },
+ "GA": {
+ "name": "گیبون"
+ },
+ "GM": {
+ "name": "گیمبیا"
+ },
+ "GH": {
+ "name": "گھانا"
+ },
+ "LA": {
+ "name": "لاؤس"
+ },
+ "LR": {
+ "name": "لائبیریا"
+ },
+ "LB": {
+ "name": "لبنان"
+ },
+ "LV": {
+ "name": "لٹویا"
+ },
+ "LU": {
+ "name": "لکسمبرگ"
+ },
+ "LY": {
+ "name": "لیبیا"
+ },
+ "LT": {
+ "name": "لیتھونیا"
+ },
+ "LS": {
+ "name": "لیسوتھو"
+ },
+ "LI": {
+ "name": "لیشٹنسٹائن"
+ },
+ "MQ": {
+ "name": "مارٹینک"
+ },
+ "MU": {
+ "name": "ماریشس"
+ },
+ "MT": {
+ "name": "مالٹا"
+ },
+ "MD": {
+ "name": "مالدووا"
+ },
+ "MV": {
+ "name": "مالدیپ"
+ },
+ "ML": {
+ "name": "مالی"
+ },
+ "FM": {
+ "name": "مائکرونیشیا"
+ },
+ "YT": {
+ "name": "مایوٹ"
+ },
+ "AE": {
+ "name": "متحدہ عرب امارات"
+ },
+ "MG": {
+ "name": "مڈغاسکر"
+ },
+ "MA": {
+ "name": "مراکش"
+ },
+ "EG": {
+ "name": "مصر"
+ },
+ "EH": {
+ "name": "مغربی صحارا"
+ },
+ "MK": {
+ "name": "مقدونیہ"
+ },
+ "MO": {
+ "name": "مکاؤ SAR چین"
+ },
+ "MW": {
+ "name": "ملاوی"
+ },
+ "MY": {
+ "name": "ملائشیا"
+ },
+ "MN": {
+ "name": "منگولیا"
+ },
+ "MR": {
+ "name": "موریطانیہ"
+ },
+ "MZ": {
+ "name": "موزمبیق"
+ },
+ "MC": {
+ "name": "موناکو"
+ },
+ "MS": {
+ "name": "مونٹسیراٹ"
+ },
+ "ME": {
+ "name": "مونٹے نیگرو"
+ },
+ "MM": {
+ "name": "میانمار (برما)"
+ },
+ "MX": {
+ "name": "میکسیکو"
+ },
+ "NO": {
+ "name": "ناروے"
+ },
+ "NA": {
+ "name": "نامیبیا"
+ },
+ "NE": {
+ "name": "نائجر"
+ },
+ "NG": {
+ "name": "نائجیریا"
+ },
+ "NI": {
+ "name": "نکاراگووا"
+ },
+ "NR": {
+ "name": "نؤرو"
+ },
+ "NP": {
+ "name": "نیپال"
+ },
+ "NL": {
+ "name": "نیدر لینڈز"
+ },
+ "NC": {
+ "name": "نیو کلیڈونیا"
+ },
+ "NZ": {
+ "name": "نیوزی لینڈ"
+ },
+ "NU": {
+ "name": "نیئو"
+ },
+ "VA": {
+ "name": "واٹیکن سٹی"
+ },
+ "CF": {
+ "name": "وسط افریقی جمہوریہ"
+ },
+ "VN": {
+ "name": "ویتنام"
+ },
+ "WF": {
+ "name": "ویلیز اور فیوٹیونا"
+ },
+ "VE": {
+ "name": "وینزوئیلا"
+ },
+ "VU": {
+ "name": "وینوآٹو"
+ },
+ "HK": {
+ "name": "ہانگ کانگ SAR چین"
+ },
+ "ES": {
+ "name": "ہسپانیہ"
+ },
+ "HU": {
+ "name": "ہنگری"
+ },
+ "HN": {
+ "name": "ہونڈاروس"
+ },
+ "HT": {
+ "name": "ہیٹی"
+ },
+ "YE": {
+ "name": "یمن"
+ },
+ "UY": {
+ "name": "یوروگوئے"
+ },
+ "UA": {
+ "name": "یوکرین"
+ },
+ "UG": {
+ "name": "یوگنڈا"
+ },
+ "GR": {
+ "name": "یونان"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/ur.json b/vendor/commerceguys/intl/resources/country/ur.json
new file mode 100644
index 000000000..ca7d53525
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/ur.json
@@ -0,0 +1,761 @@
+{
+ "IT": {
+ "name": "اٹلی"
+ },
+ "AR": {
+ "name": "ارجنٹینا"
+ },
+ "JO": {
+ "name": "اردن"
+ },
+ "AW": {
+ "name": "اروبا"
+ },
+ "ER": {
+ "name": "اریٹیریا"
+ },
+ "UZ": {
+ "name": "ازبکستان"
+ },
+ "GQ": {
+ "name": "استوائی گیانا"
+ },
+ "EE": {
+ "name": "اسٹونیا"
+ },
+ "IL": {
+ "name": "اسرائیل"
+ },
+ "AC": {
+ "name": "اسینشن آئلینڈ"
+ },
+ "AF": {
+ "name": "افغانستان"
+ },
+ "SV": {
+ "name": "ال سلواڈور"
+ },
+ "AL": {
+ "name": "البانیہ"
+ },
+ "DZ": {
+ "name": "الجیریا"
+ },
+ "UM": {
+ "name": "امریکہ سے باہر کے چھوٹے جزائز"
+ },
+ "AS": {
+ "name": "امریکی ساموآ"
+ },
+ "VI": {
+ "name": "امریکی ورجن آئلینڈز"
+ },
+ "AQ": {
+ "name": "انٹارکٹیکا"
+ },
+ "AG": {
+ "name": "انٹیگوا اور باربودا"
+ },
+ "AD": {
+ "name": "انڈورا"
+ },
+ "ID": {
+ "name": "انڈونیشیا"
+ },
+ "AO": {
+ "name": "انگولا"
+ },
+ "AI": {
+ "name": "انگوئیلا"
+ },
+ "ET": {
+ "name": "ایتھوپیا"
+ },
+ "IR": {
+ "name": "ایران"
+ },
+ "EC": {
+ "name": "ایکواڈور"
+ },
+ "AZ": {
+ "name": "آذر بائیجان"
+ },
+ "AM": {
+ "name": "آرمینیا"
+ },
+ "AT": {
+ "name": "آسٹریا"
+ },
+ "AU": {
+ "name": "آسٹریلیا"
+ },
+ "AX": {
+ "name": "آلینڈ آئلینڈز"
+ },
+ "IE": {
+ "name": "آئرلینڈ"
+ },
+ "IS": {
+ "name": "آئس لینڈ"
+ },
+ "IM": {
+ "name": "آئل آف مین"
+ },
+ "BB": {
+ "name": "بارباڈوس"
+ },
+ "BH": {
+ "name": "بحرین"
+ },
+ "BR": {
+ "name": "برازیل"
+ },
+ "VG": {
+ "name": "برٹش ورجن آئلینڈز"
+ },
+ "IO": {
+ "name": "برطانوی بحر ہند کا علاقہ"
+ },
+ "BF": {
+ "name": "برکینا فاسو"
+ },
+ "BM": {
+ "name": "برمودا"
+ },
+ "BN": {
+ "name": "برونائی"
+ },
+ "BI": {
+ "name": "برونڈی"
+ },
+ "BG": {
+ "name": "بلغاریہ"
+ },
+ "BD": {
+ "name": "بنگلہ دیش"
+ },
+ "BW": {
+ "name": "بوتسوانا"
+ },
+ "BA": {
+ "name": "بوسنیا اور ہرزیگووینا"
+ },
+ "BO": {
+ "name": "بولیویا"
+ },
+ "BS": {
+ "name": "بہاماس"
+ },
+ "BY": {
+ "name": "بیلاروس"
+ },
+ "BZ": {
+ "name": "بیلائز"
+ },
+ "BE": {
+ "name": "بیلجیم"
+ },
+ "BJ": {
+ "name": "بینن"
+ },
+ "IN": {
+ "name": "بھارت"
+ },
+ "BT": {
+ "name": "بھوٹان"
+ },
+ "PG": {
+ "name": "پاپوآ نیو گنی"
+ },
+ "PK": {
+ "name": "پاکستان"
+ },
+ "PA": {
+ "name": "پانامہ"
+ },
+ "PN": {
+ "name": "پٹکائرن جزائر"
+ },
+ "PT": {
+ "name": "پرتگال"
+ },
+ "PW": {
+ "name": "پلاؤ"
+ },
+ "PL": {
+ "name": "پولینڈ"
+ },
+ "PY": {
+ "name": "پیراگوئے"
+ },
+ "PE": {
+ "name": "پیرو"
+ },
+ "PR": {
+ "name": "پیورٹو ریکو"
+ },
+ "TJ": {
+ "name": "تاجکستان"
+ },
+ "TW": {
+ "name": "تائیوان"
+ },
+ "TC": {
+ "name": "ترکس اور کیکاؤس جزائر"
+ },
+ "TM": {
+ "name": "ترکمانستان"
+ },
+ "TR": {
+ "name": "ترکی"
+ },
+ "TT": {
+ "name": "ترینیداد اور ٹوباگو"
+ },
+ "TZ": {
+ "name": "تنزانیہ"
+ },
+ "TN": {
+ "name": "تونس"
+ },
+ "TL": {
+ "name": "تیمور لیسٹ"
+ },
+ "TH": {
+ "name": "تھائی لینڈ"
+ },
+ "TA": {
+ "name": "ٹرسٹن ڈا کیونہا"
+ },
+ "TK": {
+ "name": "ٹوکیلاؤ"
+ },
+ "TG": {
+ "name": "ٹوگو"
+ },
+ "TO": {
+ "name": "ٹونگا"
+ },
+ "TV": {
+ "name": "ٹووالو"
+ },
+ "JP": {
+ "name": "جاپان"
+ },
+ "GE": {
+ "name": "جارجیا"
+ },
+ "GI": {
+ "name": "جبل الطارق"
+ },
+ "DJ": {
+ "name": "جبوتی"
+ },
+ "JE": {
+ "name": "جرسی"
+ },
+ "DE": {
+ "name": "جرمنی"
+ },
+ "FO": {
+ "name": "جزائر فارو"
+ },
+ "CX": {
+ "name": "جزیرہ کرسمس"
+ },
+ "JM": {
+ "name": "جمائیکا"
+ },
+ "ZA": {
+ "name": "جنوبی افریقہ"
+ },
+ "GS": {
+ "name": "جنوبی جارجیا اور جنوبی سینڈوچ جزائر"
+ },
+ "SS": {
+ "name": "جنوبی سوڈان"
+ },
+ "KR": {
+ "name": "جنوبی کوریا"
+ },
+ "TD": {
+ "name": "چاڈ"
+ },
+ "CL": {
+ "name": "چلی"
+ },
+ "CZ": {
+ "name": "چیک جمہوریہ"
+ },
+ "CN": {
+ "name": "چین"
+ },
+ "DG": {
+ "name": "ڈائجو گارسیا"
+ },
+ "DK": {
+ "name": "ڈنمارک"
+ },
+ "DM": {
+ "name": "ڈومنیکا"
+ },
+ "DO": {
+ "name": "ڈومنیکن جمہوریہ"
+ },
+ "RW": {
+ "name": "روانڈا"
+ },
+ "RU": {
+ "name": "روس"
+ },
+ "RO": {
+ "name": "رومانیہ"
+ },
+ "RE": {
+ "name": "ری یونین"
+ },
+ "US": {
+ "name": "ریاستہائے متحدہ"
+ },
+ "ZM": {
+ "name": "زامبیا"
+ },
+ "ZW": {
+ "name": "زمبابوے"
+ },
+ "WS": {
+ "name": "ساموآ"
+ },
+ "SM": {
+ "name": "سان مارینو"
+ },
+ "ST": {
+ "name": "ساؤ ٹوم اور پرنسپے"
+ },
+ "RS": {
+ "name": "سربیا"
+ },
+ "LK": {
+ "name": "سری لنکا"
+ },
+ "SC": {
+ "name": "سشلیز"
+ },
+ "SA": {
+ "name": "سعودی عرب"
+ },
+ "GB": {
+ "name": "سلطنت متحدہ"
+ },
+ "SK": {
+ "name": "سلوواکیہ"
+ },
+ "SI": {
+ "name": "سلووینیا"
+ },
+ "SX": {
+ "name": "سنٹ مارٹن"
+ },
+ "SG": {
+ "name": "سنگاپور"
+ },
+ "SZ": {
+ "name": "سوازی لینڈ"
+ },
+ "SJ": {
+ "name": "سوالبرڈ اور جان ماین"
+ },
+ "SD": {
+ "name": "سوڈان"
+ },
+ "SR": {
+ "name": "سورینام"
+ },
+ "SB": {
+ "name": "سولومن آئلینڈز"
+ },
+ "CH": {
+ "name": "سوئٹزر لینڈ"
+ },
+ "SE": {
+ "name": "سویڈن"
+ },
+ "BL": {
+ "name": "سینٹ برتھلیمی"
+ },
+ "PM": {
+ "name": "سینٹ پیئر اور میکلیئون"
+ },
+ "KN": {
+ "name": "سینٹ کٹس اور نیویس"
+ },
+ "LC": {
+ "name": "سینٹ لوسیا"
+ },
+ "MF": {
+ "name": "سینٹ مارٹن"
+ },
+ "VC": {
+ "name": "سینٹ ونسنٹ اور گرینیڈائنز"
+ },
+ "SH": {
+ "name": "سینٹ ہیلینا"
+ },
+ "SN": {
+ "name": "سینیگل"
+ },
+ "SL": {
+ "name": "سیئر لیون"
+ },
+ "EA": {
+ "name": "سیئوٹا اور میلیلا"
+ },
+ "SY": {
+ "name": "شام"
+ },
+ "KP": {
+ "name": "شمالی کوریا"
+ },
+ "MP": {
+ "name": "شمالی ماریانا آئلینڈز"
+ },
+ "SO": {
+ "name": "صومالیہ"
+ },
+ "IQ": {
+ "name": "عراق"
+ },
+ "OM": {
+ "name": "عمان"
+ },
+ "FK": {
+ "name": "فاکلینڈ جزائر"
+ },
+ "FJ": {
+ "name": "فجی"
+ },
+ "FR": {
+ "name": "فرانس"
+ },
+ "PF": {
+ "name": "فرانسیسی پولینیشیا"
+ },
+ "TF": {
+ "name": "فرانسیسی جنوبی خطے"
+ },
+ "GF": {
+ "name": "فرینچ گیانا"
+ },
+ "PH": {
+ "name": "فلپائن"
+ },
+ "PS": {
+ "name": "فلسطینی خطے"
+ },
+ "FI": {
+ "name": "فن لینڈ"
+ },
+ "KZ": {
+ "name": "قازقستان"
+ },
+ "CY": {
+ "name": "قبرص"
+ },
+ "QA": {
+ "name": "قطر"
+ },
+ "CG": {
+ "name": "کانگو - برازاویلے"
+ },
+ "CD": {
+ "name": "کانگو - کنشاسا"
+ },
+ "KG": {
+ "name": "کرغزستان"
+ },
+ "HR": {
+ "name": "کروشیا"
+ },
+ "KI": {
+ "name": "کریباتی"
+ },
+ "BQ": {
+ "name": "کریبیائی نیدرلینڈز"
+ },
+ "CK": {
+ "name": "کک آئلینڈز"
+ },
+ "KH": {
+ "name": "کمبوڈیا"
+ },
+ "CI": {
+ "name": "کوٹ ڈی آئیوری"
+ },
+ "CR": {
+ "name": "کوسٹا ریکا"
+ },
+ "XK": {
+ "name": "کوسووو"
+ },
+ "CC": {
+ "name": "کوکوس (کیلنگ) جزائر"
+ },
+ "CO": {
+ "name": "کولمبیا"
+ },
+ "KM": {
+ "name": "کوموروس"
+ },
+ "KW": {
+ "name": "کویت"
+ },
+ "CV": {
+ "name": "کیپ ورڈی"
+ },
+ "CM": {
+ "name": "کیمرون"
+ },
+ "KY": {
+ "name": "کیمین آئلینڈز"
+ },
+ "IC": {
+ "name": "کینری آئلینڈز"
+ },
+ "KE": {
+ "name": "کینیا"
+ },
+ "CA": {
+ "name": "کینیڈا"
+ },
+ "CU": {
+ "name": "کیوبا"
+ },
+ "CW": {
+ "name": "کیوراکاؤ"
+ },
+ "GL": {
+ "name": "گرین لینڈ"
+ },
+ "GD": {
+ "name": "گریناڈا"
+ },
+ "GN": {
+ "name": "گنی"
+ },
+ "GW": {
+ "name": "گنی بساؤ"
+ },
+ "GT": {
+ "name": "گواٹے مالا"
+ },
+ "GP": {
+ "name": "گواڈیلوپ"
+ },
+ "GU": {
+ "name": "گوام"
+ },
+ "GG": {
+ "name": "گوئرنسی"
+ },
+ "GY": {
+ "name": "گیانا"
+ },
+ "GA": {
+ "name": "گیبون"
+ },
+ "GM": {
+ "name": "گیمبیا"
+ },
+ "GH": {
+ "name": "گھانا"
+ },
+ "LA": {
+ "name": "لاؤس"
+ },
+ "LR": {
+ "name": "لائبیریا"
+ },
+ "LB": {
+ "name": "لبنان"
+ },
+ "LV": {
+ "name": "لٹویا"
+ },
+ "LU": {
+ "name": "لکسمبرگ"
+ },
+ "LY": {
+ "name": "لیبیا"
+ },
+ "LT": {
+ "name": "لیتھونیا"
+ },
+ "LS": {
+ "name": "لیسوتھو"
+ },
+ "LI": {
+ "name": "لیشٹنسٹائن"
+ },
+ "MQ": {
+ "name": "مارٹینک"
+ },
+ "MH": {
+ "name": "مارشل آئلینڈز"
+ },
+ "MU": {
+ "name": "ماریشس"
+ },
+ "MT": {
+ "name": "مالٹا"
+ },
+ "MD": {
+ "name": "مالدووا"
+ },
+ "MV": {
+ "name": "مالدیپ"
+ },
+ "ML": {
+ "name": "مالی"
+ },
+ "FM": {
+ "name": "مائکرونیشیا"
+ },
+ "YT": {
+ "name": "مایوٹ"
+ },
+ "AE": {
+ "name": "متحدہ عرب امارات"
+ },
+ "MG": {
+ "name": "مڈغاسکر"
+ },
+ "MA": {
+ "name": "مراکش"
+ },
+ "EG": {
+ "name": "مصر"
+ },
+ "EH": {
+ "name": "مغربی صحارا"
+ },
+ "MK": {
+ "name": "مقدونیہ"
+ },
+ "MO": {
+ "name": "مکاؤ SAR چین"
+ },
+ "MW": {
+ "name": "ملاوی"
+ },
+ "MY": {
+ "name": "ملائشیا"
+ },
+ "MN": {
+ "name": "منگولیا"
+ },
+ "MR": {
+ "name": "موریطانیہ"
+ },
+ "MZ": {
+ "name": "موزمبیق"
+ },
+ "MC": {
+ "name": "موناکو"
+ },
+ "MS": {
+ "name": "مونٹسیراٹ"
+ },
+ "ME": {
+ "name": "مونٹے نیگرو"
+ },
+ "MM": {
+ "name": "میانمار (برما)"
+ },
+ "MX": {
+ "name": "میکسیکو"
+ },
+ "NF": {
+ "name": "نارفوک آئلینڈ"
+ },
+ "NO": {
+ "name": "ناروے"
+ },
+ "NA": {
+ "name": "نامیبیا"
+ },
+ "NE": {
+ "name": "نائجر"
+ },
+ "NG": {
+ "name": "نائجیریا"
+ },
+ "NI": {
+ "name": "نکاراگووا"
+ },
+ "NR": {
+ "name": "نؤرو"
+ },
+ "NP": {
+ "name": "نیپال"
+ },
+ "NL": {
+ "name": "نیدر لینڈز"
+ },
+ "NC": {
+ "name": "نیو کلیڈونیا"
+ },
+ "NZ": {
+ "name": "نیوزی لینڈ"
+ },
+ "NU": {
+ "name": "نیئو"
+ },
+ "VA": {
+ "name": "واٹیکن سٹی"
+ },
+ "CF": {
+ "name": "وسط افریقی جمہوریہ"
+ },
+ "VN": {
+ "name": "ویتنام"
+ },
+ "WF": {
+ "name": "ویلیز اور فیوٹیونا"
+ },
+ "VE": {
+ "name": "وینزوئیلا"
+ },
+ "VU": {
+ "name": "وینوآٹو"
+ },
+ "HK": {
+ "name": "ہانگ کانگ SAR چین"
+ },
+ "ES": {
+ "name": "ہسپانیہ"
+ },
+ "HU": {
+ "name": "ہنگری"
+ },
+ "HN": {
+ "name": "ہونڈاروس"
+ },
+ "HT": {
+ "name": "ہیٹی"
+ },
+ "YE": {
+ "name": "یمن"
+ },
+ "UY": {
+ "name": "یوروگوئے"
+ },
+ "UA": {
+ "name": "یوکرین"
+ },
+ "UG": {
+ "name": "یوگنڈا"
+ },
+ "GR": {
+ "name": "یونان"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/uz-Cyrl.json b/vendor/commerceguys/intl/resources/country/uz-Cyrl.json
new file mode 100644
index 000000000..1e1cd6d96
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/uz-Cyrl.json
@@ -0,0 +1,761 @@
+{
+ "AU": {
+ "name": "Австралия"
+ },
+ "AT": {
+ "name": "Австрия"
+ },
+ "VI": {
+ "name": "АҚШ Виргин ороллари"
+ },
+ "UM": {
+ "name": "АҚШ ёндош ороллари"
+ },
+ "AX": {
+ "name": "Аланд ороллари"
+ },
+ "AL": {
+ "name": "Албания"
+ },
+ "US": {
+ "name": "Америка Қўшма Штатлари"
+ },
+ "AS": {
+ "name": "Америка Самоаси"
+ },
+ "AI": {
+ "name": "Ангиля"
+ },
+ "AO": {
+ "name": "Ангола"
+ },
+ "AD": {
+ "name": "Андорра"
+ },
+ "AQ": {
+ "name": "Антарктида"
+ },
+ "AG": {
+ "name": "Антигуа ва Барбуда"
+ },
+ "AR": {
+ "name": "Аргентина"
+ },
+ "AM": {
+ "name": "Арманистон"
+ },
+ "AW": {
+ "name": "Аруба"
+ },
+ "AF": {
+ "name": "Афғонистон"
+ },
+ "BS": {
+ "name": "Багама ороллари"
+ },
+ "BD": {
+ "name": "Бангладеш"
+ },
+ "BB": {
+ "name": "Барбадос"
+ },
+ "BH": {
+ "name": "Баҳрайн"
+ },
+ "BZ": {
+ "name": "Белиз"
+ },
+ "BY": {
+ "name": "Белорусия"
+ },
+ "BE": {
+ "name": "Бельгия"
+ },
+ "BJ": {
+ "name": "Бенин"
+ },
+ "BM": {
+ "name": "Бермуда"
+ },
+ "AE": {
+ "name": "Бирлашган Араб Амирликлари"
+ },
+ "BG": {
+ "name": "Болгария"
+ },
+ "BO": {
+ "name": "Боливия"
+ },
+ "BQ": {
+ "name": "Бонейр, Синт-Эстатиус ва Саба"
+ },
+ "BA": {
+ "name": "Босния ва Герцеговина"
+ },
+ "BW": {
+ "name": "Ботсванна"
+ },
+ "BR": {
+ "name": "Бразилия"
+ },
+ "IO": {
+ "name": "Британиянинг Ҳинд океанидаги ҳудуди"
+ },
+ "VG": {
+ "name": "Бртания Виргин ороллари"
+ },
+ "BN": {
+ "name": "Бруней"
+ },
+ "BF": {
+ "name": "Буркина-Фасо"
+ },
+ "BI": {
+ "name": "Бурунди"
+ },
+ "BT": {
+ "name": "Бутан"
+ },
+ "GB": {
+ "name": "Буюк Британия"
+ },
+ "VU": {
+ "name": "Вануату"
+ },
+ "VA": {
+ "name": "Ватикан"
+ },
+ "HU": {
+ "name": "Венгрия"
+ },
+ "VE": {
+ "name": "Венесуэла"
+ },
+ "VN": {
+ "name": "Вьетнам"
+ },
+ "GA": {
+ "name": "Габон"
+ },
+ "HT": {
+ "name": "Гаити"
+ },
+ "GM": {
+ "name": "Гамбия"
+ },
+ "GH": {
+ "name": "Гана"
+ },
+ "GY": {
+ "name": "Гаяна"
+ },
+ "GP": {
+ "name": "Гваделупе"
+ },
+ "GT": {
+ "name": "Гватемала"
+ },
+ "GN": {
+ "name": "Гвинея"
+ },
+ "GW": {
+ "name": "Гвинея-Бисау"
+ },
+ "DE": {
+ "name": "Германия"
+ },
+ "GG": {
+ "name": "Гернси"
+ },
+ "GI": {
+ "name": "Гибралтар"
+ },
+ "HN": {
+ "name": "Гондурас"
+ },
+ "HK": {
+ "name": "Гонконг (Хитой ММҲ)"
+ },
+ "GD": {
+ "name": "Гренада"
+ },
+ "GL": {
+ "name": "Гренландия"
+ },
+ "GR": {
+ "name": "Греция"
+ },
+ "GE": {
+ "name": "Грузия"
+ },
+ "GU": {
+ "name": "Гуам"
+ },
+ "EH": {
+ "name": "Ғарбий Саҳрои Кабир"
+ },
+ "DK": {
+ "name": "Дания"
+ },
+ "DG": {
+ "name": "Диего-Гарсия"
+ },
+ "DM": {
+ "name": "Доминика"
+ },
+ "DO": {
+ "name": "Доминикан Республикаси"
+ },
+ "DZ": {
+ "name": "Жазоир"
+ },
+ "ZA": {
+ "name": "Жанубий Африка Республикаси"
+ },
+ "GS": {
+ "name": "Жанубий Георгия ва Жанубий Сендвич ороллари"
+ },
+ "KR": {
+ "name": "Жанубий Корея"
+ },
+ "SS": {
+ "name": "Жанубий Судан"
+ },
+ "JE": {
+ "name": "Жерси"
+ },
+ "DJ": {
+ "name": "Жибути"
+ },
+ "ZM": {
+ "name": "Замбия"
+ },
+ "ZW": {
+ "name": "Зимбабве"
+ },
+ "ID": {
+ "name": "Индонезия"
+ },
+ "JO": {
+ "name": "Иордания"
+ },
+ "IE": {
+ "name": "Ирландия"
+ },
+ "IQ": {
+ "name": "Ироқ"
+ },
+ "IS": {
+ "name": "Исландия"
+ },
+ "ES": {
+ "name": "Испания"
+ },
+ "IL": {
+ "name": "Исроил"
+ },
+ "IT": {
+ "name": "Италия"
+ },
+ "CV": {
+ "name": "Кабо-Верде"
+ },
+ "KY": {
+ "name": "Кайман ороллари"
+ },
+ "KH": {
+ "name": "Камбоджа"
+ },
+ "CM": {
+ "name": "Камерун"
+ },
+ "CA": {
+ "name": "Канада"
+ },
+ "IC": {
+ "name": "Канар ороллари"
+ },
+ "KE": {
+ "name": "Кения"
+ },
+ "CY": {
+ "name": "Кипр"
+ },
+ "KI": {
+ "name": "Кирибати"
+ },
+ "CC": {
+ "name": "Кокос (Килинг) ороллари"
+ },
+ "CO": {
+ "name": "Колумбия"
+ },
+ "KM": {
+ "name": "Комор ороллари"
+ },
+ "CG": {
+ "name": "Конго Браззавиль"
+ },
+ "CD": {
+ "name": "Конго-Киншаса"
+ },
+ "XK": {
+ "name": "Косово"
+ },
+ "CR": {
+ "name": "Коста-Рика"
+ },
+ "CI": {
+ "name": "Кот-д’Ивуар"
+ },
+ "CU": {
+ "name": "Куба"
+ },
+ "CK": {
+ "name": "Кук ороллари"
+ },
+ "CW": {
+ "name": "Кюрасао"
+ },
+ "QA": {
+ "name": "Қатар"
+ },
+ "KG": {
+ "name": "Қирғизистон"
+ },
+ "KZ": {
+ "name": "Қозоғистон"
+ },
+ "KW": {
+ "name": "Қувайт"
+ },
+ "LA": {
+ "name": "Лаос"
+ },
+ "LV": {
+ "name": "Латвия"
+ },
+ "LS": {
+ "name": "Лесото"
+ },
+ "LR": {
+ "name": "Либерия"
+ },
+ "LB": {
+ "name": "Ливан"
+ },
+ "LY": {
+ "name": "Ливия"
+ },
+ "LT": {
+ "name": "Литва"
+ },
+ "LI": {
+ "name": "Лихтенштейн"
+ },
+ "LU": {
+ "name": "Люксембург"
+ },
+ "MU": {
+ "name": "Маврикий"
+ },
+ "MR": {
+ "name": "Мавритания"
+ },
+ "MG": {
+ "name": "Мадагаскар"
+ },
+ "YT": {
+ "name": "Майотта"
+ },
+ "MO": {
+ "name": "Макао (Хитой ММҲ)"
+ },
+ "MK": {
+ "name": "Македония"
+ },
+ "MW": {
+ "name": "Малави"
+ },
+ "MY": {
+ "name": "Малайзия"
+ },
+ "ML": {
+ "name": "Мали"
+ },
+ "MV": {
+ "name": "Мальдив ороллари"
+ },
+ "MT": {
+ "name": "Мальта"
+ },
+ "CF": {
+ "name": "Марказий Африка Республикаси"
+ },
+ "MA": {
+ "name": "Марокаш"
+ },
+ "MQ": {
+ "name": "Мартиника"
+ },
+ "MH": {
+ "name": "Маршал ороллари"
+ },
+ "MX": {
+ "name": "Мексика"
+ },
+ "AC": {
+ "name": "Меърож ороли"
+ },
+ "FM": {
+ "name": "Микронезия"
+ },
+ "EG": {
+ "name": "Миср"
+ },
+ "MZ": {
+ "name": "Мозамбик"
+ },
+ "MD": {
+ "name": "Молдова"
+ },
+ "MC": {
+ "name": "Монако"
+ },
+ "MN": {
+ "name": "Монголия"
+ },
+ "MS": {
+ "name": "Монтсеррат"
+ },
+ "SH": {
+ "name": "Муқаддас Елена ороли"
+ },
+ "MM": {
+ "name": "Мьянма (Бирма)"
+ },
+ "IM": {
+ "name": "Мэн ороли"
+ },
+ "NA": {
+ "name": "Намибия"
+ },
+ "NR": {
+ "name": "Науру"
+ },
+ "NP": {
+ "name": "Непал"
+ },
+ "NE": {
+ "name": "Нигер"
+ },
+ "NG": {
+ "name": "Нигерия"
+ },
+ "NL": {
+ "name": "Нидерландия"
+ },
+ "NI": {
+ "name": "Никарагуа"
+ },
+ "NU": {
+ "name": "Ниуэ"
+ },
+ "NO": {
+ "name": "Норвегия"
+ },
+ "NF": {
+ "name": "Норфолк ороллари"
+ },
+ "AZ": {
+ "name": "Озарбайжон"
+ },
+ "PW": {
+ "name": "Палау"
+ },
+ "PA": {
+ "name": "Панама"
+ },
+ "PG": {
+ "name": "Папуа - Янги Гвинея"
+ },
+ "PY": {
+ "name": "Парагвай"
+ },
+ "PE": {
+ "name": "Перу"
+ },
+ "PN": {
+ "name": "Питкэрн ороллари"
+ },
+ "PK": {
+ "name": "Покистон"
+ },
+ "PL": {
+ "name": "Польша"
+ },
+ "PT": {
+ "name": "Португалия"
+ },
+ "PR": {
+ "name": "Пуэрто-Рико"
+ },
+ "RE": {
+ "name": "Реюнион"
+ },
+ "CX": {
+ "name": "Рождество ороли"
+ },
+ "RU": {
+ "name": "Россия"
+ },
+ "RW": {
+ "name": "Руанда"
+ },
+ "RO": {
+ "name": "Руминия"
+ },
+ "SV": {
+ "name": "Салвадор"
+ },
+ "WS": {
+ "name": "Самоа"
+ },
+ "SM": {
+ "name": "Сан-Марино"
+ },
+ "ST": {
+ "name": "Сан-Томе ва Принсипи"
+ },
+ "SA": {
+ "name": "Саудия Арабистони"
+ },
+ "SZ": {
+ "name": "Свазиленд"
+ },
+ "SJ": {
+ "name": "Свалбард ва Ян-Майен"
+ },
+ "SC": {
+ "name": "Сейшел ороллари"
+ },
+ "BL": {
+ "name": "Сен-Бартелеми"
+ },
+ "SN": {
+ "name": "Сенегал"
+ },
+ "VC": {
+ "name": "Сент-Винсент ва Гренадин"
+ },
+ "KN": {
+ "name": "Сент-Китс ва Невис"
+ },
+ "LC": {
+ "name": "Сент-Люсия"
+ },
+ "MF": {
+ "name": "Сент-Мартин"
+ },
+ "PM": {
+ "name": "Сент-Пьер ва Микелон"
+ },
+ "RS": {
+ "name": "Сербия"
+ },
+ "SG": {
+ "name": "Сингапур"
+ },
+ "SX": {
+ "name": "Синт-Мартен"
+ },
+ "SK": {
+ "name": "Словакия"
+ },
+ "SI": {
+ "name": "Словения"
+ },
+ "SB": {
+ "name": "Соломон ороллари"
+ },
+ "SO": {
+ "name": "Сомали"
+ },
+ "SD": {
+ "name": "Судан"
+ },
+ "SR": {
+ "name": "Суринам"
+ },
+ "SY": {
+ "name": "Сурия"
+ },
+ "SL": {
+ "name": "Сьерра-Леоне"
+ },
+ "EA": {
+ "name": "Сэута ва Мелилла"
+ },
+ "TH": {
+ "name": "Таиланд"
+ },
+ "TW": {
+ "name": "Тайван"
+ },
+ "TZ": {
+ "name": "Танзания"
+ },
+ "TL": {
+ "name": "Тимор-Лесте"
+ },
+ "TG": {
+ "name": "Того"
+ },
+ "TJ": {
+ "name": "Тожикистон"
+ },
+ "TK": {
+ "name": "Токелау"
+ },
+ "TO": {
+ "name": "Тонга"
+ },
+ "TT": {
+ "name": "Тринидад ва Тобаго"
+ },
+ "TA": {
+ "name": "Тристан-да-Куня"
+ },
+ "TV": {
+ "name": "Тувалу"
+ },
+ "TN": {
+ "name": "Тунис"
+ },
+ "TR": {
+ "name": "Туркия"
+ },
+ "TM": {
+ "name": "Туркманистон"
+ },
+ "TC": {
+ "name": "Туркс ва Кайкос ороллари"
+ },
+ "UG": {
+ "name": "Уганда"
+ },
+ "UZ": {
+ "name": "Ўзбекистон"
+ },
+ "UA": {
+ "name": "Украина"
+ },
+ "OM": {
+ "name": "Уммон"
+ },
+ "WF": {
+ "name": "Уоллис ва Футуна"
+ },
+ "UY": {
+ "name": "Уругвай"
+ },
+ "PS": {
+ "name": "Фаластин ҳудуди"
+ },
+ "FO": {
+ "name": "Фарер ороллари"
+ },
+ "FJ": {
+ "name": "Фижи"
+ },
+ "PH": {
+ "name": "Филиппин"
+ },
+ "FI": {
+ "name": "Финляндия"
+ },
+ "FK": {
+ "name": "Фолкленд ороллари"
+ },
+ "FR": {
+ "name": "Франция"
+ },
+ "GF": {
+ "name": "Француз Гвианаси"
+ },
+ "TF": {
+ "name": "Француз жанубий худудлари"
+ },
+ "PF": {
+ "name": "Француз Полинезияси"
+ },
+ "CN": {
+ "name": "Хитой"
+ },
+ "HR": {
+ "name": "Хорватия"
+ },
+ "IN": {
+ "name": "Ҳиндистон"
+ },
+ "TD": {
+ "name": "Чад"
+ },
+ "ME": {
+ "name": "Черногория"
+ },
+ "CZ": {
+ "name": "Чехия Республикаси"
+ },
+ "CL": {
+ "name": "Чили"
+ },
+ "CH": {
+ "name": "Швейцария"
+ },
+ "SE": {
+ "name": "Швеция"
+ },
+ "KP": {
+ "name": "Шимолий Корея"
+ },
+ "MP": {
+ "name": "Шимолий Марианна ороллари"
+ },
+ "LK": {
+ "name": "Шри-Ланка"
+ },
+ "EC": {
+ "name": "Эквадор"
+ },
+ "GQ": {
+ "name": "Экваториал Гвинея"
+ },
+ "ER": {
+ "name": "Эритрея"
+ },
+ "IR": {
+ "name": "Эрон"
+ },
+ "EE": {
+ "name": "Эстония"
+ },
+ "ET": {
+ "name": "Эфиопия"
+ },
+ "JM": {
+ "name": "Ямайка"
+ },
+ "YE": {
+ "name": "Яман"
+ },
+ "NZ": {
+ "name": "Янги Зеландия"
+ },
+ "NC": {
+ "name": "Янги Каледония"
+ },
+ "JP": {
+ "name": "Япония"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/uz.json b/vendor/commerceguys/intl/resources/country/uz.json
new file mode 100644
index 000000000..a07a8a8ba
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/uz.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afgʻoniston"
+ },
+ "AX": {
+ "name": "Aland orollari"
+ },
+ "AL": {
+ "name": "Albaniya"
+ },
+ "US": {
+ "name": "Amerika Qo‘shma Shtatlari"
+ },
+ "AS": {
+ "name": "Amerika Samoasi"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AI": {
+ "name": "Angilya"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AQ": {
+ "name": "Antarktida"
+ },
+ "AG": {
+ "name": "Antigua va Barbuda"
+ },
+ "VI": {
+ "name": "AQSH Virgin orollari"
+ },
+ "UM": {
+ "name": "AQSH yondosh orollari"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armaniston"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Avstraliya"
+ },
+ "AT": {
+ "name": "Avstriya"
+ },
+ "BS": {
+ "name": "Bagama orollari"
+ },
+ "BH": {
+ "name": "Bahrayn"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BY": {
+ "name": "Belarus"
+ },
+ "BE": {
+ "name": "Belgiya"
+ },
+ "BZ": {
+ "name": "Beliz"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda orollari"
+ },
+ "AE": {
+ "name": "Birlashgan Arab Amirliklari"
+ },
+ "BG": {
+ "name": "Bolgariya"
+ },
+ "BO": {
+ "name": "Boliviya"
+ },
+ "BQ": {
+ "name": "Boneyr, Sint-Estatius va Saba"
+ },
+ "BA": {
+ "name": "Bosniya va Gertsegovina"
+ },
+ "BW": {
+ "name": "Botsvana"
+ },
+ "BR": {
+ "name": "Braziliya"
+ },
+ "VG": {
+ "name": "Britaniya Virgin orollari"
+ },
+ "IO": {
+ "name": "Britaniyaning Hind okeanidagi hududi"
+ },
+ "BN": {
+ "name": "Bruney"
+ },
+ "BF": {
+ "name": "Burkina-Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Butan"
+ },
+ "GB": {
+ "name": "Buyuk Britaniya"
+ },
+ "TD": {
+ "name": "Chad"
+ },
+ "ME": {
+ "name": "Chernogoriya"
+ },
+ "CZ": {
+ "name": "Chexiya Respublikasi"
+ },
+ "CL": {
+ "name": "Chili"
+ },
+ "DK": {
+ "name": "Daniya"
+ },
+ "DG": {
+ "name": "Diyego-Garsiya"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "DO": {
+ "name": "Dominikan Respublikasi"
+ },
+ "ET": {
+ "name": "Efiopiya"
+ },
+ "EC": {
+ "name": "Ekvador"
+ },
+ "GQ": {
+ "name": "Ekvatorial Gvineya"
+ },
+ "ER": {
+ "name": "Eritreya"
+ },
+ "IR": {
+ "name": "Eron"
+ },
+ "EE": {
+ "name": "Estoniya"
+ },
+ "PS": {
+ "name": "Falastin hududi"
+ },
+ "FO": {
+ "name": "Farer orollari"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filippin"
+ },
+ "FI": {
+ "name": "Finlandiya"
+ },
+ "FK": {
+ "name": "Folklend orollari"
+ },
+ "FR": {
+ "name": "Fransiya"
+ },
+ "GF": {
+ "name": "Fransuz Gvianasi"
+ },
+ "TF": {
+ "name": "Fransuz Janubiy hududlari"
+ },
+ "PF": {
+ "name": "Fransuz Polineziyasi"
+ },
+ "EH": {
+ "name": "G‘arbiy Sahroi Kabir"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "HT": {
+ "name": "Gaiti"
+ },
+ "GM": {
+ "name": "Gambiya"
+ },
+ "GH": {
+ "name": "Gana"
+ },
+ "GY": {
+ "name": "Gayana"
+ },
+ "DE": {
+ "name": "Germaniya"
+ },
+ "GG": {
+ "name": "Gernsi"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "HN": {
+ "name": "Gonduras"
+ },
+ "HK": {
+ "name": "Gonkong (Xitoy MMH)"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GL": {
+ "name": "Grenlandiya"
+ },
+ "GR": {
+ "name": "Gretsiya"
+ },
+ "GE": {
+ "name": "Gruziya"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GP": {
+ "name": "Gvadelupe"
+ },
+ "GT": {
+ "name": "Gvatemala"
+ },
+ "GN": {
+ "name": "Gvineya"
+ },
+ "GW": {
+ "name": "Gvineya-Bisau"
+ },
+ "IN": {
+ "name": "Hindiston"
+ },
+ "ID": {
+ "name": "Indoneziya"
+ },
+ "JO": {
+ "name": "Iordaniya"
+ },
+ "IE": {
+ "name": "Irlandiya"
+ },
+ "IQ": {
+ "name": "Iroq"
+ },
+ "IS": {
+ "name": "Islandiya"
+ },
+ "ES": {
+ "name": "Ispaniya"
+ },
+ "IL": {
+ "name": "Isroil"
+ },
+ "IT": {
+ "name": "Italiya"
+ },
+ "ZA": {
+ "name": "Janubiy Afrika Respublikasi"
+ },
+ "GS": {
+ "name": "Janubiy Georgiya va Janubiy Sendvich orollari"
+ },
+ "KR": {
+ "name": "Janubiy Koreya"
+ },
+ "SS": {
+ "name": "Janubiy Sudan"
+ },
+ "DZ": {
+ "name": "Jazoir"
+ },
+ "JE": {
+ "name": "Jersi"
+ },
+ "DJ": {
+ "name": "Jibuti"
+ },
+ "CV": {
+ "name": "Kabo-Verde"
+ },
+ "KH": {
+ "name": "Kambodja"
+ },
+ "CM": {
+ "name": "Kamerun"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "IC": {
+ "name": "Kanar orollari"
+ },
+ "KY": {
+ "name": "Kayman orollari"
+ },
+ "KE": {
+ "name": "Keniya"
+ },
+ "CY": {
+ "name": "Kipr"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "CC": {
+ "name": "Kokos (Kiling) orollari"
+ },
+ "CO": {
+ "name": "Kolumbiya"
+ },
+ "KM": {
+ "name": "Komor orollari"
+ },
+ "CG": {
+ "name": "Kongo – Brazzavil"
+ },
+ "CD": {
+ "name": "Kongo – Kinshasa"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "Kosta-Rika"
+ },
+ "CI": {
+ "name": "Kot-d’Ivuar"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "CK": {
+ "name": "Kuk orollari"
+ },
+ "CW": {
+ "name": "Kyurasao"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LV": {
+ "name": "Latviya"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LR": {
+ "name": "Liberiya"
+ },
+ "LT": {
+ "name": "Litva"
+ },
+ "LB": {
+ "name": "Livan"
+ },
+ "LY": {
+ "name": "Liviya"
+ },
+ "LI": {
+ "name": "Lixtenshteyn"
+ },
+ "LU": {
+ "name": "Lyuksemburg"
+ },
+ "MG": {
+ "name": "Madagaskar"
+ },
+ "MO": {
+ "name": "Makao (Xitoy MMH)"
+ },
+ "MK": {
+ "name": "Makedoniya"
+ },
+ "MW": {
+ "name": "Malavi"
+ },
+ "MY": {
+ "name": "Malayziya"
+ },
+ "MV": {
+ "name": "Maldiv orollari"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "CF": {
+ "name": "Markaziy Afrika Respublikasi"
+ },
+ "MA": {
+ "name": "Marokash"
+ },
+ "MH": {
+ "name": "Marshall orollari"
+ },
+ "MQ": {
+ "name": "Martinika"
+ },
+ "MU": {
+ "name": "Mavrikiy"
+ },
+ "MR": {
+ "name": "Mavritaniya"
+ },
+ "YT": {
+ "name": "Mayotta"
+ },
+ "AC": {
+ "name": "Me’roj oroli"
+ },
+ "MX": {
+ "name": "Meksika"
+ },
+ "IM": {
+ "name": "Men oroli"
+ },
+ "FM": {
+ "name": "Mikroneziya"
+ },
+ "EG": {
+ "name": "Misr"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MN": {
+ "name": "Mongoliya"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mozambik"
+ },
+ "SH": {
+ "name": "Muqaddas Yelena oroli"
+ },
+ "MM": {
+ "name": "Myanma (Birma)"
+ },
+ "NA": {
+ "name": "Namibiya"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NL": {
+ "name": "Niderlandiya"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigeriya"
+ },
+ "NI": {
+ "name": "Nikaragua"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NF": {
+ "name": "Norfolk oroli"
+ },
+ "NO": {
+ "name": "Norvegiya"
+ },
+ "UZ": {
+ "name": "Oʻzbekiston"
+ },
+ "AZ": {
+ "name": "Ozarbayjon"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua – Yangi Gvineya"
+ },
+ "PY": {
+ "name": "Paragvay"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitkern orollari"
+ },
+ "PK": {
+ "name": "Pokiston"
+ },
+ "PL": {
+ "name": "Polsha"
+ },
+ "PT": {
+ "name": "Portugaliya"
+ },
+ "PR": {
+ "name": "Puerto-Riko"
+ },
+ "QA": {
+ "name": "Qatar"
+ },
+ "KG": {
+ "name": "Qirgʻiziston"
+ },
+ "KZ": {
+ "name": "Qozogʻiston"
+ },
+ "KW": {
+ "name": "Quvayt"
+ },
+ "RE": {
+ "name": "Reyunion"
+ },
+ "CX": {
+ "name": "Rojdestvo oroli"
+ },
+ "RU": {
+ "name": "Rossiya"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RO": {
+ "name": "Ruminiya"
+ },
+ "SV": {
+ "name": "Salvador"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San-Marino"
+ },
+ "ST": {
+ "name": "San-Tome va Prinsipi"
+ },
+ "SA": {
+ "name": "Saudiya Arabistoni"
+ },
+ "BL": {
+ "name": "Sen-Bartelemi"
+ },
+ "PM": {
+ "name": "Sen-Pyer va Mikelon"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "KN": {
+ "name": "Sent-Kits va Nevis"
+ },
+ "LC": {
+ "name": "Sent-Lyusiya"
+ },
+ "MF": {
+ "name": "Sent-Martin"
+ },
+ "VC": {
+ "name": "Sent-Vinsent va Grenadin"
+ },
+ "RS": {
+ "name": "Serbiya"
+ },
+ "EA": {
+ "name": "Seuta va Melilya"
+ },
+ "SC": {
+ "name": "Seyshel orollari"
+ },
+ "KP": {
+ "name": "Shimoliy Koreya"
+ },
+ "MP": {
+ "name": "Shimoliy Mariana orollari"
+ },
+ "LK": {
+ "name": "Shri-Lanka"
+ },
+ "SE": {
+ "name": "Shvetsiya"
+ },
+ "CH": {
+ "name": "Shveytsariya"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SX": {
+ "name": "Sint-Marten"
+ },
+ "SK": {
+ "name": "Slovakiya"
+ },
+ "SI": {
+ "name": "Sloveniya"
+ },
+ "SB": {
+ "name": "Solomon orollari"
+ },
+ "SO": {
+ "name": "Somali"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SY": {
+ "name": "Suriya"
+ },
+ "SJ": {
+ "name": "Svalbard va Yan-Mayen"
+ },
+ "SZ": {
+ "name": "Svazilend"
+ },
+ "SL": {
+ "name": "Syerra-Leone"
+ },
+ "TH": {
+ "name": "Tailand"
+ },
+ "TZ": {
+ "name": "Tanzaniya"
+ },
+ "TW": {
+ "name": "Tayvan"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TJ": {
+ "name": "Tojikiston"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad va Tobago"
+ },
+ "TA": {
+ "name": "Tristan-da-Kunya"
+ },
+ "TN": {
+ "name": "Tunis"
+ },
+ "TR": {
+ "name": "Turkiya"
+ },
+ "TM": {
+ "name": "Turkmaniston"
+ },
+ "TC": {
+ "name": "Turks va Kaykos orollari"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukraina"
+ },
+ "OM": {
+ "name": "Ummon"
+ },
+ "WF": {
+ "name": "Uollis va Futuna"
+ },
+ "UY": {
+ "name": "Urugvay"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikan"
+ },
+ "VE": {
+ "name": "Venesuela"
+ },
+ "HU": {
+ "name": "Vengriya"
+ },
+ "VN": {
+ "name": "Vyetnam"
+ },
+ "CN": {
+ "name": "Xitoy"
+ },
+ "HR": {
+ "name": "Xorvatiya"
+ },
+ "YE": {
+ "name": "Yaman"
+ },
+ "JM": {
+ "name": "Yamayka"
+ },
+ "NC": {
+ "name": "Yangi Kaledoniya"
+ },
+ "NZ": {
+ "name": "Yangi Zelandiya"
+ },
+ "JP": {
+ "name": "Yaponiya"
+ },
+ "ZM": {
+ "name": "Zambiya"
+ },
+ "ZW": {
+ "name": "Zimbabve"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/vai-Latn.json b/vendor/commerceguys/intl/resources/country/vai-Latn.json
new file mode 100644
index 000000000..2e50e353a
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/vai-Latn.json
@@ -0,0 +1,761 @@
+{
+ "AL": {
+ "name": "Abhaniya"
+ },
+ "AF": {
+ "name": "Afigándesitaŋ"
+ },
+ "ZA": {
+ "name": "Afirika Kɔi Leŋŋɛ Lɔ"
+ },
+ "CF": {
+ "name": "Áfíríka Lumaã Tɛ Boloe"
+ },
+ "DZ": {
+ "name": "Agiriya"
+ },
+ "IS": {
+ "name": "Áisi Lumaã"
+ },
+ "AR": {
+ "name": "Ajɛŋtína"
+ },
+ "AX": {
+ "name": "Åland Islands"
+ },
+ "AM": {
+ "name": "Améniya"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AD": {
+ "name": "Aŋdóra"
+ },
+ "AI": {
+ "name": "Aŋgíla"
+ },
+ "AO": {
+ "name": "Aŋgóla"
+ },
+ "AG": {
+ "name": "Aŋtígwa Ɓahabhuda"
+ },
+ "IE": {
+ "name": "Áre Lumaã"
+ },
+ "AW": {
+ "name": "Arubha"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "CD": {
+ "name": "Avorekoo"
+ },
+ "AZ": {
+ "name": "Azabhaijaŋ"
+ },
+ "BS": {
+ "name": "Bahámasi"
+ },
+ "BB": {
+ "name": "Bhabhedo"
+ },
+ "BD": {
+ "name": "Bhangiladɛ̀shi"
+ },
+ "IL": {
+ "name": "Bhanísiláila"
+ },
+ "BH": {
+ "name": "Bharɛŋ"
+ },
+ "BZ": {
+ "name": "Bheliz"
+ },
+ "BE": {
+ "name": "Bhɛgiyɔŋ"
+ },
+ "BY": {
+ "name": "Bhɛlarusi"
+ },
+ "BM": {
+ "name": "Bhɛmuda"
+ },
+ "BJ": {
+ "name": "Bhɛni"
+ },
+ "BF": {
+ "name": "Bhokina Fáso"
+ },
+ "BO": {
+ "name": "Bholiviya"
+ },
+ "BW": {
+ "name": "Bhosuwana"
+ },
+ "BG": {
+ "name": "Bhɔgeriya"
+ },
+ "BA": {
+ "name": "Bhɔsiniya"
+ },
+ "BR": {
+ "name": "Bhurazeli"
+ },
+ "BI": {
+ "name": "Bhurundi"
+ },
+ "BN": {
+ "name": "Bhurunɛĩ"
+ },
+ "BT": {
+ "name": "Bhutaŋ"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "TD": {
+ "name": "Chádi"
+ },
+ "CN": {
+ "name": "Cháína"
+ },
+ "CL": {
+ "name": "Chéli"
+ },
+ "CZ": {
+ "name": "Chɛki Boloe"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Danimaha"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Domíiníka"
+ },
+ "DO": {
+ "name": "Domíiníka Ɓoloe"
+ },
+ "GQ": {
+ "name": "Dúúnyá Tɛ Giini"
+ },
+ "EC": {
+ "name": "Ɛ́kúwédɔ"
+ },
+ "SV": {
+ "name": "Ɛlɛ Sávádɔ"
+ },
+ "ER": {
+ "name": "Ɛritera"
+ },
+ "EE": {
+ "name": "Ɛsitóninya"
+ },
+ "FK": {
+ "name": "Fáháki Luma Tiŋŋɛ"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "PH": {
+ "name": "Félepiŋ"
+ },
+ "FR": {
+ "name": "Fɛŋsi"
+ },
+ "GF": {
+ "name": "Fɛŋsi Giwana"
+ },
+ "PF": {
+ "name": "Fɛŋsi Polinísiya"
+ },
+ "FJ": {
+ "name": "Fíji"
+ },
+ "FI": {
+ "name": "Fiŋlɛŋ"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gabhɔŋ"
+ },
+ "GM": {
+ "name": "Gambiya"
+ },
+ "GH": {
+ "name": "Gana"
+ },
+ "SL": {
+ "name": "Gbeya Bahawɔ"
+ },
+ "GN": {
+ "name": "Gini"
+ },
+ "GW": {
+ "name": "Gini Bhisawo"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GD": {
+ "name": "Gurinéda"
+ },
+ "GP": {
+ "name": "Guwadelupe"
+ },
+ "GU": {
+ "name": "Guwami"
+ },
+ "GT": {
+ "name": "Guwatɛmala"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Háiti"
+ },
+ "GR": {
+ "name": "Hɛlɛŋ"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HN": {
+ "name": "Hɔndura"
+ },
+ "HU": {
+ "name": "Hɔ́ngare"
+ },
+ "IN": {
+ "name": "Índiya"
+ },
+ "ID": {
+ "name": "Índonisiya"
+ },
+ "IQ": {
+ "name": "Iraki"
+ },
+ "IR": {
+ "name": "Iraŋ"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IT": {
+ "name": "Ítali"
+ },
+ "ET": {
+ "name": "Ítiyópiya"
+ },
+ "DE": {
+ "name": "Jamáĩ"
+ },
+ "JM": {
+ "name": "Jamaika"
+ },
+ "GL": {
+ "name": "Jamba Kuwa Lumaã"
+ },
+ "JP": {
+ "name": "Japaŋ"
+ },
+ "VG": {
+ "name": "Jengéesi Bhɛɛ Lɔ Musu Tiŋŋɛ"
+ },
+ "IO": {
+ "name": "Jengéesi Gbawoe Índiya Kɔiyɛ Lɔ"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "GI": {
+ "name": "Jibhurata"
+ },
+ "DJ": {
+ "name": "Jibhuti"
+ },
+ "JO": {
+ "name": "Jɔɔdaŋ"
+ },
+ "GE": {
+ "name": "Jɔɔjiya"
+ },
+ "NC": {
+ "name": "Kalidoninya Námaá"
+ },
+ "CM": {
+ "name": "Kameruŋ"
+ },
+ "CA": {
+ "name": "Kánáda"
+ },
+ "KH": {
+ "name": "Kaŋbhodiya"
+ },
+ "QA": {
+ "name": "Kataha"
+ },
+ "KZ": {
+ "name": "Kazasitaŋ"
+ },
+ "KY": {
+ "name": "Keemaŋ Tiŋŋɛ"
+ },
+ "KE": {
+ "name": "Kénya"
+ },
+ "CV": {
+ "name": "Kepi Vɛdi Tiŋŋɛ"
+ },
+ "KG": {
+ "name": "Kigisitaŋ"
+ },
+ "KI": {
+ "name": "Kiribhati"
+ },
+ "CU": {
+ "name": "Kiyubha"
+ },
+ "CI": {
+ "name": "Kódivówa"
+ },
+ "CK": {
+ "name": "Kóki Tiŋŋɛ"
+ },
+ "KM": {
+ "name": "Komorosi"
+ },
+ "CG": {
+ "name": "Kóngo"
+ },
+ "HR": {
+ "name": "Koresiya"
+ },
+ "KP": {
+ "name": "Koriya Kɔi Kaŋndɔ"
+ },
+ "KR": {
+ "name": "Koriya Kɔi Leŋŋɛ Lɔ"
+ },
+ "CR": {
+ "name": "Kósíta Ríko"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "MP": {
+ "name": "Kɔi Kaŋndɔ Mariyana Tiŋŋɛ"
+ },
+ "CO": {
+ "name": "Kɔlɔmbiya"
+ },
+ "KW": {
+ "name": "Kuweti"
+ },
+ "SA": {
+ "name": "Lahabu"
+ },
+ "LR": {
+ "name": "Laibhiya"
+ },
+ "LV": {
+ "name": "Lativiya"
+ },
+ "LA": {
+ "name": "Lawosi"
+ },
+ "LB": {
+ "name": "Lebhanɔ"
+ },
+ "LY": {
+ "name": "Lebhiya"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LS": {
+ "name": "Lisóto"
+ },
+ "LT": {
+ "name": "Lituweninya"
+ },
+ "LU": {
+ "name": "Lusimbɔ"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MG": {
+ "name": "Madagasita"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malesiya"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MV": {
+ "name": "Malidavi"
+ },
+ "MT": {
+ "name": "Malita"
+ },
+ "MK": {
+ "name": "Masedoninya"
+ },
+ "MH": {
+ "name": "Masha Tiŋŋɛ"
+ },
+ "MQ": {
+ "name": "Matiniki"
+ },
+ "YT": {
+ "name": "Mavote"
+ },
+ "MX": {
+ "name": "Mɛsíko"
+ },
+ "FM": {
+ "name": "Mikonisiya"
+ },
+ "EG": {
+ "name": "Míséla"
+ },
+ "MM": {
+ "name": "Miyamaha"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MZ": {
+ "name": "Mozambiki"
+ },
+ "MD": {
+ "name": "Mɔlidova"
+ },
+ "MC": {
+ "name": "Mɔnako"
+ },
+ "MN": {
+ "name": "Mɔngoliya"
+ },
+ "MU": {
+ "name": "Mɔreshɔ"
+ },
+ "MR": {
+ "name": "Mɔretaninya"
+ },
+ "MA": {
+ "name": "Mɔroko"
+ },
+ "MS": {
+ "name": "Mɔserati"
+ },
+ "NE": {
+ "name": "Naĩja"
+ },
+ "NG": {
+ "name": "Naĩjiriya"
+ },
+ "NA": {
+ "name": "Namibiya"
+ },
+ "NP": {
+ "name": "Nepa"
+ },
+ "NL": {
+ "name": "Nidɔlɛŋ"
+ },
+ "NI": {
+ "name": "Nikaraguwa"
+ },
+ "NU": {
+ "name": "Niwe"
+ },
+ "NR": {
+ "name": "Noru"
+ },
+ "NF": {
+ "name": "Nɔfɔ Tiŋŋɛ"
+ },
+ "NO": {
+ "name": "Nɔɔwe"
+ },
+ "OM": {
+ "name": "Omaŋ"
+ },
+ "AT": {
+ "name": "Ɔ́situwa"
+ },
+ "AU": {
+ "name": "Ɔsituwéeliya"
+ },
+ "PK": {
+ "name": "Pakisitaŋ"
+ },
+ "PS": {
+ "name": "Palesitininya Tele Jii Kɔiyɛ lá hĩ Gaza"
+ },
+ "PW": {
+ "name": "Palo"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "ES": {
+ "name": "Panyɛĩ"
+ },
+ "PG": {
+ "name": "Papuwa Gini Námaá"
+ },
+ "PY": {
+ "name": "Paragɔe"
+ },
+ "PE": {
+ "name": "Pɛru"
+ },
+ "PN": {
+ "name": "Pitikɛŋ"
+ },
+ "PR": {
+ "name": "Piyuto Riko"
+ },
+ "PL": {
+ "name": "Pólɛŋ"
+ },
+ "US": {
+ "name": "Poo"
+ },
+ "VI": {
+ "name": "Poo Bhɛɛ lɔ Musu Tiŋŋɛ"
+ },
+ "AS": {
+ "name": "Poo Sambowa"
+ },
+ "PT": {
+ "name": "Potokíi"
+ },
+ "RW": {
+ "name": "Rawunda"
+ },
+ "RE": {
+ "name": "Renyɔɔ̃"
+ },
+ "RO": {
+ "name": "Romininya"
+ },
+ "RU": {
+ "name": "Rɔshiya"
+ },
+ "CY": {
+ "name": "Saɛpurɔ"
+ },
+ "WS": {
+ "name": "Samowa"
+ },
+ "SM": {
+ "name": "Saŋ Marindo"
+ },
+ "ST": {
+ "name": "Sawo Tombe ɓɛ a Gbawoe"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seshɛɛ"
+ },
+ "SG": {
+ "name": "Síingapoo"
+ },
+ "SN": {
+ "name": "Sinigaha"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SH": {
+ "name": "Siŋ Hɛlina"
+ },
+ "KN": {
+ "name": "Siŋ Kisi ɓɛ́ Nevisi"
+ },
+ "LC": {
+ "name": "Siŋ Lusiya"
+ },
+ "PM": {
+ "name": "Siŋ Piiyɛ ɓɛ́ Mikelɔŋ"
+ },
+ "VC": {
+ "name": "Siŋ Viŋsi"
+ },
+ "SY": {
+ "name": "Síyaŋ"
+ },
+ "SO": {
+ "name": "Somaliya"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SD": {
+ "name": "Sudɛŋ"
+ },
+ "SB": {
+ "name": "Sulaimaãna Tiŋŋɛ"
+ },
+ "SK": {
+ "name": "Sulovakiya"
+ },
+ "SI": {
+ "name": "Suloveninya"
+ },
+ "LK": {
+ "name": "Suri Laŋka"
+ },
+ "SR": {
+ "name": "Surinambe"
+ },
+ "SZ": {
+ "name": "Suwazi Lumaã"
+ },
+ "CH": {
+ "name": "Suweza Lumaã"
+ },
+ "SE": {
+ "name": "Suwidɛŋ"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "TH": {
+ "name": "Tai Lumaã"
+ },
+ "TW": {
+ "name": "Taiwaŋ"
+ },
+ "TJ": {
+ "name": "Tajikisitaŋ"
+ },
+ "TZ": {
+ "name": "Taŋzaninya"
+ },
+ "TL": {
+ "name": "Tele Ɓɔ́ Timɔɔ̃"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelo"
+ },
+ "TO": {
+ "name": "Tɔnga"
+ },
+ "TR": {
+ "name": "Tɔ́ɔ́ki"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TM": {
+ "name": "Tukimɛnisitaŋ"
+ },
+ "TC": {
+ "name": "Tukisi ɓɛ̀ Kaikóosi Tiŋŋɛ"
+ },
+ "TN": {
+ "name": "Tunisiya"
+ },
+ "TT": {
+ "name": "Turindeda ɓɛ́ Tobhego"
+ },
+ "TV": {
+ "name": "Tuválu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "VU": {
+ "name": "Vanuwátu"
+ },
+ "VA": {
+ "name": "Vatikaŋ Ɓoloe"
+ },
+ "VE": {
+ "name": "Vɛnɛzuwela"
+ },
+ "VN": {
+ "name": "Viyanami"
+ },
+ "WF": {
+ "name": "Walísi"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yemɛni"
+ },
+ "UZ": {
+ "name": "Yubhɛkisitaŋ"
+ },
+ "UG": {
+ "name": "Yuganda"
+ },
+ "UA": {
+ "name": "Yukuréŋ"
+ },
+ "AE": {
+ "name": "Yunaitɛ Arabhi Ɛmire"
+ },
+ "GB": {
+ "name": "Yunaitɛ Kíŋdɔŋ"
+ },
+ "UY": {
+ "name": "Yuwegɔwe"
+ },
+ "ZM": {
+ "name": "Zambiya"
+ },
+ "NZ": {
+ "name": "Zilɛŋ Námaá"
+ },
+ "ZW": {
+ "name": "Zimbabhuwe"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/vai.json b/vendor/commerceguys/intl/resources/country/vai.json
new file mode 100644
index 000000000..e0a45b11e
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/vai.json
@@ -0,0 +1,761 @@
+{
+ "AX": {
+ "name": "Åland Islands"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "VA": {
+ "name": "Vatican City"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "ER": {
+ "name": "ꔀꔸꔳꕟ"
+ },
+ "BZ": {
+ "name": "ꔆꔷꔘ"
+ },
+ "SL": {
+ "name": "ꔋꕩ ꕒꕌꖺ ꕸꖃꔀ"
+ },
+ "TL": {
+ "name": "ꔎꔒ ꗃ ꔳꗞꖻ"
+ },
+ "LY": {
+ "name": "ꔒꔫꕩ"
+ },
+ "LB": {
+ "name": "ꔒꕑꗟꘋ"
+ },
+ "RE": {
+ "name": "ꔓꗠꖻ"
+ },
+ "SC": {
+ "name": "ꔖꗼꔷ"
+ },
+ "CL": {
+ "name": "ꔚꔷ"
+ },
+ "IO": {
+ "name": "ꔛꔟꔻ ꔤꔺꕩ ꗛꔤꘂ ꕗꕴꔀ ꕮ"
+ },
+ "VG": {
+ "name": "ꔛꔟꔻ ꗩꗡ ꗏ ꖷꖬ ꔳꘋꗣ"
+ },
+ "JP": {
+ "name": "ꔛꗨꗢ"
+ },
+ "YE": {
+ "name": "ꔝꘈꘋ"
+ },
+ "KY": {
+ "name": "ꔞꔀꕮꘋ ꔳꘋꗣ"
+ },
+ "CV": {
+ "name": "ꔞꔪ ꗲꔵ ꔳꘋꗣ"
+ },
+ "KE": {
+ "name": "ꔞꕰ"
+ },
+ "ET": {
+ "name": "ꔤꔳꖎꔪꕩ"
+ },
+ "IN": {
+ "name": "ꔤꔺꕩ"
+ },
+ "IT": {
+ "name": "ꔤꕚꔷ"
+ },
+ "IQ": {
+ "name": "ꔤꕟꕃ"
+ },
+ "IR": {
+ "name": "ꔤꕟꘋ"
+ },
+ "ID": {
+ "name": "ꔤꖆꕇꔻꕩ"
+ },
+ "PN": {
+ "name": "ꔪꔳꕪꕆ"
+ },
+ "PR": {
+ "name": "ꔪꖳꕿ ꔸꖏ"
+ },
+ "PH": {
+ "name": "ꔱꔒꔪꘋ"
+ },
+ "FJ": {
+ "name": "ꔱꔤꕀ"
+ },
+ "FI": {
+ "name": "ꔱꘋ ꖨꕮꕊ"
+ },
+ "LS": {
+ "name": "ꔷꖇꕿ"
+ },
+ "LT": {
+ "name": "ꔷꖤꔃꕇꕰ"
+ },
+ "LI": {
+ "name": "ꔷꗿꘋꔻꗳꘋ"
+ },
+ "SN": {
+ "name": "ꔻꕇꕭꕌ"
+ },
+ "SY": {
+ "name": "ꔻꕩꘋ"
+ },
+ "SG": {
+ "name": "ꔻꕬꕶꕱ"
+ },
+ "SI": {
+ "name": "ꔻꖃꔍꕇꕰ"
+ },
+ "SK": {
+ "name": "ꔻꖃꕙꕃꕩ"
+ },
+ "PM": {
+ "name": "ꔻꘋ ꔪꘂ ꗪ ꕆꔞꗏꘋ"
+ },
+ "VC": {
+ "name": "ꔻꘋ ꔲꘋꔻꘋ ꗪ ꖶꔓꕯꔵꘋ ꖸ"
+ },
+ "KN": {
+ "name": "ꔻꘋ ꕃꔳꔻ ꗪ ꔕꔲꔻ"
+ },
+ "LC": {
+ "name": "ꔻꘋ ꖨꔻꕩ"
+ },
+ "SH": {
+ "name": "ꔻꘋ ꗥꔷꕯ"
+ },
+ "NZ": {
+ "name": "ꔽꔤ ꖨꕮ ꕯꕮꕊ"
+ },
+ "ZW": {
+ "name": "ꔽꕓꖜꔃ"
+ },
+ "DJ": {
+ "name": "ꕀꖜꔳ"
+ },
+ "GI": {
+ "name": "ꕀꖜꕟꕚ"
+ },
+ "KI": {
+ "name": "ꕃꔸꕑꔳ"
+ },
+ "KG": {
+ "name": "ꕃꕅꔻꕚꘋ"
+ },
+ "CU": {
+ "name": "ꕃꖳꕑ"
+ },
+ "GN": {
+ "name": "ꕅꔤꕇ"
+ },
+ "GW": {
+ "name": "ꕅꔤꕇ ꔫꕢꕴ"
+ },
+ "EG": {
+ "name": "ꕆꔖꕞ"
+ },
+ "MM": {
+ "name": "ꕆꕩꘋꕮ"
+ },
+ "FM": {
+ "name": "ꕆꖏꕇꔻꕩ"
+ },
+ "NP": {
+ "name": "ꕇꕐꔷ"
+ },
+ "NI": {
+ "name": "ꕇꕪꕟꖶꕎ"
+ },
+ "IE": {
+ "name": "ꕉꔓ ꖨꕮꕊ"
+ },
+ "IS": {
+ "name": "ꕉꔤꔻ ꖨꕮꕊ"
+ },
+ "ZA": {
+ "name": "ꕉꔱꔸꕪ ꗛꔤ ꔒꘋꗣ ꗏ ꕸꖃꔀ"
+ },
+ "CF": {
+ "name": "ꕉꔱꔸꕪ ꗳ ꗳ ꕸꖃꔀ"
+ },
+ "AF": {
+ "name": "ꕉꔱꕭꔕꔻꕚꘋ"
+ },
+ "DZ": {
+ "name": "ꕉꔷꔠꔸꕩ"
+ },
+ "AL": {
+ "name": "ꕉꔷꕑꕇꕩ"
+ },
+ "AI": {
+ "name": "ꕉꕄꕞ"
+ },
+ "AM": {
+ "name": "ꕉꕆꕯ"
+ },
+ "AZ": {
+ "name": "ꕉꕤꕑꔤꕧꘋ"
+ },
+ "AD": {
+ "name": "ꕉꖆꕟ"
+ },
+ "AO": {
+ "name": "ꕉꖐꕞ"
+ },
+ "AW": {
+ "name": "ꕉꖩꕑ"
+ },
+ "AR": {
+ "name": "ꕉꘀꘋꔳꕯ"
+ },
+ "AG": {
+ "name": "ꕉꘋꔳꖶꕎ ꗪ ꕑꖜꕜ"
+ },
+ "HT": {
+ "name": "ꕌꔤꔳ"
+ },
+ "WF": {
+ "name": "ꕎꔷꔻ ꗪ ꖢꖤꕯ"
+ },
+ "PS": {
+ "name": "ꕐꔒꔻꔳꕯ ꔎꔒ ꕀꔤ ꗛꔤ ꕞ ꗱ ꗪ ꕭꕌꕤ"
+ },
+ "PK": {
+ "name": "ꕐꕃꔻꕚꘋ"
+ },
+ "PY": {
+ "name": "ꕐꕟꗝꔀ"
+ },
+ "PA": {
+ "name": "ꕐꕯꕮ"
+ },
+ "PW": {
+ "name": "ꕐꖃ"
+ },
+ "PG": {
+ "name": "ꕐꖛꕎ ꕅꔤꕇ ꕯꕮꕊ"
+ },
+ "ES": {
+ "name": "ꕐꘊꔧ"
+ },
+ "BB": {
+ "name": "ꕑꔆꖁꔻ"
+ },
+ "BD": {
+ "name": "ꕑꕅꕞꗵꔼ"
+ },
+ "IL": {
+ "name": "ꕑꕇꔻꕞꔤꕞ"
+ },
+ "BS": {
+ "name": "ꕑꕌꕮꔻ"
+ },
+ "BH": {
+ "name": "ꕑꗸꘋ"
+ },
+ "FK": {
+ "name": "ꕘꔷꕃ ꖨꕮ ꔳꘋꗣ"
+ },
+ "VE": {
+ "name": "ꕙꔳꕪꘋ ꕸꖃꔀ"
+ },
+ "VU": {
+ "name": "ꕙꖸꕎꖤ"
+ },
+ "TH": {
+ "name": "ꕚꔤ ꖨꕮꕊ"
+ },
+ "TW": {
+ "name": "ꕚꔤꕎꘋ"
+ },
+ "TJ": {
+ "name": "ꕚꕀꕃꔻꕚꘋ"
+ },
+ "TV": {
+ "name": "ꕚꖣꖨ"
+ },
+ "TZ": {
+ "name": "ꕚꘋꕤꕇꕰ"
+ },
+ "DK": {
+ "name": "ꕜꕇꕮꕃ"
+ },
+ "LR": {
+ "name": "ꕞꔤꔫꕩ"
+ },
+ "LV": {
+ "name": "ꕞꔳꔲꕩ"
+ },
+ "SA": {
+ "name": "ꕞꕌꖝ ꕸꖃꔀ"
+ },
+ "LA": {
+ "name": "ꕞꕴꔻ"
+ },
+ "RW": {
+ "name": "ꕟꖙꕡ"
+ },
+ "ST": {
+ "name": "ꕢꕴ ꕿꔈ ꗪ ꕉ ꕮꔧ ꕗꕴꔀ"
+ },
+ "WS": {
+ "name": "ꕢꕹꖙꕉ"
+ },
+ "CY": {
+ "name": "ꕢꗡꖛꗐꔻ"
+ },
+ "ZM": {
+ "name": "ꕤꔭꕩ"
+ },
+ "CN": {
+ "name": "ꕦꔤꕯ"
+ },
+ "TD": {
+ "name": "ꕦꔵ"
+ },
+ "GL": {
+ "name": "ꕧꕓ ꖴꕎ ꖨꕮꕊ"
+ },
+ "DE": {
+ "name": "ꕧꕮꔧ"
+ },
+ "JM": {
+ "name": "ꕧꕮꔧꕪ"
+ },
+ "CM": {
+ "name": "ꕪꔈꖩꘋ"
+ },
+ "NC": {
+ "name": "ꕪꔷꖁꕇꕰ ꕯꕮꕊ"
+ },
+ "QA": {
+ "name": "ꕪꕚꕌ"
+ },
+ "KZ": {
+ "name": "ꕪꕤꔻꕚꘋ"
+ },
+ "CA": {
+ "name": "ꕪꕯꕜ"
+ },
+ "KH": {
+ "name": "ꕪꕹꔵꕩ"
+ },
+ "GM": {
+ "name": "ꕭꔭꕩ"
+ },
+ "GH": {
+ "name": "ꕭꕌꕯ"
+ },
+ "GA": {
+ "name": "ꕭꕷꘋ"
+ },
+ "MY": {
+ "name": "ꕮꔒꔻꕩ"
+ },
+ "MK": {
+ "name": "ꕮꔖꖁꕇꕰ"
+ },
+ "MQ": {
+ "name": "ꕮꔳꕇꕃ"
+ },
+ "ML": {
+ "name": "ꕮꔷ"
+ },
+ "MV": {
+ "name": "ꕮꔷꕜꔍ"
+ },
+ "SM": {
+ "name": "ꕮꔸꖆ ꕢꘋ"
+ },
+ "MT": {
+ "name": "ꕮꕊꕚ"
+ },
+ "MH": {
+ "name": "ꕮꕊꕣ ꔳꘋꗣ"
+ },
+ "MG": {
+ "name": "ꕮꕜꕭꔻꕪ"
+ },
+ "MW": {
+ "name": "ꕮꕞꕌꔨ"
+ },
+ "YT": {
+ "name": "ꕮꗚꔎ"
+ },
+ "NG": {
+ "name": "ꕯꔤꕀꔸꕩ"
+ },
+ "NE": {
+ "name": "ꕯꔤꕧ"
+ },
+ "NA": {
+ "name": "ꕯꕆꔫꕩ"
+ },
+ "OM": {
+ "name": "ꕱꕮꘋ"
+ },
+ "US": {
+ "name": "ꕶꕱ"
+ },
+ "AS": {
+ "name": "ꕶꕱ ꕢꕹꕎ"
+ },
+ "VI": {
+ "name": "ꕶꕱ ꗩꗡ ꗏ ꖷꖬ ꔳꘋꗣ"
+ },
+ "PT": {
+ "name": "ꕶꕿꕃꔤ ꕸꖃꔀ"
+ },
+ "PL": {
+ "name": "ꕶꗷꘋ"
+ },
+ "BO": {
+ "name": "ꕷꔷꔲꕩ"
+ },
+ "BA": {
+ "name": "ꕷꔻꕇꕰ ꗪ ꗥꕤꖑꔲꕯ"
+ },
+ "BF": {
+ "name": "ꕷꕃꕯ ꕘꖇ"
+ },
+ "BW": {
+ "name": "ꕷꖬꕎꕯ"
+ },
+ "MZ": {
+ "name": "ꕹꕤꔭꕃ"
+ },
+ "TK": {
+ "name": "ꕿꔞꖃ"
+ },
+ "TG": {
+ "name": "ꕿꖑ"
+ },
+ "DM": {
+ "name": "ꖁꕆꕇꕪ"
+ },
+ "DO": {
+ "name": "ꖁꕆꕇꕪꘋ ꕸꕱꔀ"
+ },
+ "RO": {
+ "name": "ꖄꕆꕇꕰ"
+ },
+ "NR": {
+ "name": "ꖆꖩ"
+ },
+ "SO": {
+ "name": "ꖇꕮꔷꕩ"
+ },
+ "HR": {
+ "name": "ꖏꔓꔻꕩ"
+ },
+ "CI": {
+ "name": "ꖏꔳ ꕾꕎ"
+ },
+ "KR": {
+ "name": "ꖏꔸꕩ ꗛꔤ ꔒꘋꗣ ꗏ"
+ },
+ "KP": {
+ "name": "ꖏꔸꕩ ꗛꔤ ꕪꘋꗒ"
+ },
+ "CR": {
+ "name": "ꖏꔻꕚ ꔸꕪ"
+ },
+ "CK": {
+ "name": "ꖏꕃ ꔳꘋꗣ"
+ },
+ "KM": {
+ "name": "ꖏꕹꖄꔻ"
+ },
+ "CG": {
+ "name": "ꖏꖐ"
+ },
+ "CD": {
+ "name": "ꖏꖐ ꗵꗞꖴꕟꔎ ꕸꖃꔀ"
+ },
+ "MD": {
+ "name": "ꖒꔷꖁꕙ"
+ },
+ "GB": {
+ "name": "ꖕꕯꔤꗳ"
+ },
+ "BT": {
+ "name": "ꖜꕚꘋ"
+ },
+ "BR": {
+ "name": "ꖜꕟꔘꔀ"
+ },
+ "BI": {
+ "name": "ꖜꖩꔺ"
+ },
+ "BN": {
+ "name": "ꖜꖩꘉꔧ"
+ },
+ "FR": {
+ "name": "ꖢꕟꘋꔻ"
+ },
+ "TT": {
+ "name": "ꖤꔸꔕꕜ ꗪ ꕿꔆꖑ"
+ },
+ "TN": {
+ "name": "ꖤꕇꔻꕩ"
+ },
+ "GQ": {
+ "name": "ꖦꕰꕊ ꗳ ꕅꔤꕇ"
+ },
+ "CH": {
+ "name": "ꖬꔃꕤ ꖨꕮꕊ"
+ },
+ "SE": {
+ "name": "ꖬꔨꗵꘋ"
+ },
+ "LK": {
+ "name": "ꖬꔸ ꕞꘋꕪ"
+ },
+ "SR": {
+ "name": "ꖬꔸꕯꔈ"
+ },
+ "SZ": {
+ "name": "ꖬꕎꔽ ꖨꕮꕊ"
+ },
+ "SB": {
+ "name": "ꖬꕞꔤꕮꕊꕯ ꔳꘋꗣ"
+ },
+ "SD": {
+ "name": "ꖬꗵꘋ"
+ },
+ "UY": {
+ "name": "ꖳꔓꗝꔀ"
+ },
+ "UG": {
+ "name": "ꖳꕭꕡ"
+ },
+ "AE": {
+ "name": "ꖳꕯꔤꗳ ꕉꕟꔬ ꗡꕆꔓꔻ"
+ },
+ "UA": {
+ "name": "ꖳꖴꔓꘋ"
+ },
+ "UZ": {
+ "name": "ꖳꗩꕃꔻꕚꘋ"
+ },
+ "KW": {
+ "name": "ꖴꔃꔳ"
+ },
+ "GT": {
+ "name": "ꖶꕎꔎꕮꕞ"
+ },
+ "GP": {
+ "name": "ꖶꕎꔐꖨꔅ"
+ },
+ "GU": {
+ "name": "ꖶꕎꕆ"
+ },
+ "GD": {
+ "name": "ꖶꕟꕯꕜ"
+ },
+ "GY": {
+ "name": "ꖶꕩꕯ"
+ },
+ "NU": {
+ "name": "ꖸꔃꔤ"
+ },
+ "AT": {
+ "name": "ꖺꔻꖤꕎ"
+ },
+ "AU": {
+ "name": "ꖺꖬꖤꔃꔷꕩ"
+ },
+ "HN": {
+ "name": "ꖽꖫꕟ"
+ },
+ "HU": {
+ "name": "ꖽꘋꕭꔓ"
+ },
+ "BG": {
+ "name": "ꗂꔠꔸꕩ"
+ },
+ "TO": {
+ "name": "ꗋꕬ"
+ },
+ "TR": {
+ "name": "ꗋꖺꕃ"
+ },
+ "TC": {
+ "name": "ꗋꖺꕃꔻ ꗪ ꕪꔤꖏꔻ ꔳꘋꗣ"
+ },
+ "TM": {
+ "name": "ꗋꖺꕃꕮꕇꔻꕚꘋ"
+ },
+ "LU": {
+ "name": "ꗏꔻꘋꗂꖺ"
+ },
+ "RU": {
+ "name": "ꗐꖺꔻꕩ"
+ },
+ "GE": {
+ "name": "ꗘꖺꕀꕩ"
+ },
+ "JO": {
+ "name": "ꗘꖺꗵꘋ"
+ },
+ "MP": {
+ "name": "ꗛꔤ ꕪꘋꗒ ꕮꔸꕩꕯ ꔳꘋꗣ"
+ },
+ "CO": {
+ "name": "ꗛꗏꔭꕩ"
+ },
+ "MR": {
+ "name": "ꗞꔓꔎꕇꕰ"
+ },
+ "MU": {
+ "name": "ꗞꔓꗔ"
+ },
+ "MA": {
+ "name": "ꗞꕟꖏ"
+ },
+ "MC": {
+ "name": "ꗞꕯꖏ"
+ },
+ "MN": {
+ "name": "ꗞꖐꔷꕩ"
+ },
+ "MS": {
+ "name": "ꗞꘋꔖꕟꔳ"
+ },
+ "NO": {
+ "name": "ꗟꖺꔃ"
+ },
+ "NF": {
+ "name": "ꗟꖺꗉ ꔳꘋꗣ"
+ },
+ "EE": {
+ "name": "ꗡꔻꕿꕇꕰ"
+ },
+ "EC": {
+ "name": "ꗡꖴꔃꗍ"
+ },
+ "SV": {
+ "name": "ꗡꗷ ꕢꔍꗍꖺ"
+ },
+ "GR": {
+ "name": "ꗥꗷꘋ"
+ },
+ "PE": {
+ "name": "ꗨꗡꖩ"
+ },
+ "BE": {
+ "name": "ꗩꕀꗚꘋ"
+ },
+ "BJ": {
+ "name": "ꗩꕇꘋ"
+ },
+ "BY": {
+ "name": "ꗩꕞꖩꔻ"
+ },
+ "BM": {
+ "name": "ꗩꖷꕜ"
+ },
+ "PF": {
+ "name": "ꗱꘋꔻ ꕶꔷꕇꔻꕩ"
+ },
+ "GF": {
+ "name": "ꗱꘋꔻ ꖶꕎꕯ"
+ },
+ "VN": {
+ "name": "ꗲꕇꖮꔃꕞ"
+ },
+ "CZ": {
+ "name": "ꗿꕃ ꕸꖃꔀ"
+ },
+ "MX": {
+ "name": "ꘈꔻꖏ"
+ },
+ "NL": {
+ "name": "ꘉꕜ ꖨꕮꕊ"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/vi.json b/vendor/commerceguys/intl/resources/country/vi.json
new file mode 100644
index 000000000..e10ea0a3d
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/vi.json
@@ -0,0 +1,761 @@
+{
+ "SA": {
+ "name": "Ả Rập Xê-út"
+ },
+ "AF": {
+ "name": "Afghanistan"
+ },
+ "EG": {
+ "name": "Ai Cập"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Algeria"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AG": {
+ "name": "Antigua và Barbuda"
+ },
+ "AT": {
+ "name": "Áo"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AZ": {
+ "name": "Azerbaijan"
+ },
+ "IN": {
+ "name": "Ấn Độ"
+ },
+ "PL": {
+ "name": "Ba Lan"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahrain"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BY": {
+ "name": "Belarus"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BE": {
+ "name": "Bỉ"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia và Herzegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "PT": {
+ "name": "Bồ Đào Nha"
+ },
+ "BR": {
+ "name": "Brazil"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BQ": {
+ "name": "Ca-ri-bê Hà Lan"
+ },
+ "UM": {
+ "name": "Các đảo xa thuộc Hoa Kỳ"
+ },
+ "AE": {
+ "name": "Các Tiểu Vương quốc Ả Rập Thống nhất"
+ },
+ "CM": {
+ "name": "Cameroon"
+ },
+ "KH": {
+ "name": "Campuchia"
+ },
+ "CA": {
+ "name": "Canada"
+ },
+ "CV": {
+ "name": "Cape Verde"
+ },
+ "EA": {
+ "name": "Ceuta và Melilla"
+ },
+ "TD": {
+ "name": "Chad"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CO": {
+ "name": "Colombia"
+ },
+ "KM": {
+ "name": "Comoros"
+ },
+ "CG": {
+ "name": "Congo - Brazzaville"
+ },
+ "CD": {
+ "name": "Congo - Kinshasa"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "DO": {
+ "name": "Cộng hòa Dominica"
+ },
+ "CZ": {
+ "name": "Cộng hòa Séc"
+ },
+ "CF": {
+ "name": "Cộng hòa Trung Phi"
+ },
+ "CI": {
+ "name": "Côte d’Ivoire"
+ },
+ "HR": {
+ "name": "Croatia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DJ": {
+ "name": "Djibouti"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "TW": {
+ "name": "Đài Loan"
+ },
+ "DK": {
+ "name": "Đan Mạch"
+ },
+ "AC": {
+ "name": "Đảo Ascension"
+ },
+ "CX": {
+ "name": "Đảo Giáng Sinh"
+ },
+ "IM": {
+ "name": "Đảo Man"
+ },
+ "NF": {
+ "name": "Đảo Norfolk"
+ },
+ "AS": {
+ "name": "Đảo Somoa thuộc Mỹ"
+ },
+ "DE": {
+ "name": "Đức"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Ethiopia"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GL": {
+ "name": "Greenland"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GE": {
+ "name": "Gruzia"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GF": {
+ "name": "Guiana thuộc Pháp"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GQ": {
+ "name": "Guinea Xích Đạo"
+ },
+ "GW": {
+ "name": "Guinea-Bissau"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "NL": {
+ "name": "Hà Lan"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "KR": {
+ "name": "Hàn Quốc"
+ },
+ "US": {
+ "name": "Hoa Kỳ"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hồng Kông, Trung Quốc"
+ },
+ "HU": {
+ "name": "Hungary"
+ },
+ "GR": {
+ "name": "Hy Lạp"
+ },
+ "IS": {
+ "name": "Iceland"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IQ": {
+ "name": "Iraq"
+ },
+ "IE": {
+ "name": "Ireland"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordan"
+ },
+ "KZ": {
+ "name": "Kazakhstan"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "KG": {
+ "name": "Kyrgyzstan"
+ },
+ "IO": {
+ "name": "Lãnh thổ Anh tại Ấn Độ Dương"
+ },
+ "PS": {
+ "name": "Lãnh thổ Palestine"
+ },
+ "TF": {
+ "name": "Lãnh thổ phía Nam Thuộc Pháp"
+ },
+ "LA": {
+ "name": "Lào"
+ },
+ "LV": {
+ "name": "Latvia"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LB": {
+ "name": "Li-băng"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Litva"
+ },
+ "LU": {
+ "name": "Luxembourg"
+ },
+ "MA": {
+ "name": "Ma-rốc"
+ },
+ "MO": {
+ "name": "Macao, Trung Quốc"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malaysia"
+ },
+ "MV": {
+ "name": "Maldives"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Mexico"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MN": {
+ "name": "Mông Cổ"
+ },
+ "MM": {
+ "name": "Myanmar (Miến Điện)"
+ },
+ "NO": {
+ "name": "Na Uy"
+ },
+ "AQ": {
+ "name": "Nam Cực"
+ },
+ "ZA": {
+ "name": "Nam Phi"
+ },
+ "SS": {
+ "name": "Nam Sudan"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NC": {
+ "name": "New Caledonia"
+ },
+ "NZ": {
+ "name": "New Zealand"
+ },
+ "RU": {
+ "name": "Nga"
+ },
+ "JP": {
+ "name": "Nhật Bản"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua New Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "FR": {
+ "name": "Pháp"
+ },
+ "FI": {
+ "name": "Phần Lan"
+ },
+ "PH": {
+ "name": "Philippines"
+ },
+ "PF": {
+ "name": "Polynesia thuộc Pháp"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "QA": {
+ "name": "Qatar"
+ },
+ "AX": {
+ "name": "Quần đảo Åland"
+ },
+ "MP": {
+ "name": "Quần đảo Bắc Mariana"
+ },
+ "IC": {
+ "name": "Quần đảo Canary"
+ },
+ "KY": {
+ "name": "Quần đảo Cayman"
+ },
+ "CC": {
+ "name": "Quần đảo Cocos (Keeling)"
+ },
+ "CK": {
+ "name": "Quần đảo Cook"
+ },
+ "FK": {
+ "name": "Quần đảo Falkland"
+ },
+ "FO": {
+ "name": "Quần đảo Faroe"
+ },
+ "MH": {
+ "name": "Quần đảo Marshall"
+ },
+ "GS": {
+ "name": "Quần đảo Nam Georgia và Nam Sandwich"
+ },
+ "PN": {
+ "name": "Quần đảo Pitcairn"
+ },
+ "SB": {
+ "name": "Quần đảo Solomon"
+ },
+ "TC": {
+ "name": "Quần đảo Turk và Caicos"
+ },
+ "VG": {
+ "name": "Quần đảo Virgin thuộc Anh"
+ },
+ "VI": {
+ "name": "Quần đảo Virgin thuộc Mỹ"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RO": {
+ "name": "Romania"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "PM": {
+ "name": "Saint Pierre và Miquelon"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "São Tomé và Príncipe"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapore"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "CY": {
+ "name": "Síp"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "SH": {
+ "name": "St. Helena"
+ },
+ "KN": {
+ "name": "St. Kitts và Nevis"
+ },
+ "LC": {
+ "name": "St. Lucia"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "VC": {
+ "name": "St. Vincent và Grenadines"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SJ": {
+ "name": "Svalbard và Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swaziland"
+ },
+ "SY": {
+ "name": "Syria"
+ },
+ "TJ": {
+ "name": "Tajikistan"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "ES": {
+ "name": "Tây Ban Nha"
+ },
+ "EH": {
+ "name": "Tây Sahara"
+ },
+ "TH": {
+ "name": "Thái Lan"
+ },
+ "VA": {
+ "name": "Thành Vatican"
+ },
+ "TR": {
+ "name": "Thổ Nhĩ Kỳ"
+ },
+ "SE": {
+ "name": "Thụy Điển"
+ },
+ "CH": {
+ "name": "Thụy Sĩ"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "KP": {
+ "name": "Triều Tiên"
+ },
+ "TT": {
+ "name": "Trinidad và Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "CN": {
+ "name": "Trung Quốc"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukraina"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbekistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Việt Nam"
+ },
+ "GB": {
+ "name": "Vương quốc Anh"
+ },
+ "WF": {
+ "name": "Wallis và Futuna"
+ },
+ "IT": {
+ "name": "Ý"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/vun.json b/vendor/commerceguys/intl/resources/country/vun.json
new file mode 100644
index 000000000..06ebd2eb3
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/vun.json
@@ -0,0 +1,761 @@
+{
+ "ZA": {
+ "name": "Afrika Kusini"
+ },
+ "AF": {
+ "name": "Afuganistani"
+ },
+ "IS": {
+ "name": "Aislandi"
+ },
+ "AR": {
+ "name": "Ajentina"
+ },
+ "AX": {
+ "name": "Åland Islands"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Aljeria"
+ },
+ "AD": {
+ "name": "Andora"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigua na Barbuda"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "IE": {
+ "name": "Ayalandi"
+ },
+ "AZ": {
+ "name": "Azabajani"
+ },
+ "BB": {
+ "name": "Babadosi"
+ },
+ "BS": {
+ "name": "Bahama"
+ },
+ "BH": {
+ "name": "Bahareni"
+ },
+ "BD": {
+ "name": "Bangladeshi"
+ },
+ "BY": {
+ "name": "Belarusi"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benini"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia na Hezegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brazili"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BF": {
+ "name": "Bukinafaso"
+ },
+ "MG": {
+ "name": "Bukini"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Butani"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "TD": {
+ "name": "Chadi"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Denmaki"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "EC": {
+ "name": "Ekwado"
+ },
+ "SV": {
+ "name": "Elsavado"
+ },
+ "IO": {
+ "name": "Eneo la Uingereza katika Bahari Hindi"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "AE": {
+ "name": "Falme za Kiarabu"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filipino"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gaboni"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GN": {
+ "name": "Gine"
+ },
+ "GW": {
+ "name": "Ginebisau"
+ },
+ "GQ": {
+ "name": "Ginekweta"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GL": {
+ "name": "Grinlandi"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "GP": {
+ "name": "Gwadelupe"
+ },
+ "GU": {
+ "name": "Gwam"
+ },
+ "GT": {
+ "name": "Gwatemala"
+ },
+ "GF": {
+ "name": "Gwiyana ya Ufaransa"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "ES": {
+ "name": "Hispania"
+ },
+ "HN": {
+ "name": "Hondurasi"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hungaria"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IQ": {
+ "name": "Iraki"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israeli"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JM": {
+ "name": "Jamaika"
+ },
+ "CF": {
+ "name": "Jamhuri ya Afrika ya Kati"
+ },
+ "CZ": {
+ "name": "Jamhuri ya Cheki"
+ },
+ "DO": {
+ "name": "Jamhuri ya Dominika"
+ },
+ "CD": {
+ "name": "Jamhuri ya Kidemokrasia ya Kongo"
+ },
+ "JP": {
+ "name": "Japani"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "GI": {
+ "name": "Jibralta"
+ },
+ "DJ": {
+ "name": "Jibuti"
+ },
+ "GE": {
+ "name": "Jojia"
+ },
+ "KH": {
+ "name": "Kambodia"
+ },
+ "CM": {
+ "name": "Kameruni"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "QA": {
+ "name": "Katari"
+ },
+ "KZ": {
+ "name": "Kazakistani"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "CV": {
+ "name": "Kepuvede"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "KG": {
+ "name": "Kirigizistani"
+ },
+ "NF": {
+ "name": "Kisiwa cha Norfok"
+ },
+ "CI": {
+ "name": "Kodivaa"
+ },
+ "CO": {
+ "name": "Kolombia"
+ },
+ "KM": {
+ "name": "Komoro"
+ },
+ "CG": {
+ "name": "Kongo"
+ },
+ "HR": {
+ "name": "Korasia"
+ },
+ "KP": {
+ "name": "Korea Kaskazini"
+ },
+ "KR": {
+ "name": "Korea Kusini"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "Kostarika"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "CY": {
+ "name": "Kuprosi"
+ },
+ "KW": {
+ "name": "Kuwaiti"
+ },
+ "LA": {
+ "name": "Laosi"
+ },
+ "LU": {
+ "name": "Lasembagi"
+ },
+ "LV": {
+ "name": "Lativia"
+ },
+ "LB": {
+ "name": "Lebanoni"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Lishenteni"
+ },
+ "LT": {
+ "name": "Litwania"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malesia"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "US": {
+ "name": "Marekani"
+ },
+ "MQ": {
+ "name": "Martiniki"
+ },
+ "MK": {
+ "name": "Masedonia"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Meksiko"
+ },
+ "FM": {
+ "name": "Mikronesia"
+ },
+ "EG": {
+ "name": "Misri"
+ },
+ "MV": {
+ "name": "Modivu"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrati"
+ },
+ "MU": {
+ "name": "Morisi"
+ },
+ "MR": {
+ "name": "Moritania"
+ },
+ "MA": {
+ "name": "Moroko"
+ },
+ "MZ": {
+ "name": "Msumbiji"
+ },
+ "MM": {
+ "name": "Myama"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepali"
+ },
+ "NE": {
+ "name": "Nijeri"
+ },
+ "NG": {
+ "name": "Nijeria"
+ },
+ "NI": {
+ "name": "Nikaragwa"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Norwe"
+ },
+ "NC": {
+ "name": "Nyukaledonia"
+ },
+ "NZ": {
+ "name": "Nyuzilandi"
+ },
+ "OM": {
+ "name": "Omani"
+ },
+ "PK": {
+ "name": "Pakistani"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua"
+ },
+ "PY": {
+ "name": "Paragwai"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitkairni"
+ },
+ "PL": {
+ "name": "Polandi"
+ },
+ "PF": {
+ "name": "Polinesia ya Ufaransa"
+ },
+ "PR": {
+ "name": "Pwetoriko"
+ },
+ "RE": {
+ "name": "Riyunioni"
+ },
+ "RO": {
+ "name": "Romania"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "SM": {
+ "name": "Samarino"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa ya Marekani"
+ },
+ "SH": {
+ "name": "Santahelena"
+ },
+ "KN": {
+ "name": "Santakitzi na Nevis"
+ },
+ "LC": {
+ "name": "Santalusia"
+ },
+ "PM": {
+ "name": "Santapieri na Mikeloni"
+ },
+ "VC": {
+ "name": "Santavisenti na Grenadini"
+ },
+ "ST": {
+ "name": "Sao Tome na Principe"
+ },
+ "SA": {
+ "name": "Saudi"
+ },
+ "SN": {
+ "name": "Senegali"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Shelisheli"
+ },
+ "SL": {
+ "name": "Siera Leoni"
+ },
+ "SG": {
+ "name": "Singapoo"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Siria"
+ },
+ "LK": {
+ "name": "Sirilanka"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SD": {
+ "name": "Sudani"
+ },
+ "SR": {
+ "name": "Surinamu"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailandi"
+ },
+ "TW": {
+ "name": "Taiwani"
+ },
+ "TJ": {
+ "name": "Tajikistani"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TL": {
+ "name": "Timori ya Mashariki"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad na Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TM": {
+ "name": "Turukimenistani"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "IR": {
+ "name": "Uajemi"
+ },
+ "BE": {
+ "name": "Ubelgiji"
+ },
+ "FR": {
+ "name": "Ufaransa"
+ },
+ "FI": {
+ "name": "Ufini"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "GR": {
+ "name": "Ugiriki"
+ },
+ "ET": {
+ "name": "Uhabeshi"
+ },
+ "NL": {
+ "name": "Uholanzi"
+ },
+ "GB": {
+ "name": "Uingereza"
+ },
+ "DE": {
+ "name": "Ujerumani"
+ },
+ "PS": {
+ "name": "Ukingo wa Magharibi na Ukanda wa Gaza wa Palestina"
+ },
+ "UA": {
+ "name": "Ukraini"
+ },
+ "PT": {
+ "name": "Ureno"
+ },
+ "UY": {
+ "name": "Urugwai"
+ },
+ "RU": {
+ "name": "Urusi"
+ },
+ "SZ": {
+ "name": "Uswazi"
+ },
+ "SE": {
+ "name": "Uswidi"
+ },
+ "CH": {
+ "name": "Uswisi"
+ },
+ "TR": {
+ "name": "Uturuki"
+ },
+ "UZ": {
+ "name": "Uzibekistani"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikani"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietinamu"
+ },
+ "CK": {
+ "name": "Visiwa vya Cook"
+ },
+ "FK": {
+ "name": "Visiwa vya Falkland"
+ },
+ "KY": {
+ "name": "Visiwa vya Kayman"
+ },
+ "MP": {
+ "name": "Visiwa vya Mariana vya Kaskazini"
+ },
+ "MH": {
+ "name": "Visiwa vya Marshal"
+ },
+ "SB": {
+ "name": "Visiwa vya Solomon"
+ },
+ "TC": {
+ "name": "Visiwa vya Turki na Kaiko"
+ },
+ "VI": {
+ "name": "Visiwa vya Virgin vya Marekani"
+ },
+ "VG": {
+ "name": "Visiwa vya Virgin vya Uingereza"
+ },
+ "WF": {
+ "name": "Walis na Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yemeni"
+ },
+ "JO": {
+ "name": "Yordani"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/wae.json b/vendor/commerceguys/intl/resources/country/wae.json
new file mode 100644
index 000000000..6b27bba63
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/wae.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afganištan"
+ },
+ "AX": {
+ "name": "Alandinslä"
+ },
+ "AL": {
+ "name": "Albanie"
+ },
+ "DZ": {
+ "name": "Algerie"
+ },
+ "US": {
+ "name": "Amerika"
+ },
+ "UM": {
+ "name": "Amerikaniš Ozeanie"
+ },
+ "AS": {
+ "name": "Amerikaniš Samoa"
+ },
+ "VI": {
+ "name": "Amerikaniši Jungfröiwinslä"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarktis"
+ },
+ "AG": {
+ "name": "Antigua und Barbuda"
+ },
+ "AR": {
+ "name": "Argentinie"
+ },
+ "AM": {
+ "name": "Armenie"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AZ": {
+ "name": "Aserbaidšan"
+ },
+ "AU": {
+ "name": "Australie"
+ },
+ "BH": {
+ "name": "Bačrain"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BD": {
+ "name": "Bangladeš"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BE": {
+ "name": "Belgie"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BO": {
+ "name": "Boliwie"
+ },
+ "BA": {
+ "name": "Bosnie und Herzegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brasilie"
+ },
+ "IO": {
+ "name": "Britišes Territorium em indiše Ozean"
+ },
+ "VG": {
+ "name": "Britiši Jungfröiwinslä"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgarie"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "MM": {
+ "name": "Burma"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta und Melilla"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CK": {
+ "name": "Cookinslä"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Dänemark"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DO": {
+ "name": "Dominikaniši Rebublik"
+ },
+ "DM": {
+ "name": "Doninica"
+ },
+ "DJ": {
+ "name": "Dšibuti"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egypte"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "CI": {
+ "name": "Elfebeiküšta"
+ },
+ "GB": {
+ "name": "England"
+ },
+ "GQ": {
+ "name": "Equatorialginea"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Eštland"
+ },
+ "ET": {
+ "name": "Ethiopie"
+ },
+ "FK": {
+ "name": "Falklandinslä"
+ },
+ "FO": {
+ "name": "Färöe"
+ },
+ "FJ": {
+ "name": "Fidši"
+ },
+ "FI": {
+ "name": "Finnland"
+ },
+ "FR": {
+ "name": "Frankrič"
+ },
+ "GF": {
+ "name": "Französiš Guiana"
+ },
+ "PF": {
+ "name": "Französiš Polinesie"
+ },
+ "TF": {
+ "name": "Französiši Süd- und Antarktisgebiet"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GH": {
+ "name": "Gana"
+ },
+ "GE": {
+ "name": "Georgie"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GN": {
+ "name": "Ginea"
+ },
+ "GW": {
+ "name": "Ginea Bissau"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GR": {
+ "name": "Gričeland"
+ },
+ "GL": {
+ "name": "Grönland"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "AC": {
+ "name": "Himmelfártsinsla"
+ },
+ "NL": {
+ "name": "Holand"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "IN": {
+ "name": "Indie"
+ },
+ "ID": {
+ "name": "Indonesie"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IE": {
+ "name": "Irland"
+ },
+ "IS": {
+ "name": "Island"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italie"
+ },
+ "JM": {
+ "name": "Jamaika"
+ },
+ "JP": {
+ "name": "Japan"
+ },
+ "YE": {
+ "name": "Jéme"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordanie"
+ },
+ "KY": {
+ "name": "Kaimaninslä"
+ },
+ "KH": {
+ "name": "Kambodša"
+ },
+ "CM": {
+ "name": "Kamerun"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "IC": {
+ "name": "Kanariše Inslä"
+ },
+ "CV": {
+ "name": "Kap Verde"
+ },
+ "KZ": {
+ "name": "Kasačstan"
+ },
+ "QA": {
+ "name": "Katar"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "KG": {
+ "name": "Kirgištan"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "CC": {
+ "name": "Kokosinslä"
+ },
+ "CO": {
+ "name": "Kolumbie"
+ },
+ "KM": {
+ "name": "Komore"
+ },
+ "CG": {
+ "name": "Kongo Brazzaville"
+ },
+ "CD": {
+ "name": "Kongo-Kinshasa"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "HR": {
+ "name": "Kroatie"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "KW": {
+ "name": "Kuweit"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LV": {
+ "name": "Lettland"
+ },
+ "LB": {
+ "name": "Libanon"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LI": {
+ "name": "Liečteštei"
+ },
+ "LT": {
+ "name": "Litaue"
+ },
+ "LY": {
+ "name": "Lübie"
+ },
+ "LU": {
+ "name": "Luxeburg"
+ },
+ "MG": {
+ "name": "Madagaskar"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malaysia"
+ },
+ "MV": {
+ "name": "Malediwe"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Maroko"
+ },
+ "MH": {
+ "name": "Maršalinslä"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MR": {
+ "name": "Mauretanie"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "MK": {
+ "name": "Mazedonie"
+ },
+ "MX": {
+ "name": "Mexiko"
+ },
+ "FM": {
+ "name": "Mikronesie"
+ },
+ "MD": {
+ "name": "Moldau"
+ },
+ "MC": {
+ "name": "Monago"
+ },
+ "MN": {
+ "name": "Mongolei"
+ },
+ "MS": {
+ "name": "Monserrat"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MZ": {
+ "name": "Mosambik"
+ },
+ "YT": {
+ "name": "Moyette"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NC": {
+ "name": "Niwkaledonie"
+ },
+ "NZ": {
+ "name": "Niwséland"
+ },
+ "KP": {
+ "name": "Nordkorea"
+ },
+ "MP": {
+ "name": "Nördliči Mariane"
+ },
+ "NF": {
+ "name": "Norfolkinsla"
+ },
+ "NO": {
+ "name": "Norwäge"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "AT": {
+ "name": "Öštrič"
+ },
+ "TL": {
+ "name": "Ošttimor"
+ },
+ "PK": {
+ "name": "Pakištan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Paleština"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua Niwginea"
+ },
+ "PY": {
+ "name": "Paraguai"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PH": {
+ "name": "Philippine"
+ },
+ "PN": {
+ "name": "Pitcairn"
+ },
+ "PL": {
+ "name": "Pole"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RO": {
+ "name": "Rumänie"
+ },
+ "RU": {
+ "name": "Russland"
+ },
+ "SB": {
+ "name": "Salomone"
+ },
+ "ZM": {
+ "name": "Sambia"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "São Tomé and Príncipe"
+ },
+ "SA": {
+ "name": "Saudi Arabie"
+ },
+ "ES": {
+ "name": "Schpanie"
+ },
+ "SE": {
+ "name": "Schwede"
+ },
+ "CH": {
+ "name": "Schwiz"
+ },
+ "SC": {
+ "name": "Sečelle"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbie"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "ZW": {
+ "name": "Simbabwe"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SK": {
+ "name": "Slowakei"
+ },
+ "SI": {
+ "name": "Slowenie"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "HK": {
+ "name": "Sonderverwaltigszona Hongkong"
+ },
+ "MO": {
+ "name": "Sonderverwaltigszona Makau"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "BL": {
+ "name": "St. Bartholomäus-Insla"
+ },
+ "SH": {
+ "name": "St. Helena"
+ },
+ "KN": {
+ "name": "St. Kitts und Nevis"
+ },
+ "LC": {
+ "name": "St. Lucia"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "PM": {
+ "name": "St. Pierre und Miquelon"
+ },
+ "VC": {
+ "name": "St. Vincent und d’Grenadine"
+ },
+ "ZA": {
+ "name": "Südafrika"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "GS": {
+ "name": "Südgeorgie und d’südliče Senwičinslä"
+ },
+ "KR": {
+ "name": "Südkorea"
+ },
+ "SY": {
+ "name": "Sürie"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SJ": {
+ "name": "Svalbard und Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swasiland"
+ },
+ "TJ": {
+ "name": "Tadšikistan"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TZ": {
+ "name": "Tansania"
+ },
+ "TH": {
+ "name": "Thailand"
+ },
+ "DE": {
+ "name": "Titšland"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad und Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TD": {
+ "name": "Tšad"
+ },
+ "CZ": {
+ "name": "Tšečie"
+ },
+ "CL": {
+ "name": "Tšile"
+ },
+ "TN": {
+ "name": "Tunesie"
+ },
+ "TR": {
+ "name": "Türkei"
+ },
+ "TM": {
+ "name": "Turkmeništan"
+ },
+ "TC": {
+ "name": "Turks- und Caicosinslä"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukraine"
+ },
+ "HU": {
+ "name": "Ungare"
+ },
+ "UY": {
+ "name": "Urugauy"
+ },
+ "UZ": {
+ "name": "Usbekištan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikan"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "AE": {
+ "name": "Vereinigti Arabiše Emirat"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis und Futuna"
+ },
+ "EH": {
+ "name": "Weštsahara"
+ },
+ "CX": {
+ "name": "Wienäčtsinslä"
+ },
+ "BY": {
+ "name": "Wísrussland"
+ },
+ "CF": {
+ "name": "Zentralafrikaniši Rebublik"
+ },
+ "CY": {
+ "name": "Zypre"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/xog.json b/vendor/commerceguys/intl/resources/country/xog.json
new file mode 100644
index 000000000..a9e1827e3
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/xog.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afaganisitani"
+ },
+ "AX": {
+ "name": "Åland Islands"
+ },
+ "AL": {
+ "name": "Alibaniya"
+ },
+ "DZ": {
+ "name": "Aligerya"
+ },
+ "US": {
+ "name": "Amerika"
+ },
+ "AD": {
+ "name": "Andora"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Angwila"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigwa ni Barabuda"
+ },
+ "AM": {
+ "name": "Arameniya"
+ },
+ "AR": {
+ "name": "Arigentina"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AU": {
+ "name": "Awusitureliya"
+ },
+ "AT": {
+ "name": "Awusituriya"
+ },
+ "IE": {
+ "name": "Ayalandi"
+ },
+ "IS": {
+ "name": "Ayisirandi"
+ },
+ "AZ": {
+ "name": "Azerebayijaani"
+ },
+ "BH": {
+ "name": "Baareeni"
+ },
+ "BS": {
+ "name": "Bahamasi"
+ },
+ "BD": {
+ "name": "Bangaladesi"
+ },
+ "BB": {
+ "name": "Barabadosi"
+ },
+ "BY": {
+ "name": "Belarusi"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benini"
+ },
+ "BM": {
+ "name": "Beremuda"
+ },
+ "MH": {
+ "name": "Bizinga bya Mariso"
+ },
+ "MP": {
+ "name": "Bizinga bya Mariyana ebyamumambuka"
+ },
+ "BO": {
+ "name": "Boliviya"
+ },
+ "BW": {
+ "name": "Botiswana"
+ },
+ "BA": {
+ "name": "Boziniya Hezegovina"
+ },
+ "BE": {
+ "name": "Bubirigi"
+ },
+ "DE": {
+ "name": "Budaaki"
+ },
+ "FR": {
+ "name": "Bufalansa"
+ },
+ "BG": {
+ "name": "Bulugariya"
+ },
+ "GB": {
+ "name": "Bungereza"
+ },
+ "BR": {
+ "name": "Buraziiri"
+ },
+ "BF": {
+ "name": "Burukina Faso"
+ },
+ "BN": {
+ "name": "Burunayi"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Butaani"
+ },
+ "IN": {
+ "name": "Buyindi"
+ },
+ "GR": {
+ "name": "Buyonaani"
+ },
+ "TD": {
+ "name": "Caadi"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "CN": {
+ "name": "Cayina"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CL": {
+ "name": "Cile"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Denimaaka"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "FK": {
+ "name": "Ebiizinga bya Falikalandi"
+ },
+ "SB": {
+ "name": "Ebizanga bya Solomooni"
+ },
+ "IO": {
+ "name": "Ebizinga bya Cago"
+ },
+ "PH": {
+ "name": "Ebizinga bya Firipino"
+ },
+ "KY": {
+ "name": "Ebizinga bya Kayimaani"
+ },
+ "CV": {
+ "name": "Ebizinga bya Kepu Veredi"
+ },
+ "CK": {
+ "name": "Ebizinga bya Kkuki"
+ },
+ "KM": {
+ "name": "Ebizinga bya Komoro"
+ },
+ "MV": {
+ "name": "Ebizinga bya Malidive"
+ },
+ "TC": {
+ "name": "Ebizinga bya Taaka ni Kayikosi"
+ },
+ "VG": {
+ "name": "Ebizinga bya Virigini ebitwalibwa Bungereza"
+ },
+ "VI": {
+ "name": "Ebizinga bya Virigini eby’Amerika"
+ },
+ "EC": {
+ "name": "Ekwado"
+ },
+ "SV": {
+ "name": "El salivado"
+ },
+ "AE": {
+ "name": "Emireeti"
+ },
+ "ER": {
+ "name": "Eritureya"
+ },
+ "EE": {
+ "name": "Esitoniya"
+ },
+ "ET": {
+ "name": "Esyopya"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "FI": {
+ "name": "Finilandi"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gaboni"
+ },
+ "GM": {
+ "name": "Gambya"
+ },
+ "GH": {
+ "name": "Gana"
+ },
+ "GY": {
+ "name": "Gayana"
+ },
+ "GQ": {
+ "name": "Gayana yaku ekweta"
+ },
+ "GI": {
+ "name": "Giburalita"
+ },
+ "GN": {
+ "name": "Gini"
+ },
+ "GW": {
+ "name": "Gini-Bisawu"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GD": {
+ "name": "Gurenada"
+ },
+ "GL": {
+ "name": "Gurenelandi"
+ },
+ "GF": {
+ "name": "Guyana enfalansa"
+ },
+ "GP": {
+ "name": "Gwadalupe"
+ },
+ "GU": {
+ "name": "Gwamu"
+ },
+ "GT": {
+ "name": "Gwatemala"
+ },
+ "GE": {
+ "name": "Gyogya"
+ },
+ "HU": {
+ "name": "Hangare"
+ },
+ "HT": {
+ "name": "Hayiti"
+ },
+ "NL": {
+ "name": "Holandi"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HN": {
+ "name": "Hundurasi"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "JM": {
+ "name": "Jamayika"
+ },
+ "JP": {
+ "name": "Japani"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "DJ": {
+ "name": "Jjibuti"
+ },
+ "NC": {
+ "name": "Kaledonya mupya"
+ },
+ "KH": {
+ "name": "Kambodya"
+ },
+ "CM": {
+ "name": "Kameruuni"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "QA": {
+ "name": "Kataa"
+ },
+ "KZ": {
+ "name": "Kazakisitaani"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "KG": {
+ "name": "Kirigizisitaani"
+ },
+ "NF": {
+ "name": "Kizinga ky’eNorofoko"
+ },
+ "CO": {
+ "name": "Kolombya"
+ },
+ "CG": {
+ "name": "Kongo"
+ },
+ "CD": {
+ "name": "Kongo - Zayire"
+ },
+ "KP": {
+ "name": "Koreya eya mumambuka"
+ },
+ "KR": {
+ "name": "Koreya eya mumaserengeta"
+ },
+ "CR": {
+ "name": "Kosita Rika"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CI": {
+ "name": "Kote Divwa"
+ },
+ "HR": {
+ "name": "Kurowesya"
+ },
+ "KW": {
+ "name": "Kuweti"
+ },
+ "RU": {
+ "name": "Lasa"
+ },
+ "LV": {
+ "name": "Lativya"
+ },
+ "LA": {
+ "name": "Lawosi"
+ },
+ "LB": {
+ "name": "Lebanoni"
+ },
+ "LS": {
+ "name": "Lesoso"
+ },
+ "RE": {
+ "name": "Leyunyoni"
+ },
+ "LR": {
+ "name": "Liberya"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Licitensitayini"
+ },
+ "CZ": {
+ "name": "Lipabulika ya Ceeka"
+ },
+ "DO": {
+ "name": "Lipabulika ya Dominika"
+ },
+ "CF": {
+ "name": "Lipabulika ya Senturafiriki"
+ },
+ "LT": {
+ "name": "Lisuwenya"
+ },
+ "RO": {
+ "name": "Lomaniya"
+ },
+ "LU": {
+ "name": "Lukisembaaga"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MG": {
+ "name": "Madagasika"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malezya"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malita"
+ },
+ "MQ": {
+ "name": "Maritiniiki"
+ },
+ "MK": {
+ "name": "Masedoniya"
+ },
+ "MU": {
+ "name": "Mawulisyasi"
+ },
+ "MR": {
+ "name": "Mawulitenya"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Mekisiko"
+ },
+ "FM": {
+ "name": "Mikuronezya"
+ },
+ "EG": {
+ "name": "Misiri"
+ },
+ "MD": {
+ "name": "Molodova"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MN": {
+ "name": "Mongoliya"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Monteseraati"
+ },
+ "MA": {
+ "name": "Moroko"
+ },
+ "MZ": {
+ "name": "Mozambiiki"
+ },
+ "MM": {
+ "name": "Myanima"
+ },
+ "NA": {
+ "name": "Namibiya"
+ },
+ "NR": {
+ "name": "Nawuru"
+ },
+ "NG": {
+ "name": "Nayijerya"
+ },
+ "NP": {
+ "name": "Nepalo"
+ },
+ "NE": {
+ "name": "Nije"
+ },
+ "NI": {
+ "name": "Nikaraguwa"
+ },
+ "NU": {
+ "name": "Niyuwe"
+ },
+ "NZ": {
+ "name": "Niyuziirandi"
+ },
+ "NO": {
+ "name": "Nowe"
+ },
+ "OM": {
+ "name": "Omaani"
+ },
+ "PK": {
+ "name": "Pakisitaani"
+ },
+ "PW": {
+ "name": "Palawu"
+ },
+ "PS": {
+ "name": "Palesitayini ni Gaza"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papwa Nyugini"
+ },
+ "PY": {
+ "name": "Paragwayi"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitikeeni"
+ },
+ "PL": {
+ "name": "Polandi"
+ },
+ "PF": {
+ "name": "Polinesiya enfalansa"
+ },
+ "PR": {
+ "name": "Potoriko"
+ },
+ "PT": {
+ "name": "Potugaali"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "WS": {
+ "name": "Samowa"
+ },
+ "AS": {
+ "name": "Samowa omumerika"
+ },
+ "SM": {
+ "name": "Sanimarino"
+ },
+ "ST": {
+ "name": "Sanitome ni Purincipe"
+ },
+ "SA": {
+ "name": "Sawudarebya"
+ },
+ "ZA": {
+ "name": "Sawusafirika"
+ },
+ "SN": {
+ "name": "Senegaalo"
+ },
+ "SH": {
+ "name": "Senti Herena"
+ },
+ "KN": {
+ "name": "Senti Kitisi ne Nevisi"
+ },
+ "LC": {
+ "name": "Senti Luciya"
+ },
+ "PM": {
+ "name": "Senti Piyere ni Mikeloni"
+ },
+ "VC": {
+ "name": "Senti Vinsenti ni Gurendadiini"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Sesere"
+ },
+ "SG": {
+ "name": "Singapowa"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "ES": {
+ "name": "Sipeyini"
+ },
+ "CY": {
+ "name": "Sipuriya"
+ },
+ "LK": {
+ "name": "Sirilanka"
+ },
+ "SY": {
+ "name": "Siriya"
+ },
+ "SK": {
+ "name": "Sirovakya"
+ },
+ "SI": {
+ "name": "Sirovenya"
+ },
+ "SL": {
+ "name": "Siyeralewone"
+ },
+ "SO": {
+ "name": "Somaliya"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SD": {
+ "name": "Sudaani"
+ },
+ "SR": {
+ "name": "Surinaamu"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swazirandi"
+ },
+ "SE": {
+ "name": "Swideni"
+ },
+ "CH": {
+ "name": "Switizirandi"
+ },
+ "TJ": {
+ "name": "Tajikisitaani"
+ },
+ "TM": {
+ "name": "Takimenesitaani"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TH": {
+ "name": "Tayirandi"
+ },
+ "TW": {
+ "name": "Tayiwani"
+ },
+ "TL": {
+ "name": "Timowa"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelawu"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TR": {
+ "name": "Ttake"
+ },
+ "TN": {
+ "name": "Tunisya"
+ },
+ "TT": {
+ "name": "Turindaadi ni Tobago"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "VU": {
+ "name": "Vanawuwatu"
+ },
+ "VA": {
+ "name": "Vatikaani"
+ },
+ "VE": {
+ "name": "Venzwera"
+ },
+ "VN": {
+ "name": "Vyetinaamu"
+ },
+ "WF": {
+ "name": "Walisi ni Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "UY": {
+ "name": "Wurugwayi"
+ },
+ "UZ": {
+ "name": "Wuzibekisitaani"
+ },
+ "YE": {
+ "name": "Yemeni"
+ },
+ "ID": {
+ "name": "Yindonezya"
+ },
+ "IQ": {
+ "name": "Yiraaka"
+ },
+ "IR": {
+ "name": "Yiraani"
+ },
+ "IL": {
+ "name": "Yisirayeri"
+ },
+ "IT": {
+ "name": "Yitale"
+ },
+ "JO": {
+ "name": "Yorodani"
+ },
+ "UG": {
+ "name": "Yuganda"
+ },
+ "UA": {
+ "name": "Yukurayine"
+ },
+ "ZM": {
+ "name": "Zambya"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/yav.json b/vendor/commerceguys/intl/resources/country/yav.json
new file mode 100644
index 000000000..e469b8254
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/yav.json
@@ -0,0 +1,761 @@
+{
+ "ZA": {
+ "name": "afilí mbátɛ́"
+ },
+ "AF": {
+ "name": "Afkanistáŋ"
+ },
+ "AX": {
+ "name": "Åland Islands"
+ },
+ "SA": {
+ "name": "alapísawutíit"
+ },
+ "AM": {
+ "name": "Almanía"
+ },
+ "AL": {
+ "name": "Alpaní"
+ },
+ "AR": {
+ "name": "Alsaŋtín"
+ },
+ "DZ": {
+ "name": "Alselí"
+ },
+ "AW": {
+ "name": "Alúpa"
+ },
+ "US": {
+ "name": "amálíka"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AI": {
+ "name": "Aŋkíla"
+ },
+ "AO": {
+ "name": "Aŋkúla"
+ },
+ "AG": {
+ "name": "Aŋtíka na Palpúta"
+ },
+ "AD": {
+ "name": "Aŋtúla"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AZ": {
+ "name": "Asɛlpaisáŋ"
+ },
+ "HT": {
+ "name": "ayíti"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "EC": {
+ "name": "ekuatɛ́l"
+ },
+ "RE": {
+ "name": "elewuniɔ́ŋ"
+ },
+ "ER": {
+ "name": "elitée"
+ },
+ "ET": {
+ "name": "etiopí"
+ },
+ "IN": {
+ "name": "ɛ́ɛnd"
+ },
+ "ID": {
+ "name": "ɛndonesí"
+ },
+ "EE": {
+ "name": "ɛstoni"
+ },
+ "VU": {
+ "name": "fanuatú"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "VA": {
+ "name": "fatikáaŋ"
+ },
+ "FR": {
+ "name": "felensí"
+ },
+ "VE": {
+ "name": "fenesuwelá"
+ },
+ "FI": {
+ "name": "fɛnlánd"
+ },
+ "VN": {
+ "name": "fiɛtnáam"
+ },
+ "PH": {
+ "name": "filipíin"
+ },
+ "VG": {
+ "name": "Filisíin ungilís"
+ },
+ "FJ": {
+ "name": "físi"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "MP": {
+ "name": "il maliyanɛ u muɛnɛ́"
+ },
+ "NF": {
+ "name": "il nɔ́lfɔ́lɔk"
+ },
+ "SB": {
+ "name": "il salomɔ́ŋ"
+ },
+ "IQ": {
+ "name": "ilák"
+ },
+ "IR": {
+ "name": "iláŋ"
+ },
+ "IE": {
+ "name": "ililánd"
+ },
+ "MH": {
+ "name": "ílmalasáal"
+ },
+ "AE": {
+ "name": "imiláat i paaláap"
+ },
+ "GB": {
+ "name": "ingilíís"
+ },
+ "IL": {
+ "name": "ísilayɛ́l"
+ },
+ "EG": {
+ "name": "isípit"
+ },
+ "IS": {
+ "name": "isláand"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IT": {
+ "name": "italí"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "GM": {
+ "name": "kambíi"
+ },
+ "KH": {
+ "name": "Kámbóse"
+ },
+ "GH": {
+ "name": "kaná"
+ },
+ "CA": {
+ "name": "Kánáta"
+ },
+ "CV": {
+ "name": "Kápfɛl"
+ },
+ "GA": {
+ "name": "kapɔ́ŋ"
+ },
+ "KZ": {
+ "name": "kasaksitáŋ"
+ },
+ "QA": {
+ "name": "katáal"
+ },
+ "KY": {
+ "name": "Káyímanɛ"
+ },
+ "GD": {
+ "name": "kelenáat"
+ },
+ "CM": {
+ "name": "Kemelún"
+ },
+ "KE": {
+ "name": "kénia"
+ },
+ "GN": {
+ "name": "kiiné"
+ },
+ "GW": {
+ "name": "kiinépisaó"
+ },
+ "GR": {
+ "name": "kilɛ́ɛk"
+ },
+ "KG": {
+ "name": "kilikisistáŋ"
+ },
+ "KI": {
+ "name": "kilipatí"
+ },
+ "GQ": {
+ "name": "kinéekuatolial"
+ },
+ "CZ": {
+ "name": "kitɔŋ kí cɛ́k"
+ },
+ "CD": {
+ "name": "kitɔŋ kí kongó"
+ },
+ "PS": {
+ "name": "kitɔŋ ki palɛstíin"
+ },
+ "DO": {
+ "name": "kitɔŋ kí tumunikɛ́ŋ"
+ },
+ "HR": {
+ "name": "Kolowasíi"
+ },
+ "CG": {
+ "name": "Kongó"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "Kóstálíka"
+ },
+ "CI": {
+ "name": "Kótifualɛ"
+ },
+ "KW": {
+ "name": "kowéet"
+ },
+ "KP": {
+ "name": "kɔlé u muɛnɛ́"
+ },
+ "KR": {
+ "name": "kɔlé wu mbát"
+ },
+ "CO": {
+ "name": "Kɔlɔ́mbía"
+ },
+ "KM": {
+ "name": "Kɔmɔ́ɔl"
+ },
+ "IO": {
+ "name": "Kɔɔ́m kí ndián yi ngilís"
+ },
+ "GU": {
+ "name": "kuamiɛ"
+ },
+ "GP": {
+ "name": "kuatelúup"
+ },
+ "GT": {
+ "name": "kuatemalá"
+ },
+ "GL": {
+ "name": "kuluɛnlánd"
+ },
+ "CU": {
+ "name": "kúpa"
+ },
+ "CK": {
+ "name": "Kúuke"
+ },
+ "GY": {
+ "name": "kuyáan"
+ },
+ "GF": {
+ "name": "kuyáan u felensí"
+ },
+ "LA": {
+ "name": "lawós"
+ },
+ "LS": {
+ "name": "lesotó"
+ },
+ "LV": {
+ "name": "letoní"
+ },
+ "LU": {
+ "name": "liksambúul"
+ },
+ "LB": {
+ "name": "lipáŋ"
+ },
+ "LR": {
+ "name": "lipélia"
+ },
+ "LY": {
+ "name": "lipíi"
+ },
+ "LI": {
+ "name": "lístɛ́nsitáyin"
+ },
+ "LT": {
+ "name": "litiyaní"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MW": {
+ "name": "malawí"
+ },
+ "MY": {
+ "name": "malesí"
+ },
+ "MV": {
+ "name": "maletíif"
+ },
+ "MT": {
+ "name": "málɛ́t"
+ },
+ "ML": {
+ "name": "malí"
+ },
+ "MA": {
+ "name": "malóok"
+ },
+ "MQ": {
+ "name": "maltiníik"
+ },
+ "FK": {
+ "name": "maluwín"
+ },
+ "MK": {
+ "name": "masetuán"
+ },
+ "MG": {
+ "name": "matakaskáal"
+ },
+ "YT": {
+ "name": "mayɔ́ɔt"
+ },
+ "MX": {
+ "name": "mɛksíik"
+ },
+ "MM": {
+ "name": "miaŋmáal"
+ },
+ "FM": {
+ "name": "mikolonesí"
+ },
+ "MU": {
+ "name": "molís"
+ },
+ "MR": {
+ "name": "molitaní"
+ },
+ "MD": {
+ "name": "moltafí"
+ },
+ "MC": {
+ "name": "monakó"
+ },
+ "MN": {
+ "name": "mongolí"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MZ": {
+ "name": "mosambík"
+ },
+ "MS": {
+ "name": "mɔŋsilá"
+ },
+ "NA": {
+ "name": "namipí"
+ },
+ "NR": {
+ "name": "nawulú"
+ },
+ "NP": {
+ "name": "nepáal"
+ },
+ "NI": {
+ "name": "nikalaká"
+ },
+ "NG": {
+ "name": "nisélia"
+ },
+ "NE": {
+ "name": "nisɛ́ɛl"
+ },
+ "NL": {
+ "name": "nitililáand"
+ },
+ "NU": {
+ "name": "niyuwé"
+ },
+ "NO": {
+ "name": "nɔlfɛ́ɛs"
+ },
+ "DE": {
+ "name": "nsáman"
+ },
+ "NC": {
+ "name": "nufɛ́l kaletoní"
+ },
+ "NZ": {
+ "name": "nufɛ́l seláand"
+ },
+ "OM": {
+ "name": "omáŋ"
+ },
+ "AU": {
+ "name": "Otalalí"
+ },
+ "AT": {
+ "name": "Otilís"
+ },
+ "HN": {
+ "name": "ɔndúlas"
+ },
+ "HU": {
+ "name": "ɔngilí"
+ },
+ "BS": {
+ "name": "Pahámas"
+ },
+ "PK": {
+ "name": "pakistáŋ"
+ },
+ "PY": {
+ "name": "palakúé"
+ },
+ "PW": {
+ "name": "palawú"
+ },
+ "BH": {
+ "name": "Palɛŋ"
+ },
+ "BB": {
+ "name": "Palpatós"
+ },
+ "PA": {
+ "name": "panamá"
+ },
+ "ES": {
+ "name": "panyá"
+ },
+ "BD": {
+ "name": "Paŋkalatɛs"
+ },
+ "PG": {
+ "name": "papuasí nufɛ́l kiiné"
+ },
+ "BY": {
+ "name": "Pelalús"
+ },
+ "BZ": {
+ "name": "Pelíse"
+ },
+ "PE": {
+ "name": "pelú"
+ },
+ "BJ": {
+ "name": "Penɛŋ"
+ },
+ "BM": {
+ "name": "Pɛlmúta"
+ },
+ "BE": {
+ "name": "Pɛlsíik"
+ },
+ "BR": {
+ "name": "Pilesíl"
+ },
+ "VI": {
+ "name": "pindisúlɛ́ pi amálíka"
+ },
+ "PN": {
+ "name": "pitikɛ́ɛlínɛ́"
+ },
+ "BO": {
+ "name": "Polífia"
+ },
+ "PF": {
+ "name": "polinesí u felensí"
+ },
+ "PR": {
+ "name": "pólótolíko"
+ },
+ "BW": {
+ "name": "Posuána"
+ },
+ "PL": {
+ "name": "pɔlɔ́ɔny"
+ },
+ "PT": {
+ "name": "pɔltukáal"
+ },
+ "BF": {
+ "name": "Pulikínafásó"
+ },
+ "BG": {
+ "name": "Pulukalíi"
+ },
+ "BI": {
+ "name": "Púlúndí"
+ },
+ "BN": {
+ "name": "Pulunéy"
+ },
+ "BA": {
+ "name": "Pusiní-ɛlkofína"
+ },
+ "BT": {
+ "name": "Putaŋ"
+ },
+ "ZM": {
+ "name": "saambíi"
+ },
+ "TD": {
+ "name": "Sáat"
+ },
+ "SV": {
+ "name": "salfatɔ́ɔl"
+ },
+ "JM": {
+ "name": "samayíik"
+ },
+ "WS": {
+ "name": "samowá"
+ },
+ "AS": {
+ "name": "Sámua u Amelíka"
+ },
+ "SM": {
+ "name": "san malíno"
+ },
+ "CF": {
+ "name": "Santalafilíik"
+ },
+ "JP": {
+ "name": "sapɔ́ɔŋ"
+ },
+ "ST": {
+ "name": "sáwó tomé e pelensípe"
+ },
+ "SN": {
+ "name": "senekáal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "sesɛ́ɛl"
+ },
+ "VC": {
+ "name": "sɛ́ŋ fɛŋsáŋ elekelenatíin"
+ },
+ "KN": {
+ "name": "sɛ́ŋkilistɔ́f eniɛ́f"
+ },
+ "PM": {
+ "name": "sɛ́ŋpiɛ́l e mikelɔ́ŋ"
+ },
+ "SH": {
+ "name": "sɛ́ŋtɛ́ elɛ́ɛnɛ"
+ },
+ "LC": {
+ "name": "sɛ́ŋtɛ́lusí"
+ },
+ "SL": {
+ "name": "sieláleyɔ́ɔn"
+ },
+ "CN": {
+ "name": "Síine"
+ },
+ "CL": {
+ "name": "Silí"
+ },
+ "LK": {
+ "name": "silíláŋka"
+ },
+ "SK": {
+ "name": "silofakí"
+ },
+ "SI": {
+ "name": "silofení"
+ },
+ "GI": {
+ "name": "sílpalatáal"
+ },
+ "ZW": {
+ "name": "simbapuwé"
+ },
+ "SG": {
+ "name": "singapúul"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "CY": {
+ "name": "síplɛ"
+ },
+ "DJ": {
+ "name": "síputí"
+ },
+ "SO": {
+ "name": "somalí"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "GE": {
+ "name": "sɔlsíi"
+ },
+ "JO": {
+ "name": "sɔltaní"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SZ": {
+ "name": "suasiláand"
+ },
+ "SE": {
+ "name": "suɛ́t"
+ },
+ "SR": {
+ "name": "sulináam"
+ },
+ "SD": {
+ "name": "sutáaŋ"
+ },
+ "CH": {
+ "name": "suwíis"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "SY": {
+ "name": "Syria"
+ },
+ "DK": {
+ "name": "tanemálk"
+ },
+ "TZ": {
+ "name": "taŋsaní"
+ },
+ "TJ": {
+ "name": "tasikistáaŋ"
+ },
+ "TH": {
+ "name": "tayiláand"
+ },
+ "TW": {
+ "name": "tayiwáan"
+ },
+ "TT": {
+ "name": "tilinitáat na tupákɔ"
+ },
+ "TL": {
+ "name": "timɔ́ɔl u nipálɛ́n"
+ },
+ "TK": {
+ "name": "tokeló"
+ },
+ "TG": {
+ "name": "tokó"
+ },
+ "TO": {
+ "name": "tɔ́ŋka"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TV": {
+ "name": "tufalú"
+ },
+ "TC": {
+ "name": "túluk na káyiik"
+ },
+ "TR": {
+ "name": "tulukíi"
+ },
+ "TM": {
+ "name": "tulukmenisitáaŋ"
+ },
+ "DM": {
+ "name": "túmúnéke"
+ },
+ "TN": {
+ "name": "tunusí"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "UG": {
+ "name": "ukánda"
+ },
+ "UA": {
+ "name": "ukilɛ́ɛn"
+ },
+ "RW": {
+ "name": "uluándá"
+ },
+ "UY": {
+ "name": "ulukuéy"
+ },
+ "RO": {
+ "name": "ulumaní"
+ },
+ "RU": {
+ "name": "ulusí"
+ },
+ "UZ": {
+ "name": "usupekistáaŋ"
+ },
+ "WF": {
+ "name": "walíis na futúna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "yémɛn"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/yi.json b/vendor/commerceguys/intl/resources/country/yi.json
new file mode 100644
index 000000000..f8f53e617
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/yi.json
@@ -0,0 +1,761 @@
+{
+ "UG": {
+ "name": "אוגאַנדע"
+ },
+ "HU": {
+ "name": "אונגערן"
+ },
+ "AU": {
+ "name": "אויסטראַליע"
+ },
+ "UA": {
+ "name": "אוקראַינע"
+ },
+ "UY": {
+ "name": "אורוגוויי"
+ },
+ "IT": {
+ "name": "איטאַליע"
+ },
+ "ID": {
+ "name": "אינדאנעזיע"
+ },
+ "IN": {
+ "name": "אינדיע"
+ },
+ "IS": {
+ "name": "איסלאַנד"
+ },
+ "IR": {
+ "name": "איראַן"
+ },
+ "IE": {
+ "name": "אירלאַנד"
+ },
+ "AL": {
+ "name": "אַלבאַניע"
+ },
+ "AO": {
+ "name": "אַנגאלע"
+ },
+ "AD": {
+ "name": "אַנדארע"
+ },
+ "AQ": {
+ "name": "אַנטאַרקטיקע"
+ },
+ "AG": {
+ "name": "אַנטיגוע און באַרבודע"
+ },
+ "AF": {
+ "name": "אַפֿגהאַניסטאַן"
+ },
+ "AR": {
+ "name": "אַרגענטינע"
+ },
+ "AW": {
+ "name": "אַרובאַ"
+ },
+ "AM": {
+ "name": "אַרמעניע"
+ },
+ "BS": {
+ "name": "באַהאַמאַס"
+ },
+ "BO": {
+ "name": "באליוויע"
+ },
+ "BD": {
+ "name": "באַנגלאַדעש"
+ },
+ "BA": {
+ "name": "באסניע הערצעגאווינע"
+ },
+ "BW": {
+ "name": "באצוואַנע"
+ },
+ "BB": {
+ "name": "באַרבאַדאס"
+ },
+ "BT": {
+ "name": "בהוטאַן"
+ },
+ "BG": {
+ "name": "בולגאַריע"
+ },
+ "BI": {
+ "name": "בורונדי"
+ },
+ "BF": {
+ "name": "בורקינע פֿאַסא"
+ },
+ "BY": {
+ "name": "בעלאַרוס"
+ },
+ "BE": {
+ "name": "בעלגיע"
+ },
+ "BZ": {
+ "name": "בעליז"
+ },
+ "BJ": {
+ "name": "בענין"
+ },
+ "BM": {
+ "name": "בערמודע"
+ },
+ "BR": {
+ "name": "בראַזיל"
+ },
+ "BN": {
+ "name": "ברוניי"
+ },
+ "GA": {
+ "name": "גאַבאן"
+ },
+ "GM": {
+ "name": "גאַמביע"
+ },
+ "GH": {
+ "name": "גהאַנע"
+ },
+ "GP": {
+ "name": "גוואַדעלופ"
+ },
+ "GT": {
+ "name": "גוואַטעמאַלע"
+ },
+ "GU": {
+ "name": "גוואַם"
+ },
+ "GY": {
+ "name": "גויאַנע"
+ },
+ "GI": {
+ "name": "גיבראַלטאַר"
+ },
+ "GN": {
+ "name": "גינע"
+ },
+ "GW": {
+ "name": "גינע־ביסאַו"
+ },
+ "GG": {
+ "name": "גערנזי"
+ },
+ "GE": {
+ "name": "גרוזיע"
+ },
+ "GR": {
+ "name": "גריכנלאַנד"
+ },
+ "GL": {
+ "name": "גרינלאַנד"
+ },
+ "GD": {
+ "name": "גרענאַדאַ"
+ },
+ "DO": {
+ "name": "דאמיניקאַנישע רעפּובליק"
+ },
+ "DM": {
+ "name": "דאמיניקע"
+ },
+ "JM": {
+ "name": "דזשאַמייקע"
+ },
+ "DJ": {
+ "name": "דזשיבוטי"
+ },
+ "JE": {
+ "name": "דזשערזי"
+ },
+ "DE": {
+ "name": "דייטשלאַנד"
+ },
+ "DK": {
+ "name": "דענמאַרק"
+ },
+ "ZA": {
+ "name": "דרום־אַפֿריקע"
+ },
+ "SS": {
+ "name": "דרום־סודאַן"
+ },
+ "HT": {
+ "name": "האַיטי"
+ },
+ "NL": {
+ "name": "האלאַנד"
+ },
+ "HN": {
+ "name": "האנדוראַס"
+ },
+ "CI": {
+ "name": "העלפֿאַ נדביין בארטן"
+ },
+ "VA": {
+ "name": "וואַטיקאַן שטאָט"
+ },
+ "VU": {
+ "name": "וואַנואַטו"
+ },
+ "VN": {
+ "name": "וויעטנאַם"
+ },
+ "VE": {
+ "name": "ווענעזועלע"
+ },
+ "ZM": {
+ "name": "זאַמביע"
+ },
+ "ZW": {
+ "name": "זימבאַבווע"
+ },
+ "TG": {
+ "name": "טאגא"
+ },
+ "TO": {
+ "name": "טאנגאַ"
+ },
+ "TZ": {
+ "name": "טאַנזאַניע"
+ },
+ "TV": {
+ "name": "טואוואַלו"
+ },
+ "TN": {
+ "name": "טוניסיע"
+ },
+ "TM": {
+ "name": "טורקמעניסטאַן"
+ },
+ "TH": {
+ "name": "טיילאַנד"
+ },
+ "TR": {
+ "name": "טערקיי"
+ },
+ "TT": {
+ "name": "טרינידאַד און טאבאַגא"
+ },
+ "TD": {
+ "name": "טשאַד"
+ },
+ "CL": {
+ "name": "טשילע"
+ },
+ "CZ": {
+ "name": "טשעכיי"
+ },
+ "JP": {
+ "name": "יאַפּאַן"
+ },
+ "IL": {
+ "name": "ישראל"
+ },
+ "CN": {
+ "name": "כינע"
+ },
+ "LA": {
+ "name": "לאַאס"
+ },
+ "LB": {
+ "name": "לבנון"
+ },
+ "LU": {
+ "name": "לוקסעמבורג"
+ },
+ "LY": {
+ "name": "ליביע"
+ },
+ "LR": {
+ "name": "ליבעריע"
+ },
+ "LT": {
+ "name": "ליטע"
+ },
+ "LI": {
+ "name": "ליכטנשטיין"
+ },
+ "LV": {
+ "name": "לעטלאַנד"
+ },
+ "LS": {
+ "name": "לעסאטא"
+ },
+ "MG": {
+ "name": "מאַדאַגאַסקאַר"
+ },
+ "MZ": {
+ "name": "מאזאַמביק"
+ },
+ "YT": {
+ "name": "מאַיאט"
+ },
+ "MW": {
+ "name": "מאַלאַווי"
+ },
+ "MD": {
+ "name": "מאלדאווע"
+ },
+ "MV": {
+ "name": "מאַלדיוון"
+ },
+ "MT": {
+ "name": "מאַלטאַ"
+ },
+ "ML": {
+ "name": "מאַלי"
+ },
+ "MY": {
+ "name": "מאַלייזיע"
+ },
+ "MC": {
+ "name": "מאנאַקא"
+ },
+ "MN": {
+ "name": "מאנגאליי"
+ },
+ "MS": {
+ "name": "מאנטסעראַט"
+ },
+ "ME": {
+ "name": "מאנטענעגרא"
+ },
+ "MK": {
+ "name": "מאַקעדאניע"
+ },
+ "MA": {
+ "name": "מאַראקא"
+ },
+ "MQ": {
+ "name": "מאַרטיניק"
+ },
+ "MR": {
+ "name": "מאַריטאַניע"
+ },
+ "MU": {
+ "name": "מאריציוס"
+ },
+ "MH": {
+ "name": "מאַרשאַל אינזלען"
+ },
+ "MM": {
+ "name": "מיאַנמאַר"
+ },
+ "FM": {
+ "name": "מיקראנעזיע"
+ },
+ "MX": {
+ "name": "מעקסיקע"
+ },
+ "NA": {
+ "name": "נאַמיביע"
+ },
+ "NO": {
+ "name": "נארוועגיע"
+ },
+ "NF": {
+ "name": "נארפֿאלק אינזל"
+ },
+ "NC": {
+ "name": "נײַ קאַלעדאניע"
+ },
+ "NG": {
+ "name": "ניגעריע"
+ },
+ "NZ": {
+ "name": "ניו זילאַנד"
+ },
+ "NE": {
+ "name": "ניזשער"
+ },
+ "NI": {
+ "name": "ניקאַראַגוע"
+ },
+ "NP": {
+ "name": "נעפּאַל"
+ },
+ "ST": {
+ "name": "סאַא טאמע און פּרינסיפּע"
+ },
+ "SB": {
+ "name": "סאלאמאן אינזלען"
+ },
+ "WS": {
+ "name": "סאַמאאַ"
+ },
+ "SO": {
+ "name": "סאמאַליע"
+ },
+ "SM": {
+ "name": "סאַן מאַרינא"
+ },
+ "SZ": {
+ "name": "סוואַזילאַנד"
+ },
+ "SD": {
+ "name": "סודאַן"
+ },
+ "SR": {
+ "name": "סורינאַם"
+ },
+ "SH": {
+ "name": "סט העלענע"
+ },
+ "SG": {
+ "name": "סינגאַפּור"
+ },
+ "SL": {
+ "name": "סיערע לעאנע"
+ },
+ "SY": {
+ "name": "סיריע"
+ },
+ "SC": {
+ "name": "סיישעל"
+ },
+ "SK": {
+ "name": "סלאוואַקיי"
+ },
+ "SI": {
+ "name": "סלאוועניע"
+ },
+ "SN": {
+ "name": "סענעגאַל"
+ },
+ "RS": {
+ "name": "סערביע"
+ },
+ "LK": {
+ "name": "סרי־לאַנקאַ"
+ },
+ "EG": {
+ "name": "עגיפּטן"
+ },
+ "ET": {
+ "name": "עטיאפּיע"
+ },
+ "SV": {
+ "name": "על סאַלוואַדאר"
+ },
+ "EE": {
+ "name": "עסטלאַנד"
+ },
+ "AT": {
+ "name": "עסטרייך"
+ },
+ "EC": {
+ "name": "עקוואַדאר"
+ },
+ "GQ": {
+ "name": "עקוואַטארישע גינע"
+ },
+ "ER": {
+ "name": "עריטרעע"
+ },
+ "PA": {
+ "name": "פּאַנאַמאַ"
+ },
+ "PG": {
+ "name": "פּאַפּואַ נײַ גינע"
+ },
+ "PK": {
+ "name": "פּאַקיסטאַן"
+ },
+ "PY": {
+ "name": "פּאַראַגווײַ"
+ },
+ "PR": {
+ "name": "פּארטא־ריקא"
+ },
+ "PT": {
+ "name": "פּארטוגאַל"
+ },
+ "PL": {
+ "name": "פּוילן"
+ },
+ "PN": {
+ "name": "פּיטקערן אינזלען"
+ },
+ "PE": {
+ "name": "פּערו"
+ },
+ "FK": {
+ "name": "פֿאַלקלאַנד אינזלען"
+ },
+ "FO": {
+ "name": "פֿאַרא אינזלען"
+ },
+ "GB": {
+ "name": "פֿאַראייניגטע קעניגרייך"
+ },
+ "US": {
+ "name": "פֿאַראייניגטע שטאַטן"
+ },
+ "FJ": {
+ "name": "פֿידזשי"
+ },
+ "PH": {
+ "name": "פֿיליפּינען"
+ },
+ "FI": {
+ "name": "פֿינלאַנד"
+ },
+ "GF": {
+ "name": "פֿראַנצויזישע גויאַנע"
+ },
+ "PF": {
+ "name": "פֿראַנצויזישע פּאלינעזיע"
+ },
+ "FR": {
+ "name": "פֿראַנקרייך"
+ },
+ "CF": {
+ "name": "צענטראַל־אַפֿריקאַנישע רעפּובליק"
+ },
+ "QA": {
+ "name": "קאַטאַר"
+ },
+ "CO": {
+ "name": "קאלאמביע"
+ },
+ "KM": {
+ "name": "קאמאראס"
+ },
+ "KH": {
+ "name": "קאַמבאדיע"
+ },
+ "CM": {
+ "name": "קאַמערון"
+ },
+ "CA": {
+ "name": "קאַנאַדע"
+ },
+ "IC": {
+ "name": "קאַנאַרישע אינזלען"
+ },
+ "CD": {
+ "name": "קאנגא־קינשאַזע"
+ },
+ "XK": {
+ "name": "קאסאווא"
+ },
+ "CR": {
+ "name": "קאסטאַ ריקאַ"
+ },
+ "CV": {
+ "name": "קאַפּווערדישע אינזלען"
+ },
+ "CU": {
+ "name": "קובאַ"
+ },
+ "CK": {
+ "name": "קוק אינזלען"
+ },
+ "CW": {
+ "name": "קוראַסאַא"
+ },
+ "KY": {
+ "name": "קיימאַן אינזלען"
+ },
+ "KI": {
+ "name": "קיריבאַטי"
+ },
+ "KE": {
+ "name": "קעניע"
+ },
+ "HR": {
+ "name": "קראאַטיע"
+ },
+ "RW": {
+ "name": "רוואַנדע"
+ },
+ "RO": {
+ "name": "רומעניע"
+ },
+ "RU": {
+ "name": "רוסלאַנד"
+ },
+ "RE": {
+ "name": "רעאוניאן"
+ },
+ "CH": {
+ "name": "שווייץ"
+ },
+ "SE": {
+ "name": "שוועדן"
+ },
+ "ES": {
+ "name": "שפּאַניע"
+ },
+ "YE": {
+ "name": "תימן"
+ },
+ "AX": {
+ "name": "Åland Islands"
+ },
+ "DZ": {
+ "name": "Algeria"
+ },
+ "AS": {
+ "name": "American Samoa"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AZ": {
+ "name": "Azerbaijan"
+ },
+ "BH": {
+ "name": "Bahrain"
+ },
+ "IO": {
+ "name": "British Indian Ocean Territory"
+ },
+ "VG": {
+ "name": "British Virgin Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CG": {
+ "name": "Congo - Brazzaville"
+ },
+ "CY": {
+ "name": "Cyprus"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "IQ": {
+ "name": "Iraq"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "JO": {
+ "name": "Jordan"
+ },
+ "KZ": {
+ "name": "Kazakhstan"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "KG": {
+ "name": "Kyrgyzstan"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "KP": {
+ "name": "North Korea"
+ },
+ "MP": {
+ "name": "Northern Mariana Islands"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palestinian Territories"
+ },
+ "SA": {
+ "name": "Saudi Arabia"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "KR": {
+ "name": "South Korea"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "KN": {
+ "name": "St. Kitts & Nevis"
+ },
+ "LC": {
+ "name": "St. Lucia"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "PM": {
+ "name": "St. Pierre & Miquelon"
+ },
+ "VC": {
+ "name": "St. Vincent & Grenadines"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TJ": {
+ "name": "Tajikistan"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TC": {
+ "name": "Turks & Caicos Islands"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "VI": {
+ "name": "U.S. Virgin Islands"
+ },
+ "AE": {
+ "name": "United Arab Emirates"
+ },
+ "UZ": {
+ "name": "Uzbekistan"
+ },
+ "WF": {
+ "name": "Wallis & Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/yo-BJ.json b/vendor/commerceguys/intl/resources/country/yo-BJ.json
new file mode 100644
index 000000000..e845e9262
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/yo-BJ.json
@@ -0,0 +1,761 @@
+{
+ "AX": {
+ "name": "Åland Islands"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "AD": {
+ "name": "Orílɛ́ède Ààndórà"
+ },
+ "AO": {
+ "name": "Orílɛ́ède Ààngólà"
+ },
+ "AI": {
+ "name": "Orílɛ́ède Ààngúlílà"
+ },
+ "AG": {
+ "name": "Orílɛ́ède Ààntígúà àti Báríbúdà"
+ },
+ "AF": {
+ "name": "Orílɛ́ède Àfùgànístánì"
+ },
+ "AR": {
+ "name": "Orílɛ́ède Agentínà"
+ },
+ "IE": {
+ "name": "Orílɛ́ède Ailandi"
+ },
+ "AL": {
+ "name": "Orílɛ́ède Àlùbàníánì"
+ },
+ "DZ": {
+ "name": "Orílɛ́ède Àlùgèríánì"
+ },
+ "AM": {
+ "name": "Orílɛ́ède Améníà"
+ },
+ "CF": {
+ "name": "Orílɛ́ède Àrin gùngun Áfíríkà"
+ },
+ "ZA": {
+ "name": "Orílɛ́ède Ariwa Afirika"
+ },
+ "KR": {
+ "name": "Orílɛ́ède Ariwa Kɔria"
+ },
+ "AW": {
+ "name": "Orílɛ́ède Árúbà"
+ },
+ "AZ": {
+ "name": "Orílɛ́ède Asɛ́bájánì"
+ },
+ "IS": {
+ "name": "Orílɛ́ède Ashilandi"
+ },
+ "AT": {
+ "name": "Orílɛ́ède Asítíríà"
+ },
+ "AU": {
+ "name": "Orílɛ́ède Ástràlìá"
+ },
+ "BB": {
+ "name": "Orílɛ́ède Bábádósì"
+ },
+ "BS": {
+ "name": "Orílɛ́ède Bàhámásì"
+ },
+ "BD": {
+ "name": "Orílɛ́ède Bángáládésì"
+ },
+ "BH": {
+ "name": "Orílɛ́ède Báránì"
+ },
+ "BR": {
+ "name": "Orílɛ́ède Bàràsílì"
+ },
+ "BE": {
+ "name": "Orílɛ́ède Bégíɔ́mù"
+ },
+ "BY": {
+ "name": "Orílɛ́ède Bélárúsì"
+ },
+ "BZ": {
+ "name": "Orílɛ́ède Bèlísɛ̀"
+ },
+ "BM": {
+ "name": "Orílɛ́ède Bémúdà"
+ },
+ "BJ": {
+ "name": "Orílɛ́ède Bɛ̀nɛ̀"
+ },
+ "BO": {
+ "name": "Orílɛ́ède Bɔ̀lífíyà"
+ },
+ "BA": {
+ "name": "Orílɛ́ède Bɔ̀síníà àti Ɛtisɛgófínà"
+ },
+ "BW": {
+ "name": "Orílɛ́ède Bɔ̀tìsúwánà"
+ },
+ "BN": {
+ "name": "Orílɛ́ède Búrúnɛ́lì"
+ },
+ "BT": {
+ "name": "Orílɛ́ède Bútánì"
+ },
+ "BG": {
+ "name": "Orílɛ́ède Bùùgáríà"
+ },
+ "BF": {
+ "name": "Orílɛ́ède Bùùkíná Fasò"
+ },
+ "BI": {
+ "name": "Orílɛ́ède Bùùrúndì"
+ },
+ "DK": {
+ "name": "Orílɛ́ède Dɛ́mákì"
+ },
+ "DJ": {
+ "name": "Orílɛ́ède Díbɔ́ótì"
+ },
+ "DM": {
+ "name": "Orílɛ́ède Dòmíníkà"
+ },
+ "DO": {
+ "name": "Orilɛ́ède Dòmíníkánì"
+ },
+ "EG": {
+ "name": "Orílɛ́ède Égípítì"
+ },
+ "EC": {
+ "name": "Orílɛ́ède Ekuádò"
+ },
+ "GQ": {
+ "name": "Orílɛ́ède Ekutoria Gini"
+ },
+ "ER": {
+ "name": "Orílɛ́ède Eritira"
+ },
+ "EE": {
+ "name": "Orílɛ́ède Esitonia"
+ },
+ "VI": {
+ "name": "Orílɛ́ède Etikun Fagini ti Amɛrika"
+ },
+ "VG": {
+ "name": "Orílɛ́ède Etíkun Fágínì ti ìlú Bírítísì"
+ },
+ "FK": {
+ "name": "Orílɛ́ède Etikun Fakalandi"
+ },
+ "MP": {
+ "name": "Orílɛ́ède Etikun Guusu Mariana"
+ },
+ "IO": {
+ "name": "Orílɛ́ède Etíkun Índíánì ti Ìlú Bírítísì"
+ },
+ "MH": {
+ "name": "Orílɛ́ède Etikun Máshali"
+ },
+ "NF": {
+ "name": "Orílɛ́ède Etikun Nɔ́úfókì"
+ },
+ "SB": {
+ "name": "Orílɛ́ède Etikun Solomoni"
+ },
+ "KY": {
+ "name": "Orílɛ́ède Etíokun Kámánì"
+ },
+ "CV": {
+ "name": "Orílɛ́ède Etíokun Kápé féndè"
+ },
+ "CK": {
+ "name": "Orílɛ́ède Etíokun Kùúkù"
+ },
+ "ET": {
+ "name": "Orílɛ́ède Etopia"
+ },
+ "SV": {
+ "name": "Orílɛ́ède Ɛɛsáfádò"
+ },
+ "AE": {
+ "name": "Orílɛ́ède Ɛmirate ti Awɔn Arabu"
+ },
+ "VU": {
+ "name": "Orílɛ́ède Faniatu"
+ },
+ "FR": {
+ "name": "Orílɛ́ède Faranse"
+ },
+ "VA": {
+ "name": "Orílɛ́ède Fatikani"
+ },
+ "VE": {
+ "name": "Orílɛ́ède Fɛnɛshuɛla"
+ },
+ "VN": {
+ "name": "Orílɛ́ède Fɛtinami"
+ },
+ "FJ": {
+ "name": "Orílɛ́ède Fiji"
+ },
+ "FI": {
+ "name": "Orílɛ́ède Filandi"
+ },
+ "PH": {
+ "name": "Orílɛ́ède filipini"
+ },
+ "GF": {
+ "name": "Orílɛ́ède Firenshi Guana"
+ },
+ "PF": {
+ "name": "Orílɛ́ède Firenshi Polinesia"
+ },
+ "VC": {
+ "name": "Orílɛ́ède Fisɛnnti ati Genadina"
+ },
+ "GA": {
+ "name": "Orílɛ́ède Gabon"
+ },
+ "GP": {
+ "name": "Orílɛ́ède Gadelope"
+ },
+ "GM": {
+ "name": "Orílɛ́ède Gambia"
+ },
+ "GH": {
+ "name": "Orílɛ́ède Gana"
+ },
+ "DE": {
+ "name": "Orílɛ́ède Gemani"
+ },
+ "GD": {
+ "name": "Orílɛ́ède Genada"
+ },
+ "GN": {
+ "name": "Orílɛ́ède Gene"
+ },
+ "GW": {
+ "name": "Orílɛ́ède Gene-Busau"
+ },
+ "GL": {
+ "name": "Orílɛ́ède Gerelandi"
+ },
+ "GR": {
+ "name": "Orílɛ́ède Geriisi"
+ },
+ "GI": {
+ "name": "Orílɛ́ède Gibaratara"
+ },
+ "GE": {
+ "name": "Orílɛ́ède Gɔgia"
+ },
+ "GU": {
+ "name": "Orílɛ́ède Guamu"
+ },
+ "GT": {
+ "name": "Orílɛ́ède Guatemala"
+ },
+ "KP": {
+ "name": "Orílɛ́ède Guusu Kɔria"
+ },
+ "GY": {
+ "name": "Orílɛ́ède Guyana"
+ },
+ "HT": {
+ "name": "Orílɛ́ède Haati"
+ },
+ "SH": {
+ "name": "Orílɛ́ède Hɛlena"
+ },
+ "HN": {
+ "name": "Orílɛ́ède Hondurasi"
+ },
+ "HU": {
+ "name": "Orílɛ́ède Hungari"
+ },
+ "TL": {
+ "name": "Orílɛ́ède ÌlàOòrùn Tímɔ̀"
+ },
+ "IN": {
+ "name": "Orílɛ́ède India"
+ },
+ "ID": {
+ "name": "Orílɛ́ède Indonesia"
+ },
+ "IQ": {
+ "name": "Orílɛ́ède Iraki"
+ },
+ "IR": {
+ "name": "Orílɛ́ède Irani"
+ },
+ "IL": {
+ "name": "Orílɛ́ède Iserɛli"
+ },
+ "IT": {
+ "name": "Orílɛ́ède Italiyi"
+ },
+ "PS": {
+ "name": "Orílɛ́ède Iwɔorun Pakisitian ati Gasha"
+ },
+ "JM": {
+ "name": "Orílɛ́ède Jamaika"
+ },
+ "JP": {
+ "name": "Orílɛ́ède Japani"
+ },
+ "JO": {
+ "name": "Orílɛ́ède Jɔdani"
+ },
+ "NC": {
+ "name": "Orílɛ́ède Kaledonia Titun"
+ },
+ "CM": {
+ "name": "Orílɛ́ède Kamerúúnì"
+ },
+ "KH": {
+ "name": "Orílɛ́ède Kàmùbódíà"
+ },
+ "CA": {
+ "name": "Orílɛ́ède Kánádà"
+ },
+ "KZ": {
+ "name": "Orílɛ́ède Kashashatani"
+ },
+ "KE": {
+ "name": "Orílɛ́ède Kenya"
+ },
+ "KN": {
+ "name": "Orílɛ́ède Kiiti ati Neefi"
+ },
+ "KI": {
+ "name": "Orílɛ́ède Kiribati"
+ },
+ "CO": {
+ "name": "Orílɛ́ède Kòlómíbìa"
+ },
+ "KM": {
+ "name": "Orílɛ́ède Kòmòrósì"
+ },
+ "CD": {
+ "name": "Orilɛ́ède Kóngò"
+ },
+ "CG": {
+ "name": "Orílɛ́ède Kóngò"
+ },
+ "HR": {
+ "name": "Orílɛ́ède Kòróátíà"
+ },
+ "QA": {
+ "name": "Orílɛ́ède Kota"
+ },
+ "CI": {
+ "name": "Orílɛ́ède Kóútè forà"
+ },
+ "CU": {
+ "name": "Orílɛ́ède Kúbà"
+ },
+ "KG": {
+ "name": "Orílɛ́ède Kurishisitani"
+ },
+ "CY": {
+ "name": "Orílɛ́ède Kúrúsì"
+ },
+ "CR": {
+ "name": "Orílɛ́ède Kuusita Ríkà"
+ },
+ "KW": {
+ "name": "Orílɛ́ède Kuweti"
+ },
+ "LR": {
+ "name": "Orílɛ́ède Laberia"
+ },
+ "LA": {
+ "name": "Orílɛ́ède Laosi"
+ },
+ "LV": {
+ "name": "Orílɛ́ède Latifia"
+ },
+ "LB": {
+ "name": "Orílɛ́ède Lebanoni"
+ },
+ "LS": {
+ "name": "Orílɛ́ède Lesoto"
+ },
+ "LI": {
+ "name": "Orílɛ́ède Lɛshitɛnisiteni"
+ },
+ "LY": {
+ "name": "Orílɛ́ède Libiya"
+ },
+ "LT": {
+ "name": "Orílɛ́ède Lituania"
+ },
+ "LU": {
+ "name": "Orílɛ́ède Lusemogi"
+ },
+ "LC": {
+ "name": "Orílɛ́ède Lushia"
+ },
+ "MG": {
+ "name": "Orílɛ́ède Madasika"
+ },
+ "FM": {
+ "name": "Orílɛ́ède Makoronesia"
+ },
+ "MV": {
+ "name": "Orílɛ́ède Maladifi"
+ },
+ "MY": {
+ "name": "Orílɛ́ède Malasia"
+ },
+ "MT": {
+ "name": "Orílɛ́ède Malata"
+ },
+ "MW": {
+ "name": "Orílɛ́ède Malawi"
+ },
+ "ML": {
+ "name": "Orílɛ́ède Mali"
+ },
+ "MM": {
+ "name": "Orílɛ́ède Manamari"
+ },
+ "MR": {
+ "name": "Orílɛ́ède Maritania"
+ },
+ "MU": {
+ "name": "Orílɛ́ède Maritiusi"
+ },
+ "MK": {
+ "name": "Orílɛ́ède Masidonia"
+ },
+ "MQ": {
+ "name": "Orílɛ́ède Matinikuwi"
+ },
+ "YT": {
+ "name": "Orílɛ́ède Mayote"
+ },
+ "MX": {
+ "name": "Orílɛ́ède Mesiko"
+ },
+ "MD": {
+ "name": "Orílɛ́ède Modofia"
+ },
+ "MN": {
+ "name": "Orílɛ́ède Mogolia"
+ },
+ "MC": {
+ "name": "Orílɛ́ède Monako"
+ },
+ "MA": {
+ "name": "Orílɛ́ède Moroko"
+ },
+ "MZ": {
+ "name": "Orílɛ́ède Moshamibiku"
+ },
+ "MS": {
+ "name": "Orílɛ́ède Motserati"
+ },
+ "NE": {
+ "name": "Orílɛ́ède Nàìjá"
+ },
+ "NG": {
+ "name": "Orílɛ́ède Nàìjíríà"
+ },
+ "NA": {
+ "name": "Orílɛ́ède Namibia"
+ },
+ "NR": {
+ "name": "Orílɛ́ède Nauru"
+ },
+ "NL": {
+ "name": "Orílɛ́ède Nedalandi"
+ },
+ "NP": {
+ "name": "Orílɛ́ède Nepa"
+ },
+ "NI": {
+ "name": "Orílɛ́ède NIkaragua"
+ },
+ "NU": {
+ "name": "Orílɛ́ède Niue"
+ },
+ "NO": {
+ "name": "Orílɛ́ède Nɔɔwii"
+ },
+ "UY": {
+ "name": "Orílɛ́ède Nruguayi"
+ },
+ "UZ": {
+ "name": "Orílɛ́ède Nshibɛkisitani"
+ },
+ "GB": {
+ "name": "Orílɛ́ède Omobabirin"
+ },
+ "US": {
+ "name": "Orílɛ́ède Orilɛede Amerika"
+ },
+ "OM": {
+ "name": "Orílɛ́ède Ɔɔma"
+ },
+ "PW": {
+ "name": "Orílɛ́ède Paalu"
+ },
+ "PG": {
+ "name": "Orílɛ́ède Paapu ti Giini"
+ },
+ "PK": {
+ "name": "Orílɛ́ède Pakisitan"
+ },
+ "PA": {
+ "name": "Orílɛ́ède Panama"
+ },
+ "PY": {
+ "name": "Orílɛ́ède Paraguye"
+ },
+ "PE": {
+ "name": "Orílɛ́ède Peru"
+ },
+ "PM": {
+ "name": "Orílɛ́ède Pɛɛri ati mikuloni"
+ },
+ "PN": {
+ "name": "Orílɛ́ède Pikarini"
+ },
+ "PL": {
+ "name": "Orílɛ́ède Polandi"
+ },
+ "PR": {
+ "name": "Orílɛ́ède Pɔto Riko"
+ },
+ "PT": {
+ "name": "Orílɛ́ède Pɔtugi"
+ },
+ "RE": {
+ "name": "Orílɛ́ède Riuniyan"
+ },
+ "RO": {
+ "name": "Orílɛ́ède Romaniya"
+ },
+ "RU": {
+ "name": "Orílɛ́ède Rɔshia"
+ },
+ "RW": {
+ "name": "Orílɛ́ède Ruwanda"
+ },
+ "WS": {
+ "name": "Orílɛ́ède Samɔ"
+ },
+ "SM": {
+ "name": "Orílɛ́ède Sani Marino"
+ },
+ "ST": {
+ "name": "Orílɛ́ède Sao tomi ati piriishipi"
+ },
+ "SZ": {
+ "name": "Orílɛ́ède Sashiland"
+ },
+ "SA": {
+ "name": "Orílɛ́ède Saudi Arabia"
+ },
+ "SC": {
+ "name": "Orílɛ́ède seshɛlɛsi"
+ },
+ "SN": {
+ "name": "Orílɛ́ède Sɛnɛga"
+ },
+ "TD": {
+ "name": "Orílɛ́ède shààdì"
+ },
+ "CN": {
+ "name": "Orílɛ́ède sháínà"
+ },
+ "ZM": {
+ "name": "Orílɛ́ède shamibia"
+ },
+ "CZ": {
+ "name": "Orílɛ́ède shɛ́ɛ́kì"
+ },
+ "NZ": {
+ "name": "Orílɛ́ède shilandi Titun"
+ },
+ "CL": {
+ "name": "Orílɛ́ède shílè"
+ },
+ "ZW": {
+ "name": "Orílɛ́ède shimibabe"
+ },
+ "SK": {
+ "name": "Orílɛ́ède Silofakia"
+ },
+ "SI": {
+ "name": "Orílɛ́ède Silofania"
+ },
+ "SG": {
+ "name": "Orílɛ́ède Singapo"
+ },
+ "ES": {
+ "name": "Orílɛ́ède Sipani"
+ },
+ "LK": {
+ "name": "Orílɛ́ède Siri Lanka"
+ },
+ "SY": {
+ "name": "Orílɛ́ède Siria"
+ },
+ "SL": {
+ "name": "Orílɛ́ède Siria looni"
+ },
+ "SO": {
+ "name": "Orílɛ́ède Somalia"
+ },
+ "SD": {
+ "name": "Orílɛ́ède Sudani"
+ },
+ "SR": {
+ "name": "Orílɛ́ède Surinami"
+ },
+ "SE": {
+ "name": "Orílɛ́ède Swidini"
+ },
+ "CH": {
+ "name": "Orílɛ́ède switishilandi"
+ },
+ "TH": {
+ "name": "Orílɛ́ède Tailandi"
+ },
+ "TW": {
+ "name": "Orílɛ́ède Taiwani"
+ },
+ "TJ": {
+ "name": "Orílɛ́ède Takisitani"
+ },
+ "TZ": {
+ "name": "Orílɛ́ède Tanshania"
+ },
+ "TT": {
+ "name": "Orílɛ́ède Tirinida ati Tobaga"
+ },
+ "TG": {
+ "name": "Orílɛ́ède Togo"
+ },
+ "TK": {
+ "name": "Orílɛ́ède Tokelau"
+ },
+ "TO": {
+ "name": "Orílɛ́ède Tonga"
+ },
+ "TR": {
+ "name": "Orílɛ́ède Tɔɔki"
+ },
+ "TC": {
+ "name": "Orílɛ́ède Tɔɔki ati Etikun Kakɔsi"
+ },
+ "TM": {
+ "name": "Orílɛ́ède Tɔɔkimenisita"
+ },
+ "TV": {
+ "name": "Orílɛ́ède Tufalu"
+ },
+ "TN": {
+ "name": "Orílɛ́ède Tunishia"
+ },
+ "UG": {
+ "name": "Orílɛ́ède Uganda"
+ },
+ "UA": {
+ "name": "Orílɛ́ède Ukarini"
+ },
+ "WF": {
+ "name": "Orílɛ́ède Wali ati futuna"
+ },
+ "YE": {
+ "name": "Orílɛ́ède yemeni"
+ },
+ "AS": {
+ "name": "Sámóánì ti Orílɛ́ède Àméríkà"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/yo.json b/vendor/commerceguys/intl/resources/country/yo.json
new file mode 100644
index 000000000..4e19fd200
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/yo.json
@@ -0,0 +1,761 @@
+{
+ "AX": {
+ "name": "Åland Islands"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "AD": {
+ "name": "Orílẹ́ède Ààndórà"
+ },
+ "AO": {
+ "name": "Orílẹ́ède Ààngólà"
+ },
+ "AI": {
+ "name": "Orílẹ́ède Ààngúlílà"
+ },
+ "AG": {
+ "name": "Orílẹ́ède Ààntígúà àti Báríbúdà"
+ },
+ "AF": {
+ "name": "Orílẹ́ède Àfùgànístánì"
+ },
+ "AR": {
+ "name": "Orílẹ́ède Agentínà"
+ },
+ "IE": {
+ "name": "Orílẹ́ède Ailandi"
+ },
+ "AL": {
+ "name": "Orílẹ́ède Àlùbàníánì"
+ },
+ "DZ": {
+ "name": "Orílẹ́ède Àlùgèríánì"
+ },
+ "AM": {
+ "name": "Orílẹ́ède Améníà"
+ },
+ "CF": {
+ "name": "Orílẹ́ède Àrin gùngun Áfíríkà"
+ },
+ "ZA": {
+ "name": "Orílẹ́ède Ariwa Afirika"
+ },
+ "KR": {
+ "name": "Orílẹ́ède Ariwa Kọria"
+ },
+ "AW": {
+ "name": "Orílẹ́ède Árúbà"
+ },
+ "AZ": {
+ "name": "Orílẹ́ède Asẹ́bájánì"
+ },
+ "AT": {
+ "name": "Orílẹ́ède Asítíríà"
+ },
+ "AU": {
+ "name": "Orílẹ́ède Ástràlìá"
+ },
+ "IS": {
+ "name": "Orílẹ́ède Aṣilandi"
+ },
+ "BB": {
+ "name": "Orílẹ́ède Bábádósì"
+ },
+ "BS": {
+ "name": "Orílẹ́ède Bàhámásì"
+ },
+ "BD": {
+ "name": "Orílẹ́ède Bángáládésì"
+ },
+ "BH": {
+ "name": "Orílẹ́ède Báránì"
+ },
+ "BR": {
+ "name": "Orílẹ́ède Bàràsílì"
+ },
+ "BE": {
+ "name": "Orílẹ́ède Bégíọ́mù"
+ },
+ "BY": {
+ "name": "Orílẹ́ède Bélárúsì"
+ },
+ "BZ": {
+ "name": "Orílẹ́ède Bèlísẹ̀"
+ },
+ "BM": {
+ "name": "Orílẹ́ède Bémúdà"
+ },
+ "BJ": {
+ "name": "Orílẹ́ède Bẹ̀nẹ̀"
+ },
+ "BO": {
+ "name": "Orílẹ́ède Bọ̀lífíyà"
+ },
+ "BA": {
+ "name": "Orílẹ́ède Bọ̀síníà àti Ẹtisẹgófínà"
+ },
+ "BW": {
+ "name": "Orílẹ́ède Bọ̀tìsúwánà"
+ },
+ "BN": {
+ "name": "Orílẹ́ède Búrúnẹ́lì"
+ },
+ "BT": {
+ "name": "Orílẹ́ède Bútánì"
+ },
+ "BG": {
+ "name": "Orílẹ́ède Bùùgáríà"
+ },
+ "BF": {
+ "name": "Orílẹ́ède Bùùkíná Fasò"
+ },
+ "BI": {
+ "name": "Orílẹ́ède Bùùrúndì"
+ },
+ "DK": {
+ "name": "Orílẹ́ède Dẹ́mákì"
+ },
+ "DJ": {
+ "name": "Orílẹ́ède Díbọ́ótì"
+ },
+ "DM": {
+ "name": "Orílẹ́ède Dòmíníkà"
+ },
+ "DO": {
+ "name": "Orilẹ́ède Dòmíníkánì"
+ },
+ "EG": {
+ "name": "Orílẹ́ède Égípítì"
+ },
+ "EC": {
+ "name": "Orílẹ́ède Ekuádò"
+ },
+ "GQ": {
+ "name": "Orílẹ́ède Ekutoria Gini"
+ },
+ "ER": {
+ "name": "Orílẹ́ède Eritira"
+ },
+ "EE": {
+ "name": "Orílẹ́ède Esitonia"
+ },
+ "VI": {
+ "name": "Orílẹ́ède Etikun Fagini ti Amẹrika"
+ },
+ "VG": {
+ "name": "Orílẹ́ède Etíkun Fágínì ti ìlú Bírítísì"
+ },
+ "FK": {
+ "name": "Orílẹ́ède Etikun Fakalandi"
+ },
+ "MP": {
+ "name": "Orílẹ́ède Etikun Guusu Mariana"
+ },
+ "IO": {
+ "name": "Orílẹ́ède Etíkun Índíánì ti Ìlú Bírítísì"
+ },
+ "MH": {
+ "name": "Orílẹ́ède Etikun Máṣali"
+ },
+ "NF": {
+ "name": "Orílẹ́ède Etikun Nọ́úfókì"
+ },
+ "SB": {
+ "name": "Orílẹ́ède Etikun Solomoni"
+ },
+ "KY": {
+ "name": "Orílẹ́ède Etíokun Kámánì"
+ },
+ "CV": {
+ "name": "Orílẹ́ède Etíokun Kápé féndè"
+ },
+ "CK": {
+ "name": "Orílẹ́ède Etíokun Kùúkù"
+ },
+ "ET": {
+ "name": "Orílẹ́ède Etopia"
+ },
+ "SV": {
+ "name": "Orílẹ́ède Ẹẹsáfádò"
+ },
+ "AE": {
+ "name": "Orílẹ́ède Ẹmirate ti Awọn Arabu"
+ },
+ "VU": {
+ "name": "Orílẹ́ède Faniatu"
+ },
+ "FR": {
+ "name": "Orílẹ́ède Faranse"
+ },
+ "VA": {
+ "name": "Orílẹ́ède Fatikani"
+ },
+ "VE": {
+ "name": "Orílẹ́ède Fẹnẹṣuẹla"
+ },
+ "VN": {
+ "name": "Orílẹ́ède Fẹtinami"
+ },
+ "FJ": {
+ "name": "Orílẹ́ède Fiji"
+ },
+ "FI": {
+ "name": "Orílẹ́ède Filandi"
+ },
+ "PH": {
+ "name": "Orílẹ́ède filipini"
+ },
+ "GF": {
+ "name": "Orílẹ́ède Firenṣi Guana"
+ },
+ "PF": {
+ "name": "Orílẹ́ède Firenṣi Polinesia"
+ },
+ "VC": {
+ "name": "Orílẹ́ède Fisẹnnti ati Genadina"
+ },
+ "GA": {
+ "name": "Orílẹ́ède Gabon"
+ },
+ "GP": {
+ "name": "Orílẹ́ède Gadelope"
+ },
+ "GM": {
+ "name": "Orílẹ́ède Gambia"
+ },
+ "GH": {
+ "name": "Orílẹ́ède Gana"
+ },
+ "DE": {
+ "name": "Orílẹ́ède Gemani"
+ },
+ "GD": {
+ "name": "Orílẹ́ède Genada"
+ },
+ "GN": {
+ "name": "Orílẹ́ède Gene"
+ },
+ "GW": {
+ "name": "Orílẹ́ède Gene-Busau"
+ },
+ "GL": {
+ "name": "Orílẹ́ède Gerelandi"
+ },
+ "GR": {
+ "name": "Orílẹ́ède Geriisi"
+ },
+ "GI": {
+ "name": "Orílẹ́ède Gibaratara"
+ },
+ "GE": {
+ "name": "Orílẹ́ède Gọgia"
+ },
+ "GU": {
+ "name": "Orílẹ́ède Guamu"
+ },
+ "GT": {
+ "name": "Orílẹ́ède Guatemala"
+ },
+ "KP": {
+ "name": "Orílẹ́ède Guusu Kọria"
+ },
+ "GY": {
+ "name": "Orílẹ́ède Guyana"
+ },
+ "HT": {
+ "name": "Orílẹ́ède Haati"
+ },
+ "SH": {
+ "name": "Orílẹ́ède Hẹlena"
+ },
+ "HN": {
+ "name": "Orílẹ́ède Hondurasi"
+ },
+ "HU": {
+ "name": "Orílẹ́ède Hungari"
+ },
+ "TL": {
+ "name": "Orílẹ́ède ÌlàOòrùn Tímọ̀"
+ },
+ "IN": {
+ "name": "Orílẹ́ède India"
+ },
+ "ID": {
+ "name": "Orílẹ́ède Indonesia"
+ },
+ "IQ": {
+ "name": "Orílẹ́ède Iraki"
+ },
+ "IR": {
+ "name": "Orílẹ́ède Irani"
+ },
+ "IL": {
+ "name": "Orílẹ́ède Iserẹli"
+ },
+ "IT": {
+ "name": "Orílẹ́ède Italiyi"
+ },
+ "PS": {
+ "name": "Orílẹ́ède Iwọorun Pakisitian ati Gaṣa"
+ },
+ "JM": {
+ "name": "Orílẹ́ède Jamaika"
+ },
+ "JP": {
+ "name": "Orílẹ́ède Japani"
+ },
+ "JO": {
+ "name": "Orílẹ́ède Jọdani"
+ },
+ "NC": {
+ "name": "Orílẹ́ède Kaledonia Titun"
+ },
+ "CM": {
+ "name": "Orílẹ́ède Kamerúúnì"
+ },
+ "KH": {
+ "name": "Orílẹ́ède Kàmùbódíà"
+ },
+ "CA": {
+ "name": "Orílẹ́ède Kánádà"
+ },
+ "KZ": {
+ "name": "Orílẹ́ède Kaṣaṣatani"
+ },
+ "KE": {
+ "name": "Orílẹ́ède Kenya"
+ },
+ "KN": {
+ "name": "Orílẹ́ède Kiiti ati Neefi"
+ },
+ "KI": {
+ "name": "Orílẹ́ède Kiribati"
+ },
+ "CO": {
+ "name": "Orílẹ́ède Kòlómíbìa"
+ },
+ "KM": {
+ "name": "Orílẹ́ède Kòmòrósì"
+ },
+ "CD": {
+ "name": "Orilẹ́ède Kóngò"
+ },
+ "CG": {
+ "name": "Orílẹ́ède Kóngò"
+ },
+ "HR": {
+ "name": "Orílẹ́ède Kòróátíà"
+ },
+ "QA": {
+ "name": "Orílẹ́ède Kota"
+ },
+ "CI": {
+ "name": "Orílẹ́ède Kóútè forà"
+ },
+ "CU": {
+ "name": "Orílẹ́ède Kúbà"
+ },
+ "KG": {
+ "name": "Orílẹ́ède Kuriṣisitani"
+ },
+ "CY": {
+ "name": "Orílẹ́ède Kúrúsì"
+ },
+ "CR": {
+ "name": "Orílẹ́ède Kuusita Ríkà"
+ },
+ "KW": {
+ "name": "Orílẹ́ède Kuweti"
+ },
+ "LR": {
+ "name": "Orílẹ́ède Laberia"
+ },
+ "LA": {
+ "name": "Orílẹ́ède Laosi"
+ },
+ "LV": {
+ "name": "Orílẹ́ède Latifia"
+ },
+ "LB": {
+ "name": "Orílẹ́ède Lebanoni"
+ },
+ "LS": {
+ "name": "Orílẹ́ède Lesoto"
+ },
+ "LI": {
+ "name": "Orílẹ́ède Lẹṣitẹnisiteni"
+ },
+ "LY": {
+ "name": "Orílẹ́ède Libiya"
+ },
+ "LT": {
+ "name": "Orílẹ́ède Lituania"
+ },
+ "LU": {
+ "name": "Orílẹ́ède Lusemogi"
+ },
+ "LC": {
+ "name": "Orílẹ́ède Luṣia"
+ },
+ "MG": {
+ "name": "Orílẹ́ède Madasika"
+ },
+ "FM": {
+ "name": "Orílẹ́ède Makoronesia"
+ },
+ "MV": {
+ "name": "Orílẹ́ède Maladifi"
+ },
+ "MY": {
+ "name": "Orílẹ́ède Malasia"
+ },
+ "MT": {
+ "name": "Orílẹ́ède Malata"
+ },
+ "MW": {
+ "name": "Orílẹ́ède Malawi"
+ },
+ "ML": {
+ "name": "Orílẹ́ède Mali"
+ },
+ "MM": {
+ "name": "Orílẹ́ède Manamari"
+ },
+ "MR": {
+ "name": "Orílẹ́ède Maritania"
+ },
+ "MU": {
+ "name": "Orílẹ́ède Maritiusi"
+ },
+ "MK": {
+ "name": "Orílẹ́ède Masidonia"
+ },
+ "MQ": {
+ "name": "Orílẹ́ède Matinikuwi"
+ },
+ "YT": {
+ "name": "Orílẹ́ède Mayote"
+ },
+ "MX": {
+ "name": "Orílẹ́ède Mesiko"
+ },
+ "MD": {
+ "name": "Orílẹ́ède Modofia"
+ },
+ "MN": {
+ "name": "Orílẹ́ède Mogolia"
+ },
+ "MC": {
+ "name": "Orílẹ́ède Monako"
+ },
+ "MA": {
+ "name": "Orílẹ́ède Moroko"
+ },
+ "MZ": {
+ "name": "Orílẹ́ède Moṣamibiku"
+ },
+ "MS": {
+ "name": "Orílẹ́ède Motserati"
+ },
+ "NE": {
+ "name": "Orílẹ́ède Nàìjá"
+ },
+ "NG": {
+ "name": "Orílẹ́ède Nàìjíríà"
+ },
+ "NA": {
+ "name": "Orílẹ́ède Namibia"
+ },
+ "NR": {
+ "name": "Orílẹ́ède Nauru"
+ },
+ "NL": {
+ "name": "Orílẹ́ède Nedalandi"
+ },
+ "NP": {
+ "name": "Orílẹ́ède Nepa"
+ },
+ "NI": {
+ "name": "Orílẹ́ède NIkaragua"
+ },
+ "NU": {
+ "name": "Orílẹ́ède Niue"
+ },
+ "NO": {
+ "name": "Orílẹ́ède Nọọwii"
+ },
+ "UY": {
+ "name": "Orílẹ́ède Nruguayi"
+ },
+ "UZ": {
+ "name": "Orílẹ́ède Nṣibẹkisitani"
+ },
+ "GB": {
+ "name": "Orílẹ́ède Omobabirin"
+ },
+ "US": {
+ "name": "Orílẹ́ède Orilẹede Amerika"
+ },
+ "OM": {
+ "name": "Orílẹ́ède Ọọma"
+ },
+ "PW": {
+ "name": "Orílẹ́ède Paalu"
+ },
+ "PG": {
+ "name": "Orílẹ́ède Paapu ti Giini"
+ },
+ "PK": {
+ "name": "Orílẹ́ède Pakisitan"
+ },
+ "PA": {
+ "name": "Orílẹ́ède Panama"
+ },
+ "PY": {
+ "name": "Orílẹ́ède Paraguye"
+ },
+ "PE": {
+ "name": "Orílẹ́ède Peru"
+ },
+ "PM": {
+ "name": "Orílẹ́ède Pẹẹri ati mikuloni"
+ },
+ "PN": {
+ "name": "Orílẹ́ède Pikarini"
+ },
+ "PL": {
+ "name": "Orílẹ́ède Polandi"
+ },
+ "PR": {
+ "name": "Orílẹ́ède Pọto Riko"
+ },
+ "PT": {
+ "name": "Orílẹ́ède Pọtugi"
+ },
+ "RE": {
+ "name": "Orílẹ́ède Riuniyan"
+ },
+ "RO": {
+ "name": "Orílẹ́ède Romaniya"
+ },
+ "RU": {
+ "name": "Orílẹ́ède Rọṣia"
+ },
+ "RW": {
+ "name": "Orílẹ́ède Ruwanda"
+ },
+ "WS": {
+ "name": "Orílẹ́ède Samọ"
+ },
+ "SM": {
+ "name": "Orílẹ́ède Sani Marino"
+ },
+ "ST": {
+ "name": "Orílẹ́ède Sao tomi ati piriiṣipi"
+ },
+ "SZ": {
+ "name": "Orílẹ́ède Saṣiland"
+ },
+ "SA": {
+ "name": "Orílẹ́ède Saudi Arabia"
+ },
+ "SC": {
+ "name": "Orílẹ́ède seṣẹlẹsi"
+ },
+ "SN": {
+ "name": "Orílẹ́ède Sẹnẹga"
+ },
+ "SK": {
+ "name": "Orílẹ́ède Silofakia"
+ },
+ "SI": {
+ "name": "Orílẹ́ède Silofania"
+ },
+ "SG": {
+ "name": "Orílẹ́ède Singapo"
+ },
+ "ES": {
+ "name": "Orílẹ́ède Sipani"
+ },
+ "LK": {
+ "name": "Orílẹ́ède Siri Lanka"
+ },
+ "SY": {
+ "name": "Orílẹ́ède Siria"
+ },
+ "SL": {
+ "name": "Orílẹ́ède Siria looni"
+ },
+ "SO": {
+ "name": "Orílẹ́ède Somalia"
+ },
+ "SD": {
+ "name": "Orílẹ́ède Sudani"
+ },
+ "SR": {
+ "name": "Orílẹ́ède Surinami"
+ },
+ "SE": {
+ "name": "Orílẹ́ède Swidini"
+ },
+ "CH": {
+ "name": "Orílẹ́ède switiṣilandi"
+ },
+ "TD": {
+ "name": "Orílẹ́ède ṣààdì"
+ },
+ "CN": {
+ "name": "Orílẹ́ède ṣáínà"
+ },
+ "ZM": {
+ "name": "Orílẹ́ède ṣamibia"
+ },
+ "CZ": {
+ "name": "Orílẹ́ède ṣẹ́ẹ́kì"
+ },
+ "NZ": {
+ "name": "Orílẹ́ède ṣilandi Titun"
+ },
+ "CL": {
+ "name": "Orílẹ́ède ṣílè"
+ },
+ "ZW": {
+ "name": "Orílẹ́ède ṣimibabe"
+ },
+ "TH": {
+ "name": "Orílẹ́ède Tailandi"
+ },
+ "TW": {
+ "name": "Orílẹ́ède Taiwani"
+ },
+ "TJ": {
+ "name": "Orílẹ́ède Takisitani"
+ },
+ "TZ": {
+ "name": "Orílẹ́ède Tanṣania"
+ },
+ "TT": {
+ "name": "Orílẹ́ède Tirinida ati Tobaga"
+ },
+ "TG": {
+ "name": "Orílẹ́ède Togo"
+ },
+ "TK": {
+ "name": "Orílẹ́ède Tokelau"
+ },
+ "TO": {
+ "name": "Orílẹ́ède Tonga"
+ },
+ "TR": {
+ "name": "Orílẹ́ède Tọọki"
+ },
+ "TC": {
+ "name": "Orílẹ́ède Tọọki ati Etikun Kakọsi"
+ },
+ "TM": {
+ "name": "Orílẹ́ède Tọọkimenisita"
+ },
+ "TV": {
+ "name": "Orílẹ́ède Tufalu"
+ },
+ "TN": {
+ "name": "Orílẹ́ède Tuniṣia"
+ },
+ "UG": {
+ "name": "Orílẹ́ède Uganda"
+ },
+ "UA": {
+ "name": "Orílẹ́ède Ukarini"
+ },
+ "WF": {
+ "name": "Orílẹ́ède Wali ati futuna"
+ },
+ "YE": {
+ "name": "Orílẹ́ède yemeni"
+ },
+ "AS": {
+ "name": "Sámóánì ti Orílẹ́ède Àméríkà"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/yue.json b/vendor/commerceguys/intl/resources/country/yue.json
new file mode 100644
index 000000000..fd836461a
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/yue.json
@@ -0,0 +1,761 @@
+{
+ "BT": {
+ "name": "不丹"
+ },
+ "CN": {
+ "name": "中華人民共和國"
+ },
+ "MO": {
+ "name": "中華人民共和國澳門特別行政區"
+ },
+ "HK": {
+ "name": "中華人民共和國香港特別行政區"
+ },
+ "CF": {
+ "name": "中非共和國"
+ },
+ "DK": {
+ "name": "丹麥"
+ },
+ "AZ": {
+ "name": "亞塞拜然"
+ },
+ "AM": {
+ "name": "亞美尼亞"
+ },
+ "IL": {
+ "name": "以色列"
+ },
+ "IQ": {
+ "name": "伊拉克"
+ },
+ "IR": {
+ "name": "伊朗"
+ },
+ "EA": {
+ "name": "休達與梅利利亞"
+ },
+ "RU": {
+ "name": "俄羅斯"
+ },
+ "BG": {
+ "name": "保加利亞"
+ },
+ "HR": {
+ "name": "克羅埃西亞"
+ },
+ "IS": {
+ "name": "冰島"
+ },
+ "LI": {
+ "name": "列支敦斯登"
+ },
+ "LY": {
+ "name": "利比亞"
+ },
+ "CG": {
+ "name": "剛果(布拉薩)"
+ },
+ "CD": {
+ "name": "剛果(金夏沙)"
+ },
+ "GA": {
+ "name": "加彭"
+ },
+ "CA": {
+ "name": "加拿大"
+ },
+ "IC": {
+ "name": "加那利群島"
+ },
+ "HU": {
+ "name": "匈牙利"
+ },
+ "KP": {
+ "name": "北韓"
+ },
+ "MP": {
+ "name": "北馬里亞納群島"
+ },
+ "TT": {
+ "name": "千里達同多巴哥"
+ },
+ "GS": {
+ "name": "南佐治亞島同南桑威奇群島"
+ },
+ "AQ": {
+ "name": "南極洲"
+ },
+ "SS": {
+ "name": "南蘇丹"
+ },
+ "ZA": {
+ "name": "南非"
+ },
+ "KR": {
+ "name": "南韓"
+ },
+ "QA": {
+ "name": "卡達"
+ },
+ "ID": {
+ "name": "印尼"
+ },
+ "IN": {
+ "name": "印度"
+ },
+ "ER": {
+ "name": "厄利垂亞"
+ },
+ "EC": {
+ "name": "厄瓜多"
+ },
+ "CU": {
+ "name": "古巴"
+ },
+ "TW": {
+ "name": "台灣"
+ },
+ "SZ": {
+ "name": "史瓦濟蘭"
+ },
+ "DJ": {
+ "name": "吉布地"
+ },
+ "KG": {
+ "name": "吉爾吉斯"
+ },
+ "KI": {
+ "name": "吉里巴斯"
+ },
+ "TV": {
+ "name": "吐瓦魯"
+ },
+ "KZ": {
+ "name": "哈薩克"
+ },
+ "CO": {
+ "name": "哥倫比亞"
+ },
+ "CR": {
+ "name": "哥斯大黎加"
+ },
+ "CM": {
+ "name": "喀麥隆"
+ },
+ "GE": {
+ "name": "喬治亞共和國"
+ },
+ "TC": {
+ "name": "土克斯及開科斯群島"
+ },
+ "TM": {
+ "name": "土庫曼"
+ },
+ "TR": {
+ "name": "土耳其"
+ },
+ "TZ": {
+ "name": "坦尚尼亞"
+ },
+ "EG": {
+ "name": "埃及"
+ },
+ "TJ": {
+ "name": "塔吉克"
+ },
+ "SN": {
+ "name": "塞內加爾"
+ },
+ "SC": {
+ "name": "塞席爾"
+ },
+ "RS": {
+ "name": "塞爾維亞"
+ },
+ "TG": {
+ "name": "多哥"
+ },
+ "DO": {
+ "name": "多明尼加共和國"
+ },
+ "DM": {
+ "name": "多米尼克"
+ },
+ "NG": {
+ "name": "奈及利亞"
+ },
+ "AT": {
+ "name": "奧地利"
+ },
+ "AX": {
+ "name": "奧蘭群島"
+ },
+ "VE": {
+ "name": "委內瑞拉"
+ },
+ "BD": {
+ "name": "孟加拉"
+ },
+ "AO": {
+ "name": "安哥拉"
+ },
+ "AI": {
+ "name": "安圭拉"
+ },
+ "AG": {
+ "name": "安提瓜同巴布達"
+ },
+ "AD": {
+ "name": "安道爾"
+ },
+ "HN": {
+ "name": "宏都拉斯"
+ },
+ "FM": {
+ "name": "密克羅尼西亞群島"
+ },
+ "LA": {
+ "name": "寮國"
+ },
+ "ZM": {
+ "name": "尚比亞"
+ },
+ "NI": {
+ "name": "尼加拉瓜"
+ },
+ "NE": {
+ "name": "尼日"
+ },
+ "NP": {
+ "name": "尼泊爾"
+ },
+ "PS": {
+ "name": "巴勒斯坦自治區"
+ },
+ "BS": {
+ "name": "巴哈馬"
+ },
+ "PK": {
+ "name": "巴基斯坦"
+ },
+ "PG": {
+ "name": "巴布亞紐幾內亞"
+ },
+ "PY": {
+ "name": "巴拉圭"
+ },
+ "PA": {
+ "name": "巴拿馬"
+ },
+ "BH": {
+ "name": "巴林"
+ },
+ "BR": {
+ "name": "巴西"
+ },
+ "BB": {
+ "name": "巴貝多"
+ },
+ "BF": {
+ "name": "布吉納法索"
+ },
+ "GR": {
+ "name": "希臘"
+ },
+ "PW": {
+ "name": "帛琉"
+ },
+ "GN": {
+ "name": "幾內亞"
+ },
+ "GW": {
+ "name": "幾內亞比索"
+ },
+ "CK": {
+ "name": "庫克群島"
+ },
+ "CW": {
+ "name": "庫拉索"
+ },
+ "DE": {
+ "name": "德國"
+ },
+ "EE": {
+ "name": "愛沙尼亞"
+ },
+ "IE": {
+ "name": "愛爾蘭"
+ },
+ "TK": {
+ "name": "托克勞群島"
+ },
+ "LV": {
+ "name": "拉脫維亞"
+ },
+ "NO": {
+ "name": "挪威"
+ },
+ "CZ": {
+ "name": "捷克共和國"
+ },
+ "MA": {
+ "name": "摩洛哥"
+ },
+ "MD": {
+ "name": "摩爾多瓦"
+ },
+ "MC": {
+ "name": "摩納哥"
+ },
+ "SY": {
+ "name": "敘利亞"
+ },
+ "FJ": {
+ "name": "斐濟"
+ },
+ "SK": {
+ "name": "斯洛伐克"
+ },
+ "SI": {
+ "name": "斯洛維尼亞"
+ },
+ "SJ": {
+ "name": "斯瓦爾巴特群島同揚馬延島"
+ },
+ "LK": {
+ "name": "斯里蘭卡"
+ },
+ "SG": {
+ "name": "新加坡"
+ },
+ "NC": {
+ "name": "新喀里多尼亞"
+ },
+ "JP": {
+ "name": "日本"
+ },
+ "CL": {
+ "name": "智利"
+ },
+ "IM": {
+ "name": "曼島"
+ },
+ "TO": {
+ "name": "東加"
+ },
+ "TL": {
+ "name": "東帝汶"
+ },
+ "TD": {
+ "name": "查德"
+ },
+ "KH": {
+ "name": "柬埔寨"
+ },
+ "GG": {
+ "name": "根西島"
+ },
+ "GD": {
+ "name": "格瑞那達"
+ },
+ "GL": {
+ "name": "格陵蘭"
+ },
+ "VA": {
+ "name": "梵蒂岡"
+ },
+ "MU": {
+ "name": "模里西斯"
+ },
+ "BE": {
+ "name": "比利時"
+ },
+ "BN": {
+ "name": "汶萊"
+ },
+ "SA": {
+ "name": "沙烏地阿拉伯"
+ },
+ "FR": {
+ "name": "法國"
+ },
+ "TF": {
+ "name": "法屬南方屬地"
+ },
+ "GF": {
+ "name": "法屬圭亞那"
+ },
+ "PF": {
+ "name": "法屬玻里尼西亞"
+ },
+ "MF": {
+ "name": "法屬聖馬丁"
+ },
+ "FO": {
+ "name": "法羅群島"
+ },
+ "PR": {
+ "name": "波多黎各"
+ },
+ "BA": {
+ "name": "波斯尼亞同黑塞哥維那"
+ },
+ "BW": {
+ "name": "波札那"
+ },
+ "PL": {
+ "name": "波蘭"
+ },
+ "TH": {
+ "name": "泰國"
+ },
+ "HT": {
+ "name": "海地"
+ },
+ "JE": {
+ "name": "澤西島"
+ },
+ "AU": {
+ "name": "澳洲"
+ },
+ "UA": {
+ "name": "烏克蘭"
+ },
+ "UG": {
+ "name": "烏干達"
+ },
+ "UY": {
+ "name": "烏拉圭"
+ },
+ "UZ": {
+ "name": "烏茲別克"
+ },
+ "JM": {
+ "name": "牙買加"
+ },
+ "TA": {
+ "name": "特里斯坦達庫尼亞群島"
+ },
+ "SL": {
+ "name": "獅子山"
+ },
+ "BO": {
+ "name": "玻利維亞"
+ },
+ "SE": {
+ "name": "瑞典"
+ },
+ "CH": {
+ "name": "瑞士"
+ },
+ "GP": {
+ "name": "瓜地洛普"
+ },
+ "GT": {
+ "name": "瓜地馬拉"
+ },
+ "WF": {
+ "name": "瓦利斯同富圖納群島"
+ },
+ "GM": {
+ "name": "甘比亞"
+ },
+ "RE": {
+ "name": "留尼旺"
+ },
+ "BY": {
+ "name": "白俄羅斯"
+ },
+ "BM": {
+ "name": "百慕達"
+ },
+ "PN": {
+ "name": "皮特肯群島"
+ },
+ "RW": {
+ "name": "盧安達"
+ },
+ "LU": {
+ "name": "盧森堡"
+ },
+ "GI": {
+ "name": "直布羅陀"
+ },
+ "FK": {
+ "name": "福克蘭群島"
+ },
+ "VU": {
+ "name": "萬那杜"
+ },
+ "KW": {
+ "name": "科威特"
+ },
+ "CC": {
+ "name": "科科斯(基林)群島"
+ },
+ "XK": {
+ "name": "科索沃"
+ },
+ "PE": {
+ "name": "秘魯"
+ },
+ "TN": {
+ "name": "突尼西亞"
+ },
+ "LT": {
+ "name": "立陶宛"
+ },
+ "JO": {
+ "name": "約旦"
+ },
+ "NA": {
+ "name": "納米比亞"
+ },
+ "NU": {
+ "name": "紐埃島"
+ },
+ "NZ": {
+ "name": "紐西蘭"
+ },
+ "SB": {
+ "name": "索羅門群島"
+ },
+ "SO": {
+ "name": "索馬利亞"
+ },
+ "CV": {
+ "name": "維德角"
+ },
+ "MM": {
+ "name": "緬甸"
+ },
+ "RO": {
+ "name": "羅馬尼亞"
+ },
+ "US": {
+ "name": "美國"
+ },
+ "UM": {
+ "name": "美國本土外小島嶼"
+ },
+ "VI": {
+ "name": "美屬維京群島"
+ },
+ "AS": {
+ "name": "美屬薩摩亞"
+ },
+ "IT": {
+ "name": "義大利"
+ },
+ "KN": {
+ "name": "聖基茨同尼維斯"
+ },
+ "ST": {
+ "name": "聖多美同普林西比"
+ },
+ "BL": {
+ "name": "聖巴瑟米"
+ },
+ "VC": {
+ "name": "聖文森特同格林納丁斯"
+ },
+ "PM": {
+ "name": "聖皮埃爾同密克隆群島"
+ },
+ "CX": {
+ "name": "聖誕島"
+ },
+ "SH": {
+ "name": "聖赫勒拿島"
+ },
+ "LC": {
+ "name": "聖露西亞"
+ },
+ "SM": {
+ "name": "聖馬利諾"
+ },
+ "KE": {
+ "name": "肯亞"
+ },
+ "FI": {
+ "name": "芬蘭"
+ },
+ "GB": {
+ "name": "英國"
+ },
+ "IO": {
+ "name": "英屬印度洋領地"
+ },
+ "VG": {
+ "name": "英屬維京群島"
+ },
+ "MR": {
+ "name": "茅利塔尼亞"
+ },
+ "SX": {
+ "name": "荷屬聖馬丁"
+ },
+ "AW": {
+ "name": "荷屬阿魯巴"
+ },
+ "NL": {
+ "name": "荷蘭"
+ },
+ "BQ": {
+ "name": "荷蘭加勒比區"
+ },
+ "MZ": {
+ "name": "莫三比克"
+ },
+ "PH": {
+ "name": "菲律賓"
+ },
+ "YE": {
+ "name": "葉門"
+ },
+ "KM": {
+ "name": "葛摩"
+ },
+ "PT": {
+ "name": "葡萄牙"
+ },
+ "MN": {
+ "name": "蒙古"
+ },
+ "MS": {
+ "name": "蒙哲臘"
+ },
+ "ME": {
+ "name": "蒙特內哥羅"
+ },
+ "BI": {
+ "name": "蒲隆地"
+ },
+ "GY": {
+ "name": "蓋亞那"
+ },
+ "WS": {
+ "name": "薩摩亞"
+ },
+ "SV": {
+ "name": "薩爾瓦多"
+ },
+ "SD": {
+ "name": "蘇丹"
+ },
+ "SR": {
+ "name": "蘇利南"
+ },
+ "ET": {
+ "name": "衣索比亞"
+ },
+ "EH": {
+ "name": "西撒哈拉"
+ },
+ "ES": {
+ "name": "西班牙"
+ },
+ "NF": {
+ "name": "諾福克島"
+ },
+ "NR": {
+ "name": "諾魯"
+ },
+ "CI": {
+ "name": "象牙海岸"
+ },
+ "BJ": {
+ "name": "貝南"
+ },
+ "BZ": {
+ "name": "貝里斯"
+ },
+ "LR": {
+ "name": "賴比瑞亞"
+ },
+ "LS": {
+ "name": "賴索托"
+ },
+ "CY": {
+ "name": "賽普勒斯"
+ },
+ "GQ": {
+ "name": "赤道幾內亞"
+ },
+ "VN": {
+ "name": "越南"
+ },
+ "ZW": {
+ "name": "辛巴威"
+ },
+ "GH": {
+ "name": "迦納"
+ },
+ "DG": {
+ "name": "迪亞哥加西亞島"
+ },
+ "KY": {
+ "name": "開曼群島"
+ },
+ "GU": {
+ "name": "關島"
+ },
+ "AF": {
+ "name": "阿富汗"
+ },
+ "AE": {
+ "name": "阿拉伯聯合大公國"
+ },
+ "OM": {
+ "name": "阿曼王國"
+ },
+ "AR": {
+ "name": "阿根廷"
+ },
+ "AC": {
+ "name": "阿森松島"
+ },
+ "DZ": {
+ "name": "阿爾及利亞"
+ },
+ "AL": {
+ "name": "阿爾巴尼亞"
+ },
+ "MQ": {
+ "name": "馬丁尼克島"
+ },
+ "MY": {
+ "name": "馬來西亞"
+ },
+ "MK": {
+ "name": "馬其頓"
+ },
+ "ML": {
+ "name": "馬利"
+ },
+ "MW": {
+ "name": "馬拉威"
+ },
+ "MT": {
+ "name": "馬爾他"
+ },
+ "MV": {
+ "name": "馬爾地夫"
+ },
+ "YT": {
+ "name": "馬約特"
+ },
+ "MH": {
+ "name": "馬紹爾群島"
+ },
+ "MG": {
+ "name": "馬達加斯加"
+ },
+ "LB": {
+ "name": "黎巴嫩"
+ },
+ "MX": {
+ "name": "墨西哥"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/zgh.json b/vendor/commerceguys/intl/resources/country/zgh.json
new file mode 100644
index 000000000..53cc57f63
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/zgh.json
@@ -0,0 +1,761 @@
+{
+ "AX": {
+ "name": "Åland Islands"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "PS": {
+ "name": "ⴰⴳⵎⵎⴰⴹ ⵏ ⵜⴰⴳⵓⵜ ⴷ ⵖⵣⵣⴰ"
+ },
+ "AZ": {
+ "name": "ⴰⴷⵔⴰⴱⵉⵊⴰⵏ"
+ },
+ "GI": {
+ "name": "ⴰⴷⵔⴰⵔ ⵏ ⵟⴰⵕⵉⵇ"
+ },
+ "ZA": {
+ "name": "ⴰⴼⵔⵉⵇⵢⴰ ⵏ ⵉⴼⴼⵓⵙ"
+ },
+ "AF": {
+ "name": "ⴰⴼⵖⴰⵏⵉⵙⵜⴰⵏ"
+ },
+ "AL": {
+ "name": "ⴰⵍⴱⴰⵏⵢⴰ"
+ },
+ "DE": {
+ "name": "ⴰⵍⵎⴰⵏⵢⴰ"
+ },
+ "AI": {
+ "name": "ⴰⵏⴳⵉⵍⴰ"
+ },
+ "AO": {
+ "name": "ⴰⵏⴳⵓⵍⴰ"
+ },
+ "ID": {
+ "name": "ⴰⵏⴷⵓⵏⵉⵙⵢⴰ"
+ },
+ "AD": {
+ "name": "ⴰⵏⴷⵓⵔⴰ"
+ },
+ "AG": {
+ "name": "ⴰⵏⵜⵉⴳⴰ ⴷ ⴱⵔⴱⵓⴷⴰ"
+ },
+ "AR": {
+ "name": "ⴰⵔⵊⴰⵏⵜⵉⵏ"
+ },
+ "AM": {
+ "name": "ⴰⵔⵎⵉⵏⵢⴰ"
+ },
+ "AW": {
+ "name": "ⴰⵔⵓⴱⴰ"
+ },
+ "VA": {
+ "name": "ⴰⵡⴰⵏⴽ ⵏ ⴼⴰⵜⵉⴽⴰⵏ"
+ },
+ "PG": {
+ "name": "ⴱⴰⴱⵡⴰ ⵖⵉⵏⵢⴰ ⵜⴰⵎⴰⵢⵏⵓⵜ"
+ },
+ "PK": {
+ "name": "ⴱⴰⴽⵉⵙⵜⴰⵏ"
+ },
+ "BS": {
+ "name": "ⴱⴰⵀⴰⵎⴰⵙ"
+ },
+ "PW": {
+ "name": "ⴱⴰⵍⴰⵡ"
+ },
+ "PA": {
+ "name": "ⴱⴰⵏⴰⵎⴰ"
+ },
+ "BD": {
+ "name": "ⴱⴰⵏⴳⵍⴰⴷⵉⵛ"
+ },
+ "PY": {
+ "name": "ⴱⴰⵔⴰⴳⵡⴰⵢ"
+ },
+ "BB": {
+ "name": "ⴱⴰⵔⴱⴰⴷ"
+ },
+ "BT": {
+ "name": "ⴱⵀⵓⵜⴰⵏ"
+ },
+ "BH": {
+ "name": "ⴱⵃⵔⴰⵢⵏ"
+ },
+ "BY": {
+ "name": "ⴱⵉⵍⴰⵔⵓⵙⵢⴰ"
+ },
+ "BZ": {
+ "name": "ⴱⵉⵍⵉⵣ"
+ },
+ "BJ": {
+ "name": "ⴱⵉⵏⵉⵏ"
+ },
+ "PE": {
+ "name": "ⴱⵉⵔⵓ"
+ },
+ "PN": {
+ "name": "ⴱⵉⵜⴽⴰⵢⵔⵏ"
+ },
+ "BE": {
+ "name": "ⴱⵍⵊⵉⴽⴰ"
+ },
+ "BG": {
+ "name": "ⴱⵍⵖⴰⵔⵢⴰ"
+ },
+ "BO": {
+ "name": "ⴱⵓⵍⵉⴱⵢⴰ"
+ },
+ "PF": {
+ "name": "ⴱⵓⵍⵉⵏⵉⵣⵢⴰ ⵜⴰⴼⵔⴰⵏⵙⵉⵙⵜ"
+ },
+ "PL": {
+ "name": "ⴱⵓⵍⵓⵏⵢⴰ"
+ },
+ "BF": {
+ "name": "ⴱⵓⵔⴽⵉⵏⴰ ⴼⴰⵙⵓ"
+ },
+ "BI": {
+ "name": "ⴱⵓⵔⵓⵏⴷⵉ"
+ },
+ "PR": {
+ "name": "ⴱⵓⵔⵜⵓ ⵔⵉⴽⵓ"
+ },
+ "BA": {
+ "name": "ⴱⵓⵙⵏⴰ ⴷ ⵀⵉⵔⵙⵉⴽ"
+ },
+ "BW": {
+ "name": "ⴱⵓⵜⵙⵡⴰⵏⴰ"
+ },
+ "BR": {
+ "name": "ⴱⵔⴰⵣⵉⵍ"
+ },
+ "BM": {
+ "name": "ⴱⵔⵎⵓⴷⴰ"
+ },
+ "BN": {
+ "name": "ⴱⵔⵓⵏⵉ"
+ },
+ "PT": {
+ "name": "ⴱⵕⵟⵇⵉⵣ"
+ },
+ "GA": {
+ "name": "ⴳⴰⴱⵓⵏ"
+ },
+ "GM": {
+ "name": "ⴳⴰⵎⴱⵢⴰ"
+ },
+ "GL": {
+ "name": "ⴳⵔⵉⵍⴰⵏⴷ"
+ },
+ "GP": {
+ "name": "ⴳⵡⴰⴷⴰⵍⵓⴱ"
+ },
+ "GU": {
+ "name": "ⴳⵡⴰⵎ"
+ },
+ "GT": {
+ "name": "ⴳⵡⴰⵜⵉⵎⴰⵍⴰ"
+ },
+ "GF": {
+ "name": "ⴳⵡⵉⵢⴰⵏ ⵜⴰⴼⵔⴰⵏⵙⵉⵙⵜ"
+ },
+ "GY": {
+ "name": "ⴳⵡⵉⵢⴰⵏⴰ"
+ },
+ "DK": {
+ "name": "ⴷⴰⵏⵎⴰⵔⴽ"
+ },
+ "DJ": {
+ "name": "ⴷⵊⵉⴱⵓⵜⵉ"
+ },
+ "DM": {
+ "name": "ⴷⵓⵎⵉⵏⵉⴽ"
+ },
+ "DZ": {
+ "name": "ⴷⵣⴰⵢⵔ"
+ },
+ "VU": {
+ "name": "ⴼⴰⵏⵡⴰⵟⵓ"
+ },
+ "FJ": {
+ "name": "ⴼⵉⴷⵊⵉ"
+ },
+ "PH": {
+ "name": "ⴼⵉⵍⵉⴱⴱⵉⵏ"
+ },
+ "FI": {
+ "name": "ⴼⵉⵍⵍⴰⵏⴷⴰ"
+ },
+ "VE": {
+ "name": "ⴼⵉⵏⵣⵡⵉⵍⴰ"
+ },
+ "VN": {
+ "name": "ⴼⵉⵜⵏⴰⵎ"
+ },
+ "FR": {
+ "name": "ⴼⵔⴰⵏⵙⴰ"
+ },
+ "NC": {
+ "name": "ⴽⴰⵍⵉⴷⵓⵏⵢⴰ ⵜⴰⵎⴰⵢⵏⵓⵜ"
+ },
+ "KH": {
+ "name": "ⴽⴰⵎⴱⵓⴷⵢⴰ"
+ },
+ "CM": {
+ "name": "ⴽⴰⵎⵉⵔⵓⵏ"
+ },
+ "CA": {
+ "name": "ⴽⴰⵏⴰⴷⴰ"
+ },
+ "KZ": {
+ "name": "ⴽⴰⵣⴰⵅⵙⵜⴰⵏ"
+ },
+ "KE": {
+ "name": "ⴽⵉⵏⵢⴰ"
+ },
+ "KI": {
+ "name": "ⴽⵉⵔⵉⴱⴰⵜⵉ"
+ },
+ "KG": {
+ "name": "ⴽⵉⵔⵖⵉⵣⵉⵙⵜⴰⵏ"
+ },
+ "CU": {
+ "name": "ⴽⵓⴱⴰ"
+ },
+ "CO": {
+ "name": "ⴽⵓⵍⵓⵎⴱⵢⴰ"
+ },
+ "CG": {
+ "name": "ⴽⵓⵏⴳⵓ"
+ },
+ "KR": {
+ "name": "ⴽⵓⵔⵢⴰ ⵏ ⵉⴼⴼⵓⵙ"
+ },
+ "KP": {
+ "name": "ⴽⵓⵔⵢⴰ ⵏ ⵉⵥⵥⵍⵎⴹ"
+ },
+ "CR": {
+ "name": "ⴽⵓⵙⵜⴰ ⵔⵉⴽⴰ"
+ },
+ "CI": {
+ "name": "ⴽⵓⵜ ⴷⵉⴼⵡⴰⵔ"
+ },
+ "HR": {
+ "name": "ⴽⵔⵡⴰⵜⵢⴰ"
+ },
+ "HT": {
+ "name": "ⵀⴰⵢⵜⵉ"
+ },
+ "HU": {
+ "name": "ⵀⵏⵖⴰⵔⵢⴰ"
+ },
+ "NL": {
+ "name": "ⵀⵓⵍⴰⵏⴷⴰ"
+ },
+ "HN": {
+ "name": "ⵀⵓⵏⴷⵓⵔⴰⵙ"
+ },
+ "OM": {
+ "name": "ⵄⵓⵎⴰⵏ"
+ },
+ "QA": {
+ "name": "ⵇⴰⵜⴰⵔ"
+ },
+ "CY": {
+ "name": "ⵇⵓⴱⵔⵓⵙ"
+ },
+ "KM": {
+ "name": "ⵇⵓⵎⵓⵔ"
+ },
+ "EC": {
+ "name": "ⵉⴽⵡⴰⴷⵓⵔ"
+ },
+ "IR": {
+ "name": "ⵉⵔⴰⵏ"
+ },
+ "ER": {
+ "name": "ⵉⵔⵉⵜⵉⵔⵢⴰ"
+ },
+ "IE": {
+ "name": "ⵉⵔⵍⴰⵏⴷⴰ"
+ },
+ "IS": {
+ "name": "ⵉⵙⵍⴰⵏⴷ"
+ },
+ "IL": {
+ "name": "ⵉⵙⵔⴰⵢⵉⵍ"
+ },
+ "EE": {
+ "name": "ⵉⵙⵜⵓⵏⵢⴰ"
+ },
+ "ET": {
+ "name": "ⵉⵜⵢⵓⴱⵢⴰ"
+ },
+ "IT": {
+ "name": "ⵉⵟⴰⵍⵢⴰ"
+ },
+ "US": {
+ "name": "ⵉⵡⵓⵏⴰⴽ ⵎⵓⵏⵏⵉⵏ ⵏ ⵎⵉⵔⵉⴽⴰⵏ"
+ },
+ "JM": {
+ "name": "ⵊⴰⵎⴰⵢⴽⴰ"
+ },
+ "GE": {
+ "name": "ⵊⵓⵔⵊⵢⴰ"
+ },
+ "LV": {
+ "name": "ⵍⴰⵜⴼⵢⴰ"
+ },
+ "LA": {
+ "name": "ⵍⴰⵡⵙ"
+ },
+ "KW": {
+ "name": "ⵍⴽⵡⵉⵜ"
+ },
+ "IN": {
+ "name": "ⵍⵀⵉⵏⴷ"
+ },
+ "IQ": {
+ "name": "ⵍⵄⵉⵔⴰⵇ"
+ },
+ "LR": {
+ "name": "ⵍⵉⴱⵉⵔⵢⴰ"
+ },
+ "LY": {
+ "name": "ⵍⵉⴱⵢⴰ"
+ },
+ "LI": {
+ "name": "ⵍⵉⴽⵉⵏⵛⵜⴰⵢⵏ"
+ },
+ "AE": {
+ "name": "ⵍⵉⵎⴰⵔⴰⵜ"
+ },
+ "LS": {
+ "name": "ⵍⵉⵚⵓⵟⵓ"
+ },
+ "LT": {
+ "name": "ⵍⵉⵜⵡⴰⵏⵢⴰ"
+ },
+ "MA": {
+ "name": "ⵍⵎⵖⵔⵉⴱ"
+ },
+ "LB": {
+ "name": "ⵍⵓⴱⵏⴰⵏ"
+ },
+ "LU": {
+ "name": "ⵍⵓⴽⵙⴰⵏⴱⵓⵔⴳ"
+ },
+ "JO": {
+ "name": "ⵍⵓⵔⴷⵓⵏ"
+ },
+ "JP": {
+ "name": "ⵍⵢⴰⴱⴰⵏ"
+ },
+ "GR": {
+ "name": "ⵍⵢⵓⵏⴰⵏ"
+ },
+ "MG": {
+ "name": "ⵎⴰⴷⴰⵖⴰⵛⵇⴰⵔ"
+ },
+ "MW": {
+ "name": "ⵎⴰⵍⴰⵡⵉ"
+ },
+ "MV": {
+ "name": "ⵎⴰⵍⴷⵉⴼ"
+ },
+ "ML": {
+ "name": "ⵎⴰⵍⵉ"
+ },
+ "MY": {
+ "name": "ⵎⴰⵍⵉⵣⵢⴰ"
+ },
+ "MT": {
+ "name": "ⵎⴰⵍⵟⴰ"
+ },
+ "MQ": {
+ "name": "ⵎⴰⵔⵜⵉⵏⵉⴽ"
+ },
+ "MK": {
+ "name": "ⵎⴰⵙⵉⴷⵓⵏⵢⴰ"
+ },
+ "YT": {
+ "name": "ⵎⴰⵢⵓⵟ"
+ },
+ "FM": {
+ "name": "ⵎⵉⴽⵔⵓⵏⵉⵣⵢⴰ"
+ },
+ "MX": {
+ "name": "ⵎⵉⴽⵙⵉⴽ"
+ },
+ "EG": {
+ "name": "ⵎⵉⵚⵕ"
+ },
+ "MN": {
+ "name": "ⵎⵏⵖⵓⵍⵢⴰ"
+ },
+ "MD": {
+ "name": "ⵎⵓⵍⴷⵓⴼⵢⴰ"
+ },
+ "MC": {
+ "name": "ⵎⵓⵏⴰⴽⵓ"
+ },
+ "MS": {
+ "name": "ⵎⵓⵏⵙⵉⵔⴰⵜ"
+ },
+ "ME": {
+ "name": "ⵎⵓⵏⵜⵉⵏⵉⴳⵔⵓ"
+ },
+ "MU": {
+ "name": "ⵎⵓⵔⵉⵙ"
+ },
+ "MR": {
+ "name": "ⵎⵓⵕⵉⵟⴰⵏⵢⴰ"
+ },
+ "MZ": {
+ "name": "ⵎⵓⵣⵏⴱⵉⵇ"
+ },
+ "MM": {
+ "name": "ⵎⵢⴰⵏⵎⴰⵔ"
+ },
+ "NA": {
+ "name": "ⵏⴰⵎⵉⴱⵢⴰ"
+ },
+ "NR": {
+ "name": "ⵏⴰⵡⵔⵓ"
+ },
+ "NP": {
+ "name": "ⵏⵉⴱⴰⵍ"
+ },
+ "NI": {
+ "name": "ⵏⵉⴽⴰⵔⴰⴳⵡⴰ"
+ },
+ "NG": {
+ "name": "ⵏⵉⵊⵉⵔⵢⴰ"
+ },
+ "NU": {
+ "name": "ⵏⵉⵡⵉ"
+ },
+ "NE": {
+ "name": "ⵏⵏⵉⵊⵉⵔ"
+ },
+ "AT": {
+ "name": "ⵏⵏⵎⵙⴰ"
+ },
+ "NO": {
+ "name": "ⵏⵏⵔⵡⵉⵊ"
+ },
+ "NZ": {
+ "name": "ⵏⵢⵓⵣⵉⵍⴰⵏⴷⴰ"
+ },
+ "UA": {
+ "name": "ⵓⴽⵔⴰⵏⵢⴰ"
+ },
+ "UY": {
+ "name": "ⵓⵔⵓⴳⵡⴰⵢ"
+ },
+ "UG": {
+ "name": "ⵓⵖⴰⵏⴷⴰ"
+ },
+ "AU": {
+ "name": "ⵓⵙⵜⵔⴰⵍⵢⴰ"
+ },
+ "UZ": {
+ "name": "ⵓⵣⴱⴰⴽⵉⵙⵜⴰⵏ"
+ },
+ "RE": {
+ "name": "ⵔⵉⵢⵓⵏⵢⵓⵏ"
+ },
+ "RO": {
+ "name": "ⵔⵓⵎⴰⵏⵢⴰ"
+ },
+ "RU": {
+ "name": "ⵔⵓⵙⵢⴰ"
+ },
+ "RW": {
+ "name": "ⵔⵡⴰⵏⴷⴰ"
+ },
+ "GH": {
+ "name": "ⵖⴰⵏⴰ"
+ },
+ "GN": {
+ "name": "ⵖⵉⵏⵢⴰ"
+ },
+ "GW": {
+ "name": "ⵖⵉⵏⵢⴰ ⴱⵉⵙⴰⵡ"
+ },
+ "GQ": {
+ "name": "ⵖⵉⵏⵢⴰ ⵏ ⵉⴽⵡⴰⴷⵓⵔ"
+ },
+ "GD": {
+ "name": "ⵖⵔⵏⴰⵟⴰ"
+ },
+ "SV": {
+ "name": "ⵙⴰⵍⴼⴰⴷⵓⵔ"
+ },
+ "WS": {
+ "name": "ⵙⴰⵎⵡⴰ"
+ },
+ "AS": {
+ "name": "ⵙⴰⵎⵡⴰ ⵜⴰⵎⵉⵔⵉⴽⴰⵏⵉⵜ"
+ },
+ "PM": {
+ "name": "ⵙⴰⵏⴱⵢⵉⵔ ⴷ ⵎⵉⴽⵍⵓⵏ"
+ },
+ "VC": {
+ "name": "ⵙⴰⵏⴼⴰⵏⵙⴰⵏ ⴷ ⴳⵔⵉⵏⴰⴷⵉⵏ"
+ },
+ "KN": {
+ "name": "ⵙⴰⵏⴽⵔⵉⵙ ⴷ ⵏⵉⴼⵉⵙ"
+ },
+ "SM": {
+ "name": "ⵙⴰⵏⵎⴰⵔⵉⵏⵓ"
+ },
+ "SH": {
+ "name": "ⵙⴰⵏⵜⵉⵍⵉⵏ"
+ },
+ "LC": {
+ "name": "ⵙⴰⵏⵜⵍⵓⵙⵉ"
+ },
+ "ST": {
+ "name": "ⵙⴰⵡⵟⵓⵎⵉ ⴷ ⴱⵔⴰⵏⵙⵉⴱ"
+ },
+ "ES": {
+ "name": "ⵙⴱⴰⵏⵢⴰ"
+ },
+ "RS": {
+ "name": "ⵙⵉⵔⴱⵢⴰ"
+ },
+ "SK": {
+ "name": "ⵙⵍⵓⴼⴰⴽⵢⴰ"
+ },
+ "SI": {
+ "name": "ⵙⵍⵓⴼⵉⵏⵢⴰ"
+ },
+ "SG": {
+ "name": "ⵙⵏⵖⴰⴼⵓⵔⴰ"
+ },
+ "SR": {
+ "name": "ⵙⵓⵔⵉⵏⴰⵎ"
+ },
+ "SY": {
+ "name": "ⵙⵓⵔⵢⴰ"
+ },
+ "LK": {
+ "name": "ⵙⵔⵉⵍⴰⵏⴽⴰ"
+ },
+ "SA": {
+ "name": "ⵙⵙⴰⵄⵓⴷⵉⵢⴰ"
+ },
+ "SN": {
+ "name": "ⵙⵙⵉⵏⵉⴳⴰⵍ"
+ },
+ "SL": {
+ "name": "ⵙⵙⵉⵔⴰⵍⵢⵓⵏ"
+ },
+ "SC": {
+ "name": "ⵙⵙⵉⵛⵉⵍ"
+ },
+ "SD": {
+ "name": "ⵙⵙⵓⴷⴰⵏ"
+ },
+ "SS": {
+ "name": "ⵙⵙⵓⴷⴰⵏ ⵏ ⵉⴼⴼⵓⵙ"
+ },
+ "SE": {
+ "name": "ⵙⵙⵡⵉⴷ"
+ },
+ "SZ": {
+ "name": "ⵙⵡⴰⵣⵉⵍⴰⵏⴷⴰ"
+ },
+ "CH": {
+ "name": "ⵙⵡⵉⵙⵔⴰ"
+ },
+ "SO": {
+ "name": "ⵚⵚⵓⵎⴰⵍ"
+ },
+ "CL": {
+ "name": "ⵛⵛⵉⵍⵉ"
+ },
+ "CN": {
+ "name": "ⵛⵛⵉⵏⵡⴰ"
+ },
+ "CD": {
+ "name": "ⵜⴰⴳⴷⵓⴷⴰⵏⵜ ⵜⴰⴷⵉⵎⵓⵇⵔⴰⵜⵉⵜ ⵏ ⴽⵓⵏⴳⵓ"
+ },
+ "DO": {
+ "name": "ⵜⴰⴳⴷⵓⴷⴰⵏⵜ ⵜⴰⴷⵓⵎⵉⵏⵉⴽⵜ"
+ },
+ "CF": {
+ "name": "ⵜⴰⴳⴷⵓⴷⴰⵏⵜ ⵜⴰⵏⴰⵎⵎⴰⵙⵜ ⵏ ⵉⴼⵔⵉⵇⵢⴰ"
+ },
+ "CZ": {
+ "name": "ⵜⴰⴳⴷⵓⴷⴰⵏⵜ ⵜⴰⵜⵛⵉⴽⵉⵜ"
+ },
+ "GB": {
+ "name": "ⵜⴰⴳⵍⴷⵉⵜ ⵉⵎⵓⵏⵏ"
+ },
+ "TJ": {
+ "name": "ⵜⴰⴷⵊⴰⴽⵉⵙⵜⴰⵏ"
+ },
+ "IO": {
+ "name": "ⵜⴰⵎⵏⴰⴹⵜ ⵜⴰⵏⴳⵍⵉⵣⵉⵜ ⵏ ⵓⴳⴰⵔⵓ ⴰⵀⵉⵏⴷⵉ"
+ },
+ "CV": {
+ "name": "ⵜⵉⴳⵣⵉⵔⵉⵏ ⵏ ⴽⴰⴱⴱⵉⵔⴷⵉ"
+ },
+ "KY": {
+ "name": "ⵜⵉⴳⵣⵉⵔⵉⵏ ⵏ ⴽⴰⵢⵎⴰⵏ"
+ },
+ "CK": {
+ "name": "ⵜⵉⴳⵣⵉⵔⵉⵏ ⵏ ⴽⵓⴽ"
+ },
+ "FK": {
+ "name": "ⵜⵉⴳⵣⵉⵔⵉⵏ ⵏ ⵎⴰⵍⴰⵡⵉ"
+ },
+ "MH": {
+ "name": "ⵜⵉⴳⵣⵉⵔⵉⵏ ⵏ ⵎⴰⵔⵛⴰⵍ"
+ },
+ "MP": {
+ "name": "ⵜⵉⴳⵣⵉⵔⵉⵏ ⵏ ⵎⴰⵔⵢⴰⵏ ⵏ ⵉⵥⵥⵍⵎⴹ"
+ },
+ "NF": {
+ "name": "ⵜⵉⴳⵣⵉⵔⵉⵏ ⵏ ⵏⵓⵔⴼⵓⵍⴽ"
+ },
+ "SB": {
+ "name": "ⵜⵉⴳⵣⵉⵔⵉⵏ ⵏ ⵙⴰⵍⵓⵎⴰⵏ"
+ },
+ "TC": {
+ "name": "ⵜⵉⴳⵣⵉⵔⵉⵏ ⵏ ⵜⵓⵔⴽⵢⴰ ⴷ ⴽⴰⵢⴽ"
+ },
+ "VI": {
+ "name": "ⵜⵉⴳⵣⵉⵔⵉⵏ ⵜⵉⵎⴳⴰⴷ ⵏ ⵉⵡⵓⵏⴰⴽ ⵎⵓⵏⵏⵉⵏ"
+ },
+ "VG": {
+ "name": "ⵜⵉⴳⵣⵉⵔⵉⵏ ⵜⵉⵎⴳⴰⴷ ⵏ ⵏⵏⴳⵍⵉⵣ"
+ },
+ "TL": {
+ "name": "ⵜⵉⵎⵓⵔ ⵏ ⵍⵇⴱⵍⵜ"
+ },
+ "TV": {
+ "name": "ⵜⵓⴼⴰⵍⵓ"
+ },
+ "TN": {
+ "name": "ⵜⵓⵏⵙ"
+ },
+ "TM": {
+ "name": "ⵜⵓⵔⴽⵎⴰⵏⵙⵜⴰⵏ"
+ },
+ "TR": {
+ "name": "ⵜⵓⵔⴽⵢⴰ"
+ },
+ "TT": {
+ "name": "ⵜⵔⵉⵏⵉⴷⴰⴷ ⴷ ⵟⵓⴱⴰⴳⵓ"
+ },
+ "TD": {
+ "name": "ⵜⵛⴰⴷ"
+ },
+ "TZ": {
+ "name": "ⵟⴰⵏⵥⴰⵏⵢⴰ"
+ },
+ "TH": {
+ "name": "ⵟⴰⵢⵍⴰⵏⴷ"
+ },
+ "TW": {
+ "name": "ⵟⴰⵢⵡⴰⵏ"
+ },
+ "TG": {
+ "name": "ⵟⵓⴳⵓ"
+ },
+ "TK": {
+ "name": "ⵟⵓⴽⵍⴰⵡ"
+ },
+ "TO": {
+ "name": "ⵟⵓⵏⴳⴰ"
+ },
+ "WF": {
+ "name": "ⵡⴰⵍⵉⵙ ⴷ ⴼⵓⵜⵓⵏⴰ"
+ },
+ "YE": {
+ "name": "ⵢⴰⵎⴰⵏ"
+ },
+ "ZM": {
+ "name": "ⵣⴰⵎⴱⵢⴰ"
+ },
+ "ZW": {
+ "name": "ⵣⵉⵎⴱⴰⴱⵡⵉ"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/zh-Hant-HK.json b/vendor/commerceguys/intl/resources/country/zh-Hant-HK.json
new file mode 100644
index 000000000..f78b07103
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/zh-Hant-HK.json
@@ -0,0 +1,761 @@
+{
+ "YE": {
+ "name": "也門"
+ },
+ "TT": {
+ "name": "千里達和多巴哥"
+ },
+ "TR": {
+ "name": "土耳其"
+ },
+ "TM": {
+ "name": "土庫曼"
+ },
+ "BT": {
+ "name": "不丹"
+ },
+ "CF": {
+ "name": "中非共和國"
+ },
+ "CN": {
+ "name": "中國"
+ },
+ "HK": {
+ "name": "中國香港特別行政區"
+ },
+ "MO": {
+ "name": "中國澳門特別行政區"
+ },
+ "DK": {
+ "name": "丹麥"
+ },
+ "EC": {
+ "name": "厄瓜多爾"
+ },
+ "ER": {
+ "name": "厄立特里亞"
+ },
+ "BB": {
+ "name": "巴巴多斯"
+ },
+ "PG": {
+ "name": "巴布亞新幾內亞"
+ },
+ "BR": {
+ "name": "巴西"
+ },
+ "PY": {
+ "name": "巴拉圭"
+ },
+ "BH": {
+ "name": "巴林"
+ },
+ "BS": {
+ "name": "巴哈馬"
+ },
+ "PA": {
+ "name": "巴拿馬"
+ },
+ "PS": {
+ "name": "巴勒斯坦領土"
+ },
+ "PK": {
+ "name": "巴基斯坦"
+ },
+ "JP": {
+ "name": "日本"
+ },
+ "BE": {
+ "name": "比利時"
+ },
+ "MR": {
+ "name": "毛里塔尼亞"
+ },
+ "MU": {
+ "name": "毛里裘斯"
+ },
+ "JM": {
+ "name": "牙買加"
+ },
+ "TD": {
+ "name": "乍得"
+ },
+ "IL": {
+ "name": "以色列"
+ },
+ "IC": {
+ "name": "加那利群島"
+ },
+ "CA": {
+ "name": "加拿大"
+ },
+ "GH": {
+ "name": "加納"
+ },
+ "GA": {
+ "name": "加蓬"
+ },
+ "MP": {
+ "name": "北馬里亞納群島"
+ },
+ "KP": {
+ "name": "北韓"
+ },
+ "QA": {
+ "name": "卡塔爾"
+ },
+ "CU": {
+ "name": "古巴"
+ },
+ "CC": {
+ "name": "可可斯群島"
+ },
+ "TW": {
+ "name": "台灣"
+ },
+ "NG": {
+ "name": "尼日利亞"
+ },
+ "NE": {
+ "name": "尼日爾"
+ },
+ "NI": {
+ "name": "尼加拉瓜"
+ },
+ "NP": {
+ "name": "尼泊爾"
+ },
+ "BF": {
+ "name": "布基納法索"
+ },
+ "BI": {
+ "name": "布隆迪"
+ },
+ "GP": {
+ "name": "瓜地洛普"
+ },
+ "WF": {
+ "name": "瓦利斯群島和富圖那群島"
+ },
+ "VU": {
+ "name": "瓦努阿圖"
+ },
+ "BY": {
+ "name": "白俄羅斯"
+ },
+ "PN": {
+ "name": "皮特凱恩島"
+ },
+ "LT": {
+ "name": "立陶宛"
+ },
+ "IQ": {
+ "name": "伊拉克"
+ },
+ "IR": {
+ "name": "伊朗"
+ },
+ "EA": {
+ "name": "休達與梅利利亞"
+ },
+ "IS": {
+ "name": "冰島"
+ },
+ "LI": {
+ "name": "列支敦士登"
+ },
+ "HU": {
+ "name": "匈牙利"
+ },
+ "ID": {
+ "name": "印尼"
+ },
+ "IN": {
+ "name": "印度"
+ },
+ "GT": {
+ "name": "危地馬拉"
+ },
+ "DJ": {
+ "name": "吉布提"
+ },
+ "KI": {
+ "name": "吉里巴斯"
+ },
+ "KG": {
+ "name": "吉爾吉斯"
+ },
+ "GY": {
+ "name": "圭亞那"
+ },
+ "DM": {
+ "name": "多米尼克"
+ },
+ "DO": {
+ "name": "多明尼加共和國"
+ },
+ "TG": {
+ "name": "多哥共和國"
+ },
+ "AI": {
+ "name": "安圭拉"
+ },
+ "AO": {
+ "name": "安哥拉"
+ },
+ "AG": {
+ "name": "安提瓜和巴布達"
+ },
+ "AD": {
+ "name": "安道爾"
+ },
+ "TK": {
+ "name": "托克勞群島"
+ },
+ "BM": {
+ "name": "百慕達"
+ },
+ "LA": {
+ "name": "老撾"
+ },
+ "ES": {
+ "name": "西班牙"
+ },
+ "EH": {
+ "name": "西撒哈拉"
+ },
+ "BZ": {
+ "name": "伯利茲"
+ },
+ "CV": {
+ "name": "佛得角"
+ },
+ "HR": {
+ "name": "克羅地亞"
+ },
+ "LR": {
+ "name": "利比里亞"
+ },
+ "LY": {
+ "name": "利比亞"
+ },
+ "GR": {
+ "name": "希臘"
+ },
+ "BN": {
+ "name": "汶萊"
+ },
+ "SA": {
+ "name": "沙地阿拉伯"
+ },
+ "BJ": {
+ "name": "貝寧"
+ },
+ "GQ": {
+ "name": "赤道幾內亞"
+ },
+ "AM": {
+ "name": "亞美尼亞"
+ },
+ "TZ": {
+ "name": "坦桑尼亞"
+ },
+ "VE": {
+ "name": "委內瑞拉"
+ },
+ "BD": {
+ "name": "孟加拉"
+ },
+ "GM": {
+ "name": "岡比亞"
+ },
+ "PW": {
+ "name": "帛琉"
+ },
+ "SB": {
+ "name": "所羅門群島"
+ },
+ "LV": {
+ "name": "拉脫維亞"
+ },
+ "TL": {
+ "name": "東帝汶"
+ },
+ "FR": {
+ "name": "法國"
+ },
+ "FO": {
+ "name": "法羅群島"
+ },
+ "GF": {
+ "name": "法屬圭亞那"
+ },
+ "PF": {
+ "name": "法屬波利尼西亞"
+ },
+ "TF": {
+ "name": "法屬南部領地"
+ },
+ "MF": {
+ "name": "法屬聖馬丁"
+ },
+ "PR": {
+ "name": "波多黎各"
+ },
+ "BA": {
+ "name": "波斯尼亞和黑塞哥維那"
+ },
+ "PL": {
+ "name": "波蘭"
+ },
+ "GI": {
+ "name": "直布羅陀"
+ },
+ "KE": {
+ "name": "肯雅"
+ },
+ "FI": {
+ "name": "芬蘭"
+ },
+ "AE": {
+ "name": "阿拉伯聯合酋長國"
+ },
+ "AR": {
+ "name": "阿根廷"
+ },
+ "OM": {
+ "name": "阿曼"
+ },
+ "AF": {
+ "name": "阿富汗"
+ },
+ "AC": {
+ "name": "阿森松島"
+ },
+ "AZ": {
+ "name": "阿塞拜疆"
+ },
+ "DZ": {
+ "name": "阿爾及利亞"
+ },
+ "AL": {
+ "name": "阿爾巴尼亞"
+ },
+ "AW": {
+ "name": "阿魯巴"
+ },
+ "RU": {
+ "name": "俄羅斯"
+ },
+ "BG": {
+ "name": "保加利亞"
+ },
+ "GS": {
+ "name": "南佐治亞島與南桑威奇群島"
+ },
+ "ZA": {
+ "name": "南非"
+ },
+ "AQ": {
+ "name": "南極洲"
+ },
+ "KR": {
+ "name": "南韓"
+ },
+ "SS": {
+ "name": "南蘇丹"
+ },
+ "KZ": {
+ "name": "哈薩克"
+ },
+ "KH": {
+ "name": "柬埔寨"
+ },
+ "ZW": {
+ "name": "津巴布韋"
+ },
+ "HN": {
+ "name": "洪都拉斯"
+ },
+ "BO": {
+ "name": "玻利維亞"
+ },
+ "KW": {
+ "name": "科威特"
+ },
+ "CI": {
+ "name": "科特迪瓦"
+ },
+ "XK": {
+ "name": "科索沃"
+ },
+ "KM": {
+ "name": "科摩羅"
+ },
+ "TN": {
+ "name": "突尼西亞"
+ },
+ "JO": {
+ "name": "約旦"
+ },
+ "US": {
+ "name": "美國"
+ },
+ "UM": {
+ "name": "美國本土外小島嶼"
+ },
+ "VI": {
+ "name": "美屬維爾京群島"
+ },
+ "AS": {
+ "name": "美屬薩摩亞"
+ },
+ "GB": {
+ "name": "英國"
+ },
+ "IO": {
+ "name": "英屬印度洋領地"
+ },
+ "VG": {
+ "name": "英屬維爾京群島"
+ },
+ "DG": {
+ "name": "迪亞哥加西亞島"
+ },
+ "CG": {
+ "name": "剛果(布拉薩)"
+ },
+ "CD": {
+ "name": "剛果(金夏沙)"
+ },
+ "CO": {
+ "name": "哥倫比亞"
+ },
+ "CR": {
+ "name": "哥斯達黎加"
+ },
+ "EG": {
+ "name": "埃及"
+ },
+ "ET": {
+ "name": "埃塞俄比亞"
+ },
+ "CK": {
+ "name": "庫克群島"
+ },
+ "CW": {
+ "name": "庫拉索"
+ },
+ "NO": {
+ "name": "挪威"
+ },
+ "GG": {
+ "name": "根息"
+ },
+ "GD": {
+ "name": "格林納達"
+ },
+ "GL": {
+ "name": "格陵蘭"
+ },
+ "GE": {
+ "name": "格魯吉亞"
+ },
+ "TH": {
+ "name": "泰國"
+ },
+ "HT": {
+ "name": "海地"
+ },
+ "UG": {
+ "name": "烏干達"
+ },
+ "UA": {
+ "name": "烏克蘭"
+ },
+ "UY": {
+ "name": "烏拉圭"
+ },
+ "UZ": {
+ "name": "烏茲別克"
+ },
+ "TC": {
+ "name": "特克斯和凱科斯群島"
+ },
+ "TA": {
+ "name": "特里斯坦達庫尼亞群島"
+ },
+ "RE": {
+ "name": "留尼旺"
+ },
+ "PE": {
+ "name": "秘魯"
+ },
+ "NA": {
+ "name": "納米比亞"
+ },
+ "NZ": {
+ "name": "紐西蘭"
+ },
+ "NU": {
+ "name": "紐埃島"
+ },
+ "SO": {
+ "name": "索馬里"
+ },
+ "MQ": {
+ "name": "馬丁尼克島"
+ },
+ "MT": {
+ "name": "馬耳他"
+ },
+ "ML": {
+ "name": "馬里"
+ },
+ "MY": {
+ "name": "馬來西亞"
+ },
+ "MK": {
+ "name": "馬其頓"
+ },
+ "MW": {
+ "name": "馬拉維"
+ },
+ "YT": {
+ "name": "馬約特"
+ },
+ "IM": {
+ "name": "馬恩島"
+ },
+ "MH": {
+ "name": "馬紹爾群島"
+ },
+ "MG": {
+ "name": "馬達加斯加"
+ },
+ "MV": {
+ "name": "馬爾代夫"
+ },
+ "FM": {
+ "name": "密克羅尼西亞群島"
+ },
+ "CZ": {
+ "name": "捷克共和國"
+ },
+ "SY": {
+ "name": "敍利亞"
+ },
+ "VA": {
+ "name": "梵蒂岡"
+ },
+ "SX": {
+ "name": "荷屬聖馬丁"
+ },
+ "NL": {
+ "name": "荷蘭"
+ },
+ "BQ": {
+ "name": "荷蘭加勒比區"
+ },
+ "MZ": {
+ "name": "莫桑比克"
+ },
+ "BW": {
+ "name": "博茨瓦納"
+ },
+ "CM": {
+ "name": "喀麥隆"
+ },
+ "GN": {
+ "name": "幾內亞"
+ },
+ "GW": {
+ "name": "幾內亞比紹"
+ },
+ "FJ": {
+ "name": "斐濟"
+ },
+ "SJ": {
+ "name": "斯瓦爾巴特群島及揚馬延島"
+ },
+ "LK": {
+ "name": "斯里蘭卡"
+ },
+ "SZ": {
+ "name": "斯威士蘭"
+ },
+ "SI": {
+ "name": "斯洛文尼亞"
+ },
+ "SK": {
+ "name": "斯洛伐克"
+ },
+ "CL": {
+ "name": "智利"
+ },
+ "TO": {
+ "name": "湯加"
+ },
+ "PH": {
+ "name": "菲律賓"
+ },
+ "LS": {
+ "name": "萊索托"
+ },
+ "VN": {
+ "name": "越南"
+ },
+ "KY": {
+ "name": "開曼群島"
+ },
+ "ME": {
+ "name": "黑山"
+ },
+ "TJ": {
+ "name": "塔吉克"
+ },
+ "SN": {
+ "name": "塞內加爾"
+ },
+ "SC": {
+ "name": "塞舌爾"
+ },
+ "SL": {
+ "name": "塞拉利昂"
+ },
+ "CY": {
+ "name": "塞浦路斯"
+ },
+ "RS": {
+ "name": "塞爾維亞"
+ },
+ "AT": {
+ "name": "奧地利"
+ },
+ "AX": {
+ "name": "奧蘭群島"
+ },
+ "IT": {
+ "name": "意大利"
+ },
+ "EE": {
+ "name": "愛沙尼亞"
+ },
+ "IE": {
+ "name": "愛爾蘭"
+ },
+ "SG": {
+ "name": "新加坡"
+ },
+ "NC": {
+ "name": "新喀里多尼亞"
+ },
+ "NR": {
+ "name": "瑙魯"
+ },
+ "CH": {
+ "name": "瑞士"
+ },
+ "SE": {
+ "name": "瑞典"
+ },
+ "BL": {
+ "name": "聖巴泰勒米"
+ },
+ "VC": {
+ "name": "聖文森特和格林納丁斯"
+ },
+ "PM": {
+ "name": "聖皮埃爾和密克隆群島"
+ },
+ "ST": {
+ "name": "聖多美和普林西比"
+ },
+ "SM": {
+ "name": "聖馬利諾"
+ },
+ "KN": {
+ "name": "聖基茨和尼維斯"
+ },
+ "SH": {
+ "name": "聖赫勒拿島"
+ },
+ "CX": {
+ "name": "聖誕島"
+ },
+ "LC": {
+ "name": "聖盧西亞"
+ },
+ "PT": {
+ "name": "葡萄牙"
+ },
+ "TV": {
+ "name": "圖瓦盧"
+ },
+ "FK": {
+ "name": "福克蘭群島"
+ },
+ "MN": {
+ "name": "蒙古"
+ },
+ "MS": {
+ "name": "蒙特塞拉特"
+ },
+ "DE": {
+ "name": "德國"
+ },
+ "MA": {
+ "name": "摩洛哥"
+ },
+ "MC": {
+ "name": "摩納哥"
+ },
+ "MD": {
+ "name": "摩爾多瓦"
+ },
+ "MM": {
+ "name": "緬甸"
+ },
+ "LB": {
+ "name": "黎巴嫩"
+ },
+ "MX": {
+ "name": "墨西哥"
+ },
+ "JE": {
+ "name": "澤西島"
+ },
+ "AU": {
+ "name": "澳洲"
+ },
+ "RW": {
+ "name": "盧旺達"
+ },
+ "LU": {
+ "name": "盧森堡"
+ },
+ "NF": {
+ "name": "諾福克島"
+ },
+ "SV": {
+ "name": "薩爾瓦多"
+ },
+ "WS": {
+ "name": "薩摩亞"
+ },
+ "RO": {
+ "name": "羅馬尼亞"
+ },
+ "ZM": {
+ "name": "贊比亞"
+ },
+ "GU": {
+ "name": "關島"
+ },
+ "SD": {
+ "name": "蘇丹"
+ },
+ "SR": {
+ "name": "蘇里南"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/zh-Hant-MO.json b/vendor/commerceguys/intl/resources/country/zh-Hant-MO.json
new file mode 100644
index 000000000..f78b07103
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/zh-Hant-MO.json
@@ -0,0 +1,761 @@
+{
+ "YE": {
+ "name": "也門"
+ },
+ "TT": {
+ "name": "千里達和多巴哥"
+ },
+ "TR": {
+ "name": "土耳其"
+ },
+ "TM": {
+ "name": "土庫曼"
+ },
+ "BT": {
+ "name": "不丹"
+ },
+ "CF": {
+ "name": "中非共和國"
+ },
+ "CN": {
+ "name": "中國"
+ },
+ "HK": {
+ "name": "中國香港特別行政區"
+ },
+ "MO": {
+ "name": "中國澳門特別行政區"
+ },
+ "DK": {
+ "name": "丹麥"
+ },
+ "EC": {
+ "name": "厄瓜多爾"
+ },
+ "ER": {
+ "name": "厄立特里亞"
+ },
+ "BB": {
+ "name": "巴巴多斯"
+ },
+ "PG": {
+ "name": "巴布亞新幾內亞"
+ },
+ "BR": {
+ "name": "巴西"
+ },
+ "PY": {
+ "name": "巴拉圭"
+ },
+ "BH": {
+ "name": "巴林"
+ },
+ "BS": {
+ "name": "巴哈馬"
+ },
+ "PA": {
+ "name": "巴拿馬"
+ },
+ "PS": {
+ "name": "巴勒斯坦領土"
+ },
+ "PK": {
+ "name": "巴基斯坦"
+ },
+ "JP": {
+ "name": "日本"
+ },
+ "BE": {
+ "name": "比利時"
+ },
+ "MR": {
+ "name": "毛里塔尼亞"
+ },
+ "MU": {
+ "name": "毛里裘斯"
+ },
+ "JM": {
+ "name": "牙買加"
+ },
+ "TD": {
+ "name": "乍得"
+ },
+ "IL": {
+ "name": "以色列"
+ },
+ "IC": {
+ "name": "加那利群島"
+ },
+ "CA": {
+ "name": "加拿大"
+ },
+ "GH": {
+ "name": "加納"
+ },
+ "GA": {
+ "name": "加蓬"
+ },
+ "MP": {
+ "name": "北馬里亞納群島"
+ },
+ "KP": {
+ "name": "北韓"
+ },
+ "QA": {
+ "name": "卡塔爾"
+ },
+ "CU": {
+ "name": "古巴"
+ },
+ "CC": {
+ "name": "可可斯群島"
+ },
+ "TW": {
+ "name": "台灣"
+ },
+ "NG": {
+ "name": "尼日利亞"
+ },
+ "NE": {
+ "name": "尼日爾"
+ },
+ "NI": {
+ "name": "尼加拉瓜"
+ },
+ "NP": {
+ "name": "尼泊爾"
+ },
+ "BF": {
+ "name": "布基納法索"
+ },
+ "BI": {
+ "name": "布隆迪"
+ },
+ "GP": {
+ "name": "瓜地洛普"
+ },
+ "WF": {
+ "name": "瓦利斯群島和富圖那群島"
+ },
+ "VU": {
+ "name": "瓦努阿圖"
+ },
+ "BY": {
+ "name": "白俄羅斯"
+ },
+ "PN": {
+ "name": "皮特凱恩島"
+ },
+ "LT": {
+ "name": "立陶宛"
+ },
+ "IQ": {
+ "name": "伊拉克"
+ },
+ "IR": {
+ "name": "伊朗"
+ },
+ "EA": {
+ "name": "休達與梅利利亞"
+ },
+ "IS": {
+ "name": "冰島"
+ },
+ "LI": {
+ "name": "列支敦士登"
+ },
+ "HU": {
+ "name": "匈牙利"
+ },
+ "ID": {
+ "name": "印尼"
+ },
+ "IN": {
+ "name": "印度"
+ },
+ "GT": {
+ "name": "危地馬拉"
+ },
+ "DJ": {
+ "name": "吉布提"
+ },
+ "KI": {
+ "name": "吉里巴斯"
+ },
+ "KG": {
+ "name": "吉爾吉斯"
+ },
+ "GY": {
+ "name": "圭亞那"
+ },
+ "DM": {
+ "name": "多米尼克"
+ },
+ "DO": {
+ "name": "多明尼加共和國"
+ },
+ "TG": {
+ "name": "多哥共和國"
+ },
+ "AI": {
+ "name": "安圭拉"
+ },
+ "AO": {
+ "name": "安哥拉"
+ },
+ "AG": {
+ "name": "安提瓜和巴布達"
+ },
+ "AD": {
+ "name": "安道爾"
+ },
+ "TK": {
+ "name": "托克勞群島"
+ },
+ "BM": {
+ "name": "百慕達"
+ },
+ "LA": {
+ "name": "老撾"
+ },
+ "ES": {
+ "name": "西班牙"
+ },
+ "EH": {
+ "name": "西撒哈拉"
+ },
+ "BZ": {
+ "name": "伯利茲"
+ },
+ "CV": {
+ "name": "佛得角"
+ },
+ "HR": {
+ "name": "克羅地亞"
+ },
+ "LR": {
+ "name": "利比里亞"
+ },
+ "LY": {
+ "name": "利比亞"
+ },
+ "GR": {
+ "name": "希臘"
+ },
+ "BN": {
+ "name": "汶萊"
+ },
+ "SA": {
+ "name": "沙地阿拉伯"
+ },
+ "BJ": {
+ "name": "貝寧"
+ },
+ "GQ": {
+ "name": "赤道幾內亞"
+ },
+ "AM": {
+ "name": "亞美尼亞"
+ },
+ "TZ": {
+ "name": "坦桑尼亞"
+ },
+ "VE": {
+ "name": "委內瑞拉"
+ },
+ "BD": {
+ "name": "孟加拉"
+ },
+ "GM": {
+ "name": "岡比亞"
+ },
+ "PW": {
+ "name": "帛琉"
+ },
+ "SB": {
+ "name": "所羅門群島"
+ },
+ "LV": {
+ "name": "拉脫維亞"
+ },
+ "TL": {
+ "name": "東帝汶"
+ },
+ "FR": {
+ "name": "法國"
+ },
+ "FO": {
+ "name": "法羅群島"
+ },
+ "GF": {
+ "name": "法屬圭亞那"
+ },
+ "PF": {
+ "name": "法屬波利尼西亞"
+ },
+ "TF": {
+ "name": "法屬南部領地"
+ },
+ "MF": {
+ "name": "法屬聖馬丁"
+ },
+ "PR": {
+ "name": "波多黎各"
+ },
+ "BA": {
+ "name": "波斯尼亞和黑塞哥維那"
+ },
+ "PL": {
+ "name": "波蘭"
+ },
+ "GI": {
+ "name": "直布羅陀"
+ },
+ "KE": {
+ "name": "肯雅"
+ },
+ "FI": {
+ "name": "芬蘭"
+ },
+ "AE": {
+ "name": "阿拉伯聯合酋長國"
+ },
+ "AR": {
+ "name": "阿根廷"
+ },
+ "OM": {
+ "name": "阿曼"
+ },
+ "AF": {
+ "name": "阿富汗"
+ },
+ "AC": {
+ "name": "阿森松島"
+ },
+ "AZ": {
+ "name": "阿塞拜疆"
+ },
+ "DZ": {
+ "name": "阿爾及利亞"
+ },
+ "AL": {
+ "name": "阿爾巴尼亞"
+ },
+ "AW": {
+ "name": "阿魯巴"
+ },
+ "RU": {
+ "name": "俄羅斯"
+ },
+ "BG": {
+ "name": "保加利亞"
+ },
+ "GS": {
+ "name": "南佐治亞島與南桑威奇群島"
+ },
+ "ZA": {
+ "name": "南非"
+ },
+ "AQ": {
+ "name": "南極洲"
+ },
+ "KR": {
+ "name": "南韓"
+ },
+ "SS": {
+ "name": "南蘇丹"
+ },
+ "KZ": {
+ "name": "哈薩克"
+ },
+ "KH": {
+ "name": "柬埔寨"
+ },
+ "ZW": {
+ "name": "津巴布韋"
+ },
+ "HN": {
+ "name": "洪都拉斯"
+ },
+ "BO": {
+ "name": "玻利維亞"
+ },
+ "KW": {
+ "name": "科威特"
+ },
+ "CI": {
+ "name": "科特迪瓦"
+ },
+ "XK": {
+ "name": "科索沃"
+ },
+ "KM": {
+ "name": "科摩羅"
+ },
+ "TN": {
+ "name": "突尼西亞"
+ },
+ "JO": {
+ "name": "約旦"
+ },
+ "US": {
+ "name": "美國"
+ },
+ "UM": {
+ "name": "美國本土外小島嶼"
+ },
+ "VI": {
+ "name": "美屬維爾京群島"
+ },
+ "AS": {
+ "name": "美屬薩摩亞"
+ },
+ "GB": {
+ "name": "英國"
+ },
+ "IO": {
+ "name": "英屬印度洋領地"
+ },
+ "VG": {
+ "name": "英屬維爾京群島"
+ },
+ "DG": {
+ "name": "迪亞哥加西亞島"
+ },
+ "CG": {
+ "name": "剛果(布拉薩)"
+ },
+ "CD": {
+ "name": "剛果(金夏沙)"
+ },
+ "CO": {
+ "name": "哥倫比亞"
+ },
+ "CR": {
+ "name": "哥斯達黎加"
+ },
+ "EG": {
+ "name": "埃及"
+ },
+ "ET": {
+ "name": "埃塞俄比亞"
+ },
+ "CK": {
+ "name": "庫克群島"
+ },
+ "CW": {
+ "name": "庫拉索"
+ },
+ "NO": {
+ "name": "挪威"
+ },
+ "GG": {
+ "name": "根息"
+ },
+ "GD": {
+ "name": "格林納達"
+ },
+ "GL": {
+ "name": "格陵蘭"
+ },
+ "GE": {
+ "name": "格魯吉亞"
+ },
+ "TH": {
+ "name": "泰國"
+ },
+ "HT": {
+ "name": "海地"
+ },
+ "UG": {
+ "name": "烏干達"
+ },
+ "UA": {
+ "name": "烏克蘭"
+ },
+ "UY": {
+ "name": "烏拉圭"
+ },
+ "UZ": {
+ "name": "烏茲別克"
+ },
+ "TC": {
+ "name": "特克斯和凱科斯群島"
+ },
+ "TA": {
+ "name": "特里斯坦達庫尼亞群島"
+ },
+ "RE": {
+ "name": "留尼旺"
+ },
+ "PE": {
+ "name": "秘魯"
+ },
+ "NA": {
+ "name": "納米比亞"
+ },
+ "NZ": {
+ "name": "紐西蘭"
+ },
+ "NU": {
+ "name": "紐埃島"
+ },
+ "SO": {
+ "name": "索馬里"
+ },
+ "MQ": {
+ "name": "馬丁尼克島"
+ },
+ "MT": {
+ "name": "馬耳他"
+ },
+ "ML": {
+ "name": "馬里"
+ },
+ "MY": {
+ "name": "馬來西亞"
+ },
+ "MK": {
+ "name": "馬其頓"
+ },
+ "MW": {
+ "name": "馬拉維"
+ },
+ "YT": {
+ "name": "馬約特"
+ },
+ "IM": {
+ "name": "馬恩島"
+ },
+ "MH": {
+ "name": "馬紹爾群島"
+ },
+ "MG": {
+ "name": "馬達加斯加"
+ },
+ "MV": {
+ "name": "馬爾代夫"
+ },
+ "FM": {
+ "name": "密克羅尼西亞群島"
+ },
+ "CZ": {
+ "name": "捷克共和國"
+ },
+ "SY": {
+ "name": "敍利亞"
+ },
+ "VA": {
+ "name": "梵蒂岡"
+ },
+ "SX": {
+ "name": "荷屬聖馬丁"
+ },
+ "NL": {
+ "name": "荷蘭"
+ },
+ "BQ": {
+ "name": "荷蘭加勒比區"
+ },
+ "MZ": {
+ "name": "莫桑比克"
+ },
+ "BW": {
+ "name": "博茨瓦納"
+ },
+ "CM": {
+ "name": "喀麥隆"
+ },
+ "GN": {
+ "name": "幾內亞"
+ },
+ "GW": {
+ "name": "幾內亞比紹"
+ },
+ "FJ": {
+ "name": "斐濟"
+ },
+ "SJ": {
+ "name": "斯瓦爾巴特群島及揚馬延島"
+ },
+ "LK": {
+ "name": "斯里蘭卡"
+ },
+ "SZ": {
+ "name": "斯威士蘭"
+ },
+ "SI": {
+ "name": "斯洛文尼亞"
+ },
+ "SK": {
+ "name": "斯洛伐克"
+ },
+ "CL": {
+ "name": "智利"
+ },
+ "TO": {
+ "name": "湯加"
+ },
+ "PH": {
+ "name": "菲律賓"
+ },
+ "LS": {
+ "name": "萊索托"
+ },
+ "VN": {
+ "name": "越南"
+ },
+ "KY": {
+ "name": "開曼群島"
+ },
+ "ME": {
+ "name": "黑山"
+ },
+ "TJ": {
+ "name": "塔吉克"
+ },
+ "SN": {
+ "name": "塞內加爾"
+ },
+ "SC": {
+ "name": "塞舌爾"
+ },
+ "SL": {
+ "name": "塞拉利昂"
+ },
+ "CY": {
+ "name": "塞浦路斯"
+ },
+ "RS": {
+ "name": "塞爾維亞"
+ },
+ "AT": {
+ "name": "奧地利"
+ },
+ "AX": {
+ "name": "奧蘭群島"
+ },
+ "IT": {
+ "name": "意大利"
+ },
+ "EE": {
+ "name": "愛沙尼亞"
+ },
+ "IE": {
+ "name": "愛爾蘭"
+ },
+ "SG": {
+ "name": "新加坡"
+ },
+ "NC": {
+ "name": "新喀里多尼亞"
+ },
+ "NR": {
+ "name": "瑙魯"
+ },
+ "CH": {
+ "name": "瑞士"
+ },
+ "SE": {
+ "name": "瑞典"
+ },
+ "BL": {
+ "name": "聖巴泰勒米"
+ },
+ "VC": {
+ "name": "聖文森特和格林納丁斯"
+ },
+ "PM": {
+ "name": "聖皮埃爾和密克隆群島"
+ },
+ "ST": {
+ "name": "聖多美和普林西比"
+ },
+ "SM": {
+ "name": "聖馬利諾"
+ },
+ "KN": {
+ "name": "聖基茨和尼維斯"
+ },
+ "SH": {
+ "name": "聖赫勒拿島"
+ },
+ "CX": {
+ "name": "聖誕島"
+ },
+ "LC": {
+ "name": "聖盧西亞"
+ },
+ "PT": {
+ "name": "葡萄牙"
+ },
+ "TV": {
+ "name": "圖瓦盧"
+ },
+ "FK": {
+ "name": "福克蘭群島"
+ },
+ "MN": {
+ "name": "蒙古"
+ },
+ "MS": {
+ "name": "蒙特塞拉特"
+ },
+ "DE": {
+ "name": "德國"
+ },
+ "MA": {
+ "name": "摩洛哥"
+ },
+ "MC": {
+ "name": "摩納哥"
+ },
+ "MD": {
+ "name": "摩爾多瓦"
+ },
+ "MM": {
+ "name": "緬甸"
+ },
+ "LB": {
+ "name": "黎巴嫩"
+ },
+ "MX": {
+ "name": "墨西哥"
+ },
+ "JE": {
+ "name": "澤西島"
+ },
+ "AU": {
+ "name": "澳洲"
+ },
+ "RW": {
+ "name": "盧旺達"
+ },
+ "LU": {
+ "name": "盧森堡"
+ },
+ "NF": {
+ "name": "諾福克島"
+ },
+ "SV": {
+ "name": "薩爾瓦多"
+ },
+ "WS": {
+ "name": "薩摩亞"
+ },
+ "RO": {
+ "name": "羅馬尼亞"
+ },
+ "ZM": {
+ "name": "贊比亞"
+ },
+ "GU": {
+ "name": "關島"
+ },
+ "SD": {
+ "name": "蘇丹"
+ },
+ "SR": {
+ "name": "蘇里南"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/zh-Hant.json b/vendor/commerceguys/intl/resources/country/zh-Hant.json
new file mode 100644
index 000000000..93c51a231
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/zh-Hant.json
@@ -0,0 +1,761 @@
+{
+ "TT": {
+ "name": "千里達及托巴哥"
+ },
+ "TR": {
+ "name": "土耳其"
+ },
+ "TC": {
+ "name": "土克斯及開科斯群島"
+ },
+ "TM": {
+ "name": "土庫曼"
+ },
+ "BT": {
+ "name": "不丹"
+ },
+ "CF": {
+ "name": "中非共和國"
+ },
+ "CN": {
+ "name": "中國"
+ },
+ "HK": {
+ "name": "中國香港特別行政區"
+ },
+ "MO": {
+ "name": "中國澳門特別行政區"
+ },
+ "DK": {
+ "name": "丹麥"
+ },
+ "EC": {
+ "name": "厄瓜多"
+ },
+ "ER": {
+ "name": "厄利垂亞"
+ },
+ "PG": {
+ "name": "巴布亞紐幾內亞"
+ },
+ "BR": {
+ "name": "巴西"
+ },
+ "BB": {
+ "name": "巴貝多"
+ },
+ "PY": {
+ "name": "巴拉圭"
+ },
+ "BH": {
+ "name": "巴林"
+ },
+ "BS": {
+ "name": "巴哈馬"
+ },
+ "PA": {
+ "name": "巴拿馬"
+ },
+ "PS": {
+ "name": "巴勒斯坦自治區"
+ },
+ "PK": {
+ "name": "巴基斯坦"
+ },
+ "JP": {
+ "name": "日本"
+ },
+ "BE": {
+ "name": "比利時"
+ },
+ "JM": {
+ "name": "牙買加"
+ },
+ "IL": {
+ "name": "以色列"
+ },
+ "IC": {
+ "name": "加那利群島"
+ },
+ "CA": {
+ "name": "加拿大"
+ },
+ "GA": {
+ "name": "加彭"
+ },
+ "MP": {
+ "name": "北馬里亞納群島"
+ },
+ "KP": {
+ "name": "北韓"
+ },
+ "QA": {
+ "name": "卡達"
+ },
+ "CU": {
+ "name": "古巴"
+ },
+ "TW": {
+ "name": "台灣"
+ },
+ "SZ": {
+ "name": "史瓦濟蘭"
+ },
+ "NE": {
+ "name": "尼日"
+ },
+ "NI": {
+ "name": "尼加拉瓜"
+ },
+ "NP": {
+ "name": "尼泊爾"
+ },
+ "BF": {
+ "name": "布吉納法索"
+ },
+ "GP": {
+ "name": "瓜地洛普"
+ },
+ "GT": {
+ "name": "瓜地馬拉"
+ },
+ "WF": {
+ "name": "瓦利斯群島和富圖那群島"
+ },
+ "GM": {
+ "name": "甘比亞"
+ },
+ "BY": {
+ "name": "白俄羅斯"
+ },
+ "PN": {
+ "name": "皮特肯群島"
+ },
+ "LT": {
+ "name": "立陶宛"
+ },
+ "IQ": {
+ "name": "伊拉克"
+ },
+ "IR": {
+ "name": "伊朗"
+ },
+ "EA": {
+ "name": "休達與梅利利亞"
+ },
+ "IS": {
+ "name": "冰島"
+ },
+ "LI": {
+ "name": "列支敦斯登"
+ },
+ "HU": {
+ "name": "匈牙利"
+ },
+ "ID": {
+ "name": "印尼"
+ },
+ "IN": {
+ "name": "印度"
+ },
+ "DJ": {
+ "name": "吉布地"
+ },
+ "KI": {
+ "name": "吉里巴斯"
+ },
+ "KG": {
+ "name": "吉爾吉斯"
+ },
+ "TV": {
+ "name": "吐瓦魯"
+ },
+ "DM": {
+ "name": "多米尼克"
+ },
+ "DO": {
+ "name": "多明尼加共和國"
+ },
+ "TG": {
+ "name": "多哥"
+ },
+ "AI": {
+ "name": "安圭拉"
+ },
+ "AG": {
+ "name": "安地卡及巴布達"
+ },
+ "AO": {
+ "name": "安哥拉"
+ },
+ "AD": {
+ "name": "安道爾"
+ },
+ "TK": {
+ "name": "托克勞群島"
+ },
+ "BM": {
+ "name": "百慕達"
+ },
+ "ET": {
+ "name": "衣索比亞"
+ },
+ "ES": {
+ "name": "西班牙"
+ },
+ "EH": {
+ "name": "西撒哈拉"
+ },
+ "HR": {
+ "name": "克羅埃西亞"
+ },
+ "SJ": {
+ "name": "冷岸及央棉"
+ },
+ "LY": {
+ "name": "利比亞"
+ },
+ "HN": {
+ "name": "宏都拉斯"
+ },
+ "GR": {
+ "name": "希臘"
+ },
+ "BN": {
+ "name": "汶萊"
+ },
+ "SA": {
+ "name": "沙烏地阿拉伯"
+ },
+ "BZ": {
+ "name": "貝里斯"
+ },
+ "BJ": {
+ "name": "貝南"
+ },
+ "GQ": {
+ "name": "赤道幾內亞"
+ },
+ "ZW": {
+ "name": "辛巴威"
+ },
+ "AM": {
+ "name": "亞美尼亞"
+ },
+ "AZ": {
+ "name": "亞塞拜然"
+ },
+ "TZ": {
+ "name": "坦尚尼亞"
+ },
+ "NG": {
+ "name": "奈及利亞"
+ },
+ "VE": {
+ "name": "委內瑞拉"
+ },
+ "BD": {
+ "name": "孟加拉"
+ },
+ "ZM": {
+ "name": "尚比亞"
+ },
+ "PW": {
+ "name": "帛琉"
+ },
+ "LV": {
+ "name": "拉脫維亞"
+ },
+ "TO": {
+ "name": "東加"
+ },
+ "TL": {
+ "name": "東帝汶"
+ },
+ "FR": {
+ "name": "法國"
+ },
+ "FO": {
+ "name": "法羅群島"
+ },
+ "GF": {
+ "name": "法屬圭亞那"
+ },
+ "TF": {
+ "name": "法屬南方屬地"
+ },
+ "PF": {
+ "name": "法屬玻里尼西亞"
+ },
+ "MF": {
+ "name": "法屬聖馬丁"
+ },
+ "BA": {
+ "name": "波士尼亞與赫塞哥維納"
+ },
+ "BW": {
+ "name": "波札那"
+ },
+ "PR": {
+ "name": "波多黎各"
+ },
+ "PL": {
+ "name": "波蘭"
+ },
+ "GI": {
+ "name": "直布羅陀"
+ },
+ "KE": {
+ "name": "肯亞"
+ },
+ "FI": {
+ "name": "芬蘭"
+ },
+ "AE": {
+ "name": "阿拉伯聯合大公國"
+ },
+ "AR": {
+ "name": "阿根廷"
+ },
+ "OM": {
+ "name": "阿曼王國"
+ },
+ "AF": {
+ "name": "阿富汗"
+ },
+ "AC": {
+ "name": "阿森松島"
+ },
+ "DZ": {
+ "name": "阿爾及利亞"
+ },
+ "AL": {
+ "name": "阿爾巴尼亞"
+ },
+ "RU": {
+ "name": "俄羅斯"
+ },
+ "BG": {
+ "name": "保加利亞"
+ },
+ "ZA": {
+ "name": "南非"
+ },
+ "GS": {
+ "name": "南喬治亞與南三明治群島"
+ },
+ "AQ": {
+ "name": "南極洲"
+ },
+ "KR": {
+ "name": "南韓"
+ },
+ "SS": {
+ "name": "南蘇丹"
+ },
+ "KZ": {
+ "name": "哈薩克"
+ },
+ "TD": {
+ "name": "查德"
+ },
+ "KH": {
+ "name": "柬埔寨"
+ },
+ "BO": {
+ "name": "玻利維亞"
+ },
+ "KW": {
+ "name": "科威特"
+ },
+ "CC": {
+ "name": "科科斯(基林)群島"
+ },
+ "XK": {
+ "name": "科索沃"
+ },
+ "TN": {
+ "name": "突尼西亞"
+ },
+ "JO": {
+ "name": "約旦"
+ },
+ "US": {
+ "name": "美國"
+ },
+ "UM": {
+ "name": "美國本土外小島嶼"
+ },
+ "VI": {
+ "name": "美屬維京群島"
+ },
+ "AS": {
+ "name": "美屬薩摩亞"
+ },
+ "GB": {
+ "name": "英國"
+ },
+ "IO": {
+ "name": "英屬印度洋領地"
+ },
+ "VG": {
+ "name": "英屬維京群島"
+ },
+ "MR": {
+ "name": "茅利塔尼亞"
+ },
+ "GH": {
+ "name": "迦納"
+ },
+ "DG": {
+ "name": "迪亞哥加西亞島"
+ },
+ "CG": {
+ "name": "剛果(布拉薩)"
+ },
+ "CD": {
+ "name": "剛果(金夏沙)"
+ },
+ "CO": {
+ "name": "哥倫比亞"
+ },
+ "CR": {
+ "name": "哥斯大黎加"
+ },
+ "EG": {
+ "name": "埃及"
+ },
+ "CK": {
+ "name": "庫克群島"
+ },
+ "CW": {
+ "name": "庫拉索"
+ },
+ "NO": {
+ "name": "挪威"
+ },
+ "GG": {
+ "name": "根息"
+ },
+ "GL": {
+ "name": "格陵蘭"
+ },
+ "GD": {
+ "name": "格瑞那達"
+ },
+ "TH": {
+ "name": "泰國"
+ },
+ "HT": {
+ "name": "海地"
+ },
+ "UG": {
+ "name": "烏干達"
+ },
+ "UA": {
+ "name": "烏克蘭"
+ },
+ "UY": {
+ "name": "烏拉圭"
+ },
+ "UZ": {
+ "name": "烏茲別克"
+ },
+ "TA": {
+ "name": "特里斯坦達庫尼亞群島"
+ },
+ "RE": {
+ "name": "留尼旺"
+ },
+ "PE": {
+ "name": "秘魯"
+ },
+ "NA": {
+ "name": "納米比亞"
+ },
+ "NZ": {
+ "name": "紐西蘭"
+ },
+ "NU": {
+ "name": "紐埃島"
+ },
+ "SO": {
+ "name": "索馬利亞"
+ },
+ "SB": {
+ "name": "索羅門群島"
+ },
+ "MQ": {
+ "name": "馬丁尼克島"
+ },
+ "ML": {
+ "name": "馬利"
+ },
+ "MY": {
+ "name": "馬來西亞"
+ },
+ "MK": {
+ "name": "馬其頓"
+ },
+ "MW": {
+ "name": "馬拉威"
+ },
+ "YT": {
+ "name": "馬約特"
+ },
+ "MH": {
+ "name": "馬紹爾群島"
+ },
+ "MG": {
+ "name": "馬達加斯加"
+ },
+ "MT": {
+ "name": "馬爾他"
+ },
+ "MV": {
+ "name": "馬爾地夫"
+ },
+ "FM": {
+ "name": "密克羅尼西亞群島"
+ },
+ "CZ": {
+ "name": "捷克共和國"
+ },
+ "SY": {
+ "name": "敘利亞"
+ },
+ "IM": {
+ "name": "曼島"
+ },
+ "VA": {
+ "name": "梵蒂岡"
+ },
+ "AW": {
+ "name": "荷屬阿魯巴"
+ },
+ "SX": {
+ "name": "荷屬聖馬丁"
+ },
+ "NL": {
+ "name": "荷蘭"
+ },
+ "BQ": {
+ "name": "荷蘭加勒比區"
+ },
+ "MZ": {
+ "name": "莫三比克"
+ },
+ "CM": {
+ "name": "喀麥隆"
+ },
+ "GE": {
+ "name": "喬治亞"
+ },
+ "GN": {
+ "name": "幾內亞"
+ },
+ "GW": {
+ "name": "幾內亞比索"
+ },
+ "FJ": {
+ "name": "斐濟"
+ },
+ "LK": {
+ "name": "斯里蘭卡"
+ },
+ "SK": {
+ "name": "斯洛伐克"
+ },
+ "SI": {
+ "name": "斯洛維尼亞"
+ },
+ "CL": {
+ "name": "智利"
+ },
+ "PH": {
+ "name": "菲律賓"
+ },
+ "CI": {
+ "name": "象牙海岸"
+ },
+ "VN": {
+ "name": "越南"
+ },
+ "KY": {
+ "name": "開曼群島"
+ },
+ "TJ": {
+ "name": "塔吉克"
+ },
+ "SN": {
+ "name": "塞內加爾"
+ },
+ "SC": {
+ "name": "塞席爾"
+ },
+ "RS": {
+ "name": "塞爾維亞"
+ },
+ "AT": {
+ "name": "奧地利"
+ },
+ "AX": {
+ "name": "奧蘭群島"
+ },
+ "EE": {
+ "name": "愛沙尼亞"
+ },
+ "IE": {
+ "name": "愛爾蘭"
+ },
+ "SG": {
+ "name": "新加坡"
+ },
+ "NC": {
+ "name": "新喀里多尼亞"
+ },
+ "SL": {
+ "name": "獅子山"
+ },
+ "CH": {
+ "name": "瑞士"
+ },
+ "SE": {
+ "name": "瑞典"
+ },
+ "VU": {
+ "name": "萬那杜"
+ },
+ "IT": {
+ "name": "義大利"
+ },
+ "BL": {
+ "name": "聖巴瑟米"
+ },
+ "VC": {
+ "name": "聖文森及格瑞那丁"
+ },
+ "PM": {
+ "name": "聖皮埃爾和密克隆群島"
+ },
+ "ST": {
+ "name": "聖多美普林西比"
+ },
+ "KN": {
+ "name": "聖克里斯多福及尼維斯"
+ },
+ "SM": {
+ "name": "聖馬利諾"
+ },
+ "SH": {
+ "name": "聖赫勒拿島"
+ },
+ "CX": {
+ "name": "聖誕島"
+ },
+ "LC": {
+ "name": "聖露西亞"
+ },
+ "YE": {
+ "name": "葉門"
+ },
+ "KM": {
+ "name": "葛摩"
+ },
+ "PT": {
+ "name": "葡萄牙"
+ },
+ "FK": {
+ "name": "福克蘭群島"
+ },
+ "CV": {
+ "name": "維德角"
+ },
+ "MN": {
+ "name": "蒙古"
+ },
+ "MS": {
+ "name": "蒙哲臘"
+ },
+ "ME": {
+ "name": "蒙特內哥羅"
+ },
+ "BI": {
+ "name": "蒲隆地"
+ },
+ "GY": {
+ "name": "蓋亞那"
+ },
+ "LA": {
+ "name": "寮國"
+ },
+ "DE": {
+ "name": "德國"
+ },
+ "MA": {
+ "name": "摩洛哥"
+ },
+ "MC": {
+ "name": "摩納哥"
+ },
+ "MD": {
+ "name": "摩爾多瓦"
+ },
+ "MU": {
+ "name": "模里西斯"
+ },
+ "MM": {
+ "name": "緬甸"
+ },
+ "LB": {
+ "name": "黎巴嫩"
+ },
+ "MX": {
+ "name": "墨西哥"
+ },
+ "JE": {
+ "name": "澤西島"
+ },
+ "AU": {
+ "name": "澳洲"
+ },
+ "RW": {
+ "name": "盧安達"
+ },
+ "LU": {
+ "name": "盧森堡"
+ },
+ "NF": {
+ "name": "諾福克島"
+ },
+ "NR": {
+ "name": "諾魯"
+ },
+ "LR": {
+ "name": "賴比瑞亞"
+ },
+ "LS": {
+ "name": "賴索托"
+ },
+ "CY": {
+ "name": "賽普勒斯"
+ },
+ "SV": {
+ "name": "薩爾瓦多"
+ },
+ "WS": {
+ "name": "薩摩亞"
+ },
+ "RO": {
+ "name": "羅馬尼亞"
+ },
+ "GU": {
+ "name": "關島"
+ },
+ "SD": {
+ "name": "蘇丹"
+ },
+ "SR": {
+ "name": "蘇利南"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/zh.json b/vendor/commerceguys/intl/resources/country/zh.json
new file mode 100644
index 000000000..5215f7776
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/zh.json
@@ -0,0 +1,761 @@
+{
+ "AL": {
+ "name": "阿尔巴尼亚"
+ },
+ "DZ": {
+ "name": "阿尔及利亚"
+ },
+ "AF": {
+ "name": "阿富汗"
+ },
+ "AR": {
+ "name": "阿根廷"
+ },
+ "AE": {
+ "name": "阿拉伯联合酋长国"
+ },
+ "AW": {
+ "name": "阿鲁巴"
+ },
+ "OM": {
+ "name": "阿曼"
+ },
+ "AZ": {
+ "name": "阿塞拜疆"
+ },
+ "AC": {
+ "name": "阿森松岛"
+ },
+ "EG": {
+ "name": "埃及"
+ },
+ "ET": {
+ "name": "埃塞俄比亚"
+ },
+ "IE": {
+ "name": "爱尔兰"
+ },
+ "EE": {
+ "name": "爱沙尼亚"
+ },
+ "AD": {
+ "name": "安道尔"
+ },
+ "AO": {
+ "name": "安哥拉"
+ },
+ "AI": {
+ "name": "安圭拉"
+ },
+ "AG": {
+ "name": "安提瓜和巴布达"
+ },
+ "AT": {
+ "name": "奥地利"
+ },
+ "AX": {
+ "name": "奥兰群岛"
+ },
+ "AU": {
+ "name": "澳大利亚"
+ },
+ "BB": {
+ "name": "巴巴多斯"
+ },
+ "PG": {
+ "name": "巴布亚新几内亚"
+ },
+ "BS": {
+ "name": "巴哈马"
+ },
+ "PK": {
+ "name": "巴基斯坦"
+ },
+ "PY": {
+ "name": "巴拉圭"
+ },
+ "PS": {
+ "name": "巴勒斯坦领土"
+ },
+ "BH": {
+ "name": "巴林"
+ },
+ "PA": {
+ "name": "巴拿马"
+ },
+ "BR": {
+ "name": "巴西"
+ },
+ "BY": {
+ "name": "白俄罗斯"
+ },
+ "BM": {
+ "name": "百慕大"
+ },
+ "BG": {
+ "name": "保加利亚"
+ },
+ "MP": {
+ "name": "北马里亚纳群岛"
+ },
+ "BJ": {
+ "name": "贝宁"
+ },
+ "BE": {
+ "name": "比利时"
+ },
+ "IS": {
+ "name": "冰岛"
+ },
+ "PR": {
+ "name": "波多黎各"
+ },
+ "PL": {
+ "name": "波兰"
+ },
+ "BA": {
+ "name": "波斯尼亚和黑塞哥维那"
+ },
+ "BO": {
+ "name": "玻利维亚"
+ },
+ "BZ": {
+ "name": "伯利兹"
+ },
+ "BW": {
+ "name": "博茨瓦纳"
+ },
+ "BT": {
+ "name": "不丹"
+ },
+ "BF": {
+ "name": "布基纳法索"
+ },
+ "BI": {
+ "name": "布隆迪"
+ },
+ "KP": {
+ "name": "朝鲜"
+ },
+ "GQ": {
+ "name": "赤道几内亚"
+ },
+ "DK": {
+ "name": "丹麦"
+ },
+ "DE": {
+ "name": "德国"
+ },
+ "DG": {
+ "name": "迪戈加西亚岛"
+ },
+ "TL": {
+ "name": "东帝汶"
+ },
+ "TG": {
+ "name": "多哥"
+ },
+ "DO": {
+ "name": "多米尼加共和国"
+ },
+ "DM": {
+ "name": "多米尼克"
+ },
+ "RU": {
+ "name": "俄罗斯"
+ },
+ "EC": {
+ "name": "厄瓜多尔"
+ },
+ "ER": {
+ "name": "厄立特里亚"
+ },
+ "FR": {
+ "name": "法国"
+ },
+ "FO": {
+ "name": "法罗群岛"
+ },
+ "PF": {
+ "name": "法属波利尼西亚"
+ },
+ "GF": {
+ "name": "法属圭亚那"
+ },
+ "TF": {
+ "name": "法属南部领地"
+ },
+ "VA": {
+ "name": "梵蒂冈"
+ },
+ "PH": {
+ "name": "菲律宾"
+ },
+ "FJ": {
+ "name": "斐济"
+ },
+ "FI": {
+ "name": "芬兰"
+ },
+ "CV": {
+ "name": "佛得角"
+ },
+ "FK": {
+ "name": "福克兰群岛"
+ },
+ "GM": {
+ "name": "冈比亚"
+ },
+ "CG": {
+ "name": "刚果(布)"
+ },
+ "CD": {
+ "name": "刚果(金)"
+ },
+ "CO": {
+ "name": "哥伦比亚"
+ },
+ "CR": {
+ "name": "哥斯达黎加"
+ },
+ "GG": {
+ "name": "格恩西岛"
+ },
+ "GD": {
+ "name": "格林纳达"
+ },
+ "GL": {
+ "name": "格陵兰"
+ },
+ "GE": {
+ "name": "格鲁吉亚"
+ },
+ "CU": {
+ "name": "古巴"
+ },
+ "GP": {
+ "name": "瓜德罗普"
+ },
+ "GU": {
+ "name": "关岛"
+ },
+ "GY": {
+ "name": "圭亚那"
+ },
+ "KZ": {
+ "name": "哈萨克斯坦"
+ },
+ "HT": {
+ "name": "海地"
+ },
+ "KR": {
+ "name": "韩国"
+ },
+ "NL": {
+ "name": "荷兰"
+ },
+ "BQ": {
+ "name": "荷属加勒比区"
+ },
+ "SX": {
+ "name": "荷属圣马丁"
+ },
+ "ME": {
+ "name": "黑山"
+ },
+ "HN": {
+ "name": "洪都拉斯"
+ },
+ "KI": {
+ "name": "基里巴斯"
+ },
+ "DJ": {
+ "name": "吉布提"
+ },
+ "KG": {
+ "name": "吉尔吉斯斯坦"
+ },
+ "GN": {
+ "name": "几内亚"
+ },
+ "GW": {
+ "name": "几内亚比绍"
+ },
+ "CA": {
+ "name": "加拿大"
+ },
+ "GH": {
+ "name": "加纳"
+ },
+ "IC": {
+ "name": "加纳利群岛"
+ },
+ "GA": {
+ "name": "加蓬"
+ },
+ "KH": {
+ "name": "柬埔寨"
+ },
+ "CZ": {
+ "name": "捷克共和国"
+ },
+ "ZW": {
+ "name": "津巴布韦"
+ },
+ "CM": {
+ "name": "喀麦隆"
+ },
+ "QA": {
+ "name": "卡塔尔"
+ },
+ "KY": {
+ "name": "开曼群岛"
+ },
+ "CC": {
+ "name": "科科斯(基林)群岛"
+ },
+ "KM": {
+ "name": "科摩罗"
+ },
+ "XK": {
+ "name": "科索沃"
+ },
+ "CI": {
+ "name": "科特迪瓦"
+ },
+ "KW": {
+ "name": "科威特"
+ },
+ "HR": {
+ "name": "克罗地亚"
+ },
+ "KE": {
+ "name": "肯尼亚"
+ },
+ "CK": {
+ "name": "库克群岛"
+ },
+ "CW": {
+ "name": "库拉索"
+ },
+ "LV": {
+ "name": "拉脱维亚"
+ },
+ "LS": {
+ "name": "莱索托"
+ },
+ "LA": {
+ "name": "老挝"
+ },
+ "LB": {
+ "name": "黎巴嫩"
+ },
+ "LT": {
+ "name": "立陶宛"
+ },
+ "LR": {
+ "name": "利比里亚"
+ },
+ "LY": {
+ "name": "利比亚"
+ },
+ "LI": {
+ "name": "列支敦士登"
+ },
+ "RE": {
+ "name": "留尼汪"
+ },
+ "LU": {
+ "name": "卢森堡"
+ },
+ "RW": {
+ "name": "卢旺达"
+ },
+ "RO": {
+ "name": "罗马尼亚"
+ },
+ "MG": {
+ "name": "马达加斯加"
+ },
+ "IM": {
+ "name": "马恩岛"
+ },
+ "MV": {
+ "name": "马尔代夫"
+ },
+ "MT": {
+ "name": "马耳他"
+ },
+ "MW": {
+ "name": "马拉维"
+ },
+ "MY": {
+ "name": "马来西亚"
+ },
+ "ML": {
+ "name": "马里"
+ },
+ "MK": {
+ "name": "马其顿"
+ },
+ "MH": {
+ "name": "马绍尔群岛"
+ },
+ "MQ": {
+ "name": "马提尼克"
+ },
+ "YT": {
+ "name": "马约特"
+ },
+ "MU": {
+ "name": "毛里求斯"
+ },
+ "MR": {
+ "name": "毛里塔尼亚"
+ },
+ "US": {
+ "name": "美国"
+ },
+ "UM": {
+ "name": "美国本土外小岛屿"
+ },
+ "AS": {
+ "name": "美属萨摩亚"
+ },
+ "VI": {
+ "name": "美属维尔京群岛"
+ },
+ "MN": {
+ "name": "蒙古"
+ },
+ "MS": {
+ "name": "蒙特塞拉特"
+ },
+ "BD": {
+ "name": "孟加拉国"
+ },
+ "PE": {
+ "name": "秘鲁"
+ },
+ "FM": {
+ "name": "密克罗尼西亚"
+ },
+ "MM": {
+ "name": "缅甸"
+ },
+ "MD": {
+ "name": "摩尔多瓦"
+ },
+ "MA": {
+ "name": "摩洛哥"
+ },
+ "MC": {
+ "name": "摩纳哥"
+ },
+ "MZ": {
+ "name": "莫桑比克"
+ },
+ "MX": {
+ "name": "墨西哥"
+ },
+ "NA": {
+ "name": "纳米比亚"
+ },
+ "ZA": {
+ "name": "南非"
+ },
+ "AQ": {
+ "name": "南极洲"
+ },
+ "GS": {
+ "name": "南乔治亚和南桑威奇群岛"
+ },
+ "SS": {
+ "name": "南苏丹"
+ },
+ "NR": {
+ "name": "瑙鲁"
+ },
+ "NI": {
+ "name": "尼加拉瓜"
+ },
+ "NP": {
+ "name": "尼泊尔"
+ },
+ "NE": {
+ "name": "尼日尔"
+ },
+ "NG": {
+ "name": "尼日利亚"
+ },
+ "NU": {
+ "name": "纽埃"
+ },
+ "NO": {
+ "name": "挪威"
+ },
+ "NF": {
+ "name": "诺福克岛"
+ },
+ "PW": {
+ "name": "帕劳"
+ },
+ "PN": {
+ "name": "皮特凯恩群岛"
+ },
+ "PT": {
+ "name": "葡萄牙"
+ },
+ "JP": {
+ "name": "日本"
+ },
+ "SE": {
+ "name": "瑞典"
+ },
+ "CH": {
+ "name": "瑞士"
+ },
+ "SV": {
+ "name": "萨尔瓦多"
+ },
+ "WS": {
+ "name": "萨摩亚"
+ },
+ "RS": {
+ "name": "塞尔维亚"
+ },
+ "SL": {
+ "name": "塞拉利昂"
+ },
+ "SN": {
+ "name": "塞内加尔"
+ },
+ "CY": {
+ "name": "塞浦路斯"
+ },
+ "SC": {
+ "name": "塞舌尔"
+ },
+ "SA": {
+ "name": "沙特阿拉伯"
+ },
+ "BL": {
+ "name": "圣巴泰勒米"
+ },
+ "CX": {
+ "name": "圣诞岛"
+ },
+ "ST": {
+ "name": "圣多美和普林西比"
+ },
+ "SH": {
+ "name": "圣赫勒拿"
+ },
+ "KN": {
+ "name": "圣基茨和尼维斯"
+ },
+ "LC": {
+ "name": "圣卢西亚"
+ },
+ "MF": {
+ "name": "圣马丁岛"
+ },
+ "SM": {
+ "name": "圣马力诺"
+ },
+ "PM": {
+ "name": "圣皮埃尔和密克隆群岛"
+ },
+ "VC": {
+ "name": "圣文森特和格林纳丁斯"
+ },
+ "LK": {
+ "name": "斯里兰卡"
+ },
+ "SK": {
+ "name": "斯洛伐克"
+ },
+ "SI": {
+ "name": "斯洛文尼亚"
+ },
+ "SJ": {
+ "name": "斯瓦尔巴和扬马延"
+ },
+ "SZ": {
+ "name": "斯威士兰"
+ },
+ "SD": {
+ "name": "苏丹"
+ },
+ "SR": {
+ "name": "苏里南"
+ },
+ "SB": {
+ "name": "所罗门群岛"
+ },
+ "SO": {
+ "name": "索马里"
+ },
+ "TJ": {
+ "name": "塔吉克斯坦"
+ },
+ "TW": {
+ "name": "台湾"
+ },
+ "TH": {
+ "name": "泰国"
+ },
+ "TZ": {
+ "name": "坦桑尼亚"
+ },
+ "TO": {
+ "name": "汤加"
+ },
+ "TC": {
+ "name": "特克斯和凯科斯群岛"
+ },
+ "TA": {
+ "name": "特里斯坦-达库尼亚群岛"
+ },
+ "TT": {
+ "name": "特立尼达和多巴哥"
+ },
+ "TN": {
+ "name": "突尼斯"
+ },
+ "TV": {
+ "name": "图瓦卢"
+ },
+ "TR": {
+ "name": "土耳其"
+ },
+ "TM": {
+ "name": "土库曼斯坦"
+ },
+ "TK": {
+ "name": "托克劳"
+ },
+ "WF": {
+ "name": "瓦利斯和富图纳"
+ },
+ "VU": {
+ "name": "瓦努阿图"
+ },
+ "GT": {
+ "name": "危地马拉"
+ },
+ "VE": {
+ "name": "委内瑞拉"
+ },
+ "BN": {
+ "name": "文莱"
+ },
+ "UG": {
+ "name": "乌干达"
+ },
+ "UA": {
+ "name": "乌克兰"
+ },
+ "UY": {
+ "name": "乌拉圭"
+ },
+ "UZ": {
+ "name": "乌兹别克斯坦"
+ },
+ "GR": {
+ "name": "希腊"
+ },
+ "ES": {
+ "name": "西班牙"
+ },
+ "EH": {
+ "name": "西撒哈拉"
+ },
+ "SG": {
+ "name": "新加坡"
+ },
+ "NC": {
+ "name": "新喀里多尼亚"
+ },
+ "NZ": {
+ "name": "新西兰"
+ },
+ "HU": {
+ "name": "匈牙利"
+ },
+ "EA": {
+ "name": "休达及梅利利亚"
+ },
+ "SY": {
+ "name": "叙利亚"
+ },
+ "JM": {
+ "name": "牙买加"
+ },
+ "AM": {
+ "name": "亚美尼亚"
+ },
+ "YE": {
+ "name": "也门"
+ },
+ "IQ": {
+ "name": "伊拉克"
+ },
+ "IR": {
+ "name": "伊朗"
+ },
+ "IL": {
+ "name": "以色列"
+ },
+ "IT": {
+ "name": "意大利"
+ },
+ "IN": {
+ "name": "印度"
+ },
+ "ID": {
+ "name": "印度尼西亚"
+ },
+ "GB": {
+ "name": "英国"
+ },
+ "VG": {
+ "name": "英属维尔京群岛"
+ },
+ "IO": {
+ "name": "英属印度洋领地"
+ },
+ "JO": {
+ "name": "约旦"
+ },
+ "VN": {
+ "name": "越南"
+ },
+ "ZM": {
+ "name": "赞比亚"
+ },
+ "JE": {
+ "name": "泽西岛"
+ },
+ "TD": {
+ "name": "乍得"
+ },
+ "GI": {
+ "name": "直布罗陀"
+ },
+ "CL": {
+ "name": "智利"
+ },
+ "CF": {
+ "name": "中非共和国"
+ },
+ "CN": {
+ "name": "中国"
+ },
+ "MO": {
+ "name": "中国澳门特别行政区"
+ },
+ "HK": {
+ "name": "中国香港特别行政区"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/zu.json b/vendor/commerceguys/intl/resources/country/zu.json
new file mode 100644
index 000000000..0ce7b0451
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/zu.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "i-Afghanistan"
+ },
+ "AX": {
+ "name": "i-Åland Islands"
+ },
+ "AL": {
+ "name": "i-Albania"
+ },
+ "DZ": {
+ "name": "i-Algeria"
+ },
+ "AS": {
+ "name": "i-American Samoa"
+ },
+ "AD": {
+ "name": "i-Andorra"
+ },
+ "AO": {
+ "name": "i-Angola"
+ },
+ "AI": {
+ "name": "i-Anguilla"
+ },
+ "AQ": {
+ "name": "i-Antarctica"
+ },
+ "AG": {
+ "name": "i-Antigua ne-Barbuda"
+ },
+ "AR": {
+ "name": "i-Argentina"
+ },
+ "AM": {
+ "name": "i-Armenia"
+ },
+ "AW": {
+ "name": "i-Aruba"
+ },
+ "AC": {
+ "name": "i-Ascension Island"
+ },
+ "AU": {
+ "name": "i-Australia"
+ },
+ "AT": {
+ "name": "i-Austria"
+ },
+ "AZ": {
+ "name": "i-Azerbaijan"
+ },
+ "BS": {
+ "name": "i-Bahamas"
+ },
+ "BH": {
+ "name": "i-Bahrain"
+ },
+ "BD": {
+ "name": "i-Bangladesh"
+ },
+ "BB": {
+ "name": "i-Barbados"
+ },
+ "BY": {
+ "name": "i-Belarus"
+ },
+ "BE": {
+ "name": "i-Belgium"
+ },
+ "BZ": {
+ "name": "i-Belize"
+ },
+ "BJ": {
+ "name": "i-Benin"
+ },
+ "BM": {
+ "name": "i-Bermuda"
+ },
+ "BT": {
+ "name": "i-Bhutan"
+ },
+ "BO": {
+ "name": "i-Bolivia"
+ },
+ "BA": {
+ "name": "i-Bosnia ne-Herzegovina"
+ },
+ "BR": {
+ "name": "i-Brazil"
+ },
+ "IO": {
+ "name": "i-British Indian Ocean Territory"
+ },
+ "VG": {
+ "name": "i-British Virgin Islands"
+ },
+ "BN": {
+ "name": "i-Brunei"
+ },
+ "BG": {
+ "name": "i-Bulgaria"
+ },
+ "BF": {
+ "name": "i-Burkina Faso"
+ },
+ "BI": {
+ "name": "i-Burundi"
+ },
+ "KH": {
+ "name": "i-Cambodia"
+ },
+ "CM": {
+ "name": "i-Cameroon"
+ },
+ "CA": {
+ "name": "i-Canada"
+ },
+ "IC": {
+ "name": "i-Canary Islands"
+ },
+ "CV": {
+ "name": "i-Cape Verde"
+ },
+ "BQ": {
+ "name": "i-Caribbean Netherlands"
+ },
+ "KY": {
+ "name": "i-Cayman Islands"
+ },
+ "CF": {
+ "name": "i-Central African Republic"
+ },
+ "TD": {
+ "name": "i-Chad"
+ },
+ "CL": {
+ "name": "i-Chile"
+ },
+ "CN": {
+ "name": "i-China"
+ },
+ "CX": {
+ "name": "i-Christmas Island"
+ },
+ "CC": {
+ "name": "i-Cocos (Keeling) Islands"
+ },
+ "CO": {
+ "name": "i-Colombia"
+ },
+ "KM": {
+ "name": "i-Comoros"
+ },
+ "CG": {
+ "name": "i-Congo - Brazzaville"
+ },
+ "CD": {
+ "name": "i-Congo - Kinshasa"
+ },
+ "CK": {
+ "name": "i-Cook Islands"
+ },
+ "CR": {
+ "name": "i-Costa Rica"
+ },
+ "CI": {
+ "name": "i-Côte d’Ivoire"
+ },
+ "HR": {
+ "name": "i-Croatia"
+ },
+ "CU": {
+ "name": "i-Cuba"
+ },
+ "EA": {
+ "name": "i-Cueta ne-Melilla"
+ },
+ "CW": {
+ "name": "i-Curaçao"
+ },
+ "CY": {
+ "name": "i-Cyprus"
+ },
+ "CZ": {
+ "name": "i-Czech Republic"
+ },
+ "DK": {
+ "name": "i-Denmark"
+ },
+ "DG": {
+ "name": "i-Diego Garcia"
+ },
+ "DJ": {
+ "name": "i-Djibouti"
+ },
+ "DM": {
+ "name": "i-Dominica"
+ },
+ "DO": {
+ "name": "i-Dominican Republic"
+ },
+ "EC": {
+ "name": "i-Ecuador"
+ },
+ "EG": {
+ "name": "i-Egypt"
+ },
+ "SV": {
+ "name": "i-El Salvador"
+ },
+ "GQ": {
+ "name": "i-Equatorial Guinea"
+ },
+ "ER": {
+ "name": "i-Eritrea"
+ },
+ "EE": {
+ "name": "i-Estonia"
+ },
+ "ET": {
+ "name": "i-Ethiopia"
+ },
+ "FK": {
+ "name": "i-Falkland Islands"
+ },
+ "FO": {
+ "name": "i-Faroe Islands"
+ },
+ "FJ": {
+ "name": "i-Fiji"
+ },
+ "FI": {
+ "name": "i-Finland"
+ },
+ "FR": {
+ "name": "i-France"
+ },
+ "GF": {
+ "name": "i-French Guiana"
+ },
+ "PF": {
+ "name": "i-French Polynesia"
+ },
+ "TF": {
+ "name": "i-French Southern Territories"
+ },
+ "GA": {
+ "name": "i-Gabon"
+ },
+ "GM": {
+ "name": "i-Gambia"
+ },
+ "GE": {
+ "name": "i-Georgia"
+ },
+ "DE": {
+ "name": "i-Germany"
+ },
+ "GH": {
+ "name": "i-Ghana"
+ },
+ "GI": {
+ "name": "i-Gibraltar"
+ },
+ "GR": {
+ "name": "i-Greece"
+ },
+ "GL": {
+ "name": "i-Greenland"
+ },
+ "GD": {
+ "name": "i-Grenada"
+ },
+ "GP": {
+ "name": "i-Guadeloupe"
+ },
+ "GU": {
+ "name": "i-Guam"
+ },
+ "GT": {
+ "name": "i-Guatemala"
+ },
+ "GG": {
+ "name": "i-Guernsey"
+ },
+ "GN": {
+ "name": "i-Guinea"
+ },
+ "GW": {
+ "name": "i-Guinea-Bissau"
+ },
+ "GY": {
+ "name": "i-Guyana"
+ },
+ "HT": {
+ "name": "i-Haiti"
+ },
+ "HN": {
+ "name": "i-Honduras"
+ },
+ "HK": {
+ "name": "i-Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "i-Hungary"
+ },
+ "IS": {
+ "name": "i-Iceland"
+ },
+ "IN": {
+ "name": "i-India"
+ },
+ "ID": {
+ "name": "i-Indonesia"
+ },
+ "IR": {
+ "name": "i-Iran"
+ },
+ "IQ": {
+ "name": "i-Iraq"
+ },
+ "IE": {
+ "name": "i-Ireland"
+ },
+ "IM": {
+ "name": "i-Isle of Man"
+ },
+ "IT": {
+ "name": "i-Italy"
+ },
+ "JM": {
+ "name": "i-Jamaica"
+ },
+ "JP": {
+ "name": "i-Japan"
+ },
+ "JE": {
+ "name": "i-Jersey"
+ },
+ "JO": {
+ "name": "i-Jordan"
+ },
+ "KZ": {
+ "name": "i-Kazakhstan"
+ },
+ "KE": {
+ "name": "i-Kenya"
+ },
+ "KI": {
+ "name": "i-Kiribati"
+ },
+ "XK": {
+ "name": "i-Kosovo"
+ },
+ "KW": {
+ "name": "i-Kuwait"
+ },
+ "KG": {
+ "name": "i-Kyrgyzstan"
+ },
+ "LA": {
+ "name": "i-Laos"
+ },
+ "LV": {
+ "name": "i-Latvia"
+ },
+ "LB": {
+ "name": "i-Lebanon"
+ },
+ "LR": {
+ "name": "i-Liberia"
+ },
+ "LY": {
+ "name": "i-Libya"
+ },
+ "LI": {
+ "name": "i-Liechtenstein"
+ },
+ "LT": {
+ "name": "i-Lithuania"
+ },
+ "LU": {
+ "name": "i-Luxembourg"
+ },
+ "MO": {
+ "name": "i-Macau SAR China"
+ },
+ "MK": {
+ "name": "i-Macedonia"
+ },
+ "MG": {
+ "name": "i-Madagascar"
+ },
+ "MY": {
+ "name": "i-Malaysia"
+ },
+ "MV": {
+ "name": "i-Maldives"
+ },
+ "MT": {
+ "name": "i-Malta"
+ },
+ "MH": {
+ "name": "i-Marshall Islands"
+ },
+ "MQ": {
+ "name": "i-Martinique"
+ },
+ "MR": {
+ "name": "i-Mauritania"
+ },
+ "MU": {
+ "name": "i-Mauritius"
+ },
+ "YT": {
+ "name": "i-Mayotte"
+ },
+ "MX": {
+ "name": "i-Mexico"
+ },
+ "FM": {
+ "name": "i-Micronesia"
+ },
+ "MD": {
+ "name": "i-Moldova"
+ },
+ "MC": {
+ "name": "i-Monaco"
+ },
+ "MN": {
+ "name": "i-Mongolia"
+ },
+ "ME": {
+ "name": "i-Montenegro"
+ },
+ "MS": {
+ "name": "i-Montserrat"
+ },
+ "MA": {
+ "name": "i-Morocco"
+ },
+ "MZ": {
+ "name": "i-Mozambique"
+ },
+ "MM": {
+ "name": "i-Myanmar (Burma)"
+ },
+ "NA": {
+ "name": "i-Namibia"
+ },
+ "NR": {
+ "name": "i-Nauru"
+ },
+ "NP": {
+ "name": "i-Nepal"
+ },
+ "NL": {
+ "name": "i-Netherlands"
+ },
+ "NC": {
+ "name": "i-New Caledonia"
+ },
+ "NZ": {
+ "name": "i-New Zealand"
+ },
+ "NI": {
+ "name": "i-Nicaragua"
+ },
+ "NE": {
+ "name": "i-Niger"
+ },
+ "NG": {
+ "name": "i-Nigeria"
+ },
+ "NU": {
+ "name": "i-Niue"
+ },
+ "NF": {
+ "name": "i-Norfolk Island"
+ },
+ "KP": {
+ "name": "i-North Korea"
+ },
+ "MP": {
+ "name": "i-Northern Mariana Islands"
+ },
+ "NO": {
+ "name": "i-Norway"
+ },
+ "OM": {
+ "name": "i-Oman"
+ },
+ "PK": {
+ "name": "i-Pakistan"
+ },
+ "PW": {
+ "name": "i-Palau"
+ },
+ "PS": {
+ "name": "i-Palestinian Territories"
+ },
+ "PA": {
+ "name": "i-Panama"
+ },
+ "PG": {
+ "name": "i-Papua New Guinea"
+ },
+ "PY": {
+ "name": "i-Paraguay"
+ },
+ "PE": {
+ "name": "i-Peru"
+ },
+ "PH": {
+ "name": "i-Philippines"
+ },
+ "PN": {
+ "name": "i-Pitcairn Islands"
+ },
+ "PL": {
+ "name": "i-Poland"
+ },
+ "PT": {
+ "name": "i-Portugal"
+ },
+ "PR": {
+ "name": "i-Puerto Rico"
+ },
+ "QA": {
+ "name": "i-Qatar"
+ },
+ "RE": {
+ "name": "i-Réunion"
+ },
+ "RO": {
+ "name": "i-Romania"
+ },
+ "RU": {
+ "name": "i-Russia"
+ },
+ "RW": {
+ "name": "i-Rwanda"
+ },
+ "BL": {
+ "name": "i-Saint Barthélemy"
+ },
+ "KN": {
+ "name": "i-Saint Kitts ne-Nevis"
+ },
+ "LC": {
+ "name": "i-Saint Lucia"
+ },
+ "MF": {
+ "name": "i-Saint Martin"
+ },
+ "PM": {
+ "name": "i-Saint Pierre kanye ne-Miquelon"
+ },
+ "VC": {
+ "name": "i-Saint Vincent ne-Grenadines"
+ },
+ "WS": {
+ "name": "i-Samoa"
+ },
+ "SM": {
+ "name": "i-San Marino"
+ },
+ "ST": {
+ "name": "i-São Tomé kanye ne-Príncipe"
+ },
+ "SA": {
+ "name": "i-Saudi Arabia"
+ },
+ "SN": {
+ "name": "i-Senegal"
+ },
+ "RS": {
+ "name": "i-Serbia"
+ },
+ "SC": {
+ "name": "i-Seychelles"
+ },
+ "SL": {
+ "name": "i-Sierra Leone"
+ },
+ "SG": {
+ "name": "i-Singapore"
+ },
+ "SX": {
+ "name": "i-Sint Maarten"
+ },
+ "SK": {
+ "name": "i-Slovakia"
+ },
+ "SI": {
+ "name": "i-Slovenia"
+ },
+ "SB": {
+ "name": "i-Solomon Islands"
+ },
+ "SO": {
+ "name": "i-Somalia"
+ },
+ "ZA": {
+ "name": "i-South Africa"
+ },
+ "GS": {
+ "name": "i-South Georgia ne-South Sandwich Islands"
+ },
+ "KR": {
+ "name": "i-South Korea"
+ },
+ "SS": {
+ "name": "i-South Sudan"
+ },
+ "ES": {
+ "name": "i-Spain"
+ },
+ "LK": {
+ "name": "i-Sri Lanka"
+ },
+ "SH": {
+ "name": "i-St. Helena"
+ },
+ "SD": {
+ "name": "i-Sudan"
+ },
+ "SR": {
+ "name": "i-Suriname"
+ },
+ "SJ": {
+ "name": "i-Svalbard ne-Jan Mayen"
+ },
+ "SZ": {
+ "name": "i-Swaziland"
+ },
+ "SE": {
+ "name": "i-Sweden"
+ },
+ "CH": {
+ "name": "i-Switzerland"
+ },
+ "SY": {
+ "name": "i-Syria"
+ },
+ "TW": {
+ "name": "i-Taiwan"
+ },
+ "TJ": {
+ "name": "i-Tajikistan"
+ },
+ "TZ": {
+ "name": "i-Tanzania"
+ },
+ "TH": {
+ "name": "i-Thailand"
+ },
+ "TL": {
+ "name": "i-Timor-Leste"
+ },
+ "TG": {
+ "name": "i-Togo"
+ },
+ "TK": {
+ "name": "i-Tokelau"
+ },
+ "TO": {
+ "name": "i-Tonga"
+ },
+ "TT": {
+ "name": "i-Trinidad ne-Tobago"
+ },
+ "TA": {
+ "name": "i-Tristan da Cunha"
+ },
+ "TN": {
+ "name": "i-Tunisia"
+ },
+ "TR": {
+ "name": "i-Turkey"
+ },
+ "TM": {
+ "name": "i-Turkmenistan"
+ },
+ "TC": {
+ "name": "i-Turks ne-Caicos Islands"
+ },
+ "TV": {
+ "name": "i-Tuvalu"
+ },
+ "UM": {
+ "name": "i-U.S. Minor Outlying Islands"
+ },
+ "VI": {
+ "name": "i-U.S. Virgin Islands"
+ },
+ "UG": {
+ "name": "i-Uganda"
+ },
+ "UA": {
+ "name": "i-Ukraine"
+ },
+ "AE": {
+ "name": "i-United Arab Emirates"
+ },
+ "GB": {
+ "name": "i-United Kingdom"
+ },
+ "US": {
+ "name": "i-United States"
+ },
+ "UY": {
+ "name": "i-Uruguay"
+ },
+ "UZ": {
+ "name": "i-Uzbekistan"
+ },
+ "VU": {
+ "name": "i-Vanuatu"
+ },
+ "VA": {
+ "name": "i-Vatican City"
+ },
+ "VE": {
+ "name": "i-Venezuela"
+ },
+ "VN": {
+ "name": "i-Vietnam"
+ },
+ "WF": {
+ "name": "i-Wallis ne-Futuna"
+ },
+ "EH": {
+ "name": "i-Western Sahara"
+ },
+ "YE": {
+ "name": "i-Yemen"
+ },
+ "ZM": {
+ "name": "i-Zambia"
+ },
+ "BW": {
+ "name": "iBotswana"
+ },
+ "LS": {
+ "name": "iLesotho"
+ },
+ "MW": {
+ "name": "iMalawi"
+ },
+ "ML": {
+ "name": "iMali"
+ },
+ "ZW": {
+ "name": "iZimbabwe"
+ },
+ "IL": {
+ "name": "kwa-Israel"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/af.json b/vendor/commerceguys/intl/resources/currency/af.json
new file mode 100644
index 000000000..d689c1003
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/af.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afgaanse afgani"
+ },
+ "ALL": {
+ "name": "Albanese lek"
+ },
+ "DZD": {
+ "name": "Algeriese dinar"
+ },
+ "USD": {
+ "name": "Amerikaanse dollar",
+ "symbol": "US$"
+ },
+ "AOA": {
+ "name": "Angolese kwanza"
+ },
+ "ARS": {
+ "name": "Argentynse peso"
+ },
+ "AMD": {
+ "name": "Armeense dram"
+ },
+ "AWG": {
+ "name": "Arubaanse floryn"
+ },
+ "AUD": {
+ "name": "Australiese dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbeidjaanse manat"
+ },
+ "BSD": {
+ "name": "Bahamiaanse dollar"
+ },
+ "BHD": {
+ "name": "Bahreinse dinar"
+ },
+ "BDT": {
+ "name": "Bangladesjiese taka"
+ },
+ "BBD": {
+ "name": "Barbados-dollar"
+ },
+ "BZD": {
+ "name": "Beliziese dollar"
+ },
+ "BYN": {
+ "name": "Belo-Russiese roebel"
+ },
+ "BYR": {
+ "name": "Belo-Russiese roebel (2000–2016)"
+ },
+ "BMD": {
+ "name": "Bermuda-dollar"
+ },
+ "BTN": {
+ "name": "Bhoetanese ngoeltroem"
+ },
+ "BOB": {
+ "name": "Boliviaanse boliviano"
+ },
+ "BAM": {
+ "name": "Bosnies-Herzegowiniese omskakelbare marka"
+ },
+ "BWP": {
+ "name": "Botswana pula"
+ },
+ "BRL": {
+ "name": "Brasilliaanse reaal",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "Britse pond",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Broeneise dollar"
+ },
+ "BGN": {
+ "name": "Bulgaarse lev"
+ },
+ "BIF": {
+ "name": "Burundiese frank"
+ },
+ "KYD": {
+ "name": "Cayman-eilande dollar"
+ },
+ "XOF": {
+ "name": "CFA frank BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "CFA frank BEAC",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP-frank",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chileense peso"
+ },
+ "COP": {
+ "name": "Colombiaanse peso"
+ },
+ "KMF": {
+ "name": "Comoraanse frank"
+ },
+ "CRC": {
+ "name": "Costa Ricaanse colón"
+ },
+ "DKK": {
+ "name": "Deense kroon"
+ },
+ "DJF": {
+ "name": "Djiboeti frank"
+ },
+ "DOP": {
+ "name": "Dominikaanse peso"
+ },
+ "EGP": {
+ "name": "Egiptiese pond"
+ },
+ "ERN": {
+ "name": "Eritrese nakfa"
+ },
+ "ETB": {
+ "name": "Etiopiese birr"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland-eilande pond"
+ },
+ "FJD": {
+ "name": "Fidjiaanse dollar"
+ },
+ "PHP": {
+ "name": "Filippynse peso"
+ },
+ "GMD": {
+ "name": "Gambiese dalasi"
+ },
+ "GEL": {
+ "name": "Georgiese lari"
+ },
+ "GHS": {
+ "name": "Ghanese cedi"
+ },
+ "GIP": {
+ "name": "Gibraltarese pond"
+ },
+ "GTQ": {
+ "name": "Guatemalaanse quetzal"
+ },
+ "GNF": {
+ "name": "Guinese frank"
+ },
+ "GYD": {
+ "name": "Guyanese dollar"
+ },
+ "HTG": {
+ "name": "Haïtiaanse gourde"
+ },
+ "HNL": {
+ "name": "Hondurese lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hongaarse florint"
+ },
+ "INR": {
+ "name": "Indiese roepee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesiese roepia"
+ },
+ "IQD": {
+ "name": "Irakse dinar"
+ },
+ "IRR": {
+ "name": "Iranse rial"
+ },
+ "ILS": {
+ "name": "Israeliese nuwe sikkel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaikaanse dollar"
+ },
+ "JPY": {
+ "name": "Japannese jen",
+ "symbol": "JP¥"
+ },
+ "YER": {
+ "name": "Jemenitiese rial"
+ },
+ "JOD": {
+ "name": "Jordaniese dinar"
+ },
+ "CVE": {
+ "name": "Kaap Verdiese escudo"
+ },
+ "KHR": {
+ "name": "Kambodjaanse riel"
+ },
+ "CAD": {
+ "name": "Kanadese dollar",
+ "symbol": "CA$"
+ },
+ "QAR": {
+ "name": "Katarrese rial"
+ },
+ "KZT": {
+ "name": "Kazakse tenge"
+ },
+ "KES": {
+ "name": "Keniaanse sjieling"
+ },
+ "KGS": {
+ "name": "Kirgisiese som"
+ },
+ "KWD": {
+ "name": "Koeweitse dinar"
+ },
+ "CDF": {
+ "name": "Kongolese frank"
+ },
+ "HRK": {
+ "name": "Kroatiese kuna"
+ },
+ "CUC": {
+ "name": "Kubaanse omskakelbare peso"
+ },
+ "CUP": {
+ "name": "Kubaanse peso"
+ },
+ "LAK": {
+ "name": "Laosiaanse kip"
+ },
+ "LBP": {
+ "name": "Lebanese pond"
+ },
+ "LSL": {
+ "name": "Lesotho loti"
+ },
+ "LRD": {
+ "name": "Liberiese dollar"
+ },
+ "LYD": {
+ "name": "Libiese dinar"
+ },
+ "MOP": {
+ "name": "Macaose pataca"
+ },
+ "MKD": {
+ "name": "Macedoniese denar"
+ },
+ "MWK": {
+ "name": "Malawiese kwacha"
+ },
+ "MVR": {
+ "name": "Malediviese rufia"
+ },
+ "MYR": {
+ "name": "Maleisiese ringgit"
+ },
+ "MGA": {
+ "name": "Malgassiese ariary"
+ },
+ "MAD": {
+ "name": "Marokkaanse dirham"
+ },
+ "MRO": {
+ "name": "Mauritaniese ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritiaanse rupee"
+ },
+ "MXN": {
+ "name": "Meksikaanse peso"
+ },
+ "MMK": {
+ "name": "Mianmese kyat"
+ },
+ "MDL": {
+ "name": "Moldowiese leu"
+ },
+ "MNT": {
+ "name": "Mongoolse toegrik"
+ },
+ "MZN": {
+ "name": "Mosambiekse metical"
+ },
+ "NAD": {
+ "name": "Namibiese dollar"
+ },
+ "ANG": {
+ "name": "Nederlands-Antilliaanse gulde"
+ },
+ "NPR": {
+ "name": "Nepalese roepee"
+ },
+ "NIO": {
+ "name": "Nicaraguaanse córdoba"
+ },
+ "NZD": {
+ "name": "Nieu-Seeland dollar",
+ "symbol": "NZ$"
+ },
+ "NGN": {
+ "name": "Nigeriese naira"
+ },
+ "KPW": {
+ "name": "Noord-Koreaanse won"
+ },
+ "NOK": {
+ "name": "Noorse kroon"
+ },
+ "TWD": {
+ "name": "Nuwe Taiwanese dollar",
+ "symbol": "NT$"
+ },
+ "UAH": {
+ "name": "Oekraïnse hriwna"
+ },
+ "UZS": {
+ "name": "Oezbekiese som"
+ },
+ "OMR": {
+ "name": "Omaanse rial"
+ },
+ "XCD": {
+ "name": "Oos-Karibbiese dollar",
+ "symbol": "EC$"
+ },
+ "PKR": {
+ "name": "Pakistanse roepee"
+ },
+ "PAB": {
+ "name": "Panamese balboa"
+ },
+ "PGK": {
+ "name": "Papoea-Nieu-Guinese kina"
+ },
+ "PYG": {
+ "name": "Paraguaanse guarani"
+ },
+ "PEN": {
+ "name": "Peruaanse nuwe sol"
+ },
+ "PLN": {
+ "name": "Poolse zloty"
+ },
+ "RON": {
+ "name": "Roemeense leu"
+ },
+ "RUB": {
+ "name": "Russiese roebel"
+ },
+ "RWF": {
+ "name": "Rwandiese frank"
+ },
+ "SBD": {
+ "name": "Salomonseilande dollar"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoaanse tala"
+ },
+ "STD": {
+ "name": "São Tomé en Príncipe dobra"
+ },
+ "SAR": {
+ "name": "Saoedi-Arabiese riyal"
+ },
+ "RSD": {
+ "name": "Serbiese dinar"
+ },
+ "SCR": {
+ "name": "Seychellese rupee"
+ },
+ "SLL": {
+ "name": "Sierra Leoniese leone"
+ },
+ "SGD": {
+ "name": "Singapoer dollar"
+ },
+ "SHP": {
+ "name": "Sint Helena pond"
+ },
+ "SYP": {
+ "name": "Siriese pond"
+ },
+ "CNY": {
+ "name": "Sjinese joean renminbi",
+ "symbol": "CN¥"
+ },
+ "SDG": {
+ "name": "Soedannese pond"
+ },
+ "SOS": {
+ "name": "Somaliese sjieling"
+ },
+ "LKR": {
+ "name": "Sri Lankaanse roepee"
+ },
+ "ZAR": {
+ "name": "Suid-Afrikaanse rand",
+ "symbol": "R"
+ },
+ "KRW": {
+ "name": "Suid-Koreaanse won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "Suid-Soedanese pond"
+ },
+ "SRD": {
+ "name": "Surinaamse dollar"
+ },
+ "SZL": {
+ "name": "Swazilandse lilangeni"
+ },
+ "SEK": {
+ "name": "Sweedse kroon"
+ },
+ "CHF": {
+ "name": "Switserse frank"
+ },
+ "TJS": {
+ "name": "Tadjikse roebel"
+ },
+ "TZS": {
+ "name": "Tanzaniese sjieling"
+ },
+ "THB": {
+ "name": "Thaise baht",
+ "symbol": "฿"
+ },
+ "TOP": {
+ "name": "Tongaanse pa’anga"
+ },
+ "TTD": {
+ "name": "Trinidad en Tobago dollar"
+ },
+ "CZK": {
+ "name": "Tsjeggiese kroon"
+ },
+ "TND": {
+ "name": "Tunisiese dinar"
+ },
+ "TMT": {
+ "name": "Turkmeense manat"
+ },
+ "TRY": {
+ "name": "Turkse lier"
+ },
+ "UGX": {
+ "name": "Ugandese sjieling"
+ },
+ "UYU": {
+ "name": "Uruguaanse peso"
+ },
+ "VUV": {
+ "name": "Vanuatuse vatu"
+ },
+ "VEF": {
+ "name": "Venezolaanse bolivar"
+ },
+ "AED": {
+ "name": "Verenigde Arabiese Emirate dirham"
+ },
+ "VND": {
+ "name": "Viëtnamese dong",
+ "symbol": "₫"
+ },
+ "ISK": {
+ "name": "Yslandse kroon"
+ },
+ "ZMW": {
+ "name": "Zambiese kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/agq.json b/vendor/commerceguys/intl/resources/currency/agq.json
new file mode 100644
index 000000000..d23dcf674
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/agq.json
@@ -0,0 +1,496 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "MGA": {
+ "name": "Àlǐalè è Màlàgasì"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Ruble"
+ },
+ "BYR": {
+ "name": "Belarusian Ruble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "ETB": {
+ "name": "Bîi è Etyǒkpìa"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "GBP": {
+ "name": "Bɔ̀ŋ è Bèletì",
+ "symbol": "£"
+ },
+ "EGP": {
+ "name": "Bɔ̀ŋ è Edzì"
+ },
+ "SHP": {
+ "name": "Bɔ̀ŋ è Sɛ̀n Èlenà"
+ },
+ "SDG": {
+ "name": "Bɔ̀ŋ è Sùdànê"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XOF": {
+ "name": "CFA Fàlâŋ BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "CFA Fàlâŋ BEAC",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "GMD": {
+ "name": "Dàlasì è Gambìa"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "MAD": {
+ "name": "Dilàm è Mòlokò"
+ },
+ "AED": {
+ "name": "Dilàm è Yùnaetɛ Alab Emelɛ̀"
+ },
+ "DZD": {
+ "name": "Dinà è Àdzɛlìa"
+ },
+ "BHD": {
+ "name": "Dinà è Balae"
+ },
+ "LYD": {
+ "name": "Dinà è Lebìa"
+ },
+ "TND": {
+ "name": "Dinà è Tùwneshìa"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "STD": {
+ "name": "Dɔbàlà è Sàwu Tɔ̀me à Pèlènsipè"
+ },
+ "CAD": {
+ "name": "Dɔlà è Kanadà",
+ "symbol": "CA$"
+ },
+ "NAD": {
+ "name": "Dɔlà è Nàmibìa"
+ },
+ "USD": {
+ "name": "Dɔlà è US",
+ "symbol": "US$"
+ },
+ "AUD": {
+ "name": "Dɔlà e Ùsɨ̀tɛ̀lɛlìa",
+ "symbol": "A$"
+ },
+ "LRD": {
+ "name": "Dɔlà Làebɛlìa"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "BIF": {
+ "name": "Fàlâŋ è Bùlundì"
+ },
+ "DJF": {
+ "name": "Fàlâŋ è Dzìbutì"
+ },
+ "KMF": {
+ "name": "Fàlâŋ è Komolìa"
+ },
+ "CDF": {
+ "name": "Fàlâŋ è Kuŋgùlê"
+ },
+ "RWF": {
+ "name": "Fàlâŋ è Lùwandà"
+ },
+ "CHF": {
+ "name": "Fàlâŋ è Sues"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "JPY": {
+ "name": "Ghɨ̂n Dzàkpànê",
+ "symbol": "JP¥"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "CVE": {
+ "name": "Kàbòvàdianù è Èsùkudò"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "BWP": {
+ "name": "Kpuwlà è Botɨshǔanà"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "MWK": {
+ "name": "Kwachà è Màlawè"
+ },
+ "ZMW": {
+ "name": "Kwachà è Zambìa"
+ },
+ "AOA": {
+ "name": "Kwanzà è Àŋgolà"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "ZAR": {
+ "name": "Lân è Afɨlekà ghɨ Emàm ghò"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "SZL": {
+ "name": "Lèlàŋgenè"
+ },
+ "SAR": {
+ "name": "Leyà è Sàwudì"
+ },
+ "LSL": {
+ "name": "Lɔtì Lèsutù"
+ },
+ "INR": {
+ "name": "Lukpì è Endìa",
+ "symbol": "₹"
+ },
+ "MUR": {
+ "name": "Lukpìi è Mùleshòs"
+ },
+ "SCR": {
+ "name": "Lukpìi è Sɛchɛ̀lɛ̀"
+ },
+ "SLL": {
+ "name": "Lyɔ̂ŋ"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NGN": {
+ "name": "Naelà è Gɨ̀anyɨ"
+ },
+ "ERN": {
+ "name": "Nakafa è Èletɨ̀làe"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Ruble"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SOS": {
+ "name": "Shwɨlà è Sùmalìa"
+ },
+ "TZS": {
+ "name": "Shwɨlà è Tàanzanyìa"
+ },
+ "UGX": {
+ "name": "Shwɨlà è Yùgandà"
+ },
+ "KES": {
+ "name": "Shwɨlà tɨ Kenyà"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "MRO": {
+ "name": "Ùgueya è Mùlètenyìa"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "EUR": {
+ "name": "Yulù",
+ "symbol": "€"
+ },
+ "CNY": {
+ "name": "Yùwân Lèmembi è Chaenî",
+ "symbol": "CN¥"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/ak.json b/vendor/commerceguys/intl/resources/currency/ak.json
new file mode 100644
index 000000000..f866fb612
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/ak.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ZAR": {
+ "name": "Afrika Anaafo Rand"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "USD": {
+ "name": "Amɛrika Dɔla",
+ "symbol": "US$"
+ },
+ "AOA": {
+ "name": "Angola Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BHD": {
+ "name": "Baren Dina"
+ },
+ "BYN": {
+ "name": "Belarusian Ruble"
+ },
+ "BYR": {
+ "name": "Belarusian Ruble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswana Pula"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "Breten Pɔn",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundi Frank"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egypt Pɔn"
+ },
+ "AED": {
+ "name": "Ɛmirete Arab Nkabɔmu Deram"
+ },
+ "ERN": {
+ "name": "Ɛretereya Nakfa"
+ },
+ "CVE": {
+ "name": "Ɛskudo"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambia Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghana Sidi",
+ "symbol": "GH₵"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "JPY": {
+ "name": "Gyapan Yɛn",
+ "symbol": "JP¥"
+ },
+ "DJF": {
+ "name": "Gyebuti Frank"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "INR": {
+ "name": "India Rupi",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "EUR": {
+ "name": "Iro",
+ "symbol": "€"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "ETB": {
+ "name": "Itiopia Bir"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "CAD": {
+ "name": "Kanada Dɔla",
+ "symbol": "CA$"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kenya Hyelen"
+ },
+ "KMF": {
+ "name": "Komoro Frank"
+ },
+ "CDF": {
+ "name": "Kongo Frank"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LRD": {
+ "name": "Laeberia Dɔla"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "SLL": {
+ "name": "Leone"
+ },
+ "LSL": {
+ "name": "Lesoto Loti"
+ },
+ "LYD": {
+ "name": "Libya Dina"
+ },
+ "SZL": {
+ "name": "Lilangeni"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Madagasi Frank"
+ },
+ "MWK": {
+ "name": "Malawi Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MAD": {
+ "name": "Moroko Diram"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MUR": {
+ "name": "Mɔrehyeɔs Rupi"
+ },
+ "MRO": {
+ "name": "Mɔretenia Ouguiya"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NGN": {
+ "name": "Naegyeria Naira"
+ },
+ "NAD": {
+ "name": "Namibia Dɔla"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "DZD": {
+ "name": "Ɔlgyeria Dina"
+ },
+ "AUD": {
+ "name": "Ɔstrelia Dɔla",
+ "symbol": "A$"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RWF": {
+ "name": "Rewanda Frank"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Ruble"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "Sao Tome ne Principe Dobra"
+ },
+ "SAR": {
+ "name": "Saudi Riyal"
+ },
+ "XAF": {
+ "name": "Sefa",
+ "symbol": "FCFA"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "Seyhyɛls Rupi"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somailia Hyelen"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SHP": {
+ "name": "St Helena Pɔn"
+ },
+ "SDG": {
+ "name": "Sudan Dina"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swiss Franc"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzania Hyelen"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunisia Dina"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Uganda Hyelen"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "CNY": {
+ "name": "Yuan",
+ "symbol": "CN¥"
+ },
+ "ZMW": {
+ "name": "Zambia Kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/am.json b/vendor/commerceguys/intl/resources/currency/am.json
new file mode 100644
index 000000000..e96d302ec
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/am.json
@@ -0,0 +1,498 @@
+{
+ "MDL": {
+ "name": "ሞልዶቫን ሊኡ"
+ },
+ "XPF": {
+ "name": "ሲ ኤፍ ፒ ፍራንክ",
+ "symbol": "CFPF"
+ },
+ "WST": {
+ "name": "ሳሞአን ታላ"
+ },
+ "BTN": {
+ "name": "ብሁታኒዝ ንጉልትረም"
+ },
+ "TMT": {
+ "name": "ቱርክሜኒስታኒ ማናት"
+ },
+ "TOP": {
+ "name": "ቶንጋን ፓ’አንጋ"
+ },
+ "CZK": {
+ "name": "ቼክ ሪፐብሊክ ኮሩና"
+ },
+ "ANG": {
+ "name": "ኔዘርላንድስ አንቲሊአን ጊልደር"
+ },
+ "AWG": {
+ "name": "አሩባን ፍሎሪን"
+ },
+ "HUF": {
+ "name": "የሁንጋሪ ፎሪንት"
+ },
+ "HNL": {
+ "name": "የሃንዱራ ሌምፓአይራ"
+ },
+ "HTG": {
+ "name": "የሃያቲ ጓርዴ"
+ },
+ "HKD": {
+ "name": "የሆንግኮንግ ዶላር",
+ "symbol": "HK$"
+ },
+ "LYD": {
+ "name": "የሊቢያ ዲናር"
+ },
+ "LBP": {
+ "name": "የሊባኖስ ፓውንድ"
+ },
+ "LAK": {
+ "name": "የላኦቲ ኪፕ"
+ },
+ "LRD": {
+ "name": "የላይቤሪያ ዶላር"
+ },
+ "LSL": {
+ "name": "የሌሶቶ ሎቲ"
+ },
+ "INR": {
+ "name": "የሕንድ ሩፒ",
+ "symbol": "₹"
+ },
+ "XAF": {
+ "name": "የመካከለኛው አፍሪካ ሴፋ ፍራንክ",
+ "symbol": "FCFA"
+ },
+ "MWK": {
+ "name": "የማላዊ ኩዋቻ"
+ },
+ "MYR": {
+ "name": "የማሌዥያ ሪንጊት"
+ },
+ "MVR": {
+ "name": "የማልዲቫ ሩፊያ"
+ },
+ "MOP": {
+ "name": "የማካኔዝ ፓታካ"
+ },
+ "MMK": {
+ "name": "የማያናማር ክያት"
+ },
+ "MGA": {
+ "name": "የማደጋስካር ማላጋስይ አሪያርይ"
+ },
+ "MKD": {
+ "name": "የሜቆድንያ ዲናር"
+ },
+ "MXN": {
+ "name": "የሜክሲኮ ፔሶ",
+ "symbol": "MX$"
+ },
+ "XOF": {
+ "name": "የምዕራብ አፍሪካ ሴፋ ፍራንክ",
+ "symbol": "CFA"
+ },
+ "XCD": {
+ "name": "የምዕራብ ካሪብያን ዶላር",
+ "symbol": "EC$"
+ },
+ "MUR": {
+ "name": "የሞሪሸስ ሩፒ"
+ },
+ "MRO": {
+ "name": "የሞሪቴኒያ ኦውጉያ"
+ },
+ "MAD": {
+ "name": "የሞሮኮ ዲርሀም"
+ },
+ "MNT": {
+ "name": "የሞንጎሊያን ቱግሪክ"
+ },
+ "MZN": {
+ "name": "የሞዛምቢክ ሜቲካል"
+ },
+ "RUB": {
+ "name": "የሩስያ ሩብል"
+ },
+ "RWF": {
+ "name": "የሩዋንዳ ፍራንክ"
+ },
+ "RON": {
+ "name": "የሮማኒያ ለው"
+ },
+ "SBD": {
+ "name": "የሰለሞን ደሴቶች ዶላር"
+ },
+ "KPW": {
+ "name": "የሰሜን ኮሪያ ዎን"
+ },
+ "RSD": {
+ "name": "የሰርቢያ ዲናር"
+ },
+ "SRD": {
+ "name": "የሰርናሜዝ ዶላር"
+ },
+ "SDG": {
+ "name": "የሱዳን ዲናር"
+ },
+ "LKR": {
+ "name": "የሲሪላንካ ሩፒ"
+ },
+ "SYP": {
+ "name": "የሲሪያ ፓውንድ"
+ },
+ "SCR": {
+ "name": "የሲሼል ሩፒ"
+ },
+ "SGD": {
+ "name": "የሲንጋፖር ዶላር"
+ },
+ "STD": {
+ "name": "የሳኦ ቶመ እና ፕሪንሲፐ ዶብራ"
+ },
+ "SAR": {
+ "name": "የሳውዲ ሪያል"
+ },
+ "SLL": {
+ "name": "የሴራሊዎን ሊዎን"
+ },
+ "SHP": {
+ "name": "የሴይንት ሔሌና ፓውንድ"
+ },
+ "CHF": {
+ "name": "የስዊስ ፍራንክ"
+ },
+ "SEK": {
+ "name": "የስዊድን ክሮና"
+ },
+ "SZL": {
+ "name": "የስዋዚላንድ ሊላንገኒ"
+ },
+ "SOS": {
+ "name": "የሶማሌ ሺሊንግ"
+ },
+ "BGN": {
+ "name": "የቡልጋሪያ ሌቭ"
+ },
+ "BSD": {
+ "name": "የባሃማስ ዶላር"
+ },
+ "BBD": {
+ "name": "የባርቤዶስ ዶላር"
+ },
+ "BDT": {
+ "name": "የባንግላዲሽ ታካ"
+ },
+ "BHD": {
+ "name": "የባኽሬን ዲናር"
+ },
+ "BZD": {
+ "name": "የቤሊዝ ዶላር"
+ },
+ "BYN": {
+ "name": "የቤላሩስያ ሩብል"
+ },
+ "BYR": {
+ "name": "የቤላሩስያ ሩብል (2000–2016)"
+ },
+ "BMD": {
+ "name": "የቤርሙዳ ዶላር"
+ },
+ "BND": {
+ "name": "የብሩኔ ዶላር"
+ },
+ "BIF": {
+ "name": "የብሩንዲ ፍራንክ"
+ },
+ "BRL": {
+ "name": "የብራዚል ሪል",
+ "symbol": "R$"
+ },
+ "BOB": {
+ "name": "የቦሊቪያ ቦሊቪያኖ"
+ },
+ "BAM": {
+ "name": "የቦስኒያ ሄርዞጎቪና የሚመነዘር ማርክ"
+ },
+ "BWP": {
+ "name": "የቦትስዋና ፑላ"
+ },
+ "VUV": {
+ "name": "የቫንዋንቱ ቫቱ"
+ },
+ "VEF": {
+ "name": "የቬንዝዌላ ቦሊቫር"
+ },
+ "VND": {
+ "name": "የቭየትናም ዶንግ",
+ "symbol": "₫"
+ },
+ "AED": {
+ "name": "የተባበሩት የአረብ ኤምረትስ ዲርሀም"
+ },
+ "TRY": {
+ "name": "የቱርክ ሊራ"
+ },
+ "TND": {
+ "name": "የቱኒዚያ ዲናር"
+ },
+ "TZS": {
+ "name": "የታንዛኒያ ሺሊንግ"
+ },
+ "THB": {
+ "name": "የታይላንድ ባህት",
+ "symbol": "฿"
+ },
+ "TJS": {
+ "name": "የታጂክስታን ሶሞኒ"
+ },
+ "TTD": {
+ "name": "የትሪንዳድ እና ቶቤጎዶላር"
+ },
+ "CLP": {
+ "name": "የቺሊ ፔሶ"
+ },
+ "CNY": {
+ "name": "የቻይና የን",
+ "symbol": "CN¥"
+ },
+ "NIO": {
+ "name": "የኒካራጓ ኮርዶባ"
+ },
+ "NZD": {
+ "name": "የኒውዚላንድ ዶላር",
+ "symbol": "NZ$"
+ },
+ "NAD": {
+ "name": "የናሚቢያ ዶላር"
+ },
+ "NGN": {
+ "name": "የናይጄሪያ ናይራ"
+ },
+ "NPR": {
+ "name": "የኔፓል ሩፒ"
+ },
+ "NOK": {
+ "name": "የኖርዌይ ክሮን"
+ },
+ "ALL": {
+ "name": "የአልባንያ ሌክ"
+ },
+ "DZD": {
+ "name": "የአልጄሪያ ዲናር"
+ },
+ "USD": {
+ "name": "የአሜሪካን ዶላር",
+ "symbol": "US$"
+ },
+ "AMD": {
+ "name": "የአርመን ድራም"
+ },
+ "ARS": {
+ "name": "የአርጀንቲና ፔሶ"
+ },
+ "AOA": {
+ "name": "የአንጎላ ኩዋንዛ"
+ },
+ "AUD": {
+ "name": "የአውስትራሊያ ዶላር",
+ "symbol": "AU$"
+ },
+ "AZN": {
+ "name": "የአዛርባጃን ማናት"
+ },
+ "ISK": {
+ "name": "የአይስላንድ ክሮና"
+ },
+ "TWD": {
+ "name": "የአዲሷ ታይዋን ዶላር",
+ "symbol": "NT$"
+ },
+ "AFN": {
+ "name": "የአፍጋን አፍጋኒ"
+ },
+ "UYU": {
+ "name": "የኡራጓይ ፔሶ"
+ },
+ "UZS": {
+ "name": "የኡዝፔኪስታን ሶም"
+ },
+ "IQD": {
+ "name": "የኢራቅ ዲናር"
+ },
+ "IRR": {
+ "name": "የኢራን ሪአል"
+ },
+ "ETB": {
+ "name": "የኢትዮጵያ ብር",
+ "symbol": "ብር"
+ },
+ "IDR": {
+ "name": "የኢንዶኔዥያ ሩፒሃ"
+ },
+ "ERN": {
+ "name": "የኤርትራ ናቅፋ"
+ },
+ "ILS": {
+ "name": "የእስራኤል አዲስ ሽቅል",
+ "symbol": "₪"
+ },
+ "GBP": {
+ "name": "የእንግሊዝ ፓውንድ ስተርሊንግ",
+ "symbol": "£"
+ },
+ "OMR": {
+ "name": "የኦማን ሪአል"
+ },
+ "CUC": {
+ "name": "የኩባ የሚመነዘር ፔሶ"
+ },
+ "CUP": {
+ "name": "የኩባ ፔሶ"
+ },
+ "KWD": {
+ "name": "የኩዌት ዲናር"
+ },
+ "KGS": {
+ "name": "የኪርጊስታን ሶም"
+ },
+ "KHR": {
+ "name": "የካምቦዲያ ሬል"
+ },
+ "CAD": {
+ "name": "የካናዳ ዶላር",
+ "symbol": "CA$"
+ },
+ "KZT": {
+ "name": "የካዛኪስታን ተንጌ"
+ },
+ "KYD": {
+ "name": "የካይማን ደሴቶች ዶላር"
+ },
+ "KES": {
+ "name": "የኬኒያ ሺሊንግ"
+ },
+ "CVE": {
+ "name": "የኬፕ ቫርዲ ኤስኩዶ"
+ },
+ "HRK": {
+ "name": "የክሮሽያ ኩና"
+ },
+ "COP": {
+ "name": "የኮሎምቢያ ፔሶ"
+ },
+ "KMF": {
+ "name": "የኮሞሮ ፍራንክ"
+ },
+ "CRC": {
+ "name": "የኮስታሪካ ኮሎን"
+ },
+ "CDF": {
+ "name": "የኮንጐ ፍራንክ ኮንጐሌዝ"
+ },
+ "QAR": {
+ "name": "የኳታር ሪአል"
+ },
+ "ZMW": {
+ "name": "የዛምቢያ ክዋቻ"
+ },
+ "YER": {
+ "name": "የየመን ሪአል"
+ },
+ "UAH": {
+ "name": "የዩክሬን ሀሪይቭኒአ"
+ },
+ "UGX": {
+ "name": "የዩጋንዳ ሺሊንግ"
+ },
+ "SSP": {
+ "name": "የደቡብ ሱዳን ፓውንድ"
+ },
+ "ZAR": {
+ "name": "የደቡብ አፍሪካ ራንድ"
+ },
+ "KRW": {
+ "name": "የደቡብ ኮሪያ ዎን",
+ "symbol": "₩"
+ },
+ "DKK": {
+ "name": "የዴንማርክ ክሮን"
+ },
+ "DOP": {
+ "name": "የዶሚኒክ ፔሶ"
+ },
+ "JMD": {
+ "name": "የጃማይካ ዶላር"
+ },
+ "JPY": {
+ "name": "የጃፓን የን",
+ "symbol": "JP¥"
+ },
+ "DJF": {
+ "name": "የጅቡቲ ፍራንክ"
+ },
+ "JOD": {
+ "name": "የጆርዳን ዲናር"
+ },
+ "GEL": {
+ "name": "የጆርጅያ ላሪ"
+ },
+ "GYD": {
+ "name": "የጉየና ዶላር"
+ },
+ "GNF": {
+ "name": "የጊኒ ፍራንክ"
+ },
+ "GMD": {
+ "name": "የጋምቢያ ዳላሲ"
+ },
+ "GHS": {
+ "name": "የጋና ሲዲ"
+ },
+ "EGP": {
+ "name": "የግብጽ ፓውንድ"
+ },
+ "PHP": {
+ "name": "የፊሊፒንስ ፔሶ"
+ },
+ "FJD": {
+ "name": "የፊጂ ዶላር"
+ },
+ "FKP": {
+ "name": "የፎክላንድ ደሴቶች ፓውንድ"
+ },
+ "PYG": {
+ "name": "የፓራጓይ ጉአራኒ"
+ },
+ "PKR": {
+ "name": "የፓኪስታን ሩፒ"
+ },
+ "PGK": {
+ "name": "የፓፕዋ ኒው ጊኒ ኪና"
+ },
+ "PEN": {
+ "name": "የፔሩቪያ ኑኤቮ ሶል"
+ },
+ "PLN": {
+ "name": "የፖላንድ ዝሎቲ"
+ },
+ "EUR": {
+ "name": "ዩሮ",
+ "symbol": "€"
+ },
+ "GIP": {
+ "name": "ጂብራልተር ፓውንድ"
+ },
+ "GTQ": {
+ "name": "ጓቲማላን ኩቲዛል"
+ },
+ "PAB": {
+ "name": "ፓናማኒአን ባልቦአ"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/ar.json b/vendor/commerceguys/intl/resources/currency/ar.json
new file mode 100644
index 000000000..b2ed83b64
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/ar.json
@@ -0,0 +1,517 @@
+{
+ "MGA": {
+ "name": "أرياري مدغشقر"
+ },
+ "CVE": {
+ "name": "اسكودو الرأس الخضراء"
+ },
+ "AFN": {
+ "name": "أفغاني"
+ },
+ "MRO": {
+ "name": "أوقية موريتانية",
+ "symbol": "أ.م.‏"
+ },
+ "MOP": {
+ "name": "باتاكا ماكاوي"
+ },
+ "THB": {
+ "name": "باخت تايلاندي",
+ "symbol": "฿"
+ },
+ "PAB": {
+ "name": "بالبوا بنمي"
+ },
+ "TOP": {
+ "name": "بانغا تونغا"
+ },
+ "BWP": {
+ "name": "بولا بتسواني"
+ },
+ "VEF": {
+ "name": "بوليفار فنزويلي"
+ },
+ "BOB": {
+ "name": "بوليفيانو بوليفي"
+ },
+ "ETB": {
+ "name": "بير أثيوبي"
+ },
+ "ARS": {
+ "name": "بيزو أرجنتيني"
+ },
+ "DOP": {
+ "name": "بيزو الدومنيكان"
+ },
+ "UYU": {
+ "name": "بيزو اوروغواي"
+ },
+ "CLP": {
+ "name": "بيزو شيلي"
+ },
+ "PHP": {
+ "name": "بيزو فلبيني"
+ },
+ "CUP": {
+ "name": "بيزو كوبي"
+ },
+ "CUC": {
+ "name": "بيزو كوبي قابل للتحويل"
+ },
+ "COP": {
+ "name": "بيزو كولومبي"
+ },
+ "MXN": {
+ "name": "بيزو مكسيكي",
+ "symbol": "MX$"
+ },
+ "BDT": {
+ "name": "تاكا بنجلاديشي"
+ },
+ "WST": {
+ "name": "تالا ساموا"
+ },
+ "MNT": {
+ "name": "توغروغ منغولي"
+ },
+ "KZT": {
+ "name": "تينغ كازاخستاني"
+ },
+ "GBP": {
+ "name": "جنيه إسترليني",
+ "symbol": "£"
+ },
+ "GIP": {
+ "name": "جنيه جبل طارق"
+ },
+ "FKP": {
+ "name": "جنيه جزر فوكلاند"
+ },
+ "SSP": {
+ "name": "جنيه جنوب السودان"
+ },
+ "SHP": {
+ "name": "جنيه سانت هيلين"
+ },
+ "SDG": {
+ "name": "جنيه سوداني",
+ "symbol": "ج.س."
+ },
+ "LBP": {
+ "name": "جنيه لبناني",
+ "symbol": "ل.ل.‏"
+ },
+ "EGP": {
+ "name": "جنيه مصري",
+ "symbol": "ج.م.‏"
+ },
+ "PYG": {
+ "name": "جواراني باراجواي"
+ },
+ "HTG": {
+ "name": "جوردى هايتي"
+ },
+ "AMD": {
+ "name": "درام أرميني"
+ },
+ "AED": {
+ "name": "درهم إماراتي",
+ "symbol": "د.إ.‏"
+ },
+ "MAD": {
+ "name": "درهم مغربي",
+ "symbol": "د.م.‏"
+ },
+ "GMD": {
+ "name": "دلاسي جامبي"
+ },
+ "STD": {
+ "name": "دوبرا ساو تومي وبرينسيبي"
+ },
+ "AUD": {
+ "name": "دولار أسترالي",
+ "symbol": "AU$"
+ },
+ "USD": {
+ "name": "دولار أمريكي",
+ "symbol": "US$"
+ },
+ "BSD": {
+ "name": "دولار باهامي"
+ },
+ "BBD": {
+ "name": "دولار بربادوسي"
+ },
+ "BMD": {
+ "name": "دولار برمودي"
+ },
+ "BND": {
+ "name": "دولار بروناي"
+ },
+ "BZD": {
+ "name": "دولار بليزي"
+ },
+ "TWD": {
+ "name": "دولار تايواني",
+ "symbol": "NT$"
+ },
+ "TTD": {
+ "name": "دولار ترينداد وتوباجو"
+ },
+ "JMD": {
+ "name": "دولار جامايكي"
+ },
+ "SBD": {
+ "name": "دولار جزر سليمان"
+ },
+ "KYD": {
+ "name": "دولار جزر كيمن"
+ },
+ "ZWL": {
+ "name": "دولار زمبابوي 2009"
+ },
+ "SGD": {
+ "name": "دولار سنغافوري"
+ },
+ "SRD": {
+ "name": "دولار سورينامي"
+ },
+ "XCD": {
+ "name": "دولار شرق الكاريبي",
+ "symbol": "EC$"
+ },
+ "GYD": {
+ "name": "دولار غيانا"
+ },
+ "FJD": {
+ "name": "دولار فيجي"
+ },
+ "CAD": {
+ "name": "دولار كندي",
+ "symbol": "CA$"
+ },
+ "LRD": {
+ "name": "دولار ليبيري"
+ },
+ "NAD": {
+ "name": "دولار ناميبي"
+ },
+ "NZD": {
+ "name": "دولار نيوزيلندي",
+ "symbol": "NZ$"
+ },
+ "HKD": {
+ "name": "دولار هونغ كونغ",
+ "symbol": "HK$"
+ },
+ "VND": {
+ "name": "دونج فيتنامي",
+ "symbol": "₫"
+ },
+ "JOD": {
+ "name": "دينار أردني",
+ "symbol": "د.أ.‏"
+ },
+ "BHD": {
+ "name": "دينار بحريني",
+ "symbol": "د.ب.‏"
+ },
+ "TND": {
+ "name": "دينار تونسي",
+ "symbol": "د.ت.‏"
+ },
+ "DZD": {
+ "name": "دينار جزائري",
+ "symbol": "د.ج.‏"
+ },
+ "RSD": {
+ "name": "دينار صربي"
+ },
+ "IQD": {
+ "name": "دينار عراقي",
+ "symbol": "د.ع.‏"
+ },
+ "KWD": {
+ "name": "دينار كويتي",
+ "symbol": "د.ك.‏"
+ },
+ "LYD": {
+ "name": "دينار ليبي",
+ "symbol": "د.ل.‏"
+ },
+ "MKD": {
+ "name": "دينار مقدوني"
+ },
+ "ZAR": {
+ "name": "راند جنوب أفريقيا"
+ },
+ "BYN": {
+ "name": "روبل بيلاروسي"
+ },
+ "BYR": {
+ "name": "روبل بيلاروسي (٢٠٠٠–٢٠١٦)"
+ },
+ "RUB": {
+ "name": "روبل روسي"
+ },
+ "IDR": {
+ "name": "روبية إندونيسية"
+ },
+ "PKR": {
+ "name": "روبية باكستاني"
+ },
+ "LKR": {
+ "name": "روبية سريلانكية"
+ },
+ "SCR": {
+ "name": "روبية سيشيلية"
+ },
+ "MUR": {
+ "name": "روبية موريشيوسية"
+ },
+ "NPR": {
+ "name": "روبية نيبالي"
+ },
+ "INR": {
+ "name": "روبية هندي",
+ "symbol": "₹"
+ },
+ "MVR": {
+ "name": "روفيه جزر المالديف"
+ },
+ "IRR": {
+ "name": "ريال إيراني",
+ "symbol": "ر.إ."
+ },
+ "BRL": {
+ "name": "ريال برازيلي",
+ "symbol": "R$"
+ },
+ "SAR": {
+ "name": "ريال سعودي",
+ "symbol": "ر.س.‏"
+ },
+ "OMR": {
+ "name": "ريال عماني",
+ "symbol": "ر.ع.‏"
+ },
+ "QAR": {
+ "name": "ريال قطري",
+ "symbol": "ر.ق.‏"
+ },
+ "YER": {
+ "name": "ريال يمني",
+ "symbol": "ر.ي.‏"
+ },
+ "MYR": {
+ "name": "رينغيت ماليزي"
+ },
+ "KHR": {
+ "name": "رييال كمبودي"
+ },
+ "PLN": {
+ "name": "زلوتي بولندي"
+ },
+ "PEN": {
+ "name": "سول جديد البيرو"
+ },
+ "UZS": {
+ "name": "سوم أوزبكستاني"
+ },
+ "KGS": {
+ "name": "سوم قيرغستاني"
+ },
+ "TJS": {
+ "name": "سوموني طاجيكستاني"
+ },
+ "GHS": {
+ "name": "سيدي غانا"
+ },
+ "UGX": {
+ "name": "شلن أوغندي"
+ },
+ "TZS": {
+ "name": "شلن تنزاني"
+ },
+ "SOS": {
+ "name": "شلن صومالي"
+ },
+ "KES": {
+ "name": "شلن كينيي"
+ },
+ "ILS": {
+ "name": "شيكل إسرائيلي جديد",
+ "symbol": "₪"
+ },
+ "ANG": {
+ "name": "غيلدر أنتيلي هولندي"
+ },
+ "VUV": {
+ "name": "فاتو فانواتو"
+ },
+ "BIF": {
+ "name": "فرنك بروندي"
+ },
+ "KMF": {
+ "name": "فرنك جزر القمر",
+ "symbol": "ف.ج.ق.‏"
+ },
+ "DJF": {
+ "name": "فرنك جيبوتي"
+ },
+ "RWF": {
+ "name": "فرنك رواندي"
+ },
+ "CHF": {
+ "name": "فرنك سويسري"
+ },
+ "XPF": {
+ "name": "فرنك سي إف بي",
+ "symbol": "CFPF"
+ },
+ "XOF": {
+ "name": "فرنك غرب أفريقي",
+ "symbol": "CFA"
+ },
+ "GNF": {
+ "name": "فرنك غينيا"
+ },
+ "CDF": {
+ "name": "فرنك كونغولي"
+ },
+ "XAF": {
+ "name": "فرنك وسط أفريقي",
+ "symbol": "FCFA"
+ },
+ "AWG": {
+ "name": "فلورن أروبي"
+ },
+ "HUF": {
+ "name": "فورينت مجري"
+ },
+ "NIO": {
+ "name": "قرطبة نيكاراغوا"
+ },
+ "CZK": {
+ "name": "كرونة تشيكية"
+ },
+ "DKK": {
+ "name": "كرونة دانماركي"
+ },
+ "SEK": {
+ "name": "كرونة سويدية"
+ },
+ "NOK": {
+ "name": "كرونة نرويجية"
+ },
+ "ISK": {
+ "name": "كرونه أيسلندي"
+ },
+ "ZMW": {
+ "name": "كواشا زامبي"
+ },
+ "MWK": {
+ "name": "كواشا مالاوي"
+ },
+ "AOA": {
+ "name": "كوانزا أنجولي"
+ },
+ "GTQ": {
+ "name": "كوتزال جواتيمالا"
+ },
+ "CRC": {
+ "name": "كولن كوستا ريكي"
+ },
+ "SVC": {
+ "name": "كولون سلفادوري"
+ },
+ "HRK": {
+ "name": "كونا كرواتي"
+ },
+ "MMK": {
+ "name": "كيات ميانمار"
+ },
+ "LAK": {
+ "name": "كيب لاوسي"
+ },
+ "PGK": {
+ "name": "كينا بابوا غينيا الجديدة"
+ },
+ "GEL": {
+ "name": "لارى جورجي"
+ },
+ "LSL": {
+ "name": "لوتي ليسوتو"
+ },
+ "TRY": {
+ "name": "ليرة تركية"
+ },
+ "SYP": {
+ "name": "ليرة سورية",
+ "symbol": "ل.س.‏"
+ },
+ "BGN": {
+ "name": "ليف بلغاري"
+ },
+ "ALL": {
+ "name": "ليك ألباني"
+ },
+ "SZL": {
+ "name": "ليلانجيني سوازيلندي"
+ },
+ "HNL": {
+ "name": "ليمبيرا هنداروس"
+ },
+ "RON": {
+ "name": "ليو روماني"
+ },
+ "MDL": {
+ "name": "ليو مولدوفي"
+ },
+ "SLL": {
+ "name": "ليون سيراليوني"
+ },
+ "BAM": {
+ "name": "مارك البوسنة والهرسك قابل للتحويل"
+ },
+ "AZN": {
+ "name": "مانات أذربيجان"
+ },
+ "TMT": {
+ "name": "مانات تركمانستان"
+ },
+ "MZN": {
+ "name": "متكال موزمبيقي"
+ },
+ "ERN": {
+ "name": "ناكفا أريتري"
+ },
+ "NGN": {
+ "name": "نايرا نيجيري"
+ },
+ "BTN": {
+ "name": "نولتوم بوتاني"
+ },
+ "UAH": {
+ "name": "هريفنيا أوكراني"
+ },
+ "KRW": {
+ "name": "وون كوريا الجنوبية",
+ "symbol": "₩"
+ },
+ "KPW": {
+ "name": "وون كوريا الشمالية"
+ },
+ "JPY": {
+ "name": "ين ياباني",
+ "symbol": "JP¥"
+ },
+ "CNY": {
+ "name": "يوان صيني",
+ "symbol": "CN¥"
+ },
+ "EUR": {
+ "name": "يورو",
+ "symbol": "€"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/asa.json b/vendor/commerceguys/intl/resources/currency/asa.json
new file mode 100644
index 000000000..168bb5ec9
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/asa.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Ruble"
+ },
+ "BYR": {
+ "name": "Belarusian Ruble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "ETB": {
+ "name": "bir ya Uhabeshi"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "GMD": {
+ "name": "dalathi ya Gambia"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DZD": {
+ "name": "dinari ya Aljeria"
+ },
+ "BHD": {
+ "name": "dinari ya Bahareni"
+ },
+ "LYD": {
+ "name": "dinari ya Libya"
+ },
+ "SDG": {
+ "name": "dinari ya Thudani"
+ },
+ "TND": {
+ "name": "dinari ya Tunithia"
+ },
+ "AED": {
+ "name": "dirham ya Falme dha Kiarabu"
+ },
+ "MAD": {
+ "name": "dirham ya Moroko"
+ },
+ "STD": {
+ "name": "dobra ya Thao Tome na Principe"
+ },
+ "AUD": {
+ "name": "dola ya Authtralia",
+ "symbol": "A$"
+ },
+ "CAD": {
+ "name": "dola ya Kanada",
+ "symbol": "CA$"
+ },
+ "LRD": {
+ "name": "dola ya Liberia"
+ },
+ "USD": {
+ "name": "dola ya Marekani",
+ "symbol": "US$"
+ },
+ "NAD": {
+ "name": "dola ya Namibia"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "CVE": {
+ "name": "ethkudo ya Kepuvede"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "XOF": {
+ "name": "faranga CFA BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "faranga CFA BEAC",
+ "symbol": "FCFA"
+ },
+ "MGA": {
+ "name": "faranga ya Bukini"
+ },
+ "BIF": {
+ "name": "faranga ya Burundi"
+ },
+ "DJF": {
+ "name": "faranga ya Jibuti"
+ },
+ "KMF": {
+ "name": "faranga ya Komoro"
+ },
+ "CDF": {
+ "name": "faranga ya Kongo"
+ },
+ "RWF": {
+ "name": "faranga ya Rwanda"
+ },
+ "CHF": {
+ "name": "faranga ya Uthwithi"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "ZMW": {
+ "name": "kwacha ya Dhambia"
+ },
+ "MWK": {
+ "name": "kwacha ya Malawi"
+ },
+ "AOA": {
+ "name": "kwandha ya Angola"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "SLL": {
+ "name": "leoni"
+ },
+ "SZL": {
+ "name": "lilangeni"
+ },
+ "LSL": {
+ "name": "loti ya Lethoto"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NGN": {
+ "name": "naira ya Nijeria"
+ },
+ "ERN": {
+ "name": "nakfa ya Eritrea"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "EGP": {
+ "name": "pauni ya Mithri"
+ },
+ "SHP": {
+ "name": "pauni ya Thantahelena"
+ },
+ "GBP": {
+ "name": "pauni ya Uingeredha",
+ "symbol": "£"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "BWP": {
+ "name": "pula ya Botthwana"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "ZAR": {
+ "name": "randi ya Afrika Kuthini"
+ },
+ "SAR": {
+ "name": "riyal ya Thaudia"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "INR": {
+ "name": "rupia ya India",
+ "symbol": "₹"
+ },
+ "MUR": {
+ "name": "rupia ya Morithi"
+ },
+ "SCR": {
+ "name": "rupia ya Shelisheli"
+ },
+ "RUB": {
+ "name": "Russian Ruble"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "KES": {
+ "name": "shilingi ya Kenya"
+ },
+ "TZS": {
+ "name": "shilingi ya Tandhania",
+ "symbol": "TSh"
+ },
+ "SOS": {
+ "name": "shilingi ya Thomalia"
+ },
+ "UGX": {
+ "name": "shilingi ya Uganda"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "JPY": {
+ "name": "tharafu ya Kijapani",
+ "symbol": "JP¥"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "MRO": {
+ "name": "ugwiya ya Moritania"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "CNY": {
+ "name": "yuan renminbi ya China",
+ "symbol": "CN¥"
+ },
+ "EUR": {
+ "name": "yuro",
+ "symbol": "€"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/ast.json b/vendor/commerceguys/intl/resources/currency/ast.json
new file mode 100644
index 000000000..88b9bf9e9
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/ast.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afganí afganistanu"
+ },
+ "MGA": {
+ "name": "Ariary malgaxe"
+ },
+ "THB": {
+ "name": "baht tailandés",
+ "symbol": "฿"
+ },
+ "PAB": {
+ "name": "Balboa panamiegu"
+ },
+ "ETB": {
+ "name": "Birr etíope"
+ },
+ "VEF": {
+ "name": "bolívar venezolanu"
+ },
+ "BOB": {
+ "name": "Bolivianu de Bolivia"
+ },
+ "GHS": {
+ "name": "cedi ghanianu"
+ },
+ "CRC": {
+ "name": "Colón costarricanu"
+ },
+ "SVC": {
+ "name": "Colón salvadorianu"
+ },
+ "NIO": {
+ "name": "Córdoba nicaraguanu"
+ },
+ "CZK": {
+ "name": "Corona checa"
+ },
+ "DKK": {
+ "name": "corona danesa"
+ },
+ "ISK": {
+ "name": "corona islandesa"
+ },
+ "NOK": {
+ "name": "corona noruega"
+ },
+ "SEK": {
+ "name": "corona sueca"
+ },
+ "GMD": {
+ "name": "dalasi gambianu"
+ },
+ "MKD": {
+ "name": "Denar macedoniu"
+ },
+ "DZD": {
+ "name": "dinar arxelín"
+ },
+ "BHD": {
+ "name": "Dinar baḥreiní"
+ },
+ "IQD": {
+ "name": "Dinar iraquín"
+ },
+ "KWD": {
+ "name": "Dinar kuwaitianu"
+ },
+ "LYD": {
+ "name": "dinar libiu"
+ },
+ "RSD": {
+ "name": "dinar serbiu"
+ },
+ "TND": {
+ "name": "dinar tunecín"
+ },
+ "JOD": {
+ "name": "Dinar xordanu"
+ },
+ "AED": {
+ "name": "Dirḥam de los Emiratos Árabes Xuníos"
+ },
+ "MAD": {
+ "name": "dirḥam marroquín"
+ },
+ "STD": {
+ "name": "dobra de Santu Tomé y Príncipe"
+ },
+ "AUD": {
+ "name": "Dólar australianu",
+ "symbol": "A$"
+ },
+ "BSD": {
+ "name": "Dólar bahamés"
+ },
+ "BBD": {
+ "name": "Dólar barbadianu"
+ },
+ "BZD": {
+ "name": "Dólar belizianu"
+ },
+ "BMD": {
+ "name": "Dólar bermudianu"
+ },
+ "BND": {
+ "name": "dólar bruneyanu"
+ },
+ "KYD": {
+ "name": "dólar caimanés"
+ },
+ "CAD": {
+ "name": "Dólar canadiense",
+ "symbol": "CA$"
+ },
+ "TTD": {
+ "name": "dólar de Trinidá y Tobagu"
+ },
+ "XCD": {
+ "name": "dólar del Caribe Oriental",
+ "symbol": "EC$"
+ },
+ "USD": {
+ "name": "Dólar estaunidense",
+ "symbol": "$"
+ },
+ "FJD": {
+ "name": "dólar fixanu"
+ },
+ "GYD": {
+ "name": "dólar guyanés"
+ },
+ "HKD": {
+ "name": "Dólar hongkonés",
+ "symbol": "HK$"
+ },
+ "LRD": {
+ "name": "dólar liberianu"
+ },
+ "NAD": {
+ "name": "Dólar namibianu"
+ },
+ "NZD": {
+ "name": "dólar neozelandés",
+ "symbol": "NZ$"
+ },
+ "TWD": {
+ "name": "Dólar nuevu taiwanés",
+ "symbol": "NT$"
+ },
+ "SBD": {
+ "name": "dólar salomonés"
+ },
+ "SGD": {
+ "name": "dólar singapuranu"
+ },
+ "SRD": {
+ "name": "dólar surinamés"
+ },
+ "JMD": {
+ "name": "Dólar xamaicanu"
+ },
+ "ZWL": {
+ "name": "Dólar zimbabuanu (2009)"
+ },
+ "VND": {
+ "name": "dong vietnamín",
+ "symbol": "₫"
+ },
+ "AMD": {
+ "name": "Dram armeniu"
+ },
+ "CVE": {
+ "name": "escudu cabuverdianu"
+ },
+ "EUR": {
+ "name": "euro",
+ "symbol": "€"
+ },
+ "AWG": {
+ "name": "Florín arubanu"
+ },
+ "HUF": {
+ "name": "Forint húngaru"
+ },
+ "BIF": {
+ "name": "Francu burundianu"
+ },
+ "XOF": {
+ "name": "francu CFA BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Francu CFA centroafricanu",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "francu CFP",
+ "symbol": "CFPF"
+ },
+ "KMF": {
+ "name": "Francu comoranu"
+ },
+ "CDF": {
+ "name": "francu congolés"
+ },
+ "GNF": {
+ "name": "francu guineanu"
+ },
+ "RWF": {
+ "name": "Francu ruandés"
+ },
+ "CHF": {
+ "name": "francu suizu"
+ },
+ "DJF": {
+ "name": "Francu xibutianu"
+ },
+ "HTG": {
+ "name": "Gourde haitianu"
+ },
+ "UAH": {
+ "name": "Grivna ucraína"
+ },
+ "PYG": {
+ "name": "guaraní paraguayu"
+ },
+ "ANG": {
+ "name": "Guílder de les Antilles Neerlandeses"
+ },
+ "PGK": {
+ "name": "kina papuana"
+ },
+ "LAK": {
+ "name": "kip laosianu"
+ },
+ "HRK": {
+ "name": "Kuna croata"
+ },
+ "MWK": {
+ "name": "Kwacha malauianu"
+ },
+ "ZMW": {
+ "name": "Kwacha zambianu"
+ },
+ "AOA": {
+ "name": "Kwanza angolanu"
+ },
+ "MMK": {
+ "name": "kyat de Myanmar"
+ },
+ "GEL": {
+ "name": "Lari xeorxanu"
+ },
+ "ALL": {
+ "name": "Lek albanés"
+ },
+ "HNL": {
+ "name": "Lempira hondurana"
+ },
+ "SLL": {
+ "name": "leone sierralleonés"
+ },
+ "MDL": {
+ "name": "Leu moldavu"
+ },
+ "RON": {
+ "name": "Leu rumanu"
+ },
+ "BGN": {
+ "name": "Lev búlgaru"
+ },
+ "SZL": {
+ "name": "Lilangeni suazilandés"
+ },
+ "SHP": {
+ "name": "llibra de Santa Lena"
+ },
+ "GIP": {
+ "name": "llibra de Xibraltar"
+ },
+ "GBP": {
+ "name": "llibra esterlina",
+ "symbol": "£"
+ },
+ "EGP": {
+ "name": "llibra exipciana"
+ },
+ "LBP": {
+ "name": "Llibra libanesa"
+ },
+ "FKP": {
+ "name": "llibra malviniana"
+ },
+ "SYP": {
+ "name": "Llibra siria"
+ },
+ "SDG": {
+ "name": "llibra sudanesa"
+ },
+ "SSP": {
+ "name": "llibra sursudanesa"
+ },
+ "TRY": {
+ "name": "Llira turca"
+ },
+ "LSL": {
+ "name": "Loti de Lesothu"
+ },
+ "AZN": {
+ "name": "Manat azerbaixanu"
+ },
+ "TMT": {
+ "name": "Manat turcomanu"
+ },
+ "BAM": {
+ "name": "marcu convertible de Bosnia-Herzegovina"
+ },
+ "MZN": {
+ "name": "Metical mozambicanu"
+ },
+ "NGN": {
+ "name": "naira nixeriana"
+ },
+ "ERN": {
+ "name": "Nakfa eritréu"
+ },
+ "BTN": {
+ "name": "Ngultrum butanés"
+ },
+ "MRO": {
+ "name": "ouguiya mauritanu"
+ },
+ "TOP": {
+ "name": "paʻanga tonganu"
+ },
+ "MOP": {
+ "name": "Pataca de Macáu"
+ },
+ "ARS": {
+ "name": "pesu arxentín"
+ },
+ "CLP": {
+ "name": "pesu chilenu"
+ },
+ "COP": {
+ "name": "pesu colombianu"
+ },
+ "CUP": {
+ "name": "Pesu cubanu"
+ },
+ "CUC": {
+ "name": "Pesu cubanu convertible"
+ },
+ "DOP": {
+ "name": "Pesu dominicanu"
+ },
+ "PHP": {
+ "name": "pesu filipín"
+ },
+ "MXN": {
+ "name": "Pesu mexicanu",
+ "symbol": "MX$"
+ },
+ "UYU": {
+ "name": "pesu uruguayu"
+ },
+ "BWP": {
+ "name": "Pula botsuaniana"
+ },
+ "GTQ": {
+ "name": "Quetzal guatemalianu"
+ },
+ "ZAR": {
+ "name": "Rand sudafricanu"
+ },
+ "BRL": {
+ "name": "real brasilanu",
+ "symbol": "R$"
+ },
+ "IRR": {
+ "name": "Rial iranín"
+ },
+ "OMR": {
+ "name": "Rial omanianu"
+ },
+ "QAR": {
+ "name": "Rial qatarín"
+ },
+ "YER": {
+ "name": "Rial yemenín"
+ },
+ "KHR": {
+ "name": "riel camboyanu"
+ },
+ "MYR": {
+ "name": "ringgit malasiu"
+ },
+ "SAR": {
+ "name": "Riyal saudita"
+ },
+ "BYN": {
+ "name": "Rublu bielorrusu"
+ },
+ "BYR": {
+ "name": "Rublu bielorrusu (2000–2016)"
+ },
+ "RUB": {
+ "name": "Rublu rusu"
+ },
+ "MVR": {
+ "name": "Rufiyaa maldiviana"
+ },
+ "LKR": {
+ "name": "Rupia de Sri Lanka"
+ },
+ "INR": {
+ "name": "Rupia india",
+ "symbol": "₹"
+ },
+ "MUR": {
+ "name": "Rupia mauriciana"
+ },
+ "NPR": {
+ "name": "Rupia nepalesa"
+ },
+ "PKR": {
+ "name": "Rupia paquistanina"
+ },
+ "SCR": {
+ "name": "Rupia seixelesa"
+ },
+ "IDR": {
+ "name": "rupiah indonesia"
+ },
+ "KES": {
+ "name": "Shilling kenianu"
+ },
+ "SOS": {
+ "name": "Shilling somalín"
+ },
+ "TZS": {
+ "name": "Shilling tanzanianu"
+ },
+ "UGX": {
+ "name": "Shilling ugandés"
+ },
+ "PEN": {
+ "name": "sol nuevu peruanu"
+ },
+ "KGS": {
+ "name": "Som kirguistanín"
+ },
+ "UZS": {
+ "name": "Som uzbequistanín"
+ },
+ "TJS": {
+ "name": "Somoni taxiquistanín"
+ },
+ "BDT": {
+ "name": "Taka bangladexí"
+ },
+ "WST": {
+ "name": "tala samoanu"
+ },
+ "KZT": {
+ "name": "Tenge kazaquistanín"
+ },
+ "MNT": {
+ "name": "Tugrik mongol"
+ },
+ "VUV": {
+ "name": "vatu vanuatuanu"
+ },
+ "KPW": {
+ "name": "Won norcoreanu"
+ },
+ "KRW": {
+ "name": "Won surcoreanu",
+ "symbol": "₩"
+ },
+ "ILS": {
+ "name": "Xequel nuevu israelín",
+ "symbol": "₪"
+ },
+ "JPY": {
+ "name": "Yen xaponés",
+ "symbol": "¥"
+ },
+ "CNY": {
+ "name": "Yuan chinu",
+ "symbol": "CN¥"
+ },
+ "PLN": {
+ "name": "Zloty polacu"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/az.json b/vendor/commerceguys/intl/resources/currency/az.json
new file mode 100644
index 000000000..3796d0c60
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/az.json
@@ -0,0 +1,498 @@
+{
+ "USD": {
+ "name": "ABŞ Dolları",
+ "symbol": "US$"
+ },
+ "ALL": {
+ "name": "Albaniya Leki"
+ },
+ "AOA": {
+ "name": "Anqola Kvanzası"
+ },
+ "ARS": {
+ "name": "Argentina Pesosu"
+ },
+ "AWG": {
+ "name": "Aruba Florini"
+ },
+ "EUR": {
+ "name": "Avro",
+ "symbol": "€"
+ },
+ "AUD": {
+ "name": "Avstraliya Dolları",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azərbaycan Manatı",
+ "symbol": "₼"
+ },
+ "BSD": {
+ "name": "Bahama Dolları"
+ },
+ "BDT": {
+ "name": "Banqladeş Takası"
+ },
+ "BBD": {
+ "name": "Barbados Dolları"
+ },
+ "BYN": {
+ "name": "Belarus Rublu"
+ },
+ "BYR": {
+ "name": "Belarus Rublu (2000–2016)"
+ },
+ "BZD": {
+ "name": "Beliz Dolları"
+ },
+ "BMD": {
+ "name": "Bermuda Dolları"
+ },
+ "BHD": {
+ "name": "Bəhreyn Dinarı"
+ },
+ "AED": {
+ "name": "Birləşmiş Ərəb Əmirlikləri Dirhəmi"
+ },
+ "BOB": {
+ "name": "Boliviya Bolivianosu"
+ },
+ "BGN": {
+ "name": "Bolqarıstan Levi"
+ },
+ "BAM": {
+ "name": "Bosniya-Herseqovina Markası"
+ },
+ "BWP": {
+ "name": "Botsvana Pulası"
+ },
+ "BRL": {
+ "name": "Braziliya Realı",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "Britaniya Funt",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Bruney Dolları"
+ },
+ "BIF": {
+ "name": "Burundi Frankı"
+ },
+ "BTN": {
+ "name": "Butan Nqultrumu"
+ },
+ "ZAR": {
+ "name": "Cənubi Afrika Randı"
+ },
+ "KRW": {
+ "name": "Cənubi Koreya Vonu",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "Cənubi Sudan Funtu"
+ },
+ "DJF": {
+ "name": "Cibuti Frankı"
+ },
+ "CZK": {
+ "name": "Çexiya Korunası"
+ },
+ "CLP": {
+ "name": "Çili Pesosu"
+ },
+ "CNY": {
+ "name": "Çin Yuanı",
+ "symbol": "CN¥"
+ },
+ "DKK": {
+ "name": "Danimarka Kronu"
+ },
+ "DOP": {
+ "name": "Dominika Pesosu"
+ },
+ "ETB": {
+ "name": "Efiopiya Bırrı"
+ },
+ "SVC": {
+ "name": "El Salvador kolonu"
+ },
+ "ERN": {
+ "name": "Eritreya Nakfası"
+ },
+ "AMD": {
+ "name": "Ermənistan Dramı"
+ },
+ "AFN": {
+ "name": "Əfqanıstan Əfqanisi"
+ },
+ "DZD": {
+ "name": "Əlcəzair Dinarı"
+ },
+ "FJD": {
+ "name": "Fici Dolları"
+ },
+ "XOF": {
+ "name": "Fil Dişi Sahili Frankı",
+ "symbol": "CFA"
+ },
+ "PHP": {
+ "name": "Filippin Pesosu"
+ },
+ "FKP": {
+ "name": "Folklend Adaları Funtu"
+ },
+ "XPF": {
+ "name": "Fransız Polineziyası Frankı",
+ "symbol": "CFPF"
+ },
+ "GIP": {
+ "name": "Gibraltar Funtu"
+ },
+ "GEL": {
+ "name": "Gürcüstan Larisi"
+ },
+ "HTG": {
+ "name": "Haiti Qourdu"
+ },
+ "INR": {
+ "name": "Hindistan Rupisi",
+ "symbol": "₹"
+ },
+ "HNL": {
+ "name": "Honduras Lempirası"
+ },
+ "HKD": {
+ "name": "Honq Konq Dolları",
+ "symbol": "HK$"
+ },
+ "HRK": {
+ "name": "Xorvatiya Kunası"
+ },
+ "IDR": {
+ "name": "İndoneziya Rupisi"
+ },
+ "JOD": {
+ "name": "İordaniya Dinarı"
+ },
+ "IQD": {
+ "name": "İraq Dinarı"
+ },
+ "IRR": {
+ "name": "İran Rialı"
+ },
+ "ISK": {
+ "name": "İslandiya Kronu"
+ },
+ "ILS": {
+ "name": "İsrail Yeni Şekeli",
+ "symbol": "₪"
+ },
+ "SEK": {
+ "name": "İsveç Kronu"
+ },
+ "CHF": {
+ "name": "İsveçrə Frankı"
+ },
+ "KHR": {
+ "name": "Kamboca Rieli"
+ },
+ "XAF": {
+ "name": "Kamerun Frankı",
+ "symbol": "FCFA"
+ },
+ "CAD": {
+ "name": "Kanada Dolları",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Kape Verde Eskudosu"
+ },
+ "KYD": {
+ "name": "Kayman Adaları Dolları"
+ },
+ "KES": {
+ "name": "Keniya Şillinqi"
+ },
+ "KGS": {
+ "name": "Kırğızıstan Somu"
+ },
+ "COP": {
+ "name": "Kolumbiya Pesosu"
+ },
+ "KMF": {
+ "name": "Komor Frankı"
+ },
+ "CDF": {
+ "name": "Konqo Frankı"
+ },
+ "CRC": {
+ "name": "Kosta Rika Kolonu"
+ },
+ "CUC": {
+ "name": "Kuba Çevrilən Pesosu"
+ },
+ "CUP": {
+ "name": "Kuba Pesosu"
+ },
+ "KWD": {
+ "name": "Küveyt Dinarı"
+ },
+ "GMD": {
+ "name": "Qambiya Dalasisi"
+ },
+ "GHS": {
+ "name": "Qana Sedisi"
+ },
+ "QAR": {
+ "name": "Qatar Rialı"
+ },
+ "GYD": {
+ "name": "Qayana Dolları"
+ },
+ "KZT": {
+ "name": "Qazaxıstan Tengesi"
+ },
+ "GTQ": {
+ "name": "Qvatemala Küetzalı"
+ },
+ "GNF": {
+ "name": "Qvineya Frankı"
+ },
+ "LAK": {
+ "name": "Laos Kipi"
+ },
+ "LSL": {
+ "name": "Lesoto Lotisi"
+ },
+ "LRD": {
+ "name": "Liberiya Dolları"
+ },
+ "LBP": {
+ "name": "Livan Funtu"
+ },
+ "LYD": {
+ "name": "Liviya Dinarı"
+ },
+ "HUF": {
+ "name": "Macarıstan Forinti"
+ },
+ "MGA": {
+ "name": "Madaqaskar Ariarisi"
+ },
+ "MOP": {
+ "name": "Makao Patakası"
+ },
+ "MKD": {
+ "name": "Makedoniya Dinarı"
+ },
+ "MWK": {
+ "name": "Malavi Kvaçası"
+ },
+ "MYR": {
+ "name": "Malayziya Ringiti"
+ },
+ "MVR": {
+ "name": "Maldiv Rufiyası"
+ },
+ "MUR": {
+ "name": "Mavriki Rupisi"
+ },
+ "MRO": {
+ "name": "Mavritaniya Ugiyası"
+ },
+ "MXN": {
+ "name": "Meksika Pesosu",
+ "symbol": "MX$"
+ },
+ "MAD": {
+ "name": "Mərakeş Dirhəmi"
+ },
+ "EGP": {
+ "name": "Misir Funtu"
+ },
+ "MDL": {
+ "name": "Moldova Leyi"
+ },
+ "MNT": {
+ "name": "Monqoliya Tuqriki"
+ },
+ "MZN": {
+ "name": "Mozambik Metikalı"
+ },
+ "SHP": {
+ "name": "Müqəddəs Yelena Funtu"
+ },
+ "MMK": {
+ "name": "Myanma Kiyatı"
+ },
+ "NAD": {
+ "name": "Namibiya Dolları"
+ },
+ "NPR": {
+ "name": "Nepal Rupisi"
+ },
+ "ANG": {
+ "name": "Niderland Antilyası Gilderi"
+ },
+ "NGN": {
+ "name": "Nigeriya Nairası"
+ },
+ "NIO": {
+ "name": "Nikaraqua Kordobası"
+ },
+ "NOK": {
+ "name": "Norveç Kronu"
+ },
+ "OMR": {
+ "name": "Oman Rialı"
+ },
+ "UZS": {
+ "name": "Özbəkistan Somu"
+ },
+ "PKR": {
+ "name": "Pakistan Rupisi"
+ },
+ "PAB": {
+ "name": "Panama Balboası"
+ },
+ "PGK": {
+ "name": "Papua Yeni Qvineya Kinası"
+ },
+ "PYG": {
+ "name": "Paraqvay Quaranisi"
+ },
+ "PEN": {
+ "name": "Peru Nuevo Solu"
+ },
+ "PLN": {
+ "name": "Polşa Zlotısı"
+ },
+ "RWF": {
+ "name": "Ruanda Frankı"
+ },
+ "RON": {
+ "name": "Rumıniya Leyi"
+ },
+ "RUB": {
+ "name": "Rusiya Rublu"
+ },
+ "WST": {
+ "name": "Samoa Talası"
+ },
+ "STD": {
+ "name": "San Tom və Prinsip Dobrası"
+ },
+ "RSD": {
+ "name": "Serbiya Dinarı"
+ },
+ "SCR": {
+ "name": "Seyşel Rupisi"
+ },
+ "SAR": {
+ "name": "Səudiyyə Riyalı"
+ },
+ "SLL": {
+ "name": "Sierra Leon Leonu"
+ },
+ "SGD": {
+ "name": "Sinqapur Dolları"
+ },
+ "SBD": {
+ "name": "Solomon Adaları Dolları"
+ },
+ "SOS": {
+ "name": "Somali Şillinqi"
+ },
+ "SDG": {
+ "name": "Sudan Funtu"
+ },
+ "SRD": {
+ "name": "Surinam Dolları"
+ },
+ "SYP": {
+ "name": "Suriya Funtu"
+ },
+ "SZL": {
+ "name": "Svazilend Lilangenini"
+ },
+ "XCD": {
+ "name": "Şərqi Karib Dolları",
+ "symbol": "EC$"
+ },
+ "KPW": {
+ "name": "Şimali Koreya Vonu"
+ },
+ "LKR": {
+ "name": "Şri Lanka Rupisi"
+ },
+ "TJS": {
+ "name": "Tacikistan Somonisi"
+ },
+ "TZS": {
+ "name": "Tanzaniya Şillinqi"
+ },
+ "THB": {
+ "name": "Tayland Batı",
+ "symbol": "฿"
+ },
+ "TWD": {
+ "name": "Tayvan Yeni Dolları",
+ "symbol": "NT$"
+ },
+ "TOP": {
+ "name": "Tonqa Panqası"
+ },
+ "TTD": {
+ "name": "Trinidad və Tobaqo Dolları"
+ },
+ "TND": {
+ "name": "Tunis Dinarı"
+ },
+ "TRY": {
+ "name": "Türkiyə Lirəsi"
+ },
+ "TMT": {
+ "name": "Türkmənistan Manatı"
+ },
+ "UAH": {
+ "name": "Ukrayna Qrivnası"
+ },
+ "UGX": {
+ "name": "Uqanda Şillinqi"
+ },
+ "UYU": {
+ "name": "Uruqvay Pesosu"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatusu"
+ },
+ "VEF": {
+ "name": "Venesuela Bolivarı"
+ },
+ "VND": {
+ "name": "Vyetnam Donqu",
+ "symbol": "₫"
+ },
+ "JMD": {
+ "name": "Yamayka Dolları"
+ },
+ "JPY": {
+ "name": "Yaponiya Yeni",
+ "symbol": "JP¥"
+ },
+ "NZD": {
+ "name": "Yeni Zelandiya Dolları",
+ "symbol": "NZ$"
+ },
+ "YER": {
+ "name": "Yəmən Rialı"
+ },
+ "ZMW": {
+ "name": "Zambiya Kvaçası"
+ },
+ "ZWL": {
+ "name": "Zimbabve Dolları (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/bas.json b/vendor/commerceguys/intl/resources/currency/bas.json
new file mode 100644
index 000000000..94106f1ce
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/bas.json
@@ -0,0 +1,496 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Ruble"
+ },
+ "BYR": {
+ "name": "Belarusian Ruble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "ETB": {
+ "name": "Bîr ètìopìà"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "GMD": {
+ "name": "Dalasì gambìà"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DZD": {
+ "name": "Dìnâr àlgerìà"
+ },
+ "BHD": {
+ "name": "Dinâr Bàraìn"
+ },
+ "LYD": {
+ "name": "Dìnâr libìà"
+ },
+ "SDG": {
+ "name": "Dìnâr sùdân"
+ },
+ "TND": {
+ "name": "Dìnâr tùnîs"
+ },
+ "AED": {
+ "name": "Dirhàm èmìrâ"
+ },
+ "MAD": {
+ "name": "Dìrham màrôk"
+ },
+ "STD": {
+ "name": "Dobrà sàotòme"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "USD": {
+ "name": "Dɔla àmerkà",
+ "symbol": "US$"
+ },
+ "CAD": {
+ "name": "Dɔ̀lâr kànadà",
+ "symbol": "CA$"
+ },
+ "LRD": {
+ "name": "Dɔ̀lâr lìberìà"
+ },
+ "NAD": {
+ "name": "Dɔ̀lâr nàmibìà"
+ },
+ "AUD": {
+ "name": "Dɔ̀lâr òstralìà",
+ "symbol": "A$"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EUR": {
+ "name": "Èrô",
+ "symbol": "€"
+ },
+ "CVE": {
+ "name": "Èskudò kabwe᷆r"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "BIF": {
+ "name": "Frǎŋ bùrundì"
+ },
+ "XOF": {
+ "name": "Frǎŋ CFA (BCEAO)",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Frǎŋ CFA (BEAC)",
+ "symbol": "FCFA"
+ },
+ "DJF": {
+ "name": "Frǎŋ jìbutì"
+ },
+ "KMF": {
+ "name": "Frǎŋ kòmorà"
+ },
+ "CDF": {
+ "name": "Frǎŋ kòŋgo"
+ },
+ "MGA": {
+ "name": "Frǎŋ màlàgasì"
+ },
+ "RWF": {
+ "name": "Frǎŋ Rùandà"
+ },
+ "CHF": {
+ "name": "Frǎŋ sùwîs"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "MWK": {
+ "name": "Kwaca màlawì"
+ },
+ "ZMW": {
+ "name": "Kwàca sàmbià"
+ },
+ "AOA": {
+ "name": "Kwànza àŋgolà"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "SLL": {
+ "name": "Lèonɛ̀"
+ },
+ "SZL": {
+ "name": "Lìlàŋgeni swàzì"
+ },
+ "LSL": {
+ "name": "Lotì lèsòtò"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "ERN": {
+ "name": "Nafkà èrìtrěà"
+ },
+ "NGN": {
+ "name": "Nayrà nìgerìà"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "EGP": {
+ "name": "Paùnd ègîptò"
+ },
+ "SHP": {
+ "name": "Paùnd hèlenà"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "BWP": {
+ "name": "Pùla Bòtswanà"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "ZAR": {
+ "name": "Rân àfrǐkàsɔ̀"
+ },
+ "SAR": {
+ "name": "Rìal sàudì"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "INR": {
+ "name": "Rùpi īndìà",
+ "symbol": "₹"
+ },
+ "MUR": {
+ "name": "Rupìɛ̀ mòrîs"
+ },
+ "SCR": {
+ "name": "Rùpiɛ̀ sèsɛ̂l"
+ },
+ "RUB": {
+ "name": "Russian Ruble"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "KES": {
+ "name": "Silîŋ kenìà"
+ },
+ "SOS": {
+ "name": "Silîŋ sòmàli"
+ },
+ "TZS": {
+ "name": "Silîŋ tànzànià"
+ },
+ "UGX": {
+ "name": "Silîŋ ùgàndà"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "GBP": {
+ "name": "Stɛrlìŋ ŋgìsì",
+ "symbol": "£"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "MRO": {
+ "name": "Ùgwiya mòrìtanìa"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "JPY": {
+ "name": "Yɛ̂n yàpân",
+ "symbol": "JP¥"
+ },
+ "CNY": {
+ "name": "Yùan kinà",
+ "symbol": "CN¥"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/base.json b/vendor/commerceguys/intl/resources/currency/base.json
new file mode 100644
index 000000000..cf527b22c
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/base.json
@@ -0,0 +1,524 @@
+{
+ "AED": {
+ "numeric_code": "784"
+ },
+ "AFN": {
+ "numeric_code": "971",
+ "fraction_digits": "0"
+ },
+ "ALL": {
+ "numeric_code": "008",
+ "fraction_digits": "0"
+ },
+ "AMD": {
+ "numeric_code": "051",
+ "fraction_digits": "0"
+ },
+ "ANG": {
+ "numeric_code": "532"
+ },
+ "AOA": {
+ "numeric_code": "973"
+ },
+ "ARS": {
+ "numeric_code": "032"
+ },
+ "AUD": {
+ "numeric_code": "036"
+ },
+ "AWG": {
+ "numeric_code": "533"
+ },
+ "AZN": {
+ "numeric_code": "944"
+ },
+ "BAM": {
+ "numeric_code": "977"
+ },
+ "BBD": {
+ "numeric_code": "052"
+ },
+ "BDT": {
+ "numeric_code": "050"
+ },
+ "BGN": {
+ "numeric_code": "975"
+ },
+ "BHD": {
+ "numeric_code": "048",
+ "fraction_digits": "3"
+ },
+ "BIF": {
+ "numeric_code": "108",
+ "fraction_digits": "0"
+ },
+ "BMD": {
+ "numeric_code": "060"
+ },
+ "BND": {
+ "numeric_code": "096"
+ },
+ "BOB": {
+ "numeric_code": "068"
+ },
+ "BRL": {
+ "numeric_code": "986"
+ },
+ "BSD": {
+ "numeric_code": "044"
+ },
+ "BTN": {
+ "numeric_code": "064"
+ },
+ "BWP": {
+ "numeric_code": "072"
+ },
+ "BYN": {
+ "numeric_code": "933"
+ },
+ "BYR": {
+ "numeric_code": "974",
+ "fraction_digits": "0"
+ },
+ "BZD": {
+ "numeric_code": "084"
+ },
+ "CAD": {
+ "numeric_code": "124"
+ },
+ "CDF": {
+ "numeric_code": "976"
+ },
+ "CHF": {
+ "numeric_code": "756"
+ },
+ "CLP": {
+ "numeric_code": "152",
+ "fraction_digits": "0"
+ },
+ "CNY": {
+ "numeric_code": "156"
+ },
+ "COP": {
+ "numeric_code": "170",
+ "fraction_digits": "0"
+ },
+ "CRC": {
+ "numeric_code": "188"
+ },
+ "CUC": {
+ "numeric_code": "931"
+ },
+ "CUP": {
+ "numeric_code": "192"
+ },
+ "CVE": {
+ "numeric_code": "132"
+ },
+ "CZK": {
+ "numeric_code": "203"
+ },
+ "DJF": {
+ "numeric_code": "262",
+ "fraction_digits": "0"
+ },
+ "DKK": {
+ "numeric_code": "208"
+ },
+ "DOP": {
+ "numeric_code": "214"
+ },
+ "DZD": {
+ "numeric_code": "012"
+ },
+ "EGP": {
+ "numeric_code": "818"
+ },
+ "ERN": {
+ "numeric_code": "232"
+ },
+ "ETB": {
+ "numeric_code": "230"
+ },
+ "EUR": {
+ "numeric_code": "978"
+ },
+ "FJD": {
+ "numeric_code": "242"
+ },
+ "FKP": {
+ "numeric_code": "238"
+ },
+ "GBP": {
+ "numeric_code": "826"
+ },
+ "GEL": {
+ "numeric_code": "981"
+ },
+ "GHS": {
+ "numeric_code": "936"
+ },
+ "GIP": {
+ "numeric_code": "292"
+ },
+ "GMD": {
+ "numeric_code": "270"
+ },
+ "GNF": {
+ "numeric_code": "324",
+ "fraction_digits": "0"
+ },
+ "GTQ": {
+ "numeric_code": "320"
+ },
+ "GYD": {
+ "numeric_code": "328",
+ "fraction_digits": "0"
+ },
+ "HKD": {
+ "numeric_code": "344"
+ },
+ "HNL": {
+ "numeric_code": "340"
+ },
+ "HRK": {
+ "numeric_code": "191"
+ },
+ "HTG": {
+ "numeric_code": "332"
+ },
+ "HUF": {
+ "numeric_code": "348"
+ },
+ "IDR": {
+ "numeric_code": "360",
+ "fraction_digits": "0"
+ },
+ "ILS": {
+ "numeric_code": "376"
+ },
+ "INR": {
+ "numeric_code": "356"
+ },
+ "IQD": {
+ "numeric_code": "368",
+ "fraction_digits": "0"
+ },
+ "IRR": {
+ "numeric_code": "364",
+ "fraction_digits": "0"
+ },
+ "ISK": {
+ "numeric_code": "352",
+ "fraction_digits": "0"
+ },
+ "JMD": {
+ "numeric_code": "388"
+ },
+ "JOD": {
+ "numeric_code": "400",
+ "fraction_digits": "3"
+ },
+ "JPY": {
+ "numeric_code": "392",
+ "fraction_digits": "0"
+ },
+ "KES": {
+ "numeric_code": "404"
+ },
+ "KGS": {
+ "numeric_code": "417"
+ },
+ "KHR": {
+ "numeric_code": "116"
+ },
+ "KMF": {
+ "numeric_code": "174",
+ "fraction_digits": "0"
+ },
+ "KPW": {
+ "numeric_code": "408",
+ "fraction_digits": "0"
+ },
+ "KRW": {
+ "numeric_code": "410",
+ "fraction_digits": "0"
+ },
+ "KWD": {
+ "numeric_code": "414",
+ "fraction_digits": "3"
+ },
+ "KYD": {
+ "numeric_code": "136"
+ },
+ "KZT": {
+ "numeric_code": "398"
+ },
+ "LAK": {
+ "numeric_code": "418",
+ "fraction_digits": "0"
+ },
+ "LBP": {
+ "numeric_code": "422",
+ "fraction_digits": "0"
+ },
+ "LKR": {
+ "numeric_code": "144"
+ },
+ "LRD": {
+ "numeric_code": "430"
+ },
+ "LSL": {
+ "numeric_code": "426"
+ },
+ "LYD": {
+ "numeric_code": "434",
+ "fraction_digits": "3"
+ },
+ "MAD": {
+ "numeric_code": "504"
+ },
+ "MDL": {
+ "numeric_code": "498"
+ },
+ "MGA": {
+ "numeric_code": "969",
+ "fraction_digits": "0"
+ },
+ "MKD": {
+ "numeric_code": "807"
+ },
+ "MMK": {
+ "numeric_code": "104",
+ "fraction_digits": "0"
+ },
+ "MNT": {
+ "numeric_code": "496",
+ "fraction_digits": "0"
+ },
+ "MOP": {
+ "numeric_code": "446"
+ },
+ "MRO": {
+ "numeric_code": "478",
+ "fraction_digits": "0"
+ },
+ "MUR": {
+ "numeric_code": "480",
+ "fraction_digits": "0"
+ },
+ "MVR": {
+ "numeric_code": "462"
+ },
+ "MWK": {
+ "numeric_code": "454"
+ },
+ "MXN": {
+ "numeric_code": "484"
+ },
+ "MYR": {
+ "numeric_code": "458"
+ },
+ "MZN": {
+ "numeric_code": "943"
+ },
+ "NAD": {
+ "numeric_code": "516"
+ },
+ "NGN": {
+ "numeric_code": "566"
+ },
+ "NIO": {
+ "numeric_code": "558"
+ },
+ "NOK": {
+ "numeric_code": "578"
+ },
+ "NPR": {
+ "numeric_code": "524"
+ },
+ "NZD": {
+ "numeric_code": "554"
+ },
+ "OMR": {
+ "numeric_code": "512",
+ "fraction_digits": "3"
+ },
+ "PAB": {
+ "numeric_code": "590"
+ },
+ "PEN": {
+ "numeric_code": "604"
+ },
+ "PGK": {
+ "numeric_code": "598"
+ },
+ "PHP": {
+ "numeric_code": "608"
+ },
+ "PKR": {
+ "numeric_code": "586",
+ "fraction_digits": "0"
+ },
+ "PLN": {
+ "numeric_code": "985"
+ },
+ "PYG": {
+ "numeric_code": "600",
+ "fraction_digits": "0"
+ },
+ "QAR": {
+ "numeric_code": "634"
+ },
+ "RON": {
+ "numeric_code": "946"
+ },
+ "RSD": {
+ "numeric_code": "941",
+ "fraction_digits": "0"
+ },
+ "RUB": {
+ "numeric_code": "643"
+ },
+ "RWF": {
+ "numeric_code": "646",
+ "fraction_digits": "0"
+ },
+ "SAR": {
+ "numeric_code": "682"
+ },
+ "SBD": {
+ "numeric_code": "090"
+ },
+ "SCR": {
+ "numeric_code": "690"
+ },
+ "SDG": {
+ "numeric_code": "938"
+ },
+ "SEK": {
+ "numeric_code": "752"
+ },
+ "SGD": {
+ "numeric_code": "702"
+ },
+ "SHP": {
+ "numeric_code": "654"
+ },
+ "SLL": {
+ "numeric_code": "694",
+ "fraction_digits": "0"
+ },
+ "SOS": {
+ "numeric_code": "706",
+ "fraction_digits": "0"
+ },
+ "SRD": {
+ "numeric_code": "968"
+ },
+ "SSP": {
+ "numeric_code": "728"
+ },
+ "STD": {
+ "numeric_code": "678",
+ "fraction_digits": "0"
+ },
+ "SVC": {
+ "numeric_code": "222"
+ },
+ "SYP": {
+ "numeric_code": "760",
+ "fraction_digits": "0"
+ },
+ "SZL": {
+ "numeric_code": "748"
+ },
+ "THB": {
+ "numeric_code": "764"
+ },
+ "TJS": {
+ "numeric_code": "972"
+ },
+ "TMT": {
+ "numeric_code": "934"
+ },
+ "TND": {
+ "numeric_code": "788",
+ "fraction_digits": "3"
+ },
+ "TOP": {
+ "numeric_code": "776"
+ },
+ "TRY": {
+ "numeric_code": "949"
+ },
+ "TTD": {
+ "numeric_code": "780"
+ },
+ "TWD": {
+ "numeric_code": "901"
+ },
+ "TZS": {
+ "numeric_code": "834",
+ "fraction_digits": "0"
+ },
+ "UAH": {
+ "numeric_code": "980"
+ },
+ "UGX": {
+ "numeric_code": "800",
+ "fraction_digits": "0"
+ },
+ "USD": {
+ "numeric_code": "840"
+ },
+ "UYU": {
+ "numeric_code": "858"
+ },
+ "UZS": {
+ "numeric_code": "860",
+ "fraction_digits": "0"
+ },
+ "VEF": {
+ "numeric_code": "937"
+ },
+ "VND": {
+ "numeric_code": "704",
+ "fraction_digits": "0"
+ },
+ "VUV": {
+ "numeric_code": "548",
+ "fraction_digits": "0"
+ },
+ "WST": {
+ "numeric_code": "882"
+ },
+ "XAF": {
+ "numeric_code": "950",
+ "fraction_digits": "0"
+ },
+ "XCD": {
+ "numeric_code": "951"
+ },
+ "XOF": {
+ "numeric_code": "952",
+ "fraction_digits": "0"
+ },
+ "XPF": {
+ "numeric_code": "953",
+ "fraction_digits": "0"
+ },
+ "YER": {
+ "numeric_code": "886",
+ "fraction_digits": "0"
+ },
+ "ZAR": {
+ "numeric_code": "710"
+ },
+ "ZMW": {
+ "numeric_code": "967"
+ },
+ "ZWL": {
+ "numeric_code": "932"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/be.json b/vendor/commerceguys/intl/resources/currency/be.json
new file mode 100644
index 000000000..3b88230c1
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/be.json
@@ -0,0 +1,495 @@
+{
+ "AZN": {
+ "name": "азербайджанскі манат"
+ },
+ "ALL": {
+ "name": "албанскі лек"
+ },
+ "DZD": {
+ "name": "алжырскі дынар"
+ },
+ "OMR": {
+ "name": "аманскі рыал"
+ },
+ "AOA": {
+ "name": "ангольская кванза"
+ },
+ "ARS": {
+ "name": "аргенцінскае песа"
+ },
+ "AMD": {
+ "name": "армянскі драм"
+ },
+ "AWG": {
+ "name": "арубанскі фларын"
+ },
+ "AUD": {
+ "name": "аўстралійскі долар",
+ "symbol": "A$"
+ },
+ "AFN": {
+ "name": "афганскі афгані"
+ },
+ "BSD": {
+ "name": "багамскі долар"
+ },
+ "BGN": {
+ "name": "балгарскі леў"
+ },
+ "BOB": {
+ "name": "балівіяна"
+ },
+ "BDT": {
+ "name": "бангладэшская така"
+ },
+ "BBD": {
+ "name": "барбадоскі долар"
+ },
+ "BWP": {
+ "name": "батсванская пула"
+ },
+ "BHD": {
+ "name": "бахрэйнскі дынар"
+ },
+ "BYN": {
+ "name": "беларускі рубель",
+ "symbol": "Br"
+ },
+ "BYR": {
+ "name": "беларускі рубель (2000–2016)"
+ },
+ "BZD": {
+ "name": "белізскі долар"
+ },
+ "BMD": {
+ "name": "бермудскі долар"
+ },
+ "BRL": {
+ "name": "бразільскі рэал"
+ },
+ "BND": {
+ "name": "брунейскі долар"
+ },
+ "GBP": {
+ "name": "брытанскі фунт стэрлінгаў",
+ "symbol": "£"
+ },
+ "BIF": {
+ "name": "бурундзійскі франк"
+ },
+ "BTN": {
+ "name": "бутанскі нгултрум"
+ },
+ "VND": {
+ "name": "в’етнамскі донг",
+ "symbol": "₫"
+ },
+ "VUV": {
+ "name": "вату"
+ },
+ "HUF": {
+ "name": "венгерскі форынт"
+ },
+ "VEF": {
+ "name": "венесуальскі балівар"
+ },
+ "HTG": {
+ "name": "гаіцянскі гурд"
+ },
+ "GMD": {
+ "name": "гамбійскі даласі"
+ },
+ "HNL": {
+ "name": "гандураская лемпіра"
+ },
+ "HKD": {
+ "name": "ганконгскі долар",
+ "symbol": "HK$"
+ },
+ "GHS": {
+ "name": "ганскі седзі"
+ },
+ "GYD": {
+ "name": "гаянскі долар"
+ },
+ "GTQ": {
+ "name": "гватэмальскі кетсаль"
+ },
+ "GNF": {
+ "name": "гвінейскі франк"
+ },
+ "GIP": {
+ "name": "гібралтарскі фунт"
+ },
+ "GEL": {
+ "name": "грузінскі лары"
+ },
+ "DOP": {
+ "name": "дамініканскае песа"
+ },
+ "DKK": {
+ "name": "дацкая крона"
+ },
+ "DJF": {
+ "name": "джыбуційскі франк"
+ },
+ "STD": {
+ "name": "добра Сан-Тамэ і Прынсіпі"
+ },
+ "USD": {
+ "name": "долар ЗША",
+ "symbol": "$"
+ },
+ "KYD": {
+ "name": "долар Кайманавых астравоў"
+ },
+ "SBD": {
+ "name": "долар Саламонавых астравоў"
+ },
+ "TTD": {
+ "name": "долар Трынідада і Табага"
+ },
+ "AED": {
+ "name": "дырхем ААЭ"
+ },
+ "EGP": {
+ "name": "егіпецкі фунт"
+ },
+ "YER": {
+ "name": "еменскі рыал"
+ },
+ "EUR": {
+ "name": "еўра",
+ "symbol": "€"
+ },
+ "ZMW": {
+ "name": "замбійская квача"
+ },
+ "XOF": {
+ "name": "заходнеафрыканскі франк КФА",
+ "symbol": "CFA"
+ },
+ "JOD": {
+ "name": "іарданскі дынар"
+ },
+ "IDR": {
+ "name": "інданезійская рупія"
+ },
+ "INR": {
+ "name": "індыйская рупія",
+ "symbol": "₹"
+ },
+ "IQD": {
+ "name": "іракскі дынар"
+ },
+ "IRR": {
+ "name": "іранскі рыал"
+ },
+ "ISK": {
+ "name": "ісландская крона"
+ },
+ "KZT": {
+ "name": "казахстанскі тэнгэ"
+ },
+ "COP": {
+ "name": "калумбійскае песа"
+ },
+ "KHR": {
+ "name": "камбаджыйскі рыэль"
+ },
+ "KMF": {
+ "name": "каморскі франк"
+ },
+ "CAD": {
+ "name": "канадскі долар"
+ },
+ "BAM": {
+ "name": "канверсоўная марка Босніі і Герцагавіны"
+ },
+ "CDF": {
+ "name": "кангалезскі франк"
+ },
+ "QAR": {
+ "name": "катарскі рыал"
+ },
+ "KES": {
+ "name": "кенійскі шылінг"
+ },
+ "PGK": {
+ "name": "кіна"
+ },
+ "KGS": {
+ "name": "кіргізскі сом"
+ },
+ "CNY": {
+ "name": "кітайскі юань",
+ "symbol": "CN¥"
+ },
+ "CRC": {
+ "name": "коста-рыканскі калон"
+ },
+ "CUC": {
+ "name": "кубінскае канверсоўнае песа"
+ },
+ "CUP": {
+ "name": "кубінскае песа"
+ },
+ "KWD": {
+ "name": "кувейцкі дынар"
+ },
+ "LAK": {
+ "name": "лаоскі кіп"
+ },
+ "SLL": {
+ "name": "леонэ"
+ },
+ "LRD": {
+ "name": "ліберыйскі долар"
+ },
+ "LBP": {
+ "name": "ліванскі фунт"
+ },
+ "LYD": {
+ "name": "лівійскі дынар"
+ },
+ "MMK": {
+ "name": "м’янманскі к’ят"
+ },
+ "MZN": {
+ "name": "мазамбікскі метыкал"
+ },
+ "MKD": {
+ "name": "македонскі дэнар"
+ },
+ "MWK": {
+ "name": "малавійская квача"
+ },
+ "MGA": {
+ "name": "малагасійскі арыяры"
+ },
+ "MYR": {
+ "name": "малайзійскі рынгіт"
+ },
+ "MDL": {
+ "name": "малдаўскі лей"
+ },
+ "MVR": {
+ "name": "мальдыўская руфія"
+ },
+ "MNT": {
+ "name": "мангольскі тугрык"
+ },
+ "MAD": {
+ "name": "мараканскі дырхам"
+ },
+ "MUR": {
+ "name": "маўрыкійская рупія"
+ },
+ "MRO": {
+ "name": "маўрытанская ўгія"
+ },
+ "MXN": {
+ "name": "мексіканскае песа",
+ "symbol": "MX$"
+ },
+ "NAD": {
+ "name": "намібійскі долар"
+ },
+ "NOK": {
+ "name": "нарвежская крона"
+ },
+ "NPR": {
+ "name": "непальская рупія"
+ },
+ "NGN": {
+ "name": "нігерыйская найра"
+ },
+ "ANG": {
+ "name": "нідэрландскі антыльскі гульдэн"
+ },
+ "NIO": {
+ "name": "нікарагуанская кордаба"
+ },
+ "NZD": {
+ "name": "новазеландскі долар"
+ },
+ "ILS": {
+ "name": "новы ізраільскі шэкель",
+ "symbol": "₪"
+ },
+ "TWD": {
+ "name": "новы тайваньскі долар",
+ "symbol": "NT$"
+ },
+ "PKR": {
+ "name": "пакістанская рупія"
+ },
+ "PAB": {
+ "name": "панамскае бальбоа"
+ },
+ "PYG": {
+ "name": "парагвайскі гуарані"
+ },
+ "MOP": {
+ "name": "патака Макаа"
+ },
+ "ZAR": {
+ "name": "паўднёваафрыканскі ранд"
+ },
+ "KRW": {
+ "name": "паўднёвакарэйская вона",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "паўднёвасуданскі фунт"
+ },
+ "KPW": {
+ "name": "паўночнакарэйская вона"
+ },
+ "PEN": {
+ "name": "перуанскі новы соль"
+ },
+ "PLN": {
+ "name": "польскі злоты"
+ },
+ "RUB": {
+ "name": "расійскі рубель",
+ "symbol": "₽"
+ },
+ "RWF": {
+ "name": "руандыйскі франк"
+ },
+ "RON": {
+ "name": "румынскі лей"
+ },
+ "WST": {
+ "name": "самаанская тала"
+ },
+ "SOS": {
+ "name": "самалійскі шылінг"
+ },
+ "SAR": {
+ "name": "саудаўскі рыял"
+ },
+ "SZL": {
+ "name": "свазілендскі лілангені"
+ },
+ "SCR": {
+ "name": "сейшэльская рупія"
+ },
+ "RSD": {
+ "name": "сербскі дынар"
+ },
+ "SGD": {
+ "name": "сінгапурскі долар"
+ },
+ "SYP": {
+ "name": "сірыйскі фунт"
+ },
+ "SDG": {
+ "name": "суданскі фунт"
+ },
+ "SRD": {
+ "name": "сурынамскі долар"
+ },
+ "TJS": {
+ "name": "таджыкскі самані"
+ },
+ "THB": {
+ "name": "тайскі бат"
+ },
+ "TOP": {
+ "name": "танганская паанга"
+ },
+ "TZS": {
+ "name": "танзанійскі шылінг"
+ },
+ "TND": {
+ "name": "туніскі дынар"
+ },
+ "TMT": {
+ "name": "туркменскі манат"
+ },
+ "TRY": {
+ "name": "турэцкая ліра"
+ },
+ "UGX": {
+ "name": "угандыйскі шылінг"
+ },
+ "UZS": {
+ "name": "узбекскі сум"
+ },
+ "UAH": {
+ "name": "украінская грыўна"
+ },
+ "UYU": {
+ "name": "уругвайскае песа"
+ },
+ "XCD": {
+ "name": "усходнекарыбскі долар",
+ "symbol": "EC$"
+ },
+ "FJD": {
+ "name": "фіджыйскі долар"
+ },
+ "PHP": {
+ "name": "філіпінскае песа"
+ },
+ "XPF": {
+ "name": "французскі ціхаакіянскі франк",
+ "symbol": "CFPF"
+ },
+ "SHP": {
+ "name": "фунт Святой Алены"
+ },
+ "FKP": {
+ "name": "фунт Фалклендскіх астравоў"
+ },
+ "HRK": {
+ "name": "харвацкая куна"
+ },
+ "XAF": {
+ "name": "цэнтральнаафрыканскі франк КФА",
+ "symbol": "FCFA"
+ },
+ "CLP": {
+ "name": "чылійскае песа"
+ },
+ "CZK": {
+ "name": "чэшская крона"
+ },
+ "SEK": {
+ "name": "шведская крона"
+ },
+ "CHF": {
+ "name": "швейцарскі франк"
+ },
+ "LKR": {
+ "name": "шры-ланкійская рупія"
+ },
+ "ERN": {
+ "name": "эрытрэйская накфа"
+ },
+ "CVE": {
+ "name": "эскуда Каба-Вердэ"
+ },
+ "ETB": {
+ "name": "эфіопскі быр"
+ },
+ "JMD": {
+ "name": "ямайскі долар"
+ },
+ "JPY": {
+ "name": "японская іена",
+ "symbol": "¥"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/bez.json b/vendor/commerceguys/intl/resources/currency/bez.json
new file mode 100644
index 000000000..bedf0d618
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/bez.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Ruble"
+ },
+ "BYR": {
+ "name": "Belarusian Ruble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "XOF": {
+ "name": "Lupila lwa CFA BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Lupila lwa CFA BEAC",
+ "symbol": "FCFA"
+ },
+ "JPY": {
+ "name": "Lupila lwa Hijapani",
+ "symbol": "JP¥"
+ },
+ "ZAR": {
+ "name": "Lupila lwa Huafriaka ya Hukusini"
+ },
+ "DZD": {
+ "name": "Lupila lwa Hualjelia"
+ },
+ "AOA": {
+ "name": "Lupila lwa Huangola"
+ },
+ "AUD": {
+ "name": "Lupila lwa Huaustlalia",
+ "symbol": "A$"
+ },
+ "BHD": {
+ "name": "Lupila lwa Hubahareni"
+ },
+ "BWP": {
+ "name": "Lupila lwa Hubotswana"
+ },
+ "MGA": {
+ "name": "Lupila lwa Hubukini"
+ },
+ "BIF": {
+ "name": "Lupila lwa Huburundi"
+ },
+ "CNY": {
+ "name": "Lupila lwa Huchina",
+ "symbol": "CN¥"
+ },
+ "ERN": {
+ "name": "Lupila lwa Hueritrea"
+ },
+ "AED": {
+ "name": "Lupila lwa Hufalme dza Huhihalabu"
+ },
+ "GMD": {
+ "name": "Lupila lwa Hugambia"
+ },
+ "INR": {
+ "name": "Lupila lwa Huindia",
+ "symbol": "₹"
+ },
+ "DJF": {
+ "name": "Lupila lwa Hujibuti"
+ },
+ "CAD": {
+ "name": "Lupila lwa Hukanada",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Lupila lwa Hukepuvede"
+ },
+ "KMF": {
+ "name": "Lupila lwa Hukomoro"
+ },
+ "CDF": {
+ "name": "Lupila lwa Hukongo"
+ },
+ "LSL": {
+ "name": "Lupila lwa Hulesoto"
+ },
+ "LRD": {
+ "name": "Lupila lwa Hulibelia"
+ },
+ "LYD": {
+ "name": "Lupila lwa Hulibya"
+ },
+ "MWK": {
+ "name": "Lupila lwa Humalawi"
+ },
+ "USD": {
+ "name": "Lupila lwa Humalekani",
+ "symbol": "US$"
+ },
+ "EGP": {
+ "name": "Lupila lwa Humisri"
+ },
+ "MUR": {
+ "name": "Lupila lwa Humolisi"
+ },
+ "MRO": {
+ "name": "Lupila lwa Humolitania"
+ },
+ "MAD": {
+ "name": "Lupila lwa Humoloko"
+ },
+ "NAD": {
+ "name": "Lupila lwa Hunamibia"
+ },
+ "NGN": {
+ "name": "Lupila lwa Hunijelia"
+ },
+ "RWF": {
+ "name": "Lupila lwa Hurwanda"
+ },
+ "SHP": {
+ "name": "Lupila lwa Husantahelena"
+ },
+ "STD": {
+ "name": "Lupila lwa Husaotome na Huprinisipe"
+ },
+ "SAR": {
+ "name": "Lupila lwa Husaudi"
+ },
+ "SCR": {
+ "name": "Lupila lwa Hushelisheli"
+ },
+ "SOS": {
+ "name": "Lupila lwa Husomalia"
+ },
+ "SDG": {
+ "name": "Lupila lwa Husudani"
+ },
+ "TND": {
+ "name": "Lupila lwa Hutunisia"
+ },
+ "ETB": {
+ "name": "Lupila lwa Huuhabeshi"
+ },
+ "GBP": {
+ "name": "Lupila lwa Huuingereza",
+ "symbol": "£"
+ },
+ "CHF": {
+ "name": "Lupila lwa Huuswisi"
+ },
+ "ZMW": {
+ "name": "Lupila lwa Huzambia"
+ },
+ "SZL": {
+ "name": "Lupila lwa Lilangeni"
+ },
+ "SLL": {
+ "name": "Lupila lwa Lioni"
+ },
+ "EUR": {
+ "name": "Lupila lwa Yulo",
+ "symbol": "€"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Ruble"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "KES": {
+ "name": "Shilingi ya Hukenya"
+ },
+ "TZS": {
+ "name": "Shilingi ya Hutanzania",
+ "symbol": "TSh"
+ },
+ "UGX": {
+ "name": "Shilingi ya Huuganda"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/bg.json b/vendor/commerceguys/intl/resources/currency/bg.json
new file mode 100644
index 000000000..d046fcb0c
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/bg.json
@@ -0,0 +1,482 @@
+{
+ "AUD": {
+ "name": "Австралийски долар"
+ },
+ "AZN": {
+ "name": "Азербайджански манат"
+ },
+ "ALL": {
+ "name": "Албански лек"
+ },
+ "DZD": {
+ "name": "Алжирски динар"
+ },
+ "AOA": {
+ "name": "Анголска кванза"
+ },
+ "ANG": {
+ "name": "Антилски гулден"
+ },
+ "ARS": {
+ "name": "Аржентинско песо"
+ },
+ "AMD": {
+ "name": "Арменски драм"
+ },
+ "AWG": {
+ "name": "Арубски флорин"
+ },
+ "AFN": {
+ "name": "Афганистански афган"
+ },
+ "BDT": {
+ "name": "Бангладешка така"
+ },
+ "BBD": {
+ "name": "Барбадоски долар"
+ },
+ "BSD": {
+ "name": "Бахамски долар"
+ },
+ "BHD": {
+ "name": "Бахрейнски динар"
+ },
+ "BYN": {
+ "name": "Беларуска рубла"
+ },
+ "BYR": {
+ "name": "Беларуска рубла (2000–2016)"
+ },
+ "BZD": {
+ "name": "Белизийски долар"
+ },
+ "BMD": {
+ "name": "Бермудски долар"
+ },
+ "BOB": {
+ "name": "Боливийско боливиано"
+ },
+ "BAM": {
+ "name": "Босненска конвертируема марка"
+ },
+ "BWP": {
+ "name": "Ботсванска пула"
+ },
+ "BRL": {
+ "name": "Бразилски реал"
+ },
+ "GBP": {
+ "name": "Британска лира"
+ },
+ "BND": {
+ "name": "Брунейски долар"
+ },
+ "BIF": {
+ "name": "Бурундийски франк"
+ },
+ "BTN": {
+ "name": "Бутански нгултрум"
+ },
+ "BGN": {
+ "name": "Български лев",
+ "symbol": "лв."
+ },
+ "VUV": {
+ "name": "Вануатско вату"
+ },
+ "VEF": {
+ "name": "Венецуелски боливар"
+ },
+ "VND": {
+ "name": "Виетнамски донг"
+ },
+ "GMD": {
+ "name": "Гамбийско даласи"
+ },
+ "GHS": {
+ "name": "Ганайско седи"
+ },
+ "GYD": {
+ "name": "Гаянски долар"
+ },
+ "GTQ": {
+ "name": "Гватемалски кетцал"
+ },
+ "GNF": {
+ "name": "Гвинейски франк"
+ },
+ "GIP": {
+ "name": "Гибралтарска лира"
+ },
+ "GEL": {
+ "name": "Грузински лари"
+ },
+ "DKK": {
+ "name": "Датска крона"
+ },
+ "DJF": {
+ "name": "Джибутски франк"
+ },
+ "AED": {
+ "name": "Дирхам на Обединените арабски емирства"
+ },
+ "STD": {
+ "name": "Добра на Сао Томе и Принсипи"
+ },
+ "SBD": {
+ "name": "Долар на Соломоновите острови"
+ },
+ "TTD": {
+ "name": "Долар на Тринидад и Тобаго"
+ },
+ "DOP": {
+ "name": "Доминиканско песо"
+ },
+ "EUR": {
+ "name": "Евро",
+ "symbol": "€"
+ },
+ "EGP": {
+ "name": "Египетска лира"
+ },
+ "ERN": {
+ "name": "Еритрейска накфа"
+ },
+ "CVE": {
+ "name": "Ескудо на Кабо Верде"
+ },
+ "ETB": {
+ "name": "Етиопски бир"
+ },
+ "ZMW": {
+ "name": "Замбийска куача"
+ },
+ "XOF": {
+ "name": "Западноафрикански франк",
+ "symbol": "CFA"
+ },
+ "ZWL": {
+ "name": "Зимбабвийски долар (2009)"
+ },
+ "ILS": {
+ "name": "Израелски нов шекел"
+ },
+ "XCD": {
+ "name": "Източнокарибски долар"
+ },
+ "INR": {
+ "name": "Индийска рупия"
+ },
+ "IDR": {
+ "name": "Индонезийска рупия"
+ },
+ "IQD": {
+ "name": "Иракски динар"
+ },
+ "IRR": {
+ "name": "Ирански риал"
+ },
+ "ISK": {
+ "name": "Исландска крона"
+ },
+ "YER": {
+ "name": "Йеменски риал"
+ },
+ "JOD": {
+ "name": "Йордански динар"
+ },
+ "KZT": {
+ "name": "Казахстанско тенге"
+ },
+ "KYD": {
+ "name": "Кайманов долар"
+ },
+ "KHR": {
+ "name": "Камбоджански риел"
+ },
+ "CAD": {
+ "name": "Канадски долар"
+ },
+ "QAR": {
+ "name": "Катарски риал"
+ },
+ "KES": {
+ "name": "Кенийски шилинг"
+ },
+ "KGS": {
+ "name": "Киргизстански сом"
+ },
+ "CNY": {
+ "name": "Китайски юан"
+ },
+ "COP": {
+ "name": "Колумбийско песо"
+ },
+ "KMF": {
+ "name": "Коморски франк"
+ },
+ "CDF": {
+ "name": "Конгоански франк"
+ },
+ "CRC": {
+ "name": "Костарикански колон"
+ },
+ "CUC": {
+ "name": "Кубинско конвертируемо песо"
+ },
+ "CUP": {
+ "name": "Кубинско песо"
+ },
+ "KWD": {
+ "name": "Кувейтски динар"
+ },
+ "LAK": {
+ "name": "Лаоски кип"
+ },
+ "LSL": {
+ "name": "Лесотско лоти"
+ },
+ "LRD": {
+ "name": "Либерийски долар"
+ },
+ "LYD": {
+ "name": "Либийски динар"
+ },
+ "LBP": {
+ "name": "Ливанска лира"
+ },
+ "SHP": {
+ "name": "Лира на Света Елена"
+ },
+ "MRO": {
+ "name": "Мавританска угия"
+ },
+ "MUR": {
+ "name": "Маврицийска рупия"
+ },
+ "MKD": {
+ "name": "Македонски денар"
+ },
+ "MWK": {
+ "name": "Малавийска квача"
+ },
+ "MYR": {
+ "name": "Малайзийски рингит"
+ },
+ "MGA": {
+ "name": "Малгашко ариари"
+ },
+ "MVR": {
+ "name": "Малдивска руфия"
+ },
+ "MAD": {
+ "name": "Марокански дирхам"
+ },
+ "MXN": {
+ "name": "Мексиканско песо"
+ },
+ "MMK": {
+ "name": "Мианмарски кият"
+ },
+ "MZN": {
+ "name": "Мозамбикски метикал"
+ },
+ "MDL": {
+ "name": "Молдовско леу"
+ },
+ "MNT": {
+ "name": "Монголски тугрик"
+ },
+ "NAD": {
+ "name": "Намибийски долар"
+ },
+ "NPR": {
+ "name": "Непалска рупия"
+ },
+ "NGN": {
+ "name": "Нигерийска найра"
+ },
+ "NIO": {
+ "name": "Никарагуанска кордоба"
+ },
+ "NZD": {
+ "name": "Новозеландски долар"
+ },
+ "NOK": {
+ "name": "Норвежка крона"
+ },
+ "OMR": {
+ "name": "Омански риал"
+ },
+ "PKR": {
+ "name": "Пакистанска рупия"
+ },
+ "PAB": {
+ "name": "Панамска балбоа"
+ },
+ "PGK": {
+ "name": "Папуа-новогвинейска кина"
+ },
+ "PYG": {
+ "name": "Парагвайско гуарани"
+ },
+ "MOP": {
+ "name": "Патака на Макао"
+ },
+ "PEN": {
+ "name": "Перуански нов сол"
+ },
+ "PLN": {
+ "name": "Полска злота"
+ },
+ "RWF": {
+ "name": "Руандски франк"
+ },
+ "RON": {
+ "name": "Румънска лея"
+ },
+ "RUB": {
+ "name": "Руска рубла"
+ },
+ "SVC": {
+ "name": "Салвадорски колон"
+ },
+ "WST": {
+ "name": "Самоанска тала"
+ },
+ "SAR": {
+ "name": "Саудитскоарабски риал"
+ },
+ "SZL": {
+ "name": "Свазилендски лилангени"
+ },
+ "KPW": {
+ "name": "Севернокорейски вон"
+ },
+ "SCR": {
+ "name": "Сейшелска рупия"
+ },
+ "SLL": {
+ "name": "Сиералеонско леоне"
+ },
+ "SGD": {
+ "name": "Сингапурски долар"
+ },
+ "SYP": {
+ "name": "Сирийска лира"
+ },
+ "SOS": {
+ "name": "Сомалийски шилинг"
+ },
+ "RSD": {
+ "name": "Сръбски динар"
+ },
+ "SDG": {
+ "name": "Суданска лира"
+ },
+ "SRD": {
+ "name": "Суринамски долар"
+ },
+ "TJS": {
+ "name": "Таджикистански сомони"
+ },
+ "TWD": {
+ "name": "Тайвански долар"
+ },
+ "THB": {
+ "name": "Тайландски бат"
+ },
+ "TZS": {
+ "name": "Танзанийски шилинг"
+ },
+ "TOP": {
+ "name": "Тонганска паанга"
+ },
+ "TND": {
+ "name": "Тунизийски динар"
+ },
+ "TMT": {
+ "name": "Туркменски манат"
+ },
+ "TRY": {
+ "name": "Турска лира"
+ },
+ "UGX": {
+ "name": "Угандски шилинг"
+ },
+ "UZS": {
+ "name": "Узбекски сум"
+ },
+ "UAH": {
+ "name": "Украинска хривня"
+ },
+ "HUF": {
+ "name": "Унгарски форинт"
+ },
+ "UYU": {
+ "name": "Уругвайско песо"
+ },
+ "FJD": {
+ "name": "Фиджийски долар"
+ },
+ "PHP": {
+ "name": "Филипинско песо"
+ },
+ "FKP": {
+ "name": "Фолклендска лира"
+ },
+ "XPF": {
+ "name": "Френскополинезийски франк",
+ "symbol": "CFPF"
+ },
+ "HTG": {
+ "name": "Хаитски гурд"
+ },
+ "HNL": {
+ "name": "Хондураска лемпира"
+ },
+ "HKD": {
+ "name": "Хонконгски долар"
+ },
+ "HRK": {
+ "name": "Хърватска куна"
+ },
+ "XAF": {
+ "name": "Централноафрикански франк",
+ "symbol": "FCFA"
+ },
+ "CZK": {
+ "name": "Чешка крона"
+ },
+ "CLP": {
+ "name": "Чилийско песо"
+ },
+ "SEK": {
+ "name": "Шведска крона"
+ },
+ "CHF": {
+ "name": "Швейцарски франк"
+ },
+ "LKR": {
+ "name": "Шриланкска рупия"
+ },
+ "USD": {
+ "name": "Щатски долар",
+ "symbol": "щ.д."
+ },
+ "ZAR": {
+ "name": "Южноафрикански ранд"
+ },
+ "KRW": {
+ "name": "Южнокорейски вон"
+ },
+ "SSP": {
+ "name": "Южносуданска лира"
+ },
+ "JMD": {
+ "name": "Ямайски долар"
+ },
+ "JPY": {
+ "name": "Японска йена"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/bm.json b/vendor/commerceguys/intl/resources/currency/bm.json
new file mode 100644
index 000000000..a4492fff9
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/bm.json
@@ -0,0 +1,496 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "alizeri Dinar"
+ },
+ "USD": {
+ "name": "ameriki Dolar",
+ "symbol": "US$"
+ },
+ "GBP": {
+ "name": "angilɛ Livri",
+ "symbol": "£"
+ },
+ "AOA": {
+ "name": "angola Kwanza"
+ },
+ "AED": {
+ "name": "arabu mara kafoli Diram"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BHD": {
+ "name": "bareyini Dinar"
+ },
+ "BYN": {
+ "name": "Belarusian Ruble"
+ },
+ "BYR": {
+ "name": "Belarusian Ruble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "bɔtisiwana Pula"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "burundi Fraŋ"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "CVE": {
+ "name": "capivɛrdi Esekudo"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "ERN": {
+ "name": "eritere Nafika"
+ },
+ "EUR": {
+ "name": "ero",
+ "symbol": "€"
+ },
+ "ETB": {
+ "name": "etiopi Bir"
+ },
+ "EGP": {
+ "name": "eziputi Livri"
+ },
+ "SHP": {
+ "name": "Ɛlɛni-Senu Livri"
+ },
+ "INR": {
+ "name": "Ɛndu Rupi",
+ "symbol": "₹"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "gambi Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "DJF": {
+ "name": "jibuti Fraŋ"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "CAD": {
+ "name": "kanada Dolar",
+ "symbol": "CA$"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "keniya Siling"
+ },
+ "KMF": {
+ "name": "komɔri Fraŋ"
+ },
+ "CDF": {
+ "name": "kongole Fraŋ"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "LSL": {
+ "name": "lesoto Loti"
+ },
+ "LRD": {
+ "name": "liberiya Dolar"
+ },
+ "LYD": {
+ "name": "libi Dinar"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "madagasikari Fraŋ"
+ },
+ "MWK": {
+ "name": "malawi Kwaca"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MAD": {
+ "name": "marɔku Diram"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MUR": {
+ "name": "morisi Rupi"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MRO": {
+ "name": "mɔritani Uguwiya"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NAD": {
+ "name": "namibi Dolar"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "NGN": {
+ "name": "nizeriya Nɛra"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "AUD": {
+ "name": "ositirali Dolar",
+ "symbol": "A$"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Ruble"
+ },
+ "RWF": {
+ "name": "ruwanda Fraŋ"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "sawotome Dobra"
+ },
+ "SAR": {
+ "name": "sawudiya Riyal"
+ },
+ "XOF": {
+ "name": "sefa Fraŋ (BCEAO)",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "sefa Fraŋ (BEAC)",
+ "symbol": "FCFA"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "sesɛli Rupi"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "CNY": {
+ "name": "siniwa Yuwan",
+ "symbol": "CN¥"
+ },
+ "SLL": {
+ "name": "siyeralewɔni Lewɔni"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "somali Siling"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "ZAR": {
+ "name": "sudafriki Randi"
+ },
+ "SDG": {
+ "name": "sudani Dinar"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "CHF": {
+ "name": "suwisi Fraŋ"
+ },
+ "SZL": {
+ "name": "swazilandi Lilangeni"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "tanzani Siling"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "tunizi Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "uganda Siling"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "zambi Kwaca"
+ },
+ "JPY": {
+ "name": "zapɔne Yɛn",
+ "symbol": "JP¥"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/bn.json b/vendor/commerceguys/intl/resources/currency/bn.json
new file mode 100644
index 000000000..00fc47afe
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/bn.json
@@ -0,0 +1,498 @@
+{
+ "AUD": {
+ "name": "অস্ট্রেলিয়ান ডলার",
+ "symbol": "A$"
+ },
+ "ISK": {
+ "name": "আইসল্যান্ড ক্রৌন"
+ },
+ "AZN": {
+ "name": "আজারবাইজান মানাত"
+ },
+ "AFN": {
+ "name": "আফগান আফগানি"
+ },
+ "AMD": {
+ "name": "আরমেনিয়ান দ্রাম"
+ },
+ "AWG": {
+ "name": "আরুবা গিল্ডার"
+ },
+ "ARS": {
+ "name": "আর্জেন্টিনা পেসো"
+ },
+ "DZD": {
+ "name": "আলজেরীয় দিনার"
+ },
+ "ALL": {
+ "name": "আলবেনিয়ান লেক"
+ },
+ "UAH": {
+ "name": "ইউক্রেইন হৃভনিয়া"
+ },
+ "EUR": {
+ "name": "ইউরো",
+ "symbol": "€"
+ },
+ "ETB": {
+ "name": "ইথিওপিয়ান বির"
+ },
+ "IDR": {
+ "name": "ইন্দোনেশিয়ান রুপিয়াহ"
+ },
+ "YER": {
+ "name": "ইয়েমেনি রিয়াল"
+ },
+ "IQD": {
+ "name": "ইরাকি দিনার"
+ },
+ "IRR": {
+ "name": "ইরানিয়ান রিয়াল"
+ },
+ "ILS": {
+ "name": "ইস্রাইলি নতুন শেকেল",
+ "symbol": "₪"
+ },
+ "UGX": {
+ "name": "উগান্ডান শিলিং"
+ },
+ "UZS": {
+ "name": "উজবেকিস্তানি সোম"
+ },
+ "KPW": {
+ "name": "উত্তর কোরিয়ার ওন"
+ },
+ "UYU": {
+ "name": "উরুগুয়ে পেসো"
+ },
+ "ERN": {
+ "name": "এরিট্রিয়েন নাকফা"
+ },
+ "SVC": {
+ "name": "এল স্যালভোডোর কোলোন"
+ },
+ "AOA": {
+ "name": "এ্যাঙ্গোলান কওয়ানজা"
+ },
+ "OMR": {
+ "name": "ওমানি রিয়াল"
+ },
+ "CDF": {
+ "name": "কঙ্গোলিস ফ্র্যাঙ্ক"
+ },
+ "KHR": {
+ "name": "কম্বোডিয়ান রিয়েল"
+ },
+ "KMF": {
+ "name": "কম্বোরো ফ্রাঙ্ক"
+ },
+ "COP": {
+ "name": "কলোম্বিয়ান পেসো"
+ },
+ "KZT": {
+ "name": "কাজাখাস্তানি টেঙ্গে"
+ },
+ "QAR": {
+ "name": "কাতার রিয়্যাল"
+ },
+ "CAD": {
+ "name": "কানাডিয়ান ডলার",
+ "symbol": "CA$"
+ },
+ "CUP": {
+ "name": "কিউবান পেসো"
+ },
+ "CUC": {
+ "name": "কিউবান রূপান্তরযোগ্য পেসো"
+ },
+ "KGS": {
+ "name": "কিরগিজস্তান সোম"
+ },
+ "KWD": {
+ "name": "কুয়েতি দিনার"
+ },
+ "KES": {
+ "name": "কেনিয়ান শিলিং"
+ },
+ "CVE": {
+ "name": "কেপ ভার্দে এসকুডো"
+ },
+ "KYD": {
+ "name": "কেম্যান দ্বীপপুঞ্জের ডলার"
+ },
+ "CRC": {
+ "name": "কোস্টা রিকা কোলোন"
+ },
+ "HRK": {
+ "name": "ক্রোয়েশিয়ান কুনা"
+ },
+ "GYD": {
+ "name": "গাইয়েনা ডলার"
+ },
+ "GMD": {
+ "name": "গাম্বিয়া ডালাসি"
+ },
+ "GNF": {
+ "name": "গিনি ফ্রাঙ্ক"
+ },
+ "GTQ": {
+ "name": "গুয়াতেমালা কুয়েৎজাল"
+ },
+ "GHS": {
+ "name": "ঘানা সেডি"
+ },
+ "CLP": {
+ "name": "চিলি পেসো"
+ },
+ "CNY": {
+ "name": "চীনা য়ুয়ান",
+ "symbol": "CN¥"
+ },
+ "CZK": {
+ "name": "চেক প্রজাতন্ত্র কোরুনা"
+ },
+ "GEL": {
+ "name": "জর্জিয়ান লারি"
+ },
+ "JOD": {
+ "name": "জর্ডানিয়ান দিনার"
+ },
+ "JPY": {
+ "name": "জাপানি ইয়েন",
+ "symbol": "JP¥"
+ },
+ "JMD": {
+ "name": "জামাইকান ডলার"
+ },
+ "ZMW": {
+ "name": "জাম্বিয়ান কওয়াচা"
+ },
+ "DJF": {
+ "name": "জিবুতি ফ্রাঙ্ক"
+ },
+ "GIP": {
+ "name": "জিব্রাল্টার পাউন্ড"
+ },
+ "ZWL": {
+ "name": "জিম্বাবুয়ে ডলার (২০০৯)"
+ },
+ "TOP": {
+ "name": "টোঙ্গা পা’আঙ্গা"
+ },
+ "DOP": {
+ "name": "ডোমিনিকান পেসো"
+ },
+ "DKK": {
+ "name": "ড্যানিশ ক্রৌন"
+ },
+ "TJS": {
+ "name": "তাজিকিস্তান সোমোনি"
+ },
+ "TZS": {
+ "name": "তাঞ্জনিয়া শিলিং"
+ },
+ "TND": {
+ "name": "তিউনেশিয়ান দিনার"
+ },
+ "TMT": {
+ "name": "তুর্কমেনিস্তান মানত"
+ },
+ "TRY": {
+ "name": "তুর্কি লিরা"
+ },
+ "TTD": {
+ "name": "ত্রিনিদাদ এবং টোবাগো ডলার"
+ },
+ "THB": {
+ "name": "থাই বাত",
+ "symbol": "฿"
+ },
+ "ZAR": {
+ "name": "দক্ষিণ আফ্রিকান রেন্ড"
+ },
+ "KRW": {
+ "name": "দক্ষিণ কোরিয়ান ওন",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "দক্ষিণ সুদানি পাউন্ড"
+ },
+ "TWD": {
+ "name": "নতুন তাইওয়ান ডলার",
+ "symbol": "NT$"
+ },
+ "NOK": {
+ "name": "নরওয়ে ক্রৌন"
+ },
+ "NGN": {
+ "name": "নাইজেরিয়ান নায়রা"
+ },
+ "NAD": {
+ "name": "নামিবিয়া ডলার"
+ },
+ "NZD": {
+ "name": "নিউজিল্যান্ড ডলার",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "নিকারাগুয়ান কর্ডোবা"
+ },
+ "ANG": {
+ "name": "নেদারল্যান্ড এ্যান্টিলিয়ান গুল্ডের"
+ },
+ "NPR": {
+ "name": "নেপালি রুপি"
+ },
+ "XOF": {
+ "name": "পশ্চিম আফ্রিকান [CFA] ফ্র্যাঙ্ক",
+ "symbol": "CFA"
+ },
+ "PKR": {
+ "name": "পাকিস্তানি রুপি"
+ },
+ "PAB": {
+ "name": "পানামা বেলবোয়া"
+ },
+ "PGK": {
+ "name": "পাপুয়া নিউ গিনিয়ান কিনা"
+ },
+ "XCD": {
+ "name": "পূর্ব ক্যারাবিয়ান ডলার",
+ "symbol": "EC$"
+ },
+ "PEN": {
+ "name": "পেরুভিয়ান সোল নুয়েভো"
+ },
+ "PLN": {
+ "name": "পোলিশ জ্লোটি"
+ },
+ "PYG": {
+ "name": "প্যারাগুয়ান গুয়ারানি"
+ },
+ "FKP": {
+ "name": "ফকল্যান্ড দ্বীপপুঞ্জ পাউন্ড"
+ },
+ "FJD": {
+ "name": "ফিজি ডলার"
+ },
+ "PHP": {
+ "name": "ফিলিপাইন পেসো"
+ },
+ "BWP": {
+ "name": "বতসোয়ানা পুলা"
+ },
+ "BOB": {
+ "name": "বলিভিয়ানো"
+ },
+ "BAM": {
+ "name": "বসনিয়া এবং হার্জেগোভিনা মার্ক"
+ },
+ "BDT": {
+ "name": "বাংলাদেশী টাকা",
+ "symbol": "৳"
+ },
+ "BMD": {
+ "name": "বারমিউডান ডলার"
+ },
+ "BBD": {
+ "name": "বার্বেডোজ ডলার"
+ },
+ "BHD": {
+ "name": "বাহরাইনি দিনার"
+ },
+ "BSD": {
+ "name": "বাহামিয়ান ডলার"
+ },
+ "BIF": {
+ "name": "বুরুন্ডি ফ্রাঙ্ক"
+ },
+ "BGN": {
+ "name": "বুলগেরীয় নিউ লেভ"
+ },
+ "BYN": {
+ "name": "বেলারুশিয়ান রুবেল"
+ },
+ "BYR": {
+ "name": "বেলারুশিয়ান রুবেল (2000–2016)"
+ },
+ "BZD": {
+ "name": "বেলিজ ডলার"
+ },
+ "BRL": {
+ "name": "ব্রাজিলিয়ান রিয়েল",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "ব্রিটিশ পাউন্ড",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "ব্রুনেই ডলার"
+ },
+ "VUV": {
+ "name": "ভানুয়াতু ভাতু"
+ },
+ "INR": {
+ "name": "ভারতীয় রুপি",
+ "symbol": "₹"
+ },
+ "VND": {
+ "name": "ভিয়েতনামি ডঙ্গ",
+ "symbol": "₫"
+ },
+ "BTN": {
+ "name": "ভুটানি এনগুল্ট্রুম"
+ },
+ "VEF": {
+ "name": "ভেনিজুয়েলীয় বলিভার"
+ },
+ "MNT": {
+ "name": "মঙ্গোলিয়ান তুগরিক"
+ },
+ "XAF": {
+ "name": "মধ্য আফ্রিকান [CFA] ফ্র্যাঙ্ক",
+ "symbol": "FCFA"
+ },
+ "MGA": {
+ "name": "মাদাগাস্কার আরিয়ারি"
+ },
+ "MMK": {
+ "name": "মায়ানমার কিয়াত"
+ },
+ "USD": {
+ "name": "মার্কিন ডলার",
+ "symbol": "US$"
+ },
+ "MVR": {
+ "name": "মালদিভিয়ান রুফিয়া"
+ },
+ "MYR": {
+ "name": "মালয়েশিয়ান রিঙ্গিৎ"
+ },
+ "MWK": {
+ "name": "মালাউইয়ান কওয়াচ"
+ },
+ "EGP": {
+ "name": "মিশরীয় পাউন্ড"
+ },
+ "MZN": {
+ "name": "মোজাম্বিক মেটিকেল"
+ },
+ "MAD": {
+ "name": "মোরোক্কান দিরহাম"
+ },
+ "MDL": {
+ "name": "মোল্ডোভান লেয়ু"
+ },
+ "MRO": {
+ "name": "মৌরিতানিয়ান ওউগুইয়া"
+ },
+ "MUR": {
+ "name": "মৌরিতানিয়ান রুপি"
+ },
+ "MOP": {
+ "name": "ম্যাক্যাও পাটাকা"
+ },
+ "MXN": {
+ "name": "ম্যাক্সিকান পেসো",
+ "symbol": "MX$"
+ },
+ "MKD": {
+ "name": "ম্যাসেডোনিয়ান দিনার"
+ },
+ "RUB": {
+ "name": "রাশিয়ান রুবেল"
+ },
+ "RON": {
+ "name": "রুমানিয়া লেয়ু"
+ },
+ "RWF": {
+ "name": "রুয়ান্ডান ফ্রাঙ্ক"
+ },
+ "LYD": {
+ "name": "লিবিয়ান ডলার"
+ },
+ "LRD": {
+ "name": "লিবেরিয়ান ডলার"
+ },
+ "LAK": {
+ "name": "লেউশান কিপ"
+ },
+ "LBP": {
+ "name": "লেবানিজ পাউন্ড"
+ },
+ "LSL": {
+ "name": "লেসুটু লোটি"
+ },
+ "LKR": {
+ "name": "শ্রীলঙ্কান রুপি"
+ },
+ "AED": {
+ "name": "সংযুক্ত আরব আমিরাত দিরহাম"
+ },
+ "SBD": {
+ "name": "সলোমন দ্বীপপুঞ্জ ডলার"
+ },
+ "STD": {
+ "name": "সাও টোমে এবং প্রিন্সিপে ডোবরা"
+ },
+ "WST": {
+ "name": "সামোয়ান টালা"
+ },
+ "RSD": {
+ "name": "সারবিয়ান দিনার"
+ },
+ "XPF": {
+ "name": "সিএফপি ফ্র্যাঙ্ক",
+ "symbol": "CFPF"
+ },
+ "SGD": {
+ "name": "সিঙ্গাপুর ডলার"
+ },
+ "SLL": {
+ "name": "সিয়েরালিয়ন লিয়ন"
+ },
+ "SYP": {
+ "name": "সিরিয়ান পাউন্ড"
+ },
+ "SEK": {
+ "name": "সুইডিশ ক্রোনা"
+ },
+ "CHF": {
+ "name": "সুইস ফ্রাঁ"
+ },
+ "SDG": {
+ "name": "সুদানি পাউন্ড"
+ },
+ "SRD": {
+ "name": "সুরিনাম ডলার"
+ },
+ "SHP": {
+ "name": "সেন্ট হেলেনা পাউন্ড"
+ },
+ "SCR": {
+ "name": "সেয়চেল্লোইস রুপি"
+ },
+ "SOS": {
+ "name": "সোমালি শিলিং"
+ },
+ "SZL": {
+ "name": "সোয়াজিল্যান্ড লিলাঙ্গেনি"
+ },
+ "SAR": {
+ "name": "সৌদি রিয়্যাল"
+ },
+ "HKD": {
+ "name": "হংকং ডলার",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "হন্ডুরাস লেম্পিরা"
+ },
+ "HTG": {
+ "name": "হাইতি গৌর্দে"
+ },
+ "HUF": {
+ "name": "হাঙ্গেরিয়ান ফোরিন্ট"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/br.json b/vendor/commerceguys/intl/resources/currency/br.json
new file mode 100644
index 000000000..5fd6a16fe
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/br.json
@@ -0,0 +1,488 @@
+{
+ "AFN": {
+ "name": "afghani Afghanistan"
+ },
+ "MGA": {
+ "name": "ariary Madagaskar"
+ },
+ "THB": {
+ "name": "baht Thailand"
+ },
+ "PAB": {
+ "name": "balboa Panamá"
+ },
+ "ETB": {
+ "name": "birr Etiopia"
+ },
+ "VEF": {
+ "name": "bolivar Venezuela"
+ },
+ "BOB": {
+ "name": "boliviano Bolivia"
+ },
+ "GHS": {
+ "name": "cedi Ghana"
+ },
+ "CRC": {
+ "name": "colón Costa Rica"
+ },
+ "SVC": {
+ "name": "colón Salvador"
+ },
+ "NIO": {
+ "name": "cordoba Nicaragua"
+ },
+ "GMD": {
+ "name": "dalasi Gambia"
+ },
+ "MKD": {
+ "name": "denar Makedonia"
+ },
+ "DZD": {
+ "name": "dinar Aljeria"
+ },
+ "BHD": {
+ "name": "dinar Bahrein"
+ },
+ "IQD": {
+ "name": "dinar Iraq"
+ },
+ "JOD": {
+ "name": "dinar Jordania"
+ },
+ "KWD": {
+ "name": "dinar Koweit"
+ },
+ "LYD": {
+ "name": "dinar Libia"
+ },
+ "RSD": {
+ "name": "dinar Serbia"
+ },
+ "TND": {
+ "name": "dinar Tunizia"
+ },
+ "AED": {
+ "name": "dirham EAU"
+ },
+ "MAD": {
+ "name": "dirham Maroko"
+ },
+ "STD": {
+ "name": "dobra São Tomé ha Príncipe"
+ },
+ "AUD": {
+ "name": "dollar Aostralia",
+ "symbol": "$A"
+ },
+ "BSD": {
+ "name": "dollar Bahamas"
+ },
+ "BBD": {
+ "name": "dollar Barbados"
+ },
+ "BZD": {
+ "name": "dollar Belize"
+ },
+ "BMD": {
+ "name": "dollar Bermuda"
+ },
+ "BND": {
+ "name": "dollar Brunei"
+ },
+ "FJD": {
+ "name": "dollar Fidji"
+ },
+ "GYD": {
+ "name": "dollar Guyana"
+ },
+ "HKD": {
+ "name": "dollar Hong Kong",
+ "symbol": "$ HK"
+ },
+ "KYD": {
+ "name": "dollar Inizi Cayman"
+ },
+ "SBD": {
+ "name": "dollar Inizi Salomon"
+ },
+ "JMD": {
+ "name": "dollar Jamaika"
+ },
+ "CAD": {
+ "name": "dollar Kanada",
+ "symbol": "$CA"
+ },
+ "XCD": {
+ "name": "dollar Karib ar reter"
+ },
+ "LRD": {
+ "name": "dollar Liberia"
+ },
+ "NAD": {
+ "name": "dollar Namibia"
+ },
+ "TWD": {
+ "name": "dollar nevez Taiwan"
+ },
+ "SGD": {
+ "name": "dollar Singapour"
+ },
+ "USD": {
+ "name": "dollar SU",
+ "symbol": "$ SU"
+ },
+ "SRD": {
+ "name": "dollar Surinam"
+ },
+ "TTD": {
+ "name": "dollar Trinidad ha Tobago"
+ },
+ "NZD": {
+ "name": "dollar Zeland-Nevez",
+ "symbol": "$ ZN"
+ },
+ "ZWL": {
+ "name": "dollar Zimbabwe (2009)"
+ },
+ "VND": {
+ "name": "dong Viêt Nam"
+ },
+ "AMD": {
+ "name": "dram Armenia"
+ },
+ "CVE": {
+ "name": "escudo Kab Glas"
+ },
+ "EUR": {
+ "name": "euro",
+ "symbol": "€"
+ },
+ "ANG": {
+ "name": "florin Antilhez nederlandat"
+ },
+ "AWG": {
+ "name": "florin Aruba"
+ },
+ "HUF": {
+ "name": "forint Hungaria"
+ },
+ "HTG": {
+ "name": "gourde Haiti"
+ },
+ "PYG": {
+ "name": "guarani Paraguay"
+ },
+ "UAH": {
+ "name": "hryvnia Ukraina"
+ },
+ "PGK": {
+ "name": "kina Papoua Ginea-Nevez"
+ },
+ "LAK": {
+ "name": "kip Laos"
+ },
+ "HRK": {
+ "name": "kuna Kroatia"
+ },
+ "DKK": {
+ "name": "kurunenn Danmark"
+ },
+ "ISK": {
+ "name": "kurunenn Island"
+ },
+ "NOK": {
+ "name": "kurunenn Norvegia"
+ },
+ "SEK": {
+ "name": "kurunenn Sveden"
+ },
+ "CZK": {
+ "name": "kurunenn Tchek"
+ },
+ "MWK": {
+ "name": "kwacha Malawi"
+ },
+ "ZMW": {
+ "name": "kwacha Zambia"
+ },
+ "AOA": {
+ "name": "kwanza Angola"
+ },
+ "MMK": {
+ "name": "kyat Myanmar"
+ },
+ "GEL": {
+ "name": "lari Jorjia"
+ },
+ "ALL": {
+ "name": "lek Albania"
+ },
+ "HNL": {
+ "name": "lempira Honduras"
+ },
+ "SLL": {
+ "name": "leone Sierra Leone"
+ },
+ "MDL": {
+ "name": "leu Moldova"
+ },
+ "RON": {
+ "name": "leu Roumania"
+ },
+ "BGN": {
+ "name": "lev Bulgaria"
+ },
+ "SZL": {
+ "name": "lilangeni Swaziland"
+ },
+ "LSL": {
+ "name": "loti Lesotho"
+ },
+ "GBP": {
+ "name": "lur Breizh-Veur",
+ "symbol": "£ RU"
+ },
+ "BIF": {
+ "name": "lur Burundi"
+ },
+ "XOF": {
+ "name": "lur CFA Afrika ar Cʼhornôg",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "lur CFA Kreizafrika",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "lur CFP",
+ "symbol": "CFPF"
+ },
+ "DJF": {
+ "name": "lur Djibouti"
+ },
+ "EGP": {
+ "name": "lur Egipt"
+ },
+ "GNF": {
+ "name": "lur Ginea"
+ },
+ "FKP": {
+ "name": "lur Inizi Falkland"
+ },
+ "GIP": {
+ "name": "lur Jibraltar"
+ },
+ "KMF": {
+ "name": "lur Komorez"
+ },
+ "CDF": {
+ "name": "lur Kongo"
+ },
+ "LBP": {
+ "name": "lur Liban"
+ },
+ "RWF": {
+ "name": "lur Rwanda"
+ },
+ "SHP": {
+ "name": "lur Saint-Helena"
+ },
+ "SYP": {
+ "name": "lur Siria"
+ },
+ "SDG": {
+ "name": "lur Soudan"
+ },
+ "CHF": {
+ "name": "lur Suis"
+ },
+ "SSP": {
+ "name": "lur Susoudan"
+ },
+ "TRY": {
+ "name": "lur Turkia"
+ },
+ "AZN": {
+ "name": "manat Azerbaidjan"
+ },
+ "TMT": {
+ "name": "manat Turkmenistan"
+ },
+ "BAM": {
+ "name": "mark kemmadus Bosnia ha Herzegovina"
+ },
+ "MZN": {
+ "name": "metical Mozambik"
+ },
+ "NGN": {
+ "name": "naira Nigeria"
+ },
+ "ERN": {
+ "name": "nakfa Eritrea"
+ },
+ "BTN": {
+ "name": "ngultrum Bhoutan"
+ },
+ "PEN": {
+ "name": "nuevo sol Perou"
+ },
+ "MRO": {
+ "name": "ouguiya Maouritania"
+ },
+ "TOP": {
+ "name": "paʻanga Tonga"
+ },
+ "MOP": {
+ "name": "pataca Macau"
+ },
+ "ARS": {
+ "name": "peso Arcʼhantina"
+ },
+ "CLP": {
+ "name": "peso Chile"
+ },
+ "DOP": {
+ "name": "peso Dominikan"
+ },
+ "PHP": {
+ "name": "peso Filipinez"
+ },
+ "CUC": {
+ "name": "peso kemmadus Kuba"
+ },
+ "COP": {
+ "name": "peso Kolombia"
+ },
+ "CUP": {
+ "name": "peso Kuba"
+ },
+ "MXN": {
+ "name": "peso Mecʼhiko",
+ "symbol": "MX$"
+ },
+ "UYU": {
+ "name": "peso Uruguay"
+ },
+ "BWP": {
+ "name": "pula Botswana"
+ },
+ "GTQ": {
+ "name": "quetzal Guatemala"
+ },
+ "ZAR": {
+ "name": "rand Suafrika"
+ },
+ "BRL": {
+ "name": "real Brazil"
+ },
+ "IRR": {
+ "name": "rial Iran"
+ },
+ "OMR": {
+ "name": "rial Oman"
+ },
+ "QAR": {
+ "name": "rial Qatar"
+ },
+ "YER": {
+ "name": "rial Yemen"
+ },
+ "KHR": {
+ "name": "riel Kambodja"
+ },
+ "MYR": {
+ "name": "ringgit Malaysia"
+ },
+ "SAR": {
+ "name": "riyal Arabia Saoudat"
+ },
+ "BYN": {
+ "name": "roubl Belarus"
+ },
+ "BYR": {
+ "name": "roubl Belarus (2000–2016)"
+ },
+ "RUB": {
+ "name": "roubl Rusia"
+ },
+ "INR": {
+ "name": "roupi India",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "roupi Indonezia"
+ },
+ "MUR": {
+ "name": "roupi Moris"
+ },
+ "NPR": {
+ "name": "roupi Nepal"
+ },
+ "PKR": {
+ "name": "roupi Pakistan"
+ },
+ "SCR": {
+ "name": "roupi Sechelez"
+ },
+ "LKR": {
+ "name": "roupi Sri Lanka"
+ },
+ "MVR": {
+ "name": "rufiyaa Maldivez"
+ },
+ "ILS": {
+ "name": "shekel nevez Israel"
+ },
+ "KES": {
+ "name": "shilling Kenya"
+ },
+ "UGX": {
+ "name": "shilling Ouganda"
+ },
+ "SOS": {
+ "name": "shilling Somalia"
+ },
+ "TZS": {
+ "name": "shilling Tanzania"
+ },
+ "KGS": {
+ "name": "som Kyrgyzstan"
+ },
+ "UZS": {
+ "name": "som Ouzbekistan"
+ },
+ "TJS": {
+ "name": "somoni Tadjikistan"
+ },
+ "BDT": {
+ "name": "taka Bangladesh"
+ },
+ "WST": {
+ "name": "tala Samoa"
+ },
+ "KZT": {
+ "name": "tenge Kazakstan"
+ },
+ "MNT": {
+ "name": "tugrik Mongolia"
+ },
+ "VUV": {
+ "name": "vatu Vanuatu"
+ },
+ "KPW": {
+ "name": "won Korea an Norzh"
+ },
+ "KRW": {
+ "name": "won Korea ar Su"
+ },
+ "JPY": {
+ "name": "yen Japan"
+ },
+ "CNY": {
+ "name": "yuan Sina"
+ },
+ "PLN": {
+ "name": "zloty Polonia"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/brx.json b/vendor/commerceguys/intl/resources/currency/brx.json
new file mode 100644
index 000000000..de82e0c03
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/brx.json
@@ -0,0 +1,496 @@
+{
+ "XAF": {
+ "name": "(सीएफ़ए) फ्रानसीसी फेदरेशनी फ्राँ",
+ "symbol": "FCFA"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ },
+ "AFN": {
+ "name": "अफ़ग़ानी"
+ },
+ "USD": {
+ "name": "अमरिकी डॉलर",
+ "symbol": "US$"
+ },
+ "AWG": {
+ "name": "अरुबा गील्डर"
+ },
+ "ARS": {
+ "name": "अर्जेण्टीनी पेसो"
+ },
+ "ISK": {
+ "name": "आईसलैण्ड क्रोना"
+ },
+ "AZN": {
+ "name": "आज़रबैजानी मनात"
+ },
+ "AMD": {
+ "name": "आरमिनियाई दिर्हाम"
+ },
+ "DZD": {
+ "name": "आल्जीरी दीनार"
+ },
+ "ALL": {
+ "name": "आल्बेनिया का लेक"
+ },
+ "IDR": {
+ "name": "इण्डोनेशियाई रुपिया"
+ },
+ "ILS": {
+ "name": "इस्राइली शेकेल",
+ "symbol": "₪"
+ },
+ "ETB": {
+ "name": "ईथिओपिया का बीर्र"
+ },
+ "IQD": {
+ "name": "ईराक़ी दीनार"
+ },
+ "IRR": {
+ "name": "ईरानी रीयाल"
+ },
+ "XCD": {
+ "name": "ईस्ट करिबियन डॉलर",
+ "symbol": "EC$"
+ },
+ "UZS": {
+ "name": "ऊज़बेक सुम"
+ },
+ "KPW": {
+ "name": "ऊत्तर कोरियाई वोन"
+ },
+ "UYU": {
+ "name": "ऊरुगुए का ऊरुगुआयो पेसो"
+ },
+ "AOA": {
+ "name": "एंगोला क्वानज़ा"
+ },
+ "SVC": {
+ "name": "एल सालवादर कोलोन"
+ },
+ "ERN": {
+ "name": "ऐरित्रीया का नाफ़का"
+ },
+ "AUD": {
+ "name": "ऑस्ट्रेलियन डॉलर",
+ "symbol": "A$"
+ },
+ "OMR": {
+ "name": "ओमानी रियाल"
+ },
+ "QAR": {
+ "name": "क़तारी रीयाल"
+ },
+ "CAD": {
+ "name": "कनेडियन डॉलर",
+ "symbol": "CA$"
+ },
+ "KHR": {
+ "name": "कंबोडिया का रिएल"
+ },
+ "KZT": {
+ "name": "क़ाज़ाख़स्तान तेंगे"
+ },
+ "CVE": {
+ "name": "काप वेर्दे का एस्कुदो"
+ },
+ "KES": {
+ "name": "किनियाई शीलींग"
+ },
+ "KGS": {
+ "name": "क़ीर्ग़ीज़स्तानी सोम"
+ },
+ "KWD": {
+ "name": "क़ुवैती दीनार"
+ },
+ "KYD": {
+ "name": "कैमान द्वीप का डॉलर"
+ },
+ "CDF": {
+ "name": "कॉंगोलीज़ फ्राँ"
+ },
+ "CRC": {
+ "name": "कॉस्टा रीका का कोलोन"
+ },
+ "KMF": {
+ "name": "कोमोरो का फ्राँ"
+ },
+ "COP": {
+ "name": "कोलम्बियाई पेसो"
+ },
+ "CUP": {
+ "name": "क्युबा का पेसो"
+ },
+ "HRK": {
+ "name": "क्रोएशियाई कुना"
+ },
+ "GMD": {
+ "name": "गाँबिया का दलासी"
+ },
+ "GNF": {
+ "name": "गीनी फ्राँ"
+ },
+ "GYD": {
+ "name": "गुयाना डॉलर"
+ },
+ "GTQ": {
+ "name": "ग्वातेमाला क़्वेत्ज़ाल"
+ },
+ "GHS": {
+ "name": "घाना चेदी"
+ },
+ "CLP": {
+ "name": "चिली पेसो"
+ },
+ "CNY": {
+ "name": "चीनी युआन रेनमीनबी",
+ "symbol": "CN¥"
+ },
+ "CZK": {
+ "name": "चेक गनतंत्र का कोरुना"
+ },
+ "JMD": {
+ "name": "जमाईका का डॉलर"
+ },
+ "JPY": {
+ "name": "जापानी येन",
+ "symbol": "JP¥"
+ },
+ "ZMW": {
+ "name": "ज़ाम्बियाई क्वाचा"
+ },
+ "DJF": {
+ "name": "जीबुती फ्राँ"
+ },
+ "GIP": {
+ "name": "जीब्रालटर का पौण्ड"
+ },
+ "GEL": {
+ "name": "जॉर्जिया का लारी"
+ },
+ "JOD": {
+ "name": "जोर्डनी दीनार"
+ },
+ "TOP": {
+ "name": "टॉंगा पाईंगा"
+ },
+ "DKK": {
+ "name": "डेनमार्क का क्रोन"
+ },
+ "DOP": {
+ "name": "डॉमीनीकन पेसो"
+ },
+ "TWD": {
+ "name": "ताईवानी नया डॉलर",
+ "symbol": "NT$"
+ },
+ "TJS": {
+ "name": "ताजीक़ीस्तानी सोमोनी"
+ },
+ "TZS": {
+ "name": "तान्ज़ेनियाई शीलींग"
+ },
+ "TRY": {
+ "name": "तुर्की नया लीरा"
+ },
+ "TND": {
+ "name": "त्युनीसी दीनर"
+ },
+ "TTD": {
+ "name": "त्रीनीदाद एवं टोबागो डॉलर"
+ },
+ "THB": {
+ "name": "थाई बाह्ट"
+ },
+ "ZAR": {
+ "name": "दक्षिण अफ़्रीकी रॅण्ड"
+ },
+ "KRW": {
+ "name": "दक्षिण कोरियाई वोन",
+ "symbol": "₩"
+ },
+ "NAD": {
+ "name": "नमीबिया डॉलर"
+ },
+ "NGN": {
+ "name": "नाईजीरीयाई नाईरा"
+ },
+ "NIO": {
+ "name": "नीकारागुआई सुवर्ण कोर्दोबा"
+ },
+ "ANG": {
+ "name": "नेदरलैण्ड एन्टीलीज़ का गील्डर"
+ },
+ "NPR": {
+ "name": "नेपाली रुपी"
+ },
+ "NOK": {
+ "name": "नॉर्वे का क्रोन"
+ },
+ "NZD": {
+ "name": "न्यूज़ीलैंड डॉलर",
+ "symbol": "NZ$"
+ },
+ "PAB": {
+ "name": "पनामा का बालबोआ"
+ },
+ "PKR": {
+ "name": "पाकिस्तानी रुपया"
+ },
+ "PGK": {
+ "name": "पापुआ न्यु गीनी का कीना"
+ },
+ "PYG": {
+ "name": "पारागुऐई गुआरानी"
+ },
+ "PEN": {
+ "name": "पेरुवाई नया सोल"
+ },
+ "PLN": {
+ "name": "पोलिश ज़्लॉटी"
+ },
+ "FKP": {
+ "name": "फाल्कलैण्ड द्वीप पौण्ड"
+ },
+ "FJD": {
+ "name": "फ़िजी का डॉलर"
+ },
+ "PHP": {
+ "name": "फ़िलिपीन का पेसो"
+ },
+ "XPF": {
+ "name": "फ्रानसीसी फेदेरेशनी फ्राँ",
+ "symbol": "CFPF"
+ },
+ "XOF": {
+ "name": "फ्रानसीसी फेदेरेशनी बीसीएआओ फ्राँ",
+ "symbol": "CFA"
+ },
+ "BMD": {
+ "name": "बरमुडी डॉलर"
+ },
+ "BGN": {
+ "name": "बल्गेरियाई लेव"
+ },
+ "BSD": {
+ "name": "बहामा डॉलर"
+ },
+ "BDT": {
+ "name": "बांगलादेश टका"
+ },
+ "BBD": {
+ "name": "बारबादोस डॉलर"
+ },
+ "BHD": {
+ "name": "बाहरैनी दीनार"
+ },
+ "BIF": {
+ "name": "बुरुंदी फ्राँ"
+ },
+ "BYN": {
+ "name": "बेलारुसी रूबल"
+ },
+ "BYR": {
+ "name": "बेलारुसी रूबल (2000–2016)"
+ },
+ "BZD": {
+ "name": "बेलीज़ डॉलर"
+ },
+ "BWP": {
+ "name": "बोट्सवाना का पुलाट"
+ },
+ "BOB": {
+ "name": "बोलिवियानो"
+ },
+ "BAM": {
+ "name": "बोसनिया हेर्ज़ेगोविना कनवर्टीबल मार्क"
+ },
+ "BRL": {
+ "name": "ब्रज़ीली रेयाल",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "ब्रितन का पौण्ड स्टर्लिग",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "ब्रुनई डॉलर"
+ },
+ "BTN": {
+ "name": "भुतान का नगुलत्रुम"
+ },
+ "MYR": {
+ "name": "मलेशियन रिंगित"
+ },
+ "MKD": {
+ "name": "मसेदोनियाई दीनार"
+ },
+ "MOP": {
+ "name": "माकाव पाताचा"
+ },
+ "MGA": {
+ "name": "मादागास्करी आरिआरी"
+ },
+ "MVR": {
+ "name": "मालदीव द्वीप का रूफिया"
+ },
+ "MWK": {
+ "name": "मालवी क्वाचा"
+ },
+ "EGP": {
+ "name": "मिस्री पाउण्ड"
+ },
+ "MXN": {
+ "name": "मेक्सिकन पेसो",
+ "symbol": "MX$"
+ },
+ "MZN": {
+ "name": "मोज़ांबीक मेतीकाल"
+ },
+ "MAD": {
+ "name": "मोरक्किय दिर्हाम"
+ },
+ "MUR": {
+ "name": "मोरिशियस का रूपी"
+ },
+ "MDL": {
+ "name": "मोल्डोवियाई ल"
+ },
+ "MNT": {
+ "name": "मौंगोलीयाई तुग्रीक"
+ },
+ "MRO": {
+ "name": "मौरिटानी ऊगुया"
+ },
+ "MMK": {
+ "name": "म्यानमारी क्याट"
+ },
+ "YER": {
+ "name": "यमनी रीयाल"
+ },
+ "UAH": {
+ "name": "युक्रेनी ह्रीवनिया"
+ },
+ "UGX": {
+ "name": "युगाँडाई शीलींग"
+ },
+ "EUR": {
+ "name": "युरो",
+ "symbol": "€"
+ },
+ "INR": {
+ "name": "रां",
+ "symbol": "₹"
+ },
+ "RWF": {
+ "name": "रुआँदा फ्राँ"
+ },
+ "RUB": {
+ "name": "रूसी रूबल"
+ },
+ "RON": {
+ "name": "रोमानियाई ल"
+ },
+ "LSL": {
+ "name": "लसोथो का लोटी"
+ },
+ "LAK": {
+ "name": "लाओस का कीप"
+ },
+ "LYD": {
+ "name": "लिबियाई दीनार"
+ },
+ "LBP": {
+ "name": "लीबानी पौंड"
+ },
+ "LRD": {
+ "name": "लीबेरियाई डॉलर"
+ },
+ "VUV": {
+ "name": "वनुआटु वटु"
+ },
+ "VND": {
+ "name": "वीयतनामी डॉंग",
+ "symbol": "₫"
+ },
+ "VEF": {
+ "name": "वेनेज़ुएलाई बोलिवार"
+ },
+ "WST": {
+ "name": "वेस्टर्न समोआ ताला"
+ },
+ "LKR": {
+ "name": "श्री लंका रूपी"
+ },
+ "AED": {
+ "name": "संयुक्त अरब अमीरात का दिर्हाम"
+ },
+ "RSD": {
+ "name": "सर्बियाई दिनार"
+ },
+ "SAR": {
+ "name": "साउदी रियाल"
+ },
+ "STD": {
+ "name": "साँव तोमे एवं प्रीन्सीपे का डोब्रा"
+ },
+ "SGD": {
+ "name": "सिंगापुर डॉलर"
+ },
+ "SLL": {
+ "name": "सीयेरा लीयोनेई लीयोने"
+ },
+ "SYP": {
+ "name": "सीरियाई पौंड"
+ },
+ "SDG": {
+ "name": "सुदानी पौंड"
+ },
+ "SRD": {
+ "name": "सुरीनाम डॉलर"
+ },
+ "SHP": {
+ "name": "सेंट हेलीना पौंड"
+ },
+ "SCR": {
+ "name": "सेशेल रूपी"
+ },
+ "SOS": {
+ "name": "सोमाली शीलींग"
+ },
+ "SBD": {
+ "name": "सोलोमन द्वीप का डॉलर"
+ },
+ "SZL": {
+ "name": "स्वाज़ीलैण्ड लीलांगेनी"
+ },
+ "CHF": {
+ "name": "स्विस फ़्रैंक"
+ },
+ "SEK": {
+ "name": "स्वीडन क्रोना"
+ },
+ "HUF": {
+ "name": "हंगेरियाई फ़ोरिण्ट"
+ },
+ "HTG": {
+ "name": "हाईती गुर्द"
+ },
+ "HKD": {
+ "name": "हाँग काँग डॉलर",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "हॉंडुरास लेंपीरा"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/bs-Cyrl.json b/vendor/commerceguys/intl/resources/currency/bs-Cyrl.json
new file mode 100644
index 000000000..401787676
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/bs-Cyrl.json
@@ -0,0 +1,501 @@
+{
+ "AFN": {
+ "name": "Авганистански авган"
+ },
+ "AZN": {
+ "name": "Азербејџански манат"
+ },
+ "ALL": {
+ "name": "Албански лек"
+ },
+ "DZD": {
+ "name": "Алжирски динар"
+ },
+ "USD": {
+ "name": "Амерички долар",
+ "symbol": "US$"
+ },
+ "AOA": {
+ "name": "анголска кванза"
+ },
+ "ARS": {
+ "name": "аргентински пезо"
+ },
+ "AWG": {
+ "name": "Арубански флорин"
+ },
+ "AUD": {
+ "name": "Аустралијски долар",
+ "symbol": "A$"
+ },
+ "BDT": {
+ "name": "Бангладешка така"
+ },
+ "BBD": {
+ "name": "Барбадошки долар"
+ },
+ "BSD": {
+ "name": "Бахамски долар"
+ },
+ "BHD": {
+ "name": "Бахреински динар"
+ },
+ "BZD": {
+ "name": "Белизе долар"
+ },
+ "BYN": {
+ "name": "Белоруска рубља"
+ },
+ "BYR": {
+ "name": "Белоруска рубља (2000–2016)"
+ },
+ "BMD": {
+ "name": "Бермудски долар"
+ },
+ "BOB": {
+ "name": "Боливијски Боливиано"
+ },
+ "BWP": {
+ "name": "Боцванска пула"
+ },
+ "BRL": {
+ "name": "Бразилски Реал",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "Британска фунта",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Брунејски долар"
+ },
+ "BGN": {
+ "name": "Бугарски лев"
+ },
+ "BIF": {
+ "name": "Бурундски франак"
+ },
+ "BTN": {
+ "name": "Бутански нгултрум"
+ },
+ "VUV": {
+ "name": "Вануатски вату"
+ },
+ "VEF": {
+ "name": "Венецуелански боливар"
+ },
+ "VND": {
+ "name": "Вијетнамски донг",
+ "symbol": "₫"
+ },
+ "GMD": {
+ "name": "Гамбијски даласи"
+ },
+ "GHS": {
+ "name": "Гански цеди"
+ },
+ "GTQ": {
+ "name": "Гватемалски квецал"
+ },
+ "GNF": {
+ "name": "Гвинејски франак"
+ },
+ "GIP": {
+ "name": "Гибралташка фунта"
+ },
+ "GEL": {
+ "name": "Грузијски лари"
+ },
+ "GYD": {
+ "name": "Гујански долар"
+ },
+ "DKK": {
+ "name": "Данска круна"
+ },
+ "DOP": {
+ "name": "Доминикански пезо"
+ },
+ "EUR": {
+ "name": "Евро",
+ "symbol": "€"
+ },
+ "EGP": {
+ "name": "Египатска фунта"
+ },
+ "ERN": {
+ "name": "Еритреанска накфа"
+ },
+ "ETB": {
+ "name": "етиопијски бир"
+ },
+ "ZMW": {
+ "name": "Замбијска квача"
+ },
+ "CVE": {
+ "name": "Зеленортски ескудо"
+ },
+ "ZWL": {
+ "name": "Зимбабвеански долар (2009)"
+ },
+ "ILS": {
+ "name": "Израелски нови шекел",
+ "symbol": "₪"
+ },
+ "INR": {
+ "name": "Индијски Рупи",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Индонезијска рупиа"
+ },
+ "IRR": {
+ "name": "Ирански риал"
+ },
+ "IQD": {
+ "name": "Ирачки динар"
+ },
+ "ISK": {
+ "name": "Исландска круна"
+ },
+ "XCD": {
+ "name": "Источно-карибски долар",
+ "symbol": "EC$"
+ },
+ "JMD": {
+ "name": "Јамајски долар"
+ },
+ "JPY": {
+ "name": "Јапански јен",
+ "symbol": "¥"
+ },
+ "YER": {
+ "name": "Јеменски риал"
+ },
+ "AMD": {
+ "name": "Јерменски драм"
+ },
+ "JOD": {
+ "name": "Јордански динар"
+ },
+ "ZAR": {
+ "name": "Јужно-афрички ранд"
+ },
+ "KRW": {
+ "name": "Јужнокорејски Вон",
+ "symbol": "₩"
+ },
+ "KZT": {
+ "name": "Казахстански тенџ"
+ },
+ "KYD": {
+ "name": "Кајманска острва долар"
+ },
+ "KHR": {
+ "name": "Камбоџијски риел"
+ },
+ "CAD": {
+ "name": "Канадски долар",
+ "symbol": "CA$"
+ },
+ "QAR": {
+ "name": "Катаршки ријал"
+ },
+ "KES": {
+ "name": "Кенијски шилинг"
+ },
+ "CNY": {
+ "name": "Кинески јуан ренминби",
+ "symbol": "CN¥"
+ },
+ "KGS": {
+ "name": "Киргистански сом"
+ },
+ "COP": {
+ "name": "Колумбијски пезо"
+ },
+ "KMF": {
+ "name": "Коморски франак"
+ },
+ "BAM": {
+ "name": "Конвертибилна марка",
+ "symbol": "КМ"
+ },
+ "CDF": {
+ "name": "Конголски франак"
+ },
+ "CRC": {
+ "name": "Костарикански колон"
+ },
+ "CUC": {
+ "name": "кубански конвертибилни песо"
+ },
+ "CUP": {
+ "name": "Кубански пезо"
+ },
+ "KWD": {
+ "name": "Кувајтски динар"
+ },
+ "LAK": {
+ "name": "Лаошки кип"
+ },
+ "LBP": {
+ "name": "Лебанска фунта"
+ },
+ "LSL": {
+ "name": "Лесото лоти"
+ },
+ "LRD": {
+ "name": "Либеријски долар"
+ },
+ "LYD": {
+ "name": "Либијски динар"
+ },
+ "HUF": {
+ "name": "Мађарска форинта"
+ },
+ "MOP": {
+ "name": "Маканишка патака"
+ },
+ "MKD": {
+ "name": "Македонски денар"
+ },
+ "MWK": {
+ "name": "Малавијска квача"
+ },
+ "MGA": {
+ "name": "Малагасијски ариари"
+ },
+ "MVR": {
+ "name": "Малдивијска руфија"
+ },
+ "MYR": {
+ "name": "Малезијски ринггит"
+ },
+ "MAD": {
+ "name": "Марокански дирхам"
+ },
+ "MRO": {
+ "name": "Мауританијска угвија"
+ },
+ "MUR": {
+ "name": "Маурицијски рупи"
+ },
+ "MXN": {
+ "name": "Мексички пезо",
+ "symbol": "MX$"
+ },
+ "MMK": {
+ "name": "Мјанмашки кјат"
+ },
+ "MZN": {
+ "name": "Мозамбијски метикал"
+ },
+ "MDL": {
+ "name": "Молдовски љу"
+ },
+ "MNT": {
+ "name": "Монголски тугрик"
+ },
+ "NAD": {
+ "name": "намбијски долар"
+ },
+ "NPR": {
+ "name": "Непалски рупи"
+ },
+ "NGN": {
+ "name": "Нигеријска наира"
+ },
+ "NIO": {
+ "name": "Никарагванска златна кордоба"
+ },
+ "TWD": {
+ "name": "Нови тајвански долар",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "Новозеландски долар",
+ "symbol": "NZ$"
+ },
+ "NOK": {
+ "name": "Норвешка круна"
+ },
+ "OMR": {
+ "name": "Омански ријал"
+ },
+ "PKR": {
+ "name": "Пакистански рупи"
+ },
+ "PAB": {
+ "name": "Панамска балбоа"
+ },
+ "PGK": {
+ "name": "Папуа ново-гвинејшка кина"
+ },
+ "PYG": {
+ "name": "Парагвајски гуарни"
+ },
+ "PEN": {
+ "name": "Перуански нуево сол"
+ },
+ "PLN": {
+ "name": "Пољски злот",
+ "symbol": "зл"
+ },
+ "RWF": {
+ "name": "Руандански франак"
+ },
+ "RON": {
+ "name": "Румунски леу"
+ },
+ "RUB": {
+ "name": "Руска рубља"
+ },
+ "SVC": {
+ "name": "Салвадорски колон"
+ },
+ "WST": {
+ "name": "Самоанска тала"
+ },
+ "STD": {
+ "name": "Сао Томе и Принципе добра"
+ },
+ "SAR": {
+ "name": "Саудијски ријал"
+ },
+ "SHP": {
+ "name": "Св. јеленска фунта"
+ },
+ "SZL": {
+ "name": "Свази лилангени"
+ },
+ "KPW": {
+ "name": "Севернокорејски вон"
+ },
+ "SCR": {
+ "name": "Сејшелска рупија"
+ },
+ "SLL": {
+ "name": "Сијера-леоншки леоне"
+ },
+ "SGD": {
+ "name": "Сингапурски долар"
+ },
+ "SYP": {
+ "name": "Сиријска фунта"
+ },
+ "SBD": {
+ "name": "Соломонско-острвски долар"
+ },
+ "SOS": {
+ "name": "СОмалијски шилинг"
+ },
+ "RSD": {
+ "name": "Српски динар",
+ "symbol": "дин."
+ },
+ "SDG": {
+ "name": "Суданска фунта"
+ },
+ "SRD": {
+ "name": "СУринамски долар"
+ },
+ "THB": {
+ "name": "Таи бахт"
+ },
+ "TJS": {
+ "name": "Таљихистански сомони"
+ },
+ "TZS": {
+ "name": "Танзанијски шилинг"
+ },
+ "TOP": {
+ "name": "Тонгоншка Панга"
+ },
+ "TTD": {
+ "name": "Тринидад тобагошки долар"
+ },
+ "TND": {
+ "name": "Тунизијски долар"
+ },
+ "TMT": {
+ "name": "Туркменистански манат"
+ },
+ "TRY": {
+ "name": "Турска лира",
+ "symbol": "Тл"
+ },
+ "UGX": {
+ "name": "Угандски шилинг"
+ },
+ "UZS": {
+ "name": "Узбекистански сом"
+ },
+ "AED": {
+ "name": "Уједињени арапски емирати дирхам"
+ },
+ "UAH": {
+ "name": "Украјинска хривња"
+ },
+ "UYU": {
+ "name": "Уругвајски пезо"
+ },
+ "PHP": {
+ "name": "Филипински пезо"
+ },
+ "FJD": {
+ "name": "Фиџи долар"
+ },
+ "FKP": {
+ "name": "Фокландска острва фунта"
+ },
+ "HTG": {
+ "name": "Хаићански гурд"
+ },
+ "ANG": {
+ "name": "Холандски антили гилдер"
+ },
+ "HKD": {
+ "name": "Хонгконшки долар",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "Хондурашка лемпира"
+ },
+ "HRK": {
+ "name": "Хрватска куна"
+ },
+ "CZK": {
+ "name": "Чешка круна",
+ "symbol": "Кч"
+ },
+ "CLP": {
+ "name": "Чилеански пезо"
+ },
+ "DJF": {
+ "name": "Џибутански франак"
+ },
+ "CHF": {
+ "name": "Швајцарски франак"
+ },
+ "SEK": {
+ "name": "Шведска круна"
+ },
+ "LKR": {
+ "name": "Шриланкански рупи"
+ },
+ "XOF": {
+ "name": "CFA франак BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "CFA франак BEAC",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP франак",
+ "symbol": "CFPF"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/bs.json b/vendor/commerceguys/intl/resources/currency/bs.json
new file mode 100644
index 000000000..adf31c61b
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/bs.json
@@ -0,0 +1,488 @@
+{
+ "AFN": {
+ "name": "Afganistanski afgan"
+ },
+ "ALL": {
+ "name": "Albanski lek"
+ },
+ "DZD": {
+ "name": "Alžirski dinar"
+ },
+ "USD": {
+ "name": "Američki dolar"
+ },
+ "AOA": {
+ "name": "Angolska kvanza"
+ },
+ "ARS": {
+ "name": "Argentinski pezos"
+ },
+ "AMD": {
+ "name": "Armenski dram"
+ },
+ "AWG": {
+ "name": "Arubanski florin"
+ },
+ "AUD": {
+ "name": "Australijski dolar"
+ },
+ "AZN": {
+ "name": "Azerbejdžanski manat"
+ },
+ "BSD": {
+ "name": "Bahamski dolar"
+ },
+ "BHD": {
+ "name": "Bahreinski dinar"
+ },
+ "BDT": {
+ "name": "Bangladeška taka"
+ },
+ "BBD": {
+ "name": "Barbadoski dolar"
+ },
+ "BZD": {
+ "name": "Belizeanski dolar"
+ },
+ "BMD": {
+ "name": "Bermudski dolar"
+ },
+ "BYN": {
+ "name": "Bjeloruska rublja"
+ },
+ "BYR": {
+ "name": "Bjeloruska rublja (2000–2016)"
+ },
+ "BWP": {
+ "name": "Bocvanska pula"
+ },
+ "BOB": {
+ "name": "Bolivijski boliviano"
+ },
+ "BAM": {
+ "name": "Bosanskohercegovačka konvertibilna marka",
+ "symbol": "KM"
+ },
+ "BRL": {
+ "name": "Brazilski real"
+ },
+ "GBP": {
+ "name": "Britanska funta"
+ },
+ "BND": {
+ "name": "Brunejski dolar"
+ },
+ "BGN": {
+ "name": "Bugarski lev"
+ },
+ "BIF": {
+ "name": "Burundski franak"
+ },
+ "BTN": {
+ "name": "Butanski ngultrum"
+ },
+ "XAF": {
+ "name": "Centralnoafrički franak (CFA)",
+ "symbol": "FCFA"
+ },
+ "CZK": {
+ "name": "Češka kruna"
+ },
+ "CLP": {
+ "name": "Čileanski pezos"
+ },
+ "DKK": {
+ "name": "Danska kruna"
+ },
+ "AED": {
+ "name": "Dirham Ujedinjenih Arapskih Emirata"
+ },
+ "STD": {
+ "name": "Dobra Sao Toma i Principa"
+ },
+ "DOP": {
+ "name": "Dominikanski pezos"
+ },
+ "DJF": {
+ "name": "Džibutski franak"
+ },
+ "EGP": {
+ "name": "Egipatska funta"
+ },
+ "ERN": {
+ "name": "Eritrejska nakfa"
+ },
+ "ETB": {
+ "name": "Etiopski bir"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FJD": {
+ "name": "Fidžijski dolar"
+ },
+ "PHP": {
+ "name": "Filipinski pezos"
+ },
+ "FKP": {
+ "name": "Folklandska funta"
+ },
+ "XPF": {
+ "name": "Franak (CFP)"
+ },
+ "GMD": {
+ "name": "Gambijski dalasi"
+ },
+ "GHS": {
+ "name": "Ganski cedi"
+ },
+ "GIP": {
+ "name": "Gibraltarska funta"
+ },
+ "GEL": {
+ "name": "Gruzijski lari"
+ },
+ "GYD": {
+ "name": "Gvajanski dolar"
+ },
+ "GTQ": {
+ "name": "Gvatemalski kecal"
+ },
+ "GNF": {
+ "name": "Gvinejski franak"
+ },
+ "HTG": {
+ "name": "Haićanski gurd"
+ },
+ "ANG": {
+ "name": "Holandskoantilski gulden"
+ },
+ "HNL": {
+ "name": "Honduraška lempira"
+ },
+ "HKD": {
+ "name": "Honkonški dolar"
+ },
+ "HRK": {
+ "name": "Hrvatska kuna",
+ "symbol": "kn"
+ },
+ "INR": {
+ "name": "Indijska rupija",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonežanska rupija"
+ },
+ "IQD": {
+ "name": "Irački dinar"
+ },
+ "IRR": {
+ "name": "Iranski rijal"
+ },
+ "ISK": {
+ "name": "Islandska kruna"
+ },
+ "XCD": {
+ "name": "Istočnokaripski dolar"
+ },
+ "ILS": {
+ "name": "Izraelski novi šekel"
+ },
+ "JMD": {
+ "name": "Jamajčanski dolar"
+ },
+ "JPY": {
+ "name": "Japanski jen",
+ "symbol": "¥"
+ },
+ "YER": {
+ "name": "Jemenski rijal"
+ },
+ "JOD": {
+ "name": "Jordanski dinar"
+ },
+ "ZAR": {
+ "name": "Južnoafrički rand"
+ },
+ "KRW": {
+ "name": "Južnokorejski von",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "Južnosudanska funta"
+ },
+ "KYD": {
+ "name": "Kajmanski dolar"
+ },
+ "KHR": {
+ "name": "Kambodžanski rijel"
+ },
+ "CAD": {
+ "name": "Kanadski dolar"
+ },
+ "QAR": {
+ "name": "Katarski rijal"
+ },
+ "KZT": {
+ "name": "Kazahstanski tenge"
+ },
+ "KES": {
+ "name": "Kenijski šiling"
+ },
+ "PGK": {
+ "name": "Kina Papue Nove Gvineje"
+ },
+ "CNY": {
+ "name": "Kineski juan"
+ },
+ "KGS": {
+ "name": "Kirgistanski som"
+ },
+ "COP": {
+ "name": "Kolumbijski pezos"
+ },
+ "KMF": {
+ "name": "Komorski franak"
+ },
+ "CDF": {
+ "name": "Kongoanski franak"
+ },
+ "CRC": {
+ "name": "Kostarikanski kolon"
+ },
+ "CUC": {
+ "name": "Kubanski konvertibilni pezos"
+ },
+ "CUP": {
+ "name": "kubanski pezos"
+ },
+ "KWD": {
+ "name": "Kuvajtski dinar"
+ },
+ "LAK": {
+ "name": "Laoski kip"
+ },
+ "LSL": {
+ "name": "Lesotski loti"
+ },
+ "LBP": {
+ "name": "Libanska funta"
+ },
+ "LRD": {
+ "name": "Liberijski dolar"
+ },
+ "LYD": {
+ "name": "Libijski dinar"
+ },
+ "HUF": {
+ "name": "Mađarska forinta"
+ },
+ "MOP": {
+ "name": "Makaonska pataka"
+ },
+ "MKD": {
+ "name": "Makedonski denar"
+ },
+ "MGA": {
+ "name": "Malagaški arijari"
+ },
+ "MWK": {
+ "name": "Malavijska kvača"
+ },
+ "MVR": {
+ "name": "Maldivska rufija"
+ },
+ "MYR": {
+ "name": "Malezijski ringit"
+ },
+ "MAD": {
+ "name": "Marokanski dirham"
+ },
+ "MUR": {
+ "name": "Mauricijska rupija"
+ },
+ "MRO": {
+ "name": "Mauritanijska ugvija"
+ },
+ "MXN": {
+ "name": "Meksički pezos"
+ },
+ "MMK": {
+ "name": "Mijanmarski kjat"
+ },
+ "MDL": {
+ "name": "Moldavski lej"
+ },
+ "MNT": {
+ "name": "Mongolski tugrik"
+ },
+ "MZN": {
+ "name": "Mozambijski metikal"
+ },
+ "NAD": {
+ "name": "Namibijski dolar"
+ },
+ "NPR": {
+ "name": "Nepalska rupija"
+ },
+ "NGN": {
+ "name": "Nigerijska naira"
+ },
+ "NIO": {
+ "name": "Nikaragvanska kordoba"
+ },
+ "NOK": {
+ "name": "Norveška kruna"
+ },
+ "TWD": {
+ "name": "Novi tajvanski dolar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "Novozelandski dolar"
+ },
+ "OMR": {
+ "name": "Omanski rijal"
+ },
+ "PKR": {
+ "name": "Pakistanska rupija"
+ },
+ "PAB": {
+ "name": "Panamska balboa"
+ },
+ "PYG": {
+ "name": "Paragvajski gvarani"
+ },
+ "PEN": {
+ "name": "Peruanski novi sol"
+ },
+ "PLN": {
+ "name": "Poljski zlot"
+ },
+ "RWF": {
+ "name": "Ruandski franak"
+ },
+ "RON": {
+ "name": "Rumunski lej"
+ },
+ "RUB": {
+ "name": "Ruska rublja"
+ },
+ "SVC": {
+ "name": "Salvadorski kolon"
+ },
+ "WST": {
+ "name": "Samoanska tala"
+ },
+ "SAR": {
+ "name": "Saudijski rijal"
+ },
+ "SCR": {
+ "name": "Sejšelska rupija"
+ },
+ "SLL": {
+ "name": "Sijeraleonski leone"
+ },
+ "SGD": {
+ "name": "Singapurski dolar"
+ },
+ "SYP": {
+ "name": "Sirijska funta"
+ },
+ "KPW": {
+ "name": "Sjevernokorejski von"
+ },
+ "SBD": {
+ "name": "Solomonski dolar"
+ },
+ "SOS": {
+ "name": "Somalski šiling"
+ },
+ "RSD": {
+ "name": "Srpski dinar",
+ "symbol": "din."
+ },
+ "SDG": {
+ "name": "Sudanska funta"
+ },
+ "SRD": {
+ "name": "Surinamski dolar"
+ },
+ "SZL": {
+ "name": "Svazilendski lilangeni"
+ },
+ "SHP": {
+ "name": "Svetohelenska funta"
+ },
+ "LKR": {
+ "name": "Šrilankanska rupija"
+ },
+ "SEK": {
+ "name": "Švedska kruna"
+ },
+ "CHF": {
+ "name": "Švicarski franak"
+ },
+ "TJS": {
+ "name": "Tadžikistanski somoni"
+ },
+ "THB": {
+ "name": "Tajlandski baht",
+ "symbol": "฿"
+ },
+ "TZS": {
+ "name": "Tanzanijski šiling"
+ },
+ "TOP": {
+ "name": "Tonganska panga"
+ },
+ "TTD": {
+ "name": "Trinidadtobaški dolar"
+ },
+ "TND": {
+ "name": "Tuniški dinar"
+ },
+ "TMT": {
+ "name": "Turkmenistanski manat"
+ },
+ "TRY": {
+ "name": "Turska lira"
+ },
+ "UGX": {
+ "name": "Ugandski šiling"
+ },
+ "UAH": {
+ "name": "Ukrajinska hrivnja"
+ },
+ "UYU": {
+ "name": "Urugvajski pezos"
+ },
+ "UZS": {
+ "name": "Uzbekistanski som"
+ },
+ "VUV": {
+ "name": "Vanuatski vatu"
+ },
+ "VEF": {
+ "name": "Venecuelanski bolivar"
+ },
+ "VND": {
+ "name": "Vijetnamski dong",
+ "symbol": "₫"
+ },
+ "ZMW": {
+ "name": "Zambijska kvača"
+ },
+ "XOF": {
+ "name": "Zapadnoafrički franak (CFA)",
+ "symbol": "CFA"
+ },
+ "CVE": {
+ "name": "Zelenortski eskudo"
+ },
+ "ZWL": {
+ "name": "Zimbabvejski dolar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/ca.json b/vendor/commerceguys/intl/resources/currency/ca.json
new file mode 100644
index 000000000..932ce5061
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/ca.json
@@ -0,0 +1,492 @@
+{
+ "AFN": {
+ "name": "afgani afganès"
+ },
+ "MGA": {
+ "name": "ariary malgaix"
+ },
+ "THB": {
+ "name": "baht tailandès",
+ "symbol": "฿"
+ },
+ "PAB": {
+ "name": "balboa panameny"
+ },
+ "ETB": {
+ "name": "birr etíop"
+ },
+ "VEF": {
+ "name": "bolívar veneçolà"
+ },
+ "BOB": {
+ "name": "bolivià"
+ },
+ "GHS": {
+ "name": "cedi ghanès"
+ },
+ "CRC": {
+ "name": "colón costa-riqueny"
+ },
+ "SVC": {
+ "name": "colón salvadorenc"
+ },
+ "NIO": {
+ "name": "córdoba oro nicaragüenca"
+ },
+ "DKK": {
+ "name": "corona danesa"
+ },
+ "ISK": {
+ "name": "corona islandesa"
+ },
+ "NOK": {
+ "name": "corona noruega"
+ },
+ "SEK": {
+ "name": "corona sueca"
+ },
+ "CZK": {
+ "name": "corona txeca"
+ },
+ "GMD": {
+ "name": "dalasi gambià"
+ },
+ "MKD": {
+ "name": "denar macedoni"
+ },
+ "DZD": {
+ "name": "dinar algerià"
+ },
+ "BHD": {
+ "name": "dinar de Bahrain"
+ },
+ "IQD": {
+ "name": "dinar iraquià"
+ },
+ "JOD": {
+ "name": "dinar jordà"
+ },
+ "KWD": {
+ "name": "dinar kuwaitià"
+ },
+ "LYD": {
+ "name": "dinar libi"
+ },
+ "RSD": {
+ "name": "dinar serbi"
+ },
+ "TND": {
+ "name": "dinar tunisià"
+ },
+ "AED": {
+ "name": "dírham de la UEA"
+ },
+ "MAD": {
+ "name": "dírham marroquí"
+ },
+ "STD": {
+ "name": "dobra de São Tomé i Príncipe"
+ },
+ "AUD": {
+ "name": "dòlar australià",
+ "symbol": "AU$"
+ },
+ "CAD": {
+ "name": "dòlar canadenc"
+ },
+ "BBD": {
+ "name": "dòlar de Barbados"
+ },
+ "BZD": {
+ "name": "dòlar de Belize"
+ },
+ "BND": {
+ "name": "dòlar de Brunei"
+ },
+ "GYD": {
+ "name": "dòlar de Guyana"
+ },
+ "HKD": {
+ "name": "dòlar de Hong Kong",
+ "symbol": "HK$"
+ },
+ "BSD": {
+ "name": "dòlar de les Bahames"
+ },
+ "BMD": {
+ "name": "dòlar de les Bermudes"
+ },
+ "KYD": {
+ "name": "dòlar de les illes Caiman"
+ },
+ "SBD": {
+ "name": "dòlar de les illes Salomó"
+ },
+ "SGD": {
+ "name": "dòlar de Singapur"
+ },
+ "SRD": {
+ "name": "dòlar de Surinam"
+ },
+ "TTD": {
+ "name": "dòlar de Trinitat i Tobago"
+ },
+ "XCD": {
+ "name": "dòlar del Carib Oriental"
+ },
+ "USD": {
+ "name": "dòlar dels Estats Units"
+ },
+ "FJD": {
+ "name": "dòlar fijià"
+ },
+ "JMD": {
+ "name": "dòlar jamaicà"
+ },
+ "LRD": {
+ "name": "dòlar liberià"
+ },
+ "NAD": {
+ "name": "dòlar namibià"
+ },
+ "NZD": {
+ "name": "dòlar neozelandès",
+ "symbol": "NZ$"
+ },
+ "ZWL": {
+ "name": "dòlar zimbabuès (2009)"
+ },
+ "VND": {
+ "name": "dong vietnamita",
+ "symbol": "₫"
+ },
+ "AMD": {
+ "name": "dram armeni"
+ },
+ "CVE": {
+ "name": "escut de Cap Verd"
+ },
+ "EUR": {
+ "name": "euro",
+ "symbol": "€"
+ },
+ "AWG": {
+ "name": "florí d’Aruba"
+ },
+ "ANG": {
+ "name": "florí de les Antilles Neerlandeses"
+ },
+ "HUF": {
+ "name": "fòrint hongarès"
+ },
+ "XOF": {
+ "name": "franc CFA BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "franc CFA BEAC",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "franc CFP",
+ "symbol": "CFPF"
+ },
+ "CDF": {
+ "name": "franc congolès"
+ },
+ "BIF": {
+ "name": "franc de Burundi"
+ },
+ "DJF": {
+ "name": "franc de Djibouti"
+ },
+ "KMF": {
+ "name": "franc de les Comores"
+ },
+ "RWF": {
+ "name": "franc de Ruanda"
+ },
+ "GNF": {
+ "name": "franc guineà"
+ },
+ "CHF": {
+ "name": "franc suís"
+ },
+ "HTG": {
+ "name": "gourde haitià"
+ },
+ "PYG": {
+ "name": "guaraní paraguaià"
+ },
+ "UAH": {
+ "name": "hrívnia ucraïnesa"
+ },
+ "JPY": {
+ "name": "ien japonès",
+ "symbol": "JP¥"
+ },
+ "CNY": {
+ "name": "iuan xinès",
+ "symbol": "¥"
+ },
+ "PGK": {
+ "name": "kina de Papua Nova Guinea"
+ },
+ "LAK": {
+ "name": "kip laosià"
+ },
+ "HRK": {
+ "name": "kuna croata"
+ },
+ "MWK": {
+ "name": "kwacha malawià"
+ },
+ "ZMW": {
+ "name": "kwacha zambià"
+ },
+ "AOA": {
+ "name": "kwanza angolès"
+ },
+ "MMK": {
+ "name": "kyat de Myanmar"
+ },
+ "GEL": {
+ "name": "lari georgià"
+ },
+ "ALL": {
+ "name": "lek albanès"
+ },
+ "HNL": {
+ "name": "lempira hondurenya"
+ },
+ "SLL": {
+ "name": "leone de Sierra Leone"
+ },
+ "MDL": {
+ "name": "leu moldau"
+ },
+ "RON": {
+ "name": "leu romanès"
+ },
+ "BGN": {
+ "name": "lev búlgar"
+ },
+ "SZL": {
+ "name": "lilangeni swazi"
+ },
+ "TRY": {
+ "name": "lira turca"
+ },
+ "GIP": {
+ "name": "lliura de Gibraltar"
+ },
+ "FKP": {
+ "name": "lliura de les illes Malvines"
+ },
+ "SHP": {
+ "name": "lliura de Santa Helena"
+ },
+ "SSP": {
+ "name": "lliura del Sudan del Sud"
+ },
+ "EGP": {
+ "name": "lliura egípcia"
+ },
+ "GBP": {
+ "name": "lliura esterlina britànica",
+ "symbol": "£"
+ },
+ "LBP": {
+ "name": "lliura libanesa"
+ },
+ "SYP": {
+ "name": "lliura síria"
+ },
+ "SDG": {
+ "name": "lliura sudanesa"
+ },
+ "LSL": {
+ "name": "loti de Lesotho"
+ },
+ "AZN": {
+ "name": "manat azerbaidjanès"
+ },
+ "TMT": {
+ "name": "manat turcman"
+ },
+ "BAM": {
+ "name": "marc convertible de Bòsnia i Hercegovina"
+ },
+ "MZN": {
+ "name": "metical moçambiquès"
+ },
+ "NGN": {
+ "name": "naira nigerià"
+ },
+ "ERN": {
+ "name": "nakfa eritreu"
+ },
+ "BTN": {
+ "name": "ngultrum de Bhutan"
+ },
+ "TWD": {
+ "name": "nou dòlar de Taiwan",
+ "symbol": "NT$"
+ },
+ "PEN": {
+ "name": "nou sol peruà"
+ },
+ "ILS": {
+ "name": "nou xéquel israelià",
+ "symbol": "₪"
+ },
+ "MRO": {
+ "name": "ouguiya maurità"
+ },
+ "TOP": {
+ "name": "pa‘anga tongà"
+ },
+ "MOP": {
+ "name": "pataca de Macau"
+ },
+ "ARS": {
+ "name": "peso argentí"
+ },
+ "COP": {
+ "name": "peso colombià"
+ },
+ "CUC": {
+ "name": "peso convertible cubà"
+ },
+ "CUP": {
+ "name": "peso cubà"
+ },
+ "DOP": {
+ "name": "peso dominicà"
+ },
+ "PHP": {
+ "name": "peso filipí"
+ },
+ "MXN": {
+ "name": "peso mexicà"
+ },
+ "UYU": {
+ "name": "peso uruguaià"
+ },
+ "CLP": {
+ "name": "peso xilè"
+ },
+ "BWP": {
+ "name": "pula de Botswana"
+ },
+ "GTQ": {
+ "name": "quetzal guatemalenc"
+ },
+ "ZAR": {
+ "name": "rand sud-africà"
+ },
+ "BRL": {
+ "name": "real brasiler"
+ },
+ "QAR": {
+ "name": "rial de Qatar"
+ },
+ "YER": {
+ "name": "rial iemenita"
+ },
+ "IRR": {
+ "name": "rial iranià"
+ },
+ "OMR": {
+ "name": "rial omanita"
+ },
+ "SAR": {
+ "name": "rial saudita"
+ },
+ "KHR": {
+ "name": "riel cambodjà"
+ },
+ "MYR": {
+ "name": "ringgit de Malàisia"
+ },
+ "BYN": {
+ "name": "ruble bielorús"
+ },
+ "BYR": {
+ "name": "ruble bielorús (2000–2016)"
+ },
+ "RUB": {
+ "name": "ruble rus"
+ },
+ "MVR": {
+ "name": "rupia de les Maldives"
+ },
+ "SCR": {
+ "name": "rupia de les Seychelles"
+ },
+ "LKR": {
+ "name": "rupia de Sri Lanka"
+ },
+ "INR": {
+ "name": "rupia índia",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "rupia indonèsia"
+ },
+ "MUR": {
+ "name": "rupia mauriciana"
+ },
+ "NPR": {
+ "name": "rupia nepalesa"
+ },
+ "PKR": {
+ "name": "rupia pakistanesa"
+ },
+ "KGS": {
+ "name": "som kirguís"
+ },
+ "UZS": {
+ "name": "som uzbek"
+ },
+ "TJS": {
+ "name": "somoni tadjik"
+ },
+ "BDT": {
+ "name": "taka de Bangla Desh"
+ },
+ "WST": {
+ "name": "tala samoà"
+ },
+ "KZT": {
+ "name": "tenge kazakh"
+ },
+ "MNT": {
+ "name": "tögrög mongol"
+ },
+ "VUV": {
+ "name": "vatu de Vanuatu"
+ },
+ "KPW": {
+ "name": "won nord-coreà"
+ },
+ "KRW": {
+ "name": "won sud-coreà",
+ "symbol": "₩"
+ },
+ "KES": {
+ "name": "xíling kenyà"
+ },
+ "SOS": {
+ "name": "xíling somali"
+ },
+ "TZS": {
+ "name": "xíling tanzà"
+ },
+ "UGX": {
+ "name": "xíling ugandès"
+ },
+ "PLN": {
+ "name": "zloty polonès"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/ce.json b/vendor/commerceguys/intl/resources/currency/ce.json
new file mode 100644
index 000000000..042d6a546
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/ce.json
@@ -0,0 +1,497 @@
+{
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ },
+ "AUD": {
+ "name": "Австралин доллар",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Азербайджанан манат"
+ },
+ "ALL": {
+ "name": "Албанин лек"
+ },
+ "DZD": {
+ "name": "Алжиран динар"
+ },
+ "GBP": {
+ "name": "Англин фунт",
+ "symbol": "£"
+ },
+ "AOA": {
+ "name": "Анголан кванза"
+ },
+ "ARS": {
+ "name": "Аргентинан песо"
+ },
+ "AWG": {
+ "name": "Арубан флорин"
+ },
+ "USD": {
+ "name": "АЦШн доллар",
+ "symbol": "US$"
+ },
+ "BSD": {
+ "name": "Багаман доллар"
+ },
+ "BDT": {
+ "name": "Бангладешан така"
+ },
+ "BBD": {
+ "name": "Барбадосан доллар"
+ },
+ "BHD": {
+ "name": "Бахрейнан динар"
+ },
+ "BZD": {
+ "name": "Белизин доллар"
+ },
+ "BYN": {
+ "name": "Белоруссин сом"
+ },
+ "BYR": {
+ "name": "Белоруссин сом (2000–2016)"
+ },
+ "BMD": {
+ "name": "Бермудан доллар"
+ },
+ "BGN": {
+ "name": "Болгарин лев"
+ },
+ "BOB": {
+ "name": "Боливин боливиано"
+ },
+ "BAM": {
+ "name": "Боснин а, Герцеговинан а хийцалун марка"
+ },
+ "BWP": {
+ "name": "Ботсванан пула"
+ },
+ "BRL": {
+ "name": "Бразилин реал",
+ "symbol": "R$"
+ },
+ "BND": {
+ "name": "Брунейн доллар"
+ },
+ "BIF": {
+ "name": "Бурундин франк"
+ },
+ "BTN": {
+ "name": "Бутанан нгултрум"
+ },
+ "VUV": {
+ "name": "Вануатун вату"
+ },
+ "HUF": {
+ "name": "Венгрин форинт"
+ },
+ "VEF": {
+ "name": "Венесуэлан боливар"
+ },
+ "VND": {
+ "name": "Вьетнаман донг",
+ "symbol": "₫"
+ },
+ "HTG": {
+ "name": "Гаитин гурд"
+ },
+ "GYD": {
+ "name": "Гайанан доллар"
+ },
+ "GMD": {
+ "name": "Гамбин даласи"
+ },
+ "GHS": {
+ "name": "Ганан седи"
+ },
+ "GTQ": {
+ "name": "Гватемалан кетсаль"
+ },
+ "GNF": {
+ "name": "Гвинейн франк"
+ },
+ "GIP": {
+ "name": "Гибралтаран фунт"
+ },
+ "HNL": {
+ "name": "Гондурасан лемпира"
+ },
+ "HKD": {
+ "name": "Гонконган доллар",
+ "symbol": "HK$"
+ },
+ "GEL": {
+ "name": "Гуьржийчоьнан лари"
+ },
+ "IRR": {
+ "name": "ГӀажарийчоьнан риал"
+ },
+ "DKK": {
+ "name": "Данин крона"
+ },
+ "DJF": {
+ "name": "Джибутин франк"
+ },
+ "AED": {
+ "name": "Дирхам ӀЦЭ"
+ },
+ "DOP": {
+ "name": "Доминикан песо"
+ },
+ "EUR": {
+ "name": "Евро",
+ "symbol": "€"
+ },
+ "ZMW": {
+ "name": "Замбин квача"
+ },
+ "ILS": {
+ "name": "Израилан керла шекель",
+ "symbol": "₪"
+ },
+ "INR": {
+ "name": "Индин рупи",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Индонезин рупи"
+ },
+ "ISK": {
+ "name": "Исландин крона"
+ },
+ "YER": {
+ "name": "Йеменан риал"
+ },
+ "CVE": {
+ "name": "Кабо-Верден эскудо"
+ },
+ "KZT": {
+ "name": "Казахстанан тенге"
+ },
+ "KYD": {
+ "name": "Кайманийн гӀайренийн доллар"
+ },
+ "KHR": {
+ "name": "Камбоджан риель"
+ },
+ "CAD": {
+ "name": "Канадан доллар",
+ "symbol": "CA$"
+ },
+ "QAR": {
+ "name": "Катаран риал"
+ },
+ "KES": {
+ "name": "Кенин шиллинг"
+ },
+ "NZD": {
+ "name": "Керла Зеландин доллар",
+ "symbol": "NZ$"
+ },
+ "KGS": {
+ "name": "Киргизин сом"
+ },
+ "CNY": {
+ "name": "Китайн юань",
+ "symbol": "CN¥"
+ },
+ "COP": {
+ "name": "Колумбин песо"
+ },
+ "KMF": {
+ "name": "Коморийн гӀайренийн франк"
+ },
+ "CDF": {
+ "name": "Конголезин франк"
+ },
+ "CRC": {
+ "name": "Костарикан колон"
+ },
+ "CUP": {
+ "name": "Кубан песо"
+ },
+ "CUC": {
+ "name": "Кубан хийцалун песо"
+ },
+ "KWD": {
+ "name": "Кувейтан динар"
+ },
+ "KRW": {
+ "name": "Къилба Корейн вона",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "Къилба Суданан фунт"
+ },
+ "ZAR": {
+ "name": "Къилба-Африкин рэнд"
+ },
+ "KPW": {
+ "name": "Къилбаседа Корейн вона"
+ },
+ "LAK": {
+ "name": "Лаосан кип"
+ },
+ "SLL": {
+ "name": "Леоне"
+ },
+ "LRD": {
+ "name": "Либерин доллар"
+ },
+ "LBP": {
+ "name": "Ливанан фунт"
+ },
+ "LYD": {
+ "name": "Ливин динар"
+ },
+ "MUR": {
+ "name": "Маврикин рупи"
+ },
+ "MRO": {
+ "name": "Мавританин уги"
+ },
+ "MOP": {
+ "name": "Макаон патака"
+ },
+ "MKD": {
+ "name": "Македонин динар"
+ },
+ "MWK": {
+ "name": "Малавин квача"
+ },
+ "MGA": {
+ "name": "Малагасийн ариари"
+ },
+ "MYR": {
+ "name": "Малайзин ринггит"
+ },
+ "XCD": {
+ "name": "Малхбален Карибийн доллар",
+ "symbol": "EC$"
+ },
+ "XOF": {
+ "name": "Малхбузен Африкан КФА франк",
+ "symbol": "CFA"
+ },
+ "MVR": {
+ "name": "Мальдивийн руфи"
+ },
+ "MAD": {
+ "name": "Мароккон дирхам"
+ },
+ "MXN": {
+ "name": "Мексикан песо",
+ "symbol": "MX$"
+ },
+ "EGP": {
+ "name": "Мисаран фунт"
+ },
+ "MZN": {
+ "name": "Мозамбикан метикал"
+ },
+ "MDL": {
+ "name": "Молдавин лей"
+ },
+ "MNT": {
+ "name": "Монголин тугрик"
+ },
+ "MMK": {
+ "name": "Мьянман кьят"
+ },
+ "NAD": {
+ "name": "Намибин доллар"
+ },
+ "NPR": {
+ "name": "Непалан рупи"
+ },
+ "NGN": {
+ "name": "Нигерин найра"
+ },
+ "ANG": {
+ "name": "Нидерландин Антилин гульден"
+ },
+ "NIO": {
+ "name": "Никарагуан кордоба"
+ },
+ "NOK": {
+ "name": "Норвегин крона"
+ },
+ "AFN": {
+ "name": "ОвхӀан-пачхьалкхан афгани"
+ },
+ "OMR": {
+ "name": "Оманан риал"
+ },
+ "PKR": {
+ "name": "Пакистанан рупи"
+ },
+ "PAB": {
+ "name": "Панаман бальбоа"
+ },
+ "PGK": {
+ "name": "Папуа — Керла Гвинейн кина"
+ },
+ "PYG": {
+ "name": "Парагвайн гуарани"
+ },
+ "PEN": {
+ "name": "Перун керла соль"
+ },
+ "PLN": {
+ "name": "Польшан злотый"
+ },
+ "RUB": {
+ "name": "Российн сом",
+ "symbol": "₽"
+ },
+ "RWF": {
+ "name": "Руандан франк"
+ },
+ "RON": {
+ "name": "Румынин лей"
+ },
+ "WST": {
+ "name": "Самоанан тала"
+ },
+ "STD": {
+ "name": "Сан-Томен а, Принсипин а добра"
+ },
+ "SAR": {
+ "name": "СаӀудийн Аравин риал"
+ },
+ "SZL": {
+ "name": "Свазилендан лилангени"
+ },
+ "SCR": {
+ "name": "Сейшелан рупи"
+ },
+ "RSD": {
+ "name": "Сербин динар"
+ },
+ "SHP": {
+ "name": "Сийлахьчу Еленин гӀайрен фунт"
+ },
+ "SGD": {
+ "name": "Сингапуран доллар"
+ },
+ "SBD": {
+ "name": "Соломонан гӀайренийн доллар"
+ },
+ "SOS": {
+ "name": "Сомалин шиллинг"
+ },
+ "SDG": {
+ "name": "Суданан фунт"
+ },
+ "SRD": {
+ "name": "Суринаман доллар"
+ },
+ "TJS": {
+ "name": "Таджикистанан сомони"
+ },
+ "THB": {
+ "name": "Таиландан бат"
+ },
+ "TWD": {
+ "name": "Тайванан керла доллар",
+ "symbol": "NT$"
+ },
+ "TZS": {
+ "name": "Танзанин шиллинг"
+ },
+ "TOP": {
+ "name": "Тонганан паанга"
+ },
+ "TTD": {
+ "name": "Тринидадан а, Тобагон а доллар"
+ },
+ "TND": {
+ "name": "Тунисан динар"
+ },
+ "TMT": {
+ "name": "Туркменин керла манат"
+ },
+ "TRY": {
+ "name": "Туркойчоьнан лира"
+ },
+ "UGX": {
+ "name": "Угандан шиллинг"
+ },
+ "UZS": {
+ "name": "Узбекистанан сум"
+ },
+ "UAH": {
+ "name": "Украинан гривна"
+ },
+ "JOD": {
+ "name": "Урданан динар"
+ },
+ "UYU": {
+ "name": "Уругвайн песо"
+ },
+ "FJD": {
+ "name": "Фиджин доллар"
+ },
+ "PHP": {
+ "name": "Филиппинийн песо"
+ },
+ "FKP": {
+ "name": "Фолклендан гӀайренийн фунт"
+ },
+ "XPF": {
+ "name": "Французийн Тийна океанан франк",
+ "symbol": "CFPF"
+ },
+ "HRK": {
+ "name": "Хорватин куна"
+ },
+ "CZK": {
+ "name": "Чехин крона"
+ },
+ "CLP": {
+ "name": "Чилин песо"
+ },
+ "CHF": {
+ "name": "Швейцарин франк"
+ },
+ "SEK": {
+ "name": "Швецин крона"
+ },
+ "SYP": {
+ "name": "Шеман фунт"
+ },
+ "LKR": {
+ "name": "Шри-Ланкан рупи"
+ },
+ "ERN": {
+ "name": "Эритрейн накфа"
+ },
+ "AMD": {
+ "name": "Эрмалойчоьнан драм"
+ },
+ "ETB": {
+ "name": "Эфиопин быр"
+ },
+ "XAF": {
+ "name": "Юккъерчу Африкан КФА франк",
+ "symbol": "FCFA"
+ },
+ "JMD": {
+ "name": "Ямайн доллар"
+ },
+ "JPY": {
+ "name": "Японин иена",
+ "symbol": "JP¥"
+ },
+ "IQD": {
+ "name": "Ӏиракъан динар"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/cgg.json b/vendor/commerceguys/intl/resources/currency/cgg.json
new file mode 100644
index 000000000..649e56df5
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/cgg.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "MGA": {
+ "name": "Ariari ya Maragariita"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Ruble"
+ },
+ "BYR": {
+ "name": "Belarusian Ruble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "ETB": {
+ "name": "Birr ya Ethiopiya"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "GMD": {
+ "name": "Dalasi ya Gambia"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DZD": {
+ "name": "Dinari ya Arigyeriya"
+ },
+ "BHD": {
+ "name": "Dinari ya Bahareni"
+ },
+ "LYD": {
+ "name": "Dinari ya Libya"
+ },
+ "SDG": {
+ "name": "Dinari ya Sudani"
+ },
+ "TND": {
+ "name": "Dinari ya Tunisia"
+ },
+ "AED": {
+ "name": "Dirham za Buharabu"
+ },
+ "MAD": {
+ "name": "Dirram ya Moroko"
+ },
+ "STD": {
+ "name": "Dobra ya Sao Tome na Purinsipo"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "USD": {
+ "name": "Doora ya America",
+ "symbol": "US$"
+ },
+ "AUD": {
+ "name": "Doora ya Austureeriya",
+ "symbol": "A$"
+ },
+ "CAD": {
+ "name": "Doora ya Kanada",
+ "symbol": "CA$"
+ },
+ "LRD": {
+ "name": "Doora ya Liberia"
+ },
+ "NAD": {
+ "name": "Doora ya Namibiya"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "SOS": {
+ "name": "Eshiringi ya Somalia"
+ },
+ "TZS": {
+ "name": "Eshiringi ya Tanzania"
+ },
+ "UGX": {
+ "name": "Eshiringi ya Uganda",
+ "symbol": "USh"
+ },
+ "CVE": {
+ "name": "Eskudo ya Kepuvede"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "BIF": {
+ "name": "Faranga ya Burundi"
+ },
+ "XOF": {
+ "name": "Faranga ya CFA BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Faranga ya CFA BEAC",
+ "symbol": "FCFA"
+ },
+ "DJF": {
+ "name": "Faranga ya Gyibuti"
+ },
+ "KMF": {
+ "name": "Faranga ya Komoro"
+ },
+ "CDF": {
+ "name": "Faranga ya Kongo"
+ },
+ "RWF": {
+ "name": "Faranga ya Rwanda"
+ },
+ "CHF": {
+ "name": "Faranga ya Swisi"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "MWK": {
+ "name": "Kwaca ya Malawi"
+ },
+ "ZMW": {
+ "name": "Kwacha ya Zambia"
+ },
+ "AOA": {
+ "name": "Kwanza ya Angora"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "SLL": {
+ "name": "Leone"
+ },
+ "LSL": {
+ "name": "Loti ya Lesoto"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NGN": {
+ "name": "Naira ya Naigyeriya"
+ },
+ "ERN": {
+ "name": "Nakfa ya Eritireya"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "MRO": {
+ "name": "Ougwiya ya Mouriteeniya"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "GBP": {
+ "name": "Paundi ya Bungyereza",
+ "symbol": "£"
+ },
+ "EGP": {
+ "name": "Paundi ya Misiri"
+ },
+ "SHP": {
+ "name": "Paundi ya Senti Herena"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "BWP": {
+ "name": "Pura ya Botswana"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "ZAR": {
+ "name": "Randi ya Sausi Afirika"
+ },
+ "SAR": {
+ "name": "Riya ya Saudi"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "MUR": {
+ "name": "Rupiiha ya Mauritiasi"
+ },
+ "SCR": {
+ "name": "Rupiiha ya Sherisheri"
+ },
+ "INR": {
+ "name": "Rupiya ya India",
+ "symbol": "₹"
+ },
+ "RUB": {
+ "name": "Russian Ruble"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "KES": {
+ "name": "Shiringi ya Kenya"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "JPY": {
+ "name": "Yeni ya Japaani",
+ "symbol": "JP¥"
+ },
+ "CNY": {
+ "name": "Yuan Renminbi ya China",
+ "symbol": "CN¥"
+ },
+ "EUR": {
+ "name": "Yuro",
+ "symbol": "€"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/chr.json b/vendor/commerceguys/intl/resources/currency/chr.json
new file mode 100644
index 000000000..5b89c29e1
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/chr.json
@@ -0,0 +1,496 @@
+{
+ "AMD": {
+ "name": "ᎠᎵᎻᏂᎠ ᎠᏕᎳ"
+ },
+ "ALL": {
+ "name": "ᎠᎵᏇᏂᏯ ᎠᏕᎳ"
+ },
+ "DZD": {
+ "name": "ᎠᎵᏥᎵᏯ ᎠᏕᎳ"
+ },
+ "AWG": {
+ "name": "ᎠᎷᏆ ᎠᏕᎳ"
+ },
+ "AOA": {
+ "name": "ᎠᏂᎪᎳ ᎠᏕᎳ"
+ },
+ "PHP": {
+ "name": "ᎠᏂᏈᎵᎩᏃ ᎠᏕᎳ"
+ },
+ "AZN": {
+ "name": "ᎠᏏᎵᏆᏌᏂ ᎠᏕᎳ"
+ },
+ "ARS": {
+ "name": "ᎠᏥᏂᏘᏂᎠ ᎠᏕᎳ"
+ },
+ "AFN": {
+ "name": "ᎠᏫᎨᏂᏍᏖᏂ ᎠᏕᎳ"
+ },
+ "XAF": {
+ "name": "ᎠᏰᏟ ᎬᎿᎨᏍᏛ CFA ᎠᏕᎳ",
+ "symbol": "FCFA"
+ },
+ "AUD": {
+ "name": "ᎡᎳᏗᏜ ᎠᏕᎳ",
+ "symbol": "A$"
+ },
+ "ERN": {
+ "name": "ᎡᎵᏟᏯ ᎠᏕᎳ"
+ },
+ "CVE": {
+ "name": "ᎢᎬᎾᏕᎾ ᎢᏤᏳᏍᏗ ᎠᏕᎳ"
+ },
+ "IQD": {
+ "name": "ᎢᎳᎩ ᎠᏕᎳ"
+ },
+ "IRR": {
+ "name": "ᎢᎴᏂ ᎠᏕᎳ"
+ },
+ "INR": {
+ "name": "ᎢᏂᏗᎢᎠ ᎠᏕᎳ",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "ᎢᏂᏙᏂᏍᏯ ᎠᏕᎳ"
+ },
+ "ILS": {
+ "name": "ᎢᏏᎵᏱ ᎢᏤ ᎠᏕᎳ",
+ "symbol": "₪"
+ },
+ "ETB": {
+ "name": "ᎢᏗᎣᏈᎠ ᎠᏕᎳ"
+ },
+ "NZD": {
+ "name": "ᎢᏤ ᏏᎢᎴᏂᏗ ᎠᏕᎳ",
+ "symbol": "NZ$"
+ },
+ "TWD": {
+ "name": "ᎢᏤ ᏔᎢᏩᏂ ᎠᏕᎳ",
+ "symbol": "NT$"
+ },
+ "EGP": {
+ "name": "ᎢᏥᏈᎢ ᎠᏕᎳ"
+ },
+ "OMR": {
+ "name": "ᎣᎺᏂ ᎠᏕᎳ"
+ },
+ "UZS": {
+ "name": "ᎤᏍᏇᎩᏍᏖᏂ ᎠᏕᎳ"
+ },
+ "SHP": {
+ "name": "ᎤᏓᏅᏘ ᎮᎵᎾ ᎠᏕᎳ"
+ },
+ "GHS": {
+ "name": "ᎦᎠᎾ ᎠᏕᎳ"
+ },
+ "GMD": {
+ "name": "ᎦᎹᏈᎢᎠ ᎠᏕᎳ"
+ },
+ "GYD": {
+ "name": "ᎦᏯᎾ ᎠᏕᎳ"
+ },
+ "HRK": {
+ "name": "ᎧᎶᎡᏏᎠ ᎠᏕᎳ"
+ },
+ "KHR": {
+ "name": "ᎧᎹᏉᏗᎠᏂ ᎠᏕᎳ"
+ },
+ "CDF": {
+ "name": "ᎧᏂᎪ ᎠᏕᎳ"
+ },
+ "KZT": {
+ "name": "ᎧᏎᎧᏍᏕᏂ ᎠᏕᎳ"
+ },
+ "QAR": {
+ "name": "ᎧᏔᎵ ᎠᏕᎳ"
+ },
+ "KYD": {
+ "name": "ᎨᎢᎹᏂ ᏚᎦᏚᏛᎢ ᎠᏕᎳ"
+ },
+ "CAD": {
+ "name": "ᎨᎾᏓ ᎠᏕᎳ",
+ "symbol": "CA$"
+ },
+ "KES": {
+ "name": "ᎨᏂᏯ ᎠᏕᎳ"
+ },
+ "GNF": {
+ "name": "ᎩᎢᏂ ᎠᏕᎳ"
+ },
+ "GBP": {
+ "name": "ᎩᎵᏏᏲ ᎠᏕᎳ",
+ "symbol": "£"
+ },
+ "KGS": {
+ "name": "ᎩᎵᏣᎢᏍ ᎠᏕᎳ"
+ },
+ "COP": {
+ "name": "ᎪᎸᎻᏈᎢᎠ ᎠᏕᎳ"
+ },
+ "KMF": {
+ "name": "ᎪᎼᎳᏍ ᎠᏕᎳ"
+ },
+ "CRC": {
+ "name": "ᎪᏍᏓᎵᎧ ᎠᏕᎳ"
+ },
+ "CUP": {
+ "name": "ᎫᏆ ᎠᏕᎳ"
+ },
+ "CUC": {
+ "name": "ᎫᏆ ᎦᏁᏟᏴᏍᏔᏅ ᎠᏕᎳ"
+ },
+ "KWD": {
+ "name": "ᎫᏪᎢᏘ ᎠᏕᎳ"
+ },
+ "TRY": {
+ "name": "ᎬᏃ ᎠᏕᎳ"
+ },
+ "HNL": {
+ "name": "ᎭᏂᏚᎳᏍ ᎠᏕᎳ"
+ },
+ "HTG": {
+ "name": "ᎮᏘ ᎠᏕᎳ"
+ },
+ "HKD": {
+ "name": "ᎰᏂᎩ ᎪᏂᎩ ᎠᏕᎳ",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "ᎲᏂᎦᎵ ᎠᏕᎳ"
+ },
+ "LAK": {
+ "name": "ᎳᎣ ᎠᏕᎳ"
+ },
+ "LRD": {
+ "name": "ᎳᏈᎵᏯ ᎠᏕᎳ"
+ },
+ "LBP": {
+ "name": "ᎴᏆᎾᏂ ᎠᏕᎳ"
+ },
+ "LYD": {
+ "name": "ᎵᏈᏯ ᎠᏕᎳ"
+ },
+ "RON": {
+ "name": "ᎶᎹᏂᏯ ᎠᏕᎳ"
+ },
+ "RWF": {
+ "name": "ᎶᏩᏂᏓ ᎠᏕᎳ"
+ },
+ "MOP": {
+ "name": "ᎹᎧᎣ ᎠᏕᎳ"
+ },
+ "MGA": {
+ "name": "ᎹᎳᎦᏏ ᎠᏕᎳ"
+ },
+ "MWK": {
+ "name": "ᎹᎳᏫ ᎠᏕᎳ"
+ },
+ "MYR": {
+ "name": "ᎹᎴᏏᎢᎠ ᎠᏕᎳ"
+ },
+ "MVR": {
+ "name": "ᎹᎵᏗᏫᏍ ᎠᏕᎳ"
+ },
+ "MDL": {
+ "name": "ᎹᎵᏙᏫᎠ ᎠᏕᎳ"
+ },
+ "MNT": {
+ "name": "ᎹᏂᎪᎵᎠ ᎠᏕᎳ"
+ },
+ "MKD": {
+ "name": "ᎹᏎᏙᏂᎠ ᎠᏕᎳ"
+ },
+ "MUR": {
+ "name": "ᎹᏘᎢᏯ ᎠᏕᎳ"
+ },
+ "MMK": {
+ "name": "ᎹᏯᎹᎵ ᎠᏕᎳ"
+ },
+ "MRO": {
+ "name": "ᎼᎵᏏᎥᏍ ᎠᏕᎳ"
+ },
+ "MAD": {
+ "name": "ᎼᎶᎪ ᎠᏕᎳ"
+ },
+ "MZN": {
+ "name": "ᎼᏎᎻᏇᎩ ᎠᏕᎳ"
+ },
+ "NAD": {
+ "name": "ᎾᎻᏈᎢᏯ ᎠᏕᎳ"
+ },
+ "ANG": {
+ "name": "ᎾᏍᎩᏁᏛᎳᏂ ᎠᏂᏘᎵᏏ ᎠᏕᎳ"
+ },
+ "NPR": {
+ "name": "ᏁᏆᎵ ᎠᏕᎳ"
+ },
+ "NIO": {
+ "name": "ᏂᎧᎳᏆ ᎠᏕᎳ"
+ },
+ "NGN": {
+ "name": "ᏂᏥᎵᏯ ᎠᏕᎳ"
+ },
+ "NOK": {
+ "name": "ᏃᏪ ᎠᏕᎳ"
+ },
+ "PKR": {
+ "name": "ᏆᎩᏍᏖᏂ ᎠᏕᎳ"
+ },
+ "BHD": {
+ "name": "ᏆᎭᎴᎢᏂ ᎠᏕᎳ"
+ },
+ "BSD": {
+ "name": "ᏆᎭᎹ ᎠᏕᎳ"
+ },
+ "PYG": {
+ "name": "ᏆᎳᏇᎢᏯ ᎠᏕᎳ"
+ },
+ "PAB": {
+ "name": "ᏆᎾᎹ ᎠᏕᎳ"
+ },
+ "BDT": {
+ "name": "ᏆᏂᎦᎵᏕᏍ ᎠᏕᎳ"
+ },
+ "PGK": {
+ "name": "ᏆᏇ ᎢᏤ ᎩᎢᏂ ᎠᏕᎳ"
+ },
+ "BBD": {
+ "name": "ᏆᏇᏙᏍ ᎠᏕᎳ"
+ },
+ "BMD": {
+ "name": "ᏆᏊᏓ ᎠᏕᎳ"
+ },
+ "BRL": {
+ "name": "ᏆᏏᎵᎢ ᎠᏕᎳ",
+ "symbol": "R$"
+ },
+ "GTQ": {
+ "name": "ᏆᏖᎹᎳ ᎠᏕᎳ"
+ },
+ "BWP": {
+ "name": "ᏆᏣᏩᎾ ᎠᏕᎳ"
+ },
+ "BYN": {
+ "name": "ᏇᎳᎷᏍ ᎠᏕᎳ"
+ },
+ "BYR": {
+ "name": "ᏇᎳᎷᏍ ᎠᏕᎳ (2000–2016)"
+ },
+ "BZD": {
+ "name": "ᏇᎵᏍ ᎠᏕᎳ"
+ },
+ "PEN": {
+ "name": "ᏇᎷ ᎠᏕᎳ"
+ },
+ "PLN": {
+ "name": "ᏉᎳᏂ ᎠᏕᎳ"
+ },
+ "BOB": {
+ "name": "ᏉᎵᏫᎠ ᎠᏕᎳ"
+ },
+ "BAM": {
+ "name": "ᏉᏏᏂᎠ ᎠᎴ ᎲᏤᎪᏫ ᎦᏁᏟᏴᏍᏔᏅ ᎠᏕᎳ"
+ },
+ "BGN": {
+ "name": "ᏊᎵᎨᎵᎠ ᎠᏕᎳ"
+ },
+ "BND": {
+ "name": "ᏊᎾᎢ ᎠᏕᎳ"
+ },
+ "BTN": {
+ "name": "ᏊᏔᏂ ᎠᏕᎳ"
+ },
+ "BIF": {
+ "name": "ᏋᎷᏂᏗ ᎠᏕᎳ"
+ },
+ "STD": {
+ "name": "ᏌᎣᏙᎺ ᎠᎴ ᏈᏂᏏᏇ ᎠᏕᎳ"
+ },
+ "SAR": {
+ "name": "ᏌᎤᏗ ᎠᏕᎳ"
+ },
+ "WST": {
+ "name": "ᏌᎼᎠ ᎠᏕᎳ"
+ },
+ "AED": {
+ "name": "ᏌᏊ ᎢᏳᎾᎵᏍᏔᏅ ᎡᎳᏈ ᎢᎹᎵᏘᏏ ᎠᏕᎳ"
+ },
+ "LKR": {
+ "name": "ᏍᎵᎳᏂᎧ ᎠᏕᎳ"
+ },
+ "MXN": {
+ "name": "ᏍᏆᏂ ᎠᏕᎳ",
+ "symbol": "MX$"
+ },
+ "SZL": {
+ "name": "ᏍᏩᏏ ᎠᏕᎳ"
+ },
+ "CHF": {
+ "name": "ᏍᏫᏏ ᎠᏕᎳ"
+ },
+ "SEK": {
+ "name": "ᏍᏫᏕᏂ ᎠᏕᎳ"
+ },
+ "SLL": {
+ "name": "ᏏᎡᎳᎴᎣᏂ ᎠᏕᎳ"
+ },
+ "SCR": {
+ "name": "ᏏᎡᏥᎵᏍ ᎠᏕᎳ"
+ },
+ "SYP": {
+ "name": "ᏏᎵᎠ ᎠᏕᎳ"
+ },
+ "ZMW": {
+ "name": "ᏏᎻᏆᏇ ᎠᏕᎳ"
+ },
+ "SGD": {
+ "name": "ᏏᏂᎦᏉᎵ ᎠᏕᎳ"
+ },
+ "SBD": {
+ "name": "ᏐᎶᎹᏂ ᏚᎦᏚᏛᎢ ᎠᏕᎳ"
+ },
+ "SOS": {
+ "name": "ᏐᎹᎵ ᎠᏕᎳ"
+ },
+ "SDG": {
+ "name": "ᏑᏕᏂ ᎠᏕᎳ"
+ },
+ "SRD": {
+ "name": "ᏒᎵᎾᎻ ᎠᏕᎳ"
+ },
+ "RSD": {
+ "name": "ᏒᏈᏯ ᎠᏕᎳ"
+ },
+ "CNY": {
+ "name": "ᏓᎶᏂᎨ ᎠᏕᎳ",
+ "symbol": "CN¥"
+ },
+ "TOP": {
+ "name": "ᏔᏂᎪ ᎠᏕᎳ"
+ },
+ "TJS": {
+ "name": "ᏔᏥᎩᏍᏕᏂ ᎠᏕᎳ"
+ },
+ "THB": {
+ "name": "ᏔᏯᎴᏂ ᎠᏕᎳ"
+ },
+ "DKK": {
+ "name": "ᏕᏂᏍ ᎠᏕᎳ"
+ },
+ "TZS": {
+ "name": "ᏖᏂᏏᏂᏯ ᎠᏕᎳ"
+ },
+ "XCD": {
+ "name": "ᏗᎧᎸᎬ ᎨᏆᏙᏯ ᎠᏕᎳ",
+ "symbol": "EC$"
+ },
+ "DOP": {
+ "name": "ᏙᎻᏂᎧᏂ ᎠᏕᎳ"
+ },
+ "TND": {
+ "name": "ᏚᏂᏏᏍᎠ ᎠᏕᎳ"
+ },
+ "TMT": {
+ "name": "ᏛᎵᎩᎺᏂᏍᏔᏂ ᎠᏕᎳ"
+ },
+ "TTD": {
+ "name": "ᏟᏂᏕᏗ ᎠᎴ ᏙᏆᎪ ᎠᏕᎳ"
+ },
+ "GEL": {
+ "name": "ᏣᎠᏥᎢ ᎠᏕᎳ"
+ },
+ "JMD": {
+ "name": "ᏣᎺᎢᎧ ᎠᏕᎳ"
+ },
+ "JPY": {
+ "name": "ᏣᏩᏂᏏ ᎠᏕᎳ",
+ "symbol": "JP¥"
+ },
+ "CZK": {
+ "name": "ᏤᎩ ᏍᎦᏚᎩ ᎠᏕᎳ"
+ },
+ "CLP": {
+ "name": "ᏥᎵ ᎠᏕᎳ"
+ },
+ "GIP": {
+ "name": "ᏥᏆᎵᏓ ᎠᏕᎳ"
+ },
+ "DJF": {
+ "name": "ᏥᏊᏗ ᎠᏕᎳ"
+ },
+ "JOD": {
+ "name": "ᏦᏓᏂ ᎠᏕᎳ"
+ },
+ "KRW": {
+ "name": "ᏧᎦᎾᏮ ᎪᎵᎠ ᎠᏕᎳ",
+ "symbol": "₩"
+ },
+ "ZAR": {
+ "name": "ᏧᎦᎾᏮ ᎬᎿᎨᏍᏛ ᎠᏕᎳ"
+ },
+ "SSP": {
+ "name": "ᏧᎦᎾᏮ ᏑᏕᏂ ᎠᏕᎳ"
+ },
+ "ISK": {
+ "name": "ᏧᏁᏍᏓᎸᎯ ᎠᏕᎳ"
+ },
+ "KPW": {
+ "name": "ᏧᏴᏢ ᎪᎵᎠ ᎠᏕᎳ"
+ },
+ "FKP": {
+ "name": "ᏩᎩᎤ ᏚᎦᏚᏛᎢ ᎠᏕᎳ"
+ },
+ "VUV": {
+ "name": "ᏩᏂᎤᏩᏚ ᎠᏕᎳ"
+ },
+ "VEF": {
+ "name": "ᏪᏁᏑᏪᎳ ᎠᏕᎳ"
+ },
+ "VND": {
+ "name": "ᏫᎡᏘᎾᎻᏍ ᎠᏕᎳ",
+ "symbol": "₫"
+ },
+ "FJD": {
+ "name": "ᏫᎩ ᎠᏕᎳ"
+ },
+ "XOF": {
+ "name": "ᏭᏕᎵᎬ ᎬᎿᎨᏍᏛ CFA ᎠᏕᎳ",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "ᏰᎺᏂ ᎠᏕᎳ"
+ },
+ "RUB": {
+ "name": "ᏲᏂᎢ ᎠᏕᎳ"
+ },
+ "UGX": {
+ "name": "ᏳᎦᏂᏓ ᎠᏕᎳ"
+ },
+ "UAH": {
+ "name": "ᏳᎧᎴᏂ ᎠᏕᎳ"
+ },
+ "EUR": {
+ "name": "ᏳᎳᏛ ᎠᏕᎳ",
+ "symbol": "€"
+ },
+ "UYU": {
+ "name": "ᏳᎷᏇ ᎠᏕᎳ"
+ },
+ "XPF": {
+ "name": "CFP ᎠᏕᎳ",
+ "symbol": "CFPF"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "USD": {
+ "name": "US ᎠᏕᎳ",
+ "symbol": "$"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/cs.json b/vendor/commerceguys/intl/resources/currency/cs.json
new file mode 100644
index 000000000..3824b157b
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/cs.json
@@ -0,0 +1,494 @@
+{
+ "AFN": {
+ "name": "afghánský afghán"
+ },
+ "ALL": {
+ "name": "albánský lek"
+ },
+ "DZD": {
+ "name": "alžírský dinár"
+ },
+ "USD": {
+ "name": "americký dolar",
+ "symbol": "US$"
+ },
+ "AOA": {
+ "name": "angolská kwanza"
+ },
+ "ARS": {
+ "name": "argentinské peso"
+ },
+ "AMD": {
+ "name": "arménský dram"
+ },
+ "AWG": {
+ "name": "arubský zlatý"
+ },
+ "AUD": {
+ "name": "australský dolar",
+ "symbol": "AU$"
+ },
+ "AZN": {
+ "name": "ázerbájdžánský manat"
+ },
+ "BSD": {
+ "name": "bahamský dolar"
+ },
+ "BHD": {
+ "name": "bahrajnský dinár"
+ },
+ "BDT": {
+ "name": "bangladéšská taka"
+ },
+ "BBD": {
+ "name": "barbadoský dolar"
+ },
+ "BZD": {
+ "name": "belizský dolar"
+ },
+ "BYN": {
+ "name": "běloruský rubl"
+ },
+ "BYR": {
+ "name": "běloruský rubl (2000–2016)"
+ },
+ "BMD": {
+ "name": "bermudský dolar"
+ },
+ "BTN": {
+ "name": "bhútánský ngultrum"
+ },
+ "BOB": {
+ "name": "bolivijský boliviano"
+ },
+ "BAM": {
+ "name": "bosenská konvertibilní marka"
+ },
+ "BWP": {
+ "name": "botswanská pula"
+ },
+ "BRL": {
+ "name": "brazilský real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "britská libra",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "brunejský dolar"
+ },
+ "BGN": {
+ "name": "bulharský lev"
+ },
+ "BIF": {
+ "name": "burundský frank"
+ },
+ "XOF": {
+ "name": "CFA\/BCEAO frank",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "CFA\/BEAC frank",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP frank",
+ "symbol": "CFPF"
+ },
+ "CZK": {
+ "name": "česká koruna",
+ "symbol": "Kč"
+ },
+ "CNY": {
+ "name": "čínský jüan",
+ "symbol": "CN¥"
+ },
+ "DKK": {
+ "name": "dánská koruna"
+ },
+ "DOP": {
+ "name": "dominikánské peso"
+ },
+ "DJF": {
+ "name": "džibutský frank"
+ },
+ "EGP": {
+ "name": "egyptská libra"
+ },
+ "ERN": {
+ "name": "eritrejská nakfa"
+ },
+ "ETB": {
+ "name": "etiopský birr"
+ },
+ "EUR": {
+ "name": "euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "falklandská libra"
+ },
+ "FJD": {
+ "name": "fidžijský dolar"
+ },
+ "PHP": {
+ "name": "filipínské peso"
+ },
+ "GMD": {
+ "name": "gambijský dalasi"
+ },
+ "GHS": {
+ "name": "ghanský cedi"
+ },
+ "GIP": {
+ "name": "gibraltarská libra"
+ },
+ "GEL": {
+ "name": "gruzínské lari"
+ },
+ "GTQ": {
+ "name": "guatemalský quetzal"
+ },
+ "GNF": {
+ "name": "guinejský frank"
+ },
+ "GYD": {
+ "name": "guyanský dolar"
+ },
+ "HTG": {
+ "name": "haitský gourde"
+ },
+ "HNL": {
+ "name": "honduraská lempira"
+ },
+ "HKD": {
+ "name": "hongkongský dolar",
+ "symbol": "HK$"
+ },
+ "CLP": {
+ "name": "chilské peso"
+ },
+ "HRK": {
+ "name": "chorvatská kuna"
+ },
+ "INR": {
+ "name": "indická rupie"
+ },
+ "IDR": {
+ "name": "indonéská rupie"
+ },
+ "IQD": {
+ "name": "irácký dinár"
+ },
+ "IRR": {
+ "name": "íránský rijál"
+ },
+ "ISK": {
+ "name": "islandská koruna"
+ },
+ "ILS": {
+ "name": "izraelský nový šekel"
+ },
+ "JMD": {
+ "name": "jamajský dolar"
+ },
+ "JPY": {
+ "name": "japonský jen",
+ "symbol": "JP¥"
+ },
+ "YER": {
+ "name": "jemenský rijál"
+ },
+ "ZAR": {
+ "name": "jihoafrický rand"
+ },
+ "KRW": {
+ "name": "jihokorejský won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "jihosúdánská libra"
+ },
+ "JOD": {
+ "name": "jordánský dinár"
+ },
+ "KYD": {
+ "name": "kajmanský dolar"
+ },
+ "KHR": {
+ "name": "kambodžský riel"
+ },
+ "CAD": {
+ "name": "kanadský dolar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "kapverdské escudo"
+ },
+ "QAR": {
+ "name": "katarský rijál"
+ },
+ "KZT": {
+ "name": "kazašské tenge"
+ },
+ "KES": {
+ "name": "keňský šilink"
+ },
+ "COP": {
+ "name": "kolumbijské peso"
+ },
+ "KMF": {
+ "name": "komorský frank"
+ },
+ "CDF": {
+ "name": "konžský frank"
+ },
+ "CRC": {
+ "name": "kostarický colón"
+ },
+ "CUC": {
+ "name": "kubánské konvertibilní peso"
+ },
+ "CUP": {
+ "name": "kubánské peso"
+ },
+ "KWD": {
+ "name": "kuvajtský dinár"
+ },
+ "KGS": {
+ "name": "kyrgyzský som"
+ },
+ "LAK": {
+ "name": "laoský kip"
+ },
+ "LSL": {
+ "name": "lesothský loti"
+ },
+ "LBP": {
+ "name": "libanonská libra"
+ },
+ "LRD": {
+ "name": "liberijský dolar"
+ },
+ "LYD": {
+ "name": "libyjský dinár"
+ },
+ "MOP": {
+ "name": "macajská pataca"
+ },
+ "MGA": {
+ "name": "madagaskarský ariary"
+ },
+ "HUF": {
+ "name": "maďarský forint"
+ },
+ "MKD": {
+ "name": "makedonský denár"
+ },
+ "MYR": {
+ "name": "malajsijský ringgit"
+ },
+ "MWK": {
+ "name": "malawijská kwacha"
+ },
+ "MVR": {
+ "name": "maledivská rupie"
+ },
+ "MAD": {
+ "name": "marocký dinár"
+ },
+ "MUR": {
+ "name": "mauricijská rupie"
+ },
+ "MRO": {
+ "name": "mauritánská ouguiya"
+ },
+ "MXN": {
+ "name": "mexické peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "moldavský leu"
+ },
+ "MNT": {
+ "name": "mongolský tugrik"
+ },
+ "MZN": {
+ "name": "mozambický metical"
+ },
+ "MMK": {
+ "name": "myanmarský kyat"
+ },
+ "NAD": {
+ "name": "namibijský dolar"
+ },
+ "NPR": {
+ "name": "nepálská rupie"
+ },
+ "NGN": {
+ "name": "nigerijská naira"
+ },
+ "NIO": {
+ "name": "nikaragujská córdoba"
+ },
+ "ANG": {
+ "name": "nizozemskoantilský gulden"
+ },
+ "NOK": {
+ "name": "norská koruna"
+ },
+ "NZD": {
+ "name": "novozélandský dolar",
+ "symbol": "NZ$"
+ },
+ "OMR": {
+ "name": "ománský rijál"
+ },
+ "PKR": {
+ "name": "pákistánská rupie"
+ },
+ "PAB": {
+ "name": "panamská balboa"
+ },
+ "PGK": {
+ "name": "papuánská nová kina"
+ },
+ "PYG": {
+ "name": "paraguajské guarani"
+ },
+ "PEN": {
+ "name": "peruánský nový sol"
+ },
+ "PLN": {
+ "name": "polský zlotý"
+ },
+ "RON": {
+ "name": "rumunský leu"
+ },
+ "RUB": {
+ "name": "ruský rubl"
+ },
+ "RWF": {
+ "name": "rwandský frank"
+ },
+ "AED": {
+ "name": "SAE dirham"
+ },
+ "SVC": {
+ "name": "salvadorský colón"
+ },
+ "WST": {
+ "name": "samojská tala"
+ },
+ "SAR": {
+ "name": "saúdský rijál"
+ },
+ "KPW": {
+ "name": "severokorejský won"
+ },
+ "SCR": {
+ "name": "seychelská rupie"
+ },
+ "SLL": {
+ "name": "sierro-leonský leone"
+ },
+ "SGD": {
+ "name": "singapurský dolar"
+ },
+ "SOS": {
+ "name": "somálský šilink"
+ },
+ "RSD": {
+ "name": "srbský dinár"
+ },
+ "LKR": {
+ "name": "srílanská rupie"
+ },
+ "SDG": {
+ "name": "súdánská libra"
+ },
+ "SRD": {
+ "name": "surinamský dolar"
+ },
+ "SHP": {
+ "name": "svatohelenská libra"
+ },
+ "STD": {
+ "name": "svatotomášská dobra"
+ },
+ "SZL": {
+ "name": "svazijský lilangeni"
+ },
+ "SYP": {
+ "name": "syrská libra"
+ },
+ "SBD": {
+ "name": "šalamounský dolar"
+ },
+ "SEK": {
+ "name": "švédská koruna"
+ },
+ "CHF": {
+ "name": "švýcarský frank"
+ },
+ "TJS": {
+ "name": "tádžické somoni"
+ },
+ "TZS": {
+ "name": "tanzanský šilink"
+ },
+ "THB": {
+ "name": "thajský baht"
+ },
+ "TWD": {
+ "name": "tchajwanský dolar",
+ "symbol": "NT$"
+ },
+ "TOP": {
+ "name": "tonžská paanga"
+ },
+ "TTD": {
+ "name": "trinidadský dolar"
+ },
+ "TND": {
+ "name": "tuniský dinár"
+ },
+ "TRY": {
+ "name": "turecká lira"
+ },
+ "TMT": {
+ "name": "turkmenský manat"
+ },
+ "UGX": {
+ "name": "ugandský šilink"
+ },
+ "UAH": {
+ "name": "ukrajinská hřivna"
+ },
+ "UYU": {
+ "name": "uruguayské peso"
+ },
+ "UZS": {
+ "name": "uzbecký sum"
+ },
+ "VUV": {
+ "name": "vanuatský vatu"
+ },
+ "VEF": {
+ "name": "venezuelský bolívar"
+ },
+ "VND": {
+ "name": "vietnamský dong"
+ },
+ "XCD": {
+ "name": "východokaribský dolar",
+ "symbol": "EC$"
+ },
+ "ZMW": {
+ "name": "zambijská kwacha"
+ },
+ "ZWL": {
+ "name": "zimbabwský dolar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/cy.json b/vendor/commerceguys/intl/resources/currency/cy.json
new file mode 100644
index 000000000..ca64ac81d
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/cy.json
@@ -0,0 +1,496 @@
+{
+ "AFN": {
+ "name": "Afghani Afghanistan"
+ },
+ "MGA": {
+ "name": "Ariary Madagascar"
+ },
+ "THB": {
+ "name": "Baht Gwlad Thai",
+ "symbol": "฿"
+ },
+ "PAB": {
+ "name": "Balboa Panama"
+ },
+ "ETB": {
+ "name": "Birr Ethiopia"
+ },
+ "VEF": {
+ "name": "Bolívar Venezuela"
+ },
+ "BOB": {
+ "name": "Boliviano Bolifia"
+ },
+ "GHS": {
+ "name": "Cedi Ghana"
+ },
+ "CRC": {
+ "name": "Colón Costa Rica"
+ },
+ "SVC": {
+ "name": "Colón El Salvador"
+ },
+ "NIO": {
+ "name": "Cordoba Nicaragwa"
+ },
+ "GMD": {
+ "name": "Dalasi Gambia"
+ },
+ "MKD": {
+ "name": "Denar Macedonia"
+ },
+ "DZD": {
+ "name": "Dinar Algeria"
+ },
+ "BHD": {
+ "name": "Dinar Bahrain"
+ },
+ "JOD": {
+ "name": "Dinar Gwlad yr Iorddonen"
+ },
+ "IQD": {
+ "name": "Dinar Irac"
+ },
+ "KWD": {
+ "name": "Dinar Kuwait"
+ },
+ "LYD": {
+ "name": "Dinar Libya"
+ },
+ "RSD": {
+ "name": "Dinar Serbia"
+ },
+ "TND": {
+ "name": "Dinar Tunisia"
+ },
+ "MAD": {
+ "name": "Dirham Moroco"
+ },
+ "AED": {
+ "name": "Dirham Yr Emiradau Arabaidd Unedig"
+ },
+ "STD": {
+ "name": "Dobra São Tomé a Príncipe"
+ },
+ "VND": {
+ "name": "Dong Fietnam",
+ "symbol": "₫"
+ },
+ "AUD": {
+ "name": "Doler Awstralia",
+ "symbol": "A$"
+ },
+ "BBD": {
+ "name": "Doler Barbados"
+ },
+ "BZD": {
+ "name": "Doler Belize"
+ },
+ "BMD": {
+ "name": "Doler Bermuda"
+ },
+ "BND": {
+ "name": "Doler Brunei"
+ },
+ "CAD": {
+ "name": "Doler Canada",
+ "symbol": "CA$"
+ },
+ "XCD": {
+ "name": "Doler Dwyrain y Caribî",
+ "symbol": "EC$"
+ },
+ "FJD": {
+ "name": "Doler Ffiji"
+ },
+ "GYD": {
+ "name": "Doler Guyana"
+ },
+ "HKD": {
+ "name": "Doler Hong Kong",
+ "symbol": "HK$"
+ },
+ "JMD": {
+ "name": "Doler Jamaica"
+ },
+ "LRD": {
+ "name": "Doler Liberia"
+ },
+ "NAD": {
+ "name": "Doler Namibia"
+ },
+ "TWD": {
+ "name": "Doler Newydd Taiwan",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "Doler Seland Newydd",
+ "symbol": "NZ$"
+ },
+ "SGD": {
+ "name": "Doler Singapore"
+ },
+ "SRD": {
+ "name": "Doler Surinam"
+ },
+ "TTD": {
+ "name": "Doler Trinidad a Tobago"
+ },
+ "USD": {
+ "name": "Doler UDA",
+ "symbol": "US$"
+ },
+ "BSD": {
+ "name": "Doler y Bahamas"
+ },
+ "KYD": {
+ "name": "Doler Ynysoedd Cayman"
+ },
+ "SBD": {
+ "name": "Doler Ynysoedd Solomon"
+ },
+ "ZWL": {
+ "name": "Doler Zimbabwe (2009)"
+ },
+ "AMD": {
+ "name": "Dram Armenia"
+ },
+ "CVE": {
+ "name": "Esgwdo Cabo Verde"
+ },
+ "EUR": {
+ "name": "Ewro",
+ "symbol": "€"
+ },
+ "AWG": {
+ "name": "Fflorin Aruba"
+ },
+ "HUF": {
+ "name": "Fforint Hwngari"
+ },
+ "BIF": {
+ "name": "Ffranc Burundi"
+ },
+ "XAF": {
+ "name": "Ffranc CFA Canol Affrica",
+ "symbol": "FCFA"
+ },
+ "XOF": {
+ "name": "Ffranc CFA Gorllewin Affrica",
+ "symbol": "CFA"
+ },
+ "XPF": {
+ "name": "Ffranc CFP",
+ "symbol": "CFPF"
+ },
+ "CDF": {
+ "name": "Ffranc Congo"
+ },
+ "KMF": {
+ "name": "Ffranc Comoros"
+ },
+ "DJF": {
+ "name": "Ffranc Djibouti"
+ },
+ "GNF": {
+ "name": "Ffranc Guinée"
+ },
+ "RWF": {
+ "name": "Ffranc Rwanda"
+ },
+ "CHF": {
+ "name": "Ffranc y Swistir"
+ },
+ "HTG": {
+ "name": "Gourde Haiti"
+ },
+ "PYG": {
+ "name": "Guarani Paraguay"
+ },
+ "ANG": {
+ "name": "Guilder Antilles yr Iseldiroedd"
+ },
+ "BTN": {
+ "name": "Ngultrum Bhutan"
+ },
+ "UAH": {
+ "name": "Hryvnia Wcráin"
+ },
+ "PGK": {
+ "name": "Kina Papua Guinea Newydd"
+ },
+ "LAK": {
+ "name": "Kip Laos"
+ },
+ "CZK": {
+ "name": "Koruna Tsiec"
+ },
+ "ISK": {
+ "name": "Króna Gwlad yr Iâ"
+ },
+ "SEK": {
+ "name": "Krona Sweden"
+ },
+ "DKK": {
+ "name": "Krone Denmarc"
+ },
+ "NOK": {
+ "name": "Krone Norwy"
+ },
+ "HRK": {
+ "name": "Kuna Croatia"
+ },
+ "MWK": {
+ "name": "Kwacha Malawi"
+ },
+ "ZMW": {
+ "name": "Kwacha Zambia"
+ },
+ "AOA": {
+ "name": "Kwanza Angola"
+ },
+ "MMK": {
+ "name": "Kyat Myanmar"
+ },
+ "GEL": {
+ "name": "Lari Georgia"
+ },
+ "ALL": {
+ "name": "Lek Albania"
+ },
+ "HNL": {
+ "name": "Lempira Honduras"
+ },
+ "SLL": {
+ "name": "Leone Sierra Leone"
+ },
+ "MDL": {
+ "name": "Leu Moldofa"
+ },
+ "RON": {
+ "name": "Leu Rwmania"
+ },
+ "BGN": {
+ "name": "Lev Bwlgaria"
+ },
+ "SZL": {
+ "name": "Lilangeni Gwlad Swazi"
+ },
+ "TRY": {
+ "name": "Lira Twrci"
+ },
+ "LSL": {
+ "name": "Loti Lesotho"
+ },
+ "AZN": {
+ "name": "Manat Azerbaijan"
+ },
+ "TMT": {
+ "name": "Manat Turkmenistan"
+ },
+ "BAM": {
+ "name": "Marc Trosadwy Bosnia a Hercegovina"
+ },
+ "MZN": {
+ "name": "Metical Mozambique"
+ },
+ "NGN": {
+ "name": "Naira Nigeria"
+ },
+ "ERN": {
+ "name": "Nakfa Eritrea"
+ },
+ "PEN": {
+ "name": "Nuevo Sol Periw"
+ },
+ "MRO": {
+ "name": "Ouguiya Mauritania"
+ },
+ "TOP": {
+ "name": "Paʻanga Tonga"
+ },
+ "MOP": {
+ "name": "Pataca Macau"
+ },
+ "CUP": {
+ "name": "Peso Ciwba"
+ },
+ "COP": {
+ "name": "Peso Colombia"
+ },
+ "CLP": {
+ "name": "Peso Chile"
+ },
+ "DOP": {
+ "name": "Peso Gweriniaeth Dominica"
+ },
+ "MXN": {
+ "name": "Peso Mecsico",
+ "symbol": "MX$"
+ },
+ "CUC": {
+ "name": "Peso Trosadwy Ciwba"
+ },
+ "UYU": {
+ "name": "Peso Uruguay"
+ },
+ "ARS": {
+ "name": "Peso yr Ariannin"
+ },
+ "PHP": {
+ "name": "Peso’r Philipinau"
+ },
+ "BWP": {
+ "name": "Pula Botswana"
+ },
+ "SSP": {
+ "name": "Punt De Sudan"
+ },
+ "GIP": {
+ "name": "Punt Gibraltar"
+ },
+ "LBP": {
+ "name": "Punt Libanus"
+ },
+ "GBP": {
+ "name": "Punt Prydain",
+ "symbol": "£"
+ },
+ "SHP": {
+ "name": "Punt Saint Helena"
+ },
+ "SDG": {
+ "name": "Punt Sudan"
+ },
+ "SYP": {
+ "name": "Punt Syria"
+ },
+ "FKP": {
+ "name": "Punt Ynysoedd Falkland\/Malvinas"
+ },
+ "EGP": {
+ "name": "Punt Yr Aifft"
+ },
+ "GTQ": {
+ "name": "Quetzal Guatemala"
+ },
+ "ZAR": {
+ "name": "Rand De Affrica"
+ },
+ "BRL": {
+ "name": "Real Brasil",
+ "symbol": "R$"
+ },
+ "IRR": {
+ "name": "Rial Iran"
+ },
+ "OMR": {
+ "name": "Rial Oman"
+ },
+ "QAR": {
+ "name": "Rial Qatar"
+ },
+ "YER": {
+ "name": "Rial Yemen"
+ },
+ "KHR": {
+ "name": "Riel Cambodia"
+ },
+ "MYR": {
+ "name": "Ringgit Malaysia"
+ },
+ "SAR": {
+ "name": "Riyal Saudi Arabia"
+ },
+ "MVR": {
+ "name": "Rufiyaa’r Maldives"
+ },
+ "IDR": {
+ "name": "Rupiah Indonesia"
+ },
+ "BYN": {
+ "name": "Rwbl Belarws"
+ },
+ "BYR": {
+ "name": "Rwbl Belarws (2000–2016)"
+ },
+ "RUB": {
+ "name": "Rwbl Rwsia"
+ },
+ "INR": {
+ "name": "Rwpî India",
+ "symbol": "₹"
+ },
+ "MUR": {
+ "name": "Rwpî Mauritius"
+ },
+ "NPR": {
+ "name": "Rwpî Nepal"
+ },
+ "PKR": {
+ "name": "Rwpî Pacistan"
+ },
+ "SCR": {
+ "name": "Rwpî Seychelles"
+ },
+ "LKR": {
+ "name": "Rwpî Sri Lanka"
+ },
+ "ILS": {
+ "name": "Shegel Newydd Israel",
+ "symbol": "₪"
+ },
+ "KGS": {
+ "name": "Som Kyrgyzstan"
+ },
+ "UZS": {
+ "name": "Som Uzbekistan"
+ },
+ "TJS": {
+ "name": "Somoni Tajikistan"
+ },
+ "KES": {
+ "name": "Swllt Kenya"
+ },
+ "SOS": {
+ "name": "Swllt Somalia"
+ },
+ "TZS": {
+ "name": "Swllt Tanzania"
+ },
+ "UGX": {
+ "name": "Swllt Uganda"
+ },
+ "BDT": {
+ "name": "Taka Bangladesh"
+ },
+ "WST": {
+ "name": "Tala Samoa"
+ },
+ "KZT": {
+ "name": "Tenge Kazakstan"
+ },
+ "MNT": {
+ "name": "Tugrik Mongolia"
+ },
+ "VUV": {
+ "name": "Vatu Vanuatu"
+ },
+ "KRW": {
+ "name": "Won De Corea"
+ },
+ "KPW": {
+ "name": "Won Gogledd Corea"
+ },
+ "JPY": {
+ "name": "Yen Japan",
+ "symbol": "JP¥"
+ },
+ "CNY": {
+ "name": "Yuan Tsieina",
+ "symbol": "CN¥"
+ },
+ "PLN": {
+ "name": "Zloty Gwlad Pwyl"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/da.json b/vendor/commerceguys/intl/resources/currency/da.json
new file mode 100644
index 000000000..d53310c93
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/da.json
@@ -0,0 +1,498 @@
+{
+ "AFN": {
+ "name": "afghansk afghani"
+ },
+ "ALL": {
+ "name": "albansk lek"
+ },
+ "DZD": {
+ "name": "algerisk dinar"
+ },
+ "USD": {
+ "name": "amerikansk dollar",
+ "symbol": "$"
+ },
+ "AOA": {
+ "name": "angolansk kwanza"
+ },
+ "ARS": {
+ "name": "argentinsk peso"
+ },
+ "AMD": {
+ "name": "armensk dram"
+ },
+ "AWG": {
+ "name": "arubansk florin"
+ },
+ "AZN": {
+ "name": "aserbajdsjansk manat"
+ },
+ "AUD": {
+ "name": "australsk dollar",
+ "symbol": "AU$"
+ },
+ "BSD": {
+ "name": "bahamansk dollar"
+ },
+ "BHD": {
+ "name": "bahrainsk dinar"
+ },
+ "BDT": {
+ "name": "bangladeshisk taka"
+ },
+ "BBD": {
+ "name": "barbadisk dollar"
+ },
+ "BZD": {
+ "name": "belizisk dollar"
+ },
+ "BMD": {
+ "name": "bermudansk dollar"
+ },
+ "BTN": {
+ "name": "bhutansk ngultrum"
+ },
+ "BOB": {
+ "name": "boliviansk boliviano"
+ },
+ "BAM": {
+ "name": "bosnien-hercegovinsk konvertibel mark"
+ },
+ "BWP": {
+ "name": "botswansk pula"
+ },
+ "BRL": {
+ "name": "brasiliansk real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "britisk pund",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "bruneisk dollar"
+ },
+ "BGN": {
+ "name": "bulgarsk lev"
+ },
+ "BIF": {
+ "name": "burundisk franc"
+ },
+ "KHR": {
+ "name": "cambodjansk riel"
+ },
+ "CAD": {
+ "name": "canadisk dollar",
+ "symbol": "CA$"
+ },
+ "KYD": {
+ "name": "caymansk dollar"
+ },
+ "XAF": {
+ "name": "CFA-franc (BEAC)",
+ "symbol": "FCFA"
+ },
+ "XOF": {
+ "name": "CFA-franc BCEAO",
+ "symbol": "CFA"
+ },
+ "XPF": {
+ "name": "CFP-franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "chilensk peso"
+ },
+ "COP": {
+ "name": "colombiansk peso"
+ },
+ "KMF": {
+ "name": "comorisk franc"
+ },
+ "CDF": {
+ "name": "congolesisk franc"
+ },
+ "CRC": {
+ "name": "costaricansk colón"
+ },
+ "CUC": {
+ "name": "cubansk konvertibel peso"
+ },
+ "CUP": {
+ "name": "cubansk peso"
+ },
+ "DKK": {
+ "name": "dansk krone",
+ "symbol": "kr."
+ },
+ "AED": {
+ "name": "dirham fra de Forenede Arabiske Emirater"
+ },
+ "DJF": {
+ "name": "djiboutisk franc"
+ },
+ "STD": {
+ "name": "dobra fra Sao Tome og Principe"
+ },
+ "TTD": {
+ "name": "dollar fra Trinidad og Tobago"
+ },
+ "DOP": {
+ "name": "dominikansk peso"
+ },
+ "EGP": {
+ "name": "egyptisk pund"
+ },
+ "ERN": {
+ "name": "eritreisk nakfa"
+ },
+ "ETB": {
+ "name": "etiopisk birr"
+ },
+ "EUR": {
+ "name": "euro",
+ "symbol": "€"
+ },
+ "FJD": {
+ "name": "fijiansk dollar"
+ },
+ "PHP": {
+ "name": "filippinsk peso"
+ },
+ "GMD": {
+ "name": "gambisk dalasi"
+ },
+ "GEL": {
+ "name": "georgisk lari"
+ },
+ "GHS": {
+ "name": "ghanesisk cedi"
+ },
+ "GIP": {
+ "name": "gibraltarisk pund"
+ },
+ "GTQ": {
+ "name": "guatemalansk quetzal"
+ },
+ "GNF": {
+ "name": "guineansk franc"
+ },
+ "GYD": {
+ "name": "guyansk dollar"
+ },
+ "HTG": {
+ "name": "haitisk gourde"
+ },
+ "HNL": {
+ "name": "honduransk lempira"
+ },
+ "HKD": {
+ "name": "Hongkong dollar",
+ "symbol": "HK$"
+ },
+ "BYN": {
+ "name": "hviderussisk rubel"
+ },
+ "BYR": {
+ "name": "hviderussisk rubel (2000–2016)"
+ },
+ "INR": {
+ "name": "indisk rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "indonesisk rupiah"
+ },
+ "IQD": {
+ "name": "irakisk dinar"
+ },
+ "IRR": {
+ "name": "iransk rial"
+ },
+ "ISK": {
+ "name": "islandsk krone"
+ },
+ "JMD": {
+ "name": "jamaicansk dollar"
+ },
+ "JPY": {
+ "name": "japansk yen",
+ "symbol": "JP¥"
+ },
+ "JOD": {
+ "name": "jordansk dinar"
+ },
+ "CVE": {
+ "name": "kapverdisk escudo"
+ },
+ "KZT": {
+ "name": "kasakhisk tenge"
+ },
+ "KES": {
+ "name": "kenyansk shilling"
+ },
+ "CNY": {
+ "name": "kinesisk yuan",
+ "symbol": "CN¥"
+ },
+ "KGS": {
+ "name": "kirgisisk som"
+ },
+ "HRK": {
+ "name": "kroatisk kuna"
+ },
+ "KWD": {
+ "name": "kuwaitisk dinar"
+ },
+ "LAK": {
+ "name": "laotisk kip"
+ },
+ "LSL": {
+ "name": "Lesothisk loti"
+ },
+ "LBP": {
+ "name": "libanesisk pund"
+ },
+ "LRD": {
+ "name": "liberisk dollar"
+ },
+ "LYD": {
+ "name": "libysk dinar"
+ },
+ "MOP": {
+ "name": "macaosk pataca"
+ },
+ "MGA": {
+ "name": "madagaskisk ariary"
+ },
+ "MKD": {
+ "name": "makedonsk denar"
+ },
+ "MWK": {
+ "name": "malawisk kwacha"
+ },
+ "MYR": {
+ "name": "malaysisk ringgit"
+ },
+ "MVR": {
+ "name": "maldivisk rufiyaa"
+ },
+ "MAD": {
+ "name": "marokkansk dirham"
+ },
+ "MRO": {
+ "name": "mauritansk ouguiya"
+ },
+ "MUR": {
+ "name": "mauritisk rupee"
+ },
+ "MXN": {
+ "name": "mexicansk peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "moldovisk leu"
+ },
+ "MNT": {
+ "name": "mongolsk tugrik"
+ },
+ "MZN": {
+ "name": "mozambiquisk metical"
+ },
+ "MMK": {
+ "name": "myanmarsk kyat"
+ },
+ "NAD": {
+ "name": "namibisk dollar"
+ },
+ "ANG": {
+ "name": "Nederlandske Antiller-gylden"
+ },
+ "NPR": {
+ "name": "nepalesisk rupee"
+ },
+ "NZD": {
+ "name": "newzealandsk dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "nicaraguansk cordoba"
+ },
+ "NGN": {
+ "name": "nigeriansk naira"
+ },
+ "KPW": {
+ "name": "nordkoreansk won"
+ },
+ "NOK": {
+ "name": "norsk krone"
+ },
+ "ILS": {
+ "name": "ny israelsk shekel",
+ "symbol": "₪"
+ },
+ "TWD": {
+ "name": "ny taiwansk dollar",
+ "symbol": "NT$"
+ },
+ "OMR": {
+ "name": "omansk rial"
+ },
+ "PKR": {
+ "name": "pakistansk rupee"
+ },
+ "PAB": {
+ "name": "panamansk balboa"
+ },
+ "PGK": {
+ "name": "papuansk kina"
+ },
+ "PYG": {
+ "name": "paraguaysk guarani"
+ },
+ "PEN": {
+ "name": "peruviansk nuevo sol"
+ },
+ "PLN": {
+ "name": "polsk zloty"
+ },
+ "FKP": {
+ "name": "pund fra Falklandsøerne"
+ },
+ "SHP": {
+ "name": "pund fra Saint Helena"
+ },
+ "QAR": {
+ "name": "qatarsk rial"
+ },
+ "RON": {
+ "name": "rumænsk leu"
+ },
+ "RUB": {
+ "name": "russisk rubel"
+ },
+ "RWF": {
+ "name": "rwandisk franc"
+ },
+ "SBD": {
+ "name": "salomonsk dollar"
+ },
+ "SVC": {
+ "name": "Salvadoransk colon"
+ },
+ "WST": {
+ "name": "samoansk tala"
+ },
+ "SAR": {
+ "name": "saudiarabisk riyal"
+ },
+ "CHF": {
+ "name": "schweizerfranc"
+ },
+ "RSD": {
+ "name": "serbisk dinar"
+ },
+ "SCR": {
+ "name": "seychellisk rupee"
+ },
+ "SLL": {
+ "name": "sierraleonsk leone"
+ },
+ "SGD": {
+ "name": "singaporeansk dollar"
+ },
+ "SOS": {
+ "name": "somalisk shilling"
+ },
+ "LKR": {
+ "name": "srilankansk rupee"
+ },
+ "SDG": {
+ "name": "sudansk pund"
+ },
+ "SRD": {
+ "name": "surinamsk dollar"
+ },
+ "SEK": {
+ "name": "svensk krone"
+ },
+ "SZL": {
+ "name": "swazilandsk lilangeni"
+ },
+ "ZAR": {
+ "name": "sydafrikansk rand"
+ },
+ "KRW": {
+ "name": "sydkoreansk won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "sydsudansk pund"
+ },
+ "SYP": {
+ "name": "syrisk pund"
+ },
+ "TJS": {
+ "name": "tadsjikisk somoni"
+ },
+ "TZS": {
+ "name": "tanzanisk shilling"
+ },
+ "THB": {
+ "name": "thailandsk baht",
+ "symbol": "฿"
+ },
+ "CZK": {
+ "name": "tjekkisk koruna"
+ },
+ "TOP": {
+ "name": "tongansk paʻanga"
+ },
+ "TND": {
+ "name": "tunesisk dinar"
+ },
+ "TMT": {
+ "name": "turkmensk manat"
+ },
+ "TRY": {
+ "name": "tyrkisk lira"
+ },
+ "UGX": {
+ "name": "ugandisk shilling"
+ },
+ "UAH": {
+ "name": "ukrainsk grynia"
+ },
+ "HUF": {
+ "name": "ungarsk forint"
+ },
+ "UYU": {
+ "name": "uruguayansk peso"
+ },
+ "UZS": {
+ "name": "usbekisk sum"
+ },
+ "VUV": {
+ "name": "vanuaisk vatu"
+ },
+ "VEF": {
+ "name": "venezuelansk bolivar"
+ },
+ "VND": {
+ "name": "vietnamesisk dong",
+ "symbol": "₫"
+ },
+ "YER": {
+ "name": "yemenitisk rial"
+ },
+ "ZMW": {
+ "name": "zambisk kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwisk dollar (2009)"
+ },
+ "XCD": {
+ "name": "østkaribisk dollar",
+ "symbol": "EC$"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/dav.json b/vendor/commerceguys/intl/resources/currency/dav.json
new file mode 100644
index 000000000..1c12c163f
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/dav.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "MGA": {
+ "name": "Ariary ya Bukini"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Ruble"
+ },
+ "BYR": {
+ "name": "Belarusian Ruble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "ETB": {
+ "name": "Bir ya Uhabeshi"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "GMD": {
+ "name": "Dalasi ya Gambia"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DZD": {
+ "name": "Dinari ya Aljeria"
+ },
+ "BHD": {
+ "name": "Dinari ya Bahareni"
+ },
+ "LYD": {
+ "name": "Dinari ya Libya"
+ },
+ "TND": {
+ "name": "Dinari ya Tunisia"
+ },
+ "AED": {
+ "name": "Dirham ya Falme za Kiarabu"
+ },
+ "MAD": {
+ "name": "Dirham ya Moroko"
+ },
+ "STD": {
+ "name": "Dobra ya Sao Tome na Principe"
+ },
+ "AUD": {
+ "name": "Dola ya Australia",
+ "symbol": "A$"
+ },
+ "CAD": {
+ "name": "Dola ya Kanada",
+ "symbol": "CA$"
+ },
+ "LRD": {
+ "name": "Dola ya Liberia"
+ },
+ "USD": {
+ "name": "Dola ya Marekani",
+ "symbol": "US$"
+ },
+ "NAD": {
+ "name": "Dola ya Namibia"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "CVE": {
+ "name": "Eskudo ya Kepuvede"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "XOF": {
+ "name": "Faranga CFA BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Faranga CFA BEAC",
+ "symbol": "FCFA"
+ },
+ "BIF": {
+ "name": "Faranga ya Burundi"
+ },
+ "DJF": {
+ "name": "Faranga ya Jibuti"
+ },
+ "KMF": {
+ "name": "Faranga ya Komoro"
+ },
+ "CDF": {
+ "name": "Faranga ya Kongo"
+ },
+ "RWF": {
+ "name": "Faranga ya Rwanda"
+ },
+ "CHF": {
+ "name": "Faranga ya Uswisi"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "MWK": {
+ "name": "Kwacha ya Malawi"
+ },
+ "ZMW": {
+ "name": "Kwacha ya Zambia"
+ },
+ "AOA": {
+ "name": "Kwanza ya Angola"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "SLL": {
+ "name": "Leoni"
+ },
+ "SZL": {
+ "name": "Lilangeni"
+ },
+ "LSL": {
+ "name": "Loti ya Lesoto"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NGN": {
+ "name": "Naira ya Nijeria"
+ },
+ "ERN": {
+ "name": "Nakfa ya Eritrea"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "EGP": {
+ "name": "Pauni ya Misri"
+ },
+ "SHP": {
+ "name": "Pauni ya Santahelena"
+ },
+ "SDG": {
+ "name": "Pauni ya Sudani"
+ },
+ "GBP": {
+ "name": "Pauni ya Uingereza",
+ "symbol": "£"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "BWP": {
+ "name": "Pula ya Botswana"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "ZAR": {
+ "name": "Randi ya Afrika Kusini"
+ },
+ "SAR": {
+ "name": "Riyal ya Saudia"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "INR": {
+ "name": "Rupia ya India",
+ "symbol": "₹"
+ },
+ "MUR": {
+ "name": "Rupia ya Morisi"
+ },
+ "SCR": {
+ "name": "Rupia ya Shelisheli"
+ },
+ "RUB": {
+ "name": "Russian Ruble"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "JPY": {
+ "name": "Sarafu ya Kijapani",
+ "symbol": "JP¥"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "KES": {
+ "name": "Shilingi ya Kenya",
+ "symbol": "Ksh"
+ },
+ "SOS": {
+ "name": "Shilingi ya Somalia"
+ },
+ "TZS": {
+ "name": "Shilingi ya Tanzania"
+ },
+ "UGX": {
+ "name": "Shilingi ya Uganda"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "MRO": {
+ "name": "Ugwiya ya Moritania"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "CNY": {
+ "name": "Yuan Renminbi ya China",
+ "symbol": "CN¥"
+ },
+ "EUR": {
+ "name": "Yuro",
+ "symbol": "€"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/de-CH.json b/vendor/commerceguys/intl/resources/currency/de-CH.json
new file mode 100644
index 000000000..7f6b29a41
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/de-CH.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afghanischer Afghani"
+ },
+ "EGP": {
+ "name": "Ägyptisches Pfund"
+ },
+ "ALL": {
+ "name": "Albanischer Lek"
+ },
+ "DZD": {
+ "name": "Algerischer Dinar"
+ },
+ "AOA": {
+ "name": "Angolanischer Kwanza"
+ },
+ "ARS": {
+ "name": "Argentinischer Peso"
+ },
+ "AMD": {
+ "name": "Armenischer Dram"
+ },
+ "AWG": {
+ "name": "Aruba-Florin"
+ },
+ "AZN": {
+ "name": "Aserbaidschan-Manat"
+ },
+ "ETB": {
+ "name": "Äthiopischer Birr"
+ },
+ "AUD": {
+ "name": "Australischer Dollar",
+ "symbol": "AU$"
+ },
+ "BSD": {
+ "name": "Bahamas-Dollar"
+ },
+ "BHD": {
+ "name": "Bahrain-Dinar"
+ },
+ "BDT": {
+ "name": "Bangladesch-Taka"
+ },
+ "BBD": {
+ "name": "Barbados-Dollar"
+ },
+ "BZD": {
+ "name": "Belize-Dollar"
+ },
+ "BMD": {
+ "name": "Bermuda-Dollar"
+ },
+ "BTN": {
+ "name": "Bhutan-Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivanischer Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnien und Herzegowina Konvertierbare Mark"
+ },
+ "BWP": {
+ "name": "Botswanischer Pula"
+ },
+ "BRL": {
+ "name": "Brasilianischer Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "Britisches Pfund",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei-Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarischer Lew"
+ },
+ "BIF": {
+ "name": "Burundi-Franc"
+ },
+ "CVE": {
+ "name": "Cabo-Verde-Escudo"
+ },
+ "XOF": {
+ "name": "CFA-Franc (BCEAO)",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "CFA-Franc (BEAC)",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP-Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilenischer Peso"
+ },
+ "CRC": {
+ "name": "Costa-Rica-Colón"
+ },
+ "DKK": {
+ "name": "Dänische Krone"
+ },
+ "DOP": {
+ "name": "Dominikanischer Peso"
+ },
+ "DJF": {
+ "name": "Dschibuti-Franc"
+ },
+ "SVC": {
+ "name": "El Salvador Colon"
+ },
+ "ERN": {
+ "name": "Eritreischer Nakfa"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland-Pfund"
+ },
+ "FJD": {
+ "name": "Fidschi-Dollar"
+ },
+ "GMD": {
+ "name": "Gambia-Dalasi"
+ },
+ "GEL": {
+ "name": "Georgischer Lari"
+ },
+ "GHS": {
+ "name": "Ghanaischer Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar-Pfund"
+ },
+ "GTQ": {
+ "name": "Guatemaltekischer Quetzal"
+ },
+ "GNF": {
+ "name": "Guinea-Franc"
+ },
+ "GYD": {
+ "name": "Guyana-Dollar"
+ },
+ "HTG": {
+ "name": "Haitianische Gourde"
+ },
+ "HNL": {
+ "name": "Honduras-Lempira"
+ },
+ "HKD": {
+ "name": "Hongkong-Dollar",
+ "symbol": "HK$"
+ },
+ "INR": {
+ "name": "Indische Rupie",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesische Rupiah"
+ },
+ "IQD": {
+ "name": "Irakischer Dinar"
+ },
+ "IRR": {
+ "name": "Iranischer Rial"
+ },
+ "ISK": {
+ "name": "Isländische Krone"
+ },
+ "ILS": {
+ "name": "Israelischer Neuer Schekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaika-Dollar"
+ },
+ "JPY": {
+ "name": "Japanischer Yen",
+ "symbol": "¥"
+ },
+ "YER": {
+ "name": "Jemen-Rial"
+ },
+ "JOD": {
+ "name": "Jordanischer Dinar"
+ },
+ "KYD": {
+ "name": "Kaiman-Dollar"
+ },
+ "KHR": {
+ "name": "Kambodschanischer Riel"
+ },
+ "CAD": {
+ "name": "Kanadischer Dollar",
+ "symbol": "CA$"
+ },
+ "KZT": {
+ "name": "Kasachischer Tenge"
+ },
+ "QAR": {
+ "name": "Katar-Riyal"
+ },
+ "KES": {
+ "name": "Kenia-Schilling"
+ },
+ "KGS": {
+ "name": "Kirgisischer Som"
+ },
+ "COP": {
+ "name": "Kolumbianischer Peso"
+ },
+ "KMF": {
+ "name": "Komoren-Franc"
+ },
+ "CDF": {
+ "name": "Kongo-Franc"
+ },
+ "HRK": {
+ "name": "Kroatischer Kuna"
+ },
+ "CUP": {
+ "name": "Kubanischer Peso"
+ },
+ "CUC": {
+ "name": "Kubanischer Peso (konvertibel)"
+ },
+ "KWD": {
+ "name": "Kuwait-Dinar"
+ },
+ "ZMW": {
+ "name": "Kwacha"
+ },
+ "LAK": {
+ "name": "Laotischer Kip"
+ },
+ "LBP": {
+ "name": "Libanesisches Pfund"
+ },
+ "LRD": {
+ "name": "Liberianischer Dollar"
+ },
+ "LYD": {
+ "name": "Libyscher Dinar"
+ },
+ "LSL": {
+ "name": "Loti"
+ },
+ "MOP": {
+ "name": "Macao-Pataca"
+ },
+ "MGA": {
+ "name": "Madagaskar-Ariary"
+ },
+ "MWK": {
+ "name": "Malawi-Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysischer Ringgit"
+ },
+ "MVR": {
+ "name": "Malediven-Rufiyaa"
+ },
+ "MAD": {
+ "name": "Marokkanischer Dirham"
+ },
+ "MRO": {
+ "name": "Mauretanischer Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritius-Rupie"
+ },
+ "MKD": {
+ "name": "Mazedonischer Denar"
+ },
+ "MXN": {
+ "name": "Mexikanischer Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldau-Leu"
+ },
+ "MNT": {
+ "name": "Mongolischer Tögrög"
+ },
+ "MZN": {
+ "name": "Mosambikanischer Metical"
+ },
+ "MMK": {
+ "name": "Myanmarischer Kyat"
+ },
+ "NAD": {
+ "name": "Namibia-Dollar"
+ },
+ "NPR": {
+ "name": "Nepalesische Rupie"
+ },
+ "TWD": {
+ "name": "Neuer Taiwan-Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "Neuseeland-Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaragua-Córdoba"
+ },
+ "ANG": {
+ "name": "Niederländische-Antillen-Gulden"
+ },
+ "NGN": {
+ "name": "Nigerianischer Naira"
+ },
+ "KPW": {
+ "name": "Nordkoreanischer Won"
+ },
+ "NOK": {
+ "name": "Norwegische Krone"
+ },
+ "OMR": {
+ "name": "Omanischer Rial"
+ },
+ "XCD": {
+ "name": "Ostkaribischer Dollar",
+ "symbol": "EC$"
+ },
+ "PKR": {
+ "name": "Pakistanische Rupie"
+ },
+ "PAB": {
+ "name": "Panamaischer Balboa"
+ },
+ "PGK": {
+ "name": "Papua-Neuguineischer Kina"
+ },
+ "PYG": {
+ "name": "Paraguayischer Guaraní"
+ },
+ "PEN": {
+ "name": "Peruanischer Sol"
+ },
+ "PHP": {
+ "name": "Philippinischer Peso"
+ },
+ "PLN": {
+ "name": "Polnischer Złoty"
+ },
+ "CNY": {
+ "name": "Renminbi Yuan",
+ "symbol": "CN¥"
+ },
+ "RWF": {
+ "name": "Ruanda-Franc"
+ },
+ "RON": {
+ "name": "Rumänischer Leu"
+ },
+ "RUB": {
+ "name": "Russischer Rubel"
+ },
+ "SBD": {
+ "name": "Salomonen-Dollar"
+ },
+ "WST": {
+ "name": "Samoanischer Tala"
+ },
+ "STD": {
+ "name": "São-toméischer Dobra"
+ },
+ "SAR": {
+ "name": "Saudi-Rial"
+ },
+ "SEK": {
+ "name": "Schwedische Krone"
+ },
+ "CHF": {
+ "name": "Schweizer Franken"
+ },
+ "RSD": {
+ "name": "Serbischer Dinar"
+ },
+ "SCR": {
+ "name": "Seychellen-Rupie"
+ },
+ "SLL": {
+ "name": "Sierra-leonischer Leone"
+ },
+ "ZWL": {
+ "name": "Simbabwe-Dollar (2009)"
+ },
+ "SGD": {
+ "name": "Singapur-Dollar"
+ },
+ "SOS": {
+ "name": "Somalia-Schilling"
+ },
+ "LKR": {
+ "name": "Sri-Lanka-Rupie"
+ },
+ "SHP": {
+ "name": "St. Helena-Pfund"
+ },
+ "ZAR": {
+ "name": "Südafrikanischer Rand"
+ },
+ "SDG": {
+ "name": "Sudanesisches Pfund"
+ },
+ "KRW": {
+ "name": "Südkoreanischer Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "Südsudanesisches Pfund"
+ },
+ "SRD": {
+ "name": "Suriname-Dollar"
+ },
+ "SZL": {
+ "name": "Swasiländischer Lilangeni"
+ },
+ "SYP": {
+ "name": "Syrisches Pfund"
+ },
+ "TJS": {
+ "name": "Tadschikistan-Somoni"
+ },
+ "TZS": {
+ "name": "Tansania-Schilling"
+ },
+ "THB": {
+ "name": "Thailändischer Baht",
+ "symbol": "฿"
+ },
+ "TOP": {
+ "name": "Tongaischer Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad und Tobago-Dollar"
+ },
+ "CZK": {
+ "name": "Tschechische Krone"
+ },
+ "TND": {
+ "name": "Tunesischer Dinar"
+ },
+ "TRY": {
+ "name": "Türkische Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistan-Manat"
+ },
+ "UGX": {
+ "name": "Uganda-Schilling"
+ },
+ "UAH": {
+ "name": "Ukrainische Hrywnja"
+ },
+ "HUF": {
+ "name": "Ungarischer Forint"
+ },
+ "UYU": {
+ "name": "Uruguayischer Peso"
+ },
+ "USD": {
+ "name": "US-Dollar",
+ "symbol": "$"
+ },
+ "UZS": {
+ "name": "Usbekistan-Sum"
+ },
+ "AED": {
+ "name": "VAE-Dirham"
+ },
+ "VUV": {
+ "name": "Vanuatu-Vatu"
+ },
+ "VEF": {
+ "name": "Venezolanischer Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamesischer Dong",
+ "symbol": "₫"
+ },
+ "BYN": {
+ "name": "Weissrussischer Rubel"
+ },
+ "BYR": {
+ "name": "Weissrussischer Rubel (2000–2016)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/de.json b/vendor/commerceguys/intl/resources/currency/de.json
new file mode 100644
index 000000000..eb009e567
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/de.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afghanischer Afghani"
+ },
+ "EGP": {
+ "name": "Ägyptisches Pfund"
+ },
+ "ALL": {
+ "name": "Albanischer Lek"
+ },
+ "DZD": {
+ "name": "Algerischer Dinar"
+ },
+ "AOA": {
+ "name": "Angolanischer Kwanza"
+ },
+ "ARS": {
+ "name": "Argentinischer Peso"
+ },
+ "AMD": {
+ "name": "Armenischer Dram"
+ },
+ "AWG": {
+ "name": "Aruba-Florin"
+ },
+ "AZN": {
+ "name": "Aserbaidschan-Manat"
+ },
+ "ETB": {
+ "name": "Äthiopischer Birr"
+ },
+ "AUD": {
+ "name": "Australischer Dollar",
+ "symbol": "AU$"
+ },
+ "BSD": {
+ "name": "Bahamas-Dollar"
+ },
+ "BHD": {
+ "name": "Bahrain-Dinar"
+ },
+ "BDT": {
+ "name": "Bangladesch-Taka"
+ },
+ "BBD": {
+ "name": "Barbados-Dollar"
+ },
+ "BZD": {
+ "name": "Belize-Dollar"
+ },
+ "BMD": {
+ "name": "Bermuda-Dollar"
+ },
+ "BTN": {
+ "name": "Bhutan-Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivanischer Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnien und Herzegowina Konvertierbare Mark"
+ },
+ "BWP": {
+ "name": "Botswanischer Pula"
+ },
+ "BRL": {
+ "name": "Brasilianischer Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "Britisches Pfund",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei-Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarischer Lew"
+ },
+ "BIF": {
+ "name": "Burundi-Franc"
+ },
+ "CVE": {
+ "name": "Cabo-Verde-Escudo"
+ },
+ "XOF": {
+ "name": "CFA-Franc (BCEAO)",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "CFA-Franc (BEAC)",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP-Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilenischer Peso"
+ },
+ "CRC": {
+ "name": "Costa-Rica-Colón"
+ },
+ "DKK": {
+ "name": "Dänische Krone"
+ },
+ "DOP": {
+ "name": "Dominikanischer Peso"
+ },
+ "DJF": {
+ "name": "Dschibuti-Franc"
+ },
+ "SVC": {
+ "name": "El Salvador Colon"
+ },
+ "ERN": {
+ "name": "Eritreischer Nakfa"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland-Pfund"
+ },
+ "FJD": {
+ "name": "Fidschi-Dollar"
+ },
+ "GMD": {
+ "name": "Gambia-Dalasi"
+ },
+ "GEL": {
+ "name": "Georgischer Lari"
+ },
+ "GHS": {
+ "name": "Ghanaischer Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar-Pfund"
+ },
+ "GTQ": {
+ "name": "Guatemaltekischer Quetzal"
+ },
+ "GNF": {
+ "name": "Guinea-Franc"
+ },
+ "GYD": {
+ "name": "Guyana-Dollar"
+ },
+ "HTG": {
+ "name": "Haitianische Gourde"
+ },
+ "HNL": {
+ "name": "Honduras-Lempira"
+ },
+ "HKD": {
+ "name": "Hongkong-Dollar",
+ "symbol": "HK$"
+ },
+ "INR": {
+ "name": "Indische Rupie",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesische Rupiah"
+ },
+ "IQD": {
+ "name": "Irakischer Dinar"
+ },
+ "IRR": {
+ "name": "Iranischer Rial"
+ },
+ "ISK": {
+ "name": "Isländische Krone"
+ },
+ "ILS": {
+ "name": "Israelischer Neuer Schekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaika-Dollar"
+ },
+ "JPY": {
+ "name": "Japanischer Yen",
+ "symbol": "¥"
+ },
+ "YER": {
+ "name": "Jemen-Rial"
+ },
+ "JOD": {
+ "name": "Jordanischer Dinar"
+ },
+ "KYD": {
+ "name": "Kaiman-Dollar"
+ },
+ "KHR": {
+ "name": "Kambodschanischer Riel"
+ },
+ "CAD": {
+ "name": "Kanadischer Dollar",
+ "symbol": "CA$"
+ },
+ "KZT": {
+ "name": "Kasachischer Tenge"
+ },
+ "QAR": {
+ "name": "Katar-Riyal"
+ },
+ "KES": {
+ "name": "Kenia-Schilling"
+ },
+ "KGS": {
+ "name": "Kirgisischer Som"
+ },
+ "COP": {
+ "name": "Kolumbianischer Peso"
+ },
+ "KMF": {
+ "name": "Komoren-Franc"
+ },
+ "CDF": {
+ "name": "Kongo-Franc"
+ },
+ "HRK": {
+ "name": "Kroatischer Kuna"
+ },
+ "CUP": {
+ "name": "Kubanischer Peso"
+ },
+ "CUC": {
+ "name": "Kubanischer Peso (konvertibel)"
+ },
+ "KWD": {
+ "name": "Kuwait-Dinar"
+ },
+ "ZMW": {
+ "name": "Kwacha"
+ },
+ "LAK": {
+ "name": "Laotischer Kip"
+ },
+ "LBP": {
+ "name": "Libanesisches Pfund"
+ },
+ "LRD": {
+ "name": "Liberianischer Dollar"
+ },
+ "LYD": {
+ "name": "Libyscher Dinar"
+ },
+ "LSL": {
+ "name": "Loti"
+ },
+ "MOP": {
+ "name": "Macao-Pataca"
+ },
+ "MGA": {
+ "name": "Madagaskar-Ariary"
+ },
+ "MWK": {
+ "name": "Malawi-Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysischer Ringgit"
+ },
+ "MVR": {
+ "name": "Malediven-Rufiyaa"
+ },
+ "MAD": {
+ "name": "Marokkanischer Dirham"
+ },
+ "MRO": {
+ "name": "Mauretanischer Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritius-Rupie"
+ },
+ "MKD": {
+ "name": "Mazedonischer Denar"
+ },
+ "MXN": {
+ "name": "Mexikanischer Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldau-Leu"
+ },
+ "MNT": {
+ "name": "Mongolischer Tögrög"
+ },
+ "MZN": {
+ "name": "Mosambikanischer Metical"
+ },
+ "MMK": {
+ "name": "Myanmarischer Kyat"
+ },
+ "NAD": {
+ "name": "Namibia-Dollar"
+ },
+ "NPR": {
+ "name": "Nepalesische Rupie"
+ },
+ "TWD": {
+ "name": "Neuer Taiwan-Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "Neuseeland-Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaragua-Córdoba"
+ },
+ "ANG": {
+ "name": "Niederländische-Antillen-Gulden"
+ },
+ "NGN": {
+ "name": "Nigerianischer Naira"
+ },
+ "KPW": {
+ "name": "Nordkoreanischer Won"
+ },
+ "NOK": {
+ "name": "Norwegische Krone"
+ },
+ "OMR": {
+ "name": "Omanischer Rial"
+ },
+ "XCD": {
+ "name": "Ostkaribischer Dollar",
+ "symbol": "EC$"
+ },
+ "PKR": {
+ "name": "Pakistanische Rupie"
+ },
+ "PAB": {
+ "name": "Panamaischer Balboa"
+ },
+ "PGK": {
+ "name": "Papua-Neuguineischer Kina"
+ },
+ "PYG": {
+ "name": "Paraguayischer Guaraní"
+ },
+ "PEN": {
+ "name": "Peruanischer Sol"
+ },
+ "PHP": {
+ "name": "Philippinischer Peso"
+ },
+ "PLN": {
+ "name": "Polnischer Złoty"
+ },
+ "CNY": {
+ "name": "Renminbi Yuan",
+ "symbol": "CN¥"
+ },
+ "RWF": {
+ "name": "Ruanda-Franc"
+ },
+ "RON": {
+ "name": "Rumänischer Leu"
+ },
+ "RUB": {
+ "name": "Russischer Rubel"
+ },
+ "SBD": {
+ "name": "Salomonen-Dollar"
+ },
+ "WST": {
+ "name": "Samoanischer Tala"
+ },
+ "STD": {
+ "name": "São-toméischer Dobra"
+ },
+ "SAR": {
+ "name": "Saudi-Rial"
+ },
+ "SEK": {
+ "name": "Schwedische Krone"
+ },
+ "CHF": {
+ "name": "Schweizer Franken"
+ },
+ "RSD": {
+ "name": "Serbischer Dinar"
+ },
+ "SCR": {
+ "name": "Seychellen-Rupie"
+ },
+ "SLL": {
+ "name": "Sierra-leonischer Leone"
+ },
+ "ZWL": {
+ "name": "Simbabwe-Dollar (2009)"
+ },
+ "SGD": {
+ "name": "Singapur-Dollar"
+ },
+ "SOS": {
+ "name": "Somalia-Schilling"
+ },
+ "LKR": {
+ "name": "Sri-Lanka-Rupie"
+ },
+ "SHP": {
+ "name": "St. Helena-Pfund"
+ },
+ "ZAR": {
+ "name": "Südafrikanischer Rand"
+ },
+ "SDG": {
+ "name": "Sudanesisches Pfund"
+ },
+ "KRW": {
+ "name": "Südkoreanischer Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "Südsudanesisches Pfund"
+ },
+ "SRD": {
+ "name": "Suriname-Dollar"
+ },
+ "SZL": {
+ "name": "Swasiländischer Lilangeni"
+ },
+ "SYP": {
+ "name": "Syrisches Pfund"
+ },
+ "TJS": {
+ "name": "Tadschikistan-Somoni"
+ },
+ "TZS": {
+ "name": "Tansania-Schilling"
+ },
+ "THB": {
+ "name": "Thailändischer Baht",
+ "symbol": "฿"
+ },
+ "TOP": {
+ "name": "Tongaischer Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad und Tobago-Dollar"
+ },
+ "CZK": {
+ "name": "Tschechische Krone"
+ },
+ "TND": {
+ "name": "Tunesischer Dinar"
+ },
+ "TRY": {
+ "name": "Türkische Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistan-Manat"
+ },
+ "UGX": {
+ "name": "Uganda-Schilling"
+ },
+ "UAH": {
+ "name": "Ukrainische Hrywnja"
+ },
+ "HUF": {
+ "name": "Ungarischer Forint"
+ },
+ "UYU": {
+ "name": "Uruguayischer Peso"
+ },
+ "USD": {
+ "name": "US-Dollar",
+ "symbol": "$"
+ },
+ "UZS": {
+ "name": "Usbekistan-Sum"
+ },
+ "AED": {
+ "name": "VAE-Dirham"
+ },
+ "VUV": {
+ "name": "Vanuatu-Vatu"
+ },
+ "VEF": {
+ "name": "Venezolanischer Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamesischer Dong",
+ "symbol": "₫"
+ },
+ "BYN": {
+ "name": "Weißrussischer Rubel"
+ },
+ "BYR": {
+ "name": "Weißrussischer Rubel (2000–2016)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/dje.json b/vendor/commerceguys/intl/resources/currency/dje.json
new file mode 100644
index 000000000..fddc77db1
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/dje.json
@@ -0,0 +1,496 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Alžeeri Dinar"
+ },
+ "USD": {
+ "name": "Ameriki Dollar",
+ "symbol": "US$"
+ },
+ "AOA": {
+ "name": "Angoola Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahareen Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Ruble"
+ },
+ "BYR": {
+ "name": "Belarusian Ruble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswaana Pund"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "Britin Pund",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundi Fraŋ"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XOF": {
+ "name": "CFA Fraŋ (BCEAO)",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "CFA Fraŋ (BEAC)",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "ETB": {
+ "name": "Ecioopi Birr"
+ },
+ "EUR": {
+ "name": "Eero",
+ "symbol": "€"
+ },
+ "ERN": {
+ "name": "Eritree Nafka"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambi Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "ZAR": {
+ "name": "Hawasa Afriki Rand"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "INR": {
+ "name": "Indu Rupii",
+ "symbol": "₹"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JPY": {
+ "name": "Jaapoŋ Yen",
+ "symbol": "JP¥"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "DJF": {
+ "name": "Jibuuti Fraŋ"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "CAD": {
+ "name": "Kanaada Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Kapuver Escudo"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Keeniya Šiiliŋ"
+ },
+ "KMF": {
+ "name": "Komoor Fraŋ"
+ },
+ "CDF": {
+ "name": "Kongo Fraŋ"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "AED": {
+ "name": "Laaraw Immaara Margantey Dirham"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "SLL": {
+ "name": "Leeon"
+ },
+ "LSL": {
+ "name": "Leezoto Loti"
+ },
+ "LRD": {
+ "name": "Liberia Dollar"
+ },
+ "LYD": {
+ "name": "Liibi Dinar"
+ },
+ "SZL": {
+ "name": "Lilangeni"
+ },
+ "MAD": {
+ "name": "Maarok Dirham"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MWK": {
+ "name": "Malaawi Kwaca"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MGA": {
+ "name": "Malgaaši Fraŋ"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "EGP": {
+ "name": "Misra Pund"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MUR": {
+ "name": "Mooris Rupii"
+ },
+ "MRO": {
+ "name": "Mooritaani Ugiya"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NGN": {
+ "name": "Naajiriya Neera"
+ },
+ "NAD": {
+ "name": "Naamibi Dollar"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "AUD": {
+ "name": "Ostraali Dollar",
+ "symbol": "A$"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Ruble"
+ },
+ "RWF": {
+ "name": "Rwanda Fraŋ"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "Sao Tome nda Prinsipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudiya Riyal"
+ },
+ "SCR": {
+ "name": "Seešel Rupii"
+ },
+ "SHP": {
+ "name": "Seŋ Helena Fraŋ"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "CNY": {
+ "name": "Sinwa Yuan Renminbi",
+ "symbol": "CN¥"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somaali Šiiliŋ"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SDG": {
+ "name": "Suudaŋ Dinar"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swisu Fraŋ"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzaani Šiiliŋ"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunizi Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Uganda Šiiliŋ"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambi Kwaca"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/dsb.json b/vendor/commerceguys/intl/resources/currency/dsb.json
new file mode 100644
index 000000000..2a300e71f
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/dsb.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "afghaniski afgani"
+ },
+ "ALL": {
+ "name": "albański lek"
+ },
+ "DZD": {
+ "name": "algeriski dinar"
+ },
+ "USD": {
+ "name": "ameriski dolar",
+ "symbol": "$"
+ },
+ "AOA": {
+ "name": "angolska kwanza"
+ },
+ "ARS": {
+ "name": "argentinski peso"
+ },
+ "AMD": {
+ "name": "armeński dram"
+ },
+ "AWG": {
+ "name": "aruba-florin"
+ },
+ "AUD": {
+ "name": "awstralski dolar"
+ },
+ "AZN": {
+ "name": "azerbajdžaniski manat"
+ },
+ "BSD": {
+ "name": "bahamaski dolar"
+ },
+ "BHD": {
+ "name": "bahrainski dinar"
+ },
+ "BDT": {
+ "name": "bangladešska taka"
+ },
+ "BBD": {
+ "name": "barbadoski dolar"
+ },
+ "BZD": {
+ "name": "belizeski dolar"
+ },
+ "BMD": {
+ "name": "bermudaski dolar"
+ },
+ "BYN": {
+ "name": "běłoruski rubl"
+ },
+ "BYR": {
+ "name": "běłoruski rubl (2000–2016)"
+ },
+ "BTN": {
+ "name": "bhutański ngultrum"
+ },
+ "BOB": {
+ "name": "boliwiski boliviano"
+ },
+ "BAM": {
+ "name": "bosniska konwertibelna marka"
+ },
+ "BWP": {
+ "name": "botswaniska pula"
+ },
+ "BRL": {
+ "name": "brazilski real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "britiski punt",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "bruneiski dolar"
+ },
+ "BGN": {
+ "name": "bulgarski lew"
+ },
+ "BIF": {
+ "name": "burundiski frank"
+ },
+ "XOF": {
+ "name": "CFA-frank (BCEAO)",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "CFA-frank (BEAC)",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP-frank",
+ "symbol": "CFPF"
+ },
+ "CZK": {
+ "name": "česka krona"
+ },
+ "DKK": {
+ "name": "dańska krona"
+ },
+ "DOP": {
+ "name": "dominikański peso"
+ },
+ "DJF": {
+ "name": "dźibutiski frank"
+ },
+ "EGP": {
+ "name": "egyptojski punt"
+ },
+ "SVC": {
+ "name": "el-salvadorski colón"
+ },
+ "ERN": {
+ "name": "eritrejska nakfa"
+ },
+ "ETB": {
+ "name": "etiopiski birr"
+ },
+ "EUR": {
+ "name": "euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "falklandski punt"
+ },
+ "FJD": {
+ "name": "fidźiski dolar"
+ },
+ "PHP": {
+ "name": "filipinski peso"
+ },
+ "GMD": {
+ "name": "gambiski dalasi"
+ },
+ "GEL": {
+ "name": "georgiski lari"
+ },
+ "GHS": {
+ "name": "ghanaski cedi"
+ },
+ "GIP": {
+ "name": "gibraltiski punt"
+ },
+ "GTQ": {
+ "name": "guatemalski quetzal"
+ },
+ "GNF": {
+ "name": "guineski frank"
+ },
+ "GYD": {
+ "name": "guyański dolar"
+ },
+ "HTG": {
+ "name": "haitiska gourda"
+ },
+ "HNL": {
+ "name": "honduraska lempira"
+ },
+ "HKD": {
+ "name": "hongkongski dolar",
+ "symbol": "HK$"
+ },
+ "CLP": {
+ "name": "chilski peso"
+ },
+ "CNY": {
+ "name": "chinski yuan",
+ "symbol": "CN¥"
+ },
+ "HRK": {
+ "name": "chorwatska kuna"
+ },
+ "INR": {
+ "name": "indiska rupija",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "indoneska rupija"
+ },
+ "IQD": {
+ "name": "irakski dinar"
+ },
+ "IRR": {
+ "name": "irański rial"
+ },
+ "ISK": {
+ "name": "islandska krona"
+ },
+ "ILS": {
+ "name": "israelski nowy šekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "jamaiski dolar"
+ },
+ "JPY": {
+ "name": "japański yen",
+ "symbol": "¥"
+ },
+ "YER": {
+ "name": "jemeński rial"
+ },
+ "JOD": {
+ "name": "jordaniski dinar"
+ },
+ "KYD": {
+ "name": "kajmaniski dolar"
+ },
+ "KHR": {
+ "name": "kambodžaski riel"
+ },
+ "CAD": {
+ "name": "kanadiski dolar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "kapverdski escudo"
+ },
+ "QAR": {
+ "name": "katarski rial"
+ },
+ "KZT": {
+ "name": "kazachski tenge"
+ },
+ "KES": {
+ "name": "keniaski šiling"
+ },
+ "KGS": {
+ "name": "kirgiski som"
+ },
+ "COP": {
+ "name": "kolumbiski peso"
+ },
+ "KMF": {
+ "name": "komorski frank"
+ },
+ "CDF": {
+ "name": "kongoski frank"
+ },
+ "CRC": {
+ "name": "kosta-rikański colón"
+ },
+ "CUC": {
+ "name": "kubański konwertibelny peso"
+ },
+ "CUP": {
+ "name": "kubański peso"
+ },
+ "KWD": {
+ "name": "kuwaitski dinar"
+ },
+ "LAK": {
+ "name": "laoski kip"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LBP": {
+ "name": "libanoński punt"
+ },
+ "LRD": {
+ "name": "liberiski dolar"
+ },
+ "LYD": {
+ "name": "libyski dinar"
+ },
+ "MOP": {
+ "name": "macaoska pataca"
+ },
+ "MGA": {
+ "name": "madagaskarski ariary"
+ },
+ "HUF": {
+ "name": "madźarski forint"
+ },
+ "MKD": {
+ "name": "makedoński denar"
+ },
+ "MYR": {
+ "name": "malajziski ringgit"
+ },
+ "MWK": {
+ "name": "malawiski kwacha"
+ },
+ "MVR": {
+ "name": "malediwiska rupija"
+ },
+ "MAD": {
+ "name": "marokkoski dirham"
+ },
+ "MRO": {
+ "name": "mauretański ouguiya"
+ },
+ "MUR": {
+ "name": "mauriciska rupija"
+ },
+ "MXN": {
+ "name": "mexiski peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "moldawiski leu"
+ },
+ "MNT": {
+ "name": "mongolski tugrik"
+ },
+ "MZN": {
+ "name": "mosambikski metical"
+ },
+ "MMK": {
+ "name": "myanmarski kyat"
+ },
+ "NAD": {
+ "name": "namibiski dolar"
+ },
+ "NPR": {
+ "name": "nepalska rupija"
+ },
+ "NGN": {
+ "name": "nigeriska naira"
+ },
+ "NIO": {
+ "name": "nikaraguaska cordoba"
+ },
+ "ANG": {
+ "name": "nižozemsko-antilski gulden"
+ },
+ "NOK": {
+ "name": "norwegska krona"
+ },
+ "NZD": {
+ "name": "nowoseelandski dolar",
+ "symbol": "NZ$"
+ },
+ "TWD": {
+ "name": "nowy taiwański dolar",
+ "symbol": "NT$"
+ },
+ "OMR": {
+ "name": "omański rial"
+ },
+ "PKR": {
+ "name": "pakistańska rupija"
+ },
+ "PAB": {
+ "name": "panamaski balboa"
+ },
+ "PGK": {
+ "name": "papua-neuguinejska kina"
+ },
+ "PYG": {
+ "name": "paraguayski guarani"
+ },
+ "PEN": {
+ "name": "peruski nowy sol"
+ },
+ "ZAR": {
+ "name": "pódpołdnjowoafriski rand"
+ },
+ "KRW": {
+ "name": "pódpołdnjowokorejski won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "pódpołdnjowosudański punt"
+ },
+ "KPW": {
+ "name": "pódpołnocnokorejski won"
+ },
+ "XCD": {
+ "name": "pódzajtšnokaribiski dolar",
+ "symbol": "EC$"
+ },
+ "PLN": {
+ "name": "pólski złoty",
+ "symbol": "zł"
+ },
+ "RWF": {
+ "name": "ruandiski frank"
+ },
+ "RON": {
+ "name": "rumuński leu"
+ },
+ "RUB": {
+ "name": "ruski rubl"
+ },
+ "SBD": {
+ "name": "salomoński dolar"
+ },
+ "ZMW": {
+ "name": "sambiska kwacha"
+ },
+ "WST": {
+ "name": "samoaska tala"
+ },
+ "STD": {
+ "name": "são-tomeska dobra"
+ },
+ "SAR": {
+ "name": "saudi-arabiski rial"
+ },
+ "RSD": {
+ "name": "serbiski dinar"
+ },
+ "SCR": {
+ "name": "seychelska rupija"
+ },
+ "SLL": {
+ "name": "sierra-leoneski leone"
+ },
+ "SGD": {
+ "name": "singapurski dolar"
+ },
+ "SOS": {
+ "name": "somaliski šiling"
+ },
+ "LKR": {
+ "name": "sri-lankaska rupija"
+ },
+ "SHP": {
+ "name": "St. Helena punt"
+ },
+ "SDG": {
+ "name": "sudański punt"
+ },
+ "SRD": {
+ "name": "surinamski dolar"
+ },
+ "SZL": {
+ "name": "swasiski lilangeni"
+ },
+ "SYP": {
+ "name": "syriski punt"
+ },
+ "SEK": {
+ "name": "šwedska krona"
+ },
+ "CHF": {
+ "name": "šwicarski frank"
+ },
+ "TJS": {
+ "name": "tadźikiski somoni"
+ },
+ "TZS": {
+ "name": "tansaniski šiling"
+ },
+ "THB": {
+ "name": "thaiski baht",
+ "symbol": "฿"
+ },
+ "TOP": {
+ "name": "tongaski paʻanga"
+ },
+ "TTD": {
+ "name": "trinidad-tobagoski dolar"
+ },
+ "TND": {
+ "name": "tuneziski dinar"
+ },
+ "TMT": {
+ "name": "turkmeniski manat"
+ },
+ "TRY": {
+ "name": "turkojska lira"
+ },
+ "UGX": {
+ "name": "ugandaski šiling"
+ },
+ "UAH": {
+ "name": "ukrainska griwna"
+ },
+ "UYU": {
+ "name": "uruguayski peso"
+ },
+ "UZS": {
+ "name": "usbekiski sum"
+ },
+ "VUV": {
+ "name": "vanuatski vatu"
+ },
+ "VEF": {
+ "name": "venezuelski bolívar"
+ },
+ "VND": {
+ "name": "vietnamski dong",
+ "symbol": "₫"
+ },
+ "AED": {
+ "name": "ZAE dirham"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/dz.json b/vendor/commerceguys/intl/resources/currency/dz.json
new file mode 100644
index 000000000..c42b4c1a8
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/dz.json
@@ -0,0 +1,496 @@
+{
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Ruble"
+ },
+ "BYR": {
+ "name": "Belarusian Ruble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswanan Pula"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundian Franc"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "KMF": {
+ "name": "Comorian Franc"
+ },
+ "CDF": {
+ "name": "Congolese Franc"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "NAD": {
+ "name": "Namibian Dollar"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "NGN": {
+ "name": "Nigerian Naira"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RWF": {
+ "name": "Rwandan Franc"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somali Shilling"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "SHP": {
+ "name": "St. Helena Pound"
+ },
+ "SDG": {
+ "name": "Sudanese Pound"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunisian Dinar"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ },
+ "QAR": {
+ "name": "ཀ་ཊར་གྱི་དངུལ་ རི་ཨཱལ"
+ },
+ "KZT": {
+ "name": "ཀ་ཛགས་ཏཱན་གྱི་དངུལ་ ཏེང་གེ"
+ },
+ "CUP": {
+ "name": "ཀིའུ་བྷ་གི་དངུལ་ པེ་སོ"
+ },
+ "KWD": {
+ "name": "ཀུ་ཝེཊ་གི་དངུལ་ ཌི་ན"
+ },
+ "CAD": {
+ "name": "ཀེ་ན་ཌ་གི་དངུལ་ ཌོ་ལར",
+ "symbol": "CA$"
+ },
+ "KES": {
+ "name": "ཀེན་ཡ་གི་དངུལ་ ཤི་ལིང"
+ },
+ "KHR": {
+ "name": "ཀེམ་བྷོ་ཌི་ཡ་གི་དངུལ་ རི་ཨཱལ"
+ },
+ "COP": {
+ "name": "ཀོ་ལོམ་བྷི་ཡ་གི་དངུལ་ པེ་སོ"
+ },
+ "CLP": {
+ "name": "ཅི་ལི་གི་དངུལ་ པེ་སོ"
+ },
+ "JPY": {
+ "name": "ཇཱ་པཱན་གྱི་དངུལ་ ཡེན",
+ "symbol": "JP¥"
+ },
+ "JMD": {
+ "name": "ཇཱ་མཻ་ཀ་གི་དངུལ་ ཌོ་ལར"
+ },
+ "JOD": {
+ "name": "ཇོར་ཌན་གྱི་དངུལ་ ཌི་ན"
+ },
+ "TZS": {
+ "name": "ཊཱན་ཛཱ་ནི་ཡ་གི་དངུལ་ ཤི་ལིང"
+ },
+ "TWD": {
+ "name": "ཊཱའི་ཝཱན་གི་དངུལ ཌོ་ལར",
+ "symbol": "NT$"
+ },
+ "TRY": {
+ "name": "ཊཱར་ཀི་གི་དངུལ་ ལི་ར"
+ },
+ "DKK": {
+ "name": "ཌེན་མཱཀ་གི་དངུལ་ ཀྲོན"
+ },
+ "TJS": {
+ "name": "ཏ་ཇི་ཀིས་ཏཱན་གྱི་དངུལ་ སོ་མོ་ནི"
+ },
+ "THB": {
+ "name": "ཐཱའི་ལེནཌ་གི་དངུལ་ བཱཏ",
+ "symbol": "TH฿"
+ },
+ "BTN": {
+ "name": "དངུལ་ཀྲམ",
+ "symbol": "Nu."
+ },
+ "NZD": {
+ "name": "ནིའུ་ཛི་ལེནཌ་གི་དངུལ་ ཌོ་ལར",
+ "symbol": "NZ$"
+ },
+ "NOK": {
+ "name": "ནོར་ཝེ་གི་དངུལ་ ཀྲོ་ན"
+ },
+ "KPW": {
+ "name": "ནོརཐ་ ཀོ་རི་ཡ་གི་དངུལ་ ཝོན"
+ },
+ "PKR": {
+ "name": "པ་ཀིས་ཏཱན་གྱི་དངུལ་ རུ་པི"
+ },
+ "PAB": {
+ "name": "པ་ན་མ་གི་དངུལ་ བཱལ་བོ་ཝ"
+ },
+ "PEN": {
+ "name": "པ་རུ་གི་དངུལ་ ནུ་བོ་ སཱོལ"
+ },
+ "PLN": {
+ "name": "པོ་ལེནཌ་ཀྱི་དངུལ ཛ྄ལོ་ཊི"
+ },
+ "PHP": {
+ "name": "ཕི་ལི་པིནས་གྱི་དངུལ་ པེ་སོ"
+ },
+ "BMD": {
+ "name": "བར་མུ་ཌ་གི་དངུལ་ ཌོ་ལར"
+ },
+ "BRL": {
+ "name": "བྲ་ཛིལ་གྱི་དངུལ་ རེ་ཡལ",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "བྲི་ཊིཤ་ པ་འུནཌ་ ཨིས་ཊར་ལིང",
+ "symbol": "£"
+ },
+ "NPR": {
+ "name": "བལ་པོའི་དངུལ་ རུ་པི"
+ },
+ "BDT": {
+ "name": "བྷང་ལ་དེཤ་གི་དངུལ་ ཏ་ཀ"
+ },
+ "VEF": {
+ "name": "བེ་ནི་ཛུ་ཝེ་ལ་གི་དངུལ་ བོ་ལི་བར"
+ },
+ "VND": {
+ "name": "བེཊ་ནཱམ་གྱི་དངུལ་ ཌོང",
+ "symbol": "₫"
+ },
+ "MYR": {
+ "name": "མ་ལེ་ཤི་ཡ་གི་དངུལ་ རིང་གིཊ"
+ },
+ "MVR": {
+ "name": "མཱལ་དིབས་ཀྱི་དངུལ་ རུ་ཕི་ཡ"
+ },
+ "MMK": {
+ "name": "མི་ཡཱན་མར་གྱི་དངུལ་ ཅཱཏ"
+ },
+ "MXN": {
+ "name": "མེཀ་སི་ཀོ་གི་དངུལ་ པེ་སོ",
+ "symbol": "MX$"
+ },
+ "MAD": {
+ "name": "མོ་རོ་ཀོ་གི་དངུལ་ ཌིར་ཧཱམ"
+ },
+ "UGX": {
+ "name": "ཡུ་གྷེན་ཌ་གི་དངུལ་ ཤི་ལིང"
+ },
+ "AED": {
+ "name": "ཡུ་ནཱའི་ཊེཌ་ ཨ་རབ་ ཨེ་མེ་རེཊས་ཀྱི་དངུལ་ ཌིར་ཧཱམ"
+ },
+ "UYU": {
+ "name": "ཡུ་རུ་གུ་ཝའི་གི་དངུལ་ པེ་སོ"
+ },
+ "EUR": {
+ "name": "ཡུ་རོ༌དངུལ་",
+ "symbol": "€"
+ },
+ "USD": {
+ "name": "ཡུ་ཨེས་ ཌོ་ལར",
+ "symbol": "US$"
+ },
+ "INR": {
+ "name": "རྒྱ་གར་གྱི་དངུལ་ རུ་པི",
+ "symbol": "₹"
+ },
+ "CNY": {
+ "name": "རྒྱ་ནག་གི་དངུལ་ ཡུ་ཝཱན",
+ "symbol": "CN¥"
+ },
+ "LAK": {
+ "name": "ལཱ་ཝོས་ཀྱི་དངུལ་ ཀིཔ"
+ },
+ "LRD": {
+ "name": "ལཱའི་བེ་རི་ཡ་གི་དངུལ་ ཌོ་ལར"
+ },
+ "LYD": {
+ "name": "ལི་བི་ཡ་གི་དངུལ་ ཌི་ན"
+ },
+ "LBP": {
+ "name": "ལེ་བ་ནོན་གྱི་དངུལ་ པ་འུནཌ"
+ },
+ "LKR": {
+ "name": "ཤྲི་ ལང་ཀ་གི་དངུལ་ རུ་པི"
+ },
+ "SAR": {
+ "name": "སཱཝ་དིའི་དངུལ་ རི་ཡཱལ"
+ },
+ "KRW": {
+ "name": "སཱའུཐ་ ཀོ་རི་ཡ་གི་དངུལ་ ཝོན",
+ "symbol": "KR₩"
+ },
+ "ZAR": {
+ "name": "སཱའུཐ་ ཨཕ་རི་ཀ་གི་དངུལ་ རཱནད"
+ },
+ "SYP": {
+ "name": "སི་རི་ཡ་གི་དངུལ་ པ་འུནཌ"
+ },
+ "SGD": {
+ "name": "སིང་ག་པོར་གྱི་དངུལ་ ཌོ་ལར"
+ },
+ "CHF": {
+ "name": "སུ་ཡིས་ཀྱི་དངུལ་ ཕྲངཀ"
+ },
+ "SEK": {
+ "name": "སུའི་ཌེན་གྱི་དངུལ་ ཀྲོ་ན"
+ },
+ "SCR": {
+ "name": "སེ་ཤཱལས་ཀྱི་དངུལ་ རུ་པི"
+ },
+ "MNT": {
+ "name": "སོག་པོའི་དངུལ་ ཏུ་གྲིཀ"
+ },
+ "HKD": {
+ "name": "ཧོང་ཀོང་གི་དངུལ་ ཌོ་ལར",
+ "symbol": "HK$"
+ },
+ "AFN": {
+ "name": "ཨཕ་གཱན་གྱི་དངུལ་ ཨཕ་ག་ནི"
+ },
+ "ISK": {
+ "name": "ཨཱཡིས་ལེནཌ་གི་དངུལ་ ཀྲོ་ན"
+ },
+ "DZD": {
+ "name": "ཨཱལ་ཇི་རི་ཡ་གི་དངུལ་ ཌའི་ནར"
+ },
+ "AUD": {
+ "name": "ཨཱོས་ཊྲེ་ལི་ཡ་གི་དངུལ་ ཌོ་ལར",
+ "symbol": "AU$"
+ },
+ "EGP": {
+ "name": "ཨི་ཇིབཊ་གི་དངུལ་ པ་འུནཌ"
+ },
+ "IQD": {
+ "name": "ཨི་རཱཀ་གི་དངུལ་ ཌི་ན"
+ },
+ "IRR": {
+ "name": "ཨི་རཱན་གྱི་དངུལ་ རི་ཨཱལ"
+ },
+ "IDR": {
+ "name": "ཨིན་ཌོ་ནེ་ཤི་ཡ་གི་དངུལ་ རུ་པི་ཡ"
+ },
+ "ILS": {
+ "name": "ཨིས་རེལ་གྱི་དངུལ་གསརཔ་ ཤེ་ཀེལ"
+ },
+ "RUB": {
+ "name": "ཨུ་རུ་སུ་གི་དངུལ་ རུ་བཱལ"
+ },
+ "UZS": {
+ "name": "ཨུས་བེ་ཀིས་ཏཱན་གྱི་དངུལ་ སོམ"
+ },
+ "OMR": {
+ "name": "ཨོ་མཱན་གྱི་དངུལ་ རི་ཨཱལ"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/ebu.json b/vendor/commerceguys/intl/resources/currency/ebu.json
new file mode 100644
index 000000000..c52936dfa
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/ebu.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "MGA": {
+ "name": "Ariary ya Bukini"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Ruble"
+ },
+ "BYR": {
+ "name": "Belarusian Ruble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "ETB": {
+ "name": "Bir ya Uhabeshi"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "GMD": {
+ "name": "Dalasi ya Gambia"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DZD": {
+ "name": "Dinari ya Aljeria"
+ },
+ "BHD": {
+ "name": "Dinari ya Bahareni"
+ },
+ "LYD": {
+ "name": "Dinari ya Libya"
+ },
+ "TND": {
+ "name": "Dinari ya Tunisia"
+ },
+ "AED": {
+ "name": "Dirham ya Falme za Kiarabu"
+ },
+ "MAD": {
+ "name": "Dirham ya Moroko"
+ },
+ "STD": {
+ "name": "Dobra ya Sao Tome na Principe"
+ },
+ "CAD": {
+ "name": "Dola ya Kanada",
+ "symbol": "CA$"
+ },
+ "LRD": {
+ "name": "Dola ya Liberia"
+ },
+ "USD": {
+ "name": "Dola ya Marekani",
+ "symbol": "US$"
+ },
+ "NAD": {
+ "name": "Dola ya Namibia"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "AUD": {
+ "name": "Dora ya Australia",
+ "symbol": "A$"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "CVE": {
+ "name": "Eskudo ya Kepuvede"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "XOF": {
+ "name": "Faranga CFA BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Faranga CFA BEAC",
+ "symbol": "FCFA"
+ },
+ "BIF": {
+ "name": "Faranga ya Burundi"
+ },
+ "DJF": {
+ "name": "Faranga ya Jibuti"
+ },
+ "KMF": {
+ "name": "Faranga ya Komoro"
+ },
+ "CDF": {
+ "name": "Faranga ya Kongo"
+ },
+ "RWF": {
+ "name": "Faranga ya Rwanda"
+ },
+ "CHF": {
+ "name": "Faranga ya Uswisi"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "MWK": {
+ "name": "Kwacha ya Malawi"
+ },
+ "ZMW": {
+ "name": "Kwacha ya Zambia"
+ },
+ "AOA": {
+ "name": "Kwanza ya Angola"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "SLL": {
+ "name": "Leoni"
+ },
+ "SZL": {
+ "name": "Lilangeni"
+ },
+ "LSL": {
+ "name": "Loti ya Lesoto"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NGN": {
+ "name": "Naira ya Nijeria"
+ },
+ "ERN": {
+ "name": "Nakfa ya Eritrea"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "EGP": {
+ "name": "Pauni ya Misri"
+ },
+ "SHP": {
+ "name": "Pauni ya Santahelena"
+ },
+ "SDG": {
+ "name": "Pauni ya Sudani"
+ },
+ "GBP": {
+ "name": "Pauni ya Uingereza",
+ "symbol": "£"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "BWP": {
+ "name": "Pula ya Botswana"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "ZAR": {
+ "name": "Randi ya Afrika Kusini"
+ },
+ "SAR": {
+ "name": "Riyal ya Saudia"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "INR": {
+ "name": "Rupia ya India",
+ "symbol": "₹"
+ },
+ "MUR": {
+ "name": "Rupia ya Morisi"
+ },
+ "SCR": {
+ "name": "Rupia ya Shelisheli"
+ },
+ "RUB": {
+ "name": "Russian Ruble"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "JPY": {
+ "name": "Sarafu ya Kijapani",
+ "symbol": "JP¥"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "KES": {
+ "name": "Shilingi ya Kenya",
+ "symbol": "Ksh"
+ },
+ "SOS": {
+ "name": "Shilingi ya Somalia"
+ },
+ "TZS": {
+ "name": "Shilingi ya Tanzania"
+ },
+ "UGX": {
+ "name": "Shilingi ya Uganda"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "MRO": {
+ "name": "Ugwiya ya Moritania"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "CNY": {
+ "name": "Yuan Renminbi ya China",
+ "symbol": "CN¥"
+ },
+ "EUR": {
+ "name": "Yuro",
+ "symbol": "€"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/ee.json b/vendor/commerceguys/intl/resources/currency/ee.json
new file mode 100644
index 000000000..97041dc96
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/ee.json
@@ -0,0 +1,498 @@
+{
+ "AFN": {
+ "name": "afghanistanga afghani"
+ },
+ "ISK": {
+ "name": "aiselandga króna"
+ },
+ "ALL": {
+ "name": "albaniaga lek"
+ },
+ "DZD": {
+ "name": "aldzeriaga dinar"
+ },
+ "AOA": {
+ "name": "angolaga kwanza"
+ },
+ "ARS": {
+ "name": "argentinaga peso"
+ },
+ "AMD": {
+ "name": "armeniaga dram"
+ },
+ "AWG": {
+ "name": "arubaga lorin"
+ },
+ "AUD": {
+ "name": "Australiaga dollar",
+ "symbol": "AU$"
+ },
+ "AZN": {
+ "name": "azerbaidzanga manat"
+ },
+ "BSD": {
+ "name": "bahamiaga dollar"
+ },
+ "BHD": {
+ "name": "bahrainga dinar"
+ },
+ "BDT": {
+ "name": "bangladeshga taka"
+ },
+ "BBD": {
+ "name": "barbadiaga dollar"
+ },
+ "BYN": {
+ "name": "belarusiaga ruble"
+ },
+ "BYR": {
+ "name": "belarusiaga ruble (2000–2016)"
+ },
+ "BZD": {
+ "name": "belizega dollar"
+ },
+ "BMD": {
+ "name": "bermudaga dollar"
+ },
+ "BTN": {
+ "name": "bhutanga ngultrum"
+ },
+ "BOB": {
+ "name": "boliviaga boliviano"
+ },
+ "BAM": {
+ "name": "bosnia-herzegovinaga convertible mark"
+ },
+ "BWP": {
+ "name": "botswanaga pula"
+ },
+ "BRL": {
+ "name": "Braziliaga real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "Britishga pound",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "bruneiga dollar"
+ },
+ "BGN": {
+ "name": "bulgariaga lev"
+ },
+ "BIF": {
+ "name": "burundiga franc"
+ },
+ "CAD": {
+ "name": "Canadaga dollar",
+ "symbol": "CA$"
+ },
+ "XPF": {
+ "name": "CFP ga franc",
+ "symbol": "CFPF"
+ },
+ "CNY": {
+ "name": "Chinesega yuan",
+ "symbol": "CN¥"
+ },
+ "DKK": {
+ "name": "Denmarkga krone"
+ },
+ "DOP": {
+ "name": "dominicaga peso"
+ },
+ "JMD": {
+ "name": "dzamaikaga dollar"
+ },
+ "DJF": {
+ "name": "dziboutiga franc"
+ },
+ "KPW": {
+ "name": "dziehe koreaga won"
+ },
+ "GEL": {
+ "name": "dzɔdziaga lari"
+ },
+ "EGP": {
+ "name": "egyptega pound"
+ },
+ "ERN": {
+ "name": "eritreaga nakfa"
+ },
+ "ETB": {
+ "name": "ethiopiaga birr"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "falklanɖ ƒudomekpo dukɔwo ƒe ga pound"
+ },
+ "FJD": {
+ "name": "fidziga dollar"
+ },
+ "PHP": {
+ "name": "filipiniga peso"
+ },
+ "GMD": {
+ "name": "gambiaga dalasi"
+ },
+ "GHS": {
+ "name": "ghana siɖi",
+ "symbol": "GH₵"
+ },
+ "GIP": {
+ "name": "gilbrataga pound"
+ },
+ "GNF": {
+ "name": "giniga franc"
+ },
+ "GTQ": {
+ "name": "guatemalaga quetzal"
+ },
+ "GYD": {
+ "name": "guyanaga dollar"
+ },
+ "XCD": {
+ "name": "ɣedzeƒe caribbeaga dollar",
+ "symbol": "EC$"
+ },
+ "XOF": {
+ "name": "ɣetoɖofe afrikaga CFA franc BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "ɣetoɖofe afrikaga CFA franc BEAC",
+ "symbol": "FCFA"
+ },
+ "HTG": {
+ "name": "haitiga gourde"
+ },
+ "HNL": {
+ "name": "honduraga lempira"
+ },
+ "HKD": {
+ "name": "Hong Kongga dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "hungariaga forint"
+ },
+ "INR": {
+ "name": "Indiaga rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesiaga rupiah"
+ },
+ "IQD": {
+ "name": "irakga dinar"
+ },
+ "IRR": {
+ "name": "iranga rial"
+ },
+ "ILS": {
+ "name": "israelga yeyetɔ sheqel",
+ "symbol": "₪"
+ },
+ "JPY": {
+ "name": "Japanesega yen",
+ "symbol": "JP¥"
+ },
+ "KHR": {
+ "name": "kambodiaga riel"
+ },
+ "CVE": {
+ "name": "kape verdega escudo"
+ },
+ "QAR": {
+ "name": "katarga rial"
+ },
+ "KYD": {
+ "name": "kayman ƒudomekpoga dollar"
+ },
+ "KZT": {
+ "name": "kazakhstanga tenge"
+ },
+ "KES": {
+ "name": "kenyaga shilling"
+ },
+ "KGS": {
+ "name": "kirgistanga som"
+ },
+ "COP": {
+ "name": "kolombiaga peso"
+ },
+ "KMF": {
+ "name": "komoroga franc"
+ },
+ "CDF": {
+ "name": "kongoga franc"
+ },
+ "CRC": {
+ "name": "kosta rikaga kolón"
+ },
+ "HRK": {
+ "name": "kroatiaga kuna"
+ },
+ "CUC": {
+ "name": "kubaga convertible peso"
+ },
+ "CUP": {
+ "name": "kubaga peso"
+ },
+ "KWD": {
+ "name": "kuwaitga dinar"
+ },
+ "LAK": {
+ "name": "laosga kip"
+ },
+ "LBP": {
+ "name": "lebanonga pound"
+ },
+ "LSL": {
+ "name": "lesotoga loti"
+ },
+ "LRD": {
+ "name": "liberiaga dollar"
+ },
+ "LYD": {
+ "name": "libyaga dinar"
+ },
+ "MOP": {
+ "name": "makanesega pataca"
+ },
+ "MKD": {
+ "name": "makedoniaga denar"
+ },
+ "MGA": {
+ "name": "malagasega ariary"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha"
+ },
+ "MYR": {
+ "name": "malaysiaga ringit"
+ },
+ "MVR": {
+ "name": "maldiviaga rufiyaa"
+ },
+ "MXN": {
+ "name": "Mexicoga peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "moldovaga leu"
+ },
+ "MNT": {
+ "name": "mongoliaga tugrik"
+ },
+ "MAD": {
+ "name": "morokoga dirham"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MRO": {
+ "name": "mɔritaniaga ouguiya"
+ },
+ "MUR": {
+ "name": "mɔritiusga rupee"
+ },
+ "MMK": {
+ "name": "myanmaga kyat"
+ },
+ "NGN": {
+ "name": "naidzeriaga naira"
+ },
+ "NAD": {
+ "name": "Namibian Dollar"
+ },
+ "ANG": {
+ "name": "nedalands antilleaga guilder"
+ },
+ "NPR": {
+ "name": "nepalga rupee"
+ },
+ "NZD": {
+ "name": "new zealanɖga dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "nikaraguaga córdoba"
+ },
+ "NOK": {
+ "name": "Norwayga krone"
+ },
+ "OMR": {
+ "name": "omanga rial"
+ },
+ "PKR": {
+ "name": "pakistaniga rupee"
+ },
+ "PAB": {
+ "name": "panamaga balboa"
+ },
+ "PGK": {
+ "name": "papua new guineaga kina"
+ },
+ "PYG": {
+ "name": "paraguayga guarani"
+ },
+ "PEN": {
+ "name": "peruga nuevo sol"
+ },
+ "PLN": {
+ "name": "polanɖga zloty"
+ },
+ "RON": {
+ "name": "romaniaga leu"
+ },
+ "RUB": {
+ "name": "Russiaga ruble"
+ },
+ "RWF": {
+ "name": "rwandaga franc"
+ },
+ "SHP": {
+ "name": "saint helenaga pound"
+ },
+ "SVC": {
+ "name": "salvadɔga colón"
+ },
+ "WST": {
+ "name": "samaoga tala"
+ },
+ "STD": {
+ "name": "são tomé kple príncipega dobra"
+ },
+ "SAR": {
+ "name": "Saudi Arabiaga riyal"
+ },
+ "RSD": {
+ "name": "serbiaga dinar"
+ },
+ "SCR": {
+ "name": "sɛtselsga rupee"
+ },
+ "SLL": {
+ "name": "sierra leonega leone"
+ },
+ "SGD": {
+ "name": "singapɔga dollar"
+ },
+ "SBD": {
+ "name": "solomon ƒudomekpo dukɔwo ƒe ga dollar"
+ },
+ "SOS": {
+ "name": "somaliaga shilling"
+ },
+ "ZAR": {
+ "name": "South Africaga rand"
+ },
+ "KRW": {
+ "name": "South Koreaga won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "sri lankaga rupee"
+ },
+ "SDG": {
+ "name": "sudanga pound"
+ },
+ "SRD": {
+ "name": "surinamga dollar"
+ },
+ "SZL": {
+ "name": "swaziga lilangeni"
+ },
+ "SEK": {
+ "name": "Swedishga krone"
+ },
+ "CHF": {
+ "name": "Swissga franc"
+ },
+ "SYP": {
+ "name": "syriaga pound"
+ },
+ "TWD": {
+ "name": "Taiwanga dollar",
+ "symbol": "NT$"
+ },
+ "TJS": {
+ "name": "tajikistanga somoni"
+ },
+ "TZS": {
+ "name": "Tanzaniatɔwofɛgadudu"
+ },
+ "THB": {
+ "name": "Thailandga baht",
+ "symbol": "฿"
+ },
+ "TOP": {
+ "name": "tonagaga pa’anga"
+ },
+ "TTD": {
+ "name": "trinidad kple tobagoga dollar"
+ },
+ "TND": {
+ "name": "tunisiaga dinar"
+ },
+ "TRY": {
+ "name": "Turkishga lira"
+ },
+ "TMT": {
+ "name": "turkmenistanga manat"
+ },
+ "CZK": {
+ "name": "tsɛk repɔblikga koruna"
+ },
+ "CLP": {
+ "name": "tsilega peso"
+ },
+ "UGX": {
+ "name": "ugandaga shilling"
+ },
+ "UAH": {
+ "name": "ukrainega hryvnia"
+ },
+ "AED": {
+ "name": "united arab emiratesga dirham"
+ },
+ "UYU": {
+ "name": "uruguayga peso"
+ },
+ "USD": {
+ "name": "US ga dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "uzbekistanga som"
+ },
+ "VUV": {
+ "name": "vanuatuga vatu"
+ },
+ "VEF": {
+ "name": "venezuelaga bolívar"
+ },
+ "VND": {
+ "name": "vietnamga dong",
+ "symbol": "₫"
+ },
+ "YER": {
+ "name": "yemeniga rial"
+ },
+ "JOD": {
+ "name": "yɔdanga dinar"
+ },
+ "ZMW": {
+ "name": "zambiaga kwacha"
+ },
+ "ZWL": {
+ "name": "zimbabwega dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/el.json b/vendor/commerceguys/intl/resources/currency/el.json
new file mode 100644
index 000000000..a39940800
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/el.json
@@ -0,0 +1,497 @@
+{
+ "MGA": {
+ "name": "Αριάρι Μαδαγασκάρης"
+ },
+ "AFN": {
+ "name": "Αφγάνι Αφγανιστάν"
+ },
+ "VUV": {
+ "name": "Βατού Βανουάτου"
+ },
+ "JPY": {
+ "name": "Γιεν Ιαπωνίας",
+ "symbol": "JP¥"
+ },
+ "ANG": {
+ "name": "Γκίλντα Ολλανδικών Αντιλλών"
+ },
+ "PYG": {
+ "name": "Γκουαρανί Παραγουάης"
+ },
+ "HTG": {
+ "name": "Γκουρντ Αϊτής"
+ },
+ "CNY": {
+ "name": "Γουάν Κίνας",
+ "symbol": "CN¥"
+ },
+ "KPW": {
+ "name": "Γουόν Βόρειας Κορέας"
+ },
+ "KRW": {
+ "name": "Γουόν Νότιας Κορέας",
+ "symbol": "₩"
+ },
+ "UAH": {
+ "name": "Γρίβνα Ουκρανίας"
+ },
+ "DZD": {
+ "name": "Δηνάριο Αλγερίας"
+ },
+ "JOD": {
+ "name": "Δηνάριο Ιορδανίας"
+ },
+ "IQD": {
+ "name": "Δηνάριο Ιράκ"
+ },
+ "KWD": {
+ "name": "Δηνάριο Κουβέιτ"
+ },
+ "LYD": {
+ "name": "Δηνάριο Λιβύης"
+ },
+ "BHD": {
+ "name": "Δηνάριο Μπαχρέιν"
+ },
+ "MKD": {
+ "name": "Δηνάριο ΠΓΔΜ"
+ },
+ "RSD": {
+ "name": "Δηνάριο Σερβίας"
+ },
+ "TND": {
+ "name": "Δηνάριο Τυνησίας"
+ },
+ "XCD": {
+ "name": "Δολάριο Ανατολικής Καραϊβικής",
+ "symbol": "EC$"
+ },
+ "AUD": {
+ "name": "Δολάριο Αυστραλίας",
+ "symbol": "A$"
+ },
+ "BMD": {
+ "name": "Δολάριο Βερμούδων"
+ },
+ "GYD": {
+ "name": "Δολάριο Γουιάνας"
+ },
+ "ZWL": {
+ "name": "Δολάριο Ζιμπάμπουε (2009)"
+ },
+ "USD": {
+ "name": "Δολάριο ΗΠΑ",
+ "symbol": "$"
+ },
+ "CAD": {
+ "name": "Δολάριο Καναδά",
+ "symbol": "CA$"
+ },
+ "LRD": {
+ "name": "Δολάριο Λιβερίας"
+ },
+ "BBD": {
+ "name": "Δολάριο Μπαρμπέιντος"
+ },
+ "BSD": {
+ "name": "Δολάριο Μπαχαμών"
+ },
+ "BZD": {
+ "name": "Δολάριο Μπελίζ"
+ },
+ "BND": {
+ "name": "Δολάριο Μπρουνέι"
+ },
+ "NAD": {
+ "name": "Δολάριο Ναμίμπια"
+ },
+ "NZD": {
+ "name": "Δολάριο Νέας Ζηλανδίας",
+ "symbol": "NZ$"
+ },
+ "KYD": {
+ "name": "Δολάριο Νήσων Κέιμαν"
+ },
+ "SBD": {
+ "name": "Δολάριο Νήσων Σολομώντος"
+ },
+ "SGD": {
+ "name": "Δολάριο Σιγκαπούρης"
+ },
+ "SRD": {
+ "name": "Δολάριο Σουρινάμ"
+ },
+ "JMD": {
+ "name": "Δολάριο Τζαμάικας"
+ },
+ "TTD": {
+ "name": "Δολάριο Τρινιντάντ και Τομπάγκο"
+ },
+ "FJD": {
+ "name": "Δολάριο Φίτζι"
+ },
+ "HKD": {
+ "name": "Δολάριο Χονγκ Κονγκ",
+ "symbol": "HK$"
+ },
+ "CVE": {
+ "name": "Εσκούδο Πράσινου Ακρωτηρίου"
+ },
+ "EUR": {
+ "name": "Ευρώ",
+ "symbol": "€"
+ },
+ "PLN": {
+ "name": "Ζλότι Πολωνίας"
+ },
+ "MMK": {
+ "name": "Κιάτ Μιανμάρ"
+ },
+ "PGK": {
+ "name": "Κίνα Παπούας Νέας Γουινέας"
+ },
+ "LAK": {
+ "name": "Κιπ Λάος"
+ },
+ "SVC": {
+ "name": "Κολόν Ελ Σαλβαδόρ"
+ },
+ "CRC": {
+ "name": "Κολόν Κόστα Ρίκα"
+ },
+ "DKK": {
+ "name": "Κορόνα Δανίας"
+ },
+ "ISK": {
+ "name": "Κορόνα Ισλανδίας"
+ },
+ "NOK": {
+ "name": "Κορόνα Νορβηγίας"
+ },
+ "SEK": {
+ "name": "Κορόνα Σουηδίας"
+ },
+ "CZK": {
+ "name": "Κορόνα Τσεχίας"
+ },
+ "AOA": {
+ "name": "Κουάνζα Ανγκόλας"
+ },
+ "ZMW": {
+ "name": "Κουάτσα Ζάμπιας"
+ },
+ "MWK": {
+ "name": "Κουάτσα Μαλάουι"
+ },
+ "GTQ": {
+ "name": "Κουετσάλ Γουατεμάλας"
+ },
+ "HRK": {
+ "name": "Κούνα Κροατίας"
+ },
+ "GEL": {
+ "name": "Λάρι Γεωργίας"
+ },
+ "BGN": {
+ "name": "Λεβ Βουλγαρίας"
+ },
+ "ALL": {
+ "name": "Λεκ Αλβανίας"
+ },
+ "HNL": {
+ "name": "Λεμπίρα Ονδούρας"
+ },
+ "SLL": {
+ "name": "Λεόνε Σιέρα Λεόνε"
+ },
+ "MDL": {
+ "name": "Λέου Μολδαβίας"
+ },
+ "RON": {
+ "name": "Λέου Ρουμανίας"
+ },
+ "SZL": {
+ "name": "Λιλανγκένι Σουαζιλάνδης"
+ },
+ "SHP": {
+ "name": "Λίρα Αγίας Ελένης"
+ },
+ "EGP": {
+ "name": "Λίρα Αιγύπτου"
+ },
+ "GIP": {
+ "name": "Λίρα Γιβραλτάρ"
+ },
+ "LBP": {
+ "name": "Λίρα Λιβάνου"
+ },
+ "FKP": {
+ "name": "Λίρα Νησιών Φώκλαντ"
+ },
+ "SSP": {
+ "name": "Λίρα Νότιου Σουδάν"
+ },
+ "SDG": {
+ "name": "Λίρα Σουδάν"
+ },
+ "GBP": {
+ "name": "Λίρα Στερλίνα Βρετανίας",
+ "symbol": "£"
+ },
+ "SYP": {
+ "name": "Λίρα Συρίας"
+ },
+ "TRY": {
+ "name": "Λίρα Τουρκίας"
+ },
+ "LSL": {
+ "name": "Λότι Λεσότο"
+ },
+ "AZN": {
+ "name": "Μανάτ Αζερμπαϊτζάν"
+ },
+ "TMT": {
+ "name": "Μάνατ Τουρκμενιστάν"
+ },
+ "BAM": {
+ "name": "Μετατρέψιμο Μάρκο Βοσνίας-Ερζεγοβίνης"
+ },
+ "CUC": {
+ "name": "Μετατρέψιμο πέσο Κούβας"
+ },
+ "MZN": {
+ "name": "Μετικάλ Μοζαμβίκης"
+ },
+ "PAB": {
+ "name": "Μπαλμπόα Παναμά"
+ },
+ "THB": {
+ "name": "Μπατ Ταϊλάνδης",
+ "symbol": "฿"
+ },
+ "ETB": {
+ "name": "Μπιρ Αιθιοπίας"
+ },
+ "VEF": {
+ "name": "Μπολιβάρ Βενεζουέλας"
+ },
+ "BOB": {
+ "name": "Μπολιβιάνο Βολιβίας"
+ },
+ "NGN": {
+ "name": "Νάιρα Νιγηρίας"
+ },
+ "ERN": {
+ "name": "Νάκφα Ερυθραίας"
+ },
+ "BTN": {
+ "name": "Νγκούλτρουμ Μπουτάν"
+ },
+ "TWD": {
+ "name": "Νέο δολάριο Ταϊβάν",
+ "symbol": "NT$"
+ },
+ "ILS": {
+ "name": "Νέο Σέκελ Ισραήλ",
+ "symbol": "₪"
+ },
+ "PEN": {
+ "name": "Νέο Σολ Περού"
+ },
+ "GMD": {
+ "name": "Νταλάσι Γκάμπιας"
+ },
+ "AED": {
+ "name": "Ντιράμ Ηνωμένων Αραβικών Εμιράτων"
+ },
+ "MAD": {
+ "name": "Ντιράμ Μαρόκου"
+ },
+ "STD": {
+ "name": "Ντόμπρα Σάο Τομέ και Πρίνσιπε"
+ },
+ "VND": {
+ "name": "Ντονγκ Βιετνάμ",
+ "symbol": "₫"
+ },
+ "AMD": {
+ "name": "Ντραμ Αρμενίας"
+ },
+ "MRO": {
+ "name": "Ουγκίγια Μαυριτανίας"
+ },
+ "TOP": {
+ "name": "Παάγκα νήσων Τόγκα"
+ },
+ "MOP": {
+ "name": "Πατάκα Μακάο"
+ },
+ "ARS": {
+ "name": "Πέσο Αργεντινής"
+ },
+ "DOP": {
+ "name": "Πέσο Δομινικανής Δημοκρατίας"
+ },
+ "COP": {
+ "name": "Πέσο Κολομβίας"
+ },
+ "CUP": {
+ "name": "Πέσο Κούβας"
+ },
+ "MXN": {
+ "name": "Πέσο Μεξικού",
+ "symbol": "MX$"
+ },
+ "UYU": {
+ "name": "Πέσο Ουρουγουάης"
+ },
+ "PHP": {
+ "name": "Πέσο Φιλιππίνων"
+ },
+ "CLP": {
+ "name": "Πέσο Χιλής"
+ },
+ "BWP": {
+ "name": "Πούλα Μποτσουάνας"
+ },
+ "ZAR": {
+ "name": "Ραντ Νότιας Αφρικής"
+ },
+ "BRL": {
+ "name": "Ρεάλ Βραζιλίας",
+ "symbol": "R$"
+ },
+ "IRR": {
+ "name": "Ριάλ Ιράν"
+ },
+ "QAR": {
+ "name": "Ριάλ Κατάρ"
+ },
+ "OMR": {
+ "name": "Ριάλ Ομάν"
+ },
+ "SAR": {
+ "name": "Ριάλ Σαουδικής Αραβίας"
+ },
+ "YER": {
+ "name": "Ριάλ Υεμένης"
+ },
+ "KHR": {
+ "name": "Ρίελ Καμπότζης"
+ },
+ "MYR": {
+ "name": "Ρινγκίτ Μαλαισίας"
+ },
+ "BYN": {
+ "name": "Ρούβλι Λευκορωσίας"
+ },
+ "BYR": {
+ "name": "Ρούβλι Λευκορωσίας (2000–2016)"
+ },
+ "RUB": {
+ "name": "Ρούβλι Ρωσίας"
+ },
+ "INR": {
+ "name": "Ρουπία Ινδίας",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Ρουπία Ινδονησίας"
+ },
+ "MUR": {
+ "name": "Ρουπία Μαυρικίου"
+ },
+ "NPR": {
+ "name": "Ρουπία Νεπάλ"
+ },
+ "PKR": {
+ "name": "Ρουπία Πακιστάν"
+ },
+ "SCR": {
+ "name": "Ρουπία Σεϋχελλών"
+ },
+ "LKR": {
+ "name": "Ρουπία Σρι Λάνκα"
+ },
+ "MVR": {
+ "name": "Ρουφίγια Μαλδίβων"
+ },
+ "KES": {
+ "name": "Σελίνι Κένυας"
+ },
+ "UGX": {
+ "name": "Σελίνι Ουγκάντας"
+ },
+ "SOS": {
+ "name": "Σελίνι Σομαλίας"
+ },
+ "TZS": {
+ "name": "Σελίνι Τανζανίας"
+ },
+ "GHS": {
+ "name": "Σέντι Γκάνας"
+ },
+ "KGS": {
+ "name": "Σομ Κιργιζίας"
+ },
+ "UZS": {
+ "name": "Σομ Ουζμπεκιστάν"
+ },
+ "TJS": {
+ "name": "Σομόνι Τατζικιστάν"
+ },
+ "BDT": {
+ "name": "Τάκα Μπαγκλαντές"
+ },
+ "WST": {
+ "name": "Τάλα Σαμόα"
+ },
+ "KZT": {
+ "name": "Τένγκε Καζακστάν"
+ },
+ "MNT": {
+ "name": "Τουγκρίκ Μογγολίας"
+ },
+ "HUF": {
+ "name": "Φιορίνι Ουγγαρίας"
+ },
+ "AWG": {
+ "name": "Φλορίνι Αρούμπα"
+ },
+ "GNF": {
+ "name": "Φράγκο Γουινέας"
+ },
+ "CHF": {
+ "name": "Φράγκο Ελβετίας"
+ },
+ "KMF": {
+ "name": "Φράγκο Κομορών"
+ },
+ "CDF": {
+ "name": "Φράγκο Κονγκό"
+ },
+ "BIF": {
+ "name": "Φράγκο Μπουρούντι"
+ },
+ "RWF": {
+ "name": "Φράγκο Ρουάντας"
+ },
+ "DJF": {
+ "name": "Φράγκο Τζιμπουτί"
+ },
+ "XOF": {
+ "name": "Φράγκο CFA Δυτικής Αφρικής",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Φράγκο CFA Κεντρικής Αφρικής",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "Φράγκο CFP",
+ "symbol": "CFPF"
+ },
+ "NIO": {
+ "name": "Χρυσή Κόρδοβα Νικαράγουας"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/en-AG.json b/vendor/commerceguys/intl/resources/currency/en-AG.json
new file mode 100644
index 000000000..8b5a17450
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/en-AG.json
@@ -0,0 +1,496 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Algerian Dinar"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Rouble"
+ },
+ "BYR": {
+ "name": "Belarusian Rouble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswanan Pula"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundian Franc"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CN¥"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "KMF": {
+ "name": "Comorian Franc"
+ },
+ "CDF": {
+ "name": "Congolese Franc"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "JP¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kenyan Shilling"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LRD": {
+ "name": "Liberian Dollar"
+ },
+ "LYD": {
+ "name": "Libyan Dinar"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NAD": {
+ "name": "Namibian Dollar"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "NGN": {
+ "name": "Nigerian Naira"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Rouble"
+ },
+ "RWF": {
+ "name": "Rwandan Franc"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudi Riyal"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somali Shilling"
+ },
+ "ZAR": {
+ "name": "South African Rand"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SHP": {
+ "name": "St. Helena Pound"
+ },
+ "SDG": {
+ "name": "Sudanese Pound"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swiss Franc"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunisian Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/en-AI.json b/vendor/commerceguys/intl/resources/currency/en-AI.json
new file mode 100644
index 000000000..8b5a17450
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/en-AI.json
@@ -0,0 +1,496 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Algerian Dinar"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Rouble"
+ },
+ "BYR": {
+ "name": "Belarusian Rouble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswanan Pula"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundian Franc"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CN¥"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "KMF": {
+ "name": "Comorian Franc"
+ },
+ "CDF": {
+ "name": "Congolese Franc"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "JP¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kenyan Shilling"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LRD": {
+ "name": "Liberian Dollar"
+ },
+ "LYD": {
+ "name": "Libyan Dinar"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NAD": {
+ "name": "Namibian Dollar"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "NGN": {
+ "name": "Nigerian Naira"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Rouble"
+ },
+ "RWF": {
+ "name": "Rwandan Franc"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudi Riyal"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somali Shilling"
+ },
+ "ZAR": {
+ "name": "South African Rand"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SHP": {
+ "name": "St. Helena Pound"
+ },
+ "SDG": {
+ "name": "Sudanese Pound"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swiss Franc"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunisian Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/en-AT.json b/vendor/commerceguys/intl/resources/currency/en-AT.json
new file mode 100644
index 000000000..0222bca60
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/en-AT.json
@@ -0,0 +1,496 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Algerian Dinar"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Rouble"
+ },
+ "BYR": {
+ "name": "Belarusian Rouble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswanan Pula"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundian Franc"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CN¥"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "KMF": {
+ "name": "Comorian Franc"
+ },
+ "CDF": {
+ "name": "Congolese Franc"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "JP¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kenyan Shilling"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LRD": {
+ "name": "Liberian Dollar"
+ },
+ "LYD": {
+ "name": "Libyan Dinar"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NAD": {
+ "name": "Namibian Dollar"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "NGN": {
+ "name": "Nigerian Naira"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Rouble"
+ },
+ "RWF": {
+ "name": "Rwandan Franc"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudi Riyal"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somali Shilling"
+ },
+ "ZAR": {
+ "name": "South African Rand"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SHP": {
+ "name": "St. Helena Pound"
+ },
+ "SDG": {
+ "name": "Sudanese Pound"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swiss Franc"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunisian Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/en-AU.json b/vendor/commerceguys/intl/resources/currency/en-AU.json
new file mode 100644
index 000000000..2086571d2
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/en-AU.json
@@ -0,0 +1,479 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Algerian Dinar"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbados Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Rouble"
+ },
+ "BYR": {
+ "name": "Belarusian Rouble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermuda Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Marka"
+ },
+ "BWP": {
+ "name": "Botswanan Pula"
+ },
+ "BRL": {
+ "name": "Brazilian Real"
+ },
+ "GBP": {
+ "name": "British Pound"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundian Franc"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "CAD": {
+ "name": "Canadian Dollar"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFP"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "CNY": {
+ "name": "Chinese Yuan"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "KMF": {
+ "name": "Comorian Franc"
+ },
+ "CDF": {
+ "name": "Congolese Franc"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar"
+ },
+ "EGP": {
+ "name": "Egyptian Pound"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr"
+ },
+ "EUR": {
+ "name": "Euro"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "INR": {
+ "name": "Indian Rupee"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli Shekel"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JPY": {
+ "name": "Japanese Yen"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kenyan Shilling"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LRD": {
+ "name": "Liberian Dollar"
+ },
+ "LYD": {
+ "name": "Libyan Dinar"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee"
+ },
+ "MXN": {
+ "name": "Mexican Peso"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NAD": {
+ "name": "Namibian Dollar"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "NGN": {
+ "name": "Nigerian Naira"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "UYU": {
+ "name": "Peso Uruguayo"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Riyal"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Rouble"
+ },
+ "RWF": {
+ "name": "Rwandan Franc"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudi Riyal"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee",
+ "symbol": "Rs"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somali Shilling"
+ },
+ "ZAR": {
+ "name": "South African Rand"
+ },
+ "KRW": {
+ "name": "South Korean Won"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SHP": {
+ "name": "St. Helena Pound"
+ },
+ "SDG": {
+ "name": "Sudanese Pound"
+ },
+ "SRD": {
+ "name": "Suriname Dollar"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swiss Franc"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunisian Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham"
+ },
+ "USD": {
+ "name": "US Dollar"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong"
+ },
+ "XOF": {
+ "name": "West African CFA Franc"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/en-BB.json b/vendor/commerceguys/intl/resources/currency/en-BB.json
new file mode 100644
index 000000000..a5ee75c9f
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/en-BB.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Algerian Dinar"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar",
+ "symbol": "$"
+ },
+ "BYN": {
+ "name": "Belarusian Rouble"
+ },
+ "BYR": {
+ "name": "Belarusian Rouble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswanan Pula"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundian Franc"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CN¥"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "KMF": {
+ "name": "Comorian Franc"
+ },
+ "CDF": {
+ "name": "Congolese Franc"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "JP¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kenyan Shilling"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LRD": {
+ "name": "Liberian Dollar"
+ },
+ "LYD": {
+ "name": "Libyan Dinar"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NAD": {
+ "name": "Namibian Dollar"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "NGN": {
+ "name": "Nigerian Naira"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Rouble"
+ },
+ "RWF": {
+ "name": "Rwandan Franc"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudi Riyal"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somali Shilling"
+ },
+ "ZAR": {
+ "name": "South African Rand"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SHP": {
+ "name": "St. Helena Pound"
+ },
+ "SDG": {
+ "name": "Sudanese Pound"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swiss Franc"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunisian Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/en-BE.json b/vendor/commerceguys/intl/resources/currency/en-BE.json
new file mode 100644
index 000000000..0222bca60
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/en-BE.json
@@ -0,0 +1,496 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Algerian Dinar"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Rouble"
+ },
+ "BYR": {
+ "name": "Belarusian Rouble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswanan Pula"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundian Franc"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CN¥"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "KMF": {
+ "name": "Comorian Franc"
+ },
+ "CDF": {
+ "name": "Congolese Franc"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "JP¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kenyan Shilling"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LRD": {
+ "name": "Liberian Dollar"
+ },
+ "LYD": {
+ "name": "Libyan Dinar"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NAD": {
+ "name": "Namibian Dollar"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "NGN": {
+ "name": "Nigerian Naira"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Rouble"
+ },
+ "RWF": {
+ "name": "Rwandan Franc"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudi Riyal"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somali Shilling"
+ },
+ "ZAR": {
+ "name": "South African Rand"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SHP": {
+ "name": "St. Helena Pound"
+ },
+ "SDG": {
+ "name": "Sudanese Pound"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swiss Franc"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunisian Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/en-BM.json b/vendor/commerceguys/intl/resources/currency/en-BM.json
new file mode 100644
index 000000000..916bbd50e
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/en-BM.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Algerian Dinar"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Rouble"
+ },
+ "BYR": {
+ "name": "Belarusian Rouble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar",
+ "symbol": "$"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswanan Pula"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundian Franc"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CN¥"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "KMF": {
+ "name": "Comorian Franc"
+ },
+ "CDF": {
+ "name": "Congolese Franc"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "JP¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kenyan Shilling"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LRD": {
+ "name": "Liberian Dollar"
+ },
+ "LYD": {
+ "name": "Libyan Dinar"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NAD": {
+ "name": "Namibian Dollar"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "NGN": {
+ "name": "Nigerian Naira"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Rouble"
+ },
+ "RWF": {
+ "name": "Rwandan Franc"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudi Riyal"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somali Shilling"
+ },
+ "ZAR": {
+ "name": "South African Rand"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SHP": {
+ "name": "St. Helena Pound"
+ },
+ "SDG": {
+ "name": "Sudanese Pound"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swiss Franc"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunisian Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/en-BS.json b/vendor/commerceguys/intl/resources/currency/en-BS.json
new file mode 100644
index 000000000..8f9fe22de
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/en-BS.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Algerian Dinar"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar",
+ "symbol": "$"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Rouble"
+ },
+ "BYR": {
+ "name": "Belarusian Rouble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswanan Pula"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundian Franc"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CN¥"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "KMF": {
+ "name": "Comorian Franc"
+ },
+ "CDF": {
+ "name": "Congolese Franc"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "JP¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kenyan Shilling"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LRD": {
+ "name": "Liberian Dollar"
+ },
+ "LYD": {
+ "name": "Libyan Dinar"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NAD": {
+ "name": "Namibian Dollar"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "NGN": {
+ "name": "Nigerian Naira"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Rouble"
+ },
+ "RWF": {
+ "name": "Rwandan Franc"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudi Riyal"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somali Shilling"
+ },
+ "ZAR": {
+ "name": "South African Rand"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SHP": {
+ "name": "St. Helena Pound"
+ },
+ "SDG": {
+ "name": "Sudanese Pound"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swiss Franc"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunisian Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/en-BW.json b/vendor/commerceguys/intl/resources/currency/en-BW.json
new file mode 100644
index 000000000..53c625795
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/en-BW.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Algerian Dinar"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Rouble"
+ },
+ "BYR": {
+ "name": "Belarusian Rouble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswanan Pula",
+ "symbol": "P"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundian Franc"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CN¥"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "KMF": {
+ "name": "Comorian Franc"
+ },
+ "CDF": {
+ "name": "Congolese Franc"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "JP¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kenyan Shilling"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LRD": {
+ "name": "Liberian Dollar"
+ },
+ "LYD": {
+ "name": "Libyan Dinar"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NAD": {
+ "name": "Namibian Dollar"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "NGN": {
+ "name": "Nigerian Naira"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Rouble"
+ },
+ "RWF": {
+ "name": "Rwandan Franc"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudi Riyal"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somali Shilling"
+ },
+ "ZAR": {
+ "name": "South African Rand"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SHP": {
+ "name": "St. Helena Pound"
+ },
+ "SDG": {
+ "name": "Sudanese Pound"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swiss Franc"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunisian Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/en-BZ.json b/vendor/commerceguys/intl/resources/currency/en-BZ.json
new file mode 100644
index 000000000..c5009ee58
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/en-BZ.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Algerian Dinar"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Rouble"
+ },
+ "BYR": {
+ "name": "Belarusian Rouble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar",
+ "symbol": "$"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswanan Pula"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundian Franc"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CN¥"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "KMF": {
+ "name": "Comorian Franc"
+ },
+ "CDF": {
+ "name": "Congolese Franc"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "JP¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kenyan Shilling"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LRD": {
+ "name": "Liberian Dollar"
+ },
+ "LYD": {
+ "name": "Libyan Dinar"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NAD": {
+ "name": "Namibian Dollar"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "NGN": {
+ "name": "Nigerian Naira"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Rouble"
+ },
+ "RWF": {
+ "name": "Rwandan Franc"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudi Riyal"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somali Shilling"
+ },
+ "ZAR": {
+ "name": "South African Rand"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SHP": {
+ "name": "St. Helena Pound"
+ },
+ "SDG": {
+ "name": "Sudanese Pound"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swiss Franc"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunisian Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/en-CA.json b/vendor/commerceguys/intl/resources/currency/en-CA.json
new file mode 100644
index 000000000..6a9e82df3
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/en-CA.json
@@ -0,0 +1,496 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Algerian Dinar"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Rouble"
+ },
+ "BYR": {
+ "name": "Belarusian Rouble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswanan Pula"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundian Franc"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CN¥"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "KMF": {
+ "name": "Comorian Franc"
+ },
+ "CDF": {
+ "name": "Congolese Franc"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "JP¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kenyan Shilling"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LRD": {
+ "name": "Liberian Dollar"
+ },
+ "LYD": {
+ "name": "Libyan Dinar"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NAD": {
+ "name": "Namibian Dollar"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "NGN": {
+ "name": "Nigerian Naira"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Rouble"
+ },
+ "RWF": {
+ "name": "Rwandan Franc"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudi Riyal"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somali Shilling"
+ },
+ "ZAR": {
+ "name": "South African Rand"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SHP": {
+ "name": "St. Helena Pound"
+ },
+ "SDG": {
+ "name": "Sudanese Pound"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swiss Franc"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunisian Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/en-CC.json b/vendor/commerceguys/intl/resources/currency/en-CC.json
new file mode 100644
index 000000000..1b1219952
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/en-CC.json
@@ -0,0 +1,496 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Algerian Dinar"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Rouble"
+ },
+ "BYR": {
+ "name": "Belarusian Rouble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswanan Pula"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundian Franc"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CN¥"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "KMF": {
+ "name": "Comorian Franc"
+ },
+ "CDF": {
+ "name": "Congolese Franc"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "JP¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kenyan Shilling"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LRD": {
+ "name": "Liberian Dollar"
+ },
+ "LYD": {
+ "name": "Libyan Dinar"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NAD": {
+ "name": "Namibian Dollar"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "NGN": {
+ "name": "Nigerian Naira"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Rouble"
+ },
+ "RWF": {
+ "name": "Rwandan Franc"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudi Riyal"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somali Shilling"
+ },
+ "ZAR": {
+ "name": "South African Rand"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SHP": {
+ "name": "St. Helena Pound"
+ },
+ "SDG": {
+ "name": "Sudanese Pound"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swiss Franc"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunisian Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/en-CH.json b/vendor/commerceguys/intl/resources/currency/en-CH.json
new file mode 100644
index 000000000..0222bca60
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/en-CH.json
@@ -0,0 +1,496 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Algerian Dinar"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Rouble"
+ },
+ "BYR": {
+ "name": "Belarusian Rouble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswanan Pula"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundian Franc"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CN¥"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "KMF": {
+ "name": "Comorian Franc"
+ },
+ "CDF": {
+ "name": "Congolese Franc"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "JP¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kenyan Shilling"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LRD": {
+ "name": "Liberian Dollar"
+ },
+ "LYD": {
+ "name": "Libyan Dinar"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NAD": {
+ "name": "Namibian Dollar"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "NGN": {
+ "name": "Nigerian Naira"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Rouble"
+ },
+ "RWF": {
+ "name": "Rwandan Franc"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudi Riyal"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somali Shilling"
+ },
+ "ZAR": {
+ "name": "South African Rand"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SHP": {
+ "name": "St. Helena Pound"
+ },
+ "SDG": {
+ "name": "Sudanese Pound"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swiss Franc"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunisian Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/en-CK.json b/vendor/commerceguys/intl/resources/currency/en-CK.json
new file mode 100644
index 000000000..9158ce9db
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/en-CK.json
@@ -0,0 +1,496 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Algerian Dinar"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Rouble"
+ },
+ "BYR": {
+ "name": "Belarusian Rouble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswanan Pula"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundian Franc"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CN¥"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "KMF": {
+ "name": "Comorian Franc"
+ },
+ "CDF": {
+ "name": "Congolese Franc"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "JP¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kenyan Shilling"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LRD": {
+ "name": "Liberian Dollar"
+ },
+ "LYD": {
+ "name": "Libyan Dinar"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NAD": {
+ "name": "Namibian Dollar"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "NGN": {
+ "name": "Nigerian Naira"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Rouble"
+ },
+ "RWF": {
+ "name": "Rwandan Franc"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudi Riyal"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somali Shilling"
+ },
+ "ZAR": {
+ "name": "South African Rand"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SHP": {
+ "name": "St. Helena Pound"
+ },
+ "SDG": {
+ "name": "Sudanese Pound"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swiss Franc"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunisian Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/en-CM.json b/vendor/commerceguys/intl/resources/currency/en-CM.json
new file mode 100644
index 000000000..0222bca60
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/en-CM.json
@@ -0,0 +1,496 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Algerian Dinar"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Rouble"
+ },
+ "BYR": {
+ "name": "Belarusian Rouble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswanan Pula"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundian Franc"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CN¥"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "KMF": {
+ "name": "Comorian Franc"
+ },
+ "CDF": {
+ "name": "Congolese Franc"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "JP¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kenyan Shilling"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LRD": {
+ "name": "Liberian Dollar"
+ },
+ "LYD": {
+ "name": "Libyan Dinar"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NAD": {
+ "name": "Namibian Dollar"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "NGN": {
+ "name": "Nigerian Naira"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Rouble"
+ },
+ "RWF": {
+ "name": "Rwandan Franc"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudi Riyal"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somali Shilling"
+ },
+ "ZAR": {
+ "name": "South African Rand"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SHP": {
+ "name": "St. Helena Pound"
+ },
+ "SDG": {
+ "name": "Sudanese Pound"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swiss Franc"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunisian Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/en-CX.json b/vendor/commerceguys/intl/resources/currency/en-CX.json
new file mode 100644
index 000000000..1b1219952
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/en-CX.json
@@ -0,0 +1,496 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Algerian Dinar"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Rouble"
+ },
+ "BYR": {
+ "name": "Belarusian Rouble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswanan Pula"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundian Franc"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CN¥"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "KMF": {
+ "name": "Comorian Franc"
+ },
+ "CDF": {
+ "name": "Congolese Franc"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "JP¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kenyan Shilling"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LRD": {
+ "name": "Liberian Dollar"
+ },
+ "LYD": {
+ "name": "Libyan Dinar"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NAD": {
+ "name": "Namibian Dollar"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "NGN": {
+ "name": "Nigerian Naira"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Rouble"
+ },
+ "RWF": {
+ "name": "Rwandan Franc"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudi Riyal"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somali Shilling"
+ },
+ "ZAR": {
+ "name": "South African Rand"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SHP": {
+ "name": "St. Helena Pound"
+ },
+ "SDG": {
+ "name": "Sudanese Pound"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swiss Franc"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunisian Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/en-CY.json b/vendor/commerceguys/intl/resources/currency/en-CY.json
new file mode 100644
index 000000000..0222bca60
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/en-CY.json
@@ -0,0 +1,496 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Algerian Dinar"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Rouble"
+ },
+ "BYR": {
+ "name": "Belarusian Rouble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswanan Pula"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundian Franc"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CN¥"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "KMF": {
+ "name": "Comorian Franc"
+ },
+ "CDF": {
+ "name": "Congolese Franc"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "JP¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kenyan Shilling"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LRD": {
+ "name": "Liberian Dollar"
+ },
+ "LYD": {
+ "name": "Libyan Dinar"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NAD": {
+ "name": "Namibian Dollar"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "NGN": {
+ "name": "Nigerian Naira"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Rouble"
+ },
+ "RWF": {
+ "name": "Rwandan Franc"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudi Riyal"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somali Shilling"
+ },
+ "ZAR": {
+ "name": "South African Rand"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SHP": {
+ "name": "St. Helena Pound"
+ },
+ "SDG": {
+ "name": "Sudanese Pound"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swiss Franc"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunisian Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/en-DE.json b/vendor/commerceguys/intl/resources/currency/en-DE.json
new file mode 100644
index 000000000..0222bca60
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/en-DE.json
@@ -0,0 +1,496 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Algerian Dinar"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Rouble"
+ },
+ "BYR": {
+ "name": "Belarusian Rouble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswanan Pula"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundian Franc"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CN¥"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "KMF": {
+ "name": "Comorian Franc"
+ },
+ "CDF": {
+ "name": "Congolese Franc"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "JP¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kenyan Shilling"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LRD": {
+ "name": "Liberian Dollar"
+ },
+ "LYD": {
+ "name": "Libyan Dinar"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NAD": {
+ "name": "Namibian Dollar"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "NGN": {
+ "name": "Nigerian Naira"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Rouble"
+ },
+ "RWF": {
+ "name": "Rwandan Franc"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudi Riyal"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somali Shilling"
+ },
+ "ZAR": {
+ "name": "South African Rand"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SHP": {
+ "name": "St. Helena Pound"
+ },
+ "SDG": {
+ "name": "Sudanese Pound"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swiss Franc"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunisian Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/en-DG.json b/vendor/commerceguys/intl/resources/currency/en-DG.json
new file mode 100644
index 000000000..0222bca60
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/en-DG.json
@@ -0,0 +1,496 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Algerian Dinar"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Rouble"
+ },
+ "BYR": {
+ "name": "Belarusian Rouble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswanan Pula"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundian Franc"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CN¥"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "KMF": {
+ "name": "Comorian Franc"
+ },
+ "CDF": {
+ "name": "Congolese Franc"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "JP¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kenyan Shilling"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LRD": {
+ "name": "Liberian Dollar"
+ },
+ "LYD": {
+ "name": "Libyan Dinar"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NAD": {
+ "name": "Namibian Dollar"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "NGN": {
+ "name": "Nigerian Naira"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Rouble"
+ },
+ "RWF": {
+ "name": "Rwandan Franc"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudi Riyal"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somali Shilling"
+ },
+ "ZAR": {
+ "name": "South African Rand"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SHP": {
+ "name": "St. Helena Pound"
+ },
+ "SDG": {
+ "name": "Sudanese Pound"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swiss Franc"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunisian Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/en-DK.json b/vendor/commerceguys/intl/resources/currency/en-DK.json
new file mode 100644
index 000000000..5fddb26dc
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/en-DK.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Algerian Dinar"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Rouble"
+ },
+ "BYR": {
+ "name": "Belarusian Rouble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswanan Pula"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundian Franc"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CN¥"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "KMF": {
+ "name": "Comorian Franc"
+ },
+ "CDF": {
+ "name": "Congolese Franc"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone",
+ "symbol": "kr."
+ },
+ "DJF": {
+ "name": "Djiboutian Franc"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "JP¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kenyan Shilling"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LRD": {
+ "name": "Liberian Dollar"
+ },
+ "LYD": {
+ "name": "Libyan Dinar"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NAD": {
+ "name": "Namibian Dollar"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "NGN": {
+ "name": "Nigerian Naira"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Rouble"
+ },
+ "RWF": {
+ "name": "Rwandan Franc"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudi Riyal"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somali Shilling"
+ },
+ "ZAR": {
+ "name": "South African Rand"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SHP": {
+ "name": "St. Helena Pound"
+ },
+ "SDG": {
+ "name": "Sudanese Pound"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swiss Franc"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunisian Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/en-DM.json b/vendor/commerceguys/intl/resources/currency/en-DM.json
new file mode 100644
index 000000000..8b5a17450
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/en-DM.json
@@ -0,0 +1,496 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Algerian Dinar"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Rouble"
+ },
+ "BYR": {
+ "name": "Belarusian Rouble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswanan Pula"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundian Franc"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CN¥"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "KMF": {
+ "name": "Comorian Franc"
+ },
+ "CDF": {
+ "name": "Congolese Franc"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "JP¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kenyan Shilling"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LRD": {
+ "name": "Liberian Dollar"
+ },
+ "LYD": {
+ "name": "Libyan Dinar"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NAD": {
+ "name": "Namibian Dollar"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "NGN": {
+ "name": "Nigerian Naira"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Rouble"
+ },
+ "RWF": {
+ "name": "Rwandan Franc"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudi Riyal"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somali Shilling"
+ },
+ "ZAR": {
+ "name": "South African Rand"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SHP": {
+ "name": "St. Helena Pound"
+ },
+ "SDG": {
+ "name": "Sudanese Pound"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swiss Franc"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunisian Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/en-ER.json b/vendor/commerceguys/intl/resources/currency/en-ER.json
new file mode 100644
index 000000000..b0623e0a7
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/en-ER.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Algerian Dinar"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Rouble"
+ },
+ "BYR": {
+ "name": "Belarusian Rouble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswanan Pula"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundian Franc"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CN¥"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "KMF": {
+ "name": "Comorian Franc"
+ },
+ "CDF": {
+ "name": "Congolese Franc"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa",
+ "symbol": "Nfk"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "JP¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kenyan Shilling"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LRD": {
+ "name": "Liberian Dollar"
+ },
+ "LYD": {
+ "name": "Libyan Dinar"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NAD": {
+ "name": "Namibian Dollar"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "NGN": {
+ "name": "Nigerian Naira"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Rouble"
+ },
+ "RWF": {
+ "name": "Rwandan Franc"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudi Riyal"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somali Shilling"
+ },
+ "ZAR": {
+ "name": "South African Rand"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SHP": {
+ "name": "St. Helena Pound"
+ },
+ "SDG": {
+ "name": "Sudanese Pound"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swiss Franc"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunisian Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/en-FI.json b/vendor/commerceguys/intl/resources/currency/en-FI.json
new file mode 100644
index 000000000..0222bca60
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/en-FI.json
@@ -0,0 +1,496 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Algerian Dinar"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Rouble"
+ },
+ "BYR": {
+ "name": "Belarusian Rouble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswanan Pula"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundian Franc"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CN¥"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "KMF": {
+ "name": "Comorian Franc"
+ },
+ "CDF": {
+ "name": "Congolese Franc"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "JP¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kenyan Shilling"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LRD": {
+ "name": "Liberian Dollar"
+ },
+ "LYD": {
+ "name": "Libyan Dinar"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NAD": {
+ "name": "Namibian Dollar"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "NGN": {
+ "name": "Nigerian Naira"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Rouble"
+ },
+ "RWF": {
+ "name": "Rwandan Franc"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudi Riyal"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somali Shilling"
+ },
+ "ZAR": {
+ "name": "South African Rand"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SHP": {
+ "name": "St. Helena Pound"
+ },
+ "SDG": {
+ "name": "Sudanese Pound"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swiss Franc"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunisian Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/en-FJ.json b/vendor/commerceguys/intl/resources/currency/en-FJ.json
new file mode 100644
index 000000000..5ddd5fce4
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/en-FJ.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Algerian Dinar"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Rouble"
+ },
+ "BYR": {
+ "name": "Belarusian Rouble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswanan Pula"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundian Franc"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CN¥"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "KMF": {
+ "name": "Comorian Franc"
+ },
+ "CDF": {
+ "name": "Congolese Franc"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar",
+ "symbol": "$"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "JP¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kenyan Shilling"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LRD": {
+ "name": "Liberian Dollar"
+ },
+ "LYD": {
+ "name": "Libyan Dinar"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NAD": {
+ "name": "Namibian Dollar"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "NGN": {
+ "name": "Nigerian Naira"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Rouble"
+ },
+ "RWF": {
+ "name": "Rwandan Franc"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudi Riyal"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somali Shilling"
+ },
+ "ZAR": {
+ "name": "South African Rand"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SHP": {
+ "name": "St. Helena Pound"
+ },
+ "SDG": {
+ "name": "Sudanese Pound"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swiss Franc"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunisian Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/en-FK.json b/vendor/commerceguys/intl/resources/currency/en-FK.json
new file mode 100644
index 000000000..078c007e8
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/en-FK.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Algerian Dinar"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Rouble"
+ },
+ "BYR": {
+ "name": "Belarusian Rouble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswanan Pula"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound",
+ "symbol": "GB£"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundian Franc"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CN¥"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "KMF": {
+ "name": "Comorian Franc"
+ },
+ "CDF": {
+ "name": "Congolese Franc"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound",
+ "symbol": "£"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "JP¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kenyan Shilling"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LRD": {
+ "name": "Liberian Dollar"
+ },
+ "LYD": {
+ "name": "Libyan Dinar"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NAD": {
+ "name": "Namibian Dollar"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "NGN": {
+ "name": "Nigerian Naira"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Rouble"
+ },
+ "RWF": {
+ "name": "Rwandan Franc"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudi Riyal"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somali Shilling"
+ },
+ "ZAR": {
+ "name": "South African Rand"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SHP": {
+ "name": "St. Helena Pound"
+ },
+ "SDG": {
+ "name": "Sudanese Pound"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swiss Franc"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunisian Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/en-FM.json b/vendor/commerceguys/intl/resources/currency/en-FM.json
new file mode 100644
index 000000000..0222bca60
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/en-FM.json
@@ -0,0 +1,496 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Algerian Dinar"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Rouble"
+ },
+ "BYR": {
+ "name": "Belarusian Rouble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswanan Pula"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundian Franc"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CN¥"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "KMF": {
+ "name": "Comorian Franc"
+ },
+ "CDF": {
+ "name": "Congolese Franc"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "JP¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kenyan Shilling"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LRD": {
+ "name": "Liberian Dollar"
+ },
+ "LYD": {
+ "name": "Libyan Dinar"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NAD": {
+ "name": "Namibian Dollar"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "NGN": {
+ "name": "Nigerian Naira"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Rouble"
+ },
+ "RWF": {
+ "name": "Rwandan Franc"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudi Riyal"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somali Shilling"
+ },
+ "ZAR": {
+ "name": "South African Rand"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SHP": {
+ "name": "St. Helena Pound"
+ },
+ "SDG": {
+ "name": "Sudanese Pound"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swiss Franc"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunisian Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/en-GB.json b/vendor/commerceguys/intl/resources/currency/en-GB.json
new file mode 100644
index 000000000..0222bca60
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/en-GB.json
@@ -0,0 +1,496 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Algerian Dinar"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Rouble"
+ },
+ "BYR": {
+ "name": "Belarusian Rouble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswanan Pula"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundian Franc"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CN¥"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "KMF": {
+ "name": "Comorian Franc"
+ },
+ "CDF": {
+ "name": "Congolese Franc"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "JP¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kenyan Shilling"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LRD": {
+ "name": "Liberian Dollar"
+ },
+ "LYD": {
+ "name": "Libyan Dinar"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NAD": {
+ "name": "Namibian Dollar"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "NGN": {
+ "name": "Nigerian Naira"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Rouble"
+ },
+ "RWF": {
+ "name": "Rwandan Franc"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudi Riyal"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somali Shilling"
+ },
+ "ZAR": {
+ "name": "South African Rand"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SHP": {
+ "name": "St. Helena Pound"
+ },
+ "SDG": {
+ "name": "Sudanese Pound"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swiss Franc"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunisian Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/en-GD.json b/vendor/commerceguys/intl/resources/currency/en-GD.json
new file mode 100644
index 000000000..8b5a17450
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/en-GD.json
@@ -0,0 +1,496 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Algerian Dinar"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Rouble"
+ },
+ "BYR": {
+ "name": "Belarusian Rouble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswanan Pula"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundian Franc"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CN¥"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "KMF": {
+ "name": "Comorian Franc"
+ },
+ "CDF": {
+ "name": "Congolese Franc"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "JP¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kenyan Shilling"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LRD": {
+ "name": "Liberian Dollar"
+ },
+ "LYD": {
+ "name": "Libyan Dinar"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NAD": {
+ "name": "Namibian Dollar"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "NGN": {
+ "name": "Nigerian Naira"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Rouble"
+ },
+ "RWF": {
+ "name": "Rwandan Franc"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudi Riyal"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somali Shilling"
+ },
+ "ZAR": {
+ "name": "South African Rand"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SHP": {
+ "name": "St. Helena Pound"
+ },
+ "SDG": {
+ "name": "Sudanese Pound"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swiss Franc"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunisian Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/en-GG.json b/vendor/commerceguys/intl/resources/currency/en-GG.json
new file mode 100644
index 000000000..5c8391a1f
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/en-GG.json
@@ -0,0 +1,496 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Algerian Dinar"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Rouble"
+ },
+ "BYR": {
+ "name": "Belarusian Rouble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswanan Pula"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundian Franc"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CN¥"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "KMF": {
+ "name": "Comorian Franc"
+ },
+ "CDF": {
+ "name": "Congolese Franc"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "JP¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kenyan Shilling"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LRD": {
+ "name": "Liberian Dollar"
+ },
+ "LYD": {
+ "name": "Libyan Dinar"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NAD": {
+ "name": "Namibian Dollar"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "NGN": {
+ "name": "Nigerian Naira"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Rouble"
+ },
+ "RWF": {
+ "name": "Rwandan Franc"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudi Riyal"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somali Shilling"
+ },
+ "ZAR": {
+ "name": "South African Rand"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SHP": {
+ "name": "St. Helena Pound"
+ },
+ "SDG": {
+ "name": "Sudanese Pound"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swiss Franc"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunisian Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling"
+ },
+ "GBP": {
+ "name": "UK Pound",
+ "symbol": "£"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/en-GH.json b/vendor/commerceguys/intl/resources/currency/en-GH.json
new file mode 100644
index 000000000..261609038
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/en-GH.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Algerian Dinar"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Rouble"
+ },
+ "BYR": {
+ "name": "Belarusian Rouble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswanan Pula"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundian Franc"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CN¥"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "KMF": {
+ "name": "Comorian Franc"
+ },
+ "CDF": {
+ "name": "Congolese Franc"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi",
+ "symbol": "GH₵"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "JP¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kenyan Shilling"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LRD": {
+ "name": "Liberian Dollar"
+ },
+ "LYD": {
+ "name": "Libyan Dinar"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NAD": {
+ "name": "Namibian Dollar"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "NGN": {
+ "name": "Nigerian Naira"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Rouble"
+ },
+ "RWF": {
+ "name": "Rwandan Franc"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudi Riyal"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somali Shilling"
+ },
+ "ZAR": {
+ "name": "South African Rand"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SHP": {
+ "name": "St. Helena Pound"
+ },
+ "SDG": {
+ "name": "Sudanese Pound"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swiss Franc"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunisian Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/en-GI.json b/vendor/commerceguys/intl/resources/currency/en-GI.json
new file mode 100644
index 000000000..e1c32ef42
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/en-GI.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Algerian Dinar"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Rouble"
+ },
+ "BYR": {
+ "name": "Belarusian Rouble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswanan Pula"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound",
+ "symbol": "GB£"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundian Franc"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CN¥"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "KMF": {
+ "name": "Comorian Franc"
+ },
+ "CDF": {
+ "name": "Congolese Franc"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound",
+ "symbol": "£"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "JP¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kenyan Shilling"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LRD": {
+ "name": "Liberian Dollar"
+ },
+ "LYD": {
+ "name": "Libyan Dinar"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NAD": {
+ "name": "Namibian Dollar"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "NGN": {
+ "name": "Nigerian Naira"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Rouble"
+ },
+ "RWF": {
+ "name": "Rwandan Franc"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudi Riyal"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somali Shilling"
+ },
+ "ZAR": {
+ "name": "South African Rand"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SHP": {
+ "name": "St. Helena Pound"
+ },
+ "SDG": {
+ "name": "Sudanese Pound"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swiss Franc"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunisian Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/en-GM.json b/vendor/commerceguys/intl/resources/currency/en-GM.json
new file mode 100644
index 000000000..060badc84
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/en-GM.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Algerian Dinar"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Rouble"
+ },
+ "BYR": {
+ "name": "Belarusian Rouble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswanan Pula"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundian Franc"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CN¥"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "KMF": {
+ "name": "Comorian Franc"
+ },
+ "CDF": {
+ "name": "Congolese Franc"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi",
+ "symbol": "D"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "JP¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kenyan Shilling"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LRD": {
+ "name": "Liberian Dollar"
+ },
+ "LYD": {
+ "name": "Libyan Dinar"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NAD": {
+ "name": "Namibian Dollar"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "NGN": {
+ "name": "Nigerian Naira"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Rouble"
+ },
+ "RWF": {
+ "name": "Rwandan Franc"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudi Riyal"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somali Shilling"
+ },
+ "ZAR": {
+ "name": "South African Rand"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SHP": {
+ "name": "St. Helena Pound"
+ },
+ "SDG": {
+ "name": "Sudanese Pound"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swiss Franc"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunisian Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/en-GY.json b/vendor/commerceguys/intl/resources/currency/en-GY.json
new file mode 100644
index 000000000..bc1df2236
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/en-GY.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Algerian Dinar"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Rouble"
+ },
+ "BYR": {
+ "name": "Belarusian Rouble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswanan Pula"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundian Franc"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CN¥"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "KMF": {
+ "name": "Comorian Franc"
+ },
+ "CDF": {
+ "name": "Congolese Franc"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar",
+ "symbol": "$"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "JP¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kenyan Shilling"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LRD": {
+ "name": "Liberian Dollar"
+ },
+ "LYD": {
+ "name": "Libyan Dinar"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NAD": {
+ "name": "Namibian Dollar"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "NGN": {
+ "name": "Nigerian Naira"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Rouble"
+ },
+ "RWF": {
+ "name": "Rwandan Franc"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudi Riyal"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somali Shilling"
+ },
+ "ZAR": {
+ "name": "South African Rand"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SHP": {
+ "name": "St. Helena Pound"
+ },
+ "SDG": {
+ "name": "Sudanese Pound"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swiss Franc"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunisian Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/en-HK.json b/vendor/commerceguys/intl/resources/currency/en-HK.json
new file mode 100644
index 000000000..0222bca60
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/en-HK.json
@@ -0,0 +1,496 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Algerian Dinar"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Rouble"
+ },
+ "BYR": {
+ "name": "Belarusian Rouble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswanan Pula"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundian Franc"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CN¥"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "KMF": {
+ "name": "Comorian Franc"
+ },
+ "CDF": {
+ "name": "Congolese Franc"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "JP¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kenyan Shilling"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LRD": {
+ "name": "Liberian Dollar"
+ },
+ "LYD": {
+ "name": "Libyan Dinar"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NAD": {
+ "name": "Namibian Dollar"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "NGN": {
+ "name": "Nigerian Naira"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Rouble"
+ },
+ "RWF": {
+ "name": "Rwandan Franc"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudi Riyal"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somali Shilling"
+ },
+ "ZAR": {
+ "name": "South African Rand"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SHP": {
+ "name": "St. Helena Pound"
+ },
+ "SDG": {
+ "name": "Sudanese Pound"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swiss Franc"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunisian Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/en-IE.json b/vendor/commerceguys/intl/resources/currency/en-IE.json
new file mode 100644
index 000000000..0222bca60
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/en-IE.json
@@ -0,0 +1,496 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Algerian Dinar"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Rouble"
+ },
+ "BYR": {
+ "name": "Belarusian Rouble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswanan Pula"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundian Franc"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CN¥"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "KMF": {
+ "name": "Comorian Franc"
+ },
+ "CDF": {
+ "name": "Congolese Franc"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "JP¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kenyan Shilling"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LRD": {
+ "name": "Liberian Dollar"
+ },
+ "LYD": {
+ "name": "Libyan Dinar"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NAD": {
+ "name": "Namibian Dollar"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "NGN": {
+ "name": "Nigerian Naira"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Rouble"
+ },
+ "RWF": {
+ "name": "Rwandan Franc"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudi Riyal"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somali Shilling"
+ },
+ "ZAR": {
+ "name": "South African Rand"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SHP": {
+ "name": "St. Helena Pound"
+ },
+ "SDG": {
+ "name": "Sudanese Pound"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swiss Franc"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunisian Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/en-IL.json b/vendor/commerceguys/intl/resources/currency/en-IL.json
new file mode 100644
index 000000000..0222bca60
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/en-IL.json
@@ -0,0 +1,496 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Algerian Dinar"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Rouble"
+ },
+ "BYR": {
+ "name": "Belarusian Rouble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswanan Pula"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundian Franc"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CN¥"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "KMF": {
+ "name": "Comorian Franc"
+ },
+ "CDF": {
+ "name": "Congolese Franc"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "JP¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kenyan Shilling"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LRD": {
+ "name": "Liberian Dollar"
+ },
+ "LYD": {
+ "name": "Libyan Dinar"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NAD": {
+ "name": "Namibian Dollar"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "NGN": {
+ "name": "Nigerian Naira"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Rouble"
+ },
+ "RWF": {
+ "name": "Rwandan Franc"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudi Riyal"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somali Shilling"
+ },
+ "ZAR": {
+ "name": "South African Rand"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SHP": {
+ "name": "St. Helena Pound"
+ },
+ "SDG": {
+ "name": "Sudanese Pound"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swiss Franc"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunisian Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/en-IM.json b/vendor/commerceguys/intl/resources/currency/en-IM.json
new file mode 100644
index 000000000..5c8391a1f
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/en-IM.json
@@ -0,0 +1,496 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Algerian Dinar"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Rouble"
+ },
+ "BYR": {
+ "name": "Belarusian Rouble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswanan Pula"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundian Franc"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CN¥"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "KMF": {
+ "name": "Comorian Franc"
+ },
+ "CDF": {
+ "name": "Congolese Franc"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "JP¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kenyan Shilling"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LRD": {
+ "name": "Liberian Dollar"
+ },
+ "LYD": {
+ "name": "Libyan Dinar"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NAD": {
+ "name": "Namibian Dollar"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "NGN": {
+ "name": "Nigerian Naira"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Rouble"
+ },
+ "RWF": {
+ "name": "Rwandan Franc"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudi Riyal"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somali Shilling"
+ },
+ "ZAR": {
+ "name": "South African Rand"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SHP": {
+ "name": "St. Helena Pound"
+ },
+ "SDG": {
+ "name": "Sudanese Pound"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swiss Franc"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunisian Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling"
+ },
+ "GBP": {
+ "name": "UK Pound",
+ "symbol": "£"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/en-IN.json b/vendor/commerceguys/intl/resources/currency/en-IN.json
new file mode 100644
index 000000000..0222bca60
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/en-IN.json
@@ -0,0 +1,496 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Algerian Dinar"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Rouble"
+ },
+ "BYR": {
+ "name": "Belarusian Rouble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswanan Pula"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundian Franc"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CN¥"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "KMF": {
+ "name": "Comorian Franc"
+ },
+ "CDF": {
+ "name": "Congolese Franc"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "JP¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kenyan Shilling"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LRD": {
+ "name": "Liberian Dollar"
+ },
+ "LYD": {
+ "name": "Libyan Dinar"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NAD": {
+ "name": "Namibian Dollar"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "NGN": {
+ "name": "Nigerian Naira"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Rouble"
+ },
+ "RWF": {
+ "name": "Rwandan Franc"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudi Riyal"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somali Shilling"
+ },
+ "ZAR": {
+ "name": "South African Rand"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SHP": {
+ "name": "St. Helena Pound"
+ },
+ "SDG": {
+ "name": "Sudanese Pound"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swiss Franc"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunisian Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/en-IO.json b/vendor/commerceguys/intl/resources/currency/en-IO.json
new file mode 100644
index 000000000..0222bca60
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/en-IO.json
@@ -0,0 +1,496 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Algerian Dinar"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Rouble"
+ },
+ "BYR": {
+ "name": "Belarusian Rouble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswanan Pula"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundian Franc"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CN¥"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "KMF": {
+ "name": "Comorian Franc"
+ },
+ "CDF": {
+ "name": "Congolese Franc"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "JP¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kenyan Shilling"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LRD": {
+ "name": "Liberian Dollar"
+ },
+ "LYD": {
+ "name": "Libyan Dinar"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NAD": {
+ "name": "Namibian Dollar"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "NGN": {
+ "name": "Nigerian Naira"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Rouble"
+ },
+ "RWF": {
+ "name": "Rwandan Franc"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudi Riyal"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somali Shilling"
+ },
+ "ZAR": {
+ "name": "South African Rand"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SHP": {
+ "name": "St. Helena Pound"
+ },
+ "SDG": {
+ "name": "Sudanese Pound"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swiss Franc"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunisian Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/en-JE.json b/vendor/commerceguys/intl/resources/currency/en-JE.json
new file mode 100644
index 000000000..5c8391a1f
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/en-JE.json
@@ -0,0 +1,496 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Algerian Dinar"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Rouble"
+ },
+ "BYR": {
+ "name": "Belarusian Rouble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswanan Pula"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundian Franc"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CN¥"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "KMF": {
+ "name": "Comorian Franc"
+ },
+ "CDF": {
+ "name": "Congolese Franc"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "JP¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kenyan Shilling"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LRD": {
+ "name": "Liberian Dollar"
+ },
+ "LYD": {
+ "name": "Libyan Dinar"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NAD": {
+ "name": "Namibian Dollar"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "NGN": {
+ "name": "Nigerian Naira"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Rouble"
+ },
+ "RWF": {
+ "name": "Rwandan Franc"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudi Riyal"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somali Shilling"
+ },
+ "ZAR": {
+ "name": "South African Rand"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SHP": {
+ "name": "St. Helena Pound"
+ },
+ "SDG": {
+ "name": "Sudanese Pound"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swiss Franc"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunisian Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling"
+ },
+ "GBP": {
+ "name": "UK Pound",
+ "symbol": "£"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/en-JM.json b/vendor/commerceguys/intl/resources/currency/en-JM.json
new file mode 100644
index 000000000..65c651ce7
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/en-JM.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Algerian Dinar"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Rouble"
+ },
+ "BYR": {
+ "name": "Belarusian Rouble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswanan Pula"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundian Franc"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CN¥"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "KMF": {
+ "name": "Comorian Franc"
+ },
+ "CDF": {
+ "name": "Congolese Franc"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar",
+ "symbol": "$"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "JP¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kenyan Shilling"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LRD": {
+ "name": "Liberian Dollar"
+ },
+ "LYD": {
+ "name": "Libyan Dinar"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NAD": {
+ "name": "Namibian Dollar"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "NGN": {
+ "name": "Nigerian Naira"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Rouble"
+ },
+ "RWF": {
+ "name": "Rwandan Franc"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudi Riyal"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somali Shilling"
+ },
+ "ZAR": {
+ "name": "South African Rand"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SHP": {
+ "name": "St. Helena Pound"
+ },
+ "SDG": {
+ "name": "Sudanese Pound"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swiss Franc"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunisian Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/en-KE.json b/vendor/commerceguys/intl/resources/currency/en-KE.json
new file mode 100644
index 000000000..e96a6c4a0
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/en-KE.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Algerian Dinar"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Rouble"
+ },
+ "BYR": {
+ "name": "Belarusian Rouble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswanan Pula"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundian Franc"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CN¥"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "KMF": {
+ "name": "Comorian Franc"
+ },
+ "CDF": {
+ "name": "Congolese Franc"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "JP¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kenyan Shilling",
+ "symbol": "Ksh"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LRD": {
+ "name": "Liberian Dollar"
+ },
+ "LYD": {
+ "name": "Libyan Dinar"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NAD": {
+ "name": "Namibian Dollar"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "NGN": {
+ "name": "Nigerian Naira"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Rouble"
+ },
+ "RWF": {
+ "name": "Rwandan Franc"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudi Riyal"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somali Shilling"
+ },
+ "ZAR": {
+ "name": "South African Rand"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SHP": {
+ "name": "St. Helena Pound"
+ },
+ "SDG": {
+ "name": "Sudanese Pound"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swiss Franc"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunisian Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/en-KI.json b/vendor/commerceguys/intl/resources/currency/en-KI.json
new file mode 100644
index 000000000..1b1219952
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/en-KI.json
@@ -0,0 +1,496 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Algerian Dinar"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Rouble"
+ },
+ "BYR": {
+ "name": "Belarusian Rouble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswanan Pula"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundian Franc"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CN¥"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "KMF": {
+ "name": "Comorian Franc"
+ },
+ "CDF": {
+ "name": "Congolese Franc"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "JP¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kenyan Shilling"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LRD": {
+ "name": "Liberian Dollar"
+ },
+ "LYD": {
+ "name": "Libyan Dinar"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NAD": {
+ "name": "Namibian Dollar"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "NGN": {
+ "name": "Nigerian Naira"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Rouble"
+ },
+ "RWF": {
+ "name": "Rwandan Franc"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudi Riyal"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somali Shilling"
+ },
+ "ZAR": {
+ "name": "South African Rand"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SHP": {
+ "name": "St. Helena Pound"
+ },
+ "SDG": {
+ "name": "Sudanese Pound"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swiss Franc"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunisian Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/en-KN.json b/vendor/commerceguys/intl/resources/currency/en-KN.json
new file mode 100644
index 000000000..8b5a17450
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/en-KN.json
@@ -0,0 +1,496 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Algerian Dinar"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Rouble"
+ },
+ "BYR": {
+ "name": "Belarusian Rouble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswanan Pula"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundian Franc"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CN¥"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "KMF": {
+ "name": "Comorian Franc"
+ },
+ "CDF": {
+ "name": "Congolese Franc"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "JP¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kenyan Shilling"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LRD": {
+ "name": "Liberian Dollar"
+ },
+ "LYD": {
+ "name": "Libyan Dinar"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NAD": {
+ "name": "Namibian Dollar"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "NGN": {
+ "name": "Nigerian Naira"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Rouble"
+ },
+ "RWF": {
+ "name": "Rwandan Franc"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudi Riyal"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somali Shilling"
+ },
+ "ZAR": {
+ "name": "South African Rand"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SHP": {
+ "name": "St. Helena Pound"
+ },
+ "SDG": {
+ "name": "Sudanese Pound"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swiss Franc"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunisian Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/en-KY.json b/vendor/commerceguys/intl/resources/currency/en-KY.json
new file mode 100644
index 000000000..82884c315
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/en-KY.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Algerian Dinar"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Rouble"
+ },
+ "BYR": {
+ "name": "Belarusian Rouble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswanan Pula"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundian Franc"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar",
+ "symbol": "$"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CN¥"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "KMF": {
+ "name": "Comorian Franc"
+ },
+ "CDF": {
+ "name": "Congolese Franc"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "JP¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kenyan Shilling"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LRD": {
+ "name": "Liberian Dollar"
+ },
+ "LYD": {
+ "name": "Libyan Dinar"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NAD": {
+ "name": "Namibian Dollar"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "NGN": {
+ "name": "Nigerian Naira"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Rouble"
+ },
+ "RWF": {
+ "name": "Rwandan Franc"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudi Riyal"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somali Shilling"
+ },
+ "ZAR": {
+ "name": "South African Rand"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SHP": {
+ "name": "St. Helena Pound"
+ },
+ "SDG": {
+ "name": "Sudanese Pound"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swiss Franc"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunisian Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/en-LC.json b/vendor/commerceguys/intl/resources/currency/en-LC.json
new file mode 100644
index 000000000..8b5a17450
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/en-LC.json
@@ -0,0 +1,496 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Algerian Dinar"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Rouble"
+ },
+ "BYR": {
+ "name": "Belarusian Rouble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswanan Pula"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundian Franc"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CN¥"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "KMF": {
+ "name": "Comorian Franc"
+ },
+ "CDF": {
+ "name": "Congolese Franc"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "JP¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kenyan Shilling"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LRD": {
+ "name": "Liberian Dollar"
+ },
+ "LYD": {
+ "name": "Libyan Dinar"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NAD": {
+ "name": "Namibian Dollar"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "NGN": {
+ "name": "Nigerian Naira"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Rouble"
+ },
+ "RWF": {
+ "name": "Rwandan Franc"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudi Riyal"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somali Shilling"
+ },
+ "ZAR": {
+ "name": "South African Rand"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SHP": {
+ "name": "St. Helena Pound"
+ },
+ "SDG": {
+ "name": "Sudanese Pound"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swiss Franc"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunisian Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/en-LR.json b/vendor/commerceguys/intl/resources/currency/en-LR.json
new file mode 100644
index 000000000..cc838c602
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/en-LR.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Algerian Dinar"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Rouble"
+ },
+ "BYR": {
+ "name": "Belarusian Rouble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswanan Pula"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundian Franc"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CN¥"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "KMF": {
+ "name": "Comorian Franc"
+ },
+ "CDF": {
+ "name": "Congolese Franc"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "JP¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kenyan Shilling"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LRD": {
+ "name": "Liberian Dollar",
+ "symbol": "$"
+ },
+ "LYD": {
+ "name": "Libyan Dinar"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NAD": {
+ "name": "Namibian Dollar"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "NGN": {
+ "name": "Nigerian Naira"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Rouble"
+ },
+ "RWF": {
+ "name": "Rwandan Franc"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudi Riyal"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somali Shilling"
+ },
+ "ZAR": {
+ "name": "South African Rand"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SHP": {
+ "name": "St. Helena Pound"
+ },
+ "SDG": {
+ "name": "Sudanese Pound"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swiss Franc"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunisian Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/en-LS.json b/vendor/commerceguys/intl/resources/currency/en-LS.json
new file mode 100644
index 000000000..c9bb2a8af
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/en-LS.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Algerian Dinar"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Rouble"
+ },
+ "BYR": {
+ "name": "Belarusian Rouble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswanan Pula"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundian Franc"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CN¥"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "KMF": {
+ "name": "Comorian Franc"
+ },
+ "CDF": {
+ "name": "Congolese Franc"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "JP¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kenyan Shilling"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LRD": {
+ "name": "Liberian Dollar"
+ },
+ "LYD": {
+ "name": "Libyan Dinar"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NAD": {
+ "name": "Namibian Dollar"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "NGN": {
+ "name": "Nigerian Naira"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Rouble"
+ },
+ "RWF": {
+ "name": "Rwandan Franc"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudi Riyal"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somali Shilling"
+ },
+ "ZAR": {
+ "name": "South African Rand",
+ "symbol": "R"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SHP": {
+ "name": "St. Helena Pound"
+ },
+ "SDG": {
+ "name": "Sudanese Pound"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swiss Franc"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunisian Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/en-MG.json b/vendor/commerceguys/intl/resources/currency/en-MG.json
new file mode 100644
index 000000000..6f78fca85
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/en-MG.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Algerian Dinar"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Rouble"
+ },
+ "BYR": {
+ "name": "Belarusian Rouble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswanan Pula"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundian Franc"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CN¥"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "KMF": {
+ "name": "Comorian Franc"
+ },
+ "CDF": {
+ "name": "Congolese Franc"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "JP¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kenyan Shilling"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LRD": {
+ "name": "Liberian Dollar"
+ },
+ "LYD": {
+ "name": "Libyan Dinar"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary",
+ "symbol": "Ar"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NAD": {
+ "name": "Namibian Dollar"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "NGN": {
+ "name": "Nigerian Naira"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Rouble"
+ },
+ "RWF": {
+ "name": "Rwandan Franc"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudi Riyal"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somali Shilling"
+ },
+ "ZAR": {
+ "name": "South African Rand"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SHP": {
+ "name": "St. Helena Pound"
+ },
+ "SDG": {
+ "name": "Sudanese Pound"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swiss Franc"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunisian Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/en-MO.json b/vendor/commerceguys/intl/resources/currency/en-MO.json
new file mode 100644
index 000000000..506c4021c
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/en-MO.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Algerian Dinar"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Rouble"
+ },
+ "BYR": {
+ "name": "Belarusian Rouble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswanan Pula"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundian Franc"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CN¥"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "KMF": {
+ "name": "Comorian Franc"
+ },
+ "CDF": {
+ "name": "Congolese Franc"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "JP¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kenyan Shilling"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LRD": {
+ "name": "Liberian Dollar"
+ },
+ "LYD": {
+ "name": "Libyan Dinar"
+ },
+ "MOP": {
+ "name": "Macanese Pataca",
+ "symbol": "MOP$"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NAD": {
+ "name": "Namibian Dollar"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "NGN": {
+ "name": "Nigerian Naira"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Rouble"
+ },
+ "RWF": {
+ "name": "Rwandan Franc"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudi Riyal"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somali Shilling"
+ },
+ "ZAR": {
+ "name": "South African Rand"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SHP": {
+ "name": "St. Helena Pound"
+ },
+ "SDG": {
+ "name": "Sudanese Pound"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swiss Franc"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunisian Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/en-MS.json b/vendor/commerceguys/intl/resources/currency/en-MS.json
new file mode 100644
index 000000000..8b5a17450
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/en-MS.json
@@ -0,0 +1,496 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Algerian Dinar"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Rouble"
+ },
+ "BYR": {
+ "name": "Belarusian Rouble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswanan Pula"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundian Franc"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CN¥"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "KMF": {
+ "name": "Comorian Franc"
+ },
+ "CDF": {
+ "name": "Congolese Franc"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "JP¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kenyan Shilling"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LRD": {
+ "name": "Liberian Dollar"
+ },
+ "LYD": {
+ "name": "Libyan Dinar"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NAD": {
+ "name": "Namibian Dollar"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "NGN": {
+ "name": "Nigerian Naira"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Rouble"
+ },
+ "RWF": {
+ "name": "Rwandan Franc"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudi Riyal"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somali Shilling"
+ },
+ "ZAR": {
+ "name": "South African Rand"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SHP": {
+ "name": "St. Helena Pound"
+ },
+ "SDG": {
+ "name": "Sudanese Pound"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swiss Franc"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunisian Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/en-MT.json b/vendor/commerceguys/intl/resources/currency/en-MT.json
new file mode 100644
index 000000000..e5cfcf45a
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/en-MT.json
@@ -0,0 +1,496 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Algerian Dinar"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Rouble"
+ },
+ "BYR": {
+ "name": "Belarusian Rouble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswanan Pula"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound",
+ "symbol": "GB£"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundian Franc"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CN¥"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "KMF": {
+ "name": "Comorian Franc"
+ },
+ "CDF": {
+ "name": "Congolese Franc"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "JP¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kenyan Shilling"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LRD": {
+ "name": "Liberian Dollar"
+ },
+ "LYD": {
+ "name": "Libyan Dinar"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NAD": {
+ "name": "Namibian Dollar"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "NGN": {
+ "name": "Nigerian Naira"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Rouble"
+ },
+ "RWF": {
+ "name": "Rwandan Franc"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudi Riyal"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somali Shilling"
+ },
+ "ZAR": {
+ "name": "South African Rand"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SHP": {
+ "name": "St. Helena Pound"
+ },
+ "SDG": {
+ "name": "Sudanese Pound"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swiss Franc"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunisian Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/en-MU.json b/vendor/commerceguys/intl/resources/currency/en-MU.json
new file mode 100644
index 000000000..9a98b79b8
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/en-MU.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Algerian Dinar"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Rouble"
+ },
+ "BYR": {
+ "name": "Belarusian Rouble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswanan Pula"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundian Franc"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CN¥"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "KMF": {
+ "name": "Comorian Franc"
+ },
+ "CDF": {
+ "name": "Congolese Franc"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "JP¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kenyan Shilling"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LRD": {
+ "name": "Liberian Dollar"
+ },
+ "LYD": {
+ "name": "Libyan Dinar"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee",
+ "symbol": "Rs"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NAD": {
+ "name": "Namibian Dollar"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "NGN": {
+ "name": "Nigerian Naira"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Rouble"
+ },
+ "RWF": {
+ "name": "Rwandan Franc"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudi Riyal"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somali Shilling"
+ },
+ "ZAR": {
+ "name": "South African Rand"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SHP": {
+ "name": "St. Helena Pound"
+ },
+ "SDG": {
+ "name": "Sudanese Pound"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swiss Franc"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunisian Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/en-MW.json b/vendor/commerceguys/intl/resources/currency/en-MW.json
new file mode 100644
index 000000000..2cae7e10c
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/en-MW.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Algerian Dinar"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Rouble"
+ },
+ "BYR": {
+ "name": "Belarusian Rouble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswanan Pula"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundian Franc"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CN¥"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "KMF": {
+ "name": "Comorian Franc"
+ },
+ "CDF": {
+ "name": "Congolese Franc"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "JP¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kenyan Shilling"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LRD": {
+ "name": "Liberian Dollar"
+ },
+ "LYD": {
+ "name": "Libyan Dinar"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha",
+ "symbol": "MK"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NAD": {
+ "name": "Namibian Dollar"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "NGN": {
+ "name": "Nigerian Naira"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Rouble"
+ },
+ "RWF": {
+ "name": "Rwandan Franc"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudi Riyal"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somali Shilling"
+ },
+ "ZAR": {
+ "name": "South African Rand"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SHP": {
+ "name": "St. Helena Pound"
+ },
+ "SDG": {
+ "name": "Sudanese Pound"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swiss Franc"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunisian Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/en-MY.json b/vendor/commerceguys/intl/resources/currency/en-MY.json
new file mode 100644
index 000000000..f01a127b3
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/en-MY.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Algerian Dinar"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Rouble"
+ },
+ "BYR": {
+ "name": "Belarusian Rouble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswanan Pula"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundian Franc"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CN¥"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "KMF": {
+ "name": "Comorian Franc"
+ },
+ "CDF": {
+ "name": "Congolese Franc"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "JP¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kenyan Shilling"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LRD": {
+ "name": "Liberian Dollar"
+ },
+ "LYD": {
+ "name": "Libyan Dinar"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit",
+ "symbol": "RM"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NAD": {
+ "name": "Namibian Dollar"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "NGN": {
+ "name": "Nigerian Naira"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Rouble"
+ },
+ "RWF": {
+ "name": "Rwandan Franc"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudi Riyal"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somali Shilling"
+ },
+ "ZAR": {
+ "name": "South African Rand"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SHP": {
+ "name": "St. Helena Pound"
+ },
+ "SDG": {
+ "name": "Sudanese Pound"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swiss Franc"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunisian Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/en-NA.json b/vendor/commerceguys/intl/resources/currency/en-NA.json
new file mode 100644
index 000000000..0f6fc29fb
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/en-NA.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Algerian Dinar"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Rouble"
+ },
+ "BYR": {
+ "name": "Belarusian Rouble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswanan Pula"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundian Franc"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CN¥"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "KMF": {
+ "name": "Comorian Franc"
+ },
+ "CDF": {
+ "name": "Congolese Franc"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "JP¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kenyan Shilling"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LRD": {
+ "name": "Liberian Dollar"
+ },
+ "LYD": {
+ "name": "Libyan Dinar"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NAD": {
+ "name": "Namibian Dollar",
+ "symbol": "$"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "NGN": {
+ "name": "Nigerian Naira"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Rouble"
+ },
+ "RWF": {
+ "name": "Rwandan Franc"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudi Riyal"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somali Shilling"
+ },
+ "ZAR": {
+ "name": "South African Rand"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SHP": {
+ "name": "St. Helena Pound"
+ },
+ "SDG": {
+ "name": "Sudanese Pound"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swiss Franc"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunisian Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/en-NF.json b/vendor/commerceguys/intl/resources/currency/en-NF.json
new file mode 100644
index 000000000..1b1219952
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/en-NF.json
@@ -0,0 +1,496 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Algerian Dinar"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Rouble"
+ },
+ "BYR": {
+ "name": "Belarusian Rouble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswanan Pula"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundian Franc"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CN¥"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "KMF": {
+ "name": "Comorian Franc"
+ },
+ "CDF": {
+ "name": "Congolese Franc"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "JP¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kenyan Shilling"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LRD": {
+ "name": "Liberian Dollar"
+ },
+ "LYD": {
+ "name": "Libyan Dinar"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NAD": {
+ "name": "Namibian Dollar"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "NGN": {
+ "name": "Nigerian Naira"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Rouble"
+ },
+ "RWF": {
+ "name": "Rwandan Franc"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudi Riyal"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somali Shilling"
+ },
+ "ZAR": {
+ "name": "South African Rand"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SHP": {
+ "name": "St. Helena Pound"
+ },
+ "SDG": {
+ "name": "Sudanese Pound"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swiss Franc"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunisian Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/en-NG.json b/vendor/commerceguys/intl/resources/currency/en-NG.json
new file mode 100644
index 000000000..bd2936b1f
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/en-NG.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Algerian Dinar"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Rouble"
+ },
+ "BYR": {
+ "name": "Belarusian Rouble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswanan Pula"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundian Franc"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CN¥"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "KMF": {
+ "name": "Comorian Franc"
+ },
+ "CDF": {
+ "name": "Congolese Franc"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "JP¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kenyan Shilling"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LRD": {
+ "name": "Liberian Dollar"
+ },
+ "LYD": {
+ "name": "Libyan Dinar"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NAD": {
+ "name": "Namibian Dollar"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "NGN": {
+ "name": "Nigerian Naira",
+ "symbol": "₦"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Rouble"
+ },
+ "RWF": {
+ "name": "Rwandan Franc"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudi Riyal"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somali Shilling"
+ },
+ "ZAR": {
+ "name": "South African Rand"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SHP": {
+ "name": "St. Helena Pound"
+ },
+ "SDG": {
+ "name": "Sudanese Pound"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swiss Franc"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunisian Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/en-NL.json b/vendor/commerceguys/intl/resources/currency/en-NL.json
new file mode 100644
index 000000000..0222bca60
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/en-NL.json
@@ -0,0 +1,496 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Algerian Dinar"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Rouble"
+ },
+ "BYR": {
+ "name": "Belarusian Rouble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswanan Pula"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundian Franc"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CN¥"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "KMF": {
+ "name": "Comorian Franc"
+ },
+ "CDF": {
+ "name": "Congolese Franc"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "JP¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kenyan Shilling"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LRD": {
+ "name": "Liberian Dollar"
+ },
+ "LYD": {
+ "name": "Libyan Dinar"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NAD": {
+ "name": "Namibian Dollar"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "NGN": {
+ "name": "Nigerian Naira"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Rouble"
+ },
+ "RWF": {
+ "name": "Rwandan Franc"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudi Riyal"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somali Shilling"
+ },
+ "ZAR": {
+ "name": "South African Rand"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SHP": {
+ "name": "St. Helena Pound"
+ },
+ "SDG": {
+ "name": "Sudanese Pound"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swiss Franc"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunisian Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/en-NR.json b/vendor/commerceguys/intl/resources/currency/en-NR.json
new file mode 100644
index 000000000..1b1219952
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/en-NR.json
@@ -0,0 +1,496 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Algerian Dinar"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Rouble"
+ },
+ "BYR": {
+ "name": "Belarusian Rouble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswanan Pula"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundian Franc"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CN¥"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "KMF": {
+ "name": "Comorian Franc"
+ },
+ "CDF": {
+ "name": "Congolese Franc"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "JP¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kenyan Shilling"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LRD": {
+ "name": "Liberian Dollar"
+ },
+ "LYD": {
+ "name": "Libyan Dinar"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NAD": {
+ "name": "Namibian Dollar"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "NGN": {
+ "name": "Nigerian Naira"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Rouble"
+ },
+ "RWF": {
+ "name": "Rwandan Franc"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudi Riyal"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somali Shilling"
+ },
+ "ZAR": {
+ "name": "South African Rand"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SHP": {
+ "name": "St. Helena Pound"
+ },
+ "SDG": {
+ "name": "Sudanese Pound"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swiss Franc"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunisian Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/en-NU.json b/vendor/commerceguys/intl/resources/currency/en-NU.json
new file mode 100644
index 000000000..9158ce9db
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/en-NU.json
@@ -0,0 +1,496 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Algerian Dinar"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Rouble"
+ },
+ "BYR": {
+ "name": "Belarusian Rouble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswanan Pula"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundian Franc"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CN¥"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "KMF": {
+ "name": "Comorian Franc"
+ },
+ "CDF": {
+ "name": "Congolese Franc"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "JP¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kenyan Shilling"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LRD": {
+ "name": "Liberian Dollar"
+ },
+ "LYD": {
+ "name": "Libyan Dinar"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NAD": {
+ "name": "Namibian Dollar"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "NGN": {
+ "name": "Nigerian Naira"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Rouble"
+ },
+ "RWF": {
+ "name": "Rwandan Franc"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudi Riyal"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somali Shilling"
+ },
+ "ZAR": {
+ "name": "South African Rand"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SHP": {
+ "name": "St. Helena Pound"
+ },
+ "SDG": {
+ "name": "Sudanese Pound"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swiss Franc"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunisian Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/en-NZ.json b/vendor/commerceguys/intl/resources/currency/en-NZ.json
new file mode 100644
index 000000000..9158ce9db
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/en-NZ.json
@@ -0,0 +1,496 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Algerian Dinar"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Rouble"
+ },
+ "BYR": {
+ "name": "Belarusian Rouble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswanan Pula"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundian Franc"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CN¥"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "KMF": {
+ "name": "Comorian Franc"
+ },
+ "CDF": {
+ "name": "Congolese Franc"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "JP¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kenyan Shilling"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LRD": {
+ "name": "Liberian Dollar"
+ },
+ "LYD": {
+ "name": "Libyan Dinar"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NAD": {
+ "name": "Namibian Dollar"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "NGN": {
+ "name": "Nigerian Naira"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Rouble"
+ },
+ "RWF": {
+ "name": "Rwandan Franc"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudi Riyal"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somali Shilling"
+ },
+ "ZAR": {
+ "name": "South African Rand"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SHP": {
+ "name": "St. Helena Pound"
+ },
+ "SDG": {
+ "name": "Sudanese Pound"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swiss Franc"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunisian Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/en-PG.json b/vendor/commerceguys/intl/resources/currency/en-PG.json
new file mode 100644
index 000000000..b516c4fa1
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/en-PG.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Algerian Dinar"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Rouble"
+ },
+ "BYR": {
+ "name": "Belarusian Rouble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswanan Pula"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundian Franc"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CN¥"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "KMF": {
+ "name": "Comorian Franc"
+ },
+ "CDF": {
+ "name": "Congolese Franc"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "JP¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kenyan Shilling"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LRD": {
+ "name": "Liberian Dollar"
+ },
+ "LYD": {
+ "name": "Libyan Dinar"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NAD": {
+ "name": "Namibian Dollar"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "NGN": {
+ "name": "Nigerian Naira"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina",
+ "symbol": "K"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Rouble"
+ },
+ "RWF": {
+ "name": "Rwandan Franc"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudi Riyal"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somali Shilling"
+ },
+ "ZAR": {
+ "name": "South African Rand"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SHP": {
+ "name": "St. Helena Pound"
+ },
+ "SDG": {
+ "name": "Sudanese Pound"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swiss Franc"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunisian Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/en-PH.json b/vendor/commerceguys/intl/resources/currency/en-PH.json
new file mode 100644
index 000000000..0d0e909f4
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/en-PH.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Algerian Dinar"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Rouble"
+ },
+ "BYR": {
+ "name": "Belarusian Rouble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswanan Pula"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundian Franc"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CN¥"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "KMF": {
+ "name": "Comorian Franc"
+ },
+ "CDF": {
+ "name": "Congolese Franc"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "JP¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kenyan Shilling"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LRD": {
+ "name": "Liberian Dollar"
+ },
+ "LYD": {
+ "name": "Libyan Dinar"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NAD": {
+ "name": "Namibian Dollar"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "NGN": {
+ "name": "Nigerian Naira"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso",
+ "symbol": "₱"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Rouble"
+ },
+ "RWF": {
+ "name": "Rwandan Franc"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudi Riyal"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somali Shilling"
+ },
+ "ZAR": {
+ "name": "South African Rand"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SHP": {
+ "name": "St. Helena Pound"
+ },
+ "SDG": {
+ "name": "Sudanese Pound"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swiss Franc"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunisian Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/en-PK.json b/vendor/commerceguys/intl/resources/currency/en-PK.json
new file mode 100644
index 000000000..3efdccab9
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/en-PK.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Algerian Dinar"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Rouble"
+ },
+ "BYR": {
+ "name": "Belarusian Rouble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswanan Pula"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundian Franc"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CN¥"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "KMF": {
+ "name": "Comorian Franc"
+ },
+ "CDF": {
+ "name": "Congolese Franc"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "JP¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kenyan Shilling"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LRD": {
+ "name": "Liberian Dollar"
+ },
+ "LYD": {
+ "name": "Libyan Dinar"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NAD": {
+ "name": "Namibian Dollar"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "NGN": {
+ "name": "Nigerian Naira"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee",
+ "symbol": "Rs"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Rouble"
+ },
+ "RWF": {
+ "name": "Rwandan Franc"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudi Riyal"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somali Shilling"
+ },
+ "ZAR": {
+ "name": "South African Rand"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SHP": {
+ "name": "St. Helena Pound"
+ },
+ "SDG": {
+ "name": "Sudanese Pound"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swiss Franc"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunisian Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/en-PN.json b/vendor/commerceguys/intl/resources/currency/en-PN.json
new file mode 100644
index 000000000..9158ce9db
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/en-PN.json
@@ -0,0 +1,496 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Algerian Dinar"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Rouble"
+ },
+ "BYR": {
+ "name": "Belarusian Rouble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswanan Pula"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundian Franc"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CN¥"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "KMF": {
+ "name": "Comorian Franc"
+ },
+ "CDF": {
+ "name": "Congolese Franc"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "JP¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kenyan Shilling"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LRD": {
+ "name": "Liberian Dollar"
+ },
+ "LYD": {
+ "name": "Libyan Dinar"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NAD": {
+ "name": "Namibian Dollar"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "NGN": {
+ "name": "Nigerian Naira"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Rouble"
+ },
+ "RWF": {
+ "name": "Rwandan Franc"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudi Riyal"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somali Shilling"
+ },
+ "ZAR": {
+ "name": "South African Rand"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SHP": {
+ "name": "St. Helena Pound"
+ },
+ "SDG": {
+ "name": "Sudanese Pound"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swiss Franc"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunisian Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/en-PW.json b/vendor/commerceguys/intl/resources/currency/en-PW.json
new file mode 100644
index 000000000..0222bca60
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/en-PW.json
@@ -0,0 +1,496 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Algerian Dinar"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Rouble"
+ },
+ "BYR": {
+ "name": "Belarusian Rouble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswanan Pula"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundian Franc"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CN¥"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "KMF": {
+ "name": "Comorian Franc"
+ },
+ "CDF": {
+ "name": "Congolese Franc"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "JP¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kenyan Shilling"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LRD": {
+ "name": "Liberian Dollar"
+ },
+ "LYD": {
+ "name": "Libyan Dinar"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NAD": {
+ "name": "Namibian Dollar"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "NGN": {
+ "name": "Nigerian Naira"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Rouble"
+ },
+ "RWF": {
+ "name": "Rwandan Franc"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudi Riyal"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somali Shilling"
+ },
+ "ZAR": {
+ "name": "South African Rand"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SHP": {
+ "name": "St. Helena Pound"
+ },
+ "SDG": {
+ "name": "Sudanese Pound"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swiss Franc"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunisian Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/en-RW.json b/vendor/commerceguys/intl/resources/currency/en-RW.json
new file mode 100644
index 000000000..29ae52fa7
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/en-RW.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Algerian Dinar"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Rouble"
+ },
+ "BYR": {
+ "name": "Belarusian Rouble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswanan Pula"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundian Franc"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CN¥"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "KMF": {
+ "name": "Comorian Franc"
+ },
+ "CDF": {
+ "name": "Congolese Franc"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "JP¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kenyan Shilling"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LRD": {
+ "name": "Liberian Dollar"
+ },
+ "LYD": {
+ "name": "Libyan Dinar"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NAD": {
+ "name": "Namibian Dollar"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "NGN": {
+ "name": "Nigerian Naira"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Rouble"
+ },
+ "RWF": {
+ "name": "Rwandan Franc",
+ "symbol": "RF"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudi Riyal"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somali Shilling"
+ },
+ "ZAR": {
+ "name": "South African Rand"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SHP": {
+ "name": "St. Helena Pound"
+ },
+ "SDG": {
+ "name": "Sudanese Pound"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swiss Franc"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunisian Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/en-SB.json b/vendor/commerceguys/intl/resources/currency/en-SB.json
new file mode 100644
index 000000000..3263b8692
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/en-SB.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Algerian Dinar"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Rouble"
+ },
+ "BYR": {
+ "name": "Belarusian Rouble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswanan Pula"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundian Franc"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CN¥"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "KMF": {
+ "name": "Comorian Franc"
+ },
+ "CDF": {
+ "name": "Congolese Franc"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "JP¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kenyan Shilling"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LRD": {
+ "name": "Liberian Dollar"
+ },
+ "LYD": {
+ "name": "Libyan Dinar"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NAD": {
+ "name": "Namibian Dollar"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "NGN": {
+ "name": "Nigerian Naira"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Rouble"
+ },
+ "RWF": {
+ "name": "Rwandan Franc"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudi Riyal"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar",
+ "symbol": "$"
+ },
+ "SOS": {
+ "name": "Somali Shilling"
+ },
+ "ZAR": {
+ "name": "South African Rand"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SHP": {
+ "name": "St. Helena Pound"
+ },
+ "SDG": {
+ "name": "Sudanese Pound"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swiss Franc"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunisian Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/en-SC.json b/vendor/commerceguys/intl/resources/currency/en-SC.json
new file mode 100644
index 000000000..62595c166
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/en-SC.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Algerian Dinar"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Rouble"
+ },
+ "BYR": {
+ "name": "Belarusian Rouble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswanan Pula"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundian Franc"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CN¥"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "KMF": {
+ "name": "Comorian Franc"
+ },
+ "CDF": {
+ "name": "Congolese Franc"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "JP¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kenyan Shilling"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LRD": {
+ "name": "Liberian Dollar"
+ },
+ "LYD": {
+ "name": "Libyan Dinar"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NAD": {
+ "name": "Namibian Dollar"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "NGN": {
+ "name": "Nigerian Naira"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Rouble"
+ },
+ "RWF": {
+ "name": "Rwandan Franc"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudi Riyal"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee",
+ "symbol": "SR"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somali Shilling"
+ },
+ "ZAR": {
+ "name": "South African Rand"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SHP": {
+ "name": "St. Helena Pound"
+ },
+ "SDG": {
+ "name": "Sudanese Pound"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swiss Franc"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunisian Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/en-SD.json b/vendor/commerceguys/intl/resources/currency/en-SD.json
new file mode 100644
index 000000000..0222bca60
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/en-SD.json
@@ -0,0 +1,496 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Algerian Dinar"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Rouble"
+ },
+ "BYR": {
+ "name": "Belarusian Rouble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswanan Pula"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundian Franc"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CN¥"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "KMF": {
+ "name": "Comorian Franc"
+ },
+ "CDF": {
+ "name": "Congolese Franc"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "JP¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kenyan Shilling"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LRD": {
+ "name": "Liberian Dollar"
+ },
+ "LYD": {
+ "name": "Libyan Dinar"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NAD": {
+ "name": "Namibian Dollar"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "NGN": {
+ "name": "Nigerian Naira"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Rouble"
+ },
+ "RWF": {
+ "name": "Rwandan Franc"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudi Riyal"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somali Shilling"
+ },
+ "ZAR": {
+ "name": "South African Rand"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SHP": {
+ "name": "St. Helena Pound"
+ },
+ "SDG": {
+ "name": "Sudanese Pound"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swiss Franc"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunisian Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/en-SE.json b/vendor/commerceguys/intl/resources/currency/en-SE.json
new file mode 100644
index 000000000..06f298c3e
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/en-SE.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Algerian Dinar"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Rouble"
+ },
+ "BYR": {
+ "name": "Belarusian Rouble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswanan Pula"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundian Franc"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CN¥"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "KMF": {
+ "name": "Comorian Franc"
+ },
+ "CDF": {
+ "name": "Congolese Franc"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "JP¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kenyan Shilling"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LRD": {
+ "name": "Liberian Dollar"
+ },
+ "LYD": {
+ "name": "Libyan Dinar"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NAD": {
+ "name": "Namibian Dollar"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "NGN": {
+ "name": "Nigerian Naira"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Rouble"
+ },
+ "RWF": {
+ "name": "Rwandan Franc"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudi Riyal"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somali Shilling"
+ },
+ "ZAR": {
+ "name": "South African Rand"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SHP": {
+ "name": "St. Helena Pound"
+ },
+ "SDG": {
+ "name": "Sudanese Pound"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni"
+ },
+ "SEK": {
+ "name": "Swedish Krona",
+ "symbol": "kr"
+ },
+ "CHF": {
+ "name": "Swiss Franc"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunisian Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/en-SG.json b/vendor/commerceguys/intl/resources/currency/en-SG.json
new file mode 100644
index 000000000..d87cccad3
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/en-SG.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Algerian Dinar"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Rouble"
+ },
+ "BYR": {
+ "name": "Belarusian Rouble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswanan Pula"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundian Franc"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CN¥"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "KMF": {
+ "name": "Comorian Franc"
+ },
+ "CDF": {
+ "name": "Congolese Franc"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "JP¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kenyan Shilling"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LRD": {
+ "name": "Liberian Dollar"
+ },
+ "LYD": {
+ "name": "Libyan Dinar"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NAD": {
+ "name": "Namibian Dollar"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "NGN": {
+ "name": "Nigerian Naira"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Rouble"
+ },
+ "RWF": {
+ "name": "Rwandan Franc"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudi Riyal"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone"
+ },
+ "SGD": {
+ "name": "Singapore Dollar",
+ "symbol": "$"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somali Shilling"
+ },
+ "ZAR": {
+ "name": "South African Rand"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SHP": {
+ "name": "St. Helena Pound"
+ },
+ "SDG": {
+ "name": "Sudanese Pound"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swiss Franc"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunisian Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/en-SH.json b/vendor/commerceguys/intl/resources/currency/en-SH.json
new file mode 100644
index 000000000..a09415df8
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/en-SH.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Algerian Dinar"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Rouble"
+ },
+ "BYR": {
+ "name": "Belarusian Rouble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswanan Pula"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound",
+ "symbol": "GB£"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundian Franc"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CN¥"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "KMF": {
+ "name": "Comorian Franc"
+ },
+ "CDF": {
+ "name": "Congolese Franc"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "JP¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kenyan Shilling"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LRD": {
+ "name": "Liberian Dollar"
+ },
+ "LYD": {
+ "name": "Libyan Dinar"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NAD": {
+ "name": "Namibian Dollar"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "NGN": {
+ "name": "Nigerian Naira"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Rouble"
+ },
+ "RWF": {
+ "name": "Rwandan Franc"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudi Riyal"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somali Shilling"
+ },
+ "ZAR": {
+ "name": "South African Rand"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SHP": {
+ "name": "St. Helena Pound",
+ "symbol": "£"
+ },
+ "SDG": {
+ "name": "Sudanese Pound"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swiss Franc"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunisian Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/en-SI.json b/vendor/commerceguys/intl/resources/currency/en-SI.json
new file mode 100644
index 000000000..0222bca60
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/en-SI.json
@@ -0,0 +1,496 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Algerian Dinar"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Rouble"
+ },
+ "BYR": {
+ "name": "Belarusian Rouble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswanan Pula"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundian Franc"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CN¥"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "KMF": {
+ "name": "Comorian Franc"
+ },
+ "CDF": {
+ "name": "Congolese Franc"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "JP¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kenyan Shilling"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LRD": {
+ "name": "Liberian Dollar"
+ },
+ "LYD": {
+ "name": "Libyan Dinar"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NAD": {
+ "name": "Namibian Dollar"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "NGN": {
+ "name": "Nigerian Naira"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Rouble"
+ },
+ "RWF": {
+ "name": "Rwandan Franc"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudi Riyal"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somali Shilling"
+ },
+ "ZAR": {
+ "name": "South African Rand"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SHP": {
+ "name": "St. Helena Pound"
+ },
+ "SDG": {
+ "name": "Sudanese Pound"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swiss Franc"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunisian Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/en-SL.json b/vendor/commerceguys/intl/resources/currency/en-SL.json
new file mode 100644
index 000000000..855450aed
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/en-SL.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Algerian Dinar"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Rouble"
+ },
+ "BYR": {
+ "name": "Belarusian Rouble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswanan Pula"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundian Franc"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CN¥"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "KMF": {
+ "name": "Comorian Franc"
+ },
+ "CDF": {
+ "name": "Congolese Franc"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "JP¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kenyan Shilling"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LRD": {
+ "name": "Liberian Dollar"
+ },
+ "LYD": {
+ "name": "Libyan Dinar"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NAD": {
+ "name": "Namibian Dollar"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "NGN": {
+ "name": "Nigerian Naira"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Rouble"
+ },
+ "RWF": {
+ "name": "Rwandan Franc"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudi Riyal"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone",
+ "symbol": "Le"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somali Shilling"
+ },
+ "ZAR": {
+ "name": "South African Rand"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SHP": {
+ "name": "St. Helena Pound"
+ },
+ "SDG": {
+ "name": "Sudanese Pound"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swiss Franc"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunisian Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/en-SS.json b/vendor/commerceguys/intl/resources/currency/en-SS.json
new file mode 100644
index 000000000..06451eb04
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/en-SS.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Algerian Dinar"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Rouble"
+ },
+ "BYR": {
+ "name": "Belarusian Rouble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswanan Pula"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound",
+ "symbol": "GB£"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundian Franc"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CN¥"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "KMF": {
+ "name": "Comorian Franc"
+ },
+ "CDF": {
+ "name": "Congolese Franc"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "JP¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kenyan Shilling"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LRD": {
+ "name": "Liberian Dollar"
+ },
+ "LYD": {
+ "name": "Libyan Dinar"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NAD": {
+ "name": "Namibian Dollar"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "NGN": {
+ "name": "Nigerian Naira"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Rouble"
+ },
+ "RWF": {
+ "name": "Rwandan Franc"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudi Riyal"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somali Shilling"
+ },
+ "ZAR": {
+ "name": "South African Rand"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound",
+ "symbol": "£"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SHP": {
+ "name": "St. Helena Pound"
+ },
+ "SDG": {
+ "name": "Sudanese Pound"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swiss Franc"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunisian Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/en-SX.json b/vendor/commerceguys/intl/resources/currency/en-SX.json
new file mode 100644
index 000000000..8281d7ca8
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/en-SX.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Algerian Dinar"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Rouble"
+ },
+ "BYR": {
+ "name": "Belarusian Rouble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswanan Pula"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundian Franc"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CN¥"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "KMF": {
+ "name": "Comorian Franc"
+ },
+ "CDF": {
+ "name": "Congolese Franc"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "JP¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kenyan Shilling"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LRD": {
+ "name": "Liberian Dollar"
+ },
+ "LYD": {
+ "name": "Libyan Dinar"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NAD": {
+ "name": "Namibian Dollar"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder",
+ "symbol": "NAf."
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "NGN": {
+ "name": "Nigerian Naira"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Rouble"
+ },
+ "RWF": {
+ "name": "Rwandan Franc"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudi Riyal"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somali Shilling"
+ },
+ "ZAR": {
+ "name": "South African Rand"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SHP": {
+ "name": "St. Helena Pound"
+ },
+ "SDG": {
+ "name": "Sudanese Pound"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swiss Franc"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunisian Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/en-SZ.json b/vendor/commerceguys/intl/resources/currency/en-SZ.json
new file mode 100644
index 000000000..13ba67805
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/en-SZ.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Algerian Dinar"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Rouble"
+ },
+ "BYR": {
+ "name": "Belarusian Rouble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswanan Pula"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundian Franc"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CN¥"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "KMF": {
+ "name": "Comorian Franc"
+ },
+ "CDF": {
+ "name": "Congolese Franc"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "JP¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kenyan Shilling"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LRD": {
+ "name": "Liberian Dollar"
+ },
+ "LYD": {
+ "name": "Libyan Dinar"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NAD": {
+ "name": "Namibian Dollar"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "NGN": {
+ "name": "Nigerian Naira"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Rouble"
+ },
+ "RWF": {
+ "name": "Rwandan Franc"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudi Riyal"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somali Shilling"
+ },
+ "ZAR": {
+ "name": "South African Rand"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SHP": {
+ "name": "St. Helena Pound"
+ },
+ "SDG": {
+ "name": "Sudanese Pound"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni",
+ "symbol": "E"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swiss Franc"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunisian Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/en-TC.json b/vendor/commerceguys/intl/resources/currency/en-TC.json
new file mode 100644
index 000000000..0222bca60
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/en-TC.json
@@ -0,0 +1,496 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Algerian Dinar"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Rouble"
+ },
+ "BYR": {
+ "name": "Belarusian Rouble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswanan Pula"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundian Franc"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CN¥"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "KMF": {
+ "name": "Comorian Franc"
+ },
+ "CDF": {
+ "name": "Congolese Franc"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "JP¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kenyan Shilling"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LRD": {
+ "name": "Liberian Dollar"
+ },
+ "LYD": {
+ "name": "Libyan Dinar"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NAD": {
+ "name": "Namibian Dollar"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "NGN": {
+ "name": "Nigerian Naira"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Rouble"
+ },
+ "RWF": {
+ "name": "Rwandan Franc"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudi Riyal"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somali Shilling"
+ },
+ "ZAR": {
+ "name": "South African Rand"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SHP": {
+ "name": "St. Helena Pound"
+ },
+ "SDG": {
+ "name": "Sudanese Pound"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swiss Franc"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunisian Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/en-TK.json b/vendor/commerceguys/intl/resources/currency/en-TK.json
new file mode 100644
index 000000000..9158ce9db
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/en-TK.json
@@ -0,0 +1,496 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Algerian Dinar"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Rouble"
+ },
+ "BYR": {
+ "name": "Belarusian Rouble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswanan Pula"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundian Franc"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CN¥"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "KMF": {
+ "name": "Comorian Franc"
+ },
+ "CDF": {
+ "name": "Congolese Franc"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "JP¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kenyan Shilling"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LRD": {
+ "name": "Liberian Dollar"
+ },
+ "LYD": {
+ "name": "Libyan Dinar"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NAD": {
+ "name": "Namibian Dollar"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "NGN": {
+ "name": "Nigerian Naira"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Rouble"
+ },
+ "RWF": {
+ "name": "Rwandan Franc"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudi Riyal"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somali Shilling"
+ },
+ "ZAR": {
+ "name": "South African Rand"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SHP": {
+ "name": "St. Helena Pound"
+ },
+ "SDG": {
+ "name": "Sudanese Pound"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swiss Franc"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunisian Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/en-TO.json b/vendor/commerceguys/intl/resources/currency/en-TO.json
new file mode 100644
index 000000000..caf96fdb1
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/en-TO.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Algerian Dinar"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Rouble"
+ },
+ "BYR": {
+ "name": "Belarusian Rouble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswanan Pula"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundian Franc"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CN¥"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "KMF": {
+ "name": "Comorian Franc"
+ },
+ "CDF": {
+ "name": "Congolese Franc"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "JP¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kenyan Shilling"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LRD": {
+ "name": "Liberian Dollar"
+ },
+ "LYD": {
+ "name": "Libyan Dinar"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NAD": {
+ "name": "Namibian Dollar"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "NGN": {
+ "name": "Nigerian Naira"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Rouble"
+ },
+ "RWF": {
+ "name": "Rwandan Franc"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudi Riyal"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somali Shilling"
+ },
+ "ZAR": {
+ "name": "South African Rand"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SHP": {
+ "name": "St. Helena Pound"
+ },
+ "SDG": {
+ "name": "Sudanese Pound"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swiss Franc"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga",
+ "symbol": "T$"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunisian Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/en-TT.json b/vendor/commerceguys/intl/resources/currency/en-TT.json
new file mode 100644
index 000000000..ecc602635
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/en-TT.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Algerian Dinar"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Rouble"
+ },
+ "BYR": {
+ "name": "Belarusian Rouble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswanan Pula"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundian Franc"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CN¥"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "KMF": {
+ "name": "Comorian Franc"
+ },
+ "CDF": {
+ "name": "Congolese Franc"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "JP¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kenyan Shilling"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LRD": {
+ "name": "Liberian Dollar"
+ },
+ "LYD": {
+ "name": "Libyan Dinar"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NAD": {
+ "name": "Namibian Dollar"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "NGN": {
+ "name": "Nigerian Naira"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Rouble"
+ },
+ "RWF": {
+ "name": "Rwandan Franc"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudi Riyal"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somali Shilling"
+ },
+ "ZAR": {
+ "name": "South African Rand"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SHP": {
+ "name": "St. Helena Pound"
+ },
+ "SDG": {
+ "name": "Sudanese Pound"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swiss Franc"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar",
+ "symbol": "$"
+ },
+ "TND": {
+ "name": "Tunisian Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/en-TV.json b/vendor/commerceguys/intl/resources/currency/en-TV.json
new file mode 100644
index 000000000..1b1219952
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/en-TV.json
@@ -0,0 +1,496 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Algerian Dinar"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Rouble"
+ },
+ "BYR": {
+ "name": "Belarusian Rouble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswanan Pula"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundian Franc"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CN¥"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "KMF": {
+ "name": "Comorian Franc"
+ },
+ "CDF": {
+ "name": "Congolese Franc"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "JP¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kenyan Shilling"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LRD": {
+ "name": "Liberian Dollar"
+ },
+ "LYD": {
+ "name": "Libyan Dinar"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NAD": {
+ "name": "Namibian Dollar"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "NGN": {
+ "name": "Nigerian Naira"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Rouble"
+ },
+ "RWF": {
+ "name": "Rwandan Franc"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudi Riyal"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somali Shilling"
+ },
+ "ZAR": {
+ "name": "South African Rand"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SHP": {
+ "name": "St. Helena Pound"
+ },
+ "SDG": {
+ "name": "Sudanese Pound"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swiss Franc"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunisian Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/en-TZ.json b/vendor/commerceguys/intl/resources/currency/en-TZ.json
new file mode 100644
index 000000000..0bceeffe8
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/en-TZ.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Algerian Dinar"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Rouble"
+ },
+ "BYR": {
+ "name": "Belarusian Rouble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswanan Pula"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundian Franc"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CN¥"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "KMF": {
+ "name": "Comorian Franc"
+ },
+ "CDF": {
+ "name": "Congolese Franc"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "JP¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kenyan Shilling"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LRD": {
+ "name": "Liberian Dollar"
+ },
+ "LYD": {
+ "name": "Libyan Dinar"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NAD": {
+ "name": "Namibian Dollar"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "NGN": {
+ "name": "Nigerian Naira"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Rouble"
+ },
+ "RWF": {
+ "name": "Rwandan Franc"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudi Riyal"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somali Shilling"
+ },
+ "ZAR": {
+ "name": "South African Rand"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SHP": {
+ "name": "St. Helena Pound"
+ },
+ "SDG": {
+ "name": "Sudanese Pound"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swiss Franc"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling",
+ "symbol": "TSh"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunisian Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/en-UG.json b/vendor/commerceguys/intl/resources/currency/en-UG.json
new file mode 100644
index 000000000..852f4f8ce
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/en-UG.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Algerian Dinar"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Rouble"
+ },
+ "BYR": {
+ "name": "Belarusian Rouble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswanan Pula"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundian Franc"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CN¥"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "KMF": {
+ "name": "Comorian Franc"
+ },
+ "CDF": {
+ "name": "Congolese Franc"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "JP¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kenyan Shilling"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LRD": {
+ "name": "Liberian Dollar"
+ },
+ "LYD": {
+ "name": "Libyan Dinar"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NAD": {
+ "name": "Namibian Dollar"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "NGN": {
+ "name": "Nigerian Naira"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Rouble"
+ },
+ "RWF": {
+ "name": "Rwandan Franc"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudi Riyal"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somali Shilling"
+ },
+ "ZAR": {
+ "name": "South African Rand"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SHP": {
+ "name": "St. Helena Pound"
+ },
+ "SDG": {
+ "name": "Sudanese Pound"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swiss Franc"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunisian Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling",
+ "symbol": "USh"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/en-VC.json b/vendor/commerceguys/intl/resources/currency/en-VC.json
new file mode 100644
index 000000000..8b5a17450
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/en-VC.json
@@ -0,0 +1,496 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Algerian Dinar"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Rouble"
+ },
+ "BYR": {
+ "name": "Belarusian Rouble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswanan Pula"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundian Franc"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CN¥"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "KMF": {
+ "name": "Comorian Franc"
+ },
+ "CDF": {
+ "name": "Congolese Franc"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "JP¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kenyan Shilling"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LRD": {
+ "name": "Liberian Dollar"
+ },
+ "LYD": {
+ "name": "Libyan Dinar"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NAD": {
+ "name": "Namibian Dollar"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "NGN": {
+ "name": "Nigerian Naira"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Rouble"
+ },
+ "RWF": {
+ "name": "Rwandan Franc"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudi Riyal"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somali Shilling"
+ },
+ "ZAR": {
+ "name": "South African Rand"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SHP": {
+ "name": "St. Helena Pound"
+ },
+ "SDG": {
+ "name": "Sudanese Pound"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swiss Franc"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunisian Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/en-VG.json b/vendor/commerceguys/intl/resources/currency/en-VG.json
new file mode 100644
index 000000000..0222bca60
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/en-VG.json
@@ -0,0 +1,496 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Algerian Dinar"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Rouble"
+ },
+ "BYR": {
+ "name": "Belarusian Rouble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswanan Pula"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundian Franc"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CN¥"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "KMF": {
+ "name": "Comorian Franc"
+ },
+ "CDF": {
+ "name": "Congolese Franc"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "JP¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kenyan Shilling"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LRD": {
+ "name": "Liberian Dollar"
+ },
+ "LYD": {
+ "name": "Libyan Dinar"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NAD": {
+ "name": "Namibian Dollar"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "NGN": {
+ "name": "Nigerian Naira"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Rouble"
+ },
+ "RWF": {
+ "name": "Rwandan Franc"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudi Riyal"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somali Shilling"
+ },
+ "ZAR": {
+ "name": "South African Rand"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SHP": {
+ "name": "St. Helena Pound"
+ },
+ "SDG": {
+ "name": "Sudanese Pound"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swiss Franc"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunisian Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/en-VU.json b/vendor/commerceguys/intl/resources/currency/en-VU.json
new file mode 100644
index 000000000..2edb41ec8
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/en-VU.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Algerian Dinar"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Rouble"
+ },
+ "BYR": {
+ "name": "Belarusian Rouble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswanan Pula"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundian Franc"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CN¥"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "KMF": {
+ "name": "Comorian Franc"
+ },
+ "CDF": {
+ "name": "Congolese Franc"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "JP¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kenyan Shilling"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LRD": {
+ "name": "Liberian Dollar"
+ },
+ "LYD": {
+ "name": "Libyan Dinar"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NAD": {
+ "name": "Namibian Dollar"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "NGN": {
+ "name": "Nigerian Naira"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Rouble"
+ },
+ "RWF": {
+ "name": "Rwandan Franc"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudi Riyal"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somali Shilling"
+ },
+ "ZAR": {
+ "name": "South African Rand"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SHP": {
+ "name": "St. Helena Pound"
+ },
+ "SDG": {
+ "name": "Sudanese Pound"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swiss Franc"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunisian Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu",
+ "symbol": "VT"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/en-WS.json b/vendor/commerceguys/intl/resources/currency/en-WS.json
new file mode 100644
index 000000000..b27260797
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/en-WS.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Algerian Dinar"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Rouble"
+ },
+ "BYR": {
+ "name": "Belarusian Rouble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswanan Pula"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundian Franc"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CN¥"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "KMF": {
+ "name": "Comorian Franc"
+ },
+ "CDF": {
+ "name": "Congolese Franc"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "JP¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kenyan Shilling"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LRD": {
+ "name": "Liberian Dollar"
+ },
+ "LYD": {
+ "name": "Libyan Dinar"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NAD": {
+ "name": "Namibian Dollar"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "NGN": {
+ "name": "Nigerian Naira"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Rouble"
+ },
+ "RWF": {
+ "name": "Rwandan Franc"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala",
+ "symbol": "WS$"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudi Riyal"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somali Shilling"
+ },
+ "ZAR": {
+ "name": "South African Rand"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SHP": {
+ "name": "St. Helena Pound"
+ },
+ "SDG": {
+ "name": "Sudanese Pound"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swiss Franc"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunisian Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/en-ZA.json b/vendor/commerceguys/intl/resources/currency/en-ZA.json
new file mode 100644
index 000000000..c9bb2a8af
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/en-ZA.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Algerian Dinar"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Rouble"
+ },
+ "BYR": {
+ "name": "Belarusian Rouble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswanan Pula"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundian Franc"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CN¥"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "KMF": {
+ "name": "Comorian Franc"
+ },
+ "CDF": {
+ "name": "Congolese Franc"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "JP¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kenyan Shilling"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LRD": {
+ "name": "Liberian Dollar"
+ },
+ "LYD": {
+ "name": "Libyan Dinar"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NAD": {
+ "name": "Namibian Dollar"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "NGN": {
+ "name": "Nigerian Naira"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Rouble"
+ },
+ "RWF": {
+ "name": "Rwandan Franc"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudi Riyal"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somali Shilling"
+ },
+ "ZAR": {
+ "name": "South African Rand",
+ "symbol": "R"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SHP": {
+ "name": "St. Helena Pound"
+ },
+ "SDG": {
+ "name": "Sudanese Pound"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swiss Franc"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunisian Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/en-ZM.json b/vendor/commerceguys/intl/resources/currency/en-ZM.json
new file mode 100644
index 000000000..f04124b95
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/en-ZM.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Algerian Dinar"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Rouble"
+ },
+ "BYR": {
+ "name": "Belarusian Rouble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswanan Pula"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundian Franc"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CN¥"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "KMF": {
+ "name": "Comorian Franc"
+ },
+ "CDF": {
+ "name": "Congolese Franc"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "JP¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kenyan Shilling"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LRD": {
+ "name": "Liberian Dollar"
+ },
+ "LYD": {
+ "name": "Libyan Dinar"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NAD": {
+ "name": "Namibian Dollar"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "NGN": {
+ "name": "Nigerian Naira"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Rouble"
+ },
+ "RWF": {
+ "name": "Rwandan Franc"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudi Riyal"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somali Shilling"
+ },
+ "ZAR": {
+ "name": "South African Rand"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SHP": {
+ "name": "St. Helena Pound"
+ },
+ "SDG": {
+ "name": "Sudanese Pound"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swiss Franc"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunisian Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha",
+ "symbol": "K"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/en-ZW.json b/vendor/commerceguys/intl/resources/currency/en-ZW.json
new file mode 100644
index 000000000..0222bca60
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/en-ZW.json
@@ -0,0 +1,496 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Algerian Dinar"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Rouble"
+ },
+ "BYR": {
+ "name": "Belarusian Rouble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswanan Pula"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundian Franc"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CN¥"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "KMF": {
+ "name": "Comorian Franc"
+ },
+ "CDF": {
+ "name": "Congolese Franc"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "JP¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kenyan Shilling"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LRD": {
+ "name": "Liberian Dollar"
+ },
+ "LYD": {
+ "name": "Libyan Dinar"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NAD": {
+ "name": "Namibian Dollar"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "NGN": {
+ "name": "Nigerian Naira"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Rouble"
+ },
+ "RWF": {
+ "name": "Rwandan Franc"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudi Riyal"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somali Shilling"
+ },
+ "ZAR": {
+ "name": "South African Rand"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SHP": {
+ "name": "St. Helena Pound"
+ },
+ "SDG": {
+ "name": "Sudanese Pound"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swiss Franc"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunisian Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/en.json b/vendor/commerceguys/intl/resources/currency/en.json
new file mode 100644
index 000000000..c1c83d22a
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/en.json
@@ -0,0 +1,496 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Algerian Dinar"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Ruble"
+ },
+ "BYR": {
+ "name": "Belarusian Ruble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswanan Pula"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundian Franc"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CN¥"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "KMF": {
+ "name": "Comorian Franc"
+ },
+ "CDF": {
+ "name": "Congolese Franc"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kenyan Shilling"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LRD": {
+ "name": "Liberian Dollar"
+ },
+ "LYD": {
+ "name": "Libyan Dinar"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NAD": {
+ "name": "Namibian Dollar"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "NGN": {
+ "name": "Nigerian Naira"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Ruble"
+ },
+ "RWF": {
+ "name": "Rwandan Franc"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudi Riyal"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somali Shilling"
+ },
+ "ZAR": {
+ "name": "South African Rand"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SHP": {
+ "name": "St. Helena Pound"
+ },
+ "SDG": {
+ "name": "Sudanese Pound"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swiss Franc"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunisian Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "$"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/es-AR.json b/vendor/commerceguys/intl/resources/currency/es-AR.json
new file mode 100644
index 000000000..6f11b94bc
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/es-AR.json
@@ -0,0 +1,479 @@
+{
+ "AFN": {
+ "name": "afgani"
+ },
+ "MGA": {
+ "name": "ariari"
+ },
+ "PAB": {
+ "name": "balboa panameño"
+ },
+ "THB": {
+ "name": "bat"
+ },
+ "ETB": {
+ "name": "bir"
+ },
+ "VEF": {
+ "name": "bolívar venezolano"
+ },
+ "BOB": {
+ "name": "boliviano"
+ },
+ "GHS": {
+ "name": "cedi"
+ },
+ "KES": {
+ "name": "chelín keniano"
+ },
+ "SOS": {
+ "name": "chelín somalí"
+ },
+ "TZS": {
+ "name": "chelín tanzano"
+ },
+ "UGX": {
+ "name": "chelín ugandés"
+ },
+ "CRC": {
+ "name": "colón costarricense"
+ },
+ "SVC": {
+ "name": "colón salvadoreño"
+ },
+ "NIO": {
+ "name": "córdoba nicaragüense"
+ },
+ "CZK": {
+ "name": "corona checa"
+ },
+ "DKK": {
+ "name": "corona danesa"
+ },
+ "ISK": {
+ "name": "corona islandesa"
+ },
+ "NOK": {
+ "name": "corona noruega"
+ },
+ "SEK": {
+ "name": "corona sueca"
+ },
+ "GMD": {
+ "name": "dalasi"
+ },
+ "DZD": {
+ "name": "dinar argelino"
+ },
+ "BHD": {
+ "name": "dinar bahreiní"
+ },
+ "IQD": {
+ "name": "dinar iraquí"
+ },
+ "JOD": {
+ "name": "dinar jordano"
+ },
+ "KWD": {
+ "name": "dinar kuwaití"
+ },
+ "LYD": {
+ "name": "dinar libio"
+ },
+ "MKD": {
+ "name": "dinar macedonio"
+ },
+ "RSD": {
+ "name": "dinar serbio"
+ },
+ "TND": {
+ "name": "dinar tunecino"
+ },
+ "AED": {
+ "name": "dírham de los Emiratos Árabes Unidos"
+ },
+ "MAD": {
+ "name": "dírham marroquí"
+ },
+ "STD": {
+ "name": "dobra"
+ },
+ "AUD": {
+ "name": "dólar australiano"
+ },
+ "BSD": {
+ "name": "dólar bahameño"
+ },
+ "BBD": {
+ "name": "dólar barbadense"
+ },
+ "BZD": {
+ "name": "dólar beliceño"
+ },
+ "BND": {
+ "name": "dólar bruneano"
+ },
+ "CAD": {
+ "name": "dólar canadiense"
+ },
+ "BMD": {
+ "name": "dólar de Bermudas"
+ },
+ "KYD": {
+ "name": "dólar de las Islas Caimán"
+ },
+ "TTD": {
+ "name": "dólar de Trinidad y Tobago"
+ },
+ "XCD": {
+ "name": "dólar del Caribe Oriental"
+ },
+ "USD": {
+ "name": "dólar estadounidense",
+ "symbol": "US$"
+ },
+ "FJD": {
+ "name": "dólar fiyiano"
+ },
+ "GYD": {
+ "name": "dólar guyanés"
+ },
+ "HKD": {
+ "name": "dólar hongkonés"
+ },
+ "JMD": {
+ "name": "dólar jamaicano"
+ },
+ "LRD": {
+ "name": "dólar liberiano"
+ },
+ "NAD": {
+ "name": "dólar namibio"
+ },
+ "NZD": {
+ "name": "dólar neozelandés"
+ },
+ "SBD": {
+ "name": "dólar salomonense"
+ },
+ "SGD": {
+ "name": "dólar singapurense"
+ },
+ "SRD": {
+ "name": "dólar surinamés"
+ },
+ "ZWL": {
+ "name": "dólar zimbabuense"
+ },
+ "VND": {
+ "name": "dong"
+ },
+ "AMD": {
+ "name": "dram armenio"
+ },
+ "CVE": {
+ "name": "escudo de Cabo Verde"
+ },
+ "PLN": {
+ "name": "esloti"
+ },
+ "EUR": {
+ "name": "euro"
+ },
+ "AWG": {
+ "name": "florín arubeño"
+ },
+ "ANG": {
+ "name": "florín de las Antillas Neerlandesas"
+ },
+ "HUF": {
+ "name": "forinto húngaro"
+ },
+ "BIF": {
+ "name": "franco burundés"
+ },
+ "XOF": {
+ "name": "franco CFA BCEAO"
+ },
+ "XAF": {
+ "name": "franco CFA BEAC"
+ },
+ "XPF": {
+ "name": "franco CFP",
+ "symbol": "CFPF"
+ },
+ "KMF": {
+ "name": "franco comorense"
+ },
+ "CDF": {
+ "name": "franco congoleño"
+ },
+ "GNF": {
+ "name": "franco guineano"
+ },
+ "RWF": {
+ "name": "franco ruandés"
+ },
+ "CHF": {
+ "name": "franco suizo"
+ },
+ "DJF": {
+ "name": "franco yibutiano"
+ },
+ "HTG": {
+ "name": "gourde haitiano"
+ },
+ "UAH": {
+ "name": "grivna"
+ },
+ "PYG": {
+ "name": "guaraní paraguayo"
+ },
+ "BTN": {
+ "name": "gultrum"
+ },
+ "MMK": {
+ "name": "kiat"
+ },
+ "PGK": {
+ "name": "kina"
+ },
+ "LAK": {
+ "name": "kip"
+ },
+ "ZMW": {
+ "name": "kuacha zambiano"
+ },
+ "AOA": {
+ "name": "kuanza"
+ },
+ "HRK": {
+ "name": "kuna"
+ },
+ "MWK": {
+ "name": "kwacha malauí"
+ },
+ "GEL": {
+ "name": "lari"
+ },
+ "ALL": {
+ "name": "lek"
+ },
+ "HNL": {
+ "name": "lempira hondureño"
+ },
+ "SLL": {
+ "name": "leona"
+ },
+ "MDL": {
+ "name": "leu moldavo"
+ },
+ "RON": {
+ "name": "leu rumano"
+ },
+ "BGN": {
+ "name": "lev búlgaro"
+ },
+ "GBP": {
+ "name": "libra británica"
+ },
+ "SHP": {
+ "name": "libra de Santa Elena"
+ },
+ "EGP": {
+ "name": "libra egipcia"
+ },
+ "GIP": {
+ "name": "libra gibraltareña"
+ },
+ "LBP": {
+ "name": "libra libanesa"
+ },
+ "FKP": {
+ "name": "libra malvinense"
+ },
+ "SYP": {
+ "name": "libra siria"
+ },
+ "SDG": {
+ "name": "libra sudanesa"
+ },
+ "SSP": {
+ "name": "libra sursudanesa"
+ },
+ "SZL": {
+ "name": "lilangeni"
+ },
+ "TRY": {
+ "name": "lira turca"
+ },
+ "LSL": {
+ "name": "loti lesothense"
+ },
+ "AZN": {
+ "name": "manat azerí"
+ },
+ "TMT": {
+ "name": "manat turcomano"
+ },
+ "BAM": {
+ "name": "marco convertible de Bosnia-Herzegovina"
+ },
+ "MZN": {
+ "name": "metical"
+ },
+ "ERN": {
+ "name": "nafka"
+ },
+ "NGN": {
+ "name": "naira"
+ },
+ "TWD": {
+ "name": "nuevo dólar taiwanés"
+ },
+ "ILS": {
+ "name": "nuevo séquel israelí"
+ },
+ "PEN": {
+ "name": "nuevo sol peruano"
+ },
+ "TOP": {
+ "name": "paanga"
+ },
+ "MOP": {
+ "name": "pataca de Macao"
+ },
+ "ARS": {
+ "name": "peso argentino",
+ "symbol": "$"
+ },
+ "CLP": {
+ "name": "peso chileno"
+ },
+ "COP": {
+ "name": "peso colombiano"
+ },
+ "CUP": {
+ "name": "peso cubano"
+ },
+ "CUC": {
+ "name": "peso cubano convertible"
+ },
+ "DOP": {
+ "name": "peso dominicano"
+ },
+ "PHP": {
+ "name": "peso filipino"
+ },
+ "MXN": {
+ "name": "peso mexicano"
+ },
+ "UYU": {
+ "name": "peso uruguayo"
+ },
+ "BWP": {
+ "name": "pula"
+ },
+ "GTQ": {
+ "name": "quetzal guatemalteco"
+ },
+ "ZAR": {
+ "name": "rand"
+ },
+ "BRL": {
+ "name": "real brasileño"
+ },
+ "QAR": {
+ "name": "rial catarí"
+ },
+ "IRR": {
+ "name": "rial iraní"
+ },
+ "OMR": {
+ "name": "rial omaní"
+ },
+ "SAR": {
+ "name": "rial saudí"
+ },
+ "YER": {
+ "name": "rial yemení"
+ },
+ "KHR": {
+ "name": "riel"
+ },
+ "MYR": {
+ "name": "ringit"
+ },
+ "BYN": {
+ "name": "rublo bielorruso"
+ },
+ "BYR": {
+ "name": "rublo bielorruso (2000–2016)"
+ },
+ "RUB": {
+ "name": "rublo ruso"
+ },
+ "MVR": {
+ "name": "rufiya"
+ },
+ "LKR": {
+ "name": "rupia esrilanquesa"
+ },
+ "INR": {
+ "name": "rupia india"
+ },
+ "IDR": {
+ "name": "rupia indonesia"
+ },
+ "MUR": {
+ "name": "rupia mauriciana"
+ },
+ "NPR": {
+ "name": "rupia nepalí"
+ },
+ "PKR": {
+ "name": "rupia pakistaní"
+ },
+ "SCR": {
+ "name": "rupia seychellense"
+ },
+ "KGS": {
+ "name": "som"
+ },
+ "TJS": {
+ "name": "somoni tayiko"
+ },
+ "UZS": {
+ "name": "sum"
+ },
+ "BDT": {
+ "name": "taka"
+ },
+ "WST": {
+ "name": "tala"
+ },
+ "KZT": {
+ "name": "tenge kazako"
+ },
+ "MNT": {
+ "name": "tugrik"
+ },
+ "MRO": {
+ "name": "uguiya"
+ },
+ "VUV": {
+ "name": "vatu"
+ },
+ "KPW": {
+ "name": "won norcoreano"
+ },
+ "KRW": {
+ "name": "won surcoreano"
+ },
+ "JPY": {
+ "name": "yen"
+ },
+ "CNY": {
+ "name": "yuan"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/es-BO.json b/vendor/commerceguys/intl/resources/currency/es-BO.json
new file mode 100644
index 000000000..e0417ed46
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/es-BO.json
@@ -0,0 +1,478 @@
+{
+ "AFN": {
+ "name": "afgani"
+ },
+ "MGA": {
+ "name": "ariari"
+ },
+ "PAB": {
+ "name": "balboa panameño"
+ },
+ "THB": {
+ "name": "bat"
+ },
+ "ETB": {
+ "name": "bir"
+ },
+ "VEF": {
+ "name": "bolívar venezolano"
+ },
+ "BOB": {
+ "name": "boliviano",
+ "symbol": "Bs"
+ },
+ "GHS": {
+ "name": "cedi"
+ },
+ "KES": {
+ "name": "chelín keniano"
+ },
+ "SOS": {
+ "name": "chelín somalí"
+ },
+ "TZS": {
+ "name": "chelín tanzano"
+ },
+ "UGX": {
+ "name": "chelín ugandés"
+ },
+ "CRC": {
+ "name": "colón costarricense"
+ },
+ "SVC": {
+ "name": "colón salvadoreño"
+ },
+ "NIO": {
+ "name": "córdoba nicaragüense"
+ },
+ "CZK": {
+ "name": "corona checa"
+ },
+ "DKK": {
+ "name": "corona danesa"
+ },
+ "ISK": {
+ "name": "corona islandesa"
+ },
+ "NOK": {
+ "name": "corona noruega"
+ },
+ "SEK": {
+ "name": "corona sueca"
+ },
+ "GMD": {
+ "name": "dalasi"
+ },
+ "DZD": {
+ "name": "dinar argelino"
+ },
+ "BHD": {
+ "name": "dinar bahreiní"
+ },
+ "IQD": {
+ "name": "dinar iraquí"
+ },
+ "JOD": {
+ "name": "dinar jordano"
+ },
+ "KWD": {
+ "name": "dinar kuwaití"
+ },
+ "LYD": {
+ "name": "dinar libio"
+ },
+ "MKD": {
+ "name": "dinar macedonio"
+ },
+ "RSD": {
+ "name": "dinar serbio"
+ },
+ "TND": {
+ "name": "dinar tunecino"
+ },
+ "AED": {
+ "name": "dírham de los Emiratos Árabes Unidos"
+ },
+ "MAD": {
+ "name": "dírham marroquí"
+ },
+ "STD": {
+ "name": "dobra"
+ },
+ "AUD": {
+ "name": "dólar australiano"
+ },
+ "BSD": {
+ "name": "dólar bahameño"
+ },
+ "BBD": {
+ "name": "dólar barbadense"
+ },
+ "BZD": {
+ "name": "dólar beliceño"
+ },
+ "BND": {
+ "name": "dólar bruneano"
+ },
+ "CAD": {
+ "name": "dólar canadiense"
+ },
+ "BMD": {
+ "name": "dólar de Bermudas"
+ },
+ "KYD": {
+ "name": "dólar de las Islas Caimán"
+ },
+ "TTD": {
+ "name": "dólar de Trinidad y Tobago"
+ },
+ "XCD": {
+ "name": "dólar del Caribe Oriental"
+ },
+ "USD": {
+ "name": "dólar estadounidense"
+ },
+ "FJD": {
+ "name": "dólar fiyiano"
+ },
+ "GYD": {
+ "name": "dólar guyanés"
+ },
+ "HKD": {
+ "name": "dólar hongkonés"
+ },
+ "JMD": {
+ "name": "dólar jamaicano"
+ },
+ "LRD": {
+ "name": "dólar liberiano"
+ },
+ "NAD": {
+ "name": "dólar namibio"
+ },
+ "NZD": {
+ "name": "dólar neozelandés"
+ },
+ "SBD": {
+ "name": "dólar salomonense"
+ },
+ "SGD": {
+ "name": "dólar singapurense"
+ },
+ "SRD": {
+ "name": "dólar surinamés"
+ },
+ "ZWL": {
+ "name": "dólar zimbabuense"
+ },
+ "VND": {
+ "name": "dong"
+ },
+ "AMD": {
+ "name": "dram armenio"
+ },
+ "CVE": {
+ "name": "escudo de Cabo Verde"
+ },
+ "PLN": {
+ "name": "esloti"
+ },
+ "EUR": {
+ "name": "euro"
+ },
+ "AWG": {
+ "name": "florín arubeño"
+ },
+ "ANG": {
+ "name": "florín de las Antillas Neerlandesas"
+ },
+ "HUF": {
+ "name": "forinto húngaro"
+ },
+ "BIF": {
+ "name": "franco burundés"
+ },
+ "XOF": {
+ "name": "franco CFA BCEAO"
+ },
+ "XAF": {
+ "name": "franco CFA BEAC"
+ },
+ "XPF": {
+ "name": "franco CFP",
+ "symbol": "CFPF"
+ },
+ "KMF": {
+ "name": "franco comorense"
+ },
+ "CDF": {
+ "name": "franco congoleño"
+ },
+ "GNF": {
+ "name": "franco guineano"
+ },
+ "RWF": {
+ "name": "franco ruandés"
+ },
+ "CHF": {
+ "name": "franco suizo"
+ },
+ "DJF": {
+ "name": "franco yibutiano"
+ },
+ "HTG": {
+ "name": "gourde haitiano"
+ },
+ "UAH": {
+ "name": "grivna"
+ },
+ "PYG": {
+ "name": "guaraní paraguayo"
+ },
+ "BTN": {
+ "name": "gultrum"
+ },
+ "MMK": {
+ "name": "kiat"
+ },
+ "PGK": {
+ "name": "kina"
+ },
+ "LAK": {
+ "name": "kip"
+ },
+ "ZMW": {
+ "name": "kuacha zambiano"
+ },
+ "AOA": {
+ "name": "kuanza"
+ },
+ "HRK": {
+ "name": "kuna"
+ },
+ "MWK": {
+ "name": "kwacha malauí"
+ },
+ "GEL": {
+ "name": "lari"
+ },
+ "ALL": {
+ "name": "lek"
+ },
+ "HNL": {
+ "name": "lempira hondureño"
+ },
+ "SLL": {
+ "name": "leona"
+ },
+ "MDL": {
+ "name": "leu moldavo"
+ },
+ "RON": {
+ "name": "leu rumano"
+ },
+ "BGN": {
+ "name": "lev búlgaro"
+ },
+ "GBP": {
+ "name": "libra británica"
+ },
+ "SHP": {
+ "name": "libra de Santa Elena"
+ },
+ "EGP": {
+ "name": "libra egipcia"
+ },
+ "GIP": {
+ "name": "libra gibraltareña"
+ },
+ "LBP": {
+ "name": "libra libanesa"
+ },
+ "FKP": {
+ "name": "libra malvinense"
+ },
+ "SYP": {
+ "name": "libra siria"
+ },
+ "SDG": {
+ "name": "libra sudanesa"
+ },
+ "SSP": {
+ "name": "libra sursudanesa"
+ },
+ "SZL": {
+ "name": "lilangeni"
+ },
+ "TRY": {
+ "name": "lira turca"
+ },
+ "LSL": {
+ "name": "loti lesothense"
+ },
+ "AZN": {
+ "name": "manat azerí"
+ },
+ "TMT": {
+ "name": "manat turcomano"
+ },
+ "BAM": {
+ "name": "marco convertible de Bosnia-Herzegovina"
+ },
+ "MZN": {
+ "name": "metical"
+ },
+ "ERN": {
+ "name": "nafka"
+ },
+ "NGN": {
+ "name": "naira"
+ },
+ "TWD": {
+ "name": "nuevo dólar taiwanés"
+ },
+ "ILS": {
+ "name": "nuevo séquel israelí"
+ },
+ "PEN": {
+ "name": "nuevo sol peruano"
+ },
+ "TOP": {
+ "name": "paanga"
+ },
+ "MOP": {
+ "name": "pataca de Macao"
+ },
+ "ARS": {
+ "name": "peso argentino"
+ },
+ "CLP": {
+ "name": "peso chileno"
+ },
+ "COP": {
+ "name": "peso colombiano"
+ },
+ "CUP": {
+ "name": "peso cubano"
+ },
+ "CUC": {
+ "name": "peso cubano convertible"
+ },
+ "DOP": {
+ "name": "peso dominicano"
+ },
+ "PHP": {
+ "name": "peso filipino"
+ },
+ "MXN": {
+ "name": "peso mexicano"
+ },
+ "UYU": {
+ "name": "peso uruguayo"
+ },
+ "BWP": {
+ "name": "pula"
+ },
+ "GTQ": {
+ "name": "quetzal guatemalteco"
+ },
+ "ZAR": {
+ "name": "rand"
+ },
+ "BRL": {
+ "name": "real brasileño"
+ },
+ "QAR": {
+ "name": "rial catarí"
+ },
+ "IRR": {
+ "name": "rial iraní"
+ },
+ "OMR": {
+ "name": "rial omaní"
+ },
+ "SAR": {
+ "name": "rial saudí"
+ },
+ "YER": {
+ "name": "rial yemení"
+ },
+ "KHR": {
+ "name": "riel"
+ },
+ "MYR": {
+ "name": "ringit"
+ },
+ "BYN": {
+ "name": "rublo bielorruso"
+ },
+ "BYR": {
+ "name": "rublo bielorruso (2000–2016)"
+ },
+ "RUB": {
+ "name": "rublo ruso"
+ },
+ "MVR": {
+ "name": "rufiya"
+ },
+ "LKR": {
+ "name": "rupia esrilanquesa"
+ },
+ "INR": {
+ "name": "rupia india"
+ },
+ "IDR": {
+ "name": "rupia indonesia"
+ },
+ "MUR": {
+ "name": "rupia mauriciana"
+ },
+ "NPR": {
+ "name": "rupia nepalí"
+ },
+ "PKR": {
+ "name": "rupia pakistaní"
+ },
+ "SCR": {
+ "name": "rupia seychellense"
+ },
+ "KGS": {
+ "name": "som"
+ },
+ "TJS": {
+ "name": "somoni tayiko"
+ },
+ "UZS": {
+ "name": "sum"
+ },
+ "BDT": {
+ "name": "taka"
+ },
+ "WST": {
+ "name": "tala"
+ },
+ "KZT": {
+ "name": "tenge kazako"
+ },
+ "MNT": {
+ "name": "tugrik"
+ },
+ "MRO": {
+ "name": "uguiya"
+ },
+ "VUV": {
+ "name": "vatu"
+ },
+ "KPW": {
+ "name": "won norcoreano"
+ },
+ "KRW": {
+ "name": "won surcoreano"
+ },
+ "JPY": {
+ "name": "yen"
+ },
+ "CNY": {
+ "name": "yuan"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/es-BR.json b/vendor/commerceguys/intl/resources/currency/es-BR.json
new file mode 100644
index 000000000..cd23cae0f
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/es-BR.json
@@ -0,0 +1,478 @@
+{
+ "AFN": {
+ "name": "afgani"
+ },
+ "MGA": {
+ "name": "ariari"
+ },
+ "PAB": {
+ "name": "balboa panameño"
+ },
+ "THB": {
+ "name": "bat"
+ },
+ "ETB": {
+ "name": "bir"
+ },
+ "VEF": {
+ "name": "bolívar venezolano"
+ },
+ "BOB": {
+ "name": "boliviano"
+ },
+ "GHS": {
+ "name": "cedi"
+ },
+ "KES": {
+ "name": "chelín keniano"
+ },
+ "SOS": {
+ "name": "chelín somalí"
+ },
+ "TZS": {
+ "name": "chelín tanzano"
+ },
+ "UGX": {
+ "name": "chelín ugandés"
+ },
+ "CRC": {
+ "name": "colón costarricense"
+ },
+ "SVC": {
+ "name": "colón salvadoreño"
+ },
+ "NIO": {
+ "name": "córdoba nicaragüense"
+ },
+ "CZK": {
+ "name": "corona checa"
+ },
+ "DKK": {
+ "name": "corona danesa"
+ },
+ "ISK": {
+ "name": "corona islandesa"
+ },
+ "NOK": {
+ "name": "corona noruega"
+ },
+ "SEK": {
+ "name": "corona sueca"
+ },
+ "GMD": {
+ "name": "dalasi"
+ },
+ "DZD": {
+ "name": "dinar argelino"
+ },
+ "BHD": {
+ "name": "dinar bahreiní"
+ },
+ "IQD": {
+ "name": "dinar iraquí"
+ },
+ "JOD": {
+ "name": "dinar jordano"
+ },
+ "KWD": {
+ "name": "dinar kuwaití"
+ },
+ "LYD": {
+ "name": "dinar libio"
+ },
+ "MKD": {
+ "name": "dinar macedonio"
+ },
+ "RSD": {
+ "name": "dinar serbio"
+ },
+ "TND": {
+ "name": "dinar tunecino"
+ },
+ "AED": {
+ "name": "dírham de los Emiratos Árabes Unidos"
+ },
+ "MAD": {
+ "name": "dírham marroquí"
+ },
+ "STD": {
+ "name": "dobra"
+ },
+ "AUD": {
+ "name": "dólar australiano"
+ },
+ "BSD": {
+ "name": "dólar bahameño"
+ },
+ "BBD": {
+ "name": "dólar barbadense"
+ },
+ "BZD": {
+ "name": "dólar beliceño"
+ },
+ "BND": {
+ "name": "dólar bruneano"
+ },
+ "CAD": {
+ "name": "dólar canadiense"
+ },
+ "BMD": {
+ "name": "dólar de Bermudas"
+ },
+ "KYD": {
+ "name": "dólar de las Islas Caimán"
+ },
+ "TTD": {
+ "name": "dólar de Trinidad y Tobago"
+ },
+ "XCD": {
+ "name": "dólar del Caribe Oriental"
+ },
+ "USD": {
+ "name": "dólar estadounidense"
+ },
+ "FJD": {
+ "name": "dólar fiyiano"
+ },
+ "GYD": {
+ "name": "dólar guyanés"
+ },
+ "HKD": {
+ "name": "dólar hongkonés"
+ },
+ "JMD": {
+ "name": "dólar jamaicano"
+ },
+ "LRD": {
+ "name": "dólar liberiano"
+ },
+ "NAD": {
+ "name": "dólar namibio"
+ },
+ "NZD": {
+ "name": "dólar neozelandés"
+ },
+ "SBD": {
+ "name": "dólar salomonense"
+ },
+ "SGD": {
+ "name": "dólar singapurense"
+ },
+ "SRD": {
+ "name": "dólar surinamés"
+ },
+ "ZWL": {
+ "name": "dólar zimbabuense"
+ },
+ "VND": {
+ "name": "dong"
+ },
+ "AMD": {
+ "name": "dram armenio"
+ },
+ "CVE": {
+ "name": "escudo de Cabo Verde"
+ },
+ "PLN": {
+ "name": "esloti"
+ },
+ "EUR": {
+ "name": "euro"
+ },
+ "AWG": {
+ "name": "florín arubeño"
+ },
+ "ANG": {
+ "name": "florín de las Antillas Neerlandesas"
+ },
+ "HUF": {
+ "name": "forinto húngaro"
+ },
+ "BIF": {
+ "name": "franco burundés"
+ },
+ "XOF": {
+ "name": "franco CFA BCEAO"
+ },
+ "XAF": {
+ "name": "franco CFA BEAC"
+ },
+ "XPF": {
+ "name": "franco CFP",
+ "symbol": "CFPF"
+ },
+ "KMF": {
+ "name": "franco comorense"
+ },
+ "CDF": {
+ "name": "franco congoleño"
+ },
+ "GNF": {
+ "name": "franco guineano"
+ },
+ "RWF": {
+ "name": "franco ruandés"
+ },
+ "CHF": {
+ "name": "franco suizo"
+ },
+ "DJF": {
+ "name": "franco yibutiano"
+ },
+ "HTG": {
+ "name": "gourde haitiano"
+ },
+ "UAH": {
+ "name": "grivna"
+ },
+ "PYG": {
+ "name": "guaraní paraguayo"
+ },
+ "BTN": {
+ "name": "gultrum"
+ },
+ "MMK": {
+ "name": "kiat"
+ },
+ "PGK": {
+ "name": "kina"
+ },
+ "LAK": {
+ "name": "kip"
+ },
+ "ZMW": {
+ "name": "kuacha zambiano"
+ },
+ "AOA": {
+ "name": "kuanza"
+ },
+ "HRK": {
+ "name": "kuna"
+ },
+ "MWK": {
+ "name": "kwacha malauí"
+ },
+ "GEL": {
+ "name": "lari"
+ },
+ "ALL": {
+ "name": "lek"
+ },
+ "HNL": {
+ "name": "lempira hondureño"
+ },
+ "SLL": {
+ "name": "leona"
+ },
+ "MDL": {
+ "name": "leu moldavo"
+ },
+ "RON": {
+ "name": "leu rumano"
+ },
+ "BGN": {
+ "name": "lev búlgaro"
+ },
+ "GBP": {
+ "name": "libra británica"
+ },
+ "SHP": {
+ "name": "libra de Santa Elena"
+ },
+ "EGP": {
+ "name": "libra egipcia"
+ },
+ "GIP": {
+ "name": "libra gibraltareña"
+ },
+ "LBP": {
+ "name": "libra libanesa"
+ },
+ "FKP": {
+ "name": "libra malvinense"
+ },
+ "SYP": {
+ "name": "libra siria"
+ },
+ "SDG": {
+ "name": "libra sudanesa"
+ },
+ "SSP": {
+ "name": "libra sursudanesa"
+ },
+ "SZL": {
+ "name": "lilangeni"
+ },
+ "TRY": {
+ "name": "lira turca"
+ },
+ "LSL": {
+ "name": "loti lesothense"
+ },
+ "AZN": {
+ "name": "manat azerí"
+ },
+ "TMT": {
+ "name": "manat turcomano"
+ },
+ "BAM": {
+ "name": "marco convertible de Bosnia-Herzegovina"
+ },
+ "MZN": {
+ "name": "metical"
+ },
+ "ERN": {
+ "name": "nafka"
+ },
+ "NGN": {
+ "name": "naira"
+ },
+ "TWD": {
+ "name": "nuevo dólar taiwanés"
+ },
+ "ILS": {
+ "name": "nuevo séquel israelí"
+ },
+ "PEN": {
+ "name": "nuevo sol peruano"
+ },
+ "TOP": {
+ "name": "paanga"
+ },
+ "MOP": {
+ "name": "pataca de Macao"
+ },
+ "ARS": {
+ "name": "peso argentino"
+ },
+ "CLP": {
+ "name": "peso chileno"
+ },
+ "COP": {
+ "name": "peso colombiano"
+ },
+ "CUP": {
+ "name": "peso cubano"
+ },
+ "CUC": {
+ "name": "peso cubano convertible"
+ },
+ "DOP": {
+ "name": "peso dominicano"
+ },
+ "PHP": {
+ "name": "peso filipino"
+ },
+ "MXN": {
+ "name": "peso mexicano"
+ },
+ "UYU": {
+ "name": "peso uruguayo"
+ },
+ "BWP": {
+ "name": "pula"
+ },
+ "GTQ": {
+ "name": "quetzal guatemalteco"
+ },
+ "ZAR": {
+ "name": "rand"
+ },
+ "BRL": {
+ "name": "real brasileño",
+ "symbol": "R$"
+ },
+ "QAR": {
+ "name": "rial catarí"
+ },
+ "IRR": {
+ "name": "rial iraní"
+ },
+ "OMR": {
+ "name": "rial omaní"
+ },
+ "SAR": {
+ "name": "rial saudí"
+ },
+ "YER": {
+ "name": "rial yemení"
+ },
+ "KHR": {
+ "name": "riel"
+ },
+ "MYR": {
+ "name": "ringit"
+ },
+ "BYN": {
+ "name": "rublo bielorruso"
+ },
+ "BYR": {
+ "name": "rublo bielorruso (2000–2016)"
+ },
+ "RUB": {
+ "name": "rublo ruso"
+ },
+ "MVR": {
+ "name": "rufiya"
+ },
+ "LKR": {
+ "name": "rupia esrilanquesa"
+ },
+ "INR": {
+ "name": "rupia india"
+ },
+ "IDR": {
+ "name": "rupia indonesia"
+ },
+ "MUR": {
+ "name": "rupia mauriciana"
+ },
+ "NPR": {
+ "name": "rupia nepalí"
+ },
+ "PKR": {
+ "name": "rupia pakistaní"
+ },
+ "SCR": {
+ "name": "rupia seychellense"
+ },
+ "KGS": {
+ "name": "som"
+ },
+ "TJS": {
+ "name": "somoni tayiko"
+ },
+ "UZS": {
+ "name": "sum"
+ },
+ "BDT": {
+ "name": "taka"
+ },
+ "WST": {
+ "name": "tala"
+ },
+ "KZT": {
+ "name": "tenge kazako"
+ },
+ "MNT": {
+ "name": "tugrik"
+ },
+ "MRO": {
+ "name": "uguiya"
+ },
+ "VUV": {
+ "name": "vatu"
+ },
+ "KPW": {
+ "name": "won norcoreano"
+ },
+ "KRW": {
+ "name": "won surcoreano"
+ },
+ "JPY": {
+ "name": "yen"
+ },
+ "CNY": {
+ "name": "yuan"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/es-CL.json b/vendor/commerceguys/intl/resources/currency/es-CL.json
new file mode 100644
index 000000000..874540fd3
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/es-CL.json
@@ -0,0 +1,479 @@
+{
+ "AFN": {
+ "name": "afgani"
+ },
+ "MGA": {
+ "name": "ariari"
+ },
+ "PAB": {
+ "name": "balboa panameño"
+ },
+ "THB": {
+ "name": "bat"
+ },
+ "ETB": {
+ "name": "bir"
+ },
+ "VEF": {
+ "name": "bolívar venezolano"
+ },
+ "BOB": {
+ "name": "boliviano"
+ },
+ "GHS": {
+ "name": "cedi"
+ },
+ "KES": {
+ "name": "chelín keniano"
+ },
+ "SOS": {
+ "name": "chelín somalí"
+ },
+ "TZS": {
+ "name": "chelín tanzano"
+ },
+ "UGX": {
+ "name": "chelín ugandés"
+ },
+ "CRC": {
+ "name": "colón costarricense"
+ },
+ "SVC": {
+ "name": "colón salvadoreño"
+ },
+ "NIO": {
+ "name": "córdoba nicaragüense"
+ },
+ "CZK": {
+ "name": "corona checa"
+ },
+ "DKK": {
+ "name": "corona danesa"
+ },
+ "ISK": {
+ "name": "corona islandesa"
+ },
+ "NOK": {
+ "name": "corona noruega"
+ },
+ "SEK": {
+ "name": "corona sueca"
+ },
+ "GMD": {
+ "name": "dalasi"
+ },
+ "DZD": {
+ "name": "dinar argelino"
+ },
+ "BHD": {
+ "name": "dinar bahreiní"
+ },
+ "IQD": {
+ "name": "dinar iraquí"
+ },
+ "JOD": {
+ "name": "dinar jordano"
+ },
+ "KWD": {
+ "name": "dinar kuwaití"
+ },
+ "LYD": {
+ "name": "dinar libio"
+ },
+ "MKD": {
+ "name": "dinar macedonio"
+ },
+ "RSD": {
+ "name": "dinar serbio"
+ },
+ "TND": {
+ "name": "dinar tunecino"
+ },
+ "AED": {
+ "name": "dírham de los Emiratos Árabes Unidos"
+ },
+ "MAD": {
+ "name": "dírham marroquí"
+ },
+ "STD": {
+ "name": "dobra"
+ },
+ "AUD": {
+ "name": "dólar australiano"
+ },
+ "BSD": {
+ "name": "dólar bahameño"
+ },
+ "BBD": {
+ "name": "dólar barbadense"
+ },
+ "BZD": {
+ "name": "dólar beliceño"
+ },
+ "BND": {
+ "name": "dólar bruneano"
+ },
+ "CAD": {
+ "name": "dólar canadiense"
+ },
+ "BMD": {
+ "name": "dólar de Bermudas"
+ },
+ "KYD": {
+ "name": "dólar de las Islas Caimán"
+ },
+ "TTD": {
+ "name": "dólar de Trinidad y Tobago"
+ },
+ "XCD": {
+ "name": "dólar del Caribe Oriental"
+ },
+ "USD": {
+ "name": "dólar estadounidense",
+ "symbol": "US$"
+ },
+ "FJD": {
+ "name": "dólar fiyiano"
+ },
+ "GYD": {
+ "name": "dólar guyanés"
+ },
+ "HKD": {
+ "name": "dólar hongkonés"
+ },
+ "JMD": {
+ "name": "dólar jamaicano"
+ },
+ "LRD": {
+ "name": "dólar liberiano"
+ },
+ "NAD": {
+ "name": "dólar namibio"
+ },
+ "NZD": {
+ "name": "dólar neozelandés"
+ },
+ "SBD": {
+ "name": "dólar salomonense"
+ },
+ "SGD": {
+ "name": "dólar singapurense"
+ },
+ "SRD": {
+ "name": "dólar surinamés"
+ },
+ "ZWL": {
+ "name": "dólar zimbabuense"
+ },
+ "VND": {
+ "name": "dong"
+ },
+ "AMD": {
+ "name": "dram armenio"
+ },
+ "CVE": {
+ "name": "escudo de Cabo Verde"
+ },
+ "PLN": {
+ "name": "esloti"
+ },
+ "EUR": {
+ "name": "euro"
+ },
+ "AWG": {
+ "name": "florín arubeño"
+ },
+ "ANG": {
+ "name": "florín de las Antillas Neerlandesas"
+ },
+ "HUF": {
+ "name": "forinto húngaro"
+ },
+ "BIF": {
+ "name": "franco burundés"
+ },
+ "XOF": {
+ "name": "franco CFA BCEAO"
+ },
+ "XAF": {
+ "name": "franco CFA BEAC"
+ },
+ "XPF": {
+ "name": "franco CFP",
+ "symbol": "CFPF"
+ },
+ "KMF": {
+ "name": "franco comorense"
+ },
+ "CDF": {
+ "name": "franco congoleño"
+ },
+ "GNF": {
+ "name": "franco guineano"
+ },
+ "RWF": {
+ "name": "franco ruandés"
+ },
+ "CHF": {
+ "name": "franco suizo"
+ },
+ "DJF": {
+ "name": "franco yibutiano"
+ },
+ "HTG": {
+ "name": "gourde haitiano"
+ },
+ "UAH": {
+ "name": "grivna"
+ },
+ "PYG": {
+ "name": "guaraní paraguayo"
+ },
+ "BTN": {
+ "name": "gultrum"
+ },
+ "MMK": {
+ "name": "kiat"
+ },
+ "PGK": {
+ "name": "kina"
+ },
+ "LAK": {
+ "name": "kip"
+ },
+ "ZMW": {
+ "name": "kuacha zambiano"
+ },
+ "AOA": {
+ "name": "kuanza"
+ },
+ "HRK": {
+ "name": "kuna"
+ },
+ "MWK": {
+ "name": "kwacha malauí"
+ },
+ "GEL": {
+ "name": "lari"
+ },
+ "ALL": {
+ "name": "lek"
+ },
+ "HNL": {
+ "name": "lempira hondureño"
+ },
+ "SLL": {
+ "name": "leona"
+ },
+ "MDL": {
+ "name": "leu moldavo"
+ },
+ "RON": {
+ "name": "leu rumano"
+ },
+ "BGN": {
+ "name": "lev búlgaro"
+ },
+ "GBP": {
+ "name": "libra británica"
+ },
+ "SHP": {
+ "name": "libra de Santa Elena"
+ },
+ "EGP": {
+ "name": "libra egipcia"
+ },
+ "GIP": {
+ "name": "libra gibraltareña"
+ },
+ "LBP": {
+ "name": "libra libanesa"
+ },
+ "FKP": {
+ "name": "libra malvinense"
+ },
+ "SYP": {
+ "name": "libra siria"
+ },
+ "SDG": {
+ "name": "libra sudanesa"
+ },
+ "SSP": {
+ "name": "libra sursudanesa"
+ },
+ "SZL": {
+ "name": "lilangeni"
+ },
+ "TRY": {
+ "name": "lira turca"
+ },
+ "LSL": {
+ "name": "loti lesothense"
+ },
+ "AZN": {
+ "name": "manat azerí"
+ },
+ "TMT": {
+ "name": "manat turcomano"
+ },
+ "BAM": {
+ "name": "marco convertible de Bosnia-Herzegovina"
+ },
+ "MZN": {
+ "name": "metical"
+ },
+ "ERN": {
+ "name": "nafka"
+ },
+ "NGN": {
+ "name": "naira"
+ },
+ "TWD": {
+ "name": "nuevo dólar taiwanés"
+ },
+ "ILS": {
+ "name": "nuevo séquel israelí"
+ },
+ "PEN": {
+ "name": "nuevo sol peruano"
+ },
+ "TOP": {
+ "name": "paanga"
+ },
+ "MOP": {
+ "name": "pataca de Macao"
+ },
+ "ARS": {
+ "name": "peso argentino"
+ },
+ "CLP": {
+ "name": "Peso chileno",
+ "symbol": "$"
+ },
+ "COP": {
+ "name": "peso colombiano"
+ },
+ "CUP": {
+ "name": "peso cubano"
+ },
+ "CUC": {
+ "name": "peso cubano convertible"
+ },
+ "DOP": {
+ "name": "peso dominicano"
+ },
+ "PHP": {
+ "name": "peso filipino"
+ },
+ "MXN": {
+ "name": "peso mexicano"
+ },
+ "UYU": {
+ "name": "peso uruguayo"
+ },
+ "BWP": {
+ "name": "pula"
+ },
+ "GTQ": {
+ "name": "quetzal guatemalteco"
+ },
+ "ZAR": {
+ "name": "rand"
+ },
+ "BRL": {
+ "name": "real brasileño"
+ },
+ "QAR": {
+ "name": "rial catarí"
+ },
+ "IRR": {
+ "name": "rial iraní"
+ },
+ "OMR": {
+ "name": "rial omaní"
+ },
+ "SAR": {
+ "name": "rial saudí"
+ },
+ "YER": {
+ "name": "rial yemení"
+ },
+ "KHR": {
+ "name": "riel"
+ },
+ "MYR": {
+ "name": "ringit"
+ },
+ "BYN": {
+ "name": "rublo bielorruso"
+ },
+ "BYR": {
+ "name": "rublo bielorruso (2000–2016)"
+ },
+ "RUB": {
+ "name": "rublo ruso"
+ },
+ "MVR": {
+ "name": "rufiya"
+ },
+ "LKR": {
+ "name": "rupia esrilanquesa"
+ },
+ "INR": {
+ "name": "rupia india"
+ },
+ "IDR": {
+ "name": "rupia indonesia"
+ },
+ "MUR": {
+ "name": "rupia mauriciana"
+ },
+ "NPR": {
+ "name": "rupia nepalí"
+ },
+ "PKR": {
+ "name": "rupia pakistaní"
+ },
+ "SCR": {
+ "name": "rupia seychellense"
+ },
+ "KGS": {
+ "name": "som"
+ },
+ "TJS": {
+ "name": "somoni tayiko"
+ },
+ "UZS": {
+ "name": "sum"
+ },
+ "BDT": {
+ "name": "taka"
+ },
+ "WST": {
+ "name": "tala"
+ },
+ "KZT": {
+ "name": "tenge kazako"
+ },
+ "MNT": {
+ "name": "tugrik"
+ },
+ "MRO": {
+ "name": "uguiya"
+ },
+ "VUV": {
+ "name": "vatu"
+ },
+ "KPW": {
+ "name": "won norcoreano"
+ },
+ "KRW": {
+ "name": "won surcoreano"
+ },
+ "JPY": {
+ "name": "yen"
+ },
+ "CNY": {
+ "name": "yuan"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/es-CO.json b/vendor/commerceguys/intl/resources/currency/es-CO.json
new file mode 100644
index 000000000..75ab946d3
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/es-CO.json
@@ -0,0 +1,479 @@
+{
+ "AFN": {
+ "name": "afgani"
+ },
+ "MGA": {
+ "name": "ariari"
+ },
+ "PAB": {
+ "name": "balboa panameño"
+ },
+ "THB": {
+ "name": "bat"
+ },
+ "ETB": {
+ "name": "bir"
+ },
+ "VEF": {
+ "name": "bolívar venezolano"
+ },
+ "BOB": {
+ "name": "boliviano"
+ },
+ "GHS": {
+ "name": "cedi"
+ },
+ "KES": {
+ "name": "chelín keniano"
+ },
+ "SOS": {
+ "name": "chelín somalí"
+ },
+ "TZS": {
+ "name": "chelín tanzano"
+ },
+ "UGX": {
+ "name": "chelín ugandés"
+ },
+ "CRC": {
+ "name": "colón costarricense"
+ },
+ "SVC": {
+ "name": "colón salvadoreño"
+ },
+ "NIO": {
+ "name": "córdoba nicaragüense"
+ },
+ "CZK": {
+ "name": "corona checa"
+ },
+ "DKK": {
+ "name": "corona danesa"
+ },
+ "ISK": {
+ "name": "corona islandesa"
+ },
+ "NOK": {
+ "name": "corona noruega"
+ },
+ "SEK": {
+ "name": "corona sueca"
+ },
+ "GMD": {
+ "name": "dalasi"
+ },
+ "DZD": {
+ "name": "dinar argelino"
+ },
+ "BHD": {
+ "name": "dinar bahreiní"
+ },
+ "IQD": {
+ "name": "dinar iraquí"
+ },
+ "JOD": {
+ "name": "dinar jordano"
+ },
+ "KWD": {
+ "name": "dinar kuwaití"
+ },
+ "LYD": {
+ "name": "dinar libio"
+ },
+ "MKD": {
+ "name": "dinar macedonio"
+ },
+ "RSD": {
+ "name": "dinar serbio"
+ },
+ "TND": {
+ "name": "dinar tunecino"
+ },
+ "AED": {
+ "name": "dírham de los Emiratos Árabes Unidos"
+ },
+ "MAD": {
+ "name": "dírham marroquí"
+ },
+ "STD": {
+ "name": "dobra"
+ },
+ "AUD": {
+ "name": "dólar australiano"
+ },
+ "BSD": {
+ "name": "dólar bahameño"
+ },
+ "BBD": {
+ "name": "dólar barbadense"
+ },
+ "BZD": {
+ "name": "dólar beliceño"
+ },
+ "BND": {
+ "name": "dólar bruneano"
+ },
+ "CAD": {
+ "name": "dólar canadiense"
+ },
+ "BMD": {
+ "name": "dólar de Bermudas"
+ },
+ "KYD": {
+ "name": "dólar de las Islas Caimán"
+ },
+ "TTD": {
+ "name": "dólar de Trinidad y Tobago"
+ },
+ "XCD": {
+ "name": "dólar del Caribe Oriental"
+ },
+ "USD": {
+ "name": "dólar estadounidense",
+ "symbol": "US$"
+ },
+ "FJD": {
+ "name": "dólar fiyiano"
+ },
+ "GYD": {
+ "name": "dólar guyanés"
+ },
+ "HKD": {
+ "name": "dólar hongkonés"
+ },
+ "JMD": {
+ "name": "dólar jamaicano"
+ },
+ "LRD": {
+ "name": "dólar liberiano"
+ },
+ "NAD": {
+ "name": "dólar namibio"
+ },
+ "NZD": {
+ "name": "dólar neozelandés"
+ },
+ "SBD": {
+ "name": "dólar salomonense"
+ },
+ "SGD": {
+ "name": "dólar singapurense"
+ },
+ "SRD": {
+ "name": "dólar surinamés"
+ },
+ "ZWL": {
+ "name": "dólar zimbabuense"
+ },
+ "VND": {
+ "name": "dong"
+ },
+ "AMD": {
+ "name": "dram armenio"
+ },
+ "CVE": {
+ "name": "escudo de Cabo Verde"
+ },
+ "PLN": {
+ "name": "esloti"
+ },
+ "EUR": {
+ "name": "euro"
+ },
+ "AWG": {
+ "name": "florín arubeño"
+ },
+ "ANG": {
+ "name": "florín de las Antillas Neerlandesas"
+ },
+ "HUF": {
+ "name": "forinto húngaro"
+ },
+ "BIF": {
+ "name": "franco burundés"
+ },
+ "XOF": {
+ "name": "franco CFA BCEAO"
+ },
+ "XAF": {
+ "name": "franco CFA BEAC"
+ },
+ "XPF": {
+ "name": "franco CFP",
+ "symbol": "CFPF"
+ },
+ "KMF": {
+ "name": "franco comorense"
+ },
+ "CDF": {
+ "name": "franco congoleño"
+ },
+ "GNF": {
+ "name": "franco guineano"
+ },
+ "RWF": {
+ "name": "franco ruandés"
+ },
+ "CHF": {
+ "name": "franco suizo"
+ },
+ "DJF": {
+ "name": "franco yibutiano"
+ },
+ "HTG": {
+ "name": "gourde haitiano"
+ },
+ "UAH": {
+ "name": "grivna"
+ },
+ "PYG": {
+ "name": "guaraní paraguayo"
+ },
+ "BTN": {
+ "name": "gultrum"
+ },
+ "MMK": {
+ "name": "kiat"
+ },
+ "PGK": {
+ "name": "kina"
+ },
+ "LAK": {
+ "name": "kip"
+ },
+ "ZMW": {
+ "name": "kuacha zambiano"
+ },
+ "AOA": {
+ "name": "kuanza"
+ },
+ "HRK": {
+ "name": "kuna"
+ },
+ "MWK": {
+ "name": "kwacha malauí"
+ },
+ "GEL": {
+ "name": "lari"
+ },
+ "ALL": {
+ "name": "lek"
+ },
+ "HNL": {
+ "name": "lempira hondureño"
+ },
+ "SLL": {
+ "name": "leona"
+ },
+ "MDL": {
+ "name": "leu moldavo"
+ },
+ "RON": {
+ "name": "leu rumano"
+ },
+ "BGN": {
+ "name": "lev búlgaro"
+ },
+ "GBP": {
+ "name": "libra británica"
+ },
+ "SHP": {
+ "name": "libra de Santa Elena"
+ },
+ "EGP": {
+ "name": "libra egipcia"
+ },
+ "GIP": {
+ "name": "libra gibraltareña"
+ },
+ "LBP": {
+ "name": "libra libanesa"
+ },
+ "FKP": {
+ "name": "libra malvinense"
+ },
+ "SYP": {
+ "name": "libra siria"
+ },
+ "SDG": {
+ "name": "libra sudanesa"
+ },
+ "SSP": {
+ "name": "libra sursudanesa"
+ },
+ "SZL": {
+ "name": "lilangeni"
+ },
+ "TRY": {
+ "name": "lira turca"
+ },
+ "LSL": {
+ "name": "loti lesothense"
+ },
+ "AZN": {
+ "name": "manat azerí"
+ },
+ "TMT": {
+ "name": "manat turcomano"
+ },
+ "BAM": {
+ "name": "marco convertible de Bosnia-Herzegovina"
+ },
+ "MZN": {
+ "name": "metical"
+ },
+ "ERN": {
+ "name": "nafka"
+ },
+ "NGN": {
+ "name": "naira"
+ },
+ "TWD": {
+ "name": "nuevo dólar taiwanés"
+ },
+ "ILS": {
+ "name": "nuevo séquel israelí"
+ },
+ "PEN": {
+ "name": "nuevo sol peruano"
+ },
+ "TOP": {
+ "name": "paanga"
+ },
+ "MOP": {
+ "name": "pataca de Macao"
+ },
+ "ARS": {
+ "name": "peso argentino"
+ },
+ "CLP": {
+ "name": "peso chileno"
+ },
+ "COP": {
+ "name": "peso colombiano",
+ "symbol": "$"
+ },
+ "CUP": {
+ "name": "peso cubano"
+ },
+ "CUC": {
+ "name": "peso cubano convertible"
+ },
+ "DOP": {
+ "name": "peso dominicano"
+ },
+ "PHP": {
+ "name": "peso filipino"
+ },
+ "MXN": {
+ "name": "peso mexicano"
+ },
+ "UYU": {
+ "name": "peso uruguayo"
+ },
+ "BWP": {
+ "name": "pula"
+ },
+ "GTQ": {
+ "name": "quetzal guatemalteco"
+ },
+ "ZAR": {
+ "name": "rand"
+ },
+ "BRL": {
+ "name": "real brasileño"
+ },
+ "QAR": {
+ "name": "rial catarí"
+ },
+ "IRR": {
+ "name": "rial iraní"
+ },
+ "OMR": {
+ "name": "rial omaní"
+ },
+ "SAR": {
+ "name": "rial saudí"
+ },
+ "YER": {
+ "name": "rial yemení"
+ },
+ "KHR": {
+ "name": "riel"
+ },
+ "MYR": {
+ "name": "ringit"
+ },
+ "BYN": {
+ "name": "rublo bielorruso"
+ },
+ "BYR": {
+ "name": "rublo bielorruso (2000–2016)"
+ },
+ "RUB": {
+ "name": "rublo ruso"
+ },
+ "MVR": {
+ "name": "rufiya"
+ },
+ "LKR": {
+ "name": "rupia esrilanquesa"
+ },
+ "INR": {
+ "name": "rupia india"
+ },
+ "IDR": {
+ "name": "rupia indonesia"
+ },
+ "MUR": {
+ "name": "rupia mauriciana"
+ },
+ "NPR": {
+ "name": "rupia nepalí"
+ },
+ "PKR": {
+ "name": "rupia pakistaní"
+ },
+ "SCR": {
+ "name": "rupia seychellense"
+ },
+ "KGS": {
+ "name": "som"
+ },
+ "TJS": {
+ "name": "somoni tayiko"
+ },
+ "UZS": {
+ "name": "sum"
+ },
+ "BDT": {
+ "name": "taka"
+ },
+ "WST": {
+ "name": "tala"
+ },
+ "KZT": {
+ "name": "tenge kazako"
+ },
+ "MNT": {
+ "name": "tugrik"
+ },
+ "MRO": {
+ "name": "uguiya"
+ },
+ "VUV": {
+ "name": "vatu"
+ },
+ "KPW": {
+ "name": "won norcoreano"
+ },
+ "KRW": {
+ "name": "won surcoreano"
+ },
+ "JPY": {
+ "name": "yen"
+ },
+ "CNY": {
+ "name": "yuan"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/es-CR.json b/vendor/commerceguys/intl/resources/currency/es-CR.json
new file mode 100644
index 000000000..f7ad79ccc
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/es-CR.json
@@ -0,0 +1,478 @@
+{
+ "AFN": {
+ "name": "afgani"
+ },
+ "MGA": {
+ "name": "ariari"
+ },
+ "PAB": {
+ "name": "balboa panameño"
+ },
+ "THB": {
+ "name": "bat"
+ },
+ "ETB": {
+ "name": "bir"
+ },
+ "VEF": {
+ "name": "bolívar venezolano"
+ },
+ "BOB": {
+ "name": "boliviano"
+ },
+ "GHS": {
+ "name": "cedi"
+ },
+ "KES": {
+ "name": "chelín keniano"
+ },
+ "SOS": {
+ "name": "chelín somalí"
+ },
+ "TZS": {
+ "name": "chelín tanzano"
+ },
+ "UGX": {
+ "name": "chelín ugandés"
+ },
+ "CRC": {
+ "name": "colón costarricense",
+ "symbol": "₡"
+ },
+ "SVC": {
+ "name": "colón salvadoreño"
+ },
+ "NIO": {
+ "name": "córdoba nicaragüense"
+ },
+ "CZK": {
+ "name": "corona checa"
+ },
+ "DKK": {
+ "name": "corona danesa"
+ },
+ "ISK": {
+ "name": "corona islandesa"
+ },
+ "NOK": {
+ "name": "corona noruega"
+ },
+ "SEK": {
+ "name": "corona sueca"
+ },
+ "GMD": {
+ "name": "dalasi"
+ },
+ "DZD": {
+ "name": "dinar argelino"
+ },
+ "BHD": {
+ "name": "dinar bahreiní"
+ },
+ "IQD": {
+ "name": "dinar iraquí"
+ },
+ "JOD": {
+ "name": "dinar jordano"
+ },
+ "KWD": {
+ "name": "dinar kuwaití"
+ },
+ "LYD": {
+ "name": "dinar libio"
+ },
+ "MKD": {
+ "name": "dinar macedonio"
+ },
+ "RSD": {
+ "name": "dinar serbio"
+ },
+ "TND": {
+ "name": "dinar tunecino"
+ },
+ "AED": {
+ "name": "dírham de los Emiratos Árabes Unidos"
+ },
+ "MAD": {
+ "name": "dírham marroquí"
+ },
+ "STD": {
+ "name": "dobra"
+ },
+ "AUD": {
+ "name": "dólar australiano"
+ },
+ "BSD": {
+ "name": "dólar bahameño"
+ },
+ "BBD": {
+ "name": "dólar barbadense"
+ },
+ "BZD": {
+ "name": "dólar beliceño"
+ },
+ "BND": {
+ "name": "dólar bruneano"
+ },
+ "CAD": {
+ "name": "dólar canadiense"
+ },
+ "BMD": {
+ "name": "dólar de Bermudas"
+ },
+ "KYD": {
+ "name": "dólar de las Islas Caimán"
+ },
+ "TTD": {
+ "name": "dólar de Trinidad y Tobago"
+ },
+ "XCD": {
+ "name": "dólar del Caribe Oriental"
+ },
+ "USD": {
+ "name": "dólar estadounidense"
+ },
+ "FJD": {
+ "name": "dólar fiyiano"
+ },
+ "GYD": {
+ "name": "dólar guyanés"
+ },
+ "HKD": {
+ "name": "dólar hongkonés"
+ },
+ "JMD": {
+ "name": "dólar jamaicano"
+ },
+ "LRD": {
+ "name": "dólar liberiano"
+ },
+ "NAD": {
+ "name": "dólar namibio"
+ },
+ "NZD": {
+ "name": "dólar neozelandés"
+ },
+ "SBD": {
+ "name": "dólar salomonense"
+ },
+ "SGD": {
+ "name": "dólar singapurense"
+ },
+ "SRD": {
+ "name": "dólar surinamés"
+ },
+ "ZWL": {
+ "name": "dólar zimbabuense"
+ },
+ "VND": {
+ "name": "dong"
+ },
+ "AMD": {
+ "name": "dram armenio"
+ },
+ "CVE": {
+ "name": "escudo de Cabo Verde"
+ },
+ "PLN": {
+ "name": "esloti"
+ },
+ "EUR": {
+ "name": "euro"
+ },
+ "AWG": {
+ "name": "florín arubeño"
+ },
+ "ANG": {
+ "name": "florín de las Antillas Neerlandesas"
+ },
+ "HUF": {
+ "name": "forinto húngaro"
+ },
+ "BIF": {
+ "name": "franco burundés"
+ },
+ "XOF": {
+ "name": "franco CFA BCEAO"
+ },
+ "XAF": {
+ "name": "franco CFA BEAC"
+ },
+ "XPF": {
+ "name": "franco CFP",
+ "symbol": "CFPF"
+ },
+ "KMF": {
+ "name": "franco comorense"
+ },
+ "CDF": {
+ "name": "franco congoleño"
+ },
+ "GNF": {
+ "name": "franco guineano"
+ },
+ "RWF": {
+ "name": "franco ruandés"
+ },
+ "CHF": {
+ "name": "franco suizo"
+ },
+ "DJF": {
+ "name": "franco yibutiano"
+ },
+ "HTG": {
+ "name": "gourde haitiano"
+ },
+ "UAH": {
+ "name": "grivna"
+ },
+ "PYG": {
+ "name": "guaraní paraguayo"
+ },
+ "BTN": {
+ "name": "gultrum"
+ },
+ "MMK": {
+ "name": "kiat"
+ },
+ "PGK": {
+ "name": "kina"
+ },
+ "LAK": {
+ "name": "kip"
+ },
+ "ZMW": {
+ "name": "kuacha zambiano"
+ },
+ "AOA": {
+ "name": "kuanza"
+ },
+ "HRK": {
+ "name": "kuna"
+ },
+ "MWK": {
+ "name": "kwacha malauí"
+ },
+ "GEL": {
+ "name": "lari"
+ },
+ "ALL": {
+ "name": "lek"
+ },
+ "HNL": {
+ "name": "lempira hondureño"
+ },
+ "SLL": {
+ "name": "leona"
+ },
+ "MDL": {
+ "name": "leu moldavo"
+ },
+ "RON": {
+ "name": "leu rumano"
+ },
+ "BGN": {
+ "name": "lev búlgaro"
+ },
+ "GBP": {
+ "name": "libra británica"
+ },
+ "SHP": {
+ "name": "libra de Santa Elena"
+ },
+ "EGP": {
+ "name": "libra egipcia"
+ },
+ "GIP": {
+ "name": "libra gibraltareña"
+ },
+ "LBP": {
+ "name": "libra libanesa"
+ },
+ "FKP": {
+ "name": "libra malvinense"
+ },
+ "SYP": {
+ "name": "libra siria"
+ },
+ "SDG": {
+ "name": "libra sudanesa"
+ },
+ "SSP": {
+ "name": "libra sursudanesa"
+ },
+ "SZL": {
+ "name": "lilangeni"
+ },
+ "TRY": {
+ "name": "lira turca"
+ },
+ "LSL": {
+ "name": "loti lesothense"
+ },
+ "AZN": {
+ "name": "manat azerí"
+ },
+ "TMT": {
+ "name": "manat turcomano"
+ },
+ "BAM": {
+ "name": "marco convertible de Bosnia-Herzegovina"
+ },
+ "MZN": {
+ "name": "metical"
+ },
+ "ERN": {
+ "name": "nafka"
+ },
+ "NGN": {
+ "name": "naira"
+ },
+ "TWD": {
+ "name": "nuevo dólar taiwanés"
+ },
+ "ILS": {
+ "name": "nuevo séquel israelí"
+ },
+ "PEN": {
+ "name": "nuevo sol peruano"
+ },
+ "TOP": {
+ "name": "paanga"
+ },
+ "MOP": {
+ "name": "pataca de Macao"
+ },
+ "ARS": {
+ "name": "peso argentino"
+ },
+ "CLP": {
+ "name": "peso chileno"
+ },
+ "COP": {
+ "name": "peso colombiano"
+ },
+ "CUP": {
+ "name": "peso cubano"
+ },
+ "CUC": {
+ "name": "peso cubano convertible"
+ },
+ "DOP": {
+ "name": "peso dominicano"
+ },
+ "PHP": {
+ "name": "peso filipino"
+ },
+ "MXN": {
+ "name": "peso mexicano"
+ },
+ "UYU": {
+ "name": "peso uruguayo"
+ },
+ "BWP": {
+ "name": "pula"
+ },
+ "GTQ": {
+ "name": "quetzal guatemalteco"
+ },
+ "ZAR": {
+ "name": "rand"
+ },
+ "BRL": {
+ "name": "real brasileño"
+ },
+ "QAR": {
+ "name": "rial catarí"
+ },
+ "IRR": {
+ "name": "rial iraní"
+ },
+ "OMR": {
+ "name": "rial omaní"
+ },
+ "SAR": {
+ "name": "rial saudí"
+ },
+ "YER": {
+ "name": "rial yemení"
+ },
+ "KHR": {
+ "name": "riel"
+ },
+ "MYR": {
+ "name": "ringit"
+ },
+ "BYN": {
+ "name": "rublo bielorruso"
+ },
+ "BYR": {
+ "name": "rublo bielorruso (2000–2016)"
+ },
+ "RUB": {
+ "name": "rublo ruso"
+ },
+ "MVR": {
+ "name": "rufiya"
+ },
+ "LKR": {
+ "name": "rupia esrilanquesa"
+ },
+ "INR": {
+ "name": "rupia india"
+ },
+ "IDR": {
+ "name": "rupia indonesia"
+ },
+ "MUR": {
+ "name": "rupia mauriciana"
+ },
+ "NPR": {
+ "name": "rupia nepalí"
+ },
+ "PKR": {
+ "name": "rupia pakistaní"
+ },
+ "SCR": {
+ "name": "rupia seychellense"
+ },
+ "KGS": {
+ "name": "som"
+ },
+ "TJS": {
+ "name": "somoni tayiko"
+ },
+ "UZS": {
+ "name": "sum"
+ },
+ "BDT": {
+ "name": "taka"
+ },
+ "WST": {
+ "name": "tala"
+ },
+ "KZT": {
+ "name": "tenge kazako"
+ },
+ "MNT": {
+ "name": "tugrik"
+ },
+ "MRO": {
+ "name": "uguiya"
+ },
+ "VUV": {
+ "name": "vatu"
+ },
+ "KPW": {
+ "name": "won norcoreano"
+ },
+ "KRW": {
+ "name": "won surcoreano"
+ },
+ "JPY": {
+ "name": "yen"
+ },
+ "CNY": {
+ "name": "yuan"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/es-CU.json b/vendor/commerceguys/intl/resources/currency/es-CU.json
new file mode 100644
index 000000000..3bc3d9aa0
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/es-CU.json
@@ -0,0 +1,479 @@
+{
+ "AFN": {
+ "name": "afgani"
+ },
+ "MGA": {
+ "name": "ariari"
+ },
+ "PAB": {
+ "name": "balboa panameño"
+ },
+ "THB": {
+ "name": "bat"
+ },
+ "ETB": {
+ "name": "bir"
+ },
+ "VEF": {
+ "name": "bolívar venezolano"
+ },
+ "BOB": {
+ "name": "boliviano"
+ },
+ "GHS": {
+ "name": "cedi"
+ },
+ "KES": {
+ "name": "chelín keniano"
+ },
+ "SOS": {
+ "name": "chelín somalí"
+ },
+ "TZS": {
+ "name": "chelín tanzano"
+ },
+ "UGX": {
+ "name": "chelín ugandés"
+ },
+ "CRC": {
+ "name": "colón costarricense"
+ },
+ "SVC": {
+ "name": "colón salvadoreño"
+ },
+ "NIO": {
+ "name": "córdoba nicaragüense"
+ },
+ "CZK": {
+ "name": "corona checa"
+ },
+ "DKK": {
+ "name": "corona danesa"
+ },
+ "ISK": {
+ "name": "corona islandesa"
+ },
+ "NOK": {
+ "name": "corona noruega"
+ },
+ "SEK": {
+ "name": "corona sueca"
+ },
+ "GMD": {
+ "name": "dalasi"
+ },
+ "DZD": {
+ "name": "dinar argelino"
+ },
+ "BHD": {
+ "name": "dinar bahreiní"
+ },
+ "IQD": {
+ "name": "dinar iraquí"
+ },
+ "JOD": {
+ "name": "dinar jordano"
+ },
+ "KWD": {
+ "name": "dinar kuwaití"
+ },
+ "LYD": {
+ "name": "dinar libio"
+ },
+ "MKD": {
+ "name": "dinar macedonio"
+ },
+ "RSD": {
+ "name": "dinar serbio"
+ },
+ "TND": {
+ "name": "dinar tunecino"
+ },
+ "AED": {
+ "name": "dírham de los Emiratos Árabes Unidos"
+ },
+ "MAD": {
+ "name": "dírham marroquí"
+ },
+ "STD": {
+ "name": "dobra"
+ },
+ "AUD": {
+ "name": "dólar australiano"
+ },
+ "BSD": {
+ "name": "dólar bahameño"
+ },
+ "BBD": {
+ "name": "dólar barbadense"
+ },
+ "BZD": {
+ "name": "dólar beliceño"
+ },
+ "BND": {
+ "name": "dólar bruneano"
+ },
+ "CAD": {
+ "name": "dólar canadiense"
+ },
+ "BMD": {
+ "name": "dólar de Bermudas"
+ },
+ "KYD": {
+ "name": "dólar de las Islas Caimán"
+ },
+ "TTD": {
+ "name": "dólar de Trinidad y Tobago"
+ },
+ "XCD": {
+ "name": "dólar del Caribe Oriental"
+ },
+ "USD": {
+ "name": "dólar estadounidense",
+ "symbol": "US$"
+ },
+ "FJD": {
+ "name": "dólar fiyiano"
+ },
+ "GYD": {
+ "name": "dólar guyanés"
+ },
+ "HKD": {
+ "name": "dólar hongkonés"
+ },
+ "JMD": {
+ "name": "dólar jamaicano"
+ },
+ "LRD": {
+ "name": "dólar liberiano"
+ },
+ "NAD": {
+ "name": "dólar namibio"
+ },
+ "NZD": {
+ "name": "dólar neozelandés"
+ },
+ "SBD": {
+ "name": "dólar salomonense"
+ },
+ "SGD": {
+ "name": "dólar singapurense"
+ },
+ "SRD": {
+ "name": "dólar surinamés"
+ },
+ "ZWL": {
+ "name": "dólar zimbabuense"
+ },
+ "VND": {
+ "name": "dong"
+ },
+ "AMD": {
+ "name": "dram armenio"
+ },
+ "CVE": {
+ "name": "escudo de Cabo Verde"
+ },
+ "PLN": {
+ "name": "esloti"
+ },
+ "EUR": {
+ "name": "euro"
+ },
+ "AWG": {
+ "name": "florín arubeño"
+ },
+ "ANG": {
+ "name": "florín de las Antillas Neerlandesas"
+ },
+ "HUF": {
+ "name": "forinto húngaro"
+ },
+ "BIF": {
+ "name": "franco burundés"
+ },
+ "XOF": {
+ "name": "franco CFA BCEAO"
+ },
+ "XAF": {
+ "name": "franco CFA BEAC"
+ },
+ "XPF": {
+ "name": "franco CFP",
+ "symbol": "CFPF"
+ },
+ "KMF": {
+ "name": "franco comorense"
+ },
+ "CDF": {
+ "name": "franco congoleño"
+ },
+ "GNF": {
+ "name": "franco guineano"
+ },
+ "RWF": {
+ "name": "franco ruandés"
+ },
+ "CHF": {
+ "name": "franco suizo"
+ },
+ "DJF": {
+ "name": "franco yibutiano"
+ },
+ "HTG": {
+ "name": "gourde haitiano"
+ },
+ "UAH": {
+ "name": "grivna"
+ },
+ "PYG": {
+ "name": "guaraní paraguayo"
+ },
+ "BTN": {
+ "name": "gultrum"
+ },
+ "MMK": {
+ "name": "kiat"
+ },
+ "PGK": {
+ "name": "kina"
+ },
+ "LAK": {
+ "name": "kip"
+ },
+ "ZMW": {
+ "name": "kuacha zambiano"
+ },
+ "AOA": {
+ "name": "kuanza"
+ },
+ "HRK": {
+ "name": "kuna"
+ },
+ "MWK": {
+ "name": "kwacha malauí"
+ },
+ "GEL": {
+ "name": "lari"
+ },
+ "ALL": {
+ "name": "lek"
+ },
+ "HNL": {
+ "name": "lempira hondureño"
+ },
+ "SLL": {
+ "name": "leona"
+ },
+ "MDL": {
+ "name": "leu moldavo"
+ },
+ "RON": {
+ "name": "leu rumano"
+ },
+ "BGN": {
+ "name": "lev búlgaro"
+ },
+ "GBP": {
+ "name": "libra británica"
+ },
+ "SHP": {
+ "name": "libra de Santa Elena"
+ },
+ "EGP": {
+ "name": "libra egipcia"
+ },
+ "GIP": {
+ "name": "libra gibraltareña"
+ },
+ "LBP": {
+ "name": "libra libanesa"
+ },
+ "FKP": {
+ "name": "libra malvinense"
+ },
+ "SYP": {
+ "name": "libra siria"
+ },
+ "SDG": {
+ "name": "libra sudanesa"
+ },
+ "SSP": {
+ "name": "libra sursudanesa"
+ },
+ "SZL": {
+ "name": "lilangeni"
+ },
+ "TRY": {
+ "name": "lira turca"
+ },
+ "LSL": {
+ "name": "loti lesothense"
+ },
+ "AZN": {
+ "name": "manat azerí"
+ },
+ "TMT": {
+ "name": "manat turcomano"
+ },
+ "BAM": {
+ "name": "marco convertible de Bosnia-Herzegovina"
+ },
+ "MZN": {
+ "name": "metical"
+ },
+ "ERN": {
+ "name": "nafka"
+ },
+ "NGN": {
+ "name": "naira"
+ },
+ "TWD": {
+ "name": "nuevo dólar taiwanés"
+ },
+ "ILS": {
+ "name": "nuevo séquel israelí"
+ },
+ "PEN": {
+ "name": "nuevo sol peruano"
+ },
+ "TOP": {
+ "name": "paanga"
+ },
+ "MOP": {
+ "name": "pataca de Macao"
+ },
+ "ARS": {
+ "name": "peso argentino"
+ },
+ "CLP": {
+ "name": "peso chileno"
+ },
+ "COP": {
+ "name": "peso colombiano"
+ },
+ "CUP": {
+ "name": "peso cubano",
+ "symbol": "$"
+ },
+ "CUC": {
+ "name": "peso cubano convertible"
+ },
+ "DOP": {
+ "name": "peso dominicano"
+ },
+ "PHP": {
+ "name": "peso filipino"
+ },
+ "MXN": {
+ "name": "peso mexicano"
+ },
+ "UYU": {
+ "name": "peso uruguayo"
+ },
+ "BWP": {
+ "name": "pula"
+ },
+ "GTQ": {
+ "name": "quetzal guatemalteco"
+ },
+ "ZAR": {
+ "name": "rand"
+ },
+ "BRL": {
+ "name": "real brasileño"
+ },
+ "QAR": {
+ "name": "rial catarí"
+ },
+ "IRR": {
+ "name": "rial iraní"
+ },
+ "OMR": {
+ "name": "rial omaní"
+ },
+ "SAR": {
+ "name": "rial saudí"
+ },
+ "YER": {
+ "name": "rial yemení"
+ },
+ "KHR": {
+ "name": "riel"
+ },
+ "MYR": {
+ "name": "ringit"
+ },
+ "BYN": {
+ "name": "rublo bielorruso"
+ },
+ "BYR": {
+ "name": "rublo bielorruso (2000–2016)"
+ },
+ "RUB": {
+ "name": "rublo ruso"
+ },
+ "MVR": {
+ "name": "rufiya"
+ },
+ "LKR": {
+ "name": "rupia esrilanquesa"
+ },
+ "INR": {
+ "name": "rupia india"
+ },
+ "IDR": {
+ "name": "rupia indonesia"
+ },
+ "MUR": {
+ "name": "rupia mauriciana"
+ },
+ "NPR": {
+ "name": "rupia nepalí"
+ },
+ "PKR": {
+ "name": "rupia pakistaní"
+ },
+ "SCR": {
+ "name": "rupia seychellense"
+ },
+ "KGS": {
+ "name": "som"
+ },
+ "TJS": {
+ "name": "somoni tayiko"
+ },
+ "UZS": {
+ "name": "sum"
+ },
+ "BDT": {
+ "name": "taka"
+ },
+ "WST": {
+ "name": "tala"
+ },
+ "KZT": {
+ "name": "tenge kazako"
+ },
+ "MNT": {
+ "name": "tugrik"
+ },
+ "MRO": {
+ "name": "uguiya"
+ },
+ "VUV": {
+ "name": "vatu"
+ },
+ "KPW": {
+ "name": "won norcoreano"
+ },
+ "KRW": {
+ "name": "won surcoreano"
+ },
+ "JPY": {
+ "name": "yen"
+ },
+ "CNY": {
+ "name": "yuan"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/es-DO.json b/vendor/commerceguys/intl/resources/currency/es-DO.json
new file mode 100644
index 000000000..8c5b32e98
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/es-DO.json
@@ -0,0 +1,479 @@
+{
+ "AFN": {
+ "name": "afgani"
+ },
+ "MGA": {
+ "name": "ariari"
+ },
+ "PAB": {
+ "name": "balboa panameño"
+ },
+ "THB": {
+ "name": "bat"
+ },
+ "ETB": {
+ "name": "bir"
+ },
+ "VEF": {
+ "name": "bolívar venezolano"
+ },
+ "BOB": {
+ "name": "boliviano"
+ },
+ "GHS": {
+ "name": "cedi"
+ },
+ "KES": {
+ "name": "chelín keniano"
+ },
+ "SOS": {
+ "name": "chelín somalí"
+ },
+ "TZS": {
+ "name": "chelín tanzano"
+ },
+ "UGX": {
+ "name": "chelín ugandés"
+ },
+ "CRC": {
+ "name": "colón costarricense"
+ },
+ "SVC": {
+ "name": "colón salvadoreño"
+ },
+ "NIO": {
+ "name": "córdoba nicaragüense"
+ },
+ "CZK": {
+ "name": "corona checa"
+ },
+ "DKK": {
+ "name": "corona danesa"
+ },
+ "ISK": {
+ "name": "corona islandesa"
+ },
+ "NOK": {
+ "name": "corona noruega"
+ },
+ "SEK": {
+ "name": "corona sueca"
+ },
+ "GMD": {
+ "name": "dalasi"
+ },
+ "DZD": {
+ "name": "dinar argelino"
+ },
+ "BHD": {
+ "name": "dinar bahreiní"
+ },
+ "IQD": {
+ "name": "dinar iraquí"
+ },
+ "JOD": {
+ "name": "dinar jordano"
+ },
+ "KWD": {
+ "name": "dinar kuwaití"
+ },
+ "LYD": {
+ "name": "dinar libio"
+ },
+ "MKD": {
+ "name": "dinar macedonio"
+ },
+ "RSD": {
+ "name": "dinar serbio"
+ },
+ "TND": {
+ "name": "dinar tunecino"
+ },
+ "AED": {
+ "name": "dírham de los Emiratos Árabes Unidos"
+ },
+ "MAD": {
+ "name": "dírham marroquí"
+ },
+ "STD": {
+ "name": "dobra"
+ },
+ "AUD": {
+ "name": "dólar australiano"
+ },
+ "BSD": {
+ "name": "dólar bahameño"
+ },
+ "BBD": {
+ "name": "dólar barbadense"
+ },
+ "BZD": {
+ "name": "dólar beliceño"
+ },
+ "BND": {
+ "name": "dólar bruneano"
+ },
+ "CAD": {
+ "name": "dólar canadiense"
+ },
+ "BMD": {
+ "name": "dólar de Bermudas"
+ },
+ "KYD": {
+ "name": "dólar de las Islas Caimán"
+ },
+ "TTD": {
+ "name": "dólar de Trinidad y Tobago"
+ },
+ "XCD": {
+ "name": "dólar del Caribe Oriental"
+ },
+ "USD": {
+ "name": "dólar estadounidense",
+ "symbol": "US$"
+ },
+ "FJD": {
+ "name": "dólar fiyiano"
+ },
+ "GYD": {
+ "name": "dólar guyanés"
+ },
+ "HKD": {
+ "name": "dólar hongkonés"
+ },
+ "JMD": {
+ "name": "dólar jamaicano"
+ },
+ "LRD": {
+ "name": "dólar liberiano"
+ },
+ "NAD": {
+ "name": "dólar namibio"
+ },
+ "NZD": {
+ "name": "dólar neozelandés"
+ },
+ "SBD": {
+ "name": "dólar salomonense"
+ },
+ "SGD": {
+ "name": "dólar singapurense"
+ },
+ "SRD": {
+ "name": "dólar surinamés"
+ },
+ "ZWL": {
+ "name": "dólar zimbabuense"
+ },
+ "VND": {
+ "name": "dong"
+ },
+ "AMD": {
+ "name": "dram armenio"
+ },
+ "CVE": {
+ "name": "escudo de Cabo Verde"
+ },
+ "PLN": {
+ "name": "esloti"
+ },
+ "EUR": {
+ "name": "euro"
+ },
+ "AWG": {
+ "name": "florín arubeño"
+ },
+ "ANG": {
+ "name": "florín de las Antillas Neerlandesas"
+ },
+ "HUF": {
+ "name": "forinto húngaro"
+ },
+ "BIF": {
+ "name": "franco burundés"
+ },
+ "XOF": {
+ "name": "franco CFA BCEAO"
+ },
+ "XAF": {
+ "name": "franco CFA BEAC"
+ },
+ "XPF": {
+ "name": "franco CFP",
+ "symbol": "CFPF"
+ },
+ "KMF": {
+ "name": "franco comorense"
+ },
+ "CDF": {
+ "name": "franco congoleño"
+ },
+ "GNF": {
+ "name": "franco guineano"
+ },
+ "RWF": {
+ "name": "franco ruandés"
+ },
+ "CHF": {
+ "name": "franco suizo"
+ },
+ "DJF": {
+ "name": "franco yibutiano"
+ },
+ "HTG": {
+ "name": "gourde haitiano"
+ },
+ "UAH": {
+ "name": "grivna"
+ },
+ "PYG": {
+ "name": "guaraní paraguayo"
+ },
+ "BTN": {
+ "name": "gultrum"
+ },
+ "MMK": {
+ "name": "kiat"
+ },
+ "PGK": {
+ "name": "kina"
+ },
+ "LAK": {
+ "name": "kip"
+ },
+ "ZMW": {
+ "name": "kuacha zambiano"
+ },
+ "AOA": {
+ "name": "kuanza"
+ },
+ "HRK": {
+ "name": "kuna"
+ },
+ "MWK": {
+ "name": "kwacha malauí"
+ },
+ "GEL": {
+ "name": "lari"
+ },
+ "ALL": {
+ "name": "lek"
+ },
+ "HNL": {
+ "name": "lempira hondureño"
+ },
+ "SLL": {
+ "name": "leona"
+ },
+ "MDL": {
+ "name": "leu moldavo"
+ },
+ "RON": {
+ "name": "leu rumano"
+ },
+ "BGN": {
+ "name": "lev búlgaro"
+ },
+ "GBP": {
+ "name": "libra británica"
+ },
+ "SHP": {
+ "name": "libra de Santa Elena"
+ },
+ "EGP": {
+ "name": "libra egipcia"
+ },
+ "GIP": {
+ "name": "libra gibraltareña"
+ },
+ "LBP": {
+ "name": "libra libanesa"
+ },
+ "FKP": {
+ "name": "libra malvinense"
+ },
+ "SYP": {
+ "name": "libra siria"
+ },
+ "SDG": {
+ "name": "libra sudanesa"
+ },
+ "SSP": {
+ "name": "libra sursudanesa"
+ },
+ "SZL": {
+ "name": "lilangeni"
+ },
+ "TRY": {
+ "name": "lira turca"
+ },
+ "LSL": {
+ "name": "loti lesothense"
+ },
+ "AZN": {
+ "name": "manat azerí"
+ },
+ "TMT": {
+ "name": "manat turcomano"
+ },
+ "BAM": {
+ "name": "marco convertible de Bosnia-Herzegovina"
+ },
+ "MZN": {
+ "name": "metical"
+ },
+ "ERN": {
+ "name": "nafka"
+ },
+ "NGN": {
+ "name": "naira"
+ },
+ "TWD": {
+ "name": "nuevo dólar taiwanés"
+ },
+ "ILS": {
+ "name": "nuevo séquel israelí"
+ },
+ "PEN": {
+ "name": "nuevo sol peruano"
+ },
+ "TOP": {
+ "name": "paanga"
+ },
+ "MOP": {
+ "name": "pataca de Macao"
+ },
+ "ARS": {
+ "name": "peso argentino"
+ },
+ "CLP": {
+ "name": "peso chileno"
+ },
+ "COP": {
+ "name": "peso colombiano"
+ },
+ "CUP": {
+ "name": "peso cubano"
+ },
+ "CUC": {
+ "name": "peso cubano convertible"
+ },
+ "DOP": {
+ "name": "peso dominicano",
+ "symbol": "RD$"
+ },
+ "PHP": {
+ "name": "peso filipino"
+ },
+ "MXN": {
+ "name": "peso mexicano"
+ },
+ "UYU": {
+ "name": "peso uruguayo"
+ },
+ "BWP": {
+ "name": "pula"
+ },
+ "GTQ": {
+ "name": "quetzal guatemalteco"
+ },
+ "ZAR": {
+ "name": "rand"
+ },
+ "BRL": {
+ "name": "real brasileño"
+ },
+ "QAR": {
+ "name": "rial catarí"
+ },
+ "IRR": {
+ "name": "rial iraní"
+ },
+ "OMR": {
+ "name": "rial omaní"
+ },
+ "SAR": {
+ "name": "rial saudí"
+ },
+ "YER": {
+ "name": "rial yemení"
+ },
+ "KHR": {
+ "name": "riel"
+ },
+ "MYR": {
+ "name": "ringit"
+ },
+ "BYN": {
+ "name": "rublo bielorruso"
+ },
+ "BYR": {
+ "name": "rublo bielorruso (2000–2016)"
+ },
+ "RUB": {
+ "name": "rublo ruso"
+ },
+ "MVR": {
+ "name": "rufiya"
+ },
+ "LKR": {
+ "name": "rupia esrilanquesa"
+ },
+ "INR": {
+ "name": "rupia india"
+ },
+ "IDR": {
+ "name": "rupia indonesia"
+ },
+ "MUR": {
+ "name": "rupia mauriciana"
+ },
+ "NPR": {
+ "name": "rupia nepalí"
+ },
+ "PKR": {
+ "name": "rupia pakistaní"
+ },
+ "SCR": {
+ "name": "rupia seychellense"
+ },
+ "KGS": {
+ "name": "som"
+ },
+ "TJS": {
+ "name": "somoni tayiko"
+ },
+ "UZS": {
+ "name": "sum"
+ },
+ "BDT": {
+ "name": "taka"
+ },
+ "WST": {
+ "name": "tala"
+ },
+ "KZT": {
+ "name": "tenge kazako"
+ },
+ "MNT": {
+ "name": "tugrik"
+ },
+ "MRO": {
+ "name": "uguiya"
+ },
+ "VUV": {
+ "name": "vatu"
+ },
+ "KPW": {
+ "name": "won norcoreano"
+ },
+ "KRW": {
+ "name": "won surcoreano"
+ },
+ "JPY": {
+ "name": "yen"
+ },
+ "CNY": {
+ "name": "yuan"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/es-EC.json b/vendor/commerceguys/intl/resources/currency/es-EC.json
new file mode 100644
index 000000000..5530493cf
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/es-EC.json
@@ -0,0 +1,478 @@
+{
+ "AFN": {
+ "name": "afgani"
+ },
+ "MGA": {
+ "name": "ariari"
+ },
+ "PAB": {
+ "name": "balboa panameño"
+ },
+ "THB": {
+ "name": "bat"
+ },
+ "ETB": {
+ "name": "bir"
+ },
+ "VEF": {
+ "name": "bolívar venezolano"
+ },
+ "BOB": {
+ "name": "boliviano"
+ },
+ "GHS": {
+ "name": "cedi"
+ },
+ "KES": {
+ "name": "chelín keniano"
+ },
+ "SOS": {
+ "name": "chelín somalí"
+ },
+ "TZS": {
+ "name": "chelín tanzano"
+ },
+ "UGX": {
+ "name": "chelín ugandés"
+ },
+ "CRC": {
+ "name": "colón costarricense"
+ },
+ "SVC": {
+ "name": "colón salvadoreño"
+ },
+ "NIO": {
+ "name": "córdoba nicaragüense"
+ },
+ "CZK": {
+ "name": "corona checa"
+ },
+ "DKK": {
+ "name": "corona danesa"
+ },
+ "ISK": {
+ "name": "corona islandesa"
+ },
+ "NOK": {
+ "name": "corona noruega"
+ },
+ "SEK": {
+ "name": "corona sueca"
+ },
+ "GMD": {
+ "name": "dalasi"
+ },
+ "DZD": {
+ "name": "dinar argelino"
+ },
+ "BHD": {
+ "name": "dinar bahreiní"
+ },
+ "IQD": {
+ "name": "dinar iraquí"
+ },
+ "JOD": {
+ "name": "dinar jordano"
+ },
+ "KWD": {
+ "name": "dinar kuwaití"
+ },
+ "LYD": {
+ "name": "dinar libio"
+ },
+ "MKD": {
+ "name": "dinar macedonio"
+ },
+ "RSD": {
+ "name": "dinar serbio"
+ },
+ "TND": {
+ "name": "dinar tunecino"
+ },
+ "AED": {
+ "name": "dírham de los Emiratos Árabes Unidos"
+ },
+ "MAD": {
+ "name": "dírham marroquí"
+ },
+ "STD": {
+ "name": "dobra"
+ },
+ "AUD": {
+ "name": "dólar australiano"
+ },
+ "BSD": {
+ "name": "dólar bahameño"
+ },
+ "BBD": {
+ "name": "dólar barbadense"
+ },
+ "BZD": {
+ "name": "dólar beliceño"
+ },
+ "BND": {
+ "name": "dólar bruneano"
+ },
+ "CAD": {
+ "name": "dólar canadiense"
+ },
+ "BMD": {
+ "name": "dólar de Bermudas"
+ },
+ "KYD": {
+ "name": "dólar de las Islas Caimán"
+ },
+ "TTD": {
+ "name": "dólar de Trinidad y Tobago"
+ },
+ "XCD": {
+ "name": "dólar del Caribe Oriental"
+ },
+ "USD": {
+ "name": "dólar estadounidense",
+ "symbol": "$"
+ },
+ "FJD": {
+ "name": "dólar fiyiano"
+ },
+ "GYD": {
+ "name": "dólar guyanés"
+ },
+ "HKD": {
+ "name": "dólar hongkonés"
+ },
+ "JMD": {
+ "name": "dólar jamaicano"
+ },
+ "LRD": {
+ "name": "dólar liberiano"
+ },
+ "NAD": {
+ "name": "dólar namibio"
+ },
+ "NZD": {
+ "name": "dólar neozelandés"
+ },
+ "SBD": {
+ "name": "dólar salomonense"
+ },
+ "SGD": {
+ "name": "dólar singapurense"
+ },
+ "SRD": {
+ "name": "dólar surinamés"
+ },
+ "ZWL": {
+ "name": "dólar zimbabuense"
+ },
+ "VND": {
+ "name": "dong"
+ },
+ "AMD": {
+ "name": "dram armenio"
+ },
+ "CVE": {
+ "name": "escudo de Cabo Verde"
+ },
+ "PLN": {
+ "name": "esloti"
+ },
+ "EUR": {
+ "name": "euro"
+ },
+ "AWG": {
+ "name": "florín arubeño"
+ },
+ "ANG": {
+ "name": "florín de las Antillas Neerlandesas"
+ },
+ "HUF": {
+ "name": "forinto húngaro"
+ },
+ "BIF": {
+ "name": "franco burundés"
+ },
+ "XOF": {
+ "name": "franco CFA BCEAO"
+ },
+ "XAF": {
+ "name": "franco CFA BEAC"
+ },
+ "XPF": {
+ "name": "franco CFP",
+ "symbol": "CFPF"
+ },
+ "KMF": {
+ "name": "franco comorense"
+ },
+ "CDF": {
+ "name": "franco congoleño"
+ },
+ "GNF": {
+ "name": "franco guineano"
+ },
+ "RWF": {
+ "name": "franco ruandés"
+ },
+ "CHF": {
+ "name": "franco suizo"
+ },
+ "DJF": {
+ "name": "franco yibutiano"
+ },
+ "HTG": {
+ "name": "gourde haitiano"
+ },
+ "UAH": {
+ "name": "grivna"
+ },
+ "PYG": {
+ "name": "guaraní paraguayo"
+ },
+ "BTN": {
+ "name": "gultrum"
+ },
+ "MMK": {
+ "name": "kiat"
+ },
+ "PGK": {
+ "name": "kina"
+ },
+ "LAK": {
+ "name": "kip"
+ },
+ "ZMW": {
+ "name": "kuacha zambiano"
+ },
+ "AOA": {
+ "name": "kuanza"
+ },
+ "HRK": {
+ "name": "kuna"
+ },
+ "MWK": {
+ "name": "kwacha malauí"
+ },
+ "GEL": {
+ "name": "lari"
+ },
+ "ALL": {
+ "name": "lek"
+ },
+ "HNL": {
+ "name": "lempira hondureño"
+ },
+ "SLL": {
+ "name": "leona"
+ },
+ "MDL": {
+ "name": "leu moldavo"
+ },
+ "RON": {
+ "name": "leu rumano"
+ },
+ "BGN": {
+ "name": "lev búlgaro"
+ },
+ "GBP": {
+ "name": "libra británica"
+ },
+ "SHP": {
+ "name": "libra de Santa Elena"
+ },
+ "EGP": {
+ "name": "libra egipcia"
+ },
+ "GIP": {
+ "name": "libra gibraltareña"
+ },
+ "LBP": {
+ "name": "libra libanesa"
+ },
+ "FKP": {
+ "name": "libra malvinense"
+ },
+ "SYP": {
+ "name": "libra siria"
+ },
+ "SDG": {
+ "name": "libra sudanesa"
+ },
+ "SSP": {
+ "name": "libra sursudanesa"
+ },
+ "SZL": {
+ "name": "lilangeni"
+ },
+ "TRY": {
+ "name": "lira turca"
+ },
+ "LSL": {
+ "name": "loti lesothense"
+ },
+ "AZN": {
+ "name": "manat azerí"
+ },
+ "TMT": {
+ "name": "manat turcomano"
+ },
+ "BAM": {
+ "name": "marco convertible de Bosnia-Herzegovina"
+ },
+ "MZN": {
+ "name": "metical"
+ },
+ "ERN": {
+ "name": "nafka"
+ },
+ "NGN": {
+ "name": "naira"
+ },
+ "TWD": {
+ "name": "nuevo dólar taiwanés"
+ },
+ "ILS": {
+ "name": "nuevo séquel israelí"
+ },
+ "PEN": {
+ "name": "nuevo sol peruano"
+ },
+ "TOP": {
+ "name": "paanga"
+ },
+ "MOP": {
+ "name": "pataca de Macao"
+ },
+ "ARS": {
+ "name": "peso argentino"
+ },
+ "CLP": {
+ "name": "peso chileno"
+ },
+ "COP": {
+ "name": "peso colombiano"
+ },
+ "CUP": {
+ "name": "peso cubano"
+ },
+ "CUC": {
+ "name": "peso cubano convertible"
+ },
+ "DOP": {
+ "name": "peso dominicano"
+ },
+ "PHP": {
+ "name": "peso filipino"
+ },
+ "MXN": {
+ "name": "peso mexicano"
+ },
+ "UYU": {
+ "name": "peso uruguayo"
+ },
+ "BWP": {
+ "name": "pula"
+ },
+ "GTQ": {
+ "name": "quetzal guatemalteco"
+ },
+ "ZAR": {
+ "name": "rand"
+ },
+ "BRL": {
+ "name": "real brasileño"
+ },
+ "QAR": {
+ "name": "rial catarí"
+ },
+ "IRR": {
+ "name": "rial iraní"
+ },
+ "OMR": {
+ "name": "rial omaní"
+ },
+ "SAR": {
+ "name": "rial saudí"
+ },
+ "YER": {
+ "name": "rial yemení"
+ },
+ "KHR": {
+ "name": "riel"
+ },
+ "MYR": {
+ "name": "ringit"
+ },
+ "BYN": {
+ "name": "rublo bielorruso"
+ },
+ "BYR": {
+ "name": "rublo bielorruso (2000–2016)"
+ },
+ "RUB": {
+ "name": "rublo ruso"
+ },
+ "MVR": {
+ "name": "rufiya"
+ },
+ "LKR": {
+ "name": "rupia esrilanquesa"
+ },
+ "INR": {
+ "name": "rupia india"
+ },
+ "IDR": {
+ "name": "rupia indonesia"
+ },
+ "MUR": {
+ "name": "rupia mauriciana"
+ },
+ "NPR": {
+ "name": "rupia nepalí"
+ },
+ "PKR": {
+ "name": "rupia pakistaní"
+ },
+ "SCR": {
+ "name": "rupia seychellense"
+ },
+ "KGS": {
+ "name": "som"
+ },
+ "TJS": {
+ "name": "somoni tayiko"
+ },
+ "UZS": {
+ "name": "sum"
+ },
+ "BDT": {
+ "name": "taka"
+ },
+ "WST": {
+ "name": "tala"
+ },
+ "KZT": {
+ "name": "tenge kazako"
+ },
+ "MNT": {
+ "name": "tugrik"
+ },
+ "MRO": {
+ "name": "uguiya"
+ },
+ "VUV": {
+ "name": "vatu"
+ },
+ "KPW": {
+ "name": "won norcoreano"
+ },
+ "KRW": {
+ "name": "won surcoreano"
+ },
+ "JPY": {
+ "name": "yen"
+ },
+ "CNY": {
+ "name": "yuan"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/es-GT.json b/vendor/commerceguys/intl/resources/currency/es-GT.json
new file mode 100644
index 000000000..71c11a878
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/es-GT.json
@@ -0,0 +1,478 @@
+{
+ "AFN": {
+ "name": "afgani"
+ },
+ "MGA": {
+ "name": "ariari"
+ },
+ "PAB": {
+ "name": "balboa panameño"
+ },
+ "THB": {
+ "name": "bat"
+ },
+ "ETB": {
+ "name": "bir"
+ },
+ "VEF": {
+ "name": "bolívar venezolano"
+ },
+ "BOB": {
+ "name": "boliviano"
+ },
+ "GHS": {
+ "name": "cedi"
+ },
+ "KES": {
+ "name": "chelín keniano"
+ },
+ "SOS": {
+ "name": "chelín somalí"
+ },
+ "TZS": {
+ "name": "chelín tanzano"
+ },
+ "UGX": {
+ "name": "chelín ugandés"
+ },
+ "CRC": {
+ "name": "colón costarricense"
+ },
+ "SVC": {
+ "name": "colón salvadoreño"
+ },
+ "NIO": {
+ "name": "córdoba nicaragüense"
+ },
+ "CZK": {
+ "name": "corona checa"
+ },
+ "DKK": {
+ "name": "corona danesa"
+ },
+ "ISK": {
+ "name": "corona islandesa"
+ },
+ "NOK": {
+ "name": "corona noruega"
+ },
+ "SEK": {
+ "name": "corona sueca"
+ },
+ "GMD": {
+ "name": "dalasi"
+ },
+ "DZD": {
+ "name": "dinar argelino"
+ },
+ "BHD": {
+ "name": "dinar bahreiní"
+ },
+ "IQD": {
+ "name": "dinar iraquí"
+ },
+ "JOD": {
+ "name": "dinar jordano"
+ },
+ "KWD": {
+ "name": "dinar kuwaití"
+ },
+ "LYD": {
+ "name": "dinar libio"
+ },
+ "MKD": {
+ "name": "dinar macedonio"
+ },
+ "RSD": {
+ "name": "dinar serbio"
+ },
+ "TND": {
+ "name": "dinar tunecino"
+ },
+ "AED": {
+ "name": "dírham de los Emiratos Árabes Unidos"
+ },
+ "MAD": {
+ "name": "dírham marroquí"
+ },
+ "STD": {
+ "name": "dobra"
+ },
+ "AUD": {
+ "name": "dólar australiano"
+ },
+ "BSD": {
+ "name": "dólar bahameño"
+ },
+ "BBD": {
+ "name": "dólar barbadense"
+ },
+ "BZD": {
+ "name": "dólar beliceño"
+ },
+ "BND": {
+ "name": "dólar bruneano"
+ },
+ "CAD": {
+ "name": "dólar canadiense"
+ },
+ "BMD": {
+ "name": "dólar de Bermudas"
+ },
+ "KYD": {
+ "name": "dólar de las Islas Caimán"
+ },
+ "TTD": {
+ "name": "dólar de Trinidad y Tobago"
+ },
+ "XCD": {
+ "name": "dólar del Caribe Oriental"
+ },
+ "USD": {
+ "name": "dólar estadounidense"
+ },
+ "FJD": {
+ "name": "dólar fiyiano"
+ },
+ "GYD": {
+ "name": "dólar guyanés"
+ },
+ "HKD": {
+ "name": "dólar hongkonés"
+ },
+ "JMD": {
+ "name": "dólar jamaicano"
+ },
+ "LRD": {
+ "name": "dólar liberiano"
+ },
+ "NAD": {
+ "name": "dólar namibio"
+ },
+ "NZD": {
+ "name": "dólar neozelandés"
+ },
+ "SBD": {
+ "name": "dólar salomonense"
+ },
+ "SGD": {
+ "name": "dólar singapurense"
+ },
+ "SRD": {
+ "name": "dólar surinamés"
+ },
+ "ZWL": {
+ "name": "dólar zimbabuense"
+ },
+ "VND": {
+ "name": "dong"
+ },
+ "AMD": {
+ "name": "dram armenio"
+ },
+ "CVE": {
+ "name": "escudo de Cabo Verde"
+ },
+ "PLN": {
+ "name": "esloti"
+ },
+ "EUR": {
+ "name": "euro"
+ },
+ "AWG": {
+ "name": "florín arubeño"
+ },
+ "ANG": {
+ "name": "florín de las Antillas Neerlandesas"
+ },
+ "HUF": {
+ "name": "forinto húngaro"
+ },
+ "BIF": {
+ "name": "franco burundés"
+ },
+ "XOF": {
+ "name": "franco CFA BCEAO"
+ },
+ "XAF": {
+ "name": "franco CFA BEAC"
+ },
+ "XPF": {
+ "name": "franco CFP",
+ "symbol": "CFPF"
+ },
+ "KMF": {
+ "name": "franco comorense"
+ },
+ "CDF": {
+ "name": "franco congoleño"
+ },
+ "GNF": {
+ "name": "franco guineano"
+ },
+ "RWF": {
+ "name": "franco ruandés"
+ },
+ "CHF": {
+ "name": "franco suizo"
+ },
+ "DJF": {
+ "name": "franco yibutiano"
+ },
+ "HTG": {
+ "name": "gourde haitiano"
+ },
+ "UAH": {
+ "name": "grivna"
+ },
+ "PYG": {
+ "name": "guaraní paraguayo"
+ },
+ "BTN": {
+ "name": "gultrum"
+ },
+ "MMK": {
+ "name": "kiat"
+ },
+ "PGK": {
+ "name": "kina"
+ },
+ "LAK": {
+ "name": "kip"
+ },
+ "ZMW": {
+ "name": "kuacha zambiano"
+ },
+ "AOA": {
+ "name": "kuanza"
+ },
+ "HRK": {
+ "name": "kuna"
+ },
+ "MWK": {
+ "name": "kwacha malauí"
+ },
+ "GEL": {
+ "name": "lari"
+ },
+ "ALL": {
+ "name": "lek"
+ },
+ "HNL": {
+ "name": "lempira hondureño"
+ },
+ "SLL": {
+ "name": "leona"
+ },
+ "MDL": {
+ "name": "leu moldavo"
+ },
+ "RON": {
+ "name": "leu rumano"
+ },
+ "BGN": {
+ "name": "lev búlgaro"
+ },
+ "GBP": {
+ "name": "libra británica"
+ },
+ "SHP": {
+ "name": "libra de Santa Elena"
+ },
+ "EGP": {
+ "name": "libra egipcia"
+ },
+ "GIP": {
+ "name": "libra gibraltareña"
+ },
+ "LBP": {
+ "name": "libra libanesa"
+ },
+ "FKP": {
+ "name": "libra malvinense"
+ },
+ "SYP": {
+ "name": "libra siria"
+ },
+ "SDG": {
+ "name": "libra sudanesa"
+ },
+ "SSP": {
+ "name": "libra sursudanesa"
+ },
+ "SZL": {
+ "name": "lilangeni"
+ },
+ "TRY": {
+ "name": "lira turca"
+ },
+ "LSL": {
+ "name": "loti lesothense"
+ },
+ "AZN": {
+ "name": "manat azerí"
+ },
+ "TMT": {
+ "name": "manat turcomano"
+ },
+ "BAM": {
+ "name": "marco convertible de Bosnia-Herzegovina"
+ },
+ "MZN": {
+ "name": "metical"
+ },
+ "ERN": {
+ "name": "nafka"
+ },
+ "NGN": {
+ "name": "naira"
+ },
+ "TWD": {
+ "name": "nuevo dólar taiwanés"
+ },
+ "ILS": {
+ "name": "nuevo séquel israelí"
+ },
+ "PEN": {
+ "name": "nuevo sol peruano"
+ },
+ "TOP": {
+ "name": "paanga"
+ },
+ "MOP": {
+ "name": "pataca de Macao"
+ },
+ "ARS": {
+ "name": "peso argentino"
+ },
+ "CLP": {
+ "name": "peso chileno"
+ },
+ "COP": {
+ "name": "peso colombiano"
+ },
+ "CUP": {
+ "name": "peso cubano"
+ },
+ "CUC": {
+ "name": "peso cubano convertible"
+ },
+ "DOP": {
+ "name": "peso dominicano"
+ },
+ "PHP": {
+ "name": "peso filipino"
+ },
+ "MXN": {
+ "name": "peso mexicano"
+ },
+ "UYU": {
+ "name": "peso uruguayo"
+ },
+ "BWP": {
+ "name": "pula"
+ },
+ "GTQ": {
+ "name": "quetzal",
+ "symbol": "Q"
+ },
+ "ZAR": {
+ "name": "rand"
+ },
+ "BRL": {
+ "name": "real brasileño"
+ },
+ "QAR": {
+ "name": "rial catarí"
+ },
+ "IRR": {
+ "name": "rial iraní"
+ },
+ "OMR": {
+ "name": "rial omaní"
+ },
+ "SAR": {
+ "name": "rial saudí"
+ },
+ "YER": {
+ "name": "rial yemení"
+ },
+ "KHR": {
+ "name": "riel"
+ },
+ "MYR": {
+ "name": "ringit"
+ },
+ "BYN": {
+ "name": "rublo bielorruso"
+ },
+ "BYR": {
+ "name": "rublo bielorruso (2000–2016)"
+ },
+ "RUB": {
+ "name": "rublo ruso"
+ },
+ "MVR": {
+ "name": "rufiya"
+ },
+ "LKR": {
+ "name": "rupia esrilanquesa"
+ },
+ "INR": {
+ "name": "rupia india"
+ },
+ "IDR": {
+ "name": "rupia indonesia"
+ },
+ "MUR": {
+ "name": "rupia mauriciana"
+ },
+ "NPR": {
+ "name": "rupia nepalí"
+ },
+ "PKR": {
+ "name": "rupia pakistaní"
+ },
+ "SCR": {
+ "name": "rupia seychellense"
+ },
+ "KGS": {
+ "name": "som"
+ },
+ "TJS": {
+ "name": "somoni tayiko"
+ },
+ "UZS": {
+ "name": "sum"
+ },
+ "BDT": {
+ "name": "taka"
+ },
+ "WST": {
+ "name": "tala"
+ },
+ "KZT": {
+ "name": "tenge kazako"
+ },
+ "MNT": {
+ "name": "tugrik"
+ },
+ "MRO": {
+ "name": "uguiya"
+ },
+ "VUV": {
+ "name": "vatu"
+ },
+ "KPW": {
+ "name": "won norcoreano"
+ },
+ "KRW": {
+ "name": "won surcoreano"
+ },
+ "JPY": {
+ "name": "yen"
+ },
+ "CNY": {
+ "name": "yuan"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/es-HN.json b/vendor/commerceguys/intl/resources/currency/es-HN.json
new file mode 100644
index 000000000..480e946c6
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/es-HN.json
@@ -0,0 +1,478 @@
+{
+ "AFN": {
+ "name": "afgani"
+ },
+ "MGA": {
+ "name": "ariari"
+ },
+ "PAB": {
+ "name": "balboa panameño"
+ },
+ "THB": {
+ "name": "bat"
+ },
+ "ETB": {
+ "name": "bir"
+ },
+ "VEF": {
+ "name": "bolívar venezolano"
+ },
+ "BOB": {
+ "name": "boliviano"
+ },
+ "GHS": {
+ "name": "cedi"
+ },
+ "KES": {
+ "name": "chelín keniano"
+ },
+ "SOS": {
+ "name": "chelín somalí"
+ },
+ "TZS": {
+ "name": "chelín tanzano"
+ },
+ "UGX": {
+ "name": "chelín ugandés"
+ },
+ "CRC": {
+ "name": "colón costarricense"
+ },
+ "SVC": {
+ "name": "colón salvadoreño"
+ },
+ "NIO": {
+ "name": "córdoba nicaragüense"
+ },
+ "CZK": {
+ "name": "corona checa"
+ },
+ "DKK": {
+ "name": "corona danesa"
+ },
+ "ISK": {
+ "name": "corona islandesa"
+ },
+ "NOK": {
+ "name": "corona noruega"
+ },
+ "SEK": {
+ "name": "corona sueca"
+ },
+ "GMD": {
+ "name": "dalasi"
+ },
+ "DZD": {
+ "name": "dinar argelino"
+ },
+ "BHD": {
+ "name": "dinar bahreiní"
+ },
+ "IQD": {
+ "name": "dinar iraquí"
+ },
+ "JOD": {
+ "name": "dinar jordano"
+ },
+ "KWD": {
+ "name": "dinar kuwaití"
+ },
+ "LYD": {
+ "name": "dinar libio"
+ },
+ "MKD": {
+ "name": "dinar macedonio"
+ },
+ "RSD": {
+ "name": "dinar serbio"
+ },
+ "TND": {
+ "name": "dinar tunecino"
+ },
+ "AED": {
+ "name": "dírham de los Emiratos Árabes Unidos"
+ },
+ "MAD": {
+ "name": "dírham marroquí"
+ },
+ "STD": {
+ "name": "dobra"
+ },
+ "AUD": {
+ "name": "dólar australiano"
+ },
+ "BSD": {
+ "name": "dólar bahameño"
+ },
+ "BBD": {
+ "name": "dólar barbadense"
+ },
+ "BZD": {
+ "name": "dólar beliceño"
+ },
+ "BND": {
+ "name": "dólar bruneano"
+ },
+ "CAD": {
+ "name": "dólar canadiense"
+ },
+ "BMD": {
+ "name": "dólar de Bermudas"
+ },
+ "KYD": {
+ "name": "dólar de las Islas Caimán"
+ },
+ "TTD": {
+ "name": "dólar de Trinidad y Tobago"
+ },
+ "XCD": {
+ "name": "dólar del Caribe Oriental"
+ },
+ "USD": {
+ "name": "dólar estadounidense"
+ },
+ "FJD": {
+ "name": "dólar fiyiano"
+ },
+ "GYD": {
+ "name": "dólar guyanés"
+ },
+ "HKD": {
+ "name": "dólar hongkonés"
+ },
+ "JMD": {
+ "name": "dólar jamaicano"
+ },
+ "LRD": {
+ "name": "dólar liberiano"
+ },
+ "NAD": {
+ "name": "dólar namibio"
+ },
+ "NZD": {
+ "name": "dólar neozelandés"
+ },
+ "SBD": {
+ "name": "dólar salomonense"
+ },
+ "SGD": {
+ "name": "dólar singapurense"
+ },
+ "SRD": {
+ "name": "dólar surinamés"
+ },
+ "ZWL": {
+ "name": "dólar zimbabuense"
+ },
+ "VND": {
+ "name": "dong"
+ },
+ "AMD": {
+ "name": "dram armenio"
+ },
+ "CVE": {
+ "name": "escudo de Cabo Verde"
+ },
+ "PLN": {
+ "name": "esloti"
+ },
+ "EUR": {
+ "name": "euro"
+ },
+ "AWG": {
+ "name": "florín arubeño"
+ },
+ "ANG": {
+ "name": "florín de las Antillas Neerlandesas"
+ },
+ "HUF": {
+ "name": "forinto húngaro"
+ },
+ "BIF": {
+ "name": "franco burundés"
+ },
+ "XOF": {
+ "name": "franco CFA BCEAO"
+ },
+ "XAF": {
+ "name": "franco CFA BEAC"
+ },
+ "XPF": {
+ "name": "franco CFP",
+ "symbol": "CFPF"
+ },
+ "KMF": {
+ "name": "franco comorense"
+ },
+ "CDF": {
+ "name": "franco congoleño"
+ },
+ "GNF": {
+ "name": "franco guineano"
+ },
+ "RWF": {
+ "name": "franco ruandés"
+ },
+ "CHF": {
+ "name": "franco suizo"
+ },
+ "DJF": {
+ "name": "franco yibutiano"
+ },
+ "HTG": {
+ "name": "gourde haitiano"
+ },
+ "UAH": {
+ "name": "grivna"
+ },
+ "PYG": {
+ "name": "guaraní paraguayo"
+ },
+ "BTN": {
+ "name": "gultrum"
+ },
+ "MMK": {
+ "name": "kiat"
+ },
+ "PGK": {
+ "name": "kina"
+ },
+ "LAK": {
+ "name": "kip"
+ },
+ "ZMW": {
+ "name": "kuacha zambiano"
+ },
+ "AOA": {
+ "name": "kuanza"
+ },
+ "HRK": {
+ "name": "kuna"
+ },
+ "MWK": {
+ "name": "kwacha malauí"
+ },
+ "GEL": {
+ "name": "lari"
+ },
+ "ALL": {
+ "name": "lek"
+ },
+ "HNL": {
+ "name": "lempira hondureño",
+ "symbol": "L"
+ },
+ "SLL": {
+ "name": "leona"
+ },
+ "MDL": {
+ "name": "leu moldavo"
+ },
+ "RON": {
+ "name": "leu rumano"
+ },
+ "BGN": {
+ "name": "lev búlgaro"
+ },
+ "GBP": {
+ "name": "libra británica"
+ },
+ "SHP": {
+ "name": "libra de Santa Elena"
+ },
+ "EGP": {
+ "name": "libra egipcia"
+ },
+ "GIP": {
+ "name": "libra gibraltareña"
+ },
+ "LBP": {
+ "name": "libra libanesa"
+ },
+ "FKP": {
+ "name": "libra malvinense"
+ },
+ "SYP": {
+ "name": "libra siria"
+ },
+ "SDG": {
+ "name": "libra sudanesa"
+ },
+ "SSP": {
+ "name": "libra sursudanesa"
+ },
+ "SZL": {
+ "name": "lilangeni"
+ },
+ "TRY": {
+ "name": "lira turca"
+ },
+ "LSL": {
+ "name": "loti lesothense"
+ },
+ "AZN": {
+ "name": "manat azerí"
+ },
+ "TMT": {
+ "name": "manat turcomano"
+ },
+ "BAM": {
+ "name": "marco convertible de Bosnia-Herzegovina"
+ },
+ "MZN": {
+ "name": "metical"
+ },
+ "ERN": {
+ "name": "nafka"
+ },
+ "NGN": {
+ "name": "naira"
+ },
+ "TWD": {
+ "name": "nuevo dólar taiwanés"
+ },
+ "ILS": {
+ "name": "nuevo séquel israelí"
+ },
+ "PEN": {
+ "name": "nuevo sol peruano"
+ },
+ "TOP": {
+ "name": "paanga"
+ },
+ "MOP": {
+ "name": "pataca de Macao"
+ },
+ "ARS": {
+ "name": "peso argentino"
+ },
+ "CLP": {
+ "name": "peso chileno"
+ },
+ "COP": {
+ "name": "peso colombiano"
+ },
+ "CUP": {
+ "name": "peso cubano"
+ },
+ "CUC": {
+ "name": "peso cubano convertible"
+ },
+ "DOP": {
+ "name": "peso dominicano"
+ },
+ "PHP": {
+ "name": "peso filipino"
+ },
+ "MXN": {
+ "name": "peso mexicano"
+ },
+ "UYU": {
+ "name": "peso uruguayo"
+ },
+ "BWP": {
+ "name": "pula"
+ },
+ "GTQ": {
+ "name": "quetzal guatemalteco"
+ },
+ "ZAR": {
+ "name": "rand"
+ },
+ "BRL": {
+ "name": "real brasileño"
+ },
+ "QAR": {
+ "name": "rial catarí"
+ },
+ "IRR": {
+ "name": "rial iraní"
+ },
+ "OMR": {
+ "name": "rial omaní"
+ },
+ "SAR": {
+ "name": "rial saudí"
+ },
+ "YER": {
+ "name": "rial yemení"
+ },
+ "KHR": {
+ "name": "riel"
+ },
+ "MYR": {
+ "name": "ringit"
+ },
+ "BYN": {
+ "name": "rublo bielorruso"
+ },
+ "BYR": {
+ "name": "rublo bielorruso (2000–2016)"
+ },
+ "RUB": {
+ "name": "rublo ruso"
+ },
+ "MVR": {
+ "name": "rufiya"
+ },
+ "LKR": {
+ "name": "rupia esrilanquesa"
+ },
+ "INR": {
+ "name": "rupia india"
+ },
+ "IDR": {
+ "name": "rupia indonesia"
+ },
+ "MUR": {
+ "name": "rupia mauriciana"
+ },
+ "NPR": {
+ "name": "rupia nepalí"
+ },
+ "PKR": {
+ "name": "rupia pakistaní"
+ },
+ "SCR": {
+ "name": "rupia seychellense"
+ },
+ "KGS": {
+ "name": "som"
+ },
+ "TJS": {
+ "name": "somoni tayiko"
+ },
+ "UZS": {
+ "name": "sum"
+ },
+ "BDT": {
+ "name": "taka"
+ },
+ "WST": {
+ "name": "tala"
+ },
+ "KZT": {
+ "name": "tenge kazako"
+ },
+ "MNT": {
+ "name": "tugrik"
+ },
+ "MRO": {
+ "name": "uguiya"
+ },
+ "VUV": {
+ "name": "vatu"
+ },
+ "KPW": {
+ "name": "won norcoreano"
+ },
+ "KRW": {
+ "name": "won surcoreano"
+ },
+ "JPY": {
+ "name": "yen"
+ },
+ "CNY": {
+ "name": "yuan"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/es-MX.json b/vendor/commerceguys/intl/resources/currency/es-MX.json
new file mode 100644
index 000000000..8c5982e71
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/es-MX.json
@@ -0,0 +1,484 @@
+{
+ "AFN": {
+ "name": "afgani afgano",
+ "symbol": "Af"
+ },
+ "MGA": {
+ "name": "ariary malgache"
+ },
+ "THB": {
+ "name": "baht tailandés"
+ },
+ "PAB": {
+ "name": "balboa panameño"
+ },
+ "ETB": {
+ "name": "birr etíope"
+ },
+ "VEF": {
+ "name": "bolívar venezolano"
+ },
+ "BOB": {
+ "name": "boliviano"
+ },
+ "GHS": {
+ "name": "cedi ghanés"
+ },
+ "KES": {
+ "name": "chelín keniano"
+ },
+ "SOS": {
+ "name": "chelín somalí"
+ },
+ "TZS": {
+ "name": "chelín tanzano"
+ },
+ "UGX": {
+ "name": "chelín ugandés"
+ },
+ "CRC": {
+ "name": "colón costarricense"
+ },
+ "SVC": {
+ "name": "colón salvadoreño"
+ },
+ "NIO": {
+ "name": "córdoba nicaragüense"
+ },
+ "CZK": {
+ "name": "corona checa"
+ },
+ "DKK": {
+ "name": "corona danesa"
+ },
+ "ISK": {
+ "name": "corona islandesa"
+ },
+ "NOK": {
+ "name": "corona noruega"
+ },
+ "SEK": {
+ "name": "corona sueca"
+ },
+ "GMD": {
+ "name": "dalasi gambiano"
+ },
+ "DZD": {
+ "name": "dinar argelino"
+ },
+ "BHD": {
+ "name": "dinar bahreiní"
+ },
+ "IQD": {
+ "name": "dinar iraquí"
+ },
+ "JOD": {
+ "name": "dinar jordano"
+ },
+ "KWD": {
+ "name": "dinar kuwaití"
+ },
+ "LYD": {
+ "name": "dinar libio"
+ },
+ "MKD": {
+ "name": "dinar macedonio"
+ },
+ "RSD": {
+ "name": "dinar serbio"
+ },
+ "TND": {
+ "name": "dinar tunecino"
+ },
+ "AED": {
+ "name": "dírham de los Emiratos Árabes Unidos"
+ },
+ "MAD": {
+ "name": "dírham marroquí"
+ },
+ "STD": {
+ "name": "dobra de Santo Tomé y Príncipe"
+ },
+ "AUD": {
+ "name": "dólar australiano",
+ "symbol": "AU$"
+ },
+ "BSD": {
+ "name": "dólar bahameño"
+ },
+ "BBD": {
+ "name": "dólar barbadense"
+ },
+ "BZD": {
+ "name": "dólar beliceño"
+ },
+ "CAD": {
+ "name": "dólar canadiense"
+ },
+ "BMD": {
+ "name": "dólar de Bermudas"
+ },
+ "BND": {
+ "name": "dólar de Brunéi"
+ },
+ "HKD": {
+ "name": "dólar de Hong Kong"
+ },
+ "KYD": {
+ "name": "dólar de las Islas Caimán"
+ },
+ "SBD": {
+ "name": "dólar de las Islas Salomón"
+ },
+ "TTD": {
+ "name": "dólar de Trinidad y Tobago"
+ },
+ "XCD": {
+ "name": "dólar del Caribe Oriental"
+ },
+ "USD": {
+ "name": "dólar estadounidense"
+ },
+ "FJD": {
+ "name": "dólar fiyiano"
+ },
+ "GYD": {
+ "name": "dólar guyanés"
+ },
+ "JMD": {
+ "name": "dólar jamaicano"
+ },
+ "LRD": {
+ "name": "dólar liberiano"
+ },
+ "NAD": {
+ "name": "dólar namibio"
+ },
+ "NZD": {
+ "name": "dólar neozelandés"
+ },
+ "SGD": {
+ "name": "dólar singapurense"
+ },
+ "SRD": {
+ "name": "dólar surinamés"
+ },
+ "ZWL": {
+ "name": "dólar zimbabuense"
+ },
+ "VND": {
+ "name": "dong vietnamita"
+ },
+ "AMD": {
+ "name": "dram armenio"
+ },
+ "CVE": {
+ "name": "escudo de Cabo Verde"
+ },
+ "EUR": {
+ "name": "euro"
+ },
+ "AWG": {
+ "name": "florín arubeño",
+ "symbol": "Afl."
+ },
+ "ANG": {
+ "name": "florín de las Antillas Neerlandesas",
+ "symbol": "Naf"
+ },
+ "HUF": {
+ "name": "forinto húngaro"
+ },
+ "BIF": {
+ "name": "franco burundés"
+ },
+ "XOF": {
+ "name": "franco CFA BCEAO"
+ },
+ "XAF": {
+ "name": "franco CFA BEAC"
+ },
+ "XPF": {
+ "name": "franco CFP"
+ },
+ "KMF": {
+ "name": "franco comorense"
+ },
+ "CDF": {
+ "name": "franco congoleño"
+ },
+ "GNF": {
+ "name": "franco guineano"
+ },
+ "RWF": {
+ "name": "franco ruandés"
+ },
+ "CHF": {
+ "name": "franco suizo"
+ },
+ "DJF": {
+ "name": "franco yibutiano"
+ },
+ "HTG": {
+ "name": "gourde haitiano"
+ },
+ "UAH": {
+ "name": "grivna ucraniana"
+ },
+ "PYG": {
+ "name": "guaraní paraguayo"
+ },
+ "PGK": {
+ "name": "kina de Papúa Nueva Guinea"
+ },
+ "LAK": {
+ "name": "kip laosiano"
+ },
+ "HRK": {
+ "name": "kuna croata"
+ },
+ "MWK": {
+ "name": "kwacha malauí"
+ },
+ "ZMW": {
+ "name": "kwacha zambiano"
+ },
+ "AOA": {
+ "name": "kwanza angoleño",
+ "symbol": "Kz"
+ },
+ "MMK": {
+ "name": "kyat de Myanmar"
+ },
+ "GEL": {
+ "name": "lari georgiano"
+ },
+ "ALL": {
+ "name": "lek albanés"
+ },
+ "HNL": {
+ "name": "lempira hondureño"
+ },
+ "SLL": {
+ "name": "leone de Sierra Leona"
+ },
+ "MDL": {
+ "name": "leu moldavo"
+ },
+ "RON": {
+ "name": "leu rumano"
+ },
+ "BGN": {
+ "name": "lev búlgaro"
+ },
+ "GBP": {
+ "name": "libra británica"
+ },
+ "SHP": {
+ "name": "libra de Santa Elena"
+ },
+ "EGP": {
+ "name": "libra egipcia"
+ },
+ "GIP": {
+ "name": "libra gibraltareña"
+ },
+ "LBP": {
+ "name": "libra libanesa"
+ },
+ "FKP": {
+ "name": "libra malvinense"
+ },
+ "SYP": {
+ "name": "libra siria"
+ },
+ "SDG": {
+ "name": "libra sudanesa"
+ },
+ "SSP": {
+ "name": "libra sursudanesa"
+ },
+ "SZL": {
+ "name": "lilangeni suazi"
+ },
+ "TRY": {
+ "name": "lira turca"
+ },
+ "LSL": {
+ "name": "loti lesothense"
+ },
+ "AZN": {
+ "name": "manat azerí"
+ },
+ "TMT": {
+ "name": "manat turkmeno"
+ },
+ "BAM": {
+ "name": "marco convertible de Bosnia-Herzegovina"
+ },
+ "MZN": {
+ "name": "metical mozambiqueño"
+ },
+ "ERN": {
+ "name": "nafka"
+ },
+ "NGN": {
+ "name": "naira nigeriano"
+ },
+ "BTN": {
+ "name": "ngultrum butanés"
+ },
+ "TWD": {
+ "name": "nuevo dólar taiwanés"
+ },
+ "ILS": {
+ "name": "nuevo shéquel israelí"
+ },
+ "PEN": {
+ "name": "nuevo sol peruano"
+ },
+ "MRO": {
+ "name": "ouguiya mauritano"
+ },
+ "TOP": {
+ "name": "paʻanga tongano"
+ },
+ "MOP": {
+ "name": "pataca de Macao"
+ },
+ "ARS": {
+ "name": "peso argentino",
+ "symbol": "$a"
+ },
+ "CLP": {
+ "name": "peso chileno"
+ },
+ "COP": {
+ "name": "peso colombiano"
+ },
+ "CUP": {
+ "name": "peso cubano"
+ },
+ "CUC": {
+ "name": "peso cubano convertible"
+ },
+ "DOP": {
+ "name": "peso dominicano"
+ },
+ "PHP": {
+ "name": "peso filipino"
+ },
+ "MXN": {
+ "name": "peso mexicano",
+ "symbol": "$"
+ },
+ "UYU": {
+ "name": "peso uruguayo"
+ },
+ "BWP": {
+ "name": "pula botsuano"
+ },
+ "GTQ": {
+ "name": "quetzal guatemalteco"
+ },
+ "ZAR": {
+ "name": "rand sudafricano"
+ },
+ "BRL": {
+ "name": "real brasileño"
+ },
+ "IRR": {
+ "name": "rial iraní"
+ },
+ "OMR": {
+ "name": "rial omaní"
+ },
+ "YER": {
+ "name": "rial yemení"
+ },
+ "KHR": {
+ "name": "riel camboyano"
+ },
+ "MYR": {
+ "name": "ringgit malayo"
+ },
+ "QAR": {
+ "name": "riyal de Qatar"
+ },
+ "SAR": {
+ "name": "riyal saudí"
+ },
+ "BYN": {
+ "name": "rublo bielorruso"
+ },
+ "BYR": {
+ "name": "rublo bielorruso (2000–2016)"
+ },
+ "RUB": {
+ "name": "rublo ruso"
+ },
+ "MVR": {
+ "name": "rufiyaa de Maldivas"
+ },
+ "SCR": {
+ "name": "rupia de Seychelles"
+ },
+ "LKR": {
+ "name": "rupia de Sri Lanka"
+ },
+ "INR": {
+ "name": "rupia india"
+ },
+ "IDR": {
+ "name": "rupia indonesia"
+ },
+ "MUR": {
+ "name": "rupia mauriciana"
+ },
+ "NPR": {
+ "name": "rupia nepalí"
+ },
+ "PKR": {
+ "name": "rupia pakistaní"
+ },
+ "KGS": {
+ "name": "som kirguís"
+ },
+ "UZS": {
+ "name": "som uzbeko"
+ },
+ "TJS": {
+ "name": "somoni tayiko"
+ },
+ "BDT": {
+ "name": "taka de Bangladesh"
+ },
+ "WST": {
+ "name": "tala samoano"
+ },
+ "KZT": {
+ "name": "tenge kazajo"
+ },
+ "MNT": {
+ "name": "tugrik mongol"
+ },
+ "VUV": {
+ "name": "vatu vanuatuense"
+ },
+ "KPW": {
+ "name": "won norcoreano"
+ },
+ "KRW": {
+ "name": "won surcoreano"
+ },
+ "JPY": {
+ "name": "yen japonés"
+ },
+ "CNY": {
+ "name": "yuan chino",
+ "symbol": "CN¥"
+ },
+ "PLN": {
+ "name": "zloty polaco"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/es-NI.json b/vendor/commerceguys/intl/resources/currency/es-NI.json
new file mode 100644
index 000000000..1bd0311ed
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/es-NI.json
@@ -0,0 +1,478 @@
+{
+ "AFN": {
+ "name": "afgani"
+ },
+ "MGA": {
+ "name": "ariari"
+ },
+ "PAB": {
+ "name": "balboa panameño"
+ },
+ "THB": {
+ "name": "bat"
+ },
+ "ETB": {
+ "name": "bir"
+ },
+ "VEF": {
+ "name": "bolívar venezolano"
+ },
+ "BOB": {
+ "name": "boliviano"
+ },
+ "GHS": {
+ "name": "cedi"
+ },
+ "KES": {
+ "name": "chelín keniano"
+ },
+ "SOS": {
+ "name": "chelín somalí"
+ },
+ "TZS": {
+ "name": "chelín tanzano"
+ },
+ "UGX": {
+ "name": "chelín ugandés"
+ },
+ "CRC": {
+ "name": "colón costarricense"
+ },
+ "SVC": {
+ "name": "colón salvadoreño"
+ },
+ "NIO": {
+ "name": "córdoba nicaragüense",
+ "symbol": "C$"
+ },
+ "CZK": {
+ "name": "corona checa"
+ },
+ "DKK": {
+ "name": "corona danesa"
+ },
+ "ISK": {
+ "name": "corona islandesa"
+ },
+ "NOK": {
+ "name": "corona noruega"
+ },
+ "SEK": {
+ "name": "corona sueca"
+ },
+ "GMD": {
+ "name": "dalasi"
+ },
+ "DZD": {
+ "name": "dinar argelino"
+ },
+ "BHD": {
+ "name": "dinar bahreiní"
+ },
+ "IQD": {
+ "name": "dinar iraquí"
+ },
+ "JOD": {
+ "name": "dinar jordano"
+ },
+ "KWD": {
+ "name": "dinar kuwaití"
+ },
+ "LYD": {
+ "name": "dinar libio"
+ },
+ "MKD": {
+ "name": "dinar macedonio"
+ },
+ "RSD": {
+ "name": "dinar serbio"
+ },
+ "TND": {
+ "name": "dinar tunecino"
+ },
+ "AED": {
+ "name": "dírham de los Emiratos Árabes Unidos"
+ },
+ "MAD": {
+ "name": "dírham marroquí"
+ },
+ "STD": {
+ "name": "dobra"
+ },
+ "AUD": {
+ "name": "dólar australiano"
+ },
+ "BSD": {
+ "name": "dólar bahameño"
+ },
+ "BBD": {
+ "name": "dólar barbadense"
+ },
+ "BZD": {
+ "name": "dólar beliceño"
+ },
+ "BND": {
+ "name": "dólar bruneano"
+ },
+ "CAD": {
+ "name": "dólar canadiense"
+ },
+ "BMD": {
+ "name": "dólar de Bermudas"
+ },
+ "KYD": {
+ "name": "dólar de las Islas Caimán"
+ },
+ "TTD": {
+ "name": "dólar de Trinidad y Tobago"
+ },
+ "XCD": {
+ "name": "dólar del Caribe Oriental"
+ },
+ "USD": {
+ "name": "dólar estadounidense"
+ },
+ "FJD": {
+ "name": "dólar fiyiano"
+ },
+ "GYD": {
+ "name": "dólar guyanés"
+ },
+ "HKD": {
+ "name": "dólar hongkonés"
+ },
+ "JMD": {
+ "name": "dólar jamaicano"
+ },
+ "LRD": {
+ "name": "dólar liberiano"
+ },
+ "NAD": {
+ "name": "dólar namibio"
+ },
+ "NZD": {
+ "name": "dólar neozelandés"
+ },
+ "SBD": {
+ "name": "dólar salomonense"
+ },
+ "SGD": {
+ "name": "dólar singapurense"
+ },
+ "SRD": {
+ "name": "dólar surinamés"
+ },
+ "ZWL": {
+ "name": "dólar zimbabuense"
+ },
+ "VND": {
+ "name": "dong"
+ },
+ "AMD": {
+ "name": "dram armenio"
+ },
+ "CVE": {
+ "name": "escudo de Cabo Verde"
+ },
+ "PLN": {
+ "name": "esloti"
+ },
+ "EUR": {
+ "name": "euro"
+ },
+ "AWG": {
+ "name": "florín arubeño"
+ },
+ "ANG": {
+ "name": "florín de las Antillas Neerlandesas"
+ },
+ "HUF": {
+ "name": "forinto húngaro"
+ },
+ "BIF": {
+ "name": "franco burundés"
+ },
+ "XOF": {
+ "name": "franco CFA BCEAO"
+ },
+ "XAF": {
+ "name": "franco CFA BEAC"
+ },
+ "XPF": {
+ "name": "franco CFP",
+ "symbol": "CFPF"
+ },
+ "KMF": {
+ "name": "franco comorense"
+ },
+ "CDF": {
+ "name": "franco congoleño"
+ },
+ "GNF": {
+ "name": "franco guineano"
+ },
+ "RWF": {
+ "name": "franco ruandés"
+ },
+ "CHF": {
+ "name": "franco suizo"
+ },
+ "DJF": {
+ "name": "franco yibutiano"
+ },
+ "HTG": {
+ "name": "gourde haitiano"
+ },
+ "UAH": {
+ "name": "grivna"
+ },
+ "PYG": {
+ "name": "guaraní paraguayo"
+ },
+ "BTN": {
+ "name": "gultrum"
+ },
+ "MMK": {
+ "name": "kiat"
+ },
+ "PGK": {
+ "name": "kina"
+ },
+ "LAK": {
+ "name": "kip"
+ },
+ "ZMW": {
+ "name": "kuacha zambiano"
+ },
+ "AOA": {
+ "name": "kuanza"
+ },
+ "HRK": {
+ "name": "kuna"
+ },
+ "MWK": {
+ "name": "kwacha malauí"
+ },
+ "GEL": {
+ "name": "lari"
+ },
+ "ALL": {
+ "name": "lek"
+ },
+ "HNL": {
+ "name": "lempira hondureño"
+ },
+ "SLL": {
+ "name": "leona"
+ },
+ "MDL": {
+ "name": "leu moldavo"
+ },
+ "RON": {
+ "name": "leu rumano"
+ },
+ "BGN": {
+ "name": "lev búlgaro"
+ },
+ "GBP": {
+ "name": "libra británica"
+ },
+ "SHP": {
+ "name": "libra de Santa Elena"
+ },
+ "EGP": {
+ "name": "libra egipcia"
+ },
+ "GIP": {
+ "name": "libra gibraltareña"
+ },
+ "LBP": {
+ "name": "libra libanesa"
+ },
+ "FKP": {
+ "name": "libra malvinense"
+ },
+ "SYP": {
+ "name": "libra siria"
+ },
+ "SDG": {
+ "name": "libra sudanesa"
+ },
+ "SSP": {
+ "name": "libra sursudanesa"
+ },
+ "SZL": {
+ "name": "lilangeni"
+ },
+ "TRY": {
+ "name": "lira turca"
+ },
+ "LSL": {
+ "name": "loti lesothense"
+ },
+ "AZN": {
+ "name": "manat azerí"
+ },
+ "TMT": {
+ "name": "manat turcomano"
+ },
+ "BAM": {
+ "name": "marco convertible de Bosnia-Herzegovina"
+ },
+ "MZN": {
+ "name": "metical"
+ },
+ "ERN": {
+ "name": "nafka"
+ },
+ "NGN": {
+ "name": "naira"
+ },
+ "TWD": {
+ "name": "nuevo dólar taiwanés"
+ },
+ "ILS": {
+ "name": "nuevo séquel israelí"
+ },
+ "PEN": {
+ "name": "nuevo sol peruano"
+ },
+ "TOP": {
+ "name": "paanga"
+ },
+ "MOP": {
+ "name": "pataca de Macao"
+ },
+ "ARS": {
+ "name": "peso argentino"
+ },
+ "CLP": {
+ "name": "peso chileno"
+ },
+ "COP": {
+ "name": "peso colombiano"
+ },
+ "CUP": {
+ "name": "peso cubano"
+ },
+ "CUC": {
+ "name": "peso cubano convertible"
+ },
+ "DOP": {
+ "name": "peso dominicano"
+ },
+ "PHP": {
+ "name": "peso filipino"
+ },
+ "MXN": {
+ "name": "peso mexicano"
+ },
+ "UYU": {
+ "name": "peso uruguayo"
+ },
+ "BWP": {
+ "name": "pula"
+ },
+ "GTQ": {
+ "name": "quetzal guatemalteco"
+ },
+ "ZAR": {
+ "name": "rand"
+ },
+ "BRL": {
+ "name": "real brasileño"
+ },
+ "QAR": {
+ "name": "rial catarí"
+ },
+ "IRR": {
+ "name": "rial iraní"
+ },
+ "OMR": {
+ "name": "rial omaní"
+ },
+ "SAR": {
+ "name": "rial saudí"
+ },
+ "YER": {
+ "name": "rial yemení"
+ },
+ "KHR": {
+ "name": "riel"
+ },
+ "MYR": {
+ "name": "ringit"
+ },
+ "BYN": {
+ "name": "rublo bielorruso"
+ },
+ "BYR": {
+ "name": "rublo bielorruso (2000–2016)"
+ },
+ "RUB": {
+ "name": "rublo ruso"
+ },
+ "MVR": {
+ "name": "rufiya"
+ },
+ "LKR": {
+ "name": "rupia esrilanquesa"
+ },
+ "INR": {
+ "name": "rupia india"
+ },
+ "IDR": {
+ "name": "rupia indonesia"
+ },
+ "MUR": {
+ "name": "rupia mauriciana"
+ },
+ "NPR": {
+ "name": "rupia nepalí"
+ },
+ "PKR": {
+ "name": "rupia pakistaní"
+ },
+ "SCR": {
+ "name": "rupia seychellense"
+ },
+ "KGS": {
+ "name": "som"
+ },
+ "TJS": {
+ "name": "somoni tayiko"
+ },
+ "UZS": {
+ "name": "sum"
+ },
+ "BDT": {
+ "name": "taka"
+ },
+ "WST": {
+ "name": "tala"
+ },
+ "KZT": {
+ "name": "tenge kazako"
+ },
+ "MNT": {
+ "name": "tugrik"
+ },
+ "MRO": {
+ "name": "uguiya"
+ },
+ "VUV": {
+ "name": "vatu"
+ },
+ "KPW": {
+ "name": "won norcoreano"
+ },
+ "KRW": {
+ "name": "won surcoreano"
+ },
+ "JPY": {
+ "name": "yen"
+ },
+ "CNY": {
+ "name": "yuan"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/es-PA.json b/vendor/commerceguys/intl/resources/currency/es-PA.json
new file mode 100644
index 000000000..f1b6b36ce
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/es-PA.json
@@ -0,0 +1,478 @@
+{
+ "AFN": {
+ "name": "afgani"
+ },
+ "MGA": {
+ "name": "ariari"
+ },
+ "PAB": {
+ "name": "balboa panameño",
+ "symbol": "B\/."
+ },
+ "THB": {
+ "name": "bat"
+ },
+ "ETB": {
+ "name": "bir"
+ },
+ "VEF": {
+ "name": "bolívar venezolano"
+ },
+ "BOB": {
+ "name": "boliviano"
+ },
+ "GHS": {
+ "name": "cedi"
+ },
+ "KES": {
+ "name": "chelín keniano"
+ },
+ "SOS": {
+ "name": "chelín somalí"
+ },
+ "TZS": {
+ "name": "chelín tanzano"
+ },
+ "UGX": {
+ "name": "chelín ugandés"
+ },
+ "CRC": {
+ "name": "colón costarricense"
+ },
+ "SVC": {
+ "name": "colón salvadoreño"
+ },
+ "NIO": {
+ "name": "córdoba nicaragüense"
+ },
+ "CZK": {
+ "name": "corona checa"
+ },
+ "DKK": {
+ "name": "corona danesa"
+ },
+ "ISK": {
+ "name": "corona islandesa"
+ },
+ "NOK": {
+ "name": "corona noruega"
+ },
+ "SEK": {
+ "name": "corona sueca"
+ },
+ "GMD": {
+ "name": "dalasi"
+ },
+ "DZD": {
+ "name": "dinar argelino"
+ },
+ "BHD": {
+ "name": "dinar bahreiní"
+ },
+ "IQD": {
+ "name": "dinar iraquí"
+ },
+ "JOD": {
+ "name": "dinar jordano"
+ },
+ "KWD": {
+ "name": "dinar kuwaití"
+ },
+ "LYD": {
+ "name": "dinar libio"
+ },
+ "MKD": {
+ "name": "dinar macedonio"
+ },
+ "RSD": {
+ "name": "dinar serbio"
+ },
+ "TND": {
+ "name": "dinar tunecino"
+ },
+ "AED": {
+ "name": "dírham de los Emiratos Árabes Unidos"
+ },
+ "MAD": {
+ "name": "dírham marroquí"
+ },
+ "STD": {
+ "name": "dobra"
+ },
+ "AUD": {
+ "name": "dólar australiano"
+ },
+ "BSD": {
+ "name": "dólar bahameño"
+ },
+ "BBD": {
+ "name": "dólar barbadense"
+ },
+ "BZD": {
+ "name": "dólar beliceño"
+ },
+ "BND": {
+ "name": "dólar bruneano"
+ },
+ "CAD": {
+ "name": "dólar canadiense"
+ },
+ "BMD": {
+ "name": "dólar de Bermudas"
+ },
+ "KYD": {
+ "name": "dólar de las Islas Caimán"
+ },
+ "TTD": {
+ "name": "dólar de Trinidad y Tobago"
+ },
+ "XCD": {
+ "name": "dólar del Caribe Oriental"
+ },
+ "USD": {
+ "name": "dólar estadounidense"
+ },
+ "FJD": {
+ "name": "dólar fiyiano"
+ },
+ "GYD": {
+ "name": "dólar guyanés"
+ },
+ "HKD": {
+ "name": "dólar hongkonés"
+ },
+ "JMD": {
+ "name": "dólar jamaicano"
+ },
+ "LRD": {
+ "name": "dólar liberiano"
+ },
+ "NAD": {
+ "name": "dólar namibio"
+ },
+ "NZD": {
+ "name": "dólar neozelandés"
+ },
+ "SBD": {
+ "name": "dólar salomonense"
+ },
+ "SGD": {
+ "name": "dólar singapurense"
+ },
+ "SRD": {
+ "name": "dólar surinamés"
+ },
+ "ZWL": {
+ "name": "dólar zimbabuense"
+ },
+ "VND": {
+ "name": "dong"
+ },
+ "AMD": {
+ "name": "dram armenio"
+ },
+ "CVE": {
+ "name": "escudo de Cabo Verde"
+ },
+ "PLN": {
+ "name": "esloti"
+ },
+ "EUR": {
+ "name": "euro"
+ },
+ "AWG": {
+ "name": "florín arubeño"
+ },
+ "ANG": {
+ "name": "florín de las Antillas Neerlandesas"
+ },
+ "HUF": {
+ "name": "forinto húngaro"
+ },
+ "BIF": {
+ "name": "franco burundés"
+ },
+ "XOF": {
+ "name": "franco CFA BCEAO"
+ },
+ "XAF": {
+ "name": "franco CFA BEAC"
+ },
+ "XPF": {
+ "name": "franco CFP",
+ "symbol": "CFPF"
+ },
+ "KMF": {
+ "name": "franco comorense"
+ },
+ "CDF": {
+ "name": "franco congoleño"
+ },
+ "GNF": {
+ "name": "franco guineano"
+ },
+ "RWF": {
+ "name": "franco ruandés"
+ },
+ "CHF": {
+ "name": "franco suizo"
+ },
+ "DJF": {
+ "name": "franco yibutiano"
+ },
+ "HTG": {
+ "name": "gourde haitiano"
+ },
+ "UAH": {
+ "name": "grivna"
+ },
+ "PYG": {
+ "name": "guaraní paraguayo"
+ },
+ "BTN": {
+ "name": "gultrum"
+ },
+ "MMK": {
+ "name": "kiat"
+ },
+ "PGK": {
+ "name": "kina"
+ },
+ "LAK": {
+ "name": "kip"
+ },
+ "ZMW": {
+ "name": "kuacha zambiano"
+ },
+ "AOA": {
+ "name": "kuanza"
+ },
+ "HRK": {
+ "name": "kuna"
+ },
+ "MWK": {
+ "name": "kwacha malauí"
+ },
+ "GEL": {
+ "name": "lari"
+ },
+ "ALL": {
+ "name": "lek"
+ },
+ "HNL": {
+ "name": "lempira hondureño"
+ },
+ "SLL": {
+ "name": "leona"
+ },
+ "MDL": {
+ "name": "leu moldavo"
+ },
+ "RON": {
+ "name": "leu rumano"
+ },
+ "BGN": {
+ "name": "lev búlgaro"
+ },
+ "GBP": {
+ "name": "libra británica"
+ },
+ "SHP": {
+ "name": "libra de Santa Elena"
+ },
+ "EGP": {
+ "name": "libra egipcia"
+ },
+ "GIP": {
+ "name": "libra gibraltareña"
+ },
+ "LBP": {
+ "name": "libra libanesa"
+ },
+ "FKP": {
+ "name": "libra malvinense"
+ },
+ "SYP": {
+ "name": "libra siria"
+ },
+ "SDG": {
+ "name": "libra sudanesa"
+ },
+ "SSP": {
+ "name": "libra sursudanesa"
+ },
+ "SZL": {
+ "name": "lilangeni"
+ },
+ "TRY": {
+ "name": "lira turca"
+ },
+ "LSL": {
+ "name": "loti lesothense"
+ },
+ "AZN": {
+ "name": "manat azerí"
+ },
+ "TMT": {
+ "name": "manat turcomano"
+ },
+ "BAM": {
+ "name": "marco convertible de Bosnia-Herzegovina"
+ },
+ "MZN": {
+ "name": "metical"
+ },
+ "ERN": {
+ "name": "nafka"
+ },
+ "NGN": {
+ "name": "naira"
+ },
+ "TWD": {
+ "name": "nuevo dólar taiwanés"
+ },
+ "ILS": {
+ "name": "nuevo séquel israelí"
+ },
+ "PEN": {
+ "name": "nuevo sol peruano"
+ },
+ "TOP": {
+ "name": "paanga"
+ },
+ "MOP": {
+ "name": "pataca de Macao"
+ },
+ "ARS": {
+ "name": "peso argentino"
+ },
+ "CLP": {
+ "name": "peso chileno"
+ },
+ "COP": {
+ "name": "peso colombiano"
+ },
+ "CUP": {
+ "name": "peso cubano"
+ },
+ "CUC": {
+ "name": "peso cubano convertible"
+ },
+ "DOP": {
+ "name": "peso dominicano"
+ },
+ "PHP": {
+ "name": "peso filipino"
+ },
+ "MXN": {
+ "name": "peso mexicano"
+ },
+ "UYU": {
+ "name": "peso uruguayo"
+ },
+ "BWP": {
+ "name": "pula"
+ },
+ "GTQ": {
+ "name": "quetzal guatemalteco"
+ },
+ "ZAR": {
+ "name": "rand"
+ },
+ "BRL": {
+ "name": "real brasileño"
+ },
+ "QAR": {
+ "name": "rial catarí"
+ },
+ "IRR": {
+ "name": "rial iraní"
+ },
+ "OMR": {
+ "name": "rial omaní"
+ },
+ "SAR": {
+ "name": "rial saudí"
+ },
+ "YER": {
+ "name": "rial yemení"
+ },
+ "KHR": {
+ "name": "riel"
+ },
+ "MYR": {
+ "name": "ringit"
+ },
+ "BYN": {
+ "name": "rublo bielorruso"
+ },
+ "BYR": {
+ "name": "rublo bielorruso (2000–2016)"
+ },
+ "RUB": {
+ "name": "rublo ruso"
+ },
+ "MVR": {
+ "name": "rufiya"
+ },
+ "LKR": {
+ "name": "rupia esrilanquesa"
+ },
+ "INR": {
+ "name": "rupia india"
+ },
+ "IDR": {
+ "name": "rupia indonesia"
+ },
+ "MUR": {
+ "name": "rupia mauriciana"
+ },
+ "NPR": {
+ "name": "rupia nepalí"
+ },
+ "PKR": {
+ "name": "rupia pakistaní"
+ },
+ "SCR": {
+ "name": "rupia seychellense"
+ },
+ "KGS": {
+ "name": "som"
+ },
+ "TJS": {
+ "name": "somoni tayiko"
+ },
+ "UZS": {
+ "name": "sum"
+ },
+ "BDT": {
+ "name": "taka"
+ },
+ "WST": {
+ "name": "tala"
+ },
+ "KZT": {
+ "name": "tenge kazako"
+ },
+ "MNT": {
+ "name": "tugrik"
+ },
+ "MRO": {
+ "name": "uguiya"
+ },
+ "VUV": {
+ "name": "vatu"
+ },
+ "KPW": {
+ "name": "won norcoreano"
+ },
+ "KRW": {
+ "name": "won surcoreano"
+ },
+ "JPY": {
+ "name": "yen"
+ },
+ "CNY": {
+ "name": "yuan"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/es-PE.json b/vendor/commerceguys/intl/resources/currency/es-PE.json
new file mode 100644
index 000000000..0f30b8f59
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/es-PE.json
@@ -0,0 +1,478 @@
+{
+ "AFN": {
+ "name": "afgani"
+ },
+ "MGA": {
+ "name": "ariari"
+ },
+ "PAB": {
+ "name": "balboa panameño"
+ },
+ "THB": {
+ "name": "bat"
+ },
+ "ETB": {
+ "name": "bir"
+ },
+ "VEF": {
+ "name": "bolívar venezolano"
+ },
+ "BOB": {
+ "name": "boliviano"
+ },
+ "GHS": {
+ "name": "cedi"
+ },
+ "KES": {
+ "name": "chelín keniano"
+ },
+ "SOS": {
+ "name": "chelín somalí"
+ },
+ "TZS": {
+ "name": "chelín tanzano"
+ },
+ "UGX": {
+ "name": "chelín ugandés"
+ },
+ "CRC": {
+ "name": "colón costarricense"
+ },
+ "SVC": {
+ "name": "colón salvadoreño"
+ },
+ "NIO": {
+ "name": "córdoba nicaragüense"
+ },
+ "CZK": {
+ "name": "corona checa"
+ },
+ "DKK": {
+ "name": "corona danesa"
+ },
+ "ISK": {
+ "name": "corona islandesa"
+ },
+ "NOK": {
+ "name": "corona noruega"
+ },
+ "SEK": {
+ "name": "corona sueca"
+ },
+ "GMD": {
+ "name": "dalasi"
+ },
+ "DZD": {
+ "name": "dinar argelino"
+ },
+ "BHD": {
+ "name": "dinar bahreiní"
+ },
+ "IQD": {
+ "name": "dinar iraquí"
+ },
+ "JOD": {
+ "name": "dinar jordano"
+ },
+ "KWD": {
+ "name": "dinar kuwaití"
+ },
+ "LYD": {
+ "name": "dinar libio"
+ },
+ "MKD": {
+ "name": "dinar macedonio"
+ },
+ "RSD": {
+ "name": "dinar serbio"
+ },
+ "TND": {
+ "name": "dinar tunecino"
+ },
+ "AED": {
+ "name": "dírham de los Emiratos Árabes Unidos"
+ },
+ "MAD": {
+ "name": "dírham marroquí"
+ },
+ "STD": {
+ "name": "dobra"
+ },
+ "AUD": {
+ "name": "dólar australiano"
+ },
+ "BSD": {
+ "name": "dólar bahameño"
+ },
+ "BBD": {
+ "name": "dólar barbadense"
+ },
+ "BZD": {
+ "name": "dólar beliceño"
+ },
+ "BND": {
+ "name": "dólar bruneano"
+ },
+ "CAD": {
+ "name": "dólar canadiense"
+ },
+ "BMD": {
+ "name": "dólar de Bermudas"
+ },
+ "KYD": {
+ "name": "dólar de las Islas Caimán"
+ },
+ "TTD": {
+ "name": "dólar de Trinidad y Tobago"
+ },
+ "XCD": {
+ "name": "dólar del Caribe Oriental"
+ },
+ "USD": {
+ "name": "dólar estadounidense"
+ },
+ "FJD": {
+ "name": "dólar fiyiano"
+ },
+ "GYD": {
+ "name": "dólar guyanés"
+ },
+ "HKD": {
+ "name": "dólar hongkonés"
+ },
+ "JMD": {
+ "name": "dólar jamaicano"
+ },
+ "LRD": {
+ "name": "dólar liberiano"
+ },
+ "NAD": {
+ "name": "dólar namibio"
+ },
+ "NZD": {
+ "name": "dólar neozelandés"
+ },
+ "SBD": {
+ "name": "dólar salomonense"
+ },
+ "SGD": {
+ "name": "dólar singapurense"
+ },
+ "SRD": {
+ "name": "dólar surinamés"
+ },
+ "ZWL": {
+ "name": "dólar zimbabuense"
+ },
+ "VND": {
+ "name": "dong"
+ },
+ "AMD": {
+ "name": "dram armenio"
+ },
+ "CVE": {
+ "name": "escudo de Cabo Verde"
+ },
+ "PLN": {
+ "name": "esloti"
+ },
+ "EUR": {
+ "name": "euro"
+ },
+ "AWG": {
+ "name": "florín arubeño"
+ },
+ "ANG": {
+ "name": "florín de las Antillas Neerlandesas"
+ },
+ "HUF": {
+ "name": "forinto húngaro"
+ },
+ "BIF": {
+ "name": "franco burundés"
+ },
+ "XOF": {
+ "name": "franco CFA BCEAO"
+ },
+ "XAF": {
+ "name": "franco CFA BEAC"
+ },
+ "XPF": {
+ "name": "franco CFP",
+ "symbol": "CFPF"
+ },
+ "KMF": {
+ "name": "franco comorense"
+ },
+ "CDF": {
+ "name": "franco congoleño"
+ },
+ "GNF": {
+ "name": "franco guineano"
+ },
+ "RWF": {
+ "name": "franco ruandés"
+ },
+ "CHF": {
+ "name": "franco suizo"
+ },
+ "DJF": {
+ "name": "franco yibutiano"
+ },
+ "HTG": {
+ "name": "gourde haitiano"
+ },
+ "UAH": {
+ "name": "grivna"
+ },
+ "PYG": {
+ "name": "guaraní paraguayo"
+ },
+ "BTN": {
+ "name": "gultrum"
+ },
+ "MMK": {
+ "name": "kiat"
+ },
+ "PGK": {
+ "name": "kina"
+ },
+ "LAK": {
+ "name": "kip"
+ },
+ "ZMW": {
+ "name": "kuacha zambiano"
+ },
+ "AOA": {
+ "name": "kuanza"
+ },
+ "HRK": {
+ "name": "kuna"
+ },
+ "MWK": {
+ "name": "kwacha malauí"
+ },
+ "GEL": {
+ "name": "lari"
+ },
+ "ALL": {
+ "name": "lek"
+ },
+ "HNL": {
+ "name": "lempira hondureño"
+ },
+ "SLL": {
+ "name": "leona"
+ },
+ "MDL": {
+ "name": "leu moldavo"
+ },
+ "RON": {
+ "name": "leu rumano"
+ },
+ "BGN": {
+ "name": "lev búlgaro"
+ },
+ "GBP": {
+ "name": "libra británica"
+ },
+ "SHP": {
+ "name": "libra de Santa Elena"
+ },
+ "EGP": {
+ "name": "libra egipcia"
+ },
+ "GIP": {
+ "name": "libra gibraltareña"
+ },
+ "LBP": {
+ "name": "libra libanesa"
+ },
+ "FKP": {
+ "name": "libra malvinense"
+ },
+ "SYP": {
+ "name": "libra siria"
+ },
+ "SDG": {
+ "name": "libra sudanesa"
+ },
+ "SSP": {
+ "name": "libra sursudanesa"
+ },
+ "SZL": {
+ "name": "lilangeni"
+ },
+ "TRY": {
+ "name": "lira turca"
+ },
+ "LSL": {
+ "name": "loti lesothense"
+ },
+ "AZN": {
+ "name": "manat azerí"
+ },
+ "TMT": {
+ "name": "manat turcomano"
+ },
+ "BAM": {
+ "name": "marco convertible de Bosnia-Herzegovina"
+ },
+ "MZN": {
+ "name": "metical"
+ },
+ "ERN": {
+ "name": "nafka"
+ },
+ "NGN": {
+ "name": "naira"
+ },
+ "TWD": {
+ "name": "nuevo dólar taiwanés"
+ },
+ "ILS": {
+ "name": "nuevo séquel israelí"
+ },
+ "PEN": {
+ "name": "nuevo sol peruano",
+ "symbol": "S\/"
+ },
+ "TOP": {
+ "name": "paanga"
+ },
+ "MOP": {
+ "name": "pataca de Macao"
+ },
+ "ARS": {
+ "name": "peso argentino"
+ },
+ "CLP": {
+ "name": "peso chileno"
+ },
+ "COP": {
+ "name": "peso colombiano"
+ },
+ "CUP": {
+ "name": "peso cubano"
+ },
+ "CUC": {
+ "name": "peso cubano convertible"
+ },
+ "DOP": {
+ "name": "peso dominicano"
+ },
+ "PHP": {
+ "name": "peso filipino"
+ },
+ "MXN": {
+ "name": "peso mexicano"
+ },
+ "UYU": {
+ "name": "peso uruguayo"
+ },
+ "BWP": {
+ "name": "pula"
+ },
+ "GTQ": {
+ "name": "quetzal guatemalteco"
+ },
+ "ZAR": {
+ "name": "rand"
+ },
+ "BRL": {
+ "name": "real brasileño"
+ },
+ "QAR": {
+ "name": "rial catarí"
+ },
+ "IRR": {
+ "name": "rial iraní"
+ },
+ "OMR": {
+ "name": "rial omaní"
+ },
+ "SAR": {
+ "name": "rial saudí"
+ },
+ "YER": {
+ "name": "rial yemení"
+ },
+ "KHR": {
+ "name": "riel"
+ },
+ "MYR": {
+ "name": "ringit"
+ },
+ "BYN": {
+ "name": "rublo bielorruso"
+ },
+ "BYR": {
+ "name": "rublo bielorruso (2000–2016)"
+ },
+ "RUB": {
+ "name": "rublo ruso"
+ },
+ "MVR": {
+ "name": "rufiya"
+ },
+ "LKR": {
+ "name": "rupia esrilanquesa"
+ },
+ "INR": {
+ "name": "rupia india"
+ },
+ "IDR": {
+ "name": "rupia indonesia"
+ },
+ "MUR": {
+ "name": "rupia mauriciana"
+ },
+ "NPR": {
+ "name": "rupia nepalí"
+ },
+ "PKR": {
+ "name": "rupia pakistaní"
+ },
+ "SCR": {
+ "name": "rupia seychellense"
+ },
+ "KGS": {
+ "name": "som"
+ },
+ "TJS": {
+ "name": "somoni tayiko"
+ },
+ "UZS": {
+ "name": "sum"
+ },
+ "BDT": {
+ "name": "taka"
+ },
+ "WST": {
+ "name": "tala"
+ },
+ "KZT": {
+ "name": "tenge kazako"
+ },
+ "MNT": {
+ "name": "tugrik"
+ },
+ "MRO": {
+ "name": "uguiya"
+ },
+ "VUV": {
+ "name": "vatu"
+ },
+ "KPW": {
+ "name": "won norcoreano"
+ },
+ "KRW": {
+ "name": "won surcoreano"
+ },
+ "JPY": {
+ "name": "yen"
+ },
+ "CNY": {
+ "name": "yuan"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/es-PR.json b/vendor/commerceguys/intl/resources/currency/es-PR.json
new file mode 100644
index 000000000..5530493cf
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/es-PR.json
@@ -0,0 +1,478 @@
+{
+ "AFN": {
+ "name": "afgani"
+ },
+ "MGA": {
+ "name": "ariari"
+ },
+ "PAB": {
+ "name": "balboa panameño"
+ },
+ "THB": {
+ "name": "bat"
+ },
+ "ETB": {
+ "name": "bir"
+ },
+ "VEF": {
+ "name": "bolívar venezolano"
+ },
+ "BOB": {
+ "name": "boliviano"
+ },
+ "GHS": {
+ "name": "cedi"
+ },
+ "KES": {
+ "name": "chelín keniano"
+ },
+ "SOS": {
+ "name": "chelín somalí"
+ },
+ "TZS": {
+ "name": "chelín tanzano"
+ },
+ "UGX": {
+ "name": "chelín ugandés"
+ },
+ "CRC": {
+ "name": "colón costarricense"
+ },
+ "SVC": {
+ "name": "colón salvadoreño"
+ },
+ "NIO": {
+ "name": "córdoba nicaragüense"
+ },
+ "CZK": {
+ "name": "corona checa"
+ },
+ "DKK": {
+ "name": "corona danesa"
+ },
+ "ISK": {
+ "name": "corona islandesa"
+ },
+ "NOK": {
+ "name": "corona noruega"
+ },
+ "SEK": {
+ "name": "corona sueca"
+ },
+ "GMD": {
+ "name": "dalasi"
+ },
+ "DZD": {
+ "name": "dinar argelino"
+ },
+ "BHD": {
+ "name": "dinar bahreiní"
+ },
+ "IQD": {
+ "name": "dinar iraquí"
+ },
+ "JOD": {
+ "name": "dinar jordano"
+ },
+ "KWD": {
+ "name": "dinar kuwaití"
+ },
+ "LYD": {
+ "name": "dinar libio"
+ },
+ "MKD": {
+ "name": "dinar macedonio"
+ },
+ "RSD": {
+ "name": "dinar serbio"
+ },
+ "TND": {
+ "name": "dinar tunecino"
+ },
+ "AED": {
+ "name": "dírham de los Emiratos Árabes Unidos"
+ },
+ "MAD": {
+ "name": "dírham marroquí"
+ },
+ "STD": {
+ "name": "dobra"
+ },
+ "AUD": {
+ "name": "dólar australiano"
+ },
+ "BSD": {
+ "name": "dólar bahameño"
+ },
+ "BBD": {
+ "name": "dólar barbadense"
+ },
+ "BZD": {
+ "name": "dólar beliceño"
+ },
+ "BND": {
+ "name": "dólar bruneano"
+ },
+ "CAD": {
+ "name": "dólar canadiense"
+ },
+ "BMD": {
+ "name": "dólar de Bermudas"
+ },
+ "KYD": {
+ "name": "dólar de las Islas Caimán"
+ },
+ "TTD": {
+ "name": "dólar de Trinidad y Tobago"
+ },
+ "XCD": {
+ "name": "dólar del Caribe Oriental"
+ },
+ "USD": {
+ "name": "dólar estadounidense",
+ "symbol": "$"
+ },
+ "FJD": {
+ "name": "dólar fiyiano"
+ },
+ "GYD": {
+ "name": "dólar guyanés"
+ },
+ "HKD": {
+ "name": "dólar hongkonés"
+ },
+ "JMD": {
+ "name": "dólar jamaicano"
+ },
+ "LRD": {
+ "name": "dólar liberiano"
+ },
+ "NAD": {
+ "name": "dólar namibio"
+ },
+ "NZD": {
+ "name": "dólar neozelandés"
+ },
+ "SBD": {
+ "name": "dólar salomonense"
+ },
+ "SGD": {
+ "name": "dólar singapurense"
+ },
+ "SRD": {
+ "name": "dólar surinamés"
+ },
+ "ZWL": {
+ "name": "dólar zimbabuense"
+ },
+ "VND": {
+ "name": "dong"
+ },
+ "AMD": {
+ "name": "dram armenio"
+ },
+ "CVE": {
+ "name": "escudo de Cabo Verde"
+ },
+ "PLN": {
+ "name": "esloti"
+ },
+ "EUR": {
+ "name": "euro"
+ },
+ "AWG": {
+ "name": "florín arubeño"
+ },
+ "ANG": {
+ "name": "florín de las Antillas Neerlandesas"
+ },
+ "HUF": {
+ "name": "forinto húngaro"
+ },
+ "BIF": {
+ "name": "franco burundés"
+ },
+ "XOF": {
+ "name": "franco CFA BCEAO"
+ },
+ "XAF": {
+ "name": "franco CFA BEAC"
+ },
+ "XPF": {
+ "name": "franco CFP",
+ "symbol": "CFPF"
+ },
+ "KMF": {
+ "name": "franco comorense"
+ },
+ "CDF": {
+ "name": "franco congoleño"
+ },
+ "GNF": {
+ "name": "franco guineano"
+ },
+ "RWF": {
+ "name": "franco ruandés"
+ },
+ "CHF": {
+ "name": "franco suizo"
+ },
+ "DJF": {
+ "name": "franco yibutiano"
+ },
+ "HTG": {
+ "name": "gourde haitiano"
+ },
+ "UAH": {
+ "name": "grivna"
+ },
+ "PYG": {
+ "name": "guaraní paraguayo"
+ },
+ "BTN": {
+ "name": "gultrum"
+ },
+ "MMK": {
+ "name": "kiat"
+ },
+ "PGK": {
+ "name": "kina"
+ },
+ "LAK": {
+ "name": "kip"
+ },
+ "ZMW": {
+ "name": "kuacha zambiano"
+ },
+ "AOA": {
+ "name": "kuanza"
+ },
+ "HRK": {
+ "name": "kuna"
+ },
+ "MWK": {
+ "name": "kwacha malauí"
+ },
+ "GEL": {
+ "name": "lari"
+ },
+ "ALL": {
+ "name": "lek"
+ },
+ "HNL": {
+ "name": "lempira hondureño"
+ },
+ "SLL": {
+ "name": "leona"
+ },
+ "MDL": {
+ "name": "leu moldavo"
+ },
+ "RON": {
+ "name": "leu rumano"
+ },
+ "BGN": {
+ "name": "lev búlgaro"
+ },
+ "GBP": {
+ "name": "libra británica"
+ },
+ "SHP": {
+ "name": "libra de Santa Elena"
+ },
+ "EGP": {
+ "name": "libra egipcia"
+ },
+ "GIP": {
+ "name": "libra gibraltareña"
+ },
+ "LBP": {
+ "name": "libra libanesa"
+ },
+ "FKP": {
+ "name": "libra malvinense"
+ },
+ "SYP": {
+ "name": "libra siria"
+ },
+ "SDG": {
+ "name": "libra sudanesa"
+ },
+ "SSP": {
+ "name": "libra sursudanesa"
+ },
+ "SZL": {
+ "name": "lilangeni"
+ },
+ "TRY": {
+ "name": "lira turca"
+ },
+ "LSL": {
+ "name": "loti lesothense"
+ },
+ "AZN": {
+ "name": "manat azerí"
+ },
+ "TMT": {
+ "name": "manat turcomano"
+ },
+ "BAM": {
+ "name": "marco convertible de Bosnia-Herzegovina"
+ },
+ "MZN": {
+ "name": "metical"
+ },
+ "ERN": {
+ "name": "nafka"
+ },
+ "NGN": {
+ "name": "naira"
+ },
+ "TWD": {
+ "name": "nuevo dólar taiwanés"
+ },
+ "ILS": {
+ "name": "nuevo séquel israelí"
+ },
+ "PEN": {
+ "name": "nuevo sol peruano"
+ },
+ "TOP": {
+ "name": "paanga"
+ },
+ "MOP": {
+ "name": "pataca de Macao"
+ },
+ "ARS": {
+ "name": "peso argentino"
+ },
+ "CLP": {
+ "name": "peso chileno"
+ },
+ "COP": {
+ "name": "peso colombiano"
+ },
+ "CUP": {
+ "name": "peso cubano"
+ },
+ "CUC": {
+ "name": "peso cubano convertible"
+ },
+ "DOP": {
+ "name": "peso dominicano"
+ },
+ "PHP": {
+ "name": "peso filipino"
+ },
+ "MXN": {
+ "name": "peso mexicano"
+ },
+ "UYU": {
+ "name": "peso uruguayo"
+ },
+ "BWP": {
+ "name": "pula"
+ },
+ "GTQ": {
+ "name": "quetzal guatemalteco"
+ },
+ "ZAR": {
+ "name": "rand"
+ },
+ "BRL": {
+ "name": "real brasileño"
+ },
+ "QAR": {
+ "name": "rial catarí"
+ },
+ "IRR": {
+ "name": "rial iraní"
+ },
+ "OMR": {
+ "name": "rial omaní"
+ },
+ "SAR": {
+ "name": "rial saudí"
+ },
+ "YER": {
+ "name": "rial yemení"
+ },
+ "KHR": {
+ "name": "riel"
+ },
+ "MYR": {
+ "name": "ringit"
+ },
+ "BYN": {
+ "name": "rublo bielorruso"
+ },
+ "BYR": {
+ "name": "rublo bielorruso (2000–2016)"
+ },
+ "RUB": {
+ "name": "rublo ruso"
+ },
+ "MVR": {
+ "name": "rufiya"
+ },
+ "LKR": {
+ "name": "rupia esrilanquesa"
+ },
+ "INR": {
+ "name": "rupia india"
+ },
+ "IDR": {
+ "name": "rupia indonesia"
+ },
+ "MUR": {
+ "name": "rupia mauriciana"
+ },
+ "NPR": {
+ "name": "rupia nepalí"
+ },
+ "PKR": {
+ "name": "rupia pakistaní"
+ },
+ "SCR": {
+ "name": "rupia seychellense"
+ },
+ "KGS": {
+ "name": "som"
+ },
+ "TJS": {
+ "name": "somoni tayiko"
+ },
+ "UZS": {
+ "name": "sum"
+ },
+ "BDT": {
+ "name": "taka"
+ },
+ "WST": {
+ "name": "tala"
+ },
+ "KZT": {
+ "name": "tenge kazako"
+ },
+ "MNT": {
+ "name": "tugrik"
+ },
+ "MRO": {
+ "name": "uguiya"
+ },
+ "VUV": {
+ "name": "vatu"
+ },
+ "KPW": {
+ "name": "won norcoreano"
+ },
+ "KRW": {
+ "name": "won surcoreano"
+ },
+ "JPY": {
+ "name": "yen"
+ },
+ "CNY": {
+ "name": "yuan"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/es-PY.json b/vendor/commerceguys/intl/resources/currency/es-PY.json
new file mode 100644
index 000000000..8f2fc326d
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/es-PY.json
@@ -0,0 +1,478 @@
+{
+ "AFN": {
+ "name": "afgani"
+ },
+ "MGA": {
+ "name": "ariari"
+ },
+ "PAB": {
+ "name": "balboa panameño"
+ },
+ "THB": {
+ "name": "bat"
+ },
+ "ETB": {
+ "name": "bir"
+ },
+ "VEF": {
+ "name": "bolívar venezolano"
+ },
+ "BOB": {
+ "name": "boliviano"
+ },
+ "GHS": {
+ "name": "cedi"
+ },
+ "KES": {
+ "name": "chelín keniano"
+ },
+ "SOS": {
+ "name": "chelín somalí"
+ },
+ "TZS": {
+ "name": "chelín tanzano"
+ },
+ "UGX": {
+ "name": "chelín ugandés"
+ },
+ "CRC": {
+ "name": "colón costarricense"
+ },
+ "SVC": {
+ "name": "colón salvadoreño"
+ },
+ "NIO": {
+ "name": "córdoba nicaragüense"
+ },
+ "CZK": {
+ "name": "corona checa"
+ },
+ "DKK": {
+ "name": "corona danesa"
+ },
+ "ISK": {
+ "name": "corona islandesa"
+ },
+ "NOK": {
+ "name": "corona noruega"
+ },
+ "SEK": {
+ "name": "corona sueca"
+ },
+ "GMD": {
+ "name": "dalasi"
+ },
+ "DZD": {
+ "name": "dinar argelino"
+ },
+ "BHD": {
+ "name": "dinar bahreiní"
+ },
+ "IQD": {
+ "name": "dinar iraquí"
+ },
+ "JOD": {
+ "name": "dinar jordano"
+ },
+ "KWD": {
+ "name": "dinar kuwaití"
+ },
+ "LYD": {
+ "name": "dinar libio"
+ },
+ "MKD": {
+ "name": "dinar macedonio"
+ },
+ "RSD": {
+ "name": "dinar serbio"
+ },
+ "TND": {
+ "name": "dinar tunecino"
+ },
+ "AED": {
+ "name": "dírham de los Emiratos Árabes Unidos"
+ },
+ "MAD": {
+ "name": "dírham marroquí"
+ },
+ "STD": {
+ "name": "dobra"
+ },
+ "AUD": {
+ "name": "dólar australiano"
+ },
+ "BSD": {
+ "name": "dólar bahameño"
+ },
+ "BBD": {
+ "name": "dólar barbadense"
+ },
+ "BZD": {
+ "name": "dólar beliceño"
+ },
+ "BND": {
+ "name": "dólar bruneano"
+ },
+ "CAD": {
+ "name": "dólar canadiense"
+ },
+ "BMD": {
+ "name": "dólar de Bermudas"
+ },
+ "KYD": {
+ "name": "dólar de las Islas Caimán"
+ },
+ "TTD": {
+ "name": "dólar de Trinidad y Tobago"
+ },
+ "XCD": {
+ "name": "dólar del Caribe Oriental"
+ },
+ "USD": {
+ "name": "dólar estadounidense"
+ },
+ "FJD": {
+ "name": "dólar fiyiano"
+ },
+ "GYD": {
+ "name": "dólar guyanés"
+ },
+ "HKD": {
+ "name": "dólar hongkonés"
+ },
+ "JMD": {
+ "name": "dólar jamaicano"
+ },
+ "LRD": {
+ "name": "dólar liberiano"
+ },
+ "NAD": {
+ "name": "dólar namibio"
+ },
+ "NZD": {
+ "name": "dólar neozelandés"
+ },
+ "SBD": {
+ "name": "dólar salomonense"
+ },
+ "SGD": {
+ "name": "dólar singapurense"
+ },
+ "SRD": {
+ "name": "dólar surinamés"
+ },
+ "ZWL": {
+ "name": "dólar zimbabuense"
+ },
+ "VND": {
+ "name": "dong"
+ },
+ "AMD": {
+ "name": "dram armenio"
+ },
+ "CVE": {
+ "name": "escudo de Cabo Verde"
+ },
+ "PLN": {
+ "name": "esloti"
+ },
+ "EUR": {
+ "name": "euro"
+ },
+ "AWG": {
+ "name": "florín arubeño"
+ },
+ "ANG": {
+ "name": "florín de las Antillas Neerlandesas"
+ },
+ "HUF": {
+ "name": "forinto húngaro"
+ },
+ "BIF": {
+ "name": "franco burundés"
+ },
+ "XOF": {
+ "name": "franco CFA BCEAO"
+ },
+ "XAF": {
+ "name": "franco CFA BEAC"
+ },
+ "XPF": {
+ "name": "franco CFP",
+ "symbol": "CFPF"
+ },
+ "KMF": {
+ "name": "franco comorense"
+ },
+ "CDF": {
+ "name": "franco congoleño"
+ },
+ "GNF": {
+ "name": "franco guineano"
+ },
+ "RWF": {
+ "name": "franco ruandés"
+ },
+ "CHF": {
+ "name": "franco suizo"
+ },
+ "DJF": {
+ "name": "franco yibutiano"
+ },
+ "HTG": {
+ "name": "gourde haitiano"
+ },
+ "UAH": {
+ "name": "grivna"
+ },
+ "PYG": {
+ "name": "guaraní paraguayo",
+ "symbol": "Gs."
+ },
+ "BTN": {
+ "name": "gultrum"
+ },
+ "MMK": {
+ "name": "kiat"
+ },
+ "PGK": {
+ "name": "kina"
+ },
+ "LAK": {
+ "name": "kip"
+ },
+ "ZMW": {
+ "name": "kuacha zambiano"
+ },
+ "AOA": {
+ "name": "kuanza"
+ },
+ "HRK": {
+ "name": "kuna"
+ },
+ "MWK": {
+ "name": "kwacha malauí"
+ },
+ "GEL": {
+ "name": "lari"
+ },
+ "ALL": {
+ "name": "lek"
+ },
+ "HNL": {
+ "name": "lempira hondureño"
+ },
+ "SLL": {
+ "name": "leona"
+ },
+ "MDL": {
+ "name": "leu moldavo"
+ },
+ "RON": {
+ "name": "leu rumano"
+ },
+ "BGN": {
+ "name": "lev búlgaro"
+ },
+ "GBP": {
+ "name": "libra británica"
+ },
+ "SHP": {
+ "name": "libra de Santa Elena"
+ },
+ "EGP": {
+ "name": "libra egipcia"
+ },
+ "GIP": {
+ "name": "libra gibraltareña"
+ },
+ "LBP": {
+ "name": "libra libanesa"
+ },
+ "FKP": {
+ "name": "libra malvinense"
+ },
+ "SYP": {
+ "name": "libra siria"
+ },
+ "SDG": {
+ "name": "libra sudanesa"
+ },
+ "SSP": {
+ "name": "libra sursudanesa"
+ },
+ "SZL": {
+ "name": "lilangeni"
+ },
+ "TRY": {
+ "name": "lira turca"
+ },
+ "LSL": {
+ "name": "loti lesothense"
+ },
+ "AZN": {
+ "name": "manat azerí"
+ },
+ "TMT": {
+ "name": "manat turcomano"
+ },
+ "BAM": {
+ "name": "marco convertible de Bosnia-Herzegovina"
+ },
+ "MZN": {
+ "name": "metical"
+ },
+ "ERN": {
+ "name": "nafka"
+ },
+ "NGN": {
+ "name": "naira"
+ },
+ "TWD": {
+ "name": "nuevo dólar taiwanés"
+ },
+ "ILS": {
+ "name": "nuevo séquel israelí"
+ },
+ "PEN": {
+ "name": "nuevo sol peruano"
+ },
+ "TOP": {
+ "name": "paanga"
+ },
+ "MOP": {
+ "name": "pataca de Macao"
+ },
+ "ARS": {
+ "name": "peso argentino"
+ },
+ "CLP": {
+ "name": "peso chileno"
+ },
+ "COP": {
+ "name": "peso colombiano"
+ },
+ "CUP": {
+ "name": "peso cubano"
+ },
+ "CUC": {
+ "name": "peso cubano convertible"
+ },
+ "DOP": {
+ "name": "peso dominicano"
+ },
+ "PHP": {
+ "name": "peso filipino"
+ },
+ "MXN": {
+ "name": "peso mexicano"
+ },
+ "UYU": {
+ "name": "peso uruguayo"
+ },
+ "BWP": {
+ "name": "pula"
+ },
+ "GTQ": {
+ "name": "quetzal guatemalteco"
+ },
+ "ZAR": {
+ "name": "rand"
+ },
+ "BRL": {
+ "name": "real brasileño"
+ },
+ "QAR": {
+ "name": "rial catarí"
+ },
+ "IRR": {
+ "name": "rial iraní"
+ },
+ "OMR": {
+ "name": "rial omaní"
+ },
+ "SAR": {
+ "name": "rial saudí"
+ },
+ "YER": {
+ "name": "rial yemení"
+ },
+ "KHR": {
+ "name": "riel"
+ },
+ "MYR": {
+ "name": "ringit"
+ },
+ "BYN": {
+ "name": "rublo bielorruso"
+ },
+ "BYR": {
+ "name": "rublo bielorruso (2000–2016)"
+ },
+ "RUB": {
+ "name": "rublo ruso"
+ },
+ "MVR": {
+ "name": "rufiya"
+ },
+ "LKR": {
+ "name": "rupia esrilanquesa"
+ },
+ "INR": {
+ "name": "rupia india"
+ },
+ "IDR": {
+ "name": "rupia indonesia"
+ },
+ "MUR": {
+ "name": "rupia mauriciana"
+ },
+ "NPR": {
+ "name": "rupia nepalí"
+ },
+ "PKR": {
+ "name": "rupia pakistaní"
+ },
+ "SCR": {
+ "name": "rupia seychellense"
+ },
+ "KGS": {
+ "name": "som"
+ },
+ "TJS": {
+ "name": "somoni tayiko"
+ },
+ "UZS": {
+ "name": "sum"
+ },
+ "BDT": {
+ "name": "taka"
+ },
+ "WST": {
+ "name": "tala"
+ },
+ "KZT": {
+ "name": "tenge kazako"
+ },
+ "MNT": {
+ "name": "tugrik"
+ },
+ "MRO": {
+ "name": "uguiya"
+ },
+ "VUV": {
+ "name": "vatu"
+ },
+ "KPW": {
+ "name": "won norcoreano"
+ },
+ "KRW": {
+ "name": "won surcoreano"
+ },
+ "JPY": {
+ "name": "yen"
+ },
+ "CNY": {
+ "name": "yuan"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/es-SV.json b/vendor/commerceguys/intl/resources/currency/es-SV.json
new file mode 100644
index 000000000..5530493cf
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/es-SV.json
@@ -0,0 +1,478 @@
+{
+ "AFN": {
+ "name": "afgani"
+ },
+ "MGA": {
+ "name": "ariari"
+ },
+ "PAB": {
+ "name": "balboa panameño"
+ },
+ "THB": {
+ "name": "bat"
+ },
+ "ETB": {
+ "name": "bir"
+ },
+ "VEF": {
+ "name": "bolívar venezolano"
+ },
+ "BOB": {
+ "name": "boliviano"
+ },
+ "GHS": {
+ "name": "cedi"
+ },
+ "KES": {
+ "name": "chelín keniano"
+ },
+ "SOS": {
+ "name": "chelín somalí"
+ },
+ "TZS": {
+ "name": "chelín tanzano"
+ },
+ "UGX": {
+ "name": "chelín ugandés"
+ },
+ "CRC": {
+ "name": "colón costarricense"
+ },
+ "SVC": {
+ "name": "colón salvadoreño"
+ },
+ "NIO": {
+ "name": "córdoba nicaragüense"
+ },
+ "CZK": {
+ "name": "corona checa"
+ },
+ "DKK": {
+ "name": "corona danesa"
+ },
+ "ISK": {
+ "name": "corona islandesa"
+ },
+ "NOK": {
+ "name": "corona noruega"
+ },
+ "SEK": {
+ "name": "corona sueca"
+ },
+ "GMD": {
+ "name": "dalasi"
+ },
+ "DZD": {
+ "name": "dinar argelino"
+ },
+ "BHD": {
+ "name": "dinar bahreiní"
+ },
+ "IQD": {
+ "name": "dinar iraquí"
+ },
+ "JOD": {
+ "name": "dinar jordano"
+ },
+ "KWD": {
+ "name": "dinar kuwaití"
+ },
+ "LYD": {
+ "name": "dinar libio"
+ },
+ "MKD": {
+ "name": "dinar macedonio"
+ },
+ "RSD": {
+ "name": "dinar serbio"
+ },
+ "TND": {
+ "name": "dinar tunecino"
+ },
+ "AED": {
+ "name": "dírham de los Emiratos Árabes Unidos"
+ },
+ "MAD": {
+ "name": "dírham marroquí"
+ },
+ "STD": {
+ "name": "dobra"
+ },
+ "AUD": {
+ "name": "dólar australiano"
+ },
+ "BSD": {
+ "name": "dólar bahameño"
+ },
+ "BBD": {
+ "name": "dólar barbadense"
+ },
+ "BZD": {
+ "name": "dólar beliceño"
+ },
+ "BND": {
+ "name": "dólar bruneano"
+ },
+ "CAD": {
+ "name": "dólar canadiense"
+ },
+ "BMD": {
+ "name": "dólar de Bermudas"
+ },
+ "KYD": {
+ "name": "dólar de las Islas Caimán"
+ },
+ "TTD": {
+ "name": "dólar de Trinidad y Tobago"
+ },
+ "XCD": {
+ "name": "dólar del Caribe Oriental"
+ },
+ "USD": {
+ "name": "dólar estadounidense",
+ "symbol": "$"
+ },
+ "FJD": {
+ "name": "dólar fiyiano"
+ },
+ "GYD": {
+ "name": "dólar guyanés"
+ },
+ "HKD": {
+ "name": "dólar hongkonés"
+ },
+ "JMD": {
+ "name": "dólar jamaicano"
+ },
+ "LRD": {
+ "name": "dólar liberiano"
+ },
+ "NAD": {
+ "name": "dólar namibio"
+ },
+ "NZD": {
+ "name": "dólar neozelandés"
+ },
+ "SBD": {
+ "name": "dólar salomonense"
+ },
+ "SGD": {
+ "name": "dólar singapurense"
+ },
+ "SRD": {
+ "name": "dólar surinamés"
+ },
+ "ZWL": {
+ "name": "dólar zimbabuense"
+ },
+ "VND": {
+ "name": "dong"
+ },
+ "AMD": {
+ "name": "dram armenio"
+ },
+ "CVE": {
+ "name": "escudo de Cabo Verde"
+ },
+ "PLN": {
+ "name": "esloti"
+ },
+ "EUR": {
+ "name": "euro"
+ },
+ "AWG": {
+ "name": "florín arubeño"
+ },
+ "ANG": {
+ "name": "florín de las Antillas Neerlandesas"
+ },
+ "HUF": {
+ "name": "forinto húngaro"
+ },
+ "BIF": {
+ "name": "franco burundés"
+ },
+ "XOF": {
+ "name": "franco CFA BCEAO"
+ },
+ "XAF": {
+ "name": "franco CFA BEAC"
+ },
+ "XPF": {
+ "name": "franco CFP",
+ "symbol": "CFPF"
+ },
+ "KMF": {
+ "name": "franco comorense"
+ },
+ "CDF": {
+ "name": "franco congoleño"
+ },
+ "GNF": {
+ "name": "franco guineano"
+ },
+ "RWF": {
+ "name": "franco ruandés"
+ },
+ "CHF": {
+ "name": "franco suizo"
+ },
+ "DJF": {
+ "name": "franco yibutiano"
+ },
+ "HTG": {
+ "name": "gourde haitiano"
+ },
+ "UAH": {
+ "name": "grivna"
+ },
+ "PYG": {
+ "name": "guaraní paraguayo"
+ },
+ "BTN": {
+ "name": "gultrum"
+ },
+ "MMK": {
+ "name": "kiat"
+ },
+ "PGK": {
+ "name": "kina"
+ },
+ "LAK": {
+ "name": "kip"
+ },
+ "ZMW": {
+ "name": "kuacha zambiano"
+ },
+ "AOA": {
+ "name": "kuanza"
+ },
+ "HRK": {
+ "name": "kuna"
+ },
+ "MWK": {
+ "name": "kwacha malauí"
+ },
+ "GEL": {
+ "name": "lari"
+ },
+ "ALL": {
+ "name": "lek"
+ },
+ "HNL": {
+ "name": "lempira hondureño"
+ },
+ "SLL": {
+ "name": "leona"
+ },
+ "MDL": {
+ "name": "leu moldavo"
+ },
+ "RON": {
+ "name": "leu rumano"
+ },
+ "BGN": {
+ "name": "lev búlgaro"
+ },
+ "GBP": {
+ "name": "libra británica"
+ },
+ "SHP": {
+ "name": "libra de Santa Elena"
+ },
+ "EGP": {
+ "name": "libra egipcia"
+ },
+ "GIP": {
+ "name": "libra gibraltareña"
+ },
+ "LBP": {
+ "name": "libra libanesa"
+ },
+ "FKP": {
+ "name": "libra malvinense"
+ },
+ "SYP": {
+ "name": "libra siria"
+ },
+ "SDG": {
+ "name": "libra sudanesa"
+ },
+ "SSP": {
+ "name": "libra sursudanesa"
+ },
+ "SZL": {
+ "name": "lilangeni"
+ },
+ "TRY": {
+ "name": "lira turca"
+ },
+ "LSL": {
+ "name": "loti lesothense"
+ },
+ "AZN": {
+ "name": "manat azerí"
+ },
+ "TMT": {
+ "name": "manat turcomano"
+ },
+ "BAM": {
+ "name": "marco convertible de Bosnia-Herzegovina"
+ },
+ "MZN": {
+ "name": "metical"
+ },
+ "ERN": {
+ "name": "nafka"
+ },
+ "NGN": {
+ "name": "naira"
+ },
+ "TWD": {
+ "name": "nuevo dólar taiwanés"
+ },
+ "ILS": {
+ "name": "nuevo séquel israelí"
+ },
+ "PEN": {
+ "name": "nuevo sol peruano"
+ },
+ "TOP": {
+ "name": "paanga"
+ },
+ "MOP": {
+ "name": "pataca de Macao"
+ },
+ "ARS": {
+ "name": "peso argentino"
+ },
+ "CLP": {
+ "name": "peso chileno"
+ },
+ "COP": {
+ "name": "peso colombiano"
+ },
+ "CUP": {
+ "name": "peso cubano"
+ },
+ "CUC": {
+ "name": "peso cubano convertible"
+ },
+ "DOP": {
+ "name": "peso dominicano"
+ },
+ "PHP": {
+ "name": "peso filipino"
+ },
+ "MXN": {
+ "name": "peso mexicano"
+ },
+ "UYU": {
+ "name": "peso uruguayo"
+ },
+ "BWP": {
+ "name": "pula"
+ },
+ "GTQ": {
+ "name": "quetzal guatemalteco"
+ },
+ "ZAR": {
+ "name": "rand"
+ },
+ "BRL": {
+ "name": "real brasileño"
+ },
+ "QAR": {
+ "name": "rial catarí"
+ },
+ "IRR": {
+ "name": "rial iraní"
+ },
+ "OMR": {
+ "name": "rial omaní"
+ },
+ "SAR": {
+ "name": "rial saudí"
+ },
+ "YER": {
+ "name": "rial yemení"
+ },
+ "KHR": {
+ "name": "riel"
+ },
+ "MYR": {
+ "name": "ringit"
+ },
+ "BYN": {
+ "name": "rublo bielorruso"
+ },
+ "BYR": {
+ "name": "rublo bielorruso (2000–2016)"
+ },
+ "RUB": {
+ "name": "rublo ruso"
+ },
+ "MVR": {
+ "name": "rufiya"
+ },
+ "LKR": {
+ "name": "rupia esrilanquesa"
+ },
+ "INR": {
+ "name": "rupia india"
+ },
+ "IDR": {
+ "name": "rupia indonesia"
+ },
+ "MUR": {
+ "name": "rupia mauriciana"
+ },
+ "NPR": {
+ "name": "rupia nepalí"
+ },
+ "PKR": {
+ "name": "rupia pakistaní"
+ },
+ "SCR": {
+ "name": "rupia seychellense"
+ },
+ "KGS": {
+ "name": "som"
+ },
+ "TJS": {
+ "name": "somoni tayiko"
+ },
+ "UZS": {
+ "name": "sum"
+ },
+ "BDT": {
+ "name": "taka"
+ },
+ "WST": {
+ "name": "tala"
+ },
+ "KZT": {
+ "name": "tenge kazako"
+ },
+ "MNT": {
+ "name": "tugrik"
+ },
+ "MRO": {
+ "name": "uguiya"
+ },
+ "VUV": {
+ "name": "vatu"
+ },
+ "KPW": {
+ "name": "won norcoreano"
+ },
+ "KRW": {
+ "name": "won surcoreano"
+ },
+ "JPY": {
+ "name": "yen"
+ },
+ "CNY": {
+ "name": "yuan"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/es-US.json b/vendor/commerceguys/intl/resources/currency/es-US.json
new file mode 100644
index 000000000..3241eee20
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/es-US.json
@@ -0,0 +1,479 @@
+{
+ "AFN": {
+ "name": "afgani"
+ },
+ "MGA": {
+ "name": "ariari"
+ },
+ "PAB": {
+ "name": "balboa panameño"
+ },
+ "THB": {
+ "name": "bat"
+ },
+ "ETB": {
+ "name": "bir"
+ },
+ "VEF": {
+ "name": "bolívar venezolano"
+ },
+ "BOB": {
+ "name": "boliviano"
+ },
+ "GHS": {
+ "name": "cedi"
+ },
+ "KES": {
+ "name": "chelín keniano"
+ },
+ "SOS": {
+ "name": "chelín somalí"
+ },
+ "TZS": {
+ "name": "chelín tanzano"
+ },
+ "UGX": {
+ "name": "chelín ugandés"
+ },
+ "CRC": {
+ "name": "colón costarricense"
+ },
+ "SVC": {
+ "name": "colón salvadoreño"
+ },
+ "NIO": {
+ "name": "córdoba nicaragüense"
+ },
+ "CZK": {
+ "name": "corona checa"
+ },
+ "DKK": {
+ "name": "corona danesa"
+ },
+ "ISK": {
+ "name": "corona islandesa"
+ },
+ "NOK": {
+ "name": "corona noruega"
+ },
+ "SEK": {
+ "name": "corona sueca"
+ },
+ "GMD": {
+ "name": "dalasi"
+ },
+ "DZD": {
+ "name": "dinar argelino"
+ },
+ "BHD": {
+ "name": "dinar bahreiní"
+ },
+ "IQD": {
+ "name": "dinar iraquí"
+ },
+ "JOD": {
+ "name": "dinar jordano"
+ },
+ "KWD": {
+ "name": "dinar kuwaití"
+ },
+ "LYD": {
+ "name": "dinar libio"
+ },
+ "MKD": {
+ "name": "dinar macedonio"
+ },
+ "RSD": {
+ "name": "dinar serbio"
+ },
+ "TND": {
+ "name": "dinar tunecino"
+ },
+ "AED": {
+ "name": "dírham de los Emiratos Árabes Unidos"
+ },
+ "MAD": {
+ "name": "dírham marroquí"
+ },
+ "STD": {
+ "name": "dobra"
+ },
+ "AUD": {
+ "name": "dólar australiano"
+ },
+ "BSD": {
+ "name": "dólar bahameño"
+ },
+ "BBD": {
+ "name": "dólar barbadense"
+ },
+ "BZD": {
+ "name": "dólar beliceño"
+ },
+ "BND": {
+ "name": "dólar bruneano"
+ },
+ "CAD": {
+ "name": "dólar canadiense"
+ },
+ "BMD": {
+ "name": "dólar de Bermudas"
+ },
+ "KYD": {
+ "name": "dólar de las Islas Caimán"
+ },
+ "TTD": {
+ "name": "dólar de Trinidad y Tobago"
+ },
+ "XCD": {
+ "name": "dólar del Caribe Oriental"
+ },
+ "USD": {
+ "name": "dólar estadounidense",
+ "symbol": "$"
+ },
+ "FJD": {
+ "name": "dólar fiyiano"
+ },
+ "GYD": {
+ "name": "dólar guyanés"
+ },
+ "HKD": {
+ "name": "dólar hongkonés"
+ },
+ "JMD": {
+ "name": "dólar jamaicano"
+ },
+ "LRD": {
+ "name": "dólar liberiano"
+ },
+ "NAD": {
+ "name": "dólar namibio"
+ },
+ "NZD": {
+ "name": "dólar neozelandés"
+ },
+ "SBD": {
+ "name": "dólar salomonense"
+ },
+ "SGD": {
+ "name": "dólar singapurense"
+ },
+ "SRD": {
+ "name": "dólar surinamés"
+ },
+ "ZWL": {
+ "name": "dólar zimbabuense"
+ },
+ "VND": {
+ "name": "dong"
+ },
+ "AMD": {
+ "name": "dram armenio"
+ },
+ "CVE": {
+ "name": "escudo de Cabo Verde"
+ },
+ "PLN": {
+ "name": "esloti"
+ },
+ "EUR": {
+ "name": "euro"
+ },
+ "AWG": {
+ "name": "florín arubeño"
+ },
+ "ANG": {
+ "name": "florín de las Antillas Neerlandesas"
+ },
+ "HUF": {
+ "name": "forinto húngaro"
+ },
+ "BIF": {
+ "name": "franco burundés"
+ },
+ "XOF": {
+ "name": "franco CFA BCEAO"
+ },
+ "XAF": {
+ "name": "franco CFA BEAC"
+ },
+ "XPF": {
+ "name": "franco CFP",
+ "symbol": "CFPF"
+ },
+ "KMF": {
+ "name": "franco comorense"
+ },
+ "CDF": {
+ "name": "franco congoleño"
+ },
+ "GNF": {
+ "name": "franco guineano"
+ },
+ "RWF": {
+ "name": "franco ruandés"
+ },
+ "CHF": {
+ "name": "franco suizo"
+ },
+ "DJF": {
+ "name": "franco yibutiano"
+ },
+ "HTG": {
+ "name": "gourde haitiano"
+ },
+ "UAH": {
+ "name": "grivna"
+ },
+ "PYG": {
+ "name": "guaraní paraguayo"
+ },
+ "BTN": {
+ "name": "gultrum"
+ },
+ "MMK": {
+ "name": "kiat"
+ },
+ "PGK": {
+ "name": "kina"
+ },
+ "LAK": {
+ "name": "kip"
+ },
+ "ZMW": {
+ "name": "kuacha zambiano"
+ },
+ "AOA": {
+ "name": "kuanza"
+ },
+ "HRK": {
+ "name": "kuna"
+ },
+ "MWK": {
+ "name": "kwacha malauí"
+ },
+ "GEL": {
+ "name": "lari"
+ },
+ "ALL": {
+ "name": "lek"
+ },
+ "HNL": {
+ "name": "lempira hondureño"
+ },
+ "SLL": {
+ "name": "leona"
+ },
+ "MDL": {
+ "name": "leu moldavo"
+ },
+ "RON": {
+ "name": "leu rumano"
+ },
+ "BGN": {
+ "name": "lev búlgaro"
+ },
+ "GBP": {
+ "name": "libra británica"
+ },
+ "SHP": {
+ "name": "libra de Santa Elena"
+ },
+ "EGP": {
+ "name": "libra egipcia"
+ },
+ "GIP": {
+ "name": "libra gibraltareña"
+ },
+ "LBP": {
+ "name": "libra libanesa"
+ },
+ "FKP": {
+ "name": "libra malvinense"
+ },
+ "SYP": {
+ "name": "libra siria"
+ },
+ "SDG": {
+ "name": "libra sudanesa"
+ },
+ "SSP": {
+ "name": "libra sursudanesa"
+ },
+ "SZL": {
+ "name": "lilangeni"
+ },
+ "TRY": {
+ "name": "lira turca"
+ },
+ "LSL": {
+ "name": "loti lesothense"
+ },
+ "AZN": {
+ "name": "manat azerí"
+ },
+ "TMT": {
+ "name": "manat turcomano"
+ },
+ "BAM": {
+ "name": "marco convertible de Bosnia-Herzegovina"
+ },
+ "MZN": {
+ "name": "metical"
+ },
+ "ERN": {
+ "name": "nafka"
+ },
+ "NGN": {
+ "name": "naira"
+ },
+ "TWD": {
+ "name": "nuevo dólar taiwanés"
+ },
+ "ILS": {
+ "name": "nuevo séquel israelí"
+ },
+ "PEN": {
+ "name": "nuevo sol peruano"
+ },
+ "TOP": {
+ "name": "paanga"
+ },
+ "MOP": {
+ "name": "pataca de Macao"
+ },
+ "ARS": {
+ "name": "peso argentino"
+ },
+ "CLP": {
+ "name": "peso chileno"
+ },
+ "COP": {
+ "name": "peso colombiano"
+ },
+ "CUP": {
+ "name": "peso cubano"
+ },
+ "CUC": {
+ "name": "peso cubano convertible"
+ },
+ "DOP": {
+ "name": "peso dominicano"
+ },
+ "PHP": {
+ "name": "peso filipino"
+ },
+ "MXN": {
+ "name": "peso mexicano"
+ },
+ "UYU": {
+ "name": "peso uruguayo"
+ },
+ "BWP": {
+ "name": "pula"
+ },
+ "GTQ": {
+ "name": "quetzal guatemalteco"
+ },
+ "ZAR": {
+ "name": "rand"
+ },
+ "BRL": {
+ "name": "real brasileño"
+ },
+ "QAR": {
+ "name": "rial catarí"
+ },
+ "IRR": {
+ "name": "rial iraní"
+ },
+ "OMR": {
+ "name": "rial omaní"
+ },
+ "SAR": {
+ "name": "rial saudí"
+ },
+ "YER": {
+ "name": "rial yemení"
+ },
+ "KHR": {
+ "name": "riel"
+ },
+ "MYR": {
+ "name": "ringit"
+ },
+ "BYN": {
+ "name": "rublo bielorruso"
+ },
+ "BYR": {
+ "name": "rublo bielorruso (2000–2016)"
+ },
+ "RUB": {
+ "name": "rublo ruso"
+ },
+ "MVR": {
+ "name": "rufiya"
+ },
+ "LKR": {
+ "name": "rupia esrilanquesa"
+ },
+ "INR": {
+ "name": "rupia india"
+ },
+ "IDR": {
+ "name": "rupia indonesia"
+ },
+ "MUR": {
+ "name": "rupia mauriciana"
+ },
+ "NPR": {
+ "name": "rupia nepalí"
+ },
+ "PKR": {
+ "name": "rupia pakistaní"
+ },
+ "SCR": {
+ "name": "rupia seychellense"
+ },
+ "KGS": {
+ "name": "som"
+ },
+ "TJS": {
+ "name": "somoni tayiko"
+ },
+ "UZS": {
+ "name": "sum"
+ },
+ "BDT": {
+ "name": "taka"
+ },
+ "WST": {
+ "name": "tala"
+ },
+ "KZT": {
+ "name": "tenge kazako"
+ },
+ "MNT": {
+ "name": "tugrik"
+ },
+ "MRO": {
+ "name": "uguiya"
+ },
+ "VUV": {
+ "name": "vatu"
+ },
+ "KPW": {
+ "name": "won norcoreano"
+ },
+ "KRW": {
+ "name": "won surcoreano"
+ },
+ "JPY": {
+ "name": "yen",
+ "symbol": "¥"
+ },
+ "CNY": {
+ "name": "yuan"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/es-UY.json b/vendor/commerceguys/intl/resources/currency/es-UY.json
new file mode 100644
index 000000000..9ff6de1b4
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/es-UY.json
@@ -0,0 +1,479 @@
+{
+ "AFN": {
+ "name": "afgani"
+ },
+ "MGA": {
+ "name": "ariari"
+ },
+ "PAB": {
+ "name": "balboa panameño"
+ },
+ "THB": {
+ "name": "bat"
+ },
+ "ETB": {
+ "name": "bir"
+ },
+ "VEF": {
+ "name": "bolívar venezolano"
+ },
+ "BOB": {
+ "name": "boliviano"
+ },
+ "GHS": {
+ "name": "cedi"
+ },
+ "KES": {
+ "name": "chelín keniano"
+ },
+ "SOS": {
+ "name": "chelín somalí"
+ },
+ "TZS": {
+ "name": "chelín tanzano"
+ },
+ "UGX": {
+ "name": "chelín ugandés"
+ },
+ "CRC": {
+ "name": "colón costarricense"
+ },
+ "SVC": {
+ "name": "colón salvadoreño"
+ },
+ "NIO": {
+ "name": "córdoba nicaragüense"
+ },
+ "CZK": {
+ "name": "corona checa"
+ },
+ "DKK": {
+ "name": "corona danesa"
+ },
+ "ISK": {
+ "name": "corona islandesa"
+ },
+ "NOK": {
+ "name": "corona noruega"
+ },
+ "SEK": {
+ "name": "corona sueca"
+ },
+ "GMD": {
+ "name": "dalasi"
+ },
+ "DZD": {
+ "name": "dinar argelino"
+ },
+ "BHD": {
+ "name": "dinar bahreiní"
+ },
+ "IQD": {
+ "name": "dinar iraquí"
+ },
+ "JOD": {
+ "name": "dinar jordano"
+ },
+ "KWD": {
+ "name": "dinar kuwaití"
+ },
+ "LYD": {
+ "name": "dinar libio"
+ },
+ "MKD": {
+ "name": "dinar macedonio"
+ },
+ "RSD": {
+ "name": "dinar serbio"
+ },
+ "TND": {
+ "name": "dinar tunecino"
+ },
+ "AED": {
+ "name": "dírham de los Emiratos Árabes Unidos"
+ },
+ "MAD": {
+ "name": "dírham marroquí"
+ },
+ "STD": {
+ "name": "dobra"
+ },
+ "AUD": {
+ "name": "dólar australiano"
+ },
+ "BSD": {
+ "name": "dólar bahameño"
+ },
+ "BBD": {
+ "name": "dólar barbadense"
+ },
+ "BZD": {
+ "name": "dólar beliceño"
+ },
+ "BND": {
+ "name": "dólar bruneano"
+ },
+ "CAD": {
+ "name": "dólar canadiense"
+ },
+ "BMD": {
+ "name": "dólar de Bermudas"
+ },
+ "KYD": {
+ "name": "dólar de las Islas Caimán"
+ },
+ "TTD": {
+ "name": "dólar de Trinidad y Tobago"
+ },
+ "XCD": {
+ "name": "dólar del Caribe Oriental"
+ },
+ "USD": {
+ "name": "dólar estadounidense",
+ "symbol": "US$"
+ },
+ "FJD": {
+ "name": "dólar fiyiano"
+ },
+ "GYD": {
+ "name": "dólar guyanés"
+ },
+ "HKD": {
+ "name": "dólar hongkonés"
+ },
+ "JMD": {
+ "name": "dólar jamaicano"
+ },
+ "LRD": {
+ "name": "dólar liberiano"
+ },
+ "NAD": {
+ "name": "dólar namibio"
+ },
+ "NZD": {
+ "name": "dólar neozelandés"
+ },
+ "SBD": {
+ "name": "dólar salomonense"
+ },
+ "SGD": {
+ "name": "dólar singapurense"
+ },
+ "SRD": {
+ "name": "dólar surinamés"
+ },
+ "ZWL": {
+ "name": "dólar zimbabuense"
+ },
+ "VND": {
+ "name": "dong"
+ },
+ "AMD": {
+ "name": "dram armenio"
+ },
+ "CVE": {
+ "name": "escudo de Cabo Verde"
+ },
+ "PLN": {
+ "name": "esloti"
+ },
+ "EUR": {
+ "name": "euro"
+ },
+ "AWG": {
+ "name": "florín arubeño"
+ },
+ "ANG": {
+ "name": "florín de las Antillas Neerlandesas"
+ },
+ "HUF": {
+ "name": "forinto húngaro"
+ },
+ "BIF": {
+ "name": "franco burundés"
+ },
+ "XOF": {
+ "name": "franco CFA BCEAO"
+ },
+ "XAF": {
+ "name": "franco CFA BEAC"
+ },
+ "XPF": {
+ "name": "franco CFP",
+ "symbol": "CFPF"
+ },
+ "KMF": {
+ "name": "franco comorense"
+ },
+ "CDF": {
+ "name": "franco congoleño"
+ },
+ "GNF": {
+ "name": "franco guineano"
+ },
+ "RWF": {
+ "name": "franco ruandés"
+ },
+ "CHF": {
+ "name": "franco suizo"
+ },
+ "DJF": {
+ "name": "franco yibutiano"
+ },
+ "HTG": {
+ "name": "gourde haitiano"
+ },
+ "UAH": {
+ "name": "grivna"
+ },
+ "PYG": {
+ "name": "guaraní paraguayo"
+ },
+ "BTN": {
+ "name": "gultrum"
+ },
+ "MMK": {
+ "name": "kiat"
+ },
+ "PGK": {
+ "name": "kina"
+ },
+ "LAK": {
+ "name": "kip"
+ },
+ "ZMW": {
+ "name": "kuacha zambiano"
+ },
+ "AOA": {
+ "name": "kuanza"
+ },
+ "HRK": {
+ "name": "kuna"
+ },
+ "MWK": {
+ "name": "kwacha malauí"
+ },
+ "GEL": {
+ "name": "lari"
+ },
+ "ALL": {
+ "name": "lek"
+ },
+ "HNL": {
+ "name": "lempira hondureño"
+ },
+ "SLL": {
+ "name": "leona"
+ },
+ "MDL": {
+ "name": "leu moldavo"
+ },
+ "RON": {
+ "name": "leu rumano"
+ },
+ "BGN": {
+ "name": "lev búlgaro"
+ },
+ "GBP": {
+ "name": "libra británica"
+ },
+ "SHP": {
+ "name": "libra de Santa Elena"
+ },
+ "EGP": {
+ "name": "libra egipcia"
+ },
+ "GIP": {
+ "name": "libra gibraltareña"
+ },
+ "LBP": {
+ "name": "libra libanesa"
+ },
+ "FKP": {
+ "name": "libra malvinense"
+ },
+ "SYP": {
+ "name": "libra siria"
+ },
+ "SDG": {
+ "name": "libra sudanesa"
+ },
+ "SSP": {
+ "name": "libra sursudanesa"
+ },
+ "SZL": {
+ "name": "lilangeni"
+ },
+ "TRY": {
+ "name": "lira turca"
+ },
+ "LSL": {
+ "name": "loti lesothense"
+ },
+ "AZN": {
+ "name": "manat azerí"
+ },
+ "TMT": {
+ "name": "manat turcomano"
+ },
+ "BAM": {
+ "name": "marco convertible de Bosnia-Herzegovina"
+ },
+ "MZN": {
+ "name": "metical"
+ },
+ "ERN": {
+ "name": "nafka"
+ },
+ "NGN": {
+ "name": "naira"
+ },
+ "TWD": {
+ "name": "nuevo dólar taiwanés"
+ },
+ "ILS": {
+ "name": "nuevo séquel israelí"
+ },
+ "PEN": {
+ "name": "nuevo sol peruano"
+ },
+ "TOP": {
+ "name": "paanga"
+ },
+ "MOP": {
+ "name": "pataca de Macao"
+ },
+ "ARS": {
+ "name": "peso argentino"
+ },
+ "CLP": {
+ "name": "peso chileno"
+ },
+ "COP": {
+ "name": "peso colombiano"
+ },
+ "CUP": {
+ "name": "peso cubano"
+ },
+ "CUC": {
+ "name": "peso cubano convertible"
+ },
+ "DOP": {
+ "name": "peso dominicano"
+ },
+ "PHP": {
+ "name": "peso filipino"
+ },
+ "MXN": {
+ "name": "peso mexicano"
+ },
+ "UYU": {
+ "name": "peso uruguayo",
+ "symbol": "$"
+ },
+ "BWP": {
+ "name": "pula"
+ },
+ "GTQ": {
+ "name": "quetzal guatemalteco"
+ },
+ "ZAR": {
+ "name": "rand"
+ },
+ "BRL": {
+ "name": "real brasileño"
+ },
+ "QAR": {
+ "name": "rial catarí"
+ },
+ "IRR": {
+ "name": "rial iraní"
+ },
+ "OMR": {
+ "name": "rial omaní"
+ },
+ "SAR": {
+ "name": "rial saudí"
+ },
+ "YER": {
+ "name": "rial yemení"
+ },
+ "KHR": {
+ "name": "riel"
+ },
+ "MYR": {
+ "name": "ringit"
+ },
+ "BYN": {
+ "name": "rublo bielorruso"
+ },
+ "BYR": {
+ "name": "rublo bielorruso (2000–2016)"
+ },
+ "RUB": {
+ "name": "rublo ruso"
+ },
+ "MVR": {
+ "name": "rufiya"
+ },
+ "LKR": {
+ "name": "rupia esrilanquesa"
+ },
+ "INR": {
+ "name": "rupia india"
+ },
+ "IDR": {
+ "name": "rupia indonesia"
+ },
+ "MUR": {
+ "name": "rupia mauriciana"
+ },
+ "NPR": {
+ "name": "rupia nepalí"
+ },
+ "PKR": {
+ "name": "rupia pakistaní"
+ },
+ "SCR": {
+ "name": "rupia seychellense"
+ },
+ "KGS": {
+ "name": "som"
+ },
+ "TJS": {
+ "name": "somoni tayiko"
+ },
+ "UZS": {
+ "name": "sum"
+ },
+ "BDT": {
+ "name": "taka"
+ },
+ "WST": {
+ "name": "tala"
+ },
+ "KZT": {
+ "name": "tenge kazako"
+ },
+ "MNT": {
+ "name": "tugrik"
+ },
+ "MRO": {
+ "name": "uguiya"
+ },
+ "VUV": {
+ "name": "vatu"
+ },
+ "KPW": {
+ "name": "won norcoreano"
+ },
+ "KRW": {
+ "name": "won surcoreano"
+ },
+ "JPY": {
+ "name": "yen"
+ },
+ "CNY": {
+ "name": "yuan"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/es-VE.json b/vendor/commerceguys/intl/resources/currency/es-VE.json
new file mode 100644
index 000000000..3740b2d7d
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/es-VE.json
@@ -0,0 +1,478 @@
+{
+ "AFN": {
+ "name": "afgani"
+ },
+ "MGA": {
+ "name": "ariari"
+ },
+ "PAB": {
+ "name": "balboa panameño"
+ },
+ "THB": {
+ "name": "bat"
+ },
+ "ETB": {
+ "name": "bir"
+ },
+ "VEF": {
+ "name": "bolívar venezolano",
+ "symbol": "Bs."
+ },
+ "BOB": {
+ "name": "boliviano"
+ },
+ "GHS": {
+ "name": "cedi"
+ },
+ "KES": {
+ "name": "chelín keniano"
+ },
+ "SOS": {
+ "name": "chelín somalí"
+ },
+ "TZS": {
+ "name": "chelín tanzano"
+ },
+ "UGX": {
+ "name": "chelín ugandés"
+ },
+ "CRC": {
+ "name": "colón costarricense"
+ },
+ "SVC": {
+ "name": "colón salvadoreño"
+ },
+ "NIO": {
+ "name": "córdoba nicaragüense"
+ },
+ "CZK": {
+ "name": "corona checa"
+ },
+ "DKK": {
+ "name": "corona danesa"
+ },
+ "ISK": {
+ "name": "corona islandesa"
+ },
+ "NOK": {
+ "name": "corona noruega"
+ },
+ "SEK": {
+ "name": "corona sueca"
+ },
+ "GMD": {
+ "name": "dalasi"
+ },
+ "DZD": {
+ "name": "dinar argelino"
+ },
+ "BHD": {
+ "name": "dinar bahreiní"
+ },
+ "IQD": {
+ "name": "dinar iraquí"
+ },
+ "JOD": {
+ "name": "dinar jordano"
+ },
+ "KWD": {
+ "name": "dinar kuwaití"
+ },
+ "LYD": {
+ "name": "dinar libio"
+ },
+ "MKD": {
+ "name": "dinar macedonio"
+ },
+ "RSD": {
+ "name": "dinar serbio"
+ },
+ "TND": {
+ "name": "dinar tunecino"
+ },
+ "AED": {
+ "name": "dírham de los Emiratos Árabes Unidos"
+ },
+ "MAD": {
+ "name": "dírham marroquí"
+ },
+ "STD": {
+ "name": "dobra"
+ },
+ "AUD": {
+ "name": "dólar australiano"
+ },
+ "BSD": {
+ "name": "dólar bahameño"
+ },
+ "BBD": {
+ "name": "dólar barbadense"
+ },
+ "BZD": {
+ "name": "dólar beliceño"
+ },
+ "BND": {
+ "name": "dólar bruneano"
+ },
+ "CAD": {
+ "name": "dólar canadiense"
+ },
+ "BMD": {
+ "name": "dólar de Bermudas"
+ },
+ "KYD": {
+ "name": "dólar de las Islas Caimán"
+ },
+ "TTD": {
+ "name": "dólar de Trinidad y Tobago"
+ },
+ "XCD": {
+ "name": "dólar del Caribe Oriental"
+ },
+ "USD": {
+ "name": "dólar estadounidense"
+ },
+ "FJD": {
+ "name": "dólar fiyiano"
+ },
+ "GYD": {
+ "name": "dólar guyanés"
+ },
+ "HKD": {
+ "name": "dólar hongkonés"
+ },
+ "JMD": {
+ "name": "dólar jamaicano"
+ },
+ "LRD": {
+ "name": "dólar liberiano"
+ },
+ "NAD": {
+ "name": "dólar namibio"
+ },
+ "NZD": {
+ "name": "dólar neozelandés"
+ },
+ "SBD": {
+ "name": "dólar salomonense"
+ },
+ "SGD": {
+ "name": "dólar singapurense"
+ },
+ "SRD": {
+ "name": "dólar surinamés"
+ },
+ "ZWL": {
+ "name": "dólar zimbabuense"
+ },
+ "VND": {
+ "name": "dong"
+ },
+ "AMD": {
+ "name": "dram armenio"
+ },
+ "CVE": {
+ "name": "escudo de Cabo Verde"
+ },
+ "PLN": {
+ "name": "esloti"
+ },
+ "EUR": {
+ "name": "euro"
+ },
+ "AWG": {
+ "name": "florín arubeño"
+ },
+ "ANG": {
+ "name": "florín de las Antillas Neerlandesas"
+ },
+ "HUF": {
+ "name": "forinto húngaro"
+ },
+ "BIF": {
+ "name": "franco burundés"
+ },
+ "XOF": {
+ "name": "franco CFA BCEAO"
+ },
+ "XAF": {
+ "name": "franco CFA BEAC"
+ },
+ "XPF": {
+ "name": "franco CFP",
+ "symbol": "CFPF"
+ },
+ "KMF": {
+ "name": "franco comorense"
+ },
+ "CDF": {
+ "name": "franco congoleño"
+ },
+ "GNF": {
+ "name": "franco guineano"
+ },
+ "RWF": {
+ "name": "franco ruandés"
+ },
+ "CHF": {
+ "name": "franco suizo"
+ },
+ "DJF": {
+ "name": "franco yibutiano"
+ },
+ "HTG": {
+ "name": "gourde haitiano"
+ },
+ "UAH": {
+ "name": "grivna"
+ },
+ "PYG": {
+ "name": "guaraní paraguayo"
+ },
+ "BTN": {
+ "name": "gultrum"
+ },
+ "MMK": {
+ "name": "kiat"
+ },
+ "PGK": {
+ "name": "kina"
+ },
+ "LAK": {
+ "name": "kip"
+ },
+ "ZMW": {
+ "name": "kuacha zambiano"
+ },
+ "AOA": {
+ "name": "kuanza"
+ },
+ "HRK": {
+ "name": "kuna"
+ },
+ "MWK": {
+ "name": "kwacha malauí"
+ },
+ "GEL": {
+ "name": "lari"
+ },
+ "ALL": {
+ "name": "lek"
+ },
+ "HNL": {
+ "name": "lempira hondureño"
+ },
+ "SLL": {
+ "name": "leona"
+ },
+ "MDL": {
+ "name": "leu moldavo"
+ },
+ "RON": {
+ "name": "leu rumano"
+ },
+ "BGN": {
+ "name": "lev búlgaro"
+ },
+ "GBP": {
+ "name": "libra británica"
+ },
+ "SHP": {
+ "name": "libra de Santa Elena"
+ },
+ "EGP": {
+ "name": "libra egipcia"
+ },
+ "GIP": {
+ "name": "libra gibraltareña"
+ },
+ "LBP": {
+ "name": "libra libanesa"
+ },
+ "FKP": {
+ "name": "libra malvinense"
+ },
+ "SYP": {
+ "name": "libra siria"
+ },
+ "SDG": {
+ "name": "libra sudanesa"
+ },
+ "SSP": {
+ "name": "libra sursudanesa"
+ },
+ "SZL": {
+ "name": "lilangeni"
+ },
+ "TRY": {
+ "name": "lira turca"
+ },
+ "LSL": {
+ "name": "loti lesothense"
+ },
+ "AZN": {
+ "name": "manat azerí"
+ },
+ "TMT": {
+ "name": "manat turcomano"
+ },
+ "BAM": {
+ "name": "marco convertible de Bosnia-Herzegovina"
+ },
+ "MZN": {
+ "name": "metical"
+ },
+ "ERN": {
+ "name": "nafka"
+ },
+ "NGN": {
+ "name": "naira"
+ },
+ "TWD": {
+ "name": "nuevo dólar taiwanés"
+ },
+ "ILS": {
+ "name": "nuevo séquel israelí"
+ },
+ "PEN": {
+ "name": "nuevo sol peruano"
+ },
+ "TOP": {
+ "name": "paanga"
+ },
+ "MOP": {
+ "name": "pataca de Macao"
+ },
+ "ARS": {
+ "name": "peso argentino"
+ },
+ "CLP": {
+ "name": "peso chileno"
+ },
+ "COP": {
+ "name": "peso colombiano"
+ },
+ "CUP": {
+ "name": "peso cubano"
+ },
+ "CUC": {
+ "name": "peso cubano convertible"
+ },
+ "DOP": {
+ "name": "peso dominicano"
+ },
+ "PHP": {
+ "name": "peso filipino"
+ },
+ "MXN": {
+ "name": "peso mexicano"
+ },
+ "UYU": {
+ "name": "peso uruguayo"
+ },
+ "BWP": {
+ "name": "pula"
+ },
+ "GTQ": {
+ "name": "quetzal guatemalteco"
+ },
+ "ZAR": {
+ "name": "rand"
+ },
+ "BRL": {
+ "name": "real brasileño"
+ },
+ "QAR": {
+ "name": "rial catarí"
+ },
+ "IRR": {
+ "name": "rial iraní"
+ },
+ "OMR": {
+ "name": "rial omaní"
+ },
+ "SAR": {
+ "name": "rial saudí"
+ },
+ "YER": {
+ "name": "rial yemení"
+ },
+ "KHR": {
+ "name": "riel"
+ },
+ "MYR": {
+ "name": "ringit"
+ },
+ "BYN": {
+ "name": "rublo bielorruso"
+ },
+ "BYR": {
+ "name": "rublo bielorruso (2000–2016)"
+ },
+ "RUB": {
+ "name": "rublo ruso"
+ },
+ "MVR": {
+ "name": "rufiya"
+ },
+ "LKR": {
+ "name": "rupia esrilanquesa"
+ },
+ "INR": {
+ "name": "rupia india"
+ },
+ "IDR": {
+ "name": "rupia indonesia"
+ },
+ "MUR": {
+ "name": "rupia mauriciana"
+ },
+ "NPR": {
+ "name": "rupia nepalí"
+ },
+ "PKR": {
+ "name": "rupia pakistaní"
+ },
+ "SCR": {
+ "name": "rupia seychellense"
+ },
+ "KGS": {
+ "name": "som"
+ },
+ "TJS": {
+ "name": "somoni tayiko"
+ },
+ "UZS": {
+ "name": "sum"
+ },
+ "BDT": {
+ "name": "taka"
+ },
+ "WST": {
+ "name": "tala"
+ },
+ "KZT": {
+ "name": "tenge kazako"
+ },
+ "MNT": {
+ "name": "tugrik"
+ },
+ "MRO": {
+ "name": "uguiya"
+ },
+ "VUV": {
+ "name": "vatu"
+ },
+ "KPW": {
+ "name": "won norcoreano"
+ },
+ "KRW": {
+ "name": "won surcoreano"
+ },
+ "JPY": {
+ "name": "yen"
+ },
+ "CNY": {
+ "name": "yuan"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/es.json b/vendor/commerceguys/intl/resources/currency/es.json
new file mode 100644
index 000000000..8c930a423
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/es.json
@@ -0,0 +1,482 @@
+{
+ "AFN": {
+ "name": "afgani"
+ },
+ "MGA": {
+ "name": "ariari"
+ },
+ "PAB": {
+ "name": "balboa panameño"
+ },
+ "THB": {
+ "name": "bat",
+ "symbol": "฿"
+ },
+ "ETB": {
+ "name": "bir"
+ },
+ "VEF": {
+ "name": "bolívar venezolano"
+ },
+ "BOB": {
+ "name": "boliviano"
+ },
+ "GHS": {
+ "name": "cedi"
+ },
+ "KES": {
+ "name": "chelín keniano"
+ },
+ "SOS": {
+ "name": "chelín somalí"
+ },
+ "TZS": {
+ "name": "chelín tanzano"
+ },
+ "UGX": {
+ "name": "chelín ugandés"
+ },
+ "CRC": {
+ "name": "colón costarricense"
+ },
+ "SVC": {
+ "name": "colón salvadoreño"
+ },
+ "NIO": {
+ "name": "córdoba nicaragüense"
+ },
+ "CZK": {
+ "name": "corona checa"
+ },
+ "DKK": {
+ "name": "corona danesa"
+ },
+ "ISK": {
+ "name": "corona islandesa"
+ },
+ "NOK": {
+ "name": "corona noruega"
+ },
+ "SEK": {
+ "name": "corona sueca"
+ },
+ "GMD": {
+ "name": "dalasi"
+ },
+ "DZD": {
+ "name": "dinar argelino"
+ },
+ "BHD": {
+ "name": "dinar bahreiní"
+ },
+ "IQD": {
+ "name": "dinar iraquí"
+ },
+ "JOD": {
+ "name": "dinar jordano"
+ },
+ "KWD": {
+ "name": "dinar kuwaití"
+ },
+ "LYD": {
+ "name": "dinar libio"
+ },
+ "MKD": {
+ "name": "dinar macedonio"
+ },
+ "RSD": {
+ "name": "dinar serbio"
+ },
+ "TND": {
+ "name": "dinar tunecino"
+ },
+ "AED": {
+ "name": "dírham de los Emiratos Árabes Unidos"
+ },
+ "MAD": {
+ "name": "dírham marroquí"
+ },
+ "STD": {
+ "name": "dobra"
+ },
+ "AUD": {
+ "name": "dólar australiano"
+ },
+ "BSD": {
+ "name": "dólar bahameño"
+ },
+ "BBD": {
+ "name": "dólar barbadense"
+ },
+ "BZD": {
+ "name": "dólar beliceño"
+ },
+ "BND": {
+ "name": "dólar bruneano"
+ },
+ "CAD": {
+ "name": "dólar canadiense",
+ "symbol": "CA$"
+ },
+ "BMD": {
+ "name": "dólar de Bermudas"
+ },
+ "KYD": {
+ "name": "dólar de las Islas Caimán"
+ },
+ "TTD": {
+ "name": "dólar de Trinidad y Tobago"
+ },
+ "XCD": {
+ "name": "dólar del Caribe Oriental"
+ },
+ "USD": {
+ "name": "dólar estadounidense",
+ "symbol": "$"
+ },
+ "FJD": {
+ "name": "dólar fiyiano"
+ },
+ "GYD": {
+ "name": "dólar guyanés"
+ },
+ "HKD": {
+ "name": "dólar hongkonés"
+ },
+ "JMD": {
+ "name": "dólar jamaicano"
+ },
+ "LRD": {
+ "name": "dólar liberiano"
+ },
+ "NAD": {
+ "name": "dólar namibio"
+ },
+ "NZD": {
+ "name": "dólar neozelandés"
+ },
+ "SBD": {
+ "name": "dólar salomonense"
+ },
+ "SGD": {
+ "name": "dólar singapurense"
+ },
+ "SRD": {
+ "name": "dólar surinamés"
+ },
+ "ZWL": {
+ "name": "dólar zimbabuense"
+ },
+ "VND": {
+ "name": "dong",
+ "symbol": "₫"
+ },
+ "AMD": {
+ "name": "dram"
+ },
+ "CVE": {
+ "name": "escudo de Cabo Verde"
+ },
+ "PLN": {
+ "name": "esloti"
+ },
+ "EUR": {
+ "name": "euro",
+ "symbol": "€"
+ },
+ "AWG": {
+ "name": "florín arubeño"
+ },
+ "ANG": {
+ "name": "florín de las Antillas Neerlandesas"
+ },
+ "HUF": {
+ "name": "forinto húngaro"
+ },
+ "BIF": {
+ "name": "franco burundés"
+ },
+ "XOF": {
+ "name": "franco CFA BCEAO"
+ },
+ "XAF": {
+ "name": "franco CFA BEAC"
+ },
+ "XPF": {
+ "name": "franco CFP",
+ "symbol": "CFPF"
+ },
+ "KMF": {
+ "name": "franco comorense"
+ },
+ "CDF": {
+ "name": "franco congoleño"
+ },
+ "GNF": {
+ "name": "franco guineano"
+ },
+ "RWF": {
+ "name": "franco ruandés"
+ },
+ "CHF": {
+ "name": "franco suizo"
+ },
+ "DJF": {
+ "name": "franco yibutiano"
+ },
+ "HTG": {
+ "name": "gourde haitiano"
+ },
+ "UAH": {
+ "name": "grivna"
+ },
+ "PYG": {
+ "name": "guaraní paraguayo"
+ },
+ "BTN": {
+ "name": "gultrum"
+ },
+ "MMK": {
+ "name": "kiat"
+ },
+ "PGK": {
+ "name": "kina"
+ },
+ "LAK": {
+ "name": "kip"
+ },
+ "ZMW": {
+ "name": "kuacha zambiano"
+ },
+ "AOA": {
+ "name": "kuanza"
+ },
+ "HRK": {
+ "name": "kuna"
+ },
+ "MWK": {
+ "name": "kwacha malauí"
+ },
+ "GEL": {
+ "name": "lari"
+ },
+ "ALL": {
+ "name": "lek"
+ },
+ "HNL": {
+ "name": "lempira hondureño"
+ },
+ "SLL": {
+ "name": "leona"
+ },
+ "MDL": {
+ "name": "leu moldavo"
+ },
+ "RON": {
+ "name": "leu rumano"
+ },
+ "BGN": {
+ "name": "lev búlgaro"
+ },
+ "GBP": {
+ "name": "libra británica"
+ },
+ "SHP": {
+ "name": "libra de Santa Elena"
+ },
+ "EGP": {
+ "name": "libra egipcia"
+ },
+ "GIP": {
+ "name": "libra gibraltareña"
+ },
+ "LBP": {
+ "name": "libra libanesa"
+ },
+ "FKP": {
+ "name": "libra malvinense"
+ },
+ "SYP": {
+ "name": "libra siria"
+ },
+ "SDG": {
+ "name": "libra sudanesa"
+ },
+ "SSP": {
+ "name": "libra sursudanesa"
+ },
+ "SZL": {
+ "name": "lilangeni"
+ },
+ "TRY": {
+ "name": "lira turca"
+ },
+ "LSL": {
+ "name": "loti lesothense"
+ },
+ "AZN": {
+ "name": "manat azerí"
+ },
+ "TMT": {
+ "name": "manat turcomano"
+ },
+ "BAM": {
+ "name": "marco convertible de Bosnia-Herzegovina"
+ },
+ "MZN": {
+ "name": "metical"
+ },
+ "NGN": {
+ "name": "naira"
+ },
+ "ERN": {
+ "name": "nakfa"
+ },
+ "TWD": {
+ "name": "nuevo dólar taiwanés"
+ },
+ "ILS": {
+ "name": "nuevo séquel israelí"
+ },
+ "PEN": {
+ "name": "nuevo sol peruano"
+ },
+ "TOP": {
+ "name": "paanga"
+ },
+ "MOP": {
+ "name": "pataca de Macao"
+ },
+ "ARS": {
+ "name": "peso argentino"
+ },
+ "CLP": {
+ "name": "peso chileno"
+ },
+ "COP": {
+ "name": "peso colombiano"
+ },
+ "CUP": {
+ "name": "peso cubano"
+ },
+ "CUC": {
+ "name": "peso cubano convertible"
+ },
+ "DOP": {
+ "name": "peso dominicano"
+ },
+ "PHP": {
+ "name": "peso filipino"
+ },
+ "MXN": {
+ "name": "peso mexicano"
+ },
+ "UYU": {
+ "name": "peso uruguayo"
+ },
+ "BWP": {
+ "name": "pula"
+ },
+ "GTQ": {
+ "name": "quetzal guatemalteco"
+ },
+ "ZAR": {
+ "name": "rand"
+ },
+ "BRL": {
+ "name": "real brasileño"
+ },
+ "QAR": {
+ "name": "rial catarí"
+ },
+ "IRR": {
+ "name": "rial iraní"
+ },
+ "OMR": {
+ "name": "rial omaní"
+ },
+ "SAR": {
+ "name": "rial saudí"
+ },
+ "YER": {
+ "name": "rial yemení"
+ },
+ "KHR": {
+ "name": "riel"
+ },
+ "MYR": {
+ "name": "ringit"
+ },
+ "BYN": {
+ "name": "rublo bielorruso"
+ },
+ "BYR": {
+ "name": "rublo bielorruso (2000–2016)"
+ },
+ "RUB": {
+ "name": "rublo ruso"
+ },
+ "MVR": {
+ "name": "rufiya"
+ },
+ "LKR": {
+ "name": "rupia esrilanquesa"
+ },
+ "INR": {
+ "name": "rupia india"
+ },
+ "IDR": {
+ "name": "rupia indonesia"
+ },
+ "MUR": {
+ "name": "rupia mauriciana"
+ },
+ "NPR": {
+ "name": "rupia nepalí"
+ },
+ "PKR": {
+ "name": "rupia pakistaní"
+ },
+ "SCR": {
+ "name": "rupia seychellense"
+ },
+ "KGS": {
+ "name": "som"
+ },
+ "TJS": {
+ "name": "somoni tayiko"
+ },
+ "UZS": {
+ "name": "sum"
+ },
+ "BDT": {
+ "name": "taka"
+ },
+ "WST": {
+ "name": "tala"
+ },
+ "KZT": {
+ "name": "tenge kazako"
+ },
+ "MNT": {
+ "name": "tugrik"
+ },
+ "MRO": {
+ "name": "uguiya"
+ },
+ "VUV": {
+ "name": "vatu"
+ },
+ "KPW": {
+ "name": "won norcoreano"
+ },
+ "KRW": {
+ "name": "won surcoreano"
+ },
+ "JPY": {
+ "name": "yen"
+ },
+ "CNY": {
+ "name": "yuan"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/et.json b/vendor/commerceguys/intl/resources/currency/et.json
new file mode 100644
index 000000000..2c2c7397b
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/et.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afganistani afgaani"
+ },
+ "ALL": {
+ "name": "Albaania lekk"
+ },
+ "DZD": {
+ "name": "Alžeeria dinaar"
+ },
+ "AOA": {
+ "name": "Angola kvanza"
+ },
+ "AED": {
+ "name": "Araabia Ühendemiraatide dirhem"
+ },
+ "ARS": {
+ "name": "Argentina peeso"
+ },
+ "AMD": {
+ "name": "Armeenia dramm"
+ },
+ "AWG": {
+ "name": "Aruba kulden"
+ },
+ "AZN": {
+ "name": "Aserbaidžaani manat"
+ },
+ "AUD": {
+ "name": "Austraalia dollar",
+ "symbol": "AU$"
+ },
+ "BSD": {
+ "name": "Bahama dollar"
+ },
+ "BHD": {
+ "name": "Bahreini dinaar"
+ },
+ "BDT": {
+ "name": "Bangladeshi taka"
+ },
+ "BBD": {
+ "name": "Barbadose dollar"
+ },
+ "BZD": {
+ "name": "Belize’i dollar"
+ },
+ "BMD": {
+ "name": "Bermuda dollar"
+ },
+ "BTN": {
+ "name": "Bhutani ngultrum"
+ },
+ "BOB": {
+ "name": "Boliivia boliviaano"
+ },
+ "BAM": {
+ "name": "Bosnia ja Hertsegoviina konverteeritav mark"
+ },
+ "BWP": {
+ "name": "Botswana pula"
+ },
+ "BRL": {
+ "name": "Brasiilia reaal",
+ "symbol": "R$"
+ },
+ "BND": {
+ "name": "Brunei dollar"
+ },
+ "BGN": {
+ "name": "Bulgaaria leev"
+ },
+ "BIF": {
+ "name": "Burundi frank"
+ },
+ "CVE": {
+ "name": "Cabo Verde eskuudo"
+ },
+ "XPF": {
+ "name": "CFP frank",
+ "symbol": "CFPF"
+ },
+ "COP": {
+ "name": "Colombia peeso"
+ },
+ "CRC": {
+ "name": "Costa Rica koloon"
+ },
+ "DJF": {
+ "name": "Djibouti frank"
+ },
+ "DOP": {
+ "name": "Dominikaani peeso"
+ },
+ "EGP": {
+ "name": "Egiptuse nael"
+ },
+ "SVC": {
+ "name": "El Salvadori koloon"
+ },
+ "ERN": {
+ "name": "Eritrea nakfa"
+ },
+ "ETB": {
+ "name": "Etioopia birr"
+ },
+ "EUR": {
+ "name": "euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falklandi saarte nael"
+ },
+ "FJD": {
+ "name": "Fidži dollar"
+ },
+ "PHP": {
+ "name": "Filipiini peeso"
+ },
+ "GMD": {
+ "name": "Gambia dalasi"
+ },
+ "GHS": {
+ "name": "Ghana sedi"
+ },
+ "GIP": {
+ "name": "Gibraltari nael"
+ },
+ "GEL": {
+ "name": "Gruusia lari"
+ },
+ "GTQ": {
+ "name": "Guatemala ketsaal"
+ },
+ "GNF": {
+ "name": "Guinea frank"
+ },
+ "GYD": {
+ "name": "Guyana dollar"
+ },
+ "HTG": {
+ "name": "Haiti gurd"
+ },
+ "CNY": {
+ "name": "Hiina jüaan",
+ "symbol": "CN¥"
+ },
+ "ANG": {
+ "name": "Hollandi Antillide kulden"
+ },
+ "HNL": {
+ "name": "Hondurase lempiira"
+ },
+ "HKD": {
+ "name": "Hongkongi dollar",
+ "symbol": "HK$"
+ },
+ "HRK": {
+ "name": "Horvaatia kuna"
+ },
+ "XCD": {
+ "name": "Ida-Kariibi dollar",
+ "symbol": "EC$"
+ },
+ "ILS": {
+ "name": "Iisraeli uus seekel",
+ "symbol": "₪"
+ },
+ "INR": {
+ "name": "India ruupia",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indoneesia ruupia"
+ },
+ "IQD": {
+ "name": "Iraagi dinaar"
+ },
+ "IRR": {
+ "name": "Iraani riaal"
+ },
+ "ISK": {
+ "name": "Islandi kroon"
+ },
+ "JPY": {
+ "name": "Jaapani jeen",
+ "symbol": "¥"
+ },
+ "JMD": {
+ "name": "Jamaica dollar"
+ },
+ "YER": {
+ "name": "Jeemeni riaal"
+ },
+ "JOD": {
+ "name": "Jordaania dinaar"
+ },
+ "KYD": {
+ "name": "Kaimanisaarte dollar"
+ },
+ "KHR": {
+ "name": "Kambodža riaal"
+ },
+ "CAD": {
+ "name": "Kanada dollar",
+ "symbol": "CA$"
+ },
+ "KZT": {
+ "name": "Kasahstani tenge"
+ },
+ "QAR": {
+ "name": "Katari riaal"
+ },
+ "KES": {
+ "name": "Keenia šilling"
+ },
+ "XAF": {
+ "name": "Kesk-Aafrika CFA frank",
+ "symbol": "FCFA"
+ },
+ "KMF": {
+ "name": "Komoori frank"
+ },
+ "CDF": {
+ "name": "Kongo frank"
+ },
+ "CUC": {
+ "name": "Kuuba konverteeritav peeso"
+ },
+ "CUP": {
+ "name": "Kuuba peeso"
+ },
+ "KWD": {
+ "name": "Kuveidi dinaar"
+ },
+ "KGS": {
+ "name": "Kõrgõzstani somm"
+ },
+ "LAK": {
+ "name": "Laose kiip"
+ },
+ "LSL": {
+ "name": "Lesotho loti"
+ },
+ "LRD": {
+ "name": "Libeeria dollar"
+ },
+ "LBP": {
+ "name": "Liibanoni nael"
+ },
+ "LYD": {
+ "name": "Liibüa dinaar"
+ },
+ "ZAR": {
+ "name": "Lõuna-Aafrika rand"
+ },
+ "KRW": {
+ "name": "Lõuna-Korea vonn",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "Lõuna-Sudaani nael"
+ },
+ "XOF": {
+ "name": "Lääne-Aafrika CFA frank",
+ "symbol": "CFA"
+ },
+ "MOP": {
+ "name": "Macau pataaka"
+ },
+ "MGA": {
+ "name": "Madagaskari ariari"
+ },
+ "MKD": {
+ "name": "Makedoonia dinaar"
+ },
+ "MYR": {
+ "name": "Malaisia ringgit"
+ },
+ "MWK": {
+ "name": "Malawi kvatša"
+ },
+ "MVR": {
+ "name": "Maldiivi ruupia"
+ },
+ "MAD": {
+ "name": "Maroko dirhem"
+ },
+ "MRO": {
+ "name": "Mauritaania ugia"
+ },
+ "MUR": {
+ "name": "Mauritiuse ruupia"
+ },
+ "MXN": {
+ "name": "Mehhiko peeso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldova leu"
+ },
+ "MNT": {
+ "name": "Mongoolia tugrik"
+ },
+ "MZN": {
+ "name": "Mosambiigi metikal"
+ },
+ "MMK": {
+ "name": "Myanmari kjatt"
+ },
+ "NAD": {
+ "name": "Namiibia dollar"
+ },
+ "NPR": {
+ "name": "Nepali ruupia"
+ },
+ "NIO": {
+ "name": "Nicaragua kordoba"
+ },
+ "NGN": {
+ "name": "Nigeeria naira"
+ },
+ "NOK": {
+ "name": "Norra kroon"
+ },
+ "OMR": {
+ "name": "Omaani riaal"
+ },
+ "PGK": {
+ "name": "Paapua Uus-Guinea kina"
+ },
+ "PKR": {
+ "name": "Pakistani ruupia"
+ },
+ "PAB": {
+ "name": "Panama balboa"
+ },
+ "PYG": {
+ "name": "Paraguay guaranii"
+ },
+ "PEN": {
+ "name": "Peruu uus soll"
+ },
+ "PLN": {
+ "name": "Poola zlott"
+ },
+ "KPW": {
+ "name": "Põhja-Korea vonn"
+ },
+ "SEK": {
+ "name": "Rootsi kroon"
+ },
+ "RON": {
+ "name": "Rumeenia leu"
+ },
+ "RWF": {
+ "name": "Rwanda frank"
+ },
+ "SBD": {
+ "name": "Saalomoni Saarte dollar"
+ },
+ "SHP": {
+ "name": "Saint Helena nael"
+ },
+ "ZMW": {
+ "name": "Sambia kvatša"
+ },
+ "WST": {
+ "name": "Samoa taala"
+ },
+ "STD": {
+ "name": "São Tomé ja Príncipe dobra"
+ },
+ "SAR": {
+ "name": "Saudi Araabia riaal"
+ },
+ "SCR": {
+ "name": "Seišelli ruupia"
+ },
+ "RSD": {
+ "name": "Serbia dinaar"
+ },
+ "SLL": {
+ "name": "Sierra Leone leoone"
+ },
+ "SGD": {
+ "name": "Singapuri dollar"
+ },
+ "SOS": {
+ "name": "Somaalia šilling"
+ },
+ "LKR": {
+ "name": "Sri Lanka ruupia"
+ },
+ "SDG": {
+ "name": "Sudaani nael"
+ },
+ "SRD": {
+ "name": "Suriname dollar"
+ },
+ "GBP": {
+ "name": "Suurbritannia naelsterling",
+ "symbol": "£"
+ },
+ "SZL": {
+ "name": "Svaasimaa lilangeni"
+ },
+ "SYP": {
+ "name": "Süüria nael"
+ },
+ "CHF": {
+ "name": "Šveitsi frank"
+ },
+ "ZWL": {
+ "name": "Zimbabwe dollar (2009)"
+ },
+ "DKK": {
+ "name": "Taani kroon"
+ },
+ "TJS": {
+ "name": "Tadžikistani somoni"
+ },
+ "THB": {
+ "name": "Tai baat",
+ "symbol": "฿"
+ },
+ "TWD": {
+ "name": "Taiwani dollar",
+ "symbol": "NT$"
+ },
+ "TZS": {
+ "name": "Tansaania šilling"
+ },
+ "TOP": {
+ "name": "Tonga pa’anga"
+ },
+ "TTD": {
+ "name": "Trinidadi ja Tobago dollar"
+ },
+ "CZK": {
+ "name": "Tšehhi kroon"
+ },
+ "CLP": {
+ "name": "Tšiili peeso"
+ },
+ "TND": {
+ "name": "Tuneesia dinaar"
+ },
+ "TRY": {
+ "name": "Türgi liir"
+ },
+ "TMT": {
+ "name": "Türkmenistani manat"
+ },
+ "UGX": {
+ "name": "Uganda šilling"
+ },
+ "UAH": {
+ "name": "Ukraina grivna"
+ },
+ "HUF": {
+ "name": "Ungari forint"
+ },
+ "UYU": {
+ "name": "Uruguay peeso"
+ },
+ "USD": {
+ "name": "USA dollar",
+ "symbol": "$"
+ },
+ "UZS": {
+ "name": "Usbekistani somm"
+ },
+ "NZD": {
+ "name": "Uus-Meremaa dollar",
+ "symbol": "NZ$"
+ },
+ "BYN": {
+ "name": "Valgevene rubla"
+ },
+ "BYR": {
+ "name": "Valgevene rubla (2000–2016)"
+ },
+ "VUV": {
+ "name": "Vanuatu vatu"
+ },
+ "RUB": {
+ "name": "Venemaa rubla"
+ },
+ "VEF": {
+ "name": "Venezuela boliivar"
+ },
+ "VND": {
+ "name": "Vietnami dong",
+ "symbol": "₫"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/eu.json b/vendor/commerceguys/intl/resources/currency/eu.json
new file mode 100644
index 000000000..ccdcc834f
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/eu.json
@@ -0,0 +1,497 @@
+{
+ "USD": {
+ "name": "AEBko dolarra",
+ "symbol": "US$"
+ },
+ "AFN": {
+ "name": "Afganistango afghania"
+ },
+ "XAF": {
+ "name": "Afrika erdialdeko CFA frankoa",
+ "symbol": "FCFA"
+ },
+ "XOF": {
+ "name": "Afrika mendebaldeko CFA frankoa",
+ "symbol": "CFA"
+ },
+ "ALL": {
+ "name": "Albaniako leka"
+ },
+ "DZD": {
+ "name": "Aljeriako dinarra"
+ },
+ "AOA": {
+ "name": "Angolako kwanza"
+ },
+ "SAR": {
+ "name": "Arabia Saudiko riala"
+ },
+ "AED": {
+ "name": "Arabiar Emirerri Batuetako dirhama"
+ },
+ "ARS": {
+ "name": "Argentinako pesoa"
+ },
+ "AMD": {
+ "name": "Armeniako drama"
+ },
+ "AWG": {
+ "name": "Arubako florina"
+ },
+ "AUD": {
+ "name": "Australiako dolarra",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijango manata"
+ },
+ "BSD": {
+ "name": "Bahametako dolarra"
+ },
+ "BHD": {
+ "name": "Bahraingo dinarra"
+ },
+ "BDT": {
+ "name": "Bangladesheko taka"
+ },
+ "BBD": {
+ "name": "Barbadosetako dolarra"
+ },
+ "BZD": {
+ "name": "Belizeko dolarra"
+ },
+ "BMD": {
+ "name": "Bermudetako dolarra"
+ },
+ "BTN": {
+ "name": "Bhutango ngultruma"
+ },
+ "BYN": {
+ "name": "Bielorrusiako errubloa"
+ },
+ "BYR": {
+ "name": "Bielorrusiako errubloa (2000–2016)"
+ },
+ "BOB": {
+ "name": "Boliviako bolivianoa"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovinako marko trukakorra"
+ },
+ "BWP": {
+ "name": "Bosniako pula"
+ },
+ "BRL": {
+ "name": "Brasilgo erreala",
+ "symbol": "R$"
+ },
+ "BND": {
+ "name": "Bruneiko dolarra"
+ },
+ "BGN": {
+ "name": "Bulgariako leva"
+ },
+ "BIF": {
+ "name": "Burundiko frankoa"
+ },
+ "CVE": {
+ "name": "Cabo Verdeko ezkutua"
+ },
+ "XPF": {
+ "name": "CFP frankoa",
+ "symbol": "CFPF"
+ },
+ "CRC": {
+ "name": "Costa Ricako colona"
+ },
+ "DKK": {
+ "name": "Danimarkako koroa"
+ },
+ "DJF": {
+ "name": "Djibutiko frankoa"
+ },
+ "DOP": {
+ "name": "Dominikar Errepublikako pesoa"
+ },
+ "EGP": {
+ "name": "Egiptoko libera"
+ },
+ "ERN": {
+ "name": "Eritreako nakfa"
+ },
+ "RON": {
+ "name": "Errumaniako leua"
+ },
+ "RUB": {
+ "name": "Errusiako errubloa"
+ },
+ "ETB": {
+ "name": "Etiopiako birra"
+ },
+ "EUR": {
+ "name": "euroa",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland uharteetako libera"
+ },
+ "FJD": {
+ "name": "Fijiko dolarra"
+ },
+ "PHP": {
+ "name": "Filipinetako pesoa"
+ },
+ "GMD": {
+ "name": "Ganbiako dalasia"
+ },
+ "GEL": {
+ "name": "Georgiako laria"
+ },
+ "GHS": {
+ "name": "Ghanako cedia"
+ },
+ "GIP": {
+ "name": "Gibraltarreko libera"
+ },
+ "GNF": {
+ "name": "Gineako frankoa"
+ },
+ "GTQ": {
+ "name": "Guatemalako quetzala"
+ },
+ "GYD": {
+ "name": "Guyanako dolarra"
+ },
+ "HTG": {
+ "name": "Haitiko gourdea"
+ },
+ "KRW": {
+ "name": "Hego Koreako wona",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "Hego Sudango libera"
+ },
+ "ZAR": {
+ "name": "Hegoafrikako randa"
+ },
+ "ANG": {
+ "name": "Holandarren Antilletako guilderra"
+ },
+ "HNL": {
+ "name": "Hondurasko lempira"
+ },
+ "HKD": {
+ "name": "Hong Kongeko dolarra",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungariako florina"
+ },
+ "INR": {
+ "name": "Indiako errupia",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesiako errupia"
+ },
+ "KPW": {
+ "name": "Ipar Koreako wona"
+ },
+ "IQD": {
+ "name": "Irakeko dinarra"
+ },
+ "IRR": {
+ "name": "Irango riala"
+ },
+ "ISK": {
+ "name": "Islandiako koroa"
+ },
+ "ILS": {
+ "name": "Israelgo shekel berria",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaikako dolarra"
+ },
+ "JPY": {
+ "name": "Japoniako yena",
+ "symbol": "JP¥"
+ },
+ "JOD": {
+ "name": "Jordaniako dinarra"
+ },
+ "KYD": {
+ "name": "Kaiman uharteetako dolarra"
+ },
+ "CAD": {
+ "name": "Kanadako dolarra",
+ "symbol": "CA$"
+ },
+ "KHR": {
+ "name": "Kanbodiako riela"
+ },
+ "XCD": {
+ "name": "Karibe ekialdeko dolarra",
+ "symbol": "EC$"
+ },
+ "KZT": {
+ "name": "Kazakhstango tengea"
+ },
+ "KES": {
+ "name": "Kenyako txelina"
+ },
+ "KGS": {
+ "name": "Kirgizistango soma"
+ },
+ "COP": {
+ "name": "Kolonbiako pesoa"
+ },
+ "KMF": {
+ "name": "Komoreetako frankoa"
+ },
+ "CDF": {
+ "name": "Kongoko frankoa"
+ },
+ "HRK": {
+ "name": "Kroaziako kuna"
+ },
+ "CUC": {
+ "name": "Kubako peso trukakorra"
+ },
+ "CUP": {
+ "name": "Kubako pesoa"
+ },
+ "KWD": {
+ "name": "Kuwaiteko dinarra"
+ },
+ "LAK": {
+ "name": "Laoseko kipa"
+ },
+ "LSL": {
+ "name": "Lesothoko lotia"
+ },
+ "LBP": {
+ "name": "Libanoko libera"
+ },
+ "GBP": {
+ "name": "Libera esterlina",
+ "symbol": "£"
+ },
+ "LRD": {
+ "name": "Liberiako dolarra"
+ },
+ "LYD": {
+ "name": "Libiako dinarra"
+ },
+ "MOP": {
+ "name": "Macanako pataca"
+ },
+ "MGA": {
+ "name": "Madagaskarreko ariarya"
+ },
+ "MWK": {
+ "name": "Malawiko kwacha"
+ },
+ "MYR": {
+ "name": "Malaysiako ringgita"
+ },
+ "MVR": {
+ "name": "Maldivetako rufiyaa"
+ },
+ "MAD": {
+ "name": "Marokoko dirhama"
+ },
+ "MRO": {
+ "name": "Mauritaniako ouguiya"
+ },
+ "MUR": {
+ "name": "Maurizio uharteetako errupia"
+ },
+ "MKD": {
+ "name": "Mazedoniako dinarra"
+ },
+ "MXN": {
+ "name": "Mexikoko pesoa",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldaviako leua"
+ },
+ "MNT": {
+ "name": "Mongoliako tugrika"
+ },
+ "MZN": {
+ "name": "Mozambikeko metikala"
+ },
+ "MMK": {
+ "name": "Myanmarreko kyata"
+ },
+ "NAD": {
+ "name": "Namibiako dolarra"
+ },
+ "NPR": {
+ "name": "Nepalgo errupia"
+ },
+ "NGN": {
+ "name": "Nigeriako naira"
+ },
+ "NIO": {
+ "name": "Nikaraguako cordoba"
+ },
+ "NOK": {
+ "name": "Norvegiako koroa"
+ },
+ "OMR": {
+ "name": "Omango riala"
+ },
+ "PKR": {
+ "name": "Pakistango errupia"
+ },
+ "PAB": {
+ "name": "Panamako balboa"
+ },
+ "PGK": {
+ "name": "Papua Ginea Berriko kina"
+ },
+ "PYG": {
+ "name": "Paraguaiko guarania"
+ },
+ "PEN": {
+ "name": "Peruko sol berria"
+ },
+ "PLN": {
+ "name": "Poloniako zlotya"
+ },
+ "QAR": {
+ "name": "Qatarreko riala"
+ },
+ "RWF": {
+ "name": "Ruandako frankoa"
+ },
+ "SBD": {
+ "name": "Salomon uharteetako dolarra"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoko tala"
+ },
+ "SHP": {
+ "name": "Santa Helenako libera"
+ },
+ "STD": {
+ "name": "Sao Tomeko eta Principeko dobra"
+ },
+ "RSD": {
+ "name": "Serbiako dinarra"
+ },
+ "SCR": {
+ "name": "Seychelleetako errupia"
+ },
+ "SLL": {
+ "name": "Sierra Leonako leona"
+ },
+ "SGD": {
+ "name": "Singapurreko dolarra"
+ },
+ "SYP": {
+ "name": "Siriako libera"
+ },
+ "SOS": {
+ "name": "Somaliako txelina"
+ },
+ "LKR": {
+ "name": "Sri Lankako errupia"
+ },
+ "SDG": {
+ "name": "Sudango libera"
+ },
+ "SEK": {
+ "name": "Suediako koroa"
+ },
+ "CHF": {
+ "name": "Suitzako frankoa"
+ },
+ "SRD": {
+ "name": "Surinameko dolarra"
+ },
+ "SZL": {
+ "name": "Swazilandiako lilangenia"
+ },
+ "TWD": {
+ "name": "Taiwango dolar berria",
+ "symbol": "NT$"
+ },
+ "TJS": {
+ "name": "Tajikistango somonia"
+ },
+ "TZS": {
+ "name": "Tanzaniako txelina"
+ },
+ "THB": {
+ "name": "Thailandiako bahta",
+ "symbol": "฿"
+ },
+ "TOP": {
+ "name": "Tongako Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad eta Tobagoko dolarra"
+ },
+ "TND": {
+ "name": "Tunisiako dinarra"
+ },
+ "TRY": {
+ "name": "Turkiako lira"
+ },
+ "TMT": {
+ "name": "Turkmenistango manata"
+ },
+ "CZK": {
+ "name": "Txekiar Errepublikako koroa"
+ },
+ "CLP": {
+ "name": "Txileko pesoa"
+ },
+ "CNY": {
+ "name": "Txinako yuana",
+ "symbol": "CN¥"
+ },
+ "UGX": {
+ "name": "Ugandako txelina"
+ },
+ "UAH": {
+ "name": "Ukrainako hryvnia"
+ },
+ "UYU": {
+ "name": "Uruguaiko pesoa"
+ },
+ "UZS": {
+ "name": "Uzbekistango soma"
+ },
+ "VUV": {
+ "name": "Vanuatuko vatua"
+ },
+ "VEF": {
+ "name": "Venezuelako bolivarra"
+ },
+ "VND": {
+ "name": "Vietnameko donga",
+ "symbol": "₫"
+ },
+ "YER": {
+ "name": "Yemengo riala"
+ },
+ "ZMW": {
+ "name": "Zambiako kwacha"
+ },
+ "NZD": {
+ "name": "Zeelanda Berriko dolarra",
+ "symbol": "NZ$"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/ewo.json b/vendor/commerceguys/intl/resources/currency/ewo.json
new file mode 100644
index 000000000..9b356264f
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/ewo.json
@@ -0,0 +1,496 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "MGA": {
+ "name": "Ariari yá Maləgás"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Ruble"
+ },
+ "BYR": {
+ "name": "Belarusian Ruble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "ETB": {
+ "name": "Bír yá Etsiópia"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "GMD": {
+ "name": "Dalasí yá Gámbía"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DZD": {
+ "name": "Dinár yá Alehérí"
+ },
+ "BHD": {
+ "name": "Dinár yá Bahərɛ́n"
+ },
+ "LYD": {
+ "name": "Dinár yá Libí"
+ },
+ "TND": {
+ "name": "Dinár yá Tunisí"
+ },
+ "AED": {
+ "name": "Dirám yá Emirá Aráb Uní"
+ },
+ "MAD": {
+ "name": "Dirám yá Maróg"
+ },
+ "STD": {
+ "name": "Dóbə́ra yá Saó Tomé ai Pəlinəsípe"
+ },
+ "USD": {
+ "name": "Dolár yá amɛ́rəkə",
+ "symbol": "US$"
+ },
+ "CAD": {
+ "name": "Dolár yá Kanáda",
+ "symbol": "CA$"
+ },
+ "LRD": {
+ "name": "Dolár yá Libéria"
+ },
+ "NAD": {
+ "name": "Dolár yá Namibí"
+ },
+ "AUD": {
+ "name": "Dolár yá Osətəralí",
+ "symbol": "A$"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "CVE": {
+ "name": "Esəkúdo yá Kápə́vɛ́rə"
+ },
+ "EUR": {
+ "name": "əró",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "XOF": {
+ "name": "Fəláŋ CFA (BCEAO)",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Fəláŋ CFA (BEAC)",
+ "symbol": "FCFA"
+ },
+ "BIF": {
+ "name": "Fəláŋ yá Burundí"
+ },
+ "DJF": {
+ "name": "Fəláŋ yá dzibutí"
+ },
+ "KMF": {
+ "name": "Fəláŋ yá Komória"
+ },
+ "CDF": {
+ "name": "Fəláŋ yá Kongo"
+ },
+ "RWF": {
+ "name": "Fəláŋ yá Ruwandá"
+ },
+ "CHF": {
+ "name": "Fəláŋ yá Suís"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "AOA": {
+ "name": "Kwánəza yá Angolá"
+ },
+ "MWK": {
+ "name": "Kwatsa yá Malawí"
+ },
+ "ZMW": {
+ "name": "Kwatsa yá Zambí"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "SLL": {
+ "name": "Leóne yá Sierá-leónə"
+ },
+ "SZL": {
+ "name": "Lilangeni yá Swazí"
+ },
+ "GBP": {
+ "name": "Lívə́lə Sətərəlíŋ",
+ "symbol": "£"
+ },
+ "EGP": {
+ "name": "Lívə́lə yá Ehíbətía"
+ },
+ "SHP": {
+ "name": "Lívələ yá Ǹfúfúb Elɛ́n"
+ },
+ "SDG": {
+ "name": "Lívələ yá Sudán"
+ },
+ "LSL": {
+ "name": "Lotí yá Lesotó"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "ERN": {
+ "name": "Náfəka yá Eritelé"
+ },
+ "NGN": {
+ "name": "Náíra yá Nihéria"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "BWP": {
+ "name": "Púlá yá Botswána"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "ZAR": {
+ "name": "Ránədə yá Afiríka"
+ },
+ "SAR": {
+ "name": "Riál yá Arabí Saudí"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "INR": {
+ "name": "Rupí yá ɛ́ndía",
+ "symbol": "₹"
+ },
+ "MUR": {
+ "name": "Rupí yá Morís"
+ },
+ "SCR": {
+ "name": "Rupí yá Sɛsɛ́l"
+ },
+ "RUB": {
+ "name": "Russian Ruble"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "KES": {
+ "name": "Silíŋ yá Keniá"
+ },
+ "SOS": {
+ "name": "Silíŋ yá Somalí"
+ },
+ "TZS": {
+ "name": "Silíŋ yá Tanazaní"
+ },
+ "UGX": {
+ "name": "Silíŋ yá Ugandá (1966–1987)"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "MRO": {
+ "name": "Ugiya yá Moritaní"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "JPY": {
+ "name": "Yɛ́n yá Hapɔ́n",
+ "symbol": "JP¥"
+ },
+ "CNY": {
+ "name": "Yuán Renəminəbí yá Tsainís",
+ "symbol": "CN¥"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/fa-AF.json b/vendor/commerceguys/intl/resources/currency/fa-AF.json
new file mode 100644
index 000000000..7e8dee1d7
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/fa-AF.json
@@ -0,0 +1,499 @@
+{
+ "MGA": {
+ "name": "آریاری مالاگاسی"
+ },
+ "CVE": {
+ "name": "اسکودوی کیپ‌ورد"
+ },
+ "AFN": {
+ "name": "افغانی افغانستان",
+ "symbol": "؋"
+ },
+ "BTN": {
+ "name": "انگولتروم بوتان"
+ },
+ "MRO": {
+ "name": "اوگوئیای موریتانی"
+ },
+ "THB": {
+ "name": "بات تایلند",
+ "symbol": "฿"
+ },
+ "PAB": {
+ "name": "بالبوای پاناما"
+ },
+ "VEF": {
+ "name": "بولیوار ونزوئلا"
+ },
+ "BOB": {
+ "name": "بولیویانوی بولیوی"
+ },
+ "ETB": {
+ "name": "بیر اتیوپی"
+ },
+ "TOP": {
+ "name": "پاآنگای تونگا"
+ },
+ "MOP": {
+ "name": "پاتاکای ماکائو"
+ },
+ "ARS": {
+ "name": "پزوی آرژانتین"
+ },
+ "UYU": {
+ "name": "پزوی اوروگوئه"
+ },
+ "CUC": {
+ "name": "پزوی تبدیل‌پذیر کوبا"
+ },
+ "DOP": {
+ "name": "پزوی جمهوری دومینیکن"
+ },
+ "CLP": {
+ "name": "پزوی شیلی"
+ },
+ "PHP": {
+ "name": "پزوی فیلیپین"
+ },
+ "COP": {
+ "name": "پزوی کلمبیا"
+ },
+ "CUP": {
+ "name": "پزوی کوبا"
+ },
+ "MXN": {
+ "name": "پزوی مکسیکو",
+ "symbol": "$MX"
+ },
+ "BWP": {
+ "name": "پولای بوتسوانا"
+ },
+ "GBP": {
+ "name": "پوند بریتانیا",
+ "symbol": "£"
+ },
+ "GIP": {
+ "name": "پوند جبل‌الطارق"
+ },
+ "FKP": {
+ "name": "پوند جزایر فالکلند"
+ },
+ "SHP": {
+ "name": "پوند سنت هلن"
+ },
+ "SSP": {
+ "name": "پوند سودان جنوبی"
+ },
+ "BDT": {
+ "name": "تاکای بنگلادش"
+ },
+ "WST": {
+ "name": "تالای ساموا"
+ },
+ "KZT": {
+ "name": "تنگهٔ قزاقستان"
+ },
+ "MNT": {
+ "name": "توگریک مغولستان"
+ },
+ "GMD": {
+ "name": "دالاسی گامبیا"
+ },
+ "AUD": {
+ "name": "دالر آسترالیا",
+ "symbol": "A$"
+ },
+ "USD": {
+ "name": "دالر امریکا",
+ "symbol": "$"
+ },
+ "BND": {
+ "name": "دالر برونی"
+ },
+ "SGD": {
+ "name": "دالر سینگاپور"
+ },
+ "CAD": {
+ "name": "دالر کانادا",
+ "symbol": "$CA"
+ },
+ "VND": {
+ "name": "دانگ ویتنام",
+ "symbol": "₫"
+ },
+ "AMD": {
+ "name": "درام ارمنستان"
+ },
+ "AED": {
+ "name": "درهم امارات متحدهٔ عربی"
+ },
+ "MAD": {
+ "name": "درهم مراکش"
+ },
+ "BBD": {
+ "name": "دلار باربادوس"
+ },
+ "BSD": {
+ "name": "دلار باهاما"
+ },
+ "BMD": {
+ "name": "دلار برمودا"
+ },
+ "BZD": {
+ "name": "دلار بلیز"
+ },
+ "TTD": {
+ "name": "دلار ترینیداد و توباگو"
+ },
+ "JMD": {
+ "name": "دلار جامائیکا"
+ },
+ "TWD": {
+ "name": "دلار جدید تایوان",
+ "symbol": "NT$"
+ },
+ "SBD": {
+ "name": "دلار جزایر سلیمان"
+ },
+ "KYD": {
+ "name": "دلار جزایر کِیمن"
+ },
+ "NZD": {
+ "name": "دلار زلاند نو",
+ "symbol": "$NZ"
+ },
+ "ZWL": {
+ "name": "دلار زیمبابوه (۲۰۰۹)"
+ },
+ "SRD": {
+ "name": "دلار سورینام"
+ },
+ "XCD": {
+ "name": "دلار شرق کارائیب",
+ "symbol": "$EC"
+ },
+ "FJD": {
+ "name": "دلار فیجی"
+ },
+ "GYD": {
+ "name": "دلار گویانا"
+ },
+ "LRD": {
+ "name": "دلار لیبریا"
+ },
+ "NAD": {
+ "name": "دلار نامیبیا"
+ },
+ "HKD": {
+ "name": "دلار هنگ‌کنگ",
+ "symbol": "$HK"
+ },
+ "STD": {
+ "name": "دوبرای سائوتومه و پرنسیپ"
+ },
+ "JOD": {
+ "name": "دینار اردن"
+ },
+ "DZD": {
+ "name": "دینار الجزایر"
+ },
+ "BHD": {
+ "name": "دینار بحرین"
+ },
+ "TND": {
+ "name": "دینار تونس"
+ },
+ "RSD": {
+ "name": "دینار صربستان"
+ },
+ "IQD": {
+ "name": "دینار عراق"
+ },
+ "KWD": {
+ "name": "دینار کویت"
+ },
+ "LYD": {
+ "name": "دینار لیبی"
+ },
+ "MKD": {
+ "name": "دینار مقدونیه"
+ },
+ "ZAR": {
+ "name": "راند افریقای جنوبی"
+ },
+ "RUB": {
+ "name": "روبل روسیه"
+ },
+ "BYN": {
+ "name": "روبل روسیهٔ سفید"
+ },
+ "BYR": {
+ "name": "روبل روسیهٔ سفید (۲۰۰۰–۲۰۱۶)"
+ },
+ "IDR": {
+ "name": "روپیهٔ اندونزی"
+ },
+ "PKR": {
+ "name": "روپیهٔ پاکستان"
+ },
+ "LKR": {
+ "name": "روپیهٔ سری‌لانکا"
+ },
+ "SCR": {
+ "name": "روپیهٔ سیشل"
+ },
+ "MVR": {
+ "name": "روپیهٔ مالدیو"
+ },
+ "MUR": {
+ "name": "روپیهٔ موریس"
+ },
+ "NPR": {
+ "name": "روپیهٔ نپال"
+ },
+ "INR": {
+ "name": "روپیهٔ هند",
+ "symbol": "₹"
+ },
+ "KHR": {
+ "name": "ری‌یل کامبوج"
+ },
+ "IRR": {
+ "name": "ریال ایران",
+ "symbol": "ریال"
+ },
+ "BRL": {
+ "name": "رئال برزیل",
+ "symbol": "R$"
+ },
+ "SAR": {
+ "name": "ریال سعودی"
+ },
+ "OMR": {
+ "name": "ریال عمان"
+ },
+ "QAR": {
+ "name": "ریال قطر"
+ },
+ "YER": {
+ "name": "ریال یمن"
+ },
+ "MYR": {
+ "name": "رینگیت مالزی"
+ },
+ "PLN": {
+ "name": "زواتی لهستان"
+ },
+ "TJS": {
+ "name": "سامانی تاجکستان"
+ },
+ "GHS": {
+ "name": "سدی غنا"
+ },
+ "UZS": {
+ "name": "سوم ازبکستان"
+ },
+ "KGS": {
+ "name": "سوم قرقیزستان"
+ },
+ "ILS": {
+ "name": "شقل جدید اسرائیل",
+ "symbol": "₪"
+ },
+ "UGX": {
+ "name": "شیلینگ اوگاندا"
+ },
+ "TZS": {
+ "name": "شیلینگ تانزانیا"
+ },
+ "SOS": {
+ "name": "شیلینگ سومالی"
+ },
+ "KES": {
+ "name": "شیلینگ کنیا"
+ },
+ "XPF": {
+ "name": "فرانک اقیانوسیه",
+ "symbol": "CFPF"
+ },
+ "BIF": {
+ "name": "فرانک بوروندی"
+ },
+ "DJF": {
+ "name": "فرانک جیبوتی"
+ },
+ "RWF": {
+ "name": "فرانک رواندا"
+ },
+ "CHF": {
+ "name": "فرانک سویس"
+ },
+ "CDF": {
+ "name": "فرانک کنگو"
+ },
+ "KMF": {
+ "name": "فرانک کومورو"
+ },
+ "GNF": {
+ "name": "فرانک گینه"
+ },
+ "XOF": {
+ "name": "فرانک CFA غرب افریقا",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "فرانک CFA مرکز افریقا",
+ "symbol": "FCFA"
+ },
+ "AWG": {
+ "name": "فلورین آروبا"
+ },
+ "HUF": {
+ "name": "فورینت مجارستان"
+ },
+ "GTQ": {
+ "name": "کتزال گواتمالا"
+ },
+ "DKK": {
+ "name": "کرون دنمارک"
+ },
+ "SEK": {
+ "name": "کرون سویدن"
+ },
+ "NOK": {
+ "name": "کرون ناروی"
+ },
+ "ISK": {
+ "name": "کرونای ایسلند"
+ },
+ "ZMW": {
+ "name": "کواچای زامبیا"
+ },
+ "MWK": {
+ "name": "کواچای مالاوی"
+ },
+ "AOA": {
+ "name": "کوانزای آنگولا"
+ },
+ "NIO": {
+ "name": "کوردوبای نیکاراگوئه"
+ },
+ "CZK": {
+ "name": "کورونای جمهوری چک"
+ },
+ "CRC": {
+ "name": "کولون کاستاریکا"
+ },
+ "HRK": {
+ "name": "کونای کرواسی"
+ },
+ "MMK": {
+ "name": "کیات میانمار"
+ },
+ "LAK": {
+ "name": "کیپ لائوس"
+ },
+ "PGK": {
+ "name": "کینای پاپوا گینهٔ نو"
+ },
+ "PYG": {
+ "name": "گوارانی پاراگوئه"
+ },
+ "HTG": {
+ "name": "گورد هائیتی"
+ },
+ "ANG": {
+ "name": "گیلدر آنتیل هلند"
+ },
+ "GEL": {
+ "name": "لاری گرجستان"
+ },
+ "BGN": {
+ "name": "لف بلغارستان"
+ },
+ "ALL": {
+ "name": "لک آلبانی"
+ },
+ "HNL": {
+ "name": "لمپیرای هندوراس"
+ },
+ "LSL": {
+ "name": "لوتی لسوتو"
+ },
+ "TRY": {
+ "name": "لیرهٔ ترکیه"
+ },
+ "SDG": {
+ "name": "لیرهٔ سودان"
+ },
+ "SYP": {
+ "name": "لیرهٔ سوریه"
+ },
+ "LBP": {
+ "name": "لیرهٔ لبنان"
+ },
+ "EGP": {
+ "name": "لیرهٔ مصر"
+ },
+ "SZL": {
+ "name": "لیلانگنی سوازیلند"
+ },
+ "SLL": {
+ "name": "لئون سیرالئون"
+ },
+ "RON": {
+ "name": "لئوی رومانی"
+ },
+ "MDL": {
+ "name": "لئوی مولداوی"
+ },
+ "BAM": {
+ "name": "مارک تبدیل‌پذیر بوسنی و هرزگوین"
+ },
+ "MZN": {
+ "name": "متیکال موزامبیک"
+ },
+ "TMT": {
+ "name": "منات ترکمنستان"
+ },
+ "AZN": {
+ "name": "منات جمهوری آذربایجان"
+ },
+ "ERN": {
+ "name": "ناکفای اریتره"
+ },
+ "NGN": {
+ "name": "نایرای نیجریه"
+ },
+ "PEN": {
+ "name": "نوئووسول پرو"
+ },
+ "UAH": {
+ "name": "هریونیای اوکراین"
+ },
+ "VUV": {
+ "name": "واتوی وانوواتو"
+ },
+ "KRW": {
+ "name": "وون کرهٔ جنوبی",
+ "symbol": "₩"
+ },
+ "KPW": {
+ "name": "وون کرهٔ شمالی"
+ },
+ "JPY": {
+ "name": "ین جاپان",
+ "symbol": "¥"
+ },
+ "CNY": {
+ "name": "یوآن چین",
+ "symbol": "¥CN"
+ },
+ "EUR": {
+ "name": "یورو",
+ "symbol": "€"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/fa.json b/vendor/commerceguys/intl/resources/currency/fa.json
new file mode 100644
index 000000000..b43afbc65
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/fa.json
@@ -0,0 +1,499 @@
+{
+ "MGA": {
+ "name": "آریاری مالاگاسی"
+ },
+ "CVE": {
+ "name": "اسکودوی کیپ‌ورد"
+ },
+ "AFN": {
+ "name": "افغانی افغانستان",
+ "symbol": "؋"
+ },
+ "BTN": {
+ "name": "انگولتروم بوتان"
+ },
+ "MRO": {
+ "name": "اوگوئیای موریتانی"
+ },
+ "THB": {
+ "name": "بات تایلند",
+ "symbol": "฿"
+ },
+ "PAB": {
+ "name": "بالبوای پاناما"
+ },
+ "VEF": {
+ "name": "بولیوار ونزوئلا"
+ },
+ "BOB": {
+ "name": "بولیویانوی بولیوی"
+ },
+ "ETB": {
+ "name": "بیر اتیوپی"
+ },
+ "TOP": {
+ "name": "پاآنگای تونگا"
+ },
+ "MOP": {
+ "name": "پاتاکای ماکائو"
+ },
+ "ARS": {
+ "name": "پزوی آرژانتین"
+ },
+ "UYU": {
+ "name": "پزوی اوروگوئه"
+ },
+ "CUC": {
+ "name": "پزوی تبدیل‌پذیر کوبا"
+ },
+ "DOP": {
+ "name": "پزوی جمهوری دومینیکن"
+ },
+ "CLP": {
+ "name": "پزوی شیلی"
+ },
+ "PHP": {
+ "name": "پزوی فیلیپین"
+ },
+ "COP": {
+ "name": "پزوی کلمبیا"
+ },
+ "CUP": {
+ "name": "پزوی کوبا"
+ },
+ "MXN": {
+ "name": "پزوی مکزیک",
+ "symbol": "$MX"
+ },
+ "BWP": {
+ "name": "پولای بوتسوانا"
+ },
+ "GBP": {
+ "name": "پوند بریتانیا",
+ "symbol": "£"
+ },
+ "GIP": {
+ "name": "پوند جبل‌الطارق"
+ },
+ "FKP": {
+ "name": "پوند جزایر فالکلند"
+ },
+ "SHP": {
+ "name": "پوند سنت هلن"
+ },
+ "SSP": {
+ "name": "پوند سودان جنوبی"
+ },
+ "BDT": {
+ "name": "تاکای بنگلادش"
+ },
+ "WST": {
+ "name": "تالای ساموا"
+ },
+ "KZT": {
+ "name": "تنگهٔ قزاقستان"
+ },
+ "MNT": {
+ "name": "توگریک مغولستان"
+ },
+ "GMD": {
+ "name": "دالاسی گامبیا"
+ },
+ "VND": {
+ "name": "دانگ ویتنام",
+ "symbol": "₫"
+ },
+ "AMD": {
+ "name": "درام ارمنستان"
+ },
+ "AED": {
+ "name": "درهم امارات متحدهٔ عربی"
+ },
+ "MAD": {
+ "name": "درهم مراکش"
+ },
+ "AUD": {
+ "name": "دلار استرالیا",
+ "symbol": "A$"
+ },
+ "USD": {
+ "name": "دلار امریکا",
+ "symbol": "$"
+ },
+ "BBD": {
+ "name": "دلار باربادوس"
+ },
+ "BSD": {
+ "name": "دلار باهاما"
+ },
+ "BMD": {
+ "name": "دلار برمودا"
+ },
+ "BND": {
+ "name": "دلار برونئی"
+ },
+ "BZD": {
+ "name": "دلار بلیز"
+ },
+ "TTD": {
+ "name": "دلار ترینیداد و توباگو"
+ },
+ "JMD": {
+ "name": "دلار جامائیکا"
+ },
+ "TWD": {
+ "name": "دلار جدید تایوان",
+ "symbol": "NT$"
+ },
+ "SBD": {
+ "name": "دلار جزایر سلیمان"
+ },
+ "KYD": {
+ "name": "دلار جزایر کِیمن"
+ },
+ "NZD": {
+ "name": "دلار زلاند نو",
+ "symbol": "$NZ"
+ },
+ "ZWL": {
+ "name": "دلار زیمبابوه (۲۰۰۹)"
+ },
+ "SGD": {
+ "name": "دلار سنگاپور"
+ },
+ "SRD": {
+ "name": "دلار سورینام"
+ },
+ "XCD": {
+ "name": "دلار شرق کارائیب",
+ "symbol": "$EC"
+ },
+ "FJD": {
+ "name": "دلار فیجی"
+ },
+ "CAD": {
+ "name": "دلار کانادا",
+ "symbol": "$CA"
+ },
+ "GYD": {
+ "name": "دلار گویانا"
+ },
+ "LRD": {
+ "name": "دلار لیبریا"
+ },
+ "NAD": {
+ "name": "دلار نامیبیا"
+ },
+ "HKD": {
+ "name": "دلار هنگ‌کنگ",
+ "symbol": "$HK"
+ },
+ "STD": {
+ "name": "دوبرای سائوتومه و پرنسیپ"
+ },
+ "JOD": {
+ "name": "دینار اردن"
+ },
+ "DZD": {
+ "name": "دینار الجزایر"
+ },
+ "BHD": {
+ "name": "دینار بحرین"
+ },
+ "TND": {
+ "name": "دینار تونس"
+ },
+ "RSD": {
+ "name": "دینار صربستان"
+ },
+ "IQD": {
+ "name": "دینار عراق"
+ },
+ "KWD": {
+ "name": "دینار کویت"
+ },
+ "LYD": {
+ "name": "دینار لیبی"
+ },
+ "MKD": {
+ "name": "دینار مقدونیه"
+ },
+ "ZAR": {
+ "name": "راند افریقای جنوبی"
+ },
+ "BRL": {
+ "name": "رئال برزیل",
+ "symbol": "R$"
+ },
+ "BYN": {
+ "name": "روبل بیلوروسی"
+ },
+ "BYR": {
+ "name": "روبل بیلوروسی (۲۰۰۰–۲۰۱۶)"
+ },
+ "RUB": {
+ "name": "روبل روسیه"
+ },
+ "IDR": {
+ "name": "روپیهٔ اندونزی"
+ },
+ "PKR": {
+ "name": "روپیهٔ پاکستان"
+ },
+ "LKR": {
+ "name": "روپیهٔ سری‌لانکا"
+ },
+ "SCR": {
+ "name": "روپیهٔ سیشل"
+ },
+ "MVR": {
+ "name": "روپیهٔ مالدیو"
+ },
+ "MUR": {
+ "name": "روپیهٔ موریس"
+ },
+ "NPR": {
+ "name": "روپیهٔ نپال"
+ },
+ "INR": {
+ "name": "روپیهٔ هند",
+ "symbol": "₹"
+ },
+ "IRR": {
+ "name": "ریال ایران",
+ "symbol": "ریال"
+ },
+ "SAR": {
+ "name": "ریال سعودی"
+ },
+ "OMR": {
+ "name": "ریال عمان"
+ },
+ "QAR": {
+ "name": "ریال قطر"
+ },
+ "YER": {
+ "name": "ریال یمن"
+ },
+ "MYR": {
+ "name": "رینگیت مالزی"
+ },
+ "KHR": {
+ "name": "ری‌یل کامبوج"
+ },
+ "PLN": {
+ "name": "زواتی لهستان"
+ },
+ "TJS": {
+ "name": "سامانی تاجیکستان"
+ },
+ "GHS": {
+ "name": "سدی غنا"
+ },
+ "UZS": {
+ "name": "سوم ازبکستان"
+ },
+ "KGS": {
+ "name": "سوم قرقیزستان"
+ },
+ "ILS": {
+ "name": "شقل جدید اسرائیل",
+ "symbol": "₪"
+ },
+ "UGX": {
+ "name": "شیلینگ اوگاندا"
+ },
+ "TZS": {
+ "name": "شیلینگ تانزانیا"
+ },
+ "SOS": {
+ "name": "شیلینگ سومالی"
+ },
+ "KES": {
+ "name": "شیلینگ کنیا"
+ },
+ "XPF": {
+ "name": "فرانک اقیانوسیه",
+ "symbol": "CFPF"
+ },
+ "BIF": {
+ "name": "فرانک بوروندی"
+ },
+ "DJF": {
+ "name": "فرانک جیبوتی"
+ },
+ "RWF": {
+ "name": "فرانک رواندا"
+ },
+ "CHF": {
+ "name": "فرانک سوئیس"
+ },
+ "CDF": {
+ "name": "فرانک کنگو"
+ },
+ "KMF": {
+ "name": "فرانک کومورو"
+ },
+ "GNF": {
+ "name": "فرانک گینه"
+ },
+ "XOF": {
+ "name": "فرانک CFA غرب افریقا",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "فرانک CFA مرکز افریقا",
+ "symbol": "FCFA"
+ },
+ "AWG": {
+ "name": "فلورین آروبا"
+ },
+ "HUF": {
+ "name": "فورینت مجارستان"
+ },
+ "GTQ": {
+ "name": "کتزال گواتمالا"
+ },
+ "DKK": {
+ "name": "کرون دانمارک"
+ },
+ "SEK": {
+ "name": "کرون سوئد"
+ },
+ "NOK": {
+ "name": "کرون نروژ"
+ },
+ "ISK": {
+ "name": "کرونای ایسلند"
+ },
+ "ZMW": {
+ "name": "کواچای زامبیا"
+ },
+ "MWK": {
+ "name": "کواچای مالاوی"
+ },
+ "AOA": {
+ "name": "کوانزای آنگولا"
+ },
+ "NIO": {
+ "name": "کوردوبای نیکاراگوئه"
+ },
+ "CZK": {
+ "name": "کورونای جمهوری چک"
+ },
+ "CRC": {
+ "name": "کولون کاستاریکا"
+ },
+ "HRK": {
+ "name": "کونای کرواسی"
+ },
+ "MMK": {
+ "name": "کیات میانمار"
+ },
+ "LAK": {
+ "name": "کیپ لائوس"
+ },
+ "PGK": {
+ "name": "کینای پاپوا گینهٔ نو"
+ },
+ "PYG": {
+ "name": "گوارانی پاراگوئه"
+ },
+ "HTG": {
+ "name": "گورد هائیتی"
+ },
+ "ANG": {
+ "name": "گیلدر آنتیل هلند"
+ },
+ "GEL": {
+ "name": "لاری گرجستان"
+ },
+ "SLL": {
+ "name": "لئون سیرالئون"
+ },
+ "RON": {
+ "name": "لئوی رومانی"
+ },
+ "MDL": {
+ "name": "لئوی مولداوی"
+ },
+ "BGN": {
+ "name": "لف بلغارستان"
+ },
+ "ALL": {
+ "name": "لک آلبانی"
+ },
+ "HNL": {
+ "name": "لمپیرای هندوراس"
+ },
+ "LSL": {
+ "name": "لوتی لسوتو"
+ },
+ "TRY": {
+ "name": "لیرهٔ ترکیه"
+ },
+ "SDG": {
+ "name": "لیرهٔ سودان"
+ },
+ "SYP": {
+ "name": "لیرهٔ سوریه"
+ },
+ "LBP": {
+ "name": "لیرهٔ لبنان"
+ },
+ "EGP": {
+ "name": "لیرهٔ مصر"
+ },
+ "SZL": {
+ "name": "لیلانگنی سوازیلند"
+ },
+ "BAM": {
+ "name": "مارک تبدیل‌پذیر بوسنی و هرزگوین"
+ },
+ "MZN": {
+ "name": "متیکال موزامبیک"
+ },
+ "TMT": {
+ "name": "منات ترکمنستان"
+ },
+ "AZN": {
+ "name": "منات جمهوری آذربایجان"
+ },
+ "ERN": {
+ "name": "ناکفای اریتره"
+ },
+ "NGN": {
+ "name": "نایرای نیجریه"
+ },
+ "PEN": {
+ "name": "نوئووسول پرو"
+ },
+ "VUV": {
+ "name": "واتوی وانوواتو"
+ },
+ "KRW": {
+ "name": "وون کرهٔ جنوبی",
+ "symbol": "₩"
+ },
+ "KPW": {
+ "name": "وون کرهٔ شمالی"
+ },
+ "UAH": {
+ "name": "هریونیای اوکراین"
+ },
+ "JPY": {
+ "name": "ین ژاپن",
+ "symbol": "¥"
+ },
+ "CNY": {
+ "name": "یوآن چین",
+ "symbol": "¥CN"
+ },
+ "EUR": {
+ "name": "یورو",
+ "symbol": "€"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/ff.json b/vendor/commerceguys/intl/resources/currency/ff.json
new file mode 100644
index 000000000..b35af4b3d
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/ff.json
@@ -0,0 +1,496 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "MGA": {
+ "name": "Ariyari Madagaskaar"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Ruble"
+ },
+ "BYR": {
+ "name": "Belarusian Ruble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "ETB": {
+ "name": "Biir Ecoppi"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "GMD": {
+ "name": "Dalasi Gammbi"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DZD": {
+ "name": "Dinaar Alaseri"
+ },
+ "BHD": {
+ "name": "Dinaar Bahrayn"
+ },
+ "LYD": {
+ "name": "Dinaar Libi"
+ },
+ "TND": {
+ "name": "Dinaar Tunisii"
+ },
+ "MAD": {
+ "name": "Diraham Maruk"
+ },
+ "AED": {
+ "name": "Dirham Emiraati Araab Dentuɗi"
+ },
+ "STD": {
+ "name": "Dobra Sawo Tome e Prensipe"
+ },
+ "USD": {
+ "name": "Dolaar Dowlaaji Dentuɗi",
+ "symbol": "US$"
+ },
+ "CAD": {
+ "name": "Dolaar Kandaaa",
+ "symbol": "CA$"
+ },
+ "LRD": {
+ "name": "Dolaar Liberiyaa"
+ },
+ "NAD": {
+ "name": "Dolaar Namibii"
+ },
+ "AUD": {
+ "name": "Dolaar Ostaraalii",
+ "symbol": "A$"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "CVE": {
+ "name": "Eskudoo Kap Weer"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "DJF": {
+ "name": "Faraa Jibutii"
+ },
+ "KMF": {
+ "name": "Faraa Komoor"
+ },
+ "CDF": {
+ "name": "Faraa Konngo"
+ },
+ "RWF": {
+ "name": "Faraa Ruwanndaa"
+ },
+ "CHF": {
+ "name": "Faraa Suwiis"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "MWK": {
+ "name": "Kuwacca Malaawi"
+ },
+ "ZMW": {
+ "name": "Kuwacca Sammbi"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "AOA": {
+ "name": "Kwansaa Anngolaa"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "SLL": {
+ "name": "Lewoon Seraa Liyon"
+ },
+ "EGP": {
+ "name": "Liibar Ejipt"
+ },
+ "SHP": {
+ "name": "Liibar Sent Helen"
+ },
+ "GBP": {
+ "name": "Liibar Sterling",
+ "symbol": "£"
+ },
+ "SDG": {
+ "name": "Liibar Sudaan"
+ },
+ "SZL": {
+ "name": "Lilangeni Swaasilannda"
+ },
+ "LSL": {
+ "name": "Loti Lesotoo"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "XAF": {
+ "name": "Mbuuɗi Seefaa BEAC",
+ "symbol": "FCFA"
+ },
+ "BIF": {
+ "name": "Mbuuɗu Burunndi"
+ },
+ "XOF": {
+ "name": "Mbuuɗu Seefaa BCEAO",
+ "symbol": "CFA"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "ERN": {
+ "name": "Nafka Eriteree"
+ },
+ "NGN": {
+ "name": "Nayraa Nijeriyaa"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "EUR": {
+ "name": "Oroo",
+ "symbol": "€"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "BWP": {
+ "name": "Pulaa Botwanaa"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "ZAR": {
+ "name": "Rannda Afrik Bŋ Worgo"
+ },
+ "SAR": {
+ "name": "Riyaal Arabi Sawdit"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "INR": {
+ "name": "Rupii Enndo",
+ "symbol": "₹"
+ },
+ "MUR": {
+ "name": "Rupii Moriis"
+ },
+ "SCR": {
+ "name": "Rupii Seysel"
+ },
+ "RUB": {
+ "name": "Russian Ruble"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "KES": {
+ "name": "Siling Keñaa"
+ },
+ "SOS": {
+ "name": "Siling Soomali"
+ },
+ "TZS": {
+ "name": "Siling Tansanii"
+ },
+ "UGX": {
+ "name": "Siling Uganndaa"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "MRO": {
+ "name": "Ugiyya Muritani"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "JPY": {
+ "name": "Yen Sapoo",
+ "symbol": "JP¥"
+ },
+ "CNY": {
+ "name": "Yuam Siin",
+ "symbol": "CN¥"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/fi.json b/vendor/commerceguys/intl/resources/currency/fi.json
new file mode 100644
index 000000000..6d78d9419
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/fi.json
@@ -0,0 +1,482 @@
+{
+ "AFN": {
+ "name": "Afganistanin afgaani"
+ },
+ "ANG": {
+ "name": "Alankomaiden Antillien guldeni"
+ },
+ "ALL": {
+ "name": "Albanian lek"
+ },
+ "DZD": {
+ "name": "Algerian dinaari"
+ },
+ "AOA": {
+ "name": "Angolan kwanza"
+ },
+ "AED": {
+ "name": "Arabiemiirikuntien dirhami"
+ },
+ "ARS": {
+ "name": "Argentiinan peso"
+ },
+ "AMD": {
+ "name": "Armenian dram"
+ },
+ "AWG": {
+ "name": "Aruban floriini"
+ },
+ "AUD": {
+ "name": "Australian dollari"
+ },
+ "AZN": {
+ "name": "Azerbaidžanin manat"
+ },
+ "BSD": {
+ "name": "Bahaman dollari"
+ },
+ "BHD": {
+ "name": "Bahrainin dinaari"
+ },
+ "BDT": {
+ "name": "Bangladeshin taka"
+ },
+ "BBD": {
+ "name": "Barbadosin dollari"
+ },
+ "BZD": {
+ "name": "Belizen dollari"
+ },
+ "BMD": {
+ "name": "Bermudan dollari"
+ },
+ "BTN": {
+ "name": "Bhutanin ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Hertsegovinan vaihdettava markka"
+ },
+ "BWP": {
+ "name": "Botswanan pula"
+ },
+ "BRL": {
+ "name": "Brasilian real"
+ },
+ "BND": {
+ "name": "Brunein dollari"
+ },
+ "BGN": {
+ "name": "Bulgarian lev"
+ },
+ "BIF": {
+ "name": "Burundin frangi"
+ },
+ "KYD": {
+ "name": "Caymansaarten dollari"
+ },
+ "XOF": {
+ "name": "CFA-frangi BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "CFA-frangi BEAC",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP-frangi"
+ },
+ "CLP": {
+ "name": "Chilen peso"
+ },
+ "CRC": {
+ "name": "Costa Rican colon"
+ },
+ "DJF": {
+ "name": "Djiboutin frangi"
+ },
+ "DOP": {
+ "name": "Dominikaanisen tasavallan peso"
+ },
+ "EGP": {
+ "name": "Egyptin punta"
+ },
+ "SVC": {
+ "name": "El Salvadorin colon"
+ },
+ "GBP": {
+ "name": "Englannin punta",
+ "symbol": "£"
+ },
+ "ERN": {
+ "name": "Eritrean nakfa"
+ },
+ "ZAR": {
+ "name": "Etelä-Afrikan randi"
+ },
+ "KRW": {
+ "name": "Etelä-Korean won"
+ },
+ "SSP": {
+ "name": "Etelä-Sudanin punta"
+ },
+ "ETB": {
+ "name": "Etiopian birr"
+ },
+ "EUR": {
+ "name": "euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falklandinsaarten punta"
+ },
+ "FJD": {
+ "name": "Fidžin dollari"
+ },
+ "PHP": {
+ "name": "Filippiinien peso"
+ },
+ "GMD": {
+ "name": "Gambian dalasi"
+ },
+ "GEL": {
+ "name": "Georgian lari"
+ },
+ "GHS": {
+ "name": "Ghanan cedi"
+ },
+ "GIP": {
+ "name": "Gibraltarin punta"
+ },
+ "GTQ": {
+ "name": "Guatemalan quetzal"
+ },
+ "GNF": {
+ "name": "Guinean frangi"
+ },
+ "GYD": {
+ "name": "Guyanan dollari"
+ },
+ "HTG": {
+ "name": "Haitin gourde"
+ },
+ "HNL": {
+ "name": "Hondurasin lempira"
+ },
+ "HKD": {
+ "name": "Hongkongin dollari"
+ },
+ "IDR": {
+ "name": "Indonesian rupia"
+ },
+ "INR": {
+ "name": "Intian rupia"
+ },
+ "IQD": {
+ "name": "Irakin dinaari"
+ },
+ "IRR": {
+ "name": "Iranin rial"
+ },
+ "ISK": {
+ "name": "Islannin kruunu"
+ },
+ "ILS": {
+ "name": "Israelin uusi sekeli"
+ },
+ "XCD": {
+ "name": "Itä-Karibian dollari"
+ },
+ "JMD": {
+ "name": "Jamaikan dollari"
+ },
+ "JPY": {
+ "name": "Japanin jeni",
+ "symbol": "¥"
+ },
+ "YER": {
+ "name": "Jemenin rial"
+ },
+ "JOD": {
+ "name": "Jordanian dinaari"
+ },
+ "KHR": {
+ "name": "Kambodžan riel"
+ },
+ "CAD": {
+ "name": "Kanadan dollari"
+ },
+ "CVE": {
+ "name": "Kap Verden escudo"
+ },
+ "KZT": {
+ "name": "Kazakstanin tenge"
+ },
+ "KES": {
+ "name": "Kenian šillinki"
+ },
+ "CNY": {
+ "name": "Kiinan juan"
+ },
+ "KGS": {
+ "name": "Kirgisian som"
+ },
+ "COP": {
+ "name": "Kolumbian peso"
+ },
+ "KMF": {
+ "name": "Komorien frangi"
+ },
+ "CDF": {
+ "name": "Kongon frangi"
+ },
+ "HRK": {
+ "name": "Kroatian kuna"
+ },
+ "CUP": {
+ "name": "Kuuban peso"
+ },
+ "CUC": {
+ "name": "Kuuban vaihdettava peso"
+ },
+ "KWD": {
+ "name": "Kuwaitin dinaari"
+ },
+ "LAK": {
+ "name": "Laosin kip"
+ },
+ "LSL": {
+ "name": "Lesothon loti"
+ },
+ "LBP": {
+ "name": "Libanonin punta"
+ },
+ "LRD": {
+ "name": "Liberian dollari"
+ },
+ "LYD": {
+ "name": "Libyan dinaari"
+ },
+ "MOP": {
+ "name": "Macaon pataca"
+ },
+ "MGA": {
+ "name": "Madagaskarin ariary"
+ },
+ "MKD": {
+ "name": "Makedonian denaari"
+ },
+ "MWK": {
+ "name": "Malawin kwacha"
+ },
+ "MVR": {
+ "name": "Malediivien rufiyaa"
+ },
+ "MYR": {
+ "name": "Malesian ringgit"
+ },
+ "MAD": {
+ "name": "Marokon dirhami"
+ },
+ "MRO": {
+ "name": "Mauritanian ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritiuksen rupia"
+ },
+ "MXN": {
+ "name": "Meksikon peso"
+ },
+ "MDL": {
+ "name": "Moldovan leu"
+ },
+ "MNT": {
+ "name": "Mongolian tugrik"
+ },
+ "MZN": {
+ "name": "Mosambikin metical"
+ },
+ "MMK": {
+ "name": "Myanmarin kyat"
+ },
+ "NAD": {
+ "name": "Namibian dollari"
+ },
+ "NPR": {
+ "name": "Nepalin rupia"
+ },
+ "NIO": {
+ "name": "Nicaraguan córdoba"
+ },
+ "NGN": {
+ "name": "Nigerian naira"
+ },
+ "NOK": {
+ "name": "Norjan kruunu"
+ },
+ "OMR": {
+ "name": "Omanin rial"
+ },
+ "PKR": {
+ "name": "Pakistanin rupia"
+ },
+ "PAB": {
+ "name": "Panaman balboa"
+ },
+ "PGK": {
+ "name": "Papua-Uuden-Guinean kina"
+ },
+ "PYG": {
+ "name": "Paraguayn guarani"
+ },
+ "PEN": {
+ "name": "Perun uusi sol"
+ },
+ "KPW": {
+ "name": "Pohjois-Korean won"
+ },
+ "PLN": {
+ "name": "Puolan zloty"
+ },
+ "QAR": {
+ "name": "Qatarin rial"
+ },
+ "RON": {
+ "name": "Romanian leu"
+ },
+ "RWF": {
+ "name": "Ruandan frangi"
+ },
+ "SEK": {
+ "name": "Ruotsin kruunu"
+ },
+ "SHP": {
+ "name": "Saint Helenan punta"
+ },
+ "SBD": {
+ "name": "Salomonsaarten dollari"
+ },
+ "ZMW": {
+ "name": "Sambian kwacha"
+ },
+ "WST": {
+ "name": "Samoan tala"
+ },
+ "STD": {
+ "name": "São Tomén ja Príncipen dobra"
+ },
+ "SAR": {
+ "name": "Saudi-Arabian rial"
+ },
+ "RSD": {
+ "name": "Serbian dinaari"
+ },
+ "SCR": {
+ "name": "Seychellien rupia"
+ },
+ "SLL": {
+ "name": "Sierra Leonen leone"
+ },
+ "SGD": {
+ "name": "Singaporen dollari"
+ },
+ "SOS": {
+ "name": "Somalian šillinki"
+ },
+ "LKR": {
+ "name": "Sri Lankan rupia"
+ },
+ "SDG": {
+ "name": "Sudanin punta"
+ },
+ "SRD": {
+ "name": "Surinamen dollari"
+ },
+ "CHF": {
+ "name": "Sveitsin frangi"
+ },
+ "SZL": {
+ "name": "Swazimaan lilangeni"
+ },
+ "SYP": {
+ "name": "Syyrian punta"
+ },
+ "TJS": {
+ "name": "Tadžikistanin somoni"
+ },
+ "TWD": {
+ "name": "Taiwanin uusi dollari"
+ },
+ "TZS": {
+ "name": "Tansanian šillinki"
+ },
+ "DKK": {
+ "name": "Tanskan kruunu"
+ },
+ "THB": {
+ "name": "Thaimaan baht"
+ },
+ "TOP": {
+ "name": "Tongan pa’anga"
+ },
+ "TTD": {
+ "name": "Trinidadin ja Tobagon dollari"
+ },
+ "CZK": {
+ "name": "Tšekin koruna"
+ },
+ "TND": {
+ "name": "Tunisian dinaari"
+ },
+ "TRY": {
+ "name": "Turkin liira"
+ },
+ "TMT": {
+ "name": "Turkmenistanin manat"
+ },
+ "UGX": {
+ "name": "Ugandan šillinki"
+ },
+ "UAH": {
+ "name": "Ukrainan hryvnia"
+ },
+ "HUF": {
+ "name": "Unkarin forintti"
+ },
+ "UYU": {
+ "name": "Uruguayn peso"
+ },
+ "NZD": {
+ "name": "Uuden-Seelannin dollari"
+ },
+ "UZS": {
+ "name": "Uzbekistanin som"
+ },
+ "BYN": {
+ "name": "Valko-Venäjän rupla"
+ },
+ "BYR": {
+ "name": "Valko-Venäjän rupla (2000–2016)"
+ },
+ "VUV": {
+ "name": "Vanuatun vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan bolivar"
+ },
+ "RUB": {
+ "name": "Venäjän rupla"
+ },
+ "VND": {
+ "name": "Vietnamin dong"
+ },
+ "USD": {
+ "name": "Yhdysvaltain dollari",
+ "symbol": "$"
+ },
+ "ZWL": {
+ "name": "Zimbabwen dollari (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/fil.json b/vendor/commerceguys/intl/resources/currency/fil.json
new file mode 100644
index 000000000..d97acdb07
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/fil.json
@@ -0,0 +1,498 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Algerian Dinar"
+ },
+ "ANG": {
+ "name": "Antillean Guilder ng Netherlands"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar"
+ },
+ "PAB": {
+ "name": "Balboa ng Panama"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BYN": {
+ "name": "Belarusian Ruble"
+ },
+ "BYR": {
+ "name": "Belarusian Ruble (2000–2016)"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "VEF": {
+ "name": "Bolívar ng Venezuela"
+ },
+ "BOB": {
+ "name": "Boliviano ng Bolivia"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswanan Pula"
+ },
+ "GBP": {
+ "name": "British Pound",
+ "symbol": "£"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundian Franc"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo"
+ },
+ "XAF": {
+ "name": "CFA Franc BEAC",
+ "symbol": "FCFA"
+ },
+ "XOF": {
+ "name": "CFA Franc ng Kanlurang Africa",
+ "symbol": "CFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CN¥"
+ },
+ "CRC": {
+ "name": "Colón ng Costa Rica"
+ },
+ "KMF": {
+ "name": "Comorian Franc"
+ },
+ "CUC": {
+ "name": "Convertible na Piso ng Cuba"
+ },
+ "CDF": {
+ "name": "Congolese Franc"
+ },
+ "NIO": {
+ "name": "Córdoba ng Nicaragua"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc"
+ },
+ "AUD": {
+ "name": "Dolyar ng Australya",
+ "symbol": "A$"
+ },
+ "BSD": {
+ "name": "Dolyar ng Bahamas"
+ },
+ "BBD": {
+ "name": "Dolyar ng Barbados"
+ },
+ "BZD": {
+ "name": "Dolyar ng Belize"
+ },
+ "BMD": {
+ "name": "Dolyar ng Bermuda"
+ },
+ "BND": {
+ "name": "Dolyar ng Brunei"
+ },
+ "CAD": {
+ "name": "Dolyar ng Canada",
+ "symbol": "CA$"
+ },
+ "KYD": {
+ "name": "Dolyar ng Cayman Islands"
+ },
+ "FJD": {
+ "name": "Dolyar ng Fiji"
+ },
+ "GYD": {
+ "name": "Dolyar ng Guyanese"
+ },
+ "HKD": {
+ "name": "Dolyar ng Hong Kong",
+ "symbol": "HK$"
+ },
+ "JMD": {
+ "name": "Dolyar ng Jamaica"
+ },
+ "LRD": {
+ "name": "Dolyar ng Liberia"
+ },
+ "NAD": {
+ "name": "Dolyar ng Namibia"
+ },
+ "TWD": {
+ "name": "Dolyar ng New Taiwan",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "Dolyar ng New Zealand",
+ "symbol": "NZ$"
+ },
+ "XCD": {
+ "name": "Dolyar ng Silangang Caribbean",
+ "symbol": "EC$"
+ },
+ "SGD": {
+ "name": "Dolyar ng Singapore"
+ },
+ "SBD": {
+ "name": "Dolyar ng Solomon Islands"
+ },
+ "SRD": {
+ "name": "Dolyar ng Suriname"
+ },
+ "TTD": {
+ "name": "Dolyar ng Trinidad and Tobago"
+ },
+ "USD": {
+ "name": "Dolyar ng US",
+ "symbol": "$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "AWG": {
+ "name": "Florin ng Aruba"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "HTG": {
+ "name": "Gourde ng Haiti"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Sheqel",
+ "symbol": "₪"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kenyan Shilling"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "HNL": {
+ "name": "Lempira ng Honduras"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LYD": {
+ "name": "Libyan Dinar"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "NGN": {
+ "name": "Nigerian Naira"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Nuevo Sol"
+ },
+ "ARS": {
+ "name": "Piso ng Argentina"
+ },
+ "CLP": {
+ "name": "Piso ng Chile"
+ },
+ "COP": {
+ "name": "Piso ng Colombia"
+ },
+ "CUP": {
+ "name": "Piso ng Cuba"
+ },
+ "DOP": {
+ "name": "Piso ng Dominican"
+ },
+ "MXN": {
+ "name": "Piso ng Mexico",
+ "symbol": "MX$"
+ },
+ "PHP": {
+ "name": "Piso ng Pilipinas",
+ "symbol": "₱"
+ },
+ "UYU": {
+ "name": "Piso ng Uruguay"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "FKP": {
+ "name": "Pound ng Falkland Islands"
+ },
+ "LBP": {
+ "name": "Pound ng Lebanon"
+ },
+ "SDG": {
+ "name": "Pound ng Sudan"
+ },
+ "SSP": {
+ "name": "Pound ng Timog Sudan"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "GTQ": {
+ "name": "Quetzal ng Guatemala"
+ },
+ "ZAR": {
+ "name": "Rand ng Timog Africa"
+ },
+ "BRL": {
+ "name": "Real ng Barzil",
+ "symbol": "R$"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Ruble"
+ },
+ "RWF": {
+ "name": "Rwandan Franc"
+ },
+ "SHP": {
+ "name": "Saint Helena Pound"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudi Riyal"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone"
+ },
+ "SOS": {
+ "name": "Somali Shilling"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swiss Franc"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling"
+ },
+ "THB": {
+ "name": "Thai Baht",
+ "symbol": "฿"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TND": {
+ "name": "Tunisian Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham"
+ },
+ "UZS": {
+ "name": "Uzbekistan Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "KPW": {
+ "name": "Won ng Hilagang Korea"
+ },
+ "KRW": {
+ "name": "Won ng Timog Korea",
+ "symbol": "₩"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/fo.json b/vendor/commerceguys/intl/resources/currency/fo.json
new file mode 100644
index 000000000..bff216136
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/fo.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afganistan afghani"
+ },
+ "ALL": {
+ "name": "Albania lek"
+ },
+ "DZD": {
+ "name": "Algeria dinar"
+ },
+ "AOA": {
+ "name": "Angola kwanza"
+ },
+ "ARS": {
+ "name": "Argentina peso"
+ },
+ "AMD": {
+ "name": "Armenia dram"
+ },
+ "AWG": {
+ "name": "Aruba florin"
+ },
+ "AZN": {
+ "name": "Aserbadjan manat"
+ },
+ "AUD": {
+ "name": "Avstralskur dollari",
+ "symbol": "A$"
+ },
+ "BSD": {
+ "name": "Bahamaoyggjar dollari"
+ },
+ "BDT": {
+ "name": "Bangladesj taka"
+ },
+ "BBD": {
+ "name": "Barbados dollari"
+ },
+ "BHD": {
+ "name": "Barein dinar"
+ },
+ "BZD": {
+ "name": "Belis dollari"
+ },
+ "BMD": {
+ "name": "Bermuda dollari"
+ },
+ "BOB": {
+ "name": "Bolivia boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Hersegovina mark (kann vekslast)"
+ },
+ "BWP": {
+ "name": "Botsvana pula"
+ },
+ "BRL": {
+ "name": "Brasilianskur real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "bretsk pund",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei dollari"
+ },
+ "BGN": {
+ "name": "Bulgaria lev"
+ },
+ "BIF": {
+ "name": "Burundi frankur"
+ },
+ "BTN": {
+ "name": "Butan ngultrum"
+ },
+ "KYD": {
+ "name": "Caymanoyggjar dollari"
+ },
+ "XPF": {
+ "name": "CFP frankur",
+ "symbol": "CFPF"
+ },
+ "DJF": {
+ "name": "Djibuti frankur"
+ },
+ "DOP": {
+ "name": "Dominika peso"
+ },
+ "DKK": {
+ "name": "donsk króna",
+ "symbol": "kr"
+ },
+ "EGP": {
+ "name": "Egyptaland pund"
+ },
+ "ERN": {
+ "name": "Eritrea nakfa"
+ },
+ "ETB": {
+ "name": "Etiopia birr"
+ },
+ "EUR": {
+ "name": "Evra",
+ "symbol": "€"
+ },
+ "XCD": {
+ "name": "Eystur Karibia dollari",
+ "symbol": "EC$"
+ },
+ "FKP": {
+ "name": "Falklandsoyggjar pund"
+ },
+ "FJD": {
+ "name": "Fiji dollari"
+ },
+ "PHP": {
+ "name": "Filipsoyggjar peso"
+ },
+ "GMD": {
+ "name": "Gambia dalasi"
+ },
+ "GHS": {
+ "name": "Gana cedi"
+ },
+ "GEL": {
+ "name": "Georgia lari"
+ },
+ "GIP": {
+ "name": "Gibraltar pund"
+ },
+ "CVE": {
+ "name": "Grønhøvdaoyggjar escudo"
+ },
+ "GTQ": {
+ "name": "Guatemala quetzal"
+ },
+ "GNF": {
+ "name": "Guinea frankur"
+ },
+ "GYD": {
+ "name": "Gujana dollari"
+ },
+ "HTG": {
+ "name": "Haiti gourde"
+ },
+ "HNL": {
+ "name": "Honduras lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong dollari",
+ "symbol": "HK$"
+ },
+ "BYN": {
+ "name": "Hvítarussland ruble"
+ },
+ "BYR": {
+ "name": "Hvítarussland ruble (2000–2016)"
+ },
+ "INR": {
+ "name": "indiskir rupis",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesia rupiah"
+ },
+ "IQD": {
+ "name": "Irak dinar"
+ },
+ "IRR": {
+ "name": "iranskir rials"
+ },
+ "ISK": {
+ "name": "íslendsk króna"
+ },
+ "ILS": {
+ "name": "Ísrael new sheqel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaika dollari"
+ },
+ "JPY": {
+ "name": "japanskur yen",
+ "symbol": "JP¥"
+ },
+ "YER": {
+ "name": "Jemen rial"
+ },
+ "JOD": {
+ "name": "Jordan dinar"
+ },
+ "KHR": {
+ "name": "Kambodja riel"
+ },
+ "CAD": {
+ "name": "Kanada dollari",
+ "symbol": "CA$"
+ },
+ "KZT": {
+ "name": "Kasakstan tenge"
+ },
+ "QAR": {
+ "name": "Katar rial"
+ },
+ "CZK": {
+ "name": "Kekkia koruna"
+ },
+ "KES": {
+ "name": "kenjanskur skillingur"
+ },
+ "CLP": {
+ "name": "Kili peso"
+ },
+ "CNY": {
+ "name": "kinesiskur yuan",
+ "symbol": "CN¥"
+ },
+ "KGS": {
+ "name": "Kirgisia som"
+ },
+ "COP": {
+ "name": "Kolombia peso"
+ },
+ "KMF": {
+ "name": "Komoroyggjar frankur"
+ },
+ "CDF": {
+ "name": "Kongo frankur"
+ },
+ "CRC": {
+ "name": "Kosta Rika colón"
+ },
+ "HRK": {
+ "name": "Kroatia kuna"
+ },
+ "CUP": {
+ "name": "Kuba peso"
+ },
+ "CUC": {
+ "name": "Kuba peso (sum kann vekslast)"
+ },
+ "KWD": {
+ "name": "Kuvait dinar"
+ },
+ "LAK": {
+ "name": "Laos kip"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LBP": {
+ "name": "Libanon pund"
+ },
+ "LRD": {
+ "name": "Liberia dollari"
+ },
+ "LYD": {
+ "name": "Libya dinar"
+ },
+ "MGA": {
+ "name": "Madagaskar ariary"
+ },
+ "MOP": {
+ "name": "Makao pataca"
+ },
+ "MKD": {
+ "name": "Makedónia denar"
+ },
+ "MYR": {
+ "name": "Malaisia ringgit"
+ },
+ "MWK": {
+ "name": "Malavi kwacha"
+ },
+ "MVR": {
+ "name": "Maldivoyggjar rufiyaa"
+ },
+ "MAD": {
+ "name": "Marokko dirham"
+ },
+ "MXN": {
+ "name": "Meksiko peso",
+ "symbol": "MX$"
+ },
+ "XAF": {
+ "name": "Miðafrika CFA frankur",
+ "symbol": "FCFA"
+ },
+ "MDL": {
+ "name": "Moldova leu"
+ },
+ "MNT": {
+ "name": "Mongolia tugrik"
+ },
+ "MRO": {
+ "name": "Móritania ouguiya"
+ },
+ "MUR": {
+ "name": "Móritius rupi"
+ },
+ "MZN": {
+ "name": "Mosambik metical"
+ },
+ "MMK": {
+ "name": "Myanmar (Burma) kyat"
+ },
+ "NAD": {
+ "name": "Namibia dollari"
+ },
+ "NPR": {
+ "name": "Nepal rupi"
+ },
+ "ANG": {
+ "name": "Niðurlonds Karibia gyllin"
+ },
+ "NGN": {
+ "name": "Nigeria naira"
+ },
+ "NIO": {
+ "name": "Nikaragua córdoba"
+ },
+ "KPW": {
+ "name": "Norðurkorea won"
+ },
+ "NOK": {
+ "name": "norsk króna"
+ },
+ "NZD": {
+ "name": "Nýsæland dollari",
+ "symbol": "NZ$"
+ },
+ "OMR": {
+ "name": "Oman rial"
+ },
+ "PKR": {
+ "name": "Pakistan rupi"
+ },
+ "PAB": {
+ "name": "Panama balboa"
+ },
+ "PGK": {
+ "name": "Papua Nýguinea kina"
+ },
+ "PYG": {
+ "name": "Paraguai guarani"
+ },
+ "PEN": {
+ "name": "Peru nuevo sol"
+ },
+ "PLN": {
+ "name": "Pólland zloty"
+ },
+ "RWF": {
+ "name": "Ruanda frankur"
+ },
+ "RON": {
+ "name": "Rumenia leu"
+ },
+ "RUB": {
+ "name": "Russland ruble"
+ },
+ "SBD": {
+ "name": "Salomonoyggjar dollari"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "ZMW": {
+ "name": "Sambia kwacha"
+ },
+ "AED": {
+ "name": "Sameindu Emirríkini dirham"
+ },
+ "WST": {
+ "name": "Samoa tala"
+ },
+ "STD": {
+ "name": "Sao Tome & Prinsipi dobra"
+ },
+ "SAR": {
+ "name": "Saudiarabia riyal"
+ },
+ "RSD": {
+ "name": "Serbia dinar"
+ },
+ "SCR": {
+ "name": "Seyskelloyggjar rupi"
+ },
+ "SLL": {
+ "name": "Sierra Leona leone"
+ },
+ "SGD": {
+ "name": "Singapor dollari"
+ },
+ "SOS": {
+ "name": "Somalia skillingur"
+ },
+ "LKR": {
+ "name": "Sri Lanka rupi"
+ },
+ "SHP": {
+ "name": "St. Helena pund"
+ },
+ "SDG": {
+ "name": "Sudan pund"
+ },
+ "ZAR": {
+ "name": "Suðurafrika rand"
+ },
+ "KRW": {
+ "name": "Suðurkorea won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "Suðursudan pund"
+ },
+ "SRD": {
+ "name": "Surinam dollari"
+ },
+ "SZL": {
+ "name": "Svasiland lilangeni"
+ },
+ "CHF": {
+ "name": "sveisiskur frankur"
+ },
+ "SEK": {
+ "name": "svensk króna"
+ },
+ "SYP": {
+ "name": "Sýria pund"
+ },
+ "TJS": {
+ "name": "Tadsjikistan somoni"
+ },
+ "THB": {
+ "name": "Tailand baht"
+ },
+ "TWD": {
+ "name": "Taivan new dollari",
+ "symbol": "NT$"
+ },
+ "TZS": {
+ "name": "Tansania skillingur"
+ },
+ "TOP": {
+ "name": "Tonga paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago dollari"
+ },
+ "TND": {
+ "name": "Tunesia dinar"
+ },
+ "TRY": {
+ "name": "Turkaland liri"
+ },
+ "TMT": {
+ "name": "Turkmenistan manat"
+ },
+ "UGX": {
+ "name": "Uganda skillingur"
+ },
+ "UAH": {
+ "name": "Ukraina hryvnia"
+ },
+ "HUF": {
+ "name": "Ungarn forint"
+ },
+ "UYU": {
+ "name": "Uruguai peso"
+ },
+ "USD": {
+ "name": "US dollari",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Usbekistan som"
+ },
+ "VUV": {
+ "name": "Vanuatu vatu"
+ },
+ "VEF": {
+ "name": "Venesuela bolívar"
+ },
+ "XOF": {
+ "name": "Vesturafrika CFA frankur",
+ "symbol": "CFA"
+ },
+ "VND": {
+ "name": "Vjetnam dong",
+ "symbol": "₫"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/fr-CA.json b/vendor/commerceguys/intl/resources/currency/fr-CA.json
new file mode 100644
index 000000000..b20786d38
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/fr-CA.json
@@ -0,0 +1,488 @@
+{
+ "AFN": {
+ "name": "afghani afghan"
+ },
+ "MGA": {
+ "name": "ariary malgache"
+ },
+ "THB": {
+ "name": "baht thaïlandais"
+ },
+ "PAB": {
+ "name": "balboa panaméen"
+ },
+ "ETB": {
+ "name": "birr éthiopien"
+ },
+ "VEF": {
+ "name": "bolivar vénézuélien"
+ },
+ "BOB": {
+ "name": "boliviano bolivien"
+ },
+ "GHS": {
+ "name": "cédi ghanéen"
+ },
+ "CRC": {
+ "name": "colón costaricain"
+ },
+ "SVC": {
+ "name": "colón salvadorien"
+ },
+ "NIO": {
+ "name": "córdoba oro nicaraguayen"
+ },
+ "DKK": {
+ "name": "couronne danoise"
+ },
+ "ISK": {
+ "name": "couronne islandaise"
+ },
+ "NOK": {
+ "name": "couronne norvégienne"
+ },
+ "SEK": {
+ "name": "couronne suédoise"
+ },
+ "CZK": {
+ "name": "couronne tchèque"
+ },
+ "GMD": {
+ "name": "dalasi gambien"
+ },
+ "MKD": {
+ "name": "denar macédonien"
+ },
+ "DZD": {
+ "name": "dinar algérien"
+ },
+ "BHD": {
+ "name": "dinar bahreïni"
+ },
+ "IQD": {
+ "name": "dinar irakien"
+ },
+ "JOD": {
+ "name": "dinar jordanien"
+ },
+ "KWD": {
+ "name": "dinar koweïtien"
+ },
+ "LYD": {
+ "name": "dinar libyen"
+ },
+ "RSD": {
+ "name": "dinar serbe"
+ },
+ "TND": {
+ "name": "dinar tunisien"
+ },
+ "AED": {
+ "name": "dirham des Émirats arabes unis"
+ },
+ "MAD": {
+ "name": "dirham marocain"
+ },
+ "STD": {
+ "name": "dobra santoméen"
+ },
+ "AUD": {
+ "name": "dollar australien",
+ "symbol": "$ AU"
+ },
+ "BSD": {
+ "name": "dollar bahaméen"
+ },
+ "BBD": {
+ "name": "dollar barbadien"
+ },
+ "BZD": {
+ "name": "dollar bélizéen"
+ },
+ "BMD": {
+ "name": "dollar bermudien"
+ },
+ "BND": {
+ "name": "dollar brunéien"
+ },
+ "CAD": {
+ "name": "dollar canadien",
+ "symbol": "$"
+ },
+ "HKD": {
+ "name": "dollar de Hong Kong",
+ "symbol": "$ HK"
+ },
+ "SGD": {
+ "name": "dollar de Singapour",
+ "symbol": "$ SG"
+ },
+ "TTD": {
+ "name": "dollar de Trinité-et-Tobago"
+ },
+ "XCD": {
+ "name": "dollar des Caraïbes orientales"
+ },
+ "USD": {
+ "name": "dollar des États-Unis",
+ "symbol": "$ US"
+ },
+ "KYD": {
+ "name": "dollar des îles Caïmans"
+ },
+ "SBD": {
+ "name": "dollar des îles Salomon"
+ },
+ "GYD": {
+ "name": "dollar du Guyana"
+ },
+ "FJD": {
+ "name": "dollar fidjien"
+ },
+ "JMD": {
+ "name": "dollar jamaïcain"
+ },
+ "LRD": {
+ "name": "dollar libérien"
+ },
+ "NAD": {
+ "name": "dollar namibien"
+ },
+ "NZD": {
+ "name": "dollar néo-zélandais",
+ "symbol": "$ NZ"
+ },
+ "SRD": {
+ "name": "dollar surinamais"
+ },
+ "ZWL": {
+ "name": "dollar zimbabwéen (2009)"
+ },
+ "VND": {
+ "name": "dông vietnamien"
+ },
+ "AMD": {
+ "name": "dram arménien"
+ },
+ "CVE": {
+ "name": "escudo capverdien"
+ },
+ "EUR": {
+ "name": "euro",
+ "symbol": "€"
+ },
+ "ANG": {
+ "name": "florin antillais"
+ },
+ "AWG": {
+ "name": "florin arubais"
+ },
+ "HUF": {
+ "name": "forint hongrois"
+ },
+ "BIF": {
+ "name": "franc burundais"
+ },
+ "XOF": {
+ "name": "franc CFA (BCEAO)"
+ },
+ "XAF": {
+ "name": "franc CFA (BEAC)"
+ },
+ "XPF": {
+ "name": "franc CFP"
+ },
+ "KMF": {
+ "name": "franc comorien"
+ },
+ "CDF": {
+ "name": "franc congolais"
+ },
+ "DJF": {
+ "name": "franc djiboutien"
+ },
+ "GNF": {
+ "name": "franc guinéen"
+ },
+ "RWF": {
+ "name": "franc rwandais"
+ },
+ "CHF": {
+ "name": "franc suisse"
+ },
+ "HTG": {
+ "name": "gourde haïtienne"
+ },
+ "PYG": {
+ "name": "guaraní paraguayen"
+ },
+ "UAH": {
+ "name": "hryvnia ukrainienne"
+ },
+ "PGK": {
+ "name": "kina papouan-néo-guinéen"
+ },
+ "LAK": {
+ "name": "kip loatien"
+ },
+ "HRK": {
+ "name": "kuna croate"
+ },
+ "MWK": {
+ "name": "kwacha malawite"
+ },
+ "ZMW": {
+ "name": "kwacha zambien"
+ },
+ "AOA": {
+ "name": "kwanza angolais"
+ },
+ "MMK": {
+ "name": "kyat myanmarais"
+ },
+ "GEL": {
+ "name": "lari géorgien"
+ },
+ "ALL": {
+ "name": "lek albanais"
+ },
+ "HNL": {
+ "name": "lempira hondurien"
+ },
+ "SLL": {
+ "name": "leone sierra-léonais"
+ },
+ "MDL": {
+ "name": "leu moldave"
+ },
+ "RON": {
+ "name": "leu roumain"
+ },
+ "BGN": {
+ "name": "lev bulgare"
+ },
+ "SZL": {
+ "name": "lilangeni swazi"
+ },
+ "GIP": {
+ "name": "livre de Gibraltar"
+ },
+ "SHP": {
+ "name": "livre de Sainte-Hélène"
+ },
+ "FKP": {
+ "name": "livre des Îles Malouines"
+ },
+ "EGP": {
+ "name": "livre égyptienne"
+ },
+ "LBP": {
+ "name": "livre libanaise"
+ },
+ "SDG": {
+ "name": "livre soudanaise"
+ },
+ "GBP": {
+ "name": "livre sterling",
+ "symbol": "£"
+ },
+ "SSP": {
+ "name": "livre sud-soudanaise"
+ },
+ "SYP": {
+ "name": "livre syrienne"
+ },
+ "TRY": {
+ "name": "livre turque"
+ },
+ "LSL": {
+ "name": "loti lesothan"
+ },
+ "AZN": {
+ "name": "manat azéri"
+ },
+ "BAM": {
+ "name": "mark convertible bosniaque"
+ },
+ "MZN": {
+ "name": "metical mozambicain"
+ },
+ "ERN": {
+ "name": "nafka érythréen"
+ },
+ "NGN": {
+ "name": "naira nigérian"
+ },
+ "BTN": {
+ "name": "ngultrum bouthanais"
+ },
+ "TWD": {
+ "name": "nouveau dollar taïwanais"
+ },
+ "TMT": {
+ "name": "nouveau manat turkmène"
+ },
+ "ILS": {
+ "name": "nouveau shekel israélien"
+ },
+ "PEN": {
+ "name": "nouveau sol péruvien"
+ },
+ "MRO": {
+ "name": "ouguiya mauritanien"
+ },
+ "TOP": {
+ "name": "pa’anga"
+ },
+ "MOP": {
+ "name": "pataca macanaise"
+ },
+ "ARS": {
+ "name": "peso argentin"
+ },
+ "CLP": {
+ "name": "peso chilien"
+ },
+ "COP": {
+ "name": "peso colombien"
+ },
+ "CUP": {
+ "name": "peso cubain"
+ },
+ "CUC": {
+ "name": "peso cubain convertible"
+ },
+ "DOP": {
+ "name": "peso dominicain"
+ },
+ "MXN": {
+ "name": "peso mexicain"
+ },
+ "PHP": {
+ "name": "peso philippin"
+ },
+ "UYU": {
+ "name": "peso uruguayen"
+ },
+ "BWP": {
+ "name": "pula botswanais"
+ },
+ "GTQ": {
+ "name": "quetzal guatémaltèque"
+ },
+ "ZAR": {
+ "name": "rand sud-africain"
+ },
+ "BRL": {
+ "name": "réal brésilien",
+ "symbol": "R$"
+ },
+ "IRR": {
+ "name": "rial iranien"
+ },
+ "OMR": {
+ "name": "rial omanais"
+ },
+ "QAR": {
+ "name": "rial qatari"
+ },
+ "SAR": {
+ "name": "rial saoudien"
+ },
+ "YER": {
+ "name": "rial yéménite"
+ },
+ "KHR": {
+ "name": "riel cambodgien"
+ },
+ "MYR": {
+ "name": "ringgit malais"
+ },
+ "BYN": {
+ "name": "rouble biélorusse"
+ },
+ "BYR": {
+ "name": "rouble biélorusse (2000–2016)"
+ },
+ "RUB": {
+ "name": "rouble russe"
+ },
+ "SCR": {
+ "name": "roupie des Seychelles"
+ },
+ "INR": {
+ "name": "roupie indienne"
+ },
+ "IDR": {
+ "name": "roupie indonésienne"
+ },
+ "MUR": {
+ "name": "roupie mauricienne"
+ },
+ "NPR": {
+ "name": "roupie népalaise"
+ },
+ "PKR": {
+ "name": "roupie pakistanaise"
+ },
+ "LKR": {
+ "name": "roupie srilankaise"
+ },
+ "MVR": {
+ "name": "rufiyaa maldivien"
+ },
+ "KES": {
+ "name": "shilling kényan"
+ },
+ "UGX": {
+ "name": "shilling ougandais"
+ },
+ "SOS": {
+ "name": "shilling somalien"
+ },
+ "TZS": {
+ "name": "shilling tanzanien"
+ },
+ "KGS": {
+ "name": "som kirghize"
+ },
+ "TJS": {
+ "name": "somoni tadjik"
+ },
+ "UZS": {
+ "name": "sum ouzbek"
+ },
+ "BDT": {
+ "name": "taka bangladeshi"
+ },
+ "WST": {
+ "name": "tala samoan",
+ "symbol": "WS$"
+ },
+ "KZT": {
+ "name": "tenge kazakh"
+ },
+ "MNT": {
+ "name": "tugrik mongol"
+ },
+ "VUV": {
+ "name": "vatu vanuatuan"
+ },
+ "KPW": {
+ "name": "won nord-coréen"
+ },
+ "KRW": {
+ "name": "won sud-coréen"
+ },
+ "JPY": {
+ "name": "yen japonais",
+ "symbol": "¥"
+ },
+ "CNY": {
+ "name": "yuan renminbi chinois",
+ "symbol": "CN¥"
+ },
+ "PLN": {
+ "name": "zloty polonais"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/fr.json b/vendor/commerceguys/intl/resources/currency/fr.json
new file mode 100644
index 000000000..515567341
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/fr.json
@@ -0,0 +1,509 @@
+{
+ "AFN": {
+ "name": "afghani afghan"
+ },
+ "MGA": {
+ "name": "ariary malgache"
+ },
+ "THB": {
+ "name": "baht thaïlandais"
+ },
+ "PAB": {
+ "name": "balboa panaméen"
+ },
+ "ETB": {
+ "name": "birr éthiopien"
+ },
+ "VEF": {
+ "name": "bolivar vénézuélien"
+ },
+ "BOB": {
+ "name": "boliviano bolivien"
+ },
+ "GHS": {
+ "name": "cédi ghanéen"
+ },
+ "CRC": {
+ "name": "colón costaricain"
+ },
+ "SVC": {
+ "name": "colón salvadorien"
+ },
+ "NIO": {
+ "name": "córdoba oro nicaraguayen"
+ },
+ "DKK": {
+ "name": "couronne danoise"
+ },
+ "ISK": {
+ "name": "couronne islandaise"
+ },
+ "NOK": {
+ "name": "couronne norvégienne"
+ },
+ "SEK": {
+ "name": "couronne suédoise"
+ },
+ "CZK": {
+ "name": "couronne tchèque"
+ },
+ "GMD": {
+ "name": "dalasi gambien"
+ },
+ "MKD": {
+ "name": "denar macédonien"
+ },
+ "DZD": {
+ "name": "dinar algérien"
+ },
+ "BHD": {
+ "name": "dinar bahreïni"
+ },
+ "IQD": {
+ "name": "dinar irakien"
+ },
+ "JOD": {
+ "name": "dinar jordanien"
+ },
+ "KWD": {
+ "name": "dinar koweïtien"
+ },
+ "LYD": {
+ "name": "dinar libyen"
+ },
+ "RSD": {
+ "name": "dinar serbe"
+ },
+ "TND": {
+ "name": "dinar tunisien"
+ },
+ "AED": {
+ "name": "dirham des Émirats arabes unis"
+ },
+ "MAD": {
+ "name": "dirham marocain"
+ },
+ "STD": {
+ "name": "dobra santoméen"
+ },
+ "AUD": {
+ "name": "dollar australien",
+ "symbol": "$AU"
+ },
+ "BSD": {
+ "name": "dollar bahaméen",
+ "symbol": "$BS"
+ },
+ "BBD": {
+ "name": "dollar barbadien"
+ },
+ "BZD": {
+ "name": "dollar bélizéen",
+ "symbol": "$BZ"
+ },
+ "BMD": {
+ "name": "dollar bermudien",
+ "symbol": "$BM"
+ },
+ "BND": {
+ "name": "dollar brunéien",
+ "symbol": "$BN"
+ },
+ "CAD": {
+ "name": "dollar canadien",
+ "symbol": "$CA"
+ },
+ "HKD": {
+ "name": "dollar de Hong Kong"
+ },
+ "SGD": {
+ "name": "dollar de Singapour",
+ "symbol": "$SG"
+ },
+ "XCD": {
+ "name": "dollar des Caraïbes orientales"
+ },
+ "USD": {
+ "name": "dollar des États-Unis",
+ "symbol": "$US"
+ },
+ "KYD": {
+ "name": "dollar des îles Caïmans"
+ },
+ "SBD": {
+ "name": "dollar des îles Salomon",
+ "symbol": "$SB"
+ },
+ "GYD": {
+ "name": "dollar du Guyana"
+ },
+ "FJD": {
+ "name": "dollar fidjien",
+ "symbol": "$FJ"
+ },
+ "JMD": {
+ "name": "dollar jamaïcain"
+ },
+ "LRD": {
+ "name": "dollar libérien"
+ },
+ "NAD": {
+ "name": "dollar namibien",
+ "symbol": "$NA"
+ },
+ "NZD": {
+ "name": "dollar néo-zélandais",
+ "symbol": "$NZ"
+ },
+ "SRD": {
+ "name": "dollar surinamais",
+ "symbol": "$SR"
+ },
+ "TTD": {
+ "name": "dollar trinidadien",
+ "symbol": "$TT"
+ },
+ "ZWL": {
+ "name": "dollar zimbabwéen (2009)"
+ },
+ "VND": {
+ "name": "dông vietnamien",
+ "symbol": "₫"
+ },
+ "AMD": {
+ "name": "dram arménien"
+ },
+ "CVE": {
+ "name": "escudo capverdien"
+ },
+ "EUR": {
+ "name": "euro",
+ "symbol": "€"
+ },
+ "ANG": {
+ "name": "florin antillais"
+ },
+ "AWG": {
+ "name": "florin arubais"
+ },
+ "HUF": {
+ "name": "forint hongrois"
+ },
+ "BIF": {
+ "name": "franc burundais"
+ },
+ "XOF": {
+ "name": "franc CFA (BCEAO)",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "franc CFA (BEAC)",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "franc CFP",
+ "symbol": "FCFP"
+ },
+ "KMF": {
+ "name": "franc comorien"
+ },
+ "CDF": {
+ "name": "franc congolais"
+ },
+ "DJF": {
+ "name": "franc djiboutien"
+ },
+ "GNF": {
+ "name": "franc guinéen"
+ },
+ "RWF": {
+ "name": "franc rwandais"
+ },
+ "CHF": {
+ "name": "franc suisse"
+ },
+ "HTG": {
+ "name": "gourde haïtienne"
+ },
+ "PYG": {
+ "name": "guaraní paraguayen"
+ },
+ "UAH": {
+ "name": "hryvnia ukrainienne"
+ },
+ "PGK": {
+ "name": "kina papouan-néo-guinéen"
+ },
+ "LAK": {
+ "name": "kip loatien"
+ },
+ "HRK": {
+ "name": "kuna croate"
+ },
+ "MWK": {
+ "name": "kwacha malawite"
+ },
+ "ZMW": {
+ "name": "kwacha zambien"
+ },
+ "AOA": {
+ "name": "kwanza angolais"
+ },
+ "MMK": {
+ "name": "kyat myanmarais"
+ },
+ "GEL": {
+ "name": "lari géorgien"
+ },
+ "ALL": {
+ "name": "lek albanais"
+ },
+ "HNL": {
+ "name": "lempira hondurien"
+ },
+ "SLL": {
+ "name": "leone sierra-léonais"
+ },
+ "MDL": {
+ "name": "leu moldave"
+ },
+ "RON": {
+ "name": "leu roumain"
+ },
+ "BGN": {
+ "name": "lev bulgare"
+ },
+ "SZL": {
+ "name": "lilangeni swazi"
+ },
+ "GIP": {
+ "name": "livre de Gibraltar",
+ "symbol": "£GI"
+ },
+ "SHP": {
+ "name": "livre de Sainte-Hélène"
+ },
+ "FKP": {
+ "name": "livre des îles Malouines",
+ "symbol": "£FK"
+ },
+ "EGP": {
+ "name": "livre égyptienne"
+ },
+ "LBP": {
+ "name": "livre libanaise",
+ "symbol": "£LB"
+ },
+ "SDG": {
+ "name": "livre soudanaise"
+ },
+ "GBP": {
+ "name": "livre sterling",
+ "symbol": "£GB"
+ },
+ "SSP": {
+ "name": "livre sud-soudanaise"
+ },
+ "SYP": {
+ "name": "livre syrienne"
+ },
+ "TRY": {
+ "name": "livre turque"
+ },
+ "LSL": {
+ "name": "loti lesothan"
+ },
+ "AZN": {
+ "name": "manat azéri"
+ },
+ "BAM": {
+ "name": "mark convertible bosniaque"
+ },
+ "MZN": {
+ "name": "metical mozambicain"
+ },
+ "ERN": {
+ "name": "nafka érythréen"
+ },
+ "NGN": {
+ "name": "naira nigérian"
+ },
+ "BTN": {
+ "name": "ngultrum bouthanais"
+ },
+ "TWD": {
+ "name": "nouveau dollar taïwanais"
+ },
+ "TMT": {
+ "name": "nouveau manat turkmène"
+ },
+ "ILS": {
+ "name": "nouveau shekel israélien",
+ "symbol": "₪"
+ },
+ "PEN": {
+ "name": "nouveau sol péruvien"
+ },
+ "MRO": {
+ "name": "ouguiya mauritanien"
+ },
+ "TOP": {
+ "name": "pa’anga tongan"
+ },
+ "MOP": {
+ "name": "pataca macanaise"
+ },
+ "ARS": {
+ "name": "peso argentin",
+ "symbol": "$AR"
+ },
+ "CLP": {
+ "name": "peso chilien",
+ "symbol": "$CL"
+ },
+ "COP": {
+ "name": "peso colombien",
+ "symbol": "$CO"
+ },
+ "CUP": {
+ "name": "peso cubain"
+ },
+ "CUC": {
+ "name": "peso cubain convertible"
+ },
+ "DOP": {
+ "name": "peso dominicain"
+ },
+ "MXN": {
+ "name": "peso mexicain",
+ "symbol": "$MX"
+ },
+ "PHP": {
+ "name": "peso philippin"
+ },
+ "UYU": {
+ "name": "peso uruguayen",
+ "symbol": "$UY"
+ },
+ "BWP": {
+ "name": "pula botswanais"
+ },
+ "GTQ": {
+ "name": "quetzal guatémaltèque"
+ },
+ "ZAR": {
+ "name": "rand sud-africain"
+ },
+ "BRL": {
+ "name": "réal brésilien",
+ "symbol": "R$"
+ },
+ "IRR": {
+ "name": "rial iranien"
+ },
+ "OMR": {
+ "name": "rial omanais"
+ },
+ "QAR": {
+ "name": "rial qatari"
+ },
+ "SAR": {
+ "name": "rial saoudien"
+ },
+ "YER": {
+ "name": "rial yéménite"
+ },
+ "KHR": {
+ "name": "riel cambodgien"
+ },
+ "MYR": {
+ "name": "ringgit malais"
+ },
+ "BYN": {
+ "name": "rouble biélorusse"
+ },
+ "BYR": {
+ "name": "rouble biélorusse (2000–2016)"
+ },
+ "RUB": {
+ "name": "rouble russe"
+ },
+ "SCR": {
+ "name": "roupie des Seychelles"
+ },
+ "INR": {
+ "name": "roupie indienne",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "roupie indonésienne"
+ },
+ "MUR": {
+ "name": "roupie mauricienne"
+ },
+ "NPR": {
+ "name": "roupie népalaise"
+ },
+ "PKR": {
+ "name": "roupie pakistanaise"
+ },
+ "LKR": {
+ "name": "roupie srilankaise"
+ },
+ "MVR": {
+ "name": "rufiyaa maldivien"
+ },
+ "KES": {
+ "name": "shilling kényan"
+ },
+ "UGX": {
+ "name": "shilling ougandais"
+ },
+ "SOS": {
+ "name": "shilling somalien"
+ },
+ "TZS": {
+ "name": "shilling tanzanien"
+ },
+ "KGS": {
+ "name": "som kirghize"
+ },
+ "TJS": {
+ "name": "somoni tadjik"
+ },
+ "UZS": {
+ "name": "sum ouzbek"
+ },
+ "BDT": {
+ "name": "taka bangladeshi"
+ },
+ "WST": {
+ "name": "tala samoan",
+ "symbol": "WS$"
+ },
+ "KZT": {
+ "name": "tenge kazakh"
+ },
+ "MNT": {
+ "name": "tugrik mongol"
+ },
+ "VUV": {
+ "name": "vatu vanuatuan"
+ },
+ "KPW": {
+ "name": "won nord-coréen"
+ },
+ "KRW": {
+ "name": "won sud-coréen",
+ "symbol": "₩"
+ },
+ "JPY": {
+ "name": "yen japonais"
+ },
+ "CNY": {
+ "name": "yuan renminbi chinois"
+ },
+ "PLN": {
+ "name": "zloty polonais"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/fur.json b/vendor/commerceguys/intl/resources/currency/fur.json
new file mode 100644
index 000000000..2ae5571c7
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/fur.json
@@ -0,0 +1,496 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar"
+ },
+ "THB": {
+ "name": "baht tailandês"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswanan Pula"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "KMF": {
+ "name": "Comorian Franc"
+ },
+ "CDF": {
+ "name": "Congolese Franc"
+ },
+ "NIO": {
+ "name": "Córdoba oro nicaraguan"
+ },
+ "DKK": {
+ "name": "corone danese"
+ },
+ "CZK": {
+ "name": "Corone de Republiche Ceche"
+ },
+ "NOK": {
+ "name": "corone norvegjese"
+ },
+ "SEK": {
+ "name": "corone svedese"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "DZD": {
+ "name": "Dinar algerin"
+ },
+ "RSD": {
+ "name": "Dinar serp"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc"
+ },
+ "USD": {
+ "name": "dolar american",
+ "symbol": "US$"
+ },
+ "AUD": {
+ "name": "dolar australian",
+ "symbol": "A$"
+ },
+ "CAD": {
+ "name": "dolar canadês",
+ "symbol": "CA$"
+ },
+ "BND": {
+ "name": "Dolar dal Brunei"
+ },
+ "HKD": {
+ "name": "dolar di Hong Kong",
+ "symbol": "HK$"
+ },
+ "NAD": {
+ "name": "Dolar namibian"
+ },
+ "NZD": {
+ "name": "Dollar neozelandês",
+ "symbol": "NZ$"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "AMD": {
+ "name": "Dram armen"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr"
+ },
+ "EUR": {
+ "name": "euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "BIF": {
+ "name": "Franc burundês"
+ },
+ "CHF": {
+ "name": "franc svuizar"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "TWD": {
+ "name": "gnûf dolar taiwanês",
+ "symbol": "NT$"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kenyan Shilling"
+ },
+ "HRK": {
+ "name": "Kuna cravuate"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LRD": {
+ "name": "Liberian Dollar"
+ },
+ "LYD": {
+ "name": "Libyan Dinar"
+ },
+ "TRY": {
+ "name": "lire turche"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "NGN": {
+ "name": "Nigerian Naira"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "ARS": {
+ "name": "Peso argjentin"
+ },
+ "CUP": {
+ "name": "Peso cuban"
+ },
+ "MXN": {
+ "name": "peso messican",
+ "symbol": "MX$"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "ZAR": {
+ "name": "rand sudafrican"
+ },
+ "BRL": {
+ "name": "real brasilian",
+ "symbol": "R$"
+ },
+ "IRR": {
+ "name": "Rial iranian"
+ },
+ "SAR": {
+ "name": "riyal de Arabie Saudite"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "BYN": {
+ "name": "Rubli bielorùs"
+ },
+ "BYR": {
+ "name": "Rubli bielorùs (2000–2016)"
+ },
+ "RUB": {
+ "name": "rubli rus"
+ },
+ "IDR": {
+ "name": "rupiah indonesiane"
+ },
+ "INR": {
+ "name": "rupie indiane",
+ "symbol": "₹"
+ },
+ "PKR": {
+ "name": "Rupie pachistane"
+ },
+ "RWF": {
+ "name": "Rwandan Franc"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somali Shilling"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SHP": {
+ "name": "St. Helena Pound"
+ },
+ "GBP": {
+ "name": "sterline britaniche",
+ "symbol": "£"
+ },
+ "SDG": {
+ "name": "Sudanese Pound"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunisian Dinar"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "KRW": {
+ "name": "won de Coree dal Sud",
+ "symbol": "₩"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "JPY": {
+ "name": "yen gjaponês",
+ "symbol": "JP¥"
+ },
+ "CNY": {
+ "name": "yuan cinês",
+ "symbol": "CN¥"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ },
+ "PLN": {
+ "name": "zloty polac"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/fy.json b/vendor/commerceguys/intl/resources/currency/fy.json
new file mode 100644
index 000000000..2525eebda
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/fy.json
@@ -0,0 +1,498 @@
+{
+ "AFN": {
+ "name": "Afghaanske afghani"
+ },
+ "ALL": {
+ "name": "Albanese lek"
+ },
+ "DZD": {
+ "name": "Algerynske dinar"
+ },
+ "USD": {
+ "name": "Amerikaanske dollar",
+ "symbol": "US$"
+ },
+ "AOA": {
+ "name": "Angolese kwanza"
+ },
+ "ARS": {
+ "name": "Argentynske peso"
+ },
+ "AMD": {
+ "name": "Armeense dram"
+ },
+ "AWG": {
+ "name": "Arubaanske gulden"
+ },
+ "AUD": {
+ "name": "Australyske dollar",
+ "symbol": "AU$"
+ },
+ "AZN": {
+ "name": "Azerbeidzjaanske manat"
+ },
+ "BSD": {
+ "name": "Bahamaanske dollar"
+ },
+ "BHD": {
+ "name": "Bahreinse dinar"
+ },
+ "BBD": {
+ "name": "Barbadaanske dollar"
+ },
+ "BZD": {
+ "name": "Belizaanske dollar"
+ },
+ "BDT": {
+ "name": "Bengalese taka"
+ },
+ "BMD": {
+ "name": "Bermuda-dollar"
+ },
+ "BTN": {
+ "name": "Bhutaanske ngultrum"
+ },
+ "BOB": {
+ "name": "Boliviaanske boliviano"
+ },
+ "BAM": {
+ "name": "Bosnyske convertibele mark"
+ },
+ "BWP": {
+ "name": "Botswaanske pula"
+ },
+ "BRL": {
+ "name": "Braziliaanske real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "Brits pûn",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Bruneise dollar"
+ },
+ "BGN": {
+ "name": "Bulgaarse lev"
+ },
+ "BIF": {
+ "name": "Burundese frank"
+ },
+ "CAD": {
+ "name": "Canadese dollar",
+ "symbol": "C$"
+ },
+ "KYD": {
+ "name": "Caymaneilânske dollar"
+ },
+ "XOF": {
+ "name": "CFA-franc BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "CFA-frank",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP-franc"
+ },
+ "CDF": {
+ "name": "Congolese frank"
+ },
+ "CRC": {
+ "name": "Costaricaanske colón"
+ },
+ "DKK": {
+ "name": "Deenske kroon"
+ },
+ "DJF": {
+ "name": "Djiboutiaanske frank"
+ },
+ "DOP": {
+ "name": "Dominikaanske peso"
+ },
+ "XCD": {
+ "name": "East-Karibyske dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptysk pûn"
+ },
+ "ERN": {
+ "name": "Eritrese nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopyske birr"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falklâneilânske pûn"
+ },
+ "VEF": {
+ "name": "Fenezolaanske bolivar"
+ },
+ "VND": {
+ "name": "Fietnameeske dong",
+ "symbol": "₫"
+ },
+ "FJD": {
+ "name": "Fiji-dollar",
+ "symbol": "FJ$"
+ },
+ "PHP": {
+ "name": "Filipynske peso"
+ },
+ "GMD": {
+ "name": "Gambiaanske dalasi"
+ },
+ "GEL": {
+ "name": "Georgyske lari"
+ },
+ "GHS": {
+ "name": "Ghanese cedi"
+ },
+ "GIP": {
+ "name": "Gibraltarees pûn"
+ },
+ "GTQ": {
+ "name": "Guatemalteekse quetzal"
+ },
+ "GNF": {
+ "name": "Guinese franc"
+ },
+ "GYD": {
+ "name": "Guyaanske dollar"
+ },
+ "HTG": {
+ "name": "Haïtiaanske gourde"
+ },
+ "HNL": {
+ "name": "Hondurese lempira"
+ },
+ "HUF": {
+ "name": "Hongaarse forint"
+ },
+ "HKD": {
+ "name": "Hongkongske dollar",
+ "symbol": "HK$"
+ },
+ "INR": {
+ "name": "Indiase roepie",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesyske roepia"
+ },
+ "IQD": {
+ "name": "Iraakse dinar"
+ },
+ "IRR": {
+ "name": "Iraanske rial"
+ },
+ "ILS": {
+ "name": "Israëlyske nieuwe shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaikaanske dollar"
+ },
+ "JPY": {
+ "name": "Japanse yen",
+ "symbol": "JP¥"
+ },
+ "YER": {
+ "name": "Jemenityske rial"
+ },
+ "JOD": {
+ "name": "Jordaanske dinar"
+ },
+ "CVE": {
+ "name": "Kaapverdyske escudo"
+ },
+ "KHR": {
+ "name": "Kambodjaanske riel"
+ },
+ "QAR": {
+ "name": "Katarese rial"
+ },
+ "KZT": {
+ "name": "Kazachstaanske tenge"
+ },
+ "KES": {
+ "name": "Keniaanske shilling"
+ },
+ "KGS": {
+ "name": "Kirgizyske som"
+ },
+ "KWD": {
+ "name": "Koeweitse dinar"
+ },
+ "COP": {
+ "name": "Kolombiaanske peso"
+ },
+ "KMF": {
+ "name": "Komorese frank"
+ },
+ "HRK": {
+ "name": "Kroatyske kuna"
+ },
+ "CUC": {
+ "name": "Kubaanske convertibele peso"
+ },
+ "CUP": {
+ "name": "Kubaanske peso"
+ },
+ "LAK": {
+ "name": "Laotiaanske kip"
+ },
+ "LSL": {
+ "name": "Lesothaanske loti"
+ },
+ "LBP": {
+ "name": "Libaneeske pûn"
+ },
+ "LRD": {
+ "name": "Liberiaanske dollar"
+ },
+ "LYD": {
+ "name": "Libyske dinar"
+ },
+ "MOP": {
+ "name": "Macause pataca"
+ },
+ "MKD": {
+ "name": "Macedonyske denar"
+ },
+ "MGA": {
+ "name": "Malagassyske ariary"
+ },
+ "MWK": {
+ "name": "Malawyske kwacha"
+ },
+ "MVR": {
+ "name": "Maldivyske rufiyaa"
+ },
+ "MYR": {
+ "name": "Maleisyske ringgit"
+ },
+ "MAD": {
+ "name": "Marokkaanske dirham"
+ },
+ "MRO": {
+ "name": "Mauritaanske ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritiaanske roepie"
+ },
+ "MXN": {
+ "name": "Meksikaanske peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldavyske leu"
+ },
+ "MNT": {
+ "name": "Mongoalske tugrik"
+ },
+ "MZN": {
+ "name": "Mozambikaanske metical"
+ },
+ "MMK": {
+ "name": "Myanmarese kyat"
+ },
+ "NAD": {
+ "name": "Namibyske dollar"
+ },
+ "ANG": {
+ "name": "Nederlânsk-Antilliaanske gûne"
+ },
+ "NPR": {
+ "name": "Nepalese roepie"
+ },
+ "NIO": {
+ "name": "Nicaraguaanske córdoba"
+ },
+ "NGN": {
+ "name": "Nigeriaanske naira"
+ },
+ "NZD": {
+ "name": "Nij-Seelânske dollar",
+ "symbol": "NZ$"
+ },
+ "TWD": {
+ "name": "Nije Taiwanese dollar",
+ "symbol": "NT$"
+ },
+ "KPW": {
+ "name": "Noard-Koreaanske won"
+ },
+ "NOK": {
+ "name": "Noarske kroon"
+ },
+ "UGX": {
+ "name": "Oegandese shilling"
+ },
+ "UAH": {
+ "name": "Oekraïense hryvnia"
+ },
+ "UZS": {
+ "name": "Oezbekistaanske sum"
+ },
+ "OMR": {
+ "name": "Omaanske rial"
+ },
+ "PKR": {
+ "name": "Pakistaanske roepie"
+ },
+ "PAB": {
+ "name": "Panamese balboa"
+ },
+ "PGK": {
+ "name": "Papuaanske kina"
+ },
+ "PYG": {
+ "name": "Paraguayaanske guarani"
+ },
+ "PEN": {
+ "name": "Peruaanske nieuwe sol"
+ },
+ "PLN": {
+ "name": "Poalske zloty"
+ },
+ "RON": {
+ "name": "Roemeenske leu"
+ },
+ "RUB": {
+ "name": "Russyske roebel"
+ },
+ "RWF": {
+ "name": "Rwandese frank"
+ },
+ "SBD": {
+ "name": "Salomon-dollar",
+ "symbol": "SI$"
+ },
+ "SVC": {
+ "name": "Salvadoraanske colón"
+ },
+ "ZMW": {
+ "name": "Sambiaanske kwacha"
+ },
+ "WST": {
+ "name": "Samoaanske tala"
+ },
+ "STD": {
+ "name": "Santomese dobra"
+ },
+ "SAR": {
+ "name": "Saoedi-Arabyske riyal"
+ },
+ "RSD": {
+ "name": "Servyske dinar"
+ },
+ "SCR": {
+ "name": "Seychelse roepie"
+ },
+ "SLL": {
+ "name": "Sierraleoonse leone"
+ },
+ "CLP": {
+ "name": "Sileenske peso"
+ },
+ "ZWL": {
+ "name": "Simbabwaanske dollar (2009)"
+ },
+ "CNY": {
+ "name": "Sineeske yuan renminbi",
+ "symbol": "CN¥"
+ },
+ "SGD": {
+ "name": "Singaporese dollar"
+ },
+ "SHP": {
+ "name": "Sint-Heleenske pûn"
+ },
+ "SDG": {
+ "name": "Soedaneeske pûn"
+ },
+ "SOS": {
+ "name": "Somalyske shilling"
+ },
+ "LKR": {
+ "name": "Sri Lankaanske roepie"
+ },
+ "ZAR": {
+ "name": "Sûd-Afrikaanske rand"
+ },
+ "KRW": {
+ "name": "Sûd-Koreaanske won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "Sûd-Soedaneeske pûn"
+ },
+ "SRD": {
+ "name": "Surinaamske dollar"
+ },
+ "SZL": {
+ "name": "Swazyske lilangeni"
+ },
+ "SEK": {
+ "name": "Sweedske kroon"
+ },
+ "SYP": {
+ "name": "Syrysk pûn"
+ },
+ "TJS": {
+ "name": "Tadzjikistaanske somoni"
+ },
+ "TZS": {
+ "name": "Tanzaniaanske shilling"
+ },
+ "THB": {
+ "name": "Thaise baht",
+ "symbol": "฿"
+ },
+ "TOP": {
+ "name": "Tongaanske paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad en Tobago-dollar"
+ },
+ "CZK": {
+ "name": "Tsjechyske kroon"
+ },
+ "TND": {
+ "name": "Tunesyske dinar"
+ },
+ "TMT": {
+ "name": "Turkmeense manat"
+ },
+ "TRY": {
+ "name": "Turkse lira"
+ },
+ "UYU": {
+ "name": "Uruguayaanske peso"
+ },
+ "VUV": {
+ "name": "Vanuatuaanske vatu"
+ },
+ "AED": {
+ "name": "Verenigde Arabyske Emiraten-dirham"
+ },
+ "BYN": {
+ "name": "Wit-Russyske roebel"
+ },
+ "BYR": {
+ "name": "Wit-Russyske roebel (2000–2016)"
+ },
+ "ISK": {
+ "name": "Yslânske kroon"
+ },
+ "CHF": {
+ "name": "Zwitserse frank"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/ga.json b/vendor/commerceguys/intl/resources/currency/ga.json
new file mode 100644
index 000000000..a7796a1f1
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/ga.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afghani na hAfganastáine"
+ },
+ "MGA": {
+ "name": "Ariary Mhadagascar"
+ },
+ "THB": {
+ "name": "Baht na Téalainne",
+ "symbol": "฿"
+ },
+ "PAB": {
+ "name": "Balboa Phanama"
+ },
+ "ETB": {
+ "name": "Birr na hAetóipe"
+ },
+ "VEF": {
+ "name": "Bolívar Veiniséala"
+ },
+ "BOB": {
+ "name": "Boliviano"
+ },
+ "GHS": {
+ "name": "Cedi Ghána"
+ },
+ "CRC": {
+ "name": "Colón Chósta Ríce"
+ },
+ "SVC": {
+ "name": "Colón na Salvadóire"
+ },
+ "NIO": {
+ "name": "Córdoba Nicearagua"
+ },
+ "DKK": {
+ "name": "Coróin na Danmhairge"
+ },
+ "NOK": {
+ "name": "Coróin na hIorua"
+ },
+ "SEK": {
+ "name": "Coróin na Sualainne"
+ },
+ "GMD": {
+ "name": "Dalasi na Gaimbia"
+ },
+ "MKD": {
+ "name": "Denar na Macadóine"
+ },
+ "BHD": {
+ "name": "Dinar Bhairéin"
+ },
+ "KWD": {
+ "name": "Dinar Chuáit"
+ },
+ "DZD": {
+ "name": "Dinar na hAilgéire"
+ },
+ "IQD": {
+ "name": "Dinar na hIaráice"
+ },
+ "JOD": {
+ "name": "Dinar na hIordáine"
+ },
+ "LYD": {
+ "name": "Dinar na Libia"
+ },
+ "RSD": {
+ "name": "Dinar na Seirbia"
+ },
+ "TND": {
+ "name": "Dinar na Túinéise"
+ },
+ "AED": {
+ "name": "Dirham Aontas na nÉimíríochtaí Arabacha"
+ },
+ "MAD": {
+ "name": "Dirham Mharacó"
+ },
+ "STD": {
+ "name": "Dobra São Tomé agus Príncipe"
+ },
+ "BBD": {
+ "name": "Dollar Bharbadós"
+ },
+ "BMD": {
+ "name": "Dollar Bheirmiúda"
+ },
+ "BND": {
+ "name": "Dollar Bhrúiné"
+ },
+ "CAD": {
+ "name": "Dollar Cheanada",
+ "symbol": "CA$"
+ },
+ "FJD": {
+ "name": "Dollar Fhidsí"
+ },
+ "HKD": {
+ "name": "Dollar Hong Cong",
+ "symbol": "HK$"
+ },
+ "BZD": {
+ "name": "Dollar na Beilíse"
+ },
+ "XCD": {
+ "name": "Dollar na Cairibe Thoir",
+ "symbol": "EC$"
+ },
+ "GYD": {
+ "name": "Dollar na Guáine"
+ },
+ "AUD": {
+ "name": "Dollar na hAstráile",
+ "symbol": "A$"
+ },
+ "JMD": {
+ "name": "Dollar na hIamáice"
+ },
+ "LRD": {
+ "name": "Dollar na Libéire"
+ },
+ "BSD": {
+ "name": "Dollar na mBahámaí"
+ },
+ "NAD": {
+ "name": "Dollar na Namaibe"
+ },
+ "NZD": {
+ "name": "Dollar na Nua-Shéalainne",
+ "symbol": "NZ$"
+ },
+ "TWD": {
+ "name": "Dollar Nua na Téaváine",
+ "symbol": "NT$"
+ },
+ "KYD": {
+ "name": "Dollar Oileáin Cayman"
+ },
+ "SBD": {
+ "name": "Dollar Oileáin Sholomón"
+ },
+ "TTD": {
+ "name": "Dollar Oileán na Tríonóide agus Tobága"
+ },
+ "USD": {
+ "name": "Dollar S.A.M.",
+ "symbol": "$"
+ },
+ "SGD": {
+ "name": "Dollar Shingeapór"
+ },
+ "SRD": {
+ "name": "Dollar Shuranam"
+ },
+ "VND": {
+ "name": "Dong Vítneam",
+ "symbol": "₫"
+ },
+ "AMD": {
+ "name": "Dram na hAirméine"
+ },
+ "CVE": {
+ "name": "Escudo Rinn Verde"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "AWG": {
+ "name": "Flóirín Arúba"
+ },
+ "HUF": {
+ "name": "Forint na hUngáire"
+ },
+ "CDF": {
+ "name": "Franc an Chongó"
+ },
+ "XOF": {
+ "name": "Franc CFA Iarthar na hAfraice",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Franc CFA na hAfraice Láir",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "Franc CFP",
+ "symbol": "CFPF"
+ },
+ "DJF": {
+ "name": "Franc Djibouti"
+ },
+ "BIF": {
+ "name": "Franc na Burúine"
+ },
+ "GNF": {
+ "name": "Franc na Guine"
+ },
+ "CHF": {
+ "name": "Franc na hEilvéise"
+ },
+ "KMF": {
+ "name": "Franc Oileáin Chomóra"
+ },
+ "RWF": {
+ "name": "Franc Ruanda"
+ },
+ "ANG": {
+ "name": "Gildear Aintillí na hÍsiltíre"
+ },
+ "HTG": {
+ "name": "Gourde Háítí"
+ },
+ "PYG": {
+ "name": "Guaraní Pharagua"
+ },
+ "UAH": {
+ "name": "Hryvnia na hÚcráine"
+ },
+ "PGK": {
+ "name": "Kina Nua-Ghuine Phapua"
+ },
+ "LAK": {
+ "name": "Kip Laos"
+ },
+ "CZK": {
+ "name": "Koruna Phoblacht na Seice"
+ },
+ "ISK": {
+ "name": "Króna na hÍoslainne"
+ },
+ "HRK": {
+ "name": "Kuna na Cróite"
+ },
+ "MWK": {
+ "name": "Kwacha na Maláive"
+ },
+ "ZMW": {
+ "name": "Kwacha na Saimbia"
+ },
+ "AOA": {
+ "name": "Kwanza Angóla"
+ },
+ "MMK": {
+ "name": "Kyat Mhaenmar"
+ },
+ "GEL": {
+ "name": "Lari na Seoirsia"
+ },
+ "ALL": {
+ "name": "Lek na hAlbáine"
+ },
+ "HNL": {
+ "name": "Lempira Hondúras"
+ },
+ "SLL": {
+ "name": "Leone Shiarra Leon"
+ },
+ "MDL": {
+ "name": "Leu na Moldóive"
+ },
+ "RON": {
+ "name": "Leu na Rómáine"
+ },
+ "BGN": {
+ "name": "Lev na Bulgáire"
+ },
+ "SZL": {
+ "name": "Lilangeni na Suasalainne"
+ },
+ "TRY": {
+ "name": "Lira na Tuirce"
+ },
+ "LSL": {
+ "name": "Loti Leosóta"
+ },
+ "AZN": {
+ "name": "Manat na hAsarbaiseáine"
+ },
+ "TMT": {
+ "name": "Manat na Tuircméanastáine"
+ },
+ "BAM": {
+ "name": "Marg Inmhalartaithe na Boisnia-Heirseagaivéine"
+ },
+ "MZN": {
+ "name": "Metical Mhósaimbíc"
+ },
+ "NGN": {
+ "name": "Naira na Nigéire"
+ },
+ "ERN": {
+ "name": "Nakfa na hEiritré"
+ },
+ "BTN": {
+ "name": "Ngultrum na Bútáine"
+ },
+ "PEN": {
+ "name": "Nuevo Sol Pheiriú"
+ },
+ "MRO": {
+ "name": "Ouguiya na Máratáine"
+ },
+ "TOP": {
+ "name": "Paʻanga Thonga"
+ },
+ "MOP": {
+ "name": "Pataca Mhacao"
+ },
+ "CUP": {
+ "name": "Peso Chúba"
+ },
+ "CUC": {
+ "name": "Peso Inmhalartaithe Chúba"
+ },
+ "MXN": {
+ "name": "Peso Mheicsiceo",
+ "symbol": "MX$"
+ },
+ "COP": {
+ "name": "Peso na Colóime"
+ },
+ "ARS": {
+ "name": "Peso na hAirgintíne"
+ },
+ "PHP": {
+ "name": "Peso na nOileán Filipíneach"
+ },
+ "DOP": {
+ "name": "Peso na Poblachta Doiminicí"
+ },
+ "CLP": {
+ "name": "Peso na Sile"
+ },
+ "UYU": {
+ "name": "Peso Uragua"
+ },
+ "BWP": {
+ "name": "Pula na Botsuáine"
+ },
+ "GIP": {
+ "name": "Punt Ghiobráltar"
+ },
+ "EGP": {
+ "name": "Punt na hÉigipte"
+ },
+ "LBP": {
+ "name": "Punt na Liobáine"
+ },
+ "SYP": {
+ "name": "Punt na Siria"
+ },
+ "SDG": {
+ "name": "Punt na Súdáine"
+ },
+ "SSP": {
+ "name": "Punt na Súdáine Theas"
+ },
+ "FKP": {
+ "name": "Punt Oileáin Fháclainne"
+ },
+ "SHP": {
+ "name": "Punt San Héilin"
+ },
+ "GBP": {
+ "name": "Punt Steirling",
+ "symbol": "£"
+ },
+ "GTQ": {
+ "name": "Quetzal Ghuatamala"
+ },
+ "ZAR": {
+ "name": "Rand na hAfraice Theas"
+ },
+ "BRL": {
+ "name": "Real na Brasaíle",
+ "symbol": "R$"
+ },
+ "YER": {
+ "name": "Rial Éimin"
+ },
+ "IRR": {
+ "name": "Rial na hIaráine"
+ },
+ "OMR": {
+ "name": "Rial Óman"
+ },
+ "KHR": {
+ "name": "Riel na Cambóide"
+ },
+ "MYR": {
+ "name": "Ringgit na Malaeisia"
+ },
+ "QAR": {
+ "name": "Riyal Chatar"
+ },
+ "SAR": {
+ "name": "Riyal na hAraibe Sádaí"
+ },
+ "BYN": {
+ "name": "Rúbal na Bealarúise"
+ },
+ "BYR": {
+ "name": "Rúbal na Bealarúise (2000–2016)"
+ },
+ "RUB": {
+ "name": "Rúbal na Rúise"
+ },
+ "MVR": {
+ "name": "Rufiyaa Oileáin Mhaildíve"
+ },
+ "INR": {
+ "name": "Rúipí na hIndia",
+ "symbol": "₹"
+ },
+ "PKR": {
+ "name": "Rúipí na Pacastáine"
+ },
+ "SCR": {
+ "name": "Rúipí na Séiséal"
+ },
+ "NPR": {
+ "name": "Rúipí Neipeal"
+ },
+ "MUR": {
+ "name": "Rúipí Oileán Mhuirís"
+ },
+ "LKR": {
+ "name": "Rúipí Shrí Lanca"
+ },
+ "IDR": {
+ "name": "Rupiah na hIndinéise"
+ },
+ "KES": {
+ "name": "Scilling na Céinia"
+ },
+ "SOS": {
+ "name": "Scilling na Somáile"
+ },
+ "TZS": {
+ "name": "Scilling na Tansáine"
+ },
+ "UGX": {
+ "name": "Scilling Uganda"
+ },
+ "ILS": {
+ "name": "Seiceal Nua Iosrael",
+ "symbol": "₪"
+ },
+ "KGS": {
+ "name": "Som na Cirgeastáine"
+ },
+ "TJS": {
+ "name": "Somoni na Táidsíceastáine"
+ },
+ "UZS": {
+ "name": "Sum na hÚisbéiceastáine"
+ },
+ "BDT": {
+ "name": "Taka na Banglaidéise"
+ },
+ "WST": {
+ "name": "Tala Shamó"
+ },
+ "KZT": {
+ "name": "Tenge na Casacstáine"
+ },
+ "MNT": {
+ "name": "Tugrik na Mongóile"
+ },
+ "VUV": {
+ "name": "Vatu Vanuatú"
+ },
+ "KRW": {
+ "name": "Won na Cóiré Theas",
+ "symbol": "₩"
+ },
+ "KPW": {
+ "name": "Won na Cóiré Thuaidh"
+ },
+ "JPY": {
+ "name": "Yen na Seapáine",
+ "symbol": "¥"
+ },
+ "CNY": {
+ "name": "Yuan na Síne",
+ "symbol": "CN¥"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ },
+ "PLN": {
+ "name": "Zloty na Polainne"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/gd.json b/vendor/commerceguys/intl/resources/currency/gd.json
new file mode 100644
index 000000000..e1ab68fe9
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/gd.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afghani Afghanach"
+ },
+ "MGA": {
+ "name": "Ariary Madagasgarach"
+ },
+ "THB": {
+ "name": "Baht Tàidheach",
+ "symbol": "฿"
+ },
+ "PAB": {
+ "name": "Balboa Panamach"
+ },
+ "ETB": {
+ "name": "Birr Itiopach"
+ },
+ "VEF": {
+ "name": "Bolívar Bheinisealach"
+ },
+ "BOB": {
+ "name": "Boliviano Boilibhiach"
+ },
+ "GHS": {
+ "name": "Cedi Gànach"
+ },
+ "CRC": {
+ "name": "Colón Costa Rìceach"
+ },
+ "SVC": {
+ "name": "Colón Salbhadorach"
+ },
+ "NIO": {
+ "name": "Córdoba Niocaragach"
+ },
+ "GMD": {
+ "name": "Dalasi Gaimbitheach"
+ },
+ "MKD": {
+ "name": "Denar Masadonach"
+ },
+ "DZD": {
+ "name": "Dinar Aildireach"
+ },
+ "BHD": {
+ "name": "Dinar Bachraineach"
+ },
+ "KWD": {
+ "name": "Dinar Cuibhèiteach"
+ },
+ "IQD": {
+ "name": "Dinar Ioràcach"
+ },
+ "JOD": {
+ "name": "Dinar Iòrdanach"
+ },
+ "LYD": {
+ "name": "Dinar Libitheach"
+ },
+ "RSD": {
+ "name": "Dinar Sèirbeach"
+ },
+ "TND": {
+ "name": "Dinar Tuiniseach"
+ },
+ "MAD": {
+ "name": "Dirham Morocach"
+ },
+ "AED": {
+ "name": "Dirham nan Iomaratan Arabach Aonaichte"
+ },
+ "STD": {
+ "name": "Dobra São Tomé agus Príncipe"
+ },
+ "AUD": {
+ "name": "Dolar Astràilianach",
+ "symbol": "A$"
+ },
+ "BBD": {
+ "name": "Dolar Barbadach"
+ },
+ "BSD": {
+ "name": "Dolar Bathamach"
+ },
+ "BMD": {
+ "name": "Dolar Bearmùdach"
+ },
+ "BZD": {
+ "name": "Dolar Beilìseach"
+ },
+ "BND": {
+ "name": "Dolar Brùnaigheach"
+ },
+ "KYD": {
+ "name": "Dolar Caimeanach"
+ },
+ "CAD": {
+ "name": "Dolar Canadach",
+ "symbol": "CA$"
+ },
+ "XCD": {
+ "name": "Dolar Caraibeach earach",
+ "symbol": "EC$"
+ },
+ "JMD": {
+ "name": "Dolar Diameugach"
+ },
+ "SBD": {
+ "name": "Dolar Eileanan Sholaimh"
+ },
+ "FJD": {
+ "name": "Dolar Fìditheach"
+ },
+ "GYD": {
+ "name": "Dolar Guidheànach"
+ },
+ "HKD": {
+ "name": "Dolar Hong Kong",
+ "symbol": "HK$"
+ },
+ "LRD": {
+ "name": "Dolar Libèireach"
+ },
+ "NAD": {
+ "name": "Dolar Naimibitheach"
+ },
+ "USD": {
+ "name": "Dolar nan Stàitean Aonaichte",
+ "symbol": "$"
+ },
+ "NZD": {
+ "name": "Dolar Shealainn Nuaidh",
+ "symbol": "NZ$"
+ },
+ "SGD": {
+ "name": "Dolar Singeapòrach"
+ },
+ "ZWL": {
+ "name": "Dolar Sìombabuthach (2009)"
+ },
+ "SRD": {
+ "name": "Dolar Suranamach"
+ },
+ "TTD": {
+ "name": "Dolar Thrianaid agus Thobago"
+ },
+ "TWD": {
+ "name": "Dolar ùr Taidh-Bhànach",
+ "symbol": "NT$"
+ },
+ "VND": {
+ "name": "Dong Bhiet-Namach",
+ "symbol": "₫"
+ },
+ "AMD": {
+ "name": "Dram Airmeineach"
+ },
+ "EUR": {
+ "name": "Eòro",
+ "symbol": "€"
+ },
+ "CVE": {
+ "name": "Escudo a’ Chip Uaine"
+ },
+ "AWG": {
+ "name": "Florin Arùbach"
+ },
+ "HUF": {
+ "name": "Forint Ungaireach"
+ },
+ "BIF": {
+ "name": "Franc Burundaidheach"
+ },
+ "XOF": {
+ "name": "Franc CFA Afraga an Iar",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Franc CFA Meadhan-Afragach",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "Franc CFP",
+ "symbol": "CFPF"
+ },
+ "KMF": {
+ "name": "Franc Comorosach"
+ },
+ "CDF": {
+ "name": "Franc Congothach"
+ },
+ "DJF": {
+ "name": "Franc Diobùtaidheach"
+ },
+ "CHF": {
+ "name": "Franc Eilbheiseach"
+ },
+ "GNF": {
+ "name": "Franc Ginitheach"
+ },
+ "RWF": {
+ "name": "Franc Rubhandach"
+ },
+ "HTG": {
+ "name": "Gourde Haidhteach"
+ },
+ "PYG": {
+ "name": "Guaraní Paraguaidheach"
+ },
+ "ANG": {
+ "name": "Gulden Eileanan Aintilia nan Tìrean Ìsle"
+ },
+ "UAH": {
+ "name": "Hryvnia Ucràineach"
+ },
+ "PGK": {
+ "name": "Kina Ghini Nuaidh Paputhaiche"
+ },
+ "LAK": {
+ "name": "Kip Làthosach"
+ },
+ "CZK": {
+ "name": "Koruna Seiceach"
+ },
+ "ISK": {
+ "name": "Króna Innis Tìleach"
+ },
+ "SEK": {
+ "name": "Krona Suaineach"
+ },
+ "DKK": {
+ "name": "Krone Danmhairgeach"
+ },
+ "NOK": {
+ "name": "Krone Nirribheach"
+ },
+ "HRK": {
+ "name": "Kuna Cròthaiseach"
+ },
+ "MWK": {
+ "name": "Kwacha Malabhaidheach"
+ },
+ "ZMW": {
+ "name": "Kwacha Sàimbitheach"
+ },
+ "AOA": {
+ "name": "Kwanza Angòlach"
+ },
+ "MMK": {
+ "name": "Kyat Miànmarach"
+ },
+ "GEL": {
+ "name": "Lari Cairtbheileach"
+ },
+ "ALL": {
+ "name": "Lek Albàineach"
+ },
+ "HNL": {
+ "name": "Lempira Hondùrach"
+ },
+ "SLL": {
+ "name": "Leone Siarra Leòmhannach"
+ },
+ "MDL": {
+ "name": "Leu Moldobhach"
+ },
+ "RON": {
+ "name": "Leu Romàineach"
+ },
+ "BGN": {
+ "name": "Lev Bulgarach"
+ },
+ "SZL": {
+ "name": "Lilangeni Suasaidheach"
+ },
+ "TRY": {
+ "name": "Lira Turcach"
+ },
+ "LSL": {
+ "name": "Loti Leasotach"
+ },
+ "AZN": {
+ "name": "Manat Asarbaideànach"
+ },
+ "TMT": {
+ "name": "Manat Turcmanach"
+ },
+ "BAM": {
+ "name": "Mark iompachail Bhosna agus Hearsagobhana"
+ },
+ "MZN": {
+ "name": "Metical Mòsaimbiceach"
+ },
+ "NGN": {
+ "name": "Naira Nigèiriach"
+ },
+ "ERN": {
+ "name": "Nakfa Eartrach"
+ },
+ "BTN": {
+ "name": "Ngultrum Butànach"
+ },
+ "MRO": {
+ "name": "Ouguiya Moratàineach"
+ },
+ "TOP": {
+ "name": "Paʻanga Tongach"
+ },
+ "MOP": {
+ "name": "Pataca Macàthuach"
+ },
+ "ARS": {
+ "name": "Peso Argantaineach"
+ },
+ "COP": {
+ "name": "Peso Coloimbeach"
+ },
+ "CUP": {
+ "name": "Peso Cùbach"
+ },
+ "DOP": {
+ "name": "Peso Doiminiceach"
+ },
+ "PHP": {
+ "name": "Peso Filipineach"
+ },
+ "CUC": {
+ "name": "Peso iompachail Cùbach"
+ },
+ "MXN": {
+ "name": "Peso Meagsagach",
+ "symbol": "MX$"
+ },
+ "CLP": {
+ "name": "Peso Sileach"
+ },
+ "UYU": {
+ "name": "Peso Uruguaidheach"
+ },
+ "BWP": {
+ "name": "Pula Botsuanach"
+ },
+ "GIP": {
+ "name": "Punnd Diobraltarach"
+ },
+ "SHP": {
+ "name": "Punnd Eilean Naomh Eilidh"
+ },
+ "EGP": {
+ "name": "Punnd Èipheiteach"
+ },
+ "FKP": {
+ "name": "Punnd Fàclannach"
+ },
+ "LBP": {
+ "name": "Punnd Leabanach"
+ },
+ "GBP": {
+ "name": "Punnd Sasannach",
+ "symbol": "£"
+ },
+ "SYP": {
+ "name": "Punnd Siridheach"
+ },
+ "SSP": {
+ "name": "Punnd Sudàin a Deas"
+ },
+ "SDG": {
+ "name": "Punnd Sudànach"
+ },
+ "GTQ": {
+ "name": "Quetzal Guatamalach"
+ },
+ "ZAR": {
+ "name": "Rand Afraga a Deas"
+ },
+ "BRL": {
+ "name": "Real Braisileach",
+ "symbol": "R$"
+ },
+ "QAR": {
+ "name": "Rial Catarach"
+ },
+ "YER": {
+ "name": "Rial Eamanach"
+ },
+ "IRR": {
+ "name": "Rial Iorànach"
+ },
+ "OMR": {
+ "name": "Rial Omànach"
+ },
+ "KHR": {
+ "name": "Riel Cambuideach"
+ },
+ "MYR": {
+ "name": "Ringgit Malaidheach"
+ },
+ "SAR": {
+ "name": "Riyal Sabhdach"
+ },
+ "BYN": {
+ "name": "Rùbal Bealaruiseach"
+ },
+ "BYR": {
+ "name": "Rùbal Bealaruiseach (2000–2016)"
+ },
+ "RUB": {
+ "name": "Rùbal Ruiseach"
+ },
+ "MVR": {
+ "name": "Rufiyaa Maladaibheach"
+ },
+ "INR": {
+ "name": "Rupee Innseanach",
+ "symbol": "₹"
+ },
+ "MUR": {
+ "name": "Rupee Moiriseasach"
+ },
+ "NPR": {
+ "name": "Rupee Neapàlach"
+ },
+ "PKR": {
+ "name": "Rupee Pagastànach"
+ },
+ "SCR": {
+ "name": "Rupee Seiseallach"
+ },
+ "LKR": {
+ "name": "Rupee Sri Lancach"
+ },
+ "IDR": {
+ "name": "Rupiah Innd-Innseach"
+ },
+ "ILS": {
+ "name": "Sheqel ùr Iosraeleach",
+ "symbol": "₪"
+ },
+ "KES": {
+ "name": "Shilling Ceineach"
+ },
+ "SOS": {
+ "name": "Shilling Somàilitheach"
+ },
+ "TZS": {
+ "name": "Shilling Tansanaidheach"
+ },
+ "UGX": {
+ "name": "Shilling Ugandach"
+ },
+ "PEN": {
+ "name": "Sol ùr Pearùthach"
+ },
+ "KGS": {
+ "name": "Som Cìorgasach"
+ },
+ "UZS": {
+ "name": "Som Usbagach"
+ },
+ "TJS": {
+ "name": "Somoni Taidigeach"
+ },
+ "BDT": {
+ "name": "Taka Bangladaiseach"
+ },
+ "WST": {
+ "name": "Tala Samothach"
+ },
+ "KZT": {
+ "name": "Tenge Casachach"
+ },
+ "MNT": {
+ "name": "Tugrik Mongolach"
+ },
+ "VUV": {
+ "name": "Vatu Vanuatuthach"
+ },
+ "KRW": {
+ "name": "Won Choirèa a Deas",
+ "symbol": "₩"
+ },
+ "KPW": {
+ "name": "Won Choirèa a Tuath"
+ },
+ "JPY": {
+ "name": "Yen Seapanach",
+ "symbol": "JP¥"
+ },
+ "CNY": {
+ "name": "Yuan Sìneach",
+ "symbol": "CN¥"
+ },
+ "PLN": {
+ "name": "Złoty Pòlainneach"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/gl.json b/vendor/commerceguys/intl/resources/currency/gl.json
new file mode 100644
index 000000000..1746741d6
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/gl.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afgani afgano"
+ },
+ "MGA": {
+ "name": "Ariary malgaxe"
+ },
+ "THB": {
+ "name": "Baht tailandés",
+ "symbol": "฿"
+ },
+ "PAB": {
+ "name": "Balboa panameño"
+ },
+ "ETB": {
+ "name": "Birr etíope"
+ },
+ "VEF": {
+ "name": "Bolívar venezolano"
+ },
+ "BOB": {
+ "name": "Boliviano"
+ },
+ "GHS": {
+ "name": "Cedi de Ghana"
+ },
+ "CRC": {
+ "name": "Colón costarriqueño"
+ },
+ "SVC": {
+ "name": "Colón salvadoreño"
+ },
+ "NIO": {
+ "name": "Córdoba de ouro nicaraguano"
+ },
+ "CZK": {
+ "name": "Coroa checa"
+ },
+ "DKK": {
+ "name": "Coroa dinamarquesa"
+ },
+ "ISK": {
+ "name": "Coroa islandesa"
+ },
+ "NOK": {
+ "name": "Coroa norueguesa"
+ },
+ "SEK": {
+ "name": "Coroa sueca"
+ },
+ "GMD": {
+ "name": "Dalasi gambiano"
+ },
+ "DZD": {
+ "name": "Dinar alxeriano"
+ },
+ "BHD": {
+ "name": "Dinar de Bahrain"
+ },
+ "IQD": {
+ "name": "Dinar iraquí"
+ },
+ "KWD": {
+ "name": "Dinar kuwaití"
+ },
+ "LYD": {
+ "name": "Dinar libio"
+ },
+ "MKD": {
+ "name": "Dinar macedonio"
+ },
+ "RSD": {
+ "name": "Dinar serbio"
+ },
+ "TND": {
+ "name": "Dinar tunisiano"
+ },
+ "JOD": {
+ "name": "Dinar xordano"
+ },
+ "AED": {
+ "name": "Dirham dos Emiratos Árabes Unidos"
+ },
+ "MAD": {
+ "name": "Dirham marroquí"
+ },
+ "STD": {
+ "name": "Dobra de São Tomé e Príncipe"
+ },
+ "AUD": {
+ "name": "Dólar australiano",
+ "symbol": "$A"
+ },
+ "BZD": {
+ "name": "Dólar belizense"
+ },
+ "CAD": {
+ "name": "Dólar canadense",
+ "symbol": "$CA"
+ },
+ "BSD": {
+ "name": "Dólar das Bahamas"
+ },
+ "BMD": {
+ "name": "Dólar das Bemudas"
+ },
+ "KYD": {
+ "name": "Dólar das Illas Caimán"
+ },
+ "SBD": {
+ "name": "Dólar das Illas Salomón"
+ },
+ "BBD": {
+ "name": "Dólar de Barbados"
+ },
+ "BND": {
+ "name": "Dólar de Brunei"
+ },
+ "HKD": {
+ "name": "Dólar de Hong Kong",
+ "symbol": "HK$"
+ },
+ "SGD": {
+ "name": "Dólar de Singapur"
+ },
+ "TTD": {
+ "name": "Dólar de Trinidad e Tobago"
+ },
+ "XCD": {
+ "name": "Dólar do Caribe Oriental",
+ "symbol": "EC$"
+ },
+ "USD": {
+ "name": "Dólar estadounidense",
+ "symbol": "$"
+ },
+ "FJD": {
+ "name": "Dólar fidxiano"
+ },
+ "GYD": {
+ "name": "Dólar güianés"
+ },
+ "LRD": {
+ "name": "Dólar liberiano"
+ },
+ "NAD": {
+ "name": "Dólar namibio"
+ },
+ "NZD": {
+ "name": "Dólar neozelandés",
+ "symbol": "NZ$"
+ },
+ "SRD": {
+ "name": "Dólar surinamés"
+ },
+ "JMD": {
+ "name": "Dólar xamaicano"
+ },
+ "VND": {
+ "name": "Dong vietnamita",
+ "symbol": "₫"
+ },
+ "AMD": {
+ "name": "Dram armenio"
+ },
+ "CVE": {
+ "name": "Escudo caboverdiano"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "ANG": {
+ "name": "Florín das Antillas Neerlandesas"
+ },
+ "AWG": {
+ "name": "Florín de Aruba"
+ },
+ "HUF": {
+ "name": "Florín húngaro"
+ },
+ "BIF": {
+ "name": "Franco burundiano"
+ },
+ "XOF": {
+ "name": "Franco CFA (BCEAO)",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Franco CFA (BEAC)",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "Franco CFP",
+ "symbol": "CFPF"
+ },
+ "KMF": {
+ "name": "Franco comoriano"
+ },
+ "CDF": {
+ "name": "Franco congolés"
+ },
+ "GNF": {
+ "name": "Franco guineano"
+ },
+ "RWF": {
+ "name": "Franco ruandés"
+ },
+ "CHF": {
+ "name": "Franco suízo"
+ },
+ "DJF": {
+ "name": "Franco xibutiano"
+ },
+ "HTG": {
+ "name": "Gourde haitiano"
+ },
+ "PYG": {
+ "name": "Guaraní paraguaio"
+ },
+ "UAH": {
+ "name": "Hrivna ucraína"
+ },
+ "JPY": {
+ "name": "Ien xaponés",
+ "symbol": "JP¥"
+ },
+ "CNY": {
+ "name": "Iuán chinés",
+ "symbol": "CN¥"
+ },
+ "PGK": {
+ "name": "Kina de Papúa-Nova Guinea"
+ },
+ "LAK": {
+ "name": "Kip laosiano"
+ },
+ "HRK": {
+ "name": "Kuna croata"
+ },
+ "MWK": {
+ "name": "Kwacha de Malaui"
+ },
+ "ZMW": {
+ "name": "Kwacha zambiano"
+ },
+ "AOA": {
+ "name": "Kwanza angolano"
+ },
+ "MMK": {
+ "name": "Kyat birmano"
+ },
+ "GEL": {
+ "name": "Lari xeorxiano"
+ },
+ "ALL": {
+ "name": "Lek albanés"
+ },
+ "HNL": {
+ "name": "Lempira hondureño"
+ },
+ "SLL": {
+ "name": "Leone de Serra Leoa"
+ },
+ "MDL": {
+ "name": "Leu moldavo"
+ },
+ "RON": {
+ "name": "Leu romanés"
+ },
+ "BGN": {
+ "name": "Lev búlgaro"
+ },
+ "FKP": {
+ "name": "Libra das Malvinas"
+ },
+ "SHP": {
+ "name": "Libra de Santa Helena"
+ },
+ "GBP": {
+ "name": "Libra esterlina",
+ "symbol": "£"
+ },
+ "EGP": {
+ "name": "Libra exipcia"
+ },
+ "LBP": {
+ "name": "Libra libanesa"
+ },
+ "SYP": {
+ "name": "Libra siria"
+ },
+ "SDG": {
+ "name": "Libra sudanesa"
+ },
+ "SSP": {
+ "name": "Libra sursudanesa"
+ },
+ "GIP": {
+ "name": "libra xibraltareña"
+ },
+ "SZL": {
+ "name": "Lilangeni de Suacilandia"
+ },
+ "TRY": {
+ "name": "Lira turca"
+ },
+ "LSL": {
+ "name": "Loti de Lesoto"
+ },
+ "AZN": {
+ "name": "Manat acerbaixano"
+ },
+ "TMT": {
+ "name": "Manat turcomán"
+ },
+ "BAM": {
+ "name": "Marco convertible de Bosnia e Hercegovina"
+ },
+ "MZN": {
+ "name": "Metical de Mozambique"
+ },
+ "NGN": {
+ "name": "Naira nixeriano"
+ },
+ "ERN": {
+ "name": "Nakfa eritreo"
+ },
+ "BTN": {
+ "name": "Ngultrum butanés"
+ },
+ "TWD": {
+ "name": "Novo dólar taiwanés",
+ "symbol": "NT$"
+ },
+ "ILS": {
+ "name": "Novo shequel israelí",
+ "symbol": "₪"
+ },
+ "MRO": {
+ "name": "Ouguiya mauritano"
+ },
+ "TOP": {
+ "name": "Paʻanga de Tonga"
+ },
+ "MOP": {
+ "name": "Pataca de Macau"
+ },
+ "ARS": {
+ "name": "Peso arxentino"
+ },
+ "CLP": {
+ "name": "Peso chileno"
+ },
+ "COP": {
+ "name": "Peso colombiano"
+ },
+ "CUP": {
+ "name": "Peso cubano"
+ },
+ "CUC": {
+ "name": "Peso cubano convertible"
+ },
+ "DOP": {
+ "name": "Peso dominicano"
+ },
+ "PHP": {
+ "name": "Peso filipino"
+ },
+ "MXN": {
+ "name": "Peso mexicano",
+ "symbol": "$MX"
+ },
+ "UYU": {
+ "name": "Peso uruguaio"
+ },
+ "BWP": {
+ "name": "Pula botsuaniano"
+ },
+ "GTQ": {
+ "name": "Quetzal guatemalteco"
+ },
+ "ZAR": {
+ "name": "Rand surafricano"
+ },
+ "BRL": {
+ "name": "Real brasileiro",
+ "symbol": "$R"
+ },
+ "YER": {
+ "name": "Rial iemení"
+ },
+ "IRR": {
+ "name": "Rial iraniano"
+ },
+ "OMR": {
+ "name": "Rial omaní"
+ },
+ "QAR": {
+ "name": "Rial qatarí"
+ },
+ "SAR": {
+ "name": "Rial saudita"
+ },
+ "KHR": {
+ "name": "Riel camboxano"
+ },
+ "MYR": {
+ "name": "Ringgit malaio"
+ },
+ "BYN": {
+ "name": "Rublo bielorruso"
+ },
+ "BYR": {
+ "name": "Rublo bielorruso (2000–2016)"
+ },
+ "RUB": {
+ "name": "Rublo ruso"
+ },
+ "SCR": {
+ "name": "Rupia de Seixeles"
+ },
+ "LKR": {
+ "name": "Rupia de Sri Lanka"
+ },
+ "INR": {
+ "name": "Rupia india",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Rupia indonesia"
+ },
+ "MVR": {
+ "name": "Rupia maldivana"
+ },
+ "MUR": {
+ "name": "Rupia mauriciana"
+ },
+ "NPR": {
+ "name": "Rupia nepalesa"
+ },
+ "PKR": {
+ "name": "Rupia paquistaní"
+ },
+ "PEN": {
+ "name": "Sol peruano"
+ },
+ "KGS": {
+ "name": "Som quirguicistano"
+ },
+ "UZS": {
+ "name": "Som usbeco"
+ },
+ "TJS": {
+ "name": "Somoni taxiquistano"
+ },
+ "BDT": {
+ "name": "Taka de Bangladés"
+ },
+ "WST": {
+ "name": "Tala samoano"
+ },
+ "KZT": {
+ "name": "Tenge casaco"
+ },
+ "MNT": {
+ "name": "Tugrik mongol"
+ },
+ "VUV": {
+ "name": "Vatu vanuatiano"
+ },
+ "KPW": {
+ "name": "Won norcoreano"
+ },
+ "KRW": {
+ "name": "Won surcoreano",
+ "symbol": "₩"
+ },
+ "KES": {
+ "name": "Xilin kenyano"
+ },
+ "SOS": {
+ "name": "Xilin somalí"
+ },
+ "TZS": {
+ "name": "Xilin tanzano"
+ },
+ "UGX": {
+ "name": "Xilin ugandés"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ },
+ "PLN": {
+ "name": "Zloty polaco"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/gsw.json b/vendor/commerceguys/intl/resources/currency/gsw.json
new file mode 100644
index 000000000..4c4fd89ac
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/gsw.json
@@ -0,0 +1,496 @@
+{
+ "AFN": {
+ "name": "Afghani"
+ },
+ "EGP": {
+ "name": "Ägüptischs Pfund"
+ },
+ "DZD": {
+ "name": "Algeerischi Dinar"
+ },
+ "ARS": {
+ "name": "Argentinische Peso"
+ },
+ "AWG": {
+ "name": "Aruba Florin"
+ },
+ "AZN": {
+ "name": "Aserbeidschanische Manat"
+ },
+ "ETB": {
+ "name": "Äthiopische Birr"
+ },
+ "AUD": {
+ "name": "Auschtralische Dollar",
+ "symbol": "A$"
+ },
+ "BSD": {
+ "name": "Bahama-Dollar"
+ },
+ "BHD": {
+ "name": "Bahrain-Dinar"
+ },
+ "THB": {
+ "name": "Baht"
+ },
+ "PAB": {
+ "name": "Balboa"
+ },
+ "BBD": {
+ "name": "Barbados-Dollar"
+ },
+ "BYN": {
+ "name": "Belarus Rubel"
+ },
+ "BYR": {
+ "name": "Belarus Rubel (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize-Dollar"
+ },
+ "BMD": {
+ "name": "Bermuda-Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanische Ngultrum"
+ },
+ "VEF": {
+ "name": "Bolivar"
+ },
+ "BOB": {
+ "name": "Boliviano"
+ },
+ "BWP": {
+ "name": "Botswanische Pula"
+ },
+ "BRL": {
+ "name": "Brasilianische Real",
+ "symbol": "R$"
+ },
+ "BND": {
+ "name": "Brunei-Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarische Lew"
+ },
+ "BIF": {
+ "name": "Burundi-Franc"
+ },
+ "XAF": {
+ "name": "CFA-Franc (Äquatoriaal)",
+ "symbol": "FCFA"
+ },
+ "XOF": {
+ "name": "CFA-Franc (Wescht)",
+ "symbol": "CFA"
+ },
+ "XPF": {
+ "name": "CFP-Franc",
+ "symbol": "CFPF"
+ },
+ "CRC": {
+ "name": "Costa Rica Colon"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "MKD": {
+ "name": "Denar"
+ },
+ "STD": {
+ "name": "Dobra"
+ },
+ "VND": {
+ "name": "Dong",
+ "symbol": "₫"
+ },
+ "AMD": {
+ "name": "Dram"
+ },
+ "DJF": {
+ "name": "Dschibuti-Franc"
+ },
+ "SVC": {
+ "name": "El-Salvador-Colon"
+ },
+ "ERN": {
+ "name": "Eritreische Nakfa"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland-Pfund"
+ },
+ "FJD": {
+ "name": "Fidschi Dollar"
+ },
+ "HUF": {
+ "name": "Forint"
+ },
+ "GMD": {
+ "name": "Gambische Dalasi"
+ },
+ "GEL": {
+ "name": "Georgische Lari"
+ },
+ "GHS": {
+ "name": "Ghanaische Cedi (GHS)"
+ },
+ "GIP": {
+ "name": "Gibraltar-Pfund"
+ },
+ "HTG": {
+ "name": "Gourde"
+ },
+ "PYG": {
+ "name": "Guarani"
+ },
+ "GNF": {
+ "name": "Guinea-Franc"
+ },
+ "GYD": {
+ "name": "Guyana-Dollar"
+ },
+ "HKD": {
+ "name": "Hongkong-Dollar",
+ "symbol": "HK$"
+ },
+ "UAH": {
+ "name": "Hryvnia"
+ },
+ "ISK": {
+ "name": "Iisländischi Chroone"
+ },
+ "INR": {
+ "name": "Indischi Rupie",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesischi Rupie"
+ },
+ "IQD": {
+ "name": "Irak-Dinar"
+ },
+ "JMD": {
+ "name": "Jamaika-Dollar"
+ },
+ "YER": {
+ "name": "Jeme-Rial"
+ },
+ "JOD": {
+ "name": "Jordaanische Dinar"
+ },
+ "KYD": {
+ "name": "Kaiman-Dollar"
+ },
+ "CAD": {
+ "name": "Kanadische Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Kap Verde Escudo"
+ },
+ "QAR": {
+ "name": "Katar-Riyal"
+ },
+ "KES": {
+ "name": "Kenia-Schilling"
+ },
+ "PGK": {
+ "name": "Kina"
+ },
+ "LAK": {
+ "name": "Kip"
+ },
+ "COP": {
+ "name": "Kolumbianische Peso"
+ },
+ "KMF": {
+ "name": "Komore-Franc"
+ },
+ "CDF": {
+ "name": "Kongolesische Franc"
+ },
+ "BAM": {
+ "name": "Konvertierbari Mark vo Bosnie und Herzegowina"
+ },
+ "CUP": {
+ "name": "Kubanische Peso"
+ },
+ "HRK": {
+ "name": "Kuna"
+ },
+ "KWD": {
+ "name": "Kuwait-Dinar"
+ },
+ "ZMW": {
+ "name": "Kwacha"
+ },
+ "AOA": {
+ "name": "Kwanza"
+ },
+ "MMK": {
+ "name": "Kyat"
+ },
+ "ALL": {
+ "name": "Lek"
+ },
+ "HNL": {
+ "name": "Lempira"
+ },
+ "SLL": {
+ "name": "Leone"
+ },
+ "LBP": {
+ "name": "Libaneesischs Pfund"
+ },
+ "LRD": {
+ "name": "Liberiaanische Dollar"
+ },
+ "SZL": {
+ "name": "Lilangeni"
+ },
+ "LSL": {
+ "name": "Loti"
+ },
+ "LYD": {
+ "name": "Lüübische Dinar"
+ },
+ "MGA": {
+ "name": "Madagaschkar-Ariary"
+ },
+ "MWK": {
+ "name": "Malawi-Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysische Ringgit"
+ },
+ "MAD": {
+ "name": "Marokkanische Dirham"
+ },
+ "MUR": {
+ "name": "Maurizius-Rupie"
+ },
+ "MZN": {
+ "name": "Metical"
+ },
+ "MXN": {
+ "name": "Mexikanische Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldau-Löi"
+ },
+ "NGN": {
+ "name": "Naira"
+ },
+ "NAD": {
+ "name": "Namibia-Dollar"
+ },
+ "NPR": {
+ "name": "Nepaleesischi Rupie"
+ },
+ "NZD": {
+ "name": "Neuseeland-Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaragua-Córdoba"
+ },
+ "ANG": {
+ "name": "Niderländischi-Antille-Gulde"
+ },
+ "PEN": {
+ "name": "Nöie Sol"
+ },
+ "TWD": {
+ "name": "Nöii Taiwan-Dollar",
+ "symbol": "NT$"
+ },
+ "TRY": {
+ "name": "Nöii Türkischi Liire"
+ },
+ "KPW": {
+ "name": "Nordkoreanische Won"
+ },
+ "NOK": {
+ "name": "Norweegischi Chroone"
+ },
+ "XCD": {
+ "name": "Oschtkaribische Dollar",
+ "symbol": "EC$"
+ },
+ "MRO": {
+ "name": "Ouguiya"
+ },
+ "TOP": {
+ "name": "Paʻanga"
+ },
+ "PKR": {
+ "name": "Pakischtanischi Rupie"
+ },
+ "MOP": {
+ "name": "Pataca"
+ },
+ "GBP": {
+ "name": "Pfund Schtörling",
+ "symbol": "£"
+ },
+ "PHP": {
+ "name": "Philippiinische Peso"
+ },
+ "GTQ": {
+ "name": "Quetzal"
+ },
+ "ZAR": {
+ "name": "Rand"
+ },
+ "CNY": {
+ "name": "Renminbi Yuan",
+ "symbol": "CN¥"
+ },
+ "IRR": {
+ "name": "Rial"
+ },
+ "OMR": {
+ "name": "Rial Omani"
+ },
+ "KHR": {
+ "name": "Riel"
+ },
+ "RWF": {
+ "name": "Ruanda-Franc"
+ },
+ "MVR": {
+ "name": "Rufiyaa"
+ },
+ "RON": {
+ "name": "Rumäänische Löi"
+ },
+ "RUB": {
+ "name": "Russische Rubel"
+ },
+ "SBD": {
+ "name": "Salomone-Dollar"
+ },
+ "SAR": {
+ "name": "Saudi-Riyal"
+ },
+ "ILS": {
+ "name": "Schekel",
+ "symbol": "₪"
+ },
+ "SEK": {
+ "name": "Schweedischi Chroone"
+ },
+ "CHF": {
+ "name": "Schwiizer Franke"
+ },
+ "RSD": {
+ "name": "Serbische Dinar"
+ },
+ "SCR": {
+ "name": "Seyschelle-Rupie"
+ },
+ "SGD": {
+ "name": "Singapur-Dollar"
+ },
+ "KGS": {
+ "name": "Som"
+ },
+ "SOS": {
+ "name": "Somalia-Schilling"
+ },
+ "LKR": {
+ "name": "Sri-Lanka-Rupie"
+ },
+ "SHP": {
+ "name": "St.-Helena-Pfund"
+ },
+ "SDG": {
+ "name": "Sudaneesischs Pfund"
+ },
+ "SRD": {
+ "name": "Surinamische Dollar"
+ },
+ "KRW": {
+ "name": "Süüdkoreanische Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "Süüdsudaneesischs Pfund"
+ },
+ "SYP": {
+ "name": "Süürischs Pfund"
+ },
+ "TJS": {
+ "name": "Tadschikischtan-Somoni"
+ },
+ "BDT": {
+ "name": "Taka"
+ },
+ "WST": {
+ "name": "Tala"
+ },
+ "DKK": {
+ "name": "Tänischi Chroone"
+ },
+ "TZS": {
+ "name": "Tansania-Schilling"
+ },
+ "KZT": {
+ "name": "Tenge"
+ },
+ "DOP": {
+ "name": "Tominikanische Peso"
+ },
+ "TTD": {
+ "name": "Trinidad-und-Tobago-Dollar"
+ },
+ "CZK": {
+ "name": "Tschechischi Chroone"
+ },
+ "CLP": {
+ "name": "Tschileenische Peso"
+ },
+ "MNT": {
+ "name": "Tugrik"
+ },
+ "TND": {
+ "name": "Tuneesische Dinar"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "AED": {
+ "name": "UAE Dirham"
+ },
+ "UGX": {
+ "name": "Uganda-Schilling"
+ },
+ "UYU": {
+ "name": "Uruguayische Peso"
+ },
+ "USD": {
+ "name": "US-Dollar",
+ "symbol": "$"
+ },
+ "UZS": {
+ "name": "Usbeekischtan-Sum"
+ },
+ "VUV": {
+ "name": "Vatu"
+ },
+ "JPY": {
+ "name": "Yen",
+ "symbol": "¥"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ },
+ "PLN": {
+ "name": "Zloty"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/gu.json b/vendor/commerceguys/intl/resources/currency/gu.json
new file mode 100644
index 000000000..8d3a6d70f
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/gu.json
@@ -0,0 +1,497 @@
+{
+ "XPF": {
+ "name": "[CFP] ફ્રેંક",
+ "symbol": "CFPF"
+ },
+ "AOA": {
+ "name": "અંગોલિયન ક્વાન્ઝા"
+ },
+ "AZN": {
+ "name": "અઝરબૈજાની મનાત"
+ },
+ "AFN": {
+ "name": "અફ્ગાન અફ્ગાની"
+ },
+ "AWG": {
+ "name": "અરુબન ફ્લોરિન"
+ },
+ "ARS": {
+ "name": "અર્જેન્ટીના પેસો"
+ },
+ "AMD": {
+ "name": "અર્મેનિયન ડ્રેમ"
+ },
+ "DZD": {
+ "name": "અલ્જિરિયન દિનાર"
+ },
+ "ALL": {
+ "name": "અલ્બેનિયન લેક"
+ },
+ "ISK": {
+ "name": "આઇસલેન્ડિક ક્રોના"
+ },
+ "EGP": {
+ "name": "ઇજિપ્તિયન પાઉન્ડ"
+ },
+ "ILS": {
+ "name": "ઇઝરાયેલી ન્યુ શેકલ",
+ "symbol": "₪"
+ },
+ "ETB": {
+ "name": "ઇથિયોપીયન બિર"
+ },
+ "IDR": {
+ "name": "ઇન્ડોનેશિયન રૂપિયા"
+ },
+ "IQD": {
+ "name": "ઇરાકી દિનાર"
+ },
+ "IRR": {
+ "name": "ઇરાનિયન રિયાલ"
+ },
+ "XCD": {
+ "name": "ઇસ્ટ કેરિબિયન ડોલર",
+ "symbol": "EC$"
+ },
+ "UZS": {
+ "name": "ઉઝ્બેકિસ્તાન સોમ"
+ },
+ "KPW": {
+ "name": "ઉત્તર કોરિયન વન"
+ },
+ "UYU": {
+ "name": "ઉરુગ્વેયન પેસો"
+ },
+ "ERN": {
+ "name": "એરિટ્રેયન નક્ફા"
+ },
+ "AUD": {
+ "name": "ઑસ્ટ્રેલિયન ડૉલર",
+ "symbol": "A$"
+ },
+ "OMR": {
+ "name": "ઓમાની રિયાલ"
+ },
+ "KZT": {
+ "name": "કઝાકિસ્તાની ટેંગ"
+ },
+ "QAR": {
+ "name": "કતારી રિયાલ"
+ },
+ "KGS": {
+ "name": "કિર્ગિસ્તાની સોમ"
+ },
+ "KWD": {
+ "name": "કુવૈતી દિનાર"
+ },
+ "CAD": {
+ "name": "કેનેડિયન ડૉલર",
+ "symbol": "CA$"
+ },
+ "KES": {
+ "name": "કેન્યેન શિલિંગ"
+ },
+ "CVE": {
+ "name": "કેપ વર્દિયન એસ્કુડો"
+ },
+ "KHR": {
+ "name": "કેમ્બોડિયન રીઅલ"
+ },
+ "KYD": {
+ "name": "કેયમેન આઇલેંડ્સ ડોલર"
+ },
+ "CDF": {
+ "name": "કોંગોલિઝ ફ્રેંક"
+ },
+ "KMF": {
+ "name": "કોમોરિઅન ફ્રેંક"
+ },
+ "COP": {
+ "name": "કોલમ્બિયન પેસો"
+ },
+ "CRC": {
+ "name": "કોસ્ટા રિકન કોલોન"
+ },
+ "CUP": {
+ "name": "ક્યુબન પેસો"
+ },
+ "CUC": {
+ "name": "ક્યુબન રૂપાંતર યોગ્ય પેસો"
+ },
+ "HRK": {
+ "name": "ક્રોએશિયન ક્યુના"
+ },
+ "GYD": {
+ "name": "ગયાનિઝ ડોલર"
+ },
+ "GNF": {
+ "name": "ગિનીયન ફ્રેંક"
+ },
+ "GMD": {
+ "name": "ગેમ્બિયન દલાસી"
+ },
+ "GTQ": {
+ "name": "ગ્વાટેમાલા કુઇટ્ઝલ"
+ },
+ "GHS": {
+ "name": "ઘાનાઇયન સેડી"
+ },
+ "CNY": {
+ "name": "ચાઇનિઝ યુઆન",
+ "symbol": "CN¥"
+ },
+ "CLP": {
+ "name": "ચિલિઅન પેસો"
+ },
+ "CZK": {
+ "name": "ચેક રીપબ્લિક કોરુના"
+ },
+ "JMD": {
+ "name": "જમૈકિયન ડોલર"
+ },
+ "JPY": {
+ "name": "જાપાનીઝ યેન",
+ "symbol": "JP¥"
+ },
+ "DJF": {
+ "name": "જિબુટિયન ફ્રેંક"
+ },
+ "GIP": {
+ "name": "જીબ્રાલ્ટર પાઉન્ડ"
+ },
+ "JOD": {
+ "name": "જોર્ડનિયન દિનાર"
+ },
+ "GEL": {
+ "name": "જ્યોર્જિઅન લારી"
+ },
+ "ZMW": {
+ "name": "ઝામ્બિયન ક્વાચા"
+ },
+ "TOP": {
+ "name": "ટોંગન પ’અંગા"
+ },
+ "TND": {
+ "name": "ટ્યુનિશિયન દિનાર"
+ },
+ "DKK": {
+ "name": "ડેનિશ ક્રોન"
+ },
+ "DOP": {
+ "name": "ડોમિનિકન પેસો"
+ },
+ "TJS": {
+ "name": "તાજિકિસ્તાની સોમોની"
+ },
+ "TZS": {
+ "name": "તાન્ઝાનિયન શિલિંગ"
+ },
+ "TMT": {
+ "name": "તુર્કમેનિસ્તાની મનત"
+ },
+ "TRY": {
+ "name": "તુર્કિશ લિરા"
+ },
+ "TTD": {
+ "name": "ત્રિનિદાદ અને ટોબેગો ડોલર"
+ },
+ "THB": {
+ "name": "થાઇ બાહ્ત",
+ "symbol": "฿"
+ },
+ "ZAR": {
+ "name": "દક્ષિણ આફ્રિકી રેંડ"
+ },
+ "KRW": {
+ "name": "દક્ષિણ કોરિયન વન",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "દક્ષિણ સુદાનિઝ પાઉન્ડ"
+ },
+ "NGN": {
+ "name": "નાઇજીરિયન નૈરા"
+ },
+ "NAD": {
+ "name": "નામિબિયન ડોલર"
+ },
+ "NIO": {
+ "name": "નિકારાગુઅન કોર્ડોબા"
+ },
+ "ANG": {
+ "name": "નેધરલેંડ એંટિલિન ગિલ્ડર"
+ },
+ "NPR": {
+ "name": "નેપાલિઝ રૂપી"
+ },
+ "NOK": {
+ "name": "નૉર્વેજિયન ક્રોન"
+ },
+ "TWD": {
+ "name": "ન્યુ તાઇવાન ડૉલર",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "ન્યૂઝિલેંડ ડૉલર",
+ "symbol": "NZ$"
+ },
+ "PAB": {
+ "name": "પનામેનિયન બાલ્બોઆ"
+ },
+ "PYG": {
+ "name": "પરાગ્વેયન ગુઆરાની"
+ },
+ "XOF": {
+ "name": "પશ્ચિમી આફ્રિકન [CFA] ફ્રેંક",
+ "symbol": "CFA"
+ },
+ "PKR": {
+ "name": "પાકિસ્તાની રૂપી"
+ },
+ "PGK": {
+ "name": "પાપુઆ ન્યૂ ગિનીયન કિના"
+ },
+ "PEN": {
+ "name": "પેરુવિયન ન્યુવો સોલ"
+ },
+ "PLN": {
+ "name": "પોલિસ ઝ્લોટી"
+ },
+ "FJD": {
+ "name": "ફિજિઅન ડોલર"
+ },
+ "PHP": {
+ "name": "ફિલીપાઇન પેસો"
+ },
+ "FKP": {
+ "name": "ફૉકલેન્ડ આઇલેંડ્સ પાઉન્ડ"
+ },
+ "BMD": {
+ "name": "બર્મુડન ડોલર"
+ },
+ "BGN": {
+ "name": "બલ્ગેરીયન લેવ"
+ },
+ "BSD": {
+ "name": "બહામિયન ડોલર"
+ },
+ "BDT": {
+ "name": "બાંગલાદેશી ટાકા"
+ },
+ "BBD": {
+ "name": "બાર્બાડિયન ડોલર"
+ },
+ "BIF": {
+ "name": "બુરુન્ડિયન ફ્રેંક"
+ },
+ "BYN": {
+ "name": "બેલારુશિયન રૂબલ"
+ },
+ "BYR": {
+ "name": "બેલારુશિયન રૂબલ (2000–2016)"
+ },
+ "BZD": {
+ "name": "બેલિઝ ડોલર"
+ },
+ "BHD": {
+ "name": "બેહરિની દિનાર"
+ },
+ "BWP": {
+ "name": "બોત્સવાનન પુલા"
+ },
+ "BOB": {
+ "name": "બોલિવિયન બોલિવિયાનો"
+ },
+ "BAM": {
+ "name": "બોસ્નિયા અને હર્ઝેગોવિના રૂપાંતર યોગ્ય માર્ક"
+ },
+ "BRL": {
+ "name": "બ્રાઝિલીયન રિઆલ",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "બ્રિટિશ પાઉન્ડ",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "બ્રુનેઇ ડોલર"
+ },
+ "INR": {
+ "name": "ભારતીય રૂપિયા",
+ "symbol": "₹"
+ },
+ "BTN": {
+ "name": "ભુતાનિઝ એંગુલ્ત્રમ"
+ },
+ "XAF": {
+ "name": "મધ્ય આફ્રિકન [CFA] ફ્રેંક",
+ "symbol": "FCFA"
+ },
+ "MYR": {
+ "name": "મલેશિયન રિંગ્ગેટ"
+ },
+ "MOP": {
+ "name": "માકાનિઝ પતાકા"
+ },
+ "MGA": {
+ "name": "માલાગેસી અરીઆરી"
+ },
+ "MWK": {
+ "name": "માલાવિયન ક્વાચા"
+ },
+ "MVR": {
+ "name": "માલ્દિવિયન રુફિયા"
+ },
+ "MXN": {
+ "name": "મેક્સિકન પેસો",
+ "symbol": "MX$"
+ },
+ "MKD": {
+ "name": "મેસેડોનિયન દિનાર"
+ },
+ "MNT": {
+ "name": "મોંગોલિયન ટગરિક"
+ },
+ "MZN": {
+ "name": "મોઝામ્બિકન મેટિકલ"
+ },
+ "MRO": {
+ "name": "મોરીશેનિયન ઓગુયા"
+ },
+ "MUR": {
+ "name": "મોરેશીઅન રૂપી"
+ },
+ "MAD": {
+ "name": "મોરોક્કન દિરહામ"
+ },
+ "MDL": {
+ "name": "મોલડોવેન લિયુ"
+ },
+ "MMK": {
+ "name": "મ્યાંમાર ક્યાત"
+ },
+ "USD": {
+ "name": "યુઍસ ડોલર",
+ "symbol": "US$"
+ },
+ "UAH": {
+ "name": "યુક્રેનિયન હ્રિવિનિયા"
+ },
+ "UGX": {
+ "name": "યુગાંડન શિલિંગ"
+ },
+ "AED": {
+ "name": "યુનાઈટેડ આરબ અમિરાત દિરહામ"
+ },
+ "EUR": {
+ "name": "યુરો",
+ "symbol": "€"
+ },
+ "YER": {
+ "name": "યેમેની રિઆલ"
+ },
+ "RWF": {
+ "name": "રવાંડન ફ્રેંક"
+ },
+ "RUB": {
+ "name": "રશિયન રૂબલ"
+ },
+ "RON": {
+ "name": "રોમાનિયન લેઉ"
+ },
+ "LAK": {
+ "name": "લાઓશિયન કિપ"
+ },
+ "LRD": {
+ "name": "લિબેરિયન ડોલર"
+ },
+ "LYD": {
+ "name": "લિબ્યન દિનાર"
+ },
+ "LBP": {
+ "name": "લેબેનિઝ પાઉન્ડ"
+ },
+ "LSL": {
+ "name": "લેસોથો લોતી"
+ },
+ "VUV": {
+ "name": "વનૌતુ વાતુ"
+ },
+ "VND": {
+ "name": "વિયેતનામીસ ડોંગ",
+ "symbol": "₫"
+ },
+ "VEF": {
+ "name": "વેનેઝુએલન બોલિવર"
+ },
+ "LKR": {
+ "name": "શ્રી લંકન રૂપી"
+ },
+ "WST": {
+ "name": "સમોઅન તાલા"
+ },
+ "RSD": {
+ "name": "સર્બિયન દિનાર"
+ },
+ "SYP": {
+ "name": "સાઇરિયન પાઉન્ડ"
+ },
+ "SAR": {
+ "name": "સાઉદી રિયાલ"
+ },
+ "STD": {
+ "name": "સાઓ ટૉમ એન્ડ પ્રિંસાઇપ ડોબ્રા"
+ },
+ "SGD": {
+ "name": "સિંગાપુર ડૉલર"
+ },
+ "SLL": {
+ "name": "સિએરા લિઓનિઅન લિઓન"
+ },
+ "SDG": {
+ "name": "સુદાનિઝ પાઉન્ડ"
+ },
+ "SRD": {
+ "name": "સૂરીનામિઝ ડોલર"
+ },
+ "SHP": {
+ "name": "સેંટ હેલેના પાઉન્ડ"
+ },
+ "SCR": {
+ "name": "સેશેલોઈ રૂપી"
+ },
+ "SOS": {
+ "name": "સોમાલી શિલિંગ"
+ },
+ "SBD": {
+ "name": "સોલોમન આઇલેંડ્સ ડોલર"
+ },
+ "SZL": {
+ "name": "સ્વાઝી લિલાન્ગેની"
+ },
+ "CHF": {
+ "name": "સ્વિસ ફ્રેંક"
+ },
+ "SEK": {
+ "name": "સ્વીડિશ ક્રોના"
+ },
+ "HUF": {
+ "name": "હંગેરીયન ફોરિન્ત"
+ },
+ "HTG": {
+ "name": "હાઇટિઇન ગોર્ડ"
+ },
+ "HKD": {
+ "name": "હોંગ કોંગ ડૉલર",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "હોન્ડ્યુરન લેમ્પિરા"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/guz.json b/vendor/commerceguys/intl/resources/currency/guz.json
new file mode 100644
index 000000000..1c12c163f
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/guz.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "MGA": {
+ "name": "Ariary ya Bukini"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Ruble"
+ },
+ "BYR": {
+ "name": "Belarusian Ruble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "ETB": {
+ "name": "Bir ya Uhabeshi"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "GMD": {
+ "name": "Dalasi ya Gambia"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DZD": {
+ "name": "Dinari ya Aljeria"
+ },
+ "BHD": {
+ "name": "Dinari ya Bahareni"
+ },
+ "LYD": {
+ "name": "Dinari ya Libya"
+ },
+ "TND": {
+ "name": "Dinari ya Tunisia"
+ },
+ "AED": {
+ "name": "Dirham ya Falme za Kiarabu"
+ },
+ "MAD": {
+ "name": "Dirham ya Moroko"
+ },
+ "STD": {
+ "name": "Dobra ya Sao Tome na Principe"
+ },
+ "AUD": {
+ "name": "Dola ya Australia",
+ "symbol": "A$"
+ },
+ "CAD": {
+ "name": "Dola ya Kanada",
+ "symbol": "CA$"
+ },
+ "LRD": {
+ "name": "Dola ya Liberia"
+ },
+ "USD": {
+ "name": "Dola ya Marekani",
+ "symbol": "US$"
+ },
+ "NAD": {
+ "name": "Dola ya Namibia"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "CVE": {
+ "name": "Eskudo ya Kepuvede"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "XOF": {
+ "name": "Faranga CFA BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Faranga CFA BEAC",
+ "symbol": "FCFA"
+ },
+ "BIF": {
+ "name": "Faranga ya Burundi"
+ },
+ "DJF": {
+ "name": "Faranga ya Jibuti"
+ },
+ "KMF": {
+ "name": "Faranga ya Komoro"
+ },
+ "CDF": {
+ "name": "Faranga ya Kongo"
+ },
+ "RWF": {
+ "name": "Faranga ya Rwanda"
+ },
+ "CHF": {
+ "name": "Faranga ya Uswisi"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "MWK": {
+ "name": "Kwacha ya Malawi"
+ },
+ "ZMW": {
+ "name": "Kwacha ya Zambia"
+ },
+ "AOA": {
+ "name": "Kwanza ya Angola"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "SLL": {
+ "name": "Leoni"
+ },
+ "SZL": {
+ "name": "Lilangeni"
+ },
+ "LSL": {
+ "name": "Loti ya Lesoto"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NGN": {
+ "name": "Naira ya Nijeria"
+ },
+ "ERN": {
+ "name": "Nakfa ya Eritrea"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "EGP": {
+ "name": "Pauni ya Misri"
+ },
+ "SHP": {
+ "name": "Pauni ya Santahelena"
+ },
+ "SDG": {
+ "name": "Pauni ya Sudani"
+ },
+ "GBP": {
+ "name": "Pauni ya Uingereza",
+ "symbol": "£"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "BWP": {
+ "name": "Pula ya Botswana"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "ZAR": {
+ "name": "Randi ya Afrika Kusini"
+ },
+ "SAR": {
+ "name": "Riyal ya Saudia"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "INR": {
+ "name": "Rupia ya India",
+ "symbol": "₹"
+ },
+ "MUR": {
+ "name": "Rupia ya Morisi"
+ },
+ "SCR": {
+ "name": "Rupia ya Shelisheli"
+ },
+ "RUB": {
+ "name": "Russian Ruble"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "JPY": {
+ "name": "Sarafu ya Kijapani",
+ "symbol": "JP¥"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "KES": {
+ "name": "Shilingi ya Kenya",
+ "symbol": "Ksh"
+ },
+ "SOS": {
+ "name": "Shilingi ya Somalia"
+ },
+ "TZS": {
+ "name": "Shilingi ya Tanzania"
+ },
+ "UGX": {
+ "name": "Shilingi ya Uganda"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "MRO": {
+ "name": "Ugwiya ya Moritania"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "CNY": {
+ "name": "Yuan Renminbi ya China",
+ "symbol": "CN¥"
+ },
+ "EUR": {
+ "name": "Yuro",
+ "symbol": "€"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/ha.json b/vendor/commerceguys/intl/resources/currency/ha.json
new file mode 100644
index 000000000..254e280c4
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/ha.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Ruble"
+ },
+ "BYR": {
+ "name": "Belarusian Ruble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "USD": {
+ "name": "Dalar Amurka",
+ "symbol": "US$"
+ },
+ "CAD": {
+ "name": "Dalar Kanada",
+ "symbol": "CA$"
+ },
+ "LRD": {
+ "name": "Dalar Laberiya"
+ },
+ "NAD": {
+ "name": "Dalar Namibiya"
+ },
+ "AUD": {
+ "name": "Dalar Ostareliya",
+ "symbol": "A$"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "GBP": {
+ "name": "Fam kin Ingila",
+ "symbol": "£"
+ },
+ "EGP": {
+ "name": "Fam kin Masar"
+ },
+ "SHP": {
+ "name": "Fam kin San Helena"
+ },
+ "SDG": {
+ "name": "Fam kin Sudan"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "ZAR": {
+ "name": "Kuɗin Afirka Ta Kudu"
+ },
+ "DZD": {
+ "name": "Kuɗin Aljeriya"
+ },
+ "AOA": {
+ "name": "Kuɗin Angola"
+ },
+ "BHD": {
+ "name": "Kuɗin Baharan"
+ },
+ "BWP": {
+ "name": "Kuɗin Baswana"
+ },
+ "BIF": {
+ "name": "Kuɗin Burundi"
+ },
+ "CNY": {
+ "name": "Kuɗin Caina\/Sin",
+ "symbol": "CN¥"
+ },
+ "ERN": {
+ "name": "Kuɗin Eritireya"
+ },
+ "GMD": {
+ "name": "Kuɗin Gambiya"
+ },
+ "ETB": {
+ "name": "Kuɗin Habasha"
+ },
+ "AED": {
+ "name": "Kuɗin Haɗaɗɗiyar Daular Larabawa"
+ },
+ "INR": {
+ "name": "Kuɗin Indiya",
+ "symbol": "₹"
+ },
+ "JPY": {
+ "name": "Kuɗin Japan",
+ "symbol": "JP¥"
+ },
+ "DJF": {
+ "name": "Kuɗin Jibuti"
+ },
+ "CDF": {
+ "name": "Kuɗin Kongo"
+ },
+ "KMF": {
+ "name": "Kuɗin Kwamoras"
+ },
+ "LSL": {
+ "name": "Kuɗin Lesoto"
+ },
+ "LYD": {
+ "name": "Kuɗin Libiya"
+ },
+ "SZL": {
+ "name": "Kuɗin Lilangeni"
+ },
+ "MGA": {
+ "name": "Kuɗin Madagaskar"
+ },
+ "MWK": {
+ "name": "Kuɗin Malawi"
+ },
+ "MAD": {
+ "name": "Kuɗin Maroko"
+ },
+ "MRO": {
+ "name": "Kuɗin Moritaniya"
+ },
+ "MUR": {
+ "name": "Kuɗin Moritus"
+ },
+ "RWF": {
+ "name": "Kuɗin Ruwanda"
+ },
+ "SCR": {
+ "name": "Kuɗin Saishal"
+ },
+ "SLL": {
+ "name": "Kuɗin Salewo"
+ },
+ "STD": {
+ "name": "Kuɗin Sawo Tome da Paransip"
+ },
+ "XAF": {
+ "name": "Kuɗin Sefa na Afirka Ta Tsakiya",
+ "symbol": "FCFA"
+ },
+ "XOF": {
+ "name": "Kuɗin Sefa na Afirka Ta Yamma",
+ "symbol": "CFA"
+ },
+ "CHF": {
+ "name": "Kuɗin Suwizalan"
+ },
+ "TND": {
+ "name": "Kuɗin Tunisiya"
+ },
+ "CVE": {
+ "name": "Kuɗin Tsibiran Kap Barde"
+ },
+ "ZMW": {
+ "name": "Kuɗin Zambiya"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NGN": {
+ "name": "Naira",
+ "symbol": "₦"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "SAR": {
+ "name": "Riyal"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Ruble"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "UGX": {
+ "name": "Sule Yuganda"
+ },
+ "KES": {
+ "name": "Sulen Kenya"
+ },
+ "SOS": {
+ "name": "Sulen Somaliya"
+ },
+ "TZS": {
+ "name": "Sulen Tanzaniya"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "EUR": {
+ "name": "Yuro",
+ "symbol": "€"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/he.json b/vendor/commerceguys/intl/resources/currency/he.json
new file mode 100644
index 000000000..e0dab4de2
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/he.json
@@ -0,0 +1,497 @@
+{
+ "MRO": {
+ "name": "אוגוויה מאוריטני"
+ },
+ "EUR": {
+ "name": "אירו",
+ "symbol": "€"
+ },
+ "CVE": {
+ "name": "אסקודו כף ורדה"
+ },
+ "AFN": {
+ "name": "אפגני אפגני"
+ },
+ "MGA": {
+ "name": "אריארי מלגשי"
+ },
+ "THB": {
+ "name": "בהט תאילנדי",
+ "symbol": "฿"
+ },
+ "BOB": {
+ "name": "בוליביאנו"
+ },
+ "VEF": {
+ "name": "בוליבר ונצואלי"
+ },
+ "ETB": {
+ "name": "ביר אתיופי"
+ },
+ "PAB": {
+ "name": "בלבואה פנמי"
+ },
+ "PYG": {
+ "name": "גוורני פראגוואי"
+ },
+ "HTG": {
+ "name": "גורד האיטי"
+ },
+ "ANG": {
+ "name": "גילדר של האנטילים ההולנדיים"
+ },
+ "UAH": {
+ "name": "גריבנה אוקראיני"
+ },
+ "STD": {
+ "name": "דוברה של סן טומה ופרינסיפה"
+ },
+ "AUD": {
+ "name": "דולר אוסטרלי",
+ "symbol": "A$"
+ },
+ "SBD": {
+ "name": "דולר איי שלמה"
+ },
+ "USD": {
+ "name": "דולר אמריקאי",
+ "symbol": "$"
+ },
+ "BSD": {
+ "name": "דולר בהאמי"
+ },
+ "BZD": {
+ "name": "דולר בליזי"
+ },
+ "BBD": {
+ "name": "דולר ברבדיאני"
+ },
+ "BND": {
+ "name": "דולר ברוניי"
+ },
+ "BMD": {
+ "name": "דולר ברמודה"
+ },
+ "JMD": {
+ "name": "דולר ג׳מייקני"
+ },
+ "GYD": {
+ "name": "דולר גיאני"
+ },
+ "HKD": {
+ "name": "דולר הונג קונגי",
+ "symbol": "HK$"
+ },
+ "TWD": {
+ "name": "דולר טייוואני חדש",
+ "symbol": "NT$"
+ },
+ "TTD": {
+ "name": "דולר טרינידדי"
+ },
+ "LRD": {
+ "name": "דולר ליברי"
+ },
+ "XCD": {
+ "name": "דולר מזרח קריבי",
+ "symbol": "EC$"
+ },
+ "NZD": {
+ "name": "דולר ניו זילנדי",
+ "symbol": "NZ$"
+ },
+ "NAD": {
+ "name": "דולר נמיבי"
+ },
+ "SRD": {
+ "name": "דולר סורינאמי"
+ },
+ "SGD": {
+ "name": "דולר סינגפורי"
+ },
+ "FJD": {
+ "name": "דולר פיג׳י"
+ },
+ "KYD": {
+ "name": "דולר קיימאני"
+ },
+ "CAD": {
+ "name": "דולר קנדי",
+ "symbol": "CA$"
+ },
+ "VND": {
+ "name": "דונג וייטנאמי",
+ "symbol": "₫"
+ },
+ "DZD": {
+ "name": "דינר אלג׳ירי"
+ },
+ "BHD": {
+ "name": "דינר בחרייני"
+ },
+ "TND": {
+ "name": "דינר טוניסאי"
+ },
+ "JOD": {
+ "name": "דינר ירדני"
+ },
+ "KWD": {
+ "name": "דינר כוויתי"
+ },
+ "LYD": {
+ "name": "דינר לובי"
+ },
+ "MKD": {
+ "name": "דינר מקדוני"
+ },
+ "RSD": {
+ "name": "דינר סרבי"
+ },
+ "IQD": {
+ "name": "דינר עיראקי"
+ },
+ "MAD": {
+ "name": "דירהם מרוקאי"
+ },
+ "AED": {
+ "name": "דירהם של איחוד הנסיכויות הערביות"
+ },
+ "GMD": {
+ "name": "דלאסי גמבי"
+ },
+ "AMD": {
+ "name": "דראם ארמני"
+ },
+ "VUV": {
+ "name": "ואטו של ונואטו"
+ },
+ "KRW": {
+ "name": "וון דרום קוריאני",
+ "symbol": "₩"
+ },
+ "KPW": {
+ "name": "וון צפון קוריאני"
+ },
+ "PLN": {
+ "name": "זלוטי פולני"
+ },
+ "WST": {
+ "name": "טאלה סמואי"
+ },
+ "BDT": {
+ "name": "טאקה בנגלדשי"
+ },
+ "MNT": {
+ "name": "טוגרוג מונגולי"
+ },
+ "KZT": {
+ "name": "טנגה קזחסטני"
+ },
+ "CNY": {
+ "name": "יואן סיני",
+ "symbol": "‎CN¥‎"
+ },
+ "JPY": {
+ "name": "ין יפני",
+ "symbol": "¥"
+ },
+ "ISK": {
+ "name": "כתר איסלנדי"
+ },
+ "DKK": {
+ "name": "כתר דני"
+ },
+ "NOK": {
+ "name": "כתר נורווגי"
+ },
+ "SEK": {
+ "name": "כתר שוודי"
+ },
+ "RON": {
+ "name": "לאו רומני"
+ },
+ "BGN": {
+ "name": "לב בולגרי"
+ },
+ "LSL": {
+ "name": "לוטי לסותי"
+ },
+ "MDL": {
+ "name": "ליאו מולדובני"
+ },
+ "SLL": {
+ "name": "ליאון סיירה לאוני"
+ },
+ "SZL": {
+ "name": "לילנגני סווזי"
+ },
+ "SSP": {
+ "name": "לירה דרום-סודנית"
+ },
+ "TRY": {
+ "name": "לירה טורקית חדשה"
+ },
+ "LBP": {
+ "name": "לירה לבנונית"
+ },
+ "EGP": {
+ "name": "לירה מצרית"
+ },
+ "SDG": {
+ "name": "לירה סודנית"
+ },
+ "SYP": {
+ "name": "לירה סורית"
+ },
+ "GBP": {
+ "name": "לירה שטרלינג",
+ "symbol": "£"
+ },
+ "FKP": {
+ "name": "לירה של איי פוקלנד"
+ },
+ "HNL": {
+ "name": "למפירה הונדורי"
+ },
+ "ALL": {
+ "name": "לק אלבני"
+ },
+ "GEL": {
+ "name": "לרי גאורגי"
+ },
+ "AZN": {
+ "name": "מאנאט אזרביג׳ני"
+ },
+ "TMT": {
+ "name": "מאנאט טורקמני"
+ },
+ "BAM": {
+ "name": "מארק בר המרה של בוסניה־הרצגובינה"
+ },
+ "MZN": {
+ "name": "מטיקל מוזמביני"
+ },
+ "NGN": {
+ "name": "נאירה ניגרי"
+ },
+ "ERN": {
+ "name": "נאקפה אריתראי"
+ },
+ "BTN": {
+ "name": "נגולטרום בהוטני"
+ },
+ "GHS": {
+ "name": "סדי גאני"
+ },
+ "PEN": {
+ "name": "סול פרואני חדש"
+ },
+ "UZS": {
+ "name": "סום אוזבקי"
+ },
+ "KGS": {
+ "name": "סום קירגיזי"
+ },
+ "TJS": {
+ "name": "סומוני טג׳קיסטני"
+ },
+ "GIP": {
+ "name": "פאונד גיברלטר"
+ },
+ "SHP": {
+ "name": "פאונד סנט הלני"
+ },
+ "TOP": {
+ "name": "פאנגה טונגי"
+ },
+ "BWP": {
+ "name": "פולה בוצוואני"
+ },
+ "HUF": {
+ "name": "פורינט הונגרי"
+ },
+ "DOP": {
+ "name": "פזו דומיניקני"
+ },
+ "MXN": {
+ "name": "פזו מקסיקני",
+ "symbol": "MX$"
+ },
+ "PHP": {
+ "name": "פזו פיליפיני"
+ },
+ "CUP": {
+ "name": "פזו קובני"
+ },
+ "CUC": {
+ "name": "פזו קובני להמרה"
+ },
+ "MOP": {
+ "name": "פטקה של מקאו"
+ },
+ "AWG": {
+ "name": "פלורין של ארובה"
+ },
+ "UYU": {
+ "name": "פסו אורוגוואי"
+ },
+ "ARS": {
+ "name": "פסו ארגנטינאי"
+ },
+ "CLP": {
+ "name": "פסו צ׳ילאני"
+ },
+ "COP": {
+ "name": "פסו קולומביאני"
+ },
+ "BIF": {
+ "name": "פרנק בורונדי"
+ },
+ "DJF": {
+ "name": "פרנק ג׳יבוטי"
+ },
+ "GNF": {
+ "name": "פרנק גינאי"
+ },
+ "XPF": {
+ "name": "פרנק פולינזיה הצרפתית",
+ "symbol": "CFPF"
+ },
+ "KMF": {
+ "name": "פרנק קומורואי"
+ },
+ "CDF": {
+ "name": "פרנק קונגולזי"
+ },
+ "RWF": {
+ "name": "פרנק רואנדי"
+ },
+ "CHF": {
+ "name": "פרנק שוויצרי"
+ },
+ "XOF": {
+ "name": "פרנק CFA BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "פרנק CFA BEAC",
+ "symbol": "FCFA"
+ },
+ "AOA": {
+ "name": "קואנזה אנגולי"
+ },
+ "MWK": {
+ "name": "קואצ׳ה מלאוי"
+ },
+ "ZMW": {
+ "name": "קוואצ׳ה זמבית"
+ },
+ "SVC": {
+ "name": "קולון סלבדורי"
+ },
+ "CRC": {
+ "name": "קולון קוסטה־ריקני"
+ },
+ "HRK": {
+ "name": "קונה קרואטי"
+ },
+ "NIO": {
+ "name": "קורדובה ניקרגואה"
+ },
+ "CZK": {
+ "name": "קורונה צ׳כית"
+ },
+ "MMK": {
+ "name": "קיאט מיאנמרי"
+ },
+ "PGK": {
+ "name": "קינה של פפואה גינאה החדשה"
+ },
+ "LAK": {
+ "name": "קיפ לאי"
+ },
+ "GTQ": {
+ "name": "קצל גואטמלי"
+ },
+ "ZAR": {
+ "name": "ראנד דרום אפריקאי"
+ },
+ "BYN": {
+ "name": "רובל בלרוסי"
+ },
+ "BYR": {
+ "name": "רובל בלרוסי (2000–2016)"
+ },
+ "RUB": {
+ "name": "רובל רוסי"
+ },
+ "INR": {
+ "name": "רופי הודי",
+ "symbol": "₹"
+ },
+ "MUR": {
+ "name": "רופי מאוריציני"
+ },
+ "NPR": {
+ "name": "רופי נפאלי"
+ },
+ "SCR": {
+ "name": "רופי סיישלי"
+ },
+ "LKR": {
+ "name": "רופי סרי לנקי"
+ },
+ "PKR": {
+ "name": "רופי פקיסטני"
+ },
+ "IDR": {
+ "name": "רופיה אינדונזית"
+ },
+ "MVR": {
+ "name": "רופיה מלדיבית"
+ },
+ "IRR": {
+ "name": "ריאל איראני"
+ },
+ "BRL": {
+ "name": "ריאל ברזילאי",
+ "symbol": "R$"
+ },
+ "SAR": {
+ "name": "ריאל סעודי"
+ },
+ "OMR": {
+ "name": "ריאל עומאני"
+ },
+ "QAR": {
+ "name": "ריאל קטארי"
+ },
+ "YER": {
+ "name": "ריאל תימני"
+ },
+ "KHR": {
+ "name": "ריל קמבודי"
+ },
+ "MYR": {
+ "name": "רינגיט מלזי"
+ },
+ "UGX": {
+ "name": "שילינג אוגנדי"
+ },
+ "TZS": {
+ "name": "שילינג טנזני"
+ },
+ "SOS": {
+ "name": "שילינג סומאלי"
+ },
+ "KES": {
+ "name": "שילינג קנייאתי"
+ },
+ "ILS": {
+ "name": "שקל חדש",
+ "symbol": "₪"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/hi.json b/vendor/commerceguys/intl/resources/currency/hi.json
new file mode 100644
index 000000000..6a388889a
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/hi.json
@@ -0,0 +1,497 @@
+{
+ "XAF": {
+ "name": "[CFA] फ़्रैंक [BEAC]",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "[CFP] फ़्रैंक",
+ "symbol": "CFPF"
+ },
+ "AOA": {
+ "name": "अंगोला क्वांज़ा"
+ },
+ "AZN": {
+ "name": "अज़रबैजानी मैनेट"
+ },
+ "AFN": {
+ "name": "अफ़गान अफ़गानी"
+ },
+ "AWG": {
+ "name": "अरूबाई फ़्लोरिन"
+ },
+ "ARS": {
+ "name": "अर्जेंटीनी पेसो"
+ },
+ "DZD": {
+ "name": "अल्जीरियाई दिनार"
+ },
+ "ALL": {
+ "name": "अल्बानियाई लेक"
+ },
+ "ISK": {
+ "name": "आइसलैंडिक क्रोना"
+ },
+ "AMD": {
+ "name": "आर्मेनियाई द्राम"
+ },
+ "IDR": {
+ "name": "इंडोनेशियाई रुपिया"
+ },
+ "ILS": {
+ "name": "इज़राइली न्यू शेकेल",
+ "symbol": "₪"
+ },
+ "ETB": {
+ "name": "इथियोपियन बिर"
+ },
+ "IQD": {
+ "name": "इराकी दिनार"
+ },
+ "ERN": {
+ "name": "इरीट्रियन नाक्फ़ा"
+ },
+ "IRR": {
+ "name": "ईरानी रियाल"
+ },
+ "UZS": {
+ "name": "उज़्बेकिस्तान सोम"
+ },
+ "KPW": {
+ "name": "उत्तर कोरियाई वॉन"
+ },
+ "UYU": {
+ "name": "उरुग्वियन पेसो"
+ },
+ "AUD": {
+ "name": "ऑस्ट्रेलियाई डॉलर",
+ "symbol": "A$"
+ },
+ "OMR": {
+ "name": "ओमानी रियाल"
+ },
+ "KHR": {
+ "name": "कंबोडियाई रियाल"
+ },
+ "KZT": {
+ "name": "कज़ाखिस्तानी टेंज़"
+ },
+ "QAR": {
+ "name": "क़तरी रियाल"
+ },
+ "CAD": {
+ "name": "कनाडाई डॉलर",
+ "symbol": "CA$"
+ },
+ "KGS": {
+ "name": "किर्गिस्तानी सोम"
+ },
+ "KWD": {
+ "name": "कुवैती दिनार"
+ },
+ "KES": {
+ "name": "केन्याई शिलिंग"
+ },
+ "CVE": {
+ "name": "केप वर्ड एस्कूडो"
+ },
+ "KYD": {
+ "name": "कैमेन द्वीपसमूह डॉलर"
+ },
+ "CDF": {
+ "name": "कोंगोली फ़्रैंक"
+ },
+ "KMF": {
+ "name": "कोमोरियन फ़्रैंक"
+ },
+ "COP": {
+ "name": "कोलंबियाई पेसो"
+ },
+ "CRC": {
+ "name": "कोस्टा रिका कोलोन"
+ },
+ "CUC": {
+ "name": "क्यूबाई परिवर्तनीय पेसो"
+ },
+ "CUP": {
+ "name": "क्यूबाई पेसो"
+ },
+ "HRK": {
+ "name": "क्रोएशियाई कुना"
+ },
+ "GYD": {
+ "name": "गयानीज़ डॉलर"
+ },
+ "GNF": {
+ "name": "गिनीयन फ़्रैंक"
+ },
+ "GMD": {
+ "name": "गैंबियन डलासी"
+ },
+ "GTQ": {
+ "name": "ग्वाटेमाला क्वेटज़ल"
+ },
+ "GHS": {
+ "name": "घानियन सेडी"
+ },
+ "CLP": {
+ "name": "चिली पेसो"
+ },
+ "CNY": {
+ "name": "चीनी युआन",
+ "symbol": "CN¥"
+ },
+ "CZK": {
+ "name": "चेक गणराज्य कोरुना"
+ },
+ "JMD": {
+ "name": "जमैकन डॉलर"
+ },
+ "JPY": {
+ "name": "जापानी येन",
+ "symbol": "JP¥"
+ },
+ "ZMW": {
+ "name": "ज़ाम्बियन क्वाचा"
+ },
+ "DJF": {
+ "name": "जिबूती फ़्रैंक"
+ },
+ "GIP": {
+ "name": "जिब्राल्टर पाउंड"
+ },
+ "GEL": {
+ "name": "जॉर्जियन लारी"
+ },
+ "JOD": {
+ "name": "जॉर्डनियन दिनार"
+ },
+ "TOP": {
+ "name": "टोंगन पांगा"
+ },
+ "TND": {
+ "name": "ट्यूनीशियाई दिनार"
+ },
+ "DKK": {
+ "name": "डैनिश क्रोन"
+ },
+ "DOP": {
+ "name": "डोमिनिकन पेसो"
+ },
+ "TZS": {
+ "name": "तंज़ानियाई शिलिंग"
+ },
+ "TJS": {
+ "name": "ताजिकिस्तानी सोमोनी"
+ },
+ "TMT": {
+ "name": "तुर्कमेनिस्तानी मैनत"
+ },
+ "TRY": {
+ "name": "तुर्की लीरा"
+ },
+ "TTD": {
+ "name": "त्रिनिदाद और टोबैगो डॉलर"
+ },
+ "THB": {
+ "name": "थाई बहत",
+ "symbol": "฿"
+ },
+ "ZAR": {
+ "name": "दक्षिण अफ़्रीकी रैंड"
+ },
+ "KRW": {
+ "name": "दक्षिण कोरियाई वॉन",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "दक्षिण सूडानी पाउंड"
+ },
+ "TWD": {
+ "name": "नया ताईवानी डॉलर",
+ "symbol": "NT$"
+ },
+ "NGN": {
+ "name": "नाइजीरियाई नाइरा"
+ },
+ "NAD": {
+ "name": "नामीबियाई डॉलर"
+ },
+ "NIO": {
+ "name": "निकारागुअन कोरडोबा"
+ },
+ "ANG": {
+ "name": "नीदरलैंड एंटीलियन गिल्डर"
+ },
+ "NPR": {
+ "name": "नेपाली रुपया"
+ },
+ "NOK": {
+ "name": "नॉर्वेजियन क्रोन"
+ },
+ "NZD": {
+ "name": "न्यूज़ीलैंड डॉलर",
+ "symbol": "NZ$"
+ },
+ "PAB": {
+ "name": "पनामेनियन बैल्बोआ"
+ },
+ "XOF": {
+ "name": "पश्चिमी अफ़्रीकी CFA फ्रैंक",
+ "symbol": "CFA"
+ },
+ "PKR": {
+ "name": "पाकिस्तानी रुपया"
+ },
+ "PGK": {
+ "name": "पापुआ न्यू गिनीयन किना"
+ },
+ "XCD": {
+ "name": "पूर्वी कैरिबियाई डॉलर",
+ "symbol": "EC$"
+ },
+ "PEN": {
+ "name": "पेरूवियन नुएवो सोल"
+ },
+ "PYG": {
+ "name": "पैराग्वियन गुआरानी"
+ },
+ "PLN": {
+ "name": "पोलिश ज़्लॉटी"
+ },
+ "FJD": {
+ "name": "फ़िजी डॉलर"
+ },
+ "PHP": {
+ "name": "फ़िलिपीनी पेसो"
+ },
+ "FKP": {
+ "name": "फ़ॉकलैंड द्वीपसमूह पाउंड"
+ },
+ "BMD": {
+ "name": "बरमूडा डॉलर"
+ },
+ "BHD": {
+ "name": "बहरीनी दिनार"
+ },
+ "BSD": {
+ "name": "बहामाई डॉलर"
+ },
+ "BDT": {
+ "name": "बांग्लादेशी टका"
+ },
+ "BBD": {
+ "name": "बार्बेडियन डॉलर"
+ },
+ "BIF": {
+ "name": "बुरूंडी फ़्रैंक"
+ },
+ "BGN": {
+ "name": "बुल्गारियाई लेव"
+ },
+ "BYN": {
+ "name": "बेलारूसी रूबल"
+ },
+ "BYR": {
+ "name": "बेलारूसी रूबल (2000–2016)"
+ },
+ "BZD": {
+ "name": "बेलीज़ डॉलर"
+ },
+ "BWP": {
+ "name": "बोत्सवानियाई पुला"
+ },
+ "BOB": {
+ "name": "बोलिवियाई बोलिवियानो"
+ },
+ "BAM": {
+ "name": "बोस्निया हर्ज़ेगोविना परिवर्तनीय मार्क"
+ },
+ "BRL": {
+ "name": "ब्राज़ीली रियाल",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "ब्रिटिश पाउंड स्टर्लिंग",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "ब्रूनेई डॉलर"
+ },
+ "INR": {
+ "name": "भारतीय रुपया",
+ "symbol": "₹"
+ },
+ "BTN": {
+ "name": "भूटानी नंगलट्रम"
+ },
+ "MNT": {
+ "name": "मंगोलियाई टगरिक"
+ },
+ "MYR": {
+ "name": "मलेशियाई रिंगित"
+ },
+ "MVR": {
+ "name": "मालदीवी रुफ़िया"
+ },
+ "MGA": {
+ "name": "मालागासी आरियरी"
+ },
+ "MWK": {
+ "name": "मालावियन क्वाचा"
+ },
+ "EGP": {
+ "name": "मिस्र पाउंड"
+ },
+ "MOP": {
+ "name": "मेकानीज़ पाटाका"
+ },
+ "MXN": {
+ "name": "मैक्सिकन पेसो",
+ "symbol": "MX$"
+ },
+ "MKD": {
+ "name": "मैसीडोनियन दिनार"
+ },
+ "MUR": {
+ "name": "मॉरिशियन रुपया"
+ },
+ "MRO": {
+ "name": "मॉरीटेनियन ओगुइया"
+ },
+ "MZN": {
+ "name": "मोज़ाम्बिकन मेटिकल"
+ },
+ "MAD": {
+ "name": "मोरक्को दिरहम"
+ },
+ "MDL": {
+ "name": "मोल्डोवन लियू"
+ },
+ "MMK": {
+ "name": "म्यांमार क्याट"
+ },
+ "YER": {
+ "name": "यमनी रियाल"
+ },
+ "UGX": {
+ "name": "युगांडाई शिलिंग"
+ },
+ "USD": {
+ "name": "यूएस डॉलर",
+ "symbol": "$"
+ },
+ "UAH": {
+ "name": "यूक्रेनियन रिव्निया"
+ },
+ "EUR": {
+ "name": "यूरो",
+ "symbol": "€"
+ },
+ "RWF": {
+ "name": "रवांडाई फ़्रैंक"
+ },
+ "RUB": {
+ "name": "रूसी रूबल"
+ },
+ "RON": {
+ "name": "रोमानियाई ल्यू"
+ },
+ "LRD": {
+ "name": "लाइबेरियाई डॉलर"
+ },
+ "LAK": {
+ "name": "लाओशियन किप"
+ },
+ "LYD": {
+ "name": "लीबियाई दिनार"
+ },
+ "LBP": {
+ "name": "लेबनानी पाउंड"
+ },
+ "LSL": {
+ "name": "लेसोथो लोटी"
+ },
+ "VUV": {
+ "name": "वनुआतू वातू"
+ },
+ "VND": {
+ "name": "वियतनामी डोंग",
+ "symbol": "₫"
+ },
+ "VEF": {
+ "name": "वेनेज़ुएला बोलिवर"
+ },
+ "LKR": {
+ "name": "श्रीलंकाई रुपया"
+ },
+ "AED": {
+ "name": "संयुक्त अरब अमीरात दिरहाम"
+ },
+ "SAR": {
+ "name": "सउदी रियाल"
+ },
+ "WST": {
+ "name": "समोआई ताला"
+ },
+ "RSD": {
+ "name": "सर्बियन दिनार"
+ },
+ "STD": {
+ "name": "साओ तोम और प्रिंसिपे डोबरा"
+ },
+ "SGD": {
+ "name": "सिंगापुर डॉलर"
+ },
+ "SLL": {
+ "name": "सिएरा लियोनियन लियोन"
+ },
+ "SYP": {
+ "name": "सीरियाई पाउंड"
+ },
+ "SDG": {
+ "name": "सूडानी पाउंड"
+ },
+ "SRD": {
+ "name": "सूरीनामी डॉलर"
+ },
+ "SHP": {
+ "name": "सेंट हेलेना पाउंड"
+ },
+ "SCR": {
+ "name": "सेशेल्सियाई रुपया"
+ },
+ "SOS": {
+ "name": "सोमाली शिलिंग"
+ },
+ "SBD": {
+ "name": "सोलोमन द्वीपसमूह डॉलर"
+ },
+ "SZL": {
+ "name": "स्वाज़ी लिलांजेनी"
+ },
+ "CHF": {
+ "name": "स्विस फ़्रैंक"
+ },
+ "SEK": {
+ "name": "स्वीडीश क्रोना"
+ },
+ "HUF": {
+ "name": "हंगेरियन फ़ोरिंट"
+ },
+ "HKD": {
+ "name": "हाँगकाँग डॉलर",
+ "symbol": "HK$"
+ },
+ "HTG": {
+ "name": "हैतियाई गर्ड"
+ },
+ "HNL": {
+ "name": "होंडुरन लेम्पिरा"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/hr.json b/vendor/commerceguys/intl/resources/currency/hr.json
new file mode 100644
index 000000000..4039f8ba9
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/hr.json
@@ -0,0 +1,478 @@
+{
+ "AFN": {
+ "name": "afganistanski afgani"
+ },
+ "ALL": {
+ "name": "albanski lek"
+ },
+ "DZD": {
+ "name": "alžirski dinar"
+ },
+ "USD": {
+ "name": "američki dolar"
+ },
+ "AOA": {
+ "name": "angolska kvanza"
+ },
+ "ARS": {
+ "name": "argentinski pezo"
+ },
+ "AMD": {
+ "name": "armenski dram"
+ },
+ "AWG": {
+ "name": "arupski florin"
+ },
+ "AUD": {
+ "name": "australski dolar"
+ },
+ "AZN": {
+ "name": "azerbajdžanski manat"
+ },
+ "BSD": {
+ "name": "bahamski dolar"
+ },
+ "BHD": {
+ "name": "bahreinski dinar"
+ },
+ "BDT": {
+ "name": "bangladeška taka"
+ },
+ "BBD": {
+ "name": "barbadoski dolar"
+ },
+ "BZD": {
+ "name": "belizeanski dolar"
+ },
+ "BMD": {
+ "name": "bermudski dolar"
+ },
+ "BYN": {
+ "name": "bjeloruska rublja"
+ },
+ "BYR": {
+ "name": "bjeloruska rublja (2000–2016)"
+ },
+ "BWP": {
+ "name": "bocvanska pula"
+ },
+ "BOB": {
+ "name": "bolivijski bolivijano"
+ },
+ "BRL": {
+ "name": "brazilski real"
+ },
+ "GBP": {
+ "name": "britanska funta"
+ },
+ "BND": {
+ "name": "brunejski dolar"
+ },
+ "BGN": {
+ "name": "bugarski lev"
+ },
+ "BIF": {
+ "name": "burundski franak"
+ },
+ "BTN": {
+ "name": "butanski ngultrum"
+ },
+ "XOF": {
+ "name": "CFA franak BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "CFA franak BEAC",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP franak"
+ },
+ "CZK": {
+ "name": "češka kruna"
+ },
+ "CLP": {
+ "name": "čileanski pezo"
+ },
+ "DKK": {
+ "name": "danska kruna"
+ },
+ "STD": {
+ "name": "dobra Svetog Tome i Principa"
+ },
+ "DOP": {
+ "name": "dominikanski pezo"
+ },
+ "DJF": {
+ "name": "džibutski franak"
+ },
+ "EGP": {
+ "name": "egipatska funta"
+ },
+ "ERN": {
+ "name": "eritrejska nakfa"
+ },
+ "ETB": {
+ "name": "etiopski bir"
+ },
+ "EUR": {
+ "name": "euro"
+ },
+ "FKP": {
+ "name": "falklandska funta"
+ },
+ "FJD": {
+ "name": "fidžijski dolar"
+ },
+ "PHP": {
+ "name": "filipinski pezo"
+ },
+ "GMD": {
+ "name": "gambijski dalas"
+ },
+ "GHS": {
+ "name": "ganski cedi"
+ },
+ "GIP": {
+ "name": "gibraltarska funta"
+ },
+ "GEL": {
+ "name": "gruzijski lari"
+ },
+ "GYD": {
+ "name": "gvajanski dolar"
+ },
+ "GTQ": {
+ "name": "gvatemalski kvecal"
+ },
+ "GNF": {
+ "name": "gvinejski franak"
+ },
+ "HTG": {
+ "name": "haićanski gourd"
+ },
+ "HNL": {
+ "name": "honduraška lempira"
+ },
+ "HKD": {
+ "name": "hongkonški dolar"
+ },
+ "HRK": {
+ "name": "hrvatska kuna"
+ },
+ "INR": {
+ "name": "indijska rupija"
+ },
+ "IDR": {
+ "name": "indonezijska rupija"
+ },
+ "IQD": {
+ "name": "irački dinar"
+ },
+ "IRR": {
+ "name": "iranski rijal"
+ },
+ "ISK": {
+ "name": "islandska kruna"
+ },
+ "XCD": {
+ "name": "istočnokaripski dolar"
+ },
+ "JMD": {
+ "name": "jamajčanski dolar"
+ },
+ "JPY": {
+ "name": "japanski jen"
+ },
+ "YER": {
+ "name": "jemenski rial"
+ },
+ "JOD": {
+ "name": "jordanski dinar"
+ },
+ "ZAR": {
+ "name": "južnoafrički rand"
+ },
+ "KRW": {
+ "name": "južnokorejski won"
+ },
+ "SSP": {
+ "name": "južnosudanska funta"
+ },
+ "KYD": {
+ "name": "kajmanski dolar"
+ },
+ "KHR": {
+ "name": "kambođanski rijal"
+ },
+ "CAD": {
+ "name": "kanadski dolar"
+ },
+ "QAR": {
+ "name": "katarski rial"
+ },
+ "KZT": {
+ "name": "kazahstanski tenge"
+ },
+ "KES": {
+ "name": "kenijski šiling"
+ },
+ "PGK": {
+ "name": "kina Papue Nove Gvineje"
+ },
+ "CNY": {
+ "name": "kineski yuan"
+ },
+ "KGS": {
+ "name": "kirgiski som"
+ },
+ "COP": {
+ "name": "kolumbijski pezo"
+ },
+ "KMF": {
+ "name": "komorski franak"
+ },
+ "CDF": {
+ "name": "kongoanski franak"
+ },
+ "BAM": {
+ "name": "konvertibilna marka"
+ },
+ "CRC": {
+ "name": "kostarikanski kolon"
+ },
+ "CUC": {
+ "name": "kubanski konvertibilni pezo"
+ },
+ "CUP": {
+ "name": "kubanski pezo"
+ },
+ "KWD": {
+ "name": "kuvajtski dinar"
+ },
+ "LAK": {
+ "name": "laoski kip"
+ },
+ "LSL": {
+ "name": "lesoto loti"
+ },
+ "LBP": {
+ "name": "libanonska funta"
+ },
+ "LRD": {
+ "name": "liberijski dolar"
+ },
+ "LYD": {
+ "name": "libijski dinar"
+ },
+ "MGA": {
+ "name": "madagaskarski ariary"
+ },
+ "HUF": {
+ "name": "mađarska forinta"
+ },
+ "MOP": {
+ "name": "makaoška pataka"
+ },
+ "MKD": {
+ "name": "makedonski denar"
+ },
+ "MWK": {
+ "name": "malavijska kvača"
+ },
+ "MVR": {
+ "name": "maldivijska rufija"
+ },
+ "MYR": {
+ "name": "malezijski ringit"
+ },
+ "MAD": {
+ "name": "marokanski dirham"
+ },
+ "MUR": {
+ "name": "mauricijska rupija"
+ },
+ "MRO": {
+ "name": "mauritanijska ouguja"
+ },
+ "MXN": {
+ "name": "meksički pezo"
+ },
+ "MMK": {
+ "name": "mjanmarski kjat"
+ },
+ "MDL": {
+ "name": "moldavski lej"
+ },
+ "MNT": {
+ "name": "mongolski tugrik"
+ },
+ "MZN": {
+ "name": "mozambički metikal"
+ },
+ "NAD": {
+ "name": "namibijski dolar"
+ },
+ "NPR": {
+ "name": "nepalska rupija"
+ },
+ "NGN": {
+ "name": "nigerijska naira"
+ },
+ "NIO": {
+ "name": "nikaragvanska zlatna kordoba"
+ },
+ "ANG": {
+ "name": "nizozemskoantilski gulden"
+ },
+ "NOK": {
+ "name": "norveška kruna"
+ },
+ "ILS": {
+ "name": "novi izraelski šekel"
+ },
+ "TWD": {
+ "name": "novotajvanski dolar"
+ },
+ "NZD": {
+ "name": "novozelandski dolar"
+ },
+ "OMR": {
+ "name": "omanski rijal"
+ },
+ "PKR": {
+ "name": "pakistanska rupija"
+ },
+ "PAB": {
+ "name": "panamska balboa"
+ },
+ "PYG": {
+ "name": "paragvajski gvarani"
+ },
+ "PEN": {
+ "name": "peruanski novi sol"
+ },
+ "PLN": {
+ "name": "poljska zlota"
+ },
+ "RWF": {
+ "name": "ruandski franak"
+ },
+ "RON": {
+ "name": "rumunjski lej"
+ },
+ "RUB": {
+ "name": "ruska rublja"
+ },
+ "SVC": {
+ "name": "salvadorski kolon"
+ },
+ "WST": {
+ "name": "samoanska tala"
+ },
+ "SAR": {
+ "name": "saudijski rial"
+ },
+ "SCR": {
+ "name": "sejšelska rupija"
+ },
+ "SLL": {
+ "name": "sijeraleonski leone"
+ },
+ "SGD": {
+ "name": "singapurski dolar"
+ },
+ "SYP": {
+ "name": "sirijska funta"
+ },
+ "KPW": {
+ "name": "sjevernokorejski won"
+ },
+ "SBD": {
+ "name": "solmonskootočni dolar"
+ },
+ "SOS": {
+ "name": "somalijski šiling"
+ },
+ "RSD": {
+ "name": "srpski dinar"
+ },
+ "SDG": {
+ "name": "sudanska funta"
+ },
+ "SRD": {
+ "name": "surinamski dolar"
+ },
+ "SZL": {
+ "name": "svazi lilangeni"
+ },
+ "SHP": {
+ "name": "svetohelenska funta"
+ },
+ "LKR": {
+ "name": "šrilankanska rupija"
+ },
+ "SEK": {
+ "name": "švedska kruna"
+ },
+ "CHF": {
+ "name": "švicarski franak"
+ },
+ "TJS": {
+ "name": "tadžikistanski somoni"
+ },
+ "THB": {
+ "name": "tajlandski baht"
+ },
+ "TZS": {
+ "name": "tanzanijski šiling"
+ },
+ "TOP": {
+ "name": "tongaška pa’anga"
+ },
+ "TTD": {
+ "name": "trininadtobaški dolar"
+ },
+ "TND": {
+ "name": "tuniski dinar"
+ },
+ "TMT": {
+ "name": "turkmenistanski manat"
+ },
+ "TRY": {
+ "name": "turska lira"
+ },
+ "AED": {
+ "name": "UAE dirham"
+ },
+ "UGX": {
+ "name": "ugandski šiling"
+ },
+ "UAH": {
+ "name": "ukrajinska hrivnja"
+ },
+ "UYU": {
+ "name": "urugvajski pezo"
+ },
+ "UZS": {
+ "name": "uzbekistanski som"
+ },
+ "VUV": {
+ "name": "vanuatski vatu"
+ },
+ "VEF": {
+ "name": "venezuelanski bolivar"
+ },
+ "VND": {
+ "name": "vijetnamski dong"
+ },
+ "ZMW": {
+ "name": "zambijska kvača"
+ },
+ "CVE": {
+ "name": "zelenortski eskudo"
+ },
+ "ZWL": {
+ "name": "zimbabveanski dolar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/hsb.json b/vendor/commerceguys/intl/resources/currency/hsb.json
new file mode 100644
index 000000000..03343db72
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/hsb.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "afghaniski afghani"
+ },
+ "ALL": {
+ "name": "albanski lek"
+ },
+ "DZD": {
+ "name": "algeriski dinar"
+ },
+ "USD": {
+ "name": "ameriski dolar",
+ "symbol": "$"
+ },
+ "AOA": {
+ "name": "angolska kwanza"
+ },
+ "ARS": {
+ "name": "argentinski peso"
+ },
+ "AMD": {
+ "name": "armenski dram"
+ },
+ "AWG": {
+ "name": "aruba-florin"
+ },
+ "AUD": {
+ "name": "awstralski dolar"
+ },
+ "AZN": {
+ "name": "azerbajdźanski manat"
+ },
+ "BSD": {
+ "name": "bahamaski dolar"
+ },
+ "BHD": {
+ "name": "bahrainski dinar"
+ },
+ "BDT": {
+ "name": "bangladešska taka"
+ },
+ "BBD": {
+ "name": "barbadoski dolar"
+ },
+ "BZD": {
+ "name": "belizeski dolar"
+ },
+ "BMD": {
+ "name": "bermudaski dolar"
+ },
+ "BYN": {
+ "name": "běłoruski rubl"
+ },
+ "BYR": {
+ "name": "běłoruski rubl (2000–2016)"
+ },
+ "BTN": {
+ "name": "bhutanski ngultrum"
+ },
+ "BGN": {
+ "name": "bołharski lew"
+ },
+ "BOB": {
+ "name": "boliwiski boliviano"
+ },
+ "BAM": {
+ "name": "bosniska konwertibelna hriwna"
+ },
+ "BWP": {
+ "name": "botswanska pula"
+ },
+ "BRL": {
+ "name": "brazilski real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "britiski punt",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "bruneiski dolar"
+ },
+ "BIF": {
+ "name": "burundiski frank"
+ },
+ "XOF": {
+ "name": "CFA-frank (BCEAO)",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "CFA-frank (BEAC)",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP-frank",
+ "symbol": "CFPF"
+ },
+ "CZK": {
+ "name": "čěska króna"
+ },
+ "DKK": {
+ "name": "danska króna"
+ },
+ "DOP": {
+ "name": "dominikanski peso"
+ },
+ "DJF": {
+ "name": "dźibutiski frank"
+ },
+ "EGP": {
+ "name": "egyptowski punt"
+ },
+ "SVC": {
+ "name": "el salvadorski colón"
+ },
+ "ERN": {
+ "name": "eritrejska nakfa"
+ },
+ "ETB": {
+ "name": "etiopiski birr"
+ },
+ "EUR": {
+ "name": "euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "falklandski punt"
+ },
+ "FJD": {
+ "name": "fidźiski dolar"
+ },
+ "PHP": {
+ "name": "filipinski peso"
+ },
+ "GMD": {
+ "name": "gambiski dalasi"
+ },
+ "GEL": {
+ "name": "georgiski lari"
+ },
+ "GHS": {
+ "name": "ghanaski cedi"
+ },
+ "GIP": {
+ "name": "gibraltarski punt"
+ },
+ "GNF": {
+ "name": "ginejski frank"
+ },
+ "GTQ": {
+ "name": "guatemalski quetzal"
+ },
+ "GYD": {
+ "name": "guyanski dolar"
+ },
+ "HTG": {
+ "name": "haitiska gourda"
+ },
+ "HNL": {
+ "name": "honduraska lempira"
+ },
+ "HKD": {
+ "name": "hongkongski dolar",
+ "symbol": "HK$"
+ },
+ "CLP": {
+ "name": "chilski peso"
+ },
+ "CNY": {
+ "name": "chinski yuan",
+ "symbol": "CN¥"
+ },
+ "HRK": {
+ "name": "chorwatska kuna"
+ },
+ "INR": {
+ "name": "indiska rupija",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "indoneska rupija"
+ },
+ "IQD": {
+ "name": "irakski dinar"
+ },
+ "IRR": {
+ "name": "iranski rial"
+ },
+ "ISK": {
+ "name": "islandska króna"
+ },
+ "ILS": {
+ "name": "israelski nowy šekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "jamaiski dolar"
+ },
+ "JPY": {
+ "name": "japanski yen",
+ "symbol": "¥"
+ },
+ "YER": {
+ "name": "jemenski rial"
+ },
+ "JOD": {
+ "name": "jordaniski dinar"
+ },
+ "ZAR": {
+ "name": "južnoafriski rand"
+ },
+ "KRW": {
+ "name": "južnokorejski won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "južnosudanski punt"
+ },
+ "KYD": {
+ "name": "kajmanski dolar"
+ },
+ "KHR": {
+ "name": "kambodźaski riel"
+ },
+ "CAD": {
+ "name": "kanadiski dolar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "kapverdski escudo"
+ },
+ "QAR": {
+ "name": "katarski rial"
+ },
+ "KZT": {
+ "name": "kazachski tenge"
+ },
+ "KES": {
+ "name": "keniaski šiling"
+ },
+ "KGS": {
+ "name": "kirgiski som"
+ },
+ "COP": {
+ "name": "kolumbiski peso"
+ },
+ "KMF": {
+ "name": "komorski frank"
+ },
+ "CDF": {
+ "name": "kongoski frank"
+ },
+ "CRC": {
+ "name": "kosta-rikaski colón"
+ },
+ "CUC": {
+ "name": "kubaski konwertibelny peso"
+ },
+ "CUP": {
+ "name": "kubaski peso"
+ },
+ "KWD": {
+ "name": "kuwaitski dinar"
+ },
+ "LAK": {
+ "name": "laoski kip"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LBP": {
+ "name": "libanonski punt"
+ },
+ "LRD": {
+ "name": "liberiski dolar"
+ },
+ "LYD": {
+ "name": "libyski dinar"
+ },
+ "MOP": {
+ "name": "macaoska pataka"
+ },
+ "MGA": {
+ "name": "madagaskarski ariary"
+ },
+ "HUF": {
+ "name": "madźarski forint"
+ },
+ "MKD": {
+ "name": "makedonski denar"
+ },
+ "MYR": {
+ "name": "malajziski ringgit"
+ },
+ "MWK": {
+ "name": "malawiski kwacha"
+ },
+ "MVR": {
+ "name": "malediwiska rupija"
+ },
+ "MAD": {
+ "name": "marokkoski dirham"
+ },
+ "MUR": {
+ "name": "mauritiuska rupija"
+ },
+ "MRO": {
+ "name": "mawretanska ouguiya"
+ },
+ "MXN": {
+ "name": "mexiski peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "moldawski leu"
+ },
+ "MNT": {
+ "name": "mongolski tugrik"
+ },
+ "MZN": {
+ "name": "mosambikski metical"
+ },
+ "MMK": {
+ "name": "myanmarski kyat"
+ },
+ "NAD": {
+ "name": "namibiski dolar"
+ },
+ "NPR": {
+ "name": "nepalska rupija"
+ },
+ "NGN": {
+ "name": "nigeriski naira"
+ },
+ "NIO": {
+ "name": "nikaraguaski cordoba"
+ },
+ "ANG": {
+ "name": "nižozemsko-antilski gulden"
+ },
+ "NOK": {
+ "name": "norwegska króna"
+ },
+ "NZD": {
+ "name": "nowoseelandski dolar",
+ "symbol": "NZ$"
+ },
+ "TWD": {
+ "name": "nowy taiwanski dolar",
+ "symbol": "NT$"
+ },
+ "OMR": {
+ "name": "omanski rial"
+ },
+ "PKR": {
+ "name": "pakistanska rupija"
+ },
+ "PAB": {
+ "name": "panamaski balboa"
+ },
+ "PGK": {
+ "name": "papua-nowoginejski kina"
+ },
+ "PYG": {
+ "name": "paraguayski guarani"
+ },
+ "PEN": {
+ "name": "peruski nowy sol"
+ },
+ "PLN": {
+ "name": "pólski złoty",
+ "symbol": "zł"
+ },
+ "RWF": {
+ "name": "ruandiski frank"
+ },
+ "RON": {
+ "name": "rumunski leu"
+ },
+ "RUB": {
+ "name": "ruski rubl"
+ },
+ "SBD": {
+ "name": "salomonski dolar"
+ },
+ "ZMW": {
+ "name": "sambiski kwacha"
+ },
+ "WST": {
+ "name": "samoaski tala"
+ },
+ "STD": {
+ "name": "são tomeski dobra"
+ },
+ "SAR": {
+ "name": "saudi-arabski rial"
+ },
+ "RSD": {
+ "name": "serbiski dinar"
+ },
+ "KPW": {
+ "name": "sewjernokorejski won"
+ },
+ "SCR": {
+ "name": "seychellska rupija"
+ },
+ "SLL": {
+ "name": "sierra-leoneski leone"
+ },
+ "SGD": {
+ "name": "singapurski dolar"
+ },
+ "SOS": {
+ "name": "somaliski šiling"
+ },
+ "LKR": {
+ "name": "sri-lankaska rupija"
+ },
+ "SHP": {
+ "name": "St. Helenski punt"
+ },
+ "SDG": {
+ "name": "sudanski punt"
+ },
+ "SRD": {
+ "name": "surinamski dolar"
+ },
+ "SZL": {
+ "name": "swasiski lilangeni"
+ },
+ "SYP": {
+ "name": "syriski punt"
+ },
+ "SEK": {
+ "name": "šwedska króna"
+ },
+ "CHF": {
+ "name": "šwicarski frank"
+ },
+ "TJS": {
+ "name": "tadźikski somoni"
+ },
+ "TZS": {
+ "name": "tansaniski šiling"
+ },
+ "THB": {
+ "name": "thaiski baht",
+ "symbol": "฿"
+ },
+ "TOP": {
+ "name": "tongaski paʻanga"
+ },
+ "TTD": {
+ "name": "trinidad-tobagoski dolar"
+ },
+ "TND": {
+ "name": "tuneziski dinar"
+ },
+ "TMT": {
+ "name": "turkmenski manat"
+ },
+ "TRY": {
+ "name": "turkowska lira"
+ },
+ "UGX": {
+ "name": "ugandaski šiling"
+ },
+ "UAH": {
+ "name": "ukrainska hriwna"
+ },
+ "UYU": {
+ "name": "uruguayski peso"
+ },
+ "UZS": {
+ "name": "uzbekski sum"
+ },
+ "VUV": {
+ "name": "vanuatuski vatu"
+ },
+ "VEF": {
+ "name": "venezuelski bolívar"
+ },
+ "VND": {
+ "name": "vietnamski dong",
+ "symbol": "₫"
+ },
+ "XCD": {
+ "name": "wuchodnokaribiski dolar",
+ "symbol": "EC$"
+ },
+ "AED": {
+ "name": "ZAE dirham"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/hu.json b/vendor/commerceguys/intl/resources/currency/hu.json
new file mode 100644
index 000000000..284e7cd05
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/hu.json
@@ -0,0 +1,481 @@
+{
+ "AFN": {
+ "name": "afgán afghani"
+ },
+ "ALL": {
+ "name": "albán lek"
+ },
+ "DZD": {
+ "name": "algériai dínár"
+ },
+ "AOA": {
+ "name": "angolai kwanza"
+ },
+ "ARS": {
+ "name": "argentin peso"
+ },
+ "AWG": {
+ "name": "arubai florin"
+ },
+ "AUD": {
+ "name": "ausztrál dollár"
+ },
+ "AZN": {
+ "name": "azerbajdzsáni manat"
+ },
+ "BSD": {
+ "name": "bahamai dollár"
+ },
+ "BHD": {
+ "name": "bahreini dinár"
+ },
+ "BDT": {
+ "name": "bangladesi taka"
+ },
+ "BBD": {
+ "name": "barbadosi dollár"
+ },
+ "BZD": {
+ "name": "belize-i dollár"
+ },
+ "BMD": {
+ "name": "bermudai dollár"
+ },
+ "BTN": {
+ "name": "bhutáni ngultrum"
+ },
+ "BGN": {
+ "name": "bolgár új leva"
+ },
+ "BOB": {
+ "name": "bolíviai boliviano"
+ },
+ "BAM": {
+ "name": "bosznia-hercegovinai konvertibilis márka"
+ },
+ "BWP": {
+ "name": "botswanai pula"
+ },
+ "BRL": {
+ "name": "brazil real"
+ },
+ "GBP": {
+ "name": "brit font"
+ },
+ "BND": {
+ "name": "brunei dollár"
+ },
+ "BIF": {
+ "name": "burundi frank"
+ },
+ "CVE": {
+ "name": "Cape Verde-i escudo"
+ },
+ "XOF": {
+ "name": "CFA frank BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "CFA frank BEAC",
+ "symbol": "FCFA"
+ },
+ "CLP": {
+ "name": "chilei peso"
+ },
+ "KMF": {
+ "name": "comorei frank"
+ },
+ "CRC": {
+ "name": "Costa Rica-i colon"
+ },
+ "CZK": {
+ "name": "cseh korona"
+ },
+ "XPF": {
+ "name": "csendes-óceáni valutaközösségi frank",
+ "symbol": "CFPF"
+ },
+ "DKK": {
+ "name": "dán korona"
+ },
+ "ZAR": {
+ "name": "dél-afrikai rand"
+ },
+ "KRW": {
+ "name": "dél-koreai won"
+ },
+ "SSP": {
+ "name": "dél-szudáni font"
+ },
+ "DOP": {
+ "name": "dominikai peso"
+ },
+ "DJF": {
+ "name": "dzsibuti frank"
+ },
+ "AED": {
+ "name": "EAE-dirham"
+ },
+ "EGP": {
+ "name": "egyiptomi font"
+ },
+ "ERN": {
+ "name": "eritreai nakfa"
+ },
+ "KPW": {
+ "name": "észak-koreai won"
+ },
+ "ETB": {
+ "name": "etiópiai birr"
+ },
+ "EUR": {
+ "name": "euró"
+ },
+ "FKP": {
+ "name": "falkland-szigeteki font"
+ },
+ "BYN": {
+ "name": "fehérorosz rubel"
+ },
+ "BYR": {
+ "name": "fehérorosz rubel (2000–2016)"
+ },
+ "FJD": {
+ "name": "fidzsi dollár"
+ },
+ "PHP": {
+ "name": "fülöp-szigeteki peso"
+ },
+ "GMD": {
+ "name": "gambiai dalasi"
+ },
+ "GHS": {
+ "name": "ghánai cedi"
+ },
+ "GIP": {
+ "name": "gibraltári font"
+ },
+ "GEL": {
+ "name": "grúz lari"
+ },
+ "GTQ": {
+ "name": "guatemalai quetzal"
+ },
+ "GNF": {
+ "name": "guineai frank"
+ },
+ "GYD": {
+ "name": "guyanai dollár"
+ },
+ "HTG": {
+ "name": "haiti gourde"
+ },
+ "HNL": {
+ "name": "hodurasi lempira"
+ },
+ "ANG": {
+ "name": "holland antilláki forint"
+ },
+ "HKD": {
+ "name": "hongkongi dollár"
+ },
+ "HRK": {
+ "name": "horvát kuna"
+ },
+ "INR": {
+ "name": "indiai rúpia"
+ },
+ "IDR": {
+ "name": "indonéz rúpia"
+ },
+ "IQD": {
+ "name": "iraki dínár"
+ },
+ "IRR": {
+ "name": "iráni rial"
+ },
+ "ISK": {
+ "name": "izlandi korona"
+ },
+ "ILS": {
+ "name": "izraeli új sékel"
+ },
+ "JMD": {
+ "name": "jamaicai dollár"
+ },
+ "JPY": {
+ "name": "japán jen",
+ "symbol": "¥"
+ },
+ "YER": {
+ "name": "jemeni rial"
+ },
+ "JOD": {
+ "name": "jordániai dínár"
+ },
+ "KYD": {
+ "name": "kajmán-szigeteki dollár"
+ },
+ "KHR": {
+ "name": "kambodzsai riel"
+ },
+ "CAD": {
+ "name": "kanadai dollár"
+ },
+ "QAR": {
+ "name": "katari rial"
+ },
+ "KZT": {
+ "name": "kazahsztáni tenge"
+ },
+ "XCD": {
+ "name": "kelet-karibi dollár"
+ },
+ "KES": {
+ "name": "kenyai shilling"
+ },
+ "CNY": {
+ "name": "kínai jüan"
+ },
+ "KGS": {
+ "name": "kirgizisztáni szom"
+ },
+ "COP": {
+ "name": "kolumbiai peso"
+ },
+ "CDF": {
+ "name": "kongói frank"
+ },
+ "CUC": {
+ "name": "kubai konvertibilis peso"
+ },
+ "CUP": {
+ "name": "kubai peso"
+ },
+ "KWD": {
+ "name": "kuvaiti dínár"
+ },
+ "LAK": {
+ "name": "laoszi kip"
+ },
+ "PLN": {
+ "name": "lengyel zloty"
+ },
+ "LSL": {
+ "name": "Lesothoi loti"
+ },
+ "LBP": {
+ "name": "libanoni font"
+ },
+ "LRD": {
+ "name": "libériai dollár"
+ },
+ "LYD": {
+ "name": "líbiai dínár"
+ },
+ "MKD": {
+ "name": "macedon dínár"
+ },
+ "MGA": {
+ "name": "madagaszkári ariary"
+ },
+ "HUF": {
+ "name": "magyar forint",
+ "symbol": "Ft"
+ },
+ "MOP": {
+ "name": "makaói pataca"
+ },
+ "MYR": {
+ "name": "malajziai ringgit"
+ },
+ "MWK": {
+ "name": "malawi kwacha"
+ },
+ "MVR": {
+ "name": "maldív-szigeteki rufiyaa"
+ },
+ "MAD": {
+ "name": "marokkói dirham"
+ },
+ "MRO": {
+ "name": "mauritániai ouguiya"
+ },
+ "MUR": {
+ "name": "mauritiusi rúpia"
+ },
+ "MXN": {
+ "name": "mexikói peso"
+ },
+ "MMK": {
+ "name": "mianmari kyat"
+ },
+ "MDL": {
+ "name": "moldován lei"
+ },
+ "MNT": {
+ "name": "mongóliai tugrik"
+ },
+ "MZN": {
+ "name": "mozambiki metikális"
+ },
+ "NAD": {
+ "name": "namíbiai dollár"
+ },
+ "NPR": {
+ "name": "nepáli rúpia"
+ },
+ "NIO": {
+ "name": "nicaraguai córdoba"
+ },
+ "NGN": {
+ "name": "nigériai naira"
+ },
+ "NOK": {
+ "name": "norvég korona"
+ },
+ "WST": {
+ "name": "nyugat-szamoai tala"
+ },
+ "OMR": {
+ "name": "ománi rial"
+ },
+ "RUB": {
+ "name": "orosz rubel"
+ },
+ "AMD": {
+ "name": "örmény dram"
+ },
+ "PKR": {
+ "name": "pakisztáni rúpia"
+ },
+ "PAB": {
+ "name": "panamai balboa"
+ },
+ "PGK": {
+ "name": "pápua új-guineai kina"
+ },
+ "PYG": {
+ "name": "paraguayi guarani"
+ },
+ "PEN": {
+ "name": "perui sol nuevo"
+ },
+ "RON": {
+ "name": "román lej"
+ },
+ "RWF": {
+ "name": "ruandai frank"
+ },
+ "SBD": {
+ "name": "salamon-szigeteki dollár"
+ },
+ "SVC": {
+ "name": "Salvadori colón"
+ },
+ "STD": {
+ "name": "São Tomé és Príncipe-i dobra"
+ },
+ "SCR": {
+ "name": "seychelle-szigeteki rúpia"
+ },
+ "SLL": {
+ "name": "Sierra Leone-i leone"
+ },
+ "LKR": {
+ "name": "Srí Lanka-i rúpia"
+ },
+ "SRD": {
+ "name": "suriname-i dollár"
+ },
+ "CHF": {
+ "name": "svájci frank"
+ },
+ "SEK": {
+ "name": "svéd korona"
+ },
+ "SAR": {
+ "name": "szaúdi riyal"
+ },
+ "SHP": {
+ "name": "Szent Ilona-i font"
+ },
+ "RSD": {
+ "name": "szerb dínár"
+ },
+ "SGD": {
+ "name": "szingapúri dollár"
+ },
+ "SYP": {
+ "name": "szíriai font"
+ },
+ "SOS": {
+ "name": "szomáli shilling"
+ },
+ "SDG": {
+ "name": "szudáni font"
+ },
+ "SZL": {
+ "name": "szváziföldi lilangeni"
+ },
+ "TJS": {
+ "name": "tádzsikisztáni somoni"
+ },
+ "TWD": {
+ "name": "tajvani új dollár"
+ },
+ "TZS": {
+ "name": "tanzániai shilling"
+ },
+ "THB": {
+ "name": "thai baht"
+ },
+ "TOP": {
+ "name": "tongai paanga"
+ },
+ "TRY": {
+ "name": "török líra"
+ },
+ "TTD": {
+ "name": "Trinidad és Tobago-i dollár"
+ },
+ "TND": {
+ "name": "tunéziai dínár"
+ },
+ "TMT": {
+ "name": "türkmenisztáni manat"
+ },
+ "UGX": {
+ "name": "ugandai shilling"
+ },
+ "NZD": {
+ "name": "új-zélandi dollár"
+ },
+ "UAH": {
+ "name": "ukrán hrivnya"
+ },
+ "UYU": {
+ "name": "uruguay-i peso"
+ },
+ "USD": {
+ "name": "USA-dollár"
+ },
+ "UZS": {
+ "name": "üzbegisztáni szum"
+ },
+ "VUV": {
+ "name": "vanuatui vatu"
+ },
+ "VEF": {
+ "name": "venezuelai bolivar"
+ },
+ "VND": {
+ "name": "vietnami dong"
+ },
+ "ZMW": {
+ "name": "zambiai kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwei dollár (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/hy.json b/vendor/commerceguys/intl/resources/currency/hy.json
new file mode 100644
index 000000000..bbf5b2052
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/hy.json
@@ -0,0 +1,498 @@
+{
+ "AZN": {
+ "name": "Ադրբեջանական մանաթ"
+ },
+ "ALL": {
+ "name": "Ալբանական լեկ"
+ },
+ "DZD": {
+ "name": "Ալժիրյան դինար"
+ },
+ "USD": {
+ "name": "ԱՄՆ դոլար",
+ "symbol": "$"
+ },
+ "AOA": {
+ "name": "Անգոլական կվանզա"
+ },
+ "AUD": {
+ "name": "Ավստրալիական դոլար",
+ "symbol": "A$"
+ },
+ "AED": {
+ "name": "Արաբական Միացյալ Էմիրությունների դիրհամ"
+ },
+ "ARS": {
+ "name": "Արգենտինական պեսո"
+ },
+ "AWG": {
+ "name": "Արուբական ֆլորին"
+ },
+ "XCD": {
+ "name": "Արևելակարիբյան դոլար",
+ "symbol": "EC$"
+ },
+ "XOF": {
+ "name": "Արևմտյան Աֆրիկայի ԿՖԱ ֆրանկ",
+ "symbol": "CFA"
+ },
+ "AFN": {
+ "name": "Աֆղանական աֆղանի"
+ },
+ "BSD": {
+ "name": "Բահամյան դոլար"
+ },
+ "BHD": {
+ "name": "Բահրեյնի դինար"
+ },
+ "BDT": {
+ "name": "Բանգլադեշի տակա"
+ },
+ "BBD": {
+ "name": "Բարբադոսյան դոլար"
+ },
+ "BYN": {
+ "name": "Բելառուսական ռուբլի"
+ },
+ "BYR": {
+ "name": "Բելառուսական ռուբլի (2000–2016)"
+ },
+ "BZD": {
+ "name": "Բելիզի դոլար"
+ },
+ "BMD": {
+ "name": "Բերմուդյան դոլար"
+ },
+ "BWP": {
+ "name": "Բոթսվանական պուլա"
+ },
+ "BOB": {
+ "name": "Բոլիվիական բոլիվիանո"
+ },
+ "BAM": {
+ "name": "Բոսնիա և Հերցեգովինայի փոխարկվող մարկ"
+ },
+ "BTN": {
+ "name": "Բութանական նգուլտրում"
+ },
+ "BGN": {
+ "name": "Բուլղարական լև"
+ },
+ "BIF": {
+ "name": "Բուրունդիական ֆրանկ"
+ },
+ "BRL": {
+ "name": "Բրազիլական ռեալ",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "Բրիտանական ֆունտ ստերլինգ",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Բրունեյի դոլար"
+ },
+ "GMD": {
+ "name": "Գամբիական դալասի"
+ },
+ "GYD": {
+ "name": "Գայանական դոլար"
+ },
+ "GHS": {
+ "name": "Գանայական սեդի"
+ },
+ "GTQ": {
+ "name": "Գվատեմալական կետսալ"
+ },
+ "GNF": {
+ "name": "Գվինեական ֆրանկ"
+ },
+ "DKK": {
+ "name": "Դանիական կրոն"
+ },
+ "DOP": {
+ "name": "Դոմինիկյան պեսո"
+ },
+ "EGP": {
+ "name": "Եգիպտական ֆունտ"
+ },
+ "ETB": {
+ "name": "Եթովպիական բիր"
+ },
+ "YER": {
+ "name": "Եմենական ռիալ"
+ },
+ "EUR": {
+ "name": "Եվրո",
+ "symbol": "€"
+ },
+ "ZMW": {
+ "name": "Զամբիական կվաչա"
+ },
+ "ERN": {
+ "name": "Էրիթրեական նակֆա"
+ },
+ "THB": {
+ "name": "Թայլանդական բատ",
+ "symbol": "฿"
+ },
+ "TWD": {
+ "name": "Թայվանական նոր դոլար",
+ "symbol": "NT$"
+ },
+ "TND": {
+ "name": "Թունիսյան դինար"
+ },
+ "TRY": {
+ "name": "Թուրքական լիրա"
+ },
+ "TMT": {
+ "name": "Թուրքմենական մանաթ"
+ },
+ "IDR": {
+ "name": "Ինդոնեզիական ռուփի"
+ },
+ "ISK": {
+ "name": "Իսլանդական կրոն"
+ },
+ "ILS": {
+ "name": "Իսրայելի նոր շեկել",
+ "symbol": "₪"
+ },
+ "IRR": {
+ "name": "Իրանական ռիալ"
+ },
+ "IQD": {
+ "name": "Իրաքյան դինար"
+ },
+ "LAK": {
+ "name": "Լաոսական կիպ"
+ },
+ "PLN": {
+ "name": "Լեհական զլոտի"
+ },
+ "LBP": {
+ "name": "Լիբանանյան ֆունտ"
+ },
+ "LRD": {
+ "name": "Լիբերիական դոլար"
+ },
+ "LYD": {
+ "name": "Լիբիական դինար"
+ },
+ "HRK": {
+ "name": "Խորվաթական կունա"
+ },
+ "CVE": {
+ "name": "Կաբո Վերդեի էսկուդո"
+ },
+ "KHR": {
+ "name": "Կամբոջական ռիել"
+ },
+ "KYD": {
+ "name": "Կայմանյան կղզիների դոլար"
+ },
+ "CAD": {
+ "name": "Կանադական դոլար",
+ "symbol": "CA$"
+ },
+ "QAR": {
+ "name": "Կատարի ռիալ"
+ },
+ "XAF": {
+ "name": "Կենտրոնական Աֆրիկայի ԿՖԱ ֆրանկ",
+ "symbol": "FCFA"
+ },
+ "COP": {
+ "name": "Կոլումբիական պեսո"
+ },
+ "KMF": {
+ "name": "Կոմորյան ֆրանկ"
+ },
+ "CDF": {
+ "name": "Կոնգոյի ֆրանկ"
+ },
+ "CRC": {
+ "name": "Կոստա Ռիկայի կոլոն"
+ },
+ "CUP": {
+ "name": "կուբայական պեսո"
+ },
+ "CUC": {
+ "name": "Կուբայական փոխարկվող պեսո"
+ },
+ "XPF": {
+ "name": "ԿՊՖ ֆրանկ",
+ "symbol": "CFPF"
+ },
+ "HTG": {
+ "name": "Հայիթյան գուրդ"
+ },
+ "AMD": {
+ "name": "Հայկական դրամ",
+ "symbol": "֏"
+ },
+ "ZAR": {
+ "name": "Հարավաֆրիկյան ռանդ"
+ },
+ "KRW": {
+ "name": "Հարավկորեական վոն",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "Հարավսուդանական ֆունտ"
+ },
+ "KPW": {
+ "name": "Հյուսիսկորեական վոն"
+ },
+ "INR": {
+ "name": "Հնդկական ռուփի",
+ "symbol": "₹"
+ },
+ "HNL": {
+ "name": "Հոնդուրասական լեմպիրա"
+ },
+ "HKD": {
+ "name": "Հոնկոնգի դոլար",
+ "symbol": "HK$"
+ },
+ "JOD": {
+ "name": "Հորդանանյան դինար"
+ },
+ "HUF": {
+ "name": "Հունգարական ֆորինտ"
+ },
+ "KZT": {
+ "name": "Ղազախական տենգե"
+ },
+ "KGS": {
+ "name": "Ղրղզական սոմ"
+ },
+ "JMD": {
+ "name": "Ճամայկայի դոլար"
+ },
+ "JPY": {
+ "name": "Ճապոնական իեն",
+ "symbol": "JP¥"
+ },
+ "MGA": {
+ "name": "Մադագասկարի արիարի"
+ },
+ "MYR": {
+ "name": "Մալայզիական ռինգիտ"
+ },
+ "MWK": {
+ "name": "Մալավիական կվաչա"
+ },
+ "MVR": {
+ "name": "Մալդիվյան ռուֆիյա"
+ },
+ "MOP": {
+ "name": "Մակաուի պատակա"
+ },
+ "MKD": {
+ "name": "Մակեդոնյան դենար"
+ },
+ "MUR": {
+ "name": "Մավրիկյան ռուփի"
+ },
+ "MRO": {
+ "name": "Մավրիտանական ուգիյա"
+ },
+ "MAD": {
+ "name": "Մարոկկոյի դիրհամ"
+ },
+ "MXN": {
+ "name": "Մեքսիկական պեսո",
+ "symbol": "MX$"
+ },
+ "MMK": {
+ "name": "Մյանմայի կյատ"
+ },
+ "MZN": {
+ "name": "Մոզամբիկյան մետիկալ"
+ },
+ "MDL": {
+ "name": "Մոլդովական լեյ"
+ },
+ "MNT": {
+ "name": "Մոնղոլական տուգրիկ"
+ },
+ "NAD": {
+ "name": "Նամիբիական դոլար"
+ },
+ "NPR": {
+ "name": "Նեպալի ռուփի"
+ },
+ "NGN": {
+ "name": "Նիգերիական նայրա"
+ },
+ "ANG": {
+ "name": "Նիդեռլանդական անտիլյան գուլդեն"
+ },
+ "NIO": {
+ "name": "Նիկարագուական կորդոբա"
+ },
+ "NZD": {
+ "name": "Նորզելանդական դոլար",
+ "symbol": "NZ$"
+ },
+ "NOK": {
+ "name": "Նորվեգական կրոն"
+ },
+ "SEK": {
+ "name": "Շվեդական կրոն"
+ },
+ "CHF": {
+ "name": "Շվեյցարական ֆրանկ"
+ },
+ "LKR": {
+ "name": "Շրի Լանկայի ռուփի"
+ },
+ "UGX": {
+ "name": "Ուգանդական շիլինգ"
+ },
+ "UZS": {
+ "name": "Ուզբեկական սոմ"
+ },
+ "UAH": {
+ "name": "Ուկրաինական գրիվնա"
+ },
+ "UYU": {
+ "name": "Ուրուգվայական պեսո"
+ },
+ "CZK": {
+ "name": "Չեխական կրոն"
+ },
+ "CLP": {
+ "name": "Չիլիական պեսո"
+ },
+ "CNY": {
+ "name": "Չինական յուան",
+ "symbol": "CN¥"
+ },
+ "PKR": {
+ "name": "Պակիստանյան ռուփի"
+ },
+ "PAB": {
+ "name": "Պանամական բալբոա"
+ },
+ "PGK": {
+ "name": "Պապուա Նոր Գվինեայի կինա"
+ },
+ "PYG": {
+ "name": "Պարագվայական գուարանի"
+ },
+ "PEN": {
+ "name": "Պերուի նոր սոլ"
+ },
+ "DJF": {
+ "name": "Ջիբութիի ֆրանկ"
+ },
+ "GIP": {
+ "name": "Ջիբրալթարի ֆունտ"
+ },
+ "RWF": {
+ "name": "Ռուանդական ֆրանկ"
+ },
+ "RON": {
+ "name": "Ռումինական լեյ"
+ },
+ "RUB": {
+ "name": "Ռուսական ռուբլի"
+ },
+ "WST": {
+ "name": "Սամոական տալա"
+ },
+ "STD": {
+ "name": "Սան Տոմե և Փրինսիպիի դոբրա"
+ },
+ "SAR": {
+ "name": "Սաուդյան Արաբիայի ռիալ"
+ },
+ "SCR": {
+ "name": "Սեյշելյան ռուփի"
+ },
+ "RSD": {
+ "name": "Սերբական դինար"
+ },
+ "SLL": {
+ "name": "Սիեռա Լեոնեի լեոնե"
+ },
+ "SGD": {
+ "name": "Սինգապուրի դոլար"
+ },
+ "SYP": {
+ "name": "Սիրիական ֆունտ"
+ },
+ "SBD": {
+ "name": "Սողոմոնի կղզիների դոլար"
+ },
+ "SOS": {
+ "name": "Սոմալիական շիլինգ"
+ },
+ "SDG": {
+ "name": "Սուդանական ֆունտ"
+ },
+ "SHP": {
+ "name": "Սուրբ Հեղինեի ֆունտ"
+ },
+ "SRD": {
+ "name": "Սուրինամի դոլար"
+ },
+ "SZL": {
+ "name": "Սվազիլենդական լիլանգենի"
+ },
+ "VUV": {
+ "name": "Վանուատուի վատու"
+ },
+ "VEF": {
+ "name": "Վենեսուելական բոլիվար"
+ },
+ "VND": {
+ "name": "Վիետնամական դոնգ",
+ "symbol": "₫"
+ },
+ "GEL": {
+ "name": "Վրացական լարի"
+ },
+ "TZS": {
+ "name": "Տանզանիական շիլինգ"
+ },
+ "TJS": {
+ "name": "Տաջիկական սոմոնի"
+ },
+ "TOP": {
+ "name": "Տոնգայի պաանգա"
+ },
+ "TTD": {
+ "name": "Տրինիդադ և Տոբագոյի դոլար"
+ },
+ "KES": {
+ "name": "Քենիական շիլինգ"
+ },
+ "KWD": {
+ "name": "Քուվեյթի դինար"
+ },
+ "OMR": {
+ "name": "Օմանի ռիալ"
+ },
+ "PHP": {
+ "name": "Ֆիլիպինյան պեսո"
+ },
+ "FJD": {
+ "name": "Ֆիջիական դոլար"
+ },
+ "FKP": {
+ "name": "Ֆոլքլենդյան կղզիների ֆունտ"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/id.json b/vendor/commerceguys/intl/resources/currency/id.json
new file mode 100644
index 000000000..c43aff82d
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/id.json
@@ -0,0 +1,498 @@
+{
+ "AFN": {
+ "name": "Afgani Afganistan"
+ },
+ "MGA": {
+ "name": "Ariary Madagaskar"
+ },
+ "THB": {
+ "name": "Baht Thailand",
+ "symbol": "฿"
+ },
+ "PAB": {
+ "name": "Balboa Panama"
+ },
+ "ETB": {
+ "name": "Birr Etiopia"
+ },
+ "VEF": {
+ "name": "Bolivar Venezuela"
+ },
+ "BOB": {
+ "name": "Boliviano"
+ },
+ "GHS": {
+ "name": "Cedi Ghana"
+ },
+ "SVC": {
+ "name": "Colon El Savador"
+ },
+ "CRC": {
+ "name": "Colon Kosta Rika"
+ },
+ "NIO": {
+ "name": "Cordoba Nikaragua"
+ },
+ "GMD": {
+ "name": "Dalasi Gambia"
+ },
+ "MKD": {
+ "name": "Denar Makedonia"
+ },
+ "DZD": {
+ "name": "Dinar Algeria"
+ },
+ "BHD": {
+ "name": "Dinar Bahrain"
+ },
+ "IQD": {
+ "name": "Dinar Irak"
+ },
+ "KWD": {
+ "name": "Dinar Kuwait"
+ },
+ "LYD": {
+ "name": "Dinar Libya"
+ },
+ "RSD": {
+ "name": "Dinar Serbia"
+ },
+ "TND": {
+ "name": "Dinar Tunisia"
+ },
+ "JOD": {
+ "name": "Dinar Yordania"
+ },
+ "MAD": {
+ "name": "Dirham Maroko"
+ },
+ "AED": {
+ "name": "Dirham Uni Emirat Arab"
+ },
+ "STD": {
+ "name": "Dobra Sao Tome dan Principe"
+ },
+ "USD": {
+ "name": "Dolar Amerika Serikat",
+ "symbol": "US$"
+ },
+ "AUD": {
+ "name": "Dolar Australia",
+ "symbol": "AU$"
+ },
+ "BSD": {
+ "name": "Dolar Bahama"
+ },
+ "BBD": {
+ "name": "Dolar Barbados"
+ },
+ "TWD": {
+ "name": "Dolar Baru Taiwan",
+ "symbol": "NT$"
+ },
+ "BZD": {
+ "name": "Dolar Belize"
+ },
+ "BMD": {
+ "name": "Dolar Bermuda"
+ },
+ "BND": {
+ "name": "Dolar Brunei"
+ },
+ "FJD": {
+ "name": "Dolar Fiji"
+ },
+ "GYD": {
+ "name": "Dolar Guyana"
+ },
+ "HKD": {
+ "name": "Dolar Hong Kong",
+ "symbol": "HK$"
+ },
+ "JMD": {
+ "name": "Dolar Jamaika"
+ },
+ "CAD": {
+ "name": "Dolar Kanada",
+ "symbol": "CA$"
+ },
+ "XCD": {
+ "name": "Dolar Karibia Timur",
+ "symbol": "EC$"
+ },
+ "KYD": {
+ "name": "Dolar Kepulauan Cayman"
+ },
+ "SBD": {
+ "name": "Dolar Kepulauan Solomon"
+ },
+ "LRD": {
+ "name": "Dolar Liberia"
+ },
+ "NAD": {
+ "name": "Dolar Namibia"
+ },
+ "NZD": {
+ "name": "Dolar Selandia Baru",
+ "symbol": "NZ$"
+ },
+ "SGD": {
+ "name": "Dolar Singapura"
+ },
+ "SRD": {
+ "name": "Dolar Suriname"
+ },
+ "TTD": {
+ "name": "Dolar Trinidad dan Tobago"
+ },
+ "ZWL": {
+ "name": "Dolar Zimbabwe (2009)"
+ },
+ "VND": {
+ "name": "Dong Vietnam",
+ "symbol": "₫"
+ },
+ "AMD": {
+ "name": "Dram Armenia"
+ },
+ "CVE": {
+ "name": "Escudo Tanjung Verde"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "AWG": {
+ "name": "Florin Aruba"
+ },
+ "HUF": {
+ "name": "Forint Hungaria"
+ },
+ "BIF": {
+ "name": "Franc Burundi"
+ },
+ "XOF": {
+ "name": "Franc CFA BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Franc CFA BEAC",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "Franc CFP",
+ "symbol": "CFPF"
+ },
+ "GNF": {
+ "name": "Franc Guinea"
+ },
+ "DJF": {
+ "name": "Franc Jibuti"
+ },
+ "KMF": {
+ "name": "Franc Komoro"
+ },
+ "CDF": {
+ "name": "Franc Kongo"
+ },
+ "RWF": {
+ "name": "Franc Rwanda"
+ },
+ "CHF": {
+ "name": "Franc Swiss"
+ },
+ "HTG": {
+ "name": "Gourde Haiti"
+ },
+ "PYG": {
+ "name": "Guarani Paraguay"
+ },
+ "ANG": {
+ "name": "Guilder Antilla Belanda"
+ },
+ "UAH": {
+ "name": "Hryvnia Ukraina"
+ },
+ "PGK": {
+ "name": "Kina Papua Nugini"
+ },
+ "LAK": {
+ "name": "Kip Laos"
+ },
+ "CZK": {
+ "name": "Koruna Cheska"
+ },
+ "ISK": {
+ "name": "Krona Islandia"
+ },
+ "SEK": {
+ "name": "Krona Swedia"
+ },
+ "DKK": {
+ "name": "Krone Denmark"
+ },
+ "NOK": {
+ "name": "Krone Norwegia"
+ },
+ "HRK": {
+ "name": "Kuna Kroasia"
+ },
+ "MWK": {
+ "name": "Kwacha Malawi"
+ },
+ "ZMW": {
+ "name": "Kwacha Zambia"
+ },
+ "AOA": {
+ "name": "Kwanza Angola"
+ },
+ "MMK": {
+ "name": "Kyat Myanmar"
+ },
+ "GEL": {
+ "name": "Lari Georgia"
+ },
+ "ALL": {
+ "name": "Lek Albania"
+ },
+ "HNL": {
+ "name": "Lempira Honduras"
+ },
+ "SLL": {
+ "name": "Leone Sierra Leone"
+ },
+ "MDL": {
+ "name": "Leu Moldova"
+ },
+ "RON": {
+ "name": "Leu Rumania"
+ },
+ "BGN": {
+ "name": "Lev Bulgaria"
+ },
+ "SZL": {
+ "name": "Lilangeni Swaziland"
+ },
+ "TRY": {
+ "name": "Lira Turki"
+ },
+ "LSL": {
+ "name": "Loti Lesotho"
+ },
+ "AZN": {
+ "name": "Manat Azerbaijan"
+ },
+ "TMT": {
+ "name": "Manat Turkimenistan"
+ },
+ "BAM": {
+ "name": "Mark Konvertibel Bosnia-Herzegovina"
+ },
+ "MZN": {
+ "name": "Metical Mozambik"
+ },
+ "NGN": {
+ "name": "Naira Nigeria"
+ },
+ "ERN": {
+ "name": "Nakfa Eritrea"
+ },
+ "BTN": {
+ "name": "Ngultrum Bhutan"
+ },
+ "PEN": {
+ "name": "Nuevo Sol Peru"
+ },
+ "MRO": {
+ "name": "Ouguiya Mauritania"
+ },
+ "TOP": {
+ "name": "Paʻanga Tonga"
+ },
+ "MOP": {
+ "name": "Pataca Makau"
+ },
+ "ARS": {
+ "name": "Peso Argentina"
+ },
+ "CLP": {
+ "name": "Peso Cile"
+ },
+ "DOP": {
+ "name": "Peso Dominika"
+ },
+ "PHP": {
+ "name": "Peso Filipina"
+ },
+ "COP": {
+ "name": "Peso Kolombia"
+ },
+ "CUC": {
+ "name": "Peso Konvertibel Kuba"
+ },
+ "CUP": {
+ "name": "Peso Kuba"
+ },
+ "MXN": {
+ "name": "Peso Meksiko",
+ "symbol": "MX$"
+ },
+ "UYU": {
+ "name": "Peso Uruguay"
+ },
+ "PLN": {
+ "name": "Polandia Zloty"
+ },
+ "GIP": {
+ "name": "Pound Gibraltar"
+ },
+ "GBP": {
+ "name": "Pound Inggris",
+ "symbol": "£"
+ },
+ "FKP": {
+ "name": "Pound Kepulauan Falkland"
+ },
+ "LBP": {
+ "name": "Pound Lebanon"
+ },
+ "EGP": {
+ "name": "Pound Mesir"
+ },
+ "SHP": {
+ "name": "Pound Saint Helena"
+ },
+ "SDG": {
+ "name": "Pound Sudan"
+ },
+ "SSP": {
+ "name": "Pound Sudan Selatan"
+ },
+ "SYP": {
+ "name": "Pound Suriah"
+ },
+ "BWP": {
+ "name": "Pula Botswana"
+ },
+ "GTQ": {
+ "name": "Quetzal Guatemala"
+ },
+ "ZAR": {
+ "name": "Rand Afrika Selatan"
+ },
+ "BRL": {
+ "name": "Real Brasil",
+ "symbol": "R$"
+ },
+ "IRR": {
+ "name": "Rial Iran"
+ },
+ "OMR": {
+ "name": "Rial Oman"
+ },
+ "QAR": {
+ "name": "Rial Qatar"
+ },
+ "YER": {
+ "name": "Rial Yaman"
+ },
+ "KHR": {
+ "name": "Riel Kamboja"
+ },
+ "MYR": {
+ "name": "Ringgit Malaysia"
+ },
+ "SAR": {
+ "name": "Riyal Arab Saudi"
+ },
+ "BYN": {
+ "name": "Rubel Belarusia"
+ },
+ "BYR": {
+ "name": "Rubel Belarusia (2000–2016)"
+ },
+ "RUB": {
+ "name": "Rubel Rusia"
+ },
+ "MVR": {
+ "name": "Rufiyaa Maladewa"
+ },
+ "INR": {
+ "name": "Rupee India",
+ "symbol": "Rs"
+ },
+ "MUR": {
+ "name": "Rupee Mauritius"
+ },
+ "NPR": {
+ "name": "Rupee Nepal"
+ },
+ "PKR": {
+ "name": "Rupee Pakistan"
+ },
+ "SCR": {
+ "name": "Rupee Seychelles"
+ },
+ "LKR": {
+ "name": "Rupee Sri Lanka"
+ },
+ "IDR": {
+ "name": "Rupiah Indonesia",
+ "symbol": "Rp"
+ },
+ "ILS": {
+ "name": "Shekel Baru Israel",
+ "symbol": "₪"
+ },
+ "KES": {
+ "name": "Shilling Kenya"
+ },
+ "SOS": {
+ "name": "Shilling Somalia"
+ },
+ "TZS": {
+ "name": "Shilling Tanzania"
+ },
+ "UGX": {
+ "name": "Shilling Uganda"
+ },
+ "KGS": {
+ "name": "Som Kirgistan"
+ },
+ "UZS": {
+ "name": "Som Uzbekistan"
+ },
+ "TJS": {
+ "name": "Somoni Tajikistan"
+ },
+ "BDT": {
+ "name": "Taka Bangladesh"
+ },
+ "WST": {
+ "name": "Tala Samoa"
+ },
+ "KZT": {
+ "name": "Tenge Kazakstan"
+ },
+ "MNT": {
+ "name": "Tugrik Mongolia"
+ },
+ "VUV": {
+ "name": "Vatu Vanuatu"
+ },
+ "KRW": {
+ "name": "Won Korea Selatan",
+ "symbol": "₩"
+ },
+ "KPW": {
+ "name": "Won Korea Utara"
+ },
+ "JPY": {
+ "name": "Yen Jepang",
+ "symbol": "JP¥"
+ },
+ "CNY": {
+ "name": "Yuan Tiongkok",
+ "symbol": "CN¥"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/is.json b/vendor/commerceguys/intl/resources/currency/is.json
new file mode 100644
index 000000000..4b16aa872
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/is.json
@@ -0,0 +1,484 @@
+{
+ "AFN": {
+ "name": "afgani"
+ },
+ "ALL": {
+ "name": "albanskt lek"
+ },
+ "DZD": {
+ "name": "alsírskur denari"
+ },
+ "AOA": {
+ "name": "angólsk kvansa"
+ },
+ "AED": {
+ "name": "arabískt dírham"
+ },
+ "ARS": {
+ "name": "argentínskur pesi"
+ },
+ "AMD": {
+ "name": "armenskt dramm"
+ },
+ "AWG": {
+ "name": "arúbönsk flórína"
+ },
+ "AZN": {
+ "name": "aserskt manat"
+ },
+ "XCD": {
+ "name": "austurkarabískur dalur",
+ "symbol": "EC$"
+ },
+ "AUD": {
+ "name": "ástralskur dalur"
+ },
+ "BSD": {
+ "name": "Bahamadalur"
+ },
+ "PAB": {
+ "name": "balbói"
+ },
+ "USD": {
+ "name": "Bandaríkjadalur"
+ },
+ "BDT": {
+ "name": "bangladessk taka"
+ },
+ "BBD": {
+ "name": "barbadoskur dalur"
+ },
+ "BHD": {
+ "name": "bareinskur denari"
+ },
+ "BZD": {
+ "name": "belískur dalur"
+ },
+ "BMD": {
+ "name": "Bermúdadalur"
+ },
+ "BWP": {
+ "name": "botsvönsk púla"
+ },
+ "BOB": {
+ "name": "bólivíani"
+ },
+ "BRL": {
+ "name": "brasilískt ríal"
+ },
+ "BND": {
+ "name": "brúneiskur dalur"
+ },
+ "BGN": {
+ "name": "búlgarskt lef"
+ },
+ "BIF": {
+ "name": "búrúndískur franki"
+ },
+ "BTN": {
+ "name": "bútanskt núltrum"
+ },
+ "KYD": {
+ "name": "caymaneyskur dalur"
+ },
+ "DJF": {
+ "name": "djíbútískur franki"
+ },
+ "DOP": {
+ "name": "dóminískur pesi"
+ },
+ "DKK": {
+ "name": "dönsk króna"
+ },
+ "EGP": {
+ "name": "egypskt pund"
+ },
+ "SVC": {
+ "name": "El Salvador Colon"
+ },
+ "ERN": {
+ "name": "erítresk nakfa"
+ },
+ "EUR": {
+ "name": "evra"
+ },
+ "ETB": {
+ "name": "eþíópískt birr"
+ },
+ "FKP": {
+ "name": "falklenskt pund"
+ },
+ "FJD": {
+ "name": "fidjeyskur dalur"
+ },
+ "PHP": {
+ "name": "filippseyskur pesi"
+ },
+ "GMD": {
+ "name": "gambískur dalasi"
+ },
+ "GHS": {
+ "name": "ganverskur sedi"
+ },
+ "GEL": {
+ "name": "georgískur lari"
+ },
+ "GIP": {
+ "name": "Gíbraltarspund"
+ },
+ "GNF": {
+ "name": "Gíneufranki"
+ },
+ "CVE": {
+ "name": "grænhöfðeyskur skúti"
+ },
+ "GTQ": {
+ "name": "gvatemalskt kvesal"
+ },
+ "GYD": {
+ "name": "gvæjanskur dalur"
+ },
+ "HTG": {
+ "name": "haítískur gúrdi"
+ },
+ "SHP": {
+ "name": "helenskt pund"
+ },
+ "ANG": {
+ "name": "hollenskt Antillugyllini"
+ },
+ "HNL": {
+ "name": "hondúrsk lempíra"
+ },
+ "HKD": {
+ "name": "Hong Kong-dalur",
+ "symbol": "HK$"
+ },
+ "BYN": {
+ "name": "hvítrússnesk rúbla"
+ },
+ "BYR": {
+ "name": "hvítrússnesk rúbla (2000–2016)"
+ },
+ "IDR": {
+ "name": "indónesísk rúpía"
+ },
+ "INR": {
+ "name": "indversk rúpía"
+ },
+ "IQD": {
+ "name": "írakskur denari"
+ },
+ "IRR": {
+ "name": "íranskt ríal"
+ },
+ "ISK": {
+ "name": "íslensk króna"
+ },
+ "JMD": {
+ "name": "jamaískur dalur"
+ },
+ "JPY": {
+ "name": "japanskt jen",
+ "symbol": "JP¥"
+ },
+ "YER": {
+ "name": "jemenskt ríal"
+ },
+ "JOD": {
+ "name": "jórdanskur denari"
+ },
+ "KHR": {
+ "name": "kambódískt ríal"
+ },
+ "CAD": {
+ "name": "Kanadadalur"
+ },
+ "KZT": {
+ "name": "kasakst tengi"
+ },
+ "QAR": {
+ "name": "katarskt ríal"
+ },
+ "KES": {
+ "name": "kenískur skildingur"
+ },
+ "KGS": {
+ "name": "kirgiskt som"
+ },
+ "CNY": {
+ "name": "kínverskt júan",
+ "symbol": "CN¥"
+ },
+ "CDF": {
+ "name": "kongóskur franki"
+ },
+ "CRC": {
+ "name": "kostarískt kólon"
+ },
+ "COP": {
+ "name": "kólumbískur pesi"
+ },
+ "KMF": {
+ "name": "kómoreyskur franki"
+ },
+ "HRK": {
+ "name": "króatísk kúna"
+ },
+ "CUP": {
+ "name": "kúbverskur pesi"
+ },
+ "CUC": {
+ "name": "kúbverskur skiptanlegur pesi"
+ },
+ "KWD": {
+ "name": "kúveiskur denari"
+ },
+ "LAK": {
+ "name": "laoskt kip"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LBP": {
+ "name": "líbanskt pund"
+ },
+ "LRD": {
+ "name": "líberískur dalur"
+ },
+ "LYD": {
+ "name": "líbískur denari"
+ },
+ "MGA": {
+ "name": "Madagaskararjari"
+ },
+ "MOP": {
+ "name": "makaósk pataka"
+ },
+ "MKD": {
+ "name": "makedónskur denari"
+ },
+ "MYR": {
+ "name": "malasískt ringit"
+ },
+ "MWK": {
+ "name": "malavísk kvaka"
+ },
+ "MVR": {
+ "name": "maldíveysk rúpía"
+ },
+ "MAD": {
+ "name": "marokkóskt dírham"
+ },
+ "MUR": {
+ "name": "máritísk rúpía"
+ },
+ "MRO": {
+ "name": "márítönsk úgía"
+ },
+ "MXN": {
+ "name": "mexíkóskur pesi"
+ },
+ "XAF": {
+ "name": "miðafrískur franki",
+ "symbol": "FCFA"
+ },
+ "MMK": {
+ "name": "mjanmarskt kjat"
+ },
+ "MDL": {
+ "name": "moldavískt lei"
+ },
+ "MNT": {
+ "name": "mongólskur túríkur"
+ },
+ "MZN": {
+ "name": "mósambískt metikal"
+ },
+ "NAD": {
+ "name": "namibískur dalur"
+ },
+ "NPR": {
+ "name": "nepölsk rúpía"
+ },
+ "NGN": {
+ "name": "nígerísk næra"
+ },
+ "NIO": {
+ "name": "níkaraögsk kordóva"
+ },
+ "KPW": {
+ "name": "norðurkóreskt vonn"
+ },
+ "NOK": {
+ "name": "norsk króna"
+ },
+ "ILS": {
+ "name": "nýr ísraelskur sikill",
+ "symbol": "₪"
+ },
+ "NZD": {
+ "name": "nýsjálenskur dalur"
+ },
+ "OMR": {
+ "name": "ómanskt ríal"
+ },
+ "PKR": {
+ "name": "pakistönsk rúpía"
+ },
+ "PGK": {
+ "name": "papúsk kína"
+ },
+ "PYG": {
+ "name": "paragvæskt gvaraní"
+ },
+ "PEN": {
+ "name": "perúskt sól"
+ },
+ "XPF": {
+ "name": "pólinesískur franki",
+ "symbol": "CFPF"
+ },
+ "PLN": {
+ "name": "pólskt slot"
+ },
+ "RWF": {
+ "name": "rúandskur franki"
+ },
+ "RON": {
+ "name": "rúmenskt lei"
+ },
+ "RUB": {
+ "name": "rússnesk rúbla"
+ },
+ "SBD": {
+ "name": "salómonseyskur dalur"
+ },
+ "ZMW": {
+ "name": "sambísk kvaka"
+ },
+ "WST": {
+ "name": "Samóatala"
+ },
+ "STD": {
+ "name": "Saó Tóme og Prinsípe-dóbra"
+ },
+ "SAR": {
+ "name": "sádíarabískt ríal"
+ },
+ "RSD": {
+ "name": "serbneskur denari"
+ },
+ "SCR": {
+ "name": "Seychellesrúpía"
+ },
+ "SGD": {
+ "name": "singapúrskur dalur"
+ },
+ "SLL": {
+ "name": "síerraleónsk ljóna"
+ },
+ "CLP": {
+ "name": "síleskur pesi"
+ },
+ "BAM": {
+ "name": "skiptanlegt Bosníu og Hersegóvínu-mark"
+ },
+ "SOS": {
+ "name": "sómalískur skildingur"
+ },
+ "LKR": {
+ "name": "srílönsk rúpía"
+ },
+ "GBP": {
+ "name": "sterlingspund"
+ },
+ "ZAR": {
+ "name": "suðurafrískt rand"
+ },
+ "KRW": {
+ "name": "suðurkóreskt vonn"
+ },
+ "SSP": {
+ "name": "suðursúdanskt pund"
+ },
+ "SDG": {
+ "name": "súdanskt pund"
+ },
+ "SRD": {
+ "name": "Súrínamdalur"
+ },
+ "SZL": {
+ "name": "svasílenskur lílangeni"
+ },
+ "CHF": {
+ "name": "svissneskur franki"
+ },
+ "SYP": {
+ "name": "sýrlenskt pund"
+ },
+ "SEK": {
+ "name": "sænsk króna"
+ },
+ "TJS": {
+ "name": "tadsjikskur sómóni"
+ },
+ "THB": {
+ "name": "taílenskt bat"
+ },
+ "TWD": {
+ "name": "taívanskur dalur"
+ },
+ "TZS": {
+ "name": "tansanískur skildingur"
+ },
+ "CZK": {
+ "name": "tékknesk króna"
+ },
+ "TOP": {
+ "name": "Tongapanga"
+ },
+ "TTD": {
+ "name": "Trínidad og Tóbagó-dalur"
+ },
+ "TND": {
+ "name": "túnískur denari"
+ },
+ "TMT": {
+ "name": "túrkmenskt manat"
+ },
+ "TRY": {
+ "name": "tyrknesk líra"
+ },
+ "HUF": {
+ "name": "ungversk fórinta"
+ },
+ "UGX": {
+ "name": "úgandskur skildingur"
+ },
+ "UAH": {
+ "name": "úkraínsk hrinja"
+ },
+ "UYU": {
+ "name": "úrúgvæskur pesi"
+ },
+ "UZS": {
+ "name": "úsbekskt súm"
+ },
+ "VUV": {
+ "name": "vanúatúskt vatú"
+ },
+ "VEF": {
+ "name": "venesúelskur bólívari"
+ },
+ "XOF": {
+ "name": "vesturafrískur franki",
+ "symbol": "CFA"
+ },
+ "VND": {
+ "name": "víetnamskt dong"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/it.json b/vendor/commerceguys/intl/resources/currency/it.json
new file mode 100644
index 000000000..60150d80a
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/it.json
@@ -0,0 +1,491 @@
+{
+ "AFN": {
+ "name": "afghani"
+ },
+ "MGA": {
+ "name": "ariary malgascio"
+ },
+ "THB": {
+ "name": "baht thailandese",
+ "symbol": "฿"
+ },
+ "PAB": {
+ "name": "balboa panamense"
+ },
+ "ETB": {
+ "name": "birr etiope"
+ },
+ "VEF": {
+ "name": "bolívar venezuelano"
+ },
+ "BOB": {
+ "name": "boliviano"
+ },
+ "GHS": {
+ "name": "cedi ghanese"
+ },
+ "CRC": {
+ "name": "colón costaricano"
+ },
+ "SVC": {
+ "name": "colón salvadoregno"
+ },
+ "NIO": {
+ "name": "córdoba nicaraguense"
+ },
+ "CZK": {
+ "name": "corona ceca"
+ },
+ "DKK": {
+ "name": "corona danese"
+ },
+ "ISK": {
+ "name": "corona islandese"
+ },
+ "NOK": {
+ "name": "corona norvegese"
+ },
+ "SEK": {
+ "name": "corona svedese"
+ },
+ "GMD": {
+ "name": "dalasi gambiano"
+ },
+ "MKD": {
+ "name": "denar macedone"
+ },
+ "DZD": {
+ "name": "dinaro algerino"
+ },
+ "BHD": {
+ "name": "dinaro del Bahrein"
+ },
+ "JOD": {
+ "name": "dinaro giordano"
+ },
+ "IQD": {
+ "name": "dinaro iracheno"
+ },
+ "KWD": {
+ "name": "dinaro kuwaitiano"
+ },
+ "LYD": {
+ "name": "dinaro libico"
+ },
+ "RSD": {
+ "name": "dinaro serbo"
+ },
+ "TND": {
+ "name": "dinaro tunisino"
+ },
+ "AED": {
+ "name": "dirham degli Emirati Arabi Uniti"
+ },
+ "MAD": {
+ "name": "dirham marocchino"
+ },
+ "STD": {
+ "name": "dobra di Sao Tomé e Principe"
+ },
+ "AUD": {
+ "name": "dollaro australiano",
+ "symbol": "A$"
+ },
+ "CAD": {
+ "name": "dollaro canadese",
+ "symbol": "CA$"
+ },
+ "XCD": {
+ "name": "dollaro dei Caraibi orientali",
+ "symbol": "EC$"
+ },
+ "BZD": {
+ "name": "dollaro del Belize"
+ },
+ "BND": {
+ "name": "dollaro del Brunei"
+ },
+ "SRD": {
+ "name": "dollaro del Suriname"
+ },
+ "GYD": {
+ "name": "dollaro della Guyana"
+ },
+ "BSD": {
+ "name": "dollaro delle Bahamas"
+ },
+ "BMD": {
+ "name": "dollaro delle Bermuda"
+ },
+ "FJD": {
+ "name": "dollaro delle Figi"
+ },
+ "KYD": {
+ "name": "dollaro delle Isole Cayman"
+ },
+ "SBD": {
+ "name": "dollaro delle Isole Salomone"
+ },
+ "BBD": {
+ "name": "dollaro di Barbados"
+ },
+ "HKD": {
+ "name": "dollaro di Hong Kong"
+ },
+ "SGD": {
+ "name": "dollaro di Singapore"
+ },
+ "TTD": {
+ "name": "dollaro di Trinidad e Tobago"
+ },
+ "JMD": {
+ "name": "dollaro giamaicano"
+ },
+ "LRD": {
+ "name": "dollaro liberiano"
+ },
+ "NAD": {
+ "name": "dollaro namibiano"
+ },
+ "NZD": {
+ "name": "dollaro neozelandese",
+ "symbol": "NZ$"
+ },
+ "USD": {
+ "name": "dollaro statunitense",
+ "symbol": "US$"
+ },
+ "ZWL": {
+ "name": "dollaro zimbabwiano (2009)"
+ },
+ "VND": {
+ "name": "dong vietnamita",
+ "symbol": "₫"
+ },
+ "AMD": {
+ "name": "dram armeno"
+ },
+ "CVE": {
+ "name": "escudo capoverdiano"
+ },
+ "EUR": {
+ "name": "euro",
+ "symbol": "€"
+ },
+ "ANG": {
+ "name": "fiorino delle Antille olandesi"
+ },
+ "AWG": {
+ "name": "fiorino di Aruba"
+ },
+ "HUF": {
+ "name": "fiorino ungherese"
+ },
+ "XOF": {
+ "name": "franco CFA BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "franco CFA BEAC",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "franco CFP",
+ "symbol": "CFPF"
+ },
+ "KMF": {
+ "name": "franco comoriano"
+ },
+ "CDF": {
+ "name": "franco congolese"
+ },
+ "BIF": {
+ "name": "franco del Burundi"
+ },
+ "GNF": {
+ "name": "franco della Guinea"
+ },
+ "DJF": {
+ "name": "franco di Gibuti"
+ },
+ "RWF": {
+ "name": "franco ruandese"
+ },
+ "CHF": {
+ "name": "franco svizzero"
+ },
+ "HTG": {
+ "name": "gourde haitiano"
+ },
+ "UAH": {
+ "name": "grivnia ucraina"
+ },
+ "PYG": {
+ "name": "guaraní paraguayano"
+ },
+ "PGK": {
+ "name": "kina papuana"
+ },
+ "LAK": {
+ "name": "kip laotiano"
+ },
+ "HRK": {
+ "name": "kuna croata"
+ },
+ "ZMW": {
+ "name": "kwacha dello Zambia"
+ },
+ "MWK": {
+ "name": "kwacha malawiano"
+ },
+ "AOA": {
+ "name": "kwanza angolano"
+ },
+ "MMK": {
+ "name": "kyat di Myanmar"
+ },
+ "GEL": {
+ "name": "lari georgiano"
+ },
+ "ALL": {
+ "name": "lek albanese"
+ },
+ "HNL": {
+ "name": "lempira honduregna"
+ },
+ "SLL": {
+ "name": "leone della Sierra Leone"
+ },
+ "MDL": {
+ "name": "leu moldavo"
+ },
+ "RON": {
+ "name": "leu rumeno"
+ },
+ "BGN": {
+ "name": "lev bulgaro"
+ },
+ "SZL": {
+ "name": "lilangeni dello Swaziland"
+ },
+ "LBP": {
+ "name": "lira libanese"
+ },
+ "SYP": {
+ "name": "lira siriana"
+ },
+ "TRY": {
+ "name": "lira turca"
+ },
+ "LSL": {
+ "name": "loti del Lesotho"
+ },
+ "AZN": {
+ "name": "manat azero"
+ },
+ "TMT": {
+ "name": "manat turkmeno"
+ },
+ "BAM": {
+ "name": "marco convertibile della Bosnia-Herzegovina"
+ },
+ "MZN": {
+ "name": "metical mozambicano"
+ },
+ "NGN": {
+ "name": "naira nigeriana"
+ },
+ "ERN": {
+ "name": "nakfa eritreo"
+ },
+ "BTN": {
+ "name": "ngultrum bhutanese"
+ },
+ "TWD": {
+ "name": "nuovo dollaro taiwanese"
+ },
+ "ILS": {
+ "name": "nuovo siclo israeliano",
+ "symbol": "₪"
+ },
+ "PEN": {
+ "name": "nuovo sol peruviano"
+ },
+ "MRO": {
+ "name": "ouguiya della Mauritania"
+ },
+ "TOP": {
+ "name": "paʻanga tongano"
+ },
+ "MOP": {
+ "name": "pataca di Macao"
+ },
+ "ARS": {
+ "name": "peso argentino"
+ },
+ "CLP": {
+ "name": "peso cileno"
+ },
+ "COP": {
+ "name": "peso colombiano"
+ },
+ "CUP": {
+ "name": "peso cubano"
+ },
+ "CUC": {
+ "name": "peso cubano convertibile"
+ },
+ "DOP": {
+ "name": "peso dominicano"
+ },
+ "PHP": {
+ "name": "peso filippino"
+ },
+ "MXN": {
+ "name": "peso messicano"
+ },
+ "UYU": {
+ "name": "peso uruguayano"
+ },
+ "BWP": {
+ "name": "pula del Botswana"
+ },
+ "GTQ": {
+ "name": "quetzal guatemalteco"
+ },
+ "ZAR": {
+ "name": "rand sudafricano"
+ },
+ "BRL": {
+ "name": "real brasiliano"
+ },
+ "CNY": {
+ "name": "renminbi cinese",
+ "symbol": "CN¥"
+ },
+ "IRR": {
+ "name": "rial iraniano"
+ },
+ "OMR": {
+ "name": "rial omanita"
+ },
+ "QAR": {
+ "name": "rial qatariano"
+ },
+ "KHR": {
+ "name": "riel cambogiano"
+ },
+ "MYR": {
+ "name": "ringgit malese"
+ },
+ "SAR": {
+ "name": "riyal saudita"
+ },
+ "YER": {
+ "name": "riyal yemenita"
+ },
+ "BYN": {
+ "name": "rublo bielorusso"
+ },
+ "BYR": {
+ "name": "rublo bielorusso (2000–2016)"
+ },
+ "RUB": {
+ "name": "rublo russo"
+ },
+ "MVR": {
+ "name": "rufiyaa delle Maldive"
+ },
+ "SCR": {
+ "name": "rupia delle Seychelles"
+ },
+ "LKR": {
+ "name": "rupia di Sri Lanka"
+ },
+ "INR": {
+ "name": "rupia indiana",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "rupia indonesiana"
+ },
+ "MUR": {
+ "name": "rupia mauriziana"
+ },
+ "NPR": {
+ "name": "rupia nepalese"
+ },
+ "PKR": {
+ "name": "rupia pakistana"
+ },
+ "TZS": {
+ "name": "scellino della Tanzania"
+ },
+ "KES": {
+ "name": "scellino keniota"
+ },
+ "SOS": {
+ "name": "scellino somalo"
+ },
+ "UGX": {
+ "name": "scellino ugandese"
+ },
+ "KGS": {
+ "name": "som kirghiso"
+ },
+ "TJS": {
+ "name": "somoni tagiko"
+ },
+ "GBP": {
+ "name": "sterlina britannica",
+ "symbol": "£"
+ },
+ "FKP": {
+ "name": "sterlina delle Falkland"
+ },
+ "GIP": {
+ "name": "sterlina di Gibilterra"
+ },
+ "SHP": {
+ "name": "sterlina di Sant’Elena"
+ },
+ "EGP": {
+ "name": "sterlina egiziana"
+ },
+ "SSP": {
+ "name": "sterlina sud-sudanese"
+ },
+ "SDG": {
+ "name": "sterlina sudanese"
+ },
+ "UZS": {
+ "name": "sum uzbeco"
+ },
+ "BDT": {
+ "name": "taka bangladese"
+ },
+ "WST": {
+ "name": "tala samoano"
+ },
+ "KZT": {
+ "name": "tenge kazako"
+ },
+ "MNT": {
+ "name": "tugrik mongolo"
+ },
+ "VUV": {
+ "name": "vatu di Vanuatu"
+ },
+ "KPW": {
+ "name": "won nordcoreano"
+ },
+ "KRW": {
+ "name": "won sudcoreano"
+ },
+ "JPY": {
+ "name": "yen giapponese"
+ },
+ "PLN": {
+ "name": "złoty polacco"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/ja.json b/vendor/commerceguys/intl/resources/currency/ja.json
new file mode 100644
index 000000000..c4ca60d98
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/ja.json
@@ -0,0 +1,496 @@
+{
+ "XPF": {
+ "name": "CFP フラン",
+ "symbol": "CFPF"
+ },
+ "ISK": {
+ "name": "アイスランド クローナ"
+ },
+ "AZN": {
+ "name": "アゼルバイジャン マナト"
+ },
+ "AFN": {
+ "name": "アフガニスタン アフガニー"
+ },
+ "AED": {
+ "name": "アラブ首長国連邦ディルハム"
+ },
+ "DZD": {
+ "name": "アルジェリア ディナール"
+ },
+ "ARS": {
+ "name": "アルゼンチン ペソ"
+ },
+ "AWG": {
+ "name": "アルバ ギルダー"
+ },
+ "ALL": {
+ "name": "アルバニア レク"
+ },
+ "AMD": {
+ "name": "アルメニア ドラム"
+ },
+ "AOA": {
+ "name": "アンゴラ クワンザ"
+ },
+ "YER": {
+ "name": "イエメン リアル"
+ },
+ "ILS": {
+ "name": "イスラエル新シェケル",
+ "symbol": "₪"
+ },
+ "IQD": {
+ "name": "イラク ディナール"
+ },
+ "IRR": {
+ "name": "イラン リアル"
+ },
+ "INR": {
+ "name": "インド ルピー",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "インドネシア ルピア"
+ },
+ "UGX": {
+ "name": "ウガンダ シリング"
+ },
+ "UAH": {
+ "name": "ウクライナ グリブナ"
+ },
+ "UZS": {
+ "name": "ウズベキスタン スム"
+ },
+ "UYU": {
+ "name": "ウルグアイ ペソ"
+ },
+ "EGP": {
+ "name": "エジプト ポンド"
+ },
+ "ETB": {
+ "name": "エチオピア ブル"
+ },
+ "ERN": {
+ "name": "エリトリア ナクファ"
+ },
+ "SVC": {
+ "name": "エルサルバドル コロン"
+ },
+ "AUD": {
+ "name": "オーストラリア ドル",
+ "symbol": "A$"
+ },
+ "OMR": {
+ "name": "オマーン リアル"
+ },
+ "ANG": {
+ "name": "オランダ領アンティル ギルダー"
+ },
+ "GHS": {
+ "name": "ガーナ セディ"
+ },
+ "CVE": {
+ "name": "カーボベルデ エスクード"
+ },
+ "GYD": {
+ "name": "ガイアナ ドル"
+ },
+ "KZT": {
+ "name": "カザフスタン テンゲ"
+ },
+ "QAR": {
+ "name": "カタール リアル"
+ },
+ "CAD": {
+ "name": "カナダ ドル",
+ "symbol": "CA$"
+ },
+ "GMD": {
+ "name": "ガンビア ダラシ"
+ },
+ "KHR": {
+ "name": "カンボジア リエル"
+ },
+ "GNF": {
+ "name": "ギニア フラン"
+ },
+ "CUP": {
+ "name": "キューバ ペソ"
+ },
+ "CUC": {
+ "name": "キューバ 兌換ペソ"
+ },
+ "KGS": {
+ "name": "キルギスタン ソム"
+ },
+ "GTQ": {
+ "name": "グアテマラ ケツァル"
+ },
+ "KWD": {
+ "name": "クウェート ディナール"
+ },
+ "HRK": {
+ "name": "クロアチア クーナ"
+ },
+ "KYD": {
+ "name": "ケイマン諸島 ドル"
+ },
+ "KES": {
+ "name": "ケニア シリング"
+ },
+ "CRC": {
+ "name": "コスタリカ コロン"
+ },
+ "KMF": {
+ "name": "コモロ フラン"
+ },
+ "COP": {
+ "name": "コロンビア ペソ"
+ },
+ "CDF": {
+ "name": "コンゴ フラン"
+ },
+ "SAR": {
+ "name": "サウジ リヤル"
+ },
+ "WST": {
+ "name": "サモア タラ"
+ },
+ "STD": {
+ "name": "サントメ・プリンシペ ドブラ"
+ },
+ "ZMW": {
+ "name": "ザンビア クワチャ"
+ },
+ "SLL": {
+ "name": "シエラレオネ レオン"
+ },
+ "DJF": {
+ "name": "ジブチ フラン"
+ },
+ "GIP": {
+ "name": "ジブラルタル ポンド"
+ },
+ "JMD": {
+ "name": "ジャマイカ ドル"
+ },
+ "GEL": {
+ "name": "ジョージア ラリ"
+ },
+ "SYP": {
+ "name": "シリア ポンド"
+ },
+ "SGD": {
+ "name": "シンガポール ドル"
+ },
+ "ZWL": {
+ "name": "ジンバブエ ドル (2009)"
+ },
+ "CHF": {
+ "name": "スイス フラン"
+ },
+ "SEK": {
+ "name": "スウェーデン クローナ"
+ },
+ "SDG": {
+ "name": "スーダン ポンド"
+ },
+ "SRD": {
+ "name": "スリナム ドル"
+ },
+ "LKR": {
+ "name": "スリランカ ルピー"
+ },
+ "SZL": {
+ "name": "スワジランド リランゲニ"
+ },
+ "SCR": {
+ "name": "セーシェル ルピー"
+ },
+ "SHP": {
+ "name": "セントヘレナ島 ポンド"
+ },
+ "SOS": {
+ "name": "ソマリア シリング"
+ },
+ "SBD": {
+ "name": "ソロモン諸島 ドル"
+ },
+ "THB": {
+ "name": "タイ バーツ"
+ },
+ "TJS": {
+ "name": "タジキスタン ソモニ"
+ },
+ "TZS": {
+ "name": "タンザニア シリング"
+ },
+ "CZK": {
+ "name": "チェコ コルナ"
+ },
+ "TND": {
+ "name": "チュニジア ディナール"
+ },
+ "CLP": {
+ "name": "チリ ペソ"
+ },
+ "RSD": {
+ "name": "ディナール (セルビア)"
+ },
+ "DKK": {
+ "name": "デンマーク クローネ"
+ },
+ "DOP": {
+ "name": "ドミニカ ペソ"
+ },
+ "TTD": {
+ "name": "トリニダードトバゴ ドル"
+ },
+ "TMT": {
+ "name": "トルクメニスタン マナト"
+ },
+ "TOP": {
+ "name": "トンガ パ・アンガ"
+ },
+ "NGN": {
+ "name": "ナイジェリア ナイラ"
+ },
+ "NAD": {
+ "name": "ナミビア ドル"
+ },
+ "NIO": {
+ "name": "ニカラグア コルドバ オロ"
+ },
+ "NZD": {
+ "name": "ニュージーランド ドル",
+ "symbol": "NZ$"
+ },
+ "NPR": {
+ "name": "ネパール ルピー"
+ },
+ "NOK": {
+ "name": "ノルウェー クローネ"
+ },
+ "BHD": {
+ "name": "バーレーン ディナール"
+ },
+ "HTG": {
+ "name": "ハイチ グールド"
+ },
+ "PKR": {
+ "name": "パキスタン ルピー"
+ },
+ "PAB": {
+ "name": "パナマ バルボア"
+ },
+ "VUV": {
+ "name": "バヌアツ バツ"
+ },
+ "BSD": {
+ "name": "バハマ ドル"
+ },
+ "PGK": {
+ "name": "パプアニューギニア キナ"
+ },
+ "BMD": {
+ "name": "バミューダ ドル"
+ },
+ "PYG": {
+ "name": "パラグアイ グアラニ"
+ },
+ "BBD": {
+ "name": "バルバドス ドル"
+ },
+ "HUF": {
+ "name": "ハンガリー フォリント"
+ },
+ "BDT": {
+ "name": "バングラデシュ タカ"
+ },
+ "FJD": {
+ "name": "フィジー諸島 ドル"
+ },
+ "PHP": {
+ "name": "フィリピン ペソ"
+ },
+ "BTN": {
+ "name": "ブータン ニュルタム"
+ },
+ "FKP": {
+ "name": "フォークランド(マルビナス)諸島 ポンド"
+ },
+ "BRL": {
+ "name": "ブラジル レアル",
+ "symbol": "R$"
+ },
+ "BGN": {
+ "name": "ブルガリア 新レフ"
+ },
+ "BND": {
+ "name": "ブルネイ ドル"
+ },
+ "BIF": {
+ "name": "ブルンジ フラン"
+ },
+ "VND": {
+ "name": "ベトナム ドン",
+ "symbol": "₫"
+ },
+ "VEF": {
+ "name": "ベネズエラ ボリバル"
+ },
+ "BYN": {
+ "name": "ベラルーシ ルーブル"
+ },
+ "BYR": {
+ "name": "ベラルーシ ルーブル (2000–2016)"
+ },
+ "BZD": {
+ "name": "ベリーズ ドル"
+ },
+ "PEN": {
+ "name": "ペルー 新ソル"
+ },
+ "PLN": {
+ "name": "ポーランド ズウォティ"
+ },
+ "BAM": {
+ "name": "ボスニア マルク (BAM)"
+ },
+ "BWP": {
+ "name": "ボツワナ プラ"
+ },
+ "BOB": {
+ "name": "ボリビア ボリビアーノ"
+ },
+ "HNL": {
+ "name": "ホンジュラス レンピラ"
+ },
+ "MOP": {
+ "name": "マカオ パタカ"
+ },
+ "MKD": {
+ "name": "マケドニア デナル"
+ },
+ "MGA": {
+ "name": "マダガスカル アリアリ"
+ },
+ "MWK": {
+ "name": "マラウィ クワチャ"
+ },
+ "MYR": {
+ "name": "マレーシア リンギット"
+ },
+ "MMK": {
+ "name": "ミャンマー チャット"
+ },
+ "MXN": {
+ "name": "メキシコ ペソ",
+ "symbol": "MX$"
+ },
+ "MUR": {
+ "name": "モーリシャス ルピー"
+ },
+ "MRO": {
+ "name": "モーリタニア ウギア"
+ },
+ "MZN": {
+ "name": "モザンビーク メティカル"
+ },
+ "MVR": {
+ "name": "モルディブ諸島 ルフィア"
+ },
+ "MDL": {
+ "name": "モルドバ レイ"
+ },
+ "MAD": {
+ "name": "モロッコ ディルハム"
+ },
+ "MNT": {
+ "name": "モンゴル トグログ"
+ },
+ "EUR": {
+ "name": "ユーロ",
+ "symbol": "€"
+ },
+ "JOD": {
+ "name": "ヨルダン ディナール"
+ },
+ "LAK": {
+ "name": "ラオス キープ"
+ },
+ "LYD": {
+ "name": "リビア ディナール"
+ },
+ "LRD": {
+ "name": "リベリア ドル"
+ },
+ "RON": {
+ "name": "ルーマニア レイ"
+ },
+ "RWF": {
+ "name": "ルワンダ フラン"
+ },
+ "LSL": {
+ "name": "レソト ロティ"
+ },
+ "LBP": {
+ "name": "レバノン ポンド"
+ },
+ "RUB": {
+ "name": "ロシア ルーブル"
+ },
+ "GBP": {
+ "name": "英国ポンド",
+ "symbol": "£"
+ },
+ "KRW": {
+ "name": "韓国ウォン",
+ "symbol": "₩"
+ },
+ "HKD": {
+ "name": "香港ドル",
+ "symbol": "HK$"
+ },
+ "TRY": {
+ "name": "新トルコリラ"
+ },
+ "TWD": {
+ "name": "新台湾ドル",
+ "symbol": "NT$"
+ },
+ "XOF": {
+ "name": "西アフリカ CFA フラン",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "中央アフリカ CFA フラン",
+ "symbol": "FCFA"
+ },
+ "CNY": {
+ "name": "中国人民元",
+ "symbol": "元"
+ },
+ "XCD": {
+ "name": "東カリブ ドル",
+ "symbol": "EC$"
+ },
+ "ZAR": {
+ "name": "南アフリカ ランド"
+ },
+ "SSP": {
+ "name": "南スーダン ポンド"
+ },
+ "JPY": {
+ "name": "日本円",
+ "symbol": "¥"
+ },
+ "USD": {
+ "name": "米ドル",
+ "symbol": "$"
+ },
+ "KPW": {
+ "name": "北朝鮮ウォン"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/jmc.json b/vendor/commerceguys/intl/resources/currency/jmc.json
new file mode 100644
index 000000000..61220f73e
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/jmc.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Ruble"
+ },
+ "BYR": {
+ "name": "Belarusian Ruble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "ETB": {
+ "name": "Bir ya Uhabeshi"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "GMD": {
+ "name": "Dalasi ya Gambia"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DZD": {
+ "name": "Dinari ya Aljeria"
+ },
+ "BHD": {
+ "name": "Dinari ya Bahareni"
+ },
+ "LYD": {
+ "name": "Dinari ya Libya"
+ },
+ "SDG": {
+ "name": "Dinari ya Sudani"
+ },
+ "TND": {
+ "name": "Dinari ya Tunisia"
+ },
+ "AED": {
+ "name": "Dirham ya Falme za Kiarabu"
+ },
+ "MAD": {
+ "name": "Dirham ya Moroko"
+ },
+ "STD": {
+ "name": "Dobra ya Sao Tome na Principe"
+ },
+ "AUD": {
+ "name": "Dola ya Australia",
+ "symbol": "A$"
+ },
+ "CAD": {
+ "name": "Dola ya Kanada",
+ "symbol": "CA$"
+ },
+ "LRD": {
+ "name": "Dola ya Liberia"
+ },
+ "USD": {
+ "name": "Dola ya Marekani",
+ "symbol": "US$"
+ },
+ "NAD": {
+ "name": "Dola ya Namibia"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "CVE": {
+ "name": "Eskudo ya Kepuvede"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "XOF": {
+ "name": "Faranga CFA BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Faranga CFA BEAC",
+ "symbol": "FCFA"
+ },
+ "MGA": {
+ "name": "Faranga ya Bukini"
+ },
+ "BIF": {
+ "name": "Faranga ya Burundi"
+ },
+ "DJF": {
+ "name": "Faranga ya Jibuti"
+ },
+ "KMF": {
+ "name": "Faranga ya Komoro"
+ },
+ "CDF": {
+ "name": "Faranga ya Kongo"
+ },
+ "RWF": {
+ "name": "Faranga ya Rwanda"
+ },
+ "CHF": {
+ "name": "Faranga ya Uswisi"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "MWK": {
+ "name": "Kwacha ya Malawi"
+ },
+ "ZMW": {
+ "name": "Kwacha ya Zambia"
+ },
+ "AOA": {
+ "name": "Kwanza ya Angola"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "SLL": {
+ "name": "Leoni"
+ },
+ "SZL": {
+ "name": "Lilangeni"
+ },
+ "LSL": {
+ "name": "Loti ya Lesoto"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NGN": {
+ "name": "Naira ya Nijeria"
+ },
+ "ERN": {
+ "name": "Nakfa ya Eritrea"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "EGP": {
+ "name": "Pauni ya Misri"
+ },
+ "SHP": {
+ "name": "Pauni ya Santahelena"
+ },
+ "GBP": {
+ "name": "Pauni ya Uingereza",
+ "symbol": "£"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "BWP": {
+ "name": "Pula ya Botswana"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "ZAR": {
+ "name": "Randi ya Afrika Kusini"
+ },
+ "SAR": {
+ "name": "Riyal ya Saudia"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "INR": {
+ "name": "Rupia ya India",
+ "symbol": "₹"
+ },
+ "MUR": {
+ "name": "Rupia ya Morisi"
+ },
+ "SCR": {
+ "name": "Rupia ya Shelisheli"
+ },
+ "RUB": {
+ "name": "Russian Ruble"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "JPY": {
+ "name": "Sarafu ya Kijapani",
+ "symbol": "JP¥"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "KES": {
+ "name": "Shilingi ya Kenya"
+ },
+ "SOS": {
+ "name": "Shilingi ya Somalia"
+ },
+ "TZS": {
+ "name": "Shilingi ya Tanzania",
+ "symbol": "TSh"
+ },
+ "UGX": {
+ "name": "Shilingi ya Uganda"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "MRO": {
+ "name": "Ugwiya ya Moritania"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "CNY": {
+ "name": "Yuan Renminbi ya China",
+ "symbol": "CN¥"
+ },
+ "EUR": {
+ "name": "Yuro",
+ "symbol": "€"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/ka.json b/vendor/commerceguys/intl/resources/currency/ka.json
new file mode 100644
index 000000000..4694e134f
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/ka.json
@@ -0,0 +1,488 @@
+{
+ "XOF": {
+ "name": "(CFA) ფრანკი (BCEAO)",
+ "symbol": "CFA"
+ },
+ "AUD": {
+ "name": "ავსტრალიური დოლარი"
+ },
+ "AFN": {
+ "name": "ავღანური ავღანი"
+ },
+ "AZN": {
+ "name": "აზერბაიჯანული მანათი"
+ },
+ "ALL": {
+ "name": "ალბანური ლეკი"
+ },
+ "DZD": {
+ "name": "ალჟირული დინარი"
+ },
+ "AOA": {
+ "name": "ანგოლური კვანზა"
+ },
+ "AED": {
+ "name": "არაბთა გაერთიანებული საამიროების დირჰამი"
+ },
+ "ARS": {
+ "name": "არგენტინული პესო"
+ },
+ "AWG": {
+ "name": "არუბანული გულდენი"
+ },
+ "XCD": {
+ "name": "აღმოსავლეთ კარიბიული დოლარი",
+ "symbol": "EC$"
+ },
+ "USD": {
+ "name": "აშშ დოლარი",
+ "symbol": "US$"
+ },
+ "NZD": {
+ "name": "ახალი ზელანდიის დოლარი"
+ },
+ "TRY": {
+ "name": "ახალი თურქული ლირა"
+ },
+ "BDT": {
+ "name": "ბანგლადეშური ტაკა"
+ },
+ "BBD": {
+ "name": "ბარბადოსული დოლარი"
+ },
+ "BSD": {
+ "name": "ბაჰამური დოლარი"
+ },
+ "BHD": {
+ "name": "ბაჰრეინული დინარი"
+ },
+ "BZD": {
+ "name": "ბელიზის დოლარი"
+ },
+ "BYN": {
+ "name": "ბელორუსული რუბლი"
+ },
+ "BYR": {
+ "name": "ბელორუსული რუბლი (2000–2016)"
+ },
+ "BMD": {
+ "name": "ბერმუდული დოლარი"
+ },
+ "BOB": {
+ "name": "ბოლივიური ბოლივიანო"
+ },
+ "BAM": {
+ "name": "ბოსნია და ჰერცოგოვინას კონვერტირებადი მარკა"
+ },
+ "BWP": {
+ "name": "ბოცვანური პულა"
+ },
+ "BRL": {
+ "name": "ბრაზილიური რეალი",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "ბრიტანული გირვანქა სტერლინგი",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "ბრუნეული დოლარი"
+ },
+ "BGN": {
+ "name": "ბულგარული ლევი"
+ },
+ "BIF": {
+ "name": "ბურუნდიული ფრანკი"
+ },
+ "BTN": {
+ "name": "ბუტანური ნგულტრუმი"
+ },
+ "GYD": {
+ "name": "გაიანური დოლარი"
+ },
+ "GMD": {
+ "name": "გამბიური დალასი"
+ },
+ "GHS": {
+ "name": "განური სედი"
+ },
+ "GTQ": {
+ "name": "გვატემალური კეტსალი"
+ },
+ "GNF": {
+ "name": "გვინეური ფრანკი"
+ },
+ "GIP": {
+ "name": "გიბრალტარული ფუნტი"
+ },
+ "DKK": {
+ "name": "დანიური კრონა"
+ },
+ "DOP": {
+ "name": "დომინიკური პესო"
+ },
+ "EGP": {
+ "name": "ეგვიპტური გირვანქა"
+ },
+ "EUR": {
+ "name": "ევრო",
+ "symbol": "€"
+ },
+ "ETB": {
+ "name": "ეთიოპიური ბირი"
+ },
+ "IQD": {
+ "name": "ერაყული დინარი"
+ },
+ "ERN": {
+ "name": "ერიტრეის ნაკფა"
+ },
+ "VUV": {
+ "name": "ვანუატუს ვატუ"
+ },
+ "VEF": {
+ "name": "ვენესუელის ბოლივარი"
+ },
+ "VND": {
+ "name": "ვიეტნამური დონგი"
+ },
+ "ZMW": {
+ "name": "ზამბიური კვაჭა"
+ },
+ "TMT": {
+ "name": "თურქმენეთის მანათი"
+ },
+ "JMD": {
+ "name": "იამაიკური დოლარი"
+ },
+ "JPY": {
+ "name": "იაპონური იენი"
+ },
+ "YER": {
+ "name": "იემენის რეალი"
+ },
+ "IDR": {
+ "name": "ინდონეზიური რუპია"
+ },
+ "INR": {
+ "name": "ინდური რუპია"
+ },
+ "JOD": {
+ "name": "იორდანიული დოლარი"
+ },
+ "IRR": {
+ "name": "ირანული რიალი"
+ },
+ "ISK": {
+ "name": "ისლანდიური კრონა"
+ },
+ "ILS": {
+ "name": "ისრაელის ახალი შეკელი"
+ },
+ "CVE": {
+ "name": "კაბო-ვერდეს ესკუდო"
+ },
+ "KYD": {
+ "name": "კაიმანის კუნძულების დოლარი"
+ },
+ "KHR": {
+ "name": "კამბოჯური რიელი"
+ },
+ "CAD": {
+ "name": "კანადური დოლარი",
+ "symbol": "CA$"
+ },
+ "QAR": {
+ "name": "კატარის რიალი"
+ },
+ "KES": {
+ "name": "კენიური შილინგი"
+ },
+ "COP": {
+ "name": "კოლუმბიური პესო"
+ },
+ "KMF": {
+ "name": "კომორული ფრანკი"
+ },
+ "CDF": {
+ "name": "კონგოს ფრანკი"
+ },
+ "CRC": {
+ "name": "კოსტა-რიკული კოლონი"
+ },
+ "CUC": {
+ "name": "კუბური კონვერტირებადი პესო"
+ },
+ "CUP": {
+ "name": "კუბური პესო"
+ },
+ "LAK": {
+ "name": "ლაოსური კიპი"
+ },
+ "LBP": {
+ "name": "ლიბანური ფუნტი"
+ },
+ "LRD": {
+ "name": "ლიბერიული დოლარი"
+ },
+ "LYD": {
+ "name": "ლიბიური დინარი"
+ },
+ "MGA": {
+ "name": "მადაგასკარის არიარი"
+ },
+ "MUR": {
+ "name": "მავრიტანული რუპია"
+ },
+ "MRO": {
+ "name": "მავრიტანული უგია"
+ },
+ "MOP": {
+ "name": "მაკაუს პატაკა"
+ },
+ "MKD": {
+ "name": "მაკედონიური დინარი"
+ },
+ "MWK": {
+ "name": "მალავიური კვაჩა"
+ },
+ "MYR": {
+ "name": "მალაიზიური რინგიტი"
+ },
+ "MVR": {
+ "name": "მალდივური რუფია"
+ },
+ "MAD": {
+ "name": "მაროკოს დირჰამი"
+ },
+ "MXN": {
+ "name": "მექსიკური პესო",
+ "symbol": "MX$"
+ },
+ "MMK": {
+ "name": "მიანმარის კიატი"
+ },
+ "MZN": {
+ "name": "მოზამბიკური მეტიკალი"
+ },
+ "MDL": {
+ "name": "მოლდოვური ლეუ"
+ },
+ "MNT": {
+ "name": "მონღოლური ტუგრიკი"
+ },
+ "NAD": {
+ "name": "ნამიბიური დოლარი"
+ },
+ "NPR": {
+ "name": "ნეპალური რუპია"
+ },
+ "NGN": {
+ "name": "ნიგერიული ნაირა"
+ },
+ "ANG": {
+ "name": "ნიდერლანდების ანტილების გულდენი"
+ },
+ "NIO": {
+ "name": "ნიკარაგუული კორდობა"
+ },
+ "NOK": {
+ "name": "ნორვეგიული კრონა"
+ },
+ "OMR": {
+ "name": "ომანის რიალი"
+ },
+ "PKR": {
+ "name": "პაკისტანური რუპია"
+ },
+ "PAB": {
+ "name": "პანამური ბალბოა"
+ },
+ "PGK": {
+ "name": "პაპუა-ახალი გვინეის კინა"
+ },
+ "PYG": {
+ "name": "პარაგვაული გუარანი"
+ },
+ "PEN": {
+ "name": "პერუს ახალი სოლი"
+ },
+ "PLN": {
+ "name": "პოლონური ზლოტი"
+ },
+ "RWF": {
+ "name": "რუანდული ფრანკი"
+ },
+ "RON": {
+ "name": "რუმინული ლეუ"
+ },
+ "RUB": {
+ "name": "რუსული რუბლი"
+ },
+ "WST": {
+ "name": "სამოური ტალა"
+ },
+ "ZAR": {
+ "name": "სამხრეთ აფრიკული რანდი"
+ },
+ "KRW": {
+ "name": "სამხრეთ კორეული ვონი"
+ },
+ "SSP": {
+ "name": "სამხრეთ სუდანური ფუნტი"
+ },
+ "STD": {
+ "name": "სან-ტომე და პრინსიპის დობრა"
+ },
+ "SAR": {
+ "name": "საუდის არაბეთის რიალი"
+ },
+ "SCR": {
+ "name": "სეიშელური რუპია"
+ },
+ "RSD": {
+ "name": "სერბული დინარი"
+ },
+ "SZL": {
+ "name": "სვაზილენდის ლილანგენი"
+ },
+ "SLL": {
+ "name": "სიერა-ლეონეს ლეონე"
+ },
+ "SGD": {
+ "name": "სინგაპურის დოლარი"
+ },
+ "SYP": {
+ "name": "სირიული ფუნტი"
+ },
+ "SBD": {
+ "name": "სოლომონის კუნძულების დოლარი"
+ },
+ "SOS": {
+ "name": "სომალური შილინგი"
+ },
+ "AMD": {
+ "name": "სომხური დრამი"
+ },
+ "SDG": {
+ "name": "სუდანური ფუნტი"
+ },
+ "SRD": {
+ "name": "სურინამული დოლარი"
+ },
+ "TWD": {
+ "name": "ტაივანური ახალი დოლარი",
+ "symbol": "NT$"
+ },
+ "THB": {
+ "name": "ტაილანდური ბატი"
+ },
+ "TZS": {
+ "name": "ტანზანიური შილინგი"
+ },
+ "TJS": {
+ "name": "ტაჯიკური სომონი"
+ },
+ "TOP": {
+ "name": "ტონგანური პაანგა"
+ },
+ "TTD": {
+ "name": "ტრინიდად და ტობაგოს დოლარი"
+ },
+ "TND": {
+ "name": "ტუნისური დინარი"
+ },
+ "UGX": {
+ "name": "უგანდური შილინგი"
+ },
+ "UZS": {
+ "name": "უზბეკური სუმი"
+ },
+ "UAH": {
+ "name": "უკრაინული გრივნა"
+ },
+ "HUF": {
+ "name": "უნგრული ფორინტი"
+ },
+ "UYU": {
+ "name": "ურუგვაის პესო"
+ },
+ "PHP": {
+ "name": "ფილიპინური პესო"
+ },
+ "FJD": {
+ "name": "ფიჯის დოლარი"
+ },
+ "FKP": {
+ "name": "ფოლკლენდის კუნძულების ფუნტი"
+ },
+ "GEL": {
+ "name": "ქართული ლარი",
+ "symbol": "₾"
+ },
+ "KWD": {
+ "name": "ქუვეითური დინარი"
+ },
+ "KZT": {
+ "name": "ყაზახური ტენგე"
+ },
+ "KGS": {
+ "name": "ყირგიზული სომი"
+ },
+ "SEK": {
+ "name": "შვედური კრონა"
+ },
+ "CHF": {
+ "name": "შვეიცარიული ფრანკი"
+ },
+ "LKR": {
+ "name": "შრი-ლანკური რუპია"
+ },
+ "CZK": {
+ "name": "ჩეხური კრონა"
+ },
+ "CLP": {
+ "name": "ჩილეს პესო"
+ },
+ "CNY": {
+ "name": "ჩინური იუანი"
+ },
+ "KPW": {
+ "name": "ჩრდილოეთ კორეული ვონი"
+ },
+ "XAF": {
+ "name": "ცენტრალურ აფრიკული CFA ფრანკი",
+ "symbol": "FCFA"
+ },
+ "SHP": {
+ "name": "წმ. ელენეს კუნძულის ფუნტი"
+ },
+ "HRK": {
+ "name": "ხორვატული კუნა"
+ },
+ "DJF": {
+ "name": "ჯიბუტის ფრანკი"
+ },
+ "HTG": {
+ "name": "ჰაიტური გურდი"
+ },
+ "HNL": {
+ "name": "ჰონდურასული ლემპირა"
+ },
+ "HKD": {
+ "name": "ჰონკონგის დოლარი"
+ },
+ "XPF": {
+ "name": "CFP ფრანკი",
+ "symbol": "CFPF"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/kab.json b/vendor/commerceguys/intl/resources/currency/kab.json
new file mode 100644
index 000000000..e722120cf
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/kab.json
@@ -0,0 +1,497 @@
+{
+ "ETB": {
+ "name": "Abir Utyupi"
+ },
+ "KES": {
+ "name": "Aciling Akini"
+ },
+ "SOS": {
+ "name": "Aciling Aṣumali"
+ },
+ "TZS": {
+ "name": "Aciling Aṭanẓani"
+ },
+ "UGX": {
+ "name": "Aciling Awgandi"
+ },
+ "GMD": {
+ "name": "Adalasi Agambi"
+ },
+ "BHD": {
+ "name": "Adinar Abaḥrini"
+ },
+ "LYD": {
+ "name": "Adinar Alibi"
+ },
+ "TND": {
+ "name": "Adinar Atunsi"
+ },
+ "DZD": {
+ "name": "Adinar Azzayri",
+ "symbol": "DA"
+ },
+ "MAD": {
+ "name": "Adirham Amerruki"
+ },
+ "AED": {
+ "name": "Adirham n Tgeldunin Taɛrabin Yedduklen"
+ },
+ "CAD": {
+ "name": "Adular Akanadi",
+ "symbol": "CA$"
+ },
+ "LRD": {
+ "name": "Adular Alibiri"
+ },
+ "NAD": {
+ "name": "Adular Anamibi"
+ },
+ "AUD": {
+ "name": "Adular n Lusṭrali",
+ "symbol": "A$"
+ },
+ "USD": {
+ "name": "Adular WD",
+ "symbol": "US$"
+ },
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "BIF": {
+ "name": "Afrank Aburandi"
+ },
+ "DJF": {
+ "name": "Afrank Ajibuti"
+ },
+ "KMF": {
+ "name": "Afrank Akamiruni"
+ },
+ "CDF": {
+ "name": "Afrank Akunguli"
+ },
+ "RWF": {
+ "name": "Afrank Aruwandi"
+ },
+ "CHF": {
+ "name": "Afrank Aswis"
+ },
+ "XAF": {
+ "name": "Afrank BCEA CFA",
+ "symbol": "FCFA"
+ },
+ "XOF": {
+ "name": "Afrank BCEAO CFA",
+ "symbol": "CFA"
+ },
+ "MRO": {
+ "name": "Agiya Amuriṭani"
+ },
+ "CVE": {
+ "name": "Akabuviradinu Askudi"
+ },
+ "MWK": {
+ "name": "Akwaca Amalawi"
+ },
+ "ZMW": {
+ "name": "Akwaca Azambi"
+ },
+ "AOA": {
+ "name": "Akwanza n Ungula"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "SZL": {
+ "name": "Alilangini"
+ },
+ "LSL": {
+ "name": "Aluṭi Alizuṭi"
+ },
+ "SLL": {
+ "name": "Alyun"
+ },
+ "ERN": {
+ "name": "Anakfa Iritiri"
+ },
+ "NGN": {
+ "name": "Anayra Anijiri"
+ },
+ "BWP": {
+ "name": "Apula Abusṭwanan"
+ },
+ "GBP": {
+ "name": "Apund Aglizi",
+ "symbol": "£"
+ },
+ "EGP": {
+ "name": "Apund Amaṣri"
+ },
+ "SHP": {
+ "name": "Apund Asant Ilini"
+ },
+ "SDG": {
+ "name": "Apund Asudani"
+ },
+ "ZAR": {
+ "name": "Arand Afriqi n Wadda"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "INR": {
+ "name": "Arupi Ahendi",
+ "symbol": "₹"
+ },
+ "MUR": {
+ "name": "Arupi Amurisi"
+ },
+ "SCR": {
+ "name": "Arupi Aseycili"
+ },
+ "SAR": {
+ "name": "Aryal Asuɛudi"
+ },
+ "MGA": {
+ "name": "Aryari Amalgac"
+ },
+ "STD": {
+ "name": "Asw Ṭum d Udubra Amenzay"
+ },
+ "JPY": {
+ "name": "Ayen Ajappuni",
+ "symbol": "JP¥"
+ },
+ "CNY": {
+ "name": "Ayuwan Renminbi Acinwa",
+ "symbol": "CN¥"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Ruble"
+ },
+ "BYR": {
+ "name": "Belarusian Ruble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Ruble"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "EUR": {
+ "name": "Uru",
+ "symbol": "€"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/kam.json b/vendor/commerceguys/intl/resources/currency/kam.json
new file mode 100644
index 000000000..4bae167d8
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/kam.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "MGA": {
+ "name": "Ariary ya Bukini"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Ruble"
+ },
+ "BYR": {
+ "name": "Belarusian Ruble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "ETB": {
+ "name": "Bir ya Uhabeshi"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DZD": {
+ "name": "Dinari ya Aljeria"
+ },
+ "BHD": {
+ "name": "Dinari ya Bahareni"
+ },
+ "LYD": {
+ "name": "Dinari ya Libya"
+ },
+ "AED": {
+ "name": "Dirham ya Falme za Kiarabu"
+ },
+ "MAD": {
+ "name": "Dirham ya Moroko"
+ },
+ "STD": {
+ "name": "Dobra ya Sao Tome na Principe"
+ },
+ "LRD": {
+ "name": "Dola ya Liberia"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "CVE": {
+ "name": "Eskudo ya Kepuvede"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "XOF": {
+ "name": "Faranga CFA BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Faranga CFA BEAC",
+ "symbol": "FCFA"
+ },
+ "BIF": {
+ "name": "Faranga ya Burundi"
+ },
+ "DJF": {
+ "name": "Faranga ya Jibuti"
+ },
+ "KMF": {
+ "name": "Faranga ya Komoro"
+ },
+ "CDF": {
+ "name": "Faranga ya Kongo"
+ },
+ "RWF": {
+ "name": "Faranga ya Rwanda"
+ },
+ "CHF": {
+ "name": "Faranga ya Uswisi"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "MWK": {
+ "name": "Kwacha ya Malawi"
+ },
+ "ZMW": {
+ "name": "Kwacha ya Zambia"
+ },
+ "AOA": {
+ "name": "Kwanza ya Angola"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "SLL": {
+ "name": "Leoni"
+ },
+ "SZL": {
+ "name": "Lilangeni"
+ },
+ "LSL": {
+ "name": "Loti ya Lesoto"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NGN": {
+ "name": "Naira ya Nijeria"
+ },
+ "ERN": {
+ "name": "Nakfa ya Eritrea"
+ },
+ "GMD": {
+ "name": "Ndalasi ya Gambia"
+ },
+ "TND": {
+ "name": "Ndinari ya Tunisia"
+ },
+ "AUD": {
+ "name": "Ndola ya Australia",
+ "symbol": "A$"
+ },
+ "CAD": {
+ "name": "Ndola ya Kanada",
+ "symbol": "CA$"
+ },
+ "USD": {
+ "name": "Ndola ya Marekani",
+ "symbol": "US$"
+ },
+ "NAD": {
+ "name": "Ndola ya Namibia"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "GBP": {
+ "name": "Pauni ya Uingereza",
+ "symbol": "£"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "BWP": {
+ "name": "Pula ya Botswana"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "ZAR": {
+ "name": "Randi ya Afrika Kusini"
+ },
+ "SAR": {
+ "name": "Riyal ya Saudia"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "INR": {
+ "name": "Rupia ya India",
+ "symbol": "₹"
+ },
+ "MUR": {
+ "name": "Rupia ya Morisi"
+ },
+ "SCR": {
+ "name": "Rupia ya Shelisheli"
+ },
+ "RUB": {
+ "name": "Russian Ruble"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "JPY": {
+ "name": "Sarafu ya Kijapani",
+ "symbol": "JP¥"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "KES": {
+ "name": "Silingi ya Kenya",
+ "symbol": "Ksh"
+ },
+ "SOS": {
+ "name": "Silingi ya Somalia"
+ },
+ "TZS": {
+ "name": "Silingi ya Tanzania"
+ },
+ "UGX": {
+ "name": "Silingi ya Uganda"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "MRO": {
+ "name": "Ugwiya ya Moritania"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "EGP": {
+ "name": "Vaundi ya Misili"
+ },
+ "SHP": {
+ "name": "Vaũndi ya Santahelena"
+ },
+ "SDG": {
+ "name": "Vaũndi ya Sudani"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "CNY": {
+ "name": "Yuan Renminbi ya China",
+ "symbol": "CN¥"
+ },
+ "EUR": {
+ "name": "Yuro",
+ "symbol": "€"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/kde.json b/vendor/commerceguys/intl/resources/currency/kde.json
new file mode 100644
index 000000000..582622411
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/kde.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Ruble"
+ },
+ "BYR": {
+ "name": "Belarusian Ruble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "ETB": {
+ "name": "Bir ya Uhabeshi"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "GMD": {
+ "name": "Dalasi ya Gambia"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DZD": {
+ "name": "Dinari ya Aljeria"
+ },
+ "BHD": {
+ "name": "Dinari ya Bahareni"
+ },
+ "LYD": {
+ "name": "Dinari ya Libya"
+ },
+ "SDG": {
+ "name": "Dinari ya Sudani"
+ },
+ "TND": {
+ "name": "Dinari ya Tunisia"
+ },
+ "AED": {
+ "name": "Dirham ya Falme za Chiarabu"
+ },
+ "MAD": {
+ "name": "Dirham ya Moroko"
+ },
+ "STD": {
+ "name": "Dobra ya Sao Tome na Principe"
+ },
+ "AUD": {
+ "name": "Dola ya Australia",
+ "symbol": "A$"
+ },
+ "CAD": {
+ "name": "Dola ya Kanada",
+ "symbol": "CA$"
+ },
+ "LRD": {
+ "name": "Dola ya Liberia"
+ },
+ "USD": {
+ "name": "Dola ya Marekani",
+ "symbol": "US$"
+ },
+ "NAD": {
+ "name": "Dola ya Namibia"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "CVE": {
+ "name": "Eskudo ya Kepuvede"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "XOF": {
+ "name": "Faranga CFA BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Faranga CFA BEAC",
+ "symbol": "FCFA"
+ },
+ "MGA": {
+ "name": "Faranga ya Bukini"
+ },
+ "BIF": {
+ "name": "Faranga ya Burundi"
+ },
+ "DJF": {
+ "name": "Faranga ya Jibuti"
+ },
+ "KMF": {
+ "name": "Faranga ya Komoro"
+ },
+ "CDF": {
+ "name": "Faranga ya Kongo"
+ },
+ "RWF": {
+ "name": "Faranga ya Rwanda"
+ },
+ "CHF": {
+ "name": "Faranga ya Uswisi"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "MWK": {
+ "name": "Kwacha ya Malawi"
+ },
+ "ZMW": {
+ "name": "Kwacha ya Zambia"
+ },
+ "AOA": {
+ "name": "Kwanza ya Angola"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "SLL": {
+ "name": "Leoni"
+ },
+ "SZL": {
+ "name": "Lilangeni"
+ },
+ "LSL": {
+ "name": "Loti ya Lesoto"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NGN": {
+ "name": "Naira ya Nijeria"
+ },
+ "ERN": {
+ "name": "Nakfa ya Eritrea"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "EGP": {
+ "name": "Pauni ya Misri"
+ },
+ "SHP": {
+ "name": "Pauni ya Santahelena"
+ },
+ "GBP": {
+ "name": "Pauni ya Uingereza",
+ "symbol": "£"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "BWP": {
+ "name": "Pula ya Botswana"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "ZAR": {
+ "name": "Randi ya Afrika Kusini"
+ },
+ "SAR": {
+ "name": "Riyal ya Saudia"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "INR": {
+ "name": "Rupia ya India",
+ "symbol": "₹"
+ },
+ "MUR": {
+ "name": "Rupia ya Morisi"
+ },
+ "SCR": {
+ "name": "Rupia ya Shelisheli"
+ },
+ "RUB": {
+ "name": "Russian Ruble"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "JPY": {
+ "name": "Sarafu ya Chijapani",
+ "symbol": "JP¥"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "KES": {
+ "name": "Shilingi ya Kenya"
+ },
+ "SOS": {
+ "name": "Shilingi ya Somalia"
+ },
+ "TZS": {
+ "name": "Shilingi ya Tanzania",
+ "symbol": "TSh"
+ },
+ "UGX": {
+ "name": "Shilingi ya Uganda"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "MRO": {
+ "name": "Ugwiya ya Moritania"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "CNY": {
+ "name": "Yuan Renminbi ya China",
+ "symbol": "CN¥"
+ },
+ "EUR": {
+ "name": "Yuro",
+ "symbol": "€"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/kea.json b/vendor/commerceguys/intl/resources/currency/kea.json
new file mode 100644
index 000000000..9bd182bd9
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/kea.json
@@ -0,0 +1,498 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "MGA": {
+ "name": "Ariari di Madagaskar"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "THB": {
+ "name": "Baht tailandes",
+ "symbol": "฿"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Ruble"
+ },
+ "BYR": {
+ "name": "Belarusian Ruble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "ETB": {
+ "name": "Bir etiopi"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "GMD": {
+ "name": "Dalasi"
+ },
+ "DZD": {
+ "name": "Dinar arjelinu"
+ },
+ "BHD": {
+ "name": "Dinar di Barain"
+ },
+ "LYD": {
+ "name": "Dinar libiu"
+ },
+ "TND": {
+ "name": "Dinar tunizianu"
+ },
+ "AED": {
+ "name": "Diren di Emiradus Arabi Unidu"
+ },
+ "MAD": {
+ "name": "Diren marokinu"
+ },
+ "STD": {
+ "name": "Dobra di Sãu Tume i Prínsipi"
+ },
+ "AUD": {
+ "name": "Dola australianu",
+ "symbol": "AU$"
+ },
+ "HKD": {
+ "name": "Dola di Ong Kong",
+ "symbol": "HK$"
+ },
+ "CAD": {
+ "name": "Dola kanadianu",
+ "symbol": "CA$"
+ },
+ "LRD": {
+ "name": "Dola liberianu"
+ },
+ "USD": {
+ "name": "Dola merkanu",
+ "symbol": "US$"
+ },
+ "NAD": {
+ "name": "Dola namibianu"
+ },
+ "TWD": {
+ "name": "Dola Novu di Taiwan",
+ "symbol": "NT$"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "BIF": {
+ "name": "Franku borundes"
+ },
+ "XOF": {
+ "name": "Franku CFA (BCEAO)",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Franku CFA (BEAC)",
+ "symbol": "FCFA"
+ },
+ "DJF": {
+ "name": "Franku di Djibuti"
+ },
+ "KMF": {
+ "name": "Franku di Komoris"
+ },
+ "CDF": {
+ "name": "Franku kongoles"
+ },
+ "RWF": {
+ "name": "Franku ruandes"
+ },
+ "CHF": {
+ "name": "Franku suisu"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "JPY": {
+ "name": "Ieni japones",
+ "symbol": "JP¥"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "CNY": {
+ "name": "Iuan xines",
+ "symbol": "CN¥"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "AOA": {
+ "name": "Kuanza"
+ },
+ "MWK": {
+ "name": "Kuaxa di Malaui"
+ },
+ "ZMW": {
+ "name": "Kuaxa zambianu"
+ },
+ "DKK": {
+ "name": "Kuroa dinamarkeza"
+ },
+ "NOK": {
+ "name": "Kuroa norueges"
+ },
+ "SEK": {
+ "name": "Kuroa sueku"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "SLL": {
+ "name": "Leone di Sera Leoa"
+ },
+ "GBP": {
+ "name": "Libra britaniku",
+ "symbol": "£"
+ },
+ "SHP": {
+ "name": "Libra di Santa Ilena"
+ },
+ "EGP": {
+ "name": "Libra ejipsiu"
+ },
+ "SDG": {
+ "name": "Libra sudanes"
+ },
+ "SZL": {
+ "name": "Lilanjeni"
+ },
+ "TRY": {
+ "name": "Lira turku"
+ },
+ "LSL": {
+ "name": "Loti di Lezotu"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "ERN": {
+ "name": "Nafka di Eritreia"
+ },
+ "NGN": {
+ "name": "Naira"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "MRO": {
+ "name": "Ougia"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "MXN": {
+ "name": "Pezu mexikanu",
+ "symbol": "MX$"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "BWP": {
+ "name": "Pula di Botsuana"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "ZAR": {
+ "name": "Rand sulafrikanu"
+ },
+ "BRL": {
+ "name": "Rial brazileru",
+ "symbol": "R$"
+ },
+ "SAR": {
+ "name": "Rial saudita"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Rublu rusu"
+ },
+ "MUR": {
+ "name": "Rupia di Maurisias"
+ },
+ "SCR": {
+ "name": "Rupia di Seixelis"
+ },
+ "INR": {
+ "name": "Rupia indianu",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Rupia indoneziu"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "CVE": {
+ "name": "Skudu Kabuverdianu",
+ "symbol": "​"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "KRW": {
+ "name": "Won sul-koreanu",
+ "symbol": "₩"
+ },
+ "TZS": {
+ "name": "Xelin di Tanzania"
+ },
+ "KES": {
+ "name": "Xelin kenianu"
+ },
+ "SOS": {
+ "name": "Xelin somalianu"
+ },
+ "UGX": {
+ "name": "Xelin ugandensi"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ },
+ "PLN": {
+ "name": "Zloty polaku"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/khq.json b/vendor/commerceguys/intl/resources/currency/khq.json
new file mode 100644
index 000000000..fddc77db1
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/khq.json
@@ -0,0 +1,496 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Alžeeri Dinar"
+ },
+ "USD": {
+ "name": "Ameriki Dollar",
+ "symbol": "US$"
+ },
+ "AOA": {
+ "name": "Angoola Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahareen Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Ruble"
+ },
+ "BYR": {
+ "name": "Belarusian Ruble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswaana Pund"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "Britin Pund",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundi Fraŋ"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XOF": {
+ "name": "CFA Fraŋ (BCEAO)",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "CFA Fraŋ (BEAC)",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "ETB": {
+ "name": "Ecioopi Birr"
+ },
+ "EUR": {
+ "name": "Eero",
+ "symbol": "€"
+ },
+ "ERN": {
+ "name": "Eritree Nafka"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambi Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "ZAR": {
+ "name": "Hawasa Afriki Rand"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "INR": {
+ "name": "Indu Rupii",
+ "symbol": "₹"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JPY": {
+ "name": "Jaapoŋ Yen",
+ "symbol": "JP¥"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "DJF": {
+ "name": "Jibuuti Fraŋ"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "CAD": {
+ "name": "Kanaada Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Kapuver Escudo"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Keeniya Šiiliŋ"
+ },
+ "KMF": {
+ "name": "Komoor Fraŋ"
+ },
+ "CDF": {
+ "name": "Kongo Fraŋ"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "AED": {
+ "name": "Laaraw Immaara Margantey Dirham"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "SLL": {
+ "name": "Leeon"
+ },
+ "LSL": {
+ "name": "Leezoto Loti"
+ },
+ "LRD": {
+ "name": "Liberia Dollar"
+ },
+ "LYD": {
+ "name": "Liibi Dinar"
+ },
+ "SZL": {
+ "name": "Lilangeni"
+ },
+ "MAD": {
+ "name": "Maarok Dirham"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MWK": {
+ "name": "Malaawi Kwaca"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MGA": {
+ "name": "Malgaaši Fraŋ"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "EGP": {
+ "name": "Misra Pund"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MUR": {
+ "name": "Mooris Rupii"
+ },
+ "MRO": {
+ "name": "Mooritaani Ugiya"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NGN": {
+ "name": "Naajiriya Neera"
+ },
+ "NAD": {
+ "name": "Naamibi Dollar"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "AUD": {
+ "name": "Ostraali Dollar",
+ "symbol": "A$"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Ruble"
+ },
+ "RWF": {
+ "name": "Rwanda Fraŋ"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "Sao Tome nda Prinsipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudiya Riyal"
+ },
+ "SCR": {
+ "name": "Seešel Rupii"
+ },
+ "SHP": {
+ "name": "Seŋ Helena Fraŋ"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "CNY": {
+ "name": "Sinwa Yuan Renminbi",
+ "symbol": "CN¥"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somaali Šiiliŋ"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SDG": {
+ "name": "Suudaŋ Dinar"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swisu Fraŋ"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzaani Šiiliŋ"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunizi Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Uganda Šiiliŋ"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambi Kwaca"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/ki.json b/vendor/commerceguys/intl/resources/currency/ki.json
new file mode 100644
index 000000000..0cb6f6094
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/ki.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "MGA": {
+ "name": "Ariary ya Bukini"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Ruble"
+ },
+ "BYR": {
+ "name": "Belarusian Ruble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "ETB": {
+ "name": "Bir ya Uhabeshi"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "SOS": {
+ "name": "ciringi cia cumarĩ"
+ },
+ "TZS": {
+ "name": "ciringi cia Tanizania"
+ },
+ "UGX": {
+ "name": "ciringi cia Ũganda"
+ },
+ "KES": {
+ "name": "Ciringi ya Kenya",
+ "symbol": "Ksh"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "GMD": {
+ "name": "Dalasi ya Gambia"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DZD": {
+ "name": "Dinari ya Aljeria"
+ },
+ "BHD": {
+ "name": "Dinari ya Bahareni"
+ },
+ "LYD": {
+ "name": "Dinari ya Libya"
+ },
+ "TND": {
+ "name": "Dinari ya Tunisia"
+ },
+ "AED": {
+ "name": "Dirham ya Falme za Kiarabu"
+ },
+ "MAD": {
+ "name": "Dirham ya Moroko"
+ },
+ "STD": {
+ "name": "Dobra ya Sao Tome na Principe"
+ },
+ "AUD": {
+ "name": "Dola ya Australia",
+ "symbol": "A$"
+ },
+ "LRD": {
+ "name": "Dola ya Liberia"
+ },
+ "NAD": {
+ "name": "Dola ya Namibia"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "CVE": {
+ "name": "Eskudo ya Kepuvede"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "XOF": {
+ "name": "Faranga CFA BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Faranga CFA BEAC",
+ "symbol": "FCFA"
+ },
+ "BIF": {
+ "name": "Faranga ya Burundi"
+ },
+ "DJF": {
+ "name": "Faranga ya Jibuti"
+ },
+ "KMF": {
+ "name": "Faranga ya Komoro"
+ },
+ "CDF": {
+ "name": "Faranga ya Kongo"
+ },
+ "RWF": {
+ "name": "Faranga ya Rwanda"
+ },
+ "CHF": {
+ "name": "Faranga ya Uswisi"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "MWK": {
+ "name": "Kwacha ya Malawi"
+ },
+ "ZMW": {
+ "name": "Kwacha ya Zambia"
+ },
+ "AOA": {
+ "name": "Kwanza ya Angola"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "SLL": {
+ "name": "Leoni"
+ },
+ "SZL": {
+ "name": "Lilangeni"
+ },
+ "LSL": {
+ "name": "Loti ya Lesoto"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "GBP": {
+ "name": "Mbauini cia Ngeretha",
+ "symbol": "£"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NGN": {
+ "name": "Naira ya Nijeria"
+ },
+ "ERN": {
+ "name": "Nakfa ya Eritrea"
+ },
+ "USD": {
+ "name": "Ndora cia Amerika",
+ "symbol": "US$"
+ },
+ "CAD": {
+ "name": "Ndora ya Kananda",
+ "symbol": "CA$"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "EGP": {
+ "name": "Pauni ya Misri"
+ },
+ "SHP": {
+ "name": "Pauni ya Santahelena"
+ },
+ "SDG": {
+ "name": "Pauni ya Sudani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "BWP": {
+ "name": "Pula ya Botswana"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "ZAR": {
+ "name": "Randi ya Afrika Kusini"
+ },
+ "SAR": {
+ "name": "Riyal ya Saudia"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "INR": {
+ "name": "Rubia rwa India",
+ "symbol": "₹"
+ },
+ "MUR": {
+ "name": "Rupia ya Morisi"
+ },
+ "SCR": {
+ "name": "Rupia ya Shelisheli"
+ },
+ "RUB": {
+ "name": "Russian Ruble"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "JPY": {
+ "name": "Sarafu ya Kijapani",
+ "symbol": "JP¥"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "MRO": {
+ "name": "Ugwiya ya Moritania"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "CNY": {
+ "name": "Yuan Renminbi ya China",
+ "symbol": "CN¥"
+ },
+ "EUR": {
+ "name": "Yuro",
+ "symbol": "€"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/kk.json b/vendor/commerceguys/intl/resources/currency/kk.json
new file mode 100644
index 000000000..fafe024f9
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/kk.json
@@ -0,0 +1,499 @@
+{
+ "AUD": {
+ "name": "Австралия доллары",
+ "symbol": "A$"
+ },
+ "USD": {
+ "name": "АҚШ доллары",
+ "symbol": "$"
+ },
+ "ALL": {
+ "name": "Албания легі"
+ },
+ "DZD": {
+ "name": "Алжир динары"
+ },
+ "AOA": {
+ "name": "Ангола кванзасы"
+ },
+ "ARS": {
+ "name": "Аргентина песосы"
+ },
+ "AMD": {
+ "name": "Армения драмы"
+ },
+ "AWG": {
+ "name": "Аруба флорині"
+ },
+ "AFN": {
+ "name": "Ауғанстан афганиі"
+ },
+ "AZN": {
+ "name": "Әзірбайжан манаты"
+ },
+ "SHP": {
+ "name": "Әулие Елена аралы фунты"
+ },
+ "BSD": {
+ "name": "Багам доллары"
+ },
+ "BDT": {
+ "name": "Бангладеш такасы"
+ },
+ "BBD": {
+ "name": "Барбадос доллары"
+ },
+ "BHD": {
+ "name": "Бахрейн динары"
+ },
+ "BYN": {
+ "name": "Беларусь рублі"
+ },
+ "BYR": {
+ "name": "Беларусь рублі (2000–2016)"
+ },
+ "BZD": {
+ "name": "Белиз доллары"
+ },
+ "BMD": {
+ "name": "Бермуд доллары"
+ },
+ "BGN": {
+ "name": "Болгария леві"
+ },
+ "BOB": {
+ "name": "Боливия боливианосы"
+ },
+ "BAM": {
+ "name": "Босния және Герцеговина айырбасталмалы маркасы"
+ },
+ "BWP": {
+ "name": "Ботсвана пуласы"
+ },
+ "BRL": {
+ "name": "Бразилия реалы",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "Британдық фунт",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Бруней доллары"
+ },
+ "BIF": {
+ "name": "Бурунди франкі"
+ },
+ "BTN": {
+ "name": "Бутан нгултрумы"
+ },
+ "AED": {
+ "name": "Біріккен Араб Әмірліктерінің дирхамы"
+ },
+ "VUV": {
+ "name": "Вануату ватуы"
+ },
+ "HUF": {
+ "name": "Венгрия форинті"
+ },
+ "VEF": {
+ "name": "Венесуэла боливары"
+ },
+ "VND": {
+ "name": "Вьетнам донгі",
+ "symbol": "₫"
+ },
+ "HTG": {
+ "name": "Гаити гурды"
+ },
+ "GYD": {
+ "name": "Гайана доллары"
+ },
+ "GMD": {
+ "name": "Гамбия даласиі"
+ },
+ "GHS": {
+ "name": "Гана седиі"
+ },
+ "GTQ": {
+ "name": "Гватемала кетсалі"
+ },
+ "GNF": {
+ "name": "Гвинея франкі"
+ },
+ "GIP": {
+ "name": "Гибралтар фунты"
+ },
+ "HNL": {
+ "name": "Гондурас лемпирасы"
+ },
+ "HKD": {
+ "name": "Гонконг доллары",
+ "symbol": "HK$"
+ },
+ "GEL": {
+ "name": "Грузия лариі"
+ },
+ "DKK": {
+ "name": "Дат кроны"
+ },
+ "DJF": {
+ "name": "Джибути франкі"
+ },
+ "DOP": {
+ "name": "Доминикан песосы"
+ },
+ "EUR": {
+ "name": "Еуро",
+ "symbol": "€"
+ },
+ "NZD": {
+ "name": "Жаңа Зеландия доллары",
+ "symbol": "NZ$"
+ },
+ "TWD": {
+ "name": "Жаңа Тайван доллары",
+ "symbol": "NT$"
+ },
+ "JPY": {
+ "name": "Жапония иенасы",
+ "symbol": "JP¥"
+ },
+ "ZMW": {
+ "name": "Замбия квачасы"
+ },
+ "ILS": {
+ "name": "Израиль жаңа шекелі",
+ "symbol": "₪"
+ },
+ "IDR": {
+ "name": "Индонезия рупиясы"
+ },
+ "JOD": {
+ "name": "Иордания динары"
+ },
+ "IQD": {
+ "name": "Ирак динары"
+ },
+ "IRR": {
+ "name": "Иран риалы"
+ },
+ "ISK": {
+ "name": "Исландия кронасы"
+ },
+ "YER": {
+ "name": "Йемен риалы"
+ },
+ "CVE": {
+ "name": "Кабо-Верде эскудосы"
+ },
+ "KYD": {
+ "name": "Кайман аралдары доллары"
+ },
+ "KHR": {
+ "name": "Камбоджа риелі"
+ },
+ "CAD": {
+ "name": "Канада доллары",
+ "symbol": "CA$"
+ },
+ "QAR": {
+ "name": "Катар риалы"
+ },
+ "KES": {
+ "name": "Кения шиллингі"
+ },
+ "COP": {
+ "name": "Колумбия песосы"
+ },
+ "KMF": {
+ "name": "Комор аралдары франкі"
+ },
+ "CDF": {
+ "name": "Конго франкі"
+ },
+ "CRC": {
+ "name": "Коста-Рика колоны"
+ },
+ "CUC": {
+ "name": "Куба айырбасталмалы песосы"
+ },
+ "CUP": {
+ "name": "Куба песосы"
+ },
+ "KWD": {
+ "name": "Кувейт динары"
+ },
+ "XAF": {
+ "name": "КФА ВЕАС франкі",
+ "symbol": "FCFA"
+ },
+ "XOF": {
+ "name": "КФА ВСЕАО франкі",
+ "symbol": "CFA"
+ },
+ "XPF": {
+ "name": "КФП франкі",
+ "symbol": "CFPF"
+ },
+ "KZT": {
+ "name": "Қазақстан теңгесі",
+ "symbol": "₸"
+ },
+ "KGS": {
+ "name": "Қырғызстан сомы"
+ },
+ "CNY": {
+ "name": "Қытай юані",
+ "symbol": "CN¥"
+ },
+ "LAK": {
+ "name": "Лаос кипі"
+ },
+ "LRD": {
+ "name": "Либерия доллары"
+ },
+ "LBP": {
+ "name": "Ливан фунты"
+ },
+ "LYD": {
+ "name": "Ливия динары"
+ },
+ "MUR": {
+ "name": "Маврикий рупиясы"
+ },
+ "MRO": {
+ "name": "Мавритания угиясы"
+ },
+ "MOP": {
+ "name": "Макао патакасы"
+ },
+ "MKD": {
+ "name": "Македония динары"
+ },
+ "MWK": {
+ "name": "Малави квачасы"
+ },
+ "MGA": {
+ "name": "Малагаси ариариі"
+ },
+ "MYR": {
+ "name": "Малайзия ринггиті"
+ },
+ "MVR": {
+ "name": "Мальдив руфиясы"
+ },
+ "MAD": {
+ "name": "Марокко дирхамы"
+ },
+ "MXN": {
+ "name": "Мексика песосы",
+ "symbol": "MX$"
+ },
+ "MZN": {
+ "name": "Мозамбик метикалы"
+ },
+ "MDL": {
+ "name": "Молдова лейі"
+ },
+ "MNT": {
+ "name": "Моңғолия тугригі"
+ },
+ "EGP": {
+ "name": "Мысыр фунты"
+ },
+ "MMK": {
+ "name": "Мьянма кьяты"
+ },
+ "NAD": {
+ "name": "Намибия доллары"
+ },
+ "NPR": {
+ "name": "Непал рупиясы"
+ },
+ "NGN": {
+ "name": "Нигерия найрасы"
+ },
+ "ANG": {
+ "name": "Нидерланд антиль гульдені"
+ },
+ "NIO": {
+ "name": "Никарагуа кордобасы"
+ },
+ "NOK": {
+ "name": "Норвегия кроны"
+ },
+ "OMR": {
+ "name": "Оман риалы"
+ },
+ "ZAR": {
+ "name": "Оңтүстік Африка рэнді"
+ },
+ "KRW": {
+ "name": "Оңтүстік Корея воны",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "Оңтүстік Судан фунты"
+ },
+ "UZS": {
+ "name": "Өзбекстан сомы"
+ },
+ "PAB": {
+ "name": "Панама бальбоасы"
+ },
+ "PGK": {
+ "name": "Папуа - Жаңа Гвинея кинасы"
+ },
+ "PYG": {
+ "name": "Парагвай гуараниі"
+ },
+ "PKR": {
+ "name": "Пәкістан рупиясы"
+ },
+ "PEN": {
+ "name": "Перу жаңа солі"
+ },
+ "PLN": {
+ "name": "Польша злотасы"
+ },
+ "RUB": {
+ "name": "Ресей рублі",
+ "symbol": "₽"
+ },
+ "RWF": {
+ "name": "Руанда франкі"
+ },
+ "RON": {
+ "name": "Румыния лейі"
+ },
+ "WST": {
+ "name": "Самоа таласы"
+ },
+ "STD": {
+ "name": "Сант-Томе мен Принсипи добрасы"
+ },
+ "SAR": {
+ "name": "Сауд Арабиясының риалы"
+ },
+ "SZL": {
+ "name": "Свазиленд лилангениі"
+ },
+ "SCR": {
+ "name": "Сейшель рупиясы"
+ },
+ "RSD": {
+ "name": "Сербия динары"
+ },
+ "SGD": {
+ "name": "Сингапур доллары"
+ },
+ "SYP": {
+ "name": "Сирия фунты"
+ },
+ "SBD": {
+ "name": "Соломон аралдары доллары"
+ },
+ "KPW": {
+ "name": "Солтүстік Корея воны"
+ },
+ "SOS": {
+ "name": "Сомали шиллингі"
+ },
+ "SDG": {
+ "name": "Судан фунты"
+ },
+ "SRD": {
+ "name": "Суринам доллары"
+ },
+ "SLL": {
+ "name": "Сьерра-Леоне леонесі"
+ },
+ "THB": {
+ "name": "Тай баты",
+ "symbol": "฿"
+ },
+ "TZS": {
+ "name": "Танзания шиллингі"
+ },
+ "TJS": {
+ "name": "Тәжікстан сомониі"
+ },
+ "TOP": {
+ "name": "Тонга паангасы"
+ },
+ "TTD": {
+ "name": "Тринидад және Тобаго доллары"
+ },
+ "TND": {
+ "name": "Тунис динары"
+ },
+ "TRY": {
+ "name": "Түрік лирасы"
+ },
+ "TMT": {
+ "name": "Түрікменстан манаты"
+ },
+ "UGX": {
+ "name": "Уганда шиллингі"
+ },
+ "UAH": {
+ "name": "Украина гривнасы"
+ },
+ "UYU": {
+ "name": "Уругвай песосы"
+ },
+ "INR": {
+ "name": "Үндістан рупиясы",
+ "symbol": "₹"
+ },
+ "FJD": {
+ "name": "Фиджи доллары"
+ },
+ "PHP": {
+ "name": "Филиппин песосы"
+ },
+ "FKP": {
+ "name": "Фолкленд аралдарының фунты"
+ },
+ "HRK": {
+ "name": "Хорватия кунасы"
+ },
+ "CZK": {
+ "name": "Чехия кронасы"
+ },
+ "CLP": {
+ "name": "Чили песосы"
+ },
+ "CHF": {
+ "name": "Швейцария франкі"
+ },
+ "SEK": {
+ "name": "Швеция кроны"
+ },
+ "LKR": {
+ "name": "Шри-Ланка рупиясы"
+ },
+ "XCD": {
+ "name": "Шығыс Кариб доллары",
+ "symbol": "EC$"
+ },
+ "ERN": {
+ "name": "Эритрея накфасы"
+ },
+ "ETB": {
+ "name": "Эфиопия быры"
+ },
+ "JMD": {
+ "name": "Ямайка доллары"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/kln.json b/vendor/commerceguys/intl/resources/currency/kln.json
new file mode 100644
index 000000000..23edfe9a6
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/kln.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Ruble"
+ },
+ "BYR": {
+ "name": "Belarusian Ruble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "AUD": {
+ "name": "Dolaitab Australian",
+ "symbol": "A$"
+ },
+ "CAD": {
+ "name": "Dolaitab Kanada",
+ "symbol": "CA$"
+ },
+ "LRD": {
+ "name": "Dolaitab Liberia"
+ },
+ "NAD": {
+ "name": "Dolaitab Namibia"
+ },
+ "USD": {
+ "name": "Dolaitab ya Amareka",
+ "symbol": "US$"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "ZMW": {
+ "name": "Kwachaitab Zambia"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "SLL": {
+ "name": "Leonit"
+ },
+ "SZL": {
+ "name": "Lilangenit"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "EGP": {
+ "name": "Pauditab Misri"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "SHP": {
+ "name": "Pouditab helena ne tilil"
+ },
+ "SDG": {
+ "name": "Pouditab Sudan"
+ },
+ "GBP": {
+ "name": "pounditab Uingereza",
+ "symbol": "£"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "DZD": {
+ "name": "Rabisiekab Algerian"
+ },
+ "AOA": {
+ "name": "Rabisiekab Angolan"
+ },
+ "BHD": {
+ "name": "Rabisiekab Bahrain"
+ },
+ "BWP": {
+ "name": "Rabisiekab Botswana"
+ },
+ "BIF": {
+ "name": "Rabisiekab Burundi"
+ },
+ "XOF": {
+ "name": "Rabisiekab CFA BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Rabisiekab CFA BEAC",
+ "symbol": "FCFA"
+ },
+ "CNY": {
+ "name": "Rabisiekab China",
+ "symbol": "CN¥"
+ },
+ "CDF": {
+ "name": "Rabisiekab Congo"
+ },
+ "ERN": {
+ "name": "Rabisiekab Eritrea"
+ },
+ "ETB": {
+ "name": "Rabisiekab Ethiopia"
+ },
+ "GMD": {
+ "name": "Rabisiekab Gambia"
+ },
+ "INR": {
+ "name": "Rabisiekab India",
+ "symbol": "₹"
+ },
+ "JPY": {
+ "name": "Rabisiekab Japan",
+ "symbol": "JP¥"
+ },
+ "DJF": {
+ "name": "Rabisiekab Jibuti"
+ },
+ "CVE": {
+ "name": "Rabisiekab Kepuvede"
+ },
+ "AED": {
+ "name": "Rabisiekab Kibagegeitab arabuk"
+ },
+ "KMF": {
+ "name": "Rabisiekab Komoro"
+ },
+ "LSL": {
+ "name": "Rabisiekab Lesoto"
+ },
+ "LYD": {
+ "name": "Rabisiekab Libya"
+ },
+ "MGA": {
+ "name": "Rabisiekab Malagasy"
+ },
+ "MRO": {
+ "name": "Rabisiekab Mauritania"
+ },
+ "MUR": {
+ "name": "Rabisiekab Mauritius"
+ },
+ "MAD": {
+ "name": "Rabisiekab Moroccan"
+ },
+ "NGN": {
+ "name": "Rabisiekab Nigeria"
+ },
+ "RWF": {
+ "name": "Rabisiekab Rwanda"
+ },
+ "STD": {
+ "name": "Rabisiekab Sao Tome ak Principe"
+ },
+ "SAR": {
+ "name": "Rabisiekab Saudia"
+ },
+ "SCR": {
+ "name": "Rabisiekab Shelisheli"
+ },
+ "CHF": {
+ "name": "Rabisiekab Swiss"
+ },
+ "TND": {
+ "name": "RabisiekabTunisia"
+ },
+ "MWK": {
+ "name": "Rabisiekaby Malawi"
+ },
+ "ZAR": {
+ "name": "Randitab Afrika nebo murot tai"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Ruble"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SOS": {
+ "name": "siligitab Somalia"
+ },
+ "TZS": {
+ "name": "silingitab Tanzania"
+ },
+ "UGX": {
+ "name": "Silingitab Uganda"
+ },
+ "KES": {
+ "name": "Silingitab ya Kenya",
+ "symbol": "Ksh"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "EUR": {
+ "name": "Yuroit",
+ "symbol": "€"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/km.json b/vendor/commerceguys/intl/resources/currency/km.json
new file mode 100644
index 000000000..d07787964
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/km.json
@@ -0,0 +1,498 @@
+{
+ "CZK": {
+ "name": "កូរុណា​សាធារណៈ​ឆេក"
+ },
+ "CRC": {
+ "name": "កូឡុង​កូស្តារីកា"
+ },
+ "SEK": {
+ "name": "ក្រូណា​ស៊ុយអែត"
+ },
+ "ISK": {
+ "name": "ក្រូណា​អ៊ីស្លង់"
+ },
+ "DKK": {
+ "name": "ក្រូណេ​ដាណាម៉ាក់"
+ },
+ "NOK": {
+ "name": "ក្រូណេ​ន័រវ៉េ"
+ },
+ "MWK": {
+ "name": "ក្វាចា​ម៉ាឡាវី"
+ },
+ "ZMW": {
+ "name": "ក្វាចាហ្សំប៊ី"
+ },
+ "AOA": {
+ "name": "ក្វាន់ហ្សា​អង់ហ្គោឡា"
+ },
+ "NIO": {
+ "name": "ខឌូបា​នីការ៉ាហ្គា"
+ },
+ "PGK": {
+ "name": "គីណាប៉ាពួញូហ្គីណេ"
+ },
+ "LAK": {
+ "name": "គីប​ឡាវ"
+ },
+ "MMK": {
+ "name": "គីយ៉ាត​ភូមា"
+ },
+ "HRK": {
+ "name": "គូណា​ក្រូអាត"
+ },
+ "HTG": {
+ "name": "គោឌី​ហៃទី"
+ },
+ "BTN": {
+ "name": "ញូលត្រឹម​ប៊ូតាន"
+ },
+ "PEN": {
+ "name": "ញូវ៉ូសូល​ប៉េរូ"
+ },
+ "GMD": {
+ "name": "ដាឡាស៊ី​ហ្គាំប៊ី"
+ },
+ "VND": {
+ "name": "ដុង​វៀតណាម",
+ "symbol": "₫"
+ },
+ "CAD": {
+ "name": "ដុល្លារ​កាណាដា",
+ "symbol": "CA$"
+ },
+ "XCD": {
+ "name": "ដុល្លារ​ការ៉ាប៊ីន​ខាង​កើត",
+ "symbol": "EC$"
+ },
+ "KYD": {
+ "name": "ដុល្លារ​កោះ​កៃម៉ែន"
+ },
+ "SBD": {
+ "name": "ដុល្លារ​កោះ​សូឡូម៉ុង"
+ },
+ "NAD": {
+ "name": "ដុល្លារ​ណាមីប៊ី"
+ },
+ "TWD": {
+ "name": "ដុល្លារ​តៃវ៉ាន់",
+ "symbol": "NT$"
+ },
+ "TTD": {
+ "name": "ដុល្លារ​ទ្រីនីដាដ និងតូបាហ្គោ"
+ },
+ "NZD": {
+ "name": "ដុល្លារ​នូវែលសេឡង់",
+ "symbol": "NZ$"
+ },
+ "BBD": {
+ "name": "ដុល្លារ​បាបាដុស"
+ },
+ "BSD": {
+ "name": "ដុល្លារ​បាហាម៉ា"
+ },
+ "BMD": {
+ "name": "ដុល្លារ​ប៊ឺមុយដា"
+ },
+ "BZD": {
+ "name": "ដុល្លារ​បេលី"
+ },
+ "BND": {
+ "name": "ដុល្លារ​ប្រុយណេ"
+ },
+ "LRD": {
+ "name": "ដុល្លារ​លីប៊ី"
+ },
+ "SGD": {
+ "name": "ដុល្លារ​​សិង្ហបូរី"
+ },
+ "SRD": {
+ "name": "ដុល្លារ​សូរីណាម"
+ },
+ "HKD": {
+ "name": "ដុល្លារ​ហុងកុង",
+ "symbol": "HK$"
+ },
+ "GYD": {
+ "name": "ដុល្លារ​ហ្គីយ៉ាន"
+ },
+ "FJD": {
+ "name": "ដុល្លារ​ហ្វីជី"
+ },
+ "JMD": {
+ "name": "ដុល្លារ​ហ្សាម៉ាអ៊ីក"
+ },
+ "USD": {
+ "name": "ដុល្លារ​អាមេរិក",
+ "symbol": "$"
+ },
+ "AUD": {
+ "name": "ដុល្លារ​អូស្ត្រាលី",
+ "symbol": "A$"
+ },
+ "AMD": {
+ "name": "ដ្រាំ​អាមេនី"
+ },
+ "KWD": {
+ "name": "ឌីណា​គុយវ៉ែត"
+ },
+ "TND": {
+ "name": "ឌីណាទុយនេស៊ី"
+ },
+ "BHD": {
+ "name": "ឌីណា​បារ៉ែន"
+ },
+ "MKD": {
+ "name": "ឌីណាម៉ាសេដូនី"
+ },
+ "LYD": {
+ "name": "ឌីណា​លីប៊ី"
+ },
+ "RSD": {
+ "name": "ឌីណាស៊ែប"
+ },
+ "JOD": {
+ "name": "ឌីណា​ហ្ស៊កដានី"
+ },
+ "DZD": {
+ "name": "ឌីណា​អាល់ស៊េរី"
+ },
+ "IQD": {
+ "name": "ឌីណា​អ៊ីរ៉ាក់"
+ },
+ "STD": {
+ "name": "ឌូប្រា​សៅតូម៉េ និងប្រាំងស៊ីប"
+ },
+ "MAD": {
+ "name": "ឌៀរហាំ​ម៉ារ៉ុក"
+ },
+ "AED": {
+ "name": "ឌៀរហាំ​អារ៉ាប់រួម"
+ },
+ "ERN": {
+ "name": "ណាក់ហ្វាអេរីទ្រា"
+ },
+ "NGN": {
+ "name": "ណៃរ៉ា​នីហ្សេរីយ៉ា"
+ },
+ "KZT": {
+ "name": "តង់ហ្គី​កាហ្សាក់ស្ថាន"
+ },
+ "BDT": {
+ "name": "តាកា​បង់ក្លាដែស"
+ },
+ "WST": {
+ "name": "តាឡា​សាម័រ"
+ },
+ "MNT": {
+ "name": "ទូរីក​ម៉ុងហ្គោលី"
+ },
+ "ETB": {
+ "name": "ប៊័រ​អេត្យូពី"
+ },
+ "THB": {
+ "name": "បាត​ថៃ",
+ "symbol": "฿"
+ },
+ "MOP": {
+ "name": "ប៉ាតាកា​ម៉ាកាវ"
+ },
+ "PAB": {
+ "name": "បាល់ប៉ៅ​ប៉ាណាម៉ា"
+ },
+ "TOP": {
+ "name": "ប៉ាអង់កា​តុងហ្គា"
+ },
+ "VEF": {
+ "name": "ប៊ូលីវ៉ា​វ៉េណេស៊ុយអេឡា"
+ },
+ "BOB": {
+ "name": "បូលីវីណូ​បូលីវី"
+ },
+ "COP": {
+ "name": "ប៉េសូកូឡុំប៊ី"
+ },
+ "CUP": {
+ "name": "ប៉េសូគុយបា"
+ },
+ "CUC": {
+ "name": "ប៉េសូ​គុយបាអាច​បម្លែង​បាន"
+ },
+ "CLP": {
+ "name": "ប៉េសូឈីលី"
+ },
+ "DOP": {
+ "name": "ប៉េសូដូមីនីក"
+ },
+ "MXN": {
+ "name": "ប៉េសូម៉ិកសិក",
+ "symbol": "MX$"
+ },
+ "PHP": {
+ "name": "ប៉េសូហ្វីលីពីន"
+ },
+ "UYU": {
+ "name": "ប៉េសូអ៊ុយរូហ្គាយ"
+ },
+ "ARS": {
+ "name": "ប៉េសួអាហ្សង់ទីន"
+ },
+ "FKP": {
+ "name": "ផោន​កោះ​ហ្វក់ឡែន"
+ },
+ "GBP": {
+ "name": "ផោនចក្រភពអង់គ្លេស",
+ "symbol": "£"
+ },
+ "LBP": {
+ "name": "ផោន​លីបង់"
+ },
+ "SYP": {
+ "name": "ផោន​ស៊ីរី"
+ },
+ "SDG": {
+ "name": "ផោន​ស៊ូដង់"
+ },
+ "SSP": {
+ "name": "ផោន​ស៊ូដង់​ខាង​ត្បូង"
+ },
+ "SHP": {
+ "name": "ផោន​សាំងហេឡេណា"
+ },
+ "GIP": {
+ "name": "ផោន​ហ្ស៊ីប្រាល់តា"
+ },
+ "EGP": {
+ "name": "ផោនអេហ្ស៊ីប"
+ },
+ "BWP": {
+ "name": "ពូឡា​បុតស្វាណា"
+ },
+ "BAM": {
+ "name": "ម៉ាក​អាច​បម្លែង​បាន​បូស្នី"
+ },
+ "TMT": {
+ "name": "ម៉ាណាត​តួកម៉េនីស្ថាន"
+ },
+ "AZN": {
+ "name": "ម៉ាណាត​អាស៊ែបៃហ្សង់"
+ },
+ "MZN": {
+ "name": "មីទីខល​ម៉ូសំប៊ិក"
+ },
+ "CNY": {
+ "name": "យ៉ន់​ចិន",
+ "symbol": "CN¥"
+ },
+ "JPY": {
+ "name": "យេន​ជប៉ុន",
+ "symbol": "JP¥"
+ },
+ "ZAR": {
+ "name": "រ៉ង់អាហ្វ្រិកខាងត្បូង"
+ },
+ "MYR": {
+ "name": "រីងហ្គីត​ម៉ាឡេស៊ី"
+ },
+ "SAR": {
+ "name": "រីយ៉ាល​អារ៉ាប៊ីសាអូឌីត"
+ },
+ "BYN": {
+ "name": "រ៉ូបល​បេឡារុស"
+ },
+ "BYR": {
+ "name": "រ៉ូបល​បេឡារុស (2000–2016)"
+ },
+ "RUB": {
+ "name": "រ៉ូបល​រុស្ស៊ី"
+ },
+ "NPR": {
+ "name": "រូពីនេប៉ាល់"
+ },
+ "PKR": {
+ "name": "រូពីប៉ាគីស្ថាន"
+ },
+ "MUR": {
+ "name": "រូពីម៉ូរីតានី"
+ },
+ "SCR": {
+ "name": "រូពី​សីស្ហែល"
+ },
+ "LKR": {
+ "name": "រូពីស្រីលង្កា"
+ },
+ "INR": {
+ "name": "រូពីឥណ្ឌា",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "រូពីឥណ្ឌូណេស៊ី"
+ },
+ "MVR": {
+ "name": "រ៉ូហ្វីយ៉ា​ម៉ាល់ឌីវ"
+ },
+ "KHR": {
+ "name": "រៀល​កម្ពុជា",
+ "symbol": "៛"
+ },
+ "QAR": {
+ "name": "រៀល​កាតា"
+ },
+ "BRL": {
+ "name": "រៀល​ប្រេស៊ីល",
+ "symbol": "R$"
+ },
+ "YER": {
+ "name": "រៀល​យេម៉ែន"
+ },
+ "OMR": {
+ "name": "រៀល​រូម៉ានី"
+ },
+ "IRR": {
+ "name": "រៀល​អ៊ីរ៉ង់"
+ },
+ "ALL": {
+ "name": "លិក​អាល់បានី"
+ },
+ "HNL": {
+ "name": "លិមពីរ៉ា​ហុងឌូរ៉ាស"
+ },
+ "TRY": {
+ "name": "លីរ៉ាទួរគី"
+ },
+ "BGN": {
+ "name": "លីវ​ប៊ុលហ្គារី"
+ },
+ "SZL": {
+ "name": "លីឡាងហ្គីនី​ស្វាស៊ីឡង់"
+ },
+ "SLL": {
+ "name": "លីអ៊ុន​សៀរ៉ាឡេអូន"
+ },
+ "MDL": {
+ "name": "លូ​ម៉ុលដាវី"
+ },
+ "RON": {
+ "name": "លូ​រូម៉ានី"
+ },
+ "VUV": {
+ "name": "វ៉ាទូវ៉ានូអាទូ"
+ },
+ "KPW": {
+ "name": "វ៉ុនកូរ៉េខាងជើង"
+ },
+ "KRW": {
+ "name": "វ៉ុនកូរ៉េខាងត្បូង",
+ "symbol": "₩"
+ },
+ "ILS": {
+ "name": "ស៊ីគែលថ្មីអ៊ីស្រាអែល",
+ "symbol": "₪"
+ },
+ "GHS": {
+ "name": "ស៊ីឌី​ហ្គាណា"
+ },
+ "KES": {
+ "name": "ស៊ីលិញ​កេនយ៉ា"
+ },
+ "TZS": {
+ "name": "ស៊ីលិញ​តង់សានី"
+ },
+ "SOS": {
+ "name": "ស៊ីលិញ​សូម៉ាលី"
+ },
+ "UGX": {
+ "name": "ស៊ីលិញ​អ៊ូហ្គង់ដា"
+ },
+ "KGS": {
+ "name": "សុម​កៀហ្ស៊ីស៊ីស្ថាន"
+ },
+ "UZS": {
+ "name": "សុមអ៊ូបេគីស្ថាន"
+ },
+ "TJS": {
+ "name": "សូមុនី​តាហ្ស៊ីគីស្ថាន"
+ },
+ "UAH": {
+ "name": "ហ៊ូនីយ៉ា​អ៊ុយក្រែន"
+ },
+ "ANG": {
+ "name": "ហ្គីឌិន​ហុល្លង់​អង់ទីលៀន"
+ },
+ "GTQ": {
+ "name": "ហ្គីស្សាល​ក្វាតេម៉ាឡា"
+ },
+ "PYG": {
+ "name": "ហ្គូរីនី​ប៉ារ៉ាហ្គាយ"
+ },
+ "HUF": {
+ "name": "ហ្វូរីន​ហុងគ្រី"
+ },
+ "XAF": {
+ "name": "ហ្វ្រង់ CFA អាហ្វ្រិកកណ្តាល",
+ "symbol": "FCFA"
+ },
+ "XOF": {
+ "name": "ហ្វ្រង់ CFA អាហ្វ្រិកខាងលិច",
+ "symbol": "CFA"
+ },
+ "XPF": {
+ "name": "ហ្វ្រង់ CFP",
+ "symbol": "CFPF"
+ },
+ "CDF": {
+ "name": "ហ្វ្រង់​កុងហ្គោ"
+ },
+ "KMF": {
+ "name": "ហ្វ្រង់​កូម័រ"
+ },
+ "DJF": {
+ "name": "ហ្វ្រង់​ជីប៊ូទី"
+ },
+ "BIF": {
+ "name": "ហ្វ្រង់​ប៊ូរុនឌី"
+ },
+ "RWF": {
+ "name": "ហ្វ្រង់​រវ៉ាន់ដា"
+ },
+ "CHF": {
+ "name": "ហ្វ្រង់ស្វីស"
+ },
+ "GNF": {
+ "name": "ហ្វ្រង់​ហ្គីណេ"
+ },
+ "AWG": {
+ "name": "ហ្វ្រ័ររិញ​អារ៉ូបា"
+ },
+ "PLN": {
+ "name": "ហ្សូទី​ប៉ូឡូញ"
+ },
+ "GEL": {
+ "name": "ឡារី​​ហ្សកហ្ស៊ី"
+ },
+ "MGA": {
+ "name": "អារៀរី​ម៉ាឡាហ្គាស៊ី"
+ },
+ "AFN": {
+ "name": "អាហ្វហ្គានី​អាហ្វហ្គានីស្ថាន"
+ },
+ "CVE": {
+ "name": "អ៊ីស្កូឌូ​កាប់វែរ"
+ },
+ "EUR": {
+ "name": "អឺរ៉ូ",
+ "symbol": "€"
+ },
+ "MRO": {
+ "name": "អ៊ូហ្គីយ៉ា​ម៉ូរីតានី"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/kn.json b/vendor/commerceguys/intl/resources/currency/kn.json
new file mode 100644
index 000000000..109a09d11
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/kn.json
@@ -0,0 +1,497 @@
+{
+ "XPF": {
+ "name": "[CFP] ಫ್ರಾಂಕ್",
+ "symbol": "CFPF"
+ },
+ "AOA": {
+ "name": "ಅಂಗೋಲಾದ ಕ್ವಾನ್ಝಾ"
+ },
+ "AZN": {
+ "name": "ಅಝರ್‌ಬೈಜಾನಿ ಮನಾತ್"
+ },
+ "AFN": {
+ "name": "ಅಫ್‌ಘನ್ ಅಫಗಾನಿ"
+ },
+ "USD": {
+ "name": "ಅಮೆರಿಕದ ಡಾಲರ್‌",
+ "symbol": "$"
+ },
+ "AWG": {
+ "name": "ಅರುಬನ್ ಫ್ಲೊರೀನ್‌‌"
+ },
+ "ARS": {
+ "name": "ಅರ್ಜೆಂಟಿನಾ ಪೆಸೊ"
+ },
+ "AMD": {
+ "name": "ಅರ್ಮೆನಿಯನ್ ಡ್ರಾಮ್"
+ },
+ "DZD": {
+ "name": "ಅಲ್ಗೇರಿಯನ್ ದಿನಾರ್"
+ },
+ "ALL": {
+ "name": "ಅಲ್‌ಬೇನಿಯನ್ ಲೆಕ್"
+ },
+ "AUD": {
+ "name": "ಆಸ್ಟ್ರೇಲಿಯನ್ ಡಾಲರ್‌",
+ "symbol": "A$"
+ },
+ "IDR": {
+ "name": "ಇಂಡೊನೇಷ್ಯಾ ರುಪೈ"
+ },
+ "ETB": {
+ "name": "ಇಥಿಯೋಪಿಯನ್ ಬಿರ್"
+ },
+ "IQD": {
+ "name": "ಇರಾಖಿಯನ್ ದಿನಾರ್"
+ },
+ "IRR": {
+ "name": "ಇರಾನಿಯನ್ ರಿಯಲ್"
+ },
+ "ILS": {
+ "name": "ಇಸ್ರೇಲಿ ನ್ಯೂ ಶೇಖಲ್",
+ "symbol": "₪"
+ },
+ "EGP": {
+ "name": "ಈಜಿಪ್ಷಿಯನ್ ಪೌಂಡ್‍"
+ },
+ "UAH": {
+ "name": "ಉಕ್ರೇನಿಯನ್ ಹ್ರಿವ್ನೀಯ"
+ },
+ "UGX": {
+ "name": "ಉಗಾಂಡನ್ ಶಿಲ್ಲಿಂಗ್"
+ },
+ "UZS": {
+ "name": "ಉಜ್ಬೇಕಿಸ್ತಾನ್ ಸೊಮ್"
+ },
+ "KPW": {
+ "name": "ಉತ್ತರ ಕೊರಿಯನ್ ವೋನ್"
+ },
+ "UYU": {
+ "name": "ಉರುಗ್ವೆಯ ಪೆಸೊ"
+ },
+ "ERN": {
+ "name": "ಎರಿತ್ರಿಯನ್ ನಕ್ಫಾ"
+ },
+ "ISK": {
+ "name": "ಐಸ್‌ಲ್ಯಾಂಡಿಕ್ ಕ್ರೋನಾ"
+ },
+ "OMR": {
+ "name": "ಒಮಾನಿ ರಿಯಲ್"
+ },
+ "KZT": {
+ "name": "ಕಜಾಕಿಸ್ತಾನಿ ತೆಂಗೆ"
+ },
+ "CDF": {
+ "name": "ಕಾಂಗೋಲೀಸ್ ಫ್ರಾಂಕ್"
+ },
+ "KHR": {
+ "name": "ಕಾಂಬೋಡಿಯನ್ ರಿಯಲ್"
+ },
+ "KGS": {
+ "name": "ಕಿರ್ಗಿಸ್ತಾನಿ ಸೋಮ್"
+ },
+ "KWD": {
+ "name": "ಕುವೈತೀ ದಿನಾರ್"
+ },
+ "CAD": {
+ "name": "ಕೆನಡಾದ ಡಾಲರ್",
+ "symbol": "CA$"
+ },
+ "KES": {
+ "name": "ಕೆನ್ಯನ್ ಶಿಲ್ಲಿಂಗ್"
+ },
+ "KYD": {
+ "name": "ಕೆಮ್ಯಾನ್‌ ಐಲ್ಯಾಂಡ್‌ನ ಡಾಲರ್‌"
+ },
+ "CVE": {
+ "name": "ಕೇಪ್ ವರ್ಡಿನ್ ಎಸ್‌ಕೂಡೊ"
+ },
+ "KMF": {
+ "name": "ಕೊಮೊರಿಯನ್ ಫ್ರಾಂಕ್"
+ },
+ "COP": {
+ "name": "ಕೊಲೊಂಬಿಯೋದ ಪೆಸೊ"
+ },
+ "CRC": {
+ "name": "ಕೋಸ್ಟ ರಿಕನ್ ಕೊಲನ್"
+ },
+ "CUC": {
+ "name": "ಕ್ಯುಬಾದ ಪರಿವರ್ತನೀಯ ಪೆಸೊ"
+ },
+ "CUP": {
+ "name": "ಕ್ಯೂಬಾದ ಪೆಸೊ"
+ },
+ "HRK": {
+ "name": "ಕ್ರೊಯೆಷ್ಯಾದ ಕೂನಾ"
+ },
+ "QAR": {
+ "name": "ಖತಾರಿ ರಿಯಲ್"
+ },
+ "GNF": {
+ "name": "ಗಿನಿಯನ್ ಫ್ರಾಂಕ್"
+ },
+ "GIP": {
+ "name": "ಗಿಬ್ರಾಲ್ಟರ್ ಪೌಂಡ್"
+ },
+ "GYD": {
+ "name": "ಗುಯಾನೀಸ್‌ ಡಾಲರ್‌"
+ },
+ "GMD": {
+ "name": "ಗ್ಯಾಂಬಿಯಾದ ದಲಾಸಿ"
+ },
+ "GTQ": {
+ "name": "ಗ್ವಾಟೆಮಾಲಾದ ಕುಯಿಟ್ಸಲ್‌‌"
+ },
+ "GHS": {
+ "name": "ಘಾನಾದ ಸೆದಿ"
+ },
+ "CLP": {
+ "name": "ಚಿಲಿಯ ಪೆಸೊ"
+ },
+ "CNY": {
+ "name": "ಚೈನೀಸ್ ಯುವಾನ್",
+ "symbol": "CN¥"
+ },
+ "JPY": {
+ "name": "ಜಪಾನೀಸ್ ಯೆನ್",
+ "symbol": "JP¥"
+ },
+ "JMD": {
+ "name": "ಜಮೈಕನ್ ಡಾಲರ್"
+ },
+ "ZMW": {
+ "name": "ಜಾಂಬಿಯಾ ಕ್ವಾಚ"
+ },
+ "GEL": {
+ "name": "ಜಾರ್ಜಿಯಾದ ಲಾರಿ"
+ },
+ "DJF": {
+ "name": "ಜಿಬೊಟಿಯನ್ ಫ್ರಾಂಕ್"
+ },
+ "JOD": {
+ "name": "ಜೋರ್ಡಾನಿಯನ್ ದಿನಾರ್"
+ },
+ "CZK": {
+ "name": "ಝೆಕ್ ಗಣರಾಜ್ಯ ಕೊರೂನ"
+ },
+ "TRY": {
+ "name": "ಟರ್ಕಿಶ್ ಲಿರಾ"
+ },
+ "TMT": {
+ "name": "ಟರ್ಕ್‍ಮೆನಿಸ್ತಾನ್ ಮನಾತ್"
+ },
+ "TOP": {
+ "name": "ಟೊಂಗಾ ಪಾಂಗ"
+ },
+ "TTD": {
+ "name": "ಟ್ರಿನಿಡಾಡ್ ಮತ್ತು ಟೊಬಾಗೊ ಡಾಲರ್"
+ },
+ "DOP": {
+ "name": "ಡೊಮಿನಿಕನ್ ಪೆಸೊ"
+ },
+ "DKK": {
+ "name": "ಡ್ಯಾನಿಶ್ ಕ್ರೋನ್"
+ },
+ "TJS": {
+ "name": "ತಜಕಿಸ್ತಾನಿ ಸೊಮೋನಿ"
+ },
+ "TZS": {
+ "name": "ತಾನ್‌ಜೇನಿಯನ್ ಶಿಲ್ಲಿಂಗ್"
+ },
+ "TND": {
+ "name": "ತುನೀಸಿಯನ್ ದಿನಾರ್"
+ },
+ "THB": {
+ "name": "ಥಾಯ್ ಬಹ್ತ್",
+ "symbol": "฿"
+ },
+ "ZAR": {
+ "name": "ದಕ್ಷಿಣ ಆಫ್ರಿಕನ್ ರಾಂಡ್"
+ },
+ "KRW": {
+ "name": "ದಕ್ಷಿಣ ಕೊರಿಯನ್ ವೊನ್",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "ದಕ್ಷಿಣ ಸೂಡಾನೀಸ್ ಪೌಂಡ್‍"
+ },
+ "NAD": {
+ "name": "ನಮೀಬಿಯನ್ ಡಾಲರ್"
+ },
+ "NOK": {
+ "name": "ನಾರ್ವೇಯ ಕ್ರೋನ್"
+ },
+ "NIO": {
+ "name": "ನಿಕಾರಗ್ವಾದ ಕರ್ದೊಬಾ"
+ },
+ "ANG": {
+ "name": "ನೆದರ್ಲೆಂಡ್ಸ್ ಆಂಟಿಲಿಯನ್ ಗಿಲ್ಡರ್"
+ },
+ "NPR": {
+ "name": "ನೇಪಾಳದ ರುಪೀ"
+ },
+ "NGN": {
+ "name": "ನೈಜೀರಿಯಾದ ನೇರಾ"
+ },
+ "TWD": {
+ "name": "ನ್ಯೂ ತೈವಾನ್ ಡಾಲರ್",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "ನ್ಯೂಜಿಲ್ಯಾಂಡ್ ಡಾಲರ್",
+ "symbol": "NZ$"
+ },
+ "PAB": {
+ "name": "ಪನಾಮಾನಿಯನ್ ಬಲ್ಬೋವಾ"
+ },
+ "PGK": {
+ "name": "ಪಪುವಾ ನ್ಯೂ ಗಿನಿಯನ್ ಕಿನಾ"
+ },
+ "XOF": {
+ "name": "ಪಶ್ಚಿಮ ಆಫ್ರಿಕಾದ [CFA] ಫ್ರಾಂಕ್",
+ "symbol": "CFA"
+ },
+ "PKR": {
+ "name": "ಪಾಕಿಸ್ತಾನದ ರುಪೀ"
+ },
+ "XCD": {
+ "name": "ಪೂರ್ವ ಕೆರೀಬಿಯನ್ ಡಾಲರ್",
+ "symbol": "EC$"
+ },
+ "PYG": {
+ "name": "ಪೆರುಗ್ವೇಯ ಗ್ವಾರನೀ"
+ },
+ "PEN": {
+ "name": "ಪೆರುವಿಯನ್ ನುಯೆವೊ ಸೊಲ್"
+ },
+ "PLN": {
+ "name": "ಪೊಲಿಶ್ ಝ್ಲೋಟಿ"
+ },
+ "FKP": {
+ "name": "ಫಾಲ್ಕ್‌ಲ್ಯಾಂಡ್ ದ್ವೀಪಗಳ ಪೌಂಡ್"
+ },
+ "FJD": {
+ "name": "ಫಿಜಿಯನ್ ಡಾಲರ್"
+ },
+ "PHP": {
+ "name": "ಫಿಲಿಪ್ಪೈನ್ ಪೆಸೊ"
+ },
+ "BBD": {
+ "name": "ಬರ್ಬಾಡಿಯನ್ ಡಾಲರ್"
+ },
+ "BMD": {
+ "name": "ಬರ್ಮುಡನ್ ಡಾಲರ್"
+ },
+ "BGN": {
+ "name": "ಬಲ್ಗೇರಿಯನ್ ಲೆವ್"
+ },
+ "BSD": {
+ "name": "ಬಹಾಮಿಯನ್ ಡಾಲರ್"
+ },
+ "BHD": {
+ "name": "ಬಹ್‌‌ರೈನಿ ದಿನಾರ್"
+ },
+ "BDT": {
+ "name": "ಬಾಂಗ್ಲಾದೇಶದ ಟಾಕಾ"
+ },
+ "BIF": {
+ "name": "ಬುರುಂದಿಯನ್ ಫ್ರಾಂಕ್"
+ },
+ "BYN": {
+ "name": "ಬೆಲಾರುಸಿಯನ್ ರೂಬಲ್"
+ },
+ "BYR": {
+ "name": "ಬೆಲಾರುಸಿಯನ್ ರೂಬಲ್ (2000–2016)"
+ },
+ "BZD": {
+ "name": "ಬೆಲೀಜ್ ಡಾಲರ್"
+ },
+ "BOB": {
+ "name": "ಬೊಲಿವಿಯಾದ ಬೊಲಿವಿಯಾನೊ"
+ },
+ "BWP": {
+ "name": "ಬೋಟ್ಸ್‌ವಾನನ್ ಪುಲಾ"
+ },
+ "BAM": {
+ "name": "ಬೋಸ್ನಿಯಾ-ಹರ್ಜ್‌ಗೋವಿನ ಪರಿವರ್ತನೀಯ ಗುರುತು"
+ },
+ "GBP": {
+ "name": "ಬ್ರಿಟೀಷ್ ಪೌಂಡ್",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "ಬ್ರೂನಿ ಡಾಲರ್"
+ },
+ "BRL": {
+ "name": "ಬ್ರೆಜಿಲಿಯನ್‌ ರಿಯಲ್",
+ "symbol": "R$"
+ },
+ "INR": {
+ "name": "ಭಾರತೀಯ ರೂಪಾಯಿ",
+ "symbol": "₹"
+ },
+ "BTN": {
+ "name": "ಭೂತಾನೀಸ್ ನುಲ್ತರಮ್"
+ },
+ "MNT": {
+ "name": "ಮಂಗೋಲಿಯಾದ ತುಗ್ರಿಕ್‌‌"
+ },
+ "MOP": {
+ "name": "ಮಕ್ಯೂದ ಪಟಕಾ"
+ },
+ "MGA": {
+ "name": "ಮಲಗಾಸಿ ಅರಿಯಾರಿ"
+ },
+ "MWK": {
+ "name": "ಮಲಾವಿಯ ಕ್ವಾಚ"
+ },
+ "MYR": {
+ "name": "ಮಲೇಶಿಯನ್ ರಿಂಗಿಟ್ಟ್"
+ },
+ "MDL": {
+ "name": "ಮಲ್ದೋವಾದ ಲೆವೂ"
+ },
+ "MUR": {
+ "name": "ಮಾರಿಷಿಯನ್ ರುಪಿ"
+ },
+ "MVR": {
+ "name": "ಮಾಲ್ಡೀವಿಯನ್ ರುಫಿಯಾ"
+ },
+ "MXN": {
+ "name": "ಮೆಕ್ಸಿಕೊದ ಪೆಸೊ",
+ "symbol": "MX$"
+ },
+ "MKD": {
+ "name": "ಮೆಸಡೋನಿಯನ್ ದಿನಾರ್"
+ },
+ "MZN": {
+ "name": "ಮೊಝಾಂಬಿಕನ್ ಮೆಟಿಕಲ್"
+ },
+ "MAD": {
+ "name": "ಮೊರೊಕನ್ ದಿರ್‌ಹಮ್"
+ },
+ "MRO": {
+ "name": "ಮೌರೀಶಿಯನಿಯನ್ ಒಗಿಯ"
+ },
+ "MMK": {
+ "name": "ಮ್ಯಾನ್ಮಾರ್ ಕ್ಯಾಟ್"
+ },
+ "EUR": {
+ "name": "ಯೂರೊ",
+ "symbol": "€"
+ },
+ "YER": {
+ "name": "ಯೆಮೆನಿ ರಿಯಲ್"
+ },
+ "RUB": {
+ "name": "ರಶಿಯನ್ ರೂಬಲ್"
+ },
+ "RWF": {
+ "name": "ರುವಾಂಡನ್ ಫ್ರಾಂಕ್"
+ },
+ "RON": {
+ "name": "ರೊಮೇನಿಯನ್ ಲೆವು"
+ },
+ "LYD": {
+ "name": "ಲಿಬಿಯಾದ ದಿನಾರ್‌"
+ },
+ "LRD": {
+ "name": "ಲಿಬೇರಿಯನ್ ಡಾಲರ್"
+ },
+ "LBP": {
+ "name": "ಲೆಬೆನೀಸ್ ಪೌಂಡ್"
+ },
+ "LSL": {
+ "name": "ಲೆಸೊತೊ ಲೊತಿ"
+ },
+ "LAK": {
+ "name": "ಲೋಟಿಯನ್ ಕಿಪ್"
+ },
+ "VUV": {
+ "name": "ವನೂತು ವತು"
+ },
+ "VND": {
+ "name": "ವಿಯೆಟ್ನಾಮೀಸ್ ಡಾಂಗ್",
+ "symbol": "₫"
+ },
+ "VEF": {
+ "name": "ವೆನಿಜುಲಿಯನ್ ಬೊಲಿವರ್"
+ },
+ "LKR": {
+ "name": "ಶ್ರೀಲಂಕಾದ ರುಪೀ"
+ },
+ "AED": {
+ "name": "ಸಂಯುಕ್ತ ಅರಬ್‌ ಎಮಿರೇಟ್‌‌ಗಳ ದಿರಾಮ್‌‌"
+ },
+ "WST": {
+ "name": "ಸಮೋನ್ ತಲಾ"
+ },
+ "STD": {
+ "name": "ಸಾವೊ ಟೋಮ್ ಮತ್ತು ಪ್ರಿನ್ಸಿಪ್ ದೊಬ್ರಾ"
+ },
+ "SGD": {
+ "name": "ಸಿಂಗಾಪುರ್ ಡಾಲರ್‌"
+ },
+ "SLL": {
+ "name": "ಸಿಯೆರಾ ಲಿಯೋನಿಯನ್ ಲಿಯೋನ್"
+ },
+ "SYP": {
+ "name": "ಸಿರಿಯನ್ ಪೌಂಡ್"
+ },
+ "SDG": {
+ "name": "ಸುಡಾನೀಸ್ ಪೌಂಡ್"
+ },
+ "SRD": {
+ "name": "ಸುರಿನಾಮೀಸ್ ಡಾಲರ್"
+ },
+ "SCR": {
+ "name": "ಸೆಚೊಲಿಯೊಸ್ ರುಪಿ"
+ },
+ "RSD": {
+ "name": "ಸೆರ್ಬಿಯನ್ ದಿನಾರ್"
+ },
+ "SHP": {
+ "name": "ಸೇಂಟ್ ಹೆಲೇನಾ ಪೌಂಡ್"
+ },
+ "SOS": {
+ "name": "ಸೊಮಾಲಿ ಶಿಲ್ಲಿಂಗ್"
+ },
+ "SBD": {
+ "name": "ಸೊಲೊಮನ್ ದ್ವೀಪಗಳ ಡಾಲರ್"
+ },
+ "SAR": {
+ "name": "ಸೌದಿ ರಿಯಾಲ್"
+ },
+ "SZL": {
+ "name": "ಸ್ವಾಜಿ ಲಿಲಂಗೆನಿ"
+ },
+ "CHF": {
+ "name": "ಸ್ವಿಸ್ ಫ್ರಾಂಕ್"
+ },
+ "SEK": {
+ "name": "ಸ್ವೀಡಿಷ್ ಕ್ರೋನಾ"
+ },
+ "HUF": {
+ "name": "ಹಂಗೇರಿಯನ್ ಫೋರಿಂಟ್"
+ },
+ "HKD": {
+ "name": "ಹಾಂಗ್ ಕಾಂಗ್ ಡಾಲರ್",
+ "symbol": "HK$"
+ },
+ "HTG": {
+ "name": "ಹೈಟಿಯ ಗೋರ್ದೆ"
+ },
+ "HNL": {
+ "name": "ಹೊಂಡುರಾನ್‌ ಲೆಂಪಿರಾ"
+ },
+ "XAF": {
+ "name": "CFA ಫ್ರಾಂಕ್ BEAC",
+ "symbol": "FCFA"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/ko.json b/vendor/commerceguys/intl/resources/currency/ko.json
new file mode 100644
index 000000000..30bf96ab3
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/ko.json
@@ -0,0 +1,496 @@
+{
+ "GHS": {
+ "name": "가나 시디"
+ },
+ "GYD": {
+ "name": "가이아나 달러"
+ },
+ "GMD": {
+ "name": "감비아 달라시"
+ },
+ "GTQ": {
+ "name": "과테말라 케트살"
+ },
+ "GNF": {
+ "name": "기니 프랑"
+ },
+ "NAD": {
+ "name": "나미비아 달러"
+ },
+ "SSP": {
+ "name": "남수단 파운드"
+ },
+ "ZAR": {
+ "name": "남아프리카 랜드"
+ },
+ "ANG": {
+ "name": "네덜란드령 안틸레스 길더"
+ },
+ "NPR": {
+ "name": "네팔 루피"
+ },
+ "NOK": {
+ "name": "노르웨이 크로네"
+ },
+ "NZD": {
+ "name": "뉴질랜드 달러",
+ "symbol": "NZ$"
+ },
+ "NGN": {
+ "name": "니제르 나이라"
+ },
+ "NIO": {
+ "name": "니카라과 코르도바 오로"
+ },
+ "KRW": {
+ "name": "대한민국 원",
+ "symbol": "₩"
+ },
+ "DKK": {
+ "name": "덴마크 크로네"
+ },
+ "DOP": {
+ "name": "도미니카 페소"
+ },
+ "XCD": {
+ "name": "동카리브 달러",
+ "symbol": "EC$"
+ },
+ "LAK": {
+ "name": "라오스 키프"
+ },
+ "LRD": {
+ "name": "라이베리아 달러"
+ },
+ "RUB": {
+ "name": "러시아 루블"
+ },
+ "LBP": {
+ "name": "레바논 파운드"
+ },
+ "LSL": {
+ "name": "레소토 로티"
+ },
+ "RON": {
+ "name": "루마니아 레우"
+ },
+ "RWF": {
+ "name": "르완다 프랑"
+ },
+ "LYD": {
+ "name": "리비아 디나르"
+ },
+ "MGA": {
+ "name": "마다가스카르 아리아리"
+ },
+ "MOP": {
+ "name": "마카오 파타카"
+ },
+ "MKD": {
+ "name": "마케도니아 디나르"
+ },
+ "MWK": {
+ "name": "말라위 콰쳐"
+ },
+ "MYR": {
+ "name": "말레이시아 링깃"
+ },
+ "MXN": {
+ "name": "멕시코 페소",
+ "symbol": "MX$"
+ },
+ "MAD": {
+ "name": "모로코 디렘"
+ },
+ "MUR": {
+ "name": "모리셔스 루피"
+ },
+ "MRO": {
+ "name": "모리타니 우기야"
+ },
+ "MZN": {
+ "name": "모잠비크 메티칼"
+ },
+ "MDL": {
+ "name": "몰도바 레이"
+ },
+ "MVR": {
+ "name": "몰디브 제도 루피아"
+ },
+ "MNT": {
+ "name": "몽골 투그릭"
+ },
+ "USD": {
+ "name": "미국 달러",
+ "symbol": "US$"
+ },
+ "MMK": {
+ "name": "미얀마 키얏"
+ },
+ "VUV": {
+ "name": "바누아투 바투"
+ },
+ "BHD": {
+ "name": "바레인 디나르"
+ },
+ "BBD": {
+ "name": "바베이도스 달러"
+ },
+ "BSD": {
+ "name": "바하마 달러"
+ },
+ "BDT": {
+ "name": "방글라데시 타카"
+ },
+ "BMD": {
+ "name": "버뮤다 달러"
+ },
+ "VEF": {
+ "name": "베네수엘라 볼리바르"
+ },
+ "VND": {
+ "name": "베트남 동",
+ "symbol": "₫"
+ },
+ "BYN": {
+ "name": "벨라루스 루블"
+ },
+ "BYR": {
+ "name": "벨라루스 루블 (2000–2016)"
+ },
+ "BZD": {
+ "name": "벨리즈 달러"
+ },
+ "BAM": {
+ "name": "보스니아-헤르체고비나 태환 마르크"
+ },
+ "BWP": {
+ "name": "보츠와나 폴라"
+ },
+ "BOB": {
+ "name": "볼리비아노"
+ },
+ "BND": {
+ "name": "부루나이 달러"
+ },
+ "BIF": {
+ "name": "부룬디 프랑"
+ },
+ "BTN": {
+ "name": "부탄 눌투눔"
+ },
+ "BGN": {
+ "name": "불가리아 레프"
+ },
+ "BRL": {
+ "name": "브라질 레알",
+ "symbol": "R$"
+ },
+ "SAR": {
+ "name": "사우디아라비아 리얄"
+ },
+ "STD": {
+ "name": "상투메 프린시페 도브라"
+ },
+ "WST": {
+ "name": "서 사모아 탈라"
+ },
+ "XOF": {
+ "name": "서아프리카 CFA 프랑",
+ "symbol": "CFA"
+ },
+ "RSD": {
+ "name": "세르비아 디나르"
+ },
+ "SCR": {
+ "name": "세이셸 루피"
+ },
+ "SHP": {
+ "name": "세인트헬레나 파운드"
+ },
+ "SOS": {
+ "name": "소말리아 실링"
+ },
+ "SBD": {
+ "name": "솔로몬 제도 달러"
+ },
+ "SDG": {
+ "name": "수단 파운드"
+ },
+ "SRD": {
+ "name": "수리남 달러"
+ },
+ "LKR": {
+ "name": "스리랑카 루피"
+ },
+ "SZL": {
+ "name": "스와질란드 릴랑게니"
+ },
+ "SEK": {
+ "name": "스웨덴 크로나"
+ },
+ "CHF": {
+ "name": "스위스 프랑"
+ },
+ "SYP": {
+ "name": "시리아 파운드"
+ },
+ "SLL": {
+ "name": "시에라리온 리온"
+ },
+ "TWD": {
+ "name": "신 타이완 달러",
+ "symbol": "NT$"
+ },
+ "TRY": {
+ "name": "신 터키 리라"
+ },
+ "SGD": {
+ "name": "싱가폴 달러"
+ },
+ "AED": {
+ "name": "아랍에미리트 디르함"
+ },
+ "AWG": {
+ "name": "아루바 플로린"
+ },
+ "AMD": {
+ "name": "아르메니아 드람"
+ },
+ "ARS": {
+ "name": "아르헨티나 페소"
+ },
+ "ISK": {
+ "name": "아이슬란드 크로나"
+ },
+ "AZN": {
+ "name": "아제르바이잔 마나트"
+ },
+ "AFN": {
+ "name": "아프가니스탄 아프가니"
+ },
+ "ALL": {
+ "name": "알바니아 레크"
+ },
+ "DZD": {
+ "name": "알제리 디나르"
+ },
+ "AOA": {
+ "name": "앙골라 콴자"
+ },
+ "ERN": {
+ "name": "에리트리아 나크파"
+ },
+ "ETB": {
+ "name": "에티오피아 비르"
+ },
+ "SVC": {
+ "name": "엘살바도르 콜론"
+ },
+ "YER": {
+ "name": "예멘 리알"
+ },
+ "OMR": {
+ "name": "오만 리얄"
+ },
+ "HNL": {
+ "name": "온두라스 렘피라"
+ },
+ "JOD": {
+ "name": "요르단 디나르"
+ },
+ "UGX": {
+ "name": "우간다 실링"
+ },
+ "UYU": {
+ "name": "우루과이 페소 우루과요"
+ },
+ "UZS": {
+ "name": "우즈베키스탄 숨"
+ },
+ "UAH": {
+ "name": "우크라이나 그리브나"
+ },
+ "EUR": {
+ "name": "유로",
+ "symbol": "€"
+ },
+ "IQD": {
+ "name": "이라크 디나르"
+ },
+ "IRR": {
+ "name": "이란 리얄"
+ },
+ "ILS": {
+ "name": "이스라엘 신권 세켈",
+ "symbol": "₪"
+ },
+ "EGP": {
+ "name": "이집트 파운드"
+ },
+ "INR": {
+ "name": "인도 루피",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "인도네시아 루피아"
+ },
+ "JPY": {
+ "name": "일본 엔화",
+ "symbol": "JP¥"
+ },
+ "JMD": {
+ "name": "자메이카 달러"
+ },
+ "ZMW": {
+ "name": "잠비아 콰쳐"
+ },
+ "KPW": {
+ "name": "조선 민주주의 인민 공화국 원"
+ },
+ "GEL": {
+ "name": "조지아 라리"
+ },
+ "CNY": {
+ "name": "중국 위안화",
+ "symbol": "CN¥"
+ },
+ "XAF": {
+ "name": "중앙아프리카 CFA 프랑",
+ "symbol": "FCFA"
+ },
+ "DJF": {
+ "name": "지부티 프랑"
+ },
+ "GIP": {
+ "name": "지브롤터 파운드"
+ },
+ "ZWL": {
+ "name": "짐바브웨 달러 (2009)"
+ },
+ "CZK": {
+ "name": "체코 공화국 코루나"
+ },
+ "CLP": {
+ "name": "칠레 페소"
+ },
+ "CVE": {
+ "name": "카보베르데 에스쿠도"
+ },
+ "KZT": {
+ "name": "카자흐스탄 텐게"
+ },
+ "QAR": {
+ "name": "카타르 리얄"
+ },
+ "KHR": {
+ "name": "캄보디아 리얄"
+ },
+ "CAD": {
+ "name": "캐나다 달러",
+ "symbol": "CA$"
+ },
+ "KES": {
+ "name": "케냐 실링"
+ },
+ "KYD": {
+ "name": "케이맨 제도 달러"
+ },
+ "KMF": {
+ "name": "코모르 프랑"
+ },
+ "CRC": {
+ "name": "코스타리카 콜론"
+ },
+ "COP": {
+ "name": "콜롬비아 페소"
+ },
+ "CDF": {
+ "name": "콩고 프랑 콩골라스"
+ },
+ "CUC": {
+ "name": "쿠바 태환 페소"
+ },
+ "CUP": {
+ "name": "쿠바 페소"
+ },
+ "KWD": {
+ "name": "쿠웨이트 디나르"
+ },
+ "HRK": {
+ "name": "크로아티아 쿠나"
+ },
+ "KGS": {
+ "name": "키르기스스탄 솜"
+ },
+ "TJS": {
+ "name": "타지키스탄 소모니"
+ },
+ "TZS": {
+ "name": "탄자니아 실링"
+ },
+ "THB": {
+ "name": "태국 바트"
+ },
+ "TOP": {
+ "name": "통가 파앙가"
+ },
+ "TMT": {
+ "name": "투르크메니스탄 마나트"
+ },
+ "TND": {
+ "name": "튀니지 디나르"
+ },
+ "TTD": {
+ "name": "트리니다드 토바고 달러"
+ },
+ "PAB": {
+ "name": "파나마 발보아"
+ },
+ "PYG": {
+ "name": "파라과이 과라니"
+ },
+ "GBP": {
+ "name": "파운드",
+ "symbol": "£"
+ },
+ "PKR": {
+ "name": "파키스탄 루피"
+ },
+ "PGK": {
+ "name": "파푸아뉴기니 키나"
+ },
+ "PEN": {
+ "name": "페루 누에보 솔"
+ },
+ "FKP": {
+ "name": "포클랜드제도 파운드"
+ },
+ "PLN": {
+ "name": "폴란드 즐로티"
+ },
+ "FJD": {
+ "name": "피지 달러"
+ },
+ "PHP": {
+ "name": "필리핀 페소"
+ },
+ "HTG": {
+ "name": "하이티 구르드"
+ },
+ "HUF": {
+ "name": "헝가리 포린트"
+ },
+ "AUD": {
+ "name": "호주 달러",
+ "symbol": "AU$"
+ },
+ "HKD": {
+ "name": "홍콩 달러",
+ "symbol": "HK$"
+ },
+ "XPF": {
+ "name": "CFP 프랑",
+ "symbol": "CFPF"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/ks.json b/vendor/commerceguys/intl/resources/currency/ks.json
new file mode 100644
index 000000000..0b7d22eb3
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/ks.json
@@ -0,0 +1,496 @@
+{
+ "CVE": {
+ "name": "Cape Verdean Escudo"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ },
+ "AZN": {
+ "name": "آزَرباجانی مَنَٹ"
+ },
+ "AUD": {
+ "name": "آسٹریلِیَن ڈالَر",
+ "symbol": "A$"
+ },
+ "ARS": {
+ "name": "أرجَنٹیٖن پِسو"
+ },
+ "ALL": {
+ "name": "اٮ۪لبینِیَن لِک"
+ },
+ "DZD": {
+ "name": "اٮ۪لجیرِیَن ڈیٖنار"
+ },
+ "AOA": {
+ "name": "اٮ۪نگولَن کوانزا"
+ },
+ "UZS": {
+ "name": "اُبیکِستان سوم"
+ },
+ "ETB": {
+ "name": "اِتھوپِیَن بِر"
+ },
+ "EGP": {
+ "name": "اِجِپٹِیَن پَوُنڑ"
+ },
+ "AMD": {
+ "name": "اَرمانٮ۪ن ڈرٛٮ۪م"
+ },
+ "AWG": {
+ "name": "اَروبَن فِلورِن"
+ },
+ "UYU": {
+ "name": "اُروٗگایَن پیٚسو"
+ },
+ "ILS": {
+ "name": "اِزرٲیِلی نٔوۍ شٮ۪قٕل",
+ "symbol": "₪"
+ },
+ "AFN": {
+ "name": "افغان افغٲنی"
+ },
+ "UGX": {
+ "name": "اُگاداہُک شِلِنٛگ"
+ },
+ "IDR": {
+ "name": "اِنڑونیشیاہُک رُپِیاہ"
+ },
+ "OMR": {
+ "name": "اومِنی رِیال"
+ },
+ "IQD": {
+ "name": "ایٖراقُک دیٖنار"
+ },
+ "IRR": {
+ "name": "ایٖرانُک رِیال"
+ },
+ "ISK": {
+ "name": "اَیسلینٛڑُک کرٛونا"
+ },
+ "BBD": {
+ "name": "بابیڑِیَن ڈالَر"
+ },
+ "BHD": {
+ "name": "بحریٖنی دیٖنار"
+ },
+ "BRL": {
+ "name": "برٛازیٖلین رِیَل",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "برطٲنوی پاونٛڑ سٹٔرلِنٛگ",
+ "symbol": "£"
+ },
+ "BMD": {
+ "name": "بٔرمیوٗڑَن ڈالَر"
+ },
+ "BIF": {
+ "name": "بُرُنڑِین فرینٛک"
+ },
+ "BND": {
+ "name": "برٛونی ڈالَر"
+ },
+ "BZD": {
+ "name": "بِلِزی ڈالر"
+ },
+ "BYN": {
+ "name": "بِلیروشِیَن رِبٕل"
+ },
+ "BYR": {
+ "name": "بِلیروشِیَن رِبٕل (۲۰۰۰–۲۰۱۶)"
+ },
+ "BDT": {
+ "name": "بَنگلادیٖشی ٹَکا"
+ },
+ "BSD": {
+ "name": "بہامِیَن ڈالر"
+ },
+ "BWP": {
+ "name": "بوٹٕسوانَن پُلا"
+ },
+ "BTN": {
+ "name": "بوٗٹینیٖز نگُلٹرٛم"
+ },
+ "BAM": {
+ "name": "بوزنِیاہَرزِگووِنا کَنوٲٹیبٕل مارٕک"
+ },
+ "BOB": {
+ "name": "بولِوِیَن بولوینو"
+ },
+ "BGN": {
+ "name": "بیلگیرِیَن ہاڑ لِو"
+ },
+ "PKR": {
+ "name": "پاکِستٲنۍ رۄپَے"
+ },
+ "PAB": {
+ "name": "پانامانِیَن بالبوز"
+ },
+ "PYG": {
+ "name": "پٮ۪رٮ۪گیوٗوَیَن گُعارانی"
+ },
+ "PEN": {
+ "name": "پٔریوٗوِیَن نیوٗاوز سولٕز"
+ },
+ "PHP": {
+ "name": "پھِلِپایِٔن پٮ۪سو"
+ },
+ "PLN": {
+ "name": "پولِش زلوٹی"
+ },
+ "TJS": {
+ "name": "تاجِکتانُک سَمونی"
+ },
+ "TRY": {
+ "name": "تُرکیہُک لیرا"
+ },
+ "TZS": {
+ "name": "تَنزانیاہُک شِلِنٛگ"
+ },
+ "THB": {
+ "name": "تھایھک بات"
+ },
+ "TTD": {
+ "name": "ٹرِنہِ ڈیڈ تہٕ ٹوبیگو ڈالَر"
+ },
+ "TND": {
+ "name": "ٹُنیشیاہُک دیٖنار"
+ },
+ "TOP": {
+ "name": "ٹونگَن پانٛگا"
+ },
+ "JPY": {
+ "name": "جاپانُک یَن",
+ "symbol": "JP¥"
+ },
+ "GEL": {
+ "name": "جارجِیَن لاری"
+ },
+ "JOD": {
+ "name": "جَرڑینیاہُک دیٖنار"
+ },
+ "JMD": {
+ "name": "جَمَیکاہُک ڑالَر"
+ },
+ "KPW": {
+ "name": "جنوٗبی کورِیَن وَن"
+ },
+ "CLP": {
+ "name": "چِلِن پِسو"
+ },
+ "CZK": {
+ "name": "چیک کوریٖنا"
+ },
+ "CNY": {
+ "name": "چینیٖز یَن رِنمِنبی",
+ "symbol": "CN¥"
+ },
+ "HKD": {
+ "name": "حانٛگ کانٛگُک ڑالَر",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "حَنگیرِیَن فورِنٛٹ"
+ },
+ "HNL": {
+ "name": "حونڑورنُک لٮ۪مپیٖرا"
+ },
+ "HTG": {
+ "name": "حیشَنُک گوڑ"
+ },
+ "DKK": {
+ "name": "ڈٔنِش کرٛون"
+ },
+ "DOP": {
+ "name": "ڈومِنِکَن پِسو"
+ },
+ "ERN": {
+ "name": "رِٹریٖن نَفکا"
+ },
+ "RUB": {
+ "name": "رٔشیَن رَبٕل"
+ },
+ "RWF": {
+ "name": "روانٛڑَن فرانٛک"
+ },
+ "RON": {
+ "name": "رومانِیَن لٮ۪یوٗ"
+ },
+ "ZMW": {
+ "name": "زِمبابیُک کواچا"
+ },
+ "ZAR": {
+ "name": "ساوُتھ افریٖکاہُک رینڈ"
+ },
+ "KRW": {
+ "name": "ساوتھ کورِیَن وَن",
+ "symbol": "₩"
+ },
+ "RSD": {
+ "name": "سٔربِیَن دیٖنار"
+ },
+ "LKR": {
+ "name": "سری لَنکاہٕچ رۄپَے"
+ },
+ "SRD": {
+ "name": "سُریٖنامُک ڈالَر"
+ },
+ "SVC": {
+ "name": "سَلویدَرُک کولَن"
+ },
+ "WST": {
+ "name": "سَمون تَلا"
+ },
+ "SGD": {
+ "name": "سِنگاپورُک ڈالَر"
+ },
+ "SZL": {
+ "name": "سوازی لِلَنگیٚنی"
+ },
+ "SAR": {
+ "name": "سودیٖیُک رِیال"
+ },
+ "SDG": {
+ "name": "سوٗڈانُک پونٛڈ"
+ },
+ "CHF": {
+ "name": "سُوِز فریک"
+ },
+ "SBD": {
+ "name": "سولَمَن جٔزیٖرُک ڈالَر"
+ },
+ "SOS": {
+ "name": "سومالی شِلِنٛگ"
+ },
+ "SEK": {
+ "name": "سویٖڈِش کَرونا"
+ },
+ "XAF": {
+ "name": "سی ایٚف اے فرینک بی ایٖ اے سی",
+ "symbol": "FCFA"
+ },
+ "XOF": {
+ "name": "سی ایٚف اے فرینک بی سی ایٖ اے او",
+ "symbol": "CFA"
+ },
+ "XPF": {
+ "name": "سی ایٚف پی فرینک",
+ "symbol": "CFPF"
+ },
+ "SYP": {
+ "name": "سیٖریاہُک پونٛڈ"
+ },
+ "SHP": {
+ "name": "سینٹ ہیلِنا پونٛڈ"
+ },
+ "FJD": {
+ "name": "فِجین ڈالر"
+ },
+ "FKP": {
+ "name": "فیکلینٛڑِس آیلینٛڑ پونٛڑ"
+ },
+ "QAR": {
+ "name": "قطاری رِیال"
+ },
+ "KWD": {
+ "name": "قُویتُک دیٖنار"
+ },
+ "KES": {
+ "name": "کٮ۪نیَن شِلِنٛگ"
+ },
+ "KGS": {
+ "name": "کِرگِستانُک سوم"
+ },
+ "HRK": {
+ "name": "کروایشنُک کوٗنا"
+ },
+ "KZT": {
+ "name": "کزاکِستان ٹینٛج"
+ },
+ "KHR": {
+ "name": "کَمبوڑِیاہُک رِیال"
+ },
+ "CRC": {
+ "name": "کوسٹا رِکَن کولَن"
+ },
+ "COP": {
+ "name": "کولَمبِین پِسو"
+ },
+ "KMF": {
+ "name": "کومورِیَن فرٛینٛک"
+ },
+ "CDF": {
+ "name": "کونٛگولیٖز فرٛیک"
+ },
+ "KYD": {
+ "name": "کیمین ججیٖرُک ڑالَر"
+ },
+ "CAD": {
+ "name": "کینَڑِیَن ڈالر",
+ "symbol": "CA$"
+ },
+ "CUP": {
+ "name": "کیوٗبَن پِسو"
+ },
+ "GIP": {
+ "name": "گِبریلٹَر پَاونٛڑ"
+ },
+ "GNF": {
+ "name": "گِنِیَن فرٛینٛک"
+ },
+ "GHS": {
+ "name": "گَنیٚیَن سٮ۪ڑی"
+ },
+ "GTQ": {
+ "name": "گواٹَمالَن قیوٗٹزَل"
+ },
+ "GMD": {
+ "name": "گیمبِیاہُک دلاسی"
+ },
+ "GYD": {
+ "name": "گَیَنیٖزُک ڑالَر"
+ },
+ "LYD": {
+ "name": "لِبیَن دیٖنار"
+ },
+ "LSL": {
+ "name": "لِسوتھو لوٹی"
+ },
+ "LAK": {
+ "name": "لَوٹِیَن کِپ"
+ },
+ "LBP": {
+ "name": "لیبنیٖزُک پاونٛڑ"
+ },
+ "LRD": {
+ "name": "لَیبیرِیَن ڑالَر"
+ },
+ "MVR": {
+ "name": "مالدِیٖوِیَن رُفِیا"
+ },
+ "MOP": {
+ "name": "مٮ۪کانیٖز پَٹاکا"
+ },
+ "MKD": {
+ "name": "مٮ۪کَڑونِیَن دیٖنار"
+ },
+ "MXN": {
+ "name": "مٮ۪کسِکَن پٮ۪سو",
+ "symbol": "MX$"
+ },
+ "MGA": {
+ "name": "مٮ۪لٮ۪گیسی اٮ۪ریَری"
+ },
+ "MWK": {
+ "name": "مٮ۪لیوِیَن کواچا"
+ },
+ "AED": {
+ "name": "مُتحدہ عرب اِمارات دِرہم"
+ },
+ "XCD": {
+ "name": "مَشرِقی کیرِبِیَن ڈالَر",
+ "symbol": "EC$"
+ },
+ "MYR": {
+ "name": "مَلیشِیَن رِنٛگِٹ"
+ },
+ "MUR": {
+ "name": "مورٮ۪شِیاہٕچ رۄپَے"
+ },
+ "MRO": {
+ "name": "مورِٹینِیَن عوگیوٗیا"
+ },
+ "MAD": {
+ "name": "موروکَن دِرہَم"
+ },
+ "MZN": {
+ "name": "موزیمبِکَن مٮ۪ٹِکَل"
+ },
+ "MDL": {
+ "name": "مولڑووین لیوٗ"
+ },
+ "MNT": {
+ "name": "مۄنگولِیَن ٹُگرِک"
+ },
+ "MMK": {
+ "name": "مِیانما کیاٹ"
+ },
+ "NAD": {
+ "name": "نامِبِیَن ڑالَر"
+ },
+ "ANG": {
+ "name": "نایدَرلینٛڑ اٮ۪نٹٕلیٖیَن گِلڑَر"
+ },
+ "NIO": {
+ "name": "نِکٮ۪راگُوٮ۪ن کورڑوبا اورو"
+ },
+ "NOK": {
+ "name": "نورویٚیِنُک کرٛون"
+ },
+ "NZD": {
+ "name": "نِوزیٖلینٛڑُک ڑالَر",
+ "symbol": "NZ$"
+ },
+ "TWD": {
+ "name": "نوٚو تیوانُک ڈالَر",
+ "symbol": "NT$"
+ },
+ "NPR": {
+ "name": "نیپالٕچ رۄپَے"
+ },
+ "NGN": {
+ "name": "نَیجیرِیَن ڑالَر"
+ },
+ "PGK": {
+ "name": "نیوٗ پیپُعا گِنِیَن کیٖنا"
+ },
+ "INR": {
+ "name": "ہِندُستٲنۍ رۄپَے",
+ "symbol": "₹"
+ },
+ "VUV": {
+ "name": "وَنوٗاَتوٗ وَتوٗ"
+ },
+ "VEF": {
+ "name": "وینٕزوٗلیُک بولِوَر"
+ },
+ "VND": {
+ "name": "وِیَنَمُک ڈانٛگ",
+ "symbol": "₫"
+ },
+ "YER": {
+ "name": "یَمنُک رِیال"
+ },
+ "USD": {
+ "name": "یوٗ ایٚس ڈالَر",
+ "symbol": "US$"
+ },
+ "EUR": {
+ "name": "یوٗرو",
+ "symbol": "€"
+ },
+ "UAH": {
+ "name": "یوٗکرینیاہُک ہرِوِنیا"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/ksb.json b/vendor/commerceguys/intl/resources/currency/ksb.json
new file mode 100644
index 000000000..2531c7dc4
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/ksb.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Ruble"
+ },
+ "BYR": {
+ "name": "Belarusian Ruble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "ETB": {
+ "name": "bil ya Uhabeshi"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "GMD": {
+ "name": "dalasi ya Gambia"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "AED": {
+ "name": "dilham ya Falme za Kialabu"
+ },
+ "MAD": {
+ "name": "dilham ya Moloko"
+ },
+ "DZD": {
+ "name": "dinali ya Aljelia"
+ },
+ "BHD": {
+ "name": "dinali ya Bahaleni"
+ },
+ "LYD": {
+ "name": "dinali ya Libya"
+ },
+ "SDG": {
+ "name": "dinali ya Sudani"
+ },
+ "TND": {
+ "name": "dinali ya Tunisia"
+ },
+ "STD": {
+ "name": "dobla ya Sao Tome na Plincipe"
+ },
+ "AUD": {
+ "name": "dola ya Austlalia",
+ "symbol": "A$"
+ },
+ "CAD": {
+ "name": "dola ya Kanada",
+ "symbol": "CA$"
+ },
+ "LRD": {
+ "name": "dola ya Libelia"
+ },
+ "USD": {
+ "name": "dola ya Malekani",
+ "symbol": "US$"
+ },
+ "NAD": {
+ "name": "dola ya Namibia"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "CVE": {
+ "name": "eskudo ya Kepuvede"
+ },
+ "XOF": {
+ "name": "falanga CFA BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "falanga CFA BEAC",
+ "symbol": "FCFA"
+ },
+ "MGA": {
+ "name": "falanga ya Bukini"
+ },
+ "BIF": {
+ "name": "falanga ya Bulundi"
+ },
+ "DJF": {
+ "name": "falanga ya Jibuti"
+ },
+ "KMF": {
+ "name": "falanga ya Komolo"
+ },
+ "CDF": {
+ "name": "falanga ya Kongo"
+ },
+ "RWF": {
+ "name": "falanga ya Lwanda"
+ },
+ "CHF": {
+ "name": "falanga ya Uswisi"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "MWK": {
+ "name": "kwacha ya Malawi"
+ },
+ "ZMW": {
+ "name": "kwacha ya Zambia"
+ },
+ "AOA": {
+ "name": "kwanza ya Angola"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "ZAR": {
+ "name": "landi ya Aflika Kusini"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "SLL": {
+ "name": "leoni"
+ },
+ "SZL": {
+ "name": "lilangeni"
+ },
+ "SAR": {
+ "name": "liyal ya Saudia"
+ },
+ "LSL": {
+ "name": "loti ya Lesoto"
+ },
+ "INR": {
+ "name": "lupia ya India",
+ "symbol": "₹"
+ },
+ "MUR": {
+ "name": "lupia ya Molisi"
+ },
+ "SCR": {
+ "name": "lupia ya Shelisheli"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NGN": {
+ "name": "naila ya Naijelia"
+ },
+ "ERN": {
+ "name": "nakfa ya Elitlea"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "EGP": {
+ "name": "pauni ya Misli"
+ },
+ "SHP": {
+ "name": "pauni ya Santahelena"
+ },
+ "GBP": {
+ "name": "pauni ya Uingeeza",
+ "symbol": "£"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "BWP": {
+ "name": "pula ya Botswana"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Ruble"
+ },
+ "JPY": {
+ "name": "salafu ya Kijapani",
+ "symbol": "JP¥"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "KES": {
+ "name": "shilingi ya Kenya"
+ },
+ "SOS": {
+ "name": "shilingi ya Somalia"
+ },
+ "TZS": {
+ "name": "shilingi ya Tanzania",
+ "symbol": "TSh"
+ },
+ "UGX": {
+ "name": "shilingi ya Uganda"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "MRO": {
+ "name": "ugwiya ya Molitania"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "CNY": {
+ "name": "yaun lenminbi ya China",
+ "symbol": "CN¥"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "EUR": {
+ "name": "yulo",
+ "symbol": "€"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/ksf.json b/vendor/commerceguys/intl/resources/currency/ksf.json
new file mode 100644
index 000000000..3cef423da
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/ksf.json
@@ -0,0 +1,496 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Ruble"
+ },
+ "BYR": {
+ "name": "Belarusian Ruble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "XAF": {
+ "name": "fráŋ",
+ "symbol": "FCFA"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "ZAR": {
+ "name": "mɔni mǝ á afrik anǝ a sud"
+ },
+ "XOF": {
+ "name": "mɔni mǝ á afríka aná wɛs",
+ "symbol": "CFA"
+ },
+ "DZD": {
+ "name": "mɔni mǝ á aljɛrí"
+ },
+ "USD": {
+ "name": "mɔni mǝ á amɛrika",
+ "symbol": "US$"
+ },
+ "AOA": {
+ "name": "mɔni mǝ á angóla"
+ },
+ "SAR": {
+ "name": "mɔni mǝ á arabí saodí"
+ },
+ "BHD": {
+ "name": "mɔni mǝ á barǝ́n"
+ },
+ "AED": {
+ "name": "mɔni mǝ á bǝlɔŋ bǝ kaksa bɛ táatáaŋzǝn"
+ },
+ "BWP": {
+ "name": "mɔni mǝ á botswana"
+ },
+ "BIF": {
+ "name": "mɔni mǝ á burundí"
+ },
+ "CNY": {
+ "name": "mɔni mǝ á cín",
+ "symbol": "CN¥"
+ },
+ "DJF": {
+ "name": "mɔni mǝ á dyibutí"
+ },
+ "EGP": {
+ "name": "mɔni mǝ á ɛjípt"
+ },
+ "ERN": {
+ "name": "mɔni mǝ á ɛritrɛ́"
+ },
+ "ETB": {
+ "name": "mɔni mǝ á ɛtyɔpí"
+ },
+ "GMD": {
+ "name": "mɔni mǝ á gambí"
+ },
+ "INR": {
+ "name": "mɔni mǝ á indí",
+ "symbol": "₹"
+ },
+ "GBP": {
+ "name": "mɔni mǝ á ingɛrís",
+ "symbol": "£"
+ },
+ "JPY": {
+ "name": "mɔni mǝ á japɔ́ŋ",
+ "symbol": "JP¥"
+ },
+ "CAD": {
+ "name": "mɔni mǝ á kanada",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "mɔni mǝ á kapvɛr"
+ },
+ "KES": {
+ "name": "mɔni mǝ á kɛnya"
+ },
+ "KMF": {
+ "name": "mɔni mǝ á komɔr"
+ },
+ "CDF": {
+ "name": "mɔni mǝ á kɔngó"
+ },
+ "LSL": {
+ "name": "mɔni mǝ á lǝsóto"
+ },
+ "LRD": {
+ "name": "mɔni mǝ á libɛrya"
+ },
+ "LYD": {
+ "name": "mɔni mǝ á libí"
+ },
+ "MGA": {
+ "name": "mɔni mǝ á madagaska"
+ },
+ "MWK": {
+ "name": "mɔni mǝ á malawi"
+ },
+ "MAD": {
+ "name": "mɔni mǝ á marɔk"
+ },
+ "MUR": {
+ "name": "mɔni mǝ á mwarís"
+ },
+ "MRO": {
+ "name": "mɔni mǝ á mwaritaní"
+ },
+ "NAD": {
+ "name": "mɔni mǝ á namibí"
+ },
+ "NGN": {
+ "name": "mɔni mǝ á nijɛ́rya"
+ },
+ "AUD": {
+ "name": "mɔni mǝ á ɔstralí",
+ "symbol": "A$"
+ },
+ "EUR": {
+ "name": "mɔni mǝ á pɛrɛsǝ́",
+ "symbol": "€"
+ },
+ "RWF": {
+ "name": "mɔni mǝ á rwanda"
+ },
+ "STD": {
+ "name": "mɔni mǝ á saotomɛ́ ri priŋsib"
+ },
+ "SCR": {
+ "name": "mɔni mǝ á sɛcɛl"
+ },
+ "SHP": {
+ "name": "mɔni mǝ á sɛntɛ́len"
+ },
+ "SOS": {
+ "name": "mɔni mǝ á somalí"
+ },
+ "SDG": {
+ "name": "mɔni mǝ á sudan"
+ },
+ "SZL": {
+ "name": "mɔni mǝ á swazilan"
+ },
+ "CHF": {
+ "name": "mɔni mǝ á swís"
+ },
+ "SLL": {
+ "name": "mɔni mǝ á syɛraleon"
+ },
+ "TZS": {
+ "name": "mɔni mǝ á tanzaní"
+ },
+ "TND": {
+ "name": "mɔni mǝ á tunɛsí"
+ },
+ "UGX": {
+ "name": "mɔni mǝ á uganda"
+ },
+ "ZMW": {
+ "name": "mɔni mǝ á zambí"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Ruble"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/ksh.json b/vendor/commerceguys/intl/resources/currency/ksh.json
new file mode 100644
index 000000000..0b77eb2d2
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/ksh.json
@@ -0,0 +1,496 @@
+{
+ "AFN": {
+ "name": "Afjahni"
+ },
+ "ARS": {
+ "name": "ajentiinesche Peeso"
+ },
+ "EGP": {
+ "name": "äjiptesche Pongk"
+ },
+ "ALL": {
+ "name": "albaanesche Lek"
+ },
+ "DZD": {
+ "name": "aljeresche Denaa"
+ },
+ "USD": {
+ "name": "ammärrikaanesche Dollaa",
+ "symbol": "US$"
+ },
+ "AOA": {
+ "name": "angjolaanesche Kwansa"
+ },
+ "AMD": {
+ "name": "armeenesche Dram"
+ },
+ "AWG": {
+ "name": "arubesche Florin"
+ },
+ "SVC": {
+ "name": "asalvadorejaanesche Cosan"
+ },
+ "AZN": {
+ "name": "Asserbaidschaani Manat"
+ },
+ "ETB": {
+ "name": "ätejoopesche Birr"
+ },
+ "AUD": {
+ "name": "austraalesche Dollaa",
+ "symbol": "A$"
+ },
+ "BHD": {
+ "name": "Bachrainesche Denaa"
+ },
+ "BSD": {
+ "name": "bahama’sche Dollaa"
+ },
+ "BBD": {
+ "name": "Barbados-Dollaa"
+ },
+ "BZD": {
+ "name": "belizjaanesche Dollaa"
+ },
+ "BMD": {
+ "name": "Bermuuda-Dollaa"
+ },
+ "BTN": {
+ "name": "bhutanesesche Ngultrum"
+ },
+ "BOB": {
+ "name": "Bollivijano"
+ },
+ "BRL": {
+ "name": "brasilljaanesche Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "brittesche £",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei-Dollaa"
+ },
+ "BGN": {
+ "name": "buljaaresche Lev"
+ },
+ "MMK": {
+ "name": "burmeesesche Kyat"
+ },
+ "BIF": {
+ "name": "burundesche Frang"
+ },
+ "DKK": {
+ "name": "dänesche Kruhne"
+ },
+ "AED": {
+ "name": "de vereineschte arraabesche Emiraate ier Dirham"
+ },
+ "STD": {
+ "name": "Dobra vun São Tomé un Príncipe"
+ },
+ "TTD": {
+ "name": "Dollaa uß Trinidad un Tobääjo"
+ },
+ "DOP": {
+ "name": "dommenikaanesche Peesos"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FJD": {
+ "name": "Fidschi-Dollaa"
+ },
+ "PHP": {
+ "name": "fillipiinesche Pesos"
+ },
+ "XOF": {
+ "name": "Frang uß de Älfebeinköß",
+ "symbol": "CFA"
+ },
+ "DJF": {
+ "name": "Frang uß Dschibuti"
+ },
+ "HTG": {
+ "name": "haiitesche Gourde"
+ },
+ "HNL": {
+ "name": "hondureanesche Lempira"
+ },
+ "HKD": {
+ "name": "Hongkong-Dollaa",
+ "symbol": "HK$"
+ },
+ "INR": {
+ "name": "indesche Ruupije",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "indoneesesche Ruupije"
+ },
+ "IQD": {
+ "name": "iraakesche Denaa"
+ },
+ "ISK": {
+ "name": "ißländesche Kruhne"
+ },
+ "ILS": {
+ "name": "ißraeelesche Schekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "jamaikaanesche Dollaa"
+ },
+ "GMD": {
+ "name": "jambesche Dalasi"
+ },
+ "GHS": {
+ "name": "janaaesche Cedi"
+ },
+ "JPY": {
+ "name": "japaanesche Jen",
+ "symbol": "JP¥"
+ },
+ "YER": {
+ "name": "jemenitesche Rijal"
+ },
+ "GEL": {
+ "name": "jeorjesche Lari"
+ },
+ "GIP": {
+ "name": "jibraltaa’sche Pongk"
+ },
+ "GNF": {
+ "name": "Jineea-Frang"
+ },
+ "JOD": {
+ "name": "Jordaanesche Dollaa"
+ },
+ "GYD": {
+ "name": "Juaana-Dollaa"
+ },
+ "GTQ": {
+ "name": "juatemalesche Quetzal"
+ },
+ "KYD": {
+ "name": "Kaimann-Dollaa"
+ },
+ "KHR": {
+ "name": "kambodschaanesche Riel"
+ },
+ "CAD": {
+ "name": "kannaadesche Dollaa",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "kapverdesche Eskuudos"
+ },
+ "KZT": {
+ "name": "kasakesche Tenge"
+ },
+ "QAR": {
+ "name": "kataaresche Rijal"
+ },
+ "KES": {
+ "name": "Kenjaanesche Schillinge"
+ },
+ "KGS": {
+ "name": "kirjiisesche Som"
+ },
+ "XAF": {
+ "name": "Kmmeruhner Frang",
+ "symbol": "FCFA"
+ },
+ "COP": {
+ "name": "kolumbesche Peso"
+ },
+ "KMF": {
+ "name": "kommooresche Frang"
+ },
+ "CDF": {
+ "name": "kongjoleesesche Frang"
+ },
+ "CRC": {
+ "name": "koßtarikaanesche Colón"
+ },
+ "HRK": {
+ "name": "krowaatesche Kuna"
+ },
+ "CUP": {
+ "name": "kubaanesche Peesos"
+ },
+ "KWD": {
+ "name": "kuwaitesche Denaa"
+ },
+ "LSL": {
+ "name": "lesoothesche Loti"
+ },
+ "LBP": {
+ "name": "libaneesesche Pongk"
+ },
+ "LRD": {
+ "name": "liberijaanesche Dollaa"
+ },
+ "LYD": {
+ "name": "libesche Denaa"
+ },
+ "LAK": {
+ "name": "loaatesche Kip"
+ },
+ "MGA": {
+ "name": "madajaskesche Ariary"
+ },
+ "MOP": {
+ "name": "makaneesesche Pataca"
+ },
+ "MWK": {
+ "name": "malaawesche Kwache"
+ },
+ "MYR": {
+ "name": "malaisesche Ringgit"
+ },
+ "MVR": {
+ "name": "mallediivesche Rufiyaa"
+ },
+ "MAD": {
+ "name": "marrokaanesche Dirhamm"
+ },
+ "MRO": {
+ "name": "mauretanesche Ouguiya"
+ },
+ "MUR": {
+ "name": "maurizjahnesche Ruupije"
+ },
+ "MKD": {
+ "name": "mazedoonesche Denaa"
+ },
+ "MXN": {
+ "name": "mexekaanesche Peeso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "moldaavesche Leu"
+ },
+ "MNT": {
+ "name": "mongjoolesche Tugrik"
+ },
+ "MZN": {
+ "name": "mossambikaanesche Metical"
+ },
+ "ERN": {
+ "name": "Nafka uß Erritreja"
+ },
+ "NAD": {
+ "name": "namiibesche Dollaa"
+ },
+ "ANG": {
+ "name": "neederlängsch antillesche Jullde"
+ },
+ "NPR": {
+ "name": "nepaleesesche Ruupije"
+ },
+ "TWD": {
+ "name": "neu taiwaneesesche Dollaa",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "neuseeländesche Dollaa",
+ "symbol": "NZ$"
+ },
+ "NGN": {
+ "name": "nijerijaanesche Naira"
+ },
+ "NIO": {
+ "name": "nikarajaanesche Córdoba"
+ },
+ "KPW": {
+ "name": "noodkorejaansche Won"
+ },
+ "NOK": {
+ "name": "norrweejesche Kruhne"
+ },
+ "OMR": {
+ "name": "ommaanesche Rijal"
+ },
+ "CUC": {
+ "name": "ömtuuschbaa kubaanesche Pesos"
+ },
+ "BAM": {
+ "name": "ömtuuschbaa Mark us Boßnije un dä Hächejovvina"
+ },
+ "XCD": {
+ "name": "oß-karribbesche Dollaa",
+ "symbol": "EC$"
+ },
+ "PKR": {
+ "name": "pakestaanesche Ruupije"
+ },
+ "PAB": {
+ "name": "pannameesesche Balboa"
+ },
+ "PGK": {
+ "name": "papua neujinejaanesche Kina"
+ },
+ "PYG": {
+ "name": "parajuaanesche Juarani"
+ },
+ "PEN": {
+ "name": "perruaanesche Nuevo Sol"
+ },
+ "IRR": {
+ "name": "persesche Rial"
+ },
+ "XPF": {
+ "name": "polineesesche Frang",
+ "symbol": "CFPF"
+ },
+ "PLN": {
+ "name": "polnesche Złoty"
+ },
+ "FKP": {
+ "name": "Pongk vun de Falkland-Enselle"
+ },
+ "BWP": {
+ "name": "Pula us Bozwaana"
+ },
+ "RON": {
+ "name": "romäänesche Leu"
+ },
+ "RWF": {
+ "name": "ruandesche Frang"
+ },
+ "RUB": {
+ "name": "russesche Ruubel"
+ },
+ "ZMW": {
+ "name": "sambesche Kwacha"
+ },
+ "WST": {
+ "name": "samowaanesche Tala"
+ },
+ "RSD": {
+ "name": "särbesche Denaare"
+ },
+ "SAR": {
+ "name": "saudesche Rijal"
+ },
+ "CLP": {
+ "name": "schileenesche Peeso"
+ },
+ "CNY": {
+ "name": "schineesesche Yuan Renminbi",
+ "symbol": "CN¥"
+ },
+ "LKR": {
+ "name": "schrilankesche Ruupije"
+ },
+ "SEK": {
+ "name": "schweedesche Kruhne"
+ },
+ "CHF": {
+ "name": "schweijzer Fränkli"
+ },
+ "SCR": {
+ "name": "seischellesche Ruupije"
+ },
+ "ZWL": {
+ "name": "simbabwesche Dollaa (2009)"
+ },
+ "SGD": {
+ "name": "singjapurejaanesche Dollaa"
+ },
+ "ZAR": {
+ "name": "södaffrekaanesche Rand"
+ },
+ "SSP": {
+ "name": "södsudaneesesche Pongk"
+ },
+ "SBD": {
+ "name": "solomonesche Dollaa"
+ },
+ "SOS": {
+ "name": "somaalesche Schillenge"
+ },
+ "KRW": {
+ "name": "söödkorejaansche Won",
+ "symbol": "₩"
+ },
+ "SLL": {
+ "name": "ẞjärra-lejoneesesche Leone"
+ },
+ "SDG": {
+ "name": "sudaneesesche Pongk"
+ },
+ "SRD": {
+ "name": "sürinameesesche Dollaa"
+ },
+ "SYP": {
+ "name": "süüresche Pund"
+ },
+ "SZL": {
+ "name": "swasiländesche Lilangeni"
+ },
+ "TJS": {
+ "name": "tadschikißtaanesche Somoni"
+ },
+ "THB": {
+ "name": "tailändesche Baht"
+ },
+ "BDT": {
+ "name": "Taka us Bangladäsch"
+ },
+ "TZS": {
+ "name": "tansaanesche Schillenge"
+ },
+ "TOP": {
+ "name": "tongjanes Paʻangache"
+ },
+ "TRY": {
+ "name": "törkesche Liire"
+ },
+ "CZK": {
+ "name": "tschäschesche Kruhne"
+ },
+ "TND": {
+ "name": "tuneesesche Denaa"
+ },
+ "TMT": {
+ "name": "turkmeneßtaanesche Manat"
+ },
+ "UGX": {
+ "name": "ujandesche Schillenge"
+ },
+ "UAH": {
+ "name": "ukraijnesche Hryvnia"
+ },
+ "HUF": {
+ "name": "unjarresche Forint"
+ },
+ "UYU": {
+ "name": "urrujuwaische Peeso"
+ },
+ "UZS": {
+ "name": "ußbeekesche Som"
+ },
+ "VUV": {
+ "name": "vanuatesche Vatu"
+ },
+ "VEF": {
+ "name": "venezuelaanesche Bolívar"
+ },
+ "VND": {
+ "name": "vijätnammeesesche Dong",
+ "symbol": "₫"
+ },
+ "BYN": {
+ "name": "wiißrußesche Rubel"
+ },
+ "BYR": {
+ "name": "wiißrußesche Rubel (2000–2016)"
+ },
+ "SHP": {
+ "name": "Zint-Hellena-Pongk"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/ky.json b/vendor/commerceguys/intl/resources/currency/ky.json
new file mode 100644
index 000000000..361705843
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/ky.json
@@ -0,0 +1,485 @@
+{
+ "AUD": {
+ "name": "Австралия доллары"
+ },
+ "AZN": {
+ "name": "Азербайжан манаты"
+ },
+ "USD": {
+ "name": "АКШ доллары"
+ },
+ "ALL": {
+ "name": "албан леги"
+ },
+ "DZD": {
+ "name": "алжир динары"
+ },
+ "AOA": {
+ "name": "Ангола кванзасы"
+ },
+ "ARS": {
+ "name": "аргентина песосу"
+ },
+ "AMD": {
+ "name": "Армения драмы"
+ },
+ "AWG": {
+ "name": "аруба флорини"
+ },
+ "AFN": {
+ "name": "Афганстан афганиси"
+ },
+ "BSD": {
+ "name": "багама доллары"
+ },
+ "BDT": {
+ "name": "Бангладеш такасы"
+ },
+ "BBD": {
+ "name": "барбадос доллары"
+ },
+ "BHD": {
+ "name": "Бахрейн динары"
+ },
+ "BYN": {
+ "name": "беларусь рублу"
+ },
+ "BYR": {
+ "name": "беларусь рублу (2000–2016)"
+ },
+ "BZD": {
+ "name": "белиз доллары"
+ },
+ "BMD": {
+ "name": "бермуд доллары"
+ },
+ "AED": {
+ "name": "Бириккен Араб Эмираттарынын дирхамы"
+ },
+ "BGN": {
+ "name": "болгар левиси"
+ },
+ "BOB": {
+ "name": "боливия боливианосу"
+ },
+ "XAF": {
+ "name": "Борбордук Африка КФА франкы",
+ "symbol": "FCFA"
+ },
+ "BAM": {
+ "name": "босния-герцоговина конвертациялануучу маркасы"
+ },
+ "BWP": {
+ "name": "Ботсвана пуласы"
+ },
+ "BRL": {
+ "name": "бразилия реалы"
+ },
+ "GBP": {
+ "name": "британия фунт стерлинги"
+ },
+ "BND": {
+ "name": "Бруней доллары"
+ },
+ "BIF": {
+ "name": "Бурунди франкы"
+ },
+ "BTN": {
+ "name": "Бутан нгултруму"
+ },
+ "VUV": {
+ "name": "Вануату ватусу"
+ },
+ "HUF": {
+ "name": "венгр форинти"
+ },
+ "VEF": {
+ "name": "венесуэла боливары"
+ },
+ "VND": {
+ "name": "Вьетнам доӊу",
+ "symbol": "₫"
+ },
+ "HTG": {
+ "name": "гаити гурдусу"
+ },
+ "GMD": {
+ "name": "Гамбия даласиси"
+ },
+ "GHS": {
+ "name": "Гана седиси"
+ },
+ "GTQ": {
+ "name": "гватемала кетсалы"
+ },
+ "GIP": {
+ "name": "гибралтар фунту"
+ },
+ "GNF": {
+ "name": "Гине франкы"
+ },
+ "HNL": {
+ "name": "гондурас лемпирасы"
+ },
+ "HKD": {
+ "name": "Гонконг доллары"
+ },
+ "GEL": {
+ "name": "Грузия лариси"
+ },
+ "GYD": {
+ "name": "гуйана доллары"
+ },
+ "DKK": {
+ "name": "дания крону"
+ },
+ "DOP": {
+ "name": "доминикан песосу"
+ },
+ "EUR": {
+ "name": "Евро",
+ "symbol": "€"
+ },
+ "EGP": {
+ "name": "египет фунту"
+ },
+ "NZD": {
+ "name": "Жаӊы Зеландия доллары"
+ },
+ "JPY": {
+ "name": "Жапан йени",
+ "symbol": "JP¥"
+ },
+ "DJF": {
+ "name": "Жибути франкы"
+ },
+ "ZMW": {
+ "name": "Замбия квачасы"
+ },
+ "ILS": {
+ "name": "Израилдин жаңы шекели"
+ },
+ "INR": {
+ "name": "Индия руписи"
+ },
+ "IDR": {
+ "name": "Индонезия рупийасы"
+ },
+ "IQD": {
+ "name": "Ирак динары"
+ },
+ "IRR": {
+ "name": "Иран риалы"
+ },
+ "ISK": {
+ "name": "исландия крону"
+ },
+ "YER": {
+ "name": "Йемен риалы"
+ },
+ "JOD": {
+ "name": "Йордания динары"
+ },
+ "CVE": {
+ "name": "Кабо-Верде эскудосу"
+ },
+ "KZT": {
+ "name": "Казакстан теӊгеси"
+ },
+ "KYD": {
+ "name": "кайман доллары"
+ },
+ "KHR": {
+ "name": "Камбожа риели"
+ },
+ "CAD": {
+ "name": "канада доллары"
+ },
+ "QAR": {
+ "name": "Катар риалы"
+ },
+ "KES": {
+ "name": "Кения шиллинги"
+ },
+ "COP": {
+ "name": "колумбия песосу"
+ },
+ "KMF": {
+ "name": "Коморос франкы"
+ },
+ "CDF": {
+ "name": "Конго франкы"
+ },
+ "CRC": {
+ "name": "коста-рика колону"
+ },
+ "CUP": {
+ "name": "куба песосу"
+ },
+ "CUC": {
+ "name": "кубанын конвертациялануучу песосу"
+ },
+ "KWD": {
+ "name": "Кувейт динары"
+ },
+ "XOF": {
+ "name": "КФА франкы",
+ "symbol": "CFA"
+ },
+ "XPF": {
+ "name": "КФП франкы",
+ "symbol": "CFPF"
+ },
+ "KGS": {
+ "name": "Кыргызстан сому",
+ "symbol": "сом"
+ },
+ "CNY": {
+ "name": "Кытай юаны",
+ "symbol": "CN¥"
+ },
+ "LAK": {
+ "name": "Лаос киби"
+ },
+ "LRD": {
+ "name": "Либерия доллары"
+ },
+ "LBP": {
+ "name": "Ливан фунту"
+ },
+ "LYD": {
+ "name": "ливия динары"
+ },
+ "MUR": {
+ "name": "Мавританий руписи"
+ },
+ "MRO": {
+ "name": "Мавритания угиясы"
+ },
+ "MGA": {
+ "name": "Мадагаскар ариариси"
+ },
+ "MOP": {
+ "name": "Макау патакасы"
+ },
+ "MKD": {
+ "name": "македон денары"
+ },
+ "MWK": {
+ "name": "Малави квачасы"
+ },
+ "MYR": {
+ "name": "Малайзия ринггити"
+ },
+ "MVR": {
+ "name": "Малдив руфийасы"
+ },
+ "MAD": {
+ "name": "марокко дирхамы"
+ },
+ "MXN": {
+ "name": "мексика песосу"
+ },
+ "MMK": {
+ "name": "Мйанмар кйаты"
+ },
+ "MZN": {
+ "name": "Мозамбик метикалы"
+ },
+ "MDL": {
+ "name": "молдован лейи"
+ },
+ "MNT": {
+ "name": "Монгол тугриги"
+ },
+ "NAD": {
+ "name": "Намибия доллары"
+ },
+ "NPR": {
+ "name": "Непал руписи"
+ },
+ "NGN": {
+ "name": "Нигерия найрасы"
+ },
+ "ANG": {
+ "name": "нидерланд-антил гулдени"
+ },
+ "NIO": {
+ "name": "никарагуа кордобасы"
+ },
+ "NOK": {
+ "name": "норвегия крону"
+ },
+ "OMR": {
+ "name": "Оман риалы"
+ },
+ "RUB": {
+ "name": "орус рублу"
+ },
+ "UZS": {
+ "name": "Өзбекстан суму"
+ },
+ "PKR": {
+ "name": "Пакистан руписи"
+ },
+ "PAB": {
+ "name": "панама балбоасы"
+ },
+ "PGK": {
+ "name": "Папуа Жаӊы Гвинея кинасы"
+ },
+ "PYG": {
+ "name": "парагвай гуараниси"
+ },
+ "PEN": {
+ "name": "перу нуэво солу"
+ },
+ "PLN": {
+ "name": "польша злотыйы"
+ },
+ "RWF": {
+ "name": "Руанда франкы"
+ },
+ "RON": {
+ "name": "румын лейи"
+ },
+ "WST": {
+ "name": "Самоа таласы"
+ },
+ "STD": {
+ "name": "Сао Томе жана Принсипе добрасы"
+ },
+ "SAR": {
+ "name": "Сауд риалы"
+ },
+ "SZL": {
+ "name": "Свази лилангени"
+ },
+ "SCR": {
+ "name": "Сейшел руписи"
+ },
+ "RSD": {
+ "name": "серб динары"
+ },
+ "SLL": {
+ "name": "Сиерра-Леоне леонеси"
+ },
+ "SGD": {
+ "name": "Сингапур доллары"
+ },
+ "SYP": {
+ "name": "Сирия фунту"
+ },
+ "SBD": {
+ "name": "Соломон аралдарынын доллары"
+ },
+ "SOS": {
+ "name": "Сомали шиллинги"
+ },
+ "SDG": {
+ "name": "судан фунту"
+ },
+ "SRD": {
+ "name": "суринам доллары"
+ },
+ "TJS": {
+ "name": "Тажикстан сомониси"
+ },
+ "THB": {
+ "name": "Тай баты",
+ "symbol": "฿"
+ },
+ "TWD": {
+ "name": "Тайвань жаӊы доллары"
+ },
+ "TZS": {
+ "name": "Танзания шиллинги"
+ },
+ "TOP": {
+ "name": "Тонга паангасы"
+ },
+ "TTD": {
+ "name": "тринидад жана тобаго доллары"
+ },
+ "TND": {
+ "name": "тунис динары"
+ },
+ "KPW": {
+ "name": "Түндүк Корея уону"
+ },
+ "TRY": {
+ "name": "Түркия лирасы"
+ },
+ "TMT": {
+ "name": "Түркмөнстан манаты"
+ },
+ "ZAR": {
+ "name": "Түштүк Африка ранды"
+ },
+ "KRW": {
+ "name": "Түштүк Корея уону"
+ },
+ "SSP": {
+ "name": "Түштүк Судан фунту"
+ },
+ "UGX": {
+ "name": "Уганда шиллинги"
+ },
+ "UAH": {
+ "name": "украин гривени"
+ },
+ "UYU": {
+ "name": "уругвай песосу"
+ },
+ "FJD": {
+ "name": "Фижи доллары"
+ },
+ "PHP": {
+ "name": "Филиппин песосу"
+ },
+ "FKP": {
+ "name": "фолкленд аралдарынын фунту"
+ },
+ "HRK": {
+ "name": "хорват кунасы"
+ },
+ "CZK": {
+ "name": "чех кронасы"
+ },
+ "CLP": {
+ "name": "чили песосу"
+ },
+ "XCD": {
+ "name": "чыгыш кариб доллары"
+ },
+ "CHF": {
+ "name": "швейцария франкы"
+ },
+ "SEK": {
+ "name": "швеция крону"
+ },
+ "LKR": {
+ "name": "Шри Ланка руписи"
+ },
+ "SHP": {
+ "name": "Ыйык Елена аралынын фунту"
+ },
+ "ERN": {
+ "name": "Эритреа накфасы"
+ },
+ "ETB": {
+ "name": "Эфиопия бирри"
+ },
+ "JMD": {
+ "name": "ямайка доллары"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/lag.json b/vendor/commerceguys/intl/resources/currency/lag.json
new file mode 100644
index 000000000..6f461e106
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/lag.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Ruble"
+ },
+ "BYR": {
+ "name": "Belarusian Ruble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "ETB": {
+ "name": "Bíiri ya Ʉhabéeshi"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "GMD": {
+ "name": "Daláasi ya Gámbia"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DZD": {
+ "name": "Dináairi ya Alijéria"
+ },
+ "BHD": {
+ "name": "Dináari ya Baharéeni"
+ },
+ "LYD": {
+ "name": "Dináari ya Líbia"
+ },
+ "TND": {
+ "name": "Dináari ya Tunísia"
+ },
+ "MAD": {
+ "name": "Diriháamu ya Moróoko"
+ },
+ "AED": {
+ "name": "Diriháamu ya Ʉtemi wa Kɨaráabu"
+ },
+ "STD": {
+ "name": "Dóbura ya SaoTóome na Pirínsipe"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "USD": {
+ "name": "Dóola ya Amerɨ́ka",
+ "symbol": "US$"
+ },
+ "AUD": {
+ "name": "Dóola ya Ausitereelía",
+ "symbol": "A$"
+ },
+ "CAD": {
+ "name": "Dóola ya Kánada",
+ "symbol": "CA$"
+ },
+ "LRD": {
+ "name": "Dóola ya Libéria"
+ },
+ "NAD": {
+ "name": "Dóola ya Namíbia"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "CVE": {
+ "name": "Esikúudo ya Kepuvéede"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "CHF": {
+ "name": "Faráaka ya Uswíisi"
+ },
+ "BIF": {
+ "name": "Faráanga ya Burúundi"
+ },
+ "XOF": {
+ "name": "Faráanga ya CFA BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Faráanga ya CFA BEAC",
+ "symbol": "FCFA"
+ },
+ "DJF": {
+ "name": "Faráanga ya Jibóuti"
+ },
+ "KMF": {
+ "name": "Faráanga ya Komóoro"
+ },
+ "CDF": {
+ "name": "Faráanga ya Kóongo"
+ },
+ "RWF": {
+ "name": "Faráanga ya Rwáanda"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "MWK": {
+ "name": "Kwáacha ya Maláawi"
+ },
+ "AOA": {
+ "name": "Kwáanza ya Angóola"
+ },
+ "ZMW": {
+ "name": "Kwácha ya Sámbia"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "SLL": {
+ "name": "Leóoni"
+ },
+ "SZL": {
+ "name": "Lilengéeni"
+ },
+ "LSL": {
+ "name": "Lóoti ya Lesóoto"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MGA": {
+ "name": "Mpía ya bukini"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NGN": {
+ "name": "Naíira ya Niijéria"
+ },
+ "ERN": {
+ "name": "Nákɨfa ya Eriterea"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "EGP": {
+ "name": "Páundi ya Mísiri"
+ },
+ "SHP": {
+ "name": "Páundi ya Mʉtakatíifu Heléena"
+ },
+ "SDG": {
+ "name": "Páundi ya Sudáani"
+ },
+ "GBP": {
+ "name": "Páundi ya Ʉɨngɨréesa",
+ "symbol": "£"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "BWP": {
+ "name": "Púula ya Botiswáana"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "ZAR": {
+ "name": "Ráandi ya Afɨrɨka ya Saame"
+ },
+ "SAR": {
+ "name": "Riyáali ya Saudía"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "INR": {
+ "name": "Rupía ya Índia",
+ "symbol": "₹"
+ },
+ "MUR": {
+ "name": "Rupía ya Moríisi"
+ },
+ "SCR": {
+ "name": "Rupía ya Shelishéeli"
+ },
+ "RUB": {
+ "name": "Russian Ruble"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "KES": {
+ "name": "Shilíingi ya Kéenya"
+ },
+ "SOS": {
+ "name": "Shilíingi ya Somália"
+ },
+ "TZS": {
+ "name": "Shilíingi ya Taansanía",
+ "symbol": "TSh"
+ },
+ "UGX": {
+ "name": "Shilíingi ya Ugáanda"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "MRO": {
+ "name": "Ungwíiya ya Moritánia"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "JPY": {
+ "name": "Yéeni ya Japáani",
+ "symbol": "JP¥"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "CNY": {
+ "name": "Yúani Renimínibi ya Chíina",
+ "symbol": "CN¥"
+ },
+ "EUR": {
+ "name": "Yúuro",
+ "symbol": "€"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/lb.json b/vendor/commerceguys/intl/resources/currency/lb.json
new file mode 100644
index 000000000..1f6e8b59f
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/lb.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afghanesch Afghani"
+ },
+ "ALL": {
+ "name": "Albanesche Lek"
+ },
+ "DZD": {
+ "name": "Algereschen Dinar"
+ },
+ "AOA": {
+ "name": "Angolanesche Kwanza"
+ },
+ "ANG": {
+ "name": "Antillen-Gulden"
+ },
+ "ARS": {
+ "name": "Argentinesche Peso"
+ },
+ "AMD": {
+ "name": "Armeneschen Dram"
+ },
+ "AWG": {
+ "name": "Aruba-Florin"
+ },
+ "AZN": {
+ "name": "Aserbaidschan-Manat"
+ },
+ "AUD": {
+ "name": "Australeschen Dollar",
+ "symbol": "AU$"
+ },
+ "BSD": {
+ "name": "Bahama-Dollar"
+ },
+ "BHD": {
+ "name": "Bahrain-Dinar"
+ },
+ "BDT": {
+ "name": "Bangladesch-Taka"
+ },
+ "BBD": {
+ "name": "Barbados-Dollar"
+ },
+ "BZD": {
+ "name": "Belize-Dollar"
+ },
+ "BMD": {
+ "name": "Bermuda-Dollar"
+ },
+ "BTN": {
+ "name": "Bhutan-Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivianesche Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnien an Herzegowina Konvertéierbar Mark"
+ },
+ "BWP": {
+ "name": "Botswanesch Pula"
+ },
+ "BRL": {
+ "name": "Brasilianesche Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "Britescht Pond",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei-Dollar"
+ },
+ "BGN": {
+ "name": "Bulgaresch Lew"
+ },
+ "BIF": {
+ "name": "Burundi-Frang"
+ },
+ "XOF": {
+ "name": "CFA-Frang (BCEAO)",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "CFA-Frang (BEAC)",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP-Frang",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilenesche Peso"
+ },
+ "CRC": {
+ "name": "Costa-Rica-Colón"
+ },
+ "DKK": {
+ "name": "Dänesch Kroun"
+ },
+ "DOP": {
+ "name": "Dominikanesche Peso"
+ },
+ "DJF": {
+ "name": "Dschibuti-Frang"
+ },
+ "EGP": {
+ "name": "Egyptescht Pond"
+ },
+ "SVC": {
+ "name": "El-Salvador-Colón"
+ },
+ "ERN": {
+ "name": "Eritréieschen Nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopescht Birr"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland-Pond"
+ },
+ "FJD": {
+ "name": "Fidschi-Dollar"
+ },
+ "GMD": {
+ "name": "Gambia-Dalasi"
+ },
+ "GEL": {
+ "name": "Georgesche Lari"
+ },
+ "GHS": {
+ "name": "Ghanaeschen Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar-Pond"
+ },
+ "GTQ": {
+ "name": "Guatemaltekesche Quetzal"
+ },
+ "GNF": {
+ "name": "Guinea-Frang"
+ },
+ "GYD": {
+ "name": "Guyana-Dollar"
+ },
+ "HTG": {
+ "name": "Haitianesch Gourde"
+ },
+ "HNL": {
+ "name": "Honduras-Lempira"
+ },
+ "HKD": {
+ "name": "Hong-Kong-Dollar",
+ "symbol": "HK$"
+ },
+ "INR": {
+ "name": "Indesch Rupie",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesesch Rupiah"
+ },
+ "IQD": {
+ "name": "Irakeschen Dinar"
+ },
+ "IRR": {
+ "name": "Iranesch Rial"
+ },
+ "ISK": {
+ "name": "Islännesch Kroun"
+ },
+ "ILS": {
+ "name": "Israeleschen Neie Schekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaika-Dollar"
+ },
+ "JPY": {
+ "name": "Japanesche Yen",
+ "symbol": "¥"
+ },
+ "YER": {
+ "name": "Jemen-Rial"
+ },
+ "JOD": {
+ "name": "Jordaneschen Dinar"
+ },
+ "KYD": {
+ "name": "Kaiman-Dollar"
+ },
+ "KHR": {
+ "name": "Kambodschanesche Riel"
+ },
+ "CAD": {
+ "name": "Kanadeschen Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Kap-Verde-Escudo"
+ },
+ "KZT": {
+ "name": "Kasacheschen Tenge"
+ },
+ "QAR": {
+ "name": "Katar-Riyal"
+ },
+ "KES": {
+ "name": "Kenia-Schilling"
+ },
+ "KGS": {
+ "name": "Kirgisesche Som"
+ },
+ "COP": {
+ "name": "Kolumbianesche Peso"
+ },
+ "KMF": {
+ "name": "Komore-Frang"
+ },
+ "CDF": {
+ "name": "Kongo-Frang"
+ },
+ "HRK": {
+ "name": "Kroatesche Kuna"
+ },
+ "CUP": {
+ "name": "Kubanesche Peso"
+ },
+ "CUC": {
+ "name": "Kubanesche Peso (konvertibel)"
+ },
+ "KWD": {
+ "name": "Kuwait-Dinar"
+ },
+ "ZMW": {
+ "name": "Kwacha"
+ },
+ "LAK": {
+ "name": "Laoteschen Kip"
+ },
+ "LBP": {
+ "name": "Libanesescht Pond"
+ },
+ "LRD": {
+ "name": "Liberianeschen Dollar"
+ },
+ "LYD": {
+ "name": "Libeschen Dinar"
+ },
+ "LSL": {
+ "name": "Loti"
+ },
+ "MOP": {
+ "name": "Macau-Pataca"
+ },
+ "MGA": {
+ "name": "Madagaskar-Ariary"
+ },
+ "MWK": {
+ "name": "Malawi-Kwacha"
+ },
+ "MYR": {
+ "name": "Malayseschen Ringgit"
+ },
+ "MVR": {
+ "name": "Maldiven-Rupie"
+ },
+ "MAD": {
+ "name": "Marokkaneschen Dirham"
+ },
+ "MRO": {
+ "name": "Mauretaneschen Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritius-Rupie"
+ },
+ "MKD": {
+ "name": "Mazedoneschen Denar"
+ },
+ "MXN": {
+ "name": "Mexikanesche Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldawesche Leu"
+ },
+ "MNT": {
+ "name": "Mongoleschen Tögrög"
+ },
+ "MZN": {
+ "name": "Mosambikanesche Metical"
+ },
+ "MMK": {
+ "name": "Myanmaresche Kyat"
+ },
+ "NAD": {
+ "name": "Namibia-Dollar"
+ },
+ "TWD": {
+ "name": "Neien Taiwan-Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "Neiséiland-Dollar",
+ "symbol": "NZ$"
+ },
+ "NPR": {
+ "name": "Nepalesesch Rupie"
+ },
+ "NIO": {
+ "name": "Nicaraguanesche Córdoba"
+ },
+ "NGN": {
+ "name": "Nigerianeschen Naira"
+ },
+ "KPW": {
+ "name": "Nordkoreanesche Won"
+ },
+ "NOK": {
+ "name": "Norwegesch Kroun"
+ },
+ "OMR": {
+ "name": "Omanesche Rial"
+ },
+ "XCD": {
+ "name": "Ostkaribeschen Dollar",
+ "symbol": "EC$"
+ },
+ "PKR": {
+ "name": "Pakistanesch Rupie"
+ },
+ "PAB": {
+ "name": "Panamaesche Balboa"
+ },
+ "PGK": {
+ "name": "Papua-Neiguinéiesche Kina"
+ },
+ "PYG": {
+ "name": "Paraguayeschen Guaraní"
+ },
+ "PEN": {
+ "name": "Peruaneschen Neie Sol"
+ },
+ "PHP": {
+ "name": "Philippinnesche Peso"
+ },
+ "PLN": {
+ "name": "Polneschen Zloty"
+ },
+ "CNY": {
+ "name": "Renminbi Yuan",
+ "symbol": "CN¥"
+ },
+ "RWF": {
+ "name": "Ruanda-Frang"
+ },
+ "RON": {
+ "name": "Rumänesche Leu"
+ },
+ "RUB": {
+ "name": "Russesche Rubel"
+ },
+ "SBD": {
+ "name": "Salomonen-Dollar"
+ },
+ "WST": {
+ "name": "Samoaneschen Tala"
+ },
+ "STD": {
+ "name": "São-toméeschen Dobra"
+ },
+ "SAR": {
+ "name": "Saudi-Rial"
+ },
+ "CHF": {
+ "name": "Schwäizer Frang"
+ },
+ "SEK": {
+ "name": "Schwedesch Kroun"
+ },
+ "RSD": {
+ "name": "Serbeschen Dinar"
+ },
+ "SCR": {
+ "name": "Seychellen-Rupie"
+ },
+ "SLL": {
+ "name": "Sierra-leonesche Leone"
+ },
+ "ZWL": {
+ "name": "Simbabwe-Dollar (2009)"
+ },
+ "SGD": {
+ "name": "Singapur-Dollar"
+ },
+ "SOS": {
+ "name": "Somalia-Schilling"
+ },
+ "LKR": {
+ "name": "Sri-Lanka-Rupie"
+ },
+ "SHP": {
+ "name": "St. Helena-Pond"
+ },
+ "ZAR": {
+ "name": "Südafrikanesche Rand"
+ },
+ "SDG": {
+ "name": "Sudanesescht Pond"
+ },
+ "KRW": {
+ "name": "Südkoreanesche Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "Südsudanesescht Pond"
+ },
+ "SRD": {
+ "name": "Surinameschen Dollar"
+ },
+ "SZL": {
+ "name": "Swasilännesche Lilangeni"
+ },
+ "SYP": {
+ "name": "Syrescht Pond"
+ },
+ "TJS": {
+ "name": "Tadschikistan-Somoni"
+ },
+ "TZS": {
+ "name": "Tansania-Schilling"
+ },
+ "THB": {
+ "name": "Thailännesche Baht",
+ "symbol": "฿"
+ },
+ "TRY": {
+ "name": "Tierkesch Lira"
+ },
+ "TOP": {
+ "name": "Tongaeschen Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad-an-Tobago-Dollar"
+ },
+ "CZK": {
+ "name": "Tschechesch Kroun"
+ },
+ "TND": {
+ "name": "Tuneseschen Dinar"
+ },
+ "TMT": {
+ "name": "Turkmenistan-Manat"
+ },
+ "UGX": {
+ "name": "Uganda-Schilling"
+ },
+ "UAH": {
+ "name": "Ukraineschen Hrywnja"
+ },
+ "HUF": {
+ "name": "Ungaresche Forint"
+ },
+ "UYU": {
+ "name": "Uruguayesche Peso"
+ },
+ "USD": {
+ "name": "US-Dollar",
+ "symbol": "$"
+ },
+ "UZS": {
+ "name": "Usbekistan-Sum"
+ },
+ "AED": {
+ "name": "VAE-Dirham"
+ },
+ "VUV": {
+ "name": "Vanuatu-Vatu"
+ },
+ "VEF": {
+ "name": "Venezolanesche Bolívar"
+ },
+ "VND": {
+ "name": "Vietnameseschen Dong",
+ "symbol": "₫"
+ },
+ "BYN": {
+ "name": "Wäissrussesche Rubel"
+ },
+ "BYR": {
+ "name": "Wäissrussesche Rubel (2000–2016)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/lg.json b/vendor/commerceguys/intl/resources/currency/lg.json
new file mode 100644
index 000000000..d307432d3
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/lg.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Ruble"
+ },
+ "BYR": {
+ "name": "Belarusian Ruble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "ETB": {
+ "name": "Biiru ey’Esyopya"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "GMD": {
+ "name": "Dalasi ey’eGambya"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DZD": {
+ "name": "Dinaali ey’Aligerya"
+ },
+ "BHD": {
+ "name": "Dinaali ey’eBaareeni"
+ },
+ "LYD": {
+ "name": "Dinaali ey’eLibya"
+ },
+ "SDG": {
+ "name": "Dinaali ey’eSudaani"
+ },
+ "TND": {
+ "name": "Dinaali ey’eTunizya"
+ },
+ "MAD": {
+ "name": "Diraamu ey’eMoroko"
+ },
+ "AED": {
+ "name": "Diraamu eya Emireeti"
+ },
+ "STD": {
+ "name": "Dobura ey’eSantome ne Purincipe"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "USD": {
+ "name": "Doola ey’Amerika",
+ "symbol": "US$"
+ },
+ "AUD": {
+ "name": "Doola ey’Awusiturelya",
+ "symbol": "A$"
+ },
+ "CAD": {
+ "name": "Doola ey’eKanada",
+ "symbol": "CA$"
+ },
+ "LRD": {
+ "name": "Doola ey’eLiberya"
+ },
+ "NAD": {
+ "name": "Doola ey’eNamibiya"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "CVE": {
+ "name": "Esikudo ey’Keepu Veredi"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "BIF": {
+ "name": "Faranga ey’eburundi"
+ },
+ "DJF": {
+ "name": "Faranga ey’eJjibuti"
+ },
+ "KMF": {
+ "name": "Faranga ey’eKomoro"
+ },
+ "CDF": {
+ "name": "Faranga ey’eKongo"
+ },
+ "MGA": {
+ "name": "Faranga ey’eMalagase"
+ },
+ "RWF": {
+ "name": "Faranga ey’eRwanda"
+ },
+ "CHF": {
+ "name": "Faranga ey’eSwitizirandi"
+ },
+ "XOF": {
+ "name": "Faranga ey’omu Afirika ey’ebugwanjuba",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Faranga ey’omu Afirika eya wakati",
+ "symbol": "FCFA"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "MWK": {
+ "name": "Kwaca ey’eMalawi"
+ },
+ "ZMW": {
+ "name": "Kwaca ey’eZambya"
+ },
+ "AOA": {
+ "name": "Kwanza ey’Angola"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "SLL": {
+ "name": "Lewone"
+ },
+ "SZL": {
+ "name": "Lilangeni"
+ },
+ "LSL": {
+ "name": "Loti ey’eLesoso"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "ERN": {
+ "name": "Nakifa ey’Eritureya"
+ },
+ "NGN": {
+ "name": "Nayira ey’eNayijerya"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "GBP": {
+ "name": "Pawundi ey’eBungereza",
+ "symbol": "£"
+ },
+ "EGP": {
+ "name": "Pawundi ey’eMisiri"
+ },
+ "SHP": {
+ "name": "Pawundi ey’eSenti Herena"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "BWP": {
+ "name": "Pula ey’eBotiswana"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "ZAR": {
+ "name": "Randi ey’eSawusafirika"
+ },
+ "SAR": {
+ "name": "Riyaali ey’eBuwarabu"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "INR": {
+ "name": "Rupiya ey’eBuyindi",
+ "symbol": "₹"
+ },
+ "MUR": {
+ "name": "Rupiya ey’eMawurisyasi"
+ },
+ "SCR": {
+ "name": "Rupiya ey’eSesere"
+ },
+ "RUB": {
+ "name": "Russian Ruble"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "KES": {
+ "name": "Silingi ey’eKenya"
+ },
+ "SOS": {
+ "name": "Silingi ey’eSomaliya"
+ },
+ "TZS": {
+ "name": "Silingi ey’eTanzaniya"
+ },
+ "UGX": {
+ "name": "Silingi eya Yuganda",
+ "symbol": "USh"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "MRO": {
+ "name": "Wugwiya ey’eMawritenya"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "JPY": {
+ "name": "Yeni ey’eJapani",
+ "symbol": "JP¥"
+ },
+ "EUR": {
+ "name": "Yuro",
+ "symbol": "€"
+ },
+ "CNY": {
+ "name": "Yuwani Reniminibi ey’eCayina",
+ "symbol": "CN¥"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/ln.json b/vendor/commerceguys/intl/resources/currency/ln.json
new file mode 100644
index 000000000..409740f02
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/ln.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Ruble"
+ },
+ "BYR": {
+ "name": "Belarusian Ruble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "ETB": {
+ "name": "Birɛ ya Etsiópi"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "GMD": {
+ "name": "Dalasi ya Gambi"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DZD": {
+ "name": "Dinarɛ ya Alizeri"
+ },
+ "BHD": {
+ "name": "Dinarɛ ya Bahrɛnɛ"
+ },
+ "LYD": {
+ "name": "Dinarɛ ya Libí"
+ },
+ "SDG": {
+ "name": "Dinarɛ ya Sudá"
+ },
+ "TND": {
+ "name": "Dinarɛ ya Tinizi"
+ },
+ "MAD": {
+ "name": "Dirihame ya Marokɛ"
+ },
+ "AED": {
+ "name": "Dirihamɛ ya Lémila alabo"
+ },
+ "STD": {
+ "name": "Dobra ya Sao Tomé mpé Presipe"
+ },
+ "USD": {
+ "name": "Dolarɛ ya Ameriki",
+ "symbol": "US$"
+ },
+ "CAD": {
+ "name": "Dolarɛ ya Kanadá",
+ "symbol": "CA$"
+ },
+ "LRD": {
+ "name": "Dolarɛ ya Liberya"
+ },
+ "NAD": {
+ "name": "Dolarɛ ya Namibi"
+ },
+ "AUD": {
+ "name": "Dolarɛ ya Ositali",
+ "symbol": "A$"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "CVE": {
+ "name": "Esikudo ya Kapevɛrɛ"
+ },
+ "EUR": {
+ "name": "Ɛlɔ́",
+ "symbol": "€"
+ },
+ "XOF": {
+ "name": "Falánga CFA BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Falánga CFA BEAC",
+ "symbol": "FCFA"
+ },
+ "BIF": {
+ "name": "Falánga ya Burundi"
+ },
+ "DJF": {
+ "name": "Falánga ya Dzibuti"
+ },
+ "KMF": {
+ "name": "Falánga ya Komoro"
+ },
+ "CDF": {
+ "name": "Falánga ya Kongó",
+ "symbol": "FC"
+ },
+ "MGA": {
+ "name": "Falánga ya Madagasikarɛ"
+ },
+ "RWF": {
+ "name": "Falánga ya Rwanda"
+ },
+ "CHF": {
+ "name": "Falánga ya Swisɛ"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "AOA": {
+ "name": "Kwanza ya Angóla"
+ },
+ "MWK": {
+ "name": "Kwasha ya Malawi"
+ },
+ "ZMW": {
+ "name": "Kwasha ya Zambi"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "SLL": {
+ "name": "Leonɛ"
+ },
+ "SZL": {
+ "name": "Lilangeni"
+ },
+ "LSL": {
+ "name": "Loti ya Lesóto"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NGN": {
+ "name": "Naira ya Nizerya"
+ },
+ "ERN": {
+ "name": "Nakfa ya Elitlɛ"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "GBP": {
+ "name": "Paunɛ ya Angɛlɛtɛ́lɛ",
+ "symbol": "£"
+ },
+ "EGP": {
+ "name": "Paunɛ ya Ezípitɛ"
+ },
+ "SHP": {
+ "name": "Paunɛ ya Sántu elena"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "BWP": {
+ "name": "Pula ya Botswana"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "ZAR": {
+ "name": "Randɛ ya Afríka Súdi"
+ },
+ "SAR": {
+ "name": "Riyalɛ ya Alabi Sawuditɛ"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "INR": {
+ "name": "Rupi ya Índɛ",
+ "symbol": "₹"
+ },
+ "MUR": {
+ "name": "Rupi ya Morisi"
+ },
+ "SCR": {
+ "name": "Rupi ya Sɛshɛlɛ"
+ },
+ "RUB": {
+ "name": "Russian Ruble"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "KES": {
+ "name": "Shilingɛ ya Kenya"
+ },
+ "SOS": {
+ "name": "Shilingɛ ya Somali"
+ },
+ "TZS": {
+ "name": "Shilingɛ ya Tanzani"
+ },
+ "UGX": {
+ "name": "Shilingɛ ya Uganda"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "MRO": {
+ "name": "Ugwiya ya Moritani"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "JPY": {
+ "name": "Yeni ya Zapɔ",
+ "symbol": "JP¥"
+ },
+ "CNY": {
+ "name": "Yuanɛ Renminbi ya Sinɛ",
+ "symbol": "CN¥"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/lo.json b/vendor/commerceguys/intl/resources/currency/lo.json
new file mode 100644
index 000000000..d7a8a445e
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/lo.json
@@ -0,0 +1,498 @@
+{
+ "PYG": {
+ "name": "ກວາຣານີ ປາຣາກວາຍ"
+ },
+ "GYD": {
+ "name": "ກາຍ​ຢາ​ນີ​ສ ໂດ​ລ່າ"
+ },
+ "KHR": {
+ "name": "ກຳ​ປູ​ເຈຍ ຣຽວ"
+ },
+ "GNF": {
+ "name": "ກິ​ນຽນ ຟຣັງ"
+ },
+ "GIP": {
+ "name": "ກິບ​ຣາ​ທາ ພາ​ວດ໌"
+ },
+ "GTQ": {
+ "name": "ກົວເຕມາລານ ເຄັດຊອນ"
+ },
+ "KRW": {
+ "name": "ເກົາ​ຫລີໃຕ້ ວອນ",
+ "symbol": "₩"
+ },
+ "KPW": {
+ "name": "ເກົາ​ຫລີ​ເໜືອ ວອນ"
+ },
+ "GMD": {
+ "name": "​ແກມ​ບຽນ ດາ​ລາ​ຊິ"
+ },
+ "SVC": {
+ "name": "ໂກລອງ ເອກາວາດໍ"
+ },
+ "KGS": {
+ "name": "ຄ​ຣີ​ກິສ​​ຖາ​ນິ ໂຊມ"
+ },
+ "CDF": {
+ "name": "ຄອງ​ໂກ​ລີສ ຟຣັງ"
+ },
+ "KZT": {
+ "name": "ຄາ​ຊັກ​ສະ​ຖາ​ນິ ເຕັງ​ເຈ"
+ },
+ "QAR": {
+ "name": "ຄາ​ຕາ​ຣິ ຣຽວ"
+ },
+ "CUC": {
+ "name": "ຄິວແບນ ຄອນເວີດຕິໂບ ເປໂຊ"
+ },
+ "CUP": {
+ "name": "ຄິວແບນ ເປໂຊ"
+ },
+ "KWD": {
+ "name": "ຄູ​ເວ​ຕິ ດິ​ນາ"
+ },
+ "KES": {
+ "name": "ເຄນ​ຢັນ ຊິວ​ລິງ"
+ },
+ "CVE": {
+ "name": "ເຄບ ເວີດ​ດີນ ເອ​ສ​ຄູ​ໂດ"
+ },
+ "KYD": {
+ "name": "ເຄ​ແມນ ໄອ​ແລນ ໂດ​ລ່າ"
+ },
+ "CRC": {
+ "name": "ໂຄສຕາ ຣິກັນ ໂຄລອນ"
+ },
+ "KMF": {
+ "name": "ໂຄ​ໂມ​ຣຽນ ຟຣັງ"
+ },
+ "HRK": {
+ "name": "ໂຄຣ​ເອ​ທຽນ ຄູ​ນາ"
+ },
+ "CZK": {
+ "name": "ໂຄ​ຣູ​ນາ ເຊກ"
+ },
+ "COP": {
+ "name": "ໂຄ​ລົມ​ບຽນ ເປ​ໂຊ"
+ },
+ "GEL": {
+ "name": "ຈໍ​ຈຽນ ລາ​ຣິ"
+ },
+ "JOD": {
+ "name": "ຈໍ​ແດ​ນຽນ ດິ​ນາ"
+ },
+ "JMD": {
+ "name": "​ຈາ​ໄມ​ກັນ ໂດ​ລ່າ"
+ },
+ "CNY": {
+ "name": "ຈີນ ຢວນ",
+ "symbol": "CN¥"
+ },
+ "SZL": {
+ "name": "ສະ​ວາ​ຊິ ລິ​ລັນ​ກິ​ນີ"
+ },
+ "CHF": {
+ "name": "ສະ​ວິ​ສ ຟ​ຣັງ"
+ },
+ "SEK": {
+ "name": "ສະ​ວີ​ດິ​ຊ ໂຄຣ​ນາ"
+ },
+ "AED": {
+ "name": "ສະ​ຫະ​ລັດ​ອາ​ຣັບ​ອາ​ມິ​ເຣດ ເດີ​ແຮມ"
+ },
+ "XAF": {
+ "name": "ສາທາລະນະລັດອາຟຣິກາກາງ",
+ "symbol": "FCFA"
+ },
+ "SGD": {
+ "name": "ສິງ​ກະ​ໂປ ໂດ​ລ່າ"
+ },
+ "LKR": {
+ "name": "ສີ​ລັງ​ກາ ຣູ​ປີ"
+ },
+ "WST": {
+ "name": "ຊາ​ໂມນ ທາ​ລາ"
+ },
+ "SAR": {
+ "name": "ຊາ​ອູ​ດິ ຣິ​ຢອນ"
+ },
+ "CLP": {
+ "name": "ຊິ​ລຽນ ເປ​ໂຊ"
+ },
+ "SYP": {
+ "name": "ຊີ​ຣຽນ ພາວດ໌"
+ },
+ "XPF": {
+ "name": "ຊີ​ເອັບ​ພີ ຟຣັງ",
+ "symbol": "CFPF"
+ },
+ "SDG": {
+ "name": "ຊູ​ດານ​ນີ​ສ ພາວດ໌"
+ },
+ "SRD": {
+ "name": "ຊູ​ຣິ​ນາ​ມີ​ສ ໂດ​ລ່າ"
+ },
+ "SCR": {
+ "name": "ເຊ​ເຊວ​ລອຍ​ສ໌ ຣູ​ປີ"
+ },
+ "SLL": {
+ "name": "ເຊຍ​ນາ ​ເລໂອ​ນຽນ ເລ​ໂອນ"
+ },
+ "GHS": {
+ "name": "ເຊ​ດິ ກາ​ນາ​ອຽນ"
+ },
+ "SHP": {
+ "name": "ເຊນ ເຮ​ເລ​ນາ ພາວດ໌"
+ },
+ "RSD": {
+ "name": "ເຊີ​ບຽນ ດິ​ນາ"
+ },
+ "STD": {
+ "name": "ເຊົາ ໂທ​ເມ ແອນ ພ​ຣິນ​ຊິ​ປີ ໂດບຣາ"
+ },
+ "SSP": {
+ "name": "ເຊົາ​ທ໌ ຊູ​ດານ​ນີ​ສ ພາວດ໌"
+ },
+ "ZAR": {
+ "name": "ເຊົາທ໌ ອາ​ຟຣິ​ກັນ ແຣນດ໌"
+ },
+ "ZMW": {
+ "name": "ແຊມ​ບຽນ ຄວາ​ຊາ"
+ },
+ "SOS": {
+ "name": "ໂຊ​ມາ​ລິ ຊິວ​ລິງ"
+ },
+ "SBD": {
+ "name": "ໂຊ​ໂລມອນ ໄອ​ແລນ ໂດ​ລ່າ"
+ },
+ "JPY": {
+ "name": "ຍີ່​ປຸ່ນ ເຢນ",
+ "symbol": "JP¥"
+ },
+ "ZWL": {
+ "name": "ດອນລາ ຊິມບັບເວ (2009)"
+ },
+ "DJF": {
+ "name": "​ດິ​ບູ​ຈຽນ ຟຣັງ"
+ },
+ "DKK": {
+ "name": "ແດນ​ນິ​ຊ ໂຄຣນ"
+ },
+ "DOP": {
+ "name": "ໂດ​ມິ​ນິ​ກັນ ເປ​ໂຊ"
+ },
+ "BBD": {
+ "name": "ໂດລ່າ ບາບາດຽນ"
+ },
+ "BSD": {
+ "name": "ໂດລ່າ ບາຮາມຽນ"
+ },
+ "CAD": {
+ "name": "ໂດລ່າຄານາດາ",
+ "symbol": "CA$"
+ },
+ "USD": {
+ "name": "​ໂດ​ລ່າ​ສະ​ຫະ​ລັດຯ",
+ "symbol": "US$"
+ },
+ "BZD": {
+ "name": "ໂດ​ລ່າ​ເບ​ລິ​ຊ"
+ },
+ "BMD": {
+ "name": "ໂດ​ລ່າ​ເບີ​ມິວ​ດາ"
+ },
+ "TOP": {
+ "name": "ຕອງ​ກັນ ປາ​ອັງ​ກາ"
+ },
+ "TND": {
+ "name": "ຕູ​ນິ​ຊຽນ ດິ​ນາ"
+ },
+ "TMT": {
+ "name": "ເຕີກ​ເມ​ນິ​ສ​ຖາ​ນິ ມາ​ນັດ"
+ },
+ "TRY": {
+ "name": "ເຕີ​ກິ​ຊ ລິ​ຣາ"
+ },
+ "TTD": {
+ "name": "ທ​ຣິ​ນິ​ແດດ ແອນ ໂທ​ບາ​ໂກ ໂດ​ລ່າ"
+ },
+ "TJS": {
+ "name": "ທາ​ຈິ​ກິ​​ຖາ​ນິ ໂຊ​ໂມ​ນິ"
+ },
+ "TZS": {
+ "name": "ທານ​ຊາ​ນຽນ ຊິວ​ລິງ"
+ },
+ "THB": {
+ "name": "ໄທ ບາດ",
+ "symbol": "฿"
+ },
+ "NOK": {
+ "name": "ນໍ​ເວ​ກຽນ ​ໂຄຣນ"
+ },
+ "NAD": {
+ "name": "ນາ​ມິ​ບຽນ ໂດ​ລ່າ"
+ },
+ "NIO": {
+ "name": "ນິກາຣາກວນ ໂຄໂດບາ"
+ },
+ "TWD": {
+ "name": "ນິວ ໄຕ້​ຫວັນ ໂດ​ລ່າ",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "ນິວ​ຊີ​ແລນ ໂດ​ລ່າ",
+ "symbol": "NZ$"
+ },
+ "ANG": {
+ "name": "ເນ​ເທີ​ແລນ ແອນ​ຕິ​ລຽນ ກິວ​ເດີ"
+ },
+ "NPR": {
+ "name": "ເນ​ປານ ຣູ​ປີ"
+ },
+ "NGN": {
+ "name": "ໄນ​ຣາ ​ໄນເຈີ​ຣຽນ"
+ },
+ "BRL": {
+ "name": "ບຣາ​ຊິ​ລຽນ ຣຽວ",
+ "symbol": "R$"
+ },
+ "BND": {
+ "name": "ບຣູ​ໄນ ໂດ​ລ່າ"
+ },
+ "BAM": {
+ "name": "ບອ​ສ​ເນຍ-ເຮີ​ເຊ​ໂກວິ​ນາ ຄອນ​ເວີດ​ຕິ​ໂບ ມາກ"
+ },
+ "BWP": {
+ "name": "ບອດ​ສະ​ວາ​ນານ ພູ​ລາ"
+ },
+ "BGN": {
+ "name": "ບັງ​ກາ​ຣຽນ ເລບ"
+ },
+ "BDT": {
+ "name": "ບັງ​ຄລາ​ເທດ ຕາ​ກາ"
+ },
+ "BHD": {
+ "name": "ບາ​ໄຣ​ນິ ດິ​ນາ"
+ },
+ "BIF": {
+ "name": "ບຸ​ຣັນ​ດຽນ ຟຣັງ"
+ },
+ "BYN": {
+ "name": "ເບ​ລາ​ຣຸ​ສ​ຊຽນ ຣູ​ເບິນ"
+ },
+ "BYR": {
+ "name": "ເບ​ລາ​ຣຸ​ສ​ຊຽນ ຣູ​ເບິນ (2000–2016)"
+ },
+ "BOB": {
+ "name": "ໂບ​ລິ​ວຽນ ໂບ​ລິ​ເວຍ​ໂນ"
+ },
+ "GBP": {
+ "name": "ປອນ ສະ​ເຕີ​ຣິງ (ອັງ​ກິດ)",
+ "symbol": "£"
+ },
+ "PKR": {
+ "name": "ປາ​ກິ​ສຖານ ຣູ​ປີ"
+ },
+ "PGK": {
+ "name": "ປາ​ປົວ ນິວ ກິ​ນຽນ ກິ​ນາ"
+ },
+ "PEN": {
+ "name": "ເປ​ຣູ​ວຽນ ນູ​ໂວ ໂຊ​ລ໌"
+ },
+ "PLN": {
+ "name": "ໂປ​ລິ​ຊ ຊະ​ລໍ​ຕີ"
+ },
+ "PAB": {
+ "name": "ພານາມານຽນ ບອນບົວ"
+ },
+ "BTN": {
+ "name": "ພູ​ຖານ ງຸນດຣັມ"
+ },
+ "FKP": {
+ "name": "ຟອ​ລ໌ກ​ແລນ ໄອ​ແລນ​ສ໌ ພາວ​ດ໌"
+ },
+ "XOF": {
+ "name": "ຟັງເຊຟານ ອາຟຣິກາຕາເວັນຕົກ",
+ "symbol": "CFA"
+ },
+ "FJD": {
+ "name": "ຟິ​ຈຽນ ໂດ​ລ່າ"
+ },
+ "PHP": {
+ "name": "ຟິ​ລິບ​ປິນ ເປ​ໂຊ"
+ },
+ "MAD": {
+ "name": "ມໍ​ຣັອກ​ແຄນ​ ເດີ​ແຮມ"
+ },
+ "MNT": {
+ "name": "ມອງ​ໂກ​ລຽນ ຕູກຣິກ"
+ },
+ "MDL": {
+ "name": "ມອນ​ໂດ​ແວນ ເລ​ອູ"
+ },
+ "MVR": {
+ "name": "ມັ​ລ​ດິ​ວຽນ ຣູ​ຟິ​ຢາ"
+ },
+ "MOP": {
+ "name": "ມາ​ເກົ້າ ປາ​​ຕາ​ກາ"
+ },
+ "MGA": {
+ "name": "ມາ​ລາ​ກາ​ຊີ ອາ​ເຣຍ​ຣີ"
+ },
+ "MWK": {
+ "name": "ມາ​ລາ​ວຽນ ຄວາ​ຊາ"
+ },
+ "MYR": {
+ "name": "ມາ​ເລ​ເຊຍ ຣິງ​ກິດ"
+ },
+ "MRO": {
+ "name": "ມົວ​ຣິ​ທາ​ນຽນ ອູ​ກິວ​ຢາ"
+ },
+ "MMK": {
+ "name": "ມຽນ​ມາ ຈ໊າດ"
+ },
+ "MXN": {
+ "name": "ເມັກຊິກັນ ເປໂຊ",
+ "symbol": "MX$"
+ },
+ "MUR": {
+ "name": "ເມົາ​ຣິ​ທຽນ ຣູ​ປີ"
+ },
+ "MKD": {
+ "name": "ແມັກ​ເຊ​ໂດ​ນຽນ ເດ​ນາ"
+ },
+ "MZN": {
+ "name": "ໂມ​ແຊມ​ບິ​ກັນ ເມ​ທິ​ຄອນ"
+ },
+ "UAH": {
+ "name": "ຢູ​ເຄຣ​ນຽນ ຮະ​ຣີບ​ເນຍ"
+ },
+ "EUR": {
+ "name": "ຢູ​ໂຣ",
+ "symbol": "€"
+ },
+ "YER": {
+ "name": "ເຢ​ເມ​ນິ ຣຽວ"
+ },
+ "RWF": {
+ "name": "ຣະ​ວັນ​ດັນ ຟຣັງ"
+ },
+ "RUB": {
+ "name": "ຣັສ​ຊຽນ ຣູ​ເບິນ"
+ },
+ "RON": {
+ "name": "ໂຣ​ມາ​ນຽນ ເລ​ອູ"
+ },
+ "LAK": {
+ "name": "ລາວ ກີບ",
+ "symbol": "₭"
+ },
+ "LYD": {
+ "name": "ລິບ​ບຽນ ດິ​ນາ"
+ },
+ "LRD": {
+ "name": "ລິ​ເບີ​ຣຽນ ໂດ​ລ່າ"
+ },
+ "LBP": {
+ "name": "ເລ​ບາ​ນີ​ສ ພາວດ໌"
+ },
+ "LSL": {
+ "name": "ໂລຕິ ເລໂຊໂຕ"
+ },
+ "VUV": {
+ "name": "​ວາ​ນົວ​ຕູ ວາ​ຕູ"
+ },
+ "VEF": {
+ "name": "ເວ​ເນ​ຊູ​ເອ​ລັນ ໂບ​ລິ​ວາ"
+ },
+ "VND": {
+ "name": "ຫວຽດ​ນາມ ດົງ",
+ "symbol": "₫"
+ },
+ "AUD": {
+ "name": "ອອສ​ເຕຣ​ລຽນ ໂດ​ລ່າ",
+ "symbol": "A$"
+ },
+ "AWG": {
+ "name": "ອະຣູແບນ ຟລໍຣິນ"
+ },
+ "AFN": {
+ "name": "ອັຟ​ກັນ ອັຟ​ກາ​ນິ"
+ },
+ "DZD": {
+ "name": "ອັລ​ເຈີ​ຣຽນ ດິ​ນາ"
+ },
+ "ALL": {
+ "name": "ອັລ​ບາ​ນຽນ ເລກ"
+ },
+ "ARS": {
+ "name": "ອາ​ເຈນ​ທິ​ນາ ເປ​ໂຊ"
+ },
+ "AZN": {
+ "name": "ອາ​ເຊີ​ໄບ​ຈາ​ນິ ມາ​ນັດ"
+ },
+ "AMD": {
+ "name": "ອາ​ເມ​ນຽນ ແດຣມ"
+ },
+ "ILS": {
+ "name": "ອິສ​ຣາ​ເອວ​ລິ ນິວ ເຊ​ເກວ",
+ "symbol": "₪"
+ },
+ "INR": {
+ "name": "ອິນ​ເດຍ ຣູ​ປີ",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "ອິນ​ໂດ​ເນ​ຊຽນ ໂດ​ລ່າ"
+ },
+ "IQD": {
+ "name": "ອິ​ຣັກ​ກິ ດິ​ນາ"
+ },
+ "IRR": {
+ "name": "ອິ​ຣາ​ນິ ຣຽວ"
+ },
+ "ERN": {
+ "name": "ອິ​ຣິ​ທຣຽນ ແນກ​ຟ​າ"
+ },
+ "XCD": {
+ "name": "ອີ​ສ ຄາ​ຣິ​ບຽນ ໂດ​ລ່າ",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "ອີ​ຢິບ​ທຽນ ພາວດ໌"
+ },
+ "UZS": {
+ "name": "ອຸສເບກິສຖານິ ໂຊມ"
+ },
+ "UGX": {
+ "name": "ອູ​ກັນ​ດັນ ຊິວ​ລິງ"
+ },
+ "UYU": {
+ "name": "ອູ​ຣຸ​ກົວ​ຢານ ເປ​ໂຊ"
+ },
+ "ETB": {
+ "name": "ເອ​ທິ​ໂອ​ປຽນ ເບີ​ຣ໌"
+ },
+ "AOA": {
+ "name": "ແອງ​ໂກ​ລັນ ຄວນ​ຊາ"
+ },
+ "OMR": {
+ "name": "ໂອ​ມາ​ນິ ຣຽວ"
+ },
+ "ISK": {
+ "name": "ໄອ​ສ໌​ແລນ​ດິກ ໂຄຣ​ນາ"
+ },
+ "HKD": {
+ "name": "ຮອງ​ກົງ ໂດ​ລ່າ",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "ຮອນດູແຣນ ເລມພິຣາ"
+ },
+ "HUF": {
+ "name": "ຮັງ​ກາ​ຣຽນ ຟໍ​ຣິນ"
+ },
+ "HTG": {
+ "name": "ໄຮ​ຕຽນ ກົວ​ເດ"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/lt.json b/vendor/commerceguys/intl/resources/currency/lt.json
new file mode 100644
index 000000000..6ab34834a
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/lt.json
@@ -0,0 +1,477 @@
+{
+ "AFN": {
+ "name": "Afganistano afganis"
+ },
+ "ALL": {
+ "name": "Albanijos lekas"
+ },
+ "DZD": {
+ "name": "Alžyro dinaras"
+ },
+ "AOA": {
+ "name": "Angolos kvanza"
+ },
+ "ARS": {
+ "name": "Argentinos pesas"
+ },
+ "AMD": {
+ "name": "Armėnijos dramas"
+ },
+ "AWG": {
+ "name": "Arubos guldenas"
+ },
+ "AUD": {
+ "name": "Australijos doleris"
+ },
+ "AZN": {
+ "name": "Azerbaidžano manatas"
+ },
+ "BSD": {
+ "name": "Bahamų doleris"
+ },
+ "BHD": {
+ "name": "Bahreino dinaras"
+ },
+ "BYN": {
+ "name": "Baltarusijos rublis"
+ },
+ "BYR": {
+ "name": "Baltarusijos rublis (2000–2016)"
+ },
+ "BDT": {
+ "name": "Bangladešo taka"
+ },
+ "BBD": {
+ "name": "Barbadoso doleris"
+ },
+ "BZD": {
+ "name": "Belizo doleris"
+ },
+ "BMD": {
+ "name": "Bermudos doleris"
+ },
+ "BOB": {
+ "name": "Bolivijos bolivijanas"
+ },
+ "BAM": {
+ "name": "Bosnijos ir Hercegovinos konvertuojamoji markė"
+ },
+ "BWP": {
+ "name": "Botsvanos pula"
+ },
+ "BRL": {
+ "name": "Brazilijos realas"
+ },
+ "BND": {
+ "name": "Brunėjaus doleris"
+ },
+ "BGN": {
+ "name": "Bulgarijos levas"
+ },
+ "BIF": {
+ "name": "Burundžio frankas"
+ },
+ "BTN": {
+ "name": "Butano ngultrumas"
+ },
+ "XOF": {
+ "name": "CFA BCEAO frankas"
+ },
+ "XAF": {
+ "name": "CFA BEAC frankas"
+ },
+ "XPF": {
+ "name": "CFP frankas"
+ },
+ "CZK": {
+ "name": "Čekijos krona"
+ },
+ "CLP": {
+ "name": "Čilės pesas"
+ },
+ "DKK": {
+ "name": "Danijos krona"
+ },
+ "GBP": {
+ "name": "Didžiosios Britanijos svaras"
+ },
+ "DOP": {
+ "name": "Dominikos pesas"
+ },
+ "DJF": {
+ "name": "Džibučio frankas"
+ },
+ "EGP": {
+ "name": "Egipto svaras"
+ },
+ "ERN": {
+ "name": "Eritrėjos nakfa"
+ },
+ "ETB": {
+ "name": "Etiopijos biras"
+ },
+ "EUR": {
+ "name": "Euras",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falklando salų svaras"
+ },
+ "FJD": {
+ "name": "Fidžio doleris"
+ },
+ "PHP": {
+ "name": "Filipinų pesas"
+ },
+ "GYD": {
+ "name": "Gajanos doleris"
+ },
+ "GMD": {
+ "name": "Gambijos dalasis"
+ },
+ "GHS": {
+ "name": "Ganos sedis"
+ },
+ "GIP": {
+ "name": "Gibraltaro svaras"
+ },
+ "GEL": {
+ "name": "Gruzijos laris"
+ },
+ "GTQ": {
+ "name": "Gvatemalos ketcalis"
+ },
+ "GNF": {
+ "name": "Gvinėjos frankas"
+ },
+ "HTG": {
+ "name": "Haičio gurdas"
+ },
+ "HNL": {
+ "name": "Hondūro lempira"
+ },
+ "HKD": {
+ "name": "Honkongo doleris"
+ },
+ "INR": {
+ "name": "Indijos rupija"
+ },
+ "IDR": {
+ "name": "Indonezijos rupija"
+ },
+ "IQD": {
+ "name": "Irako dinaras"
+ },
+ "IRR": {
+ "name": "Irano rialas"
+ },
+ "ISK": {
+ "name": "Islandijos krona"
+ },
+ "ILS": {
+ "name": "Izraelio naujasis šekelis"
+ },
+ "JMD": {
+ "name": "Jamaikos doleris"
+ },
+ "JPY": {
+ "name": "Japonijos jena"
+ },
+ "USD": {
+ "name": "JAV doleris"
+ },
+ "YER": {
+ "name": "Jemeno rialas"
+ },
+ "JOD": {
+ "name": "Jordanijos dinaras"
+ },
+ "AED": {
+ "name": "Jungtinių Arabų Emyratų dirhamas"
+ },
+ "KYD": {
+ "name": "Kaimanų salų doleris"
+ },
+ "KHR": {
+ "name": "Kambodžos rielis"
+ },
+ "CAD": {
+ "name": "Kanados doleris"
+ },
+ "QAR": {
+ "name": "Kataro rialas"
+ },
+ "KZT": {
+ "name": "Kazachstano tengė"
+ },
+ "KES": {
+ "name": "Kenijos šilingas"
+ },
+ "CNY": {
+ "name": "Kinijos ženminbi juanis"
+ },
+ "KGS": {
+ "name": "Kirgizijos somas"
+ },
+ "COP": {
+ "name": "Kolumbijos pesas"
+ },
+ "KMF": {
+ "name": "Komoro frankas"
+ },
+ "CDF": {
+ "name": "Kongo frankas"
+ },
+ "CRC": {
+ "name": "Kosta Rikos kolonas"
+ },
+ "HRK": {
+ "name": "Kroatijos kuna"
+ },
+ "CUC": {
+ "name": "Kubos konvertuojamasis pesas"
+ },
+ "CUP": {
+ "name": "Kubos pesas"
+ },
+ "KWD": {
+ "name": "Kuveito dinaras"
+ },
+ "LAK": {
+ "name": "Laoso kipas"
+ },
+ "PLN": {
+ "name": "Lenkijos zlotas"
+ },
+ "LSL": {
+ "name": "Lesoto lotis"
+ },
+ "LBP": {
+ "name": "Libano svaras"
+ },
+ "LRD": {
+ "name": "Liberijos doleris"
+ },
+ "LYD": {
+ "name": "Libijos dinaras"
+ },
+ "MGA": {
+ "name": "Madagaskaro ariaris"
+ },
+ "MOP": {
+ "name": "Makao pataka"
+ },
+ "MKD": {
+ "name": "Makedonijos denaras"
+ },
+ "MYR": {
+ "name": "Malaizijos ringitas"
+ },
+ "MWK": {
+ "name": "Malavio kvača"
+ },
+ "MVR": {
+ "name": "Maldyvų rufija"
+ },
+ "MAD": {
+ "name": "Maroko dirhamas"
+ },
+ "MUR": {
+ "name": "Mauricijaus rupija"
+ },
+ "MRO": {
+ "name": "Mauritanijos ugija"
+ },
+ "MXN": {
+ "name": "Meksikos pesas"
+ },
+ "MMK": {
+ "name": "Mianmaro kijatas"
+ },
+ "MDL": {
+ "name": "Moldovos lėja"
+ },
+ "MNT": {
+ "name": "Mongolijos tugrikas"
+ },
+ "MZN": {
+ "name": "Mozambiko metikalis"
+ },
+ "NAD": {
+ "name": "Namibijos doleris"
+ },
+ "NZD": {
+ "name": "Naujosios Zelandijos doleris"
+ },
+ "NPR": {
+ "name": "Nepalo rupija"
+ },
+ "NGN": {
+ "name": "Nigerijos naira"
+ },
+ "NIO": {
+ "name": "Nikaragvos kordoba"
+ },
+ "NOK": {
+ "name": "Norvegijos krona"
+ },
+ "ANG": {
+ "name": "Olandijos Antilų guldenas"
+ },
+ "OMR": {
+ "name": "Omano rialas"
+ },
+ "PKR": {
+ "name": "Pakistano rupija"
+ },
+ "PAB": {
+ "name": "Panamos balboja"
+ },
+ "PGK": {
+ "name": "Papua Naujosios Gvinėjos kina"
+ },
+ "PYG": {
+ "name": "Paragvajaus guaranis"
+ },
+ "PEN": {
+ "name": "Peru naujasis solis"
+ },
+ "ZAR": {
+ "name": "Pietų Afrikos Respublikos randas"
+ },
+ "KRW": {
+ "name": "Pietų Korėjos vonas"
+ },
+ "SSP": {
+ "name": "Pietų Sudano svaras"
+ },
+ "XCD": {
+ "name": "Rytų Karibų doleris"
+ },
+ "RWF": {
+ "name": "Ruandos frankas"
+ },
+ "RON": {
+ "name": "Rumunijos lėja"
+ },
+ "RUB": {
+ "name": "Rusijos rublis"
+ },
+ "SBD": {
+ "name": "Saliamono salų doleris"
+ },
+ "SVC": {
+ "name": "Salvadoro kolonas"
+ },
+ "WST": {
+ "name": "Samoa tala"
+ },
+ "STD": {
+ "name": "San Tomės ir Principės dobra"
+ },
+ "SAR": {
+ "name": "Saudo Arabijos rijalas"
+ },
+ "SCR": {
+ "name": "Seišelių rupija"
+ },
+ "RSD": {
+ "name": "Serbijos dinaras"
+ },
+ "SLL": {
+ "name": "Siera Leonės leonė"
+ },
+ "SGD": {
+ "name": "Singapūro doleris"
+ },
+ "SYP": {
+ "name": "Sirijos svaras"
+ },
+ "SOS": {
+ "name": "Somalio šilingas"
+ },
+ "SDG": {
+ "name": "Sudano svaras"
+ },
+ "SRD": {
+ "name": "Surimano doleris"
+ },
+ "SZL": {
+ "name": "Svazilando lilangenis"
+ },
+ "KPW": {
+ "name": "Šiaurės Korėjos vonas"
+ },
+ "LKR": {
+ "name": "Šri Lankos rupija"
+ },
+ "SHP": {
+ "name": "Šv. Elenos salų svaras"
+ },
+ "SEK": {
+ "name": "Švedijos krona"
+ },
+ "CHF": {
+ "name": "Šveicarijos frankas"
+ },
+ "TJS": {
+ "name": "Tadžikistano somonis"
+ },
+ "THB": {
+ "name": "Tailando batas"
+ },
+ "TWD": {
+ "name": "Taivano naujasis doleris"
+ },
+ "TZS": {
+ "name": "Tanzanijos šilingas"
+ },
+ "TOP": {
+ "name": "Tongo paanga"
+ },
+ "TTD": {
+ "name": "Trinidado ir Tobago doleris"
+ },
+ "TND": {
+ "name": "Tuniso dinaras"
+ },
+ "TRY": {
+ "name": "Turkijos lira"
+ },
+ "TMT": {
+ "name": "Turkmėnistano manatas"
+ },
+ "UGX": {
+ "name": "Ugandos šilingas"
+ },
+ "UAH": {
+ "name": "Ukrainos grivina"
+ },
+ "UYU": {
+ "name": "Urugvajaus pesas"
+ },
+ "UZS": {
+ "name": "Uzbekistano sumas"
+ },
+ "VUV": {
+ "name": "Vanuatu vatas"
+ },
+ "VEF": {
+ "name": "Venesuelos bolivaras"
+ },
+ "HUF": {
+ "name": "Vengrijos forintas"
+ },
+ "VND": {
+ "name": "Vietnamo dongas"
+ },
+ "ZMW": {
+ "name": "Zambijos kvača"
+ },
+ "ZWL": {
+ "name": "Zimbabvės doleris (2009)"
+ },
+ "CVE": {
+ "name": "Žaliojo Kyšulio eskudas"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/lu.json b/vendor/commerceguys/intl/resources/currency/lu.json
new file mode 100644
index 000000000..a61f71c8e
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/lu.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Ruble"
+ },
+ "BYR": {
+ "name": "Belarusian Ruble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "ETB": {
+ "name": "Bira wa Etshiopi"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "STD": {
+ "name": "Dobra wa Sao Tome ne Presipe"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "CVE": {
+ "name": "Esikuludo wa Kapevere"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "EUR": {
+ "name": "Iro",
+ "symbol": "€"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "AOA": {
+ "name": "Kwanza wa Angola"
+ },
+ "MWK": {
+ "name": "Kwasha wa Malawi"
+ },
+ "ZMW": {
+ "name": "Kwasha wa Zambi"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "SLL": {
+ "name": "Leone"
+ },
+ "SZL": {
+ "name": "Lilangeni"
+ },
+ "LSL": {
+ "name": "Loti wa Lesoto"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NGN": {
+ "name": "Naira wa Nizerya"
+ },
+ "ERN": {
+ "name": "Nakfa wa Elitle"
+ },
+ "GMD": {
+ "name": "Ndalasi wa Ngambi"
+ },
+ "DZD": {
+ "name": "Ndina wa Alijeri"
+ },
+ "BHD": {
+ "name": "Ndina wa Bahrene"
+ },
+ "LYD": {
+ "name": "Ndina wa Libi"
+ },
+ "SDG": {
+ "name": "Ndina wa Suda"
+ },
+ "TND": {
+ "name": "Ndina wa Tinizi"
+ },
+ "AED": {
+ "name": "Ndiriha wa Lemila alabu"
+ },
+ "MAD": {
+ "name": "Ndiriha wa Maroke"
+ },
+ "USD": {
+ "name": "Ndola wa Ameriki",
+ "symbol": "US$"
+ },
+ "CAD": {
+ "name": "Ndola wa Kanada",
+ "symbol": "CA$"
+ },
+ "LRD": {
+ "name": "Ndola wa Liberya"
+ },
+ "NAD": {
+ "name": "Ndola wa Namibi"
+ },
+ "AUD": {
+ "name": "Ndola wa Ositali",
+ "symbol": "A$"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "XOF": {
+ "name": "Nfalanga CFA BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Nfalanga CFA BEAC",
+ "symbol": "FCFA"
+ },
+ "BIF": {
+ "name": "Nfalanga wa Bulundi"
+ },
+ "DJF": {
+ "name": "Nfalanga wa Dzibuti"
+ },
+ "KMF": {
+ "name": "Nfalanga wa Komoru"
+ },
+ "CDF": {
+ "name": "Nfalanga wa Kongu",
+ "symbol": "FC"
+ },
+ "MGA": {
+ "name": "Nfalanga wa Madagasikare"
+ },
+ "RWF": {
+ "name": "Nfalanga wa Rwanda"
+ },
+ "CHF": {
+ "name": "Nfalanga wa Swise"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "KES": {
+ "name": "Nshili wa Kenya"
+ },
+ "SOS": {
+ "name": "Nshili wa Somali"
+ },
+ "TZS": {
+ "name": "Nshili wa Tanzani"
+ },
+ "UGX": {
+ "name": "Nshili wa Uganda"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "GBP": {
+ "name": "Pauni wa Angeletele",
+ "symbol": "£"
+ },
+ "EGP": {
+ "name": "Pauni wa Mushidi"
+ },
+ "SHP": {
+ "name": "Pauni wa Santu Elena"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "BWP": {
+ "name": "Pula wa Botswana"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "ZAR": {
+ "name": "Rande wa Afrika wa Mwinshi"
+ },
+ "SAR": {
+ "name": "Riyale wa Alabu Nsawu"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "INR": {
+ "name": "Rupi wa Inde",
+ "symbol": "₹"
+ },
+ "MUR": {
+ "name": "Rupia wa Morisi"
+ },
+ "SCR": {
+ "name": "Rupya wa Seshele"
+ },
+ "RUB": {
+ "name": "Russian Ruble"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "MRO": {
+ "name": "Ugwiya wa Moritani"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "JPY": {
+ "name": "Yeni wa Zapɔ",
+ "symbol": "JP¥"
+ },
+ "CNY": {
+ "name": "Yuani Renminbi wa Shine",
+ "symbol": "CN¥"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/luo.json b/vendor/commerceguys/intl/resources/currency/luo.json
new file mode 100644
index 000000000..5b33e91e0
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/luo.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "MGA": {
+ "name": "Ariary ya Bukini"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Ruble"
+ },
+ "BYR": {
+ "name": "Belarusian Ruble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "ETB": {
+ "name": "Birr mar Ethiopia"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "GMD": {
+ "name": "Dalasi ya Gambia"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DZD": {
+ "name": "Dinari ya Aljeria"
+ },
+ "BHD": {
+ "name": "Dinari ya Bahareni"
+ },
+ "LYD": {
+ "name": "Dinari ya Libya"
+ },
+ "TND": {
+ "name": "Dinari ya Tunisia"
+ },
+ "AED": {
+ "name": "Dirham ya Falme za Kiarabu"
+ },
+ "MAD": {
+ "name": "Dirham ya Moroko"
+ },
+ "STD": {
+ "name": "Dobra ya Sao Tome na Principe"
+ },
+ "USD": {
+ "name": "Dola",
+ "symbol": "US$"
+ },
+ "CAD": {
+ "name": "Dola mar Kanada",
+ "symbol": "CA$"
+ },
+ "LRD": {
+ "name": "Dola mar Liberia"
+ },
+ "AUD": {
+ "name": "Dola ya Australia",
+ "symbol": "A$"
+ },
+ "NAD": {
+ "name": "Dola ya Namibia"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "CVE": {
+ "name": "Eskudo ya Kepuvede"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "XOF": {
+ "name": "Faranga CFA BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Faranga CFA BEAC",
+ "symbol": "FCFA"
+ },
+ "BIF": {
+ "name": "Faranga ya Burundi"
+ },
+ "DJF": {
+ "name": "Faranga ya Jibuti"
+ },
+ "KMF": {
+ "name": "Faranga ya Komoro"
+ },
+ "CDF": {
+ "name": "Faranga ya Kongo"
+ },
+ "RWF": {
+ "name": "Faranga ya Rwanda"
+ },
+ "CHF": {
+ "name": "Faranga ya Uswisi"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "MWK": {
+ "name": "Kwacha ya Malawi"
+ },
+ "ZMW": {
+ "name": "Kwacha ya Zambia"
+ },
+ "AOA": {
+ "name": "Kwanza ya Angola"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "SLL": {
+ "name": "Leoni"
+ },
+ "SZL": {
+ "name": "Lilangeni"
+ },
+ "LSL": {
+ "name": "Loti ya Lesoto"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NGN": {
+ "name": "Naira ya Nijeria"
+ },
+ "ERN": {
+ "name": "Nakfa ya Eritrea"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "EGP": {
+ "name": "Paund mar Misri"
+ },
+ "GBP": {
+ "name": "Pauni mar Uingereza",
+ "symbol": "£"
+ },
+ "SHP": {
+ "name": "Pauni ya Santahelena"
+ },
+ "SDG": {
+ "name": "Pauni ya Sudani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "BWP": {
+ "name": "Pula mar Botswana"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "ZAR": {
+ "name": "Randi ya Afrika Kusini"
+ },
+ "SAR": {
+ "name": "Riyal ya Saudia"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "INR": {
+ "name": "Rupia ya India",
+ "symbol": "₹"
+ },
+ "MUR": {
+ "name": "Rupia ya Morisi"
+ },
+ "SCR": {
+ "name": "Rupia ya Shelisheli"
+ },
+ "RUB": {
+ "name": "Russian Ruble"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SOS": {
+ "name": "Shilingi ya Somalia"
+ },
+ "TZS": {
+ "name": "Shilingi ya Tanzania"
+ },
+ "UGX": {
+ "name": "Shilingi ya Uganda"
+ },
+ "KES": {
+ "name": "Siling mar Kenya",
+ "symbol": "Ksh"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "MRO": {
+ "name": "Ugwiya ya Moritania"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "JPY": {
+ "name": "Yen mar Japan",
+ "symbol": "JP¥"
+ },
+ "CNY": {
+ "name": "Yuan Renminbi ya China",
+ "symbol": "CN¥"
+ },
+ "EUR": {
+ "name": "Yuro",
+ "symbol": "€"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/luy.json b/vendor/commerceguys/intl/resources/currency/luy.json
new file mode 100644
index 000000000..fc6e4de4f
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/luy.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "MGA": {
+ "name": "Ariary ya Bukini"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Ruble"
+ },
+ "BYR": {
+ "name": "Belarusian Ruble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "ETB": {
+ "name": "Bir ya Uhabeshi"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "GMD": {
+ "name": "Dalasi ya Gambia"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DZD": {
+ "name": "Dinari ya Aljeria"
+ },
+ "BHD": {
+ "name": "Dinari ya Bahareni"
+ },
+ "LYD": {
+ "name": "Dinari ya Libya"
+ },
+ "TND": {
+ "name": "Dinari ya Tunisia"
+ },
+ "AED": {
+ "name": "Dirham ya Falme za Kiarabu"
+ },
+ "MAD": {
+ "name": "Dirham ya Moroko"
+ },
+ "STD": {
+ "name": "Dobra ya Sao Tome na Principe"
+ },
+ "AUD": {
+ "name": "Dola ya Australia",
+ "symbol": "A$"
+ },
+ "CAD": {
+ "name": "Dola ya Kanada",
+ "symbol": "CA$"
+ },
+ "LRD": {
+ "name": "Dola ya Liberia"
+ },
+ "USD": {
+ "name": "Dola ya Marekani",
+ "symbol": "US$"
+ },
+ "NAD": {
+ "name": "Dola ya Namibia"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "CVE": {
+ "name": "Eskudo ya Kepuvede"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "XOF": {
+ "name": "Faranga CFA BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Faranga CFA BEAC",
+ "symbol": "FCFA"
+ },
+ "BIF": {
+ "name": "Faranga ya Burundi"
+ },
+ "DJF": {
+ "name": "Faranga ya Jibuti"
+ },
+ "KMF": {
+ "name": "Faranga ya Komoro"
+ },
+ "CDF": {
+ "name": "Faranga ya Kongo"
+ },
+ "RWF": {
+ "name": "Faranga ya Rwanda"
+ },
+ "CHF": {
+ "name": "Faranga ya Uswisi"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "MWK": {
+ "name": "Kwacha ya Malawi"
+ },
+ "ZMW": {
+ "name": "Kwacha ya Zambia"
+ },
+ "AOA": {
+ "name": "Kwanza ya Angola"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "SLL": {
+ "name": "Leoni"
+ },
+ "SZL": {
+ "name": "Lilangeni"
+ },
+ "LSL": {
+ "name": "Loti ya Lesoto"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NGN": {
+ "name": "Naira ya Nijeria"
+ },
+ "ERN": {
+ "name": "Nakfa ya Eritrea"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "EGP": {
+ "name": "Pauni ya Misri"
+ },
+ "SHP": {
+ "name": "Pauni ya Santahelena"
+ },
+ "SDG": {
+ "name": "Pauni ya Sudani"
+ },
+ "GBP": {
+ "name": "Pauni ya Uingereza",
+ "symbol": "£"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "BWP": {
+ "name": "Pula ya Botswana"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "ZAR": {
+ "name": "Randi ya Afrika Kusini"
+ },
+ "SAR": {
+ "name": "Riyal ya Saudia"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "INR": {
+ "name": "Rupia ya India",
+ "symbol": "₹"
+ },
+ "MUR": {
+ "name": "Rupia ya Morisi"
+ },
+ "SCR": {
+ "name": "Rupia ya Shelisheli"
+ },
+ "RUB": {
+ "name": "Russian Ruble"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "JPY": {
+ "name": "Sarafu ya Kijapani",
+ "symbol": "JP¥"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SOS": {
+ "name": "Shilingi ya Somalia"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "KES": {
+ "name": "Sirinji ya Kenya",
+ "symbol": "Ksh"
+ },
+ "TZS": {
+ "name": "Sirinji ya Tanzania"
+ },
+ "UGX": {
+ "name": "Sirinji ya Uganda"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "MRO": {
+ "name": "Ugwiya ya Moritania"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "CNY": {
+ "name": "Yuan Renminbi ya China",
+ "symbol": "CN¥"
+ },
+ "EUR": {
+ "name": "Yuro",
+ "symbol": "€"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/lv.json b/vendor/commerceguys/intl/resources/currency/lv.json
new file mode 100644
index 000000000..2d9918141
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/lv.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afganistānas afgāns"
+ },
+ "ALL": {
+ "name": "Albānijas leks"
+ },
+ "DZD": {
+ "name": "Alžīrijas dinārs"
+ },
+ "AOA": {
+ "name": "Angolas kvanza"
+ },
+ "AED": {
+ "name": "Apvienoto Arābu Emirātu dirhēms"
+ },
+ "ARS": {
+ "name": "Argentīnas peso"
+ },
+ "AMD": {
+ "name": "Armēnijas drams"
+ },
+ "AWG": {
+ "name": "Arubas guldenis"
+ },
+ "USD": {
+ "name": "ASV dolārs",
+ "symbol": "$"
+ },
+ "AUD": {
+ "name": "Austrālijas dolārs",
+ "symbol": "AU$"
+ },
+ "XCD": {
+ "name": "Austrumkarību dolārs",
+ "symbol": "EC$"
+ },
+ "AZN": {
+ "name": "Azerbaidžānas manats"
+ },
+ "BSD": {
+ "name": "Bahamu dolārs"
+ },
+ "BHD": {
+ "name": "Bahreinas dinārs"
+ },
+ "BYN": {
+ "name": "Baltkrievijas rubelis"
+ },
+ "BYR": {
+ "name": "Baltkrievijas rubelis (2000–2016)"
+ },
+ "BDT": {
+ "name": "Bangladešas taka"
+ },
+ "BBD": {
+ "name": "Barbadosas dolārs"
+ },
+ "BZD": {
+ "name": "Belizas dolārs"
+ },
+ "BMD": {
+ "name": "Bermudu dolārs"
+ },
+ "BOB": {
+ "name": "Bolīvijas boliviano"
+ },
+ "BAM": {
+ "name": "Bosnijas un Hercogovinas konvertējamā marka"
+ },
+ "BWP": {
+ "name": "Botsvanas pula"
+ },
+ "BRL": {
+ "name": "Brazīlijas reāls",
+ "symbol": "R$"
+ },
+ "BND": {
+ "name": "Brunejas dolārs"
+ },
+ "BGN": {
+ "name": "Bulgārijas leva"
+ },
+ "BIF": {
+ "name": "Burundi franks"
+ },
+ "BTN": {
+ "name": "Butānas ngultrums"
+ },
+ "XAF": {
+ "name": "Centrālāfrikas CFA franks",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP franks",
+ "symbol": "CFPF"
+ },
+ "CZK": {
+ "name": "Čehijas krona"
+ },
+ "CLP": {
+ "name": "Čīles peso"
+ },
+ "DKK": {
+ "name": "Dānijas krona"
+ },
+ "ZAR": {
+ "name": "Dienvidāfrikas rends"
+ },
+ "KRW": {
+ "name": "Dienvidkorejas vona",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "Dienvidsudānas mārciņa"
+ },
+ "DOP": {
+ "name": "Dominikānas peso"
+ },
+ "DJF": {
+ "name": "Džibutijas franks"
+ },
+ "EGP": {
+ "name": "Ēģiptes mārciņa"
+ },
+ "EUR": {
+ "name": "eiro",
+ "symbol": "€"
+ },
+ "ERN": {
+ "name": "Eritrejas nakfa"
+ },
+ "ETB": {
+ "name": "Etiopijas birs"
+ },
+ "FJD": {
+ "name": "Fidži dolārs"
+ },
+ "PHP": {
+ "name": "Filipīnu peso"
+ },
+ "FKP": {
+ "name": "Folklenda Salu mārciņa"
+ },
+ "GYD": {
+ "name": "Gajānas dolārs"
+ },
+ "GMD": {
+ "name": "Gambijas dalasi"
+ },
+ "GHS": {
+ "name": "Ganas sedi"
+ },
+ "GIP": {
+ "name": "Gibraltāra mārciņa"
+ },
+ "GEL": {
+ "name": "Gruzijas lari"
+ },
+ "GTQ": {
+ "name": "Gvatemalas ketsals"
+ },
+ "GNF": {
+ "name": "Gvinejas franks"
+ },
+ "HTG": {
+ "name": "Haiti gurds"
+ },
+ "HNL": {
+ "name": "Hondurasas lempīra"
+ },
+ "HKD": {
+ "name": "Honkongas dolārs",
+ "symbol": "HK$"
+ },
+ "HRK": {
+ "name": "Horvātijas kuna"
+ },
+ "INR": {
+ "name": "Indijas rūpija",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonēzijas rūpija"
+ },
+ "IQD": {
+ "name": "Irākas dinārs"
+ },
+ "IRR": {
+ "name": "Irānas riāls"
+ },
+ "ISK": {
+ "name": "Īslandes krona"
+ },
+ "ILS": {
+ "name": "Izraēlas šekelis",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaikas dolārs"
+ },
+ "JPY": {
+ "name": "Japānas jena",
+ "symbol": "¥"
+ },
+ "NZD": {
+ "name": "Jaunzēlandes dolārs",
+ "symbol": "NZ$"
+ },
+ "YER": {
+ "name": "Jemenas riāls"
+ },
+ "JOD": {
+ "name": "Jordānas dinārs"
+ },
+ "CVE": {
+ "name": "Kaboverdes eskudo"
+ },
+ "KYD": {
+ "name": "Kaimanu salu dolārs"
+ },
+ "KHR": {
+ "name": "Kambodžas riels"
+ },
+ "CAD": {
+ "name": "Kanādas dolārs",
+ "symbol": "CA$"
+ },
+ "QAR": {
+ "name": "Kataras riāls"
+ },
+ "KZT": {
+ "name": "Kazahstānas tenge"
+ },
+ "CDF": {
+ "name": "KDR franks"
+ },
+ "KES": {
+ "name": "Kenijas šiliņš"
+ },
+ "KGS": {
+ "name": "Kirgizstānas soms"
+ },
+ "COP": {
+ "name": "Kolumbijas peso"
+ },
+ "KMF": {
+ "name": "Komoru franks"
+ },
+ "CRC": {
+ "name": "Kostarikas kolons"
+ },
+ "RUB": {
+ "name": "Krievijas rublis"
+ },
+ "CUC": {
+ "name": "Kubas konvertējamais peso"
+ },
+ "CUP": {
+ "name": "Kubas peso"
+ },
+ "KWD": {
+ "name": "Kuveitas dinārs"
+ },
+ "CNY": {
+ "name": "Ķīnas juaņs",
+ "symbol": "CN¥"
+ },
+ "LAK": {
+ "name": "Laosas kips"
+ },
+ "LSL": {
+ "name": "Lesoto loti"
+ },
+ "LBP": {
+ "name": "Libānas mārciņa"
+ },
+ "LRD": {
+ "name": "Libērijas dolārs"
+ },
+ "LYD": {
+ "name": "Lībijas dinārs"
+ },
+ "GBP": {
+ "name": "Lielbritānijas mārciņa",
+ "symbol": "£"
+ },
+ "MGA": {
+ "name": "Madagaskaras ariari"
+ },
+ "MOP": {
+ "name": "Makao pataka"
+ },
+ "MKD": {
+ "name": "Maķedonijas denārs"
+ },
+ "MYR": {
+ "name": "Malaizijas ringits"
+ },
+ "MWK": {
+ "name": "Malāvijas kvača"
+ },
+ "MVR": {
+ "name": "Maldīvijas rūfija"
+ },
+ "MAD": {
+ "name": "Marokas dirhēms"
+ },
+ "MUR": {
+ "name": "Maurīcijas rūpija"
+ },
+ "MRO": {
+ "name": "Mauritānijas ugija"
+ },
+ "MXN": {
+ "name": "Meksikas peso",
+ "symbol": "MX$"
+ },
+ "MMK": {
+ "name": "Mjanmas kjats"
+ },
+ "MDL": {
+ "name": "Moldovas leja"
+ },
+ "MNT": {
+ "name": "Mongolijas tugriks"
+ },
+ "MZN": {
+ "name": "Mozambikas metikals"
+ },
+ "NAD": {
+ "name": "Namībijas dolārs"
+ },
+ "NPR": {
+ "name": "Nepālas rūpija"
+ },
+ "ANG": {
+ "name": "Nīderlandes Antiļu guldenis"
+ },
+ "NGN": {
+ "name": "Nigērijas naira"
+ },
+ "NIO": {
+ "name": "Nikaragvas kordoba"
+ },
+ "NOK": {
+ "name": "Norvēģijas krona"
+ },
+ "OMR": {
+ "name": "Omānas riāls"
+ },
+ "PKR": {
+ "name": "Pakistānas rūpija"
+ },
+ "PAB": {
+ "name": "Panamas balboa"
+ },
+ "PGK": {
+ "name": "Papua-Jaungvinejas kina"
+ },
+ "PYG": {
+ "name": "Paragvajas guarani"
+ },
+ "PEN": {
+ "name": "Peru jaunais sols"
+ },
+ "PLN": {
+ "name": "Polijas zlots"
+ },
+ "XOF": {
+ "name": "Rietumāfrikas CFA franks",
+ "symbol": "CFA"
+ },
+ "RWF": {
+ "name": "Ruandas franks"
+ },
+ "RON": {
+ "name": "Rumānijas leja"
+ },
+ "SVC": {
+ "name": "Salvadoras kolons"
+ },
+ "WST": {
+ "name": "Samoa tala"
+ },
+ "STD": {
+ "name": "Santome un Prinsipi dobra"
+ },
+ "SAR": {
+ "name": "Saūda riāls"
+ },
+ "SCR": {
+ "name": "Seišelu salu rūpija"
+ },
+ "RSD": {
+ "name": "Serbijas dinārs"
+ },
+ "SGD": {
+ "name": "Singapūras dolārs"
+ },
+ "SYP": {
+ "name": "Sīrijas mārciņa"
+ },
+ "SLL": {
+ "name": "Sjerraleones leone"
+ },
+ "SOS": {
+ "name": "Somālijas šiliņš"
+ },
+ "SDG": {
+ "name": "Sudānas mārciņa"
+ },
+ "SRD": {
+ "name": "Surinamas dolārs"
+ },
+ "SHP": {
+ "name": "Sv.Helēnas salas mārciņa"
+ },
+ "SZL": {
+ "name": "Svazilendas lilangeni"
+ },
+ "LKR": {
+ "name": "Šrilankas rūpija"
+ },
+ "CHF": {
+ "name": "Šveices franks"
+ },
+ "TJS": {
+ "name": "Tadžikistānas somons"
+ },
+ "TWD": {
+ "name": "Taivānas jaunais dolārs",
+ "symbol": "NT$"
+ },
+ "THB": {
+ "name": "Taizemes bāts",
+ "symbol": "฿"
+ },
+ "TZS": {
+ "name": "Tanzānijas šiliņš"
+ },
+ "TOP": {
+ "name": "Tongas paanga"
+ },
+ "TTD": {
+ "name": "Trinidādas un Tobāgo dolārs"
+ },
+ "TND": {
+ "name": "Tunisijas dinārs"
+ },
+ "TRY": {
+ "name": "Turcijas lira"
+ },
+ "TMT": {
+ "name": "Turkmenistānas manats"
+ },
+ "UGX": {
+ "name": "Ugandas šiliņš"
+ },
+ "UAH": {
+ "name": "Ukrainas grivna"
+ },
+ "HUF": {
+ "name": "Ungārijas forints"
+ },
+ "UYU": {
+ "name": "Urugvajas peso"
+ },
+ "UZS": {
+ "name": "Uzbekistānas sums"
+ },
+ "VUV": {
+ "name": "Vanuatu vatu"
+ },
+ "VEF": {
+ "name": "Venecuēlas bolivārs"
+ },
+ "VND": {
+ "name": "Vjetnamas dongi",
+ "symbol": "₫"
+ },
+ "SBD": {
+ "name": "Zālamana Salu dolārs"
+ },
+ "ZMW": {
+ "name": "Zambijas kvača"
+ },
+ "KPW": {
+ "name": "Ziemeļkorejas vona"
+ },
+ "ZWL": {
+ "name": "Zimbabves dolārs (2009)"
+ },
+ "SEK": {
+ "name": "Zviedrijas krona"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/mas.json b/vendor/commerceguys/intl/resources/currency/mas.json
new file mode 100644
index 000000000..668979ed7
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/mas.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Ruble"
+ },
+ "BYR": {
+ "name": "Belarusian Ruble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ZAR": {
+ "name": "Iropiyianí e Afrika Kusini"
+ },
+ "DZD": {
+ "name": "Iropiyianí e Algeria"
+ },
+ "AOA": {
+ "name": "Iropiyianí e Angola"
+ },
+ "AUD": {
+ "name": "Iropiyianí e Austria",
+ "symbol": "A$"
+ },
+ "BHD": {
+ "name": "Iropiyianí e Bahareini"
+ },
+ "BWP": {
+ "name": "Iropiyianí e Botswana"
+ },
+ "MGA": {
+ "name": "Iropiyianí e Bukini"
+ },
+ "BIF": {
+ "name": "Iropiyianí e Burundi"
+ },
+ "XOF": {
+ "name": "Iropiyianí e CFA BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Iropiyianí e CFA BEAC",
+ "symbol": "FCFA"
+ },
+ "CNY": {
+ "name": "Iropiyianí e China",
+ "symbol": "CN¥"
+ },
+ "ERN": {
+ "name": "Iropiyianí e Eritrea"
+ },
+ "GMD": {
+ "name": "Iropiyianí e Gambia"
+ },
+ "INR": {
+ "name": "Iropiyianí e India",
+ "symbol": "₹"
+ },
+ "JPY": {
+ "name": "Iropiyianí e Japani",
+ "symbol": "JP¥"
+ },
+ "DJF": {
+ "name": "Iropiyianí e Jibuti"
+ },
+ "CAD": {
+ "name": "Iropiyianí e Kanada",
+ "symbol": "CA$"
+ },
+ "KES": {
+ "name": "Iropiyianí e Kenya",
+ "symbol": "Ksh"
+ },
+ "CVE": {
+ "name": "Iropiyianí e Kepuvede"
+ },
+ "KMF": {
+ "name": "Iropiyianí e Komoro"
+ },
+ "CDF": {
+ "name": "Iropiyianí e Kongo"
+ },
+ "SLL": {
+ "name": "Iropiyianí e leoni"
+ },
+ "LSL": {
+ "name": "Iropiyianí e Lesoto"
+ },
+ "LRD": {
+ "name": "Iropiyianí e Liberia"
+ },
+ "LYD": {
+ "name": "Iropiyianí e Libya"
+ },
+ "SZL": {
+ "name": "Iropiyianí e lilangeni"
+ },
+ "MWK": {
+ "name": "Iropiyianí e Malawi"
+ },
+ "EGP": {
+ "name": "Iropiyianí e Misri"
+ },
+ "MUR": {
+ "name": "Iropiyianí e Morisi"
+ },
+ "MRO": {
+ "name": "Iropiyianí e Moritania"
+ },
+ "MAD": {
+ "name": "Iropiyianí e Moroko"
+ },
+ "NAD": {
+ "name": "Iropiyianí e Namibia"
+ },
+ "NGN": {
+ "name": "Iropiyianí e Nijeria"
+ },
+ "GBP": {
+ "name": "Iropiyianí e Nkɨ́resa",
+ "symbol": "£"
+ },
+ "RWF": {
+ "name": "Iropiyianí e Rwanda"
+ },
+ "ZMW": {
+ "name": "Iropiyianí e Sambia"
+ },
+ "SHP": {
+ "name": "Iropiyianí e Santahelena"
+ },
+ "STD": {
+ "name": "Iropiyianí e Saotome"
+ },
+ "SAR": {
+ "name": "Iropiyianí e Saudi"
+ },
+ "SCR": {
+ "name": "Iropiyianí e Shelisheli"
+ },
+ "SOS": {
+ "name": "Iropiyianí e Somalia"
+ },
+ "SDG": {
+ "name": "Iropiyianí e Sudani"
+ },
+ "TZS": {
+ "name": "Iropiyianí e Tanzania"
+ },
+ "TND": {
+ "name": "Iropiyianí e Tunisia"
+ },
+ "UGX": {
+ "name": "Iropiyianí e Uganda"
+ },
+ "ETB": {
+ "name": "Iropiyianí e Uhabeshi"
+ },
+ "CHF": {
+ "name": "Iropiyianí e Uswisi"
+ },
+ "EUR": {
+ "name": "Iropiyianí e yuro",
+ "symbol": "€"
+ },
+ "USD": {
+ "name": "Iropiyianí ɔ́ɔ̄ lamarekani",
+ "symbol": "US$"
+ },
+ "AED": {
+ "name": "Iropiyianí ɔ́ɔ̄ lmarabu"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Ruble"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/mer.json b/vendor/commerceguys/intl/resources/currency/mer.json
new file mode 100644
index 000000000..db111d0ed
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/mer.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "MGA": {
+ "name": "Ariarĩ ya Bukini"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Ruble"
+ },
+ "BYR": {
+ "name": "Belarusian Ruble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "ETB": {
+ "name": "Bĩrũ ya Ithiopia"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "GMD": {
+ "name": "Dalasi ya Gambia"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DZD": {
+ "name": "Dinari ya Anjĩria"
+ },
+ "BHD": {
+ "name": "Dinari ya Baharini"
+ },
+ "LYD": {
+ "name": "Dinari ya Libya"
+ },
+ "TND": {
+ "name": "Dinari ya Tunisia"
+ },
+ "AED": {
+ "name": "Dirham ya Falme cia Kiarabu"
+ },
+ "MAD": {
+ "name": "Dirham ya Moroko"
+ },
+ "STD": {
+ "name": "Dobra ya Sao Tome na Principe"
+ },
+ "USD": {
+ "name": "Dola ya Amerika",
+ "symbol": "US$"
+ },
+ "AUD": {
+ "name": "Dola ya Austrĩlia",
+ "symbol": "A$"
+ },
+ "CAD": {
+ "name": "Dola ya Kanada",
+ "symbol": "CA$"
+ },
+ "LRD": {
+ "name": "Dola ya Liberia"
+ },
+ "NAD": {
+ "name": "Dola ya Namibia"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "CVE": {
+ "name": "Eskudo ya Kepuvede"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "XOF": {
+ "name": "Faranga CFA BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Faranga CFA BEAC",
+ "symbol": "FCFA"
+ },
+ "BIF": {
+ "name": "Faranga ya Burundi"
+ },
+ "DJF": {
+ "name": "Faranga ya Jibuti"
+ },
+ "KMF": {
+ "name": "Faranga ya Komoro"
+ },
+ "CDF": {
+ "name": "Faranga ya Kongo"
+ },
+ "RWF": {
+ "name": "Faranga ya Rwanda"
+ },
+ "CHF": {
+ "name": "Faranga ya Swisilandi"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "MWK": {
+ "name": "Kwacha ya Malawi"
+ },
+ "ZMW": {
+ "name": "Kwacha ya Zambia"
+ },
+ "AOA": {
+ "name": "Kwanza ya Angola"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "SLL": {
+ "name": "Leoni"
+ },
+ "SZL": {
+ "name": "Lilangeni"
+ },
+ "LSL": {
+ "name": "Loti ya Lesoto"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NGN": {
+ "name": "Naira ya Nijeria"
+ },
+ "ERN": {
+ "name": "Nakfa ya Eritrea"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "EGP": {
+ "name": "Paũndi ya Misri"
+ },
+ "GBP": {
+ "name": "Paũndi ya Ngeretha",
+ "symbol": "£"
+ },
+ "SHP": {
+ "name": "Paũndi ya Santahelena"
+ },
+ "SDG": {
+ "name": "Paũndi ya Sudani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "BWP": {
+ "name": "Pula ya Botswana"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "ZAR": {
+ "name": "Randi ya Afrika ya Sauthi"
+ },
+ "SAR": {
+ "name": "Riyal ya Saudi Arĩbia"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "INR": {
+ "name": "Rupia ya India",
+ "symbol": "₹"
+ },
+ "MUR": {
+ "name": "Rupia ya Maurĩtiasi"
+ },
+ "SCR": {
+ "name": "Rupia ya Shelisheli"
+ },
+ "RUB": {
+ "name": "Russian Ruble"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "JPY": {
+ "name": "Sarafu ya japani",
+ "symbol": "JP¥"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "KES": {
+ "name": "Shilingi ya Kenya",
+ "symbol": "Ksh"
+ },
+ "SOS": {
+ "name": "Shilingi ya Somalia"
+ },
+ "TZS": {
+ "name": "Shilingi ya Tanzania"
+ },
+ "UGX": {
+ "name": "Shilingi ya Uganda"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "MRO": {
+ "name": "Ugwiya ya Mauritania"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "CNY": {
+ "name": "Yuan Renminbi ya China",
+ "symbol": "CN¥"
+ },
+ "EUR": {
+ "name": "Yuro",
+ "symbol": "€"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/mfe.json b/vendor/commerceguys/intl/resources/currency/mfe.json
new file mode 100644
index 000000000..6350eeb27
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/mfe.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Ruble"
+ },
+ "BYR": {
+ "name": "Belarusian Ruble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "ETB": {
+ "name": "birr etiopien"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "GMD": {
+ "name": "dalasi gambien"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DZD": {
+ "name": "dinar alzerien"
+ },
+ "BHD": {
+ "name": "dinar bahreïn"
+ },
+ "LYD": {
+ "name": "dinar libien"
+ },
+ "SDG": {
+ "name": "dinar soudane"
+ },
+ "TND": {
+ "name": "dinar tinizien"
+ },
+ "AED": {
+ "name": "dirham Emira arab ini"
+ },
+ "MAD": {
+ "name": "dirham marokin"
+ },
+ "STD": {
+ "name": "dobra santomeen"
+ },
+ "USD": {
+ "name": "dolar amerikin",
+ "symbol": "US$"
+ },
+ "CAD": {
+ "name": "dolar kanadien",
+ "symbol": "CA$"
+ },
+ "LRD": {
+ "name": "dolar liberien"
+ },
+ "NAD": {
+ "name": "dolar namibien"
+ },
+ "AUD": {
+ "name": "dolar ostralien",
+ "symbol": "A$"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "CVE": {
+ "name": "eskudo kapverdien"
+ },
+ "EUR": {
+ "name": "euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "BIF": {
+ "name": "fran burunde"
+ },
+ "XOF": {
+ "name": "fran CFA (BCEAO)",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "fran CFA (BEAC)",
+ "symbol": "FCFA"
+ },
+ "DJF": {
+ "name": "fran djiboutien"
+ },
+ "KMF": {
+ "name": "fran komorien"
+ },
+ "CDF": {
+ "name": "fran kongole"
+ },
+ "MGA": {
+ "name": "fran malgas"
+ },
+ "RWF": {
+ "name": "fran rwande"
+ },
+ "CHF": {
+ "name": "fran swis"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "MWK": {
+ "name": "kwacha malawit"
+ },
+ "ZMW": {
+ "name": "kwacha zanbien"
+ },
+ "AOA": {
+ "name": "kwanza angole"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "SLL": {
+ "name": "leonn Sierra-Leone"
+ },
+ "SZL": {
+ "name": "lilangeni swazi"
+ },
+ "EGP": {
+ "name": "liv ezipsien"
+ },
+ "SHP": {
+ "name": "liv Sainte-Hélène"
+ },
+ "GBP": {
+ "name": "liv sterlin",
+ "symbol": "£"
+ },
+ "LSL": {
+ "name": "loti lezoto"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "ERN": {
+ "name": "nafka erythreen"
+ },
+ "NGN": {
+ "name": "naira nizerian"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "MRO": {
+ "name": "ouguiya moritanien"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "BWP": {
+ "name": "pula ya botswane"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "ZAR": {
+ "name": "rand sid-afrikin"
+ },
+ "SAR": {
+ "name": "rial saoudien"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "INR": {
+ "name": "roupi",
+ "symbol": "₹"
+ },
+ "MUR": {
+ "name": "roupi morisien",
+ "symbol": "Rs"
+ },
+ "SCR": {
+ "name": "roupi seselwa"
+ },
+ "RUB": {
+ "name": "Russian Ruble"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "KES": {
+ "name": "shiling kenyan"
+ },
+ "UGX": {
+ "name": "shiling ougande"
+ },
+ "TZS": {
+ "name": "shiling tanzanien"
+ },
+ "SOS": {
+ "name": "shilingi somalien"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "JPY": {
+ "name": "yen zapone",
+ "symbol": "JP¥"
+ },
+ "CNY": {
+ "name": "yuan renminbi sinwa",
+ "symbol": "CN¥"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/mg.json b/vendor/commerceguys/intl/resources/currency/mg.json
new file mode 100644
index 000000000..78cd0eb9b
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/mg.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "MGA": {
+ "name": "Ariary",
+ "symbol": "Ar"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Ruble"
+ },
+ "BYR": {
+ "name": "Belarusian Ruble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "ETB": {
+ "name": "Bir etiopianina"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "GMD": {
+ "name": "Dalasi gambianina"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "BHD": {
+ "name": "dinar bahreïni"
+ },
+ "TND": {
+ "name": "Dinar tonizianina"
+ },
+ "DZD": {
+ "name": "Dinara alzerianina"
+ },
+ "LYD": {
+ "name": "Dinara Libyanina"
+ },
+ "SDG": {
+ "name": "Dinara Sodaney"
+ },
+ "AED": {
+ "name": "Dirham"
+ },
+ "MAD": {
+ "name": "Dirham marokianina"
+ },
+ "STD": {
+ "name": "Dobra"
+ },
+ "USD": {
+ "name": "Dolara amerikanina",
+ "symbol": "US$"
+ },
+ "AUD": {
+ "name": "Dolara aostralianina",
+ "symbol": "A$"
+ },
+ "CAD": {
+ "name": "Dôlara Kanadianina",
+ "symbol": "CA$"
+ },
+ "LRD": {
+ "name": "Dôlara Liberianina"
+ },
+ "NAD": {
+ "name": "Dolara namibianina"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EUR": {
+ "name": "Eoro",
+ "symbol": "€"
+ },
+ "CVE": {
+ "name": "Escudo"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "BIF": {
+ "name": "Farantsa Borondi"
+ },
+ "XOF": {
+ "name": "Farantsa CFA (BCEAO)",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Farantsa CFA (BEAC)",
+ "symbol": "FCFA"
+ },
+ "DJF": {
+ "name": "Farantsa Djibotianina"
+ },
+ "KMF": {
+ "name": "Farantsa Komorianina"
+ },
+ "CDF": {
+ "name": "Farantsa kôngôley"
+ },
+ "RWF": {
+ "name": "Farantsa Roande"
+ },
+ "CHF": {
+ "name": "Farantsa soisa"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "MWK": {
+ "name": "kwacha malawite"
+ },
+ "ZMW": {
+ "name": "Kwacha zambianina"
+ },
+ "AOA": {
+ "name": "kwanza angoley"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "SLL": {
+ "name": "Leone"
+ },
+ "SZL": {
+ "name": "Lilangeni"
+ },
+ "SHP": {
+ "name": "livre de Sainte-Hélène"
+ },
+ "GBP": {
+ "name": "livre sterling",
+ "symbol": "£"
+ },
+ "LSL": {
+ "name": "Loti"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NGN": {
+ "name": "Naira nigerianina"
+ },
+ "ERN": {
+ "name": "Nakfà Eritreanina"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "MRO": {
+ "name": "Ouguiya moritanianina"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "BWP": {
+ "name": "Pola botsoaney"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "ZAR": {
+ "name": "Rand afrikanina tatsimo"
+ },
+ "SAR": {
+ "name": "Rial saodianina"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "INR": {
+ "name": "Ropia Indianina",
+ "symbol": "₹"
+ },
+ "MUR": {
+ "name": "Ropia maorisianina"
+ },
+ "SCR": {
+ "name": "Ropia Seysheloà"
+ },
+ "RUB": {
+ "name": "Russian Ruble"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "KES": {
+ "name": "Shilling kenianina"
+ },
+ "UGX": {
+ "name": "Shilling ogandianina"
+ },
+ "SOS": {
+ "name": "Shilling somalianina"
+ },
+ "TZS": {
+ "name": "Shilling tanzanianina"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "EGP": {
+ "name": "vola venty ejipsiana"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "JPY": {
+ "name": "Yen Japoney",
+ "symbol": "JP¥"
+ },
+ "CNY": {
+ "name": "Yoan sinoa Renminbi",
+ "symbol": "CN¥"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/mk.json b/vendor/commerceguys/intl/resources/currency/mk.json
new file mode 100644
index 000000000..8fd6569d1
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/mk.json
@@ -0,0 +1,486 @@
+{
+ "AFN": {
+ "name": "Авганистански авгани"
+ },
+ "AUD": {
+ "name": "Австралиски долар"
+ },
+ "AZN": {
+ "name": "Азербејџански манат"
+ },
+ "ALL": {
+ "name": "Албански лек"
+ },
+ "DZD": {
+ "name": "Алжирски динар"
+ },
+ "USD": {
+ "name": "Американски долар",
+ "symbol": "US$"
+ },
+ "AOA": {
+ "name": "Анголска Кванза"
+ },
+ "ARS": {
+ "name": "Аргентински пезос"
+ },
+ "AWG": {
+ "name": "Арубиски флорин"
+ },
+ "BDT": {
+ "name": "Бангладешка така"
+ },
+ "BBD": {
+ "name": "Барбадоски долар"
+ },
+ "BSD": {
+ "name": "Бахамски долар"
+ },
+ "BHD": {
+ "name": "Бахреински Динар"
+ },
+ "BZD": {
+ "name": "Белизиски Долар"
+ },
+ "BYN": {
+ "name": "Белоруска рубља"
+ },
+ "BYR": {
+ "name": "Белоруска рубља (2000–2016)"
+ },
+ "BMD": {
+ "name": "Бермудски долар"
+ },
+ "BOB": {
+ "name": "Боливиски боливиано"
+ },
+ "BAM": {
+ "name": "Босанско-Херцеговска конвертибилна марка"
+ },
+ "BWP": {
+ "name": "Боцванска Пула"
+ },
+ "BRL": {
+ "name": "Бразилски реал",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "Британска Фунта"
+ },
+ "BND": {
+ "name": "Брунејски долар"
+ },
+ "BGN": {
+ "name": "Бугарски лев"
+ },
+ "BIF": {
+ "name": "Бурундиски франк"
+ },
+ "BTN": {
+ "name": "Бутански нгултрум"
+ },
+ "VUV": {
+ "name": "Ванатски вату"
+ },
+ "VEF": {
+ "name": "Венецуелски боливар"
+ },
+ "VND": {
+ "name": "Виетнамски донг"
+ },
+ "GMD": {
+ "name": "Гамбиски даласи"
+ },
+ "GHS": {
+ "name": "Гански седи"
+ },
+ "GYD": {
+ "name": "Гвајански долар"
+ },
+ "GTQ": {
+ "name": "Гватемалски кветцал"
+ },
+ "GNF": {
+ "name": "Гвинејски франк"
+ },
+ "GIP": {
+ "name": "Гибралтарска фунта"
+ },
+ "GEL": {
+ "name": "Грузиски лари"
+ },
+ "DKK": {
+ "name": "Данска круна"
+ },
+ "STD": {
+ "name": "Добра на Сао Томе и Принсипе"
+ },
+ "KYD": {
+ "name": "Долар на кајмански острови"
+ },
+ "TTD": {
+ "name": "Долар на Тринидад и Тобаго"
+ },
+ "DOP": {
+ "name": "Доминикански Пезос"
+ },
+ "EUR": {
+ "name": "Евро",
+ "symbol": "€"
+ },
+ "EGP": {
+ "name": "Египетска фунта"
+ },
+ "ERN": {
+ "name": "Еритрејска накфа"
+ },
+ "AMD": {
+ "name": "Ермениски Драм"
+ },
+ "ETB": {
+ "name": "Етиописки бир"
+ },
+ "ZMW": {
+ "name": "Замбијска квача"
+ },
+ "XOF": {
+ "name": "Западноафрикански франк",
+ "symbol": "CFA"
+ },
+ "CVE": {
+ "name": "Зелено’ртски ескудо"
+ },
+ "ILS": {
+ "name": "Израелски нов шекел"
+ },
+ "INR": {
+ "name": "Индијска рупија"
+ },
+ "IDR": {
+ "name": "Индонезиска рупија"
+ },
+ "IRR": {
+ "name": "Ирански риал"
+ },
+ "IQD": {
+ "name": "Ирачки динар"
+ },
+ "ISK": {
+ "name": "Исландска крона"
+ },
+ "XCD": {
+ "name": "Источно карибиски долар",
+ "symbol": "EC$"
+ },
+ "JMD": {
+ "name": "Јамајкански долар"
+ },
+ "JPY": {
+ "name": "Јапонски јен"
+ },
+ "YER": {
+ "name": "Јеменски риал"
+ },
+ "JOD": {
+ "name": "Јордански динар"
+ },
+ "KRW": {
+ "name": "Јужно корејски вон"
+ },
+ "ZAR": {
+ "name": "Јужноафрикански ранд"
+ },
+ "SSP": {
+ "name": "Јужносуданска фунта"
+ },
+ "KZT": {
+ "name": "Казахстанска тенга"
+ },
+ "KHR": {
+ "name": "Камбоџиски рел"
+ },
+ "CAD": {
+ "name": "Канадски долар",
+ "symbol": "CA$"
+ },
+ "QAR": {
+ "name": "Катарски риал"
+ },
+ "KES": {
+ "name": "Кениски шилинг"
+ },
+ "CNY": {
+ "name": "Кинески јуан"
+ },
+ "KGS": {
+ "name": "Киргистански сом"
+ },
+ "COP": {
+ "name": "Колумбиски пезос"
+ },
+ "KMF": {
+ "name": "Коморски франк"
+ },
+ "CDF": {
+ "name": "Конголски франк"
+ },
+ "CRC": {
+ "name": "Костарикански колон"
+ },
+ "CUP": {
+ "name": "Кубански пезос"
+ },
+ "CUC": {
+ "name": "Кубански пезос (конвертибилен)"
+ },
+ "KWD": {
+ "name": "Кувајтски динар"
+ },
+ "LAK": {
+ "name": "Лаоски кип"
+ },
+ "LSL": {
+ "name": "Лесотско лоти"
+ },
+ "LBP": {
+ "name": "Либанска фунта"
+ },
+ "LRD": {
+ "name": "Либериски долар"
+ },
+ "LYD": {
+ "name": "Либијски динар"
+ },
+ "MUR": {
+ "name": "Мавританска рупија"
+ },
+ "MRO": {
+ "name": "Мавританска угија"
+ },
+ "MOP": {
+ "name": "Макао патака"
+ },
+ "MKD": {
+ "name": "Македонски денар",
+ "symbol": "ден"
+ },
+ "MWK": {
+ "name": "Малависка квача"
+ },
+ "MGA": {
+ "name": "Малагасиски ариари"
+ },
+ "MVR": {
+ "name": "Малдивиска руфија"
+ },
+ "MYR": {
+ "name": "Малезиски рингит"
+ },
+ "MAD": {
+ "name": "Марокански Дирхам"
+ },
+ "MXN": {
+ "name": "Мексикански пезос",
+ "symbol": "MX$"
+ },
+ "MMK": {
+ "name": "Мјанмарски киат"
+ },
+ "MZN": {
+ "name": "Мозамбиски метикал"
+ },
+ "MDL": {
+ "name": "Молдавски леу"
+ },
+ "MNT": {
+ "name": "Монголиски тугрик"
+ },
+ "NAD": {
+ "name": "Намибиски долар"
+ },
+ "NPR": {
+ "name": "Непалска рупија"
+ },
+ "NGN": {
+ "name": "Нигериска наира"
+ },
+ "NIO": {
+ "name": "Никарагванска кордоба"
+ },
+ "NZD": {
+ "name": "Новозеландски долар"
+ },
+ "NOK": {
+ "name": "Норвешка круна"
+ },
+ "AED": {
+ "name": "Обединети Арапски Емирати Дирхам"
+ },
+ "OMR": {
+ "name": "Омански риал"
+ },
+ "PKR": {
+ "name": "Пакистанска рупија"
+ },
+ "PAB": {
+ "name": "Панамска балбоа"
+ },
+ "PGK": {
+ "name": "Папуа новогвинејска кина"
+ },
+ "PYG": {
+ "name": "Парагвајска гуарана"
+ },
+ "PEN": {
+ "name": "Перуански нов сол"
+ },
+ "PLN": {
+ "name": "Полска злота"
+ },
+ "RON": {
+ "name": "Романска леи"
+ },
+ "RWF": {
+ "name": "Руандски франк"
+ },
+ "RUB": {
+ "name": "Руска рубља"
+ },
+ "SVC": {
+ "name": "Салвадорски колон"
+ },
+ "WST": {
+ "name": "Самоанска тала"
+ },
+ "SAR": {
+ "name": "Саудиски ријал"
+ },
+ "SZL": {
+ "name": "Свазилендски лиланген"
+ },
+ "KPW": {
+ "name": "Северно корејски вон"
+ },
+ "SCR": {
+ "name": "Сејшелска рупија"
+ },
+ "SLL": {
+ "name": "Сиералеонско леоне"
+ },
+ "SGD": {
+ "name": "Сингапурски долар"
+ },
+ "SYP": {
+ "name": "Сиријска фунта"
+ },
+ "SBD": {
+ "name": "Соломонски долар"
+ },
+ "SOS": {
+ "name": "Сомалијски шилинг"
+ },
+ "RSD": {
+ "name": "Српски динар"
+ },
+ "SDG": {
+ "name": "Суданска фунта"
+ },
+ "SRD": {
+ "name": "Суринамски долар"
+ },
+ "THB": {
+ "name": "Таи бат"
+ },
+ "TWD": {
+ "name": "Тајвански нов долар"
+ },
+ "TZS": {
+ "name": "Танзаниски шилинг"
+ },
+ "TJS": {
+ "name": "Таџикистански сомони"
+ },
+ "TOP": {
+ "name": "Тонганска панга"
+ },
+ "TND": {
+ "name": "Тунизиски динар"
+ },
+ "TMT": {
+ "name": "Туркменист. манат"
+ },
+ "TRY": {
+ "name": "Турска лира"
+ },
+ "UGX": {
+ "name": "Угандиски шилинг"
+ },
+ "UZS": {
+ "name": "Узбекистански сом"
+ },
+ "UAH": {
+ "name": "Украинска хривнија"
+ },
+ "HUF": {
+ "name": "Унгарска форинта"
+ },
+ "UYU": {
+ "name": "Уругвајски пезос"
+ },
+ "PHP": {
+ "name": "Филипински пезос"
+ },
+ "FJD": {
+ "name": "Фиџиски долар"
+ },
+ "FKP": {
+ "name": "Фолкландска фунта"
+ },
+ "SHP": {
+ "name": "Фунта на Света Елена"
+ },
+ "HTG": {
+ "name": "Хаитски гурд"
+ },
+ "ANG": {
+ "name": "Холандски антилски гилдер"
+ },
+ "HKD": {
+ "name": "Хонгконшки долар"
+ },
+ "HNL": {
+ "name": "Хондурска лемпира"
+ },
+ "HRK": {
+ "name": "Хрватска куна"
+ },
+ "XAF": {
+ "name": "Централноафрикански франк",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "ЦФП франк",
+ "symbol": "CFPF"
+ },
+ "CZK": {
+ "name": "Чешка корона"
+ },
+ "CLP": {
+ "name": "Чилеански пезос"
+ },
+ "DJF": {
+ "name": "Џибути франк"
+ },
+ "CHF": {
+ "name": "Швајцарски Франк"
+ },
+ "SEK": {
+ "name": "Шведска круна"
+ },
+ "LKR": {
+ "name": "Шриланканска рупија"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/ml.json b/vendor/commerceguys/intl/resources/currency/ml.json
new file mode 100644
index 000000000..0cb7b89b2
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/ml.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "അഫ്‌ഗാൻ അഫ്‌‌ഗാനി"
+ },
+ "AOA": {
+ "name": "അംഗോളൻ ‍ക്വാൻസ"
+ },
+ "ARS": {
+ "name": "അർജൻറീൻ പെസോ"
+ },
+ "AMD": {
+ "name": "അർമേനിയൻ ഡ്രാം"
+ },
+ "ALL": {
+ "name": "അൽബേനിയൻ ലെക്"
+ },
+ "AZN": {
+ "name": "അസർബൈജാനി മനത്"
+ },
+ "DZD": {
+ "name": "അൾജീരിയൻ ദിനാർ"
+ },
+ "AWG": {
+ "name": "അറൂബൻ ഫ്ലോറിൻ"
+ },
+ "IDR": {
+ "name": "ഇന്തോനേഷ്യൻ റുപിയ"
+ },
+ "INR": {
+ "name": "ഇന്ത്യൻ രൂപ",
+ "symbol": "₹"
+ },
+ "ILS": {
+ "name": "ഇസ്രായേലി ന്യൂ ഷെക്കെൽ",
+ "symbol": "₪"
+ },
+ "IQD": {
+ "name": "ഇറാഖി ദിനാർ"
+ },
+ "IRR": {
+ "name": "ഇറാനിയൻ റിയാൽ"
+ },
+ "EGP": {
+ "name": "ഈജിപ്‌ഷ്യൻ പൗണ്ട്"
+ },
+ "UAH": {
+ "name": "ഉക്രേനിയൻ ഹ്രിവ്‌നിയ"
+ },
+ "UGX": {
+ "name": "ഉഗാണ്ടൻ ഷില്ലിംഗ്"
+ },
+ "KPW": {
+ "name": "ഉത്തര കൊറിയൻ വോൺ"
+ },
+ "UZS": {
+ "name": "ഉസ്‌ബെക്കിസ്ഥാനി സോം"
+ },
+ "UYU": {
+ "name": "ഉറുഗ്വേയൻ പെസോ"
+ },
+ "ETB": {
+ "name": "എത്യോപ്യൻ ബിർ"
+ },
+ "SVC": {
+ "name": "എൽ സാൽവഡോർ കോളൻ"
+ },
+ "ERN": {
+ "name": "എറിത്രിയൻ നക്ഫ"
+ },
+ "ISK": {
+ "name": "ഐസ്‌ലാൻഡിക് ക്രോണ"
+ },
+ "OMR": {
+ "name": "ഒമാനി റിയാൽ"
+ },
+ "AUD": {
+ "name": "ഓസ്ട്രേലിയൻ ഡോളർ",
+ "symbol": "A$"
+ },
+ "CAD": {
+ "name": "കനേഡിയൻ ഡോളർ",
+ "symbol": "CA$"
+ },
+ "KHR": {
+ "name": "കംബോഡിയൻ റീൽ"
+ },
+ "KZT": {
+ "name": "കസാക്കിസ്ഥാനി ടെംഗെ"
+ },
+ "KGS": {
+ "name": "കിർഗിസ്ഥാനി സോം"
+ },
+ "XCD": {
+ "name": "കിഴക്കൻ കരീബിയൻ ഡോളർ",
+ "symbol": "EC$"
+ },
+ "KWD": {
+ "name": "കുവൈറ്റി ദിനാർ"
+ },
+ "KES": {
+ "name": "കെനിയൻ ഷില്ലിംഗ്"
+ },
+ "CVE": {
+ "name": "കേപ് വെർദിയൻ എസ്‌ക്യുഡോ"
+ },
+ "KYD": {
+ "name": "കേമാൻ ഐലൻഡ്‌സ് ഡോളർ"
+ },
+ "KMF": {
+ "name": "കൊമോറിയൻ ഫ്രാങ്ക്"
+ },
+ "COP": {
+ "name": "കൊളംബിയൻ പെസോ"
+ },
+ "CDF": {
+ "name": "കോങ്കളീസ് ഫ്രാങ്ക്"
+ },
+ "CRC": {
+ "name": "കോസ്റ്റാ റിക്കൻ കോളൻ"
+ },
+ "CUC": {
+ "name": "ക്യൂബൻ കൺവേർട്ടബിൾ പെസോ"
+ },
+ "CUP": {
+ "name": "ക്യൂബൻ പെസോ"
+ },
+ "HRK": {
+ "name": "ക്രൊയേഷൻ ക്യുന"
+ },
+ "QAR": {
+ "name": "ഖത്തർ റിയാൽ"
+ },
+ "GYD": {
+ "name": "ഗയാനീസ് ഡോളർ"
+ },
+ "GMD": {
+ "name": "ഗാംബിയൻ ദലാസി"
+ },
+ "GNF": {
+ "name": "ഗിനിയൻ ഫ്രാങ്ക്"
+ },
+ "GTQ": {
+ "name": "ഗ്വാട്ടിമാലൻ ക്വെറ്റ്‌സൽ"
+ },
+ "GHS": {
+ "name": "ഘാനയൻ കെഡി"
+ },
+ "CLP": {
+ "name": "ചിലിയൻ പെസോ"
+ },
+ "CZK": {
+ "name": "ചെക്ക് റിപ്പബ്ലിക് കൊരുണ"
+ },
+ "CNY": {
+ "name": "ചൈനീസ് യുവാൻ",
+ "symbol": "CN¥"
+ },
+ "JMD": {
+ "name": "ജമൈക്കൻ ഡോളർ"
+ },
+ "JPY": {
+ "name": "ജാപ്പനീസ് യെൻ",
+ "symbol": "¥"
+ },
+ "GIP": {
+ "name": "ജിബ്രാൾട്ടർ പൗണ്ട്"
+ },
+ "GEL": {
+ "name": "ജോർജ്ജിയൻ ലാറി"
+ },
+ "JOD": {
+ "name": "ജോർദ്ദാനിയൻ ദിനാർ"
+ },
+ "TRY": {
+ "name": "ടർക്കിഷ് ലിറ"
+ },
+ "TZS": {
+ "name": "ടാൻസാനിയൻ ഷില്ലിംഗ്"
+ },
+ "TND": {
+ "name": "ടുണീഷ്യൻ ദിനാർ"
+ },
+ "TOP": {
+ "name": "ടോംഗൻ പാംഗ"
+ },
+ "TTD": {
+ "name": "ട്രിനിഡാഡ് അന്റ് ടുബാഗോ ഡോളർ"
+ },
+ "DKK": {
+ "name": "ഡാനിഷ് ക്രോണെ"
+ },
+ "DOP": {
+ "name": "ഡൊമിനിക്കൻ പെസോ"
+ },
+ "TJS": {
+ "name": "താജിക്കിസ്ഥാനി സോംനി"
+ },
+ "THB": {
+ "name": "തായ് ബട്ട്",
+ "symbol": "฿"
+ },
+ "TMT": {
+ "name": "തുർക്ക്‌മെനിസ്ഥാനി മനത്"
+ },
+ "KRW": {
+ "name": "ദക്ഷിണ കൊറിയൻ വോൺ",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "ദക്ഷിണ സുഡാനീസ് പൗണ്ട്"
+ },
+ "ZAR": {
+ "name": "ദക്ഷിണാഫ്രിക്കൻ റാൻഡ്"
+ },
+ "DJF": {
+ "name": "ദിജിബൗട്ടിയൻ ഫ്രാങ്ക്"
+ },
+ "NAD": {
+ "name": "നമീബിയൻ ഡോളർ"
+ },
+ "NIO": {
+ "name": "നിക്കരാഗ്വൻ കോർഡോബ"
+ },
+ "ANG": {
+ "name": "നെതർലാൻഡ്‌സ് ആന്റിലൻ ഗിൽഡർ"
+ },
+ "NPR": {
+ "name": "നേപ്പാളീസ് റുപ്പീ"
+ },
+ "NGN": {
+ "name": "നൈജീരിയൻ നൈറ"
+ },
+ "NOK": {
+ "name": "നോർവീജിയൻ ക്രോണെ"
+ },
+ "TWD": {
+ "name": "ന്യൂ തായ്‌വാൻ ഡോളർ",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "ന്യൂസിലാന്റ് ഡോളർ",
+ "symbol": "NZ$"
+ },
+ "PAB": {
+ "name": "പനാമനിയൻ ബാൽബോവ"
+ },
+ "PYG": {
+ "name": "പരാഗ്വേയൻ ഗ്വരനീ"
+ },
+ "XOF": {
+ "name": "പശ്ചിമ ആഫ്രിക്കൻ [CFA] ഫ്രാങ്ക്",
+ "symbol": "CFA"
+ },
+ "PKR": {
+ "name": "പാക്കിസ്ഥാനി റുപ്പീ"
+ },
+ "PGK": {
+ "name": "പാപ്പുവ ന്യൂ ഗിനിയൻ കിന"
+ },
+ "PEN": {
+ "name": "പെറുവിയൻ ന്യൂവോ സോൾ"
+ },
+ "PLN": {
+ "name": "പോളിഷ് സ്ലോട്ടി"
+ },
+ "FKP": {
+ "name": "ഫാക്ക്‌ലാന്റ് ദ്വീപുകളുടെ പൗണ്ട്"
+ },
+ "FJD": {
+ "name": "ഫിജിയൻ ഡോളർ"
+ },
+ "PHP": {
+ "name": "ഫിലിപ്പീനി പെസോ"
+ },
+ "BDT": {
+ "name": "ബംഗ്ലാദേശി ടാക്ക"
+ },
+ "BSD": {
+ "name": "ബഹാമിയൻ ഡോളർ"
+ },
+ "BHD": {
+ "name": "ബഹ്റൈനി ദിനാർ"
+ },
+ "BGN": {
+ "name": "ബൾഗേറിയൻ ലെവ്"
+ },
+ "BIF": {
+ "name": "ബറുണ്ടിയൻ ഫ്രാങ്ക്"
+ },
+ "BBD": {
+ "name": "ബാർബഡോസ് ഡോളർ"
+ },
+ "BMD": {
+ "name": "ബെർമുഡൻ ഡോളർ"
+ },
+ "BYN": {
+ "name": "ബെലാറുഷ്യൻ റൂബിൾ"
+ },
+ "BYR": {
+ "name": "ബെലാറുഷ്യൻ റൂബിൾ (2000–2016)"
+ },
+ "BZD": {
+ "name": "ബെലീസ് ഡോളർ"
+ },
+ "BOB": {
+ "name": "ബൊളീവിയൻ ബൊളിവിയാനോ"
+ },
+ "BWP": {
+ "name": "ബോട്‌സ്വാനൻ പ്യുല"
+ },
+ "BAM": {
+ "name": "ബോസ്‌നിയ-ഹെർസഗോവിന കൺവേർട്ടബിൾ മാർക്ക്"
+ },
+ "BRL": {
+ "name": "ബ്രസീലിയൻ റിയാൽ",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "ബ്രിട്ടീഷ് പൗണ്ട്",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "ബ്രൂണൈ ഡോളർ"
+ },
+ "BTN": {
+ "name": "ഭൂട്ടാനീസ് ഗൾട്രം"
+ },
+ "MOP": {
+ "name": "മകാനീസ് പതാക്ക"
+ },
+ "MGA": {
+ "name": "മഡഗാസി ഏരിയറി"
+ },
+ "XAF": {
+ "name": "മദ്ധ്യ ആഫ്രിക്കൻ [CFA] ഫ്രാങ്ക്",
+ "symbol": "FCFA"
+ },
+ "MNT": {
+ "name": "മംഗോളിയൻ തുഗ്രിക്"
+ },
+ "MWK": {
+ "name": "മലാവിയൻ ക്വച്ചാ"
+ },
+ "MYR": {
+ "name": "മലേഷ്യൻ റിംഗിറ്റ്"
+ },
+ "MVR": {
+ "name": "മാൽദീവിയൻ റുഫിയ"
+ },
+ "MKD": {
+ "name": "മാസിഡോണിയൻ ദിനാർ"
+ },
+ "MXN": {
+ "name": "മെക്സിക്കൻ പെസോ",
+ "symbol": "MX$"
+ },
+ "MZN": {
+ "name": "മൊസാംബിക്കൻ മെറ്റിക്കൽ"
+ },
+ "MDL": {
+ "name": "മൊൾഡോവൻ ലിയു"
+ },
+ "MAD": {
+ "name": "മൊറോക്കൻ ദിർഹം"
+ },
+ "MRO": {
+ "name": "മൗറിറ്റേനിയൻ ഔഗിയ"
+ },
+ "MUR": {
+ "name": "മൗറീഷ്യൻ റുപ്പീ"
+ },
+ "MMK": {
+ "name": "മ്യാൻമാർ ക്യാട്"
+ },
+ "USD": {
+ "name": "യു.എസ്. ഡോളർ",
+ "symbol": "$"
+ },
+ "AED": {
+ "name": "യുണൈറ്റഡ് അറബ് എമിറേറ്റ്സ് ദിർഹം"
+ },
+ "EUR": {
+ "name": "യൂറോ",
+ "symbol": "€"
+ },
+ "YER": {
+ "name": "യെമനി റിയാൽ"
+ },
+ "LAK": {
+ "name": "ലാവോഷിയൻ കിപ്"
+ },
+ "LYD": {
+ "name": "ലിബിയൻ ദിനാർ"
+ },
+ "LBP": {
+ "name": "ലെബനീസ് പൗണ്ട്"
+ },
+ "LSL": {
+ "name": "ലെസോതോ ലോത്തി"
+ },
+ "LRD": {
+ "name": "ലൈബീരിയൻ ഡോളർ"
+ },
+ "VUV": {
+ "name": "വന്വാതു വാതു"
+ },
+ "VND": {
+ "name": "വിയറ്റ്നാമീസ് ഡോങ്",
+ "symbol": "₫"
+ },
+ "VEF": {
+ "name": "വെനിസ്വേലൻ ബൊളീവർ"
+ },
+ "LKR": {
+ "name": "ശ്രീലങ്കൻ റുപ്പീ"
+ },
+ "WST": {
+ "name": "സമോവൻ താല"
+ },
+ "ZMW": {
+ "name": "സാംബിയൻ ക്വാച്ച"
+ },
+ "STD": {
+ "name": "സാവോ ടോമി ആൻഡ് പ്രിൻസിപെ ഡോബ്ര"
+ },
+ "SGD": {
+ "name": "സിംഗപ്പൂർ ഡോളർ"
+ },
+ "SLL": {
+ "name": "സിയെറ ലിയോണിയൻ ലിയോൺ"
+ },
+ "SYP": {
+ "name": "സിറിയൻ പൗണ്ട്"
+ },
+ "SCR": {
+ "name": "സീഷെലോയിസ് റുപ്പീ"
+ },
+ "SDG": {
+ "name": "സുഡാനീസ് പൗണ്ട്"
+ },
+ "SRD": {
+ "name": "സുരിനെയിമിസ് ഡോളർ"
+ },
+ "SHP": {
+ "name": "സെന്റ് ഹെലീന പൗണ്ട്"
+ },
+ "RSD": {
+ "name": "സെർബിയൻ ദിനാർ"
+ },
+ "SOS": {
+ "name": "സോമാലി ഷില്ലിംഗ്"
+ },
+ "SBD": {
+ "name": "സോളമൻ ദ്വീപുകളുടെ ഡോളർ"
+ },
+ "SAR": {
+ "name": "സൗദി റിയാൽ"
+ },
+ "SZL": {
+ "name": "സ്വാസി ലിലാംഗനി"
+ },
+ "CHF": {
+ "name": "സ്വിസ് ഫ്രാങ്ക്"
+ },
+ "SEK": {
+ "name": "സ്വീഡിഷ് ക്രോണ"
+ },
+ "HUF": {
+ "name": "ഹംഗേറിയൻ ഫോറിന്റ്"
+ },
+ "HTG": {
+ "name": "ഹെയ്‌തിയൻ ഗൂർഡ്"
+ },
+ "HKD": {
+ "name": "ഹോങ്കോങ്ങ് ഡോളർ",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "ഹോണ്ടുറൻ ലെംപിറ"
+ },
+ "RUB": {
+ "name": "റഷ്യൻ റൂബിൾ"
+ },
+ "RWF": {
+ "name": "റുവാണ്ടൻ ഫ്രാങ്ക്"
+ },
+ "RON": {
+ "name": "റൊമാനിയൻ ലെയു"
+ },
+ "XPF": {
+ "name": "CFP ഫ്രാങ്ക്",
+ "symbol": "CFPF"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/mn.json b/vendor/commerceguys/intl/resources/currency/mn.json
new file mode 100644
index 000000000..fce83e09a
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/mn.json
@@ -0,0 +1,498 @@
+{
+ "AUD": {
+ "name": "австрали доллар",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "азербайжаны манат"
+ },
+ "ALL": {
+ "name": "албанийн лек"
+ },
+ "DZD": {
+ "name": "алжир доллар"
+ },
+ "USD": {
+ "name": "америк доллар",
+ "symbol": "$"
+ },
+ "AOA": {
+ "name": "ангол кванза"
+ },
+ "AED": {
+ "name": "арабын нэгдсэн эмиратын дирхам"
+ },
+ "ARS": {
+ "name": "аргентин песо"
+ },
+ "AMD": {
+ "name": "арменийн драм"
+ },
+ "AWG": {
+ "name": "арубын флорин"
+ },
+ "AFN": {
+ "name": "афганистан афгани"
+ },
+ "BSD": {
+ "name": "багам доллар"
+ },
+ "NPR": {
+ "name": "балба рупи"
+ },
+ "BDT": {
+ "name": "бангладеш така"
+ },
+ "BBD": {
+ "name": "барбадос доллар"
+ },
+ "XOF": {
+ "name": "баруун африкийн франк",
+ "symbol": "CFA"
+ },
+ "BHD": {
+ "name": "бахрейн динар"
+ },
+ "BYN": {
+ "name": "беларусь рубль"
+ },
+ "BYR": {
+ "name": "беларусь рубль (2000–2016)"
+ },
+ "BZD": {
+ "name": "белиз доллар"
+ },
+ "BMD": {
+ "name": "бермуд доллар"
+ },
+ "BGN": {
+ "name": "болгарын лев"
+ },
+ "BOB": {
+ "name": "боливи боливиано"
+ },
+ "BAM": {
+ "name": "босни-герцеговин хөрвөгч марк"
+ },
+ "BWP": {
+ "name": "ботсвани пула"
+ },
+ "BRL": {
+ "name": "бразилийн рил",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "британийн фунт",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "бруней доллар"
+ },
+ "BIF": {
+ "name": "бурунд франк"
+ },
+ "BTN": {
+ "name": "бутаны нгултрум"
+ },
+ "VUV": {
+ "name": "вануатугийн вату"
+ },
+ "VEF": {
+ "name": "венесуэлийн боливар"
+ },
+ "VND": {
+ "name": "вьетнамын донг",
+ "symbol": "₫"
+ },
+ "HTG": {
+ "name": "гаитийн гоурд"
+ },
+ "GYD": {
+ "name": "гайана доллар"
+ },
+ "GMD": {
+ "name": "гамби даласи"
+ },
+ "GHS": {
+ "name": "гана седи"
+ },
+ "GTQ": {
+ "name": "гватемалын кецал"
+ },
+ "GNF": {
+ "name": "гвиней франк"
+ },
+ "GIP": {
+ "name": "гибралтар паунд"
+ },
+ "HNL": {
+ "name": "гондурасын лемпира"
+ },
+ "GEL": {
+ "name": "гүржийн лари"
+ },
+ "DKK": {
+ "name": "данийн крон"
+ },
+ "DOP": {
+ "name": "доминиканы песо"
+ },
+ "EUR": {
+ "name": "евро",
+ "symbol": "€"
+ },
+ "EGP": {
+ "name": "египет паунд"
+ },
+ "DJF": {
+ "name": "жибоути франк"
+ },
+ "ZMW": {
+ "name": "замби квача"
+ },
+ "XCD": {
+ "name": "зүүн карибийн доллар",
+ "symbol": "EC$"
+ },
+ "ILS": {
+ "name": "израилийн шинэ шекел",
+ "symbol": "₪"
+ },
+ "IDR": {
+ "name": "индонези рупи"
+ },
+ "IQD": {
+ "name": "ирак динар"
+ },
+ "IRR": {
+ "name": "иран риал"
+ },
+ "ISK": {
+ "name": "исландын крон"
+ },
+ "YER": {
+ "name": "йемен риал"
+ },
+ "JOD": {
+ "name": "йордан динар"
+ },
+ "CVE": {
+ "name": "кабо-верде эскудо"
+ },
+ "KZT": {
+ "name": "казахын тэнгэ"
+ },
+ "KYD": {
+ "name": "кайман арлын доллар"
+ },
+ "KHR": {
+ "name": "камбож риел"
+ },
+ "CAD": {
+ "name": "канад доллар",
+ "symbol": "CA$"
+ },
+ "QAR": {
+ "name": "катар риал"
+ },
+ "KES": {
+ "name": "кени шиллинг"
+ },
+ "COP": {
+ "name": "колумбын песо"
+ },
+ "KMF": {
+ "name": "комор франк"
+ },
+ "CDF": {
+ "name": "конго франк"
+ },
+ "CRC": {
+ "name": "коста рикагийн колон"
+ },
+ "CUP": {
+ "name": "кубын песо"
+ },
+ "CUC": {
+ "name": "кубын хөрвөгч песо"
+ },
+ "KWD": {
+ "name": "кувейт динар"
+ },
+ "KGS": {
+ "name": "кыргыз сом"
+ },
+ "LAK": {
+ "name": "лаосын кип"
+ },
+ "LRD": {
+ "name": "либери доллар"
+ },
+ "LBP": {
+ "name": "ливан паунд"
+ },
+ "LYD": {
+ "name": "ливи доллар"
+ },
+ "MRO": {
+ "name": "мавритан угия"
+ },
+ "MUR": {
+ "name": "мавритын рупи"
+ },
+ "MOP": {
+ "name": "макаогийн патака"
+ },
+ "MKD": {
+ "name": "македони динар"
+ },
+ "MWK": {
+ "name": "малави квача"
+ },
+ "MYR": {
+ "name": "малайзын рингит"
+ },
+ "MGA": {
+ "name": "малайн ариари"
+ },
+ "MVR": {
+ "name": "мальдив руфия"
+ },
+ "MAD": {
+ "name": "мароккогийн дирхам"
+ },
+ "MXN": {
+ "name": "мексикийн песо",
+ "symbol": "MX$"
+ },
+ "MZN": {
+ "name": "мозамбик метикал"
+ },
+ "MDL": {
+ "name": "молдавын леу"
+ },
+ "MMK": {
+ "name": "мьянмарын киат"
+ },
+ "NAD": {
+ "name": "намиби доллар"
+ },
+ "NGN": {
+ "name": "нигери найра"
+ },
+ "ANG": {
+ "name": "нидерландын антиллъя гулдер"
+ },
+ "NIO": {
+ "name": "никарагуагийн кордоба"
+ },
+ "NOK": {
+ "name": "норвегийн крон"
+ },
+ "OMR": {
+ "name": "омани риал"
+ },
+ "RUB": {
+ "name": "орос рубль"
+ },
+ "ZAR": {
+ "name": "өмнөд африкийн ранд"
+ },
+ "KRW": {
+ "name": "өмнөд солонгос вон",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "өмнөд судан паунд"
+ },
+ "PKR": {
+ "name": "пакистан рупи"
+ },
+ "PAB": {
+ "name": "панамын бальбоа"
+ },
+ "PGK": {
+ "name": "папуа-шинэ гвинейн кина"
+ },
+ "PYG": {
+ "name": "парагвайн гуарани"
+ },
+ "PEN": {
+ "name": "перугийн невосоль"
+ },
+ "PLN": {
+ "name": "польшийн злот"
+ },
+ "RWF": {
+ "name": "руанд франк"
+ },
+ "RON": {
+ "name": "румыны леу"
+ },
+ "WST": {
+ "name": "самоагийн тала"
+ },
+ "STD": {
+ "name": "сан-томе ба принсипи добра"
+ },
+ "SAR": {
+ "name": "сауди риал"
+ },
+ "SZL": {
+ "name": "свазиланд лилангени"
+ },
+ "SCR": {
+ "name": "сейшел рупи"
+ },
+ "SHP": {
+ "name": "сент хелена фунт"
+ },
+ "RSD": {
+ "name": "серб динар"
+ },
+ "SGD": {
+ "name": "сингапур доллар"
+ },
+ "SYP": {
+ "name": "сири паунд"
+ },
+ "SBD": {
+ "name": "соломон арлын доллар"
+ },
+ "SOS": {
+ "name": "сомали шиллинг"
+ },
+ "SDG": {
+ "name": "судан паунд"
+ },
+ "SRD": {
+ "name": "суринам доллар"
+ },
+ "SLL": {
+ "name": "сьерра леоны леон"
+ },
+ "TJS": {
+ "name": "тажикийн сомон"
+ },
+ "THB": {
+ "name": "тайландын бат",
+ "symbol": "฿"
+ },
+ "TZS": {
+ "name": "танзани шиллинг"
+ },
+ "TOP": {
+ "name": "тонгагийн панга"
+ },
+ "XAF": {
+ "name": "төв африкийн франк",
+ "symbol": "FCFA"
+ },
+ "MNT": {
+ "name": "төгрөг",
+ "symbol": "₮"
+ },
+ "TTD": {
+ "name": "тринидад ба тобаго доллар"
+ },
+ "TND": {
+ "name": "тунис доллар"
+ },
+ "TRY": {
+ "name": "туркийн лира"
+ },
+ "TMT": {
+ "name": "туркмен манат"
+ },
+ "UGX": {
+ "name": "уганд шиллинг"
+ },
+ "UZS": {
+ "name": "узбекийн сом"
+ },
+ "UAH": {
+ "name": "украины гривня"
+ },
+ "HUF": {
+ "name": "унгарын форинт"
+ },
+ "UYU": {
+ "name": "уругвайн песо"
+ },
+ "FJD": {
+ "name": "фижи доллар"
+ },
+ "PHP": {
+ "name": "филиппин песо"
+ },
+ "FKP": {
+ "name": "фолклэнд арлын паунд"
+ },
+ "XPF": {
+ "name": "францын колоний франк",
+ "symbol": "CFPF"
+ },
+ "KPW": {
+ "name": "хойд солонгос вон"
+ },
+ "HKD": {
+ "name": "хонгконг доллар",
+ "symbol": "HK$"
+ },
+ "HRK": {
+ "name": "хорватын куна"
+ },
+ "CNY": {
+ "name": "хятад юань",
+ "symbol": "CN¥"
+ },
+ "CZK": {
+ "name": "чехийн коруна"
+ },
+ "CLP": {
+ "name": "чилийн песо"
+ },
+ "SEK": {
+ "name": "шведийн крон"
+ },
+ "CHF": {
+ "name": "швейцарь франк"
+ },
+ "NZD": {
+ "name": "шинэ зеланд доллар",
+ "symbol": "NZ$"
+ },
+ "TWD": {
+ "name": "шинэ тайвань доллар",
+ "symbol": "NT$"
+ },
+ "LKR": {
+ "name": "шри-ланк рупи"
+ },
+ "INR": {
+ "name": "энэтхэг рупи",
+ "symbol": "₹"
+ },
+ "ERN": {
+ "name": "эритрей накфа"
+ },
+ "ETB": {
+ "name": "этиоп бирр"
+ },
+ "JMD": {
+ "name": "ямайк доллар"
+ },
+ "JPY": {
+ "name": "япон иен",
+ "symbol": "JP¥"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/mr.json b/vendor/commerceguys/intl/resources/currency/mr.json
new file mode 100644
index 000000000..d8e46039d
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/mr.json
@@ -0,0 +1,497 @@
+{
+ "XPF": {
+ "name": "[CFP] फ्रँक",
+ "symbol": "CFPF"
+ },
+ "AOA": {
+ "name": "अँगोलन क्वॅन्झा"
+ },
+ "AZN": {
+ "name": "अझरबैझानी मानाट"
+ },
+ "AFN": {
+ "name": "अफगाण अफगाणी"
+ },
+ "AWG": {
+ "name": "अरुबा फ्लोरिन"
+ },
+ "ARS": {
+ "name": "अर्जेंटाइन पेसो"
+ },
+ "DZD": {
+ "name": "अल्जेरियन दिनार"
+ },
+ "ALL": {
+ "name": "अल्बानियन लेक"
+ },
+ "ISK": {
+ "name": "आइसलँडिक क्रोना"
+ },
+ "AMD": {
+ "name": "आर्मेनियन द्रॅम"
+ },
+ "IDR": {
+ "name": "इंडोनेशियन रुपिया"
+ },
+ "EGP": {
+ "name": "इजिप्शियन पाउंड"
+ },
+ "ETB": {
+ "name": "इथिओपियन बिर"
+ },
+ "IQD": {
+ "name": "इराकी दिनार"
+ },
+ "IRR": {
+ "name": "इराणी रियाल"
+ },
+ "ERN": {
+ "name": "इरिट्रियन नाक्फा"
+ },
+ "ILS": {
+ "name": "ईस्त्रायली न्यू शेकेल",
+ "symbol": "₪"
+ },
+ "UZS": {
+ "name": "उझबेकिस्तानी सोम"
+ },
+ "KPW": {
+ "name": "उत्तर कोरियन वॉन"
+ },
+ "UYU": {
+ "name": "उरुग्वेचा पेसो"
+ },
+ "AUD": {
+ "name": "ऑस्ट्रेलियन डॉलर",
+ "symbol": "A$"
+ },
+ "OMR": {
+ "name": "ओमानी रियाल"
+ },
+ "KHR": {
+ "name": "कंबोडियन रियेल"
+ },
+ "KZT": {
+ "name": "कझाकिस्तानी तेंगे"
+ },
+ "QAR": {
+ "name": "कतारी रियाल"
+ },
+ "CDF": {
+ "name": "काँगोलीज फ्रँक"
+ },
+ "KGS": {
+ "name": "किरगिस्तानी सॉम"
+ },
+ "KWD": {
+ "name": "कुवैती दिनार"
+ },
+ "CAD": {
+ "name": "कॅनडियन डॉलर",
+ "symbol": "CA$"
+ },
+ "KES": {
+ "name": "केनियन शिलिंग"
+ },
+ "CVE": {
+ "name": "केप व्हर्डेयन एस्कुडो"
+ },
+ "KYD": {
+ "name": "केमेन आयलॅंड डॉलर"
+ },
+ "KMF": {
+ "name": "कोमोरियन फ्रँक"
+ },
+ "COP": {
+ "name": "कोलंबियन पेसो"
+ },
+ "CRC": {
+ "name": "कोस्टा रिका कोलोन"
+ },
+ "CUP": {
+ "name": "क्यूबन पेसो"
+ },
+ "CUC": {
+ "name": "क्यूबन विनिमय पेसो"
+ },
+ "HRK": {
+ "name": "क्रोएशियन कूना"
+ },
+ "GYD": {
+ "name": "गयाना डॉलर"
+ },
+ "GMD": {
+ "name": "गाम्बियन डालासी"
+ },
+ "GNF": {
+ "name": "गिनी फ्रँक"
+ },
+ "GTQ": {
+ "name": "ग्वाटेमालाचे क्वेत्झाल"
+ },
+ "GHS": {
+ "name": "घानीयन सेडी"
+ },
+ "CLP": {
+ "name": "चिली पेसो"
+ },
+ "CNY": {
+ "name": "चीनी युआन",
+ "symbol": "CN¥"
+ },
+ "JPY": {
+ "name": "जपानी येन",
+ "symbol": "JP¥"
+ },
+ "JMD": {
+ "name": "जमैकन डॉलर"
+ },
+ "DJF": {
+ "name": "जिबौटियन फ्रँक"
+ },
+ "GIP": {
+ "name": "जिब्राल्टर पाउंड"
+ },
+ "GEL": {
+ "name": "जॉर्जियन लारी"
+ },
+ "JOD": {
+ "name": "जॉर्डनियन दिनार"
+ },
+ "ZMW": {
+ "name": "झांबियन क्वाचा"
+ },
+ "CZK": {
+ "name": "झेक प्रजासत्ताक कोरुना"
+ },
+ "TZS": {
+ "name": "टांझानियन शिलिंग"
+ },
+ "TOP": {
+ "name": "टोंगन पाआंगा"
+ },
+ "TND": {
+ "name": "ट्यूनिशियन दिनार"
+ },
+ "DKK": {
+ "name": "डॅनिश क्रोन"
+ },
+ "DOP": {
+ "name": "डोमिनिकन पेसो"
+ },
+ "TJS": {
+ "name": "ताजकीस्तानी सोमोनी"
+ },
+ "TMT": {
+ "name": "तुर्कमेनिस्तानी मानाट"
+ },
+ "TRY": {
+ "name": "तुर्की लिरा"
+ },
+ "TTD": {
+ "name": "त्रिनिदाद आणि टोबॅगो डॉलर"
+ },
+ "THB": {
+ "name": "थाई बाहत",
+ "symbol": "฿"
+ },
+ "ZAR": {
+ "name": "दक्षिण आफ्रिकी रँड"
+ },
+ "KRW": {
+ "name": "दक्षिण कोरियन वॉन",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "दक्षिण सुदानी पाउंड"
+ },
+ "NAD": {
+ "name": "नमिबियन डॉलर"
+ },
+ "NGN": {
+ "name": "नायजेरियन नायरा"
+ },
+ "NIO": {
+ "name": "निकाराग्वेचा कोर्डोबा"
+ },
+ "ANG": {
+ "name": "नेदरलँडचा अँटिलीन गिल्डर"
+ },
+ "NPR": {
+ "name": "नेपाळी रुपया"
+ },
+ "NOK": {
+ "name": "नॉर्वेजियन क्रोन"
+ },
+ "TWD": {
+ "name": "न्यू तैवान डॉलर",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "न्यूझीलँड डॉलर",
+ "symbol": "NZ$"
+ },
+ "PAB": {
+ "name": "पनामा बाल्बोआ"
+ },
+ "PYG": {
+ "name": "पराग्वे ग्वारानी"
+ },
+ "XOF": {
+ "name": "पश्चिम आफ्रिकन [CFA] फ्रँक",
+ "symbol": "CFA"
+ },
+ "PKR": {
+ "name": "पाकिस्तानी रुपया"
+ },
+ "PGK": {
+ "name": "पापुआ न्यू गिनीयन किना"
+ },
+ "XCD": {
+ "name": "पूर्व कॅरीबियन डॉलर",
+ "symbol": "EC$"
+ },
+ "PEN": {
+ "name": "पेरुवियन नुइव्हो सोल"
+ },
+ "PLN": {
+ "name": "पोलिश झ्लॉटी"
+ },
+ "FJD": {
+ "name": "फिजियन डॉलर"
+ },
+ "PHP": {
+ "name": "फिलिपिनी पेसो"
+ },
+ "FKP": {
+ "name": "फॉकलंड आयलंड पाउंड"
+ },
+ "BMD": {
+ "name": "बर्मुडा डॉलर"
+ },
+ "BGN": {
+ "name": "बल्गेरियन लेव"
+ },
+ "BSD": {
+ "name": "बहामी डॉलर"
+ },
+ "BDT": {
+ "name": "बांगलादेशी टका"
+ },
+ "BBD": {
+ "name": "बार्बाडियन डॉलर"
+ },
+ "BHD": {
+ "name": "बाहरिनी दिनार"
+ },
+ "BIF": {
+ "name": "बुरुंडियन फ्रँक"
+ },
+ "BYN": {
+ "name": "बेलारुशियन रुबल"
+ },
+ "BYR": {
+ "name": "बेलारुशियन रुबल (2000–2016)"
+ },
+ "BZD": {
+ "name": "बेलीझ डॉलर"
+ },
+ "BWP": {
+ "name": "बोट्सवानन पुला"
+ },
+ "BOB": {
+ "name": "बोलिव्हियन बोलिव्हियानो"
+ },
+ "BAM": {
+ "name": "बोस्निया-हर्जेगोविना विनिमय मार्क"
+ },
+ "BRL": {
+ "name": "ब्राझिलियन रियाल",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "ब्रिटिश पाऊंड",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "ब्रुनेई डॉलर"
+ },
+ "INR": {
+ "name": "भारतीय रुपया",
+ "symbol": "₹"
+ },
+ "BTN": {
+ "name": "भूतानी एंगल्ट्रम"
+ },
+ "MNT": {
+ "name": "मंगोलियन टुग्रिक"
+ },
+ "XAF": {
+ "name": "मध्य आफ्रिकन [CFA] फ्रँक",
+ "symbol": "FCFA"
+ },
+ "MYR": {
+ "name": "मलेशियन रिंगिट"
+ },
+ "MVR": {
+ "name": "मालदीवियन रुफिया"
+ },
+ "MGA": {
+ "name": "मालागासी एरियारी"
+ },
+ "MWK": {
+ "name": "मालावियन क्वाचा"
+ },
+ "MOP": {
+ "name": "मॅकॅनीज् पटाका"
+ },
+ "MKD": {
+ "name": "मॅसेडोनियन देनार"
+ },
+ "MXN": {
+ "name": "मेक्सिको पेसो",
+ "symbol": "MX$"
+ },
+ "MRO": {
+ "name": "मॉरिटानियन ओगिया"
+ },
+ "MUR": {
+ "name": "मॉरिशियन रुपी"
+ },
+ "MZN": {
+ "name": "मोझांबिकन मेटिकल"
+ },
+ "MAD": {
+ "name": "मोरोक्को दिरहॅम"
+ },
+ "MDL": {
+ "name": "मोल्डोवन लेउ"
+ },
+ "MMK": {
+ "name": "म्यानमार क्याट"
+ },
+ "UAH": {
+ "name": "युक्रेनियन रिवनिया"
+ },
+ "UGX": {
+ "name": "युगांडा शिलिंग"
+ },
+ "EUR": {
+ "name": "युरो",
+ "symbol": "€"
+ },
+ "USD": {
+ "name": "यूएस डॉलर",
+ "symbol": "$"
+ },
+ "YER": {
+ "name": "येमेनी रियाल"
+ },
+ "RWF": {
+ "name": "रवांडा फ्रँक"
+ },
+ "RUB": {
+ "name": "रशियन रुबल"
+ },
+ "RON": {
+ "name": "रोमानियन लेऊ"
+ },
+ "LRD": {
+ "name": "लाइबेरियन डॉलर"
+ },
+ "LAK": {
+ "name": "लाओशियन किप"
+ },
+ "LYD": {
+ "name": "लिबियाचा दिनार"
+ },
+ "LBP": {
+ "name": "लेबनीज पाउंड"
+ },
+ "LSL": {
+ "name": "लेसोटो लोटी"
+ },
+ "VUV": {
+ "name": "वानुआतु वाटु"
+ },
+ "VND": {
+ "name": "व्हिएतनामी डोंग",
+ "symbol": "₫"
+ },
+ "VEF": {
+ "name": "व्हेनेझुएला बोलिव्हार"
+ },
+ "LKR": {
+ "name": "श्रीलंकन रुपया"
+ },
+ "AED": {
+ "name": "संयुक्त अरब अमीरात दिरहॅम"
+ },
+ "RSD": {
+ "name": "सर्बियन दिनार"
+ },
+ "STD": {
+ "name": "साओ टोम आणि प्रिन्सिपे डोबरा"
+ },
+ "WST": {
+ "name": "सामोअन टाला"
+ },
+ "SGD": {
+ "name": "सिंगापूर डॉलर"
+ },
+ "SLL": {
+ "name": "सिएरा लिऑनचा लिऑन"
+ },
+ "SYP": {
+ "name": "सीरियन पाउंड"
+ },
+ "SDG": {
+ "name": "सुदानी पाउंड"
+ },
+ "SRD": {
+ "name": "सुरिनामी डॉलर"
+ },
+ "SHP": {
+ "name": "सेंट हेलेना पाउंड"
+ },
+ "SCR": {
+ "name": "सेशेलोईस रुपी"
+ },
+ "SOS": {
+ "name": "सोमाली शिलिंग"
+ },
+ "SBD": {
+ "name": "सोलोमन आयलँड्स डॉलर"
+ },
+ "SAR": {
+ "name": "सौदी रियाल"
+ },
+ "SZL": {
+ "name": "स्वाझी लीलांगेनी"
+ },
+ "CHF": {
+ "name": "स्विस फ्रँक"
+ },
+ "SEK": {
+ "name": "स्वीडिश क्रोना"
+ },
+ "HUF": {
+ "name": "हंगेरियन फॉरिन्ट"
+ },
+ "HKD": {
+ "name": "हाँगकाँग डॉलर",
+ "symbol": "HK$"
+ },
+ "HTG": {
+ "name": "हैती गोअर्ड"
+ },
+ "HNL": {
+ "name": "होन्डुरन लेंपिरा"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/ms.json b/vendor/commerceguys/intl/resources/currency/ms.json
new file mode 100644
index 000000000..7ecf19afe
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/ms.json
@@ -0,0 +1,494 @@
+{
+ "AFN": {
+ "name": "Afghani Afghanistan"
+ },
+ "MGA": {
+ "name": "Ariary Malagasy"
+ },
+ "THB": {
+ "name": "Baht Thai"
+ },
+ "PAB": {
+ "name": "Balboa Panama"
+ },
+ "ETB": {
+ "name": "Birr Ethiopia"
+ },
+ "VEF": {
+ "name": "Bolivar Venezuela"
+ },
+ "BOB": {
+ "name": "Boliviano Bolivia"
+ },
+ "GHS": {
+ "name": "Cedi Ghana"
+ },
+ "CRC": {
+ "name": "Colon Costa Rica"
+ },
+ "NIO": {
+ "name": "Cordoba Nicaragua"
+ },
+ "GMD": {
+ "name": "Dalasi Gambia"
+ },
+ "MKD": {
+ "name": "Denar Macedonia"
+ },
+ "DZD": {
+ "name": "Dinar Algeria"
+ },
+ "BHD": {
+ "name": "Dinar Bahrain"
+ },
+ "IQD": {
+ "name": "Dinar Iraq"
+ },
+ "JOD": {
+ "name": "Dinar Jordan"
+ },
+ "KWD": {
+ "name": "Dinar Kuwait"
+ },
+ "LYD": {
+ "name": "Dinar Libya"
+ },
+ "RSD": {
+ "name": "Dinar Serbia"
+ },
+ "TND": {
+ "name": "Dinar Tunisia"
+ },
+ "AED": {
+ "name": "Dirham Emiriah Arab Bersatu"
+ },
+ "MAD": {
+ "name": "Dirham Maghribi"
+ },
+ "STD": {
+ "name": "Dobra Sao Tome dan Principe"
+ },
+ "USD": {
+ "name": "Dolar AS"
+ },
+ "AUD": {
+ "name": "Dolar Australia",
+ "symbol": "A$"
+ },
+ "BSD": {
+ "name": "Dolar Bahamas"
+ },
+ "BBD": {
+ "name": "Dolar Barbados"
+ },
+ "BZD": {
+ "name": "Dolar Belize"
+ },
+ "BMD": {
+ "name": "Dolar Bermuda"
+ },
+ "BND": {
+ "name": "Dolar Brunei"
+ },
+ "XCD": {
+ "name": "Dolar Caribbean Timur",
+ "symbol": "EC$"
+ },
+ "FJD": {
+ "name": "Dolar Fiji"
+ },
+ "GYD": {
+ "name": "Dolar Guyana"
+ },
+ "HKD": {
+ "name": "Dolar Hong Kong",
+ "symbol": "HK$"
+ },
+ "JMD": {
+ "name": "Dolar Jamaica"
+ },
+ "CAD": {
+ "name": "Dolar Kanada"
+ },
+ "KYD": {
+ "name": "Dolar Kepulauan Cayman"
+ },
+ "SBD": {
+ "name": "Dolar Kepulauan Solomon"
+ },
+ "LRD": {
+ "name": "Dolar Liberia"
+ },
+ "NAD": {
+ "name": "Dolar Namibia"
+ },
+ "NZD": {
+ "name": "Dolar New Zealand",
+ "symbol": "NZ$"
+ },
+ "SGD": {
+ "name": "Dolar Singapura"
+ },
+ "SRD": {
+ "name": "Dolar Surinam"
+ },
+ "TWD": {
+ "name": "Dolar Taiwan Baru",
+ "symbol": "NT$"
+ },
+ "TTD": {
+ "name": "Dolar Trinidad dan Tobago"
+ },
+ "VND": {
+ "name": "Dong Vietnam",
+ "symbol": "₫"
+ },
+ "AMD": {
+ "name": "Dram Armenia"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa"
+ },
+ "CVE": {
+ "name": "Escudo Tanjung Verde"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "AWG": {
+ "name": "Florin Aruba"
+ },
+ "HUF": {
+ "name": "Forint Hungary"
+ },
+ "BIF": {
+ "name": "Franc Burundia"
+ },
+ "XOF": {
+ "name": "Franc CFA BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Franc CFA BEAC",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "Franc CFP",
+ "symbol": "CFPF"
+ },
+ "KMF": {
+ "name": "Franc Comoria"
+ },
+ "CDF": {
+ "name": "Franc Congo"
+ },
+ "DJF": {
+ "name": "Franc Djibouti"
+ },
+ "GNF": {
+ "name": "Franc Guinea"
+ },
+ "RWF": {
+ "name": "Franc Rwanda"
+ },
+ "CHF": {
+ "name": "Franc Switzerland"
+ },
+ "HTG": {
+ "name": "Gourde Haiti"
+ },
+ "PYG": {
+ "name": "Guarani Paraguay"
+ },
+ "ANG": {
+ "name": "Guilder Antillean Netherland"
+ },
+ "UAH": {
+ "name": "Hryvnia Ukraine"
+ },
+ "PGK": {
+ "name": "Kina Papua New Guinea"
+ },
+ "LAK": {
+ "name": "Kip Laos"
+ },
+ "CZK": {
+ "name": "Koruna Republik Czech"
+ },
+ "ISK": {
+ "name": "Krona Iceland"
+ },
+ "SEK": {
+ "name": "Krona Sweden"
+ },
+ "DKK": {
+ "name": "Krone Denmark"
+ },
+ "NOK": {
+ "name": "Krone Norway"
+ },
+ "HRK": {
+ "name": "Kuna Croatia"
+ },
+ "MWK": {
+ "name": "Kwacha Malawi"
+ },
+ "ZMW": {
+ "name": "Kwacha Zambia"
+ },
+ "AOA": {
+ "name": "Kwanza Angola"
+ },
+ "MMK": {
+ "name": "Kyat Myanma"
+ },
+ "GEL": {
+ "name": "Lari Georgia"
+ },
+ "ALL": {
+ "name": "Lek Albania"
+ },
+ "HNL": {
+ "name": "Lempira Honduras"
+ },
+ "SLL": {
+ "name": "Leone Sierra Leone"
+ },
+ "MDL": {
+ "name": "Leu Moldova"
+ },
+ "RON": {
+ "name": "Leu Romania"
+ },
+ "BGN": {
+ "name": "Lev Bulgaria"
+ },
+ "SZL": {
+ "name": "Lilangeni Swazi"
+ },
+ "TRY": {
+ "name": "Lira Turki"
+ },
+ "LSL": {
+ "name": "Loti Lesotho"
+ },
+ "AZN": {
+ "name": "Manat Azerbaijan"
+ },
+ "TMT": {
+ "name": "Manat Turkmenistan"
+ },
+ "BAM": {
+ "name": "Mark Boleh Tukar Bosnia-Herzegovina"
+ },
+ "MZN": {
+ "name": "Metikal Mozambique"
+ },
+ "NGN": {
+ "name": "Naira Nigeria"
+ },
+ "BTN": {
+ "name": "Ngultrum Bhutan"
+ },
+ "PEN": {
+ "name": "Nuevo Sol Peru"
+ },
+ "MRO": {
+ "name": "Ouguiya Mauritania"
+ },
+ "MOP": {
+ "name": "Pataca Macau"
+ },
+ "GBP": {
+ "name": "Paun British",
+ "symbol": "£"
+ },
+ "GIP": {
+ "name": "Paun Gibraltar"
+ },
+ "FKP": {
+ "name": "Paun Kepulauan Falkland"
+ },
+ "LBP": {
+ "name": "Paun Lubnan"
+ },
+ "EGP": {
+ "name": "Paun Mesir"
+ },
+ "SHP": {
+ "name": "Paun Saint Helena"
+ },
+ "SDG": {
+ "name": "Paun Sudan"
+ },
+ "SSP": {
+ "name": "Paun Sudan selatan"
+ },
+ "SYP": {
+ "name": "Paun Syria"
+ },
+ "ARS": {
+ "name": "Peso Argentina"
+ },
+ "CUC": {
+ "name": "Peso Boleh Tukar Cuba"
+ },
+ "CLP": {
+ "name": "Peso Chile"
+ },
+ "COP": {
+ "name": "Peso Colombia"
+ },
+ "CUP": {
+ "name": "Peso Cuba"
+ },
+ "DOP": {
+ "name": "Peso Dominican"
+ },
+ "PHP": {
+ "name": "Peso Filipina"
+ },
+ "MXN": {
+ "name": "Peso Mexico"
+ },
+ "BWP": {
+ "name": "Pula Botswana"
+ },
+ "GTQ": {
+ "name": "Quetzal Guatemala"
+ },
+ "ZAR": {
+ "name": "Rand Afrika Selatan"
+ },
+ "BRL": {
+ "name": "Real Brazil",
+ "symbol": "R$"
+ },
+ "IRR": {
+ "name": "Rial Iran"
+ },
+ "OMR": {
+ "name": "Rial Oman"
+ },
+ "QAR": {
+ "name": "Rial Qatar"
+ },
+ "YER": {
+ "name": "Rial Yaman"
+ },
+ "KHR": {
+ "name": "Riel Kemboja"
+ },
+ "MYR": {
+ "name": "Ringgit Malaysia",
+ "symbol": "RM"
+ },
+ "SAR": {
+ "name": "Riyal Saudi"
+ },
+ "BYN": {
+ "name": "Rubel Belarus"
+ },
+ "BYR": {
+ "name": "Rubel Belarus (2000–2016)"
+ },
+ "RUB": {
+ "name": "Rubel Rusia"
+ },
+ "MVR": {
+ "name": "Rufiyaa Maldives"
+ },
+ "INR": {
+ "name": "Rupee India",
+ "symbol": "₹"
+ },
+ "MUR": {
+ "name": "Rupee Mauritia"
+ },
+ "NPR": {
+ "name": "Rupee Nepal"
+ },
+ "PKR": {
+ "name": "Rupee Pakistan"
+ },
+ "SCR": {
+ "name": "Rupee Seychelles"
+ },
+ "LKR": {
+ "name": "Rupee Sri Lanka"
+ },
+ "IDR": {
+ "name": "Rupiah Indonesia"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "ILS": {
+ "name": "Sheqel Baru Israel",
+ "symbol": "₪"
+ },
+ "KGS": {
+ "name": "Som Kyrgystani"
+ },
+ "UZS": {
+ "name": "Som Uzbekistan"
+ },
+ "TJS": {
+ "name": "Somoni Tajikistan"
+ },
+ "KES": {
+ "name": "Syiling Kenya"
+ },
+ "SOS": {
+ "name": "Syiling Somali"
+ },
+ "TZS": {
+ "name": "Syiling Tanzania"
+ },
+ "UGX": {
+ "name": "Syiling Uganda"
+ },
+ "BDT": {
+ "name": "Taka Bangladesh"
+ },
+ "WST": {
+ "name": "Tala Samoa"
+ },
+ "KZT": {
+ "name": "Tenge Kazakhstan"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "MNT": {
+ "name": "Tugrik Mongolia"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "VUV": {
+ "name": "Vatu Vanuatu"
+ },
+ "KRW": {
+ "name": "Won Korea Selatan",
+ "symbol": "₩"
+ },
+ "KPW": {
+ "name": "Won Korea Utara"
+ },
+ "JPY": {
+ "name": "Yen Jepun",
+ "symbol": "JP¥"
+ },
+ "CNY": {
+ "name": "Yuan Cina",
+ "symbol": "CN¥"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ },
+ "PLN": {
+ "name": "Zloty Poland"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/mua.json b/vendor/commerceguys/intl/resources/currency/mua.json
new file mode 100644
index 000000000..b04df3f12
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/mua.json
@@ -0,0 +1,496 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Ruble"
+ },
+ "BYR": {
+ "name": "Belarusian Ruble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Ruble"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "ZAR": {
+ "name": "Solai Africa nekǝsǝŋ"
+ },
+ "DZD": {
+ "name": "solai Algerya"
+ },
+ "USD": {
+ "name": "Solai Amerika",
+ "symbol": "US$"
+ },
+ "AOA": {
+ "name": "solai Angola"
+ },
+ "AED": {
+ "name": "Solai Arabiya"
+ },
+ "AUD": {
+ "name": "solai Australya",
+ "symbol": "A$"
+ },
+ "BHD": {
+ "name": "solai Barenya"
+ },
+ "XOF": {
+ "name": "solai BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "solai BEAC",
+ "symbol": "FCFA"
+ },
+ "BWP": {
+ "name": "solai Botswana"
+ },
+ "GBP": {
+ "name": "solai Britaniya",
+ "symbol": "£"
+ },
+ "BIF": {
+ "name": "solai Burundi"
+ },
+ "DJF": {
+ "name": "solai Djibouti"
+ },
+ "EGP": {
+ "name": "solai Egypt"
+ },
+ "ERN": {
+ "name": "solai Eritre"
+ },
+ "ETB": {
+ "name": "solai Etiopia"
+ },
+ "EUR": {
+ "name": "solai Euro",
+ "symbol": "€"
+ },
+ "GMD": {
+ "name": "solai Gambiya"
+ },
+ "SHP": {
+ "name": "Solai Helena"
+ },
+ "INR": {
+ "name": "solai India",
+ "symbol": "₹"
+ },
+ "JPY": {
+ "name": "solai Japoŋ",
+ "symbol": "JP¥"
+ },
+ "CAD": {
+ "name": "solai Kanada",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "solai Kapverdiya"
+ },
+ "KES": {
+ "name": "solai Kenia"
+ },
+ "KMF": {
+ "name": "solai Komorya"
+ },
+ "CDF": {
+ "name": "solai Kongo"
+ },
+ "LSL": {
+ "name": "solai Lesotho"
+ },
+ "LRD": {
+ "name": "solai Liberiya"
+ },
+ "LYD": {
+ "name": "solai Libya"
+ },
+ "MGA": {
+ "name": "Solai Malagasya"
+ },
+ "MWK": {
+ "name": "Solai Malawi"
+ },
+ "MAD": {
+ "name": "Solai Marok"
+ },
+ "MUR": {
+ "name": "Solai Mauricǝ"
+ },
+ "MRO": {
+ "name": "Solai Mauritaniya"
+ },
+ "NAD": {
+ "name": "Solai Namibiya"
+ },
+ "NGN": {
+ "name": "Solai Nigeriya"
+ },
+ "RWF": {
+ "name": "Solai Rwanda"
+ },
+ "SCR": {
+ "name": "Solai Saichel"
+ },
+ "STD": {
+ "name": "Solai Sao Tome"
+ },
+ "SAR": {
+ "name": "Solai Saudiya"
+ },
+ "SLL": {
+ "name": "solai Sierra leonǝ"
+ },
+ "SOS": {
+ "name": "Solai Somaliya"
+ },
+ "SDG": {
+ "name": "Solai Sudaŋ ma dii ne dinar"
+ },
+ "SZL": {
+ "name": "solai Swaziland"
+ },
+ "CHF": {
+ "name": "Solai Swiss"
+ },
+ "CNY": {
+ "name": "solai Syiŋ",
+ "symbol": "CN¥"
+ },
+ "TZS": {
+ "name": "Solai Tanzaniya"
+ },
+ "TND": {
+ "name": "Solai Tunisiya"
+ },
+ "UGX": {
+ "name": "Solai Uganda"
+ },
+ "ZMW": {
+ "name": "Solai Zambiya"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/my.json b/vendor/commerceguys/intl/resources/currency/my.json
new file mode 100644
index 000000000..a28c0e89a
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/my.json
@@ -0,0 +1,503 @@
+{
+ "CAD": {
+ "name": "ကနေဒါ ဒေါ်လာ",
+ "symbol": "CA$"
+ },
+ "KGS": {
+ "name": "ကာဂျစ္စတန် ဆော်မ်"
+ },
+ "KZT": {
+ "name": "ကာဇက်စတန် ထိန်ဂျီ"
+ },
+ "QAR": {
+ "name": "ကာတာရီအော်လ်"
+ },
+ "KWD": {
+ "name": "ကူဝိတ်ဒီနာ"
+ },
+ "KYD": {
+ "name": "ကေမန် ကျွန်းစု ဒေါ်လာ"
+ },
+ "KMF": {
+ "name": "ကိုမိုရိုစ် ဖရန့်"
+ },
+ "COP": {
+ "name": "ကိုလံဘီယာ ပီဆို"
+ },
+ "CRC": {
+ "name": "ကို့စတာရီကာ ကိုလွန်"
+ },
+ "KES": {
+ "name": "ကင်ညာသျှီလင်"
+ },
+ "XAF": {
+ "name": "ကင်မရွန်းဖရန့်",
+ "symbol": "FCFA"
+ },
+ "CVE": {
+ "name": "ကိတ်ပ်ဗာဒီ အက်စ်ခူဒို"
+ },
+ "KHR": {
+ "name": "ကမ္ဘောဒီးယား ရီးယဲ"
+ },
+ "CUP": {
+ "name": "ကျူးဘား ပီဆို"
+ },
+ "CDF": {
+ "name": "ကွန်ဂို ဖရန့်"
+ },
+ "HRK": {
+ "name": "ခရိုအေးရှားခူးနာ"
+ },
+ "CLP": {
+ "name": "ချီလီ ပီဆို"
+ },
+ "CZK": {
+ "name": "ချက်ခိုရိုနာ"
+ },
+ "GHS": {
+ "name": "ဂါနာ ဆဲဒီ"
+ },
+ "GNF": {
+ "name": "ဂီးနီ ဖရန့်"
+ },
+ "GYD": {
+ "name": "ဂိုင်ယာနာ ဒေါ်လာ"
+ },
+ "GMD": {
+ "name": "ဂမ်ဘီယာ ဒါလာစီ"
+ },
+ "JPY": {
+ "name": "ဂျပန်ယန်း",
+ "symbol": "JP¥"
+ },
+ "JMD": {
+ "name": "ဂျမေကာ ဒေါ်လာ"
+ },
+ "GIP": {
+ "name": "ဂျီဘရော်လ်တာ ပေါင်"
+ },
+ "DJF": {
+ "name": "ဂျီဘူတီ ဖရန့်"
+ },
+ "GEL": {
+ "name": "ဂျော်ဂျီယာလားရီ"
+ },
+ "JOD": {
+ "name": "ဂျော်ဒန်ဒီနား"
+ },
+ "GTQ": {
+ "name": "ဂွါတီမာလာ ခက်ဇော်လ်"
+ },
+ "SHP": {
+ "name": "စိန့်ဟယ်လယ်နာ ပေါင်"
+ },
+ "SGD": {
+ "name": "စင်္ကာပူ ဒေါ်လာ"
+ },
+ "WST": {
+ "name": "ဆမိုအား ထားလာ"
+ },
+ "RSD": {
+ "name": "ဆားဘီးယားဒယ်နား"
+ },
+ "SLL": {
+ "name": "ဆီယာရာလီယွန်း လီအိုနီ"
+ },
+ "SYP": {
+ "name": "ဆီးရီးယား ပေါင်"
+ },
+ "SDG": {
+ "name": "ဆူဒန် ပေါင်"
+ },
+ "SRD": {
+ "name": "ဆူရီနမ်း ဒေါ်လာ"
+ },
+ "SCR": {
+ "name": "ဆေးရှဲ ရူပီး"
+ },
+ "SAR": {
+ "name": "ဆော်ဒီအာရေးဗီးယားရီယော်လ်"
+ },
+ "SBD": {
+ "name": "ဆော်လမွန်ကျွန်းစု ဒေါ်လာ"
+ },
+ "SOS": {
+ "name": "ဆိုမာလီသျှီလင်"
+ },
+ "STD": {
+ "name": "ဆောင်တူမေးနှင့် ပရင်စီပီ ဒိုဘရာ"
+ },
+ "SZL": {
+ "name": "ဆွာဇီလန် လီလန်းဂီနီ"
+ },
+ "SEK": {
+ "name": "ဆွီဒင် ခရိုဏာ"
+ },
+ "CHF": {
+ "name": "ဆွစ် ဖရန့်"
+ },
+ "ZMW": {
+ "name": "ဇင်ဘာဘွေခွါးချာ"
+ },
+ "CNY": {
+ "name": "တရုတ် ယွမ်",
+ "symbol": "CN¥"
+ },
+ "TJS": {
+ "name": "တာဂျစ်ကစ္စတန် ဆိုမိုနီ"
+ },
+ "TMT": {
+ "name": "တာ့ခ်မင်နစ္စတန် မာနတ်"
+ },
+ "TND": {
+ "name": "တူနီးရှား ဒီနာ"
+ },
+ "TRY": {
+ "name": "တူရကီ လိုင်ရာ"
+ },
+ "KRW": {
+ "name": "တောင်ကိုရီးယား ဝမ်",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "တောင်ဆူဒန်ပေါင်"
+ },
+ "ZAR": {
+ "name": "တောင်အဖရိက ရန်း"
+ },
+ "TZS": {
+ "name": "တန်ဇန်းနီးယားသျှီလင်"
+ },
+ "TOP": {
+ "name": "တွန်ဂါဗန်ဂါ"
+ },
+ "TTD": {
+ "name": "ထရီနီဒတ်နှင့် တိုဘက်ဂို ဒေါ်လာ",
+ "symbol": "TT$"
+ },
+ "TWD": {
+ "name": "ထိုင်ဝမ် ဒေါ်လာအသစ်",
+ "symbol": "NT$"
+ },
+ "THB": {
+ "name": "ထိုင်းဘတ်",
+ "symbol": "฿"
+ },
+ "DOP": {
+ "name": "ဒိုမီနီကန် ပီဆို"
+ },
+ "DKK": {
+ "name": "ဒိန်းမတ် ခရိုဏာ"
+ },
+ "NAD": {
+ "name": "နမီးဘီးယား ဒေါ်လာ"
+ },
+ "NZD": {
+ "name": "နယူးဇီလန် ဒေါ်လာ",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "နီကာရာဂွါ ခိုးဒိုဘာ"
+ },
+ "NPR": {
+ "name": "နီပေါ ရူပီး"
+ },
+ "NOK": {
+ "name": "နော်ဝေ ခရိုဏာ"
+ },
+ "NGN": {
+ "name": "နိုင်ဂျီးရီးယားနိုင်းရာ"
+ },
+ "CUC": {
+ "name": "နိုင်ငံခြားငွေလဲလှယ်နိုင်သော ကျူးဘားပီဆို"
+ },
+ "ANG": {
+ "name": "နယ်သာလန် အန်တီလန် ဂင်းဒါး",
+ "symbol": "NAf"
+ },
+ "PAB": {
+ "name": "ပနားမား ဘလ်ဘိုးအာ",
+ "symbol": "B\/."
+ },
+ "PKR": {
+ "name": "ပါကစ္စတန် ရူပီး"
+ },
+ "PGK": {
+ "name": "ပါပူအာ နယူးဂီနီ ခီးနာ"
+ },
+ "PYG": {
+ "name": "ပါရာဂွေးဂွါးအ်နီး"
+ },
+ "PEN": {
+ "name": "ပီရူး နူအီဗိုဆိုးလ်"
+ },
+ "PLN": {
+ "name": "ပိုလန်ဇလော့တီ"
+ },
+ "XOF": {
+ "name": "ဖရန့်",
+ "symbol": "CFA"
+ },
+ "PHP": {
+ "name": "ဖိလစ်ပိုင် ပီဆို"
+ },
+ "FJD": {
+ "name": "ဖီဂျီ ဒေါ်လာ"
+ },
+ "FKP": {
+ "name": "ဖော့ကလန်ကျွန်းစု ပေါင်"
+ },
+ "VUV": {
+ "name": "ဗနွားတူ ဗားထူ"
+ },
+ "VND": {
+ "name": "ဗီယက်နမ် ဒေါင်",
+ "symbol": "₫"
+ },
+ "VEF": {
+ "name": "ဗင်နီဇွဲလား ဘိုလီဗာ"
+ },
+ "GBP": {
+ "name": "ဗြိတိသျှ ပေါင်",
+ "symbol": "£"
+ },
+ "BRL": {
+ "name": "ဘရာဇီး ရီးယဲ",
+ "symbol": "R$"
+ },
+ "BND": {
+ "name": "ဘရူနိုင်း ဒေါ်လာ"
+ },
+ "BZD": {
+ "name": "ဘလိဇ် ဒေါ်လာ"
+ },
+ "BSD": {
+ "name": "ဘဟားမား ဒေါ်လာ"
+ },
+ "BBD": {
+ "name": "ဘာဘေးဒီယန်း ဒေါ်လာ"
+ },
+ "BMD": {
+ "name": "ဘာမြူဒါ ဒေါ်လာ"
+ },
+ "BHD": {
+ "name": "ဘာရိန်းဒီနား"
+ },
+ "BYN": {
+ "name": "ဘီလာရုဇ် ရူဘယ်"
+ },
+ "BYR": {
+ "name": "ဘီလာရုဇ် ရူဘယ် (၂၀၀၀–၂၀၁၆)"
+ },
+ "BTN": {
+ "name": "ဘူတန်အံဂါလ်ထရန်"
+ },
+ "BIF": {
+ "name": "ဘူရွန်ဒီ ဖရန့်"
+ },
+ "BGN": {
+ "name": "ဘူလ်ဂေးရီးယား လက်ဖ်"
+ },
+ "BAM": {
+ "name": "ဘော့စနီးယားနှင့် ဟာဇီဂိုဘီးနားမတ်က်"
+ },
+ "BWP": {
+ "name": "ဘော့ဆွာနာ ပုလ"
+ },
+ "BOB": {
+ "name": "ဘိုလီးဗီးယား ဘိုလီးဗီယားနို"
+ },
+ "BDT": {
+ "name": "ဘင်္ဂလားဒေ့ရှ် တာကာ"
+ },
+ "MOP": {
+ "name": "မကာအိုပါတားကား"
+ },
+ "MYR": {
+ "name": "မလေးရှား ရင်းဂစ်"
+ },
+ "MGA": {
+ "name": "မာလာဂါစီ အရီရရီ"
+ },
+ "MWK": {
+ "name": "မာလာဝီခွါးချာ"
+ },
+ "MUR": {
+ "name": "မောရစ်ရှ ရူပီး"
+ },
+ "MRO": {
+ "name": "မော်ရီတေးနီးယား အူဂီးယာ"
+ },
+ "MVR": {
+ "name": "မော်လ်ဒိုက်ရူးဖီရာ"
+ },
+ "MZN": {
+ "name": "မိုဇမ်ဘစ် မက်တီခယ်လ်"
+ },
+ "MAD": {
+ "name": "မိုရိုကို ဒရမ်"
+ },
+ "MXN": {
+ "name": "မက္ကဆီကို ပီဆို",
+ "symbol": "MX$"
+ },
+ "MKD": {
+ "name": "မက်စီဒိုးနီးယား ဒီနာ"
+ },
+ "MDL": {
+ "name": "မောလ်ဒိုဗာလယ်အို"
+ },
+ "KPW": {
+ "name": "မြောက်ကိုရီးယား ဝမ်"
+ },
+ "MMK": {
+ "name": "မြန်မာကျပ်",
+ "symbol": "K"
+ },
+ "MNT": {
+ "name": "မွန်ဂိုးလီးယားထူးဂရခ်"
+ },
+ "YER": {
+ "name": "ယီမင်ရီအော်လ်"
+ },
+ "UAH": {
+ "name": "ယူကရိန်း ဟီရီဗင်းညား"
+ },
+ "UGX": {
+ "name": "ယူဂန်းဒါး သျှီလင်"
+ },
+ "EUR": {
+ "name": "ယူရို",
+ "symbol": "€"
+ },
+ "RWF": {
+ "name": "ရဝန်ဒါ ဖရန့်"
+ },
+ "RUB": {
+ "name": "ရုရှ ရူဘယ်"
+ },
+ "RON": {
+ "name": "ရိုမေးနီးယားလယ်အို"
+ },
+ "LAK": {
+ "name": "လာအိုခိပ်"
+ },
+ "LYD": {
+ "name": "လီဗျာ ဒီနာ"
+ },
+ "LBP": {
+ "name": "လက်ဘနွန် ပေါင်"
+ },
+ "LRD": {
+ "name": "လိုက်ဘေးရီးယား ဒေါ်လာ"
+ },
+ "LKR": {
+ "name": "သီရိလင်္ကာ ရူပီး"
+ },
+ "HTG": {
+ "name": "ဟေတီဂူးအော်ဒ်",
+ "symbol": "G"
+ },
+ "HKD": {
+ "name": "ဟောင်ကောင် ဒေါ်လာ",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "ဟန်ဂေရီယံဖော်ရင့်တ်"
+ },
+ "HNL": {
+ "name": "ဟွန်ဒူးရပ်စ် လမ်းပီရာ"
+ },
+ "AZN": {
+ "name": "အဇာဘိုင်ဂျန်မာနတ်"
+ },
+ "USD": {
+ "name": "အမေရိကန် ဒေါ်လာ",
+ "symbol": "US$"
+ },
+ "AWG": {
+ "name": "အရူးဗာ ဖလိုရင်း",
+ "symbol": "Afl"
+ },
+ "XCD": {
+ "name": "အရှေ့ကာရစ်ဘီယံဒေါ်လာ",
+ "symbol": "EC$"
+ },
+ "ARS": {
+ "name": "အာဂျင်တီးနား ပီဆို"
+ },
+ "AFN": {
+ "name": "အာဖဂန်အာဖဂါနီ"
+ },
+ "AMD": {
+ "name": "အာမေးနီးယားဒရမ်း"
+ },
+ "AED": {
+ "name": "အာရပ်ဒူဟမ်း"
+ },
+ "EGP": {
+ "name": "အီဂျစ် ပေါင်"
+ },
+ "ERN": {
+ "name": "အီရီထရီးယား နာ့ခ်ဖာ"
+ },
+ "IQD": {
+ "name": "အီရတ် ဒီနား"
+ },
+ "IRR": {
+ "name": "အီရန်ရီအော်လ်"
+ },
+ "ETB": {
+ "name": "အီသီယိုးပီးယားဘီးယာ"
+ },
+ "UZS": {
+ "name": "ဥဇဘက်ကစ္စတန် ဆော်မ်"
+ },
+ "UYU": {
+ "name": "ဥရုဂွေးပီဆို"
+ },
+ "AUD": {
+ "name": "ဩစတြေးလျ ဒေါ်လာ",
+ "symbol": "A$"
+ },
+ "OMR": {
+ "name": "အိုမန်ရီအော်လ်"
+ },
+ "ISK": {
+ "name": "အိုက်စလန် ခရိုဏာ"
+ },
+ "AOA": {
+ "name": "အင်ဂိုလာ ကန်ဇာ"
+ },
+ "IDR": {
+ "name": "အင်ဒိုနီးရှား ရူပီးယား"
+ },
+ "ILS": {
+ "name": "အစ္စရေးရှဲကလ်အသစ်",
+ "symbol": "₪"
+ },
+ "INR": {
+ "name": "အိန္ဒိယ ရူပီး",
+ "symbol": "₹"
+ },
+ "ALL": {
+ "name": "အယ်ဘေးနီးယား လီခ်"
+ },
+ "DZD": {
+ "name": "အယ်လ်ဂျီးရီးယား ဒီနာ"
+ },
+ "XPF": {
+ "name": "CFP ဖရန့်",
+ "symbol": "CFPF"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/mzn.json b/vendor/commerceguys/intl/resources/currency/mzn.json
new file mode 100644
index 000000000..f9235c777
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/mzn.json
@@ -0,0 +1,496 @@
+{
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ },
+ "AZN": {
+ "name": "آذربایجون ِمنات"
+ },
+ "ARS": {
+ "name": "آرژانتین ِپزو"
+ },
+ "AWG": {
+ "name": "آروبای ِفلورن"
+ },
+ "ALL": {
+ "name": "آلبانی ِلک"
+ },
+ "USD": {
+ "name": "آمریکای ِدولار",
+ "symbol": "$"
+ },
+ "AOA": {
+ "name": "آنگولای ِکوانزا"
+ },
+ "ETB": {
+ "name": "اتیوپی ِبیر"
+ },
+ "JOD": {
+ "name": "اردن ِدینار"
+ },
+ "AMD": {
+ "name": "ارمنستون درهم"
+ },
+ "UYU": {
+ "name": "اروگوئه‌ی ِپزو"
+ },
+ "ERN": {
+ "name": "اریتره‌ی ِناکفا"
+ },
+ "UZS": {
+ "name": "ازبکستون ِسام"
+ },
+ "ILS": {
+ "name": "اسراییل ِنو شِکِل",
+ "symbol": "₪"
+ },
+ "AFN": {
+ "name": "افغانستون ِافغانی"
+ },
+ "UAH": {
+ "name": "اکراین ِگریونا"
+ },
+ "DZD": {
+ "name": "الجزیره‌ی ِدینار"
+ },
+ "IDR": {
+ "name": "اندونزی ِروپیه"
+ },
+ "UGX": {
+ "name": "اوگاندای ِشیلینگ"
+ },
+ "IRR": {
+ "name": "ایران ریال"
+ },
+ "ISK": {
+ "name": "ایسلند کرونا"
+ },
+ "BBD": {
+ "name": "باربادوس ِدولار"
+ },
+ "BSD": {
+ "name": "باهامای ِدولار"
+ },
+ "BHD": {
+ "name": "بحرین ِدینار"
+ },
+ "BRL": {
+ "name": "برزیل ِرئال",
+ "symbol": "R$"
+ },
+ "BMD": {
+ "name": "برمودای ِدولار"
+ },
+ "BND": {
+ "name": "برونئی ِدولار"
+ },
+ "GBP": {
+ "name": "بریتانیای ِپوند",
+ "symbol": "£"
+ },
+ "BYN": {
+ "name": "بلاروس ِروبل"
+ },
+ "BYR": {
+ "name": "بلاروس ِروبل (۲۰۰۰–۲۰۱۶)"
+ },
+ "BGN": {
+ "name": "بلغارستون ِلیوا"
+ },
+ "BZD": {
+ "name": "بلیز ِدولار"
+ },
+ "BDT": {
+ "name": "بنگلادش ِتاکا"
+ },
+ "BTN": {
+ "name": "بوتان ِنگولتروم"
+ },
+ "BWP": {
+ "name": "بوتساوانای ِپولا"
+ },
+ "BIF": {
+ "name": "بوروندی ِفرانک"
+ },
+ "BAM": {
+ "name": "بوسنی و هرزگوین ِتبدیل‌بَیی مارک"
+ },
+ "BOB": {
+ "name": "بولیوی ِبولیویانو"
+ },
+ "PYG": {
+ "name": "پاراگوئه‌ی ِگوارانی"
+ },
+ "PKR": {
+ "name": "پاکستون روپیه"
+ },
+ "PAB": {
+ "name": "پانامای ِبالبوا"
+ },
+ "PEN": {
+ "name": "پروی ِنوئوو سول"
+ },
+ "TJS": {
+ "name": "تاجیکستون ِسامانی"
+ },
+ "TZS": {
+ "name": "تانزانیای ِشیلینگ"
+ },
+ "THB": {
+ "name": "تایلند ِبات"
+ },
+ "TMT": {
+ "name": "ترکمنستون ِمنات"
+ },
+ "TRY": {
+ "name": "ترکیه‌ی ِلیره"
+ },
+ "TTD": {
+ "name": "ترینیداد و توباگوی ِدولار"
+ },
+ "TND": {
+ "name": "تونس ِدینار"
+ },
+ "JPY": {
+ "name": "جاپون ِین",
+ "symbol": "JP¥"
+ },
+ "JMD": {
+ "name": "جاماییکای ِدولار"
+ },
+ "GIP": {
+ "name": "جبل‌طارق ِپوند"
+ },
+ "TWD": {
+ "name": "جدید ِتایوان ِدولار",
+ "symbol": "NT$"
+ },
+ "ZAR": {
+ "name": "جنوبی آفریقای ِراند"
+ },
+ "SSP": {
+ "name": "جنوبی سودان ِپوند"
+ },
+ "KRW": {
+ "name": "جنوبی کُره‌ی ِوون",
+ "symbol": "₩"
+ },
+ "DJF": {
+ "name": "جیبوتی ِفرانک"
+ },
+ "CZK": {
+ "name": "چک ِکرون"
+ },
+ "CNY": {
+ "name": "چین ِیوآن",
+ "symbol": "CN¥"
+ },
+ "DKK": {
+ "name": "دانمارک ِکورن"
+ },
+ "DOP": {
+ "name": "دومینیکن ِپزو"
+ },
+ "RWF": {
+ "name": "روآندای ِفرانک"
+ },
+ "RUB": {
+ "name": "روسیه‌ی ِروبل"
+ },
+ "RON": {
+ "name": "رومانی ِلئو"
+ },
+ "ZMW": {
+ "name": "زامبیای ِکواچا"
+ },
+ "STD": {
+ "name": "سائوتومه و پرینسیپ ِدوبرا"
+ },
+ "LKR": {
+ "name": "سریلانکا روپیه"
+ },
+ "SHP": {
+ "name": "سنت هلنای ِپوند"
+ },
+ "SGD": {
+ "name": "سنگاپور ِدلار"
+ },
+ "SEK": {
+ "name": "سوئد ِکرون"
+ },
+ "SZL": {
+ "name": "سوازیلند ِلیلانجنی"
+ },
+ "SDG": {
+ "name": "سودان ِپوند"
+ },
+ "SRD": {
+ "name": "سورینام ِدولار"
+ },
+ "SYP": {
+ "name": "سوریه‌ی ِپوند"
+ },
+ "SOS": {
+ "name": "سومالی ِشیلینگ"
+ },
+ "CHF": {
+ "name": "سوییس ِفرانک"
+ },
+ "SLL": {
+ "name": "سیرالئون ِلئون"
+ },
+ "SCR": {
+ "name": "سیشل ِروپیه"
+ },
+ "XCD": {
+ "name": "شرقی کاراییب ِدولار",
+ "symbol": "EC$"
+ },
+ "KPW": {
+ "name": "شمالی کره‌ی ِوون"
+ },
+ "CLP": {
+ "name": "شیلی ِپزو"
+ },
+ "RSD": {
+ "name": "صربستون ِدینار"
+ },
+ "CVE": {
+ "name": "عاج ِساحل ِایسکودو"
+ },
+ "IQD": {
+ "name": "عراق ِدینار"
+ },
+ "SAR": {
+ "name": "عربستون ِریال"
+ },
+ "OMR": {
+ "name": "عمان ِریال"
+ },
+ "XOF": {
+ "name": "غربی آفریقای ِسی‌اف‌ای فرانک",
+ "symbol": "CFA"
+ },
+ "GHS": {
+ "name": "غنای ِسدی"
+ },
+ "FKP": {
+ "name": "فالکلند ِجزایر ِپوند"
+ },
+ "PHP": {
+ "name": "فیلیپین ِپزو"
+ },
+ "KZT": {
+ "name": "قراقستون ِتنگ"
+ },
+ "KGS": {
+ "name": "قرقیزستون ِسام"
+ },
+ "QAR": {
+ "name": "قطر ِریال"
+ },
+ "CRC": {
+ "name": "کاستاریکای ِکولون"
+ },
+ "KHR": {
+ "name": "کامبوج ِریل"
+ },
+ "KMF": {
+ "name": "کامرون ِفرانک"
+ },
+ "CAD": {
+ "name": "کانادای ِدولار",
+ "symbol": "CA$"
+ },
+ "KYD": {
+ "name": "کایمن جزیره‌ی ِدولار"
+ },
+ "HRK": {
+ "name": "کرواسی ِکونا"
+ },
+ "COP": {
+ "name": "کلمبیای ِپزو"
+ },
+ "CDF": {
+ "name": "کنگوی ِفرانک"
+ },
+ "KES": {
+ "name": "کنیای ِشیلینگ"
+ },
+ "CUP": {
+ "name": "کوبای ِپزو"
+ },
+ "CUC": {
+ "name": "کوبای ِتبدیل‌بَیی پزو"
+ },
+ "KWD": {
+ "name": "کویت ِدینار"
+ },
+ "GMD": {
+ "name": "گامبیای ِدالاسی"
+ },
+ "GEL": {
+ "name": "گرجستون ِلاری"
+ },
+ "GTQ": {
+ "name": "گواتمالا کتزال"
+ },
+ "GYD": {
+ "name": "گویان ِدولار"
+ },
+ "GNF": {
+ "name": "گینه‌ی ِفرانک"
+ },
+ "LAK": {
+ "name": "لائوس ِکیپ"
+ },
+ "LBP": {
+ "name": "لبنان ِپوند"
+ },
+ "PLN": {
+ "name": "لهستون ِزلوتی"
+ },
+ "LRD": {
+ "name": "لیبریای ِدولار"
+ },
+ "LYD": {
+ "name": "لیبی ِدینار"
+ },
+ "MGA": {
+ "name": "ماداگاسکار ِآریاری"
+ },
+ "MOP": {
+ "name": "ماکائو ِپاتاجا"
+ },
+ "MWK": {
+ "name": "مالاوی ِکواچا"
+ },
+ "MVR": {
+ "name": "مالدیو ِروفیا"
+ },
+ "MYR": {
+ "name": "مالزی ِرینگیت"
+ },
+ "AED": {
+ "name": "متحده عربی امارات ِدرهم"
+ },
+ "HUF": {
+ "name": "مجارستون ِفروینت"
+ },
+ "MAD": {
+ "name": "مراکش ِدرهم"
+ },
+ "EGP": {
+ "name": "مصر ِپوند"
+ },
+ "MNT": {
+ "name": "مغلستون ِتوگریک"
+ },
+ "MKD": {
+ "name": "مقدونیه‌ی ِدینار"
+ },
+ "MXN": {
+ "name": "مکزیک ِپزو",
+ "symbol": "MX$"
+ },
+ "MRO": {
+ "name": "موریتانی ِاوگوئیا"
+ },
+ "MUR": {
+ "name": "موریتیان ِروپیه"
+ },
+ "MZN": {
+ "name": "موزامبیک متیکال"
+ },
+ "MDL": {
+ "name": "مولداوی ِلئو"
+ },
+ "MMK": {
+ "name": "میانمار ِکیات"
+ },
+ "XAF": {
+ "name": "میونی آفریقای ِسی‌اف‌ای فرانک",
+ "symbol": "FCFA"
+ },
+ "NAD": {
+ "name": "نامبیای ِدولار"
+ },
+ "NPR": {
+ "name": "نپال ِروپیه"
+ },
+ "NOK": {
+ "name": "نروژ ِکرون"
+ },
+ "NGN": {
+ "name": "نیجریه‌ی ِنیارا"
+ },
+ "NIO": {
+ "name": "نیکاراگوئه‌ی ِکوردوبا"
+ },
+ "HTG": {
+ "name": "هائیتی ِگورد"
+ },
+ "ANG": {
+ "name": "هلند ِآنتیل ِجزایر ِگویلدر"
+ },
+ "INR": {
+ "name": "هند ِروپیه",
+ "symbol": "₹"
+ },
+ "HNL": {
+ "name": "هندوراس ِلمپیرا"
+ },
+ "HKD": {
+ "name": "هونگ کونگ ِدولار",
+ "symbol": "HK$"
+ },
+ "VEF": {
+ "name": "ونزوئلایِ بولیوار"
+ },
+ "VND": {
+ "name": "ویتنام ِدنگ",
+ "symbol": "₫"
+ },
+ "YER": {
+ "name": "یمن ِریال"
+ },
+ "EUR": {
+ "name": "یورو",
+ "symbol": "€"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/naq.json b/vendor/commerceguys/intl/resources/currency/naq.json
new file mode 100644
index 000000000..ef672cc21
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/naq.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Algerian Dinar"
+ },
+ "AOA": {
+ "name": "Angolan Kwanzab"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AUD": {
+ "name": "Australian Dollari",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahrain Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Ruble"
+ },
+ "BYR": {
+ "name": "Belarusian Ruble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswanan Pulab"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Ponds",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundi Franc"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "CAD": {
+ "name": "Canadian Dollari",
+ "symbol": "CA$"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XOF": {
+ "name": "CFA Franc BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "CFA Franc BEAC",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "CNY": {
+ "name": "Chinese Yuan Renminbi",
+ "symbol": "CN¥"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "KMF": {
+ "name": "Comorian Franc"
+ },
+ "CDF": {
+ "name": "Congolese Franc"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DJF": {
+ "name": "Djibouti Franc"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egytian Ponds"
+ },
+ "ERN": {
+ "name": "Eritreian Nakfa"
+ },
+ "CVE": {
+ "name": "Escudo Caboverdiano"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr"
+ },
+ "EUR": {
+ "name": "Eurob",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambia Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JPY": {
+ "name": "Japanese Yenni",
+ "symbol": "JP¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kenyan Shilling"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "SLL": {
+ "name": "Leone"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LRD": {
+ "name": "Liberian Dollar"
+ },
+ "LYD": {
+ "name": "Libyan Dinar"
+ },
+ "SZL": {
+ "name": "Lilangeni"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasy Franc"
+ },
+ "MWK": {
+ "name": "Malawian Kwachab"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MRO": {
+ "name": "Mauritania Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritius Rupeeb"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NAD": {
+ "name": "Namibia Dollari",
+ "symbol": "$"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "NGN": {
+ "name": "Nigerian Naira"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Ruble"
+ },
+ "RWF": {
+ "name": "Rwanda Franci"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "Sao Tome and Principe Dobra"
+ },
+ "SAR": {
+ "name": "Saudi Riyal"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "Seychelles Rupee"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somali Shillings"
+ },
+ "ZAR": {
+ "name": "South African Randi"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SHP": {
+ "name": "St Helena Ponds"
+ },
+ "SDG": {
+ "name": "Sudanese Dinar"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swiss Franci"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzanian Shillings"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunisian Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Ugandan Shillings"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "USD": {
+ "name": "US Dollari",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambian Kwachab"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/nb.json b/vendor/commerceguys/intl/resources/currency/nb.json
new file mode 100644
index 000000000..e80cf0139
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/nb.json
@@ -0,0 +1,480 @@
+{
+ "AFN": {
+ "name": "afghanske afghani"
+ },
+ "ALL": {
+ "name": "albanske lek"
+ },
+ "DZD": {
+ "name": "algeriske dinarer"
+ },
+ "USD": {
+ "name": "amerikanske dollar"
+ },
+ "AOA": {
+ "name": "angolanske kwanza"
+ },
+ "ARS": {
+ "name": "argentinske pesos"
+ },
+ "AMD": {
+ "name": "armenske dram"
+ },
+ "AWG": {
+ "name": "arubiske floriner"
+ },
+ "AZN": {
+ "name": "aserbajdsjanske manat"
+ },
+ "AUD": {
+ "name": "australske dollar"
+ },
+ "BSD": {
+ "name": "bahamanske dollar"
+ },
+ "BHD": {
+ "name": "bahrainske dinarer"
+ },
+ "BDT": {
+ "name": "bangladeshiske taka"
+ },
+ "BBD": {
+ "name": "barbadiske dollar"
+ },
+ "BZD": {
+ "name": "beliziske dollar"
+ },
+ "BMD": {
+ "name": "bermudiske dollar"
+ },
+ "BTN": {
+ "name": "bhutanske ngultrum"
+ },
+ "BOB": {
+ "name": "bolivianske boliviano"
+ },
+ "BAM": {
+ "name": "bosnisk-hercegovinske konvertible mark"
+ },
+ "BWP": {
+ "name": "botswanske pula"
+ },
+ "BRL": {
+ "name": "brasilianske real"
+ },
+ "GBP": {
+ "name": "britiske pund",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "bruneiske dollar"
+ },
+ "BGN": {
+ "name": "bulgarske lev"
+ },
+ "BIF": {
+ "name": "burundiske franc"
+ },
+ "KYD": {
+ "name": "caymanske dollar"
+ },
+ "XPF": {
+ "name": "CFP-franc"
+ },
+ "CLP": {
+ "name": "chilenske pesos"
+ },
+ "COP": {
+ "name": "colombianske pesos"
+ },
+ "CRC": {
+ "name": "costaricanske colón"
+ },
+ "DKK": {
+ "name": "danske kroner"
+ },
+ "DJF": {
+ "name": "djiboutiske franc"
+ },
+ "DOP": {
+ "name": "dominikanske pesos"
+ },
+ "EGP": {
+ "name": "egyptiske pund"
+ },
+ "AED": {
+ "name": "emiratarabiske dirham"
+ },
+ "ERN": {
+ "name": "eritreiske nakfa"
+ },
+ "ETB": {
+ "name": "etiopiske birr"
+ },
+ "EUR": {
+ "name": "euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "falklandspund"
+ },
+ "FJD": {
+ "name": "fijianske dollar"
+ },
+ "PHP": {
+ "name": "filippinske pesos"
+ },
+ "GMD": {
+ "name": "gambiske dalasi"
+ },
+ "GEL": {
+ "name": "georgiske lari"
+ },
+ "GHS": {
+ "name": "ghanesiske cedi"
+ },
+ "GIP": {
+ "name": "gibraltarske pund"
+ },
+ "GTQ": {
+ "name": "guatemalanske quetzal"
+ },
+ "GNF": {
+ "name": "guineanske franc"
+ },
+ "GYD": {
+ "name": "guyanske dollar"
+ },
+ "HTG": {
+ "name": "haitiske gourde"
+ },
+ "HNL": {
+ "name": "honduranske lempira"
+ },
+ "HKD": {
+ "name": "Hongkong-dollar"
+ },
+ "BYN": {
+ "name": "hviterussiske rubler"
+ },
+ "BYR": {
+ "name": "hviterussiske rubler (2000–2016)"
+ },
+ "INR": {
+ "name": "indiske rupier"
+ },
+ "IDR": {
+ "name": "indonesiske rupier"
+ },
+ "IQD": {
+ "name": "irakske dinarer"
+ },
+ "IRR": {
+ "name": "iranske rialer"
+ },
+ "ISK": {
+ "name": "islandske kroner"
+ },
+ "JMD": {
+ "name": "jamaikanske dollar"
+ },
+ "JPY": {
+ "name": "japanske yen"
+ },
+ "YER": {
+ "name": "jemenittiske rialer"
+ },
+ "JOD": {
+ "name": "jordanske dinarer"
+ },
+ "KHR": {
+ "name": "kambodsjanske riel"
+ },
+ "CAD": {
+ "name": "kanadiske dollar"
+ },
+ "CVE": {
+ "name": "kappverdiske escudos"
+ },
+ "KZT": {
+ "name": "kasakhstanske tenge"
+ },
+ "KES": {
+ "name": "kenyanske shilling"
+ },
+ "CNY": {
+ "name": "kinesiske yuan"
+ },
+ "KGS": {
+ "name": "kirgisiske som"
+ },
+ "KMF": {
+ "name": "komoriske franc"
+ },
+ "CDF": {
+ "name": "kongolesiske franc"
+ },
+ "HRK": {
+ "name": "kroatiske kuna"
+ },
+ "CUC": {
+ "name": "kubanske konvertible pesos"
+ },
+ "CUP": {
+ "name": "kubanske pesos"
+ },
+ "KWD": {
+ "name": "kuwaitiske dinarer"
+ },
+ "LAK": {
+ "name": "laotiske kip"
+ },
+ "LSL": {
+ "name": "lesothiske loti"
+ },
+ "LBP": {
+ "name": "libanesiske pund"
+ },
+ "LRD": {
+ "name": "liberiske dollar"
+ },
+ "LYD": {
+ "name": "libyske dinarer"
+ },
+ "MGA": {
+ "name": "madagassiske ariary"
+ },
+ "MOP": {
+ "name": "makaoiske pataca"
+ },
+ "MKD": {
+ "name": "makedonske denarer"
+ },
+ "MWK": {
+ "name": "malawiske kwacha"
+ },
+ "MYR": {
+ "name": "malaysiske ringgit"
+ },
+ "MVR": {
+ "name": "maldiviske rufiyaa"
+ },
+ "MAD": {
+ "name": "marokkanske dirham"
+ },
+ "MRO": {
+ "name": "mauritanske ouguiya"
+ },
+ "MUR": {
+ "name": "mauritiske rupier"
+ },
+ "MXN": {
+ "name": "meksikanske pesos"
+ },
+ "MDL": {
+ "name": "moldovske leu"
+ },
+ "MNT": {
+ "name": "mongolske tugrik"
+ },
+ "MZN": {
+ "name": "mosambikiske metical"
+ },
+ "MMK": {
+ "name": "myanmarske kyat"
+ },
+ "NAD": {
+ "name": "namibiske dollar"
+ },
+ "ANG": {
+ "name": "nederlandske antillegylden"
+ },
+ "NPR": {
+ "name": "nepalske rupier"
+ },
+ "NZD": {
+ "name": "newzealandske dollar"
+ },
+ "NIO": {
+ "name": "nicaraguanske córdoba"
+ },
+ "NGN": {
+ "name": "nigerianske naira"
+ },
+ "KPW": {
+ "name": "nordkoreanske won"
+ },
+ "NOK": {
+ "name": "norske kroner",
+ "symbol": "kr"
+ },
+ "ILS": {
+ "name": "nye israelske shekler"
+ },
+ "TWD": {
+ "name": "nye taiwanske dollar"
+ },
+ "OMR": {
+ "name": "omanske rialer"
+ },
+ "PKR": {
+ "name": "pakistanske rupier"
+ },
+ "PAB": {
+ "name": "panamanske balboa"
+ },
+ "PGK": {
+ "name": "papuanske kina"
+ },
+ "PYG": {
+ "name": "paraguayanske guarani"
+ },
+ "PEN": {
+ "name": "peruanske nuevo sol"
+ },
+ "PLN": {
+ "name": "polske zloty"
+ },
+ "QAR": {
+ "name": "qatarske rialer"
+ },
+ "RON": {
+ "name": "rumenske leu"
+ },
+ "RUB": {
+ "name": "russiske rubler"
+ },
+ "RWF": {
+ "name": "rwandiske franc"
+ },
+ "SBD": {
+ "name": "salomonske dollar"
+ },
+ "SVC": {
+ "name": "salvadoranske colon"
+ },
+ "WST": {
+ "name": "samoanske tala"
+ },
+ "SHP": {
+ "name": "sankthelenske pund"
+ },
+ "STD": {
+ "name": "São Tomé og Príncipe-dobra"
+ },
+ "SAR": {
+ "name": "saudiarabiske riyaler"
+ },
+ "XAF": {
+ "name": "sentralafrikanske CFA-franc"
+ },
+ "RSD": {
+ "name": "serbiske dinarer"
+ },
+ "SCR": {
+ "name": "seychelliske rupier"
+ },
+ "SLL": {
+ "name": "sierraleonske leone"
+ },
+ "SGD": {
+ "name": "singaporske dollar"
+ },
+ "SOS": {
+ "name": "somaliske shilling"
+ },
+ "LKR": {
+ "name": "srilankiske rupier"
+ },
+ "SDG": {
+ "name": "sudanske pund"
+ },
+ "SRD": {
+ "name": "surinamske dollar"
+ },
+ "CHF": {
+ "name": "sveitsiske franc"
+ },
+ "SEK": {
+ "name": "svenske kroner"
+ },
+ "SZL": {
+ "name": "swazilandske lilangeni"
+ },
+ "SYP": {
+ "name": "syriske pund"
+ },
+ "ZAR": {
+ "name": "sørafrikanske rand"
+ },
+ "KRW": {
+ "name": "sørkoreanske won"
+ },
+ "SSP": {
+ "name": "sørsudanske pund"
+ },
+ "TJS": {
+ "name": "tadsjikiske somoni"
+ },
+ "TZS": {
+ "name": "tanzanianske shilling"
+ },
+ "THB": {
+ "name": "thailandske baht"
+ },
+ "TOP": {
+ "name": "tonganske paʻanga"
+ },
+ "TTD": {
+ "name": "trinidadiske dollar"
+ },
+ "CZK": {
+ "name": "tsjekkiske koruna"
+ },
+ "TND": {
+ "name": "tunisiske dinarer"
+ },
+ "TMT": {
+ "name": "turkmenske manat"
+ },
+ "TRY": {
+ "name": "tyrkiske lire"
+ },
+ "UGX": {
+ "name": "ugandiske shilling"
+ },
+ "UAH": {
+ "name": "ukrainske hryvnia"
+ },
+ "HUF": {
+ "name": "ungarske forinter"
+ },
+ "UYU": {
+ "name": "uruguayanske pesos"
+ },
+ "UZS": {
+ "name": "usbekiske som"
+ },
+ "VUV": {
+ "name": "vanuatiske vatu"
+ },
+ "VEF": {
+ "name": "venezuelanske bolivar"
+ },
+ "XOF": {
+ "name": "vestafrikanske CFA-franc",
+ "symbol": "CFA"
+ },
+ "VND": {
+ "name": "vietnamesiske dong"
+ },
+ "ZMW": {
+ "name": "zambiske kwacha"
+ },
+ "ZWL": {
+ "name": "zimbabwisk dollar (2009)"
+ },
+ "XCD": {
+ "name": "østkaribiske dollar"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/nd.json b/vendor/commerceguys/intl/resources/currency/nd.json
new file mode 100644
index 000000000..e084e538c
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/nd.json
@@ -0,0 +1,496 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Ruble"
+ },
+ "BYR": {
+ "name": "Belarusian Ruble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "GMD": {
+ "name": "Dalasi yase Gambia"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DZD": {
+ "name": "Dinali yase Aljeriya"
+ },
+ "BHD": {
+ "name": "Dinari yase Bhahareni"
+ },
+ "LYD": {
+ "name": "Dinari yase Libya"
+ },
+ "SDG": {
+ "name": "Dinari yase Sudani"
+ },
+ "TND": {
+ "name": "Dinari yase Tunisiya"
+ },
+ "MAD": {
+ "name": "Dirham yase Morokho"
+ },
+ "STD": {
+ "name": "Dobra yase Sao Tome lo Principe"
+ },
+ "AED": {
+ "name": "Dola laseArab"
+ },
+ "ETB": {
+ "name": "Dola laseEthiopia"
+ },
+ "USD": {
+ "name": "Dola yase Amelika",
+ "symbol": "US$"
+ },
+ "AUD": {
+ "name": "Dola yase Australia",
+ "symbol": "A$"
+ },
+ "CAD": {
+ "name": "Dola yase Khanada",
+ "symbol": "CA$"
+ },
+ "LRD": {
+ "name": "Dola yase Libheriya"
+ },
+ "NAD": {
+ "name": "Dola yase Namibiya"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "CVE": {
+ "name": "Escudo Caboverdiano"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "XOF": {
+ "name": "Fulenki CFA BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Fulenki CFA BEAC",
+ "symbol": "FCFA"
+ },
+ "BIF": {
+ "name": "Fulenki yase Bhurundi"
+ },
+ "DJF": {
+ "name": "Fulenki yase Jibhuthi"
+ },
+ "KMF": {
+ "name": "Fulenki yase Khomoro"
+ },
+ "CDF": {
+ "name": "Fulenki yase Khongo"
+ },
+ "MGA": {
+ "name": "Fulenki yase Malagasi"
+ },
+ "RWF": {
+ "name": "Fulenki yase Ruwanda"
+ },
+ "CHF": {
+ "name": "Fulenki yase Swisi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "MWK": {
+ "name": "Kwacha yase Malawi"
+ },
+ "ZMW": {
+ "name": "Kwacha yase Zambiya"
+ },
+ "AOA": {
+ "name": "Kwanza yase Angola"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "SLL": {
+ "name": "Leyoni"
+ },
+ "SZL": {
+ "name": "Lilangeni"
+ },
+ "LSL": {
+ "name": "Lothi yase Lesotho"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "ERN": {
+ "name": "Nakfa yase Eritrea"
+ },
+ "NGN": {
+ "name": "Nayira yase Nijeriya"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "EGP": {
+ "name": "Phawundi laseGibhide"
+ },
+ "GBP": {
+ "name": "Phawundi yase Ngilandi",
+ "symbol": "£"
+ },
+ "SHP": {
+ "name": "Phawundindi laseSt Helena"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "BWP": {
+ "name": "Phula yase Botswana"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "ZAR": {
+ "name": "Randi yase Afrika ye Zanzi"
+ },
+ "SAR": {
+ "name": "Riyal yase Saudi"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "INR": {
+ "name": "Rupi yase Indiya",
+ "symbol": "₹"
+ },
+ "MUR": {
+ "name": "Rupi yase Morishasi"
+ },
+ "SCR": {
+ "name": "Rupi yase Seyisheli"
+ },
+ "RUB": {
+ "name": "Russian Ruble"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "KES": {
+ "name": "Shilingi yase Kenya"
+ },
+ "SOS": {
+ "name": "Shilingi yase Somaliya"
+ },
+ "TZS": {
+ "name": "Shilingi yase Tanzaniya"
+ },
+ "UGX": {
+ "name": "Shilingi yase Uganda"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "MRO": {
+ "name": "Ugwiya yase Moritaniya"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "JPY": {
+ "name": "Yeni yase Japhani",
+ "symbol": "JP¥"
+ },
+ "CNY": {
+ "name": "Yuan Renminbi yase China",
+ "symbol": "CN¥"
+ },
+ "EUR": {
+ "name": "Yuro",
+ "symbol": "€"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/ne.json b/vendor/commerceguys/intl/resources/currency/ne.json
new file mode 100644
index 000000000..045a85fb8
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/ne.json
@@ -0,0 +1,498 @@
+{
+ "AZN": {
+ "name": "अजरबैजानी मानात"
+ },
+ "AFN": {
+ "name": "अफ्गान अफ्गानी"
+ },
+ "USD": {
+ "name": "अमेरिकी डलर",
+ "symbol": "US$"
+ },
+ "ARS": {
+ "name": "अर्जेन्टिनी पेसो"
+ },
+ "DZD": {
+ "name": "अल्जेरियाली डिनार"
+ },
+ "ALL": {
+ "name": "अल्बानियन लेक"
+ },
+ "AUD": {
+ "name": "अष्ट्रेलियन डलर",
+ "symbol": "A$"
+ },
+ "ISK": {
+ "name": "आइसल्याण्डिक क्रोना"
+ },
+ "AWG": {
+ "name": "आरूबन फ्लोरिन"
+ },
+ "AMD": {
+ "name": "आर्मेनियाली ड्राम"
+ },
+ "ILS": {
+ "name": "इजरायली नयाँ शेकेल",
+ "symbol": "₪"
+ },
+ "EGP": {
+ "name": "इजिप्सियन पाउन्ड"
+ },
+ "IDR": {
+ "name": "इण्डोनेशियाली रूपियाँ"
+ },
+ "ETB": {
+ "name": "इथियोपियाली बिर"
+ },
+ "IQD": {
+ "name": "इराकी डिनार"
+ },
+ "IRR": {
+ "name": "इरानियाली रियाल"
+ },
+ "UZS": {
+ "name": "उज्बेकिस्तान सोम"
+ },
+ "KPW": {
+ "name": "उत्तर कोरियाली वन"
+ },
+ "UYU": {
+ "name": "उरूगुवायाली पेसो"
+ },
+ "AOA": {
+ "name": "एङ्गोलान क्वान्जा"
+ },
+ "ERN": {
+ "name": "एरिट्रियन नाक्फा"
+ },
+ "OMR": {
+ "name": "ओमनी रियल"
+ },
+ "CDF": {
+ "name": "कङ्गोली फ्रान्क"
+ },
+ "QAR": {
+ "name": "कतारी रियल"
+ },
+ "KHR": {
+ "name": "कम्बोडिनेयाली रियल"
+ },
+ "KZT": {
+ "name": "काजाखस्तानी टेन्ज"
+ },
+ "KGS": {
+ "name": "किर्गिस्तानी सोम"
+ },
+ "KWD": {
+ "name": "कुवेती डिनार"
+ },
+ "KES": {
+ "name": "केन्याली शिलिङ"
+ },
+ "CVE": {
+ "name": "केप भर्डियन एस्कुडो"
+ },
+ "KYD": {
+ "name": "केम्यान टापुहरूका डलर"
+ },
+ "KMF": {
+ "name": "कोमोरियन फ्रान्क"
+ },
+ "COP": {
+ "name": "कोलम्वियन पेसो"
+ },
+ "CRC": {
+ "name": "कोष्टारिकन कोलोन"
+ },
+ "CAD": {
+ "name": "क्यानाडियाली डलर",
+ "symbol": "CA$"
+ },
+ "CUP": {
+ "name": "क्यूवाली पेसो"
+ },
+ "CUC": {
+ "name": "क्यूवाली रूपान्तरणयोग्य पेसो"
+ },
+ "HRK": {
+ "name": "क्रोएशियाली कुना"
+ },
+ "GYD": {
+ "name": "गाइनिज डलर"
+ },
+ "GMD": {
+ "name": "गाम्वियाली डालासी"
+ },
+ "GNF": {
+ "name": "गिनियाली फ्रान्क"
+ },
+ "GTQ": {
+ "name": "ग्वाटेमाला क्वेट्जाल"
+ },
+ "GHS": {
+ "name": "घानाली सेडी"
+ },
+ "CNY": {
+ "name": "चिनिँया युआन",
+ "symbol": "CN¥"
+ },
+ "CLP": {
+ "name": "चिलियन पेसो"
+ },
+ "CZK": {
+ "name": "चेख गणतञ्त्र कोरूना"
+ },
+ "JMD": {
+ "name": "जमाइकाली डलर"
+ },
+ "GEL": {
+ "name": "जर्जियाली लारी"
+ },
+ "JPY": {
+ "name": "जापानी येन",
+ "symbol": "JP¥"
+ },
+ "ZMW": {
+ "name": "जाम्बियाली क्वाचा"
+ },
+ "DJF": {
+ "name": "जिबौंटियाली फ्रान्क"
+ },
+ "GIP": {
+ "name": "जिब्राल्टर पाउण्ड"
+ },
+ "JOD": {
+ "name": "जोर्डानियाली डलर"
+ },
+ "TOP": {
+ "name": "टङ्गन पाङ्गा"
+ },
+ "TRY": {
+ "name": "टर्किश लिरा"
+ },
+ "TND": {
+ "name": "टुनिसियाली डिनार"
+ },
+ "TMT": {
+ "name": "टुर्क्मेनिस्तानी मानात"
+ },
+ "DOP": {
+ "name": "डोमिनिकन पेसो"
+ },
+ "DKK": {
+ "name": "ड्यानिश क्रोन"
+ },
+ "TJS": {
+ "name": "ताजिक्स्तानी सोमोनी"
+ },
+ "TZS": {
+ "name": "ताञ्जानियाली शिलिङ"
+ },
+ "TTD": {
+ "name": "त्रिनिडाड र टोबागो डलर"
+ },
+ "THB": {
+ "name": "थाई भाट",
+ "symbol": "฿"
+ },
+ "ZAR": {
+ "name": "दक्षिण अफ्रिकी र्‍यान्ड"
+ },
+ "KRW": {
+ "name": "दक्षिण कोरियाली वन",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "दक्षिण सुडानी पाउन्ड"
+ },
+ "TWD": {
+ "name": "नयाँ ताइवान डलर",
+ "symbol": "NT$"
+ },
+ "NOK": {
+ "name": "नर्वेजियाली क्रोन"
+ },
+ "NGN": {
+ "name": "नाइजेरियन नाइरा"
+ },
+ "NAD": {
+ "name": "नामिबियन डलर"
+ },
+ "NIO": {
+ "name": "निकारागुवान कोर्डोवा"
+ },
+ "ANG": {
+ "name": "नेदरल्याण्ड्स एन्टिलियन गिल्डर"
+ },
+ "NPR": {
+ "name": "नेपाली रूपैयाँ",
+ "symbol": "नेरू"
+ },
+ "NZD": {
+ "name": "न्यूजिल्याण्ड डलर",
+ "symbol": "NZ$"
+ },
+ "PGK": {
+ "name": "पपुआ न्यू गिनियाली किना"
+ },
+ "PKR": {
+ "name": "पाकिस्तानी रूपियाँ"
+ },
+ "PAB": {
+ "name": "पानामानियाली बाल्बोआ"
+ },
+ "PYG": {
+ "name": "पारागुयाली गुरानी"
+ },
+ "XCD": {
+ "name": "पूर्वी क्यारिबियन डलर",
+ "symbol": "EC$"
+ },
+ "PEN": {
+ "name": "पेरूभियाली न्यूभो सोल"
+ },
+ "PLN": {
+ "name": "पोलिश ज्लोटाई"
+ },
+ "FKP": {
+ "name": "फक्‌ल्याण्ड टापुहरूका पाउन्ड"
+ },
+ "FJD": {
+ "name": "फिजीयाली डलर"
+ },
+ "PHP": {
+ "name": "फिलिपिनी पेसो"
+ },
+ "BDT": {
+ "name": "बङ्गलादेशी टाका"
+ },
+ "BBD": {
+ "name": "बर्बाडियन डलर"
+ },
+ "BMD": {
+ "name": "बर्मुडन डलर"
+ },
+ "BSD": {
+ "name": "बहामियाली डलर"
+ },
+ "BHD": {
+ "name": "बाहारैनी डिनार"
+ },
+ "BIF": {
+ "name": "बुरूण्डियाली फ्रान्क"
+ },
+ "BGN": {
+ "name": "बुल्गारियाली लेभ"
+ },
+ "GBP": {
+ "name": "बेलायती पाउण्ड स्टर्लिङ",
+ "symbol": "£"
+ },
+ "BYN": {
+ "name": "बेलारूसी रूबल"
+ },
+ "BYR": {
+ "name": "बेलारूसी रूबल (2000–2016)"
+ },
+ "BWP": {
+ "name": "बोट्सवानान पुला"
+ },
+ "BOB": {
+ "name": "बोलिभियन बोलिभियानो"
+ },
+ "BAM": {
+ "name": "बोस्निया-हर्जगोभिनिया रूपान्तरयोग्य मार्क"
+ },
+ "BRL": {
+ "name": "ब्राजिलियन रियल",
+ "symbol": "R$"
+ },
+ "BND": {
+ "name": "ब्रुनाई डलर"
+ },
+ "VUV": {
+ "name": "भानुआतू भातु"
+ },
+ "INR": {
+ "name": "भारतीय रूपिँया",
+ "symbol": "₹"
+ },
+ "VND": {
+ "name": "भियतनामी डङ्",
+ "symbol": "₫"
+ },
+ "BTN": {
+ "name": "भुटानी एन्‌गुल्ट्रुम"
+ },
+ "VEF": {
+ "name": "भेनेजुएलन बोलिभर"
+ },
+ "MNT": {
+ "name": "मङ्गोलियाली टुग्रिक"
+ },
+ "MWK": {
+ "name": "मलाविअन क्वाचा"
+ },
+ "MYR": {
+ "name": "मलेशियाली रिङ्गेट"
+ },
+ "MRO": {
+ "name": "माउरिटानियानली औगुइया"
+ },
+ "MUR": {
+ "name": "माउरिटियन रूपी"
+ },
+ "MOP": {
+ "name": "माकानिज पटाका"
+ },
+ "MVR": {
+ "name": "मालडिभियाली रूफियाँ"
+ },
+ "MGA": {
+ "name": "मालागासी एरिआरी"
+ },
+ "MDL": {
+ "name": "माल्डोभन लेउ"
+ },
+ "MXN": {
+ "name": "मेक्सिकन पेसो",
+ "symbol": "MX$"
+ },
+ "MZN": {
+ "name": "मोजाम्विकन मेटिकल"
+ },
+ "MAD": {
+ "name": "मोरोक्काली डिर्‌हाम"
+ },
+ "MMK": {
+ "name": "म्यान्मा क्याट"
+ },
+ "MKD": {
+ "name": "म्यासेडोनियाली डेनार"
+ },
+ "UAH": {
+ "name": "युक्रेनी हिर्भिनिया"
+ },
+ "UGX": {
+ "name": "युगाण्डाली शिलिङ"
+ },
+ "EUR": {
+ "name": "युरो",
+ "symbol": "€"
+ },
+ "YER": {
+ "name": "येमेनी रियाल"
+ },
+ "RUB": {
+ "name": "रूसी रूबल"
+ },
+ "RON": {
+ "name": "रोमानियाली लेऊ"
+ },
+ "RWF": {
+ "name": "र्‌वाण्डाली फ्रान्क"
+ },
+ "LAK": {
+ "name": "लाओशियन किप"
+ },
+ "LRD": {
+ "name": "लिबेरियाली डलर"
+ },
+ "LYD": {
+ "name": "लिवियाली डिनार"
+ },
+ "LBP": {
+ "name": "लेबनाली पाउन्ड"
+ },
+ "BZD": {
+ "name": "वेलिज डलर"
+ },
+ "LKR": {
+ "name": "श्रीलङ्काली रूपिया"
+ },
+ "AED": {
+ "name": "संयुक्त अरब एमिराट्स डिर्हाम"
+ },
+ "RSD": {
+ "name": "सर्बियाली डिनार"
+ },
+ "SAR": {
+ "name": "साउदी रियालहरू"
+ },
+ "STD": {
+ "name": "साओ टोम र प्रिन्सिप डोब्रा"
+ },
+ "WST": {
+ "name": "सामोआन ताला"
+ },
+ "SGD": {
+ "name": "सिङ्गापुर डलर"
+ },
+ "SLL": {
+ "name": "सियरा लियोनेन लियोन"
+ },
+ "SYP": {
+ "name": "सिरियाली पाउन्ड"
+ },
+ "XAF": {
+ "name": "सीएफ्‌ए फ्रान्क बीइएसी",
+ "symbol": "FCFA"
+ },
+ "XOF": {
+ "name": "सीएफ्‌ए फ्रान्क बीसीइएओ",
+ "symbol": "CFA"
+ },
+ "XPF": {
+ "name": "सीएफ्‌पी फ्रान्क",
+ "symbol": "CFPF"
+ },
+ "SDG": {
+ "name": "सुडानी पाउन्ड"
+ },
+ "SRD": {
+ "name": "सुरिनामिज डलर"
+ },
+ "SCR": {
+ "name": "सेचेलोइस रूपी"
+ },
+ "SHP": {
+ "name": "सेन्ट हेलेना पाउन्ड"
+ },
+ "SOS": {
+ "name": "सोमाली शिलिङ"
+ },
+ "SBD": {
+ "name": "सोलोमन टापुहरूका डलर"
+ },
+ "SZL": {
+ "name": "स्वाजी लिलान्गेनी"
+ },
+ "SEK": {
+ "name": "स्विडिश क्रोना"
+ },
+ "CHF": {
+ "name": "स्विस् फ्रैङ्क"
+ },
+ "HKD": {
+ "name": "हङकङ डलर",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "हङ्गेरियन फोरिन्ट"
+ },
+ "HTG": {
+ "name": "हैटियाली गुर्ड"
+ },
+ "HNL": {
+ "name": "होन्डुरान लेम्पिरा"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/nl.json b/vendor/commerceguys/intl/resources/currency/nl.json
new file mode 100644
index 000000000..7c2e70dcc
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/nl.json
@@ -0,0 +1,498 @@
+{
+ "AFN": {
+ "name": "Afghaanse afghani"
+ },
+ "ALL": {
+ "name": "Albanese lek"
+ },
+ "DZD": {
+ "name": "Algerijnse dinar"
+ },
+ "USD": {
+ "name": "Amerikaanse dollar",
+ "symbol": "US$"
+ },
+ "AOA": {
+ "name": "Angolese kwanza"
+ },
+ "ARS": {
+ "name": "Argentijnse peso"
+ },
+ "AMD": {
+ "name": "Armeense dram"
+ },
+ "AWG": {
+ "name": "Arubaanse gulden"
+ },
+ "AUD": {
+ "name": "Australische dollar",
+ "symbol": "AU$"
+ },
+ "AZN": {
+ "name": "Azerbeidzjaanse manat"
+ },
+ "BSD": {
+ "name": "Bahamaanse dollar"
+ },
+ "BHD": {
+ "name": "Bahreinse dinar"
+ },
+ "BBD": {
+ "name": "Barbadaanse dollar"
+ },
+ "BZD": {
+ "name": "Belizaanse dollar"
+ },
+ "BDT": {
+ "name": "Bengalese taka"
+ },
+ "BMD": {
+ "name": "Bermuda-dollar"
+ },
+ "BTN": {
+ "name": "Bhutaanse ngultrum"
+ },
+ "BOB": {
+ "name": "Boliviaanse boliviano"
+ },
+ "BAM": {
+ "name": "Bosnische convertibele mark"
+ },
+ "BWP": {
+ "name": "Botswaanse pula"
+ },
+ "BRL": {
+ "name": "Braziliaanse real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "Brits pond",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Bruneise dollar"
+ },
+ "BGN": {
+ "name": "Bulgaarse lev"
+ },
+ "BIF": {
+ "name": "Burundese frank"
+ },
+ "KHR": {
+ "name": "Cambodjaanse riel"
+ },
+ "CAD": {
+ "name": "Canadese dollar",
+ "symbol": "C$"
+ },
+ "XOF": {
+ "name": "CFA-franc BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "CFA-frank",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP-frank"
+ },
+ "CLP": {
+ "name": "Chileense peso"
+ },
+ "CNY": {
+ "name": "Chinese renminbi",
+ "symbol": "CN¥"
+ },
+ "COP": {
+ "name": "Colombiaanse peso"
+ },
+ "KMF": {
+ "name": "Comorese frank"
+ },
+ "CDF": {
+ "name": "Congolese frank"
+ },
+ "CRC": {
+ "name": "Costa Ricaanse colon"
+ },
+ "CUC": {
+ "name": "Cubaanse convertibele peso"
+ },
+ "CUP": {
+ "name": "Cubaanse peso"
+ },
+ "DKK": {
+ "name": "Deense kroon"
+ },
+ "DJF": {
+ "name": "Djiboutiaanse frank"
+ },
+ "DOP": {
+ "name": "Dominicaanse peso"
+ },
+ "EGP": {
+ "name": "Egyptisch pond"
+ },
+ "ERN": {
+ "name": "Eritrese nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopische birr"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falklandeilands pond"
+ },
+ "FJD": {
+ "name": "Fiji-dollar",
+ "symbol": "FJ$"
+ },
+ "PHP": {
+ "name": "Filipijnse peso"
+ },
+ "GMD": {
+ "name": "Gambiaanse dalasi"
+ },
+ "GEL": {
+ "name": "Georgische lari"
+ },
+ "GHS": {
+ "name": "Ghanese cedi"
+ },
+ "GIP": {
+ "name": "Gibraltarees pond"
+ },
+ "GTQ": {
+ "name": "Guatemalteekse quetzal"
+ },
+ "GNF": {
+ "name": "Guinese frank"
+ },
+ "GYD": {
+ "name": "Guyaanse dollar"
+ },
+ "HTG": {
+ "name": "Haïtiaanse gourde"
+ },
+ "HNL": {
+ "name": "Hondurese lempira"
+ },
+ "HUF": {
+ "name": "Hongaarse forint"
+ },
+ "HKD": {
+ "name": "Hongkongse dollar",
+ "symbol": "HK$"
+ },
+ "ISK": {
+ "name": "IJslandse kroon"
+ },
+ "INR": {
+ "name": "Indiase roepie",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesische roepia"
+ },
+ "IQD": {
+ "name": "Iraakse dinar"
+ },
+ "IRR": {
+ "name": "Iraanse rial"
+ },
+ "ILS": {
+ "name": "Israëlische nieuwe shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaicaanse dollar"
+ },
+ "JPY": {
+ "name": "Japanse yen",
+ "symbol": "JP¥"
+ },
+ "YER": {
+ "name": "Jemenitische rial"
+ },
+ "JOD": {
+ "name": "Jordaanse dinar"
+ },
+ "KYD": {
+ "name": "Kaaimaneilandse dollar"
+ },
+ "CVE": {
+ "name": "Kaapverdische escudo"
+ },
+ "KZT": {
+ "name": "Kazachse tenge"
+ },
+ "KES": {
+ "name": "Keniaanse shilling"
+ },
+ "KGS": {
+ "name": "Kirgizische som"
+ },
+ "KWD": {
+ "name": "Koeweitse dinar"
+ },
+ "HRK": {
+ "name": "Kroatische kuna"
+ },
+ "LAK": {
+ "name": "Laotiaanse kip"
+ },
+ "LSL": {
+ "name": "Lesothaanse loti"
+ },
+ "LBP": {
+ "name": "Libanees pond"
+ },
+ "LRD": {
+ "name": "Liberiaanse dollar"
+ },
+ "LYD": {
+ "name": "Libische dinar"
+ },
+ "MOP": {
+ "name": "Macause pataca"
+ },
+ "MKD": {
+ "name": "Macedonische denar"
+ },
+ "MGA": {
+ "name": "Malagassische ariary"
+ },
+ "MWK": {
+ "name": "Malawische kwacha"
+ },
+ "MVR": {
+ "name": "Maldivische rufiyaa"
+ },
+ "MYR": {
+ "name": "Maleisische ringgit"
+ },
+ "MAD": {
+ "name": "Marokkaanse dirham"
+ },
+ "MRO": {
+ "name": "Mauritaanse ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritiaanse roepie"
+ },
+ "MXN": {
+ "name": "Mexicaanse peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldavische leu"
+ },
+ "MNT": {
+ "name": "Mongoolse tugrik"
+ },
+ "MZN": {
+ "name": "Mozambikaanse metical"
+ },
+ "MMK": {
+ "name": "Myanmarese kyat"
+ },
+ "NAD": {
+ "name": "Namibische dollar"
+ },
+ "ANG": {
+ "name": "Nederlands-Antilliaanse gulden"
+ },
+ "NPR": {
+ "name": "Nepalese roepie"
+ },
+ "NIO": {
+ "name": "Nicaraguaanse córdoba"
+ },
+ "NZD": {
+ "name": "Nieuw-Zeelandse dollar",
+ "symbol": "NZ$"
+ },
+ "TWD": {
+ "name": "Nieuwe Taiwanese dollar",
+ "symbol": "NT$"
+ },
+ "NGN": {
+ "name": "Nigeriaanse naira"
+ },
+ "KPW": {
+ "name": "Noord-Koreaanse won"
+ },
+ "NOK": {
+ "name": "Noorse kroon"
+ },
+ "UGX": {
+ "name": "Oegandese shilling"
+ },
+ "UAH": {
+ "name": "Oekraïense hryvnia"
+ },
+ "UZS": {
+ "name": "Oezbeekse sum"
+ },
+ "OMR": {
+ "name": "Omaanse rial"
+ },
+ "XCD": {
+ "name": "Oost-Caribische dollar",
+ "symbol": "EC$"
+ },
+ "PKR": {
+ "name": "Pakistaanse roepie"
+ },
+ "PAB": {
+ "name": "Panamese balboa"
+ },
+ "PGK": {
+ "name": "Papoea-Nieuw-Guinese kina"
+ },
+ "PYG": {
+ "name": "Paraguayaanse guarani"
+ },
+ "PEN": {
+ "name": "Peruaanse nieuwe sol"
+ },
+ "PLN": {
+ "name": "Poolse zloty"
+ },
+ "QAR": {
+ "name": "Qatarese rial"
+ },
+ "RON": {
+ "name": "Roemeense leu"
+ },
+ "RUB": {
+ "name": "Russische roebel"
+ },
+ "RWF": {
+ "name": "Rwandese frank"
+ },
+ "SBD": {
+ "name": "Salomon-dollar",
+ "symbol": "SI$"
+ },
+ "SVC": {
+ "name": "Salvadoraanse colón"
+ },
+ "WST": {
+ "name": "Samoaanse tala"
+ },
+ "STD": {
+ "name": "Santomese dobra"
+ },
+ "SAR": {
+ "name": "Saoedi-Arabische riyal"
+ },
+ "RSD": {
+ "name": "Servische dinar"
+ },
+ "SCR": {
+ "name": "Seychelse roepie"
+ },
+ "SLL": {
+ "name": "Sierraleoonse leone"
+ },
+ "SGD": {
+ "name": "Singaporese dollar"
+ },
+ "SHP": {
+ "name": "Sint-Heleens pond"
+ },
+ "SDG": {
+ "name": "Soedanees pond"
+ },
+ "SOS": {
+ "name": "Somalische shilling"
+ },
+ "LKR": {
+ "name": "Sri Lankaanse roepie"
+ },
+ "SRD": {
+ "name": "Surinaamse dollar"
+ },
+ "SZL": {
+ "name": "Swazische lilangeni"
+ },
+ "SYP": {
+ "name": "Syrisch pond"
+ },
+ "TJS": {
+ "name": "Tadzjiekse somoni"
+ },
+ "TZS": {
+ "name": "Tanzaniaanse shilling"
+ },
+ "THB": {
+ "name": "Thaise baht",
+ "symbol": "฿"
+ },
+ "TOP": {
+ "name": "Tongaanse paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad en Tobago-dollar"
+ },
+ "CZK": {
+ "name": "Tsjechische kroon"
+ },
+ "TND": {
+ "name": "Tunesische dinar"
+ },
+ "TMT": {
+ "name": "Turkmeense manat"
+ },
+ "TRY": {
+ "name": "Turkse lira"
+ },
+ "UYU": {
+ "name": "Uruguayaanse peso"
+ },
+ "VUV": {
+ "name": "Vanuatuaanse vatu"
+ },
+ "VEF": {
+ "name": "Venezolaanse bolivar"
+ },
+ "AED": {
+ "name": "Verenigde Arabische Emiraten-dirham"
+ },
+ "VND": {
+ "name": "Vietnamese dong",
+ "symbol": "₫"
+ },
+ "BYN": {
+ "name": "Wit-Russische roebel"
+ },
+ "BYR": {
+ "name": "Wit-Russische roebel (2000–2016)"
+ },
+ "ZMW": {
+ "name": "Zambiaanse kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwaanse dollar (2009)"
+ },
+ "ZAR": {
+ "name": "Zuid-Afrikaanse rand"
+ },
+ "KRW": {
+ "name": "Zuid-Koreaanse won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "Zuid-Soedanees pond"
+ },
+ "SEK": {
+ "name": "Zweedse kroon"
+ },
+ "CHF": {
+ "name": "Zwitserse frank"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/nmg.json b/vendor/commerceguys/intl/resources/currency/nmg.json
new file mode 100644
index 000000000..5a8ba885d
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/nmg.json
@@ -0,0 +1,496 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Ruble"
+ },
+ "BYR": {
+ "name": "Belarusian Ruble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "USD": {
+ "name": "Dɔ́llɔ Amɛŕka",
+ "symbol": "US$"
+ },
+ "CAD": {
+ "name": "Dɔ́llɔ Kanada",
+ "symbol": "CA$"
+ },
+ "LRD": {
+ "name": "Dɔ́llɔ Liberia"
+ },
+ "NAD": {
+ "name": "Dɔ́llɔ Namibia"
+ },
+ "AUD": {
+ "name": "Dɔ́llɔ Ɔstralia",
+ "symbol": "A$"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "CDF": {
+ "name": "Fraŋ bó Kongolɛ̌"
+ },
+ "KMF": {
+ "name": "Fraŋ bó Kɔmɔr"
+ },
+ "BIF": {
+ "name": "Fraŋ Burundi"
+ },
+ "XOF": {
+ "name": "Fraŋ CFA BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Fraŋ CFA BEAC",
+ "symbol": "FCFA"
+ },
+ "DJF": {
+ "name": "Fraŋ Jibuti"
+ },
+ "RWF": {
+ "name": "Fraŋ Rwanda"
+ },
+ "CHF": {
+ "name": "Fraŋ Suisse"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "ZAR": {
+ "name": "Mɔn Afrik yí sí"
+ },
+ "EGP": {
+ "name": "Mɔn Ägyptɛn"
+ },
+ "DZD": {
+ "name": "Mɔn Algeria"
+ },
+ "AOA": {
+ "name": "Mɔn Angola"
+ },
+ "AED": {
+ "name": "Mɔn B ´Arabe"
+ },
+ "BHD": {
+ "name": "Mɔn Bahrein"
+ },
+ "CNY": {
+ "name": "Mɔn bó Chinois",
+ "symbol": "CN¥"
+ },
+ "BWP": {
+ "name": "Mɔn Botswana"
+ },
+ "ERN": {
+ "name": "Mɔn Erytré"
+ },
+ "ETB": {
+ "name": "Mɔn Ethiopia"
+ },
+ "GMD": {
+ "name": "Mɔn Gambia"
+ },
+ "INR": {
+ "name": "Mɔn India",
+ "symbol": "₹"
+ },
+ "JPY": {
+ "name": "Mɔn Japɔn",
+ "symbol": "JP¥"
+ },
+ "CVE": {
+ "name": "Mɔn Kapvɛrt"
+ },
+ "KES": {
+ "name": "Mɔn Kɛnya"
+ },
+ "SLL": {
+ "name": "Mɔn Leɔne"
+ },
+ "LSL": {
+ "name": "Mɔn Lesoto"
+ },
+ "LYD": {
+ "name": "Mɔn Libya"
+ },
+ "SZL": {
+ "name": "Mɔn Ligangeni"
+ },
+ "SHP": {
+ "name": "Mɔn má Saint Lina"
+ },
+ "MGA": {
+ "name": "Mɔn Madagaskar"
+ },
+ "MWK": {
+ "name": "Mɔn Malawi"
+ },
+ "MAD": {
+ "name": "Mɔn Marɔk"
+ },
+ "MUR": {
+ "name": "Mɔn Moriss"
+ },
+ "MRO": {
+ "name": "Mɔn Moritania"
+ },
+ "GBP": {
+ "name": "Mɔn Ngɛ̄lɛ̄n",
+ "symbol": "£"
+ },
+ "STD": {
+ "name": "Mɔn Sao tomé na prinship"
+ },
+ "SAR": {
+ "name": "Mɔn Saudi Arabia"
+ },
+ "SCR": {
+ "name": "Mɔn Seychɛlle"
+ },
+ "SOS": {
+ "name": "Mɔn Somalía"
+ },
+ "SDG": {
+ "name": "Mɔn Sudan"
+ },
+ "TZS": {
+ "name": "Mɔn Tanzania"
+ },
+ "TND": {
+ "name": "Mɔn Tunisia"
+ },
+ "UGX": {
+ "name": "Mɔn Uganda"
+ },
+ "ZMW": {
+ "name": "Mɔn Zambia"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NGN": {
+ "name": "Naïra Nigeria"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Ruble"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/nn.json b/vendor/commerceguys/intl/resources/currency/nn.json
new file mode 100644
index 000000000..ae1d1906b
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/nn.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "afghani"
+ },
+ "ALL": {
+ "name": "albansk lek"
+ },
+ "DZD": {
+ "name": "algerisk dinar"
+ },
+ "USD": {
+ "name": "amerikansk dollar",
+ "symbol": "US$"
+ },
+ "AOA": {
+ "name": "angolsk kwanza"
+ },
+ "ARS": {
+ "name": "argentinsk peso"
+ },
+ "AMD": {
+ "name": "armensk dram"
+ },
+ "AWG": {
+ "name": "arubisk gylden"
+ },
+ "AZN": {
+ "name": "aserbajdsjansk manat"
+ },
+ "XCD": {
+ "name": "austkaribisk dollar",
+ "symbol": "EC$"
+ },
+ "AUD": {
+ "name": "australsk dollar",
+ "symbol": "A$"
+ },
+ "BSD": {
+ "name": "bahamisk dollar"
+ },
+ "BHD": {
+ "name": "bahrainsk dinar"
+ },
+ "BDT": {
+ "name": "bangladeshisk taka"
+ },
+ "BBD": {
+ "name": "barbadisk dollar"
+ },
+ "BZD": {
+ "name": "belizisk dollar"
+ },
+ "BMD": {
+ "name": "bermudisk dollar"
+ },
+ "BTN": {
+ "name": "bhutansk ngultrum"
+ },
+ "BOB": {
+ "name": "boliviano"
+ },
+ "BAM": {
+ "name": "bosnisk-hercegovinsk mark (konvertibel)"
+ },
+ "BWP": {
+ "name": "botswansk pula"
+ },
+ "BRL": {
+ "name": "brasiliansk real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "britisk pund",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "bruneisk dollar"
+ },
+ "BGN": {
+ "name": "bulgarsk ny lev"
+ },
+ "BIF": {
+ "name": "burundisk franc"
+ },
+ "KYD": {
+ "name": "caymansk dollar"
+ },
+ "XOF": {
+ "name": "CFA franc BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "CFA franc BEAC",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "chilensk peso"
+ },
+ "COP": {
+ "name": "colombiansk peso"
+ },
+ "CRC": {
+ "name": "costaricansk colon"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "DKK": {
+ "name": "dansk krone"
+ },
+ "DJF": {
+ "name": "djiboutisk franc"
+ },
+ "DOP": {
+ "name": "dominikansk peso"
+ },
+ "EGP": {
+ "name": "egyptisk pund"
+ },
+ "ERN": {
+ "name": "eritreisk nakfa"
+ },
+ "ETB": {
+ "name": "etiopisk birr"
+ },
+ "EUR": {
+ "name": "euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland-pund"
+ },
+ "FJD": {
+ "name": "fijiansk dollar"
+ },
+ "PHP": {
+ "name": "filippinsk peso"
+ },
+ "GMD": {
+ "name": "gambisk dalasi"
+ },
+ "GEL": {
+ "name": "georgisk lari"
+ },
+ "GHS": {
+ "name": "ghanesisk cedi"
+ },
+ "GIP": {
+ "name": "gibraltarsk pund"
+ },
+ "GTQ": {
+ "name": "guatemalansk quetzal"
+ },
+ "GNF": {
+ "name": "guineansk franc"
+ },
+ "GYD": {
+ "name": "guyansk dollar"
+ },
+ "HTG": {
+ "name": "haitisk gourde"
+ },
+ "HNL": {
+ "name": "honduransk lempira"
+ },
+ "HKD": {
+ "name": "Hongkong-dollar",
+ "symbol": "HK$"
+ },
+ "INR": {
+ "name": "indisk rupi",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "indonesisk rupi"
+ },
+ "IQD": {
+ "name": "iraksk dinar"
+ },
+ "IRR": {
+ "name": "iransk rial"
+ },
+ "ISK": {
+ "name": "islandsk krone"
+ },
+ "ILS": {
+ "name": "israelsk ny shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "jamaikansk dollar"
+ },
+ "JPY": {
+ "name": "japansk yen",
+ "symbol": "JP¥"
+ },
+ "YER": {
+ "name": "jemenittisk rial"
+ },
+ "JOD": {
+ "name": "jordansk dinar"
+ },
+ "KHR": {
+ "name": "kambodsjansk riel"
+ },
+ "CAD": {
+ "name": "kanadisk dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "kappverdisk escudo"
+ },
+ "KZT": {
+ "name": "kasakhstansk tenge"
+ },
+ "KES": {
+ "name": "kenyansk shilling"
+ },
+ "CNY": {
+ "name": "kinesisk yuan renminbi",
+ "symbol": "CN¥"
+ },
+ "KGS": {
+ "name": "kirgisisk som"
+ },
+ "KMF": {
+ "name": "komorisk franc"
+ },
+ "CDF": {
+ "name": "kongolesisk franc"
+ },
+ "HRK": {
+ "name": "kroatisk kuna"
+ },
+ "CUP": {
+ "name": "kubansk peso"
+ },
+ "KWD": {
+ "name": "kuwaitisk dinar"
+ },
+ "BYN": {
+ "name": "kviterussisk rubel"
+ },
+ "BYR": {
+ "name": "kviterussisk rubel (2000–2016)"
+ },
+ "LAK": {
+ "name": "laotisk kip"
+ },
+ "LSL": {
+ "name": "lesothisk loti"
+ },
+ "LBP": {
+ "name": "libanesisk pund"
+ },
+ "LRD": {
+ "name": "liberisk dollar"
+ },
+ "LYD": {
+ "name": "libysk dinar"
+ },
+ "MGA": {
+ "name": "madagassisk ariary"
+ },
+ "MOP": {
+ "name": "makaosk pataca"
+ },
+ "MKD": {
+ "name": "makedonsk denar"
+ },
+ "MWK": {
+ "name": "malawisk kwacha"
+ },
+ "MYR": {
+ "name": "malaysisk ringgit"
+ },
+ "MVR": {
+ "name": "maldivisk rufiyaa"
+ },
+ "MAD": {
+ "name": "marokkansk dirham"
+ },
+ "MRO": {
+ "name": "mauritansk ouguiya"
+ },
+ "MUR": {
+ "name": "mauritansk rupi"
+ },
+ "MXN": {
+ "name": "meksikansk peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "moldovsk leu"
+ },
+ "MNT": {
+ "name": "mongolsk tugrik"
+ },
+ "MZN": {
+ "name": "mosambikisk metical"
+ },
+ "MMK": {
+ "name": "myanmarsk kyat"
+ },
+ "NAD": {
+ "name": "namibisk dollar"
+ },
+ "ANG": {
+ "name": "nederlansk antillegylden"
+ },
+ "NPR": {
+ "name": "nepalsk rupi"
+ },
+ "NZD": {
+ "name": "new zealandsk dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "nicaraguansk cordoba oro"
+ },
+ "NGN": {
+ "name": "nigeriansk naira"
+ },
+ "KPW": {
+ "name": "nordkoreansk won"
+ },
+ "NOK": {
+ "name": "norsk krone",
+ "symbol": "kr"
+ },
+ "OMR": {
+ "name": "omansk rial"
+ },
+ "PKR": {
+ "name": "pakistansk rupi"
+ },
+ "PAB": {
+ "name": "panamansk balboa"
+ },
+ "PGK": {
+ "name": "papuansk kina"
+ },
+ "PYG": {
+ "name": "paraguayansk guarani"
+ },
+ "PEN": {
+ "name": "peruansk nuevo sol"
+ },
+ "PLN": {
+ "name": "polsk zloty"
+ },
+ "QAR": {
+ "name": "qatarsk rial"
+ },
+ "RON": {
+ "name": "rumensk leu"
+ },
+ "RUB": {
+ "name": "russisk rubel"
+ },
+ "RWF": {
+ "name": "rwandisk franc"
+ },
+ "SBD": {
+ "name": "salomonsk dollar"
+ },
+ "SVC": {
+ "name": "salvadoransk colon"
+ },
+ "SHP": {
+ "name": "sankthelensk pund"
+ },
+ "STD": {
+ "name": "Sao Tome og Principe-dobra"
+ },
+ "SAR": {
+ "name": "saudiarabisk rial"
+ },
+ "RSD": {
+ "name": "serbisk dinar"
+ },
+ "SCR": {
+ "name": "seychellisk rupi"
+ },
+ "SLL": {
+ "name": "sierraleonsk leone"
+ },
+ "SGD": {
+ "name": "singaporsk dollar"
+ },
+ "SOS": {
+ "name": "somalisk shilling"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "srilankisk rupi"
+ },
+ "SDG": {
+ "name": "sudansk pund"
+ },
+ "SRD": {
+ "name": "surinamsk dollar"
+ },
+ "CHF": {
+ "name": "sveitsisk franc"
+ },
+ "SEK": {
+ "name": "svensk krone"
+ },
+ "SZL": {
+ "name": "swazilandsk lilangeni"
+ },
+ "SYP": {
+ "name": "syrisk pund"
+ },
+ "ZAR": {
+ "name": "sørafrikansk rand"
+ },
+ "KRW": {
+ "name": "sørkoreansk won",
+ "symbol": "₩"
+ },
+ "TJS": {
+ "name": "tadsjikisk somoni"
+ },
+ "TWD": {
+ "name": "taiwansk ny dollar",
+ "symbol": "NT$"
+ },
+ "TZS": {
+ "name": "tanzaniansk shilling"
+ },
+ "THB": {
+ "name": "thailandsk baht"
+ },
+ "TOP": {
+ "name": "tongansk paʻanga"
+ },
+ "TTD": {
+ "name": "trinidadisk dollar"
+ },
+ "CZK": {
+ "name": "tsjekkisk koruna"
+ },
+ "TND": {
+ "name": "tunisisk dinar"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "TRY": {
+ "name": "tyrkisk lire"
+ },
+ "AED": {
+ "name": "UAE dirham"
+ },
+ "UGX": {
+ "name": "ugandisk shilling"
+ },
+ "UAH": {
+ "name": "ukrainsk hryvnia"
+ },
+ "HUF": {
+ "name": "ungarsk forint"
+ },
+ "UYU": {
+ "name": "uruguayansk peso"
+ },
+ "UZS": {
+ "name": "usbekisk sum"
+ },
+ "VUV": {
+ "name": "vanuatuisk vatu"
+ },
+ "VEF": {
+ "name": "venezuelansk bolivar"
+ },
+ "WST": {
+ "name": "vestsamoisk tala"
+ },
+ "VND": {
+ "name": "vietnamesisk dong",
+ "symbol": "₫"
+ },
+ "ZMW": {
+ "name": "zambisk kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/nyn.json b/vendor/commerceguys/intl/resources/currency/nyn.json
new file mode 100644
index 000000000..f084eb1cf
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/nyn.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "MGA": {
+ "name": "Ariari ya Maragariita"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Ruble"
+ },
+ "BYR": {
+ "name": "Belarusian Ruble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "ETB": {
+ "name": "Birr ya Ethiopiya"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "GMD": {
+ "name": "Dalasi ya Gambia"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DZD": {
+ "name": "Dinari ya Arigyeriya"
+ },
+ "BHD": {
+ "name": "Dinari ya Bahareni"
+ },
+ "LYD": {
+ "name": "Dinari ya Libya"
+ },
+ "SDG": {
+ "name": "Dinari ya Sudani"
+ },
+ "TND": {
+ "name": "Dinari ya Tunisia"
+ },
+ "AED": {
+ "name": "Dirham za Buharabu"
+ },
+ "MAD": {
+ "name": "Dirram ya Moroko"
+ },
+ "STD": {
+ "name": "Dobra ya Sao Tome na Purinsipo"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "USD": {
+ "name": "Doora ya America",
+ "symbol": "US$"
+ },
+ "AUD": {
+ "name": "Doora ya Austureeriya",
+ "symbol": "A$"
+ },
+ "CAD": {
+ "name": "Doora ya Kanada",
+ "symbol": "CA$"
+ },
+ "LRD": {
+ "name": "Doora ya Liberia"
+ },
+ "NAD": {
+ "name": "Doora ya Namibiya"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "SOS": {
+ "name": "Eshiringi ya Somalia"
+ },
+ "TZS": {
+ "name": "Eshiringi ya Tanzania"
+ },
+ "UGX": {
+ "name": "Eshiringi ya Uganda",
+ "symbol": "USh"
+ },
+ "CVE": {
+ "name": "Eskudo ya Kepuvede"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "BIF": {
+ "name": "Faranga ya Burundi"
+ },
+ "XOF": {
+ "name": "Faranga ya CFA BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Faranga ya CFA BEAC",
+ "symbol": "FCFA"
+ },
+ "DJF": {
+ "name": "Faranga ya Gyibuti"
+ },
+ "KMF": {
+ "name": "Faranga ya Komoro"
+ },
+ "CDF": {
+ "name": "Faranga ya Kongo"
+ },
+ "RWF": {
+ "name": "Faranga ya Rwanda"
+ },
+ "CHF": {
+ "name": "Faranga ya Swisi"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "MWK": {
+ "name": "Kwaca ya Malawi"
+ },
+ "ZMW": {
+ "name": "Kwacha ya Zambia"
+ },
+ "AOA": {
+ "name": "Kwanza ya Angora"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "SLL": {
+ "name": "Leone"
+ },
+ "SZL": {
+ "name": "Lilangeni"
+ },
+ "LSL": {
+ "name": "Loti ya Lesoto"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NGN": {
+ "name": "Naira ya Naigyeriya"
+ },
+ "ERN": {
+ "name": "Nakfa ya Eritireya"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "MRO": {
+ "name": "Ougwiya ya Mouriteeniya"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "GBP": {
+ "name": "Paundi ya Bungyereza",
+ "symbol": "£"
+ },
+ "EGP": {
+ "name": "Paundi ya Misiri"
+ },
+ "SHP": {
+ "name": "Paundi ya Senti Herena"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "BWP": {
+ "name": "Pura ya Botswana"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "ZAR": {
+ "name": "Randi ya Sausi Afirika"
+ },
+ "SAR": {
+ "name": "Riya ya Saudi"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "MUR": {
+ "name": "Rupiiha ya Mauritiasi"
+ },
+ "SCR": {
+ "name": "Rupiiha ya Sherisheri"
+ },
+ "INR": {
+ "name": "Rupiya ya India",
+ "symbol": "₹"
+ },
+ "RUB": {
+ "name": "Russian Ruble"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "KES": {
+ "name": "Shiringi ya Kenya"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "JPY": {
+ "name": "Yeni ya Japaani",
+ "symbol": "JP¥"
+ },
+ "CNY": {
+ "name": "Yuan Renminbi ya China",
+ "symbol": "CN¥"
+ },
+ "EUR": {
+ "name": "Yuro",
+ "symbol": "€"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/pa.json b/vendor/commerceguys/intl/resources/currency/pa.json
new file mode 100644
index 000000000..ad53223ee
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/pa.json
@@ -0,0 +1,497 @@
+{
+ "UZS": {
+ "name": "ਉਜ਼ਬੇਕਿਸਤਾਨ ਸੋਮ"
+ },
+ "KPW": {
+ "name": "ਉੱਤਰੀ ਕੋਰੀਆਈ ਵੋਨ"
+ },
+ "UYU": {
+ "name": "ਉਰੂਗੁਵਾਇਨ ਪੇਸੋ"
+ },
+ "OMR": {
+ "name": "ਓਮਾਨੀ ਰਿਆਲ"
+ },
+ "AOA": {
+ "name": "ਅੰਗੋਲਾ ਕਵਾਂਜਾ"
+ },
+ "AZN": {
+ "name": "ਅਜ਼ਰਬਾਈਜਾਨ ਮਾਨਤ"
+ },
+ "AFN": {
+ "name": "ਅਫ਼ਗਾਨ ਅਫ਼ਗਾਨੀ"
+ },
+ "ARS": {
+ "name": "ਅਰਜਨਟੀਨੀ ਪੇਸੋ"
+ },
+ "AMD": {
+ "name": "ਅਰਮੀਨੀਆਈ ਦਰਮ"
+ },
+ "AWG": {
+ "name": "ਅਰੂਬਨ ਫਲੋਰਿਨ"
+ },
+ "DZD": {
+ "name": "ਅਲਜੀਰਿਆਈ ਦਿਨਾਰ"
+ },
+ "ALL": {
+ "name": "ਅਲਬਾਨੀਆਈ ਲੇਕ"
+ },
+ "ISK": {
+ "name": "ਆਈਸਲੈਂਡਿਕ ਕਰੌਨ"
+ },
+ "AUD": {
+ "name": "ਆਸਟ੍ਰੇਲੀਆਈ ਡਾਲਰ",
+ "symbol": "A$"
+ },
+ "ILS": {
+ "name": "ਇਜ਼ਰਾਈਲੀ ਨਵੀਂ ਸ਼ੇਕੇਲ",
+ "symbol": "₪"
+ },
+ "IDR": {
+ "name": "ਇੰਡੋਨੇਸ਼ੀਆਈ ਰੁਪਿਆਹ"
+ },
+ "ETB": {
+ "name": "ਇਥੋਪੀਆਈ ਬਿਰ"
+ },
+ "IQD": {
+ "name": "ਇਰਾਕੀ ਦਿਨਾਰ"
+ },
+ "ERN": {
+ "name": "ਇਰੀਟ੍ਰਿਆਈ ਨਾਫ਼ਾ"
+ },
+ "IRR": {
+ "name": "ਈਰਾਨੀ ਰਿਆਲ"
+ },
+ "AED": {
+ "name": "ਸੰਯੁਕਤ ਅਰਬ ਅਮੀਰਾਤ ਦਿਰਹਾਮ"
+ },
+ "RSD": {
+ "name": "ਸਰਬੀਆਈ ਦਿਨਾਰ"
+ },
+ "SZL": {
+ "name": "ਸਵਾਜ਼ੀ ਲਾਇਲੈਂਗਨੀ"
+ },
+ "CHF": {
+ "name": "ਸਵਿਸ ਫ੍ਰੈਂਕ"
+ },
+ "SEK": {
+ "name": "ਸਵੀਡਿਸ਼ ਕਰੋਨਾ"
+ },
+ "LKR": {
+ "name": "ਸ੍ਰੀਲੰਕਾਈ ਰੁਪਇਆ"
+ },
+ "STD": {
+ "name": "ਸਾਉ ਟੋਮੀ ਐਂਡ ਪ੍ਰਿੰਸਪੀ ਡੋਬਰਾ"
+ },
+ "SAR": {
+ "name": "ਸਾਊਦੀ ਰਿਆਲ"
+ },
+ "WST": {
+ "name": "ਸਾਮੋਆਈ ਤਾਲਾ"
+ },
+ "SLL": {
+ "name": "ਸਿਏਰਾ ਲਿਓਨੀਅਨ ਲਿਓਨ"
+ },
+ "SGD": {
+ "name": "ਸਿੰਗਾਪੁਰ ਡਾਲਰ"
+ },
+ "SYP": {
+ "name": "ਸੀਰੀਆਈ ਪੌਂਡ"
+ },
+ "SDG": {
+ "name": "ਸੂਡਾਨੀ ਪੌਂਡ"
+ },
+ "SRD": {
+ "name": "ਸੂਰੀਨਾਮੀ ਡਾਲਰ"
+ },
+ "SCR": {
+ "name": "ਸੇਸ਼ਲਸ ਰੁਪਇਆ"
+ },
+ "SHP": {
+ "name": "ਸੇਂਟ ਹੇਲੇਨਾ ਪੌਂਡ"
+ },
+ "SOS": {
+ "name": "ਸੋਮਾਲੀ ਸ਼ਿਲਿੰਗ"
+ },
+ "SBD": {
+ "name": "ਸੋਲੋਮਨ ਆਈਲੈਂਡਸ ਡਾਲਰ"
+ },
+ "HUF": {
+ "name": "ਹੰਗਰੀ ਫੋਰਿੰਟ"
+ },
+ "HKD": {
+ "name": "ਹਾਂਗ ਕਾਂਗ ਡਾਲਰ",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "ਹਾਨਡੂਰਨ ਲੇਮਪਿਰਾ"
+ },
+ "HTG": {
+ "name": "ਹੈਤੀ ਗੌਰਡੇ"
+ },
+ "KZT": {
+ "name": "ਕਜ਼ਾਖਸਤਾਨੀ ਤੇਂਗੇ"
+ },
+ "QAR": {
+ "name": "ਕਤਰੀ ਰਿਆਲ"
+ },
+ "KHR": {
+ "name": "ਕੰਬੋਡੀਆਈ ਰੀਅਲ"
+ },
+ "HRK": {
+ "name": "ਕਰੋਏਸ਼ੀਆਈ ਕੁਨਾ"
+ },
+ "CDF": {
+ "name": "ਕਾਂਗੋਲੀਜ਼ ਫ੍ਰੈਂਕ"
+ },
+ "CUP": {
+ "name": "ਕਿਊਬਨ ਪੇਸੋ"
+ },
+ "CUC": {
+ "name": "ਕਿਊਬਨ ਬਦਲਣਯੋਗ ਪੇਸੋ"
+ },
+ "KGS": {
+ "name": "ਕਿਰਗਿਸਤਾਨੀ ਸੋਮ"
+ },
+ "KES": {
+ "name": "ਕੀਨੀਆਈ ਸ਼ਿਲਿੰਗ"
+ },
+ "KWD": {
+ "name": "ਕੁਵੈਤੀ ਦਿਨਾਰ"
+ },
+ "XAF": {
+ "name": "ਕੇਂਦਰੀ ਅਫ਼ਰੀਕੀ [CFA] ਫ੍ਰੈਂਕ",
+ "symbol": "FCFA"
+ },
+ "CAD": {
+ "name": "ਕੇਨੇਡਿਆਈ ਡਾਲਰ",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "ਕੇਪ ਵਰਡੀਅਨ ਸਕੂਡੋ"
+ },
+ "KYD": {
+ "name": "ਕੇਮੈਨ ਆਈਲੈਂਡਸ ਡਾਲਰ"
+ },
+ "CRC": {
+ "name": "ਕੋਸਟਾ ਰੀਕਨ ਕੋਲਨ"
+ },
+ "KMF": {
+ "name": "ਕੋਮੋਰੀਅਨ ਫ੍ਰੈਂਕ"
+ },
+ "COP": {
+ "name": "ਕੋਲੰਬਿਆਈ ਪੇਸੋ"
+ },
+ "GNF": {
+ "name": "ਗਿਨੀ ਫ੍ਰੈਂਕ"
+ },
+ "GTQ": {
+ "name": "ਗੁਆਟੇਮਾਲਾ ਕੁਏਟਜ਼ਲ"
+ },
+ "GYD": {
+ "name": "ਗੁਆਨਾਆਈ ਡਾਲਰ"
+ },
+ "GMD": {
+ "name": "ਗੈਂਬੀਆਈ ਦਲਾਸੀ"
+ },
+ "GHS": {
+ "name": "ਘਾਨਾਈ ਸੇਡੀ"
+ },
+ "CLP": {
+ "name": "ਚਿਲੀ ਪੇਸੋ"
+ },
+ "CNY": {
+ "name": "ਚੀਨੀ ਯੁਆਨ",
+ "symbol": "CN¥"
+ },
+ "CZK": {
+ "name": "ਚੈਕ ਗਣਰਾਜ ਕੋਰੁਨਾ"
+ },
+ "JPY": {
+ "name": "ਜਪਾਨੀ ਯੇਨ",
+ "symbol": "JP¥"
+ },
+ "JMD": {
+ "name": "ਜਮਾਇਕਨ ਡਾਲਰ"
+ },
+ "ZMW": {
+ "name": "ਜ਼ਾਮਬੀਆਈ ਕਵਾਚਾ"
+ },
+ "GEL": {
+ "name": "ਜਾਰਜੀਆਈ ਲਾਰੀ"
+ },
+ "JOD": {
+ "name": "ਜਾਰਡਨ ਦਿਨਾਰ"
+ },
+ "GIP": {
+ "name": "ਜਿਬਰਾਲਟਰ ਪੌਂਡ"
+ },
+ "DJF": {
+ "name": "ਜ਼ੀਬੂਤੀਅਨ ਫ੍ਰੈਂਕ"
+ },
+ "TTD": {
+ "name": "ਟ੍ਰਿਨੀਡਾਡ ਅਤੇ ਟੋਬਾਗੋ ਡਾਲਰ"
+ },
+ "TND": {
+ "name": "ਟਿਉਨੀਸ਼ੀਆਈ ਦਿਨਾਰ"
+ },
+ "TOP": {
+ "name": "ਟੌਂਗਨ ਪੈਂਗਾ"
+ },
+ "DKK": {
+ "name": "ਡੈਨਿਸ਼ ਕਰੌਨ"
+ },
+ "DOP": {
+ "name": "ਡੌਮਿਨਿਕਨ ਪੇਸੋ"
+ },
+ "TZS": {
+ "name": "ਤਨਜ਼ਾਨੀਆਈ ਸ਼ਿਲਿੰਗ"
+ },
+ "TJS": {
+ "name": "ਤਾਜਿਕਿਸਤਾਨੀ ਸੋਮੋਨੀ"
+ },
+ "TMT": {
+ "name": "ਤੁਰਕਮੇਨਿਸਤਾਨੀ ਮਾਨਤ"
+ },
+ "TRY": {
+ "name": "ਤੁਰਕੀ ਲੀਰਾ"
+ },
+ "THB": {
+ "name": "ਥਾਈ ਬਾਹਤ",
+ "symbol": "฿"
+ },
+ "ZAR": {
+ "name": "ਦੱਖਣੀ ਅਫਰੀਕੀ ਰੈਂਡ"
+ },
+ "SSP": {
+ "name": "ਦੱਖਣੀ ਸੂਡਾਨੀ ਪੌਂਡ"
+ },
+ "KRW": {
+ "name": "ਦੱਖਣੀ ਕੋਰੀਆਈ ਵੋਨ",
+ "symbol": "₩"
+ },
+ "TWD": {
+ "name": "ਨਵਾਂ ਤਾਇਵਾਨ ਡਾਲਰ",
+ "symbol": "NT$"
+ },
+ "NGN": {
+ "name": "ਨਾਇਜੀਰੀਆਈ ਨਾਇਰਾ"
+ },
+ "NAD": {
+ "name": "ਨਾਮੀਬੀਆਈ ਡਾਲਰ"
+ },
+ "NOK": {
+ "name": "ਨਾਰਵੇਜੀਆਈ ਕਰੌਨ"
+ },
+ "NZD": {
+ "name": "ਨਿਊਜ਼ੀਲੈਂਡ ਡਾਲਰ",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "ਨਿਕਾਰਾਗੁਆਈ ਕੋਰਡੋਬਾ"
+ },
+ "ANG": {
+ "name": "ਨੀਦਰਲੈਂਡਸ ਐਂਟੀਲੀਅਨ ਗਿਲਡਰ"
+ },
+ "NPR": {
+ "name": "ਨੇਪਾਲੀ ਰੁਪਇਆ"
+ },
+ "XOF": {
+ "name": "ਪੱਛਮੀ ਅਫ਼ਰੀਕੀ (CFA) ਫ੍ਰੈਂਕ",
+ "symbol": "CFA"
+ },
+ "PAB": {
+ "name": "ਪਨਾਮੇਨੀਅਨ ਬਾਲਬੋਆ"
+ },
+ "PKR": {
+ "name": "ਪਾਕਿਸਤਾਨੀ ਰੁਪਇਆ"
+ },
+ "PGK": {
+ "name": "ਪਾਪੂਆ ਨਿਊ ਗਿਨੀਆਈ ਕੀਨਾ"
+ },
+ "XCD": {
+ "name": "ਪੂਰਬੀ ਕੈਰੇਬੀਅਨ ਡਾਲਰ",
+ "symbol": "EC$"
+ },
+ "PEN": {
+ "name": "ਪੇਰੂਵੀਅਨ ਨਿਊਵੋ ਸੋਲ"
+ },
+ "PYG": {
+ "name": "ਪੈਰਾਗੁਵਾਇਨ ਗੁਆਰਾਨੀ"
+ },
+ "PLN": {
+ "name": "ਪੋਲੈਂਡੀ ਜ਼ਲੌਟੀ"
+ },
+ "XPF": {
+ "name": "ਫ੍ਰੈਂਕ (CFP)",
+ "symbol": "CFPF"
+ },
+ "FKP": {
+ "name": "ਫ਼ਾਕਲੈਂਡ ਆਈਲੈਂਡਸ ਪੌਂਡ"
+ },
+ "FJD": {
+ "name": "ਫ਼ਿਜ਼ੀ ਡਾਲਰ"
+ },
+ "PHP": {
+ "name": "ਫਿਲਿਪੀਨੀ ਪੇਸੋ"
+ },
+ "BHD": {
+ "name": "ਬਹਿਰੀਨੀ ਦਿਨਾਰ"
+ },
+ "BDT": {
+ "name": "ਬੰਗਲਾਦੇਸ਼ੀ ਟਕਾ"
+ },
+ "BMD": {
+ "name": "ਬਰਮੂਡਾ ਡਾਲਰ"
+ },
+ "BND": {
+ "name": "ਬਰੂਨੇਈ ਡਾਲਰ"
+ },
+ "BRL": {
+ "name": "ਬ੍ਰਾਜ਼ੀਲੀਆਈ ਰੀਅਲ",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "ਬ੍ਰਿਟਿਸ਼ ਪੌਂਡ",
+ "symbol": "£"
+ },
+ "BSD": {
+ "name": "ਬਾਹਾਮੀਅਨ ਡਾਲਰ"
+ },
+ "BBD": {
+ "name": "ਬਾਰਬਾਡੀਅਨ ਡਾਲਰ"
+ },
+ "BIF": {
+ "name": "ਬੁਰੁੰਡੀਆਈ ਫ੍ਰੈਂਕ"
+ },
+ "BGN": {
+ "name": "ਬੁਲਗਾਰੀਆਈ ਲੇਵ"
+ },
+ "BYN": {
+ "name": "ਬੇਲਾਰੂਸੀ ਰੂਬਲ"
+ },
+ "BYR": {
+ "name": "ਬੇਲਾਰੂਸੀ ਰੂਬਲ (2000–2016)"
+ },
+ "BZD": {
+ "name": "ਬੇਲੀਜ਼ ਡਾਲਰ"
+ },
+ "BAM": {
+ "name": "ਬੋਸਨੀਆ-ਹਰਜ਼ੇਗੋਵੀਨਾ ਬਦਲਣਯੋਗ ਮਾਰਕ"
+ },
+ "BWP": {
+ "name": "ਬੋਟਸਵਾਨਾ ਪੁਲਾ"
+ },
+ "BOB": {
+ "name": "ਬੋਲੀਵੀਅਨ ਬੋਲੀਵੀਅਨੋ"
+ },
+ "INR": {
+ "name": "ਭਾਰਤੀ ਰੁਪਇਆ",
+ "symbol": "₹"
+ },
+ "BTN": {
+ "name": "ਭੂਟਾਨੀ ਐਂਗਲਟ੍ਰਮ"
+ },
+ "MNT": {
+ "name": "ਮੰਗੋਲੀਆਈ ਤੁਗਰਿਕ"
+ },
+ "MYR": {
+ "name": "ਮਲੇਸ਼ੀਆਈ ਰਿੰਗਿਟ"
+ },
+ "MVR": {
+ "name": "ਮਾਲਦੀਵੀ ਰੁਫੀਆ"
+ },
+ "MGA": {
+ "name": "ਮਾਲਾਗਾਸੀ ਅਰਾਇਰੀ"
+ },
+ "MWK": {
+ "name": "ਮਾਲਾਵੀਆਈ ਕਵਾਚਾ"
+ },
+ "MMK": {
+ "name": "ਮਿਆਂਮਾਰ ਕਿਆਤ"
+ },
+ "EGP": {
+ "name": "ਮਿਸਰੀ ਪੌਂਡ"
+ },
+ "MOP": {
+ "name": "ਮੇਕਾਨੀ ਪਟਾਕਾ"
+ },
+ "MXN": {
+ "name": "ਮੈਕਸੀਕਨ ਪੇਸੋ",
+ "symbol": "MX$"
+ },
+ "MKD": {
+ "name": "ਮੈਕਡੋਨੀਆਈ ਡੇਨਾਰ"
+ },
+ "MZN": {
+ "name": "ਮੋਜ਼ਾਮਬੀਕਨ ਮੈਟੀਕਲ"
+ },
+ "MAD": {
+ "name": "ਮੋਰੱਕਨ ਦਿਰਹਾਮ"
+ },
+ "MRO": {
+ "name": "ਮੋਰਿਟਾਨੀਆਈ ਊਗੀਆ"
+ },
+ "MDL": {
+ "name": "ਮੋਲਡੋਵਨ ਲੇਉ"
+ },
+ "MUR": {
+ "name": "ਮੌਰਿਸ਼ੀਆਈ ਰੁਪਇਆ"
+ },
+ "YER": {
+ "name": "ਯਮਨੀ ਰਿਆਲ"
+ },
+ "USD": {
+ "name": "ਯੂ.ਐਸ. ਡਾਲਰ",
+ "symbol": "US$"
+ },
+ "UAH": {
+ "name": "ਯੂਕਰੇਨੀਆਈ ਰਿਵਨਿਆ"
+ },
+ "UGX": {
+ "name": "ਯੂਗਾਂਡੀਆਈ ਸ਼ਿਲਿੰਗ"
+ },
+ "EUR": {
+ "name": "ਯੂਰੋ",
+ "symbol": "€"
+ },
+ "RWF": {
+ "name": "ਰਵਾਂਡਨ ਫ੍ਰੈਂਕ"
+ },
+ "RUB": {
+ "name": "ਰੂਸੀ ਰੂਬਲ"
+ },
+ "RON": {
+ "name": "ਰੋਮਾਨੀਆਈ ਲੇਉ"
+ },
+ "LAK": {
+ "name": "ਲਾਓਟਿਆਈ ਕਿਪ"
+ },
+ "LRD": {
+ "name": "ਲਾਈਬੀਰੀਆਈ ਡਾਲਰ"
+ },
+ "LYD": {
+ "name": "ਲੀਬੀਅਨ ਦਿਨਾਰ"
+ },
+ "LBP": {
+ "name": "ਲੈਬਨਾਨੀ ਪੌਂਡ"
+ },
+ "VUV": {
+ "name": "ਵਾਨੂਆਟੂ ਵਾਟੂ"
+ },
+ "VND": {
+ "name": "ਵੀਅਤਨਾਮੀ ਡੋਂਗ",
+ "symbol": "₫"
+ },
+ "VEF": {
+ "name": "ਵੇਨੇਜ਼ੂਏਲਨ ਬੋਲੀਵਰ"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/pl.json b/vendor/commerceguys/intl/resources/currency/pl.json
new file mode 100644
index 000000000..c9991b1f3
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/pl.json
@@ -0,0 +1,483 @@
+{
+ "AFN": {
+ "name": "afgani"
+ },
+ "MGA": {
+ "name": "ariary malgaski"
+ },
+ "THB": {
+ "name": "baht tajski"
+ },
+ "PAB": {
+ "name": "balboa panamski"
+ },
+ "ETB": {
+ "name": "birr etiopski"
+ },
+ "BOB": {
+ "name": "boliviano"
+ },
+ "VEF": {
+ "name": "boliwar wenezuelski"
+ },
+ "GHS": {
+ "name": "cedi ghański"
+ },
+ "CRC": {
+ "name": "colon kostarykański"
+ },
+ "SVC": {
+ "name": "colon salwadorski"
+ },
+ "NIO": {
+ "name": "cordoba nikaraguańska"
+ },
+ "GMD": {
+ "name": "dalasi gambijskie"
+ },
+ "MKD": {
+ "name": "denar macedoński"
+ },
+ "DZD": {
+ "name": "dinar algierski"
+ },
+ "BHD": {
+ "name": "dinar bahrański"
+ },
+ "IQD": {
+ "name": "dinar iracki"
+ },
+ "JOD": {
+ "name": "dinar jordański"
+ },
+ "KWD": {
+ "name": "dinar kuwejcki"
+ },
+ "LYD": {
+ "name": "dinar libijski"
+ },
+ "RSD": {
+ "name": "dinar serbski"
+ },
+ "TND": {
+ "name": "dinar tunezyjski"
+ },
+ "AED": {
+ "name": "dirham arabski"
+ },
+ "MAD": {
+ "name": "dirham marokański"
+ },
+ "STD": {
+ "name": "dobra Wysp Świętego Tomasza i Książęcej"
+ },
+ "USD": {
+ "name": "dolar amerykański"
+ },
+ "AUD": {
+ "name": "dolar australijski"
+ },
+ "BSD": {
+ "name": "dolar bahamski"
+ },
+ "BBD": {
+ "name": "dolar Barbadosu"
+ },
+ "BZD": {
+ "name": "dolar belizeński"
+ },
+ "BMD": {
+ "name": "dolar bermudzki"
+ },
+ "BND": {
+ "name": "dolar brunejski"
+ },
+ "FJD": {
+ "name": "dolar fidżyjski"
+ },
+ "GYD": {
+ "name": "dolar gujański"
+ },
+ "HKD": {
+ "name": "dolar hongkoński"
+ },
+ "JMD": {
+ "name": "dolar jamajski"
+ },
+ "KYD": {
+ "name": "dolar kajmański"
+ },
+ "CAD": {
+ "name": "dolar kanadyjski"
+ },
+ "LRD": {
+ "name": "dolar liberyjski"
+ },
+ "NAD": {
+ "name": "dolar namibijski"
+ },
+ "NZD": {
+ "name": "dolar nowozelandzki"
+ },
+ "SGD": {
+ "name": "dolar singapurski"
+ },
+ "SRD": {
+ "name": "dolar surinamski"
+ },
+ "TTD": {
+ "name": "dolar Trynidadu i Tobago"
+ },
+ "XCD": {
+ "name": "dolar wschodniokaraibski",
+ "symbol": "EC$"
+ },
+ "SBD": {
+ "name": "dolar Wysp Salomona"
+ },
+ "ZWL": {
+ "name": "dolar Zimbabwe (2009)"
+ },
+ "VND": {
+ "name": "dong wietnamski"
+ },
+ "AMD": {
+ "name": "dram armeński"
+ },
+ "CVE": {
+ "name": "escudo zielonoprzylądkowe"
+ },
+ "EUR": {
+ "name": "euro",
+ "symbol": "€"
+ },
+ "AWG": {
+ "name": "florin arubański"
+ },
+ "HUF": {
+ "name": "forint węgierski"
+ },
+ "BIF": {
+ "name": "frank burundyjski"
+ },
+ "XOF": {
+ "name": "frank CFA",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "frank CFA BEAC",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "frank CFP",
+ "symbol": "CFPF"
+ },
+ "DJF": {
+ "name": "frank dżibutyjski"
+ },
+ "GNF": {
+ "name": "frank gwinejski"
+ },
+ "KMF": {
+ "name": "frank komoryjski"
+ },
+ "CDF": {
+ "name": "frank kongijski"
+ },
+ "RWF": {
+ "name": "frank ruandyjski"
+ },
+ "CHF": {
+ "name": "frank szwajcarski"
+ },
+ "EGP": {
+ "name": "funt egipski"
+ },
+ "FKP": {
+ "name": "funt falklandzki"
+ },
+ "GIP": {
+ "name": "funt gibraltarski"
+ },
+ "LBP": {
+ "name": "funt libański"
+ },
+ "SSP": {
+ "name": "funt południowosudański"
+ },
+ "SDG": {
+ "name": "funt sudański"
+ },
+ "SYP": {
+ "name": "funt syryjski"
+ },
+ "GBP": {
+ "name": "funt szterling"
+ },
+ "SHP": {
+ "name": "funt Wyspy Świętej Heleny"
+ },
+ "HTG": {
+ "name": "gourde haitańskie"
+ },
+ "PYG": {
+ "name": "guarani paragwajskie"
+ },
+ "ANG": {
+ "name": "gulden antylski"
+ },
+ "UAH": {
+ "name": "hrywna ukraińska"
+ },
+ "JPY": {
+ "name": "jen japoński"
+ },
+ "CNY": {
+ "name": "juan chiński"
+ },
+ "MMK": {
+ "name": "kiat birmański"
+ },
+ "PGK": {
+ "name": "kina Papua Nowa Gwinea"
+ },
+ "LAK": {
+ "name": "kip laotański"
+ },
+ "CZK": {
+ "name": "korona czeska"
+ },
+ "DKK": {
+ "name": "korona duńska"
+ },
+ "ISK": {
+ "name": "korona islandzka"
+ },
+ "NOK": {
+ "name": "korona norweska"
+ },
+ "SEK": {
+ "name": "korona szwedzka"
+ },
+ "HRK": {
+ "name": "kuna chorwacka"
+ },
+ "MWK": {
+ "name": "kwacha malawijska"
+ },
+ "ZMW": {
+ "name": "kwacha zambijska"
+ },
+ "AOA": {
+ "name": "kwanza angolańska"
+ },
+ "GEL": {
+ "name": "lari gruzińskie"
+ },
+ "MDL": {
+ "name": "lej mołdawski"
+ },
+ "RON": {
+ "name": "lej rumuński"
+ },
+ "ALL": {
+ "name": "lek albański"
+ },
+ "HNL": {
+ "name": "lempira honduraska"
+ },
+ "SLL": {
+ "name": "leone sierraleoński"
+ },
+ "BGN": {
+ "name": "lew bułgarski"
+ },
+ "SZL": {
+ "name": "lilangeni Suazi"
+ },
+ "TRY": {
+ "name": "lira turecka"
+ },
+ "LSL": {
+ "name": "loti Lesoto"
+ },
+ "AZN": {
+ "name": "manat azerski"
+ },
+ "TMT": {
+ "name": "manat turkmeński"
+ },
+ "BAM": {
+ "name": "marka zamienna Bośni i Hercegowiny"
+ },
+ "MZN": {
+ "name": "metical mozambicki"
+ },
+ "NGN": {
+ "name": "naira nigeryjska"
+ },
+ "ERN": {
+ "name": "nakfa erytrejska"
+ },
+ "BTN": {
+ "name": "ngultrum bhutański"
+ },
+ "TWD": {
+ "name": "nowy dolar tajwański"
+ },
+ "PEN": {
+ "name": "nowy sol peruwiański"
+ },
+ "ILS": {
+ "name": "nowy szekel izraelski"
+ },
+ "MRO": {
+ "name": "ouguiya mauretańska"
+ },
+ "TOP": {
+ "name": "pa’anga tongijska"
+ },
+ "MOP": {
+ "name": "pataca Makau"
+ },
+ "ARS": {
+ "name": "peso argentyńskie"
+ },
+ "CLP": {
+ "name": "peso chilijskie"
+ },
+ "DOP": {
+ "name": "peso dominikańskie"
+ },
+ "PHP": {
+ "name": "peso filipińskie"
+ },
+ "COP": {
+ "name": "peso kolumbijskie"
+ },
+ "CUP": {
+ "name": "peso kubańskie"
+ },
+ "CUC": {
+ "name": "peso kubańskie wymienialne"
+ },
+ "MXN": {
+ "name": "peso meksykańskie"
+ },
+ "UYU": {
+ "name": "peso urugwajskie"
+ },
+ "BWP": {
+ "name": "pula botswańska"
+ },
+ "GTQ": {
+ "name": "quetzal gwatemalski"
+ },
+ "ZAR": {
+ "name": "rand południowoafrykański"
+ },
+ "BRL": {
+ "name": "real brazylijski",
+ "symbol": "R$"
+ },
+ "IRR": {
+ "name": "rial irański"
+ },
+ "YER": {
+ "name": "rial jemeński"
+ },
+ "QAR": {
+ "name": "rial katarski"
+ },
+ "OMR": {
+ "name": "rial omański"
+ },
+ "SAR": {
+ "name": "rial saudyjski"
+ },
+ "KHR": {
+ "name": "riel kambodżański"
+ },
+ "MYR": {
+ "name": "ringgit malezyjski"
+ },
+ "BYN": {
+ "name": "rubel białoruski"
+ },
+ "BYR": {
+ "name": "rubel białoruski (2000–2016)"
+ },
+ "RUB": {
+ "name": "rubel rosyjski"
+ },
+ "IDR": {
+ "name": "rupia indonezyjska"
+ },
+ "INR": {
+ "name": "rupia indyjska"
+ },
+ "LKR": {
+ "name": "rupia lankijska"
+ },
+ "MVR": {
+ "name": "rupia malediwska"
+ },
+ "MUR": {
+ "name": "rupia maurytyjska"
+ },
+ "NPR": {
+ "name": "rupia nepalska"
+ },
+ "PKR": {
+ "name": "rupia pakistańska"
+ },
+ "SCR": {
+ "name": "rupia seszelska"
+ },
+ "KGS": {
+ "name": "som kirgiski"
+ },
+ "UZS": {
+ "name": "som uzbecki"
+ },
+ "TJS": {
+ "name": "somoni tadżyckie"
+ },
+ "KES": {
+ "name": "szyling kenijski"
+ },
+ "SOS": {
+ "name": "szyling somalijski"
+ },
+ "TZS": {
+ "name": "szyling tanzański"
+ },
+ "UGX": {
+ "name": "szyling ugandyjski"
+ },
+ "BDT": {
+ "name": "taka bengalska"
+ },
+ "WST": {
+ "name": "tala samoańskie"
+ },
+ "KZT": {
+ "name": "tenge kazachskie"
+ },
+ "MNT": {
+ "name": "tugrik mongolski"
+ },
+ "VUV": {
+ "name": "vatu wanuackie"
+ },
+ "KRW": {
+ "name": "won południowokoreański"
+ },
+ "KPW": {
+ "name": "won północnokoreański"
+ },
+ "PLN": {
+ "name": "złoty polski",
+ "symbol": "zł"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/pt-AO.json b/vendor/commerceguys/intl/resources/currency/pt-AO.json
new file mode 100644
index 000000000..7c949e7aa
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/pt-AO.json
@@ -0,0 +1,498 @@
+{
+ "AFN": {
+ "name": "Afegani do Afeganistão"
+ },
+ "MGA": {
+ "name": "Ariari de Madagáscar"
+ },
+ "THB": {
+ "name": "Baht da Tailândia",
+ "symbol": "฿"
+ },
+ "PAB": {
+ "name": "Balboa do Panamá"
+ },
+ "ETB": {
+ "name": "Birr etíope"
+ },
+ "VEF": {
+ "name": "Bolívar venezuelano"
+ },
+ "BOB": {
+ "name": "Boliviano"
+ },
+ "GHS": {
+ "name": "Cedi de Gana"
+ },
+ "SVC": {
+ "name": "Colom salvadorenho"
+ },
+ "CRC": {
+ "name": "Colon costa-riquenho"
+ },
+ "NIO": {
+ "name": "Córdoba nicaraguano"
+ },
+ "CZK": {
+ "name": "Coroa checa"
+ },
+ "DKK": {
+ "name": "Coroa dinamarquesa"
+ },
+ "ISK": {
+ "name": "Coroa islandesa"
+ },
+ "NOK": {
+ "name": "Coroa norueguesa"
+ },
+ "SEK": {
+ "name": "Coroa sueca"
+ },
+ "GMD": {
+ "name": "Dalasi da Gâmbia"
+ },
+ "DZD": {
+ "name": "Dinar argelino"
+ },
+ "BHD": {
+ "name": "Dinar baremita"
+ },
+ "IQD": {
+ "name": "Dinar iraquiano"
+ },
+ "JOD": {
+ "name": "Dinar jordaniano"
+ },
+ "KWD": {
+ "name": "Dinar kuwaitiano"
+ },
+ "LYD": {
+ "name": "Dinar líbio"
+ },
+ "MKD": {
+ "name": "Dinar macedónio"
+ },
+ "RSD": {
+ "name": "Dinar sérvio"
+ },
+ "TND": {
+ "name": "Dinar tunisino"
+ },
+ "AED": {
+ "name": "Dirham dos Emirados Árabes Unidos"
+ },
+ "MAD": {
+ "name": "Dirham marroquino"
+ },
+ "STD": {
+ "name": "Dobra de São Tomé e Príncipe"
+ },
+ "AUD": {
+ "name": "Dólar australiano",
+ "symbol": "AU$"
+ },
+ "BBD": {
+ "name": "Dólar barbadense"
+ },
+ "BZD": {
+ "name": "Dólar belizense"
+ },
+ "BMD": {
+ "name": "Dólar bermudense"
+ },
+ "BND": {
+ "name": "Dólar bruneíno"
+ },
+ "CAD": {
+ "name": "Dólar canadiano",
+ "symbol": "CA$"
+ },
+ "GYD": {
+ "name": "Dólar da Guiana"
+ },
+ "NAD": {
+ "name": "Dólar da Namíbia"
+ },
+ "BSD": {
+ "name": "Dólar das Bahamas"
+ },
+ "XCD": {
+ "name": "Dólar das Caraíbas Orientais",
+ "symbol": "EC$"
+ },
+ "KYD": {
+ "name": "Dólar das Ilhas Caimão"
+ },
+ "SBD": {
+ "name": "Dólar das Ilhas Salomão"
+ },
+ "FJD": {
+ "name": "Dólar de Fiji"
+ },
+ "HKD": {
+ "name": "Dólar de Hong Kong",
+ "symbol": "HK$"
+ },
+ "SGD": {
+ "name": "Dólar de Singapura"
+ },
+ "TTD": {
+ "name": "Dólar de Trindade e Tobago"
+ },
+ "SRD": {
+ "name": "Dólar do Suriname"
+ },
+ "ZWL": {
+ "name": "Dólar do Zimbábue (2009)"
+ },
+ "USD": {
+ "name": "Dólar dos Estados Unidos",
+ "symbol": "US$"
+ },
+ "JMD": {
+ "name": "Dólar jamaicano"
+ },
+ "LRD": {
+ "name": "Dólar liberiano"
+ },
+ "NZD": {
+ "name": "Dólar neozelandês",
+ "symbol": "NZ$"
+ },
+ "VND": {
+ "name": "Dong vietnamita",
+ "symbol": "₫"
+ },
+ "AMD": {
+ "name": "Dram arménio"
+ },
+ "CVE": {
+ "name": "Escudo cabo-verdiano"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "ANG": {
+ "name": "Florim das Antilhas Holandesas"
+ },
+ "AWG": {
+ "name": "Florim de Aruba"
+ },
+ "HUF": {
+ "name": "Forint húngaro"
+ },
+ "BIF": {
+ "name": "Franco burundiano"
+ },
+ "XOF": {
+ "name": "Franco CFA (BCEAO)",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Franco CFA (BEAC)",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "Franco CFP",
+ "symbol": "CFPF"
+ },
+ "KMF": {
+ "name": "Franco comoriano"
+ },
+ "CDF": {
+ "name": "Franco congolês"
+ },
+ "GNF": {
+ "name": "Franco guineense"
+ },
+ "DJF": {
+ "name": "Franco jibutiano"
+ },
+ "RWF": {
+ "name": "Franco ruandês"
+ },
+ "CHF": {
+ "name": "Franco suíço"
+ },
+ "HTG": {
+ "name": "Gourde haitiano"
+ },
+ "PYG": {
+ "name": "Guarani paraguaio"
+ },
+ "UAH": {
+ "name": "Hryvnia da Ucrânia"
+ },
+ "JPY": {
+ "name": "Iene japonês",
+ "symbol": "JP¥"
+ },
+ "PGK": {
+ "name": "Kina da Papua-Nova Guiné"
+ },
+ "LAK": {
+ "name": "Kip de Laos"
+ },
+ "HRK": {
+ "name": "Kuna croata"
+ },
+ "MWK": {
+ "name": "Kwacha do Malawi"
+ },
+ "ZMW": {
+ "name": "Kwacha zambiano"
+ },
+ "AOA": {
+ "name": "Kwanza angolano",
+ "symbol": "Kz"
+ },
+ "MMK": {
+ "name": "Kyat de Mianmar"
+ },
+ "GEL": {
+ "name": "Lari georgiano"
+ },
+ "ALL": {
+ "name": "Lek albanês"
+ },
+ "HNL": {
+ "name": "Lempira das Honduras"
+ },
+ "SLL": {
+ "name": "Leone de Serra Leoa"
+ },
+ "MDL": {
+ "name": "Leu moldavo"
+ },
+ "RON": {
+ "name": "Leu romeno"
+ },
+ "BGN": {
+ "name": "Lev búlgaro"
+ },
+ "FKP": {
+ "name": "Libra das Ilhas Falkland"
+ },
+ "GIP": {
+ "name": "Libra de Gibraltar"
+ },
+ "SHP": {
+ "name": "Libra de Santa Helena"
+ },
+ "EGP": {
+ "name": "Libra egípcia"
+ },
+ "GBP": {
+ "name": "Libra esterlina britânica",
+ "symbol": "£"
+ },
+ "LBP": {
+ "name": "Libra libanesa"
+ },
+ "SYP": {
+ "name": "Libra síria"
+ },
+ "SDG": {
+ "name": "Libra sudanesa"
+ },
+ "SSP": {
+ "name": "Libra sul-sudanesa"
+ },
+ "SZL": {
+ "name": "Lilangeni da Suazilândia"
+ },
+ "TRY": {
+ "name": "Lira turca"
+ },
+ "LSL": {
+ "name": "Loti do Lesoto"
+ },
+ "AZN": {
+ "name": "Manat do Azerbaijão"
+ },
+ "TMT": {
+ "name": "Manat do Turquemenistão"
+ },
+ "BAM": {
+ "name": "Marco bósnio-herzegóvino conversível"
+ },
+ "MZN": {
+ "name": "Metical de Moçambique"
+ },
+ "NGN": {
+ "name": "Naira nigeriana"
+ },
+ "ERN": {
+ "name": "Nakfa da Eritreia"
+ },
+ "BTN": {
+ "name": "Ngultrum do Butão"
+ },
+ "TWD": {
+ "name": "Novo dólar taiwanês",
+ "symbol": "NT$"
+ },
+ "PEN": {
+ "name": "Novo sol peruano"
+ },
+ "MRO": {
+ "name": "Ouguiya da Mauritânia"
+ },
+ "TOP": {
+ "name": "Paʻanga de Tonga"
+ },
+ "MOP": {
+ "name": "Pataca de Macau"
+ },
+ "ARS": {
+ "name": "Peso argentino"
+ },
+ "CLP": {
+ "name": "Peso chileno"
+ },
+ "COP": {
+ "name": "Peso colombiano"
+ },
+ "CUP": {
+ "name": "Peso cubano"
+ },
+ "CUC": {
+ "name": "Peso cubano conversível"
+ },
+ "DOP": {
+ "name": "Peso dominicano"
+ },
+ "PHP": {
+ "name": "Peso filipino"
+ },
+ "MXN": {
+ "name": "Peso mexicano",
+ "symbol": "MX$"
+ },
+ "UYU": {
+ "name": "Peso uruguaio"
+ },
+ "BWP": {
+ "name": "Pula de Botswana"
+ },
+ "GTQ": {
+ "name": "Quetzal da Guatemala"
+ },
+ "ZAR": {
+ "name": "Rand sul-africano"
+ },
+ "BRL": {
+ "name": "Real brasileiro",
+ "symbol": "R$"
+ },
+ "OMR": {
+ "name": "Rial de Omã"
+ },
+ "QAR": {
+ "name": "Rial do Catar"
+ },
+ "YER": {
+ "name": "Rial iemenita"
+ },
+ "IRR": {
+ "name": "Rial iraniano"
+ },
+ "SAR": {
+ "name": "Rial saudita"
+ },
+ "KHR": {
+ "name": "Riel cambojano"
+ },
+ "MYR": {
+ "name": "Ringgit malaio"
+ },
+ "BYN": {
+ "name": "Rublo bielorrusso"
+ },
+ "BYR": {
+ "name": "Rublo bielorrusso (2000–2016)"
+ },
+ "RUB": {
+ "name": "Rublo russo"
+ },
+ "MVR": {
+ "name": "Rupia das Ilhas Maldivas"
+ },
+ "LKR": {
+ "name": "Rupia do Sri Lanka"
+ },
+ "INR": {
+ "name": "Rupia indiana",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Rupia indonésia"
+ },
+ "MUR": {
+ "name": "Rupia mauriciana"
+ },
+ "NPR": {
+ "name": "Rupia nepalesa"
+ },
+ "PKR": {
+ "name": "Rupia paquistanesa"
+ },
+ "SCR": {
+ "name": "Rupia seichelense"
+ },
+ "ILS": {
+ "name": "Sheqel novo israelita",
+ "symbol": "₪"
+ },
+ "KGS": {
+ "name": "Som do Quirguistão"
+ },
+ "UZS": {
+ "name": "Som do Uzbequistão"
+ },
+ "TJS": {
+ "name": "Somoni do Tajaquistão"
+ },
+ "BDT": {
+ "name": "Taka de Bangladesh"
+ },
+ "WST": {
+ "name": "Tala samoano"
+ },
+ "KZT": {
+ "name": "Tenge do Cazaquistão"
+ },
+ "MNT": {
+ "name": "Tugrik da Mongólia"
+ },
+ "VUV": {
+ "name": "Vatu de Vanuatu"
+ },
+ "KPW": {
+ "name": "Won norte-coreano"
+ },
+ "KRW": {
+ "name": "Won sul-coreano",
+ "symbol": "₩"
+ },
+ "KES": {
+ "name": "Xelim queniano"
+ },
+ "SOS": {
+ "name": "Xelim somali"
+ },
+ "TZS": {
+ "name": "Xelim tanzaniano"
+ },
+ "UGX": {
+ "name": "Xelim ugandense"
+ },
+ "CNY": {
+ "name": "Yuan chinês",
+ "symbol": "CN¥"
+ },
+ "PLN": {
+ "name": "Zloti polaco"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/pt-CH.json b/vendor/commerceguys/intl/resources/currency/pt-CH.json
new file mode 100644
index 000000000..e554f1fe6
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/pt-CH.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afegani do Afeganistão"
+ },
+ "MGA": {
+ "name": "Ariari de Madagáscar"
+ },
+ "THB": {
+ "name": "Baht da Tailândia",
+ "symbol": "฿"
+ },
+ "PAB": {
+ "name": "Balboa do Panamá"
+ },
+ "ETB": {
+ "name": "Birr etíope"
+ },
+ "VEF": {
+ "name": "Bolívar venezuelano"
+ },
+ "BOB": {
+ "name": "Boliviano"
+ },
+ "GHS": {
+ "name": "Cedi de Gana"
+ },
+ "SVC": {
+ "name": "Colom salvadorenho"
+ },
+ "CRC": {
+ "name": "Colon costa-riquenho"
+ },
+ "NIO": {
+ "name": "Córdoba nicaraguano"
+ },
+ "CZK": {
+ "name": "Coroa checa"
+ },
+ "DKK": {
+ "name": "Coroa dinamarquesa"
+ },
+ "ISK": {
+ "name": "Coroa islandesa"
+ },
+ "NOK": {
+ "name": "Coroa norueguesa"
+ },
+ "SEK": {
+ "name": "Coroa sueca"
+ },
+ "GMD": {
+ "name": "Dalasi da Gâmbia"
+ },
+ "DZD": {
+ "name": "Dinar argelino"
+ },
+ "BHD": {
+ "name": "Dinar baremita"
+ },
+ "IQD": {
+ "name": "Dinar iraquiano"
+ },
+ "JOD": {
+ "name": "Dinar jordaniano"
+ },
+ "KWD": {
+ "name": "Dinar kuwaitiano"
+ },
+ "LYD": {
+ "name": "Dinar líbio"
+ },
+ "MKD": {
+ "name": "Dinar macedónio"
+ },
+ "RSD": {
+ "name": "Dinar sérvio"
+ },
+ "TND": {
+ "name": "Dinar tunisino"
+ },
+ "AED": {
+ "name": "Dirham dos Emirados Árabes Unidos"
+ },
+ "MAD": {
+ "name": "Dirham marroquino"
+ },
+ "STD": {
+ "name": "Dobra de São Tomé e Príncipe"
+ },
+ "AUD": {
+ "name": "Dólar australiano",
+ "symbol": "AU$"
+ },
+ "BBD": {
+ "name": "Dólar barbadense"
+ },
+ "BZD": {
+ "name": "Dólar belizense"
+ },
+ "BMD": {
+ "name": "Dólar bermudense"
+ },
+ "BND": {
+ "name": "Dólar bruneíno"
+ },
+ "CAD": {
+ "name": "Dólar canadiano",
+ "symbol": "CA$"
+ },
+ "GYD": {
+ "name": "Dólar da Guiana"
+ },
+ "NAD": {
+ "name": "Dólar da Namíbia"
+ },
+ "BSD": {
+ "name": "Dólar das Bahamas"
+ },
+ "XCD": {
+ "name": "Dólar das Caraíbas Orientais",
+ "symbol": "EC$"
+ },
+ "KYD": {
+ "name": "Dólar das Ilhas Caimão"
+ },
+ "SBD": {
+ "name": "Dólar das Ilhas Salomão"
+ },
+ "FJD": {
+ "name": "Dólar de Fiji"
+ },
+ "HKD": {
+ "name": "Dólar de Hong Kong",
+ "symbol": "HK$"
+ },
+ "SGD": {
+ "name": "Dólar de Singapura"
+ },
+ "TTD": {
+ "name": "Dólar de Trindade e Tobago"
+ },
+ "SRD": {
+ "name": "Dólar do Suriname"
+ },
+ "ZWL": {
+ "name": "Dólar do Zimbábue (2009)"
+ },
+ "USD": {
+ "name": "Dólar dos Estados Unidos",
+ "symbol": "US$"
+ },
+ "JMD": {
+ "name": "Dólar jamaicano"
+ },
+ "LRD": {
+ "name": "Dólar liberiano"
+ },
+ "NZD": {
+ "name": "Dólar neozelandês",
+ "symbol": "NZ$"
+ },
+ "VND": {
+ "name": "Dong vietnamita",
+ "symbol": "₫"
+ },
+ "AMD": {
+ "name": "Dram arménio"
+ },
+ "CVE": {
+ "name": "Escudo cabo-verdiano"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "ANG": {
+ "name": "Florim das Antilhas Holandesas"
+ },
+ "AWG": {
+ "name": "Florim de Aruba"
+ },
+ "HUF": {
+ "name": "Forint húngaro"
+ },
+ "BIF": {
+ "name": "Franco burundiano"
+ },
+ "XOF": {
+ "name": "Franco CFA (BCEAO)",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Franco CFA (BEAC)",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "Franco CFP",
+ "symbol": "CFPF"
+ },
+ "KMF": {
+ "name": "Franco comoriano"
+ },
+ "CDF": {
+ "name": "Franco congolês"
+ },
+ "GNF": {
+ "name": "Franco guineense"
+ },
+ "DJF": {
+ "name": "Franco jibutiano"
+ },
+ "RWF": {
+ "name": "Franco ruandês"
+ },
+ "CHF": {
+ "name": "Franco suíço"
+ },
+ "HTG": {
+ "name": "Gourde haitiano"
+ },
+ "PYG": {
+ "name": "Guarani paraguaio"
+ },
+ "UAH": {
+ "name": "Hryvnia da Ucrânia"
+ },
+ "JPY": {
+ "name": "Iene japonês",
+ "symbol": "JP¥"
+ },
+ "PGK": {
+ "name": "Kina da Papua-Nova Guiné"
+ },
+ "LAK": {
+ "name": "Kip de Laos"
+ },
+ "HRK": {
+ "name": "Kuna croata"
+ },
+ "MWK": {
+ "name": "Kwacha do Malawi"
+ },
+ "ZMW": {
+ "name": "Kwacha zambiano"
+ },
+ "AOA": {
+ "name": "Kwanza angolano"
+ },
+ "MMK": {
+ "name": "Kyat de Mianmar"
+ },
+ "GEL": {
+ "name": "Lari georgiano"
+ },
+ "ALL": {
+ "name": "Lek albanês"
+ },
+ "HNL": {
+ "name": "Lempira das Honduras"
+ },
+ "SLL": {
+ "name": "Leone de Serra Leoa"
+ },
+ "MDL": {
+ "name": "Leu moldavo"
+ },
+ "RON": {
+ "name": "Leu romeno"
+ },
+ "BGN": {
+ "name": "Lev búlgaro"
+ },
+ "FKP": {
+ "name": "Libra das Ilhas Falkland"
+ },
+ "GIP": {
+ "name": "Libra de Gibraltar"
+ },
+ "SHP": {
+ "name": "Libra de Santa Helena"
+ },
+ "EGP": {
+ "name": "Libra egípcia"
+ },
+ "GBP": {
+ "name": "Libra esterlina britânica",
+ "symbol": "£"
+ },
+ "LBP": {
+ "name": "Libra libanesa"
+ },
+ "SYP": {
+ "name": "Libra síria"
+ },
+ "SDG": {
+ "name": "Libra sudanesa"
+ },
+ "SSP": {
+ "name": "Libra sul-sudanesa"
+ },
+ "SZL": {
+ "name": "Lilangeni da Suazilândia"
+ },
+ "TRY": {
+ "name": "Lira turca"
+ },
+ "LSL": {
+ "name": "Loti do Lesoto"
+ },
+ "AZN": {
+ "name": "Manat do Azerbaijão"
+ },
+ "TMT": {
+ "name": "Manat do Turquemenistão"
+ },
+ "BAM": {
+ "name": "Marco bósnio-herzegóvino conversível"
+ },
+ "MZN": {
+ "name": "Metical de Moçambique"
+ },
+ "NGN": {
+ "name": "Naira nigeriana"
+ },
+ "ERN": {
+ "name": "Nakfa da Eritreia"
+ },
+ "BTN": {
+ "name": "Ngultrum do Butão"
+ },
+ "TWD": {
+ "name": "Novo dólar taiwanês",
+ "symbol": "NT$"
+ },
+ "PEN": {
+ "name": "Novo sol peruano"
+ },
+ "MRO": {
+ "name": "Ouguiya da Mauritânia"
+ },
+ "TOP": {
+ "name": "Paʻanga de Tonga"
+ },
+ "MOP": {
+ "name": "Pataca de Macau"
+ },
+ "ARS": {
+ "name": "Peso argentino"
+ },
+ "CLP": {
+ "name": "Peso chileno"
+ },
+ "COP": {
+ "name": "Peso colombiano"
+ },
+ "CUP": {
+ "name": "Peso cubano"
+ },
+ "CUC": {
+ "name": "Peso cubano conversível"
+ },
+ "DOP": {
+ "name": "Peso dominicano"
+ },
+ "PHP": {
+ "name": "Peso filipino"
+ },
+ "MXN": {
+ "name": "Peso mexicano",
+ "symbol": "MX$"
+ },
+ "UYU": {
+ "name": "Peso uruguaio"
+ },
+ "BWP": {
+ "name": "Pula de Botswana"
+ },
+ "GTQ": {
+ "name": "Quetzal da Guatemala"
+ },
+ "ZAR": {
+ "name": "Rand sul-africano"
+ },
+ "BRL": {
+ "name": "Real brasileiro",
+ "symbol": "R$"
+ },
+ "OMR": {
+ "name": "Rial de Omã"
+ },
+ "QAR": {
+ "name": "Rial do Catar"
+ },
+ "YER": {
+ "name": "Rial iemenita"
+ },
+ "IRR": {
+ "name": "Rial iraniano"
+ },
+ "SAR": {
+ "name": "Rial saudita"
+ },
+ "KHR": {
+ "name": "Riel cambojano"
+ },
+ "MYR": {
+ "name": "Ringgit malaio"
+ },
+ "BYN": {
+ "name": "Rublo bielorrusso"
+ },
+ "BYR": {
+ "name": "Rublo bielorrusso (2000–2016)"
+ },
+ "RUB": {
+ "name": "Rublo russo"
+ },
+ "MVR": {
+ "name": "Rupia das Ilhas Maldivas"
+ },
+ "LKR": {
+ "name": "Rupia do Sri Lanka"
+ },
+ "INR": {
+ "name": "Rupia indiana",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Rupia indonésia"
+ },
+ "MUR": {
+ "name": "Rupia mauriciana"
+ },
+ "NPR": {
+ "name": "Rupia nepalesa"
+ },
+ "PKR": {
+ "name": "Rupia paquistanesa"
+ },
+ "SCR": {
+ "name": "Rupia seichelense"
+ },
+ "ILS": {
+ "name": "Sheqel novo israelita",
+ "symbol": "₪"
+ },
+ "KGS": {
+ "name": "Som do Quirguistão"
+ },
+ "UZS": {
+ "name": "Som do Uzbequistão"
+ },
+ "TJS": {
+ "name": "Somoni do Tajaquistão"
+ },
+ "BDT": {
+ "name": "Taka de Bangladesh"
+ },
+ "WST": {
+ "name": "Tala samoano"
+ },
+ "KZT": {
+ "name": "Tenge do Cazaquistão"
+ },
+ "MNT": {
+ "name": "Tugrik da Mongólia"
+ },
+ "VUV": {
+ "name": "Vatu de Vanuatu"
+ },
+ "KPW": {
+ "name": "Won norte-coreano"
+ },
+ "KRW": {
+ "name": "Won sul-coreano",
+ "symbol": "₩"
+ },
+ "KES": {
+ "name": "Xelim queniano"
+ },
+ "SOS": {
+ "name": "Xelim somali"
+ },
+ "TZS": {
+ "name": "Xelim tanzaniano"
+ },
+ "UGX": {
+ "name": "Xelim ugandense"
+ },
+ "CNY": {
+ "name": "Yuan chinês",
+ "symbol": "CN¥"
+ },
+ "PLN": {
+ "name": "Zloti polaco"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/pt-CV.json b/vendor/commerceguys/intl/resources/currency/pt-CV.json
new file mode 100644
index 000000000..0eea46f61
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/pt-CV.json
@@ -0,0 +1,498 @@
+{
+ "AFN": {
+ "name": "Afegani do Afeganistão"
+ },
+ "MGA": {
+ "name": "Ariari de Madagáscar"
+ },
+ "THB": {
+ "name": "Baht da Tailândia",
+ "symbol": "฿"
+ },
+ "PAB": {
+ "name": "Balboa do Panamá"
+ },
+ "ETB": {
+ "name": "Birr etíope"
+ },
+ "VEF": {
+ "name": "Bolívar venezuelano"
+ },
+ "BOB": {
+ "name": "Boliviano"
+ },
+ "GHS": {
+ "name": "Cedi de Gana"
+ },
+ "SVC": {
+ "name": "Colom salvadorenho"
+ },
+ "CRC": {
+ "name": "Colon costa-riquenho"
+ },
+ "NIO": {
+ "name": "Córdoba nicaraguano"
+ },
+ "CZK": {
+ "name": "Coroa checa"
+ },
+ "DKK": {
+ "name": "Coroa dinamarquesa"
+ },
+ "ISK": {
+ "name": "Coroa islandesa"
+ },
+ "NOK": {
+ "name": "Coroa norueguesa"
+ },
+ "SEK": {
+ "name": "Coroa sueca"
+ },
+ "GMD": {
+ "name": "Dalasi da Gâmbia"
+ },
+ "DZD": {
+ "name": "Dinar argelino"
+ },
+ "BHD": {
+ "name": "Dinar baremita"
+ },
+ "IQD": {
+ "name": "Dinar iraquiano"
+ },
+ "JOD": {
+ "name": "Dinar jordaniano"
+ },
+ "KWD": {
+ "name": "Dinar kuwaitiano"
+ },
+ "LYD": {
+ "name": "Dinar líbio"
+ },
+ "MKD": {
+ "name": "Dinar macedónio"
+ },
+ "RSD": {
+ "name": "Dinar sérvio"
+ },
+ "TND": {
+ "name": "Dinar tunisino"
+ },
+ "AED": {
+ "name": "Dirham dos Emirados Árabes Unidos"
+ },
+ "MAD": {
+ "name": "Dirham marroquino"
+ },
+ "STD": {
+ "name": "Dobra de São Tomé e Príncipe"
+ },
+ "AUD": {
+ "name": "Dólar australiano",
+ "symbol": "AU$"
+ },
+ "BBD": {
+ "name": "Dólar barbadense"
+ },
+ "BZD": {
+ "name": "Dólar belizense"
+ },
+ "BMD": {
+ "name": "Dólar bermudense"
+ },
+ "BND": {
+ "name": "Dólar bruneíno"
+ },
+ "CAD": {
+ "name": "Dólar canadiano",
+ "symbol": "CA$"
+ },
+ "GYD": {
+ "name": "Dólar da Guiana"
+ },
+ "NAD": {
+ "name": "Dólar da Namíbia"
+ },
+ "BSD": {
+ "name": "Dólar das Bahamas"
+ },
+ "XCD": {
+ "name": "Dólar das Caraíbas Orientais",
+ "symbol": "EC$"
+ },
+ "KYD": {
+ "name": "Dólar das Ilhas Caimão"
+ },
+ "SBD": {
+ "name": "Dólar das Ilhas Salomão"
+ },
+ "FJD": {
+ "name": "Dólar de Fiji"
+ },
+ "HKD": {
+ "name": "Dólar de Hong Kong",
+ "symbol": "HK$"
+ },
+ "SGD": {
+ "name": "Dólar de Singapura"
+ },
+ "TTD": {
+ "name": "Dólar de Trindade e Tobago"
+ },
+ "SRD": {
+ "name": "Dólar do Suriname"
+ },
+ "ZWL": {
+ "name": "Dólar do Zimbábue (2009)"
+ },
+ "USD": {
+ "name": "Dólar dos Estados Unidos",
+ "symbol": "US$"
+ },
+ "JMD": {
+ "name": "Dólar jamaicano"
+ },
+ "LRD": {
+ "name": "Dólar liberiano"
+ },
+ "NZD": {
+ "name": "Dólar neozelandês",
+ "symbol": "NZ$"
+ },
+ "VND": {
+ "name": "Dong vietnamita",
+ "symbol": "₫"
+ },
+ "AMD": {
+ "name": "Dram arménio"
+ },
+ "CVE": {
+ "name": "Escudo cabo-verdiano",
+ "symbol": "​"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "ANG": {
+ "name": "Florim das Antilhas Holandesas"
+ },
+ "AWG": {
+ "name": "Florim de Aruba"
+ },
+ "HUF": {
+ "name": "Forint húngaro"
+ },
+ "BIF": {
+ "name": "Franco burundiano"
+ },
+ "XOF": {
+ "name": "Franco CFA (BCEAO)",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Franco CFA (BEAC)",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "Franco CFP",
+ "symbol": "CFPF"
+ },
+ "KMF": {
+ "name": "Franco comoriano"
+ },
+ "CDF": {
+ "name": "Franco congolês"
+ },
+ "GNF": {
+ "name": "Franco guineense"
+ },
+ "DJF": {
+ "name": "Franco jibutiano"
+ },
+ "RWF": {
+ "name": "Franco ruandês"
+ },
+ "CHF": {
+ "name": "Franco suíço"
+ },
+ "HTG": {
+ "name": "Gourde haitiano"
+ },
+ "PYG": {
+ "name": "Guarani paraguaio"
+ },
+ "UAH": {
+ "name": "Hryvnia da Ucrânia"
+ },
+ "JPY": {
+ "name": "Iene japonês",
+ "symbol": "JP¥"
+ },
+ "PGK": {
+ "name": "Kina da Papua-Nova Guiné"
+ },
+ "LAK": {
+ "name": "Kip de Laos"
+ },
+ "HRK": {
+ "name": "Kuna croata"
+ },
+ "MWK": {
+ "name": "Kwacha do Malawi"
+ },
+ "ZMW": {
+ "name": "Kwacha zambiano"
+ },
+ "AOA": {
+ "name": "Kwanza angolano"
+ },
+ "MMK": {
+ "name": "Kyat de Mianmar"
+ },
+ "GEL": {
+ "name": "Lari georgiano"
+ },
+ "ALL": {
+ "name": "Lek albanês"
+ },
+ "HNL": {
+ "name": "Lempira das Honduras"
+ },
+ "SLL": {
+ "name": "Leone de Serra Leoa"
+ },
+ "MDL": {
+ "name": "Leu moldavo"
+ },
+ "RON": {
+ "name": "Leu romeno"
+ },
+ "BGN": {
+ "name": "Lev búlgaro"
+ },
+ "FKP": {
+ "name": "Libra das Ilhas Falkland"
+ },
+ "GIP": {
+ "name": "Libra de Gibraltar"
+ },
+ "SHP": {
+ "name": "Libra de Santa Helena"
+ },
+ "EGP": {
+ "name": "Libra egípcia"
+ },
+ "GBP": {
+ "name": "Libra esterlina britânica",
+ "symbol": "£"
+ },
+ "LBP": {
+ "name": "Libra libanesa"
+ },
+ "SYP": {
+ "name": "Libra síria"
+ },
+ "SDG": {
+ "name": "Libra sudanesa"
+ },
+ "SSP": {
+ "name": "Libra sul-sudanesa"
+ },
+ "SZL": {
+ "name": "Lilangeni da Suazilândia"
+ },
+ "TRY": {
+ "name": "Lira turca"
+ },
+ "LSL": {
+ "name": "Loti do Lesoto"
+ },
+ "AZN": {
+ "name": "Manat do Azerbaijão"
+ },
+ "TMT": {
+ "name": "Manat do Turquemenistão"
+ },
+ "BAM": {
+ "name": "Marco bósnio-herzegóvino conversível"
+ },
+ "MZN": {
+ "name": "Metical de Moçambique"
+ },
+ "NGN": {
+ "name": "Naira nigeriana"
+ },
+ "ERN": {
+ "name": "Nakfa da Eritreia"
+ },
+ "BTN": {
+ "name": "Ngultrum do Butão"
+ },
+ "TWD": {
+ "name": "Novo dólar taiwanês",
+ "symbol": "NT$"
+ },
+ "PEN": {
+ "name": "Novo sol peruano"
+ },
+ "MRO": {
+ "name": "Ouguiya da Mauritânia"
+ },
+ "TOP": {
+ "name": "Paʻanga de Tonga"
+ },
+ "MOP": {
+ "name": "Pataca de Macau"
+ },
+ "ARS": {
+ "name": "Peso argentino"
+ },
+ "CLP": {
+ "name": "Peso chileno"
+ },
+ "COP": {
+ "name": "Peso colombiano"
+ },
+ "CUP": {
+ "name": "Peso cubano"
+ },
+ "CUC": {
+ "name": "Peso cubano conversível"
+ },
+ "DOP": {
+ "name": "Peso dominicano"
+ },
+ "PHP": {
+ "name": "Peso filipino"
+ },
+ "MXN": {
+ "name": "Peso mexicano",
+ "symbol": "MX$"
+ },
+ "UYU": {
+ "name": "Peso uruguaio"
+ },
+ "BWP": {
+ "name": "Pula de Botswana"
+ },
+ "GTQ": {
+ "name": "Quetzal da Guatemala"
+ },
+ "ZAR": {
+ "name": "Rand sul-africano"
+ },
+ "BRL": {
+ "name": "Real brasileiro",
+ "symbol": "R$"
+ },
+ "OMR": {
+ "name": "Rial de Omã"
+ },
+ "QAR": {
+ "name": "Rial do Catar"
+ },
+ "YER": {
+ "name": "Rial iemenita"
+ },
+ "IRR": {
+ "name": "Rial iraniano"
+ },
+ "SAR": {
+ "name": "Rial saudita"
+ },
+ "KHR": {
+ "name": "Riel cambojano"
+ },
+ "MYR": {
+ "name": "Ringgit malaio"
+ },
+ "BYN": {
+ "name": "Rublo bielorrusso"
+ },
+ "BYR": {
+ "name": "Rublo bielorrusso (2000–2016)"
+ },
+ "RUB": {
+ "name": "Rublo russo"
+ },
+ "MVR": {
+ "name": "Rupia das Ilhas Maldivas"
+ },
+ "LKR": {
+ "name": "Rupia do Sri Lanka"
+ },
+ "INR": {
+ "name": "Rupia indiana",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Rupia indonésia"
+ },
+ "MUR": {
+ "name": "Rupia mauriciana"
+ },
+ "NPR": {
+ "name": "Rupia nepalesa"
+ },
+ "PKR": {
+ "name": "Rupia paquistanesa"
+ },
+ "SCR": {
+ "name": "Rupia seichelense"
+ },
+ "ILS": {
+ "name": "Sheqel novo israelita",
+ "symbol": "₪"
+ },
+ "KGS": {
+ "name": "Som do Quirguistão"
+ },
+ "UZS": {
+ "name": "Som do Uzbequistão"
+ },
+ "TJS": {
+ "name": "Somoni do Tajaquistão"
+ },
+ "BDT": {
+ "name": "Taka de Bangladesh"
+ },
+ "WST": {
+ "name": "Tala samoano"
+ },
+ "KZT": {
+ "name": "Tenge do Cazaquistão"
+ },
+ "MNT": {
+ "name": "Tugrik da Mongólia"
+ },
+ "VUV": {
+ "name": "Vatu de Vanuatu"
+ },
+ "KPW": {
+ "name": "Won norte-coreano"
+ },
+ "KRW": {
+ "name": "Won sul-coreano",
+ "symbol": "₩"
+ },
+ "KES": {
+ "name": "Xelim queniano"
+ },
+ "SOS": {
+ "name": "Xelim somali"
+ },
+ "TZS": {
+ "name": "Xelim tanzaniano"
+ },
+ "UGX": {
+ "name": "Xelim ugandense"
+ },
+ "CNY": {
+ "name": "Yuan chinês",
+ "symbol": "CN¥"
+ },
+ "PLN": {
+ "name": "Zloti polaco"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/pt-GQ.json b/vendor/commerceguys/intl/resources/currency/pt-GQ.json
new file mode 100644
index 000000000..e554f1fe6
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/pt-GQ.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afegani do Afeganistão"
+ },
+ "MGA": {
+ "name": "Ariari de Madagáscar"
+ },
+ "THB": {
+ "name": "Baht da Tailândia",
+ "symbol": "฿"
+ },
+ "PAB": {
+ "name": "Balboa do Panamá"
+ },
+ "ETB": {
+ "name": "Birr etíope"
+ },
+ "VEF": {
+ "name": "Bolívar venezuelano"
+ },
+ "BOB": {
+ "name": "Boliviano"
+ },
+ "GHS": {
+ "name": "Cedi de Gana"
+ },
+ "SVC": {
+ "name": "Colom salvadorenho"
+ },
+ "CRC": {
+ "name": "Colon costa-riquenho"
+ },
+ "NIO": {
+ "name": "Córdoba nicaraguano"
+ },
+ "CZK": {
+ "name": "Coroa checa"
+ },
+ "DKK": {
+ "name": "Coroa dinamarquesa"
+ },
+ "ISK": {
+ "name": "Coroa islandesa"
+ },
+ "NOK": {
+ "name": "Coroa norueguesa"
+ },
+ "SEK": {
+ "name": "Coroa sueca"
+ },
+ "GMD": {
+ "name": "Dalasi da Gâmbia"
+ },
+ "DZD": {
+ "name": "Dinar argelino"
+ },
+ "BHD": {
+ "name": "Dinar baremita"
+ },
+ "IQD": {
+ "name": "Dinar iraquiano"
+ },
+ "JOD": {
+ "name": "Dinar jordaniano"
+ },
+ "KWD": {
+ "name": "Dinar kuwaitiano"
+ },
+ "LYD": {
+ "name": "Dinar líbio"
+ },
+ "MKD": {
+ "name": "Dinar macedónio"
+ },
+ "RSD": {
+ "name": "Dinar sérvio"
+ },
+ "TND": {
+ "name": "Dinar tunisino"
+ },
+ "AED": {
+ "name": "Dirham dos Emirados Árabes Unidos"
+ },
+ "MAD": {
+ "name": "Dirham marroquino"
+ },
+ "STD": {
+ "name": "Dobra de São Tomé e Príncipe"
+ },
+ "AUD": {
+ "name": "Dólar australiano",
+ "symbol": "AU$"
+ },
+ "BBD": {
+ "name": "Dólar barbadense"
+ },
+ "BZD": {
+ "name": "Dólar belizense"
+ },
+ "BMD": {
+ "name": "Dólar bermudense"
+ },
+ "BND": {
+ "name": "Dólar bruneíno"
+ },
+ "CAD": {
+ "name": "Dólar canadiano",
+ "symbol": "CA$"
+ },
+ "GYD": {
+ "name": "Dólar da Guiana"
+ },
+ "NAD": {
+ "name": "Dólar da Namíbia"
+ },
+ "BSD": {
+ "name": "Dólar das Bahamas"
+ },
+ "XCD": {
+ "name": "Dólar das Caraíbas Orientais",
+ "symbol": "EC$"
+ },
+ "KYD": {
+ "name": "Dólar das Ilhas Caimão"
+ },
+ "SBD": {
+ "name": "Dólar das Ilhas Salomão"
+ },
+ "FJD": {
+ "name": "Dólar de Fiji"
+ },
+ "HKD": {
+ "name": "Dólar de Hong Kong",
+ "symbol": "HK$"
+ },
+ "SGD": {
+ "name": "Dólar de Singapura"
+ },
+ "TTD": {
+ "name": "Dólar de Trindade e Tobago"
+ },
+ "SRD": {
+ "name": "Dólar do Suriname"
+ },
+ "ZWL": {
+ "name": "Dólar do Zimbábue (2009)"
+ },
+ "USD": {
+ "name": "Dólar dos Estados Unidos",
+ "symbol": "US$"
+ },
+ "JMD": {
+ "name": "Dólar jamaicano"
+ },
+ "LRD": {
+ "name": "Dólar liberiano"
+ },
+ "NZD": {
+ "name": "Dólar neozelandês",
+ "symbol": "NZ$"
+ },
+ "VND": {
+ "name": "Dong vietnamita",
+ "symbol": "₫"
+ },
+ "AMD": {
+ "name": "Dram arménio"
+ },
+ "CVE": {
+ "name": "Escudo cabo-verdiano"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "ANG": {
+ "name": "Florim das Antilhas Holandesas"
+ },
+ "AWG": {
+ "name": "Florim de Aruba"
+ },
+ "HUF": {
+ "name": "Forint húngaro"
+ },
+ "BIF": {
+ "name": "Franco burundiano"
+ },
+ "XOF": {
+ "name": "Franco CFA (BCEAO)",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Franco CFA (BEAC)",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "Franco CFP",
+ "symbol": "CFPF"
+ },
+ "KMF": {
+ "name": "Franco comoriano"
+ },
+ "CDF": {
+ "name": "Franco congolês"
+ },
+ "GNF": {
+ "name": "Franco guineense"
+ },
+ "DJF": {
+ "name": "Franco jibutiano"
+ },
+ "RWF": {
+ "name": "Franco ruandês"
+ },
+ "CHF": {
+ "name": "Franco suíço"
+ },
+ "HTG": {
+ "name": "Gourde haitiano"
+ },
+ "PYG": {
+ "name": "Guarani paraguaio"
+ },
+ "UAH": {
+ "name": "Hryvnia da Ucrânia"
+ },
+ "JPY": {
+ "name": "Iene japonês",
+ "symbol": "JP¥"
+ },
+ "PGK": {
+ "name": "Kina da Papua-Nova Guiné"
+ },
+ "LAK": {
+ "name": "Kip de Laos"
+ },
+ "HRK": {
+ "name": "Kuna croata"
+ },
+ "MWK": {
+ "name": "Kwacha do Malawi"
+ },
+ "ZMW": {
+ "name": "Kwacha zambiano"
+ },
+ "AOA": {
+ "name": "Kwanza angolano"
+ },
+ "MMK": {
+ "name": "Kyat de Mianmar"
+ },
+ "GEL": {
+ "name": "Lari georgiano"
+ },
+ "ALL": {
+ "name": "Lek albanês"
+ },
+ "HNL": {
+ "name": "Lempira das Honduras"
+ },
+ "SLL": {
+ "name": "Leone de Serra Leoa"
+ },
+ "MDL": {
+ "name": "Leu moldavo"
+ },
+ "RON": {
+ "name": "Leu romeno"
+ },
+ "BGN": {
+ "name": "Lev búlgaro"
+ },
+ "FKP": {
+ "name": "Libra das Ilhas Falkland"
+ },
+ "GIP": {
+ "name": "Libra de Gibraltar"
+ },
+ "SHP": {
+ "name": "Libra de Santa Helena"
+ },
+ "EGP": {
+ "name": "Libra egípcia"
+ },
+ "GBP": {
+ "name": "Libra esterlina britânica",
+ "symbol": "£"
+ },
+ "LBP": {
+ "name": "Libra libanesa"
+ },
+ "SYP": {
+ "name": "Libra síria"
+ },
+ "SDG": {
+ "name": "Libra sudanesa"
+ },
+ "SSP": {
+ "name": "Libra sul-sudanesa"
+ },
+ "SZL": {
+ "name": "Lilangeni da Suazilândia"
+ },
+ "TRY": {
+ "name": "Lira turca"
+ },
+ "LSL": {
+ "name": "Loti do Lesoto"
+ },
+ "AZN": {
+ "name": "Manat do Azerbaijão"
+ },
+ "TMT": {
+ "name": "Manat do Turquemenistão"
+ },
+ "BAM": {
+ "name": "Marco bósnio-herzegóvino conversível"
+ },
+ "MZN": {
+ "name": "Metical de Moçambique"
+ },
+ "NGN": {
+ "name": "Naira nigeriana"
+ },
+ "ERN": {
+ "name": "Nakfa da Eritreia"
+ },
+ "BTN": {
+ "name": "Ngultrum do Butão"
+ },
+ "TWD": {
+ "name": "Novo dólar taiwanês",
+ "symbol": "NT$"
+ },
+ "PEN": {
+ "name": "Novo sol peruano"
+ },
+ "MRO": {
+ "name": "Ouguiya da Mauritânia"
+ },
+ "TOP": {
+ "name": "Paʻanga de Tonga"
+ },
+ "MOP": {
+ "name": "Pataca de Macau"
+ },
+ "ARS": {
+ "name": "Peso argentino"
+ },
+ "CLP": {
+ "name": "Peso chileno"
+ },
+ "COP": {
+ "name": "Peso colombiano"
+ },
+ "CUP": {
+ "name": "Peso cubano"
+ },
+ "CUC": {
+ "name": "Peso cubano conversível"
+ },
+ "DOP": {
+ "name": "Peso dominicano"
+ },
+ "PHP": {
+ "name": "Peso filipino"
+ },
+ "MXN": {
+ "name": "Peso mexicano",
+ "symbol": "MX$"
+ },
+ "UYU": {
+ "name": "Peso uruguaio"
+ },
+ "BWP": {
+ "name": "Pula de Botswana"
+ },
+ "GTQ": {
+ "name": "Quetzal da Guatemala"
+ },
+ "ZAR": {
+ "name": "Rand sul-africano"
+ },
+ "BRL": {
+ "name": "Real brasileiro",
+ "symbol": "R$"
+ },
+ "OMR": {
+ "name": "Rial de Omã"
+ },
+ "QAR": {
+ "name": "Rial do Catar"
+ },
+ "YER": {
+ "name": "Rial iemenita"
+ },
+ "IRR": {
+ "name": "Rial iraniano"
+ },
+ "SAR": {
+ "name": "Rial saudita"
+ },
+ "KHR": {
+ "name": "Riel cambojano"
+ },
+ "MYR": {
+ "name": "Ringgit malaio"
+ },
+ "BYN": {
+ "name": "Rublo bielorrusso"
+ },
+ "BYR": {
+ "name": "Rublo bielorrusso (2000–2016)"
+ },
+ "RUB": {
+ "name": "Rublo russo"
+ },
+ "MVR": {
+ "name": "Rupia das Ilhas Maldivas"
+ },
+ "LKR": {
+ "name": "Rupia do Sri Lanka"
+ },
+ "INR": {
+ "name": "Rupia indiana",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Rupia indonésia"
+ },
+ "MUR": {
+ "name": "Rupia mauriciana"
+ },
+ "NPR": {
+ "name": "Rupia nepalesa"
+ },
+ "PKR": {
+ "name": "Rupia paquistanesa"
+ },
+ "SCR": {
+ "name": "Rupia seichelense"
+ },
+ "ILS": {
+ "name": "Sheqel novo israelita",
+ "symbol": "₪"
+ },
+ "KGS": {
+ "name": "Som do Quirguistão"
+ },
+ "UZS": {
+ "name": "Som do Uzbequistão"
+ },
+ "TJS": {
+ "name": "Somoni do Tajaquistão"
+ },
+ "BDT": {
+ "name": "Taka de Bangladesh"
+ },
+ "WST": {
+ "name": "Tala samoano"
+ },
+ "KZT": {
+ "name": "Tenge do Cazaquistão"
+ },
+ "MNT": {
+ "name": "Tugrik da Mongólia"
+ },
+ "VUV": {
+ "name": "Vatu de Vanuatu"
+ },
+ "KPW": {
+ "name": "Won norte-coreano"
+ },
+ "KRW": {
+ "name": "Won sul-coreano",
+ "symbol": "₩"
+ },
+ "KES": {
+ "name": "Xelim queniano"
+ },
+ "SOS": {
+ "name": "Xelim somali"
+ },
+ "TZS": {
+ "name": "Xelim tanzaniano"
+ },
+ "UGX": {
+ "name": "Xelim ugandense"
+ },
+ "CNY": {
+ "name": "Yuan chinês",
+ "symbol": "CN¥"
+ },
+ "PLN": {
+ "name": "Zloti polaco"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/pt-GW.json b/vendor/commerceguys/intl/resources/currency/pt-GW.json
new file mode 100644
index 000000000..e554f1fe6
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/pt-GW.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afegani do Afeganistão"
+ },
+ "MGA": {
+ "name": "Ariari de Madagáscar"
+ },
+ "THB": {
+ "name": "Baht da Tailândia",
+ "symbol": "฿"
+ },
+ "PAB": {
+ "name": "Balboa do Panamá"
+ },
+ "ETB": {
+ "name": "Birr etíope"
+ },
+ "VEF": {
+ "name": "Bolívar venezuelano"
+ },
+ "BOB": {
+ "name": "Boliviano"
+ },
+ "GHS": {
+ "name": "Cedi de Gana"
+ },
+ "SVC": {
+ "name": "Colom salvadorenho"
+ },
+ "CRC": {
+ "name": "Colon costa-riquenho"
+ },
+ "NIO": {
+ "name": "Córdoba nicaraguano"
+ },
+ "CZK": {
+ "name": "Coroa checa"
+ },
+ "DKK": {
+ "name": "Coroa dinamarquesa"
+ },
+ "ISK": {
+ "name": "Coroa islandesa"
+ },
+ "NOK": {
+ "name": "Coroa norueguesa"
+ },
+ "SEK": {
+ "name": "Coroa sueca"
+ },
+ "GMD": {
+ "name": "Dalasi da Gâmbia"
+ },
+ "DZD": {
+ "name": "Dinar argelino"
+ },
+ "BHD": {
+ "name": "Dinar baremita"
+ },
+ "IQD": {
+ "name": "Dinar iraquiano"
+ },
+ "JOD": {
+ "name": "Dinar jordaniano"
+ },
+ "KWD": {
+ "name": "Dinar kuwaitiano"
+ },
+ "LYD": {
+ "name": "Dinar líbio"
+ },
+ "MKD": {
+ "name": "Dinar macedónio"
+ },
+ "RSD": {
+ "name": "Dinar sérvio"
+ },
+ "TND": {
+ "name": "Dinar tunisino"
+ },
+ "AED": {
+ "name": "Dirham dos Emirados Árabes Unidos"
+ },
+ "MAD": {
+ "name": "Dirham marroquino"
+ },
+ "STD": {
+ "name": "Dobra de São Tomé e Príncipe"
+ },
+ "AUD": {
+ "name": "Dólar australiano",
+ "symbol": "AU$"
+ },
+ "BBD": {
+ "name": "Dólar barbadense"
+ },
+ "BZD": {
+ "name": "Dólar belizense"
+ },
+ "BMD": {
+ "name": "Dólar bermudense"
+ },
+ "BND": {
+ "name": "Dólar bruneíno"
+ },
+ "CAD": {
+ "name": "Dólar canadiano",
+ "symbol": "CA$"
+ },
+ "GYD": {
+ "name": "Dólar da Guiana"
+ },
+ "NAD": {
+ "name": "Dólar da Namíbia"
+ },
+ "BSD": {
+ "name": "Dólar das Bahamas"
+ },
+ "XCD": {
+ "name": "Dólar das Caraíbas Orientais",
+ "symbol": "EC$"
+ },
+ "KYD": {
+ "name": "Dólar das Ilhas Caimão"
+ },
+ "SBD": {
+ "name": "Dólar das Ilhas Salomão"
+ },
+ "FJD": {
+ "name": "Dólar de Fiji"
+ },
+ "HKD": {
+ "name": "Dólar de Hong Kong",
+ "symbol": "HK$"
+ },
+ "SGD": {
+ "name": "Dólar de Singapura"
+ },
+ "TTD": {
+ "name": "Dólar de Trindade e Tobago"
+ },
+ "SRD": {
+ "name": "Dólar do Suriname"
+ },
+ "ZWL": {
+ "name": "Dólar do Zimbábue (2009)"
+ },
+ "USD": {
+ "name": "Dólar dos Estados Unidos",
+ "symbol": "US$"
+ },
+ "JMD": {
+ "name": "Dólar jamaicano"
+ },
+ "LRD": {
+ "name": "Dólar liberiano"
+ },
+ "NZD": {
+ "name": "Dólar neozelandês",
+ "symbol": "NZ$"
+ },
+ "VND": {
+ "name": "Dong vietnamita",
+ "symbol": "₫"
+ },
+ "AMD": {
+ "name": "Dram arménio"
+ },
+ "CVE": {
+ "name": "Escudo cabo-verdiano"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "ANG": {
+ "name": "Florim das Antilhas Holandesas"
+ },
+ "AWG": {
+ "name": "Florim de Aruba"
+ },
+ "HUF": {
+ "name": "Forint húngaro"
+ },
+ "BIF": {
+ "name": "Franco burundiano"
+ },
+ "XOF": {
+ "name": "Franco CFA (BCEAO)",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Franco CFA (BEAC)",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "Franco CFP",
+ "symbol": "CFPF"
+ },
+ "KMF": {
+ "name": "Franco comoriano"
+ },
+ "CDF": {
+ "name": "Franco congolês"
+ },
+ "GNF": {
+ "name": "Franco guineense"
+ },
+ "DJF": {
+ "name": "Franco jibutiano"
+ },
+ "RWF": {
+ "name": "Franco ruandês"
+ },
+ "CHF": {
+ "name": "Franco suíço"
+ },
+ "HTG": {
+ "name": "Gourde haitiano"
+ },
+ "PYG": {
+ "name": "Guarani paraguaio"
+ },
+ "UAH": {
+ "name": "Hryvnia da Ucrânia"
+ },
+ "JPY": {
+ "name": "Iene japonês",
+ "symbol": "JP¥"
+ },
+ "PGK": {
+ "name": "Kina da Papua-Nova Guiné"
+ },
+ "LAK": {
+ "name": "Kip de Laos"
+ },
+ "HRK": {
+ "name": "Kuna croata"
+ },
+ "MWK": {
+ "name": "Kwacha do Malawi"
+ },
+ "ZMW": {
+ "name": "Kwacha zambiano"
+ },
+ "AOA": {
+ "name": "Kwanza angolano"
+ },
+ "MMK": {
+ "name": "Kyat de Mianmar"
+ },
+ "GEL": {
+ "name": "Lari georgiano"
+ },
+ "ALL": {
+ "name": "Lek albanês"
+ },
+ "HNL": {
+ "name": "Lempira das Honduras"
+ },
+ "SLL": {
+ "name": "Leone de Serra Leoa"
+ },
+ "MDL": {
+ "name": "Leu moldavo"
+ },
+ "RON": {
+ "name": "Leu romeno"
+ },
+ "BGN": {
+ "name": "Lev búlgaro"
+ },
+ "FKP": {
+ "name": "Libra das Ilhas Falkland"
+ },
+ "GIP": {
+ "name": "Libra de Gibraltar"
+ },
+ "SHP": {
+ "name": "Libra de Santa Helena"
+ },
+ "EGP": {
+ "name": "Libra egípcia"
+ },
+ "GBP": {
+ "name": "Libra esterlina britânica",
+ "symbol": "£"
+ },
+ "LBP": {
+ "name": "Libra libanesa"
+ },
+ "SYP": {
+ "name": "Libra síria"
+ },
+ "SDG": {
+ "name": "Libra sudanesa"
+ },
+ "SSP": {
+ "name": "Libra sul-sudanesa"
+ },
+ "SZL": {
+ "name": "Lilangeni da Suazilândia"
+ },
+ "TRY": {
+ "name": "Lira turca"
+ },
+ "LSL": {
+ "name": "Loti do Lesoto"
+ },
+ "AZN": {
+ "name": "Manat do Azerbaijão"
+ },
+ "TMT": {
+ "name": "Manat do Turquemenistão"
+ },
+ "BAM": {
+ "name": "Marco bósnio-herzegóvino conversível"
+ },
+ "MZN": {
+ "name": "Metical de Moçambique"
+ },
+ "NGN": {
+ "name": "Naira nigeriana"
+ },
+ "ERN": {
+ "name": "Nakfa da Eritreia"
+ },
+ "BTN": {
+ "name": "Ngultrum do Butão"
+ },
+ "TWD": {
+ "name": "Novo dólar taiwanês",
+ "symbol": "NT$"
+ },
+ "PEN": {
+ "name": "Novo sol peruano"
+ },
+ "MRO": {
+ "name": "Ouguiya da Mauritânia"
+ },
+ "TOP": {
+ "name": "Paʻanga de Tonga"
+ },
+ "MOP": {
+ "name": "Pataca de Macau"
+ },
+ "ARS": {
+ "name": "Peso argentino"
+ },
+ "CLP": {
+ "name": "Peso chileno"
+ },
+ "COP": {
+ "name": "Peso colombiano"
+ },
+ "CUP": {
+ "name": "Peso cubano"
+ },
+ "CUC": {
+ "name": "Peso cubano conversível"
+ },
+ "DOP": {
+ "name": "Peso dominicano"
+ },
+ "PHP": {
+ "name": "Peso filipino"
+ },
+ "MXN": {
+ "name": "Peso mexicano",
+ "symbol": "MX$"
+ },
+ "UYU": {
+ "name": "Peso uruguaio"
+ },
+ "BWP": {
+ "name": "Pula de Botswana"
+ },
+ "GTQ": {
+ "name": "Quetzal da Guatemala"
+ },
+ "ZAR": {
+ "name": "Rand sul-africano"
+ },
+ "BRL": {
+ "name": "Real brasileiro",
+ "symbol": "R$"
+ },
+ "OMR": {
+ "name": "Rial de Omã"
+ },
+ "QAR": {
+ "name": "Rial do Catar"
+ },
+ "YER": {
+ "name": "Rial iemenita"
+ },
+ "IRR": {
+ "name": "Rial iraniano"
+ },
+ "SAR": {
+ "name": "Rial saudita"
+ },
+ "KHR": {
+ "name": "Riel cambojano"
+ },
+ "MYR": {
+ "name": "Ringgit malaio"
+ },
+ "BYN": {
+ "name": "Rublo bielorrusso"
+ },
+ "BYR": {
+ "name": "Rublo bielorrusso (2000–2016)"
+ },
+ "RUB": {
+ "name": "Rublo russo"
+ },
+ "MVR": {
+ "name": "Rupia das Ilhas Maldivas"
+ },
+ "LKR": {
+ "name": "Rupia do Sri Lanka"
+ },
+ "INR": {
+ "name": "Rupia indiana",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Rupia indonésia"
+ },
+ "MUR": {
+ "name": "Rupia mauriciana"
+ },
+ "NPR": {
+ "name": "Rupia nepalesa"
+ },
+ "PKR": {
+ "name": "Rupia paquistanesa"
+ },
+ "SCR": {
+ "name": "Rupia seichelense"
+ },
+ "ILS": {
+ "name": "Sheqel novo israelita",
+ "symbol": "₪"
+ },
+ "KGS": {
+ "name": "Som do Quirguistão"
+ },
+ "UZS": {
+ "name": "Som do Uzbequistão"
+ },
+ "TJS": {
+ "name": "Somoni do Tajaquistão"
+ },
+ "BDT": {
+ "name": "Taka de Bangladesh"
+ },
+ "WST": {
+ "name": "Tala samoano"
+ },
+ "KZT": {
+ "name": "Tenge do Cazaquistão"
+ },
+ "MNT": {
+ "name": "Tugrik da Mongólia"
+ },
+ "VUV": {
+ "name": "Vatu de Vanuatu"
+ },
+ "KPW": {
+ "name": "Won norte-coreano"
+ },
+ "KRW": {
+ "name": "Won sul-coreano",
+ "symbol": "₩"
+ },
+ "KES": {
+ "name": "Xelim queniano"
+ },
+ "SOS": {
+ "name": "Xelim somali"
+ },
+ "TZS": {
+ "name": "Xelim tanzaniano"
+ },
+ "UGX": {
+ "name": "Xelim ugandense"
+ },
+ "CNY": {
+ "name": "Yuan chinês",
+ "symbol": "CN¥"
+ },
+ "PLN": {
+ "name": "Zloti polaco"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/pt-LU.json b/vendor/commerceguys/intl/resources/currency/pt-LU.json
new file mode 100644
index 000000000..e554f1fe6
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/pt-LU.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afegani do Afeganistão"
+ },
+ "MGA": {
+ "name": "Ariari de Madagáscar"
+ },
+ "THB": {
+ "name": "Baht da Tailândia",
+ "symbol": "฿"
+ },
+ "PAB": {
+ "name": "Balboa do Panamá"
+ },
+ "ETB": {
+ "name": "Birr etíope"
+ },
+ "VEF": {
+ "name": "Bolívar venezuelano"
+ },
+ "BOB": {
+ "name": "Boliviano"
+ },
+ "GHS": {
+ "name": "Cedi de Gana"
+ },
+ "SVC": {
+ "name": "Colom salvadorenho"
+ },
+ "CRC": {
+ "name": "Colon costa-riquenho"
+ },
+ "NIO": {
+ "name": "Córdoba nicaraguano"
+ },
+ "CZK": {
+ "name": "Coroa checa"
+ },
+ "DKK": {
+ "name": "Coroa dinamarquesa"
+ },
+ "ISK": {
+ "name": "Coroa islandesa"
+ },
+ "NOK": {
+ "name": "Coroa norueguesa"
+ },
+ "SEK": {
+ "name": "Coroa sueca"
+ },
+ "GMD": {
+ "name": "Dalasi da Gâmbia"
+ },
+ "DZD": {
+ "name": "Dinar argelino"
+ },
+ "BHD": {
+ "name": "Dinar baremita"
+ },
+ "IQD": {
+ "name": "Dinar iraquiano"
+ },
+ "JOD": {
+ "name": "Dinar jordaniano"
+ },
+ "KWD": {
+ "name": "Dinar kuwaitiano"
+ },
+ "LYD": {
+ "name": "Dinar líbio"
+ },
+ "MKD": {
+ "name": "Dinar macedónio"
+ },
+ "RSD": {
+ "name": "Dinar sérvio"
+ },
+ "TND": {
+ "name": "Dinar tunisino"
+ },
+ "AED": {
+ "name": "Dirham dos Emirados Árabes Unidos"
+ },
+ "MAD": {
+ "name": "Dirham marroquino"
+ },
+ "STD": {
+ "name": "Dobra de São Tomé e Príncipe"
+ },
+ "AUD": {
+ "name": "Dólar australiano",
+ "symbol": "AU$"
+ },
+ "BBD": {
+ "name": "Dólar barbadense"
+ },
+ "BZD": {
+ "name": "Dólar belizense"
+ },
+ "BMD": {
+ "name": "Dólar bermudense"
+ },
+ "BND": {
+ "name": "Dólar bruneíno"
+ },
+ "CAD": {
+ "name": "Dólar canadiano",
+ "symbol": "CA$"
+ },
+ "GYD": {
+ "name": "Dólar da Guiana"
+ },
+ "NAD": {
+ "name": "Dólar da Namíbia"
+ },
+ "BSD": {
+ "name": "Dólar das Bahamas"
+ },
+ "XCD": {
+ "name": "Dólar das Caraíbas Orientais",
+ "symbol": "EC$"
+ },
+ "KYD": {
+ "name": "Dólar das Ilhas Caimão"
+ },
+ "SBD": {
+ "name": "Dólar das Ilhas Salomão"
+ },
+ "FJD": {
+ "name": "Dólar de Fiji"
+ },
+ "HKD": {
+ "name": "Dólar de Hong Kong",
+ "symbol": "HK$"
+ },
+ "SGD": {
+ "name": "Dólar de Singapura"
+ },
+ "TTD": {
+ "name": "Dólar de Trindade e Tobago"
+ },
+ "SRD": {
+ "name": "Dólar do Suriname"
+ },
+ "ZWL": {
+ "name": "Dólar do Zimbábue (2009)"
+ },
+ "USD": {
+ "name": "Dólar dos Estados Unidos",
+ "symbol": "US$"
+ },
+ "JMD": {
+ "name": "Dólar jamaicano"
+ },
+ "LRD": {
+ "name": "Dólar liberiano"
+ },
+ "NZD": {
+ "name": "Dólar neozelandês",
+ "symbol": "NZ$"
+ },
+ "VND": {
+ "name": "Dong vietnamita",
+ "symbol": "₫"
+ },
+ "AMD": {
+ "name": "Dram arménio"
+ },
+ "CVE": {
+ "name": "Escudo cabo-verdiano"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "ANG": {
+ "name": "Florim das Antilhas Holandesas"
+ },
+ "AWG": {
+ "name": "Florim de Aruba"
+ },
+ "HUF": {
+ "name": "Forint húngaro"
+ },
+ "BIF": {
+ "name": "Franco burundiano"
+ },
+ "XOF": {
+ "name": "Franco CFA (BCEAO)",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Franco CFA (BEAC)",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "Franco CFP",
+ "symbol": "CFPF"
+ },
+ "KMF": {
+ "name": "Franco comoriano"
+ },
+ "CDF": {
+ "name": "Franco congolês"
+ },
+ "GNF": {
+ "name": "Franco guineense"
+ },
+ "DJF": {
+ "name": "Franco jibutiano"
+ },
+ "RWF": {
+ "name": "Franco ruandês"
+ },
+ "CHF": {
+ "name": "Franco suíço"
+ },
+ "HTG": {
+ "name": "Gourde haitiano"
+ },
+ "PYG": {
+ "name": "Guarani paraguaio"
+ },
+ "UAH": {
+ "name": "Hryvnia da Ucrânia"
+ },
+ "JPY": {
+ "name": "Iene japonês",
+ "symbol": "JP¥"
+ },
+ "PGK": {
+ "name": "Kina da Papua-Nova Guiné"
+ },
+ "LAK": {
+ "name": "Kip de Laos"
+ },
+ "HRK": {
+ "name": "Kuna croata"
+ },
+ "MWK": {
+ "name": "Kwacha do Malawi"
+ },
+ "ZMW": {
+ "name": "Kwacha zambiano"
+ },
+ "AOA": {
+ "name": "Kwanza angolano"
+ },
+ "MMK": {
+ "name": "Kyat de Mianmar"
+ },
+ "GEL": {
+ "name": "Lari georgiano"
+ },
+ "ALL": {
+ "name": "Lek albanês"
+ },
+ "HNL": {
+ "name": "Lempira das Honduras"
+ },
+ "SLL": {
+ "name": "Leone de Serra Leoa"
+ },
+ "MDL": {
+ "name": "Leu moldavo"
+ },
+ "RON": {
+ "name": "Leu romeno"
+ },
+ "BGN": {
+ "name": "Lev búlgaro"
+ },
+ "FKP": {
+ "name": "Libra das Ilhas Falkland"
+ },
+ "GIP": {
+ "name": "Libra de Gibraltar"
+ },
+ "SHP": {
+ "name": "Libra de Santa Helena"
+ },
+ "EGP": {
+ "name": "Libra egípcia"
+ },
+ "GBP": {
+ "name": "Libra esterlina britânica",
+ "symbol": "£"
+ },
+ "LBP": {
+ "name": "Libra libanesa"
+ },
+ "SYP": {
+ "name": "Libra síria"
+ },
+ "SDG": {
+ "name": "Libra sudanesa"
+ },
+ "SSP": {
+ "name": "Libra sul-sudanesa"
+ },
+ "SZL": {
+ "name": "Lilangeni da Suazilândia"
+ },
+ "TRY": {
+ "name": "Lira turca"
+ },
+ "LSL": {
+ "name": "Loti do Lesoto"
+ },
+ "AZN": {
+ "name": "Manat do Azerbaijão"
+ },
+ "TMT": {
+ "name": "Manat do Turquemenistão"
+ },
+ "BAM": {
+ "name": "Marco bósnio-herzegóvino conversível"
+ },
+ "MZN": {
+ "name": "Metical de Moçambique"
+ },
+ "NGN": {
+ "name": "Naira nigeriana"
+ },
+ "ERN": {
+ "name": "Nakfa da Eritreia"
+ },
+ "BTN": {
+ "name": "Ngultrum do Butão"
+ },
+ "TWD": {
+ "name": "Novo dólar taiwanês",
+ "symbol": "NT$"
+ },
+ "PEN": {
+ "name": "Novo sol peruano"
+ },
+ "MRO": {
+ "name": "Ouguiya da Mauritânia"
+ },
+ "TOP": {
+ "name": "Paʻanga de Tonga"
+ },
+ "MOP": {
+ "name": "Pataca de Macau"
+ },
+ "ARS": {
+ "name": "Peso argentino"
+ },
+ "CLP": {
+ "name": "Peso chileno"
+ },
+ "COP": {
+ "name": "Peso colombiano"
+ },
+ "CUP": {
+ "name": "Peso cubano"
+ },
+ "CUC": {
+ "name": "Peso cubano conversível"
+ },
+ "DOP": {
+ "name": "Peso dominicano"
+ },
+ "PHP": {
+ "name": "Peso filipino"
+ },
+ "MXN": {
+ "name": "Peso mexicano",
+ "symbol": "MX$"
+ },
+ "UYU": {
+ "name": "Peso uruguaio"
+ },
+ "BWP": {
+ "name": "Pula de Botswana"
+ },
+ "GTQ": {
+ "name": "Quetzal da Guatemala"
+ },
+ "ZAR": {
+ "name": "Rand sul-africano"
+ },
+ "BRL": {
+ "name": "Real brasileiro",
+ "symbol": "R$"
+ },
+ "OMR": {
+ "name": "Rial de Omã"
+ },
+ "QAR": {
+ "name": "Rial do Catar"
+ },
+ "YER": {
+ "name": "Rial iemenita"
+ },
+ "IRR": {
+ "name": "Rial iraniano"
+ },
+ "SAR": {
+ "name": "Rial saudita"
+ },
+ "KHR": {
+ "name": "Riel cambojano"
+ },
+ "MYR": {
+ "name": "Ringgit malaio"
+ },
+ "BYN": {
+ "name": "Rublo bielorrusso"
+ },
+ "BYR": {
+ "name": "Rublo bielorrusso (2000–2016)"
+ },
+ "RUB": {
+ "name": "Rublo russo"
+ },
+ "MVR": {
+ "name": "Rupia das Ilhas Maldivas"
+ },
+ "LKR": {
+ "name": "Rupia do Sri Lanka"
+ },
+ "INR": {
+ "name": "Rupia indiana",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Rupia indonésia"
+ },
+ "MUR": {
+ "name": "Rupia mauriciana"
+ },
+ "NPR": {
+ "name": "Rupia nepalesa"
+ },
+ "PKR": {
+ "name": "Rupia paquistanesa"
+ },
+ "SCR": {
+ "name": "Rupia seichelense"
+ },
+ "ILS": {
+ "name": "Sheqel novo israelita",
+ "symbol": "₪"
+ },
+ "KGS": {
+ "name": "Som do Quirguistão"
+ },
+ "UZS": {
+ "name": "Som do Uzbequistão"
+ },
+ "TJS": {
+ "name": "Somoni do Tajaquistão"
+ },
+ "BDT": {
+ "name": "Taka de Bangladesh"
+ },
+ "WST": {
+ "name": "Tala samoano"
+ },
+ "KZT": {
+ "name": "Tenge do Cazaquistão"
+ },
+ "MNT": {
+ "name": "Tugrik da Mongólia"
+ },
+ "VUV": {
+ "name": "Vatu de Vanuatu"
+ },
+ "KPW": {
+ "name": "Won norte-coreano"
+ },
+ "KRW": {
+ "name": "Won sul-coreano",
+ "symbol": "₩"
+ },
+ "KES": {
+ "name": "Xelim queniano"
+ },
+ "SOS": {
+ "name": "Xelim somali"
+ },
+ "TZS": {
+ "name": "Xelim tanzaniano"
+ },
+ "UGX": {
+ "name": "Xelim ugandense"
+ },
+ "CNY": {
+ "name": "Yuan chinês",
+ "symbol": "CN¥"
+ },
+ "PLN": {
+ "name": "Zloti polaco"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/pt-MO.json b/vendor/commerceguys/intl/resources/currency/pt-MO.json
new file mode 100644
index 000000000..f625f9ae0
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/pt-MO.json
@@ -0,0 +1,498 @@
+{
+ "AFN": {
+ "name": "Afegani do Afeganistão"
+ },
+ "MGA": {
+ "name": "Ariari de Madagáscar"
+ },
+ "THB": {
+ "name": "Baht da Tailândia",
+ "symbol": "฿"
+ },
+ "PAB": {
+ "name": "Balboa do Panamá"
+ },
+ "ETB": {
+ "name": "Birr etíope"
+ },
+ "VEF": {
+ "name": "Bolívar venezuelano"
+ },
+ "BOB": {
+ "name": "Boliviano"
+ },
+ "GHS": {
+ "name": "Cedi de Gana"
+ },
+ "SVC": {
+ "name": "Colom salvadorenho"
+ },
+ "CRC": {
+ "name": "Colon costa-riquenho"
+ },
+ "NIO": {
+ "name": "Córdoba nicaraguano"
+ },
+ "CZK": {
+ "name": "Coroa checa"
+ },
+ "DKK": {
+ "name": "Coroa dinamarquesa"
+ },
+ "ISK": {
+ "name": "Coroa islandesa"
+ },
+ "NOK": {
+ "name": "Coroa norueguesa"
+ },
+ "SEK": {
+ "name": "Coroa sueca"
+ },
+ "GMD": {
+ "name": "Dalasi da Gâmbia"
+ },
+ "DZD": {
+ "name": "Dinar argelino"
+ },
+ "BHD": {
+ "name": "Dinar baremita"
+ },
+ "IQD": {
+ "name": "Dinar iraquiano"
+ },
+ "JOD": {
+ "name": "Dinar jordaniano"
+ },
+ "KWD": {
+ "name": "Dinar kuwaitiano"
+ },
+ "LYD": {
+ "name": "Dinar líbio"
+ },
+ "MKD": {
+ "name": "Dinar macedónio"
+ },
+ "RSD": {
+ "name": "Dinar sérvio"
+ },
+ "TND": {
+ "name": "Dinar tunisino"
+ },
+ "AED": {
+ "name": "Dirham dos Emirados Árabes Unidos"
+ },
+ "MAD": {
+ "name": "Dirham marroquino"
+ },
+ "STD": {
+ "name": "Dobra de São Tomé e Príncipe"
+ },
+ "AUD": {
+ "name": "Dólar australiano",
+ "symbol": "AU$"
+ },
+ "BBD": {
+ "name": "Dólar barbadense"
+ },
+ "BZD": {
+ "name": "Dólar belizense"
+ },
+ "BMD": {
+ "name": "Dólar bermudense"
+ },
+ "BND": {
+ "name": "Dólar bruneíno"
+ },
+ "CAD": {
+ "name": "Dólar canadiano",
+ "symbol": "CA$"
+ },
+ "GYD": {
+ "name": "Dólar da Guiana"
+ },
+ "NAD": {
+ "name": "Dólar da Namíbia"
+ },
+ "BSD": {
+ "name": "Dólar das Bahamas"
+ },
+ "XCD": {
+ "name": "Dólar das Caraíbas Orientais",
+ "symbol": "EC$"
+ },
+ "KYD": {
+ "name": "Dólar das Ilhas Caimão"
+ },
+ "SBD": {
+ "name": "Dólar das Ilhas Salomão"
+ },
+ "FJD": {
+ "name": "Dólar de Fiji"
+ },
+ "HKD": {
+ "name": "Dólar de Hong Kong",
+ "symbol": "HK$"
+ },
+ "SGD": {
+ "name": "Dólar de Singapura"
+ },
+ "TTD": {
+ "name": "Dólar de Trindade e Tobago"
+ },
+ "SRD": {
+ "name": "Dólar do Suriname"
+ },
+ "ZWL": {
+ "name": "Dólar do Zimbábue (2009)"
+ },
+ "USD": {
+ "name": "Dólar dos Estados Unidos",
+ "symbol": "US$"
+ },
+ "JMD": {
+ "name": "Dólar jamaicano"
+ },
+ "LRD": {
+ "name": "Dólar liberiano"
+ },
+ "NZD": {
+ "name": "Dólar neozelandês",
+ "symbol": "NZ$"
+ },
+ "VND": {
+ "name": "Dong vietnamita",
+ "symbol": "₫"
+ },
+ "AMD": {
+ "name": "Dram arménio"
+ },
+ "CVE": {
+ "name": "Escudo cabo-verdiano"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "ANG": {
+ "name": "Florim das Antilhas Holandesas"
+ },
+ "AWG": {
+ "name": "Florim de Aruba"
+ },
+ "HUF": {
+ "name": "Forint húngaro"
+ },
+ "BIF": {
+ "name": "Franco burundiano"
+ },
+ "XOF": {
+ "name": "Franco CFA (BCEAO)",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Franco CFA (BEAC)",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "Franco CFP",
+ "symbol": "CFPF"
+ },
+ "KMF": {
+ "name": "Franco comoriano"
+ },
+ "CDF": {
+ "name": "Franco congolês"
+ },
+ "GNF": {
+ "name": "Franco guineense"
+ },
+ "DJF": {
+ "name": "Franco jibutiano"
+ },
+ "RWF": {
+ "name": "Franco ruandês"
+ },
+ "CHF": {
+ "name": "Franco suíço"
+ },
+ "HTG": {
+ "name": "Gourde haitiano"
+ },
+ "PYG": {
+ "name": "Guarani paraguaio"
+ },
+ "UAH": {
+ "name": "Hryvnia da Ucrânia"
+ },
+ "JPY": {
+ "name": "Iene japonês",
+ "symbol": "JP¥"
+ },
+ "PGK": {
+ "name": "Kina da Papua-Nova Guiné"
+ },
+ "LAK": {
+ "name": "Kip de Laos"
+ },
+ "HRK": {
+ "name": "Kuna croata"
+ },
+ "MWK": {
+ "name": "Kwacha do Malawi"
+ },
+ "ZMW": {
+ "name": "Kwacha zambiano"
+ },
+ "AOA": {
+ "name": "Kwanza angolano"
+ },
+ "MMK": {
+ "name": "Kyat de Mianmar"
+ },
+ "GEL": {
+ "name": "Lari georgiano"
+ },
+ "ALL": {
+ "name": "Lek albanês"
+ },
+ "HNL": {
+ "name": "Lempira das Honduras"
+ },
+ "SLL": {
+ "name": "Leone de Serra Leoa"
+ },
+ "MDL": {
+ "name": "Leu moldavo"
+ },
+ "RON": {
+ "name": "Leu romeno"
+ },
+ "BGN": {
+ "name": "Lev búlgaro"
+ },
+ "FKP": {
+ "name": "Libra das Ilhas Falkland"
+ },
+ "GIP": {
+ "name": "Libra de Gibraltar"
+ },
+ "SHP": {
+ "name": "Libra de Santa Helena"
+ },
+ "EGP": {
+ "name": "Libra egípcia"
+ },
+ "GBP": {
+ "name": "Libra esterlina britânica",
+ "symbol": "£"
+ },
+ "LBP": {
+ "name": "Libra libanesa"
+ },
+ "SYP": {
+ "name": "Libra síria"
+ },
+ "SDG": {
+ "name": "Libra sudanesa"
+ },
+ "SSP": {
+ "name": "Libra sul-sudanesa"
+ },
+ "SZL": {
+ "name": "Lilangeni da Suazilândia"
+ },
+ "TRY": {
+ "name": "Lira turca"
+ },
+ "LSL": {
+ "name": "Loti do Lesoto"
+ },
+ "AZN": {
+ "name": "Manat do Azerbaijão"
+ },
+ "TMT": {
+ "name": "Manat do Turquemenistão"
+ },
+ "BAM": {
+ "name": "Marco bósnio-herzegóvino conversível"
+ },
+ "MZN": {
+ "name": "Metical de Moçambique"
+ },
+ "NGN": {
+ "name": "Naira nigeriana"
+ },
+ "ERN": {
+ "name": "Nakfa da Eritreia"
+ },
+ "BTN": {
+ "name": "Ngultrum do Butão"
+ },
+ "TWD": {
+ "name": "Novo dólar taiwanês",
+ "symbol": "NT$"
+ },
+ "PEN": {
+ "name": "Novo sol peruano"
+ },
+ "MRO": {
+ "name": "Ouguiya da Mauritânia"
+ },
+ "TOP": {
+ "name": "Paʻanga de Tonga"
+ },
+ "MOP": {
+ "name": "Pataca de Macau",
+ "symbol": "MOP$"
+ },
+ "ARS": {
+ "name": "Peso argentino"
+ },
+ "CLP": {
+ "name": "Peso chileno"
+ },
+ "COP": {
+ "name": "Peso colombiano"
+ },
+ "CUP": {
+ "name": "Peso cubano"
+ },
+ "CUC": {
+ "name": "Peso cubano conversível"
+ },
+ "DOP": {
+ "name": "Peso dominicano"
+ },
+ "PHP": {
+ "name": "Peso filipino"
+ },
+ "MXN": {
+ "name": "Peso mexicano",
+ "symbol": "MX$"
+ },
+ "UYU": {
+ "name": "Peso uruguaio"
+ },
+ "BWP": {
+ "name": "Pula de Botswana"
+ },
+ "GTQ": {
+ "name": "Quetzal da Guatemala"
+ },
+ "ZAR": {
+ "name": "Rand sul-africano"
+ },
+ "BRL": {
+ "name": "Real brasileiro",
+ "symbol": "R$"
+ },
+ "OMR": {
+ "name": "Rial de Omã"
+ },
+ "QAR": {
+ "name": "Rial do Catar"
+ },
+ "YER": {
+ "name": "Rial iemenita"
+ },
+ "IRR": {
+ "name": "Rial iraniano"
+ },
+ "SAR": {
+ "name": "Rial saudita"
+ },
+ "KHR": {
+ "name": "Riel cambojano"
+ },
+ "MYR": {
+ "name": "Ringgit malaio"
+ },
+ "BYN": {
+ "name": "Rublo bielorrusso"
+ },
+ "BYR": {
+ "name": "Rublo bielorrusso (2000–2016)"
+ },
+ "RUB": {
+ "name": "Rublo russo"
+ },
+ "MVR": {
+ "name": "Rupia das Ilhas Maldivas"
+ },
+ "LKR": {
+ "name": "Rupia do Sri Lanka"
+ },
+ "INR": {
+ "name": "Rupia indiana",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Rupia indonésia"
+ },
+ "MUR": {
+ "name": "Rupia mauriciana"
+ },
+ "NPR": {
+ "name": "Rupia nepalesa"
+ },
+ "PKR": {
+ "name": "Rupia paquistanesa"
+ },
+ "SCR": {
+ "name": "Rupia seichelense"
+ },
+ "ILS": {
+ "name": "Sheqel novo israelita",
+ "symbol": "₪"
+ },
+ "KGS": {
+ "name": "Som do Quirguistão"
+ },
+ "UZS": {
+ "name": "Som do Uzbequistão"
+ },
+ "TJS": {
+ "name": "Somoni do Tajaquistão"
+ },
+ "BDT": {
+ "name": "Taka de Bangladesh"
+ },
+ "WST": {
+ "name": "Tala samoano"
+ },
+ "KZT": {
+ "name": "Tenge do Cazaquistão"
+ },
+ "MNT": {
+ "name": "Tugrik da Mongólia"
+ },
+ "VUV": {
+ "name": "Vatu de Vanuatu"
+ },
+ "KPW": {
+ "name": "Won norte-coreano"
+ },
+ "KRW": {
+ "name": "Won sul-coreano",
+ "symbol": "₩"
+ },
+ "KES": {
+ "name": "Xelim queniano"
+ },
+ "SOS": {
+ "name": "Xelim somali"
+ },
+ "TZS": {
+ "name": "Xelim tanzaniano"
+ },
+ "UGX": {
+ "name": "Xelim ugandense"
+ },
+ "CNY": {
+ "name": "Yuan chinês",
+ "symbol": "CN¥"
+ },
+ "PLN": {
+ "name": "Zloti polaco"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/pt-MZ.json b/vendor/commerceguys/intl/resources/currency/pt-MZ.json
new file mode 100644
index 000000000..df00f7b90
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/pt-MZ.json
@@ -0,0 +1,498 @@
+{
+ "AFN": {
+ "name": "Afegani do Afeganistão"
+ },
+ "MGA": {
+ "name": "Ariari de Madagáscar"
+ },
+ "THB": {
+ "name": "Baht da Tailândia",
+ "symbol": "฿"
+ },
+ "PAB": {
+ "name": "Balboa do Panamá"
+ },
+ "ETB": {
+ "name": "Birr etíope"
+ },
+ "VEF": {
+ "name": "Bolívar venezuelano"
+ },
+ "BOB": {
+ "name": "Boliviano"
+ },
+ "GHS": {
+ "name": "Cedi de Gana"
+ },
+ "SVC": {
+ "name": "Colom salvadorenho"
+ },
+ "CRC": {
+ "name": "Colon costa-riquenho"
+ },
+ "NIO": {
+ "name": "Córdoba nicaraguano"
+ },
+ "CZK": {
+ "name": "Coroa checa"
+ },
+ "DKK": {
+ "name": "Coroa dinamarquesa"
+ },
+ "ISK": {
+ "name": "Coroa islandesa"
+ },
+ "NOK": {
+ "name": "Coroa norueguesa"
+ },
+ "SEK": {
+ "name": "Coroa sueca"
+ },
+ "GMD": {
+ "name": "Dalasi da Gâmbia"
+ },
+ "DZD": {
+ "name": "Dinar argelino"
+ },
+ "BHD": {
+ "name": "Dinar baremita"
+ },
+ "IQD": {
+ "name": "Dinar iraquiano"
+ },
+ "JOD": {
+ "name": "Dinar jordaniano"
+ },
+ "KWD": {
+ "name": "Dinar kuwaitiano"
+ },
+ "LYD": {
+ "name": "Dinar líbio"
+ },
+ "MKD": {
+ "name": "Dinar macedónio"
+ },
+ "RSD": {
+ "name": "Dinar sérvio"
+ },
+ "TND": {
+ "name": "Dinar tunisino"
+ },
+ "AED": {
+ "name": "Dirham dos Emirados Árabes Unidos"
+ },
+ "MAD": {
+ "name": "Dirham marroquino"
+ },
+ "STD": {
+ "name": "Dobra de São Tomé e Príncipe"
+ },
+ "AUD": {
+ "name": "Dólar australiano",
+ "symbol": "AU$"
+ },
+ "BBD": {
+ "name": "Dólar barbadense"
+ },
+ "BZD": {
+ "name": "Dólar belizense"
+ },
+ "BMD": {
+ "name": "Dólar bermudense"
+ },
+ "BND": {
+ "name": "Dólar bruneíno"
+ },
+ "CAD": {
+ "name": "Dólar canadiano",
+ "symbol": "CA$"
+ },
+ "GYD": {
+ "name": "Dólar da Guiana"
+ },
+ "NAD": {
+ "name": "Dólar da Namíbia"
+ },
+ "BSD": {
+ "name": "Dólar das Bahamas"
+ },
+ "XCD": {
+ "name": "Dólar das Caraíbas Orientais",
+ "symbol": "EC$"
+ },
+ "KYD": {
+ "name": "Dólar das Ilhas Caimão"
+ },
+ "SBD": {
+ "name": "Dólar das Ilhas Salomão"
+ },
+ "FJD": {
+ "name": "Dólar de Fiji"
+ },
+ "HKD": {
+ "name": "Dólar de Hong Kong",
+ "symbol": "HK$"
+ },
+ "SGD": {
+ "name": "Dólar de Singapura"
+ },
+ "TTD": {
+ "name": "Dólar de Trindade e Tobago"
+ },
+ "SRD": {
+ "name": "Dólar do Suriname"
+ },
+ "ZWL": {
+ "name": "Dólar do Zimbábue (2009)"
+ },
+ "USD": {
+ "name": "Dólar dos Estados Unidos",
+ "symbol": "US$"
+ },
+ "JMD": {
+ "name": "Dólar jamaicano"
+ },
+ "LRD": {
+ "name": "Dólar liberiano"
+ },
+ "NZD": {
+ "name": "Dólar neozelandês",
+ "symbol": "NZ$"
+ },
+ "VND": {
+ "name": "Dong vietnamita",
+ "symbol": "₫"
+ },
+ "AMD": {
+ "name": "Dram arménio"
+ },
+ "CVE": {
+ "name": "Escudo cabo-verdiano"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "ANG": {
+ "name": "Florim das Antilhas Holandesas"
+ },
+ "AWG": {
+ "name": "Florim de Aruba"
+ },
+ "HUF": {
+ "name": "Forint húngaro"
+ },
+ "BIF": {
+ "name": "Franco burundiano"
+ },
+ "XOF": {
+ "name": "Franco CFA (BCEAO)",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Franco CFA (BEAC)",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "Franco CFP",
+ "symbol": "CFPF"
+ },
+ "KMF": {
+ "name": "Franco comoriano"
+ },
+ "CDF": {
+ "name": "Franco congolês"
+ },
+ "GNF": {
+ "name": "Franco guineense"
+ },
+ "DJF": {
+ "name": "Franco jibutiano"
+ },
+ "RWF": {
+ "name": "Franco ruandês"
+ },
+ "CHF": {
+ "name": "Franco suíço"
+ },
+ "HTG": {
+ "name": "Gourde haitiano"
+ },
+ "PYG": {
+ "name": "Guarani paraguaio"
+ },
+ "UAH": {
+ "name": "Hryvnia da Ucrânia"
+ },
+ "JPY": {
+ "name": "Iene japonês",
+ "symbol": "JP¥"
+ },
+ "PGK": {
+ "name": "Kina da Papua-Nova Guiné"
+ },
+ "LAK": {
+ "name": "Kip de Laos"
+ },
+ "HRK": {
+ "name": "Kuna croata"
+ },
+ "MWK": {
+ "name": "Kwacha do Malawi"
+ },
+ "ZMW": {
+ "name": "Kwacha zambiano"
+ },
+ "AOA": {
+ "name": "Kwanza angolano"
+ },
+ "MMK": {
+ "name": "Kyat de Mianmar"
+ },
+ "GEL": {
+ "name": "Lari georgiano"
+ },
+ "ALL": {
+ "name": "Lek albanês"
+ },
+ "HNL": {
+ "name": "Lempira das Honduras"
+ },
+ "SLL": {
+ "name": "Leone de Serra Leoa"
+ },
+ "MDL": {
+ "name": "Leu moldavo"
+ },
+ "RON": {
+ "name": "Leu romeno"
+ },
+ "BGN": {
+ "name": "Lev búlgaro"
+ },
+ "FKP": {
+ "name": "Libra das Ilhas Falkland"
+ },
+ "GIP": {
+ "name": "Libra de Gibraltar"
+ },
+ "SHP": {
+ "name": "Libra de Santa Helena"
+ },
+ "EGP": {
+ "name": "Libra egípcia"
+ },
+ "GBP": {
+ "name": "Libra esterlina britânica",
+ "symbol": "£"
+ },
+ "LBP": {
+ "name": "Libra libanesa"
+ },
+ "SYP": {
+ "name": "Libra síria"
+ },
+ "SDG": {
+ "name": "Libra sudanesa"
+ },
+ "SSP": {
+ "name": "Libra sul-sudanesa"
+ },
+ "SZL": {
+ "name": "Lilangeni da Suazilândia"
+ },
+ "TRY": {
+ "name": "Lira turca"
+ },
+ "LSL": {
+ "name": "Loti do Lesoto"
+ },
+ "AZN": {
+ "name": "Manat do Azerbaijão"
+ },
+ "TMT": {
+ "name": "Manat do Turquemenistão"
+ },
+ "BAM": {
+ "name": "Marco bósnio-herzegóvino conversível"
+ },
+ "MZN": {
+ "name": "Metical de Moçambique",
+ "symbol": "MTn"
+ },
+ "NGN": {
+ "name": "Naira nigeriana"
+ },
+ "ERN": {
+ "name": "Nakfa da Eritreia"
+ },
+ "BTN": {
+ "name": "Ngultrum do Butão"
+ },
+ "TWD": {
+ "name": "Novo dólar taiwanês",
+ "symbol": "NT$"
+ },
+ "PEN": {
+ "name": "Novo sol peruano"
+ },
+ "MRO": {
+ "name": "Ouguiya da Mauritânia"
+ },
+ "TOP": {
+ "name": "Paʻanga de Tonga"
+ },
+ "MOP": {
+ "name": "Pataca de Macau"
+ },
+ "ARS": {
+ "name": "Peso argentino"
+ },
+ "CLP": {
+ "name": "Peso chileno"
+ },
+ "COP": {
+ "name": "Peso colombiano"
+ },
+ "CUP": {
+ "name": "Peso cubano"
+ },
+ "CUC": {
+ "name": "Peso cubano conversível"
+ },
+ "DOP": {
+ "name": "Peso dominicano"
+ },
+ "PHP": {
+ "name": "Peso filipino"
+ },
+ "MXN": {
+ "name": "Peso mexicano",
+ "symbol": "MX$"
+ },
+ "UYU": {
+ "name": "Peso uruguaio"
+ },
+ "BWP": {
+ "name": "Pula de Botswana"
+ },
+ "GTQ": {
+ "name": "Quetzal da Guatemala"
+ },
+ "ZAR": {
+ "name": "Rand sul-africano"
+ },
+ "BRL": {
+ "name": "Real brasileiro",
+ "symbol": "R$"
+ },
+ "OMR": {
+ "name": "Rial de Omã"
+ },
+ "QAR": {
+ "name": "Rial do Catar"
+ },
+ "YER": {
+ "name": "Rial iemenita"
+ },
+ "IRR": {
+ "name": "Rial iraniano"
+ },
+ "SAR": {
+ "name": "Rial saudita"
+ },
+ "KHR": {
+ "name": "Riel cambojano"
+ },
+ "MYR": {
+ "name": "Ringgit malaio"
+ },
+ "BYN": {
+ "name": "Rublo bielorrusso"
+ },
+ "BYR": {
+ "name": "Rublo bielorrusso (2000–2016)"
+ },
+ "RUB": {
+ "name": "Rublo russo"
+ },
+ "MVR": {
+ "name": "Rupia das Ilhas Maldivas"
+ },
+ "LKR": {
+ "name": "Rupia do Sri Lanka"
+ },
+ "INR": {
+ "name": "Rupia indiana",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Rupia indonésia"
+ },
+ "MUR": {
+ "name": "Rupia mauriciana"
+ },
+ "NPR": {
+ "name": "Rupia nepalesa"
+ },
+ "PKR": {
+ "name": "Rupia paquistanesa"
+ },
+ "SCR": {
+ "name": "Rupia seichelense"
+ },
+ "ILS": {
+ "name": "Sheqel novo israelita",
+ "symbol": "₪"
+ },
+ "KGS": {
+ "name": "Som do Quirguistão"
+ },
+ "UZS": {
+ "name": "Som do Uzbequistão"
+ },
+ "TJS": {
+ "name": "Somoni do Tajaquistão"
+ },
+ "BDT": {
+ "name": "Taka de Bangladesh"
+ },
+ "WST": {
+ "name": "Tala samoano"
+ },
+ "KZT": {
+ "name": "Tenge do Cazaquistão"
+ },
+ "MNT": {
+ "name": "Tugrik da Mongólia"
+ },
+ "VUV": {
+ "name": "Vatu de Vanuatu"
+ },
+ "KPW": {
+ "name": "Won norte-coreano"
+ },
+ "KRW": {
+ "name": "Won sul-coreano",
+ "symbol": "₩"
+ },
+ "KES": {
+ "name": "Xelim queniano"
+ },
+ "SOS": {
+ "name": "Xelim somali"
+ },
+ "TZS": {
+ "name": "Xelim tanzaniano"
+ },
+ "UGX": {
+ "name": "Xelim ugandense"
+ },
+ "CNY": {
+ "name": "Yuan chinês",
+ "symbol": "CN¥"
+ },
+ "PLN": {
+ "name": "Zloti polaco"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/pt-PT.json b/vendor/commerceguys/intl/resources/currency/pt-PT.json
new file mode 100644
index 000000000..e554f1fe6
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/pt-PT.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afegani do Afeganistão"
+ },
+ "MGA": {
+ "name": "Ariari de Madagáscar"
+ },
+ "THB": {
+ "name": "Baht da Tailândia",
+ "symbol": "฿"
+ },
+ "PAB": {
+ "name": "Balboa do Panamá"
+ },
+ "ETB": {
+ "name": "Birr etíope"
+ },
+ "VEF": {
+ "name": "Bolívar venezuelano"
+ },
+ "BOB": {
+ "name": "Boliviano"
+ },
+ "GHS": {
+ "name": "Cedi de Gana"
+ },
+ "SVC": {
+ "name": "Colom salvadorenho"
+ },
+ "CRC": {
+ "name": "Colon costa-riquenho"
+ },
+ "NIO": {
+ "name": "Córdoba nicaraguano"
+ },
+ "CZK": {
+ "name": "Coroa checa"
+ },
+ "DKK": {
+ "name": "Coroa dinamarquesa"
+ },
+ "ISK": {
+ "name": "Coroa islandesa"
+ },
+ "NOK": {
+ "name": "Coroa norueguesa"
+ },
+ "SEK": {
+ "name": "Coroa sueca"
+ },
+ "GMD": {
+ "name": "Dalasi da Gâmbia"
+ },
+ "DZD": {
+ "name": "Dinar argelino"
+ },
+ "BHD": {
+ "name": "Dinar baremita"
+ },
+ "IQD": {
+ "name": "Dinar iraquiano"
+ },
+ "JOD": {
+ "name": "Dinar jordaniano"
+ },
+ "KWD": {
+ "name": "Dinar kuwaitiano"
+ },
+ "LYD": {
+ "name": "Dinar líbio"
+ },
+ "MKD": {
+ "name": "Dinar macedónio"
+ },
+ "RSD": {
+ "name": "Dinar sérvio"
+ },
+ "TND": {
+ "name": "Dinar tunisino"
+ },
+ "AED": {
+ "name": "Dirham dos Emirados Árabes Unidos"
+ },
+ "MAD": {
+ "name": "Dirham marroquino"
+ },
+ "STD": {
+ "name": "Dobra de São Tomé e Príncipe"
+ },
+ "AUD": {
+ "name": "Dólar australiano",
+ "symbol": "AU$"
+ },
+ "BBD": {
+ "name": "Dólar barbadense"
+ },
+ "BZD": {
+ "name": "Dólar belizense"
+ },
+ "BMD": {
+ "name": "Dólar bermudense"
+ },
+ "BND": {
+ "name": "Dólar bruneíno"
+ },
+ "CAD": {
+ "name": "Dólar canadiano",
+ "symbol": "CA$"
+ },
+ "GYD": {
+ "name": "Dólar da Guiana"
+ },
+ "NAD": {
+ "name": "Dólar da Namíbia"
+ },
+ "BSD": {
+ "name": "Dólar das Bahamas"
+ },
+ "XCD": {
+ "name": "Dólar das Caraíbas Orientais",
+ "symbol": "EC$"
+ },
+ "KYD": {
+ "name": "Dólar das Ilhas Caimão"
+ },
+ "SBD": {
+ "name": "Dólar das Ilhas Salomão"
+ },
+ "FJD": {
+ "name": "Dólar de Fiji"
+ },
+ "HKD": {
+ "name": "Dólar de Hong Kong",
+ "symbol": "HK$"
+ },
+ "SGD": {
+ "name": "Dólar de Singapura"
+ },
+ "TTD": {
+ "name": "Dólar de Trindade e Tobago"
+ },
+ "SRD": {
+ "name": "Dólar do Suriname"
+ },
+ "ZWL": {
+ "name": "Dólar do Zimbábue (2009)"
+ },
+ "USD": {
+ "name": "Dólar dos Estados Unidos",
+ "symbol": "US$"
+ },
+ "JMD": {
+ "name": "Dólar jamaicano"
+ },
+ "LRD": {
+ "name": "Dólar liberiano"
+ },
+ "NZD": {
+ "name": "Dólar neozelandês",
+ "symbol": "NZ$"
+ },
+ "VND": {
+ "name": "Dong vietnamita",
+ "symbol": "₫"
+ },
+ "AMD": {
+ "name": "Dram arménio"
+ },
+ "CVE": {
+ "name": "Escudo cabo-verdiano"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "ANG": {
+ "name": "Florim das Antilhas Holandesas"
+ },
+ "AWG": {
+ "name": "Florim de Aruba"
+ },
+ "HUF": {
+ "name": "Forint húngaro"
+ },
+ "BIF": {
+ "name": "Franco burundiano"
+ },
+ "XOF": {
+ "name": "Franco CFA (BCEAO)",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Franco CFA (BEAC)",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "Franco CFP",
+ "symbol": "CFPF"
+ },
+ "KMF": {
+ "name": "Franco comoriano"
+ },
+ "CDF": {
+ "name": "Franco congolês"
+ },
+ "GNF": {
+ "name": "Franco guineense"
+ },
+ "DJF": {
+ "name": "Franco jibutiano"
+ },
+ "RWF": {
+ "name": "Franco ruandês"
+ },
+ "CHF": {
+ "name": "Franco suíço"
+ },
+ "HTG": {
+ "name": "Gourde haitiano"
+ },
+ "PYG": {
+ "name": "Guarani paraguaio"
+ },
+ "UAH": {
+ "name": "Hryvnia da Ucrânia"
+ },
+ "JPY": {
+ "name": "Iene japonês",
+ "symbol": "JP¥"
+ },
+ "PGK": {
+ "name": "Kina da Papua-Nova Guiné"
+ },
+ "LAK": {
+ "name": "Kip de Laos"
+ },
+ "HRK": {
+ "name": "Kuna croata"
+ },
+ "MWK": {
+ "name": "Kwacha do Malawi"
+ },
+ "ZMW": {
+ "name": "Kwacha zambiano"
+ },
+ "AOA": {
+ "name": "Kwanza angolano"
+ },
+ "MMK": {
+ "name": "Kyat de Mianmar"
+ },
+ "GEL": {
+ "name": "Lari georgiano"
+ },
+ "ALL": {
+ "name": "Lek albanês"
+ },
+ "HNL": {
+ "name": "Lempira das Honduras"
+ },
+ "SLL": {
+ "name": "Leone de Serra Leoa"
+ },
+ "MDL": {
+ "name": "Leu moldavo"
+ },
+ "RON": {
+ "name": "Leu romeno"
+ },
+ "BGN": {
+ "name": "Lev búlgaro"
+ },
+ "FKP": {
+ "name": "Libra das Ilhas Falkland"
+ },
+ "GIP": {
+ "name": "Libra de Gibraltar"
+ },
+ "SHP": {
+ "name": "Libra de Santa Helena"
+ },
+ "EGP": {
+ "name": "Libra egípcia"
+ },
+ "GBP": {
+ "name": "Libra esterlina britânica",
+ "symbol": "£"
+ },
+ "LBP": {
+ "name": "Libra libanesa"
+ },
+ "SYP": {
+ "name": "Libra síria"
+ },
+ "SDG": {
+ "name": "Libra sudanesa"
+ },
+ "SSP": {
+ "name": "Libra sul-sudanesa"
+ },
+ "SZL": {
+ "name": "Lilangeni da Suazilândia"
+ },
+ "TRY": {
+ "name": "Lira turca"
+ },
+ "LSL": {
+ "name": "Loti do Lesoto"
+ },
+ "AZN": {
+ "name": "Manat do Azerbaijão"
+ },
+ "TMT": {
+ "name": "Manat do Turquemenistão"
+ },
+ "BAM": {
+ "name": "Marco bósnio-herzegóvino conversível"
+ },
+ "MZN": {
+ "name": "Metical de Moçambique"
+ },
+ "NGN": {
+ "name": "Naira nigeriana"
+ },
+ "ERN": {
+ "name": "Nakfa da Eritreia"
+ },
+ "BTN": {
+ "name": "Ngultrum do Butão"
+ },
+ "TWD": {
+ "name": "Novo dólar taiwanês",
+ "symbol": "NT$"
+ },
+ "PEN": {
+ "name": "Novo sol peruano"
+ },
+ "MRO": {
+ "name": "Ouguiya da Mauritânia"
+ },
+ "TOP": {
+ "name": "Paʻanga de Tonga"
+ },
+ "MOP": {
+ "name": "Pataca de Macau"
+ },
+ "ARS": {
+ "name": "Peso argentino"
+ },
+ "CLP": {
+ "name": "Peso chileno"
+ },
+ "COP": {
+ "name": "Peso colombiano"
+ },
+ "CUP": {
+ "name": "Peso cubano"
+ },
+ "CUC": {
+ "name": "Peso cubano conversível"
+ },
+ "DOP": {
+ "name": "Peso dominicano"
+ },
+ "PHP": {
+ "name": "Peso filipino"
+ },
+ "MXN": {
+ "name": "Peso mexicano",
+ "symbol": "MX$"
+ },
+ "UYU": {
+ "name": "Peso uruguaio"
+ },
+ "BWP": {
+ "name": "Pula de Botswana"
+ },
+ "GTQ": {
+ "name": "Quetzal da Guatemala"
+ },
+ "ZAR": {
+ "name": "Rand sul-africano"
+ },
+ "BRL": {
+ "name": "Real brasileiro",
+ "symbol": "R$"
+ },
+ "OMR": {
+ "name": "Rial de Omã"
+ },
+ "QAR": {
+ "name": "Rial do Catar"
+ },
+ "YER": {
+ "name": "Rial iemenita"
+ },
+ "IRR": {
+ "name": "Rial iraniano"
+ },
+ "SAR": {
+ "name": "Rial saudita"
+ },
+ "KHR": {
+ "name": "Riel cambojano"
+ },
+ "MYR": {
+ "name": "Ringgit malaio"
+ },
+ "BYN": {
+ "name": "Rublo bielorrusso"
+ },
+ "BYR": {
+ "name": "Rublo bielorrusso (2000–2016)"
+ },
+ "RUB": {
+ "name": "Rublo russo"
+ },
+ "MVR": {
+ "name": "Rupia das Ilhas Maldivas"
+ },
+ "LKR": {
+ "name": "Rupia do Sri Lanka"
+ },
+ "INR": {
+ "name": "Rupia indiana",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Rupia indonésia"
+ },
+ "MUR": {
+ "name": "Rupia mauriciana"
+ },
+ "NPR": {
+ "name": "Rupia nepalesa"
+ },
+ "PKR": {
+ "name": "Rupia paquistanesa"
+ },
+ "SCR": {
+ "name": "Rupia seichelense"
+ },
+ "ILS": {
+ "name": "Sheqel novo israelita",
+ "symbol": "₪"
+ },
+ "KGS": {
+ "name": "Som do Quirguistão"
+ },
+ "UZS": {
+ "name": "Som do Uzbequistão"
+ },
+ "TJS": {
+ "name": "Somoni do Tajaquistão"
+ },
+ "BDT": {
+ "name": "Taka de Bangladesh"
+ },
+ "WST": {
+ "name": "Tala samoano"
+ },
+ "KZT": {
+ "name": "Tenge do Cazaquistão"
+ },
+ "MNT": {
+ "name": "Tugrik da Mongólia"
+ },
+ "VUV": {
+ "name": "Vatu de Vanuatu"
+ },
+ "KPW": {
+ "name": "Won norte-coreano"
+ },
+ "KRW": {
+ "name": "Won sul-coreano",
+ "symbol": "₩"
+ },
+ "KES": {
+ "name": "Xelim queniano"
+ },
+ "SOS": {
+ "name": "Xelim somali"
+ },
+ "TZS": {
+ "name": "Xelim tanzaniano"
+ },
+ "UGX": {
+ "name": "Xelim ugandense"
+ },
+ "CNY": {
+ "name": "Yuan chinês",
+ "symbol": "CN¥"
+ },
+ "PLN": {
+ "name": "Zloti polaco"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/pt-ST.json b/vendor/commerceguys/intl/resources/currency/pt-ST.json
new file mode 100644
index 000000000..9e1aadb6c
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/pt-ST.json
@@ -0,0 +1,498 @@
+{
+ "AFN": {
+ "name": "Afegani do Afeganistão"
+ },
+ "MGA": {
+ "name": "Ariari de Madagáscar"
+ },
+ "THB": {
+ "name": "Baht da Tailândia",
+ "symbol": "฿"
+ },
+ "PAB": {
+ "name": "Balboa do Panamá"
+ },
+ "ETB": {
+ "name": "Birr etíope"
+ },
+ "VEF": {
+ "name": "Bolívar venezuelano"
+ },
+ "BOB": {
+ "name": "Boliviano"
+ },
+ "GHS": {
+ "name": "Cedi de Gana"
+ },
+ "SVC": {
+ "name": "Colom salvadorenho"
+ },
+ "CRC": {
+ "name": "Colon costa-riquenho"
+ },
+ "NIO": {
+ "name": "Córdoba nicaraguano"
+ },
+ "CZK": {
+ "name": "Coroa checa"
+ },
+ "DKK": {
+ "name": "Coroa dinamarquesa"
+ },
+ "ISK": {
+ "name": "Coroa islandesa"
+ },
+ "NOK": {
+ "name": "Coroa norueguesa"
+ },
+ "SEK": {
+ "name": "Coroa sueca"
+ },
+ "GMD": {
+ "name": "Dalasi da Gâmbia"
+ },
+ "DZD": {
+ "name": "Dinar argelino"
+ },
+ "BHD": {
+ "name": "Dinar baremita"
+ },
+ "IQD": {
+ "name": "Dinar iraquiano"
+ },
+ "JOD": {
+ "name": "Dinar jordaniano"
+ },
+ "KWD": {
+ "name": "Dinar kuwaitiano"
+ },
+ "LYD": {
+ "name": "Dinar líbio"
+ },
+ "MKD": {
+ "name": "Dinar macedónio"
+ },
+ "RSD": {
+ "name": "Dinar sérvio"
+ },
+ "TND": {
+ "name": "Dinar tunisino"
+ },
+ "AED": {
+ "name": "Dirham dos Emirados Árabes Unidos"
+ },
+ "MAD": {
+ "name": "Dirham marroquino"
+ },
+ "STD": {
+ "name": "Dobra de São Tomé e Príncipe",
+ "symbol": "Db"
+ },
+ "AUD": {
+ "name": "Dólar australiano",
+ "symbol": "AU$"
+ },
+ "BBD": {
+ "name": "Dólar barbadense"
+ },
+ "BZD": {
+ "name": "Dólar belizense"
+ },
+ "BMD": {
+ "name": "Dólar bermudense"
+ },
+ "BND": {
+ "name": "Dólar bruneíno"
+ },
+ "CAD": {
+ "name": "Dólar canadiano",
+ "symbol": "CA$"
+ },
+ "GYD": {
+ "name": "Dólar da Guiana"
+ },
+ "NAD": {
+ "name": "Dólar da Namíbia"
+ },
+ "BSD": {
+ "name": "Dólar das Bahamas"
+ },
+ "XCD": {
+ "name": "Dólar das Caraíbas Orientais",
+ "symbol": "EC$"
+ },
+ "KYD": {
+ "name": "Dólar das Ilhas Caimão"
+ },
+ "SBD": {
+ "name": "Dólar das Ilhas Salomão"
+ },
+ "FJD": {
+ "name": "Dólar de Fiji"
+ },
+ "HKD": {
+ "name": "Dólar de Hong Kong",
+ "symbol": "HK$"
+ },
+ "SGD": {
+ "name": "Dólar de Singapura"
+ },
+ "TTD": {
+ "name": "Dólar de Trindade e Tobago"
+ },
+ "SRD": {
+ "name": "Dólar do Suriname"
+ },
+ "ZWL": {
+ "name": "Dólar do Zimbábue (2009)"
+ },
+ "USD": {
+ "name": "Dólar dos Estados Unidos",
+ "symbol": "US$"
+ },
+ "JMD": {
+ "name": "Dólar jamaicano"
+ },
+ "LRD": {
+ "name": "Dólar liberiano"
+ },
+ "NZD": {
+ "name": "Dólar neozelandês",
+ "symbol": "NZ$"
+ },
+ "VND": {
+ "name": "Dong vietnamita",
+ "symbol": "₫"
+ },
+ "AMD": {
+ "name": "Dram arménio"
+ },
+ "CVE": {
+ "name": "Escudo cabo-verdiano"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "ANG": {
+ "name": "Florim das Antilhas Holandesas"
+ },
+ "AWG": {
+ "name": "Florim de Aruba"
+ },
+ "HUF": {
+ "name": "Forint húngaro"
+ },
+ "BIF": {
+ "name": "Franco burundiano"
+ },
+ "XOF": {
+ "name": "Franco CFA (BCEAO)",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Franco CFA (BEAC)",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "Franco CFP",
+ "symbol": "CFPF"
+ },
+ "KMF": {
+ "name": "Franco comoriano"
+ },
+ "CDF": {
+ "name": "Franco congolês"
+ },
+ "GNF": {
+ "name": "Franco guineense"
+ },
+ "DJF": {
+ "name": "Franco jibutiano"
+ },
+ "RWF": {
+ "name": "Franco ruandês"
+ },
+ "CHF": {
+ "name": "Franco suíço"
+ },
+ "HTG": {
+ "name": "Gourde haitiano"
+ },
+ "PYG": {
+ "name": "Guarani paraguaio"
+ },
+ "UAH": {
+ "name": "Hryvnia da Ucrânia"
+ },
+ "JPY": {
+ "name": "Iene japonês",
+ "symbol": "JP¥"
+ },
+ "PGK": {
+ "name": "Kina da Papua-Nova Guiné"
+ },
+ "LAK": {
+ "name": "Kip de Laos"
+ },
+ "HRK": {
+ "name": "Kuna croata"
+ },
+ "MWK": {
+ "name": "Kwacha do Malawi"
+ },
+ "ZMW": {
+ "name": "Kwacha zambiano"
+ },
+ "AOA": {
+ "name": "Kwanza angolano"
+ },
+ "MMK": {
+ "name": "Kyat de Mianmar"
+ },
+ "GEL": {
+ "name": "Lari georgiano"
+ },
+ "ALL": {
+ "name": "Lek albanês"
+ },
+ "HNL": {
+ "name": "Lempira das Honduras"
+ },
+ "SLL": {
+ "name": "Leone de Serra Leoa"
+ },
+ "MDL": {
+ "name": "Leu moldavo"
+ },
+ "RON": {
+ "name": "Leu romeno"
+ },
+ "BGN": {
+ "name": "Lev búlgaro"
+ },
+ "FKP": {
+ "name": "Libra das Ilhas Falkland"
+ },
+ "GIP": {
+ "name": "Libra de Gibraltar"
+ },
+ "SHP": {
+ "name": "Libra de Santa Helena"
+ },
+ "EGP": {
+ "name": "Libra egípcia"
+ },
+ "GBP": {
+ "name": "Libra esterlina britânica",
+ "symbol": "£"
+ },
+ "LBP": {
+ "name": "Libra libanesa"
+ },
+ "SYP": {
+ "name": "Libra síria"
+ },
+ "SDG": {
+ "name": "Libra sudanesa"
+ },
+ "SSP": {
+ "name": "Libra sul-sudanesa"
+ },
+ "SZL": {
+ "name": "Lilangeni da Suazilândia"
+ },
+ "TRY": {
+ "name": "Lira turca"
+ },
+ "LSL": {
+ "name": "Loti do Lesoto"
+ },
+ "AZN": {
+ "name": "Manat do Azerbaijão"
+ },
+ "TMT": {
+ "name": "Manat do Turquemenistão"
+ },
+ "BAM": {
+ "name": "Marco bósnio-herzegóvino conversível"
+ },
+ "MZN": {
+ "name": "Metical de Moçambique"
+ },
+ "NGN": {
+ "name": "Naira nigeriana"
+ },
+ "ERN": {
+ "name": "Nakfa da Eritreia"
+ },
+ "BTN": {
+ "name": "Ngultrum do Butão"
+ },
+ "TWD": {
+ "name": "Novo dólar taiwanês",
+ "symbol": "NT$"
+ },
+ "PEN": {
+ "name": "Novo sol peruano"
+ },
+ "MRO": {
+ "name": "Ouguiya da Mauritânia"
+ },
+ "TOP": {
+ "name": "Paʻanga de Tonga"
+ },
+ "MOP": {
+ "name": "Pataca de Macau"
+ },
+ "ARS": {
+ "name": "Peso argentino"
+ },
+ "CLP": {
+ "name": "Peso chileno"
+ },
+ "COP": {
+ "name": "Peso colombiano"
+ },
+ "CUP": {
+ "name": "Peso cubano"
+ },
+ "CUC": {
+ "name": "Peso cubano conversível"
+ },
+ "DOP": {
+ "name": "Peso dominicano"
+ },
+ "PHP": {
+ "name": "Peso filipino"
+ },
+ "MXN": {
+ "name": "Peso mexicano",
+ "symbol": "MX$"
+ },
+ "UYU": {
+ "name": "Peso uruguaio"
+ },
+ "BWP": {
+ "name": "Pula de Botswana"
+ },
+ "GTQ": {
+ "name": "Quetzal da Guatemala"
+ },
+ "ZAR": {
+ "name": "Rand sul-africano"
+ },
+ "BRL": {
+ "name": "Real brasileiro",
+ "symbol": "R$"
+ },
+ "OMR": {
+ "name": "Rial de Omã"
+ },
+ "QAR": {
+ "name": "Rial do Catar"
+ },
+ "YER": {
+ "name": "Rial iemenita"
+ },
+ "IRR": {
+ "name": "Rial iraniano"
+ },
+ "SAR": {
+ "name": "Rial saudita"
+ },
+ "KHR": {
+ "name": "Riel cambojano"
+ },
+ "MYR": {
+ "name": "Ringgit malaio"
+ },
+ "BYN": {
+ "name": "Rublo bielorrusso"
+ },
+ "BYR": {
+ "name": "Rublo bielorrusso (2000–2016)"
+ },
+ "RUB": {
+ "name": "Rublo russo"
+ },
+ "MVR": {
+ "name": "Rupia das Ilhas Maldivas"
+ },
+ "LKR": {
+ "name": "Rupia do Sri Lanka"
+ },
+ "INR": {
+ "name": "Rupia indiana",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Rupia indonésia"
+ },
+ "MUR": {
+ "name": "Rupia mauriciana"
+ },
+ "NPR": {
+ "name": "Rupia nepalesa"
+ },
+ "PKR": {
+ "name": "Rupia paquistanesa"
+ },
+ "SCR": {
+ "name": "Rupia seichelense"
+ },
+ "ILS": {
+ "name": "Sheqel novo israelita",
+ "symbol": "₪"
+ },
+ "KGS": {
+ "name": "Som do Quirguistão"
+ },
+ "UZS": {
+ "name": "Som do Uzbequistão"
+ },
+ "TJS": {
+ "name": "Somoni do Tajaquistão"
+ },
+ "BDT": {
+ "name": "Taka de Bangladesh"
+ },
+ "WST": {
+ "name": "Tala samoano"
+ },
+ "KZT": {
+ "name": "Tenge do Cazaquistão"
+ },
+ "MNT": {
+ "name": "Tugrik da Mongólia"
+ },
+ "VUV": {
+ "name": "Vatu de Vanuatu"
+ },
+ "KPW": {
+ "name": "Won norte-coreano"
+ },
+ "KRW": {
+ "name": "Won sul-coreano",
+ "symbol": "₩"
+ },
+ "KES": {
+ "name": "Xelim queniano"
+ },
+ "SOS": {
+ "name": "Xelim somali"
+ },
+ "TZS": {
+ "name": "Xelim tanzaniano"
+ },
+ "UGX": {
+ "name": "Xelim ugandense"
+ },
+ "CNY": {
+ "name": "Yuan chinês",
+ "symbol": "CN¥"
+ },
+ "PLN": {
+ "name": "Zloti polaco"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/pt-TL.json b/vendor/commerceguys/intl/resources/currency/pt-TL.json
new file mode 100644
index 000000000..e554f1fe6
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/pt-TL.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afegani do Afeganistão"
+ },
+ "MGA": {
+ "name": "Ariari de Madagáscar"
+ },
+ "THB": {
+ "name": "Baht da Tailândia",
+ "symbol": "฿"
+ },
+ "PAB": {
+ "name": "Balboa do Panamá"
+ },
+ "ETB": {
+ "name": "Birr etíope"
+ },
+ "VEF": {
+ "name": "Bolívar venezuelano"
+ },
+ "BOB": {
+ "name": "Boliviano"
+ },
+ "GHS": {
+ "name": "Cedi de Gana"
+ },
+ "SVC": {
+ "name": "Colom salvadorenho"
+ },
+ "CRC": {
+ "name": "Colon costa-riquenho"
+ },
+ "NIO": {
+ "name": "Córdoba nicaraguano"
+ },
+ "CZK": {
+ "name": "Coroa checa"
+ },
+ "DKK": {
+ "name": "Coroa dinamarquesa"
+ },
+ "ISK": {
+ "name": "Coroa islandesa"
+ },
+ "NOK": {
+ "name": "Coroa norueguesa"
+ },
+ "SEK": {
+ "name": "Coroa sueca"
+ },
+ "GMD": {
+ "name": "Dalasi da Gâmbia"
+ },
+ "DZD": {
+ "name": "Dinar argelino"
+ },
+ "BHD": {
+ "name": "Dinar baremita"
+ },
+ "IQD": {
+ "name": "Dinar iraquiano"
+ },
+ "JOD": {
+ "name": "Dinar jordaniano"
+ },
+ "KWD": {
+ "name": "Dinar kuwaitiano"
+ },
+ "LYD": {
+ "name": "Dinar líbio"
+ },
+ "MKD": {
+ "name": "Dinar macedónio"
+ },
+ "RSD": {
+ "name": "Dinar sérvio"
+ },
+ "TND": {
+ "name": "Dinar tunisino"
+ },
+ "AED": {
+ "name": "Dirham dos Emirados Árabes Unidos"
+ },
+ "MAD": {
+ "name": "Dirham marroquino"
+ },
+ "STD": {
+ "name": "Dobra de São Tomé e Príncipe"
+ },
+ "AUD": {
+ "name": "Dólar australiano",
+ "symbol": "AU$"
+ },
+ "BBD": {
+ "name": "Dólar barbadense"
+ },
+ "BZD": {
+ "name": "Dólar belizense"
+ },
+ "BMD": {
+ "name": "Dólar bermudense"
+ },
+ "BND": {
+ "name": "Dólar bruneíno"
+ },
+ "CAD": {
+ "name": "Dólar canadiano",
+ "symbol": "CA$"
+ },
+ "GYD": {
+ "name": "Dólar da Guiana"
+ },
+ "NAD": {
+ "name": "Dólar da Namíbia"
+ },
+ "BSD": {
+ "name": "Dólar das Bahamas"
+ },
+ "XCD": {
+ "name": "Dólar das Caraíbas Orientais",
+ "symbol": "EC$"
+ },
+ "KYD": {
+ "name": "Dólar das Ilhas Caimão"
+ },
+ "SBD": {
+ "name": "Dólar das Ilhas Salomão"
+ },
+ "FJD": {
+ "name": "Dólar de Fiji"
+ },
+ "HKD": {
+ "name": "Dólar de Hong Kong",
+ "symbol": "HK$"
+ },
+ "SGD": {
+ "name": "Dólar de Singapura"
+ },
+ "TTD": {
+ "name": "Dólar de Trindade e Tobago"
+ },
+ "SRD": {
+ "name": "Dólar do Suriname"
+ },
+ "ZWL": {
+ "name": "Dólar do Zimbábue (2009)"
+ },
+ "USD": {
+ "name": "Dólar dos Estados Unidos",
+ "symbol": "US$"
+ },
+ "JMD": {
+ "name": "Dólar jamaicano"
+ },
+ "LRD": {
+ "name": "Dólar liberiano"
+ },
+ "NZD": {
+ "name": "Dólar neozelandês",
+ "symbol": "NZ$"
+ },
+ "VND": {
+ "name": "Dong vietnamita",
+ "symbol": "₫"
+ },
+ "AMD": {
+ "name": "Dram arménio"
+ },
+ "CVE": {
+ "name": "Escudo cabo-verdiano"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "ANG": {
+ "name": "Florim das Antilhas Holandesas"
+ },
+ "AWG": {
+ "name": "Florim de Aruba"
+ },
+ "HUF": {
+ "name": "Forint húngaro"
+ },
+ "BIF": {
+ "name": "Franco burundiano"
+ },
+ "XOF": {
+ "name": "Franco CFA (BCEAO)",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Franco CFA (BEAC)",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "Franco CFP",
+ "symbol": "CFPF"
+ },
+ "KMF": {
+ "name": "Franco comoriano"
+ },
+ "CDF": {
+ "name": "Franco congolês"
+ },
+ "GNF": {
+ "name": "Franco guineense"
+ },
+ "DJF": {
+ "name": "Franco jibutiano"
+ },
+ "RWF": {
+ "name": "Franco ruandês"
+ },
+ "CHF": {
+ "name": "Franco suíço"
+ },
+ "HTG": {
+ "name": "Gourde haitiano"
+ },
+ "PYG": {
+ "name": "Guarani paraguaio"
+ },
+ "UAH": {
+ "name": "Hryvnia da Ucrânia"
+ },
+ "JPY": {
+ "name": "Iene japonês",
+ "symbol": "JP¥"
+ },
+ "PGK": {
+ "name": "Kina da Papua-Nova Guiné"
+ },
+ "LAK": {
+ "name": "Kip de Laos"
+ },
+ "HRK": {
+ "name": "Kuna croata"
+ },
+ "MWK": {
+ "name": "Kwacha do Malawi"
+ },
+ "ZMW": {
+ "name": "Kwacha zambiano"
+ },
+ "AOA": {
+ "name": "Kwanza angolano"
+ },
+ "MMK": {
+ "name": "Kyat de Mianmar"
+ },
+ "GEL": {
+ "name": "Lari georgiano"
+ },
+ "ALL": {
+ "name": "Lek albanês"
+ },
+ "HNL": {
+ "name": "Lempira das Honduras"
+ },
+ "SLL": {
+ "name": "Leone de Serra Leoa"
+ },
+ "MDL": {
+ "name": "Leu moldavo"
+ },
+ "RON": {
+ "name": "Leu romeno"
+ },
+ "BGN": {
+ "name": "Lev búlgaro"
+ },
+ "FKP": {
+ "name": "Libra das Ilhas Falkland"
+ },
+ "GIP": {
+ "name": "Libra de Gibraltar"
+ },
+ "SHP": {
+ "name": "Libra de Santa Helena"
+ },
+ "EGP": {
+ "name": "Libra egípcia"
+ },
+ "GBP": {
+ "name": "Libra esterlina britânica",
+ "symbol": "£"
+ },
+ "LBP": {
+ "name": "Libra libanesa"
+ },
+ "SYP": {
+ "name": "Libra síria"
+ },
+ "SDG": {
+ "name": "Libra sudanesa"
+ },
+ "SSP": {
+ "name": "Libra sul-sudanesa"
+ },
+ "SZL": {
+ "name": "Lilangeni da Suazilândia"
+ },
+ "TRY": {
+ "name": "Lira turca"
+ },
+ "LSL": {
+ "name": "Loti do Lesoto"
+ },
+ "AZN": {
+ "name": "Manat do Azerbaijão"
+ },
+ "TMT": {
+ "name": "Manat do Turquemenistão"
+ },
+ "BAM": {
+ "name": "Marco bósnio-herzegóvino conversível"
+ },
+ "MZN": {
+ "name": "Metical de Moçambique"
+ },
+ "NGN": {
+ "name": "Naira nigeriana"
+ },
+ "ERN": {
+ "name": "Nakfa da Eritreia"
+ },
+ "BTN": {
+ "name": "Ngultrum do Butão"
+ },
+ "TWD": {
+ "name": "Novo dólar taiwanês",
+ "symbol": "NT$"
+ },
+ "PEN": {
+ "name": "Novo sol peruano"
+ },
+ "MRO": {
+ "name": "Ouguiya da Mauritânia"
+ },
+ "TOP": {
+ "name": "Paʻanga de Tonga"
+ },
+ "MOP": {
+ "name": "Pataca de Macau"
+ },
+ "ARS": {
+ "name": "Peso argentino"
+ },
+ "CLP": {
+ "name": "Peso chileno"
+ },
+ "COP": {
+ "name": "Peso colombiano"
+ },
+ "CUP": {
+ "name": "Peso cubano"
+ },
+ "CUC": {
+ "name": "Peso cubano conversível"
+ },
+ "DOP": {
+ "name": "Peso dominicano"
+ },
+ "PHP": {
+ "name": "Peso filipino"
+ },
+ "MXN": {
+ "name": "Peso mexicano",
+ "symbol": "MX$"
+ },
+ "UYU": {
+ "name": "Peso uruguaio"
+ },
+ "BWP": {
+ "name": "Pula de Botswana"
+ },
+ "GTQ": {
+ "name": "Quetzal da Guatemala"
+ },
+ "ZAR": {
+ "name": "Rand sul-africano"
+ },
+ "BRL": {
+ "name": "Real brasileiro",
+ "symbol": "R$"
+ },
+ "OMR": {
+ "name": "Rial de Omã"
+ },
+ "QAR": {
+ "name": "Rial do Catar"
+ },
+ "YER": {
+ "name": "Rial iemenita"
+ },
+ "IRR": {
+ "name": "Rial iraniano"
+ },
+ "SAR": {
+ "name": "Rial saudita"
+ },
+ "KHR": {
+ "name": "Riel cambojano"
+ },
+ "MYR": {
+ "name": "Ringgit malaio"
+ },
+ "BYN": {
+ "name": "Rublo bielorrusso"
+ },
+ "BYR": {
+ "name": "Rublo bielorrusso (2000–2016)"
+ },
+ "RUB": {
+ "name": "Rublo russo"
+ },
+ "MVR": {
+ "name": "Rupia das Ilhas Maldivas"
+ },
+ "LKR": {
+ "name": "Rupia do Sri Lanka"
+ },
+ "INR": {
+ "name": "Rupia indiana",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Rupia indonésia"
+ },
+ "MUR": {
+ "name": "Rupia mauriciana"
+ },
+ "NPR": {
+ "name": "Rupia nepalesa"
+ },
+ "PKR": {
+ "name": "Rupia paquistanesa"
+ },
+ "SCR": {
+ "name": "Rupia seichelense"
+ },
+ "ILS": {
+ "name": "Sheqel novo israelita",
+ "symbol": "₪"
+ },
+ "KGS": {
+ "name": "Som do Quirguistão"
+ },
+ "UZS": {
+ "name": "Som do Uzbequistão"
+ },
+ "TJS": {
+ "name": "Somoni do Tajaquistão"
+ },
+ "BDT": {
+ "name": "Taka de Bangladesh"
+ },
+ "WST": {
+ "name": "Tala samoano"
+ },
+ "KZT": {
+ "name": "Tenge do Cazaquistão"
+ },
+ "MNT": {
+ "name": "Tugrik da Mongólia"
+ },
+ "VUV": {
+ "name": "Vatu de Vanuatu"
+ },
+ "KPW": {
+ "name": "Won norte-coreano"
+ },
+ "KRW": {
+ "name": "Won sul-coreano",
+ "symbol": "₩"
+ },
+ "KES": {
+ "name": "Xelim queniano"
+ },
+ "SOS": {
+ "name": "Xelim somali"
+ },
+ "TZS": {
+ "name": "Xelim tanzaniano"
+ },
+ "UGX": {
+ "name": "Xelim ugandense"
+ },
+ "CNY": {
+ "name": "Yuan chinês",
+ "symbol": "CN¥"
+ },
+ "PLN": {
+ "name": "Zloti polaco"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/pt.json b/vendor/commerceguys/intl/resources/currency/pt.json
new file mode 100644
index 000000000..66d141e0a
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/pt.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afegane afegão"
+ },
+ "MGA": {
+ "name": "Ariary malgaxe"
+ },
+ "THB": {
+ "name": "Baht tailandês",
+ "symbol": "฿"
+ },
+ "PAB": {
+ "name": "Balboa panamenha"
+ },
+ "ETB": {
+ "name": "Birr etíope"
+ },
+ "VEF": {
+ "name": "Bolívar venezuelano"
+ },
+ "BOB": {
+ "name": "Boliviano"
+ },
+ "GHS": {
+ "name": "Cedi ganês"
+ },
+ "SVC": {
+ "name": "Colom salvadorenho"
+ },
+ "CRC": {
+ "name": "Colón costarriquenho"
+ },
+ "NIO": {
+ "name": "Córdoba nicaraguense"
+ },
+ "DKK": {
+ "name": "Coroa dinamarquesa"
+ },
+ "ISK": {
+ "name": "Coroa islandesa"
+ },
+ "NOK": {
+ "name": "Coroa norueguesa"
+ },
+ "SEK": {
+ "name": "Coroa sueca"
+ },
+ "CZK": {
+ "name": "Coroa tcheca"
+ },
+ "GMD": {
+ "name": "Dalasi gambiano"
+ },
+ "DZD": {
+ "name": "Dinar argelino"
+ },
+ "BHD": {
+ "name": "Dinar bareinita"
+ },
+ "IQD": {
+ "name": "Dinar iraquiano"
+ },
+ "JOD": {
+ "name": "Dinar jordaniano"
+ },
+ "KWD": {
+ "name": "Dinar kuwaitiano"
+ },
+ "LYD": {
+ "name": "Dinar líbio"
+ },
+ "MKD": {
+ "name": "Dinar macedônio"
+ },
+ "RSD": {
+ "name": "Dinar sérvio"
+ },
+ "TND": {
+ "name": "Dinar tunisiano"
+ },
+ "AED": {
+ "name": "Dirrã dos Emirados Árabes Unidos"
+ },
+ "MAD": {
+ "name": "Dirrã marroquino"
+ },
+ "STD": {
+ "name": "Dobra de São Tomé e Príncipe"
+ },
+ "USD": {
+ "name": "Dólar americano",
+ "symbol": "US$"
+ },
+ "AUD": {
+ "name": "Dólar australiano",
+ "symbol": "AU$"
+ },
+ "BSD": {
+ "name": "Dólar bahamense"
+ },
+ "BBD": {
+ "name": "Dólar barbadense"
+ },
+ "BZD": {
+ "name": "Dólar belizenho"
+ },
+ "BMD": {
+ "name": "Dólar bermudense"
+ },
+ "BND": {
+ "name": "Dólar bruneano"
+ },
+ "CAD": {
+ "name": "Dólar canadense",
+ "symbol": "CA$"
+ },
+ "KYD": {
+ "name": "Dólar das Ilhas Caiman"
+ },
+ "SBD": {
+ "name": "Dólar das Ilhas Salomão"
+ },
+ "HKD": {
+ "name": "Dólar de Hong Kong",
+ "symbol": "HK$"
+ },
+ "TTD": {
+ "name": "Dólar de Trinidad e Tobago"
+ },
+ "XCD": {
+ "name": "Dólar do Caribe Oriental",
+ "symbol": "EC$"
+ },
+ "ZWL": {
+ "name": "Dólar do Zimbábue (2009)"
+ },
+ "FJD": {
+ "name": "Dólar fijiano"
+ },
+ "GYD": {
+ "name": "Dólar guianense"
+ },
+ "JMD": {
+ "name": "Dólar jamaicano"
+ },
+ "LRD": {
+ "name": "Dólar liberiano"
+ },
+ "NAD": {
+ "name": "Dólar namibiano"
+ },
+ "NZD": {
+ "name": "Dólar neozelandês",
+ "symbol": "NZ$"
+ },
+ "SGD": {
+ "name": "Dólar singapuriano"
+ },
+ "SRD": {
+ "name": "Dólar surinamês"
+ },
+ "VND": {
+ "name": "Dong vietnamita",
+ "symbol": "₫"
+ },
+ "AMD": {
+ "name": "Dram armênio"
+ },
+ "CVE": {
+ "name": "Escudo cabo-verdiano"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "AWG": {
+ "name": "Florim arubano"
+ },
+ "ANG": {
+ "name": "Florim das Antilhas Holandesas"
+ },
+ "HUF": {
+ "name": "Forint húngaro"
+ },
+ "BIF": {
+ "name": "Franco burundiano"
+ },
+ "XOF": {
+ "name": "Franco CFA de BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Franco CFA de BEAC",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "Franco CFP",
+ "symbol": "CFPF"
+ },
+ "KMF": {
+ "name": "Franco comorense"
+ },
+ "CDF": {
+ "name": "Franco congolês"
+ },
+ "DJF": {
+ "name": "Franco djibutiense"
+ },
+ "GNF": {
+ "name": "Franco guineano"
+ },
+ "RWF": {
+ "name": "Franco ruandês"
+ },
+ "CHF": {
+ "name": "Franco suíço"
+ },
+ "HTG": {
+ "name": "Gourde haitiano"
+ },
+ "PYG": {
+ "name": "Guarani paraguaio"
+ },
+ "UAH": {
+ "name": "Hryvnia ucraniano"
+ },
+ "JPY": {
+ "name": "Iene japonês",
+ "symbol": "JP¥"
+ },
+ "PGK": {
+ "name": "Kina papuásia"
+ },
+ "LAK": {
+ "name": "Kip laosiano"
+ },
+ "HRK": {
+ "name": "Kuna croata"
+ },
+ "MWK": {
+ "name": "Kwacha malawiana"
+ },
+ "ZMW": {
+ "name": "Kwacha zambiano"
+ },
+ "AOA": {
+ "name": "Kwanza angolano"
+ },
+ "MMK": {
+ "name": "Kyat mianmarense"
+ },
+ "GEL": {
+ "name": "Lari georgiano"
+ },
+ "ALL": {
+ "name": "Lek albanês"
+ },
+ "HNL": {
+ "name": "Lempira hondurenha"
+ },
+ "SLL": {
+ "name": "Leone de Serra Leoa"
+ },
+ "MDL": {
+ "name": "Leu moldávio"
+ },
+ "RON": {
+ "name": "Leu romeno"
+ },
+ "BGN": {
+ "name": "Lev búlgaro"
+ },
+ "GBP": {
+ "name": "Libra britânica",
+ "symbol": "£"
+ },
+ "GIP": {
+ "name": "Libra de Gibraltar"
+ },
+ "SHP": {
+ "name": "Libra de Santa Helena"
+ },
+ "EGP": {
+ "name": "Libra egípcia"
+ },
+ "LBP": {
+ "name": "Libra libanesa"
+ },
+ "FKP": {
+ "name": "Libra malvinense"
+ },
+ "SYP": {
+ "name": "Libra síria"
+ },
+ "SDG": {
+ "name": "Libra sudanesa"
+ },
+ "SSP": {
+ "name": "Libra sul-sudanesa"
+ },
+ "SZL": {
+ "name": "Lilangeni suazi"
+ },
+ "TRY": {
+ "name": "Lira turca"
+ },
+ "LSL": {
+ "name": "Loti do Lesoto"
+ },
+ "AZN": {
+ "name": "Manat azeri"
+ },
+ "TMT": {
+ "name": "Manat turcomeno"
+ },
+ "BAM": {
+ "name": "Marco bósnio-herzegovino conversível"
+ },
+ "MZN": {
+ "name": "Metical moçambicano"
+ },
+ "NGN": {
+ "name": "Naira nigeriana"
+ },
+ "ERN": {
+ "name": "Nakfa da Eritreia"
+ },
+ "BTN": {
+ "name": "Ngultrum butanês"
+ },
+ "TWD": {
+ "name": "Novo dólar taiwanês",
+ "symbol": "NT$"
+ },
+ "PEN": {
+ "name": "Novo sol peruano"
+ },
+ "MRO": {
+ "name": "Ouguiya mauritana"
+ },
+ "TOP": {
+ "name": "Paʻanga tonganesa"
+ },
+ "MOP": {
+ "name": "Pataca macaense"
+ },
+ "ARS": {
+ "name": "Peso argentino"
+ },
+ "CLP": {
+ "name": "Peso chileno"
+ },
+ "COP": {
+ "name": "Peso colombiano"
+ },
+ "CUP": {
+ "name": "Peso cubano"
+ },
+ "CUC": {
+ "name": "Peso cubano conversível"
+ },
+ "DOP": {
+ "name": "Peso dominicano"
+ },
+ "PHP": {
+ "name": "Peso filipino"
+ },
+ "MXN": {
+ "name": "Peso mexicano",
+ "symbol": "MX$"
+ },
+ "UYU": {
+ "name": "Peso uruguaio"
+ },
+ "BWP": {
+ "name": "Pula botsuanesa"
+ },
+ "GTQ": {
+ "name": "Quetzal guatemalense"
+ },
+ "ZAR": {
+ "name": "Rand sul-africano"
+ },
+ "BRL": {
+ "name": "Real brasileiro",
+ "symbol": "R$"
+ },
+ "QAR": {
+ "name": "Rial catariano"
+ },
+ "YER": {
+ "name": "Rial iemenita"
+ },
+ "IRR": {
+ "name": "Rial iraniano"
+ },
+ "OMR": {
+ "name": "Rial omanense"
+ },
+ "KHR": {
+ "name": "Riel cambojano"
+ },
+ "MYR": {
+ "name": "Ringgit malaio"
+ },
+ "SAR": {
+ "name": "Riyal saudita"
+ },
+ "BYN": {
+ "name": "Rublo bielorrusso"
+ },
+ "BYR": {
+ "name": "Rublo bielorrusso (2000–2016)"
+ },
+ "RUB": {
+ "name": "Rublo russo"
+ },
+ "LKR": {
+ "name": "Rupia ceilandesa"
+ },
+ "INR": {
+ "name": "Rupia indiana",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Rupia indonésia"
+ },
+ "MVR": {
+ "name": "Rupia maldiva"
+ },
+ "MUR": {
+ "name": "Rupia mauriciana"
+ },
+ "NPR": {
+ "name": "Rupia nepalesa"
+ },
+ "PKR": {
+ "name": "Rupia paquistanesa"
+ },
+ "SCR": {
+ "name": "Rupia seichelense"
+ },
+ "ILS": {
+ "name": "Sheqel novo israelita",
+ "symbol": "₪"
+ },
+ "KGS": {
+ "name": "Som quirguiz"
+ },
+ "UZS": {
+ "name": "Som uzbeque"
+ },
+ "TJS": {
+ "name": "Somoni tadjique"
+ },
+ "BDT": {
+ "name": "Taka bengalesa"
+ },
+ "WST": {
+ "name": "Tala samoano"
+ },
+ "KZT": {
+ "name": "Tenge cazaque"
+ },
+ "MNT": {
+ "name": "Tugrik mongol"
+ },
+ "VUV": {
+ "name": "Vatu vanuatuense"
+ },
+ "KPW": {
+ "name": "Won norte-coreano"
+ },
+ "KRW": {
+ "name": "Won sul-coreano",
+ "symbol": "₩"
+ },
+ "KES": {
+ "name": "Xelim queniano"
+ },
+ "SOS": {
+ "name": "Xelim somaliano"
+ },
+ "TZS": {
+ "name": "Xelim tanzaniano"
+ },
+ "UGX": {
+ "name": "Xelim ugandense"
+ },
+ "CNY": {
+ "name": "Yuan chinês",
+ "symbol": "CN¥"
+ },
+ "PLN": {
+ "name": "Zloti polonês"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/rm.json b/vendor/commerceguys/intl/resources/currency/rm.json
new file mode 100644
index 000000000..1722e52ab
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/rm.json
@@ -0,0 +1,496 @@
+{
+ "AFN": {
+ "name": "afghani"
+ },
+ "MGA": {
+ "name": "ariary madagasc"
+ },
+ "THB": {
+ "name": "baht tailandais"
+ },
+ "PAB": {
+ "name": "balboa dal Panama"
+ },
+ "ETB": {
+ "name": "birr etiopic"
+ },
+ "VEF": {
+ "name": "bolivar venezuelan"
+ },
+ "BOB": {
+ "name": "boliviano"
+ },
+ "GHS": {
+ "name": "cedi ghanais"
+ },
+ "SVC": {
+ "name": "colon da l’El Salvador"
+ },
+ "CRC": {
+ "name": "colon da la Costa Rica"
+ },
+ "NIO": {
+ "name": "cordoba oro nicaraguan"
+ },
+ "DKK": {
+ "name": "cruna danaisa"
+ },
+ "ISK": {
+ "name": "cruna islandaisa"
+ },
+ "NOK": {
+ "name": "cruna norvegiaisa"
+ },
+ "SEK": {
+ "name": "cruna svedaisa"
+ },
+ "CZK": {
+ "name": "cruna tscheca"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "GMD": {
+ "name": "dalasi gambic"
+ },
+ "DZD": {
+ "name": "dinar algerian"
+ },
+ "MKD": {
+ "name": "dinar da la Macedonia"
+ },
+ "BHD": {
+ "name": "dinar dal Bahrain"
+ },
+ "KWD": {
+ "name": "dinar dal Kuwait"
+ },
+ "IQD": {
+ "name": "dinar iracais"
+ },
+ "JOD": {
+ "name": "dinar jordanic"
+ },
+ "LYD": {
+ "name": "dinar libic"
+ },
+ "RSD": {
+ "name": "dinar serb"
+ },
+ "TND": {
+ "name": "dinar tunesian"
+ },
+ "AED": {
+ "name": "dirham dals Emirats Arabs Unids"
+ },
+ "MAD": {
+ "name": "dirham marocan"
+ },
+ "STD": {
+ "name": "dobra da São Tomé e Principe"
+ },
+ "AUD": {
+ "name": "dollar australian",
+ "symbol": "A$"
+ },
+ "CAD": {
+ "name": "dollar canadais",
+ "symbol": "CA$"
+ },
+ "BBD": {
+ "name": "dollar da Barbados"
+ },
+ "HKD": {
+ "name": "dollar da Hongkong",
+ "symbol": "HK$"
+ },
+ "XCD": {
+ "name": "dollar da la Caribica Orientala",
+ "symbol": "EC$"
+ },
+ "GYD": {
+ "name": "dollar da la Guyana"
+ },
+ "NZD": {
+ "name": "dollar da la Nova Zelanda",
+ "symbol": "NZ$"
+ },
+ "BSD": {
+ "name": "dollar da las Bahamas"
+ },
+ "BMD": {
+ "name": "dollar da las Bermudas"
+ },
+ "KYD": {
+ "name": "dollar da las Inslas Cayman"
+ },
+ "SBD": {
+ "name": "dollar da las Salomonas"
+ },
+ "TTD": {
+ "name": "dollar da Trinidad e Tobago"
+ },
+ "BZD": {
+ "name": "dollar dal Belize"
+ },
+ "BND": {
+ "name": "dollar dal Brunei"
+ },
+ "FJD": {
+ "name": "dollar dal Fidschi"
+ },
+ "SGD": {
+ "name": "dollar dal Singapur"
+ },
+ "USD": {
+ "name": "dollar dals Stadis Unids da l’America",
+ "symbol": "US$"
+ },
+ "JMD": {
+ "name": "dollar giamaican"
+ },
+ "LRD": {
+ "name": "dollar liberian"
+ },
+ "NAD": {
+ "name": "dollar namibian"
+ },
+ "SRD": {
+ "name": "dollar surinam"
+ },
+ "VND": {
+ "name": "dong vietnamais",
+ "symbol": "₫"
+ },
+ "AMD": {
+ "name": "dram armen"
+ },
+ "CVE": {
+ "name": "escudo dal Cap Verd"
+ },
+ "EUR": {
+ "name": "euro",
+ "symbol": "€"
+ },
+ "AWG": {
+ "name": "flurin da l’Aruba"
+ },
+ "ANG": {
+ "name": "flurin da las Antillas Olandaisas"
+ },
+ "HUF": {
+ "name": "forint ungarais"
+ },
+ "XOF": {
+ "name": "franc CFA BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "franc CFA BEAC",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "franc CFP",
+ "symbol": "CFPF"
+ },
+ "KMF": {
+ "name": "franc comorian"
+ },
+ "CDF": {
+ "name": "franc congolais"
+ },
+ "GNF": {
+ "name": "franc da la Guinea"
+ },
+ "BIF": {
+ "name": "franc dal Burundi"
+ },
+ "DJF": {
+ "name": "franc dal Dschibuti"
+ },
+ "RWF": {
+ "name": "franc ruandais"
+ },
+ "CHF": {
+ "name": "franc svizzer"
+ },
+ "GIP": {
+ "name": "glivra da Gibraltar"
+ },
+ "SHP": {
+ "name": "glivra da Sontg’Elena"
+ },
+ "FKP": {
+ "name": "glivra dal Falkland"
+ },
+ "EGP": {
+ "name": "glivra egipziana"
+ },
+ "LBP": {
+ "name": "glivra libanaisa"
+ },
+ "SYP": {
+ "name": "glivra siriana"
+ },
+ "GBP": {
+ "name": "glivra sterlina",
+ "symbol": "£"
+ },
+ "SDG": {
+ "name": "glivra sudanaisa"
+ },
+ "HTG": {
+ "name": "gourde haitian"
+ },
+ "PYG": {
+ "name": "guarani paraguaian"
+ },
+ "UAH": {
+ "name": "hryvnia ucranais"
+ },
+ "PGK": {
+ "name": "kina da la Papua Nova Guinea"
+ },
+ "LAK": {
+ "name": "kip laot"
+ },
+ "HRK": {
+ "name": "kuna croata"
+ },
+ "ZMW": {
+ "name": "kwacha da la sambia"
+ },
+ "MWK": {
+ "name": "kwacha dal Malawi"
+ },
+ "AOA": {
+ "name": "kwanza angolan"
+ },
+ "MMK": {
+ "name": "Kyat dal Myanmar"
+ },
+ "GEL": {
+ "name": "lari georgian"
+ },
+ "ALL": {
+ "name": "lek"
+ },
+ "HNL": {
+ "name": "lempira hondurian"
+ },
+ "SLL": {
+ "name": "leone da la Sierra Leone"
+ },
+ "MDL": {
+ "name": "leu moldav"
+ },
+ "RON": {
+ "name": "leu rumen"
+ },
+ "SZL": {
+ "name": "lilangeni dal Swaziland"
+ },
+ "LSL": {
+ "name": "loti dal Lesotho"
+ },
+ "AZN": {
+ "name": "manat aserbaidschanic"
+ },
+ "BAM": {
+ "name": "marc convertibel bosniac"
+ },
+ "MZN": {
+ "name": "metical dal mozambican"
+ },
+ "NGN": {
+ "name": "naira nigeriana"
+ },
+ "ERN": {
+ "name": "nakfa eritreic"
+ },
+ "BTN": {
+ "name": "ngultrum butanais"
+ },
+ "TWD": {
+ "name": "nov dollar taiwanais",
+ "symbol": "NT$"
+ },
+ "BGN": {
+ "name": "nov lev bulgar"
+ },
+ "PEN": {
+ "name": "nov sol peruan"
+ },
+ "TRY": {
+ "name": "nova lira tirca"
+ },
+ "MRO": {
+ "name": "ouguiya da la Mauretania"
+ },
+ "TOP": {
+ "name": "pa’anga da Tonga"
+ },
+ "MOP": {
+ "name": "pataca dal Macao"
+ },
+ "ARS": {
+ "name": "peso argentin"
+ },
+ "CLP": {
+ "name": "peso chilen"
+ },
+ "COP": {
+ "name": "peso columbian"
+ },
+ "CUP": {
+ "name": "peso cuban"
+ },
+ "UYU": {
+ "name": "peso da l’Uruguay"
+ },
+ "DOP": {
+ "name": "peso dominican"
+ },
+ "PHP": {
+ "name": "peso filippin"
+ },
+ "MXN": {
+ "name": "peso mexican",
+ "symbol": "MX$"
+ },
+ "BWP": {
+ "name": "pula da la Botswana"
+ },
+ "GTQ": {
+ "name": "quetzal da la Guatemala"
+ },
+ "ZAR": {
+ "name": "rand sidafrican"
+ },
+ "BRL": {
+ "name": "real brasilian",
+ "symbol": "R$"
+ },
+ "OMR": {
+ "name": "rial da l’Oman"
+ },
+ "YER": {
+ "name": "rial dal Jemen"
+ },
+ "IRR": {
+ "name": "rial iranais"
+ },
+ "KHR": {
+ "name": "riel cambodschan"
+ },
+ "MYR": {
+ "name": "ringgit da la Malaisia"
+ },
+ "QAR": {
+ "name": "riyal da Katar"
+ },
+ "SAR": {
+ "name": "riyal saudit"
+ },
+ "BYN": {
+ "name": "rubel bieloruss"
+ },
+ "BYR": {
+ "name": "rubel bieloruss (2000–2016)"
+ },
+ "RUB": {
+ "name": "rubel russ (nov)"
+ },
+ "MVR": {
+ "name": "rufiyaa da las Maledivas"
+ },
+ "LKR": {
+ "name": "rupia da la Sri Lanka"
+ },
+ "SCR": {
+ "name": "rupia da las Seychellas"
+ },
+ "MUR": {
+ "name": "rupia dal Mauritius"
+ },
+ "INR": {
+ "name": "rupia indica",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "rupia indonaisa"
+ },
+ "NPR": {
+ "name": "rupia nepalaisa"
+ },
+ "PKR": {
+ "name": "rupia pakistana"
+ },
+ "KES": {
+ "name": "schilling kenian"
+ },
+ "SOS": {
+ "name": "schilling somalian"
+ },
+ "TZS": {
+ "name": "schilling tansanian"
+ },
+ "UGX": {
+ "name": "schilling ugandais"
+ },
+ "ILS": {
+ "name": "sheqel",
+ "symbol": "₪"
+ },
+ "KGS": {
+ "name": "som kirghis"
+ },
+ "TJS": {
+ "name": "somoni dal Tadschikistan"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "UZS": {
+ "name": "sum usbec"
+ },
+ "BDT": {
+ "name": "taka bangladais"
+ },
+ "WST": {
+ "name": "tala da la Samoa"
+ },
+ "KZT": {
+ "name": "tenge casac"
+ },
+ "MNT": {
+ "name": "tugrik mongolic"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "VUV": {
+ "name": "vatu dal Vanuatu"
+ },
+ "KPW": {
+ "name": "won da la Corea dal Nord"
+ },
+ "KRW": {
+ "name": "won da la Corea dal Sid",
+ "symbol": "₩"
+ },
+ "JPY": {
+ "name": "yen giapunais",
+ "symbol": "JP¥"
+ },
+ "CNY": {
+ "name": "yuan renminbi chinais",
+ "symbol": "CN¥"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ },
+ "PLN": {
+ "name": "zloty polac"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/rn.json b/vendor/commerceguys/intl/resources/currency/rn.json
new file mode 100644
index 000000000..5f10865c5
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/rn.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Ruble"
+ },
+ "BYR": {
+ "name": "Belarusian Ruble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ETB": {
+ "name": "Ibiri ryo muri Etiyopiya"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "GMD": {
+ "name": "Idalasi ryo muri Gambiya"
+ },
+ "BHD": {
+ "name": "Idinari ry’iribahireyini"
+ },
+ "LYD": {
+ "name": "Idinari rya Libiya"
+ },
+ "DZD": {
+ "name": "Idinari ryo muri Alijeriya"
+ },
+ "TND": {
+ "name": "Idinari ryo muri Tuniziya"
+ },
+ "AED": {
+ "name": "Idiramu ryo muri Leta Zunze Ubumwe z’Abarabu"
+ },
+ "MAD": {
+ "name": "Idiramu ryo muri Maroke"
+ },
+ "STD": {
+ "name": "Idobura ryo muri Sawotome na Perensipe"
+ },
+ "USD": {
+ "name": "Idolari ry’abanyamerika",
+ "symbol": "US$"
+ },
+ "CAD": {
+ "name": "Idolari rya Kanada",
+ "symbol": "CA$"
+ },
+ "LRD": {
+ "name": "Idolari rya Liberiya"
+ },
+ "NAD": {
+ "name": "Idolari rya Namibiya"
+ },
+ "AUD": {
+ "name": "Idolari ryo muri Ositaraliya",
+ "symbol": "A$"
+ },
+ "RWF": {
+ "name": "Ifaranga ry’u Rwanda"
+ },
+ "BIF": {
+ "name": "Ifaranga ry’Uburundi",
+ "symbol": "FBu"
+ },
+ "CHF": {
+ "name": "Ifaranga ry’Ubusuwisi"
+ },
+ "KMF": {
+ "name": "Ifaranga rya Komore"
+ },
+ "CDF": {
+ "name": "Ifaranga rya Kongo"
+ },
+ "DJF": {
+ "name": "Ifaranga ryo muri Jibuti"
+ },
+ "MWK": {
+ "name": "Ikwaca ryo muri Malawi"
+ },
+ "ZMW": {
+ "name": "Ikwaca ryo muri Zambiya"
+ },
+ "AOA": {
+ "name": "Ikwanza ryo muri Angola"
+ },
+ "SLL": {
+ "name": "Ilewone"
+ },
+ "SZL": {
+ "name": "Ililangeni"
+ },
+ "LSL": {
+ "name": "Iloti ryo muro Lesoto"
+ },
+ "NGN": {
+ "name": "Inayira ryo muri Nijeriya"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "EGP": {
+ "name": "Ipawundi rya Misiri"
+ },
+ "SHP": {
+ "name": "Ipawundi rya Sente Helena"
+ },
+ "SDG": {
+ "name": "Ipawundi rya Sudani"
+ },
+ "GBP": {
+ "name": "Ipawundi ryo mu Bwongereza",
+ "symbol": "£"
+ },
+ "BWP": {
+ "name": "Ipula ryo muri Botswana"
+ },
+ "ZAR": {
+ "name": "Irandi ryo muri Afurika y’Epfo"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "CVE": {
+ "name": "Irikaboveridiyano ryo muri Esikudo"
+ },
+ "ERN": {
+ "name": "Irinakufa ryo muri Eritereya"
+ },
+ "SAR": {
+ "name": "Iriyari ryo muri Arabiya Sawudite"
+ },
+ "MGA": {
+ "name": "Iriyari ryo muri Madagasikari"
+ },
+ "MUR": {
+ "name": "Irupiya ryo mu birwa bya Morise"
+ },
+ "SCR": {
+ "name": "Irupiya ryo mu birwa bya Sayisheli"
+ },
+ "INR": {
+ "name": "Irupiya ryo mu Buhindi",
+ "symbol": "₹"
+ },
+ "UGX": {
+ "name": "Ishilingi ry’Ubugande"
+ },
+ "KES": {
+ "name": "Ishilingi rya Kenya"
+ },
+ "TZS": {
+ "name": "Ishilingi rya Tanzaniya"
+ },
+ "SOS": {
+ "name": "Ishilingi ryo muri Somaliya"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JPY": {
+ "name": "Iyeni ry’Ubuyapani",
+ "symbol": "JP¥"
+ },
+ "EUR": {
+ "name": "Iyero",
+ "symbol": "€"
+ },
+ "CNY": {
+ "name": "Iyuwani ryo mu Bushinwa",
+ "symbol": "CN¥"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Ruble"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "MRO": {
+ "name": "Ugwiya ryo muri Moritaniya"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/ro.json b/vendor/commerceguys/intl/resources/currency/ro.json
new file mode 100644
index 000000000..2e315443d
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/ro.json
@@ -0,0 +1,479 @@
+{
+ "AFN": {
+ "name": "afgani afgan"
+ },
+ "MGA": {
+ "name": "ariary malgaș"
+ },
+ "THB": {
+ "name": "baht thailandez"
+ },
+ "PAB": {
+ "name": "balboa panameză"
+ },
+ "ETB": {
+ "name": "birr etiopian"
+ },
+ "VEF": {
+ "name": "bolivar venezuelean"
+ },
+ "BOB": {
+ "name": "boliviano bolivian"
+ },
+ "GHS": {
+ "name": "cedi ghanez"
+ },
+ "CRC": {
+ "name": "colon costarican"
+ },
+ "SVC": {
+ "name": "colon El Salvador"
+ },
+ "NIO": {
+ "name": "cordoba nicaraguană"
+ },
+ "CZK": {
+ "name": "coroană cehă"
+ },
+ "DKK": {
+ "name": "coroană daneză"
+ },
+ "ISK": {
+ "name": "coroană islandeză"
+ },
+ "NOK": {
+ "name": "coroană norvegiană"
+ },
+ "SEK": {
+ "name": "coroană suedeză"
+ },
+ "GMD": {
+ "name": "dalasi din Gambia"
+ },
+ "DZD": {
+ "name": "dinar algerian"
+ },
+ "BHD": {
+ "name": "dinar din Bahrain"
+ },
+ "JOD": {
+ "name": "dinar iordanian"
+ },
+ "IQD": {
+ "name": "dinar irakian"
+ },
+ "KWD": {
+ "name": "dinar kuweitian"
+ },
+ "LYD": {
+ "name": "dinar libian"
+ },
+ "MKD": {
+ "name": "dinar macedonean"
+ },
+ "RSD": {
+ "name": "dinar sârbesc"
+ },
+ "TND": {
+ "name": "dinar tunisian"
+ },
+ "AED": {
+ "name": "dirham din Emiratele Arabe Unite"
+ },
+ "MAD": {
+ "name": "dirham marocan"
+ },
+ "STD": {
+ "name": "dobra Sao Tome și Principe"
+ },
+ "USD": {
+ "name": "dolar american"
+ },
+ "AUD": {
+ "name": "dolar australian"
+ },
+ "CAD": {
+ "name": "dolar canadian"
+ },
+ "BSD": {
+ "name": "dolar din Bahamas"
+ },
+ "BBD": {
+ "name": "dolar din Barbados"
+ },
+ "BZD": {
+ "name": "dolar din Belize"
+ },
+ "BMD": {
+ "name": "dolar din Bermuda"
+ },
+ "BND": {
+ "name": "dolar din Brunei"
+ },
+ "XCD": {
+ "name": "dolar din Caraibele de Est"
+ },
+ "HKD": {
+ "name": "dolar din Hong Kong"
+ },
+ "KYD": {
+ "name": "dolar din Insulele Cayman"
+ },
+ "SBD": {
+ "name": "dolar din Insulele Solomon"
+ },
+ "TTD": {
+ "name": "dolar din Trinidad-Tobago"
+ },
+ "FJD": {
+ "name": "dolar fijian"
+ },
+ "GYD": {
+ "name": "dolar guyanez"
+ },
+ "JMD": {
+ "name": "dolar jamaican"
+ },
+ "LRD": {
+ "name": "dolar liberian"
+ },
+ "NAD": {
+ "name": "dolar namibian"
+ },
+ "NZD": {
+ "name": "dolar neozeelandez"
+ },
+ "TWD": {
+ "name": "dolar nou din Taiwan"
+ },
+ "SGD": {
+ "name": "dolar singaporez"
+ },
+ "SRD": {
+ "name": "dolar surinamez"
+ },
+ "ZWL": {
+ "name": "dolar Zimbabwe (2009)"
+ },
+ "VND": {
+ "name": "dong vietnamez"
+ },
+ "AMD": {
+ "name": "dram armenesc"
+ },
+ "CVE": {
+ "name": "escudo din Capul Verde"
+ },
+ "EUR": {
+ "name": "euro"
+ },
+ "AWG": {
+ "name": "florin aruban"
+ },
+ "HUF": {
+ "name": "forint maghiar"
+ },
+ "BIF": {
+ "name": "franc burundez"
+ },
+ "XOF": {
+ "name": "franc CFA BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "franc CFA BEAC",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "franc CFP",
+ "symbol": "CFPF"
+ },
+ "KMF": {
+ "name": "franc comorian"
+ },
+ "CDF": {
+ "name": "franc congolez"
+ },
+ "DJF": {
+ "name": "franc djiboutian"
+ },
+ "CHF": {
+ "name": "franc elvețian"
+ },
+ "GNF": {
+ "name": "franc guineean"
+ },
+ "RWF": {
+ "name": "franc rwandez"
+ },
+ "HTG": {
+ "name": "gourde din Haiti"
+ },
+ "PYG": {
+ "name": "guarani paraguayan"
+ },
+ "ANG": {
+ "name": "gulden din Antilele Olandeze"
+ },
+ "UAH": {
+ "name": "hryvna ucraineană"
+ },
+ "PGK": {
+ "name": "kina din Papua-Noua Guinee"
+ },
+ "LAK": {
+ "name": "kip laoțian"
+ },
+ "HRK": {
+ "name": "kuna croată"
+ },
+ "MWK": {
+ "name": "kwacha malawiană"
+ },
+ "ZMW": {
+ "name": "kwacha zambian"
+ },
+ "AOA": {
+ "name": "kwanza angoleză"
+ },
+ "MMK": {
+ "name": "kyat din Myanmar"
+ },
+ "GEL": {
+ "name": "lari georgian"
+ },
+ "ALL": {
+ "name": "leka albaneză"
+ },
+ "HNL": {
+ "name": "lempira honduriană"
+ },
+ "SLL": {
+ "name": "leone din Sierra Leone"
+ },
+ "MDL": {
+ "name": "leu moldovenesc"
+ },
+ "RON": {
+ "name": "leu românesc"
+ },
+ "BGN": {
+ "name": "leva bulgărească"
+ },
+ "SZL": {
+ "name": "lilangeni din Swaziland"
+ },
+ "GIP": {
+ "name": "liră din Gibraltar"
+ },
+ "FKP": {
+ "name": "liră din Insulele Falkland"
+ },
+ "SSP": {
+ "name": "liră din Sudanul de Sud"
+ },
+ "EGP": {
+ "name": "liră egipteană"
+ },
+ "SHP": {
+ "name": "liră Insula Sf. Elena"
+ },
+ "LBP": {
+ "name": "liră libaneză"
+ },
+ "SYP": {
+ "name": "liră siriană"
+ },
+ "GBP": {
+ "name": "liră sterlină"
+ },
+ "SDG": {
+ "name": "liră sudaneză"
+ },
+ "TRY": {
+ "name": "liră turcească"
+ },
+ "LSL": {
+ "name": "loti lesothian"
+ },
+ "AZN": {
+ "name": "manat azer"
+ },
+ "TMT": {
+ "name": "manat turkmen"
+ },
+ "BAM": {
+ "name": "marcă convertibilă din Bosnia și Herțegovina"
+ },
+ "MZN": {
+ "name": "metical mozambican"
+ },
+ "NGN": {
+ "name": "naira nigeriană"
+ },
+ "ERN": {
+ "name": "nakfa eritreeană"
+ },
+ "BTN": {
+ "name": "ngultrum din Bhutan"
+ },
+ "MRO": {
+ "name": "ouguiya mauritană"
+ },
+ "TOP": {
+ "name": "pa’anga tongană"
+ },
+ "MOP": {
+ "name": "pataca din Macao"
+ },
+ "ARS": {
+ "name": "peso argentinian"
+ },
+ "CLP": {
+ "name": "peso chilian"
+ },
+ "COP": {
+ "name": "peso columbian"
+ },
+ "CUP": {
+ "name": "peso cubanez"
+ },
+ "CUC": {
+ "name": "peso cubanez convertibil"
+ },
+ "DOP": {
+ "name": "peso dominican"
+ },
+ "PHP": {
+ "name": "peso filipinez"
+ },
+ "MXN": {
+ "name": "peso mexican"
+ },
+ "UYU": {
+ "name": "peso uruguayan"
+ },
+ "BWP": {
+ "name": "pula Botswana"
+ },
+ "GTQ": {
+ "name": "quetzal guatemalez"
+ },
+ "ZAR": {
+ "name": "rand sud-african"
+ },
+ "BRL": {
+ "name": "real brazilian"
+ },
+ "IRR": {
+ "name": "rial iranian"
+ },
+ "OMR": {
+ "name": "rial omanez"
+ },
+ "QAR": {
+ "name": "rial qatarian"
+ },
+ "SAR": {
+ "name": "rial saudit"
+ },
+ "YER": {
+ "name": "rial yemenit"
+ },
+ "KHR": {
+ "name": "riel cambodgian"
+ },
+ "MYR": {
+ "name": "ringgit malaiezian"
+ },
+ "BYN": {
+ "name": "rublă belarusă"
+ },
+ "BYR": {
+ "name": "rublă belarusă (2000–2016)"
+ },
+ "RUB": {
+ "name": "rublă rusească"
+ },
+ "MVR": {
+ "name": "rufiyaa maldiviană"
+ },
+ "SCR": {
+ "name": "rupie din Seychelles"
+ },
+ "INR": {
+ "name": "rupie indiană"
+ },
+ "IDR": {
+ "name": "rupie indoneziană"
+ },
+ "MUR": {
+ "name": "rupie mauritiană"
+ },
+ "NPR": {
+ "name": "rupie nepaleză"
+ },
+ "PKR": {
+ "name": "rupie pakistaneză"
+ },
+ "LKR": {
+ "name": "rupie srilankeză"
+ },
+ "PEN": {
+ "name": "sol nou peruvian"
+ },
+ "KGS": {
+ "name": "som kârgâz"
+ },
+ "TJS": {
+ "name": "somoni tadjic"
+ },
+ "UZS": {
+ "name": "sum Uzbekistan"
+ },
+ "ILS": {
+ "name": "șechel israelian nou"
+ },
+ "KES": {
+ "name": "șiling kenyan"
+ },
+ "SOS": {
+ "name": "șiling somalez"
+ },
+ "TZS": {
+ "name": "șiling tanzanian"
+ },
+ "UGX": {
+ "name": "șiling ugandez"
+ },
+ "BDT": {
+ "name": "taka din Bangladesh"
+ },
+ "WST": {
+ "name": "tala samoană"
+ },
+ "KZT": {
+ "name": "tenge kazahă"
+ },
+ "MNT": {
+ "name": "tugrik mongol"
+ },
+ "VUV": {
+ "name": "vatu din Vanuatu"
+ },
+ "KPW": {
+ "name": "won nord-coreean"
+ },
+ "KRW": {
+ "name": "won sud-coreean"
+ },
+ "JPY": {
+ "name": "yen japonez"
+ },
+ "CNY": {
+ "name": "yuan chinezesc"
+ },
+ "PLN": {
+ "name": "zlot polonez"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/rof.json b/vendor/commerceguys/intl/resources/currency/rof.json
new file mode 100644
index 000000000..a464a9b25
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/rof.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Ruble"
+ },
+ "BYR": {
+ "name": "Belarusian Ruble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "ZAR": {
+ "name": "heleri sa Afrika Kusini"
+ },
+ "DZD": {
+ "name": "heleri sa Aljeria"
+ },
+ "AOA": {
+ "name": "heleri sa Angola"
+ },
+ "AUD": {
+ "name": "heleri sa Australia",
+ "symbol": "A$"
+ },
+ "BHD": {
+ "name": "heleri sa Bahareni"
+ },
+ "BWP": {
+ "name": "heleri sa Botswana"
+ },
+ "MGA": {
+ "name": "heleri sa Bukini"
+ },
+ "BIF": {
+ "name": "heleri sa Burundi"
+ },
+ "XOF": {
+ "name": "heleri sa CFA BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "heleri sa CFA BEAC",
+ "symbol": "FCFA"
+ },
+ "CNY": {
+ "name": "heleri sa China",
+ "symbol": "CN¥"
+ },
+ "ERN": {
+ "name": "heleri sa Eritrea"
+ },
+ "AED": {
+ "name": "heleri sa Falme za Kiarabu"
+ },
+ "GMD": {
+ "name": "heleri sa Gambia"
+ },
+ "INR": {
+ "name": "heleri sa India",
+ "symbol": "₹"
+ },
+ "JPY": {
+ "name": "heleri sa Japani",
+ "symbol": "JP¥"
+ },
+ "DJF": {
+ "name": "heleri sa Jibuti"
+ },
+ "CAD": {
+ "name": "heleri sa Kanada",
+ "symbol": "CA$"
+ },
+ "KES": {
+ "name": "heleri sa Kenya"
+ },
+ "CVE": {
+ "name": "heleri sa Kepuvede"
+ },
+ "KMF": {
+ "name": "heleri sa Komoro"
+ },
+ "CDF": {
+ "name": "heleri sa Kongo"
+ },
+ "LSL": {
+ "name": "heleri sa Lesoto"
+ },
+ "LRD": {
+ "name": "heleri sa Liberia"
+ },
+ "LYD": {
+ "name": "heleri sa Libya"
+ },
+ "MWK": {
+ "name": "heleri sa Malawi"
+ },
+ "USD": {
+ "name": "heleri sa Marekani",
+ "symbol": "US$"
+ },
+ "EGP": {
+ "name": "heleri sa Misri"
+ },
+ "MUR": {
+ "name": "heleri sa Morisi"
+ },
+ "MRO": {
+ "name": "heleri sa Moritania"
+ },
+ "MAD": {
+ "name": "heleri sa Moroko"
+ },
+ "NAD": {
+ "name": "heleri sa Namibia"
+ },
+ "NGN": {
+ "name": "heleri sa Nijeria"
+ },
+ "RWF": {
+ "name": "heleri sa Rwanda"
+ },
+ "SHP": {
+ "name": "heleri sa Santahelena"
+ },
+ "STD": {
+ "name": "heleri sa Sao Tome na Principe"
+ },
+ "SAR": {
+ "name": "heleri sa Saudia"
+ },
+ "SCR": {
+ "name": "heleri sa Shelisheli"
+ },
+ "SOS": {
+ "name": "heleri sa Somalia"
+ },
+ "SDG": {
+ "name": "heleri sa Sudani"
+ },
+ "TZS": {
+ "name": "heleri sa Tanzania",
+ "symbol": "TSh"
+ },
+ "TND": {
+ "name": "heleri sa Tunisia"
+ },
+ "UGX": {
+ "name": "heleri sa Uganda"
+ },
+ "ETB": {
+ "name": "heleri sa Uhabeshi"
+ },
+ "GBP": {
+ "name": "heleri sa Uingereza",
+ "symbol": "£"
+ },
+ "CHF": {
+ "name": "heleri sa Uswisi"
+ },
+ "ZMW": {
+ "name": "heleri sa Zambia"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "SLL": {
+ "name": "leoni"
+ },
+ "SZL": {
+ "name": "lilangeni"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Ruble"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "EUR": {
+ "name": "yuro",
+ "symbol": "€"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/ru.json b/vendor/commerceguys/intl/resources/currency/ru.json
new file mode 100644
index 000000000..0a244498b
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/ru.json
@@ -0,0 +1,500 @@
+{
+ "AUD": {
+ "name": "Австралийский доллар",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Азербайджанский манат"
+ },
+ "ALL": {
+ "name": "Албанский лек"
+ },
+ "DZD": {
+ "name": "Алжирский динар"
+ },
+ "AOA": {
+ "name": "Ангольская кванза"
+ },
+ "ARS": {
+ "name": "Аргентинское песо"
+ },
+ "AMD": {
+ "name": "Армянский драм"
+ },
+ "AWG": {
+ "name": "Арубанский флорин"
+ },
+ "AFN": {
+ "name": "Афгани"
+ },
+ "BSD": {
+ "name": "Багамский доллар"
+ },
+ "BDT": {
+ "name": "Бангладешская така"
+ },
+ "BBD": {
+ "name": "Барбадосский доллар"
+ },
+ "BHD": {
+ "name": "Бахрейнский динар"
+ },
+ "BZD": {
+ "name": "Белизский доллар"
+ },
+ "BYN": {
+ "name": "Белорусский рубль"
+ },
+ "BYR": {
+ "name": "Белорусский рубль (2000–2016)"
+ },
+ "BMD": {
+ "name": "Бермудский доллар"
+ },
+ "BGN": {
+ "name": "Болгарский лев"
+ },
+ "BOB": {
+ "name": "Боливийский боливиано"
+ },
+ "BWP": {
+ "name": "Ботсванская пула"
+ },
+ "BRL": {
+ "name": "Бразильский реал",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "Британский фунт стерлингов",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Брунейский доллар"
+ },
+ "BIF": {
+ "name": "Бурундийский франк"
+ },
+ "BTN": {
+ "name": "Бутанский нгултрум"
+ },
+ "VUV": {
+ "name": "Вату Вануату"
+ },
+ "HUF": {
+ "name": "Венгерский форинт"
+ },
+ "VEF": {
+ "name": "Венесуэльский боливар"
+ },
+ "XCD": {
+ "name": "Восточно-карибский доллар",
+ "symbol": "EC$"
+ },
+ "VND": {
+ "name": "Вьетнамский донг",
+ "symbol": "₫"
+ },
+ "HTG": {
+ "name": "Гаитянский гурд"
+ },
+ "GYD": {
+ "name": "Гайанский доллар"
+ },
+ "GMD": {
+ "name": "Гамбийский даласи"
+ },
+ "GHS": {
+ "name": "Ганский седи"
+ },
+ "GTQ": {
+ "name": "Гватемальский кетсаль"
+ },
+ "GNF": {
+ "name": "Гвинейский франк"
+ },
+ "GIP": {
+ "name": "Гибралтарский фунт"
+ },
+ "HNL": {
+ "name": "Гондурасская лемпира"
+ },
+ "HKD": {
+ "name": "Гонконгский доллар",
+ "symbol": "HK$"
+ },
+ "GEL": {
+ "name": "Грузинский лари"
+ },
+ "DKK": {
+ "name": "Датская крона"
+ },
+ "AED": {
+ "name": "Дирхам ОАЭ"
+ },
+ "STD": {
+ "name": "Добра Сан-Томе и Принсипи"
+ },
+ "ZWL": {
+ "name": "Доллар Зимбабве (2009)"
+ },
+ "KYD": {
+ "name": "Доллар Каймановых островов"
+ },
+ "NAD": {
+ "name": "Доллар Намибии"
+ },
+ "SBD": {
+ "name": "Доллар Соломоновых Островов"
+ },
+ "USD": {
+ "name": "Доллар США",
+ "symbol": "$"
+ },
+ "TTD": {
+ "name": "Доллар Тринидада и Тобаго"
+ },
+ "FJD": {
+ "name": "Доллар Фиджи"
+ },
+ "DOP": {
+ "name": "Доминиканское песо"
+ },
+ "EUR": {
+ "name": "Евро",
+ "symbol": "€"
+ },
+ "EGP": {
+ "name": "Египетский фунт"
+ },
+ "ZMW": {
+ "name": "Замбийская квача"
+ },
+ "INR": {
+ "name": "Индийская рупия",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Индонезийская рупия"
+ },
+ "JOD": {
+ "name": "Иорданский динар"
+ },
+ "IQD": {
+ "name": "Иракский динар"
+ },
+ "IRR": {
+ "name": "Иранский риал"
+ },
+ "ISK": {
+ "name": "Исландская крона"
+ },
+ "YER": {
+ "name": "Йеменский риал"
+ },
+ "KZT": {
+ "name": "Казахский тенге"
+ },
+ "KHR": {
+ "name": "Камбоджийский риель"
+ },
+ "CAD": {
+ "name": "Канадский доллар",
+ "symbol": "CA$"
+ },
+ "QAR": {
+ "name": "Катарский риал"
+ },
+ "KES": {
+ "name": "Кенийский шиллинг"
+ },
+ "PGK": {
+ "name": "Кина Папуа – Новой Гвинеи"
+ },
+ "KGS": {
+ "name": "Киргизский сом"
+ },
+ "CNY": {
+ "name": "Китайский юань",
+ "symbol": "CN¥"
+ },
+ "COP": {
+ "name": "Колумбийское песо"
+ },
+ "BAM": {
+ "name": "Конвертируемая марка Боснии и Герцеговины"
+ },
+ "CDF": {
+ "name": "Конголезский франк"
+ },
+ "CRC": {
+ "name": "Костариканский колон"
+ },
+ "CUC": {
+ "name": "Кубинское конвертируемое песо"
+ },
+ "CUP": {
+ "name": "Кубинское песо"
+ },
+ "KWD": {
+ "name": "Кувейтский динар"
+ },
+ "LAK": {
+ "name": "Лаосский кип"
+ },
+ "SLL": {
+ "name": "Леоне"
+ },
+ "LRD": {
+ "name": "Либерийский доллар"
+ },
+ "LBP": {
+ "name": "Ливанский фунт"
+ },
+ "LYD": {
+ "name": "Ливийский динар"
+ },
+ "LSL": {
+ "name": "Лоти"
+ },
+ "MUR": {
+ "name": "Маврикийская рупия"
+ },
+ "MRO": {
+ "name": "Мавританская угия"
+ },
+ "MKD": {
+ "name": "Македонский денар"
+ },
+ "MWK": {
+ "name": "Малавийская квача"
+ },
+ "MGA": {
+ "name": "Малагасийский ариари"
+ },
+ "MYR": {
+ "name": "Малайзийский ринггит"
+ },
+ "MVR": {
+ "name": "Мальдивская руфия"
+ },
+ "MAD": {
+ "name": "Марокканский дирхам"
+ },
+ "MXN": {
+ "name": "Мексиканское песо",
+ "symbol": "MX$"
+ },
+ "MZN": {
+ "name": "Мозамбикский метикал"
+ },
+ "MDL": {
+ "name": "Молдавский лей"
+ },
+ "MNT": {
+ "name": "Монгольский тугрик"
+ },
+ "MMK": {
+ "name": "Мьянманский кьят"
+ },
+ "ERN": {
+ "name": "Накфа"
+ },
+ "NPR": {
+ "name": "Непальская рупия"
+ },
+ "NGN": {
+ "name": "Нигерийская найра"
+ },
+ "ANG": {
+ "name": "Нидерландский антильский гульден"
+ },
+ "NIO": {
+ "name": "Никарагуанская кордоба"
+ },
+ "NZD": {
+ "name": "Новозеландский доллар",
+ "symbol": "NZ$"
+ },
+ "ILS": {
+ "name": "Новый израильский шекель",
+ "symbol": "₪"
+ },
+ "TWD": {
+ "name": "Новый тайваньский доллар",
+ "symbol": "NT$"
+ },
+ "TMT": {
+ "name": "Новый туркменский манат",
+ "symbol": "ТМТ"
+ },
+ "NOK": {
+ "name": "Норвежская крона"
+ },
+ "OMR": {
+ "name": "Оманский риал"
+ },
+ "PKR": {
+ "name": "Пакистанская рупия"
+ },
+ "PAB": {
+ "name": "Панамское бальбоа"
+ },
+ "PYG": {
+ "name": "Парагвайский гуарани"
+ },
+ "MOP": {
+ "name": "Патака Макао"
+ },
+ "PEN": {
+ "name": "Перуанский новый соль"
+ },
+ "PLN": {
+ "name": "Польский злотый"
+ },
+ "RUB": {
+ "name": "Российский рубль",
+ "symbol": "₽"
+ },
+ "RON": {
+ "name": "Румынский лей"
+ },
+ "SVC": {
+ "name": "Сальвадорский колон"
+ },
+ "WST": {
+ "name": "Самоанская тала"
+ },
+ "SAR": {
+ "name": "Саудовский риял"
+ },
+ "SZL": {
+ "name": "Свазилендский лилангени"
+ },
+ "KPW": {
+ "name": "Северокорейская вона"
+ },
+ "SCR": {
+ "name": "Сейшельская рупия"
+ },
+ "RSD": {
+ "name": "Сербский динар"
+ },
+ "SGD": {
+ "name": "Сингапурский доллар"
+ },
+ "SYP": {
+ "name": "Сирийский фунт"
+ },
+ "SOS": {
+ "name": "Сомалийский шиллинг"
+ },
+ "SDG": {
+ "name": "Суданский фунт"
+ },
+ "SRD": {
+ "name": "Суринамский доллар"
+ },
+ "TJS": {
+ "name": "Таджикский сомони"
+ },
+ "THB": {
+ "name": "Таиландский бат",
+ "symbol": "฿"
+ },
+ "TZS": {
+ "name": "Танзанийский шиллинг"
+ },
+ "TOP": {
+ "name": "Тонганская паанга"
+ },
+ "TND": {
+ "name": "Тунисский динар"
+ },
+ "TRY": {
+ "name": "Турецкая лира"
+ },
+ "UGX": {
+ "name": "Угандийский шиллинг"
+ },
+ "UZS": {
+ "name": "Узбекский сум"
+ },
+ "UAH": {
+ "name": "Украинская гривна",
+ "symbol": "₴"
+ },
+ "UYU": {
+ "name": "Уругвайское песо"
+ },
+ "PHP": {
+ "name": "Филиппинское песо"
+ },
+ "DJF": {
+ "name": "Франк Джибути"
+ },
+ "KMF": {
+ "name": "Франк Коморских Островов"
+ },
+ "XAF": {
+ "name": "Франк КФА ВЕАС",
+ "symbol": "FCFA"
+ },
+ "XOF": {
+ "name": "Франк КФА ВСЕАО",
+ "symbol": "CFA"
+ },
+ "RWF": {
+ "name": "Франк Руанды"
+ },
+ "XPF": {
+ "name": "Французский тихоокеанский франк",
+ "symbol": "CFPF"
+ },
+ "SHP": {
+ "name": "Фунт острова Святой Елены"
+ },
+ "FKP": {
+ "name": "Фунт Фолклендских островов"
+ },
+ "HRK": {
+ "name": "Хорватская куна"
+ },
+ "CZK": {
+ "name": "Чешская крона"
+ },
+ "CLP": {
+ "name": "Чилийское песо"
+ },
+ "SEK": {
+ "name": "Шведская крона"
+ },
+ "CHF": {
+ "name": "Швейцарский франк"
+ },
+ "LKR": {
+ "name": "Шри-ланкийская рупия"
+ },
+ "CVE": {
+ "name": "Эскудо Кабо-Верде"
+ },
+ "ETB": {
+ "name": "Эфиопский быр"
+ },
+ "ZAR": {
+ "name": "Южноафриканский рэнд"
+ },
+ "KRW": {
+ "name": "Южнокорейская вона",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "Южносуданский фунт"
+ },
+ "JMD": {
+ "name": "Ямайский доллар"
+ },
+ "JPY": {
+ "name": "Японская иена",
+ "symbol": "¥"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/rwk.json b/vendor/commerceguys/intl/resources/currency/rwk.json
new file mode 100644
index 000000000..61220f73e
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/rwk.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Ruble"
+ },
+ "BYR": {
+ "name": "Belarusian Ruble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "ETB": {
+ "name": "Bir ya Uhabeshi"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "GMD": {
+ "name": "Dalasi ya Gambia"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DZD": {
+ "name": "Dinari ya Aljeria"
+ },
+ "BHD": {
+ "name": "Dinari ya Bahareni"
+ },
+ "LYD": {
+ "name": "Dinari ya Libya"
+ },
+ "SDG": {
+ "name": "Dinari ya Sudani"
+ },
+ "TND": {
+ "name": "Dinari ya Tunisia"
+ },
+ "AED": {
+ "name": "Dirham ya Falme za Kiarabu"
+ },
+ "MAD": {
+ "name": "Dirham ya Moroko"
+ },
+ "STD": {
+ "name": "Dobra ya Sao Tome na Principe"
+ },
+ "AUD": {
+ "name": "Dola ya Australia",
+ "symbol": "A$"
+ },
+ "CAD": {
+ "name": "Dola ya Kanada",
+ "symbol": "CA$"
+ },
+ "LRD": {
+ "name": "Dola ya Liberia"
+ },
+ "USD": {
+ "name": "Dola ya Marekani",
+ "symbol": "US$"
+ },
+ "NAD": {
+ "name": "Dola ya Namibia"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "CVE": {
+ "name": "Eskudo ya Kepuvede"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "XOF": {
+ "name": "Faranga CFA BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Faranga CFA BEAC",
+ "symbol": "FCFA"
+ },
+ "MGA": {
+ "name": "Faranga ya Bukini"
+ },
+ "BIF": {
+ "name": "Faranga ya Burundi"
+ },
+ "DJF": {
+ "name": "Faranga ya Jibuti"
+ },
+ "KMF": {
+ "name": "Faranga ya Komoro"
+ },
+ "CDF": {
+ "name": "Faranga ya Kongo"
+ },
+ "RWF": {
+ "name": "Faranga ya Rwanda"
+ },
+ "CHF": {
+ "name": "Faranga ya Uswisi"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "MWK": {
+ "name": "Kwacha ya Malawi"
+ },
+ "ZMW": {
+ "name": "Kwacha ya Zambia"
+ },
+ "AOA": {
+ "name": "Kwanza ya Angola"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "SLL": {
+ "name": "Leoni"
+ },
+ "SZL": {
+ "name": "Lilangeni"
+ },
+ "LSL": {
+ "name": "Loti ya Lesoto"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NGN": {
+ "name": "Naira ya Nijeria"
+ },
+ "ERN": {
+ "name": "Nakfa ya Eritrea"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "EGP": {
+ "name": "Pauni ya Misri"
+ },
+ "SHP": {
+ "name": "Pauni ya Santahelena"
+ },
+ "GBP": {
+ "name": "Pauni ya Uingereza",
+ "symbol": "£"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "BWP": {
+ "name": "Pula ya Botswana"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "ZAR": {
+ "name": "Randi ya Afrika Kusini"
+ },
+ "SAR": {
+ "name": "Riyal ya Saudia"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "INR": {
+ "name": "Rupia ya India",
+ "symbol": "₹"
+ },
+ "MUR": {
+ "name": "Rupia ya Morisi"
+ },
+ "SCR": {
+ "name": "Rupia ya Shelisheli"
+ },
+ "RUB": {
+ "name": "Russian Ruble"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "JPY": {
+ "name": "Sarafu ya Kijapani",
+ "symbol": "JP¥"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "KES": {
+ "name": "Shilingi ya Kenya"
+ },
+ "SOS": {
+ "name": "Shilingi ya Somalia"
+ },
+ "TZS": {
+ "name": "Shilingi ya Tanzania",
+ "symbol": "TSh"
+ },
+ "UGX": {
+ "name": "Shilingi ya Uganda"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "MRO": {
+ "name": "Ugwiya ya Moritania"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "CNY": {
+ "name": "Yuan Renminbi ya China",
+ "symbol": "CN¥"
+ },
+ "EUR": {
+ "name": "Yuro",
+ "symbol": "€"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/saq.json b/vendor/commerceguys/intl/resources/currency/saq.json
new file mode 100644
index 000000000..0cf830b9f
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/saq.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Ruble"
+ },
+ "BYR": {
+ "name": "Belarusian Ruble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "LRD": {
+ "name": "Dola eel Liberia"
+ },
+ "USD": {
+ "name": "Dola eel Marekani",
+ "symbol": "US$"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "SLL": {
+ "name": "Leoni"
+ },
+ "SZL": {
+ "name": "Lilangeni"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "ZAR": {
+ "name": "Njilingi eel Afrika Kusini"
+ },
+ "DZD": {
+ "name": "Njilingi eel Aljeria"
+ },
+ "AOA": {
+ "name": "Njilingi eel Angola"
+ },
+ "AUD": {
+ "name": "Njilingi eel Australia",
+ "symbol": "A$"
+ },
+ "BHD": {
+ "name": "Njilingi eel Bahareni"
+ },
+ "BWP": {
+ "name": "Njilingi eel Botswana"
+ },
+ "MGA": {
+ "name": "Njilingi eel Bukini"
+ },
+ "BIF": {
+ "name": "Njilingi eel Burundi"
+ },
+ "XOF": {
+ "name": "Njilingi eel CFA BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Njilingi eel CFA BEAC",
+ "symbol": "FCFA"
+ },
+ "CNY": {
+ "name": "Njilingi eel China",
+ "symbol": "CN¥"
+ },
+ "ERN": {
+ "name": "Njilingi eel Eritrea"
+ },
+ "AED": {
+ "name": "Njilingi eel Falme za Kiarabu"
+ },
+ "GMD": {
+ "name": "Njilingi eel Gambia"
+ },
+ "INR": {
+ "name": "Njilingi eel India",
+ "symbol": "₹"
+ },
+ "DJF": {
+ "name": "Njilingi eel Jibuti"
+ },
+ "CAD": {
+ "name": "Njilingi eel Kanada",
+ "symbol": "CA$"
+ },
+ "KES": {
+ "name": "Njilingi eel Kenya",
+ "symbol": "Ksh"
+ },
+ "CVE": {
+ "name": "Njilingi eel Kepuvede"
+ },
+ "JPY": {
+ "name": "Njilingi eel Kijapani",
+ "symbol": "JP¥"
+ },
+ "KMF": {
+ "name": "Njilingi eel Komoro"
+ },
+ "CDF": {
+ "name": "Njilingi eel Kongo"
+ },
+ "LSL": {
+ "name": "Njilingi eel Lesoto"
+ },
+ "LYD": {
+ "name": "Njilingi eel Libya"
+ },
+ "MWK": {
+ "name": "Njilingi eel Malawi"
+ },
+ "EGP": {
+ "name": "Njilingi eel Misri"
+ },
+ "MUR": {
+ "name": "Njilingi eel Morisi"
+ },
+ "MRO": {
+ "name": "Njilingi eel Moritania"
+ },
+ "MAD": {
+ "name": "Njilingi eel Moroko"
+ },
+ "NAD": {
+ "name": "Njilingi eel Namibia"
+ },
+ "NGN": {
+ "name": "Njilingi eel Nijeria"
+ },
+ "RWF": {
+ "name": "Njilingi eel Rwanda"
+ },
+ "STD": {
+ "name": "Njilingi eel Sao Tome na Principe"
+ },
+ "SAR": {
+ "name": "Njilingi eel Saudia"
+ },
+ "SCR": {
+ "name": "Njilingi eel Shelisheli"
+ },
+ "SOS": {
+ "name": "Njilingi eel Somalia"
+ },
+ "TZS": {
+ "name": "Njilingi eel Tanzania"
+ },
+ "TND": {
+ "name": "Njilingi eel Tunisia"
+ },
+ "UGX": {
+ "name": "Njilingi eel Uganda"
+ },
+ "ETB": {
+ "name": "Njilingi eel Uhabeshi"
+ },
+ "GBP": {
+ "name": "Njilingi eel Uingereza",
+ "symbol": "£"
+ },
+ "CHF": {
+ "name": "Njilingi eel Uswisi"
+ },
+ "ZMW": {
+ "name": "Njilingi eel Zambia"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "SHP": {
+ "name": "Paunt eel Santahelena"
+ },
+ "SDG": {
+ "name": "Paunt eel Sudani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Ruble"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "EUR": {
+ "name": "Yuro",
+ "symbol": "€"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/sbp.json b/vendor/commerceguys/intl/resources/currency/sbp.json
new file mode 100644
index 000000000..b5e75288e
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/sbp.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Ruble"
+ },
+ "BYR": {
+ "name": "Belarusian Ruble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "ZAR": {
+ "name": "Ihela ya Afilika Kusini"
+ },
+ "DZD": {
+ "name": "Ihela ya Alijeliya"
+ },
+ "AOA": {
+ "name": "Ihela ya Angola"
+ },
+ "AUD": {
+ "name": "Ihela ya Awusitilaliya",
+ "symbol": "A$"
+ },
+ "BHD": {
+ "name": "Ihela ya Bahaleni"
+ },
+ "BWP": {
+ "name": "Ihela ya Botiswana"
+ },
+ "MGA": {
+ "name": "Ihela ya Bukini"
+ },
+ "BIF": {
+ "name": "Ihela ya Bulundi"
+ },
+ "XOF": {
+ "name": "Ihela ya CFA BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Ihela ya CFA BEAC",
+ "symbol": "FCFA"
+ },
+ "ERN": {
+ "name": "Ihela ya Elitileya"
+ },
+ "GMD": {
+ "name": "Ihela ya Gambiya"
+ },
+ "INR": {
+ "name": "Ihela ya Indiya",
+ "symbol": "₹"
+ },
+ "JPY": {
+ "name": "Ihela ya Japani",
+ "symbol": "JP¥"
+ },
+ "DJF": {
+ "name": "Ihela ya Jibuti"
+ },
+ "CAD": {
+ "name": "Ihela ya Kanada",
+ "symbol": "CA$"
+ },
+ "KES": {
+ "name": "Ihela ya Kenya"
+ },
+ "CVE": {
+ "name": "Ihela ya Kepuvede"
+ },
+ "KMF": {
+ "name": "Ihela ya Komolo"
+ },
+ "CDF": {
+ "name": "Ihela ya Kongo"
+ },
+ "LSL": {
+ "name": "Ihela ya Lesoto"
+ },
+ "LRD": {
+ "name": "Ihela ya Libeliya"
+ },
+ "LYD": {
+ "name": "Ihela ya Libiya"
+ },
+ "RWF": {
+ "name": "Ihela ya Lwanda"
+ },
+ "MWK": {
+ "name": "Ihela ya Malawi"
+ },
+ "USD": {
+ "name": "Ihela ya Malekani",
+ "symbol": "US$"
+ },
+ "EGP": {
+ "name": "Ihela ya Misili"
+ },
+ "MUR": {
+ "name": "Ihela ya Molisi"
+ },
+ "MRO": {
+ "name": "Ihela ya Molitaniya"
+ },
+ "MAD": {
+ "name": "Ihela ya Moloko"
+ },
+ "NAD": {
+ "name": "Ihela ya Namibiya"
+ },
+ "NGN": {
+ "name": "Ihela ya Nijeliya"
+ },
+ "ZMW": {
+ "name": "Ihela ya Sambiya"
+ },
+ "SHP": {
+ "name": "Ihela ya Santahelena"
+ },
+ "STD": {
+ "name": "Ihela ya Sao Tome ni Pilinsipe"
+ },
+ "SAR": {
+ "name": "Ihela ya Sawudiya"
+ },
+ "SCR": {
+ "name": "Ihela ya Shelisheli"
+ },
+ "CNY": {
+ "name": "Ihela ya Shina",
+ "symbol": "CN¥"
+ },
+ "AED": {
+ "name": "Ihela ya Shitwa sha Shiyalabu"
+ },
+ "SLL": {
+ "name": "Ihela ya Siela Liyoni"
+ },
+ "SOS": {
+ "name": "Ihela ya Somaliya"
+ },
+ "SDG": {
+ "name": "Ihela ya Sudani"
+ },
+ "TZS": {
+ "name": "Ihela ya Tansaniya",
+ "symbol": "TSh"
+ },
+ "TND": {
+ "name": "Ihela ya Tunisiya"
+ },
+ "UGX": {
+ "name": "Ihela ya Uganda"
+ },
+ "ETB": {
+ "name": "Ihela ya Uhabeshi"
+ },
+ "EUR": {
+ "name": "Ihela ya Ulaya",
+ "symbol": "€"
+ },
+ "SZL": {
+ "name": "Ihela ya Uswasi"
+ },
+ "CHF": {
+ "name": "Ihela ya Uswisi"
+ },
+ "GBP": {
+ "name": "Ihela ya Uwingelesa",
+ "symbol": "£"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Ruble"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/seh.json b/vendor/commerceguys/intl/resources/currency/seh.json
new file mode 100644
index 000000000..2f68b62c2
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/seh.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Ruble"
+ },
+ "BYR": {
+ "name": "Belarusian Ruble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "ETB": {
+ "name": "Birr etíope"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "MWK": {
+ "name": "Cuacha do Maláui"
+ },
+ "ZMW": {
+ "name": "Cuacha zambiano"
+ },
+ "AOA": {
+ "name": "Cuanza angolano"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "GMD": {
+ "name": "Dalasi de Gâmbia"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DZD": {
+ "name": "Dinar argelino"
+ },
+ "BHD": {
+ "name": "Dinar bareinita"
+ },
+ "LYD": {
+ "name": "Dinar líbio"
+ },
+ "SDG": {
+ "name": "Dinar sudanês"
+ },
+ "TND": {
+ "name": "Dinar tunisiano"
+ },
+ "AED": {
+ "name": "Dirém dos Emirados Árabes Unidos"
+ },
+ "MAD": {
+ "name": "Dirém marroquino"
+ },
+ "STD": {
+ "name": "Dobra de São Tomé e Príncipe"
+ },
+ "AUD": {
+ "name": "Dólar australiano",
+ "symbol": "A$"
+ },
+ "CAD": {
+ "name": "Dólar canadense",
+ "symbol": "CA$"
+ },
+ "NAD": {
+ "name": "Dólar da Namíbia"
+ },
+ "LRD": {
+ "name": "Dólar liberiano"
+ },
+ "USD": {
+ "name": "Dólar norte-americano",
+ "symbol": "US$"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "CVE": {
+ "name": "Escudo cabo-verdiano"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "XOF": {
+ "name": "Franco CFA BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Franco CFA BEAC",
+ "symbol": "FCFA"
+ },
+ "CDF": {
+ "name": "Franco congolês"
+ },
+ "KMF": {
+ "name": "Franco de Comores"
+ },
+ "MGA": {
+ "name": "Franco de Madagascar"
+ },
+ "BIF": {
+ "name": "Franco do Burundi"
+ },
+ "DJF": {
+ "name": "Franco do Djibuti"
+ },
+ "RWF": {
+ "name": "Franco ruandês"
+ },
+ "CHF": {
+ "name": "Franco suíço"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "JPY": {
+ "name": "Iene japonês",
+ "symbol": "JP¥"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "SLL": {
+ "name": "Leone de Serra Leoa"
+ },
+ "GBP": {
+ "name": "Libra britânica",
+ "symbol": "£"
+ },
+ "SHP": {
+ "name": "Libra de Santa Helena"
+ },
+ "EGP": {
+ "name": "Libra egípcia"
+ },
+ "SZL": {
+ "name": "Lilangeni da Suazilândia"
+ },
+ "LSL": {
+ "name": "Loti do Lesoto"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MZN": {
+ "name": "Metical de Moçambique",
+ "symbol": "MTn"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NGN": {
+ "name": "Naira nigeriana"
+ },
+ "ERN": {
+ "name": "Nakfa da Eritréia"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "MRO": {
+ "name": "Ouguiya da Mauritânia"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "BWP": {
+ "name": "Pula botsuanesa"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "ZAR": {
+ "name": "Rand sul-africano"
+ },
+ "SAR": {
+ "name": "Rial saudita"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "SCR": {
+ "name": "Rupia das Seychelles"
+ },
+ "MUR": {
+ "name": "Rupia de Maurício"
+ },
+ "INR": {
+ "name": "Rúpia indiana",
+ "symbol": "₹"
+ },
+ "RUB": {
+ "name": "Russian Ruble"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "TZS": {
+ "name": "Xelim da Tanzânia"
+ },
+ "KES": {
+ "name": "Xelim queniano"
+ },
+ "SOS": {
+ "name": "Xelim somali"
+ },
+ "UGX": {
+ "name": "Xelim ugandense (1966–1987)"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "CNY": {
+ "name": "Yuan Renminbi chinês",
+ "symbol": "CN¥"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/ses.json b/vendor/commerceguys/intl/resources/currency/ses.json
new file mode 100644
index 000000000..fddc77db1
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/ses.json
@@ -0,0 +1,496 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Alžeeri Dinar"
+ },
+ "USD": {
+ "name": "Ameriki Dollar",
+ "symbol": "US$"
+ },
+ "AOA": {
+ "name": "Angoola Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahareen Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Ruble"
+ },
+ "BYR": {
+ "name": "Belarusian Ruble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswaana Pund"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "Britin Pund",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundi Fraŋ"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XOF": {
+ "name": "CFA Fraŋ (BCEAO)",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "CFA Fraŋ (BEAC)",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "ETB": {
+ "name": "Ecioopi Birr"
+ },
+ "EUR": {
+ "name": "Eero",
+ "symbol": "€"
+ },
+ "ERN": {
+ "name": "Eritree Nafka"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambi Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "ZAR": {
+ "name": "Hawasa Afriki Rand"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "INR": {
+ "name": "Indu Rupii",
+ "symbol": "₹"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JPY": {
+ "name": "Jaapoŋ Yen",
+ "symbol": "JP¥"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "DJF": {
+ "name": "Jibuuti Fraŋ"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "CAD": {
+ "name": "Kanaada Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Kapuver Escudo"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Keeniya Šiiliŋ"
+ },
+ "KMF": {
+ "name": "Komoor Fraŋ"
+ },
+ "CDF": {
+ "name": "Kongo Fraŋ"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "AED": {
+ "name": "Laaraw Immaara Margantey Dirham"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "SLL": {
+ "name": "Leeon"
+ },
+ "LSL": {
+ "name": "Leezoto Loti"
+ },
+ "LRD": {
+ "name": "Liberia Dollar"
+ },
+ "LYD": {
+ "name": "Liibi Dinar"
+ },
+ "SZL": {
+ "name": "Lilangeni"
+ },
+ "MAD": {
+ "name": "Maarok Dirham"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MWK": {
+ "name": "Malaawi Kwaca"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MGA": {
+ "name": "Malgaaši Fraŋ"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "EGP": {
+ "name": "Misra Pund"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MUR": {
+ "name": "Mooris Rupii"
+ },
+ "MRO": {
+ "name": "Mooritaani Ugiya"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NGN": {
+ "name": "Naajiriya Neera"
+ },
+ "NAD": {
+ "name": "Naamibi Dollar"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "AUD": {
+ "name": "Ostraali Dollar",
+ "symbol": "A$"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Ruble"
+ },
+ "RWF": {
+ "name": "Rwanda Fraŋ"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "Sao Tome nda Prinsipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudiya Riyal"
+ },
+ "SCR": {
+ "name": "Seešel Rupii"
+ },
+ "SHP": {
+ "name": "Seŋ Helena Fraŋ"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "CNY": {
+ "name": "Sinwa Yuan Renminbi",
+ "symbol": "CN¥"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somaali Šiiliŋ"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SDG": {
+ "name": "Suudaŋ Dinar"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swisu Fraŋ"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzaani Šiiliŋ"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunizi Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Uganda Šiiliŋ"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambi Kwaca"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/sg.json b/vendor/commerceguys/intl/resources/currency/sg.json
new file mode 100644
index 000000000..268829582
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/sg.json
@@ -0,0 +1,496 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "MGA": {
+ "name": "ariâri tî Madagasikära"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Ruble"
+ },
+ "BYR": {
+ "name": "Belarusian Ruble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "ETB": {
+ "name": "bir tî Etiopïi"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "GMD": {
+ "name": "dalasi tî gambïi"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "LYD": {
+ "name": "dinäar tî Libïi"
+ },
+ "TND": {
+ "name": "dinära tî Tunizïi"
+ },
+ "DZD": {
+ "name": "dinäri tî Alzerïi"
+ },
+ "AED": {
+ "name": "dirâm tî âEmirâti tî Arâbo Ôko"
+ },
+ "MAD": {
+ "name": "dirâm tî Marôko"
+ },
+ "STD": {
+ "name": "dôbra tî Sâô Tomë na Prinsîpe"
+ },
+ "USD": {
+ "name": "dol$ara ttî äLetäa-Ôko tî Amerîka",
+ "symbol": "US$"
+ },
+ "CAD": {
+ "name": "dolära tî kanadäa",
+ "symbol": "CA$"
+ },
+ "LRD": {
+ "name": "dolära tî Liberïa"
+ },
+ "NAD": {
+ "name": "dolära tî Namibïi"
+ },
+ "AUD": {
+ "name": "dolära tî Ostralïi",
+ "symbol": "A$"
+ },
+ "BHD": {
+ "name": "dolùara tî Bahrâina"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "CVE": {
+ "name": "eskûêdo tî Kâpo-Vêre"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "XOF": {
+ "name": "farânga CFA (BCEAO)",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "farânga CFA (BEAC)",
+ "symbol": "FCFA"
+ },
+ "BIF": {
+ "name": "farânga tî Burundïi"
+ },
+ "DJF": {
+ "name": "farânga tî Dibutïi"
+ },
+ "KMF": {
+ "name": "farânga tî Kömôro"
+ },
+ "CDF": {
+ "name": "farânga tî Kongöo"
+ },
+ "RWF": {
+ "name": "farânga tî Ruandäa"
+ },
+ "CHF": {
+ "name": "farânga tî Sûîsi"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "AOA": {
+ "name": "kwânza tî Angoläa"
+ },
+ "MWK": {
+ "name": "kwâtia tî Malawïi"
+ },
+ "ZMW": {
+ "name": "kwâtia tî Zambïi"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "SLL": {
+ "name": "leône tî Sierâ-Leône"
+ },
+ "SZL": {
+ "name": "lilangùeni tî Swazïlânde"
+ },
+ "LSL": {
+ "name": "loti tî Lesôtho"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NGN": {
+ "name": "nâîra tî Nizerïa"
+ },
+ "ERN": {
+ "name": "nakafa tî Eritrëe"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "GBP": {
+ "name": "pôndo tî Anglëe",
+ "symbol": "£"
+ },
+ "EGP": {
+ "name": "pôndo tî Kâmitâ"
+ },
+ "SDG": {
+ "name": "pôndo tî Sudäan"
+ },
+ "SHP": {
+ "name": "pôndo tî Zûâ Sênt-Helêna"
+ },
+ "BWP": {
+ "name": "pûla tî Botswana"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "ZAR": {
+ "name": "rânde tî Mbongo-Afrîka"
+ },
+ "SAR": {
+ "name": "riâli tî Saûdi Arabïi"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "INR": {
+ "name": "rupïi tî Ênnde",
+ "symbol": "₹"
+ },
+ "MUR": {
+ "name": "rupïi tî Mörîsi"
+ },
+ "SCR": {
+ "name": "rupïi tî Sëyshêle"
+ },
+ "RUB": {
+ "name": "Russian Ruble"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "KES": {
+ "name": "shilîngi tî Kenyäa"
+ },
+ "SOS": {
+ "name": "shilîngi tî Somalïi"
+ },
+ "TZS": {
+ "name": "shilîngi tî Tanzanïi"
+ },
+ "UGX": {
+ "name": "shilîngi tî Ugandäa"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "MRO": {
+ "name": "ugîya tî Moritanïi"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "JPY": {
+ "name": "yêni tî Zapön",
+ "symbol": "JP¥"
+ },
+ "CNY": {
+ "name": "yuan renminbi tî Shîni",
+ "symbol": "CN¥"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ },
+ "EUR": {
+ "name": "zoröo",
+ "symbol": "€"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/shi-Latn.json b/vendor/commerceguys/intl/resources/currency/shi-Latn.json
new file mode 100644
index 000000000..10638b572
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/shi-Latn.json
@@ -0,0 +1,496 @@
+{
+ "BWP": {
+ "name": "abula n butswana"
+ },
+ "KES": {
+ "name": "acilin n kinya"
+ },
+ "SOS": {
+ "name": "acilin n ṣṣumal"
+ },
+ "TZS": {
+ "name": "acilin n ṭanẓanya"
+ },
+ "UGX": {
+ "name": "acilin n uɣanda"
+ },
+ "BHD": {
+ "name": "adinar n bḥrayn"
+ },
+ "DZD": {
+ "name": "adinar n dzayr"
+ },
+ "LYD": {
+ "name": "adinar n libya"
+ },
+ "SDG": {
+ "name": "adinar n ssudan"
+ },
+ "TND": {
+ "name": "adinar n tuns"
+ },
+ "AED": {
+ "name": "adrim n limarat"
+ },
+ "MAD": {
+ "name": "adrim n lmɣrib"
+ },
+ "STD": {
+ "name": "adubra n sanṭumi"
+ },
+ "USD": {
+ "name": "adular n iwunak imunn",
+ "symbol": "US$"
+ },
+ "CAD": {
+ "name": "adular n kanada",
+ "symbol": "CA$"
+ },
+ "LRD": {
+ "name": "adular n libirya"
+ },
+ "NAD": {
+ "name": "adular n namibya"
+ },
+ "AUD": {
+ "name": "adular n ustralya",
+ "symbol": "A$"
+ },
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "RWF": {
+ "name": "afrank n rwanda"
+ },
+ "CHF": {
+ "name": "afrank n swisra"
+ },
+ "GBP": {
+ "name": "ajnih astrlini n nngliz",
+ "symbol": "£"
+ },
+ "EGP": {
+ "name": "ajnih n miṣṛ"
+ },
+ "SHP": {
+ "name": "ajnih n santilin"
+ },
+ "ZMW": {
+ "name": "akwaca n zambya"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "ZAR": {
+ "name": "arand n afriqya n iffus"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "INR": {
+ "name": "arubi n lhind",
+ "symbol": "₹"
+ },
+ "MUR": {
+ "name": "arubi n muris"
+ },
+ "SCR": {
+ "name": "arubi n ssicil"
+ },
+ "SAR": {
+ "name": "aryal n ssaɛudiya"
+ },
+ "CNY": {
+ "name": "ayan n ccinwa",
+ "symbol": "CN¥"
+ },
+ "JPY": {
+ "name": "ayan n lyaban",
+ "symbol": "JP¥"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Ruble"
+ },
+ "BYR": {
+ "name": "Belarusian Ruble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "ETB": {
+ "name": "bir n ityubya"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "GMD": {
+ "name": "dalasi n gambya"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "BIF": {
+ "name": "frank n burundi"
+ },
+ "DJF": {
+ "name": "frank n djibuti"
+ },
+ "CDF": {
+ "name": "frank n kungu"
+ },
+ "MGA": {
+ "name": "frank n madaɣacqar"
+ },
+ "KMF": {
+ "name": "frank n qumuṛ"
+ },
+ "XAF": {
+ "name": "frank ṣifa",
+ "symbol": "FCFA"
+ },
+ "XOF": {
+ "name": "frank ṣifa bisaw",
+ "symbol": "CFA"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "CVE": {
+ "name": "iskudu n kabbirdi"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "MWK": {
+ "name": "kwaca n malawi"
+ },
+ "AOA": {
+ "name": "kwanza n angula"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "SZL": {
+ "name": "lilanjini"
+ },
+ "SLL": {
+ "name": "liyun"
+ },
+ "LSL": {
+ "name": "luti n liṣuṭu"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "ERN": {
+ "name": "nafka n iritirya"
+ },
+ "NGN": {
+ "name": "nayra n nijirya"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Ruble"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "MRO": {
+ "name": "uqiyya n muṛiṭanya"
+ },
+ "EUR": {
+ "name": "uru",
+ "symbol": "€"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/shi.json b/vendor/commerceguys/intl/resources/currency/shi.json
new file mode 100644
index 000000000..317c61300
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/shi.json
@@ -0,0 +1,496 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Ruble"
+ },
+ "BYR": {
+ "name": "Belarusian Ruble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Ruble"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ },
+ "BWP": {
+ "name": "ⴰⴱⵓⵍⴰ ⵏ ⴱⵓⵜⵙⵡⴰⵏⴰ"
+ },
+ "BHD": {
+ "name": "ⴰⴷⵉⵏⴰⵔ ⵏ ⴱⵃⵔⴰⵢⵏ"
+ },
+ "DZD": {
+ "name": "ⴰⴷⵉⵏⴰⵔ ⵏ ⴷⵣⴰⵢⵔ"
+ },
+ "LYD": {
+ "name": "ⴰⴷⵉⵏⴰⵔ ⵏ ⵍⵉⴱⵢⴰ"
+ },
+ "SDG": {
+ "name": "ⴰⴷⵉⵏⴰⵔ ⵏ ⵙⵙⵓⴷⴰⵏ"
+ },
+ "TND": {
+ "name": "ⴰⴷⵉⵏⴰⵔ ⵏ ⵜⵓⵏⵙ"
+ },
+ "STD": {
+ "name": "ⴰⴷⵓⴱⵔⴰ ⵏ ⵙⴰⵏⵟⵓⵎⵉ"
+ },
+ "CAD": {
+ "name": "ⴰⴷⵓⵍⴰⵔ ⵏ ⴽⴰⵏⴰⴷⴰ",
+ "symbol": "CA$"
+ },
+ "USD": {
+ "name": "ⴰⴷⵓⵍⴰⵔ ⵏ ⵉⵡⵓⵏⴰⴽ ⵉⵎⵓⵏⵏ",
+ "symbol": "US$"
+ },
+ "LRD": {
+ "name": "ⴰⴷⵓⵍⴰⵔ ⵏ ⵍⵉⴱⵉⵔⵢⴰ"
+ },
+ "NAD": {
+ "name": "ⴰⴷⵓⵍⴰⵔ ⵏ ⵏⴰⵎⵉⴱⵢⴰ"
+ },
+ "AUD": {
+ "name": "ⴰⴷⵓⵍⴰⵔ ⵏ ⵓⵙⵜⵔⴰⵍⵢⴰ",
+ "symbol": "A$"
+ },
+ "AED": {
+ "name": "ⴰⴷⵔⵉⵎ ⵏ ⵍⵉⵎⴰⵔⴰⵜ"
+ },
+ "MAD": {
+ "name": "ⴰⴷⵔⵉⵎ ⵏ ⵍⵎⵖⵔⵉⴱ"
+ },
+ "RWF": {
+ "name": "ⴰⴼⵔⴰⵏⴽ ⵏ ⵔⵡⴰⵏⴷⴰ"
+ },
+ "CHF": {
+ "name": "ⴰⴼⵔⴰⵏⴽ ⵏ ⵙⵡⵉⵙⵔⴰ"
+ },
+ "ZMW": {
+ "name": "ⴰⴽⵡⴰⵛⴰ ⵏ ⵣⴰⵎⴱⵢⴰ"
+ },
+ "GBP": {
+ "name": "ⴰⵊⵏⵉⵀ ⴰⵙⵜⵔⵍⵉⵏⵉ ⵏ ⵏⵏⴳⵍⵉⵣ",
+ "symbol": "£"
+ },
+ "EGP": {
+ "name": "ⴰⵊⵏⵉⵀ ⵏ ⵎⵉⵚⵕ"
+ },
+ "SHP": {
+ "name": "ⴰⵊⵏⵉⵀ ⵏ ⵙⴰⵏⵜⵉⵍⵉⵏ"
+ },
+ "ZAR": {
+ "name": "ⴰⵔⴰⵏⴷ ⵏ ⴰⴼⵔⵉⵇⵢⴰ ⵏ ⵉⴼⴼⵓⵙ"
+ },
+ "INR": {
+ "name": "ⴰⵔⵓⴱⵉ ⵏ ⵍⵀⵉⵏⴷ",
+ "symbol": "₹"
+ },
+ "MUR": {
+ "name": "ⴰⵔⵓⴱⵉ ⵏ ⵎⵓⵔⵉⵙ"
+ },
+ "SCR": {
+ "name": "ⴰⵔⵓⴱⵉ ⵏ ⵙⵙⵉⵛⵉⵍ"
+ },
+ "SAR": {
+ "name": "ⴰⵔⵢⴰⵍ ⵏ ⵙⵙⴰⵄⵓⴷⵉⵢⴰ"
+ },
+ "KES": {
+ "name": "ⴰⵛⵉⵍⵉⵏ ⵏ ⴽⵉⵏⵢⴰ"
+ },
+ "UGX": {
+ "name": "ⴰⵛⵉⵍⵉⵏ ⵏ ⵓⵖⴰⵏⴷⴰ"
+ },
+ "SOS": {
+ "name": "ⴰⵛⵉⵍⵉⵏ ⵏ ⵚⵚⵓⵎⴰⵍ"
+ },
+ "TZS": {
+ "name": "ⴰⵛⵉⵍⵉⵏ ⵏ ⵟⴰⵏⵥⴰⵏⵢⴰ"
+ },
+ "JPY": {
+ "name": "ⴰⵢⴰⵏ ⵏ ⵍⵢⴰⴱⴰⵏ",
+ "symbol": "JP¥"
+ },
+ "CNY": {
+ "name": "ⴰⵢⴰⵏ ⵏ ⵛⵛⵉⵏⵡⴰ",
+ "symbol": "CN¥"
+ },
+ "ETB": {
+ "name": "ⴱⵉⵔ ⵏ ⵉⵜⵢⵓⴱⵢⴰ"
+ },
+ "GMD": {
+ "name": "ⴷⴰⵍⴰⵙⵉ ⵏ ⴳⴰⵎⴱⵢⴰ"
+ },
+ "BIF": {
+ "name": "ⴼⵔⴰⵏⴽ ⵏ ⴱⵓⵔⵓⵏⴷⵉ"
+ },
+ "DJF": {
+ "name": "ⴼⵔⴰⵏⴽ ⵏ ⴷⵊⵉⴱⵓⵜⵉ"
+ },
+ "CDF": {
+ "name": "ⴼⵔⴰⵏⴽ ⵏ ⴽⵓⵏⴳⵓ"
+ },
+ "KMF": {
+ "name": "ⴼⵔⴰⵏⴽ ⵏ ⵇⵓⵎⵓⵕ"
+ },
+ "MGA": {
+ "name": "ⴼⵔⴰⵏⴽ ⵏ ⵎⴰⴷⴰⵖⴰⵛⵇⴰⵔ"
+ },
+ "XAF": {
+ "name": "ⴼⵔⴰⵏⴽ ⵚⵉⴼⴰ",
+ "symbol": "FCFA"
+ },
+ "XOF": {
+ "name": "ⴼⵔⴰⵏⴽ ⵚⵉⴼⴰ ⴱⵉⵙⴰⵡ",
+ "symbol": "CFA"
+ },
+ "AOA": {
+ "name": "ⴽⵡⴰⵏⵣⴰ ⵏ ⴰⵏⴳⵓⵍⴰ"
+ },
+ "MWK": {
+ "name": "ⴽⵡⴰⵛⴰ ⵏ ⵎⴰⵍⴰⵡⵉ"
+ },
+ "CVE": {
+ "name": "ⵉⵙⴽⵓⴷⵓ ⵏ ⴽⴰⴱⴱⵉⵔⴷⵉ"
+ },
+ "SZL": {
+ "name": "ⵍⵉⵍⴰⵏⵊⵉⵏⵉ"
+ },
+ "SLL": {
+ "name": "ⵍⵉⵢⵓⵏ"
+ },
+ "LSL": {
+ "name": "ⵍⵓⵜⵉ ⵏ ⵍⵉⵚⵓⵟⵓ"
+ },
+ "ERN": {
+ "name": "ⵏⴰⴼⴽⴰ ⵏ ⵉⵔⵉⵜⵉⵔⵢⴰ"
+ },
+ "NGN": {
+ "name": "ⵏⴰⵢⵔⴰ ⵏ ⵏⵉⵊⵉⵔⵢⴰ"
+ },
+ "MRO": {
+ "name": "ⵓⵇⵉⵢⵢⴰ ⵏ ⵎⵓⵕⵉⵟⴰⵏⵢⴰ"
+ },
+ "EUR": {
+ "name": "ⵓⵔⵓ",
+ "symbol": "€"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/si.json b/vendor/commerceguys/intl/resources/currency/si.json
new file mode 100644
index 000000000..c5e45dbad
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/si.json
@@ -0,0 +1,498 @@
+{
+ "ISK": {
+ "name": "අයිස්ලන්තික ක්‍රෝනා"
+ },
+ "AWG": {
+ "name": "අරූබානු ෆ්ලෝරින්"
+ },
+ "AZN": {
+ "name": "අසර්බයිජානු මනාට්"
+ },
+ "ARS": {
+ "name": "ආර්ජන්ටිනා පෙසෝ"
+ },
+ "AMD": {
+ "name": "ආර්මේනියානු ඩ්‍රෑම්"
+ },
+ "AOA": {
+ "name": "ඇන්ගෝලානු ක්වන්සා"
+ },
+ "USD": {
+ "name": "ඇමරිකානු ඩොලර්",
+ "symbol": "US$"
+ },
+ "DZD": {
+ "name": "ඇල්ගේරියානු ඩිනාර්"
+ },
+ "ALL": {
+ "name": "ඇල්බේනියානු ලෙක්"
+ },
+ "AFN": {
+ "name": "ඇෆ්ගනිථාන ඇෆ්ගනි"
+ },
+ "ETB": {
+ "name": "ඉතියෝපියානු බීර්"
+ },
+ "INR": {
+ "name": "ඉන්දියානු රුපියල්",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "ඉන්දුනීසියානු රුපියා"
+ },
+ "IQD": {
+ "name": "ඉරාක ඩිනාර්"
+ },
+ "IRR": {
+ "name": "ඉරාන රියාල්"
+ },
+ "EGP": {
+ "name": "ඊජිප්තු පවුම්"
+ },
+ "ILS": {
+ "name": "ඊශ්‍රායල නව ශෙකල්",
+ "symbol": "₪"
+ },
+ "UGX": {
+ "name": "උගන්ඩා ශිලිං"
+ },
+ "KPW": {
+ "name": "උතුරු කොරියානු වොන්"
+ },
+ "UYU": {
+ "name": "උරුගුවේ පෙසෝ"
+ },
+ "UZS": {
+ "name": "උස්බෙකිස්ථාන සම්"
+ },
+ "AED": {
+ "name": "එක්සත් අරාබි එමිරේට්ස් ඩිරාම්"
+ },
+ "ERN": {
+ "name": "එරිත්‍රියානු නැක්ෆා"
+ },
+ "AUD": {
+ "name": "ඔස්ට්‍රේලියානු ඩොලර්",
+ "symbol": "A$"
+ },
+ "OMR": {
+ "name": "ඕමාන් රියාල්"
+ },
+ "QAR": {
+ "name": "කටාර් රියාල්"
+ },
+ "KZT": {
+ "name": "කසකස්ථාන ටෙන්ග"
+ },
+ "KHR": {
+ "name": "කාම්බෝජ රියේල්"
+ },
+ "CAD": {
+ "name": "කැනේඩියානු ඩොලර්",
+ "symbol": "CA$"
+ },
+ "CUP": {
+ "name": "කියුබානු පැසෝ"
+ },
+ "KGS": {
+ "name": "කිරිගිස්ථාන සම්"
+ },
+ "KWD": {
+ "name": "කුවේට් ඩිනාර්"
+ },
+ "KES": {
+ "name": "කෙන්යානු ශිලිං"
+ },
+ "CVE": {
+ "name": "කේප් වර්ඩ් එස්කියුඩෝ"
+ },
+ "KYD": {
+ "name": "කේමන් දූපත් ඩොලර්"
+ },
+ "CDF": {
+ "name": "කොංගෝ ෆ්‍රෑන්ක්"
+ },
+ "KMF": {
+ "name": "කොමොරියානු ෆ්‍රෑන්ක්"
+ },
+ "COP": {
+ "name": "කොලොම්බියානු පෙසෝ"
+ },
+ "CRC": {
+ "name": "කොස්ට රිකා කොලෝන්"
+ },
+ "HRK": {
+ "name": "ක්‍රොඒෂියානු කූනා"
+ },
+ "GYD": {
+ "name": "ගයනා ඩොලර්"
+ },
+ "GMD": {
+ "name": "ගැම්බියානු දලාසි"
+ },
+ "GNF": {
+ "name": "ගිනියානු ෆ්රෑන්ක්"
+ },
+ "GTQ": {
+ "name": "ගෝතමාලානු ක්වෙට්සල්"
+ },
+ "GHS": {
+ "name": "ඝානා සෙඩි"
+ },
+ "CLP": {
+ "name": "චිලි පැසෝ"
+ },
+ "CNY": {
+ "name": "චීන යුආන්",
+ "symbol": "CN¥"
+ },
+ "CZK": {
+ "name": "චෙක් රිපබ්ලික් කොරූනා"
+ },
+ "JPY": {
+ "name": "ජපන් යෙන්",
+ "symbol": "JP¥"
+ },
+ "JMD": {
+ "name": "ජැමෙයිකානු ඩොලර්"
+ },
+ "DJF": {
+ "name": "ජිබූති ෆ්‍රෑන්ක්"
+ },
+ "GIP": {
+ "name": "ජිබ්‍රෝල්ටා පවුම්"
+ },
+ "GEL": {
+ "name": "ජෝජියානු ලැරී"
+ },
+ "JOD": {
+ "name": "ජෝර්දාන් ඩිනාර්"
+ },
+ "TZS": {
+ "name": "ටැන්සානියානු ශිලිං"
+ },
+ "TND": {
+ "name": "ටියුනීසියානු ඩිනාර්"
+ },
+ "TOP": {
+ "name": "ටොංගානු පාන්ගා"
+ },
+ "TTD": {
+ "name": "ට්‍රිනිඩෑඩ් සහ ටොබෑගෝ ඩොලර්"
+ },
+ "DKK": {
+ "name": "ඩැනිෂ් ක්‍රෝන්"
+ },
+ "DOP": {
+ "name": "ඩොමිනිකානු පෙසෝ"
+ },
+ "TMT": {
+ "name": "තක්මෙනිස්ථාන මනාට්"
+ },
+ "TJS": {
+ "name": "තජිකිස්ථාන සමොනි"
+ },
+ "THB": {
+ "name": "තායි බාත්",
+ "symbol": "฿"
+ },
+ "TRY": {
+ "name": "තුර්කි ලිරා"
+ },
+ "ZAR": {
+ "name": "දකුණු අප්‍රිකානු රැන්ඩ්"
+ },
+ "KRW": {
+ "name": "දකුණු කොරියානු වොන්",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "දකුණු සුඩාන පවුම්"
+ },
+ "NGN": {
+ "name": "නයිජීරියානු නයිරා"
+ },
+ "TWD": {
+ "name": "නව තායිවාන ඩොලර්",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "නවසීලන්ත ඩොලර්",
+ "symbol": "NZ$"
+ },
+ "XCD": {
+ "name": "නැගෙනහිර කැරිබියානු ඩොලර්",
+ "symbol": "EC$"
+ },
+ "NAD": {
+ "name": "නැමීබියානු ඩොලර්"
+ },
+ "NIO": {
+ "name": "නිකරගුවානු කොඩෝබා"
+ },
+ "ANG": {
+ "name": "නෙදර්ලන්ත ඇන්ටිලියන් ගිල්ඩර්"
+ },
+ "NPR": {
+ "name": "නේපාල රුපියල්"
+ },
+ "NOK": {
+ "name": "නොර්වීජියන් ක්‍රෝන්"
+ },
+ "PKR": {
+ "name": "පාකිස්ථාන රුපියල්"
+ },
+ "PAB": {
+ "name": "පැනමා බැල්බෝ"
+ },
+ "PGK": {
+ "name": "පැපුවා නිව් ගිනියානු කිනා"
+ },
+ "PYG": {
+ "name": "පැරගුවේ ගුවරානි"
+ },
+ "PHP": {
+ "name": "පිලිපීන පෙසෝ"
+ },
+ "PEN": {
+ "name": "පේරු නියුවෝ සොල්"
+ },
+ "PLN": {
+ "name": "පොලිෂ් ස්ලොටි"
+ },
+ "XPF": {
+ "name": "ප්‍රංශ පොලිනීසියානු ෆ්‍රෑන්ක්",
+ "symbol": "CFPF"
+ },
+ "BDT": {
+ "name": "බංග්ලාදේශ් ටකා"
+ },
+ "BMD": {
+ "name": "බර්මියුඩානු ඩොලර්"
+ },
+ "BGN": {
+ "name": "බල්ගේරියානු ලිව්"
+ },
+ "BSD": {
+ "name": "බහමානු ඩොලර්"
+ },
+ "BHD": {
+ "name": "බහරේන් ඩිනාර්"
+ },
+ "BBD": {
+ "name": "බාබේඩියානු ඩොලර්"
+ },
+ "BIF": {
+ "name": "බුරුන්දි ෆ්‍රෑන්ක්"
+ },
+ "MMK": {
+ "name": "බුරුම ක්යාට්"
+ },
+ "BND": {
+ "name": "බෘනායි ඩොලර්"
+ },
+ "BYN": {
+ "name": "බෙලරූස් රූබල්"
+ },
+ "BYR": {
+ "name": "බෙලරූස් රූබල් (2000–2016)"
+ },
+ "BZD": {
+ "name": "බෙලීස් ඩොලර්"
+ },
+ "BWP": {
+ "name": "බොට්ස්වානා පුලා"
+ },
+ "BOB": {
+ "name": "බොලිවියානු බොලිවියානෝ"
+ },
+ "BAM": {
+ "name": "බොස්නියා හර්සගොවීනා පරිවර්ත්‍ය මාර්ක්"
+ },
+ "BRL": {
+ "name": "බ්‍රසීල රියල්",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "බ්‍රිතාන්‍ය ස්ටර්ලින් පවුම්",
+ "symbol": "£"
+ },
+ "BTN": {
+ "name": "භූතාන නගුල්ට්‍රම්"
+ },
+ "MGA": {
+ "name": "මලගාසි අරියාරි"
+ },
+ "MWK": {
+ "name": "මලාවි ක්වාචා"
+ },
+ "CUC": {
+ "name": "මාරුකළ හැකි කියුබානු පැසෝ"
+ },
+ "MVR": {
+ "name": "මාලදිවයින් රුෆියා"
+ },
+ "MOP": {
+ "name": "මැකනීස් පටකා"
+ },
+ "MYR": {
+ "name": "මැලේසියානු රින්ගිට්"
+ },
+ "MKD": {
+ "name": "මැසඩෝනියානු ඩිනාර්"
+ },
+ "MUR": {
+ "name": "මුරිසියානු රුපියල්"
+ },
+ "MRO": {
+ "name": "මුරුසි ඔයිගුයියා"
+ },
+ "MXN": {
+ "name": "මෙක්සිකානු ඩොලර්",
+ "symbol": "MX$"
+ },
+ "MNT": {
+ "name": "මොන්ගෝලියානු ටග්‍රික්"
+ },
+ "MAD": {
+ "name": "මොරොක්කෝ ඩිර්හැම්"
+ },
+ "MZN": {
+ "name": "මොසැම්බිකන් මෙටිකල්"
+ },
+ "MDL": {
+ "name": "මෝල්ඩෝවානු ලෙව්"
+ },
+ "UAH": {
+ "name": "යුක්රේන හ්‍රිව්නියා"
+ },
+ "EUR": {
+ "name": "යුරෝ",
+ "symbol": "€"
+ },
+ "YER": {
+ "name": "යේමන රියාල්"
+ },
+ "RWF": {
+ "name": "රුවන්ඩා ෆ්‍රෑන්ක්"
+ },
+ "RUB": {
+ "name": "රුසියන් රූබල්"
+ },
+ "RON": {
+ "name": "රොමේනියානු ලෙව්"
+ },
+ "LRD": {
+ "name": "ලයිබේරියානු ඩොලර්"
+ },
+ "LAK": {
+ "name": "ලාඕස් කිප්"
+ },
+ "LYD": {
+ "name": "ලිබියානු ඩිනාර්"
+ },
+ "LBP": {
+ "name": "ලෙබනන පවුම්"
+ },
+ "VUV": {
+ "name": "වනුවාටු වාටු"
+ },
+ "VND": {
+ "name": "වියට්නාම ඩොන්",
+ "symbol": "₫"
+ },
+ "VEF": {
+ "name": "වෙනිසියුලානු බොලිවර්"
+ },
+ "SHP": {
+ "name": "ශාන්ත හෙලේනා පවුම්"
+ },
+ "LKR": {
+ "name": "ශ්‍රී ලංකා රුපියල",
+ "symbol": "රු."
+ },
+ "RSD": {
+ "name": "සර්බියානු ඩිනාර්"
+ },
+ "SAR": {
+ "name": "සවුදි රියාල්"
+ },
+ "STD": {
+ "name": "සාඕ තෝම් සහ ප්‍රින්සිප් දොබ්‍රා"
+ },
+ "WST": {
+ "name": "සැමෝවා ටාලා"
+ },
+ "ZMW": {
+ "name": "සැම්බියානු ක්වාචා"
+ },
+ "SGD": {
+ "name": "සිංගප්පූරු ඩොලර්"
+ },
+ "SLL": {
+ "name": "සියරා ලියොන් ලියොන්"
+ },
+ "SYP": {
+ "name": "සිරියානු පවුම්"
+ },
+ "XAF": {
+ "name": "සිෆ්එ ෆ්රෑන්ක් බිඊඑසි",
+ "symbol": "FCFA"
+ },
+ "XOF": {
+ "name": "සිෆ්එ ෆ්රෑන්ක් බිසීඊඑඔ",
+ "symbol": "සිෆ්එ"
+ },
+ "SCR": {
+ "name": "සීෂෙලියානු රුපියල"
+ },
+ "SDG": {
+ "name": "සුඩාන පවුම්"
+ },
+ "SRD": {
+ "name": "සුරිනාම් ඩොලර්"
+ },
+ "SBD": {
+ "name": "සොලමන් දූපත් ඩොලර්"
+ },
+ "SOS": {
+ "name": "සෝමාලියානු ශිලිං"
+ },
+ "SZL": {
+ "name": "ස්වාසි ලිලන්ජනි"
+ },
+ "CHF": {
+ "name": "ස්විස් ෆ්‍රෑන්ක්"
+ },
+ "SEK": {
+ "name": "ස්වෙඩිෂ් ක්‍රෝනා"
+ },
+ "HUF": {
+ "name": "හංගේරියානු ෆරින්ට්"
+ },
+ "HTG": {
+ "name": "හයිටි ගෝර්ඩ්"
+ },
+ "HKD": {
+ "name": "හොංකොං ඩොලර්",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "හොන්ඩුරානු ලෙම්පිරා"
+ },
+ "FJD": {
+ "name": "ෆිජියන් ඩොලර්"
+ },
+ "FKP": {
+ "name": "ෆෝක්ලන්ඩ් දූපත් පවුම්"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/sk.json b/vendor/commerceguys/intl/resources/currency/sk.json
new file mode 100644
index 000000000..64a03dd89
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/sk.json
@@ -0,0 +1,483 @@
+{
+ "AFN": {
+ "name": "afganský afgání"
+ },
+ "ALL": {
+ "name": "albánsky lek"
+ },
+ "DZD": {
+ "name": "alžírsky dinár"
+ },
+ "USD": {
+ "name": "americký dolár"
+ },
+ "AOA": {
+ "name": "angolská kwanza"
+ },
+ "ANG": {
+ "name": "antilský gulden"
+ },
+ "ARS": {
+ "name": "argentínske peso"
+ },
+ "AMD": {
+ "name": "arménsky dram"
+ },
+ "AWG": {
+ "name": "arubský gulden"
+ },
+ "AUD": {
+ "name": "austrálsky dolár"
+ },
+ "AZN": {
+ "name": "azerbajdžanský manat"
+ },
+ "BSD": {
+ "name": "bahamský dolár"
+ },
+ "BHD": {
+ "name": "bahrajnský dinár"
+ },
+ "BDT": {
+ "name": "bangladéšska taka"
+ },
+ "BBD": {
+ "name": "barbadoský dolár"
+ },
+ "BZD": {
+ "name": "belizský dolár"
+ },
+ "BMD": {
+ "name": "bermudský dolár"
+ },
+ "BTN": {
+ "name": "bhutánsky ngultrum"
+ },
+ "BYN": {
+ "name": "bieloruský rubeľ"
+ },
+ "BYR": {
+ "name": "bieloruský rubeľ (2000–2016)"
+ },
+ "BOB": {
+ "name": "bolívijské boliviano"
+ },
+ "BWP": {
+ "name": "botswanská pula"
+ },
+ "BRL": {
+ "name": "brazílsky real"
+ },
+ "GBP": {
+ "name": "britská libra"
+ },
+ "BND": {
+ "name": "brunejský dolár"
+ },
+ "BGN": {
+ "name": "bulharský lev"
+ },
+ "BIF": {
+ "name": "burundský frank"
+ },
+ "XPF": {
+ "name": "CFP frank",
+ "symbol": "CFPF"
+ },
+ "CZK": {
+ "name": "česká koruna"
+ },
+ "CLP": {
+ "name": "čilské peso"
+ },
+ "CNY": {
+ "name": "čínsky jüan"
+ },
+ "DKK": {
+ "name": "dánska koruna"
+ },
+ "DOP": {
+ "name": "dominikánske peso"
+ },
+ "DJF": {
+ "name": "džibutský frank"
+ },
+ "EGP": {
+ "name": "egyptská libra"
+ },
+ "ERN": {
+ "name": "eritrejská nakfa"
+ },
+ "ETB": {
+ "name": "etiópsky birr"
+ },
+ "EUR": {
+ "name": "euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "falklandská libra"
+ },
+ "FJD": {
+ "name": "fidžijský dolár"
+ },
+ "PHP": {
+ "name": "filipínske peso"
+ },
+ "GMD": {
+ "name": "gambijské dalasi"
+ },
+ "GHS": {
+ "name": "ghanské cedi"
+ },
+ "GIP": {
+ "name": "gibraltárska libra"
+ },
+ "GEL": {
+ "name": "gruzínske lari"
+ },
+ "GTQ": {
+ "name": "guatemalský quetzal"
+ },
+ "GNF": {
+ "name": "guinejský frank"
+ },
+ "GYD": {
+ "name": "guyanský dolár"
+ },
+ "HTG": {
+ "name": "haitské gourde"
+ },
+ "HNL": {
+ "name": "honduraská lempira"
+ },
+ "HKD": {
+ "name": "hongkonský dolár"
+ },
+ "HRK": {
+ "name": "chorvátska kuna"
+ },
+ "INR": {
+ "name": "indická rupia"
+ },
+ "IDR": {
+ "name": "indonézska rupia"
+ },
+ "IQD": {
+ "name": "iracký dinár"
+ },
+ "IRR": {
+ "name": "iránsky rial"
+ },
+ "ISK": {
+ "name": "islandská koruna"
+ },
+ "ILS": {
+ "name": "izraelský šekel",
+ "symbol": "NIS"
+ },
+ "JMD": {
+ "name": "jamajský dolár"
+ },
+ "JPY": {
+ "name": "japonský jen"
+ },
+ "YER": {
+ "name": "jemenský rial"
+ },
+ "JOD": {
+ "name": "jordánsky dinár"
+ },
+ "ZAR": {
+ "name": "juhoafrický rand"
+ },
+ "KRW": {
+ "name": "juhokórejský won"
+ },
+ "SSP": {
+ "name": "juhosudánska libra"
+ },
+ "KYD": {
+ "name": "kajmanský dolár"
+ },
+ "KHR": {
+ "name": "kambodžský riel"
+ },
+ "CAD": {
+ "name": "kanadský dolár"
+ },
+ "CVE": {
+ "name": "kapverdské escudo"
+ },
+ "QAR": {
+ "name": "katarský rial"
+ },
+ "KZT": {
+ "name": "kazašské tenge"
+ },
+ "KES": {
+ "name": "kenský šiling"
+ },
+ "KGS": {
+ "name": "kirgizský som"
+ },
+ "COP": {
+ "name": "kolumbijské peso"
+ },
+ "KMF": {
+ "name": "komorský frank"
+ },
+ "BAM": {
+ "name": "konvertibilná marka"
+ },
+ "CDF": {
+ "name": "konžský frank"
+ },
+ "CRC": {
+ "name": "kostarický colón"
+ },
+ "CUC": {
+ "name": "kubánske konvertibilné peso"
+ },
+ "CUP": {
+ "name": "kubánske peso"
+ },
+ "KWD": {
+ "name": "kuvajtský dinár"
+ },
+ "LAK": {
+ "name": "laoský kip"
+ },
+ "LSL": {
+ "name": "Lesothský loti"
+ },
+ "LBP": {
+ "name": "libanonská libra"
+ },
+ "LRD": {
+ "name": "libérijský dolár"
+ },
+ "LYD": {
+ "name": "líbyjský dinár"
+ },
+ "MOP": {
+ "name": "macajská pataca"
+ },
+ "MKD": {
+ "name": "macedónsky denár"
+ },
+ "HUF": {
+ "name": "maďarský forint"
+ },
+ "MYR": {
+ "name": "malajzijský ringgit"
+ },
+ "MWK": {
+ "name": "malawijská kwacha"
+ },
+ "MVR": {
+ "name": "maldivská rupia"
+ },
+ "MGA": {
+ "name": "malgašský ariary"
+ },
+ "MAD": {
+ "name": "marocký dirham"
+ },
+ "MUR": {
+ "name": "maurícijská rupia"
+ },
+ "MRO": {
+ "name": "mauritánska ukija"
+ },
+ "MXN": {
+ "name": "mexické peso",
+ "symbol": "MX$"
+ },
+ "MMK": {
+ "name": "mjanmarský kyat"
+ },
+ "MDL": {
+ "name": "moldavský lei"
+ },
+ "MNT": {
+ "name": "mongolský tugrik"
+ },
+ "MZN": {
+ "name": "mozambický metical"
+ },
+ "NAD": {
+ "name": "namíbijský dolár"
+ },
+ "NPR": {
+ "name": "nepálska rupia"
+ },
+ "NGN": {
+ "name": "nigérijská naira"
+ },
+ "NIO": {
+ "name": "nikaragujská córdoba"
+ },
+ "NOK": {
+ "name": "nórska koruna"
+ },
+ "NZD": {
+ "name": "novozélandský dolár"
+ },
+ "TWD": {
+ "name": "nový taiwanský dolár"
+ },
+ "OMR": {
+ "name": "ománsky rial"
+ },
+ "PKR": {
+ "name": "pakistanská rupia"
+ },
+ "PAB": {
+ "name": "panamská balboa"
+ },
+ "PGK": {
+ "name": "papuánska kina"
+ },
+ "PYG": {
+ "name": "paraguajské guaraní"
+ },
+ "PEN": {
+ "name": "peruánsky nový sol"
+ },
+ "PLN": {
+ "name": "poľský zlotý"
+ },
+ "RON": {
+ "name": "rumunský lei"
+ },
+ "RUB": {
+ "name": "ruský rubeľ"
+ },
+ "RWF": {
+ "name": "rwandský frank"
+ },
+ "AED": {
+ "name": "SAE dirham"
+ },
+ "SVC": {
+ "name": "Salvádorský colón"
+ },
+ "WST": {
+ "name": "samojská tala"
+ },
+ "SAR": {
+ "name": "saudskoarabský rial"
+ },
+ "KPW": {
+ "name": "severokórejský won"
+ },
+ "SCR": {
+ "name": "seychelská rupia"
+ },
+ "SLL": {
+ "name": "sierraleonský leone"
+ },
+ "SGD": {
+ "name": "singapurský dolár"
+ },
+ "SOS": {
+ "name": "somálsky šiling"
+ },
+ "RSD": {
+ "name": "srbský dinár"
+ },
+ "LKR": {
+ "name": "srílanská rupia"
+ },
+ "XAF": {
+ "name": "stredoafrický frank",
+ "symbol": "FCFA"
+ },
+ "SDG": {
+ "name": "sudánska libra"
+ },
+ "SRD": {
+ "name": "surinamský dolár"
+ },
+ "SZL": {
+ "name": "svazijské lilangeni"
+ },
+ "SHP": {
+ "name": "svätohelenská libra"
+ },
+ "STD": {
+ "name": "svätotomášska dobra"
+ },
+ "SYP": {
+ "name": "sýrska libra"
+ },
+ "SBD": {
+ "name": "šalamúnsky dolár"
+ },
+ "CHF": {
+ "name": "švajčiarsky frank"
+ },
+ "SEK": {
+ "name": "švédska koruna"
+ },
+ "TJS": {
+ "name": "tadžické somoni"
+ },
+ "TZS": {
+ "name": "tanzánsky šiling"
+ },
+ "THB": {
+ "name": "thajský baht"
+ },
+ "TOP": {
+ "name": "tongská paʻanga"
+ },
+ "TTD": {
+ "name": "trinidadsko-tobažský dolár"
+ },
+ "TND": {
+ "name": "tuniský dinár"
+ },
+ "TRY": {
+ "name": "turecká líra"
+ },
+ "TMT": {
+ "name": "turkménsky manat"
+ },
+ "UGX": {
+ "name": "ugandský šiling"
+ },
+ "UAH": {
+ "name": "ukrajinská hrivna"
+ },
+ "UYU": {
+ "name": "uruguajské peso"
+ },
+ "UZS": {
+ "name": "uzbecký sum"
+ },
+ "VUV": {
+ "name": "vanuatské vatu"
+ },
+ "VEF": {
+ "name": "venezuelský bolívar"
+ },
+ "VND": {
+ "name": "vietnamský dong"
+ },
+ "XCD": {
+ "name": "východokaribský dolár",
+ "symbol": "EC$"
+ },
+ "ZMW": {
+ "name": "zambijská kwacha"
+ },
+ "XOF": {
+ "name": "západoafrický frank",
+ "symbol": "CFA"
+ },
+ "ZWL": {
+ "name": "Zimbabwiansky dolár (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/sl.json b/vendor/commerceguys/intl/resources/currency/sl.json
new file mode 100644
index 000000000..32db310c5
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/sl.json
@@ -0,0 +1,496 @@
+{
+ "AFN": {
+ "name": "afgani"
+ },
+ "ALL": {
+ "name": "albanski lek"
+ },
+ "DZD": {
+ "name": "alžirski dinar"
+ },
+ "USD": {
+ "name": "ameriški dolar",
+ "symbol": "$"
+ },
+ "AOA": {
+ "name": "angolska kvanza"
+ },
+ "ARS": {
+ "name": "argentinski peso"
+ },
+ "AMD": {
+ "name": "armenski dram"
+ },
+ "AWG": {
+ "name": "arubski florin"
+ },
+ "AUD": {
+ "name": "avstralski dolar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "azerbajdžanski manat"
+ },
+ "BSD": {
+ "name": "bahamski dolar"
+ },
+ "BHD": {
+ "name": "bahranski dinar"
+ },
+ "BDT": {
+ "name": "bangladeška taka"
+ },
+ "BBD": {
+ "name": "barbadoški dolar"
+ },
+ "BZD": {
+ "name": "belizejski dolar"
+ },
+ "BYN": {
+ "name": "beloruski rubelj"
+ },
+ "BYR": {
+ "name": "beloruski rubelj (2000–2016)"
+ },
+ "BMD": {
+ "name": "bermudski dolar"
+ },
+ "BWP": {
+ "name": "bocvanska pula"
+ },
+ "BGN": {
+ "name": "bolgarski lev"
+ },
+ "BOB": {
+ "name": "bolivijski boliviano"
+ },
+ "BAM": {
+ "name": "bosansko-hercegovska konvertibilna marka"
+ },
+ "BRL": {
+ "name": "brazilski real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "britanski funt",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "brunejski dolar"
+ },
+ "BIF": {
+ "name": "burundski frank"
+ },
+ "BTN": {
+ "name": "butanski ngultrum"
+ },
+ "XAF": {
+ "name": "CFA frank BEAC",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP frank",
+ "symbol": "CFPF"
+ },
+ "CZK": {
+ "name": "češka krona"
+ },
+ "CLP": {
+ "name": "čilski peso"
+ },
+ "DKK": {
+ "name": "danska krona"
+ },
+ "AED": {
+ "name": "dirham Združenih arabskih emiratov"
+ },
+ "TTD": {
+ "name": "dolar Trinidada in Tobaga"
+ },
+ "DOP": {
+ "name": "dominikanski peso"
+ },
+ "DJF": {
+ "name": "džibutski frank"
+ },
+ "EGP": {
+ "name": "egiptovski funt"
+ },
+ "ERN": {
+ "name": "eritrejska nakfa"
+ },
+ "ETB": {
+ "name": "etiopski bir"
+ },
+ "EUR": {
+ "name": "evro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "falklandski funt"
+ },
+ "FJD": {
+ "name": "fidžijski dolar"
+ },
+ "PHP": {
+ "name": "filipinski peso"
+ },
+ "SHP": {
+ "name": "funt Sv. Helene"
+ },
+ "GMD": {
+ "name": "gambijski dalasi"
+ },
+ "GHS": {
+ "name": "ganski cedi"
+ },
+ "GIP": {
+ "name": "gibraltarski funt"
+ },
+ "GEL": {
+ "name": "gruzijski lari"
+ },
+ "GYD": {
+ "name": "gvajanski dolar"
+ },
+ "GTQ": {
+ "name": "gvatemalski kecal"
+ },
+ "GNF": {
+ "name": "gvinejski frank"
+ },
+ "HTG": {
+ "name": "haitski gurd"
+ },
+ "HNL": {
+ "name": "honduraška lempira"
+ },
+ "HKD": {
+ "name": "hongkonški dolar",
+ "symbol": "HK$"
+ },
+ "HRK": {
+ "name": "hrvaška kuna"
+ },
+ "INR": {
+ "name": "indijska rupija",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "indonezijska rupija"
+ },
+ "IRR": {
+ "name": "iranski rial"
+ },
+ "IQD": {
+ "name": "iraški dinar"
+ },
+ "ISK": {
+ "name": "islandska krona"
+ },
+ "ILS": {
+ "name": "izraelski šekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "jamajški dolar"
+ },
+ "JPY": {
+ "name": "japonski jen",
+ "symbol": "¥"
+ },
+ "YER": {
+ "name": "jemenski rial"
+ },
+ "JOD": {
+ "name": "jordanski dinar"
+ },
+ "ZAR": {
+ "name": "južnoafriški rand"
+ },
+ "KRW": {
+ "name": "južnokorejski von",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "južnosudanski funt"
+ },
+ "KYD": {
+ "name": "kajmanski dolar"
+ },
+ "KHR": {
+ "name": "kamboški riel"
+ },
+ "CAD": {
+ "name": "kanadski dolar"
+ },
+ "QAR": {
+ "name": "katarski rial"
+ },
+ "KZT": {
+ "name": "kazahstanski tenge"
+ },
+ "KES": {
+ "name": "kenijski šiling"
+ },
+ "PGK": {
+ "name": "kina Papue Nove Gvineje"
+ },
+ "KGS": {
+ "name": "kirgiški som"
+ },
+ "CNY": {
+ "name": "kitajski juan",
+ "symbol": "CN¥"
+ },
+ "COP": {
+ "name": "kolumbijski peso"
+ },
+ "KMF": {
+ "name": "komorski frank"
+ },
+ "CDF": {
+ "name": "kongoški frank"
+ },
+ "CRC": {
+ "name": "kostariški kolon"
+ },
+ "CUC": {
+ "name": "kubanski konvertibilni peso"
+ },
+ "CUP": {
+ "name": "kubanski peso"
+ },
+ "KWD": {
+ "name": "kuvajtski dinar"
+ },
+ "LAK": {
+ "name": "laoški kip"
+ },
+ "LSL": {
+ "name": "lesoški loti"
+ },
+ "LBP": {
+ "name": "libanonski funt"
+ },
+ "LRD": {
+ "name": "liberijski dolar"
+ },
+ "LYD": {
+ "name": "libijski dinar"
+ },
+ "HUF": {
+ "name": "madžarski forint"
+ },
+ "MOP": {
+ "name": "makavska pataka"
+ },
+ "MKD": {
+ "name": "makedonski denar"
+ },
+ "MWK": {
+ "name": "malavijska kvača"
+ },
+ "MVR": {
+ "name": "maldivska rufija"
+ },
+ "MYR": {
+ "name": "malezijski ringit"
+ },
+ "MGA": {
+ "name": "malgaški ariarij"
+ },
+ "MAD": {
+ "name": "maroški dirham"
+ },
+ "MRO": {
+ "name": "mavretanska uguija"
+ },
+ "MUR": {
+ "name": "mavricijska rupija"
+ },
+ "MXN": {
+ "name": "mehiški peso",
+ "symbol": "MX$"
+ },
+ "MMK": {
+ "name": "mjanmarski kjat"
+ },
+ "MDL": {
+ "name": "moldavijski leu"
+ },
+ "MNT": {
+ "name": "mongolski tugrik"
+ },
+ "MZN": {
+ "name": "mozambiški metikal"
+ },
+ "NAD": {
+ "name": "namibijski dolar"
+ },
+ "NPR": {
+ "name": "nepalska rupija"
+ },
+ "NGN": {
+ "name": "nigerijska naira"
+ },
+ "NIO": {
+ "name": "nikaraška zlata kordova"
+ },
+ "ANG": {
+ "name": "nizozemsko-antilski gulden"
+ },
+ "NOK": {
+ "name": "norveška krona"
+ },
+ "TRY": {
+ "name": "nova turška lira"
+ },
+ "TWD": {
+ "name": "novi tajvanski dolar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "novozelandski dolar",
+ "symbol": "NZ$"
+ },
+ "OMR": {
+ "name": "omanski rial"
+ },
+ "PKR": {
+ "name": "pakistanska rupija"
+ },
+ "PAB": {
+ "name": "panamska balboa"
+ },
+ "PYG": {
+ "name": "paragvajski gvarani"
+ },
+ "PEN": {
+ "name": "perujski novi sol"
+ },
+ "PLN": {
+ "name": "poljski novi zlot"
+ },
+ "RON": {
+ "name": "romunski leu"
+ },
+ "RWF": {
+ "name": "ruandski frank"
+ },
+ "RUB": {
+ "name": "ruski rubelj"
+ },
+ "SVC": {
+ "name": "salvadorski kolon"
+ },
+ "WST": {
+ "name": "samoanska tala"
+ },
+ "STD": {
+ "name": "saotomejska dobra"
+ },
+ "SAR": {
+ "name": "saudski rial"
+ },
+ "SCR": {
+ "name": "sejšelska rupija"
+ },
+ "KPW": {
+ "name": "severnokorejski von"
+ },
+ "SLL": {
+ "name": "sieraleonski leone"
+ },
+ "SGD": {
+ "name": "singapurski dolar"
+ },
+ "SYP": {
+ "name": "sirijski funt"
+ },
+ "SBD": {
+ "name": "solomonski dolar"
+ },
+ "SOS": {
+ "name": "somalski šiling"
+ },
+ "RSD": {
+ "name": "srbski dinar"
+ },
+ "SDG": {
+ "name": "sudanski funt"
+ },
+ "SRD": {
+ "name": "surinamski dolar"
+ },
+ "SZL": {
+ "name": "svazijski lilangeni"
+ },
+ "LKR": {
+ "name": "šrilanška rupija"
+ },
+ "SEK": {
+ "name": "švedska krona"
+ },
+ "CHF": {
+ "name": "švicarski frank"
+ },
+ "TJS": {
+ "name": "tadžikistanski somoni"
+ },
+ "THB": {
+ "name": "tajski baht",
+ "symbol": "฿"
+ },
+ "TZS": {
+ "name": "tanzanijski šiling"
+ },
+ "TOP": {
+ "name": "tongovska paanga"
+ },
+ "TND": {
+ "name": "tunizijski dinar"
+ },
+ "TMT": {
+ "name": "turkmenistanski novi manat"
+ },
+ "UGX": {
+ "name": "ugandski šiling"
+ },
+ "UAH": {
+ "name": "ukrajinska grivna"
+ },
+ "UYU": {
+ "name": "urugvajski peso"
+ },
+ "UZS": {
+ "name": "uzbeški sum"
+ },
+ "VUV": {
+ "name": "vanuatujski vatu"
+ },
+ "VEF": {
+ "name": "venezuelski bolivar"
+ },
+ "VND": {
+ "name": "vientnamski dong",
+ "symbol": "₫"
+ },
+ "XCD": {
+ "name": "vzhodnokaribski dolar",
+ "symbol": "EC$"
+ },
+ "XOF": {
+ "name": "zahodnoafriški frank CFA",
+ "symbol": "CFA"
+ },
+ "ZMW": {
+ "name": "zambijska kvača"
+ },
+ "CVE": {
+ "name": "zelenortski eskudo"
+ },
+ "ZWL": {
+ "name": "zimbabvejski dolar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/sn.json b/vendor/commerceguys/intl/resources/currency/sn.json
new file mode 100644
index 000000000..3d09c37da
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/sn.json
@@ -0,0 +1,496 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Ruble"
+ },
+ "BYR": {
+ "name": "Belarusian Ruble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "GMD": {
+ "name": "Dalasi ye Gambia"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DZD": {
+ "name": "Dhinari re Aljeria"
+ },
+ "BHD": {
+ "name": "Dhinari re Bhahareni"
+ },
+ "CVE": {
+ "name": "Dhora re Escudo"
+ },
+ "ETB": {
+ "name": "Dhora re Etiopia"
+ },
+ "LYD": {
+ "name": "Dinari re Libya"
+ },
+ "SDG": {
+ "name": "Dinari re Sudani"
+ },
+ "TND": {
+ "name": "Dinari re Tunisia"
+ },
+ "AED": {
+ "name": "Diramu re United Arab Emirates"
+ },
+ "MAD": {
+ "name": "Dirham ye Moroko"
+ },
+ "STD": {
+ "name": "Dobra re Sao Tome ne Principe"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "USD": {
+ "name": "Dora re Amerika",
+ "symbol": "US$"
+ },
+ "AUD": {
+ "name": "Dora re Australia",
+ "symbol": "A$"
+ },
+ "CAD": {
+ "name": "Dora re Kanada",
+ "symbol": "CA$"
+ },
+ "LRD": {
+ "name": "Dora re Liberia"
+ },
+ "NAD": {
+ "name": "Dora re Namibia"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "XOF": {
+ "name": "Furenki CFA BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Furenki CFA BEAC",
+ "symbol": "FCFA"
+ },
+ "BIF": {
+ "name": "Furenki re Bhurundi"
+ },
+ "DJF": {
+ "name": "Furenki re Jibhuti"
+ },
+ "KMF": {
+ "name": "Furenki re Komoro"
+ },
+ "CDF": {
+ "name": "Furenki re Kongo"
+ },
+ "MGA": {
+ "name": "Furenki re Malagasi"
+ },
+ "RWF": {
+ "name": "Furenki re Ruwanda"
+ },
+ "CHF": {
+ "name": "Furenki re Swisi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "MWK": {
+ "name": "Kwacha ye Malawi"
+ },
+ "ZMW": {
+ "name": "Kwacha ye Zambia"
+ },
+ "AOA": {
+ "name": "Kwanza ye Angola"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "SLL": {
+ "name": "Leoni"
+ },
+ "SZL": {
+ "name": "Lilangeni"
+ },
+ "LSL": {
+ "name": "Loti ye Lesoto"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NGN": {
+ "name": "Naira ye Nijeria"
+ },
+ "ERN": {
+ "name": "Nakfa re Eritrea"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "EGP": {
+ "name": "Paundi re Ijipita"
+ },
+ "SHP": {
+ "name": "Paundi re Senti Helena"
+ },
+ "GBP": {
+ "name": "Paundi ye Bhiriteni",
+ "symbol": "£"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "BWP": {
+ "name": "Pura re Botswana"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "ZAR": {
+ "name": "Randi"
+ },
+ "SAR": {
+ "name": "Riyali re Saudi"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "INR": {
+ "name": "Rupe re India",
+ "symbol": "₹"
+ },
+ "SCR": {
+ "name": "Rupi re Seyisheri"
+ },
+ "MUR": {
+ "name": "Rupi ye Morishasi"
+ },
+ "RUB": {
+ "name": "Russian Ruble"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SOS": {
+ "name": "Shiringi re Somalia"
+ },
+ "TZS": {
+ "name": "Shiringi re Tanzania"
+ },
+ "UGX": {
+ "name": "Shiringi re Uganda"
+ },
+ "KES": {
+ "name": "Shiringi ye Kenya"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "MRO": {
+ "name": "Ugwiya ye Moritania"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "JPY": {
+ "name": "Yeni ye Japani",
+ "symbol": "JP¥"
+ },
+ "CNY": {
+ "name": "Yuan Renminbi ye China",
+ "symbol": "CN¥"
+ },
+ "EUR": {
+ "name": "Yuro",
+ "symbol": "€"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/sq.json b/vendor/commerceguys/intl/resources/currency/sq.json
new file mode 100644
index 000000000..13186b2e5
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/sq.json
@@ -0,0 +1,498 @@
+{
+ "AFN": {
+ "name": "Afgani afgan"
+ },
+ "MGA": {
+ "name": "Arieri malagez"
+ },
+ "PAB": {
+ "name": "Balboa panameze"
+ },
+ "THB": {
+ "name": "Bata tajlandeze",
+ "symbol": "฿"
+ },
+ "ETB": {
+ "name": "Bira etiopiane"
+ },
+ "VEF": {
+ "name": "Bolivari venezuelian"
+ },
+ "BOB": {
+ "name": "Boliviani i Bolivisë"
+ },
+ "GMD": {
+ "name": "Dalasi gambian"
+ },
+ "MKD": {
+ "name": "Denari maqedonas"
+ },
+ "DZD": {
+ "name": "Dinari algjerian"
+ },
+ "BHD": {
+ "name": "Dinari i Bahreinit"
+ },
+ "IQD": {
+ "name": "Dinari irakian"
+ },
+ "JOD": {
+ "name": "Dinari jordanez"
+ },
+ "KWD": {
+ "name": "Dinari kuvajtian"
+ },
+ "LYD": {
+ "name": "Dinari libian"
+ },
+ "RSD": {
+ "name": "Dinari serb"
+ },
+ "TND": {
+ "name": "Dinari tunizian"
+ },
+ "AED": {
+ "name": "Dirhami i Emirateve të Bashkuara Arabe"
+ },
+ "MAD": {
+ "name": "Dirhami maroken"
+ },
+ "STD": {
+ "name": "Dobra e Sao-Tomes dhe Prinsipes"
+ },
+ "USD": {
+ "name": "Dollari amerikan",
+ "symbol": "US$"
+ },
+ "AUD": {
+ "name": "Dollari australian",
+ "symbol": "A$"
+ },
+ "BBD": {
+ "name": "Dollari barbadian"
+ },
+ "GYD": {
+ "name": "Dollari guajanez"
+ },
+ "BSD": {
+ "name": "Dollari i Bahamasit"
+ },
+ "BMD": {
+ "name": "Dollari i Bermudeve"
+ },
+ "BND": {
+ "name": "Dollari i Bruneit"
+ },
+ "FJD": {
+ "name": "Dollari i Fixhit"
+ },
+ "HKD": {
+ "name": "Dollari i Hong Kongut",
+ "symbol": "HK$"
+ },
+ "BZD": {
+ "name": "Dollari i Ishujve Belize"
+ },
+ "KYD": {
+ "name": "Dollari i Ishujve Kajman"
+ },
+ "SBD": {
+ "name": "Dollari i Ishujve Solomonë"
+ },
+ "XCD": {
+ "name": "Dollari i Karaibeve Lindore",
+ "symbol": "EC$"
+ },
+ "NAD": {
+ "name": "Dollari i Namibisë"
+ },
+ "SGD": {
+ "name": "Dollari i Singaporit"
+ },
+ "TTD": {
+ "name": "Dollari i Trinidadit dhe Tobagos"
+ },
+ "NZD": {
+ "name": "Dollari i Zelandës së Re",
+ "symbol": "NZ$"
+ },
+ "CAD": {
+ "name": "Dollari kanadez",
+ "symbol": "CA$"
+ },
+ "LRD": {
+ "name": "Dollari liberian"
+ },
+ "SRD": {
+ "name": "Dollari surinamez"
+ },
+ "TWD": {
+ "name": "Dollari tajvanez",
+ "symbol": "NT$"
+ },
+ "JMD": {
+ "name": "Dollari xhamajkan"
+ },
+ "VND": {
+ "name": "Donga vietnameze",
+ "symbol": "₫"
+ },
+ "AMD": {
+ "name": "Dramia armene"
+ },
+ "CVE": {
+ "name": "Eskudoja e Kepit të Gjelbër"
+ },
+ "EUR": {
+ "name": "Euroja",
+ "symbol": "€"
+ },
+ "AWG": {
+ "name": "Florini aruban"
+ },
+ "HUF": {
+ "name": "Forinta hungareze"
+ },
+ "BIF": {
+ "name": "Franga burundiane"
+ },
+ "XOF": {
+ "name": "Franga e Bregut të Fildishtë",
+ "symbol": "CFA"
+ },
+ "XPF": {
+ "name": "Franga franceze e Polinezisë",
+ "symbol": "CFPF"
+ },
+ "GNF": {
+ "name": "Franga guinease"
+ },
+ "XAF": {
+ "name": "Franga kamerunase",
+ "symbol": "FCFA"
+ },
+ "KMF": {
+ "name": "Franga komore"
+ },
+ "CDF": {
+ "name": "Franga kongole"
+ },
+ "RWF": {
+ "name": "Franga ruandeze"
+ },
+ "DJF": {
+ "name": "Franga xhibutiane"
+ },
+ "CHF": {
+ "name": "Franga zvicerane"
+ },
+ "ANG": {
+ "name": "Gilderi antilian holandez"
+ },
+ "PYG": {
+ "name": "Guarani paraguaian"
+ },
+ "HTG": {
+ "name": "Gurdi haitian"
+ },
+ "JPY": {
+ "name": "Jeni japonez",
+ "symbol": "JP¥"
+ },
+ "CNY": {
+ "name": "Juani kinez",
+ "symbol": "CN¥"
+ },
+ "MMK": {
+ "name": "Kiata e Mianmarit"
+ },
+ "PGK": {
+ "name": "Kina e Papua-Guineas së Re"
+ },
+ "LAK": {
+ "name": "Kipa e Laosit"
+ },
+ "CRC": {
+ "name": "Koloni kostarikan"
+ },
+ "NIO": {
+ "name": "Kordoba nikaraguane"
+ },
+ "DKK": {
+ "name": "Korona daneze"
+ },
+ "ISK": {
+ "name": "Korona islandeze"
+ },
+ "NOK": {
+ "name": "Korona norvegjeze"
+ },
+ "SEK": {
+ "name": "Korona suedeze"
+ },
+ "CZK": {
+ "name": "Koruna e Republikës Çeke"
+ },
+ "ZMW": {
+ "name": "Kuaça e Zambikut"
+ },
+ "MWK": {
+ "name": "Kuaça malaviane"
+ },
+ "AOA": {
+ "name": "Kuanza e Angolës"
+ },
+ "GTQ": {
+ "name": "Kuecali i Guatemalës"
+ },
+ "HRK": {
+ "name": "Kuna kroate"
+ },
+ "GEL": {
+ "name": "Laria gjeorgjiane"
+ },
+ "ALL": {
+ "name": "Leku shqiptar",
+ "symbol": "Lekë"
+ },
+ "HNL": {
+ "name": "Lempira hondurase"
+ },
+ "SLL": {
+ "name": "Leoni i Sierra-Leones"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "MDL": {
+ "name": "Leu moldav"
+ },
+ "RON": {
+ "name": "Leu rumun"
+ },
+ "BGN": {
+ "name": "Leva bullgare"
+ },
+ "SZL": {
+ "name": "Lilangeni i Suazilandës"
+ },
+ "TRY": {
+ "name": "Lira turke"
+ },
+ "AZN": {
+ "name": "Manata e Azerbajxhanit"
+ },
+ "TMT": {
+ "name": "Manata turkmene"
+ },
+ "BAM": {
+ "name": "Marka e Bosnjë-Hercegovinës [e shkëmbyeshme]"
+ },
+ "MZN": {
+ "name": "Metikali i Mozambikut"
+ },
+ "NGN": {
+ "name": "Naira nigeriane"
+ },
+ "ERN": {
+ "name": "Nakfa e Eritresë"
+ },
+ "BTN": {
+ "name": "Ngultrumi butanez"
+ },
+ "TOP": {
+ "name": "Panga tongane"
+ },
+ "MOP": {
+ "name": "Pataka e Makaos"
+ },
+ "ARS": {
+ "name": "Pesoja argjentinase"
+ },
+ "DOP": {
+ "name": "Pesoja dominikane"
+ },
+ "PHP": {
+ "name": "Pesoja filipinase"
+ },
+ "CLP": {
+ "name": "Pesoja kiliane"
+ },
+ "COP": {
+ "name": "Pesoja kolumbiane"
+ },
+ "CUP": {
+ "name": "Pesoja kubaneze"
+ },
+ "CUC": {
+ "name": "Pesoja kubaneze e shkëmbyeshme"
+ },
+ "MXN": {
+ "name": "Pesoja meksikane",
+ "symbol": "MX$"
+ },
+ "UYU": {
+ "name": "Pesoja uruguaiane"
+ },
+ "BWP": {
+ "name": "Pula botsuane"
+ },
+ "ZAR": {
+ "name": "Randi afrikano-jugor"
+ },
+ "BRL": {
+ "name": "Reali brazilian",
+ "symbol": "R$"
+ },
+ "YER": {
+ "name": "Riali i Jemenit"
+ },
+ "QAR": {
+ "name": "Riali i Katarit"
+ },
+ "OMR": {
+ "name": "Riali i Omanit"
+ },
+ "IRR": {
+ "name": "Riali iranian"
+ },
+ "KHR": {
+ "name": "Riali kamboxhian"
+ },
+ "SAR": {
+ "name": "Riali saudit"
+ },
+ "MYR": {
+ "name": "Ringiti malajzian"
+ },
+ "UAH": {
+ "name": "Rivnia ukrainase"
+ },
+ "BYN": {
+ "name": "Rubla bjelloruse"
+ },
+ "BYR": {
+ "name": "Rubla bjelloruse (2000–2016)"
+ },
+ "RUB": {
+ "name": "Rubla ruse"
+ },
+ "MVR": {
+ "name": "Rufiu i Maldivit"
+ },
+ "SCR": {
+ "name": "Rupia e Ishujve Sishelë"
+ },
+ "LKR": {
+ "name": "Rupia e Sri-Lankës"
+ },
+ "INR": {
+ "name": "Rupia indiane",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Rupia indoneziane"
+ },
+ "MUR": {
+ "name": "Rupia mauritiane"
+ },
+ "NPR": {
+ "name": "Rupia nepaleze"
+ },
+ "PKR": {
+ "name": "Rupia pakistaneze"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "GHS": {
+ "name": "Sejda ganeze"
+ },
+ "PEN": {
+ "name": "Sola nuevo-peruane"
+ },
+ "KGS": {
+ "name": "Soma kirgize"
+ },
+ "UZS": {
+ "name": "Soma uzbeke"
+ },
+ "TJS": {
+ "name": "Somona taxhike"
+ },
+ "GBP": {
+ "name": "Sterlina britanike",
+ "symbol": "£"
+ },
+ "GIP": {
+ "name": "Sterlina e Gjibraltarit"
+ },
+ "LBP": {
+ "name": "Sterlina libaneze"
+ },
+ "SYP": {
+ "name": "Sterlina siriane"
+ },
+ "FKP": {
+ "name": "Stërlina e Ishujve Falkland"
+ },
+ "SHP": {
+ "name": "Stërlina e Ishullit të Shën-Helenës"
+ },
+ "SSP": {
+ "name": "Stërlina e Sudanit të Jugut"
+ },
+ "EGP": {
+ "name": "Stërlina egjiptiane"
+ },
+ "SDG": {
+ "name": "Stërlina sudaneze"
+ },
+ "ILS": {
+ "name": "Shekeli izrealit",
+ "symbol": "₪"
+ },
+ "TZS": {
+ "name": "Shilinga e Tanzanisë"
+ },
+ "KES": {
+ "name": "Shilinga keniane"
+ },
+ "SOS": {
+ "name": "Shilinga somaleze"
+ },
+ "UGX": {
+ "name": "Shilinga ugandeze"
+ },
+ "BDT": {
+ "name": "Taka e Bangladeshit"
+ },
+ "WST": {
+ "name": "Tala samoane"
+ },
+ "KZT": {
+ "name": "Tenga kazake"
+ },
+ "MNT": {
+ "name": "Tugrika mongole"
+ },
+ "MRO": {
+ "name": "Ugija mauritane"
+ },
+ "KRW": {
+ "name": "Uoni koreano-jugor",
+ "symbol": "₩"
+ },
+ "KPW": {
+ "name": "Uoni koreano-verior"
+ },
+ "VUV": {
+ "name": "Vatuja e Vanuatusë"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ },
+ "PLN": {
+ "name": "Zllota polake"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/sr-Latn.json b/vendor/commerceguys/intl/resources/currency/sr-Latn.json
new file mode 100644
index 000000000..639734a2e
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/sr-Latn.json
@@ -0,0 +1,493 @@
+{
+ "ALL": {
+ "name": "Albanski lek"
+ },
+ "DZD": {
+ "name": "Alžirski dinar"
+ },
+ "USD": {
+ "name": "Američki dolar",
+ "symbol": "US$"
+ },
+ "AOA": {
+ "name": "Angolska kvanza"
+ },
+ "ARS": {
+ "name": "Argentinski pezos"
+ },
+ "AWG": {
+ "name": "Arubanski florin"
+ },
+ "AUD": {
+ "name": "Australijski dolar"
+ },
+ "AFN": {
+ "name": "Avganistanski avgani"
+ },
+ "AZN": {
+ "name": "Azerbejdžanski manat"
+ },
+ "BSD": {
+ "name": "Bahamski dolar"
+ },
+ "BHD": {
+ "name": "Bahreinski dinar"
+ },
+ "BDT": {
+ "name": "Bangladeška taka"
+ },
+ "BBD": {
+ "name": "Barbadoški dolar"
+ },
+ "BZD": {
+ "name": "Beliski dolar"
+ },
+ "BYN": {
+ "name": "Beloruska rublja"
+ },
+ "BYR": {
+ "name": "Beloruska rublja (2000–2016)"
+ },
+ "BMD": {
+ "name": "Bermudski dolar"
+ },
+ "BWP": {
+ "name": "Bocvanska pula"
+ },
+ "BOB": {
+ "name": "Bolivijski bolivijano"
+ },
+ "BAM": {
+ "name": "Bosansko-hercegovačka konvertibilna marka",
+ "symbol": "KM"
+ },
+ "BRL": {
+ "name": "Brazilski real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "Britanska funta",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunejski dolar"
+ },
+ "BGN": {
+ "name": "Bugarski lev"
+ },
+ "BIF": {
+ "name": "Burundski franak"
+ },
+ "BTN": {
+ "name": "Butanski ngultrum"
+ },
+ "XOF": {
+ "name": "CFA franak BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "CFA franak BEAC",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP franak",
+ "symbol": "CFPF"
+ },
+ "CZK": {
+ "name": "Češka kruna"
+ },
+ "CLP": {
+ "name": "Čileanski pezos"
+ },
+ "DKK": {
+ "name": "Danska kruna"
+ },
+ "DOP": {
+ "name": "Dominikanski pezos"
+ },
+ "DJF": {
+ "name": "Džibutanski franak"
+ },
+ "EGP": {
+ "name": "Egipatska funta"
+ },
+ "ERN": {
+ "name": "Eritrejska nakfa"
+ },
+ "ETB": {
+ "name": "Etiopski bir"
+ },
+ "EUR": {
+ "name": "Evro",
+ "symbol": "€"
+ },
+ "FJD": {
+ "name": "Fidžijski dolar"
+ },
+ "PHP": {
+ "name": "Filipinski pezos"
+ },
+ "FKP": {
+ "name": "Foklandska funta"
+ },
+ "GMD": {
+ "name": "Gambijski dalasi"
+ },
+ "GHS": {
+ "name": "Ganski sedi"
+ },
+ "GIP": {
+ "name": "Gibraltarska funta"
+ },
+ "GEL": {
+ "name": "Gruzijski lari"
+ },
+ "GYD": {
+ "name": "Gvajanski dolar"
+ },
+ "GTQ": {
+ "name": "Gvatemalski kecal"
+ },
+ "GNF": {
+ "name": "Gvinejski franak"
+ },
+ "HTG": {
+ "name": "Haićanski gurd"
+ },
+ "ANG": {
+ "name": "Holandskoantilski gulden"
+ },
+ "HNL": {
+ "name": "Honduraška lempira"
+ },
+ "HKD": {
+ "name": "Hongkonški dolar",
+ "symbol": "HK$"
+ },
+ "HRK": {
+ "name": "Hrvatska kuna"
+ },
+ "INR": {
+ "name": "Indijska rupija",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonežanska rupija"
+ },
+ "IQD": {
+ "name": "Irački dinar"
+ },
+ "IRR": {
+ "name": "Iranski rijal"
+ },
+ "ISK": {
+ "name": "Islandska kruna"
+ },
+ "XCD": {
+ "name": "Istočnokaripski dolar",
+ "symbol": "EC$"
+ },
+ "ILS": {
+ "name": "Izraelski novi šekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamajčanski dolar"
+ },
+ "JPY": {
+ "name": "Japanski jen",
+ "symbol": "¥"
+ },
+ "YER": {
+ "name": "Jemenski rijal"
+ },
+ "AMD": {
+ "name": "Jermenski dram"
+ },
+ "JOD": {
+ "name": "Jordanski dinar"
+ },
+ "ZAR": {
+ "name": "Južnoafrički rand"
+ },
+ "KRW": {
+ "name": "Južnokorejski von"
+ },
+ "SSP": {
+ "name": "Južnosudanska funta"
+ },
+ "KYD": {
+ "name": "Kajmanski dolar"
+ },
+ "KHR": {
+ "name": "Kambodžanski rijel"
+ },
+ "CAD": {
+ "name": "Kanadski dolar",
+ "symbol": "CA$"
+ },
+ "QAR": {
+ "name": "Katarski rijal"
+ },
+ "KZT": {
+ "name": "Kazahstanski tenge"
+ },
+ "KES": {
+ "name": "Kenijski šiling"
+ },
+ "CNY": {
+ "name": "Kineski juan",
+ "symbol": "CN¥"
+ },
+ "KGS": {
+ "name": "Kirgistanski som"
+ },
+ "COP": {
+ "name": "Kolumbijski pezos"
+ },
+ "KMF": {
+ "name": "Komorski franak"
+ },
+ "CDF": {
+ "name": "Kongoanski franak"
+ },
+ "CRC": {
+ "name": "Kostarikanski kolon"
+ },
+ "CUC": {
+ "name": "Kubanski konvertibilni pezos"
+ },
+ "CUP": {
+ "name": "Kubanski pezos"
+ },
+ "KWD": {
+ "name": "Kuvajtski dinar"
+ },
+ "LAK": {
+ "name": "Laoški kip"
+ },
+ "LSL": {
+ "name": "Lesoto loti"
+ },
+ "LBP": {
+ "name": "Libanska funta"
+ },
+ "LRD": {
+ "name": "Liberijski dolar"
+ },
+ "LYD": {
+ "name": "Libijski dinar"
+ },
+ "MGA": {
+ "name": "Madagaskarski ariari"
+ },
+ "HUF": {
+ "name": "Mađarska forinta"
+ },
+ "MOP": {
+ "name": "Makaoska pataka"
+ },
+ "MKD": {
+ "name": "Makedonski denar"
+ },
+ "MWK": {
+ "name": "Malavijska kvača"
+ },
+ "MVR": {
+ "name": "Maldivska rufija"
+ },
+ "MYR": {
+ "name": "Malezijski ringit"
+ },
+ "MAD": {
+ "name": "Marokanski dirham"
+ },
+ "MUR": {
+ "name": "Mauricijska rupija"
+ },
+ "MRO": {
+ "name": "Mauritanijska ogija"
+ },
+ "MXN": {
+ "name": "Meksički pezos",
+ "symbol": "MX$"
+ },
+ "MMK": {
+ "name": "Mjanmarski kjat"
+ },
+ "MDL": {
+ "name": "Moldavski lej"
+ },
+ "MNT": {
+ "name": "Mongolski tugrik"
+ },
+ "MZN": {
+ "name": "Mozambički metikal"
+ },
+ "NAD": {
+ "name": "Namibijski dolar"
+ },
+ "NPR": {
+ "name": "Nepalska rupija"
+ },
+ "NGN": {
+ "name": "Nigerijska naira"
+ },
+ "NIO": {
+ "name": "Nikaragvanska zlatna kordoba"
+ },
+ "NOK": {
+ "name": "Norveška kruna"
+ },
+ "TWD": {
+ "name": "Novi tajvanski dolar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "Novozelandski dolar"
+ },
+ "OMR": {
+ "name": "Omanski rijal"
+ },
+ "PKR": {
+ "name": "Pakistanska rupija"
+ },
+ "PAB": {
+ "name": "Panamska balboa"
+ },
+ "PGK": {
+ "name": "Papuanska kina"
+ },
+ "PYG": {
+ "name": "Paragvajski gvarani"
+ },
+ "PEN": {
+ "name": "Peruanski novi sol"
+ },
+ "PLN": {
+ "name": "Poljski zlot"
+ },
+ "RWF": {
+ "name": "Ruandski franak"
+ },
+ "RON": {
+ "name": "Rumunski lej (1952–2006)"
+ },
+ "RUB": {
+ "name": "Ruska rublja"
+ },
+ "SVC": {
+ "name": "Salvadorski kolon"
+ },
+ "WST": {
+ "name": "Samoanska tala"
+ },
+ "STD": {
+ "name": "Saotomska dobra"
+ },
+ "SAR": {
+ "name": "Saudijski rijal"
+ },
+ "SCR": {
+ "name": "Sejšelska rupija"
+ },
+ "KPW": {
+ "name": "Severnokorejski von"
+ },
+ "SLL": {
+ "name": "Sijeraleonski leone"
+ },
+ "SGD": {
+ "name": "Singapurski dolar"
+ },
+ "SYP": {
+ "name": "Sirijska funta"
+ },
+ "SBD": {
+ "name": "Solomonski dolar"
+ },
+ "SOS": {
+ "name": "Somalijski šiling"
+ },
+ "RSD": {
+ "name": "Srpski dinar"
+ },
+ "SDG": {
+ "name": "Sudanska funta"
+ },
+ "SRD": {
+ "name": "Surinamski dolar"
+ },
+ "SHP": {
+ "name": "Sv. jelenska funta"
+ },
+ "SZL": {
+ "name": "Svazilendski lilangeni"
+ },
+ "LKR": {
+ "name": "Šrilankanska rupija"
+ },
+ "CHF": {
+ "name": "Švajcarski franak"
+ },
+ "SEK": {
+ "name": "Švedska kruna"
+ },
+ "TJS": {
+ "name": "Tadžikistanski somon"
+ },
+ "THB": {
+ "name": "Tajlandski bat"
+ },
+ "TZS": {
+ "name": "Tanzanijski šiling"
+ },
+ "TOP": {
+ "name": "Tonganska panga"
+ },
+ "TTD": {
+ "name": "Trinidad-tobagoški dolar"
+ },
+ "TND": {
+ "name": "Tuniski dinar"
+ },
+ "TMT": {
+ "name": "Turkmenistanski manat"
+ },
+ "TRY": {
+ "name": "Turska lira"
+ },
+ "AED": {
+ "name": "UAE dirham"
+ },
+ "UGX": {
+ "name": "Ugandski šiling"
+ },
+ "UAH": {
+ "name": "Ukrajinska hrivnja"
+ },
+ "UYU": {
+ "name": "Urugvajski pezos"
+ },
+ "UZS": {
+ "name": "Uzbekistanski som"
+ },
+ "VUV": {
+ "name": "Vanuatski vatu"
+ },
+ "VEF": {
+ "name": "Venecuelanski bolivar"
+ },
+ "VND": {
+ "name": "Vijetnamski dong"
+ },
+ "ZMW": {
+ "name": "Zambijska kvača"
+ },
+ "CVE": {
+ "name": "Zelenortski eskudo"
+ },
+ "ZWL": {
+ "name": "Zimbabveanski dolar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/sr.json b/vendor/commerceguys/intl/resources/currency/sr.json
new file mode 100644
index 000000000..724a3f9c5
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/sr.json
@@ -0,0 +1,493 @@
+{
+ "AFN": {
+ "name": "Авганистански авгани"
+ },
+ "AZN": {
+ "name": "Азербејџански манат"
+ },
+ "ALL": {
+ "name": "Албански лек"
+ },
+ "DZD": {
+ "name": "Алжирски динар"
+ },
+ "USD": {
+ "name": "Амерички долар",
+ "symbol": "US$"
+ },
+ "AOA": {
+ "name": "Анголска кванза"
+ },
+ "ARS": {
+ "name": "Аргентински пезос"
+ },
+ "AWG": {
+ "name": "Арубански флорин"
+ },
+ "AUD": {
+ "name": "Аустралијски долар"
+ },
+ "BDT": {
+ "name": "Бангладешка така"
+ },
+ "BBD": {
+ "name": "Барбадошки долар"
+ },
+ "BSD": {
+ "name": "Бахамски долар"
+ },
+ "BHD": {
+ "name": "Бахреински динар"
+ },
+ "BZD": {
+ "name": "Белиски долар"
+ },
+ "BYN": {
+ "name": "Белоруска рубља"
+ },
+ "BYR": {
+ "name": "Белоруска рубља (2000–2016)"
+ },
+ "BMD": {
+ "name": "Бермудски долар"
+ },
+ "BOB": {
+ "name": "Боливијски боливијано"
+ },
+ "BAM": {
+ "name": "Босанско-херцеговачка конвертибилна марка",
+ "symbol": "КМ"
+ },
+ "BWP": {
+ "name": "Боцванска пула"
+ },
+ "BRL": {
+ "name": "Бразилски реал",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "Британска фунта",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Брунејски долар"
+ },
+ "BGN": {
+ "name": "Бугарски лев"
+ },
+ "BIF": {
+ "name": "Бурундски франак"
+ },
+ "BTN": {
+ "name": "Бутански нгултрум"
+ },
+ "VUV": {
+ "name": "Вануатски вату"
+ },
+ "VEF": {
+ "name": "Венецуелански боливар"
+ },
+ "VND": {
+ "name": "Вијетнамски донг"
+ },
+ "GMD": {
+ "name": "Гамбијски даласи"
+ },
+ "GHS": {
+ "name": "Гански седи"
+ },
+ "GYD": {
+ "name": "Гвајански долар"
+ },
+ "GTQ": {
+ "name": "Гватемалски кецал"
+ },
+ "GNF": {
+ "name": "Гвинејски франак"
+ },
+ "GIP": {
+ "name": "Гибралтарска фунта"
+ },
+ "GEL": {
+ "name": "Грузијски лари"
+ },
+ "DKK": {
+ "name": "Данска круна"
+ },
+ "DOP": {
+ "name": "Доминикански пезос"
+ },
+ "EUR": {
+ "name": "Евро",
+ "symbol": "€"
+ },
+ "EGP": {
+ "name": "Египатска фунта"
+ },
+ "ETB": {
+ "name": "Етиопски бир"
+ },
+ "ZMW": {
+ "name": "Замбијска квача"
+ },
+ "CVE": {
+ "name": "Зеленортски ескудо"
+ },
+ "ZWL": {
+ "name": "Зимбабвеански долар (2009)"
+ },
+ "ILS": {
+ "name": "Израелски нови шекел",
+ "symbol": "₪"
+ },
+ "INR": {
+ "name": "Индијска рупија",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Индонежанска рупија"
+ },
+ "IRR": {
+ "name": "Ирански риjал"
+ },
+ "IQD": {
+ "name": "Ирачки динар"
+ },
+ "ISK": {
+ "name": "Исландска круна"
+ },
+ "XCD": {
+ "name": "Источнокарипски долар",
+ "symbol": "EC$"
+ },
+ "JMD": {
+ "name": "Јамајчански долар"
+ },
+ "JPY": {
+ "name": "Јапански јен",
+ "symbol": "¥"
+ },
+ "YER": {
+ "name": "Јеменски риjал"
+ },
+ "AMD": {
+ "name": "Јерменски драм"
+ },
+ "JOD": {
+ "name": "Јордански динар"
+ },
+ "ZAR": {
+ "name": "Јужноафрички ранд"
+ },
+ "KRW": {
+ "name": "Јужнокорејски вон"
+ },
+ "SSP": {
+ "name": "Јужносуданска фунта"
+ },
+ "KZT": {
+ "name": "Казахстански тенге"
+ },
+ "KYD": {
+ "name": "Кајмански долар"
+ },
+ "CAD": {
+ "name": "Канадски долар",
+ "symbol": "CA$"
+ },
+ "QAR": {
+ "name": "Катарски ријал"
+ },
+ "KES": {
+ "name": "Кенијски шилинг"
+ },
+ "CNY": {
+ "name": "Кинески јуан",
+ "symbol": "CN¥"
+ },
+ "KGS": {
+ "name": "Киргистански сом"
+ },
+ "COP": {
+ "name": "Колумбијски пезос"
+ },
+ "KMF": {
+ "name": "Коморски франак"
+ },
+ "CDF": {
+ "name": "Конгоански франак"
+ },
+ "CRC": {
+ "name": "Костарикански колон"
+ },
+ "CUC": {
+ "name": "Кубански конвертибилни пезос"
+ },
+ "CUP": {
+ "name": "Кубански пезос"
+ },
+ "KWD": {
+ "name": "Кувајтски динар"
+ },
+ "LAK": {
+ "name": "Лаошки кип"
+ },
+ "LSL": {
+ "name": "Лесото лоти"
+ },
+ "LBP": {
+ "name": "Либанска фунта"
+ },
+ "LRD": {
+ "name": "Либеријски долар"
+ },
+ "LYD": {
+ "name": "Либијски динар"
+ },
+ "MGA": {
+ "name": "Мадагаскарски ариари"
+ },
+ "HUF": {
+ "name": "Мађарска форинта"
+ },
+ "MOP": {
+ "name": "Макаоска патака"
+ },
+ "MKD": {
+ "name": "Македонски денар"
+ },
+ "MWK": {
+ "name": "Малавијска квача"
+ },
+ "MVR": {
+ "name": "Малдивска руфија"
+ },
+ "MYR": {
+ "name": "Малезијски рингит"
+ },
+ "MAD": {
+ "name": "Марокански дирхам"
+ },
+ "MRO": {
+ "name": "Мауританијска oгија"
+ },
+ "MUR": {
+ "name": "Маурицијска рупија"
+ },
+ "MXN": {
+ "name": "Мексички пезос",
+ "symbol": "MX$"
+ },
+ "MMK": {
+ "name": "Мјанмарски кјат"
+ },
+ "MZN": {
+ "name": "Мозамбички метикал"
+ },
+ "MDL": {
+ "name": "Молдавски леј"
+ },
+ "MNT": {
+ "name": "Монголски тугрик"
+ },
+ "NAD": {
+ "name": "Намибијски долар"
+ },
+ "NPR": {
+ "name": "Непалскa рупиja"
+ },
+ "NGN": {
+ "name": "Нигеријска наира"
+ },
+ "NIO": {
+ "name": "Никарагванска златна кордоба"
+ },
+ "TWD": {
+ "name": "Нови тајвански долар",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "Новозеландски долар"
+ },
+ "NOK": {
+ "name": "Норвешка круна"
+ },
+ "OMR": {
+ "name": "Омански ријал"
+ },
+ "PKR": {
+ "name": "Пакистанскa рупиja"
+ },
+ "PAB": {
+ "name": "Панамска балбоа"
+ },
+ "PGK": {
+ "name": "Папуанска кина"
+ },
+ "PYG": {
+ "name": "Парагвајски гварани"
+ },
+ "PEN": {
+ "name": "Перуански нови сол"
+ },
+ "PLN": {
+ "name": "Пољски злот"
+ },
+ "RWF": {
+ "name": "Руандски франак"
+ },
+ "RON": {
+ "name": "Румунски леј (1952–2006)"
+ },
+ "RUB": {
+ "name": "Руска рубља"
+ },
+ "SVC": {
+ "name": "Салвадорски колон"
+ },
+ "WST": {
+ "name": "Самоанска тала"
+ },
+ "STD": {
+ "name": "Саотомска добра"
+ },
+ "SAR": {
+ "name": "Саудијски ријал"
+ },
+ "SHP": {
+ "name": "Св. јеленска фунта"
+ },
+ "SZL": {
+ "name": "Свазилендски лилангени"
+ },
+ "KPW": {
+ "name": "Севернокорејски вон"
+ },
+ "SCR": {
+ "name": "Сејшелска рупија"
+ },
+ "SLL": {
+ "name": "Сијералеонски леоне"
+ },
+ "SGD": {
+ "name": "Сингапурски долар"
+ },
+ "SYP": {
+ "name": "Сиријска фунта"
+ },
+ "SBD": {
+ "name": "Соломонски долар"
+ },
+ "SOS": {
+ "name": "Сомалијски шилинг"
+ },
+ "RSD": {
+ "name": "Српски динар"
+ },
+ "SDG": {
+ "name": "Суданска фунта"
+ },
+ "SRD": {
+ "name": "Суринамски долар"
+ },
+ "THB": {
+ "name": "Тајландски бат"
+ },
+ "TZS": {
+ "name": "Танзанијски шилинг"
+ },
+ "TJS": {
+ "name": "Таџикистански сомон"
+ },
+ "TOP": {
+ "name": "Тонганска панга"
+ },
+ "TTD": {
+ "name": "Тринидад-тобагошки долар"
+ },
+ "TND": {
+ "name": "Туниски динар"
+ },
+ "TMT": {
+ "name": "Туркменистански манат"
+ },
+ "TRY": {
+ "name": "Турска лира"
+ },
+ "AED": {
+ "name": "УАЕ дирхам"
+ },
+ "UGX": {
+ "name": "Угандски шилинг"
+ },
+ "UZS": {
+ "name": "Узбекистански сом"
+ },
+ "UAH": {
+ "name": "Украјинска хривња"
+ },
+ "UYU": {
+ "name": "Уругвајски пезос"
+ },
+ "PHP": {
+ "name": "Филипински пезос"
+ },
+ "FJD": {
+ "name": "Фиџијски долар"
+ },
+ "FKP": {
+ "name": "Фокландска фунта"
+ },
+ "HTG": {
+ "name": "Хаићански гурд"
+ },
+ "ANG": {
+ "name": "Холандскоантилски гулден"
+ },
+ "HKD": {
+ "name": "Хонгконшки долар",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "Хондурашка лемпира"
+ },
+ "HRK": {
+ "name": "Хрватска куна"
+ },
+ "XOF": {
+ "name": "ЦФА франак БЦЕАО",
+ "symbol": "CFA"
+ },
+ "CZK": {
+ "name": "Чешка круна"
+ },
+ "CLP": {
+ "name": "Чилеански пезос"
+ },
+ "DJF": {
+ "name": "Џибутански франак"
+ },
+ "CHF": {
+ "name": "Швајцарски франак"
+ },
+ "SEK": {
+ "name": "Шведска круна"
+ },
+ "LKR": {
+ "name": "Шриланканскa рупиja"
+ },
+ "XAF": {
+ "name": "CFA франак BEAC",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP франак",
+ "symbol": "CFPF"
+ },
+ "ERN": {
+ "name": "Eритрејска накфa"
+ },
+ "KHR": {
+ "name": "Kамбоџански ријел"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/sv.json b/vendor/commerceguys/intl/resources/currency/sv.json
new file mode 100644
index 000000000..1e007b4af
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/sv.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "afghansk afghani"
+ },
+ "ALL": {
+ "name": "albansk lek"
+ },
+ "DZD": {
+ "name": "algerisk dinar"
+ },
+ "AOA": {
+ "name": "angolansk kwanza"
+ },
+ "ARS": {
+ "name": "argentinsk peso"
+ },
+ "AMD": {
+ "name": "armenisk dram"
+ },
+ "AWG": {
+ "name": "arubansk florin"
+ },
+ "AUD": {
+ "name": "australisk dollar"
+ },
+ "AZN": {
+ "name": "azerbajdzjansk manat"
+ },
+ "BSD": {
+ "name": "bahamansk dollar",
+ "symbol": "BS$"
+ },
+ "BHD": {
+ "name": "bahrainsk dinar"
+ },
+ "BDT": {
+ "name": "bangladeshisk taka"
+ },
+ "BBD": {
+ "name": "Barbados-dollar",
+ "symbol": "Bds$"
+ },
+ "BZD": {
+ "name": "belizisk dollar",
+ "symbol": "BZ$"
+ },
+ "BMD": {
+ "name": "Bermuda-dollar",
+ "symbol": "BM$"
+ },
+ "BTN": {
+ "name": "bhutanesisk ngultrum"
+ },
+ "BOB": {
+ "name": "boliviansk boliviano"
+ },
+ "BAM": {
+ "name": "bosnisk-hercegovinsk mark (konvertibel)"
+ },
+ "BWP": {
+ "name": "botswansk pula"
+ },
+ "BRL": {
+ "name": "brasiliansk real",
+ "symbol": "BR$"
+ },
+ "GBP": {
+ "name": "brittiskt pund"
+ },
+ "BND": {
+ "name": "bruneisk dollar"
+ },
+ "BGN": {
+ "name": "bulgarisk lev"
+ },
+ "BIF": {
+ "name": "burundisk franc"
+ },
+ "KYD": {
+ "name": "Cayman-dollar"
+ },
+ "XAF": {
+ "name": "centralafrikansk franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP-franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "chilensk peso"
+ },
+ "COP": {
+ "name": "colombiansk peso"
+ },
+ "CRC": {
+ "name": "costarikansk colón"
+ },
+ "DKK": {
+ "name": "dansk krona",
+ "symbol": "Dkr"
+ },
+ "DJF": {
+ "name": "djiboutisk franc"
+ },
+ "DOP": {
+ "name": "dominikansk peso",
+ "symbol": "RD$"
+ },
+ "EGP": {
+ "name": "egyptiskt pund",
+ "symbol": "EG£"
+ },
+ "ERN": {
+ "name": "eritreansk nakfa"
+ },
+ "ETB": {
+ "name": "etiopisk birr"
+ },
+ "EUR": {
+ "name": "euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falklandspund"
+ },
+ "FJD": {
+ "name": "Fijidollar"
+ },
+ "PHP": {
+ "name": "filippinsk peso"
+ },
+ "AED": {
+ "name": "Förenade Arabemiratens dirham"
+ },
+ "GMD": {
+ "name": "gambisk dalasi"
+ },
+ "GEL": {
+ "name": "georgisk lari"
+ },
+ "GHS": {
+ "name": "ghanansk cedi"
+ },
+ "GIP": {
+ "name": "gibraltiskt pund"
+ },
+ "GTQ": {
+ "name": "guatemalansk quetzal"
+ },
+ "GNF": {
+ "name": "guineansk franc"
+ },
+ "GYD": {
+ "name": "Guyanadollar"
+ },
+ "HTG": {
+ "name": "haitisk gourde"
+ },
+ "HNL": {
+ "name": "honduransk lempira"
+ },
+ "HKD": {
+ "name": "Hongkongdollar"
+ },
+ "INR": {
+ "name": "indisk rupie"
+ },
+ "IDR": {
+ "name": "indonesisk rupie"
+ },
+ "IQD": {
+ "name": "irakisk dinar"
+ },
+ "IRR": {
+ "name": "iransk rial"
+ },
+ "ISK": {
+ "name": "isländsk krona",
+ "symbol": "Ikr"
+ },
+ "ILS": {
+ "name": "israelisk ny shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaica-dollar",
+ "symbol": "JM$"
+ },
+ "JPY": {
+ "name": "japansk yen"
+ },
+ "YER": {
+ "name": "jemenitisk rial"
+ },
+ "JOD": {
+ "name": "jordansk dinar"
+ },
+ "KHR": {
+ "name": "kambodjansk riel"
+ },
+ "CAD": {
+ "name": "kanadensisk dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "kapverdisk escudo"
+ },
+ "KZT": {
+ "name": "kazakisk tenge"
+ },
+ "KES": {
+ "name": "kenyansk shilling"
+ },
+ "CNY": {
+ "name": "kinesisk yuan"
+ },
+ "KGS": {
+ "name": "kirgizisk som"
+ },
+ "KMF": {
+ "name": "komorisk franc"
+ },
+ "CDF": {
+ "name": "kongolesisk franc"
+ },
+ "HRK": {
+ "name": "kroatisk kuna"
+ },
+ "CUP": {
+ "name": "kubansk peso"
+ },
+ "CUC": {
+ "name": "kubansk peso (konvertibel)"
+ },
+ "KWD": {
+ "name": "kuwaitisk dinar"
+ },
+ "LAK": {
+ "name": "laotisk kip"
+ },
+ "LSL": {
+ "name": "lesothisk loti"
+ },
+ "LBP": {
+ "name": "libanesiskt pund"
+ },
+ "LRD": {
+ "name": "liberiansk dollar"
+ },
+ "LYD": {
+ "name": "libysk dinar"
+ },
+ "MGA": {
+ "name": "madagaskisk ariary"
+ },
+ "MOP": {
+ "name": "makanesisk pataca"
+ },
+ "MKD": {
+ "name": "makedonisk denar"
+ },
+ "MWK": {
+ "name": "malawisk kwacha"
+ },
+ "MYR": {
+ "name": "malaysisk ringgit"
+ },
+ "MVR": {
+ "name": "maldivisk rufiyaa"
+ },
+ "MAD": {
+ "name": "marockansk dirham"
+ },
+ "MRO": {
+ "name": "mauretansk ouguiya"
+ },
+ "MUR": {
+ "name": "mauritisk rupie"
+ },
+ "MXN": {
+ "name": "mexikansk peso",
+ "symbol": "MX$"
+ },
+ "MZN": {
+ "name": "moçambikisk metical"
+ },
+ "MDL": {
+ "name": "moldavisk leu"
+ },
+ "MNT": {
+ "name": "mongolisk tögrög"
+ },
+ "MMK": {
+ "name": "myanmarisk kyat"
+ },
+ "NAD": {
+ "name": "namibisk dollar"
+ },
+ "ANG": {
+ "name": "Nederländska Antillernas gulden"
+ },
+ "NPR": {
+ "name": "nepalesisk rupie"
+ },
+ "NIO": {
+ "name": "nicaraguansk córdoba"
+ },
+ "NGN": {
+ "name": "nigeriansk naira"
+ },
+ "KPW": {
+ "name": "nordkoreansk won"
+ },
+ "NOK": {
+ "name": "norsk krona",
+ "symbol": "Nkr"
+ },
+ "NZD": {
+ "name": "nyzeeländsk dollar"
+ },
+ "OMR": {
+ "name": "omansk rial"
+ },
+ "PKR": {
+ "name": "pakistansk rupie"
+ },
+ "PAB": {
+ "name": "panamansk balboa"
+ },
+ "PGK": {
+ "name": "papuansk kina"
+ },
+ "PYG": {
+ "name": "paraguayansk guarani"
+ },
+ "PEN": {
+ "name": "peruansk nuevo sol"
+ },
+ "PLN": {
+ "name": "polsk zloty"
+ },
+ "QAR": {
+ "name": "qatarisk rial"
+ },
+ "RON": {
+ "name": "rumänsk leu"
+ },
+ "RWF": {
+ "name": "rwandisk franc"
+ },
+ "RUB": {
+ "name": "rysk rubel"
+ },
+ "SHP": {
+ "name": "S:t Helena-pund"
+ },
+ "SBD": {
+ "name": "Salomondollar"
+ },
+ "SVC": {
+ "name": "salvadoransk colón"
+ },
+ "STD": {
+ "name": "saotomeansk dobra"
+ },
+ "SAR": {
+ "name": "saudisk riyal"
+ },
+ "CHF": {
+ "name": "schweizisk franc"
+ },
+ "RSD": {
+ "name": "serbisk dinar"
+ },
+ "SCR": {
+ "name": "seychellisk rupie"
+ },
+ "SLL": {
+ "name": "sierraleonsk leone"
+ },
+ "SGD": {
+ "name": "singaporiansk dollar"
+ },
+ "SOS": {
+ "name": "somalisk shilling"
+ },
+ "LKR": {
+ "name": "srilankesisk rupie"
+ },
+ "SDG": {
+ "name": "sudanesiskt pund"
+ },
+ "SRD": {
+ "name": "surinamesisk dollar"
+ },
+ "SEK": {
+ "name": "svensk krona",
+ "symbol": "kr"
+ },
+ "SZL": {
+ "name": "swaziländsk lilangeni"
+ },
+ "ZAR": {
+ "name": "sydafrikansk rand"
+ },
+ "KRW": {
+ "name": "sydkoreansk won"
+ },
+ "SSP": {
+ "name": "sydsudanesiskt pund"
+ },
+ "SYP": {
+ "name": "syriskt pund"
+ },
+ "TJS": {
+ "name": "tadzjikisk somoni"
+ },
+ "TWD": {
+ "name": "Taiwandollar"
+ },
+ "TZS": {
+ "name": "tanzanisk shilling"
+ },
+ "THB": {
+ "name": "thailändsk baht"
+ },
+ "CZK": {
+ "name": "tjeckisk koruna"
+ },
+ "TOP": {
+ "name": "tongansk paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad och Tobago-dollar"
+ },
+ "TND": {
+ "name": "tunisisk dinar"
+ },
+ "TRY": {
+ "name": "turkisk lira"
+ },
+ "TMT": {
+ "name": "turkmenistansk manat"
+ },
+ "UGX": {
+ "name": "ugandisk shilling"
+ },
+ "UAH": {
+ "name": "ukrainsk hryvnia"
+ },
+ "HUF": {
+ "name": "ungersk forint"
+ },
+ "UYU": {
+ "name": "uruguayansk peso"
+ },
+ "USD": {
+ "name": "US-dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "uzbekisk sum"
+ },
+ "VUV": {
+ "name": "vanuatisk vatu"
+ },
+ "VEF": {
+ "name": "venezuelansk bolívar"
+ },
+ "VND": {
+ "name": "vietnamesisk dong"
+ },
+ "BYN": {
+ "name": "vitrysk rubel"
+ },
+ "BYR": {
+ "name": "vitrysk rubel (2000–2016)"
+ },
+ "XOF": {
+ "name": "västafrikansk franc",
+ "symbol": "CFA"
+ },
+ "WST": {
+ "name": "västsamoansk tala"
+ },
+ "ZMW": {
+ "name": "zambisk kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwe-dollar (2009)"
+ },
+ "XCD": {
+ "name": "östkaribisk dollar",
+ "symbol": "EC$"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/sw-CD.json b/vendor/commerceguys/intl/resources/currency/sw-CD.json
new file mode 100644
index 000000000..fb72d626f
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/sw-CD.json
@@ -0,0 +1,500 @@
+{
+ "AFN": {
+ "name": "Afghani ya Afghanistan"
+ },
+ "MGA": {
+ "name": "Ariary ya Bukini"
+ },
+ "THB": {
+ "name": "Baht ya Tailandi",
+ "symbol": "฿"
+ },
+ "PAB": {
+ "name": "Balboa ya Panama"
+ },
+ "ETB": {
+ "name": "Bir ya Uhabeshi"
+ },
+ "VEF": {
+ "name": "Bolivar ya Venezuela"
+ },
+ "BOB": {
+ "name": "Boliviano ya Bolivia"
+ },
+ "GHS": {
+ "name": "Cedi ya Ghana"
+ },
+ "CRC": {
+ "name": "Colon ya Kostarika"
+ },
+ "NIO": {
+ "name": "Cordoba ya Nikaragua"
+ },
+ "GMD": {
+ "name": "Dalasi ya Gambia"
+ },
+ "MKD": {
+ "name": "Denar ya Masedonia"
+ },
+ "BHD": {
+ "name": "Dinar ya Bahareni"
+ },
+ "IQD": {
+ "name": "Dinar ya Iraki"
+ },
+ "KWD": {
+ "name": "Dinar ya Kuwaiti"
+ },
+ "RSD": {
+ "name": "Dinar ya Serbia"
+ },
+ "JOD": {
+ "name": "Dinar ya Yordani"
+ },
+ "DZD": {
+ "name": "Dinari ya Aljeria"
+ },
+ "LYD": {
+ "name": "Dinari ya Libya"
+ },
+ "TND": {
+ "name": "Dinari ya Tunisia"
+ },
+ "AED": {
+ "name": "Dirham ya Falme za Kiarabu"
+ },
+ "MAD": {
+ "name": "Dirham ya Moroko"
+ },
+ "STD": {
+ "name": "Dobra ya Sao Tome na Principe"
+ },
+ "AUD": {
+ "name": "Dola ya Australia",
+ "symbol": "A$"
+ },
+ "BSD": {
+ "name": "Dola ya Bahamas"
+ },
+ "BBD": {
+ "name": "Dola ya Barbados"
+ },
+ "BZD": {
+ "name": "Dola ya Belize"
+ },
+ "BMD": {
+ "name": "Dola ya Bermuda"
+ },
+ "BND": {
+ "name": "Dola ya Brunei"
+ },
+ "FJD": {
+ "name": "Dola ya Fiji"
+ },
+ "GYD": {
+ "name": "Dola ya Guyana"
+ },
+ "HKD": {
+ "name": "Dola ya Hong Kong",
+ "symbol": "HK$"
+ },
+ "JMD": {
+ "name": "Dola ya Jamaica"
+ },
+ "CAD": {
+ "name": "Dola ya Kanada",
+ "symbol": "CA$"
+ },
+ "XCD": {
+ "name": "Dola ya Karibea ya Mashariki",
+ "symbol": "EC$"
+ },
+ "LRD": {
+ "name": "Dola ya Liberia"
+ },
+ "USD": {
+ "name": "Dola ya Marekani",
+ "symbol": "US$"
+ },
+ "NAD": {
+ "name": "Dola ya Namibia"
+ },
+ "NZD": {
+ "name": "Dola ya Nyuzilandi",
+ "symbol": "NZ$"
+ },
+ "SGD": {
+ "name": "Dola ya Singapore"
+ },
+ "SRD": {
+ "name": "Dola ya Suriname"
+ },
+ "TWD": {
+ "name": "Dola ya Taiwan",
+ "symbol": "NT$"
+ },
+ "TTD": {
+ "name": "Dola ya Trinidad na Tobago"
+ },
+ "KYD": {
+ "name": "Dola ya Visiwa vya Cayman"
+ },
+ "SBD": {
+ "name": "Dola ya Visiwa vya Solomon"
+ },
+ "VND": {
+ "name": "Dong ya Vietnam",
+ "symbol": "₫"
+ },
+ "AMD": {
+ "name": "Dram ya Armenia"
+ },
+ "CVE": {
+ "name": "Eskudo ya Cape Verde"
+ },
+ "XOF": {
+ "name": "Faranga CFA BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Faranga CFA BEAC",
+ "symbol": "FCFA"
+ },
+ "BIF": {
+ "name": "Faranga ya Burundi"
+ },
+ "XPF": {
+ "name": "Faranga ya CFP",
+ "symbol": "CFPF"
+ },
+ "GNF": {
+ "name": "Faranga ya Guinea"
+ },
+ "DJF": {
+ "name": "Faranga ya Jibuti"
+ },
+ "KMF": {
+ "name": "Faranga ya Komoro"
+ },
+ "CDF": {
+ "name": "Faranga ya Kongo",
+ "symbol": "FC"
+ },
+ "RWF": {
+ "name": "Faranga ya Rwanda"
+ },
+ "CHF": {
+ "name": "Faranga ya Uswisi"
+ },
+ "AWG": {
+ "name": "Florin ya Aruba"
+ },
+ "HUF": {
+ "name": "Forint ya Hungaria"
+ },
+ "HTG": {
+ "name": "Gourde ya Haiti"
+ },
+ "PYG": {
+ "name": "Guarani ya Paragwai"
+ },
+ "ANG": {
+ "name": "Guilder ya Antili za Kiholanzi"
+ },
+ "UAH": {
+ "name": "Hryvnia ya Ukrania"
+ },
+ "PGK": {
+ "name": "Kina ya Papua New Guinea"
+ },
+ "LAK": {
+ "name": "Kip ya Laosi"
+ },
+ "CZK": {
+ "name": "Koruna ya Jamhuri ya Cheki"
+ },
+ "ISK": {
+ "name": "Krona ya Aisilandi"
+ },
+ "SEK": {
+ "name": "Krona ya Uswidi"
+ },
+ "DKK": {
+ "name": "Krone ya Denmaki"
+ },
+ "NOK": {
+ "name": "Krone ya Norwe"
+ },
+ "HRK": {
+ "name": "Kuna ya Kroeshia"
+ },
+ "MWK": {
+ "name": "Kwacha ya Malawi"
+ },
+ "ZMW": {
+ "name": "Kwacha ya Zambia"
+ },
+ "AOA": {
+ "name": "Kwanza ya Angola"
+ },
+ "MMK": {
+ "name": "Kyat ya Myama"
+ },
+ "GEL": {
+ "name": "Lari ya Georgia"
+ },
+ "ALL": {
+ "name": "Lek ya Albania"
+ },
+ "HNL": {
+ "name": "Lempira ya Hondurasi"
+ },
+ "SLL": {
+ "name": "Leone"
+ },
+ "MDL": {
+ "name": "Leu ya Moldova"
+ },
+ "RON": {
+ "name": "Leu ya Romania"
+ },
+ "BGN": {
+ "name": "Lev ya Bulgaria"
+ },
+ "SZL": {
+ "name": "Lilangeni"
+ },
+ "TRY": {
+ "name": "Lira ya Uturuki"
+ },
+ "LSL": {
+ "name": "Loti ya Lesoto"
+ },
+ "AZN": {
+ "name": "Manat ya Azebaijani"
+ },
+ "TMT": {
+ "name": "Manat ya Turukimenistani"
+ },
+ "BAM": {
+ "name": "Mark Inayoweza Kubadilishwa ya Bosnia na Hezegovina"
+ },
+ "MZN": {
+ "name": "Metikali ya Msumbiji"
+ },
+ "NGN": {
+ "name": "Naira ya Nijeria"
+ },
+ "ERN": {
+ "name": "Nakfa ya Eritrea"
+ },
+ "BTN": {
+ "name": "Ngultrum ya Bhutan"
+ },
+ "PEN": {
+ "name": "Nuevo Sol ya Peru"
+ },
+ "TOP": {
+ "name": "Paʻanga ya Tonga"
+ },
+ "MOP": {
+ "name": "Pataca ya Macau"
+ },
+ "GIP": {
+ "name": "Pauni ya Gibraltar"
+ },
+ "LBP": {
+ "name": "Pauni ya Lebanon"
+ },
+ "EGP": {
+ "name": "Pauni ya Misri"
+ },
+ "SHP": {
+ "name": "Pauni ya Santahelena"
+ },
+ "SDG": {
+ "name": "Pauni ya Sudani"
+ },
+ "SSP": {
+ "name": "Pauni ya Sudani Kusini"
+ },
+ "SYP": {
+ "name": "Pauni ya Syria"
+ },
+ "GBP": {
+ "name": "Pauni ya Uingereza",
+ "symbol": "£"
+ },
+ "FKP": {
+ "name": "Pauni ya Visiwa vya Falkland"
+ },
+ "ARS": {
+ "name": "Peso ya Ajentina"
+ },
+ "CLP": {
+ "name": "Peso ya Chile"
+ },
+ "CUP": {
+ "name": "Peso ya Cuba"
+ },
+ "CUC": {
+ "name": "Peso ya Cuba Inayoweza Kubadilishwa"
+ },
+ "DOP": {
+ "name": "Peso ya Dominika"
+ },
+ "COP": {
+ "name": "Peso ya Kolombia"
+ },
+ "MXN": {
+ "name": "Peso ya Meksiko",
+ "symbol": "MX$"
+ },
+ "PHP": {
+ "name": "Peso ya Ufilipino"
+ },
+ "UYU": {
+ "name": "Peso ya Urugwai"
+ },
+ "BWP": {
+ "name": "Pula ya Botswana"
+ },
+ "GTQ": {
+ "name": "Quetzal ya Guatemala"
+ },
+ "ZAR": {
+ "name": "Randi ya Afrika Kusini"
+ },
+ "BRL": {
+ "name": "Real ya Brazil",
+ "symbol": "R$"
+ },
+ "IRR": {
+ "name": "Rial ya Iran"
+ },
+ "OMR": {
+ "name": "Rial ya Omani"
+ },
+ "QAR": {
+ "name": "Rial ya Qatari"
+ },
+ "YER": {
+ "name": "Rial ya Yemeni"
+ },
+ "KHR": {
+ "name": "Riel ya Kambodia"
+ },
+ "MYR": {
+ "name": "Ringgit ya Malaysia"
+ },
+ "SAR": {
+ "name": "Riyal ya Saudia"
+ },
+ "BYN": {
+ "name": "Ruble ya Belarusi"
+ },
+ "BYR": {
+ "name": "Ruble ya Belarusi (2000–2016)"
+ },
+ "RUB": {
+ "name": "Ruble ya Urusi"
+ },
+ "MVR": {
+ "name": "Rufiyaa ya Maldivi"
+ },
+ "INR": {
+ "name": "Rupia ya India",
+ "symbol": "₹"
+ },
+ "MUR": {
+ "name": "Rupia ya Morisi"
+ },
+ "NPR": {
+ "name": "Rupia ya Nepali"
+ },
+ "PKR": {
+ "name": "Rupia ya Pakistani"
+ },
+ "SCR": {
+ "name": "Rupia ya Shelisheli"
+ },
+ "LKR": {
+ "name": "Rupia ya Sri Lanka"
+ },
+ "IDR": {
+ "name": "Rupiah ya Indonesia"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "JPY": {
+ "name": "Sarafu ya Kijapani",
+ "symbol": "JP¥"
+ },
+ "ILS": {
+ "name": "Shekeli Mpya ya Israel",
+ "symbol": "₪"
+ },
+ "KES": {
+ "name": "Shilingi ya Kenya",
+ "symbol": "Ksh"
+ },
+ "SOS": {
+ "name": "Shilingi ya Somalia"
+ },
+ "TZS": {
+ "name": "Shilingi ya Tanzania",
+ "symbol": "TSh"
+ },
+ "UGX": {
+ "name": "Shilingi ya Uganda"
+ },
+ "KGS": {
+ "name": "Som ya Kyrgystani"
+ },
+ "UZS": {
+ "name": "Som ya Uzibekistani"
+ },
+ "TJS": {
+ "name": "Somoni ya Tajikistani"
+ },
+ "BDT": {
+ "name": "Taka ya Bangladeshi"
+ },
+ "WST": {
+ "name": "Tala ya Samoa"
+ },
+ "KZT": {
+ "name": "Tenge ya Kazakistani"
+ },
+ "MNT": {
+ "name": "Tugrik ya Mongolia"
+ },
+ "MRO": {
+ "name": "Ugwiya ya Moritania"
+ },
+ "VUV": {
+ "name": "Vatu ya Vanuatu"
+ },
+ "KPW": {
+ "name": "Won ya Korea Kaskazini"
+ },
+ "KRW": {
+ "name": "Won ya Korea Kusini",
+ "symbol": "₩"
+ },
+ "CNY": {
+ "name": "Yuan Renminbi ya China",
+ "symbol": "CN¥"
+ },
+ "EUR": {
+ "name": "Yuro",
+ "symbol": "€"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ },
+ "PLN": {
+ "name": "Zloty ya Polandi"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/sw.json b/vendor/commerceguys/intl/resources/currency/sw.json
new file mode 100644
index 000000000..8ca8e556a
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/sw.json
@@ -0,0 +1,499 @@
+{
+ "AFN": {
+ "name": "Afghani ya Afghanistan"
+ },
+ "MGA": {
+ "name": "Ariari ya Madagaska"
+ },
+ "THB": {
+ "name": "Baht ya Tailandi",
+ "symbol": "฿"
+ },
+ "PAB": {
+ "name": "Balboa ya Panama"
+ },
+ "ETB": {
+ "name": "Birr ya Uhabeshi"
+ },
+ "VEF": {
+ "name": "Bolivar ya Venezuela"
+ },
+ "BOB": {
+ "name": "Boliviano ya Bolivia"
+ },
+ "GHS": {
+ "name": "Cedi ya Ghana"
+ },
+ "CRC": {
+ "name": "Colon ya Kostarika"
+ },
+ "NIO": {
+ "name": "Cordoba ya Nikaragua"
+ },
+ "GMD": {
+ "name": "Dalasi ya Gambia"
+ },
+ "MKD": {
+ "name": "Denar ya Masedonia"
+ },
+ "BHD": {
+ "name": "Dinar ya Bahareni"
+ },
+ "IQD": {
+ "name": "Dinar ya Iraki"
+ },
+ "KWD": {
+ "name": "Dinar ya Kuwaiti"
+ },
+ "RSD": {
+ "name": "Dinar ya Serbia"
+ },
+ "JOD": {
+ "name": "Dinar ya Yordani"
+ },
+ "DZD": {
+ "name": "Dinari ya Aljeria"
+ },
+ "LYD": {
+ "name": "Dinari ya Libya"
+ },
+ "TND": {
+ "name": "Dinari ya Tunisia"
+ },
+ "AED": {
+ "name": "Dirham ya Falme za Kiarabu"
+ },
+ "MAD": {
+ "name": "Dirham ya Moroko"
+ },
+ "STD": {
+ "name": "Dobra ya Sao Tome na Principe"
+ },
+ "AUD": {
+ "name": "Dola ya Australia",
+ "symbol": "A$"
+ },
+ "BSD": {
+ "name": "Dola ya Bahamas"
+ },
+ "BBD": {
+ "name": "Dola ya Barbados"
+ },
+ "BZD": {
+ "name": "Dola ya Belize"
+ },
+ "BMD": {
+ "name": "Dola ya Bermuda"
+ },
+ "BND": {
+ "name": "Dola ya Brunei"
+ },
+ "FJD": {
+ "name": "Dola ya Fiji"
+ },
+ "GYD": {
+ "name": "Dola ya Guyana"
+ },
+ "HKD": {
+ "name": "Dola ya Hong Kong",
+ "symbol": "HK$"
+ },
+ "JMD": {
+ "name": "Dola ya Jamaica"
+ },
+ "CAD": {
+ "name": "Dola ya Kanada",
+ "symbol": "CA$"
+ },
+ "XCD": {
+ "name": "Dola ya Karibea ya Mashariki",
+ "symbol": "EC$"
+ },
+ "LRD": {
+ "name": "Dola ya Liberia"
+ },
+ "USD": {
+ "name": "Dola ya Marekani",
+ "symbol": "US$"
+ },
+ "NAD": {
+ "name": "Dola ya Namibia"
+ },
+ "NZD": {
+ "name": "Dola ya Nyuzilandi",
+ "symbol": "NZ$"
+ },
+ "SGD": {
+ "name": "Dola ya Singapore"
+ },
+ "SRD": {
+ "name": "Dola ya Suriname"
+ },
+ "TWD": {
+ "name": "Dola ya Taiwan",
+ "symbol": "NT$"
+ },
+ "TTD": {
+ "name": "Dola ya Trinidad na Tobago"
+ },
+ "KYD": {
+ "name": "Dola ya Visiwa vya Cayman"
+ },
+ "SBD": {
+ "name": "Dola ya Visiwa vya Solomon"
+ },
+ "VND": {
+ "name": "Dong ya Vietnam",
+ "symbol": "₫"
+ },
+ "AMD": {
+ "name": "Dram ya Armenia"
+ },
+ "CVE": {
+ "name": "Eskudo ya Cape Verde"
+ },
+ "XOF": {
+ "name": "Faranga ya Afrika Magharibi CFA",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Faranga ya Afrika ya Kati CFA",
+ "symbol": "FCFA"
+ },
+ "BIF": {
+ "name": "Faranga ya Burundi"
+ },
+ "XPF": {
+ "name": "Faranga ya CFP",
+ "symbol": "CFPF"
+ },
+ "GNF": {
+ "name": "Faranga ya Guinea"
+ },
+ "DJF": {
+ "name": "Faranga ya Jibuti"
+ },
+ "KMF": {
+ "name": "Faranga ya Komoro"
+ },
+ "CDF": {
+ "name": "Faranga ya Kongo"
+ },
+ "RWF": {
+ "name": "Faranga ya Rwanda"
+ },
+ "CHF": {
+ "name": "Faranga ya Uswisi"
+ },
+ "AWG": {
+ "name": "Florin ya Aruba"
+ },
+ "HUF": {
+ "name": "Forint ya Hungaria"
+ },
+ "HTG": {
+ "name": "Gourde ya Haiti"
+ },
+ "PYG": {
+ "name": "Guarani ya Paragwai"
+ },
+ "ANG": {
+ "name": "Guilder ya Antili za Kiholanzi"
+ },
+ "UAH": {
+ "name": "Hryvnia ya Ukrania"
+ },
+ "PGK": {
+ "name": "Kina ya Papua New Guinea"
+ },
+ "LAK": {
+ "name": "Kip ya Laosi"
+ },
+ "CZK": {
+ "name": "Koruna ya Jamhuri ya Cheki"
+ },
+ "ISK": {
+ "name": "Krona ya Aisilandi"
+ },
+ "SEK": {
+ "name": "Krona ya Uswidi"
+ },
+ "DKK": {
+ "name": "Krone ya Denmaki"
+ },
+ "NOK": {
+ "name": "Krone ya Norwe"
+ },
+ "HRK": {
+ "name": "Kuna ya Kroeshia"
+ },
+ "MWK": {
+ "name": "Kwacha ya Malawi"
+ },
+ "ZMW": {
+ "name": "Kwacha ya Zambia"
+ },
+ "AOA": {
+ "name": "Kwanza ya Angola"
+ },
+ "MMK": {
+ "name": "Kyat ya Myama"
+ },
+ "GEL": {
+ "name": "Lari ya Georgia"
+ },
+ "ALL": {
+ "name": "Lek ya Albania"
+ },
+ "HNL": {
+ "name": "Lempira ya Hondurasi"
+ },
+ "SLL": {
+ "name": "Leone"
+ },
+ "MDL": {
+ "name": "Leu ya Moldova"
+ },
+ "RON": {
+ "name": "Leu ya Romania"
+ },
+ "BGN": {
+ "name": "Lev ya Bulgaria"
+ },
+ "SZL": {
+ "name": "Lilangeni"
+ },
+ "TRY": {
+ "name": "Lira ya Uturuki"
+ },
+ "LSL": {
+ "name": "Loti ya Lesoto"
+ },
+ "AZN": {
+ "name": "Manat ya Azebaijani"
+ },
+ "TMT": {
+ "name": "Manat ya Turukimenistani"
+ },
+ "BAM": {
+ "name": "Mark Inayoweza Kubadilishwa ya Bosnia na Hezegovina"
+ },
+ "MZN": {
+ "name": "Metikali ya Msumbiji"
+ },
+ "NGN": {
+ "name": "Naira ya Nijeria"
+ },
+ "ERN": {
+ "name": "Nakfa ya Eritrea"
+ },
+ "BTN": {
+ "name": "Ngultrum ya Bhutan"
+ },
+ "PEN": {
+ "name": "Nuevo Sol ya Peru"
+ },
+ "MRO": {
+ "name": "Ouguiya ya Moritania"
+ },
+ "TOP": {
+ "name": "Paʻanga ya Tonga"
+ },
+ "MOP": {
+ "name": "Pataca ya Macau"
+ },
+ "GIP": {
+ "name": "Pauni ya Gibraltar"
+ },
+ "LBP": {
+ "name": "Pauni ya Lebanon"
+ },
+ "EGP": {
+ "name": "Pauni ya Misri"
+ },
+ "SHP": {
+ "name": "Pauni ya Santahelena"
+ },
+ "SDG": {
+ "name": "Pauni ya Sudani"
+ },
+ "SSP": {
+ "name": "Pauni ya Sudani Kusini"
+ },
+ "SYP": {
+ "name": "Pauni ya Syria"
+ },
+ "GBP": {
+ "name": "Pauni ya Uingereza",
+ "symbol": "£"
+ },
+ "FKP": {
+ "name": "Pauni ya Visiwa vya Falkland"
+ },
+ "ARS": {
+ "name": "Peso ya Ajentina"
+ },
+ "CLP": {
+ "name": "Peso ya Chile"
+ },
+ "CUP": {
+ "name": "Peso ya Cuba"
+ },
+ "CUC": {
+ "name": "Peso ya Cuba Inayoweza Kubadilishwa"
+ },
+ "DOP": {
+ "name": "Peso ya Dominika"
+ },
+ "COP": {
+ "name": "Peso ya Kolombia"
+ },
+ "MXN": {
+ "name": "Peso ya Meksiko",
+ "symbol": "MX$"
+ },
+ "PHP": {
+ "name": "Peso ya Ufilipino"
+ },
+ "UYU": {
+ "name": "Peso ya Urugwai"
+ },
+ "BWP": {
+ "name": "Pula ya Botswana"
+ },
+ "GTQ": {
+ "name": "Quetzal ya Guatemala"
+ },
+ "ZAR": {
+ "name": "Randi ya Afrika Kusini"
+ },
+ "BRL": {
+ "name": "Real ya Brazil",
+ "symbol": "R$"
+ },
+ "IRR": {
+ "name": "Rial ya Iran"
+ },
+ "OMR": {
+ "name": "Rial ya Omani"
+ },
+ "QAR": {
+ "name": "Rial ya Qatari"
+ },
+ "YER": {
+ "name": "Rial ya Yemeni"
+ },
+ "KHR": {
+ "name": "Riel ya Kambodia"
+ },
+ "MYR": {
+ "name": "Ringgit ya Malaysia"
+ },
+ "SAR": {
+ "name": "Riyal ya Saudia"
+ },
+ "BYN": {
+ "name": "Ruble ya Belarusi"
+ },
+ "BYR": {
+ "name": "Ruble ya Belarusi (2000–2016)"
+ },
+ "RUB": {
+ "name": "Ruble ya Urusi"
+ },
+ "MVR": {
+ "name": "Rufiyaa ya Maldivi"
+ },
+ "INR": {
+ "name": "Rupia ya India",
+ "symbol": "₹"
+ },
+ "MUR": {
+ "name": "Rupia ya Morisi"
+ },
+ "NPR": {
+ "name": "Rupia ya Nepali"
+ },
+ "PKR": {
+ "name": "Rupia ya Pakistani"
+ },
+ "LKR": {
+ "name": "Rupia ya Sri Lanka"
+ },
+ "SCR": {
+ "name": "Rupia ya Ushelisheli"
+ },
+ "IDR": {
+ "name": "Rupiah ya Indonesia"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "ILS": {
+ "name": "Shekeli Mpya ya Israel",
+ "symbol": "₪"
+ },
+ "KES": {
+ "name": "Shilingi ya Kenya",
+ "symbol": "Ksh"
+ },
+ "SOS": {
+ "name": "Shilingi ya Somalia"
+ },
+ "TZS": {
+ "name": "Shilingi ya Tanzania",
+ "symbol": "TSh"
+ },
+ "UGX": {
+ "name": "Shilingi ya Uganda"
+ },
+ "KGS": {
+ "name": "Som ya Kyrgystani"
+ },
+ "UZS": {
+ "name": "Som ya Uzibekistani"
+ },
+ "TJS": {
+ "name": "Somoni ya Tajikistani"
+ },
+ "BDT": {
+ "name": "Taka ya Bangladeshi"
+ },
+ "WST": {
+ "name": "Tala ya Samoa"
+ },
+ "KZT": {
+ "name": "Tenge ya Kazakistani"
+ },
+ "MNT": {
+ "name": "Tugrik ya Mongolia"
+ },
+ "VUV": {
+ "name": "Vatu ya Vanuatu"
+ },
+ "KPW": {
+ "name": "Won ya Korea Kaskazini"
+ },
+ "KRW": {
+ "name": "Won ya Korea Kusini",
+ "symbol": "₩"
+ },
+ "JPY": {
+ "name": "Yen ya Japani",
+ "symbol": "JP¥"
+ },
+ "CNY": {
+ "name": "Yuan ya Uchina",
+ "symbol": "CN¥"
+ },
+ "EUR": {
+ "name": "Yuro",
+ "symbol": "€"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ },
+ "PLN": {
+ "name": "Zloty ya Polandi"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/ta.json b/vendor/commerceguys/intl/resources/currency/ta.json
new file mode 100644
index 000000000..4309b5a4b
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/ta.json
@@ -0,0 +1,497 @@
+{
+ "AOA": {
+ "name": "அங்கோலன் க்வான்ஸா"
+ },
+ "AZN": {
+ "name": "அசர்பைஜானி மனத்"
+ },
+ "USD": {
+ "name": "அமெரிக்க டாலர்",
+ "symbol": "$"
+ },
+ "ARS": {
+ "name": "அர்ஜென்டைன் பெசோ"
+ },
+ "AWG": {
+ "name": "அருபன் ஃப்ளோரின்"
+ },
+ "ALL": {
+ "name": "அல்பேனியன் லெக்"
+ },
+ "DZD": {
+ "name": "அல்ஜீரியன் தினார்"
+ },
+ "AFN": {
+ "name": "ஆஃப்கான் ஆஃப்கானி"
+ },
+ "AMD": {
+ "name": "ஆர்மேனியன் ட்ராம்"
+ },
+ "AUD": {
+ "name": "ஆஸ்திரேலிய டாலர்",
+ "symbol": "A$"
+ },
+ "INR": {
+ "name": "இந்திய ரூபாய்",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "இந்தோனேஷியன் ருபியா"
+ },
+ "LKR": {
+ "name": "இலங்கை ரூபாய்"
+ },
+ "ILS": {
+ "name": "இஸ்ரேலி நியூ ஷிகேல்",
+ "symbol": "₪"
+ },
+ "IQD": {
+ "name": "ஈராக்கி தினார்"
+ },
+ "IRR": {
+ "name": "ஈரானியன் ரியால்"
+ },
+ "UAH": {
+ "name": "உக்ரைனியன் ஹிரைவ்னியா"
+ },
+ "UGX": {
+ "name": "உகாண்டன் ஷில்லிங்"
+ },
+ "UYU": {
+ "name": "உருகுவேயன் பெசோ"
+ },
+ "UZS": {
+ "name": "உஸ்பெக்கிஸ்தானி சோம்"
+ },
+ "EGP": {
+ "name": "எகிப்திய பவுண்டு"
+ },
+ "ETB": {
+ "name": "எத்தியோப்பியன் பிர்"
+ },
+ "ERN": {
+ "name": "எரித்ரியன் நக்ஃபா"
+ },
+ "YER": {
+ "name": "ஏமனி ரியால்"
+ },
+ "AED": {
+ "name": "ஐக்கிய அரபு எமிரேட்ஸ் திர்ஹாம்"
+ },
+ "ISK": {
+ "name": "ஐஸ்லாண்டிக் க்ரோனா"
+ },
+ "OMR": {
+ "name": "ஓமானி ரியால்"
+ },
+ "XPF": {
+ "name": "ஃப்ராங்க் (CFP)",
+ "symbol": "CFPF"
+ },
+ "FKP": {
+ "name": "ஃபாக்லாந்து தீவுகள் பவுண்டு"
+ },
+ "FJD": {
+ "name": "ஃபிஜியன் டாலர்"
+ },
+ "QAR": {
+ "name": "கத்தாரி ரியால்"
+ },
+ "KHR": {
+ "name": "கம்போடியன் ரியெல்"
+ },
+ "KMF": {
+ "name": "கமோரியன் ஃப்ராங்க்"
+ },
+ "GYD": {
+ "name": "கயானீஸ் டாலர்"
+ },
+ "CAD": {
+ "name": "கனடியன் டாலர்",
+ "symbol": "CA$"
+ },
+ "KZT": {
+ "name": "கஸகஸ்தானி டென்கே"
+ },
+ "CDF": {
+ "name": "காங்கோலீஸ் ஃப்ராங்க்"
+ },
+ "GHS": {
+ "name": "கானயன் சேடி"
+ },
+ "CUC": {
+ "name": "கியூபன் கன்வெர்டிபில் பெசோ"
+ },
+ "CUP": {
+ "name": "கியூபன் பெசோ"
+ },
+ "KGS": {
+ "name": "கிர்கிஸ்தானி சோம்"
+ },
+ "XCD": {
+ "name": "கிழக்கு கரீபியன் டாலர்",
+ "symbol": "EC$"
+ },
+ "GNF": {
+ "name": "கினியன் ஃப்ராங்க்"
+ },
+ "HRK": {
+ "name": "குரோஷியன் குனா"
+ },
+ "GTQ": {
+ "name": "குவாதெமாலன் க்யுட்ஸல்"
+ },
+ "KWD": {
+ "name": "குவைத்தி தினார்"
+ },
+ "KES": {
+ "name": "கென்யன் ஷில்லிங்"
+ },
+ "CVE": {
+ "name": "கேப் வெர்டியன் எஸ்குடோ"
+ },
+ "GMD": {
+ "name": "கேம்பியன் தலாசி"
+ },
+ "KYD": {
+ "name": "கேமன் தீவுகள் டாலர்"
+ },
+ "COP": {
+ "name": "கொலம்பியன் பெசோ"
+ },
+ "CRC": {
+ "name": "கோஸ்டா ரிகன் கொலோன்"
+ },
+ "WST": {
+ "name": "சமோவான் தாலா"
+ },
+ "SAR": {
+ "name": "சவுதி ரியால்"
+ },
+ "SBD": {
+ "name": "சாலமன் தீவுகள் டாலர்"
+ },
+ "STD": {
+ "name": "சாவ் டோமி மற்றும் பிரின்ஸ்பி டோப்ரா"
+ },
+ "SGD": {
+ "name": "சிங்கப்பூர் டாலர்"
+ },
+ "SCR": {
+ "name": "சிசீலோயிஸ் ருபீ"
+ },
+ "SLL": {
+ "name": "சியாரா லியோனியன் லியோன்"
+ },
+ "SYP": {
+ "name": "சிரியன் பவுண்டு"
+ },
+ "CLP": {
+ "name": "சிலியன் பெசோ"
+ },
+ "CNY": {
+ "name": "சீன யுவான்",
+ "symbol": "CN¥"
+ },
+ "SRD": {
+ "name": "சுரினாமீஸ் டாலர்"
+ },
+ "SZL": {
+ "name": "சுவாஸி லிலாங்கனி"
+ },
+ "CHF": {
+ "name": "சுவிஸ் ஃப்ராங்க்"
+ },
+ "SDG": {
+ "name": "சூடானீஸ் பவுண்டு"
+ },
+ "CZK": {
+ "name": "செக் குடியரசு கொருனா"
+ },
+ "SHP": {
+ "name": "செயின்ட் ஹெலேனா பவுண்டு"
+ },
+ "RSD": {
+ "name": "செர்பியன் தினார்"
+ },
+ "SOS": {
+ "name": "சோமாலி ஷில்லிங்"
+ },
+ "TTD": {
+ "name": "டிரினிடாட் மற்றும் டோபாகோ டாலர்"
+ },
+ "DKK": {
+ "name": "டேனிஷ் க்ரோன்"
+ },
+ "DOP": {
+ "name": "டொமினிக்கன் பெசோ"
+ },
+ "TJS": {
+ "name": "தஜிகிஸ்தானி சோமோனி"
+ },
+ "THB": {
+ "name": "தாய் பாட்",
+ "symbol": "฿"
+ },
+ "TZS": {
+ "name": "தான்சானியன் ஷில்லிங்"
+ },
+ "TMT": {
+ "name": "துர்க்மெனிஸ்தானி மனத்"
+ },
+ "TRY": {
+ "name": "துருக்கிஷ் லீரா"
+ },
+ "TND": {
+ "name": "துனிஷியன் தினார்"
+ },
+ "SSP": {
+ "name": "தெற்கு சூடானீஸ் பவுண்டு"
+ },
+ "ZAR": {
+ "name": "தென் ஆப்ரிக்க ராண்ட்"
+ },
+ "KRW": {
+ "name": "தென் கொரிய வான்",
+ "symbol": "₩"
+ },
+ "TOP": {
+ "name": "தொங்கான் பங்கா"
+ },
+ "NAD": {
+ "name": "நமீபியன் டாலர்"
+ },
+ "NOK": {
+ "name": "நார்வேஜியன் க்ரோன்"
+ },
+ "NIO": {
+ "name": "நிகரகுவன் கோர்டோபா"
+ },
+ "NZD": {
+ "name": "நியூசிலாந்து டாலர்",
+ "symbol": "NZ$"
+ },
+ "ANG": {
+ "name": "நெதர்லேண்ட்ஸ் அன்டிலியன் கில்டர்"
+ },
+ "NPR": {
+ "name": "நேபாளீஸ் ரூபாய்"
+ },
+ "NGN": {
+ "name": "நைஜீரியன் நைரா"
+ },
+ "BDT": {
+ "name": "பங்களாதேஷி டாகா"
+ },
+ "PGK": {
+ "name": "பபுவா நியூ கினியன் கினா"
+ },
+ "PYG": {
+ "name": "பராகுவன் குவாரானி"
+ },
+ "BGN": {
+ "name": "பல்கேரியன் லேவ்"
+ },
+ "PAB": {
+ "name": "பனாமானியன் பால்போவா"
+ },
+ "BHD": {
+ "name": "பஹ்ரைனி தினார்"
+ },
+ "BSD": {
+ "name": "பஹாமியன் டாலர்"
+ },
+ "PKR": {
+ "name": "பாகிஸ்தானி ரூபாய்"
+ },
+ "BBD": {
+ "name": "பார்பேடியன் டாலர்"
+ },
+ "GBP": {
+ "name": "பிரிட்டிஷ் பவுண்டு",
+ "symbol": "£"
+ },
+ "BRL": {
+ "name": "பிரேசிலியன் ரியால்",
+ "symbol": "R$"
+ },
+ "PHP": {
+ "name": "பிலிப்பைன் பெசோ"
+ },
+ "TWD": {
+ "name": "புதிய தைவான் டாலர்",
+ "symbol": "NT$"
+ },
+ "BIF": {
+ "name": "புருண்டியன் ஃப்ராங்க்"
+ },
+ "BND": {
+ "name": "புரூனே டாலர்"
+ },
+ "BTN": {
+ "name": "பூட்டானீஸ் குல்ட்ரம்"
+ },
+ "BMD": {
+ "name": "பெர்முடன் டாலர்"
+ },
+ "PEN": {
+ "name": "பெரூவியன் சோல்"
+ },
+ "BYN": {
+ "name": "பெலருசியன் ரூபிள்"
+ },
+ "BYR": {
+ "name": "பெலருசியன் ரூபிள் (2000–2016)"
+ },
+ "BZD": {
+ "name": "பெலீஸ் டாலர்"
+ },
+ "BOB": {
+ "name": "பொலிவியன் பொலிவியானோ"
+ },
+ "BWP": {
+ "name": "போட்ஸ்வானன் புலா"
+ },
+ "PLN": {
+ "name": "போலிஷ் ஸ்லாட்டி"
+ },
+ "BAM": {
+ "name": "போஸ்னியா-ஹெர்ஸேகோவினா கன்வெர்டிபில் மார்க்"
+ },
+ "MNT": {
+ "name": "மங்கோலியன் டுக்ரிக்"
+ },
+ "XAF": {
+ "name": "மத்திய ஆப்பிரிக்க CFA ஃப்ராங்க்",
+ "symbol": "FCFA"
+ },
+ "MGA": {
+ "name": "மலகாசி ஏரியரி"
+ },
+ "MWK": {
+ "name": "மலாவியன் குவாச்சா"
+ },
+ "MYR": {
+ "name": "மலேஷியன் ரிங்கிட்"
+ },
+ "MKD": {
+ "name": "மாசிடோனியன் டேனார்"
+ },
+ "MDL": {
+ "name": "மால்டோவன் லியூ"
+ },
+ "MVR": {
+ "name": "மாலத்தீவு ருஃபியா"
+ },
+ "MMK": {
+ "name": "மியான்மர் கியாத்"
+ },
+ "MXN": {
+ "name": "மெக்ஸிகன் பெசோ",
+ "symbol": "MX$"
+ },
+ "MOP": {
+ "name": "மெகனீஸ் படாகா"
+ },
+ "XOF": {
+ "name": "மேற்கு ஆப்பிரிக்க CFA ஃப்ராங்க்",
+ "symbol": "CFA"
+ },
+ "MZN": {
+ "name": "மொசாம்பிகன் மெடிகல்"
+ },
+ "MAD": {
+ "name": "மொராக்கன் திர்ஹாம்"
+ },
+ "MRO": {
+ "name": "மொரிஷானியன் ஒகுயா"
+ },
+ "MUR": {
+ "name": "மொரீஷியன் ருபீ"
+ },
+ "EUR": {
+ "name": "யூரோ",
+ "symbol": "€"
+ },
+ "RUB": {
+ "name": "ரஷியன் ரூபிள்"
+ },
+ "RWF": {
+ "name": "ருவாண்டன் ஃப்ராங்க்"
+ },
+ "RON": {
+ "name": "ரோமானியன் லியூ"
+ },
+ "LAK": {
+ "name": "லவோஷியன் கிப்"
+ },
+ "LYD": {
+ "name": "லிபியன் தினார்"
+ },
+ "LSL": {
+ "name": "லெசோதோ லோட்டி"
+ },
+ "LBP": {
+ "name": "லெபனீஸ் பவுண்டு"
+ },
+ "LRD": {
+ "name": "லைபீரியன் டாலர்"
+ },
+ "KPW": {
+ "name": "வட கொரிய வான்"
+ },
+ "VUV": {
+ "name": "வனுவாட்டு வாட்டு"
+ },
+ "VND": {
+ "name": "வியட்நாமீஸ் டாங்",
+ "symbol": "₫"
+ },
+ "VEF": {
+ "name": "வெனிசுலன் போலிவர்"
+ },
+ "JPY": {
+ "name": "ஜப்பானிய யென்",
+ "symbol": "¥"
+ },
+ "JMD": {
+ "name": "ஜமைக்கன் டாலர்"
+ },
+ "GEL": {
+ "name": "ஜார்ஜியன் லாரி"
+ },
+ "GIP": {
+ "name": "ஜிப்ரால்டர் பவுண்டு"
+ },
+ "DJF": {
+ "name": "ஜிபவ்டியென் ஃப்ராங்க்"
+ },
+ "JOD": {
+ "name": "ஜோர்டானிய தினார்"
+ },
+ "SEK": {
+ "name": "ஸ்வீடிஷ் க்ரோனா"
+ },
+ "ZMW": {
+ "name": "ஸாம்பியன் குவாச்சா"
+ },
+ "HUF": {
+ "name": "ஹங்கேரியன் ஃபோரின்ட்"
+ },
+ "HKD": {
+ "name": "ஹாங்காங் டாலர்",
+ "symbol": "HK$"
+ },
+ "HTG": {
+ "name": "ஹைட்டியன் கோர்டே"
+ },
+ "HNL": {
+ "name": "ஹோன்டூரன் லெம்பீரா"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/te.json b/vendor/commerceguys/intl/resources/currency/te.json
new file mode 100644
index 000000000..06e18955a
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/te.json
@@ -0,0 +1,497 @@
+{
+ "AOA": {
+ "name": "అంగోలాన్ క్వాన్‌జా"
+ },
+ "AZN": {
+ "name": "అజర్బైజాన్ మానట్"
+ },
+ "AMD": {
+ "name": "అమెరికన్ డ్రామ్"
+ },
+ "USD": {
+ "name": "అమెరికా డాలర్",
+ "symbol": "$"
+ },
+ "AWG": {
+ "name": "అరుబన్ ఫ్లోరిన్"
+ },
+ "ARS": {
+ "name": "అర్జెంటీనా పెసో"
+ },
+ "DZD": {
+ "name": "అల్జీరియన్ దీనార్"
+ },
+ "AFN": {
+ "name": "ఆఫ్ఘాన్ ఆఫ్ఘాని"
+ },
+ "ALL": {
+ "name": "ఆల్బేనియన్ లేక్"
+ },
+ "AUD": {
+ "name": "ఆస్ట్రేలియన్ డాలర్",
+ "symbol": "A$"
+ },
+ "IDR": {
+ "name": "ఇండోనేషియా రూపాయి"
+ },
+ "ETB": {
+ "name": "ఇథియోపియన్ బర్"
+ },
+ "IQD": {
+ "name": "ఇరాకీ దీనార్"
+ },
+ "IRR": {
+ "name": "ఇరానియన్ రీయల్"
+ },
+ "EGP": {
+ "name": "ఈజిప్షియన్ పౌండ్"
+ },
+ "UAH": {
+ "name": "ఉక్రయినియన్ హ్రివ్‌నియా"
+ },
+ "UGX": {
+ "name": "ఉగాండన్ షిల్లింగ్"
+ },
+ "UZS": {
+ "name": "ఉజ్‌బెకిస్తాన్ సౌమ్"
+ },
+ "KPW": {
+ "name": "ఉత్తర కొరియా వోన్"
+ },
+ "UYU": {
+ "name": "ఉరుగ్వెయన్ పెసో"
+ },
+ "YER": {
+ "name": "ఎమునీ రీయల్"
+ },
+ "ERN": {
+ "name": "ఎరిట్రీన్ నక్ఫా"
+ },
+ "ILS": {
+ "name": "ఐరాయిలి న్యూ షెక్యెల్",
+ "symbol": "₪"
+ },
+ "ISK": {
+ "name": "ఐస్లాండిక్ క్రోనా"
+ },
+ "OMR": {
+ "name": "ఒమాని రీయల్"
+ },
+ "KHR": {
+ "name": "కాంబోడియన్ రీల్"
+ },
+ "KGS": {
+ "name": "కిర్గిస్థాని సౌమ్"
+ },
+ "KWD": {
+ "name": "కువైట్ దీనార్"
+ },
+ "CAD": {
+ "name": "కెనడియన్ డాలర్",
+ "symbol": "CA$"
+ },
+ "KES": {
+ "name": "కెన్యాన్ షిల్లింగ్"
+ },
+ "CVE": {
+ "name": "కేప్ వెర్డియన్ ఎస్కుడో"
+ },
+ "KYD": {
+ "name": "కేమాన్ దీవుల డాలర్"
+ },
+ "CDF": {
+ "name": "కొంగోలిస్ ఫ్రాంక్"
+ },
+ "KMF": {
+ "name": "కొమోరియన్ ఫ్రాంక్"
+ },
+ "COP": {
+ "name": "కొలంబియన్ పెసో"
+ },
+ "CRC": {
+ "name": "కోస్టా రికన్ కోలోన్"
+ },
+ "CUC": {
+ "name": "క్యూబన్ కన్వర్టబుల్ పెసో"
+ },
+ "CUP": {
+ "name": "క్యూబన్ పెసో"
+ },
+ "TWD": {
+ "name": "క్రొత్త తైవాన్ డాలర్",
+ "symbol": "NT$"
+ },
+ "HRK": {
+ "name": "క్రొయేషియన్ క్యూన"
+ },
+ "QAR": {
+ "name": "క్వాటరి రీయల్"
+ },
+ "KZT": {
+ "name": "ఖజికిస్థాన్ టెంగే"
+ },
+ "GMD": {
+ "name": "గాంబియన్ దలాసి"
+ },
+ "GHS": {
+ "name": "గానెయన్ సెడి"
+ },
+ "GYD": {
+ "name": "గుయనియాస్ డాలర్"
+ },
+ "GTQ": {
+ "name": "గ్యుటెమాలన్ క్వెట్‌జల్"
+ },
+ "GNF": {
+ "name": "గ్వినియన్ ఫ్రాంక్"
+ },
+ "CLP": {
+ "name": "చిలియన్ పెసో"
+ },
+ "CZK": {
+ "name": "చెక్ రిపబ్లిక్ కోరునా"
+ },
+ "CNY": {
+ "name": "చైనా దేశ యువాన్",
+ "symbol": "CN¥"
+ },
+ "JPY": {
+ "name": "జపాను దేశ యెస్",
+ "symbol": "JP¥"
+ },
+ "JMD": {
+ "name": "జమైకన్ డాలర్"
+ },
+ "ZMW": {
+ "name": "జాంబియన్ క్వాచా"
+ },
+ "GEL": {
+ "name": "జార్జియన్ లారి"
+ },
+ "DJF": {
+ "name": "జిబోటియన్ ఫ్రాంక్"
+ },
+ "GIP": {
+ "name": "జిబ్రల్‌టూర్ పౌండ్"
+ },
+ "JOD": {
+ "name": "జోర్‌డానియన్ దీనార్"
+ },
+ "TZS": {
+ "name": "టాంజానియన్ షిల్లింగ్"
+ },
+ "TOP": {
+ "name": "టోంగాన్ పాంʻగా"
+ },
+ "TTD": {
+ "name": "ట్రినిడాడ్ మరియు టొబాగో డాలర్"
+ },
+ "DKK": {
+ "name": "డానిష్ క్రోన్"
+ },
+ "DOP": {
+ "name": "డోమినికన్ పెసో"
+ },
+ "TJS": {
+ "name": "తజికిస్థాన్ సమోని"
+ },
+ "TND": {
+ "name": "తునీషియన్ దీనార్"
+ },
+ "TRY": {
+ "name": "తుర్కిష్ లిరా"
+ },
+ "TMT": {
+ "name": "తుర్క్‌మెనిస్థాని మనాట్"
+ },
+ "XCD": {
+ "name": "తూర్పు కరీబియన్ డాలర్",
+ "symbol": "EC$"
+ },
+ "THB": {
+ "name": "థాయ్ బాట్",
+ "symbol": "฿"
+ },
+ "ZAR": {
+ "name": "దక్షిణ ఆఫ్రికా ర్యాండ్"
+ },
+ "KRW": {
+ "name": "దక్షిణ కొరియా వోన్",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "దక్షిణ సుడానీస్ పౌండ్"
+ },
+ "NAD": {
+ "name": "నమిబియన్ డాలర్"
+ },
+ "NOK": {
+ "name": "నార్వేజీయన్ క్రోన్"
+ },
+ "NIO": {
+ "name": "నికరగ్యుయన్ కొర్‌డుబు"
+ },
+ "ANG": {
+ "name": "నెదర్లాండ్స్ యాంటిల్లియన్ గిల్‌డర్"
+ },
+ "NPR": {
+ "name": "నేపాలీయుల రూపాయి"
+ },
+ "NGN": {
+ "name": "నైజీరియన్ నైరా"
+ },
+ "NZD": {
+ "name": "న్యూజిలాండ్ డాలర్",
+ "symbol": "NZ$"
+ },
+ "PAB": {
+ "name": "పనామనియన్ బల్బోవ"
+ },
+ "PGK": {
+ "name": "పప్యూ న్యూ గ్యినియన్ కినా"
+ },
+ "PYG": {
+ "name": "పరగ్వాయన్ గ్వారని"
+ },
+ "XOF": {
+ "name": "పశ్చిమ ఆఫ్రికన్ సిఏఫ్ఏ ఫ్రాంక్",
+ "symbol": "CFA"
+ },
+ "PKR": {
+ "name": "పాకిస్థాన్ రూపాయి"
+ },
+ "PEN": {
+ "name": "పెరువియన్ న్యూవో సోల్"
+ },
+ "PLN": {
+ "name": "పోలిష్ జ్లోటీ"
+ },
+ "FKP": {
+ "name": "ఫాక్‌ల్యాండ్ దీవులు పౌండ్"
+ },
+ "PHP": {
+ "name": "ఫిలిప్పిన్ పెసో"
+ },
+ "FJD": {
+ "name": "ఫీజియన్ డాలర్"
+ },
+ "BBD": {
+ "name": "బర్బాడియన్ డాలర్"
+ },
+ "BGN": {
+ "name": "బల్గేరియన్ లేవ్"
+ },
+ "BSD": {
+ "name": "బహామియన్ డాలర్"
+ },
+ "BHD": {
+ "name": "బహ్రెయిన్ దినార్"
+ },
+ "BDT": {
+ "name": "బాంగ్లాదేశ్ టాకా"
+ },
+ "BIF": {
+ "name": "బురిండియన్ ఫ్రాంక్"
+ },
+ "BMD": {
+ "name": "బెర్ముడన్ డాలర్"
+ },
+ "BYN": {
+ "name": "బెలరూసియన్ రూబల్"
+ },
+ "BYR": {
+ "name": "బెలరూసియన్ రూబల్ (2000–2016)"
+ },
+ "BZD": {
+ "name": "బెలీజ్ డాలర్"
+ },
+ "BOB": {
+ "name": "బొలీవియన్ బొలీవియానో"
+ },
+ "BWP": {
+ "name": "బోట్స్‌వానా పులా"
+ },
+ "BAM": {
+ "name": "బోస్నియా-హెర్జగోవినా మార్పిడి చెయ్యగలిగే మార్క్"
+ },
+ "GBP": {
+ "name": "బ్రిటిష్ పౌండ్",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "బ్రూనై డాలర్"
+ },
+ "BRL": {
+ "name": "బ్రెజిలియన్ రియల్",
+ "symbol": "R$"
+ },
+ "BTN": {
+ "name": "భూటానీయుల గుల్‌ట్రుమ్"
+ },
+ "MNT": {
+ "name": "మంగోలియన్ టుగ్రిక్"
+ },
+ "MOP": {
+ "name": "మకనీస్ పటాక"
+ },
+ "MMK": {
+ "name": "మయన్మార్ క్యాట్"
+ },
+ "MGA": {
+ "name": "మలగసీ అరియరీ"
+ },
+ "MWK": {
+ "name": "మలావియన్ క్వాచా"
+ },
+ "MYR": {
+ "name": "మలేషియా రింగ్గిట్"
+ },
+ "MUR": {
+ "name": "మారిషన్ రూపాయి"
+ },
+ "MVR": {
+ "name": "మాల్దీవియన్ రుఫియా"
+ },
+ "MXN": {
+ "name": "మెక్సికన్ పెసో",
+ "symbol": "MX$"
+ },
+ "MKD": {
+ "name": "మెసిడోనియన్ దినార్"
+ },
+ "MZN": {
+ "name": "మొజాంబికన్ మెటికల్"
+ },
+ "MAD": {
+ "name": "మోరోకన్ దిర్హుమ్"
+ },
+ "MDL": {
+ "name": "మోల్‌డోవన్ ల్యూ"
+ },
+ "MRO": {
+ "name": "మౌరిటానియన్ ఒగ్యియా"
+ },
+ "AED": {
+ "name": "యునైటెడ్ ఆరబ్ ఎమిరేట్స్ దిరామ్"
+ },
+ "EUR": {
+ "name": "యురొ",
+ "symbol": "€"
+ },
+ "RUB": {
+ "name": "రష్యన్ రూబల్"
+ },
+ "INR": {
+ "name": "రూపాయి",
+ "symbol": "₹"
+ },
+ "RON": {
+ "name": "రోమానియాన్ లెయు"
+ },
+ "RWF": {
+ "name": "ర్వానడాన్ ఫ్రాంక్"
+ },
+ "LAK": {
+ "name": "లాటియన్ కిప్"
+ },
+ "LYD": {
+ "name": "లిబియన్ దీనార్"
+ },
+ "LRD": {
+ "name": "లిబేరియన్ డాలర్"
+ },
+ "LBP": {
+ "name": "లెబనీస్ పౌండ్"
+ },
+ "LSL": {
+ "name": "లెసోధో లోటి"
+ },
+ "VUV": {
+ "name": "వనాటు వటు"
+ },
+ "VND": {
+ "name": "వియత్నామీయుల డాంగ్",
+ "symbol": "₫"
+ },
+ "VEF": {
+ "name": "వెనుజులా బోలివర్"
+ },
+ "LKR": {
+ "name": "శ్రీలంక రూపాయి"
+ },
+ "WST": {
+ "name": "సమోయన్ తాలా"
+ },
+ "STD": {
+ "name": "సావో టోమ్ మరియు ప్రిన్సిపి డోబ్రా"
+ },
+ "XPF": {
+ "name": "సిఎఫ్‌పి ఫ్రాంక్",
+ "symbol": "CFPF"
+ },
+ "SGD": {
+ "name": "సింగపూర్ డాలర్"
+ },
+ "SYP": {
+ "name": "సిరీయన్ పౌండ్"
+ },
+ "SLL": {
+ "name": "సీయిరు లియోనియన్ లీయోన్"
+ },
+ "SDG": {
+ "name": "సుడానీస్ పౌండ్"
+ },
+ "SRD": {
+ "name": "సురినామీయుల డాలర్"
+ },
+ "XAF": {
+ "name": "సెంట్రల్ ఆఫ్రికన్ సిఎఫ్‌ఎ ఫ్రాంక్",
+ "symbol": "FCFA"
+ },
+ "SHP": {
+ "name": "సెయింట్ హెలెనా పౌండ్"
+ },
+ "SCR": {
+ "name": "సెయిచెల్లోయిస్ రూపాయి"
+ },
+ "RSD": {
+ "name": "సెర్బియన్ దీనార్"
+ },
+ "SOS": {
+ "name": "సొమాలి షిల్లింగ్"
+ },
+ "SBD": {
+ "name": "సోలోమన్ దీవుల డాలర్"
+ },
+ "SAR": {
+ "name": "సౌది రియల్"
+ },
+ "SZL": {
+ "name": "స్వాజి లిలాన్గేని"
+ },
+ "CHF": {
+ "name": "స్విస్ ఫ్రాంక్"
+ },
+ "SEK": {
+ "name": "స్వీడిష్ క్రోనా"
+ },
+ "HUF": {
+ "name": "హంగేరియన్ ఫోరిన్ట్"
+ },
+ "HKD": {
+ "name": "హాంకాంగ్ డాలర్",
+ "symbol": "HK$"
+ },
+ "HTG": {
+ "name": "హైటియన్ గ్వోర్డే"
+ },
+ "HNL": {
+ "name": "హోండురన్ లెమిపిరా"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/teo.json b/vendor/commerceguys/intl/resources/currency/teo.json
new file mode 100644
index 000000000..d90addc6e
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/teo.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "ZAR": {
+ "name": "Ango’otol lok’ Afrika Kusini"
+ },
+ "DZD": {
+ "name": "Ango’otol lok’ Aljeria"
+ },
+ "AOA": {
+ "name": "Ango’otol lok’ Angola"
+ },
+ "AUD": {
+ "name": "Ango’otol lok’ Australia",
+ "symbol": "A$"
+ },
+ "BHD": {
+ "name": "Ango’otol lok’ Bahareni"
+ },
+ "BWP": {
+ "name": "Ango’otol lok’ Botswana"
+ },
+ "MGA": {
+ "name": "Ango’otol lok’ Bukini"
+ },
+ "BIF": {
+ "name": "Ango’otol lok’ Burundi"
+ },
+ "XOF": {
+ "name": "Ango’otol lok’ CFA BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Ango’otol lok’ CFA BEAC",
+ "symbol": "FCFA"
+ },
+ "CNY": {
+ "name": "Ango’otol lok’ China",
+ "symbol": "CN¥"
+ },
+ "ERN": {
+ "name": "Ango’otol lok’ Eritrea"
+ },
+ "AED": {
+ "name": "Ango’otol lok’ Falme za Kiarabu"
+ },
+ "INR": {
+ "name": "Ango’otol lok’ India",
+ "symbol": "₹"
+ },
+ "DJF": {
+ "name": "Ango’otol lok’ Jibuti"
+ },
+ "KES": {
+ "name": "Ango’otol lok’ Kenya"
+ },
+ "CVE": {
+ "name": "Ango’otol lok’ Kepuvede"
+ },
+ "JPY": {
+ "name": "Ango’otol lok’ Kijapani",
+ "symbol": "JP¥"
+ },
+ "KMF": {
+ "name": "Ango’otol lok’ Komoro"
+ },
+ "CDF": {
+ "name": "Ango’otol lok’ Kongo"
+ },
+ "LSL": {
+ "name": "Ango’otol lok’ Lesoto"
+ },
+ "LYD": {
+ "name": "Ango’otol lok’ Libya"
+ },
+ "MWK": {
+ "name": "Ango’otol lok’ Malawi"
+ },
+ "MUR": {
+ "name": "Ango’otol lok’ Morisi"
+ },
+ "MRO": {
+ "name": "Ango’otol lok’ Moritania"
+ },
+ "MAD": {
+ "name": "Ango’otol lok’ Moroko"
+ },
+ "NAD": {
+ "name": "Ango’otol lok’ Namibia"
+ },
+ "NGN": {
+ "name": "Ango’otol lok’ Nijeria"
+ },
+ "RWF": {
+ "name": "Ango’otol lok’ Rwanda"
+ },
+ "SHP": {
+ "name": "Ango’otol lok’ Santahelena"
+ },
+ "STD": {
+ "name": "Ango’otol lok’ Sao Tome na Principe"
+ },
+ "SAR": {
+ "name": "Ango’otol lok’ Saudia"
+ },
+ "SCR": {
+ "name": "Ango’otol lok’ Shelisheli"
+ },
+ "SOS": {
+ "name": "Ango’otol lok’ Somalia"
+ },
+ "TZS": {
+ "name": "Ango’otol lok’ Tanzania"
+ },
+ "TND": {
+ "name": "Ango’otol lok’ Tunisia"
+ },
+ "UGX": {
+ "name": "Ango’otol lok’ Uganda",
+ "symbol": "USh"
+ },
+ "ETB": {
+ "name": "Ango’otol lok’ Uhabeshi"
+ },
+ "CHF": {
+ "name": "Ango’otol lok’ Uswisi"
+ },
+ "ZMW": {
+ "name": "Ango’otol lok’ Zambia"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Ruble"
+ },
+ "BYR": {
+ "name": "Belarusian Ruble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "GMD": {
+ "name": "Dalasi ya Gambia"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "USD": {
+ "name": "edola lok’ Amareka",
+ "symbol": "US$"
+ },
+ "LRD": {
+ "name": "edola lok’ Liberia"
+ },
+ "CAD": {
+ "name": "Edola lok’Kanada",
+ "symbol": "CA$"
+ },
+ "EGP": {
+ "name": "Epaunt lok’ Misri"
+ },
+ "SDG": {
+ "name": "Epaunt Lok’ Sudan"
+ },
+ "GBP": {
+ "name": "Epaunt lok’ Uingereza",
+ "symbol": "£"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "SLL": {
+ "name": "Leoni"
+ },
+ "SZL": {
+ "name": "Lilangeni"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Ruble"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "EUR": {
+ "name": "Yuro",
+ "symbol": "€"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/th.json b/vendor/commerceguys/intl/resources/currency/th.json
new file mode 100644
index 000000000..140f653b4
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/th.json
@@ -0,0 +1,496 @@
+{
+ "AOA": {
+ "name": "กวานซาแองโกลา"
+ },
+ "PYG": {
+ "name": "กวารานีปารากวัย"
+ },
+ "NIO": {
+ "name": "กอร์โดบานิการากัว"
+ },
+ "ANG": {
+ "name": "กิลเดอร์เนเธอร์แลนด์แอนทิลลิส"
+ },
+ "PGK": {
+ "name": "กีนาปาปัวนิวกินี"
+ },
+ "LAK": {
+ "name": "กีบลาว"
+ },
+ "HTG": {
+ "name": "กูร์ดเฮติ"
+ },
+ "CRC": {
+ "name": "โกลองคอสตาริกา"
+ },
+ "ZMW": {
+ "name": "ควาชาแซมเบีย"
+ },
+ "MWK": {
+ "name": "ควาชามาลาวี"
+ },
+ "HRK": {
+ "name": "คูนาโครเอเชีย"
+ },
+ "GTQ": {
+ "name": "เควตซัลกัวเตมาลา"
+ },
+ "DKK": {
+ "name": "โครนเดนมาร์ก"
+ },
+ "NOK": {
+ "name": "โครนนอร์เวย์"
+ },
+ "SEK": {
+ "name": "โครนาสวีเดน"
+ },
+ "ISK": {
+ "name": "โครนาไอซ์แลนด์"
+ },
+ "CZK": {
+ "name": "โครูนาสาธารณรัฐเช็ก"
+ },
+ "SVC": {
+ "name": "โคลอนเอลซัลวาดอร์"
+ },
+ "MMK": {
+ "name": "จ๊าตพม่า"
+ },
+ "KES": {
+ "name": "ชิลลิงเคนยา"
+ },
+ "SOS": {
+ "name": "ชิลลิงโซมาเลีย"
+ },
+ "TZS": {
+ "name": "ชิลลิงแทนซาเนีย"
+ },
+ "UGX": {
+ "name": "ชิลลิงยูกันดา"
+ },
+ "PLN": {
+ "name": "ซลอตีโปแลนด์"
+ },
+ "KGS": {
+ "name": "ซอมคีร์กีซสถาน"
+ },
+ "UZS": {
+ "name": "ซอมอุซเบกิสถาน"
+ },
+ "GHS": {
+ "name": "เซดีกานา"
+ },
+ "TJS": {
+ "name": "โซโมนิทาจิกิสถาน"
+ },
+ "VND": {
+ "name": "ดองเวียดนาม",
+ "symbol": "₫"
+ },
+ "STD": {
+ "name": "ดอบราเซาตูเมและปรินซิปี"
+ },
+ "GYD": {
+ "name": "ดอลลาร์กายอานา"
+ },
+ "CAD": {
+ "name": "ดอลลาร์แคนาดา",
+ "symbol": "CA$"
+ },
+ "XCD": {
+ "name": "ดอลลาร์แคริบเบียนตะวันออก",
+ "symbol": "EC$"
+ },
+ "JMD": {
+ "name": "ดอลลาร์จาเมกา"
+ },
+ "ZWL": {
+ "name": "ดอลลาร์ซิมบับเว (2009)"
+ },
+ "SRD": {
+ "name": "ดอลลาร์ซูรินาเม"
+ },
+ "TTD": {
+ "name": "ดอลลาร์ตรินิแดดและโตเบโก"
+ },
+ "TWD": {
+ "name": "ดอลลาร์ไต้หวันใหม่",
+ "symbol": "NT$"
+ },
+ "NAD": {
+ "name": "ดอลลาร์นามิเบีย"
+ },
+ "NZD": {
+ "name": "ดอลลาร์นิวซีแลนด์",
+ "symbol": "NZ$"
+ },
+ "BND": {
+ "name": "ดอลลาร์บรูไน"
+ },
+ "BBD": {
+ "name": "ดอลลาร์บาร์เบโดส"
+ },
+ "BSD": {
+ "name": "ดอลลาร์บาฮามาส"
+ },
+ "BZD": {
+ "name": "ดอลลาร์เบลีซ"
+ },
+ "BMD": {
+ "name": "ดอลลาร์เบอร์มิวดา"
+ },
+ "FJD": {
+ "name": "ดอลลาร์ฟิจิ"
+ },
+ "LRD": {
+ "name": "ดอลลาร์ไลบีเรีย"
+ },
+ "USD": {
+ "name": "ดอลลาร์สหรัฐ",
+ "symbol": "US$"
+ },
+ "SGD": {
+ "name": "ดอลลาร์สิงคโปร์"
+ },
+ "KYD": {
+ "name": "ดอลลาร์หมู่เกาะเคย์แมน"
+ },
+ "SBD": {
+ "name": "ดอลลาร์หมู่เกาะโซโลมอน"
+ },
+ "AUD": {
+ "name": "ดอลลาร์ออสเตรเลีย",
+ "symbol": "AU$"
+ },
+ "HKD": {
+ "name": "ดอลลาร์ฮ่องกง",
+ "symbol": "HK$"
+ },
+ "GMD": {
+ "name": "ดาลาซีแกมเบีย"
+ },
+ "KWD": {
+ "name": "ดีนาร์คูเวต"
+ },
+ "JOD": {
+ "name": "ดีนาร์จอร์แดน"
+ },
+ "RSD": {
+ "name": "ดีนาร์เซอร์เบีย"
+ },
+ "TND": {
+ "name": "ดีนาร์ตูนิเซีย"
+ },
+ "BHD": {
+ "name": "ดีนาร์บาห์เรน"
+ },
+ "MKD": {
+ "name": "ดีนาร์มาซิโดเนีย"
+ },
+ "LYD": {
+ "name": "ดีนาร์ลิเบีย"
+ },
+ "IQD": {
+ "name": "ดีนาร์อิรัก"
+ },
+ "DZD": {
+ "name": "ดีนาร์แอลจีเรีย"
+ },
+ "MAD": {
+ "name": "ดีแรห์มโมร็อกโก"
+ },
+ "AED": {
+ "name": "เดอร์แฮมสหรัฐอาหรับเอมิเรตส์"
+ },
+ "AMD": {
+ "name": "แดรมอาร์เมเนีย"
+ },
+ "BDT": {
+ "name": "ตากาบังกลาเทศ"
+ },
+ "WST": {
+ "name": "ทาลาซามัว"
+ },
+ "MNT": {
+ "name": "ทูกริกมองโกเลีย"
+ },
+ "KZT": {
+ "name": "เทงเจคาซัคสถาน"
+ },
+ "ILS": {
+ "name": "นิวเชเกลอิสราเอล",
+ "symbol": "₪"
+ },
+ "PEN": {
+ "name": "นูโวซอลเปรู"
+ },
+ "ERN": {
+ "name": "แนกฟาเอริเทรีย"
+ },
+ "NGN": {
+ "name": "ไนราไนจีเรีย"
+ },
+ "PAB": {
+ "name": "บัลบัวปานามา"
+ },
+ "THB": {
+ "name": "บาทไทย"
+ },
+ "ETB": {
+ "name": "เบอรร์เอธิโอเปีย"
+ },
+ "VEF": {
+ "name": "โบลิวาร์เวเนซุเอลา"
+ },
+ "BOB": {
+ "name": "โบลิเวียโนโบลิเวีย"
+ },
+ "SYP": {
+ "name": "ปอนด์ซีเรีย"
+ },
+ "SDG": {
+ "name": "ปอนด์ซูดาน"
+ },
+ "SSP": {
+ "name": "ปอนด์ซูดานใต้"
+ },
+ "SHP": {
+ "name": "ปอนด์เซนต์เฮเลนา"
+ },
+ "GIP": {
+ "name": "ปอนด์ยิบรอลตาร์"
+ },
+ "LBP": {
+ "name": "ปอนด์เลบานอน"
+ },
+ "GBP": {
+ "name": "ปอนด์สเตอร์ลิง (สหราชอาณาจักร)",
+ "symbol": "£"
+ },
+ "FKP": {
+ "name": "ปอนด์หมู่เกาะฟอล์กแลนด์"
+ },
+ "EGP": {
+ "name": "ปอนด์อียิปต์"
+ },
+ "MOP": {
+ "name": "ปาตากามาเก๊า"
+ },
+ "BWP": {
+ "name": "ปูลาบอตสวานา"
+ },
+ "CUP": {
+ "name": "เปโซคิวบา"
+ },
+ "CUC": {
+ "name": "เปโซคิวบา (แปลงสภาพ)"
+ },
+ "COP": {
+ "name": "เปโซโคลอมเบีย"
+ },
+ "CLP": {
+ "name": "เปโซชิลี"
+ },
+ "DOP": {
+ "name": "เปโซโดมินิกัน"
+ },
+ "PHP": {
+ "name": "เปโซฟิลิปปินส์"
+ },
+ "MXN": {
+ "name": "เปโซเม็กซิโก",
+ "symbol": "MX$"
+ },
+ "ARS": {
+ "name": "เปโซอาร์เจนตินา"
+ },
+ "UYU": {
+ "name": "เปโซอุรุกวัย"
+ },
+ "TOP": {
+ "name": "พาแองกาตองกา"
+ },
+ "GNF": {
+ "name": "ฟรังก์กินี"
+ },
+ "CDF": {
+ "name": "ฟรังก์คองโก"
+ },
+ "KMF": {
+ "name": "ฟรังก์คอโมโรส"
+ },
+ "DJF": {
+ "name": "ฟรังก์จิบูตี"
+ },
+ "XPF": {
+ "name": "ฟรังก์ซีเอฟพี",
+ "symbol": "CFPF"
+ },
+ "XOF": {
+ "name": "ฟรังก์เซฟาธนาคารกลางรัฐแอฟริกาตะวันตก",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "ฟรังก์เซฟาธนาคารรัฐแอฟริกากลาง",
+ "symbol": "FCFA"
+ },
+ "BIF": {
+ "name": "ฟรังก์บุรุนดี"
+ },
+ "RWF": {
+ "name": "ฟรังก์รวันดา"
+ },
+ "CHF": {
+ "name": "ฟรังก์สวิส"
+ },
+ "AWG": {
+ "name": "ฟลอรินอารูบา"
+ },
+ "HUF": {
+ "name": "ฟอรินต์ฮังการี"
+ },
+ "TMT": {
+ "name": "มานัตเติร์กเมนิสถาน"
+ },
+ "AZN": {
+ "name": "มานัตอาเซอร์ไบจาน"
+ },
+ "BAM": {
+ "name": "มาร์กบอสเนีย-เฮอร์เซโกวีนา"
+ },
+ "MZN": {
+ "name": "เมติคัลโมซัมบิก"
+ },
+ "EUR": {
+ "name": "ยูโร",
+ "symbol": "€"
+ },
+ "JPY": {
+ "name": "เยนญี่ปุ่น",
+ "symbol": "¥"
+ },
+ "MYR": {
+ "name": "ริงกิตมาเลเซีย"
+ },
+ "SAR": {
+ "name": "ริยัลซาอุดีอาระเบีย"
+ },
+ "BYN": {
+ "name": "รูเบิลเบลารุส"
+ },
+ "BYR": {
+ "name": "รูเบิลเบลารุส (2000–2016)"
+ },
+ "RUB": {
+ "name": "รูเบิลรัสเซีย"
+ },
+ "SCR": {
+ "name": "รูปีเซเชลส์"
+ },
+ "NPR": {
+ "name": "รูปีเนปาล"
+ },
+ "PKR": {
+ "name": "รูปีปากีสถาน"
+ },
+ "MUR": {
+ "name": "รูปีมอริเชียส"
+ },
+ "LKR": {
+ "name": "รูปีศรีลังกา"
+ },
+ "INR": {
+ "name": "รูปีอินเดีย",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "รูเปียห์อินโดนีเซีย"
+ },
+ "MVR": {
+ "name": "รูฟิยามัลดีฟส์"
+ },
+ "KHR": {
+ "name": "เรียลกัมพูชา"
+ },
+ "QAR": {
+ "name": "เรียลกาตาร์"
+ },
+ "BRL": {
+ "name": "เรียลบราซิล",
+ "symbol": "R$"
+ },
+ "YER": {
+ "name": "เรียลเยเมน"
+ },
+ "IRR": {
+ "name": "เรียลอิหร่าน"
+ },
+ "OMR": {
+ "name": "เรียลโอมาน"
+ },
+ "ZAR": {
+ "name": "แรนด์แอฟริกาใต้"
+ },
+ "GEL": {
+ "name": "ลารีจอร์เจีย"
+ },
+ "SZL": {
+ "name": "ลิลันเจนีสวาซิ"
+ },
+ "MDL": {
+ "name": "ลิวมอลโดวา"
+ },
+ "RON": {
+ "name": "ลิวโรมาเนีย"
+ },
+ "TRY": {
+ "name": "ลีราตุรกี"
+ },
+ "SLL": {
+ "name": "ลีโอนเซียร์ราลีโอน"
+ },
+ "ALL": {
+ "name": "เลกแอลเบเนีย"
+ },
+ "BGN": {
+ "name": "เลฟบัลแกเรีย"
+ },
+ "HNL": {
+ "name": "เลมปิราฮอนดูรัส"
+ },
+ "LSL": {
+ "name": "โลตีเลโซโท"
+ },
+ "KRW": {
+ "name": "วอนเกาหลีใต้",
+ "symbol": "₩"
+ },
+ "KPW": {
+ "name": "วอนเกาหลีเหนือ"
+ },
+ "VUV": {
+ "name": "วาตูวานูอาตู"
+ },
+ "CNY": {
+ "name": "หยวนจีน",
+ "symbol": "CN¥"
+ },
+ "AFN": {
+ "name": "อัฟกานิอัฟกานิสถาน"
+ },
+ "MGA": {
+ "name": "อาเรียรีมาลากาซี"
+ },
+ "MRO": {
+ "name": "อูกียามอริเตเนีย"
+ },
+ "BTN": {
+ "name": "เอ็งกุลตรัมภูฏาน"
+ },
+ "CVE": {
+ "name": "เอสคูโดเคปเวิร์ด"
+ },
+ "UAH": {
+ "name": "ฮรีฟเนียยูเครน"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/tk.json b/vendor/commerceguys/intl/resources/currency/tk.json
new file mode 100644
index 000000000..94cf5c9bf
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/tk.json
@@ -0,0 +1,494 @@
+{
+ "USD": {
+ "name": "ABŞ dollary",
+ "symbol": "US$"
+ },
+ "ALL": {
+ "name": "Alban leki"
+ },
+ "DZD": {
+ "name": "Aljir dinary"
+ },
+ "AOA": {
+ "name": "Angol kwanzasy"
+ },
+ "ARS": {
+ "name": "Argentin pesosy"
+ },
+ "AWG": {
+ "name": "Aruba florini"
+ },
+ "AUD": {
+ "name": "Awstraliýa dollary",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaýjan manaty"
+ },
+ "AED": {
+ "name": "BAE dirhemi"
+ },
+ "BSD": {
+ "name": "Bagama dollary"
+ },
+ "BHD": {
+ "name": "Bahreýn dinary"
+ },
+ "BDT": {
+ "name": "Bangladeş takasy"
+ },
+ "BBD": {
+ "name": "Barbados dollary"
+ },
+ "BZD": {
+ "name": "Beliz dollary"
+ },
+ "BYN": {
+ "name": "Belorus rubly"
+ },
+ "BYR": {
+ "name": "Belorus rubly (2000–2016)"
+ },
+ "BMD": {
+ "name": "Bermuda dollary"
+ },
+ "BGN": {
+ "name": "Bolgar lewy"
+ },
+ "BOB": {
+ "name": "Boliwiýa boliwianosy"
+ },
+ "BWP": {
+ "name": "Botswana pulasy"
+ },
+ "BRL": {
+ "name": "Brazil realy",
+ "symbol": "R$"
+ },
+ "BND": {
+ "name": "Bruneý dollary"
+ },
+ "BIF": {
+ "name": "Burundiý franky"
+ },
+ "BTN": {
+ "name": "Butan ngultrumy"
+ },
+ "CZK": {
+ "name": "Çeh kronasy"
+ },
+ "CLP": {
+ "name": "Çili pesosy"
+ },
+ "DKK": {
+ "name": "Daniýa kronasy"
+ },
+ "KPW": {
+ "name": "Demirgazyk Koreýa wony"
+ },
+ "DOP": {
+ "name": "Dominikan pesosy"
+ },
+ "ETB": {
+ "name": "Efiopiýa byry"
+ },
+ "ERN": {
+ "name": "Eritreýa nakfasy"
+ },
+ "AMD": {
+ "name": "Ermeni dramy"
+ },
+ "IRR": {
+ "name": "Eýran rialy"
+ },
+ "FJD": {
+ "name": "Fiji dollary"
+ },
+ "PHP": {
+ "name": "Filippin pesosy"
+ },
+ "FKP": {
+ "name": "Folklend adalarynyň funty"
+ },
+ "XPF": {
+ "name": "Fransuz ýuwaş umman franky",
+ "symbol": "CFPF"
+ },
+ "HTG": {
+ "name": "Gaitýan gurdy"
+ },
+ "GMD": {
+ "name": "Gambiýa dalasy"
+ },
+ "GHS": {
+ "name": "Gano sedisi"
+ },
+ "GYD": {
+ "name": "Gaýan dollary"
+ },
+ "KZT": {
+ "name": "Gazak teňňesi"
+ },
+ "GIP": {
+ "name": "Gibraltar funty"
+ },
+ "HNL": {
+ "name": "Gonduras lempirasy"
+ },
+ "HKD": {
+ "name": "Gonkong dollary",
+ "symbol": "HK$"
+ },
+ "GEL": {
+ "name": "Gruzin lari"
+ },
+ "XCD": {
+ "name": "Gündogar karib dollary",
+ "symbol": "EC$"
+ },
+ "ZAR": {
+ "name": "Günorta Afrika rendi"
+ },
+ "KRW": {
+ "name": "Günorta Koreýa wony",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "Günorta sudan funty"
+ },
+ "GTQ": {
+ "name": "Gwatemala ketsaly"
+ },
+ "GNF": {
+ "name": "Gwineý franky"
+ },
+ "KGS": {
+ "name": "Gyrgyz somy"
+ },
+ "INR": {
+ "name": "Hindi rupiýasy",
+ "symbol": "₹"
+ },
+ "HRK": {
+ "name": "Horwat kunasy"
+ },
+ "CNY": {
+ "name": "Hytaý ýuany",
+ "symbol": "CN¥"
+ },
+ "IDR": {
+ "name": "Indoneziýa rupiýasy"
+ },
+ "GBP": {
+ "name": "Iňlis funt sterlingi"
+ },
+ "JOD": {
+ "name": "Iordaniýa dinary"
+ },
+ "ISK": {
+ "name": "Islandiýa kronasy"
+ },
+ "DJF": {
+ "name": "Jibuti franky"
+ },
+ "CVE": {
+ "name": "Kabo-Werde eskudosy"
+ },
+ "KHR": {
+ "name": "Kamboja riýeli"
+ },
+ "CAD": {
+ "name": "Kanada dollary",
+ "symbol": "CA$"
+ },
+ "QAR": {
+ "name": "Katar rialy"
+ },
+ "KYD": {
+ "name": "Kaýman adalarynyň dollary"
+ },
+ "KES": {
+ "name": "Keniýa şillingi"
+ },
+ "SHP": {
+ "name": "Keramatly Ýelena adasynyň funty"
+ },
+ "XOF": {
+ "name": "KFA BCEAO franky",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "KFA BEAC franky",
+ "symbol": "FCFA"
+ },
+ "COP": {
+ "name": "Kolumbiýa pesosy"
+ },
+ "KMF": {
+ "name": "Komor adalar franky"
+ },
+ "CDF": {
+ "name": "Kongolez franky"
+ },
+ "BAM": {
+ "name": "Konwertirlenýän bosniýa we gersogowina markasy"
+ },
+ "CUC": {
+ "name": "Konwertirlenýän kuba pesosy"
+ },
+ "CRC": {
+ "name": "Kosta-Rika kolony"
+ },
+ "CUP": {
+ "name": "Kuba pesosy"
+ },
+ "KWD": {
+ "name": "Kuweýt dinary"
+ },
+ "LAK": {
+ "name": "Laos kipi"
+ },
+ "SLL": {
+ "name": "Leon"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LRD": {
+ "name": "Liberiýa dollary"
+ },
+ "LBP": {
+ "name": "Liwan funty"
+ },
+ "LYD": {
+ "name": "Liwiýa dinary"
+ },
+ "MOP": {
+ "name": "Makao patakasy"
+ },
+ "MKD": {
+ "name": "Makedon dinary"
+ },
+ "MGA": {
+ "name": "Malagasiý ariarisi"
+ },
+ "MWK": {
+ "name": "Malawi kwaçasy"
+ },
+ "MYR": {
+ "name": "Malaýziýa ringgiti"
+ },
+ "MVR": {
+ "name": "Maldiw rufiýasy"
+ },
+ "MAD": {
+ "name": "Marokka dirhamy"
+ },
+ "MUR": {
+ "name": "Mawrikiý rupiýasy"
+ },
+ "MRO": {
+ "name": "Mawritan ugiýasy"
+ },
+ "MXN": {
+ "name": "Meksikan pesosy",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldaw leýi"
+ },
+ "MNT": {
+ "name": "Mongol tugrigi"
+ },
+ "MZN": {
+ "name": "Mozambik metikal"
+ },
+ "EGP": {
+ "name": "Müsür funty"
+ },
+ "MMK": {
+ "name": "Mýanma kýaty"
+ },
+ "NAD": {
+ "name": "Namibiýa dollary"
+ },
+ "NPR": {
+ "name": "Nepal rupiýasy"
+ },
+ "ANG": {
+ "name": "Niderland antil guldeni"
+ },
+ "NGN": {
+ "name": "Nigeriýa naýrasy"
+ },
+ "NIO": {
+ "name": "Nikaragua kordobasy"
+ },
+ "NOK": {
+ "name": "Norwegiýa kronasy"
+ },
+ "OMR": {
+ "name": "Oman rialy"
+ },
+ "AFN": {
+ "name": "Owgan afganisi"
+ },
+ "UZS": {
+ "name": "Özbek somy"
+ },
+ "PKR": {
+ "name": "Päkistan rupiýasy"
+ },
+ "PAB": {
+ "name": "Panama balboasy"
+ },
+ "PGK": {
+ "name": "Papua — Täze Gwineýa kinasy"
+ },
+ "PYG": {
+ "name": "Paragwaý guarani"
+ },
+ "PLN": {
+ "name": "Polýak zloty"
+ },
+ "RON": {
+ "name": "Rumyn leýi"
+ },
+ "RUB": {
+ "name": "Rus rubly"
+ },
+ "RWF": {
+ "name": "Rwanda franky"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoa talasy"
+ },
+ "STD": {
+ "name": "San-Tome we Prinsipi dobrasy"
+ },
+ "SAR": {
+ "name": "Saud rialy"
+ },
+ "RSD": {
+ "name": "Serb dinary"
+ },
+ "SCR": {
+ "name": "Seýşel rupiýasy"
+ },
+ "SGD": {
+ "name": "Singapur dollary"
+ },
+ "SYP": {
+ "name": "Siriýa funty"
+ },
+ "SBD": {
+ "name": "Solomon adalarynyň dollary"
+ },
+ "SOS": {
+ "name": "Somali şilingi"
+ },
+ "LKR": {
+ "name": "Şri-Lanka rupiýasy"
+ },
+ "SDG": {
+ "name": "Sudan funty"
+ },
+ "SRD": {
+ "name": "Surinam dollary"
+ },
+ "SZL": {
+ "name": "Swazi lilangeni"
+ },
+ "SEK": {
+ "name": "Şwed kronasy"
+ },
+ "CHF": {
+ "name": "Şweýsar franky"
+ },
+ "TJS": {
+ "name": "Täjik somonisy"
+ },
+ "TZS": {
+ "name": "Tanzaniýa şilingi"
+ },
+ "THB": {
+ "name": "Taýland baty"
+ },
+ "PEN": {
+ "name": "Täze peru soly"
+ },
+ "TWD": {
+ "name": "Täze Taýwan dollary",
+ "symbol": "NT$"
+ },
+ "ILS": {
+ "name": "Täze Ysraýyl şekeli",
+ "symbol": "₪"
+ },
+ "NZD": {
+ "name": "Täze Zelandiýa dollary",
+ "symbol": "NZ$"
+ },
+ "TOP": {
+ "name": "Tonga paangasy"
+ },
+ "TTD": {
+ "name": "Trininad we Tobago dollary"
+ },
+ "TND": {
+ "name": "Tunis dinary"
+ },
+ "TRY": {
+ "name": "Türk lirasy"
+ },
+ "TMT": {
+ "name": "Türkmen manaty"
+ },
+ "UGX": {
+ "name": "Uganda şilingi"
+ },
+ "UAH": {
+ "name": "Ukrain griwnasy"
+ },
+ "UYU": {
+ "name": "Urugwaý pesosy"
+ },
+ "VUV": {
+ "name": "Wanuatu watusy"
+ },
+ "VEF": {
+ "name": "Wenezuela boliwary"
+ },
+ "HUF": {
+ "name": "Wenger forinty"
+ },
+ "VND": {
+ "name": "Wýetnam dongy",
+ "symbol": "₫"
+ },
+ "JMD": {
+ "name": "Ýamaýka dollary"
+ },
+ "JPY": {
+ "name": "Ýapon ýeni",
+ "symbol": "JP¥"
+ },
+ "YER": {
+ "name": "Ýemen rialy"
+ },
+ "EUR": {
+ "name": "Ýewro"
+ },
+ "IQD": {
+ "name": "Yrak dinary"
+ },
+ "ZMW": {
+ "name": "Zambiýa kwaçasy"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/tr.json b/vendor/commerceguys/intl/resources/currency/tr.json
new file mode 100644
index 000000000..5a0557814
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/tr.json
@@ -0,0 +1,498 @@
+{
+ "USD": {
+ "name": "ABD Doları",
+ "symbol": "$"
+ },
+ "AFN": {
+ "name": "Afganistan Afganisi"
+ },
+ "AOA": {
+ "name": "Angola Kvanzası"
+ },
+ "ARS": {
+ "name": "Arjantin Pesosu"
+ },
+ "ALL": {
+ "name": "Arnavutluk Leki"
+ },
+ "AWG": {
+ "name": "Aruba Florini"
+ },
+ "AUD": {
+ "name": "Avustralya Doları",
+ "symbol": "AU$"
+ },
+ "AZN": {
+ "name": "Azerbaycan Manatı"
+ },
+ "BSD": {
+ "name": "Bahama Doları"
+ },
+ "BHD": {
+ "name": "Bahreyn Dinarı"
+ },
+ "BDT": {
+ "name": "Bangladeş Takası"
+ },
+ "BBD": {
+ "name": "Barbados Doları"
+ },
+ "BZD": {
+ "name": "Belize Doları"
+ },
+ "BMD": {
+ "name": "Bermuda Doları"
+ },
+ "BYN": {
+ "name": "Beyaz Rusya Rublesi"
+ },
+ "BYR": {
+ "name": "Beyaz Rusya Rublesi (2000–2016)"
+ },
+ "BTN": {
+ "name": "Bhutan Ngultrumu"
+ },
+ "AED": {
+ "name": "Birleşik Arap Emirlikleri Dirhemi"
+ },
+ "BOB": {
+ "name": "Bolivya Bolivyanosu"
+ },
+ "BWP": {
+ "name": "Botsvana Pulası"
+ },
+ "BRL": {
+ "name": "Brezilya Reali",
+ "symbol": "R$"
+ },
+ "BND": {
+ "name": "Brunei Doları"
+ },
+ "BGN": {
+ "name": "Bulgar Levası"
+ },
+ "BIF": {
+ "name": "Burundi Frangı"
+ },
+ "CVE": {
+ "name": "Cape Verde Esküdosu"
+ },
+ "KYD": {
+ "name": "Cayman Adaları Doları"
+ },
+ "GIP": {
+ "name": "Cebelitarık Lirası"
+ },
+ "DZD": {
+ "name": "Cezayir Dinarı"
+ },
+ "XOF": {
+ "name": "CFA Frangı BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "CFA Frangı BEAC",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Frangı",
+ "symbol": "CFPF"
+ },
+ "DJF": {
+ "name": "Cibuti Frangı"
+ },
+ "CZK": {
+ "name": "Çek Cumhuriyeti Korunası"
+ },
+ "CNY": {
+ "name": "Çin Yuanı",
+ "symbol": "CN¥"
+ },
+ "DKK": {
+ "name": "Danimarka Kronu"
+ },
+ "XCD": {
+ "name": "Doğu Karayip Doları",
+ "symbol": "EC$"
+ },
+ "DOP": {
+ "name": "Dominik Pesosu"
+ },
+ "SVC": {
+ "name": "El Salvador Kolonu"
+ },
+ "IDR": {
+ "name": "Endonezya Rupiahı"
+ },
+ "ERN": {
+ "name": "Eritre Nakfası"
+ },
+ "AMD": {
+ "name": "Ermenistan Dramı"
+ },
+ "ETB": {
+ "name": "Etiyopya Birri"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Adaları Lirası"
+ },
+ "MAD": {
+ "name": "Fas Dirhemi"
+ },
+ "FJD": {
+ "name": "Fiji Doları"
+ },
+ "PHP": {
+ "name": "Filipinler Pesosu"
+ },
+ "GMD": {
+ "name": "Gambiya Dalasisi"
+ },
+ "GHS": {
+ "name": "Gana Sedisi"
+ },
+ "GNF": {
+ "name": "Gine Frangı"
+ },
+ "GTQ": {
+ "name": "Guatemala Quetzalı"
+ },
+ "GYD": {
+ "name": "Guyana Doları"
+ },
+ "ZAR": {
+ "name": "Güney Afrika Randı"
+ },
+ "KRW": {
+ "name": "Güney Kore Wonu",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "Güney Sudan Lirası"
+ },
+ "GEL": {
+ "name": "Gürcistan Larisi"
+ },
+ "HTG": {
+ "name": "Haiti Gurdu"
+ },
+ "HRK": {
+ "name": "Hırvatistan Kunası"
+ },
+ "INR": {
+ "name": "Hindistan Rupisi",
+ "symbol": "₹"
+ },
+ "ANG": {
+ "name": "Hollanda Antilleri Guldeni"
+ },
+ "HNL": {
+ "name": "Honduras Lempirası"
+ },
+ "HKD": {
+ "name": "Hong Kong Doları",
+ "symbol": "HK$"
+ },
+ "IQD": {
+ "name": "Irak Dinarı"
+ },
+ "GBP": {
+ "name": "İngiliz Sterlini",
+ "symbol": "£"
+ },
+ "IRR": {
+ "name": "İran Riyali"
+ },
+ "SEK": {
+ "name": "İsveç Kronu"
+ },
+ "CHF": {
+ "name": "İsviçre Frangı"
+ },
+ "ISK": {
+ "name": "İzlanda Kronu"
+ },
+ "JMD": {
+ "name": "Jamaika Doları"
+ },
+ "JPY": {
+ "name": "Japon Yeni",
+ "symbol": "¥"
+ },
+ "KHR": {
+ "name": "Kamboçya Rieli"
+ },
+ "CAD": {
+ "name": "Kanada Doları",
+ "symbol": "CA$"
+ },
+ "QAR": {
+ "name": "Katar Riyali"
+ },
+ "KZT": {
+ "name": "Kazakistan Tengesi"
+ },
+ "KES": {
+ "name": "Kenya Şilini"
+ },
+ "KGS": {
+ "name": "Kırgızistan Somu"
+ },
+ "COP": {
+ "name": "Kolombiya Pesosu"
+ },
+ "KMF": {
+ "name": "Komorlar Frangı"
+ },
+ "CDF": {
+ "name": "Kongo Frangı"
+ },
+ "BAM": {
+ "name": "Konvertibl Bosna Hersek Markı"
+ },
+ "CUC": {
+ "name": "Konvertibl Küba Pesosu"
+ },
+ "CRC": {
+ "name": "Kosta Rika Kolonu"
+ },
+ "KWD": {
+ "name": "Kuveyt Dinarı"
+ },
+ "KPW": {
+ "name": "Kuzey Kore Wonu"
+ },
+ "CUP": {
+ "name": "Küba Pesosu"
+ },
+ "LAK": {
+ "name": "Laos Kipi"
+ },
+ "LSL": {
+ "name": "Lesotho Lotisi"
+ },
+ "LRD": {
+ "name": "Liberya Doları"
+ },
+ "LYD": {
+ "name": "Libya Dinarı"
+ },
+ "LBP": {
+ "name": "Lübnan Lirası"
+ },
+ "HUF": {
+ "name": "Macar Forinti"
+ },
+ "MGA": {
+ "name": "Madagaskar Ariarisi"
+ },
+ "MOP": {
+ "name": "Makao Patakası"
+ },
+ "MKD": {
+ "name": "Makedonya Dinarı"
+ },
+ "MWK": {
+ "name": "Malavi Kvaçası"
+ },
+ "MVR": {
+ "name": "Maldiv Rufiyaası"
+ },
+ "MYR": {
+ "name": "Malezya Ringgiti"
+ },
+ "MUR": {
+ "name": "Mauritius Rupisi"
+ },
+ "MXN": {
+ "name": "Meksika Pesosu",
+ "symbol": "MX$"
+ },
+ "EGP": {
+ "name": "Mısır Lirası"
+ },
+ "MNT": {
+ "name": "Moğolistan Tugriki"
+ },
+ "MDL": {
+ "name": "Moldova Leyi"
+ },
+ "MRO": {
+ "name": "Moritanya Ouguiyası"
+ },
+ "MZN": {
+ "name": "Mozambik Metikali"
+ },
+ "MMK": {
+ "name": "Myanmar Kyatı"
+ },
+ "NAD": {
+ "name": "Namibya Doları"
+ },
+ "NPR": {
+ "name": "Nepal Rupisi"
+ },
+ "NGN": {
+ "name": "Nijerya Nairası"
+ },
+ "NIO": {
+ "name": "Nikaragua Kordobası"
+ },
+ "NOK": {
+ "name": "Norveç Kronu"
+ },
+ "UZS": {
+ "name": "Özbekistan Somu"
+ },
+ "PKR": {
+ "name": "Pakistan Rupisi"
+ },
+ "PAB": {
+ "name": "Panama Balboası"
+ },
+ "PGK": {
+ "name": "Papua Yeni Gine Kinası"
+ },
+ "PYG": {
+ "name": "Paraguay Guaranisi"
+ },
+ "PEN": {
+ "name": "Peru Nuevo Solü"
+ },
+ "PLN": {
+ "name": "Polonya Zlotisi"
+ },
+ "RON": {
+ "name": "Romen Leyi"
+ },
+ "RWF": {
+ "name": "Ruanda Frangı"
+ },
+ "RUB": {
+ "name": "Rus Rublesi"
+ },
+ "SHP": {
+ "name": "Saint Helena Lirası"
+ },
+ "WST": {
+ "name": "Samoa Talası"
+ },
+ "STD": {
+ "name": "São Tomé ve Príncipe Dobrası"
+ },
+ "SCR": {
+ "name": "Seyşeller Rupisi"
+ },
+ "RSD": {
+ "name": "Sırp Dinarı"
+ },
+ "SLL": {
+ "name": "Sierra Leone Leonesi"
+ },
+ "SGD": {
+ "name": "Singapur Doları"
+ },
+ "SBD": {
+ "name": "Solomon Adaları Doları"
+ },
+ "SOS": {
+ "name": "Somali Şilini"
+ },
+ "LKR": {
+ "name": "Sri Lanka Rupisi"
+ },
+ "SDG": {
+ "name": "Sudan Lirası"
+ },
+ "SRD": {
+ "name": "Surinam Doları"
+ },
+ "SYP": {
+ "name": "Suriye Lirası"
+ },
+ "SAR": {
+ "name": "Suudi Arabistan Riyali"
+ },
+ "SZL": {
+ "name": "Svaziland Lilangenisi"
+ },
+ "CLP": {
+ "name": "Şili Pesosu"
+ },
+ "TJS": {
+ "name": "Tacikistan Somonisi"
+ },
+ "TZS": {
+ "name": "Tanzanya Şilini"
+ },
+ "THB": {
+ "name": "Tayland Bahtı",
+ "symbol": "฿"
+ },
+ "TOP": {
+ "name": "Tonga Paʻangası"
+ },
+ "TTD": {
+ "name": "Trinidad ve Tobago Doları"
+ },
+ "TND": {
+ "name": "Tunus Dinarı"
+ },
+ "TRY": {
+ "name": "Türk Lirası",
+ "symbol": "₺"
+ },
+ "TMT": {
+ "name": "Türkmenistan Manatı"
+ },
+ "UGX": {
+ "name": "Uganda Şilini"
+ },
+ "UAH": {
+ "name": "Ukrayna Grivnası"
+ },
+ "OMR": {
+ "name": "Umman Riyali"
+ },
+ "UYU": {
+ "name": "Uruguay Pesosu"
+ },
+ "JOD": {
+ "name": "Ürdün Dinarı"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatusu"
+ },
+ "VEF": {
+ "name": "Venezuela Bolivarı"
+ },
+ "VND": {
+ "name": "Vietnam Dongu",
+ "symbol": "₫"
+ },
+ "YER": {
+ "name": "Yemen Riyali"
+ },
+ "ILS": {
+ "name": "Yeni İsrail Şekeli",
+ "symbol": "₪"
+ },
+ "TWD": {
+ "name": "Yeni Tayvan Doları",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "Yeni Zelanda Doları",
+ "symbol": "NZ$"
+ },
+ "ZMW": {
+ "name": "Zambiya Kvaçası"
+ },
+ "ZWL": {
+ "name": "Zimbabve Doları (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/twq.json b/vendor/commerceguys/intl/resources/currency/twq.json
new file mode 100644
index 000000000..fddc77db1
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/twq.json
@@ -0,0 +1,496 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "DZD": {
+ "name": "Alžeeri Dinar"
+ },
+ "USD": {
+ "name": "Ameriki Dollar",
+ "symbol": "US$"
+ },
+ "AOA": {
+ "name": "Angoola Kwanza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "Bahareen Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Ruble"
+ },
+ "BYR": {
+ "name": "Belarusian Ruble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswaana Pund"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "Britin Pund",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundi Fraŋ"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XOF": {
+ "name": "CFA Fraŋ (BCEAO)",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "CFA Fraŋ (BEAC)",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "ETB": {
+ "name": "Ecioopi Birr"
+ },
+ "EUR": {
+ "name": "Eero",
+ "symbol": "€"
+ },
+ "ERN": {
+ "name": "Eritree Nafka"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambi Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "ZAR": {
+ "name": "Hawasa Afriki Rand"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "INR": {
+ "name": "Indu Rupii",
+ "symbol": "₹"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JPY": {
+ "name": "Jaapoŋ Yen",
+ "symbol": "JP¥"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "DJF": {
+ "name": "Jibuuti Fraŋ"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "CAD": {
+ "name": "Kanaada Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Kapuver Escudo"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Keeniya Šiiliŋ"
+ },
+ "KMF": {
+ "name": "Komoor Fraŋ"
+ },
+ "CDF": {
+ "name": "Kongo Fraŋ"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "AED": {
+ "name": "Laaraw Immaara Margantey Dirham"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "SLL": {
+ "name": "Leeon"
+ },
+ "LSL": {
+ "name": "Leezoto Loti"
+ },
+ "LRD": {
+ "name": "Liberia Dollar"
+ },
+ "LYD": {
+ "name": "Liibi Dinar"
+ },
+ "SZL": {
+ "name": "Lilangeni"
+ },
+ "MAD": {
+ "name": "Maarok Dirham"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MWK": {
+ "name": "Malaawi Kwaca"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MGA": {
+ "name": "Malgaaši Fraŋ"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "EGP": {
+ "name": "Misra Pund"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MUR": {
+ "name": "Mooris Rupii"
+ },
+ "MRO": {
+ "name": "Mooritaani Ugiya"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NGN": {
+ "name": "Naajiriya Neera"
+ },
+ "NAD": {
+ "name": "Naamibi Dollar"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "AUD": {
+ "name": "Ostraali Dollar",
+ "symbol": "A$"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Ruble"
+ },
+ "RWF": {
+ "name": "Rwanda Fraŋ"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "Sao Tome nda Prinsipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudiya Riyal"
+ },
+ "SCR": {
+ "name": "Seešel Rupii"
+ },
+ "SHP": {
+ "name": "Seŋ Helena Fraŋ"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "CNY": {
+ "name": "Sinwa Yuan Renminbi",
+ "symbol": "CN¥"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somaali Šiiliŋ"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SDG": {
+ "name": "Suudaŋ Dinar"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swisu Fraŋ"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzaani Šiiliŋ"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunizi Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Uganda Šiiliŋ"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambi Kwaca"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/tzm.json b/vendor/commerceguys/intl/resources/currency/tzm.json
new file mode 100644
index 000000000..3015bb7c7
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/tzm.json
@@ -0,0 +1,496 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "MGA": {
+ "name": "Aryari Umalɣaci"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Ruble"
+ },
+ "BYR": {
+ "name": "Belarusian Ruble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "ETB": {
+ "name": "Birr Uyityuppi"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "UGX": {
+ "name": "Cilin Uɣandi (1966–1987)"
+ },
+ "SOS": {
+ "name": "Cilin Uṣumali"
+ },
+ "TZS": {
+ "name": "Cilin Uṭanzani"
+ },
+ "KES": {
+ "name": "Cillin Ukini"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "GMD": {
+ "name": "Dalasi Agambi"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "MAD": {
+ "name": "Derhem Umeṛṛuki"
+ },
+ "AED": {
+ "name": "Derhem Uymarati"
+ },
+ "BHD": {
+ "name": "Ḍinar Ubaḥrayni"
+ },
+ "DZD": {
+ "name": "Ḍinar Udzayri"
+ },
+ "LYD": {
+ "name": "Ḍinar Ulibi"
+ },
+ "TND": {
+ "name": "Ḍinar Utunsi"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "STD": {
+ "name": "Dubra Usawṭumi"
+ },
+ "CAD": {
+ "name": "Ḍular Ukanadi",
+ "symbol": "CA$"
+ },
+ "LRD": {
+ "name": "Ḍular Ulibiri"
+ },
+ "USD": {
+ "name": "Ḍular Umirikani",
+ "symbol": "US$"
+ },
+ "NAD": {
+ "name": "Ḍular Unamibi"
+ },
+ "AUD": {
+ "name": "Ḍular Usṭrali",
+ "symbol": "A$"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "XOF": {
+ "name": "Frank CFA (BCEAO)",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Frank CFA (BEAC)",
+ "symbol": "FCFA"
+ },
+ "BIF": {
+ "name": "Frank Uburundi"
+ },
+ "DJF": {
+ "name": "Frank Uğibuti"
+ },
+ "CDF": {
+ "name": "Frank Ukunguli"
+ },
+ "KMF": {
+ "name": "Frank Uqumuri"
+ },
+ "RWF": {
+ "name": "Frank Urwandi"
+ },
+ "CHF": {
+ "name": "Frank Uswisri"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "CVE": {
+ "name": "Iskudu Ukabuvirdyani"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "GBP": {
+ "name": "Junih Ubriṭani",
+ "symbol": "£"
+ },
+ "EGP": {
+ "name": "Junih Umiṣṛi"
+ },
+ "SHP": {
+ "name": "Junih Usantehilini"
+ },
+ "SDG": {
+ "name": "Junih Usudani"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "MWK": {
+ "name": "Kwača Umalawi"
+ },
+ "ZMW": {
+ "name": "Kwača Uzambi"
+ },
+ "AOA": {
+ "name": "Kwanza Unguli"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "SZL": {
+ "name": "Lilanjini Uswazi"
+ },
+ "LSL": {
+ "name": "Luti Ulusuṭi"
+ },
+ "SLL": {
+ "name": "Lyun Usirralyuni"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "ERN": {
+ "name": "Nakfa Uyritri"
+ },
+ "NGN": {
+ "name": "Nayra Unijiri"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "BWP": {
+ "name": "Pula Ubutswani"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "ZAR": {
+ "name": "Rand Ufriki Unzul"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "INR": {
+ "name": "Rupi Uḥindi",
+ "symbol": "₹"
+ },
+ "MUR": {
+ "name": "Rupi Umurisi"
+ },
+ "SCR": {
+ "name": "Rupi Usicili"
+ },
+ "RUB": {
+ "name": "Russian Ruble"
+ },
+ "SAR": {
+ "name": "Ryal Usaεudi"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "MRO": {
+ "name": "Uqiyya Umuritani"
+ },
+ "EUR": {
+ "name": "Uṛu",
+ "symbol": "€"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "JPY": {
+ "name": "Yann Ujappuni",
+ "symbol": "JP¥"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "CNY": {
+ "name": "Ywan Renminbi Ucinwi",
+ "symbol": "CN¥"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/ug.json b/vendor/commerceguys/intl/resources/currency/ug.json
new file mode 100644
index 000000000..4d5bb7d97
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/ug.json
@@ -0,0 +1,496 @@
+{
+ "ARS": {
+ "name": "ئارگېنتىنا پېسوسى"
+ },
+ "AWG": {
+ "name": "ئارۇبان فىلورۇنى"
+ },
+ "XAF": {
+ "name": "ئافرىقا قىتئەسى پۇل-مۇئامىلە ئىتتىپاقى فرانكى",
+ "symbol": "FCFA"
+ },
+ "XOF": {
+ "name": "ئافرىقا قىتئەسى پۇل-مۇئامىلە ئىتتىپاقى فرانكى (BCEAO)",
+ "symbol": "CFA"
+ },
+ "AFN": {
+ "name": "ئافغان ئافغانى"
+ },
+ "ALL": {
+ "name": "ئالبانىيە لېكى"
+ },
+ "DZD": {
+ "name": "ئالجىرىيە دىنارى"
+ },
+ "USD": {
+ "name": "ئامېرىكا دوللىرى",
+ "symbol": "$"
+ },
+ "AOA": {
+ "name": "ئانگولا كۇۋانزاسى"
+ },
+ "AUD": {
+ "name": "ئاۋسترالىيە دوللىرى",
+ "symbol": "A$"
+ },
+ "MOP": {
+ "name": "ئاۋمېن پاتاكاسى"
+ },
+ "AED": {
+ "name": "ئەرەب بىرلەشمە خەلىپىلىكى دەرھەمى"
+ },
+ "AMD": {
+ "name": "ئەرمېنىيە دىرامى"
+ },
+ "AZN": {
+ "name": "ئەزەربەيجان ماناتى"
+ },
+ "GBP": {
+ "name": "ئەنگلىيە فوند سىتېرلىڭى",
+ "symbol": "£"
+ },
+ "OMR": {
+ "name": "ئومان رىيالى"
+ },
+ "UYU": {
+ "name": "ئۇرۇگۋاي پېسوسى"
+ },
+ "UAH": {
+ "name": "ئۇكرائىنا خرىۋناسى"
+ },
+ "UGX": {
+ "name": "ئۇگاندا شىللىڭى"
+ },
+ "UZS": {
+ "name": "ئۆزبېكىستان سومى"
+ },
+ "ERN": {
+ "name": "ئېرىترېيە ناكفاسى"
+ },
+ "ETB": {
+ "name": "ئېفىيوپىيە بىررى"
+ },
+ "IQD": {
+ "name": "ئىراق دىنارى"
+ },
+ "IRR": {
+ "name": "ئىران رىيالى"
+ },
+ "ILS": {
+ "name": "ئىسرائىل يېڭى شېكېلى",
+ "symbol": "₪"
+ },
+ "ISK": {
+ "name": "ئىسلاندىيە كروناسى"
+ },
+ "JOD": {
+ "name": "ئىيوردانىيە دىنارى"
+ },
+ "BBD": {
+ "name": "باربادوس دوللىرى"
+ },
+ "BDT": {
+ "name": "باڭلادىش تاكاسى"
+ },
+ "BSD": {
+ "name": "باھاما دوللىرى"
+ },
+ "BHD": {
+ "name": "بەھرەين دىنارى"
+ },
+ "BWP": {
+ "name": "بوتسۋانا پۇلاسى"
+ },
+ "BAM": {
+ "name": "بوسنىيە-خېرتسېگوۋىنا ئالماشتۇرۇشچان ماركى"
+ },
+ "BOB": {
+ "name": "بولىۋىيە بولىۋىيانوسى"
+ },
+ "BTN": {
+ "name": "بۇتان نگۇلترۇمى"
+ },
+ "BIF": {
+ "name": "بۇرۇندى فرانكى"
+ },
+ "BGN": {
+ "name": "بۇلغارىيە لېۋاسى"
+ },
+ "BMD": {
+ "name": "بېرمۇدا دوللىرى"
+ },
+ "BYN": {
+ "name": "بېلارۇسىيە رۇبلىسى"
+ },
+ "BYR": {
+ "name": "بېلارۇسىيە رۇبلىسى (۲۰۰۰–۲۰۱۶)"
+ },
+ "BZD": {
+ "name": "بېلىز دوللىرى"
+ },
+ "BRL": {
+ "name": "بىرازىلىيە رىيالى",
+ "symbol": "R$"
+ },
+ "BND": {
+ "name": "بىرۇنېي دوللىرى"
+ },
+ "PGK": {
+ "name": "پاپۇئا يېڭى گىۋىنېيە كىناسى"
+ },
+ "PYG": {
+ "name": "پاراگۋاي گۇئارانىسى"
+ },
+ "PKR": {
+ "name": "پاكىستان رۇپىسى"
+ },
+ "PAB": {
+ "name": "پاناما بالبوئاسى"
+ },
+ "PLN": {
+ "name": "پولشا زىلوتى"
+ },
+ "PEN": {
+ "name": "پېرۇ يېڭى سولى"
+ },
+ "TJS": {
+ "name": "تاجىكىستان سومونىسى"
+ },
+ "TZS": {
+ "name": "تانزانىيە شىللىڭى"
+ },
+ "THB": {
+ "name": "تايلاند باختى"
+ },
+ "TOP": {
+ "name": "تونگا پائانگاسى"
+ },
+ "TND": {
+ "name": "تۇنىس دىنارى"
+ },
+ "TMT": {
+ "name": "تۈركمەنىستان ماناتى"
+ },
+ "TRY": {
+ "name": "تۈركىيە لىراسى"
+ },
+ "TTD": {
+ "name": "تىرىنىداد ۋە توباگو دوللىرى"
+ },
+ "XPF": {
+ "name": "تىنچ ئوكيان پۇل-مۇئامىلە ئورتاق گەۋدىسى فرانكى",
+ "symbol": "CFPF"
+ },
+ "GIP": {
+ "name": "جەبىلتارىق فوند سىتېرلىڭى"
+ },
+ "ZAR": {
+ "name": "جەنۇبىي ئافرىقا راندى"
+ },
+ "SSP": {
+ "name": "جەنۇبىي سۇدان فوندستېرلىڭى"
+ },
+ "KRW": {
+ "name": "جەنۇبىي كورېيە ۋونى",
+ "symbol": "₩"
+ },
+ "CNY": {
+ "name": "جۇڭگو يۈەنى",
+ "symbol": "¥"
+ },
+ "DJF": {
+ "name": "جىبۇتى فرانكى"
+ },
+ "CZK": {
+ "name": "چېخ جۇمھۇرىيىتى كورۇناسى"
+ },
+ "CLP": {
+ "name": "چىلى پېسوسى"
+ },
+ "DKK": {
+ "name": "دانىيە كرونى"
+ },
+ "DOP": {
+ "name": "دومىنىكا پېسوسى"
+ },
+ "RUB": {
+ "name": "رۇسىيە رۇبلىسى"
+ },
+ "RON": {
+ "name": "رۇمىنىيە لېيى"
+ },
+ "RWF": {
+ "name": "رۋاندا فرانكى"
+ },
+ "ZMW": {
+ "name": "زامبىيە كۋاچاسى"
+ },
+ "ZWL": {
+ "name": "زىمبابۋې دوللىرى (2009)"
+ },
+ "SVC": {
+ "name": "سالۋادور كولونى"
+ },
+ "WST": {
+ "name": "ساموئا تالاسى"
+ },
+ "STD": {
+ "name": "سان-تومې ۋە پىرىنسىپى دوبراسى"
+ },
+ "SHP": {
+ "name": "ساينىت-ھېلېنا فوندستېرلىڭى"
+ },
+ "SAR": {
+ "name": "سەئۇدى رىيالى"
+ },
+ "SBD": {
+ "name": "سولومون ئاراللىرى دوللىرى"
+ },
+ "SOS": {
+ "name": "سومالى شىللىڭى"
+ },
+ "SDG": {
+ "name": "سۇدان فوندستېرلىڭى"
+ },
+ "SRD": {
+ "name": "سۇرىنام دوللىرى"
+ },
+ "SYP": {
+ "name": "سۈرىيە فوندستېرلىڭى"
+ },
+ "RSD": {
+ "name": "سېربىيە دىنارى"
+ },
+ "SLL": {
+ "name": "سېررالېئون لېئونېسى"
+ },
+ "SCR": {
+ "name": "سېيشېل رۇپىسى"
+ },
+ "LKR": {
+ "name": "سىرىلانكا رۇپىسى"
+ },
+ "SGD": {
+ "name": "سىنگاپور دوللىرى"
+ },
+ "SZL": {
+ "name": "سىۋېزىلاند لىلانگېنى"
+ },
+ "XCD": {
+ "name": "شەرقىي كارىب دوللىرى",
+ "symbol": "EC$"
+ },
+ "KPW": {
+ "name": "شىمالىي كورېيە ۋونى"
+ },
+ "CHF": {
+ "name": "شىۋېتسىيە فرانكى"
+ },
+ "SEK": {
+ "name": "شىۋېتسىيە كروناسى"
+ },
+ "HKD": {
+ "name": "شياڭگاڭ دوللىرى",
+ "symbol": "HK$"
+ },
+ "FKP": {
+ "name": "فالكلاند ئاراللىرى فوند سىتېرلىڭى"
+ },
+ "FJD": {
+ "name": "فىجى دوللىرى"
+ },
+ "PHP": {
+ "name": "فىلىپپىن پېسوسى"
+ },
+ "QAR": {
+ "name": "قاتار رىيالى"
+ },
+ "KZT": {
+ "name": "قازاقىستان تەڭگىسى"
+ },
+ "KGS": {
+ "name": "قىرغىزىستان سومى"
+ },
+ "KHR": {
+ "name": "كامبودژا رىئېلى"
+ },
+ "CAD": {
+ "name": "كانادا دوللىرى",
+ "symbol": "CA$"
+ },
+ "KYD": {
+ "name": "كايمان ئاراللىرى دوللىرى"
+ },
+ "CRC": {
+ "name": "كوستارىكا كولونى"
+ },
+ "COP": {
+ "name": "كولومبىيە پېسوسى"
+ },
+ "KMF": {
+ "name": "كومورو فرانكى"
+ },
+ "CDF": {
+ "name": "كونگو فرانكى"
+ },
+ "CUC": {
+ "name": "كۇبا ئالماشتۇرۇشچان پېسوسى"
+ },
+ "CUP": {
+ "name": "كۇبا پېسوسى"
+ },
+ "KWD": {
+ "name": "كۇۋەيت دىنارى"
+ },
+ "KES": {
+ "name": "كېنىيە شىللىڭى"
+ },
+ "HRK": {
+ "name": "كىرودىيە كۇناسى"
+ },
+ "GMD": {
+ "name": "گامبىيە دالاسى"
+ },
+ "GHS": {
+ "name": "گانا سېدىسى"
+ },
+ "ANG": {
+ "name": "گوللاندىيەگە قاراشلىق ئانتىللېن گۇلدېنى"
+ },
+ "GEL": {
+ "name": "گىرۇزىيە لارىسى"
+ },
+ "GTQ": {
+ "name": "گىۋاتېمالا كۇۋېتزالى"
+ },
+ "GYD": {
+ "name": "گىۋىئانا دوللىرى"
+ },
+ "GNF": {
+ "name": "گىۋىنېيە فرانكى"
+ },
+ "LAK": {
+ "name": "لائوس كىپى"
+ },
+ "LSL": {
+ "name": "لېسوتو لوتىسى"
+ },
+ "LRD": {
+ "name": "لىبېرىيە دوللىرى"
+ },
+ "LBP": {
+ "name": "لىۋان فوند سىتېرلىڭى"
+ },
+ "LYD": {
+ "name": "لىۋىيە دىنارى"
+ },
+ "MGA": {
+ "name": "ماداغاسقار ئارىئارىسى"
+ },
+ "MAD": {
+ "name": "ماراكەش دىرھەمى"
+ },
+ "MKD": {
+ "name": "ماكېدونىيە دىنارى"
+ },
+ "MWK": {
+ "name": "مالاۋى كۋاچاسى"
+ },
+ "MYR": {
+ "name": "مالايشىيا رىڭگىتى"
+ },
+ "MVR": {
+ "name": "مالدىۋى رۇفىياسى"
+ },
+ "MRO": {
+ "name": "ماۋرىتانىيە ئۇگىيەسى"
+ },
+ "MUR": {
+ "name": "ماۋرىتىئۇس رۇپىسى"
+ },
+ "MZN": {
+ "name": "موزامبىك مېتىكالى"
+ },
+ "MNT": {
+ "name": "موڭغۇلىيە تۈگرىكى"
+ },
+ "MDL": {
+ "name": "مولدوۋا لېۋى"
+ },
+ "MXN": {
+ "name": "مېكسىكا پېسوسى",
+ "symbol": "MX$"
+ },
+ "EGP": {
+ "name": "مىسىر فوند سىتېرلىڭى"
+ },
+ "MMK": {
+ "name": "مىيانمار كىياتى"
+ },
+ "NAD": {
+ "name": "نامىبىيە دوللىرى"
+ },
+ "NOK": {
+ "name": "نورۋېگىيە كرونى"
+ },
+ "NPR": {
+ "name": "نېپال رۇپىسى"
+ },
+ "NIO": {
+ "name": "نىگېرىيە كوردوباسى"
+ },
+ "NGN": {
+ "name": "نىگېرىيە نايراسى"
+ },
+ "HTG": {
+ "name": "ھايتى گۇردېسى"
+ },
+ "HNL": {
+ "name": "ھوندۇراس لېمپىراسى"
+ },
+ "IDR": {
+ "name": "ھىندونېزىيە رۇپىيەسى"
+ },
+ "INR": {
+ "name": "ھىندىستان رۇپىسى",
+ "symbol": "₹"
+ },
+ "VUV": {
+ "name": "ۋانۇئاتۇ ۋاتۇسى"
+ },
+ "HUF": {
+ "name": "ۋېنگىرىيە فورېنتى"
+ },
+ "VEF": {
+ "name": "ۋېنېزۇئېلا بولىۋارى"
+ },
+ "VND": {
+ "name": "ۋىيېتنام دوڭى",
+ "symbol": "₫"
+ },
+ "JPY": {
+ "name": "ياپونىيە يېنى",
+ "symbol": "JP¥"
+ },
+ "JMD": {
+ "name": "يامايكا دوللىرى"
+ },
+ "EUR": {
+ "name": "ياۋرو",
+ "symbol": "€"
+ },
+ "YER": {
+ "name": "يەمەن رىيالى"
+ },
+ "CVE": {
+ "name": "يېشىل تۇمشۇق ئېسكۇدوسى"
+ },
+ "TWD": {
+ "name": "يېڭى تەيۋەن دوللىرى",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "يېڭى زېلاندىيە دوللىرى",
+ "symbol": "NZ$"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/uk.json b/vendor/commerceguys/intl/resources/currency/uk.json
new file mode 100644
index 000000000..9695c269d
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/uk.json
@@ -0,0 +1,481 @@
+{
+ "AUD": {
+ "name": "австралійський долар"
+ },
+ "AZN": {
+ "name": "азербайджанський манат"
+ },
+ "ALL": {
+ "name": "албанський лек"
+ },
+ "DZD": {
+ "name": "алжирський динар"
+ },
+ "GBP": {
+ "name": "англійський фунт"
+ },
+ "AOA": {
+ "name": "ангольська кванза"
+ },
+ "ARS": {
+ "name": "аргентинський песо"
+ },
+ "AWG": {
+ "name": "арубський флорин"
+ },
+ "AFN": {
+ "name": "афганський афгані"
+ },
+ "BSD": {
+ "name": "багамський долар"
+ },
+ "BDT": {
+ "name": "бангладеська така"
+ },
+ "BBD": {
+ "name": "барбадоський долар"
+ },
+ "BHD": {
+ "name": "бахрейнський динар"
+ },
+ "BZD": {
+ "name": "белізький долар"
+ },
+ "BMD": {
+ "name": "бермудський долар"
+ },
+ "BYN": {
+ "name": "білоруський рубль"
+ },
+ "BYR": {
+ "name": "білоруський рубль (2000–2016)"
+ },
+ "BGN": {
+ "name": "болгарський лев"
+ },
+ "BOB": {
+ "name": "болівійський болівіано"
+ },
+ "BWP": {
+ "name": "ботсванська пула"
+ },
+ "BRL": {
+ "name": "бразильський реал"
+ },
+ "BND": {
+ "name": "брунейський долар"
+ },
+ "BIF": {
+ "name": "бурундійський франк"
+ },
+ "BTN": {
+ "name": "бутанський нгултрум"
+ },
+ "VUV": {
+ "name": "вануатський вату"
+ },
+ "VEF": {
+ "name": "венесуельський болівар"
+ },
+ "AMD": {
+ "name": "вірменський драм"
+ },
+ "VND": {
+ "name": "вʼєтнамський донг"
+ },
+ "HTG": {
+ "name": "гаїтянський гурд"
+ },
+ "GMD": {
+ "name": "гамбійський даласі"
+ },
+ "GHS": {
+ "name": "ганський седі"
+ },
+ "GYD": {
+ "name": "гаянський долар"
+ },
+ "GTQ": {
+ "name": "гватемальський кетсаль"
+ },
+ "GNF": {
+ "name": "гвінейський франк"
+ },
+ "GIP": {
+ "name": "гібралтарський фунт"
+ },
+ "HNL": {
+ "name": "гондураська лемпіра"
+ },
+ "HKD": {
+ "name": "гонконгський долар"
+ },
+ "GEL": {
+ "name": "грузинський ларі"
+ },
+ "DKK": {
+ "name": "данська крона"
+ },
+ "DJF": {
+ "name": "джибутійський франк"
+ },
+ "AED": {
+ "name": "дирхам ОАЕ"
+ },
+ "STD": {
+ "name": "добра Сан-Томе і Принсіпі"
+ },
+ "KYD": {
+ "name": "долар Кайманових островів"
+ },
+ "SBD": {
+ "name": "долар Соломонових Островів"
+ },
+ "USD": {
+ "name": "долар США"
+ },
+ "TTD": {
+ "name": "долар Тринідаду і Тобаго"
+ },
+ "DOP": {
+ "name": "домініканський песо"
+ },
+ "ERN": {
+ "name": "еритрейська накфа"
+ },
+ "CVE": {
+ "name": "ескудо Кабо-Верде"
+ },
+ "ETB": {
+ "name": "ефіопський бир"
+ },
+ "EUR": {
+ "name": "євро"
+ },
+ "EGP": {
+ "name": "єгипетський фунт"
+ },
+ "YER": {
+ "name": "єменський ріал"
+ },
+ "ZMW": {
+ "name": "замбійська квача"
+ },
+ "XOF": {
+ "name": "західноафриканський франк",
+ "symbol": "CFA"
+ },
+ "ZWL": {
+ "name": "зімбабвійський долар (2009)"
+ },
+ "ILS": {
+ "name": "ізраїльський новий шекель"
+ },
+ "INR": {
+ "name": "індійська рупія"
+ },
+ "IDR": {
+ "name": "індонезійська рупія"
+ },
+ "IQD": {
+ "name": "іракський динар"
+ },
+ "IRR": {
+ "name": "іранський ріал"
+ },
+ "ISK": {
+ "name": "ісландська крона"
+ },
+ "JOD": {
+ "name": "йорданський динар"
+ },
+ "KZT": {
+ "name": "казахстанський тенге"
+ },
+ "KHR": {
+ "name": "камбоджійський рієль"
+ },
+ "CAD": {
+ "name": "канадський долар"
+ },
+ "QAR": {
+ "name": "катарський ріал"
+ },
+ "KES": {
+ "name": "кенійський шилінг"
+ },
+ "KGS": {
+ "name": "киргизький сом"
+ },
+ "CNY": {
+ "name": "китайський юань"
+ },
+ "PGK": {
+ "name": "кіна Папуа Нової Гвінеї"
+ },
+ "COP": {
+ "name": "колумбійський песо"
+ },
+ "KMF": {
+ "name": "коморський франк"
+ },
+ "BAM": {
+ "name": "конвертована марка Боснії і Герцеговини"
+ },
+ "CDF": {
+ "name": "конголезький франк"
+ },
+ "CRC": {
+ "name": "костариканський колон"
+ },
+ "CUC": {
+ "name": "кубинський конвертований песо"
+ },
+ "CUP": {
+ "name": "кубинський песо"
+ },
+ "KWD": {
+ "name": "кувейтський динар"
+ },
+ "MMK": {
+ "name": "кʼят Мʼянми"
+ },
+ "LAK": {
+ "name": "лаоський кіп"
+ },
+ "SLL": {
+ "name": "леоне Сьєрра-Леоне"
+ },
+ "LSL": {
+ "name": "лесотський лоті"
+ },
+ "LRD": {
+ "name": "ліберійський долар"
+ },
+ "LBP": {
+ "name": "ліванський фунт"
+ },
+ "LYD": {
+ "name": "лівійський динар"
+ },
+ "MUR": {
+ "name": "маврикійська рупія"
+ },
+ "MRO": {
+ "name": "мавританська угія"
+ },
+ "MKD": {
+ "name": "македонський денар"
+ },
+ "MWK": {
+ "name": "малавійська квача"
+ },
+ "MGA": {
+ "name": "малагасійський аріарі"
+ },
+ "MYR": {
+ "name": "малайзійський рингіт"
+ },
+ "MVR": {
+ "name": "мальдівська руфія"
+ },
+ "MAD": {
+ "name": "марокканський дирхам"
+ },
+ "MXN": {
+ "name": "мексиканський песо"
+ },
+ "MZN": {
+ "name": "мозамбіцький метикал"
+ },
+ "MDL": {
+ "name": "молдовський лей"
+ },
+ "MNT": {
+ "name": "монгольський тугрик"
+ },
+ "NAD": {
+ "name": "намібійський долар"
+ },
+ "NPR": {
+ "name": "непальська рупія"
+ },
+ "NGN": {
+ "name": "нігерійська найра"
+ },
+ "ANG": {
+ "name": "нідерландський антильський гульден"
+ },
+ "NIO": {
+ "name": "нікарагуанська кордоба"
+ },
+ "TWD": {
+ "name": "новий тайванський долар"
+ },
+ "NZD": {
+ "name": "новозеландський долар"
+ },
+ "NOK": {
+ "name": "норвезька крона"
+ },
+ "OMR": {
+ "name": "оманський ріал"
+ },
+ "PKR": {
+ "name": "пакистанська рупія"
+ },
+ "PAB": {
+ "name": "панамська бальбоа"
+ },
+ "PYG": {
+ "name": "парагвайський гуарані"
+ },
+ "MOP": {
+ "name": "патака Макао"
+ },
+ "PEN": {
+ "name": "перуанський новий сол"
+ },
+ "ZAR": {
+ "name": "південноафриканський ранд"
+ },
+ "KRW": {
+ "name": "південнокорейський вон"
+ },
+ "SSP": {
+ "name": "південносуданський фунт"
+ },
+ "KPW": {
+ "name": "північнокорейський вон"
+ },
+ "PLN": {
+ "name": "польський злотий"
+ },
+ "RUB": {
+ "name": "російський рубль"
+ },
+ "RWF": {
+ "name": "руандійський франк"
+ },
+ "RON": {
+ "name": "румунський лей"
+ },
+ "SVC": {
+ "name": "сальвадорський колон"
+ },
+ "WST": {
+ "name": "самоанська тала"
+ },
+ "SAR": {
+ "name": "саудівський ріал"
+ },
+ "SZL": {
+ "name": "свазілендський лілангені"
+ },
+ "SCR": {
+ "name": "сейшельська рупія"
+ },
+ "RSD": {
+ "name": "сербський динар"
+ },
+ "SYP": {
+ "name": "сирійський фунт"
+ },
+ "SGD": {
+ "name": "сінгапурський долар"
+ },
+ "SOS": {
+ "name": "сомалійський шилінг"
+ },
+ "SDG": {
+ "name": "суданський фунт"
+ },
+ "SRD": {
+ "name": "суринамський долар"
+ },
+ "XCD": {
+ "name": "східнокарибський долар"
+ },
+ "TJS": {
+ "name": "таджицький сомоні"
+ },
+ "THB": {
+ "name": "таїландський бат"
+ },
+ "TZS": {
+ "name": "танзанійський шилінг"
+ },
+ "TOP": {
+ "name": "тонганська паанга"
+ },
+ "TND": {
+ "name": "туніський динар"
+ },
+ "TRY": {
+ "name": "турецька ліра"
+ },
+ "TMT": {
+ "name": "туркменський манат"
+ },
+ "UGX": {
+ "name": "угандійський шилінг"
+ },
+ "HUF": {
+ "name": "угорський форинт"
+ },
+ "UZS": {
+ "name": "узбецький сум"
+ },
+ "UAH": {
+ "name": "українська гривня",
+ "symbol": "₴"
+ },
+ "UYU": {
+ "name": "уругвайський песо"
+ },
+ "FJD": {
+ "name": "фіджійський долар"
+ },
+ "PHP": {
+ "name": "філіппінський песо"
+ },
+ "XPF": {
+ "name": "французький тихоокеанський франк",
+ "symbol": "CFPF"
+ },
+ "SHP": {
+ "name": "фунт острова Святої Єлени"
+ },
+ "FKP": {
+ "name": "фунт Фолклендських островів"
+ },
+ "HRK": {
+ "name": "хорватська куна"
+ },
+ "XAF": {
+ "name": "центральноафриканський франк",
+ "symbol": "FCFA"
+ },
+ "CZK": {
+ "name": "чеська крона"
+ },
+ "CLP": {
+ "name": "чилійський песо"
+ },
+ "SEK": {
+ "name": "шведська крона"
+ },
+ "CHF": {
+ "name": "швейцарський франк"
+ },
+ "LKR": {
+ "name": "шрі-ланкійська рупія"
+ },
+ "JMD": {
+ "name": "ямайський долар"
+ },
+ "JPY": {
+ "name": "японська єна",
+ "symbol": "¥"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/ur-IN.json b/vendor/commerceguys/intl/resources/currency/ur-IN.json
new file mode 100644
index 000000000..bf269bfd7
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/ur-IN.json
@@ -0,0 +1,497 @@
+{
+ "ARS": {
+ "name": "ارجنٹائن پیسہ"
+ },
+ "JOD": {
+ "name": "اردنی دینار"
+ },
+ "AWG": {
+ "name": "اروبن فلورِن"
+ },
+ "ERN": {
+ "name": "اریٹیریائی ناکفا"
+ },
+ "UZS": {
+ "name": "ازبکستان سوم"
+ },
+ "ILS": {
+ "name": "اسرائیلی نیا شیکل",
+ "symbol": "₪"
+ },
+ "AFN": {
+ "name": "افغان افغانی"
+ },
+ "ALL": {
+ "name": "البانیا کا لیک"
+ },
+ "DZD": {
+ "name": "الجیریائی دینار"
+ },
+ "USD": {
+ "name": "امریکی ڈالر",
+ "symbol": "$"
+ },
+ "IDR": {
+ "name": "انڈونیشین روپیہ"
+ },
+ "AOA": {
+ "name": "انگولا کا کوانزا"
+ },
+ "ETB": {
+ "name": "ایتھوپیائی بِرّ"
+ },
+ "IRR": {
+ "name": "ایرانی ریال"
+ },
+ "AZN": {
+ "name": "آذربائجانی منات"
+ },
+ "AMD": {
+ "name": "آرمینیائی ڈرم"
+ },
+ "AUD": {
+ "name": "آسٹریلین ڈالر",
+ "symbol": "A$"
+ },
+ "ISK": {
+ "name": "آئس لينڈی کرونا"
+ },
+ "BBD": {
+ "name": "باربیڈین ڈالر"
+ },
+ "BHD": {
+ "name": "بحرینی دینار"
+ },
+ "BRL": {
+ "name": "برازیلی ریئل",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "برطانوی پاونڈ سٹرلنگ",
+ "symbol": "£"
+ },
+ "BMD": {
+ "name": "برموڈا ڈالر"
+ },
+ "BIF": {
+ "name": "برونڈیئن فرانک"
+ },
+ "BND": {
+ "name": "برونئی ڈالر"
+ },
+ "BGN": {
+ "name": "بلغارین لیو"
+ },
+ "BDT": {
+ "name": "بنگلہ دیشی ٹکا"
+ },
+ "BWP": {
+ "name": "بوتسوانا کا پولا"
+ },
+ "BAM": {
+ "name": "بوسنیا ہرزیگووینا کا قابل منتقلی نشان"
+ },
+ "BOB": {
+ "name": "بولیوین بولیویانو"
+ },
+ "BSD": {
+ "name": "بہامانی ڈالر"
+ },
+ "BYN": {
+ "name": "بیلاروسی روبل"
+ },
+ "BYR": {
+ "name": "بیلاروسی روبل (۲۰۰۰–۲۰۱۶)"
+ },
+ "BZD": {
+ "name": "بیلائز ڈالر"
+ },
+ "INR": {
+ "name": "بھارتی روپیہ",
+ "symbol": "₹"
+ },
+ "BTN": {
+ "name": "بھوٹانی گُلٹرم"
+ },
+ "PGK": {
+ "name": "پاپوآ نیو گنی کا کینا"
+ },
+ "PKR": {
+ "name": "پاکستانی روپیہ"
+ },
+ "PAB": {
+ "name": "پنامہ کا بالبوآ"
+ },
+ "PLN": {
+ "name": "پولش زلوٹی"
+ },
+ "PYG": {
+ "name": "پیراگوئے کا گوآرنی"
+ },
+ "PEN": {
+ "name": "پیروین نیووسول"
+ },
+ "TJS": {
+ "name": "تاجکستانی سومونی"
+ },
+ "TMT": {
+ "name": "ترکمانستانی منات"
+ },
+ "TRY": {
+ "name": "ترکی لیرا"
+ },
+ "TTD": {
+ "name": "ترینیداد اور ٹوباگو کا ڈالر"
+ },
+ "TZS": {
+ "name": "تنزانیائی شلنگ"
+ },
+ "TND": {
+ "name": "تیونیسیائی دینار"
+ },
+ "THB": {
+ "name": "تھائی باہت",
+ "symbol": "฿"
+ },
+ "TOP": {
+ "name": "ٹونگن پانگا"
+ },
+ "JPY": {
+ "name": "جاپانی ین",
+ "symbol": "JP¥"
+ },
+ "GEL": {
+ "name": "جارجیائی لاری"
+ },
+ "GIP": {
+ "name": "جبل الطارق پونڈ"
+ },
+ "DJF": {
+ "name": "جبوتی فرانک"
+ },
+ "JMD": {
+ "name": "جمائیکن ڈالر"
+ },
+ "CZK": {
+ "name": "جمہوریہ چیک کرونا"
+ },
+ "ZAR": {
+ "name": "جنوبی افریقی رانڈ"
+ },
+ "SSP": {
+ "name": "جنوبی سوڈانی پاؤنڈ"
+ },
+ "KRW": {
+ "name": "جنوبی کوریائی وون",
+ "symbol": "₩"
+ },
+ "CLP": {
+ "name": "چلّین پیسہ"
+ },
+ "CNY": {
+ "name": "چینی یوآن",
+ "symbol": "CN¥"
+ },
+ "DKK": {
+ "name": "ڈنمارک کرون"
+ },
+ "DOP": {
+ "name": "ڈومنیکن پیسو"
+ },
+ "RWF": {
+ "name": "روانڈا کا فرانک"
+ },
+ "RUB": {
+ "name": "روسی روبل"
+ },
+ "RON": {
+ "name": "رومانیائی لیو"
+ },
+ "ZMW": {
+ "name": "زامبیائی کواچا"
+ },
+ "WST": {
+ "name": "ساموآئی ٹالا"
+ },
+ "STD": {
+ "name": "ساؤ ٹوم اور پرنسپے ڈوبرا"
+ },
+ "RSD": {
+ "name": "سربین دینار"
+ },
+ "LKR": {
+ "name": "سری لنکائی روپیہ"
+ },
+ "SCR": {
+ "name": "سشلی کا روپیہ"
+ },
+ "SAR": {
+ "name": "سعودی ریال"
+ },
+ "SGD": {
+ "name": "سنگا پور ڈالر"
+ },
+ "SZL": {
+ "name": "سوازی لیلانجینی"
+ },
+ "SDG": {
+ "name": "سوڈانی پاؤنڈ"
+ },
+ "SRD": {
+ "name": "سورینامی ڈالر"
+ },
+ "SBD": {
+ "name": "سولومن آئلینڈز ڈالر"
+ },
+ "SEK": {
+ "name": "سویڈن کرونا"
+ },
+ "CHF": {
+ "name": "سوئس فرانکس"
+ },
+ "SHP": {
+ "name": "سینٹ ہیلینا پاؤنڈ"
+ },
+ "SLL": {
+ "name": "سیئرا لیون لیون"
+ },
+ "SYP": {
+ "name": "شامی پونڈ"
+ },
+ "KPW": {
+ "name": "شمالی کوریائی وون"
+ },
+ "SOS": {
+ "name": "صومالی شلنگ"
+ },
+ "IQD": {
+ "name": "عراقی دینار"
+ },
+ "OMR": {
+ "name": "عمانی ریال"
+ },
+ "FKP": {
+ "name": "فاکلینڈ آئلینڈز پونڈ"
+ },
+ "FJD": {
+ "name": "فجی کا ڈالر"
+ },
+ "PHP": {
+ "name": "فلپائینی پیسہ"
+ },
+ "CUC": {
+ "name": "قابل منتقلی کیوبائی پیسو"
+ },
+ "KZT": {
+ "name": "قزاخستانی ٹینگ"
+ },
+ "QAR": {
+ "name": "قطری ریال"
+ },
+ "CDF": {
+ "name": "کانگولیز فرانک"
+ },
+ "KGS": {
+ "name": "کرغستانی سوم"
+ },
+ "HRK": {
+ "name": "کروشین کونا"
+ },
+ "KHR": {
+ "name": "کمبوڈیائی ریئل"
+ },
+ "CAD": {
+ "name": "کنیڈین ڈالر",
+ "symbol": "CA$"
+ },
+ "CRC": {
+ "name": "کوسٹا ریکا کولون"
+ },
+ "COP": {
+ "name": "کولمبین پیسہ"
+ },
+ "KMF": {
+ "name": "کوموریئن فرانک"
+ },
+ "KWD": {
+ "name": "کویتی دینار"
+ },
+ "CVE": {
+ "name": "کیپ ورڈی اسکیوڈو"
+ },
+ "KYD": {
+ "name": "کیمین آئلینڈز ڈالر"
+ },
+ "KES": {
+ "name": "کینیائی شلنگ"
+ },
+ "CUP": {
+ "name": "کیوبائی پیسو"
+ },
+ "GMD": {
+ "name": "گامبیا کا ڈلاسی"
+ },
+ "GNF": {
+ "name": "گنی فرانک"
+ },
+ "GTQ": {
+ "name": "گواٹے مالا کا کوئٹزل"
+ },
+ "GYD": {
+ "name": "گویانیز ڈالر"
+ },
+ "GHS": {
+ "name": "گھانی سیڈی"
+ },
+ "LAK": {
+ "name": "لاؤشیائی کِپ"
+ },
+ "LRD": {
+ "name": "لائبریائی ڈالر"
+ },
+ "LBP": {
+ "name": "لبنانی پونڈ"
+ },
+ "LYD": {
+ "name": "لیبیائی دینار"
+ },
+ "LSL": {
+ "name": "لیسوتھو لوٹی"
+ },
+ "MUR": {
+ "name": "ماریشس کا روپیہ"
+ },
+ "MDL": {
+ "name": "مالدووی لیو"
+ },
+ "MVR": {
+ "name": "مالدیپ کا روفیہ"
+ },
+ "AED": {
+ "name": "متحدہ عرب اماراتی درہم"
+ },
+ "MAD": {
+ "name": "مراکشی درہم"
+ },
+ "XCD": {
+ "name": "مشرقی کریبیا کا ڈالر",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "مصری پاؤنڈ"
+ },
+ "XOF": {
+ "name": "مغربی افریقی [CFA] فرانک",
+ "symbol": "CFA"
+ },
+ "MKD": {
+ "name": "مقدونیائی دینار"
+ },
+ "MGA": {
+ "name": "ملاگاسی اریاری"
+ },
+ "MWK": {
+ "name": "ملاوی کواچا"
+ },
+ "MYR": {
+ "name": "ملیشیائی رنگِٹ"
+ },
+ "MNT": {
+ "name": "منگولیائی ٹگرِ"
+ },
+ "MRO": {
+ "name": "موریطانیائی اوگوئیا"
+ },
+ "MZN": {
+ "name": "موزامبیقی میٹیکل"
+ },
+ "MMK": {
+ "name": "میانما کیاٹ"
+ },
+ "MOP": {
+ "name": "میکانیز پٹاکا"
+ },
+ "MXN": {
+ "name": "میکسیکی پیسہ",
+ "symbol": "MX$"
+ },
+ "NOK": {
+ "name": "ناروے کرون"
+ },
+ "NAD": {
+ "name": "نامیبیائی ڈالر"
+ },
+ "NGN": {
+ "name": "نائیجیریائی نائرا"
+ },
+ "NIO": {
+ "name": "نکارا گوا کا کورڈوبا"
+ },
+ "NPR": {
+ "name": "نیپالی روپیہ"
+ },
+ "ANG": {
+ "name": "نیدر لینڈز انٹیلیئن گلڈر"
+ },
+ "TWD": {
+ "name": "نیو تائیوان ڈالر",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "نیوزی لینڈ ڈالر",
+ "symbol": "NZ$"
+ },
+ "XAF": {
+ "name": "وسطی افریقی [CFA] فرانک",
+ "symbol": "FCFA"
+ },
+ "VND": {
+ "name": "ویتنامی ڈانگ",
+ "symbol": "₫"
+ },
+ "VEF": {
+ "name": "وینزویلا بولیور"
+ },
+ "VUV": {
+ "name": "وینوواتو واتو"
+ },
+ "HUF": {
+ "name": "ہنگرین فورنٹ"
+ },
+ "HNL": {
+ "name": "ہونڈوران لیمپیرا"
+ },
+ "HTG": {
+ "name": "ہیتی کا گؤرڈی"
+ },
+ "HKD": {
+ "name": "ھانگ کانگ ڈالر",
+ "symbol": "HK$"
+ },
+ "YER": {
+ "name": "یمنی ریال"
+ },
+ "EUR": {
+ "name": "یورو",
+ "symbol": "€"
+ },
+ "UYU": {
+ "name": "یوروگویان پیسو"
+ },
+ "UAH": {
+ "name": "یوکرینیائی ہریونیا"
+ },
+ "UGX": {
+ "name": "یوگانڈا شلنگ"
+ },
+ "XPF": {
+ "name": "CFP فرانک",
+ "symbol": "CFPF"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/ur.json b/vendor/commerceguys/intl/resources/currency/ur.json
new file mode 100644
index 000000000..c20208883
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/ur.json
@@ -0,0 +1,498 @@
+{
+ "ARS": {
+ "name": "ارجنٹائن پیسہ"
+ },
+ "JOD": {
+ "name": "اردنی دینار"
+ },
+ "AWG": {
+ "name": "اروبن فلورِن"
+ },
+ "ERN": {
+ "name": "اریٹیریا کا نافکا"
+ },
+ "UZS": {
+ "name": "ازبکستان سوم"
+ },
+ "ILS": {
+ "name": "اسرائیلی نیا شیکل",
+ "symbol": "₪"
+ },
+ "AFN": {
+ "name": "افغان افغانی"
+ },
+ "ALL": {
+ "name": "البانیا کا لیک"
+ },
+ "DZD": {
+ "name": "الجیریائی دینار"
+ },
+ "USD": {
+ "name": "امریکی ڈالر",
+ "symbol": "$"
+ },
+ "IDR": {
+ "name": "انڈونیشین روپیہ"
+ },
+ "GBP": {
+ "name": "انگلستانی پاونڈ سٹرلنگ",
+ "symbol": "£"
+ },
+ "AOA": {
+ "name": "انگولا کا کوانزا"
+ },
+ "ETB": {
+ "name": "ایتھوپیائی بِرّ"
+ },
+ "IRR": {
+ "name": "ایرانی ریال"
+ },
+ "AZN": {
+ "name": "آذربائجانی منات"
+ },
+ "AMD": {
+ "name": "آرمینیائی ڈرم"
+ },
+ "AUD": {
+ "name": "آسٹریلین ڈالر",
+ "symbol": "A$"
+ },
+ "ISK": {
+ "name": "آئس لينڈی کرونا"
+ },
+ "BBD": {
+ "name": "باربیڈین ڈالر"
+ },
+ "BHD": {
+ "name": "بحرینی دینار"
+ },
+ "BRL": {
+ "name": "برازیلی ریئل",
+ "symbol": "R$"
+ },
+ "BMD": {
+ "name": "برموڈا ڈالر"
+ },
+ "BIF": {
+ "name": "برونڈیئن فرانک"
+ },
+ "BND": {
+ "name": "برونئی ڈالر"
+ },
+ "BGN": {
+ "name": "بلغارین لیو"
+ },
+ "BDT": {
+ "name": "بنگلہ دیشی ٹکا"
+ },
+ "BWP": {
+ "name": "بوتسوانا کا پولا"
+ },
+ "BAM": {
+ "name": "بوسنیا ہرزیگووینا کا قابل منتقلی نشان"
+ },
+ "BOB": {
+ "name": "بولیوین بولیویانو"
+ },
+ "BSD": {
+ "name": "بہامانی ڈالر"
+ },
+ "BYN": {
+ "name": "بیلاروسی روبل"
+ },
+ "BYR": {
+ "name": "بیلاروسی روبل (۲۰۰۰–۲۰۱۶)"
+ },
+ "BZD": {
+ "name": "بیلائز ڈالر"
+ },
+ "INR": {
+ "name": "بھارتی روپیہ",
+ "symbol": "₹"
+ },
+ "BTN": {
+ "name": "بھوٹانی گُلٹرم"
+ },
+ "PGK": {
+ "name": "پاپوآ نیو گنی کا کینا"
+ },
+ "PKR": {
+ "name": "پاکستانی روپیہ",
+ "symbol": "Rs"
+ },
+ "PAB": {
+ "name": "پنامہ کا بالبوآ"
+ },
+ "PLN": {
+ "name": "پولش زلوٹی"
+ },
+ "PYG": {
+ "name": "پیراگوئے کا گوآرنی"
+ },
+ "PEN": {
+ "name": "پیروین نیووسول"
+ },
+ "TJS": {
+ "name": "تاجکستانی سومونی"
+ },
+ "TMT": {
+ "name": "ترکمانستانی منات"
+ },
+ "TRY": {
+ "name": "ترکی لیرا"
+ },
+ "TTD": {
+ "name": "ترینیداد اور ٹوباگو کا ڈالر"
+ },
+ "TZS": {
+ "name": "تنزانیائی شلنگ"
+ },
+ "TND": {
+ "name": "تیونیسیائی دینار"
+ },
+ "THB": {
+ "name": "تھائی باہت",
+ "symbol": "฿"
+ },
+ "TOP": {
+ "name": "ٹونگن پانگا"
+ },
+ "JPY": {
+ "name": "جاپانی ین",
+ "symbol": "JP¥"
+ },
+ "GEL": {
+ "name": "جارجیائی لاری"
+ },
+ "GIP": {
+ "name": "جبل الطارق پونڈ"
+ },
+ "DJF": {
+ "name": "جبوتی فرانک"
+ },
+ "JMD": {
+ "name": "جمائیکن ڈالر"
+ },
+ "CZK": {
+ "name": "جمہوریہ چیک کرونا"
+ },
+ "ZAR": {
+ "name": "جنوبی افریقی رانڈ"
+ },
+ "SSP": {
+ "name": "جنوبی سوڈانی پاؤنڈ"
+ },
+ "KRW": {
+ "name": "جنوبی کوریائی وون",
+ "symbol": "₩"
+ },
+ "CLP": {
+ "name": "چلّین پیسہ"
+ },
+ "CNY": {
+ "name": "چینی یوآن",
+ "symbol": "CN¥"
+ },
+ "DKK": {
+ "name": "ڈنمارک کرون"
+ },
+ "DOP": {
+ "name": "ڈومنیکن پیسو"
+ },
+ "RWF": {
+ "name": "روانڈا کا فرانک"
+ },
+ "RUB": {
+ "name": "روسی روبل"
+ },
+ "RON": {
+ "name": "رومانیائی لیو"
+ },
+ "ZMW": {
+ "name": "زامبیائی کواچا"
+ },
+ "WST": {
+ "name": "ساموآ کا ٹالا"
+ },
+ "STD": {
+ "name": "ساؤ ٹوم اور پرنسپے ڈوبرا"
+ },
+ "RSD": {
+ "name": "سربین دینار"
+ },
+ "LKR": {
+ "name": "سری لنکائی روپیہ"
+ },
+ "SCR": {
+ "name": "سشلی کا روپیہ"
+ },
+ "SAR": {
+ "name": "سعودی ریال"
+ },
+ "SGD": {
+ "name": "سنگا پور ڈالر"
+ },
+ "SZL": {
+ "name": "سوازی لیلانجینی"
+ },
+ "SDG": {
+ "name": "سوڈانی پاؤنڈ"
+ },
+ "SRD": {
+ "name": "سورینامی ڈالر"
+ },
+ "SBD": {
+ "name": "سولومن آئلینڈز ڈالر"
+ },
+ "SEK": {
+ "name": "سویڈن کرونا"
+ },
+ "CHF": {
+ "name": "سوئس فرانکس"
+ },
+ "SHP": {
+ "name": "سینٹ ہیلینا پاؤنڈ"
+ },
+ "SLL": {
+ "name": "سیئرا لیون لیون"
+ },
+ "SYP": {
+ "name": "شامی پونڈ"
+ },
+ "KPW": {
+ "name": "شمالی کوریائی وون"
+ },
+ "SOS": {
+ "name": "صومالی شلنگ"
+ },
+ "IQD": {
+ "name": "عراقی دینار"
+ },
+ "OMR": {
+ "name": "عمانی ریال"
+ },
+ "FKP": {
+ "name": "فاکلینڈ آئلینڈز پونڈ"
+ },
+ "FJD": {
+ "name": "فجی کا ڈالر"
+ },
+ "PHP": {
+ "name": "فلپائینی پیسہ"
+ },
+ "KZT": {
+ "name": "قزاخستانی ٹینگ"
+ },
+ "QAR": {
+ "name": "قطری ریال"
+ },
+ "CDF": {
+ "name": "کانگولیز فرانک"
+ },
+ "KGS": {
+ "name": "کرغستانی سوم"
+ },
+ "HRK": {
+ "name": "کروشین کونا"
+ },
+ "KHR": {
+ "name": "کمبوڈیائی ریئل"
+ },
+ "CAD": {
+ "name": "کنیڈین ڈالر",
+ "symbol": "CA$"
+ },
+ "CRC": {
+ "name": "کوسٹا ریکا کا کولن"
+ },
+ "COP": {
+ "name": "کولمبین پیسہ"
+ },
+ "KMF": {
+ "name": "کوموریئن فرانک"
+ },
+ "KWD": {
+ "name": "کویتی دینار"
+ },
+ "CVE": {
+ "name": "کیپ ورڈی کا اسکیوڈو"
+ },
+ "KYD": {
+ "name": "کیمین آئلینڈز ڈالر"
+ },
+ "KES": {
+ "name": "کینیائی شلنگ"
+ },
+ "CUP": {
+ "name": "کیوبا کا پیسو"
+ },
+ "CUC": {
+ "name": "کیوبا کا قابل منتقلی پیسو"
+ },
+ "GMD": {
+ "name": "گامبیا کا ڈلاسی"
+ },
+ "GNF": {
+ "name": "گنی فرانک"
+ },
+ "GTQ": {
+ "name": "گواٹے مالا کا کوئٹزل"
+ },
+ "GYD": {
+ "name": "گویانیز ڈالر"
+ },
+ "GHS": {
+ "name": "گھانا کا سیڈی"
+ },
+ "LAK": {
+ "name": "لاؤشیائی کِپ"
+ },
+ "LRD": {
+ "name": "لائبریائی ڈالر"
+ },
+ "LBP": {
+ "name": "لبنانی پونڈ"
+ },
+ "LYD": {
+ "name": "لیبیائی دینار"
+ },
+ "LSL": {
+ "name": "لیسوتھو لوٹی"
+ },
+ "MUR": {
+ "name": "ماریشس کا روپیہ"
+ },
+ "MDL": {
+ "name": "مالدووی لیو"
+ },
+ "MVR": {
+ "name": "مالدیپ کا روفیہ"
+ },
+ "AED": {
+ "name": "متحدہ عرب اماراتی درہم"
+ },
+ "MAD": {
+ "name": "مراکشی درہم"
+ },
+ "XCD": {
+ "name": "مشرقی کریبیا کا ڈالر",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "مصری پاؤنڈ"
+ },
+ "XOF": {
+ "name": "مغربی افریقی [CFA] فرانک",
+ "symbol": "CFA"
+ },
+ "MKD": {
+ "name": "مقدونیائی دینار"
+ },
+ "MGA": {
+ "name": "ملاگاسی اریاری"
+ },
+ "MWK": {
+ "name": "ملاوی کواچا"
+ },
+ "MYR": {
+ "name": "ملیشیائی رنگِٹ"
+ },
+ "MNT": {
+ "name": "منگولیائی ٹگرِ"
+ },
+ "MRO": {
+ "name": "موریطانیائی اوگوئیا"
+ },
+ "MZN": {
+ "name": "موزامبیقی میٹیکل"
+ },
+ "MMK": {
+ "name": "میانما کیاٹ"
+ },
+ "MOP": {
+ "name": "میکانیز پٹاکا"
+ },
+ "MXN": {
+ "name": "میکسیکی پیسہ",
+ "symbol": "MX$"
+ },
+ "NOK": {
+ "name": "ناروے کرون"
+ },
+ "NAD": {
+ "name": "نامیبیائی ڈالر"
+ },
+ "NGN": {
+ "name": "نائیجیریائی نائرا"
+ },
+ "NIO": {
+ "name": "نکارا گوا کا کورڈوبا"
+ },
+ "NPR": {
+ "name": "نیپالی روپیہ"
+ },
+ "ANG": {
+ "name": "نیدر لینڈز انٹیلیئن گلڈر"
+ },
+ "TWD": {
+ "name": "نیو تائیوان ڈالر",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "نیوزی لینڈ ڈالر",
+ "symbol": "NZ$"
+ },
+ "XAF": {
+ "name": "وسطی افریقی [CFA] فرانک",
+ "symbol": "FCFA"
+ },
+ "VND": {
+ "name": "ویتنامی ڈانگ",
+ "symbol": "₫"
+ },
+ "VEF": {
+ "name": "وینزویلا بولیور"
+ },
+ "VUV": {
+ "name": "وینوواتو واتو"
+ },
+ "HUF": {
+ "name": "ہنگرین فورنٹ"
+ },
+ "HNL": {
+ "name": "ہونڈوران لیمپیرا"
+ },
+ "HTG": {
+ "name": "ہیتی کا گؤرڈی"
+ },
+ "HKD": {
+ "name": "ھانگ کانگ ڈالر",
+ "symbol": "HK$"
+ },
+ "YER": {
+ "name": "یمنی ریال"
+ },
+ "EUR": {
+ "name": "یورو",
+ "symbol": "€"
+ },
+ "UYU": {
+ "name": "یوروگویان پیسو"
+ },
+ "UAH": {
+ "name": "یوکرینیائی ہریونیا"
+ },
+ "UGX": {
+ "name": "یوگانڈا شلنگ"
+ },
+ "XPF": {
+ "name": "CFP فرانک",
+ "symbol": "CFPF"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/uz-Cyrl.json b/vendor/commerceguys/intl/resources/currency/uz-Cyrl.json
new file mode 100644
index 000000000..b51674b7a
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/uz-Cyrl.json
@@ -0,0 +1,498 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BYN": {
+ "name": "Belarusian Ruble"
+ },
+ "BYR": {
+ "name": "Belarusian Ruble (2000–2016)"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "Botswanan Pula"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "Burundian Franc"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "KMF": {
+ "name": "Comorian Franc"
+ },
+ "CDF": {
+ "name": "Congolese Franc"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kenyan Shilling"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LRD": {
+ "name": "Liberian Dollar"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NAD": {
+ "name": "Namibian Dollar"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NGN": {
+ "name": "Nigerian Naira"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RWF": {
+ "name": "Rwandan Franc"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra"
+ },
+ "SAR": {
+ "name": "Saudi Riyal"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somali Shilling"
+ },
+ "ZAR": {
+ "name": "South African Rand"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SHP": {
+ "name": "St. Helena Pound"
+ },
+ "SDG": {
+ "name": "Sudanese Pound"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "CHF": {
+ "name": "Swiss Franc"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling"
+ },
+ "THB": {
+ "name": "Thai Baht",
+ "symbol": "฿"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TND": {
+ "name": "Tunisian Dinar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ },
+ "USD": {
+ "name": "АҚШ доллари",
+ "symbol": "US$"
+ },
+ "ARS": {
+ "name": "Аргентина песоси"
+ },
+ "AWG": {
+ "name": "Аруба флорини"
+ },
+ "BSD": {
+ "name": "Багама доллари"
+ },
+ "BBD": {
+ "name": "Барбадос доллари"
+ },
+ "BZD": {
+ "name": "Белиз доллари"
+ },
+ "BMD": {
+ "name": "Бермуда доллари"
+ },
+ "BOB": {
+ "name": "Боливия болвиани"
+ },
+ "BRL": {
+ "name": "Бразил реали",
+ "symbol": "R$"
+ },
+ "VEF": {
+ "name": "Венесуэла боливари"
+ },
+ "HTG": {
+ "name": "Гаити гурдаси"
+ },
+ "GYD": {
+ "name": "Гаяна доллари"
+ },
+ "GTQ": {
+ "name": "Гватемала кветзали"
+ },
+ "ANG": {
+ "name": "Голланд Антил гульдени"
+ },
+ "HNL": {
+ "name": "Гондурас лемпираси"
+ },
+ "DOP": {
+ "name": "Доминикан песоси"
+ },
+ "EUR": {
+ "name": "Евро",
+ "symbol": "€"
+ },
+ "DZD": {
+ "name": "Жазоир динори"
+ },
+ "GBP": {
+ "name": "Инглиз фунт",
+ "symbol": "£"
+ },
+ "KYD": {
+ "name": "Кайман ороли Доллари"
+ },
+ "CAD": {
+ "name": "Канада доллари",
+ "symbol": "CA$"
+ },
+ "COP": {
+ "name": "Колумбия песоси"
+ },
+ "CRC": {
+ "name": "Коста-Рика колони"
+ },
+ "CUC": {
+ "name": "Куба Айирбошлаш песоси"
+ },
+ "CUP": {
+ "name": "Куба песоси"
+ },
+ "LYD": {
+ "name": "Ливия динори"
+ },
+ "MAD": {
+ "name": "Марокаш дирҳами"
+ },
+ "MXN": {
+ "name": "Мексика песоси",
+ "symbol": "MX$"
+ },
+ "EGP": {
+ "name": "Миср фунти"
+ },
+ "NIO": {
+ "name": "Никарагуа кордобаси"
+ },
+ "PAB": {
+ "name": "Панама бальбоаси"
+ },
+ "PYG": {
+ "name": "Парагвай гуарани"
+ },
+ "PEN": {
+ "name": "Перу нуево сол"
+ },
+ "RUB": {
+ "name": "Рус рубли"
+ },
+ "SRD": {
+ "name": "Суринам доллари"
+ },
+ "TTD": {
+ "name": "Тринидад ва Тобаго доллари"
+ },
+ "UZS": {
+ "name": "Ўзбекистон сўм",
+ "symbol": "сўм"
+ },
+ "UYU": {
+ "name": "Уругвай песоси"
+ },
+ "FKP": {
+ "name": "Фолькленд ороли фунти"
+ },
+ "CNY": {
+ "name": "Хитой юани",
+ "symbol": "CN¥"
+ },
+ "INR": {
+ "name": "Ҳинд рупияси",
+ "symbol": "₹"
+ },
+ "CLP": {
+ "name": "Чили песоси"
+ },
+ "XCD": {
+ "name": "Шарқий Кариб доллари",
+ "symbol": "EC$"
+ },
+ "JMD": {
+ "name": "Ямайка доллари"
+ },
+ "JPY": {
+ "name": "Япон йенаси",
+ "symbol": "JP¥"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/uz.json b/vendor/commerceguys/intl/resources/currency/uz.json
new file mode 100644
index 000000000..b137357dc
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/uz.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afg‘oniston afg‘oniysi"
+ },
+ "ALL": {
+ "name": "Albaniya leki"
+ },
+ "GBP": {
+ "name": "Angliya funt sterlingi",
+ "symbol": "£"
+ },
+ "AOA": {
+ "name": "Angola kvanzasi"
+ },
+ "USD": {
+ "name": "AQSH dollari",
+ "symbol": "US$"
+ },
+ "ARS": {
+ "name": "Argentina pesosi"
+ },
+ "AMD": {
+ "name": "Armaniston drami"
+ },
+ "AWG": {
+ "name": "Aruba florini"
+ },
+ "AUD": {
+ "name": "Avstraliya dollari",
+ "symbol": "A$"
+ },
+ "BSD": {
+ "name": "Bagama dollari"
+ },
+ "BHD": {
+ "name": "Bahrayn dinori"
+ },
+ "BDT": {
+ "name": "Bangladesh takasi"
+ },
+ "BBD": {
+ "name": "Barbados dollari"
+ },
+ "BYN": {
+ "name": "Belarus rubli"
+ },
+ "BYR": {
+ "name": "Belarus rubli (2000–2016)"
+ },
+ "BZD": {
+ "name": "Beliz dollari"
+ },
+ "BMD": {
+ "name": "Bermuda dollari"
+ },
+ "AED": {
+ "name": "Birlashgan Arab Amirliklari dirhami"
+ },
+ "BGN": {
+ "name": "Bolgariya levi"
+ },
+ "BOB": {
+ "name": "Boliviya bolivianosi"
+ },
+ "BAM": {
+ "name": "Bosniya va Gertsegovina ayirboshlash markasi"
+ },
+ "BWP": {
+ "name": "Botsvana pulasi"
+ },
+ "BRL": {
+ "name": "Braziliya reali",
+ "symbol": "R$"
+ },
+ "BND": {
+ "name": "Bruney dollari"
+ },
+ "BIF": {
+ "name": "Burundi franki"
+ },
+ "BTN": {
+ "name": "Butan ngultrumi"
+ },
+ "CZK": {
+ "name": "Chexiya kronasi"
+ },
+ "CLP": {
+ "name": "Chili pesosi"
+ },
+ "DKK": {
+ "name": "Daniya kronasi"
+ },
+ "DOP": {
+ "name": "Dominikana pesosi"
+ },
+ "ETB": {
+ "name": "Efiopiya biri"
+ },
+ "ERN": {
+ "name": "Eritreya nakfasi"
+ },
+ "IRR": {
+ "name": "Eron riyoli"
+ },
+ "FJD": {
+ "name": "Fiji dollari"
+ },
+ "PHP": {
+ "name": "Filippin pesosi"
+ },
+ "FKP": {
+ "name": "Folklend orollari funti"
+ },
+ "XPF": {
+ "name": "Fransuz Polineziyasi franki",
+ "symbol": "CFPF"
+ },
+ "XOF": {
+ "name": "G‘arbiy Afrika CFA franki",
+ "symbol": "CFA"
+ },
+ "HTG": {
+ "name": "Gaiti gurdi"
+ },
+ "GMD": {
+ "name": "Gambiya dalasisi"
+ },
+ "GHS": {
+ "name": "Gana sedisi"
+ },
+ "GYD": {
+ "name": "Gayana dollari"
+ },
+ "GIP": {
+ "name": "Gibraltar funti"
+ },
+ "HNL": {
+ "name": "Gonduras lempirasi"
+ },
+ "HKD": {
+ "name": "Gonkong dollari",
+ "symbol": "HK$"
+ },
+ "GEL": {
+ "name": "Gruziya larisi"
+ },
+ "GTQ": {
+ "name": "Gvatemala ketsali"
+ },
+ "GNF": {
+ "name": "Gvineya franki"
+ },
+ "INR": {
+ "name": "Hindiston rupiyasi",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indoneziya rupiyasi"
+ },
+ "JOD": {
+ "name": "Iordaniya dinori"
+ },
+ "IQD": {
+ "name": "Iroq dinori"
+ },
+ "ISK": {
+ "name": "Islandiya kronasi"
+ },
+ "ILS": {
+ "name": "Isroil yangi shekeli",
+ "symbol": "₪"
+ },
+ "ZAR": {
+ "name": "Janubiy Afrika rendi"
+ },
+ "KRW": {
+ "name": "Janubiy Koreya voni",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "Janubiy Sudan funti"
+ },
+ "DZD": {
+ "name": "Jazoir dinori"
+ },
+ "DJF": {
+ "name": "Jibuti franki"
+ },
+ "CVE": {
+ "name": "Kabo-Verde eskudosi"
+ },
+ "KHR": {
+ "name": "Kambodja rieli"
+ },
+ "CAD": {
+ "name": "Kanada dollari",
+ "symbol": "CA$"
+ },
+ "KYD": {
+ "name": "Kayman orollari dollari"
+ },
+ "KES": {
+ "name": "Keniya shillingi"
+ },
+ "COP": {
+ "name": "Kolumbiya pesosi"
+ },
+ "KMF": {
+ "name": "Komor orollari franki"
+ },
+ "CDF": {
+ "name": "Kongo franki"
+ },
+ "CRC": {
+ "name": "Kosta-Rika koloni"
+ },
+ "CUC": {
+ "name": "Kuba ayirboshlash pesosi"
+ },
+ "CUP": {
+ "name": "Kuba pesosi"
+ },
+ "KWD": {
+ "name": "Kuvayt dinori"
+ },
+ "LAK": {
+ "name": "Laos kipi"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "LRD": {
+ "name": "Liberiya dollari"
+ },
+ "LBP": {
+ "name": "Livan funti"
+ },
+ "LYD": {
+ "name": "Liviya dinori"
+ },
+ "MOP": {
+ "name": "Makao patakasi"
+ },
+ "MKD": {
+ "name": "Makedoniya dinori"
+ },
+ "MGA": {
+ "name": "Malagasi ariarisi"
+ },
+ "MWK": {
+ "name": "Malavi kvachasi"
+ },
+ "MYR": {
+ "name": "Malayziya ringgiti"
+ },
+ "MVR": {
+ "name": "Maldiv rupiyasi"
+ },
+ "XAF": {
+ "name": "Markaziy Afrika CFA franki",
+ "symbol": "FCFA"
+ },
+ "MAD": {
+ "name": "Marokash dirhami"
+ },
+ "MUR": {
+ "name": "Mavritaniya rupiyasi"
+ },
+ "MRO": {
+ "name": "Mavritaniya uqiyasi"
+ },
+ "MXN": {
+ "name": "Meksika pesosi",
+ "symbol": "MX$"
+ },
+ "EGP": {
+ "name": "Misr funti"
+ },
+ "MDL": {
+ "name": "Moldova leyi"
+ },
+ "MNT": {
+ "name": "Mongoliya tugriki"
+ },
+ "MZN": {
+ "name": "Mozambik metikali"
+ },
+ "SHP": {
+ "name": "Muqaddas Yelena oroli funti"
+ },
+ "MMK": {
+ "name": "Myanma kyati"
+ },
+ "NAD": {
+ "name": "Namibiya dollari"
+ },
+ "NPR": {
+ "name": "Nepal rupiyasi"
+ },
+ "ANG": {
+ "name": "Niderlandiya antil guldeni"
+ },
+ "NGN": {
+ "name": "Nigeriya nayrasi"
+ },
+ "NIO": {
+ "name": "Nikaragua kordobasi"
+ },
+ "NOK": {
+ "name": "Norvegiya kronasi"
+ },
+ "UZS": {
+ "name": "O‘zbekiston so‘mi",
+ "symbol": "soʻm"
+ },
+ "AZN": {
+ "name": "Ozarbayjon manati"
+ },
+ "PAB": {
+ "name": "Panama balboasi"
+ },
+ "PGK": {
+ "name": "Papua – Yangi Gvineya kinasi"
+ },
+ "PYG": {
+ "name": "Paragvay guaranisi"
+ },
+ "PEN": {
+ "name": "Peru yangi soli"
+ },
+ "PKR": {
+ "name": "Pokiston rupiyasi"
+ },
+ "PLN": {
+ "name": "Polsha zlotiyi"
+ },
+ "QAR": {
+ "name": "Qatar riyoli"
+ },
+ "KGS": {
+ "name": "Qirg‘iziston somi"
+ },
+ "KZT": {
+ "name": "Qozog‘iston tengesi"
+ },
+ "RUB": {
+ "name": "Rossiya rubli"
+ },
+ "RWF": {
+ "name": "Ruanda franki"
+ },
+ "RON": {
+ "name": "Ruminiya leyi"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoa talasi"
+ },
+ "STD": {
+ "name": "San-Tome va Prinsipi dobrasi"
+ },
+ "SAR": {
+ "name": "Saudiya Arabistoni riyoli"
+ },
+ "RSD": {
+ "name": "Serbiya dinori"
+ },
+ "SCR": {
+ "name": "Seyshel rupiyasi"
+ },
+ "XCD": {
+ "name": "Sharqiy Karib dollari",
+ "symbol": "EC$"
+ },
+ "KPW": {
+ "name": "Shimoliy Koreya voni"
+ },
+ "LKR": {
+ "name": "Shri-Lanka rupiyasi"
+ },
+ "SEK": {
+ "name": "Shvetsiya kronasi"
+ },
+ "CHF": {
+ "name": "Shveytsariya franki"
+ },
+ "SGD": {
+ "name": "Singapur dollari"
+ },
+ "SBD": {
+ "name": "Solomon orollari dollari"
+ },
+ "SOS": {
+ "name": "Somali shillingi"
+ },
+ "SDG": {
+ "name": "Sudan funti"
+ },
+ "SRD": {
+ "name": "Surinam dollari"
+ },
+ "SYP": {
+ "name": "Suriya funti"
+ },
+ "SZL": {
+ "name": "Svazilend lilangenisi"
+ },
+ "SLL": {
+ "name": "Syerra-Leone leonesi"
+ },
+ "THB": {
+ "name": "Tailand bati"
+ },
+ "TZS": {
+ "name": "Tanzaniya shillingi"
+ },
+ "TJS": {
+ "name": "Tojikiston somoniysi"
+ },
+ "TOP": {
+ "name": "Tonga paangasi"
+ },
+ "TTD": {
+ "name": "Trinidad va Tobago dollari"
+ },
+ "TND": {
+ "name": "Tunis dinori"
+ },
+ "TRY": {
+ "name": "Turk lirasi"
+ },
+ "TMT": {
+ "name": "Turkmaniston manati"
+ },
+ "UGX": {
+ "name": "Uganda shillingi"
+ },
+ "UAH": {
+ "name": "Ukraina grivnasi"
+ },
+ "OMR": {
+ "name": "Ummon riyoli"
+ },
+ "UYU": {
+ "name": "Urugvay pesosi"
+ },
+ "VUV": {
+ "name": "Vanuatu vatusi"
+ },
+ "VEF": {
+ "name": "Venesuela bolivari"
+ },
+ "HUF": {
+ "name": "Vengriya forinti"
+ },
+ "VND": {
+ "name": "Vyetnam dongi",
+ "symbol": "₫"
+ },
+ "CNY": {
+ "name": "Xitoy yuani",
+ "symbol": "CN¥"
+ },
+ "HRK": {
+ "name": "Xorvatiya kunasi"
+ },
+ "YER": {
+ "name": "Yaman riyoli"
+ },
+ "JMD": {
+ "name": "Yamayka dollari"
+ },
+ "TWD": {
+ "name": "Yangi Tayvan dollari",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "Yangi Zelandiya dollari",
+ "symbol": "NZ$"
+ },
+ "JPY": {
+ "name": "Yaponiya iyenasi",
+ "symbol": "JP¥"
+ },
+ "EUR": {
+ "name": "Yevro",
+ "symbol": "€"
+ },
+ "ZMW": {
+ "name": "Zambiya kvachasi"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/vai-Latn.json b/vendor/commerceguys/intl/resources/currency/vai-Latn.json
new file mode 100644
index 000000000..fb596ab61
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/vai-Latn.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ZAR": {
+ "name": "Afirika Kɔi Leŋŋɛ lɔ Randi"
+ },
+ "XOF": {
+ "name": "Áfíríka Tele Jíí Sifa",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Áfíríka Tɛ Sifa",
+ "symbol": "FCFA"
+ },
+ "DZD": {
+ "name": "Agiriya Dina"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "AOA": {
+ "name": "Angola Kuwaŋza"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Ruble"
+ },
+ "BYR": {
+ "name": "Belarusian Ruble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BHD": {
+ "name": "Bharɛŋ Dina"
+ },
+ "BWP": {
+ "name": "Bhosuwana Pula"
+ },
+ "BIF": {
+ "name": "Bhurundi Furaŋki"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CNY": {
+ "name": "Chaníĩ Yuwaŋ Rɛŋmimbi",
+ "symbol": "CN¥"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "ERN": {
+ "name": "Ɛritera Nakifa"
+ },
+ "CVE": {
+ "name": "Ɛsikudo Cabovɛdiyano"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GMD": {
+ "name": "Gambiya Dalasi"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "INR": {
+ "name": "Índiya Rupi",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "ETB": {
+ "name": "Ítiyopiya Bhii"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JPY": {
+ "name": "Japaniĩ Yɛŋ",
+ "symbol": "JP¥"
+ },
+ "GBP": {
+ "name": "Jengési Pɔɔ̃",
+ "symbol": "£"
+ },
+ "DJF": {
+ "name": "Jibhuti Furaŋki"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "CAD": {
+ "name": "Kanada Dala",
+ "symbol": "CA$"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "Kénya Siyeŋ"
+ },
+ "KMF": {
+ "name": "Komoro Furaŋki"
+ },
+ "CDF": {
+ "name": "Kóngo Furaŋki"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "SAR": {
+ "name": "Lahabu Sawodi Riya"
+ },
+ "LRD": {
+ "name": "Laibhiya Dala",
+ "symbol": "$"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "LYD": {
+ "name": "Libhiya Dina"
+ },
+ "SZL": {
+ "name": "Lilangeni"
+ },
+ "LSL": {
+ "name": "Lisóto Loti"
+ },
+ "SLL": {
+ "name": "Liyɔɔ̀"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MGA": {
+ "name": "Malagasi Ariyari"
+ },
+ "MWK": {
+ "name": "Malawi Kuwacha"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "EGP": {
+ "name": "Míséla Pɔɔ̃"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MUR": {
+ "name": "Mɔreshɔ Rupi"
+ },
+ "MRO": {
+ "name": "Mɔretani Yugiya"
+ },
+ "MAD": {
+ "name": "Mɔroko Dihami"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NGN": {
+ "name": "Naĩjiriya Naĩra"
+ },
+ "NAD": {
+ "name": "Namibiya Dala"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "AUD": {
+ "name": "Ɔ́situwa Dala",
+ "symbol": "A$"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "USD": {
+ "name": "Poo Dala",
+ "symbol": "US$"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RWF": {
+ "name": "Rawunda Furaŋki"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Ruble"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "STD": {
+ "name": "Sawo Tombe ɓɛ a Gbawo Dobura"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SHP": {
+ "name": "Siŋ Hɛlina Pɔɔ̃"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "Somaliya Siyeŋ"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SDG": {
+ "name": "Sudaniĩ Pɔɔ̃"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "CHF": {
+ "name": "Suwesi Furaŋki"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "Taŋzaniya Siyeŋ"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TND": {
+ "name": "Tunisiya Dina"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "UGX": {
+ "name": "Yuganda Siyeŋ"
+ },
+ "AED": {
+ "name": "Yunaitɛ Arabhi Ɛmire Dihami"
+ },
+ "EUR": {
+ "name": "Yuro",
+ "symbol": "€"
+ },
+ "ZMW": {
+ "name": "Zambiya Kuwacha"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/vai.json b/vendor/commerceguys/intl/resources/currency/vai.json
new file mode 100644
index 000000000..b2708f81f
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/vai.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Ruble"
+ },
+ "BYR": {
+ "name": "Belarusian Ruble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Ruble"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ },
+ "ERN": {
+ "name": "ꔀꔸꔳꕟ ꗁꖻꘋ"
+ },
+ "SCR": {
+ "name": "ꔖꗼꔷ ꖩꔪ"
+ },
+ "GBP": {
+ "name": "ꔛꔟꔻ ꗁꖻꘋ ꔻꗳꔷꘋ",
+ "symbol": "£"
+ },
+ "KES": {
+ "name": "ꔞꕰ ꔻꔝꘋ"
+ },
+ "INR": {
+ "name": "ꔤꔺꕩ ꖩꔪ",
+ "symbol": "₹"
+ },
+ "ETB": {
+ "name": "ꔤꕿꖎꔪꕩ ꔫꔤ"
+ },
+ "LYD": {
+ "name": "ꔷꔫꕩ ꔵꕯ"
+ },
+ "SZL": {
+ "name": "ꔷꕞꔟꕇ"
+ },
+ "LSL": {
+ "name": "ꔷꖇꕿ ꖃꔳ"
+ },
+ "SLL": {
+ "name": "ꔷꗚꘋ"
+ },
+ "SHP": {
+ "name": "ꔻꘋ ꗥꔷꕯ ꗁꖻꘋ"
+ },
+ "DJF": {
+ "name": "ꕀꖜꔳ ꖢꕟꘋꕃ"
+ },
+ "EGP": {
+ "name": "ꕆꔻꕞ ꗁꖻꘋ"
+ },
+ "ZAR": {
+ "name": "ꕉꔱꔸꕪ ꗛꔤ ꔒꘋꗣ ꗏ ꕟꘋꔵ"
+ },
+ "DZD": {
+ "name": "ꕉꔷꕀꔸꕩ ꔵꕯ"
+ },
+ "AOA": {
+ "name": "ꕉꖐꕞ ꖴꕎꘋꕤ"
+ },
+ "BHD": {
+ "name": "ꕑꗸꘋ"
+ },
+ "TZS": {
+ "name": "ꕚꘋꕤꕇꕰ ꔻꔝꘋ"
+ },
+ "LRD": {
+ "name": "ꕞꔤꔫꕩ ꕜꕞꕌ",
+ "symbol": "$"
+ },
+ "RWF": {
+ "name": "ꕟꖙꕡ ꖢꕟꘋꕃ"
+ },
+ "STD": {
+ "name": "ꕢꕴ ꕿꔈ ꗪ ꕉ ꕗꕴ ꖁꖜꕟ"
+ },
+ "SAR": {
+ "name": "ꕢꖙꔵ ꔸꕩꔷ"
+ },
+ "ZMW": {
+ "name": "ꕤꔭꕩ ꖴꕎꕦ"
+ },
+ "CNY": {
+ "name": "ꕦꕇꔧ ꖳꕎꘋ ꔓꕆꘋꔬ",
+ "symbol": "CN¥"
+ },
+ "JPY": {
+ "name": "ꕧꕐꕇꔧ ꘂꘋ",
+ "symbol": "JP¥"
+ },
+ "CAD": {
+ "name": "ꕪꕯꕜ ꕜꕞꕌ",
+ "symbol": "CA$"
+ },
+ "GMD": {
+ "name": "ꕭꔭꕩ ꕜꕞꔻ"
+ },
+ "MWK": {
+ "name": "ꕮꕞꕌꔨ ꖴꕎꕦ"
+ },
+ "MGA": {
+ "name": "ꕮꕞꕭꕌꔻ ꕉꔸꕩꔸ"
+ },
+ "NGN": {
+ "name": "ꕯꔤꕀꔸꕩ ꕯꔤꕟ"
+ },
+ "NAD": {
+ "name": "ꕯꕆꔫꕩ ꕜꕞꕌ"
+ },
+ "USD": {
+ "name": "ꕶꕱ ꕜꕞ",
+ "symbol": "US$"
+ },
+ "BWP": {
+ "name": "ꕷꖬꕎꕯ ꖛꕞ"
+ },
+ "SOS": {
+ "name": "ꖇꕮꔷ ꔻꔝꘋ"
+ },
+ "CDF": {
+ "name": "ꖏꖐꕱ ꖢꕟꘋꕃ"
+ },
+ "KMF": {
+ "name": "ꖏꖒꖄ ꖢꕟꘋꕃ"
+ },
+ "BIF": {
+ "name": "ꖜꖩꔺ ꖢꕟꘋꕃ"
+ },
+ "TND": {
+ "name": "ꖤꕇꔻꕩ ꔵꕯ"
+ },
+ "CHF": {
+ "name": "ꖬꔃꕤ ꖨꕮꕊ ꖢꕟꘋꕃ"
+ },
+ "SDG": {
+ "name": "ꖬꗵꘋ ꗁꖻꘋ"
+ },
+ "UGX": {
+ "name": "ꖳꕭꕡ ꔻꔝꘋ"
+ },
+ "AED": {
+ "name": "ꖳꕯꔤꗳ ꕉꕟꔬ ꗡꕆꔓꔻ ꔵꕌꕆ"
+ },
+ "EUR": {
+ "name": "ꖳꖄ",
+ "symbol": "€"
+ },
+ "AUD": {
+ "name": "ꖺꔻꖤꔃꔷꕩ ꕜꕞꕌ",
+ "symbol": "A$"
+ },
+ "MUR": {
+ "name": "ꗞꔓꗔ ꖩꔪ"
+ },
+ "MRO": {
+ "name": "ꗞꔸꕚꕇꕰ ꖳꕅꕩ"
+ },
+ "MAD": {
+ "name": "ꗞꕟꖏ ꔵꕌꕆ"
+ },
+ "CVE": {
+ "name": "ꗡꔻꖴꖁ ꕪꕷꗲꗡꔵꕩꖆ"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/vi.json b/vendor/commerceguys/intl/resources/currency/vi.json
new file mode 100644
index 000000000..cea476214
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/vi.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afghani Afghanistan"
+ },
+ "MGA": {
+ "name": "Ariary Malagasy"
+ },
+ "PAB": {
+ "name": "Balboa Panama"
+ },
+ "EGP": {
+ "name": "Bảng Ai Cập"
+ },
+ "GBP": {
+ "name": "Bảng Anh",
+ "symbol": "£"
+ },
+ "GIP": {
+ "name": "Bảng Gibraltar"
+ },
+ "LBP": {
+ "name": "Bảng Li-băng"
+ },
+ "SSP": {
+ "name": "Bảng Nam Sudan"
+ },
+ "FKP": {
+ "name": "Bảng Quần đảo Falkland"
+ },
+ "SHP": {
+ "name": "Bảng St. Helena"
+ },
+ "SDG": {
+ "name": "Bảng Sudan"
+ },
+ "SYP": {
+ "name": "Bảng Syria"
+ },
+ "THB": {
+ "name": "Bạt Thái Lan",
+ "symbol": "฿"
+ },
+ "ETB": {
+ "name": "Birr Ethiopia"
+ },
+ "VEF": {
+ "name": "Bolívar Venezuela"
+ },
+ "BOB": {
+ "name": "Boliviano Bolivia"
+ },
+ "GHS": {
+ "name": "Cedi Ghana"
+ },
+ "CRC": {
+ "name": "Colón Costa Rica"
+ },
+ "SVC": {
+ "name": "Colón El Salvador"
+ },
+ "NIO": {
+ "name": "Córdoba Nicaragua"
+ },
+ "GMD": {
+ "name": "Dalasi Gambia"
+ },
+ "MKD": {
+ "name": "Denar Macedonia"
+ },
+ "DZD": {
+ "name": "Dinar Algeria"
+ },
+ "BHD": {
+ "name": "Dinar Bahrain"
+ },
+ "IQD": {
+ "name": "Dinar I-rắc"
+ },
+ "JOD": {
+ "name": "Dinar Jordan"
+ },
+ "KWD": {
+ "name": "Dinar Kuwait"
+ },
+ "LYD": {
+ "name": "Dinar Libi"
+ },
+ "RSD": {
+ "name": "Dinar Serbia"
+ },
+ "TND": {
+ "name": "Dinar Tunisia"
+ },
+ "MAD": {
+ "name": "Dirham Ma-rốc"
+ },
+ "AED": {
+ "name": "Dirham UAE"
+ },
+ "STD": {
+ "name": "Dobra São Tomé và Príncipe"
+ },
+ "AMD": {
+ "name": "Dram Armenia"
+ },
+ "AUD": {
+ "name": "Đô la Australia",
+ "symbol": "AU$"
+ },
+ "BSD": {
+ "name": "Đô la Bahamas"
+ },
+ "BBD": {
+ "name": "Đô la Barbados"
+ },
+ "BZD": {
+ "name": "Đô la Belize"
+ },
+ "BMD": {
+ "name": "Đô la Bermuda"
+ },
+ "BND": {
+ "name": "Đô la Brunei"
+ },
+ "CAD": {
+ "name": "Đô la Canada",
+ "symbol": "CA$"
+ },
+ "TWD": {
+ "name": "Đô la Đài Loan mới",
+ "symbol": "NT$"
+ },
+ "XCD": {
+ "name": "Đô la Đông Caribê",
+ "symbol": "EC$"
+ },
+ "FJD": {
+ "name": "Đô la Fiji"
+ },
+ "GYD": {
+ "name": "Đô la Guyana"
+ },
+ "HKD": {
+ "name": "Đô la Hồng Kông",
+ "symbol": "HK$"
+ },
+ "JMD": {
+ "name": "Đô la Jamaica"
+ },
+ "LRD": {
+ "name": "Đô la Liberia"
+ },
+ "USD": {
+ "name": "Đô la Mỹ",
+ "symbol": "US$"
+ },
+ "NAD": {
+ "name": "Đô la Namibia"
+ },
+ "NZD": {
+ "name": "Đô la New Zealand",
+ "symbol": "NZ$"
+ },
+ "KYD": {
+ "name": "Đô la Quần đảo Cayman"
+ },
+ "SBD": {
+ "name": "Đô la quần đảo Solomon"
+ },
+ "SGD": {
+ "name": "Đô la Singapore"
+ },
+ "SRD": {
+ "name": "Đô la Suriname"
+ },
+ "TTD": {
+ "name": "Đô la Trinidad và Tobago"
+ },
+ "ZWL": {
+ "name": "Đồng Đô la Zimbabwe (2009)"
+ },
+ "VND": {
+ "name": "Đồng Việt Nam",
+ "symbol": "₫"
+ },
+ "CVE": {
+ "name": "Escudo Cape Verde"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "AWG": {
+ "name": "Florin Aruba"
+ },
+ "HUF": {
+ "name": "Forint Hungary"
+ },
+ "BIF": {
+ "name": "Franc Burundi"
+ },
+ "XOF": {
+ "name": "Franc CFA Tây Phi",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Franc CFA Trung Phi",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "Franc CFP",
+ "symbol": "CFPF"
+ },
+ "KMF": {
+ "name": "Franc Comoros"
+ },
+ "CDF": {
+ "name": "Franc Congo"
+ },
+ "DJF": {
+ "name": "Franc Djibouti"
+ },
+ "GNF": {
+ "name": "Franc Guinea"
+ },
+ "RWF": {
+ "name": "Franc Rwanda"
+ },
+ "CHF": {
+ "name": "Franc Thụy sĩ"
+ },
+ "HTG": {
+ "name": "Gourde Haiti"
+ },
+ "PYG": {
+ "name": "Guarani Paraguay"
+ },
+ "ANG": {
+ "name": "Guilder Tây Ấn Hà Lan"
+ },
+ "UAH": {
+ "name": "Hryvnia Ucraina"
+ },
+ "LSL": {
+ "name": "Ioti Lesotho"
+ },
+ "PGK": {
+ "name": "Kina Papua New Guinean"
+ },
+ "LAK": {
+ "name": "Kip Lào"
+ },
+ "CZK": {
+ "name": "Koruna Cộng hòa Séc"
+ },
+ "ISK": {
+ "name": "Króna Iceland"
+ },
+ "SEK": {
+ "name": "Krona Thụy Điển"
+ },
+ "DKK": {
+ "name": "Krone Đan Mạch"
+ },
+ "NOK": {
+ "name": "Krone Na Uy"
+ },
+ "HRK": {
+ "name": "Kuna Croatia"
+ },
+ "MWK": {
+ "name": "Kwacha Malawi"
+ },
+ "ZMW": {
+ "name": "Kwacha Zambia"
+ },
+ "AOA": {
+ "name": "Kwanza Angola"
+ },
+ "MMK": {
+ "name": "Kyat Myanma"
+ },
+ "GEL": {
+ "name": "Lari Gruzia"
+ },
+ "ALL": {
+ "name": "Lek Albania"
+ },
+ "HNL": {
+ "name": "Lempira Honduras"
+ },
+ "SLL": {
+ "name": "Leone Sierra Leone"
+ },
+ "MDL": {
+ "name": "Leu Moldova"
+ },
+ "RON": {
+ "name": "Leu Romania"
+ },
+ "BGN": {
+ "name": "Lev Bulgaria"
+ },
+ "TRY": {
+ "name": "Lia Thổ Nhĩ Kỳ"
+ },
+ "SZL": {
+ "name": "Lilangeni Swaziland"
+ },
+ "AZN": {
+ "name": "Manat Azerbaijan"
+ },
+ "TMT": {
+ "name": "Manat Turkmenistan"
+ },
+ "BAM": {
+ "name": "Mark Bosnia-Herzegovina có thể chuyển đổi"
+ },
+ "MZN": {
+ "name": "Metical Mozambique"
+ },
+ "NGN": {
+ "name": "Naira Nigeria"
+ },
+ "ERN": {
+ "name": "Nakfa Eritrea"
+ },
+ "BTN": {
+ "name": "Ngultrum Bhutan"
+ },
+ "CNY": {
+ "name": "Nhân dân tệ",
+ "symbol": "CN¥"
+ },
+ "PEN": {
+ "name": "Nuevo Sol Peru"
+ },
+ "MRO": {
+ "name": "Ouguiya Mauritania"
+ },
+ "TOP": {
+ "name": "Paʻanga Tonga"
+ },
+ "MOP": {
+ "name": "Pataca Ma Cao"
+ },
+ "ARS": {
+ "name": "Peso Argentina"
+ },
+ "CLP": {
+ "name": "Peso Chile"
+ },
+ "COP": {
+ "name": "Peso Colombia"
+ },
+ "CUP": {
+ "name": "Peso Cuba"
+ },
+ "CUC": {
+ "name": "Peso Cuba có thể chuyển đổi"
+ },
+ "DOP": {
+ "name": "Peso Dominica"
+ },
+ "MXN": {
+ "name": "Peso Mexico",
+ "symbol": "MX$"
+ },
+ "PHP": {
+ "name": "Peso Philipin"
+ },
+ "UYU": {
+ "name": "Peso Uruguay"
+ },
+ "BWP": {
+ "name": "Pula Botswana"
+ },
+ "GTQ": {
+ "name": "Quetzal Guatemala"
+ },
+ "ZAR": {
+ "name": "Rand Nam Phi"
+ },
+ "BRL": {
+ "name": "Real Braxin",
+ "symbol": "R$"
+ },
+ "IRR": {
+ "name": "Rial Iran"
+ },
+ "OMR": {
+ "name": "Rial Oman"
+ },
+ "QAR": {
+ "name": "Rial Qatar"
+ },
+ "YER": {
+ "name": "Rial Yemen"
+ },
+ "KHR": {
+ "name": "Riel Campuchia"
+ },
+ "MYR": {
+ "name": "Ringgit Malaysia"
+ },
+ "SAR": {
+ "name": "Riyal Ả Rập Xê-út"
+ },
+ "MVR": {
+ "name": "Rufiyaa Maldives"
+ },
+ "BYN": {
+ "name": "Rúp Belarus"
+ },
+ "BYR": {
+ "name": "Rúp Belarus (2000–2016)"
+ },
+ "RUB": {
+ "name": "Rúp Nga"
+ },
+ "INR": {
+ "name": "Rupee Ấn Độ",
+ "symbol": "₹"
+ },
+ "MUR": {
+ "name": "Rupee Mauritius"
+ },
+ "NPR": {
+ "name": "Rupee Nepal"
+ },
+ "PKR": {
+ "name": "Rupee Pakistan"
+ },
+ "SCR": {
+ "name": "Rupee Seychelles"
+ },
+ "LKR": {
+ "name": "Rupee Sri Lanka"
+ },
+ "IDR": {
+ "name": "Rupiah Indonesia"
+ },
+ "SOS": {
+ "name": "Schilling Somali"
+ },
+ "ILS": {
+ "name": "Sheqel Israel mới",
+ "symbol": "₪"
+ },
+ "KES": {
+ "name": "Shilling Kenya"
+ },
+ "TZS": {
+ "name": "Shilling Tanzania"
+ },
+ "UGX": {
+ "name": "Shilling Uganda"
+ },
+ "KGS": {
+ "name": "Som Kyrgyzstan"
+ },
+ "UZS": {
+ "name": "Som Uzbekistan"
+ },
+ "TJS": {
+ "name": "Somoni Tajikistan"
+ },
+ "BDT": {
+ "name": "Taka Bangladesh"
+ },
+ "WST": {
+ "name": "Tala Samoa"
+ },
+ "KZT": {
+ "name": "Tenge Kazakhstan"
+ },
+ "MNT": {
+ "name": "Tugrik Mông Cổ"
+ },
+ "VUV": {
+ "name": "Vatu Vanuatu"
+ },
+ "KRW": {
+ "name": "Won Hàn Quốc",
+ "symbol": "₩"
+ },
+ "KPW": {
+ "name": "Won Triều Tiên"
+ },
+ "JPY": {
+ "name": "Yên Nhật",
+ "symbol": "JP¥"
+ },
+ "PLN": {
+ "name": "Zloty Ba Lan"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/vun.json b/vendor/commerceguys/intl/resources/currency/vun.json
new file mode 100644
index 000000000..61220f73e
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/vun.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Ruble"
+ },
+ "BYR": {
+ "name": "Belarusian Ruble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "ETB": {
+ "name": "Bir ya Uhabeshi"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "GMD": {
+ "name": "Dalasi ya Gambia"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DZD": {
+ "name": "Dinari ya Aljeria"
+ },
+ "BHD": {
+ "name": "Dinari ya Bahareni"
+ },
+ "LYD": {
+ "name": "Dinari ya Libya"
+ },
+ "SDG": {
+ "name": "Dinari ya Sudani"
+ },
+ "TND": {
+ "name": "Dinari ya Tunisia"
+ },
+ "AED": {
+ "name": "Dirham ya Falme za Kiarabu"
+ },
+ "MAD": {
+ "name": "Dirham ya Moroko"
+ },
+ "STD": {
+ "name": "Dobra ya Sao Tome na Principe"
+ },
+ "AUD": {
+ "name": "Dola ya Australia",
+ "symbol": "A$"
+ },
+ "CAD": {
+ "name": "Dola ya Kanada",
+ "symbol": "CA$"
+ },
+ "LRD": {
+ "name": "Dola ya Liberia"
+ },
+ "USD": {
+ "name": "Dola ya Marekani",
+ "symbol": "US$"
+ },
+ "NAD": {
+ "name": "Dola ya Namibia"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "CVE": {
+ "name": "Eskudo ya Kepuvede"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "XOF": {
+ "name": "Faranga CFA BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Faranga CFA BEAC",
+ "symbol": "FCFA"
+ },
+ "MGA": {
+ "name": "Faranga ya Bukini"
+ },
+ "BIF": {
+ "name": "Faranga ya Burundi"
+ },
+ "DJF": {
+ "name": "Faranga ya Jibuti"
+ },
+ "KMF": {
+ "name": "Faranga ya Komoro"
+ },
+ "CDF": {
+ "name": "Faranga ya Kongo"
+ },
+ "RWF": {
+ "name": "Faranga ya Rwanda"
+ },
+ "CHF": {
+ "name": "Faranga ya Uswisi"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "MWK": {
+ "name": "Kwacha ya Malawi"
+ },
+ "ZMW": {
+ "name": "Kwacha ya Zambia"
+ },
+ "AOA": {
+ "name": "Kwanza ya Angola"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "SLL": {
+ "name": "Leoni"
+ },
+ "SZL": {
+ "name": "Lilangeni"
+ },
+ "LSL": {
+ "name": "Loti ya Lesoto"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NGN": {
+ "name": "Naira ya Nijeria"
+ },
+ "ERN": {
+ "name": "Nakfa ya Eritrea"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "EGP": {
+ "name": "Pauni ya Misri"
+ },
+ "SHP": {
+ "name": "Pauni ya Santahelena"
+ },
+ "GBP": {
+ "name": "Pauni ya Uingereza",
+ "symbol": "£"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "BWP": {
+ "name": "Pula ya Botswana"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "ZAR": {
+ "name": "Randi ya Afrika Kusini"
+ },
+ "SAR": {
+ "name": "Riyal ya Saudia"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "INR": {
+ "name": "Rupia ya India",
+ "symbol": "₹"
+ },
+ "MUR": {
+ "name": "Rupia ya Morisi"
+ },
+ "SCR": {
+ "name": "Rupia ya Shelisheli"
+ },
+ "RUB": {
+ "name": "Russian Ruble"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "JPY": {
+ "name": "Sarafu ya Kijapani",
+ "symbol": "JP¥"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "KES": {
+ "name": "Shilingi ya Kenya"
+ },
+ "SOS": {
+ "name": "Shilingi ya Somalia"
+ },
+ "TZS": {
+ "name": "Shilingi ya Tanzania",
+ "symbol": "TSh"
+ },
+ "UGX": {
+ "name": "Shilingi ya Uganda"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "MRO": {
+ "name": "Ugwiya ya Moritania"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "CNY": {
+ "name": "Yuan Renminbi ya China",
+ "symbol": "CN¥"
+ },
+ "EUR": {
+ "name": "Yuro",
+ "symbol": "€"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/xog.json b/vendor/commerceguys/intl/resources/currency/xog.json
new file mode 100644
index 000000000..ee12de9b3
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/xog.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Ruble"
+ },
+ "BYR": {
+ "name": "Belarusian Ruble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "ETB": {
+ "name": "Biiru ya Esyopya"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "GMD": {
+ "name": "Dalasi ya Gambya"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "SDG": {
+ "name": "Dinaali ey’eSudaani"
+ },
+ "TND": {
+ "name": "Dinaali ey’eTunizya"
+ },
+ "DZD": {
+ "name": "Dinaali y’Aligerya"
+ },
+ "BHD": {
+ "name": "Dinaali ya Baareeni"
+ },
+ "LYD": {
+ "name": "Dinaali ya Libya"
+ },
+ "MAD": {
+ "name": "Diraamu ey’eMoroko"
+ },
+ "AED": {
+ "name": "Diraamu eya Emireeti"
+ },
+ "STD": {
+ "name": "Dobura ey’eSantome ne Purincipe"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "USD": {
+ "name": "Doola ey’Amerika",
+ "symbol": "US$"
+ },
+ "AUD": {
+ "name": "Doola y’Awusiturelya",
+ "symbol": "A$"
+ },
+ "CAD": {
+ "name": "Doola ya Kanada",
+ "symbol": "CA$"
+ },
+ "LRD": {
+ "name": "Doola ya Liberya"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "CVE": {
+ "name": "Esikudo ya Keepu Veredi"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "MGA": {
+ "name": "Faranga ey’eMalagase"
+ },
+ "RWF": {
+ "name": "Faranga ey’eRwanda"
+ },
+ "CHF": {
+ "name": "Faranga ey’eSwitizirandi"
+ },
+ "BIF": {
+ "name": "Faranga ya burundi"
+ },
+ "DJF": {
+ "name": "Faranga ya Jjibuti"
+ },
+ "KMF": {
+ "name": "Faranga ya Komoro"
+ },
+ "CDF": {
+ "name": "Faranga ya Kongo"
+ },
+ "XOF": {
+ "name": "Faranga yamu Afirika ya bugwanjuba",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Faranga yamu Afirika ya wakati",
+ "symbol": "FCFA"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "MWK": {
+ "name": "Kwaca ey’eMalawi"
+ },
+ "ZMW": {
+ "name": "Kwaca ey’eZambya"
+ },
+ "AOA": {
+ "name": "Kwanza y’Angola"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "SLL": {
+ "name": "Lewone"
+ },
+ "SZL": {
+ "name": "Lilangeni"
+ },
+ "LSL": {
+ "name": "Loti ya Lesoso"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "ERN": {
+ "name": "Nakifa ya Eritureya"
+ },
+ "NAD": {
+ "name": "Namibian Dollar"
+ },
+ "NGN": {
+ "name": "Nayira ey’eNayijerya"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "SHP": {
+ "name": "Pawunda ey’eSenti Herena"
+ },
+ "GBP": {
+ "name": "Pawunda ya Bungereza",
+ "symbol": "£"
+ },
+ "EGP": {
+ "name": "Pawunda ya Misiri"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "BWP": {
+ "name": "Pula ya Botiswana"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "ZAR": {
+ "name": "Randi ey’eSawusafirika"
+ },
+ "SAR": {
+ "name": "Riyaali ey’eBuwarabu"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "MUR": {
+ "name": "Rupiya ey’eMawurisyasi"
+ },
+ "SCR": {
+ "name": "Rupiya ey’eSesere"
+ },
+ "INR": {
+ "name": "Rupiya ya Buyindi",
+ "symbol": "₹"
+ },
+ "RUB": {
+ "name": "Russian Ruble"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SOS": {
+ "name": "Silingi ey’eSomaliya"
+ },
+ "TZS": {
+ "name": "Silingi ey’eTanzaniya"
+ },
+ "UGX": {
+ "name": "Silingi eya Yuganda",
+ "symbol": "USh"
+ },
+ "KES": {
+ "name": "Silingi ya Kenya"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "MRO": {
+ "name": "Wugwiya ey’eMawritenya"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "JPY": {
+ "name": "Yeni ya Japani",
+ "symbol": "JP¥"
+ },
+ "EUR": {
+ "name": "Yuro",
+ "symbol": "€"
+ },
+ "CNY": {
+ "name": "Yuwani Reniminibi ya Cayina",
+ "symbol": "CN¥"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/yo-BJ.json b/vendor/commerceguys/intl/resources/currency/yo-BJ.json
new file mode 100644
index 000000000..6d65a0b80
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/yo-BJ.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Ruble"
+ },
+ "BYR": {
+ "name": "Belarusian Ruble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "ETB": {
+ "name": "Biri ti Orílɛ́ède Eutopia"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "GMD": {
+ "name": "Dalasi ti Orílɛ́ède Gamibia"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "AED": {
+ "name": "Diami ti Awon Orílɛ́ède Arabu"
+ },
+ "DZD": {
+ "name": "Dina ti Orílɛ́ède Àlùgèríánì"
+ },
+ "BHD": {
+ "name": "Dina ti Orílɛ́ède Báránì"
+ },
+ "LYD": {
+ "name": "Dina ti Orílɛ́ède Libiya"
+ },
+ "SDG": {
+ "name": "Dina ti Orílɛ́ède Sudani"
+ },
+ "TND": {
+ "name": "Dina ti Orílɛ́ède Tunisia"
+ },
+ "MAD": {
+ "name": "Dirami ti Orílɛ́ède Moroko"
+ },
+ "STD": {
+ "name": "Dobira ti Orílɛ́ède Sao tome Ati Pirisipe"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "USD": {
+ "name": "Dɔla ti Orílɛ́ède Amerika",
+ "symbol": "US$"
+ },
+ "AUD": {
+ "name": "Dɔla ti Orílɛ́ède Ástràlìá",
+ "symbol": "A$"
+ },
+ "CAD": {
+ "name": "Dɔla ti Orílɛ́ède Kánádà",
+ "symbol": "CA$"
+ },
+ "LRD": {
+ "name": "Dɔla ti Orílɛ́ède Liberia"
+ },
+ "NAD": {
+ "name": "Dɔla ti Orílɛ́ède Namibia"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "XAF": {
+ "name": "Faransi ti Orílɛ́ède BEKA",
+ "symbol": "FCFA"
+ },
+ "XOF": {
+ "name": "Faransi ti Orílɛ́ède BIKEAO",
+ "symbol": "CFA"
+ },
+ "BIF": {
+ "name": "Faransi ti Orílɛ́ède Bùùrúndì"
+ },
+ "DJF": {
+ "name": "Faransi ti Orílɛ́ède Dibouti"
+ },
+ "CDF": {
+ "name": "Faransi ti Orílɛ́ède Kóngò"
+ },
+ "MGA": {
+ "name": "Faransi ti Orílɛ́ède Malagasi"
+ },
+ "RWF": {
+ "name": "Faransi ti Orílɛ́ède Ruwanda"
+ },
+ "KMF": {
+ "name": "Faransi ti Orílɛ́ède shomoriani"
+ },
+ "CHF": {
+ "name": "Faransi ti Orílɛ́ède Siwisi"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "CVE": {
+ "name": "Kabofediano ti Orílɛ́ède Esuodo"
+ },
+ "MWK": {
+ "name": "Kasha ti Orílɛ́ède Malawi"
+ },
+ "ZMW": {
+ "name": "Kawasha ti Orílɛ́ède Saabia"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "SZL": {
+ "name": "Lilangeni"
+ },
+ "SLL": {
+ "name": "Lioni"
+ },
+ "LSL": {
+ "name": "Loti ti Orílɛ́ède Lesoto"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NGN": {
+ "name": "Naira ti Orílɛ́ède Nàìjíríà",
+ "symbol": "₦"
+ },
+ "ERN": {
+ "name": "Nakifa ti Orílɛ́ède Eriteriani"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "MRO": {
+ "name": "Ouguiya ti Orílɛ́ède Maritania"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "GBP": {
+ "name": "Pɔɔn ti Orílɛ́ède Bírítísì",
+ "symbol": "£"
+ },
+ "EGP": {
+ "name": "pɔɔn ti Orílɛ́ède Egipiti"
+ },
+ "SHP": {
+ "name": "Pɔɔun ti Orílɛ́ède ̣Elena"
+ },
+ "BWP": {
+ "name": "Pula ti Orílɛ́ède Bɔ̀tìsúwánà"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "ZAR": {
+ "name": "Randi ti Orílɛ́ède Ariwa Afirika"
+ },
+ "CNY": {
+ "name": "Reminibi ti Orílɛ́ède sháínà",
+ "symbol": "CN¥"
+ },
+ "SAR": {
+ "name": "Riya ti Orílɛ́ède Saudi"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "INR": {
+ "name": "Rupi ti Orílɛ́ède Indina",
+ "symbol": "₹"
+ },
+ "MUR": {
+ "name": "Rupi ti Orílɛ́ède Maritiusi"
+ },
+ "SCR": {
+ "name": "Rupi ti Orílɛ́ède Sayiselesi"
+ },
+ "RUB": {
+ "name": "Russian Ruble"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "KES": {
+ "name": "shiili ti Orílɛ́ède Kenya"
+ },
+ "UGX": {
+ "name": "Siile ti Orílɛ́ède Uganda"
+ },
+ "SOS": {
+ "name": "Sile ti Orílɛ́ède Somali"
+ },
+ "TZS": {
+ "name": "Sile ti Orílɛ́ède Tansania"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "EUR": {
+ "name": "Uro",
+ "symbol": "€"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "AOA": {
+ "name": "Wansa ti Orílɛ́ède Àngólà"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "JPY": {
+ "name": "Yeni ti Orílɛ́ède Japani",
+ "symbol": "JP¥"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/yo.json b/vendor/commerceguys/intl/resources/currency/yo.json
new file mode 100644
index 000000000..de76fd4f4
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/yo.json
@@ -0,0 +1,497 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Ruble"
+ },
+ "BYR": {
+ "name": "Belarusian Ruble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "ETB": {
+ "name": "Biri ti Orílẹ́ède Eutopia"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "GMD": {
+ "name": "Dalasi ti Orílẹ́ède Gamibia"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "AED": {
+ "name": "Diami ti Awon Orílẹ́ède Arabu"
+ },
+ "DZD": {
+ "name": "Dina ti Orílẹ́ède Àlùgèríánì"
+ },
+ "BHD": {
+ "name": "Dina ti Orílẹ́ède Báránì"
+ },
+ "LYD": {
+ "name": "Dina ti Orílẹ́ède Libiya"
+ },
+ "SDG": {
+ "name": "Dina ti Orílẹ́ède Sudani"
+ },
+ "TND": {
+ "name": "Dina ti Orílẹ́ède Tunisia"
+ },
+ "MAD": {
+ "name": "Dirami ti Orílẹ́ède Moroko"
+ },
+ "STD": {
+ "name": "Dobira ti Orílẹ́ède Sao tome Ati Pirisipe"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "USD": {
+ "name": "Dọla ti Orílẹ́ède Amerika",
+ "symbol": "US$"
+ },
+ "AUD": {
+ "name": "Dọla ti Orílẹ́ède Ástràlìá",
+ "symbol": "A$"
+ },
+ "CAD": {
+ "name": "Dọla ti Orílẹ́ède Kánádà",
+ "symbol": "CA$"
+ },
+ "LRD": {
+ "name": "Dọla ti Orílẹ́ède Liberia"
+ },
+ "NAD": {
+ "name": "Dọla ti Orílẹ́ède Namibia"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "XAF": {
+ "name": "Faransi ti Orílẹ́ède BEKA",
+ "symbol": "FCFA"
+ },
+ "XOF": {
+ "name": "Faransi ti Orílẹ́ède BIKEAO",
+ "symbol": "CFA"
+ },
+ "BIF": {
+ "name": "Faransi ti Orílẹ́ède Bùùrúndì"
+ },
+ "DJF": {
+ "name": "Faransi ti Orílẹ́ède Dibouti"
+ },
+ "CDF": {
+ "name": "Faransi ti Orílẹ́ède Kóngò"
+ },
+ "MGA": {
+ "name": "Faransi ti Orílẹ́ède Malagasi"
+ },
+ "RWF": {
+ "name": "Faransi ti Orílẹ́ède Ruwanda"
+ },
+ "CHF": {
+ "name": "Faransi ti Orílẹ́ède Siwisi"
+ },
+ "KMF": {
+ "name": "Faransi ti Orílẹ́ède ṣomoriani"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "CVE": {
+ "name": "Kabofediano ti Orílẹ́ède Esuodo"
+ },
+ "MWK": {
+ "name": "Kaṣa ti Orílẹ́ède Malawi"
+ },
+ "ZMW": {
+ "name": "Kawaṣa ti Orílẹ́ède Saabia"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "SZL": {
+ "name": "Lilangeni"
+ },
+ "SLL": {
+ "name": "Lioni"
+ },
+ "LSL": {
+ "name": "Loti ti Orílẹ́ède Lesoto"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MZN": {
+ "name": "Mozambican Metical"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NGN": {
+ "name": "Naira ti Orílẹ́ède Nàìjíríà",
+ "symbol": "₦"
+ },
+ "ERN": {
+ "name": "Nakifa ti Orílẹ́ède Eriteriani"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "MRO": {
+ "name": "Ouguiya ti Orílẹ́ède Maritania"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "GBP": {
+ "name": "Pọọn ti Orílẹ́ède Bírítísì",
+ "symbol": "£"
+ },
+ "EGP": {
+ "name": "pọọn ti Orílẹ́ède Egipiti"
+ },
+ "SHP": {
+ "name": "Pọọun ti Orílẹ́ède ̣Elena"
+ },
+ "BWP": {
+ "name": "Pula ti Orílẹ́ède Bọ̀tìsúwánà"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "ZAR": {
+ "name": "Randi ti Orílẹ́ède Ariwa Afirika"
+ },
+ "CNY": {
+ "name": "Reminibi ti Orílẹ́ède ṣáínà",
+ "symbol": "CN¥"
+ },
+ "SAR": {
+ "name": "Riya ti Orílẹ́ède Saudi"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "INR": {
+ "name": "Rupi ti Orílẹ́ède Indina",
+ "symbol": "₹"
+ },
+ "MUR": {
+ "name": "Rupi ti Orílẹ́ède Maritiusi"
+ },
+ "SCR": {
+ "name": "Rupi ti Orílẹ́ède Sayiselesi"
+ },
+ "RUB": {
+ "name": "Russian Ruble"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "UGX": {
+ "name": "Siile ti Orílẹ́ède Uganda"
+ },
+ "SOS": {
+ "name": "Sile ti Orílẹ́ède Somali"
+ },
+ "TZS": {
+ "name": "Sile ti Orílẹ́ède Tansania"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "KES": {
+ "name": "ṣiili ti Orílẹ́ède Kenya"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "EUR": {
+ "name": "Uro",
+ "symbol": "€"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "AOA": {
+ "name": "Wansa ti Orílẹ́ède Àngólà"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "JPY": {
+ "name": "Yeni ti Orílẹ́ède Japani",
+ "symbol": "JP¥"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/yue.json b/vendor/commerceguys/intl/resources/currency/yue.json
new file mode 100644
index 000000000..60ee55f85
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/yue.json
@@ -0,0 +1,496 @@
+{
+ "BTN": {
+ "name": "不丹那特倫"
+ },
+ "DKK": {
+ "name": "丹麥克朗"
+ },
+ "AZN": {
+ "name": "亞塞拜然馬納特"
+ },
+ "AMD": {
+ "name": "亞美尼亞德拉姆"
+ },
+ "CNY": {
+ "name": "人民幣",
+ "symbol": "CN¥"
+ },
+ "ILS": {
+ "name": "以色列新謝克爾",
+ "symbol": "₪"
+ },
+ "IQD": {
+ "name": "伊拉克第納爾"
+ },
+ "IRR": {
+ "name": "伊朗里亞爾"
+ },
+ "RUB": {
+ "name": "俄羅斯盧布"
+ },
+ "BGN": {
+ "name": "保加利亞新列弗"
+ },
+ "HRK": {
+ "name": "克羅埃西亞庫納"
+ },
+ "ISK": {
+ "name": "冰島克朗"
+ },
+ "LYD": {
+ "name": "利比亞第納爾"
+ },
+ "CDF": {
+ "name": "剛果法郎"
+ },
+ "CAD": {
+ "name": "加幣",
+ "symbol": "CA$"
+ },
+ "HUF": {
+ "name": "匈牙利福林"
+ },
+ "KPW": {
+ "name": "北韓圓"
+ },
+ "TTD": {
+ "name": "千里達及托巴哥元"
+ },
+ "SSP": {
+ "name": "南蘇丹鎊"
+ },
+ "ZAR": {
+ "name": "南非蘭特"
+ },
+ "KZT": {
+ "name": "卡扎克斯坦坦吉"
+ },
+ "QAR": {
+ "name": "卡達里亞爾"
+ },
+ "IDR": {
+ "name": "印尼盾"
+ },
+ "INR": {
+ "name": "印度盧比",
+ "symbol": "₹"
+ },
+ "ERN": {
+ "name": "厄立特里亞納克法"
+ },
+ "CUC": {
+ "name": "古巴可轉換披索"
+ },
+ "CUP": {
+ "name": "古巴披索"
+ },
+ "SZL": {
+ "name": "史瓦濟蘭里朗吉尼"
+ },
+ "DJF": {
+ "name": "吉布地法郎"
+ },
+ "KGS": {
+ "name": "吉爾吉斯索姆"
+ },
+ "COP": {
+ "name": "哥倫比亞披索"
+ },
+ "CRC": {
+ "name": "哥斯大黎加科朗"
+ },
+ "GEL": {
+ "name": "喬治亞拉里"
+ },
+ "TMT": {
+ "name": "土庫曼馬納特"
+ },
+ "GYD": {
+ "name": "圭亞那元"
+ },
+ "TZS": {
+ "name": "坦尚尼亞先令"
+ },
+ "EGP": {
+ "name": "埃及鎊"
+ },
+ "TJS": {
+ "name": "塔吉克索莫尼"
+ },
+ "SCR": {
+ "name": "塞席爾盧比"
+ },
+ "RSD": {
+ "name": "塞爾維亞戴納"
+ },
+ "DOP": {
+ "name": "多明尼加披索"
+ },
+ "NGN": {
+ "name": "奈及利亞奈拉"
+ },
+ "VEF": {
+ "name": "委內瑞拉玻利瓦"
+ },
+ "BDT": {
+ "name": "孟加拉塔卡"
+ },
+ "AOA": {
+ "name": "安哥拉寬扎"
+ },
+ "LAK": {
+ "name": "寮國基普"
+ },
+ "ZMW": {
+ "name": "尚比亞克瓦查"
+ },
+ "NIO": {
+ "name": "尼加拉瓜金科多巴"
+ },
+ "NPR": {
+ "name": "尼泊爾盧比"
+ },
+ "BSD": {
+ "name": "巴哈馬元"
+ },
+ "PKR": {
+ "name": "巴基斯坦盧比"
+ },
+ "PGK": {
+ "name": "巴布亞紐幾內亞基那"
+ },
+ "PYG": {
+ "name": "巴拉圭瓜拉尼"
+ },
+ "PAB": {
+ "name": "巴拿馬巴波亞"
+ },
+ "BHD": {
+ "name": "巴林第納爾"
+ },
+ "BRL": {
+ "name": "巴西里拉",
+ "symbol": "R$"
+ },
+ "BBD": {
+ "name": "巴貝多元"
+ },
+ "GNF": {
+ "name": "幾內亞法郎"
+ },
+ "NOK": {
+ "name": "挪威克朗"
+ },
+ "CZK": {
+ "name": "捷克克朗"
+ },
+ "MDL": {
+ "name": "摩杜雲列伊"
+ },
+ "MAD": {
+ "name": "摩洛哥迪拉姆"
+ },
+ "SYP": {
+ "name": "敘利亞鎊"
+ },
+ "FJD": {
+ "name": "斐濟元"
+ },
+ "LKR": {
+ "name": "斯里蘭卡盧比"
+ },
+ "SGD": {
+ "name": "新加坡幣"
+ },
+ "TWD": {
+ "name": "新台幣",
+ "symbol": "NT$"
+ },
+ "TRY": {
+ "name": "新土耳其里拉"
+ },
+ "JPY": {
+ "name": "日圓",
+ "symbol": "¥"
+ },
+ "CLP": {
+ "name": "智利披索"
+ },
+ "TOP": {
+ "name": "東加潘加"
+ },
+ "KHR": {
+ "name": "柬埔寨瑞爾"
+ },
+ "XCD": {
+ "name": "格瑞那達元",
+ "symbol": "EC$"
+ },
+ "MUR": {
+ "name": "模里西斯盧比"
+ },
+ "EUR": {
+ "name": "歐元",
+ "symbol": "€"
+ },
+ "BND": {
+ "name": "汶萊元"
+ },
+ "SAR": {
+ "name": "沙烏地里亞爾"
+ },
+ "XOF": {
+ "name": "法郎 (CFA–BCEAO)",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "法郎 (CFA–BEAC)",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "法郎 (CFP)",
+ "symbol": "CFPF"
+ },
+ "BAM": {
+ "name": "波士尼亞-赫塞哥維納可轉換馬克"
+ },
+ "BWP": {
+ "name": "波札那普拉"
+ },
+ "PLN": {
+ "name": "波蘭茲羅提"
+ },
+ "THB": {
+ "name": "泰銖"
+ },
+ "HNL": {
+ "name": "洪都拉斯倫皮拉"
+ },
+ "HTG": {
+ "name": "海地古德"
+ },
+ "HKD": {
+ "name": "港幣",
+ "symbol": "HK$"
+ },
+ "AUD": {
+ "name": "澳幣",
+ "symbol": "AU$"
+ },
+ "MOP": {
+ "name": "澳門元"
+ },
+ "UAH": {
+ "name": "烏克蘭格里夫納"
+ },
+ "UGX": {
+ "name": "烏干達先令"
+ },
+ "UYU": {
+ "name": "烏拉圭披索"
+ },
+ "UZS": {
+ "name": "烏茲別克索姆"
+ },
+ "JMD": {
+ "name": "牙買加元"
+ },
+ "SLL": {
+ "name": "獅子山利昂"
+ },
+ "BOB": {
+ "name": "玻利維亞諾"
+ },
+ "SEK": {
+ "name": "瑞典克朗"
+ },
+ "CHF": {
+ "name": "瑞士法郎"
+ },
+ "GTQ": {
+ "name": "瓜地馬拉格查爾"
+ },
+ "GMD": {
+ "name": "甘比亞達拉西"
+ },
+ "BYN": {
+ "name": "白俄羅斯盧布"
+ },
+ "BYR": {
+ "name": "白俄羅斯盧布 (2000–2016)"
+ },
+ "BMD": {
+ "name": "百慕達幣"
+ },
+ "RWF": {
+ "name": "盧安達法郎"
+ },
+ "GIP": {
+ "name": "直布羅陀鎊"
+ },
+ "FKP": {
+ "name": "福克蘭群島鎊"
+ },
+ "VUV": {
+ "name": "萬那杜瓦圖"
+ },
+ "KWD": {
+ "name": "科威特第納爾"
+ },
+ "KMF": {
+ "name": "科摩羅法郎"
+ },
+ "PEN": {
+ "name": "秘魯新太陽幣"
+ },
+ "TND": {
+ "name": "突尼西亞第納爾"
+ },
+ "JOD": {
+ "name": "約旦第納爾"
+ },
+ "NAD": {
+ "name": "納米比亞元"
+ },
+ "NZD": {
+ "name": "紐西蘭幣",
+ "symbol": "NZ$"
+ },
+ "SBD": {
+ "name": "索羅門群島元"
+ },
+ "SOS": {
+ "name": "索馬利亞先令"
+ },
+ "CVE": {
+ "name": "維德角埃斯庫多"
+ },
+ "MMK": {
+ "name": "緬甸元"
+ },
+ "RON": {
+ "name": "羅馬尼亞列伊"
+ },
+ "USD": {
+ "name": "美元",
+ "symbol": "US$"
+ },
+ "STD": {
+ "name": "聖多美島和普林西比島多布拉"
+ },
+ "SHP": {
+ "name": "聖赫勒拿鎊"
+ },
+ "KES": {
+ "name": "肯尼亞先令"
+ },
+ "GBP": {
+ "name": "英鎊",
+ "symbol": "£"
+ },
+ "MRO": {
+ "name": "茅利塔尼亞烏吉亞"
+ },
+ "ANG": {
+ "name": "荷屬安地列斯盾"
+ },
+ "MZN": {
+ "name": "莫三比克梅蒂卡爾"
+ },
+ "PHP": {
+ "name": "菲律賓披索"
+ },
+ "YER": {
+ "name": "葉門里亞爾"
+ },
+ "MNT": {
+ "name": "蒙古圖格里克"
+ },
+ "BIF": {
+ "name": "蒲隆地法郎"
+ },
+ "SVC": {
+ "name": "薩爾瓦多科郎"
+ },
+ "SDG": {
+ "name": "蘇丹鎊"
+ },
+ "SRD": {
+ "name": "蘇利南元"
+ },
+ "ETB": {
+ "name": "衣索比亞比爾"
+ },
+ "WST": {
+ "name": "西薩摩亞塔拉"
+ },
+ "BZD": {
+ "name": "貝里斯元"
+ },
+ "LRD": {
+ "name": "賴比瑞亞元"
+ },
+ "LSL": {
+ "name": "賴索托洛蒂"
+ },
+ "VND": {
+ "name": "越南盾",
+ "symbol": "₫"
+ },
+ "ZWL": {
+ "name": "辛巴威元 (2009)"
+ },
+ "GHS": {
+ "name": "迦納塞地"
+ },
+ "KYD": {
+ "name": "開曼群島元"
+ },
+ "AFN": {
+ "name": "阿富汗尼"
+ },
+ "AED": {
+ "name": "阿拉伯聯合大公國迪爾汗"
+ },
+ "OMR": {
+ "name": "阿曼里亞爾"
+ },
+ "ARS": {
+ "name": "阿根廷披索"
+ },
+ "DZD": {
+ "name": "阿爾及利亞第納爾"
+ },
+ "ALL": {
+ "name": "阿爾巴尼亞列克"
+ },
+ "AWG": {
+ "name": "阿路巴盾"
+ },
+ "KRW": {
+ "name": "韓圓",
+ "symbol": "₩"
+ },
+ "MYR": {
+ "name": "馬來西亞令吉"
+ },
+ "MKD": {
+ "name": "馬其頓第納爾"
+ },
+ "MWK": {
+ "name": "馬拉維克瓦查"
+ },
+ "MVR": {
+ "name": "馬爾地夫盧非亞"
+ },
+ "MGA": {
+ "name": "馬達加斯加阿里亞里"
+ },
+ "LBP": {
+ "name": "黎巴嫩鎊"
+ },
+ "MXN": {
+ "name": "墨西哥披索",
+ "symbol": "MX$"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/zgh.json b/vendor/commerceguys/intl/resources/currency/zgh.json
new file mode 100644
index 000000000..dccd83038
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/zgh.json
@@ -0,0 +1,496 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani"
+ },
+ "ALL": {
+ "name": "Albanian Lek"
+ },
+ "ARS": {
+ "name": "Argentine Peso"
+ },
+ "AMD": {
+ "name": "Armenian Dram"
+ },
+ "AWG": {
+ "name": "Aruban Florin"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "Belarusian Ruble"
+ },
+ "BYR": {
+ "name": "Belarusian Ruble (2000–2016)"
+ },
+ "BZD": {
+ "name": "Belize Dollar"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "BND": {
+ "name": "Brunei Dollar"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev"
+ },
+ "KHR": {
+ "name": "Cambodian Riel"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso"
+ },
+ "COP": {
+ "name": "Colombian Peso"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso"
+ },
+ "CUP": {
+ "name": "Cuban Peso"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "Danish Krone"
+ },
+ "DOP": {
+ "name": "Dominican Peso"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "Fijian Dollar"
+ },
+ "GEL": {
+ "name": "Georgian Lari"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "Guinean Franc"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "Haitian Gourde"
+ },
+ "HNL": {
+ "name": "Honduran Lempira"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint"
+ },
+ "ISK": {
+ "name": "Icelandic Króna"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "Iranian Rial"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "Laotian Kip"
+ },
+ "LBP": {
+ "name": "Lebanese Pound"
+ },
+ "MOP": {
+ "name": "Macanese Pataca"
+ },
+ "MKD": {
+ "name": "Macedonian Denar"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba"
+ },
+ "KPW": {
+ "name": "North Korean Won"
+ },
+ "NOK": {
+ "name": "Norwegian Krone"
+ },
+ "OMR": {
+ "name": "Omani Rial"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "Peruvian Sol"
+ },
+ "PHP": {
+ "name": "Philippine Peso"
+ },
+ "PLN": {
+ "name": "Polish Zloty"
+ },
+ "QAR": {
+ "name": "Qatari Rial"
+ },
+ "RON": {
+ "name": "Romanian Leu"
+ },
+ "RUB": {
+ "name": "Russian Ruble"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "WST": {
+ "name": "Samoan Tala"
+ },
+ "RSD": {
+ "name": "Serbian Dinar"
+ },
+ "SGD": {
+ "name": "Singapore Dollar"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar"
+ },
+ "SEK": {
+ "name": "Swedish Krona"
+ },
+ "SYP": {
+ "name": "Syrian Pound"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni"
+ },
+ "THB": {
+ "name": "Thai Baht"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar"
+ },
+ "TRY": {
+ "name": "Turkish Lira"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "YER": {
+ "name": "Yemeni Rial"
+ },
+ "BWP": {
+ "name": "ⴰⴱⵓⵍⴰ ⵏ ⴱⵓⵜⵙⵡⴰⵏⴰ"
+ },
+ "BHD": {
+ "name": "ⴰⴷⵉⵏⴰⵔ ⵏ ⴱⵃⵔⴰⵢⵏ"
+ },
+ "DZD": {
+ "name": "ⴰⴷⵉⵏⴰⵔ ⵏ ⴷⵣⴰⵢⵔ"
+ },
+ "LYD": {
+ "name": "ⴰⴷⵉⵏⴰⵔ ⵏ ⵍⵉⴱⵢⴰ"
+ },
+ "SDG": {
+ "name": "ⴰⴷⵉⵏⴰⵔ ⵏ ⵙⵙⵓⴷⴰⵏ"
+ },
+ "TND": {
+ "name": "ⴰⴷⵉⵏⴰⵔ ⵏ ⵜⵓⵏⵙ"
+ },
+ "STD": {
+ "name": "ⴰⴷⵓⴱⵔⴰ ⵏ ⵙⴰⵏⵟⵓⵎⵉ"
+ },
+ "CAD": {
+ "name": "ⴰⴷⵓⵍⴰⵔ ⵏ ⴽⴰⵏⴰⴷⴰ",
+ "symbol": "CA$"
+ },
+ "USD": {
+ "name": "ⴰⴷⵓⵍⴰⵔ ⵏ ⵉⵡⵓⵏⴰⴽ ⵉⵎⵓⵏⵏ",
+ "symbol": "US$"
+ },
+ "LRD": {
+ "name": "ⴰⴷⵓⵍⴰⵔ ⵏ ⵍⵉⴱⵉⵔⵢⴰ"
+ },
+ "NAD": {
+ "name": "ⴰⴷⵓⵍⴰⵔ ⵏ ⵏⴰⵎⵉⴱⵢⴰ"
+ },
+ "AUD": {
+ "name": "ⴰⴷⵓⵍⴰⵔ ⵏ ⵓⵙⵜⵔⴰⵍⵢⴰ",
+ "symbol": "A$"
+ },
+ "ZWL": {
+ "name": "ⴰⴷⵓⵍⴰⵔ ⵏ ⵣⵉⵎⴱⴰⴱⵡⵉ (2009)"
+ },
+ "AED": {
+ "name": "ⴰⴷⵔⵉⵎ ⵏ ⵍⵉⵎⴰⵔⴰⵜ"
+ },
+ "MAD": {
+ "name": "ⴰⴷⵔⵉⵎ ⵏ ⵍⵎⵖⵔⵉⴱ"
+ },
+ "RWF": {
+ "name": "ⴰⴼⵔⴰⵏⴽ ⵏ ⵔⵡⴰⵏⴷⴰ"
+ },
+ "CHF": {
+ "name": "ⴰⴼⵔⴰⵏⴽ ⵏ ⵙⵡⵉⵙⵔⴰ"
+ },
+ "ZMW": {
+ "name": "ⴰⴽⵡⴰⵛⴰ ⵏ ⵣⴰⵎⴱⵢⴰ"
+ },
+ "GBP": {
+ "name": "ⴰⵊⵏⵉⵀ ⴰⵙⵜⵔⵍⵉⵏⵉ ⵏ ⵏⵏⴳⵍⵉⵣ",
+ "symbol": "£"
+ },
+ "EGP": {
+ "name": "ⴰⵊⵏⵉⵀ ⵏ ⵎⵉⵚⵕ"
+ },
+ "SHP": {
+ "name": "ⴰⵊⵏⵉⵀ ⵏ ⵙⴰⵏⵜⵉⵍⵉⵏ"
+ },
+ "MZN": {
+ "name": "ⴰⵎⵉⵜⵉⴽⵍ ⵏ ⵎⵓⵣⵏⴱⵉⵇ"
+ },
+ "ZAR": {
+ "name": "ⴰⵔⴰⵏⴷ ⵏ ⴰⴼⵔⵉⵇⵢⴰ ⵏ ⵉⴼⴼⵓⵙ"
+ },
+ "INR": {
+ "name": "ⴰⵔⵓⴱⵉ ⵏ ⵍⵀⵉⵏⴷ",
+ "symbol": "₹"
+ },
+ "MUR": {
+ "name": "ⴰⵔⵓⴱⵉ ⵏ ⵎⵓⵔⵉⵙ"
+ },
+ "SCR": {
+ "name": "ⴰⵔⵓⴱⵉ ⵏ ⵙⵙⵉⵛⵉⵍ"
+ },
+ "SAR": {
+ "name": "ⴰⵔⵢⴰⵍ ⵏ ⵙⵙⴰⵄⵓⴷⵉⵢⴰ"
+ },
+ "KES": {
+ "name": "ⴰⵛⵉⵍⵉⵏ ⵏ ⴽⵉⵏⵢⴰ"
+ },
+ "UGX": {
+ "name": "ⴰⵛⵉⵍⵉⵏ ⵏ ⵓⵖⴰⵏⴷⴰ"
+ },
+ "SOS": {
+ "name": "ⴰⵛⵉⵍⵉⵏ ⵏ ⵚⵚⵓⵎⴰⵍ"
+ },
+ "TZS": {
+ "name": "ⴰⵛⵉⵍⵉⵏ ⵏ ⵟⴰⵏⵥⴰⵏⵢⴰ"
+ },
+ "JPY": {
+ "name": "ⴰⵢⴰⵏ ⵏ ⵍⵢⴰⴱⴰⵏ",
+ "symbol": "JP¥"
+ },
+ "CNY": {
+ "name": "ⴰⵢⴰⵏ ⵏ ⵛⵛⵉⵏⵡⴰ",
+ "symbol": "CN¥"
+ },
+ "ETB": {
+ "name": "ⴱⵉⵔ ⵏ ⵉⵜⵢⵓⴱⵢⴰ"
+ },
+ "GMD": {
+ "name": "ⴷⴰⵍⴰⵙⵉ ⵏ ⴳⴰⵎⴱⵢⴰ"
+ },
+ "BIF": {
+ "name": "ⴼⵔⴰⵏⴽ ⵏ ⴱⵓⵔⵓⵏⴷⵉ"
+ },
+ "DJF": {
+ "name": "ⴼⵔⴰⵏⴽ ⵏ ⴷⵊⵉⴱⵓⵜⵉ"
+ },
+ "CDF": {
+ "name": "ⴼⵔⴰⵏⴽ ⵏ ⴽⵓⵏⴳⵓ"
+ },
+ "KMF": {
+ "name": "ⴼⵔⴰⵏⴽ ⵏ ⵇⵓⵎⵓⵕ"
+ },
+ "MGA": {
+ "name": "ⴼⵔⴰⵏⴽ ⵏ ⵎⴰⴷⴰⵖⴰⵛⵇⴰⵔ"
+ },
+ "XAF": {
+ "name": "ⴼⵔⴰⵏⴽ ⵚⵉⴼⴰ",
+ "symbol": "FCFA"
+ },
+ "XOF": {
+ "name": "ⴼⵔⴰⵏⴽ ⵚⵉⴼⴰ ⴱⵉⵙⴰⵡ",
+ "symbol": "CFA"
+ },
+ "AOA": {
+ "name": "ⴽⵡⴰⵏⵣⴰ ⵏ ⴰⵏⴳⵓⵍⴰ"
+ },
+ "MWK": {
+ "name": "ⴽⵡⴰⵛⴰ ⵏ ⵎⴰⵍⴰⵡⵉ"
+ },
+ "CVE": {
+ "name": "ⵉⵙⴽⵓⴷⵓ ⵏ ⴽⴰⴱⴱⵉⵔⴷⵉ"
+ },
+ "SZL": {
+ "name": "ⵍⵉⵍⴰⵏⵊⵉⵏⵉ"
+ },
+ "SLL": {
+ "name": "ⵍⵉⵢⵓⵏ"
+ },
+ "LSL": {
+ "name": "ⵍⵓⵜⵉ ⵏ ⵍⵉⵚⵓⵟⵓ"
+ },
+ "ERN": {
+ "name": "ⵏⴰⴼⴽⴰ ⵏ ⵉⵔⵉⵜⵉⵔⵢⴰ"
+ },
+ "NGN": {
+ "name": "ⵏⴰⵢⵔⴰ ⵏ ⵏⵉⵊⵉⵔⵢⴰ"
+ },
+ "MRO": {
+ "name": "ⵓⵇⵉⵢⵢⴰ ⵏ ⵎⵓⵕⵉⵟⴰⵏⵢⴰ"
+ },
+ "EUR": {
+ "name": "ⵓⵔⵓ",
+ "symbol": "€"
+ },
+ "GHS": {
+ "name": "ⵙⵉⴷⵉ ⵏ ⵖⴰⵏⴰ"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/zh-Hans-HK.json b/vendor/commerceguys/intl/resources/currency/zh-Hans-HK.json
new file mode 100644
index 000000000..b3e6889e1
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/zh-Hans-HK.json
@@ -0,0 +1,496 @@
+{
+ "ALL": {
+ "name": "阿尔巴尼亚列克"
+ },
+ "DZD": {
+ "name": "阿尔及利亚第纳尔"
+ },
+ "AFN": {
+ "name": "阿富汗尼"
+ },
+ "ARS": {
+ "name": "阿根廷比索"
+ },
+ "AED": {
+ "name": "阿联酋迪拉姆"
+ },
+ "AWG": {
+ "name": "阿鲁巴弗罗林"
+ },
+ "OMR": {
+ "name": "阿曼里亚尔"
+ },
+ "AZN": {
+ "name": "阿塞拜疆马纳特"
+ },
+ "EGP": {
+ "name": "埃及镑"
+ },
+ "ETB": {
+ "name": "埃塞俄比亚比尔"
+ },
+ "AOA": {
+ "name": "安哥拉宽扎"
+ },
+ "AUD": {
+ "name": "澳大利亚元",
+ "symbol": "AU$"
+ },
+ "MOP": {
+ "name": "澳门币"
+ },
+ "BBD": {
+ "name": "巴巴多斯元"
+ },
+ "PGK": {
+ "name": "巴布亚新几内亚基那"
+ },
+ "BSD": {
+ "name": "巴哈马元"
+ },
+ "PKR": {
+ "name": "巴基斯坦卢比"
+ },
+ "PYG": {
+ "name": "巴拉圭瓜拉尼"
+ },
+ "BHD": {
+ "name": "巴林第纳尔"
+ },
+ "PAB": {
+ "name": "巴拿马巴波亚"
+ },
+ "BRL": {
+ "name": "巴西雷亚尔",
+ "symbol": "R$"
+ },
+ "BYN": {
+ "name": "白俄罗斯卢布"
+ },
+ "BYR": {
+ "name": "白俄罗斯卢布 (2000–2016)"
+ },
+ "BMD": {
+ "name": "百慕大元"
+ },
+ "BGN": {
+ "name": "保加利亚列弗"
+ },
+ "ISK": {
+ "name": "冰岛克朗"
+ },
+ "PLN": {
+ "name": "波兰兹罗提"
+ },
+ "BAM": {
+ "name": "波斯尼亚-黑塞哥维那可兑换马克"
+ },
+ "BOB": {
+ "name": "玻利维亚诺"
+ },
+ "BZD": {
+ "name": "伯利兹元"
+ },
+ "BWP": {
+ "name": "博茨瓦纳普拉"
+ },
+ "BTN": {
+ "name": "不丹努尔特鲁姆"
+ },
+ "BIF": {
+ "name": "布隆迪法郎"
+ },
+ "KPW": {
+ "name": "朝鲜元"
+ },
+ "DKK": {
+ "name": "丹麦克朗"
+ },
+ "XCD": {
+ "name": "东加勒比元",
+ "symbol": "EC$"
+ },
+ "DOP": {
+ "name": "多米尼加比索"
+ },
+ "RUB": {
+ "name": "俄罗斯卢布"
+ },
+ "ERN": {
+ "name": "厄立特里亚纳克法"
+ },
+ "PHP": {
+ "name": "菲律宾比索"
+ },
+ "FJD": {
+ "name": "斐济元"
+ },
+ "CVE": {
+ "name": "佛得角埃斯库多"
+ },
+ "FKP": {
+ "name": "福克兰群岛镑"
+ },
+ "GMD": {
+ "name": "冈比亚达拉西"
+ },
+ "CDF": {
+ "name": "刚果法郎"
+ },
+ "HKD": {
+ "name": "港元",
+ "symbol": "HK$"
+ },
+ "COP": {
+ "name": "哥伦比亚比索"
+ },
+ "CRC": {
+ "name": "哥斯达黎加科朗"
+ },
+ "GEL": {
+ "name": "格鲁吉亚拉里"
+ },
+ "CUP": {
+ "name": "古巴比索"
+ },
+ "CUC": {
+ "name": "古巴可兑换比索"
+ },
+ "GYD": {
+ "name": "圭亚那元"
+ },
+ "KZT": {
+ "name": "哈萨克斯坦坚戈"
+ },
+ "HTG": {
+ "name": "海地古德"
+ },
+ "KRW": {
+ "name": "韩元",
+ "symbol": "₩"
+ },
+ "ANG": {
+ "name": "荷属安的列斯盾"
+ },
+ "HNL": {
+ "name": "洪都拉斯伦皮拉"
+ },
+ "DJF": {
+ "name": "吉布提法郎"
+ },
+ "KGS": {
+ "name": "吉尔吉斯斯坦索姆"
+ },
+ "GNF": {
+ "name": "几内亚法郎"
+ },
+ "CAD": {
+ "name": "加拿大元",
+ "symbol": "CA$"
+ },
+ "GHS": {
+ "name": "加纳塞地"
+ },
+ "KHR": {
+ "name": "柬埔寨瑞尔"
+ },
+ "CZK": {
+ "name": "捷克克朗"
+ },
+ "ZWL": {
+ "name": "津巴布韦元 (2009)"
+ },
+ "QAR": {
+ "name": "卡塔尔里亚尔"
+ },
+ "KYD": {
+ "name": "开曼群岛元"
+ },
+ "KMF": {
+ "name": "科摩罗法郎"
+ },
+ "KWD": {
+ "name": "科威特第纳尔"
+ },
+ "HRK": {
+ "name": "克罗地亚库纳"
+ },
+ "KES": {
+ "name": "肯尼亚先令"
+ },
+ "LSL": {
+ "name": "莱索托洛蒂"
+ },
+ "LAK": {
+ "name": "老挝基普"
+ },
+ "LBP": {
+ "name": "黎巴嫩镑"
+ },
+ "LRD": {
+ "name": "利比里亚元"
+ },
+ "LYD": {
+ "name": "利比亚第纳尔"
+ },
+ "RWF": {
+ "name": "卢旺达法郎"
+ },
+ "RON": {
+ "name": "罗马尼亚列伊"
+ },
+ "MGA": {
+ "name": "马达加斯加阿里亚里"
+ },
+ "MVR": {
+ "name": "马尔代夫卢菲亚"
+ },
+ "MWK": {
+ "name": "马拉维克瓦查"
+ },
+ "MYR": {
+ "name": "马来西亚林吉特"
+ },
+ "MKD": {
+ "name": "马其顿第纳尔"
+ },
+ "MUR": {
+ "name": "毛里求斯卢比"
+ },
+ "MRO": {
+ "name": "毛里塔尼亚乌吉亚"
+ },
+ "USD": {
+ "name": "美元",
+ "symbol": "US$"
+ },
+ "MNT": {
+ "name": "蒙古图格里克"
+ },
+ "BDT": {
+ "name": "孟加拉塔卡"
+ },
+ "PEN": {
+ "name": "秘鲁新索尔"
+ },
+ "MMK": {
+ "name": "缅甸元"
+ },
+ "MDL": {
+ "name": "摩尔多瓦列伊"
+ },
+ "MAD": {
+ "name": "摩洛哥迪拉姆"
+ },
+ "MZN": {
+ "name": "莫桑比克美提卡"
+ },
+ "MXN": {
+ "name": "墨西哥比索",
+ "symbol": "MX$"
+ },
+ "NAD": {
+ "name": "纳米比亚元"
+ },
+ "ZAR": {
+ "name": "南非兰特"
+ },
+ "SSP": {
+ "name": "南苏丹镑"
+ },
+ "NIO": {
+ "name": "尼加拉瓜科多巴"
+ },
+ "NPR": {
+ "name": "尼泊尔卢比"
+ },
+ "NGN": {
+ "name": "尼日利亚奈拉"
+ },
+ "NOK": {
+ "name": "挪威克朗"
+ },
+ "EUR": {
+ "name": "欧元",
+ "symbol": "€"
+ },
+ "CNY": {
+ "name": "人民币",
+ "symbol": "CN¥"
+ },
+ "JPY": {
+ "name": "日元",
+ "symbol": "JP¥"
+ },
+ "SEK": {
+ "name": "瑞典克朗"
+ },
+ "CHF": {
+ "name": "瑞士法郎"
+ },
+ "SVC": {
+ "name": "萨尔瓦多科朗"
+ },
+ "WST": {
+ "name": "萨摩亚塔拉"
+ },
+ "RSD": {
+ "name": "塞尔维亚第纳尔"
+ },
+ "SLL": {
+ "name": "塞拉利昂利昂"
+ },
+ "SCR": {
+ "name": "塞舌尔卢比"
+ },
+ "SAR": {
+ "name": "沙特里亚尔"
+ },
+ "STD": {
+ "name": "圣多美和普林西比多布拉"
+ },
+ "SHP": {
+ "name": "圣赫勒拿群岛磅"
+ },
+ "LKR": {
+ "name": "斯里兰卡卢比"
+ },
+ "SZL": {
+ "name": "斯威士兰里兰吉尼"
+ },
+ "SDG": {
+ "name": "苏丹镑"
+ },
+ "SRD": {
+ "name": "苏里南元"
+ },
+ "SBD": {
+ "name": "所罗门群岛元"
+ },
+ "SOS": {
+ "name": "索马里先令"
+ },
+ "TJS": {
+ "name": "塔吉克斯坦索莫尼"
+ },
+ "XPF": {
+ "name": "太平洋法郎",
+ "symbol": "CFPF"
+ },
+ "THB": {
+ "name": "泰铢"
+ },
+ "TZS": {
+ "name": "坦桑尼亚先令"
+ },
+ "TOP": {
+ "name": "汤加潘加"
+ },
+ "TTD": {
+ "name": "特立尼达和多巴哥元"
+ },
+ "TND": {
+ "name": "突尼斯第纳尔"
+ },
+ "TRY": {
+ "name": "土耳其里拉"
+ },
+ "TMT": {
+ "name": "土库曼斯坦马纳特"
+ },
+ "VUV": {
+ "name": "瓦努阿图瓦图"
+ },
+ "GTQ": {
+ "name": "危地马拉格查尔"
+ },
+ "VEF": {
+ "name": "委内瑞拉玻利瓦尔"
+ },
+ "BND": {
+ "name": "文莱元"
+ },
+ "UGX": {
+ "name": "乌干达先令"
+ },
+ "UAH": {
+ "name": "乌克兰格里夫纳"
+ },
+ "UYU": {
+ "name": "乌拉圭比索"
+ },
+ "UZS": {
+ "name": "乌兹别克斯坦苏姆"
+ },
+ "XOF": {
+ "name": "西非法郎",
+ "symbol": "CFA"
+ },
+ "SGD": {
+ "name": "新加坡元"
+ },
+ "TWD": {
+ "name": "新台币",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "新西兰元",
+ "symbol": "NZ$"
+ },
+ "HUF": {
+ "name": "匈牙利福林"
+ },
+ "SYP": {
+ "name": "叙利亚镑"
+ },
+ "JMD": {
+ "name": "牙买加元"
+ },
+ "AMD": {
+ "name": "亚美尼亚德拉姆"
+ },
+ "YER": {
+ "name": "也门里亚尔"
+ },
+ "IQD": {
+ "name": "伊拉克第纳尔"
+ },
+ "IRR": {
+ "name": "伊朗里亚尔"
+ },
+ "ILS": {
+ "name": "以色列新谢克尔",
+ "symbol": "₪"
+ },
+ "INR": {
+ "name": "印度卢比",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "印度尼西亚盾"
+ },
+ "GBP": {
+ "name": "英镑",
+ "symbol": "£"
+ },
+ "JOD": {
+ "name": "约旦第纳尔"
+ },
+ "VND": {
+ "name": "越南盾",
+ "symbol": "₫"
+ },
+ "ZMW": {
+ "name": "赞比亚克瓦查"
+ },
+ "GIP": {
+ "name": "直布罗陀镑"
+ },
+ "CLP": {
+ "name": "智利比索"
+ },
+ "XAF": {
+ "name": "中非法郎",
+ "symbol": "FCFA"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/zh-Hant-HK.json b/vendor/commerceguys/intl/resources/currency/zh-Hant-HK.json
new file mode 100644
index 000000000..2e7f33b46
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/zh-Hant-HK.json
@@ -0,0 +1,496 @@
+{
+ "CNY": {
+ "name": "人民幣",
+ "symbol": "CN¥"
+ },
+ "YER": {
+ "name": "也門里雅"
+ },
+ "TTD": {
+ "name": "千里達和多巴哥元"
+ },
+ "TMT": {
+ "name": "土庫曼馬納特"
+ },
+ "BTN": {
+ "name": "不丹那特倫"
+ },
+ "XAF": {
+ "name": "中非法郎",
+ "symbol": "FCFA"
+ },
+ "DKK": {
+ "name": "丹麥克朗"
+ },
+ "ERN": {
+ "name": "厄立特里亞納克法"
+ },
+ "XPF": {
+ "name": "太平洋法郎",
+ "symbol": "CFPF"
+ },
+ "BBD": {
+ "name": "巴巴多斯元"
+ },
+ "PGK": {
+ "name": "巴布亞新幾內亞基那"
+ },
+ "BRL": {
+ "name": "巴西里拉",
+ "symbol": "R$"
+ },
+ "PYG": {
+ "name": "巴拉圭瓜拉尼"
+ },
+ "BHD": {
+ "name": "巴林第納爾"
+ },
+ "BSD": {
+ "name": "巴哈馬元"
+ },
+ "PAB": {
+ "name": "巴拿馬巴波亞"
+ },
+ "PKR": {
+ "name": "巴基斯坦盧比"
+ },
+ "JPY": {
+ "name": "日圓",
+ "symbol": "¥"
+ },
+ "MRO": {
+ "name": "毛里塔尼亞烏吉亞"
+ },
+ "MUR": {
+ "name": "毛里裘斯盧布"
+ },
+ "JMD": {
+ "name": "牙買加元"
+ },
+ "ILS": {
+ "name": "以色列新謝克爾",
+ "symbol": "₪"
+ },
+ "CAD": {
+ "name": "加拿大元",
+ "symbol": "CA$"
+ },
+ "GHS": {
+ "name": "加納塞地"
+ },
+ "KPW": {
+ "name": "北韓圜"
+ },
+ "QAR": {
+ "name": "卡塔爾里亞爾"
+ },
+ "CUC": {
+ "name": "古巴可轉換披索"
+ },
+ "CUP": {
+ "name": "古巴披索"
+ },
+ "NGN": {
+ "name": "尼日利亞奈拉"
+ },
+ "NIO": {
+ "name": "尼加拉瓜金科多巴"
+ },
+ "NPR": {
+ "name": "尼泊爾盧比"
+ },
+ "BIF": {
+ "name": "布隆迪法郎"
+ },
+ "VUV": {
+ "name": "瓦努阿圖瓦圖"
+ },
+ "BYN": {
+ "name": "白俄羅斯盧布"
+ },
+ "BYR": {
+ "name": "白俄羅斯盧布 (2000–2016)"
+ },
+ "IQD": {
+ "name": "伊拉克第納爾"
+ },
+ "IRR": {
+ "name": "伊朗里亞爾"
+ },
+ "ISK": {
+ "name": "冰島克朗"
+ },
+ "HUF": {
+ "name": "匈牙利福林"
+ },
+ "IDR": {
+ "name": "印尼盾"
+ },
+ "INR": {
+ "name": "印度盧比",
+ "symbol": "₹"
+ },
+ "GTQ": {
+ "name": "危地馬拉格查爾"
+ },
+ "DJF": {
+ "name": "吉布提法郎"
+ },
+ "KGS": {
+ "name": "吉爾吉斯索姆"
+ },
+ "GYD": {
+ "name": "圭亞那元"
+ },
+ "DOP": {
+ "name": "多米尼加披索"
+ },
+ "XOF": {
+ "name": "多哥非洲共同體法郎",
+ "symbol": "CFA"
+ },
+ "AOA": {
+ "name": "安哥拉寬扎"
+ },
+ "BMD": {
+ "name": "百慕達幣"
+ },
+ "LAK": {
+ "name": "老撾基普"
+ },
+ "WST": {
+ "name": "西薩摩亞塔拉"
+ },
+ "BZD": {
+ "name": "伯利茲元"
+ },
+ "CVE": {
+ "name": "佛得角埃斯庫多"
+ },
+ "HRK": {
+ "name": "克羅地亞庫納"
+ },
+ "LRD": {
+ "name": "利比利亞元"
+ },
+ "LYD": {
+ "name": "利比亞第納爾"
+ },
+ "BND": {
+ "name": "汶萊元"
+ },
+ "SAR": {
+ "name": "沙特阿拉伯里亞爾"
+ },
+ "ZWL": {
+ "name": "辛巴威元 (2009)"
+ },
+ "AMD": {
+ "name": "亞美尼亞德拉姆"
+ },
+ "AZN": {
+ "name": "亞塞拜疆馬納特"
+ },
+ "TZS": {
+ "name": "坦桑尼亞先令"
+ },
+ "VEF": {
+ "name": "委內瑞拉玻利瓦"
+ },
+ "BDT": {
+ "name": "孟加拉塔卡"
+ },
+ "GMD": {
+ "name": "岡比亞達拉西"
+ },
+ "SBD": {
+ "name": "所羅門群島元"
+ },
+ "XCD": {
+ "name": "東加勒比元",
+ "symbol": "EC$"
+ },
+ "BAM": {
+ "name": "波斯尼亞-赫塞哥維納可轉換馬克"
+ },
+ "PLN": {
+ "name": "波蘭茲羅提"
+ },
+ "GIP": {
+ "name": "直布羅陀鎊"
+ },
+ "KES": {
+ "name": "肯雅先令"
+ },
+ "AED": {
+ "name": "阿拉伯聯合酋長國迪爾汗"
+ },
+ "ARS": {
+ "name": "阿根廷披索"
+ },
+ "OMR": {
+ "name": "阿曼里奧"
+ },
+ "AFN": {
+ "name": "阿富汗尼"
+ },
+ "DZD": {
+ "name": "阿爾及利亞第納爾"
+ },
+ "ALL": {
+ "name": "阿爾巴尼亞列克"
+ },
+ "AWG": {
+ "name": "阿魯巴盾"
+ },
+ "RUB": {
+ "name": "俄羅斯盧布"
+ },
+ "BGN": {
+ "name": "保加利亞新列弗"
+ },
+ "ZAR": {
+ "name": "南非蘭特"
+ },
+ "SSP": {
+ "name": "南蘇丹鎊"
+ },
+ "KZT": {
+ "name": "哈薩克坦吉"
+ },
+ "KHR": {
+ "name": "柬埔寨里爾"
+ },
+ "HNL": {
+ "name": "洪都拉斯倫皮拉"
+ },
+ "BOB": {
+ "name": "玻利維亞諾"
+ },
+ "KWD": {
+ "name": "科威特第納爾"
+ },
+ "KMF": {
+ "name": "科摩羅法郎"
+ },
+ "TND": {
+ "name": "突尼西亞第納爾"
+ },
+ "JOD": {
+ "name": "約旦第納爾"
+ },
+ "USD": {
+ "name": "美元",
+ "symbol": "US$"
+ },
+ "GBP": {
+ "name": "英鎊",
+ "symbol": "£"
+ },
+ "CDF": {
+ "name": "剛果法郎"
+ },
+ "COP": {
+ "name": "哥倫比亞披索"
+ },
+ "CRC": {
+ "name": "哥斯達黎加科郎"
+ },
+ "EGP": {
+ "name": "埃及鎊"
+ },
+ "ETB": {
+ "name": "埃塞俄比亞比爾"
+ },
+ "NOK": {
+ "name": "挪威克朗"
+ },
+ "GEL": {
+ "name": "格魯吉亞拉里"
+ },
+ "THB": {
+ "name": "泰銖"
+ },
+ "HTG": {
+ "name": "海地古德"
+ },
+ "UGX": {
+ "name": "烏干達先令"
+ },
+ "UAH": {
+ "name": "烏克蘭格里夫納"
+ },
+ "UYU": {
+ "name": "烏拉圭披索"
+ },
+ "UZS": {
+ "name": "烏茲別克索姆"
+ },
+ "PEN": {
+ "name": "秘魯新太陽幣"
+ },
+ "NAD": {
+ "name": "納米比亞元"
+ },
+ "NZD": {
+ "name": "紐西蘭元",
+ "symbol": "NZ$"
+ },
+ "SOS": {
+ "name": "索馬里先令"
+ },
+ "MYR": {
+ "name": "馬來西亞令吉"
+ },
+ "MKD": {
+ "name": "馬其頓第納爾"
+ },
+ "MWK": {
+ "name": "馬拉維克瓦查"
+ },
+ "MGA": {
+ "name": "馬達加斯加阿里亞里"
+ },
+ "MVR": {
+ "name": "馬爾代夫盧非亞"
+ },
+ "CZK": {
+ "name": "捷克克朗"
+ },
+ "SYP": {
+ "name": "敍利亞鎊"
+ },
+ "ANG": {
+ "name": "荷屬安地列斯盾"
+ },
+ "MZN": {
+ "name": "莫桑比克梅蒂卡爾"
+ },
+ "BWP": {
+ "name": "博茨瓦納普拉"
+ },
+ "GNF": {
+ "name": "幾內亞法郎"
+ },
+ "FJD": {
+ "name": "斐濟元"
+ },
+ "LKR": {
+ "name": "斯里蘭卡盧比"
+ },
+ "SZL": {
+ "name": "斯威士蘭里朗吉尼"
+ },
+ "CLP": {
+ "name": "智利披索"
+ },
+ "HKD": {
+ "name": "港元",
+ "symbol": "HK$"
+ },
+ "TOP": {
+ "name": "湯加潘加"
+ },
+ "PHP": {
+ "name": "菲律賓披索"
+ },
+ "VND": {
+ "name": "越南盾",
+ "symbol": "₫"
+ },
+ "KYD": {
+ "name": "開曼群島元"
+ },
+ "TJS": {
+ "name": "塔吉克索莫尼"
+ },
+ "SCR": {
+ "name": "塞舌爾盧比"
+ },
+ "SLL": {
+ "name": "塞拉利昂利昂"
+ },
+ "RSD": {
+ "name": "塞爾維亞第納爾"
+ },
+ "TRY": {
+ "name": "新土耳其里拉"
+ },
+ "SGD": {
+ "name": "新加坡元"
+ },
+ "TWD": {
+ "name": "新台幣",
+ "symbol": "NT$"
+ },
+ "CHF": {
+ "name": "瑞士法郎"
+ },
+ "SEK": {
+ "name": "瑞典克朗"
+ },
+ "STD": {
+ "name": "聖多美和普林西比多布拉"
+ },
+ "SHP": {
+ "name": "聖赫勒拿鎊"
+ },
+ "FKP": {
+ "name": "福克蘭群島鎊"
+ },
+ "MNT": {
+ "name": "蒙古圖格里克"
+ },
+ "MAD": {
+ "name": "摩洛哥迪拉姆"
+ },
+ "MDL": {
+ "name": "摩爾多瓦列伊"
+ },
+ "EUR": {
+ "name": "歐元",
+ "symbol": "€"
+ },
+ "MMK": {
+ "name": "緬甸元"
+ },
+ "LBP": {
+ "name": "黎巴嫩鎊"
+ },
+ "MXN": {
+ "name": "墨西哥披索",
+ "symbol": "MX$"
+ },
+ "AUD": {
+ "name": "澳元",
+ "symbol": "AU$"
+ },
+ "MOP": {
+ "name": "澳門元"
+ },
+ "RWF": {
+ "name": "盧旺達法郎"
+ },
+ "LSL": {
+ "name": "賴索托洛蒂"
+ },
+ "KRW": {
+ "name": "韓圓",
+ "symbol": "₩"
+ },
+ "SVC": {
+ "name": "薩爾瓦多科郎"
+ },
+ "RON": {
+ "name": "羅馬尼亞列伊"
+ },
+ "ZMW": {
+ "name": "贊比亞克瓦查"
+ },
+ "SDG": {
+ "name": "蘇丹鎊"
+ },
+ "SRD": {
+ "name": "蘇里南元"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/zh-Hant-MO.json b/vendor/commerceguys/intl/resources/currency/zh-Hant-MO.json
new file mode 100644
index 000000000..249daa54e
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/zh-Hant-MO.json
@@ -0,0 +1,497 @@
+{
+ "CNY": {
+ "name": "人民幣",
+ "symbol": "CN¥"
+ },
+ "YER": {
+ "name": "也門里雅"
+ },
+ "TTD": {
+ "name": "千里達和多巴哥元"
+ },
+ "TMT": {
+ "name": "土庫曼馬納特"
+ },
+ "BTN": {
+ "name": "不丹那特倫"
+ },
+ "XAF": {
+ "name": "中非法郎",
+ "symbol": "FCFA"
+ },
+ "DKK": {
+ "name": "丹麥克朗"
+ },
+ "ERN": {
+ "name": "厄立特里亞納克法"
+ },
+ "XPF": {
+ "name": "太平洋法郎",
+ "symbol": "CFPF"
+ },
+ "BBD": {
+ "name": "巴巴多斯元"
+ },
+ "PGK": {
+ "name": "巴布亞新幾內亞基那"
+ },
+ "BRL": {
+ "name": "巴西里拉",
+ "symbol": "R$"
+ },
+ "PYG": {
+ "name": "巴拉圭瓜拉尼"
+ },
+ "BHD": {
+ "name": "巴林第納爾"
+ },
+ "BSD": {
+ "name": "巴哈馬元"
+ },
+ "PAB": {
+ "name": "巴拿馬巴波亞"
+ },
+ "PKR": {
+ "name": "巴基斯坦盧比"
+ },
+ "JPY": {
+ "name": "日圓",
+ "symbol": "¥"
+ },
+ "MRO": {
+ "name": "毛里塔尼亞烏吉亞"
+ },
+ "MUR": {
+ "name": "毛里裘斯盧布"
+ },
+ "JMD": {
+ "name": "牙買加元"
+ },
+ "ILS": {
+ "name": "以色列新謝克爾",
+ "symbol": "₪"
+ },
+ "CAD": {
+ "name": "加拿大元",
+ "symbol": "CA$"
+ },
+ "GHS": {
+ "name": "加納塞地"
+ },
+ "KPW": {
+ "name": "北韓圜"
+ },
+ "QAR": {
+ "name": "卡塔爾里亞爾"
+ },
+ "CUC": {
+ "name": "古巴可轉換披索"
+ },
+ "CUP": {
+ "name": "古巴披索"
+ },
+ "NGN": {
+ "name": "尼日利亞奈拉"
+ },
+ "NIO": {
+ "name": "尼加拉瓜金科多巴"
+ },
+ "NPR": {
+ "name": "尼泊爾盧比"
+ },
+ "BIF": {
+ "name": "布隆迪法郎"
+ },
+ "VUV": {
+ "name": "瓦努阿圖瓦圖"
+ },
+ "BYN": {
+ "name": "白俄羅斯盧布"
+ },
+ "BYR": {
+ "name": "白俄羅斯盧布 (2000–2016)"
+ },
+ "IQD": {
+ "name": "伊拉克第納爾"
+ },
+ "IRR": {
+ "name": "伊朗里亞爾"
+ },
+ "ISK": {
+ "name": "冰島克朗"
+ },
+ "HUF": {
+ "name": "匈牙利福林"
+ },
+ "IDR": {
+ "name": "印尼盾"
+ },
+ "INR": {
+ "name": "印度盧比",
+ "symbol": "₹"
+ },
+ "GTQ": {
+ "name": "危地馬拉格查爾"
+ },
+ "DJF": {
+ "name": "吉布提法郎"
+ },
+ "KGS": {
+ "name": "吉爾吉斯索姆"
+ },
+ "GYD": {
+ "name": "圭亞那元"
+ },
+ "DOP": {
+ "name": "多米尼加披索"
+ },
+ "XOF": {
+ "name": "多哥非洲共同體法郎",
+ "symbol": "CFA"
+ },
+ "AOA": {
+ "name": "安哥拉寬扎"
+ },
+ "BMD": {
+ "name": "百慕達幣"
+ },
+ "LAK": {
+ "name": "老撾基普"
+ },
+ "WST": {
+ "name": "西薩摩亞塔拉"
+ },
+ "BZD": {
+ "name": "伯利茲元"
+ },
+ "CVE": {
+ "name": "佛得角埃斯庫多"
+ },
+ "HRK": {
+ "name": "克羅地亞庫納"
+ },
+ "LRD": {
+ "name": "利比利亞元"
+ },
+ "LYD": {
+ "name": "利比亞第納爾"
+ },
+ "BND": {
+ "name": "汶萊元"
+ },
+ "SAR": {
+ "name": "沙特阿拉伯里亞爾"
+ },
+ "ZWL": {
+ "name": "辛巴威元 (2009)"
+ },
+ "AMD": {
+ "name": "亞美尼亞德拉姆"
+ },
+ "AZN": {
+ "name": "亞塞拜疆馬納特"
+ },
+ "TZS": {
+ "name": "坦桑尼亞先令"
+ },
+ "VEF": {
+ "name": "委內瑞拉玻利瓦"
+ },
+ "BDT": {
+ "name": "孟加拉塔卡"
+ },
+ "GMD": {
+ "name": "岡比亞達拉西"
+ },
+ "SBD": {
+ "name": "所羅門群島元"
+ },
+ "XCD": {
+ "name": "東加勒比元",
+ "symbol": "EC$"
+ },
+ "BAM": {
+ "name": "波斯尼亞-赫塞哥維納可轉換馬克"
+ },
+ "PLN": {
+ "name": "波蘭茲羅提"
+ },
+ "GIP": {
+ "name": "直布羅陀鎊"
+ },
+ "KES": {
+ "name": "肯雅先令"
+ },
+ "AED": {
+ "name": "阿拉伯聯合酋長國迪爾汗"
+ },
+ "ARS": {
+ "name": "阿根廷披索"
+ },
+ "OMR": {
+ "name": "阿曼里奧"
+ },
+ "AFN": {
+ "name": "阿富汗尼"
+ },
+ "DZD": {
+ "name": "阿爾及利亞第納爾"
+ },
+ "ALL": {
+ "name": "阿爾巴尼亞列克"
+ },
+ "AWG": {
+ "name": "阿魯巴盾"
+ },
+ "RUB": {
+ "name": "俄羅斯盧布"
+ },
+ "BGN": {
+ "name": "保加利亞新列弗"
+ },
+ "ZAR": {
+ "name": "南非蘭特"
+ },
+ "SSP": {
+ "name": "南蘇丹鎊"
+ },
+ "KZT": {
+ "name": "哈薩克坦吉"
+ },
+ "KHR": {
+ "name": "柬埔寨里爾"
+ },
+ "HNL": {
+ "name": "洪都拉斯倫皮拉"
+ },
+ "BOB": {
+ "name": "玻利維亞諾"
+ },
+ "KWD": {
+ "name": "科威特第納爾"
+ },
+ "KMF": {
+ "name": "科摩羅法郎"
+ },
+ "TND": {
+ "name": "突尼西亞第納爾"
+ },
+ "JOD": {
+ "name": "約旦第納爾"
+ },
+ "USD": {
+ "name": "美元",
+ "symbol": "US$"
+ },
+ "GBP": {
+ "name": "英鎊",
+ "symbol": "£"
+ },
+ "CDF": {
+ "name": "剛果法郎"
+ },
+ "COP": {
+ "name": "哥倫比亞披索"
+ },
+ "CRC": {
+ "name": "哥斯達黎加科郎"
+ },
+ "EGP": {
+ "name": "埃及鎊"
+ },
+ "ETB": {
+ "name": "埃塞俄比亞比爾"
+ },
+ "NOK": {
+ "name": "挪威克朗"
+ },
+ "GEL": {
+ "name": "格魯吉亞拉里"
+ },
+ "THB": {
+ "name": "泰銖"
+ },
+ "HTG": {
+ "name": "海地古德"
+ },
+ "UGX": {
+ "name": "烏干達先令"
+ },
+ "UAH": {
+ "name": "烏克蘭格里夫納"
+ },
+ "UYU": {
+ "name": "烏拉圭披索"
+ },
+ "UZS": {
+ "name": "烏茲別克索姆"
+ },
+ "PEN": {
+ "name": "秘魯新太陽幣"
+ },
+ "NAD": {
+ "name": "納米比亞元"
+ },
+ "NZD": {
+ "name": "紐西蘭元",
+ "symbol": "NZ$"
+ },
+ "SOS": {
+ "name": "索馬里先令"
+ },
+ "MYR": {
+ "name": "馬來西亞令吉"
+ },
+ "MKD": {
+ "name": "馬其頓第納爾"
+ },
+ "MWK": {
+ "name": "馬拉維克瓦查"
+ },
+ "MGA": {
+ "name": "馬達加斯加阿里亞里"
+ },
+ "MVR": {
+ "name": "馬爾代夫盧非亞"
+ },
+ "CZK": {
+ "name": "捷克克朗"
+ },
+ "SYP": {
+ "name": "敍利亞鎊"
+ },
+ "ANG": {
+ "name": "荷屬安地列斯盾"
+ },
+ "MZN": {
+ "name": "莫桑比克梅蒂卡爾"
+ },
+ "BWP": {
+ "name": "博茨瓦納普拉"
+ },
+ "GNF": {
+ "name": "幾內亞法郎"
+ },
+ "FJD": {
+ "name": "斐濟元"
+ },
+ "LKR": {
+ "name": "斯里蘭卡盧比"
+ },
+ "SZL": {
+ "name": "斯威士蘭里朗吉尼"
+ },
+ "CLP": {
+ "name": "智利披索"
+ },
+ "HKD": {
+ "name": "港元",
+ "symbol": "HK$"
+ },
+ "TOP": {
+ "name": "湯加潘加"
+ },
+ "PHP": {
+ "name": "菲律賓披索"
+ },
+ "VND": {
+ "name": "越南盾",
+ "symbol": "₫"
+ },
+ "KYD": {
+ "name": "開曼群島元"
+ },
+ "TJS": {
+ "name": "塔吉克索莫尼"
+ },
+ "SCR": {
+ "name": "塞舌爾盧比"
+ },
+ "SLL": {
+ "name": "塞拉利昂利昂"
+ },
+ "RSD": {
+ "name": "塞爾維亞第納爾"
+ },
+ "TRY": {
+ "name": "新土耳其里拉"
+ },
+ "SGD": {
+ "name": "新加坡元"
+ },
+ "TWD": {
+ "name": "新台幣",
+ "symbol": "NT$"
+ },
+ "CHF": {
+ "name": "瑞士法郎"
+ },
+ "SEK": {
+ "name": "瑞典克朗"
+ },
+ "STD": {
+ "name": "聖多美和普林西比多布拉"
+ },
+ "SHP": {
+ "name": "聖赫勒拿鎊"
+ },
+ "FKP": {
+ "name": "福克蘭群島鎊"
+ },
+ "MNT": {
+ "name": "蒙古圖格里克"
+ },
+ "MAD": {
+ "name": "摩洛哥迪拉姆"
+ },
+ "MDL": {
+ "name": "摩爾多瓦列伊"
+ },
+ "EUR": {
+ "name": "歐元",
+ "symbol": "€"
+ },
+ "MMK": {
+ "name": "緬甸元"
+ },
+ "LBP": {
+ "name": "黎巴嫩鎊"
+ },
+ "MXN": {
+ "name": "墨西哥披索",
+ "symbol": "MX$"
+ },
+ "AUD": {
+ "name": "澳元",
+ "symbol": "AU$"
+ },
+ "MOP": {
+ "name": "澳門元",
+ "symbol": "MOP$"
+ },
+ "RWF": {
+ "name": "盧旺達法郎"
+ },
+ "LSL": {
+ "name": "賴索托洛蒂"
+ },
+ "KRW": {
+ "name": "韓圓",
+ "symbol": "₩"
+ },
+ "SVC": {
+ "name": "薩爾瓦多科郎"
+ },
+ "RON": {
+ "name": "羅馬尼亞列伊"
+ },
+ "ZMW": {
+ "name": "贊比亞克瓦查"
+ },
+ "SDG": {
+ "name": "蘇丹鎊"
+ },
+ "SRD": {
+ "name": "蘇里南元"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/zh-Hant.json b/vendor/commerceguys/intl/resources/currency/zh-Hant.json
new file mode 100644
index 000000000..11396cd52
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/zh-Hant.json
@@ -0,0 +1,496 @@
+{
+ "CNY": {
+ "name": "人民幣",
+ "symbol": "CN¥"
+ },
+ "TTD": {
+ "name": "千里達及托巴哥元"
+ },
+ "TMT": {
+ "name": "土庫曼馬納特"
+ },
+ "BTN": {
+ "name": "不丹那特倫"
+ },
+ "DKK": {
+ "name": "丹麥克朗"
+ },
+ "ERN": {
+ "name": "厄立特里亞納克法"
+ },
+ "PGK": {
+ "name": "巴布亞紐幾內亞基那"
+ },
+ "BRL": {
+ "name": "巴西里拉",
+ "symbol": "R$"
+ },
+ "BBD": {
+ "name": "巴貝多元"
+ },
+ "PYG": {
+ "name": "巴拉圭瓜拉尼"
+ },
+ "BHD": {
+ "name": "巴林第納爾"
+ },
+ "BSD": {
+ "name": "巴哈馬元"
+ },
+ "PAB": {
+ "name": "巴拿馬巴波亞"
+ },
+ "PKR": {
+ "name": "巴基斯坦盧比"
+ },
+ "JPY": {
+ "name": "日圓",
+ "symbol": "¥"
+ },
+ "JMD": {
+ "name": "牙買加元"
+ },
+ "ILS": {
+ "name": "以色列新謝克爾",
+ "symbol": "₪"
+ },
+ "CAD": {
+ "name": "加幣",
+ "symbol": "CA$"
+ },
+ "KPW": {
+ "name": "北韓圓"
+ },
+ "KZT": {
+ "name": "卡扎克斯坦坦吉"
+ },
+ "QAR": {
+ "name": "卡達里亞爾"
+ },
+ "CUC": {
+ "name": "古巴可轉換披索"
+ },
+ "CUP": {
+ "name": "古巴披索"
+ },
+ "SZL": {
+ "name": "史瓦濟蘭里朗吉尼"
+ },
+ "NIO": {
+ "name": "尼加拉瓜金科多巴"
+ },
+ "NPR": {
+ "name": "尼泊爾盧比"
+ },
+ "GTQ": {
+ "name": "瓜地馬拉格查爾"
+ },
+ "GMD": {
+ "name": "甘比亞達拉西"
+ },
+ "BYN": {
+ "name": "白俄羅斯盧布"
+ },
+ "BYR": {
+ "name": "白俄羅斯盧布 (2000–2016)"
+ },
+ "IQD": {
+ "name": "伊拉克第納爾"
+ },
+ "IRR": {
+ "name": "伊朗里亞爾"
+ },
+ "ISK": {
+ "name": "冰島克朗"
+ },
+ "HUF": {
+ "name": "匈牙利福林"
+ },
+ "IDR": {
+ "name": "印尼盾"
+ },
+ "INR": {
+ "name": "印度盧比",
+ "symbol": "₹"
+ },
+ "DJF": {
+ "name": "吉布地法郎"
+ },
+ "KGS": {
+ "name": "吉爾吉斯索姆"
+ },
+ "GYD": {
+ "name": "圭亞那元"
+ },
+ "DOP": {
+ "name": "多明尼加披索"
+ },
+ "AOA": {
+ "name": "安哥拉寬扎"
+ },
+ "BMD": {
+ "name": "百慕達幣"
+ },
+ "ETB": {
+ "name": "衣索比亞比爾"
+ },
+ "WST": {
+ "name": "西薩摩亞塔拉"
+ },
+ "HRK": {
+ "name": "克羅埃西亞庫納"
+ },
+ "LYD": {
+ "name": "利比亞第納爾"
+ },
+ "BND": {
+ "name": "汶萊元"
+ },
+ "SAR": {
+ "name": "沙烏地里亞爾"
+ },
+ "BZD": {
+ "name": "貝里斯元"
+ },
+ "ZWL": {
+ "name": "辛巴威元 (2009)"
+ },
+ "AMD": {
+ "name": "亞美尼亞德拉姆"
+ },
+ "AZN": {
+ "name": "亞塞拜然馬納特"
+ },
+ "TZS": {
+ "name": "坦尚尼亞先令"
+ },
+ "NGN": {
+ "name": "奈及利亞奈拉"
+ },
+ "VEF": {
+ "name": "委內瑞拉玻利瓦"
+ },
+ "BDT": {
+ "name": "孟加拉塔卡"
+ },
+ "ZMW": {
+ "name": "尚比亞克瓦查"
+ },
+ "TOP": {
+ "name": "東加潘加"
+ },
+ "XOF": {
+ "name": "法郎 (CFA–BCEAO)",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "法郎 (CFA–BEAC)",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "法郎 (CFP)",
+ "symbol": "CFPF"
+ },
+ "BAM": {
+ "name": "波士尼亞-赫塞哥維納可轉換馬克"
+ },
+ "BWP": {
+ "name": "波札那普拉"
+ },
+ "PLN": {
+ "name": "波蘭茲羅提"
+ },
+ "GIP": {
+ "name": "直布羅陀鎊"
+ },
+ "KES": {
+ "name": "肯尼亞先令"
+ },
+ "AED": {
+ "name": "阿拉伯聯合大公國迪爾汗"
+ },
+ "ARS": {
+ "name": "阿根廷披索"
+ },
+ "OMR": {
+ "name": "阿曼里亞爾"
+ },
+ "AFN": {
+ "name": "阿富汗尼"
+ },
+ "AWG": {
+ "name": "阿路巴盾"
+ },
+ "DZD": {
+ "name": "阿爾及利亞第納爾"
+ },
+ "ALL": {
+ "name": "阿爾巴尼亞列克"
+ },
+ "RUB": {
+ "name": "俄羅斯盧布"
+ },
+ "BGN": {
+ "name": "保加利亞新列弗"
+ },
+ "ZAR": {
+ "name": "南非蘭特"
+ },
+ "SSP": {
+ "name": "南蘇丹鎊"
+ },
+ "KHR": {
+ "name": "柬埔寨瑞爾"
+ },
+ "HNL": {
+ "name": "洪都拉斯倫皮拉"
+ },
+ "BOB": {
+ "name": "玻利維亞諾"
+ },
+ "KWD": {
+ "name": "科威特第納爾"
+ },
+ "KMF": {
+ "name": "科摩羅法郎"
+ },
+ "TND": {
+ "name": "突尼西亞第納爾"
+ },
+ "JOD": {
+ "name": "約旦第納爾"
+ },
+ "USD": {
+ "name": "美元",
+ "symbol": "US$"
+ },
+ "GBP": {
+ "name": "英鎊",
+ "symbol": "£"
+ },
+ "MRO": {
+ "name": "茅利塔尼亞烏吉亞"
+ },
+ "GHS": {
+ "name": "迦納塞地"
+ },
+ "CDF": {
+ "name": "剛果法郎"
+ },
+ "COP": {
+ "name": "哥倫比亞披索"
+ },
+ "CRC": {
+ "name": "哥斯大黎加科朗"
+ },
+ "EGP": {
+ "name": "埃及鎊"
+ },
+ "NOK": {
+ "name": "挪威克朗"
+ },
+ "XCD": {
+ "name": "格瑞那達元",
+ "symbol": "EC$"
+ },
+ "THB": {
+ "name": "泰銖"
+ },
+ "HTG": {
+ "name": "海地古德"
+ },
+ "UGX": {
+ "name": "烏干達先令"
+ },
+ "UAH": {
+ "name": "烏克蘭格里夫納"
+ },
+ "UYU": {
+ "name": "烏拉圭披索"
+ },
+ "UZS": {
+ "name": "烏茲別克索姆"
+ },
+ "PEN": {
+ "name": "秘魯新太陽幣"
+ },
+ "NAD": {
+ "name": "納米比亞元"
+ },
+ "NZD": {
+ "name": "紐西蘭幣",
+ "symbol": "NZ$"
+ },
+ "SOS": {
+ "name": "索馬利亞先令"
+ },
+ "SBD": {
+ "name": "索羅門群島元"
+ },
+ "MYR": {
+ "name": "馬來西亞令吉"
+ },
+ "MKD": {
+ "name": "馬其頓第納爾"
+ },
+ "MWK": {
+ "name": "馬拉維克瓦查"
+ },
+ "MGA": {
+ "name": "馬達加斯加阿里亞里"
+ },
+ "MVR": {
+ "name": "馬爾地夫盧非亞"
+ },
+ "CZK": {
+ "name": "捷克克朗"
+ },
+ "SYP": {
+ "name": "敘利亞鎊"
+ },
+ "ANG": {
+ "name": "荷屬安地列斯盾"
+ },
+ "MZN": {
+ "name": "莫三比克梅蒂卡爾"
+ },
+ "GEL": {
+ "name": "喬治亞拉里"
+ },
+ "GNF": {
+ "name": "幾內亞法郎"
+ },
+ "FJD": {
+ "name": "斐濟元"
+ },
+ "LKR": {
+ "name": "斯里蘭卡盧比"
+ },
+ "CLP": {
+ "name": "智利披索"
+ },
+ "HKD": {
+ "name": "港幣",
+ "symbol": "HK$"
+ },
+ "PHP": {
+ "name": "菲律賓披索"
+ },
+ "VND": {
+ "name": "越南盾",
+ "symbol": "₫"
+ },
+ "KYD": {
+ "name": "開曼群島元"
+ },
+ "TJS": {
+ "name": "塔吉克索莫尼"
+ },
+ "SCR": {
+ "name": "塞席爾盧比"
+ },
+ "RSD": {
+ "name": "塞爾維亞戴納"
+ },
+ "TRY": {
+ "name": "新土耳其里拉"
+ },
+ "SGD": {
+ "name": "新加坡幣"
+ },
+ "TWD": {
+ "name": "新台幣",
+ "symbol": "$"
+ },
+ "SLL": {
+ "name": "獅子山利昂"
+ },
+ "CHF": {
+ "name": "瑞士法郎"
+ },
+ "SEK": {
+ "name": "瑞典克朗"
+ },
+ "VUV": {
+ "name": "萬那杜瓦圖"
+ },
+ "STD": {
+ "name": "聖多美島和普林西比島多布拉"
+ },
+ "SHP": {
+ "name": "聖赫勒拿鎊"
+ },
+ "YER": {
+ "name": "葉門里亞爾"
+ },
+ "FKP": {
+ "name": "福克蘭群島鎊"
+ },
+ "CVE": {
+ "name": "維德角埃斯庫多"
+ },
+ "MNT": {
+ "name": "蒙古圖格里克"
+ },
+ "BIF": {
+ "name": "蒲隆地法郎"
+ },
+ "LAK": {
+ "name": "寮國基普"
+ },
+ "MDL": {
+ "name": "摩杜雲列伊"
+ },
+ "MAD": {
+ "name": "摩洛哥迪拉姆"
+ },
+ "MUR": {
+ "name": "模里西斯盧比"
+ },
+ "EUR": {
+ "name": "歐元",
+ "symbol": "€"
+ },
+ "MMK": {
+ "name": "緬甸元"
+ },
+ "LBP": {
+ "name": "黎巴嫩鎊"
+ },
+ "MXN": {
+ "name": "墨西哥披索",
+ "symbol": "MX$"
+ },
+ "MOP": {
+ "name": "澳門元"
+ },
+ "AUD": {
+ "name": "澳幣",
+ "symbol": "AU$"
+ },
+ "RWF": {
+ "name": "盧安達法郎"
+ },
+ "LRD": {
+ "name": "賴比瑞亞元"
+ },
+ "LSL": {
+ "name": "賴索托洛蒂"
+ },
+ "KRW": {
+ "name": "韓圓",
+ "symbol": "₩"
+ },
+ "SVC": {
+ "name": "薩爾瓦多科郎"
+ },
+ "RON": {
+ "name": "羅馬尼亞列伊"
+ },
+ "SDG": {
+ "name": "蘇丹鎊"
+ },
+ "SRD": {
+ "name": "蘇利南元"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/zh.json b/vendor/commerceguys/intl/resources/currency/zh.json
new file mode 100644
index 000000000..351bf07ac
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/zh.json
@@ -0,0 +1,496 @@
+{
+ "ALL": {
+ "name": "阿尔巴尼亚列克"
+ },
+ "DZD": {
+ "name": "阿尔及利亚第纳尔"
+ },
+ "AFN": {
+ "name": "阿富汗尼"
+ },
+ "ARS": {
+ "name": "阿根廷比索"
+ },
+ "AED": {
+ "name": "阿联酋迪拉姆"
+ },
+ "AWG": {
+ "name": "阿鲁巴弗罗林"
+ },
+ "OMR": {
+ "name": "阿曼里亚尔"
+ },
+ "AZN": {
+ "name": "阿塞拜疆马纳特"
+ },
+ "EGP": {
+ "name": "埃及镑"
+ },
+ "ETB": {
+ "name": "埃塞俄比亚比尔"
+ },
+ "AOA": {
+ "name": "安哥拉宽扎"
+ },
+ "AUD": {
+ "name": "澳大利亚元",
+ "symbol": "AU$"
+ },
+ "MOP": {
+ "name": "澳门币"
+ },
+ "BBD": {
+ "name": "巴巴多斯元"
+ },
+ "PGK": {
+ "name": "巴布亚新几内亚基那"
+ },
+ "BSD": {
+ "name": "巴哈马元"
+ },
+ "PKR": {
+ "name": "巴基斯坦卢比"
+ },
+ "PYG": {
+ "name": "巴拉圭瓜拉尼"
+ },
+ "BHD": {
+ "name": "巴林第纳尔"
+ },
+ "PAB": {
+ "name": "巴拿马巴波亚"
+ },
+ "BRL": {
+ "name": "巴西雷亚尔",
+ "symbol": "R$"
+ },
+ "BYN": {
+ "name": "白俄罗斯卢布"
+ },
+ "BYR": {
+ "name": "白俄罗斯卢布 (2000–2016)"
+ },
+ "BMD": {
+ "name": "百慕大元"
+ },
+ "BGN": {
+ "name": "保加利亚列弗"
+ },
+ "ISK": {
+ "name": "冰岛克朗"
+ },
+ "PLN": {
+ "name": "波兰兹罗提"
+ },
+ "BAM": {
+ "name": "波斯尼亚-黑塞哥维那可兑换马克"
+ },
+ "BOB": {
+ "name": "玻利维亚诺"
+ },
+ "BZD": {
+ "name": "伯利兹元"
+ },
+ "BWP": {
+ "name": "博茨瓦纳普拉"
+ },
+ "BTN": {
+ "name": "不丹努尔特鲁姆"
+ },
+ "BIF": {
+ "name": "布隆迪法郎"
+ },
+ "KPW": {
+ "name": "朝鲜元"
+ },
+ "DKK": {
+ "name": "丹麦克朗"
+ },
+ "XCD": {
+ "name": "东加勒比元",
+ "symbol": "EC$"
+ },
+ "DOP": {
+ "name": "多米尼加比索"
+ },
+ "RUB": {
+ "name": "俄罗斯卢布"
+ },
+ "ERN": {
+ "name": "厄立特里亚纳克法"
+ },
+ "PHP": {
+ "name": "菲律宾比索"
+ },
+ "FJD": {
+ "name": "斐济元"
+ },
+ "CVE": {
+ "name": "佛得角埃斯库多"
+ },
+ "FKP": {
+ "name": "福克兰群岛镑"
+ },
+ "GMD": {
+ "name": "冈比亚达拉西"
+ },
+ "CDF": {
+ "name": "刚果法郎"
+ },
+ "HKD": {
+ "name": "港元",
+ "symbol": "HK$"
+ },
+ "COP": {
+ "name": "哥伦比亚比索"
+ },
+ "CRC": {
+ "name": "哥斯达黎加科朗"
+ },
+ "GEL": {
+ "name": "格鲁吉亚拉里"
+ },
+ "CUP": {
+ "name": "古巴比索"
+ },
+ "CUC": {
+ "name": "古巴可兑换比索"
+ },
+ "GYD": {
+ "name": "圭亚那元"
+ },
+ "KZT": {
+ "name": "哈萨克斯坦坚戈"
+ },
+ "HTG": {
+ "name": "海地古德"
+ },
+ "KRW": {
+ "name": "韩元",
+ "symbol": "₩"
+ },
+ "ANG": {
+ "name": "荷属安的列斯盾"
+ },
+ "HNL": {
+ "name": "洪都拉斯伦皮拉"
+ },
+ "DJF": {
+ "name": "吉布提法郎"
+ },
+ "KGS": {
+ "name": "吉尔吉斯斯坦索姆"
+ },
+ "GNF": {
+ "name": "几内亚法郎"
+ },
+ "CAD": {
+ "name": "加拿大元",
+ "symbol": "CA$"
+ },
+ "GHS": {
+ "name": "加纳塞地"
+ },
+ "KHR": {
+ "name": "柬埔寨瑞尔"
+ },
+ "CZK": {
+ "name": "捷克克朗"
+ },
+ "ZWL": {
+ "name": "津巴布韦元 (2009)"
+ },
+ "QAR": {
+ "name": "卡塔尔里亚尔"
+ },
+ "KYD": {
+ "name": "开曼元"
+ },
+ "KMF": {
+ "name": "科摩罗法郎"
+ },
+ "KWD": {
+ "name": "科威特第纳尔"
+ },
+ "HRK": {
+ "name": "克罗地亚库纳"
+ },
+ "KES": {
+ "name": "肯尼亚先令"
+ },
+ "LSL": {
+ "name": "莱索托洛蒂"
+ },
+ "LAK": {
+ "name": "老挝基普"
+ },
+ "LBP": {
+ "name": "黎巴嫩镑"
+ },
+ "LRD": {
+ "name": "利比里亚元"
+ },
+ "LYD": {
+ "name": "利比亚第纳尔"
+ },
+ "RWF": {
+ "name": "卢旺达法郎"
+ },
+ "RON": {
+ "name": "罗马尼亚列伊"
+ },
+ "MGA": {
+ "name": "马达加斯加阿里亚里"
+ },
+ "MVR": {
+ "name": "马尔代夫卢菲亚"
+ },
+ "MWK": {
+ "name": "马拉维克瓦查"
+ },
+ "MYR": {
+ "name": "马来西亚林吉特"
+ },
+ "MKD": {
+ "name": "马其顿第纳尔"
+ },
+ "MUR": {
+ "name": "毛里求斯卢比"
+ },
+ "MRO": {
+ "name": "毛里塔尼亚乌吉亚"
+ },
+ "USD": {
+ "name": "美元",
+ "symbol": "US$"
+ },
+ "MNT": {
+ "name": "蒙古图格里克"
+ },
+ "BDT": {
+ "name": "孟加拉塔卡"
+ },
+ "PEN": {
+ "name": "秘鲁新索尔"
+ },
+ "MMK": {
+ "name": "缅甸元"
+ },
+ "MDL": {
+ "name": "摩尔多瓦列伊"
+ },
+ "MAD": {
+ "name": "摩洛哥迪拉姆"
+ },
+ "MZN": {
+ "name": "莫桑比克美提卡"
+ },
+ "MXN": {
+ "name": "墨西哥比索",
+ "symbol": "MX$"
+ },
+ "NAD": {
+ "name": "纳米比亚元"
+ },
+ "ZAR": {
+ "name": "南非兰特"
+ },
+ "SSP": {
+ "name": "南苏丹镑"
+ },
+ "NIO": {
+ "name": "尼加拉瓜科多巴"
+ },
+ "NPR": {
+ "name": "尼泊尔卢比"
+ },
+ "NGN": {
+ "name": "尼日利亚奈拉"
+ },
+ "NOK": {
+ "name": "挪威克朗"
+ },
+ "EUR": {
+ "name": "欧元",
+ "symbol": "€"
+ },
+ "CNY": {
+ "name": "人民币",
+ "symbol": "¥"
+ },
+ "JPY": {
+ "name": "日元",
+ "symbol": "JP¥"
+ },
+ "SEK": {
+ "name": "瑞典克朗"
+ },
+ "CHF": {
+ "name": "瑞士法郎"
+ },
+ "SVC": {
+ "name": "萨尔瓦多科朗"
+ },
+ "WST": {
+ "name": "萨摩亚塔拉"
+ },
+ "RSD": {
+ "name": "塞尔维亚第纳尔"
+ },
+ "SLL": {
+ "name": "塞拉利昂利昂"
+ },
+ "SCR": {
+ "name": "塞舌尔卢比"
+ },
+ "SAR": {
+ "name": "沙特里亚尔"
+ },
+ "STD": {
+ "name": "圣多美和普林西比多布拉"
+ },
+ "SHP": {
+ "name": "圣赫勒拿群岛磅"
+ },
+ "LKR": {
+ "name": "斯里兰卡卢比"
+ },
+ "SZL": {
+ "name": "斯威士兰里兰吉尼"
+ },
+ "SDG": {
+ "name": "苏丹镑"
+ },
+ "SRD": {
+ "name": "苏里南元"
+ },
+ "SBD": {
+ "name": "所罗门群岛元"
+ },
+ "SOS": {
+ "name": "索马里先令"
+ },
+ "TJS": {
+ "name": "塔吉克斯坦索莫尼"
+ },
+ "XPF": {
+ "name": "太平洋法郎",
+ "symbol": "CFPF"
+ },
+ "THB": {
+ "name": "泰铢"
+ },
+ "TZS": {
+ "name": "坦桑尼亚先令"
+ },
+ "TOP": {
+ "name": "汤加潘加"
+ },
+ "TTD": {
+ "name": "特立尼达和多巴哥元"
+ },
+ "TND": {
+ "name": "突尼斯第纳尔"
+ },
+ "TRY": {
+ "name": "土耳其里拉"
+ },
+ "TMT": {
+ "name": "土库曼斯坦马纳特"
+ },
+ "VUV": {
+ "name": "瓦努阿图瓦图"
+ },
+ "GTQ": {
+ "name": "危地马拉格查尔"
+ },
+ "VEF": {
+ "name": "委内瑞拉玻利瓦尔"
+ },
+ "BND": {
+ "name": "文莱元"
+ },
+ "UGX": {
+ "name": "乌干达先令"
+ },
+ "UAH": {
+ "name": "乌克兰格里夫纳"
+ },
+ "UYU": {
+ "name": "乌拉圭比索"
+ },
+ "UZS": {
+ "name": "乌兹别克斯坦苏姆"
+ },
+ "XOF": {
+ "name": "西非法郎",
+ "symbol": "CFA"
+ },
+ "SGD": {
+ "name": "新加坡元"
+ },
+ "TWD": {
+ "name": "新台币",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "新西兰元",
+ "symbol": "NZ$"
+ },
+ "HUF": {
+ "name": "匈牙利福林"
+ },
+ "SYP": {
+ "name": "叙利亚镑"
+ },
+ "JMD": {
+ "name": "牙买加元"
+ },
+ "AMD": {
+ "name": "亚美尼亚德拉姆"
+ },
+ "YER": {
+ "name": "也门里亚尔"
+ },
+ "IQD": {
+ "name": "伊拉克第纳尔"
+ },
+ "IRR": {
+ "name": "伊朗里亚尔"
+ },
+ "ILS": {
+ "name": "以色列新谢克尔",
+ "symbol": "₪"
+ },
+ "INR": {
+ "name": "印度卢比",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "印度尼西亚盾"
+ },
+ "GBP": {
+ "name": "英镑",
+ "symbol": "£"
+ },
+ "JOD": {
+ "name": "约旦第纳尔"
+ },
+ "VND": {
+ "name": "越南盾",
+ "symbol": "₫"
+ },
+ "ZMW": {
+ "name": "赞比亚克瓦查"
+ },
+ "GIP": {
+ "name": "直布罗陀镑"
+ },
+ "CLP": {
+ "name": "智利比索"
+ },
+ "XAF": {
+ "name": "中非法郎",
+ "symbol": "FCFA"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/zu.json b/vendor/commerceguys/intl/resources/currency/zu.json
new file mode 100644
index 000000000..591d6d7f5
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/zu.json
@@ -0,0 +1,498 @@
+{
+ "AFN": {
+ "name": "i-Afghan Afghani"
+ },
+ "ALL": {
+ "name": "i-Albanian Lek"
+ },
+ "DZD": {
+ "name": "i-Algerian Dinar"
+ },
+ "AOA": {
+ "name": "i-Angolan Kwanza"
+ },
+ "ARS": {
+ "name": "i-Argentina Peso"
+ },
+ "AMD": {
+ "name": "i-Armenian Dram"
+ },
+ "AWG": {
+ "name": "i-Aruban Florin"
+ },
+ "AUD": {
+ "name": "i-Austrilian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "i-Azerbaijani Manat"
+ },
+ "BSD": {
+ "name": "i-Bahamian Dollar"
+ },
+ "BHD": {
+ "name": "i-Bahraini Dinar"
+ },
+ "BDT": {
+ "name": "i-Bangladeshi Taka"
+ },
+ "BBD": {
+ "name": "i-Barbadian Dollar"
+ },
+ "BYN": {
+ "name": "i-Belarusian Ruble"
+ },
+ "BYR": {
+ "name": "i-Belarusian Ruble (2000–2016)"
+ },
+ "BZD": {
+ "name": "i-Belize Dollar"
+ },
+ "BMD": {
+ "name": "i-Bermudan Dollar"
+ },
+ "BTN": {
+ "name": "i-Bhutanese Ngultrum"
+ },
+ "BOB": {
+ "name": "i-Bolivian Boliviano"
+ },
+ "BAM": {
+ "name": "i-Bosnia-Herzegovina Convertible Mark"
+ },
+ "BWP": {
+ "name": "i-Botswana Pula"
+ },
+ "BRL": {
+ "name": "i-Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "i-British Pound",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "i-Brunei Dollar"
+ },
+ "BGN": {
+ "name": "i-Bulgarian Lev"
+ },
+ "BIF": {
+ "name": "i-Burundian Franc"
+ },
+ "KHR": {
+ "name": "i-Cambodian Riel"
+ },
+ "CAD": {
+ "name": "i-Candian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "i-Cape Verdean Escudo"
+ },
+ "KYD": {
+ "name": "i-Cayman Islands Dollar"
+ },
+ "XAF": {
+ "name": "i-Central African CFA Franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "i-CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "i-Chilean Peso"
+ },
+ "CNY": {
+ "name": "i-Chinese Yuan",
+ "symbol": "CN¥"
+ },
+ "COP": {
+ "name": "i-Colombian Peso"
+ },
+ "KMF": {
+ "name": "i-Comorian Franc"
+ },
+ "CDF": {
+ "name": "i-Congolese Franc"
+ },
+ "CRC": {
+ "name": "i-Costa Rican Colón"
+ },
+ "HRK": {
+ "name": "i-Croatian Kuna"
+ },
+ "CUC": {
+ "name": "i-Cuban Convertable Peso"
+ },
+ "CUP": {
+ "name": "i-Cuban Peso"
+ },
+ "CZK": {
+ "name": "i-Czech Republic Koruna"
+ },
+ "DKK": {
+ "name": "i-Danish Krone"
+ },
+ "AED": {
+ "name": "i-Dirham yase-United Arab Emirates"
+ },
+ "DJF": {
+ "name": "i-Djiboutian Franc"
+ },
+ "DOP": {
+ "name": "i-Dominican Peso"
+ },
+ "XCD": {
+ "name": "i-East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "i-Egyptian Pound"
+ },
+ "ERN": {
+ "name": "i-Eritrean Nakfa"
+ },
+ "ETB": {
+ "name": "i-Ethopian Birr"
+ },
+ "EUR": {
+ "name": "i-Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "i-Falkland Islands Pound"
+ },
+ "FJD": {
+ "name": "i-Fijian Dollar"
+ },
+ "GMD": {
+ "name": "i-Gambian Dalasi"
+ },
+ "GEL": {
+ "name": "i-Georgian Lari"
+ },
+ "GHS": {
+ "name": "i-Ghanaian Cedi"
+ },
+ "GIP": {
+ "name": "i-Gibraltar Pound"
+ },
+ "GTQ": {
+ "name": "i-Guatemalan Quetzal"
+ },
+ "GNF": {
+ "name": "i-Gunean Franc"
+ },
+ "GYD": {
+ "name": "i-Guyanaese Dollar"
+ },
+ "HTG": {
+ "name": "i-Haitian Gourde"
+ },
+ "HNL": {
+ "name": "i-Honduran Lempira"
+ },
+ "HKD": {
+ "name": "i-Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "i-Hungarian Forint"
+ },
+ "ISK": {
+ "name": "i-Icelandic Króna"
+ },
+ "INR": {
+ "name": "i-Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "i-Indonesian Rupiah"
+ },
+ "IRR": {
+ "name": "i-Iranian Rial"
+ },
+ "IQD": {
+ "name": "i-Iraqi Dinar"
+ },
+ "ILS": {
+ "name": "i-Israeli New Sheqel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "i-Jamaican Dollar"
+ },
+ "JPY": {
+ "name": "i-Japanese Yen",
+ "symbol": "JP¥"
+ },
+ "JOD": {
+ "name": "i-Jordanian Dinar"
+ },
+ "KZT": {
+ "name": "i-Kazakhstani Tenge"
+ },
+ "KES": {
+ "name": "i-Kenyan Shilling"
+ },
+ "KWD": {
+ "name": "i-Kuwaiti Dinar"
+ },
+ "KGS": {
+ "name": "i-Kyrgystani Som"
+ },
+ "LAK": {
+ "name": "i-Laotian Kip"
+ },
+ "LBP": {
+ "name": "i-Lebanese Pound"
+ },
+ "LSL": {
+ "name": "i-Lesotho Loti"
+ },
+ "LRD": {
+ "name": "i-Liberian Dollar"
+ },
+ "LYD": {
+ "name": "i-Libyan Dinar"
+ },
+ "MOP": {
+ "name": "i-Macanese Pataca"
+ },
+ "MKD": {
+ "name": "i-Macedonian Denar"
+ },
+ "MGA": {
+ "name": "i-Malagasy Ariary"
+ },
+ "MWK": {
+ "name": "i-Malawian Kwacha"
+ },
+ "MYR": {
+ "name": "i-Malaysian Ringgit"
+ },
+ "MVR": {
+ "name": "i-Maldivian Rufiyana"
+ },
+ "MRO": {
+ "name": "i-Mauritanian Ouguiya"
+ },
+ "MUR": {
+ "name": "i-Mauritian Rupee"
+ },
+ "MXN": {
+ "name": "i-Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "i-Moldovan Leu"
+ },
+ "MNT": {
+ "name": "i-Mongolian Tugrik"
+ },
+ "MAD": {
+ "name": "i-Moroccan Dirham"
+ },
+ "MZN": {
+ "name": "i-Mozambican Metical"
+ },
+ "MMK": {
+ "name": "i-Myanma Kyat"
+ },
+ "NAD": {
+ "name": "i-Namibian Dollar"
+ },
+ "NPR": {
+ "name": "i-Nepalese Rupee"
+ },
+ "ANG": {
+ "name": "i-Netherlands Antillean Guilder"
+ },
+ "TWD": {
+ "name": "i-New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "i-New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "i-Nicaraguan Córdoba"
+ },
+ "NGN": {
+ "name": "i-Nigerian Naira"
+ },
+ "KPW": {
+ "name": "i-North Korean Won"
+ },
+ "NOK": {
+ "name": "i-Norwegian Krone"
+ },
+ "OMR": {
+ "name": "i-Omani Rial"
+ },
+ "PKR": {
+ "name": "i-Pakistani Rupee"
+ },
+ "PAB": {
+ "name": "i-Panamanian Balboa"
+ },
+ "PGK": {
+ "name": "i-Papua New Guinean Kina"
+ },
+ "PYG": {
+ "name": "i-Paraguayan Guarani"
+ },
+ "PEN": {
+ "name": "i-Peruvian Nuevo Sol"
+ },
+ "PHP": {
+ "name": "i-Philippine Peso"
+ },
+ "PLN": {
+ "name": "i-Polish Zloty"
+ },
+ "QAR": {
+ "name": "i-Qatari Rial"
+ },
+ "RON": {
+ "name": "i-Romanian Leu"
+ },
+ "RUB": {
+ "name": "i-Russian Ruble"
+ },
+ "RWF": {
+ "name": "i-Rwandan Franc"
+ },
+ "SHP": {
+ "name": "i-Saint Helena Pound"
+ },
+ "WST": {
+ "name": "i-Samoan Tala"
+ },
+ "STD": {
+ "name": "i-São Tomé kanye ne-Príncipe Dobra"
+ },
+ "SAR": {
+ "name": "i-Saudi Riyal"
+ },
+ "RSD": {
+ "name": "i-Serbian Dinar"
+ },
+ "SCR": {
+ "name": "i-Seychellois Rupee"
+ },
+ "SLL": {
+ "name": "i-Sierra Leonean Leone"
+ },
+ "SGD": {
+ "name": "i-Singapore Dollar"
+ },
+ "SBD": {
+ "name": "i-Solomon Islands Dollar"
+ },
+ "SOS": {
+ "name": "i-Somali Shilling"
+ },
+ "ZAR": {
+ "name": "i-South African Rand",
+ "symbol": "R"
+ },
+ "KRW": {
+ "name": "i-South Korean Won",
+ "symbol": "₩"
+ },
+ "SSP": {
+ "name": "i-South Sudanese Pound"
+ },
+ "LKR": {
+ "name": "i-Sri Lankan Rupee"
+ },
+ "SDG": {
+ "name": "i-Sudanese Pound"
+ },
+ "SRD": {
+ "name": "i-Surinamese Dollar"
+ },
+ "SZL": {
+ "name": "i-Swazi Lilangeni"
+ },
+ "SEK": {
+ "name": "i-Swedish Krona"
+ },
+ "CHF": {
+ "name": "i-Swiss Franc"
+ },
+ "SYP": {
+ "name": "i-Syrian Pound"
+ },
+ "TJS": {
+ "name": "i-Tajikistani Somoni"
+ },
+ "TZS": {
+ "name": "i-Tanzanian Shilling"
+ },
+ "THB": {
+ "name": "i-Thai Baht",
+ "symbol": "฿"
+ },
+ "TOP": {
+ "name": "i-Tongan Paʻanga"
+ },
+ "TTD": {
+ "name": "i-Trinidad and Tobago Dollar"
+ },
+ "TND": {
+ "name": "i-Tunisian Dinar"
+ },
+ "TRY": {
+ "name": "i-Turkish Lira"
+ },
+ "TMT": {
+ "name": "i-Turkmenistani Manat"
+ },
+ "UGX": {
+ "name": "i-Ugandan Shilling"
+ },
+ "UAH": {
+ "name": "i-Ukrainian Hryvnia"
+ },
+ "UYU": {
+ "name": "i-Uruguayan Peso"
+ },
+ "USD": {
+ "name": "i-US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "i-Uzbekistan Som"
+ },
+ "VUV": {
+ "name": "i-Vanuatu Vatu"
+ },
+ "VEF": {
+ "name": "i-Venezuelan Bolívar"
+ },
+ "VND": {
+ "name": "i-Vietnamese Dong",
+ "symbol": "₫"
+ },
+ "XOF": {
+ "name": "i-West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "i-Yemeni Rial"
+ },
+ "ZMW": {
+ "name": "i-Zambian Kwacha"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/af.json b/vendor/commerceguys/intl/resources/language/af.json
new file mode 100644
index 000000000..8f6af95f0
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/af.json
@@ -0,0 +1,635 @@
+{
+ "af": {
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "ak": {
+ "name": "Akan"
+ },
+ "sq": {
+ "name": "Albanees"
+ },
+ "am": {
+ "name": "Amharies"
+ },
+ "ar": {
+ "name": "Arabies"
+ },
+ "hy": {
+ "name": "Armeens"
+ },
+ "as": {
+ "name": "Assamees"
+ },
+ "ast": {
+ "name": "Asturies"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "az": {
+ "name": "Azerbeidjans"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "eu": {
+ "name": "Baskies"
+ },
+ "be": {
+ "name": "Belo-Russies"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "bn": {
+ "name": "Bengaals"
+ },
+ "my": {
+ "name": "Birmaans"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "bs": {
+ "name": "Bosnies"
+ },
+ "br": {
+ "name": "Bretons"
+ },
+ "bg": {
+ "name": "Bulgaars"
+ },
+ "chr": {
+ "name": "Cherokees"
+ },
+ "da": {
+ "name": "Deens"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "de": {
+ "name": "Duits"
+ },
+ "de-AT": {
+ "name": "Duits (Oostenryk)"
+ },
+ "dz": {
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "en": {
+ "name": "Engels"
+ },
+ "en-AU": {
+ "name": "Engels (Australië)"
+ },
+ "en-CA": {
+ "name": "Engels (Kanada)"
+ },
+ "en-GB": {
+ "name": "Engels (Verenigde Koninkryk)"
+ },
+ "eo": {
+ "name": "Esperanto"
+ },
+ "et": {
+ "name": "Estnies"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fo": {
+ "name": "Faroees"
+ },
+ "fil": {
+ "name": "Filippyns"
+ },
+ "fi": {
+ "name": "Fins"
+ },
+ "fr": {
+ "name": "Frans"
+ },
+ "fr-CA": {
+ "name": "Frans (Kanada)"
+ },
+ "fr-CH": {
+ "name": "Frans (Switserland)"
+ },
+ "fur": {
+ "name": "Friuliaans"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "gl": {
+ "name": "Galisies"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "ka": {
+ "name": "Georgies"
+ },
+ "gu": {
+ "name": "Goedjarati"
+ },
+ "el": {
+ "name": "Grieks"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "ha": {
+ "name": "Hausa"
+ },
+ "haw": {
+ "name": "Hawaiies"
+ },
+ "he": {
+ "name": "Hebreeus"
+ },
+ "hi": {
+ "name": "Hindi"
+ },
+ "hu": {
+ "name": "Hongaars"
+ },
+ "hsb": {
+ "name": "Hoog-Sorbies"
+ },
+ "ga": {
+ "name": "Iers"
+ },
+ "ig": {
+ "name": "Igbo"
+ },
+ "smn": {
+ "name": "Inari Sami"
+ },
+ "id": {
+ "name": "Indonesies"
+ },
+ "it": {
+ "name": "Italiaans"
+ },
+ "ja": {
+ "name": "Japannees"
+ },
+ "yi": {
+ "name": "Jiddisj"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabyle"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kl": {
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "kn": {
+ "name": "Kannada"
+ },
+ "yue": {
+ "name": "Kantonees"
+ },
+ "ks": {
+ "name": "Kasjmirs"
+ },
+ "ca": {
+ "name": "Katalaans"
+ },
+ "kk": {
+ "name": "Kazaks"
+ },
+ "cu": {
+ "name": "Kerkslawies"
+ },
+ "ksh": {
+ "name": "Keuls"
+ },
+ "km": {
+ "name": "Khmer"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "ky": {
+ "name": "Kirgisies"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "ko": {
+ "name": "Koreaans"
+ },
+ "kw": {
+ "name": "Kornies"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "hr": {
+ "name": "Kroaties"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "nds": {
+ "name": "Lae Duits"
+ },
+ "dsb": {
+ "name": "Lae Sorbies"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "Lao"
+ },
+ "lv": {
+ "name": "Letties"
+ },
+ "ln": {
+ "name": "Lingaals"
+ },
+ "lt": {
+ "name": "Litaus"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "Luxemburgs"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "ml": {
+ "name": "Malabaars"
+ },
+ "ms": {
+ "name": "Maleis"
+ },
+ "mg": {
+ "name": "Malgassies"
+ },
+ "mt": {
+ "name": "Maltees"
+ },
+ "gv": {
+ "name": "Manx"
+ },
+ "mr": {
+ "name": "Marathi"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mzn": {
+ "name": "Masanderani"
+ },
+ "mk": {
+ "name": "Masedonies"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Meta’"
+ },
+ "ro-MD": {
+ "name": "Moldawies"
+ },
+ "mn": {
+ "name": "Mongools"
+ },
+ "mfe": {
+ "name": "Morisjen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nl": {
+ "name": "Nederlands"
+ },
+ "nds-NL": {
+ "name": "Nedersaksies"
+ },
+ "ne": {
+ "name": "Nepalees"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "lrc": {
+ "name": "Noord-Luri"
+ },
+ "nd": {
+ "name": "Noord-Ndebele"
+ },
+ "se": {
+ "name": "Noord-Sami"
+ },
+ "nb": {
+ "name": "Noorse Bokmål"
+ },
+ "nn": {
+ "name": "Noorweegse Nynorsk"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "uk": {
+ "name": "Oekraïens"
+ },
+ "ur": {
+ "name": "Oerdoe"
+ },
+ "uz": {
+ "name": "Oezbeeks"
+ },
+ "or": {
+ "name": "Oriya"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "os": {
+ "name": "Osseties"
+ },
+ "pa": {
+ "name": "Pandjabi"
+ },
+ "ps": {
+ "name": "Pasjto"
+ },
+ "fa": {
+ "name": "Persies"
+ },
+ "pl": {
+ "name": "Pools"
+ },
+ "pt": {
+ "name": "Portugees"
+ },
+ "pt-PT": {
+ "name": "Portugees (Portugal)"
+ },
+ "prg": {
+ "name": "Pruisies"
+ },
+ "qu": {
+ "name": "Quechua"
+ },
+ "rm": {
+ "name": "Reto-Romaans"
+ },
+ "ro": {
+ "name": "Roemeens"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "rn": {
+ "name": "Rundi"
+ },
+ "ru": {
+ "name": "Russies"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "rw": {
+ "name": "Rwandees"
+ },
+ "sah": {
+ "name": "Sakhaans"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "tzm": {
+ "name": "Sentraal Atlas Tamazight"
+ },
+ "sr": {
+ "name": "Serwies"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "si": {
+ "name": "Sinhala"
+ },
+ "cgg": {
+ "name": "Sjiga"
+ },
+ "zh": {
+ "name": "Sjinees"
+ },
+ "zh-Hant": {
+ "name": "Sjinees (Tradisioneel)"
+ },
+ "zh-Hans": {
+ "name": "Sjinees (Vereenvoudig)"
+ },
+ "gd": {
+ "name": "Skotse Gallies"
+ },
+ "sk": {
+ "name": "Slowaaks"
+ },
+ "sl": {
+ "name": "Sloweens"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "so": {
+ "name": "Somalies"
+ },
+ "ckb": {
+ "name": "Sorani Koerdies"
+ },
+ "es": {
+ "name": "Spaans"
+ },
+ "es-MX": {
+ "name": "Spaans (Meksiko)"
+ },
+ "zgh": {
+ "name": "Standaard Marokkaanse Tamazight"
+ },
+ "sw": {
+ "name": "Swahili"
+ },
+ "sw-CD": {
+ "name": "Swahili (Kongo)"
+ },
+ "sv": {
+ "name": "Sweeds"
+ },
+ "gsw": {
+ "name": "Switserse Duits"
+ },
+ "de-CH": {
+ "name": "Switserse hoog-Duits"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "ta": {
+ "name": "Tamil"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "te": {
+ "name": "Teloegoe"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "th": {
+ "name": "Thai"
+ },
+ "bo": {
+ "name": "Tibettaans"
+ },
+ "ti": {
+ "name": "Tigrinya"
+ },
+ "to": {
+ "name": "Tongaans"
+ },
+ "cs": {
+ "name": "Tsjeggies"
+ },
+ "ce": {
+ "name": "Tsjetsjen"
+ },
+ "tk": {
+ "name": "Turkmeens"
+ },
+ "tr": {
+ "name": "Turks"
+ },
+ "ug": {
+ "name": "Uighur"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vi": {
+ "name": "Viëtnamees"
+ },
+ "nl-BE": {
+ "name": "Vlaams"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "cy": {
+ "name": "Wallies"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "fy": {
+ "name": "Wes-Fries"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "yo": {
+ "name": "Yoruba"
+ },
+ "is": {
+ "name": "Yslands"
+ },
+ "dje": {
+ "name": "Zarma"
+ },
+ "zu": {
+ "name": "Zoeloe"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/agq.json b/vendor/commerceguys/intl/resources/language/agq.json
new file mode 100644
index 000000000..43b0f932b
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/agq.json
@@ -0,0 +1,632 @@
+{
+ "af": {
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "ak": {
+ "name": "Akan"
+ },
+ "ar": {
+ "name": "Àlabì"
+ },
+ "sq": {
+ "name": "Albanian"
+ },
+ "am": {
+ "name": "Àmalì"
+ },
+ "hy": {
+ "name": "Armenian"
+ },
+ "as": {
+ "name": "Assamese"
+ },
+ "ast": {
+ "name": "Asturian"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "az": {
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "eu": {
+ "name": "Basque"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "be": {
+ "name": "Bɛ̀làlusàn"
+ },
+ "bn": {
+ "name": "Bɨ̀ŋgalì"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "bs": {
+ "name": "Bosnian"
+ },
+ "br": {
+ "name": "Breton"
+ },
+ "bg": {
+ "name": "Bùugɨlìa"
+ },
+ "my": {
+ "name": "Bùumɛsɛ̀"
+ },
+ "yue": {
+ "name": "Cantonese"
+ },
+ "ca": {
+ "name": "Catalan"
+ },
+ "tzm": {
+ "name": "Central Atlas Tamazight"
+ },
+ "ckb": {
+ "name": "Central Kurdish"
+ },
+ "zh": {
+ "name": "Chàenê"
+ },
+ "zh-Hans": {
+ "name": "Chàenê (Hans)"
+ },
+ "zh-Hant": {
+ "name": "Chàenê (Hant)"
+ },
+ "ce": {
+ "name": "Chechen"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "cs": {
+ "name": "Chɛ̂"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "cu": {
+ "name": "Church Slavic"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "kw": {
+ "name": "Cornish"
+ },
+ "hr": {
+ "name": "Croatian"
+ },
+ "da": {
+ "name": "Danish"
+ },
+ "nl": {
+ "name": "Dɔ̂s"
+ },
+ "nl-BE": {
+ "name": "Dɔ̂s (Bɛɛdzwùm)"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "ja": {
+ "name": "Dzàkpànê"
+ },
+ "de": {
+ "name": "Dzamɛ̀"
+ },
+ "de-CH": {
+ "name": "Dzamɛ̀ (Suezàlân)"
+ },
+ "de-AT": {
+ "name": "Dzamɛ̀ (Usɨtɨ̀là)"
+ },
+ "dz": {
+ "name": "Dzongkha"
+ },
+ "ig": {
+ "name": "Egbò"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "hi": {
+ "name": "Endì"
+ },
+ "id": {
+ "name": "Èndònɛshìa"
+ },
+ "eo": {
+ "name": "Esperanto"
+ },
+ "et": {
+ "name": "Estonian"
+ },
+ "it": {
+ "name": "Ètalìa"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fo": {
+ "name": "Faroese"
+ },
+ "fil": {
+ "name": "Filipino"
+ },
+ "fi": {
+ "name": "Finnish"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "gl": {
+ "name": "Galician"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "ka": {
+ "name": "Georgian"
+ },
+ "el": {
+ "name": "Gɨ̀lêʔ"
+ },
+ "gu": {
+ "name": "Gujarati"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "haw": {
+ "name": "Hawaiian"
+ },
+ "he": {
+ "name": "Hebrew"
+ },
+ "hu": {
+ "name": "Hɔŋgalìa"
+ },
+ "is": {
+ "name": "Icelandic"
+ },
+ "smn": {
+ "name": "Inari Sami"
+ },
+ "ga": {
+ "name": "Irish"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabyle"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kl": {
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "kn": {
+ "name": "Kannada"
+ },
+ "ks": {
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "name": "Kazakh"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "fr": {
+ "name": "Kɨ̀fàlàŋsi"
+ },
+ "fr-CA": {
+ "name": "Kɨ̀fàlàŋsi (Kanadà)"
+ },
+ "fr-CH": {
+ "name": "Kɨ̀fàlàŋsi (Suezàlân)"
+ },
+ "km": {
+ "name": "Kɨmɛ̀"
+ },
+ "en": {
+ "name": "Kɨŋgele"
+ },
+ "en-CA": {
+ "name": "Kɨŋgele (Kanadà)"
+ },
+ "en-AU": {
+ "name": "Kɨŋgele (Ùsɨ̀tɛ̀lɛlìa)"
+ },
+ "en-GB": {
+ "name": "Kɨŋgele (Yùnaetɛ Kiŋdɔ̀m)"
+ },
+ "ha": {
+ "name": "Kɨtsɔŋkaŋ"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "fa": {
+ "name": "Kpɛɛshìa"
+ },
+ "pt": {
+ "name": "Kpotùwgîi"
+ },
+ "pt-PT": {
+ "name": "Kpotùwgîi (Kputuwgà)"
+ },
+ "pl": {
+ "name": "Kpɔlìs"
+ },
+ "pa": {
+ "name": "Kpuwndzabì"
+ },
+ "ko": {
+ "name": "kùulîa"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "ky": {
+ "name": "Kyrgyz"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "Lao"
+ },
+ "lv": {
+ "name": "Latvian"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "lt": {
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "ro": {
+ "name": "Lùmanyìa"
+ },
+ "ro-MD": {
+ "name": "Lùmanyìa (Mòodovà)"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "ru": {
+ "name": "Lushìa"
+ },
+ "rw": {
+ "name": "Lùwandà"
+ },
+ "lb": {
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "mk": {
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "ms": {
+ "name": "Màlae"
+ },
+ "mg": {
+ "name": "Malagasy"
+ },
+ "ml": {
+ "name": "Malayalam"
+ },
+ "mt": {
+ "name": "Maltese"
+ },
+ "gv": {
+ "name": "Manx"
+ },
+ "mr": {
+ "name": "Marathi"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "mn": {
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nds-NL": {
+ "name": "nds (Nedàlân)"
+ },
+ "ne": {
+ "name": "Nɛ̀kpalì"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "nd": {
+ "name": "North Ndebele"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "se": {
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "or": {
+ "name": "Odia"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "os": {
+ "name": "Ossetic"
+ },
+ "ps": {
+ "name": "Pashto"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "qu": {
+ "name": "Quechua"
+ },
+ "rm": {
+ "name": "Romansh"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "rn": {
+ "name": "Rundi"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "sah": {
+ "name": "Sakha"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "gd": {
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "sr": {
+ "name": "Serbian"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "si": {
+ "name": "Sinhala"
+ },
+ "es": {
+ "name": "Sɨ̀kpanìs"
+ },
+ "es-MX": {
+ "name": "Sɨ̀kpanìs (Mɛkɨzikù)"
+ },
+ "sk": {
+ "name": "Slovak"
+ },
+ "sl": {
+ "name": "Slovenian"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "so": {
+ "name": "Sòmalì"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sv": {
+ "name": "Suedìs"
+ },
+ "sw-CD": {
+ "name": "sw (Dɛ̀mùkàlatì Lèkpubèlè è Kuŋgù)"
+ },
+ "sw": {
+ "name": "Swahili"
+ },
+ "gsw": {
+ "name": "Swiss German"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "th": {
+ "name": "Tàe"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "ta": {
+ "name": "Tamì"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "te": {
+ "name": "Telugu"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "bo": {
+ "name": "Tibetan"
+ },
+ "ti": {
+ "name": "Tigrinya"
+ },
+ "to": {
+ "name": "Tongan"
+ },
+ "tk": {
+ "name": "Turkmen"
+ },
+ "tr": {
+ "name": "Tʉʉkìs"
+ },
+ "uk": {
+ "name": "Ùkɛlɛnìa"
+ },
+ "hsb": {
+ "name": "Upper Sorbian"
+ },
+ "ur": {
+ "name": "Uudùw"
+ },
+ "ug": {
+ "name": "Uyghur"
+ },
+ "uz": {
+ "name": "Uzbek"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vi": {
+ "name": "Vìyɛtnàmê"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "cy": {
+ "name": "Welsh"
+ },
+ "fy": {
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "yi": {
+ "name": "Yiddish"
+ },
+ "yo": {
+ "name": "Yulùba"
+ },
+ "dje": {
+ "name": "Zarma"
+ },
+ "zu": {
+ "name": "Zulù"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/ak.json b/vendor/commerceguys/intl/resources/language/ak.json
new file mode 100644
index 000000000..6a48dc1df
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/ak.json
@@ -0,0 +1,632 @@
+{
+ "af": {
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "ak": {
+ "name": "Akan"
+ },
+ "sq": {
+ "name": "Albanian"
+ },
+ "am": {
+ "name": "Amarik"
+ },
+ "ar": {
+ "name": "Arabik"
+ },
+ "hy": {
+ "name": "Armenian"
+ },
+ "as": {
+ "name": "Assamese"
+ },
+ "ast": {
+ "name": "Asturian"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "az": {
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "eu": {
+ "name": "Basque"
+ },
+ "be": {
+ "name": "Belarus kasa"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "bn": {
+ "name": "Bengali kasa"
+ },
+ "my": {
+ "name": "Bɛɛmis kasa"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "en": {
+ "name": "Borɔfo"
+ },
+ "en-GB": {
+ "name": "Borɔfo (Ahendiman Nkabom)"
+ },
+ "en-CA": {
+ "name": "Borɔfo (Kanada)"
+ },
+ "en-AU": {
+ "name": "Borɔfo (Ɔstrelia)"
+ },
+ "bs": {
+ "name": "Bosnian"
+ },
+ "bg": {
+ "name": "Bɔlgeria kasa"
+ },
+ "br": {
+ "name": "Breton"
+ },
+ "yue": {
+ "name": "Cantonese"
+ },
+ "ca": {
+ "name": "Catalan"
+ },
+ "tzm": {
+ "name": "Central Atlas Tamazight"
+ },
+ "ckb": {
+ "name": "Central Kurdish"
+ },
+ "ce": {
+ "name": "Chechen"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "cu": {
+ "name": "Church Slavic"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "kw": {
+ "name": "Cornish"
+ },
+ "hr": {
+ "name": "Croatian"
+ },
+ "da": {
+ "name": "Danish"
+ },
+ "nl": {
+ "name": "Dɛɛkye"
+ },
+ "nl-BE": {
+ "name": "Dɛɛkye (Bɛlgyium)"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "dz": {
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "eo": {
+ "name": "Esperanto"
+ },
+ "et": {
+ "name": "Estonian"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fo": {
+ "name": "Faroese"
+ },
+ "fil": {
+ "name": "Filipino"
+ },
+ "fi": {
+ "name": "Finnish"
+ },
+ "fr": {
+ "name": "Frɛnkye"
+ },
+ "fr-CA": {
+ "name": "Frɛnkye (Kanada)"
+ },
+ "fr-CH": {
+ "name": "Frɛnkye (Swetzaland)"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "gl": {
+ "name": "Galician"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "ka": {
+ "name": "Georgian"
+ },
+ "el": {
+ "name": "Greek kasa"
+ },
+ "gu": {
+ "name": "Gujarati"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "de": {
+ "name": "Gyaaman"
+ },
+ "de-AT": {
+ "name": "Gyaaman (Ɔstria)"
+ },
+ "de-CH": {
+ "name": "Gyaaman (Swetzaland)"
+ },
+ "ja": {
+ "name": "Gyapan kasa"
+ },
+ "hu": {
+ "name": "Hangri kasa"
+ },
+ "ha": {
+ "name": "Hausa"
+ },
+ "haw": {
+ "name": "Hawaiian"
+ },
+ "he": {
+ "name": "Hebrew"
+ },
+ "hi": {
+ "name": "Hindi"
+ },
+ "is": {
+ "name": "Icelandic"
+ },
+ "ig": {
+ "name": "Igbo"
+ },
+ "smn": {
+ "name": "Inari Sami"
+ },
+ "id": {
+ "name": "Indonihyia kasa"
+ },
+ "ga": {
+ "name": "Irish"
+ },
+ "it": {
+ "name": "Italy kasa"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabyle"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kl": {
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "km": {
+ "name": "Kambodia kasa"
+ },
+ "kn": {
+ "name": "Kannada"
+ },
+ "ks": {
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "name": "Kazakh"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "ko": {
+ "name": "Korea kasa"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "zh": {
+ "name": "Kyaena kasa"
+ },
+ "zh-Hans": {
+ "name": "Kyaena kasa (Hans)"
+ },
+ "zh-Hant": {
+ "name": "Kyaena kasa (Hant)"
+ },
+ "cs": {
+ "name": "Kyɛk kasa"
+ },
+ "ky": {
+ "name": "Kyrgyz"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "Lao"
+ },
+ "lv": {
+ "name": "Latvian"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "lt": {
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "mk": {
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "mg": {
+ "name": "Malagasy"
+ },
+ "ms": {
+ "name": "Malay kasa"
+ },
+ "ml": {
+ "name": "Malayalam"
+ },
+ "mt": {
+ "name": "Maltese"
+ },
+ "gv": {
+ "name": "Manx"
+ },
+ "mr": {
+ "name": "Marathi"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "mn": {
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nds-NL": {
+ "name": "nds (Nɛdɛland)"
+ },
+ "ne": {
+ "name": "Nɛpal kasa"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "nd": {
+ "name": "North Ndebele"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "se": {
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "or": {
+ "name": "Odia"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "os": {
+ "name": "Ossetic"
+ },
+ "ps": {
+ "name": "Pashto"
+ },
+ "fa": {
+ "name": "Pɛɛhyia kasa"
+ },
+ "pl": {
+ "name": "Pɔland kasa"
+ },
+ "pt": {
+ "name": "Pɔɔtugal kasa"
+ },
+ "pt-PT": {
+ "name": "Pɔɔtugal kasa (Pɔtugal)"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "pa": {
+ "name": "Pungyabi kasa"
+ },
+ "qu": {
+ "name": "Quechua"
+ },
+ "ru": {
+ "name": "Rahyia kasa"
+ },
+ "rw": {
+ "name": "Rewanda kasa"
+ },
+ "rm": {
+ "name": "Romansh"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "ro": {
+ "name": "Romenia kasa"
+ },
+ "ro-MD": {
+ "name": "Romenia kasa (Mɔldova)"
+ },
+ "rn": {
+ "name": "Rundi"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "sah": {
+ "name": "Sakha"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "gd": {
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "sr": {
+ "name": "Serbian"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "si": {
+ "name": "Sinhala"
+ },
+ "sk": {
+ "name": "Slovak"
+ },
+ "sl": {
+ "name": "Slovenian"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "so": {
+ "name": "Somalia kasa"
+ },
+ "es": {
+ "name": "Spain kasa"
+ },
+ "es-MX": {
+ "name": "Spain kasa (Mɛksiko)"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw-CD": {
+ "name": "sw (Kongo [Zair])"
+ },
+ "sw": {
+ "name": "Swahili"
+ },
+ "sv": {
+ "name": "Sweden kasa"
+ },
+ "gsw": {
+ "name": "Swiss German"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "th": {
+ "name": "Taeland kasa"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "ta": {
+ "name": "Tamil kasa"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "te": {
+ "name": "Telugu"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "tr": {
+ "name": "Tɛɛki kasa"
+ },
+ "bo": {
+ "name": "Tibetan"
+ },
+ "ti": {
+ "name": "Tigrinya"
+ },
+ "to": {
+ "name": "Tongan"
+ },
+ "tk": {
+ "name": "Turkmen"
+ },
+ "uk": {
+ "name": "Ukren kasa"
+ },
+ "hsb": {
+ "name": "Upper Sorbian"
+ },
+ "ur": {
+ "name": "Urdu kasa"
+ },
+ "ug": {
+ "name": "Uyghur"
+ },
+ "uz": {
+ "name": "Uzbek"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vi": {
+ "name": "Viɛtnam kasa"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "cy": {
+ "name": "Welsh"
+ },
+ "fy": {
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "yi": {
+ "name": "Yiddish"
+ },
+ "yo": {
+ "name": "Yoruba"
+ },
+ "dje": {
+ "name": "Zarma"
+ },
+ "zu": {
+ "name": "Zulu"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/am.json b/vendor/commerceguys/intl/resources/language/am.json
new file mode 100644
index 000000000..7d7da2689
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/am.json
@@ -0,0 +1,635 @@
+{
+ "hu": {
+ "name": "ሀንጋሪኛ"
+ },
+ "haw": {
+ "name": "ሃዊያኛ"
+ },
+ "ha": {
+ "name": "ሃውሳኛ"
+ },
+ "lu": {
+ "name": "ሉባ ካታንጋ"
+ },
+ "lt": {
+ "name": "ሉቴንያንኛ"
+ },
+ "luo": {
+ "name": "ሉኦ"
+ },
+ "lb": {
+ "name": "ሉክዘምበርገርኛ"
+ },
+ "luy": {
+ "name": "ሉዪያ"
+ },
+ "ln": {
+ "name": "ሊንጋላኛ"
+ },
+ "lv": {
+ "name": "ላትቪያን"
+ },
+ "lag": {
+ "name": "ላንጊ"
+ },
+ "lo": {
+ "name": "ላኦስኛ"
+ },
+ "lkt": {
+ "name": "ላኮታ"
+ },
+ "hi": {
+ "name": "ሒንዱኛ"
+ },
+ "tzm": {
+ "name": "መካከለኛ አትላስ ታማዚግት"
+ },
+ "zgh": {
+ "name": "መደበኛ የሞሮኮ ታማዚግት"
+ },
+ "mua": {
+ "name": "ሙንዳንግ"
+ },
+ "ml": {
+ "name": "ማላያላምኛ"
+ },
+ "ms": {
+ "name": "ማላይኛ"
+ },
+ "mg": {
+ "name": "ማላጋስኛ"
+ },
+ "mt": {
+ "name": "ማልቲስኛ"
+ },
+ "mr": {
+ "name": "ማራቲኛ"
+ },
+ "mas": {
+ "name": "ማሳይ"
+ },
+ "mk": {
+ "name": "ማሴዶንኛ"
+ },
+ "jmc": {
+ "name": "ማቻሜኛ"
+ },
+ "gv": {
+ "name": "ማንክስኛ"
+ },
+ "mgh": {
+ "name": "ማኩዋ ሜቶ"
+ },
+ "kde": {
+ "name": "ማኮንዴ"
+ },
+ "mzn": {
+ "name": "ማዛንደራኒ"
+ },
+ "mer": {
+ "name": "ሜሩ"
+ },
+ "mgo": {
+ "name": "ሜታ"
+ },
+ "ro-MD": {
+ "name": "ሞልዳቪያንኛ"
+ },
+ "mfe": {
+ "name": "ሞሪሲየኛ"
+ },
+ "mn": {
+ "name": "ሞንጎላዊኛ"
+ },
+ "rn": {
+ "name": "ሩንዲኛ"
+ },
+ "ru": {
+ "name": "ራሽያኛ"
+ },
+ "rwk": {
+ "name": "ርዋ"
+ },
+ "ro": {
+ "name": "ሮማኒያን"
+ },
+ "rm": {
+ "name": "ሮማንሽ"
+ },
+ "rof": {
+ "name": "ሮምቦ"
+ },
+ "lrc": {
+ "name": "ሰሜናዊ ሉሪ"
+ },
+ "se": {
+ "name": "ሰሜናዊ ሳሚ"
+ },
+ "nd": {
+ "name": "ሰሜን ንዴብሌ"
+ },
+ "sr": {
+ "name": "ሰርቢኛ"
+ },
+ "so": {
+ "name": "ሱማልኛ"
+ },
+ "ii": {
+ "name": "ሲቹንዪኛ"
+ },
+ "si": {
+ "name": "ሲንሃልኛ"
+ },
+ "saq": {
+ "name": "ሳምቡሩ"
+ },
+ "sbp": {
+ "name": "ሳንጉ"
+ },
+ "sg": {
+ "name": "ሳንጎኛ"
+ },
+ "sah": {
+ "name": "ሳክሃ"
+ },
+ "seh": {
+ "name": "ሴና"
+ },
+ "sl": {
+ "name": "ስሎቪኛ"
+ },
+ "sk": {
+ "name": "ስሎቫክኛ"
+ },
+ "sv": {
+ "name": "ስዊድንኛ"
+ },
+ "sw": {
+ "name": "ስዋሂሊኛ"
+ },
+ "es": {
+ "name": "ስፓንሽኛ"
+ },
+ "xog": {
+ "name": "ሶጋ"
+ },
+ "ksb": {
+ "name": "ሻምባላ"
+ },
+ "sn": {
+ "name": "ሾናኛ"
+ },
+ "zh-Hans": {
+ "name": "ቀለል ያለ ቻይንኛ"
+ },
+ "bg": {
+ "name": "ቡልጋሪኛ"
+ },
+ "my": {
+ "name": "ቡርማኛ"
+ },
+ "zh-Hant": {
+ "name": "ባህላዊ ቻይንኛ"
+ },
+ "bm": {
+ "name": "ባምባርኛ"
+ },
+ "bas": {
+ "name": "ባሳ"
+ },
+ "eu": {
+ "name": "ባስክኛ"
+ },
+ "ksf": {
+ "name": "ባፊያ"
+ },
+ "be": {
+ "name": "ቤላራሻኛ"
+ },
+ "bem": {
+ "name": "ቤምባ"
+ },
+ "bez": {
+ "name": "ቤና"
+ },
+ "bn": {
+ "name": "ቤንጋሊኛ"
+ },
+ "br": {
+ "name": "ብሬቶንኛ"
+ },
+ "bs": {
+ "name": "ቦስኒያንኛ"
+ },
+ "brx": {
+ "name": "ቦዶ"
+ },
+ "vun": {
+ "name": "ቩንጆ"
+ },
+ "vi": {
+ "name": "ቪየትናምኛ"
+ },
+ "vai": {
+ "name": "ቫይ"
+ },
+ "vo": {
+ "name": "ቮላፑክኛ"
+ },
+ "te": {
+ "name": "ተሉጉኛ"
+ },
+ "tk": {
+ "name": "ቱርክሜንኛ"
+ },
+ "tr": {
+ "name": "ቱርክኛ"
+ },
+ "bo": {
+ "name": "ቲቤታንኛ"
+ },
+ "ta": {
+ "name": "ታሚልኛ"
+ },
+ "twq": {
+ "name": "ታሳዋቅ"
+ },
+ "shi": {
+ "name": "ታቼልሂት"
+ },
+ "dav": {
+ "name": "ታይታኛ"
+ },
+ "th": {
+ "name": "ታይኛ"
+ },
+ "teo": {
+ "name": "ቴሶ"
+ },
+ "ti": {
+ "name": "ትግርኛ"
+ },
+ "to": {
+ "name": "ቶንጋኛ"
+ },
+ "cu": {
+ "name": "ቸርች ስላቪክ"
+ },
+ "cgg": {
+ "name": "ቺጋኛ"
+ },
+ "zh": {
+ "name": "ቻይንኛ"
+ },
+ "chr": {
+ "name": "ቼሮኬኛ"
+ },
+ "cs": {
+ "name": "ቼክኛ"
+ },
+ "ce": {
+ "name": "ችችን"
+ },
+ "nus": {
+ "name": "ኑዌር"
+ },
+ "nyn": {
+ "name": "ኒያንኮልኛ"
+ },
+ "nnh": {
+ "name": "ኒጊምቡን"
+ },
+ "naq": {
+ "name": "ናማ"
+ },
+ "ne": {
+ "name": "ኔፓሊኛ"
+ },
+ "jgo": {
+ "name": "ንጎባኛ"
+ },
+ "sq": {
+ "name": "አልባንያንኛ"
+ },
+ "am": {
+ "name": "አማርኛ"
+ },
+ "hy": {
+ "name": "አርመናዊ"
+ },
+ "asa": {
+ "name": "አሱ"
+ },
+ "as": {
+ "name": "አሳሜዛዊ"
+ },
+ "ak": {
+ "name": "አካንኛ"
+ },
+ "ast": {
+ "name": "አውስትሪያን"
+ },
+ "az": {
+ "name": "አዘርባጃንኛ"
+ },
+ "ga": {
+ "name": "አይሪሽ"
+ },
+ "is": {
+ "name": "አይስላንድኛ"
+ },
+ "agq": {
+ "name": "አገም"
+ },
+ "af": {
+ "name": "አፍሪካንኛ"
+ },
+ "ur": {
+ "name": "ኡርዱኛ"
+ },
+ "ug": {
+ "name": "ኡዊግሁርኛ"
+ },
+ "uz": {
+ "name": "ኡዝቤክኛ"
+ },
+ "et": {
+ "name": "ኢስቶኒያንኛ"
+ },
+ "ebu": {
+ "name": "ኢቦኛ"
+ },
+ "smn": {
+ "name": "ኢናሪ ሳሚ"
+ },
+ "id": {
+ "name": "ኢንዶኔዥኛ"
+ },
+ "ee": {
+ "name": "ኢዊ"
+ },
+ "ig": {
+ "name": "ኢግቦኛ"
+ },
+ "eo": {
+ "name": "ኤስፐራንቶ"
+ },
+ "ewo": {
+ "name": "ኤዎንዶ"
+ },
+ "en": {
+ "name": "እንግሊዝኛ"
+ },
+ "om": {
+ "name": "ኦሮሞኛ"
+ },
+ "os": {
+ "name": "ኦሴቲክ"
+ },
+ "or": {
+ "name": "ኦዲያኛ"
+ },
+ "ky": {
+ "name": "ኪርጊዝኛ"
+ },
+ "rw": {
+ "name": "ኪንያርዋንድኛ"
+ },
+ "ki": {
+ "name": "ኪኩዩ"
+ },
+ "kln": {
+ "name": "ካለንጂን"
+ },
+ "kl": {
+ "name": "ካላሊሱትኛ"
+ },
+ "kam": {
+ "name": "ካምባ"
+ },
+ "ks": {
+ "name": "ካሽሚርኛ"
+ },
+ "kea": {
+ "name": "ካቡቨርዲያኑ"
+ },
+ "kab": {
+ "name": "ካብይል"
+ },
+ "ca": {
+ "name": "ካታላንኛ"
+ },
+ "kn": {
+ "name": "ካናዳኛ"
+ },
+ "yue": {
+ "name": "ካንቶኒዝ"
+ },
+ "kkj": {
+ "name": "ካኮ"
+ },
+ "kk": {
+ "name": "ካዛክኛ"
+ },
+ "km": {
+ "name": "ክህመርኛ"
+ },
+ "hr": {
+ "name": "ክሮሽያንኛ"
+ },
+ "nmg": {
+ "name": "ክዋሲዮ"
+ },
+ "ksh": {
+ "name": "ኮሎኝያን"
+ },
+ "ko": {
+ "name": "ኮሪያኛ"
+ },
+ "kw": {
+ "name": "ኮርኒሽ"
+ },
+ "kok": {
+ "name": "ኮንካኒ"
+ },
+ "sw-CD": {
+ "name": "ኮንጎ ስዋሂሊ"
+ },
+ "khq": {
+ "name": "ኮይራ ቺኒ"
+ },
+ "ses": {
+ "name": "ኮይራቦሮ ሴኒ"
+ },
+ "qu": {
+ "name": "ኵቿኛ"
+ },
+ "cy": {
+ "name": "ወልሽ"
+ },
+ "wae": {
+ "name": "ዋልሰር"
+ },
+ "ar": {
+ "name": "ዓረብኛ"
+ },
+ "he": {
+ "name": "ዕብራስጥ"
+ },
+ "zu": {
+ "name": "ዙሉኛ"
+ },
+ "dje": {
+ "name": "ዛርማኛ"
+ },
+ "hsb": {
+ "name": "የላይኛው ሶርቢያንኛ"
+ },
+ "es-MX": {
+ "name": "የሜክሲኮ ስፓንሽኛ"
+ },
+ "fy": {
+ "name": "የምዕራብ ፍሪስኛ"
+ },
+ "gd": {
+ "name": "የስኮቲሽ ጌልክኛ"
+ },
+ "de-CH": {
+ "name": "የስዊዝ ከፍተኛ ጀርመንኛ"
+ },
+ "gsw": {
+ "name": "የስዊዝ ጀርመን"
+ },
+ "fr-CH": {
+ "name": "የስዊዝ ፈረንሳይኛ"
+ },
+ "ckb": {
+ "name": "የሶራኒ ኩርድኛ"
+ },
+ "en-GB": {
+ "name": "የብሪቲሽ እንግሊዝኛ"
+ },
+ "dsb": {
+ "name": "የታችኛው ሰርቢያንኛ"
+ },
+ "nds-NL": {
+ "name": "የታችኛው ሳክሰን"
+ },
+ "nds": {
+ "name": "የታችኛው ጀርመን"
+ },
+ "nb": {
+ "name": "የኖርዌይ ቦክማል"
+ },
+ "nn": {
+ "name": "የኖርዌይ ናይኖርስክ"
+ },
+ "pt-PT": {
+ "name": "የአውሮፓ ፖርቹጋልኛ"
+ },
+ "en-AU": {
+ "name": "የአውስትራሊያ እንግሊዝኛ"
+ },
+ "de-AT": {
+ "name": "የኦስትሪያ ጀርመን"
+ },
+ "en-CA": {
+ "name": "የካናዳ እንግሊዝኛ"
+ },
+ "fr-CA": {
+ "name": "የካናዳ ፈረንሳይኛ"
+ },
+ "uk": {
+ "name": "ዩክሬንኛ"
+ },
+ "yav": {
+ "name": "ያንግቤንኛ"
+ },
+ "yi": {
+ "name": "ይዲሽኛ"
+ },
+ "yo": {
+ "name": "ዮሩባዊኛ"
+ },
+ "nl": {
+ "name": "ደች"
+ },
+ "dua": {
+ "name": "ዱዋላኛ"
+ },
+ "da": {
+ "name": "ዴኒሽ"
+ },
+ "dz": {
+ "name": "ድዞንግኻኛ"
+ },
+ "de": {
+ "name": "ጀርመን"
+ },
+ "ja": {
+ "name": "ጃፓንኛ"
+ },
+ "dyo": {
+ "name": "ጆላ ፎንያኛ"
+ },
+ "ka": {
+ "name": "ጆርጂያን"
+ },
+ "guz": {
+ "name": "ጉስሊኛ"
+ },
+ "gu": {
+ "name": "ጉጃርቲኛ"
+ },
+ "gl": {
+ "name": "ጋሊሺያ"
+ },
+ "lg": {
+ "name": "ጋንዳኛ"
+ },
+ "el": {
+ "name": "ግሪክኛ"
+ },
+ "it": {
+ "name": "ጣሊያንኛ"
+ },
+ "fr": {
+ "name": "ፈረንሳይኛ"
+ },
+ "ff": {
+ "name": "ፉላህ"
+ },
+ "fil": {
+ "name": "ፊሊፒንኛ"
+ },
+ "fi": {
+ "name": "ፊኒሽ"
+ },
+ "fo": {
+ "name": "ፋሮኛ"
+ },
+ "nl-BE": {
+ "name": "ፍሌሚሽ"
+ },
+ "fur": {
+ "name": "ፍሩሊያን"
+ },
+ "prg": {
+ "name": "ፐሩሳንኛ"
+ },
+ "fa": {
+ "name": "ፐርሺያኛ"
+ },
+ "pa": {
+ "name": "ፑንጃብኛ"
+ },
+ "ps": {
+ "name": "ፓሽቶኛ"
+ },
+ "pl": {
+ "name": "ፖሊሽኛ"
+ },
+ "pt": {
+ "name": "ፖርቹጋልኛ"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/ar-EG.json b/vendor/commerceguys/intl/resources/language/ar-EG.json
new file mode 100644
index 000000000..0d125a761
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/ar-EG.json
@@ -0,0 +1,635 @@
+{
+ "asa": {
+ "name": "الآسو"
+ },
+ "az": {
+ "name": "الأذربيجانية"
+ },
+ "hy": {
+ "name": "الأرمينية"
+ },
+ "as": {
+ "name": "الأسامية"
+ },
+ "es": {
+ "name": "الإسبانية"
+ },
+ "es-MX": {
+ "name": "الإسبانية المكسيكية"
+ },
+ "eo": {
+ "name": "الإسبرانتو"
+ },
+ "ast": {
+ "name": "الأسترية"
+ },
+ "et": {
+ "name": "الإستونية"
+ },
+ "agq": {
+ "name": "الأغم"
+ },
+ "af": {
+ "name": "الأفريقانية"
+ },
+ "ak": {
+ "name": "الأكانية"
+ },
+ "sq": {
+ "name": "الألبانية"
+ },
+ "de": {
+ "name": "الألمانية"
+ },
+ "nds": {
+ "name": "الألمانية السفلى"
+ },
+ "gsw": {
+ "name": "الألمانية السويسرية"
+ },
+ "de-CH": {
+ "name": "الألمانية العليا السويسرية"
+ },
+ "de-AT": {
+ "name": "الألمانية النمساوية"
+ },
+ "tzm": {
+ "name": "الأمازيغية وسط الأطلس"
+ },
+ "am": {
+ "name": "الأمهرية"
+ },
+ "en": {
+ "name": "الإنجليزية"
+ },
+ "en-AU": {
+ "name": "الإنجليزية الأسترالية"
+ },
+ "en-GB": {
+ "name": "الإنجليزية البريطانية"
+ },
+ "en-CA": {
+ "name": "الإنجليزية الكندية"
+ },
+ "id": {
+ "name": "الإندونيسية"
+ },
+ "ur": {
+ "name": "الأوردية"
+ },
+ "om": {
+ "name": "الأورومية"
+ },
+ "uz": {
+ "name": "الأوزبكية"
+ },
+ "os": {
+ "name": "الأوسيتيك"
+ },
+ "uk": {
+ "name": "الأوكرانية"
+ },
+ "ug": {
+ "name": "الأويغورية"
+ },
+ "ig": {
+ "name": "الإيجبو"
+ },
+ "ga": {
+ "name": "الأيرلندية"
+ },
+ "is": {
+ "name": "الأيسلندية"
+ },
+ "it": {
+ "name": "الإيطالية"
+ },
+ "smn": {
+ "name": "الإيناري سامي"
+ },
+ "ewo": {
+ "name": "الإيوندو"
+ },
+ "ee": {
+ "name": "الإيوي"
+ },
+ "bas": {
+ "name": "الباسا"
+ },
+ "bm": {
+ "name": "البامبارا"
+ },
+ "pt": {
+ "name": "البرتغالية"
+ },
+ "pt-PT": {
+ "name": "البرتغالية الأوروبية"
+ },
+ "prg": {
+ "name": "البروسياوية"
+ },
+ "br": {
+ "name": "البريتونية"
+ },
+ "ps": {
+ "name": "البشتونية"
+ },
+ "bg": {
+ "name": "البلغارية"
+ },
+ "pa": {
+ "name": "البنجابية"
+ },
+ "bn": {
+ "name": "البنغالية"
+ },
+ "brx": {
+ "name": "البودو"
+ },
+ "my": {
+ "name": "البورمية"
+ },
+ "bs": {
+ "name": "البوسنية"
+ },
+ "pl": {
+ "name": "البولندية"
+ },
+ "be": {
+ "name": "البيلاروسية"
+ },
+ "bem": {
+ "name": "البيمبا"
+ },
+ "ta": {
+ "name": "التاميلية"
+ },
+ "th": {
+ "name": "التايلاندية"
+ },
+ "bo": {
+ "name": "التبتية"
+ },
+ "tk": {
+ "name": "التركمانية"
+ },
+ "tr": {
+ "name": "التركية"
+ },
+ "cs": {
+ "name": "التشيكية"
+ },
+ "ti": {
+ "name": "التغرينية"
+ },
+ "zgh": {
+ "name": "التمازيغية المغربية القياسية"
+ },
+ "to": {
+ "name": "التونغية"
+ },
+ "te": {
+ "name": "التيلوجو"
+ },
+ "gl": {
+ "name": "الجاليكية"
+ },
+ "lg": {
+ "name": "الجاندا"
+ },
+ "ka": {
+ "name": "الجورجية"
+ },
+ "km": {
+ "name": "الخميرية"
+ },
+ "da": {
+ "name": "الدنماركية"
+ },
+ "dua": {
+ "name": "الديولا"
+ },
+ "rn": {
+ "name": "الرندي"
+ },
+ "rwk": {
+ "name": "الروا"
+ },
+ "ru": {
+ "name": "الروسية"
+ },
+ "rm": {
+ "name": "الرومانشية"
+ },
+ "ro": {
+ "name": "الرومانية"
+ },
+ "rof": {
+ "name": "الرومبو"
+ },
+ "dje": {
+ "name": "الزارمية"
+ },
+ "zu": {
+ "name": "الزولو"
+ },
+ "dz": {
+ "name": "الزونخاية"
+ },
+ "sah": {
+ "name": "الساخية"
+ },
+ "se": {
+ "name": "السامي الشمالية"
+ },
+ "sg": {
+ "name": "السانجو"
+ },
+ "nds-NL": {
+ "name": "السكسونية السفلى"
+ },
+ "sk": {
+ "name": "السلوفاكية"
+ },
+ "sl": {
+ "name": "السلوفانية"
+ },
+ "si": {
+ "name": "السنهالية"
+ },
+ "sw": {
+ "name": "السواحلية"
+ },
+ "ckb": {
+ "name": "السورانية الكردية"
+ },
+ "xog": {
+ "name": "السوغا"
+ },
+ "sv": {
+ "name": "السويدية"
+ },
+ "ii": {
+ "name": "السيتشيون يي"
+ },
+ "sn": {
+ "name": "الشونا"
+ },
+ "chr": {
+ "name": "الشيروكي"
+ },
+ "ce": {
+ "name": "الشيشانية"
+ },
+ "sr": {
+ "name": "الصربية"
+ },
+ "hsb": {
+ "name": "الصوربية العليا"
+ },
+ "so": {
+ "name": "الصومالية"
+ },
+ "zh": {
+ "name": "الصينية"
+ },
+ "zh-Hant": {
+ "name": "الصينية التقليدية"
+ },
+ "zh-Hans": {
+ "name": "الصينية المبسطة"
+ },
+ "he": {
+ "name": "العبرية"
+ },
+ "ar": {
+ "name": "العربية"
+ },
+ "gu": {
+ "name": "الغوجاراتية"
+ },
+ "guz": {
+ "name": "الغيزية"
+ },
+ "gd": {
+ "name": "الغيلية الأسكتلندية"
+ },
+ "fa": {
+ "name": "الفارسية"
+ },
+ "fo": {
+ "name": "الفاروية"
+ },
+ "vai": {
+ "name": "الفاي"
+ },
+ "fr": {
+ "name": "الفرنسية"
+ },
+ "fr-CH": {
+ "name": "الفرنسية السويسرية"
+ },
+ "fr-CA": {
+ "name": "الفرنسية الكندية"
+ },
+ "fy": {
+ "name": "الفريزيان"
+ },
+ "fur": {
+ "name": "الفريلايان"
+ },
+ "fil": {
+ "name": "الفلبينية"
+ },
+ "nl-BE": {
+ "name": "الفلمنكية"
+ },
+ "fi": {
+ "name": "الفنلندية"
+ },
+ "ff": {
+ "name": "الفولانية"
+ },
+ "vun": {
+ "name": "الفونجو"
+ },
+ "vi": {
+ "name": "الفيتنامية"
+ },
+ "kab": {
+ "name": "القبيلية"
+ },
+ "ky": {
+ "name": "القيرغيزية"
+ },
+ "kk": {
+ "name": "الكازاخستانية"
+ },
+ "kl": {
+ "name": "الكالاليست"
+ },
+ "kam": {
+ "name": "الكامبا"
+ },
+ "kn": {
+ "name": "الكانادا"
+ },
+ "ca": {
+ "name": "الكتالانية"
+ },
+ "hr": {
+ "name": "الكرواتية"
+ },
+ "ks": {
+ "name": "الكشميرية"
+ },
+ "yue": {
+ "name": "الكَنْتُونية"
+ },
+ "kw": {
+ "name": "الكورنية"
+ },
+ "ko": {
+ "name": "الكورية"
+ },
+ "sw-CD": {
+ "name": "الكونغو السواحلية"
+ },
+ "kok": {
+ "name": "الكونكانية"
+ },
+ "qu": {
+ "name": "الكويتشوا"
+ },
+ "ki": {
+ "name": "الكيكيو"
+ },
+ "rw": {
+ "name": "الكينيارواندا"
+ },
+ "lv": {
+ "name": "اللاتفية"
+ },
+ "lo": {
+ "name": "اللاوية"
+ },
+ "lu": {
+ "name": "اللبا-كاتانجا"
+ },
+ "lrc": {
+ "name": "اللرية الشمالية"
+ },
+ "or": {
+ "name": "اللغة الأورية"
+ },
+ "lb": {
+ "name": "اللكسمبورغية"
+ },
+ "luo": {
+ "name": "اللو"
+ },
+ "lt": {
+ "name": "الليتوانية"
+ },
+ "ln": {
+ "name": "اللينجالا"
+ },
+ "jmc": {
+ "name": "الماتشامية"
+ },
+ "mr": {
+ "name": "الماراثية"
+ },
+ "mzn": {
+ "name": "المازندرانية"
+ },
+ "mas": {
+ "name": "الماساي"
+ },
+ "mg": {
+ "name": "المالاجاشية"
+ },
+ "ml": {
+ "name": "المالايالامية"
+ },
+ "mt": {
+ "name": "المالطية"
+ },
+ "ms": {
+ "name": "الماليزية"
+ },
+ "mk": {
+ "name": "المقدونية"
+ },
+ "mn": {
+ "name": "المنغولية"
+ },
+ "gv": {
+ "name": "المنكية"
+ },
+ "mfe": {
+ "name": "المورسيانية"
+ },
+ "ro-MD": {
+ "name": "المولدوفية"
+ },
+ "mer": {
+ "name": "الميرو"
+ },
+ "nd": {
+ "name": "النديبيل الشمالية"
+ },
+ "nb": {
+ "name": "النرويجية بوكمال"
+ },
+ "nn": {
+ "name": "النرويجية نينورسك"
+ },
+ "nus": {
+ "name": "النوير"
+ },
+ "nyn": {
+ "name": "النيانكول"
+ },
+ "ne": {
+ "name": "النيبالية"
+ },
+ "hi": {
+ "name": "الهندية"
+ },
+ "hu": {
+ "name": "الهنغارية"
+ },
+ "ha": {
+ "name": "الهوسا"
+ },
+ "nl": {
+ "name": "الهولندية"
+ },
+ "wae": {
+ "name": "الوالسر"
+ },
+ "cy": {
+ "name": "الويلزية"
+ },
+ "ja": {
+ "name": "اليابانية"
+ },
+ "yi": {
+ "name": "اليديشية"
+ },
+ "yo": {
+ "name": "اليوروبية"
+ },
+ "el": {
+ "name": "اليونانية"
+ },
+ "ebu": {
+ "name": "إمبو"
+ },
+ "bez": {
+ "name": "بينا"
+ },
+ "twq": {
+ "name": "تاساواق"
+ },
+ "shi": {
+ "name": "تشلحيت"
+ },
+ "cgg": {
+ "name": "تشيغا"
+ },
+ "dav": {
+ "name": "تيتا"
+ },
+ "teo": {
+ "name": "تيسو"
+ },
+ "dyo": {
+ "name": "جولا فونيا"
+ },
+ "saq": {
+ "name": "سامبورو"
+ },
+ "sbp": {
+ "name": "سانغو"
+ },
+ "cu": {
+ "name": "سلافية كنسية"
+ },
+ "seh": {
+ "name": "سينا"
+ },
+ "ksb": {
+ "name": "شامبالا"
+ },
+ "dsb": {
+ "name": "صوربيا السفلى"
+ },
+ "kea": {
+ "name": "كابوفيرديانو"
+ },
+ "kln": {
+ "name": "كالينجين"
+ },
+ "nmg": {
+ "name": "كواسيو"
+ },
+ "khq": {
+ "name": "كويرا تشيني"
+ },
+ "ses": {
+ "name": "كويرابورو سيني"
+ },
+ "lkt": {
+ "name": "لاكوتا"
+ },
+ "lag": {
+ "name": "لانجي"
+ },
+ "eu": {
+ "name": "لغة الباسك"
+ },
+ "ksf": {
+ "name": "لغة البافيا"
+ },
+ "vo": {
+ "name": "لغة الفولابوك"
+ },
+ "kkj": {
+ "name": "لغة الكاكو"
+ },
+ "ksh": {
+ "name": "لغة الكولونيان"
+ },
+ "luy": {
+ "name": "لغة اللويا"
+ },
+ "naq": {
+ "name": "لغة الناما"
+ },
+ "nnh": {
+ "name": "لغة النجيمبون"
+ },
+ "haw": {
+ "name": "لغة أهل الهاواي"
+ },
+ "mgh": {
+ "name": "ماخاوا-ميتو"
+ },
+ "kde": {
+ "name": "ماكونده"
+ },
+ "mua": {
+ "name": "مندنج"
+ },
+ "mgo": {
+ "name": "ميتا"
+ },
+ "jgo": {
+ "name": "نغومبا"
+ },
+ "yav": {
+ "name": "يانجبن"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/ar-LY.json b/vendor/commerceguys/intl/resources/language/ar-LY.json
new file mode 100644
index 000000000..e56980543
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/ar-LY.json
@@ -0,0 +1,635 @@
+{
+ "asa": {
+ "name": "الآسو"
+ },
+ "az": {
+ "name": "الأذربيجانية"
+ },
+ "hy": {
+ "name": "الأرمينية"
+ },
+ "as": {
+ "name": "الأسامية"
+ },
+ "es": {
+ "name": "الإسبانية"
+ },
+ "es-MX": {
+ "name": "الإسبانية المكسيكية"
+ },
+ "eo": {
+ "name": "الإسبرانتو"
+ },
+ "ast": {
+ "name": "الأسترية"
+ },
+ "et": {
+ "name": "الإستونية"
+ },
+ "agq": {
+ "name": "الأغم"
+ },
+ "af": {
+ "name": "الأفريقانية"
+ },
+ "ak": {
+ "name": "الأكانية"
+ },
+ "sq": {
+ "name": "الألبانية"
+ },
+ "de": {
+ "name": "الألمانية"
+ },
+ "nds": {
+ "name": "الألمانية السفلى"
+ },
+ "gsw": {
+ "name": "الألمانية السويسرية"
+ },
+ "de-CH": {
+ "name": "الألمانية العليا السويسرية"
+ },
+ "de-AT": {
+ "name": "الألمانية النمساوية"
+ },
+ "tzm": {
+ "name": "الأمازيغية وسط الأطلس"
+ },
+ "am": {
+ "name": "الأمهرية"
+ },
+ "en": {
+ "name": "الإنجليزية"
+ },
+ "en-AU": {
+ "name": "الإنجليزية الأسترالية"
+ },
+ "en-GB": {
+ "name": "الإنجليزية البريطانية"
+ },
+ "en-CA": {
+ "name": "الإنجليزية الكندية"
+ },
+ "id": {
+ "name": "الإندونيسية"
+ },
+ "ur": {
+ "name": "الأوردية"
+ },
+ "om": {
+ "name": "الأورومية"
+ },
+ "uz": {
+ "name": "الأوزبكية"
+ },
+ "os": {
+ "name": "الأوسيتيك"
+ },
+ "uk": {
+ "name": "الأوكرانية"
+ },
+ "ug": {
+ "name": "الأويغورية"
+ },
+ "ig": {
+ "name": "الإيجبو"
+ },
+ "ga": {
+ "name": "الأيرلندية"
+ },
+ "is": {
+ "name": "الأيسلندية"
+ },
+ "it": {
+ "name": "الإيطالية"
+ },
+ "smn": {
+ "name": "الإيناري سامي"
+ },
+ "ewo": {
+ "name": "الإيوندو"
+ },
+ "ee": {
+ "name": "الإيوي"
+ },
+ "bas": {
+ "name": "الباسا"
+ },
+ "bm": {
+ "name": "البامبارا"
+ },
+ "pt": {
+ "name": "البرتغالية"
+ },
+ "pt-PT": {
+ "name": "البرتغالية الأوروبية"
+ },
+ "prg": {
+ "name": "البروسياوية"
+ },
+ "br": {
+ "name": "البريتونية"
+ },
+ "ps": {
+ "name": "البشتونية"
+ },
+ "bg": {
+ "name": "البلغارية"
+ },
+ "pa": {
+ "name": "البنجابية"
+ },
+ "bn": {
+ "name": "البنغالية"
+ },
+ "brx": {
+ "name": "البودو"
+ },
+ "my": {
+ "name": "البورمية"
+ },
+ "bs": {
+ "name": "البوسنية"
+ },
+ "pl": {
+ "name": "البولندية"
+ },
+ "be": {
+ "name": "البيلاروسية"
+ },
+ "bem": {
+ "name": "البيمبا"
+ },
+ "ta": {
+ "name": "التاميلية"
+ },
+ "th": {
+ "name": "التايلاندية"
+ },
+ "bo": {
+ "name": "التبتية"
+ },
+ "tk": {
+ "name": "التركمانية"
+ },
+ "tr": {
+ "name": "التركية"
+ },
+ "cs": {
+ "name": "التشيكية"
+ },
+ "zgh": {
+ "name": "التمازيغية المغربية القياسية"
+ },
+ "to": {
+ "name": "التونغية"
+ },
+ "ti": {
+ "name": "التيغرينية"
+ },
+ "te": {
+ "name": "التيلوجو"
+ },
+ "gl": {
+ "name": "الجاليكية"
+ },
+ "lg": {
+ "name": "الجاندا"
+ },
+ "ka": {
+ "name": "الجورجية"
+ },
+ "km": {
+ "name": "الخميرية"
+ },
+ "da": {
+ "name": "الدانماركية"
+ },
+ "dua": {
+ "name": "الديولا"
+ },
+ "rn": {
+ "name": "الرندي"
+ },
+ "rwk": {
+ "name": "الروا"
+ },
+ "ru": {
+ "name": "الروسية"
+ },
+ "rm": {
+ "name": "الرومانشية"
+ },
+ "ro": {
+ "name": "الرومانية"
+ },
+ "rof": {
+ "name": "الرومبو"
+ },
+ "dje": {
+ "name": "الزارمية"
+ },
+ "zu": {
+ "name": "الزولو"
+ },
+ "dz": {
+ "name": "الزونخاية"
+ },
+ "sah": {
+ "name": "الساخية"
+ },
+ "se": {
+ "name": "السامي الشمالية"
+ },
+ "sg": {
+ "name": "السانجو"
+ },
+ "nds-NL": {
+ "name": "السكسونية السفلى"
+ },
+ "sk": {
+ "name": "السلوفاكية"
+ },
+ "sl": {
+ "name": "السلوفانية"
+ },
+ "si": {
+ "name": "السنهالية"
+ },
+ "sw": {
+ "name": "السواحيلية"
+ },
+ "sw-CD": {
+ "name": "السواحيلية الكونغولية"
+ },
+ "ckb": {
+ "name": "السورانية الكردية"
+ },
+ "xog": {
+ "name": "السوغا"
+ },
+ "sv": {
+ "name": "السويدية"
+ },
+ "ii": {
+ "name": "السيتشيون يي"
+ },
+ "sn": {
+ "name": "الشونا"
+ },
+ "chr": {
+ "name": "الشيروكي"
+ },
+ "ce": {
+ "name": "الشيشانية"
+ },
+ "sr": {
+ "name": "الصربية"
+ },
+ "so": {
+ "name": "الصومالية"
+ },
+ "zh": {
+ "name": "الصينية"
+ },
+ "zh-Hant": {
+ "name": "الصينية التقليدية"
+ },
+ "zh-Hans": {
+ "name": "الصينية المبسطة"
+ },
+ "he": {
+ "name": "العبرية"
+ },
+ "ar": {
+ "name": "العربية"
+ },
+ "gu": {
+ "name": "الغوجاراتية"
+ },
+ "guz": {
+ "name": "الغيزية"
+ },
+ "gd": {
+ "name": "الغيلية الأسكتلندية"
+ },
+ "fa": {
+ "name": "الفارسية"
+ },
+ "fo": {
+ "name": "الفاروية"
+ },
+ "vai": {
+ "name": "الفاي"
+ },
+ "fr": {
+ "name": "الفرنسية"
+ },
+ "fr-CH": {
+ "name": "الفرنسية السويسرية"
+ },
+ "fr-CA": {
+ "name": "الفرنسية الكندية"
+ },
+ "fy": {
+ "name": "الفريزيان"
+ },
+ "fur": {
+ "name": "الفريلايان"
+ },
+ "fil": {
+ "name": "الفلبينية"
+ },
+ "nl-BE": {
+ "name": "الفلمنكية"
+ },
+ "fi": {
+ "name": "الفنلندية"
+ },
+ "ff": {
+ "name": "الفولانية"
+ },
+ "vun": {
+ "name": "الفونجو"
+ },
+ "vi": {
+ "name": "الفيتنامية"
+ },
+ "kab": {
+ "name": "القبيلية"
+ },
+ "ky": {
+ "name": "القيرغيزية"
+ },
+ "kk": {
+ "name": "الكازاخستانية"
+ },
+ "kl": {
+ "name": "الكالاليست"
+ },
+ "kam": {
+ "name": "الكامبا"
+ },
+ "kn": {
+ "name": "الكانادا"
+ },
+ "ca": {
+ "name": "الكتالانية"
+ },
+ "hr": {
+ "name": "الكرواتية"
+ },
+ "ks": {
+ "name": "الكشميرية"
+ },
+ "yue": {
+ "name": "الكَنْتُونية"
+ },
+ "kw": {
+ "name": "الكورنية"
+ },
+ "ko": {
+ "name": "الكورية"
+ },
+ "kok": {
+ "name": "الكونكانية"
+ },
+ "qu": {
+ "name": "الكويتشوا"
+ },
+ "ki": {
+ "name": "الكيكيو"
+ },
+ "rw": {
+ "name": "الكينيارواندا"
+ },
+ "lv": {
+ "name": "اللاتفية"
+ },
+ "lo": {
+ "name": "اللاوو"
+ },
+ "lu": {
+ "name": "اللبا-كاتانجا"
+ },
+ "lrc": {
+ "name": "اللرية الشمالية"
+ },
+ "or": {
+ "name": "اللغة الأورية"
+ },
+ "lb": {
+ "name": "اللكسمبورغية"
+ },
+ "luo": {
+ "name": "اللو"
+ },
+ "lt": {
+ "name": "الليتوانية"
+ },
+ "ln": {
+ "name": "اللينجالا"
+ },
+ "jmc": {
+ "name": "الماتشامية"
+ },
+ "mr": {
+ "name": "الماراثية"
+ },
+ "mzn": {
+ "name": "المازندرانية"
+ },
+ "mas": {
+ "name": "الماساي"
+ },
+ "mg": {
+ "name": "المالاجاشية"
+ },
+ "ml": {
+ "name": "المالايالامية"
+ },
+ "mt": {
+ "name": "المالطية"
+ },
+ "ms": {
+ "name": "الماليزية"
+ },
+ "mk": {
+ "name": "المقدونية"
+ },
+ "mn": {
+ "name": "المنغولية"
+ },
+ "gv": {
+ "name": "المنكية"
+ },
+ "mfe": {
+ "name": "المورسيانية"
+ },
+ "ro-MD": {
+ "name": "المولدوفية"
+ },
+ "mer": {
+ "name": "الميرو"
+ },
+ "nd": {
+ "name": "النديبيل الشمالية"
+ },
+ "nb": {
+ "name": "النرويجية بوكمال"
+ },
+ "nn": {
+ "name": "النرويجية نينورسك"
+ },
+ "nus": {
+ "name": "النوير"
+ },
+ "nyn": {
+ "name": "النيانكول"
+ },
+ "ne": {
+ "name": "النيبالية"
+ },
+ "hi": {
+ "name": "الهندية"
+ },
+ "hu": {
+ "name": "الهنغارية"
+ },
+ "ha": {
+ "name": "الهوسا"
+ },
+ "nl": {
+ "name": "الهولندية"
+ },
+ "wae": {
+ "name": "الوالسر"
+ },
+ "cy": {
+ "name": "الويلزية"
+ },
+ "ja": {
+ "name": "اليابانية"
+ },
+ "yi": {
+ "name": "اليديشية"
+ },
+ "yo": {
+ "name": "اليوروبية"
+ },
+ "el": {
+ "name": "اليونانية"
+ },
+ "ebu": {
+ "name": "إمبو"
+ },
+ "bez": {
+ "name": "بينا"
+ },
+ "twq": {
+ "name": "تاساواق"
+ },
+ "shi": {
+ "name": "تشلحيت"
+ },
+ "cgg": {
+ "name": "تشيغا"
+ },
+ "dav": {
+ "name": "تيتا"
+ },
+ "teo": {
+ "name": "تيسو"
+ },
+ "dyo": {
+ "name": "جولا فونيا"
+ },
+ "saq": {
+ "name": "سامبورو"
+ },
+ "sbp": {
+ "name": "سانغو"
+ },
+ "cu": {
+ "name": "سلافية كنسية"
+ },
+ "seh": {
+ "name": "سينا"
+ },
+ "ksb": {
+ "name": "شامبالا"
+ },
+ "dsb": {
+ "name": "صوربيا السفلى"
+ },
+ "hsb": {
+ "name": "صوربيا العليا"
+ },
+ "kea": {
+ "name": "كابوفيرديانو"
+ },
+ "kln": {
+ "name": "كالينجين"
+ },
+ "nmg": {
+ "name": "كواسيو"
+ },
+ "khq": {
+ "name": "كويرا تشيني"
+ },
+ "ses": {
+ "name": "كويرابورو سيني"
+ },
+ "lkt": {
+ "name": "لاكوتا"
+ },
+ "lag": {
+ "name": "لانجي"
+ },
+ "eu": {
+ "name": "لغة الباسك"
+ },
+ "ksf": {
+ "name": "لغة البافيا"
+ },
+ "vo": {
+ "name": "لغة الفولابوك"
+ },
+ "kkj": {
+ "name": "لغة الكاكو"
+ },
+ "ksh": {
+ "name": "لغة الكولونيان"
+ },
+ "luy": {
+ "name": "لغة اللويا"
+ },
+ "naq": {
+ "name": "لغة الناما"
+ },
+ "nnh": {
+ "name": "لغة النجيمبون"
+ },
+ "haw": {
+ "name": "لغة أهل الهاواي"
+ },
+ "mgh": {
+ "name": "ماخاوا-ميتو"
+ },
+ "kde": {
+ "name": "ماكونده"
+ },
+ "mua": {
+ "name": "مندنج"
+ },
+ "mgo": {
+ "name": "ميتا"
+ },
+ "jgo": {
+ "name": "نغومبا"
+ },
+ "yav": {
+ "name": "يانجبن"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/ar-SA.json b/vendor/commerceguys/intl/resources/language/ar-SA.json
new file mode 100644
index 000000000..895d1498e
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/ar-SA.json
@@ -0,0 +1,635 @@
+{
+ "asa": {
+ "name": "الآسو"
+ },
+ "az": {
+ "name": "الأذربيجانية"
+ },
+ "hy": {
+ "name": "الأرمينية"
+ },
+ "as": {
+ "name": "الأسامية"
+ },
+ "es": {
+ "name": "الإسبانية"
+ },
+ "es-MX": {
+ "name": "الإسبانية المكسيكية"
+ },
+ "eo": {
+ "name": "الإسبرانتو"
+ },
+ "ast": {
+ "name": "الأسترية"
+ },
+ "et": {
+ "name": "الإستونية"
+ },
+ "agq": {
+ "name": "الأغم"
+ },
+ "af": {
+ "name": "الأفريقانية"
+ },
+ "ak": {
+ "name": "الأكانية"
+ },
+ "sq": {
+ "name": "الألبانية"
+ },
+ "de": {
+ "name": "الألمانية"
+ },
+ "nds": {
+ "name": "الألمانية السفلى"
+ },
+ "gsw": {
+ "name": "الألمانية السويسرية"
+ },
+ "de-CH": {
+ "name": "الألمانية العليا السويسرية"
+ },
+ "de-AT": {
+ "name": "الألمانية النمساوية"
+ },
+ "tzm": {
+ "name": "الأمازيغية وسط الأطلس"
+ },
+ "am": {
+ "name": "الأمهرية"
+ },
+ "en": {
+ "name": "الإنجليزية"
+ },
+ "en-AU": {
+ "name": "الإنجليزية الأسترالية"
+ },
+ "en-GB": {
+ "name": "الإنجليزية البريطانية"
+ },
+ "en-CA": {
+ "name": "الإنجليزية الكندية"
+ },
+ "id": {
+ "name": "الإندونيسية"
+ },
+ "ur": {
+ "name": "الأوردية"
+ },
+ "om": {
+ "name": "الأورومية"
+ },
+ "or": {
+ "name": "الأورية"
+ },
+ "uz": {
+ "name": "الأوزبكية"
+ },
+ "os": {
+ "name": "الأوسيتيك"
+ },
+ "uk": {
+ "name": "الأوكرانية"
+ },
+ "ug": {
+ "name": "الأويغورية"
+ },
+ "ig": {
+ "name": "الإيجبو"
+ },
+ "ga": {
+ "name": "الأيرلندية"
+ },
+ "is": {
+ "name": "الأيسلندية"
+ },
+ "it": {
+ "name": "الإيطالية"
+ },
+ "smn": {
+ "name": "الإيناري سامي"
+ },
+ "ewo": {
+ "name": "الإيوندو"
+ },
+ "ee": {
+ "name": "الإيوي"
+ },
+ "bas": {
+ "name": "الباسا"
+ },
+ "bm": {
+ "name": "البامبارا"
+ },
+ "pt": {
+ "name": "البرتغالية"
+ },
+ "pt-PT": {
+ "name": "البرتغالية الأوروبية"
+ },
+ "prg": {
+ "name": "البروسياوية"
+ },
+ "br": {
+ "name": "البريتونية"
+ },
+ "ps": {
+ "name": "البشتونية"
+ },
+ "bg": {
+ "name": "البلغارية"
+ },
+ "pa": {
+ "name": "البنجابية"
+ },
+ "bn": {
+ "name": "البنغالية"
+ },
+ "brx": {
+ "name": "البودو"
+ },
+ "my": {
+ "name": "البورمية"
+ },
+ "bs": {
+ "name": "البوسنية"
+ },
+ "pl": {
+ "name": "البولندية"
+ },
+ "be": {
+ "name": "البيلاروسية"
+ },
+ "bem": {
+ "name": "البيمبا"
+ },
+ "ta": {
+ "name": "التاميلية"
+ },
+ "th": {
+ "name": "التايلاندية"
+ },
+ "bo": {
+ "name": "التبتية"
+ },
+ "tk": {
+ "name": "التركمانية"
+ },
+ "tr": {
+ "name": "التركية"
+ },
+ "cs": {
+ "name": "التشيكية"
+ },
+ "zgh": {
+ "name": "التمازيغية المغربية القياسية"
+ },
+ "to": {
+ "name": "التونغية"
+ },
+ "ti": {
+ "name": "التيغرينية"
+ },
+ "te": {
+ "name": "التيلوجو"
+ },
+ "gl": {
+ "name": "الجاليكية"
+ },
+ "lg": {
+ "name": "الجاندا"
+ },
+ "ka": {
+ "name": "الجورجية"
+ },
+ "km": {
+ "name": "الخميرية"
+ },
+ "da": {
+ "name": "الدانماركية"
+ },
+ "dua": {
+ "name": "الديولا"
+ },
+ "rn": {
+ "name": "الرندي"
+ },
+ "rwk": {
+ "name": "الروا"
+ },
+ "ru": {
+ "name": "الروسية"
+ },
+ "rm": {
+ "name": "الرومانشية"
+ },
+ "ro": {
+ "name": "الرومانية"
+ },
+ "rof": {
+ "name": "الرومبو"
+ },
+ "dje": {
+ "name": "الزارمية"
+ },
+ "zu": {
+ "name": "الزولو"
+ },
+ "dz": {
+ "name": "الزونخاية"
+ },
+ "sah": {
+ "name": "الساخية"
+ },
+ "se": {
+ "name": "السامي الشمالية"
+ },
+ "sg": {
+ "name": "السانجو"
+ },
+ "nds-NL": {
+ "name": "السكسونية السفلى"
+ },
+ "sk": {
+ "name": "السلوفاكية"
+ },
+ "sl": {
+ "name": "السلوفانية"
+ },
+ "si": {
+ "name": "السنهالية"
+ },
+ "sw": {
+ "name": "السواحيلية"
+ },
+ "sw-CD": {
+ "name": "السواحيلية الكونغولية"
+ },
+ "ckb": {
+ "name": "السورانية الكردية"
+ },
+ "xog": {
+ "name": "السوغا"
+ },
+ "sv": {
+ "name": "السويدية"
+ },
+ "ii": {
+ "name": "السيتشيون يي"
+ },
+ "sn": {
+ "name": "الشونا"
+ },
+ "chr": {
+ "name": "الشيروكي"
+ },
+ "ce": {
+ "name": "الشيشانية"
+ },
+ "sr": {
+ "name": "الصربية"
+ },
+ "so": {
+ "name": "الصومالية"
+ },
+ "zh": {
+ "name": "الصينية"
+ },
+ "zh-Hant": {
+ "name": "الصينية التقليدية"
+ },
+ "zh-Hans": {
+ "name": "الصينية المبسطة"
+ },
+ "he": {
+ "name": "العبرية"
+ },
+ "ar": {
+ "name": "العربية"
+ },
+ "gu": {
+ "name": "الغوجاراتية"
+ },
+ "guz": {
+ "name": "الغيزية"
+ },
+ "gd": {
+ "name": "الغيلية الأسكتلندية"
+ },
+ "fa": {
+ "name": "الفارسية"
+ },
+ "fo": {
+ "name": "الفاروية"
+ },
+ "vai": {
+ "name": "الفاي"
+ },
+ "fr": {
+ "name": "الفرنسية"
+ },
+ "fr-CH": {
+ "name": "الفرنسية السويسرية"
+ },
+ "fr-CA": {
+ "name": "الفرنسية الكندية"
+ },
+ "fy": {
+ "name": "الفريزيان"
+ },
+ "fur": {
+ "name": "الفريلايان"
+ },
+ "fil": {
+ "name": "الفلبينية"
+ },
+ "nl-BE": {
+ "name": "الفلمنكية"
+ },
+ "fi": {
+ "name": "الفنلندية"
+ },
+ "ff": {
+ "name": "الفولانية"
+ },
+ "vun": {
+ "name": "الفونجو"
+ },
+ "vi": {
+ "name": "الفيتنامية"
+ },
+ "kab": {
+ "name": "القبيلية"
+ },
+ "ky": {
+ "name": "القيرغيزية"
+ },
+ "kk": {
+ "name": "الكازاخستانية"
+ },
+ "kl": {
+ "name": "الكالاليست"
+ },
+ "kam": {
+ "name": "الكامبا"
+ },
+ "kn": {
+ "name": "الكانادا"
+ },
+ "ca": {
+ "name": "الكتالانية"
+ },
+ "hr": {
+ "name": "الكرواتية"
+ },
+ "ks": {
+ "name": "الكشميرية"
+ },
+ "yue": {
+ "name": "الكَنْتُونية"
+ },
+ "kw": {
+ "name": "الكورنية"
+ },
+ "ko": {
+ "name": "الكورية"
+ },
+ "kok": {
+ "name": "الكونكانية"
+ },
+ "qu": {
+ "name": "الكويتشوا"
+ },
+ "ki": {
+ "name": "الكيكيو"
+ },
+ "rw": {
+ "name": "الكينيارواندا"
+ },
+ "lv": {
+ "name": "اللاتفية"
+ },
+ "lo": {
+ "name": "اللاوو"
+ },
+ "lu": {
+ "name": "اللبا-كاتانجا"
+ },
+ "lrc": {
+ "name": "اللرية الشمالية"
+ },
+ "lb": {
+ "name": "اللكسمبورغية"
+ },
+ "luo": {
+ "name": "اللو"
+ },
+ "lt": {
+ "name": "الليتوانية"
+ },
+ "ln": {
+ "name": "اللينجالا"
+ },
+ "jmc": {
+ "name": "الماتشامية"
+ },
+ "mr": {
+ "name": "الماراثية"
+ },
+ "mzn": {
+ "name": "المازندرانية"
+ },
+ "mas": {
+ "name": "الماساي"
+ },
+ "mg": {
+ "name": "المالاجاشية"
+ },
+ "ml": {
+ "name": "المالايالامية"
+ },
+ "mt": {
+ "name": "المالطية"
+ },
+ "ms": {
+ "name": "الماليزية"
+ },
+ "mk": {
+ "name": "المقدونية"
+ },
+ "mn": {
+ "name": "المنغولية"
+ },
+ "gv": {
+ "name": "المنكية"
+ },
+ "mfe": {
+ "name": "المورسيانية"
+ },
+ "ro-MD": {
+ "name": "المولدوفية"
+ },
+ "mer": {
+ "name": "الميرو"
+ },
+ "nd": {
+ "name": "النديبيل الشمالية"
+ },
+ "nb": {
+ "name": "النرويجية بوكمال"
+ },
+ "nn": {
+ "name": "النرويجية نينورسك"
+ },
+ "nus": {
+ "name": "النوير"
+ },
+ "nyn": {
+ "name": "النيانكول"
+ },
+ "ne": {
+ "name": "النيبالية"
+ },
+ "hi": {
+ "name": "الهندية"
+ },
+ "hu": {
+ "name": "الهنغارية"
+ },
+ "ha": {
+ "name": "الهوسا"
+ },
+ "nl": {
+ "name": "الهولندية"
+ },
+ "wae": {
+ "name": "الوالسر"
+ },
+ "cy": {
+ "name": "الويلزية"
+ },
+ "ja": {
+ "name": "اليابانية"
+ },
+ "yi": {
+ "name": "اليديشية"
+ },
+ "yo": {
+ "name": "اليوروبية"
+ },
+ "el": {
+ "name": "اليونانية"
+ },
+ "ebu": {
+ "name": "إمبو"
+ },
+ "bez": {
+ "name": "بينا"
+ },
+ "twq": {
+ "name": "تاساواق"
+ },
+ "shi": {
+ "name": "تشلحيت"
+ },
+ "cgg": {
+ "name": "تشيغا"
+ },
+ "dav": {
+ "name": "تيتا"
+ },
+ "teo": {
+ "name": "تيسو"
+ },
+ "dyo": {
+ "name": "جولا فونيا"
+ },
+ "saq": {
+ "name": "سامبورو"
+ },
+ "sbp": {
+ "name": "سانغو"
+ },
+ "cu": {
+ "name": "سلافية كنسية"
+ },
+ "seh": {
+ "name": "سينا"
+ },
+ "ksb": {
+ "name": "شامبالا"
+ },
+ "dsb": {
+ "name": "صوربيا السفلى"
+ },
+ "hsb": {
+ "name": "صوربيا العليا"
+ },
+ "kea": {
+ "name": "كابوفيرديانو"
+ },
+ "kln": {
+ "name": "كالينجين"
+ },
+ "nmg": {
+ "name": "كواسيو"
+ },
+ "khq": {
+ "name": "كويرا تشيني"
+ },
+ "ses": {
+ "name": "كويرابورو سيني"
+ },
+ "lkt": {
+ "name": "لاكوتا"
+ },
+ "lag": {
+ "name": "لانجي"
+ },
+ "eu": {
+ "name": "لغة الباسك"
+ },
+ "ksf": {
+ "name": "لغة البافيا"
+ },
+ "vo": {
+ "name": "لغة الفولابوك"
+ },
+ "kkj": {
+ "name": "لغة الكاكو"
+ },
+ "ksh": {
+ "name": "لغة الكولونيان"
+ },
+ "luy": {
+ "name": "لغة اللويا"
+ },
+ "naq": {
+ "name": "لغة الناما"
+ },
+ "nnh": {
+ "name": "لغة النجيمبون"
+ },
+ "haw": {
+ "name": "لغة أهل الهاواي"
+ },
+ "mgh": {
+ "name": "ماخاوا-ميتو"
+ },
+ "kde": {
+ "name": "ماكونده"
+ },
+ "mua": {
+ "name": "مندنج"
+ },
+ "mgo": {
+ "name": "ميتا"
+ },
+ "jgo": {
+ "name": "نغومبا"
+ },
+ "yav": {
+ "name": "يانجبن"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/ar.json b/vendor/commerceguys/intl/resources/language/ar.json
new file mode 100644
index 000000000..0f72c8dfb
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/ar.json
@@ -0,0 +1,635 @@
+{
+ "asa": {
+ "name": "الآسو"
+ },
+ "az": {
+ "name": "الأذربيجانية"
+ },
+ "hy": {
+ "name": "الأرمينية"
+ },
+ "as": {
+ "name": "الأسامية"
+ },
+ "es": {
+ "name": "الإسبانية"
+ },
+ "es-MX": {
+ "name": "الإسبانية المكسيكية"
+ },
+ "eo": {
+ "name": "الإسبرانتو"
+ },
+ "ast": {
+ "name": "الأسترية"
+ },
+ "et": {
+ "name": "الإستونية"
+ },
+ "agq": {
+ "name": "الأغم"
+ },
+ "af": {
+ "name": "الأفريقانية"
+ },
+ "ak": {
+ "name": "الأكانية"
+ },
+ "sq": {
+ "name": "الألبانية"
+ },
+ "de": {
+ "name": "الألمانية"
+ },
+ "nds": {
+ "name": "الألمانية السفلى"
+ },
+ "gsw": {
+ "name": "الألمانية السويسرية"
+ },
+ "de-CH": {
+ "name": "الألمانية العليا السويسرية"
+ },
+ "de-AT": {
+ "name": "الألمانية النمساوية"
+ },
+ "tzm": {
+ "name": "الأمازيغية وسط الأطلس"
+ },
+ "am": {
+ "name": "الأمهرية"
+ },
+ "en": {
+ "name": "الإنجليزية"
+ },
+ "en-AU": {
+ "name": "الإنجليزية الأسترالية"
+ },
+ "en-GB": {
+ "name": "الإنجليزية البريطانية"
+ },
+ "en-CA": {
+ "name": "الإنجليزية الكندية"
+ },
+ "id": {
+ "name": "الإندونيسية"
+ },
+ "ur": {
+ "name": "الأوردية"
+ },
+ "om": {
+ "name": "الأورومية"
+ },
+ "uz": {
+ "name": "الأوزبكية"
+ },
+ "os": {
+ "name": "الأوسيتيك"
+ },
+ "uk": {
+ "name": "الأوكرانية"
+ },
+ "ug": {
+ "name": "الأويغورية"
+ },
+ "ig": {
+ "name": "الإيجبو"
+ },
+ "ga": {
+ "name": "الأيرلندية"
+ },
+ "is": {
+ "name": "الأيسلندية"
+ },
+ "it": {
+ "name": "الإيطالية"
+ },
+ "smn": {
+ "name": "الإيناري سامي"
+ },
+ "ewo": {
+ "name": "الإيوندو"
+ },
+ "ee": {
+ "name": "الإيوي"
+ },
+ "bas": {
+ "name": "الباسا"
+ },
+ "bm": {
+ "name": "البامبارا"
+ },
+ "pt": {
+ "name": "البرتغالية"
+ },
+ "pt-PT": {
+ "name": "البرتغالية الأوروبية"
+ },
+ "prg": {
+ "name": "البروسياوية"
+ },
+ "br": {
+ "name": "البريتونية"
+ },
+ "ps": {
+ "name": "البشتونية"
+ },
+ "bg": {
+ "name": "البلغارية"
+ },
+ "pa": {
+ "name": "البنجابية"
+ },
+ "bn": {
+ "name": "البنغالية"
+ },
+ "brx": {
+ "name": "البودو"
+ },
+ "my": {
+ "name": "البورمية"
+ },
+ "bs": {
+ "name": "البوسنية"
+ },
+ "pl": {
+ "name": "البولندية"
+ },
+ "be": {
+ "name": "البيلاروسية"
+ },
+ "bem": {
+ "name": "البيمبا"
+ },
+ "ta": {
+ "name": "التاميلية"
+ },
+ "th": {
+ "name": "التايلاندية"
+ },
+ "bo": {
+ "name": "التبتية"
+ },
+ "tk": {
+ "name": "التركمانية"
+ },
+ "tr": {
+ "name": "التركية"
+ },
+ "cs": {
+ "name": "التشيكية"
+ },
+ "ti": {
+ "name": "التغرينية"
+ },
+ "zgh": {
+ "name": "التمازيغية المغربية القياسية"
+ },
+ "to": {
+ "name": "التونغية"
+ },
+ "te": {
+ "name": "التيلوجو"
+ },
+ "gl": {
+ "name": "الجاليكية"
+ },
+ "lg": {
+ "name": "الجاندا"
+ },
+ "ka": {
+ "name": "الجورجية"
+ },
+ "km": {
+ "name": "الخميرية"
+ },
+ "da": {
+ "name": "الدانماركية"
+ },
+ "dua": {
+ "name": "الديولا"
+ },
+ "rn": {
+ "name": "الرندي"
+ },
+ "rwk": {
+ "name": "الروا"
+ },
+ "ru": {
+ "name": "الروسية"
+ },
+ "rm": {
+ "name": "الرومانشية"
+ },
+ "ro": {
+ "name": "الرومانية"
+ },
+ "rof": {
+ "name": "الرومبو"
+ },
+ "dje": {
+ "name": "الزارمية"
+ },
+ "zu": {
+ "name": "الزولو"
+ },
+ "dz": {
+ "name": "الزونخاية"
+ },
+ "sah": {
+ "name": "الساخية"
+ },
+ "se": {
+ "name": "السامي الشمالية"
+ },
+ "sg": {
+ "name": "السانجو"
+ },
+ "nds-NL": {
+ "name": "السكسونية السفلى"
+ },
+ "sk": {
+ "name": "السلوفاكية"
+ },
+ "sl": {
+ "name": "السلوفانية"
+ },
+ "si": {
+ "name": "السنهالية"
+ },
+ "sw": {
+ "name": "السواحلية"
+ },
+ "ckb": {
+ "name": "السورانية الكردية"
+ },
+ "xog": {
+ "name": "السوغا"
+ },
+ "sv": {
+ "name": "السويدية"
+ },
+ "ii": {
+ "name": "السيتشيون يي"
+ },
+ "sn": {
+ "name": "الشونا"
+ },
+ "chr": {
+ "name": "الشيروكي"
+ },
+ "ce": {
+ "name": "الشيشانية"
+ },
+ "sr": {
+ "name": "الصربية"
+ },
+ "hsb": {
+ "name": "الصوربية العليا"
+ },
+ "so": {
+ "name": "الصومالية"
+ },
+ "zh": {
+ "name": "الصينية"
+ },
+ "zh-Hant": {
+ "name": "الصينية التقليدية"
+ },
+ "zh-Hans": {
+ "name": "الصينية المبسطة"
+ },
+ "he": {
+ "name": "العبرية"
+ },
+ "ar": {
+ "name": "العربية"
+ },
+ "gu": {
+ "name": "الغوجاراتية"
+ },
+ "guz": {
+ "name": "الغيزية"
+ },
+ "gd": {
+ "name": "الغيلية الأسكتلندية"
+ },
+ "fa": {
+ "name": "الفارسية"
+ },
+ "fo": {
+ "name": "الفاروية"
+ },
+ "vai": {
+ "name": "الفاي"
+ },
+ "fr": {
+ "name": "الفرنسية"
+ },
+ "fr-CH": {
+ "name": "الفرنسية السويسرية"
+ },
+ "fr-CA": {
+ "name": "الفرنسية الكندية"
+ },
+ "fy": {
+ "name": "الفريزيان"
+ },
+ "fur": {
+ "name": "الفريلايان"
+ },
+ "fil": {
+ "name": "الفلبينية"
+ },
+ "nl-BE": {
+ "name": "الفلمنكية"
+ },
+ "fi": {
+ "name": "الفنلندية"
+ },
+ "ff": {
+ "name": "الفولانية"
+ },
+ "vun": {
+ "name": "الفونجو"
+ },
+ "vi": {
+ "name": "الفيتنامية"
+ },
+ "kab": {
+ "name": "القبيلية"
+ },
+ "ky": {
+ "name": "القيرغيزية"
+ },
+ "kk": {
+ "name": "الكازاخستانية"
+ },
+ "kl": {
+ "name": "الكالاليست"
+ },
+ "kam": {
+ "name": "الكامبا"
+ },
+ "kn": {
+ "name": "الكانادا"
+ },
+ "ca": {
+ "name": "الكتالانية"
+ },
+ "hr": {
+ "name": "الكرواتية"
+ },
+ "ks": {
+ "name": "الكشميرية"
+ },
+ "yue": {
+ "name": "الكَنْتُونية"
+ },
+ "kw": {
+ "name": "الكورنية"
+ },
+ "ko": {
+ "name": "الكورية"
+ },
+ "sw-CD": {
+ "name": "الكونغو السواحلية"
+ },
+ "kok": {
+ "name": "الكونكانية"
+ },
+ "qu": {
+ "name": "الكويتشوا"
+ },
+ "ki": {
+ "name": "الكيكيو"
+ },
+ "rw": {
+ "name": "الكينيارواندا"
+ },
+ "lv": {
+ "name": "اللاتفية"
+ },
+ "lo": {
+ "name": "اللاوية"
+ },
+ "lu": {
+ "name": "اللبا-كاتانجا"
+ },
+ "lrc": {
+ "name": "اللرية الشمالية"
+ },
+ "or": {
+ "name": "اللغة الأورية"
+ },
+ "lb": {
+ "name": "اللكسمبورغية"
+ },
+ "luo": {
+ "name": "اللو"
+ },
+ "lt": {
+ "name": "الليتوانية"
+ },
+ "ln": {
+ "name": "اللينجالا"
+ },
+ "jmc": {
+ "name": "الماتشامية"
+ },
+ "mr": {
+ "name": "الماراثية"
+ },
+ "mzn": {
+ "name": "المازندرانية"
+ },
+ "mas": {
+ "name": "الماساي"
+ },
+ "mg": {
+ "name": "المالاجاشية"
+ },
+ "ml": {
+ "name": "المالايالامية"
+ },
+ "mt": {
+ "name": "المالطية"
+ },
+ "ms": {
+ "name": "الماليزية"
+ },
+ "mk": {
+ "name": "المقدونية"
+ },
+ "mn": {
+ "name": "المنغولية"
+ },
+ "gv": {
+ "name": "المنكية"
+ },
+ "mfe": {
+ "name": "المورسيانية"
+ },
+ "ro-MD": {
+ "name": "المولدوفية"
+ },
+ "mer": {
+ "name": "الميرو"
+ },
+ "nd": {
+ "name": "النديبيل الشمالية"
+ },
+ "nb": {
+ "name": "النرويجية بوكمال"
+ },
+ "nn": {
+ "name": "النرويجية نينورسك"
+ },
+ "nus": {
+ "name": "النوير"
+ },
+ "nyn": {
+ "name": "النيانكول"
+ },
+ "ne": {
+ "name": "النيبالية"
+ },
+ "hi": {
+ "name": "الهندية"
+ },
+ "hu": {
+ "name": "الهنغارية"
+ },
+ "ha": {
+ "name": "الهوسا"
+ },
+ "nl": {
+ "name": "الهولندية"
+ },
+ "wae": {
+ "name": "الوالسر"
+ },
+ "cy": {
+ "name": "الويلزية"
+ },
+ "ja": {
+ "name": "اليابانية"
+ },
+ "yi": {
+ "name": "اليديشية"
+ },
+ "yo": {
+ "name": "اليوروبية"
+ },
+ "el": {
+ "name": "اليونانية"
+ },
+ "ebu": {
+ "name": "إمبو"
+ },
+ "bez": {
+ "name": "بينا"
+ },
+ "twq": {
+ "name": "تاساواق"
+ },
+ "shi": {
+ "name": "تشلحيت"
+ },
+ "cgg": {
+ "name": "تشيغا"
+ },
+ "dav": {
+ "name": "تيتا"
+ },
+ "teo": {
+ "name": "تيسو"
+ },
+ "dyo": {
+ "name": "جولا فونيا"
+ },
+ "saq": {
+ "name": "سامبورو"
+ },
+ "sbp": {
+ "name": "سانغو"
+ },
+ "cu": {
+ "name": "سلافية كنسية"
+ },
+ "seh": {
+ "name": "سينا"
+ },
+ "ksb": {
+ "name": "شامبالا"
+ },
+ "dsb": {
+ "name": "صوربيا السفلى"
+ },
+ "kea": {
+ "name": "كابوفيرديانو"
+ },
+ "kln": {
+ "name": "كالينجين"
+ },
+ "nmg": {
+ "name": "كواسيو"
+ },
+ "khq": {
+ "name": "كويرا تشيني"
+ },
+ "ses": {
+ "name": "كويرابورو سيني"
+ },
+ "lkt": {
+ "name": "لاكوتا"
+ },
+ "lag": {
+ "name": "لانجي"
+ },
+ "eu": {
+ "name": "لغة الباسك"
+ },
+ "ksf": {
+ "name": "لغة البافيا"
+ },
+ "vo": {
+ "name": "لغة الفولابوك"
+ },
+ "kkj": {
+ "name": "لغة الكاكو"
+ },
+ "ksh": {
+ "name": "لغة الكولونيان"
+ },
+ "luy": {
+ "name": "لغة اللويا"
+ },
+ "naq": {
+ "name": "لغة الناما"
+ },
+ "nnh": {
+ "name": "لغة النجيمبون"
+ },
+ "haw": {
+ "name": "لغة أهل الهاواي"
+ },
+ "mgh": {
+ "name": "ماخاوا-ميتو"
+ },
+ "kde": {
+ "name": "ماكونده"
+ },
+ "mua": {
+ "name": "مندنج"
+ },
+ "mgo": {
+ "name": "ميتا"
+ },
+ "jgo": {
+ "name": "نغومبا"
+ },
+ "yav": {
+ "name": "يانجبن"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/asa.json b/vendor/commerceguys/intl/resources/language/asa.json
new file mode 100644
index 000000000..6fac3305d
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/asa.json
@@ -0,0 +1,632 @@
+{
+ "af": {
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "sq": {
+ "name": "Albanian"
+ },
+ "hy": {
+ "name": "Armenian"
+ },
+ "as": {
+ "name": "Assamese"
+ },
+ "ast": {
+ "name": "Asturian"
+ },
+ "az": {
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "eu": {
+ "name": "Basque"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "bs": {
+ "name": "Bosnian"
+ },
+ "br": {
+ "name": "Breton"
+ },
+ "yue": {
+ "name": "Cantonese"
+ },
+ "ca": {
+ "name": "Catalan"
+ },
+ "tzm": {
+ "name": "Central Atlas Tamazight"
+ },
+ "ckb": {
+ "name": "Central Kurdish"
+ },
+ "ce": {
+ "name": "Chechen"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "cu": {
+ "name": "Church Slavic"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "kw": {
+ "name": "Cornish"
+ },
+ "hr": {
+ "name": "Croatian"
+ },
+ "da": {
+ "name": "Danish"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "dz": {
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "eo": {
+ "name": "Esperanto"
+ },
+ "et": {
+ "name": "Estonian"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fo": {
+ "name": "Faroese"
+ },
+ "fil": {
+ "name": "Filipino"
+ },
+ "fi": {
+ "name": "Finnish"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "gl": {
+ "name": "Galician"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "ka": {
+ "name": "Georgian"
+ },
+ "gu": {
+ "name": "Gujarati"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "haw": {
+ "name": "Hawaiian"
+ },
+ "he": {
+ "name": "Hebrew"
+ },
+ "is": {
+ "name": "Icelandic"
+ },
+ "smn": {
+ "name": "Inari Sami"
+ },
+ "ga": {
+ "name": "Irish"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabyle"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kl": {
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "kn": {
+ "name": "Kannada"
+ },
+ "ks": {
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "name": "Kazakh"
+ },
+ "fa": {
+ "name": "Kiajemi"
+ },
+ "ak": {
+ "name": "Kiakan"
+ },
+ "am": {
+ "name": "Kiamhari"
+ },
+ "ar": {
+ "name": "Kiarabu"
+ },
+ "bn": {
+ "name": "Kibangla"
+ },
+ "be": {
+ "name": "Kibelarusi"
+ },
+ "bg": {
+ "name": "Kibulgaria"
+ },
+ "my": {
+ "name": "Kiburma"
+ },
+ "cs": {
+ "name": "Kicheki"
+ },
+ "zh": {
+ "name": "Kichina"
+ },
+ "zh-Hans": {
+ "name": "Kichina (Hans)"
+ },
+ "zh-Hant": {
+ "name": "Kichina (Hant)"
+ },
+ "zu": {
+ "name": "Kidhulu"
+ },
+ "fr": {
+ "name": "Kifarantha"
+ },
+ "fr-CA": {
+ "name": "Kifarantha (Kanada)"
+ },
+ "fr-CH": {
+ "name": "Kifarantha (Uthwithi)"
+ },
+ "el": {
+ "name": "Kigiriki"
+ },
+ "ha": {
+ "name": "Kihautha"
+ },
+ "hi": {
+ "name": "Kihindi"
+ },
+ "es": {
+ "name": "Kihithpania"
+ },
+ "es-MX": {
+ "name": "Kihithpania (Mekthiko)"
+ },
+ "nl": {
+ "name": "Kiholandhi"
+ },
+ "nl-BE": {
+ "name": "Kiholandhi (Ubelgiji)"
+ },
+ "hu": {
+ "name": "Kihungari"
+ },
+ "ig": {
+ "name": "Kiigbo"
+ },
+ "id": {
+ "name": "Kiindonethia"
+ },
+ "en": {
+ "name": "Kiingeredha"
+ },
+ "en-AU": {
+ "name": "Kiingeredha (Authtralia)"
+ },
+ "en-CA": {
+ "name": "Kiingeredha (Kanada)"
+ },
+ "en-GB": {
+ "name": "Kiingeredha (Uingeredha)"
+ },
+ "it": {
+ "name": "Kiitaliaano"
+ },
+ "ja": {
+ "name": "Kijapani"
+ },
+ "de": {
+ "name": "Kijerumani"
+ },
+ "de-AT": {
+ "name": "Kijerumani (Authtria)"
+ },
+ "de-CH": {
+ "name": "Kijerumani (Uthwithi)"
+ },
+ "km": {
+ "name": "Kikambodia"
+ },
+ "ko": {
+ "name": "Kikorea"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "ms": {
+ "name": "Kimalesia"
+ },
+ "ne": {
+ "name": "Kinepali"
+ },
+ "rw": {
+ "name": "Kinyarandwa"
+ },
+ "asa": {
+ "name": "Kipare"
+ },
+ "pl": {
+ "name": "Kipolandi"
+ },
+ "pa": {
+ "name": "Kipunjabi"
+ },
+ "pt": {
+ "name": "Kireno"
+ },
+ "pt-PT": {
+ "name": "Kireno (Ureno)"
+ },
+ "ro": {
+ "name": "Kiromania"
+ },
+ "ro-MD": {
+ "name": "Kiromania (Moldova)"
+ },
+ "ru": {
+ "name": "Kiruthi"
+ },
+ "th": {
+ "name": "Kitailandi"
+ },
+ "ta": {
+ "name": "Kitamil"
+ },
+ "so": {
+ "name": "Kithomali"
+ },
+ "sv": {
+ "name": "Kithwidi"
+ },
+ "tr": {
+ "name": "Kituruki"
+ },
+ "uk": {
+ "name": "Kiukrania"
+ },
+ "ur": {
+ "name": "Kiurdu"
+ },
+ "vi": {
+ "name": "Kivietinamu"
+ },
+ "yo": {
+ "name": "Kiyoruba"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "ky": {
+ "name": "Kyrgyz"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "Lao"
+ },
+ "lv": {
+ "name": "Latvian"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "lt": {
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "mk": {
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "mg": {
+ "name": "Malagasy"
+ },
+ "ml": {
+ "name": "Malayalam"
+ },
+ "mt": {
+ "name": "Maltese"
+ },
+ "gv": {
+ "name": "Manx"
+ },
+ "mr": {
+ "name": "Marathi"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "mn": {
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nds-NL": {
+ "name": "nds (Uholandhi)"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "nd": {
+ "name": "North Ndebele"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "se": {
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "or": {
+ "name": "Odia"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "os": {
+ "name": "Ossetic"
+ },
+ "ps": {
+ "name": "Pashto"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "qu": {
+ "name": "Quechua"
+ },
+ "rm": {
+ "name": "Romansh"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "rn": {
+ "name": "Rundi"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "sah": {
+ "name": "Sakha"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "gd": {
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "sr": {
+ "name": "Serbian"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "si": {
+ "name": "Sinhala"
+ },
+ "sk": {
+ "name": "Slovak"
+ },
+ "sl": {
+ "name": "Slovenian"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw-CD": {
+ "name": "sw (Jamhuri ya Kidemokrathia ya Kongo)"
+ },
+ "sw": {
+ "name": "Swahili"
+ },
+ "gsw": {
+ "name": "Swiss German"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "te": {
+ "name": "Telugu"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "bo": {
+ "name": "Tibetan"
+ },
+ "ti": {
+ "name": "Tigrinya"
+ },
+ "to": {
+ "name": "Tongan"
+ },
+ "tk": {
+ "name": "Turkmen"
+ },
+ "hsb": {
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "name": "Uyghur"
+ },
+ "uz": {
+ "name": "Uzbek"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "cy": {
+ "name": "Welsh"
+ },
+ "fy": {
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "yi": {
+ "name": "Yiddish"
+ },
+ "dje": {
+ "name": "Zarma"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/ast.json b/vendor/commerceguys/intl/resources/language/ast.json
new file mode 100644
index 000000000..e0b558888
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/ast.json
@@ -0,0 +1,635 @@
+{
+ "af": {
+ "name": "afrikaans"
+ },
+ "agq": {
+ "name": "aghem"
+ },
+ "ak": {
+ "name": "akan"
+ },
+ "sq": {
+ "name": "albanu"
+ },
+ "de": {
+ "name": "alemán"
+ },
+ "de-AT": {
+ "name": "alemán d’Austria"
+ },
+ "gsw": {
+ "name": "alemán de Suiza"
+ },
+ "hsb": {
+ "name": "altu sorbiu"
+ },
+ "de-CH": {
+ "name": "altualemán de Suiza"
+ },
+ "am": {
+ "name": "amháricu"
+ },
+ "ar": {
+ "name": "árabe"
+ },
+ "hy": {
+ "name": "armeniu"
+ },
+ "as": {
+ "name": "asamés"
+ },
+ "ast": {
+ "name": "asturianu"
+ },
+ "asa": {
+ "name": "asu"
+ },
+ "az": {
+ "name": "azerbaixanu"
+ },
+ "ksf": {
+ "name": "bafia"
+ },
+ "bm": {
+ "name": "bambara"
+ },
+ "bas": {
+ "name": "basaa"
+ },
+ "nds": {
+ "name": "baxu alemán"
+ },
+ "nds-NL": {
+ "name": "baxu saxón"
+ },
+ "dsb": {
+ "name": "baxu sorbiu"
+ },
+ "bem": {
+ "name": "bemba"
+ },
+ "bez": {
+ "name": "bena"
+ },
+ "bn": {
+ "name": "bengalín"
+ },
+ "be": {
+ "name": "bielorrusu"
+ },
+ "my": {
+ "name": "birmanu"
+ },
+ "brx": {
+ "name": "bodo"
+ },
+ "bs": {
+ "name": "bosniu"
+ },
+ "br": {
+ "name": "bretón"
+ },
+ "bg": {
+ "name": "búlgaru"
+ },
+ "kea": {
+ "name": "cabuverdianu"
+ },
+ "ks": {
+ "name": "cachemirés"
+ },
+ "kn": {
+ "name": "canarés"
+ },
+ "yue": {
+ "name": "cantonés"
+ },
+ "ca": {
+ "name": "catalán"
+ },
+ "ce": {
+ "name": "chechenu"
+ },
+ "cs": {
+ "name": "checu"
+ },
+ "chr": {
+ "name": "cheroqui"
+ },
+ "cgg": {
+ "name": "chiga"
+ },
+ "zh": {
+ "name": "chinu"
+ },
+ "zh-Hans": {
+ "name": "chinu simplificáu"
+ },
+ "zh-Hant": {
+ "name": "chinu tradicional"
+ },
+ "si": {
+ "name": "cingalés"
+ },
+ "ksh": {
+ "name": "colonianu"
+ },
+ "ko": {
+ "name": "coreanu"
+ },
+ "kw": {
+ "name": "córnicu"
+ },
+ "hr": {
+ "name": "croata"
+ },
+ "da": {
+ "name": "danés"
+ },
+ "dua": {
+ "name": "duala"
+ },
+ "dz": {
+ "name": "dzongkha"
+ },
+ "ebu": {
+ "name": "embú"
+ },
+ "cu": {
+ "name": "eslávicu eclesiásticu"
+ },
+ "sk": {
+ "name": "eslovacu"
+ },
+ "sl": {
+ "name": "eslovenu"
+ },
+ "es": {
+ "name": "español"
+ },
+ "es-MX": {
+ "name": "español de Méxicu"
+ },
+ "eo": {
+ "name": "esperanto"
+ },
+ "et": {
+ "name": "estoniu"
+ },
+ "ee": {
+ "name": "ewe"
+ },
+ "ewo": {
+ "name": "ewondo"
+ },
+ "fo": {
+ "name": "feroés"
+ },
+ "fil": {
+ "name": "filipín"
+ },
+ "fi": {
+ "name": "finlandés"
+ },
+ "nl-BE": {
+ "name": "flamencu"
+ },
+ "fr": {
+ "name": "francés"
+ },
+ "fr-CA": {
+ "name": "francés de Canadá"
+ },
+ "fr-CH": {
+ "name": "francés de Suiza"
+ },
+ "fy": {
+ "name": "frisón occidental"
+ },
+ "fur": {
+ "name": "friulianu"
+ },
+ "ff": {
+ "name": "fulah"
+ },
+ "gd": {
+ "name": "gaélicu escocés"
+ },
+ "cy": {
+ "name": "galés"
+ },
+ "gl": {
+ "name": "gallegu"
+ },
+ "lg": {
+ "name": "ganda"
+ },
+ "el": {
+ "name": "griegu"
+ },
+ "guz": {
+ "name": "gusii"
+ },
+ "gu": {
+ "name": "guyaratí"
+ },
+ "ha": {
+ "name": "ḥausa"
+ },
+ "haw": {
+ "name": "hawaianu"
+ },
+ "he": {
+ "name": "hebréu"
+ },
+ "km": {
+ "name": "ḥemer"
+ },
+ "hi": {
+ "name": "hindi"
+ },
+ "hu": {
+ "name": "húngaru"
+ },
+ "ig": {
+ "name": "igbo"
+ },
+ "smn": {
+ "name": "inari sami"
+ },
+ "id": {
+ "name": "indonesiu"
+ },
+ "en": {
+ "name": "inglés"
+ },
+ "en-AU": {
+ "name": "inglés d’Australia"
+ },
+ "en-CA": {
+ "name": "inglés de Canadá"
+ },
+ "en-GB": {
+ "name": "inglés de Gran Bretaña"
+ },
+ "ga": {
+ "name": "irlandés"
+ },
+ "is": {
+ "name": "islandés"
+ },
+ "it": {
+ "name": "italianu"
+ },
+ "dyo": {
+ "name": "jola-fonyi"
+ },
+ "kab": {
+ "name": "kabileñu"
+ },
+ "kkj": {
+ "name": "kako"
+ },
+ "kl": {
+ "name": "kalaallisut"
+ },
+ "kln": {
+ "name": "kalenjin"
+ },
+ "kam": {
+ "name": "kamba"
+ },
+ "kk": {
+ "name": "kazaquistanín"
+ },
+ "ki": {
+ "name": "kikuyu"
+ },
+ "rw": {
+ "name": "kinyarwanda"
+ },
+ "ky": {
+ "name": "kirguistanín"
+ },
+ "kok": {
+ "name": "konkani"
+ },
+ "khq": {
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "name": "koyraboro senni"
+ },
+ "ckb": {
+ "name": "kurdu central"
+ },
+ "nmg": {
+ "name": "kwasio"
+ },
+ "lkt": {
+ "name": "lakota"
+ },
+ "lag": {
+ "name": "langi"
+ },
+ "lo": {
+ "name": "laosianu"
+ },
+ "lv": {
+ "name": "letón"
+ },
+ "ln": {
+ "name": "lingala"
+ },
+ "lt": {
+ "name": "lituanu"
+ },
+ "lu": {
+ "name": "luba-katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lrc": {
+ "name": "luri del norte"
+ },
+ "lb": {
+ "name": "luxemburgués"
+ },
+ "luy": {
+ "name": "luyia"
+ },
+ "mk": {
+ "name": "macedoniu"
+ },
+ "jmc": {
+ "name": "machame"
+ },
+ "mgh": {
+ "name": "makhuwa-meetto"
+ },
+ "kde": {
+ "name": "makonde"
+ },
+ "ml": {
+ "name": "malayalam"
+ },
+ "ms": {
+ "name": "malayu"
+ },
+ "mg": {
+ "name": "malgaxe"
+ },
+ "mt": {
+ "name": "maltés"
+ },
+ "gv": {
+ "name": "manés"
+ },
+ "mr": {
+ "name": "marathi"
+ },
+ "mas": {
+ "name": "masái"
+ },
+ "mzn": {
+ "name": "mazanderani"
+ },
+ "mer": {
+ "name": "meru"
+ },
+ "mgo": {
+ "name": "meta’"
+ },
+ "ro-MD": {
+ "name": "moldavu"
+ },
+ "mn": {
+ "name": "mongol"
+ },
+ "mfe": {
+ "name": "morisyen"
+ },
+ "mua": {
+ "name": "mundang"
+ },
+ "naq": {
+ "name": "nama"
+ },
+ "nd": {
+ "name": "ndebele del norte"
+ },
+ "nl": {
+ "name": "neerlandés"
+ },
+ "ne": {
+ "name": "nepalés"
+ },
+ "nnh": {
+ "name": "ngiemboon"
+ },
+ "jgo": {
+ "name": "ngomba"
+ },
+ "nb": {
+ "name": "noruegu Bokmål"
+ },
+ "nn": {
+ "name": "noruegu Nynorsk"
+ },
+ "nus": {
+ "name": "nuer"
+ },
+ "nyn": {
+ "name": "nyankole"
+ },
+ "or": {
+ "name": "oriya"
+ },
+ "om": {
+ "name": "oromo"
+ },
+ "os": {
+ "name": "oséticu"
+ },
+ "ps": {
+ "name": "pashtu"
+ },
+ "fa": {
+ "name": "persa"
+ },
+ "pl": {
+ "name": "polacu"
+ },
+ "pt": {
+ "name": "portugués"
+ },
+ "pt-PT": {
+ "name": "portugués européu"
+ },
+ "prg": {
+ "name": "prusianu"
+ },
+ "pa": {
+ "name": "punyabí"
+ },
+ "qu": {
+ "name": "quechua"
+ },
+ "rm": {
+ "name": "romanche"
+ },
+ "rof": {
+ "name": "rombo"
+ },
+ "ro": {
+ "name": "rumanu"
+ },
+ "rn": {
+ "name": "rundi"
+ },
+ "ru": {
+ "name": "rusu"
+ },
+ "rwk": {
+ "name": "rwa"
+ },
+ "sah": {
+ "name": "sakha"
+ },
+ "saq": {
+ "name": "samburu"
+ },
+ "se": {
+ "name": "sami del norte"
+ },
+ "sg": {
+ "name": "sango"
+ },
+ "sbp": {
+ "name": "sangu"
+ },
+ "seh": {
+ "name": "sena"
+ },
+ "sr": {
+ "name": "serbiu"
+ },
+ "ksb": {
+ "name": "shambala"
+ },
+ "sn": {
+ "name": "shona"
+ },
+ "xog": {
+ "name": "soga"
+ },
+ "so": {
+ "name": "somalín"
+ },
+ "sw": {
+ "name": "suaḥili"
+ },
+ "sw-CD": {
+ "name": "suaḥili del Congu"
+ },
+ "sv": {
+ "name": "suecu"
+ },
+ "shi": {
+ "name": "tachelhit"
+ },
+ "th": {
+ "name": "tailandés"
+ },
+ "dav": {
+ "name": "taita"
+ },
+ "tzm": {
+ "name": "tamazight del Atles central"
+ },
+ "zgh": {
+ "name": "tamazight estándar de Marruecos"
+ },
+ "ta": {
+ "name": "tamil"
+ },
+ "twq": {
+ "name": "tasawaq"
+ },
+ "te": {
+ "name": "telugu"
+ },
+ "teo": {
+ "name": "teso"
+ },
+ "bo": {
+ "name": "tibetanu"
+ },
+ "ti": {
+ "name": "tigrinya"
+ },
+ "to": {
+ "name": "tonganu"
+ },
+ "tk": {
+ "name": "turcomanu"
+ },
+ "tr": {
+ "name": "turcu"
+ },
+ "uk": {
+ "name": "ucraín"
+ },
+ "ug": {
+ "name": "uigur"
+ },
+ "ur": {
+ "name": "urdu"
+ },
+ "uz": {
+ "name": "uzbequistanín"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "eu": {
+ "name": "vascu"
+ },
+ "vi": {
+ "name": "vietnamín"
+ },
+ "vo": {
+ "name": "volapük"
+ },
+ "vun": {
+ "name": "vunjo"
+ },
+ "wae": {
+ "name": "walser"
+ },
+ "ja": {
+ "name": "xaponés"
+ },
+ "ka": {
+ "name": "xeorxanu"
+ },
+ "yav": {
+ "name": "yangben"
+ },
+ "ii": {
+ "name": "yi de Sichuán"
+ },
+ "yi": {
+ "name": "yiddish"
+ },
+ "yo": {
+ "name": "yoruba"
+ },
+ "dje": {
+ "name": "zarma"
+ },
+ "zu": {
+ "name": "zulú"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/az-Cyrl.json b/vendor/commerceguys/intl/resources/language/az-Cyrl.json
new file mode 100644
index 000000000..f33455916
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/az-Cyrl.json
@@ -0,0 +1,632 @@
+{
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "en-AU": {
+ "name": "Австралија инҝилисҹәси"
+ },
+ "de-AT": {
+ "name": "Австрија алманҹасы"
+ },
+ "agq": {
+ "name": "агһем"
+ },
+ "az": {
+ "name": "азәрбајҹан"
+ },
+ "ak": {
+ "name": "акан"
+ },
+ "sq": {
+ "name": "албан"
+ },
+ "de": {
+ "name": "алман"
+ },
+ "am": {
+ "name": "амһар"
+ },
+ "as": {
+ "name": "ассам"
+ },
+ "ast": {
+ "name": "астурија"
+ },
+ "asa": {
+ "name": "асу"
+ },
+ "af": {
+ "name": "африкаанс"
+ },
+ "nds-NL": {
+ "name": "ашағы саксон"
+ },
+ "dsb": {
+ "name": "ашағы сорб"
+ },
+ "zh-Hant": {
+ "name": "әнәнәви чин"
+ },
+ "ar": {
+ "name": "әрәб"
+ },
+ "bm": {
+ "name": "бамбара"
+ },
+ "bas": {
+ "name": "баса"
+ },
+ "eu": {
+ "name": "баск"
+ },
+ "ksf": {
+ "name": "бафиа"
+ },
+ "be": {
+ "name": "беларус"
+ },
+ "bem": {
+ "name": "бемба"
+ },
+ "bez": {
+ "name": "бена"
+ },
+ "bn": {
+ "name": "бенгал"
+ },
+ "my": {
+ "name": "бирман"
+ },
+ "brx": {
+ "name": "бодо"
+ },
+ "nb": {
+ "name": "бокмал норвеч"
+ },
+ "bs": {
+ "name": "босниак"
+ },
+ "br": {
+ "name": "бретон"
+ },
+ "en-GB": {
+ "name": "Британија инҝилисҹәси"
+ },
+ "bg": {
+ "name": "булгар"
+ },
+ "vai": {
+ "name": "ваи"
+ },
+ "wae": {
+ "name": "валлес"
+ },
+ "vi": {
+ "name": "вјетнам"
+ },
+ "vo": {
+ "name": "волапүк"
+ },
+ "vun": {
+ "name": "вунјо"
+ },
+ "kk": {
+ "name": "газах"
+ },
+ "gl": {
+ "name": "галисија"
+ },
+ "lg": {
+ "name": "ганда"
+ },
+ "fy": {
+ "name": "гәрби фриз"
+ },
+ "guz": {
+ "name": "гуси"
+ },
+ "gu": {
+ "name": "гуҹарат"
+ },
+ "ky": {
+ "name": "гырғыз"
+ },
+ "da": {
+ "name": "данимарка"
+ },
+ "dz": {
+ "name": "дзонга"
+ },
+ "dyo": {
+ "name": "диола"
+ },
+ "dua": {
+ "name": "дуала"
+ },
+ "ee": {
+ "name": "еве"
+ },
+ "ewo": {
+ "name": "евондо"
+ },
+ "ebu": {
+ "name": "ембу"
+ },
+ "hy": {
+ "name": "ермәни"
+ },
+ "eo": {
+ "name": "есперанто"
+ },
+ "et": {
+ "name": "естон"
+ },
+ "dje": {
+ "name": "зарма"
+ },
+ "zu": {
+ "name": "зулу"
+ },
+ "he": {
+ "name": "иврит"
+ },
+ "ig": {
+ "name": "игбо"
+ },
+ "yi": {
+ "name": "идиш"
+ },
+ "smn": {
+ "name": "инари сами"
+ },
+ "id": {
+ "name": "индонезија"
+ },
+ "en": {
+ "name": "инҝилис"
+ },
+ "ga": {
+ "name": "ирланд"
+ },
+ "sv": {
+ "name": "исвеч"
+ },
+ "gsw": {
+ "name": "Исвечрә алманҹасы"
+ },
+ "de-CH": {
+ "name": "Исвечрә јүксәк алманҹасы"
+ },
+ "fr-CH": {
+ "name": "Исвечрә франсызҹасы"
+ },
+ "is": {
+ "name": "исланд"
+ },
+ "es": {
+ "name": "испан"
+ },
+ "it": {
+ "name": "италјан"
+ },
+ "yav": {
+ "name": "јангбен"
+ },
+ "ja": {
+ "name": "јапон"
+ },
+ "yo": {
+ "name": "јоруба"
+ },
+ "el": {
+ "name": "јунан"
+ },
+ "hsb": {
+ "name": "јухары сорб"
+ },
+ "kab": {
+ "name": "кабиле"
+ },
+ "kea": {
+ "name": "кабувердиан"
+ },
+ "kkj": {
+ "name": "како"
+ },
+ "kl": {
+ "name": "калааллисут"
+ },
+ "kln": {
+ "name": "каленҹин"
+ },
+ "kam": {
+ "name": "камба"
+ },
+ "en-CA": {
+ "name": "Канада инҝилисҹәси"
+ },
+ "fr-CA": {
+ "name": "Канада франсызҹасы"
+ },
+ "kn": {
+ "name": "каннада"
+ },
+ "yue": {
+ "name": "кантон"
+ },
+ "ca": {
+ "name": "каталан"
+ },
+ "ks": {
+ "name": "кәшмир"
+ },
+ "nmg": {
+ "name": "квасио"
+ },
+ "qu": {
+ "name": "кечуа"
+ },
+ "ki": {
+ "name": "кикују"
+ },
+ "rw": {
+ "name": "кинјарванда"
+ },
+ "khq": {
+ "name": "којра чиини"
+ },
+ "ses": {
+ "name": "којраборо сенни"
+ },
+ "sw-CD": {
+ "name": "Конго суаһилиҹәси"
+ },
+ "kok": {
+ "name": "конкани"
+ },
+ "ko": {
+ "name": "кореја"
+ },
+ "kw": {
+ "name": "корн"
+ },
+ "ksh": {
+ "name": "көлн"
+ },
+ "km": {
+ "name": "кхмер"
+ },
+ "ka": {
+ "name": "ҝүрҹү"
+ },
+ "lkt": {
+ "name": "лакота"
+ },
+ "lag": {
+ "name": "ланҝи"
+ },
+ "lo": {
+ "name": "лаос"
+ },
+ "lv": {
+ "name": "латыш"
+ },
+ "ln": {
+ "name": "лингала"
+ },
+ "lt": {
+ "name": "литва"
+ },
+ "lu": {
+ "name": "луба-катанга"
+ },
+ "luy": {
+ "name": "лујиа"
+ },
+ "luo": {
+ "name": "луо"
+ },
+ "lb": {
+ "name": "лүксембург"
+ },
+ "mzn": {
+ "name": "мазандаран"
+ },
+ "mk": {
+ "name": "македон"
+ },
+ "kde": {
+ "name": "маконде"
+ },
+ "mg": {
+ "name": "малагас"
+ },
+ "ms": {
+ "name": "малај"
+ },
+ "ml": {
+ "name": "малајалам"
+ },
+ "mt": {
+ "name": "малта"
+ },
+ "gv": {
+ "name": "манкс"
+ },
+ "mr": {
+ "name": "маратһи"
+ },
+ "mas": {
+ "name": "масај"
+ },
+ "mgh": {
+ "name": "махува-меетто"
+ },
+ "jmc": {
+ "name": "мачам"
+ },
+ "hu": {
+ "name": "маҹар"
+ },
+ "tzm": {
+ "name": "Мәркәзи Атлас тамазиҹәси"
+ },
+ "es-MX": {
+ "name": "Мексика испанҹасы"
+ },
+ "mer": {
+ "name": "меру"
+ },
+ "mgo": {
+ "name": "метаʼ"
+ },
+ "mn": {
+ "name": "монгол"
+ },
+ "mfe": {
+ "name": "морисиен"
+ },
+ "mua": {
+ "name": "мунданг"
+ },
+ "naq": {
+ "name": "нама"
+ },
+ "jgo": {
+ "name": "нгомба"
+ },
+ "ne": {
+ "name": "непал"
+ },
+ "nyn": {
+ "name": "нјанкол"
+ },
+ "nnh": {
+ "name": "нҝиембоон"
+ },
+ "nus": {
+ "name": "нуер"
+ },
+ "nn": {
+ "name": "нүнорск норвеч"
+ },
+ "or": {
+ "name": "одија"
+ },
+ "om": {
+ "name": "оромо"
+ },
+ "os": {
+ "name": "осетин"
+ },
+ "uz": {
+ "name": "өзбәк"
+ },
+ "pa": {
+ "name": "пәнҹаб"
+ },
+ "pl": {
+ "name": "полјак"
+ },
+ "pt": {
+ "name": "португал"
+ },
+ "pt-PT": {
+ "name": "Португалија португалҹасы"
+ },
+ "prg": {
+ "name": "прусс"
+ },
+ "ps": {
+ "name": "пушту"
+ },
+ "rm": {
+ "name": "романш"
+ },
+ "rof": {
+ "name": "ромбо"
+ },
+ "rwk": {
+ "name": "руа"
+ },
+ "ro": {
+ "name": "румын"
+ },
+ "ro-MD": {
+ "name": "румын (Молдова)"
+ },
+ "rn": {
+ "name": "рунди"
+ },
+ "ru": {
+ "name": "рус"
+ },
+ "zh-Hans": {
+ "name": "садәләшмиш чин"
+ },
+ "saq": {
+ "name": "самбуру"
+ },
+ "sg": {
+ "name": "санго"
+ },
+ "sbp": {
+ "name": "сангу"
+ },
+ "sah": {
+ "name": "саха"
+ },
+ "seh": {
+ "name": "сена"
+ },
+ "sr": {
+ "name": "серб"
+ },
+ "si": {
+ "name": "синһала"
+ },
+ "cu": {
+ "name": "славјан"
+ },
+ "sk": {
+ "name": "словак"
+ },
+ "sl": {
+ "name": "словен"
+ },
+ "xog": {
+ "name": "сога"
+ },
+ "so": {
+ "name": "сомали"
+ },
+ "ckb": {
+ "name": "соран"
+ },
+ "sw": {
+ "name": "суаһили"
+ },
+ "dav": {
+ "name": "таита"
+ },
+ "th": {
+ "name": "тај"
+ },
+ "zgh": {
+ "name": "тамази"
+ },
+ "ta": {
+ "name": "тамил"
+ },
+ "twq": {
+ "name": "тасаваг"
+ },
+ "shi": {
+ "name": "тачелит"
+ },
+ "te": {
+ "name": "телугу"
+ },
+ "teo": {
+ "name": "тесо"
+ },
+ "bo": {
+ "name": "тибет"
+ },
+ "ti": {
+ "name": "тигрин"
+ },
+ "to": {
+ "name": "тонган"
+ },
+ "tr": {
+ "name": "түрк"
+ },
+ "tk": {
+ "name": "түркмән"
+ },
+ "cy": {
+ "name": "уелс"
+ },
+ "ug": {
+ "name": "ујғур"
+ },
+ "uk": {
+ "name": "украјна"
+ },
+ "ur": {
+ "name": "урду"
+ },
+ "fo": {
+ "name": "фарер"
+ },
+ "fa": {
+ "name": "фарс"
+ },
+ "fil": {
+ "name": "филиппин"
+ },
+ "fi": {
+ "name": "фин"
+ },
+ "nl-BE": {
+ "name": "фламанд"
+ },
+ "fr": {
+ "name": "франсыз"
+ },
+ "fur": {
+ "name": "фриул"
+ },
+ "ff": {
+ "name": "фула"
+ },
+ "hr": {
+ "name": "хорват"
+ },
+ "haw": {
+ "name": "һавај"
+ },
+ "ha": {
+ "name": "һауса"
+ },
+ "hi": {
+ "name": "һинд"
+ },
+ "nl": {
+ "name": "һолланд"
+ },
+ "chr": {
+ "name": "чероки"
+ },
+ "cs": {
+ "name": "чех"
+ },
+ "ce": {
+ "name": "чечен"
+ },
+ "cgg": {
+ "name": "чига"
+ },
+ "zh": {
+ "name": "чин"
+ },
+ "ksb": {
+ "name": "шамбала"
+ },
+ "lrc": {
+ "name": "шимали лури"
+ },
+ "nd": {
+ "name": "шимали ндебеле"
+ },
+ "se": {
+ "name": "шимали сами"
+ },
+ "sn": {
+ "name": "шона"
+ },
+ "gd": {
+ "name": "шотланд келт"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/az.json b/vendor/commerceguys/intl/resources/language/az.json
new file mode 100644
index 000000000..0d821b91a
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/az.json
@@ -0,0 +1,635 @@
+{
+ "af": {
+ "name": "afrikaans"
+ },
+ "ak": {
+ "name": "akan"
+ },
+ "agq": {
+ "name": "aqhem"
+ },
+ "sq": {
+ "name": "alban"
+ },
+ "de": {
+ "name": "alman"
+ },
+ "am": {
+ "name": "amhar"
+ },
+ "as": {
+ "name": "assam"
+ },
+ "ast": {
+ "name": "asturiya"
+ },
+ "asa": {
+ "name": "asu"
+ },
+ "nds": {
+ "name": "aşağı alman"
+ },
+ "nds-NL": {
+ "name": "aşağı sakson"
+ },
+ "dsb": {
+ "name": "aşağı sorb"
+ },
+ "en-AU": {
+ "name": "Avstraliya ingiliscəsi"
+ },
+ "de-AT": {
+ "name": "Avstriya almancası"
+ },
+ "az": {
+ "name": "azərbaycan"
+ },
+ "ksf": {
+ "name": "bafia"
+ },
+ "bm": {
+ "name": "bambara"
+ },
+ "bas": {
+ "name": "basa"
+ },
+ "eu": {
+ "name": "bask"
+ },
+ "be": {
+ "name": "belarus"
+ },
+ "bem": {
+ "name": "bemba"
+ },
+ "bez": {
+ "name": "bena"
+ },
+ "bn": {
+ "name": "benqal"
+ },
+ "my": {
+ "name": "birman"
+ },
+ "brx": {
+ "name": "bodo"
+ },
+ "nb": {
+ "name": "bokmal norveç"
+ },
+ "bg": {
+ "name": "bolqar"
+ },
+ "bs": {
+ "name": "bosniak"
+ },
+ "br": {
+ "name": "breton"
+ },
+ "en-GB": {
+ "name": "Britaniya ingiliscəsi"
+ },
+ "ce": {
+ "name": "çeçen"
+ },
+ "cs": {
+ "name": "çex"
+ },
+ "chr": {
+ "name": "çeroki"
+ },
+ "cgg": {
+ "name": "çiqa"
+ },
+ "zh": {
+ "name": "çin"
+ },
+ "da": {
+ "name": "danimarka"
+ },
+ "dyo": {
+ "name": "diola"
+ },
+ "dua": {
+ "name": "duala"
+ },
+ "dz": {
+ "name": "dzonqa"
+ },
+ "ebu": {
+ "name": "embu"
+ },
+ "hy": {
+ "name": "erməni"
+ },
+ "eo": {
+ "name": "esperanto"
+ },
+ "et": {
+ "name": "eston"
+ },
+ "ee": {
+ "name": "eve"
+ },
+ "ewo": {
+ "name": "evondo"
+ },
+ "zh-Hant": {
+ "name": "ənənəvi çin"
+ },
+ "ar": {
+ "name": "ərəb"
+ },
+ "fo": {
+ "name": "farer"
+ },
+ "fa": {
+ "name": "fars"
+ },
+ "fil": {
+ "name": "filippin"
+ },
+ "fi": {
+ "name": "fin"
+ },
+ "nl-BE": {
+ "name": "flamand"
+ },
+ "fr": {
+ "name": "fransız"
+ },
+ "fur": {
+ "name": "friul"
+ },
+ "ff": {
+ "name": "fula"
+ },
+ "ka": {
+ "name": "gürcü"
+ },
+ "ha": {
+ "name": "hausa"
+ },
+ "haw": {
+ "name": "havay"
+ },
+ "hi": {
+ "name": "hind"
+ },
+ "nl": {
+ "name": "holland"
+ },
+ "hr": {
+ "name": "xorvat"
+ },
+ "yi": {
+ "name": "idiş"
+ },
+ "ig": {
+ "name": "iqbo"
+ },
+ "smn": {
+ "name": "inari sami"
+ },
+ "id": {
+ "name": "indoneziya"
+ },
+ "en": {
+ "name": "ingilis"
+ },
+ "ga": {
+ "name": "irland"
+ },
+ "is": {
+ "name": "island"
+ },
+ "es": {
+ "name": "ispan"
+ },
+ "sv": {
+ "name": "isveç"
+ },
+ "gsw": {
+ "name": "İsveçrə almancası"
+ },
+ "fr-CH": {
+ "name": "İsveçrə fransızcası"
+ },
+ "de-CH": {
+ "name": "İsveçrə yüksək almancası"
+ },
+ "it": {
+ "name": "italyan"
+ },
+ "he": {
+ "name": "ivrit"
+ },
+ "kab": {
+ "name": "kabile"
+ },
+ "kea": {
+ "name": "kabuverdian"
+ },
+ "kkj": {
+ "name": "kako"
+ },
+ "kl": {
+ "name": "kalaallisut"
+ },
+ "kln": {
+ "name": "kalencin"
+ },
+ "kam": {
+ "name": "kamba"
+ },
+ "fr-CA": {
+ "name": "Kanada fransızcası"
+ },
+ "en-CA": {
+ "name": "Kanada ingiliscəsi"
+ },
+ "kn": {
+ "name": "kannada"
+ },
+ "yue": {
+ "name": "kanton"
+ },
+ "ca": {
+ "name": "katalan"
+ },
+ "qu": {
+ "name": "keçua"
+ },
+ "ks": {
+ "name": "kəşmir"
+ },
+ "km": {
+ "name": "kxmer"
+ },
+ "ki": {
+ "name": "kikuyu"
+ },
+ "rw": {
+ "name": "kinyarvanda"
+ },
+ "kok": {
+ "name": "konkani"
+ },
+ "sw-CD": {
+ "name": "Konqo suahilicəsi"
+ },
+ "ko": {
+ "name": "koreya"
+ },
+ "kw": {
+ "name": "korn"
+ },
+ "khq": {
+ "name": "koyra çiini"
+ },
+ "ses": {
+ "name": "koyraboro senni"
+ },
+ "ksh": {
+ "name": "köln"
+ },
+ "nmg": {
+ "name": "kvasio"
+ },
+ "gl": {
+ "name": "qalisiya"
+ },
+ "lg": {
+ "name": "qanda"
+ },
+ "kk": {
+ "name": "qazax"
+ },
+ "fy": {
+ "name": "qərbi friz"
+ },
+ "ky": {
+ "name": "qırğız"
+ },
+ "gu": {
+ "name": "qucarat"
+ },
+ "guz": {
+ "name": "qusi"
+ },
+ "lkt": {
+ "name": "lakota"
+ },
+ "lag": {
+ "name": "langi"
+ },
+ "lo": {
+ "name": "laos"
+ },
+ "lv": {
+ "name": "latış"
+ },
+ "ln": {
+ "name": "linqala"
+ },
+ "lt": {
+ "name": "litva"
+ },
+ "lu": {
+ "name": "luba-katanqa"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "luy": {
+ "name": "luyia"
+ },
+ "lb": {
+ "name": "lüksemburq"
+ },
+ "hu": {
+ "name": "macar"
+ },
+ "jmc": {
+ "name": "maçam"
+ },
+ "mgh": {
+ "name": "maxuva-meetto"
+ },
+ "mk": {
+ "name": "makedon"
+ },
+ "kde": {
+ "name": "makond"
+ },
+ "mg": {
+ "name": "malaqas"
+ },
+ "ms": {
+ "name": "malay"
+ },
+ "ml": {
+ "name": "malayalam"
+ },
+ "mt": {
+ "name": "malta"
+ },
+ "gv": {
+ "name": "manks"
+ },
+ "mr": {
+ "name": "marathi"
+ },
+ "mas": {
+ "name": "masay"
+ },
+ "mzn": {
+ "name": "mazandaran"
+ },
+ "es-MX": {
+ "name": "Meksika ispancası"
+ },
+ "mer": {
+ "name": "meru"
+ },
+ "mgo": {
+ "name": "meta’"
+ },
+ "tzm": {
+ "name": "Mərkəzi Atlas tamazicəsi"
+ },
+ "ro-MD": {
+ "name": "moldav"
+ },
+ "mn": {
+ "name": "monqol"
+ },
+ "mfe": {
+ "name": "morisien"
+ },
+ "mua": {
+ "name": "mundanq"
+ },
+ "naq": {
+ "name": "nama"
+ },
+ "ne": {
+ "name": "nepal"
+ },
+ "nnh": {
+ "name": "ngiemboon"
+ },
+ "jgo": {
+ "name": "nqomba"
+ },
+ "nus": {
+ "name": "nuer"
+ },
+ "nn": {
+ "name": "nünorsk norveç"
+ },
+ "nyn": {
+ "name": "nyankol"
+ },
+ "or": {
+ "name": "odiya"
+ },
+ "om": {
+ "name": "oromo"
+ },
+ "os": {
+ "name": "osetin"
+ },
+ "uz": {
+ "name": "özbək"
+ },
+ "pa": {
+ "name": "pəncab"
+ },
+ "pl": {
+ "name": "polyak"
+ },
+ "pt": {
+ "name": "portuqal"
+ },
+ "pt-PT": {
+ "name": "Portuqaliya portuqalcası"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "ps": {
+ "name": "puştu"
+ },
+ "rm": {
+ "name": "romanş"
+ },
+ "rof": {
+ "name": "rombo"
+ },
+ "rwk": {
+ "name": "rua"
+ },
+ "ro": {
+ "name": "rumın"
+ },
+ "rn": {
+ "name": "rundi"
+ },
+ "ru": {
+ "name": "rus"
+ },
+ "zh-Hans": {
+ "name": "sadələşmiş çin"
+ },
+ "sah": {
+ "name": "saxa"
+ },
+ "saq": {
+ "name": "samburu"
+ },
+ "sg": {
+ "name": "sanqo"
+ },
+ "sbp": {
+ "name": "sanqu"
+ },
+ "seh": {
+ "name": "sena"
+ },
+ "sr": {
+ "name": "serb"
+ },
+ "ii": {
+ "name": "siçuan yi"
+ },
+ "si": {
+ "name": "sinhala"
+ },
+ "cu": {
+ "name": "slavyan"
+ },
+ "sk": {
+ "name": "slovak"
+ },
+ "sl": {
+ "name": "sloven"
+ },
+ "xog": {
+ "name": "soqa"
+ },
+ "so": {
+ "name": "somali"
+ },
+ "ckb": {
+ "name": "soran"
+ },
+ "sw": {
+ "name": "suahili"
+ },
+ "ksb": {
+ "name": "şambala"
+ },
+ "lrc": {
+ "name": "şimali luri"
+ },
+ "nd": {
+ "name": "şimali ndebele"
+ },
+ "se": {
+ "name": "şimali sami"
+ },
+ "sn": {
+ "name": "şona"
+ },
+ "gd": {
+ "name": "Şotlandiya keltcəsi"
+ },
+ "shi": {
+ "name": "taçelit"
+ },
+ "dav": {
+ "name": "taita"
+ },
+ "zgh": {
+ "name": "tamazi"
+ },
+ "ta": {
+ "name": "tamil"
+ },
+ "twq": {
+ "name": "tasavaq"
+ },
+ "th": {
+ "name": "tay"
+ },
+ "te": {
+ "name": "teluqu"
+ },
+ "teo": {
+ "name": "teso"
+ },
+ "bo": {
+ "name": "tibet"
+ },
+ "ti": {
+ "name": "tiqrin"
+ },
+ "to": {
+ "name": "tonqa"
+ },
+ "tr": {
+ "name": "türk"
+ },
+ "tk": {
+ "name": "türkmən"
+ },
+ "cy": {
+ "name": "uels"
+ },
+ "uk": {
+ "name": "ukrayna"
+ },
+ "ur": {
+ "name": "urdu"
+ },
+ "ug": {
+ "name": "uyğur"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "wae": {
+ "name": "valles"
+ },
+ "vo": {
+ "name": "volapük"
+ },
+ "vun": {
+ "name": "vunyo"
+ },
+ "vi": {
+ "name": "vyetnam"
+ },
+ "yav": {
+ "name": "yanqben"
+ },
+ "ja": {
+ "name": "yapon"
+ },
+ "yo": {
+ "name": "yoruba"
+ },
+ "hsb": {
+ "name": "yuxarı sorb"
+ },
+ "el": {
+ "name": "yunan"
+ },
+ "dje": {
+ "name": "zarma"
+ },
+ "zu": {
+ "name": "zulu"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/bas.json b/vendor/commerceguys/intl/resources/language/bas.json
new file mode 100644
index 000000000..54e3118d3
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/bas.json
@@ -0,0 +1,632 @@
+{
+ "af": {
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "sq": {
+ "name": "Albanian"
+ },
+ "hy": {
+ "name": "Armenian"
+ },
+ "as": {
+ "name": "Assamese"
+ },
+ "ast": {
+ "name": "Asturian"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "az": {
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "eu": {
+ "name": "Basque"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "bs": {
+ "name": "Bosnian"
+ },
+ "br": {
+ "name": "Breton"
+ },
+ "bas": {
+ "name": "Ɓàsàa"
+ },
+ "yue": {
+ "name": "Cantonese"
+ },
+ "ca": {
+ "name": "Catalan"
+ },
+ "tzm": {
+ "name": "Central Atlas Tamazight"
+ },
+ "ckb": {
+ "name": "Central Kurdish"
+ },
+ "ce": {
+ "name": "Chechen"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "cu": {
+ "name": "Church Slavic"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "kw": {
+ "name": "Cornish"
+ },
+ "hr": {
+ "name": "Croatian"
+ },
+ "da": {
+ "name": "Danish"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "dz": {
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "eo": {
+ "name": "Esperanto"
+ },
+ "et": {
+ "name": "Estonian"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fo": {
+ "name": "Faroese"
+ },
+ "fil": {
+ "name": "Filipino"
+ },
+ "fi": {
+ "name": "Finnish"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "gl": {
+ "name": "Galician"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "ka": {
+ "name": "Georgian"
+ },
+ "gu": {
+ "name": "Gujarati"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "haw": {
+ "name": "Hawaiian"
+ },
+ "he": {
+ "name": "Hebrew"
+ },
+ "ak": {
+ "name": "Hɔp u akan"
+ },
+ "am": {
+ "name": "Hɔp u amhārìk"
+ },
+ "ar": {
+ "name": "Hɔp u arâb"
+ },
+ "bn": {
+ "name": "Hɔp u bɛŋgàli"
+ },
+ "be": {
+ "name": "Hɔp u bièlòrûs"
+ },
+ "my": {
+ "name": "Hɔp u birmàn"
+ },
+ "bg": {
+ "name": "Hɔp u bûlgâr"
+ },
+ "ha": {
+ "name": "Hɔp u ɓausa"
+ },
+ "cs": {
+ "name": "Hɔp u cɛ̂k"
+ },
+ "el": {
+ "name": "Hɔp u gri ᷇kyà"
+ },
+ "hi": {
+ "name": "Hɔp u hindì"
+ },
+ "hu": {
+ "name": "Hɔp u hɔŋgrìi"
+ },
+ "ig": {
+ "name": "Hɔp u iɓò"
+ },
+ "id": {
+ "name": "Hɔp u indònesìà"
+ },
+ "it": {
+ "name": "Hɔp u italìà"
+ },
+ "de": {
+ "name": "Hɔp u jamân"
+ },
+ "de-AT": {
+ "name": "Hɔp u jamân (Òstrǐk)"
+ },
+ "de-CH": {
+ "name": "Hɔp u jamân (Sùwîs)"
+ },
+ "zh": {
+ "name": "Hɔp u kinà"
+ },
+ "zh-Hans": {
+ "name": "Hɔp u kinà (Hans)"
+ },
+ "zh-Hant": {
+ "name": "Hɔp u kinà (Hant)"
+ },
+ "km": {
+ "name": "Hɔp u kmɛ̂r"
+ },
+ "ko": {
+ "name": "Hɔp u kɔrēà"
+ },
+ "ms": {
+ "name": "Hɔp u makɛ᷆"
+ },
+ "ne": {
+ "name": "Hɔp u nepa᷆l"
+ },
+ "nl": {
+ "name": "Hɔp u nlɛ̀ndi"
+ },
+ "nl-BE": {
+ "name": "Hɔp u nlɛ̀ndi (Bɛlgyùm)"
+ },
+ "en": {
+ "name": "Hɔp u ŋgisì"
+ },
+ "en-GB": {
+ "name": "Hɔp u ŋgisì (Àdnà i Lɔ̂ŋ)"
+ },
+ "en-CA": {
+ "name": "Hɔp u ŋgisì (Kànadà)"
+ },
+ "en-AU": {
+ "name": "Hɔp u ŋgisì (Òstralìà)"
+ },
+ "es": {
+ "name": "Hɔp u panyā"
+ },
+ "es-MX": {
+ "name": "Hɔp u panyā (Mɛ̀gsîk)"
+ },
+ "pa": {
+ "name": "Hɔp u pɛnjàbi"
+ },
+ "fa": {
+ "name": "Hɔp u pɛrsìà"
+ },
+ "pl": {
+ "name": "Hɔp u pɔlɔ̄nà"
+ },
+ "pt": {
+ "name": "Hɔp u pɔtɔ̄kì"
+ },
+ "pt-PT": {
+ "name": "Hɔp u pɔtɔ̄kì (Pɔ̀tɔkì)"
+ },
+ "fr": {
+ "name": "Hɔp u pulàsi"
+ },
+ "fr-CA": {
+ "name": "Hɔp u pulàsi (Kànadà)"
+ },
+ "fr-CH": {
+ "name": "Hɔp u pulàsi (Sùwîs)"
+ },
+ "rw": {
+ "name": "Hɔp u ruāndà"
+ },
+ "ro": {
+ "name": "Hɔp u rùmanìà"
+ },
+ "ro-MD": {
+ "name": "Hɔp u rùmanìà (Moldavìà)"
+ },
+ "ru": {
+ "name": "Hɔp u ruslànd"
+ },
+ "so": {
+ "name": "Hɔp u somàlî"
+ },
+ "sv": {
+ "name": "Hɔp u suɛ᷆d"
+ },
+ "ta": {
+ "name": "Hɔp u tamu᷆l"
+ },
+ "th": {
+ "name": "Hɔp u tây"
+ },
+ "tr": {
+ "name": "Hɔp u tûrk"
+ },
+ "uk": {
+ "name": "Hɔp u ukrǎnìà"
+ },
+ "ur": {
+ "name": "Hɔp u urdù"
+ },
+ "vi": {
+ "name": "Hɔp u vyɛ̄dnàm"
+ },
+ "ja": {
+ "name": "Hɔp u yapàn"
+ },
+ "yo": {
+ "name": "Hɔp u yorūbà"
+ },
+ "zu": {
+ "name": "Hɔp u zulù"
+ },
+ "is": {
+ "name": "Icelandic"
+ },
+ "smn": {
+ "name": "Inari Sami"
+ },
+ "ga": {
+ "name": "Irish"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabyle"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kl": {
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "kn": {
+ "name": "Kannada"
+ },
+ "ks": {
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "name": "Kazakh"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "ky": {
+ "name": "Kyrgyz"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "Lao"
+ },
+ "lv": {
+ "name": "Latvian"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "lt": {
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "mk": {
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "mg": {
+ "name": "Malagasy"
+ },
+ "ml": {
+ "name": "Malayalam"
+ },
+ "mt": {
+ "name": "Maltese"
+ },
+ "gv": {
+ "name": "Manx"
+ },
+ "mr": {
+ "name": "Marathi"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "mn": {
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nds-NL": {
+ "name": "nds (Ǹlɛndi)"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "nd": {
+ "name": "North Ndebele"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "se": {
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "or": {
+ "name": "Odia"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "os": {
+ "name": "Ossetic"
+ },
+ "ps": {
+ "name": "Pashto"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "qu": {
+ "name": "Quechua"
+ },
+ "rm": {
+ "name": "Romansh"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "rn": {
+ "name": "Rundi"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "sah": {
+ "name": "Sakha"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "gd": {
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "sr": {
+ "name": "Serbian"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "si": {
+ "name": "Sinhala"
+ },
+ "sk": {
+ "name": "Slovak"
+ },
+ "sl": {
+ "name": "Slovenian"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw-CD": {
+ "name": "sw (Kòŋgo ìkɛŋi)"
+ },
+ "sw": {
+ "name": "Swahili"
+ },
+ "gsw": {
+ "name": "Swiss German"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "te": {
+ "name": "Telugu"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "bo": {
+ "name": "Tibetan"
+ },
+ "ti": {
+ "name": "Tigrinya"
+ },
+ "to": {
+ "name": "Tongan"
+ },
+ "tk": {
+ "name": "Turkmen"
+ },
+ "hsb": {
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "name": "Uyghur"
+ },
+ "uz": {
+ "name": "Uzbek"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "cy": {
+ "name": "Welsh"
+ },
+ "fy": {
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "yi": {
+ "name": "Yiddish"
+ },
+ "dje": {
+ "name": "Zarma"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/be.json b/vendor/commerceguys/intl/resources/language/be.json
new file mode 100644
index 000000000..5ce46f185
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/be.json
@@ -0,0 +1,635 @@
+{
+ "agq": {
+ "name": "агем"
+ },
+ "az": {
+ "name": "азербайджанская"
+ },
+ "ak": {
+ "name": "акан"
+ },
+ "sq": {
+ "name": "албанская"
+ },
+ "am": {
+ "name": "амхарская"
+ },
+ "en": {
+ "name": "англійская"
+ },
+ "ar": {
+ "name": "арабская"
+ },
+ "hy": {
+ "name": "армянская"
+ },
+ "om": {
+ "name": "арома"
+ },
+ "as": {
+ "name": "асамская"
+ },
+ "os": {
+ "name": "асецінская"
+ },
+ "ast": {
+ "name": "астурыйская"
+ },
+ "asa": {
+ "name": "асу"
+ },
+ "en-AU": {
+ "name": "аўстралійская англійская"
+ },
+ "de-AT": {
+ "name": "аўстрыйская нямецкая"
+ },
+ "af": {
+ "name": "афрыкаанс"
+ },
+ "bg": {
+ "name": "балгарская"
+ },
+ "bm": {
+ "name": "бамбара"
+ },
+ "bas": {
+ "name": "басаа"
+ },
+ "eu": {
+ "name": "баскская"
+ },
+ "bs": {
+ "name": "баснійская"
+ },
+ "ksf": {
+ "name": "бафія"
+ },
+ "be": {
+ "name": "беларуская"
+ },
+ "bem": {
+ "name": "бемба"
+ },
+ "bez": {
+ "name": "бена"
+ },
+ "bn": {
+ "name": "бенгальская"
+ },
+ "my": {
+ "name": "бірманская"
+ },
+ "brx": {
+ "name": "бода"
+ },
+ "en-GB": {
+ "name": "брытанская англійская"
+ },
+ "br": {
+ "name": "брэтонская"
+ },
+ "vi": {
+ "name": "в’етнамская"
+ },
+ "vai": {
+ "name": "ваі"
+ },
+ "vo": {
+ "name": "валапюк"
+ },
+ "cy": {
+ "name": "валійская"
+ },
+ "wae": {
+ "name": "вальшская"
+ },
+ "hu": {
+ "name": "венгерская"
+ },
+ "hsb": {
+ "name": "верхнялужыцкая"
+ },
+ "vun": {
+ "name": "вунджо"
+ },
+ "haw": {
+ "name": "гавайская"
+ },
+ "gl": {
+ "name": "галісійская"
+ },
+ "lg": {
+ "name": "ганда"
+ },
+ "ka": {
+ "name": "грузінская"
+ },
+ "kl": {
+ "name": "грэнландская"
+ },
+ "el": {
+ "name": "грэчаская"
+ },
+ "gu": {
+ "name": "гуджараці"
+ },
+ "guz": {
+ "name": "гусіі"
+ },
+ "da": {
+ "name": "дацкая"
+ },
+ "dyo": {
+ "name": "джола-фоньі"
+ },
+ "dz": {
+ "name": "дзонг-кэ"
+ },
+ "dua": {
+ "name": "дуала"
+ },
+ "pt-PT": {
+ "name": "еўрапейская партугальская"
+ },
+ "yo": {
+ "name": "ёруба"
+ },
+ "dje": {
+ "name": "зарма"
+ },
+ "fy": {
+ "name": "заходняя фрызская"
+ },
+ "zu": {
+ "name": "зулу"
+ },
+ "ig": {
+ "name": "ігба"
+ },
+ "yi": {
+ "name": "ідыш"
+ },
+ "smn": {
+ "name": "інары-саамская"
+ },
+ "id": {
+ "name": "інданезійская"
+ },
+ "ga": {
+ "name": "ірландская"
+ },
+ "is": {
+ "name": "ісландская"
+ },
+ "es": {
+ "name": "іспанская"
+ },
+ "it": {
+ "name": "італьянская"
+ },
+ "he": {
+ "name": "іўрыт"
+ },
+ "kab": {
+ "name": "кабільская"
+ },
+ "kea": {
+ "name": "кабувердыяну"
+ },
+ "kk": {
+ "name": "казахская"
+ },
+ "ses": {
+ "name": "кайрабора сэні"
+ },
+ "kkj": {
+ "name": "како"
+ },
+ "kln": {
+ "name": "календжын"
+ },
+ "kam": {
+ "name": "камба"
+ },
+ "kn": {
+ "name": "канада"
+ },
+ "en-CA": {
+ "name": "канадская англійская"
+ },
+ "fr-CA": {
+ "name": "канадская французская"
+ },
+ "sw-CD": {
+ "name": "кангалезская суахілі"
+ },
+ "kok": {
+ "name": "канкані"
+ },
+ "yue": {
+ "name": "кантонскі дыялект кітайскай"
+ },
+ "ko": {
+ "name": "карэйская"
+ },
+ "ca": {
+ "name": "каталанская"
+ },
+ "ks": {
+ "name": "кашмірская"
+ },
+ "qu": {
+ "name": "кечуа"
+ },
+ "ksh": {
+ "name": "кёльнская"
+ },
+ "ki": {
+ "name": "кікуйю"
+ },
+ "ky": {
+ "name": "кіргізская"
+ },
+ "zh": {
+ "name": "кітайская"
+ },
+ "khq": {
+ "name": "койра чыіні"
+ },
+ "kw": {
+ "name": "корнская"
+ },
+ "km": {
+ "name": "кхмерская"
+ },
+ "lkt": {
+ "name": "лакота"
+ },
+ "lag": {
+ "name": "лангі"
+ },
+ "lo": {
+ "name": "лаоская"
+ },
+ "lv": {
+ "name": "латышская"
+ },
+ "ln": {
+ "name": "лінгала"
+ },
+ "lt": {
+ "name": "літоўская"
+ },
+ "lu": {
+ "name": "луба-катанга"
+ },
+ "luy": {
+ "name": "луйя"
+ },
+ "luo": {
+ "name": "луо"
+ },
+ "lb": {
+ "name": "люксембургская"
+ },
+ "mas": {
+ "name": "маасай"
+ },
+ "mzn": {
+ "name": "мазандэранская"
+ },
+ "mk": {
+ "name": "македонская"
+ },
+ "kde": {
+ "name": "макондэ"
+ },
+ "mgh": {
+ "name": "макуўа-меета"
+ },
+ "mg": {
+ "name": "малагасійская"
+ },
+ "ms": {
+ "name": "малайская"
+ },
+ "ml": {
+ "name": "малаялам"
+ },
+ "ro-MD": {
+ "name": "малдаўская румынская"
+ },
+ "mt": {
+ "name": "мальтыйская"
+ },
+ "mn": {
+ "name": "мангольская"
+ },
+ "mr": {
+ "name": "маратхі"
+ },
+ "mfe": {
+ "name": "марысьен"
+ },
+ "jmc": {
+ "name": "мачамбэ"
+ },
+ "es-MX": {
+ "name": "мексіканская іспанская"
+ },
+ "mer": {
+ "name": "меру"
+ },
+ "mgo": {
+ "name": "мета"
+ },
+ "mua": {
+ "name": "мунданг"
+ },
+ "gv": {
+ "name": "мэнская"
+ },
+ "naq": {
+ "name": "нама"
+ },
+ "nb": {
+ "name": "нарвежская (букмол)"
+ },
+ "nn": {
+ "name": "нарвежская (нюношк)"
+ },
+ "nnh": {
+ "name": "нг’ембон"
+ },
+ "jgo": {
+ "name": "нгомба"
+ },
+ "nmg": {
+ "name": "нгумба"
+ },
+ "ne": {
+ "name": "непальская"
+ },
+ "nl": {
+ "name": "нідэрландская"
+ },
+ "nds": {
+ "name": "ніжненямецкая"
+ },
+ "nds-NL": {
+ "name": "ніжнесаксонская"
+ },
+ "dsb": {
+ "name": "ніжнялужыцкая"
+ },
+ "nus": {
+ "name": "нуэр"
+ },
+ "nyn": {
+ "name": "ньянколе"
+ },
+ "de": {
+ "name": "нямецкая"
+ },
+ "or": {
+ "name": "орыя"
+ },
+ "pa": {
+ "name": "панджабі"
+ },
+ "pt": {
+ "name": "партугальская"
+ },
+ "se": {
+ "name": "паўночнасаамская"
+ },
+ "lrc": {
+ "name": "паўночная луры"
+ },
+ "nd": {
+ "name": "паўночная ндэбеле"
+ },
+ "pl": {
+ "name": "польская"
+ },
+ "prg": {
+ "name": "пруская"
+ },
+ "ps": {
+ "name": "пушту"
+ },
+ "rof": {
+ "name": "ромба"
+ },
+ "rwk": {
+ "name": "руа"
+ },
+ "rw": {
+ "name": "руанда"
+ },
+ "ro": {
+ "name": "румынская"
+ },
+ "rn": {
+ "name": "рундзі"
+ },
+ "ru": {
+ "name": "руская"
+ },
+ "rm": {
+ "name": "рэтараманская"
+ },
+ "so": {
+ "name": "самалі"
+ },
+ "saq": {
+ "name": "самбуру"
+ },
+ "sg": {
+ "name": "санга"
+ },
+ "sbp": {
+ "name": "сангу"
+ },
+ "seh": {
+ "name": "сена"
+ },
+ "sr": {
+ "name": "сербская"
+ },
+ "si": {
+ "name": "сінгальская"
+ },
+ "sk": {
+ "name": "славацкая"
+ },
+ "sl": {
+ "name": "славенская"
+ },
+ "xog": {
+ "name": "сога"
+ },
+ "zh-Hans": {
+ "name": "спрошчаная кітайская"
+ },
+ "zgh": {
+ "name": "стандартная мараканская тамазіхт"
+ },
+ "sw": {
+ "name": "суахілі"
+ },
+ "ii": {
+ "name": "сычуаньская йі"
+ },
+ "dav": {
+ "name": "таіта"
+ },
+ "th": {
+ "name": "тайская"
+ },
+ "ta": {
+ "name": "тамільская"
+ },
+ "to": {
+ "name": "танганская"
+ },
+ "twq": {
+ "name": "тасаўак"
+ },
+ "shi": {
+ "name": "ташэльхіт"
+ },
+ "zh-Hant": {
+ "name": "традыцыйная кітайская"
+ },
+ "tk": {
+ "name": "туркменская"
+ },
+ "tr": {
+ "name": "турэцкая"
+ },
+ "bo": {
+ "name": "тыбецкая"
+ },
+ "ti": {
+ "name": "тыгрынья"
+ },
+ "te": {
+ "name": "тэлугу"
+ },
+ "teo": {
+ "name": "тэсо"
+ },
+ "uz": {
+ "name": "узбекская"
+ },
+ "ug": {
+ "name": "уйгурская"
+ },
+ "uk": {
+ "name": "украінская"
+ },
+ "ur": {
+ "name": "урду"
+ },
+ "fa": {
+ "name": "фарсі"
+ },
+ "fo": {
+ "name": "фарэрская"
+ },
+ "fil": {
+ "name": "філіпінская"
+ },
+ "fi": {
+ "name": "фінская"
+ },
+ "nl-BE": {
+ "name": "фламандская"
+ },
+ "fr": {
+ "name": "французская"
+ },
+ "fur": {
+ "name": "фрыульская"
+ },
+ "ff": {
+ "name": "фула"
+ },
+ "hr": {
+ "name": "харвацкая"
+ },
+ "ha": {
+ "name": "хауса"
+ },
+ "hi": {
+ "name": "хіндзі"
+ },
+ "cu": {
+ "name": "царкоўнаславянская"
+ },
+ "tzm": {
+ "name": "цэнтральнаатлаская тамазіхт"
+ },
+ "ckb": {
+ "name": "цэнтральнакурдская"
+ },
+ "ce": {
+ "name": "чачэнская"
+ },
+ "cgg": {
+ "name": "чыга"
+ },
+ "chr": {
+ "name": "чэрокі"
+ },
+ "cs": {
+ "name": "чэшская"
+ },
+ "ksb": {
+ "name": "шамбала"
+ },
+ "gd": {
+ "name": "шатландская гэльская"
+ },
+ "sv": {
+ "name": "шведская"
+ },
+ "gsw": {
+ "name": "швейцарская нямецкая"
+ },
+ "de-CH": {
+ "name": "швейцарская стандартная нямецкая"
+ },
+ "fr-CH": {
+ "name": "швейцарская французская"
+ },
+ "sn": {
+ "name": "шона"
+ },
+ "ee": {
+ "name": "эве"
+ },
+ "ewo": {
+ "name": "эвонда"
+ },
+ "ebu": {
+ "name": "эмбу"
+ },
+ "eo": {
+ "name": "эсперанта"
+ },
+ "et": {
+ "name": "эстонская"
+ },
+ "sah": {
+ "name": "якуцкая"
+ },
+ "yav": {
+ "name": "янгбэн"
+ },
+ "ja": {
+ "name": "японская"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/bem.json b/vendor/commerceguys/intl/resources/language/bem.json
new file mode 100644
index 000000000..04969a77d
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/bem.json
@@ -0,0 +1,632 @@
+{
+ "af": {
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "sq": {
+ "name": "Albanian"
+ },
+ "hy": {
+ "name": "Armenian"
+ },
+ "as": {
+ "name": "Assamese"
+ },
+ "ast": {
+ "name": "Asturian"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "az": {
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "eu": {
+ "name": "Basque"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "bs": {
+ "name": "Bosnian"
+ },
+ "br": {
+ "name": "Breton"
+ },
+ "yue": {
+ "name": "Cantonese"
+ },
+ "ca": {
+ "name": "Catalan"
+ },
+ "tzm": {
+ "name": "Central Atlas Tamazight"
+ },
+ "ckb": {
+ "name": "Central Kurdish"
+ },
+ "ce": {
+ "name": "Chechen"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "cu": {
+ "name": "Church Slavic"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "kw": {
+ "name": "Cornish"
+ },
+ "hr": {
+ "name": "Croatian"
+ },
+ "da": {
+ "name": "Danish"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "dz": {
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "eo": {
+ "name": "Esperanto"
+ },
+ "et": {
+ "name": "Estonian"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fo": {
+ "name": "Faroese"
+ },
+ "fil": {
+ "name": "Filipino"
+ },
+ "fi": {
+ "name": "Finnish"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "gl": {
+ "name": "Galician"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "ka": {
+ "name": "Georgian"
+ },
+ "gu": {
+ "name": "Gujarati"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "haw": {
+ "name": "Hawaiian"
+ },
+ "he": {
+ "name": "Hebrew"
+ },
+ "is": {
+ "name": "Icelandic"
+ },
+ "ak": {
+ "name": "Ichi Akan"
+ },
+ "am": {
+ "name": "Ichi Amhari"
+ },
+ "ar": {
+ "name": "Ichi Arab"
+ },
+ "be": {
+ "name": "Ichi Belarus"
+ },
+ "bn": {
+ "name": "Ichi Bengali"
+ },
+ "bg": {
+ "name": "Ichi Bulgariani"
+ },
+ "my": {
+ "name": "Ichi Burma"
+ },
+ "zh": {
+ "name": "Ichi Chainisi"
+ },
+ "zh-Hans": {
+ "name": "Ichi Chainisi (Hans)"
+ },
+ "zh-Hant": {
+ "name": "Ichi Chainisi (Hant)"
+ },
+ "cs": {
+ "name": "Ichi Cheki"
+ },
+ "nl": {
+ "name": "Ichi Dachi"
+ },
+ "nl-BE": {
+ "name": "Ichi Dachi (BE)"
+ },
+ "fr": {
+ "name": "Ichi Frenchi"
+ },
+ "fr-CA": {
+ "name": "Ichi Frenchi (CA)"
+ },
+ "fr-CH": {
+ "name": "Ichi Frenchi (CH)"
+ },
+ "el": {
+ "name": "Ichi Griki"
+ },
+ "hu": {
+ "name": "Ichi Hangarian"
+ },
+ "ha": {
+ "name": "Ichi Hausa"
+ },
+ "hi": {
+ "name": "Ichi Hindu"
+ },
+ "ig": {
+ "name": "Ichi Ibo"
+ },
+ "id": {
+ "name": "Ichi Indonesiani"
+ },
+ "it": {
+ "name": "Ichi Italiani"
+ },
+ "ja": {
+ "name": "Ichi Japanisi"
+ },
+ "de": {
+ "name": "Ichi Jemani"
+ },
+ "de-AT": {
+ "name": "Ichi Jemani (AT)"
+ },
+ "de-CH": {
+ "name": "Ichi Jemani (CH)"
+ },
+ "km": {
+ "name": "Ichi Khmer"
+ },
+ "ko": {
+ "name": "Ichi Koriani"
+ },
+ "ms": {
+ "name": "Ichi Maleshani"
+ },
+ "ne": {
+ "name": "Ichi Nepali"
+ },
+ "fa": {
+ "name": "Ichi Pesia"
+ },
+ "pl": {
+ "name": "Ichi Polishi"
+ },
+ "pt": {
+ "name": "Ichi Potogisi"
+ },
+ "pt-PT": {
+ "name": "Ichi Potogisi (PT)"
+ },
+ "pa": {
+ "name": "Ichi Punjabi"
+ },
+ "ro": {
+ "name": "Ichi Romaniani"
+ },
+ "ro-MD": {
+ "name": "Ichi Romaniani (MD)"
+ },
+ "ru": {
+ "name": "Ichi Rusiani"
+ },
+ "rw": {
+ "name": "Ichi Rwanda"
+ },
+ "so": {
+ "name": "Ichi Somalia"
+ },
+ "es": {
+ "name": "Ichi Spanishi"
+ },
+ "es-MX": {
+ "name": "Ichi Spanishi (MX)"
+ },
+ "en": {
+ "name": "Ichi Sungu"
+ },
+ "en-AU": {
+ "name": "Ichi Sungu (AU)"
+ },
+ "en-CA": {
+ "name": "Ichi Sungu (CA)"
+ },
+ "en-GB": {
+ "name": "Ichi Sungu (GB)"
+ },
+ "sv": {
+ "name": "Ichi Swideni"
+ },
+ "tr": {
+ "name": "Ichi Takishi"
+ },
+ "ta": {
+ "name": "Ichi Tamil"
+ },
+ "th": {
+ "name": "Ichi Thai"
+ },
+ "uk": {
+ "name": "Ichi Ukraniani"
+ },
+ "ur": {
+ "name": "Ichi Urudu"
+ },
+ "vi": {
+ "name": "Ichi Vietinamu"
+ },
+ "yo": {
+ "name": "Ichi Yoruba"
+ },
+ "zu": {
+ "name": "Ichi Zulu"
+ },
+ "bem": {
+ "name": "Ichibemba"
+ },
+ "smn": {
+ "name": "Inari Sami"
+ },
+ "ga": {
+ "name": "Irish"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabyle"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kl": {
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "kn": {
+ "name": "Kannada"
+ },
+ "ks": {
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "name": "Kazakh"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "ky": {
+ "name": "Kyrgyz"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "Lao"
+ },
+ "lv": {
+ "name": "Latvian"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "lt": {
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "mk": {
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "mg": {
+ "name": "Malagasy"
+ },
+ "ml": {
+ "name": "Malayalam"
+ },
+ "mt": {
+ "name": "Maltese"
+ },
+ "gv": {
+ "name": "Manx"
+ },
+ "mr": {
+ "name": "Marathi"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "mn": {
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nds-NL": {
+ "name": "nds (NL)"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "nd": {
+ "name": "North Ndebele"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "se": {
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "or": {
+ "name": "Odia"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "os": {
+ "name": "Ossetic"
+ },
+ "ps": {
+ "name": "Pashto"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "qu": {
+ "name": "Quechua"
+ },
+ "rm": {
+ "name": "Romansh"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "rn": {
+ "name": "Rundi"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "sah": {
+ "name": "Sakha"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "gd": {
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "sr": {
+ "name": "Serbian"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "si": {
+ "name": "Sinhala"
+ },
+ "sk": {
+ "name": "Slovak"
+ },
+ "sl": {
+ "name": "Slovenian"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw-CD": {
+ "name": "sw (CD)"
+ },
+ "sw": {
+ "name": "Swahili"
+ },
+ "gsw": {
+ "name": "Swiss German"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "te": {
+ "name": "Telugu"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "bo": {
+ "name": "Tibetan"
+ },
+ "ti": {
+ "name": "Tigrinya"
+ },
+ "to": {
+ "name": "Tongan"
+ },
+ "tk": {
+ "name": "Turkmen"
+ },
+ "hsb": {
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "name": "Uyghur"
+ },
+ "uz": {
+ "name": "Uzbek"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "cy": {
+ "name": "Welsh"
+ },
+ "fy": {
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "yi": {
+ "name": "Yiddish"
+ },
+ "dje": {
+ "name": "Zarma"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/bez.json b/vendor/commerceguys/intl/resources/language/bez.json
new file mode 100644
index 000000000..d8b9c09dd
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/bez.json
@@ -0,0 +1,632 @@
+{
+ "af": {
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "sq": {
+ "name": "Albanian"
+ },
+ "hy": {
+ "name": "Armenian"
+ },
+ "as": {
+ "name": "Assamese"
+ },
+ "ast": {
+ "name": "Asturian"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "az": {
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "eu": {
+ "name": "Basque"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "bs": {
+ "name": "Bosnian"
+ },
+ "br": {
+ "name": "Breton"
+ },
+ "yue": {
+ "name": "Cantonese"
+ },
+ "ca": {
+ "name": "Catalan"
+ },
+ "tzm": {
+ "name": "Central Atlas Tamazight"
+ },
+ "ckb": {
+ "name": "Central Kurdish"
+ },
+ "ce": {
+ "name": "Chechen"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "cu": {
+ "name": "Church Slavic"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "kw": {
+ "name": "Cornish"
+ },
+ "hr": {
+ "name": "Croatian"
+ },
+ "da": {
+ "name": "Danish"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "dz": {
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "eo": {
+ "name": "Esperanto"
+ },
+ "et": {
+ "name": "Estonian"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fo": {
+ "name": "Faroese"
+ },
+ "fil": {
+ "name": "Filipino"
+ },
+ "fi": {
+ "name": "Finnish"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "gl": {
+ "name": "Galician"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "ka": {
+ "name": "Georgian"
+ },
+ "gu": {
+ "name": "Gujarati"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "haw": {
+ "name": "Hawaiian"
+ },
+ "he": {
+ "name": "Hebrew"
+ },
+ "fa": {
+ "name": "Hiajemi"
+ },
+ "ak": {
+ "name": "Hiakan"
+ },
+ "am": {
+ "name": "Hiamhari"
+ },
+ "bn": {
+ "name": "Hibangla"
+ },
+ "be": {
+ "name": "Hibelarusi"
+ },
+ "bez": {
+ "name": "Hibena"
+ },
+ "bg": {
+ "name": "Hibulgaria"
+ },
+ "my": {
+ "name": "Hiburma"
+ },
+ "cs": {
+ "name": "Hicheki"
+ },
+ "zh": {
+ "name": "Hichina"
+ },
+ "zh-Hans": {
+ "name": "Hichina (Hans)"
+ },
+ "zh-Hant": {
+ "name": "Hichina (Hant)"
+ },
+ "fr": {
+ "name": "Hifaransa"
+ },
+ "fr-CA": {
+ "name": "Hifaransa (Hukanada)"
+ },
+ "fr-CH": {
+ "name": "Hifaransa (Huuswisi)"
+ },
+ "el": {
+ "name": "Higiriki"
+ },
+ "ar": {
+ "name": "Hiharabu"
+ },
+ "ha": {
+ "name": "Hihausa"
+ },
+ "hi": {
+ "name": "Hihindi"
+ },
+ "es": {
+ "name": "Hihispania"
+ },
+ "es-MX": {
+ "name": "Hihispania (Humeksiko)"
+ },
+ "nl": {
+ "name": "Hiholanzi"
+ },
+ "nl-BE": {
+ "name": "Hiholanzi (Huubelgiji)"
+ },
+ "hu": {
+ "name": "Hihungari"
+ },
+ "ig": {
+ "name": "Hiibo"
+ },
+ "id": {
+ "name": "Hiindonesia"
+ },
+ "en": {
+ "name": "Hiingereza"
+ },
+ "en-AU": {
+ "name": "Hiingereza (Huaustlalia)"
+ },
+ "en-CA": {
+ "name": "Hiingereza (Hukanada)"
+ },
+ "en-GB": {
+ "name": "Hiingereza (Huuingereza)"
+ },
+ "it": {
+ "name": "Hiitaliano"
+ },
+ "ja": {
+ "name": "Hijapani"
+ },
+ "de": {
+ "name": "Hijerumani"
+ },
+ "de-AT": {
+ "name": "Hijerumani (Huastlia)"
+ },
+ "de-CH": {
+ "name": "Hijerumani (Huuswisi)"
+ },
+ "km": {
+ "name": "Hikambodia"
+ },
+ "ko": {
+ "name": "Hikorea"
+ },
+ "pt": {
+ "name": "Hileno"
+ },
+ "pt-PT": {
+ "name": "Hileno (Huuleno)"
+ },
+ "ro": {
+ "name": "Hilomania"
+ },
+ "ro-MD": {
+ "name": "Hilomania (Humoldova)"
+ },
+ "ru": {
+ "name": "Hilusi"
+ },
+ "ms": {
+ "name": "Himalesia"
+ },
+ "ne": {
+ "name": "Hinepali"
+ },
+ "rw": {
+ "name": "Hinyarwanda"
+ },
+ "pl": {
+ "name": "Hipolandi"
+ },
+ "pa": {
+ "name": "Hipunjabi"
+ },
+ "so": {
+ "name": "Hisomali"
+ },
+ "sv": {
+ "name": "Hiswidi"
+ },
+ "th": {
+ "name": "Hitailand"
+ },
+ "ta": {
+ "name": "Hitamil"
+ },
+ "tr": {
+ "name": "Hituluki"
+ },
+ "uk": {
+ "name": "Hiukrania"
+ },
+ "ur": {
+ "name": "Hiurdu"
+ },
+ "vi": {
+ "name": "Hivietinamu"
+ },
+ "yo": {
+ "name": "Hiyoruba"
+ },
+ "zu": {
+ "name": "Hizulu"
+ },
+ "is": {
+ "name": "Icelandic"
+ },
+ "smn": {
+ "name": "Inari Sami"
+ },
+ "ga": {
+ "name": "Irish"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabyle"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kl": {
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "kn": {
+ "name": "Kannada"
+ },
+ "ks": {
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "name": "Kazakh"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "ky": {
+ "name": "Kyrgyz"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "Lao"
+ },
+ "lv": {
+ "name": "Latvian"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "lt": {
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "mk": {
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "mg": {
+ "name": "Malagasy"
+ },
+ "ml": {
+ "name": "Malayalam"
+ },
+ "mt": {
+ "name": "Maltese"
+ },
+ "gv": {
+ "name": "Manx"
+ },
+ "mr": {
+ "name": "Marathi"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "mn": {
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nds-NL": {
+ "name": "nds (Huuholanzi)"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "nd": {
+ "name": "North Ndebele"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "se": {
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "or": {
+ "name": "Odia"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "os": {
+ "name": "Ossetic"
+ },
+ "ps": {
+ "name": "Pashto"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "qu": {
+ "name": "Quechua"
+ },
+ "rm": {
+ "name": "Romansh"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "rn": {
+ "name": "Rundi"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "sah": {
+ "name": "Sakha"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "gd": {
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "sr": {
+ "name": "Serbian"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "si": {
+ "name": "Sinhala"
+ },
+ "sk": {
+ "name": "Slovak"
+ },
+ "sl": {
+ "name": "Slovenian"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw-CD": {
+ "name": "sw (Ijamhuri ya Hidemokrasi ya Hukongo)"
+ },
+ "sw": {
+ "name": "Swahili"
+ },
+ "gsw": {
+ "name": "Swiss German"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "te": {
+ "name": "Telugu"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "bo": {
+ "name": "Tibetan"
+ },
+ "ti": {
+ "name": "Tigrinya"
+ },
+ "to": {
+ "name": "Tongan"
+ },
+ "tk": {
+ "name": "Turkmen"
+ },
+ "hsb": {
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "name": "Uyghur"
+ },
+ "uz": {
+ "name": "Uzbek"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "cy": {
+ "name": "Welsh"
+ },
+ "fy": {
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "yi": {
+ "name": "Yiddish"
+ },
+ "dje": {
+ "name": "Zarma"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/bg.json b/vendor/commerceguys/intl/resources/language/bg.json
new file mode 100644
index 000000000..16c264b39
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/bg.json
@@ -0,0 +1,635 @@
+{
+ "agq": {
+ "name": "агем"
+ },
+ "az": {
+ "name": "азербайджански"
+ },
+ "ak": {
+ "name": "акан"
+ },
+ "sq": {
+ "name": "албански"
+ },
+ "am": {
+ "name": "амхарски"
+ },
+ "en": {
+ "name": "английски"
+ },
+ "en-AU": {
+ "name": "английски (Австралия)"
+ },
+ "en-CA": {
+ "name": "английски (Канада)"
+ },
+ "en-GB": {
+ "name": "английски (Обединеното кралство)"
+ },
+ "ar": {
+ "name": "арабски"
+ },
+ "hy": {
+ "name": "арменски"
+ },
+ "as": {
+ "name": "асамски"
+ },
+ "ast": {
+ "name": "астурски"
+ },
+ "asa": {
+ "name": "асу"
+ },
+ "af": {
+ "name": "африкаанс"
+ },
+ "bm": {
+ "name": "бамбара"
+ },
+ "bas": {
+ "name": "баса"
+ },
+ "eu": {
+ "name": "баски"
+ },
+ "ksf": {
+ "name": "бафия"
+ },
+ "be": {
+ "name": "беларуски"
+ },
+ "bem": {
+ "name": "бемба"
+ },
+ "bez": {
+ "name": "бена"
+ },
+ "bn": {
+ "name": "бенгалски"
+ },
+ "my": {
+ "name": "бирмански"
+ },
+ "brx": {
+ "name": "бодо"
+ },
+ "bs": {
+ "name": "босненски"
+ },
+ "br": {
+ "name": "бретонски"
+ },
+ "bg": {
+ "name": "български"
+ },
+ "vai": {
+ "name": "ваи"
+ },
+ "wae": {
+ "name": "валзерски немски"
+ },
+ "vi": {
+ "name": "виетнамски"
+ },
+ "vo": {
+ "name": "волапюк"
+ },
+ "vun": {
+ "name": "вунджо"
+ },
+ "gl": {
+ "name": "галисийски"
+ },
+ "lg": {
+ "name": "ганда"
+ },
+ "hsb": {
+ "name": "горнолужишки"
+ },
+ "kl": {
+ "name": "гренландски"
+ },
+ "ka": {
+ "name": "грузински"
+ },
+ "el": {
+ "name": "гръцки"
+ },
+ "gu": {
+ "name": "гуджарати"
+ },
+ "guz": {
+ "name": "гусии"
+ },
+ "da": {
+ "name": "датски"
+ },
+ "dz": {
+ "name": "дзонха"
+ },
+ "dyo": {
+ "name": "диола"
+ },
+ "nds": {
+ "name": "долнонемски"
+ },
+ "nds-NL": {
+ "name": "долносаксонски"
+ },
+ "dsb": {
+ "name": "долносръбски"
+ },
+ "dua": {
+ "name": "дуала"
+ },
+ "ee": {
+ "name": "еве"
+ },
+ "ewo": {
+ "name": "евондо"
+ },
+ "ebu": {
+ "name": "ембу"
+ },
+ "eo": {
+ "name": "есперанто"
+ },
+ "et": {
+ "name": "естонски"
+ },
+ "dje": {
+ "name": "зарма"
+ },
+ "zu": {
+ "name": "зулуски"
+ },
+ "he": {
+ "name": "иврит"
+ },
+ "ig": {
+ "name": "игбо"
+ },
+ "yi": {
+ "name": "идиш"
+ },
+ "smn": {
+ "name": "инари-саамски"
+ },
+ "id": {
+ "name": "индонезийски"
+ },
+ "ga": {
+ "name": "ирландски"
+ },
+ "is": {
+ "name": "исландски"
+ },
+ "es": {
+ "name": "испански"
+ },
+ "es-MX": {
+ "name": "испански (Мексико)"
+ },
+ "it": {
+ "name": "италиански"
+ },
+ "yo": {
+ "name": "йоруба"
+ },
+ "kab": {
+ "name": "кабилски"
+ },
+ "kea": {
+ "name": "кабовердиански"
+ },
+ "kk": {
+ "name": "казахски"
+ },
+ "kkj": {
+ "name": "како"
+ },
+ "kln": {
+ "name": "календжин"
+ },
+ "kam": {
+ "name": "камба"
+ },
+ "kn": {
+ "name": "каннада"
+ },
+ "yue": {
+ "name": "кантонски"
+ },
+ "ca": {
+ "name": "каталонски"
+ },
+ "ks": {
+ "name": "кашмирски"
+ },
+ "nmg": {
+ "name": "квасио"
+ },
+ "qu": {
+ "name": "кечуа"
+ },
+ "ki": {
+ "name": "кикую"
+ },
+ "rw": {
+ "name": "киняруанда"
+ },
+ "ky": {
+ "name": "киргизки"
+ },
+ "zh": {
+ "name": "китайски"
+ },
+ "zh-Hans": {
+ "name": "китайски (опростен)"
+ },
+ "zh-Hant": {
+ "name": "китайски (традиционен)"
+ },
+ "khq": {
+ "name": "койра чиини"
+ },
+ "ses": {
+ "name": "койраборо сени"
+ },
+ "sw-CD": {
+ "name": "конгоански суахили"
+ },
+ "kok": {
+ "name": "конкани"
+ },
+ "ko": {
+ "name": "корейски"
+ },
+ "kw": {
+ "name": "корнуолски"
+ },
+ "km": {
+ "name": "кхмерски"
+ },
+ "ksh": {
+ "name": "кьолнски"
+ },
+ "ckb": {
+ "name": "кюрдски (централен)"
+ },
+ "lkt": {
+ "name": "лакота"
+ },
+ "lag": {
+ "name": "ланги"
+ },
+ "lo": {
+ "name": "лаоски"
+ },
+ "lv": {
+ "name": "латвийски"
+ },
+ "ln": {
+ "name": "лингала"
+ },
+ "lt": {
+ "name": "литовски"
+ },
+ "lu": {
+ "name": "луба катанга"
+ },
+ "luo": {
+ "name": "луо"
+ },
+ "luy": {
+ "name": "луя"
+ },
+ "lb": {
+ "name": "люксембургски"
+ },
+ "mzn": {
+ "name": "мазандари"
+ },
+ "mk": {
+ "name": "македонски"
+ },
+ "kde": {
+ "name": "маконде"
+ },
+ "mgh": {
+ "name": "макуа мето"
+ },
+ "ms": {
+ "name": "малайски"
+ },
+ "ml": {
+ "name": "малаялам"
+ },
+ "mg": {
+ "name": "малгашки"
+ },
+ "mt": {
+ "name": "малтийски"
+ },
+ "gv": {
+ "name": "манкски"
+ },
+ "mr": {
+ "name": "марати"
+ },
+ "mas": {
+ "name": "масайски"
+ },
+ "jmc": {
+ "name": "мачаме"
+ },
+ "mer": {
+ "name": "меру"
+ },
+ "mgo": {
+ "name": "мета"
+ },
+ "ro-MD": {
+ "name": "молдовски"
+ },
+ "mn": {
+ "name": "монголски"
+ },
+ "mfe": {
+ "name": "морисиен"
+ },
+ "mua": {
+ "name": "мунданг"
+ },
+ "naq": {
+ "name": "нама"
+ },
+ "nnh": {
+ "name": "нгиембун"
+ },
+ "jgo": {
+ "name": "нгомба"
+ },
+ "de": {
+ "name": "немски"
+ },
+ "de-AT": {
+ "name": "немски (Австрия)"
+ },
+ "de-CH": {
+ "name": "немски (Швейцария)"
+ },
+ "ne": {
+ "name": "непалски"
+ },
+ "nyn": {
+ "name": "нианколе"
+ },
+ "nl": {
+ "name": "нидерландски"
+ },
+ "nb": {
+ "name": "норвежки (букмол)"
+ },
+ "nn": {
+ "name": "норвежки (нюношк)"
+ },
+ "nus": {
+ "name": "нуер"
+ },
+ "or": {
+ "name": "ория"
+ },
+ "om": {
+ "name": "оромо"
+ },
+ "os": {
+ "name": "осетски"
+ },
+ "pa": {
+ "name": "пенджабски"
+ },
+ "fa": {
+ "name": "персийски"
+ },
+ "pl": {
+ "name": "полски"
+ },
+ "pt": {
+ "name": "португалски"
+ },
+ "pt-PT": {
+ "name": "португалски (Португалия)"
+ },
+ "prg": {
+ "name": "пруски"
+ },
+ "ps": {
+ "name": "пущу"
+ },
+ "rwk": {
+ "name": "рва"
+ },
+ "rm": {
+ "name": "реторомански"
+ },
+ "rof": {
+ "name": "ромбо"
+ },
+ "ro": {
+ "name": "румънски"
+ },
+ "rn": {
+ "name": "рунди"
+ },
+ "ru": {
+ "name": "руски"
+ },
+ "saq": {
+ "name": "самбуру"
+ },
+ "sg": {
+ "name": "санго"
+ },
+ "sbp": {
+ "name": "сангу"
+ },
+ "lrc": {
+ "name": "северен лури"
+ },
+ "nd": {
+ "name": "северен ндебеле"
+ },
+ "se": {
+ "name": "северносаамски"
+ },
+ "seh": {
+ "name": "сена"
+ },
+ "si": {
+ "name": "синхалски"
+ },
+ "sk": {
+ "name": "словашки"
+ },
+ "sl": {
+ "name": "словенски"
+ },
+ "xog": {
+ "name": "сога"
+ },
+ "so": {
+ "name": "сомалийски"
+ },
+ "sr": {
+ "name": "сръбски"
+ },
+ "zgh": {
+ "name": "стандартен марокански тамазигт"
+ },
+ "sw": {
+ "name": "суахили"
+ },
+ "ii": {
+ "name": "съчуански и"
+ },
+ "dav": {
+ "name": "таита"
+ },
+ "th": {
+ "name": "тайски"
+ },
+ "ta": {
+ "name": "тамилски"
+ },
+ "twq": {
+ "name": "тасавак"
+ },
+ "shi": {
+ "name": "ташелхит"
+ },
+ "te": {
+ "name": "телугу"
+ },
+ "teo": {
+ "name": "тесо"
+ },
+ "bo": {
+ "name": "тибетски"
+ },
+ "ti": {
+ "name": "тигриня"
+ },
+ "to": {
+ "name": "тонга"
+ },
+ "tk": {
+ "name": "туркменски"
+ },
+ "tr": {
+ "name": "турски"
+ },
+ "cy": {
+ "name": "уелски"
+ },
+ "uz": {
+ "name": "узбекски"
+ },
+ "ug": {
+ "name": "уйгурски"
+ },
+ "uk": {
+ "name": "украински"
+ },
+ "hu": {
+ "name": "унгарски"
+ },
+ "ur": {
+ "name": "урду"
+ },
+ "fo": {
+ "name": "фарьорски"
+ },
+ "fil": {
+ "name": "филипински"
+ },
+ "fi": {
+ "name": "фински"
+ },
+ "nl-BE": {
+ "name": "фламандски"
+ },
+ "fr": {
+ "name": "френски"
+ },
+ "fr-CA": {
+ "name": "френски (Канада)"
+ },
+ "fr-CH": {
+ "name": "френски (Швейцария)"
+ },
+ "fy": {
+ "name": "фризийски"
+ },
+ "fur": {
+ "name": "фриулиански"
+ },
+ "ff": {
+ "name": "фула"
+ },
+ "haw": {
+ "name": "хавайски"
+ },
+ "ha": {
+ "name": "хауза"
+ },
+ "hi": {
+ "name": "хинди"
+ },
+ "hr": {
+ "name": "хърватски"
+ },
+ "tzm": {
+ "name": "централноатласки тамазигт"
+ },
+ "cu": {
+ "name": "църковнославянски"
+ },
+ "chr": {
+ "name": "чероки"
+ },
+ "ce": {
+ "name": "чеченски"
+ },
+ "cs": {
+ "name": "чешки"
+ },
+ "cgg": {
+ "name": "чига"
+ },
+ "ksb": {
+ "name": "шамбала"
+ },
+ "sv": {
+ "name": "шведски"
+ },
+ "gsw": {
+ "name": "швейцарски немски"
+ },
+ "sn": {
+ "name": "шона"
+ },
+ "gd": {
+ "name": "шотландски галски"
+ },
+ "sah": {
+ "name": "якутски"
+ },
+ "yav": {
+ "name": "янгбен"
+ },
+ "ja": {
+ "name": "японски"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/bm.json b/vendor/commerceguys/intl/resources/language/bm.json
new file mode 100644
index 000000000..287911345
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/bm.json
@@ -0,0 +1,632 @@
+{
+ "af": {
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "ak": {
+ "name": "akankan"
+ },
+ "sq": {
+ "name": "Albanian"
+ },
+ "de": {
+ "name": "alimaɲikan"
+ },
+ "de-AT": {
+ "name": "alimaɲikan (Otirisi)"
+ },
+ "de-CH": {
+ "name": "alimaɲikan (Suwisi)"
+ },
+ "am": {
+ "name": "amarikikan"
+ },
+ "en": {
+ "name": "angilɛkan"
+ },
+ "en-GB": {
+ "name": "angilɛkan (Angilɛtɛri)"
+ },
+ "en-CA": {
+ "name": "angilɛkan (Kanada)"
+ },
+ "en-AU": {
+ "name": "angilɛkan (Ositirali)"
+ },
+ "hy": {
+ "name": "Armenian"
+ },
+ "as": {
+ "name": "Assamese"
+ },
+ "ast": {
+ "name": "Asturian"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "ha": {
+ "name": "awusakan"
+ },
+ "az": {
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "bamanakan"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "eu": {
+ "name": "Basque"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "bn": {
+ "name": "bɛngalikan"
+ },
+ "my": {
+ "name": "birimanikan"
+ },
+ "be": {
+ "name": "biyelorisikan"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "bs": {
+ "name": "Bosnian"
+ },
+ "br": {
+ "name": "Breton"
+ },
+ "bg": {
+ "name": "buligarikan"
+ },
+ "yue": {
+ "name": "Cantonese"
+ },
+ "ca": {
+ "name": "Catalan"
+ },
+ "tzm": {
+ "name": "Central Atlas Tamazight"
+ },
+ "ckb": {
+ "name": "Central Kurdish"
+ },
+ "cs": {
+ "name": "cɛkikan"
+ },
+ "ce": {
+ "name": "Chechen"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "cu": {
+ "name": "Church Slavic"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "kw": {
+ "name": "Cornish"
+ },
+ "hr": {
+ "name": "Croatian"
+ },
+ "da": {
+ "name": "Danish"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "dz": {
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "es": {
+ "name": "esipaɲolkan"
+ },
+ "es-MX": {
+ "name": "esipaɲolkan (Meksiki)"
+ },
+ "eo": {
+ "name": "Esperanto"
+ },
+ "et": {
+ "name": "Estonian"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "id": {
+ "name": "Ɛndonezikan"
+ },
+ "fo": {
+ "name": "Faroese"
+ },
+ "fil": {
+ "name": "Filipino"
+ },
+ "fi": {
+ "name": "Finnish"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "gl": {
+ "name": "Galician"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "ka": {
+ "name": "Georgian"
+ },
+ "el": {
+ "name": "gɛrɛsikan"
+ },
+ "gu": {
+ "name": "Gujarati"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "haw": {
+ "name": "Hawaiian"
+ },
+ "he": {
+ "name": "Hebrew"
+ },
+ "is": {
+ "name": "Icelandic"
+ },
+ "ig": {
+ "name": "igibokan"
+ },
+ "smn": {
+ "name": "Inari Sami"
+ },
+ "hi": {
+ "name": "inidikan"
+ },
+ "ga": {
+ "name": "Irish"
+ },
+ "ru": {
+ "name": "irisikan"
+ },
+ "it": {
+ "name": "italikan"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabyle"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kl": {
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "km": {
+ "name": "kambojikan"
+ },
+ "kn": {
+ "name": "Kannada"
+ },
+ "ks": {
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "name": "Kazakh"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "ko": {
+ "name": "korekan"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "ky": {
+ "name": "Kyrgyz"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "Lao"
+ },
+ "ar": {
+ "name": "larabukan"
+ },
+ "lv": {
+ "name": "Latvian"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "lt": {
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "mk": {
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "mg": {
+ "name": "Malagasy"
+ },
+ "ml": {
+ "name": "Malayalam"
+ },
+ "ms": {
+ "name": "malɛzikan"
+ },
+ "mt": {
+ "name": "Maltese"
+ },
+ "gv": {
+ "name": "Manx"
+ },
+ "mr": {
+ "name": "Marathi"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "mn": {
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nds-NL": {
+ "name": "nds (Peyiba)"
+ },
+ "ne": {
+ "name": "nepalekan"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "nd": {
+ "name": "North Ndebele"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "se": {
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "or": {
+ "name": "Odia"
+ },
+ "nl": {
+ "name": "olandekan"
+ },
+ "nl-BE": {
+ "name": "olandekan (Bɛliziki)"
+ },
+ "hu": {
+ "name": "oŋirikan"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "os": {
+ "name": "Ossetic"
+ },
+ "ps": {
+ "name": "Pashto"
+ },
+ "fa": {
+ "name": "perisanikan"
+ },
+ "pa": {
+ "name": "pɛnijabikan"
+ },
+ "pl": {
+ "name": "polonekan"
+ },
+ "pt": {
+ "name": "pɔritigalikan"
+ },
+ "pt-PT": {
+ "name": "pɔritigalikan (Pɔritigali)"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "qu": {
+ "name": "Quechua"
+ },
+ "rm": {
+ "name": "Romansh"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "ro": {
+ "name": "rumanikan"
+ },
+ "ro-MD": {
+ "name": "rumanikan (Molidavi)"
+ },
+ "rn": {
+ "name": "Rundi"
+ },
+ "rw": {
+ "name": "ruwandakan"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "sah": {
+ "name": "Sakha"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "gd": {
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "sr": {
+ "name": "Serbian"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "si": {
+ "name": "Sinhala"
+ },
+ "zh": {
+ "name": "siniwakan"
+ },
+ "zh-Hans": {
+ "name": "siniwakan (Hans)"
+ },
+ "zh-Hant": {
+ "name": "siniwakan (Hant)"
+ },
+ "sk": {
+ "name": "Slovak"
+ },
+ "sl": {
+ "name": "Slovenian"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "so": {
+ "name": "somalikan"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sv": {
+ "name": "suwɛdikan"
+ },
+ "sw-CD": {
+ "name": "sw (Kongo ka republiki demɔkratiki)"
+ },
+ "sw": {
+ "name": "Swahili"
+ },
+ "gsw": {
+ "name": "Swiss German"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "ta": {
+ "name": "tamulikan"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "th": {
+ "name": "tayikan"
+ },
+ "te": {
+ "name": "Telugu"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "bo": {
+ "name": "Tibetan"
+ },
+ "ti": {
+ "name": "Tigrinya"
+ },
+ "to": {
+ "name": "Tongan"
+ },
+ "fr": {
+ "name": "tubabukan"
+ },
+ "fr-CA": {
+ "name": "tubabukan (Kanada)"
+ },
+ "fr-CH": {
+ "name": "tubabukan (Suwisi)"
+ },
+ "tr": {
+ "name": "turikikan"
+ },
+ "tk": {
+ "name": "Turkmen"
+ },
+ "uk": {
+ "name": "ukɛrɛnikan"
+ },
+ "hsb": {
+ "name": "Upper Sorbian"
+ },
+ "ur": {
+ "name": "urudukan"
+ },
+ "ug": {
+ "name": "Uyghur"
+ },
+ "uz": {
+ "name": "Uzbek"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "cy": {
+ "name": "Welsh"
+ },
+ "fy": {
+ "name": "Western Frisian"
+ },
+ "vi": {
+ "name": "wiyɛtinamukan"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "yi": {
+ "name": "Yiddish"
+ },
+ "yo": {
+ "name": "yorubakan"
+ },
+ "ja": {
+ "name": "zapɔnekan"
+ },
+ "dje": {
+ "name": "Zarma"
+ },
+ "zu": {
+ "name": "zulukan"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/bn-IN.json b/vendor/commerceguys/intl/resources/language/bn-IN.json
new file mode 100644
index 000000000..f6a6a4cd4
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/bn-IN.json
@@ -0,0 +1,635 @@
+{
+ "om": {
+ "name": "অরোমো"
+ },
+ "de-AT": {
+ "name": "অস্ট্রিয়ান জার্মান"
+ },
+ "en-AU": {
+ "name": "অস্ট্রেলীয় ইংরেজি"
+ },
+ "ga": {
+ "name": "আইরিশ"
+ },
+ "is": {
+ "name": "আইসল্যান্ডীয়"
+ },
+ "ak": {
+ "name": "আকান"
+ },
+ "az": {
+ "name": "আজারবাইজানী"
+ },
+ "zgh": {
+ "name": "আদর্শ মরক্কোন তামাজিগাত"
+ },
+ "af": {
+ "name": "আফ্রিকান"
+ },
+ "am": {
+ "name": "আমহারিক"
+ },
+ "ar": {
+ "name": "আরবী"
+ },
+ "hy": {
+ "name": "আর্মেনিয়"
+ },
+ "sq": {
+ "name": "আলবেনীয়"
+ },
+ "as": {
+ "name": "আসামি"
+ },
+ "asa": {
+ "name": "আসু"
+ },
+ "ast": {
+ "name": "আস্তুরিয়"
+ },
+ "uk": {
+ "name": "ইউক্রেনীয়"
+ },
+ "ee": {
+ "name": "ইউয়ি"
+ },
+ "pt-PT": {
+ "name": "ইউরোপের পর্তুগীজ"
+ },
+ "ewo": {
+ "name": "ইওন্ডো"
+ },
+ "yo": {
+ "name": "ইওরুবা"
+ },
+ "en": {
+ "name": "ইংরেজি"
+ },
+ "ig": {
+ "name": "ইগ্‌বো"
+ },
+ "it": {
+ "name": "ইতালিয়"
+ },
+ "smn": {
+ "name": "ইনারি সামি"
+ },
+ "id": {
+ "name": "ইন্দোনেশীয়"
+ },
+ "ug": {
+ "name": "উইঘুর"
+ },
+ "hsb": {
+ "name": "উচ্চ সোর্বিয়ান"
+ },
+ "uz": {
+ "name": "উজবেকীয়"
+ },
+ "nd": {
+ "name": "উত্তর এন্দেবিলি"
+ },
+ "lrc": {
+ "name": "উত্তর লুরি"
+ },
+ "se": {
+ "name": "উত্তরাঞ্চলীয় সামি"
+ },
+ "ur": {
+ "name": "উর্দু"
+ },
+ "agq": {
+ "name": "এঘেম"
+ },
+ "ebu": {
+ "name": "এম্বু"
+ },
+ "et": {
+ "name": "এস্তোনীয়"
+ },
+ "eo": {
+ "name": "এস্পেরান্তো"
+ },
+ "zh-Hant": {
+ "name": "ঐতিহ্যবাহি চীনা"
+ },
+ "or": {
+ "name": "ওড়িয়া"
+ },
+ "wae": {
+ "name": "ওয়ালসের"
+ },
+ "cy": {
+ "name": "ওয়েলশ"
+ },
+ "os": {
+ "name": "ওসেটিক"
+ },
+ "sw-CD": {
+ "name": "কঙ্গো সোয়াহিলি"
+ },
+ "kn": {
+ "name": "কন্নড়"
+ },
+ "kw": {
+ "name": "কর্ণিশ"
+ },
+ "kkj": {
+ "name": "কাকো"
+ },
+ "kk": {
+ "name": "কাজাখ"
+ },
+ "ca": {
+ "name": "কাতালান"
+ },
+ "en-CA": {
+ "name": "কানাডীয় ইংরেজি"
+ },
+ "fr-CA": {
+ "name": "কানাডীয় ফরাসি"
+ },
+ "kab": {
+ "name": "কাবাইলে"
+ },
+ "kea": {
+ "name": "কাবুভারদিয়ানু"
+ },
+ "kam": {
+ "name": "কাম্বা"
+ },
+ "kln": {
+ "name": "কালেনজিন"
+ },
+ "ks": {
+ "name": "কাশ্মীরি"
+ },
+ "ki": {
+ "name": "কিকুয়ু"
+ },
+ "rw": {
+ "name": "কিনয়ারোয়ান্ডা"
+ },
+ "ky": {
+ "name": "কির্গিজ"
+ },
+ "qu": {
+ "name": "কেচুয়া"
+ },
+ "kok": {
+ "name": "কোঙ্কানি"
+ },
+ "khq": {
+ "name": "কোয়রা চীনি"
+ },
+ "ses": {
+ "name": "কোয়রাবেনো সেন্নী"
+ },
+ "nmg": {
+ "name": "কোয়াসিও"
+ },
+ "ko": {
+ "name": "কোরিয়ান"
+ },
+ "ksh": {
+ "name": "কোলোনিয়ান"
+ },
+ "yue": {
+ "name": "ক্যানটোনীজ"
+ },
+ "kl": {
+ "name": "ক্যালাল্লিসুট"
+ },
+ "hr": {
+ "name": "ক্রোয়েশীয়"
+ },
+ "km": {
+ "name": "খমের"
+ },
+ "lg": {
+ "name": "গান্ডা"
+ },
+ "gu": {
+ "name": "গুজরাটি"
+ },
+ "guz": {
+ "name": "গুসী"
+ },
+ "jgo": {
+ "name": "গোম্বা"
+ },
+ "gl": {
+ "name": "গ্যালিশিয়"
+ },
+ "el": {
+ "name": "গ্রিক"
+ },
+ "cu": {
+ "name": "চার্চ স্লাভিক"
+ },
+ "cgg": {
+ "name": "চিগা"
+ },
+ "zh": {
+ "name": "চীনা"
+ },
+ "cs": {
+ "name": "চেক"
+ },
+ "ce": {
+ "name": "চেচেন"
+ },
+ "chr": {
+ "name": "চেরোকী"
+ },
+ "ka": {
+ "name": "জর্জিয়ান"
+ },
+ "dyo": {
+ "name": "জলা-ফনী"
+ },
+ "ja": {
+ "name": "জাপানি"
+ },
+ "dje": {
+ "name": "জার্মা"
+ },
+ "de": {
+ "name": "জার্মান"
+ },
+ "zu": {
+ "name": "জুলু"
+ },
+ "dz": {
+ "name": "জোঙ্গা"
+ },
+ "to": {
+ "name": "টোঙ্গান"
+ },
+ "nl": {
+ "name": "ডাচ"
+ },
+ "da": {
+ "name": "ডেনিশ"
+ },
+ "dav": {
+ "name": "তাইতা"
+ },
+ "shi": {
+ "name": "তাচেলহিত"
+ },
+ "ta": {
+ "name": "তামিল"
+ },
+ "twq": {
+ "name": "তাসাওয়াক"
+ },
+ "ti": {
+ "name": "তিগরিনিয়া"
+ },
+ "bo": {
+ "name": "তিব্বতি"
+ },
+ "tk": {
+ "name": "তুর্কমেনী"
+ },
+ "tr": {
+ "name": "তুর্কী"
+ },
+ "te": {
+ "name": "তেলেগু"
+ },
+ "teo": {
+ "name": "তেসো"
+ },
+ "th": {
+ "name": "থাই"
+ },
+ "dua": {
+ "name": "দুয়ালা"
+ },
+ "nb": {
+ "name": "নরওয়েজিয়ান বোকমাল"
+ },
+ "nn": {
+ "name": "নরওয়েজীয়ান নিনর্স্ক"
+ },
+ "naq": {
+ "name": "নামা"
+ },
+ "nnh": {
+ "name": "নিঙ্গেম্বুন"
+ },
+ "nds": {
+ "name": "নিম্ন জার্মানি"
+ },
+ "dsb": {
+ "name": "নিম্নতর সোর্বিয়ান"
+ },
+ "nus": {
+ "name": "নুয়ার"
+ },
+ "ne": {
+ "name": "নেপালী"
+ },
+ "nyn": {
+ "name": "ন্যায়াঙ্কোলে"
+ },
+ "pt": {
+ "name": "পর্তুগীজ"
+ },
+ "fy": {
+ "name": "পশ্চিম ফ্রিসিয়ান"
+ },
+ "pa": {
+ "name": "পাঞ্জাবী"
+ },
+ "ps": {
+ "name": "পাশ্তু"
+ },
+ "pl": {
+ "name": "পোলিশ"
+ },
+ "prg": {
+ "name": "প্রুশিয়ান"
+ },
+ "fr": {
+ "name": "ফরাসি"
+ },
+ "fo": {
+ "name": "ফারোস"
+ },
+ "fa": {
+ "name": "ফার্সি"
+ },
+ "fi": {
+ "name": "ফিনিশ"
+ },
+ "fil": {
+ "name": "ফিলিপিনো"
+ },
+ "ff": {
+ "name": "ফুলাহ্"
+ },
+ "fur": {
+ "name": "ফ্রিউলিয়ান"
+ },
+ "nl-BE": {
+ "name": "ফ্লেমিশ"
+ },
+ "my": {
+ "name": "বর্মি"
+ },
+ "bs": {
+ "name": "বসনীয়ান"
+ },
+ "bn": {
+ "name": "বাংলা"
+ },
+ "ksf": {
+ "name": "বাফিয়া"
+ },
+ "bm": {
+ "name": "বামবারা"
+ },
+ "bas": {
+ "name": "বাসা"
+ },
+ "eu": {
+ "name": "বাস্ক"
+ },
+ "bg": {
+ "name": "বুলগেরিয়"
+ },
+ "bez": {
+ "name": "বেনা"
+ },
+ "bem": {
+ "name": "বেম্বা"
+ },
+ "be": {
+ "name": "বেলারুশিয়"
+ },
+ "brx": {
+ "name": "বোড়ো"
+ },
+ "en-GB": {
+ "name": "ব্রিটিশ ইংরেজি"
+ },
+ "br": {
+ "name": "ব্রেটন"
+ },
+ "vai": {
+ "name": "ভাই"
+ },
+ "vi": {
+ "name": "ভিয়েতনামী"
+ },
+ "vun": {
+ "name": "ভুঞ্জো"
+ },
+ "vo": {
+ "name": "ভোলাপুক"
+ },
+ "mn": {
+ "name": "মঙ্গোলিয়"
+ },
+ "ckb": {
+ "name": "মধ্য কুর্দিশ"
+ },
+ "mfe": {
+ "name": "মরিসিয়ান"
+ },
+ "ro-MD": {
+ "name": "মলদাভিয়"
+ },
+ "mt": {
+ "name": "মল্টিয়"
+ },
+ "jmc": {
+ "name": "মাকামে"
+ },
+ "kde": {
+ "name": "মাকোন্দে"
+ },
+ "mgh": {
+ "name": "মাখুয়া-মেত্তো"
+ },
+ "mzn": {
+ "name": "মাজানদেরানি"
+ },
+ "mr": {
+ "name": "মারাঠি"
+ },
+ "ms": {
+ "name": "মালয়"
+ },
+ "mg": {
+ "name": "মালাগাসি"
+ },
+ "ml": {
+ "name": "মালায়ালাম"
+ },
+ "mas": {
+ "name": "মাসাই"
+ },
+ "mua": {
+ "name": "মুদাঙ্গ"
+ },
+ "mgo": {
+ "name": "মেটা"
+ },
+ "mer": {
+ "name": "মেরু"
+ },
+ "es-MX": {
+ "name": "ম্যাক্সিকান স্প্যানিশ"
+ },
+ "gv": {
+ "name": "ম্যাঙ্কস"
+ },
+ "mk": {
+ "name": "ম্যাসিডোনীয়"
+ },
+ "yav": {
+ "name": "য়াঙ্গবেন"
+ },
+ "yi": {
+ "name": "য়িদ্দিশ"
+ },
+ "rof": {
+ "name": "রম্বো"
+ },
+ "rwk": {
+ "name": "রাওয়া"
+ },
+ "rn": {
+ "name": "রুন্দি"
+ },
+ "ru": {
+ "name": "রুশ"
+ },
+ "ro": {
+ "name": "রোমানীয়"
+ },
+ "rm": {
+ "name": "রোমান্স"
+ },
+ "lo": {
+ "name": "লাও"
+ },
+ "lkt": {
+ "name": "লাকোটা"
+ },
+ "lag": {
+ "name": "লাঙ্গি"
+ },
+ "lv": {
+ "name": "লাত্‌ভীয়"
+ },
+ "ln": {
+ "name": "লিঙ্গালা"
+ },
+ "lt": {
+ "name": "লিথুয়েনীয়"
+ },
+ "luy": {
+ "name": "লুইয়া"
+ },
+ "lb": {
+ "name": "লুক্সেমবার্গীয়"
+ },
+ "lu": {
+ "name": "লুবা-কাটাঙ্গা"
+ },
+ "luo": {
+ "name": "লুয়ো"
+ },
+ "nds-NL": {
+ "name": "লো স্যাক্সন"
+ },
+ "sah": {
+ "name": "শাখা"
+ },
+ "ksb": {
+ "name": "শাম্বালা"
+ },
+ "sn": {
+ "name": "শোনা"
+ },
+ "zh-Hans": {
+ "name": "সরলীকৃত চীনা"
+ },
+ "sbp": {
+ "name": "সাঙ্গু"
+ },
+ "sg": {
+ "name": "সাঙ্গো"
+ },
+ "saq": {
+ "name": "সামবুরু"
+ },
+ "sr": {
+ "name": "সার্বীয়"
+ },
+ "si": {
+ "name": "সিংহলী"
+ },
+ "ii": {
+ "name": "সিচুয়ান য়ি"
+ },
+ "sv": {
+ "name": "সুইডিশ"
+ },
+ "gsw": {
+ "name": "সুইস জার্মান"
+ },
+ "fr-CH": {
+ "name": "সুইস ফরাসি"
+ },
+ "de-CH": {
+ "name": "সুইস হাই জার্মান"
+ },
+ "seh": {
+ "name": "সেনা"
+ },
+ "tzm": {
+ "name": "সেন্ট্রাল আটলাস তামাজিগাত"
+ },
+ "xog": {
+ "name": "সোগা"
+ },
+ "so": {
+ "name": "সোমালি"
+ },
+ "sw": {
+ "name": "সোয়াহিলি"
+ },
+ "gd": {
+ "name": "স্কটস-গ্যেলিক"
+ },
+ "es": {
+ "name": "স্প্যানিশ"
+ },
+ "sk": {
+ "name": "স্লোভাক"
+ },
+ "sl": {
+ "name": "স্লোভেনীয়"
+ },
+ "ha": {
+ "name": "হাউসা"
+ },
+ "haw": {
+ "name": "হাওয়াইয়ান"
+ },
+ "hu": {
+ "name": "হাঙ্গেরীয়"
+ },
+ "hi": {
+ "name": "হিন্দি"
+ },
+ "he": {
+ "name": "হিব্রু"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/bn.json b/vendor/commerceguys/intl/resources/language/bn.json
new file mode 100644
index 000000000..09e64c6a0
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/bn.json
@@ -0,0 +1,635 @@
+{
+ "om": {
+ "name": "অরোমো"
+ },
+ "de-AT": {
+ "name": "অস্ট্রিয়ান জার্মান"
+ },
+ "en-AU": {
+ "name": "অস্ট্রেলীয় ইংরেজি"
+ },
+ "ga": {
+ "name": "আইরিশ"
+ },
+ "is": {
+ "name": "আইসল্যান্ডীয়"
+ },
+ "ak": {
+ "name": "আকান"
+ },
+ "az": {
+ "name": "আজারবাইজানী"
+ },
+ "zgh": {
+ "name": "আদর্শ মরক্কোন তামাজিগাত"
+ },
+ "af": {
+ "name": "আফ্রিকান"
+ },
+ "am": {
+ "name": "আমহারিক"
+ },
+ "ar": {
+ "name": "আরবী"
+ },
+ "hy": {
+ "name": "আর্মেনিয়"
+ },
+ "sq": {
+ "name": "আলবেনীয়"
+ },
+ "as": {
+ "name": "আসামি"
+ },
+ "asa": {
+ "name": "আসু"
+ },
+ "ast": {
+ "name": "আস্তুরিয়"
+ },
+ "uk": {
+ "name": "ইউক্রেনীয়"
+ },
+ "ee": {
+ "name": "ইউয়ি"
+ },
+ "pt-PT": {
+ "name": "ইউরোপের পর্তুগীজ"
+ },
+ "ewo": {
+ "name": "ইওন্ডো"
+ },
+ "yo": {
+ "name": "ইওরুবা"
+ },
+ "en": {
+ "name": "ইংরেজি"
+ },
+ "ig": {
+ "name": "ইগ্‌বো"
+ },
+ "it": {
+ "name": "ইতালিয়"
+ },
+ "smn": {
+ "name": "ইনারি সামি"
+ },
+ "id": {
+ "name": "ইন্দোনেশীয়"
+ },
+ "ug": {
+ "name": "উইঘুর"
+ },
+ "hsb": {
+ "name": "উচ্চ সোর্বিয়ান"
+ },
+ "uz": {
+ "name": "উজবেকীয়"
+ },
+ "nd": {
+ "name": "উত্তর এন্দেবিলি"
+ },
+ "lrc": {
+ "name": "উত্তর লুরি"
+ },
+ "se": {
+ "name": "উত্তরাঞ্চলীয় সামি"
+ },
+ "ur": {
+ "name": "উর্দু"
+ },
+ "agq": {
+ "name": "এঘেম"
+ },
+ "ebu": {
+ "name": "এম্বু"
+ },
+ "et": {
+ "name": "এস্তোনীয়"
+ },
+ "eo": {
+ "name": "এস্পেরান্তো"
+ },
+ "zh-Hant": {
+ "name": "ঐতিহ্যবাহি চীনা"
+ },
+ "or": {
+ "name": "ওড়িয়া"
+ },
+ "wae": {
+ "name": "ওয়ালসের"
+ },
+ "cy": {
+ "name": "ওয়েলশ"
+ },
+ "os": {
+ "name": "ওসেটিক"
+ },
+ "sw-CD": {
+ "name": "কঙ্গো সোয়াহিলি"
+ },
+ "kn": {
+ "name": "কন্নড়"
+ },
+ "kw": {
+ "name": "কর্ণিশ"
+ },
+ "ksh": {
+ "name": "কল্শ"
+ },
+ "kkj": {
+ "name": "কাকো"
+ },
+ "kk": {
+ "name": "কাজাখ"
+ },
+ "ca": {
+ "name": "কাতালান"
+ },
+ "en-CA": {
+ "name": "কানাডীয় ইংরেজি"
+ },
+ "fr-CA": {
+ "name": "কানাডীয় ফরাসি"
+ },
+ "kab": {
+ "name": "কাবাইলে"
+ },
+ "kea": {
+ "name": "কাবুভারদিয়ানু"
+ },
+ "kam": {
+ "name": "কাম্বা"
+ },
+ "kln": {
+ "name": "কালেনজিন"
+ },
+ "ks": {
+ "name": "কাশ্মীরি"
+ },
+ "ki": {
+ "name": "কিকুয়ু"
+ },
+ "rw": {
+ "name": "কিনয়ারোয়ান্ডা"
+ },
+ "ky": {
+ "name": "কির্গিজ"
+ },
+ "qu": {
+ "name": "কেচুয়া"
+ },
+ "kok": {
+ "name": "কোঙ্কানি"
+ },
+ "khq": {
+ "name": "কোয়রা চীনি"
+ },
+ "ses": {
+ "name": "কোয়রাবেনো সেন্নী"
+ },
+ "nmg": {
+ "name": "কোয়াসিও"
+ },
+ "ko": {
+ "name": "কোরিয়ান"
+ },
+ "yue": {
+ "name": "ক্যানটোনীজ"
+ },
+ "kl": {
+ "name": "ক্যালাল্লিসুট"
+ },
+ "hr": {
+ "name": "ক্রোয়েশীয়"
+ },
+ "km": {
+ "name": "খমের"
+ },
+ "lg": {
+ "name": "গান্ডা"
+ },
+ "gu": {
+ "name": "গুজরাটি"
+ },
+ "guz": {
+ "name": "গুসী"
+ },
+ "jgo": {
+ "name": "গোম্বা"
+ },
+ "gl": {
+ "name": "গ্যালিশিয়"
+ },
+ "el": {
+ "name": "গ্রিক"
+ },
+ "cu": {
+ "name": "চার্চ স্লাভিক"
+ },
+ "cgg": {
+ "name": "চিগা"
+ },
+ "zh": {
+ "name": "চীনা"
+ },
+ "cs": {
+ "name": "চেক"
+ },
+ "ce": {
+ "name": "চেচেন"
+ },
+ "chr": {
+ "name": "চেরোকী"
+ },
+ "ka": {
+ "name": "জর্জিয়ান"
+ },
+ "dyo": {
+ "name": "জলা-ফনী"
+ },
+ "ja": {
+ "name": "জাপানি"
+ },
+ "dje": {
+ "name": "জার্মা"
+ },
+ "de": {
+ "name": "জার্মান"
+ },
+ "zu": {
+ "name": "জুলু"
+ },
+ "dz": {
+ "name": "জোঙ্গা"
+ },
+ "to": {
+ "name": "টোঙ্গান"
+ },
+ "nl": {
+ "name": "ডাচ"
+ },
+ "da": {
+ "name": "ডেনিশ"
+ },
+ "dav": {
+ "name": "তাইতা"
+ },
+ "shi": {
+ "name": "তাচেলহিত"
+ },
+ "ta": {
+ "name": "তামিল"
+ },
+ "twq": {
+ "name": "তাসাওয়াক"
+ },
+ "ti": {
+ "name": "তিগরিনিয়া"
+ },
+ "bo": {
+ "name": "তিব্বতি"
+ },
+ "tk": {
+ "name": "তুর্কমেনী"
+ },
+ "tr": {
+ "name": "তুর্কী"
+ },
+ "te": {
+ "name": "তেলেগু"
+ },
+ "teo": {
+ "name": "তেসো"
+ },
+ "th": {
+ "name": "থাই"
+ },
+ "dua": {
+ "name": "দুয়ালা"
+ },
+ "nb": {
+ "name": "নরওয়েজিয়ান বোকমাল"
+ },
+ "nn": {
+ "name": "নরওয়েজীয়ান নিনর্স্ক"
+ },
+ "naq": {
+ "name": "নামা"
+ },
+ "nnh": {
+ "name": "নিঙ্গেম্বুন"
+ },
+ "nds": {
+ "name": "নিম্ন জার্মানি"
+ },
+ "dsb": {
+ "name": "নিম্নতর সোর্বিয়ান"
+ },
+ "nus": {
+ "name": "নুয়ার"
+ },
+ "ne": {
+ "name": "নেপালী"
+ },
+ "nyn": {
+ "name": "ন্যায়াঙ্কোলে"
+ },
+ "pt": {
+ "name": "পর্তুগীজ"
+ },
+ "fy": {
+ "name": "পশ্চিম ফ্রিসিয়ান"
+ },
+ "pa": {
+ "name": "পাঞ্জাবী"
+ },
+ "ps": {
+ "name": "পাশ্তু"
+ },
+ "pl": {
+ "name": "পোলিশ"
+ },
+ "prg": {
+ "name": "প্রুশিয়ান"
+ },
+ "fr": {
+ "name": "ফরাসি"
+ },
+ "fo": {
+ "name": "ফারোস"
+ },
+ "fa": {
+ "name": "ফার্সি"
+ },
+ "fi": {
+ "name": "ফিনিশ"
+ },
+ "fil": {
+ "name": "ফিলিপিনো"
+ },
+ "ff": {
+ "name": "ফুলাহ্"
+ },
+ "fur": {
+ "name": "ফ্রিউলিয়ান"
+ },
+ "nl-BE": {
+ "name": "ফ্লেমিশ"
+ },
+ "my": {
+ "name": "বর্মি"
+ },
+ "bs": {
+ "name": "বসনীয়ান"
+ },
+ "bn": {
+ "name": "বাংলা"
+ },
+ "ksf": {
+ "name": "বাফিয়া"
+ },
+ "bm": {
+ "name": "বামবারা"
+ },
+ "bas": {
+ "name": "বাসা"
+ },
+ "eu": {
+ "name": "বাস্ক"
+ },
+ "bg": {
+ "name": "বুলগেরিয়"
+ },
+ "bez": {
+ "name": "বেনা"
+ },
+ "bem": {
+ "name": "বেম্বা"
+ },
+ "be": {
+ "name": "বেলারুশিয়"
+ },
+ "brx": {
+ "name": "বোড়ো"
+ },
+ "en-GB": {
+ "name": "ব্রিটিশ ইংরেজি"
+ },
+ "br": {
+ "name": "ব্রেটন"
+ },
+ "vai": {
+ "name": "ভাই"
+ },
+ "vi": {
+ "name": "ভিয়েতনামী"
+ },
+ "vun": {
+ "name": "ভুঞ্জো"
+ },
+ "vo": {
+ "name": "ভোলাপুক"
+ },
+ "mn": {
+ "name": "মঙ্গোলিয়"
+ },
+ "ckb": {
+ "name": "মধ্য কুর্দিশ"
+ },
+ "mfe": {
+ "name": "মরিসিয়ান"
+ },
+ "ro-MD": {
+ "name": "মলদাভিয়"
+ },
+ "mt": {
+ "name": "মল্টিয়"
+ },
+ "jmc": {
+ "name": "মাকামে"
+ },
+ "kde": {
+ "name": "মাকোন্দে"
+ },
+ "mgh": {
+ "name": "মাখুয়া-মেত্তো"
+ },
+ "mzn": {
+ "name": "মাজানদেরানি"
+ },
+ "mr": {
+ "name": "মারাঠি"
+ },
+ "ms": {
+ "name": "মালয়"
+ },
+ "mg": {
+ "name": "মালাগাসি"
+ },
+ "ml": {
+ "name": "মালায়ালাম"
+ },
+ "mas": {
+ "name": "মাসাই"
+ },
+ "mua": {
+ "name": "মুদাঙ্গ"
+ },
+ "mgo": {
+ "name": "মেটা"
+ },
+ "mer": {
+ "name": "মেরু"
+ },
+ "es-MX": {
+ "name": "ম্যাক্সিকান স্প্যানিশ"
+ },
+ "gv": {
+ "name": "ম্যাঙ্কস"
+ },
+ "mk": {
+ "name": "ম্যাসিডোনীয়"
+ },
+ "yav": {
+ "name": "য়াঙ্গবেন"
+ },
+ "yi": {
+ "name": "য়িদ্দিশ"
+ },
+ "rof": {
+ "name": "রম্বো"
+ },
+ "rwk": {
+ "name": "রাওয়া"
+ },
+ "rn": {
+ "name": "রুন্দি"
+ },
+ "ru": {
+ "name": "রুশ"
+ },
+ "ro": {
+ "name": "রোমানীয়"
+ },
+ "rm": {
+ "name": "রোমান্স"
+ },
+ "lo": {
+ "name": "লাও"
+ },
+ "lkt": {
+ "name": "লাকোটা"
+ },
+ "lag": {
+ "name": "লাঙ্গি"
+ },
+ "lv": {
+ "name": "লাত্‌ভীয়"
+ },
+ "ln": {
+ "name": "লিঙ্গালা"
+ },
+ "lt": {
+ "name": "লিথুয়েনীয়"
+ },
+ "luy": {
+ "name": "লুইয়া"
+ },
+ "lb": {
+ "name": "লুক্সেমবার্গীয়"
+ },
+ "lu": {
+ "name": "লুবা-কাটাঙ্গা"
+ },
+ "luo": {
+ "name": "লুয়ো"
+ },
+ "nds-NL": {
+ "name": "লো স্যাক্সন"
+ },
+ "sah": {
+ "name": "শাখা"
+ },
+ "ksb": {
+ "name": "শাম্বালা"
+ },
+ "sn": {
+ "name": "শোনা"
+ },
+ "zh-Hans": {
+ "name": "সরলীকৃত চীনা"
+ },
+ "sbp": {
+ "name": "সাঙ্গু"
+ },
+ "sg": {
+ "name": "সাঙ্গো"
+ },
+ "saq": {
+ "name": "সামবুরু"
+ },
+ "sr": {
+ "name": "সার্বীয়"
+ },
+ "si": {
+ "name": "সিংহলী"
+ },
+ "ii": {
+ "name": "সিচুয়ান য়ি"
+ },
+ "sv": {
+ "name": "সুইডিশ"
+ },
+ "gsw": {
+ "name": "সুইস জার্মান"
+ },
+ "fr-CH": {
+ "name": "সুইস ফরাসি"
+ },
+ "de-CH": {
+ "name": "সুইস হাই জার্মান"
+ },
+ "seh": {
+ "name": "সেনা"
+ },
+ "tzm": {
+ "name": "সেন্ট্রাল আটলাস তামাজিগাত"
+ },
+ "xog": {
+ "name": "সোগা"
+ },
+ "so": {
+ "name": "সোমালি"
+ },
+ "sw": {
+ "name": "সোয়াহিলি"
+ },
+ "gd": {
+ "name": "স্কটস-গ্যেলিক"
+ },
+ "es": {
+ "name": "স্প্যানিশ"
+ },
+ "sk": {
+ "name": "স্লোভাক"
+ },
+ "sl": {
+ "name": "স্লোভেনীয়"
+ },
+ "ha": {
+ "name": "হাউসা"
+ },
+ "haw": {
+ "name": "হাওয়াইয়ান"
+ },
+ "hu": {
+ "name": "হাঙ্গেরীয়"
+ },
+ "hi": {
+ "name": "হিন্দি"
+ },
+ "he": {
+ "name": "হিব্রু"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/br.json b/vendor/commerceguys/intl/resources/language/br.json
new file mode 100644
index 000000000..fec8dbe50
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/br.json
@@ -0,0 +1,635 @@
+{
+ "af": {
+ "name": "afrikaans"
+ },
+ "agq": {
+ "name": "aghem"
+ },
+ "ak": {
+ "name": "akan"
+ },
+ "de": {
+ "name": "alamaneg"
+ },
+ "de-AT": {
+ "name": "alamaneg Aostria"
+ },
+ "nds": {
+ "name": "alamaneg izel"
+ },
+ "gsw": {
+ "name": "alamaneg Suis"
+ },
+ "de-CH": {
+ "name": "alamaneg uhel Suis"
+ },
+ "sq": {
+ "name": "albaneg"
+ },
+ "am": {
+ "name": "amhareg"
+ },
+ "ar": {
+ "name": "arabeg"
+ },
+ "hy": {
+ "name": "armenianeg"
+ },
+ "as": {
+ "name": "asameg"
+ },
+ "ast": {
+ "name": "asturianeg"
+ },
+ "asa": {
+ "name": "asu"
+ },
+ "az": {
+ "name": "azerbaidjaneg"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "bambara"
+ },
+ "bas": {
+ "name": "basaa"
+ },
+ "be": {
+ "name": "belaruseg"
+ },
+ "bem": {
+ "name": "bemba"
+ },
+ "bez": {
+ "name": "bena"
+ },
+ "bn": {
+ "name": "bengali"
+ },
+ "my": {
+ "name": "birmaneg"
+ },
+ "brx": {
+ "name": "bodo"
+ },
+ "bs": {
+ "name": "bosneg"
+ },
+ "br": {
+ "name": "brezhoneg"
+ },
+ "bg": {
+ "name": "bulgareg"
+ },
+ "chr": {
+ "name": "cherokee"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "da": {
+ "name": "daneg"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "dz": {
+ "name": "dzongkha"
+ },
+ "ebu": {
+ "name": "embu"
+ },
+ "eo": {
+ "name": "esperanteg"
+ },
+ "et": {
+ "name": "estoneg"
+ },
+ "eu": {
+ "name": "euskareg"
+ },
+ "ee": {
+ "name": "ewe"
+ },
+ "ewo": {
+ "name": "ewondo"
+ },
+ "fo": {
+ "name": "faeroeg"
+ },
+ "fil": {
+ "name": "filipineg"
+ },
+ "fi": {
+ "name": "finneg"
+ },
+ "nl-BE": {
+ "name": "flandrezeg"
+ },
+ "fur": {
+ "name": "frioulaneg"
+ },
+ "fy": {
+ "name": "frizeg ar Cʼhornôg"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "gl": {
+ "name": "galizeg"
+ },
+ "fr": {
+ "name": "galleg"
+ },
+ "fr-CA": {
+ "name": "galleg Kanada"
+ },
+ "fr-CH": {
+ "name": "galleg Suis"
+ },
+ "lg": {
+ "name": "ganda"
+ },
+ "el": {
+ "name": "gresianeg"
+ },
+ "gu": {
+ "name": "gujarati"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "ha": {
+ "name": "haousa"
+ },
+ "haw": {
+ "name": "hawaieg"
+ },
+ "he": {
+ "name": "hebraeg"
+ },
+ "prg": {
+ "name": "henbruseg"
+ },
+ "hi": {
+ "name": "hindi"
+ },
+ "hu": {
+ "name": "hungareg"
+ },
+ "ig": {
+ "name": "igbo"
+ },
+ "id": {
+ "name": "indonezeg"
+ },
+ "is": {
+ "name": "islandeg"
+ },
+ "it": {
+ "name": "italianeg"
+ },
+ "ga": {
+ "name": "iwerzhoneg"
+ },
+ "dsb": {
+ "name": "izelsorabeg"
+ },
+ "ja": {
+ "name": "japaneg"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "ka": {
+ "name": "jorjianeg"
+ },
+ "kab": {
+ "name": "kabileg"
+ },
+ "kea": {
+ "name": "kabuverdianu"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kl": {
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "kamba"
+ },
+ "kn": {
+ "name": "kanareg"
+ },
+ "yue": {
+ "name": "kantoneg"
+ },
+ "ks": {
+ "name": "kashmiri"
+ },
+ "ca": {
+ "name": "katalaneg"
+ },
+ "kk": {
+ "name": "kazak"
+ },
+ "qu": {
+ "name": "kechuaeg"
+ },
+ "cy": {
+ "name": "kembraeg"
+ },
+ "kw": {
+ "name": "kerneveureg"
+ },
+ "km": {
+ "name": "khmer"
+ },
+ "ki": {
+ "name": "kikuyu"
+ },
+ "rw": {
+ "name": "kinyarwanda"
+ },
+ "ky": {
+ "name": "kirgiz"
+ },
+ "ksh": {
+ "name": "koluneg"
+ },
+ "kok": {
+ "name": "konkani"
+ },
+ "ko": {
+ "name": "koreaneg"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "hr": {
+ "name": "kroateg"
+ },
+ "ckb": {
+ "name": "kurdeg sorani"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "laoseg"
+ },
+ "lv": {
+ "name": "latvieg"
+ },
+ "ln": {
+ "name": "lingala"
+ },
+ "lt": {
+ "name": "lituaneg"
+ },
+ "lu": {
+ "name": "luba-katanga"
+ },
+ "lb": {
+ "name": "luksembourgeg"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "luy": {
+ "name": "luyia"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mk": {
+ "name": "makedoneg"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "ml": {
+ "name": "malayalam"
+ },
+ "ms": {
+ "name": "malayseg"
+ },
+ "mg": {
+ "name": "malgacheg"
+ },
+ "mt": {
+ "name": "malteg"
+ },
+ "gv": {
+ "name": "manaveg"
+ },
+ "mr": {
+ "name": "marathi"
+ },
+ "mas": {
+ "name": "masai"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "ro-MD": {
+ "name": "moldoveg"
+ },
+ "mn": {
+ "name": "mongoleg"
+ },
+ "mfe": {
+ "name": "moriseg"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nd": {
+ "name": "ndebele an Norzh"
+ },
+ "nl": {
+ "name": "nederlandeg"
+ },
+ "ne": {
+ "name": "nepaleg"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "nb": {
+ "name": "norvegeg bokmål"
+ },
+ "nn": {
+ "name": "norvegeg nynorsk"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "nyankole"
+ },
+ "or": {
+ "name": "oriya"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "os": {
+ "name": "oseteg"
+ },
+ "ug": {
+ "name": "ouigoureg"
+ },
+ "ur": {
+ "name": "ourdou"
+ },
+ "uz": {
+ "name": "ouzbekeg"
+ },
+ "ps": {
+ "name": "pachto"
+ },
+ "fa": {
+ "name": "perseg"
+ },
+ "pl": {
+ "name": "poloneg"
+ },
+ "pt": {
+ "name": "portugaleg"
+ },
+ "pt-PT": {
+ "name": "portugaleg Europa"
+ },
+ "pa": {
+ "name": "punjabi"
+ },
+ "rm": {
+ "name": "romañcheg"
+ },
+ "rof": {
+ "name": "rombo"
+ },
+ "ro": {
+ "name": "roumaneg"
+ },
+ "rn": {
+ "name": "rundi"
+ },
+ "ru": {
+ "name": "rusianeg"
+ },
+ "rwk": {
+ "name": "rwa"
+ },
+ "nds-NL": {
+ "name": "saksoneg izel"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "se": {
+ "name": "sámi an Norzh"
+ },
+ "smn": {
+ "name": "sámi Inari"
+ },
+ "sg": {
+ "name": "sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "en": {
+ "name": "saozneg"
+ },
+ "en-AU": {
+ "name": "saozneg Aostralia"
+ },
+ "en-GB": {
+ "name": "saozneg Breizh-Veur"
+ },
+ "en-CA": {
+ "name": "saozneg Kanada"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "sr": {
+ "name": "serbeg"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "shona"
+ },
+ "zh": {
+ "name": "sinaeg"
+ },
+ "zh-Hans": {
+ "name": "sinaeg eeunaet"
+ },
+ "zh-Hant": {
+ "name": "sinaeg hengounel"
+ },
+ "si": {
+ "name": "singhaleg"
+ },
+ "gd": {
+ "name": "skoseg"
+ },
+ "cu": {
+ "name": "slavoneg iliz"
+ },
+ "sk": {
+ "name": "slovakeg"
+ },
+ "sl": {
+ "name": "sloveneg"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "so": {
+ "name": "somali"
+ },
+ "es": {
+ "name": "spagnoleg"
+ },
+ "es-MX": {
+ "name": "spagnoleg Mecʼhiko"
+ },
+ "sv": {
+ "name": "svedeg"
+ },
+ "sw": {
+ "name": "swahili"
+ },
+ "sw-CD": {
+ "name": "swahili Kongo"
+ },
+ "shi": {
+ "name": "tacheliteg"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "zgh": {
+ "name": "tamacheg Maroko standart"
+ },
+ "tzm": {
+ "name": "tamazigteg Kreizatlas"
+ },
+ "ta": {
+ "name": "tamileg"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "cs": {
+ "name": "tchekeg"
+ },
+ "ce": {
+ "name": "tchetcheneg"
+ },
+ "te": {
+ "name": "telougou"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "th": {
+ "name": "thai"
+ },
+ "bo": {
+ "name": "tibetaneg"
+ },
+ "ti": {
+ "name": "tigrigna"
+ },
+ "to": {
+ "name": "tonga"
+ },
+ "tr": {
+ "name": "turkeg"
+ },
+ "tk": {
+ "name": "turkmeneg"
+ },
+ "hsb": {
+ "name": "uhelsorabeg"
+ },
+ "uk": {
+ "name": "ukraineg"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vi": {
+ "name": "vietnameg"
+ },
+ "vo": {
+ "name": "volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "walser"
+ },
+ "sah": {
+ "name": "yakouteg"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "yi": {
+ "name": "yiddish"
+ },
+ "ii": {
+ "name": "yieg Sichuan"
+ },
+ "yo": {
+ "name": "yorouba"
+ },
+ "dje": {
+ "name": "Zarma"
+ },
+ "zu": {
+ "name": "zouloueg"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/brx.json b/vendor/commerceguys/intl/resources/language/brx.json
new file mode 100644
index 000000000..f08cb751b
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/brx.json
@@ -0,0 +1,635 @@
+{
+ "agq": {
+ "name": "Aghem"
+ },
+ "ast": {
+ "name": "Asturian"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "yue": {
+ "name": "Cantonese"
+ },
+ "tzm": {
+ "name": "Central Atlas Tamazight"
+ },
+ "ckb": {
+ "name": "Central Kurdish"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "dje": {
+ "name": "Zarma"
+ },
+ "ak": {
+ "name": "अकन"
+ },
+ "en": {
+ "name": "अंग्रेज़ी"
+ },
+ "en-AU": {
+ "name": "अंग्रेज़ी (ऑस्ट्रेलिया का)"
+ },
+ "en-CA": {
+ "name": "अंग्रेज़ी (कनाडाई)"
+ },
+ "en-GB": {
+ "name": "अंग्रेजी (ब्रिटिश)"
+ },
+ "az": {
+ "name": "अज़रबैजानी"
+ },
+ "af": {
+ "name": "अफ्रीकी"
+ },
+ "am": {
+ "name": "अम्हारिक्"
+ },
+ "ar": {
+ "name": "अरबी"
+ },
+ "hy": {
+ "name": "अरमेनियन्"
+ },
+ "as": {
+ "name": "असामी"
+ },
+ "ga": {
+ "name": "आईरिश"
+ },
+ "is": {
+ "name": "आईस्लैंडिक्"
+ },
+ "sq": {
+ "name": "आल्बेनियन्"
+ },
+ "id": {
+ "name": "इन्डोनेशियन्"
+ },
+ "ig": {
+ "name": "ईग्बो"
+ },
+ "it": {
+ "name": "ईटालियन्"
+ },
+ "smn": {
+ "name": "ईनारी सामी"
+ },
+ "ug": {
+ "name": "उईग़ुर"
+ },
+ "de-CH": {
+ "name": "उच्च स्तरिय स्वीस जर्मन"
+ },
+ "uz": {
+ "name": "उज़बेक्"
+ },
+ "or": {
+ "name": "उड़िया"
+ },
+ "nd": {
+ "name": "उत्तर न्दबेले"
+ },
+ "se": {
+ "name": "उत्तरी सामी"
+ },
+ "hsb": {
+ "name": "ऊपरी सौर्बियन"
+ },
+ "ur": {
+ "name": "ऊर्दु"
+ },
+ "ee": {
+ "name": "एवे"
+ },
+ "ewo": {
+ "name": "एवौंडो"
+ },
+ "eo": {
+ "name": "एस्पेरान्तो"
+ },
+ "et": {
+ "name": "ऐस्टोनियन्"
+ },
+ "om": {
+ "name": "ओरोमो (अफ़ान)"
+ },
+ "os": {
+ "name": "ओस्सेटी"
+ },
+ "kk": {
+ "name": "क़ज़ाख़्"
+ },
+ "kn": {
+ "name": "कन्नड्"
+ },
+ "kam": {
+ "name": "कंबा"
+ },
+ "kl": {
+ "name": "कलालीसुत"
+ },
+ "ks": {
+ "name": "कश्मिरी"
+ },
+ "ca": {
+ "name": "कातालान्"
+ },
+ "kab": {
+ "name": "काबील्"
+ },
+ "ki": {
+ "name": "किकुयु"
+ },
+ "rw": {
+ "name": "किन्यारुआण्डा"
+ },
+ "ky": {
+ "name": "किरग़ीज़्"
+ },
+ "rn": {
+ "name": "किरून्दी"
+ },
+ "kok": {
+ "name": "कोंकणी"
+ },
+ "ko": {
+ "name": "कोरीयन्"
+ },
+ "kw": {
+ "name": "कौर्नवॉली"
+ },
+ "hr": {
+ "name": "क्रोएशन्"
+ },
+ "qu": {
+ "name": "क्वेचुआ"
+ },
+ "km": {
+ "name": "ख्मेर"
+ },
+ "lg": {
+ "name": "गांडा"
+ },
+ "gu": {
+ "name": "गुजराती"
+ },
+ "gl": {
+ "name": "गैलिशियन्"
+ },
+ "el": {
+ "name": "ग्रीक"
+ },
+ "cu": {
+ "name": "चर्च स्लाविक्"
+ },
+ "zh": {
+ "name": "चीनी"
+ },
+ "zh-Hant": {
+ "name": "चीनी (पारम्परिक)"
+ },
+ "zh-Hans": {
+ "name": "चीनी (सरलीकृत)"
+ },
+ "chr": {
+ "name": "चीरोकी"
+ },
+ "cs": {
+ "name": "चेक्"
+ },
+ "ce": {
+ "name": "चेचेन्"
+ },
+ "de": {
+ "name": "ज़र्मन"
+ },
+ "de-AT": {
+ "name": "जर्मन (ऑस्ट्रिया)"
+ },
+ "ja": {
+ "name": "जापानी"
+ },
+ "zu": {
+ "name": "ज़ुलू"
+ },
+ "ka": {
+ "name": "जॉर्जियन्"
+ },
+ "to": {
+ "name": "टॉंगा"
+ },
+ "nl": {
+ "name": "डच्"
+ },
+ "dua": {
+ "name": "डुआला"
+ },
+ "da": {
+ "name": "डैनीश्"
+ },
+ "ta": {
+ "name": "तमिळ"
+ },
+ "ti": {
+ "name": "तिग्रीन्या"
+ },
+ "bo": {
+ "name": "तिब्बती"
+ },
+ "tk": {
+ "name": "तुर्कमेन"
+ },
+ "tr": {
+ "name": "तुर्की"
+ },
+ "te": {
+ "name": "तेलुगु"
+ },
+ "th": {
+ "name": "थाई"
+ },
+ "nds": {
+ "name": "नीजी स्तरिय जर्मन"
+ },
+ "nds-NL": {
+ "name": "नीजी स्तरिय जर्मन (नेदरलैण्ड)"
+ },
+ "ne": {
+ "name": "नेपाली"
+ },
+ "nn": {
+ "name": "नॉर्वेजियन् नीनॉर्स्क्"
+ },
+ "nb": {
+ "name": "नोर्वेगी बोकमाल"
+ },
+ "nyn": {
+ "name": "न्यानकोले"
+ },
+ "ps": {
+ "name": "पख़्तु"
+ },
+ "pa": {
+ "name": "पंजाबी"
+ },
+ "fy": {
+ "name": "पश्चीमी फ्रीज़ियन्"
+ },
+ "pt": {
+ "name": "पुर्तगाली"
+ },
+ "pt-PT": {
+ "name": "पुर्तगाली (पुर्तगाल)"
+ },
+ "pl": {
+ "name": "पोलिश"
+ },
+ "fa": {
+ "name": "फार्सी"
+ },
+ "fi": {
+ "name": "फिनिश्"
+ },
+ "fo": {
+ "name": "फिरोज़ी"
+ },
+ "fil": {
+ "name": "फिलिपिनो"
+ },
+ "ff": {
+ "name": "फुलाह्"
+ },
+ "fr": {
+ "name": "फ्रांसीसी"
+ },
+ "fr-CA": {
+ "name": "फ्रांसीसी (कनाडाई)"
+ },
+ "fr-CH": {
+ "name": "फ्रांसीसी (स्वीस)"
+ },
+ "fur": {
+ "name": "फ्रीउलीअन्"
+ },
+ "nl-BE": {
+ "name": "फ्लेमी"
+ },
+ "bn": {
+ "name": "बंगला"
+ },
+ "brx": {
+ "name": "बड़ो"
+ },
+ "my": {
+ "name": "बर्मी"
+ },
+ "bg": {
+ "name": "बल्गैरियन्"
+ },
+ "bm": {
+ "name": "बांबारा"
+ },
+ "eu": {
+ "name": "बास्क्"
+ },
+ "bas": {
+ "name": "बास्क़्"
+ },
+ "bem": {
+ "name": "बेंबा"
+ },
+ "be": {
+ "name": "बैलोरूसियन्"
+ },
+ "bs": {
+ "name": "बोस्नियाई"
+ },
+ "br": {
+ "name": "ब्रटों"
+ },
+ "dz": {
+ "name": "भुटानी"
+ },
+ "mr": {
+ "name": "मराठी"
+ },
+ "ml": {
+ "name": "मलयालम"
+ },
+ "ms": {
+ "name": "मलाय"
+ },
+ "mas": {
+ "name": "मसाई"
+ },
+ "mt": {
+ "name": "मालटीज़्"
+ },
+ "mg": {
+ "name": "मालागासी"
+ },
+ "gv": {
+ "name": "मैंक्स"
+ },
+ "mk": {
+ "name": "मैसेडोनियन्"
+ },
+ "mn": {
+ "name": "मोंगोलियन"
+ },
+ "ro-MD": {
+ "name": "मोल्डेवियन्"
+ },
+ "sah": {
+ "name": "यकुट्"
+ },
+ "yi": {
+ "name": "यीद्दीश"
+ },
+ "uk": {
+ "name": "यूक्रेनियन्"
+ },
+ "yo": {
+ "name": "योरूबा"
+ },
+ "ru": {
+ "name": "रुसी"
+ },
+ "ro": {
+ "name": "रूमानीयन्"
+ },
+ "rm": {
+ "name": "रेह्टो-रोमान्स"
+ },
+ "lo": {
+ "name": "लाओसीयन्"
+ },
+ "lv": {
+ "name": "लाटवियन् (लैट्टीश)"
+ },
+ "ln": {
+ "name": "लिंगाला"
+ },
+ "lt": {
+ "name": "लिथुआनियन्"
+ },
+ "luo": {
+ "name": "लुओ"
+ },
+ "lb": {
+ "name": "लुक्समबुर्गी"
+ },
+ "lu": {
+ "name": "लुबा कटांगा"
+ },
+ "vai": {
+ "name": "वाई"
+ },
+ "vi": {
+ "name": "वियेतनामी"
+ },
+ "cy": {
+ "name": "वैल्श्"
+ },
+ "vo": {
+ "name": "वोलापोक"
+ },
+ "sn": {
+ "name": "शोना"
+ },
+ "sr": {
+ "name": "सर्बियन्"
+ },
+ "sg": {
+ "name": "सांग्रो"
+ },
+ "ii": {
+ "name": "सीचुआन् यी"
+ },
+ "si": {
+ "name": "सींहाला"
+ },
+ "so": {
+ "name": "सोमाली"
+ },
+ "dsb": {
+ "name": "सोर्बियन्"
+ },
+ "gd": {
+ "name": "स्कॉट्स् गैलिक्"
+ },
+ "es": {
+ "name": "स्पैनिश"
+ },
+ "es-MX": {
+ "name": "स्पैनिश (मैक्सिको)"
+ },
+ "sk": {
+ "name": "स्लोवाक्"
+ },
+ "sl": {
+ "name": "स्लोवेनियन्"
+ },
+ "sw": {
+ "name": "स्वाहिली"
+ },
+ "sw-CD": {
+ "name": "स्वाहिली (कॉंगो किनशासा)"
+ },
+ "sv": {
+ "name": "स्वीडिश"
+ },
+ "gsw": {
+ "name": "स्वीस जर्मन"
+ },
+ "ha": {
+ "name": "हउसा"
+ },
+ "hu": {
+ "name": "हंगैरीयन्"
+ },
+ "haw": {
+ "name": "हवाईअन"
+ },
+ "hi": {
+ "name": "हिंदी"
+ },
+ "he": {
+ "name": "हिब्रु"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/bs-Cyrl.json b/vendor/commerceguys/intl/resources/language/bs-Cyrl.json
new file mode 100644
index 000000000..12d2388cf
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/bs-Cyrl.json
@@ -0,0 +1,635 @@
+{
+ "az": {
+ "name": "азербејџански"
+ },
+ "ak": {
+ "name": "акан"
+ },
+ "sq": {
+ "name": "албански"
+ },
+ "am": {
+ "name": "амхарски"
+ },
+ "ar": {
+ "name": "арапски"
+ },
+ "as": {
+ "name": "асемијски"
+ },
+ "ast": {
+ "name": "астуријски"
+ },
+ "en-AU": {
+ "name": "Аустралијски енглески"
+ },
+ "de-AT": {
+ "name": "Аустријски немачки"
+ },
+ "af": {
+ "name": "африканерски"
+ },
+ "bm": {
+ "name": "бамбара"
+ },
+ "bas": {
+ "name": "баса"
+ },
+ "eu": {
+ "name": "баскијски"
+ },
+ "be": {
+ "name": "белоруски"
+ },
+ "bem": {
+ "name": "бемба"
+ },
+ "bn": {
+ "name": "бенгласки"
+ },
+ "bs": {
+ "name": "босански"
+ },
+ "br": {
+ "name": "бретонски"
+ },
+ "en-GB": {
+ "name": "Британски енглески"
+ },
+ "bg": {
+ "name": "бугарски"
+ },
+ "my": {
+ "name": "бурмански"
+ },
+ "vai": {
+ "name": "ваи"
+ },
+ "cy": {
+ "name": "велшки"
+ },
+ "vi": {
+ "name": "вијетнамски"
+ },
+ "vo": {
+ "name": "волапук"
+ },
+ "gl": {
+ "name": "галски"
+ },
+ "lg": {
+ "name": "ганда"
+ },
+ "hsb": {
+ "name": "горњи сорбијски"
+ },
+ "ka": {
+ "name": "грузијски"
+ },
+ "el": {
+ "name": "грчки"
+ },
+ "gu": {
+ "name": "гуџарати"
+ },
+ "da": {
+ "name": "дански"
+ },
+ "dua": {
+ "name": "дуала"
+ },
+ "ee": {
+ "name": "еве"
+ },
+ "ewo": {
+ "name": "евондо"
+ },
+ "en": {
+ "name": "енглески"
+ },
+ "eo": {
+ "name": "есперанто"
+ },
+ "et": {
+ "name": "естонски"
+ },
+ "zu": {
+ "name": "зулу"
+ },
+ "pt-PT": {
+ "name": "Иберијски португалски"
+ },
+ "ig": {
+ "name": "игбо"
+ },
+ "smn": {
+ "name": "инари сами"
+ },
+ "id": {
+ "name": "индонежански"
+ },
+ "ga": {
+ "name": "ирски"
+ },
+ "is": {
+ "name": "исландски"
+ },
+ "it": {
+ "name": "италијански"
+ },
+ "sah": {
+ "name": "јакут"
+ },
+ "ja": {
+ "name": "јапански"
+ },
+ "hy": {
+ "name": "јерменски"
+ },
+ "yi": {
+ "name": "јидиш"
+ },
+ "yo": {
+ "name": "јоруба"
+ },
+ "kab": {
+ "name": "кабиле"
+ },
+ "kl": {
+ "name": "калалисут"
+ },
+ "kam": {
+ "name": "камба"
+ },
+ "kn": {
+ "name": "канада"
+ },
+ "en-CA": {
+ "name": "Канадски енглески"
+ },
+ "fr-CA": {
+ "name": "Канадски француски"
+ },
+ "yue": {
+ "name": "кантонски"
+ },
+ "ca": {
+ "name": "каталонски"
+ },
+ "ks": {
+ "name": "кашмирски"
+ },
+ "qu": {
+ "name": "квенча"
+ },
+ "ki": {
+ "name": "кикују"
+ },
+ "zh": {
+ "name": "кинески"
+ },
+ "zh-Hans": {
+ "name": "кинески (поједностављен)"
+ },
+ "zh-Hant": {
+ "name": "кинески (традиционални)"
+ },
+ "rw": {
+ "name": "кинјаруанда"
+ },
+ "ky": {
+ "name": "киргиски"
+ },
+ "km": {
+ "name": "кмерски"
+ },
+ "kk": {
+ "name": "козачки"
+ },
+ "kok": {
+ "name": "конкани"
+ },
+ "ko": {
+ "name": "корејски"
+ },
+ "kw": {
+ "name": "корнишки"
+ },
+ "lo": {
+ "name": "лаоски"
+ },
+ "lv": {
+ "name": "летонски"
+ },
+ "ln": {
+ "name": "лингала"
+ },
+ "lt": {
+ "name": "литвански"
+ },
+ "lu": {
+ "name": "луба-катанга"
+ },
+ "lb": {
+ "name": "луксембуршки"
+ },
+ "luo": {
+ "name": "луо"
+ },
+ "hu": {
+ "name": "мађарски"
+ },
+ "mk": {
+ "name": "македонски"
+ },
+ "mg": {
+ "name": "малагасијски"
+ },
+ "ml": {
+ "name": "малајалам"
+ },
+ "ms": {
+ "name": "малајски"
+ },
+ "gv": {
+ "name": "манкс"
+ },
+ "mr": {
+ "name": "марати"
+ },
+ "mas": {
+ "name": "масаи"
+ },
+ "mt": {
+ "name": "мелтешки"
+ },
+ "ro-MD": {
+ "name": "молдавски"
+ },
+ "mn": {
+ "name": "монголски"
+ },
+ "de": {
+ "name": "немачки"
+ },
+ "ne": {
+ "name": "непалски"
+ },
+ "nds": {
+ "name": "ниски немачки"
+ },
+ "nds-NL": {
+ "name": "ниски немачки (Холандија)"
+ },
+ "dsb": {
+ "name": "ниски сорбијански"
+ },
+ "nb": {
+ "name": "норвешки бокмал"
+ },
+ "nn": {
+ "name": "норвешки њорск"
+ },
+ "nyn": {
+ "name": "њанколе"
+ },
+ "or": {
+ "name": "оријски"
+ },
+ "om": {
+ "name": "оромо"
+ },
+ "os": {
+ "name": "осетски"
+ },
+ "pa": {
+ "name": "панџабски"
+ },
+ "ps": {
+ "name": "паштунски"
+ },
+ "fa": {
+ "name": "персијски"
+ },
+ "pl": {
+ "name": "пољски"
+ },
+ "pt": {
+ "name": "португалски"
+ },
+ "rm": {
+ "name": "рето-романски"
+ },
+ "ro": {
+ "name": "румунски"
+ },
+ "rn": {
+ "name": "рунди"
+ },
+ "ru": {
+ "name": "руски"
+ },
+ "sg": {
+ "name": "санго"
+ },
+ "sw": {
+ "name": "свахили"
+ },
+ "sw-CD": {
+ "name": "свахили (Конго - Киншаса)"
+ },
+ "nd": {
+ "name": "северни ндебеле"
+ },
+ "se": {
+ "name": "северни сами"
+ },
+ "si": {
+ "name": "сингалески"
+ },
+ "ii": {
+ "name": "сичуан ји"
+ },
+ "sk": {
+ "name": "словачки"
+ },
+ "sl": {
+ "name": "словеначки"
+ },
+ "so": {
+ "name": "сомалски"
+ },
+ "sr": {
+ "name": "српски"
+ },
+ "cu": {
+ "name": "старословенски"
+ },
+ "fil": {
+ "name": "тагалог"
+ },
+ "th": {
+ "name": "тајландски"
+ },
+ "ta": {
+ "name": "тамилски"
+ },
+ "te": {
+ "name": "телугу"
+ },
+ "bo": {
+ "name": "тибетански"
+ },
+ "ti": {
+ "name": "тигриња"
+ },
+ "to": {
+ "name": "тонга"
+ },
+ "tk": {
+ "name": "туркменски"
+ },
+ "tr": {
+ "name": "турски"
+ },
+ "uz": {
+ "name": "узбечки"
+ },
+ "ug": {
+ "name": "ујгурски"
+ },
+ "uk": {
+ "name": "украјински"
+ },
+ "ur": {
+ "name": "урду"
+ },
+ "fo": {
+ "name": "фарски"
+ },
+ "fi": {
+ "name": "фински"
+ },
+ "nl-BE": {
+ "name": "фламански"
+ },
+ "fr": {
+ "name": "француски"
+ },
+ "fy": {
+ "name": "фризијски"
+ },
+ "fur": {
+ "name": "фриулијски"
+ },
+ "ff": {
+ "name": "фулах"
+ },
+ "haw": {
+ "name": "хавајски"
+ },
+ "ha": {
+ "name": "хауса"
+ },
+ "he": {
+ "name": "хебрејски"
+ },
+ "hi": {
+ "name": "хинди"
+ },
+ "nl": {
+ "name": "холандски"
+ },
+ "hr": {
+ "name": "хрватски"
+ },
+ "chr": {
+ "name": "чероки"
+ },
+ "ce": {
+ "name": "чеченски"
+ },
+ "cs": {
+ "name": "чешки"
+ },
+ "dz": {
+ "name": "џонга"
+ },
+ "de-CH": {
+ "name": "Швајцарски високи немачки"
+ },
+ "gsw": {
+ "name": "швајцарски немачки"
+ },
+ "fr-CH": {
+ "name": "Швајцарски француски"
+ },
+ "sv": {
+ "name": "шведски"
+ },
+ "gd": {
+ "name": "шкотски галски"
+ },
+ "sn": {
+ "name": "шона"
+ },
+ "es": {
+ "name": "шпански"
+ },
+ "es-MX": {
+ "name": "шпански (Мексико)"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "tzm": {
+ "name": "Central Atlas Tamazight"
+ },
+ "ckb": {
+ "name": "Central Kurdish"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "dje": {
+ "name": "Zarma"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/bs.json b/vendor/commerceguys/intl/resources/language/bs.json
new file mode 100644
index 000000000..bc64a7e6a
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/bs.json
@@ -0,0 +1,635 @@
+{
+ "af": {
+ "name": "afrikans"
+ },
+ "agq": {
+ "name": "aghem"
+ },
+ "ak": {
+ "name": "akan"
+ },
+ "sq": {
+ "name": "albanski"
+ },
+ "am": {
+ "name": "amharski"
+ },
+ "ar": {
+ "name": "arapski"
+ },
+ "hy": {
+ "name": "armenski"
+ },
+ "as": {
+ "name": "asamski"
+ },
+ "ast": {
+ "name": "asturijski"
+ },
+ "asa": {
+ "name": "asu"
+ },
+ "az": {
+ "name": "azerbejdžanski"
+ },
+ "ksf": {
+ "name": "bafia"
+ },
+ "bm": {
+ "name": "bambara"
+ },
+ "bas": {
+ "name": "basa"
+ },
+ "eu": {
+ "name": "baskijski"
+ },
+ "bem": {
+ "name": "bemba"
+ },
+ "bez": {
+ "name": "bena"
+ },
+ "bn": {
+ "name": "bengalski"
+ },
+ "be": {
+ "name": "bjeloruski"
+ },
+ "brx": {
+ "name": "bodo"
+ },
+ "bs": {
+ "name": "bosanski"
+ },
+ "br": {
+ "name": "bretonski"
+ },
+ "bg": {
+ "name": "bugarski"
+ },
+ "my": {
+ "name": "burmanski"
+ },
+ "tzm": {
+ "name": "centralnoatlaski tamazigt"
+ },
+ "ckb": {
+ "name": "centralnokurdski"
+ },
+ "ce": {
+ "name": "čečenski"
+ },
+ "cs": {
+ "name": "češki"
+ },
+ "cgg": {
+ "name": "čiga"
+ },
+ "chr": {
+ "name": "čiroki"
+ },
+ "da": {
+ "name": "danski"
+ },
+ "dsb": {
+ "name": "donjolužičkosrpski"
+ },
+ "nds": {
+ "name": "donjonjemački"
+ },
+ "nds-NL": {
+ "name": "donjosaksonski"
+ },
+ "dua": {
+ "name": "duala"
+ },
+ "dz": {
+ "name": "džonga"
+ },
+ "ebu": {
+ "name": "embu"
+ },
+ "en": {
+ "name": "engleski"
+ },
+ "en-AU": {
+ "name": "engleski (Australija)"
+ },
+ "en-CA": {
+ "name": "engleski (Kanada)"
+ },
+ "en-GB": {
+ "name": "engleski (Velika Britanija)"
+ },
+ "eo": {
+ "name": "esperanto"
+ },
+ "et": {
+ "name": "estonski"
+ },
+ "ee": {
+ "name": "eve"
+ },
+ "ewo": {
+ "name": "evondo"
+ },
+ "fo": {
+ "name": "farski"
+ },
+ "fil": {
+ "name": "filipino"
+ },
+ "fi": {
+ "name": "finski"
+ },
+ "nl-BE": {
+ "name": "flamanski"
+ },
+ "fr": {
+ "name": "francuski"
+ },
+ "fr-CA": {
+ "name": "francuski (Kanada)"
+ },
+ "fr-CH": {
+ "name": "francuski (Švicarska)"
+ },
+ "fur": {
+ "name": "friulijski"
+ },
+ "ff": {
+ "name": "fulah"
+ },
+ "gl": {
+ "name": "galicijski"
+ },
+ "lg": {
+ "name": "ganda"
+ },
+ "hsb": {
+ "name": "gornjolužičkosrpski"
+ },
+ "de-CH": {
+ "name": "gornjonjemački (Švicarska)"
+ },
+ "el": {
+ "name": "grčki"
+ },
+ "ka": {
+ "name": "gruzijski"
+ },
+ "gu": {
+ "name": "gudžarati"
+ },
+ "guz": {
+ "name": "gusi"
+ },
+ "ha": {
+ "name": "hausa"
+ },
+ "haw": {
+ "name": "havajski"
+ },
+ "he": {
+ "name": "hebrejski"
+ },
+ "hi": {
+ "name": "hindu"
+ },
+ "nl": {
+ "name": "holandski"
+ },
+ "hr": {
+ "name": "hrvatski"
+ },
+ "ig": {
+ "name": "igbo"
+ },
+ "smn": {
+ "name": "inari sami"
+ },
+ "id": {
+ "name": "indonezijski"
+ },
+ "ga": {
+ "name": "irski"
+ },
+ "is": {
+ "name": "islandski"
+ },
+ "sah": {
+ "name": "jakutski"
+ },
+ "yav": {
+ "name": "jangben"
+ },
+ "ja": {
+ "name": "japanski"
+ },
+ "yi": {
+ "name": "jidiš"
+ },
+ "dyo": {
+ "name": "jola-foni"
+ },
+ "yo": {
+ "name": "jorubanski"
+ },
+ "kab": {
+ "name": "kabile"
+ },
+ "kkj": {
+ "name": "kako"
+ },
+ "kl": {
+ "name": "kalalisutski"
+ },
+ "kln": {
+ "name": "kalenjin"
+ },
+ "kam": {
+ "name": "kamba"
+ },
+ "kn": {
+ "name": "kanada"
+ },
+ "yue": {
+ "name": "kantonski"
+ },
+ "ks": {
+ "name": "kašmirski"
+ },
+ "ca": {
+ "name": "katalonski"
+ },
+ "kk": {
+ "name": "kazački"
+ },
+ "qu": {
+ "name": "kečua"
+ },
+ "ksh": {
+ "name": "kelnski"
+ },
+ "ki": {
+ "name": "kikuju"
+ },
+ "zh": {
+ "name": "kineski"
+ },
+ "zh-Hans": {
+ "name": "kineski (pojednostavljeni)"
+ },
+ "zh-Hant": {
+ "name": "kineski (tradicionalni)"
+ },
+ "rw": {
+ "name": "kinjarvanda"
+ },
+ "ky": {
+ "name": "kirgiški"
+ },
+ "km": {
+ "name": "kmerski"
+ },
+ "khq": {
+ "name": "kojra čini"
+ },
+ "ses": {
+ "name": "kojraboro seni"
+ },
+ "kok": {
+ "name": "konkani"
+ },
+ "ko": {
+ "name": "korejski"
+ },
+ "kw": {
+ "name": "kornski"
+ },
+ "nmg": {
+ "name": "kvasio"
+ },
+ "lkt": {
+ "name": "lakota"
+ },
+ "lag": {
+ "name": "langi"
+ },
+ "lo": {
+ "name": "laoški"
+ },
+ "lv": {
+ "name": "latvijski"
+ },
+ "ln": {
+ "name": "lingala"
+ },
+ "lt": {
+ "name": "litvanski"
+ },
+ "lu": {
+ "name": "luba-katanga"
+ },
+ "luy": {
+ "name": "luhija"
+ },
+ "lb": {
+ "name": "luksemburški"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "hu": {
+ "name": "mađarski"
+ },
+ "jmc": {
+ "name": "makame"
+ },
+ "mk": {
+ "name": "makedonski"
+ },
+ "kde": {
+ "name": "makonde"
+ },
+ "mgh": {
+ "name": "makuva-meto"
+ },
+ "mg": {
+ "name": "malagaški"
+ },
+ "ml": {
+ "name": "malajalam"
+ },
+ "ms": {
+ "name": "malajski"
+ },
+ "mt": {
+ "name": "malteški"
+ },
+ "gv": {
+ "name": "manks"
+ },
+ "mr": {
+ "name": "marati"
+ },
+ "mas": {
+ "name": "masai"
+ },
+ "mfe": {
+ "name": "mauricijski kreolski"
+ },
+ "mzn": {
+ "name": "mazanderanski"
+ },
+ "mer": {
+ "name": "meru"
+ },
+ "mgo": {
+ "name": "meta"
+ },
+ "ro-MD": {
+ "name": "moldavski"
+ },
+ "mn": {
+ "name": "mongolski"
+ },
+ "mua": {
+ "name": "mundang"
+ },
+ "naq": {
+ "name": "nama"
+ },
+ "ne": {
+ "name": "nepalski"
+ },
+ "nnh": {
+ "name": "ngiembon"
+ },
+ "jgo": {
+ "name": "ngomba"
+ },
+ "nb": {
+ "name": "norveški (Bokmal)"
+ },
+ "nn": {
+ "name": "norveški (Nynorsk)"
+ },
+ "nus": {
+ "name": "nuer"
+ },
+ "nyn": {
+ "name": "njankole"
+ },
+ "de": {
+ "name": "njemački"
+ },
+ "de-AT": {
+ "name": "njemački (Austrija)"
+ },
+ "gsw": {
+ "name": "njemački (Švicarska)"
+ },
+ "or": {
+ "name": "orijski"
+ },
+ "om": {
+ "name": "oromo"
+ },
+ "os": {
+ "name": "osetski"
+ },
+ "pa": {
+ "name": "pandžapski"
+ },
+ "ps": {
+ "name": "paštu"
+ },
+ "fa": {
+ "name": "perzijski"
+ },
+ "pl": {
+ "name": "poljski"
+ },
+ "pt": {
+ "name": "portugalski"
+ },
+ "pt-PT": {
+ "name": "portugalski (Portugal)"
+ },
+ "prg": {
+ "name": "pruski"
+ },
+ "rm": {
+ "name": "reto-romanski"
+ },
+ "rof": {
+ "name": "rombo"
+ },
+ "rwk": {
+ "name": "rua"
+ },
+ "ro": {
+ "name": "rumunski"
+ },
+ "rn": {
+ "name": "rundi"
+ },
+ "ru": {
+ "name": "ruski"
+ },
+ "saq": {
+ "name": "samburu"
+ },
+ "sg": {
+ "name": "sango"
+ },
+ "sbp": {
+ "name": "sangu"
+ },
+ "seh": {
+ "name": "sena"
+ },
+ "ii": {
+ "name": "sičuan ji"
+ },
+ "si": {
+ "name": "sinhaleški"
+ },
+ "lrc": {
+ "name": "sjeverni luri"
+ },
+ "nd": {
+ "name": "sjeverni ndebele"
+ },
+ "se": {
+ "name": "sjeverni sami"
+ },
+ "sk": {
+ "name": "slovački"
+ },
+ "sl": {
+ "name": "slovenski"
+ },
+ "xog": {
+ "name": "soga"
+ },
+ "so": {
+ "name": "somalski"
+ },
+ "sr": {
+ "name": "srpski"
+ },
+ "zgh": {
+ "name": "standardni marokanski tamazigt"
+ },
+ "cu": {
+ "name": "staroslavenski"
+ },
+ "sw": {
+ "name": "svahili"
+ },
+ "sw-CD": {
+ "name": "svahili (Demokratska Republika Kongo)"
+ },
+ "ksb": {
+ "name": "šambala"
+ },
+ "gd": {
+ "name": "škotski galski"
+ },
+ "sn": {
+ "name": "šona"
+ },
+ "es": {
+ "name": "španski"
+ },
+ "es-MX": {
+ "name": "španski (Meksiko)"
+ },
+ "sv": {
+ "name": "švedski"
+ },
+ "shi": {
+ "name": "tahelhit"
+ },
+ "dav": {
+ "name": "taita"
+ },
+ "th": {
+ "name": "tajlandski"
+ },
+ "it": {
+ "name": "talijanski"
+ },
+ "ta": {
+ "name": "tamilski"
+ },
+ "twq": {
+ "name": "tasavak"
+ },
+ "te": {
+ "name": "telugu"
+ },
+ "teo": {
+ "name": "teso"
+ },
+ "bo": {
+ "name": "tibetanski"
+ },
+ "ti": {
+ "name": "tigrinja"
+ },
+ "to": {
+ "name": "tonganski"
+ },
+ "tk": {
+ "name": "turkmenski"
+ },
+ "tr": {
+ "name": "turski"
+ },
+ "ug": {
+ "name": "ujgurski"
+ },
+ "uk": {
+ "name": "ukrajinski"
+ },
+ "ur": {
+ "name": "urdu"
+ },
+ "uz": {
+ "name": "uzbečki"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "wae": {
+ "name": "valser"
+ },
+ "cy": {
+ "name": "velški"
+ },
+ "vi": {
+ "name": "vijetnamski"
+ },
+ "vo": {
+ "name": "volapuk"
+ },
+ "vun": {
+ "name": "vunjo"
+ },
+ "fy": {
+ "name": "zapadni frizijski"
+ },
+ "dje": {
+ "name": "zarma"
+ },
+ "kea": {
+ "name": "zelenortski"
+ },
+ "zu": {
+ "name": "zulu"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/ca.json b/vendor/commerceguys/intl/resources/language/ca.json
new file mode 100644
index 000000000..1e14fb5b4
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/ca.json
@@ -0,0 +1,635 @@
+{
+ "af": {
+ "name": "afrikaans"
+ },
+ "agq": {
+ "name": "aghem"
+ },
+ "ak": {
+ "name": "àkan"
+ },
+ "sq": {
+ "name": "albanès"
+ },
+ "de": {
+ "name": "alemany"
+ },
+ "de-AT": {
+ "name": "alemany austríac"
+ },
+ "gsw": {
+ "name": "alemany suís"
+ },
+ "de-CH": {
+ "name": "alt alemany suís"
+ },
+ "hsb": {
+ "name": "alt sòrab"
+ },
+ "tzm": {
+ "name": "amazic del Marroc central"
+ },
+ "zgh": {
+ "name": "amazic estàndard marroquí"
+ },
+ "am": {
+ "name": "amhàric"
+ },
+ "en": {
+ "name": "anglès"
+ },
+ "en-AU": {
+ "name": "anglès australià"
+ },
+ "en-GB": {
+ "name": "anglès britànic"
+ },
+ "en-CA": {
+ "name": "anglès canadenc"
+ },
+ "ar": {
+ "name": "àrab"
+ },
+ "hy": {
+ "name": "armeni"
+ },
+ "as": {
+ "name": "assamès"
+ },
+ "ast": {
+ "name": "asturià"
+ },
+ "az": {
+ "name": "azerbaidjanès"
+ },
+ "ksf": {
+ "name": "bafia"
+ },
+ "nds": {
+ "name": "baix alemany"
+ },
+ "nds-NL": {
+ "name": "baix saxó"
+ },
+ "dsb": {
+ "name": "baix sòrab"
+ },
+ "bm": {
+ "name": "bambara"
+ },
+ "bas": {
+ "name": "basa"
+ },
+ "eu": {
+ "name": "basc"
+ },
+ "bem": {
+ "name": "bemba"
+ },
+ "bez": {
+ "name": "bena"
+ },
+ "bn": {
+ "name": "bengalí"
+ },
+ "be": {
+ "name": "bielorús"
+ },
+ "my": {
+ "name": "birmà"
+ },
+ "nmg": {
+ "name": "bissio"
+ },
+ "brx": {
+ "name": "bodo"
+ },
+ "bs": {
+ "name": "bosnià"
+ },
+ "br": {
+ "name": "bretó"
+ },
+ "bg": {
+ "name": "búlgar"
+ },
+ "kab": {
+ "name": "cabilenc"
+ },
+ "ks": {
+ "name": "caixmiri"
+ },
+ "yue": {
+ "name": "cantonès"
+ },
+ "ca": {
+ "name": "català"
+ },
+ "chr": {
+ "name": "cherokee"
+ },
+ "cgg": {
+ "name": "chiga"
+ },
+ "ksh": {
+ "name": "colognian"
+ },
+ "kok": {
+ "name": "concani"
+ },
+ "ko": {
+ "name": "coreà"
+ },
+ "kw": {
+ "name": "còrnic"
+ },
+ "kea": {
+ "name": "crioll capverdià"
+ },
+ "hr": {
+ "name": "croat"
+ },
+ "da": {
+ "name": "danès"
+ },
+ "dyo": {
+ "name": "diola"
+ },
+ "dua": {
+ "name": "douala"
+ },
+ "dz": {
+ "name": "dzongka"
+ },
+ "ebu": {
+ "name": "embu"
+ },
+ "cu": {
+ "name": "eslau eclesiàstic"
+ },
+ "sk": {
+ "name": "eslovac"
+ },
+ "sl": {
+ "name": "eslovè"
+ },
+ "es": {
+ "name": "espanyol"
+ },
+ "es-MX": {
+ "name": "espanyol de Mèxic"
+ },
+ "eo": {
+ "name": "esperanto"
+ },
+ "et": {
+ "name": "estonià"
+ },
+ "ee": {
+ "name": "ewe"
+ },
+ "ewo": {
+ "name": "ewondo"
+ },
+ "fo": {
+ "name": "feroès"
+ },
+ "fil": {
+ "name": "filipí"
+ },
+ "fi": {
+ "name": "finès"
+ },
+ "nl-BE": {
+ "name": "flamenc"
+ },
+ "fr": {
+ "name": "francès"
+ },
+ "fr-CA": {
+ "name": "francès canadenc"
+ },
+ "fr-CH": {
+ "name": "francès suís"
+ },
+ "fy": {
+ "name": "frisó occidental"
+ },
+ "fur": {
+ "name": "friülà"
+ },
+ "ff": {
+ "name": "ful"
+ },
+ "gd": {
+ "name": "gaèlic escocès"
+ },
+ "gl": {
+ "name": "gallec"
+ },
+ "cy": {
+ "name": "gal·lès"
+ },
+ "lg": {
+ "name": "ganda"
+ },
+ "ka": {
+ "name": "georgià"
+ },
+ "el": {
+ "name": "grec"
+ },
+ "kl": {
+ "name": "grenlandès"
+ },
+ "gu": {
+ "name": "gujarati"
+ },
+ "guz": {
+ "name": "gusí"
+ },
+ "ha": {
+ "name": "haussa"
+ },
+ "haw": {
+ "name": "hawaià"
+ },
+ "he": {
+ "name": "hebreu"
+ },
+ "hi": {
+ "name": "hindi"
+ },
+ "hu": {
+ "name": "hongarès"
+ },
+ "sah": {
+ "name": "iacut"
+ },
+ "ig": {
+ "name": "igbo"
+ },
+ "id": {
+ "name": "indonesi"
+ },
+ "yo": {
+ "name": "ioruba"
+ },
+ "ga": {
+ "name": "irlandès"
+ },
+ "is": {
+ "name": "islandès"
+ },
+ "it": {
+ "name": "italià"
+ },
+ "ja": {
+ "name": "japonès"
+ },
+ "yi": {
+ "name": "jiddisch"
+ },
+ "kkj": {
+ "name": "kako"
+ },
+ "kln": {
+ "name": "kalenjin"
+ },
+ "kam": {
+ "name": "kamba"
+ },
+ "kn": {
+ "name": "kannada"
+ },
+ "kk": {
+ "name": "kazakh"
+ },
+ "km": {
+ "name": "khmer"
+ },
+ "ki": {
+ "name": "kikuiu"
+ },
+ "ky": {
+ "name": "kirguís"
+ },
+ "khq": {
+ "name": "koyra chiini"
+ },
+ "ckb": {
+ "name": "kurd sorani"
+ },
+ "lkt": {
+ "name": "lakota"
+ },
+ "lag": {
+ "name": "langi"
+ },
+ "lo": {
+ "name": "laosià"
+ },
+ "lv": {
+ "name": "letó"
+ },
+ "ln": {
+ "name": "lingala"
+ },
+ "lt": {
+ "name": "lituà"
+ },
+ "lu": {
+ "name": "luba katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lrc": {
+ "name": "luri septentrional"
+ },
+ "lb": {
+ "name": "luxemburguès"
+ },
+ "luy": {
+ "name": "luyia"
+ },
+ "mk": {
+ "name": "macedoni"
+ },
+ "jmc": {
+ "name": "machame"
+ },
+ "mgh": {
+ "name": "makhuwa-metto"
+ },
+ "kde": {
+ "name": "makonde"
+ },
+ "ms": {
+ "name": "malai"
+ },
+ "ml": {
+ "name": "malaiàlam"
+ },
+ "mg": {
+ "name": "malgaix"
+ },
+ "mt": {
+ "name": "maltès"
+ },
+ "gv": {
+ "name": "manx"
+ },
+ "mr": {
+ "name": "marathi"
+ },
+ "mas": {
+ "name": "massai"
+ },
+ "mfe": {
+ "name": "mauricià"
+ },
+ "mzn": {
+ "name": "mazanderani"
+ },
+ "mer": {
+ "name": "meru"
+ },
+ "mgo": {
+ "name": "meta’"
+ },
+ "ro-MD": {
+ "name": "moldau"
+ },
+ "mn": {
+ "name": "mongol"
+ },
+ "mua": {
+ "name": "mundang"
+ },
+ "naq": {
+ "name": "nama"
+ },
+ "nd": {
+ "name": "ndebele septentrional"
+ },
+ "nl": {
+ "name": "neerlandès"
+ },
+ "ne": {
+ "name": "nepalès"
+ },
+ "nnh": {
+ "name": "ngiemboon"
+ },
+ "jgo": {
+ "name": "ngomba"
+ },
+ "nb": {
+ "name": "noruec bokmål"
+ },
+ "nn": {
+ "name": "noruec nynorsk"
+ },
+ "nus": {
+ "name": "nuer"
+ },
+ "nyn": {
+ "name": "nyankole"
+ },
+ "or": {
+ "name": "oriya"
+ },
+ "om": {
+ "name": "oromo"
+ },
+ "os": {
+ "name": "osseta"
+ },
+ "ps": {
+ "name": "paixtu"
+ },
+ "pa": {
+ "name": "panjabi"
+ },
+ "asa": {
+ "name": "pare"
+ },
+ "fa": {
+ "name": "persa"
+ },
+ "pl": {
+ "name": "polonès"
+ },
+ "pt": {
+ "name": "portuguès"
+ },
+ "pt-PT": {
+ "name": "portuguès de Portugal"
+ },
+ "prg": {
+ "name": "prussià"
+ },
+ "qu": {
+ "name": "quítxua"
+ },
+ "rm": {
+ "name": "retoromànic"
+ },
+ "ro": {
+ "name": "romanès"
+ },
+ "rof": {
+ "name": "rombo"
+ },
+ "rw": {
+ "name": "ruandès"
+ },
+ "rn": {
+ "name": "rundi"
+ },
+ "ru": {
+ "name": "rus"
+ },
+ "rwk": {
+ "name": "rwo"
+ },
+ "saq": {
+ "name": "samburu"
+ },
+ "smn": {
+ "name": "sami d’Inari"
+ },
+ "se": {
+ "name": "sami septentrional"
+ },
+ "sg": {
+ "name": "sango"
+ },
+ "sbp": {
+ "name": "sangu"
+ },
+ "seh": {
+ "name": "sena"
+ },
+ "sr": {
+ "name": "serbi"
+ },
+ "ksb": {
+ "name": "shambala"
+ },
+ "sn": {
+ "name": "shona"
+ },
+ "si": {
+ "name": "singalès"
+ },
+ "xog": {
+ "name": "soga"
+ },
+ "so": {
+ "name": "somali"
+ },
+ "ses": {
+ "name": "songhai oriental"
+ },
+ "sw": {
+ "name": "suahili"
+ },
+ "sw-CD": {
+ "name": "suahili del Congo"
+ },
+ "sv": {
+ "name": "suec"
+ },
+ "th": {
+ "name": "tailandès"
+ },
+ "dav": {
+ "name": "taita"
+ },
+ "shi": {
+ "name": "taixelhit"
+ },
+ "ta": {
+ "name": "tàmil"
+ },
+ "twq": {
+ "name": "tasawaq"
+ },
+ "te": {
+ "name": "telugu"
+ },
+ "teo": {
+ "name": "teso"
+ },
+ "bo": {
+ "name": "tibetà"
+ },
+ "ti": {
+ "name": "tigrinya"
+ },
+ "to": {
+ "name": "tongalès"
+ },
+ "tr": {
+ "name": "turc"
+ },
+ "tk": {
+ "name": "turcman"
+ },
+ "cs": {
+ "name": "txec"
+ },
+ "ce": {
+ "name": "txetxè"
+ },
+ "uk": {
+ "name": "ucraïnès"
+ },
+ "ug": {
+ "name": "uigur"
+ },
+ "ur": {
+ "name": "urdú"
+ },
+ "uz": {
+ "name": "uzbek"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vi": {
+ "name": "vietnamita"
+ },
+ "vo": {
+ "name": "volapük"
+ },
+ "vun": {
+ "name": "vunjo"
+ },
+ "wae": {
+ "name": "walser"
+ },
+ "zh": {
+ "name": "xinès"
+ },
+ "zh-Hans": {
+ "name": "xinès simplificat"
+ },
+ "zh-Hant": {
+ "name": "xinès tradicional"
+ },
+ "yav": {
+ "name": "yangben"
+ },
+ "ii": {
+ "name": "yi sichuan"
+ },
+ "dje": {
+ "name": "zarma"
+ },
+ "zu": {
+ "name": "zulu"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/ce.json b/vendor/commerceguys/intl/resources/language/ce.json
new file mode 100644
index 000000000..f1ba3a76b
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/ce.json
@@ -0,0 +1,635 @@
+{
+ "ast": {
+ "name": "Asturian"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "yue": {
+ "name": "Cantonese"
+ },
+ "cu": {
+ "name": "Church Slavic"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "os": {
+ "name": "Ossetic"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "sah": {
+ "name": "Sakha"
+ },
+ "gd": {
+ "name": "Scottish Gaelic"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "yi": {
+ "name": "Yiddish"
+ },
+ "en-AU": {
+ "name": "Австралин ингалсан"
+ },
+ "de-AT": {
+ "name": "австрин немцойн"
+ },
+ "agq": {
+ "name": "агхӀем"
+ },
+ "az": {
+ "name": "азербайджанийн"
+ },
+ "ak": {
+ "name": "акан"
+ },
+ "sq": {
+ "name": "албанойн"
+ },
+ "am": {
+ "name": "амхаройн"
+ },
+ "as": {
+ "name": "ассамийн"
+ },
+ "asa": {
+ "name": "асу"
+ },
+ "zh-Hans": {
+ "name": "атта китайн"
+ },
+ "af": {
+ "name": "африкаанс"
+ },
+ "bm": {
+ "name": "бамбара"
+ },
+ "eu": {
+ "name": "баскийн"
+ },
+ "ksf": {
+ "name": "бафиа"
+ },
+ "be": {
+ "name": "белорусийн"
+ },
+ "bem": {
+ "name": "бемба"
+ },
+ "bez": {
+ "name": "бена"
+ },
+ "bn": {
+ "name": "бенгалийн"
+ },
+ "my": {
+ "name": "бирманийн"
+ },
+ "brx": {
+ "name": "бодо"
+ },
+ "bg": {
+ "name": "болгарийн"
+ },
+ "bs": {
+ "name": "боснийн"
+ },
+ "br": {
+ "name": "бретонийн"
+ },
+ "en-GB": {
+ "name": "британин ингалсан"
+ },
+ "vai": {
+ "name": "ваи"
+ },
+ "cy": {
+ "name": "валлийн"
+ },
+ "hu": {
+ "name": "венгрийн"
+ },
+ "vun": {
+ "name": "вунджо"
+ },
+ "vi": {
+ "name": "вьетнамхойн"
+ },
+ "haw": {
+ "name": "гавайн"
+ },
+ "gl": {
+ "name": "галисийн"
+ },
+ "lg": {
+ "name": "ганда"
+ },
+ "nl": {
+ "name": "голландхойн"
+ },
+ "el": {
+ "name": "грекийн"
+ },
+ "kl": {
+ "name": "гренландхойн"
+ },
+ "gu": {
+ "name": "гуджарати"
+ },
+ "guz": {
+ "name": "гусии"
+ },
+ "ka": {
+ "name": "гуьржийн"
+ },
+ "fa": {
+ "name": "гӀажарийн"
+ },
+ "ky": {
+ "name": "гӀиргӀизойн"
+ },
+ "da": {
+ "name": "датхойн"
+ },
+ "dz": {
+ "name": "дзонг-кэ"
+ },
+ "dua": {
+ "name": "дуала"
+ },
+ "dyo": {
+ "name": "дьола-фоньи"
+ },
+ "pt-PT": {
+ "name": "европан португалихойн"
+ },
+ "he": {
+ "name": "жугтийн"
+ },
+ "dje": {
+ "name": "зарма"
+ },
+ "zu": {
+ "name": "зулу"
+ },
+ "ig": {
+ "name": "игбо"
+ },
+ "smn": {
+ "name": "инари-саамийн"
+ },
+ "en": {
+ "name": "ингалсан"
+ },
+ "id": {
+ "name": "индонезихойн"
+ },
+ "ga": {
+ "name": "ирландхойн"
+ },
+ "is": {
+ "name": "исландхойн"
+ },
+ "es": {
+ "name": "испанхойн"
+ },
+ "it": {
+ "name": "итальянийн"
+ },
+ "yo": {
+ "name": "йоруба"
+ },
+ "kab": {
+ "name": "кабилийн"
+ },
+ "kea": {
+ "name": "кабувердьяну"
+ },
+ "kk": {
+ "name": "казахийн"
+ },
+ "kln": {
+ "name": "календжин"
+ },
+ "kam": {
+ "name": "камба"
+ },
+ "en-CA": {
+ "name": "канадан ингалсан"
+ },
+ "fr-CA": {
+ "name": "канадан французийн"
+ },
+ "kn": {
+ "name": "каннада"
+ },
+ "ca": {
+ "name": "каталонийн"
+ },
+ "ks": {
+ "name": "кашмири"
+ },
+ "nmg": {
+ "name": "квасио"
+ },
+ "qu": {
+ "name": "кечуа"
+ },
+ "ki": {
+ "name": "кикуйю"
+ },
+ "rw": {
+ "name": "киньяруанда"
+ },
+ "zh": {
+ "name": "китайн"
+ },
+ "khq": {
+ "name": "койра чиини"
+ },
+ "ses": {
+ "name": "койраборо сенни"
+ },
+ "kok": {
+ "name": "конкани"
+ },
+ "ko": {
+ "name": "корейн"
+ },
+ "kw": {
+ "name": "корнуоллийн"
+ },
+ "km": {
+ "name": "кхмерийн"
+ },
+ "lrc": {
+ "name": "къилбаседа лури"
+ },
+ "nd": {
+ "name": "къилбаседа ндебели"
+ },
+ "se": {
+ "name": "къилбаседа саамийн"
+ },
+ "lkt": {
+ "name": "лакота"
+ },
+ "hsb": {
+ "name": "лакхара сербийн"
+ },
+ "zh-Hant": {
+ "name": "ламастан китайн"
+ },
+ "lag": {
+ "name": "ланги"
+ },
+ "lo": {
+ "name": "лаоссийн"
+ },
+ "lv": {
+ "name": "латышийн"
+ },
+ "nds": {
+ "name": "лахара германхойн"
+ },
+ "nds-NL": {
+ "name": "лахара саксонийн"
+ },
+ "ln": {
+ "name": "лингала"
+ },
+ "lt": {
+ "name": "литвахойн"
+ },
+ "lu": {
+ "name": "луба-катанга"
+ },
+ "luo": {
+ "name": "луо (Кени а, Танзани а)"
+ },
+ "luy": {
+ "name": "лухья"
+ },
+ "lb": {
+ "name": "люксембургхойн"
+ },
+ "mfe": {
+ "name": "маврикин креолийн"
+ },
+ "mzn": {
+ "name": "мазандеранхойн"
+ },
+ "mk": {
+ "name": "македонхойн"
+ },
+ "kde": {
+ "name": "маконде"
+ },
+ "mgh": {
+ "name": "макуа-меетто"
+ },
+ "mg": {
+ "name": "малагасийн"
+ },
+ "ms": {
+ "name": "малайн"
+ },
+ "ml": {
+ "name": "малаялам"
+ },
+ "fy": {
+ "name": "малхбузен-фризийн"
+ },
+ "mt": {
+ "name": "мальтойн"
+ },
+ "mr": {
+ "name": "маратхи"
+ },
+ "mas": {
+ "name": "масаи"
+ },
+ "jmc": {
+ "name": "мачаме"
+ },
+ "es-MX": {
+ "name": "мексикан испанхойн"
+ },
+ "mer": {
+ "name": "меру"
+ },
+ "mgo": {
+ "name": "мета"
+ },
+ "ro-MD": {
+ "name": "молдавийн"
+ },
+ "mn": {
+ "name": "монголийн"
+ },
+ "zgh": {
+ "name": "мороккон стандартан тамазигхтийн"
+ },
+ "mua": {
+ "name": "мунданг"
+ },
+ "gv": {
+ "name": "мэнийн"
+ },
+ "naq": {
+ "name": "нама"
+ },
+ "jgo": {
+ "name": "нгомба"
+ },
+ "de": {
+ "name": "немцойн"
+ },
+ "ne": {
+ "name": "непалхойн"
+ },
+ "nb": {
+ "name": "норвегийн букмол"
+ },
+ "nn": {
+ "name": "норвегийн нюнорск"
+ },
+ "ce": {
+ "name": "нохчийн"
+ },
+ "nus": {
+ "name": "нуэр"
+ },
+ "nyn": {
+ "name": "ньянколе"
+ },
+ "or": {
+ "name": "ори"
+ },
+ "om": {
+ "name": "оромо"
+ },
+ "ru": {
+ "name": "оьрсийн"
+ },
+ "pa": {
+ "name": "панджаби"
+ },
+ "pl": {
+ "name": "полякийн"
+ },
+ "pt": {
+ "name": "португалихойн"
+ },
+ "ps": {
+ "name": "пушту"
+ },
+ "rm": {
+ "name": "романшийн"
+ },
+ "rof": {
+ "name": "ромбо"
+ },
+ "rwk": {
+ "name": "руанда"
+ },
+ "ro": {
+ "name": "румынийн"
+ },
+ "rn": {
+ "name": "рунди"
+ },
+ "saq": {
+ "name": "самбуру"
+ },
+ "sg": {
+ "name": "санго"
+ },
+ "sbp": {
+ "name": "сангу"
+ },
+ "seh": {
+ "name": "сена"
+ },
+ "sr": {
+ "name": "сербийн"
+ },
+ "si": {
+ "name": "сингалхойн"
+ },
+ "sk": {
+ "name": "словакийн"
+ },
+ "sl": {
+ "name": "словенийн"
+ },
+ "xog": {
+ "name": "сога"
+ },
+ "so": {
+ "name": "сомали"
+ },
+ "dsb": {
+ "name": "сорбийн"
+ },
+ "sw": {
+ "name": "суахили"
+ },
+ "sw-CD": {
+ "name": "суахили (Конго)"
+ },
+ "ii": {
+ "name": "сычуань"
+ },
+ "dav": {
+ "name": "таита"
+ },
+ "th": {
+ "name": "тайн"
+ },
+ "tzm": {
+ "name": "тамазигхтийн"
+ },
+ "ta": {
+ "name": "тамилхойн"
+ },
+ "twq": {
+ "name": "тасавак"
+ },
+ "shi": {
+ "name": "тахелхит"
+ },
+ "te": {
+ "name": "телугу"
+ },
+ "teo": {
+ "name": "тесо"
+ },
+ "bo": {
+ "name": "тибетхойн"
+ },
+ "ti": {
+ "name": "тигринья"
+ },
+ "to": {
+ "name": "тонганийн"
+ },
+ "tk": {
+ "name": "туркменийн"
+ },
+ "tr": {
+ "name": "туркойн"
+ },
+ "uz": {
+ "name": "узбекийн"
+ },
+ "ug": {
+ "name": "уйгурийн"
+ },
+ "uk": {
+ "name": "украинийн"
+ },
+ "ur": {
+ "name": "урду"
+ },
+ "fo": {
+ "name": "фарерийн"
+ },
+ "fil": {
+ "name": "филиппинийн"
+ },
+ "fi": {
+ "name": "финнийн"
+ },
+ "nl-BE": {
+ "name": "фламандийн"
+ },
+ "fr": {
+ "name": "французийн"
+ },
+ "ha": {
+ "name": "хауса"
+ },
+ "hi": {
+ "name": "хинди"
+ },
+ "hr": {
+ "name": "хорватийн"
+ },
+ "chr": {
+ "name": "чероки"
+ },
+ "cs": {
+ "name": "чехийн"
+ },
+ "cgg": {
+ "name": "чига"
+ },
+ "ksb": {
+ "name": "шамбала"
+ },
+ "sv": {
+ "name": "шведийн"
+ },
+ "de-CH": {
+ "name": "швейцарин лакхара немцойн"
+ },
+ "gsw": {
+ "name": "швейцарин немцойн"
+ },
+ "fr-CH": {
+ "name": "швейцарин французийн"
+ },
+ "sn": {
+ "name": "шона"
+ },
+ "ee": {
+ "name": "эве"
+ },
+ "ebu": {
+ "name": "эмбу"
+ },
+ "hy": {
+ "name": "эрмалойн"
+ },
+ "eo": {
+ "name": "эсперанто"
+ },
+ "et": {
+ "name": "эстонийн"
+ },
+ "ckb": {
+ "name": "юккъерчу курдийн"
+ },
+ "ja": {
+ "name": "японийн"
+ },
+ "ar": {
+ "name": "Ӏаьрбийн"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/cgg.json b/vendor/commerceguys/intl/resources/language/cgg.json
new file mode 100644
index 000000000..11445d25f
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/cgg.json
@@ -0,0 +1,632 @@
+{
+ "af": {
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "sq": {
+ "name": "Albanian"
+ },
+ "hy": {
+ "name": "Armenian"
+ },
+ "as": {
+ "name": "Assamese"
+ },
+ "ast": {
+ "name": "Asturian"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "az": {
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "eu": {
+ "name": "Basque"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "bs": {
+ "name": "Bosnian"
+ },
+ "br": {
+ "name": "Breton"
+ },
+ "yue": {
+ "name": "Cantonese"
+ },
+ "ca": {
+ "name": "Catalan"
+ },
+ "tzm": {
+ "name": "Central Atlas Tamazight"
+ },
+ "ckb": {
+ "name": "Central Kurdish"
+ },
+ "ce": {
+ "name": "Chechen"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "cu": {
+ "name": "Church Slavic"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "kw": {
+ "name": "Cornish"
+ },
+ "hr": {
+ "name": "Croatian"
+ },
+ "da": {
+ "name": "Danish"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "dz": {
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "eo": {
+ "name": "Esperanto"
+ },
+ "et": {
+ "name": "Estonian"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fo": {
+ "name": "Faroese"
+ },
+ "fil": {
+ "name": "Filipino"
+ },
+ "fi": {
+ "name": "Finnish"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "gl": {
+ "name": "Galician"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "ka": {
+ "name": "Georgian"
+ },
+ "gu": {
+ "name": "Gujarati"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "haw": {
+ "name": "Hawaiian"
+ },
+ "he": {
+ "name": "Hebrew"
+ },
+ "is": {
+ "name": "Icelandic"
+ },
+ "smn": {
+ "name": "Inari Sami"
+ },
+ "ga": {
+ "name": "Irish"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabyle"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kl": {
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "kn": {
+ "name": "Kannada"
+ },
+ "ks": {
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "name": "Kazakh"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "ky": {
+ "name": "Kyrgyz"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "Lao"
+ },
+ "lv": {
+ "name": "Latvian"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "lt": {
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "mk": {
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "mg": {
+ "name": "Malagasy"
+ },
+ "ml": {
+ "name": "Malayalam"
+ },
+ "mt": {
+ "name": "Maltese"
+ },
+ "gv": {
+ "name": "Manx"
+ },
+ "mr": {
+ "name": "Marathi"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "mn": {
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nds-NL": {
+ "name": "nds (Hoorandi)"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "nd": {
+ "name": "North Ndebele"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "se": {
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "or": {
+ "name": "Odia"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "ur": {
+ "name": "Oru-Urudu"
+ },
+ "bn": {
+ "name": "Orubengari"
+ },
+ "be": {
+ "name": "Oruberarusi"
+ },
+ "bg": {
+ "name": "Oruburugariya"
+ },
+ "my": {
+ "name": "Oruburuma"
+ },
+ "cs": {
+ "name": "Oruceeki"
+ },
+ "zh": {
+ "name": "Oruchaina"
+ },
+ "zh-Hans": {
+ "name": "Oruchaina (Hans)"
+ },
+ "zh-Hant": {
+ "name": "Oruchaina (Hant)"
+ },
+ "nl": {
+ "name": "Orudaaki"
+ },
+ "nl-BE": {
+ "name": "Orudaaki (Bubirigi)"
+ },
+ "fr": {
+ "name": "Orufaransa"
+ },
+ "fr-CA": {
+ "name": "Orufaransa (Kanada)"
+ },
+ "fr-CH": {
+ "name": "Orufaransa (Swisi)"
+ },
+ "de": {
+ "name": "Orugirimaani"
+ },
+ "de-AT": {
+ "name": "Orugirimaani (Osituria)"
+ },
+ "de-CH": {
+ "name": "Orugirimaani (Swisi)"
+ },
+ "el": {
+ "name": "Oruguriiki"
+ },
+ "hu": {
+ "name": "Oruhangare"
+ },
+ "ar": {
+ "name": "Oruharabu"
+ },
+ "ha": {
+ "name": "Oruhausa"
+ },
+ "hi": {
+ "name": "Oruhindi"
+ },
+ "ig": {
+ "name": "Oruibo"
+ },
+ "id": {
+ "name": "Oruindonezia"
+ },
+ "ja": {
+ "name": "Orujapaani"
+ },
+ "km": {
+ "name": "Orukambodiya"
+ },
+ "ak": {
+ "name": "Orukani"
+ },
+ "ko": {
+ "name": "Orukoreya"
+ },
+ "uk": {
+ "name": "Orukuraini"
+ },
+ "tr": {
+ "name": "Orukuruki"
+ },
+ "ms": {
+ "name": "Orumalesiya"
+ },
+ "am": {
+ "name": "Orumariki"
+ },
+ "ne": {
+ "name": "Orunepali"
+ },
+ "en": {
+ "name": "Orungyereza"
+ },
+ "en-GB": {
+ "name": "Orungyereza (Bungyereza)"
+ },
+ "en-CA": {
+ "name": "Orungyereza (Kanada)"
+ },
+ "en-AU": {
+ "name": "Orungyereza (Ositureeriya)"
+ },
+ "rw": {
+ "name": "Orunyarwanda"
+ },
+ "fa": {
+ "name": "Orupaasiya"
+ },
+ "pt": {
+ "name": "Orupocugo"
+ },
+ "pt-PT": {
+ "name": "Orupocugo (Pocugo)"
+ },
+ "pl": {
+ "name": "Orupoori"
+ },
+ "pa": {
+ "name": "Orupungyabi"
+ },
+ "ro": {
+ "name": "Oruromania"
+ },
+ "ro-MD": {
+ "name": "Oruromania (Moridova)"
+ },
+ "ru": {
+ "name": "Orurrasha"
+ },
+ "so": {
+ "name": "Orusomaari"
+ },
+ "es": {
+ "name": "Orusupaani"
+ },
+ "es-MX": {
+ "name": "Orusupaani (Mexico)"
+ },
+ "sv": {
+ "name": "Oruswidi"
+ },
+ "th": {
+ "name": "Orutailandi"
+ },
+ "ta": {
+ "name": "Orutamiri"
+ },
+ "vi": {
+ "name": "Oruviyetinaamu"
+ },
+ "it": {
+ "name": "Oruyitare"
+ },
+ "yo": {
+ "name": "Oruyoruba"
+ },
+ "zu": {
+ "name": "Oruzuru"
+ },
+ "os": {
+ "name": "Ossetic"
+ },
+ "ps": {
+ "name": "Pashto"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "qu": {
+ "name": "Quechua"
+ },
+ "rm": {
+ "name": "Romansh"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "cgg": {
+ "name": "Rukiga"
+ },
+ "rn": {
+ "name": "Rundi"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "sah": {
+ "name": "Sakha"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "gd": {
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "sr": {
+ "name": "Serbian"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "si": {
+ "name": "Sinhala"
+ },
+ "sk": {
+ "name": "Slovak"
+ },
+ "sl": {
+ "name": "Slovenian"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw-CD": {
+ "name": "sw (Demokoratika Ripaaburika ya Kongo)"
+ },
+ "sw": {
+ "name": "Swahili"
+ },
+ "gsw": {
+ "name": "Swiss German"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "te": {
+ "name": "Telugu"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "bo": {
+ "name": "Tibetan"
+ },
+ "ti": {
+ "name": "Tigrinya"
+ },
+ "to": {
+ "name": "Tongan"
+ },
+ "tk": {
+ "name": "Turkmen"
+ },
+ "hsb": {
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "name": "Uyghur"
+ },
+ "uz": {
+ "name": "Uzbek"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "cy": {
+ "name": "Welsh"
+ },
+ "fy": {
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "yi": {
+ "name": "Yiddish"
+ },
+ "dje": {
+ "name": "Zarma"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/chr.json b/vendor/commerceguys/intl/resources/language/chr.json
new file mode 100644
index 000000000..ac16b75dd
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/chr.json
@@ -0,0 +1,632 @@
+{
+ "ak": {
+ "name": "ᎠᎧᎾ"
+ },
+ "agq": {
+ "name": "ᎠᎨᎹ"
+ },
+ "tr": {
+ "name": "ᎠᎬᎾ"
+ },
+ "af": {
+ "name": "ᎠᎬᎿᎨᏍᏛ"
+ },
+ "zh-Hans": {
+ "name": "ᎠᎯᏗᎨ ᏓᎶᏂᎨ"
+ },
+ "sq": {
+ "name": "ᎠᎵᏇᏂ"
+ },
+ "am": {
+ "name": "ᎠᎹᎭᎵᎩ"
+ },
+ "el": {
+ "name": "ᎠᏂᎪᎢ"
+ },
+ "tk": {
+ "name": "ᎠᏂᎬᎾ"
+ },
+ "rm": {
+ "name": "ᎠᏂᎶᎺᏂ"
+ },
+ "he": {
+ "name": "ᎠᏂᏈᎷ"
+ },
+ "fil": {
+ "name": "ᎠᏈᎵᎩ"
+ },
+ "as": {
+ "name": "ᎠᏌᎻᏏ"
+ },
+ "ast": {
+ "name": "ᎠᏍᏚᎵᎠᏂ"
+ },
+ "az": {
+ "name": "ᎠᏎᏆᏣᏂ"
+ },
+ "asa": {
+ "name": "ᎠᏑ"
+ },
+ "zgh": {
+ "name": "ᎠᏟᎶᏍᏗ ᎼᎶᎪ ᏔᎹᏏᏘ"
+ },
+ "de-AT": {
+ "name": "ᎠᏟᏯᏂ ᎠᏂᏓᏥ"
+ },
+ "tzm": {
+ "name": "ᎠᏰᏟ ᎡᎶᎯ ᏓᏟᎶᏍᏗᏓᏅᎢ ᏔᎹᏏᏘ"
+ },
+ "ckb": {
+ "name": "ᎠᏰᏟ ᎫᏗᏏ"
+ },
+ "ar": {
+ "name": "ᎡᎳᏈ"
+ },
+ "nds-NL": {
+ "name": "ᎡᎳᏗ ᏁᏛᎳᏂ"
+ },
+ "dsb": {
+ "name": "ᎡᎳᏗ ᏐᏈᎠᏂ"
+ },
+ "en-AU": {
+ "name": "ᎡᎳᏗᏜ ᎩᎵᏏ"
+ },
+ "ebu": {
+ "name": "ᎡᎻᏊ"
+ },
+ "eo": {
+ "name": "ᎡᏍᏇᎳᏂᏙ"
+ },
+ "et": {
+ "name": "ᎡᏍᏙᏂᎠᏂ"
+ },
+ "ee": {
+ "name": "ᎡᏪ"
+ },
+ "ewo": {
+ "name": "ᎡᏬᏂᏙ"
+ },
+ "ig": {
+ "name": "ᎢᎦᎪ"
+ },
+ "smn": {
+ "name": "ᎢᎾᎵ ᏌᎻ"
+ },
+ "id": {
+ "name": "ᎢᏂᏙᏂᏏᎠ"
+ },
+ "om": {
+ "name": "ᎣᎶᎼ"
+ },
+ "os": {
+ "name": "ᎣᏎᏘᎧ"
+ },
+ "or": {
+ "name": "ᎣᏗᎠ"
+ },
+ "ur": {
+ "name": "ᎤᎵᏚ"
+ },
+ "uz": {
+ "name": "ᎤᏍᏇᎩ"
+ },
+ "zh-Hant": {
+ "name": "ᎤᏦᏍᏗ ᏓᎶᏂᎨ"
+ },
+ "gl": {
+ "name": "ᎦᎵᏏᎠᏂ"
+ },
+ "hsb": {
+ "name": "ᎦᎸᎳᏗᎨ ᏐᎵᏈᎠᏂ"
+ },
+ "fr": {
+ "name": "ᎦᎸᏥ"
+ },
+ "lg": {
+ "name": "ᎦᏂᏓ"
+ },
+ "kkj": {
+ "name": "ᎧᎪ"
+ },
+ "kl": {
+ "name": "ᎧᎳᎵᏑᏘ"
+ },
+ "kln": {
+ "name": "ᎧᎴᏂᏥᏂ"
+ },
+ "hr": {
+ "name": "ᎧᎶᎡᏏᏂ"
+ },
+ "kam": {
+ "name": "ᎧᎻᏆ"
+ },
+ "kn": {
+ "name": "ᎧᎾᏓ"
+ },
+ "kok": {
+ "name": "ᎧᏂᎧᏂ"
+ },
+ "sw-CD": {
+ "name": "ᎧᏂᎪ ᏍᏩᎯᎵ"
+ },
+ "kab": {
+ "name": "ᎧᏈᎴ"
+ },
+ "kea": {
+ "name": "ᎧᏊᏪᏗᎠᏄ"
+ },
+ "kk": {
+ "name": "ᎧᏌᎧ"
+ },
+ "ks": {
+ "name": "ᎧᏏᎻᎵ"
+ },
+ "ga": {
+ "name": "ᎨᎵᎩ"
+ },
+ "fr-CA": {
+ "name": "ᎨᎾᏓ ᎦᎸᏥ"
+ },
+ "en-CA": {
+ "name": "ᎨᎾᏓ ᎩᎵᏏ"
+ },
+ "yue": {
+ "name": "ᎨᎾᏙᏂᏏ"
+ },
+ "ca": {
+ "name": "ᎨᏔᎳᏂ"
+ },
+ "qu": {
+ "name": "ᎨᏧᏩ"
+ },
+ "ki": {
+ "name": "ᎩᎫᏳ"
+ },
+ "en": {
+ "name": "ᎩᎵᏏ"
+ },
+ "en-GB": {
+ "name": "ᎩᎵᏏᏲ ᎩᎵᏏ"
+ },
+ "ky": {
+ "name": "ᎩᎵᏣᎢᏍ"
+ },
+ "km": {
+ "name": "ᎩᎻᎷ"
+ },
+ "rw": {
+ "name": "ᎩᏂᏯᏩᏂᏓ"
+ },
+ "ko": {
+ "name": "ᎪᎵᎠᏂ"
+ },
+ "ksh": {
+ "name": "ᎪᎶᏂᎠᏂ"
+ },
+ "khq": {
+ "name": "ᎪᏱᎳ ᏥᏂ"
+ },
+ "ses": {
+ "name": "ᎪᏱᎳᏈᎶ ᏎᏂ"
+ },
+ "guz": {
+ "name": "ᎫᏏ"
+ },
+ "gu": {
+ "name": "ᎫᏣᎳᏘ"
+ },
+ "it": {
+ "name": "ᎬᏩᎵᏲᏥᎢ"
+ },
+ "ha": {
+ "name": "ᎭᎤᏌ"
+ },
+ "haw": {
+ "name": "ᎭᏩᎼ"
+ },
+ "hi": {
+ "name": "ᎯᏂᏗ"
+ },
+ "hu": {
+ "name": "ᎲᏂᎦᎵᎠᏂ"
+ },
+ "lo": {
+ "name": "ᎳᎣ"
+ },
+ "lkt": {
+ "name": "ᎳᎪᏓ"
+ },
+ "lag": {
+ "name": "ᎳᏂᎩ"
+ },
+ "lv": {
+ "name": "ᎳᏘᏫᎠᏂ"
+ },
+ "ln": {
+ "name": "ᎵᏂᎦᎳ"
+ },
+ "lt": {
+ "name": "ᎵᏚᏩᏂᎠᏂ"
+ },
+ "ro": {
+ "name": "ᎶᎹᏂᎠᏂ"
+ },
+ "rof": {
+ "name": "ᎶᎹᏉ"
+ },
+ "luo": {
+ "name": "ᎷᎣ"
+ },
+ "rn": {
+ "name": "ᎷᏂᏗ"
+ },
+ "lu": {
+ "name": "ᎷᏆ-ᎧᏔᎦ"
+ },
+ "luy": {
+ "name": "ᎷᏱᎠ"
+ },
+ "lb": {
+ "name": "ᎸᎦᏏᎻᏋᎢᏍ"
+ },
+ "kde": {
+ "name": "ᎹᎪᏕ"
+ },
+ "mgh": {
+ "name": "ᎹᎫᏩ-ᎻᏙ"
+ },
+ "mg": {
+ "name": "ᎹᎳᎦᏏ"
+ },
+ "mr": {
+ "name": "ᎹᎳᏘ"
+ },
+ "ml": {
+ "name": "ᎹᎳᏯᎳᎻ"
+ },
+ "ms": {
+ "name": "ᎹᎴ"
+ },
+ "mt": {
+ "name": "ᎹᎵᏘᏍ"
+ },
+ "ro-MD": {
+ "name": "ᎹᎵᏙᏫᎠ ᏣᎹᏂᎠᏂ"
+ },
+ "gv": {
+ "name": "ᎹᎾᎧᏏ"
+ },
+ "mn": {
+ "name": "ᎹᏂᎪᎵᎠᏂ"
+ },
+ "mzn": {
+ "name": "ᎹᏌᏕᎳᏂ"
+ },
+ "mas": {
+ "name": "ᎹᏌᏱ"
+ },
+ "mk": {
+ "name": "ᎹᏎᏙᏂᎠ"
+ },
+ "jmc": {
+ "name": "ᎹᏣᎺ"
+ },
+ "mgo": {
+ "name": "ᎺᎳ’"
+ },
+ "mer": {
+ "name": "ᎺᎷ"
+ },
+ "mfe": {
+ "name": "ᎼᎵᏏᎡᏂ"
+ },
+ "mua": {
+ "name": "ᎽᏂᏓᎩ"
+ },
+ "jgo": {
+ "name": "ᎾᎪᏆ"
+ },
+ "naq": {
+ "name": "ᎾᎹ"
+ },
+ "nnh": {
+ "name": "ᎾᏥᏰᎹᏊᏂ"
+ },
+ "ne": {
+ "name": "ᏁᏆᎵ"
+ },
+ "nyn": {
+ "name": "ᏂᏯᎾᎪᎴ"
+ },
+ "nn": {
+ "name": "ᏃᎵᏪᏥᏂ ᎾᎵᏍᎩ"
+ },
+ "nb": {
+ "name": "ᏃᎵᏪᏥᏂ ᏉᎧᎹᎵ"
+ },
+ "nus": {
+ "name": "ᏄᏪᎵ"
+ },
+ "rwk": {
+ "name": "Ꮖ"
+ },
+ "bm": {
+ "name": "ᏆᎻᏆᎳ"
+ },
+ "bas": {
+ "name": "ᏆᏌᎠ"
+ },
+ "eu": {
+ "name": "ᏆᏍᎨ"
+ },
+ "bs": {
+ "name": "ᏆᏍᏂᎠᏂ"
+ },
+ "ps": {
+ "name": "ᏆᏍᏙ"
+ },
+ "nmg": {
+ "name": "ᏆᏏᏲ"
+ },
+ "ksf": {
+ "name": "ᏆᏫᎠ"
+ },
+ "be": {
+ "name": "ᏇᎳᎷᏏ"
+ },
+ "fo": {
+ "name": "ᏇᎶᎡᏍ"
+ },
+ "bem": {
+ "name": "ᏇᎹᏆ"
+ },
+ "bez": {
+ "name": "ᏇᎾ"
+ },
+ "bn": {
+ "name": "ᏇᏂᎦᎳ"
+ },
+ "fa": {
+ "name": "ᏇᏏᎠᏂ"
+ },
+ "br": {
+ "name": "ᏇᏙᏂ"
+ },
+ "fi": {
+ "name": "ᏈᏂᏍ"
+ },
+ "pl": {
+ "name": "ᏉᎵᏍ"
+ },
+ "brx": {
+ "name": "ᏉᏙ"
+ },
+ "pt-PT": {
+ "name": "ᏉᏥᎦᎳ ᏉᏧᎦᎵ"
+ },
+ "pt": {
+ "name": "ᏉᏧᎩᏍ"
+ },
+ "ff": {
+ "name": "ᏊᎳᏂ"
+ },
+ "bg": {
+ "name": "ᏊᎵᎨᎵᎠᏂ"
+ },
+ "nl-BE": {
+ "name": "ᏊᎵᏥᎥᎻ ᏛᏥ"
+ },
+ "my": {
+ "name": "ᏋᎻᏍ"
+ },
+ "sah": {
+ "name": "ᏌᎧᎾ"
+ },
+ "dje": {
+ "name": "ᏌᎹ"
+ },
+ "saq": {
+ "name": "ᏌᎹᏊᎷ"
+ },
+ "sbp": {
+ "name": "ᏌᏁᎫ"
+ },
+ "sg": {
+ "name": "ᏌᏂᎪ"
+ },
+ "gd": {
+ "name": "ᏍᎦᏗ ᎨᎵᎩ"
+ },
+ "sk": {
+ "name": "ᏍᎶᏩᎩ"
+ },
+ "sl": {
+ "name": "ᏍᎶᏫᏂᎠᏂ"
+ },
+ "es": {
+ "name": "ᏍᏆᏂ"
+ },
+ "es-MX": {
+ "name": "ᏍᏆᏂᏱ ᏍᏆᏂ"
+ },
+ "sw": {
+ "name": "ᏍᏩᎯᎵ"
+ },
+ "gsw": {
+ "name": "ᏍᏫᏏ ᎠᏂᏓᏥ"
+ },
+ "de-CH": {
+ "name": "ᏍᏫᏏ ᎦᎸᎳᏗ ᎠᏂᏓᏥ"
+ },
+ "fr-CH": {
+ "name": "ᏍᏫᏏ ᎦᎸᏥ"
+ },
+ "sv": {
+ "name": "ᏍᏫᏗᏏ"
+ },
+ "kw": {
+ "name": "ᏎᎷᎭ"
+ },
+ "seh": {
+ "name": "ᏎᎾ"
+ },
+ "sr": {
+ "name": "ᏎᏈᎠᏂ"
+ },
+ "si": {
+ "name": "ᏏᎾᎭᎳ"
+ },
+ "ii": {
+ "name": "ᏏᏧᏩᏂ Ᏹ"
+ },
+ "xog": {
+ "name": "ᏐᎦ"
+ },
+ "so": {
+ "name": "ᏐᎹᎵ"
+ },
+ "zu": {
+ "name": "ᏑᎷ"
+ },
+ "zh": {
+ "name": "ᏓᎶᏂᎨ"
+ },
+ "dz": {
+ "name": "ᏓᏐᏅᎧ"
+ },
+ "dav": {
+ "name": "ᏔᎢᏔ"
+ },
+ "ta": {
+ "name": "ᏔᎻᎵ"
+ },
+ "twq": {
+ "name": "ᏔᏌᏩᎩ"
+ },
+ "shi": {
+ "name": "ᏔᏤᎵᎯᏘ"
+ },
+ "th": {
+ "name": "ᏔᏱ"
+ },
+ "da": {
+ "name": "ᏕᏂᏍ"
+ },
+ "te": {
+ "name": "ᏖᎷᎦ"
+ },
+ "teo": {
+ "name": "ᏖᏐ"
+ },
+ "ti": {
+ "name": "ᏘᎩᎵᏂᎠ"
+ },
+ "bo": {
+ "name": "ᏘᏇᏔᏂ"
+ },
+ "de": {
+ "name": "ᏙᎢᏥ"
+ },
+ "to": {
+ "name": "ᏙᎾᎦᏂ"
+ },
+ "dua": {
+ "name": "ᏚᎠᎳ"
+ },
+ "nl": {
+ "name": "ᏛᏥ"
+ },
+ "ksb": {
+ "name": "ᏝᎻᏆᎸ"
+ },
+ "fur": {
+ "name": "ᏞᎤᎵᎠᏂ"
+ },
+ "sn": {
+ "name": "ᏠᎾ"
+ },
+ "pa": {
+ "name": "ᏡᏂᏣᏈ"
+ },
+ "prg": {
+ "name": "ᏡᏏᎠᏂ"
+ },
+ "chr": {
+ "name": "ᏣᎳᎩ"
+ },
+ "ja": {
+ "name": "ᏣᏩᏂᏏ"
+ },
+ "cs": {
+ "name": "ᏤᎩ"
+ },
+ "ce": {
+ "name": "ᏤᏤᏂ"
+ },
+ "cgg": {
+ "name": "ᏥᎦ"
+ },
+ "dyo": {
+ "name": "ᏦᎳ-ᏬᏱ"
+ },
+ "ka": {
+ "name": "ᏦᏥᎠᏂ"
+ },
+ "is": {
+ "name": "ᏧᏁᏍᏓᎸᎯᎢᎩ"
+ },
+ "cu": {
+ "name": "ᏧᏂᎳᏫᏍᏗ ᏍᎳᏫᎪ"
+ },
+ "nd": {
+ "name": "ᏧᏴᏢ ᏂᏕᏇᎴ"
+ },
+ "lrc": {
+ "name": "ᏧᏴᏢ ᏗᏜ ᎷᎵ"
+ },
+ "se": {
+ "name": "ᏧᏴᏢ ᏗᏜ ᏌᎻ"
+ },
+ "wae": {
+ "name": "ᏩᎵᏎᎵ"
+ },
+ "vai": {
+ "name": "ᏩᏱ"
+ },
+ "cy": {
+ "name": "ᏪᎵᏏ"
+ },
+ "vi": {
+ "name": "ᏫᎡᏘᎾᎻᏍ"
+ },
+ "ug": {
+ "name": "ᏫᎦ"
+ },
+ "vo": {
+ "name": "ᏬᎳᏊᎩ"
+ },
+ "vun": {
+ "name": "ᏭᎾᏦ"
+ },
+ "fy": {
+ "name": "ᏭᏕᎵᎬ ᏗᏜ ᏟᏏᎠᏂ"
+ },
+ "yav": {
+ "name": "ᏰᎾᎦᏇᏂ"
+ },
+ "yi": {
+ "name": "ᏱᏗᏍ"
+ },
+ "yo": {
+ "name": "ᏲᏄᏆ"
+ },
+ "ru": {
+ "name": "ᏲᏅᎯ"
+ },
+ "uk": {
+ "name": "ᏳᎧᎴᏂᎠᏂ"
+ },
+ "hy": {
+ "name": "Armenian"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/ckb.json b/vendor/commerceguys/intl/resources/language/ckb.json
new file mode 100644
index 000000000..82d3af6c6
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/ckb.json
@@ -0,0 +1,632 @@
+{
+ "af": {
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "ak": {
+ "name": "Akan"
+ },
+ "ast": {
+ "name": "Asturian"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "my": {
+ "name": "Burmese"
+ },
+ "yue": {
+ "name": "Cantonese"
+ },
+ "tzm": {
+ "name": "Central Atlas Tamazight"
+ },
+ "ce": {
+ "name": "Chechen"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "cu": {
+ "name": "Church Slavic"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "kw": {
+ "name": "Cornish"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "dz": {
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fo": {
+ "name": "Faroese"
+ },
+ "fil": {
+ "name": "Filipino"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "ha": {
+ "name": "Hausa"
+ },
+ "haw": {
+ "name": "Hawaiian"
+ },
+ "ig": {
+ "name": "Igbo"
+ },
+ "smn": {
+ "name": "Inari Sami"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabyle"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kl": {
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "kn": {
+ "name": "Kannada"
+ },
+ "ks": {
+ "name": "Kashmiri"
+ },
+ "km": {
+ "name": "Khmer"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "rw": {
+ "name": "Kinyarwanda"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "ko": {
+ "name": "Korean"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "dsb": {
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "mg": {
+ "name": "Malagasy"
+ },
+ "ms": {
+ "name": "Malay"
+ },
+ "ml": {
+ "name": "Malayalam"
+ },
+ "mt": {
+ "name": "Maltese"
+ },
+ "gv": {
+ "name": "Manx"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nds-NL": {
+ "name": "nds (ھۆڵەندا)"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "nd": {
+ "name": "North Ndebele"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "se": {
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "os": {
+ "name": "Ossetic"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "qu": {
+ "name": "Quechua"
+ },
+ "rm": {
+ "name": "Romansh"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "rn": {
+ "name": "Rundi"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "sah": {
+ "name": "Sakha"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "gd": {
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw-CD": {
+ "name": "sw (کۆنگۆ کینشاسا)"
+ },
+ "sw": {
+ "name": "Swahili"
+ },
+ "gsw": {
+ "name": "Swiss German"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "bo": {
+ "name": "Tibetan"
+ },
+ "to": {
+ "name": "Tongan"
+ },
+ "hsb": {
+ "name": "Upper Sorbian"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "yi": {
+ "name": "Yiddish"
+ },
+ "yo": {
+ "name": "Yoruba"
+ },
+ "dje": {
+ "name": "Zarma"
+ },
+ "az": {
+ "name": "ئازەربایجانی"
+ },
+ "as": {
+ "name": "ئاسامی"
+ },
+ "sq": {
+ "name": "ئاڵبانی"
+ },
+ "de": {
+ "name": "ئاڵمانی"
+ },
+ "de-CH": {
+ "name": "ئاڵمانی (سویسرا)"
+ },
+ "de-AT": {
+ "name": "ئاڵمانی (نەمسا)"
+ },
+ "hy": {
+ "name": "ئەرمەنی"
+ },
+ "am": {
+ "name": "ئەمهەرینجی"
+ },
+ "uz": {
+ "name": "ئوزبەکی"
+ },
+ "ug": {
+ "name": "ئويخووری"
+ },
+ "ur": {
+ "name": "ئۆردوو"
+ },
+ "or": {
+ "name": "ئۆرییا"
+ },
+ "uk": {
+ "name": "ئۆكراینی"
+ },
+ "it": {
+ "name": "ئیتالی"
+ },
+ "ga": {
+ "name": "ئیرلەندی"
+ },
+ "es": {
+ "name": "ئیسپانی"
+ },
+ "es-MX": {
+ "name": "ئیسپانی (مەکسیک)"
+ },
+ "et": {
+ "name": "ئیستۆنی"
+ },
+ "is": {
+ "name": "ئیسلەندی"
+ },
+ "en": {
+ "name": "ئینگلیزی"
+ },
+ "en-AU": {
+ "name": "ئینگلیزیی ئۆسترالیایی"
+ },
+ "en-GB": {
+ "name": "ئینگلیزیی بریتانیایی"
+ },
+ "en-CA": {
+ "name": "ئینگلیزیی کەنەدایی"
+ },
+ "eo": {
+ "name": "ئێسپیرانتۆ"
+ },
+ "id": {
+ "name": "ئێەندونیزی"
+ },
+ "eu": {
+ "name": "باسکی"
+ },
+ "br": {
+ "name": "برێتونی"
+ },
+ "bn": {
+ "name": "بەنگلادێشی"
+ },
+ "bs": {
+ "name": "بۆسنی"
+ },
+ "bg": {
+ "name": "بۆلگاری"
+ },
+ "be": {
+ "name": "بێلاڕووسی"
+ },
+ "ps": {
+ "name": "پەشتوو"
+ },
+ "pa": {
+ "name": "پەنجابی"
+ },
+ "pt": {
+ "name": "پورتوگالی"
+ },
+ "pt-PT": {
+ "name": "پورتوگاڵی (پورتوگاڵ)"
+ },
+ "pl": {
+ "name": "پۆڵۆنیایی (لەهستانی)"
+ },
+ "ta": {
+ "name": "تامیلی"
+ },
+ "th": {
+ "name": "تایلەندی"
+ },
+ "te": {
+ "name": "تەلۆگوی"
+ },
+ "tk": {
+ "name": "تورکمانی"
+ },
+ "tr": {
+ "name": "تورکی"
+ },
+ "ti": {
+ "name": "تیگرینیای"
+ },
+ "cs": {
+ "name": "چەكی"
+ },
+ "zh": {
+ "name": "چینی"
+ },
+ "zh-Hans": {
+ "name": "چینی (Hans)"
+ },
+ "zh-Hant": {
+ "name": "چینی (Hant)"
+ },
+ "da": {
+ "name": "دانماركی"
+ },
+ "zu": {
+ "name": "زولو"
+ },
+ "ru": {
+ "name": "ڕووسی"
+ },
+ "ro": {
+ "name": "ڕۆمانی"
+ },
+ "ro-MD": {
+ "name": "ڕۆمانی (مۆلدۆڤا)"
+ },
+ "ja": {
+ "name": "ژاپۆنی"
+ },
+ "sk": {
+ "name": "سلۆڤاكی"
+ },
+ "sl": {
+ "name": "سلۆڤێنی"
+ },
+ "sr": {
+ "name": "سەربی"
+ },
+ "sv": {
+ "name": "سویدی"
+ },
+ "so": {
+ "name": "سۆمالی"
+ },
+ "si": {
+ "name": "سینهەلی"
+ },
+ "ar": {
+ "name": "عەرەبی"
+ },
+ "fa": {
+ "name": "فارسی"
+ },
+ "fy": {
+ "name": "فریسیی ڕۆژاوا"
+ },
+ "fr": {
+ "name": "فەرانسی"
+ },
+ "fr-CH": {
+ "name": "فەرانسی (سویسرا)"
+ },
+ "fr-CA": {
+ "name": "فەرانسی (کانەدا)"
+ },
+ "fi": {
+ "name": "فینلەندی"
+ },
+ "vi": {
+ "name": "ڤیەتنامی"
+ },
+ "ca": {
+ "name": "كاتالۆنی"
+ },
+ "ky": {
+ "name": "كرگیزی"
+ },
+ "hr": {
+ "name": "كرواتی"
+ },
+ "kk": {
+ "name": "کازاخی"
+ },
+ "ckb": {
+ "name": "کوردیی ناوەندی"
+ },
+ "gl": {
+ "name": "گالیسی"
+ },
+ "gu": {
+ "name": "گوجاراتی"
+ },
+ "ka": {
+ "name": "گۆرجستانی"
+ },
+ "lo": {
+ "name": "لاوی"
+ },
+ "ln": {
+ "name": "لينگالا"
+ },
+ "lt": {
+ "name": "لیتوانی"
+ },
+ "lv": {
+ "name": "لێتۆنی"
+ },
+ "mr": {
+ "name": "ماراتی"
+ },
+ "mzn": {
+ "name": "مازەندەرانی"
+ },
+ "mk": {
+ "name": "ماكێدۆنی"
+ },
+ "mn": {
+ "name": "مەنگۆلی"
+ },
+ "ne": {
+ "name": "نیپالی"
+ },
+ "hu": {
+ "name": "هەنگاری (مەجاری)"
+ },
+ "nl": {
+ "name": "هۆڵەندی"
+ },
+ "nl-BE": {
+ "name": "هۆڵەندی (بەلژیک)"
+ },
+ "he": {
+ "name": "هیبرێ"
+ },
+ "hi": {
+ "name": "هیندی"
+ },
+ "cy": {
+ "name": "وێلزی"
+ },
+ "el": {
+ "name": "یۆنانی"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/cs.json b/vendor/commerceguys/intl/resources/language/cs.json
new file mode 100644
index 000000000..065f61c2f
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/cs.json
@@ -0,0 +1,635 @@
+{
+ "af": {
+ "name": "afrikánština"
+ },
+ "agq": {
+ "name": "aghem"
+ },
+ "ak": {
+ "name": "akanština"
+ },
+ "sq": {
+ "name": "albánština"
+ },
+ "am": {
+ "name": "amharština"
+ },
+ "en": {
+ "name": "angličtina"
+ },
+ "en-AU": {
+ "name": "angličtina (Austrálie)"
+ },
+ "en-CA": {
+ "name": "angličtina (Kanada)"
+ },
+ "en-GB": {
+ "name": "angličtina (Velká Británie)"
+ },
+ "ar": {
+ "name": "arabština"
+ },
+ "hy": {
+ "name": "arménština"
+ },
+ "as": {
+ "name": "ásámština"
+ },
+ "ast": {
+ "name": "asturština"
+ },
+ "asa": {
+ "name": "asu"
+ },
+ "az": {
+ "name": "ázerbájdžánština"
+ },
+ "ksf": {
+ "name": "bafia"
+ },
+ "bm": {
+ "name": "bambarština"
+ },
+ "my": {
+ "name": "barmština"
+ },
+ "bas": {
+ "name": "basa"
+ },
+ "eu": {
+ "name": "baskičtina"
+ },
+ "be": {
+ "name": "běloruština"
+ },
+ "bem": {
+ "name": "bembština"
+ },
+ "bez": {
+ "name": "bena"
+ },
+ "bn": {
+ "name": "bengálština"
+ },
+ "brx": {
+ "name": "bodoština"
+ },
+ "bs": {
+ "name": "bosenština"
+ },
+ "br": {
+ "name": "bretonština"
+ },
+ "bg": {
+ "name": "bulharština"
+ },
+ "ce": {
+ "name": "čečenština"
+ },
+ "chr": {
+ "name": "čerokézština"
+ },
+ "cs": {
+ "name": "čeština"
+ },
+ "zh": {
+ "name": "čínština"
+ },
+ "zh-Hant": {
+ "name": "čínština (tradiční)"
+ },
+ "zh-Hans": {
+ "name": "čínština (zjednodušená)"
+ },
+ "da": {
+ "name": "dánština"
+ },
+ "dsb": {
+ "name": "dolnolužická srbština"
+ },
+ "nds": {
+ "name": "dolnoněmčina"
+ },
+ "nds-NL": {
+ "name": "dolnosaština"
+ },
+ "dua": {
+ "name": "dualština"
+ },
+ "dz": {
+ "name": "dzongkä"
+ },
+ "ebu": {
+ "name": "embu"
+ },
+ "eo": {
+ "name": "esperanto"
+ },
+ "et": {
+ "name": "estonština"
+ },
+ "ee": {
+ "name": "eweština"
+ },
+ "ewo": {
+ "name": "ewondo"
+ },
+ "fo": {
+ "name": "faerština"
+ },
+ "fil": {
+ "name": "filipínština"
+ },
+ "fi": {
+ "name": "finština"
+ },
+ "fr": {
+ "name": "francouzština"
+ },
+ "fr-CA": {
+ "name": "francouzština (Kanada)"
+ },
+ "fr-CH": {
+ "name": "francouzština (Švýcarsko)"
+ },
+ "fy": {
+ "name": "fríština (západní)"
+ },
+ "ff": {
+ "name": "fulbština"
+ },
+ "fur": {
+ "name": "furlanština"
+ },
+ "gl": {
+ "name": "galicijština"
+ },
+ "lg": {
+ "name": "gandština"
+ },
+ "kl": {
+ "name": "grónština"
+ },
+ "ka": {
+ "name": "gruzínština"
+ },
+ "gu": {
+ "name": "gudžarátština"
+ },
+ "guz": {
+ "name": "gusii"
+ },
+ "ha": {
+ "name": "hauština"
+ },
+ "haw": {
+ "name": "havajština"
+ },
+ "he": {
+ "name": "hebrejština"
+ },
+ "hi": {
+ "name": "hindština"
+ },
+ "hsb": {
+ "name": "hornolužická srbština"
+ },
+ "hr": {
+ "name": "chorvatština"
+ },
+ "ig": {
+ "name": "igboština"
+ },
+ "id": {
+ "name": "indonéština"
+ },
+ "ga": {
+ "name": "irština"
+ },
+ "is": {
+ "name": "islandština"
+ },
+ "ii": {
+ "name": "iština (sečuánská)"
+ },
+ "it": {
+ "name": "italština"
+ },
+ "sah": {
+ "name": "jakutština"
+ },
+ "yav": {
+ "name": "jangbenština"
+ },
+ "ja": {
+ "name": "japonština"
+ },
+ "yi": {
+ "name": "jidiš"
+ },
+ "dyo": {
+ "name": "jola-fonyi"
+ },
+ "yo": {
+ "name": "jorubština"
+ },
+ "kab": {
+ "name": "kabylština"
+ },
+ "kkj": {
+ "name": "kako"
+ },
+ "kln": {
+ "name": "kalendžin"
+ },
+ "kam": {
+ "name": "kambština"
+ },
+ "kn": {
+ "name": "kannadština"
+ },
+ "yue": {
+ "name": "kantonština"
+ },
+ "kea": {
+ "name": "kapverdština"
+ },
+ "ks": {
+ "name": "kašmírština"
+ },
+ "ca": {
+ "name": "katalánština"
+ },
+ "kk": {
+ "name": "kazaština"
+ },
+ "qu": {
+ "name": "kečuánština"
+ },
+ "km": {
+ "name": "khmérština"
+ },
+ "cgg": {
+ "name": "kiga"
+ },
+ "ki": {
+ "name": "kikujština"
+ },
+ "rw": {
+ "name": "kiňarwandština"
+ },
+ "rn": {
+ "name": "kirundština"
+ },
+ "ksh": {
+ "name": "kolínština"
+ },
+ "kok": {
+ "name": "konkánština"
+ },
+ "ko": {
+ "name": "korejština"
+ },
+ "kw": {
+ "name": "kornština"
+ },
+ "khq": {
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "name": "koyraboro senni"
+ },
+ "ckb": {
+ "name": "kurdština (sorání)"
+ },
+ "nmg": {
+ "name": "kwasio"
+ },
+ "ky": {
+ "name": "kyrgyzština"
+ },
+ "lkt": {
+ "name": "lakotština"
+ },
+ "lag": {
+ "name": "langi"
+ },
+ "lo": {
+ "name": "laoština"
+ },
+ "ln": {
+ "name": "lingalština"
+ },
+ "lt": {
+ "name": "litevština"
+ },
+ "lv": {
+ "name": "lotyština"
+ },
+ "lu": {
+ "name": "lubu-katanžština"
+ },
+ "lb": {
+ "name": "lucemburština"
+ },
+ "luy": {
+ "name": "luhja"
+ },
+ "luo": {
+ "name": "luoština"
+ },
+ "lrc": {
+ "name": "lúrština (severní)"
+ },
+ "hu": {
+ "name": "maďarština"
+ },
+ "mk": {
+ "name": "makedonština"
+ },
+ "mgh": {
+ "name": "makhuwa-meetto"
+ },
+ "kde": {
+ "name": "makonde"
+ },
+ "ml": {
+ "name": "malajálamština"
+ },
+ "ms": {
+ "name": "malajština"
+ },
+ "mg": {
+ "name": "malgaština"
+ },
+ "mt": {
+ "name": "maltština"
+ },
+ "gv": {
+ "name": "manština"
+ },
+ "mr": {
+ "name": "maráthština"
+ },
+ "mas": {
+ "name": "masajština"
+ },
+ "jmc": {
+ "name": "mašame"
+ },
+ "mfe": {
+ "name": "mauricijská kreolština"
+ },
+ "mzn": {
+ "name": "mázandaránština"
+ },
+ "mer": {
+ "name": "meru"
+ },
+ "mgo": {
+ "name": "meta’"
+ },
+ "ro-MD": {
+ "name": "moldavština"
+ },
+ "mn": {
+ "name": "mongolština"
+ },
+ "mua": {
+ "name": "mundang"
+ },
+ "naq": {
+ "name": "namaština"
+ },
+ "nyn": {
+ "name": "ňankolština"
+ },
+ "nd": {
+ "name": "ndebele (Zimbabwe)"
+ },
+ "de": {
+ "name": "němčina"
+ },
+ "de-AT": {
+ "name": "němčina (Rakousko)"
+ },
+ "gsw": {
+ "name": "němčina (Švýcarsko)"
+ },
+ "wae": {
+ "name": "němčina (walser)"
+ },
+ "de-CH": {
+ "name": "němčina standardní (Švýcarsko)"
+ },
+ "ne": {
+ "name": "nepálština"
+ },
+ "nnh": {
+ "name": "ngiemboon"
+ },
+ "jgo": {
+ "name": "ngomba"
+ },
+ "nl": {
+ "name": "nizozemština"
+ },
+ "nb": {
+ "name": "norština (bokmål)"
+ },
+ "nn": {
+ "name": "norština (nynorsk)"
+ },
+ "nus": {
+ "name": "nuerština"
+ },
+ "om": {
+ "name": "oromština"
+ },
+ "os": {
+ "name": "osetština"
+ },
+ "pa": {
+ "name": "paňdžábština"
+ },
+ "ps": {
+ "name": "paštština"
+ },
+ "fa": {
+ "name": "perština"
+ },
+ "pl": {
+ "name": "polština"
+ },
+ "pt": {
+ "name": "portugalština"
+ },
+ "pt-PT": {
+ "name": "portugalština (Evropa)"
+ },
+ "prg": {
+ "name": "pruština"
+ },
+ "rm": {
+ "name": "rétorománština"
+ },
+ "rof": {
+ "name": "rombo"
+ },
+ "ro": {
+ "name": "rumunština"
+ },
+ "ru": {
+ "name": "ruština"
+ },
+ "rwk": {
+ "name": "rwa"
+ },
+ "el": {
+ "name": "řečtina"
+ },
+ "saq": {
+ "name": "samburu"
+ },
+ "smn": {
+ "name": "sámština (inarijská)"
+ },
+ "se": {
+ "name": "sámština (severní)"
+ },
+ "sbp": {
+ "name": "sangoština"
+ },
+ "sg": {
+ "name": "sangština"
+ },
+ "seh": {
+ "name": "sena"
+ },
+ "si": {
+ "name": "sinhálština"
+ },
+ "gd": {
+ "name": "skotská gaelština"
+ },
+ "sk": {
+ "name": "slovenština"
+ },
+ "sl": {
+ "name": "slovinština"
+ },
+ "xog": {
+ "name": "sogština"
+ },
+ "so": {
+ "name": "somálština"
+ },
+ "sr": {
+ "name": "srbština"
+ },
+ "cu": {
+ "name": "staroslověnština"
+ },
+ "sw": {
+ "name": "svahilština"
+ },
+ "sw-CD": {
+ "name": "svahilština (Kongo)"
+ },
+ "ksb": {
+ "name": "šambala"
+ },
+ "sn": {
+ "name": "šonština"
+ },
+ "es": {
+ "name": "španělština"
+ },
+ "es-MX": {
+ "name": "španělština (Mexiko)"
+ },
+ "sv": {
+ "name": "švédština"
+ },
+ "dav": {
+ "name": "taita"
+ },
+ "zgh": {
+ "name": "tamazight (standardní marocký)"
+ },
+ "tzm": {
+ "name": "tamazight (střední Maroko)"
+ },
+ "ta": {
+ "name": "tamilština"
+ },
+ "twq": {
+ "name": "tasawaq"
+ },
+ "shi": {
+ "name": "tašelhit"
+ },
+ "te": {
+ "name": "telugština"
+ },
+ "teo": {
+ "name": "teso"
+ },
+ "th": {
+ "name": "thajština"
+ },
+ "bo": {
+ "name": "tibetština"
+ },
+ "ti": {
+ "name": "tigrinijština"
+ },
+ "to": {
+ "name": "tongánština"
+ },
+ "tr": {
+ "name": "turečtina"
+ },
+ "tk": {
+ "name": "turkmenština"
+ },
+ "ug": {
+ "name": "ujgurština"
+ },
+ "uk": {
+ "name": "ukrajinština"
+ },
+ "ur": {
+ "name": "urdština"
+ },
+ "or": {
+ "name": "urijština"
+ },
+ "uz": {
+ "name": "uzbečtina"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "cy": {
+ "name": "velština"
+ },
+ "vi": {
+ "name": "vietnamština"
+ },
+ "nl-BE": {
+ "name": "vlámština"
+ },
+ "vo": {
+ "name": "volapük"
+ },
+ "vun": {
+ "name": "vunjo"
+ },
+ "dje": {
+ "name": "zarmština"
+ },
+ "zu": {
+ "name": "zuluština"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/cy.json b/vendor/commerceguys/intl/resources/language/cy.json
new file mode 100644
index 000000000..65d813923
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/cy.json
@@ -0,0 +1,635 @@
+{
+ "ak": {
+ "name": "Acaneg"
+ },
+ "af": {
+ "name": "Affricâneg"
+ },
+ "agq": {
+ "name": "Aghemeg"
+ },
+ "sq": {
+ "name": "Albaneg"
+ },
+ "de": {
+ "name": "Almaeneg"
+ },
+ "de-AT": {
+ "name": "Almaeneg Awstria"
+ },
+ "nds": {
+ "name": "Almaeneg Isel"
+ },
+ "de-CH": {
+ "name": "Almaeneg Safonol y Swistir"
+ },
+ "gsw": {
+ "name": "Almaeneg y Swistir"
+ },
+ "am": {
+ "name": "Amhareg"
+ },
+ "ar": {
+ "name": "Arabeg"
+ },
+ "hy": {
+ "name": "Armeneg"
+ },
+ "as": {
+ "name": "Asameg"
+ },
+ "az": {
+ "name": "Aserbaijaneg"
+ },
+ "ast": {
+ "name": "Astwrianeg"
+ },
+ "asa": {
+ "name": "Asw"
+ },
+ "ksf": {
+ "name": "Baffia"
+ },
+ "bm": {
+ "name": "Bambareg"
+ },
+ "bas": {
+ "name": "Basâeg"
+ },
+ "eu": {
+ "name": "Basgeg"
+ },
+ "bn": {
+ "name": "Bengaleg"
+ },
+ "be": {
+ "name": "Belarwseg"
+ },
+ "bem": {
+ "name": "Bembeg"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "bs": {
+ "name": "Bosnieg"
+ },
+ "bg": {
+ "name": "Bwlgareg"
+ },
+ "my": {
+ "name": "Byrmaneg"
+ },
+ "kab": {
+ "name": "Cabileg"
+ },
+ "kea": {
+ "name": "Caboferdianeg"
+ },
+ "kam": {
+ "name": "Camba"
+ },
+ "yue": {
+ "name": "Cantoneeg"
+ },
+ "kk": {
+ "name": "Casacheg"
+ },
+ "ks": {
+ "name": "Cashmireg"
+ },
+ "ca": {
+ "name": "Catalaneg"
+ },
+ "kw": {
+ "name": "Cernyweg"
+ },
+ "rw": {
+ "name": "Ciniarŵandeg"
+ },
+ "ky": {
+ "name": "Cirgiseg"
+ },
+ "kok": {
+ "name": "Concani"
+ },
+ "ko": {
+ "name": "Coreeg"
+ },
+ "hr": {
+ "name": "Croateg"
+ },
+ "ksh": {
+ "name": "Cwleneg"
+ },
+ "ckb": {
+ "name": "Cwrdeg Sorani"
+ },
+ "cy": {
+ "name": "Cymraeg"
+ },
+ "km": {
+ "name": "Chmereg"
+ },
+ "da": {
+ "name": "Daneg"
+ },
+ "dua": {
+ "name": "Diwaleg"
+ },
+ "dz": {
+ "name": "Dzongkha"
+ },
+ "it": {
+ "name": "Eidaleg"
+ },
+ "ebu": {
+ "name": "Embw"
+ },
+ "eo": {
+ "name": "Esperanto"
+ },
+ "et": {
+ "name": "Estoneg"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "vai": {
+ "name": "Faieg"
+ },
+ "vi": {
+ "name": "Fietnameg"
+ },
+ "vo": {
+ "name": "Folapük"
+ },
+ "vun": {
+ "name": "Funjo"
+ },
+ "fo": {
+ "name": "Ffaröeg"
+ },
+ "fil": {
+ "name": "Ffilipineg"
+ },
+ "fi": {
+ "name": "Ffinneg"
+ },
+ "nl-BE": {
+ "name": "Fflemeg"
+ },
+ "fr": {
+ "name": "Ffrangeg"
+ },
+ "fr-CA": {
+ "name": "Ffrangeg Canada"
+ },
+ "fr-CH": {
+ "name": "Ffrangeg y Swistir"
+ },
+ "fy": {
+ "name": "Ffriseg y Gorllewin"
+ },
+ "fur": {
+ "name": "Ffriwleg"
+ },
+ "ff": {
+ "name": "Ffwla"
+ },
+ "gd": {
+ "name": "Gaeleg yr Alban"
+ },
+ "gl": {
+ "name": "Galisieg"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "ka": {
+ "name": "Georgeg"
+ },
+ "el": {
+ "name": "Groeg"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "gu": {
+ "name": "Gwjarati"
+ },
+ "ga": {
+ "name": "Gwyddeleg"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "haw": {
+ "name": "Hawäieg"
+ },
+ "ha": {
+ "name": "Hawsa"
+ },
+ "he": {
+ "name": "Hebraeg"
+ },
+ "cu": {
+ "name": "Hen Slafoneg"
+ },
+ "hi": {
+ "name": "Hindi"
+ },
+ "hu": {
+ "name": "Hwngareg"
+ },
+ "yav": {
+ "name": "Iangben"
+ },
+ "yi": {
+ "name": "Iddew-Almaeneg"
+ },
+ "ig": {
+ "name": "Igbo"
+ },
+ "id": {
+ "name": "Indoneseg"
+ },
+ "yo": {
+ "name": "Iorwba"
+ },
+ "nl": {
+ "name": "Iseldireg"
+ },
+ "is": {
+ "name": "Islandeg"
+ },
+ "ja": {
+ "name": "Japaneeg"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kl": {
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kn": {
+ "name": "Kannada"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lo": {
+ "name": "Laoeg"
+ },
+ "lv": {
+ "name": "Latfieg"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "lt": {
+ "name": "Lithwaneg"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "lrc": {
+ "name": "Luri Gogleddol"
+ },
+ "lb": {
+ "name": "Lwcsembwrgeg"
+ },
+ "luo": {
+ "name": "Lŵo"
+ },
+ "luy": {
+ "name": "Lwyia"
+ },
+ "br": {
+ "name": "Llydaweg"
+ },
+ "mk": {
+ "name": "Macedoneg"
+ },
+ "kde": {
+ "name": "Macondeg"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "mg": {
+ "name": "Malagaseg"
+ },
+ "ml": {
+ "name": "Malayalam"
+ },
+ "ms": {
+ "name": "Maleieg"
+ },
+ "mt": {
+ "name": "Malteg"
+ },
+ "gv": {
+ "name": "Manaweg"
+ },
+ "mr": {
+ "name": "Marathi"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mzn": {
+ "name": "Masanderani"
+ },
+ "jmc": {
+ "name": "Matsiame"
+ },
+ "mer": {
+ "name": "Mêrw"
+ },
+ "mgo": {
+ "name": "Meta"
+ },
+ "mn": {
+ "name": "Mongoleg"
+ },
+ "ro-MD": {
+ "name": "Moldofeg"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nd": {
+ "name": "Ndebele Gogleddol"
+ },
+ "ne": {
+ "name": "Nepaleg"
+ },
+ "nyn": {
+ "name": "Niancole"
+ },
+ "nb": {
+ "name": "Norwyeg Bokmål"
+ },
+ "nn": {
+ "name": "Norwyeg Nynorsk"
+ },
+ "nus": {
+ "name": "Nŵereg"
+ },
+ "ii": {
+ "name": "Nwosw"
+ },
+ "or": {
+ "name": "Oriya"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "os": {
+ "name": "Oseteg"
+ },
+ "ps": {
+ "name": "Pashto"
+ },
+ "fa": {
+ "name": "Perseg"
+ },
+ "pt": {
+ "name": "Portiwgeeg"
+ },
+ "pt-PT": {
+ "name": "Portiwgeeg Ewrop"
+ },
+ "prg": {
+ "name": "Prwseg"
+ },
+ "pa": {
+ "name": "Pwnjabeg"
+ },
+ "pl": {
+ "name": "Pwyleg"
+ },
+ "qu": {
+ "name": "Quechua"
+ },
+ "rm": {
+ "name": "Románsh"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "ro": {
+ "name": "Rwmaneg"
+ },
+ "rn": {
+ "name": "Rwndi"
+ },
+ "ru": {
+ "name": "Rwseg"
+ },
+ "nds-NL": {
+ "name": "Sacsoneg Isel"
+ },
+ "en": {
+ "name": "Saesneg"
+ },
+ "en-AU": {
+ "name": "Saesneg Awstralia"
+ },
+ "en-CA": {
+ "name": "Saesneg Canada"
+ },
+ "en-GB": {
+ "name": "Saesneg Prydain"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangw"
+ },
+ "sah": {
+ "name": "Sakha"
+ },
+ "saq": {
+ "name": "Sambŵrw"
+ },
+ "se": {
+ "name": "Sami Gogleddol"
+ },
+ "smn": {
+ "name": "Sami Inari"
+ },
+ "es": {
+ "name": "Sbaeneg"
+ },
+ "es-MX": {
+ "name": "Sbaeneg Mecsico"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "sr": {
+ "name": "Serbeg"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "si": {
+ "name": "Sinhaleg"
+ },
+ "sk": {
+ "name": "Slofaceg"
+ },
+ "sl": {
+ "name": "Slofeneg"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "so": {
+ "name": "Somaleg"
+ },
+ "dsb": {
+ "name": "Sorbeg Isaf"
+ },
+ "hsb": {
+ "name": "Sorbeg Uchaf"
+ },
+ "sw": {
+ "name": "Swahili"
+ },
+ "sw-CD": {
+ "name": "Swahili’r Congo"
+ },
+ "sv": {
+ "name": "Swedeg"
+ },
+ "zu": {
+ "name": "Swlw"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "tzm": {
+ "name": "Tamaseit Canolbarth Moroco"
+ },
+ "zgh": {
+ "name": "Tamaseit Safonol"
+ },
+ "ta": {
+ "name": "Tamileg"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "te": {
+ "name": "Telugu"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "bo": {
+ "name": "Tibeteg"
+ },
+ "ti": {
+ "name": "Tigrinya"
+ },
+ "to": {
+ "name": "Tongeg"
+ },
+ "cs": {
+ "name": "Tsieceg"
+ },
+ "zh": {
+ "name": "Tsieineeg"
+ },
+ "zh-Hans": {
+ "name": "Tsieineeg Symledig"
+ },
+ "zh-Hant": {
+ "name": "Tsieineeg Traddodiadol"
+ },
+ "chr": {
+ "name": "Tsierocî"
+ },
+ "ce": {
+ "name": "Tsietsieneg"
+ },
+ "cgg": {
+ "name": "Tsiga"
+ },
+ "tk": {
+ "name": "Twrcmeneg"
+ },
+ "tr": {
+ "name": "Tyrceg"
+ },
+ "th": {
+ "name": "Thai"
+ },
+ "ug": {
+ "name": "Uighur"
+ },
+ "wae": {
+ "name": "Walsereg"
+ },
+ "uk": {
+ "name": "Wcreineg"
+ },
+ "ur": {
+ "name": "Wrdw"
+ },
+ "uz": {
+ "name": "Wsbeceg"
+ },
+ "dje": {
+ "name": "Zarmaeg"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/da.json b/vendor/commerceguys/intl/resources/language/da.json
new file mode 100644
index 000000000..4fdb13996
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/da.json
@@ -0,0 +1,635 @@
+{
+ "af": {
+ "name": "afrikaans"
+ },
+ "agq": {
+ "name": "aghem"
+ },
+ "ak": {
+ "name": "akan"
+ },
+ "sq": {
+ "name": "albansk"
+ },
+ "am": {
+ "name": "amharisk"
+ },
+ "ar": {
+ "name": "arabisk"
+ },
+ "hy": {
+ "name": "armensk"
+ },
+ "az": {
+ "name": "aserbajdsjansk"
+ },
+ "as": {
+ "name": "assamesisk"
+ },
+ "ast": {
+ "name": "asturisk"
+ },
+ "asa": {
+ "name": "asu"
+ },
+ "en-AU": {
+ "name": "australsk engelsk"
+ },
+ "ksf": {
+ "name": "bafia"
+ },
+ "bm": {
+ "name": "bambara"
+ },
+ "eu": {
+ "name": "baskisk"
+ },
+ "bas": {
+ "name": "basaa"
+ },
+ "bem": {
+ "name": "bemba"
+ },
+ "bez": {
+ "name": "bena"
+ },
+ "bn": {
+ "name": "bengali"
+ },
+ "brx": {
+ "name": "bodo"
+ },
+ "bs": {
+ "name": "bosnisk"
+ },
+ "br": {
+ "name": "bretonsk"
+ },
+ "en-GB": {
+ "name": "britisk engelsk"
+ },
+ "bg": {
+ "name": "bulgarsk"
+ },
+ "my": {
+ "name": "burmesisk"
+ },
+ "en-CA": {
+ "name": "canadisk engelsk"
+ },
+ "fr-CA": {
+ "name": "canadisk fransk"
+ },
+ "ca": {
+ "name": "catalansk"
+ },
+ "tzm": {
+ "name": "centralmarokkansk tamazight"
+ },
+ "chr": {
+ "name": "cherokee"
+ },
+ "cgg": {
+ "name": "chiga"
+ },
+ "sw-CD": {
+ "name": "congolesisk swahili"
+ },
+ "kw": {
+ "name": "cornisk"
+ },
+ "da": {
+ "name": "dansk"
+ },
+ "dua": {
+ "name": "duala"
+ },
+ "dz": {
+ "name": "dzongkha"
+ },
+ "smn": {
+ "name": "enaresamisk"
+ },
+ "en": {
+ "name": "engelsk"
+ },
+ "eo": {
+ "name": "esperanto"
+ },
+ "et": {
+ "name": "estisk"
+ },
+ "pt-PT": {
+ "name": "europæisk portugisisk"
+ },
+ "ee": {
+ "name": "ewe"
+ },
+ "ewo": {
+ "name": "ewondo"
+ },
+ "fil": {
+ "name": "filippinsk"
+ },
+ "fi": {
+ "name": "finsk"
+ },
+ "nl-BE": {
+ "name": "flamsk"
+ },
+ "zh-Hans": {
+ "name": "forenklet kinesisk"
+ },
+ "fr": {
+ "name": "fransk"
+ },
+ "fy": {
+ "name": "frisisk"
+ },
+ "fur": {
+ "name": "friulian"
+ },
+ "ff": {
+ "name": "fulah"
+ },
+ "fo": {
+ "name": "færøsk"
+ },
+ "gl": {
+ "name": "galicisk"
+ },
+ "lg": {
+ "name": "ganda"
+ },
+ "ka": {
+ "name": "georgisk"
+ },
+ "el": {
+ "name": "græsk"
+ },
+ "kl": {
+ "name": "grønlandsk"
+ },
+ "gu": {
+ "name": "gujarati"
+ },
+ "guz": {
+ "name": "gusii"
+ },
+ "ha": {
+ "name": "hausa"
+ },
+ "haw": {
+ "name": "hawaiiansk"
+ },
+ "he": {
+ "name": "hebraisk"
+ },
+ "hi": {
+ "name": "hindi"
+ },
+ "nl": {
+ "name": "hollandsk"
+ },
+ "be": {
+ "name": "hviderussisk"
+ },
+ "ig": {
+ "name": "igbo"
+ },
+ "id": {
+ "name": "indonesisk"
+ },
+ "ga": {
+ "name": "irsk"
+ },
+ "is": {
+ "name": "islandsk"
+ },
+ "it": {
+ "name": "italiensk"
+ },
+ "ja": {
+ "name": "japansk"
+ },
+ "yi": {
+ "name": "jiddisch"
+ },
+ "dyo": {
+ "name": "jola-fonyi"
+ },
+ "kab": {
+ "name": "kabylisk"
+ },
+ "kkj": {
+ "name": "kako"
+ },
+ "kln": {
+ "name": "kalenjin"
+ },
+ "kam": {
+ "name": "kamba"
+ },
+ "kn": {
+ "name": "kannada"
+ },
+ "yue": {
+ "name": "kantonesisk"
+ },
+ "kea": {
+ "name": "kapverdisk"
+ },
+ "kk": {
+ "name": "kasakhisk"
+ },
+ "ks": {
+ "name": "kashmiri"
+ },
+ "km": {
+ "name": "khmer"
+ },
+ "ebu": {
+ "name": "kiembu"
+ },
+ "ki": {
+ "name": "kikuyu"
+ },
+ "zh": {
+ "name": "kinesisk"
+ },
+ "rw": {
+ "name": "kinyarwanda"
+ },
+ "ky": {
+ "name": "kirgisisk"
+ },
+ "cu": {
+ "name": "kirkeslavisk"
+ },
+ "kok": {
+ "name": "konkani"
+ },
+ "ko": {
+ "name": "koreansk"
+ },
+ "khq": {
+ "name": "koyra-chiini"
+ },
+ "ses": {
+ "name": "koyraboro senni"
+ },
+ "hr": {
+ "name": "kroatisk"
+ },
+ "nmg": {
+ "name": "kwasio"
+ },
+ "ksh": {
+ "name": "kölsch"
+ },
+ "lkt": {
+ "name": "lakota"
+ },
+ "lag": {
+ "name": "langi"
+ },
+ "lo": {
+ "name": "lao"
+ },
+ "lv": {
+ "name": "lettisk"
+ },
+ "ln": {
+ "name": "lingala"
+ },
+ "lt": {
+ "name": "litauisk"
+ },
+ "lu": {
+ "name": "luba-Katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "luxembourgsk"
+ },
+ "luy": {
+ "name": "luyana"
+ },
+ "jmc": {
+ "name": "machame"
+ },
+ "mk": {
+ "name": "makedonsk"
+ },
+ "mgh": {
+ "name": "makhuwa-meetto"
+ },
+ "kde": {
+ "name": "makonde"
+ },
+ "mg": {
+ "name": "malagassisk"
+ },
+ "ms": {
+ "name": "malajisk"
+ },
+ "ml": {
+ "name": "malayalam"
+ },
+ "mt": {
+ "name": "maltesisk"
+ },
+ "gv": {
+ "name": "manx"
+ },
+ "mr": {
+ "name": "marathisk"
+ },
+ "mas": {
+ "name": "masai"
+ },
+ "mzn": {
+ "name": "mazenisk"
+ },
+ "mer": {
+ "name": "meru"
+ },
+ "mgo": {
+ "name": "meta"
+ },
+ "es-MX": {
+ "name": "mexicansk spansk"
+ },
+ "ro-MD": {
+ "name": "moldovisk"
+ },
+ "mn": {
+ "name": "mongolsk"
+ },
+ "mfe": {
+ "name": "morisyen"
+ },
+ "mua": {
+ "name": "mundang"
+ },
+ "naq": {
+ "name": "nama"
+ },
+ "dsb": {
+ "name": "nedersorbisk"
+ },
+ "nds": {
+ "name": "nedertysk"
+ },
+ "nds-NL": {
+ "name": "nedertysk (Holland)"
+ },
+ "ne": {
+ "name": "nepalesisk"
+ },
+ "nnh": {
+ "name": "ngiemboon"
+ },
+ "jgo": {
+ "name": "ngomba"
+ },
+ "lrc": {
+ "name": "nordluri"
+ },
+ "nd": {
+ "name": "nordndebele"
+ },
+ "se": {
+ "name": "nordsamisk"
+ },
+ "nb": {
+ "name": "norsk bokmål"
+ },
+ "nus": {
+ "name": "nuer"
+ },
+ "nyn": {
+ "name": "nyankole"
+ },
+ "nn": {
+ "name": "nynorsk"
+ },
+ "or": {
+ "name": "oriya"
+ },
+ "om": {
+ "name": "oromo"
+ },
+ "os": {
+ "name": "ossetisk"
+ },
+ "ps": {
+ "name": "pashto"
+ },
+ "fa": {
+ "name": "persisk"
+ },
+ "pl": {
+ "name": "polsk"
+ },
+ "pt": {
+ "name": "portugisisk"
+ },
+ "prg": {
+ "name": "preussisk"
+ },
+ "pa": {
+ "name": "punjabisk"
+ },
+ "qu": {
+ "name": "quechua"
+ },
+ "rof": {
+ "name": "rombo"
+ },
+ "ro": {
+ "name": "rumænsk"
+ },
+ "rn": {
+ "name": "rundi"
+ },
+ "ru": {
+ "name": "russisk"
+ },
+ "rwk": {
+ "name": "rwa"
+ },
+ "rm": {
+ "name": "rætoromansk"
+ },
+ "saq": {
+ "name": "samburu"
+ },
+ "sg": {
+ "name": "sango"
+ },
+ "sbp": {
+ "name": "sangu"
+ },
+ "de-CH": {
+ "name": "schweizerhøjtysk"
+ },
+ "gsw": {
+ "name": "schweizertysk"
+ },
+ "fr-CH": {
+ "name": "schweizisk fransk"
+ },
+ "seh": {
+ "name": "sena"
+ },
+ "sr": {
+ "name": "serbisk"
+ },
+ "ksb": {
+ "name": "shambala"
+ },
+ "sn": {
+ "name": "shona"
+ },
+ "ii": {
+ "name": "sichuan yi"
+ },
+ "si": {
+ "name": "singalesisk"
+ },
+ "gd": {
+ "name": "skotsk gælisk"
+ },
+ "sk": {
+ "name": "slovakisk"
+ },
+ "sl": {
+ "name": "slovensk"
+ },
+ "xog": {
+ "name": "soga"
+ },
+ "so": {
+ "name": "somalisk"
+ },
+ "ckb": {
+ "name": "sorani"
+ },
+ "es": {
+ "name": "spansk"
+ },
+ "sv": {
+ "name": "svensk"
+ },
+ "sw": {
+ "name": "swahili"
+ },
+ "shi": {
+ "name": "tachelhit"
+ },
+ "dav": {
+ "name": "taita"
+ },
+ "zgh": {
+ "name": "tamazight"
+ },
+ "ta": {
+ "name": "tamilsk"
+ },
+ "twq": {
+ "name": "tasawaq"
+ },
+ "te": {
+ "name": "telugu"
+ },
+ "teo": {
+ "name": "teso"
+ },
+ "th": {
+ "name": "thai"
+ },
+ "bo": {
+ "name": "tibetansk"
+ },
+ "ti": {
+ "name": "tigrinya"
+ },
+ "cs": {
+ "name": "tjekkisk"
+ },
+ "ce": {
+ "name": "tjetjensk"
+ },
+ "to": {
+ "name": "tongansk"
+ },
+ "zh-Hant": {
+ "name": "traditionelt kinesisk"
+ },
+ "tk": {
+ "name": "turkmensk"
+ },
+ "tr": {
+ "name": "tyrkisk"
+ },
+ "de": {
+ "name": "tysk"
+ },
+ "uk": {
+ "name": "ukrainsk"
+ },
+ "hu": {
+ "name": "ungarsk"
+ },
+ "ur": {
+ "name": "urdu"
+ },
+ "uz": {
+ "name": "usbekisk"
+ },
+ "ug": {
+ "name": "uygurisk"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vi": {
+ "name": "vietnamesisk"
+ },
+ "vo": {
+ "name": "volapyk"
+ },
+ "vun": {
+ "name": "vunjo"
+ },
+ "cy": {
+ "name": "walisisk"
+ },
+ "wae": {
+ "name": "walsertysk"
+ },
+ "sah": {
+ "name": "yakut"
+ },
+ "yav": {
+ "name": "yangben"
+ },
+ "yo": {
+ "name": "yoruba"
+ },
+ "dje": {
+ "name": "zarma"
+ },
+ "zu": {
+ "name": "zulu"
+ },
+ "de-AT": {
+ "name": "østrigsk tysk"
+ },
+ "hsb": {
+ "name": "øvresorbisk"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/dav.json b/vendor/commerceguys/intl/resources/language/dav.json
new file mode 100644
index 000000000..46ca313e1
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/dav.json
@@ -0,0 +1,632 @@
+{
+ "af": {
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "sq": {
+ "name": "Albanian"
+ },
+ "hy": {
+ "name": "Armenian"
+ },
+ "as": {
+ "name": "Assamese"
+ },
+ "ast": {
+ "name": "Asturian"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "az": {
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "eu": {
+ "name": "Basque"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "bs": {
+ "name": "Bosnian"
+ },
+ "br": {
+ "name": "Breton"
+ },
+ "yue": {
+ "name": "Cantonese"
+ },
+ "ca": {
+ "name": "Catalan"
+ },
+ "tzm": {
+ "name": "Central Atlas Tamazight"
+ },
+ "ckb": {
+ "name": "Central Kurdish"
+ },
+ "ce": {
+ "name": "Chechen"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "cu": {
+ "name": "Church Slavic"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "kw": {
+ "name": "Cornish"
+ },
+ "hr": {
+ "name": "Croatian"
+ },
+ "da": {
+ "name": "Danish"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "dz": {
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "eo": {
+ "name": "Esperanto"
+ },
+ "et": {
+ "name": "Estonian"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fo": {
+ "name": "Faroese"
+ },
+ "fil": {
+ "name": "Filipino"
+ },
+ "fi": {
+ "name": "Finnish"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "gl": {
+ "name": "Galician"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "ka": {
+ "name": "Georgian"
+ },
+ "gu": {
+ "name": "Gujarati"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "haw": {
+ "name": "Hawaiian"
+ },
+ "he": {
+ "name": "Hebrew"
+ },
+ "is": {
+ "name": "Icelandic"
+ },
+ "smn": {
+ "name": "Inari Sami"
+ },
+ "ga": {
+ "name": "Irish"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabyle"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kl": {
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "kn": {
+ "name": "Kannada"
+ },
+ "ks": {
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "name": "Kazakh"
+ },
+ "fa": {
+ "name": "Kiajemi"
+ },
+ "ak": {
+ "name": "Kiakan"
+ },
+ "am": {
+ "name": "Kiamhari"
+ },
+ "ar": {
+ "name": "Kiarabu"
+ },
+ "bn": {
+ "name": "Kibangla"
+ },
+ "be": {
+ "name": "Kibelarusi"
+ },
+ "bg": {
+ "name": "Kibulgaria"
+ },
+ "my": {
+ "name": "Kiburma"
+ },
+ "cs": {
+ "name": "Kichecki"
+ },
+ "zh": {
+ "name": "Kichina"
+ },
+ "zh-Hans": {
+ "name": "Kichina (Hans)"
+ },
+ "zh-Hant": {
+ "name": "Kichina (Hant)"
+ },
+ "fr": {
+ "name": "Kifaransa"
+ },
+ "fr-CA": {
+ "name": "Kifaransa (Kanada)"
+ },
+ "fr-CH": {
+ "name": "Kifaransa (Uswisi)"
+ },
+ "el": {
+ "name": "Kigiriki"
+ },
+ "ha": {
+ "name": "Kihausa"
+ },
+ "hi": {
+ "name": "Kihindi"
+ },
+ "es": {
+ "name": "Kihispania"
+ },
+ "es-MX": {
+ "name": "Kihispania (Meksiko)"
+ },
+ "nl": {
+ "name": "Kiholanzi"
+ },
+ "nl-BE": {
+ "name": "Kiholanzi (Ubelgiji)"
+ },
+ "hu": {
+ "name": "Kihungari"
+ },
+ "ig": {
+ "name": "Kiigbo"
+ },
+ "id": {
+ "name": "Kiindonesia"
+ },
+ "it": {
+ "name": "Kiitaliano"
+ },
+ "ja": {
+ "name": "Kijapani"
+ },
+ "de": {
+ "name": "Kijerumani"
+ },
+ "de-AT": {
+ "name": "Kijerumani (Austria)"
+ },
+ "de-CH": {
+ "name": "Kijerumani (Uswisi)"
+ },
+ "km": {
+ "name": "Kikambodia"
+ },
+ "ko": {
+ "name": "Kikorea"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "ms": {
+ "name": "Kimalesia"
+ },
+ "ne": {
+ "name": "Kinepali"
+ },
+ "en": {
+ "name": "Kingereza"
+ },
+ "en-AU": {
+ "name": "Kingereza (Australia)"
+ },
+ "en-CA": {
+ "name": "Kingereza (Kanada)"
+ },
+ "en-GB": {
+ "name": "Kingereza (Uingereza)"
+ },
+ "rw": {
+ "name": "Kinyarwanda"
+ },
+ "pl": {
+ "name": "Kipolandi"
+ },
+ "pa": {
+ "name": "Kipunjabi"
+ },
+ "pt": {
+ "name": "Kireno"
+ },
+ "pt-PT": {
+ "name": "Kireno (Ureno)"
+ },
+ "ro": {
+ "name": "Kiromania"
+ },
+ "ro-MD": {
+ "name": "Kiromania (Moldova)"
+ },
+ "ru": {
+ "name": "Kirusi"
+ },
+ "so": {
+ "name": "Kisomali"
+ },
+ "sv": {
+ "name": "Kiswidi"
+ },
+ "th": {
+ "name": "Kitailandi"
+ },
+ "dav": {
+ "name": "Kitaita"
+ },
+ "ta": {
+ "name": "Kitamil"
+ },
+ "tr": {
+ "name": "Kituruki"
+ },
+ "uk": {
+ "name": "Kiukrania"
+ },
+ "ur": {
+ "name": "Kiurdu"
+ },
+ "vi": {
+ "name": "Kivietinamu"
+ },
+ "yo": {
+ "name": "Kiyoruba"
+ },
+ "zu": {
+ "name": "Kizulu"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "ky": {
+ "name": "Kyrgyz"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "Lao"
+ },
+ "lv": {
+ "name": "Latvian"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "lt": {
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "mk": {
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "mg": {
+ "name": "Malagasy"
+ },
+ "ml": {
+ "name": "Malayalam"
+ },
+ "mt": {
+ "name": "Maltese"
+ },
+ "gv": {
+ "name": "Manx"
+ },
+ "mr": {
+ "name": "Marathi"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "mn": {
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nds-NL": {
+ "name": "nds (Uholanzi)"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "nd": {
+ "name": "North Ndebele"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "se": {
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "or": {
+ "name": "Odia"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "os": {
+ "name": "Ossetic"
+ },
+ "ps": {
+ "name": "Pashto"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "qu": {
+ "name": "Quechua"
+ },
+ "rm": {
+ "name": "Romansh"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "rn": {
+ "name": "Rundi"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "sah": {
+ "name": "Sakha"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "gd": {
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "sr": {
+ "name": "Serbian"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "si": {
+ "name": "Sinhala"
+ },
+ "sk": {
+ "name": "Slovak"
+ },
+ "sl": {
+ "name": "Slovenian"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw-CD": {
+ "name": "sw (Jamhuri ya Kidemokrasia ya Kongo)"
+ },
+ "sw": {
+ "name": "Swahili"
+ },
+ "gsw": {
+ "name": "Swiss German"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "te": {
+ "name": "Telugu"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "bo": {
+ "name": "Tibetan"
+ },
+ "ti": {
+ "name": "Tigrinya"
+ },
+ "to": {
+ "name": "Tongan"
+ },
+ "tk": {
+ "name": "Turkmen"
+ },
+ "hsb": {
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "name": "Uyghur"
+ },
+ "uz": {
+ "name": "Uzbek"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "cy": {
+ "name": "Welsh"
+ },
+ "fy": {
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "yi": {
+ "name": "Yiddish"
+ },
+ "dje": {
+ "name": "Zarma"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/de-AT.json b/vendor/commerceguys/intl/resources/language/de-AT.json
new file mode 100644
index 000000000..89c42b5eb
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/de-AT.json
@@ -0,0 +1,635 @@
+{
+ "af": {
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "ak": {
+ "name": "Akan"
+ },
+ "sq": {
+ "name": "Albanisch"
+ },
+ "prg": {
+ "name": "Altpreußisch"
+ },
+ "am": {
+ "name": "Amharisch"
+ },
+ "ar": {
+ "name": "Arabisch"
+ },
+ "hy": {
+ "name": "Armenisch"
+ },
+ "az": {
+ "name": "Aserbaidschanisch"
+ },
+ "as": {
+ "name": "Assamesisch"
+ },
+ "ast": {
+ "name": "Asturianisch"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "en-AU": {
+ "name": "Australisches Englisch"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "eu": {
+ "name": "Baskisch"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "bn": {
+ "name": "Bengalisch"
+ },
+ "my": {
+ "name": "Birmanisch"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "bs": {
+ "name": "Bosnisch"
+ },
+ "br": {
+ "name": "Bretonisch"
+ },
+ "en-GB": {
+ "name": "Britisches Englisch"
+ },
+ "bg": {
+ "name": "Bulgarisch"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "zh": {
+ "name": "Chinesisch"
+ },
+ "zh-Hant": {
+ "name": "Chinesisch (traditionell)"
+ },
+ "zh-Hans": {
+ "name": "Chinesisch (vereinfacht)"
+ },
+ "da": {
+ "name": "Dänisch"
+ },
+ "de": {
+ "name": "Deutsch"
+ },
+ "dyo": {
+ "name": "Diola"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "dz": {
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "en": {
+ "name": "Englisch"
+ },
+ "eo": {
+ "name": "Esperanto"
+ },
+ "et": {
+ "name": "Estnisch"
+ },
+ "pt-PT": {
+ "name": "Europäisches Portugiesisch"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fo": {
+ "name": "Färöisch"
+ },
+ "fil": {
+ "name": "Filipino"
+ },
+ "fi": {
+ "name": "Finnisch"
+ },
+ "nl-BE": {
+ "name": "Flämisch"
+ },
+ "fr": {
+ "name": "Französisch"
+ },
+ "fur": {
+ "name": "Friulanisch"
+ },
+ "ff": {
+ "name": "Ful"
+ },
+ "gl": {
+ "name": "Galicisch"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "ka": {
+ "name": "Georgisch"
+ },
+ "el": {
+ "name": "Griechisch"
+ },
+ "kl": {
+ "name": "Grönländisch"
+ },
+ "gu": {
+ "name": "Gujarati"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "ha": {
+ "name": "Hausa"
+ },
+ "haw": {
+ "name": "Hawaiianisch"
+ },
+ "he": {
+ "name": "Hebräisch"
+ },
+ "hi": {
+ "name": "Hindi"
+ },
+ "ig": {
+ "name": "Igbo"
+ },
+ "smn": {
+ "name": "Inari-Samisch"
+ },
+ "id": {
+ "name": "Indonesisch"
+ },
+ "ga": {
+ "name": "Irisch"
+ },
+ "is": {
+ "name": "Isländisch"
+ },
+ "it": {
+ "name": "Italienisch"
+ },
+ "sah": {
+ "name": "Jakutisch"
+ },
+ "ja": {
+ "name": "Japanisch"
+ },
+ "yi": {
+ "name": "Jiddisch"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabylisch"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "en-CA": {
+ "name": "Kanadisches Englisch"
+ },
+ "fr-CA": {
+ "name": "Kanadisches Französisch"
+ },
+ "kn": {
+ "name": "Kannada"
+ },
+ "yue": {
+ "name": "Kantonesisch"
+ },
+ "kk": {
+ "name": "Kasachisch"
+ },
+ "ks": {
+ "name": "Kaschmiri"
+ },
+ "ca": {
+ "name": "Katalanisch"
+ },
+ "km": {
+ "name": "Khmer"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "rw": {
+ "name": "Kinyarwanda"
+ },
+ "cu": {
+ "name": "Kirchenslawisch"
+ },
+ "ky": {
+ "name": "Kirgisisch"
+ },
+ "ksh": {
+ "name": "Kölsch"
+ },
+ "sw-CD": {
+ "name": "Kongo-Swahili"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "ko": {
+ "name": "Koreanisch"
+ },
+ "kw": {
+ "name": "Kornisch"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyra Senni"
+ },
+ "hr": {
+ "name": "Kroatisch"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "Laotisch"
+ },
+ "lv": {
+ "name": "Lettisch"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "lt": {
+ "name": "Litauisch"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "luy": {
+ "name": "Luhya"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "Luxemburgisch"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mg": {
+ "name": "Madagassisch"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "ms": {
+ "name": "Malaiisch"
+ },
+ "ml": {
+ "name": "Malayalam"
+ },
+ "mt": {
+ "name": "Maltesisch"
+ },
+ "gv": {
+ "name": "Manx"
+ },
+ "mr": {
+ "name": "Marathi"
+ },
+ "mzn": {
+ "name": "Masanderanisch"
+ },
+ "mas": {
+ "name": "Massai"
+ },
+ "mk": {
+ "name": "Mazedonisch"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Meta’"
+ },
+ "es-MX": {
+ "name": "Mexikanisches Spanisch"
+ },
+ "ro-MD": {
+ "name": "Moldauisch"
+ },
+ "mn": {
+ "name": "Mongolisch"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "ne": {
+ "name": "Nepalesisch"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "nds": {
+ "name": "Niederdeutsch"
+ },
+ "nl": {
+ "name": "Niederländisch"
+ },
+ "nds-NL": {
+ "name": "Niedersächsisch"
+ },
+ "dsb": {
+ "name": "Niedersorbisch"
+ },
+ "nd": {
+ "name": "Nord-Ndebele"
+ },
+ "lrc": {
+ "name": "Nördliches Luri"
+ },
+ "se": {
+ "name": "Nordsamisch"
+ },
+ "nb": {
+ "name": "Norwegisch Bokmål"
+ },
+ "nn": {
+ "name": "Norwegisch Nynorsk"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "hsb": {
+ "name": "Obersorbisch"
+ },
+ "or": {
+ "name": "Oriya"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "os": {
+ "name": "Ossetisch"
+ },
+ "de-AT": {
+ "name": "Österreichisches Deutsch"
+ },
+ "ps": {
+ "name": "Paschtu"
+ },
+ "fa": {
+ "name": "Persisch"
+ },
+ "pl": {
+ "name": "Polnisch"
+ },
+ "pt": {
+ "name": "Portugiesisch"
+ },
+ "pa": {
+ "name": "Punjabi"
+ },
+ "qu": {
+ "name": "Quechua"
+ },
+ "rm": {
+ "name": "Rätoromanisch"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "cgg": {
+ "name": "Rukiga"
+ },
+ "ro": {
+ "name": "Rumänisch"
+ },
+ "rn": {
+ "name": "Rundi"
+ },
+ "ru": {
+ "name": "Russisch"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "gd": {
+ "name": "Schottisches Gälisch"
+ },
+ "sv": {
+ "name": "Schwedisch"
+ },
+ "fr-CH": {
+ "name": "Schweizer Französisch"
+ },
+ "de-CH": {
+ "name": "Schweizer Hochdeutsch"
+ },
+ "gsw": {
+ "name": "Schweizerdeutsch"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "sr": {
+ "name": "Serbisch"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "si": {
+ "name": "Singhalesisch"
+ },
+ "sk": {
+ "name": "Slowakisch"
+ },
+ "sl": {
+ "name": "Slowenisch"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "so": {
+ "name": "Somali"
+ },
+ "es": {
+ "name": "Spanisch"
+ },
+ "sw": {
+ "name": "Suaheli"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "zgh": {
+ "name": "Tamazight"
+ },
+ "ta": {
+ "name": "Tamil"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "shi": {
+ "name": "Taschelhit"
+ },
+ "te": {
+ "name": "Telugu"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "th": {
+ "name": "Thailändisch"
+ },
+ "bo": {
+ "name": "Tibetisch"
+ },
+ "ti": {
+ "name": "Tigrinya"
+ },
+ "to": {
+ "name": "Tongaisch"
+ },
+ "cs": {
+ "name": "Tschechisch"
+ },
+ "ce": {
+ "name": "Tschetschenisch"
+ },
+ "tr": {
+ "name": "Türkisch"
+ },
+ "tk": {
+ "name": "Turkmenisch"
+ },
+ "ug": {
+ "name": "Uigurisch"
+ },
+ "uk": {
+ "name": "Ukrainisch"
+ },
+ "hu": {
+ "name": "Ungarisch"
+ },
+ "ur": {
+ "name": "Urdu"
+ },
+ "uz": {
+ "name": "Usbekisch"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vi": {
+ "name": "Vietnamesisch"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "cy": {
+ "name": "Walisisch"
+ },
+ "wae": {
+ "name": "Walliserdeutsch"
+ },
+ "be": {
+ "name": "Weißrussisch"
+ },
+ "fy": {
+ "name": "Westfriesisch"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "ii": {
+ "name": "Yi"
+ },
+ "yo": {
+ "name": "Yoruba"
+ },
+ "dje": {
+ "name": "Zarma"
+ },
+ "tzm": {
+ "name": "Zentralatlas-Tamazight"
+ },
+ "ckb": {
+ "name": "Zentralkurdisch"
+ },
+ "zu": {
+ "name": "Zulu"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/de-CH.json b/vendor/commerceguys/intl/resources/language/de-CH.json
new file mode 100644
index 000000000..798934829
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/de-CH.json
@@ -0,0 +1,635 @@
+{
+ "af": {
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "ak": {
+ "name": "Akan"
+ },
+ "sq": {
+ "name": "Albanisch"
+ },
+ "prg": {
+ "name": "Altpreussisch"
+ },
+ "am": {
+ "name": "Amharisch"
+ },
+ "ar": {
+ "name": "Arabisch"
+ },
+ "hy": {
+ "name": "Armenisch"
+ },
+ "az": {
+ "name": "Aserbaidschanisch"
+ },
+ "as": {
+ "name": "Assamesisch"
+ },
+ "ast": {
+ "name": "Asturianisch"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "en-AU": {
+ "name": "Australisches Englisch"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bas": {
+ "name": "Basaa-Sprache"
+ },
+ "eu": {
+ "name": "Baskisch"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "bn": {
+ "name": "Bengalisch"
+ },
+ "my": {
+ "name": "Birmanisch"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "bs": {
+ "name": "Bosnisch"
+ },
+ "br": {
+ "name": "Bretonisch"
+ },
+ "en-GB": {
+ "name": "Britisches Englisch"
+ },
+ "bg": {
+ "name": "Bulgarisch"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "zh": {
+ "name": "Chinesisch"
+ },
+ "zh-Hant": {
+ "name": "Chinesisch (traditionell)"
+ },
+ "zh-Hans": {
+ "name": "Chinesisch (vereinfacht)"
+ },
+ "da": {
+ "name": "Dänisch"
+ },
+ "de": {
+ "name": "Deutsch"
+ },
+ "dyo": {
+ "name": "Diola"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "dz": {
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "en": {
+ "name": "Englisch"
+ },
+ "eo": {
+ "name": "Esperanto"
+ },
+ "et": {
+ "name": "Estnisch"
+ },
+ "pt-PT": {
+ "name": "Europäisches Portugiesisch"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fo": {
+ "name": "Färöisch"
+ },
+ "fil": {
+ "name": "Filipino"
+ },
+ "fi": {
+ "name": "Finnisch"
+ },
+ "nl-BE": {
+ "name": "Flämisch"
+ },
+ "fr": {
+ "name": "Französisch"
+ },
+ "fur": {
+ "name": "Friaulisch"
+ },
+ "ff": {
+ "name": "Ful"
+ },
+ "gl": {
+ "name": "Galicisch"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "ka": {
+ "name": "Georgisch"
+ },
+ "el": {
+ "name": "Griechisch"
+ },
+ "kl": {
+ "name": "Grönländisch"
+ },
+ "gu": {
+ "name": "Gujarati"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "ha": {
+ "name": "Haussa"
+ },
+ "haw": {
+ "name": "Hawaiisch"
+ },
+ "he": {
+ "name": "Hebräisch"
+ },
+ "hi": {
+ "name": "Hindi"
+ },
+ "ig": {
+ "name": "Igbo"
+ },
+ "smn": {
+ "name": "Inari-Samisch"
+ },
+ "id": {
+ "name": "Indonesisch"
+ },
+ "ga": {
+ "name": "Irisch"
+ },
+ "is": {
+ "name": "Isländisch"
+ },
+ "it": {
+ "name": "Italienisch"
+ },
+ "sah": {
+ "name": "Jakutisch"
+ },
+ "ja": {
+ "name": "Japanisch"
+ },
+ "yi": {
+ "name": "Jiddisch"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabylisch"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "en-CA": {
+ "name": "Kanadisches Englisch"
+ },
+ "fr-CA": {
+ "name": "Kanadisches Französisch"
+ },
+ "kn": {
+ "name": "Kannada"
+ },
+ "yue": {
+ "name": "Kantonesisch"
+ },
+ "kk": {
+ "name": "Kasachisch"
+ },
+ "ks": {
+ "name": "Kaschmiri"
+ },
+ "ca": {
+ "name": "Katalanisch"
+ },
+ "km": {
+ "name": "Khmer"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "rw": {
+ "name": "Kinyarwanda"
+ },
+ "cu": {
+ "name": "Kirchenslawisch"
+ },
+ "ky": {
+ "name": "Kirgisisch"
+ },
+ "ksh": {
+ "name": "Kölsch"
+ },
+ "sw-CD": {
+ "name": "Kongo-Swahili"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "ko": {
+ "name": "Koreanisch"
+ },
+ "kw": {
+ "name": "Kornisch"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyra Senni"
+ },
+ "hr": {
+ "name": "Kroatisch"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "Laotisch"
+ },
+ "lv": {
+ "name": "Lettisch"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "lt": {
+ "name": "Litauisch"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "luy": {
+ "name": "Luhya"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "Luxemburgisch"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mg": {
+ "name": "Madagassisch"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "ms": {
+ "name": "Malaiisch"
+ },
+ "ml": {
+ "name": "Malayalam"
+ },
+ "mt": {
+ "name": "Maltesisch"
+ },
+ "gv": {
+ "name": "Manx"
+ },
+ "mr": {
+ "name": "Marathi"
+ },
+ "mzn": {
+ "name": "Masanderanisch"
+ },
+ "mas": {
+ "name": "Massai"
+ },
+ "mk": {
+ "name": "Mazedonisch"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Meta’"
+ },
+ "es-MX": {
+ "name": "Mexikanisches Spanisch"
+ },
+ "ro-MD": {
+ "name": "Moldauisch"
+ },
+ "mn": {
+ "name": "Mongolisch"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "ne": {
+ "name": "Nepalesisch"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "nds": {
+ "name": "Niederdeutsch"
+ },
+ "nl": {
+ "name": "Niederländisch"
+ },
+ "nds-NL": {
+ "name": "Niedersächsisch"
+ },
+ "dsb": {
+ "name": "Niedersorbisch"
+ },
+ "nd": {
+ "name": "Nord-Ndebele"
+ },
+ "lrc": {
+ "name": "Nördliches Luri"
+ },
+ "se": {
+ "name": "Nordsamisch"
+ },
+ "nb": {
+ "name": "Norwegisch Bokmål"
+ },
+ "nn": {
+ "name": "Norwegisch Nynorsk"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "hsb": {
+ "name": "Obersorbisch"
+ },
+ "or": {
+ "name": "Oriya"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "os": {
+ "name": "Ossetisch"
+ },
+ "de-AT": {
+ "name": "Österreichisches Deutsch"
+ },
+ "ps": {
+ "name": "Paschtu"
+ },
+ "fa": {
+ "name": "Persisch"
+ },
+ "pl": {
+ "name": "Polnisch"
+ },
+ "pt": {
+ "name": "Portugiesisch"
+ },
+ "pa": {
+ "name": "Punjabi"
+ },
+ "qu": {
+ "name": "Quechua"
+ },
+ "rm": {
+ "name": "Rätoromanisch"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "cgg": {
+ "name": "Rukiga"
+ },
+ "ro": {
+ "name": "Rumänisch"
+ },
+ "rn": {
+ "name": "Rundi"
+ },
+ "ru": {
+ "name": "Russisch"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "gd": {
+ "name": "Schottisches Gälisch"
+ },
+ "sv": {
+ "name": "Schwedisch"
+ },
+ "fr-CH": {
+ "name": "Schweizer Französisch"
+ },
+ "de-CH": {
+ "name": "Schweizer Hochdeutsch"
+ },
+ "gsw": {
+ "name": "Schweizerdeutsch"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "sr": {
+ "name": "Serbisch"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "si": {
+ "name": "Singhalesisch"
+ },
+ "sk": {
+ "name": "Slowakisch"
+ },
+ "sl": {
+ "name": "Slowenisch"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "so": {
+ "name": "Somali"
+ },
+ "es": {
+ "name": "Spanisch"
+ },
+ "sw": {
+ "name": "Suaheli"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "zgh": {
+ "name": "Tamazight"
+ },
+ "ta": {
+ "name": "Tamil"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "shi": {
+ "name": "Taschelhit"
+ },
+ "te": {
+ "name": "Telugu"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "th": {
+ "name": "Thailändisch"
+ },
+ "bo": {
+ "name": "Tibetisch"
+ },
+ "ti": {
+ "name": "Tigrinya"
+ },
+ "to": {
+ "name": "Tongaisch"
+ },
+ "cs": {
+ "name": "Tschechisch"
+ },
+ "ce": {
+ "name": "Tschetschenisch"
+ },
+ "tr": {
+ "name": "Türkisch"
+ },
+ "tk": {
+ "name": "Turkmenisch"
+ },
+ "ug": {
+ "name": "Uigurisch"
+ },
+ "uk": {
+ "name": "Ukrainisch"
+ },
+ "hu": {
+ "name": "Ungarisch"
+ },
+ "ur": {
+ "name": "Urdu"
+ },
+ "uz": {
+ "name": "Usbekisch"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vi": {
+ "name": "Vietnamesisch"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "cy": {
+ "name": "Walisisch"
+ },
+ "wae": {
+ "name": "Walliserdeutsch"
+ },
+ "be": {
+ "name": "Weissrussisch"
+ },
+ "fy": {
+ "name": "Westfriesisch"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "ii": {
+ "name": "Yi"
+ },
+ "yo": {
+ "name": "Yoruba"
+ },
+ "dje": {
+ "name": "Zarma"
+ },
+ "tzm": {
+ "name": "Zentralatlas-Tamazight"
+ },
+ "ckb": {
+ "name": "Zentralkurdisch"
+ },
+ "zu": {
+ "name": "Zulu"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/de-LU.json b/vendor/commerceguys/intl/resources/language/de-LU.json
new file mode 100644
index 000000000..17a5575e6
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/de-LU.json
@@ -0,0 +1,635 @@
+{
+ "af": {
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "ak": {
+ "name": "Akan"
+ },
+ "sq": {
+ "name": "Albanisch"
+ },
+ "prg": {
+ "name": "Altpreußisch"
+ },
+ "am": {
+ "name": "Amharisch"
+ },
+ "ar": {
+ "name": "Arabisch"
+ },
+ "hy": {
+ "name": "Armenisch"
+ },
+ "az": {
+ "name": "Aserbaidschanisch"
+ },
+ "as": {
+ "name": "Assamesisch"
+ },
+ "ast": {
+ "name": "Asturianisch"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "en-AU": {
+ "name": "Australisches Englisch"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "eu": {
+ "name": "Baskisch"
+ },
+ "be": {
+ "name": "Belarussisch"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "bn": {
+ "name": "Bengalisch"
+ },
+ "my": {
+ "name": "Birmanisch"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "bs": {
+ "name": "Bosnisch"
+ },
+ "br": {
+ "name": "Bretonisch"
+ },
+ "en-GB": {
+ "name": "Britisches Englisch"
+ },
+ "bg": {
+ "name": "Bulgarisch"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "zh": {
+ "name": "Chinesisch"
+ },
+ "zh-Hant": {
+ "name": "Chinesisch (traditionell)"
+ },
+ "zh-Hans": {
+ "name": "Chinesisch (vereinfacht)"
+ },
+ "da": {
+ "name": "Dänisch"
+ },
+ "de": {
+ "name": "Deutsch"
+ },
+ "dyo": {
+ "name": "Diola"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "dz": {
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "en": {
+ "name": "Englisch"
+ },
+ "eo": {
+ "name": "Esperanto"
+ },
+ "et": {
+ "name": "Estnisch"
+ },
+ "pt-PT": {
+ "name": "Europäisches Portugiesisch"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fo": {
+ "name": "Färöisch"
+ },
+ "fil": {
+ "name": "Filipino"
+ },
+ "fi": {
+ "name": "Finnisch"
+ },
+ "nl-BE": {
+ "name": "Flämisch"
+ },
+ "fr": {
+ "name": "Französisch"
+ },
+ "fur": {
+ "name": "Friaulisch"
+ },
+ "ff": {
+ "name": "Ful"
+ },
+ "gl": {
+ "name": "Galicisch"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "ka": {
+ "name": "Georgisch"
+ },
+ "el": {
+ "name": "Griechisch"
+ },
+ "kl": {
+ "name": "Grönländisch"
+ },
+ "gu": {
+ "name": "Gujarati"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "ha": {
+ "name": "Haussa"
+ },
+ "haw": {
+ "name": "Hawaiisch"
+ },
+ "he": {
+ "name": "Hebräisch"
+ },
+ "hi": {
+ "name": "Hindi"
+ },
+ "ig": {
+ "name": "Igbo"
+ },
+ "smn": {
+ "name": "Inari-Samisch"
+ },
+ "id": {
+ "name": "Indonesisch"
+ },
+ "ga": {
+ "name": "Irisch"
+ },
+ "is": {
+ "name": "Isländisch"
+ },
+ "it": {
+ "name": "Italienisch"
+ },
+ "sah": {
+ "name": "Jakutisch"
+ },
+ "ja": {
+ "name": "Japanisch"
+ },
+ "yi": {
+ "name": "Jiddisch"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabylisch"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "en-CA": {
+ "name": "Kanadisches Englisch"
+ },
+ "fr-CA": {
+ "name": "Kanadisches Französisch"
+ },
+ "kn": {
+ "name": "Kannada"
+ },
+ "yue": {
+ "name": "Kantonesisch"
+ },
+ "kk": {
+ "name": "Kasachisch"
+ },
+ "ks": {
+ "name": "Kaschmiri"
+ },
+ "ca": {
+ "name": "Katalanisch"
+ },
+ "km": {
+ "name": "Khmer"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "rw": {
+ "name": "Kinyarwanda"
+ },
+ "cu": {
+ "name": "Kirchenslawisch"
+ },
+ "ky": {
+ "name": "Kirgisisch"
+ },
+ "ksh": {
+ "name": "Kölsch"
+ },
+ "sw-CD": {
+ "name": "Kongo-Swahili"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "ko": {
+ "name": "Koreanisch"
+ },
+ "kw": {
+ "name": "Kornisch"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyra Senni"
+ },
+ "hr": {
+ "name": "Kroatisch"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "Laotisch"
+ },
+ "lv": {
+ "name": "Lettisch"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "lt": {
+ "name": "Litauisch"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "luy": {
+ "name": "Luhya"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "Luxemburgisch"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mg": {
+ "name": "Madagassisch"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "ms": {
+ "name": "Malaiisch"
+ },
+ "ml": {
+ "name": "Malayalam"
+ },
+ "mt": {
+ "name": "Maltesisch"
+ },
+ "gv": {
+ "name": "Manx"
+ },
+ "mr": {
+ "name": "Marathi"
+ },
+ "mzn": {
+ "name": "Masanderanisch"
+ },
+ "mas": {
+ "name": "Massai"
+ },
+ "mk": {
+ "name": "Mazedonisch"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Meta’"
+ },
+ "es-MX": {
+ "name": "Mexikanisches Spanisch"
+ },
+ "ro-MD": {
+ "name": "Moldauisch"
+ },
+ "mn": {
+ "name": "Mongolisch"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "ne": {
+ "name": "Nepalesisch"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "nds": {
+ "name": "Niederdeutsch"
+ },
+ "nl": {
+ "name": "Niederländisch"
+ },
+ "nds-NL": {
+ "name": "Niedersächsisch"
+ },
+ "dsb": {
+ "name": "Niedersorbisch"
+ },
+ "nd": {
+ "name": "Nord-Ndebele"
+ },
+ "lrc": {
+ "name": "Nördliches Luri"
+ },
+ "se": {
+ "name": "Nordsamisch"
+ },
+ "nb": {
+ "name": "Norwegisch Bokmål"
+ },
+ "nn": {
+ "name": "Norwegisch Nynorsk"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "hsb": {
+ "name": "Obersorbisch"
+ },
+ "or": {
+ "name": "Oriya"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "os": {
+ "name": "Ossetisch"
+ },
+ "de-AT": {
+ "name": "Österreichisches Deutsch"
+ },
+ "ps": {
+ "name": "Paschtu"
+ },
+ "fa": {
+ "name": "Persisch"
+ },
+ "pl": {
+ "name": "Polnisch"
+ },
+ "pt": {
+ "name": "Portugiesisch"
+ },
+ "pa": {
+ "name": "Punjabi"
+ },
+ "qu": {
+ "name": "Quechua"
+ },
+ "rm": {
+ "name": "Rätoromanisch"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "cgg": {
+ "name": "Rukiga"
+ },
+ "ro": {
+ "name": "Rumänisch"
+ },
+ "rn": {
+ "name": "Rundi"
+ },
+ "ru": {
+ "name": "Russisch"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "gd": {
+ "name": "Schottisches Gälisch"
+ },
+ "sv": {
+ "name": "Schwedisch"
+ },
+ "fr-CH": {
+ "name": "Schweizer Französisch"
+ },
+ "de-CH": {
+ "name": "Schweizer Hochdeutsch"
+ },
+ "gsw": {
+ "name": "Schweizerdeutsch"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "sr": {
+ "name": "Serbisch"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "si": {
+ "name": "Singhalesisch"
+ },
+ "sk": {
+ "name": "Slowakisch"
+ },
+ "sl": {
+ "name": "Slowenisch"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "so": {
+ "name": "Somali"
+ },
+ "es": {
+ "name": "Spanisch"
+ },
+ "sw": {
+ "name": "Suaheli"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "zgh": {
+ "name": "Tamazight"
+ },
+ "ta": {
+ "name": "Tamil"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "shi": {
+ "name": "Taschelhit"
+ },
+ "te": {
+ "name": "Telugu"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "th": {
+ "name": "Thailändisch"
+ },
+ "bo": {
+ "name": "Tibetisch"
+ },
+ "ti": {
+ "name": "Tigrinya"
+ },
+ "to": {
+ "name": "Tongaisch"
+ },
+ "cs": {
+ "name": "Tschechisch"
+ },
+ "ce": {
+ "name": "Tschetschenisch"
+ },
+ "tr": {
+ "name": "Türkisch"
+ },
+ "tk": {
+ "name": "Turkmenisch"
+ },
+ "ug": {
+ "name": "Uigurisch"
+ },
+ "uk": {
+ "name": "Ukrainisch"
+ },
+ "hu": {
+ "name": "Ungarisch"
+ },
+ "ur": {
+ "name": "Urdu"
+ },
+ "uz": {
+ "name": "Usbekisch"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vi": {
+ "name": "Vietnamesisch"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "cy": {
+ "name": "Walisisch"
+ },
+ "wae": {
+ "name": "Walliserdeutsch"
+ },
+ "fy": {
+ "name": "Westfriesisch"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "ii": {
+ "name": "Yi"
+ },
+ "yo": {
+ "name": "Yoruba"
+ },
+ "dje": {
+ "name": "Zarma"
+ },
+ "tzm": {
+ "name": "Zentralatlas-Tamazight"
+ },
+ "ckb": {
+ "name": "Zentralkurdisch"
+ },
+ "zu": {
+ "name": "Zulu"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/de.json b/vendor/commerceguys/intl/resources/language/de.json
new file mode 100644
index 000000000..8c9333d2d
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/de.json
@@ -0,0 +1,635 @@
+{
+ "af": {
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "ak": {
+ "name": "Akan"
+ },
+ "sq": {
+ "name": "Albanisch"
+ },
+ "prg": {
+ "name": "Altpreußisch"
+ },
+ "am": {
+ "name": "Amharisch"
+ },
+ "ar": {
+ "name": "Arabisch"
+ },
+ "hy": {
+ "name": "Armenisch"
+ },
+ "az": {
+ "name": "Aserbaidschanisch"
+ },
+ "as": {
+ "name": "Assamesisch"
+ },
+ "ast": {
+ "name": "Asturianisch"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "en-AU": {
+ "name": "Australisches Englisch"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "eu": {
+ "name": "Baskisch"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "bn": {
+ "name": "Bengalisch"
+ },
+ "my": {
+ "name": "Birmanisch"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "bs": {
+ "name": "Bosnisch"
+ },
+ "br": {
+ "name": "Bretonisch"
+ },
+ "en-GB": {
+ "name": "Britisches Englisch"
+ },
+ "bg": {
+ "name": "Bulgarisch"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "zh": {
+ "name": "Chinesisch"
+ },
+ "zh-Hant": {
+ "name": "Chinesisch (traditionell)"
+ },
+ "zh-Hans": {
+ "name": "Chinesisch (vereinfacht)"
+ },
+ "da": {
+ "name": "Dänisch"
+ },
+ "de": {
+ "name": "Deutsch"
+ },
+ "dyo": {
+ "name": "Diola"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "dz": {
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "en": {
+ "name": "Englisch"
+ },
+ "eo": {
+ "name": "Esperanto"
+ },
+ "et": {
+ "name": "Estnisch"
+ },
+ "pt-PT": {
+ "name": "Europäisches Portugiesisch"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fo": {
+ "name": "Färöisch"
+ },
+ "fil": {
+ "name": "Filipino"
+ },
+ "fi": {
+ "name": "Finnisch"
+ },
+ "nl-BE": {
+ "name": "Flämisch"
+ },
+ "fr": {
+ "name": "Französisch"
+ },
+ "fur": {
+ "name": "Friaulisch"
+ },
+ "ff": {
+ "name": "Ful"
+ },
+ "gl": {
+ "name": "Galicisch"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "ka": {
+ "name": "Georgisch"
+ },
+ "el": {
+ "name": "Griechisch"
+ },
+ "kl": {
+ "name": "Grönländisch"
+ },
+ "gu": {
+ "name": "Gujarati"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "ha": {
+ "name": "Haussa"
+ },
+ "haw": {
+ "name": "Hawaiisch"
+ },
+ "he": {
+ "name": "Hebräisch"
+ },
+ "hi": {
+ "name": "Hindi"
+ },
+ "ig": {
+ "name": "Igbo"
+ },
+ "smn": {
+ "name": "Inari-Samisch"
+ },
+ "id": {
+ "name": "Indonesisch"
+ },
+ "ga": {
+ "name": "Irisch"
+ },
+ "is": {
+ "name": "Isländisch"
+ },
+ "it": {
+ "name": "Italienisch"
+ },
+ "sah": {
+ "name": "Jakutisch"
+ },
+ "ja": {
+ "name": "Japanisch"
+ },
+ "yi": {
+ "name": "Jiddisch"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabylisch"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "en-CA": {
+ "name": "Kanadisches Englisch"
+ },
+ "fr-CA": {
+ "name": "Kanadisches Französisch"
+ },
+ "kn": {
+ "name": "Kannada"
+ },
+ "yue": {
+ "name": "Kantonesisch"
+ },
+ "kk": {
+ "name": "Kasachisch"
+ },
+ "ks": {
+ "name": "Kaschmiri"
+ },
+ "ca": {
+ "name": "Katalanisch"
+ },
+ "km": {
+ "name": "Khmer"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "rw": {
+ "name": "Kinyarwanda"
+ },
+ "cu": {
+ "name": "Kirchenslawisch"
+ },
+ "ky": {
+ "name": "Kirgisisch"
+ },
+ "ksh": {
+ "name": "Kölsch"
+ },
+ "sw-CD": {
+ "name": "Kongo-Swahili"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "ko": {
+ "name": "Koreanisch"
+ },
+ "kw": {
+ "name": "Kornisch"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyra Senni"
+ },
+ "hr": {
+ "name": "Kroatisch"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "Laotisch"
+ },
+ "lv": {
+ "name": "Lettisch"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "lt": {
+ "name": "Litauisch"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "luy": {
+ "name": "Luhya"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "Luxemburgisch"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mg": {
+ "name": "Madagassisch"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "ms": {
+ "name": "Malaiisch"
+ },
+ "ml": {
+ "name": "Malayalam"
+ },
+ "mt": {
+ "name": "Maltesisch"
+ },
+ "gv": {
+ "name": "Manx"
+ },
+ "mr": {
+ "name": "Marathi"
+ },
+ "mzn": {
+ "name": "Masanderanisch"
+ },
+ "mas": {
+ "name": "Massai"
+ },
+ "mk": {
+ "name": "Mazedonisch"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Meta’"
+ },
+ "es-MX": {
+ "name": "Mexikanisches Spanisch"
+ },
+ "ro-MD": {
+ "name": "Moldauisch"
+ },
+ "mn": {
+ "name": "Mongolisch"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "ne": {
+ "name": "Nepalesisch"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "nds": {
+ "name": "Niederdeutsch"
+ },
+ "nl": {
+ "name": "Niederländisch"
+ },
+ "nds-NL": {
+ "name": "Niedersächsisch"
+ },
+ "dsb": {
+ "name": "Niedersorbisch"
+ },
+ "nd": {
+ "name": "Nord-Ndebele"
+ },
+ "lrc": {
+ "name": "Nördliches Luri"
+ },
+ "se": {
+ "name": "Nordsamisch"
+ },
+ "nb": {
+ "name": "Norwegisch Bokmål"
+ },
+ "nn": {
+ "name": "Norwegisch Nynorsk"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "hsb": {
+ "name": "Obersorbisch"
+ },
+ "or": {
+ "name": "Oriya"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "os": {
+ "name": "Ossetisch"
+ },
+ "de-AT": {
+ "name": "Österreichisches Deutsch"
+ },
+ "ps": {
+ "name": "Paschtu"
+ },
+ "fa": {
+ "name": "Persisch"
+ },
+ "pl": {
+ "name": "Polnisch"
+ },
+ "pt": {
+ "name": "Portugiesisch"
+ },
+ "pa": {
+ "name": "Punjabi"
+ },
+ "qu": {
+ "name": "Quechua"
+ },
+ "rm": {
+ "name": "Rätoromanisch"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "cgg": {
+ "name": "Rukiga"
+ },
+ "ro": {
+ "name": "Rumänisch"
+ },
+ "rn": {
+ "name": "Rundi"
+ },
+ "ru": {
+ "name": "Russisch"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "gd": {
+ "name": "Schottisches Gälisch"
+ },
+ "sv": {
+ "name": "Schwedisch"
+ },
+ "fr-CH": {
+ "name": "Schweizer Französisch"
+ },
+ "de-CH": {
+ "name": "Schweizer Hochdeutsch"
+ },
+ "gsw": {
+ "name": "Schweizerdeutsch"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "sr": {
+ "name": "Serbisch"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "si": {
+ "name": "Singhalesisch"
+ },
+ "sk": {
+ "name": "Slowakisch"
+ },
+ "sl": {
+ "name": "Slowenisch"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "so": {
+ "name": "Somali"
+ },
+ "es": {
+ "name": "Spanisch"
+ },
+ "sw": {
+ "name": "Suaheli"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "zgh": {
+ "name": "Tamazight"
+ },
+ "ta": {
+ "name": "Tamil"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "shi": {
+ "name": "Taschelhit"
+ },
+ "te": {
+ "name": "Telugu"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "th": {
+ "name": "Thailändisch"
+ },
+ "bo": {
+ "name": "Tibetisch"
+ },
+ "ti": {
+ "name": "Tigrinya"
+ },
+ "to": {
+ "name": "Tongaisch"
+ },
+ "cs": {
+ "name": "Tschechisch"
+ },
+ "ce": {
+ "name": "Tschetschenisch"
+ },
+ "tr": {
+ "name": "Türkisch"
+ },
+ "tk": {
+ "name": "Turkmenisch"
+ },
+ "ug": {
+ "name": "Uigurisch"
+ },
+ "uk": {
+ "name": "Ukrainisch"
+ },
+ "hu": {
+ "name": "Ungarisch"
+ },
+ "ur": {
+ "name": "Urdu"
+ },
+ "uz": {
+ "name": "Usbekisch"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vi": {
+ "name": "Vietnamesisch"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "cy": {
+ "name": "Walisisch"
+ },
+ "wae": {
+ "name": "Walliserdeutsch"
+ },
+ "be": {
+ "name": "Weißrussisch"
+ },
+ "fy": {
+ "name": "Westfriesisch"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "ii": {
+ "name": "Yi"
+ },
+ "yo": {
+ "name": "Yoruba"
+ },
+ "dje": {
+ "name": "Zarma"
+ },
+ "tzm": {
+ "name": "Zentralatlas-Tamazight"
+ },
+ "ckb": {
+ "name": "Zentralkurdisch"
+ },
+ "zu": {
+ "name": "Zulu"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/dje.json b/vendor/commerceguys/intl/resources/language/dje.json
new file mode 100644
index 000000000..e322adf49
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/dje.json
@@ -0,0 +1,632 @@
+{
+ "af": {
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "ak": {
+ "name": "Akan senni"
+ },
+ "sq": {
+ "name": "Albanian"
+ },
+ "de": {
+ "name": "Almaŋ senni"
+ },
+ "de-AT": {
+ "name": "Almaŋ senni (Otriši)"
+ },
+ "de-CH": {
+ "name": "Almaŋ senni (Swisu)"
+ },
+ "am": {
+ "name": "Amhaarik senni"
+ },
+ "hy": {
+ "name": "Armenian"
+ },
+ "as": {
+ "name": "Assamese"
+ },
+ "ast": {
+ "name": "Asturian"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "az": {
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "eu": {
+ "name": "Basque"
+ },
+ "be": {
+ "name": "Belaruus senni"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "bn": {
+ "name": "Bengali senni"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "bs": {
+ "name": "Bosnian"
+ },
+ "br": {
+ "name": "Breton"
+ },
+ "bg": {
+ "name": "Bulagaari senni"
+ },
+ "my": {
+ "name": "Burme senni"
+ },
+ "yue": {
+ "name": "Cantonese"
+ },
+ "ca": {
+ "name": "Catalan"
+ },
+ "cs": {
+ "name": "Cek senni"
+ },
+ "tzm": {
+ "name": "Central Atlas Tamazight"
+ },
+ "ckb": {
+ "name": "Central Kurdish"
+ },
+ "ce": {
+ "name": "Chechen"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "cu": {
+ "name": "Church Slavic"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "kw": {
+ "name": "Cornish"
+ },
+ "hr": {
+ "name": "Croatian"
+ },
+ "da": {
+ "name": "Danish"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "dz": {
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "es": {
+ "name": "Espaaɲe senni"
+ },
+ "es-MX": {
+ "name": "Espaaɲe senni (Mexiki)"
+ },
+ "eo": {
+ "name": "Esperanto"
+ },
+ "et": {
+ "name": "Estonian"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fo": {
+ "name": "Faroese"
+ },
+ "fa": {
+ "name": "Farsi senni"
+ },
+ "fil": {
+ "name": "Filipino"
+ },
+ "fi": {
+ "name": "Finnish"
+ },
+ "fr": {
+ "name": "Fransee senni"
+ },
+ "fr-CA": {
+ "name": "Fransee senni (Kanaada)"
+ },
+ "fr-CH": {
+ "name": "Fransee senni (Swisu)"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "gl": {
+ "name": "Galician"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "ka": {
+ "name": "Georgian"
+ },
+ "el": {
+ "name": "Grek senni"
+ },
+ "gu": {
+ "name": "Gujarati"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "haw": {
+ "name": "Hawaiian"
+ },
+ "ha": {
+ "name": "Hawsance senni"
+ },
+ "he": {
+ "name": "Hebrew"
+ },
+ "nl": {
+ "name": "Holandee senni"
+ },
+ "nl-BE": {
+ "name": "Holandee senni (Belgiiki)"
+ },
+ "hu": {
+ "name": "Hungaari senni"
+ },
+ "ig": {
+ "name": "Iboo senni"
+ },
+ "is": {
+ "name": "Icelandic"
+ },
+ "smn": {
+ "name": "Inari Sami"
+ },
+ "id": {
+ "name": "Indoneesi senni"
+ },
+ "hi": {
+ "name": "Induu senni"
+ },
+ "en": {
+ "name": "Inglisi senni"
+ },
+ "en-GB": {
+ "name": "Inglisi senni (Albaasalaama Marganta)"
+ },
+ "en-CA": {
+ "name": "Inglisi senni (Kanaada)"
+ },
+ "en-AU": {
+ "name": "Inglisi senni (Ostraali)"
+ },
+ "ga": {
+ "name": "Irish"
+ },
+ "it": {
+ "name": "Itaali senni"
+ },
+ "ja": {
+ "name": "Japonee senni"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabyle"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kl": {
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "kn": {
+ "name": "Kannada"
+ },
+ "ks": {
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "name": "Kazakh"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "km": {
+ "name": "Kmeer senni"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "ko": {
+ "name": "Koree senni"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "ky": {
+ "name": "Kyrgyz"
+ },
+ "ar": {
+ "name": "Laaraw senni"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "Lao"
+ },
+ "lv": {
+ "name": "Latvian"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "lt": {
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "mk": {
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "mg": {
+ "name": "Malagasy"
+ },
+ "ml": {
+ "name": "Malayalam"
+ },
+ "ms": {
+ "name": "Maleezi senni"
+ },
+ "mt": {
+ "name": "Maltese"
+ },
+ "gv": {
+ "name": "Manx"
+ },
+ "mr": {
+ "name": "Marathi"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "mn": {
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nds-NL": {
+ "name": "nds (Hollandu)"
+ },
+ "ne": {
+ "name": "Neepal senni"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "nd": {
+ "name": "North Ndebele"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "se": {
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "or": {
+ "name": "Odia"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "os": {
+ "name": "Ossetic"
+ },
+ "ps": {
+ "name": "Pashto"
+ },
+ "pl": {
+ "name": "Polonee senni"
+ },
+ "pt": {
+ "name": "Portugee senni"
+ },
+ "pt-PT": {
+ "name": "Portugee senni (Portugaal)"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "pa": {
+ "name": "Punjaabi sennii"
+ },
+ "qu": {
+ "name": "Quechua"
+ },
+ "rm": {
+ "name": "Romansh"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "ro": {
+ "name": "Rumaani senni"
+ },
+ "ro-MD": {
+ "name": "Rumaani senni (Moldovi)"
+ },
+ "rn": {
+ "name": "Rundi"
+ },
+ "ru": {
+ "name": "Ruusi senni"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "rw": {
+ "name": "Rwanda senni"
+ },
+ "sah": {
+ "name": "Sakha"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "gd": {
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "sr": {
+ "name": "Serbian"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "si": {
+ "name": "Sinhala"
+ },
+ "zh": {
+ "name": "Sinuwa senni"
+ },
+ "zh-Hans": {
+ "name": "Sinuwa senni (Hans)"
+ },
+ "zh-Hant": {
+ "name": "Sinuwa senni (Hant)"
+ },
+ "sk": {
+ "name": "Slovak"
+ },
+ "sl": {
+ "name": "Slovenian"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "so": {
+ "name": "Somaali senni"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sv": {
+ "name": "Suweede senni"
+ },
+ "sw-CD": {
+ "name": "sw (Kongoo demookaratiki laboo)"
+ },
+ "sw": {
+ "name": "Swahili"
+ },
+ "gsw": {
+ "name": "Swiss German"
+ },
+ "th": {
+ "name": "Taailandu senni"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "ta": {
+ "name": "Tamil senni"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "te": {
+ "name": "Telugu"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "bo": {
+ "name": "Tibetan"
+ },
+ "ti": {
+ "name": "Tigrinya"
+ },
+ "to": {
+ "name": "Tongan"
+ },
+ "tk": {
+ "name": "Turkmen"
+ },
+ "tr": {
+ "name": "Turku senni"
+ },
+ "uk": {
+ "name": "Ukreen senni"
+ },
+ "hsb": {
+ "name": "Upper Sorbian"
+ },
+ "ur": {
+ "name": "Urdu senni"
+ },
+ "ug": {
+ "name": "Uyghur"
+ },
+ "uz": {
+ "name": "Uzbek"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vi": {
+ "name": "Vietnaam senni"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "cy": {
+ "name": "Welsh"
+ },
+ "fy": {
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "yi": {
+ "name": "Yiddish"
+ },
+ "yo": {
+ "name": "Yorbance senni"
+ },
+ "dje": {
+ "name": "Zarmaciine"
+ },
+ "zu": {
+ "name": "Zulu senni"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/dsb.json b/vendor/commerceguys/intl/resources/language/dsb.json
new file mode 100644
index 000000000..36165e336
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/dsb.json
@@ -0,0 +1,635 @@
+{
+ "af": {
+ "name": "afrikans"
+ },
+ "agq": {
+ "name": "aghem"
+ },
+ "ak": {
+ "name": "akanšćina"
+ },
+ "sq": {
+ "name": "albanšćina"
+ },
+ "am": {
+ "name": "amharšćina"
+ },
+ "ar": {
+ "name": "arabšćina"
+ },
+ "hy": {
+ "name": "armeńšćina"
+ },
+ "as": {
+ "name": "asamšćina"
+ },
+ "ast": {
+ "name": "asturšćina"
+ },
+ "en-AU": {
+ "name": "awstralska engelšćina"
+ },
+ "de-AT": {
+ "name": "awstriska nimšćina"
+ },
+ "az": {
+ "name": "azerbajdžanšćina"
+ },
+ "ksf": {
+ "name": "bafia"
+ },
+ "bm": {
+ "name": "bambara"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "eu": {
+ "name": "baskišćina"
+ },
+ "bem": {
+ "name": "bemba"
+ },
+ "bez": {
+ "name": "bena"
+ },
+ "bn": {
+ "name": "bengalšćina"
+ },
+ "be": {
+ "name": "běłorušćina"
+ },
+ "brx": {
+ "name": "bodo"
+ },
+ "bs": {
+ "name": "bosnišćina"
+ },
+ "br": {
+ "name": "bretonšćina"
+ },
+ "en-GB": {
+ "name": "britiska engelšćina"
+ },
+ "bg": {
+ "name": "bulgaršćina"
+ },
+ "my": {
+ "name": "burmašćina"
+ },
+ "yue": {
+ "name": "Cantonese"
+ },
+ "tzm": {
+ "name": "centralnoatlaski tamazight"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "cs": {
+ "name": "češćina"
+ },
+ "da": {
+ "name": "danšćina"
+ },
+ "nds": {
+ "name": "dolnonimšćina"
+ },
+ "nds-NL": {
+ "name": "dolnonimšćina (Nižozemska)"
+ },
+ "dsb": {
+ "name": "dolnoserbšćina"
+ },
+ "dua": {
+ "name": "duala"
+ },
+ "dz": {
+ "name": "dzongkha"
+ },
+ "ebu": {
+ "name": "embu"
+ },
+ "en": {
+ "name": "engelšćina"
+ },
+ "eo": {
+ "name": "esperanto"
+ },
+ "et": {
+ "name": "estišćina"
+ },
+ "pt-PT": {
+ "name": "europejska portugalšćina"
+ },
+ "ee": {
+ "name": "ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fo": {
+ "name": "ferejšćina"
+ },
+ "fil": {
+ "name": "filipinšćina"
+ },
+ "fi": {
+ "name": "finšćina"
+ },
+ "nl-BE": {
+ "name": "flamšćina"
+ },
+ "fr": {
+ "name": "francojšćina"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "fy": {
+ "name": "frizišćina"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "gl": {
+ "name": "galicišćina"
+ },
+ "lg": {
+ "name": "gandšćina"
+ },
+ "ka": {
+ "name": "georgišćina"
+ },
+ "hsb": {
+ "name": "górnoserbšćina"
+ },
+ "el": {
+ "name": "grichišćina"
+ },
+ "kl": {
+ "name": "grönlandšćina"
+ },
+ "gu": {
+ "name": "gudžaratšćina"
+ },
+ "guz": {
+ "name": "gusii"
+ },
+ "ha": {
+ "name": "hausa"
+ },
+ "haw": {
+ "name": "hawaiišćina"
+ },
+ "he": {
+ "name": "hebrejšćina"
+ },
+ "hi": {
+ "name": "hindišćina"
+ },
+ "hu": {
+ "name": "hungoršćina"
+ },
+ "ce": {
+ "name": "Chechen"
+ },
+ "chr": {
+ "name": "cherokee"
+ },
+ "cgg": {
+ "name": "chiga"
+ },
+ "zh": {
+ "name": "chinšćina"
+ },
+ "zh-Hant": {
+ "name": "chinšćina (tradicionalna)"
+ },
+ "zh-Hans": {
+ "name": "chinšćina (zjadnorjona)"
+ },
+ "hr": {
+ "name": "chorwatšćina"
+ },
+ "cu": {
+ "name": "Church Slavic"
+ },
+ "ig": {
+ "name": "igbo"
+ },
+ "smn": {
+ "name": "inari-samišćina"
+ },
+ "id": {
+ "name": "indonešćina"
+ },
+ "ga": {
+ "name": "iršćina"
+ },
+ "is": {
+ "name": "islandšćina"
+ },
+ "it": {
+ "name": "italšćina"
+ },
+ "ja": {
+ "name": "japańšćina"
+ },
+ "yi": {
+ "name": "jidišćina"
+ },
+ "dyo": {
+ "name": "jola-fonyi"
+ },
+ "yo": {
+ "name": "jorubšćina"
+ },
+ "kab": {
+ "name": "kabylšćina"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kln": {
+ "name": "kalenjin"
+ },
+ "kam": {
+ "name": "kamba"
+ },
+ "km": {
+ "name": "kambodžanšćina"
+ },
+ "en-CA": {
+ "name": "kanadiska engelšćina"
+ },
+ "fr-CA": {
+ "name": "kanadiska francojšćina"
+ },
+ "kn": {
+ "name": "kannadšćina"
+ },
+ "kea": {
+ "name": "kapverdšćina"
+ },
+ "ks": {
+ "name": "kašmiršćina"
+ },
+ "ca": {
+ "name": "katanlanšćina"
+ },
+ "kk": {
+ "name": "kazachšćina"
+ },
+ "qu": {
+ "name": "kečua"
+ },
+ "ki": {
+ "name": "kikuyu"
+ },
+ "rw": {
+ "name": "kinjarwanda"
+ },
+ "ky": {
+ "name": "kirgišćina"
+ },
+ "rn": {
+ "name": "kirundišćina"
+ },
+ "sw-CD": {
+ "name": "kongojska swahilišćina"
+ },
+ "kok": {
+ "name": "konkani"
+ },
+ "ko": {
+ "name": "korejańšćina"
+ },
+ "kw": {
+ "name": "kornišćina"
+ },
+ "khq": {
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "name": "koyra senni"
+ },
+ "nmg": {
+ "name": "kwasio"
+ },
+ "lkt": {
+ "name": "lakotšćina"
+ },
+ "lag": {
+ "name": "langi"
+ },
+ "lo": {
+ "name": "laošćina"
+ },
+ "se": {
+ "name": "lapšćina"
+ },
+ "lv": {
+ "name": "letišćina"
+ },
+ "ln": {
+ "name": "lingala"
+ },
+ "lt": {
+ "name": "litawšćina"
+ },
+ "lu": {
+ "name": "luba-katanga"
+ },
+ "luy": {
+ "name": "luhya"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "luxemburgšćina"
+ },
+ "jmc": {
+ "name": "machame"
+ },
+ "mk": {
+ "name": "makedońšćina"
+ },
+ "mgh": {
+ "name": "makhuwa-meetto"
+ },
+ "kde": {
+ "name": "makonde"
+ },
+ "ml": {
+ "name": "malajamšćina"
+ },
+ "ms": {
+ "name": "malajšćina"
+ },
+ "mg": {
+ "name": "malgašćina"
+ },
+ "mt": {
+ "name": "maltašćina"
+ },
+ "gv": {
+ "name": "manšćina"
+ },
+ "mr": {
+ "name": "maratišćina"
+ },
+ "mas": {
+ "name": "masaišćina"
+ },
+ "mfe": {
+ "name": "mauriciska kreolšćina"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "meru"
+ },
+ "mgo": {
+ "name": "meta’"
+ },
+ "es-MX": {
+ "name": "mexikańska špańšćina"
+ },
+ "ro-MD": {
+ "name": "moldawišćina"
+ },
+ "mn": {
+ "name": "mongolšćina"
+ },
+ "mua": {
+ "name": "mundang"
+ },
+ "naq": {
+ "name": "nama"
+ },
+ "ne": {
+ "name": "nepalšćina"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "ngomba"
+ },
+ "de": {
+ "name": "nimšćina"
+ },
+ "nl": {
+ "name": "nižozemšćina"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "nb": {
+ "name": "norwegske bokmål"
+ },
+ "nn": {
+ "name": "norwegske nynorsk"
+ },
+ "nus": {
+ "name": "nuer"
+ },
+ "nyn": {
+ "name": "nyankole"
+ },
+ "or": {
+ "name": "orojišćina"
+ },
+ "om": {
+ "name": "oromo"
+ },
+ "os": {
+ "name": "Ossetic"
+ },
+ "pa": {
+ "name": "pandžabšćina"
+ },
+ "asa": {
+ "name": "pare"
+ },
+ "ps": {
+ "name": "paštunšćina"
+ },
+ "fa": {
+ "name": "persišćina"
+ },
+ "nd": {
+ "name": "pódpołnocne ndebele"
+ },
+ "pl": {
+ "name": "pólšćina"
+ },
+ "pt": {
+ "name": "portugalšćina"
+ },
+ "prg": {
+ "name": "prusčina"
+ },
+ "rm": {
+ "name": "retoromańšćina"
+ },
+ "rof": {
+ "name": "rombo"
+ },
+ "ro": {
+ "name": "rumunšćina"
+ },
+ "ru": {
+ "name": "rušćina"
+ },
+ "rwk": {
+ "name": "rwa"
+ },
+ "sah": {
+ "name": "Sakha"
+ },
+ "saq": {
+ "name": "samburu"
+ },
+ "sg": {
+ "name": "sango"
+ },
+ "sbp": {
+ "name": "sangu"
+ },
+ "seh": {
+ "name": "sena"
+ },
+ "sr": {
+ "name": "serbišćina"
+ },
+ "ii": {
+ "name": "sichuan yi"
+ },
+ "si": {
+ "name": "singalšćina"
+ },
+ "sk": {
+ "name": "słowakšćina"
+ },
+ "sl": {
+ "name": "słowjeńšćina"
+ },
+ "xog": {
+ "name": "soga"
+ },
+ "so": {
+ "name": "somališćina"
+ },
+ "ckb": {
+ "name": "sorani"
+ },
+ "zgh": {
+ "name": "standardny marokkański tamazight"
+ },
+ "sw": {
+ "name": "swahilišćina"
+ },
+ "ksb": {
+ "name": "šambala"
+ },
+ "sn": {
+ "name": "šonšćina"
+ },
+ "gd": {
+ "name": "šotišćina"
+ },
+ "es": {
+ "name": "špańšćina"
+ },
+ "sv": {
+ "name": "šwedšćina"
+ },
+ "fr-CH": {
+ "name": "šwicarska francojšćina"
+ },
+ "gsw": {
+ "name": "šwicarska nimšćina"
+ },
+ "de-CH": {
+ "name": "šwicarska wusokonimšćina"
+ },
+ "dav": {
+ "name": "taita"
+ },
+ "ta": {
+ "name": "tamilšćina"
+ },
+ "twq": {
+ "name": "tasawaq"
+ },
+ "shi": {
+ "name": "tašelhit"
+ },
+ "te": {
+ "name": "telugšćina"
+ },
+ "teo": {
+ "name": "teso"
+ },
+ "th": {
+ "name": "thailandšćina"
+ },
+ "bo": {
+ "name": "tibetšćina"
+ },
+ "ti": {
+ "name": "tigrinja"
+ },
+ "to": {
+ "name": "tonganšćina"
+ },
+ "tk": {
+ "name": "turkmeńšćina"
+ },
+ "tr": {
+ "name": "turkojšćina"
+ },
+ "ug": {
+ "name": "ujguršćina"
+ },
+ "uk": {
+ "name": "ukrainšćina"
+ },
+ "ur": {
+ "name": "urdušćina"
+ },
+ "uz": {
+ "name": "usbekšćina"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vi": {
+ "name": "vietnamšćina"
+ },
+ "vo": {
+ "name": "volapük"
+ },
+ "vun": {
+ "name": "vunjo"
+ },
+ "cy": {
+ "name": "walizišćina"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "dje": {
+ "name": "zarma"
+ },
+ "zu": {
+ "name": "zulu"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/dyo.json b/vendor/commerceguys/intl/resources/language/dyo.json
new file mode 100644
index 000000000..f2b79a02d
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/dyo.json
@@ -0,0 +1,632 @@
+{
+ "af": {
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "ak": {
+ "name": "akan"
+ },
+ "sq": {
+ "name": "Albanian"
+ },
+ "de": {
+ "name": "alman"
+ },
+ "de-CH": {
+ "name": "alman (CH)"
+ },
+ "de-AT": {
+ "name": "alman (Otris)"
+ },
+ "am": {
+ "name": "amharik"
+ },
+ "en": {
+ "name": "angle"
+ },
+ "en-GB": {
+ "name": "angle (GB)"
+ },
+ "en-CA": {
+ "name": "angle (Kanada)"
+ },
+ "en-AU": {
+ "name": "angle (Ostraalia)"
+ },
+ "ar": {
+ "name": "arab"
+ },
+ "hy": {
+ "name": "Armenian"
+ },
+ "as": {
+ "name": "Assamese"
+ },
+ "ast": {
+ "name": "Asturian"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "az": {
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "eu": {
+ "name": "Basque"
+ },
+ "be": {
+ "name": "belarus"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "bn": {
+ "name": "bengali"
+ },
+ "my": {
+ "name": "birmani"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "bs": {
+ "name": "Bosnian"
+ },
+ "br": {
+ "name": "Breton"
+ },
+ "bg": {
+ "name": "bulgaari"
+ },
+ "yue": {
+ "name": "Cantonese"
+ },
+ "ca": {
+ "name": "Catalan"
+ },
+ "tzm": {
+ "name": "Central Atlas Tamazight"
+ },
+ "ckb": {
+ "name": "Central Kurdish"
+ },
+ "ce": {
+ "name": "Chechen"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "cu": {
+ "name": "Church Slavic"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "kw": {
+ "name": "Cornish"
+ },
+ "hr": {
+ "name": "Croatian"
+ },
+ "da": {
+ "name": "Danish"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "dz": {
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "hi": {
+ "name": "endu"
+ },
+ "es": {
+ "name": "español"
+ },
+ "es-MX": {
+ "name": "español (MX)"
+ },
+ "eo": {
+ "name": "Esperanto"
+ },
+ "et": {
+ "name": "Estonian"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fo": {
+ "name": "Faroese"
+ },
+ "fil": {
+ "name": "Filipino"
+ },
+ "fi": {
+ "name": "Finnish"
+ },
+ "fr": {
+ "name": "franse"
+ },
+ "fr-CH": {
+ "name": "franse (CH)"
+ },
+ "fr-CA": {
+ "name": "franse (Kanada)"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "gl": {
+ "name": "Galician"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "ka": {
+ "name": "Georgian"
+ },
+ "el": {
+ "name": "greek"
+ },
+ "gu": {
+ "name": "Gujarati"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "ha": {
+ "name": "hausa"
+ },
+ "haw": {
+ "name": "Hawaiian"
+ },
+ "he": {
+ "name": "Hebrew"
+ },
+ "is": {
+ "name": "Icelandic"
+ },
+ "ig": {
+ "name": "igbo"
+ },
+ "smn": {
+ "name": "Inari Sami"
+ },
+ "id": {
+ "name": "indoneesi"
+ },
+ "ga": {
+ "name": "Irish"
+ },
+ "it": {
+ "name": "italien"
+ },
+ "dyo": {
+ "name": "joola"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabyle"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kl": {
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "kn": {
+ "name": "Kannada"
+ },
+ "ks": {
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "name": "Kazakh"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "km": {
+ "name": "kmeer"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "ko": {
+ "name": "koree"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "ky": {
+ "name": "Kyrgyz"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "Lao"
+ },
+ "lv": {
+ "name": "Latvian"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "lt": {
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "mk": {
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "mg": {
+ "name": "Malagasy"
+ },
+ "ml": {
+ "name": "Malayalam"
+ },
+ "ms": {
+ "name": "maleesi"
+ },
+ "mt": {
+ "name": "Maltese"
+ },
+ "gv": {
+ "name": "Manx"
+ },
+ "mr": {
+ "name": "Marathi"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "mn": {
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nds-NL": {
+ "name": "nds (NL)"
+ },
+ "nl": {
+ "name": "neerlande"
+ },
+ "nl-BE": {
+ "name": "neerlande (Belsik)"
+ },
+ "ne": {
+ "name": "nepalees"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "nd": {
+ "name": "North Ndebele"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "se": {
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "or": {
+ "name": "Odia"
+ },
+ "hu": {
+ "name": "ongrua"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "os": {
+ "name": "Ossetic"
+ },
+ "ps": {
+ "name": "Pashto"
+ },
+ "pa": {
+ "name": "penjabi"
+ },
+ "fa": {
+ "name": "persan"
+ },
+ "pl": {
+ "name": "polonees"
+ },
+ "pt": {
+ "name": "portugees"
+ },
+ "pt-PT": {
+ "name": "portugees (PT)"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "qu": {
+ "name": "Quechua"
+ },
+ "rm": {
+ "name": "Romansh"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "rw": {
+ "name": "ruanda"
+ },
+ "ro": {
+ "name": "rumeen"
+ },
+ "ro-MD": {
+ "name": "rumeen (MD)"
+ },
+ "rn": {
+ "name": "Rundi"
+ },
+ "ru": {
+ "name": "rus"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "sah": {
+ "name": "Sakha"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "ja": {
+ "name": "saponee"
+ },
+ "gd": {
+ "name": "Scottish Gaelic"
+ },
+ "cs": {
+ "name": "sek"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "sr": {
+ "name": "Serbian"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "si": {
+ "name": "Sinhala"
+ },
+ "zh": {
+ "name": "sinua"
+ },
+ "zh-Hans": {
+ "name": "sinua (Hans)"
+ },
+ "zh-Hant": {
+ "name": "sinua (Hant)"
+ },
+ "sk": {
+ "name": "Slovak"
+ },
+ "sl": {
+ "name": "Slovenian"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "so": {
+ "name": "somali"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sv": {
+ "name": "suedi"
+ },
+ "zu": {
+ "name": "sulu"
+ },
+ "sw-CD": {
+ "name": "sw (Mofam demokratik mati Kongo)"
+ },
+ "sw": {
+ "name": "Swahili"
+ },
+ "gsw": {
+ "name": "Swiss German"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "ta": {
+ "name": "tamil"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "th": {
+ "name": "tay"
+ },
+ "te": {
+ "name": "Telugu"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "bo": {
+ "name": "Tibetan"
+ },
+ "ti": {
+ "name": "Tigrinya"
+ },
+ "to": {
+ "name": "Tongan"
+ },
+ "tr": {
+ "name": "turki"
+ },
+ "tk": {
+ "name": "Turkmen"
+ },
+ "uk": {
+ "name": "ukrain"
+ },
+ "hsb": {
+ "name": "Upper Sorbian"
+ },
+ "ur": {
+ "name": "urdu"
+ },
+ "ug": {
+ "name": "Uyghur"
+ },
+ "uz": {
+ "name": "Uzbek"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vi": {
+ "name": "vietnam"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "cy": {
+ "name": "Welsh"
+ },
+ "fy": {
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "yi": {
+ "name": "Yiddish"
+ },
+ "yo": {
+ "name": "yoruba"
+ },
+ "dje": {
+ "name": "Zarma"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/dz.json b/vendor/commerceguys/intl/resources/language/dz.json
new file mode 100644
index 000000000..de5dc9f71
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/dz.json
@@ -0,0 +1,632 @@
+{
+ "agq": {
+ "name": "Aghem"
+ },
+ "ak": {
+ "name": "Akan"
+ },
+ "ast": {
+ "name": "Asturian"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "br": {
+ "name": "Breton"
+ },
+ "yue": {
+ "name": "Cantonese"
+ },
+ "tzm": {
+ "name": "Central Atlas Tamazight"
+ },
+ "ckb": {
+ "name": "Central Kurdish"
+ },
+ "ce": {
+ "name": "Chechen"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "cu": {
+ "name": "Church Slavic"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "kw": {
+ "name": "Cornish"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "smn": {
+ "name": "Inari Sami"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabyle"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kl": {
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "rw": {
+ "name": "Kinyarwanda"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "dsb": {
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "gv": {
+ "name": "Manx"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "mn": {
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nds-NL": {
+ "name": "nds། (ནེ་དར་ལནཌས྄།)"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "nd": {
+ "name": "North Ndebele"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "se": {
+ "name": "Northern Sami"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "os": {
+ "name": "Ossetic"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "rn": {
+ "name": "Rundi"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "sah": {
+ "name": "Sakha"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "gd": {
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "hsb": {
+ "name": "Upper Sorbian"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "yi": {
+ "name": "Yiddish"
+ },
+ "dje": {
+ "name": "Zarma"
+ },
+ "kn": {
+ "name": "ཀ་ན་ཌ་ཁ"
+ },
+ "kk": {
+ "name": "ཀ་ཛགས་ཁ"
+ },
+ "qu": {
+ "name": "ཀྭེ་ཆུ་ཨ་ཁ"
+ },
+ "hr": {
+ "name": "ཀྲོ་ཨེ་ཤི་ཡཱན་ཁ"
+ },
+ "ks": {
+ "name": "ཀཱཤ་མི་རི་ཁ"
+ },
+ "ky": {
+ "name": "ཀིར་གིས་ཁ"
+ },
+ "ca": {
+ "name": "ཀེ་ཊ་ལཱན་ཁ"
+ },
+ "fr-CA": {
+ "name": "ཀེ་ན་ཌི་ཡཱན་ཕྲནཅ་ཁ"
+ },
+ "en-CA": {
+ "name": "ཀེ་ན་ཌི་ཡཱན་ཨིང་ལིཤ་ཁ"
+ },
+ "ko": {
+ "name": "ཀོ་རི་ཡཱན་ཁ"
+ },
+ "km": {
+ "name": "ཁེ་མེར་ཁ"
+ },
+ "el": {
+ "name": "གྲིཀ་ཁ"
+ },
+ "gl": {
+ "name": "གལ་ཨིས་ཨི་ཡན་ཁ"
+ },
+ "gu": {
+ "name": "གུ་ཇ་ར་ཏི་ཁ"
+ },
+ "cs": {
+ "name": "ཅེཀ་ཁ"
+ },
+ "ja": {
+ "name": "ཇཱ་པཱ་ནིས་ཁ"
+ },
+ "de": {
+ "name": "ཇཱར་མཱན་ཁ"
+ },
+ "ka": {
+ "name": "ཇཽ་ཇི་ཡཱན་ཁ"
+ },
+ "tr": {
+ "name": "ཊཱར་ཀིཤ་ཁ"
+ },
+ "tk": {
+ "name": "ཊཱརཀ་མེན་ཁ"
+ },
+ "to": {
+ "name": "ཊོང་གྷན་ཁ"
+ },
+ "nl": {
+ "name": "ཌཆ་ཁ"
+ },
+ "da": {
+ "name": "ཌེ་ནིཤ་ཁ"
+ },
+ "ta": {
+ "name": "ཏ་མིལ་ཁ"
+ },
+ "ti": {
+ "name": "ཏིག་རི་ཉ་ཁ"
+ },
+ "te": {
+ "name": "ཏེ་ལུ་གུ་ཁ"
+ },
+ "th": {
+ "name": "ཐཱའི་ཁ"
+ },
+ "fy": {
+ "name": "ནུབ་ཕྼི་སི་ཡན་ཁ"
+ },
+ "ne": {
+ "name": "ནེ་པཱལི་ཁ"
+ },
+ "nn": {
+ "name": "ནོར་ཝེ་ཇི་ཡཱན་ནོརསཀ་ཁ"
+ },
+ "nb": {
+ "name": "ནོར་ཝེ་ཇི་ཡཱན་བོཀ་མཱལ་ཁ"
+ },
+ "fa": {
+ "name": "པར་ཤི་ཡཱན་ཁ"
+ },
+ "pa": {
+ "name": "པཱན་ཇ་བི་ཁ"
+ },
+ "ps": {
+ "name": "པཱཤ་ཏོ་ཁ"
+ },
+ "pl": {
+ "name": "པོ་ལིཤ་ཁ"
+ },
+ "pt": {
+ "name": "པོར་ཅུ་གིས་ཁ"
+ },
+ "fr": {
+ "name": "ཕྲནཅ་ཁ"
+ },
+ "nl-BE": {
+ "name": "ཕྷེལེ་མིཤ་ཁ"
+ },
+ "fo": {
+ "name": "ཕཱ་རོ་ཨིས་ཁ"
+ },
+ "fi": {
+ "name": "ཕི་ནིཤ་ཁ"
+ },
+ "fil": {
+ "name": "ཕི་ལི་པི་ནོ་ཁ"
+ },
+ "bn": {
+ "name": "བངྒ་ལ་ཁ"
+ },
+ "my": {
+ "name": "བར་མིས་ཁ"
+ },
+ "en-GB": {
+ "name": "བྲི་ཊིཤ་ཨིང་ལིཤ་ཁ"
+ },
+ "bs": {
+ "name": "བྷོས་ནི་ཡཱན་ཁ"
+ },
+ "bg": {
+ "name": "བཱལ་གེ་རི་ཡཱན་ཁ"
+ },
+ "eu": {
+ "name": "བཱསཀ་ཁ"
+ },
+ "vi": {
+ "name": "བེཊ་ནཱ་མིས་ཁ"
+ },
+ "be": {
+ "name": "བེལ་ཨ་རུས་ཁ"
+ },
+ "bo": {
+ "name": "བོད་ཁ"
+ },
+ "mr": {
+ "name": "མ་ར་ཐི་ཁ"
+ },
+ "mg": {
+ "name": "མ་ལ་ག་སི་ཁ"
+ },
+ "ml": {
+ "name": "མ་ལ་ཡ་ལམ་ཁ"
+ },
+ "ms": {
+ "name": "མ་ལེ་ཁ"
+ },
+ "mk": {
+ "name": "མ་སེ་ཌོ་ནི་ཡཱན་ཁ"
+ },
+ "mt": {
+ "name": "མཱལ་ཊ་ཁ"
+ },
+ "ug": {
+ "name": "ཝི་གུར་ཁ"
+ },
+ "cy": {
+ "name": "ཝེལཤ་ཁ"
+ },
+ "zu": {
+ "name": "ཟུ་ལུ་ཁ"
+ },
+ "uk": {
+ "name": "ཡུ་ཀེ་རེ་ནི་ཡཱན་ཁ"
+ },
+ "yo": {
+ "name": "ཡོ་རུ་བ་ཁ"
+ },
+ "zh": {
+ "name": "རྒྱ་མི་ཁ"
+ },
+ "zh-Hans": {
+ "name": "རྒྱ་མི་ཁ་འཇམ་སངམ"
+ },
+ "dz": {
+ "name": "རྫོང་ཁ"
+ },
+ "ro": {
+ "name": "རོ་མེ་ནི་ཡཱན་ཁ"
+ },
+ "ro-MD": {
+ "name": "རོ་མེ་ནི་ཡཱན་ཁ། (མོལ་དོ་བཱ།)"
+ },
+ "rm": {
+ "name": "རོ་མེ་ནིཤ་ཁ"
+ },
+ "lb": {
+ "name": "ལག་ཛམ་བོརྒ་ཁ"
+ },
+ "lv": {
+ "name": "ལཊ་བི་ཡཱན་ཁ"
+ },
+ "lo": {
+ "name": "ལཱ་ཝོས་ཁ"
+ },
+ "lt": {
+ "name": "ལི་ཐུ་ཝེ་ནི་ཡཱན་ཁ"
+ },
+ "zh-Hant": {
+ "name": "སྔ་དུས་ཀྱི་རྒྱ་མི་ཁ"
+ },
+ "sw": {
+ "name": "སྭཱ་ཧི་ལི་ཁ"
+ },
+ "sw-CD": {
+ "name": "སྭཱ་ཧི་ལི་ཁ། (ཀོང་གྷོ ཀིན་ཤ་ས།)"
+ },
+ "sr": {
+ "name": "སཱར་བྷི་ཡཱན་ཁ"
+ },
+ "si": {
+ "name": "སིང་ཧ་ལ་ཁ"
+ },
+ "de-CH": {
+ "name": "སུ་ཡིས་གི་མཐོ་སའི་ཇཱར་མཱན་ཁ"
+ },
+ "gsw": {
+ "name": "སུ་ཡིས་ཇཱར་མཱན་ཁ"
+ },
+ "fr-CH": {
+ "name": "སུ་ཡིས་ཕྲནཅ་ཁ"
+ },
+ "sk": {
+ "name": "སུ་ལོ་བཱཀ་ཁ"
+ },
+ "sl": {
+ "name": "སུ་ལོ་བི་ནི་ཡཱན་ཁ"
+ },
+ "sv": {
+ "name": "སུའི་ཌིཤ་ཁ"
+ },
+ "so": {
+ "name": "སོ་མ་ལི་ཁ"
+ },
+ "haw": {
+ "name": "ཧ་ཝ་ཡིའི་ཁ"
+ },
+ "ha": {
+ "name": "ཧཝ་ས་ཁ"
+ },
+ "hu": {
+ "name": "ཧཱང་གྷ་རི་ཡཱན་ཁ"
+ },
+ "hi": {
+ "name": "ཧིན་དི་ཁ"
+ },
+ "he": {
+ "name": "ཧེ་བྲུ་ཁ"
+ },
+ "az": {
+ "name": "ཨ་ཛར་བྷའི་ཇཱན་ཁ"
+ },
+ "is": {
+ "name": "ཨ་ཡིས་ལེན་ཌིཀ་ཁ"
+ },
+ "as": {
+ "name": "ཨ་ས་མིས་ཁ"
+ },
+ "af": {
+ "name": "ཨཕ་རི་ཀཱནས་ཁ"
+ },
+ "am": {
+ "name": "ཨམ་ཧ་རིཀ་ཁ"
+ },
+ "hy": {
+ "name": "ཨར་མི་ནི་ཡཱན་ཁ"
+ },
+ "ga": {
+ "name": "ཨཱའི་རིཤ་ཁ"
+ },
+ "sq": {
+ "name": "ཨཱལ་བེ་ནི་ཡཱན་ཁ"
+ },
+ "de-AT": {
+ "name": "ཨཱོས་ཊྲི་ཡཱན་ཇཱར་མཱན་ཁ"
+ },
+ "en-AU": {
+ "name": "ཨཱོས་ཊྲེ་ལི་ཡཱན་ཨིང་ལིཤ་ཁ"
+ },
+ "it": {
+ "name": "ཨི་ཊ་ལི་ཡཱན་ཁ"
+ },
+ "pt-PT": {
+ "name": "ཨི་བེ་རི་ཡཱན་པོར་ཅུ་གིས་ཁ"
+ },
+ "ig": {
+ "name": "ཨིག་བོ་ཁ"
+ },
+ "en": {
+ "name": "ཨིང་ལིཤ་ཁ"
+ },
+ "id": {
+ "name": "ཨིན་ཌོ་ནེ་ཤི་ཡཱན་ཁ"
+ },
+ "es": {
+ "name": "ཨིས་པེ་ནིཤ་ཁ"
+ },
+ "es-MX": {
+ "name": "ཨིས་པེ་ནིཤ་ཁ། (མེཀ་སི་ཀོ།)"
+ },
+ "ru": {
+ "name": "ཨུ་རུ་སུའི་ཁ"
+ },
+ "ur": {
+ "name": "ཨུར་དུ་ཁ"
+ },
+ "uz": {
+ "name": "ཨུས་བེཀ་ཁ"
+ },
+ "ar": {
+ "name": "ཨེ་ར་བིཀ་ཁ"
+ },
+ "et": {
+ "name": "ཨེས་ཊོ་ནི་ཡཱན་ཁ"
+ },
+ "eo": {
+ "name": "ཨེས་པ་རཱན་ཏོ་ཁ"
+ },
+ "or": {
+ "name": "ཨོ་རི་ཡ་ཁ"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/ebu.json b/vendor/commerceguys/intl/resources/language/ebu.json
new file mode 100644
index 000000000..9d8b5edc9
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/ebu.json
@@ -0,0 +1,632 @@
+{
+ "af": {
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "sq": {
+ "name": "Albanian"
+ },
+ "hy": {
+ "name": "Armenian"
+ },
+ "as": {
+ "name": "Assamese"
+ },
+ "ast": {
+ "name": "Asturian"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "az": {
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "eu": {
+ "name": "Basque"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "bs": {
+ "name": "Bosnian"
+ },
+ "br": {
+ "name": "Breton"
+ },
+ "yue": {
+ "name": "Cantonese"
+ },
+ "ca": {
+ "name": "Catalan"
+ },
+ "tzm": {
+ "name": "Central Atlas Tamazight"
+ },
+ "ckb": {
+ "name": "Central Kurdish"
+ },
+ "ce": {
+ "name": "Chechen"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "cu": {
+ "name": "Church Slavic"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "kw": {
+ "name": "Cornish"
+ },
+ "hr": {
+ "name": "Croatian"
+ },
+ "da": {
+ "name": "Danish"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "dz": {
+ "name": "Dzongkha"
+ },
+ "eo": {
+ "name": "Esperanto"
+ },
+ "et": {
+ "name": "Estonian"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fo": {
+ "name": "Faroese"
+ },
+ "fil": {
+ "name": "Filipino"
+ },
+ "fi": {
+ "name": "Finnish"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "gl": {
+ "name": "Galician"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "ka": {
+ "name": "Georgian"
+ },
+ "gu": {
+ "name": "Gujarati"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "haw": {
+ "name": "Hawaiian"
+ },
+ "he": {
+ "name": "Hebrew"
+ },
+ "is": {
+ "name": "Icelandic"
+ },
+ "smn": {
+ "name": "Inari Sami"
+ },
+ "ga": {
+ "name": "Irish"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabyle"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kl": {
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "kn": {
+ "name": "Kannada"
+ },
+ "ks": {
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "name": "Kazakh"
+ },
+ "ak": {
+ "name": "Kĩakan"
+ },
+ "am": {
+ "name": "Kĩamhari"
+ },
+ "fa": {
+ "name": "Kĩanjemi"
+ },
+ "ar": {
+ "name": "Kĩarabu"
+ },
+ "bn": {
+ "name": "Kĩbangla"
+ },
+ "bg": {
+ "name": "Kĩbulgaria"
+ },
+ "my": {
+ "name": "Kĩburma"
+ },
+ "cs": {
+ "name": "Kĩcheki"
+ },
+ "zh": {
+ "name": "Kĩchina"
+ },
+ "zh-Hans": {
+ "name": "Kĩchina (Hans)"
+ },
+ "zh-Hant": {
+ "name": "Kĩchina (Hant)"
+ },
+ "ebu": {
+ "name": "Kĩembu"
+ },
+ "fr": {
+ "name": "Kĩfaransa"
+ },
+ "fr-CA": {
+ "name": "Kĩfaransa (Kanada)"
+ },
+ "fr-CH": {
+ "name": "Kĩfaransa (Uswisi)"
+ },
+ "ha": {
+ "name": "Kĩhausa"
+ },
+ "hi": {
+ "name": "Kĩhindĩ"
+ },
+ "es": {
+ "name": "Kĩhispania"
+ },
+ "es-MX": {
+ "name": "Kĩhispania (Meksiko)"
+ },
+ "nl": {
+ "name": "Kĩholanzi"
+ },
+ "nl-BE": {
+ "name": "Kĩholanzi (Ubelgiji)"
+ },
+ "hu": {
+ "name": "Kĩhungari"
+ },
+ "ig": {
+ "name": "Kĩigbo"
+ },
+ "id": {
+ "name": "Kĩindonesia"
+ },
+ "it": {
+ "name": "Kĩitaliano"
+ },
+ "km": {
+ "name": "Kĩkambodia"
+ },
+ "ko": {
+ "name": "Kĩkorea"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "ms": {
+ "name": "Kĩmalesia"
+ },
+ "be": {
+ "name": "Kĩmbelarusi"
+ },
+ "ne": {
+ "name": "Kĩnepali"
+ },
+ "el": {
+ "name": "Kĩngriki"
+ },
+ "ja": {
+ "name": "Kĩnjapani"
+ },
+ "de": {
+ "name": "Kĩnjeremani"
+ },
+ "de-AT": {
+ "name": "Kĩnjeremani (Austria)"
+ },
+ "de-CH": {
+ "name": "Kĩnjeremani (Uswisi)"
+ },
+ "rw": {
+ "name": "Kĩnyarwanda"
+ },
+ "pl": {
+ "name": "Kĩpolandi"
+ },
+ "pa": {
+ "name": "Kĩpunjabi"
+ },
+ "pt": {
+ "name": "Kĩreno"
+ },
+ "pt-PT": {
+ "name": "Kĩreno (Ureno)"
+ },
+ "ro": {
+ "name": "Kĩromania"
+ },
+ "ro-MD": {
+ "name": "Kĩromania (Moldova)"
+ },
+ "ru": {
+ "name": "Kĩrusi"
+ },
+ "so": {
+ "name": "Kĩsomali"
+ },
+ "sv": {
+ "name": "Kĩswidi"
+ },
+ "th": {
+ "name": "Kĩtailandi"
+ },
+ "ta": {
+ "name": "Kĩtamil"
+ },
+ "en": {
+ "name": "Kĩthungu"
+ },
+ "en-AU": {
+ "name": "Kĩthungu (Australia)"
+ },
+ "en-CA": {
+ "name": "Kĩthungu (Kanada)"
+ },
+ "en-GB": {
+ "name": "Kĩthungu (Uingereza)"
+ },
+ "tr": {
+ "name": "Kĩturuki"
+ },
+ "uk": {
+ "name": "Kĩukrania"
+ },
+ "ur": {
+ "name": "Kĩurdu"
+ },
+ "vi": {
+ "name": "Kĩvietinamu"
+ },
+ "yo": {
+ "name": "Kĩyoruba"
+ },
+ "zu": {
+ "name": "Kĩzulu"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "ky": {
+ "name": "Kyrgyz"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "Lao"
+ },
+ "lv": {
+ "name": "Latvian"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "lt": {
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "mk": {
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "mg": {
+ "name": "Malagasy"
+ },
+ "ml": {
+ "name": "Malayalam"
+ },
+ "mt": {
+ "name": "Maltese"
+ },
+ "gv": {
+ "name": "Manx"
+ },
+ "mr": {
+ "name": "Marathi"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "mn": {
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nds-NL": {
+ "name": "nds (Uholanzi)"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "nd": {
+ "name": "North Ndebele"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "se": {
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "or": {
+ "name": "Odia"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "os": {
+ "name": "Ossetic"
+ },
+ "ps": {
+ "name": "Pashto"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "qu": {
+ "name": "Quechua"
+ },
+ "rm": {
+ "name": "Romansh"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "rn": {
+ "name": "Rundi"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "sah": {
+ "name": "Sakha"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "gd": {
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "sr": {
+ "name": "Serbian"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "si": {
+ "name": "Sinhala"
+ },
+ "sk": {
+ "name": "Slovak"
+ },
+ "sl": {
+ "name": "Slovenian"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw-CD": {
+ "name": "sw (Jamhuri ya Kidemokrasia ya Kongo)"
+ },
+ "sw": {
+ "name": "Swahili"
+ },
+ "gsw": {
+ "name": "Swiss German"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "te": {
+ "name": "Telugu"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "bo": {
+ "name": "Tibetan"
+ },
+ "ti": {
+ "name": "Tigrinya"
+ },
+ "to": {
+ "name": "Tongan"
+ },
+ "tk": {
+ "name": "Turkmen"
+ },
+ "hsb": {
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "name": "Uyghur"
+ },
+ "uz": {
+ "name": "Uzbek"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "cy": {
+ "name": "Welsh"
+ },
+ "fy": {
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "yi": {
+ "name": "Yiddish"
+ },
+ "dje": {
+ "name": "Zarma"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/ee.json b/vendor/commerceguys/intl/resources/language/ee.json
new file mode 100644
index 000000000..8f0108603
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/ee.json
@@ -0,0 +1,632 @@
+{
+ "af": {
+ "name": "afrikaangbe"
+ },
+ "agq": {
+ "name": "aghemgbe"
+ },
+ "sq": {
+ "name": "albaniagbe"
+ },
+ "am": {
+ "name": "amhariagbe"
+ },
+ "ar": {
+ "name": "Arabiagbe"
+ },
+ "hy": {
+ "name": "armeniagbe"
+ },
+ "asa": {
+ "name": "asagbe"
+ },
+ "as": {
+ "name": "assamegbe"
+ },
+ "ast": {
+ "name": "Asturian"
+ },
+ "az": {
+ "name": "azerbaijangbe"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "bambaragbe"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "eu": {
+ "name": "basqugbe"
+ },
+ "be": {
+ "name": "belarusiagbe"
+ },
+ "bem": {
+ "name": "bembagbe"
+ },
+ "bez": {
+ "name": "benagbe"
+ },
+ "bn": {
+ "name": "Bengaligbe"
+ },
+ "zh-Hant": {
+ "name": "blema tsainagbe"
+ },
+ "ak": {
+ "name": "blugbe"
+ },
+ "brx": {
+ "name": "bodogbe"
+ },
+ "bs": {
+ "name": "bosniagbe"
+ },
+ "br": {
+ "name": "bretongbe"
+ },
+ "bg": {
+ "name": "bulgariagbe"
+ },
+ "my": {
+ "name": "burmagbe"
+ },
+ "yue": {
+ "name": "cantongbe"
+ },
+ "kea": {
+ "name": "cape verdegbe"
+ },
+ "tzm": {
+ "name": "Central Atlas Tamazight"
+ },
+ "ckb": {
+ "name": "Central Kurdish"
+ },
+ "ce": {
+ "name": "Chechen"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "zh": {
+ "name": "Chinagbe"
+ },
+ "cu": {
+ "name": "Church Slavic"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "kw": {
+ "name": "Cornish"
+ },
+ "da": {
+ "name": "denmarkgbe"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "nd": {
+ "name": "dziehe ndebelegbe"
+ },
+ "se": {
+ "name": "dziehe samigbe"
+ },
+ "dz": {
+ "name": "dzongkhagbe"
+ },
+ "ebu": {
+ "name": "embugbe"
+ },
+ "eo": {
+ "name": "esperantogbe"
+ },
+ "et": {
+ "name": "estoniagbe"
+ },
+ "ee": {
+ "name": "Eʋegbe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fo": {
+ "name": "Faroese"
+ },
+ "fil": {
+ "name": "filipingbe"
+ },
+ "fi": {
+ "name": "finlanɖgbe"
+ },
+ "nl-BE": {
+ "name": "Flemishgbe"
+ },
+ "fr": {
+ "name": "Fransegbe"
+ },
+ "fr-CA": {
+ "name": "Fransegbe (Canada)"
+ },
+ "fr-CH": {
+ "name": "Fransegbe (Switzerland)"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "gl": {
+ "name": "galatagbe"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "de": {
+ "name": "Germaniagbe"
+ },
+ "de-AT": {
+ "name": "Germaniagbe (Austria)"
+ },
+ "de-CH": {
+ "name": "Germaniagbe (Switzerland)"
+ },
+ "ka": {
+ "name": "gɔgiagbe"
+ },
+ "el": {
+ "name": "grisigbe"
+ },
+ "gu": {
+ "name": "gujarati"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "ha": {
+ "name": "hausagbe"
+ },
+ "haw": {
+ "name": "hawaigbe"
+ },
+ "he": {
+ "name": "hebrigbe"
+ },
+ "hi": {
+ "name": "Hindigbe"
+ },
+ "nl": {
+ "name": "Hollandgbe"
+ },
+ "hu": {
+ "name": "hungarigbe"
+ },
+ "is": {
+ "name": "icelanɖgbe"
+ },
+ "ig": {
+ "name": "igbogbe"
+ },
+ "smn": {
+ "name": "Inari Sami"
+ },
+ "id": {
+ "name": "Indonesiagbe"
+ },
+ "ga": {
+ "name": "irelanɖgbe"
+ },
+ "it": {
+ "name": "Italiagbe"
+ },
+ "ja": {
+ "name": "Japangbe"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kab": {
+ "name": "Kabyle"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kl": {
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "kn": {
+ "name": "kannadagbe"
+ },
+ "ks": {
+ "name": "kashmirgbe"
+ },
+ "ca": {
+ "name": "katalagbe"
+ },
+ "kk": {
+ "name": "kazakhstangbe"
+ },
+ "km": {
+ "name": "khmergbe"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "ky": {
+ "name": "kirghistangbe"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "ko": {
+ "name": "Koreagbe"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "hr": {
+ "name": "kroatiagbe"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "qu": {
+ "name": "kwetsuagbe"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lb": {
+ "name": "laksembɔggbe"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "laogbe"
+ },
+ "lv": {
+ "name": "latviagbe"
+ },
+ "ln": {
+ "name": "lingala"
+ },
+ "lt": {
+ "name": "lithuaniagbe"
+ },
+ "dsb": {
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "luy": {
+ "name": "luyiagbe"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mk": {
+ "name": "makedoniagbe"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "mg": {
+ "name": "malagasegbe"
+ },
+ "ml": {
+ "name": "malayagbe"
+ },
+ "ms": {
+ "name": "malaygbe"
+ },
+ "mt": {
+ "name": "maltagbe"
+ },
+ "gv": {
+ "name": "Manx"
+ },
+ "mr": {
+ "name": "marathiagbe"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "mn": {
+ "name": "mongoliagbe"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nds-NL": {
+ "name": "nds (Netherlands nutome)"
+ },
+ "ne": {
+ "name": "nepalgbe"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "nb": {
+ "name": "nɔweigbe bokmål"
+ },
+ "nn": {
+ "name": "nɔweigbe ninɔsk"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "or": {
+ "name": "oriyagbe"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "os": {
+ "name": "ossetiagbe"
+ },
+ "ps": {
+ "name": "pashtogbe"
+ },
+ "fa": {
+ "name": "persiagbe"
+ },
+ "pl": {
+ "name": "Polishgbe"
+ },
+ "pt": {
+ "name": "Portuguesegbe"
+ },
+ "pt-PT": {
+ "name": "Portuguesegbe (Europe)"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "pa": {
+ "name": "pundzabgbe"
+ },
+ "ro": {
+ "name": "romaniagbe"
+ },
+ "ro-MD": {
+ "name": "romaniagbe (Moldova nutome)"
+ },
+ "rm": {
+ "name": "romanshgbe"
+ },
+ "rof": {
+ "name": "rombogbe"
+ },
+ "rn": {
+ "name": "rundigbe"
+ },
+ "ru": {
+ "name": "Russiagbe"
+ },
+ "rw": {
+ "name": "ruwandagbe"
+ },
+ "rwk": {
+ "name": "rwagbe"
+ },
+ "sah": {
+ "name": "sakagbe"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "sangogbe"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "gd": {
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "sr": {
+ "name": "serbiagbe"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "shonagbe"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "si": {
+ "name": "sinhalgbe"
+ },
+ "sk": {
+ "name": "slovakiagbe"
+ },
+ "sl": {
+ "name": "sloveniagbe"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "so": {
+ "name": "somaliagbe"
+ },
+ "es": {
+ "name": "Spanishgbe"
+ },
+ "es-MX": {
+ "name": "Spanishgbe (Mexico)"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw": {
+ "name": "swahili"
+ },
+ "sw-CD": {
+ "name": "swahili (Kongo Kinshasa nutome)"
+ },
+ "sv": {
+ "name": "swedengbe"
+ },
+ "gsw": {
+ "name": "swizerlanɖtɔwo ƒe germaniagbe"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "ta": {
+ "name": "tamilgbe"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "te": {
+ "name": "telegugbe"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "tk": {
+ "name": "tɛkmengbe"
+ },
+ "th": {
+ "name": "Thailandgbe"
+ },
+ "bo": {
+ "name": "tibetagbe"
+ },
+ "ti": {
+ "name": "tigrinyagbe"
+ },
+ "to": {
+ "name": "tongagbe"
+ },
+ "tr": {
+ "name": "Turkishgbe"
+ },
+ "zh-Hans": {
+ "name": "tsainagbe"
+ },
+ "cs": {
+ "name": "tsɛkgbe"
+ },
+ "ug": {
+ "name": "uighurgbe"
+ },
+ "uk": {
+ "name": "ukraingbe"
+ },
+ "hsb": {
+ "name": "Upper Sorbian"
+ },
+ "ur": {
+ "name": "urdugbe"
+ },
+ "uz": {
+ "name": "uzbekistangbe"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vi": {
+ "name": "vietnamgbe"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "cy": {
+ "name": "walesgbe"
+ },
+ "wae": {
+ "name": "walsegbe"
+ },
+ "fy": {
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "en": {
+ "name": "Yevugbe"
+ },
+ "en-AU": {
+ "name": "Yevugbe (Australia)"
+ },
+ "en-GB": {
+ "name": "Yevugbe (Britain)"
+ },
+ "en-CA": {
+ "name": "Yevugbe (Canada)"
+ },
+ "yi": {
+ "name": "Yiddish"
+ },
+ "yo": {
+ "name": "yorubagbe"
+ },
+ "dje": {
+ "name": "Zarma"
+ },
+ "zu": {
+ "name": "zulugbe"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/el.json b/vendor/commerceguys/intl/resources/language/el.json
new file mode 100644
index 000000000..4d2a6164c
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/el.json
@@ -0,0 +1,635 @@
+{
+ "en": {
+ "name": "Αγγλικά"
+ },
+ "en-AU": {
+ "name": "Αγγλικά Αυστραλίας"
+ },
+ "en-GB": {
+ "name": "Αγγλικά Ηνωμένου Βασιλείου"
+ },
+ "en-CA": {
+ "name": "Αγγλικά Καναδά"
+ },
+ "agq": {
+ "name": "Αγκέμ"
+ },
+ "az": {
+ "name": "Αζερμπαϊτζανικά"
+ },
+ "ak": {
+ "name": "Ακάν"
+ },
+ "sq": {
+ "name": "Αλβανικά"
+ },
+ "am": {
+ "name": "Αμαρικά"
+ },
+ "de-CH": {
+ "name": "Άνω Γερμανικά Ελβετίας"
+ },
+ "zh-Hans": {
+ "name": "Απλοποιημένα Κινεζικά"
+ },
+ "ar": {
+ "name": "Αραβικά"
+ },
+ "hy": {
+ "name": "Αρμενικά"
+ },
+ "as": {
+ "name": "Ασαμεζικά"
+ },
+ "asa": {
+ "name": "Άσου"
+ },
+ "ast": {
+ "name": "Αστουριανά"
+ },
+ "af": {
+ "name": "Αφρικάανς"
+ },
+ "vai": {
+ "name": "Βάι"
+ },
+ "wae": {
+ "name": "Βάλσερ"
+ },
+ "eu": {
+ "name": "Βασκικά"
+ },
+ "vi": {
+ "name": "Βιετναμικά"
+ },
+ "my": {
+ "name": "Βιρμανικά"
+ },
+ "vo": {
+ "name": "Βόλαπικ"
+ },
+ "lrc": {
+ "name": "Βόρεια Λούρι"
+ },
+ "nd": {
+ "name": "Βόρεια Ντεμπέλε"
+ },
+ "se": {
+ "name": "Βόρεια Σάμι"
+ },
+ "bs": {
+ "name": "Βοσνιακά"
+ },
+ "bg": {
+ "name": "Βουλγαρικά"
+ },
+ "vun": {
+ "name": "Βούντζο"
+ },
+ "br": {
+ "name": "Βρετονικά"
+ },
+ "gl": {
+ "name": "Γαλικιανά"
+ },
+ "fr": {
+ "name": "Γαλλικά"
+ },
+ "fr-CH": {
+ "name": "Γαλλικά Ελβετίας"
+ },
+ "fr-CA": {
+ "name": "Γαλλικά Καναδά"
+ },
+ "de": {
+ "name": "Γερμανικά"
+ },
+ "de-AT": {
+ "name": "Γερμανικά Αυστρίας"
+ },
+ "gsw": {
+ "name": "Γερμανικά Ελβετίας"
+ },
+ "ka": {
+ "name": "Γεωργιανά"
+ },
+ "ee": {
+ "name": "Γι"
+ },
+ "sah": {
+ "name": "Γιακούτ"
+ },
+ "yav": {
+ "name": "Γιανγκμπέν"
+ },
+ "yi": {
+ "name": "Γίντις"
+ },
+ "yo": {
+ "name": "Γιορούμπα"
+ },
+ "lg": {
+ "name": "Γκάντα"
+ },
+ "gu": {
+ "name": "Γκουγιαράτι"
+ },
+ "guz": {
+ "name": "Γκούσι"
+ },
+ "hsb": {
+ "name": "Γλώσσα Άνω Λουσατίας"
+ },
+ "dsb": {
+ "name": "Γλώσσα Κάτω Λουσατίας"
+ },
+ "kea": {
+ "name": "Γλώσσα του Πράσινου Ακρωτηρίου"
+ },
+ "da": {
+ "name": "Δανικά"
+ },
+ "fy": {
+ "name": "Δυτικά Φριζιανά"
+ },
+ "he": {
+ "name": "Εβραϊκά"
+ },
+ "ewo": {
+ "name": "Εγουόντο"
+ },
+ "cu": {
+ "name": "Εκκλησιαστικά Σλαβικά"
+ },
+ "el": {
+ "name": "Ελληνικά"
+ },
+ "ebu": {
+ "name": "Έμπου"
+ },
+ "et": {
+ "name": "Εσθονικά"
+ },
+ "eo": {
+ "name": "Εσπεράντο"
+ },
+ "dje": {
+ "name": "Ζάρμα"
+ },
+ "zu": {
+ "name": "Ζουλού"
+ },
+ "bo": {
+ "name": "Θιβετιανά"
+ },
+ "ja": {
+ "name": "Ιαπωνικά"
+ },
+ "ig": {
+ "name": "Ίγκμπο"
+ },
+ "smn": {
+ "name": "Ινάρι Σάμι"
+ },
+ "id": {
+ "name": "Ινδονησιακά"
+ },
+ "ga": {
+ "name": "Ιρλανδικά"
+ },
+ "is": {
+ "name": "Ισλανδικά"
+ },
+ "es": {
+ "name": "Ισπανικά"
+ },
+ "es-MX": {
+ "name": "Ισπανικά Μεξικού"
+ },
+ "it": {
+ "name": "Ιταλικά"
+ },
+ "kk": {
+ "name": "Καζακικά"
+ },
+ "kkj": {
+ "name": "Κάκο"
+ },
+ "kl": {
+ "name": "Καλαάλισουτ"
+ },
+ "kln": {
+ "name": "Καλεντζίν"
+ },
+ "kam": {
+ "name": "Κάμπα"
+ },
+ "kab": {
+ "name": "Καμπίλε"
+ },
+ "km": {
+ "name": "Καμποτζιανά"
+ },
+ "kn": {
+ "name": "Κανάντα"
+ },
+ "yue": {
+ "name": "Καντονέζικα"
+ },
+ "ks": {
+ "name": "Κασμίρι"
+ },
+ "ca": {
+ "name": "Καταλανικά"
+ },
+ "nds": {
+ "name": "Κάτω Γερμανικά"
+ },
+ "nds-NL": {
+ "name": "Κάτω Γερμανικά Ολλανδίας"
+ },
+ "nmg": {
+ "name": "Κβάσιο"
+ },
+ "qu": {
+ "name": "Κετσούα"
+ },
+ "ki": {
+ "name": "Κικούγιου"
+ },
+ "zh": {
+ "name": "Κινεζικά"
+ },
+ "rw": {
+ "name": "Κινιαρβάντα"
+ },
+ "khq": {
+ "name": "Κόιρα Τσίνι"
+ },
+ "ses": {
+ "name": "Κοϊραμπόρο Σένι"
+ },
+ "ksh": {
+ "name": "Κολωνικά"
+ },
+ "sw-CD": {
+ "name": "Κονγκό Σουαχίλι"
+ },
+ "kok": {
+ "name": "Κονκάνι"
+ },
+ "ko": {
+ "name": "Κορεατικά"
+ },
+ "kw": {
+ "name": "Κόρνις"
+ },
+ "ckb": {
+ "name": "Κουρδικά Σοράνι"
+ },
+ "hr": {
+ "name": "Κροατικά"
+ },
+ "ky": {
+ "name": "Κυργιζικά"
+ },
+ "lkt": {
+ "name": "Λακότα"
+ },
+ "lag": {
+ "name": "Λάνγκι"
+ },
+ "lo": {
+ "name": "Λαοθιανά"
+ },
+ "lv": {
+ "name": "Λετονικά"
+ },
+ "be": {
+ "name": "Λευκορωσικά"
+ },
+ "lt": {
+ "name": "Λιθουανικά"
+ },
+ "ln": {
+ "name": "Λινγκάλα"
+ },
+ "lu": {
+ "name": "Λούμπα-Κατάνγκα"
+ },
+ "lb": {
+ "name": "Λουξεμβουργιανά"
+ },
+ "luo": {
+ "name": "Λούο"
+ },
+ "luy": {
+ "name": "Λουχία"
+ },
+ "mzn": {
+ "name": "Μαζαντεράνι"
+ },
+ "kde": {
+ "name": "Μακόντε"
+ },
+ "mgh": {
+ "name": "Μακούβα-Μέτο"
+ },
+ "mg": {
+ "name": "Μαλαγάσι"
+ },
+ "ml": {
+ "name": "Μαλαγιαλάμ"
+ },
+ "ms": {
+ "name": "Μαλάι"
+ },
+ "mt": {
+ "name": "Μαλτεζικά"
+ },
+ "gv": {
+ "name": "Μανξ"
+ },
+ "mr": {
+ "name": "Μαράθι"
+ },
+ "mas": {
+ "name": "Μασάι"
+ },
+ "jmc": {
+ "name": "Μάχαμε"
+ },
+ "mer": {
+ "name": "Μερού"
+ },
+ "mgo": {
+ "name": "Μετά"
+ },
+ "mn": {
+ "name": "Μογγολικά"
+ },
+ "ro-MD": {
+ "name": "Μολδαβικά"
+ },
+ "mfe": {
+ "name": "Μορίσιεν"
+ },
+ "mua": {
+ "name": "Μουντάνγκ"
+ },
+ "bm": {
+ "name": "Μπαμπάρα"
+ },
+ "bas": {
+ "name": "Μπάσα"
+ },
+ "ksf": {
+ "name": "Μπάφια"
+ },
+ "bem": {
+ "name": "Μπέμπα"
+ },
+ "bez": {
+ "name": "Μπένα"
+ },
+ "bn": {
+ "name": "Μπενγκάλι"
+ },
+ "brx": {
+ "name": "Μπόντο"
+ },
+ "naq": {
+ "name": "Νάμα"
+ },
+ "nnh": {
+ "name": "Νγκιεμπούν"
+ },
+ "jgo": {
+ "name": "Νγκόμπα"
+ },
+ "ne": {
+ "name": "Νεπάλι"
+ },
+ "nyn": {
+ "name": "Νιανκόλε"
+ },
+ "nb": {
+ "name": "Νορβηγικά Μποκμάλ"
+ },
+ "nn": {
+ "name": "Νορβηγικά Νινόρσκ"
+ },
+ "nus": {
+ "name": "Νουέρ"
+ },
+ "dz": {
+ "name": "Ντζόνγκχα"
+ },
+ "dua": {
+ "name": "Ντουάλα"
+ },
+ "nl": {
+ "name": "Ολλανδικά"
+ },
+ "or": {
+ "name": "Ορίγια"
+ },
+ "om": {
+ "name": "Ορόμο"
+ },
+ "os": {
+ "name": "Οσετικά"
+ },
+ "cy": {
+ "name": "Ουαλικά"
+ },
+ "hu": {
+ "name": "Ουγγρικά"
+ },
+ "uz": {
+ "name": "Ουζμπεκικά"
+ },
+ "ug": {
+ "name": "Ουιγουρικά"
+ },
+ "uk": {
+ "name": "Ουκρανικά"
+ },
+ "ur": {
+ "name": "Ουρντού"
+ },
+ "pa": {
+ "name": "Παντζαπικά"
+ },
+ "zh-Hant": {
+ "name": "Παραδοσιακά Κινεζικά"
+ },
+ "ps": {
+ "name": "Πάστο"
+ },
+ "fa": {
+ "name": "Περσικά"
+ },
+ "pl": {
+ "name": "Πολωνικά"
+ },
+ "pt": {
+ "name": "Πορτογαλικά"
+ },
+ "pt-PT": {
+ "name": "Πορτογαλικά Ευρώπης"
+ },
+ "prg": {
+ "name": "Πρωσικά"
+ },
+ "rm": {
+ "name": "Ρομανικά"
+ },
+ "rof": {
+ "name": "Ρόμπο"
+ },
+ "rwk": {
+ "name": "Ρουά"
+ },
+ "ro": {
+ "name": "Ρουμανικά"
+ },
+ "rn": {
+ "name": "Ρούντι"
+ },
+ "ru": {
+ "name": "Ρωσικά"
+ },
+ "ksb": {
+ "name": "Σάμπαλα"
+ },
+ "saq": {
+ "name": "Σαμπούρου"
+ },
+ "sg": {
+ "name": "Σάνγκο"
+ },
+ "sbp": {
+ "name": "Σάνγκου"
+ },
+ "seh": {
+ "name": "Σένα"
+ },
+ "sr": {
+ "name": "Σερβικά"
+ },
+ "ii": {
+ "name": "Σικουάν Γι"
+ },
+ "si": {
+ "name": "Σινχαλεζικά"
+ },
+ "gd": {
+ "name": "Σκωτικά Κελτικά"
+ },
+ "mk": {
+ "name": "Σλαβομακεδονικά"
+ },
+ "sk": {
+ "name": "Σλοβακικά"
+ },
+ "sl": {
+ "name": "Σλοβενικά"
+ },
+ "xog": {
+ "name": "Σόγκα"
+ },
+ "so": {
+ "name": "Σομάλι"
+ },
+ "sw": {
+ "name": "Σουαχίλι"
+ },
+ "sv": {
+ "name": "Σουηδικά"
+ },
+ "sn": {
+ "name": "Σχόνα"
+ },
+ "th": {
+ "name": "Ταϊλανδικά"
+ },
+ "dav": {
+ "name": "Τάιτα"
+ },
+ "tzm": {
+ "name": "Ταμαζίτ Κεντρικού Μαρόκο"
+ },
+ "ta": {
+ "name": "Ταμίλ"
+ },
+ "twq": {
+ "name": "Τασαβάκ"
+ },
+ "shi": {
+ "name": "Τασελχίτ"
+ },
+ "te": {
+ "name": "Τελούγκου"
+ },
+ "teo": {
+ "name": "Τέσο"
+ },
+ "dyo": {
+ "name": "Τζόλα-Φόνι"
+ },
+ "ti": {
+ "name": "Τιγκρινικά"
+ },
+ "to": {
+ "name": "Τονγκανικά"
+ },
+ "tr": {
+ "name": "Τουρκικά"
+ },
+ "tk": {
+ "name": "Τουρκμενικά"
+ },
+ "chr": {
+ "name": "Τσερόκι"
+ },
+ "ce": {
+ "name": "Τσετσενικά"
+ },
+ "cs": {
+ "name": "Τσεχικά"
+ },
+ "cgg": {
+ "name": "Τσίγκα"
+ },
+ "zgh": {
+ "name": "Τυπικά Ταμαζίγκτ Μαρόκου"
+ },
+ "fo": {
+ "name": "Φαρόε"
+ },
+ "fil": {
+ "name": "Φιλιππινεζικά"
+ },
+ "fi": {
+ "name": "Φινλανδικά"
+ },
+ "nl-BE": {
+ "name": "Φλαμανδικά"
+ },
+ "ff": {
+ "name": "Φουλάχ"
+ },
+ "fur": {
+ "name": "Φριούλιαν"
+ },
+ "haw": {
+ "name": "Χαβανεζικά"
+ },
+ "ha": {
+ "name": "Χάουσα"
+ },
+ "hi": {
+ "name": "Χίντι"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/en-AU.json b/vendor/commerceguys/intl/resources/language/en-AU.json
new file mode 100644
index 000000000..520da38e2
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/en-AU.json
@@ -0,0 +1,638 @@
+{
+ "af": {
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "ak": {
+ "name": "Akan"
+ },
+ "sq": {
+ "name": "Albanian"
+ },
+ "am": {
+ "name": "Amharic"
+ },
+ "ar": {
+ "name": "Arabic"
+ },
+ "hy": {
+ "name": "Armenian"
+ },
+ "as": {
+ "name": "Assamese"
+ },
+ "ast": {
+ "name": "Asturian"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "en-AU": {
+ "name": "Australian English"
+ },
+ "de-AT": {
+ "name": "Austrian German"
+ },
+ "az": {
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bn": {
+ "name": "Bangla"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "eu": {
+ "name": "Basque"
+ },
+ "be": {
+ "name": "Belarusian"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "bs": {
+ "name": "Bosnian"
+ },
+ "br": {
+ "name": "Breton"
+ },
+ "en-GB": {
+ "name": "British English"
+ },
+ "bg": {
+ "name": "Bulgarian"
+ },
+ "my": {
+ "name": "Burmese"
+ },
+ "en-CA": {
+ "name": "Canadian English"
+ },
+ "fr-CA": {
+ "name": "Canadian French"
+ },
+ "yue": {
+ "name": "Cantonese"
+ },
+ "ca": {
+ "name": "Catalan"
+ },
+ "tzm": {
+ "name": "Central Atlas Tamazight"
+ },
+ "ckb": {
+ "name": "Central Kurdish"
+ },
+ "ce": {
+ "name": "Chechen"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "zh": {
+ "name": "Chinese"
+ },
+ "cu": {
+ "name": "Church Slavic"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "sw-CD": {
+ "name": "Congo Swahili"
+ },
+ "kw": {
+ "name": "Cornish"
+ },
+ "hr": {
+ "name": "Croatian"
+ },
+ "cs": {
+ "name": "Czech"
+ },
+ "da": {
+ "name": "Danish"
+ },
+ "fa-AF": {
+ "name": "Dari"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "nl": {
+ "name": "Dutch"
+ },
+ "dz": {
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "en": {
+ "name": "English"
+ },
+ "eo": {
+ "name": "Esperanto"
+ },
+ "et": {
+ "name": "Estonian"
+ },
+ "pt-PT": {
+ "name": "European Portuguese"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fo": {
+ "name": "Faroese"
+ },
+ "fil": {
+ "name": "Filipino"
+ },
+ "fi": {
+ "name": "Finnish"
+ },
+ "nl-BE": {
+ "name": "Flemish"
+ },
+ "fr": {
+ "name": "French"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "gl": {
+ "name": "Galician"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "ka": {
+ "name": "Georgian"
+ },
+ "de": {
+ "name": "German"
+ },
+ "el": {
+ "name": "Greek"
+ },
+ "gu": {
+ "name": "Gujarati"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "ha": {
+ "name": "Hausa"
+ },
+ "haw": {
+ "name": "Hawaiian"
+ },
+ "he": {
+ "name": "Hebrew"
+ },
+ "hi": {
+ "name": "Hindi"
+ },
+ "hu": {
+ "name": "Hungarian"
+ },
+ "is": {
+ "name": "Icelandic"
+ },
+ "ig": {
+ "name": "Igbo"
+ },
+ "smn": {
+ "name": "Inari Sami"
+ },
+ "id": {
+ "name": "Indonesian"
+ },
+ "ga": {
+ "name": "Irish"
+ },
+ "it": {
+ "name": "Italian"
+ },
+ "ja": {
+ "name": "Japanese"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabyle"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kl": {
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "kn": {
+ "name": "Kannada"
+ },
+ "ks": {
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "name": "Kazakh"
+ },
+ "km": {
+ "name": "Khmer"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "rw": {
+ "name": "Kinyarwanda"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "ko": {
+ "name": "Korean"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "ky": {
+ "name": "Kyrgyz"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "Lao"
+ },
+ "lv": {
+ "name": "Latvian"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "lt": {
+ "name": "Lithuanian"
+ },
+ "nds": {
+ "name": "Low German"
+ },
+ "nds-NL": {
+ "name": "Low Saxon"
+ },
+ "dsb": {
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "mk": {
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "mg": {
+ "name": "Malagasy"
+ },
+ "ms": {
+ "name": "Malay"
+ },
+ "ml": {
+ "name": "Malayalam"
+ },
+ "mt": {
+ "name": "Maltese"
+ },
+ "gv": {
+ "name": "Manx"
+ },
+ "mr": {
+ "name": "Marathi"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "es-MX": {
+ "name": "Mexican Spanish"
+ },
+ "ro-MD": {
+ "name": "Moldovan"
+ },
+ "mn": {
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "ne": {
+ "name": "Nepali"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "nd": {
+ "name": "North Ndebele"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "se": {
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "or": {
+ "name": "Odia"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "os": {
+ "name": "Ossetic"
+ },
+ "ps": {
+ "name": "Pashto"
+ },
+ "fa": {
+ "name": "Persian"
+ },
+ "pl": {
+ "name": "Polish"
+ },
+ "pt": {
+ "name": "Portuguese"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "pa": {
+ "name": "Punjabi"
+ },
+ "qu": {
+ "name": "Quechua"
+ },
+ "ro": {
+ "name": "Romanian"
+ },
+ "rm": {
+ "name": "Romansh"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "rn": {
+ "name": "Rundi"
+ },
+ "ru": {
+ "name": "Russian"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "sah": {
+ "name": "Sakha"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "gd": {
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "sr": {
+ "name": "Serbian"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "zh-Hans": {
+ "name": "Simplified Chinese"
+ },
+ "si": {
+ "name": "Sinhala"
+ },
+ "sk": {
+ "name": "Slovak"
+ },
+ "sl": {
+ "name": "Slovenian"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "so": {
+ "name": "Somali"
+ },
+ "es": {
+ "name": "Spanish"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw": {
+ "name": "Swahili"
+ },
+ "sv": {
+ "name": "Swedish"
+ },
+ "fr-CH": {
+ "name": "Swiss French"
+ },
+ "gsw": {
+ "name": "Swiss German"
+ },
+ "de-CH": {
+ "name": "Swiss High German"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "ta": {
+ "name": "Tamil"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "te": {
+ "name": "Telugu"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "th": {
+ "name": "Thai"
+ },
+ "bo": {
+ "name": "Tibetan"
+ },
+ "ti": {
+ "name": "Tigrinya"
+ },
+ "to": {
+ "name": "Tongan"
+ },
+ "zh-Hant": {
+ "name": "Traditional Chinese"
+ },
+ "tr": {
+ "name": "Turkish"
+ },
+ "tk": {
+ "name": "Turkmen"
+ },
+ "uk": {
+ "name": "Ukrainian"
+ },
+ "hsb": {
+ "name": "Upper Sorbian"
+ },
+ "ur": {
+ "name": "Urdu"
+ },
+ "ug": {
+ "name": "Uyghur"
+ },
+ "uz": {
+ "name": "Uzbek"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vi": {
+ "name": "Vietnamese"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "cy": {
+ "name": "Welsh"
+ },
+ "fy": {
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "yi": {
+ "name": "Yiddish"
+ },
+ "yo": {
+ "name": "Yoruba"
+ },
+ "dje": {
+ "name": "Zarma"
+ },
+ "zu": {
+ "name": "Zulu"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/en-IN.json b/vendor/commerceguys/intl/resources/language/en-IN.json
new file mode 100644
index 000000000..166b40219
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/en-IN.json
@@ -0,0 +1,638 @@
+{
+ "af": {
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "ak": {
+ "name": "Akan"
+ },
+ "sq": {
+ "name": "Albanian"
+ },
+ "am": {
+ "name": "Amharic"
+ },
+ "ar": {
+ "name": "Arabic"
+ },
+ "hy": {
+ "name": "Armenian"
+ },
+ "as": {
+ "name": "Assamese"
+ },
+ "ast": {
+ "name": "Asturian"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "en-AU": {
+ "name": "Australian English"
+ },
+ "de-AT": {
+ "name": "Austrian German"
+ },
+ "az": {
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "eu": {
+ "name": "Basque"
+ },
+ "be": {
+ "name": "Belarusian"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "bn": {
+ "name": "Bengali"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "bs": {
+ "name": "Bosnian"
+ },
+ "br": {
+ "name": "Breton"
+ },
+ "en-GB": {
+ "name": "British English"
+ },
+ "bg": {
+ "name": "Bulgarian"
+ },
+ "my": {
+ "name": "Burmese"
+ },
+ "en-CA": {
+ "name": "Canadian English"
+ },
+ "fr-CA": {
+ "name": "Canadian French"
+ },
+ "yue": {
+ "name": "Cantonese"
+ },
+ "ca": {
+ "name": "Catalan"
+ },
+ "tzm": {
+ "name": "Central Atlas Tamazight"
+ },
+ "ckb": {
+ "name": "Central Kurdish"
+ },
+ "ce": {
+ "name": "Chechen"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "zh": {
+ "name": "Chinese"
+ },
+ "cu": {
+ "name": "Church Slavic"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "sw-CD": {
+ "name": "Congo Swahili"
+ },
+ "kw": {
+ "name": "Cornish"
+ },
+ "hr": {
+ "name": "Croatian"
+ },
+ "cs": {
+ "name": "Czech"
+ },
+ "da": {
+ "name": "Danish"
+ },
+ "fa-AF": {
+ "name": "Dari"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "nl": {
+ "name": "Dutch"
+ },
+ "dz": {
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "en": {
+ "name": "English"
+ },
+ "eo": {
+ "name": "Esperanto"
+ },
+ "et": {
+ "name": "Estonian"
+ },
+ "pt-PT": {
+ "name": "European Portuguese"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fo": {
+ "name": "Faroese"
+ },
+ "fil": {
+ "name": "Filipino"
+ },
+ "fi": {
+ "name": "Finnish"
+ },
+ "nl-BE": {
+ "name": "Flemish"
+ },
+ "fr": {
+ "name": "French"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "gl": {
+ "name": "Galician"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "ka": {
+ "name": "Georgian"
+ },
+ "de": {
+ "name": "German"
+ },
+ "el": {
+ "name": "Greek"
+ },
+ "gu": {
+ "name": "Gujarati"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "ha": {
+ "name": "Hausa"
+ },
+ "haw": {
+ "name": "Hawaiian"
+ },
+ "he": {
+ "name": "Hebrew"
+ },
+ "hi": {
+ "name": "Hindi"
+ },
+ "hu": {
+ "name": "Hungarian"
+ },
+ "is": {
+ "name": "Icelandic"
+ },
+ "ig": {
+ "name": "Igbo"
+ },
+ "smn": {
+ "name": "Inari Sami"
+ },
+ "id": {
+ "name": "Indonesian"
+ },
+ "ga": {
+ "name": "Irish"
+ },
+ "it": {
+ "name": "Italian"
+ },
+ "ja": {
+ "name": "Japanese"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabyle"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kl": {
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "kn": {
+ "name": "Kannada"
+ },
+ "ks": {
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "name": "Kazakh"
+ },
+ "km": {
+ "name": "Khmer"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "rw": {
+ "name": "Kinyarwanda"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "ko": {
+ "name": "Korean"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "ky": {
+ "name": "Kyrgyz"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "Lao"
+ },
+ "lv": {
+ "name": "Latvian"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "lt": {
+ "name": "Lithuanian"
+ },
+ "nds": {
+ "name": "Low German"
+ },
+ "nds-NL": {
+ "name": "Low Saxon"
+ },
+ "dsb": {
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "mk": {
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "mg": {
+ "name": "Malagasy"
+ },
+ "ms": {
+ "name": "Malay"
+ },
+ "ml": {
+ "name": "Malayalam"
+ },
+ "mt": {
+ "name": "Maltese"
+ },
+ "gv": {
+ "name": "Manx"
+ },
+ "mr": {
+ "name": "Marathi"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "es-MX": {
+ "name": "Mexican Spanish"
+ },
+ "ro-MD": {
+ "name": "Moldavian"
+ },
+ "mn": {
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "ne": {
+ "name": "Nepali"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "nd": {
+ "name": "North Ndebele"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "se": {
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "or": {
+ "name": "Oriya"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "os": {
+ "name": "Ossetic"
+ },
+ "ps": {
+ "name": "Pashto"
+ },
+ "fa": {
+ "name": "Persian"
+ },
+ "pl": {
+ "name": "Polish"
+ },
+ "pt": {
+ "name": "Portuguese"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "pa": {
+ "name": "Punjabi"
+ },
+ "qu": {
+ "name": "Quechua"
+ },
+ "ro": {
+ "name": "Romanian"
+ },
+ "rm": {
+ "name": "Romansh"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "rn": {
+ "name": "Rundi"
+ },
+ "ru": {
+ "name": "Russian"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "sah": {
+ "name": "Sakha"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "gd": {
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "sr": {
+ "name": "Serbian"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "zh-Hans": {
+ "name": "Simplified Chinese"
+ },
+ "si": {
+ "name": "Sinhala"
+ },
+ "sk": {
+ "name": "Slovak"
+ },
+ "sl": {
+ "name": "Slovenian"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "so": {
+ "name": "Somali"
+ },
+ "es": {
+ "name": "Spanish"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw": {
+ "name": "Swahili"
+ },
+ "sv": {
+ "name": "Swedish"
+ },
+ "fr-CH": {
+ "name": "Swiss French"
+ },
+ "gsw": {
+ "name": "Swiss German"
+ },
+ "de-CH": {
+ "name": "Swiss High German"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "ta": {
+ "name": "Tamil"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "te": {
+ "name": "Telugu"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "th": {
+ "name": "Thai"
+ },
+ "bo": {
+ "name": "Tibetan"
+ },
+ "ti": {
+ "name": "Tigrinya"
+ },
+ "to": {
+ "name": "Tongan"
+ },
+ "zh-Hant": {
+ "name": "Traditional Chinese"
+ },
+ "tr": {
+ "name": "Turkish"
+ },
+ "tk": {
+ "name": "Turkmen"
+ },
+ "uk": {
+ "name": "Ukrainian"
+ },
+ "hsb": {
+ "name": "Upper Sorbian"
+ },
+ "ur": {
+ "name": "Urdu"
+ },
+ "ug": {
+ "name": "Uyghur"
+ },
+ "uz": {
+ "name": "Uzbek"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vi": {
+ "name": "Vietnamese"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "cy": {
+ "name": "Welsh"
+ },
+ "fy": {
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "yi": {
+ "name": "Yiddish"
+ },
+ "yo": {
+ "name": "Yoruba"
+ },
+ "dje": {
+ "name": "Zarma"
+ },
+ "zu": {
+ "name": "Zulu"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/en.json b/vendor/commerceguys/intl/resources/language/en.json
new file mode 100644
index 000000000..dcbffbd7e
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/en.json
@@ -0,0 +1,638 @@
+{
+ "af": {
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "ak": {
+ "name": "Akan"
+ },
+ "sq": {
+ "name": "Albanian"
+ },
+ "am": {
+ "name": "Amharic"
+ },
+ "ar": {
+ "name": "Arabic"
+ },
+ "hy": {
+ "name": "Armenian"
+ },
+ "as": {
+ "name": "Assamese"
+ },
+ "ast": {
+ "name": "Asturian"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "en-AU": {
+ "name": "Australian English"
+ },
+ "de-AT": {
+ "name": "Austrian German"
+ },
+ "az": {
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bn": {
+ "name": "Bangla"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "eu": {
+ "name": "Basque"
+ },
+ "be": {
+ "name": "Belarusian"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "bs": {
+ "name": "Bosnian"
+ },
+ "br": {
+ "name": "Breton"
+ },
+ "en-GB": {
+ "name": "British English"
+ },
+ "bg": {
+ "name": "Bulgarian"
+ },
+ "my": {
+ "name": "Burmese"
+ },
+ "en-CA": {
+ "name": "Canadian English"
+ },
+ "fr-CA": {
+ "name": "Canadian French"
+ },
+ "yue": {
+ "name": "Cantonese"
+ },
+ "ca": {
+ "name": "Catalan"
+ },
+ "tzm": {
+ "name": "Central Atlas Tamazight"
+ },
+ "ckb": {
+ "name": "Central Kurdish"
+ },
+ "ce": {
+ "name": "Chechen"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "zh": {
+ "name": "Chinese"
+ },
+ "cu": {
+ "name": "Church Slavic"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "sw-CD": {
+ "name": "Congo Swahili"
+ },
+ "kw": {
+ "name": "Cornish"
+ },
+ "hr": {
+ "name": "Croatian"
+ },
+ "cs": {
+ "name": "Czech"
+ },
+ "da": {
+ "name": "Danish"
+ },
+ "fa-AF": {
+ "name": "Dari"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "nl": {
+ "name": "Dutch"
+ },
+ "dz": {
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "en": {
+ "name": "English"
+ },
+ "eo": {
+ "name": "Esperanto"
+ },
+ "et": {
+ "name": "Estonian"
+ },
+ "pt-PT": {
+ "name": "European Portuguese"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fo": {
+ "name": "Faroese"
+ },
+ "fil": {
+ "name": "Filipino"
+ },
+ "fi": {
+ "name": "Finnish"
+ },
+ "nl-BE": {
+ "name": "Flemish"
+ },
+ "fr": {
+ "name": "French"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "gl": {
+ "name": "Galician"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "ka": {
+ "name": "Georgian"
+ },
+ "de": {
+ "name": "German"
+ },
+ "el": {
+ "name": "Greek"
+ },
+ "gu": {
+ "name": "Gujarati"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "ha": {
+ "name": "Hausa"
+ },
+ "haw": {
+ "name": "Hawaiian"
+ },
+ "he": {
+ "name": "Hebrew"
+ },
+ "hi": {
+ "name": "Hindi"
+ },
+ "hu": {
+ "name": "Hungarian"
+ },
+ "is": {
+ "name": "Icelandic"
+ },
+ "ig": {
+ "name": "Igbo"
+ },
+ "smn": {
+ "name": "Inari Sami"
+ },
+ "id": {
+ "name": "Indonesian"
+ },
+ "ga": {
+ "name": "Irish"
+ },
+ "it": {
+ "name": "Italian"
+ },
+ "ja": {
+ "name": "Japanese"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabyle"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kl": {
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "kn": {
+ "name": "Kannada"
+ },
+ "ks": {
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "name": "Kazakh"
+ },
+ "km": {
+ "name": "Khmer"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "rw": {
+ "name": "Kinyarwanda"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "ko": {
+ "name": "Korean"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "ky": {
+ "name": "Kyrgyz"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "Lao"
+ },
+ "lv": {
+ "name": "Latvian"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "lt": {
+ "name": "Lithuanian"
+ },
+ "nds": {
+ "name": "Low German"
+ },
+ "nds-NL": {
+ "name": "Low Saxon"
+ },
+ "dsb": {
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "mk": {
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "mg": {
+ "name": "Malagasy"
+ },
+ "ms": {
+ "name": "Malay"
+ },
+ "ml": {
+ "name": "Malayalam"
+ },
+ "mt": {
+ "name": "Maltese"
+ },
+ "gv": {
+ "name": "Manx"
+ },
+ "mr": {
+ "name": "Marathi"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "es-MX": {
+ "name": "Mexican Spanish"
+ },
+ "ro-MD": {
+ "name": "Moldavian"
+ },
+ "mn": {
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "ne": {
+ "name": "Nepali"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "nd": {
+ "name": "North Ndebele"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "se": {
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "or": {
+ "name": "Odia"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "os": {
+ "name": "Ossetic"
+ },
+ "ps": {
+ "name": "Pashto"
+ },
+ "fa": {
+ "name": "Persian"
+ },
+ "pl": {
+ "name": "Polish"
+ },
+ "pt": {
+ "name": "Portuguese"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "pa": {
+ "name": "Punjabi"
+ },
+ "qu": {
+ "name": "Quechua"
+ },
+ "ro": {
+ "name": "Romanian"
+ },
+ "rm": {
+ "name": "Romansh"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "rn": {
+ "name": "Rundi"
+ },
+ "ru": {
+ "name": "Russian"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "sah": {
+ "name": "Sakha"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "gd": {
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "sr": {
+ "name": "Serbian"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "zh-Hans": {
+ "name": "Simplified Chinese"
+ },
+ "si": {
+ "name": "Sinhala"
+ },
+ "sk": {
+ "name": "Slovak"
+ },
+ "sl": {
+ "name": "Slovenian"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "so": {
+ "name": "Somali"
+ },
+ "es": {
+ "name": "Spanish"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw": {
+ "name": "Swahili"
+ },
+ "sv": {
+ "name": "Swedish"
+ },
+ "fr-CH": {
+ "name": "Swiss French"
+ },
+ "gsw": {
+ "name": "Swiss German"
+ },
+ "de-CH": {
+ "name": "Swiss High German"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "ta": {
+ "name": "Tamil"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "te": {
+ "name": "Telugu"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "th": {
+ "name": "Thai"
+ },
+ "bo": {
+ "name": "Tibetan"
+ },
+ "ti": {
+ "name": "Tigrinya"
+ },
+ "to": {
+ "name": "Tongan"
+ },
+ "zh-Hant": {
+ "name": "Traditional Chinese"
+ },
+ "tr": {
+ "name": "Turkish"
+ },
+ "tk": {
+ "name": "Turkmen"
+ },
+ "uk": {
+ "name": "Ukrainian"
+ },
+ "hsb": {
+ "name": "Upper Sorbian"
+ },
+ "ur": {
+ "name": "Urdu"
+ },
+ "ug": {
+ "name": "Uyghur"
+ },
+ "uz": {
+ "name": "Uzbek"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vi": {
+ "name": "Vietnamese"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "cy": {
+ "name": "Welsh"
+ },
+ "fy": {
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "yi": {
+ "name": "Yiddish"
+ },
+ "yo": {
+ "name": "Yoruba"
+ },
+ "dje": {
+ "name": "Zarma"
+ },
+ "zu": {
+ "name": "Zulu"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/eo.json b/vendor/commerceguys/intl/resources/language/eo.json
new file mode 100644
index 000000000..acb96e7f3
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/eo.json
@@ -0,0 +1,632 @@
+{
+ "af": {
+ "name": "afrikansa"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "ak": {
+ "name": "Akan"
+ },
+ "sq": {
+ "name": "albana"
+ },
+ "am": {
+ "name": "amhara"
+ },
+ "en": {
+ "name": "angla"
+ },
+ "en-AU": {
+ "name": "angla (Aŭstralio)"
+ },
+ "en-CA": {
+ "name": "angla (Kanado)"
+ },
+ "en-GB": {
+ "name": "angla (Unuiĝinta Reĝlando)"
+ },
+ "ar": {
+ "name": "araba"
+ },
+ "hy": {
+ "name": "armena"
+ },
+ "as": {
+ "name": "asama"
+ },
+ "ast": {
+ "name": "Asturian"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "az": {
+ "name": "azerbajĝana"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "be": {
+ "name": "belorusa"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "bn": {
+ "name": "bengala"
+ },
+ "my": {
+ "name": "birma"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "bs": {
+ "name": "bosnia"
+ },
+ "br": {
+ "name": "bretona"
+ },
+ "bg": {
+ "name": "bulgara"
+ },
+ "rn": {
+ "name": "burunda"
+ },
+ "yue": {
+ "name": "Cantonese"
+ },
+ "tzm": {
+ "name": "Central Atlas Tamazight"
+ },
+ "ckb": {
+ "name": "Central Kurdish"
+ },
+ "ce": {
+ "name": "Chechen"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "cu": {
+ "name": "Church Slavic"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "kw": {
+ "name": "Cornish"
+ },
+ "cs": {
+ "name": "ĉeĥa"
+ },
+ "zh": {
+ "name": "ĉina"
+ },
+ "zh-Hans": {
+ "name": "ĉina simpligita"
+ },
+ "zh-Hant": {
+ "name": "ĉina tradicia"
+ },
+ "da": {
+ "name": "dana"
+ },
+ "nb": {
+ "name": "dannorvega"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "dz": {
+ "name": "dzonko"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "eo": {
+ "name": "esperanto"
+ },
+ "et": {
+ "name": "estona"
+ },
+ "pt-PT": {
+ "name": "eŭropportugala"
+ },
+ "eu": {
+ "name": "eŭska"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fo": {
+ "name": "feroa"
+ },
+ "fil": {
+ "name": "filipina"
+ },
+ "fi": {
+ "name": "finna"
+ },
+ "fr": {
+ "name": "franca"
+ },
+ "fr-CA": {
+ "name": "franca (Kanado)"
+ },
+ "fr-CH": {
+ "name": "franca (Svisujo)"
+ },
+ "fy": {
+ "name": "frisa"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "gd": {
+ "name": "gaela"
+ },
+ "gl": {
+ "name": "galega"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "de": {
+ "name": "germana"
+ },
+ "de-AT": {
+ "name": "germana (Aŭstrujo)"
+ },
+ "de-CH": {
+ "name": "germana (Svisujo)"
+ },
+ "el": {
+ "name": "greka"
+ },
+ "kl": {
+ "name": "gronlanda"
+ },
+ "gu": {
+ "name": "guĝarata"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "ha": {
+ "name": "haŭsa"
+ },
+ "haw": {
+ "name": "havaja"
+ },
+ "he": {
+ "name": "hebrea"
+ },
+ "hi": {
+ "name": "hinda"
+ },
+ "es": {
+ "name": "hispana"
+ },
+ "es-MX": {
+ "name": "hispana (Meksiko)"
+ },
+ "hu": {
+ "name": "hungara"
+ },
+ "ig": {
+ "name": "Igbo"
+ },
+ "smn": {
+ "name": "Inari Sami"
+ },
+ "id": {
+ "name": "indonezia"
+ },
+ "ga": {
+ "name": "irlanda"
+ },
+ "is": {
+ "name": "islanda"
+ },
+ "it": {
+ "name": "itala"
+ },
+ "ja": {
+ "name": "japana"
+ },
+ "yi": {
+ "name": "jida"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "yo": {
+ "name": "joruba"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabyle"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "kn": {
+ "name": "kanara"
+ },
+ "ka": {
+ "name": "kartvela"
+ },
+ "ks": {
+ "name": "kaŝmira"
+ },
+ "ca": {
+ "name": "kataluna"
+ },
+ "kk": {
+ "name": "kazaĥa"
+ },
+ "qu": {
+ "name": "keĉua"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "cy": {
+ "name": "kimra"
+ },
+ "ky": {
+ "name": "kirgiza"
+ },
+ "km": {
+ "name": "kmera"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "ko": {
+ "name": "korea"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "hr": {
+ "name": "kroata"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lv": {
+ "name": "latva"
+ },
+ "lo": {
+ "name": "laŭa"
+ },
+ "ln": {
+ "name": "lingala"
+ },
+ "lt": {
+ "name": "litova"
+ },
+ "dsb": {
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "lb": {
+ "name": "luksemburga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mk": {
+ "name": "makedona"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "mg": {
+ "name": "malagasa"
+ },
+ "ms": {
+ "name": "malaja"
+ },
+ "ml": {
+ "name": "malajalama"
+ },
+ "mt": {
+ "name": "malta"
+ },
+ "gv": {
+ "name": "Manx"
+ },
+ "mr": {
+ "name": "marata"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "mn": {
+ "name": "mongola"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nds-NL": {
+ "name": "nds (Nederlando)"
+ },
+ "nl": {
+ "name": "nederlanda"
+ },
+ "nl-BE": {
+ "name": "nederlanda (Belgujo)"
+ },
+ "ne": {
+ "name": "nepala"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "nd": {
+ "name": "North Ndebele"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "se": {
+ "name": "Northern Sami"
+ },
+ "nn": {
+ "name": "novnorvega"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "or": {
+ "name": "orijo"
+ },
+ "om": {
+ "name": "oroma"
+ },
+ "os": {
+ "name": "Ossetic"
+ },
+ "pa": {
+ "name": "panĝaba"
+ },
+ "ps": {
+ "name": "paŝtoa"
+ },
+ "fa": {
+ "name": "persa"
+ },
+ "pl": {
+ "name": "pola"
+ },
+ "pt": {
+ "name": "portugala"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "rm": {
+ "name": "romanĉa"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "rw": {
+ "name": "ruanda"
+ },
+ "ro": {
+ "name": "rumana"
+ },
+ "ro-MD": {
+ "name": "rumana (Moldavujo)"
+ },
+ "ru": {
+ "name": "rusa"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "sah": {
+ "name": "Sakha"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "sangoa"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "sr": {
+ "name": "serba"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "si": {
+ "name": "sinhala"
+ },
+ "sk": {
+ "name": "slovaka"
+ },
+ "sl": {
+ "name": "slovena"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "so": {
+ "name": "somala"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw": {
+ "name": "svahila"
+ },
+ "sw-CD": {
+ "name": "svahila (CD)"
+ },
+ "sv": {
+ "name": "sveda"
+ },
+ "gsw": {
+ "name": "Swiss German"
+ },
+ "sn": {
+ "name": "ŝona"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "th": {
+ "name": "taja"
+ },
+ "ta": {
+ "name": "tamila"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "te": {
+ "name": "telugua"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "bo": {
+ "name": "tibeta"
+ },
+ "ti": {
+ "name": "tigraja"
+ },
+ "to": {
+ "name": "tongaa"
+ },
+ "tr": {
+ "name": "turka"
+ },
+ "tk": {
+ "name": "turkmena"
+ },
+ "ug": {
+ "name": "ujgura"
+ },
+ "uk": {
+ "name": "ukraina"
+ },
+ "hsb": {
+ "name": "Upper Sorbian"
+ },
+ "ur": {
+ "name": "urduo"
+ },
+ "uz": {
+ "name": "uzbeka"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vi": {
+ "name": "vjetnama"
+ },
+ "vo": {
+ "name": "volapuko"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "dje": {
+ "name": "Zarma"
+ },
+ "zu": {
+ "name": "zulua"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/es-AR.json b/vendor/commerceguys/intl/resources/language/es-AR.json
new file mode 100644
index 000000000..141f785c9
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/es-AR.json
@@ -0,0 +1,635 @@
+{
+ "af": {
+ "name": "afrikáans"
+ },
+ "agq": {
+ "name": "aghem"
+ },
+ "ak": {
+ "name": "akan"
+ },
+ "sq": {
+ "name": "albanés"
+ },
+ "de": {
+ "name": "alemán"
+ },
+ "de-AT": {
+ "name": "alemán austríaco"
+ },
+ "gsw": {
+ "name": "alemán suizo"
+ },
+ "de-CH": {
+ "name": "alto alemán suizo"
+ },
+ "am": {
+ "name": "amárico"
+ },
+ "ar": {
+ "name": "árabe"
+ },
+ "hy": {
+ "name": "armenio"
+ },
+ "as": {
+ "name": "asamés"
+ },
+ "ast": {
+ "name": "asturiano"
+ },
+ "asa": {
+ "name": "asu"
+ },
+ "az": {
+ "name": "azerbaiyano"
+ },
+ "ksf": {
+ "name": "bafia"
+ },
+ "nds": {
+ "name": "bajo alemán"
+ },
+ "nds-NL": {
+ "name": "bajo sajón"
+ },
+ "dsb": {
+ "name": "bajo sorbio"
+ },
+ "bm": {
+ "name": "bambara"
+ },
+ "bas": {
+ "name": "basaa"
+ },
+ "bem": {
+ "name": "bemba"
+ },
+ "bez": {
+ "name": "bena"
+ },
+ "bn": {
+ "name": "bengalí"
+ },
+ "be": {
+ "name": "bielorruso"
+ },
+ "my": {
+ "name": "birmano"
+ },
+ "brx": {
+ "name": "bodo"
+ },
+ "bs": {
+ "name": "bosnio"
+ },
+ "br": {
+ "name": "bretón"
+ },
+ "bg": {
+ "name": "búlgaro"
+ },
+ "kab": {
+ "name": "cabila"
+ },
+ "ks": {
+ "name": "cachemiro"
+ },
+ "kn": {
+ "name": "canarés"
+ },
+ "yue": {
+ "name": "cantonés"
+ },
+ "ca": {
+ "name": "catalán"
+ },
+ "ce": {
+ "name": "checheno"
+ },
+ "cs": {
+ "name": "checo"
+ },
+ "chr": {
+ "name": "cheroqui"
+ },
+ "cgg": {
+ "name": "chiga"
+ },
+ "zh": {
+ "name": "chino"
+ },
+ "zh-Hans": {
+ "name": "chino simplificado"
+ },
+ "zh-Hant": {
+ "name": "chino tradicional"
+ },
+ "si": {
+ "name": "cingalés"
+ },
+ "ko": {
+ "name": "coreano"
+ },
+ "kw": {
+ "name": "córnico"
+ },
+ "kea": {
+ "name": "Criollo (Cabo Verde)"
+ },
+ "mfe": {
+ "name": "criollo mauriciano"
+ },
+ "hr": {
+ "name": "croata"
+ },
+ "da": {
+ "name": "danés"
+ },
+ "dua": {
+ "name": "duala"
+ },
+ "dz": {
+ "name": "dzongkha"
+ },
+ "ebu": {
+ "name": "embu"
+ },
+ "cu": {
+ "name": "eslavo eclesiástico"
+ },
+ "sk": {
+ "name": "eslovaco"
+ },
+ "sl": {
+ "name": "esloveno"
+ },
+ "es": {
+ "name": "español"
+ },
+ "es-MX": {
+ "name": "español de México"
+ },
+ "eo": {
+ "name": "esperanto"
+ },
+ "et": {
+ "name": "estonio"
+ },
+ "eu": {
+ "name": "euskera"
+ },
+ "ee": {
+ "name": "ewé"
+ },
+ "ewo": {
+ "name": "ewondo"
+ },
+ "fo": {
+ "name": "feroés"
+ },
+ "fil": {
+ "name": "filipino"
+ },
+ "fi": {
+ "name": "finés"
+ },
+ "nl-BE": {
+ "name": "flamenco"
+ },
+ "fr": {
+ "name": "francés"
+ },
+ "fr-CA": {
+ "name": "francés canadiense"
+ },
+ "fr-CH": {
+ "name": "francés suizo"
+ },
+ "fy": {
+ "name": "frisón occidental"
+ },
+ "fur": {
+ "name": "friulano"
+ },
+ "ff": {
+ "name": "fula"
+ },
+ "gd": {
+ "name": "gaélico escocés"
+ },
+ "cy": {
+ "name": "galés"
+ },
+ "gl": {
+ "name": "gallego"
+ },
+ "lg": {
+ "name": "ganda"
+ },
+ "ka": {
+ "name": "georgiano"
+ },
+ "el": {
+ "name": "griego"
+ },
+ "kl": {
+ "name": "groenlandés"
+ },
+ "gu": {
+ "name": "gujarati"
+ },
+ "guz": {
+ "name": "gusii"
+ },
+ "ha": {
+ "name": "hausa"
+ },
+ "haw": {
+ "name": "hawaiano"
+ },
+ "he": {
+ "name": "hebreo"
+ },
+ "hi": {
+ "name": "hindi"
+ },
+ "hu": {
+ "name": "húngaro"
+ },
+ "ig": {
+ "name": "igbo"
+ },
+ "id": {
+ "name": "indonesio"
+ },
+ "en": {
+ "name": "inglés"
+ },
+ "en-AU": {
+ "name": "inglés australiano"
+ },
+ "en-GB": {
+ "name": "inglés británico"
+ },
+ "en-CA": {
+ "name": "inglés canadiense"
+ },
+ "ga": {
+ "name": "irlandés"
+ },
+ "is": {
+ "name": "islandés"
+ },
+ "it": {
+ "name": "italiano"
+ },
+ "ja": {
+ "name": "japonés"
+ },
+ "km": {
+ "name": "jemer"
+ },
+ "dyo": {
+ "name": "jola-fonyi"
+ },
+ "kkj": {
+ "name": "kako"
+ },
+ "kln": {
+ "name": "kalenjin"
+ },
+ "kam": {
+ "name": "kamba"
+ },
+ "kk": {
+ "name": "kazajo"
+ },
+ "ki": {
+ "name": "kikuyu"
+ },
+ "rw": {
+ "name": "kinyarwanda"
+ },
+ "ky": {
+ "name": "kirguís"
+ },
+ "rn": {
+ "name": "kirundi"
+ },
+ "ksh": {
+ "name": "kölsch"
+ },
+ "kok": {
+ "name": "konkaní"
+ },
+ "khq": {
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "name": "koyraboro senni"
+ },
+ "ckb": {
+ "name": "kurdo sorani"
+ },
+ "nmg": {
+ "name": "kwasio"
+ },
+ "lkt": {
+ "name": "lakota"
+ },
+ "lag": {
+ "name": "langi"
+ },
+ "lo": {
+ "name": "lao"
+ },
+ "lv": {
+ "name": "letón"
+ },
+ "ln": {
+ "name": "lingala"
+ },
+ "lt": {
+ "name": "lituano"
+ },
+ "lrc": {
+ "name": "lorí septentrional"
+ },
+ "lu": {
+ "name": "luba-katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "luxemburgués"
+ },
+ "luy": {
+ "name": "luyia"
+ },
+ "mk": {
+ "name": "macedonio"
+ },
+ "jmc": {
+ "name": "machame"
+ },
+ "mgh": {
+ "name": "makhuwa-meetto"
+ },
+ "kde": {
+ "name": "makonde"
+ },
+ "ml": {
+ "name": "malayalam"
+ },
+ "ms": {
+ "name": "malayo"
+ },
+ "mg": {
+ "name": "malgache"
+ },
+ "mt": {
+ "name": "maltés"
+ },
+ "gv": {
+ "name": "manés"
+ },
+ "mr": {
+ "name": "maratí"
+ },
+ "mas": {
+ "name": "masái"
+ },
+ "mzn": {
+ "name": "mazandaraní"
+ },
+ "mer": {
+ "name": "meru"
+ },
+ "mgo": {
+ "name": "meta’"
+ },
+ "ro-MD": {
+ "name": "moldavo"
+ },
+ "mn": {
+ "name": "mongol"
+ },
+ "mua": {
+ "name": "mundang"
+ },
+ "naq": {
+ "name": "nama"
+ },
+ "nd": {
+ "name": "ndebele septentrional"
+ },
+ "nl": {
+ "name": "neerlandés"
+ },
+ "ne": {
+ "name": "nepalí"
+ },
+ "nnh": {
+ "name": "ngiemboon"
+ },
+ "jgo": {
+ "name": "ngomba"
+ },
+ "nb": {
+ "name": "noruego bokmal"
+ },
+ "nn": {
+ "name": "noruego nynorsk"
+ },
+ "nus": {
+ "name": "nuer"
+ },
+ "nyn": {
+ "name": "nyankole"
+ },
+ "or": {
+ "name": "oriya"
+ },
+ "om": {
+ "name": "oromo"
+ },
+ "os": {
+ "name": "osético"
+ },
+ "ps": {
+ "name": "pastún"
+ },
+ "fa": {
+ "name": "persa"
+ },
+ "pl": {
+ "name": "polaco"
+ },
+ "pt": {
+ "name": "portugués"
+ },
+ "pt-PT": {
+ "name": "portugués de Portugal"
+ },
+ "prg": {
+ "name": "prusiano antiguo"
+ },
+ "pa": {
+ "name": "punyabí"
+ },
+ "qu": {
+ "name": "quechua"
+ },
+ "rm": {
+ "name": "retorrománico"
+ },
+ "rof": {
+ "name": "rombo"
+ },
+ "ro": {
+ "name": "rumano"
+ },
+ "ru": {
+ "name": "ruso"
+ },
+ "rwk": {
+ "name": "rwa"
+ },
+ "sah": {
+ "name": "sakha"
+ },
+ "saq": {
+ "name": "samburu"
+ },
+ "smn": {
+ "name": "sami inari"
+ },
+ "se": {
+ "name": "sami septentrional"
+ },
+ "sg": {
+ "name": "sango"
+ },
+ "sbp": {
+ "name": "sangu"
+ },
+ "seh": {
+ "name": "sena"
+ },
+ "sr": {
+ "name": "serbio"
+ },
+ "ksb": {
+ "name": "shambala"
+ },
+ "sn": {
+ "name": "shona"
+ },
+ "xog": {
+ "name": "soga"
+ },
+ "so": {
+ "name": "somalí"
+ },
+ "hsb": {
+ "name": "sorbio alto"
+ },
+ "sw": {
+ "name": "suajili"
+ },
+ "sw-CD": {
+ "name": "suajili del Congo"
+ },
+ "sv": {
+ "name": "sueco"
+ },
+ "th": {
+ "name": "tailandés"
+ },
+ "dav": {
+ "name": "taita"
+ },
+ "tzm": {
+ "name": "tamazight del Marruecos Central"
+ },
+ "zgh": {
+ "name": "tamazight marroquí estándar"
+ },
+ "ta": {
+ "name": "tamil"
+ },
+ "twq": {
+ "name": "tasawaq"
+ },
+ "shi": {
+ "name": "tashelhit"
+ },
+ "te": {
+ "name": "telugu"
+ },
+ "teo": {
+ "name": "teso"
+ },
+ "bo": {
+ "name": "tibetano"
+ },
+ "ti": {
+ "name": "tigriña"
+ },
+ "to": {
+ "name": "tongano"
+ },
+ "tr": {
+ "name": "turco"
+ },
+ "tk": {
+ "name": "turcomano"
+ },
+ "uk": {
+ "name": "ucraniano"
+ },
+ "ug": {
+ "name": "uigur"
+ },
+ "ur": {
+ "name": "urdu"
+ },
+ "uz": {
+ "name": "uzbeko"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vi": {
+ "name": "vietnamita"
+ },
+ "vo": {
+ "name": "volapük"
+ },
+ "vun": {
+ "name": "vunjo"
+ },
+ "wae": {
+ "name": "walser"
+ },
+ "yav": {
+ "name": "yangben"
+ },
+ "ii": {
+ "name": "yi de Sichuán"
+ },
+ "yi": {
+ "name": "yídish"
+ },
+ "yo": {
+ "name": "yoruba"
+ },
+ "dje": {
+ "name": "zarma"
+ },
+ "zu": {
+ "name": "zulú"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/es-BO.json b/vendor/commerceguys/intl/resources/language/es-BO.json
new file mode 100644
index 000000000..141f785c9
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/es-BO.json
@@ -0,0 +1,635 @@
+{
+ "af": {
+ "name": "afrikáans"
+ },
+ "agq": {
+ "name": "aghem"
+ },
+ "ak": {
+ "name": "akan"
+ },
+ "sq": {
+ "name": "albanés"
+ },
+ "de": {
+ "name": "alemán"
+ },
+ "de-AT": {
+ "name": "alemán austríaco"
+ },
+ "gsw": {
+ "name": "alemán suizo"
+ },
+ "de-CH": {
+ "name": "alto alemán suizo"
+ },
+ "am": {
+ "name": "amárico"
+ },
+ "ar": {
+ "name": "árabe"
+ },
+ "hy": {
+ "name": "armenio"
+ },
+ "as": {
+ "name": "asamés"
+ },
+ "ast": {
+ "name": "asturiano"
+ },
+ "asa": {
+ "name": "asu"
+ },
+ "az": {
+ "name": "azerbaiyano"
+ },
+ "ksf": {
+ "name": "bafia"
+ },
+ "nds": {
+ "name": "bajo alemán"
+ },
+ "nds-NL": {
+ "name": "bajo sajón"
+ },
+ "dsb": {
+ "name": "bajo sorbio"
+ },
+ "bm": {
+ "name": "bambara"
+ },
+ "bas": {
+ "name": "basaa"
+ },
+ "bem": {
+ "name": "bemba"
+ },
+ "bez": {
+ "name": "bena"
+ },
+ "bn": {
+ "name": "bengalí"
+ },
+ "be": {
+ "name": "bielorruso"
+ },
+ "my": {
+ "name": "birmano"
+ },
+ "brx": {
+ "name": "bodo"
+ },
+ "bs": {
+ "name": "bosnio"
+ },
+ "br": {
+ "name": "bretón"
+ },
+ "bg": {
+ "name": "búlgaro"
+ },
+ "kab": {
+ "name": "cabila"
+ },
+ "ks": {
+ "name": "cachemiro"
+ },
+ "kn": {
+ "name": "canarés"
+ },
+ "yue": {
+ "name": "cantonés"
+ },
+ "ca": {
+ "name": "catalán"
+ },
+ "ce": {
+ "name": "checheno"
+ },
+ "cs": {
+ "name": "checo"
+ },
+ "chr": {
+ "name": "cheroqui"
+ },
+ "cgg": {
+ "name": "chiga"
+ },
+ "zh": {
+ "name": "chino"
+ },
+ "zh-Hans": {
+ "name": "chino simplificado"
+ },
+ "zh-Hant": {
+ "name": "chino tradicional"
+ },
+ "si": {
+ "name": "cingalés"
+ },
+ "ko": {
+ "name": "coreano"
+ },
+ "kw": {
+ "name": "córnico"
+ },
+ "kea": {
+ "name": "Criollo (Cabo Verde)"
+ },
+ "mfe": {
+ "name": "criollo mauriciano"
+ },
+ "hr": {
+ "name": "croata"
+ },
+ "da": {
+ "name": "danés"
+ },
+ "dua": {
+ "name": "duala"
+ },
+ "dz": {
+ "name": "dzongkha"
+ },
+ "ebu": {
+ "name": "embu"
+ },
+ "cu": {
+ "name": "eslavo eclesiástico"
+ },
+ "sk": {
+ "name": "eslovaco"
+ },
+ "sl": {
+ "name": "esloveno"
+ },
+ "es": {
+ "name": "español"
+ },
+ "es-MX": {
+ "name": "español de México"
+ },
+ "eo": {
+ "name": "esperanto"
+ },
+ "et": {
+ "name": "estonio"
+ },
+ "eu": {
+ "name": "euskera"
+ },
+ "ee": {
+ "name": "ewé"
+ },
+ "ewo": {
+ "name": "ewondo"
+ },
+ "fo": {
+ "name": "feroés"
+ },
+ "fil": {
+ "name": "filipino"
+ },
+ "fi": {
+ "name": "finés"
+ },
+ "nl-BE": {
+ "name": "flamenco"
+ },
+ "fr": {
+ "name": "francés"
+ },
+ "fr-CA": {
+ "name": "francés canadiense"
+ },
+ "fr-CH": {
+ "name": "francés suizo"
+ },
+ "fy": {
+ "name": "frisón occidental"
+ },
+ "fur": {
+ "name": "friulano"
+ },
+ "ff": {
+ "name": "fula"
+ },
+ "gd": {
+ "name": "gaélico escocés"
+ },
+ "cy": {
+ "name": "galés"
+ },
+ "gl": {
+ "name": "gallego"
+ },
+ "lg": {
+ "name": "ganda"
+ },
+ "ka": {
+ "name": "georgiano"
+ },
+ "el": {
+ "name": "griego"
+ },
+ "kl": {
+ "name": "groenlandés"
+ },
+ "gu": {
+ "name": "gujarati"
+ },
+ "guz": {
+ "name": "gusii"
+ },
+ "ha": {
+ "name": "hausa"
+ },
+ "haw": {
+ "name": "hawaiano"
+ },
+ "he": {
+ "name": "hebreo"
+ },
+ "hi": {
+ "name": "hindi"
+ },
+ "hu": {
+ "name": "húngaro"
+ },
+ "ig": {
+ "name": "igbo"
+ },
+ "id": {
+ "name": "indonesio"
+ },
+ "en": {
+ "name": "inglés"
+ },
+ "en-AU": {
+ "name": "inglés australiano"
+ },
+ "en-GB": {
+ "name": "inglés británico"
+ },
+ "en-CA": {
+ "name": "inglés canadiense"
+ },
+ "ga": {
+ "name": "irlandés"
+ },
+ "is": {
+ "name": "islandés"
+ },
+ "it": {
+ "name": "italiano"
+ },
+ "ja": {
+ "name": "japonés"
+ },
+ "km": {
+ "name": "jemer"
+ },
+ "dyo": {
+ "name": "jola-fonyi"
+ },
+ "kkj": {
+ "name": "kako"
+ },
+ "kln": {
+ "name": "kalenjin"
+ },
+ "kam": {
+ "name": "kamba"
+ },
+ "kk": {
+ "name": "kazajo"
+ },
+ "ki": {
+ "name": "kikuyu"
+ },
+ "rw": {
+ "name": "kinyarwanda"
+ },
+ "ky": {
+ "name": "kirguís"
+ },
+ "rn": {
+ "name": "kirundi"
+ },
+ "ksh": {
+ "name": "kölsch"
+ },
+ "kok": {
+ "name": "konkaní"
+ },
+ "khq": {
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "name": "koyraboro senni"
+ },
+ "ckb": {
+ "name": "kurdo sorani"
+ },
+ "nmg": {
+ "name": "kwasio"
+ },
+ "lkt": {
+ "name": "lakota"
+ },
+ "lag": {
+ "name": "langi"
+ },
+ "lo": {
+ "name": "lao"
+ },
+ "lv": {
+ "name": "letón"
+ },
+ "ln": {
+ "name": "lingala"
+ },
+ "lt": {
+ "name": "lituano"
+ },
+ "lrc": {
+ "name": "lorí septentrional"
+ },
+ "lu": {
+ "name": "luba-katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "luxemburgués"
+ },
+ "luy": {
+ "name": "luyia"
+ },
+ "mk": {
+ "name": "macedonio"
+ },
+ "jmc": {
+ "name": "machame"
+ },
+ "mgh": {
+ "name": "makhuwa-meetto"
+ },
+ "kde": {
+ "name": "makonde"
+ },
+ "ml": {
+ "name": "malayalam"
+ },
+ "ms": {
+ "name": "malayo"
+ },
+ "mg": {
+ "name": "malgache"
+ },
+ "mt": {
+ "name": "maltés"
+ },
+ "gv": {
+ "name": "manés"
+ },
+ "mr": {
+ "name": "maratí"
+ },
+ "mas": {
+ "name": "masái"
+ },
+ "mzn": {
+ "name": "mazandaraní"
+ },
+ "mer": {
+ "name": "meru"
+ },
+ "mgo": {
+ "name": "meta’"
+ },
+ "ro-MD": {
+ "name": "moldavo"
+ },
+ "mn": {
+ "name": "mongol"
+ },
+ "mua": {
+ "name": "mundang"
+ },
+ "naq": {
+ "name": "nama"
+ },
+ "nd": {
+ "name": "ndebele septentrional"
+ },
+ "nl": {
+ "name": "neerlandés"
+ },
+ "ne": {
+ "name": "nepalí"
+ },
+ "nnh": {
+ "name": "ngiemboon"
+ },
+ "jgo": {
+ "name": "ngomba"
+ },
+ "nb": {
+ "name": "noruego bokmal"
+ },
+ "nn": {
+ "name": "noruego nynorsk"
+ },
+ "nus": {
+ "name": "nuer"
+ },
+ "nyn": {
+ "name": "nyankole"
+ },
+ "or": {
+ "name": "oriya"
+ },
+ "om": {
+ "name": "oromo"
+ },
+ "os": {
+ "name": "osético"
+ },
+ "ps": {
+ "name": "pastún"
+ },
+ "fa": {
+ "name": "persa"
+ },
+ "pl": {
+ "name": "polaco"
+ },
+ "pt": {
+ "name": "portugués"
+ },
+ "pt-PT": {
+ "name": "portugués de Portugal"
+ },
+ "prg": {
+ "name": "prusiano antiguo"
+ },
+ "pa": {
+ "name": "punyabí"
+ },
+ "qu": {
+ "name": "quechua"
+ },
+ "rm": {
+ "name": "retorrománico"
+ },
+ "rof": {
+ "name": "rombo"
+ },
+ "ro": {
+ "name": "rumano"
+ },
+ "ru": {
+ "name": "ruso"
+ },
+ "rwk": {
+ "name": "rwa"
+ },
+ "sah": {
+ "name": "sakha"
+ },
+ "saq": {
+ "name": "samburu"
+ },
+ "smn": {
+ "name": "sami inari"
+ },
+ "se": {
+ "name": "sami septentrional"
+ },
+ "sg": {
+ "name": "sango"
+ },
+ "sbp": {
+ "name": "sangu"
+ },
+ "seh": {
+ "name": "sena"
+ },
+ "sr": {
+ "name": "serbio"
+ },
+ "ksb": {
+ "name": "shambala"
+ },
+ "sn": {
+ "name": "shona"
+ },
+ "xog": {
+ "name": "soga"
+ },
+ "so": {
+ "name": "somalí"
+ },
+ "hsb": {
+ "name": "sorbio alto"
+ },
+ "sw": {
+ "name": "suajili"
+ },
+ "sw-CD": {
+ "name": "suajili del Congo"
+ },
+ "sv": {
+ "name": "sueco"
+ },
+ "th": {
+ "name": "tailandés"
+ },
+ "dav": {
+ "name": "taita"
+ },
+ "tzm": {
+ "name": "tamazight del Marruecos Central"
+ },
+ "zgh": {
+ "name": "tamazight marroquí estándar"
+ },
+ "ta": {
+ "name": "tamil"
+ },
+ "twq": {
+ "name": "tasawaq"
+ },
+ "shi": {
+ "name": "tashelhit"
+ },
+ "te": {
+ "name": "telugu"
+ },
+ "teo": {
+ "name": "teso"
+ },
+ "bo": {
+ "name": "tibetano"
+ },
+ "ti": {
+ "name": "tigriña"
+ },
+ "to": {
+ "name": "tongano"
+ },
+ "tr": {
+ "name": "turco"
+ },
+ "tk": {
+ "name": "turcomano"
+ },
+ "uk": {
+ "name": "ucraniano"
+ },
+ "ug": {
+ "name": "uigur"
+ },
+ "ur": {
+ "name": "urdu"
+ },
+ "uz": {
+ "name": "uzbeko"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vi": {
+ "name": "vietnamita"
+ },
+ "vo": {
+ "name": "volapük"
+ },
+ "vun": {
+ "name": "vunjo"
+ },
+ "wae": {
+ "name": "walser"
+ },
+ "yav": {
+ "name": "yangben"
+ },
+ "ii": {
+ "name": "yi de Sichuán"
+ },
+ "yi": {
+ "name": "yídish"
+ },
+ "yo": {
+ "name": "yoruba"
+ },
+ "dje": {
+ "name": "zarma"
+ },
+ "zu": {
+ "name": "zulú"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/es-BR.json b/vendor/commerceguys/intl/resources/language/es-BR.json
new file mode 100644
index 000000000..a1842dc81
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/es-BR.json
@@ -0,0 +1,635 @@
+{
+ "af": {
+ "name": "afrikáans"
+ },
+ "agq": {
+ "name": "aghem"
+ },
+ "ak": {
+ "name": "akan"
+ },
+ "sq": {
+ "name": "albanés"
+ },
+ "de": {
+ "name": "alemán"
+ },
+ "de-AT": {
+ "name": "alemán austríaco"
+ },
+ "gsw": {
+ "name": "alemán suizo"
+ },
+ "de-CH": {
+ "name": "alto alemán suizo"
+ },
+ "am": {
+ "name": "amárico"
+ },
+ "ar": {
+ "name": "árabe"
+ },
+ "hy": {
+ "name": "armenio"
+ },
+ "as": {
+ "name": "asamés"
+ },
+ "ast": {
+ "name": "asturiano"
+ },
+ "asa": {
+ "name": "asu"
+ },
+ "az": {
+ "name": "azerbaiyano"
+ },
+ "ksf": {
+ "name": "bafia"
+ },
+ "nds": {
+ "name": "bajo alemán"
+ },
+ "nds-NL": {
+ "name": "bajo sajón"
+ },
+ "dsb": {
+ "name": "bajo sorbio"
+ },
+ "bm": {
+ "name": "bambara"
+ },
+ "bas": {
+ "name": "basaa"
+ },
+ "bem": {
+ "name": "bemba"
+ },
+ "bez": {
+ "name": "bena"
+ },
+ "bn": {
+ "name": "bengalí"
+ },
+ "be": {
+ "name": "bielorruso"
+ },
+ "my": {
+ "name": "birmano"
+ },
+ "brx": {
+ "name": "bodo"
+ },
+ "bs": {
+ "name": "bosnio"
+ },
+ "br": {
+ "name": "bretón"
+ },
+ "bg": {
+ "name": "búlgaro"
+ },
+ "kab": {
+ "name": "cabila"
+ },
+ "ks": {
+ "name": "cachemiro"
+ },
+ "kn": {
+ "name": "canarés"
+ },
+ "yue": {
+ "name": "cantonés"
+ },
+ "ca": {
+ "name": "catalán"
+ },
+ "ce": {
+ "name": "checheno"
+ },
+ "cs": {
+ "name": "checo"
+ },
+ "chr": {
+ "name": "cheroqui"
+ },
+ "cgg": {
+ "name": "chiga"
+ },
+ "zh": {
+ "name": "chino"
+ },
+ "zh-Hans": {
+ "name": "chino simplificado"
+ },
+ "zh-Hant": {
+ "name": "chino tradicional"
+ },
+ "si": {
+ "name": "cingalés"
+ },
+ "ko": {
+ "name": "coreano"
+ },
+ "kw": {
+ "name": "córnico"
+ },
+ "kea": {
+ "name": "Criollo (Cabo Verde)"
+ },
+ "mfe": {
+ "name": "criollo mauriciano"
+ },
+ "hr": {
+ "name": "croata"
+ },
+ "da": {
+ "name": "danés"
+ },
+ "dua": {
+ "name": "duala"
+ },
+ "dz": {
+ "name": "dzongkha"
+ },
+ "ebu": {
+ "name": "embu"
+ },
+ "cu": {
+ "name": "eslavo eclesiástico"
+ },
+ "sk": {
+ "name": "eslovaco"
+ },
+ "sl": {
+ "name": "esloveno"
+ },
+ "es": {
+ "name": "español"
+ },
+ "es-MX": {
+ "name": "español de México"
+ },
+ "eo": {
+ "name": "esperanto"
+ },
+ "et": {
+ "name": "estonio"
+ },
+ "ee": {
+ "name": "ewé"
+ },
+ "ewo": {
+ "name": "ewondo"
+ },
+ "fo": {
+ "name": "feroés"
+ },
+ "fil": {
+ "name": "filipino"
+ },
+ "fi": {
+ "name": "finés"
+ },
+ "nl-BE": {
+ "name": "flamenco"
+ },
+ "fr": {
+ "name": "francés"
+ },
+ "fr-CA": {
+ "name": "francés canadiense"
+ },
+ "fr-CH": {
+ "name": "francés suizo"
+ },
+ "fy": {
+ "name": "frisón occidental"
+ },
+ "fur": {
+ "name": "friulano"
+ },
+ "ff": {
+ "name": "fula"
+ },
+ "gd": {
+ "name": "gaélico escocés"
+ },
+ "cy": {
+ "name": "galés"
+ },
+ "gl": {
+ "name": "gallego"
+ },
+ "lg": {
+ "name": "ganda"
+ },
+ "ka": {
+ "name": "georgiano"
+ },
+ "el": {
+ "name": "griego"
+ },
+ "kl": {
+ "name": "groenlandés"
+ },
+ "gu": {
+ "name": "gujarati"
+ },
+ "guz": {
+ "name": "gusii"
+ },
+ "ha": {
+ "name": "hausa"
+ },
+ "haw": {
+ "name": "hawaiano"
+ },
+ "he": {
+ "name": "hebreo"
+ },
+ "hi": {
+ "name": "hindi"
+ },
+ "hu": {
+ "name": "húngaro"
+ },
+ "ig": {
+ "name": "igbo"
+ },
+ "id": {
+ "name": "indonesio"
+ },
+ "en": {
+ "name": "inglés"
+ },
+ "en-AU": {
+ "name": "inglés australiano"
+ },
+ "en-GB": {
+ "name": "inglés británico"
+ },
+ "en-CA": {
+ "name": "inglés canadiense"
+ },
+ "ga": {
+ "name": "irlandés"
+ },
+ "is": {
+ "name": "islandés"
+ },
+ "it": {
+ "name": "italiano"
+ },
+ "ja": {
+ "name": "japonés"
+ },
+ "km": {
+ "name": "jemer"
+ },
+ "dyo": {
+ "name": "jola-fonyi"
+ },
+ "kkj": {
+ "name": "kako"
+ },
+ "kln": {
+ "name": "kalenjin"
+ },
+ "kam": {
+ "name": "kamba"
+ },
+ "kk": {
+ "name": "kazajo"
+ },
+ "ki": {
+ "name": "kikuyu"
+ },
+ "rw": {
+ "name": "kinyarwanda"
+ },
+ "ky": {
+ "name": "kirguís"
+ },
+ "rn": {
+ "name": "kirundi"
+ },
+ "ksh": {
+ "name": "kölsch"
+ },
+ "kok": {
+ "name": "konkaní"
+ },
+ "khq": {
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "name": "koyraboro senni"
+ },
+ "ckb": {
+ "name": "kurdo sorani"
+ },
+ "nmg": {
+ "name": "kwasio"
+ },
+ "lkt": {
+ "name": "lakota"
+ },
+ "lag": {
+ "name": "langi"
+ },
+ "lo": {
+ "name": "laosiano"
+ },
+ "lv": {
+ "name": "letón"
+ },
+ "ln": {
+ "name": "lingala"
+ },
+ "lt": {
+ "name": "lituano"
+ },
+ "lrc": {
+ "name": "lorí septentrional"
+ },
+ "lu": {
+ "name": "luba-katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "luxemburgués"
+ },
+ "luy": {
+ "name": "luyia"
+ },
+ "mk": {
+ "name": "macedonio"
+ },
+ "jmc": {
+ "name": "machame"
+ },
+ "mgh": {
+ "name": "makhuwa-meetto"
+ },
+ "kde": {
+ "name": "makonde"
+ },
+ "ml": {
+ "name": "malayalam"
+ },
+ "ms": {
+ "name": "malayo"
+ },
+ "mg": {
+ "name": "malgache"
+ },
+ "mt": {
+ "name": "maltés"
+ },
+ "gv": {
+ "name": "manés"
+ },
+ "mr": {
+ "name": "maratí"
+ },
+ "mas": {
+ "name": "masái"
+ },
+ "mzn": {
+ "name": "mazandaraní"
+ },
+ "mer": {
+ "name": "meru"
+ },
+ "mgo": {
+ "name": "meta’"
+ },
+ "ro-MD": {
+ "name": "moldavo"
+ },
+ "mn": {
+ "name": "mongol"
+ },
+ "mua": {
+ "name": "mundang"
+ },
+ "naq": {
+ "name": "nama"
+ },
+ "nd": {
+ "name": "ndebele septentrional"
+ },
+ "nl": {
+ "name": "neerlandés"
+ },
+ "ne": {
+ "name": "nepalí"
+ },
+ "nnh": {
+ "name": "ngiemboon"
+ },
+ "jgo": {
+ "name": "ngomba"
+ },
+ "nb": {
+ "name": "noruego bokmal"
+ },
+ "nn": {
+ "name": "noruego nynorsk"
+ },
+ "nus": {
+ "name": "nuer"
+ },
+ "nyn": {
+ "name": "nyankole"
+ },
+ "or": {
+ "name": "oriya"
+ },
+ "om": {
+ "name": "oromo"
+ },
+ "os": {
+ "name": "osético"
+ },
+ "pa": {
+ "name": "panyabí"
+ },
+ "ps": {
+ "name": "pastún"
+ },
+ "fa": {
+ "name": "persa"
+ },
+ "pl": {
+ "name": "polaco"
+ },
+ "pt": {
+ "name": "portugués"
+ },
+ "pt-PT": {
+ "name": "portugués de Portugal"
+ },
+ "prg": {
+ "name": "prusiano antiguo"
+ },
+ "qu": {
+ "name": "quechua"
+ },
+ "rm": {
+ "name": "retorrománico"
+ },
+ "rof": {
+ "name": "rombo"
+ },
+ "ro": {
+ "name": "rumano"
+ },
+ "ru": {
+ "name": "ruso"
+ },
+ "rwk": {
+ "name": "rwa"
+ },
+ "sah": {
+ "name": "sakha"
+ },
+ "saq": {
+ "name": "samburu"
+ },
+ "smn": {
+ "name": "sami inari"
+ },
+ "se": {
+ "name": "sami septentrional"
+ },
+ "sg": {
+ "name": "sango"
+ },
+ "sbp": {
+ "name": "sangu"
+ },
+ "seh": {
+ "name": "sena"
+ },
+ "sr": {
+ "name": "serbio"
+ },
+ "ksb": {
+ "name": "shambala"
+ },
+ "sn": {
+ "name": "shona"
+ },
+ "xog": {
+ "name": "soga"
+ },
+ "so": {
+ "name": "somalí"
+ },
+ "hsb": {
+ "name": "sorbio alto"
+ },
+ "sv": {
+ "name": "sueco"
+ },
+ "sw": {
+ "name": "swahili"
+ },
+ "sw-CD": {
+ "name": "swahili (Congo)"
+ },
+ "th": {
+ "name": "tailandés"
+ },
+ "dav": {
+ "name": "taita"
+ },
+ "tzm": {
+ "name": "tamazight del Marruecos Central"
+ },
+ "zgh": {
+ "name": "tamazight estándar marroquí"
+ },
+ "ta": {
+ "name": "tamil"
+ },
+ "twq": {
+ "name": "tasawaq"
+ },
+ "shi": {
+ "name": "tashelhit"
+ },
+ "te": {
+ "name": "telugu"
+ },
+ "teo": {
+ "name": "teso"
+ },
+ "bo": {
+ "name": "tibetano"
+ },
+ "ti": {
+ "name": "tigriña"
+ },
+ "to": {
+ "name": "tongano"
+ },
+ "tr": {
+ "name": "turco"
+ },
+ "tk": {
+ "name": "turcomano"
+ },
+ "uk": {
+ "name": "ucraniano"
+ },
+ "ug": {
+ "name": "uigur"
+ },
+ "ur": {
+ "name": "urdu"
+ },
+ "uz": {
+ "name": "uzbeko"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "eu": {
+ "name": "vasco"
+ },
+ "vi": {
+ "name": "vietnamita"
+ },
+ "vo": {
+ "name": "volapük"
+ },
+ "vun": {
+ "name": "vunjo"
+ },
+ "wae": {
+ "name": "walser"
+ },
+ "yav": {
+ "name": "yangben"
+ },
+ "ii": {
+ "name": "yi de Sichuán"
+ },
+ "yi": {
+ "name": "yídish"
+ },
+ "yo": {
+ "name": "yoruba"
+ },
+ "dje": {
+ "name": "zarma"
+ },
+ "zu": {
+ "name": "zulú"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/es-CL.json b/vendor/commerceguys/intl/resources/language/es-CL.json
new file mode 100644
index 000000000..141f785c9
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/es-CL.json
@@ -0,0 +1,635 @@
+{
+ "af": {
+ "name": "afrikáans"
+ },
+ "agq": {
+ "name": "aghem"
+ },
+ "ak": {
+ "name": "akan"
+ },
+ "sq": {
+ "name": "albanés"
+ },
+ "de": {
+ "name": "alemán"
+ },
+ "de-AT": {
+ "name": "alemán austríaco"
+ },
+ "gsw": {
+ "name": "alemán suizo"
+ },
+ "de-CH": {
+ "name": "alto alemán suizo"
+ },
+ "am": {
+ "name": "amárico"
+ },
+ "ar": {
+ "name": "árabe"
+ },
+ "hy": {
+ "name": "armenio"
+ },
+ "as": {
+ "name": "asamés"
+ },
+ "ast": {
+ "name": "asturiano"
+ },
+ "asa": {
+ "name": "asu"
+ },
+ "az": {
+ "name": "azerbaiyano"
+ },
+ "ksf": {
+ "name": "bafia"
+ },
+ "nds": {
+ "name": "bajo alemán"
+ },
+ "nds-NL": {
+ "name": "bajo sajón"
+ },
+ "dsb": {
+ "name": "bajo sorbio"
+ },
+ "bm": {
+ "name": "bambara"
+ },
+ "bas": {
+ "name": "basaa"
+ },
+ "bem": {
+ "name": "bemba"
+ },
+ "bez": {
+ "name": "bena"
+ },
+ "bn": {
+ "name": "bengalí"
+ },
+ "be": {
+ "name": "bielorruso"
+ },
+ "my": {
+ "name": "birmano"
+ },
+ "brx": {
+ "name": "bodo"
+ },
+ "bs": {
+ "name": "bosnio"
+ },
+ "br": {
+ "name": "bretón"
+ },
+ "bg": {
+ "name": "búlgaro"
+ },
+ "kab": {
+ "name": "cabila"
+ },
+ "ks": {
+ "name": "cachemiro"
+ },
+ "kn": {
+ "name": "canarés"
+ },
+ "yue": {
+ "name": "cantonés"
+ },
+ "ca": {
+ "name": "catalán"
+ },
+ "ce": {
+ "name": "checheno"
+ },
+ "cs": {
+ "name": "checo"
+ },
+ "chr": {
+ "name": "cheroqui"
+ },
+ "cgg": {
+ "name": "chiga"
+ },
+ "zh": {
+ "name": "chino"
+ },
+ "zh-Hans": {
+ "name": "chino simplificado"
+ },
+ "zh-Hant": {
+ "name": "chino tradicional"
+ },
+ "si": {
+ "name": "cingalés"
+ },
+ "ko": {
+ "name": "coreano"
+ },
+ "kw": {
+ "name": "córnico"
+ },
+ "kea": {
+ "name": "Criollo (Cabo Verde)"
+ },
+ "mfe": {
+ "name": "criollo mauriciano"
+ },
+ "hr": {
+ "name": "croata"
+ },
+ "da": {
+ "name": "danés"
+ },
+ "dua": {
+ "name": "duala"
+ },
+ "dz": {
+ "name": "dzongkha"
+ },
+ "ebu": {
+ "name": "embu"
+ },
+ "cu": {
+ "name": "eslavo eclesiástico"
+ },
+ "sk": {
+ "name": "eslovaco"
+ },
+ "sl": {
+ "name": "esloveno"
+ },
+ "es": {
+ "name": "español"
+ },
+ "es-MX": {
+ "name": "español de México"
+ },
+ "eo": {
+ "name": "esperanto"
+ },
+ "et": {
+ "name": "estonio"
+ },
+ "eu": {
+ "name": "euskera"
+ },
+ "ee": {
+ "name": "ewé"
+ },
+ "ewo": {
+ "name": "ewondo"
+ },
+ "fo": {
+ "name": "feroés"
+ },
+ "fil": {
+ "name": "filipino"
+ },
+ "fi": {
+ "name": "finés"
+ },
+ "nl-BE": {
+ "name": "flamenco"
+ },
+ "fr": {
+ "name": "francés"
+ },
+ "fr-CA": {
+ "name": "francés canadiense"
+ },
+ "fr-CH": {
+ "name": "francés suizo"
+ },
+ "fy": {
+ "name": "frisón occidental"
+ },
+ "fur": {
+ "name": "friulano"
+ },
+ "ff": {
+ "name": "fula"
+ },
+ "gd": {
+ "name": "gaélico escocés"
+ },
+ "cy": {
+ "name": "galés"
+ },
+ "gl": {
+ "name": "gallego"
+ },
+ "lg": {
+ "name": "ganda"
+ },
+ "ka": {
+ "name": "georgiano"
+ },
+ "el": {
+ "name": "griego"
+ },
+ "kl": {
+ "name": "groenlandés"
+ },
+ "gu": {
+ "name": "gujarati"
+ },
+ "guz": {
+ "name": "gusii"
+ },
+ "ha": {
+ "name": "hausa"
+ },
+ "haw": {
+ "name": "hawaiano"
+ },
+ "he": {
+ "name": "hebreo"
+ },
+ "hi": {
+ "name": "hindi"
+ },
+ "hu": {
+ "name": "húngaro"
+ },
+ "ig": {
+ "name": "igbo"
+ },
+ "id": {
+ "name": "indonesio"
+ },
+ "en": {
+ "name": "inglés"
+ },
+ "en-AU": {
+ "name": "inglés australiano"
+ },
+ "en-GB": {
+ "name": "inglés británico"
+ },
+ "en-CA": {
+ "name": "inglés canadiense"
+ },
+ "ga": {
+ "name": "irlandés"
+ },
+ "is": {
+ "name": "islandés"
+ },
+ "it": {
+ "name": "italiano"
+ },
+ "ja": {
+ "name": "japonés"
+ },
+ "km": {
+ "name": "jemer"
+ },
+ "dyo": {
+ "name": "jola-fonyi"
+ },
+ "kkj": {
+ "name": "kako"
+ },
+ "kln": {
+ "name": "kalenjin"
+ },
+ "kam": {
+ "name": "kamba"
+ },
+ "kk": {
+ "name": "kazajo"
+ },
+ "ki": {
+ "name": "kikuyu"
+ },
+ "rw": {
+ "name": "kinyarwanda"
+ },
+ "ky": {
+ "name": "kirguís"
+ },
+ "rn": {
+ "name": "kirundi"
+ },
+ "ksh": {
+ "name": "kölsch"
+ },
+ "kok": {
+ "name": "konkaní"
+ },
+ "khq": {
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "name": "koyraboro senni"
+ },
+ "ckb": {
+ "name": "kurdo sorani"
+ },
+ "nmg": {
+ "name": "kwasio"
+ },
+ "lkt": {
+ "name": "lakota"
+ },
+ "lag": {
+ "name": "langi"
+ },
+ "lo": {
+ "name": "lao"
+ },
+ "lv": {
+ "name": "letón"
+ },
+ "ln": {
+ "name": "lingala"
+ },
+ "lt": {
+ "name": "lituano"
+ },
+ "lrc": {
+ "name": "lorí septentrional"
+ },
+ "lu": {
+ "name": "luba-katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "luxemburgués"
+ },
+ "luy": {
+ "name": "luyia"
+ },
+ "mk": {
+ "name": "macedonio"
+ },
+ "jmc": {
+ "name": "machame"
+ },
+ "mgh": {
+ "name": "makhuwa-meetto"
+ },
+ "kde": {
+ "name": "makonde"
+ },
+ "ml": {
+ "name": "malayalam"
+ },
+ "ms": {
+ "name": "malayo"
+ },
+ "mg": {
+ "name": "malgache"
+ },
+ "mt": {
+ "name": "maltés"
+ },
+ "gv": {
+ "name": "manés"
+ },
+ "mr": {
+ "name": "maratí"
+ },
+ "mas": {
+ "name": "masái"
+ },
+ "mzn": {
+ "name": "mazandaraní"
+ },
+ "mer": {
+ "name": "meru"
+ },
+ "mgo": {
+ "name": "meta’"
+ },
+ "ro-MD": {
+ "name": "moldavo"
+ },
+ "mn": {
+ "name": "mongol"
+ },
+ "mua": {
+ "name": "mundang"
+ },
+ "naq": {
+ "name": "nama"
+ },
+ "nd": {
+ "name": "ndebele septentrional"
+ },
+ "nl": {
+ "name": "neerlandés"
+ },
+ "ne": {
+ "name": "nepalí"
+ },
+ "nnh": {
+ "name": "ngiemboon"
+ },
+ "jgo": {
+ "name": "ngomba"
+ },
+ "nb": {
+ "name": "noruego bokmal"
+ },
+ "nn": {
+ "name": "noruego nynorsk"
+ },
+ "nus": {
+ "name": "nuer"
+ },
+ "nyn": {
+ "name": "nyankole"
+ },
+ "or": {
+ "name": "oriya"
+ },
+ "om": {
+ "name": "oromo"
+ },
+ "os": {
+ "name": "osético"
+ },
+ "ps": {
+ "name": "pastún"
+ },
+ "fa": {
+ "name": "persa"
+ },
+ "pl": {
+ "name": "polaco"
+ },
+ "pt": {
+ "name": "portugués"
+ },
+ "pt-PT": {
+ "name": "portugués de Portugal"
+ },
+ "prg": {
+ "name": "prusiano antiguo"
+ },
+ "pa": {
+ "name": "punyabí"
+ },
+ "qu": {
+ "name": "quechua"
+ },
+ "rm": {
+ "name": "retorrománico"
+ },
+ "rof": {
+ "name": "rombo"
+ },
+ "ro": {
+ "name": "rumano"
+ },
+ "ru": {
+ "name": "ruso"
+ },
+ "rwk": {
+ "name": "rwa"
+ },
+ "sah": {
+ "name": "sakha"
+ },
+ "saq": {
+ "name": "samburu"
+ },
+ "smn": {
+ "name": "sami inari"
+ },
+ "se": {
+ "name": "sami septentrional"
+ },
+ "sg": {
+ "name": "sango"
+ },
+ "sbp": {
+ "name": "sangu"
+ },
+ "seh": {
+ "name": "sena"
+ },
+ "sr": {
+ "name": "serbio"
+ },
+ "ksb": {
+ "name": "shambala"
+ },
+ "sn": {
+ "name": "shona"
+ },
+ "xog": {
+ "name": "soga"
+ },
+ "so": {
+ "name": "somalí"
+ },
+ "hsb": {
+ "name": "sorbio alto"
+ },
+ "sw": {
+ "name": "suajili"
+ },
+ "sw-CD": {
+ "name": "suajili del Congo"
+ },
+ "sv": {
+ "name": "sueco"
+ },
+ "th": {
+ "name": "tailandés"
+ },
+ "dav": {
+ "name": "taita"
+ },
+ "tzm": {
+ "name": "tamazight del Marruecos Central"
+ },
+ "zgh": {
+ "name": "tamazight marroquí estándar"
+ },
+ "ta": {
+ "name": "tamil"
+ },
+ "twq": {
+ "name": "tasawaq"
+ },
+ "shi": {
+ "name": "tashelhit"
+ },
+ "te": {
+ "name": "telugu"
+ },
+ "teo": {
+ "name": "teso"
+ },
+ "bo": {
+ "name": "tibetano"
+ },
+ "ti": {
+ "name": "tigriña"
+ },
+ "to": {
+ "name": "tongano"
+ },
+ "tr": {
+ "name": "turco"
+ },
+ "tk": {
+ "name": "turcomano"
+ },
+ "uk": {
+ "name": "ucraniano"
+ },
+ "ug": {
+ "name": "uigur"
+ },
+ "ur": {
+ "name": "urdu"
+ },
+ "uz": {
+ "name": "uzbeko"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vi": {
+ "name": "vietnamita"
+ },
+ "vo": {
+ "name": "volapük"
+ },
+ "vun": {
+ "name": "vunjo"
+ },
+ "wae": {
+ "name": "walser"
+ },
+ "yav": {
+ "name": "yangben"
+ },
+ "ii": {
+ "name": "yi de Sichuán"
+ },
+ "yi": {
+ "name": "yídish"
+ },
+ "yo": {
+ "name": "yoruba"
+ },
+ "dje": {
+ "name": "zarma"
+ },
+ "zu": {
+ "name": "zulú"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/es-CO.json b/vendor/commerceguys/intl/resources/language/es-CO.json
new file mode 100644
index 000000000..141f785c9
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/es-CO.json
@@ -0,0 +1,635 @@
+{
+ "af": {
+ "name": "afrikáans"
+ },
+ "agq": {
+ "name": "aghem"
+ },
+ "ak": {
+ "name": "akan"
+ },
+ "sq": {
+ "name": "albanés"
+ },
+ "de": {
+ "name": "alemán"
+ },
+ "de-AT": {
+ "name": "alemán austríaco"
+ },
+ "gsw": {
+ "name": "alemán suizo"
+ },
+ "de-CH": {
+ "name": "alto alemán suizo"
+ },
+ "am": {
+ "name": "amárico"
+ },
+ "ar": {
+ "name": "árabe"
+ },
+ "hy": {
+ "name": "armenio"
+ },
+ "as": {
+ "name": "asamés"
+ },
+ "ast": {
+ "name": "asturiano"
+ },
+ "asa": {
+ "name": "asu"
+ },
+ "az": {
+ "name": "azerbaiyano"
+ },
+ "ksf": {
+ "name": "bafia"
+ },
+ "nds": {
+ "name": "bajo alemán"
+ },
+ "nds-NL": {
+ "name": "bajo sajón"
+ },
+ "dsb": {
+ "name": "bajo sorbio"
+ },
+ "bm": {
+ "name": "bambara"
+ },
+ "bas": {
+ "name": "basaa"
+ },
+ "bem": {
+ "name": "bemba"
+ },
+ "bez": {
+ "name": "bena"
+ },
+ "bn": {
+ "name": "bengalí"
+ },
+ "be": {
+ "name": "bielorruso"
+ },
+ "my": {
+ "name": "birmano"
+ },
+ "brx": {
+ "name": "bodo"
+ },
+ "bs": {
+ "name": "bosnio"
+ },
+ "br": {
+ "name": "bretón"
+ },
+ "bg": {
+ "name": "búlgaro"
+ },
+ "kab": {
+ "name": "cabila"
+ },
+ "ks": {
+ "name": "cachemiro"
+ },
+ "kn": {
+ "name": "canarés"
+ },
+ "yue": {
+ "name": "cantonés"
+ },
+ "ca": {
+ "name": "catalán"
+ },
+ "ce": {
+ "name": "checheno"
+ },
+ "cs": {
+ "name": "checo"
+ },
+ "chr": {
+ "name": "cheroqui"
+ },
+ "cgg": {
+ "name": "chiga"
+ },
+ "zh": {
+ "name": "chino"
+ },
+ "zh-Hans": {
+ "name": "chino simplificado"
+ },
+ "zh-Hant": {
+ "name": "chino tradicional"
+ },
+ "si": {
+ "name": "cingalés"
+ },
+ "ko": {
+ "name": "coreano"
+ },
+ "kw": {
+ "name": "córnico"
+ },
+ "kea": {
+ "name": "Criollo (Cabo Verde)"
+ },
+ "mfe": {
+ "name": "criollo mauriciano"
+ },
+ "hr": {
+ "name": "croata"
+ },
+ "da": {
+ "name": "danés"
+ },
+ "dua": {
+ "name": "duala"
+ },
+ "dz": {
+ "name": "dzongkha"
+ },
+ "ebu": {
+ "name": "embu"
+ },
+ "cu": {
+ "name": "eslavo eclesiástico"
+ },
+ "sk": {
+ "name": "eslovaco"
+ },
+ "sl": {
+ "name": "esloveno"
+ },
+ "es": {
+ "name": "español"
+ },
+ "es-MX": {
+ "name": "español de México"
+ },
+ "eo": {
+ "name": "esperanto"
+ },
+ "et": {
+ "name": "estonio"
+ },
+ "eu": {
+ "name": "euskera"
+ },
+ "ee": {
+ "name": "ewé"
+ },
+ "ewo": {
+ "name": "ewondo"
+ },
+ "fo": {
+ "name": "feroés"
+ },
+ "fil": {
+ "name": "filipino"
+ },
+ "fi": {
+ "name": "finés"
+ },
+ "nl-BE": {
+ "name": "flamenco"
+ },
+ "fr": {
+ "name": "francés"
+ },
+ "fr-CA": {
+ "name": "francés canadiense"
+ },
+ "fr-CH": {
+ "name": "francés suizo"
+ },
+ "fy": {
+ "name": "frisón occidental"
+ },
+ "fur": {
+ "name": "friulano"
+ },
+ "ff": {
+ "name": "fula"
+ },
+ "gd": {
+ "name": "gaélico escocés"
+ },
+ "cy": {
+ "name": "galés"
+ },
+ "gl": {
+ "name": "gallego"
+ },
+ "lg": {
+ "name": "ganda"
+ },
+ "ka": {
+ "name": "georgiano"
+ },
+ "el": {
+ "name": "griego"
+ },
+ "kl": {
+ "name": "groenlandés"
+ },
+ "gu": {
+ "name": "gujarati"
+ },
+ "guz": {
+ "name": "gusii"
+ },
+ "ha": {
+ "name": "hausa"
+ },
+ "haw": {
+ "name": "hawaiano"
+ },
+ "he": {
+ "name": "hebreo"
+ },
+ "hi": {
+ "name": "hindi"
+ },
+ "hu": {
+ "name": "húngaro"
+ },
+ "ig": {
+ "name": "igbo"
+ },
+ "id": {
+ "name": "indonesio"
+ },
+ "en": {
+ "name": "inglés"
+ },
+ "en-AU": {
+ "name": "inglés australiano"
+ },
+ "en-GB": {
+ "name": "inglés británico"
+ },
+ "en-CA": {
+ "name": "inglés canadiense"
+ },
+ "ga": {
+ "name": "irlandés"
+ },
+ "is": {
+ "name": "islandés"
+ },
+ "it": {
+ "name": "italiano"
+ },
+ "ja": {
+ "name": "japonés"
+ },
+ "km": {
+ "name": "jemer"
+ },
+ "dyo": {
+ "name": "jola-fonyi"
+ },
+ "kkj": {
+ "name": "kako"
+ },
+ "kln": {
+ "name": "kalenjin"
+ },
+ "kam": {
+ "name": "kamba"
+ },
+ "kk": {
+ "name": "kazajo"
+ },
+ "ki": {
+ "name": "kikuyu"
+ },
+ "rw": {
+ "name": "kinyarwanda"
+ },
+ "ky": {
+ "name": "kirguís"
+ },
+ "rn": {
+ "name": "kirundi"
+ },
+ "ksh": {
+ "name": "kölsch"
+ },
+ "kok": {
+ "name": "konkaní"
+ },
+ "khq": {
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "name": "koyraboro senni"
+ },
+ "ckb": {
+ "name": "kurdo sorani"
+ },
+ "nmg": {
+ "name": "kwasio"
+ },
+ "lkt": {
+ "name": "lakota"
+ },
+ "lag": {
+ "name": "langi"
+ },
+ "lo": {
+ "name": "lao"
+ },
+ "lv": {
+ "name": "letón"
+ },
+ "ln": {
+ "name": "lingala"
+ },
+ "lt": {
+ "name": "lituano"
+ },
+ "lrc": {
+ "name": "lorí septentrional"
+ },
+ "lu": {
+ "name": "luba-katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "luxemburgués"
+ },
+ "luy": {
+ "name": "luyia"
+ },
+ "mk": {
+ "name": "macedonio"
+ },
+ "jmc": {
+ "name": "machame"
+ },
+ "mgh": {
+ "name": "makhuwa-meetto"
+ },
+ "kde": {
+ "name": "makonde"
+ },
+ "ml": {
+ "name": "malayalam"
+ },
+ "ms": {
+ "name": "malayo"
+ },
+ "mg": {
+ "name": "malgache"
+ },
+ "mt": {
+ "name": "maltés"
+ },
+ "gv": {
+ "name": "manés"
+ },
+ "mr": {
+ "name": "maratí"
+ },
+ "mas": {
+ "name": "masái"
+ },
+ "mzn": {
+ "name": "mazandaraní"
+ },
+ "mer": {
+ "name": "meru"
+ },
+ "mgo": {
+ "name": "meta’"
+ },
+ "ro-MD": {
+ "name": "moldavo"
+ },
+ "mn": {
+ "name": "mongol"
+ },
+ "mua": {
+ "name": "mundang"
+ },
+ "naq": {
+ "name": "nama"
+ },
+ "nd": {
+ "name": "ndebele septentrional"
+ },
+ "nl": {
+ "name": "neerlandés"
+ },
+ "ne": {
+ "name": "nepalí"
+ },
+ "nnh": {
+ "name": "ngiemboon"
+ },
+ "jgo": {
+ "name": "ngomba"
+ },
+ "nb": {
+ "name": "noruego bokmal"
+ },
+ "nn": {
+ "name": "noruego nynorsk"
+ },
+ "nus": {
+ "name": "nuer"
+ },
+ "nyn": {
+ "name": "nyankole"
+ },
+ "or": {
+ "name": "oriya"
+ },
+ "om": {
+ "name": "oromo"
+ },
+ "os": {
+ "name": "osético"
+ },
+ "ps": {
+ "name": "pastún"
+ },
+ "fa": {
+ "name": "persa"
+ },
+ "pl": {
+ "name": "polaco"
+ },
+ "pt": {
+ "name": "portugués"
+ },
+ "pt-PT": {
+ "name": "portugués de Portugal"
+ },
+ "prg": {
+ "name": "prusiano antiguo"
+ },
+ "pa": {
+ "name": "punyabí"
+ },
+ "qu": {
+ "name": "quechua"
+ },
+ "rm": {
+ "name": "retorrománico"
+ },
+ "rof": {
+ "name": "rombo"
+ },
+ "ro": {
+ "name": "rumano"
+ },
+ "ru": {
+ "name": "ruso"
+ },
+ "rwk": {
+ "name": "rwa"
+ },
+ "sah": {
+ "name": "sakha"
+ },
+ "saq": {
+ "name": "samburu"
+ },
+ "smn": {
+ "name": "sami inari"
+ },
+ "se": {
+ "name": "sami septentrional"
+ },
+ "sg": {
+ "name": "sango"
+ },
+ "sbp": {
+ "name": "sangu"
+ },
+ "seh": {
+ "name": "sena"
+ },
+ "sr": {
+ "name": "serbio"
+ },
+ "ksb": {
+ "name": "shambala"
+ },
+ "sn": {
+ "name": "shona"
+ },
+ "xog": {
+ "name": "soga"
+ },
+ "so": {
+ "name": "somalí"
+ },
+ "hsb": {
+ "name": "sorbio alto"
+ },
+ "sw": {
+ "name": "suajili"
+ },
+ "sw-CD": {
+ "name": "suajili del Congo"
+ },
+ "sv": {
+ "name": "sueco"
+ },
+ "th": {
+ "name": "tailandés"
+ },
+ "dav": {
+ "name": "taita"
+ },
+ "tzm": {
+ "name": "tamazight del Marruecos Central"
+ },
+ "zgh": {
+ "name": "tamazight marroquí estándar"
+ },
+ "ta": {
+ "name": "tamil"
+ },
+ "twq": {
+ "name": "tasawaq"
+ },
+ "shi": {
+ "name": "tashelhit"
+ },
+ "te": {
+ "name": "telugu"
+ },
+ "teo": {
+ "name": "teso"
+ },
+ "bo": {
+ "name": "tibetano"
+ },
+ "ti": {
+ "name": "tigriña"
+ },
+ "to": {
+ "name": "tongano"
+ },
+ "tr": {
+ "name": "turco"
+ },
+ "tk": {
+ "name": "turcomano"
+ },
+ "uk": {
+ "name": "ucraniano"
+ },
+ "ug": {
+ "name": "uigur"
+ },
+ "ur": {
+ "name": "urdu"
+ },
+ "uz": {
+ "name": "uzbeko"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vi": {
+ "name": "vietnamita"
+ },
+ "vo": {
+ "name": "volapük"
+ },
+ "vun": {
+ "name": "vunjo"
+ },
+ "wae": {
+ "name": "walser"
+ },
+ "yav": {
+ "name": "yangben"
+ },
+ "ii": {
+ "name": "yi de Sichuán"
+ },
+ "yi": {
+ "name": "yídish"
+ },
+ "yo": {
+ "name": "yoruba"
+ },
+ "dje": {
+ "name": "zarma"
+ },
+ "zu": {
+ "name": "zulú"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/es-CR.json b/vendor/commerceguys/intl/resources/language/es-CR.json
new file mode 100644
index 000000000..141f785c9
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/es-CR.json
@@ -0,0 +1,635 @@
+{
+ "af": {
+ "name": "afrikáans"
+ },
+ "agq": {
+ "name": "aghem"
+ },
+ "ak": {
+ "name": "akan"
+ },
+ "sq": {
+ "name": "albanés"
+ },
+ "de": {
+ "name": "alemán"
+ },
+ "de-AT": {
+ "name": "alemán austríaco"
+ },
+ "gsw": {
+ "name": "alemán suizo"
+ },
+ "de-CH": {
+ "name": "alto alemán suizo"
+ },
+ "am": {
+ "name": "amárico"
+ },
+ "ar": {
+ "name": "árabe"
+ },
+ "hy": {
+ "name": "armenio"
+ },
+ "as": {
+ "name": "asamés"
+ },
+ "ast": {
+ "name": "asturiano"
+ },
+ "asa": {
+ "name": "asu"
+ },
+ "az": {
+ "name": "azerbaiyano"
+ },
+ "ksf": {
+ "name": "bafia"
+ },
+ "nds": {
+ "name": "bajo alemán"
+ },
+ "nds-NL": {
+ "name": "bajo sajón"
+ },
+ "dsb": {
+ "name": "bajo sorbio"
+ },
+ "bm": {
+ "name": "bambara"
+ },
+ "bas": {
+ "name": "basaa"
+ },
+ "bem": {
+ "name": "bemba"
+ },
+ "bez": {
+ "name": "bena"
+ },
+ "bn": {
+ "name": "bengalí"
+ },
+ "be": {
+ "name": "bielorruso"
+ },
+ "my": {
+ "name": "birmano"
+ },
+ "brx": {
+ "name": "bodo"
+ },
+ "bs": {
+ "name": "bosnio"
+ },
+ "br": {
+ "name": "bretón"
+ },
+ "bg": {
+ "name": "búlgaro"
+ },
+ "kab": {
+ "name": "cabila"
+ },
+ "ks": {
+ "name": "cachemiro"
+ },
+ "kn": {
+ "name": "canarés"
+ },
+ "yue": {
+ "name": "cantonés"
+ },
+ "ca": {
+ "name": "catalán"
+ },
+ "ce": {
+ "name": "checheno"
+ },
+ "cs": {
+ "name": "checo"
+ },
+ "chr": {
+ "name": "cheroqui"
+ },
+ "cgg": {
+ "name": "chiga"
+ },
+ "zh": {
+ "name": "chino"
+ },
+ "zh-Hans": {
+ "name": "chino simplificado"
+ },
+ "zh-Hant": {
+ "name": "chino tradicional"
+ },
+ "si": {
+ "name": "cingalés"
+ },
+ "ko": {
+ "name": "coreano"
+ },
+ "kw": {
+ "name": "córnico"
+ },
+ "kea": {
+ "name": "Criollo (Cabo Verde)"
+ },
+ "mfe": {
+ "name": "criollo mauriciano"
+ },
+ "hr": {
+ "name": "croata"
+ },
+ "da": {
+ "name": "danés"
+ },
+ "dua": {
+ "name": "duala"
+ },
+ "dz": {
+ "name": "dzongkha"
+ },
+ "ebu": {
+ "name": "embu"
+ },
+ "cu": {
+ "name": "eslavo eclesiástico"
+ },
+ "sk": {
+ "name": "eslovaco"
+ },
+ "sl": {
+ "name": "esloveno"
+ },
+ "es": {
+ "name": "español"
+ },
+ "es-MX": {
+ "name": "español de México"
+ },
+ "eo": {
+ "name": "esperanto"
+ },
+ "et": {
+ "name": "estonio"
+ },
+ "eu": {
+ "name": "euskera"
+ },
+ "ee": {
+ "name": "ewé"
+ },
+ "ewo": {
+ "name": "ewondo"
+ },
+ "fo": {
+ "name": "feroés"
+ },
+ "fil": {
+ "name": "filipino"
+ },
+ "fi": {
+ "name": "finés"
+ },
+ "nl-BE": {
+ "name": "flamenco"
+ },
+ "fr": {
+ "name": "francés"
+ },
+ "fr-CA": {
+ "name": "francés canadiense"
+ },
+ "fr-CH": {
+ "name": "francés suizo"
+ },
+ "fy": {
+ "name": "frisón occidental"
+ },
+ "fur": {
+ "name": "friulano"
+ },
+ "ff": {
+ "name": "fula"
+ },
+ "gd": {
+ "name": "gaélico escocés"
+ },
+ "cy": {
+ "name": "galés"
+ },
+ "gl": {
+ "name": "gallego"
+ },
+ "lg": {
+ "name": "ganda"
+ },
+ "ka": {
+ "name": "georgiano"
+ },
+ "el": {
+ "name": "griego"
+ },
+ "kl": {
+ "name": "groenlandés"
+ },
+ "gu": {
+ "name": "gujarati"
+ },
+ "guz": {
+ "name": "gusii"
+ },
+ "ha": {
+ "name": "hausa"
+ },
+ "haw": {
+ "name": "hawaiano"
+ },
+ "he": {
+ "name": "hebreo"
+ },
+ "hi": {
+ "name": "hindi"
+ },
+ "hu": {
+ "name": "húngaro"
+ },
+ "ig": {
+ "name": "igbo"
+ },
+ "id": {
+ "name": "indonesio"
+ },
+ "en": {
+ "name": "inglés"
+ },
+ "en-AU": {
+ "name": "inglés australiano"
+ },
+ "en-GB": {
+ "name": "inglés británico"
+ },
+ "en-CA": {
+ "name": "inglés canadiense"
+ },
+ "ga": {
+ "name": "irlandés"
+ },
+ "is": {
+ "name": "islandés"
+ },
+ "it": {
+ "name": "italiano"
+ },
+ "ja": {
+ "name": "japonés"
+ },
+ "km": {
+ "name": "jemer"
+ },
+ "dyo": {
+ "name": "jola-fonyi"
+ },
+ "kkj": {
+ "name": "kako"
+ },
+ "kln": {
+ "name": "kalenjin"
+ },
+ "kam": {
+ "name": "kamba"
+ },
+ "kk": {
+ "name": "kazajo"
+ },
+ "ki": {
+ "name": "kikuyu"
+ },
+ "rw": {
+ "name": "kinyarwanda"
+ },
+ "ky": {
+ "name": "kirguís"
+ },
+ "rn": {
+ "name": "kirundi"
+ },
+ "ksh": {
+ "name": "kölsch"
+ },
+ "kok": {
+ "name": "konkaní"
+ },
+ "khq": {
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "name": "koyraboro senni"
+ },
+ "ckb": {
+ "name": "kurdo sorani"
+ },
+ "nmg": {
+ "name": "kwasio"
+ },
+ "lkt": {
+ "name": "lakota"
+ },
+ "lag": {
+ "name": "langi"
+ },
+ "lo": {
+ "name": "lao"
+ },
+ "lv": {
+ "name": "letón"
+ },
+ "ln": {
+ "name": "lingala"
+ },
+ "lt": {
+ "name": "lituano"
+ },
+ "lrc": {
+ "name": "lorí septentrional"
+ },
+ "lu": {
+ "name": "luba-katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "luxemburgués"
+ },
+ "luy": {
+ "name": "luyia"
+ },
+ "mk": {
+ "name": "macedonio"
+ },
+ "jmc": {
+ "name": "machame"
+ },
+ "mgh": {
+ "name": "makhuwa-meetto"
+ },
+ "kde": {
+ "name": "makonde"
+ },
+ "ml": {
+ "name": "malayalam"
+ },
+ "ms": {
+ "name": "malayo"
+ },
+ "mg": {
+ "name": "malgache"
+ },
+ "mt": {
+ "name": "maltés"
+ },
+ "gv": {
+ "name": "manés"
+ },
+ "mr": {
+ "name": "maratí"
+ },
+ "mas": {
+ "name": "masái"
+ },
+ "mzn": {
+ "name": "mazandaraní"
+ },
+ "mer": {
+ "name": "meru"
+ },
+ "mgo": {
+ "name": "meta’"
+ },
+ "ro-MD": {
+ "name": "moldavo"
+ },
+ "mn": {
+ "name": "mongol"
+ },
+ "mua": {
+ "name": "mundang"
+ },
+ "naq": {
+ "name": "nama"
+ },
+ "nd": {
+ "name": "ndebele septentrional"
+ },
+ "nl": {
+ "name": "neerlandés"
+ },
+ "ne": {
+ "name": "nepalí"
+ },
+ "nnh": {
+ "name": "ngiemboon"
+ },
+ "jgo": {
+ "name": "ngomba"
+ },
+ "nb": {
+ "name": "noruego bokmal"
+ },
+ "nn": {
+ "name": "noruego nynorsk"
+ },
+ "nus": {
+ "name": "nuer"
+ },
+ "nyn": {
+ "name": "nyankole"
+ },
+ "or": {
+ "name": "oriya"
+ },
+ "om": {
+ "name": "oromo"
+ },
+ "os": {
+ "name": "osético"
+ },
+ "ps": {
+ "name": "pastún"
+ },
+ "fa": {
+ "name": "persa"
+ },
+ "pl": {
+ "name": "polaco"
+ },
+ "pt": {
+ "name": "portugués"
+ },
+ "pt-PT": {
+ "name": "portugués de Portugal"
+ },
+ "prg": {
+ "name": "prusiano antiguo"
+ },
+ "pa": {
+ "name": "punyabí"
+ },
+ "qu": {
+ "name": "quechua"
+ },
+ "rm": {
+ "name": "retorrománico"
+ },
+ "rof": {
+ "name": "rombo"
+ },
+ "ro": {
+ "name": "rumano"
+ },
+ "ru": {
+ "name": "ruso"
+ },
+ "rwk": {
+ "name": "rwa"
+ },
+ "sah": {
+ "name": "sakha"
+ },
+ "saq": {
+ "name": "samburu"
+ },
+ "smn": {
+ "name": "sami inari"
+ },
+ "se": {
+ "name": "sami septentrional"
+ },
+ "sg": {
+ "name": "sango"
+ },
+ "sbp": {
+ "name": "sangu"
+ },
+ "seh": {
+ "name": "sena"
+ },
+ "sr": {
+ "name": "serbio"
+ },
+ "ksb": {
+ "name": "shambala"
+ },
+ "sn": {
+ "name": "shona"
+ },
+ "xog": {
+ "name": "soga"
+ },
+ "so": {
+ "name": "somalí"
+ },
+ "hsb": {
+ "name": "sorbio alto"
+ },
+ "sw": {
+ "name": "suajili"
+ },
+ "sw-CD": {
+ "name": "suajili del Congo"
+ },
+ "sv": {
+ "name": "sueco"
+ },
+ "th": {
+ "name": "tailandés"
+ },
+ "dav": {
+ "name": "taita"
+ },
+ "tzm": {
+ "name": "tamazight del Marruecos Central"
+ },
+ "zgh": {
+ "name": "tamazight marroquí estándar"
+ },
+ "ta": {
+ "name": "tamil"
+ },
+ "twq": {
+ "name": "tasawaq"
+ },
+ "shi": {
+ "name": "tashelhit"
+ },
+ "te": {
+ "name": "telugu"
+ },
+ "teo": {
+ "name": "teso"
+ },
+ "bo": {
+ "name": "tibetano"
+ },
+ "ti": {
+ "name": "tigriña"
+ },
+ "to": {
+ "name": "tongano"
+ },
+ "tr": {
+ "name": "turco"
+ },
+ "tk": {
+ "name": "turcomano"
+ },
+ "uk": {
+ "name": "ucraniano"
+ },
+ "ug": {
+ "name": "uigur"
+ },
+ "ur": {
+ "name": "urdu"
+ },
+ "uz": {
+ "name": "uzbeko"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vi": {
+ "name": "vietnamita"
+ },
+ "vo": {
+ "name": "volapük"
+ },
+ "vun": {
+ "name": "vunjo"
+ },
+ "wae": {
+ "name": "walser"
+ },
+ "yav": {
+ "name": "yangben"
+ },
+ "ii": {
+ "name": "yi de Sichuán"
+ },
+ "yi": {
+ "name": "yídish"
+ },
+ "yo": {
+ "name": "yoruba"
+ },
+ "dje": {
+ "name": "zarma"
+ },
+ "zu": {
+ "name": "zulú"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/es-CU.json b/vendor/commerceguys/intl/resources/language/es-CU.json
new file mode 100644
index 000000000..a1842dc81
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/es-CU.json
@@ -0,0 +1,635 @@
+{
+ "af": {
+ "name": "afrikáans"
+ },
+ "agq": {
+ "name": "aghem"
+ },
+ "ak": {
+ "name": "akan"
+ },
+ "sq": {
+ "name": "albanés"
+ },
+ "de": {
+ "name": "alemán"
+ },
+ "de-AT": {
+ "name": "alemán austríaco"
+ },
+ "gsw": {
+ "name": "alemán suizo"
+ },
+ "de-CH": {
+ "name": "alto alemán suizo"
+ },
+ "am": {
+ "name": "amárico"
+ },
+ "ar": {
+ "name": "árabe"
+ },
+ "hy": {
+ "name": "armenio"
+ },
+ "as": {
+ "name": "asamés"
+ },
+ "ast": {
+ "name": "asturiano"
+ },
+ "asa": {
+ "name": "asu"
+ },
+ "az": {
+ "name": "azerbaiyano"
+ },
+ "ksf": {
+ "name": "bafia"
+ },
+ "nds": {
+ "name": "bajo alemán"
+ },
+ "nds-NL": {
+ "name": "bajo sajón"
+ },
+ "dsb": {
+ "name": "bajo sorbio"
+ },
+ "bm": {
+ "name": "bambara"
+ },
+ "bas": {
+ "name": "basaa"
+ },
+ "bem": {
+ "name": "bemba"
+ },
+ "bez": {
+ "name": "bena"
+ },
+ "bn": {
+ "name": "bengalí"
+ },
+ "be": {
+ "name": "bielorruso"
+ },
+ "my": {
+ "name": "birmano"
+ },
+ "brx": {
+ "name": "bodo"
+ },
+ "bs": {
+ "name": "bosnio"
+ },
+ "br": {
+ "name": "bretón"
+ },
+ "bg": {
+ "name": "búlgaro"
+ },
+ "kab": {
+ "name": "cabila"
+ },
+ "ks": {
+ "name": "cachemiro"
+ },
+ "kn": {
+ "name": "canarés"
+ },
+ "yue": {
+ "name": "cantonés"
+ },
+ "ca": {
+ "name": "catalán"
+ },
+ "ce": {
+ "name": "checheno"
+ },
+ "cs": {
+ "name": "checo"
+ },
+ "chr": {
+ "name": "cheroqui"
+ },
+ "cgg": {
+ "name": "chiga"
+ },
+ "zh": {
+ "name": "chino"
+ },
+ "zh-Hans": {
+ "name": "chino simplificado"
+ },
+ "zh-Hant": {
+ "name": "chino tradicional"
+ },
+ "si": {
+ "name": "cingalés"
+ },
+ "ko": {
+ "name": "coreano"
+ },
+ "kw": {
+ "name": "córnico"
+ },
+ "kea": {
+ "name": "Criollo (Cabo Verde)"
+ },
+ "mfe": {
+ "name": "criollo mauriciano"
+ },
+ "hr": {
+ "name": "croata"
+ },
+ "da": {
+ "name": "danés"
+ },
+ "dua": {
+ "name": "duala"
+ },
+ "dz": {
+ "name": "dzongkha"
+ },
+ "ebu": {
+ "name": "embu"
+ },
+ "cu": {
+ "name": "eslavo eclesiástico"
+ },
+ "sk": {
+ "name": "eslovaco"
+ },
+ "sl": {
+ "name": "esloveno"
+ },
+ "es": {
+ "name": "español"
+ },
+ "es-MX": {
+ "name": "español de México"
+ },
+ "eo": {
+ "name": "esperanto"
+ },
+ "et": {
+ "name": "estonio"
+ },
+ "ee": {
+ "name": "ewé"
+ },
+ "ewo": {
+ "name": "ewondo"
+ },
+ "fo": {
+ "name": "feroés"
+ },
+ "fil": {
+ "name": "filipino"
+ },
+ "fi": {
+ "name": "finés"
+ },
+ "nl-BE": {
+ "name": "flamenco"
+ },
+ "fr": {
+ "name": "francés"
+ },
+ "fr-CA": {
+ "name": "francés canadiense"
+ },
+ "fr-CH": {
+ "name": "francés suizo"
+ },
+ "fy": {
+ "name": "frisón occidental"
+ },
+ "fur": {
+ "name": "friulano"
+ },
+ "ff": {
+ "name": "fula"
+ },
+ "gd": {
+ "name": "gaélico escocés"
+ },
+ "cy": {
+ "name": "galés"
+ },
+ "gl": {
+ "name": "gallego"
+ },
+ "lg": {
+ "name": "ganda"
+ },
+ "ka": {
+ "name": "georgiano"
+ },
+ "el": {
+ "name": "griego"
+ },
+ "kl": {
+ "name": "groenlandés"
+ },
+ "gu": {
+ "name": "gujarati"
+ },
+ "guz": {
+ "name": "gusii"
+ },
+ "ha": {
+ "name": "hausa"
+ },
+ "haw": {
+ "name": "hawaiano"
+ },
+ "he": {
+ "name": "hebreo"
+ },
+ "hi": {
+ "name": "hindi"
+ },
+ "hu": {
+ "name": "húngaro"
+ },
+ "ig": {
+ "name": "igbo"
+ },
+ "id": {
+ "name": "indonesio"
+ },
+ "en": {
+ "name": "inglés"
+ },
+ "en-AU": {
+ "name": "inglés australiano"
+ },
+ "en-GB": {
+ "name": "inglés británico"
+ },
+ "en-CA": {
+ "name": "inglés canadiense"
+ },
+ "ga": {
+ "name": "irlandés"
+ },
+ "is": {
+ "name": "islandés"
+ },
+ "it": {
+ "name": "italiano"
+ },
+ "ja": {
+ "name": "japonés"
+ },
+ "km": {
+ "name": "jemer"
+ },
+ "dyo": {
+ "name": "jola-fonyi"
+ },
+ "kkj": {
+ "name": "kako"
+ },
+ "kln": {
+ "name": "kalenjin"
+ },
+ "kam": {
+ "name": "kamba"
+ },
+ "kk": {
+ "name": "kazajo"
+ },
+ "ki": {
+ "name": "kikuyu"
+ },
+ "rw": {
+ "name": "kinyarwanda"
+ },
+ "ky": {
+ "name": "kirguís"
+ },
+ "rn": {
+ "name": "kirundi"
+ },
+ "ksh": {
+ "name": "kölsch"
+ },
+ "kok": {
+ "name": "konkaní"
+ },
+ "khq": {
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "name": "koyraboro senni"
+ },
+ "ckb": {
+ "name": "kurdo sorani"
+ },
+ "nmg": {
+ "name": "kwasio"
+ },
+ "lkt": {
+ "name": "lakota"
+ },
+ "lag": {
+ "name": "langi"
+ },
+ "lo": {
+ "name": "laosiano"
+ },
+ "lv": {
+ "name": "letón"
+ },
+ "ln": {
+ "name": "lingala"
+ },
+ "lt": {
+ "name": "lituano"
+ },
+ "lrc": {
+ "name": "lorí septentrional"
+ },
+ "lu": {
+ "name": "luba-katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "luxemburgués"
+ },
+ "luy": {
+ "name": "luyia"
+ },
+ "mk": {
+ "name": "macedonio"
+ },
+ "jmc": {
+ "name": "machame"
+ },
+ "mgh": {
+ "name": "makhuwa-meetto"
+ },
+ "kde": {
+ "name": "makonde"
+ },
+ "ml": {
+ "name": "malayalam"
+ },
+ "ms": {
+ "name": "malayo"
+ },
+ "mg": {
+ "name": "malgache"
+ },
+ "mt": {
+ "name": "maltés"
+ },
+ "gv": {
+ "name": "manés"
+ },
+ "mr": {
+ "name": "maratí"
+ },
+ "mas": {
+ "name": "masái"
+ },
+ "mzn": {
+ "name": "mazandaraní"
+ },
+ "mer": {
+ "name": "meru"
+ },
+ "mgo": {
+ "name": "meta’"
+ },
+ "ro-MD": {
+ "name": "moldavo"
+ },
+ "mn": {
+ "name": "mongol"
+ },
+ "mua": {
+ "name": "mundang"
+ },
+ "naq": {
+ "name": "nama"
+ },
+ "nd": {
+ "name": "ndebele septentrional"
+ },
+ "nl": {
+ "name": "neerlandés"
+ },
+ "ne": {
+ "name": "nepalí"
+ },
+ "nnh": {
+ "name": "ngiemboon"
+ },
+ "jgo": {
+ "name": "ngomba"
+ },
+ "nb": {
+ "name": "noruego bokmal"
+ },
+ "nn": {
+ "name": "noruego nynorsk"
+ },
+ "nus": {
+ "name": "nuer"
+ },
+ "nyn": {
+ "name": "nyankole"
+ },
+ "or": {
+ "name": "oriya"
+ },
+ "om": {
+ "name": "oromo"
+ },
+ "os": {
+ "name": "osético"
+ },
+ "pa": {
+ "name": "panyabí"
+ },
+ "ps": {
+ "name": "pastún"
+ },
+ "fa": {
+ "name": "persa"
+ },
+ "pl": {
+ "name": "polaco"
+ },
+ "pt": {
+ "name": "portugués"
+ },
+ "pt-PT": {
+ "name": "portugués de Portugal"
+ },
+ "prg": {
+ "name": "prusiano antiguo"
+ },
+ "qu": {
+ "name": "quechua"
+ },
+ "rm": {
+ "name": "retorrománico"
+ },
+ "rof": {
+ "name": "rombo"
+ },
+ "ro": {
+ "name": "rumano"
+ },
+ "ru": {
+ "name": "ruso"
+ },
+ "rwk": {
+ "name": "rwa"
+ },
+ "sah": {
+ "name": "sakha"
+ },
+ "saq": {
+ "name": "samburu"
+ },
+ "smn": {
+ "name": "sami inari"
+ },
+ "se": {
+ "name": "sami septentrional"
+ },
+ "sg": {
+ "name": "sango"
+ },
+ "sbp": {
+ "name": "sangu"
+ },
+ "seh": {
+ "name": "sena"
+ },
+ "sr": {
+ "name": "serbio"
+ },
+ "ksb": {
+ "name": "shambala"
+ },
+ "sn": {
+ "name": "shona"
+ },
+ "xog": {
+ "name": "soga"
+ },
+ "so": {
+ "name": "somalí"
+ },
+ "hsb": {
+ "name": "sorbio alto"
+ },
+ "sv": {
+ "name": "sueco"
+ },
+ "sw": {
+ "name": "swahili"
+ },
+ "sw-CD": {
+ "name": "swahili (Congo)"
+ },
+ "th": {
+ "name": "tailandés"
+ },
+ "dav": {
+ "name": "taita"
+ },
+ "tzm": {
+ "name": "tamazight del Marruecos Central"
+ },
+ "zgh": {
+ "name": "tamazight estándar marroquí"
+ },
+ "ta": {
+ "name": "tamil"
+ },
+ "twq": {
+ "name": "tasawaq"
+ },
+ "shi": {
+ "name": "tashelhit"
+ },
+ "te": {
+ "name": "telugu"
+ },
+ "teo": {
+ "name": "teso"
+ },
+ "bo": {
+ "name": "tibetano"
+ },
+ "ti": {
+ "name": "tigriña"
+ },
+ "to": {
+ "name": "tongano"
+ },
+ "tr": {
+ "name": "turco"
+ },
+ "tk": {
+ "name": "turcomano"
+ },
+ "uk": {
+ "name": "ucraniano"
+ },
+ "ug": {
+ "name": "uigur"
+ },
+ "ur": {
+ "name": "urdu"
+ },
+ "uz": {
+ "name": "uzbeko"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "eu": {
+ "name": "vasco"
+ },
+ "vi": {
+ "name": "vietnamita"
+ },
+ "vo": {
+ "name": "volapük"
+ },
+ "vun": {
+ "name": "vunjo"
+ },
+ "wae": {
+ "name": "walser"
+ },
+ "yav": {
+ "name": "yangben"
+ },
+ "ii": {
+ "name": "yi de Sichuán"
+ },
+ "yi": {
+ "name": "yídish"
+ },
+ "yo": {
+ "name": "yoruba"
+ },
+ "dje": {
+ "name": "zarma"
+ },
+ "zu": {
+ "name": "zulú"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/es-DO.json b/vendor/commerceguys/intl/resources/language/es-DO.json
new file mode 100644
index 000000000..141f785c9
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/es-DO.json
@@ -0,0 +1,635 @@
+{
+ "af": {
+ "name": "afrikáans"
+ },
+ "agq": {
+ "name": "aghem"
+ },
+ "ak": {
+ "name": "akan"
+ },
+ "sq": {
+ "name": "albanés"
+ },
+ "de": {
+ "name": "alemán"
+ },
+ "de-AT": {
+ "name": "alemán austríaco"
+ },
+ "gsw": {
+ "name": "alemán suizo"
+ },
+ "de-CH": {
+ "name": "alto alemán suizo"
+ },
+ "am": {
+ "name": "amárico"
+ },
+ "ar": {
+ "name": "árabe"
+ },
+ "hy": {
+ "name": "armenio"
+ },
+ "as": {
+ "name": "asamés"
+ },
+ "ast": {
+ "name": "asturiano"
+ },
+ "asa": {
+ "name": "asu"
+ },
+ "az": {
+ "name": "azerbaiyano"
+ },
+ "ksf": {
+ "name": "bafia"
+ },
+ "nds": {
+ "name": "bajo alemán"
+ },
+ "nds-NL": {
+ "name": "bajo sajón"
+ },
+ "dsb": {
+ "name": "bajo sorbio"
+ },
+ "bm": {
+ "name": "bambara"
+ },
+ "bas": {
+ "name": "basaa"
+ },
+ "bem": {
+ "name": "bemba"
+ },
+ "bez": {
+ "name": "bena"
+ },
+ "bn": {
+ "name": "bengalí"
+ },
+ "be": {
+ "name": "bielorruso"
+ },
+ "my": {
+ "name": "birmano"
+ },
+ "brx": {
+ "name": "bodo"
+ },
+ "bs": {
+ "name": "bosnio"
+ },
+ "br": {
+ "name": "bretón"
+ },
+ "bg": {
+ "name": "búlgaro"
+ },
+ "kab": {
+ "name": "cabila"
+ },
+ "ks": {
+ "name": "cachemiro"
+ },
+ "kn": {
+ "name": "canarés"
+ },
+ "yue": {
+ "name": "cantonés"
+ },
+ "ca": {
+ "name": "catalán"
+ },
+ "ce": {
+ "name": "checheno"
+ },
+ "cs": {
+ "name": "checo"
+ },
+ "chr": {
+ "name": "cheroqui"
+ },
+ "cgg": {
+ "name": "chiga"
+ },
+ "zh": {
+ "name": "chino"
+ },
+ "zh-Hans": {
+ "name": "chino simplificado"
+ },
+ "zh-Hant": {
+ "name": "chino tradicional"
+ },
+ "si": {
+ "name": "cingalés"
+ },
+ "ko": {
+ "name": "coreano"
+ },
+ "kw": {
+ "name": "córnico"
+ },
+ "kea": {
+ "name": "Criollo (Cabo Verde)"
+ },
+ "mfe": {
+ "name": "criollo mauriciano"
+ },
+ "hr": {
+ "name": "croata"
+ },
+ "da": {
+ "name": "danés"
+ },
+ "dua": {
+ "name": "duala"
+ },
+ "dz": {
+ "name": "dzongkha"
+ },
+ "ebu": {
+ "name": "embu"
+ },
+ "cu": {
+ "name": "eslavo eclesiástico"
+ },
+ "sk": {
+ "name": "eslovaco"
+ },
+ "sl": {
+ "name": "esloveno"
+ },
+ "es": {
+ "name": "español"
+ },
+ "es-MX": {
+ "name": "español de México"
+ },
+ "eo": {
+ "name": "esperanto"
+ },
+ "et": {
+ "name": "estonio"
+ },
+ "eu": {
+ "name": "euskera"
+ },
+ "ee": {
+ "name": "ewé"
+ },
+ "ewo": {
+ "name": "ewondo"
+ },
+ "fo": {
+ "name": "feroés"
+ },
+ "fil": {
+ "name": "filipino"
+ },
+ "fi": {
+ "name": "finés"
+ },
+ "nl-BE": {
+ "name": "flamenco"
+ },
+ "fr": {
+ "name": "francés"
+ },
+ "fr-CA": {
+ "name": "francés canadiense"
+ },
+ "fr-CH": {
+ "name": "francés suizo"
+ },
+ "fy": {
+ "name": "frisón occidental"
+ },
+ "fur": {
+ "name": "friulano"
+ },
+ "ff": {
+ "name": "fula"
+ },
+ "gd": {
+ "name": "gaélico escocés"
+ },
+ "cy": {
+ "name": "galés"
+ },
+ "gl": {
+ "name": "gallego"
+ },
+ "lg": {
+ "name": "ganda"
+ },
+ "ka": {
+ "name": "georgiano"
+ },
+ "el": {
+ "name": "griego"
+ },
+ "kl": {
+ "name": "groenlandés"
+ },
+ "gu": {
+ "name": "gujarati"
+ },
+ "guz": {
+ "name": "gusii"
+ },
+ "ha": {
+ "name": "hausa"
+ },
+ "haw": {
+ "name": "hawaiano"
+ },
+ "he": {
+ "name": "hebreo"
+ },
+ "hi": {
+ "name": "hindi"
+ },
+ "hu": {
+ "name": "húngaro"
+ },
+ "ig": {
+ "name": "igbo"
+ },
+ "id": {
+ "name": "indonesio"
+ },
+ "en": {
+ "name": "inglés"
+ },
+ "en-AU": {
+ "name": "inglés australiano"
+ },
+ "en-GB": {
+ "name": "inglés británico"
+ },
+ "en-CA": {
+ "name": "inglés canadiense"
+ },
+ "ga": {
+ "name": "irlandés"
+ },
+ "is": {
+ "name": "islandés"
+ },
+ "it": {
+ "name": "italiano"
+ },
+ "ja": {
+ "name": "japonés"
+ },
+ "km": {
+ "name": "jemer"
+ },
+ "dyo": {
+ "name": "jola-fonyi"
+ },
+ "kkj": {
+ "name": "kako"
+ },
+ "kln": {
+ "name": "kalenjin"
+ },
+ "kam": {
+ "name": "kamba"
+ },
+ "kk": {
+ "name": "kazajo"
+ },
+ "ki": {
+ "name": "kikuyu"
+ },
+ "rw": {
+ "name": "kinyarwanda"
+ },
+ "ky": {
+ "name": "kirguís"
+ },
+ "rn": {
+ "name": "kirundi"
+ },
+ "ksh": {
+ "name": "kölsch"
+ },
+ "kok": {
+ "name": "konkaní"
+ },
+ "khq": {
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "name": "koyraboro senni"
+ },
+ "ckb": {
+ "name": "kurdo sorani"
+ },
+ "nmg": {
+ "name": "kwasio"
+ },
+ "lkt": {
+ "name": "lakota"
+ },
+ "lag": {
+ "name": "langi"
+ },
+ "lo": {
+ "name": "lao"
+ },
+ "lv": {
+ "name": "letón"
+ },
+ "ln": {
+ "name": "lingala"
+ },
+ "lt": {
+ "name": "lituano"
+ },
+ "lrc": {
+ "name": "lorí septentrional"
+ },
+ "lu": {
+ "name": "luba-katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "luxemburgués"
+ },
+ "luy": {
+ "name": "luyia"
+ },
+ "mk": {
+ "name": "macedonio"
+ },
+ "jmc": {
+ "name": "machame"
+ },
+ "mgh": {
+ "name": "makhuwa-meetto"
+ },
+ "kde": {
+ "name": "makonde"
+ },
+ "ml": {
+ "name": "malayalam"
+ },
+ "ms": {
+ "name": "malayo"
+ },
+ "mg": {
+ "name": "malgache"
+ },
+ "mt": {
+ "name": "maltés"
+ },
+ "gv": {
+ "name": "manés"
+ },
+ "mr": {
+ "name": "maratí"
+ },
+ "mas": {
+ "name": "masái"
+ },
+ "mzn": {
+ "name": "mazandaraní"
+ },
+ "mer": {
+ "name": "meru"
+ },
+ "mgo": {
+ "name": "meta’"
+ },
+ "ro-MD": {
+ "name": "moldavo"
+ },
+ "mn": {
+ "name": "mongol"
+ },
+ "mua": {
+ "name": "mundang"
+ },
+ "naq": {
+ "name": "nama"
+ },
+ "nd": {
+ "name": "ndebele septentrional"
+ },
+ "nl": {
+ "name": "neerlandés"
+ },
+ "ne": {
+ "name": "nepalí"
+ },
+ "nnh": {
+ "name": "ngiemboon"
+ },
+ "jgo": {
+ "name": "ngomba"
+ },
+ "nb": {
+ "name": "noruego bokmal"
+ },
+ "nn": {
+ "name": "noruego nynorsk"
+ },
+ "nus": {
+ "name": "nuer"
+ },
+ "nyn": {
+ "name": "nyankole"
+ },
+ "or": {
+ "name": "oriya"
+ },
+ "om": {
+ "name": "oromo"
+ },
+ "os": {
+ "name": "osético"
+ },
+ "ps": {
+ "name": "pastún"
+ },
+ "fa": {
+ "name": "persa"
+ },
+ "pl": {
+ "name": "polaco"
+ },
+ "pt": {
+ "name": "portugués"
+ },
+ "pt-PT": {
+ "name": "portugués de Portugal"
+ },
+ "prg": {
+ "name": "prusiano antiguo"
+ },
+ "pa": {
+ "name": "punyabí"
+ },
+ "qu": {
+ "name": "quechua"
+ },
+ "rm": {
+ "name": "retorrománico"
+ },
+ "rof": {
+ "name": "rombo"
+ },
+ "ro": {
+ "name": "rumano"
+ },
+ "ru": {
+ "name": "ruso"
+ },
+ "rwk": {
+ "name": "rwa"
+ },
+ "sah": {
+ "name": "sakha"
+ },
+ "saq": {
+ "name": "samburu"
+ },
+ "smn": {
+ "name": "sami inari"
+ },
+ "se": {
+ "name": "sami septentrional"
+ },
+ "sg": {
+ "name": "sango"
+ },
+ "sbp": {
+ "name": "sangu"
+ },
+ "seh": {
+ "name": "sena"
+ },
+ "sr": {
+ "name": "serbio"
+ },
+ "ksb": {
+ "name": "shambala"
+ },
+ "sn": {
+ "name": "shona"
+ },
+ "xog": {
+ "name": "soga"
+ },
+ "so": {
+ "name": "somalí"
+ },
+ "hsb": {
+ "name": "sorbio alto"
+ },
+ "sw": {
+ "name": "suajili"
+ },
+ "sw-CD": {
+ "name": "suajili del Congo"
+ },
+ "sv": {
+ "name": "sueco"
+ },
+ "th": {
+ "name": "tailandés"
+ },
+ "dav": {
+ "name": "taita"
+ },
+ "tzm": {
+ "name": "tamazight del Marruecos Central"
+ },
+ "zgh": {
+ "name": "tamazight marroquí estándar"
+ },
+ "ta": {
+ "name": "tamil"
+ },
+ "twq": {
+ "name": "tasawaq"
+ },
+ "shi": {
+ "name": "tashelhit"
+ },
+ "te": {
+ "name": "telugu"
+ },
+ "teo": {
+ "name": "teso"
+ },
+ "bo": {
+ "name": "tibetano"
+ },
+ "ti": {
+ "name": "tigriña"
+ },
+ "to": {
+ "name": "tongano"
+ },
+ "tr": {
+ "name": "turco"
+ },
+ "tk": {
+ "name": "turcomano"
+ },
+ "uk": {
+ "name": "ucraniano"
+ },
+ "ug": {
+ "name": "uigur"
+ },
+ "ur": {
+ "name": "urdu"
+ },
+ "uz": {
+ "name": "uzbeko"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vi": {
+ "name": "vietnamita"
+ },
+ "vo": {
+ "name": "volapük"
+ },
+ "vun": {
+ "name": "vunjo"
+ },
+ "wae": {
+ "name": "walser"
+ },
+ "yav": {
+ "name": "yangben"
+ },
+ "ii": {
+ "name": "yi de Sichuán"
+ },
+ "yi": {
+ "name": "yídish"
+ },
+ "yo": {
+ "name": "yoruba"
+ },
+ "dje": {
+ "name": "zarma"
+ },
+ "zu": {
+ "name": "zulú"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/es-EC.json b/vendor/commerceguys/intl/resources/language/es-EC.json
new file mode 100644
index 000000000..141f785c9
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/es-EC.json
@@ -0,0 +1,635 @@
+{
+ "af": {
+ "name": "afrikáans"
+ },
+ "agq": {
+ "name": "aghem"
+ },
+ "ak": {
+ "name": "akan"
+ },
+ "sq": {
+ "name": "albanés"
+ },
+ "de": {
+ "name": "alemán"
+ },
+ "de-AT": {
+ "name": "alemán austríaco"
+ },
+ "gsw": {
+ "name": "alemán suizo"
+ },
+ "de-CH": {
+ "name": "alto alemán suizo"
+ },
+ "am": {
+ "name": "amárico"
+ },
+ "ar": {
+ "name": "árabe"
+ },
+ "hy": {
+ "name": "armenio"
+ },
+ "as": {
+ "name": "asamés"
+ },
+ "ast": {
+ "name": "asturiano"
+ },
+ "asa": {
+ "name": "asu"
+ },
+ "az": {
+ "name": "azerbaiyano"
+ },
+ "ksf": {
+ "name": "bafia"
+ },
+ "nds": {
+ "name": "bajo alemán"
+ },
+ "nds-NL": {
+ "name": "bajo sajón"
+ },
+ "dsb": {
+ "name": "bajo sorbio"
+ },
+ "bm": {
+ "name": "bambara"
+ },
+ "bas": {
+ "name": "basaa"
+ },
+ "bem": {
+ "name": "bemba"
+ },
+ "bez": {
+ "name": "bena"
+ },
+ "bn": {
+ "name": "bengalí"
+ },
+ "be": {
+ "name": "bielorruso"
+ },
+ "my": {
+ "name": "birmano"
+ },
+ "brx": {
+ "name": "bodo"
+ },
+ "bs": {
+ "name": "bosnio"
+ },
+ "br": {
+ "name": "bretón"
+ },
+ "bg": {
+ "name": "búlgaro"
+ },
+ "kab": {
+ "name": "cabila"
+ },
+ "ks": {
+ "name": "cachemiro"
+ },
+ "kn": {
+ "name": "canarés"
+ },
+ "yue": {
+ "name": "cantonés"
+ },
+ "ca": {
+ "name": "catalán"
+ },
+ "ce": {
+ "name": "checheno"
+ },
+ "cs": {
+ "name": "checo"
+ },
+ "chr": {
+ "name": "cheroqui"
+ },
+ "cgg": {
+ "name": "chiga"
+ },
+ "zh": {
+ "name": "chino"
+ },
+ "zh-Hans": {
+ "name": "chino simplificado"
+ },
+ "zh-Hant": {
+ "name": "chino tradicional"
+ },
+ "si": {
+ "name": "cingalés"
+ },
+ "ko": {
+ "name": "coreano"
+ },
+ "kw": {
+ "name": "córnico"
+ },
+ "kea": {
+ "name": "Criollo (Cabo Verde)"
+ },
+ "mfe": {
+ "name": "criollo mauriciano"
+ },
+ "hr": {
+ "name": "croata"
+ },
+ "da": {
+ "name": "danés"
+ },
+ "dua": {
+ "name": "duala"
+ },
+ "dz": {
+ "name": "dzongkha"
+ },
+ "ebu": {
+ "name": "embu"
+ },
+ "cu": {
+ "name": "eslavo eclesiástico"
+ },
+ "sk": {
+ "name": "eslovaco"
+ },
+ "sl": {
+ "name": "esloveno"
+ },
+ "es": {
+ "name": "español"
+ },
+ "es-MX": {
+ "name": "español de México"
+ },
+ "eo": {
+ "name": "esperanto"
+ },
+ "et": {
+ "name": "estonio"
+ },
+ "eu": {
+ "name": "euskera"
+ },
+ "ee": {
+ "name": "ewé"
+ },
+ "ewo": {
+ "name": "ewondo"
+ },
+ "fo": {
+ "name": "feroés"
+ },
+ "fil": {
+ "name": "filipino"
+ },
+ "fi": {
+ "name": "finés"
+ },
+ "nl-BE": {
+ "name": "flamenco"
+ },
+ "fr": {
+ "name": "francés"
+ },
+ "fr-CA": {
+ "name": "francés canadiense"
+ },
+ "fr-CH": {
+ "name": "francés suizo"
+ },
+ "fy": {
+ "name": "frisón occidental"
+ },
+ "fur": {
+ "name": "friulano"
+ },
+ "ff": {
+ "name": "fula"
+ },
+ "gd": {
+ "name": "gaélico escocés"
+ },
+ "cy": {
+ "name": "galés"
+ },
+ "gl": {
+ "name": "gallego"
+ },
+ "lg": {
+ "name": "ganda"
+ },
+ "ka": {
+ "name": "georgiano"
+ },
+ "el": {
+ "name": "griego"
+ },
+ "kl": {
+ "name": "groenlandés"
+ },
+ "gu": {
+ "name": "gujarati"
+ },
+ "guz": {
+ "name": "gusii"
+ },
+ "ha": {
+ "name": "hausa"
+ },
+ "haw": {
+ "name": "hawaiano"
+ },
+ "he": {
+ "name": "hebreo"
+ },
+ "hi": {
+ "name": "hindi"
+ },
+ "hu": {
+ "name": "húngaro"
+ },
+ "ig": {
+ "name": "igbo"
+ },
+ "id": {
+ "name": "indonesio"
+ },
+ "en": {
+ "name": "inglés"
+ },
+ "en-AU": {
+ "name": "inglés australiano"
+ },
+ "en-GB": {
+ "name": "inglés británico"
+ },
+ "en-CA": {
+ "name": "inglés canadiense"
+ },
+ "ga": {
+ "name": "irlandés"
+ },
+ "is": {
+ "name": "islandés"
+ },
+ "it": {
+ "name": "italiano"
+ },
+ "ja": {
+ "name": "japonés"
+ },
+ "km": {
+ "name": "jemer"
+ },
+ "dyo": {
+ "name": "jola-fonyi"
+ },
+ "kkj": {
+ "name": "kako"
+ },
+ "kln": {
+ "name": "kalenjin"
+ },
+ "kam": {
+ "name": "kamba"
+ },
+ "kk": {
+ "name": "kazajo"
+ },
+ "ki": {
+ "name": "kikuyu"
+ },
+ "rw": {
+ "name": "kinyarwanda"
+ },
+ "ky": {
+ "name": "kirguís"
+ },
+ "rn": {
+ "name": "kirundi"
+ },
+ "ksh": {
+ "name": "kölsch"
+ },
+ "kok": {
+ "name": "konkaní"
+ },
+ "khq": {
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "name": "koyraboro senni"
+ },
+ "ckb": {
+ "name": "kurdo sorani"
+ },
+ "nmg": {
+ "name": "kwasio"
+ },
+ "lkt": {
+ "name": "lakota"
+ },
+ "lag": {
+ "name": "langi"
+ },
+ "lo": {
+ "name": "lao"
+ },
+ "lv": {
+ "name": "letón"
+ },
+ "ln": {
+ "name": "lingala"
+ },
+ "lt": {
+ "name": "lituano"
+ },
+ "lrc": {
+ "name": "lorí septentrional"
+ },
+ "lu": {
+ "name": "luba-katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "luxemburgués"
+ },
+ "luy": {
+ "name": "luyia"
+ },
+ "mk": {
+ "name": "macedonio"
+ },
+ "jmc": {
+ "name": "machame"
+ },
+ "mgh": {
+ "name": "makhuwa-meetto"
+ },
+ "kde": {
+ "name": "makonde"
+ },
+ "ml": {
+ "name": "malayalam"
+ },
+ "ms": {
+ "name": "malayo"
+ },
+ "mg": {
+ "name": "malgache"
+ },
+ "mt": {
+ "name": "maltés"
+ },
+ "gv": {
+ "name": "manés"
+ },
+ "mr": {
+ "name": "maratí"
+ },
+ "mas": {
+ "name": "masái"
+ },
+ "mzn": {
+ "name": "mazandaraní"
+ },
+ "mer": {
+ "name": "meru"
+ },
+ "mgo": {
+ "name": "meta’"
+ },
+ "ro-MD": {
+ "name": "moldavo"
+ },
+ "mn": {
+ "name": "mongol"
+ },
+ "mua": {
+ "name": "mundang"
+ },
+ "naq": {
+ "name": "nama"
+ },
+ "nd": {
+ "name": "ndebele septentrional"
+ },
+ "nl": {
+ "name": "neerlandés"
+ },
+ "ne": {
+ "name": "nepalí"
+ },
+ "nnh": {
+ "name": "ngiemboon"
+ },
+ "jgo": {
+ "name": "ngomba"
+ },
+ "nb": {
+ "name": "noruego bokmal"
+ },
+ "nn": {
+ "name": "noruego nynorsk"
+ },
+ "nus": {
+ "name": "nuer"
+ },
+ "nyn": {
+ "name": "nyankole"
+ },
+ "or": {
+ "name": "oriya"
+ },
+ "om": {
+ "name": "oromo"
+ },
+ "os": {
+ "name": "osético"
+ },
+ "ps": {
+ "name": "pastún"
+ },
+ "fa": {
+ "name": "persa"
+ },
+ "pl": {
+ "name": "polaco"
+ },
+ "pt": {
+ "name": "portugués"
+ },
+ "pt-PT": {
+ "name": "portugués de Portugal"
+ },
+ "prg": {
+ "name": "prusiano antiguo"
+ },
+ "pa": {
+ "name": "punyabí"
+ },
+ "qu": {
+ "name": "quechua"
+ },
+ "rm": {
+ "name": "retorrománico"
+ },
+ "rof": {
+ "name": "rombo"
+ },
+ "ro": {
+ "name": "rumano"
+ },
+ "ru": {
+ "name": "ruso"
+ },
+ "rwk": {
+ "name": "rwa"
+ },
+ "sah": {
+ "name": "sakha"
+ },
+ "saq": {
+ "name": "samburu"
+ },
+ "smn": {
+ "name": "sami inari"
+ },
+ "se": {
+ "name": "sami septentrional"
+ },
+ "sg": {
+ "name": "sango"
+ },
+ "sbp": {
+ "name": "sangu"
+ },
+ "seh": {
+ "name": "sena"
+ },
+ "sr": {
+ "name": "serbio"
+ },
+ "ksb": {
+ "name": "shambala"
+ },
+ "sn": {
+ "name": "shona"
+ },
+ "xog": {
+ "name": "soga"
+ },
+ "so": {
+ "name": "somalí"
+ },
+ "hsb": {
+ "name": "sorbio alto"
+ },
+ "sw": {
+ "name": "suajili"
+ },
+ "sw-CD": {
+ "name": "suajili del Congo"
+ },
+ "sv": {
+ "name": "sueco"
+ },
+ "th": {
+ "name": "tailandés"
+ },
+ "dav": {
+ "name": "taita"
+ },
+ "tzm": {
+ "name": "tamazight del Marruecos Central"
+ },
+ "zgh": {
+ "name": "tamazight marroquí estándar"
+ },
+ "ta": {
+ "name": "tamil"
+ },
+ "twq": {
+ "name": "tasawaq"
+ },
+ "shi": {
+ "name": "tashelhit"
+ },
+ "te": {
+ "name": "telugu"
+ },
+ "teo": {
+ "name": "teso"
+ },
+ "bo": {
+ "name": "tibetano"
+ },
+ "ti": {
+ "name": "tigriña"
+ },
+ "to": {
+ "name": "tongano"
+ },
+ "tr": {
+ "name": "turco"
+ },
+ "tk": {
+ "name": "turcomano"
+ },
+ "uk": {
+ "name": "ucraniano"
+ },
+ "ug": {
+ "name": "uigur"
+ },
+ "ur": {
+ "name": "urdu"
+ },
+ "uz": {
+ "name": "uzbeko"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vi": {
+ "name": "vietnamita"
+ },
+ "vo": {
+ "name": "volapük"
+ },
+ "vun": {
+ "name": "vunjo"
+ },
+ "wae": {
+ "name": "walser"
+ },
+ "yav": {
+ "name": "yangben"
+ },
+ "ii": {
+ "name": "yi de Sichuán"
+ },
+ "yi": {
+ "name": "yídish"
+ },
+ "yo": {
+ "name": "yoruba"
+ },
+ "dje": {
+ "name": "zarma"
+ },
+ "zu": {
+ "name": "zulú"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/es-GT.json b/vendor/commerceguys/intl/resources/language/es-GT.json
new file mode 100644
index 000000000..141f785c9
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/es-GT.json
@@ -0,0 +1,635 @@
+{
+ "af": {
+ "name": "afrikáans"
+ },
+ "agq": {
+ "name": "aghem"
+ },
+ "ak": {
+ "name": "akan"
+ },
+ "sq": {
+ "name": "albanés"
+ },
+ "de": {
+ "name": "alemán"
+ },
+ "de-AT": {
+ "name": "alemán austríaco"
+ },
+ "gsw": {
+ "name": "alemán suizo"
+ },
+ "de-CH": {
+ "name": "alto alemán suizo"
+ },
+ "am": {
+ "name": "amárico"
+ },
+ "ar": {
+ "name": "árabe"
+ },
+ "hy": {
+ "name": "armenio"
+ },
+ "as": {
+ "name": "asamés"
+ },
+ "ast": {
+ "name": "asturiano"
+ },
+ "asa": {
+ "name": "asu"
+ },
+ "az": {
+ "name": "azerbaiyano"
+ },
+ "ksf": {
+ "name": "bafia"
+ },
+ "nds": {
+ "name": "bajo alemán"
+ },
+ "nds-NL": {
+ "name": "bajo sajón"
+ },
+ "dsb": {
+ "name": "bajo sorbio"
+ },
+ "bm": {
+ "name": "bambara"
+ },
+ "bas": {
+ "name": "basaa"
+ },
+ "bem": {
+ "name": "bemba"
+ },
+ "bez": {
+ "name": "bena"
+ },
+ "bn": {
+ "name": "bengalí"
+ },
+ "be": {
+ "name": "bielorruso"
+ },
+ "my": {
+ "name": "birmano"
+ },
+ "brx": {
+ "name": "bodo"
+ },
+ "bs": {
+ "name": "bosnio"
+ },
+ "br": {
+ "name": "bretón"
+ },
+ "bg": {
+ "name": "búlgaro"
+ },
+ "kab": {
+ "name": "cabila"
+ },
+ "ks": {
+ "name": "cachemiro"
+ },
+ "kn": {
+ "name": "canarés"
+ },
+ "yue": {
+ "name": "cantonés"
+ },
+ "ca": {
+ "name": "catalán"
+ },
+ "ce": {
+ "name": "checheno"
+ },
+ "cs": {
+ "name": "checo"
+ },
+ "chr": {
+ "name": "cheroqui"
+ },
+ "cgg": {
+ "name": "chiga"
+ },
+ "zh": {
+ "name": "chino"
+ },
+ "zh-Hans": {
+ "name": "chino simplificado"
+ },
+ "zh-Hant": {
+ "name": "chino tradicional"
+ },
+ "si": {
+ "name": "cingalés"
+ },
+ "ko": {
+ "name": "coreano"
+ },
+ "kw": {
+ "name": "córnico"
+ },
+ "kea": {
+ "name": "Criollo (Cabo Verde)"
+ },
+ "mfe": {
+ "name": "criollo mauriciano"
+ },
+ "hr": {
+ "name": "croata"
+ },
+ "da": {
+ "name": "danés"
+ },
+ "dua": {
+ "name": "duala"
+ },
+ "dz": {
+ "name": "dzongkha"
+ },
+ "ebu": {
+ "name": "embu"
+ },
+ "cu": {
+ "name": "eslavo eclesiástico"
+ },
+ "sk": {
+ "name": "eslovaco"
+ },
+ "sl": {
+ "name": "esloveno"
+ },
+ "es": {
+ "name": "español"
+ },
+ "es-MX": {
+ "name": "español de México"
+ },
+ "eo": {
+ "name": "esperanto"
+ },
+ "et": {
+ "name": "estonio"
+ },
+ "eu": {
+ "name": "euskera"
+ },
+ "ee": {
+ "name": "ewé"
+ },
+ "ewo": {
+ "name": "ewondo"
+ },
+ "fo": {
+ "name": "feroés"
+ },
+ "fil": {
+ "name": "filipino"
+ },
+ "fi": {
+ "name": "finés"
+ },
+ "nl-BE": {
+ "name": "flamenco"
+ },
+ "fr": {
+ "name": "francés"
+ },
+ "fr-CA": {
+ "name": "francés canadiense"
+ },
+ "fr-CH": {
+ "name": "francés suizo"
+ },
+ "fy": {
+ "name": "frisón occidental"
+ },
+ "fur": {
+ "name": "friulano"
+ },
+ "ff": {
+ "name": "fula"
+ },
+ "gd": {
+ "name": "gaélico escocés"
+ },
+ "cy": {
+ "name": "galés"
+ },
+ "gl": {
+ "name": "gallego"
+ },
+ "lg": {
+ "name": "ganda"
+ },
+ "ka": {
+ "name": "georgiano"
+ },
+ "el": {
+ "name": "griego"
+ },
+ "kl": {
+ "name": "groenlandés"
+ },
+ "gu": {
+ "name": "gujarati"
+ },
+ "guz": {
+ "name": "gusii"
+ },
+ "ha": {
+ "name": "hausa"
+ },
+ "haw": {
+ "name": "hawaiano"
+ },
+ "he": {
+ "name": "hebreo"
+ },
+ "hi": {
+ "name": "hindi"
+ },
+ "hu": {
+ "name": "húngaro"
+ },
+ "ig": {
+ "name": "igbo"
+ },
+ "id": {
+ "name": "indonesio"
+ },
+ "en": {
+ "name": "inglés"
+ },
+ "en-AU": {
+ "name": "inglés australiano"
+ },
+ "en-GB": {
+ "name": "inglés británico"
+ },
+ "en-CA": {
+ "name": "inglés canadiense"
+ },
+ "ga": {
+ "name": "irlandés"
+ },
+ "is": {
+ "name": "islandés"
+ },
+ "it": {
+ "name": "italiano"
+ },
+ "ja": {
+ "name": "japonés"
+ },
+ "km": {
+ "name": "jemer"
+ },
+ "dyo": {
+ "name": "jola-fonyi"
+ },
+ "kkj": {
+ "name": "kako"
+ },
+ "kln": {
+ "name": "kalenjin"
+ },
+ "kam": {
+ "name": "kamba"
+ },
+ "kk": {
+ "name": "kazajo"
+ },
+ "ki": {
+ "name": "kikuyu"
+ },
+ "rw": {
+ "name": "kinyarwanda"
+ },
+ "ky": {
+ "name": "kirguís"
+ },
+ "rn": {
+ "name": "kirundi"
+ },
+ "ksh": {
+ "name": "kölsch"
+ },
+ "kok": {
+ "name": "konkaní"
+ },
+ "khq": {
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "name": "koyraboro senni"
+ },
+ "ckb": {
+ "name": "kurdo sorani"
+ },
+ "nmg": {
+ "name": "kwasio"
+ },
+ "lkt": {
+ "name": "lakota"
+ },
+ "lag": {
+ "name": "langi"
+ },
+ "lo": {
+ "name": "lao"
+ },
+ "lv": {
+ "name": "letón"
+ },
+ "ln": {
+ "name": "lingala"
+ },
+ "lt": {
+ "name": "lituano"
+ },
+ "lrc": {
+ "name": "lorí septentrional"
+ },
+ "lu": {
+ "name": "luba-katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "luxemburgués"
+ },
+ "luy": {
+ "name": "luyia"
+ },
+ "mk": {
+ "name": "macedonio"
+ },
+ "jmc": {
+ "name": "machame"
+ },
+ "mgh": {
+ "name": "makhuwa-meetto"
+ },
+ "kde": {
+ "name": "makonde"
+ },
+ "ml": {
+ "name": "malayalam"
+ },
+ "ms": {
+ "name": "malayo"
+ },
+ "mg": {
+ "name": "malgache"
+ },
+ "mt": {
+ "name": "maltés"
+ },
+ "gv": {
+ "name": "manés"
+ },
+ "mr": {
+ "name": "maratí"
+ },
+ "mas": {
+ "name": "masái"
+ },
+ "mzn": {
+ "name": "mazandaraní"
+ },
+ "mer": {
+ "name": "meru"
+ },
+ "mgo": {
+ "name": "meta’"
+ },
+ "ro-MD": {
+ "name": "moldavo"
+ },
+ "mn": {
+ "name": "mongol"
+ },
+ "mua": {
+ "name": "mundang"
+ },
+ "naq": {
+ "name": "nama"
+ },
+ "nd": {
+ "name": "ndebele septentrional"
+ },
+ "nl": {
+ "name": "neerlandés"
+ },
+ "ne": {
+ "name": "nepalí"
+ },
+ "nnh": {
+ "name": "ngiemboon"
+ },
+ "jgo": {
+ "name": "ngomba"
+ },
+ "nb": {
+ "name": "noruego bokmal"
+ },
+ "nn": {
+ "name": "noruego nynorsk"
+ },
+ "nus": {
+ "name": "nuer"
+ },
+ "nyn": {
+ "name": "nyankole"
+ },
+ "or": {
+ "name": "oriya"
+ },
+ "om": {
+ "name": "oromo"
+ },
+ "os": {
+ "name": "osético"
+ },
+ "ps": {
+ "name": "pastún"
+ },
+ "fa": {
+ "name": "persa"
+ },
+ "pl": {
+ "name": "polaco"
+ },
+ "pt": {
+ "name": "portugués"
+ },
+ "pt-PT": {
+ "name": "portugués de Portugal"
+ },
+ "prg": {
+ "name": "prusiano antiguo"
+ },
+ "pa": {
+ "name": "punyabí"
+ },
+ "qu": {
+ "name": "quechua"
+ },
+ "rm": {
+ "name": "retorrománico"
+ },
+ "rof": {
+ "name": "rombo"
+ },
+ "ro": {
+ "name": "rumano"
+ },
+ "ru": {
+ "name": "ruso"
+ },
+ "rwk": {
+ "name": "rwa"
+ },
+ "sah": {
+ "name": "sakha"
+ },
+ "saq": {
+ "name": "samburu"
+ },
+ "smn": {
+ "name": "sami inari"
+ },
+ "se": {
+ "name": "sami septentrional"
+ },
+ "sg": {
+ "name": "sango"
+ },
+ "sbp": {
+ "name": "sangu"
+ },
+ "seh": {
+ "name": "sena"
+ },
+ "sr": {
+ "name": "serbio"
+ },
+ "ksb": {
+ "name": "shambala"
+ },
+ "sn": {
+ "name": "shona"
+ },
+ "xog": {
+ "name": "soga"
+ },
+ "so": {
+ "name": "somalí"
+ },
+ "hsb": {
+ "name": "sorbio alto"
+ },
+ "sw": {
+ "name": "suajili"
+ },
+ "sw-CD": {
+ "name": "suajili del Congo"
+ },
+ "sv": {
+ "name": "sueco"
+ },
+ "th": {
+ "name": "tailandés"
+ },
+ "dav": {
+ "name": "taita"
+ },
+ "tzm": {
+ "name": "tamazight del Marruecos Central"
+ },
+ "zgh": {
+ "name": "tamazight marroquí estándar"
+ },
+ "ta": {
+ "name": "tamil"
+ },
+ "twq": {
+ "name": "tasawaq"
+ },
+ "shi": {
+ "name": "tashelhit"
+ },
+ "te": {
+ "name": "telugu"
+ },
+ "teo": {
+ "name": "teso"
+ },
+ "bo": {
+ "name": "tibetano"
+ },
+ "ti": {
+ "name": "tigriña"
+ },
+ "to": {
+ "name": "tongano"
+ },
+ "tr": {
+ "name": "turco"
+ },
+ "tk": {
+ "name": "turcomano"
+ },
+ "uk": {
+ "name": "ucraniano"
+ },
+ "ug": {
+ "name": "uigur"
+ },
+ "ur": {
+ "name": "urdu"
+ },
+ "uz": {
+ "name": "uzbeko"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vi": {
+ "name": "vietnamita"
+ },
+ "vo": {
+ "name": "volapük"
+ },
+ "vun": {
+ "name": "vunjo"
+ },
+ "wae": {
+ "name": "walser"
+ },
+ "yav": {
+ "name": "yangben"
+ },
+ "ii": {
+ "name": "yi de Sichuán"
+ },
+ "yi": {
+ "name": "yídish"
+ },
+ "yo": {
+ "name": "yoruba"
+ },
+ "dje": {
+ "name": "zarma"
+ },
+ "zu": {
+ "name": "zulú"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/es-HN.json b/vendor/commerceguys/intl/resources/language/es-HN.json
new file mode 100644
index 000000000..141f785c9
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/es-HN.json
@@ -0,0 +1,635 @@
+{
+ "af": {
+ "name": "afrikáans"
+ },
+ "agq": {
+ "name": "aghem"
+ },
+ "ak": {
+ "name": "akan"
+ },
+ "sq": {
+ "name": "albanés"
+ },
+ "de": {
+ "name": "alemán"
+ },
+ "de-AT": {
+ "name": "alemán austríaco"
+ },
+ "gsw": {
+ "name": "alemán suizo"
+ },
+ "de-CH": {
+ "name": "alto alemán suizo"
+ },
+ "am": {
+ "name": "amárico"
+ },
+ "ar": {
+ "name": "árabe"
+ },
+ "hy": {
+ "name": "armenio"
+ },
+ "as": {
+ "name": "asamés"
+ },
+ "ast": {
+ "name": "asturiano"
+ },
+ "asa": {
+ "name": "asu"
+ },
+ "az": {
+ "name": "azerbaiyano"
+ },
+ "ksf": {
+ "name": "bafia"
+ },
+ "nds": {
+ "name": "bajo alemán"
+ },
+ "nds-NL": {
+ "name": "bajo sajón"
+ },
+ "dsb": {
+ "name": "bajo sorbio"
+ },
+ "bm": {
+ "name": "bambara"
+ },
+ "bas": {
+ "name": "basaa"
+ },
+ "bem": {
+ "name": "bemba"
+ },
+ "bez": {
+ "name": "bena"
+ },
+ "bn": {
+ "name": "bengalí"
+ },
+ "be": {
+ "name": "bielorruso"
+ },
+ "my": {
+ "name": "birmano"
+ },
+ "brx": {
+ "name": "bodo"
+ },
+ "bs": {
+ "name": "bosnio"
+ },
+ "br": {
+ "name": "bretón"
+ },
+ "bg": {
+ "name": "búlgaro"
+ },
+ "kab": {
+ "name": "cabila"
+ },
+ "ks": {
+ "name": "cachemiro"
+ },
+ "kn": {
+ "name": "canarés"
+ },
+ "yue": {
+ "name": "cantonés"
+ },
+ "ca": {
+ "name": "catalán"
+ },
+ "ce": {
+ "name": "checheno"
+ },
+ "cs": {
+ "name": "checo"
+ },
+ "chr": {
+ "name": "cheroqui"
+ },
+ "cgg": {
+ "name": "chiga"
+ },
+ "zh": {
+ "name": "chino"
+ },
+ "zh-Hans": {
+ "name": "chino simplificado"
+ },
+ "zh-Hant": {
+ "name": "chino tradicional"
+ },
+ "si": {
+ "name": "cingalés"
+ },
+ "ko": {
+ "name": "coreano"
+ },
+ "kw": {
+ "name": "córnico"
+ },
+ "kea": {
+ "name": "Criollo (Cabo Verde)"
+ },
+ "mfe": {
+ "name": "criollo mauriciano"
+ },
+ "hr": {
+ "name": "croata"
+ },
+ "da": {
+ "name": "danés"
+ },
+ "dua": {
+ "name": "duala"
+ },
+ "dz": {
+ "name": "dzongkha"
+ },
+ "ebu": {
+ "name": "embu"
+ },
+ "cu": {
+ "name": "eslavo eclesiástico"
+ },
+ "sk": {
+ "name": "eslovaco"
+ },
+ "sl": {
+ "name": "esloveno"
+ },
+ "es": {
+ "name": "español"
+ },
+ "es-MX": {
+ "name": "español de México"
+ },
+ "eo": {
+ "name": "esperanto"
+ },
+ "et": {
+ "name": "estonio"
+ },
+ "eu": {
+ "name": "euskera"
+ },
+ "ee": {
+ "name": "ewé"
+ },
+ "ewo": {
+ "name": "ewondo"
+ },
+ "fo": {
+ "name": "feroés"
+ },
+ "fil": {
+ "name": "filipino"
+ },
+ "fi": {
+ "name": "finés"
+ },
+ "nl-BE": {
+ "name": "flamenco"
+ },
+ "fr": {
+ "name": "francés"
+ },
+ "fr-CA": {
+ "name": "francés canadiense"
+ },
+ "fr-CH": {
+ "name": "francés suizo"
+ },
+ "fy": {
+ "name": "frisón occidental"
+ },
+ "fur": {
+ "name": "friulano"
+ },
+ "ff": {
+ "name": "fula"
+ },
+ "gd": {
+ "name": "gaélico escocés"
+ },
+ "cy": {
+ "name": "galés"
+ },
+ "gl": {
+ "name": "gallego"
+ },
+ "lg": {
+ "name": "ganda"
+ },
+ "ka": {
+ "name": "georgiano"
+ },
+ "el": {
+ "name": "griego"
+ },
+ "kl": {
+ "name": "groenlandés"
+ },
+ "gu": {
+ "name": "gujarati"
+ },
+ "guz": {
+ "name": "gusii"
+ },
+ "ha": {
+ "name": "hausa"
+ },
+ "haw": {
+ "name": "hawaiano"
+ },
+ "he": {
+ "name": "hebreo"
+ },
+ "hi": {
+ "name": "hindi"
+ },
+ "hu": {
+ "name": "húngaro"
+ },
+ "ig": {
+ "name": "igbo"
+ },
+ "id": {
+ "name": "indonesio"
+ },
+ "en": {
+ "name": "inglés"
+ },
+ "en-AU": {
+ "name": "inglés australiano"
+ },
+ "en-GB": {
+ "name": "inglés británico"
+ },
+ "en-CA": {
+ "name": "inglés canadiense"
+ },
+ "ga": {
+ "name": "irlandés"
+ },
+ "is": {
+ "name": "islandés"
+ },
+ "it": {
+ "name": "italiano"
+ },
+ "ja": {
+ "name": "japonés"
+ },
+ "km": {
+ "name": "jemer"
+ },
+ "dyo": {
+ "name": "jola-fonyi"
+ },
+ "kkj": {
+ "name": "kako"
+ },
+ "kln": {
+ "name": "kalenjin"
+ },
+ "kam": {
+ "name": "kamba"
+ },
+ "kk": {
+ "name": "kazajo"
+ },
+ "ki": {
+ "name": "kikuyu"
+ },
+ "rw": {
+ "name": "kinyarwanda"
+ },
+ "ky": {
+ "name": "kirguís"
+ },
+ "rn": {
+ "name": "kirundi"
+ },
+ "ksh": {
+ "name": "kölsch"
+ },
+ "kok": {
+ "name": "konkaní"
+ },
+ "khq": {
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "name": "koyraboro senni"
+ },
+ "ckb": {
+ "name": "kurdo sorani"
+ },
+ "nmg": {
+ "name": "kwasio"
+ },
+ "lkt": {
+ "name": "lakota"
+ },
+ "lag": {
+ "name": "langi"
+ },
+ "lo": {
+ "name": "lao"
+ },
+ "lv": {
+ "name": "letón"
+ },
+ "ln": {
+ "name": "lingala"
+ },
+ "lt": {
+ "name": "lituano"
+ },
+ "lrc": {
+ "name": "lorí septentrional"
+ },
+ "lu": {
+ "name": "luba-katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "luxemburgués"
+ },
+ "luy": {
+ "name": "luyia"
+ },
+ "mk": {
+ "name": "macedonio"
+ },
+ "jmc": {
+ "name": "machame"
+ },
+ "mgh": {
+ "name": "makhuwa-meetto"
+ },
+ "kde": {
+ "name": "makonde"
+ },
+ "ml": {
+ "name": "malayalam"
+ },
+ "ms": {
+ "name": "malayo"
+ },
+ "mg": {
+ "name": "malgache"
+ },
+ "mt": {
+ "name": "maltés"
+ },
+ "gv": {
+ "name": "manés"
+ },
+ "mr": {
+ "name": "maratí"
+ },
+ "mas": {
+ "name": "masái"
+ },
+ "mzn": {
+ "name": "mazandaraní"
+ },
+ "mer": {
+ "name": "meru"
+ },
+ "mgo": {
+ "name": "meta’"
+ },
+ "ro-MD": {
+ "name": "moldavo"
+ },
+ "mn": {
+ "name": "mongol"
+ },
+ "mua": {
+ "name": "mundang"
+ },
+ "naq": {
+ "name": "nama"
+ },
+ "nd": {
+ "name": "ndebele septentrional"
+ },
+ "nl": {
+ "name": "neerlandés"
+ },
+ "ne": {
+ "name": "nepalí"
+ },
+ "nnh": {
+ "name": "ngiemboon"
+ },
+ "jgo": {
+ "name": "ngomba"
+ },
+ "nb": {
+ "name": "noruego bokmal"
+ },
+ "nn": {
+ "name": "noruego nynorsk"
+ },
+ "nus": {
+ "name": "nuer"
+ },
+ "nyn": {
+ "name": "nyankole"
+ },
+ "or": {
+ "name": "oriya"
+ },
+ "om": {
+ "name": "oromo"
+ },
+ "os": {
+ "name": "osético"
+ },
+ "ps": {
+ "name": "pastún"
+ },
+ "fa": {
+ "name": "persa"
+ },
+ "pl": {
+ "name": "polaco"
+ },
+ "pt": {
+ "name": "portugués"
+ },
+ "pt-PT": {
+ "name": "portugués de Portugal"
+ },
+ "prg": {
+ "name": "prusiano antiguo"
+ },
+ "pa": {
+ "name": "punyabí"
+ },
+ "qu": {
+ "name": "quechua"
+ },
+ "rm": {
+ "name": "retorrománico"
+ },
+ "rof": {
+ "name": "rombo"
+ },
+ "ro": {
+ "name": "rumano"
+ },
+ "ru": {
+ "name": "ruso"
+ },
+ "rwk": {
+ "name": "rwa"
+ },
+ "sah": {
+ "name": "sakha"
+ },
+ "saq": {
+ "name": "samburu"
+ },
+ "smn": {
+ "name": "sami inari"
+ },
+ "se": {
+ "name": "sami septentrional"
+ },
+ "sg": {
+ "name": "sango"
+ },
+ "sbp": {
+ "name": "sangu"
+ },
+ "seh": {
+ "name": "sena"
+ },
+ "sr": {
+ "name": "serbio"
+ },
+ "ksb": {
+ "name": "shambala"
+ },
+ "sn": {
+ "name": "shona"
+ },
+ "xog": {
+ "name": "soga"
+ },
+ "so": {
+ "name": "somalí"
+ },
+ "hsb": {
+ "name": "sorbio alto"
+ },
+ "sw": {
+ "name": "suajili"
+ },
+ "sw-CD": {
+ "name": "suajili del Congo"
+ },
+ "sv": {
+ "name": "sueco"
+ },
+ "th": {
+ "name": "tailandés"
+ },
+ "dav": {
+ "name": "taita"
+ },
+ "tzm": {
+ "name": "tamazight del Marruecos Central"
+ },
+ "zgh": {
+ "name": "tamazight marroquí estándar"
+ },
+ "ta": {
+ "name": "tamil"
+ },
+ "twq": {
+ "name": "tasawaq"
+ },
+ "shi": {
+ "name": "tashelhit"
+ },
+ "te": {
+ "name": "telugu"
+ },
+ "teo": {
+ "name": "teso"
+ },
+ "bo": {
+ "name": "tibetano"
+ },
+ "ti": {
+ "name": "tigriña"
+ },
+ "to": {
+ "name": "tongano"
+ },
+ "tr": {
+ "name": "turco"
+ },
+ "tk": {
+ "name": "turcomano"
+ },
+ "uk": {
+ "name": "ucraniano"
+ },
+ "ug": {
+ "name": "uigur"
+ },
+ "ur": {
+ "name": "urdu"
+ },
+ "uz": {
+ "name": "uzbeko"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vi": {
+ "name": "vietnamita"
+ },
+ "vo": {
+ "name": "volapük"
+ },
+ "vun": {
+ "name": "vunjo"
+ },
+ "wae": {
+ "name": "walser"
+ },
+ "yav": {
+ "name": "yangben"
+ },
+ "ii": {
+ "name": "yi de Sichuán"
+ },
+ "yi": {
+ "name": "yídish"
+ },
+ "yo": {
+ "name": "yoruba"
+ },
+ "dje": {
+ "name": "zarma"
+ },
+ "zu": {
+ "name": "zulú"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/es-MX.json b/vendor/commerceguys/intl/resources/language/es-MX.json
new file mode 100644
index 000000000..80b7bbd2c
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/es-MX.json
@@ -0,0 +1,635 @@
+{
+ "af": {
+ "name": "afrikáans"
+ },
+ "agq": {
+ "name": "aghem"
+ },
+ "ak": {
+ "name": "akan"
+ },
+ "sq": {
+ "name": "albanés"
+ },
+ "de": {
+ "name": "alemán"
+ },
+ "de-AT": {
+ "name": "alemán austríaco"
+ },
+ "gsw": {
+ "name": "alemán suizo"
+ },
+ "de-CH": {
+ "name": "alto alemán suizo"
+ },
+ "am": {
+ "name": "amárico"
+ },
+ "ar": {
+ "name": "árabe"
+ },
+ "hy": {
+ "name": "armenio"
+ },
+ "as": {
+ "name": "asamés"
+ },
+ "ast": {
+ "name": "asturiano"
+ },
+ "asa": {
+ "name": "asu"
+ },
+ "az": {
+ "name": "azerbaiyano"
+ },
+ "ksf": {
+ "name": "bafia"
+ },
+ "nds": {
+ "name": "bajo alemán"
+ },
+ "nds-NL": {
+ "name": "bajo sajón"
+ },
+ "dsb": {
+ "name": "bajo sorbio"
+ },
+ "bm": {
+ "name": "bambara"
+ },
+ "bas": {
+ "name": "basa"
+ },
+ "bem": {
+ "name": "bemba"
+ },
+ "bez": {
+ "name": "bena"
+ },
+ "bn": {
+ "name": "bengalí"
+ },
+ "be": {
+ "name": "bielorruso"
+ },
+ "my": {
+ "name": "birmano"
+ },
+ "brx": {
+ "name": "bodo"
+ },
+ "bs": {
+ "name": "bosnio"
+ },
+ "br": {
+ "name": "bretón"
+ },
+ "bg": {
+ "name": "búlgaro"
+ },
+ "kab": {
+ "name": "cabila"
+ },
+ "ks": {
+ "name": "cachemiro"
+ },
+ "kn": {
+ "name": "canarés"
+ },
+ "yue": {
+ "name": "cantonés"
+ },
+ "ca": {
+ "name": "catalán"
+ },
+ "ce": {
+ "name": "checheno"
+ },
+ "cs": {
+ "name": "checo"
+ },
+ "chr": {
+ "name": "cheroqui"
+ },
+ "cgg": {
+ "name": "chiga"
+ },
+ "zh": {
+ "name": "chino"
+ },
+ "zh-Hans": {
+ "name": "chino simplificado"
+ },
+ "zh-Hant": {
+ "name": "chino tradicional"
+ },
+ "si": {
+ "name": "cingalés"
+ },
+ "ko": {
+ "name": "coreano"
+ },
+ "kw": {
+ "name": "córnico"
+ },
+ "kea": {
+ "name": "Criollo (Cabo Verde)"
+ },
+ "mfe": {
+ "name": "criollo mauriciano"
+ },
+ "hr": {
+ "name": "croata"
+ },
+ "da": {
+ "name": "danés"
+ },
+ "dua": {
+ "name": "duala"
+ },
+ "dz": {
+ "name": "dzongkha"
+ },
+ "ebu": {
+ "name": "embu"
+ },
+ "cu": {
+ "name": "eslavo eclesiástico"
+ },
+ "sk": {
+ "name": "eslovaco"
+ },
+ "sl": {
+ "name": "esloveno"
+ },
+ "es": {
+ "name": "español"
+ },
+ "es-MX": {
+ "name": "español de México"
+ },
+ "eo": {
+ "name": "esperanto"
+ },
+ "et": {
+ "name": "estonio"
+ },
+ "eu": {
+ "name": "euskera"
+ },
+ "ee": {
+ "name": "ewé"
+ },
+ "ewo": {
+ "name": "ewondo"
+ },
+ "fo": {
+ "name": "feroés"
+ },
+ "fil": {
+ "name": "filipino"
+ },
+ "fi": {
+ "name": "finés"
+ },
+ "nl-BE": {
+ "name": "flamenco"
+ },
+ "fr": {
+ "name": "francés"
+ },
+ "fr-CA": {
+ "name": "francés canadiense"
+ },
+ "fr-CH": {
+ "name": "francés suizo"
+ },
+ "fy": {
+ "name": "frisón occidental"
+ },
+ "fur": {
+ "name": "friulano"
+ },
+ "ff": {
+ "name": "fula"
+ },
+ "gd": {
+ "name": "gaélico escocés"
+ },
+ "cy": {
+ "name": "galés"
+ },
+ "gl": {
+ "name": "gallego"
+ },
+ "lg": {
+ "name": "ganda"
+ },
+ "ka": {
+ "name": "georgiano"
+ },
+ "el": {
+ "name": "griego"
+ },
+ "kl": {
+ "name": "groenlandés"
+ },
+ "gu": {
+ "name": "gujarati"
+ },
+ "guz": {
+ "name": "gusii"
+ },
+ "ha": {
+ "name": "hausa"
+ },
+ "haw": {
+ "name": "hawaiano"
+ },
+ "he": {
+ "name": "hebreo"
+ },
+ "hi": {
+ "name": "hindi"
+ },
+ "hu": {
+ "name": "húngaro"
+ },
+ "ig": {
+ "name": "igbo"
+ },
+ "id": {
+ "name": "indonesio"
+ },
+ "en": {
+ "name": "inglés"
+ },
+ "en-AU": {
+ "name": "inglés australiano"
+ },
+ "en-GB": {
+ "name": "inglés británico"
+ },
+ "en-CA": {
+ "name": "inglés canadiense"
+ },
+ "ga": {
+ "name": "irlandés"
+ },
+ "is": {
+ "name": "islandés"
+ },
+ "it": {
+ "name": "italiano"
+ },
+ "ja": {
+ "name": "japonés"
+ },
+ "km": {
+ "name": "jemer"
+ },
+ "dyo": {
+ "name": "jola-fonyi"
+ },
+ "kkj": {
+ "name": "kako"
+ },
+ "kln": {
+ "name": "kalenjin"
+ },
+ "kam": {
+ "name": "kamba"
+ },
+ "kk": {
+ "name": "kazajo"
+ },
+ "ki": {
+ "name": "kikuyu"
+ },
+ "rw": {
+ "name": "kinyarwanda"
+ },
+ "ky": {
+ "name": "kirguís"
+ },
+ "rn": {
+ "name": "kiroundi"
+ },
+ "ksh": {
+ "name": "kölsch"
+ },
+ "kok": {
+ "name": "konkaní"
+ },
+ "khq": {
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "name": "koyraboro senni"
+ },
+ "ckb": {
+ "name": "kurdo sorani"
+ },
+ "nmg": {
+ "name": "kwasio"
+ },
+ "lkt": {
+ "name": "lakota"
+ },
+ "lag": {
+ "name": "langi"
+ },
+ "lo": {
+ "name": "lao"
+ },
+ "lv": {
+ "name": "letón"
+ },
+ "ln": {
+ "name": "lingala"
+ },
+ "lt": {
+ "name": "lituano"
+ },
+ "lrc": {
+ "name": "lorí septentrional"
+ },
+ "lu": {
+ "name": "luba-katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "luxemburgués"
+ },
+ "luy": {
+ "name": "luyia"
+ },
+ "mk": {
+ "name": "macedonio"
+ },
+ "jmc": {
+ "name": "machame"
+ },
+ "mgh": {
+ "name": "makhuwa-meetto"
+ },
+ "kde": {
+ "name": "makonde"
+ },
+ "ml": {
+ "name": "malayalam"
+ },
+ "ms": {
+ "name": "malayo"
+ },
+ "mg": {
+ "name": "malgache"
+ },
+ "mt": {
+ "name": "maltés"
+ },
+ "gv": {
+ "name": "manés"
+ },
+ "mr": {
+ "name": "maratí"
+ },
+ "mas": {
+ "name": "masái"
+ },
+ "mzn": {
+ "name": "mazandaraní"
+ },
+ "mer": {
+ "name": "meru"
+ },
+ "mgo": {
+ "name": "meta’"
+ },
+ "ro-MD": {
+ "name": "moldavo"
+ },
+ "mn": {
+ "name": "mongol"
+ },
+ "mua": {
+ "name": "mundang"
+ },
+ "naq": {
+ "name": "nama"
+ },
+ "nd": {
+ "name": "ndebele septentrional"
+ },
+ "nl": {
+ "name": "neerlandés"
+ },
+ "ne": {
+ "name": "nepalí"
+ },
+ "nnh": {
+ "name": "ngiemboon"
+ },
+ "jgo": {
+ "name": "ngomba"
+ },
+ "nb": {
+ "name": "noruego bokmal"
+ },
+ "nn": {
+ "name": "noruego nynorsk"
+ },
+ "nus": {
+ "name": "nuer"
+ },
+ "nyn": {
+ "name": "nyankole"
+ },
+ "or": {
+ "name": "oriya"
+ },
+ "om": {
+ "name": "oromo"
+ },
+ "os": {
+ "name": "osético"
+ },
+ "ps": {
+ "name": "pastún"
+ },
+ "fa": {
+ "name": "persa"
+ },
+ "pl": {
+ "name": "polaco"
+ },
+ "pt": {
+ "name": "portugués"
+ },
+ "pt-PT": {
+ "name": "portugués de Portugal"
+ },
+ "prg": {
+ "name": "prusiano antiguo"
+ },
+ "pa": {
+ "name": "punyabí"
+ },
+ "qu": {
+ "name": "quechua"
+ },
+ "rm": {
+ "name": "retorrománico"
+ },
+ "rof": {
+ "name": "rombo"
+ },
+ "ro": {
+ "name": "rumano"
+ },
+ "ru": {
+ "name": "ruso"
+ },
+ "rwk": {
+ "name": "rwa"
+ },
+ "sah": {
+ "name": "sakha"
+ },
+ "saq": {
+ "name": "samburu"
+ },
+ "smn": {
+ "name": "sami inari"
+ },
+ "se": {
+ "name": "sami septentrional"
+ },
+ "sg": {
+ "name": "sango"
+ },
+ "sbp": {
+ "name": "sangu"
+ },
+ "seh": {
+ "name": "sena"
+ },
+ "sr": {
+ "name": "serbio"
+ },
+ "ksb": {
+ "name": "shambala"
+ },
+ "sn": {
+ "name": "shona"
+ },
+ "xog": {
+ "name": "soga"
+ },
+ "so": {
+ "name": "somalí"
+ },
+ "hsb": {
+ "name": "sorbio alto"
+ },
+ "sw": {
+ "name": "suajili"
+ },
+ "sw-CD": {
+ "name": "suajili del Congo"
+ },
+ "sv": {
+ "name": "sueco"
+ },
+ "th": {
+ "name": "tailandés"
+ },
+ "dav": {
+ "name": "taita"
+ },
+ "tzm": {
+ "name": "tamazight del Marruecos Central"
+ },
+ "zgh": {
+ "name": "tamazight marroquí estándar"
+ },
+ "ta": {
+ "name": "tamil"
+ },
+ "twq": {
+ "name": "tasawaq"
+ },
+ "shi": {
+ "name": "tashelhit"
+ },
+ "te": {
+ "name": "telugu"
+ },
+ "teo": {
+ "name": "teso"
+ },
+ "bo": {
+ "name": "tibetano"
+ },
+ "ti": {
+ "name": "tigriña"
+ },
+ "to": {
+ "name": "tongano"
+ },
+ "tr": {
+ "name": "turco"
+ },
+ "tk": {
+ "name": "turcomano"
+ },
+ "uk": {
+ "name": "ucraniano"
+ },
+ "ug": {
+ "name": "uigur"
+ },
+ "ur": {
+ "name": "urdu"
+ },
+ "uz": {
+ "name": "uzbeko"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vi": {
+ "name": "vietnamita"
+ },
+ "vo": {
+ "name": "volapük"
+ },
+ "vun": {
+ "name": "vunjo"
+ },
+ "wae": {
+ "name": "walser"
+ },
+ "yav": {
+ "name": "yangben"
+ },
+ "ii": {
+ "name": "yi de Sichuán"
+ },
+ "yi": {
+ "name": "yídish"
+ },
+ "yo": {
+ "name": "yoruba"
+ },
+ "dje": {
+ "name": "zarma"
+ },
+ "zu": {
+ "name": "zulú"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/es-NI.json b/vendor/commerceguys/intl/resources/language/es-NI.json
new file mode 100644
index 000000000..141f785c9
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/es-NI.json
@@ -0,0 +1,635 @@
+{
+ "af": {
+ "name": "afrikáans"
+ },
+ "agq": {
+ "name": "aghem"
+ },
+ "ak": {
+ "name": "akan"
+ },
+ "sq": {
+ "name": "albanés"
+ },
+ "de": {
+ "name": "alemán"
+ },
+ "de-AT": {
+ "name": "alemán austríaco"
+ },
+ "gsw": {
+ "name": "alemán suizo"
+ },
+ "de-CH": {
+ "name": "alto alemán suizo"
+ },
+ "am": {
+ "name": "amárico"
+ },
+ "ar": {
+ "name": "árabe"
+ },
+ "hy": {
+ "name": "armenio"
+ },
+ "as": {
+ "name": "asamés"
+ },
+ "ast": {
+ "name": "asturiano"
+ },
+ "asa": {
+ "name": "asu"
+ },
+ "az": {
+ "name": "azerbaiyano"
+ },
+ "ksf": {
+ "name": "bafia"
+ },
+ "nds": {
+ "name": "bajo alemán"
+ },
+ "nds-NL": {
+ "name": "bajo sajón"
+ },
+ "dsb": {
+ "name": "bajo sorbio"
+ },
+ "bm": {
+ "name": "bambara"
+ },
+ "bas": {
+ "name": "basaa"
+ },
+ "bem": {
+ "name": "bemba"
+ },
+ "bez": {
+ "name": "bena"
+ },
+ "bn": {
+ "name": "bengalí"
+ },
+ "be": {
+ "name": "bielorruso"
+ },
+ "my": {
+ "name": "birmano"
+ },
+ "brx": {
+ "name": "bodo"
+ },
+ "bs": {
+ "name": "bosnio"
+ },
+ "br": {
+ "name": "bretón"
+ },
+ "bg": {
+ "name": "búlgaro"
+ },
+ "kab": {
+ "name": "cabila"
+ },
+ "ks": {
+ "name": "cachemiro"
+ },
+ "kn": {
+ "name": "canarés"
+ },
+ "yue": {
+ "name": "cantonés"
+ },
+ "ca": {
+ "name": "catalán"
+ },
+ "ce": {
+ "name": "checheno"
+ },
+ "cs": {
+ "name": "checo"
+ },
+ "chr": {
+ "name": "cheroqui"
+ },
+ "cgg": {
+ "name": "chiga"
+ },
+ "zh": {
+ "name": "chino"
+ },
+ "zh-Hans": {
+ "name": "chino simplificado"
+ },
+ "zh-Hant": {
+ "name": "chino tradicional"
+ },
+ "si": {
+ "name": "cingalés"
+ },
+ "ko": {
+ "name": "coreano"
+ },
+ "kw": {
+ "name": "córnico"
+ },
+ "kea": {
+ "name": "Criollo (Cabo Verde)"
+ },
+ "mfe": {
+ "name": "criollo mauriciano"
+ },
+ "hr": {
+ "name": "croata"
+ },
+ "da": {
+ "name": "danés"
+ },
+ "dua": {
+ "name": "duala"
+ },
+ "dz": {
+ "name": "dzongkha"
+ },
+ "ebu": {
+ "name": "embu"
+ },
+ "cu": {
+ "name": "eslavo eclesiástico"
+ },
+ "sk": {
+ "name": "eslovaco"
+ },
+ "sl": {
+ "name": "esloveno"
+ },
+ "es": {
+ "name": "español"
+ },
+ "es-MX": {
+ "name": "español de México"
+ },
+ "eo": {
+ "name": "esperanto"
+ },
+ "et": {
+ "name": "estonio"
+ },
+ "eu": {
+ "name": "euskera"
+ },
+ "ee": {
+ "name": "ewé"
+ },
+ "ewo": {
+ "name": "ewondo"
+ },
+ "fo": {
+ "name": "feroés"
+ },
+ "fil": {
+ "name": "filipino"
+ },
+ "fi": {
+ "name": "finés"
+ },
+ "nl-BE": {
+ "name": "flamenco"
+ },
+ "fr": {
+ "name": "francés"
+ },
+ "fr-CA": {
+ "name": "francés canadiense"
+ },
+ "fr-CH": {
+ "name": "francés suizo"
+ },
+ "fy": {
+ "name": "frisón occidental"
+ },
+ "fur": {
+ "name": "friulano"
+ },
+ "ff": {
+ "name": "fula"
+ },
+ "gd": {
+ "name": "gaélico escocés"
+ },
+ "cy": {
+ "name": "galés"
+ },
+ "gl": {
+ "name": "gallego"
+ },
+ "lg": {
+ "name": "ganda"
+ },
+ "ka": {
+ "name": "georgiano"
+ },
+ "el": {
+ "name": "griego"
+ },
+ "kl": {
+ "name": "groenlandés"
+ },
+ "gu": {
+ "name": "gujarati"
+ },
+ "guz": {
+ "name": "gusii"
+ },
+ "ha": {
+ "name": "hausa"
+ },
+ "haw": {
+ "name": "hawaiano"
+ },
+ "he": {
+ "name": "hebreo"
+ },
+ "hi": {
+ "name": "hindi"
+ },
+ "hu": {
+ "name": "húngaro"
+ },
+ "ig": {
+ "name": "igbo"
+ },
+ "id": {
+ "name": "indonesio"
+ },
+ "en": {
+ "name": "inglés"
+ },
+ "en-AU": {
+ "name": "inglés australiano"
+ },
+ "en-GB": {
+ "name": "inglés británico"
+ },
+ "en-CA": {
+ "name": "inglés canadiense"
+ },
+ "ga": {
+ "name": "irlandés"
+ },
+ "is": {
+ "name": "islandés"
+ },
+ "it": {
+ "name": "italiano"
+ },
+ "ja": {
+ "name": "japonés"
+ },
+ "km": {
+ "name": "jemer"
+ },
+ "dyo": {
+ "name": "jola-fonyi"
+ },
+ "kkj": {
+ "name": "kako"
+ },
+ "kln": {
+ "name": "kalenjin"
+ },
+ "kam": {
+ "name": "kamba"
+ },
+ "kk": {
+ "name": "kazajo"
+ },
+ "ki": {
+ "name": "kikuyu"
+ },
+ "rw": {
+ "name": "kinyarwanda"
+ },
+ "ky": {
+ "name": "kirguís"
+ },
+ "rn": {
+ "name": "kirundi"
+ },
+ "ksh": {
+ "name": "kölsch"
+ },
+ "kok": {
+ "name": "konkaní"
+ },
+ "khq": {
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "name": "koyraboro senni"
+ },
+ "ckb": {
+ "name": "kurdo sorani"
+ },
+ "nmg": {
+ "name": "kwasio"
+ },
+ "lkt": {
+ "name": "lakota"
+ },
+ "lag": {
+ "name": "langi"
+ },
+ "lo": {
+ "name": "lao"
+ },
+ "lv": {
+ "name": "letón"
+ },
+ "ln": {
+ "name": "lingala"
+ },
+ "lt": {
+ "name": "lituano"
+ },
+ "lrc": {
+ "name": "lorí septentrional"
+ },
+ "lu": {
+ "name": "luba-katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "luxemburgués"
+ },
+ "luy": {
+ "name": "luyia"
+ },
+ "mk": {
+ "name": "macedonio"
+ },
+ "jmc": {
+ "name": "machame"
+ },
+ "mgh": {
+ "name": "makhuwa-meetto"
+ },
+ "kde": {
+ "name": "makonde"
+ },
+ "ml": {
+ "name": "malayalam"
+ },
+ "ms": {
+ "name": "malayo"
+ },
+ "mg": {
+ "name": "malgache"
+ },
+ "mt": {
+ "name": "maltés"
+ },
+ "gv": {
+ "name": "manés"
+ },
+ "mr": {
+ "name": "maratí"
+ },
+ "mas": {
+ "name": "masái"
+ },
+ "mzn": {
+ "name": "mazandaraní"
+ },
+ "mer": {
+ "name": "meru"
+ },
+ "mgo": {
+ "name": "meta’"
+ },
+ "ro-MD": {
+ "name": "moldavo"
+ },
+ "mn": {
+ "name": "mongol"
+ },
+ "mua": {
+ "name": "mundang"
+ },
+ "naq": {
+ "name": "nama"
+ },
+ "nd": {
+ "name": "ndebele septentrional"
+ },
+ "nl": {
+ "name": "neerlandés"
+ },
+ "ne": {
+ "name": "nepalí"
+ },
+ "nnh": {
+ "name": "ngiemboon"
+ },
+ "jgo": {
+ "name": "ngomba"
+ },
+ "nb": {
+ "name": "noruego bokmal"
+ },
+ "nn": {
+ "name": "noruego nynorsk"
+ },
+ "nus": {
+ "name": "nuer"
+ },
+ "nyn": {
+ "name": "nyankole"
+ },
+ "or": {
+ "name": "oriya"
+ },
+ "om": {
+ "name": "oromo"
+ },
+ "os": {
+ "name": "osético"
+ },
+ "ps": {
+ "name": "pastún"
+ },
+ "fa": {
+ "name": "persa"
+ },
+ "pl": {
+ "name": "polaco"
+ },
+ "pt": {
+ "name": "portugués"
+ },
+ "pt-PT": {
+ "name": "portugués de Portugal"
+ },
+ "prg": {
+ "name": "prusiano antiguo"
+ },
+ "pa": {
+ "name": "punyabí"
+ },
+ "qu": {
+ "name": "quechua"
+ },
+ "rm": {
+ "name": "retorrománico"
+ },
+ "rof": {
+ "name": "rombo"
+ },
+ "ro": {
+ "name": "rumano"
+ },
+ "ru": {
+ "name": "ruso"
+ },
+ "rwk": {
+ "name": "rwa"
+ },
+ "sah": {
+ "name": "sakha"
+ },
+ "saq": {
+ "name": "samburu"
+ },
+ "smn": {
+ "name": "sami inari"
+ },
+ "se": {
+ "name": "sami septentrional"
+ },
+ "sg": {
+ "name": "sango"
+ },
+ "sbp": {
+ "name": "sangu"
+ },
+ "seh": {
+ "name": "sena"
+ },
+ "sr": {
+ "name": "serbio"
+ },
+ "ksb": {
+ "name": "shambala"
+ },
+ "sn": {
+ "name": "shona"
+ },
+ "xog": {
+ "name": "soga"
+ },
+ "so": {
+ "name": "somalí"
+ },
+ "hsb": {
+ "name": "sorbio alto"
+ },
+ "sw": {
+ "name": "suajili"
+ },
+ "sw-CD": {
+ "name": "suajili del Congo"
+ },
+ "sv": {
+ "name": "sueco"
+ },
+ "th": {
+ "name": "tailandés"
+ },
+ "dav": {
+ "name": "taita"
+ },
+ "tzm": {
+ "name": "tamazight del Marruecos Central"
+ },
+ "zgh": {
+ "name": "tamazight marroquí estándar"
+ },
+ "ta": {
+ "name": "tamil"
+ },
+ "twq": {
+ "name": "tasawaq"
+ },
+ "shi": {
+ "name": "tashelhit"
+ },
+ "te": {
+ "name": "telugu"
+ },
+ "teo": {
+ "name": "teso"
+ },
+ "bo": {
+ "name": "tibetano"
+ },
+ "ti": {
+ "name": "tigriña"
+ },
+ "to": {
+ "name": "tongano"
+ },
+ "tr": {
+ "name": "turco"
+ },
+ "tk": {
+ "name": "turcomano"
+ },
+ "uk": {
+ "name": "ucraniano"
+ },
+ "ug": {
+ "name": "uigur"
+ },
+ "ur": {
+ "name": "urdu"
+ },
+ "uz": {
+ "name": "uzbeko"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vi": {
+ "name": "vietnamita"
+ },
+ "vo": {
+ "name": "volapük"
+ },
+ "vun": {
+ "name": "vunjo"
+ },
+ "wae": {
+ "name": "walser"
+ },
+ "yav": {
+ "name": "yangben"
+ },
+ "ii": {
+ "name": "yi de Sichuán"
+ },
+ "yi": {
+ "name": "yídish"
+ },
+ "yo": {
+ "name": "yoruba"
+ },
+ "dje": {
+ "name": "zarma"
+ },
+ "zu": {
+ "name": "zulú"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/es-PA.json b/vendor/commerceguys/intl/resources/language/es-PA.json
new file mode 100644
index 000000000..141f785c9
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/es-PA.json
@@ -0,0 +1,635 @@
+{
+ "af": {
+ "name": "afrikáans"
+ },
+ "agq": {
+ "name": "aghem"
+ },
+ "ak": {
+ "name": "akan"
+ },
+ "sq": {
+ "name": "albanés"
+ },
+ "de": {
+ "name": "alemán"
+ },
+ "de-AT": {
+ "name": "alemán austríaco"
+ },
+ "gsw": {
+ "name": "alemán suizo"
+ },
+ "de-CH": {
+ "name": "alto alemán suizo"
+ },
+ "am": {
+ "name": "amárico"
+ },
+ "ar": {
+ "name": "árabe"
+ },
+ "hy": {
+ "name": "armenio"
+ },
+ "as": {
+ "name": "asamés"
+ },
+ "ast": {
+ "name": "asturiano"
+ },
+ "asa": {
+ "name": "asu"
+ },
+ "az": {
+ "name": "azerbaiyano"
+ },
+ "ksf": {
+ "name": "bafia"
+ },
+ "nds": {
+ "name": "bajo alemán"
+ },
+ "nds-NL": {
+ "name": "bajo sajón"
+ },
+ "dsb": {
+ "name": "bajo sorbio"
+ },
+ "bm": {
+ "name": "bambara"
+ },
+ "bas": {
+ "name": "basaa"
+ },
+ "bem": {
+ "name": "bemba"
+ },
+ "bez": {
+ "name": "bena"
+ },
+ "bn": {
+ "name": "bengalí"
+ },
+ "be": {
+ "name": "bielorruso"
+ },
+ "my": {
+ "name": "birmano"
+ },
+ "brx": {
+ "name": "bodo"
+ },
+ "bs": {
+ "name": "bosnio"
+ },
+ "br": {
+ "name": "bretón"
+ },
+ "bg": {
+ "name": "búlgaro"
+ },
+ "kab": {
+ "name": "cabila"
+ },
+ "ks": {
+ "name": "cachemiro"
+ },
+ "kn": {
+ "name": "canarés"
+ },
+ "yue": {
+ "name": "cantonés"
+ },
+ "ca": {
+ "name": "catalán"
+ },
+ "ce": {
+ "name": "checheno"
+ },
+ "cs": {
+ "name": "checo"
+ },
+ "chr": {
+ "name": "cheroqui"
+ },
+ "cgg": {
+ "name": "chiga"
+ },
+ "zh": {
+ "name": "chino"
+ },
+ "zh-Hans": {
+ "name": "chino simplificado"
+ },
+ "zh-Hant": {
+ "name": "chino tradicional"
+ },
+ "si": {
+ "name": "cingalés"
+ },
+ "ko": {
+ "name": "coreano"
+ },
+ "kw": {
+ "name": "córnico"
+ },
+ "kea": {
+ "name": "Criollo (Cabo Verde)"
+ },
+ "mfe": {
+ "name": "criollo mauriciano"
+ },
+ "hr": {
+ "name": "croata"
+ },
+ "da": {
+ "name": "danés"
+ },
+ "dua": {
+ "name": "duala"
+ },
+ "dz": {
+ "name": "dzongkha"
+ },
+ "ebu": {
+ "name": "embu"
+ },
+ "cu": {
+ "name": "eslavo eclesiástico"
+ },
+ "sk": {
+ "name": "eslovaco"
+ },
+ "sl": {
+ "name": "esloveno"
+ },
+ "es": {
+ "name": "español"
+ },
+ "es-MX": {
+ "name": "español de México"
+ },
+ "eo": {
+ "name": "esperanto"
+ },
+ "et": {
+ "name": "estonio"
+ },
+ "eu": {
+ "name": "euskera"
+ },
+ "ee": {
+ "name": "ewé"
+ },
+ "ewo": {
+ "name": "ewondo"
+ },
+ "fo": {
+ "name": "feroés"
+ },
+ "fil": {
+ "name": "filipino"
+ },
+ "fi": {
+ "name": "finés"
+ },
+ "nl-BE": {
+ "name": "flamenco"
+ },
+ "fr": {
+ "name": "francés"
+ },
+ "fr-CA": {
+ "name": "francés canadiense"
+ },
+ "fr-CH": {
+ "name": "francés suizo"
+ },
+ "fy": {
+ "name": "frisón occidental"
+ },
+ "fur": {
+ "name": "friulano"
+ },
+ "ff": {
+ "name": "fula"
+ },
+ "gd": {
+ "name": "gaélico escocés"
+ },
+ "cy": {
+ "name": "galés"
+ },
+ "gl": {
+ "name": "gallego"
+ },
+ "lg": {
+ "name": "ganda"
+ },
+ "ka": {
+ "name": "georgiano"
+ },
+ "el": {
+ "name": "griego"
+ },
+ "kl": {
+ "name": "groenlandés"
+ },
+ "gu": {
+ "name": "gujarati"
+ },
+ "guz": {
+ "name": "gusii"
+ },
+ "ha": {
+ "name": "hausa"
+ },
+ "haw": {
+ "name": "hawaiano"
+ },
+ "he": {
+ "name": "hebreo"
+ },
+ "hi": {
+ "name": "hindi"
+ },
+ "hu": {
+ "name": "húngaro"
+ },
+ "ig": {
+ "name": "igbo"
+ },
+ "id": {
+ "name": "indonesio"
+ },
+ "en": {
+ "name": "inglés"
+ },
+ "en-AU": {
+ "name": "inglés australiano"
+ },
+ "en-GB": {
+ "name": "inglés británico"
+ },
+ "en-CA": {
+ "name": "inglés canadiense"
+ },
+ "ga": {
+ "name": "irlandés"
+ },
+ "is": {
+ "name": "islandés"
+ },
+ "it": {
+ "name": "italiano"
+ },
+ "ja": {
+ "name": "japonés"
+ },
+ "km": {
+ "name": "jemer"
+ },
+ "dyo": {
+ "name": "jola-fonyi"
+ },
+ "kkj": {
+ "name": "kako"
+ },
+ "kln": {
+ "name": "kalenjin"
+ },
+ "kam": {
+ "name": "kamba"
+ },
+ "kk": {
+ "name": "kazajo"
+ },
+ "ki": {
+ "name": "kikuyu"
+ },
+ "rw": {
+ "name": "kinyarwanda"
+ },
+ "ky": {
+ "name": "kirguís"
+ },
+ "rn": {
+ "name": "kirundi"
+ },
+ "ksh": {
+ "name": "kölsch"
+ },
+ "kok": {
+ "name": "konkaní"
+ },
+ "khq": {
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "name": "koyraboro senni"
+ },
+ "ckb": {
+ "name": "kurdo sorani"
+ },
+ "nmg": {
+ "name": "kwasio"
+ },
+ "lkt": {
+ "name": "lakota"
+ },
+ "lag": {
+ "name": "langi"
+ },
+ "lo": {
+ "name": "lao"
+ },
+ "lv": {
+ "name": "letón"
+ },
+ "ln": {
+ "name": "lingala"
+ },
+ "lt": {
+ "name": "lituano"
+ },
+ "lrc": {
+ "name": "lorí septentrional"
+ },
+ "lu": {
+ "name": "luba-katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "luxemburgués"
+ },
+ "luy": {
+ "name": "luyia"
+ },
+ "mk": {
+ "name": "macedonio"
+ },
+ "jmc": {
+ "name": "machame"
+ },
+ "mgh": {
+ "name": "makhuwa-meetto"
+ },
+ "kde": {
+ "name": "makonde"
+ },
+ "ml": {
+ "name": "malayalam"
+ },
+ "ms": {
+ "name": "malayo"
+ },
+ "mg": {
+ "name": "malgache"
+ },
+ "mt": {
+ "name": "maltés"
+ },
+ "gv": {
+ "name": "manés"
+ },
+ "mr": {
+ "name": "maratí"
+ },
+ "mas": {
+ "name": "masái"
+ },
+ "mzn": {
+ "name": "mazandaraní"
+ },
+ "mer": {
+ "name": "meru"
+ },
+ "mgo": {
+ "name": "meta’"
+ },
+ "ro-MD": {
+ "name": "moldavo"
+ },
+ "mn": {
+ "name": "mongol"
+ },
+ "mua": {
+ "name": "mundang"
+ },
+ "naq": {
+ "name": "nama"
+ },
+ "nd": {
+ "name": "ndebele septentrional"
+ },
+ "nl": {
+ "name": "neerlandés"
+ },
+ "ne": {
+ "name": "nepalí"
+ },
+ "nnh": {
+ "name": "ngiemboon"
+ },
+ "jgo": {
+ "name": "ngomba"
+ },
+ "nb": {
+ "name": "noruego bokmal"
+ },
+ "nn": {
+ "name": "noruego nynorsk"
+ },
+ "nus": {
+ "name": "nuer"
+ },
+ "nyn": {
+ "name": "nyankole"
+ },
+ "or": {
+ "name": "oriya"
+ },
+ "om": {
+ "name": "oromo"
+ },
+ "os": {
+ "name": "osético"
+ },
+ "ps": {
+ "name": "pastún"
+ },
+ "fa": {
+ "name": "persa"
+ },
+ "pl": {
+ "name": "polaco"
+ },
+ "pt": {
+ "name": "portugués"
+ },
+ "pt-PT": {
+ "name": "portugués de Portugal"
+ },
+ "prg": {
+ "name": "prusiano antiguo"
+ },
+ "pa": {
+ "name": "punyabí"
+ },
+ "qu": {
+ "name": "quechua"
+ },
+ "rm": {
+ "name": "retorrománico"
+ },
+ "rof": {
+ "name": "rombo"
+ },
+ "ro": {
+ "name": "rumano"
+ },
+ "ru": {
+ "name": "ruso"
+ },
+ "rwk": {
+ "name": "rwa"
+ },
+ "sah": {
+ "name": "sakha"
+ },
+ "saq": {
+ "name": "samburu"
+ },
+ "smn": {
+ "name": "sami inari"
+ },
+ "se": {
+ "name": "sami septentrional"
+ },
+ "sg": {
+ "name": "sango"
+ },
+ "sbp": {
+ "name": "sangu"
+ },
+ "seh": {
+ "name": "sena"
+ },
+ "sr": {
+ "name": "serbio"
+ },
+ "ksb": {
+ "name": "shambala"
+ },
+ "sn": {
+ "name": "shona"
+ },
+ "xog": {
+ "name": "soga"
+ },
+ "so": {
+ "name": "somalí"
+ },
+ "hsb": {
+ "name": "sorbio alto"
+ },
+ "sw": {
+ "name": "suajili"
+ },
+ "sw-CD": {
+ "name": "suajili del Congo"
+ },
+ "sv": {
+ "name": "sueco"
+ },
+ "th": {
+ "name": "tailandés"
+ },
+ "dav": {
+ "name": "taita"
+ },
+ "tzm": {
+ "name": "tamazight del Marruecos Central"
+ },
+ "zgh": {
+ "name": "tamazight marroquí estándar"
+ },
+ "ta": {
+ "name": "tamil"
+ },
+ "twq": {
+ "name": "tasawaq"
+ },
+ "shi": {
+ "name": "tashelhit"
+ },
+ "te": {
+ "name": "telugu"
+ },
+ "teo": {
+ "name": "teso"
+ },
+ "bo": {
+ "name": "tibetano"
+ },
+ "ti": {
+ "name": "tigriña"
+ },
+ "to": {
+ "name": "tongano"
+ },
+ "tr": {
+ "name": "turco"
+ },
+ "tk": {
+ "name": "turcomano"
+ },
+ "uk": {
+ "name": "ucraniano"
+ },
+ "ug": {
+ "name": "uigur"
+ },
+ "ur": {
+ "name": "urdu"
+ },
+ "uz": {
+ "name": "uzbeko"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vi": {
+ "name": "vietnamita"
+ },
+ "vo": {
+ "name": "volapük"
+ },
+ "vun": {
+ "name": "vunjo"
+ },
+ "wae": {
+ "name": "walser"
+ },
+ "yav": {
+ "name": "yangben"
+ },
+ "ii": {
+ "name": "yi de Sichuán"
+ },
+ "yi": {
+ "name": "yídish"
+ },
+ "yo": {
+ "name": "yoruba"
+ },
+ "dje": {
+ "name": "zarma"
+ },
+ "zu": {
+ "name": "zulú"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/es-PE.json b/vendor/commerceguys/intl/resources/language/es-PE.json
new file mode 100644
index 000000000..141f785c9
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/es-PE.json
@@ -0,0 +1,635 @@
+{
+ "af": {
+ "name": "afrikáans"
+ },
+ "agq": {
+ "name": "aghem"
+ },
+ "ak": {
+ "name": "akan"
+ },
+ "sq": {
+ "name": "albanés"
+ },
+ "de": {
+ "name": "alemán"
+ },
+ "de-AT": {
+ "name": "alemán austríaco"
+ },
+ "gsw": {
+ "name": "alemán suizo"
+ },
+ "de-CH": {
+ "name": "alto alemán suizo"
+ },
+ "am": {
+ "name": "amárico"
+ },
+ "ar": {
+ "name": "árabe"
+ },
+ "hy": {
+ "name": "armenio"
+ },
+ "as": {
+ "name": "asamés"
+ },
+ "ast": {
+ "name": "asturiano"
+ },
+ "asa": {
+ "name": "asu"
+ },
+ "az": {
+ "name": "azerbaiyano"
+ },
+ "ksf": {
+ "name": "bafia"
+ },
+ "nds": {
+ "name": "bajo alemán"
+ },
+ "nds-NL": {
+ "name": "bajo sajón"
+ },
+ "dsb": {
+ "name": "bajo sorbio"
+ },
+ "bm": {
+ "name": "bambara"
+ },
+ "bas": {
+ "name": "basaa"
+ },
+ "bem": {
+ "name": "bemba"
+ },
+ "bez": {
+ "name": "bena"
+ },
+ "bn": {
+ "name": "bengalí"
+ },
+ "be": {
+ "name": "bielorruso"
+ },
+ "my": {
+ "name": "birmano"
+ },
+ "brx": {
+ "name": "bodo"
+ },
+ "bs": {
+ "name": "bosnio"
+ },
+ "br": {
+ "name": "bretón"
+ },
+ "bg": {
+ "name": "búlgaro"
+ },
+ "kab": {
+ "name": "cabila"
+ },
+ "ks": {
+ "name": "cachemiro"
+ },
+ "kn": {
+ "name": "canarés"
+ },
+ "yue": {
+ "name": "cantonés"
+ },
+ "ca": {
+ "name": "catalán"
+ },
+ "ce": {
+ "name": "checheno"
+ },
+ "cs": {
+ "name": "checo"
+ },
+ "chr": {
+ "name": "cheroqui"
+ },
+ "cgg": {
+ "name": "chiga"
+ },
+ "zh": {
+ "name": "chino"
+ },
+ "zh-Hans": {
+ "name": "chino simplificado"
+ },
+ "zh-Hant": {
+ "name": "chino tradicional"
+ },
+ "si": {
+ "name": "cingalés"
+ },
+ "ko": {
+ "name": "coreano"
+ },
+ "kw": {
+ "name": "córnico"
+ },
+ "kea": {
+ "name": "Criollo (Cabo Verde)"
+ },
+ "mfe": {
+ "name": "criollo mauriciano"
+ },
+ "hr": {
+ "name": "croata"
+ },
+ "da": {
+ "name": "danés"
+ },
+ "dua": {
+ "name": "duala"
+ },
+ "dz": {
+ "name": "dzongkha"
+ },
+ "ebu": {
+ "name": "embu"
+ },
+ "cu": {
+ "name": "eslavo eclesiástico"
+ },
+ "sk": {
+ "name": "eslovaco"
+ },
+ "sl": {
+ "name": "esloveno"
+ },
+ "es": {
+ "name": "español"
+ },
+ "es-MX": {
+ "name": "español de México"
+ },
+ "eo": {
+ "name": "esperanto"
+ },
+ "et": {
+ "name": "estonio"
+ },
+ "eu": {
+ "name": "euskera"
+ },
+ "ee": {
+ "name": "ewé"
+ },
+ "ewo": {
+ "name": "ewondo"
+ },
+ "fo": {
+ "name": "feroés"
+ },
+ "fil": {
+ "name": "filipino"
+ },
+ "fi": {
+ "name": "finés"
+ },
+ "nl-BE": {
+ "name": "flamenco"
+ },
+ "fr": {
+ "name": "francés"
+ },
+ "fr-CA": {
+ "name": "francés canadiense"
+ },
+ "fr-CH": {
+ "name": "francés suizo"
+ },
+ "fy": {
+ "name": "frisón occidental"
+ },
+ "fur": {
+ "name": "friulano"
+ },
+ "ff": {
+ "name": "fula"
+ },
+ "gd": {
+ "name": "gaélico escocés"
+ },
+ "cy": {
+ "name": "galés"
+ },
+ "gl": {
+ "name": "gallego"
+ },
+ "lg": {
+ "name": "ganda"
+ },
+ "ka": {
+ "name": "georgiano"
+ },
+ "el": {
+ "name": "griego"
+ },
+ "kl": {
+ "name": "groenlandés"
+ },
+ "gu": {
+ "name": "gujarati"
+ },
+ "guz": {
+ "name": "gusii"
+ },
+ "ha": {
+ "name": "hausa"
+ },
+ "haw": {
+ "name": "hawaiano"
+ },
+ "he": {
+ "name": "hebreo"
+ },
+ "hi": {
+ "name": "hindi"
+ },
+ "hu": {
+ "name": "húngaro"
+ },
+ "ig": {
+ "name": "igbo"
+ },
+ "id": {
+ "name": "indonesio"
+ },
+ "en": {
+ "name": "inglés"
+ },
+ "en-AU": {
+ "name": "inglés australiano"
+ },
+ "en-GB": {
+ "name": "inglés británico"
+ },
+ "en-CA": {
+ "name": "inglés canadiense"
+ },
+ "ga": {
+ "name": "irlandés"
+ },
+ "is": {
+ "name": "islandés"
+ },
+ "it": {
+ "name": "italiano"
+ },
+ "ja": {
+ "name": "japonés"
+ },
+ "km": {
+ "name": "jemer"
+ },
+ "dyo": {
+ "name": "jola-fonyi"
+ },
+ "kkj": {
+ "name": "kako"
+ },
+ "kln": {
+ "name": "kalenjin"
+ },
+ "kam": {
+ "name": "kamba"
+ },
+ "kk": {
+ "name": "kazajo"
+ },
+ "ki": {
+ "name": "kikuyu"
+ },
+ "rw": {
+ "name": "kinyarwanda"
+ },
+ "ky": {
+ "name": "kirguís"
+ },
+ "rn": {
+ "name": "kirundi"
+ },
+ "ksh": {
+ "name": "kölsch"
+ },
+ "kok": {
+ "name": "konkaní"
+ },
+ "khq": {
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "name": "koyraboro senni"
+ },
+ "ckb": {
+ "name": "kurdo sorani"
+ },
+ "nmg": {
+ "name": "kwasio"
+ },
+ "lkt": {
+ "name": "lakota"
+ },
+ "lag": {
+ "name": "langi"
+ },
+ "lo": {
+ "name": "lao"
+ },
+ "lv": {
+ "name": "letón"
+ },
+ "ln": {
+ "name": "lingala"
+ },
+ "lt": {
+ "name": "lituano"
+ },
+ "lrc": {
+ "name": "lorí septentrional"
+ },
+ "lu": {
+ "name": "luba-katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "luxemburgués"
+ },
+ "luy": {
+ "name": "luyia"
+ },
+ "mk": {
+ "name": "macedonio"
+ },
+ "jmc": {
+ "name": "machame"
+ },
+ "mgh": {
+ "name": "makhuwa-meetto"
+ },
+ "kde": {
+ "name": "makonde"
+ },
+ "ml": {
+ "name": "malayalam"
+ },
+ "ms": {
+ "name": "malayo"
+ },
+ "mg": {
+ "name": "malgache"
+ },
+ "mt": {
+ "name": "maltés"
+ },
+ "gv": {
+ "name": "manés"
+ },
+ "mr": {
+ "name": "maratí"
+ },
+ "mas": {
+ "name": "masái"
+ },
+ "mzn": {
+ "name": "mazandaraní"
+ },
+ "mer": {
+ "name": "meru"
+ },
+ "mgo": {
+ "name": "meta’"
+ },
+ "ro-MD": {
+ "name": "moldavo"
+ },
+ "mn": {
+ "name": "mongol"
+ },
+ "mua": {
+ "name": "mundang"
+ },
+ "naq": {
+ "name": "nama"
+ },
+ "nd": {
+ "name": "ndebele septentrional"
+ },
+ "nl": {
+ "name": "neerlandés"
+ },
+ "ne": {
+ "name": "nepalí"
+ },
+ "nnh": {
+ "name": "ngiemboon"
+ },
+ "jgo": {
+ "name": "ngomba"
+ },
+ "nb": {
+ "name": "noruego bokmal"
+ },
+ "nn": {
+ "name": "noruego nynorsk"
+ },
+ "nus": {
+ "name": "nuer"
+ },
+ "nyn": {
+ "name": "nyankole"
+ },
+ "or": {
+ "name": "oriya"
+ },
+ "om": {
+ "name": "oromo"
+ },
+ "os": {
+ "name": "osético"
+ },
+ "ps": {
+ "name": "pastún"
+ },
+ "fa": {
+ "name": "persa"
+ },
+ "pl": {
+ "name": "polaco"
+ },
+ "pt": {
+ "name": "portugués"
+ },
+ "pt-PT": {
+ "name": "portugués de Portugal"
+ },
+ "prg": {
+ "name": "prusiano antiguo"
+ },
+ "pa": {
+ "name": "punyabí"
+ },
+ "qu": {
+ "name": "quechua"
+ },
+ "rm": {
+ "name": "retorrománico"
+ },
+ "rof": {
+ "name": "rombo"
+ },
+ "ro": {
+ "name": "rumano"
+ },
+ "ru": {
+ "name": "ruso"
+ },
+ "rwk": {
+ "name": "rwa"
+ },
+ "sah": {
+ "name": "sakha"
+ },
+ "saq": {
+ "name": "samburu"
+ },
+ "smn": {
+ "name": "sami inari"
+ },
+ "se": {
+ "name": "sami septentrional"
+ },
+ "sg": {
+ "name": "sango"
+ },
+ "sbp": {
+ "name": "sangu"
+ },
+ "seh": {
+ "name": "sena"
+ },
+ "sr": {
+ "name": "serbio"
+ },
+ "ksb": {
+ "name": "shambala"
+ },
+ "sn": {
+ "name": "shona"
+ },
+ "xog": {
+ "name": "soga"
+ },
+ "so": {
+ "name": "somalí"
+ },
+ "hsb": {
+ "name": "sorbio alto"
+ },
+ "sw": {
+ "name": "suajili"
+ },
+ "sw-CD": {
+ "name": "suajili del Congo"
+ },
+ "sv": {
+ "name": "sueco"
+ },
+ "th": {
+ "name": "tailandés"
+ },
+ "dav": {
+ "name": "taita"
+ },
+ "tzm": {
+ "name": "tamazight del Marruecos Central"
+ },
+ "zgh": {
+ "name": "tamazight marroquí estándar"
+ },
+ "ta": {
+ "name": "tamil"
+ },
+ "twq": {
+ "name": "tasawaq"
+ },
+ "shi": {
+ "name": "tashelhit"
+ },
+ "te": {
+ "name": "telugu"
+ },
+ "teo": {
+ "name": "teso"
+ },
+ "bo": {
+ "name": "tibetano"
+ },
+ "ti": {
+ "name": "tigriña"
+ },
+ "to": {
+ "name": "tongano"
+ },
+ "tr": {
+ "name": "turco"
+ },
+ "tk": {
+ "name": "turcomano"
+ },
+ "uk": {
+ "name": "ucraniano"
+ },
+ "ug": {
+ "name": "uigur"
+ },
+ "ur": {
+ "name": "urdu"
+ },
+ "uz": {
+ "name": "uzbeko"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vi": {
+ "name": "vietnamita"
+ },
+ "vo": {
+ "name": "volapük"
+ },
+ "vun": {
+ "name": "vunjo"
+ },
+ "wae": {
+ "name": "walser"
+ },
+ "yav": {
+ "name": "yangben"
+ },
+ "ii": {
+ "name": "yi de Sichuán"
+ },
+ "yi": {
+ "name": "yídish"
+ },
+ "yo": {
+ "name": "yoruba"
+ },
+ "dje": {
+ "name": "zarma"
+ },
+ "zu": {
+ "name": "zulú"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/es-PR.json b/vendor/commerceguys/intl/resources/language/es-PR.json
new file mode 100644
index 000000000..a1842dc81
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/es-PR.json
@@ -0,0 +1,635 @@
+{
+ "af": {
+ "name": "afrikáans"
+ },
+ "agq": {
+ "name": "aghem"
+ },
+ "ak": {
+ "name": "akan"
+ },
+ "sq": {
+ "name": "albanés"
+ },
+ "de": {
+ "name": "alemán"
+ },
+ "de-AT": {
+ "name": "alemán austríaco"
+ },
+ "gsw": {
+ "name": "alemán suizo"
+ },
+ "de-CH": {
+ "name": "alto alemán suizo"
+ },
+ "am": {
+ "name": "amárico"
+ },
+ "ar": {
+ "name": "árabe"
+ },
+ "hy": {
+ "name": "armenio"
+ },
+ "as": {
+ "name": "asamés"
+ },
+ "ast": {
+ "name": "asturiano"
+ },
+ "asa": {
+ "name": "asu"
+ },
+ "az": {
+ "name": "azerbaiyano"
+ },
+ "ksf": {
+ "name": "bafia"
+ },
+ "nds": {
+ "name": "bajo alemán"
+ },
+ "nds-NL": {
+ "name": "bajo sajón"
+ },
+ "dsb": {
+ "name": "bajo sorbio"
+ },
+ "bm": {
+ "name": "bambara"
+ },
+ "bas": {
+ "name": "basaa"
+ },
+ "bem": {
+ "name": "bemba"
+ },
+ "bez": {
+ "name": "bena"
+ },
+ "bn": {
+ "name": "bengalí"
+ },
+ "be": {
+ "name": "bielorruso"
+ },
+ "my": {
+ "name": "birmano"
+ },
+ "brx": {
+ "name": "bodo"
+ },
+ "bs": {
+ "name": "bosnio"
+ },
+ "br": {
+ "name": "bretón"
+ },
+ "bg": {
+ "name": "búlgaro"
+ },
+ "kab": {
+ "name": "cabila"
+ },
+ "ks": {
+ "name": "cachemiro"
+ },
+ "kn": {
+ "name": "canarés"
+ },
+ "yue": {
+ "name": "cantonés"
+ },
+ "ca": {
+ "name": "catalán"
+ },
+ "ce": {
+ "name": "checheno"
+ },
+ "cs": {
+ "name": "checo"
+ },
+ "chr": {
+ "name": "cheroqui"
+ },
+ "cgg": {
+ "name": "chiga"
+ },
+ "zh": {
+ "name": "chino"
+ },
+ "zh-Hans": {
+ "name": "chino simplificado"
+ },
+ "zh-Hant": {
+ "name": "chino tradicional"
+ },
+ "si": {
+ "name": "cingalés"
+ },
+ "ko": {
+ "name": "coreano"
+ },
+ "kw": {
+ "name": "córnico"
+ },
+ "kea": {
+ "name": "Criollo (Cabo Verde)"
+ },
+ "mfe": {
+ "name": "criollo mauriciano"
+ },
+ "hr": {
+ "name": "croata"
+ },
+ "da": {
+ "name": "danés"
+ },
+ "dua": {
+ "name": "duala"
+ },
+ "dz": {
+ "name": "dzongkha"
+ },
+ "ebu": {
+ "name": "embu"
+ },
+ "cu": {
+ "name": "eslavo eclesiástico"
+ },
+ "sk": {
+ "name": "eslovaco"
+ },
+ "sl": {
+ "name": "esloveno"
+ },
+ "es": {
+ "name": "español"
+ },
+ "es-MX": {
+ "name": "español de México"
+ },
+ "eo": {
+ "name": "esperanto"
+ },
+ "et": {
+ "name": "estonio"
+ },
+ "ee": {
+ "name": "ewé"
+ },
+ "ewo": {
+ "name": "ewondo"
+ },
+ "fo": {
+ "name": "feroés"
+ },
+ "fil": {
+ "name": "filipino"
+ },
+ "fi": {
+ "name": "finés"
+ },
+ "nl-BE": {
+ "name": "flamenco"
+ },
+ "fr": {
+ "name": "francés"
+ },
+ "fr-CA": {
+ "name": "francés canadiense"
+ },
+ "fr-CH": {
+ "name": "francés suizo"
+ },
+ "fy": {
+ "name": "frisón occidental"
+ },
+ "fur": {
+ "name": "friulano"
+ },
+ "ff": {
+ "name": "fula"
+ },
+ "gd": {
+ "name": "gaélico escocés"
+ },
+ "cy": {
+ "name": "galés"
+ },
+ "gl": {
+ "name": "gallego"
+ },
+ "lg": {
+ "name": "ganda"
+ },
+ "ka": {
+ "name": "georgiano"
+ },
+ "el": {
+ "name": "griego"
+ },
+ "kl": {
+ "name": "groenlandés"
+ },
+ "gu": {
+ "name": "gujarati"
+ },
+ "guz": {
+ "name": "gusii"
+ },
+ "ha": {
+ "name": "hausa"
+ },
+ "haw": {
+ "name": "hawaiano"
+ },
+ "he": {
+ "name": "hebreo"
+ },
+ "hi": {
+ "name": "hindi"
+ },
+ "hu": {
+ "name": "húngaro"
+ },
+ "ig": {
+ "name": "igbo"
+ },
+ "id": {
+ "name": "indonesio"
+ },
+ "en": {
+ "name": "inglés"
+ },
+ "en-AU": {
+ "name": "inglés australiano"
+ },
+ "en-GB": {
+ "name": "inglés británico"
+ },
+ "en-CA": {
+ "name": "inglés canadiense"
+ },
+ "ga": {
+ "name": "irlandés"
+ },
+ "is": {
+ "name": "islandés"
+ },
+ "it": {
+ "name": "italiano"
+ },
+ "ja": {
+ "name": "japonés"
+ },
+ "km": {
+ "name": "jemer"
+ },
+ "dyo": {
+ "name": "jola-fonyi"
+ },
+ "kkj": {
+ "name": "kako"
+ },
+ "kln": {
+ "name": "kalenjin"
+ },
+ "kam": {
+ "name": "kamba"
+ },
+ "kk": {
+ "name": "kazajo"
+ },
+ "ki": {
+ "name": "kikuyu"
+ },
+ "rw": {
+ "name": "kinyarwanda"
+ },
+ "ky": {
+ "name": "kirguís"
+ },
+ "rn": {
+ "name": "kirundi"
+ },
+ "ksh": {
+ "name": "kölsch"
+ },
+ "kok": {
+ "name": "konkaní"
+ },
+ "khq": {
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "name": "koyraboro senni"
+ },
+ "ckb": {
+ "name": "kurdo sorani"
+ },
+ "nmg": {
+ "name": "kwasio"
+ },
+ "lkt": {
+ "name": "lakota"
+ },
+ "lag": {
+ "name": "langi"
+ },
+ "lo": {
+ "name": "laosiano"
+ },
+ "lv": {
+ "name": "letón"
+ },
+ "ln": {
+ "name": "lingala"
+ },
+ "lt": {
+ "name": "lituano"
+ },
+ "lrc": {
+ "name": "lorí septentrional"
+ },
+ "lu": {
+ "name": "luba-katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "luxemburgués"
+ },
+ "luy": {
+ "name": "luyia"
+ },
+ "mk": {
+ "name": "macedonio"
+ },
+ "jmc": {
+ "name": "machame"
+ },
+ "mgh": {
+ "name": "makhuwa-meetto"
+ },
+ "kde": {
+ "name": "makonde"
+ },
+ "ml": {
+ "name": "malayalam"
+ },
+ "ms": {
+ "name": "malayo"
+ },
+ "mg": {
+ "name": "malgache"
+ },
+ "mt": {
+ "name": "maltés"
+ },
+ "gv": {
+ "name": "manés"
+ },
+ "mr": {
+ "name": "maratí"
+ },
+ "mas": {
+ "name": "masái"
+ },
+ "mzn": {
+ "name": "mazandaraní"
+ },
+ "mer": {
+ "name": "meru"
+ },
+ "mgo": {
+ "name": "meta’"
+ },
+ "ro-MD": {
+ "name": "moldavo"
+ },
+ "mn": {
+ "name": "mongol"
+ },
+ "mua": {
+ "name": "mundang"
+ },
+ "naq": {
+ "name": "nama"
+ },
+ "nd": {
+ "name": "ndebele septentrional"
+ },
+ "nl": {
+ "name": "neerlandés"
+ },
+ "ne": {
+ "name": "nepalí"
+ },
+ "nnh": {
+ "name": "ngiemboon"
+ },
+ "jgo": {
+ "name": "ngomba"
+ },
+ "nb": {
+ "name": "noruego bokmal"
+ },
+ "nn": {
+ "name": "noruego nynorsk"
+ },
+ "nus": {
+ "name": "nuer"
+ },
+ "nyn": {
+ "name": "nyankole"
+ },
+ "or": {
+ "name": "oriya"
+ },
+ "om": {
+ "name": "oromo"
+ },
+ "os": {
+ "name": "osético"
+ },
+ "pa": {
+ "name": "panyabí"
+ },
+ "ps": {
+ "name": "pastún"
+ },
+ "fa": {
+ "name": "persa"
+ },
+ "pl": {
+ "name": "polaco"
+ },
+ "pt": {
+ "name": "portugués"
+ },
+ "pt-PT": {
+ "name": "portugués de Portugal"
+ },
+ "prg": {
+ "name": "prusiano antiguo"
+ },
+ "qu": {
+ "name": "quechua"
+ },
+ "rm": {
+ "name": "retorrománico"
+ },
+ "rof": {
+ "name": "rombo"
+ },
+ "ro": {
+ "name": "rumano"
+ },
+ "ru": {
+ "name": "ruso"
+ },
+ "rwk": {
+ "name": "rwa"
+ },
+ "sah": {
+ "name": "sakha"
+ },
+ "saq": {
+ "name": "samburu"
+ },
+ "smn": {
+ "name": "sami inari"
+ },
+ "se": {
+ "name": "sami septentrional"
+ },
+ "sg": {
+ "name": "sango"
+ },
+ "sbp": {
+ "name": "sangu"
+ },
+ "seh": {
+ "name": "sena"
+ },
+ "sr": {
+ "name": "serbio"
+ },
+ "ksb": {
+ "name": "shambala"
+ },
+ "sn": {
+ "name": "shona"
+ },
+ "xog": {
+ "name": "soga"
+ },
+ "so": {
+ "name": "somalí"
+ },
+ "hsb": {
+ "name": "sorbio alto"
+ },
+ "sv": {
+ "name": "sueco"
+ },
+ "sw": {
+ "name": "swahili"
+ },
+ "sw-CD": {
+ "name": "swahili (Congo)"
+ },
+ "th": {
+ "name": "tailandés"
+ },
+ "dav": {
+ "name": "taita"
+ },
+ "tzm": {
+ "name": "tamazight del Marruecos Central"
+ },
+ "zgh": {
+ "name": "tamazight estándar marroquí"
+ },
+ "ta": {
+ "name": "tamil"
+ },
+ "twq": {
+ "name": "tasawaq"
+ },
+ "shi": {
+ "name": "tashelhit"
+ },
+ "te": {
+ "name": "telugu"
+ },
+ "teo": {
+ "name": "teso"
+ },
+ "bo": {
+ "name": "tibetano"
+ },
+ "ti": {
+ "name": "tigriña"
+ },
+ "to": {
+ "name": "tongano"
+ },
+ "tr": {
+ "name": "turco"
+ },
+ "tk": {
+ "name": "turcomano"
+ },
+ "uk": {
+ "name": "ucraniano"
+ },
+ "ug": {
+ "name": "uigur"
+ },
+ "ur": {
+ "name": "urdu"
+ },
+ "uz": {
+ "name": "uzbeko"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "eu": {
+ "name": "vasco"
+ },
+ "vi": {
+ "name": "vietnamita"
+ },
+ "vo": {
+ "name": "volapük"
+ },
+ "vun": {
+ "name": "vunjo"
+ },
+ "wae": {
+ "name": "walser"
+ },
+ "yav": {
+ "name": "yangben"
+ },
+ "ii": {
+ "name": "yi de Sichuán"
+ },
+ "yi": {
+ "name": "yídish"
+ },
+ "yo": {
+ "name": "yoruba"
+ },
+ "dje": {
+ "name": "zarma"
+ },
+ "zu": {
+ "name": "zulú"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/es-PY.json b/vendor/commerceguys/intl/resources/language/es-PY.json
new file mode 100644
index 000000000..141f785c9
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/es-PY.json
@@ -0,0 +1,635 @@
+{
+ "af": {
+ "name": "afrikáans"
+ },
+ "agq": {
+ "name": "aghem"
+ },
+ "ak": {
+ "name": "akan"
+ },
+ "sq": {
+ "name": "albanés"
+ },
+ "de": {
+ "name": "alemán"
+ },
+ "de-AT": {
+ "name": "alemán austríaco"
+ },
+ "gsw": {
+ "name": "alemán suizo"
+ },
+ "de-CH": {
+ "name": "alto alemán suizo"
+ },
+ "am": {
+ "name": "amárico"
+ },
+ "ar": {
+ "name": "árabe"
+ },
+ "hy": {
+ "name": "armenio"
+ },
+ "as": {
+ "name": "asamés"
+ },
+ "ast": {
+ "name": "asturiano"
+ },
+ "asa": {
+ "name": "asu"
+ },
+ "az": {
+ "name": "azerbaiyano"
+ },
+ "ksf": {
+ "name": "bafia"
+ },
+ "nds": {
+ "name": "bajo alemán"
+ },
+ "nds-NL": {
+ "name": "bajo sajón"
+ },
+ "dsb": {
+ "name": "bajo sorbio"
+ },
+ "bm": {
+ "name": "bambara"
+ },
+ "bas": {
+ "name": "basaa"
+ },
+ "bem": {
+ "name": "bemba"
+ },
+ "bez": {
+ "name": "bena"
+ },
+ "bn": {
+ "name": "bengalí"
+ },
+ "be": {
+ "name": "bielorruso"
+ },
+ "my": {
+ "name": "birmano"
+ },
+ "brx": {
+ "name": "bodo"
+ },
+ "bs": {
+ "name": "bosnio"
+ },
+ "br": {
+ "name": "bretón"
+ },
+ "bg": {
+ "name": "búlgaro"
+ },
+ "kab": {
+ "name": "cabila"
+ },
+ "ks": {
+ "name": "cachemiro"
+ },
+ "kn": {
+ "name": "canarés"
+ },
+ "yue": {
+ "name": "cantonés"
+ },
+ "ca": {
+ "name": "catalán"
+ },
+ "ce": {
+ "name": "checheno"
+ },
+ "cs": {
+ "name": "checo"
+ },
+ "chr": {
+ "name": "cheroqui"
+ },
+ "cgg": {
+ "name": "chiga"
+ },
+ "zh": {
+ "name": "chino"
+ },
+ "zh-Hans": {
+ "name": "chino simplificado"
+ },
+ "zh-Hant": {
+ "name": "chino tradicional"
+ },
+ "si": {
+ "name": "cingalés"
+ },
+ "ko": {
+ "name": "coreano"
+ },
+ "kw": {
+ "name": "córnico"
+ },
+ "kea": {
+ "name": "Criollo (Cabo Verde)"
+ },
+ "mfe": {
+ "name": "criollo mauriciano"
+ },
+ "hr": {
+ "name": "croata"
+ },
+ "da": {
+ "name": "danés"
+ },
+ "dua": {
+ "name": "duala"
+ },
+ "dz": {
+ "name": "dzongkha"
+ },
+ "ebu": {
+ "name": "embu"
+ },
+ "cu": {
+ "name": "eslavo eclesiástico"
+ },
+ "sk": {
+ "name": "eslovaco"
+ },
+ "sl": {
+ "name": "esloveno"
+ },
+ "es": {
+ "name": "español"
+ },
+ "es-MX": {
+ "name": "español de México"
+ },
+ "eo": {
+ "name": "esperanto"
+ },
+ "et": {
+ "name": "estonio"
+ },
+ "eu": {
+ "name": "euskera"
+ },
+ "ee": {
+ "name": "ewé"
+ },
+ "ewo": {
+ "name": "ewondo"
+ },
+ "fo": {
+ "name": "feroés"
+ },
+ "fil": {
+ "name": "filipino"
+ },
+ "fi": {
+ "name": "finés"
+ },
+ "nl-BE": {
+ "name": "flamenco"
+ },
+ "fr": {
+ "name": "francés"
+ },
+ "fr-CA": {
+ "name": "francés canadiense"
+ },
+ "fr-CH": {
+ "name": "francés suizo"
+ },
+ "fy": {
+ "name": "frisón occidental"
+ },
+ "fur": {
+ "name": "friulano"
+ },
+ "ff": {
+ "name": "fula"
+ },
+ "gd": {
+ "name": "gaélico escocés"
+ },
+ "cy": {
+ "name": "galés"
+ },
+ "gl": {
+ "name": "gallego"
+ },
+ "lg": {
+ "name": "ganda"
+ },
+ "ka": {
+ "name": "georgiano"
+ },
+ "el": {
+ "name": "griego"
+ },
+ "kl": {
+ "name": "groenlandés"
+ },
+ "gu": {
+ "name": "gujarati"
+ },
+ "guz": {
+ "name": "gusii"
+ },
+ "ha": {
+ "name": "hausa"
+ },
+ "haw": {
+ "name": "hawaiano"
+ },
+ "he": {
+ "name": "hebreo"
+ },
+ "hi": {
+ "name": "hindi"
+ },
+ "hu": {
+ "name": "húngaro"
+ },
+ "ig": {
+ "name": "igbo"
+ },
+ "id": {
+ "name": "indonesio"
+ },
+ "en": {
+ "name": "inglés"
+ },
+ "en-AU": {
+ "name": "inglés australiano"
+ },
+ "en-GB": {
+ "name": "inglés británico"
+ },
+ "en-CA": {
+ "name": "inglés canadiense"
+ },
+ "ga": {
+ "name": "irlandés"
+ },
+ "is": {
+ "name": "islandés"
+ },
+ "it": {
+ "name": "italiano"
+ },
+ "ja": {
+ "name": "japonés"
+ },
+ "km": {
+ "name": "jemer"
+ },
+ "dyo": {
+ "name": "jola-fonyi"
+ },
+ "kkj": {
+ "name": "kako"
+ },
+ "kln": {
+ "name": "kalenjin"
+ },
+ "kam": {
+ "name": "kamba"
+ },
+ "kk": {
+ "name": "kazajo"
+ },
+ "ki": {
+ "name": "kikuyu"
+ },
+ "rw": {
+ "name": "kinyarwanda"
+ },
+ "ky": {
+ "name": "kirguís"
+ },
+ "rn": {
+ "name": "kirundi"
+ },
+ "ksh": {
+ "name": "kölsch"
+ },
+ "kok": {
+ "name": "konkaní"
+ },
+ "khq": {
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "name": "koyraboro senni"
+ },
+ "ckb": {
+ "name": "kurdo sorani"
+ },
+ "nmg": {
+ "name": "kwasio"
+ },
+ "lkt": {
+ "name": "lakota"
+ },
+ "lag": {
+ "name": "langi"
+ },
+ "lo": {
+ "name": "lao"
+ },
+ "lv": {
+ "name": "letón"
+ },
+ "ln": {
+ "name": "lingala"
+ },
+ "lt": {
+ "name": "lituano"
+ },
+ "lrc": {
+ "name": "lorí septentrional"
+ },
+ "lu": {
+ "name": "luba-katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "luxemburgués"
+ },
+ "luy": {
+ "name": "luyia"
+ },
+ "mk": {
+ "name": "macedonio"
+ },
+ "jmc": {
+ "name": "machame"
+ },
+ "mgh": {
+ "name": "makhuwa-meetto"
+ },
+ "kde": {
+ "name": "makonde"
+ },
+ "ml": {
+ "name": "malayalam"
+ },
+ "ms": {
+ "name": "malayo"
+ },
+ "mg": {
+ "name": "malgache"
+ },
+ "mt": {
+ "name": "maltés"
+ },
+ "gv": {
+ "name": "manés"
+ },
+ "mr": {
+ "name": "maratí"
+ },
+ "mas": {
+ "name": "masái"
+ },
+ "mzn": {
+ "name": "mazandaraní"
+ },
+ "mer": {
+ "name": "meru"
+ },
+ "mgo": {
+ "name": "meta’"
+ },
+ "ro-MD": {
+ "name": "moldavo"
+ },
+ "mn": {
+ "name": "mongol"
+ },
+ "mua": {
+ "name": "mundang"
+ },
+ "naq": {
+ "name": "nama"
+ },
+ "nd": {
+ "name": "ndebele septentrional"
+ },
+ "nl": {
+ "name": "neerlandés"
+ },
+ "ne": {
+ "name": "nepalí"
+ },
+ "nnh": {
+ "name": "ngiemboon"
+ },
+ "jgo": {
+ "name": "ngomba"
+ },
+ "nb": {
+ "name": "noruego bokmal"
+ },
+ "nn": {
+ "name": "noruego nynorsk"
+ },
+ "nus": {
+ "name": "nuer"
+ },
+ "nyn": {
+ "name": "nyankole"
+ },
+ "or": {
+ "name": "oriya"
+ },
+ "om": {
+ "name": "oromo"
+ },
+ "os": {
+ "name": "osético"
+ },
+ "ps": {
+ "name": "pastún"
+ },
+ "fa": {
+ "name": "persa"
+ },
+ "pl": {
+ "name": "polaco"
+ },
+ "pt": {
+ "name": "portugués"
+ },
+ "pt-PT": {
+ "name": "portugués de Portugal"
+ },
+ "prg": {
+ "name": "prusiano antiguo"
+ },
+ "pa": {
+ "name": "punyabí"
+ },
+ "qu": {
+ "name": "quechua"
+ },
+ "rm": {
+ "name": "retorrománico"
+ },
+ "rof": {
+ "name": "rombo"
+ },
+ "ro": {
+ "name": "rumano"
+ },
+ "ru": {
+ "name": "ruso"
+ },
+ "rwk": {
+ "name": "rwa"
+ },
+ "sah": {
+ "name": "sakha"
+ },
+ "saq": {
+ "name": "samburu"
+ },
+ "smn": {
+ "name": "sami inari"
+ },
+ "se": {
+ "name": "sami septentrional"
+ },
+ "sg": {
+ "name": "sango"
+ },
+ "sbp": {
+ "name": "sangu"
+ },
+ "seh": {
+ "name": "sena"
+ },
+ "sr": {
+ "name": "serbio"
+ },
+ "ksb": {
+ "name": "shambala"
+ },
+ "sn": {
+ "name": "shona"
+ },
+ "xog": {
+ "name": "soga"
+ },
+ "so": {
+ "name": "somalí"
+ },
+ "hsb": {
+ "name": "sorbio alto"
+ },
+ "sw": {
+ "name": "suajili"
+ },
+ "sw-CD": {
+ "name": "suajili del Congo"
+ },
+ "sv": {
+ "name": "sueco"
+ },
+ "th": {
+ "name": "tailandés"
+ },
+ "dav": {
+ "name": "taita"
+ },
+ "tzm": {
+ "name": "tamazight del Marruecos Central"
+ },
+ "zgh": {
+ "name": "tamazight marroquí estándar"
+ },
+ "ta": {
+ "name": "tamil"
+ },
+ "twq": {
+ "name": "tasawaq"
+ },
+ "shi": {
+ "name": "tashelhit"
+ },
+ "te": {
+ "name": "telugu"
+ },
+ "teo": {
+ "name": "teso"
+ },
+ "bo": {
+ "name": "tibetano"
+ },
+ "ti": {
+ "name": "tigriña"
+ },
+ "to": {
+ "name": "tongano"
+ },
+ "tr": {
+ "name": "turco"
+ },
+ "tk": {
+ "name": "turcomano"
+ },
+ "uk": {
+ "name": "ucraniano"
+ },
+ "ug": {
+ "name": "uigur"
+ },
+ "ur": {
+ "name": "urdu"
+ },
+ "uz": {
+ "name": "uzbeko"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vi": {
+ "name": "vietnamita"
+ },
+ "vo": {
+ "name": "volapük"
+ },
+ "vun": {
+ "name": "vunjo"
+ },
+ "wae": {
+ "name": "walser"
+ },
+ "yav": {
+ "name": "yangben"
+ },
+ "ii": {
+ "name": "yi de Sichuán"
+ },
+ "yi": {
+ "name": "yídish"
+ },
+ "yo": {
+ "name": "yoruba"
+ },
+ "dje": {
+ "name": "zarma"
+ },
+ "zu": {
+ "name": "zulú"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/es-SV.json b/vendor/commerceguys/intl/resources/language/es-SV.json
new file mode 100644
index 000000000..a1842dc81
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/es-SV.json
@@ -0,0 +1,635 @@
+{
+ "af": {
+ "name": "afrikáans"
+ },
+ "agq": {
+ "name": "aghem"
+ },
+ "ak": {
+ "name": "akan"
+ },
+ "sq": {
+ "name": "albanés"
+ },
+ "de": {
+ "name": "alemán"
+ },
+ "de-AT": {
+ "name": "alemán austríaco"
+ },
+ "gsw": {
+ "name": "alemán suizo"
+ },
+ "de-CH": {
+ "name": "alto alemán suizo"
+ },
+ "am": {
+ "name": "amárico"
+ },
+ "ar": {
+ "name": "árabe"
+ },
+ "hy": {
+ "name": "armenio"
+ },
+ "as": {
+ "name": "asamés"
+ },
+ "ast": {
+ "name": "asturiano"
+ },
+ "asa": {
+ "name": "asu"
+ },
+ "az": {
+ "name": "azerbaiyano"
+ },
+ "ksf": {
+ "name": "bafia"
+ },
+ "nds": {
+ "name": "bajo alemán"
+ },
+ "nds-NL": {
+ "name": "bajo sajón"
+ },
+ "dsb": {
+ "name": "bajo sorbio"
+ },
+ "bm": {
+ "name": "bambara"
+ },
+ "bas": {
+ "name": "basaa"
+ },
+ "bem": {
+ "name": "bemba"
+ },
+ "bez": {
+ "name": "bena"
+ },
+ "bn": {
+ "name": "bengalí"
+ },
+ "be": {
+ "name": "bielorruso"
+ },
+ "my": {
+ "name": "birmano"
+ },
+ "brx": {
+ "name": "bodo"
+ },
+ "bs": {
+ "name": "bosnio"
+ },
+ "br": {
+ "name": "bretón"
+ },
+ "bg": {
+ "name": "búlgaro"
+ },
+ "kab": {
+ "name": "cabila"
+ },
+ "ks": {
+ "name": "cachemiro"
+ },
+ "kn": {
+ "name": "canarés"
+ },
+ "yue": {
+ "name": "cantonés"
+ },
+ "ca": {
+ "name": "catalán"
+ },
+ "ce": {
+ "name": "checheno"
+ },
+ "cs": {
+ "name": "checo"
+ },
+ "chr": {
+ "name": "cheroqui"
+ },
+ "cgg": {
+ "name": "chiga"
+ },
+ "zh": {
+ "name": "chino"
+ },
+ "zh-Hans": {
+ "name": "chino simplificado"
+ },
+ "zh-Hant": {
+ "name": "chino tradicional"
+ },
+ "si": {
+ "name": "cingalés"
+ },
+ "ko": {
+ "name": "coreano"
+ },
+ "kw": {
+ "name": "córnico"
+ },
+ "kea": {
+ "name": "Criollo (Cabo Verde)"
+ },
+ "mfe": {
+ "name": "criollo mauriciano"
+ },
+ "hr": {
+ "name": "croata"
+ },
+ "da": {
+ "name": "danés"
+ },
+ "dua": {
+ "name": "duala"
+ },
+ "dz": {
+ "name": "dzongkha"
+ },
+ "ebu": {
+ "name": "embu"
+ },
+ "cu": {
+ "name": "eslavo eclesiástico"
+ },
+ "sk": {
+ "name": "eslovaco"
+ },
+ "sl": {
+ "name": "esloveno"
+ },
+ "es": {
+ "name": "español"
+ },
+ "es-MX": {
+ "name": "español de México"
+ },
+ "eo": {
+ "name": "esperanto"
+ },
+ "et": {
+ "name": "estonio"
+ },
+ "ee": {
+ "name": "ewé"
+ },
+ "ewo": {
+ "name": "ewondo"
+ },
+ "fo": {
+ "name": "feroés"
+ },
+ "fil": {
+ "name": "filipino"
+ },
+ "fi": {
+ "name": "finés"
+ },
+ "nl-BE": {
+ "name": "flamenco"
+ },
+ "fr": {
+ "name": "francés"
+ },
+ "fr-CA": {
+ "name": "francés canadiense"
+ },
+ "fr-CH": {
+ "name": "francés suizo"
+ },
+ "fy": {
+ "name": "frisón occidental"
+ },
+ "fur": {
+ "name": "friulano"
+ },
+ "ff": {
+ "name": "fula"
+ },
+ "gd": {
+ "name": "gaélico escocés"
+ },
+ "cy": {
+ "name": "galés"
+ },
+ "gl": {
+ "name": "gallego"
+ },
+ "lg": {
+ "name": "ganda"
+ },
+ "ka": {
+ "name": "georgiano"
+ },
+ "el": {
+ "name": "griego"
+ },
+ "kl": {
+ "name": "groenlandés"
+ },
+ "gu": {
+ "name": "gujarati"
+ },
+ "guz": {
+ "name": "gusii"
+ },
+ "ha": {
+ "name": "hausa"
+ },
+ "haw": {
+ "name": "hawaiano"
+ },
+ "he": {
+ "name": "hebreo"
+ },
+ "hi": {
+ "name": "hindi"
+ },
+ "hu": {
+ "name": "húngaro"
+ },
+ "ig": {
+ "name": "igbo"
+ },
+ "id": {
+ "name": "indonesio"
+ },
+ "en": {
+ "name": "inglés"
+ },
+ "en-AU": {
+ "name": "inglés australiano"
+ },
+ "en-GB": {
+ "name": "inglés británico"
+ },
+ "en-CA": {
+ "name": "inglés canadiense"
+ },
+ "ga": {
+ "name": "irlandés"
+ },
+ "is": {
+ "name": "islandés"
+ },
+ "it": {
+ "name": "italiano"
+ },
+ "ja": {
+ "name": "japonés"
+ },
+ "km": {
+ "name": "jemer"
+ },
+ "dyo": {
+ "name": "jola-fonyi"
+ },
+ "kkj": {
+ "name": "kako"
+ },
+ "kln": {
+ "name": "kalenjin"
+ },
+ "kam": {
+ "name": "kamba"
+ },
+ "kk": {
+ "name": "kazajo"
+ },
+ "ki": {
+ "name": "kikuyu"
+ },
+ "rw": {
+ "name": "kinyarwanda"
+ },
+ "ky": {
+ "name": "kirguís"
+ },
+ "rn": {
+ "name": "kirundi"
+ },
+ "ksh": {
+ "name": "kölsch"
+ },
+ "kok": {
+ "name": "konkaní"
+ },
+ "khq": {
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "name": "koyraboro senni"
+ },
+ "ckb": {
+ "name": "kurdo sorani"
+ },
+ "nmg": {
+ "name": "kwasio"
+ },
+ "lkt": {
+ "name": "lakota"
+ },
+ "lag": {
+ "name": "langi"
+ },
+ "lo": {
+ "name": "laosiano"
+ },
+ "lv": {
+ "name": "letón"
+ },
+ "ln": {
+ "name": "lingala"
+ },
+ "lt": {
+ "name": "lituano"
+ },
+ "lrc": {
+ "name": "lorí septentrional"
+ },
+ "lu": {
+ "name": "luba-katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "luxemburgués"
+ },
+ "luy": {
+ "name": "luyia"
+ },
+ "mk": {
+ "name": "macedonio"
+ },
+ "jmc": {
+ "name": "machame"
+ },
+ "mgh": {
+ "name": "makhuwa-meetto"
+ },
+ "kde": {
+ "name": "makonde"
+ },
+ "ml": {
+ "name": "malayalam"
+ },
+ "ms": {
+ "name": "malayo"
+ },
+ "mg": {
+ "name": "malgache"
+ },
+ "mt": {
+ "name": "maltés"
+ },
+ "gv": {
+ "name": "manés"
+ },
+ "mr": {
+ "name": "maratí"
+ },
+ "mas": {
+ "name": "masái"
+ },
+ "mzn": {
+ "name": "mazandaraní"
+ },
+ "mer": {
+ "name": "meru"
+ },
+ "mgo": {
+ "name": "meta’"
+ },
+ "ro-MD": {
+ "name": "moldavo"
+ },
+ "mn": {
+ "name": "mongol"
+ },
+ "mua": {
+ "name": "mundang"
+ },
+ "naq": {
+ "name": "nama"
+ },
+ "nd": {
+ "name": "ndebele septentrional"
+ },
+ "nl": {
+ "name": "neerlandés"
+ },
+ "ne": {
+ "name": "nepalí"
+ },
+ "nnh": {
+ "name": "ngiemboon"
+ },
+ "jgo": {
+ "name": "ngomba"
+ },
+ "nb": {
+ "name": "noruego bokmal"
+ },
+ "nn": {
+ "name": "noruego nynorsk"
+ },
+ "nus": {
+ "name": "nuer"
+ },
+ "nyn": {
+ "name": "nyankole"
+ },
+ "or": {
+ "name": "oriya"
+ },
+ "om": {
+ "name": "oromo"
+ },
+ "os": {
+ "name": "osético"
+ },
+ "pa": {
+ "name": "panyabí"
+ },
+ "ps": {
+ "name": "pastún"
+ },
+ "fa": {
+ "name": "persa"
+ },
+ "pl": {
+ "name": "polaco"
+ },
+ "pt": {
+ "name": "portugués"
+ },
+ "pt-PT": {
+ "name": "portugués de Portugal"
+ },
+ "prg": {
+ "name": "prusiano antiguo"
+ },
+ "qu": {
+ "name": "quechua"
+ },
+ "rm": {
+ "name": "retorrománico"
+ },
+ "rof": {
+ "name": "rombo"
+ },
+ "ro": {
+ "name": "rumano"
+ },
+ "ru": {
+ "name": "ruso"
+ },
+ "rwk": {
+ "name": "rwa"
+ },
+ "sah": {
+ "name": "sakha"
+ },
+ "saq": {
+ "name": "samburu"
+ },
+ "smn": {
+ "name": "sami inari"
+ },
+ "se": {
+ "name": "sami septentrional"
+ },
+ "sg": {
+ "name": "sango"
+ },
+ "sbp": {
+ "name": "sangu"
+ },
+ "seh": {
+ "name": "sena"
+ },
+ "sr": {
+ "name": "serbio"
+ },
+ "ksb": {
+ "name": "shambala"
+ },
+ "sn": {
+ "name": "shona"
+ },
+ "xog": {
+ "name": "soga"
+ },
+ "so": {
+ "name": "somalí"
+ },
+ "hsb": {
+ "name": "sorbio alto"
+ },
+ "sv": {
+ "name": "sueco"
+ },
+ "sw": {
+ "name": "swahili"
+ },
+ "sw-CD": {
+ "name": "swahili (Congo)"
+ },
+ "th": {
+ "name": "tailandés"
+ },
+ "dav": {
+ "name": "taita"
+ },
+ "tzm": {
+ "name": "tamazight del Marruecos Central"
+ },
+ "zgh": {
+ "name": "tamazight estándar marroquí"
+ },
+ "ta": {
+ "name": "tamil"
+ },
+ "twq": {
+ "name": "tasawaq"
+ },
+ "shi": {
+ "name": "tashelhit"
+ },
+ "te": {
+ "name": "telugu"
+ },
+ "teo": {
+ "name": "teso"
+ },
+ "bo": {
+ "name": "tibetano"
+ },
+ "ti": {
+ "name": "tigriña"
+ },
+ "to": {
+ "name": "tongano"
+ },
+ "tr": {
+ "name": "turco"
+ },
+ "tk": {
+ "name": "turcomano"
+ },
+ "uk": {
+ "name": "ucraniano"
+ },
+ "ug": {
+ "name": "uigur"
+ },
+ "ur": {
+ "name": "urdu"
+ },
+ "uz": {
+ "name": "uzbeko"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "eu": {
+ "name": "vasco"
+ },
+ "vi": {
+ "name": "vietnamita"
+ },
+ "vo": {
+ "name": "volapük"
+ },
+ "vun": {
+ "name": "vunjo"
+ },
+ "wae": {
+ "name": "walser"
+ },
+ "yav": {
+ "name": "yangben"
+ },
+ "ii": {
+ "name": "yi de Sichuán"
+ },
+ "yi": {
+ "name": "yídish"
+ },
+ "yo": {
+ "name": "yoruba"
+ },
+ "dje": {
+ "name": "zarma"
+ },
+ "zu": {
+ "name": "zulú"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/es-US.json b/vendor/commerceguys/intl/resources/language/es-US.json
new file mode 100644
index 000000000..e44b970b1
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/es-US.json
@@ -0,0 +1,635 @@
+{
+ "af": {
+ "name": "afrikáans"
+ },
+ "agq": {
+ "name": "aghem"
+ },
+ "ak": {
+ "name": "akan"
+ },
+ "sq": {
+ "name": "albanés"
+ },
+ "de": {
+ "name": "alemán"
+ },
+ "de-AT": {
+ "name": "alemán austríaco"
+ },
+ "gsw": {
+ "name": "alemán suizo"
+ },
+ "de-CH": {
+ "name": "alto alemán suizo"
+ },
+ "hsb": {
+ "name": "alto sorbio"
+ },
+ "am": {
+ "name": "amárico"
+ },
+ "ar": {
+ "name": "árabe"
+ },
+ "hy": {
+ "name": "armenio"
+ },
+ "as": {
+ "name": "asamés"
+ },
+ "ast": {
+ "name": "asturiano"
+ },
+ "asa": {
+ "name": "asu"
+ },
+ "az": {
+ "name": "azerbaiyano"
+ },
+ "ksf": {
+ "name": "bafia"
+ },
+ "nds": {
+ "name": "bajo alemán"
+ },
+ "nds-NL": {
+ "name": "bajo sajón"
+ },
+ "dsb": {
+ "name": "bajo sorbio"
+ },
+ "bm": {
+ "name": "bambara"
+ },
+ "bas": {
+ "name": "basa"
+ },
+ "bem": {
+ "name": "bemba"
+ },
+ "bez": {
+ "name": "bena"
+ },
+ "bn": {
+ "name": "bengalí"
+ },
+ "be": {
+ "name": "bielorruso"
+ },
+ "my": {
+ "name": "birmano"
+ },
+ "brx": {
+ "name": "bodo"
+ },
+ "bs": {
+ "name": "bosnio"
+ },
+ "br": {
+ "name": "bretón"
+ },
+ "bg": {
+ "name": "búlgaro"
+ },
+ "kab": {
+ "name": "cabila"
+ },
+ "ks": {
+ "name": "cachemiro"
+ },
+ "kn": {
+ "name": "canarés"
+ },
+ "yue": {
+ "name": "cantonés"
+ },
+ "ca": {
+ "name": "catalán"
+ },
+ "ce": {
+ "name": "checheno"
+ },
+ "cs": {
+ "name": "checo"
+ },
+ "chr": {
+ "name": "cheroqui"
+ },
+ "cgg": {
+ "name": "chiga"
+ },
+ "zh": {
+ "name": "chino"
+ },
+ "zh-Hans": {
+ "name": "chino simplificado"
+ },
+ "zh-Hant": {
+ "name": "chino tradicional"
+ },
+ "si": {
+ "name": "cingalés"
+ },
+ "ko": {
+ "name": "coreano"
+ },
+ "kw": {
+ "name": "córnico"
+ },
+ "kea": {
+ "name": "criollo caboverdiano"
+ },
+ "mfe": {
+ "name": "criollo mauriciano"
+ },
+ "hr": {
+ "name": "croata"
+ },
+ "da": {
+ "name": "danés"
+ },
+ "dua": {
+ "name": "duala"
+ },
+ "dz": {
+ "name": "dzongkha"
+ },
+ "ebu": {
+ "name": "embu"
+ },
+ "cu": {
+ "name": "eslavo eclesiástico"
+ },
+ "sk": {
+ "name": "eslovaco"
+ },
+ "sl": {
+ "name": "esloveno"
+ },
+ "es": {
+ "name": "español"
+ },
+ "es-MX": {
+ "name": "español de México"
+ },
+ "eo": {
+ "name": "esperanto"
+ },
+ "et": {
+ "name": "estonio"
+ },
+ "ee": {
+ "name": "ewé"
+ },
+ "ewo": {
+ "name": "ewondo"
+ },
+ "fo": {
+ "name": "feroés"
+ },
+ "fil": {
+ "name": "filipino"
+ },
+ "fi": {
+ "name": "finés"
+ },
+ "nl-BE": {
+ "name": "flamenco"
+ },
+ "fr": {
+ "name": "francés"
+ },
+ "fr-CA": {
+ "name": "francés canadiense"
+ },
+ "fr-CH": {
+ "name": "francés suizo"
+ },
+ "fy": {
+ "name": "frisón occidental"
+ },
+ "fur": {
+ "name": "friulano"
+ },
+ "ff": {
+ "name": "fula"
+ },
+ "gd": {
+ "name": "gaélico escocés"
+ },
+ "cy": {
+ "name": "galés"
+ },
+ "gl": {
+ "name": "gallego"
+ },
+ "lg": {
+ "name": "ganda"
+ },
+ "ka": {
+ "name": "georgiano"
+ },
+ "el": {
+ "name": "griego"
+ },
+ "kl": {
+ "name": "groenlandés"
+ },
+ "gu": {
+ "name": "gujarati"
+ },
+ "guz": {
+ "name": "gusii"
+ },
+ "ha": {
+ "name": "hausa"
+ },
+ "haw": {
+ "name": "hawaiano"
+ },
+ "he": {
+ "name": "hebreo"
+ },
+ "hi": {
+ "name": "hindi"
+ },
+ "hu": {
+ "name": "húngaro"
+ },
+ "ig": {
+ "name": "igbo"
+ },
+ "id": {
+ "name": "indonesio"
+ },
+ "en": {
+ "name": "inglés"
+ },
+ "en-AU": {
+ "name": "inglés australiano"
+ },
+ "en-GB": {
+ "name": "inglés británico"
+ },
+ "en-CA": {
+ "name": "inglés canadiense"
+ },
+ "ga": {
+ "name": "irlandés"
+ },
+ "is": {
+ "name": "islandés"
+ },
+ "it": {
+ "name": "italiano"
+ },
+ "ja": {
+ "name": "japonés"
+ },
+ "km": {
+ "name": "jemer"
+ },
+ "dyo": {
+ "name": "jola-fonyi"
+ },
+ "kkj": {
+ "name": "kako"
+ },
+ "kln": {
+ "name": "kalenjin"
+ },
+ "kam": {
+ "name": "kamba"
+ },
+ "kk": {
+ "name": "kazajo"
+ },
+ "ki": {
+ "name": "kikuyu"
+ },
+ "rw": {
+ "name": "kinyarwanda"
+ },
+ "ky": {
+ "name": "kirguís"
+ },
+ "rn": {
+ "name": "kiroundi"
+ },
+ "ksh": {
+ "name": "kölsch"
+ },
+ "kok": {
+ "name": "konkaní"
+ },
+ "khq": {
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "name": "koyraboro senni"
+ },
+ "ckb": {
+ "name": "kurdo sorani"
+ },
+ "nmg": {
+ "name": "kwasio"
+ },
+ "lkt": {
+ "name": "lakota"
+ },
+ "lag": {
+ "name": "langi"
+ },
+ "lo": {
+ "name": "laosiano"
+ },
+ "lv": {
+ "name": "letón"
+ },
+ "ln": {
+ "name": "lingala"
+ },
+ "lt": {
+ "name": "lituano"
+ },
+ "lrc": {
+ "name": "lorí septentrional"
+ },
+ "lu": {
+ "name": "luba-katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "luxemburgués"
+ },
+ "luy": {
+ "name": "luyia"
+ },
+ "mk": {
+ "name": "macedonio"
+ },
+ "jmc": {
+ "name": "machame"
+ },
+ "mgh": {
+ "name": "makhuwa-meetto"
+ },
+ "kde": {
+ "name": "makonde"
+ },
+ "ml": {
+ "name": "malayalam"
+ },
+ "ms": {
+ "name": "malayo"
+ },
+ "mg": {
+ "name": "malgache"
+ },
+ "mt": {
+ "name": "maltés"
+ },
+ "gv": {
+ "name": "manés"
+ },
+ "mr": {
+ "name": "maratí"
+ },
+ "mas": {
+ "name": "masái"
+ },
+ "mzn": {
+ "name": "mazandaraní"
+ },
+ "mer": {
+ "name": "meru"
+ },
+ "mgo": {
+ "name": "meta’"
+ },
+ "ro-MD": {
+ "name": "moldavo"
+ },
+ "mn": {
+ "name": "mongol"
+ },
+ "mua": {
+ "name": "mundang"
+ },
+ "naq": {
+ "name": "nama"
+ },
+ "nd": {
+ "name": "ndebele septentrional"
+ },
+ "nl": {
+ "name": "neerlandés"
+ },
+ "ne": {
+ "name": "nepalí"
+ },
+ "nnh": {
+ "name": "ngiemboon"
+ },
+ "jgo": {
+ "name": "ngomba"
+ },
+ "nb": {
+ "name": "noruego bokmal"
+ },
+ "nn": {
+ "name": "noruego nynorsk"
+ },
+ "nus": {
+ "name": "nuer"
+ },
+ "nyn": {
+ "name": "nyankole"
+ },
+ "or": {
+ "name": "oriya"
+ },
+ "om": {
+ "name": "oromo"
+ },
+ "os": {
+ "name": "osético"
+ },
+ "pa": {
+ "name": "panyabí"
+ },
+ "ps": {
+ "name": "pastún"
+ },
+ "fa": {
+ "name": "persa"
+ },
+ "pl": {
+ "name": "polaco"
+ },
+ "pt": {
+ "name": "portugués"
+ },
+ "pt-PT": {
+ "name": "portugués de Portugal"
+ },
+ "prg": {
+ "name": "prusiano antiguo"
+ },
+ "qu": {
+ "name": "quechua"
+ },
+ "rm": {
+ "name": "retorrománico"
+ },
+ "rof": {
+ "name": "rombo"
+ },
+ "ro": {
+ "name": "rumano"
+ },
+ "ru": {
+ "name": "ruso"
+ },
+ "rwk": {
+ "name": "rwa"
+ },
+ "sah": {
+ "name": "sakha"
+ },
+ "saq": {
+ "name": "samburu"
+ },
+ "smn": {
+ "name": "sami inari"
+ },
+ "se": {
+ "name": "sami septentrional"
+ },
+ "sg": {
+ "name": "sango"
+ },
+ "sbp": {
+ "name": "sangu"
+ },
+ "seh": {
+ "name": "sena"
+ },
+ "sr": {
+ "name": "serbio"
+ },
+ "ksb": {
+ "name": "shambala"
+ },
+ "sn": {
+ "name": "shona"
+ },
+ "xog": {
+ "name": "soga"
+ },
+ "so": {
+ "name": "somalí"
+ },
+ "sv": {
+ "name": "sueco"
+ },
+ "sw": {
+ "name": "swahili"
+ },
+ "sw-CD": {
+ "name": "swahili del Congo"
+ },
+ "th": {
+ "name": "tailandés"
+ },
+ "dav": {
+ "name": "taita"
+ },
+ "tzm": {
+ "name": "tamazight del Marruecos Central"
+ },
+ "zgh": {
+ "name": "tamazight estándar marroquí"
+ },
+ "ta": {
+ "name": "tamil"
+ },
+ "twq": {
+ "name": "tasawaq"
+ },
+ "shi": {
+ "name": "tashelhit"
+ },
+ "te": {
+ "name": "telugu"
+ },
+ "teo": {
+ "name": "teso"
+ },
+ "bo": {
+ "name": "tibetano"
+ },
+ "ti": {
+ "name": "tigriña"
+ },
+ "to": {
+ "name": "tongano"
+ },
+ "tr": {
+ "name": "turco"
+ },
+ "tk": {
+ "name": "turcomano"
+ },
+ "uk": {
+ "name": "ucraniano"
+ },
+ "ug": {
+ "name": "uigur"
+ },
+ "ur": {
+ "name": "urdu"
+ },
+ "uz": {
+ "name": "uzbeko"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "eu": {
+ "name": "vasco"
+ },
+ "vi": {
+ "name": "vietnamita"
+ },
+ "vo": {
+ "name": "volapük"
+ },
+ "vun": {
+ "name": "vunjo"
+ },
+ "wae": {
+ "name": "walser"
+ },
+ "yav": {
+ "name": "yangben"
+ },
+ "ii": {
+ "name": "yi de Sichuán"
+ },
+ "yi": {
+ "name": "yídish"
+ },
+ "yo": {
+ "name": "yoruba"
+ },
+ "dje": {
+ "name": "zarma"
+ },
+ "zu": {
+ "name": "zulú"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/es-UY.json b/vendor/commerceguys/intl/resources/language/es-UY.json
new file mode 100644
index 000000000..a1842dc81
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/es-UY.json
@@ -0,0 +1,635 @@
+{
+ "af": {
+ "name": "afrikáans"
+ },
+ "agq": {
+ "name": "aghem"
+ },
+ "ak": {
+ "name": "akan"
+ },
+ "sq": {
+ "name": "albanés"
+ },
+ "de": {
+ "name": "alemán"
+ },
+ "de-AT": {
+ "name": "alemán austríaco"
+ },
+ "gsw": {
+ "name": "alemán suizo"
+ },
+ "de-CH": {
+ "name": "alto alemán suizo"
+ },
+ "am": {
+ "name": "amárico"
+ },
+ "ar": {
+ "name": "árabe"
+ },
+ "hy": {
+ "name": "armenio"
+ },
+ "as": {
+ "name": "asamés"
+ },
+ "ast": {
+ "name": "asturiano"
+ },
+ "asa": {
+ "name": "asu"
+ },
+ "az": {
+ "name": "azerbaiyano"
+ },
+ "ksf": {
+ "name": "bafia"
+ },
+ "nds": {
+ "name": "bajo alemán"
+ },
+ "nds-NL": {
+ "name": "bajo sajón"
+ },
+ "dsb": {
+ "name": "bajo sorbio"
+ },
+ "bm": {
+ "name": "bambara"
+ },
+ "bas": {
+ "name": "basaa"
+ },
+ "bem": {
+ "name": "bemba"
+ },
+ "bez": {
+ "name": "bena"
+ },
+ "bn": {
+ "name": "bengalí"
+ },
+ "be": {
+ "name": "bielorruso"
+ },
+ "my": {
+ "name": "birmano"
+ },
+ "brx": {
+ "name": "bodo"
+ },
+ "bs": {
+ "name": "bosnio"
+ },
+ "br": {
+ "name": "bretón"
+ },
+ "bg": {
+ "name": "búlgaro"
+ },
+ "kab": {
+ "name": "cabila"
+ },
+ "ks": {
+ "name": "cachemiro"
+ },
+ "kn": {
+ "name": "canarés"
+ },
+ "yue": {
+ "name": "cantonés"
+ },
+ "ca": {
+ "name": "catalán"
+ },
+ "ce": {
+ "name": "checheno"
+ },
+ "cs": {
+ "name": "checo"
+ },
+ "chr": {
+ "name": "cheroqui"
+ },
+ "cgg": {
+ "name": "chiga"
+ },
+ "zh": {
+ "name": "chino"
+ },
+ "zh-Hans": {
+ "name": "chino simplificado"
+ },
+ "zh-Hant": {
+ "name": "chino tradicional"
+ },
+ "si": {
+ "name": "cingalés"
+ },
+ "ko": {
+ "name": "coreano"
+ },
+ "kw": {
+ "name": "córnico"
+ },
+ "kea": {
+ "name": "Criollo (Cabo Verde)"
+ },
+ "mfe": {
+ "name": "criollo mauriciano"
+ },
+ "hr": {
+ "name": "croata"
+ },
+ "da": {
+ "name": "danés"
+ },
+ "dua": {
+ "name": "duala"
+ },
+ "dz": {
+ "name": "dzongkha"
+ },
+ "ebu": {
+ "name": "embu"
+ },
+ "cu": {
+ "name": "eslavo eclesiástico"
+ },
+ "sk": {
+ "name": "eslovaco"
+ },
+ "sl": {
+ "name": "esloveno"
+ },
+ "es": {
+ "name": "español"
+ },
+ "es-MX": {
+ "name": "español de México"
+ },
+ "eo": {
+ "name": "esperanto"
+ },
+ "et": {
+ "name": "estonio"
+ },
+ "ee": {
+ "name": "ewé"
+ },
+ "ewo": {
+ "name": "ewondo"
+ },
+ "fo": {
+ "name": "feroés"
+ },
+ "fil": {
+ "name": "filipino"
+ },
+ "fi": {
+ "name": "finés"
+ },
+ "nl-BE": {
+ "name": "flamenco"
+ },
+ "fr": {
+ "name": "francés"
+ },
+ "fr-CA": {
+ "name": "francés canadiense"
+ },
+ "fr-CH": {
+ "name": "francés suizo"
+ },
+ "fy": {
+ "name": "frisón occidental"
+ },
+ "fur": {
+ "name": "friulano"
+ },
+ "ff": {
+ "name": "fula"
+ },
+ "gd": {
+ "name": "gaélico escocés"
+ },
+ "cy": {
+ "name": "galés"
+ },
+ "gl": {
+ "name": "gallego"
+ },
+ "lg": {
+ "name": "ganda"
+ },
+ "ka": {
+ "name": "georgiano"
+ },
+ "el": {
+ "name": "griego"
+ },
+ "kl": {
+ "name": "groenlandés"
+ },
+ "gu": {
+ "name": "gujarati"
+ },
+ "guz": {
+ "name": "gusii"
+ },
+ "ha": {
+ "name": "hausa"
+ },
+ "haw": {
+ "name": "hawaiano"
+ },
+ "he": {
+ "name": "hebreo"
+ },
+ "hi": {
+ "name": "hindi"
+ },
+ "hu": {
+ "name": "húngaro"
+ },
+ "ig": {
+ "name": "igbo"
+ },
+ "id": {
+ "name": "indonesio"
+ },
+ "en": {
+ "name": "inglés"
+ },
+ "en-AU": {
+ "name": "inglés australiano"
+ },
+ "en-GB": {
+ "name": "inglés británico"
+ },
+ "en-CA": {
+ "name": "inglés canadiense"
+ },
+ "ga": {
+ "name": "irlandés"
+ },
+ "is": {
+ "name": "islandés"
+ },
+ "it": {
+ "name": "italiano"
+ },
+ "ja": {
+ "name": "japonés"
+ },
+ "km": {
+ "name": "jemer"
+ },
+ "dyo": {
+ "name": "jola-fonyi"
+ },
+ "kkj": {
+ "name": "kako"
+ },
+ "kln": {
+ "name": "kalenjin"
+ },
+ "kam": {
+ "name": "kamba"
+ },
+ "kk": {
+ "name": "kazajo"
+ },
+ "ki": {
+ "name": "kikuyu"
+ },
+ "rw": {
+ "name": "kinyarwanda"
+ },
+ "ky": {
+ "name": "kirguís"
+ },
+ "rn": {
+ "name": "kirundi"
+ },
+ "ksh": {
+ "name": "kölsch"
+ },
+ "kok": {
+ "name": "konkaní"
+ },
+ "khq": {
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "name": "koyraboro senni"
+ },
+ "ckb": {
+ "name": "kurdo sorani"
+ },
+ "nmg": {
+ "name": "kwasio"
+ },
+ "lkt": {
+ "name": "lakota"
+ },
+ "lag": {
+ "name": "langi"
+ },
+ "lo": {
+ "name": "laosiano"
+ },
+ "lv": {
+ "name": "letón"
+ },
+ "ln": {
+ "name": "lingala"
+ },
+ "lt": {
+ "name": "lituano"
+ },
+ "lrc": {
+ "name": "lorí septentrional"
+ },
+ "lu": {
+ "name": "luba-katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "luxemburgués"
+ },
+ "luy": {
+ "name": "luyia"
+ },
+ "mk": {
+ "name": "macedonio"
+ },
+ "jmc": {
+ "name": "machame"
+ },
+ "mgh": {
+ "name": "makhuwa-meetto"
+ },
+ "kde": {
+ "name": "makonde"
+ },
+ "ml": {
+ "name": "malayalam"
+ },
+ "ms": {
+ "name": "malayo"
+ },
+ "mg": {
+ "name": "malgache"
+ },
+ "mt": {
+ "name": "maltés"
+ },
+ "gv": {
+ "name": "manés"
+ },
+ "mr": {
+ "name": "maratí"
+ },
+ "mas": {
+ "name": "masái"
+ },
+ "mzn": {
+ "name": "mazandaraní"
+ },
+ "mer": {
+ "name": "meru"
+ },
+ "mgo": {
+ "name": "meta’"
+ },
+ "ro-MD": {
+ "name": "moldavo"
+ },
+ "mn": {
+ "name": "mongol"
+ },
+ "mua": {
+ "name": "mundang"
+ },
+ "naq": {
+ "name": "nama"
+ },
+ "nd": {
+ "name": "ndebele septentrional"
+ },
+ "nl": {
+ "name": "neerlandés"
+ },
+ "ne": {
+ "name": "nepalí"
+ },
+ "nnh": {
+ "name": "ngiemboon"
+ },
+ "jgo": {
+ "name": "ngomba"
+ },
+ "nb": {
+ "name": "noruego bokmal"
+ },
+ "nn": {
+ "name": "noruego nynorsk"
+ },
+ "nus": {
+ "name": "nuer"
+ },
+ "nyn": {
+ "name": "nyankole"
+ },
+ "or": {
+ "name": "oriya"
+ },
+ "om": {
+ "name": "oromo"
+ },
+ "os": {
+ "name": "osético"
+ },
+ "pa": {
+ "name": "panyabí"
+ },
+ "ps": {
+ "name": "pastún"
+ },
+ "fa": {
+ "name": "persa"
+ },
+ "pl": {
+ "name": "polaco"
+ },
+ "pt": {
+ "name": "portugués"
+ },
+ "pt-PT": {
+ "name": "portugués de Portugal"
+ },
+ "prg": {
+ "name": "prusiano antiguo"
+ },
+ "qu": {
+ "name": "quechua"
+ },
+ "rm": {
+ "name": "retorrománico"
+ },
+ "rof": {
+ "name": "rombo"
+ },
+ "ro": {
+ "name": "rumano"
+ },
+ "ru": {
+ "name": "ruso"
+ },
+ "rwk": {
+ "name": "rwa"
+ },
+ "sah": {
+ "name": "sakha"
+ },
+ "saq": {
+ "name": "samburu"
+ },
+ "smn": {
+ "name": "sami inari"
+ },
+ "se": {
+ "name": "sami septentrional"
+ },
+ "sg": {
+ "name": "sango"
+ },
+ "sbp": {
+ "name": "sangu"
+ },
+ "seh": {
+ "name": "sena"
+ },
+ "sr": {
+ "name": "serbio"
+ },
+ "ksb": {
+ "name": "shambala"
+ },
+ "sn": {
+ "name": "shona"
+ },
+ "xog": {
+ "name": "soga"
+ },
+ "so": {
+ "name": "somalí"
+ },
+ "hsb": {
+ "name": "sorbio alto"
+ },
+ "sv": {
+ "name": "sueco"
+ },
+ "sw": {
+ "name": "swahili"
+ },
+ "sw-CD": {
+ "name": "swahili (Congo)"
+ },
+ "th": {
+ "name": "tailandés"
+ },
+ "dav": {
+ "name": "taita"
+ },
+ "tzm": {
+ "name": "tamazight del Marruecos Central"
+ },
+ "zgh": {
+ "name": "tamazight estándar marroquí"
+ },
+ "ta": {
+ "name": "tamil"
+ },
+ "twq": {
+ "name": "tasawaq"
+ },
+ "shi": {
+ "name": "tashelhit"
+ },
+ "te": {
+ "name": "telugu"
+ },
+ "teo": {
+ "name": "teso"
+ },
+ "bo": {
+ "name": "tibetano"
+ },
+ "ti": {
+ "name": "tigriña"
+ },
+ "to": {
+ "name": "tongano"
+ },
+ "tr": {
+ "name": "turco"
+ },
+ "tk": {
+ "name": "turcomano"
+ },
+ "uk": {
+ "name": "ucraniano"
+ },
+ "ug": {
+ "name": "uigur"
+ },
+ "ur": {
+ "name": "urdu"
+ },
+ "uz": {
+ "name": "uzbeko"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "eu": {
+ "name": "vasco"
+ },
+ "vi": {
+ "name": "vietnamita"
+ },
+ "vo": {
+ "name": "volapük"
+ },
+ "vun": {
+ "name": "vunjo"
+ },
+ "wae": {
+ "name": "walser"
+ },
+ "yav": {
+ "name": "yangben"
+ },
+ "ii": {
+ "name": "yi de Sichuán"
+ },
+ "yi": {
+ "name": "yídish"
+ },
+ "yo": {
+ "name": "yoruba"
+ },
+ "dje": {
+ "name": "zarma"
+ },
+ "zu": {
+ "name": "zulú"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/es-VE.json b/vendor/commerceguys/intl/resources/language/es-VE.json
new file mode 100644
index 000000000..141f785c9
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/es-VE.json
@@ -0,0 +1,635 @@
+{
+ "af": {
+ "name": "afrikáans"
+ },
+ "agq": {
+ "name": "aghem"
+ },
+ "ak": {
+ "name": "akan"
+ },
+ "sq": {
+ "name": "albanés"
+ },
+ "de": {
+ "name": "alemán"
+ },
+ "de-AT": {
+ "name": "alemán austríaco"
+ },
+ "gsw": {
+ "name": "alemán suizo"
+ },
+ "de-CH": {
+ "name": "alto alemán suizo"
+ },
+ "am": {
+ "name": "amárico"
+ },
+ "ar": {
+ "name": "árabe"
+ },
+ "hy": {
+ "name": "armenio"
+ },
+ "as": {
+ "name": "asamés"
+ },
+ "ast": {
+ "name": "asturiano"
+ },
+ "asa": {
+ "name": "asu"
+ },
+ "az": {
+ "name": "azerbaiyano"
+ },
+ "ksf": {
+ "name": "bafia"
+ },
+ "nds": {
+ "name": "bajo alemán"
+ },
+ "nds-NL": {
+ "name": "bajo sajón"
+ },
+ "dsb": {
+ "name": "bajo sorbio"
+ },
+ "bm": {
+ "name": "bambara"
+ },
+ "bas": {
+ "name": "basaa"
+ },
+ "bem": {
+ "name": "bemba"
+ },
+ "bez": {
+ "name": "bena"
+ },
+ "bn": {
+ "name": "bengalí"
+ },
+ "be": {
+ "name": "bielorruso"
+ },
+ "my": {
+ "name": "birmano"
+ },
+ "brx": {
+ "name": "bodo"
+ },
+ "bs": {
+ "name": "bosnio"
+ },
+ "br": {
+ "name": "bretón"
+ },
+ "bg": {
+ "name": "búlgaro"
+ },
+ "kab": {
+ "name": "cabila"
+ },
+ "ks": {
+ "name": "cachemiro"
+ },
+ "kn": {
+ "name": "canarés"
+ },
+ "yue": {
+ "name": "cantonés"
+ },
+ "ca": {
+ "name": "catalán"
+ },
+ "ce": {
+ "name": "checheno"
+ },
+ "cs": {
+ "name": "checo"
+ },
+ "chr": {
+ "name": "cheroqui"
+ },
+ "cgg": {
+ "name": "chiga"
+ },
+ "zh": {
+ "name": "chino"
+ },
+ "zh-Hans": {
+ "name": "chino simplificado"
+ },
+ "zh-Hant": {
+ "name": "chino tradicional"
+ },
+ "si": {
+ "name": "cingalés"
+ },
+ "ko": {
+ "name": "coreano"
+ },
+ "kw": {
+ "name": "córnico"
+ },
+ "kea": {
+ "name": "Criollo (Cabo Verde)"
+ },
+ "mfe": {
+ "name": "criollo mauriciano"
+ },
+ "hr": {
+ "name": "croata"
+ },
+ "da": {
+ "name": "danés"
+ },
+ "dua": {
+ "name": "duala"
+ },
+ "dz": {
+ "name": "dzongkha"
+ },
+ "ebu": {
+ "name": "embu"
+ },
+ "cu": {
+ "name": "eslavo eclesiástico"
+ },
+ "sk": {
+ "name": "eslovaco"
+ },
+ "sl": {
+ "name": "esloveno"
+ },
+ "es": {
+ "name": "español"
+ },
+ "es-MX": {
+ "name": "español de México"
+ },
+ "eo": {
+ "name": "esperanto"
+ },
+ "et": {
+ "name": "estonio"
+ },
+ "eu": {
+ "name": "euskera"
+ },
+ "ee": {
+ "name": "ewé"
+ },
+ "ewo": {
+ "name": "ewondo"
+ },
+ "fo": {
+ "name": "feroés"
+ },
+ "fil": {
+ "name": "filipino"
+ },
+ "fi": {
+ "name": "finés"
+ },
+ "nl-BE": {
+ "name": "flamenco"
+ },
+ "fr": {
+ "name": "francés"
+ },
+ "fr-CA": {
+ "name": "francés canadiense"
+ },
+ "fr-CH": {
+ "name": "francés suizo"
+ },
+ "fy": {
+ "name": "frisón occidental"
+ },
+ "fur": {
+ "name": "friulano"
+ },
+ "ff": {
+ "name": "fula"
+ },
+ "gd": {
+ "name": "gaélico escocés"
+ },
+ "cy": {
+ "name": "galés"
+ },
+ "gl": {
+ "name": "gallego"
+ },
+ "lg": {
+ "name": "ganda"
+ },
+ "ka": {
+ "name": "georgiano"
+ },
+ "el": {
+ "name": "griego"
+ },
+ "kl": {
+ "name": "groenlandés"
+ },
+ "gu": {
+ "name": "gujarati"
+ },
+ "guz": {
+ "name": "gusii"
+ },
+ "ha": {
+ "name": "hausa"
+ },
+ "haw": {
+ "name": "hawaiano"
+ },
+ "he": {
+ "name": "hebreo"
+ },
+ "hi": {
+ "name": "hindi"
+ },
+ "hu": {
+ "name": "húngaro"
+ },
+ "ig": {
+ "name": "igbo"
+ },
+ "id": {
+ "name": "indonesio"
+ },
+ "en": {
+ "name": "inglés"
+ },
+ "en-AU": {
+ "name": "inglés australiano"
+ },
+ "en-GB": {
+ "name": "inglés británico"
+ },
+ "en-CA": {
+ "name": "inglés canadiense"
+ },
+ "ga": {
+ "name": "irlandés"
+ },
+ "is": {
+ "name": "islandés"
+ },
+ "it": {
+ "name": "italiano"
+ },
+ "ja": {
+ "name": "japonés"
+ },
+ "km": {
+ "name": "jemer"
+ },
+ "dyo": {
+ "name": "jola-fonyi"
+ },
+ "kkj": {
+ "name": "kako"
+ },
+ "kln": {
+ "name": "kalenjin"
+ },
+ "kam": {
+ "name": "kamba"
+ },
+ "kk": {
+ "name": "kazajo"
+ },
+ "ki": {
+ "name": "kikuyu"
+ },
+ "rw": {
+ "name": "kinyarwanda"
+ },
+ "ky": {
+ "name": "kirguís"
+ },
+ "rn": {
+ "name": "kirundi"
+ },
+ "ksh": {
+ "name": "kölsch"
+ },
+ "kok": {
+ "name": "konkaní"
+ },
+ "khq": {
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "name": "koyraboro senni"
+ },
+ "ckb": {
+ "name": "kurdo sorani"
+ },
+ "nmg": {
+ "name": "kwasio"
+ },
+ "lkt": {
+ "name": "lakota"
+ },
+ "lag": {
+ "name": "langi"
+ },
+ "lo": {
+ "name": "lao"
+ },
+ "lv": {
+ "name": "letón"
+ },
+ "ln": {
+ "name": "lingala"
+ },
+ "lt": {
+ "name": "lituano"
+ },
+ "lrc": {
+ "name": "lorí septentrional"
+ },
+ "lu": {
+ "name": "luba-katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "luxemburgués"
+ },
+ "luy": {
+ "name": "luyia"
+ },
+ "mk": {
+ "name": "macedonio"
+ },
+ "jmc": {
+ "name": "machame"
+ },
+ "mgh": {
+ "name": "makhuwa-meetto"
+ },
+ "kde": {
+ "name": "makonde"
+ },
+ "ml": {
+ "name": "malayalam"
+ },
+ "ms": {
+ "name": "malayo"
+ },
+ "mg": {
+ "name": "malgache"
+ },
+ "mt": {
+ "name": "maltés"
+ },
+ "gv": {
+ "name": "manés"
+ },
+ "mr": {
+ "name": "maratí"
+ },
+ "mas": {
+ "name": "masái"
+ },
+ "mzn": {
+ "name": "mazandaraní"
+ },
+ "mer": {
+ "name": "meru"
+ },
+ "mgo": {
+ "name": "meta’"
+ },
+ "ro-MD": {
+ "name": "moldavo"
+ },
+ "mn": {
+ "name": "mongol"
+ },
+ "mua": {
+ "name": "mundang"
+ },
+ "naq": {
+ "name": "nama"
+ },
+ "nd": {
+ "name": "ndebele septentrional"
+ },
+ "nl": {
+ "name": "neerlandés"
+ },
+ "ne": {
+ "name": "nepalí"
+ },
+ "nnh": {
+ "name": "ngiemboon"
+ },
+ "jgo": {
+ "name": "ngomba"
+ },
+ "nb": {
+ "name": "noruego bokmal"
+ },
+ "nn": {
+ "name": "noruego nynorsk"
+ },
+ "nus": {
+ "name": "nuer"
+ },
+ "nyn": {
+ "name": "nyankole"
+ },
+ "or": {
+ "name": "oriya"
+ },
+ "om": {
+ "name": "oromo"
+ },
+ "os": {
+ "name": "osético"
+ },
+ "ps": {
+ "name": "pastún"
+ },
+ "fa": {
+ "name": "persa"
+ },
+ "pl": {
+ "name": "polaco"
+ },
+ "pt": {
+ "name": "portugués"
+ },
+ "pt-PT": {
+ "name": "portugués de Portugal"
+ },
+ "prg": {
+ "name": "prusiano antiguo"
+ },
+ "pa": {
+ "name": "punyabí"
+ },
+ "qu": {
+ "name": "quechua"
+ },
+ "rm": {
+ "name": "retorrománico"
+ },
+ "rof": {
+ "name": "rombo"
+ },
+ "ro": {
+ "name": "rumano"
+ },
+ "ru": {
+ "name": "ruso"
+ },
+ "rwk": {
+ "name": "rwa"
+ },
+ "sah": {
+ "name": "sakha"
+ },
+ "saq": {
+ "name": "samburu"
+ },
+ "smn": {
+ "name": "sami inari"
+ },
+ "se": {
+ "name": "sami septentrional"
+ },
+ "sg": {
+ "name": "sango"
+ },
+ "sbp": {
+ "name": "sangu"
+ },
+ "seh": {
+ "name": "sena"
+ },
+ "sr": {
+ "name": "serbio"
+ },
+ "ksb": {
+ "name": "shambala"
+ },
+ "sn": {
+ "name": "shona"
+ },
+ "xog": {
+ "name": "soga"
+ },
+ "so": {
+ "name": "somalí"
+ },
+ "hsb": {
+ "name": "sorbio alto"
+ },
+ "sw": {
+ "name": "suajili"
+ },
+ "sw-CD": {
+ "name": "suajili del Congo"
+ },
+ "sv": {
+ "name": "sueco"
+ },
+ "th": {
+ "name": "tailandés"
+ },
+ "dav": {
+ "name": "taita"
+ },
+ "tzm": {
+ "name": "tamazight del Marruecos Central"
+ },
+ "zgh": {
+ "name": "tamazight marroquí estándar"
+ },
+ "ta": {
+ "name": "tamil"
+ },
+ "twq": {
+ "name": "tasawaq"
+ },
+ "shi": {
+ "name": "tashelhit"
+ },
+ "te": {
+ "name": "telugu"
+ },
+ "teo": {
+ "name": "teso"
+ },
+ "bo": {
+ "name": "tibetano"
+ },
+ "ti": {
+ "name": "tigriña"
+ },
+ "to": {
+ "name": "tongano"
+ },
+ "tr": {
+ "name": "turco"
+ },
+ "tk": {
+ "name": "turcomano"
+ },
+ "uk": {
+ "name": "ucraniano"
+ },
+ "ug": {
+ "name": "uigur"
+ },
+ "ur": {
+ "name": "urdu"
+ },
+ "uz": {
+ "name": "uzbeko"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vi": {
+ "name": "vietnamita"
+ },
+ "vo": {
+ "name": "volapük"
+ },
+ "vun": {
+ "name": "vunjo"
+ },
+ "wae": {
+ "name": "walser"
+ },
+ "yav": {
+ "name": "yangben"
+ },
+ "ii": {
+ "name": "yi de Sichuán"
+ },
+ "yi": {
+ "name": "yídish"
+ },
+ "yo": {
+ "name": "yoruba"
+ },
+ "dje": {
+ "name": "zarma"
+ },
+ "zu": {
+ "name": "zulú"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/es.json b/vendor/commerceguys/intl/resources/language/es.json
new file mode 100644
index 000000000..9e15ffd92
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/es.json
@@ -0,0 +1,635 @@
+{
+ "af": {
+ "name": "afrikáans"
+ },
+ "agq": {
+ "name": "aghem"
+ },
+ "ak": {
+ "name": "akan"
+ },
+ "sq": {
+ "name": "albanés"
+ },
+ "de": {
+ "name": "alemán"
+ },
+ "de-AT": {
+ "name": "alemán austríaco"
+ },
+ "gsw": {
+ "name": "alemán suizo"
+ },
+ "de-CH": {
+ "name": "alto alemán suizo"
+ },
+ "hsb": {
+ "name": "alto sorbio"
+ },
+ "am": {
+ "name": "amárico"
+ },
+ "ar": {
+ "name": "árabe"
+ },
+ "hy": {
+ "name": "armenio"
+ },
+ "as": {
+ "name": "asamés"
+ },
+ "ast": {
+ "name": "asturiano"
+ },
+ "asa": {
+ "name": "asu"
+ },
+ "az": {
+ "name": "azerbaiyano"
+ },
+ "ksf": {
+ "name": "bafia"
+ },
+ "nds": {
+ "name": "bajo alemán"
+ },
+ "nds-NL": {
+ "name": "bajo sajón"
+ },
+ "dsb": {
+ "name": "bajo sorbio"
+ },
+ "bm": {
+ "name": "bambara"
+ },
+ "bas": {
+ "name": "basaa"
+ },
+ "bem": {
+ "name": "bemba"
+ },
+ "bez": {
+ "name": "bena"
+ },
+ "bn": {
+ "name": "bengalí"
+ },
+ "be": {
+ "name": "bielorruso"
+ },
+ "my": {
+ "name": "birmano"
+ },
+ "brx": {
+ "name": "bodo"
+ },
+ "bs": {
+ "name": "bosnio"
+ },
+ "br": {
+ "name": "bretón"
+ },
+ "bg": {
+ "name": "búlgaro"
+ },
+ "kab": {
+ "name": "cabila"
+ },
+ "ks": {
+ "name": "cachemiro"
+ },
+ "kn": {
+ "name": "canarés"
+ },
+ "yue": {
+ "name": "cantonés"
+ },
+ "ca": {
+ "name": "catalán"
+ },
+ "ce": {
+ "name": "checheno"
+ },
+ "cs": {
+ "name": "checo"
+ },
+ "chr": {
+ "name": "cheroqui"
+ },
+ "cgg": {
+ "name": "chiga"
+ },
+ "zh": {
+ "name": "chino"
+ },
+ "zh-Hans": {
+ "name": "chino simplificado"
+ },
+ "zh-Hant": {
+ "name": "chino tradicional"
+ },
+ "si": {
+ "name": "cingalés"
+ },
+ "ko": {
+ "name": "coreano"
+ },
+ "kw": {
+ "name": "córnico"
+ },
+ "kea": {
+ "name": "criollo caboverdiano"
+ },
+ "mfe": {
+ "name": "criollo mauriciano"
+ },
+ "hr": {
+ "name": "croata"
+ },
+ "da": {
+ "name": "danés"
+ },
+ "dua": {
+ "name": "duala"
+ },
+ "dz": {
+ "name": "dzongkha"
+ },
+ "ebu": {
+ "name": "embu"
+ },
+ "cu": {
+ "name": "eslavo eclesiástico"
+ },
+ "sk": {
+ "name": "eslovaco"
+ },
+ "sl": {
+ "name": "esloveno"
+ },
+ "es": {
+ "name": "español"
+ },
+ "es-MX": {
+ "name": "español de México"
+ },
+ "eo": {
+ "name": "esperanto"
+ },
+ "et": {
+ "name": "estonio"
+ },
+ "eu": {
+ "name": "euskera"
+ },
+ "ee": {
+ "name": "ewé"
+ },
+ "ewo": {
+ "name": "ewondo"
+ },
+ "fo": {
+ "name": "feroés"
+ },
+ "fil": {
+ "name": "filipino"
+ },
+ "fi": {
+ "name": "finés"
+ },
+ "nl-BE": {
+ "name": "flamenco"
+ },
+ "fr": {
+ "name": "francés"
+ },
+ "fr-CA": {
+ "name": "francés canadiense"
+ },
+ "fr-CH": {
+ "name": "francés suizo"
+ },
+ "fy": {
+ "name": "frisón occidental"
+ },
+ "fur": {
+ "name": "friulano"
+ },
+ "ff": {
+ "name": "fula"
+ },
+ "gd": {
+ "name": "gaélico escocés"
+ },
+ "cy": {
+ "name": "galés"
+ },
+ "gl": {
+ "name": "gallego"
+ },
+ "lg": {
+ "name": "ganda"
+ },
+ "ka": {
+ "name": "georgiano"
+ },
+ "el": {
+ "name": "griego"
+ },
+ "kl": {
+ "name": "groenlandés"
+ },
+ "guz": {
+ "name": "gusii"
+ },
+ "gu": {
+ "name": "guyaratí"
+ },
+ "ha": {
+ "name": "hausa"
+ },
+ "haw": {
+ "name": "hawaiano"
+ },
+ "he": {
+ "name": "hebreo"
+ },
+ "hi": {
+ "name": "hindi"
+ },
+ "hu": {
+ "name": "húngaro"
+ },
+ "ig": {
+ "name": "igbo"
+ },
+ "id": {
+ "name": "indonesio"
+ },
+ "en": {
+ "name": "inglés"
+ },
+ "en-AU": {
+ "name": "inglés australiano"
+ },
+ "en-GB": {
+ "name": "inglés británico"
+ },
+ "en-CA": {
+ "name": "inglés canadiense"
+ },
+ "ga": {
+ "name": "irlandés"
+ },
+ "is": {
+ "name": "islandés"
+ },
+ "it": {
+ "name": "italiano"
+ },
+ "ja": {
+ "name": "japonés"
+ },
+ "km": {
+ "name": "jemer"
+ },
+ "dyo": {
+ "name": "jola-fonyi"
+ },
+ "kkj": {
+ "name": "kako"
+ },
+ "kln": {
+ "name": "kalenjin"
+ },
+ "kam": {
+ "name": "kamba"
+ },
+ "kk": {
+ "name": "kazajo"
+ },
+ "ki": {
+ "name": "kikuyu"
+ },
+ "rw": {
+ "name": "kinyarwanda"
+ },
+ "ky": {
+ "name": "kirguís"
+ },
+ "rn": {
+ "name": "kirundi"
+ },
+ "ksh": {
+ "name": "kölsch"
+ },
+ "kok": {
+ "name": "konkaní"
+ },
+ "khq": {
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "name": "koyraboro senni"
+ },
+ "ckb": {
+ "name": "kurdo sorani"
+ },
+ "nmg": {
+ "name": "kwasio"
+ },
+ "lkt": {
+ "name": "lakota"
+ },
+ "lag": {
+ "name": "langi"
+ },
+ "lo": {
+ "name": "lao"
+ },
+ "lv": {
+ "name": "letón"
+ },
+ "ln": {
+ "name": "lingala"
+ },
+ "lt": {
+ "name": "lituano"
+ },
+ "lrc": {
+ "name": "lorí septentrional"
+ },
+ "lu": {
+ "name": "luba-katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "luxemburgués"
+ },
+ "luy": {
+ "name": "luyia"
+ },
+ "mk": {
+ "name": "macedonio"
+ },
+ "jmc": {
+ "name": "machame"
+ },
+ "mgh": {
+ "name": "makhuwa-meetto"
+ },
+ "kde": {
+ "name": "makonde"
+ },
+ "ml": {
+ "name": "malayalam"
+ },
+ "ms": {
+ "name": "malayo"
+ },
+ "mg": {
+ "name": "malgache"
+ },
+ "mt": {
+ "name": "maltés"
+ },
+ "gv": {
+ "name": "manés"
+ },
+ "mr": {
+ "name": "maratí"
+ },
+ "mas": {
+ "name": "masái"
+ },
+ "mzn": {
+ "name": "mazandaraní"
+ },
+ "mer": {
+ "name": "meru"
+ },
+ "mgo": {
+ "name": "meta’"
+ },
+ "ro-MD": {
+ "name": "moldavo"
+ },
+ "mn": {
+ "name": "mongol"
+ },
+ "mua": {
+ "name": "mundang"
+ },
+ "naq": {
+ "name": "nama"
+ },
+ "nd": {
+ "name": "ndebele septentrional"
+ },
+ "nl": {
+ "name": "neerlandés"
+ },
+ "ne": {
+ "name": "nepalí"
+ },
+ "nnh": {
+ "name": "ngiemboon"
+ },
+ "jgo": {
+ "name": "ngomba"
+ },
+ "nb": {
+ "name": "noruego bokmal"
+ },
+ "nn": {
+ "name": "noruego nynorsk"
+ },
+ "nus": {
+ "name": "nuer"
+ },
+ "nyn": {
+ "name": "nyankole"
+ },
+ "or": {
+ "name": "oriya"
+ },
+ "om": {
+ "name": "oromo"
+ },
+ "os": {
+ "name": "osético"
+ },
+ "pa": {
+ "name": "panyabí"
+ },
+ "ps": {
+ "name": "pastún"
+ },
+ "fa": {
+ "name": "persa"
+ },
+ "pl": {
+ "name": "polaco"
+ },
+ "pt": {
+ "name": "portugués"
+ },
+ "pt-PT": {
+ "name": "portugués de Portugal"
+ },
+ "prg": {
+ "name": "prusiano"
+ },
+ "qu": {
+ "name": "quechua"
+ },
+ "rm": {
+ "name": "romanche"
+ },
+ "rof": {
+ "name": "rombo"
+ },
+ "ro": {
+ "name": "rumano"
+ },
+ "ru": {
+ "name": "ruso"
+ },
+ "rwk": {
+ "name": "rwa"
+ },
+ "sah": {
+ "name": "sakha"
+ },
+ "saq": {
+ "name": "samburu"
+ },
+ "smn": {
+ "name": "sami inari"
+ },
+ "se": {
+ "name": "sami septentrional"
+ },
+ "sg": {
+ "name": "sango"
+ },
+ "sbp": {
+ "name": "sangu"
+ },
+ "seh": {
+ "name": "sena"
+ },
+ "sr": {
+ "name": "serbio"
+ },
+ "ksb": {
+ "name": "shambala"
+ },
+ "sn": {
+ "name": "shona"
+ },
+ "xog": {
+ "name": "soga"
+ },
+ "so": {
+ "name": "somalí"
+ },
+ "sw": {
+ "name": "suajili"
+ },
+ "sw-CD": {
+ "name": "suajili del Congo"
+ },
+ "sv": {
+ "name": "sueco"
+ },
+ "th": {
+ "name": "tailandés"
+ },
+ "dav": {
+ "name": "taita"
+ },
+ "tzm": {
+ "name": "tamazight del Atlas Central"
+ },
+ "zgh": {
+ "name": "tamazight estándar marroquí"
+ },
+ "ta": {
+ "name": "tamil"
+ },
+ "twq": {
+ "name": "tasawaq"
+ },
+ "shi": {
+ "name": "tashelhit"
+ },
+ "te": {
+ "name": "telugu"
+ },
+ "teo": {
+ "name": "teso"
+ },
+ "bo": {
+ "name": "tibetano"
+ },
+ "ti": {
+ "name": "tigriña"
+ },
+ "to": {
+ "name": "tongano"
+ },
+ "tr": {
+ "name": "turco"
+ },
+ "tk": {
+ "name": "turcomano"
+ },
+ "uk": {
+ "name": "ucraniano"
+ },
+ "ug": {
+ "name": "uigur"
+ },
+ "ur": {
+ "name": "urdu"
+ },
+ "uz": {
+ "name": "uzbeko"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vi": {
+ "name": "vietnamita"
+ },
+ "vo": {
+ "name": "volapük"
+ },
+ "vun": {
+ "name": "vunjo"
+ },
+ "wae": {
+ "name": "walser"
+ },
+ "yav": {
+ "name": "yangben"
+ },
+ "ii": {
+ "name": "yi de Sichuán"
+ },
+ "yi": {
+ "name": "yidis"
+ },
+ "yo": {
+ "name": "yoruba"
+ },
+ "dje": {
+ "name": "zarma"
+ },
+ "zu": {
+ "name": "zulú"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/et.json b/vendor/commerceguys/intl/resources/language/et.json
new file mode 100644
index 000000000..fc465e34a
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/et.json
@@ -0,0 +1,635 @@
+{
+ "af": {
+ "name": "afrikaani"
+ },
+ "agq": {
+ "name": "aghemi"
+ },
+ "ak": {
+ "name": "akani"
+ },
+ "nds": {
+ "name": "alamsaksa"
+ },
+ "dsb": {
+ "name": "alamsorbi"
+ },
+ "sq": {
+ "name": "albaania"
+ },
+ "am": {
+ "name": "amhara"
+ },
+ "ar": {
+ "name": "araabia"
+ },
+ "hy": {
+ "name": "armeenia"
+ },
+ "az": {
+ "name": "aserbaidžaani"
+ },
+ "as": {
+ "name": "assami"
+ },
+ "ast": {
+ "name": "astuuria"
+ },
+ "asa": {
+ "name": "asu"
+ },
+ "en-AU": {
+ "name": "Austraalia inglise"
+ },
+ "de-AT": {
+ "name": "Austria saksa"
+ },
+ "ksf": {
+ "name": "bafia"
+ },
+ "bm": {
+ "name": "bambara"
+ },
+ "bas": {
+ "name": "basa"
+ },
+ "eu": {
+ "name": "baski"
+ },
+ "bem": {
+ "name": "bemba"
+ },
+ "bez": {
+ "name": "bena"
+ },
+ "bn": {
+ "name": "bengali"
+ },
+ "my": {
+ "name": "birma"
+ },
+ "brx": {
+ "name": "bodo"
+ },
+ "bs": {
+ "name": "bosnia"
+ },
+ "br": {
+ "name": "bretooni"
+ },
+ "en-GB": {
+ "name": "Briti inglise"
+ },
+ "bg": {
+ "name": "bulgaaria"
+ },
+ "dav": {
+ "name": "davida"
+ },
+ "dz": {
+ "name": "dzongkha"
+ },
+ "dua": {
+ "name": "duala"
+ },
+ "et": {
+ "name": "eesti"
+ },
+ "ebu": {
+ "name": "embu"
+ },
+ "eo": {
+ "name": "esperanto"
+ },
+ "pt-PT": {
+ "name": "Euroopa portugali"
+ },
+ "ee": {
+ "name": "eve"
+ },
+ "ewo": {
+ "name": "evondo"
+ },
+ "fil": {
+ "name": "filipiini"
+ },
+ "nl-BE": {
+ "name": "flaami"
+ },
+ "dyo": {
+ "name": "fonji"
+ },
+ "fur": {
+ "name": "friuuli"
+ },
+ "ff": {
+ "name": "fula"
+ },
+ "fo": {
+ "name": "fääri"
+ },
+ "gd": {
+ "name": "gaeli"
+ },
+ "gl": {
+ "name": "galeegi"
+ },
+ "lg": {
+ "name": "ganda"
+ },
+ "ka": {
+ "name": "gruusia"
+ },
+ "kl": {
+ "name": "grööni"
+ },
+ "gu": {
+ "name": "gudžarati"
+ },
+ "guz": {
+ "name": "gusii"
+ },
+ "ha": {
+ "name": "hausa"
+ },
+ "haw": {
+ "name": "havai"
+ },
+ "he": {
+ "name": "heebrea"
+ },
+ "zh": {
+ "name": "hiina"
+ },
+ "zh-Hans": {
+ "name": "hiina (lihtsustatud)"
+ },
+ "zh-Hant": {
+ "name": "hiina (traditsiooniline)"
+ },
+ "hi": {
+ "name": "hindi"
+ },
+ "es": {
+ "name": "hispaania"
+ },
+ "nl": {
+ "name": "hollandi"
+ },
+ "nds-NL": {
+ "name": "Hollandi alamsaksa"
+ },
+ "hr": {
+ "name": "horvaadi"
+ },
+ "ig": {
+ "name": "ibo"
+ },
+ "ga": {
+ "name": "iiri"
+ },
+ "smn": {
+ "name": "Inari saami"
+ },
+ "id": {
+ "name": "indoneesia"
+ },
+ "en": {
+ "name": "inglise"
+ },
+ "is": {
+ "name": "islandi"
+ },
+ "it": {
+ "name": "itaalia"
+ },
+ "ja": {
+ "name": "jaapani"
+ },
+ "sah": {
+ "name": "jakuudi"
+ },
+ "yi": {
+ "name": "jidiši"
+ },
+ "yo": {
+ "name": "joruba"
+ },
+ "kab": {
+ "name": "kabiili"
+ },
+ "kea": {
+ "name": "kabuverdianu"
+ },
+ "kkj": {
+ "name": "kako"
+ },
+ "kln": {
+ "name": "kalendžini"
+ },
+ "kam": {
+ "name": "kamba"
+ },
+ "en-CA": {
+ "name": "Kanada inglise"
+ },
+ "fr-CA": {
+ "name": "Kanada prantsuse"
+ },
+ "kn": {
+ "name": "kannada"
+ },
+ "yue": {
+ "name": "kantoni"
+ },
+ "kk": {
+ "name": "kasahhi"
+ },
+ "ks": {
+ "name": "kašmiiri"
+ },
+ "ca": {
+ "name": "katalaani"
+ },
+ "qu": {
+ "name": "ketšua"
+ },
+ "km": {
+ "name": "khmeeri"
+ },
+ "ki": {
+ "name": "kikuju"
+ },
+ "ky": {
+ "name": "kirgiisi"
+ },
+ "cu": {
+ "name": "kirikuslaavi"
+ },
+ "sw-CD": {
+ "name": "Kongo suahiili"
+ },
+ "kok": {
+ "name": "konkani"
+ },
+ "ko": {
+ "name": "korea"
+ },
+ "kw": {
+ "name": "korni"
+ },
+ "khq": {
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "name": "koyraboro senni"
+ },
+ "el": {
+ "name": "kreeka"
+ },
+ "nmg": {
+ "name": "kwasio"
+ },
+ "cy": {
+ "name": "kõmri"
+ },
+ "ksh": {
+ "name": "kölni"
+ },
+ "lkt": {
+ "name": "lakota"
+ },
+ "lag": {
+ "name": "langi"
+ },
+ "lo": {
+ "name": "lao"
+ },
+ "lt": {
+ "name": "leedu"
+ },
+ "lb": {
+ "name": "letseburgi"
+ },
+ "ln": {
+ "name": "lingala"
+ },
+ "lu": {
+ "name": "luba"
+ },
+ "luy": {
+ "name": "luhja"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lv": {
+ "name": "läti"
+ },
+ "fy": {
+ "name": "läänefriisi"
+ },
+ "mk": {
+ "name": "makedoonia"
+ },
+ "mgh": {
+ "name": "makhuwa-meetto"
+ },
+ "kde": {
+ "name": "makonde"
+ },
+ "mg": {
+ "name": "malagassi"
+ },
+ "ms": {
+ "name": "malai"
+ },
+ "ml": {
+ "name": "malajalami"
+ },
+ "mt": {
+ "name": "malta"
+ },
+ "mr": {
+ "name": "marathi"
+ },
+ "mas": {
+ "name": "masai"
+ },
+ "mzn": {
+ "name": "mazandaraani"
+ },
+ "jmc": {
+ "name": "matšame"
+ },
+ "mfe": {
+ "name": "Mauritiuse kreoolkeel"
+ },
+ "es-MX": {
+ "name": "Mehhiko hispaania"
+ },
+ "mer": {
+ "name": "meru"
+ },
+ "mgo": {
+ "name": "meta"
+ },
+ "ro-MD": {
+ "name": "moldova"
+ },
+ "mn": {
+ "name": "mongoli"
+ },
+ "mua": {
+ "name": "mundangi"
+ },
+ "gv": {
+ "name": "mänksi"
+ },
+ "naq": {
+ "name": "nama"
+ },
+ "ne": {
+ "name": "nepali"
+ },
+ "nnh": {
+ "name": "ngiembooni"
+ },
+ "jgo": {
+ "name": "ngomba"
+ },
+ "nyn": {
+ "name": "nkole"
+ },
+ "nb": {
+ "name": "norra bokmål"
+ },
+ "nus": {
+ "name": "nueri"
+ },
+ "or": {
+ "name": "oria"
+ },
+ "om": {
+ "name": "oromo"
+ },
+ "os": {
+ "name": "osseedi"
+ },
+ "pa": {
+ "name": "pandžabi"
+ },
+ "pl": {
+ "name": "poola"
+ },
+ "pt": {
+ "name": "portugali"
+ },
+ "fr": {
+ "name": "prantsuse"
+ },
+ "prg": {
+ "name": "preisi"
+ },
+ "ps": {
+ "name": "puštu"
+ },
+ "lrc": {
+ "name": "põhjaluri"
+ },
+ "nd": {
+ "name": "põhjandebele"
+ },
+ "se": {
+ "name": "põhjasaami"
+ },
+ "fa": {
+ "name": "pärsia"
+ },
+ "rm": {
+ "name": "romanši"
+ },
+ "rof": {
+ "name": "rombo"
+ },
+ "sv": {
+ "name": "rootsi"
+ },
+ "rw": {
+ "name": "ruanda"
+ },
+ "ro": {
+ "name": "rumeenia"
+ },
+ "rn": {
+ "name": "rundi"
+ },
+ "rwk": {
+ "name": "rvaa"
+ },
+ "de": {
+ "name": "saksa"
+ },
+ "saq": {
+ "name": "samburu"
+ },
+ "sg": {
+ "name": "sango"
+ },
+ "sbp": {
+ "name": "sangu"
+ },
+ "seh": {
+ "name": "sena"
+ },
+ "sr": {
+ "name": "serbia"
+ },
+ "ii": {
+ "name": "Sichuani jii"
+ },
+ "si": {
+ "name": "singali"
+ },
+ "sk": {
+ "name": "slovaki"
+ },
+ "sl": {
+ "name": "sloveeni"
+ },
+ "xog": {
+ "name": "soga"
+ },
+ "so": {
+ "name": "somaali"
+ },
+ "fi": {
+ "name": "soome"
+ },
+ "ckb": {
+ "name": "sorani"
+ },
+ "sw": {
+ "name": "suahiili"
+ },
+ "zu": {
+ "name": "suulu"
+ },
+ "ksb": {
+ "name": "šambala"
+ },
+ "shi": {
+ "name": "šilha"
+ },
+ "sn": {
+ "name": "šona"
+ },
+ "fr-CH": {
+ "name": "Šveitsi prantsuse"
+ },
+ "de-CH": {
+ "name": "Šveitsi ülemsaksa"
+ },
+ "gsw": {
+ "name": "šveitsisaksa"
+ },
+ "dje": {
+ "name": "zarma"
+ },
+ "da": {
+ "name": "taani"
+ },
+ "th": {
+ "name": "tai"
+ },
+ "tzm": {
+ "name": "tamasikti"
+ },
+ "zgh": {
+ "name": "tamasikti (Maroko)"
+ },
+ "ta": {
+ "name": "tamili"
+ },
+ "twq": {
+ "name": "taswaqi"
+ },
+ "te": {
+ "name": "telugu"
+ },
+ "teo": {
+ "name": "teso"
+ },
+ "ti": {
+ "name": "tigrinja"
+ },
+ "bo": {
+ "name": "tiibeti"
+ },
+ "to": {
+ "name": "tonga"
+ },
+ "cs": {
+ "name": "tšehhi"
+ },
+ "chr": {
+ "name": "tšerokii"
+ },
+ "ce": {
+ "name": "tšetšeeni"
+ },
+ "cgg": {
+ "name": "tšiga"
+ },
+ "tr": {
+ "name": "türgi"
+ },
+ "tk": {
+ "name": "türkmeeni"
+ },
+ "ug": {
+ "name": "uiguuri"
+ },
+ "uk": {
+ "name": "ukraina"
+ },
+ "hu": {
+ "name": "ungari"
+ },
+ "ur": {
+ "name": "urdu"
+ },
+ "uz": {
+ "name": "usbeki"
+ },
+ "nn": {
+ "name": "uusnorra"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "be": {
+ "name": "valgevene"
+ },
+ "ru": {
+ "name": "vene"
+ },
+ "vi": {
+ "name": "vietnami"
+ },
+ "vo": {
+ "name": "volapüki"
+ },
+ "vun": {
+ "name": "vundžo"
+ },
+ "wae": {
+ "name": "walseri"
+ },
+ "hsb": {
+ "name": "ülemsorbi"
+ },
+ "yav": {
+ "name": "yangbeni"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/eu.json b/vendor/commerceguys/intl/resources/language/eu.json
new file mode 100644
index 000000000..0e68284ef
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/eu.json
@@ -0,0 +1,632 @@
+{
+ "af": {
+ "name": "afrikaansa"
+ },
+ "agq": {
+ "name": "aghemera"
+ },
+ "ak": {
+ "name": "akanera"
+ },
+ "sq": {
+ "name": "albaniera"
+ },
+ "de-CH": {
+ "name": "aleman garaia (Suitza)"
+ },
+ "de": {
+ "name": "alemana"
+ },
+ "gsw": {
+ "name": "alemana (Suitza)"
+ },
+ "am": {
+ "name": "amharera"
+ },
+ "nyn": {
+ "name": "ankolera"
+ },
+ "ar": {
+ "name": "arabiera"
+ },
+ "hy": {
+ "name": "armeniera"
+ },
+ "as": {
+ "name": "assamera"
+ },
+ "ast": {
+ "name": "asturiera"
+ },
+ "asa": {
+ "name": "asua"
+ },
+ "en-AU": {
+ "name": "Australiako ingelesa"
+ },
+ "de-AT": {
+ "name": "Austriako alemana"
+ },
+ "az": {
+ "name": "azerbaijanera"
+ },
+ "ksf": {
+ "name": "bafiera"
+ },
+ "bm": {
+ "name": "bambarera"
+ },
+ "bas": {
+ "name": "basaa"
+ },
+ "nds-NL": {
+ "name": "behe-saxoiera"
+ },
+ "dsb": {
+ "name": "behe-sorabiera"
+ },
+ "bem": {
+ "name": "bembera"
+ },
+ "bez": {
+ "name": "benera"
+ },
+ "bn": {
+ "name": "bengalera"
+ },
+ "be": {
+ "name": "bielorrusiera"
+ },
+ "brx": {
+ "name": "bodoera"
+ },
+ "nb": {
+ "name": "bokmala (Norvegia)"
+ },
+ "bs": {
+ "name": "bosniera"
+ },
+ "br": {
+ "name": "bretoiera"
+ },
+ "en-GB": {
+ "name": "Britainia Handiko ingelesa"
+ },
+ "bg": {
+ "name": "bulgariera"
+ },
+ "my": {
+ "name": "burmatarra"
+ },
+ "kea": {
+ "name": "Cabo Verdeko kreola"
+ },
+ "cgg": {
+ "name": "chigera"
+ },
+ "da": {
+ "name": "daniera"
+ },
+ "dua": {
+ "name": "dualera"
+ },
+ "dz": {
+ "name": "dzongkha"
+ },
+ "cu": {
+ "name": "Elizako eslaviera"
+ },
+ "ebu": {
+ "name": "embua"
+ },
+ "rm": {
+ "name": "erromantxera"
+ },
+ "ro": {
+ "name": "errumaniera"
+ },
+ "ru": {
+ "name": "errusiera"
+ },
+ "gd": {
+ "name": "eskoziako gaelikoa"
+ },
+ "sk": {
+ "name": "eslovakiera"
+ },
+ "sl": {
+ "name": "esloveniera"
+ },
+ "es": {
+ "name": "espainiera"
+ },
+ "eo": {
+ "name": "esperantoa"
+ },
+ "et": {
+ "name": "estoniera"
+ },
+ "eu": {
+ "name": "euskara"
+ },
+ "ee": {
+ "name": "eweera"
+ },
+ "ewo": {
+ "name": "ewondera"
+ },
+ "fo": {
+ "name": "faroera"
+ },
+ "fi": {
+ "name": "finlandiera"
+ },
+ "nl-BE": {
+ "name": "flandriera"
+ },
+ "dyo": {
+ "name": "fonyi jolera"
+ },
+ "fr": {
+ "name": "frantsesa"
+ },
+ "fy": {
+ "name": "frisiera"
+ },
+ "fur": {
+ "name": "friuliera"
+ },
+ "ff": {
+ "name": "fula"
+ },
+ "ga": {
+ "name": "gaelikoa"
+ },
+ "cy": {
+ "name": "galesera"
+ },
+ "gl": {
+ "name": "galiziera"
+ },
+ "lg": {
+ "name": "gandera"
+ },
+ "ka": {
+ "name": "georgiera"
+ },
+ "hsb": {
+ "name": "goi-sorabiera"
+ },
+ "el": {
+ "name": "greziera"
+ },
+ "gu": {
+ "name": "gujaratera"
+ },
+ "guz": {
+ "name": "gusiiera"
+ },
+ "ha": {
+ "name": "hausa"
+ },
+ "haw": {
+ "name": "hawaiiera"
+ },
+ "he": {
+ "name": "hebreera"
+ },
+ "hi": {
+ "name": "hindia"
+ },
+ "hu": {
+ "name": "hungariera"
+ },
+ "ig": {
+ "name": "igboera"
+ },
+ "smn": {
+ "name": "inari-samiera"
+ },
+ "id": {
+ "name": "indonesiera"
+ },
+ "en": {
+ "name": "ingelesa"
+ },
+ "lrc": {
+ "name": "iparraldeko lurera"
+ },
+ "nd": {
+ "name": "iparraldeko ndebeleera"
+ },
+ "se": {
+ "name": "iparraldeko samiera"
+ },
+ "is": {
+ "name": "islandiera"
+ },
+ "it": {
+ "name": "italiera"
+ },
+ "yav": {
+ "name": "jangbenera"
+ },
+ "ja": {
+ "name": "japoniera"
+ },
+ "kab": {
+ "name": "kabilera"
+ },
+ "kkj": {
+ "name": "kakoa"
+ },
+ "kl": {
+ "name": "kalaallisutera"
+ },
+ "kln": {
+ "name": "kalenjinera"
+ },
+ "kam": {
+ "name": "kambera"
+ },
+ "fr-CA": {
+ "name": "Kanadako frantsesa"
+ },
+ "en-CA": {
+ "name": "Kanadako ingelesa"
+ },
+ "kn": {
+ "name": "kannadera"
+ },
+ "yue": {
+ "name": "kantonera"
+ },
+ "ks": {
+ "name": "kashmirera"
+ },
+ "ca": {
+ "name": "katalana"
+ },
+ "kk": {
+ "name": "kazakhera"
+ },
+ "km": {
+ "name": "khemerera"
+ },
+ "ki": {
+ "name": "kikuyuera"
+ },
+ "rw": {
+ "name": "kinyaruanda"
+ },
+ "ky": {
+ "name": "kirgizera"
+ },
+ "ksh": {
+ "name": "koloniera"
+ },
+ "sw-CD": {
+ "name": "Kongoko swahilia"
+ },
+ "kok": {
+ "name": "konkaniera"
+ },
+ "ko": {
+ "name": "koreera"
+ },
+ "kw": {
+ "name": "kornubiera"
+ },
+ "khq": {
+ "name": "koyra chiiniera"
+ },
+ "ses": {
+ "name": "koyraboro sennia"
+ },
+ "hr": {
+ "name": "kroaziera"
+ },
+ "nmg": {
+ "name": "kwasiera"
+ },
+ "lkt": {
+ "name": "lakotera"
+ },
+ "lag": {
+ "name": "langiera"
+ },
+ "lo": {
+ "name": "laosera"
+ },
+ "lv": {
+ "name": "letoniera"
+ },
+ "ln": {
+ "name": "lingala"
+ },
+ "lt": {
+ "name": "lituaniera"
+ },
+ "lu": {
+ "name": "luba-katangera"
+ },
+ "luy": {
+ "name": "luhyera"
+ },
+ "luo": {
+ "name": "luoera"
+ },
+ "lb": {
+ "name": "luxenburgera"
+ },
+ "jmc": {
+ "name": "machamera"
+ },
+ "mgh": {
+ "name": "makhuwa-meettoera"
+ },
+ "kde": {
+ "name": "makondera"
+ },
+ "mg": {
+ "name": "malagasyera"
+ },
+ "ml": {
+ "name": "malayalamera"
+ },
+ "ms": {
+ "name": "malaysiera"
+ },
+ "mt": {
+ "name": "maltera"
+ },
+ "gv": {
+ "name": "manxera"
+ },
+ "mr": {
+ "name": "marathera"
+ },
+ "tzm": {
+ "name": "Maroko erdialdeko tamazighta"
+ },
+ "mas": {
+ "name": "masaiera"
+ },
+ "mfe": {
+ "name": "Mauritaniako kreolera"
+ },
+ "mzn": {
+ "name": "mazandarandera"
+ },
+ "mk": {
+ "name": "mazedoniera"
+ },
+ "mer": {
+ "name": "meruera"
+ },
+ "mgo": {
+ "name": "metera"
+ },
+ "es-MX": {
+ "name": "Mexikoko espainiera"
+ },
+ "ro-MD": {
+ "name": "moldaviera"
+ },
+ "mn": {
+ "name": "mongoliera"
+ },
+ "mua": {
+ "name": "mudangera"
+ },
+ "naq": {
+ "name": "namera"
+ },
+ "nl": {
+ "name": "nederlandera"
+ },
+ "ne": {
+ "name": "nepalera"
+ },
+ "nnh": {
+ "name": "ngiemboonera"
+ },
+ "jgo": {
+ "name": "ngomba"
+ },
+ "nus": {
+ "name": "nuerera"
+ },
+ "nn": {
+ "name": "nynorsk norvegiera"
+ },
+ "or": {
+ "name": "oriya"
+ },
+ "om": {
+ "name": "oromoera"
+ },
+ "os": {
+ "name": "osetiera"
+ },
+ "ps": {
+ "name": "paxtuera"
+ },
+ "fa": {
+ "name": "persiera"
+ },
+ "pl": {
+ "name": "poloniera"
+ },
+ "pt": {
+ "name": "portugesa"
+ },
+ "pt-PT": {
+ "name": "portugesa (Europa)"
+ },
+ "prg": {
+ "name": "prusiera"
+ },
+ "pa": {
+ "name": "punjabera"
+ },
+ "qu": {
+ "name": "quechuera"
+ },
+ "rof": {
+ "name": "romboera"
+ },
+ "rn": {
+ "name": "rundiera"
+ },
+ "rwk": {
+ "name": "rwaera"
+ },
+ "sah": {
+ "name": "sakhera"
+ },
+ "saq": {
+ "name": "samburuera"
+ },
+ "sg": {
+ "name": "sangoera"
+ },
+ "sbp": {
+ "name": "sanguera"
+ },
+ "seh": {
+ "name": "senera"
+ },
+ "sr": {
+ "name": "serbiera"
+ },
+ "ksb": {
+ "name": "shambalera"
+ },
+ "sn": {
+ "name": "shonera"
+ },
+ "ii": {
+ "name": "sichuan yia"
+ },
+ "si": {
+ "name": "sinhala"
+ },
+ "xog": {
+ "name": "sogera"
+ },
+ "so": {
+ "name": "somaliera"
+ },
+ "ckb": {
+ "name": "sorania"
+ },
+ "sv": {
+ "name": "suediera"
+ },
+ "fr-CH": {
+ "name": "Suitzako frantsesa"
+ },
+ "sw": {
+ "name": "swahili"
+ },
+ "shi": {
+ "name": "tachelhita"
+ },
+ "fil": {
+ "name": "tagaloga"
+ },
+ "dav": {
+ "name": "taitera"
+ },
+ "zgh": {
+ "name": "tamazight estandarra"
+ },
+ "ta": {
+ "name": "tamilera"
+ },
+ "twq": {
+ "name": "tasawaqa"
+ },
+ "te": {
+ "name": "teluguera"
+ },
+ "teo": {
+ "name": "tesoera"
+ },
+ "th": {
+ "name": "thailandiera"
+ },
+ "bo": {
+ "name": "tibetera"
+ },
+ "ti": {
+ "name": "tigriñera"
+ },
+ "to": {
+ "name": "tongera"
+ },
+ "tr": {
+ "name": "turkiera"
+ },
+ "tk": {
+ "name": "turkmeniera"
+ },
+ "cs": {
+ "name": "txekiera"
+ },
+ "chr": {
+ "name": "txerokiera"
+ },
+ "ce": {
+ "name": "txetxeniera"
+ },
+ "zh": {
+ "name": "txinera"
+ },
+ "zh-Hans": {
+ "name": "txinera soildua"
+ },
+ "zh-Hant": {
+ "name": "txinera tradizionala"
+ },
+ "ug": {
+ "name": "uigurrera"
+ },
+ "uk": {
+ "name": "ukrainera"
+ },
+ "ur": {
+ "name": "urdua"
+ },
+ "uz": {
+ "name": "uzbekera"
+ },
+ "vai": {
+ "name": "vaiera"
+ },
+ "vi": {
+ "name": "vietnamera"
+ },
+ "vo": {
+ "name": "volapüka"
+ },
+ "vun": {
+ "name": "vunjoa"
+ },
+ "wae": {
+ "name": "walserera"
+ },
+ "yi": {
+ "name": "yiddisha"
+ },
+ "yo": {
+ "name": "yorubera"
+ },
+ "dje": {
+ "name": "zarmera"
+ },
+ "zu": {
+ "name": "zuluera"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/ewo.json b/vendor/commerceguys/intl/resources/language/ewo.json
new file mode 100644
index 000000000..256c643f0
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/ewo.json
@@ -0,0 +1,632 @@
+{
+ "af": {
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "sq": {
+ "name": "Albanian"
+ },
+ "hy": {
+ "name": "Armenian"
+ },
+ "as": {
+ "name": "Assamese"
+ },
+ "ast": {
+ "name": "Asturian"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "az": {
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "eu": {
+ "name": "Basque"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "bs": {
+ "name": "Bosnian"
+ },
+ "br": {
+ "name": "Breton"
+ },
+ "yue": {
+ "name": "Cantonese"
+ },
+ "ca": {
+ "name": "Catalan"
+ },
+ "tzm": {
+ "name": "Central Atlas Tamazight"
+ },
+ "ckb": {
+ "name": "Central Kurdish"
+ },
+ "ce": {
+ "name": "Chechen"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "cu": {
+ "name": "Church Slavic"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "kw": {
+ "name": "Cornish"
+ },
+ "hr": {
+ "name": "Croatian"
+ },
+ "da": {
+ "name": "Danish"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "dz": {
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "eo": {
+ "name": "Esperanto"
+ },
+ "et": {
+ "name": "Estonian"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "ewondo"
+ },
+ "fo": {
+ "name": "Faroese"
+ },
+ "fil": {
+ "name": "Filipino"
+ },
+ "fi": {
+ "name": "Finnish"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "gl": {
+ "name": "Galician"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "ka": {
+ "name": "Georgian"
+ },
+ "gu": {
+ "name": "Gujarati"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "haw": {
+ "name": "Hawaiian"
+ },
+ "he": {
+ "name": "Hebrew"
+ },
+ "is": {
+ "name": "Icelandic"
+ },
+ "smn": {
+ "name": "Inari Sami"
+ },
+ "ga": {
+ "name": "Irish"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabyle"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kl": {
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "kn": {
+ "name": "Kannada"
+ },
+ "ks": {
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "name": "Kazakh"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "ky": {
+ "name": "Kyrgyz"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "Lao"
+ },
+ "lv": {
+ "name": "Latvian"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "lt": {
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "mk": {
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "mg": {
+ "name": "Malagasy"
+ },
+ "ml": {
+ "name": "Malayalam"
+ },
+ "mt": {
+ "name": "Maltese"
+ },
+ "gv": {
+ "name": "Manx"
+ },
+ "mr": {
+ "name": "Marathi"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "mn": {
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nds-NL": {
+ "name": "nds (Pɛíbá)"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "ak": {
+ "name": "Ǹkɔ́bɔ akán"
+ },
+ "am": {
+ "name": "Ǹkɔ́bɔ amária"
+ },
+ "ar": {
+ "name": "Ǹkɔ́bɔ arábia"
+ },
+ "ha": {
+ "name": "Ǹkɔ́bɔ aúsá"
+ },
+ "be": {
+ "name": "Ǹkɔ́bɔ belarúsian"
+ },
+ "bn": {
+ "name": "Ǹkɔ́bɔ bɛngalí"
+ },
+ "my": {
+ "name": "Ǹkɔ́bɔ birəmán"
+ },
+ "bg": {
+ "name": "Ǹkɔ́bɔ buləgárian"
+ },
+ "en": {
+ "name": "Ǹkɔ́bɔ éngəlís"
+ },
+ "en-CA": {
+ "name": "Ǹkɔ́bɔ éngəlís (kanadá)"
+ },
+ "en-GB": {
+ "name": "Ǹkɔ́bɔ éngəlís (Ǹnam Engəlis)"
+ },
+ "en-AU": {
+ "name": "Ǹkɔ́bɔ éngəlís (Osətəlalí)"
+ },
+ "it": {
+ "name": "Ǹkɔ́bɔ etáliɛn"
+ },
+ "id": {
+ "name": "Ǹkɔ́bɔ ɛndonésian"
+ },
+ "fa": {
+ "name": "ǹkɔ́bɔ fɛ́rəsian"
+ },
+ "pl": {
+ "name": "ǹkɔ́bɔ fólis"
+ },
+ "pt": {
+ "name": "ǹkɔ́bɔ fɔtugɛ́s"
+ },
+ "pt-PT": {
+ "name": "ǹkɔ́bɔ fɔtugɛ́s (fɔrətugɛ́s)"
+ },
+ "fr": {
+ "name": "Ǹkɔ́bɔ fulɛnsí"
+ },
+ "fr-CA": {
+ "name": "Ǹkɔ́bɔ fulɛnsí (kanadá)"
+ },
+ "fr-CH": {
+ "name": "Ǹkɔ́bɔ fulɛnsí (Suís)"
+ },
+ "pa": {
+ "name": "ǹkɔ́bɔ funəhábia"
+ },
+ "el": {
+ "name": "Ǹkɔ́bɔ gəlɛ́g"
+ },
+ "ja": {
+ "name": "Ǹkɔ́bɔ hapɔ́n"
+ },
+ "vi": {
+ "name": "ǹkɔ́bɔ hiɛdənám"
+ },
+ "hi": {
+ "name": "Ǹkɔ́bɔ hindí"
+ },
+ "ig": {
+ "name": "Ǹkɔ́bɔ ibó"
+ },
+ "km": {
+ "name": "Ǹkɔ́bɔ kəmɛ́r"
+ },
+ "ko": {
+ "name": "Ǹkɔ́bɔ koréan"
+ },
+ "es": {
+ "name": "ǹkɔ́bɔ kpənyá"
+ },
+ "es-MX": {
+ "name": "ǹkɔ́bɔ kpənyá (Mɛkəsíg)"
+ },
+ "ms": {
+ "name": "Ǹkɔ́bɔ malɛ́sian"
+ },
+ "de": {
+ "name": "Ǹkɔ́bɔ ndzáman"
+ },
+ "de-AT": {
+ "name": "Ǹkɔ́bɔ ndzáman (Osətəlía)"
+ },
+ "de-CH": {
+ "name": "Ǹkɔ́bɔ ndzáman (Suís)"
+ },
+ "ne": {
+ "name": "ǹkɔ́bɔ nefálian"
+ },
+ "nl": {
+ "name": "Ǹkɔ́bɔ nɛrəlándía"
+ },
+ "nl-BE": {
+ "name": "Ǹkɔ́bɔ nɛrəlándía (Bɛləhíg)"
+ },
+ "ro": {
+ "name": "ńkɔ́bɔ románía"
+ },
+ "ro-MD": {
+ "name": "ńkɔ́bɔ románía (Molədaví)"
+ },
+ "ru": {
+ "name": "ǹkɔ́bɔ rúsian"
+ },
+ "rw": {
+ "name": "ǹkɔ́bɔ ruwandá"
+ },
+ "so": {
+ "name": "ǹkɔ́bɔ somália"
+ },
+ "sv": {
+ "name": "ǹkɔ́bɔ suwɛ́d"
+ },
+ "th": {
+ "name": "ǹkɔ́bɔ táilan"
+ },
+ "ta": {
+ "name": "ǹkɔ́bɔ tamíl"
+ },
+ "zh": {
+ "name": "Ǹkɔ́bɔ tsainís"
+ },
+ "zh-Hans": {
+ "name": "Ǹkɔ́bɔ tsainís (Hans)"
+ },
+ "zh-Hant": {
+ "name": "Ǹkɔ́bɔ tsainís (Hant)"
+ },
+ "cs": {
+ "name": "Ǹkɔ́bɔ tsɛ́g"
+ },
+ "tr": {
+ "name": "ǹkɔ́bɔ túrəki"
+ },
+ "uk": {
+ "name": "ǹkɔ́bɔ ukelénia"
+ },
+ "hu": {
+ "name": "Ǹkɔ́bɔ ungárían"
+ },
+ "ur": {
+ "name": "ǹkɔ́bɔ urudú"
+ },
+ "yo": {
+ "name": "ǹkɔ́bɔ yorúba"
+ },
+ "zu": {
+ "name": "ǹkɔ́bɔ zulú"
+ },
+ "nd": {
+ "name": "North Ndebele"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "se": {
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "or": {
+ "name": "Odia"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "os": {
+ "name": "Ossetic"
+ },
+ "ps": {
+ "name": "Pashto"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "qu": {
+ "name": "Quechua"
+ },
+ "rm": {
+ "name": "Romansh"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "rn": {
+ "name": "Rundi"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "sah": {
+ "name": "Sakha"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "gd": {
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "sr": {
+ "name": "Serbian"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "si": {
+ "name": "Sinhala"
+ },
+ "sk": {
+ "name": "Slovak"
+ },
+ "sl": {
+ "name": "Slovenian"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw-CD": {
+ "name": "sw (ǹnam Kongó Demokəlatíg)"
+ },
+ "sw": {
+ "name": "Swahili"
+ },
+ "gsw": {
+ "name": "Swiss German"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "te": {
+ "name": "Telugu"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "bo": {
+ "name": "Tibetan"
+ },
+ "ti": {
+ "name": "Tigrinya"
+ },
+ "to": {
+ "name": "Tongan"
+ },
+ "tk": {
+ "name": "Turkmen"
+ },
+ "hsb": {
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "name": "Uyghur"
+ },
+ "uz": {
+ "name": "Uzbek"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "cy": {
+ "name": "Welsh"
+ },
+ "fy": {
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "yi": {
+ "name": "Yiddish"
+ },
+ "dje": {
+ "name": "Zarma"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/fa-AF.json b/vendor/commerceguys/intl/resources/language/fa-AF.json
new file mode 100644
index 000000000..4f5c05b9e
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/fa-AF.json
@@ -0,0 +1,638 @@
+{
+ "az": {
+ "name": "آذربایجانی"
+ },
+ "ast": {
+ "name": "آستوری"
+ },
+ "asa": {
+ "name": "آسو"
+ },
+ "os": {
+ "name": "آسی"
+ },
+ "af": {
+ "name": "آفریکانس"
+ },
+ "ak": {
+ "name": "آکان"
+ },
+ "agq": {
+ "name": "آگیم"
+ },
+ "de": {
+ "name": "آلمانی"
+ },
+ "de-AT": {
+ "name": "آلمانی اتریش"
+ },
+ "nds": {
+ "name": "آلمانی سفلی"
+ },
+ "gsw": {
+ "name": "آلمانی سوئیسی"
+ },
+ "de-CH": {
+ "name": "آلمانی معیار سوئیس"
+ },
+ "tzm": {
+ "name": "آمازیغی اطلس مرکزی"
+ },
+ "zgh": {
+ "name": "آمازیغی معیار مراکش"
+ },
+ "ga": {
+ "name": "آیرلندی"
+ },
+ "is": {
+ "name": "آیسلندی"
+ },
+ "ur": {
+ "name": "اردو"
+ },
+ "hy": {
+ "name": "ارمنی"
+ },
+ "uz": {
+ "name": "ازبکی"
+ },
+ "as": {
+ "name": "اسامی"
+ },
+ "es-MX": {
+ "name": "اسپانیایی مکزیک"
+ },
+ "eo": {
+ "name": "اسپرانتو"
+ },
+ "et": {
+ "name": "استونیایی"
+ },
+ "cu": {
+ "name": "اسلاوی کلیسایی"
+ },
+ "sk": {
+ "name": "اسلواکی"
+ },
+ "sl": {
+ "name": "اسلوونیایی"
+ },
+ "sq": {
+ "name": "البانیایی"
+ },
+ "ebu": {
+ "name": "امبو"
+ },
+ "am": {
+ "name": "امهری"
+ },
+ "nd": {
+ "name": "انده‌بله‌ای شمالی"
+ },
+ "id": {
+ "name": "اندونیزیایی"
+ },
+ "en": {
+ "name": "انگلیسی"
+ },
+ "en-AU": {
+ "name": "انگلیسی استرالیا"
+ },
+ "en-GB": {
+ "name": "انگلیسی بریتانیا"
+ },
+ "en-CA": {
+ "name": "انگلیسی کانادا"
+ },
+ "nnh": {
+ "name": "انگیمبونی"
+ },
+ "ewo": {
+ "name": "اواندو"
+ },
+ "om": {
+ "name": "اورومویی"
+ },
+ "or": {
+ "name": "اوریه‌ای"
+ },
+ "uk": {
+ "name": "اوکراینی"
+ },
+ "ee": {
+ "name": "اوه‌ای"
+ },
+ "ug": {
+ "name": "اویغوری"
+ },
+ "it": {
+ "name": "ایتالوی"
+ },
+ "ig": {
+ "name": "ایگبویی"
+ },
+ "smn": {
+ "name": "ایناری سامی"
+ },
+ "bas": {
+ "name": "باسایی"
+ },
+ "eu": {
+ "name": "باسکی"
+ },
+ "ksf": {
+ "name": "بافیایی"
+ },
+ "bm": {
+ "name": "بامبارایی"
+ },
+ "br": {
+ "name": "برتون"
+ },
+ "my": {
+ "name": "برمه‌ای"
+ },
+ "be": {
+ "name": "بلاروسی"
+ },
+ "bg": {
+ "name": "بلغاری"
+ },
+ "bem": {
+ "name": "بمبایی"
+ },
+ "bez": {
+ "name": "بنایی"
+ },
+ "bn": {
+ "name": "بنگالی"
+ },
+ "brx": {
+ "name": "بودویی"
+ },
+ "bs": {
+ "name": "بوسنیایی"
+ },
+ "pt-PT": {
+ "name": "پرتغالی اروپا"
+ },
+ "pt": {
+ "name": "پرتگالی"
+ },
+ "prg": {
+ "name": "پروسی"
+ },
+ "ps": {
+ "name": "پشتو"
+ },
+ "pa": {
+ "name": "پنجابی"
+ },
+ "pl": {
+ "name": "پولندی"
+ },
+ "shi": {
+ "name": "تاچل‌هیت"
+ },
+ "ta": {
+ "name": "تامیلی"
+ },
+ "dav": {
+ "name": "تایتا"
+ },
+ "th": {
+ "name": "تایلندی"
+ },
+ "bo": {
+ "name": "تبتی"
+ },
+ "tk": {
+ "name": "ترکمنی"
+ },
+ "tr": {
+ "name": "ترکی استانبولی"
+ },
+ "twq": {
+ "name": "تسواکی"
+ },
+ "teo": {
+ "name": "تسویی"
+ },
+ "te": {
+ "name": "تلوگویی"
+ },
+ "to": {
+ "name": "تونگایی"
+ },
+ "ti": {
+ "name": "تیگرینیایی"
+ },
+ "ja": {
+ "name": "جاپانی"
+ },
+ "dz": {
+ "name": "جونخایی"
+ },
+ "ce": {
+ "name": "چچنی"
+ },
+ "chr": {
+ "name": "چروکیایی"
+ },
+ "cs": {
+ "name": "چکی"
+ },
+ "cgg": {
+ "name": "چیگا"
+ },
+ "zh": {
+ "name": "چینی"
+ },
+ "zh-Hans": {
+ "name": "چینی ساده‌شده"
+ },
+ "zh-Hant": {
+ "name": "چینی سنتی"
+ },
+ "km": {
+ "name": "خمری"
+ },
+ "da": {
+ "name": "دانمارکی"
+ },
+ "fa-AF": {
+ "name": "دری"
+ },
+ "dua": {
+ "name": "دوآلایی"
+ },
+ "dyo": {
+ "name": "دیولا فونی"
+ },
+ "rwk": {
+ "name": "روایی"
+ },
+ "ru": {
+ "name": "روسی"
+ },
+ "rm": {
+ "name": "رومانش"
+ },
+ "ro": {
+ "name": "رومانیایی"
+ },
+ "rof": {
+ "name": "رومبویی"
+ },
+ "rn": {
+ "name": "روندیایی"
+ },
+ "ksh": {
+ "name": "ریپواری"
+ },
+ "dje": {
+ "name": "زرما"
+ },
+ "zu": {
+ "name": "زولویی"
+ },
+ "nds-NL": {
+ "name": "ساکسونی سفلی"
+ },
+ "saq": {
+ "name": "سامبورو"
+ },
+ "se": {
+ "name": "سامی شمالی"
+ },
+ "sg": {
+ "name": "سانگو"
+ },
+ "sbp": {
+ "name": "سانگویی"
+ },
+ "seh": {
+ "name": "سنا"
+ },
+ "sw": {
+ "name": "سواحلی"
+ },
+ "sw-CD": {
+ "name": "سواحیلی کنگو"
+ },
+ "xog": {
+ "name": "سوگایی"
+ },
+ "so": {
+ "name": "سومالیایی"
+ },
+ "sv": {
+ "name": "سویدنی"
+ },
+ "si": {
+ "name": "سینهالی"
+ },
+ "ksb": {
+ "name": "شامبالا"
+ },
+ "sn": {
+ "name": "شونایی"
+ },
+ "sr": {
+ "name": "صربی"
+ },
+ "dsb": {
+ "name": "صُربی سفلی"
+ },
+ "hsb": {
+ "name": "صُربی علیا"
+ },
+ "he": {
+ "name": "عبری"
+ },
+ "ar": {
+ "name": "عربی"
+ },
+ "fa": {
+ "name": "فارسی"
+ },
+ "fo": {
+ "name": "فارویی"
+ },
+ "fr": {
+ "name": "فرانسوی"
+ },
+ "fr-CH": {
+ "name": "فرانسوی سوئیس"
+ },
+ "fr-CA": {
+ "name": "فرانسوی کانادا"
+ },
+ "fy": {
+ "name": "فریزی غربی"
+ },
+ "fur": {
+ "name": "فریولیایی"
+ },
+ "nl-BE": {
+ "name": "فلمنگی"
+ },
+ "fi": {
+ "name": "فنلندی"
+ },
+ "ff": {
+ "name": "فولایی"
+ },
+ "fil": {
+ "name": "فیلیپینی"
+ },
+ "kab": {
+ "name": "قبایلی"
+ },
+ "ky": {
+ "name": "قرغزی"
+ },
+ "kk": {
+ "name": "قزاقی"
+ },
+ "kea": {
+ "name": "کابووردیانو"
+ },
+ "ca": {
+ "name": "کاتالان"
+ },
+ "kkj": {
+ "name": "کاکایی"
+ },
+ "kln": {
+ "name": "کالنجین"
+ },
+ "kam": {
+ "name": "کامبایی"
+ },
+ "kn": {
+ "name": "کانارا"
+ },
+ "yue": {
+ "name": "کانتونی"
+ },
+ "qu": {
+ "name": "کچوایی"
+ },
+ "ckb": {
+ "name": "کردی سورانی"
+ },
+ "kw": {
+ "name": "کرنوالی"
+ },
+ "hr": {
+ "name": "کروشیایی"
+ },
+ "ks": {
+ "name": "کشمیری"
+ },
+ "kok": {
+ "name": "کنکانی"
+ },
+ "nmg": {
+ "name": "کوازیو"
+ },
+ "khq": {
+ "name": "کوجراچینی"
+ },
+ "ko": {
+ "name": "کوریایی"
+ },
+ "ses": {
+ "name": "کویرابورا سنی"
+ },
+ "ki": {
+ "name": "کیکویویی"
+ },
+ "rw": {
+ "name": "کینیارواندایی"
+ },
+ "gl": {
+ "name": "گالیسیایی"
+ },
+ "lg": {
+ "name": "گاندایی"
+ },
+ "gu": {
+ "name": "گجراتی"
+ },
+ "ka": {
+ "name": "گرجی"
+ },
+ "kl": {
+ "name": "گرینلندی"
+ },
+ "guz": {
+ "name": "گوسی"
+ },
+ "gd": {
+ "name": "گیلی اسکاتلندی"
+ },
+ "lkt": {
+ "name": "لاکوتا"
+ },
+ "lag": {
+ "name": "لانگی"
+ },
+ "lo": {
+ "name": "لائوسی"
+ },
+ "lv": {
+ "name": "لتونیایی"
+ },
+ "lrc": {
+ "name": "لری شمالی"
+ },
+ "lu": {
+ "name": "لوبایی‐کاتانگا"
+ },
+ "lb": {
+ "name": "لوگزامبورگی"
+ },
+ "luy": {
+ "name": "لویا"
+ },
+ "luo": {
+ "name": "لوئویی"
+ },
+ "lt": {
+ "name": "لیتوانیایی"
+ },
+ "ln": {
+ "name": "لینگالا"
+ },
+ "jmc": {
+ "name": "ماچامه‌ای"
+ },
+ "mzn": {
+ "name": "مازندرانی"
+ },
+ "mas": {
+ "name": "ماسایی"
+ },
+ "mgh": {
+ "name": "ماکوا متو"
+ },
+ "kde": {
+ "name": "ماکونده"
+ },
+ "mg": {
+ "name": "مالاگاسیایی"
+ },
+ "ml": {
+ "name": "مالایالامی"
+ },
+ "ms": {
+ "name": "مالایی"
+ },
+ "mt": {
+ "name": "مالتی"
+ },
+ "mua": {
+ "name": "ماندانگی"
+ },
+ "gv": {
+ "name": "مانی"
+ },
+ "mgo": {
+ "name": "متایی"
+ },
+ "hu": {
+ "name": "مجاری"
+ },
+ "mr": {
+ "name": "مراتی"
+ },
+ "mer": {
+ "name": "مرویی"
+ },
+ "mn": {
+ "name": "مغلی"
+ },
+ "mk": {
+ "name": "مقدونی"
+ },
+ "mfe": {
+ "name": "موریسین"
+ },
+ "ro-MD": {
+ "name": "مولداویایی"
+ },
+ "naq": {
+ "name": "نامایی"
+ },
+ "nb": {
+ "name": "نروژی بوک‌مُل"
+ },
+ "nn": {
+ "name": "نروژی نی‌نُشک"
+ },
+ "jgo": {
+ "name": "نگومبا"
+ },
+ "nus": {
+ "name": "نویر"
+ },
+ "nyn": {
+ "name": "نیانکوله‌ای"
+ },
+ "ne": {
+ "name": "نیپالی"
+ },
+ "nl": {
+ "name": "هالندی"
+ },
+ "haw": {
+ "name": "هاوائیایی"
+ },
+ "es": {
+ "name": "هسپانوی"
+ },
+ "hi": {
+ "name": "هندی"
+ },
+ "ha": {
+ "name": "هوسیایی"
+ },
+ "wae": {
+ "name": "والسر"
+ },
+ "vo": {
+ "name": "ولاپوک"
+ },
+ "cy": {
+ "name": "ولزی"
+ },
+ "vun": {
+ "name": "ونجو"
+ },
+ "vai": {
+ "name": "ویایی"
+ },
+ "vi": {
+ "name": "ویتنامی"
+ },
+ "sah": {
+ "name": "یاقوتی"
+ },
+ "yav": {
+ "name": "یانگبنی"
+ },
+ "yi": {
+ "name": "یدی"
+ },
+ "yo": {
+ "name": "یوروبایی"
+ },
+ "el": {
+ "name": "یونانی"
+ },
+ "ii": {
+ "name": "یی سیچوان"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/fa.json b/vendor/commerceguys/intl/resources/language/fa.json
new file mode 100644
index 000000000..f2dc829ba
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/fa.json
@@ -0,0 +1,638 @@
+{
+ "as": {
+ "name": "آسامی"
+ },
+ "ast": {
+ "name": "آستوری"
+ },
+ "asa": {
+ "name": "آسو"
+ },
+ "os": {
+ "name": "آسی"
+ },
+ "af": {
+ "name": "آفریکانس"
+ },
+ "ak": {
+ "name": "آکان"
+ },
+ "agq": {
+ "name": "آگیم"
+ },
+ "sq": {
+ "name": "آلبانیایی"
+ },
+ "de": {
+ "name": "آلمانی"
+ },
+ "de-AT": {
+ "name": "آلمانی اتریش"
+ },
+ "nds": {
+ "name": "آلمانی سفلی"
+ },
+ "gsw": {
+ "name": "آلمانی سوئیسی"
+ },
+ "de-CH": {
+ "name": "آلمانی معیار سوئیس"
+ },
+ "tzm": {
+ "name": "آمازیغی اطلس مرکزی"
+ },
+ "zgh": {
+ "name": "آمازیغی معیار مراکش"
+ },
+ "ur": {
+ "name": "اردو"
+ },
+ "hy": {
+ "name": "ارمنی"
+ },
+ "uz": {
+ "name": "ازبکی"
+ },
+ "es": {
+ "name": "اسپانیایی"
+ },
+ "es-MX": {
+ "name": "اسپانیایی مکزیک"
+ },
+ "eo": {
+ "name": "اسپرانتو"
+ },
+ "et": {
+ "name": "استونیایی"
+ },
+ "cu": {
+ "name": "اسلاوی کلیسایی"
+ },
+ "sk": {
+ "name": "اسلواکی"
+ },
+ "sl": {
+ "name": "اسلوونیایی"
+ },
+ "ebu": {
+ "name": "امبو"
+ },
+ "am": {
+ "name": "امهری"
+ },
+ "id": {
+ "name": "اندونزیایی"
+ },
+ "nd": {
+ "name": "انده‌بله‌ای شمالی"
+ },
+ "en": {
+ "name": "انگلیسی"
+ },
+ "en-AU": {
+ "name": "انگلیسی استرالیا"
+ },
+ "en-GB": {
+ "name": "انگلیسی بریتانیا"
+ },
+ "en-CA": {
+ "name": "انگلیسی کانادا"
+ },
+ "nnh": {
+ "name": "انگیمبونی"
+ },
+ "ewo": {
+ "name": "اواندو"
+ },
+ "om": {
+ "name": "اورومویی"
+ },
+ "or": {
+ "name": "اوریه‌ای"
+ },
+ "uk": {
+ "name": "اوکراینی"
+ },
+ "ee": {
+ "name": "اوه‌ای"
+ },
+ "ug": {
+ "name": "اویغوری"
+ },
+ "it": {
+ "name": "ایتالیایی"
+ },
+ "ga": {
+ "name": "ایرلندی"
+ },
+ "is": {
+ "name": "ایسلندی"
+ },
+ "ig": {
+ "name": "ایگبویی"
+ },
+ "smn": {
+ "name": "ایناری سامی"
+ },
+ "bas": {
+ "name": "باسایی"
+ },
+ "eu": {
+ "name": "باسکی"
+ },
+ "ksf": {
+ "name": "بافیایی"
+ },
+ "bm": {
+ "name": "بامبارایی"
+ },
+ "br": {
+ "name": "برتون"
+ },
+ "my": {
+ "name": "برمه‌ای"
+ },
+ "be": {
+ "name": "بلاروسی"
+ },
+ "bg": {
+ "name": "بلغاری"
+ },
+ "bem": {
+ "name": "بمبایی"
+ },
+ "bez": {
+ "name": "بنایی"
+ },
+ "bn": {
+ "name": "بنگالی"
+ },
+ "brx": {
+ "name": "بودویی"
+ },
+ "bs": {
+ "name": "بوسنیایی"
+ },
+ "pt": {
+ "name": "پرتغالی"
+ },
+ "pt-PT": {
+ "name": "پرتغالی اروپا"
+ },
+ "prg": {
+ "name": "پروسی"
+ },
+ "ps": {
+ "name": "پشتو"
+ },
+ "pa": {
+ "name": "پنجابی"
+ },
+ "shi": {
+ "name": "تاچل‌هیت"
+ },
+ "ta": {
+ "name": "تامیلی"
+ },
+ "dav": {
+ "name": "تایتا"
+ },
+ "th": {
+ "name": "تایلندی"
+ },
+ "bo": {
+ "name": "تبتی"
+ },
+ "tk": {
+ "name": "ترکمنی"
+ },
+ "az": {
+ "name": "ترکی آذربایجانی"
+ },
+ "tr": {
+ "name": "ترکی استانبولی"
+ },
+ "twq": {
+ "name": "تسواکی"
+ },
+ "teo": {
+ "name": "تسویی"
+ },
+ "te": {
+ "name": "تلوگویی"
+ },
+ "to": {
+ "name": "تونگایی"
+ },
+ "ti": {
+ "name": "تیگرینیایی"
+ },
+ "dz": {
+ "name": "جونخایی"
+ },
+ "ce": {
+ "name": "چچنی"
+ },
+ "chr": {
+ "name": "چروکیایی"
+ },
+ "cs": {
+ "name": "چکی"
+ },
+ "cgg": {
+ "name": "چیگا"
+ },
+ "zh": {
+ "name": "چینی"
+ },
+ "zh-Hans": {
+ "name": "چینی ساده‌شده"
+ },
+ "zh-Hant": {
+ "name": "چینی سنتی"
+ },
+ "km": {
+ "name": "خمری"
+ },
+ "da": {
+ "name": "دانمارکی"
+ },
+ "fa-AF": {
+ "name": "دری"
+ },
+ "dua": {
+ "name": "دوآلایی"
+ },
+ "dyo": {
+ "name": "دیولا فونی"
+ },
+ "rwk": {
+ "name": "روایی"
+ },
+ "ru": {
+ "name": "روسی"
+ },
+ "rm": {
+ "name": "رومانش"
+ },
+ "ro": {
+ "name": "رومانیایی"
+ },
+ "rof": {
+ "name": "رومبویی"
+ },
+ "rn": {
+ "name": "روندیایی"
+ },
+ "ksh": {
+ "name": "ریپواری"
+ },
+ "dje": {
+ "name": "زرما"
+ },
+ "zu": {
+ "name": "زولویی"
+ },
+ "ja": {
+ "name": "ژاپنی"
+ },
+ "nds-NL": {
+ "name": "ساکسونی سفلی"
+ },
+ "saq": {
+ "name": "سامبورو"
+ },
+ "se": {
+ "name": "سامی شمالی"
+ },
+ "sg": {
+ "name": "سانگو"
+ },
+ "sbp": {
+ "name": "سانگویی"
+ },
+ "seh": {
+ "name": "سنا"
+ },
+ "sw": {
+ "name": "سواحیلی"
+ },
+ "sw-CD": {
+ "name": "سواحیلی کنگو"
+ },
+ "sv": {
+ "name": "سوئدی"
+ },
+ "xog": {
+ "name": "سوگایی"
+ },
+ "so": {
+ "name": "سومالیایی"
+ },
+ "si": {
+ "name": "سینهالی"
+ },
+ "ksb": {
+ "name": "شامبالا"
+ },
+ "sn": {
+ "name": "شونایی"
+ },
+ "sr": {
+ "name": "صربی"
+ },
+ "dsb": {
+ "name": "صُربی سفلی"
+ },
+ "hsb": {
+ "name": "صُربی علیا"
+ },
+ "he": {
+ "name": "عبری"
+ },
+ "ar": {
+ "name": "عربی"
+ },
+ "fa": {
+ "name": "فارسی"
+ },
+ "fo": {
+ "name": "فارویی"
+ },
+ "fr": {
+ "name": "فرانسوی"
+ },
+ "fr-CH": {
+ "name": "فرانسوی سوئیس"
+ },
+ "fr-CA": {
+ "name": "فرانسوی کانادا"
+ },
+ "fy": {
+ "name": "فریزی غربی"
+ },
+ "fur": {
+ "name": "فریولیایی"
+ },
+ "nl-BE": {
+ "name": "فلمنگی"
+ },
+ "fi": {
+ "name": "فنلاندی"
+ },
+ "ff": {
+ "name": "فولایی"
+ },
+ "fil": {
+ "name": "فیلیپینی"
+ },
+ "kab": {
+ "name": "قبایلی"
+ },
+ "ky": {
+ "name": "قرقیزی"
+ },
+ "kk": {
+ "name": "قزاقی"
+ },
+ "kea": {
+ "name": "کابووردیانو"
+ },
+ "ca": {
+ "name": "کاتالان"
+ },
+ "kkj": {
+ "name": "کاکایی"
+ },
+ "kln": {
+ "name": "کالنجین"
+ },
+ "kam": {
+ "name": "کامبایی"
+ },
+ "kn": {
+ "name": "کانارا"
+ },
+ "yue": {
+ "name": "کانتونی"
+ },
+ "qu": {
+ "name": "کچوایی"
+ },
+ "ckb": {
+ "name": "کردی مرکزی"
+ },
+ "kw": {
+ "name": "کرنوالی"
+ },
+ "hr": {
+ "name": "کروات"
+ },
+ "ko": {
+ "name": "کره‌ای"
+ },
+ "ks": {
+ "name": "کشمیری"
+ },
+ "kok": {
+ "name": "کنکانی"
+ },
+ "nmg": {
+ "name": "کوازیو"
+ },
+ "khq": {
+ "name": "کوجراچینی"
+ },
+ "ses": {
+ "name": "کویرابورا سنی"
+ },
+ "ki": {
+ "name": "کیکویویی"
+ },
+ "rw": {
+ "name": "کینیارواندایی"
+ },
+ "gl": {
+ "name": "گالیسیایی"
+ },
+ "lg": {
+ "name": "گاندایی"
+ },
+ "gu": {
+ "name": "گجراتی"
+ },
+ "ka": {
+ "name": "گرجی"
+ },
+ "kl": {
+ "name": "گرینلندی"
+ },
+ "guz": {
+ "name": "گوسی"
+ },
+ "gd": {
+ "name": "گیلی اسکاتلندی"
+ },
+ "lo": {
+ "name": "لائوسی"
+ },
+ "lkt": {
+ "name": "لاکوتا"
+ },
+ "lag": {
+ "name": "لانگی"
+ },
+ "lv": {
+ "name": "لتونیایی"
+ },
+ "lrc": {
+ "name": "لری شمالی"
+ },
+ "luo": {
+ "name": "لوئویی"
+ },
+ "lu": {
+ "name": "لوبایی‐کاتانگا"
+ },
+ "lb": {
+ "name": "لوگزامبورگی"
+ },
+ "luy": {
+ "name": "لویا"
+ },
+ "pl": {
+ "name": "لهستانی"
+ },
+ "lt": {
+ "name": "لیتوانیایی"
+ },
+ "ln": {
+ "name": "لینگالا"
+ },
+ "jmc": {
+ "name": "ماچامه‌ای"
+ },
+ "mzn": {
+ "name": "مازندرانی"
+ },
+ "mas": {
+ "name": "ماسایی"
+ },
+ "mgh": {
+ "name": "ماکوا متو"
+ },
+ "kde": {
+ "name": "ماکونده"
+ },
+ "mg": {
+ "name": "مالاگاسیایی"
+ },
+ "ml": {
+ "name": "مالایالامی"
+ },
+ "ms": {
+ "name": "مالایی"
+ },
+ "mt": {
+ "name": "مالتی"
+ },
+ "mua": {
+ "name": "ماندانگی"
+ },
+ "gv": {
+ "name": "مانی"
+ },
+ "mgo": {
+ "name": "متایی"
+ },
+ "hu": {
+ "name": "مجاری"
+ },
+ "mr": {
+ "name": "مراتی"
+ },
+ "mer": {
+ "name": "مرویی"
+ },
+ "mn": {
+ "name": "مغولی"
+ },
+ "mk": {
+ "name": "مقدونی"
+ },
+ "mfe": {
+ "name": "موریسین"
+ },
+ "ro-MD": {
+ "name": "مولداویایی"
+ },
+ "naq": {
+ "name": "نامایی"
+ },
+ "ne": {
+ "name": "نپالی"
+ },
+ "nb": {
+ "name": "نروژی بوک‌مُل"
+ },
+ "nn": {
+ "name": "نروژی نی‌نُشک"
+ },
+ "jgo": {
+ "name": "نگومبا"
+ },
+ "nus": {
+ "name": "نویر"
+ },
+ "nyn": {
+ "name": "نیانکوله‌ای"
+ },
+ "wae": {
+ "name": "والسر"
+ },
+ "vo": {
+ "name": "ولاپوک"
+ },
+ "cy": {
+ "name": "ولزی"
+ },
+ "vun": {
+ "name": "ونجو"
+ },
+ "vai": {
+ "name": "ویایی"
+ },
+ "vi": {
+ "name": "ویتنامی"
+ },
+ "haw": {
+ "name": "هاوائیایی"
+ },
+ "nl": {
+ "name": "هلندی"
+ },
+ "hi": {
+ "name": "هندی"
+ },
+ "ha": {
+ "name": "هوسیایی"
+ },
+ "sah": {
+ "name": "یاقوتی"
+ },
+ "yav": {
+ "name": "یانگبنی"
+ },
+ "yi": {
+ "name": "یدی"
+ },
+ "yo": {
+ "name": "یوروبایی"
+ },
+ "el": {
+ "name": "یونانی"
+ },
+ "ii": {
+ "name": "یی سیچوان"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/ff.json b/vendor/commerceguys/intl/resources/language/ff.json
new file mode 100644
index 000000000..fd15d73bf
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/ff.json
@@ -0,0 +1,632 @@
+{
+ "ar": {
+ "name": "Aarabeere"
+ },
+ "af": {
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "ak": {
+ "name": "Akaan"
+ },
+ "sq": {
+ "name": "Albanian"
+ },
+ "am": {
+ "name": "Amarik"
+ },
+ "hy": {
+ "name": "Armenian"
+ },
+ "as": {
+ "name": "Assamese"
+ },
+ "ast": {
+ "name": "Asturian"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "az": {
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "eu": {
+ "name": "Basque"
+ },
+ "be": {
+ "name": "Belaruuse"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "bn": {
+ "name": "Bengali"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "bs": {
+ "name": "Bosnian"
+ },
+ "br": {
+ "name": "Breton"
+ },
+ "bg": {
+ "name": "Bulgariire"
+ },
+ "my": {
+ "name": "Burmeese"
+ },
+ "yue": {
+ "name": "Cantonese"
+ },
+ "ca": {
+ "name": "Catalan"
+ },
+ "cs": {
+ "name": "Cekkere"
+ },
+ "tzm": {
+ "name": "Central Atlas Tamazight"
+ },
+ "ckb": {
+ "name": "Central Kurdish"
+ },
+ "ce": {
+ "name": "Chechen"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "cu": {
+ "name": "Church Slavic"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "kw": {
+ "name": "Cornish"
+ },
+ "hr": {
+ "name": "Croatian"
+ },
+ "nl": {
+ "name": "Dacceere"
+ },
+ "nl-BE": {
+ "name": "Dacceere (Beljik)"
+ },
+ "da": {
+ "name": "Danish"
+ },
+ "de": {
+ "name": "Docceere"
+ },
+ "de-AT": {
+ "name": "Docceere (Otiriis)"
+ },
+ "de-CH": {
+ "name": "Docceere (Suwiis)"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "dz": {
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "id": {
+ "name": "Endonesiire"
+ },
+ "en": {
+ "name": "Engeleere"
+ },
+ "en-CA": {
+ "name": "Engeleere (Kanadaa)"
+ },
+ "en-GB": {
+ "name": "Engeleere (Laamateeri Rentundi)"
+ },
+ "en-AU": {
+ "name": "Engeleere (Ostaraalii)"
+ },
+ "es": {
+ "name": "Español"
+ },
+ "es-MX": {
+ "name": "Español (Meksik)"
+ },
+ "eo": {
+ "name": "Esperanto"
+ },
+ "et": {
+ "name": "Estonian"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fr": {
+ "name": "Farayseere"
+ },
+ "fr-CA": {
+ "name": "Farayseere (Kanadaa)"
+ },
+ "fr-CH": {
+ "name": "Farayseere (Suwiis)"
+ },
+ "fo": {
+ "name": "Faroese"
+ },
+ "fil": {
+ "name": "Filipino"
+ },
+ "fi": {
+ "name": "Finnish"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "gl": {
+ "name": "Galician"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "ka": {
+ "name": "Georgian"
+ },
+ "el": {
+ "name": "Gerke"
+ },
+ "gu": {
+ "name": "Gujarati"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "haw": {
+ "name": "Hawaiian"
+ },
+ "ha": {
+ "name": "Hawsaŋkoore"
+ },
+ "he": {
+ "name": "Hebrew"
+ },
+ "hi": {
+ "name": "Hinndi"
+ },
+ "hu": {
+ "name": "Hongariire"
+ },
+ "is": {
+ "name": "Icelandic"
+ },
+ "ig": {
+ "name": "Igiboore"
+ },
+ "smn": {
+ "name": "Inari Sami"
+ },
+ "ga": {
+ "name": "Irish"
+ },
+ "it": {
+ "name": "Italiyeere"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabyle"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kl": {
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "kn": {
+ "name": "Kannada"
+ },
+ "ks": {
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "name": "Kazakh"
+ },
+ "km": {
+ "name": "Kemeere"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "ko": {
+ "name": "Koreere"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "ky": {
+ "name": "Kyrgyz"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "Lao"
+ },
+ "lv": {
+ "name": "Latvian"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "lt": {
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "mk": {
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "mg": {
+ "name": "Malagasy"
+ },
+ "ml": {
+ "name": "Malayalam"
+ },
+ "ms": {
+ "name": "Malayeere"
+ },
+ "mt": {
+ "name": "Maltese"
+ },
+ "gv": {
+ "name": "Manx"
+ },
+ "mr": {
+ "name": "Marathi"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "mn": {
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nds-NL": {
+ "name": "nds (Nederlannda)"
+ },
+ "ne": {
+ "name": "Nepaaleere"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "nd": {
+ "name": "North Ndebele"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "se": {
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "or": {
+ "name": "Odia"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "os": {
+ "name": "Ossetic"
+ },
+ "ps": {
+ "name": "Pashto"
+ },
+ "fa": {
+ "name": "Perseere"
+ },
+ "pl": {
+ "name": "Poloneere"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "ff": {
+ "name": "Pulaar"
+ },
+ "pa": {
+ "name": "Punjabeere"
+ },
+ "pt": {
+ "name": "Purtugeere"
+ },
+ "pt-PT": {
+ "name": "Purtugeere (Purtugaal)"
+ },
+ "qu": {
+ "name": "Quechua"
+ },
+ "ru": {
+ "name": "Riis"
+ },
+ "ro": {
+ "name": "Romaneere"
+ },
+ "ro-MD": {
+ "name": "Romaneere (Moldawii)"
+ },
+ "rm": {
+ "name": "Romansh"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "rn": {
+ "name": "Rundi"
+ },
+ "rw": {
+ "name": "Ruwaanndeere"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "sah": {
+ "name": "Sakha"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "ja": {
+ "name": "Saponeere"
+ },
+ "gd": {
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "sr": {
+ "name": "Serbian"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "si": {
+ "name": "Sinhala"
+ },
+ "zh": {
+ "name": "Sinuwaare"
+ },
+ "zh-Hans": {
+ "name": "Sinuwaare (Hans)"
+ },
+ "zh-Hant": {
+ "name": "Sinuwaare (Hant)"
+ },
+ "sk": {
+ "name": "Slovak"
+ },
+ "sl": {
+ "name": "Slovenian"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "so": {
+ "name": "Somalii"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "zu": {
+ "name": "Suluŋkoore"
+ },
+ "sw-CD": {
+ "name": "sw (Ndenndaandi Demokaraasiire Konngo)"
+ },
+ "sw": {
+ "name": "Swahili"
+ },
+ "sv": {
+ "name": "Sweedeere"
+ },
+ "gsw": {
+ "name": "Swiss German"
+ },
+ "th": {
+ "name": "Taay"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "ta": {
+ "name": "Tamil"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "te": {
+ "name": "Telugu"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "bo": {
+ "name": "Tibetan"
+ },
+ "ti": {
+ "name": "Tigrinya"
+ },
+ "to": {
+ "name": "Tongan"
+ },
+ "tr": {
+ "name": "Turkeere"
+ },
+ "tk": {
+ "name": "Turkmen"
+ },
+ "uk": {
+ "name": "Ukereneere"
+ },
+ "hsb": {
+ "name": "Upper Sorbian"
+ },
+ "ur": {
+ "name": "Urdu"
+ },
+ "ug": {
+ "name": "Uyghur"
+ },
+ "uz": {
+ "name": "Uzbek"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "cy": {
+ "name": "Welsh"
+ },
+ "fy": {
+ "name": "Western Frisian"
+ },
+ "vi": {
+ "name": "Wiyetnameere"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "yi": {
+ "name": "Yiddish"
+ },
+ "yo": {
+ "name": "Yorrubaa"
+ },
+ "dje": {
+ "name": "Zarma"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/fi.json b/vendor/commerceguys/intl/resources/language/fi.json
new file mode 100644
index 000000000..f52ecbcaa
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/fi.json
@@ -0,0 +1,635 @@
+{
+ "af": {
+ "name": "afrikaans"
+ },
+ "agq": {
+ "name": "aghem"
+ },
+ "ak": {
+ "name": "akan"
+ },
+ "nds-NL": {
+ "name": "alankomaidenalasaksa"
+ },
+ "nds": {
+ "name": "alasaksa"
+ },
+ "dsb": {
+ "name": "alasorbi"
+ },
+ "sq": {
+ "name": "albania"
+ },
+ "am": {
+ "name": "amhara"
+ },
+ "ar": {
+ "name": "arabia"
+ },
+ "hy": {
+ "name": "armenia"
+ },
+ "as": {
+ "name": "assami"
+ },
+ "ast": {
+ "name": "asturia"
+ },
+ "asa": {
+ "name": "asu"
+ },
+ "en-AU": {
+ "name": "australianenglanti"
+ },
+ "az": {
+ "name": "azeri"
+ },
+ "ksf": {
+ "name": "bafia"
+ },
+ "bm": {
+ "name": "bambara"
+ },
+ "bas": {
+ "name": "basaa"
+ },
+ "eu": {
+ "name": "baski"
+ },
+ "bem": {
+ "name": "bemba"
+ },
+ "bez": {
+ "name": "bena"
+ },
+ "bn": {
+ "name": "bengali"
+ },
+ "brx": {
+ "name": "bodo"
+ },
+ "bs": {
+ "name": "bosnia"
+ },
+ "br": {
+ "name": "bretoni"
+ },
+ "en-GB": {
+ "name": "britannianenglanti"
+ },
+ "bg": {
+ "name": "bulgaria"
+ },
+ "my": {
+ "name": "burma"
+ },
+ "chr": {
+ "name": "cherokee"
+ },
+ "dje": {
+ "name": "djerma"
+ },
+ "dua": {
+ "name": "duala"
+ },
+ "dz": {
+ "name": "dzongkha"
+ },
+ "ebu": {
+ "name": "embu"
+ },
+ "en": {
+ "name": "englanti"
+ },
+ "es": {
+ "name": "espanja"
+ },
+ "eo": {
+ "name": "esperanto"
+ },
+ "pt-PT": {
+ "name": "euroopanportugali"
+ },
+ "ee": {
+ "name": "ewe"
+ },
+ "ewo": {
+ "name": "ewondo"
+ },
+ "fa": {
+ "name": "farsi"
+ },
+ "fil": {
+ "name": "filipino"
+ },
+ "nl-BE": {
+ "name": "flaami"
+ },
+ "fur": {
+ "name": "friuli"
+ },
+ "ff": {
+ "name": "fulani"
+ },
+ "fo": {
+ "name": "fääri"
+ },
+ "gd": {
+ "name": "gaeli"
+ },
+ "gl": {
+ "name": "galicia"
+ },
+ "lg": {
+ "name": "ganda"
+ },
+ "ka": {
+ "name": "georgia"
+ },
+ "gu": {
+ "name": "gudžarati"
+ },
+ "guz": {
+ "name": "gusii"
+ },
+ "ha": {
+ "name": "hausa"
+ },
+ "haw": {
+ "name": "havaiji"
+ },
+ "he": {
+ "name": "heprea"
+ },
+ "hi": {
+ "name": "hindi"
+ },
+ "nl": {
+ "name": "hollanti"
+ },
+ "ig": {
+ "name": "igbo"
+ },
+ "ga": {
+ "name": "iiri"
+ },
+ "smn": {
+ "name": "inarinsaame"
+ },
+ "id": {
+ "name": "indonesia"
+ },
+ "is": {
+ "name": "islanti"
+ },
+ "it": {
+ "name": "italia"
+ },
+ "de-AT": {
+ "name": "itävallansaksa"
+ },
+ "sah": {
+ "name": "jakuutti"
+ },
+ "ja": {
+ "name": "japani"
+ },
+ "yi": {
+ "name": "jiddiš"
+ },
+ "dyo": {
+ "name": "jola-fonyi"
+ },
+ "yo": {
+ "name": "joruba"
+ },
+ "kab": {
+ "name": "kabyyli"
+ },
+ "kkj": {
+ "name": "kako"
+ },
+ "kl": {
+ "name": "kalaallisut"
+ },
+ "kln": {
+ "name": "kalenjin"
+ },
+ "kam": {
+ "name": "kamba"
+ },
+ "en-CA": {
+ "name": "kanadanenglanti"
+ },
+ "fr-CA": {
+ "name": "kanadanranska"
+ },
+ "kn": {
+ "name": "kannada"
+ },
+ "yue": {
+ "name": "kantoninkiina"
+ },
+ "kea": {
+ "name": "kapverdenkreoli"
+ },
+ "ks": {
+ "name": "kašmiri"
+ },
+ "ca": {
+ "name": "katalaani"
+ },
+ "lu": {
+ "name": "katanganluba"
+ },
+ "kk": {
+ "name": "kazakki"
+ },
+ "tzm": {
+ "name": "keskiatlaksentamazight"
+ },
+ "qu": {
+ "name": "ketšua"
+ },
+ "km": {
+ "name": "khmer"
+ },
+ "cgg": {
+ "name": "kiga"
+ },
+ "zh": {
+ "name": "kiina"
+ },
+ "ki": {
+ "name": "kikuju"
+ },
+ "sw-CD": {
+ "name": "kingwana"
+ },
+ "ky": {
+ "name": "kirgiisi"
+ },
+ "cu": {
+ "name": "kirkkoslaavi"
+ },
+ "kok": {
+ "name": "konkani"
+ },
+ "ko": {
+ "name": "korea"
+ },
+ "kw": {
+ "name": "korni"
+ },
+ "khq": {
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "name": "koyraboro senni"
+ },
+ "el": {
+ "name": "kreikka"
+ },
+ "hr": {
+ "name": "kroatia"
+ },
+ "nmg": {
+ "name": "kwasio"
+ },
+ "cy": {
+ "name": "kymri"
+ },
+ "ksh": {
+ "name": "kölsch"
+ },
+ "lkt": {
+ "name": "lakota"
+ },
+ "lag": {
+ "name": "lango"
+ },
+ "lo": {
+ "name": "lao"
+ },
+ "lv": {
+ "name": "latvia"
+ },
+ "lt": {
+ "name": "liettua"
+ },
+ "ln": {
+ "name": "lingala"
+ },
+ "luy": {
+ "name": "luhya"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "luxemburg"
+ },
+ "fy": {
+ "name": "länsifriisi"
+ },
+ "mas": {
+ "name": "maasai"
+ },
+ "jmc": {
+ "name": "machame"
+ },
+ "mk": {
+ "name": "makedonia"
+ },
+ "kde": {
+ "name": "makonde"
+ },
+ "mgh": {
+ "name": "makua-meetto"
+ },
+ "mg": {
+ "name": "malagassi"
+ },
+ "ms": {
+ "name": "malaiji"
+ },
+ "ml": {
+ "name": "malajalam"
+ },
+ "mt": {
+ "name": "malta"
+ },
+ "gv": {
+ "name": "manksi"
+ },
+ "mr": {
+ "name": "marathi"
+ },
+ "mzn": {
+ "name": "mazandarani"
+ },
+ "es-MX": {
+ "name": "meksikonespanja"
+ },
+ "mer": {
+ "name": "meru"
+ },
+ "mgo": {
+ "name": "meta’"
+ },
+ "ro-MD": {
+ "name": "moldova"
+ },
+ "mn": {
+ "name": "mongoli"
+ },
+ "mfe": {
+ "name": "morisyen"
+ },
+ "prg": {
+ "name": "muinaispreussi"
+ },
+ "mua": {
+ "name": "mundang"
+ },
+ "naq": {
+ "name": "nama"
+ },
+ "ne": {
+ "name": "nepali"
+ },
+ "nnh": {
+ "name": "ngiemboon"
+ },
+ "jgo": {
+ "name": "ngomba"
+ },
+ "nb": {
+ "name": "norjan bokmål"
+ },
+ "nn": {
+ "name": "norjan nynorsk"
+ },
+ "nus": {
+ "name": "nuer"
+ },
+ "nyn": {
+ "name": "nyankole"
+ },
+ "or": {
+ "name": "orija"
+ },
+ "om": {
+ "name": "oromo"
+ },
+ "os": {
+ "name": "osseetti"
+ },
+ "pa": {
+ "name": "pandžabi"
+ },
+ "ps": {
+ "name": "paštu"
+ },
+ "zh-Hant": {
+ "name": "perinteinen kiina"
+ },
+ "nd": {
+ "name": "pohjois-ndebele"
+ },
+ "lrc": {
+ "name": "pohjoisluri"
+ },
+ "se": {
+ "name": "pohjoissaame"
+ },
+ "pt": {
+ "name": "portugali"
+ },
+ "pl": {
+ "name": "puola"
+ },
+ "fr": {
+ "name": "ranska"
+ },
+ "rm": {
+ "name": "retoromaani"
+ },
+ "ro": {
+ "name": "romania"
+ },
+ "rof": {
+ "name": "rombo"
+ },
+ "rw": {
+ "name": "ruanda"
+ },
+ "rn": {
+ "name": "rundi"
+ },
+ "sv": {
+ "name": "ruotsi"
+ },
+ "rwk": {
+ "name": "rwa"
+ },
+ "de": {
+ "name": "saksa"
+ },
+ "saq": {
+ "name": "samburu"
+ },
+ "sg": {
+ "name": "sango"
+ },
+ "sbp": {
+ "name": "sangu"
+ },
+ "seh": {
+ "name": "sena"
+ },
+ "sr": {
+ "name": "serbia"
+ },
+ "ksb": {
+ "name": "shambala"
+ },
+ "ii": {
+ "name": "sichuanin-yi"
+ },
+ "si": {
+ "name": "sinhala"
+ },
+ "sk": {
+ "name": "slovakki"
+ },
+ "sl": {
+ "name": "sloveeni"
+ },
+ "xog": {
+ "name": "soga"
+ },
+ "so": {
+ "name": "somali"
+ },
+ "sn": {
+ "name": "šona"
+ },
+ "ckb": {
+ "name": "sorani"
+ },
+ "fi": {
+ "name": "suomi"
+ },
+ "fr-CH": {
+ "name": "sveitsinranska"
+ },
+ "gsw": {
+ "name": "sveitsinsaksa"
+ },
+ "de-CH": {
+ "name": "sveitsinyläsaksa"
+ },
+ "sw": {
+ "name": "swahili"
+ },
+ "dav": {
+ "name": "taita"
+ },
+ "ta": {
+ "name": "tamili"
+ },
+ "da": {
+ "name": "tanska"
+ },
+ "twq": {
+ "name": "tasawaq"
+ },
+ "shi": {
+ "name": "tašelhit"
+ },
+ "te": {
+ "name": "telugu"
+ },
+ "teo": {
+ "name": "teso"
+ },
+ "th": {
+ "name": "thai"
+ },
+ "ti": {
+ "name": "tigrinja"
+ },
+ "bo": {
+ "name": "tiibet"
+ },
+ "to": {
+ "name": "tonga"
+ },
+ "cs": {
+ "name": "tšekki"
+ },
+ "ce": {
+ "name": "tšetšeeni"
+ },
+ "tr": {
+ "name": "turkki"
+ },
+ "tk": {
+ "name": "turkmeeni"
+ },
+ "ug": {
+ "name": "uiguuri"
+ },
+ "uk": {
+ "name": "ukraina"
+ },
+ "hu": {
+ "name": "unkari"
+ },
+ "ur": {
+ "name": "urdu"
+ },
+ "uz": {
+ "name": "uzbekki"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "zgh": {
+ "name": "vakioitu tamazight"
+ },
+ "be": {
+ "name": "valkovenäjä"
+ },
+ "ru": {
+ "name": "venäjä"
+ },
+ "vi": {
+ "name": "vietnam"
+ },
+ "et": {
+ "name": "viro"
+ },
+ "vo": {
+ "name": "volapük"
+ },
+ "vun": {
+ "name": "vunjo"
+ },
+ "wae": {
+ "name": "walser"
+ },
+ "yav": {
+ "name": "yangben"
+ },
+ "zh-Hans": {
+ "name": "yksinkertaistettu kiina"
+ },
+ "hsb": {
+ "name": "yläsorbi"
+ },
+ "zu": {
+ "name": "zulu"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/fil.json b/vendor/commerceguys/intl/resources/language/fil.json
new file mode 100644
index 000000000..95c0ffc73
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/fil.json
@@ -0,0 +1,635 @@
+{
+ "af": {
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "ak": {
+ "name": "Akan"
+ },
+ "sq": {
+ "name": "Albanian"
+ },
+ "am": {
+ "name": "Amharic"
+ },
+ "ar": {
+ "name": "Arabic"
+ },
+ "hy": {
+ "name": "Armenian"
+ },
+ "as": {
+ "name": "Assamese"
+ },
+ "ast": {
+ "name": "Asturian"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "de-AT": {
+ "name": "Austrian German"
+ },
+ "az": {
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bn": {
+ "name": "Bangla"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "eu": {
+ "name": "Basque"
+ },
+ "be": {
+ "name": "Belarusian"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "bs": {
+ "name": "Bosnian"
+ },
+ "br": {
+ "name": "Breton"
+ },
+ "bg": {
+ "name": "Bulgarian"
+ },
+ "my": {
+ "name": "Burmese"
+ },
+ "yue": {
+ "name": "Cantonese"
+ },
+ "ca": {
+ "name": "Catalan"
+ },
+ "tzm": {
+ "name": "Central Atlas Tamazight"
+ },
+ "ckb": {
+ "name": "Central Kurdish"
+ },
+ "ce": {
+ "name": "Chechen"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "zh": {
+ "name": "Chinese"
+ },
+ "cu": {
+ "name": "Church Slavic"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "sw-CD": {
+ "name": "Congo Swahili"
+ },
+ "kw": {
+ "name": "Cornish"
+ },
+ "hr": {
+ "name": "Croatian"
+ },
+ "cs": {
+ "name": "Czech"
+ },
+ "da": {
+ "name": "Danish"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "nl": {
+ "name": "Dutch"
+ },
+ "dz": {
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "eo": {
+ "name": "Esperanto"
+ },
+ "et": {
+ "name": "Estonian"
+ },
+ "pt-PT": {
+ "name": "European Portuguese"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fo": {
+ "name": "Faroese"
+ },
+ "fil": {
+ "name": "Filipino"
+ },
+ "fi": {
+ "name": "Finnish"
+ },
+ "nl-BE": {
+ "name": "Flemish"
+ },
+ "fr": {
+ "name": "French"
+ },
+ "fr-CA": {
+ "name": "French sa Canada"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "gl": {
+ "name": "Galician"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "ka": {
+ "name": "Georgian"
+ },
+ "de": {
+ "name": "German"
+ },
+ "el": {
+ "name": "Greek"
+ },
+ "gu": {
+ "name": "Gujarati"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "ha": {
+ "name": "Hausa"
+ },
+ "haw": {
+ "name": "Hawaiian"
+ },
+ "he": {
+ "name": "Hebrew"
+ },
+ "lrc": {
+ "name": "Hilagang Luri"
+ },
+ "nd": {
+ "name": "Hilagang Ndebele"
+ },
+ "se": {
+ "name": "Hilagang Sami"
+ },
+ "hi": {
+ "name": "Hindi"
+ },
+ "hu": {
+ "name": "Hungarian"
+ },
+ "is": {
+ "name": "Icelandic"
+ },
+ "ig": {
+ "name": "Igbo"
+ },
+ "smn": {
+ "name": "Inari Sami"
+ },
+ "id": {
+ "name": "Indonesian"
+ },
+ "en": {
+ "name": "Ingles"
+ },
+ "en-GB": {
+ "name": "Ingles na British"
+ },
+ "en-AU": {
+ "name": "Ingles ng Australya"
+ },
+ "en-CA": {
+ "name": "Ingles sa Canada"
+ },
+ "ga": {
+ "name": "Irish"
+ },
+ "it": {
+ "name": "Italian"
+ },
+ "ja": {
+ "name": "Japanese"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabyle"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kl": {
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "fy": {
+ "name": "Kanlurang Frisian"
+ },
+ "kn": {
+ "name": "Kannada"
+ },
+ "ks": {
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "name": "Kazakh"
+ },
+ "km": {
+ "name": "Khmer"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "rw": {
+ "name": "Kinyarwanda"
+ },
+ "ky": {
+ "name": "Kirghiz"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "ko": {
+ "name": "Korean"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "Lao"
+ },
+ "lv": {
+ "name": "Latvian"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "lt": {
+ "name": "Lithuanian"
+ },
+ "nds": {
+ "name": "Low German"
+ },
+ "nds-NL": {
+ "name": "Low Saxon"
+ },
+ "dsb": {
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "mk": {
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "mg": {
+ "name": "Malagasy"
+ },
+ "ms": {
+ "name": "Malay"
+ },
+ "ml": {
+ "name": "Malayalam"
+ },
+ "mt": {
+ "name": "Maltese"
+ },
+ "gv": {
+ "name": "Manx"
+ },
+ "mr": {
+ "name": "Marathi"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Meta’"
+ },
+ "es-MX": {
+ "name": "Mexican na Espanyol"
+ },
+ "ro-MD": {
+ "name": "Moldavian"
+ },
+ "mn": {
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "ne": {
+ "name": "Nepali"
+ },
+ "nb": {
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "or": {
+ "name": "Odia"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "os": {
+ "name": "Ossetic"
+ },
+ "ps": {
+ "name": "Pashto"
+ },
+ "fa": {
+ "name": "Persian"
+ },
+ "zh-Hans": {
+ "name": "Pinasimpleng Chinese"
+ },
+ "pl": {
+ "name": "Polish"
+ },
+ "pt": {
+ "name": "Portuguese"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "pa": {
+ "name": "Punjabi"
+ },
+ "qu": {
+ "name": "Quechua"
+ },
+ "ro": {
+ "name": "Romanian"
+ },
+ "rm": {
+ "name": "Romansh"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "rn": {
+ "name": "Rundi"
+ },
+ "ru": {
+ "name": "Russian"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "sah": {
+ "name": "Sakha"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "gd": {
+ "name": "Scots Gaelic"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "sr": {
+ "name": "Serbian"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "si": {
+ "name": "Sinhala"
+ },
+ "sk": {
+ "name": "Slovak"
+ },
+ "sl": {
+ "name": "Slovenian"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "so": {
+ "name": "Somali"
+ },
+ "es": {
+ "name": "Spanish"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw": {
+ "name": "Swahili"
+ },
+ "sv": {
+ "name": "Swedish"
+ },
+ "gsw": {
+ "name": "Swiss German"
+ },
+ "de-CH": {
+ "name": "Swiss High German"
+ },
+ "fr-CH": {
+ "name": "Swiss na French"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "ta": {
+ "name": "Tamil"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "te": {
+ "name": "Telugu"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "th": {
+ "name": "Thai"
+ },
+ "bo": {
+ "name": "Tibetan"
+ },
+ "ti": {
+ "name": "Tigrinya"
+ },
+ "to": {
+ "name": "Tongan"
+ },
+ "zh-Hant": {
+ "name": "Tradisyonal na Chinese"
+ },
+ "tr": {
+ "name": "Turkish"
+ },
+ "tk": {
+ "name": "Turkmen"
+ },
+ "uk": {
+ "name": "Ukranian"
+ },
+ "hsb": {
+ "name": "Upper Sorbian"
+ },
+ "ur": {
+ "name": "Urdu"
+ },
+ "ug": {
+ "name": "Uyghur"
+ },
+ "uz": {
+ "name": "Uzbek"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vi": {
+ "name": "Vietnamese"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "cy": {
+ "name": "Welsh"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "yi": {
+ "name": "Yiddish"
+ },
+ "yo": {
+ "name": "Yoruba"
+ },
+ "dje": {
+ "name": "Zarma"
+ },
+ "zu": {
+ "name": "Zulu"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/fo.json b/vendor/commerceguys/intl/resources/language/fo.json
new file mode 100644
index 000000000..aafa39ada
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/fo.json
@@ -0,0 +1,635 @@
+{
+ "af": {
+ "name": "afrikaans"
+ },
+ "agq": {
+ "name": "aghem"
+ },
+ "ak": {
+ "name": "akan"
+ },
+ "sq": {
+ "name": "albanskt"
+ },
+ "am": {
+ "name": "amhariskt"
+ },
+ "ar": {
+ "name": "arabiskt"
+ },
+ "hy": {
+ "name": "armenskt"
+ },
+ "az": {
+ "name": "aserbajdsjanskt"
+ },
+ "as": {
+ "name": "assamesiskt"
+ },
+ "ast": {
+ "name": "asturianskt"
+ },
+ "asa": {
+ "name": "asu"
+ },
+ "ksf": {
+ "name": "bafia"
+ },
+ "bm": {
+ "name": "bambara"
+ },
+ "eu": {
+ "name": "baskiskt"
+ },
+ "bas": {
+ "name": "basaa"
+ },
+ "bem": {
+ "name": "bemba"
+ },
+ "bez": {
+ "name": "bena"
+ },
+ "bn": {
+ "name": "bengalskt"
+ },
+ "brx": {
+ "name": "bodo"
+ },
+ "bs": {
+ "name": "bosniskt"
+ },
+ "br": {
+ "name": "bretonskt"
+ },
+ "bg": {
+ "name": "bulgarskt"
+ },
+ "my": {
+ "name": "burmesiskt"
+ },
+ "chr": {
+ "name": "cherokee"
+ },
+ "cgg": {
+ "name": "chiga"
+ },
+ "kw": {
+ "name": "corniskt"
+ },
+ "da": {
+ "name": "danskt"
+ },
+ "dua": {
+ "name": "duala"
+ },
+ "dz": {
+ "name": "dzongkha"
+ },
+ "zh-Hans": {
+ "name": "einkult kinesiskt"
+ },
+ "ebu": {
+ "name": "embu"
+ },
+ "en": {
+ "name": "enskt"
+ },
+ "en-AU": {
+ "name": "enskt (Avstralia)"
+ },
+ "en-CA": {
+ "name": "enskt (Kanada)"
+ },
+ "en-GB": {
+ "name": "enskt (Stórabretland)"
+ },
+ "eo": {
+ "name": "esperanto"
+ },
+ "et": {
+ "name": "estiskt"
+ },
+ "ee": {
+ "name": "ewe"
+ },
+ "ewo": {
+ "name": "ewondo"
+ },
+ "fil": {
+ "name": "filipiniskt"
+ },
+ "fi": {
+ "name": "finskt"
+ },
+ "nl-BE": {
+ "name": "flamskt"
+ },
+ "fr": {
+ "name": "franskt"
+ },
+ "fr-CA": {
+ "name": "franskt (Kanada)"
+ },
+ "fr-CH": {
+ "name": "franskt (Sveis)"
+ },
+ "fur": {
+ "name": "friuliskt"
+ },
+ "ff": {
+ "name": "fulah"
+ },
+ "fo": {
+ "name": "føroyskt"
+ },
+ "gl": {
+ "name": "galisiskt"
+ },
+ "lg": {
+ "name": "ganda"
+ },
+ "ka": {
+ "name": "georgiskt"
+ },
+ "el": {
+ "name": "grikskt"
+ },
+ "kea": {
+ "name": "grønhøvdaoyggjarskt"
+ },
+ "gu": {
+ "name": "gujarati"
+ },
+ "guz": {
+ "name": "gusii"
+ },
+ "nl": {
+ "name": "hálendskt"
+ },
+ "ha": {
+ "name": "hausa"
+ },
+ "haw": {
+ "name": "hawaiianskt"
+ },
+ "he": {
+ "name": "hebraiskt"
+ },
+ "hi": {
+ "name": "hindi"
+ },
+ "be": {
+ "name": "hvitarussiskt"
+ },
+ "de-CH": {
+ "name": "høgt týskt (Sveis)"
+ },
+ "ig": {
+ "name": "igbo"
+ },
+ "smn": {
+ "name": "inari sami"
+ },
+ "id": {
+ "name": "indonesiskt"
+ },
+ "ga": {
+ "name": "írskt"
+ },
+ "is": {
+ "name": "íslendskt"
+ },
+ "it": {
+ "name": "italskt"
+ },
+ "ja": {
+ "name": "japanskt"
+ },
+ "yi": {
+ "name": "jiddiskt"
+ },
+ "dyo": {
+ "name": "jola-fonyi"
+ },
+ "kab": {
+ "name": "kabyle"
+ },
+ "kkj": {
+ "name": "kako"
+ },
+ "kln": {
+ "name": "kalenjin"
+ },
+ "kl": {
+ "name": "kalaallisut"
+ },
+ "kam": {
+ "name": "kamba"
+ },
+ "kn": {
+ "name": "kannada"
+ },
+ "yue": {
+ "name": "kantonesiskt"
+ },
+ "ks": {
+ "name": "kashmiri"
+ },
+ "ca": {
+ "name": "katalani"
+ },
+ "kk": {
+ "name": "kazakh"
+ },
+ "cs": {
+ "name": "kekkiskt"
+ },
+ "km": {
+ "name": "khmer"
+ },
+ "ki": {
+ "name": "kikuyu"
+ },
+ "zh": {
+ "name": "kinesiskt"
+ },
+ "rw": {
+ "name": "kinyarwanda"
+ },
+ "cu": {
+ "name": "kirkju sláviskt"
+ },
+ "sw-CD": {
+ "name": "kongo svahili"
+ },
+ "kok": {
+ "name": "konkani"
+ },
+ "ko": {
+ "name": "koreanskt"
+ },
+ "khq": {
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "name": "koyraboro senni"
+ },
+ "hr": {
+ "name": "kroatiskt"
+ },
+ "nmg": {
+ "name": "kwasio"
+ },
+ "ky": {
+ "name": "kyrgyz"
+ },
+ "ksh": {
+ "name": "kølnskt"
+ },
+ "nds-NL": {
+ "name": "lágt saksiskt"
+ },
+ "dsb": {
+ "name": "lágt sorbian"
+ },
+ "nds": {
+ "name": "lágt týskt"
+ },
+ "lkt": {
+ "name": "lakota"
+ },
+ "lag": {
+ "name": "langi"
+ },
+ "lo": {
+ "name": "laoskt"
+ },
+ "lv": {
+ "name": "lettiskt"
+ },
+ "ln": {
+ "name": "lingala"
+ },
+ "lt": {
+ "name": "litaviskt"
+ },
+ "lu": {
+ "name": "luba-katanga"
+ },
+ "lb": {
+ "name": "luksemborgskt"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "luy": {
+ "name": "luyia"
+ },
+ "jmc": {
+ "name": "machame"
+ },
+ "mk": {
+ "name": "makedónskt"
+ },
+ "mgh": {
+ "name": "makhuwa-meetto"
+ },
+ "kde": {
+ "name": "makonde"
+ },
+ "mg": {
+ "name": "malagassiskt"
+ },
+ "ms": {
+ "name": "malaiiskt"
+ },
+ "ml": {
+ "name": "malayalam"
+ },
+ "mt": {
+ "name": "maltiskt"
+ },
+ "gv": {
+ "name": "manx"
+ },
+ "mr": {
+ "name": "marathi"
+ },
+ "mas": {
+ "name": "masai"
+ },
+ "mzn": {
+ "name": "mazanderani"
+ },
+ "mer": {
+ "name": "meru"
+ },
+ "mgo": {
+ "name": "metaʼ"
+ },
+ "tzm": {
+ "name": "miðatlasfjøll tamazight"
+ },
+ "ckb": {
+ "name": "miðkurdiskt"
+ },
+ "ro-MD": {
+ "name": "moldaviskt"
+ },
+ "mn": {
+ "name": "mongolskt"
+ },
+ "mfe": {
+ "name": "morisyen"
+ },
+ "mua": {
+ "name": "mundang"
+ },
+ "naq": {
+ "name": "nama"
+ },
+ "ne": {
+ "name": "nepalskt"
+ },
+ "nnh": {
+ "name": "ngiemboon"
+ },
+ "jgo": {
+ "name": "ngomba"
+ },
+ "lrc": {
+ "name": "norður luri"
+ },
+ "nd": {
+ "name": "norður ndebele"
+ },
+ "se": {
+ "name": "norður sámiskt"
+ },
+ "nb": {
+ "name": "norskt bókmál"
+ },
+ "nus": {
+ "name": "nuer"
+ },
+ "nyn": {
+ "name": "nyankole"
+ },
+ "nn": {
+ "name": "nýnorskt"
+ },
+ "or": {
+ "name": "oriya"
+ },
+ "om": {
+ "name": "oromo"
+ },
+ "os": {
+ "name": "ossetiskt"
+ },
+ "hsb": {
+ "name": "ovara sorbian"
+ },
+ "ps": {
+ "name": "pashto"
+ },
+ "fa": {
+ "name": "persiskt"
+ },
+ "pl": {
+ "name": "pólskt"
+ },
+ "pt": {
+ "name": "portugiskiskt"
+ },
+ "pt-PT": {
+ "name": "portugiskiskt (Evropa)"
+ },
+ "prg": {
+ "name": "prusslanskt"
+ },
+ "pa": {
+ "name": "punjabi"
+ },
+ "qu": {
+ "name": "quechua"
+ },
+ "rm": {
+ "name": "retoromanskt"
+ },
+ "rof": {
+ "name": "rombo"
+ },
+ "ro": {
+ "name": "rumenskt"
+ },
+ "rn": {
+ "name": "rundi"
+ },
+ "ru": {
+ "name": "russiskt"
+ },
+ "rwk": {
+ "name": "rwa"
+ },
+ "sah": {
+ "name": "sakha"
+ },
+ "saq": {
+ "name": "samburu"
+ },
+ "sg": {
+ "name": "sango"
+ },
+ "sbp": {
+ "name": "sangu"
+ },
+ "dje": {
+ "name": "sarma"
+ },
+ "seh": {
+ "name": "sena"
+ },
+ "sr": {
+ "name": "serbiskt"
+ },
+ "ksb": {
+ "name": "shambala"
+ },
+ "sn": {
+ "name": "shona"
+ },
+ "ii": {
+ "name": "sichuan yi"
+ },
+ "si": {
+ "name": "singalesiskt"
+ },
+ "gd": {
+ "name": "skotskt gæliskt"
+ },
+ "sk": {
+ "name": "slovakiskt"
+ },
+ "sl": {
+ "name": "slovenskt"
+ },
+ "xog": {
+ "name": "soga"
+ },
+ "so": {
+ "name": "somaliskt"
+ },
+ "es": {
+ "name": "spanskt"
+ },
+ "es-MX": {
+ "name": "spanskt (Meksiko)"
+ },
+ "zu": {
+ "name": "sulu"
+ },
+ "sv": {
+ "name": "svenskt"
+ },
+ "sw": {
+ "name": "swahili"
+ },
+ "shi": {
+ "name": "tachelhit"
+ },
+ "th": {
+ "name": "tailendskt"
+ },
+ "dav": {
+ "name": "taita"
+ },
+ "ta": {
+ "name": "tamilskt"
+ },
+ "twq": {
+ "name": "tasawaq"
+ },
+ "te": {
+ "name": "telugu"
+ },
+ "teo": {
+ "name": "teso"
+ },
+ "bo": {
+ "name": "tibetskt"
+ },
+ "ti": {
+ "name": "tigrinya"
+ },
+ "ce": {
+ "name": "tjetjenskt"
+ },
+ "to": {
+ "name": "tonganskt"
+ },
+ "tr": {
+ "name": "turkiskt"
+ },
+ "tk": {
+ "name": "turkmenskt"
+ },
+ "de": {
+ "name": "týskt"
+ },
+ "de-AT": {
+ "name": "týskt (Eysturríki)"
+ },
+ "gsw": {
+ "name": "týskt (Sveis)"
+ },
+ "uk": {
+ "name": "ukrainskt"
+ },
+ "hu": {
+ "name": "ungarskt"
+ },
+ "ur": {
+ "name": "urdu"
+ },
+ "uz": {
+ "name": "usbekiskt"
+ },
+ "ug": {
+ "name": "uyghur"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "zh-Hant": {
+ "name": "vanligt kinesiskt"
+ },
+ "zgh": {
+ "name": "vanligt marokanskt tamazight"
+ },
+ "fy": {
+ "name": "vestur frísiskt"
+ },
+ "vi": {
+ "name": "vjetnamesiskt"
+ },
+ "vo": {
+ "name": "volapykk"
+ },
+ "vun": {
+ "name": "vunjo"
+ },
+ "cy": {
+ "name": "walisiskt"
+ },
+ "wae": {
+ "name": "walser"
+ },
+ "yav": {
+ "name": "yangben"
+ },
+ "yo": {
+ "name": "yoruba"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/fr-BE.json b/vendor/commerceguys/intl/resources/language/fr-BE.json
new file mode 100644
index 000000000..fd00c962f
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/fr-BE.json
@@ -0,0 +1,635 @@
+{
+ "af": {
+ "name": "afrikaans"
+ },
+ "agq": {
+ "name": "aghem"
+ },
+ "ak": {
+ "name": "akan"
+ },
+ "sq": {
+ "name": "albanais"
+ },
+ "de": {
+ "name": "allemand"
+ },
+ "de-AT": {
+ "name": "allemand autrichien"
+ },
+ "de-CH": {
+ "name": "allemand suisse"
+ },
+ "zgh": {
+ "name": "amazighe standard marocain"
+ },
+ "am": {
+ "name": "amharique"
+ },
+ "en": {
+ "name": "anglais"
+ },
+ "en-AU": {
+ "name": "anglais australien"
+ },
+ "en-GB": {
+ "name": "anglais britannique"
+ },
+ "en-CA": {
+ "name": "anglais canadien"
+ },
+ "ar": {
+ "name": "arabe"
+ },
+ "hy": {
+ "name": "arménien"
+ },
+ "as": {
+ "name": "assamais"
+ },
+ "asa": {
+ "name": "assou"
+ },
+ "ast": {
+ "name": "asturien"
+ },
+ "az": {
+ "name": "azéri"
+ },
+ "ksf": {
+ "name": "bafia"
+ },
+ "bm": {
+ "name": "bambara"
+ },
+ "nds": {
+ "name": "bas-allemand"
+ },
+ "nds-NL": {
+ "name": "bas-saxon néerlandais"
+ },
+ "dsb": {
+ "name": "bas-sorabe"
+ },
+ "eu": {
+ "name": "basque"
+ },
+ "bas": {
+ "name": "bassa"
+ },
+ "bem": {
+ "name": "bemba"
+ },
+ "bez": {
+ "name": "béna"
+ },
+ "bn": {
+ "name": "bengali"
+ },
+ "be": {
+ "name": "biélorusse"
+ },
+ "my": {
+ "name": "birman"
+ },
+ "brx": {
+ "name": "bodo"
+ },
+ "bs": {
+ "name": "bosniaque"
+ },
+ "br": {
+ "name": "breton"
+ },
+ "bg": {
+ "name": "bulgare"
+ },
+ "yue": {
+ "name": "cantonais"
+ },
+ "kea": {
+ "name": "capverdien"
+ },
+ "ca": {
+ "name": "catalan"
+ },
+ "ksb": {
+ "name": "chambala"
+ },
+ "chr": {
+ "name": "cherokee"
+ },
+ "zh": {
+ "name": "chinois"
+ },
+ "zh-Hans": {
+ "name": "chinois simplifié"
+ },
+ "zh-Hant": {
+ "name": "chinois traditionnel"
+ },
+ "shi": {
+ "name": "chleuh"
+ },
+ "si": {
+ "name": "cinghalais"
+ },
+ "seh": {
+ "name": "cisena"
+ },
+ "ko": {
+ "name": "coréen"
+ },
+ "kw": {
+ "name": "cornique"
+ },
+ "mfe": {
+ "name": "créole mauricien"
+ },
+ "hr": {
+ "name": "croate"
+ },
+ "da": {
+ "name": "danois"
+ },
+ "dyo": {
+ "name": "diola-fogny"
+ },
+ "dua": {
+ "name": "douala"
+ },
+ "dz": {
+ "name": "dzongkha"
+ },
+ "ebu": {
+ "name": "embou"
+ },
+ "es": {
+ "name": "espagnol"
+ },
+ "es-MX": {
+ "name": "espagnol (Mexique)"
+ },
+ "eo": {
+ "name": "espéranto"
+ },
+ "et": {
+ "name": "estonien"
+ },
+ "ee": {
+ "name": "éwé"
+ },
+ "ewo": {
+ "name": "éwondo"
+ },
+ "fo": {
+ "name": "féroïen"
+ },
+ "fil": {
+ "name": "filipino"
+ },
+ "fi": {
+ "name": "finnois"
+ },
+ "nl-BE": {
+ "name": "flamand"
+ },
+ "fr": {
+ "name": "français"
+ },
+ "fr-CA": {
+ "name": "français canadien"
+ },
+ "fr-CH": {
+ "name": "français suisse"
+ },
+ "ksh": {
+ "name": "francique ripuaire"
+ },
+ "fur": {
+ "name": "frioulan"
+ },
+ "fy": {
+ "name": "frison occidental"
+ },
+ "gd": {
+ "name": "gaélique écossais"
+ },
+ "gl": {
+ "name": "galicien"
+ },
+ "cy": {
+ "name": "gallois"
+ },
+ "lg": {
+ "name": "ganda"
+ },
+ "ka": {
+ "name": "géorgien"
+ },
+ "el": {
+ "name": "grec"
+ },
+ "kl": {
+ "name": "groenlandais"
+ },
+ "gu": {
+ "name": "gujarati"
+ },
+ "guz": {
+ "name": "gusii"
+ },
+ "ha": {
+ "name": "haoussa"
+ },
+ "hsb": {
+ "name": "haut-sorabe"
+ },
+ "haw": {
+ "name": "hawaïen"
+ },
+ "he": {
+ "name": "hébreu"
+ },
+ "hi": {
+ "name": "hindi"
+ },
+ "hu": {
+ "name": "hongrois"
+ },
+ "sah": {
+ "name": "iakoute"
+ },
+ "ig": {
+ "name": "igbo"
+ },
+ "id": {
+ "name": "indonésien"
+ },
+ "ga": {
+ "name": "irlandais"
+ },
+ "is": {
+ "name": "islandais"
+ },
+ "it": {
+ "name": "italien"
+ },
+ "ja": {
+ "name": "japonais"
+ },
+ "kab": {
+ "name": "kabyle"
+ },
+ "kkj": {
+ "name": "kako"
+ },
+ "kln": {
+ "name": "kalendjin"
+ },
+ "kam": {
+ "name": "kamba"
+ },
+ "kn": {
+ "name": "kannada"
+ },
+ "ks": {
+ "name": "kashmiri"
+ },
+ "kk": {
+ "name": "kazakh"
+ },
+ "km": {
+ "name": "khmer"
+ },
+ "cgg": {
+ "name": "kiga"
+ },
+ "ki": {
+ "name": "kikuyu"
+ },
+ "ky": {
+ "name": "kirghize"
+ },
+ "kok": {
+ "name": "konkani"
+ },
+ "khq": {
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "name": "koyraboro senni"
+ },
+ "nmg": {
+ "name": "kwasio"
+ },
+ "lkt": {
+ "name": "lakota"
+ },
+ "lag": {
+ "name": "langi"
+ },
+ "lo": {
+ "name": "lao"
+ },
+ "lv": {
+ "name": "letton"
+ },
+ "ln": {
+ "name": "lingala"
+ },
+ "lt": {
+ "name": "lituanien"
+ },
+ "lrc": {
+ "name": "lori du Nord"
+ },
+ "lu": {
+ "name": "luba-katanga"
+ },
+ "luy": {
+ "name": "luhya"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "luxembourgeois"
+ },
+ "mk": {
+ "name": "macédonien"
+ },
+ "mgh": {
+ "name": "makhuwa-meetto"
+ },
+ "kde": {
+ "name": "makondé"
+ },
+ "ms": {
+ "name": "malais"
+ },
+ "ml": {
+ "name": "malayalam"
+ },
+ "mg": {
+ "name": "malgache"
+ },
+ "mt": {
+ "name": "maltais"
+ },
+ "gv": {
+ "name": "mannois"
+ },
+ "mr": {
+ "name": "marathe"
+ },
+ "mas": {
+ "name": "massaï"
+ },
+ "jmc": {
+ "name": "matchamé"
+ },
+ "mzn": {
+ "name": "mazandérani"
+ },
+ "mer": {
+ "name": "mérou"
+ },
+ "mgo": {
+ "name": "méta’"
+ },
+ "ro-MD": {
+ "name": "moldave"
+ },
+ "mn": {
+ "name": "mongol"
+ },
+ "mua": {
+ "name": "moundang"
+ },
+ "naq": {
+ "name": "nama"
+ },
+ "nd": {
+ "name": "ndébélé du Nord"
+ },
+ "nl": {
+ "name": "néerlandais"
+ },
+ "ne": {
+ "name": "népalais"
+ },
+ "nnh": {
+ "name": "ngiemboon"
+ },
+ "jgo": {
+ "name": "ngomba"
+ },
+ "nb": {
+ "name": "norvégien bokmål"
+ },
+ "nn": {
+ "name": "norvégien nynorsk"
+ },
+ "nus": {
+ "name": "nuer"
+ },
+ "nyn": {
+ "name": "nyankolé"
+ },
+ "or": {
+ "name": "oriya"
+ },
+ "om": {
+ "name": "oromo"
+ },
+ "os": {
+ "name": "ossète"
+ },
+ "ug": {
+ "name": "ouïghour"
+ },
+ "ur": {
+ "name": "ourdou"
+ },
+ "uz": {
+ "name": "ouzbek"
+ },
+ "ps": {
+ "name": "pachto"
+ },
+ "pa": {
+ "name": "pendjabi"
+ },
+ "fa": {
+ "name": "persan"
+ },
+ "ff": {
+ "name": "peul"
+ },
+ "pl": {
+ "name": "polonais"
+ },
+ "pt": {
+ "name": "portugais"
+ },
+ "pt-PT": {
+ "name": "portugais européen"
+ },
+ "prg": {
+ "name": "prussien"
+ },
+ "qu": {
+ "name": "quechua"
+ },
+ "rm": {
+ "name": "romanche"
+ },
+ "rof": {
+ "name": "rombo"
+ },
+ "ro": {
+ "name": "roumain"
+ },
+ "rn": {
+ "name": "roundi"
+ },
+ "ru": {
+ "name": "russe"
+ },
+ "rwk": {
+ "name": "rwa"
+ },
+ "rw": {
+ "name": "rwanda"
+ },
+ "saq": {
+ "name": "sambourou"
+ },
+ "smn": {
+ "name": "same d’Inari"
+ },
+ "se": {
+ "name": "same du Nord"
+ },
+ "sg": {
+ "name": "sangho"
+ },
+ "sbp": {
+ "name": "sangu"
+ },
+ "sr": {
+ "name": "serbe"
+ },
+ "sn": {
+ "name": "shona"
+ },
+ "cu": {
+ "name": "slavon d’église"
+ },
+ "sk": {
+ "name": "slovaque"
+ },
+ "sl": {
+ "name": "slovène"
+ },
+ "xog": {
+ "name": "soga"
+ },
+ "so": {
+ "name": "somali"
+ },
+ "ckb": {
+ "name": "sorani"
+ },
+ "sv": {
+ "name": "suédois"
+ },
+ "gsw": {
+ "name": "suisse allemand"
+ },
+ "sw": {
+ "name": "swahili"
+ },
+ "sw-CD": {
+ "name": "swahili du Congo"
+ },
+ "dav": {
+ "name": "taita"
+ },
+ "tzm": {
+ "name": "tamazight du Maroc central"
+ },
+ "ta": {
+ "name": "tamoul"
+ },
+ "twq": {
+ "name": "tasawaq"
+ },
+ "cs": {
+ "name": "tchèque"
+ },
+ "ce": {
+ "name": "tchétchène"
+ },
+ "te": {
+ "name": "télougou"
+ },
+ "teo": {
+ "name": "teso"
+ },
+ "th": {
+ "name": "thaï"
+ },
+ "bo": {
+ "name": "tibétain"
+ },
+ "ti": {
+ "name": "tigrigna"
+ },
+ "to": {
+ "name": "tonguien"
+ },
+ "tr": {
+ "name": "turc"
+ },
+ "tk": {
+ "name": "turkmène"
+ },
+ "uk": {
+ "name": "ukrainien"
+ },
+ "vai": {
+ "name": "vaï"
+ },
+ "vi": {
+ "name": "vietnamien"
+ },
+ "vo": {
+ "name": "volapuk"
+ },
+ "vun": {
+ "name": "vunjo"
+ },
+ "wae": {
+ "name": "walser"
+ },
+ "yav": {
+ "name": "yangben"
+ },
+ "ii": {
+ "name": "yi du Sichuan"
+ },
+ "yi": {
+ "name": "yiddish"
+ },
+ "yo": {
+ "name": "yoruba"
+ },
+ "dje": {
+ "name": "zarma"
+ },
+ "zu": {
+ "name": "zoulou"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/fr-CA.json b/vendor/commerceguys/intl/resources/language/fr-CA.json
new file mode 100644
index 000000000..9b88775cf
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/fr-CA.json
@@ -0,0 +1,635 @@
+{
+ "af": {
+ "name": "afrikaans"
+ },
+ "agq": {
+ "name": "aghem"
+ },
+ "ak": {
+ "name": "akan"
+ },
+ "sq": {
+ "name": "albanais"
+ },
+ "de": {
+ "name": "allemand"
+ },
+ "de-AT": {
+ "name": "allemand autrichien"
+ },
+ "de-CH": {
+ "name": "allemand suisse"
+ },
+ "zgh": {
+ "name": "amazighe standard marocain"
+ },
+ "am": {
+ "name": "amharique"
+ },
+ "en": {
+ "name": "anglais"
+ },
+ "en-AU": {
+ "name": "anglais australien"
+ },
+ "en-GB": {
+ "name": "anglais britannique"
+ },
+ "en-CA": {
+ "name": "anglais canadien"
+ },
+ "ar": {
+ "name": "arabe"
+ },
+ "hy": {
+ "name": "arménien"
+ },
+ "as": {
+ "name": "assamais"
+ },
+ "asa": {
+ "name": "assou"
+ },
+ "ast": {
+ "name": "asturien"
+ },
+ "az": {
+ "name": "azerbaïdjanais"
+ },
+ "ksf": {
+ "name": "bafia"
+ },
+ "bm": {
+ "name": "bambara"
+ },
+ "nds": {
+ "name": "bas allemand"
+ },
+ "nds-NL": {
+ "name": "bas saxon"
+ },
+ "dsb": {
+ "name": "bas-sorabe"
+ },
+ "eu": {
+ "name": "basque"
+ },
+ "bas": {
+ "name": "bassa"
+ },
+ "bem": {
+ "name": "bemba"
+ },
+ "bez": {
+ "name": "bena"
+ },
+ "bn": {
+ "name": "bengali"
+ },
+ "be": {
+ "name": "biélorusse"
+ },
+ "my": {
+ "name": "birman"
+ },
+ "brx": {
+ "name": "bodo"
+ },
+ "bs": {
+ "name": "bosniaque"
+ },
+ "br": {
+ "name": "breton"
+ },
+ "bg": {
+ "name": "bulgare"
+ },
+ "yue": {
+ "name": "cantonais"
+ },
+ "kea": {
+ "name": "capverdien"
+ },
+ "ca": {
+ "name": "catalan"
+ },
+ "ksb": {
+ "name": "chambala"
+ },
+ "chr": {
+ "name": "cherokee"
+ },
+ "zh": {
+ "name": "chinois"
+ },
+ "zh-Hans": {
+ "name": "chinois simplifié"
+ },
+ "zh-Hant": {
+ "name": "chinois traditionnel"
+ },
+ "shi": {
+ "name": "chleuh"
+ },
+ "si": {
+ "name": "cinghalais"
+ },
+ "seh": {
+ "name": "cisena"
+ },
+ "ko": {
+ "name": "coréen"
+ },
+ "kw": {
+ "name": "cornique"
+ },
+ "mfe": {
+ "name": "créole mauricien"
+ },
+ "hr": {
+ "name": "croate"
+ },
+ "da": {
+ "name": "danois"
+ },
+ "dyo": {
+ "name": "diola-fogny"
+ },
+ "dua": {
+ "name": "douala"
+ },
+ "dz": {
+ "name": "dzongkha"
+ },
+ "ebu": {
+ "name": "embou"
+ },
+ "es": {
+ "name": "espagnol"
+ },
+ "es-MX": {
+ "name": "espagnol (Mexique)"
+ },
+ "eo": {
+ "name": "espéranto"
+ },
+ "et": {
+ "name": "estonien"
+ },
+ "ee": {
+ "name": "éwé"
+ },
+ "ewo": {
+ "name": "ewondo"
+ },
+ "fo": {
+ "name": "féroïen"
+ },
+ "fil": {
+ "name": "filipino"
+ },
+ "fi": {
+ "name": "finnois"
+ },
+ "nl-BE": {
+ "name": "flamand"
+ },
+ "fr": {
+ "name": "français"
+ },
+ "fr-CA": {
+ "name": "français canadien"
+ },
+ "fr-CH": {
+ "name": "français suisse"
+ },
+ "fur": {
+ "name": "frioulan"
+ },
+ "fy": {
+ "name": "frison occidental"
+ },
+ "gd": {
+ "name": "gaélique écossais"
+ },
+ "gl": {
+ "name": "galicien"
+ },
+ "cy": {
+ "name": "gallois"
+ },
+ "lg": {
+ "name": "ganda"
+ },
+ "ka": {
+ "name": "géorgien"
+ },
+ "el": {
+ "name": "grec"
+ },
+ "gu": {
+ "name": "gujarati"
+ },
+ "guz": {
+ "name": "gusii"
+ },
+ "ha": {
+ "name": "haoussa"
+ },
+ "hsb": {
+ "name": "haut-sorabe"
+ },
+ "haw": {
+ "name": "hawaïen"
+ },
+ "he": {
+ "name": "hébreu"
+ },
+ "hi": {
+ "name": "hindi"
+ },
+ "hu": {
+ "name": "hongrois"
+ },
+ "sah": {
+ "name": "iakoute"
+ },
+ "ig": {
+ "name": "igbo"
+ },
+ "id": {
+ "name": "indonésien"
+ },
+ "ga": {
+ "name": "irlandais"
+ },
+ "is": {
+ "name": "islandais"
+ },
+ "it": {
+ "name": "italien"
+ },
+ "ja": {
+ "name": "japonais"
+ },
+ "kab": {
+ "name": "kabyle"
+ },
+ "kkj": {
+ "name": "kako"
+ },
+ "kl": {
+ "name": "kalaallisut"
+ },
+ "kln": {
+ "name": "kalendjin"
+ },
+ "kam": {
+ "name": "kamba"
+ },
+ "kn": {
+ "name": "kannada"
+ },
+ "ks": {
+ "name": "kashmiri"
+ },
+ "kk": {
+ "name": "kazakh"
+ },
+ "km": {
+ "name": "khmer"
+ },
+ "cgg": {
+ "name": "kiga"
+ },
+ "ki": {
+ "name": "kikuyu"
+ },
+ "ky": {
+ "name": "kirghize"
+ },
+ "ksh": {
+ "name": "kölsch"
+ },
+ "kok": {
+ "name": "konkani"
+ },
+ "khq": {
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "name": "koyraboro senni"
+ },
+ "ckb": {
+ "name": "kurde central"
+ },
+ "nmg": {
+ "name": "kwasio"
+ },
+ "lkt": {
+ "name": "lakota"
+ },
+ "lag": {
+ "name": "langi"
+ },
+ "lo": {
+ "name": "lao"
+ },
+ "lv": {
+ "name": "letton"
+ },
+ "ln": {
+ "name": "lingala"
+ },
+ "lt": {
+ "name": "lituanien"
+ },
+ "lrc": {
+ "name": "lori du Nord"
+ },
+ "lu": {
+ "name": "luba-katanga"
+ },
+ "luy": {
+ "name": "luhya"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "luxembourgeois"
+ },
+ "mk": {
+ "name": "macédonien"
+ },
+ "mgh": {
+ "name": "makhuwa-meetto"
+ },
+ "kde": {
+ "name": "makondé"
+ },
+ "ms": {
+ "name": "malais"
+ },
+ "ml": {
+ "name": "malayalam"
+ },
+ "mg": {
+ "name": "malgache"
+ },
+ "mt": {
+ "name": "maltais"
+ },
+ "gv": {
+ "name": "mannois"
+ },
+ "mr": {
+ "name": "marathe"
+ },
+ "mas": {
+ "name": "massaï"
+ },
+ "jmc": {
+ "name": "matchamé"
+ },
+ "mzn": {
+ "name": "mazandérani"
+ },
+ "mer": {
+ "name": "mérou"
+ },
+ "mgo": {
+ "name": "meta’"
+ },
+ "ro-MD": {
+ "name": "moldave"
+ },
+ "mn": {
+ "name": "mongol"
+ },
+ "mua": {
+ "name": "moundang"
+ },
+ "naq": {
+ "name": "nama"
+ },
+ "nd": {
+ "name": "ndébélé du Nord"
+ },
+ "nl": {
+ "name": "néerlandais"
+ },
+ "ne": {
+ "name": "népalais"
+ },
+ "nnh": {
+ "name": "ngiemboon"
+ },
+ "jgo": {
+ "name": "ngomba"
+ },
+ "nyn": {
+ "name": "nkole"
+ },
+ "nb": {
+ "name": "norvégien bokmål"
+ },
+ "nn": {
+ "name": "norvégien nynorsk"
+ },
+ "nus": {
+ "name": "nuer"
+ },
+ "or": {
+ "name": "odia"
+ },
+ "om": {
+ "name": "oromo"
+ },
+ "os": {
+ "name": "ossète"
+ },
+ "ug": {
+ "name": "ouïghour"
+ },
+ "ur": {
+ "name": "ourdou"
+ },
+ "uz": {
+ "name": "ouzbek"
+ },
+ "ps": {
+ "name": "pachto"
+ },
+ "pa": {
+ "name": "pendjabi"
+ },
+ "fa": {
+ "name": "persan"
+ },
+ "ff": {
+ "name": "peul"
+ },
+ "pl": {
+ "name": "polonais"
+ },
+ "pt": {
+ "name": "portugais"
+ },
+ "pt-PT": {
+ "name": "portugais européen"
+ },
+ "prg": {
+ "name": "prussien"
+ },
+ "qu": {
+ "name": "quechua"
+ },
+ "rm": {
+ "name": "romanche"
+ },
+ "rof": {
+ "name": "rombo"
+ },
+ "ro": {
+ "name": "roumain"
+ },
+ "rn": {
+ "name": "roundi"
+ },
+ "ru": {
+ "name": "russe"
+ },
+ "rwk": {
+ "name": "rwa"
+ },
+ "rw": {
+ "name": "rwanda"
+ },
+ "saq": {
+ "name": "sambourou"
+ },
+ "se": {
+ "name": "same du Nord"
+ },
+ "smn": {
+ "name": "sami d’Inari"
+ },
+ "sg": {
+ "name": "sango"
+ },
+ "sbp": {
+ "name": "sangu"
+ },
+ "sr": {
+ "name": "serbe"
+ },
+ "sn": {
+ "name": "shona"
+ },
+ "cu": {
+ "name": "slavon d’église"
+ },
+ "sk": {
+ "name": "slovaque"
+ },
+ "sl": {
+ "name": "slovène"
+ },
+ "xog": {
+ "name": "soga"
+ },
+ "so": {
+ "name": "somali"
+ },
+ "sv": {
+ "name": "suédois"
+ },
+ "gsw": {
+ "name": "suisse allemand"
+ },
+ "sw": {
+ "name": "swahili"
+ },
+ "sw-CD": {
+ "name": "swahili congolais"
+ },
+ "dav": {
+ "name": "taita"
+ },
+ "tzm": {
+ "name": "tamazight"
+ },
+ "ta": {
+ "name": "tamoul"
+ },
+ "twq": {
+ "name": "tasawaq"
+ },
+ "cs": {
+ "name": "tchèque"
+ },
+ "ce": {
+ "name": "tchétchène"
+ },
+ "te": {
+ "name": "télougou"
+ },
+ "teo": {
+ "name": "teso"
+ },
+ "th": {
+ "name": "thaï"
+ },
+ "bo": {
+ "name": "tibétain"
+ },
+ "ti": {
+ "name": "tigrigna"
+ },
+ "to": {
+ "name": "tonguien"
+ },
+ "tr": {
+ "name": "turc"
+ },
+ "tk": {
+ "name": "turkmène"
+ },
+ "uk": {
+ "name": "ukrainien"
+ },
+ "vai": {
+ "name": "vaï"
+ },
+ "vi": {
+ "name": "vietnamien"
+ },
+ "vo": {
+ "name": "volapük"
+ },
+ "vun": {
+ "name": "vunjo"
+ },
+ "wae": {
+ "name": "walser"
+ },
+ "yav": {
+ "name": "yangben"
+ },
+ "ii": {
+ "name": "yi du Sichuan"
+ },
+ "yi": {
+ "name": "yiddish"
+ },
+ "yo": {
+ "name": "yoruba"
+ },
+ "dje": {
+ "name": "zarma"
+ },
+ "zu": {
+ "name": "zoulou"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/fr-CH.json b/vendor/commerceguys/intl/resources/language/fr-CH.json
new file mode 100644
index 000000000..c2113374c
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/fr-CH.json
@@ -0,0 +1,635 @@
+{
+ "af": {
+ "name": "afrikaans"
+ },
+ "agq": {
+ "name": "aghem"
+ },
+ "ak": {
+ "name": "akan"
+ },
+ "sq": {
+ "name": "albanais"
+ },
+ "de": {
+ "name": "allemand"
+ },
+ "de-AT": {
+ "name": "allemand autrichien"
+ },
+ "de-CH": {
+ "name": "allemand suisse"
+ },
+ "zgh": {
+ "name": "amazighe standard marocain"
+ },
+ "am": {
+ "name": "amharique"
+ },
+ "en": {
+ "name": "anglais"
+ },
+ "en-AU": {
+ "name": "anglais australien"
+ },
+ "en-GB": {
+ "name": "anglais britannique"
+ },
+ "en-CA": {
+ "name": "anglais canadien"
+ },
+ "ar": {
+ "name": "arabe"
+ },
+ "hy": {
+ "name": "arménien"
+ },
+ "as": {
+ "name": "assamais"
+ },
+ "asa": {
+ "name": "assou"
+ },
+ "ast": {
+ "name": "asturien"
+ },
+ "az": {
+ "name": "azéri"
+ },
+ "ksf": {
+ "name": "bafia"
+ },
+ "bm": {
+ "name": "bambara"
+ },
+ "nds": {
+ "name": "bas-allemand"
+ },
+ "nds-NL": {
+ "name": "bas-saxon néerlandais"
+ },
+ "dsb": {
+ "name": "bas-sorabe"
+ },
+ "eu": {
+ "name": "basque"
+ },
+ "bas": {
+ "name": "bassa"
+ },
+ "bem": {
+ "name": "bemba"
+ },
+ "bez": {
+ "name": "béna"
+ },
+ "bn": {
+ "name": "bengali"
+ },
+ "be": {
+ "name": "biélorusse"
+ },
+ "my": {
+ "name": "birman"
+ },
+ "brx": {
+ "name": "bodo"
+ },
+ "bs": {
+ "name": "bosniaque"
+ },
+ "br": {
+ "name": "breton"
+ },
+ "bg": {
+ "name": "bulgare"
+ },
+ "yue": {
+ "name": "cantonais"
+ },
+ "kea": {
+ "name": "capverdien"
+ },
+ "ca": {
+ "name": "catalan"
+ },
+ "ksb": {
+ "name": "chambala"
+ },
+ "chr": {
+ "name": "cherokee"
+ },
+ "zh": {
+ "name": "chinois"
+ },
+ "zh-Hans": {
+ "name": "chinois simplifié"
+ },
+ "zh-Hant": {
+ "name": "chinois traditionnel"
+ },
+ "shi": {
+ "name": "chleuh"
+ },
+ "si": {
+ "name": "cinghalais"
+ },
+ "seh": {
+ "name": "cisena"
+ },
+ "ko": {
+ "name": "coréen"
+ },
+ "kw": {
+ "name": "cornique"
+ },
+ "mfe": {
+ "name": "créole mauricien"
+ },
+ "hr": {
+ "name": "croate"
+ },
+ "da": {
+ "name": "danois"
+ },
+ "dyo": {
+ "name": "diola-fogny"
+ },
+ "dua": {
+ "name": "douala"
+ },
+ "dz": {
+ "name": "dzongkha"
+ },
+ "ebu": {
+ "name": "embou"
+ },
+ "es": {
+ "name": "espagnol"
+ },
+ "es-MX": {
+ "name": "espagnol (Mexique)"
+ },
+ "eo": {
+ "name": "espéranto"
+ },
+ "et": {
+ "name": "estonien"
+ },
+ "ee": {
+ "name": "éwé"
+ },
+ "ewo": {
+ "name": "éwondo"
+ },
+ "fo": {
+ "name": "féroïen"
+ },
+ "fil": {
+ "name": "filipino"
+ },
+ "fi": {
+ "name": "finnois"
+ },
+ "nl-BE": {
+ "name": "flamand"
+ },
+ "fr": {
+ "name": "français"
+ },
+ "fr-CA": {
+ "name": "français canadien"
+ },
+ "fr-CH": {
+ "name": "français suisse"
+ },
+ "ksh": {
+ "name": "francique ripuaire"
+ },
+ "fur": {
+ "name": "frioulan"
+ },
+ "fy": {
+ "name": "frison occidental"
+ },
+ "gd": {
+ "name": "gaélique écossais"
+ },
+ "gl": {
+ "name": "galicien"
+ },
+ "cy": {
+ "name": "gallois"
+ },
+ "lg": {
+ "name": "ganda"
+ },
+ "ka": {
+ "name": "géorgien"
+ },
+ "gu": {
+ "name": "goudjrati"
+ },
+ "el": {
+ "name": "grec"
+ },
+ "kl": {
+ "name": "groenlandais"
+ },
+ "guz": {
+ "name": "gusii"
+ },
+ "ha": {
+ "name": "haoussa"
+ },
+ "hsb": {
+ "name": "haut-sorabe"
+ },
+ "haw": {
+ "name": "hawaïen"
+ },
+ "he": {
+ "name": "hébreu"
+ },
+ "hi": {
+ "name": "hindi"
+ },
+ "hu": {
+ "name": "hongrois"
+ },
+ "sah": {
+ "name": "iakoute"
+ },
+ "ig": {
+ "name": "igbo"
+ },
+ "id": {
+ "name": "indonésien"
+ },
+ "ga": {
+ "name": "irlandais"
+ },
+ "is": {
+ "name": "islandais"
+ },
+ "it": {
+ "name": "italien"
+ },
+ "ja": {
+ "name": "japonais"
+ },
+ "kab": {
+ "name": "kabyle"
+ },
+ "kkj": {
+ "name": "kako"
+ },
+ "kln": {
+ "name": "kalendjin"
+ },
+ "kam": {
+ "name": "kamba"
+ },
+ "kn": {
+ "name": "kannada"
+ },
+ "ks": {
+ "name": "kashmiri"
+ },
+ "kk": {
+ "name": "kazakh"
+ },
+ "km": {
+ "name": "khmer"
+ },
+ "cgg": {
+ "name": "kiga"
+ },
+ "ki": {
+ "name": "kikuyu"
+ },
+ "ky": {
+ "name": "kirghize"
+ },
+ "kok": {
+ "name": "konkani"
+ },
+ "khq": {
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "name": "koyraboro senni"
+ },
+ "nmg": {
+ "name": "kwasio"
+ },
+ "lkt": {
+ "name": "lakota"
+ },
+ "lag": {
+ "name": "langi"
+ },
+ "lo": {
+ "name": "lao"
+ },
+ "lv": {
+ "name": "letton"
+ },
+ "ln": {
+ "name": "lingala"
+ },
+ "lt": {
+ "name": "lituanien"
+ },
+ "lrc": {
+ "name": "lori du Nord"
+ },
+ "lu": {
+ "name": "luba-katanga"
+ },
+ "luy": {
+ "name": "luhya"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "luxembourgeois"
+ },
+ "mk": {
+ "name": "macédonien"
+ },
+ "mgh": {
+ "name": "makhuwa-meetto"
+ },
+ "kde": {
+ "name": "makondé"
+ },
+ "ms": {
+ "name": "malais"
+ },
+ "ml": {
+ "name": "malayalam"
+ },
+ "mg": {
+ "name": "malgache"
+ },
+ "mt": {
+ "name": "maltais"
+ },
+ "gv": {
+ "name": "mannois"
+ },
+ "mr": {
+ "name": "marathe"
+ },
+ "mas": {
+ "name": "massaï"
+ },
+ "jmc": {
+ "name": "matchamé"
+ },
+ "mzn": {
+ "name": "mazandérani"
+ },
+ "mer": {
+ "name": "mérou"
+ },
+ "mgo": {
+ "name": "méta’"
+ },
+ "ro-MD": {
+ "name": "moldave"
+ },
+ "mn": {
+ "name": "mongol"
+ },
+ "mua": {
+ "name": "moundang"
+ },
+ "naq": {
+ "name": "nama"
+ },
+ "nd": {
+ "name": "ndébélé du Nord"
+ },
+ "nl": {
+ "name": "néerlandais"
+ },
+ "ne": {
+ "name": "népalais"
+ },
+ "nnh": {
+ "name": "ngiemboon"
+ },
+ "jgo": {
+ "name": "ngomba"
+ },
+ "nb": {
+ "name": "norvégien bokmål"
+ },
+ "nn": {
+ "name": "norvégien nynorsk"
+ },
+ "nus": {
+ "name": "nuer"
+ },
+ "nyn": {
+ "name": "nyankolé"
+ },
+ "or": {
+ "name": "oriya"
+ },
+ "om": {
+ "name": "oromo"
+ },
+ "os": {
+ "name": "ossète"
+ },
+ "ug": {
+ "name": "ouïghour"
+ },
+ "ur": {
+ "name": "ourdou"
+ },
+ "uz": {
+ "name": "ouzbek"
+ },
+ "ps": {
+ "name": "pachto"
+ },
+ "pa": {
+ "name": "pendjabi"
+ },
+ "fa": {
+ "name": "persan"
+ },
+ "ff": {
+ "name": "peul"
+ },
+ "pl": {
+ "name": "polonais"
+ },
+ "pt": {
+ "name": "portugais"
+ },
+ "pt-PT": {
+ "name": "portugais européen"
+ },
+ "prg": {
+ "name": "prussien"
+ },
+ "qu": {
+ "name": "quechua"
+ },
+ "rm": {
+ "name": "romanche"
+ },
+ "rof": {
+ "name": "rombo"
+ },
+ "ro": {
+ "name": "roumain"
+ },
+ "rn": {
+ "name": "roundi"
+ },
+ "ru": {
+ "name": "russe"
+ },
+ "rwk": {
+ "name": "rwa"
+ },
+ "rw": {
+ "name": "rwanda"
+ },
+ "saq": {
+ "name": "sambourou"
+ },
+ "smn": {
+ "name": "sami d’Inari"
+ },
+ "se": {
+ "name": "sami du Nord"
+ },
+ "sg": {
+ "name": "sangho"
+ },
+ "sbp": {
+ "name": "sangu"
+ },
+ "sr": {
+ "name": "serbe"
+ },
+ "sn": {
+ "name": "shona"
+ },
+ "cu": {
+ "name": "slavon d’église"
+ },
+ "sk": {
+ "name": "slovaque"
+ },
+ "sl": {
+ "name": "slovène"
+ },
+ "xog": {
+ "name": "soga"
+ },
+ "so": {
+ "name": "somali"
+ },
+ "ckb": {
+ "name": "sorani"
+ },
+ "sv": {
+ "name": "suédois"
+ },
+ "gsw": {
+ "name": "suisse allemand"
+ },
+ "sw": {
+ "name": "swahili"
+ },
+ "sw-CD": {
+ "name": "swahili du Congo"
+ },
+ "dav": {
+ "name": "taita"
+ },
+ "tzm": {
+ "name": "tamazight du Maroc central"
+ },
+ "ta": {
+ "name": "tamoul"
+ },
+ "twq": {
+ "name": "tasawaq"
+ },
+ "cs": {
+ "name": "tchèque"
+ },
+ "ce": {
+ "name": "tchétchène"
+ },
+ "te": {
+ "name": "télougou"
+ },
+ "teo": {
+ "name": "teso"
+ },
+ "th": {
+ "name": "thaï"
+ },
+ "bo": {
+ "name": "tibétain"
+ },
+ "ti": {
+ "name": "tigrigna"
+ },
+ "to": {
+ "name": "tonguien"
+ },
+ "tr": {
+ "name": "turc"
+ },
+ "tk": {
+ "name": "turkmène"
+ },
+ "uk": {
+ "name": "ukrainien"
+ },
+ "vai": {
+ "name": "vaï"
+ },
+ "vi": {
+ "name": "vietnamien"
+ },
+ "vo": {
+ "name": "volapuk"
+ },
+ "vun": {
+ "name": "vunjo"
+ },
+ "wae": {
+ "name": "walser"
+ },
+ "yav": {
+ "name": "yangben"
+ },
+ "ii": {
+ "name": "yi du Sichuan"
+ },
+ "yi": {
+ "name": "yiddish"
+ },
+ "yo": {
+ "name": "yoruba"
+ },
+ "dje": {
+ "name": "zarma"
+ },
+ "zu": {
+ "name": "zoulou"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/fr.json b/vendor/commerceguys/intl/resources/language/fr.json
new file mode 100644
index 000000000..01c2a53e3
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/fr.json
@@ -0,0 +1,635 @@
+{
+ "af": {
+ "name": "afrikaans"
+ },
+ "agq": {
+ "name": "aghem"
+ },
+ "ak": {
+ "name": "akan"
+ },
+ "sq": {
+ "name": "albanais"
+ },
+ "de": {
+ "name": "allemand"
+ },
+ "de-AT": {
+ "name": "allemand autrichien"
+ },
+ "de-CH": {
+ "name": "allemand suisse"
+ },
+ "zgh": {
+ "name": "amazighe standard marocain"
+ },
+ "am": {
+ "name": "amharique"
+ },
+ "en": {
+ "name": "anglais"
+ },
+ "en-AU": {
+ "name": "anglais australien"
+ },
+ "en-GB": {
+ "name": "anglais britannique"
+ },
+ "en-CA": {
+ "name": "anglais canadien"
+ },
+ "ar": {
+ "name": "arabe"
+ },
+ "hy": {
+ "name": "arménien"
+ },
+ "as": {
+ "name": "assamais"
+ },
+ "asa": {
+ "name": "assou"
+ },
+ "ast": {
+ "name": "asturien"
+ },
+ "az": {
+ "name": "azéri"
+ },
+ "ksf": {
+ "name": "bafia"
+ },
+ "bm": {
+ "name": "bambara"
+ },
+ "nds": {
+ "name": "bas-allemand"
+ },
+ "nds-NL": {
+ "name": "bas-saxon néerlandais"
+ },
+ "dsb": {
+ "name": "bas-sorabe"
+ },
+ "eu": {
+ "name": "basque"
+ },
+ "bas": {
+ "name": "bassa"
+ },
+ "bem": {
+ "name": "bemba"
+ },
+ "bez": {
+ "name": "béna"
+ },
+ "bn": {
+ "name": "bengali"
+ },
+ "be": {
+ "name": "biélorusse"
+ },
+ "my": {
+ "name": "birman"
+ },
+ "brx": {
+ "name": "bodo"
+ },
+ "bs": {
+ "name": "bosniaque"
+ },
+ "br": {
+ "name": "breton"
+ },
+ "bg": {
+ "name": "bulgare"
+ },
+ "yue": {
+ "name": "cantonais"
+ },
+ "kea": {
+ "name": "capverdien"
+ },
+ "ca": {
+ "name": "catalan"
+ },
+ "ksb": {
+ "name": "chambala"
+ },
+ "chr": {
+ "name": "cherokee"
+ },
+ "zh": {
+ "name": "chinois"
+ },
+ "zh-Hans": {
+ "name": "chinois simplifié"
+ },
+ "zh-Hant": {
+ "name": "chinois traditionnel"
+ },
+ "shi": {
+ "name": "chleuh"
+ },
+ "si": {
+ "name": "cinghalais"
+ },
+ "seh": {
+ "name": "cisena"
+ },
+ "ko": {
+ "name": "coréen"
+ },
+ "kw": {
+ "name": "cornique"
+ },
+ "mfe": {
+ "name": "créole mauricien"
+ },
+ "hr": {
+ "name": "croate"
+ },
+ "da": {
+ "name": "danois"
+ },
+ "dyo": {
+ "name": "diola-fogny"
+ },
+ "dua": {
+ "name": "douala"
+ },
+ "dz": {
+ "name": "dzongkha"
+ },
+ "ebu": {
+ "name": "embou"
+ },
+ "es": {
+ "name": "espagnol"
+ },
+ "es-MX": {
+ "name": "espagnol (Mexique)"
+ },
+ "eo": {
+ "name": "espéranto"
+ },
+ "et": {
+ "name": "estonien"
+ },
+ "ee": {
+ "name": "éwé"
+ },
+ "ewo": {
+ "name": "éwondo"
+ },
+ "fo": {
+ "name": "féroïen"
+ },
+ "fil": {
+ "name": "filipino"
+ },
+ "fi": {
+ "name": "finnois"
+ },
+ "nl-BE": {
+ "name": "flamand"
+ },
+ "fr": {
+ "name": "français"
+ },
+ "fr-CA": {
+ "name": "français canadien"
+ },
+ "fr-CH": {
+ "name": "français suisse"
+ },
+ "ksh": {
+ "name": "francique ripuaire"
+ },
+ "fur": {
+ "name": "frioulan"
+ },
+ "fy": {
+ "name": "frison occidental"
+ },
+ "gd": {
+ "name": "gaélique écossais"
+ },
+ "gl": {
+ "name": "galicien"
+ },
+ "cy": {
+ "name": "gallois"
+ },
+ "lg": {
+ "name": "ganda"
+ },
+ "ka": {
+ "name": "géorgien"
+ },
+ "gu": {
+ "name": "goudjerati"
+ },
+ "el": {
+ "name": "grec"
+ },
+ "kl": {
+ "name": "groenlandais"
+ },
+ "guz": {
+ "name": "gusii"
+ },
+ "ha": {
+ "name": "haoussa"
+ },
+ "hsb": {
+ "name": "haut-sorabe"
+ },
+ "haw": {
+ "name": "hawaïen"
+ },
+ "he": {
+ "name": "hébreu"
+ },
+ "hi": {
+ "name": "hindi"
+ },
+ "hu": {
+ "name": "hongrois"
+ },
+ "sah": {
+ "name": "iakoute"
+ },
+ "ig": {
+ "name": "igbo"
+ },
+ "id": {
+ "name": "indonésien"
+ },
+ "ga": {
+ "name": "irlandais"
+ },
+ "is": {
+ "name": "islandais"
+ },
+ "it": {
+ "name": "italien"
+ },
+ "ja": {
+ "name": "japonais"
+ },
+ "kab": {
+ "name": "kabyle"
+ },
+ "kkj": {
+ "name": "kako"
+ },
+ "kln": {
+ "name": "kalendjin"
+ },
+ "kam": {
+ "name": "kamba"
+ },
+ "kn": {
+ "name": "kannada"
+ },
+ "ks": {
+ "name": "kashmiri"
+ },
+ "kk": {
+ "name": "kazakh"
+ },
+ "km": {
+ "name": "khmer"
+ },
+ "cgg": {
+ "name": "kiga"
+ },
+ "ki": {
+ "name": "kikuyu"
+ },
+ "ky": {
+ "name": "kirghize"
+ },
+ "kok": {
+ "name": "konkani"
+ },
+ "khq": {
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "name": "koyraboro senni"
+ },
+ "nmg": {
+ "name": "kwasio"
+ },
+ "lkt": {
+ "name": "lakota"
+ },
+ "lag": {
+ "name": "langi"
+ },
+ "lo": {
+ "name": "lao"
+ },
+ "lv": {
+ "name": "letton"
+ },
+ "ln": {
+ "name": "lingala"
+ },
+ "lt": {
+ "name": "lituanien"
+ },
+ "lrc": {
+ "name": "lori du Nord"
+ },
+ "lu": {
+ "name": "luba-katanga"
+ },
+ "luy": {
+ "name": "luhya"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "luxembourgeois"
+ },
+ "mk": {
+ "name": "macédonien"
+ },
+ "mgh": {
+ "name": "makhuwa-meetto"
+ },
+ "kde": {
+ "name": "makondé"
+ },
+ "ms": {
+ "name": "malais"
+ },
+ "ml": {
+ "name": "malayalam"
+ },
+ "mg": {
+ "name": "malgache"
+ },
+ "mt": {
+ "name": "maltais"
+ },
+ "gv": {
+ "name": "mannois"
+ },
+ "mr": {
+ "name": "marathe"
+ },
+ "mas": {
+ "name": "massaï"
+ },
+ "jmc": {
+ "name": "matchamé"
+ },
+ "mzn": {
+ "name": "mazandérani"
+ },
+ "mer": {
+ "name": "mérou"
+ },
+ "mgo": {
+ "name": "méta’"
+ },
+ "ro-MD": {
+ "name": "moldave"
+ },
+ "mn": {
+ "name": "mongol"
+ },
+ "mua": {
+ "name": "moundang"
+ },
+ "naq": {
+ "name": "nama"
+ },
+ "nd": {
+ "name": "ndébélé du Nord"
+ },
+ "nl": {
+ "name": "néerlandais"
+ },
+ "ne": {
+ "name": "népalais"
+ },
+ "nnh": {
+ "name": "ngiemboon"
+ },
+ "jgo": {
+ "name": "ngomba"
+ },
+ "nb": {
+ "name": "norvégien bokmål"
+ },
+ "nn": {
+ "name": "norvégien nynorsk"
+ },
+ "nus": {
+ "name": "nuer"
+ },
+ "nyn": {
+ "name": "nyankolé"
+ },
+ "or": {
+ "name": "oriya"
+ },
+ "om": {
+ "name": "oromo"
+ },
+ "os": {
+ "name": "ossète"
+ },
+ "ug": {
+ "name": "ouïghour"
+ },
+ "ur": {
+ "name": "ourdou"
+ },
+ "uz": {
+ "name": "ouzbek"
+ },
+ "ps": {
+ "name": "pachto"
+ },
+ "pa": {
+ "name": "pendjabi"
+ },
+ "fa": {
+ "name": "persan"
+ },
+ "ff": {
+ "name": "peul"
+ },
+ "pl": {
+ "name": "polonais"
+ },
+ "pt": {
+ "name": "portugais"
+ },
+ "pt-PT": {
+ "name": "portugais européen"
+ },
+ "prg": {
+ "name": "prussien"
+ },
+ "qu": {
+ "name": "quechua"
+ },
+ "rm": {
+ "name": "romanche"
+ },
+ "rof": {
+ "name": "rombo"
+ },
+ "ro": {
+ "name": "roumain"
+ },
+ "rn": {
+ "name": "roundi"
+ },
+ "ru": {
+ "name": "russe"
+ },
+ "rwk": {
+ "name": "rwa"
+ },
+ "rw": {
+ "name": "rwanda"
+ },
+ "saq": {
+ "name": "sambourou"
+ },
+ "smn": {
+ "name": "sami d’Inari"
+ },
+ "se": {
+ "name": "sami du Nord"
+ },
+ "sg": {
+ "name": "sangho"
+ },
+ "sbp": {
+ "name": "sangu"
+ },
+ "sr": {
+ "name": "serbe"
+ },
+ "sn": {
+ "name": "shona"
+ },
+ "cu": {
+ "name": "slavon d’église"
+ },
+ "sk": {
+ "name": "slovaque"
+ },
+ "sl": {
+ "name": "slovène"
+ },
+ "xog": {
+ "name": "soga"
+ },
+ "so": {
+ "name": "somali"
+ },
+ "ckb": {
+ "name": "sorani"
+ },
+ "sv": {
+ "name": "suédois"
+ },
+ "gsw": {
+ "name": "suisse allemand"
+ },
+ "sw": {
+ "name": "swahili"
+ },
+ "sw-CD": {
+ "name": "swahili du Congo"
+ },
+ "dav": {
+ "name": "taita"
+ },
+ "tzm": {
+ "name": "tamazight du Maroc central"
+ },
+ "ta": {
+ "name": "tamoul"
+ },
+ "twq": {
+ "name": "tasawaq"
+ },
+ "cs": {
+ "name": "tchèque"
+ },
+ "ce": {
+ "name": "tchétchène"
+ },
+ "te": {
+ "name": "télougou"
+ },
+ "teo": {
+ "name": "teso"
+ },
+ "th": {
+ "name": "thaï"
+ },
+ "bo": {
+ "name": "tibétain"
+ },
+ "ti": {
+ "name": "tigrigna"
+ },
+ "to": {
+ "name": "tonguien"
+ },
+ "tr": {
+ "name": "turc"
+ },
+ "tk": {
+ "name": "turkmène"
+ },
+ "uk": {
+ "name": "ukrainien"
+ },
+ "vai": {
+ "name": "vaï"
+ },
+ "vi": {
+ "name": "vietnamien"
+ },
+ "vo": {
+ "name": "volapuk"
+ },
+ "vun": {
+ "name": "vunjo"
+ },
+ "wae": {
+ "name": "walser"
+ },
+ "yav": {
+ "name": "yangben"
+ },
+ "ii": {
+ "name": "yi du Sichuan"
+ },
+ "yi": {
+ "name": "yiddish"
+ },
+ "yo": {
+ "name": "yoruba"
+ },
+ "dje": {
+ "name": "zarma"
+ },
+ "zu": {
+ "name": "zoulou"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/fur.json b/vendor/commerceguys/intl/resources/language/fur.json
new file mode 100644
index 000000000..18a18d6cc
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/fur.json
@@ -0,0 +1,635 @@
+{
+ "af": {
+ "name": "afrikaans"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "ak": {
+ "name": "Akan"
+ },
+ "sq": {
+ "name": "albanês"
+ },
+ "de-CH": {
+ "name": "alt todesc de Svuizare"
+ },
+ "am": {
+ "name": "amaric"
+ },
+ "ar": {
+ "name": "arap"
+ },
+ "hy": {
+ "name": "armen"
+ },
+ "as": {
+ "name": "assamês"
+ },
+ "ast": {
+ "name": "asturian"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "az": {
+ "name": "azerbaijani"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "nds": {
+ "name": "bas todesc"
+ },
+ "nds-NL": {
+ "name": "bas todesc (Paîs bas)"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "eu": {
+ "name": "basc"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "bn": {
+ "name": "bengalês"
+ },
+ "be": {
+ "name": "bielorùs"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "bs": {
+ "name": "bosniac"
+ },
+ "br": {
+ "name": "breton"
+ },
+ "bg": {
+ "name": "bulgar"
+ },
+ "my": {
+ "name": "Burmese"
+ },
+ "yue": {
+ "name": "Cantonese"
+ },
+ "ca": {
+ "name": "catalan"
+ },
+ "cs": {
+ "name": "cec"
+ },
+ "ce": {
+ "name": "cecen"
+ },
+ "tzm": {
+ "name": "Central Atlas Tamazight"
+ },
+ "ckb": {
+ "name": "Central Kurdish"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "zh": {
+ "name": "cinês"
+ },
+ "zh-Hans": {
+ "name": "cinês semplificât"
+ },
+ "zh-Hant": {
+ "name": "cinês tradizionâl"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "ko": {
+ "name": "corean"
+ },
+ "kw": {
+ "name": "cornualiês"
+ },
+ "hr": {
+ "name": "cravuat"
+ },
+ "da": {
+ "name": "danês"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "dz": {
+ "name": "Dzongkha"
+ },
+ "he": {
+ "name": "ebraic"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "eo": {
+ "name": "esperanto"
+ },
+ "et": {
+ "name": "eston"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fo": {
+ "name": "faroês"
+ },
+ "fil": {
+ "name": "filipin"
+ },
+ "fi": {
+ "name": "finlandês"
+ },
+ "nl-BE": {
+ "name": "flamant"
+ },
+ "fr": {
+ "name": "francês"
+ },
+ "fr-CA": {
+ "name": "francês dal Canade"
+ },
+ "fr-CH": {
+ "name": "francês de Svuizare"
+ },
+ "fy": {
+ "name": "frisian"
+ },
+ "ff": {
+ "name": "fulah"
+ },
+ "fur": {
+ "name": "furlan"
+ },
+ "ga": {
+ "name": "gaelic irlandês"
+ },
+ "gd": {
+ "name": "gaelic scozês"
+ },
+ "cy": {
+ "name": "galês"
+ },
+ "gl": {
+ "name": "galizian"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "ja": {
+ "name": "gjaponês"
+ },
+ "ka": {
+ "name": "gjeorgjian"
+ },
+ "el": {
+ "name": "grêc"
+ },
+ "gu": {
+ "name": "gujarati"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "ha": {
+ "name": "Hausa"
+ },
+ "haw": {
+ "name": "Hawaiian"
+ },
+ "hi": {
+ "name": "hindi"
+ },
+ "ig": {
+ "name": "igbo"
+ },
+ "smn": {
+ "name": "Inari Sami"
+ },
+ "id": {
+ "name": "indonesian"
+ },
+ "en": {
+ "name": "inglês"
+ },
+ "en-AU": {
+ "name": "inglês australian"
+ },
+ "en-GB": {
+ "name": "inglês britanic"
+ },
+ "en-CA": {
+ "name": "inglês canadês"
+ },
+ "is": {
+ "name": "islandês"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabyle"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kl": {
+ "name": "kalaallisut"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "kn": {
+ "name": "kannada"
+ },
+ "ks": {
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "name": "kazac"
+ },
+ "km": {
+ "name": "khmer"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "rw": {
+ "name": "Kinyarwanda"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "ky": {
+ "name": "Kyrgyz"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "lao"
+ },
+ "lv": {
+ "name": "leton"
+ },
+ "ln": {
+ "name": "lingala"
+ },
+ "lt": {
+ "name": "lituan"
+ },
+ "dsb": {
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "lussemburghês"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "mk": {
+ "name": "macedon"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "mg": {
+ "name": "malagasy"
+ },
+ "ml": {
+ "name": "malayalam"
+ },
+ "ms": {
+ "name": "malês"
+ },
+ "mt": {
+ "name": "maltês"
+ },
+ "gv": {
+ "name": "manx"
+ },
+ "mr": {
+ "name": "marathi"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "ro-MD": {
+ "name": "moldâf"
+ },
+ "mn": {
+ "name": "mongul"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nd": {
+ "name": "ndebele setentrionâl"
+ },
+ "ne": {
+ "name": "nepalês"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "nb": {
+ "name": "norvegjês bokmål"
+ },
+ "nn": {
+ "name": "norvegjês nynorsk"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "nl": {
+ "name": "olandês"
+ },
+ "hu": {
+ "name": "ongjarês"
+ },
+ "or": {
+ "name": "oriya"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "os": {
+ "name": "osetic"
+ },
+ "ps": {
+ "name": "pashto"
+ },
+ "fa": {
+ "name": "persian"
+ },
+ "pl": {
+ "name": "polac"
+ },
+ "pt": {
+ "name": "portughês"
+ },
+ "pt-PT": {
+ "name": "portughês iberic"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "pa": {
+ "name": "punjabi"
+ },
+ "qu": {
+ "name": "quechua"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "ro": {
+ "name": "romen"
+ },
+ "rm": {
+ "name": "rumanç"
+ },
+ "rn": {
+ "name": "Rundi"
+ },
+ "ru": {
+ "name": "rus"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "sah": {
+ "name": "Sakha"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "se": {
+ "name": "sami setentrionâl"
+ },
+ "sg": {
+ "name": "sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "cu": {
+ "name": "sclâf de glesie"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "sr": {
+ "name": "serp"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "si": {
+ "name": "sinalês"
+ },
+ "sk": {
+ "name": "slovac"
+ },
+ "sl": {
+ "name": "sloven"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "so": {
+ "name": "somal"
+ },
+ "es": {
+ "name": "spagnûl"
+ },
+ "es-MX": {
+ "name": "spagnûl (Messic)"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sv": {
+ "name": "svedês"
+ },
+ "sw": {
+ "name": "swahili"
+ },
+ "sw-CD": {
+ "name": "swahili (Republiche Democratiche dal Congo)"
+ },
+ "gsw": {
+ "name": "Swiss German"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "it": {
+ "name": "talian"
+ },
+ "ta": {
+ "name": "tamil"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "te": {
+ "name": "telegu"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "th": {
+ "name": "thai"
+ },
+ "bo": {
+ "name": "tibetan"
+ },
+ "ti": {
+ "name": "Tigrinya"
+ },
+ "de": {
+ "name": "todesc"
+ },
+ "de-AT": {
+ "name": "todesc de Austrie"
+ },
+ "to": {
+ "name": "Tongan"
+ },
+ "tr": {
+ "name": "turc"
+ },
+ "tk": {
+ "name": "turcmen"
+ },
+ "uk": {
+ "name": "ucrain"
+ },
+ "ug": {
+ "name": "uigur"
+ },
+ "hsb": {
+ "name": "Upper Sorbian"
+ },
+ "ur": {
+ "name": "urdu"
+ },
+ "uz": {
+ "name": "uzbec"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vi": {
+ "name": "vietnamite"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "yi": {
+ "name": "yiddish"
+ },
+ "yo": {
+ "name": "yoruba"
+ },
+ "dje": {
+ "name": "Zarma"
+ },
+ "zu": {
+ "name": "zulu"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/fy.json b/vendor/commerceguys/intl/resources/language/fy.json
new file mode 100644
index 000000000..638843cb2
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/fy.json
@@ -0,0 +1,635 @@
+{
+ "af": {
+ "name": "Afrikaansk"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "ak": {
+ "name": "Akan"
+ },
+ "sq": {
+ "name": "Albaneesk"
+ },
+ "am": {
+ "name": "Amhaarsk"
+ },
+ "ar": {
+ "name": "Arabysk"
+ },
+ "hy": {
+ "name": "Armeensk"
+ },
+ "as": {
+ "name": "Assameesk"
+ },
+ "ast": {
+ "name": "Asturysk"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "en-AU": {
+ "name": "Australysk Ingelsk"
+ },
+ "az": {
+ "name": "Azerbeidzjaansk"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bas": {
+ "name": "Basa"
+ },
+ "eu": {
+ "name": "Baskysk"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "bn": {
+ "name": "Bengaalsk"
+ },
+ "my": {
+ "name": "Birmees"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "bs": {
+ "name": "Bosnysk"
+ },
+ "br": {
+ "name": "Bretonsk"
+ },
+ "en-GB": {
+ "name": "Britsk Ingelsk"
+ },
+ "bg": {
+ "name": "Bulgaarsk"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "sw-CD": {
+ "name": "Congo Swahili"
+ },
+ "kw": {
+ "name": "Cornish"
+ },
+ "da": {
+ "name": "Deensk"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "de": {
+ "name": "Dútsk"
+ },
+ "dz": {
+ "name": "Dzongkha"
+ },
+ "de-AT": {
+ "name": "Eastenryks Dútsk"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "eo": {
+ "name": "Esperanto"
+ },
+ "et": {
+ "name": "Estlânsk"
+ },
+ "pt-PT": {
+ "name": "Europees Portugees"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fo": {
+ "name": "Faeröersk"
+ },
+ "zh-Hans": {
+ "name": "Ferienfâldich Sineesk"
+ },
+ "fil": {
+ "name": "Filipynsk"
+ },
+ "fi": {
+ "name": "Finsk"
+ },
+ "fr": {
+ "name": "Frânsk"
+ },
+ "fur": {
+ "name": "Friulysk"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "gl": {
+ "name": "Galisysk"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "ka": {
+ "name": "Georgysk"
+ },
+ "kl": {
+ "name": "Grienlâns"
+ },
+ "el": {
+ "name": "Gryks"
+ },
+ "gu": {
+ "name": "Gujarati"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "ha": {
+ "name": "Hausa"
+ },
+ "haw": {
+ "name": "Hawaïaansk"
+ },
+ "he": {
+ "name": "Hebreeuwsk"
+ },
+ "hi": {
+ "name": "Hindi"
+ },
+ "hu": {
+ "name": "Hongaarsk"
+ },
+ "ga": {
+ "name": "Iersk"
+ },
+ "ig": {
+ "name": "Igbo"
+ },
+ "smn": {
+ "name": "Inari Sami"
+ },
+ "en": {
+ "name": "Ingelsk"
+ },
+ "it": {
+ "name": "Italiaansk"
+ },
+ "sah": {
+ "name": "Jakoets"
+ },
+ "ja": {
+ "name": "Japans"
+ },
+ "yi": {
+ "name": "Jiddysk"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kaapverdysk Creools"
+ },
+ "kab": {
+ "name": "Kabyle"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "fr-CA": {
+ "name": "Kanadeesk Frânsk"
+ },
+ "en-CA": {
+ "name": "Kanadeesk Ingelsk"
+ },
+ "kn": {
+ "name": "Kannada"
+ },
+ "yue": {
+ "name": "Kantoneesk"
+ },
+ "ks": {
+ "name": "Kasjmiri"
+ },
+ "ca": {
+ "name": "Katalaansk"
+ },
+ "kk": {
+ "name": "Kazachs"
+ },
+ "cu": {
+ "name": "Kerkslavysk"
+ },
+ "km": {
+ "name": "Khmer"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "rw": {
+ "name": "Kinyarwanda"
+ },
+ "ky": {
+ "name": "Kirgizysk"
+ },
+ "rn": {
+ "name": "Kirundi"
+ },
+ "ksh": {
+ "name": "Kölsch"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "ko": {
+ "name": "Koreaansk"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "hr": {
+ "name": "Kroatysk"
+ },
+ "nds": {
+ "name": "Laagduits"
+ },
+ "nds-NL": {
+ "name": "Laagduits (Nederlân)"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "Laotiaansk"
+ },
+ "lv": {
+ "name": "Letlâns"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "lt": {
+ "name": "Litouws"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "Luxemburgs"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "mk": {
+ "name": "Macedonysk"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "mg": {
+ "name": "Malagasysk"
+ },
+ "ml": {
+ "name": "Malayalam"
+ },
+ "ms": {
+ "name": "Maleis"
+ },
+ "mt": {
+ "name": "Maltees"
+ },
+ "gv": {
+ "name": "Manks"
+ },
+ "mr": {
+ "name": "Marathi"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "es-MX": {
+ "name": "Meksikaansk Spaansk"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Meta’"
+ },
+ "ro-MD": {
+ "name": "Moldavysk"
+ },
+ "mn": {
+ "name": "Mongools"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nl": {
+ "name": "Nederlânsk"
+ },
+ "dsb": {
+ "name": "Nedersorbysk"
+ },
+ "ne": {
+ "name": "Nepalees"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "nmg": {
+ "name": "Ngumba"
+ },
+ "nd": {
+ "name": "Noard-Ndbele"
+ },
+ "se": {
+ "name": "Noard-Samysk"
+ },
+ "nb": {
+ "name": "Noors - Bokmål"
+ },
+ "nn": {
+ "name": "Noors - Nynorsk"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "or": {
+ "name": "Odia"
+ },
+ "ug": {
+ "name": "Oeigoers"
+ },
+ "uk": {
+ "name": "Oekraïens"
+ },
+ "uz": {
+ "name": "Oezbeeks"
+ },
+ "hsb": {
+ "name": "Oppersorbysk"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "os": {
+ "name": "Ossetysk"
+ },
+ "ps": {
+ "name": "Pasjtoe"
+ },
+ "fa": {
+ "name": "Perzysk"
+ },
+ "pl": {
+ "name": "Poalsk"
+ },
+ "pt": {
+ "name": "Portugeesk"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "pa": {
+ "name": "Punjabi"
+ },
+ "qu": {
+ "name": "Quechua"
+ },
+ "rm": {
+ "name": "Reto-Romaansk"
+ },
+ "ro": {
+ "name": "Roemeensk"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "ru": {
+ "name": "Russysk"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "gd": {
+ "name": "Schotsk Gaelic"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "sr": {
+ "name": "Servysk"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "zh": {
+ "name": "Sineesk"
+ },
+ "si": {
+ "name": "Singalees"
+ },
+ "sl": {
+ "name": "Sloveensk"
+ },
+ "sk": {
+ "name": "Slowaaks"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "so": {
+ "name": "Somalysk"
+ },
+ "ckb": {
+ "name": "Soranî"
+ },
+ "es": {
+ "name": "Spaansk"
+ },
+ "zgh": {
+ "name": "Standert Marokkaanske Tamazight"
+ },
+ "sw": {
+ "name": "Swahili"
+ },
+ "gsw": {
+ "name": "Switsers Dútsk"
+ },
+ "fr-CH": {
+ "name": "Switserse Frânsk"
+ },
+ "de-CH": {
+ "name": "Switsersk Heechdútsk"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "tzm": {
+ "name": "Tamazight (Sintraal-Marokko)"
+ },
+ "ta": {
+ "name": "Tamil"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "shi": {
+ "name": "Tashelhiyt"
+ },
+ "te": {
+ "name": "Telugu"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "th": {
+ "name": "Thais"
+ },
+ "bo": {
+ "name": "Tibetaansk"
+ },
+ "ti": {
+ "name": "Tigrinya"
+ },
+ "to": {
+ "name": "Tongaansk"
+ },
+ "zh-Hant": {
+ "name": "Tradisjoneel Sineesk"
+ },
+ "cs": {
+ "name": "Tsjechysk"
+ },
+ "ce": {
+ "name": "Tsjetsjeensk"
+ },
+ "tk": {
+ "name": "Turkmeens"
+ },
+ "tr": {
+ "name": "Turks"
+ },
+ "ur": {
+ "name": "Urdu"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vi": {
+ "name": "Vietnamees"
+ },
+ "nl-BE": {
+ "name": "Vlaams"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "cy": {
+ "name": "Welsk"
+ },
+ "fy": {
+ "name": "West-Frysk"
+ },
+ "be": {
+ "name": "Wyt-Russysk"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "id": {
+ "name": "Yndonezysk"
+ },
+ "yo": {
+ "name": "Yoruba"
+ },
+ "is": {
+ "name": "Yslâns"
+ },
+ "dje": {
+ "name": "Zarma"
+ },
+ "zu": {
+ "name": "Zulu"
+ },
+ "sv": {
+ "name": "Zweeds"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/ga.json b/vendor/commerceguys/intl/resources/language/ga.json
new file mode 100644
index 000000000..a6fe30a4e
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/ga.json
@@ -0,0 +1,635 @@
+{
+ "ak": {
+ "name": "Acáinis"
+ },
+ "af": {
+ "name": "Afracáinis"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "hy": {
+ "name": "Airméinis"
+ },
+ "sq": {
+ "name": "Albáinis"
+ },
+ "am": {
+ "name": "Amáiris"
+ },
+ "ar": {
+ "name": "Araibis"
+ },
+ "de-CH": {
+ "name": "Ard-Ghearmáinis Eilvéiseach"
+ },
+ "as": {
+ "name": "Asaimis"
+ },
+ "az": {
+ "name": "Asarbaiseáinis"
+ },
+ "ast": {
+ "name": "Astúiris"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "eu": {
+ "name": "Bascais"
+ },
+ "be": {
+ "name": "Bealarúisis"
+ },
+ "bn": {
+ "name": "Beangáilis"
+ },
+ "en": {
+ "name": "Béarla"
+ },
+ "en-AU": {
+ "name": "Béarla Astrálach"
+ },
+ "en-GB": {
+ "name": "Béarla Briotanach"
+ },
+ "en-CA": {
+ "name": "Béarla Ceanadach"
+ },
+ "bem": {
+ "name": "Beimbis"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "bs": {
+ "name": "Boisnis"
+ },
+ "cy": {
+ "name": "Breatnais"
+ },
+ "br": {
+ "name": "Briotáinis"
+ },
+ "bg": {
+ "name": "Bulgáiris"
+ },
+ "my": {
+ "name": "Burmais"
+ },
+ "ks": {
+ "name": "Caismíris"
+ },
+ "kn": {
+ "name": "Cannadais"
+ },
+ "yue": {
+ "name": "Cantainis"
+ },
+ "kk": {
+ "name": "Casaicis"
+ },
+ "ca": {
+ "name": "Catalóinis"
+ },
+ "qu": {
+ "name": "Ceatsuais"
+ },
+ "tzm": {
+ "name": "Central Atlas Tamazight"
+ },
+ "ckb": {
+ "name": "Central Kurdish"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "km": {
+ "name": "Ciméiris"
+ },
+ "rw": {
+ "name": "Ciniaruaindis"
+ },
+ "ki": {
+ "name": "Ciocúis"
+ },
+ "ky": {
+ "name": "Cirgisis"
+ },
+ "ko": {
+ "name": "Cóiréis"
+ },
+ "kw": {
+ "name": "Coirnis"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "kok": {
+ "name": "Concáinis"
+ },
+ "hr": {
+ "name": "Cróitis"
+ },
+ "da": {
+ "name": "Danmhairgis"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "he": {
+ "name": "Eabhrais"
+ },
+ "et": {
+ "name": "Eastóinis"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "eo": {
+ "name": "Esperanto"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fo": {
+ "name": "Faróis"
+ },
+ "fil": {
+ "name": "Filipínis"
+ },
+ "fi": {
+ "name": "Fionlainnis"
+ },
+ "fr": {
+ "name": "Fraincis"
+ },
+ "fr-CA": {
+ "name": "Fraincis Cheanadach"
+ },
+ "fr-CH": {
+ "name": "Fraincis Eilvéiseach"
+ },
+ "fy": {
+ "name": "Freaslainnis Iartharach"
+ },
+ "fur": {
+ "name": "Friúilis"
+ },
+ "ff": {
+ "name": "Fuláinis"
+ },
+ "ga": {
+ "name": "Gaeilge"
+ },
+ "gd": {
+ "name": "Gaeilge na hAlban"
+ },
+ "gl": {
+ "name": "Gailísis"
+ },
+ "de": {
+ "name": "Gearmáinis"
+ },
+ "gsw": {
+ "name": "Gearmáinis Eilvéiseach"
+ },
+ "nds": {
+ "name": "Gearmáinis Íochtarach"
+ },
+ "de-AT": {
+ "name": "Gearmáinis Ostarach"
+ },
+ "yi": {
+ "name": "Giúdais"
+ },
+ "el": {
+ "name": "Gréigis"
+ },
+ "gu": {
+ "name": "Gúisearáitis"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "ha": {
+ "name": "Hásais"
+ },
+ "haw": {
+ "name": "Haváis"
+ },
+ "hi": {
+ "name": "Hiondúis"
+ },
+ "yo": {
+ "name": "Iarúibis"
+ },
+ "smn": {
+ "name": "Inari Sami"
+ },
+ "id": {
+ "name": "Indinéisis"
+ },
+ "it": {
+ "name": "Iodáilis"
+ },
+ "ig": {
+ "name": "Íogbóis"
+ },
+ "nb": {
+ "name": "Ioruais Bokmål"
+ },
+ "is": {
+ "name": "Íoslainnis"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabyle"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kl": {
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "lv": {
+ "name": "Laitvis"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "Laoisis"
+ },
+ "ln": {
+ "name": "Liongáilis"
+ },
+ "lt": {
+ "name": "Liotuáinis"
+ },
+ "lu": {
+ "name": "Lúba-Cataingis"
+ },
+ "lb": {
+ "name": "Lucsambuirgis"
+ },
+ "lg": {
+ "name": "Lugandais"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "mk": {
+ "name": "Macadóinis"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "ml": {
+ "name": "Mailéalaimis"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "ms": {
+ "name": "Malaeis"
+ },
+ "mg": {
+ "name": "Malagáisis"
+ },
+ "mt": {
+ "name": "Máltais"
+ },
+ "gv": {
+ "name": "Manainnis"
+ },
+ "mr": {
+ "name": "Maraitis"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "ro-MD": {
+ "name": "Moldáivis"
+ },
+ "mn": {
+ "name": "Mongóilis"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nd": {
+ "name": "Ndeibéilis an Tuaiscirt"
+ },
+ "ne": {
+ "name": "Neipeailis"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "nn": {
+ "name": "Nua-Ioruais"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "or": {
+ "name": "Oirísis"
+ },
+ "os": {
+ "name": "Oiséitis"
+ },
+ "nl": {
+ "name": "Ollainnis"
+ },
+ "om": {
+ "name": "Oraimis"
+ },
+ "ps": {
+ "name": "Paistis"
+ },
+ "fa": {
+ "name": "Peirsis"
+ },
+ "nl-BE": {
+ "name": "Pléimeannais"
+ },
+ "pl": {
+ "name": "Polainnis"
+ },
+ "pt": {
+ "name": "Portaingéilis"
+ },
+ "pt-PT": {
+ "name": "Portaingéilis Ibéarach"
+ },
+ "prg": {
+ "name": "Prúisis"
+ },
+ "pa": {
+ "name": "Puinseáibis"
+ },
+ "rm": {
+ "name": "Rómainis"
+ },
+ "ro": {
+ "name": "Rómáinis"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "rn": {
+ "name": "Rúindis"
+ },
+ "ru": {
+ "name": "Rúisis"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "sah": {
+ "name": "Sachais"
+ },
+ "nds-NL": {
+ "name": "Sacsainis Íochtarach"
+ },
+ "se": {
+ "name": "Sáimis Thuaidh"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sangóis"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "ja": {
+ "name": "Seapáinis"
+ },
+ "cs": {
+ "name": "Seicis"
+ },
+ "sr": {
+ "name": "Seirbis"
+ },
+ "chr": {
+ "name": "Seiricis"
+ },
+ "ce": {
+ "name": "Seisnis"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "dz": {
+ "name": "Seoinicis"
+ },
+ "sn": {
+ "name": "Seoinis"
+ },
+ "ka": {
+ "name": "Seoirsis"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "zh": {
+ "name": "Sínis"
+ },
+ "zh-Hans": {
+ "name": "Sínis Shimplithe"
+ },
+ "zh-Hant": {
+ "name": "Sínis Thraidisiúnta"
+ },
+ "si": {
+ "name": "Siolóinis"
+ },
+ "cu": {
+ "name": "Slavais na hEaglaise"
+ },
+ "sl": {
+ "name": "Slóivéinis"
+ },
+ "sk": {
+ "name": "Slóvaicis"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "so": {
+ "name": "Somáilis"
+ },
+ "dsb": {
+ "name": "Sorbais Íochtarach"
+ },
+ "hsb": {
+ "name": "Sorbais Uachtarach"
+ },
+ "es": {
+ "name": "Spáinnis"
+ },
+ "es-MX": {
+ "name": "Spáinnis Mheicsiceach"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sv": {
+ "name": "Sualainnis"
+ },
+ "zu": {
+ "name": "Súlúis"
+ },
+ "sw": {
+ "name": "Svahaílis"
+ },
+ "sw-CD": {
+ "name": "Svahaílis an Chongó"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "ta": {
+ "name": "Tamailis"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "th": {
+ "name": "Téalainnis"
+ },
+ "te": {
+ "name": "Teileagúis"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "bo": {
+ "name": "Tibéidis"
+ },
+ "ti": {
+ "name": "Tigrinis"
+ },
+ "to": {
+ "name": "Tongais"
+ },
+ "tr": {
+ "name": "Tuircis"
+ },
+ "tk": {
+ "name": "Tuircméinis"
+ },
+ "uk": {
+ "name": "Úcráinis"
+ },
+ "ug": {
+ "name": "Uigiúiris"
+ },
+ "uz": {
+ "name": "Úisbéiceastáinis"
+ },
+ "hu": {
+ "name": "Ungáiris"
+ },
+ "ur": {
+ "name": "Urdúis"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vi": {
+ "name": "Vítneaimis"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "dje": {
+ "name": "Zarmais"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/gd.json b/vendor/commerceguys/intl/resources/language/gd.json
new file mode 100644
index 000000000..dbff64b32
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/gd.json
@@ -0,0 +1,635 @@
+{
+ "af": {
+ "name": "Afraganais"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "hy": {
+ "name": "Airmeinis"
+ },
+ "ak": {
+ "name": "Akan"
+ },
+ "sq": {
+ "name": "Albàinis"
+ },
+ "am": {
+ "name": "Amtharais"
+ },
+ "ar": {
+ "name": "Arabais"
+ },
+ "de-CH": {
+ "name": "Àrd-Ghearmailtis na h-Eilbheise"
+ },
+ "as": {
+ "name": "Asamais"
+ },
+ "az": {
+ "name": "Asarbaideànais"
+ },
+ "ast": {
+ "name": "Astùrais"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bn": {
+ "name": "Bangla"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "eu": {
+ "name": "Basgais"
+ },
+ "be": {
+ "name": "Bealaruisis"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "en": {
+ "name": "Beurla"
+ },
+ "en-AU": {
+ "name": "Beurla Astràilia"
+ },
+ "en-GB": {
+ "name": "Beurla Bhreatainn"
+ },
+ "en-CA": {
+ "name": "Beurla Chanada"
+ },
+ "vi": {
+ "name": "Bhiet-Namais"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "nb": {
+ "name": "Bokmål na Nirribhidh"
+ },
+ "bs": {
+ "name": "Bosnais"
+ },
+ "br": {
+ "name": "Breatnais"
+ },
+ "bg": {
+ "name": "Bulgarais"
+ },
+ "my": {
+ "name": "Burmais"
+ },
+ "ka": {
+ "name": "Cairtbheilis"
+ },
+ "ks": {
+ "name": "Caismiris"
+ },
+ "haw": {
+ "name": "Cànan Hawai’i"
+ },
+ "th": {
+ "name": "Cànan nan Tàidh"
+ },
+ "yue": {
+ "name": "Cantonais"
+ },
+ "kk": {
+ "name": "Casachais"
+ },
+ "ca": {
+ "name": "Catalanais"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "ky": {
+ "name": "Cìorgasais"
+ },
+ "km": {
+ "name": "Cmèar"
+ },
+ "ko": {
+ "name": "Coirèanais"
+ },
+ "kw": {
+ "name": "Còrnais"
+ },
+ "hr": {
+ "name": "Cròthaisis"
+ },
+ "cy": {
+ "name": "Cuimris"
+ },
+ "ckb": {
+ "name": "Cùrdais Mheadhanach"
+ },
+ "da": {
+ "name": "Danmhairgis"
+ },
+ "ce": {
+ "name": "Deideanais"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "nl": {
+ "name": "Duitsis"
+ },
+ "dz": {
+ "name": "Dzongkha"
+ },
+ "he": {
+ "name": "Eabhra"
+ },
+ "it": {
+ "name": "Eadailtis"
+ },
+ "et": {
+ "name": "Eastoinis"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "eo": {
+ "name": "Esperanto"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fo": {
+ "name": "Fàrothais"
+ },
+ "fil": {
+ "name": "Filipinis"
+ },
+ "fi": {
+ "name": "Fionnlannais"
+ },
+ "nl-BE": {
+ "name": "Flannrais"
+ },
+ "fr": {
+ "name": "Fraingis"
+ },
+ "fr-CA": {
+ "name": "Fraingis Chanada"
+ },
+ "fr-CH": {
+ "name": "Fraingis Eilbheiseach"
+ },
+ "fy": {
+ "name": "Frìoslannais Shiarach"
+ },
+ "fur": {
+ "name": "Friùilis"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "ga": {
+ "name": "Gaeilge"
+ },
+ "gv": {
+ "name": "Gaelg"
+ },
+ "gd": {
+ "name": "Gàidhlig"
+ },
+ "gl": {
+ "name": "Gailìsis"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "de": {
+ "name": "Gearmailtis"
+ },
+ "ksh": {
+ "name": "Gearmailtis Chologne"
+ },
+ "gsw": {
+ "name": "Gearmailtis Eilbheiseach"
+ },
+ "nds": {
+ "name": "Gearmailtis Ìochdarach"
+ },
+ "de-AT": {
+ "name": "Gearmailtis na h-Ostaire"
+ },
+ "wae": {
+ "name": "Gearmailtis Wallis"
+ },
+ "el": {
+ "name": "Greugais"
+ },
+ "gu": {
+ "name": "Gujarati"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "ha": {
+ "name": "Hausa"
+ },
+ "hi": {
+ "name": "Hindis"
+ },
+ "ig": {
+ "name": "Igbo"
+ },
+ "id": {
+ "name": "Innd-Innsis"
+ },
+ "is": {
+ "name": "Innis Tìlis"
+ },
+ "yi": {
+ "name": "Iùdhais"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabyle"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kl": {
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "kn": {
+ "name": "Kannada"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "rw": {
+ "name": "Kinyarwanda"
+ },
+ "rn": {
+ "name": "Kirundi"
+ },
+ "sw": {
+ "name": "Kiswahili"
+ },
+ "sw-CD": {
+ "name": "Kiswahili na Congo"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "lv": {
+ "name": "Laitbheis"
+ },
+ "lkt": {
+ "name": "Lakhóta"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "Làtho"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "lt": {
+ "name": "Liotuainis"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "lb": {
+ "name": "Lugsamburgais"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lrc": {
+ "name": "Luri Thuathach"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "mas": {
+ "name": "Maasai"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "mg": {
+ "name": "Malagasais"
+ },
+ "ms": {
+ "name": "Malaidhis"
+ },
+ "ml": {
+ "name": "Malayalam"
+ },
+ "mt": {
+ "name": "Maltais"
+ },
+ "mr": {
+ "name": "Marathi"
+ },
+ "mk": {
+ "name": "Masadonais"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Meta’"
+ },
+ "ro-MD": {
+ "name": "Moldobhais"
+ },
+ "mn": {
+ "name": "Mongolais"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nd": {
+ "name": "Ndebele Thuathach"
+ },
+ "ne": {
+ "name": "Neapàlais"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "nn": {
+ "name": "Nynorsk na Nirribhidh"
+ },
+ "or": {
+ "name": "Odia"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "os": {
+ "name": "Ossetic"
+ },
+ "pa": {
+ "name": "Panjabi"
+ },
+ "ps": {
+ "name": "Pashto"
+ },
+ "fa": {
+ "name": "Peirsis"
+ },
+ "pl": {
+ "name": "Pòlainnis"
+ },
+ "pt": {
+ "name": "Portagailis"
+ },
+ "pt-PT": {
+ "name": "Portagailis Eòrpach"
+ },
+ "prg": {
+ "name": "Pruisis"
+ },
+ "qu": {
+ "name": "Quechua"
+ },
+ "ro": {
+ "name": "Romàinis"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "ru": {
+ "name": "Ruisis"
+ },
+ "rm": {
+ "name": "Rumains"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "nds-NL": {
+ "name": "Sagsannais Ìochdarach"
+ },
+ "sah": {
+ "name": "Sakha"
+ },
+ "smn": {
+ "name": "Sàmais Inari"
+ },
+ "se": {
+ "name": "Sàmais Thuathach"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "ja": {
+ "name": "Seapanais"
+ },
+ "cs": {
+ "name": "Seicis"
+ },
+ "sr": {
+ "name": "Sèirbis"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "si": {
+ "name": "Sinhala"
+ },
+ "zh": {
+ "name": "Sìnis"
+ },
+ "zh-Hans": {
+ "name": "Sìnis Shimplichte"
+ },
+ "zh-Hant": {
+ "name": "Sìnis Thradaiseanta"
+ },
+ "cu": {
+ "name": "Slàbhais na h-Eaglaise"
+ },
+ "sk": {
+ "name": "Slòbhacais"
+ },
+ "sl": {
+ "name": "Slòbhainis"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "so": {
+ "name": "Somàilis"
+ },
+ "dsb": {
+ "name": "Sòrbais Ìochdarach"
+ },
+ "hsb": {
+ "name": "Sòrbais Uachdarach"
+ },
+ "es": {
+ "name": "Spàinntis"
+ },
+ "es-MX": {
+ "name": "Spàinntis Mheagsagach"
+ },
+ "sv": {
+ "name": "Suainis"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "ta": {
+ "name": "Taimilis"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "tzm": {
+ "name": "Tamazight an Atlais Mheadhanaich"
+ },
+ "zgh": {
+ "name": "Tamazight Stannardach Moroco"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "te": {
+ "name": "Telugu"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "bo": {
+ "name": "Tibeitis"
+ },
+ "ti": {
+ "name": "Tigrinya"
+ },
+ "to": {
+ "name": "Tonga"
+ },
+ "tr": {
+ "name": "Turcais"
+ },
+ "tk": {
+ "name": "Turcmanais"
+ },
+ "uk": {
+ "name": "Ucràinis"
+ },
+ "ug": {
+ "name": "Ùigiurais"
+ },
+ "hu": {
+ "name": "Ungairis"
+ },
+ "ur": {
+ "name": "Ùrdu"
+ },
+ "uz": {
+ "name": "Usbagais"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "ii": {
+ "name": "Yi Sichuan"
+ },
+ "yo": {
+ "name": "Yoruba"
+ },
+ "dje": {
+ "name": "Zarma"
+ },
+ "zu": {
+ "name": "Zulu"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/gl.json b/vendor/commerceguys/intl/resources/language/gl.json
new file mode 100644
index 000000000..b9ecd065a
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/gl.json
@@ -0,0 +1,635 @@
+{
+ "az": {
+ "name": "acerbaixano"
+ },
+ "af": {
+ "name": "africáner"
+ },
+ "agq": {
+ "name": "aghem"
+ },
+ "ak": {
+ "name": "akán"
+ },
+ "sq": {
+ "name": "albanés"
+ },
+ "de": {
+ "name": "alemán"
+ },
+ "de-AT": {
+ "name": "alemán austríaco"
+ },
+ "gsw": {
+ "name": "alemán suízo"
+ },
+ "de-CH": {
+ "name": "alto alemán suízo"
+ },
+ "hsb": {
+ "name": "alto sorbio"
+ },
+ "am": {
+ "name": "amárico"
+ },
+ "ar": {
+ "name": "árabe"
+ },
+ "hy": {
+ "name": "armenio"
+ },
+ "as": {
+ "name": "asamés"
+ },
+ "ast": {
+ "name": "asturiano"
+ },
+ "asa": {
+ "name": "asu"
+ },
+ "ksf": {
+ "name": "bafia"
+ },
+ "nds": {
+ "name": "baixo alemán"
+ },
+ "nds-NL": {
+ "name": "baixo saxón"
+ },
+ "dsb": {
+ "name": "baixo sorabio"
+ },
+ "bm": {
+ "name": "bambaro"
+ },
+ "bas": {
+ "name": "basaa"
+ },
+ "bem": {
+ "name": "bemba"
+ },
+ "bez": {
+ "name": "bena"
+ },
+ "bn": {
+ "name": "bengalí"
+ },
+ "be": {
+ "name": "bielorruso"
+ },
+ "my": {
+ "name": "birmano"
+ },
+ "brx": {
+ "name": "bodo"
+ },
+ "bs": {
+ "name": "bosníaco"
+ },
+ "br": {
+ "name": "bretón"
+ },
+ "bg": {
+ "name": "búlgaro"
+ },
+ "kea": {
+ "name": "caboverdiano"
+ },
+ "ks": {
+ "name": "cachemir"
+ },
+ "kn": {
+ "name": "canarés"
+ },
+ "yue": {
+ "name": "cantonés"
+ },
+ "kk": {
+ "name": "casaco"
+ },
+ "ca": {
+ "name": "catalán"
+ },
+ "ce": {
+ "name": "checheno"
+ },
+ "cs": {
+ "name": "checo"
+ },
+ "chr": {
+ "name": "cheroqui"
+ },
+ "zh": {
+ "name": "chinés"
+ },
+ "zh-Hans": {
+ "name": "chinés simplificado"
+ },
+ "zh-Hant": {
+ "name": "chinés tradicional"
+ },
+ "si": {
+ "name": "cingalés"
+ },
+ "ko": {
+ "name": "coreano"
+ },
+ "kw": {
+ "name": "córnico"
+ },
+ "mfe": {
+ "name": "crioulo mauriciano"
+ },
+ "hr": {
+ "name": "croata"
+ },
+ "da": {
+ "name": "dinamarqués"
+ },
+ "dua": {
+ "name": "duala"
+ },
+ "dz": {
+ "name": "dzongkha"
+ },
+ "ebu": {
+ "name": "embu"
+ },
+ "cu": {
+ "name": "eslavo eclesiástico"
+ },
+ "sk": {
+ "name": "eslovaco"
+ },
+ "sl": {
+ "name": "esloveno"
+ },
+ "es": {
+ "name": "español"
+ },
+ "es-MX": {
+ "name": "español de México"
+ },
+ "eo": {
+ "name": "esperanto"
+ },
+ "et": {
+ "name": "estoniano"
+ },
+ "eu": {
+ "name": "éuscaro"
+ },
+ "ee": {
+ "name": "ewe"
+ },
+ "ewo": {
+ "name": "ewondo"
+ },
+ "fo": {
+ "name": "feroés"
+ },
+ "fil": {
+ "name": "filipino"
+ },
+ "fi": {
+ "name": "finés"
+ },
+ "nl-BE": {
+ "name": "flamenco"
+ },
+ "fr": {
+ "name": "francés"
+ },
+ "fr-CA": {
+ "name": "francés canadiano"
+ },
+ "fr-CH": {
+ "name": "francés suízo"
+ },
+ "fy": {
+ "name": "frisón"
+ },
+ "fur": {
+ "name": "friuliano"
+ },
+ "ff": {
+ "name": "fula"
+ },
+ "gd": {
+ "name": "gaélico escocés"
+ },
+ "gl": {
+ "name": "galego"
+ },
+ "cy": {
+ "name": "galés"
+ },
+ "lg": {
+ "name": "ganda"
+ },
+ "el": {
+ "name": "grego"
+ },
+ "kl": {
+ "name": "groenlandés occidental"
+ },
+ "guz": {
+ "name": "gusii"
+ },
+ "gu": {
+ "name": "guxaratí"
+ },
+ "ha": {
+ "name": "hausa"
+ },
+ "haw": {
+ "name": "hawaiano"
+ },
+ "he": {
+ "name": "hebreo"
+ },
+ "hi": {
+ "name": "hindi"
+ },
+ "nl": {
+ "name": "holandés"
+ },
+ "hu": {
+ "name": "húngaro"
+ },
+ "ig": {
+ "name": "ibo"
+ },
+ "id": {
+ "name": "indonesio"
+ },
+ "en": {
+ "name": "inglés"
+ },
+ "en-AU": {
+ "name": "inglés australiano"
+ },
+ "en-GB": {
+ "name": "inglés británico"
+ },
+ "en-CA": {
+ "name": "inglés canadiano"
+ },
+ "ga": {
+ "name": "irlandés"
+ },
+ "is": {
+ "name": "islandés"
+ },
+ "it": {
+ "name": "italiano"
+ },
+ "dyo": {
+ "name": "jola-fonyi"
+ },
+ "kab": {
+ "name": "kabile"
+ },
+ "kkj": {
+ "name": "kako"
+ },
+ "kln": {
+ "name": "kalenjin"
+ },
+ "kam": {
+ "name": "kamba"
+ },
+ "km": {
+ "name": "khmer"
+ },
+ "cgg": {
+ "name": "kiga"
+ },
+ "ki": {
+ "name": "kikuyu"
+ },
+ "ksh": {
+ "name": "kölsch"
+ },
+ "kok": {
+ "name": "konkani"
+ },
+ "khq": {
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "name": "koyraboro senni"
+ },
+ "ckb": {
+ "name": "kurdo soraní"
+ },
+ "nmg": {
+ "name": "kwasio"
+ },
+ "lkt": {
+ "name": "lakota"
+ },
+ "lag": {
+ "name": "langi"
+ },
+ "lo": {
+ "name": "laosiano"
+ },
+ "lv": {
+ "name": "letón"
+ },
+ "ln": {
+ "name": "lingala"
+ },
+ "lt": {
+ "name": "lituano"
+ },
+ "lu": {
+ "name": "luba-katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lrc": {
+ "name": "luri do norte"
+ },
+ "lb": {
+ "name": "luxemburgués"
+ },
+ "luy": {
+ "name": "luyia"
+ },
+ "mk": {
+ "name": "macedonio"
+ },
+ "jmc": {
+ "name": "machame"
+ },
+ "mgh": {
+ "name": "makhuwa-meetto"
+ },
+ "kde": {
+ "name": "makonde"
+ },
+ "ml": {
+ "name": "malabar"
+ },
+ "ms": {
+ "name": "malaio"
+ },
+ "mg": {
+ "name": "malgaxe"
+ },
+ "mt": {
+ "name": "maltés"
+ },
+ "gv": {
+ "name": "manx"
+ },
+ "mr": {
+ "name": "marathi"
+ },
+ "mas": {
+ "name": "masai"
+ },
+ "mzn": {
+ "name": "mazandaraní"
+ },
+ "mer": {
+ "name": "meru"
+ },
+ "mgo": {
+ "name": "meta’"
+ },
+ "ro-MD": {
+ "name": "moldavo"
+ },
+ "mn": {
+ "name": "mongol"
+ },
+ "mua": {
+ "name": "mundang"
+ },
+ "naq": {
+ "name": "nama"
+ },
+ "nd": {
+ "name": "ndebele do norte"
+ },
+ "ne": {
+ "name": "nepalí"
+ },
+ "nnh": {
+ "name": "ngiemboon"
+ },
+ "jgo": {
+ "name": "ngomba"
+ },
+ "nb": {
+ "name": "noruegués bokmal"
+ },
+ "nn": {
+ "name": "noruegués nynorsk"
+ },
+ "nus": {
+ "name": "nuer"
+ },
+ "nyn": {
+ "name": "nyankole"
+ },
+ "or": {
+ "name": "oriya"
+ },
+ "om": {
+ "name": "oromo"
+ },
+ "os": {
+ "name": "osetio"
+ },
+ "pa": {
+ "name": "panxabiano"
+ },
+ "ps": {
+ "name": "pashtu"
+ },
+ "fa": {
+ "name": "persa"
+ },
+ "pl": {
+ "name": "polaco"
+ },
+ "pt": {
+ "name": "portugués"
+ },
+ "pt-PT": {
+ "name": "portugués europeo"
+ },
+ "prg": {
+ "name": "prusiano"
+ },
+ "qu": {
+ "name": "quechua"
+ },
+ "ky": {
+ "name": "quirguiz"
+ },
+ "rm": {
+ "name": "romanche"
+ },
+ "ro": {
+ "name": "romanés"
+ },
+ "rof": {
+ "name": "rombo"
+ },
+ "rw": {
+ "name": "ruandés"
+ },
+ "rn": {
+ "name": "rundi"
+ },
+ "ru": {
+ "name": "ruso"
+ },
+ "rwk": {
+ "name": "rwa"
+ },
+ "smn": {
+ "name": "saami de Inari"
+ },
+ "se": {
+ "name": "saami do norte"
+ },
+ "sah": {
+ "name": "sakha"
+ },
+ "saq": {
+ "name": "samburu"
+ },
+ "sg": {
+ "name": "sango"
+ },
+ "sbp": {
+ "name": "sangu"
+ },
+ "seh": {
+ "name": "sena"
+ },
+ "sr": {
+ "name": "serbio"
+ },
+ "ksb": {
+ "name": "shambala"
+ },
+ "sn": {
+ "name": "shona"
+ },
+ "xog": {
+ "name": "soga"
+ },
+ "so": {
+ "name": "somalí"
+ },
+ "sw": {
+ "name": "suahili"
+ },
+ "sw-CD": {
+ "name": "suahili congolés"
+ },
+ "sv": {
+ "name": "sueco"
+ },
+ "shi": {
+ "name": "tachelhit"
+ },
+ "th": {
+ "name": "tailandés"
+ },
+ "dav": {
+ "name": "taita"
+ },
+ "zgh": {
+ "name": "tamazight de Marrocos estándar"
+ },
+ "tzm": {
+ "name": "tamazight do Marrocos Central"
+ },
+ "ta": {
+ "name": "támil"
+ },
+ "twq": {
+ "name": "tasawaq"
+ },
+ "te": {
+ "name": "telugú"
+ },
+ "teo": {
+ "name": "teso"
+ },
+ "bo": {
+ "name": "tibetano"
+ },
+ "ti": {
+ "name": "tigriña"
+ },
+ "to": {
+ "name": "tonganés"
+ },
+ "tr": {
+ "name": "turco"
+ },
+ "tk": {
+ "name": "turcomán"
+ },
+ "uk": {
+ "name": "ucraíno"
+ },
+ "ug": {
+ "name": "uigur"
+ },
+ "ur": {
+ "name": "urdú"
+ },
+ "uz": {
+ "name": "uzbeco"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vi": {
+ "name": "vietnamita"
+ },
+ "vo": {
+ "name": "volapuk"
+ },
+ "vun": {
+ "name": "vunjo"
+ },
+ "wae": {
+ "name": "walser"
+ },
+ "ja": {
+ "name": "xaponés"
+ },
+ "ka": {
+ "name": "xeorxiano"
+ },
+ "yav": {
+ "name": "yangben"
+ },
+ "ii": {
+ "name": "yi sichuanés"
+ },
+ "yi": {
+ "name": "yiddish"
+ },
+ "yo": {
+ "name": "yoruba"
+ },
+ "dje": {
+ "name": "zarma"
+ },
+ "zu": {
+ "name": "zulú"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/gsw.json b/vendor/commerceguys/intl/resources/language/gsw.json
new file mode 100644
index 000000000..b321f0664
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/gsw.json
@@ -0,0 +1,635 @@
+{
+ "af": {
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "ak": {
+ "name": "Akan"
+ },
+ "sq": {
+ "name": "Albanisch"
+ },
+ "am": {
+ "name": "Amharisch"
+ },
+ "en": {
+ "name": "Änglisch"
+ },
+ "ar": {
+ "name": "Arabisch"
+ },
+ "hy": {
+ "name": "Armenisch"
+ },
+ "ast": {
+ "name": "Aschturianisch"
+ },
+ "az": {
+ "name": "Aserbaidschanisch"
+ },
+ "as": {
+ "name": "Assamesisch"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "en-AU": {
+ "name": "Auschtralischs Änglisch"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "eu": {
+ "name": "Baskisch"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "bn": {
+ "name": "Bengalisch"
+ },
+ "my": {
+ "name": "Birmanisch"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "bs": {
+ "name": "Bosnisch"
+ },
+ "en-GB": {
+ "name": "Britischs Änglisch"
+ },
+ "br": {
+ "name": "Brötoonisch"
+ },
+ "bg": {
+ "name": "Bulgaarisch"
+ },
+ "yue": {
+ "name": "Cantonese"
+ },
+ "tzm": {
+ "name": "Central Atlas Tamazight"
+ },
+ "ckb": {
+ "name": "Central Kurdish"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "cu": {
+ "name": "Chileslawisch"
+ },
+ "zh": {
+ "name": "Chineesisch"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "dz": {
+ "name": "Dschongkha"
+ },
+ "et": {
+ "name": "Eestnisch"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "eo": {
+ "name": "Eschperanto"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fo": {
+ "name": "Färöisch"
+ },
+ "fil": {
+ "name": "Filipino"
+ },
+ "fi": {
+ "name": "Finnisch"
+ },
+ "nl-BE": {
+ "name": "Fläämisch"
+ },
+ "fr": {
+ "name": "Französisch"
+ },
+ "fy": {
+ "name": "Friesisch"
+ },
+ "fur": {
+ "name": "Friulisch"
+ },
+ "ff": {
+ "name": "Ful"
+ },
+ "gl": {
+ "name": "Galizisch"
+ },
+ "lg": {
+ "name": "Ganda-Schpraach"
+ },
+ "ka": {
+ "name": "Georgisch"
+ },
+ "el": {
+ "name": "Griechisch"
+ },
+ "kl": {
+ "name": "Gröönländisch"
+ },
+ "gu": {
+ "name": "Gujarati"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "ha": {
+ "name": "Haussa"
+ },
+ "haw": {
+ "name": "Hawaiianisch"
+ },
+ "he": {
+ "name": "Hebräisch"
+ },
+ "hi": {
+ "name": "Hindi"
+ },
+ "pt-PT": {
+ "name": "Iberischs Portugiisisch"
+ },
+ "ig": {
+ "name": "Igbo"
+ },
+ "ga": {
+ "name": "Iirisch"
+ },
+ "is": {
+ "name": "Iisländisch"
+ },
+ "smn": {
+ "name": "Inari-Samisch"
+ },
+ "id": {
+ "name": "Indonesisch"
+ },
+ "it": {
+ "name": "Italiänisch"
+ },
+ "sah": {
+ "name": "Jakutisch"
+ },
+ "ja": {
+ "name": "Japanisch"
+ },
+ "yi": {
+ "name": "Jiddisch"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabylisch"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "km": {
+ "name": "Kambodschanisch"
+ },
+ "en-CA": {
+ "name": "Kanadischs Änglisch"
+ },
+ "fr-CA": {
+ "name": "Kanadischs Französisch"
+ },
+ "kn": {
+ "name": "Kannada"
+ },
+ "kk": {
+ "name": "Kasachisch"
+ },
+ "ks": {
+ "name": "Kaschmirisch"
+ },
+ "ca": {
+ "name": "Katalaanisch"
+ },
+ "ki": {
+ "name": "Kikuyu-Schpraach"
+ },
+ "ky": {
+ "name": "Kirgiisisch"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "ko": {
+ "name": "Koreaanisch"
+ },
+ "kw": {
+ "name": "Kornisch"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "hr": {
+ "name": "Kroazisch"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "Laozisch"
+ },
+ "lv": {
+ "name": "Lettisch"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "lt": {
+ "name": "Litauisch"
+ },
+ "lu": {
+ "name": "Luba"
+ },
+ "luo": {
+ "name": "Luo-Schpraach"
+ },
+ "lb": {
+ "name": "Luxemburgisch"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mg": {
+ "name": "Madagassisch"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "ms": {
+ "name": "Malaiisch"
+ },
+ "ml": {
+ "name": "Malayalam"
+ },
+ "mt": {
+ "name": "Maltesisch"
+ },
+ "gv": {
+ "name": "Manx-Gäälisch"
+ },
+ "mr": {
+ "name": "Marathi"
+ },
+ "mas": {
+ "name": "Massai-Schpraach"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mk": {
+ "name": "Mazedonisch"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "ro-MD": {
+ "name": "Moldawisch"
+ },
+ "mn": {
+ "name": "Mongolisch"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "ne": {
+ "name": "Nepalesisch"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "nl": {
+ "name": "Niderländisch"
+ },
+ "dsb": {
+ "name": "Nidersorbisch"
+ },
+ "nds": {
+ "name": "Nidertüütsch"
+ },
+ "nds-NL": {
+ "name": "Nidertüütsch (Holland)"
+ },
+ "nd": {
+ "name": "Nord-Ndebele-Schpraach"
+ },
+ "se": {
+ "name": "Nord-Samisch"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "nb": {
+ "name": "Norwegisch Bokmål"
+ },
+ "nn": {
+ "name": "Norwegisch Nynorsk"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "hsb": {
+ "name": "Obersorbisch"
+ },
+ "or": {
+ "name": "Orija"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "de-AT": {
+ "name": "Öschtriichischs Tüütsch"
+ },
+ "os": {
+ "name": "Ossezisch"
+ },
+ "pa": {
+ "name": "Pandschabisch"
+ },
+ "ps": {
+ "name": "Paschtu"
+ },
+ "fa": {
+ "name": "Persisch"
+ },
+ "pl": {
+ "name": "Polnisch"
+ },
+ "pt": {
+ "name": "Portugiisisch"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "qu": {
+ "name": "Quechua"
+ },
+ "rm": {
+ "name": "Rätoromanisch"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "rw": {
+ "name": "Ruandisch"
+ },
+ "ro": {
+ "name": "Rumänisch"
+ },
+ "rn": {
+ "name": "Rundi-Schpraach"
+ },
+ "ru": {
+ "name": "Russisch"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "sn": {
+ "name": "Schhona"
+ },
+ "gd": {
+ "name": "Schottisch-Gäälisch"
+ },
+ "es": {
+ "name": "Schpanisch"
+ },
+ "es-MX": {
+ "name": "Schpanisch (Mexiko)"
+ },
+ "sv": {
+ "name": "Schwedisch"
+ },
+ "fr-CH": {
+ "name": "Schwiizer Französisch"
+ },
+ "de-CH": {
+ "name": "Schwiizer Hochtüütsch"
+ },
+ "gsw": {
+ "name": "Schwiizertüütsch"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "sr": {
+ "name": "Serbisch"
+ },
+ "ii": {
+ "name": "Sezuanischs Yi"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "si": {
+ "name": "Singhalesisch"
+ },
+ "sk": {
+ "name": "Slowakisch"
+ },
+ "sl": {
+ "name": "Slowenisch"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "so": {
+ "name": "Somali"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw": {
+ "name": "Suaheli"
+ },
+ "sw-CD": {
+ "name": "Suaheli (Temokraatischi Republik Kongo)"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "ta": {
+ "name": "Tamilisch"
+ },
+ "da": {
+ "name": "Tänisch"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "te": {
+ "name": "Telugu"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "th": {
+ "name": "Thailändisch"
+ },
+ "bo": {
+ "name": "Tibeetisch"
+ },
+ "ti": {
+ "name": "Tigrinja"
+ },
+ "to": {
+ "name": "Tongaisch"
+ },
+ "zh-Hant": {
+ "name": "Tradizionells Chineesisch"
+ },
+ "cs": {
+ "name": "Tschechisch"
+ },
+ "ce": {
+ "name": "Tschetscheenisch"
+ },
+ "dua": {
+ "name": "Tuala"
+ },
+ "tr": {
+ "name": "Türkisch"
+ },
+ "tk": {
+ "name": "Turkmenisch"
+ },
+ "de": {
+ "name": "Tüütsch"
+ },
+ "ug": {
+ "name": "Uigurisch"
+ },
+ "uk": {
+ "name": "Ukrainisch"
+ },
+ "hu": {
+ "name": "Ungarisch"
+ },
+ "ur": {
+ "name": "Urdu"
+ },
+ "uz": {
+ "name": "Usbekisch"
+ },
+ "vai": {
+ "name": "Vai-Schpraach"
+ },
+ "zh-Hans": {
+ "name": "Veräifachts Chineesisch"
+ },
+ "vi": {
+ "name": "Vietnamesisch"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "cy": {
+ "name": "Walisisch"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "be": {
+ "name": "Wiissrussisch"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "yo": {
+ "name": "Yoruba"
+ },
+ "dje": {
+ "name": "Zarma"
+ },
+ "zu": {
+ "name": "Zulu"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/gu.json b/vendor/commerceguys/intl/resources/language/gu.json
new file mode 100644
index 000000000..a953a9681
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/gu.json
@@ -0,0 +1,635 @@
+{
+ "en": {
+ "name": "અંગ્રેજી"
+ },
+ "ak": {
+ "name": "અકાન"
+ },
+ "agq": {
+ "name": "અઘેમ"
+ },
+ "az": {
+ "name": "અઝરબૈજાની"
+ },
+ "hsb": {
+ "name": "અપ્પર સોર્બિયન"
+ },
+ "ar": {
+ "name": "અરબી"
+ },
+ "sq": {
+ "name": "અલ્બેનિયન"
+ },
+ "asa": {
+ "name": "અસુ"
+ },
+ "ast": {
+ "name": "અસ્તુરિયન"
+ },
+ "ga": {
+ "name": "આઇરિશ"
+ },
+ "is": {
+ "name": "આઇસલેન્ડિક"
+ },
+ "af": {
+ "name": "આફ્રિકન્સ"
+ },
+ "hy": {
+ "name": "આર્મેનિયન"
+ },
+ "as": {
+ "name": "આસામી"
+ },
+ "ig": {
+ "name": "ઇગ્બો"
+ },
+ "it": {
+ "name": "ઇટાલિયન"
+ },
+ "smn": {
+ "name": "ઇનારી સામી"
+ },
+ "id": {
+ "name": "ઇન્ડોનેશિયન"
+ },
+ "ewo": {
+ "name": "ઇવોન્ડો"
+ },
+ "ee": {
+ "name": "ઈવ"
+ },
+ "ug": {
+ "name": "ઉઇગુર"
+ },
+ "uz": {
+ "name": "ઉઝ્બેક"
+ },
+ "or": {
+ "name": "ઉડિયા"
+ },
+ "nd": {
+ "name": "ઉત્તર દેબેલ"
+ },
+ "lrc": {
+ "name": "ઉત્તરીય લુરી"
+ },
+ "se": {
+ "name": "ઉત્તરીય સામી"
+ },
+ "ur": {
+ "name": "ઉર્દૂ"
+ },
+ "ebu": {
+ "name": "ઍમ્બુ"
+ },
+ "am": {
+ "name": "એમ્હારિક"
+ },
+ "et": {
+ "name": "એસ્ટોનિયન"
+ },
+ "eo": {
+ "name": "એસ્પેરાન્ટો"
+ },
+ "om": {
+ "name": "ઓરોમો"
+ },
+ "de-AT": {
+ "name": "ઓસ્ટ્રિઅન જર્મન"
+ },
+ "en-AU": {
+ "name": "ઓસ્ટ્રેલિયન અંગ્રેજી"
+ },
+ "os": {
+ "name": "ઓસ્સેટિક"
+ },
+ "kk": {
+ "name": "કઝાખ"
+ },
+ "ca": {
+ "name": "કતલાન"
+ },
+ "kn": {
+ "name": "કન્નડ"
+ },
+ "kab": {
+ "name": "કબાઇલ"
+ },
+ "kam": {
+ "name": "કમ્બા"
+ },
+ "kl": {
+ "name": "કલાલ્લિસુત"
+ },
+ "kln": {
+ "name": "કલેજિન"
+ },
+ "kkj": {
+ "name": "કાકો"
+ },
+ "kea": {
+ "name": "કાબુવર્ડિઆનુ"
+ },
+ "ks": {
+ "name": "કાશ્મીરી"
+ },
+ "ki": {
+ "name": "કિકુયૂ"
+ },
+ "rw": {
+ "name": "કિન્યારવાન્ડા"
+ },
+ "ky": {
+ "name": "કિર્ગીઝ"
+ },
+ "yue": {
+ "name": "કેંટોનીઝ"
+ },
+ "en-CA": {
+ "name": "કેનેડિયન અંગ્રેજી"
+ },
+ "fr-CA": {
+ "name": "કેનેડિયન ફ્રેંચ"
+ },
+ "kok": {
+ "name": "કોંકણી"
+ },
+ "sw-CD": {
+ "name": "કોંગો સ્વાહિલી"
+ },
+ "khq": {
+ "name": "કોયરા ચિનિ"
+ },
+ "ses": {
+ "name": "કોયરાબોરો સેન્ની"
+ },
+ "ko": {
+ "name": "કોરિયન"
+ },
+ "kw": {
+ "name": "કોર્નિશ"
+ },
+ "ksh": {
+ "name": "કોલોગ્નિયન"
+ },
+ "hr": {
+ "name": "ક્રોએશિયન"
+ },
+ "nmg": {
+ "name": "ક્વાસિઓ"
+ },
+ "qu": {
+ "name": "ક્વેચુઆ"
+ },
+ "km": {
+ "name": "ખ્મેર"
+ },
+ "lg": {
+ "name": "ગાંડા"
+ },
+ "gu": {
+ "name": "ગુજરાતી"
+ },
+ "guz": {
+ "name": "ગુસી"
+ },
+ "gl": {
+ "name": "ગેલિશિયન"
+ },
+ "el": {
+ "name": "ગ્રીક"
+ },
+ "cu": {
+ "name": "ચર્ચ સ્લાવિક"
+ },
+ "zh": {
+ "name": "ચાઇનીઝ"
+ },
+ "cgg": {
+ "name": "ચિગા"
+ },
+ "cs": {
+ "name": "ચેક"
+ },
+ "ce": {
+ "name": "ચેચન"
+ },
+ "de": {
+ "name": "જર્મન"
+ },
+ "ja": {
+ "name": "જાપાનીઝ"
+ },
+ "dyo": {
+ "name": "જોલા-ફોન્યી"
+ },
+ "ka": {
+ "name": "જ્યોર્જિઅન"
+ },
+ "dje": {
+ "name": "ઝર્મા"
+ },
+ "zu": {
+ "name": "ઝુલુ"
+ },
+ "tr": {
+ "name": "ટર્કીશ"
+ },
+ "ti": {
+ "name": "ટાઇગ્રિનિયા"
+ },
+ "to": {
+ "name": "ટોંગાન"
+ },
+ "nl": {
+ "name": "ડચ"
+ },
+ "da": {
+ "name": "ડેનિશ"
+ },
+ "dz": {
+ "name": "ડ્ઝોંગ્ખા"
+ },
+ "ta": {
+ "name": "તમિલ"
+ },
+ "twq": {
+ "name": "તસાવાક"
+ },
+ "bo": {
+ "name": "તિબેટીયન"
+ },
+ "tk": {
+ "name": "તુર્કમેન"
+ },
+ "te": {
+ "name": "તેલુગુ"
+ },
+ "shi": {
+ "name": "તેશીલહિટ"
+ },
+ "teo": {
+ "name": "તેસો"
+ },
+ "dav": {
+ "name": "તૈતા"
+ },
+ "th": {
+ "name": "થાઈ"
+ },
+ "dua": {
+ "name": "દુઆલા"
+ },
+ "jgo": {
+ "name": "નગોમ્બા"
+ },
+ "naq": {
+ "name": "નમા"
+ },
+ "dsb": {
+ "name": "નિમ્ન સોર્બિયન"
+ },
+ "nnh": {
+ "name": "નીએમબુન"
+ },
+ "nus": {
+ "name": "નુએર"
+ },
+ "ne": {
+ "name": "નેપાળી"
+ },
+ "nn": {
+ "name": "નૉર્વેજીયન નાયનૉર્સ્ક"
+ },
+ "nb": {
+ "name": "નોર્વેજીયન બોકમાલ"
+ },
+ "nyn": {
+ "name": "ન્યાનકોલ"
+ },
+ "pa": {
+ "name": "પંજાબી"
+ },
+ "fy": {
+ "name": "પશ્ચિમી ફ્રિસિયન"
+ },
+ "ps": {
+ "name": "પશ્તો"
+ },
+ "zh-Hant": {
+ "name": "પારંપરિક ચાઇનીઝ"
+ },
+ "pt": {
+ "name": "પોર્ટુગીઝ"
+ },
+ "pl": {
+ "name": "પોલીશ"
+ },
+ "zgh": {
+ "name": "પ્રમાણભૂત મોરોક્કન તામાઝિગ્ટ"
+ },
+ "prg": {
+ "name": "પ્રુસ્સીયન"
+ },
+ "fa": {
+ "name": "ફારસી"
+ },
+ "fi": {
+ "name": "ફિનિશ"
+ },
+ "fil": {
+ "name": "ફિલિપિનો"
+ },
+ "ff": {
+ "name": "ફુલાહ"
+ },
+ "fo": {
+ "name": "ફોરિસ્ત"
+ },
+ "fur": {
+ "name": "ફ્રિયુલિયાન"
+ },
+ "fr": {
+ "name": "ફ્રેન્ચ"
+ },
+ "nl-BE": {
+ "name": "ફ્લેમિશ"
+ },
+ "bn": {
+ "name": "બંગાળી"
+ },
+ "ksf": {
+ "name": "બફિયા"
+ },
+ "my": {
+ "name": "બર્મીઝ"
+ },
+ "bg": {
+ "name": "બલ્ગેરિયન"
+ },
+ "bas": {
+ "name": "બસા"
+ },
+ "bm": {
+ "name": "બામ્બારા"
+ },
+ "eu": {
+ "name": "બાસ્ક"
+ },
+ "bez": {
+ "name": "બેના"
+ },
+ "bem": {
+ "name": "બેમ્બા"
+ },
+ "be": {
+ "name": "બેલારુશિયન"
+ },
+ "brx": {
+ "name": "બોડો"
+ },
+ "bs": {
+ "name": "બોસ્નિયન"
+ },
+ "en-GB": {
+ "name": "બ્રિટિશ અંગ્રેજી"
+ },
+ "br": {
+ "name": "બ્રેટોન"
+ },
+ "jmc": {
+ "name": "મકામે"
+ },
+ "kde": {
+ "name": "મકોન્ડે"
+ },
+ "mzn": {
+ "name": "મઝાન્દેરાની"
+ },
+ "mr": {
+ "name": "મરાઠી"
+ },
+ "ms": {
+ "name": "મલય"
+ },
+ "ml": {
+ "name": "મલયાલમ"
+ },
+ "mg": {
+ "name": "મલાગસી"
+ },
+ "mas": {
+ "name": "મસાઇ"
+ },
+ "gv": {
+ "name": "માંક્સ"
+ },
+ "mgh": {
+ "name": "માખુવા-મીટ્ટુ"
+ },
+ "mt": {
+ "name": "માલ્ટિઝ"
+ },
+ "mua": {
+ "name": "મુનડાન્ગ"
+ },
+ "es-MX": {
+ "name": "મેક્સિકન સ્પેનિશ"
+ },
+ "mgo": {
+ "name": "મેતા"
+ },
+ "mer": {
+ "name": "મેરુ"
+ },
+ "mk": {
+ "name": "મેસેડોનિયન"
+ },
+ "mn": {
+ "name": "મોંગોલિયન"
+ },
+ "mfe": {
+ "name": "મોરીસ્યેન"
+ },
+ "ro-MD": {
+ "name": "મોલડાવિયન"
+ },
+ "yav": {
+ "name": "યાન્ગબેન"
+ },
+ "yi": {
+ "name": "યિદ્દિશ"
+ },
+ "uk": {
+ "name": "યુક્રેનિયન"
+ },
+ "pt-PT": {
+ "name": "યુરોપિયન પોર્ટુગીઝ"
+ },
+ "yo": {
+ "name": "યોરૂબા"
+ },
+ "rwk": {
+ "name": "રવા"
+ },
+ "ru": {
+ "name": "રશિયન"
+ },
+ "rn": {
+ "name": "રૂન્દી"
+ },
+ "ro": {
+ "name": "રોમાનિયન"
+ },
+ "rm": {
+ "name": "રોમાન્શ"
+ },
+ "rof": {
+ "name": "રોમ્બો"
+ },
+ "lag": {
+ "name": "લંગી"
+ },
+ "lb": {
+ "name": "લક્ઝેમબર્ગિશ"
+ },
+ "lo": {
+ "name": "લાઓથિયન"
+ },
+ "lkt": {
+ "name": "લાકોટા"
+ },
+ "lv": {
+ "name": "લાતવિયન"
+ },
+ "ln": {
+ "name": "લિંગાલા"
+ },
+ "lt": {
+ "name": "લિથુનિયન"
+ },
+ "luy": {
+ "name": "લુઈયા"
+ },
+ "lu": {
+ "name": "લૂબા-કટાંગા"
+ },
+ "nds": {
+ "name": "લો જર્મન"
+ },
+ "nds-NL": {
+ "name": "લો સેક્સોન"
+ },
+ "luo": {
+ "name": "લ્યુઓ"
+ },
+ "vai": {
+ "name": "વાઇ"
+ },
+ "vi": {
+ "name": "વિયેતનામીસ"
+ },
+ "vun": {
+ "name": "વુન્જો"
+ },
+ "cy": {
+ "name": "વેલ્શ"
+ },
+ "wae": {
+ "name": "વેલ્સેર"
+ },
+ "vo": {
+ "name": "વોલાપુક"
+ },
+ "ksb": {
+ "name": "શમ્બાલા"
+ },
+ "chr": {
+ "name": "શેરોકી"
+ },
+ "sn": {
+ "name": "શોના"
+ },
+ "sah": {
+ "name": "સખા"
+ },
+ "saq": {
+ "name": "સમ્બુરુ"
+ },
+ "zh-Hans": {
+ "name": "સરળીકૃત ચાઇનીઝ"
+ },
+ "sr": {
+ "name": "સર્બિયન"
+ },
+ "sbp": {
+ "name": "સાંગુ"
+ },
+ "sg": {
+ "name": "સાંગો"
+ },
+ "si": {
+ "name": "સિંહાલી"
+ },
+ "ii": {
+ "name": "સિચુઆન યી"
+ },
+ "seh": {
+ "name": "સેના"
+ },
+ "tzm": {
+ "name": "સેન્ટ્રલ ઍટ્લસ તામાઝિગ્ટ"
+ },
+ "ckb": {
+ "name": "સેન્ટ્રલ કુર્દિશ"
+ },
+ "xog": {
+ "name": "સોગા"
+ },
+ "so": {
+ "name": "સોમાલી"
+ },
+ "gd": {
+ "name": "સ્કોટીસ ગેલિક"
+ },
+ "es": {
+ "name": "સ્પેનિશ"
+ },
+ "sk": {
+ "name": "સ્લોવૅક"
+ },
+ "sl": {
+ "name": "સ્લોવેનિયન"
+ },
+ "sw": {
+ "name": "સ્વાહિલી"
+ },
+ "gsw": {
+ "name": "સ્વિસ જર્મન"
+ },
+ "fr-CH": {
+ "name": "સ્વિસ ફ્રેંચ"
+ },
+ "de-CH": {
+ "name": "સ્વિસ હાય જર્મન"
+ },
+ "sv": {
+ "name": "સ્વીડિશ"
+ },
+ "hu": {
+ "name": "હંગેરિયન"
+ },
+ "haw": {
+ "name": "હાવાઇયન"
+ },
+ "hi": {
+ "name": "હિન્દી"
+ },
+ "he": {
+ "name": "હીબ્રુ"
+ },
+ "ha": {
+ "name": "હૌસા"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/guz.json b/vendor/commerceguys/intl/resources/language/guz.json
new file mode 100644
index 000000000..9f30e3288
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/guz.json
@@ -0,0 +1,632 @@
+{
+ "af": {
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "sq": {
+ "name": "Albanian"
+ },
+ "hy": {
+ "name": "Armenian"
+ },
+ "as": {
+ "name": "Assamese"
+ },
+ "ast": {
+ "name": "Asturian"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "az": {
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "eu": {
+ "name": "Basque"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "bs": {
+ "name": "Bosnian"
+ },
+ "br": {
+ "name": "Breton"
+ },
+ "yue": {
+ "name": "Cantonese"
+ },
+ "ca": {
+ "name": "Catalan"
+ },
+ "tzm": {
+ "name": "Central Atlas Tamazight"
+ },
+ "ckb": {
+ "name": "Central Kurdish"
+ },
+ "ce": {
+ "name": "Chechen"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "cu": {
+ "name": "Church Slavic"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "kw": {
+ "name": "Cornish"
+ },
+ "hr": {
+ "name": "Croatian"
+ },
+ "da": {
+ "name": "Danish"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "dz": {
+ "name": "Dzongkha"
+ },
+ "guz": {
+ "name": "Ekegusii"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "eo": {
+ "name": "Esperanto"
+ },
+ "et": {
+ "name": "Estonian"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fo": {
+ "name": "Faroese"
+ },
+ "fil": {
+ "name": "Filipino"
+ },
+ "fi": {
+ "name": "Finnish"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "gl": {
+ "name": "Galician"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "ka": {
+ "name": "Georgian"
+ },
+ "gu": {
+ "name": "Gujarati"
+ },
+ "haw": {
+ "name": "Hawaiian"
+ },
+ "he": {
+ "name": "Hebrew"
+ },
+ "is": {
+ "name": "Icelandic"
+ },
+ "smn": {
+ "name": "Inari Sami"
+ },
+ "ga": {
+ "name": "Irish"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabyle"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kl": {
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "kn": {
+ "name": "Kannada"
+ },
+ "ks": {
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "name": "Kazakh"
+ },
+ "fa": {
+ "name": "Kiajemi"
+ },
+ "ak": {
+ "name": "Kiakan"
+ },
+ "am": {
+ "name": "Kiamhari"
+ },
+ "ar": {
+ "name": "Kiarabu"
+ },
+ "bn": {
+ "name": "Kibangla"
+ },
+ "be": {
+ "name": "Kibelarusi"
+ },
+ "bg": {
+ "name": "Kibulgaria"
+ },
+ "my": {
+ "name": "Kiburma"
+ },
+ "cs": {
+ "name": "Kichecki"
+ },
+ "zh": {
+ "name": "Kichina"
+ },
+ "zh-Hans": {
+ "name": "Kichina (Hans)"
+ },
+ "zh-Hant": {
+ "name": "Kichina (Hant)"
+ },
+ "fr": {
+ "name": "Kifaransa"
+ },
+ "fr-CA": {
+ "name": "Kifaransa (Kanada)"
+ },
+ "fr-CH": {
+ "name": "Kifaransa (Uswisi)"
+ },
+ "el": {
+ "name": "Kigiriki"
+ },
+ "ha": {
+ "name": "Kihausa"
+ },
+ "hi": {
+ "name": "Kihindi"
+ },
+ "es": {
+ "name": "Kihispania"
+ },
+ "es-MX": {
+ "name": "Kihispania (Meksiko)"
+ },
+ "nl": {
+ "name": "Kiholanzi"
+ },
+ "nl-BE": {
+ "name": "Kiholanzi (Ubelgiji)"
+ },
+ "hu": {
+ "name": "Kihungari"
+ },
+ "ig": {
+ "name": "Kiigbo"
+ },
+ "id": {
+ "name": "Kiindonesia"
+ },
+ "it": {
+ "name": "Kiitaliano"
+ },
+ "ja": {
+ "name": "Kijapani"
+ },
+ "de": {
+ "name": "Kijerumani"
+ },
+ "de-AT": {
+ "name": "Kijerumani (Austria)"
+ },
+ "de-CH": {
+ "name": "Kijerumani (Uswisi)"
+ },
+ "km": {
+ "name": "Kikambodia"
+ },
+ "ko": {
+ "name": "Kikorea"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "ms": {
+ "name": "Kimalesia"
+ },
+ "ne": {
+ "name": "Kinepali"
+ },
+ "en": {
+ "name": "Kingereza"
+ },
+ "en-AU": {
+ "name": "Kingereza (Australia)"
+ },
+ "en-CA": {
+ "name": "Kingereza (Kanada)"
+ },
+ "en-GB": {
+ "name": "Kingereza (Uingereza)"
+ },
+ "rw": {
+ "name": "Kinyarwanda"
+ },
+ "pl": {
+ "name": "Kipolandi"
+ },
+ "pa": {
+ "name": "Kipunjabi"
+ },
+ "pt": {
+ "name": "Kireno"
+ },
+ "pt-PT": {
+ "name": "Kireno (Ureno)"
+ },
+ "ro": {
+ "name": "Kiromania"
+ },
+ "ro-MD": {
+ "name": "Kiromania (Moldova)"
+ },
+ "ru": {
+ "name": "Kirusi"
+ },
+ "so": {
+ "name": "Kisomali"
+ },
+ "sv": {
+ "name": "Kiswidi"
+ },
+ "th": {
+ "name": "Kitailandi"
+ },
+ "ta": {
+ "name": "Kitamil"
+ },
+ "tr": {
+ "name": "Kituruki"
+ },
+ "uk": {
+ "name": "Kiukrania"
+ },
+ "ur": {
+ "name": "Kiurdu"
+ },
+ "vi": {
+ "name": "Kivietinamu"
+ },
+ "yo": {
+ "name": "Kiyoruba"
+ },
+ "zu": {
+ "name": "Kizulu"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "ky": {
+ "name": "Kyrgyz"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "Lao"
+ },
+ "lv": {
+ "name": "Latvian"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "lt": {
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "mk": {
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "mg": {
+ "name": "Malagasy"
+ },
+ "ml": {
+ "name": "Malayalam"
+ },
+ "mt": {
+ "name": "Maltese"
+ },
+ "gv": {
+ "name": "Manx"
+ },
+ "mr": {
+ "name": "Marathi"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "mn": {
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nds-NL": {
+ "name": "nds (Uholanzi)"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "nd": {
+ "name": "North Ndebele"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "se": {
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "or": {
+ "name": "Odia"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "os": {
+ "name": "Ossetic"
+ },
+ "ps": {
+ "name": "Pashto"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "qu": {
+ "name": "Quechua"
+ },
+ "rm": {
+ "name": "Romansh"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "rn": {
+ "name": "Rundi"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "sah": {
+ "name": "Sakha"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "gd": {
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "sr": {
+ "name": "Serbian"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "si": {
+ "name": "Sinhala"
+ },
+ "sk": {
+ "name": "Slovak"
+ },
+ "sl": {
+ "name": "Slovenian"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw-CD": {
+ "name": "sw (Jamhuri ya Kidemokrasia ya Kongo)"
+ },
+ "sw": {
+ "name": "Swahili"
+ },
+ "gsw": {
+ "name": "Swiss German"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "te": {
+ "name": "Telugu"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "bo": {
+ "name": "Tibetan"
+ },
+ "ti": {
+ "name": "Tigrinya"
+ },
+ "to": {
+ "name": "Tongan"
+ },
+ "tk": {
+ "name": "Turkmen"
+ },
+ "hsb": {
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "name": "Uyghur"
+ },
+ "uz": {
+ "name": "Uzbek"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "cy": {
+ "name": "Welsh"
+ },
+ "fy": {
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "yi": {
+ "name": "Yiddish"
+ },
+ "dje": {
+ "name": "Zarma"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/ha.json b/vendor/commerceguys/intl/resources/language/ha.json
new file mode 100644
index 000000000..178db72f3
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/ha.json
@@ -0,0 +1,632 @@
+{
+ "af": {
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "ak": {
+ "name": "Akan"
+ },
+ "sq": {
+ "name": "Albanian"
+ },
+ "am": {
+ "name": "Amharik"
+ },
+ "hy": {
+ "name": "Armenian"
+ },
+ "as": {
+ "name": "Assamese"
+ },
+ "ast": {
+ "name": "Asturian"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "az": {
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "eu": {
+ "name": "Basque"
+ },
+ "be": {
+ "name": "Belarusanci"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "bn": {
+ "name": "Bengali"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "bs": {
+ "name": "Bosnian"
+ },
+ "br": {
+ "name": "Breton"
+ },
+ "bg": {
+ "name": "Bulgaranci"
+ },
+ "my": {
+ "name": "Burmanci"
+ },
+ "yue": {
+ "name": "Cantonese"
+ },
+ "ca": {
+ "name": "Catalan"
+ },
+ "tzm": {
+ "name": "Central Atlas Tamazight"
+ },
+ "ckb": {
+ "name": "Central Kurdish"
+ },
+ "ce": {
+ "name": "Chechen"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "cu": {
+ "name": "Church Slavic"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "kw": {
+ "name": "Cornish"
+ },
+ "hr": {
+ "name": "Croatian"
+ },
+ "da": {
+ "name": "Danish"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "dz": {
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "eo": {
+ "name": "Esperanto"
+ },
+ "et": {
+ "name": "Estonian"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fr": {
+ "name": "Faransanci"
+ },
+ "fr-CA": {
+ "name": "Faransanci (Kanada)"
+ },
+ "fr-CH": {
+ "name": "Faransanci (Suwizalan)"
+ },
+ "fo": {
+ "name": "Faroese"
+ },
+ "fil": {
+ "name": "Filipino"
+ },
+ "fi": {
+ "name": "Finnish"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "gl": {
+ "name": "Galician"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "ka": {
+ "name": "Georgian"
+ },
+ "el": {
+ "name": "Girkanci"
+ },
+ "gu": {
+ "name": "Gujarati"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "vi": {
+ "name": "Harshen Biyetinam"
+ },
+ "cs": {
+ "name": "Harshen Cak"
+ },
+ "hi": {
+ "name": "Harshen Hindi"
+ },
+ "hu": {
+ "name": "Harshen Hungari"
+ },
+ "id": {
+ "name": "Harshen Indunusiya"
+ },
+ "km": {
+ "name": "Harshen Kimar"
+ },
+ "ko": {
+ "name": "Harshen Koreya"
+ },
+ "ms": {
+ "name": "Harshen Malai"
+ },
+ "pl": {
+ "name": "Harshen Polan"
+ },
+ "pt": {
+ "name": "Harshen Portugal"
+ },
+ "pt-PT": {
+ "name": "Harshen Portugal (Portugal)"
+ },
+ "zh": {
+ "name": "Harshen Sin"
+ },
+ "zh-Hans": {
+ "name": "Harshen Sin (Hans)"
+ },
+ "zh-Hant": {
+ "name": "Harshen Sin (Hant)"
+ },
+ "sv": {
+ "name": "Harshen Suwedan"
+ },
+ "tr": {
+ "name": "Harshen Turkiyya"
+ },
+ "ur": {
+ "name": "Harshen Urdu"
+ },
+ "uk": {
+ "name": "Harshen Yukuren"
+ },
+ "zu": {
+ "name": "Harshen Zulu"
+ },
+ "ha": {
+ "name": "Hausa"
+ },
+ "haw": {
+ "name": "Hawaiian"
+ },
+ "he": {
+ "name": "Hebrew"
+ },
+ "nl": {
+ "name": "Holanci"
+ },
+ "nl-BE": {
+ "name": "Holanci (Belgiyom)"
+ },
+ "is": {
+ "name": "Icelandic"
+ },
+ "smn": {
+ "name": "Inari Sami"
+ },
+ "ig": {
+ "name": "Inyamuranci"
+ },
+ "ga": {
+ "name": "Irish"
+ },
+ "es": {
+ "name": "Ispaniyanci"
+ },
+ "es-MX": {
+ "name": "Ispaniyanci (Makasiko)"
+ },
+ "it": {
+ "name": "Italiyanci"
+ },
+ "de": {
+ "name": "Jamusanci"
+ },
+ "de-AT": {
+ "name": "Jamusanci (Ostiriya)"
+ },
+ "de-CH": {
+ "name": "Jamusanci (Suwizalan)"
+ },
+ "ja": {
+ "name": "Japananci"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabyle"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kl": {
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "kn": {
+ "name": "Kannada"
+ },
+ "ks": {
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "name": "Kazakh"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "rw": {
+ "name": "Kiniyaruwanda"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "ky": {
+ "name": "Kyrgyz"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "Lao"
+ },
+ "ar": {
+ "name": "Larabci"
+ },
+ "lv": {
+ "name": "Latvian"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "lt": {
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "mk": {
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "mg": {
+ "name": "Malagasy"
+ },
+ "ml": {
+ "name": "Malayalam"
+ },
+ "mt": {
+ "name": "Maltese"
+ },
+ "gv": {
+ "name": "Manx"
+ },
+ "mr": {
+ "name": "Marathi"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "mn": {
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nds-NL": {
+ "name": "nds (Holan)"
+ },
+ "ne": {
+ "name": "Nepali"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "nd": {
+ "name": "North Ndebele"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "se": {
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "or": {
+ "name": "Odia"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "os": {
+ "name": "Ossetic"
+ },
+ "fa": {
+ "name": "Parisanci"
+ },
+ "ps": {
+ "name": "Pashto"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "pa": {
+ "name": "Punjabi"
+ },
+ "qu": {
+ "name": "Quechua"
+ },
+ "ru": {
+ "name": "Rashanci"
+ },
+ "ro": {
+ "name": "Romaniyanci"
+ },
+ "ro-MD": {
+ "name": "Romaniyanci (Maldoba)"
+ },
+ "rm": {
+ "name": "Romansh"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "rn": {
+ "name": "Rundi"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "sah": {
+ "name": "Sakha"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "gd": {
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "sr": {
+ "name": "Serbian"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "si": {
+ "name": "Sinhala"
+ },
+ "sk": {
+ "name": "Slovak"
+ },
+ "sl": {
+ "name": "Slovenian"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "so": {
+ "name": "Somali"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw-CD": {
+ "name": "sw (Jamhuriyar Dimokuraɗiyyar Kongo)"
+ },
+ "sw": {
+ "name": "Swahili"
+ },
+ "gsw": {
+ "name": "Swiss German"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "ta": {
+ "name": "Tamil"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "te": {
+ "name": "Telugu"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "th": {
+ "name": "Thai"
+ },
+ "bo": {
+ "name": "Tibetan"
+ },
+ "ti": {
+ "name": "Tigrinya"
+ },
+ "to": {
+ "name": "Tongan"
+ },
+ "en": {
+ "name": "Turanci"
+ },
+ "en-GB": {
+ "name": "Turanci (Birtaniya)"
+ },
+ "en-CA": {
+ "name": "Turanci (Kanada)"
+ },
+ "en-AU": {
+ "name": "Turanci (Ostareliya)"
+ },
+ "tk": {
+ "name": "Turkmen"
+ },
+ "hsb": {
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "name": "Uyghur"
+ },
+ "uz": {
+ "name": "Uzbek"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "cy": {
+ "name": "Welsh"
+ },
+ "fy": {
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "yo": {
+ "name": "Yarbanci"
+ },
+ "yi": {
+ "name": "Yiddish"
+ },
+ "dje": {
+ "name": "Zarma"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/he.json b/vendor/commerceguys/intl/resources/language/he.json
new file mode 100644
index 000000000..4018ba9d8
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/he.json
@@ -0,0 +1,635 @@
+{
+ "agq": {
+ "name": "אהיים"
+ },
+ "ee": {
+ "name": "אווה"
+ },
+ "ewo": {
+ "name": "אוונדו"
+ },
+ "uz": {
+ "name": "אוזבקית"
+ },
+ "ug": {
+ "name": "אויגור"
+ },
+ "os": {
+ "name": "אוסטית"
+ },
+ "uk": {
+ "name": "אוקראינית"
+ },
+ "ur": {
+ "name": "אורדו"
+ },
+ "om": {
+ "name": "אורומו"
+ },
+ "or": {
+ "name": "אוריה"
+ },
+ "az": {
+ "name": "אזרית"
+ },
+ "ig": {
+ "name": "איגבו"
+ },
+ "it": {
+ "name": "איטלקית"
+ },
+ "smn": {
+ "name": "אינארי סאמי"
+ },
+ "id": {
+ "name": "אינדונזית"
+ },
+ "is": {
+ "name": "איסלנדית"
+ },
+ "ga": {
+ "name": "אירית"
+ },
+ "sq": {
+ "name": "אלבנית"
+ },
+ "ebu": {
+ "name": "אמבו"
+ },
+ "am": {
+ "name": "אמהרית"
+ },
+ "en": {
+ "name": "אנגלית"
+ },
+ "en-AU": {
+ "name": "אנגלית (אוסטרליה)"
+ },
+ "en-GB": {
+ "name": "אנגלית (בריטניה)"
+ },
+ "en-CA": {
+ "name": "אנגלית (קנדה)"
+ },
+ "as": {
+ "name": "אסאמית"
+ },
+ "asa": {
+ "name": "אסו"
+ },
+ "et": {
+ "name": "אסטונית"
+ },
+ "ast": {
+ "name": "אסטורית"
+ },
+ "eo": {
+ "name": "אספרנטו"
+ },
+ "af": {
+ "name": "אפריקאנס"
+ },
+ "ak": {
+ "name": "אקאן"
+ },
+ "hy": {
+ "name": "ארמנית"
+ },
+ "ksf": {
+ "name": "באפיה"
+ },
+ "brx": {
+ "name": "בודו"
+ },
+ "bg": {
+ "name": "בולגרית"
+ },
+ "bs": {
+ "name": "בוסנית"
+ },
+ "my": {
+ "name": "בורמזית"
+ },
+ "be": {
+ "name": "בלארוסית"
+ },
+ "bm": {
+ "name": "במבארה"
+ },
+ "bem": {
+ "name": "במבה"
+ },
+ "bn": {
+ "name": "בנגלית"
+ },
+ "bez": {
+ "name": "בנה"
+ },
+ "bas": {
+ "name": "בסאא"
+ },
+ "eu": {
+ "name": "בסקית"
+ },
+ "br": {
+ "name": "ברטונית"
+ },
+ "dyo": {
+ "name": "ג׳ולה פונית"
+ },
+ "ka": {
+ "name": "גאורגית"
+ },
+ "gd": {
+ "name": "גאלית סקוטית"
+ },
+ "lg": {
+ "name": "גאנדה"
+ },
+ "gu": {
+ "name": "גוג׳ארטי"
+ },
+ "guz": {
+ "name": "גוסי"
+ },
+ "gl": {
+ "name": "גליציאנית"
+ },
+ "kl": {
+ "name": "גרינלנדית"
+ },
+ "de": {
+ "name": "גרמנית"
+ },
+ "de-AT": {
+ "name": "גרמנית (אוסטריה)"
+ },
+ "de-CH": {
+ "name": "גרמנית (שוויץ)"
+ },
+ "gsw": {
+ "name": "גרמנית שוויצרית"
+ },
+ "nds": {
+ "name": "גרמנית תחתית"
+ },
+ "dua": {
+ "name": "דואלה"
+ },
+ "dz": {
+ "name": "דזונקה"
+ },
+ "da": {
+ "name": "דנית"
+ },
+ "ha": {
+ "name": "האוסה"
+ },
+ "haw": {
+ "name": "הוואית"
+ },
+ "nl": {
+ "name": "הולנדית"
+ },
+ "hu": {
+ "name": "הונגרית"
+ },
+ "hi": {
+ "name": "הינדי"
+ },
+ "vai": {
+ "name": "וואי"
+ },
+ "wae": {
+ "name": "וואלסר"
+ },
+ "vo": {
+ "name": "‏וולאפיק"
+ },
+ "cy": {
+ "name": "וולשית"
+ },
+ "vun": {
+ "name": "וונג׳ו"
+ },
+ "vi": {
+ "name": "ויאטנמית"
+ },
+ "dje": {
+ "name": "זארמה"
+ },
+ "zu": {
+ "name": "זולו"
+ },
+ "km": {
+ "name": "חמרית"
+ },
+ "dav": {
+ "name": "טאיטה"
+ },
+ "to": {
+ "name": "טונגאית"
+ },
+ "tr": {
+ "name": "טורקית"
+ },
+ "tk": {
+ "name": "טורקמנית"
+ },
+ "bo": {
+ "name": "טיבטית"
+ },
+ "te": {
+ "name": "טלוגו"
+ },
+ "tzm": {
+ "name": "טמזייט של מרכז מרוקו"
+ },
+ "ta": {
+ "name": "טמילית"
+ },
+ "teo": {
+ "name": "טסו"
+ },
+ "twq": {
+ "name": "טסוואק"
+ },
+ "yav": {
+ "name": "יאנגבן"
+ },
+ "el": {
+ "name": "יוונית"
+ },
+ "yo": {
+ "name": "יורובה"
+ },
+ "yi": {
+ "name": "יידיש"
+ },
+ "ja": {
+ "name": "יפנית"
+ },
+ "ckb": {
+ "name": "כורדית סוראנית"
+ },
+ "lo": {
+ "name": "לאו"
+ },
+ "lag": {
+ "name": "לאנגי"
+ },
+ "luo": {
+ "name": "לואו"
+ },
+ "lu": {
+ "name": "לובה-קטנגה"
+ },
+ "luy": {
+ "name": "לויה"
+ },
+ "lb": {
+ "name": "לוקסמבורגית"
+ },
+ "lrc": {
+ "name": "לורית צפונית"
+ },
+ "lv": {
+ "name": "לטבית"
+ },
+ "lt": {
+ "name": "ליטאית"
+ },
+ "ln": {
+ "name": "לינגלה"
+ },
+ "lkt": {
+ "name": "לקוטה"
+ },
+ "mzn": {
+ "name": "מאזאנדראני"
+ },
+ "gv": {
+ "name": "מאנית"
+ },
+ "jmc": {
+ "name": "מאקאמה"
+ },
+ "mgh": {
+ "name": "מאקוואה מטו"
+ },
+ "ro-MD": {
+ "name": "מולדבית"
+ },
+ "mn": {
+ "name": "מונגולית"
+ },
+ "mua": {
+ "name": "מונדאנג"
+ },
+ "mgo": {
+ "name": "מטא"
+ },
+ "ms": {
+ "name": "מלאית"
+ },
+ "mg": {
+ "name": "מלגשית"
+ },
+ "mt": {
+ "name": "מלטית"
+ },
+ "ml": {
+ "name": "מליאלאם"
+ },
+ "mas": {
+ "name": "מסאית"
+ },
+ "mk": {
+ "name": "מקדונית"
+ },
+ "kde": {
+ "name": "מקונדה"
+ },
+ "mr": {
+ "name": "מראטהי"
+ },
+ "mer": {
+ "name": "מרו"
+ },
+ "naq": {
+ "name": "נאמה"
+ },
+ "jgo": {
+ "name": "נגומבה"
+ },
+ "nnh": {
+ "name": "נגיאמבון"
+ },
+ "nd": {
+ "name": "נדבלה צפונית"
+ },
+ "nus": {
+ "name": "נואר"
+ },
+ "nn": {
+ "name": "נורווגית חדשה"
+ },
+ "nb": {
+ "name": "נורווגית ספרותית"
+ },
+ "nyn": {
+ "name": "ניאנקולה"
+ },
+ "ne": {
+ "name": "נפאלית"
+ },
+ "sah": {
+ "name": "סאחה"
+ },
+ "sbp": {
+ "name": "סאנגו"
+ },
+ "xog": {
+ "name": "סוגה"
+ },
+ "sw": {
+ "name": "סווהילי"
+ },
+ "sw-CD": {
+ "name": "סווהילי קונגו"
+ },
+ "so": {
+ "name": "סומלית"
+ },
+ "hsb": {
+ "name": "סורבית גבוהה"
+ },
+ "dsb": {
+ "name": "סורבית נמוכה"
+ },
+ "si": {
+ "name": "סינהלה"
+ },
+ "zh": {
+ "name": "סינית"
+ },
+ "zh-Hant": {
+ "name": "סינית מסורתית"
+ },
+ "zh-Hans": {
+ "name": "סינית פשוטה"
+ },
+ "cu": {
+ "name": "סלאבית כנסייתית עתיקה"
+ },
+ "sl": {
+ "name": "סלובנית"
+ },
+ "sk": {
+ "name": "סלובקית"
+ },
+ "saq": {
+ "name": "סמבורו"
+ },
+ "se": {
+ "name": "סמי צפונית"
+ },
+ "sg": {
+ "name": "סנגו"
+ },
+ "seh": {
+ "name": "סנה"
+ },
+ "es": {
+ "name": "ספרדית"
+ },
+ "es-MX": {
+ "name": "ספרדית (מקסיקו)"
+ },
+ "ii": {
+ "name": "סצ׳ואן יי"
+ },
+ "nds-NL": {
+ "name": "סקסונית תחתית"
+ },
+ "sr": {
+ "name": "סרבית"
+ },
+ "he": {
+ "name": "עברית"
+ },
+ "ar": {
+ "name": "ערבית"
+ },
+ "fo": {
+ "name": "פארואזית"
+ },
+ "ps": {
+ "name": "פאשטו"
+ },
+ "ff": {
+ "name": "פולה"
+ },
+ "pl": {
+ "name": "פולנית"
+ },
+ "pt": {
+ "name": "פורטוגזית"
+ },
+ "pt-PT": {
+ "name": "פורטוגזית (פורטוגל)"
+ },
+ "fil": {
+ "name": "פיליפינית"
+ },
+ "fi": {
+ "name": "פינית"
+ },
+ "nl-BE": {
+ "name": "פלמית"
+ },
+ "pa": {
+ "name": "פנג׳אבי"
+ },
+ "prg": {
+ "name": "פרוסית"
+ },
+ "fur": {
+ "name": "פריולית"
+ },
+ "fy": {
+ "name": "פריזית מערבית"
+ },
+ "fa": {
+ "name": "פרסית"
+ },
+ "cgg": {
+ "name": "צ׳יגה"
+ },
+ "cs": {
+ "name": "צ׳כית"
+ },
+ "ce": {
+ "name": "צ׳צ׳נית"
+ },
+ "chr": {
+ "name": "צ׳רוקי"
+ },
+ "fr": {
+ "name": "צרפתית"
+ },
+ "fr-CA": {
+ "name": "צרפתית (קנדה)"
+ },
+ "fr-CH": {
+ "name": "צרפתית (שוויץ)"
+ },
+ "kea": {
+ "name": "קאבוורדיאנו"
+ },
+ "kkj": {
+ "name": "קאקו"
+ },
+ "kab": {
+ "name": "קבילה"
+ },
+ "nmg": {
+ "name": "קוואסיו"
+ },
+ "ses": {
+ "name": "קויראבורו סני"
+ },
+ "khq": {
+ "name": "קוירה צ׳יני"
+ },
+ "ksh": {
+ "name": "קולוניאן"
+ },
+ "kok": {
+ "name": "קונקאני"
+ },
+ "ko": {
+ "name": "קוריאנית"
+ },
+ "kw": {
+ "name": "קורנית"
+ },
+ "kk": {
+ "name": "קזחית"
+ },
+ "ca": {
+ "name": "קטלאנית"
+ },
+ "ki": {
+ "name": "קיקויו"
+ },
+ "ky": {
+ "name": "קירגיזית"
+ },
+ "rn": {
+ "name": "קירונדי"
+ },
+ "kln": {
+ "name": "קלנג׳ין"
+ },
+ "kam": {
+ "name": "קמבה"
+ },
+ "kn": {
+ "name": "קנאדה"
+ },
+ "yue": {
+ "name": "קנטונזית"
+ },
+ "rw": {
+ "name": "קנירואנדית"
+ },
+ "qu": {
+ "name": "קצ׳ואה"
+ },
+ "hr": {
+ "name": "קרואטית"
+ },
+ "mfe": {
+ "name": "קריאולית מאוריציאנית"
+ },
+ "ks": {
+ "name": "קשמירית"
+ },
+ "rwk": {
+ "name": "ראווה"
+ },
+ "rm": {
+ "name": "רומאנש"
+ },
+ "rof": {
+ "name": "רומבו"
+ },
+ "ro": {
+ "name": "רומנית"
+ },
+ "ru": {
+ "name": "רוסית"
+ },
+ "sv": {
+ "name": "שוודית"
+ },
+ "sn": {
+ "name": "שונה"
+ },
+ "shi": {
+ "name": "שילה"
+ },
+ "ksb": {
+ "name": "שמבאלה"
+ },
+ "th": {
+ "name": "תאית"
+ },
+ "ti": {
+ "name": "תיגרינית"
+ },
+ "zgh": {
+ "name": "תמזיע׳ת מרוקאית תקנית"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/hi.json b/vendor/commerceguys/intl/resources/language/hi.json
new file mode 100644
index 000000000..404f7d700
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/hi.json
@@ -0,0 +1,635 @@
+{
+ "en": {
+ "name": "अंग्रेज़ी"
+ },
+ "ak": {
+ "name": "अकन"
+ },
+ "agq": {
+ "name": "अग्हेम"
+ },
+ "az": {
+ "name": "अज़रबैजानी"
+ },
+ "af": {
+ "name": "अफ़्रीकी"
+ },
+ "am": {
+ "name": "अम्हेरी"
+ },
+ "ar": {
+ "name": "अरबी"
+ },
+ "sq": {
+ "name": "अल्बानियाई"
+ },
+ "as": {
+ "name": "असमिया"
+ },
+ "asa": {
+ "name": "असु"
+ },
+ "ast": {
+ "name": "अस्तुरियन"
+ },
+ "ga": {
+ "name": "आइरिश"
+ },
+ "is": {
+ "name": "आइसलैंडिक"
+ },
+ "hy": {
+ "name": "आर्मेनियाई"
+ },
+ "id": {
+ "name": "इंडोनेशियाई"
+ },
+ "it": {
+ "name": "इतालवी"
+ },
+ "smn": {
+ "name": "इनारी सामी"
+ },
+ "ewo": {
+ "name": "इवोन्डो"
+ },
+ "ig": {
+ "name": "ईग्बो"
+ },
+ "ee": {
+ "name": "ईवे"
+ },
+ "uz": {
+ "name": "उज़्बेक"
+ },
+ "or": {
+ "name": "उड़िया"
+ },
+ "nd": {
+ "name": "उत्तरी देबेल"
+ },
+ "lrc": {
+ "name": "उत्तरी लूरी"
+ },
+ "ur": {
+ "name": "उर्दू"
+ },
+ "hsb": {
+ "name": "ऊपरी सॉर्बियन"
+ },
+ "ebu": {
+ "name": "एम्बु"
+ },
+ "et": {
+ "name": "एस्टोनियाई"
+ },
+ "eo": {
+ "name": "एस्पेरेंतो"
+ },
+ "de-AT": {
+ "name": "ऑस्ट्रियाई जर्मन"
+ },
+ "en-AU": {
+ "name": "ऑस्ट्रेलियाई अंग्रेज़ी"
+ },
+ "om": {
+ "name": "ओरोमो"
+ },
+ "os": {
+ "name": "ओस्सेटिक"
+ },
+ "kk": {
+ "name": "कज़ाख़"
+ },
+ "en-CA": {
+ "name": "कनाडाई अंग्रेज़ी"
+ },
+ "fr-CA": {
+ "name": "कनाडाई फ़्रेंच"
+ },
+ "kn": {
+ "name": "कन्नड़"
+ },
+ "kab": {
+ "name": "कबाइल"
+ },
+ "kam": {
+ "name": "कम्बा"
+ },
+ "kl": {
+ "name": "कलालीसुत"
+ },
+ "kln": {
+ "name": "कलेंजिन"
+ },
+ "ks": {
+ "name": "कश्मीरी"
+ },
+ "sw-CD": {
+ "name": "कांगो स्वाहिली"
+ },
+ "kkj": {
+ "name": "काको"
+ },
+ "ca": {
+ "name": "कातालान"
+ },
+ "kea": {
+ "name": "काबुवेर्दियानु"
+ },
+ "ki": {
+ "name": "किकुयू"
+ },
+ "rw": {
+ "name": "किन्यारवांडा"
+ },
+ "ky": {
+ "name": "किर्गीज़"
+ },
+ "yue": {
+ "name": "कैंटोनीज़"
+ },
+ "kok": {
+ "name": "कोंकणी"
+ },
+ "khq": {
+ "name": "कोयरा चीनी"
+ },
+ "ses": {
+ "name": "कोयराबोरो सेन्नी"
+ },
+ "ko": {
+ "name": "कोरियाई"
+ },
+ "kw": {
+ "name": "कोर्निश"
+ },
+ "ksh": {
+ "name": "कोलोनियाई"
+ },
+ "hr": {
+ "name": "क्रोएशियाई"
+ },
+ "nmg": {
+ "name": "क्वासिओ"
+ },
+ "qu": {
+ "name": "क्वेचुआ"
+ },
+ "km": {
+ "name": "खमेर"
+ },
+ "lg": {
+ "name": "गांडा"
+ },
+ "gu": {
+ "name": "गुजराती"
+ },
+ "guz": {
+ "name": "गुसी"
+ },
+ "nnh": {
+ "name": "गैम्बू"
+ },
+ "gl": {
+ "name": "गैलिशियन"
+ },
+ "cu": {
+ "name": "चर्च साल्विक"
+ },
+ "zh": {
+ "name": "चीनी"
+ },
+ "cs": {
+ "name": "चेक"
+ },
+ "ce": {
+ "name": "चेचन"
+ },
+ "de": {
+ "name": "जर्मन"
+ },
+ "ja": {
+ "name": "जापानी"
+ },
+ "zu": {
+ "name": "ज़ुलू"
+ },
+ "ka": {
+ "name": "जॉर्जियाई"
+ },
+ "dz": {
+ "name": "ज़ोन्गखा"
+ },
+ "dyo": {
+ "name": "जोला-फोंई"
+ },
+ "dje": {
+ "name": "झार्मा"
+ },
+ "twq": {
+ "name": "टासवाक"
+ },
+ "teo": {
+ "name": "टेसो"
+ },
+ "to": {
+ "name": "टोंगन"
+ },
+ "nl": {
+ "name": "डच"
+ },
+ "da": {
+ "name": "डेनिश"
+ },
+ "ta": {
+ "name": "तमिल"
+ },
+ "ti": {
+ "name": "तिग्रीन्या"
+ },
+ "bo": {
+ "name": "तिब्बती"
+ },
+ "tk": {
+ "name": "तुर्कमेन"
+ },
+ "tr": {
+ "name": "तुर्की"
+ },
+ "te": {
+ "name": "तेलुगू"
+ },
+ "shi": {
+ "name": "तैचेल्हित"
+ },
+ "dav": {
+ "name": "तैता"
+ },
+ "th": {
+ "name": "थाई"
+ },
+ "dua": {
+ "name": "दुआला"
+ },
+ "jgo": {
+ "name": "नगोंबा"
+ },
+ "naq": {
+ "name": "नामा"
+ },
+ "nds": {
+ "name": "निचला जर्मन"
+ },
+ "dsb": {
+ "name": "निचला सॉर्बियन"
+ },
+ "nds-NL": {
+ "name": "निचली सैक्सन"
+ },
+ "nus": {
+ "name": "नुएर"
+ },
+ "ne": {
+ "name": "नेपाली"
+ },
+ "se": {
+ "name": "नॉर्दन सामी"
+ },
+ "nn": {
+ "name": "नॉर्वेजियाई नॉयनॉर्स्क"
+ },
+ "nb": {
+ "name": "नॉर्वेजियाई बोकमाल"
+ },
+ "nyn": {
+ "name": "न्यानकोल"
+ },
+ "pa": {
+ "name": "पंजाबी"
+ },
+ "fy": {
+ "name": "पश्चिमी फ़्रिसियाई"
+ },
+ "ps": {
+ "name": "पश्तो"
+ },
+ "zh-Hant": {
+ "name": "पारंपरिक चीनी"
+ },
+ "pt": {
+ "name": "पुर्तगाली"
+ },
+ "pl": {
+ "name": "पोलिश"
+ },
+ "prg": {
+ "name": "प्रुशियाई"
+ },
+ "fa": {
+ "name": "फ़ारसी"
+ },
+ "fi": {
+ "name": "फ़िनिश"
+ },
+ "fil": {
+ "name": "फ़िलिपीनो"
+ },
+ "ff": {
+ "name": "फुलाह"
+ },
+ "fo": {
+ "name": "फ़ैरोइज़"
+ },
+ "fur": {
+ "name": "फ्रीयुलीयान"
+ },
+ "fr": {
+ "name": "फ़्रेंच"
+ },
+ "nl-BE": {
+ "name": "फ़्लेमिश"
+ },
+ "bn": {
+ "name": "बंगाली"
+ },
+ "ksf": {
+ "name": "बफिआ"
+ },
+ "my": {
+ "name": "बर्मीज़"
+ },
+ "bas": {
+ "name": "बसा"
+ },
+ "bm": {
+ "name": "बाम्बारा"
+ },
+ "eu": {
+ "name": "बास्क"
+ },
+ "bg": {
+ "name": "बुल्गारियाई"
+ },
+ "bez": {
+ "name": "बेना"
+ },
+ "bem": {
+ "name": "बेम्बा"
+ },
+ "be": {
+ "name": "बेलारूसी"
+ },
+ "brx": {
+ "name": "बोडो"
+ },
+ "bs": {
+ "name": "बोस्नियाई"
+ },
+ "en-GB": {
+ "name": "ब्रिटिश अंग्रेज़ी"
+ },
+ "br": {
+ "name": "ब्रेटन"
+ },
+ "mn": {
+ "name": "मंगोलियाई"
+ },
+ "tzm": {
+ "name": "मध्य एटलस तमाज़ित"
+ },
+ "mr": {
+ "name": "मराठी"
+ },
+ "ms": {
+ "name": "मलय"
+ },
+ "ml": {
+ "name": "मलयालम"
+ },
+ "mas": {
+ "name": "मसाई"
+ },
+ "mzn": {
+ "name": "माज़न्देरानी"
+ },
+ "zgh": {
+ "name": "मानक मोरक्कन तामाज़ाइट"
+ },
+ "mg": {
+ "name": "मालागासी"
+ },
+ "mt": {
+ "name": "माल्टीज़"
+ },
+ "mua": {
+ "name": "मुंडैंग"
+ },
+ "mgo": {
+ "name": "मेटा"
+ },
+ "mer": {
+ "name": "मेरु"
+ },
+ "gv": {
+ "name": "मैंक्स"
+ },
+ "jmc": {
+ "name": "मैकहैमे"
+ },
+ "kde": {
+ "name": "मैकोंड"
+ },
+ "es-MX": {
+ "name": "मैक्सिकन स्पेनिश"
+ },
+ "mgh": {
+ "name": "मैखुवा-मीट्टो"
+ },
+ "mk": {
+ "name": "मैसिडोनियाई"
+ },
+ "mfe": {
+ "name": "मोरीस्येन"
+ },
+ "ro-MD": {
+ "name": "मोलडावियन"
+ },
+ "yi": {
+ "name": "यहूदी"
+ },
+ "yav": {
+ "name": "यांगबेन"
+ },
+ "sah": {
+ "name": "याकूत"
+ },
+ "uk": {
+ "name": "यूक्रेनियाई"
+ },
+ "el": {
+ "name": "यूनानी"
+ },
+ "pt-PT": {
+ "name": "यूरोपीय पुर्तगाली"
+ },
+ "yo": {
+ "name": "योरूबा"
+ },
+ "rwk": {
+ "name": "रवा"
+ },
+ "rn": {
+ "name": "रुन्दी"
+ },
+ "ru": {
+ "name": "रूसी"
+ },
+ "ro": {
+ "name": "रोमानियाई"
+ },
+ "rm": {
+ "name": "रोमान्श"
+ },
+ "rof": {
+ "name": "रोम्बो"
+ },
+ "lb": {
+ "name": "लग्ज़मबर्गी"
+ },
+ "lag": {
+ "name": "लांगि"
+ },
+ "lo": {
+ "name": "लाओ"
+ },
+ "lv": {
+ "name": "लातवियाई"
+ },
+ "ln": {
+ "name": "लिंगाला"
+ },
+ "lt": {
+ "name": "लिथुआनियाई"
+ },
+ "lkt": {
+ "name": "लैकोटा"
+ },
+ "luy": {
+ "name": "ल्युईआ"
+ },
+ "luo": {
+ "name": "ल्युओ"
+ },
+ "lu": {
+ "name": "ल्यूबा-कटांगा"
+ },
+ "vai": {
+ "name": "वाई"
+ },
+ "wae": {
+ "name": "वाल्सर"
+ },
+ "ug": {
+ "name": "विघुर"
+ },
+ "vi": {
+ "name": "वियतनामी"
+ },
+ "vun": {
+ "name": "वुंजो"
+ },
+ "cy": {
+ "name": "वेल्श"
+ },
+ "vo": {
+ "name": "वोलापुक"
+ },
+ "ksb": {
+ "name": "शम्बाला"
+ },
+ "cgg": {
+ "name": "शिगा"
+ },
+ "chr": {
+ "name": "शेरोकी"
+ },
+ "sn": {
+ "name": "शोणा"
+ },
+ "zh-Hans": {
+ "name": "सरलीकृत चीनी"
+ },
+ "sr": {
+ "name": "सर्बियाई"
+ },
+ "sg": {
+ "name": "सांगो"
+ },
+ "si": {
+ "name": "सिंहली"
+ },
+ "ii": {
+ "name": "सिचुआन यी"
+ },
+ "seh": {
+ "name": "सेना"
+ },
+ "sbp": {
+ "name": "सैंगु"
+ },
+ "saq": {
+ "name": "सैम्बुरु"
+ },
+ "xog": {
+ "name": "सोगा"
+ },
+ "so": {
+ "name": "सोमाली"
+ },
+ "ckb": {
+ "name": "सोरानी कुर्दिश"
+ },
+ "gd": {
+ "name": "स्कॉटिश गाएलिक"
+ },
+ "es": {
+ "name": "स्पेनी"
+ },
+ "sk": {
+ "name": "स्लोवाक"
+ },
+ "sl": {
+ "name": "स्लोवेनियाई"
+ },
+ "sw": {
+ "name": "स्वाहिली"
+ },
+ "de-CH": {
+ "name": "स्विस उच्च जर्मन"
+ },
+ "gsw": {
+ "name": "स्विस जर्मन"
+ },
+ "fr-CH": {
+ "name": "स्विस फ़्रेंच"
+ },
+ "sv": {
+ "name": "स्वीडिश"
+ },
+ "hu": {
+ "name": "हंगेरियाई"
+ },
+ "haw": {
+ "name": "हवाई"
+ },
+ "hi": {
+ "name": "हिन्दी"
+ },
+ "he": {
+ "name": "हिब्रू"
+ },
+ "ha": {
+ "name": "हौसा"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/hr.json b/vendor/commerceguys/intl/resources/language/hr.json
new file mode 100644
index 000000000..bd8145fd2
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/hr.json
@@ -0,0 +1,635 @@
+{
+ "af": {
+ "name": "afrikaans"
+ },
+ "agq": {
+ "name": "aghem"
+ },
+ "ak": {
+ "name": "akanski"
+ },
+ "sq": {
+ "name": "albanski"
+ },
+ "am": {
+ "name": "amharski"
+ },
+ "ar": {
+ "name": "arapski"
+ },
+ "hy": {
+ "name": "armenski"
+ },
+ "as": {
+ "name": "asamski"
+ },
+ "ast": {
+ "name": "asturijski"
+ },
+ "asa": {
+ "name": "asu"
+ },
+ "en-AU": {
+ "name": "australski engleski"
+ },
+ "de-AT": {
+ "name": "austrijski njemački"
+ },
+ "az": {
+ "name": "azerbajdžanski"
+ },
+ "ksf": {
+ "name": "bafia"
+ },
+ "bm": {
+ "name": "bambara"
+ },
+ "bn": {
+ "name": "bangla"
+ },
+ "bas": {
+ "name": "basa"
+ },
+ "eu": {
+ "name": "baskijski"
+ },
+ "bem": {
+ "name": "bemba"
+ },
+ "bez": {
+ "name": "bena"
+ },
+ "be": {
+ "name": "bjeloruski"
+ },
+ "brx": {
+ "name": "bodo"
+ },
+ "bs": {
+ "name": "bosanski"
+ },
+ "br": {
+ "name": "bretonski"
+ },
+ "en-GB": {
+ "name": "britanski engleski"
+ },
+ "bg": {
+ "name": "bugarski"
+ },
+ "my": {
+ "name": "burmanski"
+ },
+ "cgg": {
+ "name": "chiga"
+ },
+ "cu": {
+ "name": "crkvenoslavenski"
+ },
+ "ce": {
+ "name": "čečenski"
+ },
+ "chr": {
+ "name": "čerokijski"
+ },
+ "cs": {
+ "name": "češki"
+ },
+ "da": {
+ "name": "danski"
+ },
+ "dsb": {
+ "name": "donjolužički"
+ },
+ "nds": {
+ "name": "donjonjemački"
+ },
+ "nds-NL": {
+ "name": "donjosaksonski"
+ },
+ "dua": {
+ "name": "duala"
+ },
+ "dz": {
+ "name": "dzongkha"
+ },
+ "ebu": {
+ "name": "embu"
+ },
+ "en": {
+ "name": "engleski"
+ },
+ "eo": {
+ "name": "esperanto"
+ },
+ "et": {
+ "name": "estonski"
+ },
+ "pt-PT": {
+ "name": "europski portugalski"
+ },
+ "ee": {
+ "name": "ewe"
+ },
+ "ewo": {
+ "name": "ewondo"
+ },
+ "fo": {
+ "name": "ferojski"
+ },
+ "fil": {
+ "name": "filipinski"
+ },
+ "fi": {
+ "name": "finski"
+ },
+ "nl-BE": {
+ "name": "flamanski"
+ },
+ "fr": {
+ "name": "francuski"
+ },
+ "ff": {
+ "name": "fula"
+ },
+ "fur": {
+ "name": "furlanski"
+ },
+ "gl": {
+ "name": "galicijski"
+ },
+ "lg": {
+ "name": "ganda"
+ },
+ "hsb": {
+ "name": "gornjolužički"
+ },
+ "de-CH": {
+ "name": "gornjonjemački (švicarski)"
+ },
+ "el": {
+ "name": "grčki"
+ },
+ "ka": {
+ "name": "gruzijski"
+ },
+ "gu": {
+ "name": "gudžaratski"
+ },
+ "guz": {
+ "name": "gusii"
+ },
+ "ha": {
+ "name": "hausa"
+ },
+ "haw": {
+ "name": "havajski"
+ },
+ "he": {
+ "name": "hebrejski"
+ },
+ "hi": {
+ "name": "hindski"
+ },
+ "hr": {
+ "name": "hrvatski"
+ },
+ "ig": {
+ "name": "igbo"
+ },
+ "smn": {
+ "name": "inari sami"
+ },
+ "id": {
+ "name": "indonezijski"
+ },
+ "ga": {
+ "name": "irski"
+ },
+ "is": {
+ "name": "islandski"
+ },
+ "sah": {
+ "name": "jakutski"
+ },
+ "ja": {
+ "name": "japanski"
+ },
+ "yi": {
+ "name": "jidiš"
+ },
+ "dyo": {
+ "name": "jola-fonyi"
+ },
+ "yo": {
+ "name": "jorupski"
+ },
+ "kab": {
+ "name": "kabilski"
+ },
+ "kkj": {
+ "name": "kako"
+ },
+ "kl": {
+ "name": "kalaallisut"
+ },
+ "kln": {
+ "name": "kalenjin"
+ },
+ "kam": {
+ "name": "kamba"
+ },
+ "en-CA": {
+ "name": "kanadski engleski"
+ },
+ "fr-CA": {
+ "name": "kanadski francuski"
+ },
+ "yue": {
+ "name": "kantonski"
+ },
+ "kn": {
+ "name": "karnatački"
+ },
+ "ks": {
+ "name": "kašmirski"
+ },
+ "ca": {
+ "name": "katalonski"
+ },
+ "kk": {
+ "name": "kazaški"
+ },
+ "qu": {
+ "name": "kečuanski"
+ },
+ "ksh": {
+ "name": "kelnski"
+ },
+ "ki": {
+ "name": "kikuyu"
+ },
+ "zh": {
+ "name": "kineski"
+ },
+ "zh-Hans": {
+ "name": "kineski (pojednostavljeni)"
+ },
+ "zh-Hant": {
+ "name": "kineski (tradicionalni)"
+ },
+ "rw": {
+ "name": "kinyarwanda"
+ },
+ "ky": {
+ "name": "kirgiski"
+ },
+ "km": {
+ "name": "kmerski"
+ },
+ "sw-CD": {
+ "name": "kongoanski svahili"
+ },
+ "kok": {
+ "name": "konkani"
+ },
+ "ko": {
+ "name": "korejski"
+ },
+ "kw": {
+ "name": "kornski"
+ },
+ "khq": {
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "name": "koyraboro senni"
+ },
+ "nmg": {
+ "name": "kwasio"
+ },
+ "lkt": {
+ "name": "lakota"
+ },
+ "lag": {
+ "name": "langi"
+ },
+ "lo": {
+ "name": "laoski"
+ },
+ "lv": {
+ "name": "latvijski"
+ },
+ "ln": {
+ "name": "lingala"
+ },
+ "lt": {
+ "name": "litavski"
+ },
+ "lu": {
+ "name": "luba-katanga"
+ },
+ "lb": {
+ "name": "luksemburški"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "luy": {
+ "name": "luyia"
+ },
+ "jmc": {
+ "name": "machame"
+ },
+ "hu": {
+ "name": "mađarski"
+ },
+ "mk": {
+ "name": "makedonski"
+ },
+ "mgh": {
+ "name": "makhuwa-meetto"
+ },
+ "kde": {
+ "name": "makonde"
+ },
+ "ml": {
+ "name": "malajalamski"
+ },
+ "ms": {
+ "name": "malajski"
+ },
+ "mg": {
+ "name": "malgaški"
+ },
+ "mt": {
+ "name": "malteški"
+ },
+ "gv": {
+ "name": "manski"
+ },
+ "mr": {
+ "name": "marathski"
+ },
+ "mas": {
+ "name": "masajski"
+ },
+ "mfe": {
+ "name": "mauricijski kreolski"
+ },
+ "mzn": {
+ "name": "mazanderanski"
+ },
+ "es-MX": {
+ "name": "meksički španjolski"
+ },
+ "mer": {
+ "name": "meru"
+ },
+ "mgo": {
+ "name": "meta’"
+ },
+ "ro-MD": {
+ "name": "moldavski"
+ },
+ "mn": {
+ "name": "mongolski"
+ },
+ "mua": {
+ "name": "mundang"
+ },
+ "naq": {
+ "name": "nama"
+ },
+ "ne": {
+ "name": "nepalski"
+ },
+ "nnh": {
+ "name": "ngiemboon"
+ },
+ "jgo": {
+ "name": "ngomba"
+ },
+ "nl": {
+ "name": "nizozemski"
+ },
+ "nb": {
+ "name": "norveški bokmål"
+ },
+ "nn": {
+ "name": "norveški nynorsk"
+ },
+ "nus": {
+ "name": "nuerski"
+ },
+ "nyn": {
+ "name": "nyankole"
+ },
+ "de": {
+ "name": "njemački"
+ },
+ "or": {
+ "name": "orijski"
+ },
+ "om": {
+ "name": "oromski"
+ },
+ "os": {
+ "name": "osetski"
+ },
+ "pa": {
+ "name": "pandžapski"
+ },
+ "ps": {
+ "name": "paštunski"
+ },
+ "fa": {
+ "name": "perzijski"
+ },
+ "pl": {
+ "name": "poljski"
+ },
+ "pt": {
+ "name": "portugalski"
+ },
+ "prg": {
+ "name": "pruski"
+ },
+ "rm": {
+ "name": "retoromanski"
+ },
+ "rof": {
+ "name": "rombo"
+ },
+ "ro": {
+ "name": "rumunjski"
+ },
+ "rn": {
+ "name": "rundi"
+ },
+ "ru": {
+ "name": "ruski"
+ },
+ "rwk": {
+ "name": "rwa"
+ },
+ "saq": {
+ "name": "samburu"
+ },
+ "sg": {
+ "name": "sango"
+ },
+ "sbp": {
+ "name": "sangu"
+ },
+ "seh": {
+ "name": "sena"
+ },
+ "ksb": {
+ "name": "shambala"
+ },
+ "sn": {
+ "name": "shona"
+ },
+ "ii": {
+ "name": "sichuan yi"
+ },
+ "si": {
+ "name": "sinhaleški"
+ },
+ "nd": {
+ "name": "sjeverni ndebele"
+ },
+ "se": {
+ "name": "sjeverni sami"
+ },
+ "lrc": {
+ "name": "sjevernolurski"
+ },
+ "sk": {
+ "name": "slovački"
+ },
+ "sl": {
+ "name": "slovenski"
+ },
+ "xog": {
+ "name": "soga"
+ },
+ "so": {
+ "name": "somalski"
+ },
+ "ckb": {
+ "name": "soranski kurdski"
+ },
+ "sr": {
+ "name": "srpski"
+ },
+ "zgh": {
+ "name": "standardni marokanski tamašek"
+ },
+ "sw": {
+ "name": "svahili"
+ },
+ "gd": {
+ "name": "škotski gaelski"
+ },
+ "es": {
+ "name": "španjolski"
+ },
+ "sv": {
+ "name": "švedski"
+ },
+ "fr-CH": {
+ "name": "švicarski francuski"
+ },
+ "gsw": {
+ "name": "švicarski njemački"
+ },
+ "shi": {
+ "name": "tachelhit"
+ },
+ "dav": {
+ "name": "taita"
+ },
+ "th": {
+ "name": "tajlandski"
+ },
+ "it": {
+ "name": "talijanski"
+ },
+ "tzm": {
+ "name": "tamašek (Srednji Atlas)"
+ },
+ "ta": {
+ "name": "tamilski"
+ },
+ "twq": {
+ "name": "tasawaq"
+ },
+ "te": {
+ "name": "teluški"
+ },
+ "teo": {
+ "name": "teso"
+ },
+ "bo": {
+ "name": "tibetski"
+ },
+ "ti": {
+ "name": "tigrinja"
+ },
+ "to": {
+ "name": "tonganski"
+ },
+ "tk": {
+ "name": "turkmenski"
+ },
+ "tr": {
+ "name": "turski"
+ },
+ "ug": {
+ "name": "ujgurski"
+ },
+ "uk": {
+ "name": "ukrajinski"
+ },
+ "ur": {
+ "name": "urdski"
+ },
+ "uz": {
+ "name": "uzbečki"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "cy": {
+ "name": "velški"
+ },
+ "vi": {
+ "name": "vijetnamski"
+ },
+ "vo": {
+ "name": "volapük"
+ },
+ "vun": {
+ "name": "vunjo"
+ },
+ "wae": {
+ "name": "walserski"
+ },
+ "yav": {
+ "name": "yangben"
+ },
+ "fy": {
+ "name": "zapadnofrizijski"
+ },
+ "dje": {
+ "name": "zarma"
+ },
+ "kea": {
+ "name": "zelenortski"
+ },
+ "zu": {
+ "name": "zulu"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/hsb.json b/vendor/commerceguys/intl/resources/language/hsb.json
new file mode 100644
index 000000000..9bc0b68e3
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/hsb.json
@@ -0,0 +1,635 @@
+{
+ "af": {
+ "name": "afrikaanšćina"
+ },
+ "agq": {
+ "name": "aghemšćina"
+ },
+ "ak": {
+ "name": "akanšćina"
+ },
+ "sq": {
+ "name": "albanšćina"
+ },
+ "am": {
+ "name": "amharšćina"
+ },
+ "ar": {
+ "name": "arabšćina"
+ },
+ "hy": {
+ "name": "armenšćina"
+ },
+ "as": {
+ "name": "asamšćina"
+ },
+ "ast": {
+ "name": "asturšćina"
+ },
+ "en-AU": {
+ "name": "awstralska jendźelšćina"
+ },
+ "de-AT": {
+ "name": "awstriska němčina"
+ },
+ "az": {
+ "name": "azerbajdźanšćina"
+ },
+ "ksf": {
+ "name": "bafia"
+ },
+ "bm": {
+ "name": "bambara"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "eu": {
+ "name": "baskišćina"
+ },
+ "bem": {
+ "name": "bemba"
+ },
+ "bez": {
+ "name": "bena"
+ },
+ "bn": {
+ "name": "bengalšćina"
+ },
+ "be": {
+ "name": "běłorušćina"
+ },
+ "brx": {
+ "name": "bodo"
+ },
+ "bg": {
+ "name": "bołharšćina"
+ },
+ "bs": {
+ "name": "bosnišćina"
+ },
+ "br": {
+ "name": "bretonšćina"
+ },
+ "en-GB": {
+ "name": "britiska jendźelšćina"
+ },
+ "my": {
+ "name": "burmašćina"
+ },
+ "yue": {
+ "name": "Cantonese"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "cs": {
+ "name": "čěšćina"
+ },
+ "da": {
+ "name": "danšćina"
+ },
+ "nds": {
+ "name": "delnjoněmčina"
+ },
+ "nds-NL": {
+ "name": "delnjoněmčina (Nižozemska)"
+ },
+ "dsb": {
+ "name": "delnjoserbšćina"
+ },
+ "dua": {
+ "name": "duala"
+ },
+ "dz": {
+ "name": "dzongkha"
+ },
+ "ebu": {
+ "name": "embu"
+ },
+ "eo": {
+ "name": "esperanto"
+ },
+ "et": {
+ "name": "estišćina"
+ },
+ "pt-PT": {
+ "name": "europska portugalšćina"
+ },
+ "ee": {
+ "name": "ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fo": {
+ "name": "färöšćina"
+ },
+ "fil": {
+ "name": "filipinšćina"
+ },
+ "fi": {
+ "name": "finšćina"
+ },
+ "nl-BE": {
+ "name": "flamšćina"
+ },
+ "fr": {
+ "name": "francošćina"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "fy": {
+ "name": "frizišćina"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "gl": {
+ "name": "galicišćina"
+ },
+ "lg": {
+ "name": "gandšćina"
+ },
+ "ka": {
+ "name": "georgišćina"
+ },
+ "el": {
+ "name": "grjekšćina"
+ },
+ "kl": {
+ "name": "gröndlandšćina"
+ },
+ "gu": {
+ "name": "gujarati"
+ },
+ "guz": {
+ "name": "gusii"
+ },
+ "ha": {
+ "name": "hausa"
+ },
+ "haw": {
+ "name": "hawaiišćina"
+ },
+ "he": {
+ "name": "hebrejšćina"
+ },
+ "hi": {
+ "name": "hindišćina"
+ },
+ "hsb": {
+ "name": "hornjoserbšćina"
+ },
+ "ce": {
+ "name": "Chechen"
+ },
+ "chr": {
+ "name": "cherokee"
+ },
+ "cgg": {
+ "name": "chiga"
+ },
+ "zh": {
+ "name": "chinšćina"
+ },
+ "zh-Hant": {
+ "name": "chinšćina (tradicionalna)"
+ },
+ "zh-Hans": {
+ "name": "chinšćina (zjednorjena)"
+ },
+ "hr": {
+ "name": "chorwatšćina"
+ },
+ "cu": {
+ "name": "Church Slavic"
+ },
+ "ig": {
+ "name": "igbo"
+ },
+ "smn": {
+ "name": "inari-samišćina"
+ },
+ "id": {
+ "name": "indonešćina"
+ },
+ "ga": {
+ "name": "iršćina"
+ },
+ "is": {
+ "name": "islandšćina"
+ },
+ "it": {
+ "name": "italšćina"
+ },
+ "ja": {
+ "name": "japanšćina"
+ },
+ "en": {
+ "name": "jendźelšćina"
+ },
+ "yi": {
+ "name": "jidišćina"
+ },
+ "dyo": {
+ "name": "jola-fonyi"
+ },
+ "yo": {
+ "name": "jorubašćina"
+ },
+ "kab": {
+ "name": "kabylšćina"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kln": {
+ "name": "kalenjin"
+ },
+ "kam": {
+ "name": "kamba"
+ },
+ "fr-CA": {
+ "name": "kanadiska francošćina"
+ },
+ "en-CA": {
+ "name": "kanadiska jendźelšćina"
+ },
+ "kn": {
+ "name": "kannadšćina"
+ },
+ "kea": {
+ "name": "kapverdšćina"
+ },
+ "ks": {
+ "name": "kašmiršćina"
+ },
+ "ca": {
+ "name": "katalanšćina"
+ },
+ "kk": {
+ "name": "kazachšćina"
+ },
+ "qu": {
+ "name": "kečua"
+ },
+ "km": {
+ "name": "khmeršćina"
+ },
+ "ki": {
+ "name": "kikuyu"
+ },
+ "rw": {
+ "name": "kinjarwanda"
+ },
+ "ky": {
+ "name": "kirgišćina"
+ },
+ "rn": {
+ "name": "kirundišćina"
+ },
+ "sw-CD": {
+ "name": "kongoska suahelšćina"
+ },
+ "kok": {
+ "name": "konkani"
+ },
+ "ko": {
+ "name": "korejšćina"
+ },
+ "kw": {
+ "name": "kornišćina"
+ },
+ "khq": {
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "name": "koyra senni"
+ },
+ "nmg": {
+ "name": "kwasio"
+ },
+ "lkt": {
+ "name": "lakota"
+ },
+ "lag": {
+ "name": "langi"
+ },
+ "lo": {
+ "name": "laošćina"
+ },
+ "lv": {
+ "name": "letišćina"
+ },
+ "ln": {
+ "name": "lingala"
+ },
+ "lt": {
+ "name": "litawšćina"
+ },
+ "lu": {
+ "name": "luba-katanga"
+ },
+ "luy": {
+ "name": "luhya"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "luxemburgšćina"
+ },
+ "hu": {
+ "name": "madźaršćina"
+ },
+ "jmc": {
+ "name": "machame"
+ },
+ "mk": {
+ "name": "makedonšćina"
+ },
+ "mgh": {
+ "name": "makhuwa-meetto"
+ },
+ "kde": {
+ "name": "makonde"
+ },
+ "mg": {
+ "name": "malagassišćina"
+ },
+ "ml": {
+ "name": "malajamšćina"
+ },
+ "ms": {
+ "name": "malajšćina"
+ },
+ "mt": {
+ "name": "maltašćina"
+ },
+ "gv": {
+ "name": "manšćina"
+ },
+ "mr": {
+ "name": "maratišćina"
+ },
+ "mas": {
+ "name": "masaišćina"
+ },
+ "mfe": {
+ "name": "mauriciska kreolšćina"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "meru"
+ },
+ "mgo": {
+ "name": "meta’"
+ },
+ "es-MX": {
+ "name": "mexiska španišćina"
+ },
+ "ro-MD": {
+ "name": "moldawšćina"
+ },
+ "mn": {
+ "name": "mongolšćina"
+ },
+ "mua": {
+ "name": "mundang"
+ },
+ "naq": {
+ "name": "nama"
+ },
+ "ne": {
+ "name": "nepalšćina"
+ },
+ "de": {
+ "name": "němčina"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "ngomba"
+ },
+ "nl": {
+ "name": "nižozemšćina"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "nb": {
+ "name": "norwegšćina (bokmål)"
+ },
+ "nn": {
+ "name": "norwegšćina (nynorsk)"
+ },
+ "nus": {
+ "name": "nuer"
+ },
+ "nyn": {
+ "name": "nyankole"
+ },
+ "or": {
+ "name": "orijšćina"
+ },
+ "om": {
+ "name": "oromo"
+ },
+ "os": {
+ "name": "Ossetic"
+ },
+ "pa": {
+ "name": "pandźabšćina"
+ },
+ "asa": {
+ "name": "pare"
+ },
+ "ps": {
+ "name": "paštunšćina"
+ },
+ "fa": {
+ "name": "persišćina"
+ },
+ "pl": {
+ "name": "pólšćina"
+ },
+ "pt": {
+ "name": "portugalšćina"
+ },
+ "prg": {
+ "name": "prušćina"
+ },
+ "rm": {
+ "name": "retoromanšćina"
+ },
+ "rof": {
+ "name": "rombo"
+ },
+ "ro": {
+ "name": "rumunšćina"
+ },
+ "ru": {
+ "name": "rušćina"
+ },
+ "rwk": {
+ "name": "rwa"
+ },
+ "sah": {
+ "name": "Sakha"
+ },
+ "saq": {
+ "name": "samburu"
+ },
+ "sg": {
+ "name": "sango"
+ },
+ "sbp": {
+ "name": "sangu"
+ },
+ "seh": {
+ "name": "sena"
+ },
+ "sr": {
+ "name": "serbišćina"
+ },
+ "nd": {
+ "name": "sewjero-ndebele"
+ },
+ "se": {
+ "name": "sewjerosamišćina"
+ },
+ "ii": {
+ "name": "sichuan yi"
+ },
+ "si": {
+ "name": "singhalšćina"
+ },
+ "sk": {
+ "name": "słowakšćina"
+ },
+ "sl": {
+ "name": "słowjenšćina"
+ },
+ "xog": {
+ "name": "soga"
+ },
+ "so": {
+ "name": "somališćina"
+ },
+ "ckb": {
+ "name": "sorani"
+ },
+ "sw": {
+ "name": "suahelšćina"
+ },
+ "ksb": {
+ "name": "šambala"
+ },
+ "sn": {
+ "name": "šonašćina"
+ },
+ "gd": {
+ "name": "šotiska gelšćina"
+ },
+ "es": {
+ "name": "španišćina"
+ },
+ "sv": {
+ "name": "šwedšćina"
+ },
+ "fr-CH": {
+ "name": "šwicarska francošćina"
+ },
+ "gsw": {
+ "name": "šwicarska němčina"
+ },
+ "de-CH": {
+ "name": "šwicarska wysokoněmčina"
+ },
+ "dav": {
+ "name": "taita"
+ },
+ "zgh": {
+ "name": "tamazight"
+ },
+ "tzm": {
+ "name": "tamazight (srjedźny Marokko)"
+ },
+ "ta": {
+ "name": "tamilšćina"
+ },
+ "twq": {
+ "name": "tasawaq"
+ },
+ "shi": {
+ "name": "tašelhit"
+ },
+ "te": {
+ "name": "telugu"
+ },
+ "teo": {
+ "name": "teso"
+ },
+ "th": {
+ "name": "thailandšćina"
+ },
+ "bo": {
+ "name": "tibetšćina"
+ },
+ "ti": {
+ "name": "tigrinšćina"
+ },
+ "to": {
+ "name": "tongašćina"
+ },
+ "tk": {
+ "name": "turkmenšćina"
+ },
+ "tr": {
+ "name": "turkowšćina"
+ },
+ "ug": {
+ "name": "ujguršćina"
+ },
+ "uk": {
+ "name": "ukrainšćina"
+ },
+ "ur": {
+ "name": "urdušćina"
+ },
+ "uz": {
+ "name": "uzbekšćina"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vi": {
+ "name": "vietnamšćina"
+ },
+ "vo": {
+ "name": "volapük"
+ },
+ "vun": {
+ "name": "vunjo"
+ },
+ "cy": {
+ "name": "walizišćina"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "dje": {
+ "name": "zarma"
+ },
+ "zu": {
+ "name": "zulušćina"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/hu.json b/vendor/commerceguys/intl/resources/language/hu.json
new file mode 100644
index 000000000..ec892bc62
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/hu.json
@@ -0,0 +1,635 @@
+{
+ "af": {
+ "name": "afrikaans"
+ },
+ "agq": {
+ "name": "agem"
+ },
+ "ak": {
+ "name": "akan"
+ },
+ "sq": {
+ "name": "albán"
+ },
+ "dsb": {
+ "name": "alsó-szorb"
+ },
+ "nds": {
+ "name": "alsónémet"
+ },
+ "nds-NL": {
+ "name": "alsószász"
+ },
+ "am": {
+ "name": "amhara"
+ },
+ "en": {
+ "name": "angol"
+ },
+ "ar": {
+ "name": "arab"
+ },
+ "asa": {
+ "name": "asu"
+ },
+ "as": {
+ "name": "asszámi"
+ },
+ "ast": {
+ "name": "asztúr"
+ },
+ "en-AU": {
+ "name": "ausztrál angol"
+ },
+ "az": {
+ "name": "azerbajdzsáni"
+ },
+ "ksf": {
+ "name": "bafia"
+ },
+ "bm": {
+ "name": "bambara"
+ },
+ "bn": {
+ "name": "bangla"
+ },
+ "bas": {
+ "name": "basza"
+ },
+ "eu": {
+ "name": "baszk"
+ },
+ "be": {
+ "name": "belarusz"
+ },
+ "bem": {
+ "name": "bemba"
+ },
+ "bez": {
+ "name": "bena"
+ },
+ "brx": {
+ "name": "bodo"
+ },
+ "bg": {
+ "name": "bolgár"
+ },
+ "bs": {
+ "name": "bosnyák"
+ },
+ "br": {
+ "name": "breton"
+ },
+ "en-GB": {
+ "name": "brit angol"
+ },
+ "my": {
+ "name": "burmai"
+ },
+ "ce": {
+ "name": "csecsen"
+ },
+ "cs": {
+ "name": "cseh"
+ },
+ "chr": {
+ "name": "cseroki"
+ },
+ "da": {
+ "name": "dán"
+ },
+ "dua": {
+ "name": "duala"
+ },
+ "dz": {
+ "name": "dzsonga"
+ },
+ "cu": {
+ "name": "egyházi szláv"
+ },
+ "zh-Hans": {
+ "name": "egyszerűsített kínai"
+ },
+ "ebu": {
+ "name": "embu"
+ },
+ "lrc": {
+ "name": "északi luri"
+ },
+ "nd": {
+ "name": "északi ndebele"
+ },
+ "se": {
+ "name": "északi számi"
+ },
+ "eo": {
+ "name": "eszperantó"
+ },
+ "et": {
+ "name": "észt"
+ },
+ "pt-PT": {
+ "name": "európai portugál"
+ },
+ "ee": {
+ "name": "eve"
+ },
+ "ewo": {
+ "name": "evondo"
+ },
+ "hsb": {
+ "name": "felső-szorb"
+ },
+ "fo": {
+ "name": "feröeri"
+ },
+ "fil": {
+ "name": "filippínó"
+ },
+ "fi": {
+ "name": "finn"
+ },
+ "nl-BE": {
+ "name": "flamand"
+ },
+ "fr": {
+ "name": "francia"
+ },
+ "fur": {
+ "name": "friuli"
+ },
+ "ff": {
+ "name": "fulani"
+ },
+ "gl": {
+ "name": "gallego"
+ },
+ "lg": {
+ "name": "ganda"
+ },
+ "el": {
+ "name": "görög"
+ },
+ "kl": {
+ "name": "grönlandi"
+ },
+ "ka": {
+ "name": "grúz"
+ },
+ "gu": {
+ "name": "gudzsaráti"
+ },
+ "guz": {
+ "name": "guszii"
+ },
+ "zh-Hant": {
+ "name": "hagyományos kínai"
+ },
+ "ha": {
+ "name": "hausza"
+ },
+ "haw": {
+ "name": "hawaii"
+ },
+ "he": {
+ "name": "héber"
+ },
+ "hi": {
+ "name": "hindi"
+ },
+ "nl": {
+ "name": "holland"
+ },
+ "hr": {
+ "name": "horvát"
+ },
+ "ig": {
+ "name": "igbó"
+ },
+ "smn": {
+ "name": "inari számi"
+ },
+ "id": {
+ "name": "indonéz"
+ },
+ "ga": {
+ "name": "ír"
+ },
+ "is": {
+ "name": "izlandi"
+ },
+ "yav": {
+ "name": "jangben"
+ },
+ "ja": {
+ "name": "japán"
+ },
+ "yi": {
+ "name": "jiddis"
+ },
+ "dyo": {
+ "name": "jola-fonyi"
+ },
+ "yo": {
+ "name": "joruba"
+ },
+ "kab": {
+ "name": "kabije"
+ },
+ "kea": {
+ "name": "kabuverdianu"
+ },
+ "kkj": {
+ "name": "kakó"
+ },
+ "kln": {
+ "name": "kalendzsin"
+ },
+ "kam": {
+ "name": "kamba"
+ },
+ "en-CA": {
+ "name": "kanadai angol"
+ },
+ "fr-CA": {
+ "name": "kanadai francia"
+ },
+ "kn": {
+ "name": "kannada"
+ },
+ "yue": {
+ "name": "kantoni"
+ },
+ "ks": {
+ "name": "kasmíri"
+ },
+ "ca": {
+ "name": "katalán"
+ },
+ "kk": {
+ "name": "kazah"
+ },
+ "qu": {
+ "name": "kecsua"
+ },
+ "km": {
+ "name": "khmer"
+ },
+ "cgg": {
+ "name": "kiga"
+ },
+ "ki": {
+ "name": "kikuju"
+ },
+ "zh": {
+ "name": "kínai"
+ },
+ "rw": {
+ "name": "kinyarvanda"
+ },
+ "ky": {
+ "name": "kirgiz"
+ },
+ "rn": {
+ "name": "kirundi"
+ },
+ "khq": {
+ "name": "kojra-csíni"
+ },
+ "ses": {
+ "name": "kojra-szenni"
+ },
+ "sw-CD": {
+ "name": "kongói szuahéli"
+ },
+ "kok": {
+ "name": "konkani"
+ },
+ "ko": {
+ "name": "koreai"
+ },
+ "kw": {
+ "name": "korni"
+ },
+ "ksh": {
+ "name": "kölsch"
+ },
+ "tzm": {
+ "name": "közép-atlaszi tamazigt"
+ },
+ "ckb": {
+ "name": "közép-ázsiai kurd"
+ },
+ "lkt": {
+ "name": "lakota"
+ },
+ "lag": {
+ "name": "langi"
+ },
+ "lo": {
+ "name": "lao"
+ },
+ "pl": {
+ "name": "lengyel"
+ },
+ "lv": {
+ "name": "lett"
+ },
+ "ln": {
+ "name": "lingala"
+ },
+ "lt": {
+ "name": "litván"
+ },
+ "lu": {
+ "name": "luba-katanga"
+ },
+ "luy": {
+ "name": "lujia"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "luxemburgi"
+ },
+ "mk": {
+ "name": "macedón"
+ },
+ "jmc": {
+ "name": "machame"
+ },
+ "hu": {
+ "name": "magyar"
+ },
+ "kde": {
+ "name": "makonde"
+ },
+ "mgh": {
+ "name": "makua-metó"
+ },
+ "ms": {
+ "name": "maláj"
+ },
+ "ml": {
+ "name": "malajálam"
+ },
+ "mg": {
+ "name": "malgas"
+ },
+ "mt": {
+ "name": "máltai"
+ },
+ "gv": {
+ "name": "man-szigeti"
+ },
+ "mr": {
+ "name": "maráthi"
+ },
+ "zgh": {
+ "name": "marokkói tamazight"
+ },
+ "mas": {
+ "name": "masai"
+ },
+ "mfe": {
+ "name": "mauritiusi kreol"
+ },
+ "mzn": {
+ "name": "mázanderáni"
+ },
+ "mer": {
+ "name": "meru"
+ },
+ "mgo": {
+ "name": "meta’"
+ },
+ "ro-MD": {
+ "name": "moldvai"
+ },
+ "mn": {
+ "name": "mongol"
+ },
+ "mua": {
+ "name": "mundang"
+ },
+ "naq": {
+ "name": "nama"
+ },
+ "de": {
+ "name": "német"
+ },
+ "ne": {
+ "name": "nepáli"
+ },
+ "nnh": {
+ "name": "ngiemboon"
+ },
+ "jgo": {
+ "name": "ngomba"
+ },
+ "nmg": {
+ "name": "ngumba"
+ },
+ "nb": {
+ "name": "norvég (bokmál)"
+ },
+ "nn": {
+ "name": "norvég (nynrosk)"
+ },
+ "nus": {
+ "name": "nuer"
+ },
+ "nyn": {
+ "name": "nyankole"
+ },
+ "fy": {
+ "name": "nyugati fríz"
+ },
+ "or": {
+ "name": "odia"
+ },
+ "it": {
+ "name": "olasz"
+ },
+ "om": {
+ "name": "oromo"
+ },
+ "ru": {
+ "name": "orosz"
+ },
+ "os": {
+ "name": "oszét"
+ },
+ "de-AT": {
+ "name": "osztrák német"
+ },
+ "hy": {
+ "name": "örmény"
+ },
+ "pa": {
+ "name": "pandzsábi"
+ },
+ "ps": {
+ "name": "pastu"
+ },
+ "fa": {
+ "name": "perzsa"
+ },
+ "prg": {
+ "name": "porosz"
+ },
+ "pt": {
+ "name": "portugál"
+ },
+ "rm": {
+ "name": "rétoromán"
+ },
+ "ro": {
+ "name": "román"
+ },
+ "rof": {
+ "name": "rombo"
+ },
+ "rwk": {
+ "name": "rwo"
+ },
+ "ksb": {
+ "name": "sambala"
+ },
+ "gd": {
+ "name": "skóciai kelta"
+ },
+ "sn": {
+ "name": "sona"
+ },
+ "es": {
+ "name": "spanyol"
+ },
+ "es-MX": {
+ "name": "spanyol (mexikói)"
+ },
+ "de-CH": {
+ "name": "svájci felnémet"
+ },
+ "fr-CH": {
+ "name": "svájci francia"
+ },
+ "gsw": {
+ "name": "svájci német"
+ },
+ "sv": {
+ "name": "svéd"
+ },
+ "sah": {
+ "name": "szaha"
+ },
+ "saq": {
+ "name": "szamburu"
+ },
+ "sg": {
+ "name": "szangó"
+ },
+ "sbp": {
+ "name": "szangu"
+ },
+ "twq": {
+ "name": "szavák"
+ },
+ "ii": {
+ "name": "szecsuán ji"
+ },
+ "seh": {
+ "name": "szena"
+ },
+ "sr": {
+ "name": "szerb"
+ },
+ "si": {
+ "name": "szingaléz"
+ },
+ "sk": {
+ "name": "szlovák"
+ },
+ "sl": {
+ "name": "szlovén"
+ },
+ "xog": {
+ "name": "szoga"
+ },
+ "so": {
+ "name": "szomáli"
+ },
+ "sw": {
+ "name": "szuahéli"
+ },
+ "shi": {
+ "name": "tachelhit"
+ },
+ "dav": {
+ "name": "taita"
+ },
+ "ta": {
+ "name": "tamil"
+ },
+ "te": {
+ "name": "telugu"
+ },
+ "teo": {
+ "name": "teszó"
+ },
+ "th": {
+ "name": "thai"
+ },
+ "bo": {
+ "name": "tibeti"
+ },
+ "ti": {
+ "name": "tigrinya"
+ },
+ "to": {
+ "name": "tongai"
+ },
+ "tr": {
+ "name": "török"
+ },
+ "tk": {
+ "name": "türkmén"
+ },
+ "ug": {
+ "name": "ujgur"
+ },
+ "uk": {
+ "name": "ukrán"
+ },
+ "ur": {
+ "name": "urdu"
+ },
+ "uz": {
+ "name": "üzbég"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vi": {
+ "name": "vietnami"
+ },
+ "vo": {
+ "name": "volapük"
+ },
+ "vun": {
+ "name": "vunjo"
+ },
+ "cy": {
+ "name": "walesi"
+ },
+ "wae": {
+ "name": "walser"
+ },
+ "dje": {
+ "name": "zarma"
+ },
+ "zu": {
+ "name": "zulu"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/hy.json b/vendor/commerceguys/intl/resources/language/hy.json
new file mode 100644
index 000000000..db8da46f7
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/hy.json
@@ -0,0 +1,632 @@
+{
+ "az": {
+ "name": "ադրբեջաներեն"
+ },
+ "sq": {
+ "name": "ալբաներեն"
+ },
+ "agq": {
+ "name": "աղեմ"
+ },
+ "am": {
+ "name": "ամհարերեն"
+ },
+ "en": {
+ "name": "անգլերեն"
+ },
+ "as": {
+ "name": "ասամերեն"
+ },
+ "asa": {
+ "name": "ասու"
+ },
+ "ast": {
+ "name": "աստուրերեն"
+ },
+ "zh-Hant": {
+ "name": "ավանդական չինարեն"
+ },
+ "en-AU": {
+ "name": "ավստրալիական անգլերեն"
+ },
+ "de-AT": {
+ "name": "ավստրիական գերմաներեն"
+ },
+ "ar": {
+ "name": "արաբերեն"
+ },
+ "fy": {
+ "name": "արևմտաֆրիզերեն"
+ },
+ "ak": {
+ "name": "աքան"
+ },
+ "af": {
+ "name": "աֆրիկաանս"
+ },
+ "bm": {
+ "name": "բամբարա"
+ },
+ "bas": {
+ "name": "բասաա"
+ },
+ "eu": {
+ "name": "բասկերեն"
+ },
+ "ksf": {
+ "name": "բաֆիա"
+ },
+ "be": {
+ "name": "բելառուսերեն"
+ },
+ "bem": {
+ "name": "բեմբա"
+ },
+ "bez": {
+ "name": "բենա"
+ },
+ "bn": {
+ "name": "բենգալերեն"
+ },
+ "my": {
+ "name": "բիրմայերեն"
+ },
+ "brx": {
+ "name": "բոդո"
+ },
+ "bs": {
+ "name": "բոսնիերեն"
+ },
+ "bg": {
+ "name": "բուլղարերեն"
+ },
+ "br": {
+ "name": "բրետոներեն"
+ },
+ "en-GB": {
+ "name": "բրիտանական անգլերեն"
+ },
+ "gd": {
+ "name": "գաելերեն"
+ },
+ "gl": {
+ "name": "գալիսերեն"
+ },
+ "lg": {
+ "name": "գանդա"
+ },
+ "de": {
+ "name": "գերմաներեն"
+ },
+ "gu": {
+ "name": "գուջարաթի"
+ },
+ "guz": {
+ "name": "գուսի"
+ },
+ "da": {
+ "name": "դանիերեն"
+ },
+ "dua": {
+ "name": "դուալա"
+ },
+ "he": {
+ "name": "եբրայերեն"
+ },
+ "cu": {
+ "name": "եկեղեցական սլավոներեն"
+ },
+ "pt-PT": {
+ "name": "եվրոպական պորտուգալերեն"
+ },
+ "dje": {
+ "name": "զարմա"
+ },
+ "zu": {
+ "name": "զուլուերեն"
+ },
+ "ebu": {
+ "name": "էմբու"
+ },
+ "eo": {
+ "name": "էսպերանտո"
+ },
+ "et": {
+ "name": "էստոներեն"
+ },
+ "ee": {
+ "name": "էվե"
+ },
+ "ewo": {
+ "name": "էվոնդո"
+ },
+ "zgh": {
+ "name": "ընդհանուր մարոկյան թամազիղտ"
+ },
+ "dav": {
+ "name": "թաիթա"
+ },
+ "ta": {
+ "name": "թամիլերեն"
+ },
+ "th": {
+ "name": "թայերեն"
+ },
+ "te": {
+ "name": "թելուգու"
+ },
+ "tr": {
+ "name": "թուրքերեն"
+ },
+ "tk": {
+ "name": "թուրքմեներեն"
+ },
+ "ig": {
+ "name": "իգբո"
+ },
+ "yi": {
+ "name": "իդիշ"
+ },
+ "smn": {
+ "name": "ինարի սաամերեն"
+ },
+ "id": {
+ "name": "ինդոնեզերեն"
+ },
+ "ga": {
+ "name": "իռլանդերեն"
+ },
+ "is": {
+ "name": "իսլանդերեն"
+ },
+ "es": {
+ "name": "իսպաներեն"
+ },
+ "it": {
+ "name": "իտալերեն"
+ },
+ "lkt": {
+ "name": "լակոտա"
+ },
+ "lag": {
+ "name": "լանգի"
+ },
+ "lo": {
+ "name": "լաոսերեն"
+ },
+ "lv": {
+ "name": "լատվիերեն"
+ },
+ "pl": {
+ "name": "լեհերեն"
+ },
+ "ln": {
+ "name": "լինգալա"
+ },
+ "lt": {
+ "name": "լիտվերեն"
+ },
+ "lb": {
+ "name": "լյուքսեմբուրգերեն"
+ },
+ "lu": {
+ "name": "լուբա-կատանգա"
+ },
+ "luy": {
+ "name": "լույա"
+ },
+ "luo": {
+ "name": "լուո"
+ },
+ "hr": {
+ "name": "խորվաթերեն"
+ },
+ "kab": {
+ "name": "կաբիլերեն"
+ },
+ "kea": {
+ "name": "կաբուվերդյանու"
+ },
+ "kl": {
+ "name": "կալաալիսուտ"
+ },
+ "kln": {
+ "name": "կալենջին"
+ },
+ "kkj": {
+ "name": "կակո"
+ },
+ "kam": {
+ "name": "կամբա"
+ },
+ "en-CA": {
+ "name": "կանադական անգլերեն"
+ },
+ "fr-CA": {
+ "name": "կանադական ֆրանսերեն"
+ },
+ "kn": {
+ "name": "կաննադա"
+ },
+ "yue": {
+ "name": "կանտոներեն"
+ },
+ "ca": {
+ "name": "կատալաներեն"
+ },
+ "tzm": {
+ "name": "կենտրոնատլասյան թամազիղտ"
+ },
+ "qu": {
+ "name": "կեչուա"
+ },
+ "ki": {
+ "name": "կիկույու"
+ },
+ "rw": {
+ "name": "կինյառուանդա"
+ },
+ "khq": {
+ "name": "կոյրա չինի"
+ },
+ "ses": {
+ "name": "կոյրաբորո սեննի"
+ },
+ "sw-CD": {
+ "name": "կոնգոյի սուահիլի"
+ },
+ "kok": {
+ "name": "կոնկանի"
+ },
+ "kw": {
+ "name": "կոռներեն"
+ },
+ "ko": {
+ "name": "կորեերեն"
+ },
+ "nmg": {
+ "name": "կվասիո"
+ },
+ "hy": {
+ "name": "հայերեն"
+ },
+ "ha": {
+ "name": "հաուսա"
+ },
+ "haw": {
+ "name": "հավայիերեն"
+ },
+ "hi": {
+ "name": "հինդի"
+ },
+ "lrc": {
+ "name": "հյուսիսային լուրիերեն"
+ },
+ "nd": {
+ "name": "հյուսիսային նդեբելե"
+ },
+ "se": {
+ "name": "հյուսիսային սաամի"
+ },
+ "nl": {
+ "name": "հոլանդերեն"
+ },
+ "el": {
+ "name": "հունարեն"
+ },
+ "hu": {
+ "name": "հունգարերեն"
+ },
+ "kk": {
+ "name": "ղազախերեն"
+ },
+ "ky": {
+ "name": "ղրղզերեն"
+ },
+ "ja": {
+ "name": "ճապոներեն"
+ },
+ "mzn": {
+ "name": "մազանդարաներեն"
+ },
+ "ml": {
+ "name": "մալայալամ"
+ },
+ "ms": {
+ "name": "մալայերեն"
+ },
+ "mg": {
+ "name": "մալգաշերեն"
+ },
+ "mt": {
+ "name": "մալթայերեն"
+ },
+ "mk": {
+ "name": "մակեդոներեն"
+ },
+ "kde": {
+ "name": "մակոնդե"
+ },
+ "jmc": {
+ "name": "մաշամե"
+ },
+ "mas": {
+ "name": "մասաի"
+ },
+ "mr": {
+ "name": "մարաթի"
+ },
+ "mgh": {
+ "name": "մաքուա-մետտո"
+ },
+ "gv": {
+ "name": "մեներեն"
+ },
+ "mgo": {
+ "name": "մետա"
+ },
+ "mer": {
+ "name": "մերու"
+ },
+ "es-MX": {
+ "name": "մեքսիկական իսպաներեն"
+ },
+ "ro-MD": {
+ "name": "մոլդովերեն"
+ },
+ "mn": {
+ "name": "մոնղոլերեն"
+ },
+ "mfe": {
+ "name": "մորիսյեն"
+ },
+ "mua": {
+ "name": "մունդանգ"
+ },
+ "sah": {
+ "name": "յակուտերեն"
+ },
+ "yav": {
+ "name": "յանգբեն"
+ },
+ "yo": {
+ "name": "յորուբա"
+ },
+ "naq": {
+ "name": "նամա"
+ },
+ "nnh": {
+ "name": "նգիեմբուն"
+ },
+ "jgo": {
+ "name": "նգոմբա"
+ },
+ "ne": {
+ "name": "նեպալերեն"
+ },
+ "nyn": {
+ "name": "նյանկոլե"
+ },
+ "nb": {
+ "name": "նորվեգերեն բուկմոլ"
+ },
+ "nn": {
+ "name": "նորվեգերեն նյունորսկ"
+ },
+ "nus": {
+ "name": "նուեր"
+ },
+ "ksb": {
+ "name": "շամբալա"
+ },
+ "sn": {
+ "name": "շոնա"
+ },
+ "sv": {
+ "name": "շվեդերեն"
+ },
+ "gsw": {
+ "name": "շվեյցարական գերմաներեն"
+ },
+ "de-CH": {
+ "name": "շվեյցարական վերին գերմաներեն"
+ },
+ "fr-CH": {
+ "name": "շվեյցարական ֆրանսերեն"
+ },
+ "cy": {
+ "name": "ուելսերեն"
+ },
+ "uz": {
+ "name": "ուզբեկերեն"
+ },
+ "uk": {
+ "name": "ուկրաիներեն"
+ },
+ "ug": {
+ "name": "ույղուրերեն"
+ },
+ "ur": {
+ "name": "ուրդու"
+ },
+ "cs": {
+ "name": "չեխերեն"
+ },
+ "ce": {
+ "name": "չեչեներեն"
+ },
+ "chr": {
+ "name": "չերոկի"
+ },
+ "cgg": {
+ "name": "չիգա"
+ },
+ "zh": {
+ "name": "չինարեն"
+ },
+ "zh-Hans": {
+ "name": "պարզեցված չինարեն"
+ },
+ "fa": {
+ "name": "պարսկերեն"
+ },
+ "pt": {
+ "name": "պորտուգալերեն"
+ },
+ "prg": {
+ "name": "պրուսերեն"
+ },
+ "dyo": {
+ "name": "ջոլա-ֆոնյի"
+ },
+ "dz": {
+ "name": "ջոնգքհա"
+ },
+ "rm": {
+ "name": "ռոմանշերեն"
+ },
+ "rof": {
+ "name": "ռոմբո"
+ },
+ "ro": {
+ "name": "ռումիներեն"
+ },
+ "rn": {
+ "name": "ռունդի"
+ },
+ "ru": {
+ "name": "ռուսերեն"
+ },
+ "rwk": {
+ "name": "ռվա"
+ },
+ "saq": {
+ "name": "սամբուրու"
+ },
+ "sg": {
+ "name": "սանգո"
+ },
+ "sbp": {
+ "name": "սանգու"
+ },
+ "seh": {
+ "name": "սենա"
+ },
+ "sr": {
+ "name": "սերբերեն"
+ },
+ "si": {
+ "name": "սինհալերեն"
+ },
+ "ii": {
+ "name": "սիչուան"
+ },
+ "sk": {
+ "name": "սլովակերեն"
+ },
+ "sl": {
+ "name": "սլովեներեն"
+ },
+ "xog": {
+ "name": "սոգա"
+ },
+ "so": {
+ "name": "սոմալիերեն"
+ },
+ "ckb": {
+ "name": "սորանի քրդերեն"
+ },
+ "sw": {
+ "name": "սուահիլի"
+ },
+ "nds-NL": {
+ "name": "ստորին սաքսոներեն"
+ },
+ "dsb": {
+ "name": "ստորին սորբերեն"
+ },
+ "vai": {
+ "name": "վաի"
+ },
+ "wae": {
+ "name": "վալսերեն"
+ },
+ "hsb": {
+ "name": "վերին սորբերեն"
+ },
+ "vi": {
+ "name": "վիետնամերեն"
+ },
+ "vo": {
+ "name": "վոլապյուկ"
+ },
+ "vun": {
+ "name": "վունջո"
+ },
+ "ka": {
+ "name": "վրացերեն"
+ },
+ "shi": {
+ "name": "տաշելհիթ"
+ },
+ "twq": {
+ "name": "տասավաք"
+ },
+ "teo": {
+ "name": "տեսո"
+ },
+ "bo": {
+ "name": "տիբեթերեն"
+ },
+ "ti": {
+ "name": "տիգրինյա"
+ },
+ "to": {
+ "name": "տոնգերեն"
+ },
+ "pa": {
+ "name": "փենջաբերեն"
+ },
+ "ps": {
+ "name": "փուշթու"
+ },
+ "ks": {
+ "name": "քաշմիրերեն"
+ },
+ "km": {
+ "name": "քմերերեն"
+ },
+ "ksh": {
+ "name": "քյոլներեն"
+ },
+ "os": {
+ "name": "օսերեն"
+ },
+ "or": {
+ "name": "օրիյա"
+ },
+ "om": {
+ "name": "օրոմո"
+ },
+ "fo": {
+ "name": "ֆարյորերեն"
+ },
+ "fil": {
+ "name": "ֆիլիպիներեն"
+ },
+ "fi": {
+ "name": "ֆիններեն"
+ },
+ "nl-BE": {
+ "name": "ֆլամանդերեն"
+ },
+ "ff": {
+ "name": "ֆուլահ"
+ },
+ "fr": {
+ "name": "ֆրանսերեն"
+ },
+ "fur": {
+ "name": "ֆրիուլիերեն"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/id.json b/vendor/commerceguys/intl/resources/language/id.json
new file mode 100644
index 000000000..c64af613c
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/id.json
@@ -0,0 +1,635 @@
+{
+ "af": {
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "ak": {
+ "name": "Akan"
+ },
+ "sq": {
+ "name": "Albania"
+ },
+ "am": {
+ "name": "Amharik"
+ },
+ "ar": {
+ "name": "Arab"
+ },
+ "hy": {
+ "name": "Armenia"
+ },
+ "as": {
+ "name": "Assam"
+ },
+ "ast": {
+ "name": "Asturia"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "az": {
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "cu": {
+ "name": "Bahasa Gereja Slavonia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bas": {
+ "name": "Basa"
+ },
+ "eu": {
+ "name": "Basque"
+ },
+ "nl": {
+ "name": "Belanda"
+ },
+ "nl-BE": {
+ "name": "Belanda (Belgia)"
+ },
+ "be": {
+ "name": "Belarusia"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "bn": {
+ "name": "Bengali"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "nb": {
+ "name": "Bokmål Norwegia"
+ },
+ "bs": {
+ "name": "Bosnia"
+ },
+ "br": {
+ "name": "Breton"
+ },
+ "bg": {
+ "name": "Bulgaria"
+ },
+ "my": {
+ "name": "Burma"
+ },
+ "ce": {
+ "name": "Chechen"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "cs": {
+ "name": "Cheska"
+ },
+ "da": {
+ "name": "Dansk"
+ },
+ "ksh": {
+ "name": "Dialek Kolsch"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "dz": {
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "eo": {
+ "name": "Esperanto"
+ },
+ "et": {
+ "name": "Esti"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fo": {
+ "name": "Faroe"
+ },
+ "fil": {
+ "name": "Filipino"
+ },
+ "fy": {
+ "name": "Frisia Barat"
+ },
+ "fur": {
+ "name": "Friuli"
+ },
+ "ff": {
+ "name": "Fula"
+ },
+ "gd": {
+ "name": "Gaelik Skotlandia"
+ },
+ "gl": {
+ "name": "Galisia"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "ka": {
+ "name": "Georgia"
+ },
+ "gu": {
+ "name": "Gujarat"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "ha": {
+ "name": "Hausa"
+ },
+ "haw": {
+ "name": "Hawaii"
+ },
+ "hi": {
+ "name": "Hindi"
+ },
+ "hu": {
+ "name": "Hungaria"
+ },
+ "he": {
+ "name": "Ibrani"
+ },
+ "ig": {
+ "name": "Igbo"
+ },
+ "smn": {
+ "name": "Inari Sami"
+ },
+ "id": {
+ "name": "Indonesia"
+ },
+ "en": {
+ "name": "Inggris"
+ },
+ "en-AU": {
+ "name": "Inggris (Australia)"
+ },
+ "en-GB": {
+ "name": "Inggris (Inggris)"
+ },
+ "en-CA": {
+ "name": "Inggris (Kanada)"
+ },
+ "ga": {
+ "name": "Irlandia"
+ },
+ "is": {
+ "name": "Islandia"
+ },
+ "it": {
+ "name": "Italia"
+ },
+ "ja": {
+ "name": "Jepang"
+ },
+ "de": {
+ "name": "Jerman"
+ },
+ "de-AT": {
+ "name": "Jerman (Austria)"
+ },
+ "gsw": {
+ "name": "Jerman (Swiss)"
+ },
+ "nds": {
+ "name": "Jerman Rendah"
+ },
+ "nds-NL": {
+ "name": "Jerman Rendah (Belanda)"
+ },
+ "de-CH": {
+ "name": "Jerman Tinggi (Swiss)"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabyle"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kl": {
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "kn": {
+ "name": "Kannada"
+ },
+ "yue": {
+ "name": "Kanton"
+ },
+ "ks": {
+ "name": "Kashmir"
+ },
+ "ca": {
+ "name": "Katalan"
+ },
+ "kk": {
+ "name": "Kazakh"
+ },
+ "km": {
+ "name": "Khmer"
+ },
+ "cgg": {
+ "name": "Kiga"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "rw": {
+ "name": "Kinyarwanda"
+ },
+ "ky": {
+ "name": "Kirgiz"
+ },
+ "sw-CD": {
+ "name": "Kongo Swahili"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "ko": {
+ "name": "Korea"
+ },
+ "kw": {
+ "name": "Kornish"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "hr": {
+ "name": "Kroasia"
+ },
+ "ckb": {
+ "name": "Kurdi Sorani"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "Lao"
+ },
+ "lv": {
+ "name": "Latvi"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "lt": {
+ "name": "Lituavi"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "lb": {
+ "name": "Luksemburg"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lrc": {
+ "name": "Luri Utara"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mk": {
+ "name": "Makedonia"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "mg": {
+ "name": "Malagasi"
+ },
+ "ml": {
+ "name": "Malayalam"
+ },
+ "mt": {
+ "name": "Malta"
+ },
+ "gv": {
+ "name": "Manx"
+ },
+ "mr": {
+ "name": "Marathi"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "ms": {
+ "name": "Melayu"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Meta’"
+ },
+ "ro-MD": {
+ "name": "Moldavia"
+ },
+ "mn": {
+ "name": "Mongolia"
+ },
+ "mfe": {
+ "name": "Morisien"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nd": {
+ "name": "Ndebele Utara"
+ },
+ "ne": {
+ "name": "Nepali"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "nn": {
+ "name": "Nynorsk Norwegia"
+ },
+ "or": {
+ "name": "Oriya"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "os": {
+ "name": "Ossetia"
+ },
+ "ps": {
+ "name": "Pashto"
+ },
+ "fa": {
+ "name": "Persia"
+ },
+ "pl": {
+ "name": "Polski"
+ },
+ "pt": {
+ "name": "Portugis"
+ },
+ "pt-PT": {
+ "name": "Portugis (Eropa)"
+ },
+ "fr": {
+ "name": "Prancis"
+ },
+ "fr-CA": {
+ "name": "Prancis (Kanada)"
+ },
+ "fr-CH": {
+ "name": "Prancis (Swiss)"
+ },
+ "prg": {
+ "name": "Prusia"
+ },
+ "pa": {
+ "name": "Punjabi"
+ },
+ "qu": {
+ "name": "Quechua"
+ },
+ "rm": {
+ "name": "Reto-Roman"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "ro": {
+ "name": "Rumania"
+ },
+ "rn": {
+ "name": "Rundi"
+ },
+ "ru": {
+ "name": "Rusia"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "sah": {
+ "name": "Sakha"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "se": {
+ "name": "Sami Utara"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "sr": {
+ "name": "Serb"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "si": {
+ "name": "Sinhala"
+ },
+ "sk": {
+ "name": "Slovak"
+ },
+ "sl": {
+ "name": "Sloven"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "so": {
+ "name": "Somali"
+ },
+ "hsb": {
+ "name": "Sorbia Atas"
+ },
+ "dsb": {
+ "name": "Sorbia Rendah"
+ },
+ "es": {
+ "name": "Spanyol"
+ },
+ "es-MX": {
+ "name": "Spanyol (Meksiko)"
+ },
+ "fi": {
+ "name": "Suomi"
+ },
+ "sw": {
+ "name": "Swahili"
+ },
+ "sv": {
+ "name": "Swedia"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "zgh": {
+ "name": "Tamazight Maroko Standar"
+ },
+ "tzm": {
+ "name": "Tamazight Maroko Tengah"
+ },
+ "ta": {
+ "name": "Tamil"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "te": {
+ "name": "Telugu"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "th": {
+ "name": "Thai"
+ },
+ "bo": {
+ "name": "Tibet"
+ },
+ "ti": {
+ "name": "Tigrinya"
+ },
+ "zh": {
+ "name": "Tionghoa"
+ },
+ "zh-Hans": {
+ "name": "Tionghoa (Aksara Sederhana)"
+ },
+ "zh-Hant": {
+ "name": "Tionghoa (Aksara Tradisional)"
+ },
+ "to": {
+ "name": "Tonga"
+ },
+ "tr": {
+ "name": "Turki"
+ },
+ "tk": {
+ "name": "Turkmen"
+ },
+ "uk": {
+ "name": "Ukraina"
+ },
+ "ur": {
+ "name": "Urdu"
+ },
+ "ug": {
+ "name": "Uyghur"
+ },
+ "uz": {
+ "name": "Uzbek"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vi": {
+ "name": "Vietnam"
+ },
+ "vo": {
+ "name": "Volapuk"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "cy": {
+ "name": "Welsh"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "yi": {
+ "name": "Yiddish"
+ },
+ "yo": {
+ "name": "Yoruba"
+ },
+ "el": {
+ "name": "Yunani"
+ },
+ "dje": {
+ "name": "Zarma"
+ },
+ "zu": {
+ "name": "Zulu"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/ig.json b/vendor/commerceguys/intl/resources/language/ig.json
new file mode 100644
index 000000000..ec487221c
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/ig.json
@@ -0,0 +1,632 @@
+{
+ "af": {
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "ak": {
+ "name": "Akan"
+ },
+ "sq": {
+ "name": "Albanian"
+ },
+ "am": {
+ "name": "Amariikị"
+ },
+ "ar": {
+ "name": "Arabiikị"
+ },
+ "hy": {
+ "name": "Armenian"
+ },
+ "as": {
+ "name": "Assamese"
+ },
+ "ast": {
+ "name": "Asturian"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "ha": {
+ "name": "Awụsa"
+ },
+ "az": {
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "eu": {
+ "name": "Basque"
+ },
+ "be": {
+ "name": "Belaruusu"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "bn": {
+ "name": "Bengali"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "bs": {
+ "name": "Bosnian"
+ },
+ "bg": {
+ "name": "Bọlụgarịa"
+ },
+ "br": {
+ "name": "Breton"
+ },
+ "ce": {
+ "name": "Chechen"
+ },
+ "cs": {
+ "name": "Cheekị"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "cu": {
+ "name": "Church Slavic"
+ },
+ "yue": {
+ "name": "Cantonese"
+ },
+ "ca": {
+ "name": "Catalan"
+ },
+ "tzm": {
+ "name": "Central Atlas Tamazight"
+ },
+ "ckb": {
+ "name": "Central Kurdish"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "kw": {
+ "name": "Cornish"
+ },
+ "hr": {
+ "name": "Croatian"
+ },
+ "da": {
+ "name": "Danish"
+ },
+ "nl": {
+ "name": "Dọọch"
+ },
+ "nl-BE": {
+ "name": "Dọọch (BE)"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "dz": {
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "eo": {
+ "name": "Esperanto"
+ },
+ "et": {
+ "name": "Estonian"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fo": {
+ "name": "Faroese"
+ },
+ "fil": {
+ "name": "Filipino"
+ },
+ "fi": {
+ "name": "Finnish"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "fr": {
+ "name": "Fụrench"
+ },
+ "fr-CH": {
+ "name": "Fụrench (CH)"
+ },
+ "fr-CA": {
+ "name": "Fụrench (CA)"
+ },
+ "gl": {
+ "name": "Galician"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "ka": {
+ "name": "Georgian"
+ },
+ "el": {
+ "name": "Giriikị"
+ },
+ "gu": {
+ "name": "Gujarati"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "haw": {
+ "name": "Hawaiian"
+ },
+ "he": {
+ "name": "Hebrew"
+ },
+ "hi": {
+ "name": "Hindi"
+ },
+ "is": {
+ "name": "Icelandic"
+ },
+ "ig": {
+ "name": "Igbo"
+ },
+ "smn": {
+ "name": "Inari Sami"
+ },
+ "id": {
+ "name": "Indonisia"
+ },
+ "ga": {
+ "name": "Irish"
+ },
+ "it": {
+ "name": "Italo"
+ },
+ "de": {
+ "name": "Jamaan"
+ },
+ "de-AT": {
+ "name": "Jamaan (AT)"
+ },
+ "de-CH": {
+ "name": "Jamaan (CH)"
+ },
+ "ja": {
+ "name": "Japanese"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabyle"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kl": {
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "kn": {
+ "name": "Kannada"
+ },
+ "ks": {
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "name": "Kazakh"
+ },
+ "km": {
+ "name": "Keme, Etiti"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "ko": {
+ "name": "Koria"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "ky": {
+ "name": "Kyrgyz"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "Lao"
+ },
+ "lv": {
+ "name": "Latvian"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "lt": {
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mk": {
+ "name": "Macedonian"
+ },
+ "hu": {
+ "name": "Magịya"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "mg": {
+ "name": "Malagasy"
+ },
+ "ml": {
+ "name": "Malayalam"
+ },
+ "ms": {
+ "name": "Maleyi"
+ },
+ "mt": {
+ "name": "Maltese"
+ },
+ "zh": {
+ "name": "Mandarịịnị"
+ },
+ "zh-Hans": {
+ "name": "Mandarịịnị (Hans)"
+ },
+ "zh-Hant": {
+ "name": "Mandarịịnị (Hant)"
+ },
+ "gv": {
+ "name": "Manx"
+ },
+ "mr": {
+ "name": "Marathi"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "my": {
+ "name": "Mịanma"
+ },
+ "mn": {
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nds-NL": {
+ "name": "nds (NL)"
+ },
+ "ne": {
+ "name": "Nepali"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "nd": {
+ "name": "North Ndebele"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "se": {
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "or": {
+ "name": "Odia"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "os": {
+ "name": "Ossetic"
+ },
+ "en": {
+ "name": "Oyibo"
+ },
+ "en-AU": {
+ "name": "Oyibo (AU)"
+ },
+ "en-CA": {
+ "name": "Oyibo (CA)"
+ },
+ "en-GB": {
+ "name": "Oyibo (GB)"
+ },
+ "es": {
+ "name": "Panya"
+ },
+ "es-MX": {
+ "name": "Panya (MX)"
+ },
+ "ps": {
+ "name": "Pashto"
+ },
+ "fa": {
+ "name": "Peshan"
+ },
+ "pl": {
+ "name": "Poliishi"
+ },
+ "pt": {
+ "name": "Potoki"
+ },
+ "pt-PT": {
+ "name": "Potoki (PT)"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "pa": {
+ "name": "Punjabi"
+ },
+ "qu": {
+ "name": "Quechua"
+ },
+ "rm": {
+ "name": "Romansh"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "ru": {
+ "name": "Rọshan"
+ },
+ "ro": {
+ "name": "Rumenia"
+ },
+ "ro-MD": {
+ "name": "Rumenia (MD)"
+ },
+ "rn": {
+ "name": "Rundi"
+ },
+ "rw": {
+ "name": "Rụwanda"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "sah": {
+ "name": "Sakha"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "gd": {
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "sr": {
+ "name": "Serbian"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "si": {
+ "name": "Sinhala"
+ },
+ "sk": {
+ "name": "Slovak"
+ },
+ "sl": {
+ "name": "Slovenian"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "so": {
+ "name": "Somali"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sv": {
+ "name": "Sụwidiishi"
+ },
+ "sw-CD": {
+ "name": "sw (CD)"
+ },
+ "sw": {
+ "name": "Swahili"
+ },
+ "gsw": {
+ "name": "Swiss German"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "th": {
+ "name": "Taị"
+ },
+ "ta": {
+ "name": "Tamụlụ"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "te": {
+ "name": "Telugu"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "bo": {
+ "name": "Tibetan"
+ },
+ "ti": {
+ "name": "Tigrinya"
+ },
+ "to": {
+ "name": "Tongan"
+ },
+ "tr": {
+ "name": "Tọkiishi"
+ },
+ "tk": {
+ "name": "Turkmen"
+ },
+ "uk": {
+ "name": "Ukureenị"
+ },
+ "hsb": {
+ "name": "Upper Sorbian"
+ },
+ "ur": {
+ "name": "Urudu"
+ },
+ "ug": {
+ "name": "Uyghur"
+ },
+ "uz": {
+ "name": "Uzbek"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vi": {
+ "name": "Viyetịnaamụ"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "cy": {
+ "name": "Welsh"
+ },
+ "fy": {
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "yi": {
+ "name": "Yiddish"
+ },
+ "yo": {
+ "name": "Yoruba"
+ },
+ "dje": {
+ "name": "Zarma"
+ },
+ "zu": {
+ "name": "Zulu"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/is.json b/vendor/commerceguys/intl/resources/language/is.json
new file mode 100644
index 000000000..b9a041498
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/is.json
@@ -0,0 +1,635 @@
+{
+ "af": {
+ "name": "afríkanska"
+ },
+ "agq": {
+ "name": "aghem"
+ },
+ "ak": {
+ "name": "akan"
+ },
+ "sq": {
+ "name": "albanska"
+ },
+ "am": {
+ "name": "amharíska"
+ },
+ "ar": {
+ "name": "arabíska"
+ },
+ "hy": {
+ "name": "armenska"
+ },
+ "az": {
+ "name": "aserska"
+ },
+ "as": {
+ "name": "assamska"
+ },
+ "ast": {
+ "name": "astúríska"
+ },
+ "asa": {
+ "name": "asu"
+ },
+ "de-AT": {
+ "name": "austurrísk þýska"
+ },
+ "en-AU": {
+ "name": "áströlsk enska"
+ },
+ "ksf": {
+ "name": "bafía"
+ },
+ "bm": {
+ "name": "bambara"
+ },
+ "bas": {
+ "name": "basa"
+ },
+ "eu": {
+ "name": "baskneska"
+ },
+ "bem": {
+ "name": "bemba"
+ },
+ "bez": {
+ "name": "bena"
+ },
+ "bn": {
+ "name": "bengalska"
+ },
+ "bs": {
+ "name": "bosníska"
+ },
+ "brx": {
+ "name": "bódó"
+ },
+ "en-GB": {
+ "name": "bresk enska"
+ },
+ "br": {
+ "name": "bretónska"
+ },
+ "my": {
+ "name": "burmneska"
+ },
+ "bg": {
+ "name": "búlgarska"
+ },
+ "chr": {
+ "name": "Cherokee-mál"
+ },
+ "da": {
+ "name": "danska"
+ },
+ "dz": {
+ "name": "dsongka"
+ },
+ "dua": {
+ "name": "dúala"
+ },
+ "et": {
+ "name": "eistneska"
+ },
+ "ebu": {
+ "name": "embu"
+ },
+ "smn": {
+ "name": "enaresamíska"
+ },
+ "en": {
+ "name": "enska"
+ },
+ "eo": {
+ "name": "esperantó"
+ },
+ "ewo": {
+ "name": "evondó"
+ },
+ "pt-PT": {
+ "name": "evrópsk portúgalska"
+ },
+ "ee": {
+ "name": "ewe"
+ },
+ "fil": {
+ "name": "filippseyska"
+ },
+ "fi": {
+ "name": "finnska"
+ },
+ "nl-BE": {
+ "name": "flæmska"
+ },
+ "fr": {
+ "name": "franska"
+ },
+ "fur": {
+ "name": "fríúlska"
+ },
+ "ff": {
+ "name": "fúla"
+ },
+ "fo": {
+ "name": "færeyska"
+ },
+ "gl": {
+ "name": "galíanska"
+ },
+ "lg": {
+ "name": "ganda"
+ },
+ "ka": {
+ "name": "georgíska"
+ },
+ "el": {
+ "name": "gríska"
+ },
+ "kea": {
+ "name": "grænhöfðeyska"
+ },
+ "kl": {
+ "name": "grænlenska"
+ },
+ "guz": {
+ "name": "gusii"
+ },
+ "gu": {
+ "name": "gújaratí"
+ },
+ "haw": {
+ "name": "havaíska"
+ },
+ "ha": {
+ "name": "hása"
+ },
+ "hsb": {
+ "name": "hásorbneska"
+ },
+ "he": {
+ "name": "hebreska"
+ },
+ "hi": {
+ "name": "hindí"
+ },
+ "nl": {
+ "name": "hollenska"
+ },
+ "be": {
+ "name": "hvítrússneska"
+ },
+ "id": {
+ "name": "indónesíska"
+ },
+ "ig": {
+ "name": "ígbó"
+ },
+ "ga": {
+ "name": "írska"
+ },
+ "is": {
+ "name": "íslenska"
+ },
+ "it": {
+ "name": "ítalska"
+ },
+ "sah": {
+ "name": "jakút"
+ },
+ "ja": {
+ "name": "japanska"
+ },
+ "yi": {
+ "name": "jiddíska"
+ },
+ "dyo": {
+ "name": "jola-fonyi"
+ },
+ "yo": {
+ "name": "jórúba"
+ },
+ "kab": {
+ "name": "kabíle"
+ },
+ "kkj": {
+ "name": "kako"
+ },
+ "kln": {
+ "name": "kalenjin"
+ },
+ "kam": {
+ "name": "kamba"
+ },
+ "en-CA": {
+ "name": "kanadísk enska"
+ },
+ "fr-CA": {
+ "name": "kanadísk franska"
+ },
+ "kn": {
+ "name": "kannada"
+ },
+ "yue": {
+ "name": "kantoneska"
+ },
+ "kk": {
+ "name": "kasakska"
+ },
+ "ks": {
+ "name": "kasmírska"
+ },
+ "ca": {
+ "name": "katalónska"
+ },
+ "ky": {
+ "name": "kirgiska"
+ },
+ "cu": {
+ "name": "kirkjuslavneska"
+ },
+ "cgg": {
+ "name": "kíga"
+ },
+ "ki": {
+ "name": "kíkújú"
+ },
+ "rw": {
+ "name": "kínjarvanda"
+ },
+ "zh": {
+ "name": "kínverska"
+ },
+ "zh-Hans": {
+ "name": "kínverska (einfölduð)"
+ },
+ "zh-Hant": {
+ "name": "kínverska (hefðbundin)"
+ },
+ "km": {
+ "name": "kmer"
+ },
+ "ses": {
+ "name": "koíraboró-senní"
+ },
+ "sw-CD": {
+ "name": "Kongó-svahílí"
+ },
+ "kok": {
+ "name": "konkaní"
+ },
+ "kw": {
+ "name": "kornbreska"
+ },
+ "khq": {
+ "name": "koyra chiini"
+ },
+ "ko": {
+ "name": "kóreska"
+ },
+ "hr": {
+ "name": "króatíska"
+ },
+ "qu": {
+ "name": "kvesjúa"
+ },
+ "nmg": {
+ "name": "kwasio"
+ },
+ "ksh": {
+ "name": "kölníska"
+ },
+ "lkt": {
+ "name": "lakóta"
+ },
+ "lag": {
+ "name": "langí"
+ },
+ "lo": {
+ "name": "laó"
+ },
+ "nds-NL": {
+ "name": "lágsaxneska"
+ },
+ "dsb": {
+ "name": "lágsorbneska"
+ },
+ "nds": {
+ "name": "lágþýska; lágsaxneska"
+ },
+ "lv": {
+ "name": "lettneska"
+ },
+ "ln": {
+ "name": "lingala"
+ },
+ "lt": {
+ "name": "litháíska"
+ },
+ "luy": {
+ "name": "luyia"
+ },
+ "lu": {
+ "name": "lúbakatanga"
+ },
+ "luo": {
+ "name": "lúó"
+ },
+ "lb": {
+ "name": "lúxemborgíska"
+ },
+ "mk": {
+ "name": "makedónska"
+ },
+ "mgh": {
+ "name": "makhuwa-meetto"
+ },
+ "kde": {
+ "name": "makonde"
+ },
+ "mg": {
+ "name": "malagasíska"
+ },
+ "ms": {
+ "name": "malaíska"
+ },
+ "ml": {
+ "name": "malajalam"
+ },
+ "mt": {
+ "name": "maltneska"
+ },
+ "gv": {
+ "name": "manska"
+ },
+ "mr": {
+ "name": "maratí"
+ },
+ "mas": {
+ "name": "masaí"
+ },
+ "mzn": {
+ "name": "masanderaní"
+ },
+ "jmc": {
+ "name": "masjáme"
+ },
+ "mfe": {
+ "name": "máritíska"
+ },
+ "mer": {
+ "name": "merú"
+ },
+ "mgo": {
+ "name": "meta’"
+ },
+ "es-MX": {
+ "name": "mexíkósk spænska"
+ },
+ "ro-MD": {
+ "name": "moldóvska"
+ },
+ "mn": {
+ "name": "mongólska"
+ },
+ "mua": {
+ "name": "mundang"
+ },
+ "naq": {
+ "name": "nama"
+ },
+ "ne": {
+ "name": "nepalska"
+ },
+ "nnh": {
+ "name": "ngiemboon"
+ },
+ "jgo": {
+ "name": "ngomba"
+ },
+ "nd": {
+ "name": "norður-ndebele"
+ },
+ "lrc": {
+ "name": "norðurlúrí"
+ },
+ "se": {
+ "name": "norðursamíska"
+ },
+ "nb": {
+ "name": "norskt bókmál"
+ },
+ "nus": {
+ "name": "núer"
+ },
+ "nyn": {
+ "name": "nyankole"
+ },
+ "nn": {
+ "name": "nýnorska"
+ },
+ "om": {
+ "name": "oromo"
+ },
+ "os": {
+ "name": "ossetíska"
+ },
+ "or": {
+ "name": "óría"
+ },
+ "ps": {
+ "name": "pastú"
+ },
+ "fa": {
+ "name": "persneska"
+ },
+ "pt": {
+ "name": "portúgalska"
+ },
+ "pl": {
+ "name": "pólska"
+ },
+ "prg": {
+ "name": "prússneska"
+ },
+ "pa": {
+ "name": "púnjabí"
+ },
+ "rof": {
+ "name": "rombó"
+ },
+ "rm": {
+ "name": "rómanska"
+ },
+ "rwk": {
+ "name": "rúa"
+ },
+ "ro": {
+ "name": "rúmenska"
+ },
+ "rn": {
+ "name": "rúndí"
+ },
+ "ru": {
+ "name": "rússneska"
+ },
+ "saq": {
+ "name": "sambúrú"
+ },
+ "sg": {
+ "name": "sangó"
+ },
+ "sbp": {
+ "name": "sangú"
+ },
+ "seh": {
+ "name": "sena"
+ },
+ "sr": {
+ "name": "serbneska"
+ },
+ "sn": {
+ "name": "shona"
+ },
+ "si": {
+ "name": "singalíska"
+ },
+ "ii": {
+ "name": "sísúanjí"
+ },
+ "ksb": {
+ "name": "sjambala"
+ },
+ "gd": {
+ "name": "skosk gelíska"
+ },
+ "sk": {
+ "name": "slóvakíska"
+ },
+ "sl": {
+ "name": "slóvenska"
+ },
+ "ckb": {
+ "name": "sorani-kúrdíska"
+ },
+ "xog": {
+ "name": "sóga"
+ },
+ "so": {
+ "name": "sómalska"
+ },
+ "es": {
+ "name": "spænska"
+ },
+ "zgh": {
+ "name": "staðlað marokkóskt tamazight"
+ },
+ "zu": {
+ "name": "súlú"
+ },
+ "sw": {
+ "name": "svahílí"
+ },
+ "fr-CH": {
+ "name": "svissnesk franska"
+ },
+ "de-CH": {
+ "name": "svissnesk háþýska"
+ },
+ "gsw": {
+ "name": "svissnesk þýska"
+ },
+ "sv": {
+ "name": "sænska"
+ },
+ "shi": {
+ "name": "tachelhit"
+ },
+ "th": {
+ "name": "taílenska"
+ },
+ "dav": {
+ "name": "taíta"
+ },
+ "tzm": {
+ "name": "tamazight"
+ },
+ "ta": {
+ "name": "tamílska"
+ },
+ "twq": {
+ "name": "tasawaq"
+ },
+ "te": {
+ "name": "telúgú"
+ },
+ "teo": {
+ "name": "tesó"
+ },
+ "cs": {
+ "name": "tékkneska"
+ },
+ "bo": {
+ "name": "tíbeska"
+ },
+ "ti": {
+ "name": "tígrinja"
+ },
+ "to": {
+ "name": "tongverska"
+ },
+ "ce": {
+ "name": "tsjetsjenska"
+ },
+ "tk": {
+ "name": "túrkmenska"
+ },
+ "tr": {
+ "name": "tyrkneska"
+ },
+ "hu": {
+ "name": "ungverska"
+ },
+ "ug": {
+ "name": "úígúr"
+ },
+ "uk": {
+ "name": "úkraínska"
+ },
+ "ur": {
+ "name": "úrdú"
+ },
+ "uz": {
+ "name": "úsbekska"
+ },
+ "vai": {
+ "name": "vaí"
+ },
+ "wae": {
+ "name": "valser"
+ },
+ "cy": {
+ "name": "velska"
+ },
+ "fy": {
+ "name": "vesturfrísneska"
+ },
+ "vi": {
+ "name": "víetnamska"
+ },
+ "vo": {
+ "name": "volapyk"
+ },
+ "vun": {
+ "name": "vunjó"
+ },
+ "yav": {
+ "name": "yangben"
+ },
+ "dje": {
+ "name": "zarma"
+ },
+ "de": {
+ "name": "þýska"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/it.json b/vendor/commerceguys/intl/resources/language/it.json
new file mode 100644
index 000000000..9e4a62a42
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/it.json
@@ -0,0 +1,635 @@
+{
+ "af": {
+ "name": "afrikaans"
+ },
+ "agq": {
+ "name": "aghem"
+ },
+ "ak": {
+ "name": "akan"
+ },
+ "sq": {
+ "name": "albanese"
+ },
+ "hsb": {
+ "name": "alto sorabo"
+ },
+ "de-CH": {
+ "name": "alto tedesco svizzero"
+ },
+ "am": {
+ "name": "amarico"
+ },
+ "ar": {
+ "name": "arabo"
+ },
+ "hy": {
+ "name": "armeno"
+ },
+ "as": {
+ "name": "assamese"
+ },
+ "ast": {
+ "name": "asturiano"
+ },
+ "asa": {
+ "name": "asu"
+ },
+ "az": {
+ "name": "azerbaigiano"
+ },
+ "ksf": {
+ "name": "bafia"
+ },
+ "bm": {
+ "name": "bambara"
+ },
+ "bas": {
+ "name": "basa"
+ },
+ "eu": {
+ "name": "basco"
+ },
+ "dsb": {
+ "name": "basso sorabo"
+ },
+ "nds": {
+ "name": "basso tedesco"
+ },
+ "nds-NL": {
+ "name": "basso tedesco olandese"
+ },
+ "bez": {
+ "name": "bena"
+ },
+ "bn": {
+ "name": "bengalese"
+ },
+ "be": {
+ "name": "bielorusso"
+ },
+ "my": {
+ "name": "birmano"
+ },
+ "brx": {
+ "name": "bodo"
+ },
+ "bs": {
+ "name": "bosniaco"
+ },
+ "br": {
+ "name": "bretone"
+ },
+ "bg": {
+ "name": "bulgaro"
+ },
+ "kab": {
+ "name": "cabilo"
+ },
+ "yue": {
+ "name": "cantonese"
+ },
+ "kea": {
+ "name": "capoverdiano"
+ },
+ "ca": {
+ "name": "catalano"
+ },
+ "ce": {
+ "name": "ceceno"
+ },
+ "cs": {
+ "name": "ceco"
+ },
+ "chr": {
+ "name": "cherokee"
+ },
+ "cgg": {
+ "name": "chiga"
+ },
+ "ky": {
+ "name": "chirghiso"
+ },
+ "zh": {
+ "name": "cinese"
+ },
+ "zh-Hans": {
+ "name": "cinese semplificato"
+ },
+ "zh-Hant": {
+ "name": "cinese tradizionale"
+ },
+ "ksh": {
+ "name": "coloniese"
+ },
+ "ko": {
+ "name": "coreano"
+ },
+ "kw": {
+ "name": "cornico"
+ },
+ "mfe": {
+ "name": "creolo mauriziano"
+ },
+ "hr": {
+ "name": "croato"
+ },
+ "ckb": {
+ "name": "curdo sorani"
+ },
+ "da": {
+ "name": "danese"
+ },
+ "dua": {
+ "name": "duala"
+ },
+ "dz": {
+ "name": "dzongkha"
+ },
+ "he": {
+ "name": "ebraico"
+ },
+ "ebu": {
+ "name": "embu"
+ },
+ "eo": {
+ "name": "esperanto"
+ },
+ "et": {
+ "name": "estone"
+ },
+ "ee": {
+ "name": "ewe"
+ },
+ "ewo": {
+ "name": "ewondo"
+ },
+ "fo": {
+ "name": "faroese"
+ },
+ "nl-BE": {
+ "name": "fiammingo"
+ },
+ "fil": {
+ "name": "filippino"
+ },
+ "fi": {
+ "name": "finlandese"
+ },
+ "fr": {
+ "name": "francese"
+ },
+ "fr-CA": {
+ "name": "francese canadese"
+ },
+ "fr-CH": {
+ "name": "francese svizzero"
+ },
+ "fy": {
+ "name": "frisone occidentale"
+ },
+ "fur": {
+ "name": "friulano"
+ },
+ "ff": {
+ "name": "fulah"
+ },
+ "gd": {
+ "name": "gaelico scozzese"
+ },
+ "gl": {
+ "name": "galiziano"
+ },
+ "cy": {
+ "name": "gallese"
+ },
+ "lg": {
+ "name": "ganda"
+ },
+ "ka": {
+ "name": "georgiano"
+ },
+ "ja": {
+ "name": "giapponese"
+ },
+ "el": {
+ "name": "greco"
+ },
+ "kl": {
+ "name": "groenlandese"
+ },
+ "gu": {
+ "name": "gujarati"
+ },
+ "guz": {
+ "name": "gusii"
+ },
+ "ha": {
+ "name": "hausa"
+ },
+ "haw": {
+ "name": "hawaiano"
+ },
+ "hi": {
+ "name": "hindi"
+ },
+ "ig": {
+ "name": "igbo"
+ },
+ "id": {
+ "name": "indonesiano"
+ },
+ "en": {
+ "name": "inglese"
+ },
+ "en-AU": {
+ "name": "inglese australiano"
+ },
+ "en-GB": {
+ "name": "inglese britannico"
+ },
+ "en-CA": {
+ "name": "inglese canadese"
+ },
+ "ga": {
+ "name": "irlandese"
+ },
+ "is": {
+ "name": "islandese"
+ },
+ "it": {
+ "name": "italiano"
+ },
+ "dyo": {
+ "name": "jola-fony"
+ },
+ "kkj": {
+ "name": "kako"
+ },
+ "kln": {
+ "name": "kalenjin"
+ },
+ "kam": {
+ "name": "kamba"
+ },
+ "kn": {
+ "name": "kannada"
+ },
+ "ks": {
+ "name": "kashmiri"
+ },
+ "kk": {
+ "name": "kazako"
+ },
+ "km": {
+ "name": "khmer"
+ },
+ "ki": {
+ "name": "kikuyu"
+ },
+ "rw": {
+ "name": "kinyarwanda"
+ },
+ "kok": {
+ "name": "konkani"
+ },
+ "khq": {
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "name": "koyraboro senni"
+ },
+ "nmg": {
+ "name": "kwasio"
+ },
+ "lkt": {
+ "name": "lakota"
+ },
+ "lag": {
+ "name": "langi"
+ },
+ "lo": {
+ "name": "lao"
+ },
+ "lv": {
+ "name": "lettone"
+ },
+ "ln": {
+ "name": "lingala"
+ },
+ "lt": {
+ "name": "lituano"
+ },
+ "lu": {
+ "name": "luba-katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lrc": {
+ "name": "luri settentrionale"
+ },
+ "lb": {
+ "name": "lussemburghese"
+ },
+ "luy": {
+ "name": "luyia"
+ },
+ "mk": {
+ "name": "macedone"
+ },
+ "jmc": {
+ "name": "machame"
+ },
+ "mgh": {
+ "name": "makhuwa-meetto"
+ },
+ "kde": {
+ "name": "makonde"
+ },
+ "ml": {
+ "name": "malayalam"
+ },
+ "ms": {
+ "name": "malese"
+ },
+ "mg": {
+ "name": "malgascio"
+ },
+ "mt": {
+ "name": "maltese"
+ },
+ "gv": {
+ "name": "mannese"
+ },
+ "mr": {
+ "name": "marathi"
+ },
+ "mas": {
+ "name": "masai"
+ },
+ "mzn": {
+ "name": "mazandarani"
+ },
+ "mer": {
+ "name": "meru"
+ },
+ "mgo": {
+ "name": "meta’"
+ },
+ "ro-MD": {
+ "name": "moldavo"
+ },
+ "mn": {
+ "name": "mongolo"
+ },
+ "mua": {
+ "name": "mundang"
+ },
+ "naq": {
+ "name": "nama"
+ },
+ "nd": {
+ "name": "ndebele del nord"
+ },
+ "ne": {
+ "name": "nepalese"
+ },
+ "jgo": {
+ "name": "ngamambo"
+ },
+ "nnh": {
+ "name": "ngiemboon"
+ },
+ "nb": {
+ "name": "norvegese bokmål"
+ },
+ "nn": {
+ "name": "norvegese nynorsk"
+ },
+ "nus": {
+ "name": "nuer"
+ },
+ "nyn": {
+ "name": "nyankole"
+ },
+ "nl": {
+ "name": "olandese"
+ },
+ "or": {
+ "name": "oriya"
+ },
+ "om": {
+ "name": "oromo"
+ },
+ "os": {
+ "name": "ossetico"
+ },
+ "ps": {
+ "name": "pashto"
+ },
+ "fa": {
+ "name": "persiano"
+ },
+ "pl": {
+ "name": "polacco"
+ },
+ "pt": {
+ "name": "portoghese"
+ },
+ "pt-PT": {
+ "name": "portoghese europeo"
+ },
+ "prg": {
+ "name": "prussiano"
+ },
+ "pa": {
+ "name": "punjabi"
+ },
+ "qu": {
+ "name": "quechua"
+ },
+ "rm": {
+ "name": "romancio"
+ },
+ "rof": {
+ "name": "rombo"
+ },
+ "ro": {
+ "name": "rumeno"
+ },
+ "rn": {
+ "name": "rundi"
+ },
+ "ru": {
+ "name": "russo"
+ },
+ "rwk": {
+ "name": "rwa"
+ },
+ "saq": {
+ "name": "samburu"
+ },
+ "se": {
+ "name": "sami del nord"
+ },
+ "smn": {
+ "name": "sami di Inari"
+ },
+ "sg": {
+ "name": "sango"
+ },
+ "sbp": {
+ "name": "sangu"
+ },
+ "seh": {
+ "name": "sena"
+ },
+ "sr": {
+ "name": "serbo"
+ },
+ "ksb": {
+ "name": "shambala"
+ },
+ "sn": {
+ "name": "shona"
+ },
+ "ii": {
+ "name": "sichuan yi"
+ },
+ "si": {
+ "name": "singalese"
+ },
+ "cu": {
+ "name": "slavo della Chiesa"
+ },
+ "sk": {
+ "name": "slovacco"
+ },
+ "sl": {
+ "name": "sloveno"
+ },
+ "xog": {
+ "name": "soga"
+ },
+ "so": {
+ "name": "somalo"
+ },
+ "es": {
+ "name": "spagnolo"
+ },
+ "es-MX": {
+ "name": "spagnolo messicano"
+ },
+ "sv": {
+ "name": "svedese"
+ },
+ "sw": {
+ "name": "swahili"
+ },
+ "sw-CD": {
+ "name": "swahili del Congo"
+ },
+ "dav": {
+ "name": "taita"
+ },
+ "tzm": {
+ "name": "tamazight"
+ },
+ "zgh": {
+ "name": "tamazight del Marocco standard"
+ },
+ "ta": {
+ "name": "tamil"
+ },
+ "twq": {
+ "name": "tasawaq"
+ },
+ "shi": {
+ "name": "tashelhit"
+ },
+ "de": {
+ "name": "tedesco"
+ },
+ "de-AT": {
+ "name": "tedesco austriaco"
+ },
+ "gsw": {
+ "name": "tedesco svizzero"
+ },
+ "te": {
+ "name": "telugu"
+ },
+ "teo": {
+ "name": "teso"
+ },
+ "th": {
+ "name": "thai"
+ },
+ "bo": {
+ "name": "tibetano"
+ },
+ "ti": {
+ "name": "tigrino"
+ },
+ "to": {
+ "name": "tongano"
+ },
+ "tr": {
+ "name": "turco"
+ },
+ "tk": {
+ "name": "turcomanno"
+ },
+ "uk": {
+ "name": "ucraino"
+ },
+ "ug": {
+ "name": "uiguro"
+ },
+ "hu": {
+ "name": "ungherese"
+ },
+ "ur": {
+ "name": "urdu"
+ },
+ "uz": {
+ "name": "usbeco"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vi": {
+ "name": "vietnamita"
+ },
+ "vo": {
+ "name": "volapük"
+ },
+ "vun": {
+ "name": "vunjo"
+ },
+ "wae": {
+ "name": "walser"
+ },
+ "bem": {
+ "name": "wemba"
+ },
+ "sah": {
+ "name": "yakut"
+ },
+ "yav": {
+ "name": "yangben"
+ },
+ "yi": {
+ "name": "yiddish"
+ },
+ "yo": {
+ "name": "yoruba"
+ },
+ "dje": {
+ "name": "zarma"
+ },
+ "zu": {
+ "name": "zulu"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/ja.json b/vendor/commerceguys/intl/resources/language/ja.json
new file mode 100644
index 000000000..49f9b8e52
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/ja.json
@@ -0,0 +1,635 @@
+{
+ "is": {
+ "name": "アイスランド語"
+ },
+ "ga": {
+ "name": "アイルランド語"
+ },
+ "ak": {
+ "name": "アカン語"
+ },
+ "agq": {
+ "name": "アゲム語"
+ },
+ "ast": {
+ "name": "アストゥリアス語"
+ },
+ "asa": {
+ "name": "アス語"
+ },
+ "az": {
+ "name": "アゼルバイジャン語"
+ },
+ "as": {
+ "name": "アッサム語"
+ },
+ "af": {
+ "name": "アフリカーンス語"
+ },
+ "am": {
+ "name": "アムハラ語"
+ },
+ "ar": {
+ "name": "アラビア語"
+ },
+ "sq": {
+ "name": "アルバニア語"
+ },
+ "hy": {
+ "name": "アルメニア語"
+ },
+ "en-GB": {
+ "name": "イギリス英語"
+ },
+ "it": {
+ "name": "イタリア語"
+ },
+ "yi": {
+ "name": "イディッシュ語"
+ },
+ "smn": {
+ "name": "イナリ・サーミ語"
+ },
+ "ig": {
+ "name": "イボ語"
+ },
+ "id": {
+ "name": "インドネシア語"
+ },
+ "vai": {
+ "name": "ヴァイ語"
+ },
+ "wae": {
+ "name": "ヴァリス語"
+ },
+ "ug": {
+ "name": "ウイグル語"
+ },
+ "cy": {
+ "name": "ウェールズ語"
+ },
+ "vo": {
+ "name": "ヴォラピュク語"
+ },
+ "uk": {
+ "name": "ウクライナ語"
+ },
+ "uz": {
+ "name": "ウズベク語"
+ },
+ "ur": {
+ "name": "ウルドゥー語"
+ },
+ "vun": {
+ "name": "ヴンジョ語"
+ },
+ "ee": {
+ "name": "エウェ語"
+ },
+ "ewo": {
+ "name": "エウォンド語"
+ },
+ "et": {
+ "name": "エストニア語"
+ },
+ "eo": {
+ "name": "エスペラント語"
+ },
+ "ebu": {
+ "name": "エンブ語"
+ },
+ "en-AU": {
+ "name": "オーストラリア英語"
+ },
+ "os": {
+ "name": "オセット語"
+ },
+ "nl": {
+ "name": "オランダ語"
+ },
+ "or": {
+ "name": "オリヤー語"
+ },
+ "om": {
+ "name": "オロモ語"
+ },
+ "kea": {
+ "name": "カーボベルデ・クレオール語"
+ },
+ "kkj": {
+ "name": "カコ語"
+ },
+ "kk": {
+ "name": "カザフ語"
+ },
+ "ks": {
+ "name": "カシミール語"
+ },
+ "ca": {
+ "name": "カタロニア語"
+ },
+ "en-CA": {
+ "name": "カナダ英語"
+ },
+ "kab": {
+ "name": "カビル語"
+ },
+ "gl": {
+ "name": "ガリシア語"
+ },
+ "kln": {
+ "name": "カレンジン語"
+ },
+ "lg": {
+ "name": "ガンダ語"
+ },
+ "kn": {
+ "name": "カンナダ語"
+ },
+ "kam": {
+ "name": "カンバ語"
+ },
+ "ki": {
+ "name": "キクユ語"
+ },
+ "rw": {
+ "name": "キニアルワンダ語"
+ },
+ "el": {
+ "name": "ギリシャ語"
+ },
+ "ky": {
+ "name": "キルギス語"
+ },
+ "guz": {
+ "name": "グシイ語"
+ },
+ "gu": {
+ "name": "グジャラート語"
+ },
+ "km": {
+ "name": "クメール語"
+ },
+ "kl": {
+ "name": "グリーンランド語"
+ },
+ "ckb": {
+ "name": "クルド語(ソラニー)"
+ },
+ "hr": {
+ "name": "クロアチア語"
+ },
+ "nmg": {
+ "name": "クワシオ語"
+ },
+ "qu": {
+ "name": "ケチュア語"
+ },
+ "ksh": {
+ "name": "ケルン語"
+ },
+ "khq": {
+ "name": "コイラ・チーニ語"
+ },
+ "ses": {
+ "name": "コイラボロ・センニ語"
+ },
+ "kw": {
+ "name": "コーンウォール語"
+ },
+ "kok": {
+ "name": "コンカニ語"
+ },
+ "sw-CD": {
+ "name": "コンゴ・スワヒリ語"
+ },
+ "sah": {
+ "name": "サハ語"
+ },
+ "dje": {
+ "name": "ザルマ語"
+ },
+ "sbp": {
+ "name": "サング語"
+ },
+ "sg": {
+ "name": "サンゴ語"
+ },
+ "ksb": {
+ "name": "サンバー語"
+ },
+ "saq": {
+ "name": "サンブル語"
+ },
+ "ka": {
+ "name": "ジョージア語"
+ },
+ "sn": {
+ "name": "ショナ語"
+ },
+ "dyo": {
+ "name": "ジョラ=フォニィ語"
+ },
+ "si": {
+ "name": "シンハラ語"
+ },
+ "gsw": {
+ "name": "スイスドイツ語"
+ },
+ "sv": {
+ "name": "スウェーデン語"
+ },
+ "zu": {
+ "name": "ズールー語"
+ },
+ "gd": {
+ "name": "スコットランド・ゲール語"
+ },
+ "es": {
+ "name": "スペイン語"
+ },
+ "es-MX": {
+ "name": "スペイン語 (メキシコ)"
+ },
+ "sk": {
+ "name": "スロバキア語"
+ },
+ "sl": {
+ "name": "スロベニア語"
+ },
+ "sw": {
+ "name": "スワヒリ語"
+ },
+ "seh": {
+ "name": "セナ語"
+ },
+ "sr": {
+ "name": "セルビア語"
+ },
+ "xog": {
+ "name": "ソガ語"
+ },
+ "so": {
+ "name": "ソマリ語"
+ },
+ "dz": {
+ "name": "ゾンカ語"
+ },
+ "dav": {
+ "name": "タイタ語"
+ },
+ "th": {
+ "name": "タイ語"
+ },
+ "twq": {
+ "name": "タサワク語"
+ },
+ "shi": {
+ "name": "タシルハイト語"
+ },
+ "ta": {
+ "name": "タミル語"
+ },
+ "cs": {
+ "name": "チェコ語"
+ },
+ "ce": {
+ "name": "チェチェン語"
+ },
+ "chr": {
+ "name": "チェロキー語"
+ },
+ "cgg": {
+ "name": "チガ語"
+ },
+ "bo": {
+ "name": "チベット語"
+ },
+ "ti": {
+ "name": "ティグリニア語"
+ },
+ "teo": {
+ "name": "テソ語"
+ },
+ "te": {
+ "name": "テルグ語"
+ },
+ "da": {
+ "name": "デンマーク語"
+ },
+ "de": {
+ "name": "ドイツ語"
+ },
+ "de-AT": {
+ "name": "ドイツ語 (オーストリア)"
+ },
+ "dua": {
+ "name": "ドゥアラ語"
+ },
+ "tk": {
+ "name": "トルクメン語"
+ },
+ "tr": {
+ "name": "トルコ語"
+ },
+ "to": {
+ "name": "トンガ語"
+ },
+ "naq": {
+ "name": "ナマ語"
+ },
+ "nyn": {
+ "name": "ニャンコレ語"
+ },
+ "nus": {
+ "name": "ヌエル語"
+ },
+ "ne": {
+ "name": "ネパール語"
+ },
+ "nn": {
+ "name": "ノルウェー語(ニーノシュク)"
+ },
+ "nb": {
+ "name": "ノルウェー語(ブークモール)"
+ },
+ "ha": {
+ "name": "ハウサ語"
+ },
+ "bas": {
+ "name": "バサ語"
+ },
+ "ps": {
+ "name": "パシュトゥー語"
+ },
+ "eu": {
+ "name": "バスク語"
+ },
+ "ksf": {
+ "name": "バフィア語"
+ },
+ "haw": {
+ "name": "ハワイ語"
+ },
+ "hu": {
+ "name": "ハンガリー語"
+ },
+ "pa": {
+ "name": "パンジャブ語"
+ },
+ "bm": {
+ "name": "バンバラ語"
+ },
+ "hi": {
+ "name": "ヒンディー語"
+ },
+ "fil": {
+ "name": "フィリピノ語"
+ },
+ "fi": {
+ "name": "フィンランド語"
+ },
+ "fo": {
+ "name": "フェロー語"
+ },
+ "fr": {
+ "name": "フランス語"
+ },
+ "fr-CA": {
+ "name": "フランス語 (カナダ)"
+ },
+ "fr-CH": {
+ "name": "フランス語 (スイス)"
+ },
+ "ff": {
+ "name": "フラ語"
+ },
+ "fur": {
+ "name": "フリウリ語"
+ },
+ "bg": {
+ "name": "ブルガリア語"
+ },
+ "br": {
+ "name": "ブルトン語"
+ },
+ "nl-BE": {
+ "name": "フレミッシュ語"
+ },
+ "prg": {
+ "name": "プロシア語"
+ },
+ "vi": {
+ "name": "ベトナム語"
+ },
+ "bez": {
+ "name": "ベナ語"
+ },
+ "he": {
+ "name": "ヘブライ語"
+ },
+ "be": {
+ "name": "ベラルーシ語"
+ },
+ "fa": {
+ "name": "ペルシア語"
+ },
+ "bn": {
+ "name": "ベンガル語"
+ },
+ "bem": {
+ "name": "ベンバ語"
+ },
+ "pl": {
+ "name": "ポーランド語"
+ },
+ "bs": {
+ "name": "ボスニア語"
+ },
+ "brx": {
+ "name": "ボド語"
+ },
+ "pt": {
+ "name": "ポルトガル語"
+ },
+ "pt-PT": {
+ "name": "ポルトガル語 (イベリア半島)"
+ },
+ "mzn": {
+ "name": "マーザンダラーン語"
+ },
+ "mgh": {
+ "name": "マクア・ミート語"
+ },
+ "mk": {
+ "name": "マケドニア語"
+ },
+ "kde": {
+ "name": "マコンデ語"
+ },
+ "mas": {
+ "name": "マサイ語"
+ },
+ "mg": {
+ "name": "マダガスカル語"
+ },
+ "jmc": {
+ "name": "マチャメ語"
+ },
+ "mr": {
+ "name": "マラーティー語"
+ },
+ "ml": {
+ "name": "マラヤーラム語"
+ },
+ "mt": {
+ "name": "マルタ語"
+ },
+ "ms": {
+ "name": "マレー語"
+ },
+ "gv": {
+ "name": "マン島語"
+ },
+ "my": {
+ "name": "ミャンマー語"
+ },
+ "mua": {
+ "name": "ムンダン語"
+ },
+ "mgo": {
+ "name": "メタ語"
+ },
+ "mer": {
+ "name": "メル語"
+ },
+ "mfe": {
+ "name": "モーリシャス・クレオール語"
+ },
+ "ro-MD": {
+ "name": "モルダビア語"
+ },
+ "mn": {
+ "name": "モンゴル語"
+ },
+ "yav": {
+ "name": "ヤンベン語"
+ },
+ "yo": {
+ "name": "ヨルバ語"
+ },
+ "lo": {
+ "name": "ラオ語"
+ },
+ "lkt": {
+ "name": "ラコタ語"
+ },
+ "lv": {
+ "name": "ラトビア語"
+ },
+ "lag": {
+ "name": "ランギ語"
+ },
+ "lt": {
+ "name": "リトアニア語"
+ },
+ "ln": {
+ "name": "リンガラ語"
+ },
+ "ro": {
+ "name": "ルーマニア語"
+ },
+ "luo": {
+ "name": "ルオ語"
+ },
+ "lb": {
+ "name": "ルクセンブルク語"
+ },
+ "lu": {
+ "name": "ルバ・カタンガ語"
+ },
+ "luy": {
+ "name": "ルヒヤ語"
+ },
+ "rwk": {
+ "name": "ルワ語"
+ },
+ "rn": {
+ "name": "ルンディ語"
+ },
+ "ru": {
+ "name": "ロシア語"
+ },
+ "rm": {
+ "name": "ロマンシュ語"
+ },
+ "rof": {
+ "name": "ロンボ語"
+ },
+ "jgo": {
+ "name": "ンゴンバ語"
+ },
+ "nnh": {
+ "name": "ンジエムブーン語"
+ },
+ "en": {
+ "name": "英語"
+ },
+ "zh-Hans": {
+ "name": "簡体中国語"
+ },
+ "ko": {
+ "name": "韓国語"
+ },
+ "cu": {
+ "name": "教会スラブ語"
+ },
+ "yue": {
+ "name": "広東語"
+ },
+ "hsb": {
+ "name": "高地ソルブ語"
+ },
+ "ii": {
+ "name": "四川イ語"
+ },
+ "fy": {
+ "name": "西フリジア語"
+ },
+ "tzm": {
+ "name": "中央アトラス・タマジクト語"
+ },
+ "zh": {
+ "name": "中国語"
+ },
+ "dsb": {
+ "name": "低地ソルブ語"
+ },
+ "nds": {
+ "name": "低地ドイツ語"
+ },
+ "nds-NL": {
+ "name": "低地ドイツ語 (オランダ)"
+ },
+ "ja": {
+ "name": "日本語"
+ },
+ "zh-Hant": {
+ "name": "繁体中国語"
+ },
+ "de-CH": {
+ "name": "標準ドイツ語 (スイス)"
+ },
+ "zgh": {
+ "name": "標準モロッコ タマジクト語"
+ },
+ "se": {
+ "name": "北サーミ語"
+ },
+ "lrc": {
+ "name": "北ロル語"
+ },
+ "nd": {
+ "name": "北ンデベレ語"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/jmc.json b/vendor/commerceguys/intl/resources/language/jmc.json
new file mode 100644
index 000000000..4ae066d81
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/jmc.json
@@ -0,0 +1,632 @@
+{
+ "af": {
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "sq": {
+ "name": "Albanian"
+ },
+ "hy": {
+ "name": "Armenian"
+ },
+ "as": {
+ "name": "Assamese"
+ },
+ "ast": {
+ "name": "Asturian"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "az": {
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "eu": {
+ "name": "Basque"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "bs": {
+ "name": "Bosnian"
+ },
+ "br": {
+ "name": "Breton"
+ },
+ "yue": {
+ "name": "Cantonese"
+ },
+ "ca": {
+ "name": "Catalan"
+ },
+ "tzm": {
+ "name": "Central Atlas Tamazight"
+ },
+ "ckb": {
+ "name": "Central Kurdish"
+ },
+ "ce": {
+ "name": "Chechen"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "cu": {
+ "name": "Church Slavic"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "kw": {
+ "name": "Cornish"
+ },
+ "hr": {
+ "name": "Croatian"
+ },
+ "da": {
+ "name": "Danish"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "dz": {
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "eo": {
+ "name": "Esperanto"
+ },
+ "et": {
+ "name": "Estonian"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fo": {
+ "name": "Faroese"
+ },
+ "fil": {
+ "name": "Filipino"
+ },
+ "fi": {
+ "name": "Finnish"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "gl": {
+ "name": "Galician"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "ka": {
+ "name": "Georgian"
+ },
+ "gu": {
+ "name": "Gujarati"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "haw": {
+ "name": "Hawaiian"
+ },
+ "he": {
+ "name": "Hebrew"
+ },
+ "is": {
+ "name": "Icelandic"
+ },
+ "smn": {
+ "name": "Inari Sami"
+ },
+ "ga": {
+ "name": "Irish"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabyle"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kl": {
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "kn": {
+ "name": "Kannada"
+ },
+ "ks": {
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "name": "Kazakh"
+ },
+ "ak": {
+ "name": "Kiakanyi"
+ },
+ "am": {
+ "name": "Kiamharyi"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "jmc": {
+ "name": "Kimachame"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "fa": {
+ "name": "Kyiajemi"
+ },
+ "ar": {
+ "name": "Kyiarabu"
+ },
+ "bn": {
+ "name": "Kyibangla"
+ },
+ "be": {
+ "name": "Kyibelarusi"
+ },
+ "bg": {
+ "name": "Kyibulgaryia"
+ },
+ "my": {
+ "name": "Kyiburma"
+ },
+ "cs": {
+ "name": "Kyichecki"
+ },
+ "zh": {
+ "name": "Kyichina"
+ },
+ "zh-Hans": {
+ "name": "Kyichina (Hans)"
+ },
+ "zh-Hant": {
+ "name": "Kyichina (Hant)"
+ },
+ "fr": {
+ "name": "Kyifaransa"
+ },
+ "fr-CA": {
+ "name": "Kyifaransa (Kanada)"
+ },
+ "fr-CH": {
+ "name": "Kyifaransa (Uswisi)"
+ },
+ "el": {
+ "name": "Kyigiriki"
+ },
+ "ha": {
+ "name": "Kyihausa"
+ },
+ "hi": {
+ "name": "Kyihindi"
+ },
+ "es": {
+ "name": "Kyihispania"
+ },
+ "es-MX": {
+ "name": "Kyihispania (Meksiko)"
+ },
+ "nl": {
+ "name": "Kyiholanzi"
+ },
+ "nl-BE": {
+ "name": "Kyiholanzi (Ubelgiji)"
+ },
+ "hu": {
+ "name": "Kyihungari"
+ },
+ "ig": {
+ "name": "Kyiigbo"
+ },
+ "id": {
+ "name": "Kyiindonesia"
+ },
+ "it": {
+ "name": "Kyiitaliano"
+ },
+ "ja": {
+ "name": "Kyijapani"
+ },
+ "de": {
+ "name": "Kyijerumani"
+ },
+ "de-AT": {
+ "name": "Kyijerumani (Austria)"
+ },
+ "de-CH": {
+ "name": "Kyijerumani (Uswisi)"
+ },
+ "km": {
+ "name": "Kyikambodia"
+ },
+ "ko": {
+ "name": "Kyikorea"
+ },
+ "ms": {
+ "name": "Kyimalesia"
+ },
+ "ne": {
+ "name": "Kyinepali"
+ },
+ "en": {
+ "name": "Kyingereza"
+ },
+ "en-AU": {
+ "name": "Kyingereza (Australia)"
+ },
+ "en-CA": {
+ "name": "Kyingereza (Kanada)"
+ },
+ "en-GB": {
+ "name": "Kyingereza (Uingereza)"
+ },
+ "rw": {
+ "name": "Kyinyarwanda"
+ },
+ "pl": {
+ "name": "Kyipolandi"
+ },
+ "pa": {
+ "name": "Kyipunjabi"
+ },
+ "pt": {
+ "name": "Kyireno"
+ },
+ "pt-PT": {
+ "name": "Kyireno (Ureno)"
+ },
+ "ro": {
+ "name": "Kyiromania"
+ },
+ "ro-MD": {
+ "name": "Kyiromania (Moldova)"
+ },
+ "ru": {
+ "name": "Kyirusi"
+ },
+ "so": {
+ "name": "Kyisomalyi"
+ },
+ "sv": {
+ "name": "Kyiswidi"
+ },
+ "th": {
+ "name": "Kyitailandi"
+ },
+ "ta": {
+ "name": "Kyitamil"
+ },
+ "tr": {
+ "name": "Kyiturukyi"
+ },
+ "uk": {
+ "name": "Kyiukrania"
+ },
+ "ur": {
+ "name": "Kyiurdu"
+ },
+ "vi": {
+ "name": "Kyivietinamu"
+ },
+ "yo": {
+ "name": "Kyiyoruba"
+ },
+ "zu": {
+ "name": "Kyizulu"
+ },
+ "ky": {
+ "name": "Kyrgyz"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "Lao"
+ },
+ "lv": {
+ "name": "Latvian"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "lt": {
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "mk": {
+ "name": "Macedonian"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "mg": {
+ "name": "Malagasy"
+ },
+ "ml": {
+ "name": "Malayalam"
+ },
+ "mt": {
+ "name": "Maltese"
+ },
+ "gv": {
+ "name": "Manx"
+ },
+ "mr": {
+ "name": "Marathi"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "mn": {
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nds-NL": {
+ "name": "nds (Uholanzi)"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "nd": {
+ "name": "North Ndebele"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "se": {
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "or": {
+ "name": "Odia"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "os": {
+ "name": "Ossetic"
+ },
+ "ps": {
+ "name": "Pashto"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "qu": {
+ "name": "Quechua"
+ },
+ "rm": {
+ "name": "Romansh"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "rn": {
+ "name": "Rundi"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "sah": {
+ "name": "Sakha"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "gd": {
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "sr": {
+ "name": "Serbian"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "si": {
+ "name": "Sinhala"
+ },
+ "sk": {
+ "name": "Slovak"
+ },
+ "sl": {
+ "name": "Slovenian"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw-CD": {
+ "name": "sw (Jamhuri ya Kidemokrasia ya Kongo)"
+ },
+ "sw": {
+ "name": "Swahili"
+ },
+ "gsw": {
+ "name": "Swiss German"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "te": {
+ "name": "Telugu"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "bo": {
+ "name": "Tibetan"
+ },
+ "ti": {
+ "name": "Tigrinya"
+ },
+ "to": {
+ "name": "Tongan"
+ },
+ "tk": {
+ "name": "Turkmen"
+ },
+ "hsb": {
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "name": "Uyghur"
+ },
+ "uz": {
+ "name": "Uzbek"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "cy": {
+ "name": "Welsh"
+ },
+ "fy": {
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "yi": {
+ "name": "Yiddish"
+ },
+ "dje": {
+ "name": "Zarma"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/ka.json b/vendor/commerceguys/intl/resources/language/ka.json
new file mode 100644
index 000000000..ff98d2269
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/ka.json
@@ -0,0 +1,635 @@
+{
+ "en-AU": {
+ "name": "ავსტრალიური ინგლისური"
+ },
+ "de-AT": {
+ "name": "ავსტრიული გერმანული"
+ },
+ "az": {
+ "name": "აზერბაიჯანული"
+ },
+ "ak": {
+ "name": "აკანი"
+ },
+ "sq": {
+ "name": "ალბანური"
+ },
+ "am": {
+ "name": "ამჰარული"
+ },
+ "ar": {
+ "name": "არაბული"
+ },
+ "as": {
+ "name": "ასამური"
+ },
+ "ast": {
+ "name": "ასტურიული"
+ },
+ "asa": {
+ "name": "ასუ"
+ },
+ "af": {
+ "name": "აფრიკაანსი"
+ },
+ "agq": {
+ "name": "აღემი"
+ },
+ "bm": {
+ "name": "ბამბარა"
+ },
+ "bas": {
+ "name": "ბასა"
+ },
+ "eu": {
+ "name": "ბასკური"
+ },
+ "ksf": {
+ "name": "ბაფია"
+ },
+ "be": {
+ "name": "ბელორუსული"
+ },
+ "bem": {
+ "name": "ბემბა"
+ },
+ "bez": {
+ "name": "ბენა"
+ },
+ "bn": {
+ "name": "ბენგალური"
+ },
+ "el": {
+ "name": "ბერძნული"
+ },
+ "my": {
+ "name": "ბირმული"
+ },
+ "brx": {
+ "name": "ბოდო"
+ },
+ "bs": {
+ "name": "ბოსნიური"
+ },
+ "br": {
+ "name": "ბრეტონული"
+ },
+ "en-GB": {
+ "name": "ბრიტანული ინგლისური"
+ },
+ "bg": {
+ "name": "ბულგარული"
+ },
+ "gl": {
+ "name": "გალისიური"
+ },
+ "zh-Hans": {
+ "name": "გამარტივებული ჩინური"
+ },
+ "lg": {
+ "name": "განდა"
+ },
+ "de": {
+ "name": "გერმანული"
+ },
+ "guz": {
+ "name": "გუსიი"
+ },
+ "gu": {
+ "name": "გუჯარათი"
+ },
+ "da": {
+ "name": "დანიური"
+ },
+ "kl": {
+ "name": "დასავლეთ გრენლანდიური"
+ },
+ "fy": {
+ "name": "დასავლეთფრიზიული"
+ },
+ "dyo": {
+ "name": "დიოლა"
+ },
+ "dua": {
+ "name": "დუალა"
+ },
+ "he": {
+ "name": "ებრაული"
+ },
+ "ee": {
+ "name": "ევე"
+ },
+ "ewo": {
+ "name": "ევონდო"
+ },
+ "pt-PT": {
+ "name": "ევროპული პორტუგალიური"
+ },
+ "ebu": {
+ "name": "ემბუ"
+ },
+ "es": {
+ "name": "ესპანური"
+ },
+ "eo": {
+ "name": "ესპერანტო"
+ },
+ "et": {
+ "name": "ესტონური"
+ },
+ "vai": {
+ "name": "ვაი"
+ },
+ "wae": {
+ "name": "ვალსერი"
+ },
+ "vi": {
+ "name": "ვიეტნამური"
+ },
+ "vo": {
+ "name": "ვოლაპუკი"
+ },
+ "vun": {
+ "name": "ვუნჯო"
+ },
+ "dje": {
+ "name": "ზარმა"
+ },
+ "hsb": {
+ "name": "ზემოსორბული"
+ },
+ "zu": {
+ "name": "ზულუ"
+ },
+ "tk": {
+ "name": "თურქმენული"
+ },
+ "tr": {
+ "name": "თურქული"
+ },
+ "sah": {
+ "name": "იაკუტური"
+ },
+ "yav": {
+ "name": "იანგბენი"
+ },
+ "ja": {
+ "name": "იაპონური"
+ },
+ "ig": {
+ "name": "იგბო"
+ },
+ "yi": {
+ "name": "იდიში"
+ },
+ "smn": {
+ "name": "ინარი-საამური"
+ },
+ "en": {
+ "name": "ინგლისური"
+ },
+ "id": {
+ "name": "ინდონეზიური"
+ },
+ "yo": {
+ "name": "იორუბა"
+ },
+ "ga": {
+ "name": "ირლანდიური"
+ },
+ "is": {
+ "name": "ისლანდიური"
+ },
+ "it": {
+ "name": "იტალიური"
+ },
+ "kab": {
+ "name": "კაბილური"
+ },
+ "kea": {
+ "name": "კაბუვერდიანუ"
+ },
+ "kkj": {
+ "name": "კაკო"
+ },
+ "kln": {
+ "name": "კალენჯინი"
+ },
+ "kam": {
+ "name": "კამბა"
+ },
+ "kn": {
+ "name": "კანადა"
+ },
+ "en-CA": {
+ "name": "კანადური ინგლისური"
+ },
+ "fr-CA": {
+ "name": "კანადური ფრანგული"
+ },
+ "yue": {
+ "name": "კანტონური"
+ },
+ "ca": {
+ "name": "კატალანური"
+ },
+ "qu": {
+ "name": "კეჩუა"
+ },
+ "nmg": {
+ "name": "კვასიო"
+ },
+ "ki": {
+ "name": "კიკუიუ"
+ },
+ "jmc": {
+ "name": "კიმაშამი"
+ },
+ "rw": {
+ "name": "კინიარუანდა"
+ },
+ "ksh": {
+ "name": "კიოლში"
+ },
+ "khq": {
+ "name": "კოირა-ჩიინი"
+ },
+ "ses": {
+ "name": "კოირაბორო-სენი"
+ },
+ "sw-CD": {
+ "name": "კონგოს სუაჰილი"
+ },
+ "kok": {
+ "name": "კონკანი"
+ },
+ "ko": {
+ "name": "კორეული"
+ },
+ "kw": {
+ "name": "კორნული"
+ },
+ "lkt": {
+ "name": "ლაკოტა"
+ },
+ "lag": {
+ "name": "ლანგი"
+ },
+ "lo": {
+ "name": "ლაოსური"
+ },
+ "lv": {
+ "name": "ლატვიური"
+ },
+ "ln": {
+ "name": "ლინგალა"
+ },
+ "lt": {
+ "name": "ლიტვური"
+ },
+ "lu": {
+ "name": "ლუბა-კატანგა"
+ },
+ "luo": {
+ "name": "ლუო"
+ },
+ "lb": {
+ "name": "ლუქსემბურგული"
+ },
+ "luy": {
+ "name": "ლუჰია"
+ },
+ "mzn": {
+ "name": "მაზანდერანული"
+ },
+ "mk": {
+ "name": "მაკედონური"
+ },
+ "kde": {
+ "name": "მაკონდე"
+ },
+ "mg": {
+ "name": "მალაგასიური"
+ },
+ "ml": {
+ "name": "მალაიალამური"
+ },
+ "ms": {
+ "name": "მალაიური"
+ },
+ "mt": {
+ "name": "მალტური"
+ },
+ "mr": {
+ "name": "მარათჰი"
+ },
+ "mas": {
+ "name": "მასაი"
+ },
+ "mgh": {
+ "name": "მაქუვა-მეეტო"
+ },
+ "gv": {
+ "name": "მენური"
+ },
+ "mer": {
+ "name": "მერუ"
+ },
+ "mgo": {
+ "name": "მეტა-ენა"
+ },
+ "es-MX": {
+ "name": "მექსიკური ესპანური"
+ },
+ "ro-MD": {
+ "name": "მოლდავური"
+ },
+ "mn": {
+ "name": "მონღოლური"
+ },
+ "mfe": {
+ "name": "მორისიენი"
+ },
+ "mua": {
+ "name": "მუნდანგი"
+ },
+ "naq": {
+ "name": "ნამა"
+ },
+ "nnh": {
+ "name": "ნგიმბუნი"
+ },
+ "jgo": {
+ "name": "ნგომბა"
+ },
+ "ne": {
+ "name": "ნეპალური"
+ },
+ "nyn": {
+ "name": "ნიანკოლე"
+ },
+ "nl": {
+ "name": "ნიდერლანდური"
+ },
+ "nb": {
+ "name": "ნორვეგიული ბუკმოლი"
+ },
+ "nn": {
+ "name": "ნორვეგიული ნიუნორსკი"
+ },
+ "nus": {
+ "name": "ნუერი"
+ },
+ "or": {
+ "name": "ორია"
+ },
+ "om": {
+ "name": "ორომო"
+ },
+ "os": {
+ "name": "ოსური"
+ },
+ "pa": {
+ "name": "პენჯაბური"
+ },
+ "pl": {
+ "name": "პოლონური"
+ },
+ "pt": {
+ "name": "პორტუგალიური"
+ },
+ "prg": {
+ "name": "პრუსიული"
+ },
+ "ps": {
+ "name": "პუშტუ"
+ },
+ "rm": {
+ "name": "რეტორომანული"
+ },
+ "rof": {
+ "name": "რომბო"
+ },
+ "rwk": {
+ "name": "რუა"
+ },
+ "ro": {
+ "name": "რუმინული"
+ },
+ "rn": {
+ "name": "რუნდი"
+ },
+ "ru": {
+ "name": "რუსული"
+ },
+ "cu": {
+ "name": "საეკლესიო სლავური"
+ },
+ "saq": {
+ "name": "სამბურუ"
+ },
+ "sg": {
+ "name": "სანგო"
+ },
+ "sbp": {
+ "name": "სანგუ"
+ },
+ "seh": {
+ "name": "სენა"
+ },
+ "sr": {
+ "name": "სერბული"
+ },
+ "si": {
+ "name": "სინჰალური"
+ },
+ "ii": {
+ "name": "სიჩუანის ი"
+ },
+ "sk": {
+ "name": "სლოვაკური"
+ },
+ "sl": {
+ "name": "სლოვენური"
+ },
+ "xog": {
+ "name": "სოგა"
+ },
+ "so": {
+ "name": "სომალიური"
+ },
+ "hy": {
+ "name": "სომხური"
+ },
+ "ckb": {
+ "name": "სორანი ქურთული"
+ },
+ "fa": {
+ "name": "სპარსული"
+ },
+ "zgh": {
+ "name": "სტანდარტული მაროკოული ტამაზიგხტი"
+ },
+ "sw": {
+ "name": "სუაჰილი"
+ },
+ "th": {
+ "name": "ტაი"
+ },
+ "dav": {
+ "name": "ტაიტა"
+ },
+ "ta": {
+ "name": "ტამილური"
+ },
+ "twq": {
+ "name": "ტასავაქი"
+ },
+ "te": {
+ "name": "ტელუგუ"
+ },
+ "teo": {
+ "name": "ტესო"
+ },
+ "bo": {
+ "name": "ტიბეტური"
+ },
+ "ti": {
+ "name": "ტიგრინია"
+ },
+ "to": {
+ "name": "ტონგანური"
+ },
+ "zh-Hant": {
+ "name": "ტრადიციული ჩინური"
+ },
+ "cy": {
+ "name": "უელსური"
+ },
+ "uz": {
+ "name": "უზბეკური"
+ },
+ "ug": {
+ "name": "უიღურული"
+ },
+ "uk": {
+ "name": "უკრაინული"
+ },
+ "hu": {
+ "name": "უნგრული"
+ },
+ "ur": {
+ "name": "ურდუ"
+ },
+ "fo": {
+ "name": "ფარერული"
+ },
+ "fil": {
+ "name": "ფილიპინური"
+ },
+ "fi": {
+ "name": "ფინური"
+ },
+ "nl-BE": {
+ "name": "ფლამანდიური"
+ },
+ "fr": {
+ "name": "ფრანგული"
+ },
+ "fur": {
+ "name": "ფრიულური"
+ },
+ "ff": {
+ "name": "ფულა"
+ },
+ "ka": {
+ "name": "ქართული"
+ },
+ "ks": {
+ "name": "ქაშმირული"
+ },
+ "nds": {
+ "name": "ქვემოგერმანული"
+ },
+ "nds-NL": {
+ "name": "ქვემოსაქსონური"
+ },
+ "dsb": {
+ "name": "ქვემოსორბული"
+ },
+ "km": {
+ "name": "ქმერული"
+ },
+ "kk": {
+ "name": "ყაზახური"
+ },
+ "ky": {
+ "name": "ყირგიზული"
+ },
+ "ksb": {
+ "name": "შამბალა"
+ },
+ "sv": {
+ "name": "შვედური"
+ },
+ "gsw": {
+ "name": "შვეიცარიული გერმანული"
+ },
+ "de-CH": {
+ "name": "შვეიცარიული ზემოგერმანული"
+ },
+ "fr-CH": {
+ "name": "შვეიცარიული ფრანგული"
+ },
+ "shi": {
+ "name": "შილჰა"
+ },
+ "sn": {
+ "name": "შონა"
+ },
+ "gd": {
+ "name": "შოტლანდიური გელური"
+ },
+ "chr": {
+ "name": "ჩეროკი"
+ },
+ "ce": {
+ "name": "ჩეჩნური"
+ },
+ "cs": {
+ "name": "ჩეხური"
+ },
+ "cgg": {
+ "name": "ჩიგა"
+ },
+ "zh": {
+ "name": "ჩინური"
+ },
+ "lrc": {
+ "name": "ჩრდილოეთ ლური"
+ },
+ "nd": {
+ "name": "ჩრდილოეთ ნდებელე"
+ },
+ "se": {
+ "name": "ჩრდილოეთ საამური"
+ },
+ "tzm": {
+ "name": "ცენტრალური მოროკოს ტამაზიგხტი"
+ },
+ "dz": {
+ "name": "ძონგკხა"
+ },
+ "hr": {
+ "name": "ხორვატული"
+ },
+ "haw": {
+ "name": "ჰავაიური"
+ },
+ "ha": {
+ "name": "ჰაუსა"
+ },
+ "hi": {
+ "name": "ჰინდი"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/kab.json b/vendor/commerceguys/intl/resources/language/kab.json
new file mode 100644
index 000000000..1d7719043
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/kab.json
@@ -0,0 +1,632 @@
+{
+ "af": {
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "sq": {
+ "name": "Albanian"
+ },
+ "hy": {
+ "name": "Armenian"
+ },
+ "as": {
+ "name": "Assamese"
+ },
+ "ast": {
+ "name": "Asturian"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "az": {
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "eu": {
+ "name": "Basque"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "bs": {
+ "name": "Bosnian"
+ },
+ "br": {
+ "name": "Breton"
+ },
+ "yue": {
+ "name": "Cantonese"
+ },
+ "ca": {
+ "name": "Catalan"
+ },
+ "tzm": {
+ "name": "Central Atlas Tamazight"
+ },
+ "ckb": {
+ "name": "Central Kurdish"
+ },
+ "ce": {
+ "name": "Chechen"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "cu": {
+ "name": "Church Slavic"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "kw": {
+ "name": "Cornish"
+ },
+ "hr": {
+ "name": "Croatian"
+ },
+ "da": {
+ "name": "Danish"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "dz": {
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "eo": {
+ "name": "Esperanto"
+ },
+ "et": {
+ "name": "Estonian"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fo": {
+ "name": "Faroese"
+ },
+ "fil": {
+ "name": "Filipino"
+ },
+ "fi": {
+ "name": "Finnish"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "gl": {
+ "name": "Galician"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "ka": {
+ "name": "Georgian"
+ },
+ "gu": {
+ "name": "Gujarati"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "haw": {
+ "name": "Hawaiian"
+ },
+ "he": {
+ "name": "Hebrew"
+ },
+ "is": {
+ "name": "Icelandic"
+ },
+ "smn": {
+ "name": "Inari Sami"
+ },
+ "ga": {
+ "name": "Irish"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kl": {
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "kn": {
+ "name": "Kannada"
+ },
+ "ks": {
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "name": "Kazakh"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "ky": {
+ "name": "Kyrgyz"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "Lao"
+ },
+ "lv": {
+ "name": "Latvian"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "lt": {
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "mk": {
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "mg": {
+ "name": "Malagasy"
+ },
+ "ml": {
+ "name": "Malayalam"
+ },
+ "mt": {
+ "name": "Maltese"
+ },
+ "gv": {
+ "name": "Manx"
+ },
+ "mr": {
+ "name": "Marathi"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "mn": {
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nds-NL": {
+ "name": "nds (Timura-Yessakesren)"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "nd": {
+ "name": "North Ndebele"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "se": {
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "or": {
+ "name": "Odia"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "os": {
+ "name": "Ossetic"
+ },
+ "ps": {
+ "name": "Pashto"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "qu": {
+ "name": "Quechua"
+ },
+ "rm": {
+ "name": "Romansh"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "rn": {
+ "name": "Rundi"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "sah": {
+ "name": "Sakha"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "gd": {
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "sr": {
+ "name": "Serbian"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "si": {
+ "name": "Sinhala"
+ },
+ "sk": {
+ "name": "Slovak"
+ },
+ "sl": {
+ "name": "Slovenian"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw-CD": {
+ "name": "sw (Tigduda Tagdudant n Kungu)"
+ },
+ "sw": {
+ "name": "Swahili"
+ },
+ "gsw": {
+ "name": "Swiss German"
+ },
+ "bn": {
+ "name": "Tabengalit"
+ },
+ "be": {
+ "name": "Tabilarusit"
+ },
+ "bg": {
+ "name": "Tabulgarit"
+ },
+ "my": {
+ "name": "Taburmisit"
+ },
+ "vi": {
+ "name": "Tabyiṭnamit"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "cs": {
+ "name": "Tačikit"
+ },
+ "zh": {
+ "name": "Tacinwat, Tamundarint"
+ },
+ "zh-Hans": {
+ "name": "Tacinwat, Tamundarint (Hans)"
+ },
+ "zh-Hant": {
+ "name": "Tacinwat, Tamundarint (Hant)"
+ },
+ "nl": {
+ "name": "Tadučit"
+ },
+ "nl-BE": {
+ "name": "Tadučit (Belǧik)"
+ },
+ "ar": {
+ "name": "Taɛrabt"
+ },
+ "fa": {
+ "name": "Tafarisit"
+ },
+ "fr": {
+ "name": "Tafransist"
+ },
+ "fr-CA": {
+ "name": "Tafransist (Kanada)"
+ },
+ "fr-CH": {
+ "name": "Tafransist (Swis)"
+ },
+ "en": {
+ "name": "Taglizit"
+ },
+ "en-CA": {
+ "name": "Taglizit (Kanada)"
+ },
+ "en-GB": {
+ "name": "Taglizit (Tagelda Yedduklen)"
+ },
+ "en-AU": {
+ "name": "Taglizit (Ustrali)"
+ },
+ "el": {
+ "name": "Tagrikit"
+ },
+ "hi": {
+ "name": "Tahendit"
+ },
+ "hu": {
+ "name": "Tahungarit"
+ },
+ "ha": {
+ "name": "Tahwasit"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "ja": {
+ "name": "Tajapunit"
+ },
+ "ak": {
+ "name": "Takanit"
+ },
+ "km": {
+ "name": "Takemrit"
+ },
+ "ko": {
+ "name": "Takurit"
+ },
+ "de": {
+ "name": "Talmant"
+ },
+ "de-CH": {
+ "name": "Talmant (Swis)"
+ },
+ "de-AT": {
+ "name": "Talmant (Ustriya)"
+ },
+ "am": {
+ "name": "Tamahrict"
+ },
+ "ms": {
+ "name": "Tamalawit"
+ },
+ "id": {
+ "name": "Tandunisit"
+ },
+ "ne": {
+ "name": "Tanipalit"
+ },
+ "pl": {
+ "name": "Tapulunit"
+ },
+ "pa": {
+ "name": "Tapunjabit"
+ },
+ "pt": {
+ "name": "Tapurtugalit"
+ },
+ "pt-PT": {
+ "name": "Tapurtugalit (Purtugal)"
+ },
+ "kab": {
+ "name": "Taqbaylit"
+ },
+ "ro": {
+ "name": "Tarumanit"
+ },
+ "ro-MD": {
+ "name": "Tarumanit (Muldabi)"
+ },
+ "ru": {
+ "name": "Tarusit"
+ },
+ "rw": {
+ "name": "Taruwandit"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "es": {
+ "name": "Taspenyulit"
+ },
+ "es-MX": {
+ "name": "Taspenyulit (Meksik)"
+ },
+ "so": {
+ "name": "Taṣumalit"
+ },
+ "sv": {
+ "name": "Taswidit"
+ },
+ "it": {
+ "name": "Taṭalyanit"
+ },
+ "ta": {
+ "name": "Taṭamulit"
+ },
+ "th": {
+ "name": "Taṭaylundit"
+ },
+ "tr": {
+ "name": "Taṭurkit"
+ },
+ "yo": {
+ "name": "Tayurubit"
+ },
+ "zu": {
+ "name": "Tazulut"
+ },
+ "te": {
+ "name": "Telugu"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "bo": {
+ "name": "Tibetan"
+ },
+ "ig": {
+ "name": "Tigbut"
+ },
+ "ti": {
+ "name": "Tigrinya"
+ },
+ "to": {
+ "name": "Tongan"
+ },
+ "uk": {
+ "name": "Tukranit"
+ },
+ "ur": {
+ "name": "Turdut"
+ },
+ "tk": {
+ "name": "Turkmen"
+ },
+ "hsb": {
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "name": "Uyghur"
+ },
+ "uz": {
+ "name": "Uzbek"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "cy": {
+ "name": "Welsh"
+ },
+ "fy": {
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "yi": {
+ "name": "Yiddish"
+ },
+ "dje": {
+ "name": "Zarma"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/kam.json b/vendor/commerceguys/intl/resources/language/kam.json
new file mode 100644
index 000000000..5414663b4
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/kam.json
@@ -0,0 +1,632 @@
+{
+ "af": {
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "sq": {
+ "name": "Albanian"
+ },
+ "hy": {
+ "name": "Armenian"
+ },
+ "as": {
+ "name": "Assamese"
+ },
+ "ast": {
+ "name": "Asturian"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "az": {
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "eu": {
+ "name": "Basque"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "bs": {
+ "name": "Bosnian"
+ },
+ "br": {
+ "name": "Breton"
+ },
+ "yue": {
+ "name": "Cantonese"
+ },
+ "ca": {
+ "name": "Catalan"
+ },
+ "tzm": {
+ "name": "Central Atlas Tamazight"
+ },
+ "ckb": {
+ "name": "Central Kurdish"
+ },
+ "ce": {
+ "name": "Chechen"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "cu": {
+ "name": "Church Slavic"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "kw": {
+ "name": "Cornish"
+ },
+ "hr": {
+ "name": "Croatian"
+ },
+ "da": {
+ "name": "Danish"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "dz": {
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "eo": {
+ "name": "Esperanto"
+ },
+ "et": {
+ "name": "Estonian"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fo": {
+ "name": "Faroese"
+ },
+ "fil": {
+ "name": "Filipino"
+ },
+ "fi": {
+ "name": "Finnish"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "gl": {
+ "name": "Galician"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "ka": {
+ "name": "Georgian"
+ },
+ "gu": {
+ "name": "Gujarati"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "haw": {
+ "name": "Hawaiian"
+ },
+ "he": {
+ "name": "Hebrew"
+ },
+ "is": {
+ "name": "Icelandic"
+ },
+ "smn": {
+ "name": "Inari Sami"
+ },
+ "ga": {
+ "name": "Irish"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabyle"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kl": {
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kn": {
+ "name": "Kannada"
+ },
+ "ks": {
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "name": "Kazakh"
+ },
+ "fa": {
+ "name": "Kiajemi"
+ },
+ "ak": {
+ "name": "Kiakan"
+ },
+ "am": {
+ "name": "Kiamhari"
+ },
+ "ar": {
+ "name": "Kiarabu"
+ },
+ "bn": {
+ "name": "Kibangla"
+ },
+ "be": {
+ "name": "Kibelarusi"
+ },
+ "bg": {
+ "name": "Kibulgaria"
+ },
+ "my": {
+ "name": "Kiburma"
+ },
+ "cs": {
+ "name": "Kichecki"
+ },
+ "zh": {
+ "name": "Kichina"
+ },
+ "zh-Hans": {
+ "name": "Kichina (Hans)"
+ },
+ "zh-Hant": {
+ "name": "Kichina (Hant)"
+ },
+ "fr": {
+ "name": "Kifaransa"
+ },
+ "fr-CA": {
+ "name": "Kifaransa (Kananda)"
+ },
+ "fr-CH": {
+ "name": "Kifaransa (Uswisi)"
+ },
+ "el": {
+ "name": "Kigiriki"
+ },
+ "ha": {
+ "name": "Kihausa"
+ },
+ "hi": {
+ "name": "Kihindi"
+ },
+ "es": {
+ "name": "Kihispania"
+ },
+ "es-MX": {
+ "name": "Kihispania (Meksiko)"
+ },
+ "nl": {
+ "name": "Kiholanzi"
+ },
+ "nl-BE": {
+ "name": "Kiholanzi (Ubelgiji)"
+ },
+ "hu": {
+ "name": "Kihungari"
+ },
+ "ig": {
+ "name": "Kiigbo"
+ },
+ "id": {
+ "name": "Kiindonesia"
+ },
+ "it": {
+ "name": "Kiitaliano"
+ },
+ "ja": {
+ "name": "Kijapani"
+ },
+ "de": {
+ "name": "Kijerumani"
+ },
+ "de-AT": {
+ "name": "Kijerumani (Austria)"
+ },
+ "de-CH": {
+ "name": "Kijerumani (Uswisi)"
+ },
+ "kam": {
+ "name": "Kikamba"
+ },
+ "km": {
+ "name": "Kikambodia"
+ },
+ "ko": {
+ "name": "Kikorea"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "ms": {
+ "name": "Kimalesia"
+ },
+ "ne": {
+ "name": "Kinepali"
+ },
+ "en": {
+ "name": "Kingereza"
+ },
+ "en-AU": {
+ "name": "Kingereza (Australia)"
+ },
+ "en-CA": {
+ "name": "Kingereza (Kananda)"
+ },
+ "en-GB": {
+ "name": "Kingereza (Uingereza)"
+ },
+ "rw": {
+ "name": "Kinyarwanda"
+ },
+ "pl": {
+ "name": "Kipolandi"
+ },
+ "pa": {
+ "name": "Kipunjabi"
+ },
+ "pt": {
+ "name": "Kireno"
+ },
+ "pt-PT": {
+ "name": "Kireno (Ureno)"
+ },
+ "ro": {
+ "name": "Kiromania"
+ },
+ "ro-MD": {
+ "name": "Kiromania (Moldova)"
+ },
+ "ru": {
+ "name": "Kirusi"
+ },
+ "so": {
+ "name": "Kisomali"
+ },
+ "sv": {
+ "name": "Kiswidi"
+ },
+ "th": {
+ "name": "Kitailandi"
+ },
+ "ta": {
+ "name": "Kitamil"
+ },
+ "tr": {
+ "name": "Kituruki"
+ },
+ "uk": {
+ "name": "Kiukrania"
+ },
+ "ur": {
+ "name": "Kiurdu"
+ },
+ "vi": {
+ "name": "Kivietinamu"
+ },
+ "yo": {
+ "name": "Kiyoruba"
+ },
+ "zu": {
+ "name": "Kizulu"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "ky": {
+ "name": "Kyrgyz"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "Lao"
+ },
+ "lv": {
+ "name": "Latvian"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "lt": {
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "mk": {
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "mg": {
+ "name": "Malagasy"
+ },
+ "ml": {
+ "name": "Malayalam"
+ },
+ "mt": {
+ "name": "Maltese"
+ },
+ "gv": {
+ "name": "Manx"
+ },
+ "mr": {
+ "name": "Marathi"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "mn": {
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nds-NL": {
+ "name": "nds (Uholanzi)"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "nd": {
+ "name": "North Ndebele"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "se": {
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "or": {
+ "name": "Odia"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "os": {
+ "name": "Ossetic"
+ },
+ "ps": {
+ "name": "Pashto"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "qu": {
+ "name": "Quechua"
+ },
+ "rm": {
+ "name": "Romansh"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "rn": {
+ "name": "Rundi"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "sah": {
+ "name": "Sakha"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "gd": {
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "sr": {
+ "name": "Serbian"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "si": {
+ "name": "Sinhala"
+ },
+ "sk": {
+ "name": "Slovak"
+ },
+ "sl": {
+ "name": "Slovenian"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw-CD": {
+ "name": "sw (Jamhuri ya Kidemokrasia ya Kongo)"
+ },
+ "sw": {
+ "name": "Swahili"
+ },
+ "gsw": {
+ "name": "Swiss German"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "te": {
+ "name": "Telugu"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "bo": {
+ "name": "Tibetan"
+ },
+ "ti": {
+ "name": "Tigrinya"
+ },
+ "to": {
+ "name": "Tongan"
+ },
+ "tk": {
+ "name": "Turkmen"
+ },
+ "hsb": {
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "name": "Uyghur"
+ },
+ "uz": {
+ "name": "Uzbek"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "cy": {
+ "name": "Welsh"
+ },
+ "fy": {
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "yi": {
+ "name": "Yiddish"
+ },
+ "dje": {
+ "name": "Zarma"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/kde.json b/vendor/commerceguys/intl/resources/language/kde.json
new file mode 100644
index 000000000..a10622019
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/kde.json
@@ -0,0 +1,632 @@
+{
+ "af": {
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "sq": {
+ "name": "Albanian"
+ },
+ "hy": {
+ "name": "Armenian"
+ },
+ "as": {
+ "name": "Assamese"
+ },
+ "ast": {
+ "name": "Asturian"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "az": {
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "eu": {
+ "name": "Basque"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "bs": {
+ "name": "Bosnian"
+ },
+ "br": {
+ "name": "Breton"
+ },
+ "yue": {
+ "name": "Cantonese"
+ },
+ "ca": {
+ "name": "Catalan"
+ },
+ "tzm": {
+ "name": "Central Atlas Tamazight"
+ },
+ "ckb": {
+ "name": "Central Kurdish"
+ },
+ "ak": {
+ "name": "Chakan"
+ },
+ "ar": {
+ "name": "Chalabu"
+ },
+ "am": {
+ "name": "Chamhali"
+ },
+ "ce": {
+ "name": "Chechen"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "fa": {
+ "name": "Chiajemi"
+ },
+ "bn": {
+ "name": "Chibangla"
+ },
+ "be": {
+ "name": "Chibelalusi"
+ },
+ "bg": {
+ "name": "Chibulgalia"
+ },
+ "my": {
+ "name": "Chibulma"
+ },
+ "cs": {
+ "name": "Chichechi"
+ },
+ "zh": {
+ "name": "Chichina"
+ },
+ "zh-Hans": {
+ "name": "Chichina (Hans)"
+ },
+ "zh-Hant": {
+ "name": "Chichina (Hant)"
+ },
+ "ja": {
+ "name": "Chidyapani"
+ },
+ "de": {
+ "name": "Chidyelumani"
+ },
+ "de-AT": {
+ "name": "Chidyelumani (Austlia)"
+ },
+ "de-CH": {
+ "name": "Chidyelumani (Uswisi)"
+ },
+ "fr": {
+ "name": "Chifalansa"
+ },
+ "fr-CA": {
+ "name": "Chifalansa (Kanada)"
+ },
+ "fr-CH": {
+ "name": "Chifalansa (Uswisi)"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "el": {
+ "name": "Chigilichi"
+ },
+ "ha": {
+ "name": "Chihausa"
+ },
+ "hi": {
+ "name": "Chihindi"
+ },
+ "es": {
+ "name": "Chihispania"
+ },
+ "es-MX": {
+ "name": "Chihispania (Meksiko)"
+ },
+ "nl": {
+ "name": "Chiholanzi"
+ },
+ "nl-BE": {
+ "name": "Chiholanzi (Ubelgidi)"
+ },
+ "hu": {
+ "name": "Chihungali"
+ },
+ "ig": {
+ "name": "Chiigbo"
+ },
+ "en": {
+ "name": "Chiingeleza"
+ },
+ "en-AU": {
+ "name": "Chiingeleza (Austlalia)"
+ },
+ "en-CA": {
+ "name": "Chiingeleza (Kanada)"
+ },
+ "en-GB": {
+ "name": "Chiingeleza (Nngalesa)"
+ },
+ "id": {
+ "name": "Chiiongonesia"
+ },
+ "it": {
+ "name": "Chiitaliano"
+ },
+ "km": {
+ "name": "Chikambodia"
+ },
+ "ko": {
+ "name": "Chikolea"
+ },
+ "pt": {
+ "name": "Chileno"
+ },
+ "pt-PT": {
+ "name": "Chileno (Uleno)"
+ },
+ "ro": {
+ "name": "Chilomania"
+ },
+ "ro-MD": {
+ "name": "Chilomania (Moldova)"
+ },
+ "ru": {
+ "name": "Chilusi"
+ },
+ "kde": {
+ "name": "Chimakonde"
+ },
+ "ms": {
+ "name": "Chimalesia"
+ },
+ "ne": {
+ "name": "Chinepali"
+ },
+ "rw": {
+ "name": "Chinyalwanda"
+ },
+ "pl": {
+ "name": "Chipolandi"
+ },
+ "pa": {
+ "name": "Chipunjabi"
+ },
+ "so": {
+ "name": "Chisomali"
+ },
+ "sv": {
+ "name": "Chiswidi"
+ },
+ "th": {
+ "name": "Chitailandi"
+ },
+ "ta": {
+ "name": "Chitamil"
+ },
+ "tr": {
+ "name": "Chituluchi"
+ },
+ "uk": {
+ "name": "Chiuklania"
+ },
+ "ur": {
+ "name": "Chiuldu"
+ },
+ "vi": {
+ "name": "Chivietinamu"
+ },
+ "yo": {
+ "name": "Chiyoluba"
+ },
+ "zu": {
+ "name": "Chizulu"
+ },
+ "cu": {
+ "name": "Church Slavic"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "kw": {
+ "name": "Cornish"
+ },
+ "hr": {
+ "name": "Croatian"
+ },
+ "da": {
+ "name": "Danish"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "dz": {
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "eo": {
+ "name": "Esperanto"
+ },
+ "et": {
+ "name": "Estonian"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fo": {
+ "name": "Faroese"
+ },
+ "fil": {
+ "name": "Filipino"
+ },
+ "fi": {
+ "name": "Finnish"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "gl": {
+ "name": "Galician"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "ka": {
+ "name": "Georgian"
+ },
+ "gu": {
+ "name": "Gujarati"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "haw": {
+ "name": "Hawaiian"
+ },
+ "he": {
+ "name": "Hebrew"
+ },
+ "is": {
+ "name": "Icelandic"
+ },
+ "smn": {
+ "name": "Inari Sami"
+ },
+ "ga": {
+ "name": "Irish"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabyle"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kl": {
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "kn": {
+ "name": "Kannada"
+ },
+ "ks": {
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "name": "Kazakh"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "ky": {
+ "name": "Kyrgyz"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "Lao"
+ },
+ "lv": {
+ "name": "Latvian"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "lt": {
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "mk": {
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "mg": {
+ "name": "Malagasy"
+ },
+ "ml": {
+ "name": "Malayalam"
+ },
+ "mt": {
+ "name": "Maltese"
+ },
+ "gv": {
+ "name": "Manx"
+ },
+ "mr": {
+ "name": "Marathi"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "mn": {
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nds-NL": {
+ "name": "nds (Uholanzi)"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "nd": {
+ "name": "North Ndebele"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "se": {
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "or": {
+ "name": "Odia"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "os": {
+ "name": "Ossetic"
+ },
+ "ps": {
+ "name": "Pashto"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "qu": {
+ "name": "Quechua"
+ },
+ "rm": {
+ "name": "Romansh"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "rn": {
+ "name": "Rundi"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "sah": {
+ "name": "Sakha"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "gd": {
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "sr": {
+ "name": "Serbian"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "si": {
+ "name": "Sinhala"
+ },
+ "sk": {
+ "name": "Slovak"
+ },
+ "sl": {
+ "name": "Slovenian"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw-CD": {
+ "name": "sw (Jamuhuli ya Chidemoklasia ya kuKongo)"
+ },
+ "sw": {
+ "name": "Swahili"
+ },
+ "gsw": {
+ "name": "Swiss German"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "te": {
+ "name": "Telugu"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "bo": {
+ "name": "Tibetan"
+ },
+ "ti": {
+ "name": "Tigrinya"
+ },
+ "to": {
+ "name": "Tongan"
+ },
+ "tk": {
+ "name": "Turkmen"
+ },
+ "hsb": {
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "name": "Uyghur"
+ },
+ "uz": {
+ "name": "Uzbek"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "cy": {
+ "name": "Welsh"
+ },
+ "fy": {
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "yi": {
+ "name": "Yiddish"
+ },
+ "dje": {
+ "name": "Zarma"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/kea.json b/vendor/commerceguys/intl/resources/language/kea.json
new file mode 100644
index 000000000..aaf91c814
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/kea.json
@@ -0,0 +1,632 @@
+{
+ "af": {
+ "name": "afrikaner"
+ },
+ "agq": {
+ "name": "aghem"
+ },
+ "ak": {
+ "name": "akan"
+ },
+ "sq": {
+ "name": "albanes"
+ },
+ "de": {
+ "name": "alimãu"
+ },
+ "de-AT": {
+ "name": "alimãu austriaku"
+ },
+ "gsw": {
+ "name": "alimãu suísu"
+ },
+ "de-CH": {
+ "name": "altu alimãu suisu"
+ },
+ "am": {
+ "name": "amáriku"
+ },
+ "ar": {
+ "name": "árabi"
+ },
+ "hy": {
+ "name": "arméniu"
+ },
+ "as": {
+ "name": "asames"
+ },
+ "ast": {
+ "name": "Asturian"
+ },
+ "asa": {
+ "name": "asu"
+ },
+ "ha": {
+ "name": "auza"
+ },
+ "haw": {
+ "name": "avaianu"
+ },
+ "az": {
+ "name": "azerbaijanu"
+ },
+ "ksf": {
+ "name": "bafia"
+ },
+ "bm": {
+ "name": "bambara"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "eu": {
+ "name": "basku"
+ },
+ "bem": {
+ "name": "bemba"
+ },
+ "bez": {
+ "name": "bena"
+ },
+ "bn": {
+ "name": "bengali"
+ },
+ "be": {
+ "name": "bielorusu"
+ },
+ "my": {
+ "name": "birmanes"
+ },
+ "brx": {
+ "name": "bodo"
+ },
+ "bs": {
+ "name": "bosniu"
+ },
+ "br": {
+ "name": "bretãu"
+ },
+ "bg": {
+ "name": "búlgaru"
+ },
+ "yue": {
+ "name": "Cantonese"
+ },
+ "cu": {
+ "name": "Church Slavic"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "da": {
+ "name": "dinamarkes"
+ },
+ "dua": {
+ "name": "duala"
+ },
+ "dz": {
+ "name": "dzonka"
+ },
+ "he": {
+ "name": "ebraiku"
+ },
+ "ebu": {
+ "name": "embu"
+ },
+ "ee": {
+ "name": "eve"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fo": {
+ "name": "faroes"
+ },
+ "fil": {
+ "name": "filipinu"
+ },
+ "fi": {
+ "name": "finlandes"
+ },
+ "nl-BE": {
+ "name": "flamengu"
+ },
+ "fr": {
+ "name": "franses"
+ },
+ "fr-CA": {
+ "name": "franses kanadianu"
+ },
+ "fr-CH": {
+ "name": "franses suisu"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "fy": {
+ "name": "fríziu osidental"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "gl": {
+ "name": "galegu"
+ },
+ "cy": {
+ "name": "gales"
+ },
+ "el": {
+ "name": "gregu"
+ },
+ "kl": {
+ "name": "groenlandes"
+ },
+ "gu": {
+ "name": "gujarati"
+ },
+ "guz": {
+ "name": "gusii"
+ },
+ "ig": {
+ "name": "ibo"
+ },
+ "smn": {
+ "name": "inari sami"
+ },
+ "hi": {
+ "name": "indi"
+ },
+ "id": {
+ "name": "indonéziu"
+ },
+ "en": {
+ "name": "ingles"
+ },
+ "en-AU": {
+ "name": "ingles australianu"
+ },
+ "en-GB": {
+ "name": "ingles britaniku"
+ },
+ "en-CA": {
+ "name": "ingles kanadianu"
+ },
+ "yo": {
+ "name": "ioruba"
+ },
+ "ga": {
+ "name": "irlandes"
+ },
+ "is": {
+ "name": "islandes"
+ },
+ "it": {
+ "name": "italianu"
+ },
+ "ja": {
+ "name": "japones"
+ },
+ "dyo": {
+ "name": "jola-fonyi"
+ },
+ "ka": {
+ "name": "jorjianu"
+ },
+ "kab": {
+ "name": "kabila"
+ },
+ "kea": {
+ "name": "kabuverdianu"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kln": {
+ "name": "kalenjin"
+ },
+ "kam": {
+ "name": "kamba"
+ },
+ "kn": {
+ "name": "kanares"
+ },
+ "ca": {
+ "name": "katalãu"
+ },
+ "ks": {
+ "name": "kaxmira"
+ },
+ "kk": {
+ "name": "kazak"
+ },
+ "qu": {
+ "name": "kexua"
+ },
+ "ki": {
+ "name": "kikuiu"
+ },
+ "rw": {
+ "name": "kiniaruanda"
+ },
+ "ky": {
+ "name": "kirgiz"
+ },
+ "km": {
+ "name": "kmer"
+ },
+ "khq": {
+ "name": "koira txiini"
+ },
+ "ses": {
+ "name": "koiraboro seni"
+ },
+ "kok": {
+ "name": "konkani"
+ },
+ "ko": {
+ "name": "korianu"
+ },
+ "kw": {
+ "name": "kórniku"
+ },
+ "hr": {
+ "name": "kroata"
+ },
+ "nmg": {
+ "name": "kuazio"
+ },
+ "ckb": {
+ "name": "kurdu sentral"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "lausianu"
+ },
+ "lv": {
+ "name": "letãu"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "lt": {
+ "name": "lituanes"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "lg": {
+ "name": "luganda"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "luxemburges"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "ml": {
+ "name": "malaialam"
+ },
+ "ms": {
+ "name": "maláiu"
+ },
+ "mg": {
+ "name": "malgaxi"
+ },
+ "mt": {
+ "name": "maltes"
+ },
+ "gv": {
+ "name": "manks"
+ },
+ "mr": {
+ "name": "marati"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mk": {
+ "name": "masedóniu"
+ },
+ "jmc": {
+ "name": "matxame"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "mn": {
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nds-NL": {
+ "name": "nds (Olanda)"
+ },
+ "ne": {
+ "name": "nepales"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "ñomba"
+ },
+ "nd": {
+ "name": "North Ndebele"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "se": {
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "name": "norueges bokmål"
+ },
+ "nn": {
+ "name": "norueges nynorsk"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "ii": {
+ "name": "nuosu"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "or": {
+ "name": "odía"
+ },
+ "nl": {
+ "name": "olandes"
+ },
+ "om": {
+ "name": "oromo"
+ },
+ "os": {
+ "name": "Ossetic"
+ },
+ "pa": {
+ "name": "pandjabi"
+ },
+ "ps": {
+ "name": "paxto"
+ },
+ "fa": {
+ "name": "persa"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "pl": {
+ "name": "pulaku"
+ },
+ "pt": {
+ "name": "purtuges"
+ },
+ "pt-PT": {
+ "name": "purtuges europeu"
+ },
+ "rm": {
+ "name": "romanxi"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "ro": {
+ "name": "rumenu"
+ },
+ "ro-MD": {
+ "name": "rumenu moldáviku"
+ },
+ "rn": {
+ "name": "Rundi"
+ },
+ "ru": {
+ "name": "rusu"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "sah": {
+ "name": "Sakha"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "gd": {
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "sr": {
+ "name": "sérviu"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "si": {
+ "name": "singales"
+ },
+ "sk": {
+ "name": "slovaku"
+ },
+ "sl": {
+ "name": "slovéniu"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "so": {
+ "name": "somali"
+ },
+ "hsb": {
+ "name": "sórbiu altu"
+ },
+ "dsb": {
+ "name": "sórbiu baxu"
+ },
+ "es": {
+ "name": "spanhol"
+ },
+ "es-MX": {
+ "name": "spanhol mexikanu"
+ },
+ "eo": {
+ "name": "sperantu"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "et": {
+ "name": "stonianu"
+ },
+ "sw": {
+ "name": "suaíli"
+ },
+ "sw-CD": {
+ "name": "suaíli kongoles"
+ },
+ "sv": {
+ "name": "sueku"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "th": {
+ "name": "tailandes"
+ },
+ "dav": {
+ "name": "taita"
+ },
+ "tzm": {
+ "name": "tamazait di Atlas Sentral"
+ },
+ "ta": {
+ "name": "tamil"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "te": {
+ "name": "telugu"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "bo": {
+ "name": "tibetanu"
+ },
+ "ti": {
+ "name": "tigrinia"
+ },
+ "to": {
+ "name": "tonganes"
+ },
+ "tk": {
+ "name": "turkmenu"
+ },
+ "tr": {
+ "name": "turku"
+ },
+ "cs": {
+ "name": "txeku"
+ },
+ "ce": {
+ "name": "txetxenu"
+ },
+ "ug": {
+ "name": "uigur"
+ },
+ "uk": {
+ "name": "ukranianu"
+ },
+ "hu": {
+ "name": "úngaru"
+ },
+ "ur": {
+ "name": "urdu"
+ },
+ "uz": {
+ "name": "uzbeki"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vi": {
+ "name": "vietnamita"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "chr": {
+ "name": "xeroki"
+ },
+ "cgg": {
+ "name": "xiga"
+ },
+ "zh": {
+ "name": "xines"
+ },
+ "zh-Hans": {
+ "name": "xines simplifikadu"
+ },
+ "zh-Hant": {
+ "name": "xines tradisional"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "yi": {
+ "name": "Yiddish"
+ },
+ "dje": {
+ "name": "zarma"
+ },
+ "zu": {
+ "name": "zulu"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/khq.json b/vendor/commerceguys/intl/resources/language/khq.json
new file mode 100644
index 000000000..7748dd7df
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/khq.json
@@ -0,0 +1,632 @@
+{
+ "af": {
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "ak": {
+ "name": "Akan senni"
+ },
+ "sq": {
+ "name": "Albanian"
+ },
+ "de": {
+ "name": "Almaŋ senni"
+ },
+ "de-AT": {
+ "name": "Almaŋ senni (Otriši)"
+ },
+ "de-CH": {
+ "name": "Almaŋ senni (Swisu)"
+ },
+ "am": {
+ "name": "Amhaarik senni"
+ },
+ "hy": {
+ "name": "Armenian"
+ },
+ "as": {
+ "name": "Assamese"
+ },
+ "ast": {
+ "name": "Asturian"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "az": {
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "eu": {
+ "name": "Basque"
+ },
+ "be": {
+ "name": "Belaruus senni"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "bn": {
+ "name": "Bengali senni"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "bs": {
+ "name": "Bosnian"
+ },
+ "br": {
+ "name": "Breton"
+ },
+ "bg": {
+ "name": "Bulagaari senni"
+ },
+ "my": {
+ "name": "Burme senni"
+ },
+ "yue": {
+ "name": "Cantonese"
+ },
+ "ca": {
+ "name": "Catalan"
+ },
+ "cs": {
+ "name": "Cek senni"
+ },
+ "tzm": {
+ "name": "Central Atlas Tamazight"
+ },
+ "ckb": {
+ "name": "Central Kurdish"
+ },
+ "ce": {
+ "name": "Chechen"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "cu": {
+ "name": "Church Slavic"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "kw": {
+ "name": "Cornish"
+ },
+ "hr": {
+ "name": "Croatian"
+ },
+ "da": {
+ "name": "Danish"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "dz": {
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "es": {
+ "name": "Espaaɲe senni"
+ },
+ "es-MX": {
+ "name": "Espaaɲe senni (Mexiki)"
+ },
+ "eo": {
+ "name": "Esperanto"
+ },
+ "et": {
+ "name": "Estonian"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fo": {
+ "name": "Faroese"
+ },
+ "fa": {
+ "name": "Farsi senni"
+ },
+ "fil": {
+ "name": "Filipino"
+ },
+ "fi": {
+ "name": "Finnish"
+ },
+ "fr": {
+ "name": "Fransee senni"
+ },
+ "fr-CA": {
+ "name": "Fransee senni (Kanaada)"
+ },
+ "fr-CH": {
+ "name": "Fransee senni (Swisu)"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "gl": {
+ "name": "Galician"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "ka": {
+ "name": "Georgian"
+ },
+ "el": {
+ "name": "Grek senni"
+ },
+ "gu": {
+ "name": "Gujarati"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "haw": {
+ "name": "Hawaiian"
+ },
+ "ha": {
+ "name": "Hawsance senni"
+ },
+ "he": {
+ "name": "Hebrew"
+ },
+ "nl": {
+ "name": "Holandee senni"
+ },
+ "nl-BE": {
+ "name": "Holandee senni (Belgiiki)"
+ },
+ "hu": {
+ "name": "Hungaari senni"
+ },
+ "ig": {
+ "name": "Iboo senni"
+ },
+ "is": {
+ "name": "Icelandic"
+ },
+ "smn": {
+ "name": "Inari Sami"
+ },
+ "id": {
+ "name": "Indoneesi senni"
+ },
+ "hi": {
+ "name": "Induu senni"
+ },
+ "en": {
+ "name": "Inglisi senni"
+ },
+ "en-GB": {
+ "name": "Inglisi senni (Albaasalaama Marganta)"
+ },
+ "en-CA": {
+ "name": "Inglisi senni (Kanaada)"
+ },
+ "en-AU": {
+ "name": "Inglisi senni (Ostraali)"
+ },
+ "ga": {
+ "name": "Irish"
+ },
+ "it": {
+ "name": "Itaali senni"
+ },
+ "ja": {
+ "name": "Japonee senni"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "zu": {
+ "name": "Julu senni"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabyle"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kl": {
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "kn": {
+ "name": "Kannada"
+ },
+ "ks": {
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "name": "Kazakh"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "km": {
+ "name": "Kmeer senni, Game here"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "ko": {
+ "name": "Koree senni"
+ },
+ "khq": {
+ "name": "Koyra ciini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "ky": {
+ "name": "Kyrgyz"
+ },
+ "ar": {
+ "name": "Laaraw senni"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "Lao"
+ },
+ "lv": {
+ "name": "Latvian"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "lt": {
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "mk": {
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "mg": {
+ "name": "Malagasy"
+ },
+ "ml": {
+ "name": "Malayalam"
+ },
+ "ms": {
+ "name": "Maleezi senni"
+ },
+ "mt": {
+ "name": "Maltese"
+ },
+ "gv": {
+ "name": "Manx"
+ },
+ "mr": {
+ "name": "Marathi"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "mn": {
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nds-NL": {
+ "name": "nds (Hollandu)"
+ },
+ "ne": {
+ "name": "Neepal senni"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "nd": {
+ "name": "North Ndebele"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "se": {
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "or": {
+ "name": "Odia"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "os": {
+ "name": "Ossetic"
+ },
+ "ps": {
+ "name": "Pashto"
+ },
+ "pl": {
+ "name": "Polonee senni"
+ },
+ "pt": {
+ "name": "Portugee senni"
+ },
+ "pt-PT": {
+ "name": "Portugee senni (Portugaal)"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "pa": {
+ "name": "Punjaabi sennii"
+ },
+ "qu": {
+ "name": "Quechua"
+ },
+ "rm": {
+ "name": "Romansh"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "ro": {
+ "name": "Rumaani senni"
+ },
+ "ro-MD": {
+ "name": "Rumaani senni (Moldovi)"
+ },
+ "rn": {
+ "name": "Rundi"
+ },
+ "ru": {
+ "name": "Ruusi senni"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "rw": {
+ "name": "Rwanda senni"
+ },
+ "sah": {
+ "name": "Sakha"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "gd": {
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "sr": {
+ "name": "Serbian"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "si": {
+ "name": "Sinhala"
+ },
+ "zh": {
+ "name": "Sinuwa senni, Mandareŋ"
+ },
+ "zh-Hans": {
+ "name": "Sinuwa senni, Mandareŋ (Hans)"
+ },
+ "zh-Hant": {
+ "name": "Sinuwa senni, Mandareŋ (Hant)"
+ },
+ "sk": {
+ "name": "Slovak"
+ },
+ "sl": {
+ "name": "Slovenian"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "so": {
+ "name": "Somaali senni"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sv": {
+ "name": "Suweede senni"
+ },
+ "sw-CD": {
+ "name": "sw (Kongoo demookaratiki laboo)"
+ },
+ "sw": {
+ "name": "Swahili"
+ },
+ "gsw": {
+ "name": "Swiss German"
+ },
+ "th": {
+ "name": "Taailandu senni"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "ta": {
+ "name": "Tamil senni"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "te": {
+ "name": "Telugu"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "bo": {
+ "name": "Tibetan"
+ },
+ "ti": {
+ "name": "Tigrinya"
+ },
+ "to": {
+ "name": "Tongan"
+ },
+ "tk": {
+ "name": "Turkmen"
+ },
+ "tr": {
+ "name": "Turku senni"
+ },
+ "uk": {
+ "name": "Ukreen senni"
+ },
+ "hsb": {
+ "name": "Upper Sorbian"
+ },
+ "ur": {
+ "name": "Urdu senni"
+ },
+ "ug": {
+ "name": "Uyghur"
+ },
+ "uz": {
+ "name": "Uzbek"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vi": {
+ "name": "Vietnaam senni"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "cy": {
+ "name": "Welsh"
+ },
+ "fy": {
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "yi": {
+ "name": "Yiddish"
+ },
+ "yo": {
+ "name": "Yorbance senni"
+ },
+ "dje": {
+ "name": "Zarma"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/ki.json b/vendor/commerceguys/intl/resources/language/ki.json
new file mode 100644
index 000000000..bb9785690
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/ki.json
@@ -0,0 +1,632 @@
+{
+ "af": {
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "sq": {
+ "name": "Albanian"
+ },
+ "hy": {
+ "name": "Armenian"
+ },
+ "as": {
+ "name": "Assamese"
+ },
+ "ast": {
+ "name": "Asturian"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "az": {
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "eu": {
+ "name": "Basque"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "bs": {
+ "name": "Bosnian"
+ },
+ "br": {
+ "name": "Breton"
+ },
+ "yue": {
+ "name": "Cantonese"
+ },
+ "ca": {
+ "name": "Catalan"
+ },
+ "tzm": {
+ "name": "Central Atlas Tamazight"
+ },
+ "ckb": {
+ "name": "Central Kurdish"
+ },
+ "ce": {
+ "name": "Chechen"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "cu": {
+ "name": "Church Slavic"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "kw": {
+ "name": "Cornish"
+ },
+ "hr": {
+ "name": "Croatian"
+ },
+ "da": {
+ "name": "Danish"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "dz": {
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "eo": {
+ "name": "Esperanto"
+ },
+ "et": {
+ "name": "Estonian"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fo": {
+ "name": "Faroese"
+ },
+ "fil": {
+ "name": "Filipino"
+ },
+ "fi": {
+ "name": "Finnish"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "gl": {
+ "name": "Galician"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "ka": {
+ "name": "Georgian"
+ },
+ "ki": {
+ "name": "Gikuyu"
+ },
+ "en": {
+ "name": "Gĩthungũ"
+ },
+ "en-AU": {
+ "name": "Gĩthungũ (Australia)"
+ },
+ "en-CA": {
+ "name": "Gĩthungũ (Kanada)"
+ },
+ "en-GB": {
+ "name": "Gĩthungũ (Ngeretha)"
+ },
+ "gu": {
+ "name": "Gujarati"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "haw": {
+ "name": "Hawaiian"
+ },
+ "he": {
+ "name": "Hebrew"
+ },
+ "is": {
+ "name": "Icelandic"
+ },
+ "smn": {
+ "name": "Inari Sami"
+ },
+ "ga": {
+ "name": "Irish"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabyle"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kl": {
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "kn": {
+ "name": "Kannada"
+ },
+ "ks": {
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "name": "Kazakh"
+ },
+ "fa": {
+ "name": "Kiajemi"
+ },
+ "ak": {
+ "name": "Kiakan"
+ },
+ "am": {
+ "name": "Kiamhari"
+ },
+ "ar": {
+ "name": "Kĩarabu"
+ },
+ "bn": {
+ "name": "Kibangla"
+ },
+ "fr": {
+ "name": "Kĩbaranja"
+ },
+ "fr-CA": {
+ "name": "Kĩbaranja (Kanada)"
+ },
+ "fr-CH": {
+ "name": "Kĩbaranja (Uswisi)"
+ },
+ "be": {
+ "name": "Kibelarusi"
+ },
+ "bg": {
+ "name": "Kibulgaria"
+ },
+ "my": {
+ "name": "Kiburma"
+ },
+ "zh": {
+ "name": "Kĩcaina"
+ },
+ "zh-Hans": {
+ "name": "Kĩcaina (Hans)"
+ },
+ "zh-Hant": {
+ "name": "Kĩcaina (Hant)"
+ },
+ "cs": {
+ "name": "Kichecki"
+ },
+ "so": {
+ "name": "Kĩcumarĩ"
+ },
+ "el": {
+ "name": "Kigiriki"
+ },
+ "ha": {
+ "name": "Kihausa"
+ },
+ "hi": {
+ "name": "Kĩhĩndĩ"
+ },
+ "es": {
+ "name": "Kihispania"
+ },
+ "es-MX": {
+ "name": "Kihispania (Meksiko)"
+ },
+ "nl": {
+ "name": "Kiholanzi"
+ },
+ "nl-BE": {
+ "name": "Kiholanzi (Ubelgiji)"
+ },
+ "hu": {
+ "name": "Kihungari"
+ },
+ "ig": {
+ "name": "Kiigbo"
+ },
+ "id": {
+ "name": "Kiindonesia"
+ },
+ "km": {
+ "name": "Kikambodia"
+ },
+ "ko": {
+ "name": "Kikorea"
+ },
+ "ms": {
+ "name": "Kimalesia"
+ },
+ "ne": {
+ "name": "Kinepali"
+ },
+ "ja": {
+ "name": "Kĩnjabani"
+ },
+ "de": {
+ "name": "Kĩnjeremani"
+ },
+ "de-AT": {
+ "name": "Kĩnjeremani (Austria)"
+ },
+ "de-CH": {
+ "name": "Kĩnjeremani (Uswisi)"
+ },
+ "rw": {
+ "name": "Kinyarwanda"
+ },
+ "pl": {
+ "name": "Kipolandi"
+ },
+ "pa": {
+ "name": "Kipunjabi"
+ },
+ "ru": {
+ "name": "Kĩracia"
+ },
+ "pt": {
+ "name": "Kireno"
+ },
+ "pt-PT": {
+ "name": "Kireno (Ureno)"
+ },
+ "ro": {
+ "name": "Kiromania"
+ },
+ "ro-MD": {
+ "name": "Kiromania (Moldova)"
+ },
+ "sv": {
+ "name": "Kiswidi"
+ },
+ "th": {
+ "name": "Kitailandi"
+ },
+ "it": {
+ "name": "Kĩtaliano"
+ },
+ "ta": {
+ "name": "Kitamil"
+ },
+ "tr": {
+ "name": "Kituruki"
+ },
+ "uk": {
+ "name": "Kiukrania"
+ },
+ "ur": {
+ "name": "Kiurdu"
+ },
+ "vi": {
+ "name": "Kivietinamu"
+ },
+ "yo": {
+ "name": "Kiyoruba"
+ },
+ "zu": {
+ "name": "Kizulu"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "ky": {
+ "name": "Kyrgyz"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "Lao"
+ },
+ "lv": {
+ "name": "Latvian"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "lt": {
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "mk": {
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "mg": {
+ "name": "Malagasy"
+ },
+ "ml": {
+ "name": "Malayalam"
+ },
+ "mt": {
+ "name": "Maltese"
+ },
+ "gv": {
+ "name": "Manx"
+ },
+ "mr": {
+ "name": "Marathi"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "mn": {
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nds-NL": {
+ "name": "nds (Uholanzi)"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "nd": {
+ "name": "North Ndebele"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "se": {
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "or": {
+ "name": "Odia"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "os": {
+ "name": "Ossetic"
+ },
+ "ps": {
+ "name": "Pashto"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "qu": {
+ "name": "Quechua"
+ },
+ "rm": {
+ "name": "Romansh"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "rn": {
+ "name": "Rundi"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "sah": {
+ "name": "Sakha"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "gd": {
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "sr": {
+ "name": "Serbian"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "si": {
+ "name": "Sinhala"
+ },
+ "sk": {
+ "name": "Slovak"
+ },
+ "sl": {
+ "name": "Slovenian"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw-CD": {
+ "name": "sw (Jamhuri ya Kidemokrasia ya Kongo)"
+ },
+ "sw": {
+ "name": "Swahili"
+ },
+ "gsw": {
+ "name": "Swiss German"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "te": {
+ "name": "Telugu"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "bo": {
+ "name": "Tibetan"
+ },
+ "ti": {
+ "name": "Tigrinya"
+ },
+ "to": {
+ "name": "Tongan"
+ },
+ "tk": {
+ "name": "Turkmen"
+ },
+ "hsb": {
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "name": "Uyghur"
+ },
+ "uz": {
+ "name": "Uzbek"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "cy": {
+ "name": "Welsh"
+ },
+ "fy": {
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "yi": {
+ "name": "Yiddish"
+ },
+ "dje": {
+ "name": "Zarma"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/kk.json b/vendor/commerceguys/intl/resources/language/kk.json
new file mode 100644
index 000000000..ee851b2eb
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/kk.json
@@ -0,0 +1,635 @@
+{
+ "agq": {
+ "name": "агхем тілі"
+ },
+ "en": {
+ "name": "ағылшын тілі"
+ },
+ "en-AU": {
+ "name": "ағылшын тілі (Австралия)"
+ },
+ "en-CA": {
+ "name": "ағылшын тілі (Канада)"
+ },
+ "en-GB": {
+ "name": "ағылшын тілі (Ұлыбритания)"
+ },
+ "ak": {
+ "name": "акан тілі"
+ },
+ "sq": {
+ "name": "албан тілі"
+ },
+ "am": {
+ "name": "амхар тілі"
+ },
+ "ar": {
+ "name": "араб тілі"
+ },
+ "hy": {
+ "name": "армян тілі"
+ },
+ "as": {
+ "name": "ассам тілі"
+ },
+ "ast": {
+ "name": "астурия тілі"
+ },
+ "asa": {
+ "name": "асу тілі"
+ },
+ "af": {
+ "name": "африкаанс тілі"
+ },
+ "az": {
+ "name": "әзірбайжан тілі"
+ },
+ "bm": {
+ "name": "бамбара тілі"
+ },
+ "bas": {
+ "name": "баса тілі"
+ },
+ "eu": {
+ "name": "баск тілі"
+ },
+ "fy": {
+ "name": "батыс фриз тілі"
+ },
+ "ksf": {
+ "name": "бафиа тілі"
+ },
+ "be": {
+ "name": "беларусь тілі"
+ },
+ "bem": {
+ "name": "бемба тілі"
+ },
+ "bez": {
+ "name": "бена тілі"
+ },
+ "bn": {
+ "name": "бенгал тілі"
+ },
+ "my": {
+ "name": "бирма тілі"
+ },
+ "brx": {
+ "name": "бодо тілі"
+ },
+ "bg": {
+ "name": "болгар тілі"
+ },
+ "bs": {
+ "name": "босния тілі"
+ },
+ "br": {
+ "name": "бретон тілі"
+ },
+ "vai": {
+ "name": "вай тілі"
+ },
+ "cy": {
+ "name": "валлий тілі"
+ },
+ "wae": {
+ "name": "вальзер тілі"
+ },
+ "hu": {
+ "name": "венгр тілі"
+ },
+ "vo": {
+ "name": "волапюк тілі"
+ },
+ "vun": {
+ "name": "вунджо тілі"
+ },
+ "vi": {
+ "name": "вьетнам тілі"
+ },
+ "haw": {
+ "name": "гавайи тілі"
+ },
+ "gl": {
+ "name": "галисия тілі"
+ },
+ "lg": {
+ "name": "ганда тілі"
+ },
+ "el": {
+ "name": "грек тілі"
+ },
+ "ka": {
+ "name": "грузин тілі"
+ },
+ "gu": {
+ "name": "гуджарати тілі"
+ },
+ "guz": {
+ "name": "гусии тілі"
+ },
+ "gd": {
+ "name": "гэль тілі"
+ },
+ "da": {
+ "name": "дат тілі"
+ },
+ "zh-Hant": {
+ "name": "дәстүрлі қытай тілі"
+ },
+ "dz": {
+ "name": "дзонг-кэ тілі"
+ },
+ "dyo": {
+ "name": "диола тілі"
+ },
+ "dua": {
+ "name": "дуала тілі"
+ },
+ "ja": {
+ "name": "жапон тілі"
+ },
+ "zh-Hans": {
+ "name": "жеңілдетілген қытай тілі"
+ },
+ "hsb": {
+ "name": "жоғарғы лужица тілі"
+ },
+ "dje": {
+ "name": "зарма тілі"
+ },
+ "zu": {
+ "name": "зулу тілі"
+ },
+ "he": {
+ "name": "иврит тілі"
+ },
+ "ig": {
+ "name": "игбо тілі"
+ },
+ "yi": {
+ "name": "идиш тілі"
+ },
+ "smn": {
+ "name": "инари саам тілі"
+ },
+ "id": {
+ "name": "индонезия тілі"
+ },
+ "ga": {
+ "name": "ирланд тілі"
+ },
+ "is": {
+ "name": "исланд тілі"
+ },
+ "es": {
+ "name": "испан тілі"
+ },
+ "es-MX": {
+ "name": "испан тілі (Мексика)"
+ },
+ "it": {
+ "name": "итальян тілі"
+ },
+ "yo": {
+ "name": "йоруба тілі"
+ },
+ "kab": {
+ "name": "кабил тілі"
+ },
+ "kea": {
+ "name": "кабувердьяну тілі"
+ },
+ "kkj": {
+ "name": "како тілі"
+ },
+ "kl": {
+ "name": "калаалисут тілі"
+ },
+ "kln": {
+ "name": "каленжин тілі"
+ },
+ "kam": {
+ "name": "камба тілі"
+ },
+ "kn": {
+ "name": "каннада тілі"
+ },
+ "yue": {
+ "name": "кантон тілі"
+ },
+ "ca": {
+ "name": "каталан тілі"
+ },
+ "ks": {
+ "name": "кашмир тілі"
+ },
+ "nmg": {
+ "name": "квасио тілі"
+ },
+ "qu": {
+ "name": "кечуа тілі"
+ },
+ "ksh": {
+ "name": "кёльн тілі"
+ },
+ "cgg": {
+ "name": "кига тілі"
+ },
+ "ki": {
+ "name": "кикуйю тілі"
+ },
+ "rw": {
+ "name": "киньяруанда тілі"
+ },
+ "khq": {
+ "name": "койра чини тілі"
+ },
+ "ses": {
+ "name": "койраборо сенни тілі"
+ },
+ "sw-CD": {
+ "name": "конго суахили тілі"
+ },
+ "kok": {
+ "name": "конкани тілі"
+ },
+ "ko": {
+ "name": "корей тілі"
+ },
+ "kw": {
+ "name": "корн тілі"
+ },
+ "km": {
+ "name": "кхмер тілі"
+ },
+ "kk": {
+ "name": "қазақ тілі"
+ },
+ "ky": {
+ "name": "қырғыз тілі"
+ },
+ "zh": {
+ "name": "қытай тілі"
+ },
+ "lkt": {
+ "name": "лакота тілі"
+ },
+ "lag": {
+ "name": "ланги тілі"
+ },
+ "lo": {
+ "name": "лаос тілі"
+ },
+ "lv": {
+ "name": "латыш тілі"
+ },
+ "ln": {
+ "name": "лингала тілі"
+ },
+ "lt": {
+ "name": "литва тілі"
+ },
+ "lu": {
+ "name": "луба-катанга тілі"
+ },
+ "luo": {
+ "name": "луо тілі"
+ },
+ "luy": {
+ "name": "лухиа тілі"
+ },
+ "lb": {
+ "name": "люксембург тілі"
+ },
+ "mzn": {
+ "name": "мазандеран тілі"
+ },
+ "mk": {
+ "name": "македон тілі"
+ },
+ "kde": {
+ "name": "маконде тілі"
+ },
+ "mgh": {
+ "name": "макуа-меетто тілі"
+ },
+ "mg": {
+ "name": "малагаси тілі"
+ },
+ "ms": {
+ "name": "малай тілі"
+ },
+ "ml": {
+ "name": "малаялам тілі"
+ },
+ "mt": {
+ "name": "мальта тілі"
+ },
+ "mr": {
+ "name": "маратхи тілі"
+ },
+ "zgh": {
+ "name": "марокколық стандартты тамазигхт тілі"
+ },
+ "mas": {
+ "name": "масай тілі"
+ },
+ "jmc": {
+ "name": "мачаме тілі"
+ },
+ "mer": {
+ "name": "меру тілі"
+ },
+ "mgo": {
+ "name": "мета тілі"
+ },
+ "ro-MD": {
+ "name": "молдован тілі"
+ },
+ "mn": {
+ "name": "моңғол тілі"
+ },
+ "mfe": {
+ "name": "морисиен тілі"
+ },
+ "mua": {
+ "name": "мунданг тілі"
+ },
+ "gv": {
+ "name": "мэн тілі"
+ },
+ "naq": {
+ "name": "нама тілі"
+ },
+ "nnh": {
+ "name": "нгиембун тілі"
+ },
+ "jgo": {
+ "name": "нгомба тілі"
+ },
+ "de": {
+ "name": "неміс тілі"
+ },
+ "de-AT": {
+ "name": "неміс тілі (Австрия)"
+ },
+ "de-CH": {
+ "name": "неміс тілі (Швейцария)"
+ },
+ "ne": {
+ "name": "непал тілі"
+ },
+ "nyn": {
+ "name": "нианколе тілі"
+ },
+ "nl": {
+ "name": "нидерланд тілі"
+ },
+ "nb": {
+ "name": "норвегиялық букмол тілі"
+ },
+ "nn": {
+ "name": "норвегиялық нюнорск тілі"
+ },
+ "nus": {
+ "name": "нуэр тілі"
+ },
+ "or": {
+ "name": "ория тілі"
+ },
+ "om": {
+ "name": "оромо тілі"
+ },
+ "tzm": {
+ "name": "орталық атлас тамазигхт тілі"
+ },
+ "ru": {
+ "name": "орыс тілі"
+ },
+ "os": {
+ "name": "осетин тілі"
+ },
+ "uz": {
+ "name": "өзбек тілі"
+ },
+ "fa": {
+ "name": "парсы тілі"
+ },
+ "pa": {
+ "name": "пенджаб тілі"
+ },
+ "pl": {
+ "name": "поляк тілі"
+ },
+ "pt": {
+ "name": "португал тілі"
+ },
+ "pt-PT": {
+ "name": "португал тілі (Португалия)"
+ },
+ "prg": {
+ "name": "пруссия тілі"
+ },
+ "ps": {
+ "name": "пушту тілі"
+ },
+ "rm": {
+ "name": "романш тілі"
+ },
+ "rof": {
+ "name": "ромбо тілі"
+ },
+ "rwk": {
+ "name": "руа тілі"
+ },
+ "ro": {
+ "name": "румын тілі"
+ },
+ "rn": {
+ "name": "рунди тілі"
+ },
+ "saq": {
+ "name": "самбуру тілі"
+ },
+ "sg": {
+ "name": "санго тілі"
+ },
+ "sbp": {
+ "name": "сангу тілі"
+ },
+ "seh": {
+ "name": "сена тілі"
+ },
+ "sr": {
+ "name": "серб тілі"
+ },
+ "si": {
+ "name": "сингал тілі"
+ },
+ "sk": {
+ "name": "словак тілі"
+ },
+ "sl": {
+ "name": "словен тілі"
+ },
+ "xog": {
+ "name": "сога тілі"
+ },
+ "lrc": {
+ "name": "солтүстік люри тілі"
+ },
+ "nd": {
+ "name": "солтүстік ндебеле тілі"
+ },
+ "se": {
+ "name": "солтүстік саам тілі"
+ },
+ "so": {
+ "name": "сомали тілі"
+ },
+ "ckb": {
+ "name": "сорани тілі"
+ },
+ "sw": {
+ "name": "суахили тілі"
+ },
+ "ii": {
+ "name": "сычуан и тілі"
+ },
+ "dav": {
+ "name": "таита тілі"
+ },
+ "th": {
+ "name": "тай тілі"
+ },
+ "ta": {
+ "name": "тамил тілі"
+ },
+ "twq": {
+ "name": "тасавак тілі"
+ },
+ "shi": {
+ "name": "ташелхит тілі"
+ },
+ "te": {
+ "name": "телугу тілі"
+ },
+ "teo": {
+ "name": "тесо тілі"
+ },
+ "bo": {
+ "name": "тибет тілі"
+ },
+ "ti": {
+ "name": "тигринья тілі"
+ },
+ "to": {
+ "name": "тонган тілі"
+ },
+ "dsb": {
+ "name": "төменгі лужица тілі"
+ },
+ "nds": {
+ "name": "төменгі неміс тілі"
+ },
+ "nds-NL": {
+ "name": "төменгі саксон тілі"
+ },
+ "tr": {
+ "name": "түрік тілі"
+ },
+ "tk": {
+ "name": "түрікмен тілі"
+ },
+ "uk": {
+ "name": "украин тілі"
+ },
+ "ur": {
+ "name": "урду тілі"
+ },
+ "ug": {
+ "name": "ұйғыр тілі"
+ },
+ "fo": {
+ "name": "фарер тілі"
+ },
+ "fil": {
+ "name": "филиппин тілі"
+ },
+ "fi": {
+ "name": "фин тілі"
+ },
+ "nl-BE": {
+ "name": "фламанд тілі"
+ },
+ "fr": {
+ "name": "француз тілі"
+ },
+ "fr-CA": {
+ "name": "француз тілі (Канада)"
+ },
+ "fr-CH": {
+ "name": "француз тілі (Швейцария)"
+ },
+ "fur": {
+ "name": "фриуль тілі"
+ },
+ "ff": {
+ "name": "фула тілі"
+ },
+ "ha": {
+ "name": "хауса тілі"
+ },
+ "hi": {
+ "name": "хинди тілі"
+ },
+ "hr": {
+ "name": "хорват тілі"
+ },
+ "chr": {
+ "name": "чероки тілі"
+ },
+ "cs": {
+ "name": "чех тілі"
+ },
+ "ksb": {
+ "name": "шамбала тілі"
+ },
+ "sv": {
+ "name": "швед тілі"
+ },
+ "gsw": {
+ "name": "швейцариялық неміс тілі"
+ },
+ "ce": {
+ "name": "шешен тілі"
+ },
+ "sn": {
+ "name": "шона тілі"
+ },
+ "cu": {
+ "name": "шіркеулік славян тілі"
+ },
+ "ee": {
+ "name": "эве тілі"
+ },
+ "ewo": {
+ "name": "эвондо тілі"
+ },
+ "ebu": {
+ "name": "эмбу тілі"
+ },
+ "eo": {
+ "name": "эсперанто тілі"
+ },
+ "et": {
+ "name": "эстон тілі"
+ },
+ "sah": {
+ "name": "якут тілі"
+ },
+ "yav": {
+ "name": "янгбен тілі"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/kln.json b/vendor/commerceguys/intl/resources/language/kln.json
new file mode 100644
index 000000000..29a2670b6
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/kln.json
@@ -0,0 +1,632 @@
+{
+ "af": {
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "sq": {
+ "name": "Albanian"
+ },
+ "hy": {
+ "name": "Armenian"
+ },
+ "as": {
+ "name": "Assamese"
+ },
+ "ast": {
+ "name": "Asturian"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "az": {
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "eu": {
+ "name": "Basque"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "bs": {
+ "name": "Bosnian"
+ },
+ "br": {
+ "name": "Breton"
+ },
+ "yue": {
+ "name": "Cantonese"
+ },
+ "ca": {
+ "name": "Catalan"
+ },
+ "tzm": {
+ "name": "Central Atlas Tamazight"
+ },
+ "ckb": {
+ "name": "Central Kurdish"
+ },
+ "ce": {
+ "name": "Chechen"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "cu": {
+ "name": "Church Slavic"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "kw": {
+ "name": "Cornish"
+ },
+ "hr": {
+ "name": "Croatian"
+ },
+ "da": {
+ "name": "Danish"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "dz": {
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "eo": {
+ "name": "Esperanto"
+ },
+ "et": {
+ "name": "Estonian"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fo": {
+ "name": "Faroese"
+ },
+ "fil": {
+ "name": "Filipino"
+ },
+ "fi": {
+ "name": "Finnish"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "gl": {
+ "name": "Galician"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "ka": {
+ "name": "Georgian"
+ },
+ "gu": {
+ "name": "Gujarati"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "haw": {
+ "name": "Hawaiian"
+ },
+ "he": {
+ "name": "Hebrew"
+ },
+ "is": {
+ "name": "Icelandic"
+ },
+ "smn": {
+ "name": "Inari Sami"
+ },
+ "ga": {
+ "name": "Irish"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabyle"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kl": {
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "kn": {
+ "name": "Kannada"
+ },
+ "ks": {
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "name": "Kazakh"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "ak": {
+ "name": "kutitab Aka"
+ },
+ "am": {
+ "name": "kutitab Amariek"
+ },
+ "ar": {
+ "name": "kutitab Arabuk"
+ },
+ "be": {
+ "name": "kutitab Belarusa"
+ },
+ "bn": {
+ "name": "kutitab Bengali"
+ },
+ "nl": {
+ "name": "kutitab Boa"
+ },
+ "nl-BE": {
+ "name": "kutitab Boa (Emetab Belgium)"
+ },
+ "bg": {
+ "name": "kutitab Bulgaria"
+ },
+ "my": {
+ "name": "kutitab Burma"
+ },
+ "cs": {
+ "name": "kutitab Chek"
+ },
+ "de": {
+ "name": "kutitab Chermani"
+ },
+ "de-AT": {
+ "name": "kutitab Chermani (Emetab Austria)"
+ },
+ "de-CH": {
+ "name": "kutitab Chermani (Emetab Switzerland)"
+ },
+ "zh": {
+ "name": "kutitab China"
+ },
+ "zh-Hans": {
+ "name": "kutitab China (Hans)"
+ },
+ "zh-Hant": {
+ "name": "kutitab China (Hant)"
+ },
+ "es": {
+ "name": "kutitab Espianik"
+ },
+ "es-MX": {
+ "name": "kutitab Espianik (Emetab Mexico)"
+ },
+ "el": {
+ "name": "kutitab Greece"
+ },
+ "hu": {
+ "name": "kutitab Hangari"
+ },
+ "ha": {
+ "name": "kutitab Hausa"
+ },
+ "ig": {
+ "name": "kutitab Igbo"
+ },
+ "id": {
+ "name": "kutitab Indonesia"
+ },
+ "km": {
+ "name": "kutitab Kher nebo Kwen"
+ },
+ "fr": {
+ "name": "kutitab Kifaransa"
+ },
+ "fr-CA": {
+ "name": "kutitab Kifaransa (Emetab Canada)"
+ },
+ "fr-CH": {
+ "name": "kutitab Kifaransa (Emetab Switzerland)"
+ },
+ "rw": {
+ "name": "kutitab Kinyarwanda"
+ },
+ "ko": {
+ "name": "kutitab Korea"
+ },
+ "hi": {
+ "name": "kutitab Maindiik"
+ },
+ "ms": {
+ "name": "kutitab Malay"
+ },
+ "ne": {
+ "name": "kutitab Nepali"
+ },
+ "fa": {
+ "name": "kutitab Persia"
+ },
+ "pt": {
+ "name": "kutitab Portugal"
+ },
+ "pt-PT": {
+ "name": "kutitab Portugal (Emetab Portugal)"
+ },
+ "pa": {
+ "name": "kutitab Punjab"
+ },
+ "ro": {
+ "name": "kutitab Romaniek"
+ },
+ "ro-MD": {
+ "name": "kutitab Romaniek (Emetab Moldova)"
+ },
+ "ru": {
+ "name": "kutitab Russia"
+ },
+ "so": {
+ "name": "kutitab Somaliek"
+ },
+ "sv": {
+ "name": "kutitab Sweden"
+ },
+ "it": {
+ "name": "kutitab Talianek"
+ },
+ "ta": {
+ "name": "kutitab Tamil"
+ },
+ "th": {
+ "name": "kutitab Thailand"
+ },
+ "tr": {
+ "name": "kutitab Turkey"
+ },
+ "en": {
+ "name": "kutitab Uingeresa"
+ },
+ "en-AU": {
+ "name": "kutitab Uingeresa (Emetab Australia)"
+ },
+ "en-CA": {
+ "name": "kutitab Uingeresa (Emetab Canada)"
+ },
+ "en-GB": {
+ "name": "kutitab Uingeresa (Emetab Kibagenge nebo Uingereza)"
+ },
+ "uk": {
+ "name": "kutitab Ukraine"
+ },
+ "ur": {
+ "name": "kutitab Urdu"
+ },
+ "vi": {
+ "name": "kutitab Vietnam"
+ },
+ "yo": {
+ "name": "kutitab Yoruba"
+ },
+ "zu": {
+ "name": "kutitab Zulu"
+ },
+ "ja": {
+ "name": "kutitap Japan"
+ },
+ "pl": {
+ "name": "kutitap Poland"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "ky": {
+ "name": "Kyrgyz"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "Lao"
+ },
+ "lv": {
+ "name": "Latvian"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "lt": {
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "mk": {
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "mg": {
+ "name": "Malagasy"
+ },
+ "ml": {
+ "name": "Malayalam"
+ },
+ "mt": {
+ "name": "Maltese"
+ },
+ "gv": {
+ "name": "Manx"
+ },
+ "mr": {
+ "name": "Marathi"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "mn": {
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nds-NL": {
+ "name": "nds (Emetab Holand)"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "nd": {
+ "name": "North Ndebele"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "se": {
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "or": {
+ "name": "Odia"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "os": {
+ "name": "Ossetic"
+ },
+ "ps": {
+ "name": "Pashto"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "qu": {
+ "name": "Quechua"
+ },
+ "rm": {
+ "name": "Romansh"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "rn": {
+ "name": "Rundi"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "sah": {
+ "name": "Sakha"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "gd": {
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "sr": {
+ "name": "Serbian"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "si": {
+ "name": "Sinhala"
+ },
+ "sk": {
+ "name": "Slovak"
+ },
+ "sl": {
+ "name": "Slovenian"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw-CD": {
+ "name": "sw (Emetab Congo - Kinshasa)"
+ },
+ "sw": {
+ "name": "Swahili"
+ },
+ "gsw": {
+ "name": "Swiss German"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "te": {
+ "name": "Telugu"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "bo": {
+ "name": "Tibetan"
+ },
+ "ti": {
+ "name": "Tigrinya"
+ },
+ "to": {
+ "name": "Tongan"
+ },
+ "tk": {
+ "name": "Turkmen"
+ },
+ "hsb": {
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "name": "Uyghur"
+ },
+ "uz": {
+ "name": "Uzbek"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "cy": {
+ "name": "Welsh"
+ },
+ "fy": {
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "yi": {
+ "name": "Yiddish"
+ },
+ "dje": {
+ "name": "Zarma"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/km.json b/vendor/commerceguys/intl/resources/language/km.json
new file mode 100644
index 000000000..0ba26ea49
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/km.json
@@ -0,0 +1,635 @@
+{
+ "yue": {
+ "name": "កន្តាំង"
+ },
+ "kkj": {
+ "name": "កាកូ"
+ },
+ "ca": {
+ "name": "កាតាឡាន"
+ },
+ "kab": {
+ "name": "កាប៊ីឡេ"
+ },
+ "kea": {
+ "name": "កាប៊ូវឺឌៀនូ"
+ },
+ "kln": {
+ "name": "កាលែនជីន"
+ },
+ "ks": {
+ "name": "កាស្មៀរ"
+ },
+ "kk": {
+ "name": "កាហ្សាក់"
+ },
+ "kl": {
+ "name": "កាឡាលលីស៊ុត"
+ },
+ "sw-CD": {
+ "name": "កុងហ្គោស្វាហ៊ីលី"
+ },
+ "kw": {
+ "name": "កូនីស"
+ },
+ "ko": {
+ "name": "កូរ៉េ"
+ },
+ "ksh": {
+ "name": "កូឡូញ"
+ },
+ "ky": {
+ "name": "​កៀហ្ស៊ីស"
+ },
+ "kam": {
+ "name": "កាំបា"
+ },
+ "el": {
+ "name": "ក្រិក"
+ },
+ "hr": {
+ "name": "ក្រូអាត"
+ },
+ "nmg": {
+ "name": "ក្វាស្យូ"
+ },
+ "kn": {
+ "name": "ខាណាដា"
+ },
+ "km": {
+ "name": "ខ្មែរ"
+ },
+ "rw": {
+ "name": "គិនយ៉ាវ៉ាន់ដា"
+ },
+ "ki": {
+ "name": "គីគូយូ"
+ },
+ "kok": {
+ "name": "គុនកានី"
+ },
+ "khq": {
+ "name": "គុយរ៉ាឈីនី"
+ },
+ "ses": {
+ "name": "គុយរ៉ាបូរ៉ុស៊ីនី"
+ },
+ "ckb": {
+ "name": "ឃឺដកណ្ដាល"
+ },
+ "nnh": {
+ "name": "ងៀមប៊ូន"
+ },
+ "jgo": {
+ "name": "ងុំបា"
+ },
+ "zh": {
+ "name": "ចិន"
+ },
+ "zh-Hans": {
+ "name": "ចិន​អក្សរ​កាត់"
+ },
+ "zh-Hant": {
+ "name": "ចិន​អក្សរ​ពេញ"
+ },
+ "dyo": {
+ "name": "ចូឡាហ៊្វុនយី"
+ },
+ "cs": {
+ "name": "ឆេក"
+ },
+ "chr": {
+ "name": "ឆេរូគី"
+ },
+ "ja": {
+ "name": "ជប៉ុន"
+ },
+ "ce": {
+ "name": "ឈីឆេន"
+ },
+ "cgg": {
+ "name": "ឈីហ្គា"
+ },
+ "cu": {
+ "name": "ឈឺជស្លាវិក"
+ },
+ "da": {
+ "name": "ដាណឺម៉ាក"
+ },
+ "dz": {
+ "name": "ដុងខា"
+ },
+ "dua": {
+ "name": "ឌួលឡា"
+ },
+ "nyn": {
+ "name": "ណានកូលេ"
+ },
+ "naq": {
+ "name": "ណាម៉ា"
+ },
+ "shi": {
+ "name": "តាឈីលហ៊ីត"
+ },
+ "tzm": {
+ "name": "តាម៉ាសាយអាត្លាសកណ្តាល"
+ },
+ "zgh": {
+ "name": "តាម៉ាហ្សៃម៉ារ៉ុកស្តង់ដា"
+ },
+ "ta": {
+ "name": "តាមីល"
+ },
+ "twq": {
+ "name": "តាសាវ៉ាក់"
+ },
+ "to": {
+ "name": "តុងហ្គា"
+ },
+ "tk": {
+ "name": "តួកម៉េន"
+ },
+ "te": {
+ "name": "តេលុគុ"
+ },
+ "teo": {
+ "name": "តេសូ"
+ },
+ "dav": {
+ "name": "តៃតា"
+ },
+ "th": {
+ "name": "ថៃ"
+ },
+ "bo": {
+ "name": "ទីបេ"
+ },
+ "ti": {
+ "name": "ទីហ្គ្រីញ៉ា"
+ },
+ "tr": {
+ "name": "ទួរគី"
+ },
+ "nn": {
+ "name": "ន័រវែស នីនូស"
+ },
+ "nb": {
+ "name": "ន័រវែស បុកម៉ាល់"
+ },
+ "nus": {
+ "name": "នូអ័រ"
+ },
+ "ne": {
+ "name": "នេប៉ាល់"
+ },
+ "nd": {
+ "name": "នេបេលេខាងជើង"
+ },
+ "bn": {
+ "name": "បង់ក្លាដែស"
+ },
+ "bm": {
+ "name": "បាម្បារា"
+ },
+ "fr": {
+ "name": "បារាំង"
+ },
+ "fr-CA": {
+ "name": "បារាំង (កាណាដា)"
+ },
+ "fr-CH": {
+ "name": "បារាំង (ស្វីស)"
+ },
+ "eu": {
+ "name": "បាសខ៍"
+ },
+ "bas": {
+ "name": "បាសា"
+ },
+ "ps": {
+ "name": "បាស្តូ"
+ },
+ "ksf": {
+ "name": "បាហ្វៀ"
+ },
+ "pa": {
+ "name": "បឹនជាពិ"
+ },
+ "bg": {
+ "name": "ប៊ុលហ្គារី"
+ },
+ "brx": {
+ "name": "បូដូ"
+ },
+ "bs": {
+ "name": "បូស្នី"
+ },
+ "pl": {
+ "name": "ប៉ូឡូញ"
+ },
+ "bez": {
+ "name": "បេណា"
+ },
+ "bem": {
+ "name": "បេមបា"
+ },
+ "be": {
+ "name": "បេឡារុស្ស"
+ },
+ "br": {
+ "name": "ប្រីស្តុន"
+ },
+ "nl-BE": {
+ "name": "ផ្លាមីស"
+ },
+ "pt": {
+ "name": "ព័រទុយហ្គាល់"
+ },
+ "pt-PT": {
+ "name": "ព័រទុយហ្គាល់ (អឺរ៉ុប)"
+ },
+ "prg": {
+ "name": "ព្រូស៊ាន"
+ },
+ "fa": {
+ "name": "ភឺសៀន"
+ },
+ "my": {
+ "name": "ភូមា"
+ },
+ "mgh": {
+ "name": "ម៉ាកគូវ៉ាមីតូ"
+ },
+ "kde": {
+ "name": "ម៉ាកូនដេ"
+ },
+ "jmc": {
+ "name": "ម៉ាឆាំ"
+ },
+ "mr": {
+ "name": "ម៉ារ៉ាធី"
+ },
+ "mt": {
+ "name": "ម៉ាល់តា"
+ },
+ "mk": {
+ "name": "ម៉ាសេដូនី"
+ },
+ "mas": {
+ "name": "ម៉ាសៃ"
+ },
+ "mzn": {
+ "name": "ម៉ាហ្សានដឺរេនី"
+ },
+ "ml": {
+ "name": "ម៉ាឡាយ៉ាឡាម"
+ },
+ "mg": {
+ "name": "ម៉ាឡាហ្គាស៊ី"
+ },
+ "ms": {
+ "name": "ម៉ាឡេ"
+ },
+ "mn": {
+ "name": "ម៉ុងហ្គោលី"
+ },
+ "mua": {
+ "name": "មុនដាង"
+ },
+ "ro-MD": {
+ "name": "ម៉ុលដាវី"
+ },
+ "mfe": {
+ "name": "ម៉ូរីស៊ីន"
+ },
+ "mgo": {
+ "name": "មេតា"
+ },
+ "gv": {
+ "name": "មេន"
+ },
+ "mer": {
+ "name": "មេរូ"
+ },
+ "yo": {
+ "name": "យរូបា"
+ },
+ "yav": {
+ "name": "យ៉ាងបេន"
+ },
+ "yi": {
+ "name": "យីឌីហ្ស"
+ },
+ "rof": {
+ "name": "រុមបូ"
+ },
+ "ru": {
+ "name": "រុស្ស៊ី"
+ },
+ "rn": {
+ "name": "រូន្ឌី"
+ },
+ "rm": {
+ "name": "រ៉ូម៉ង់"
+ },
+ "ro": {
+ "name": "រូម៉ានី"
+ },
+ "rwk": {
+ "name": "រ៉្វា"
+ },
+ "lt": {
+ "name": "លីទុយអានី"
+ },
+ "ln": {
+ "name": "លីនកាឡា"
+ },
+ "lb": {
+ "name": "លុចហ្សំបួរ"
+ },
+ "lu": {
+ "name": "លូបាកាតានហ្គា"
+ },
+ "luy": {
+ "name": "លូយ៉ា"
+ },
+ "lrc": {
+ "name": "លូរីខាងជើង"
+ },
+ "luo": {
+ "name": "លូអូ"
+ },
+ "vun": {
+ "name": "វុនចូ"
+ },
+ "vo": {
+ "name": "វូឡាពូក"
+ },
+ "vi": {
+ "name": "វៀតណាម"
+ },
+ "cy": {
+ "name": "វេល"
+ },
+ "wae": {
+ "name": "វេលសឺ"
+ },
+ "vai": {
+ "name": "វៃ"
+ },
+ "sah": {
+ "name": "សាខា"
+ },
+ "sbp": {
+ "name": "សានហ្គូ"
+ },
+ "sg": {
+ "name": "សានហ្គោ"
+ },
+ "ksb": {
+ "name": "សាមបាឡា"
+ },
+ "saq": {
+ "name": "សាមបូរូ"
+ },
+ "se": {
+ "name": "សាមីខាងជើង"
+ },
+ "ii": {
+ "name": "ស៊ីឈាន់យី"
+ },
+ "seh": {
+ "name": "ស៊ីណា"
+ },
+ "sv": {
+ "name": "ស៊ុយអែត"
+ },
+ "sn": {
+ "name": "សូណា"
+ },
+ "dsb": {
+ "name": "សូប៊ីក្រោម"
+ },
+ "hsb": {
+ "name": "សូប៊ីលើ"
+ },
+ "so": {
+ "name": "សូម៉ាលី"
+ },
+ "zu": {
+ "name": "សូលូ"
+ },
+ "xog": {
+ "name": "សូហ្គា"
+ },
+ "sr": {
+ "name": "ស៊ែប"
+ },
+ "gd": {
+ "name": "ស្កុតហ្កែលិគ"
+ },
+ "si": {
+ "name": "ស្រីលង្កា"
+ },
+ "sk": {
+ "name": "ស្លូវ៉ាគី"
+ },
+ "sl": {
+ "name": "ស្លូវ៉ានី"
+ },
+ "sw": {
+ "name": "ស្វាហ៊ីលី"
+ },
+ "haw": {
+ "name": "ហាវៃ"
+ },
+ "hi": {
+ "name": "ហិណ្ឌី"
+ },
+ "hu": {
+ "name": "ហុងគ្រី"
+ },
+ "ha": {
+ "name": "ហូសា"
+ },
+ "nl": {
+ "name": "ហូឡង់"
+ },
+ "gu": {
+ "name": "ហ្កុយ៉ារាទី"
+ },
+ "lg": {
+ "name": "ហ្គាន់ដា"
+ },
+ "gl": {
+ "name": "ហ្គាលីស្យាន"
+ },
+ "qu": {
+ "name": "ហ្គិកឈួ"
+ },
+ "guz": {
+ "name": "ហ្គូស៊ី"
+ },
+ "fo": {
+ "name": "ហ្វារូស"
+ },
+ "fil": {
+ "name": "ហ្វីលីពីន"
+ },
+ "ff": {
+ "name": "ហ្វ៊ូឡា"
+ },
+ "fi": {
+ "name": "ហ្វាំងឡង់"
+ },
+ "fy": {
+ "name": "ហ្វ្រីស៊ានខាងលិច"
+ },
+ "fur": {
+ "name": "ហ៊្វ្រូលាន"
+ },
+ "ka": {
+ "name": "ហ្សក​ហ្ស៊ី"
+ },
+ "nds-NL": {
+ "name": "ហ្សាក់ស្យុងក្រោម"
+ },
+ "dje": {
+ "name": "ហ្សាម៉ា"
+ },
+ "lkt": {
+ "name": "ឡាកូតា"
+ },
+ "lv": {
+ "name": "ឡាតវី"
+ },
+ "lag": {
+ "name": "ឡានហ្គី"
+ },
+ "lo": {
+ "name": "ឡាវ"
+ },
+ "en": {
+ "name": "អង់គ្លេស"
+ },
+ "en-CA": {
+ "name": "អង់គ្លេស (កាណាដា)"
+ },
+ "en-GB": {
+ "name": "អង់គ្លេស (ចក្រភព​អង់គ្លេស)"
+ },
+ "en-AU": {
+ "name": "អង់គ្លេស (អូស្ត្រាលី)"
+ },
+ "ak": {
+ "name": "អាកាន"
+ },
+ "hy": {
+ "name": "អាមេនី"
+ },
+ "ar": {
+ "name": "អារ៉ាប់"
+ },
+ "sq": {
+ "name": "អាល់បានី"
+ },
+ "de": {
+ "name": "អាល្លឺម៉ង់"
+ },
+ "gsw": {
+ "name": "អាល្លឺម៉ង (ស្វីស)"
+ },
+ "de-CH": {
+ "name": "អាល្លឺម៉ង់ (ស្វីស)"
+ },
+ "de-AT": {
+ "name": "អាល្លឺម៉ង់ (អូទ្រីស)"
+ },
+ "nds": {
+ "name": "អាល្លឺម៉ង់ក្រោម"
+ },
+ "as": {
+ "name": "អាសាមីស"
+ },
+ "asa": {
+ "name": "អាស៊ូ"
+ },
+ "az": {
+ "name": "អាស៊ែបៃហ្សង់"
+ },
+ "ast": {
+ "name": "អាស្ទូរី"
+ },
+ "agq": {
+ "name": "អាហ្គីម"
+ },
+ "af": {
+ "name": "អាហ្វ្រិកាន"
+ },
+ "id": {
+ "name": "ឥណ្ឌូណេស៊ី"
+ },
+ "ig": {
+ "name": "អ៊ីកបូ"
+ },
+ "smn": {
+ "name": "អ៊ីណារីសាម៉ី"
+ },
+ "it": {
+ "name": "អ៊ីតាលី"
+ },
+ "ee": {
+ "name": "អ៊ីវ"
+ },
+ "ewo": {
+ "name": "អ៊ីវ៉ុនដូ"
+ },
+ "he": {
+ "name": "អ៊ីស្រាអែល"
+ },
+ "is": {
+ "name": "អ៊ីស្លង់"
+ },
+ "uk": {
+ "name": "អ៊ុយក្រែន"
+ },
+ "ug": {
+ "name": "អ៊ុយហ្គឺរ"
+ },
+ "or": {
+ "name": "អូឌៀ"
+ },
+ "ur": {
+ "name": "អ៊ូរឌូ"
+ },
+ "om": {
+ "name": "អូរ៉ូម៉ូ"
+ },
+ "uz": {
+ "name": "អ៊ូសបេគ"
+ },
+ "os": {
+ "name": "អូស៊ីទិក"
+ },
+ "ga": {
+ "name": "អៀរឡង់"
+ },
+ "ebu": {
+ "name": "អេមប៊ូ"
+ },
+ "et": {
+ "name": "អេស្តូនី"
+ },
+ "es": {
+ "name": "អេស្ប៉ាញ"
+ },
+ "es-MX": {
+ "name": "អេស្ប៉ាញ (ម៉ិកស៊ិក)"
+ },
+ "eo": {
+ "name": "អេស្ពេរ៉ាន់តូ"
+ },
+ "am": {
+ "name": "អំហារិក"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/kn.json b/vendor/commerceguys/intl/resources/language/kn.json
new file mode 100644
index 000000000..af42d6c22
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/kn.json
@@ -0,0 +1,635 @@
+{
+ "am": {
+ "name": "ಅಂಹರಿಕ್"
+ },
+ "ak": {
+ "name": "ಅಕಾನ್"
+ },
+ "agq": {
+ "name": "ಅಘೆಮ್"
+ },
+ "az": {
+ "name": "ಅಜೆರ್ಬೈಜಾನಿ"
+ },
+ "hsb": {
+ "name": "ಅಪ್ಪರ್ ಸರ್ಬಿಯನ್"
+ },
+ "ar": {
+ "name": "ಅರೇಬಿಕ್"
+ },
+ "hy": {
+ "name": "ಅರ್ಮೇನಿಯನ್"
+ },
+ "sq": {
+ "name": "ಅಲ್ಬೇನಿಯನ್"
+ },
+ "asa": {
+ "name": "ಅಸು"
+ },
+ "as": {
+ "name": "ಅಸ್ಸಾಮೀಸ್"
+ },
+ "af": {
+ "name": "ಆಫ್ರಿಕಾನ್ಸ್"
+ },
+ "ast": {
+ "name": "ಆಸ್ಟುರಿಯನ್"
+ },
+ "de-AT": {
+ "name": "ಆಸ್ಟ್ರಿಯನ್ ಜರ್ಮನ್"
+ },
+ "en-AU": {
+ "name": "ಆಸ್ಟ್ರೇಲಿಯನ್ ಇಂಗ್ಲೀಷ್"
+ },
+ "en": {
+ "name": "ಇಂಗ್ಲೀಷ್"
+ },
+ "id": {
+ "name": "ಇಂಡೋನೇಶಿಯನ್"
+ },
+ "ig": {
+ "name": "ಇಗ್ಬೊ"
+ },
+ "it": {
+ "name": "ಇಟಾಲಿಯನ್"
+ },
+ "smn": {
+ "name": "ಇನರಿ ಸಾಮಿ"
+ },
+ "ewo": {
+ "name": "ಇವಾಂಡೋ"
+ },
+ "ee": {
+ "name": "ಈವ್"
+ },
+ "uk": {
+ "name": "ಉಕ್ರೈನಿಯನ್"
+ },
+ "uz": {
+ "name": "ಉಜ್ಬೇಕ್"
+ },
+ "nd": {
+ "name": "ಉತ್ತರ ದೆಬೆಲೆ"
+ },
+ "lrc": {
+ "name": "ಉತ್ತರ ಲೂರಿ"
+ },
+ "se": {
+ "name": "ಉತ್ತರ ಸಾಮಿ"
+ },
+ "ug": {
+ "name": "ಉಯಿಘರ್"
+ },
+ "ur": {
+ "name": "ಉರ್ದು"
+ },
+ "ebu": {
+ "name": "ಎಂಬು"
+ },
+ "et": {
+ "name": "ಎಸ್ಟೊನಿಯನ್"
+ },
+ "eo": {
+ "name": "ಎಸ್ಪೆರಾಂಟೊ"
+ },
+ "ga": {
+ "name": "ಐರಿಷ್"
+ },
+ "is": {
+ "name": "ಐಸ್ಲಾಂಡಿಕ್"
+ },
+ "or": {
+ "name": "ಒರಿಯಾ"
+ },
+ "os": {
+ "name": "ಒಸ್ಸೆಟಿಕ್"
+ },
+ "om": {
+ "name": "ಓರೊಮೋ"
+ },
+ "kam": {
+ "name": "ಕಂಬಾ"
+ },
+ "kk": {
+ "name": "ಕಝಕ್"
+ },
+ "kn": {
+ "name": "ಕನ್ನಡ"
+ },
+ "kea": {
+ "name": "ಕಬುವೆರ್ಡಿಯನು"
+ },
+ "kab": {
+ "name": "ಕಬೈಲ್"
+ },
+ "kl": {
+ "name": "ಕಲಾಲ್ಲಿಸುಟ್"
+ },
+ "kln": {
+ "name": "ಕಲೆಂಜಿನ್"
+ },
+ "ksh": {
+ "name": "ಕಲೊಗ್ನಿಯನ್"
+ },
+ "sw-CD": {
+ "name": "ಕಾಂಗೊ ಸ್ವಹಿಲಿ"
+ },
+ "kkj": {
+ "name": "ಕಾಕೊ"
+ },
+ "kw": {
+ "name": "ಕಾರ್ನಿಷ್"
+ },
+ "ks": {
+ "name": "ಕಾಶ್ಮೀರಿ"
+ },
+ "ki": {
+ "name": "ಕಿಕುಯು"
+ },
+ "ky": {
+ "name": "ಕಿರ್ಗಿಜ್"
+ },
+ "rw": {
+ "name": "ಕೀನ್ಯಾರುವಾಂಡಾ"
+ },
+ "ca": {
+ "name": "ಕೆಟಲಾನ್"
+ },
+ "en-CA": {
+ "name": "ಕೆನೆಡಿಯನ್ ಇಂಗ್ಲೀಷ್"
+ },
+ "fr-CA": {
+ "name": "ಕೆನೆಡಿಯನ್ ಫ್ರೆಂಚ್"
+ },
+ "kok": {
+ "name": "ಕೊಂಕಣಿ"
+ },
+ "khq": {
+ "name": "ಕೊಯ್ರ ಚೀನಿ"
+ },
+ "ses": {
+ "name": "ಕೊಯ್ರಬೊರೊ ಸೆನ್ನಿ"
+ },
+ "ko": {
+ "name": "ಕೊರಿಯನ್"
+ },
+ "yue": {
+ "name": "ಕ್ಯಾಂಟನೀಸ್"
+ },
+ "hr": {
+ "name": "ಕ್ರೊಯೇಶಿಯನ್"
+ },
+ "qu": {
+ "name": "ಕ್ವೆಚುವಾ"
+ },
+ "km": {
+ "name": "ಖಮೇರ್"
+ },
+ "nmg": {
+ "name": "ಖ್ವಾಸಿಯೊ"
+ },
+ "lg": {
+ "name": "ಗಾಂಡಾ"
+ },
+ "gu": {
+ "name": "ಗುಜರಾತಿ"
+ },
+ "guz": {
+ "name": "ಗುಸಿ"
+ },
+ "gl": {
+ "name": "ಗ್ಯಾಲಿಶಿಯನ್"
+ },
+ "el": {
+ "name": "ಗ್ರೀಕ್"
+ },
+ "cu": {
+ "name": "ಚರ್ಚ್ ಸ್ಲಾವಿಕ್"
+ },
+ "cgg": {
+ "name": "ಚಿಗಾ"
+ },
+ "ce": {
+ "name": "ಚೆಚನ್"
+ },
+ "chr": {
+ "name": "ಚೆರೋಕೀ"
+ },
+ "zh": {
+ "name": "ಚೈನೀಸ್"
+ },
+ "de": {
+ "name": "ಜರ್ಮನ್"
+ },
+ "dje": {
+ "name": "ಜರ್ಮಾ"
+ },
+ "ja": {
+ "name": "ಜಾಪನೀಸ್"
+ },
+ "ka": {
+ "name": "ಜಾರ್ಜಿಯನ್"
+ },
+ "zu": {
+ "name": "ಜುಲು"
+ },
+ "cs": {
+ "name": "ಜೆಕ್"
+ },
+ "dyo": {
+ "name": "ಜೊಲ-ಫೊನ್ಯಿ"
+ },
+ "dz": {
+ "name": "ಜೋಂಗ್‌ಖಾ"
+ },
+ "tr": {
+ "name": "ಟರ್ಕಿಶ್"
+ },
+ "tk": {
+ "name": "ಟರ್ಕ್‌ಮೆನ್"
+ },
+ "shi": {
+ "name": "ಟಷೆಲ್‍ಹಿಟ್"
+ },
+ "twq": {
+ "name": "ಟಸವಕ್"
+ },
+ "ti": {
+ "name": "ಟಿಗ್ರಿನ್ಯಾ"
+ },
+ "bo": {
+ "name": "ಟಿಬೇಟಿಯನ್"
+ },
+ "teo": {
+ "name": "ಟೆಸೊ"
+ },
+ "dav": {
+ "name": "ಟೈಟ"
+ },
+ "to": {
+ "name": "ಟೋಂಗನ್"
+ },
+ "nl": {
+ "name": "ಡಚ್"
+ },
+ "dua": {
+ "name": "ಡುವಾಲಾ"
+ },
+ "da": {
+ "name": "ಡ್ಯಾನಿಶ್"
+ },
+ "ta": {
+ "name": "ತಮಿಳು"
+ },
+ "te": {
+ "name": "ತೆಲುಗು"
+ },
+ "th": {
+ "name": "ಥಾಯ್"
+ },
+ "naq": {
+ "name": "ನಮ"
+ },
+ "nb": {
+ "name": "ನಾರ್ವೆಜಿಯನ್ ಬೊಕ್ಮಲ್"
+ },
+ "nn": {
+ "name": "ನಾರ್ವೇಜಿಯನ್ ನೈನಾರ್ಸ್ಕ್"
+ },
+ "nnh": {
+ "name": "ನಿಂಬೂನ್"
+ },
+ "nus": {
+ "name": "ನೂಯರ್"
+ },
+ "ne": {
+ "name": "ನೇಪಾಳಿ"
+ },
+ "jgo": {
+ "name": "ನೊಂಬಾ"
+ },
+ "nyn": {
+ "name": "ನ್ಯಾನ್‌ಕೋಲೆ"
+ },
+ "pa": {
+ "name": "ಪಂಜಾಬಿ"
+ },
+ "fa": {
+ "name": "ಪರ್ಶಿಯನ್"
+ },
+ "fy": {
+ "name": "ಪಶ್ಚಿಮ ಫ್ರಿಸಿಯನ್"
+ },
+ "pl": {
+ "name": "ಪಾಲಿಷ್"
+ },
+ "ps": {
+ "name": "ಪಾಷ್ಟೋ"
+ },
+ "pt": {
+ "name": "ಪೋರ್ಚುಗೀಸ್"
+ },
+ "prg": {
+ "name": "ಪ್ರಶಿಯನ್"
+ },
+ "fo": {
+ "name": "ಫರೋಸಿ"
+ },
+ "fi": {
+ "name": "ಫಿನ್ನಿಶ್"
+ },
+ "fil": {
+ "name": "ಫಿಲಿಪಿನೊ"
+ },
+ "ff": {
+ "name": "ಫುಲಾಹ್"
+ },
+ "fur": {
+ "name": "ಫ್ರಿಯುಲಿಯನ್"
+ },
+ "fr": {
+ "name": "ಫ್ರೆಂಚ್"
+ },
+ "nl-BE": {
+ "name": "ಫ್ಲೆಮಿಷ್"
+ },
+ "bm": {
+ "name": "ಬಂಬಾರಾ"
+ },
+ "ksf": {
+ "name": "ಬಫಿಯ"
+ },
+ "my": {
+ "name": "ಬರ್ಮೀಸ್"
+ },
+ "bg": {
+ "name": "ಬಲ್ಗೇರಿಯನ್"
+ },
+ "bas": {
+ "name": "ಬಸಾ"
+ },
+ "bn": {
+ "name": "ಬಾಂಗ್ಲಾ"
+ },
+ "eu": {
+ "name": "ಬಾಸ್ಕ್"
+ },
+ "bem": {
+ "name": "ಬೆಂಬಾ"
+ },
+ "bez": {
+ "name": "ಬೆನ"
+ },
+ "be": {
+ "name": "ಬೆಲರೂಸಿಯನ್"
+ },
+ "brx": {
+ "name": "ಬೋಡೊ"
+ },
+ "bs": {
+ "name": "ಬೋಸ್ನಿಯನ್"
+ },
+ "en-GB": {
+ "name": "ಬ್ರಿಟಿಷ್ ಇಂಗ್ಲೀಷ್"
+ },
+ "br": {
+ "name": "ಬ್ರೆಟನ್"
+ },
+ "mn": {
+ "name": "ಮಂಗೋಲಿಯನ್"
+ },
+ "mzn": {
+ "name": "ಮಜಂದೆರಾನಿ"
+ },
+ "tzm": {
+ "name": "ಮಧ್ಯ ಅಟ್ಲಾಸ್ ಟಮಜೈಟ್"
+ },
+ "mr": {
+ "name": "ಮರಾಠಿ"
+ },
+ "mg": {
+ "name": "ಮಲಗಾಸಿ"
+ },
+ "ml": {
+ "name": "ಮಲಯಾಳಂ"
+ },
+ "ms": {
+ "name": "ಮಲಯ್"
+ },
+ "mas": {
+ "name": "ಮಸಾಯ್"
+ },
+ "mt": {
+ "name": "ಮಾಲ್ಟೀಸ್"
+ },
+ "ro-MD": {
+ "name": "ಮಾಲ್ಡೇವಿಯನ್"
+ },
+ "mua": {
+ "name": "ಮುಂಡಂಗ್"
+ },
+ "es-MX": {
+ "name": "ಮೆಕ್ಸಿಕನ್ ಸ್ಪ್ಯಾನಿಷ್"
+ },
+ "mgo": {
+ "name": "ಮೆಟಾ"
+ },
+ "mer": {
+ "name": "ಮೆರು"
+ },
+ "mk": {
+ "name": "ಮೆಸಿಡೋನಿಯನ್"
+ },
+ "mfe": {
+ "name": "ಮೊರಿಸನ್"
+ },
+ "jmc": {
+ "name": "ಮ್ಯಕಮೆ"
+ },
+ "mgh": {
+ "name": "ಮ್ಯಖುವಾ- ಮೀಟ್ಟೊ"
+ },
+ "gv": {
+ "name": "ಮ್ಯಾಂಕ್ಸ್"
+ },
+ "kde": {
+ "name": "ಮ್ಯಾಕೊಂಡ್"
+ },
+ "yav": {
+ "name": "ಯಾಂಗ್ಬೆನ್"
+ },
+ "yi": {
+ "name": "ಯಿಡ್ಡಿಶ್"
+ },
+ "pt-PT": {
+ "name": "ಯೂರೋಪಿಯನ್ ಪೋರ್ಚುಗೀಸ್"
+ },
+ "yo": {
+ "name": "ಯೊರುಬಾ"
+ },
+ "ru": {
+ "name": "ರಷ್ಯನ್"
+ },
+ "rn": {
+ "name": "ರುಂಡಿ"
+ },
+ "rwk": {
+ "name": "ರುವ"
+ },
+ "rof": {
+ "name": "ರೊಂಬೊ"
+ },
+ "rm": {
+ "name": "ರೊಮಾನ್ಷ್"
+ },
+ "ro": {
+ "name": "ರೊಮೇನಿಯನ್"
+ },
+ "lkt": {
+ "name": "ಲಕೊಟ"
+ },
+ "lb": {
+ "name": "ಲಕ್ಸಂಬರ್ಗಿಷ್"
+ },
+ "lv": {
+ "name": "ಲಟ್ವಿಯನ್"
+ },
+ "lag": {
+ "name": "ಲಾಂಗಿ"
+ },
+ "lo": {
+ "name": "ಲಾವೋ"
+ },
+ "ln": {
+ "name": "ಲಿಂಗಾಲ"
+ },
+ "lt": {
+ "name": "ಲಿಥುವೇನಿಯನ್"
+ },
+ "luy": {
+ "name": "ಲುಯಿಯ"
+ },
+ "luo": {
+ "name": "ಲುವೋ"
+ },
+ "lu": {
+ "name": "ಲೂಬಾ-ಕಟಾಂಗಾ"
+ },
+ "nds": {
+ "name": "ಲೋ ಜರ್ಮನ್"
+ },
+ "nds-NL": {
+ "name": "ಲೋ ಸ್ಯಾಕ್ಸನ್"
+ },
+ "dsb": {
+ "name": "ಲೋವರ್ ಸೋರ್ಬಿಯನ್"
+ },
+ "vai": {
+ "name": "ವಾಯಿ"
+ },
+ "wae": {
+ "name": "ವಾಲ್ಸರ್"
+ },
+ "vi": {
+ "name": "ವಿಯೇಟ್ನಾಮೀಸ್"
+ },
+ "vun": {
+ "name": "ವುಂಜೊ"
+ },
+ "cy": {
+ "name": "ವೆಲ್ಶ್"
+ },
+ "vo": {
+ "name": "ವೋಲಾಪುಕ್"
+ },
+ "ksb": {
+ "name": "ಶಂಬಲ"
+ },
+ "sn": {
+ "name": "ಶೋನಾ"
+ },
+ "sbp": {
+ "name": "ಸಂಗು"
+ },
+ "saq": {
+ "name": "ಸಂಬುರು"
+ },
+ "sah": {
+ "name": "ಸಖಾ"
+ },
+ "zh-Hans": {
+ "name": "ಸರಳೀಕೃತ ಚೈನೀಸ್"
+ },
+ "sr": {
+ "name": "ಸರ್ಬಿಯನ್"
+ },
+ "sg": {
+ "name": "ಸಾಂಗೋ"
+ },
+ "zh-Hant": {
+ "name": "ಸಾಂಪ್ರದಾಯಿಕ ಚೈನೀಸ್"
+ },
+ "si": {
+ "name": "ಸಿಂಹಳ"
+ },
+ "ii": {
+ "name": "ಸಿಚುಅನ್ ಯಿ"
+ },
+ "seh": {
+ "name": "ಸೆನ"
+ },
+ "xog": {
+ "name": "ಸೊಗ"
+ },
+ "so": {
+ "name": "ಸೊಮಾಲಿ"
+ },
+ "ckb": {
+ "name": "ಸೊರಾನಿ ಕುರ್ದಿಷ್"
+ },
+ "gd": {
+ "name": "ಸ್ಕಾಟಿಶ್ ಗ್ಯಾಲಿಕ್"
+ },
+ "zgh": {
+ "name": "ಸ್ಟ್ಯಾಂಡರ್ಡ್ ಮೊರೊಕ್ಕನ್ ಟಮಜೈಟ್"
+ },
+ "es": {
+ "name": "ಸ್ಪ್ಯಾನಿಷ್"
+ },
+ "sk": {
+ "name": "ಸ್ಲೋವಾಕ್"
+ },
+ "sl": {
+ "name": "ಸ್ಲೋವೇನಿಯನ್"
+ },
+ "sw": {
+ "name": "ಸ್ವಹಿಲಿ"
+ },
+ "gsw": {
+ "name": "ಸ್ವಿಸ್ ಜರ್ಮನ್"
+ },
+ "fr-CH": {
+ "name": "ಸ್ವಿಸ್ ಫ್ರೆಂಚ್"
+ },
+ "de-CH": {
+ "name": "ಸ್ವಿಸ್ ಹೈ ಜರ್ಮನ್"
+ },
+ "sv": {
+ "name": "ಸ್ವೀಡಿಷ್"
+ },
+ "hu": {
+ "name": "ಹಂಗೇರಿಯನ್"
+ },
+ "haw": {
+ "name": "ಹವಾಯಿಯನ್"
+ },
+ "hi": {
+ "name": "ಹಿಂದಿ"
+ },
+ "he": {
+ "name": "ಹೀಬ್ರ್ಯೂ"
+ },
+ "ha": {
+ "name": "ಹೌಸಾ"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/ko.json b/vendor/commerceguys/intl/resources/language/ko.json
new file mode 100644
index 000000000..6ed29a08d
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/ko.json
@@ -0,0 +1,635 @@
+{
+ "lg": {
+ "name": "간다어"
+ },
+ "gl": {
+ "name": "갈리시아어"
+ },
+ "de-CH": {
+ "name": "고지 독일어(스위스)"
+ },
+ "hsb": {
+ "name": "고지 소르비아어"
+ },
+ "yue": {
+ "name": "광둥어"
+ },
+ "cu": {
+ "name": "교회 슬라브어"
+ },
+ "guz": {
+ "name": "구시어"
+ },
+ "gu": {
+ "name": "구자라트어"
+ },
+ "el": {
+ "name": "그리스어"
+ },
+ "kl": {
+ "name": "그린란드어"
+ },
+ "naq": {
+ "name": "나마어"
+ },
+ "nl": {
+ "name": "네덜란드어"
+ },
+ "ne": {
+ "name": "네팔어"
+ },
+ "nn": {
+ "name": "노르웨이어(니노르스크)"
+ },
+ "nb": {
+ "name": "노르웨이어(보크말)"
+ },
+ "nus": {
+ "name": "누에르어"
+ },
+ "nnh": {
+ "name": "느기엠본어"
+ },
+ "nyn": {
+ "name": "니안콜어"
+ },
+ "da": {
+ "name": "덴마크어"
+ },
+ "de": {
+ "name": "독일어"
+ },
+ "gsw": {
+ "name": "독일어(스위스)"
+ },
+ "de-AT": {
+ "name": "독일어(오스트리아)"
+ },
+ "dua": {
+ "name": "두알라어"
+ },
+ "lo": {
+ "name": "라오어"
+ },
+ "lkt": {
+ "name": "라코타어"
+ },
+ "lv": {
+ "name": "라트비아어"
+ },
+ "lag": {
+ "name": "랑기어"
+ },
+ "ru": {
+ "name": "러시아어"
+ },
+ "rm": {
+ "name": "로만시어"
+ },
+ "rof": {
+ "name": "롬보어"
+ },
+ "ro": {
+ "name": "루마니아어"
+ },
+ "lu": {
+ "name": "루바-카탄가어"
+ },
+ "luy": {
+ "name": "루야어"
+ },
+ "luo": {
+ "name": "루오어"
+ },
+ "lb": {
+ "name": "룩셈부르크어"
+ },
+ "rn": {
+ "name": "룬디어"
+ },
+ "rwk": {
+ "name": "르와어"
+ },
+ "rw": {
+ "name": "르완다어"
+ },
+ "lt": {
+ "name": "리투아니아어"
+ },
+ "ln": {
+ "name": "링갈라어"
+ },
+ "mr": {
+ "name": "마라티어"
+ },
+ "mas": {
+ "name": "마사이어"
+ },
+ "mzn": {
+ "name": "마잔데라니어"
+ },
+ "jmc": {
+ "name": "마차메어"
+ },
+ "mk": {
+ "name": "마케도니아어"
+ },
+ "kde": {
+ "name": "마콘데어"
+ },
+ "mgh": {
+ "name": "마크후와-메토어"
+ },
+ "mg": {
+ "name": "말라가시어"
+ },
+ "ml": {
+ "name": "말라얄람어"
+ },
+ "ms": {
+ "name": "말레이어"
+ },
+ "gv": {
+ "name": "맹크스어"
+ },
+ "mer": {
+ "name": "메루어"
+ },
+ "mgo": {
+ "name": "메타어"
+ },
+ "mfe": {
+ "name": "모리스얀어"
+ },
+ "ro-MD": {
+ "name": "몰도바어"
+ },
+ "mt": {
+ "name": "몰타어"
+ },
+ "mn": {
+ "name": "몽골어"
+ },
+ "mua": {
+ "name": "문당어"
+ },
+ "bas": {
+ "name": "바사어"
+ },
+ "eu": {
+ "name": "바스크어"
+ },
+ "vai": {
+ "name": "바이어"
+ },
+ "ksf": {
+ "name": "바피아어"
+ },
+ "bm": {
+ "name": "밤바라어"
+ },
+ "my": {
+ "name": "버마어"
+ },
+ "bez": {
+ "name": "베나어"
+ },
+ "vi": {
+ "name": "베트남어"
+ },
+ "be": {
+ "name": "벨라루스어"
+ },
+ "bem": {
+ "name": "벰바어"
+ },
+ "bn": {
+ "name": "벵골어"
+ },
+ "brx": {
+ "name": "보도어"
+ },
+ "bs": {
+ "name": "보스니아어"
+ },
+ "vo": {
+ "name": "볼라퓌크어"
+ },
+ "lrc": {
+ "name": "북부 루리어"
+ },
+ "se": {
+ "name": "북부 사미어"
+ },
+ "nd": {
+ "name": "북부 은데벨레어"
+ },
+ "vun": {
+ "name": "분조어"
+ },
+ "bg": {
+ "name": "불가리아어"
+ },
+ "br": {
+ "name": "브르타뉴어"
+ },
+ "sg": {
+ "name": "산고어"
+ },
+ "saq": {
+ "name": "삼부루어"
+ },
+ "sbp": {
+ "name": "상구어"
+ },
+ "ksb": {
+ "name": "샴발라어"
+ },
+ "fy": {
+ "name": "서부 프리지아어"
+ },
+ "seh": {
+ "name": "세나어"
+ },
+ "sr": {
+ "name": "세르비아어"
+ },
+ "xog": {
+ "name": "소가어"
+ },
+ "ckb": {
+ "name": "소라니 쿠르드어"
+ },
+ "so": {
+ "name": "소말리아어"
+ },
+ "sn": {
+ "name": "쇼나어"
+ },
+ "si": {
+ "name": "스리랑카어"
+ },
+ "sw": {
+ "name": "스와힐리어"
+ },
+ "sv": {
+ "name": "스웨덴어"
+ },
+ "gd": {
+ "name": "스코틀랜드 게일어"
+ },
+ "es": {
+ "name": "스페인어"
+ },
+ "es-MX": {
+ "name": "스페인어(멕시코)"
+ },
+ "sk": {
+ "name": "슬로바키아어"
+ },
+ "sl": {
+ "name": "슬로베니아어"
+ },
+ "ii": {
+ "name": "쓰촨 이어"
+ },
+ "agq": {
+ "name": "아그햄어"
+ },
+ "ar": {
+ "name": "아랍어"
+ },
+ "hy": {
+ "name": "아르메니아어"
+ },
+ "as": {
+ "name": "아삼어"
+ },
+ "asa": {
+ "name": "아수어"
+ },
+ "ast": {
+ "name": "아스투리아어"
+ },
+ "is": {
+ "name": "아이슬란드어"
+ },
+ "ga": {
+ "name": "아일랜드어"
+ },
+ "az": {
+ "name": "아제르바이잔어"
+ },
+ "ak": {
+ "name": "아칸어"
+ },
+ "af": {
+ "name": "아프리칸스어"
+ },
+ "sq": {
+ "name": "알바니아어"
+ },
+ "am": {
+ "name": "암하라어"
+ },
+ "sah": {
+ "name": "야쿠트어"
+ },
+ "yav": {
+ "name": "양본어"
+ },
+ "et": {
+ "name": "에스토니아어"
+ },
+ "eo": {
+ "name": "에스페란토어"
+ },
+ "ee": {
+ "name": "에웨어"
+ },
+ "ebu": {
+ "name": "엠부어"
+ },
+ "en": {
+ "name": "영어"
+ },
+ "en-GB": {
+ "name": "영어(영국)"
+ },
+ "en-CA": {
+ "name": "영어(캐나다)"
+ },
+ "en-AU": {
+ "name": "영어(호주)"
+ },
+ "om": {
+ "name": "오로모어"
+ },
+ "or": {
+ "name": "오리야어"
+ },
+ "os": {
+ "name": "오세트어"
+ },
+ "yo": {
+ "name": "요루바어"
+ },
+ "ur": {
+ "name": "우르두어"
+ },
+ "uz": {
+ "name": "우즈베크어"
+ },
+ "uk": {
+ "name": "우크라이나어"
+ },
+ "wae": {
+ "name": "월저어"
+ },
+ "cy": {
+ "name": "웨일스어"
+ },
+ "ug": {
+ "name": "위구르어"
+ },
+ "jgo": {
+ "name": "응곰바어"
+ },
+ "ig": {
+ "name": "이그보어"
+ },
+ "smn": {
+ "name": "이나리 사미어"
+ },
+ "yi": {
+ "name": "이디시어"
+ },
+ "ewo": {
+ "name": "이원도어"
+ },
+ "it": {
+ "name": "이탈리아어"
+ },
+ "id": {
+ "name": "인도네시아어"
+ },
+ "ja": {
+ "name": "일본어"
+ },
+ "dje": {
+ "name": "자르마어"
+ },
+ "nds": {
+ "name": "저지 독일어"
+ },
+ "nds-NL": {
+ "name": "저지 색슨어"
+ },
+ "dsb": {
+ "name": "저지 소르비아어"
+ },
+ "ka": {
+ "name": "조지아어"
+ },
+ "dyo": {
+ "name": "졸라 포니어"
+ },
+ "dz": {
+ "name": "종카어"
+ },
+ "zu": {
+ "name": "줄루어"
+ },
+ "zh": {
+ "name": "중국어"
+ },
+ "zh-Hans": {
+ "name": "중국어(간체)"
+ },
+ "zh-Hant": {
+ "name": "중국어(번체)"
+ },
+ "tzm": {
+ "name": "중앙 모로코 타마지트어"
+ },
+ "chr": {
+ "name": "체로키어"
+ },
+ "ce": {
+ "name": "체첸어"
+ },
+ "cs": {
+ "name": "체코어"
+ },
+ "cgg": {
+ "name": "치가어"
+ },
+ "ks": {
+ "name": "카슈미르어"
+ },
+ "kk": {
+ "name": "카자흐어"
+ },
+ "kkj": {
+ "name": "카코어"
+ },
+ "ca": {
+ "name": "카탈로니아어"
+ },
+ "kn": {
+ "name": "칸나다어"
+ },
+ "kln": {
+ "name": "칼렌진어"
+ },
+ "kam": {
+ "name": "캄바어"
+ },
+ "kab": {
+ "name": "커바일어"
+ },
+ "qu": {
+ "name": "케추아어"
+ },
+ "khq": {
+ "name": "코이라 친니어"
+ },
+ "ses": {
+ "name": "코이야보로 세니어"
+ },
+ "kok": {
+ "name": "코카니어"
+ },
+ "kw": {
+ "name": "콘월어"
+ },
+ "ksh": {
+ "name": "콜로그니안어"
+ },
+ "sw-CD": {
+ "name": "콩고 스와힐리어"
+ },
+ "hr": {
+ "name": "크로아티아어"
+ },
+ "kea": {
+ "name": "크리올어"
+ },
+ "km": {
+ "name": "크메르어"
+ },
+ "nmg": {
+ "name": "크와시오어"
+ },
+ "ky": {
+ "name": "키르기스어"
+ },
+ "ki": {
+ "name": "키쿠유어"
+ },
+ "ta": {
+ "name": "타밀어"
+ },
+ "twq": {
+ "name": "타사와크어"
+ },
+ "shi": {
+ "name": "타셸히트어"
+ },
+ "dav": {
+ "name": "타이타어"
+ },
+ "th": {
+ "name": "태국어"
+ },
+ "tr": {
+ "name": "터키어"
+ },
+ "teo": {
+ "name": "테조어"
+ },
+ "te": {
+ "name": "텔루구어"
+ },
+ "to": {
+ "name": "통가어"
+ },
+ "tk": {
+ "name": "투르크멘어"
+ },
+ "ti": {
+ "name": "티그리냐어"
+ },
+ "bo": {
+ "name": "티베트어"
+ },
+ "ps": {
+ "name": "파슈토어"
+ },
+ "pa": {
+ "name": "펀잡어"
+ },
+ "fo": {
+ "name": "페로어"
+ },
+ "fa": {
+ "name": "페르시아어"
+ },
+ "pt": {
+ "name": "포르투갈어"
+ },
+ "pt-PT": {
+ "name": "포르투갈어(포르투갈)"
+ },
+ "pl": {
+ "name": "폴란드어"
+ },
+ "zgh": {
+ "name": "표준 모로코 타마지트어"
+ },
+ "ff": {
+ "name": "풀라어"
+ },
+ "fr": {
+ "name": "프랑스어"
+ },
+ "fr-CH": {
+ "name": "프랑스어(스위스)"
+ },
+ "fr-CA": {
+ "name": "프랑스어(캐나다)"
+ },
+ "prg": {
+ "name": "프러시아어"
+ },
+ "fur": {
+ "name": "프리울리어"
+ },
+ "nl-BE": {
+ "name": "플라망어"
+ },
+ "fi": {
+ "name": "핀란드어"
+ },
+ "fil": {
+ "name": "필리핀어"
+ },
+ "haw": {
+ "name": "하와이어"
+ },
+ "ha": {
+ "name": "하우사어"
+ },
+ "ko": {
+ "name": "한국어"
+ },
+ "hu": {
+ "name": "헝가리어"
+ },
+ "he": {
+ "name": "히브리어"
+ },
+ "hi": {
+ "name": "힌디어"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/kok.json b/vendor/commerceguys/intl/resources/language/kok.json
new file mode 100644
index 000000000..7435b44ed
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/kok.json
@@ -0,0 +1,632 @@
+{
+ "az": {
+ "name": "अज़रबैजानी"
+ },
+ "af": {
+ "name": "अफ्रिकान्स"
+ },
+ "am": {
+ "name": "अमहारिक्"
+ },
+ "ar": {
+ "name": "अरेबिक्"
+ },
+ "as": {
+ "name": "असामी"
+ },
+ "en": {
+ "name": "आंग्ल"
+ },
+ "en-AU": {
+ "name": "आंग्ल (AU)"
+ },
+ "en-CA": {
+ "name": "आंग्ल (CA)"
+ },
+ "en-GB": {
+ "name": "आंग्ल (GB)"
+ },
+ "is": {
+ "name": "आईस्लान्डिक"
+ },
+ "hy": {
+ "name": "आर्मीनियन्"
+ },
+ "sq": {
+ "name": "आल्बेनियन्"
+ },
+ "it": {
+ "name": "इटालियन"
+ },
+ "yi": {
+ "name": "इद्दिष्"
+ },
+ "id": {
+ "name": "इन्डोनेषियन"
+ },
+ "et": {
+ "name": "इस्टोनियन्"
+ },
+ "eo": {
+ "name": "इस्परान्टो"
+ },
+ "uz": {
+ "name": "उज़बेक"
+ },
+ "ug": {
+ "name": "उधूर"
+ },
+ "ur": {
+ "name": "उर्दू"
+ },
+ "ga": {
+ "name": "ऐरिष"
+ },
+ "or": {
+ "name": "ओरिया"
+ },
+ "om": {
+ "name": "ओरोमो (अफान)"
+ },
+ "vo": {
+ "name": "ओलापुक"
+ },
+ "km": {
+ "name": "कंबोडियन"
+ },
+ "kk": {
+ "name": "कज़ख्"
+ },
+ "ca": {
+ "name": "कटलान"
+ },
+ "kn": {
+ "name": "कन्नडा"
+ },
+ "ks": {
+ "name": "कश्मीरी"
+ },
+ "rw": {
+ "name": "किन्यार्वान्डा"
+ },
+ "rn": {
+ "name": "किरुन्दी"
+ },
+ "ky": {
+ "name": "किर्गिज़"
+ },
+ "kok": {
+ "name": "कोंकणी"
+ },
+ "ko": {
+ "name": "कोरियन्"
+ },
+ "hr": {
+ "name": "क्रोयेषियन्"
+ },
+ "qu": {
+ "name": "क्वेच्वा"
+ },
+ "gu": {
+ "name": "गुजराती"
+ },
+ "gl": {
+ "name": "गेलीशियन"
+ },
+ "el": {
+ "name": "ग्रीक्"
+ },
+ "kl": {
+ "name": "ग्रीनलान्डिक"
+ },
+ "zh": {
+ "name": "चीनीस्"
+ },
+ "zh-Hans": {
+ "name": "चीनीस् (Hans)"
+ },
+ "zh-Hant": {
+ "name": "चीनीस् (Hant)"
+ },
+ "de": {
+ "name": "जर्मन"
+ },
+ "de-AT": {
+ "name": "जर्मन (AT)"
+ },
+ "de-CH": {
+ "name": "जर्मन (CH)"
+ },
+ "ja": {
+ "name": "जापनीस्"
+ },
+ "ka": {
+ "name": "जार्जियन्"
+ },
+ "zu": {
+ "name": "जुलू"
+ },
+ "cs": {
+ "name": "ज़ेक्"
+ },
+ "nl": {
+ "name": "डच्"
+ },
+ "nl-BE": {
+ "name": "डच् (BE)"
+ },
+ "da": {
+ "name": "डानिष"
+ },
+ "ta": {
+ "name": "तमिळ"
+ },
+ "ti": {
+ "name": "तिग्रिन्या"
+ },
+ "bo": {
+ "name": "तिबेतियन"
+ },
+ "tk": {
+ "name": "तुर्कमन"
+ },
+ "tr": {
+ "name": "तुर्किष"
+ },
+ "te": {
+ "name": "तेलुगू"
+ },
+ "to": {
+ "name": "तोंगा"
+ },
+ "th": {
+ "name": "थाई"
+ },
+ "ne": {
+ "name": "नेपाळी"
+ },
+ "pa": {
+ "name": "पंजाबी"
+ },
+ "fa": {
+ "name": "पर्षियन्"
+ },
+ "ps": {
+ "name": "पाष्टो (पुष्टो)"
+ },
+ "pt": {
+ "name": "पोर्चुगीज़्"
+ },
+ "pt-PT": {
+ "name": "पोर्चुगीज़् (PT)"
+ },
+ "pl": {
+ "name": "पोलिष"
+ },
+ "fi": {
+ "name": "फिन्निष्"
+ },
+ "fo": {
+ "name": "फेरोस्"
+ },
+ "fy": {
+ "name": "फ्रिशियन्"
+ },
+ "fr": {
+ "name": "फ्रेन्च"
+ },
+ "fr-CA": {
+ "name": "फ्रेन्च (CA)"
+ },
+ "fr-CH": {
+ "name": "फ्रेन्च (CH)"
+ },
+ "bn": {
+ "name": "बंगाली"
+ },
+ "my": {
+ "name": "बर्मीज़्"
+ },
+ "bg": {
+ "name": "बल्गेरियन"
+ },
+ "eu": {
+ "name": "बास्क"
+ },
+ "be": {
+ "name": "बैलोरुसियन्"
+ },
+ "br": {
+ "name": "ब्रेटन"
+ },
+ "dz": {
+ "name": "भूटानी"
+ },
+ "mn": {
+ "name": "मंगोलियन्"
+ },
+ "mr": {
+ "name": "मराठी"
+ },
+ "ms": {
+ "name": "मलय"
+ },
+ "mg": {
+ "name": "मलागसी"
+ },
+ "mk": {
+ "name": "मसीडोनियन्"
+ },
+ "ml": {
+ "name": "मळियाळम"
+ },
+ "mt": {
+ "name": "मालतीस्"
+ },
+ "ro-MD": {
+ "name": "मोल्डावियन्"
+ },
+ "uk": {
+ "name": "युक्रेनियन्"
+ },
+ "yo": {
+ "name": "यूरुबा"
+ },
+ "ru": {
+ "name": "रष्यन्"
+ },
+ "rm": {
+ "name": "रहटो-रोमान्स्"
+ },
+ "ro": {
+ "name": "रोमानियन्"
+ },
+ "lo": {
+ "name": "लाओतियन्"
+ },
+ "lv": {
+ "name": "लाट्वियन् (लेट्टिष्)"
+ },
+ "ln": {
+ "name": "लिंगाला"
+ },
+ "lt": {
+ "name": "लिथुआनियन्"
+ },
+ "vi": {
+ "name": "वियत्नामीज़"
+ },
+ "cy": {
+ "name": "वेळ्ष्"
+ },
+ "sn": {
+ "name": "शोना"
+ },
+ "sg": {
+ "name": "सांग्रो"
+ },
+ "si": {
+ "name": "सिन्हलीस्"
+ },
+ "sr": {
+ "name": "सेर्बियन्"
+ },
+ "so": {
+ "name": "सोमाळी"
+ },
+ "gd": {
+ "name": "स्काटस् गेलिक्"
+ },
+ "es": {
+ "name": "स्पानिष"
+ },
+ "es-MX": {
+ "name": "स्पानिष (MX)"
+ },
+ "sk": {
+ "name": "स्लोवाक"
+ },
+ "sl": {
+ "name": "स्लोवेनियन्"
+ },
+ "sw": {
+ "name": "स्वाहिली"
+ },
+ "sw-CD": {
+ "name": "स्वाहिली (CD)"
+ },
+ "sv": {
+ "name": "स्वीदीष"
+ },
+ "hu": {
+ "name": "हंगेरियन्"
+ },
+ "hi": {
+ "name": "हिन्दी"
+ },
+ "he": {
+ "name": "हेब्रु"
+ },
+ "ha": {
+ "name": "हौसा"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "ak": {
+ "name": "Akan"
+ },
+ "ast": {
+ "name": "Asturian"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "bs": {
+ "name": "Bosnian"
+ },
+ "yue": {
+ "name": "Cantonese"
+ },
+ "tzm": {
+ "name": "Central Atlas Tamazight"
+ },
+ "ckb": {
+ "name": "Central Kurdish"
+ },
+ "ce": {
+ "name": "Chechen"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "cu": {
+ "name": "Church Slavic"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "kw": {
+ "name": "Cornish"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fil": {
+ "name": "Filipino"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "haw": {
+ "name": "Hawaiian"
+ },
+ "ig": {
+ "name": "Igbo"
+ },
+ "smn": {
+ "name": "Inari Sami"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabyle"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "dsb": {
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "gv": {
+ "name": "Manx"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nds-NL": {
+ "name": "nds (NL)"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "nd": {
+ "name": "North Ndebele"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "se": {
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "os": {
+ "name": "Ossetic"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "sah": {
+ "name": "Sakha"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "gsw": {
+ "name": "Swiss German"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "hsb": {
+ "name": "Upper Sorbian"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "dje": {
+ "name": "Zarma"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/ks.json b/vendor/commerceguys/intl/resources/language/ks.json
new file mode 100644
index 000000000..38f7a7f3e
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/ks.json
@@ -0,0 +1,635 @@
+{
+ "agq": {
+ "name": "Aghem"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "yue": {
+ "name": "Cantonese"
+ },
+ "tzm": {
+ "name": "Central Atlas Tamazight"
+ },
+ "ckb": {
+ "name": "Central Kurdish"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "ug": {
+ "name": "Uyghur"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "dje": {
+ "name": "Zarma"
+ },
+ "en-AU": {
+ "name": "آسٹریلیَن اَنٛگریٖزۍ"
+ },
+ "de-AT": {
+ "name": "آسٹرِیَن جٔرمَن"
+ },
+ "is": {
+ "name": "آیِسلینڈِک"
+ },
+ "it": {
+ "name": "اِٹیلیَن"
+ },
+ "ur": {
+ "name": "اُردوٗ"
+ },
+ "hy": {
+ "name": "اَرمینیَن"
+ },
+ "uz": {
+ "name": "اُزبیک"
+ },
+ "az": {
+ "name": "اَزَربیجانی"
+ },
+ "as": {
+ "name": "اسٲمۍ"
+ },
+ "af": {
+ "name": "اَفریٖکانٛز"
+ },
+ "ak": {
+ "name": "اَکان"
+ },
+ "ig": {
+ "name": "اِگبو"
+ },
+ "sq": {
+ "name": "البانِیَن"
+ },
+ "am": {
+ "name": "اَمہاری"
+ },
+ "smn": {
+ "name": "اِناری سَمی"
+ },
+ "id": {
+ "name": "اِنڈونیشیا"
+ },
+ "en": {
+ "name": "اَنٛگیٖزۍ"
+ },
+ "om": {
+ "name": "اوٚرومو"
+ },
+ "or": {
+ "name": "اوٚرِیا"
+ },
+ "os": {
+ "name": "اوٚسیٚٹِک"
+ },
+ "ga": {
+ "name": "اَیرِش"
+ },
+ "eo": {
+ "name": "ایٚسپَرینٹو"
+ },
+ "ast": {
+ "name": "ایسٹوٗریَن"
+ },
+ "et": {
+ "name": "ایٚسٹونیَن"
+ },
+ "ee": {
+ "name": "ایٖو"
+ },
+ "ewo": {
+ "name": "ایٚوونڈو"
+ },
+ "bas": {
+ "name": "باسا"
+ },
+ "eu": {
+ "name": "باسک"
+ },
+ "en-GB": {
+ "name": "بَرطانوی اَنٛگریٖزۍ"
+ },
+ "br": {
+ "name": "بریٹَن"
+ },
+ "bm": {
+ "name": "بَمبارا"
+ },
+ "my": {
+ "name": "بٔمیٖز"
+ },
+ "bn": {
+ "name": "بَنٛگٲلۍ"
+ },
+ "bs": {
+ "name": "بوسنِیَن"
+ },
+ "nds": {
+ "name": "بوٚنِم جٔرمَن"
+ },
+ "nds-NL": {
+ "name": "بوٚنِم جٔرمَن (نیٖدَرلینٛڑ)"
+ },
+ "dsb": {
+ "name": "بوٚنِم ساربِیَن"
+ },
+ "be": {
+ "name": "بیلَروٗشیَن"
+ },
+ "bem": {
+ "name": "بیٚمبا"
+ },
+ "bg": {
+ "name": "بینا"
+ },
+ "pl": {
+ "name": "پالِش"
+ },
+ "pt": {
+ "name": "پُرتَگیٖز"
+ },
+ "ps": {
+ "name": "پَشتوٗ"
+ },
+ "pa": {
+ "name": "پَنجٲبۍ"
+ },
+ "bo": {
+ "name": "تِبتی"
+ },
+ "tr": {
+ "name": "تُرکِش"
+ },
+ "tk": {
+ "name": "تُرکمین"
+ },
+ "ta": {
+ "name": "تَمِل"
+ },
+ "th": {
+ "name": "تھاے"
+ },
+ "te": {
+ "name": "تیلگوٗ"
+ },
+ "ti": {
+ "name": "ٹِگرِنیا"
+ },
+ "to": {
+ "name": "ٹونٛگا"
+ },
+ "ja": {
+ "name": "جاپٲنۍ"
+ },
+ "ka": {
+ "name": "جارجِیَن"
+ },
+ "de": {
+ "name": "جٔرمَن"
+ },
+ "cu": {
+ "name": "چٔرچ سلاوِک"
+ },
+ "ce": {
+ "name": "چیچَن"
+ },
+ "chr": {
+ "name": "چیٚروکی"
+ },
+ "cs": {
+ "name": "چیٚک"
+ },
+ "zh": {
+ "name": "چیٖنی"
+ },
+ "km": {
+ "name": "خَمیر"
+ },
+ "dua": {
+ "name": "دُوالا"
+ },
+ "nl": {
+ "name": "ڈَچ"
+ },
+ "da": {
+ "name": "ڈینِش"
+ },
+ "rn": {
+ "name": "رُندی"
+ },
+ "zh-Hant": {
+ "name": "رِوٲجی چیٖنی"
+ },
+ "ru": {
+ "name": "روٗسی"
+ },
+ "ro": {
+ "name": "رومٲنی"
+ },
+ "rm": {
+ "name": "رومانش"
+ },
+ "zu": {
+ "name": "زُلوٗ"
+ },
+ "dz": {
+ "name": "زونٛگکھا"
+ },
+ "es": {
+ "name": "سپینِش"
+ },
+ "es-MX": {
+ "name": "سپینِش (مٮ۪کسِکو)"
+ },
+ "ii": {
+ "name": "سِچوان یٖی"
+ },
+ "sr": {
+ "name": "سٔربِیَن"
+ },
+ "gd": {
+ "name": "سکوٹِش گیےلِک"
+ },
+ "sk": {
+ "name": "سلووَک"
+ },
+ "sl": {
+ "name": "سلووینیَن"
+ },
+ "sg": {
+ "name": "سَنگو"
+ },
+ "si": {
+ "name": "سِنہالا"
+ },
+ "sw": {
+ "name": "سواہِلی"
+ },
+ "sw-CD": {
+ "name": "سواہِلی (کونٛگو کِنشاسا)"
+ },
+ "gsw": {
+ "name": "سٕوِس جٔرمَن"
+ },
+ "fr-CH": {
+ "name": "سٕوٕس فریٚنچ"
+ },
+ "de-CH": {
+ "name": "سٕوِس ہاےجٔرمَن"
+ },
+ "so": {
+ "name": "سومٲلی"
+ },
+ "sv": {
+ "name": "سویٖڈِش"
+ },
+ "zh-Hans": {
+ "name": "سیٚود چیٖنی"
+ },
+ "se": {
+ "name": "شُمٲلی سَمی"
+ },
+ "nd": {
+ "name": "شُمال ڈَبیل"
+ },
+ "sn": {
+ "name": "شونا"
+ },
+ "he": {
+ "name": "عبرٲنۍ"
+ },
+ "ar": {
+ "name": "عربی"
+ },
+ "fa": {
+ "name": "فارسی"
+ },
+ "fo": {
+ "name": "فَروس"
+ },
+ "fur": {
+ "name": "فروٗلِیَن"
+ },
+ "fr": {
+ "name": "فریٚنچ"
+ },
+ "ff": {
+ "name": "فُلاہ"
+ },
+ "fil": {
+ "name": "فِلِپیٖنو"
+ },
+ "nl-BE": {
+ "name": "فلیٚمِش"
+ },
+ "fi": {
+ "name": "فِنِش"
+ },
+ "ks": {
+ "name": "کٲشُر"
+ },
+ "kk": {
+ "name": "کازَخ"
+ },
+ "kam": {
+ "name": "کامبا"
+ },
+ "kab": {
+ "name": "کَبایِل"
+ },
+ "ca": {
+ "name": "کَتلان"
+ },
+ "ky": {
+ "name": "کِرگِز"
+ },
+ "hr": {
+ "name": "کروشِیَن"
+ },
+ "ki": {
+ "name": "کِکُیوٗ"
+ },
+ "kl": {
+ "name": "کَلالِسُت"
+ },
+ "kn": {
+ "name": "کَنَڑ"
+ },
+ "rw": {
+ "name": "کِنیاوِندا"
+ },
+ "fr-CA": {
+ "name": "کَنیڈیَن فریٚنچ"
+ },
+ "kw": {
+ "name": "کورنِش"
+ },
+ "ko": {
+ "name": "کوریَن"
+ },
+ "kok": {
+ "name": "کونکَنی"
+ },
+ "qu": {
+ "name": "کُویشُوا"
+ },
+ "en-CA": {
+ "name": "کینَڈِیٲیی اَنٛگریٖزۍ"
+ },
+ "lg": {
+ "name": "گاندا"
+ },
+ "gu": {
+ "name": "گُجرٲتی"
+ },
+ "gl": {
+ "name": "گیلِشِیَن"
+ },
+ "lo": {
+ "name": "لاو"
+ },
+ "pt-PT": {
+ "name": "لِبیریَن پُرتَگیٖز"
+ },
+ "lt": {
+ "name": "لِتھوانِیَن"
+ },
+ "lv": {
+ "name": "لَتوِیَن"
+ },
+ "lb": {
+ "name": "لُکھزیمبورگِش"
+ },
+ "ln": {
+ "name": "لِنگالا"
+ },
+ "lu": {
+ "name": "لوُبا کَتَنٛگا"
+ },
+ "luo": {
+ "name": "لُوو"
+ },
+ "mr": {
+ "name": "مَرٲٹھۍ"
+ },
+ "mas": {
+ "name": "مَساے"
+ },
+ "fy": {
+ "name": "مغربی فرِشیَن"
+ },
+ "mg": {
+ "name": "مَلاگَسی"
+ },
+ "mt": {
+ "name": "مَلتیٖس"
+ },
+ "ml": {
+ "name": "مٔلیالَم"
+ },
+ "ms": {
+ "name": "مَلَے"
+ },
+ "mn": {
+ "name": "مَنٛگولی"
+ },
+ "ro-MD": {
+ "name": "مولداوِیَن"
+ },
+ "mk": {
+ "name": "میکَڈونیَن"
+ },
+ "gv": {
+ "name": "مینٛکس"
+ },
+ "nb": {
+ "name": "ناروییَن بوکمال"
+ },
+ "nn": {
+ "name": "ناروییَن نَے نورسک"
+ },
+ "ne": {
+ "name": "نیٚپٲلۍ"
+ },
+ "nyn": {
+ "name": "نِیَنکول"
+ },
+ "ha": {
+ "name": "ہاوسا"
+ },
+ "hi": {
+ "name": "ہِندی"
+ },
+ "hu": {
+ "name": "ہَنٛگیریَن"
+ },
+ "haw": {
+ "name": "ہوایِیَن"
+ },
+ "hsb": {
+ "name": "ہیٚرِم ساربِیَن"
+ },
+ "vai": {
+ "name": "واے"
+ },
+ "vo": {
+ "name": "وولَپُک"
+ },
+ "vi": {
+ "name": "وِیَتنَمیٖز"
+ },
+ "cy": {
+ "name": "ویٚلش"
+ },
+ "sah": {
+ "name": "یاکُت"
+ },
+ "yi": {
+ "name": "یِدِش"
+ },
+ "yo": {
+ "name": "یورُبا"
+ },
+ "uk": {
+ "name": "یوٗکرینیٲیی"
+ },
+ "el": {
+ "name": "یوٗنٲنی"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/ksb.json b/vendor/commerceguys/intl/resources/language/ksb.json
new file mode 100644
index 000000000..feae21505
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/ksb.json
@@ -0,0 +1,632 @@
+{
+ "af": {
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "sq": {
+ "name": "Albanian"
+ },
+ "hy": {
+ "name": "Armenian"
+ },
+ "as": {
+ "name": "Assamese"
+ },
+ "ast": {
+ "name": "Asturian"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "az": {
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "eu": {
+ "name": "Basque"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "bs": {
+ "name": "Bosnian"
+ },
+ "br": {
+ "name": "Breton"
+ },
+ "yue": {
+ "name": "Cantonese"
+ },
+ "ca": {
+ "name": "Catalan"
+ },
+ "tzm": {
+ "name": "Central Atlas Tamazight"
+ },
+ "ckb": {
+ "name": "Central Kurdish"
+ },
+ "ce": {
+ "name": "Chechen"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "cu": {
+ "name": "Church Slavic"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "kw": {
+ "name": "Cornish"
+ },
+ "hr": {
+ "name": "Croatian"
+ },
+ "da": {
+ "name": "Danish"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "dz": {
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "eo": {
+ "name": "Esperanto"
+ },
+ "et": {
+ "name": "Estonian"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fo": {
+ "name": "Faroese"
+ },
+ "fil": {
+ "name": "Filipino"
+ },
+ "fi": {
+ "name": "Finnish"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "gl": {
+ "name": "Galician"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "ka": {
+ "name": "Georgian"
+ },
+ "gu": {
+ "name": "Gujarati"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "haw": {
+ "name": "Hawaiian"
+ },
+ "he": {
+ "name": "Hebrew"
+ },
+ "is": {
+ "name": "Icelandic"
+ },
+ "smn": {
+ "name": "Inari Sami"
+ },
+ "ga": {
+ "name": "Irish"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabyle"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kl": {
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "kn": {
+ "name": "Kannada"
+ },
+ "ks": {
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "name": "Kazakh"
+ },
+ "fa": {
+ "name": "Kiajemi"
+ },
+ "ak": {
+ "name": "Kiakan"
+ },
+ "ar": {
+ "name": "Kialabu"
+ },
+ "am": {
+ "name": "Kiamhali"
+ },
+ "bn": {
+ "name": "Kibangla"
+ },
+ "be": {
+ "name": "Kibelaausi"
+ },
+ "bg": {
+ "name": "Kibulgalia"
+ },
+ "my": {
+ "name": "Kibulma"
+ },
+ "cs": {
+ "name": "Kichecki"
+ },
+ "zh": {
+ "name": "Kichina"
+ },
+ "zh-Hans": {
+ "name": "Kichina (Hans)"
+ },
+ "zh-Hant": {
+ "name": "Kichina (Hant)"
+ },
+ "fr": {
+ "name": "Kifalansa"
+ },
+ "fr-CA": {
+ "name": "Kifalansa (Kanada)"
+ },
+ "fr-CH": {
+ "name": "Kifalansa (Uswisi)"
+ },
+ "el": {
+ "name": "Kigiiki"
+ },
+ "ha": {
+ "name": "Kihausa"
+ },
+ "hi": {
+ "name": "Kihindi"
+ },
+ "es": {
+ "name": "Kihispania"
+ },
+ "es-MX": {
+ "name": "Kihispania (Meksiko)"
+ },
+ "nl": {
+ "name": "Kiholanzi"
+ },
+ "nl-BE": {
+ "name": "Kiholanzi (BE)"
+ },
+ "hu": {
+ "name": "Kihungai"
+ },
+ "ig": {
+ "name": "Kiigbo"
+ },
+ "id": {
+ "name": "Kiindonesia"
+ },
+ "en": {
+ "name": "Kiingeeza"
+ },
+ "en-AU": {
+ "name": "Kiingeeza (Austlalia)"
+ },
+ "en-CA": {
+ "name": "Kiingeeza (Kanada)"
+ },
+ "en-GB": {
+ "name": "Kiingeeza (Uingeeza)"
+ },
+ "it": {
+ "name": "Kiitaliano"
+ },
+ "ja": {
+ "name": "Kijapani"
+ },
+ "de": {
+ "name": "Kijeumani"
+ },
+ "de-AT": {
+ "name": "Kijeumani (Austlia)"
+ },
+ "de-CH": {
+ "name": "Kijeumani (Uswisi)"
+ },
+ "km": {
+ "name": "Kikambodia"
+ },
+ "ko": {
+ "name": "Kikolea"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "pt": {
+ "name": "Kileno"
+ },
+ "pt-PT": {
+ "name": "Kileno (Uleno)"
+ },
+ "ru": {
+ "name": "Kilusi"
+ },
+ "ms": {
+ "name": "Kimalesia"
+ },
+ "ne": {
+ "name": "Kinepali"
+ },
+ "rw": {
+ "name": "Kinyalwanda"
+ },
+ "ro": {
+ "name": "Kiomania"
+ },
+ "ro-MD": {
+ "name": "Kiomania (Moldova)"
+ },
+ "pl": {
+ "name": "Kipolandi"
+ },
+ "pa": {
+ "name": "Kipunjabi"
+ },
+ "ksb": {
+ "name": "Kishambaa"
+ },
+ "so": {
+ "name": "Kisomali"
+ },
+ "sv": {
+ "name": "Kiswidi"
+ },
+ "th": {
+ "name": "Kitailandi"
+ },
+ "ta": {
+ "name": "Kitamil"
+ },
+ "tr": {
+ "name": "Kituuki"
+ },
+ "uk": {
+ "name": "Kiuklania"
+ },
+ "ur": {
+ "name": "Kiuldu"
+ },
+ "vi": {
+ "name": "Kivietinamu"
+ },
+ "yo": {
+ "name": "Kiyoluba"
+ },
+ "zu": {
+ "name": "Kizulu"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "ky": {
+ "name": "Kyrgyz"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "Lao"
+ },
+ "lv": {
+ "name": "Latvian"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "lt": {
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "mk": {
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "mg": {
+ "name": "Malagasy"
+ },
+ "ml": {
+ "name": "Malayalam"
+ },
+ "mt": {
+ "name": "Maltese"
+ },
+ "gv": {
+ "name": "Manx"
+ },
+ "mr": {
+ "name": "Marathi"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "mn": {
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nds-NL": {
+ "name": "nds (Uholanzi)"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "nd": {
+ "name": "North Ndebele"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "se": {
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "or": {
+ "name": "Odia"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "os": {
+ "name": "Ossetic"
+ },
+ "ps": {
+ "name": "Pashto"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "qu": {
+ "name": "Quechua"
+ },
+ "rm": {
+ "name": "Romansh"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "rn": {
+ "name": "Rundi"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "sah": {
+ "name": "Sakha"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "gd": {
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "sr": {
+ "name": "Serbian"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "si": {
+ "name": "Sinhala"
+ },
+ "sk": {
+ "name": "Slovak"
+ },
+ "sl": {
+ "name": "Slovenian"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw-CD": {
+ "name": "sw (Jamhuli ya Kidemoklasia ya Kongo)"
+ },
+ "sw": {
+ "name": "Swahili"
+ },
+ "gsw": {
+ "name": "Swiss German"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "te": {
+ "name": "Telugu"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "bo": {
+ "name": "Tibetan"
+ },
+ "ti": {
+ "name": "Tigrinya"
+ },
+ "to": {
+ "name": "Tongan"
+ },
+ "tk": {
+ "name": "Turkmen"
+ },
+ "hsb": {
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "name": "Uyghur"
+ },
+ "uz": {
+ "name": "Uzbek"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "cy": {
+ "name": "Welsh"
+ },
+ "fy": {
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "yi": {
+ "name": "Yiddish"
+ },
+ "dje": {
+ "name": "Zarma"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/ksf.json b/vendor/commerceguys/intl/resources/language/ksf.json
new file mode 100644
index 000000000..f06cf8a6b
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/ksf.json
@@ -0,0 +1,632 @@
+{
+ "af": {
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "sq": {
+ "name": "Albanian"
+ },
+ "hy": {
+ "name": "Armenian"
+ },
+ "as": {
+ "name": "Assamese"
+ },
+ "ast": {
+ "name": "Asturian"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "az": {
+ "name": "Azerbaijani"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "eu": {
+ "name": "Basque"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "bs": {
+ "name": "Bosnian"
+ },
+ "br": {
+ "name": "Breton"
+ },
+ "yue": {
+ "name": "Cantonese"
+ },
+ "ca": {
+ "name": "Catalan"
+ },
+ "tzm": {
+ "name": "Central Atlas Tamazight"
+ },
+ "ckb": {
+ "name": "Central Kurdish"
+ },
+ "ce": {
+ "name": "Chechen"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "cu": {
+ "name": "Church Slavic"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "kw": {
+ "name": "Cornish"
+ },
+ "hr": {
+ "name": "Croatian"
+ },
+ "da": {
+ "name": "Danish"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "dz": {
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "eo": {
+ "name": "Esperanto"
+ },
+ "et": {
+ "name": "Estonian"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fo": {
+ "name": "Faroese"
+ },
+ "fil": {
+ "name": "Filipino"
+ },
+ "fi": {
+ "name": "Finnish"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "gl": {
+ "name": "Galician"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "ka": {
+ "name": "Georgian"
+ },
+ "gu": {
+ "name": "Gujarati"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "haw": {
+ "name": "Hawaiian"
+ },
+ "he": {
+ "name": "Hebrew"
+ },
+ "is": {
+ "name": "Icelandic"
+ },
+ "smn": {
+ "name": "Inari Sami"
+ },
+ "ga": {
+ "name": "Irish"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabyle"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kl": {
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "kn": {
+ "name": "Kannada"
+ },
+ "ks": {
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "name": "Kazakh"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "ky": {
+ "name": "Kyrgyz"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "Lao"
+ },
+ "lv": {
+ "name": "Latvian"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "lt": {
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "mk": {
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "mg": {
+ "name": "Malagasy"
+ },
+ "ml": {
+ "name": "Malayalam"
+ },
+ "mt": {
+ "name": "Maltese"
+ },
+ "gv": {
+ "name": "Manx"
+ },
+ "mr": {
+ "name": "Marathi"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "mn": {
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nds-NL": {
+ "name": "nds (kǝlɔŋ kǝ ázǝ)"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "nd": {
+ "name": "North Ndebele"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "se": {
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "or": {
+ "name": "Odia"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "os": {
+ "name": "Ossetic"
+ },
+ "ps": {
+ "name": "Pashto"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "qu": {
+ "name": "Quechua"
+ },
+ "ak": {
+ "name": "riakan"
+ },
+ "am": {
+ "name": "riamarik"
+ },
+ "ar": {
+ "name": "riarab"
+ },
+ "be": {
+ "name": "ribɛlɔrís"
+ },
+ "bn": {
+ "name": "ribɛngáli"
+ },
+ "my": {
+ "name": "ribirmán"
+ },
+ "bg": {
+ "name": "ribulgarí"
+ },
+ "cs": {
+ "name": "ricɛ́k"
+ },
+ "zh": {
+ "name": "ricinɔá"
+ },
+ "zh-Hans": {
+ "name": "ricinɔá (Hans)"
+ },
+ "zh-Hant": {
+ "name": "ricinɔá (Hant)"
+ },
+ "de": {
+ "name": "ridjɛrman"
+ },
+ "de-AT": {
+ "name": "ridjɛrman (otric)"
+ },
+ "de-CH": {
+ "name": "ridjɛrman (swís)"
+ },
+ "el": {
+ "name": "rigrɛ́k"
+ },
+ "ig": {
+ "name": "riigbo"
+ },
+ "hi": {
+ "name": "riíndí"
+ },
+ "id": {
+ "name": "riindonɛsí"
+ },
+ "en": {
+ "name": "riingɛrís"
+ },
+ "en-CA": {
+ "name": "riingɛrís (kanada)"
+ },
+ "en-GB": {
+ "name": "riingɛrís (kǝlɔŋ kǝ kǝtáatáaŋzǝn)"
+ },
+ "en-AU": {
+ "name": "riingɛrís (ɔstralí)"
+ },
+ "it": {
+ "name": "riitalyɛ́n"
+ },
+ "ja": {
+ "name": "rijapɔ́ŋ"
+ },
+ "ha": {
+ "name": "rikaksa"
+ },
+ "km": {
+ "name": "rikmɛr"
+ },
+ "ko": {
+ "name": "rikɔrɛɛ́"
+ },
+ "ksf": {
+ "name": "rikpa"
+ },
+ "es": {
+ "name": "rikpanyá"
+ },
+ "es-MX": {
+ "name": "rikpanyá (mɛksík)"
+ },
+ "ms": {
+ "name": "rimalaí"
+ },
+ "ne": {
+ "name": "rinepalɛ́"
+ },
+ "nl": {
+ "name": "riɔlándɛ́"
+ },
+ "nl-BE": {
+ "name": "riɔlándɛ́ (bɛljík)"
+ },
+ "hu": {
+ "name": "riɔngrɔá"
+ },
+ "pa": {
+ "name": "ripɛnjabí"
+ },
+ "fr": {
+ "name": "ripɛrɛsǝ́"
+ },
+ "fr-CA": {
+ "name": "ripɛrɛsǝ́ (kanada)"
+ },
+ "fr-CH": {
+ "name": "ripɛrɛsǝ́ (swís)"
+ },
+ "fa": {
+ "name": "ripɛrsán"
+ },
+ "pl": {
+ "name": "ripɔlɔ́n"
+ },
+ "pt": {
+ "name": "ripɔrtugɛ́"
+ },
+ "pt-PT": {
+ "name": "ripɔrtugɛ́ (portugál)"
+ },
+ "ru": {
+ "name": "rirís"
+ },
+ "ro": {
+ "name": "rirɔmán"
+ },
+ "ro-MD": {
+ "name": "rirɔmán (mɔldaví)"
+ },
+ "rw": {
+ "name": "rirwanda"
+ },
+ "so": {
+ "name": "risomalí"
+ },
+ "sv": {
+ "name": "riswɛ́dǝ"
+ },
+ "th": {
+ "name": "ritaí"
+ },
+ "ta": {
+ "name": "ritamúl"
+ },
+ "tr": {
+ "name": "riturk"
+ },
+ "uk": {
+ "name": "riukrɛ́n"
+ },
+ "ur": {
+ "name": "riurdú"
+ },
+ "vi": {
+ "name": "riwyɛtnám"
+ },
+ "yo": {
+ "name": "riyúuba"
+ },
+ "zu": {
+ "name": "rizúlu"
+ },
+ "rm": {
+ "name": "Romansh"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "rn": {
+ "name": "Rundi"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "sah": {
+ "name": "Sakha"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "gd": {
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "sr": {
+ "name": "Serbian"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "si": {
+ "name": "Sinhala"
+ },
+ "sk": {
+ "name": "Slovak"
+ },
+ "sl": {
+ "name": "Slovenian"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw-CD": {
+ "name": "sw (kɔngó anyɔ́n)"
+ },
+ "sw": {
+ "name": "Swahili"
+ },
+ "gsw": {
+ "name": "Swiss German"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "te": {
+ "name": "Telugu"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "bo": {
+ "name": "Tibetan"
+ },
+ "ti": {
+ "name": "Tigrinya"
+ },
+ "to": {
+ "name": "Tongan"
+ },
+ "tk": {
+ "name": "Turkmen"
+ },
+ "hsb": {
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "name": "Uyghur"
+ },
+ "uz": {
+ "name": "Uzbek"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "cy": {
+ "name": "Welsh"
+ },
+ "fy": {
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "yi": {
+ "name": "Yiddish"
+ },
+ "dje": {
+ "name": "Zarma"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/ksh.json b/vendor/commerceguys/intl/resources/language/ksh.json
new file mode 100644
index 000000000..fd6faef72
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/ksh.json
@@ -0,0 +1,632 @@
+{
+ "af": {
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "name": "Aghehmesch"
+ },
+ "ak": {
+ "name": "Akahnesch"
+ },
+ "sq": {
+ "name": "Albahnesch"
+ },
+ "am": {
+ "name": "Amhahresch"
+ },
+ "en": {
+ "name": "Änglesch"
+ },
+ "en-AU": {
+ "name": "Änglesch uß Außtrahlije"
+ },
+ "en-GB": {
+ "name": "Änglesch uß Jruhßbrettannije"
+ },
+ "en-CA": {
+ "name": "Änglesch uß Kanada"
+ },
+ "ar": {
+ "name": "Arahbesch"
+ },
+ "hy": {
+ "name": "Armehnesch"
+ },
+ "as": {
+ "name": "Aßamehsesch"
+ },
+ "az": {
+ "name": "Asserbaidschahnesch"
+ },
+ "et": {
+ "name": "Äßnesch"
+ },
+ "ast": {
+ "name": "Astuhrejahnesch"
+ },
+ "ksf": {
+ "name": "Bafijahnesch"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bn": {
+ "name": "Bängjahlesch"
+ },
+ "bas": {
+ "name": "Basaa-Schprohche"
+ },
+ "eu": {
+ "name": "Baskesch"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "br": {
+ "name": "Bettohnesch"
+ },
+ "brx": {
+ "name": "Boddo"
+ },
+ "bs": {
+ "name": "Boßnesch"
+ },
+ "hsb": {
+ "name": "Bovversorrbesch"
+ },
+ "bg": {
+ "name": "Bulljahresch"
+ },
+ "my": {
+ "name": "Burmehsesch"
+ },
+ "dz": {
+ "name": "Butahnesch"
+ },
+ "kde": {
+ "name": "Chimakonde"
+ },
+ "da": {
+ "name": "Dähnesch"
+ },
+ "dav": {
+ "name": "Dawedahnesch"
+ },
+ "de": {
+ "name": "Deutsch"
+ },
+ "de-CH": {
+ "name": "Deutsch uß de Schweijz"
+ },
+ "de-AT": {
+ "name": "Deutsch uß Öhßterich"
+ },
+ "dje": {
+ "name": "Djerma"
+ },
+ "dua": {
+ "name": "Du’ala"
+ },
+ "eo": {
+ "name": "Esperanto"
+ },
+ "it": {
+ "name": "Etalljähnesch"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewonndo"
+ },
+ "fo": {
+ "name": "Färröhresch"
+ },
+ "fil": {
+ "name": "Fillipihnesch"
+ },
+ "fi": {
+ "name": "Finnesch"
+ },
+ "nl-BE": {
+ "name": "Flähmesch"
+ },
+ "fr": {
+ "name": "Franzühsesch"
+ },
+ "fr-CH": {
+ "name": "Franzühsesch uß de Schweijz"
+ },
+ "fr-CA": {
+ "name": "Franzühsesch uß Kanada"
+ },
+ "fur": {
+ "name": "Frijauhlesch"
+ },
+ "ff": {
+ "name": "Fulfulde"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "gu": {
+ "name": "Gutscharatesch"
+ },
+ "nmg": {
+ "name": "Gyele"
+ },
+ "haw": {
+ "name": "Hauajahnesch"
+ },
+ "ha": {
+ "name": "Haußa"
+ },
+ "he": {
+ "name": "Hebrähjesch"
+ },
+ "hi": {
+ "name": "Hinndi"
+ },
+ "nl": {
+ "name": "Holländesch"
+ },
+ "ig": {
+ "name": "Igbo"
+ },
+ "ga": {
+ "name": "Ihresch"
+ },
+ "smn": {
+ "name": "Inahri Lappländesch"
+ },
+ "id": {
+ "name": "Indonehsesch"
+ },
+ "is": {
+ "name": "Ißlänndesch"
+ },
+ "sah": {
+ "name": "Jackutesch"
+ },
+ "gl": {
+ "name": "Jallihzesch"
+ },
+ "ja": {
+ "name": "Japahnesch"
+ },
+ "ka": {
+ "name": "Je’orjesch"
+ },
+ "yi": {
+ "name": "Jiddesch"
+ },
+ "dyo": {
+ "name": "Jola-Fonyisch"
+ },
+ "yo": {
+ "name": "Joruhba"
+ },
+ "el": {
+ "name": "Jrihschesch"
+ },
+ "kl": {
+ "name": "Jröhnländesch"
+ },
+ "rn": {
+ "name": "K-Rundesch"
+ },
+ "kab": {
+ "name": "Kabyhlesch"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kln": {
+ "name": "Kaländjihnesch"
+ },
+ "kam": {
+ "name": "Kamba vun Kehnija"
+ },
+ "kn": {
+ "name": "Kannada"
+ },
+ "yue": {
+ "name": "Kanton-Schinehsesch"
+ },
+ "kea": {
+ "name": "Kapvärdesch"
+ },
+ "ks": {
+ "name": "Kaschmihresch"
+ },
+ "kk": {
+ "name": "Kassakkesch"
+ },
+ "ca": {
+ "name": "Kattalahnesch"
+ },
+ "qu": {
+ "name": "Kättschowa"
+ },
+ "cu": {
+ "name": "Kerscheßlahwesch"
+ },
+ "km": {
+ "name": "Khmer"
+ },
+ "ebu": {
+ "name": "Kîembu"
+ },
+ "cgg": {
+ "name": "Kihja-Schprohch"
+ },
+ "lu": {
+ "name": "Kiluba"
+ },
+ "rw": {
+ "name": "Kinja-Ruandesch"
+ },
+ "ky": {
+ "name": "Kirjihsesch"
+ },
+ "rof": {
+ "name": "Kirombo"
+ },
+ "khq": {
+ "name": "Kojra Tschihni"
+ },
+ "ses": {
+ "name": "Kojraboro Senni"
+ },
+ "ksh": {
+ "name": "Kölsch"
+ },
+ "kok": {
+ "name": "Kon’kahnesch"
+ },
+ "kw": {
+ "name": "Kornesch"
+ },
+ "ko": {
+ "name": "Korrejaanesch"
+ },
+ "hr": {
+ "name": "Krowatesch"
+ },
+ "lo": {
+ "name": "Lahootesch"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Lango"
+ },
+ "lv": {
+ "name": "Lättesch"
+ },
+ "ln": {
+ "name": "Lingjalla"
+ },
+ "lt": {
+ "name": "Littouesch"
+ },
+ "lg": {
+ "name": "Lugannda"
+ },
+ "luy": {
+ "name": "Luhjesch"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "Luxemborjesch"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mg": {
+ "name": "Madajaßkesch"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "ms": {
+ "name": "Mallaijesch"
+ },
+ "ml": {
+ "name": "Mallajalam"
+ },
+ "mt": {
+ "name": "Maltehsesch"
+ },
+ "gv": {
+ "name": "Mangx"
+ },
+ "mr": {
+ "name": "Marrahtesch"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mk": {
+ "name": "Mazedohnesch"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "mn": {
+ "name": "Mongjohlesch"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nds-NL": {
+ "name": "Nehdersaksesch en de Nederläng"
+ },
+ "ne": {
+ "name": "Nepallehsesch"
+ },
+ "nn": {
+ "name": "Neu Norrwehjesch"
+ },
+ "dsb": {
+ "name": "Niddersorbesch"
+ },
+ "nnh": {
+ "name": "Njijembohn"
+ },
+ "jgo": {
+ "name": "Njomba"
+ },
+ "se": {
+ "name": "Nood-Lappländesch"
+ },
+ "lrc": {
+ "name": "Nood-Luhresch"
+ },
+ "nd": {
+ "name": "Nood-Ndebele"
+ },
+ "nb": {
+ "name": "Norrwehjesch Bokmål"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "or": {
+ "name": "Oriija"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "os": {
+ "name": "Oßeetesch"
+ },
+ "pa": {
+ "name": "Panschaabesch"
+ },
+ "asa": {
+ "name": "Pare"
+ },
+ "fa": {
+ "name": "Pärsesch"
+ },
+ "ps": {
+ "name": "Paschtuunesch"
+ },
+ "pt": {
+ "name": "Pochtojesesch"
+ },
+ "pt-PT": {
+ "name": "Pochtojesesch uß Pochtojall"
+ },
+ "pl": {
+ "name": "Pollnesch"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "rm": {
+ "name": "Rätoromaanesch"
+ },
+ "ki": {
+ "name": "Rekohjo"
+ },
+ "ro": {
+ "name": "Rumänesch"
+ },
+ "ro-MD": {
+ "name": "Rumänesch en Moldaavije"
+ },
+ "ru": {
+ "name": "Rußßesch"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sangjo"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "sr": {
+ "name": "Särbesch"
+ },
+ "sn": {
+ "name": "Schi-Schona"
+ },
+ "zh-Hans": {
+ "name": "Schinehsesch (eijfache Schreff)"
+ },
+ "zh": {
+ "name": "Schinehsesch (Mandarin)"
+ },
+ "zh-Hant": {
+ "name": "Schinehsesch (tradizjonälle Schreff)"
+ },
+ "es": {
+ "name": "Schpahnesch"
+ },
+ "es-MX": {
+ "name": "Schpahnesch en Mäxikoh"
+ },
+ "sv": {
+ "name": "Schwehdesch"
+ },
+ "gsw": {
+ "name": "Schwitzerdütsch"
+ },
+ "gd": {
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "si": {
+ "name": "Singjaleesesch"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "so": {
+ "name": "Somahlesch"
+ },
+ "sk": {
+ "name": "ẞlovakesch"
+ },
+ "sl": {
+ "name": "ẞloveenesch"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw": {
+ "name": "Suahehlesch"
+ },
+ "sw-CD": {
+ "name": "Suahehlesch en dä Konggo [Kinschasa]"
+ },
+ "zu": {
+ "name": "Suhlu"
+ },
+ "th": {
+ "name": "Tailändesch"
+ },
+ "tzm": {
+ "name": "Tamasicht ussem meddlere Atlas"
+ },
+ "ta": {
+ "name": "Tamihlesch"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "shi": {
+ "name": "Taschelhittesch"
+ },
+ "te": {
+ "name": "Telluhju"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "bo": {
+ "name": "Tibehtesch"
+ },
+ "ti": {
+ "name": "Tijrenejahnesch"
+ },
+ "to": {
+ "name": "Tongjahnesch"
+ },
+ "tr": {
+ "name": "Törkesch"
+ },
+ "tk": {
+ "name": "Törkmehnesch"
+ },
+ "chr": {
+ "name": "Tschärrokeh"
+ },
+ "cs": {
+ "name": "Tschäschesch"
+ },
+ "ce": {
+ "name": "Tschätschehnesch"
+ },
+ "ug": {
+ "name": "Uj’juhresch"
+ },
+ "uk": {
+ "name": "Ukrainesch"
+ },
+ "hu": {
+ "name": "Unnjarresch"
+ },
+ "ur": {
+ "name": "Urdu\/Hindi"
+ },
+ "uz": {
+ "name": "Ußbehkesch"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vi": {
+ "name": "Vijätnammehsesch"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "cy": {
+ "name": "Wallihsesch"
+ },
+ "wae": {
+ "name": "Walserdütsch"
+ },
+ "fy": {
+ "name": "Wäßfrihsesch"
+ },
+ "be": {
+ "name": "Wiißrußesch"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "ckb": {
+ "name": "Zäntrahl-Kurrdesch"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/ky.json b/vendor/commerceguys/intl/resources/language/ky.json
new file mode 100644
index 000000000..18cbfc6b3
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/ky.json
@@ -0,0 +1,635 @@
+{
+ "agq": {
+ "name": "агемче"
+ },
+ "de-CH": {
+ "name": "адабий немисче (Швейцария)"
+ },
+ "az": {
+ "name": "азербайжанча"
+ },
+ "ak": {
+ "name": "аканча"
+ },
+ "sq": {
+ "name": "албанча"
+ },
+ "am": {
+ "name": "амхарча"
+ },
+ "en": {
+ "name": "англисче"
+ },
+ "en-AU": {
+ "name": "англисче (Австралия)"
+ },
+ "en-CA": {
+ "name": "англисче (Канада)"
+ },
+ "en-GB": {
+ "name": "англисче (Улуу Британия)"
+ },
+ "ar": {
+ "name": "арабча"
+ },
+ "hy": {
+ "name": "армянча"
+ },
+ "as": {
+ "name": "ассамча"
+ },
+ "ast": {
+ "name": "астурийче"
+ },
+ "asa": {
+ "name": "асуча"
+ },
+ "af": {
+ "name": "африкаанча"
+ },
+ "bm": {
+ "name": "бамбарача"
+ },
+ "bn": {
+ "name": "бангладешче"
+ },
+ "bas": {
+ "name": "басаача"
+ },
+ "eu": {
+ "name": "баскча"
+ },
+ "fy": {
+ "name": "батыш фризче"
+ },
+ "ksf": {
+ "name": "бафияча"
+ },
+ "be": {
+ "name": "беларусча"
+ },
+ "bem": {
+ "name": "бембача"
+ },
+ "bez": {
+ "name": "бенача"
+ },
+ "brx": {
+ "name": "бодочо"
+ },
+ "bg": {
+ "name": "болгарча"
+ },
+ "tzm": {
+ "name": "Борбордук Атлас тамазитче"
+ },
+ "ckb": {
+ "name": "борбордук курдча"
+ },
+ "bs": {
+ "name": "боснийче"
+ },
+ "br": {
+ "name": "бретончо"
+ },
+ "my": {
+ "name": "бурмача"
+ },
+ "vai": {
+ "name": "вайиче"
+ },
+ "wae": {
+ "name": "валцерче"
+ },
+ "hu": {
+ "name": "венгерче"
+ },
+ "vo": {
+ "name": "волапюкча"
+ },
+ "vun": {
+ "name": "вунжочо"
+ },
+ "vi": {
+ "name": "вьетнамча"
+ },
+ "haw": {
+ "name": "гавайча"
+ },
+ "gl": {
+ "name": "галисияча"
+ },
+ "lg": {
+ "name": "гандача"
+ },
+ "nl": {
+ "name": "голландча"
+ },
+ "el": {
+ "name": "грекче"
+ },
+ "ka": {
+ "name": "грузинче"
+ },
+ "gu": {
+ "name": "гужаратча"
+ },
+ "guz": {
+ "name": "гусиче"
+ },
+ "da": {
+ "name": "датча"
+ },
+ "dua": {
+ "name": "дуалача"
+ },
+ "ja": {
+ "name": "жапончо"
+ },
+ "hsb": {
+ "name": "жогорку сорбианча"
+ },
+ "dyo": {
+ "name": "жола-фониче"
+ },
+ "dz": {
+ "name": "жонгуча"
+ },
+ "dje": {
+ "name": "замрача"
+ },
+ "zu": {
+ "name": "зулуча"
+ },
+ "he": {
+ "name": "ивритте"
+ },
+ "ig": {
+ "name": "игбочо"
+ },
+ "yi": {
+ "name": "идишче"
+ },
+ "smn": {
+ "name": "инари саамиче"
+ },
+ "id": {
+ "name": "индонезче"
+ },
+ "ga": {
+ "name": "ирландча"
+ },
+ "is": {
+ "name": "исландча"
+ },
+ "es": {
+ "name": "испанча"
+ },
+ "es-MX": {
+ "name": "испанча (Мексика)"
+ },
+ "it": {
+ "name": "италиянча"
+ },
+ "yo": {
+ "name": "йорубача"
+ },
+ "kea": {
+ "name": "кабувердиче"
+ },
+ "kab": {
+ "name": "кабылча"
+ },
+ "kk": {
+ "name": "казакча"
+ },
+ "kkj": {
+ "name": "какочо"
+ },
+ "kl": {
+ "name": "калаалисутча"
+ },
+ "kln": {
+ "name": "каленжиче"
+ },
+ "kam": {
+ "name": "камбача"
+ },
+ "kn": {
+ "name": "каннадача"
+ },
+ "yue": {
+ "name": "кантончо"
+ },
+ "ca": {
+ "name": "каталанча"
+ },
+ "ks": {
+ "name": "кашмирче"
+ },
+ "nmg": {
+ "name": "квасиочо"
+ },
+ "gd": {
+ "name": "кельтче"
+ },
+ "qu": {
+ "name": "кечуача"
+ },
+ "ki": {
+ "name": "кикуйиче"
+ },
+ "km": {
+ "name": "кмерче"
+ },
+ "khq": {
+ "name": "койра чиниче"
+ },
+ "ses": {
+ "name": "койраборо сенниче"
+ },
+ "ksh": {
+ "name": "колоньяча"
+ },
+ "sw-CD": {
+ "name": "конго суахаличе"
+ },
+ "kok": {
+ "name": "конканиче"
+ },
+ "ko": {
+ "name": "корейче"
+ },
+ "kw": {
+ "name": "корнишче"
+ },
+ "ky": {
+ "name": "кыргызча"
+ },
+ "zh": {
+ "name": "кытайча"
+ },
+ "zh-Hans": {
+ "name": "кытайча (жөнөкөйлөштүрүлгөн)"
+ },
+ "zh-Hant": {
+ "name": "кытайча (салттуу)"
+ },
+ "lkt": {
+ "name": "лакотача"
+ },
+ "lag": {
+ "name": "лангиче"
+ },
+ "lo": {
+ "name": "лаочо"
+ },
+ "lv": {
+ "name": "латышча"
+ },
+ "ln": {
+ "name": "лингалача"
+ },
+ "lt": {
+ "name": "литовчо"
+ },
+ "lu": {
+ "name": "луба-катангача"
+ },
+ "luo": {
+ "name": "луочо"
+ },
+ "luy": {
+ "name": "лухияча"
+ },
+ "lb": {
+ "name": "люксембургча"
+ },
+ "mzn": {
+ "name": "мазандераниче"
+ },
+ "mk": {
+ "name": "македончо"
+ },
+ "kde": {
+ "name": "макондече"
+ },
+ "mgh": {
+ "name": "макуача"
+ },
+ "mg": {
+ "name": "малагасча"
+ },
+ "ml": {
+ "name": "малайаламча"
+ },
+ "ms": {
+ "name": "малайча"
+ },
+ "mt": {
+ "name": "малтизче"
+ },
+ "gv": {
+ "name": "манксыча"
+ },
+ "mr": {
+ "name": "маратиче"
+ },
+ "zgh": {
+ "name": "марокко тамазигт адабий тилинде"
+ },
+ "mas": {
+ "name": "масайча"
+ },
+ "jmc": {
+ "name": "мачамече"
+ },
+ "mer": {
+ "name": "меруча"
+ },
+ "mgo": {
+ "name": "метача"
+ },
+ "ro-MD": {
+ "name": "молдованча"
+ },
+ "mn": {
+ "name": "монголчо"
+ },
+ "mfe": {
+ "name": "морисианча"
+ },
+ "mua": {
+ "name": "мундангча"
+ },
+ "naq": {
+ "name": "намача"
+ },
+ "nnh": {
+ "name": "нгимбунча"
+ },
+ "jgo": {
+ "name": "нгомбача"
+ },
+ "de": {
+ "name": "немисче"
+ },
+ "de-AT": {
+ "name": "немисче (Австрия)"
+ },
+ "gsw": {
+ "name": "немисче (Швейцария)"
+ },
+ "ne": {
+ "name": "непалча"
+ },
+ "nb": {
+ "name": "норвежче (Букмал)"
+ },
+ "nn": {
+ "name": "норвежче (Нинорск)"
+ },
+ "nus": {
+ "name": "нуерче"
+ },
+ "nyn": {
+ "name": "ныйанколчо"
+ },
+ "or": {
+ "name": "орияча"
+ },
+ "om": {
+ "name": "оромочо"
+ },
+ "ru": {
+ "name": "орусча"
+ },
+ "os": {
+ "name": "осетинче"
+ },
+ "uz": {
+ "name": "өзбекче"
+ },
+ "pl": {
+ "name": "полякча"
+ },
+ "pt": {
+ "name": "португалча"
+ },
+ "pt-PT": {
+ "name": "португалча (Европа)"
+ },
+ "prg": {
+ "name": "пруссча"
+ },
+ "pa": {
+ "name": "пунжабиче"
+ },
+ "ps": {
+ "name": "пуштуча"
+ },
+ "rm": {
+ "name": "романшча"
+ },
+ "rof": {
+ "name": "ромбочо"
+ },
+ "rw": {
+ "name": "руандача"
+ },
+ "rwk": {
+ "name": "руача"
+ },
+ "ro": {
+ "name": "румынча"
+ },
+ "rn": {
+ "name": "рундиче"
+ },
+ "saq": {
+ "name": "самбуруча"
+ },
+ "sg": {
+ "name": "сангочо"
+ },
+ "sbp": {
+ "name": "сангуча"
+ },
+ "sah": {
+ "name": "сахача"
+ },
+ "seh": {
+ "name": "сенача"
+ },
+ "sr": {
+ "name": "сербче"
+ },
+ "si": {
+ "name": "сингалача"
+ },
+ "sk": {
+ "name": "словакча"
+ },
+ "sl": {
+ "name": "словенче"
+ },
+ "xog": {
+ "name": "согача"
+ },
+ "so": {
+ "name": "сомаличе"
+ },
+ "sw": {
+ "name": "суахиличе"
+ },
+ "ii": {
+ "name": "сычуань йиче"
+ },
+ "dav": {
+ "name": "таитача"
+ },
+ "th": {
+ "name": "тайча"
+ },
+ "ta": {
+ "name": "тамилче"
+ },
+ "twq": {
+ "name": "тасабакча"
+ },
+ "shi": {
+ "name": "ташелитче"
+ },
+ "te": {
+ "name": "телугуча"
+ },
+ "teo": {
+ "name": "тесочо"
+ },
+ "bo": {
+ "name": "тибетче"
+ },
+ "ti": {
+ "name": "тигриниача"
+ },
+ "to": {
+ "name": "тонгача"
+ },
+ "nds": {
+ "name": "төмөнкү немисче"
+ },
+ "nds-NL": {
+ "name": "төмөнкү саксончо"
+ },
+ "dsb": {
+ "name": "төмөнкү сорбианча"
+ },
+ "lrc": {
+ "name": "түндүк луриче"
+ },
+ "nd": {
+ "name": "түндүк ндыбелче"
+ },
+ "se": {
+ "name": "түндүк самиче"
+ },
+ "tk": {
+ "name": "түркмөнчө"
+ },
+ "tr": {
+ "name": "түркчө"
+ },
+ "cy": {
+ "name": "уелшче"
+ },
+ "ug": {
+ "name": "уйгурча"
+ },
+ "uk": {
+ "name": "украинче"
+ },
+ "ur": {
+ "name": "урдуча"
+ },
+ "fo": {
+ "name": "фароэче"
+ },
+ "fa": {
+ "name": "фарсча"
+ },
+ "fil": {
+ "name": "филипинче"
+ },
+ "fi": {
+ "name": "финче"
+ },
+ "nl-BE": {
+ "name": "фламандча"
+ },
+ "fr": {
+ "name": "французча"
+ },
+ "fr-CA": {
+ "name": "французча (Канада)"
+ },
+ "fr-CH": {
+ "name": "французча (Швейцария)"
+ },
+ "fur": {
+ "name": "фриулча"
+ },
+ "ff": {
+ "name": "фулача"
+ },
+ "ha": {
+ "name": "хаусача"
+ },
+ "hi": {
+ "name": "хиндиче"
+ },
+ "hr": {
+ "name": "хорватча"
+ },
+ "chr": {
+ "name": "черокиче"
+ },
+ "cs": {
+ "name": "чехче"
+ },
+ "ce": {
+ "name": "чеченче"
+ },
+ "cgg": {
+ "name": "чигача"
+ },
+ "cu": {
+ "name": "чиркөө славянча"
+ },
+ "ksb": {
+ "name": "шамабалача"
+ },
+ "sv": {
+ "name": "шведче"
+ },
+ "sn": {
+ "name": "шонача"
+ },
+ "ee": {
+ "name": "эбече"
+ },
+ "ewo": {
+ "name": "эвондочо"
+ },
+ "ebu": {
+ "name": "эмбуча"
+ },
+ "eo": {
+ "name": "эсперанто"
+ },
+ "et": {
+ "name": "эстончо"
+ },
+ "yav": {
+ "name": "янгбенче"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/lag.json b/vendor/commerceguys/intl/resources/language/lag.json
new file mode 100644
index 000000000..66cb64700
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/lag.json
@@ -0,0 +1,632 @@
+{
+ "af": {
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "sq": {
+ "name": "Albanian"
+ },
+ "hy": {
+ "name": "Armenian"
+ },
+ "as": {
+ "name": "Assamese"
+ },
+ "ast": {
+ "name": "Asturian"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "az": {
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "eu": {
+ "name": "Basque"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "bs": {
+ "name": "Bosnian"
+ },
+ "br": {
+ "name": "Breton"
+ },
+ "yue": {
+ "name": "Cantonese"
+ },
+ "ca": {
+ "name": "Catalan"
+ },
+ "tzm": {
+ "name": "Central Atlas Tamazight"
+ },
+ "ckb": {
+ "name": "Central Kurdish"
+ },
+ "ce": {
+ "name": "Chechen"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "cu": {
+ "name": "Church Slavic"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "kw": {
+ "name": "Cornish"
+ },
+ "hr": {
+ "name": "Croatian"
+ },
+ "da": {
+ "name": "Danish"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "dz": {
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "eo": {
+ "name": "Esperanto"
+ },
+ "et": {
+ "name": "Estonian"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fo": {
+ "name": "Faroese"
+ },
+ "fil": {
+ "name": "Filipino"
+ },
+ "fi": {
+ "name": "Finnish"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "gl": {
+ "name": "Galician"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "ka": {
+ "name": "Georgian"
+ },
+ "gu": {
+ "name": "Gujarati"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "haw": {
+ "name": "Hawaiian"
+ },
+ "he": {
+ "name": "Hebrew"
+ },
+ "is": {
+ "name": "Icelandic"
+ },
+ "smn": {
+ "name": "Inari Sami"
+ },
+ "ga": {
+ "name": "Irish"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabyle"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kl": {
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "kn": {
+ "name": "Kannada"
+ },
+ "ks": {
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "name": "Kazakh"
+ },
+ "ig": {
+ "name": "Kiígibo"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "fa": {
+ "name": "Kɨajéemi"
+ },
+ "ak": {
+ "name": "Kɨakáani"
+ },
+ "ar": {
+ "name": "Kɨaráabu"
+ },
+ "my": {
+ "name": "Kɨbáama"
+ },
+ "bn": {
+ "name": "Kɨbangála"
+ },
+ "be": {
+ "name": "Kɨberalúusi"
+ },
+ "bg": {
+ "name": "Kɨbulugária"
+ },
+ "cs": {
+ "name": "Kɨchéeki"
+ },
+ "zh": {
+ "name": "Kɨchíina"
+ },
+ "zh-Hans": {
+ "name": "Kɨchíina (Hans)"
+ },
+ "zh-Hant": {
+ "name": "Kɨchíina (Hant)"
+ },
+ "fr": {
+ "name": "Kɨfaráansa"
+ },
+ "fr-CA": {
+ "name": "Kɨfaráansa (Kánada)"
+ },
+ "fr-CH": {
+ "name": "Kɨfaráansa (Uswíisi)"
+ },
+ "el": {
+ "name": "Kɨgiríki"
+ },
+ "ha": {
+ "name": "Kɨhaúusa"
+ },
+ "hi": {
+ "name": "Kɨhíindi"
+ },
+ "es": {
+ "name": "Kɨhispánia"
+ },
+ "es-MX": {
+ "name": "Kɨhispánia (Mekisiko)"
+ },
+ "nl": {
+ "name": "Kɨholáanzi"
+ },
+ "nl-BE": {
+ "name": "Kɨholáanzi (Ʉbeligíiji)"
+ },
+ "hu": {
+ "name": "Kɨhungári"
+ },
+ "id": {
+ "name": "Kɨɨndonésia"
+ },
+ "en": {
+ "name": "Kɨɨngeréesa"
+ },
+ "en-AU": {
+ "name": "Kɨɨngeréesa (Ausiteréelia)"
+ },
+ "en-CA": {
+ "name": "Kɨɨngeréesa (Kánada)"
+ },
+ "en-GB": {
+ "name": "Kɨɨngeréesa (Ʉɨngeréesa)"
+ },
+ "ja": {
+ "name": "Kɨjapáani"
+ },
+ "de": {
+ "name": "Kɨjerʉmáani"
+ },
+ "de-AT": {
+ "name": "Kɨjerʉmáani (Áusitiria)"
+ },
+ "de-CH": {
+ "name": "Kɨjerʉmáani (Uswíisi)"
+ },
+ "km": {
+ "name": "Kɨkambódia"
+ },
+ "ko": {
+ "name": "Kɨkoréa"
+ },
+ "lag": {
+ "name": "Kɨlaangi"
+ },
+ "ms": {
+ "name": "Kɨmelésia"
+ },
+ "am": {
+ "name": "Kɨmʉháari"
+ },
+ "ne": {
+ "name": "Kɨnepáali"
+ },
+ "rw": {
+ "name": "Kɨnyarwáanda"
+ },
+ "pl": {
+ "name": "Kɨpólandi"
+ },
+ "pa": {
+ "name": "Kɨpúnjabi"
+ },
+ "pt": {
+ "name": "Kɨréeno"
+ },
+ "pt-PT": {
+ "name": "Kɨréeno (Ʉréeno)"
+ },
+ "ro": {
+ "name": "Kɨromanía"
+ },
+ "ro-MD": {
+ "name": "Kɨromanía (Molidóova)"
+ },
+ "ru": {
+ "name": "Kɨrúusi"
+ },
+ "so": {
+ "name": "Kɨsómáali"
+ },
+ "sv": {
+ "name": "Kɨswíidi"
+ },
+ "th": {
+ "name": "Kɨtáilandi"
+ },
+ "it": {
+ "name": "Kɨtaliáano"
+ },
+ "ta": {
+ "name": "Kɨtamíili"
+ },
+ "tr": {
+ "name": "Kɨturúuki"
+ },
+ "uk": {
+ "name": "Kɨukɨranía"
+ },
+ "ur": {
+ "name": "Kɨúrdu"
+ },
+ "vi": {
+ "name": "Kɨvietináamu"
+ },
+ "yo": {
+ "name": "Kɨyorúuba"
+ },
+ "zu": {
+ "name": "Kɨzúulu"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "ky": {
+ "name": "Kyrgyz"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lo": {
+ "name": "Lao"
+ },
+ "lv": {
+ "name": "Latvian"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "lt": {
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "mk": {
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "mg": {
+ "name": "Malagasy"
+ },
+ "ml": {
+ "name": "Malayalam"
+ },
+ "mt": {
+ "name": "Maltese"
+ },
+ "gv": {
+ "name": "Manx"
+ },
+ "mr": {
+ "name": "Marathi"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "mn": {
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nds-NL": {
+ "name": "nds (Ʉholáanzi)"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "nd": {
+ "name": "North Ndebele"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "se": {
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "or": {
+ "name": "Odia"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "os": {
+ "name": "Ossetic"
+ },
+ "ps": {
+ "name": "Pashto"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "qu": {
+ "name": "Quechua"
+ },
+ "rm": {
+ "name": "Romansh"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "rn": {
+ "name": "Rundi"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "sah": {
+ "name": "Sakha"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "gd": {
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "sr": {
+ "name": "Serbian"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "si": {
+ "name": "Sinhala"
+ },
+ "sk": {
+ "name": "Slovak"
+ },
+ "sl": {
+ "name": "Slovenian"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw-CD": {
+ "name": "sw (Jamuhúuri ya Kɨdemokurasía ya Kóongo)"
+ },
+ "sw": {
+ "name": "Swahili"
+ },
+ "gsw": {
+ "name": "Swiss German"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "te": {
+ "name": "Telugu"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "bo": {
+ "name": "Tibetan"
+ },
+ "ti": {
+ "name": "Tigrinya"
+ },
+ "to": {
+ "name": "Tongan"
+ },
+ "tk": {
+ "name": "Turkmen"
+ },
+ "hsb": {
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "name": "Uyghur"
+ },
+ "uz": {
+ "name": "Uzbek"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "cy": {
+ "name": "Welsh"
+ },
+ "fy": {
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "yi": {
+ "name": "Yiddish"
+ },
+ "dje": {
+ "name": "Zarma"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/lb.json b/vendor/commerceguys/intl/resources/language/lb.json
new file mode 100644
index 000000000..16d575299
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/lb.json
@@ -0,0 +1,635 @@
+{
+ "af": {
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "ak": {
+ "name": "Akan"
+ },
+ "sq": {
+ "name": "Albanesch"
+ },
+ "am": {
+ "name": "Amharesch"
+ },
+ "ar": {
+ "name": "Arabesch"
+ },
+ "hy": {
+ "name": "Armenesch"
+ },
+ "az": {
+ "name": "Aserbaidschanesch"
+ },
+ "as": {
+ "name": "Assamesesch"
+ },
+ "ast": {
+ "name": "Asturianesch"
+ },
+ "asa": {
+ "name": "Asu (Tanzania)"
+ },
+ "en-AU": {
+ "name": "Australescht Englesch"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara-Sprooch"
+ },
+ "bas": {
+ "name": "Basaa-Sprooch"
+ },
+ "eu": {
+ "name": "Baskesch"
+ },
+ "bem": {
+ "name": "Bemba-Sprooch"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "bn": {
+ "name": "Bengalesch"
+ },
+ "dz": {
+ "name": "Bhutanesch"
+ },
+ "my": {
+ "name": "Birmanesch"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "bs": {
+ "name": "Bosnesch"
+ },
+ "br": {
+ "name": "Bretonesch"
+ },
+ "en-GB": {
+ "name": "Britescht Englesch"
+ },
+ "bg": {
+ "name": "Bulgaresch"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "zh": {
+ "name": "Chinesesch"
+ },
+ "zh-Hant": {
+ "name": "Chinesesch (traditionell)"
+ },
+ "zh-Hans": {
+ "name": "Chinesesch (vereinfacht)"
+ },
+ "de": {
+ "name": "Däitsch"
+ },
+ "da": {
+ "name": "Dänesch"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "de-AT": {
+ "name": "Éisträichescht Däitsch"
+ },
+ "en": {
+ "name": "Englesch"
+ },
+ "eo": {
+ "name": "Esperanto"
+ },
+ "et": {
+ "name": "Estnesch"
+ },
+ "pt-PT": {
+ "name": "Europäescht Portugisesch"
+ },
+ "ee": {
+ "name": "Ewe-Sprooch"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fo": {
+ "name": "Färöesch"
+ },
+ "fil": {
+ "name": "Filipino"
+ },
+ "fi": {
+ "name": "Finnesch"
+ },
+ "nl-BE": {
+ "name": "Flämesch"
+ },
+ "fr": {
+ "name": "Franséisch"
+ },
+ "fur": {
+ "name": "Friulesch"
+ },
+ "ff": {
+ "name": "Ful"
+ },
+ "gl": {
+ "name": "Galizesch"
+ },
+ "lg": {
+ "name": "Ganda-Sprooch"
+ },
+ "ka": {
+ "name": "Georgesch"
+ },
+ "el": {
+ "name": "Griichesch"
+ },
+ "kl": {
+ "name": "Grönlännesch"
+ },
+ "gu": {
+ "name": "Gujarati"
+ },
+ "guz": {
+ "name": "Gusii-Sprooch"
+ },
+ "ha": {
+ "name": "Hausa"
+ },
+ "haw": {
+ "name": "Hawaiesch"
+ },
+ "he": {
+ "name": "Hebräesch"
+ },
+ "hi": {
+ "name": "Hindi"
+ },
+ "nl": {
+ "name": "Hollännesch"
+ },
+ "ig": {
+ "name": "Igbo-Sprooch"
+ },
+ "smn": {
+ "name": "Inari-Lappesch"
+ },
+ "id": {
+ "name": "Indonesesch"
+ },
+ "ga": {
+ "name": "Iresch"
+ },
+ "is": {
+ "name": "Islännesch"
+ },
+ "it": {
+ "name": "Italienesch"
+ },
+ "sah": {
+ "name": "Jakutesch"
+ },
+ "ja": {
+ "name": "Japanesch"
+ },
+ "yi": {
+ "name": "Jiddesch"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabylesch"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "km": {
+ "name": "Kambodschanesch"
+ },
+ "en-CA": {
+ "name": "Kanadescht Englesch"
+ },
+ "fr-CA": {
+ "name": "Kanadescht Franséisch"
+ },
+ "kn": {
+ "name": "Kannada"
+ },
+ "yue": {
+ "name": "Kantonesesch"
+ },
+ "kk": {
+ "name": "Kasachesch"
+ },
+ "ks": {
+ "name": "Kaschmiresch"
+ },
+ "ca": {
+ "name": "Katalanesch"
+ },
+ "ebu": {
+ "name": "Kiembu"
+ },
+ "cu": {
+ "name": "Kiercheslawesch"
+ },
+ "cgg": {
+ "name": "Kiga"
+ },
+ "ki": {
+ "name": "Kikuyu-Sprooch"
+ },
+ "ky": {
+ "name": "Kirgisesch"
+ },
+ "ksh": {
+ "name": "Kölsch"
+ },
+ "sw-CD": {
+ "name": "Kongo-Swahili"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "ko": {
+ "name": "Koreanesch"
+ },
+ "kw": {
+ "name": "Kornesch"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyra Senni"
+ },
+ "hr": {
+ "name": "Kroatesch"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "lkt": {
+ "name": "Lakota-Sprooch"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "Laotesch"
+ },
+ "lv": {
+ "name": "Lettesch"
+ },
+ "lb": {
+ "name": "Lëtzebuergesch"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "lt": {
+ "name": "Litauesch"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "name": "Luo-Sprooch"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "mg": {
+ "name": "Malagassi-Sprooch"
+ },
+ "ms": {
+ "name": "Malaiesch"
+ },
+ "ml": {
+ "name": "Malayalam"
+ },
+ "mt": {
+ "name": "Maltesesch"
+ },
+ "gv": {
+ "name": "Manx"
+ },
+ "mr": {
+ "name": "Marathi"
+ },
+ "zgh": {
+ "name": "Marokkanescht Standard-Tamazight"
+ },
+ "mas": {
+ "name": "Massai-Sprooch"
+ },
+ "mzn": {
+ "name": "Mazandarani"
+ },
+ "mk": {
+ "name": "Mazedonesch"
+ },
+ "mer": {
+ "name": "Meru-Sprooch"
+ },
+ "mgo": {
+ "name": "Meta’"
+ },
+ "tzm": {
+ "name": "Mëttlert-Atlas-Tamazight"
+ },
+ "es-MX": {
+ "name": "Mexikanescht Spuenesch"
+ },
+ "ro-MD": {
+ "name": "Moldawesch"
+ },
+ "mn": {
+ "name": "Mongolesch"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "ne": {
+ "name": "Nepalesesch"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "nds": {
+ "name": "Nidderdäitsch"
+ },
+ "nds-NL": {
+ "name": "Nidderdäitsch (Holland)"
+ },
+ "dsb": {
+ "name": "Niddersorbesch"
+ },
+ "nd": {
+ "name": "Nord-Ndebele-Sprooch"
+ },
+ "se": {
+ "name": "Nordsamesch"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "nb": {
+ "name": "Norwegesch Bokmål"
+ },
+ "nn": {
+ "name": "Norwegesch Nynorsk"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "luy": {
+ "name": "Olulujia"
+ },
+ "or": {
+ "name": "Orija"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "os": {
+ "name": "Ossetesch"
+ },
+ "pa": {
+ "name": "Pandschabesch"
+ },
+ "ps": {
+ "name": "Paschtu"
+ },
+ "fa": {
+ "name": "Persesch"
+ },
+ "pl": {
+ "name": "Polnesch"
+ },
+ "pt": {
+ "name": "Portugisesch"
+ },
+ "prg": {
+ "name": "Preisesch"
+ },
+ "qu": {
+ "name": "Quechua"
+ },
+ "rm": {
+ "name": "Rätoromanesch"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "rw": {
+ "name": "Ruandesch"
+ },
+ "ro": {
+ "name": "Rumänesch"
+ },
+ "rn": {
+ "name": "Rundi-Sprooch"
+ },
+ "ru": {
+ "name": "Russesch"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "gd": {
+ "name": "Schottescht Gällesch"
+ },
+ "fr-CH": {
+ "name": "Schwäizer Franséisch"
+ },
+ "de-CH": {
+ "name": "Schwäizer Héichdäitsch"
+ },
+ "gsw": {
+ "name": "Schwäizerdäitsch"
+ },
+ "sv": {
+ "name": "Schwedesch"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "sr": {
+ "name": "Serbesch"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "si": {
+ "name": "Singhalesesch"
+ },
+ "sk": {
+ "name": "Slowakesch"
+ },
+ "sl": {
+ "name": "Slowenesch"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "so": {
+ "name": "Somali"
+ },
+ "ckb": {
+ "name": "Sorani"
+ },
+ "es": {
+ "name": "Spuenesch"
+ },
+ "sw": {
+ "name": "Suaheli"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "ta": {
+ "name": "Tamilesch"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "shi": {
+ "name": "Taschelhit"
+ },
+ "te": {
+ "name": "Telugu"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "th": {
+ "name": "Thailännesch"
+ },
+ "bo": {
+ "name": "Tibetesch"
+ },
+ "tr": {
+ "name": "Tierkesch"
+ },
+ "ti": {
+ "name": "Tigrinja"
+ },
+ "to": {
+ "name": "Tongaesch"
+ },
+ "cs": {
+ "name": "Tschechesch"
+ },
+ "ce": {
+ "name": "Tschetschenesch"
+ },
+ "tk": {
+ "name": "Turkmenesch"
+ },
+ "hsb": {
+ "name": "Uewersorbesch"
+ },
+ "ug": {
+ "name": "Uiguresch"
+ },
+ "uk": {
+ "name": "Ukrainesch"
+ },
+ "hu": {
+ "name": "Ungaresch"
+ },
+ "ur": {
+ "name": "Urdu"
+ },
+ "uz": {
+ "name": "Usbekesch"
+ },
+ "vai": {
+ "name": "Vai-Sprooch"
+ },
+ "vi": {
+ "name": "Vietnamesesch"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "be": {
+ "name": "Wäissrussesch"
+ },
+ "cy": {
+ "name": "Walisesch"
+ },
+ "wae": {
+ "name": "Walliserdäitsch"
+ },
+ "fy": {
+ "name": "Westfriesesch"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "yo": {
+ "name": "Yoruba"
+ },
+ "dje": {
+ "name": "Zarma"
+ },
+ "zu": {
+ "name": "Zulu"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/lg.json b/vendor/commerceguys/intl/resources/language/lg.json
new file mode 100644
index 000000000..9ac4ec19c
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/lg.json
@@ -0,0 +1,632 @@
+{
+ "af": {
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "sq": {
+ "name": "Albanian"
+ },
+ "hy": {
+ "name": "Armenian"
+ },
+ "as": {
+ "name": "Assamese"
+ },
+ "ast": {
+ "name": "Asturian"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "az": {
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "eu": {
+ "name": "Basque"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "bs": {
+ "name": "Bosnian"
+ },
+ "br": {
+ "name": "Breton"
+ },
+ "yue": {
+ "name": "Cantonese"
+ },
+ "ca": {
+ "name": "Catalan"
+ },
+ "tzm": {
+ "name": "Central Atlas Tamazight"
+ },
+ "ckb": {
+ "name": "Central Kurdish"
+ },
+ "ce": {
+ "name": "Chechen"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "cu": {
+ "name": "Church Slavic"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "kw": {
+ "name": "Cornish"
+ },
+ "hr": {
+ "name": "Croatian"
+ },
+ "da": {
+ "name": "Danish"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "dz": {
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "eo": {
+ "name": "Esperanto"
+ },
+ "et": {
+ "name": "Estonian"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fo": {
+ "name": "Faroese"
+ },
+ "fil": {
+ "name": "Filipino"
+ },
+ "fi": {
+ "name": "Finnish"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "gl": {
+ "name": "Galician"
+ },
+ "ka": {
+ "name": "Georgian"
+ },
+ "gu": {
+ "name": "Gujarati"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "haw": {
+ "name": "Hawaiian"
+ },
+ "he": {
+ "name": "Hebrew"
+ },
+ "is": {
+ "name": "Icelandic"
+ },
+ "smn": {
+ "name": "Inari Sami"
+ },
+ "ga": {
+ "name": "Irish"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabyle"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kl": {
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "kn": {
+ "name": "Kannada"
+ },
+ "ks": {
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "name": "Kazakh"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "ky": {
+ "name": "Kyrgyz"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "Lao"
+ },
+ "lv": {
+ "name": "Latvian"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "lt": {
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "name": "Lower Sorbian"
+ },
+ "ak": {
+ "name": "Lu-akaani"
+ },
+ "am": {
+ "name": "Lu-amhariki"
+ },
+ "ur": {
+ "name": "Lu-urudu"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "my": {
+ "name": "Lubbama"
+ },
+ "be": {
+ "name": "Lubelarusi"
+ },
+ "bn": {
+ "name": "Lubengali"
+ },
+ "bg": {
+ "name": "Lubulugariya"
+ },
+ "zh": {
+ "name": "Lucayina"
+ },
+ "zh-Hans": {
+ "name": "Lucayina (Hans)"
+ },
+ "zh-Hant": {
+ "name": "Lucayina (Hant)"
+ },
+ "cs": {
+ "name": "Luceeke"
+ },
+ "de": {
+ "name": "Ludaaki"
+ },
+ "de-AT": {
+ "name": "Ludaaki (Awusituriya)"
+ },
+ "de-CH": {
+ "name": "Ludaaki (Switizirandi)"
+ },
+ "fr": {
+ "name": "Lufalansa"
+ },
+ "fr-CA": {
+ "name": "Lufalansa (Kanada)"
+ },
+ "fr-CH": {
+ "name": "Lufalansa (Switizirandi)"
+ },
+ "lg": {
+ "name": "Luganda"
+ },
+ "el": {
+ "name": "Lugereeki\/Luyonaani"
+ },
+ "hu": {
+ "name": "Luhangare"
+ },
+ "ha": {
+ "name": "Luhawuza"
+ },
+ "hi": {
+ "name": "Luhindu"
+ },
+ "nl": {
+ "name": "Luholandi"
+ },
+ "nl-BE": {
+ "name": "Luholandi (Bubirigi)"
+ },
+ "ja": {
+ "name": "Lujapani"
+ },
+ "km": {
+ "name": "Lukme"
+ },
+ "ko": {
+ "name": "Lukoreya"
+ },
+ "ru": {
+ "name": "Lulasa"
+ },
+ "ro": {
+ "name": "Lulomaniya"
+ },
+ "ro-MD": {
+ "name": "Lulomaniya (Molodova)"
+ },
+ "ms": {
+ "name": "Lumalayi"
+ },
+ "rw": {
+ "name": "Lunarwanda"
+ },
+ "ne": {
+ "name": "Lunepali"
+ },
+ "en": {
+ "name": "Lungereza"
+ },
+ "en-AU": {
+ "name": "Lungereza (Awusitureliya)"
+ },
+ "en-GB": {
+ "name": "Lungereza (Bungereza)"
+ },
+ "en-CA": {
+ "name": "Lungereza (Kanada)"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "fa": {
+ "name": "Luperusi"
+ },
+ "pl": {
+ "name": "Lupolandi"
+ },
+ "pt": {
+ "name": "Lupotugiizi"
+ },
+ "pt-PT": {
+ "name": "Lupotugiizi (Potugaali)"
+ },
+ "pa": {
+ "name": "Lupunjabi"
+ },
+ "es": {
+ "name": "Lusipanya"
+ },
+ "es-MX": {
+ "name": "Lusipanya (Mekisiko)"
+ },
+ "so": {
+ "name": "Lusomaliya"
+ },
+ "sv": {
+ "name": "Luswideni"
+ },
+ "tr": {
+ "name": "Lutake"
+ },
+ "ta": {
+ "name": "Lutamiiru"
+ },
+ "th": {
+ "name": "Luttaayi"
+ },
+ "vi": {
+ "name": "Luvyetinaamu"
+ },
+ "ar": {
+ "name": "Luwarabu"
+ },
+ "lb": {
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "ig": {
+ "name": "Luyibo"
+ },
+ "id": {
+ "name": "Luyindonezya"
+ },
+ "it": {
+ "name": "Luyitale"
+ },
+ "yo": {
+ "name": "Luyoruba"
+ },
+ "uk": {
+ "name": "Luyukurayine"
+ },
+ "zu": {
+ "name": "Luzzulu"
+ },
+ "mk": {
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "mg": {
+ "name": "Malagasy"
+ },
+ "ml": {
+ "name": "Malayalam"
+ },
+ "mt": {
+ "name": "Maltese"
+ },
+ "gv": {
+ "name": "Manx"
+ },
+ "mr": {
+ "name": "Marathi"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "mn": {
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nds-NL": {
+ "name": "nds (Holandi)"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "nd": {
+ "name": "North Ndebele"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "se": {
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "or": {
+ "name": "Odia"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "os": {
+ "name": "Ossetic"
+ },
+ "ps": {
+ "name": "Pashto"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "qu": {
+ "name": "Quechua"
+ },
+ "rm": {
+ "name": "Romansh"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "rn": {
+ "name": "Rundi"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "sah": {
+ "name": "Sakha"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "gd": {
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "sr": {
+ "name": "Serbian"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "si": {
+ "name": "Sinhala"
+ },
+ "sk": {
+ "name": "Slovak"
+ },
+ "sl": {
+ "name": "Slovenian"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw-CD": {
+ "name": "sw (Kongo - Zayire)"
+ },
+ "sw": {
+ "name": "Swahili"
+ },
+ "gsw": {
+ "name": "Swiss German"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "te": {
+ "name": "Telugu"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "bo": {
+ "name": "Tibetan"
+ },
+ "ti": {
+ "name": "Tigrinya"
+ },
+ "to": {
+ "name": "Tongan"
+ },
+ "tk": {
+ "name": "Turkmen"
+ },
+ "hsb": {
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "name": "Uyghur"
+ },
+ "uz": {
+ "name": "Uzbek"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "cy": {
+ "name": "Welsh"
+ },
+ "fy": {
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "yi": {
+ "name": "Yiddish"
+ },
+ "dje": {
+ "name": "Zarma"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/lkt.json b/vendor/commerceguys/intl/resources/language/lkt.json
new file mode 100644
index 000000000..474dd0405
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/lkt.json
@@ -0,0 +1,632 @@
+{
+ "af": {
+ "name": "Afrikaans Iyápi"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "ak": {
+ "name": "Akan"
+ },
+ "sq": {
+ "name": "Albanian Iyápi"
+ },
+ "am": {
+ "name": "Amharic Iyápi"
+ },
+ "ar": {
+ "name": "Arab Iyápi"
+ },
+ "hy": {
+ "name": "Armenia Iyápi"
+ },
+ "as": {
+ "name": "Assamese Iyápi"
+ },
+ "ast": {
+ "name": "Asturian"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "az": {
+ "name": "Azerbaijani Iyápi"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "eu": {
+ "name": "Basque Iyápi"
+ },
+ "be": {
+ "name": "Belarus Iyápi"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "bn": {
+ "name": "Bengali Iyápi"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "bs": {
+ "name": "Bosnia Iyápi"
+ },
+ "br": {
+ "name": "Breton"
+ },
+ "bg": {
+ "name": "Bulgar Iyápi"
+ },
+ "my": {
+ "name": "Burmese Iyápi"
+ },
+ "yue": {
+ "name": "Cantonese"
+ },
+ "ca": {
+ "name": "Catalan Iyápi"
+ },
+ "tzm": {
+ "name": "Central Atlas Tamazight"
+ },
+ "ckb": {
+ "name": "Central Kurdish"
+ },
+ "ce": {
+ "name": "Chechen Iyápi"
+ },
+ "chr": {
+ "name": "Cherokee Iyápi"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "cu": {
+ "name": "Church Slavic"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "kw": {
+ "name": "Cornish"
+ },
+ "hr": {
+ "name": "Croatian Iyápi"
+ },
+ "cs": {
+ "name": "Czech Iyápi"
+ },
+ "da": {
+ "name": "Dane Iyápi"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "nl": {
+ "name": "Dutch Iyápi"
+ },
+ "dz": {
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "eo": {
+ "name": "Esperanto Iyápi"
+ },
+ "et": {
+ "name": "Estonia Iyápi"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fo": {
+ "name": "Faroese Iyápi"
+ },
+ "fil": {
+ "name": "Filipino Iyápi"
+ },
+ "fi": {
+ "name": "Finnish Iyápi"
+ },
+ "nl-BE": {
+ "name": "Flemish Iyápi"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "gl": {
+ "name": "Galician Iyápi"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "ka": {
+ "name": "Georia Iyápi"
+ },
+ "el": {
+ "name": "Greece Iyápi"
+ },
+ "gu": {
+ "name": "Gujarati Iyápi"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "ha": {
+ "name": "Hausa Iyápi"
+ },
+ "haw": {
+ "name": "Hawaiian Iyápi"
+ },
+ "he": {
+ "name": "Hebrew Iyápi"
+ },
+ "hi": {
+ "name": "Hindi Iyápi"
+ },
+ "hu": {
+ "name": "Hungary Iyápi"
+ },
+ "is": {
+ "name": "Iceland Iyápi"
+ },
+ "ig": {
+ "name": "Igbo Iyápi"
+ },
+ "smn": {
+ "name": "Inari Sami"
+ },
+ "id": {
+ "name": "Indonesia Iyápi"
+ },
+ "ga": {
+ "name": "Irish Iyápi"
+ },
+ "it": {
+ "name": "Italia Iyápi"
+ },
+ "de": {
+ "name": "Iyášiča Iyápi"
+ },
+ "de-AT": {
+ "name": "Iyášiča Iyápi (AT)"
+ },
+ "de-CH": {
+ "name": "Iyášiča Iyápi (CH)"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabyle"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kl": {
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "kn": {
+ "name": "Kannada Iyápi"
+ },
+ "ks": {
+ "name": "Kashmir Iyápi"
+ },
+ "kk": {
+ "name": "Kazakh Iyápi"
+ },
+ "km": {
+ "name": "Khmer Iyápi"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "rw": {
+ "name": "Kinyarwanda"
+ },
+ "ky": {
+ "name": "Kirghiz Iyápi"
+ },
+ "ja": {
+ "name": "Kisúŋla Iyápi"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "ko": {
+ "name": "Korea Iyápi"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "lkt": {
+ "name": "Lakȟólʼiyapi"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "Lao Iyápi"
+ },
+ "lv": {
+ "name": "Latvia Iyápi"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "lt": {
+ "name": "Lithuania Iyápilt"
+ },
+ "dsb": {
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "Luxembourg Iyápi"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "mk": {
+ "name": "Macedonia Iyápi"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "mg": {
+ "name": "Malagasy Iyápi"
+ },
+ "ms": {
+ "name": "Malay Iyápi"
+ },
+ "ml": {
+ "name": "Malayalam Iyápi"
+ },
+ "mt": {
+ "name": "Maltese Iyápi"
+ },
+ "gv": {
+ "name": "Manx"
+ },
+ "mr": {
+ "name": "Marathi Iyápi"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "mn": {
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nds-NL": {
+ "name": "nds (NL)"
+ },
+ "ne": {
+ "name": "Nepal Iyápi"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "nd": {
+ "name": "North Ndebele"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "se": {
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "or": {
+ "name": "Oriya Iyápi"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "os": {
+ "name": "Ossetic"
+ },
+ "ps": {
+ "name": "Pashto Iyápi"
+ },
+ "fa": {
+ "name": "Persian Iyápi"
+ },
+ "zh": {
+ "name": "Pȟečhókaŋ Háŋska Iyápi"
+ },
+ "zh-Hant": {
+ "name": "Pȟečhókaŋ Háŋska Iyápi Ȟče"
+ },
+ "zh-Hans": {
+ "name": "Pȟečhókaŋ Háŋska Iyápi Ikčéka"
+ },
+ "pl": {
+ "name": "Polish Iyápi"
+ },
+ "pt": {
+ "name": "Portuguese Iyápi"
+ },
+ "pt-PT": {
+ "name": "Portuguese Iyápi (PT)"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "pa": {
+ "name": "Punjabi Iyápi"
+ },
+ "qu": {
+ "name": "Quechua Iyápi"
+ },
+ "ro": {
+ "name": "Romanian Iyápi"
+ },
+ "ro-MD": {
+ "name": "Romanian Iyápi (MD)"
+ },
+ "rm": {
+ "name": "Romansh Iyápi"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "rn": {
+ "name": "Rundi"
+ },
+ "ru": {
+ "name": "Russia Iyápi"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "sah": {
+ "name": "Sakha"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "gd": {
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "sr": {
+ "name": "Serbia Iyápi"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "si": {
+ "name": "Sinhala Iyápi"
+ },
+ "sk": {
+ "name": "Slovak Iyápi"
+ },
+ "sl": {
+ "name": "Slovenian Iyápi"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "so": {
+ "name": "Somali Iyápi"
+ },
+ "es": {
+ "name": "Spayóla Iyápi"
+ },
+ "es-MX": {
+ "name": "Spayóla Iyápi (Spayóla Makȟóčhe)"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw": {
+ "name": "Swahili Iyápi"
+ },
+ "sw-CD": {
+ "name": "Swahili Iyápi (CD)"
+ },
+ "sv": {
+ "name": "Swedish Iyápi"
+ },
+ "gsw": {
+ "name": "Swiss German"
+ },
+ "en-GB": {
+ "name": "Šagláša Wašíčuiyapi"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "ta": {
+ "name": "Tamil Iyápi"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "te": {
+ "name": "Telugu Iyápi"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "th": {
+ "name": "Thai Iyápi"
+ },
+ "bo": {
+ "name": "Tibetan Iyápi"
+ },
+ "ti": {
+ "name": "Tigrinya Iyápi"
+ },
+ "to": {
+ "name": "Tongan Iyápi"
+ },
+ "tr": {
+ "name": "Turkish Iyápi"
+ },
+ "tk": {
+ "name": "Turkmen Iyápi"
+ },
+ "uk": {
+ "name": "Ukrain Iyápi"
+ },
+ "hsb": {
+ "name": "Upper Sorbian"
+ },
+ "ur": {
+ "name": "Urdu Iyápi"
+ },
+ "ug": {
+ "name": "Uyghur Iyápi"
+ },
+ "uz": {
+ "name": "Uzbek Iyápi"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vi": {
+ "name": "Vietnamese Iyápi"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "cy": {
+ "name": "Wales Iyápi"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "fr": {
+ "name": "Wašíču Ikčéka Iyápi"
+ },
+ "fr-CH": {
+ "name": "Wašíču Ikčéka Iyápi (CH)"
+ },
+ "fr-CA": {
+ "name": "Wašíču Ikčéka Iyápi (Uŋčíyapi Makȟóčhe)"
+ },
+ "en": {
+ "name": "Wašíčuiyapi"
+ },
+ "en-AU": {
+ "name": "Wašíčuiyapi (AU)"
+ },
+ "en-CA": {
+ "name": "Wašíčuiyapi (Uŋčíyapi Makȟóčhe)"
+ },
+ "fy": {
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "yi": {
+ "name": "Yiddish"
+ },
+ "yo": {
+ "name": "Yoruba Iyápi"
+ },
+ "dje": {
+ "name": "Zarma"
+ },
+ "zu": {
+ "name": "Zulu Iyápi"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/ln.json b/vendor/commerceguys/intl/resources/language/ln.json
new file mode 100644
index 000000000..519cd5661
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/ln.json
@@ -0,0 +1,632 @@
+{
+ "af": {
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "ak": {
+ "name": "akan"
+ },
+ "sq": {
+ "name": "Albanian"
+ },
+ "hy": {
+ "name": "Armenian"
+ },
+ "as": {
+ "name": "Assamese"
+ },
+ "ast": {
+ "name": "Asturian"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "az": {
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "eu": {
+ "name": "Basque"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "bs": {
+ "name": "Bosnian"
+ },
+ "br": {
+ "name": "Breton"
+ },
+ "yue": {
+ "name": "Cantonese"
+ },
+ "ca": {
+ "name": "Catalan"
+ },
+ "tzm": {
+ "name": "Central Atlas Tamazight"
+ },
+ "ckb": {
+ "name": "Central Kurdish"
+ },
+ "ce": {
+ "name": "Chechen"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "cu": {
+ "name": "Church Slavic"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "kw": {
+ "name": "Cornish"
+ },
+ "hr": {
+ "name": "Croatian"
+ },
+ "da": {
+ "name": "Danish"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "dz": {
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "eo": {
+ "name": "Esperanto"
+ },
+ "et": {
+ "name": "Estonian"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fo": {
+ "name": "Faroese"
+ },
+ "fil": {
+ "name": "Filipino"
+ },
+ "fi": {
+ "name": "Finnish"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "gl": {
+ "name": "Galician"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "ka": {
+ "name": "Georgian"
+ },
+ "gu": {
+ "name": "Gujarati"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "ha": {
+ "name": "hausa"
+ },
+ "haw": {
+ "name": "Hawaiian"
+ },
+ "he": {
+ "name": "Hebrew"
+ },
+ "is": {
+ "name": "Icelandic"
+ },
+ "ig": {
+ "name": "igbo"
+ },
+ "smn": {
+ "name": "Inari Sami"
+ },
+ "ga": {
+ "name": "Irish"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabyle"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kl": {
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "kn": {
+ "name": "Kannada"
+ },
+ "ks": {
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "name": "Kazakh"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "rw": {
+ "name": "kinyarwanda"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "ky": {
+ "name": "Kyrgyz"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "Lao"
+ },
+ "lv": {
+ "name": "Latvian"
+ },
+ "ar": {
+ "name": "lialabo"
+ },
+ "de": {
+ "name": "lialemá"
+ },
+ "de-AT": {
+ "name": "lialemá (Otilisi)"
+ },
+ "de-CH": {
+ "name": "lialemá (Swisɛ)"
+ },
+ "am": {
+ "name": "liamariki"
+ },
+ "bn": {
+ "name": "libengali"
+ },
+ "bg": {
+ "name": "libiligali"
+ },
+ "my": {
+ "name": "libilimá"
+ },
+ "be": {
+ "name": "libyelorisí"
+ },
+ "nl": {
+ "name": "lifalamá"
+ },
+ "nl-BE": {
+ "name": "lifalamá (Beleziki)"
+ },
+ "fr": {
+ "name": "lifalansɛ́"
+ },
+ "fr-CA": {
+ "name": "lifalansɛ́ (Kanada)"
+ },
+ "fr-CH": {
+ "name": "lifalansɛ́ (Swisɛ)"
+ },
+ "el": {
+ "name": "ligeleki"
+ },
+ "hi": {
+ "name": "lihindi"
+ },
+ "km": {
+ "name": "likambodza"
+ },
+ "ko": {
+ "name": "likoreya"
+ },
+ "uk": {
+ "name": "likrɛni"
+ },
+ "ms": {
+ "name": "limalezi"
+ },
+ "id": {
+ "name": "lindonezi"
+ },
+ "ne": {
+ "name": "linepalɛ"
+ },
+ "ln": {
+ "name": "lingála"
+ },
+ "en": {
+ "name": "lingɛlɛ́sa"
+ },
+ "en-GB": {
+ "name": "lingɛlɛ́sa (Angɛlɛtɛ́lɛ)"
+ },
+ "en-CA": {
+ "name": "lingɛlɛ́sa (Kanada)"
+ },
+ "en-AU": {
+ "name": "lingɛlɛ́sa (Ositáli)"
+ },
+ "hu": {
+ "name": "liongili"
+ },
+ "fa": {
+ "name": "lipelésanɛ"
+ },
+ "pa": {
+ "name": "lipendzabi"
+ },
+ "pl": {
+ "name": "lipolonɛ"
+ },
+ "pt": {
+ "name": "lipulutugɛ́si"
+ },
+ "pt-PT": {
+ "name": "lipulutugɛ́si (Putúlugɛsi)"
+ },
+ "ru": {
+ "name": "lirisí"
+ },
+ "ro": {
+ "name": "liromani"
+ },
+ "ro-MD": {
+ "name": "liromani (Molidavi)"
+ },
+ "zh": {
+ "name": "lisinwa"
+ },
+ "zh-Hans": {
+ "name": "lisinwa (Hans)"
+ },
+ "zh-Hant": {
+ "name": "lisinwa (Hant)"
+ },
+ "es": {
+ "name": "lisipanye"
+ },
+ "es-MX": {
+ "name": "lisipanye (Meksike)"
+ },
+ "so": {
+ "name": "lisomali"
+ },
+ "sv": {
+ "name": "lisuwedɛ"
+ },
+ "it": {
+ "name": "litaliano"
+ },
+ "ta": {
+ "name": "litamuli"
+ },
+ "th": {
+ "name": "litaye"
+ },
+ "lt": {
+ "name": "Lithuanian"
+ },
+ "tr": {
+ "name": "litiliki"
+ },
+ "cs": {
+ "name": "litshekɛ"
+ },
+ "ur": {
+ "name": "liurdu"
+ },
+ "vi": {
+ "name": "liviyetinámi"
+ },
+ "ja": {
+ "name": "lizapɔ"
+ },
+ "dsb": {
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "mk": {
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "mg": {
+ "name": "Malagasy"
+ },
+ "ml": {
+ "name": "Malayalam"
+ },
+ "mt": {
+ "name": "Maltese"
+ },
+ "gv": {
+ "name": "Manx"
+ },
+ "mr": {
+ "name": "Marathi"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "mn": {
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nds-NL": {
+ "name": "nds (Olandɛ)"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "nd": {
+ "name": "North Ndebele"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "se": {
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "or": {
+ "name": "Odia"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "os": {
+ "name": "Ossetic"
+ },
+ "ps": {
+ "name": "Pashto"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "qu": {
+ "name": "Quechua"
+ },
+ "rm": {
+ "name": "Romansh"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "rn": {
+ "name": "Rundi"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "sah": {
+ "name": "Sakha"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "gd": {
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "sr": {
+ "name": "Serbian"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "si": {
+ "name": "Sinhala"
+ },
+ "sk": {
+ "name": "Slovak"
+ },
+ "sl": {
+ "name": "Slovenian"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw-CD": {
+ "name": "sw (Republíki ya Kongó Demokratíki)"
+ },
+ "sw": {
+ "name": "Swahili"
+ },
+ "gsw": {
+ "name": "Swiss German"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "te": {
+ "name": "Telugu"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "bo": {
+ "name": "Tibetan"
+ },
+ "ti": {
+ "name": "Tigrinya"
+ },
+ "to": {
+ "name": "Tongan"
+ },
+ "tk": {
+ "name": "Turkmen"
+ },
+ "hsb": {
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "name": "Uyghur"
+ },
+ "uz": {
+ "name": "Uzbek"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "cy": {
+ "name": "Welsh"
+ },
+ "fy": {
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "yi": {
+ "name": "Yiddish"
+ },
+ "yo": {
+ "name": "yoruba"
+ },
+ "dje": {
+ "name": "Zarma"
+ },
+ "zu": {
+ "name": "zulu"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/lo.json b/vendor/commerceguys/intl/resources/language/lo.json
new file mode 100644
index 000000000..fab755218
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/lo.json
@@ -0,0 +1,635 @@
+{
+ "el": {
+ "name": "ກຣີກ"
+ },
+ "kl": {
+ "name": "ກຣີນແລນລິດ"
+ },
+ "yue": {
+ "name": "ກວາງຕຸ້ງ"
+ },
+ "nmg": {
+ "name": "ກວາຊີໂອ"
+ },
+ "kok": {
+ "name": "ກອນການີ"
+ },
+ "kab": {
+ "name": "ກາໄບລ໌"
+ },
+ "kam": {
+ "name": "ກາມບາ"
+ },
+ "gl": {
+ "name": "ກາລິຊຽນ"
+ },
+ "gu": {
+ "name": "ກູຈາຣາຕິ"
+ },
+ "guz": {
+ "name": "ກູຊິ"
+ },
+ "ky": {
+ "name": "ເກຍກີສ"
+ },
+ "ko": {
+ "name": "ເກົາຫລີ"
+ },
+ "lg": {
+ "name": "ແກນດາ"
+ },
+ "km": {
+ "name": "ຂະເໝນ"
+ },
+ "kw": {
+ "name": "ຄໍນິຊ"
+ },
+ "sw-CD": {
+ "name": "ຄອງໂກ ຊວາຮີລິ"
+ },
+ "khq": {
+ "name": "ຄອຍຣາ ຊິນີ"
+ },
+ "kn": {
+ "name": "ຄັນນາດາ"
+ },
+ "kkj": {
+ "name": "ຄາໂກ"
+ },
+ "ks": {
+ "name": "ຄາສເມຍຣິ"
+ },
+ "kk": {
+ "name": "ຄາຊັກ"
+ },
+ "ca": {
+ "name": "ຄາຕາລານ"
+ },
+ "kln": {
+ "name": "ຄາເລັນຈິນ"
+ },
+ "kea": {
+ "name": "ຄາເວີເດຍນູ"
+ },
+ "ki": {
+ "name": "ຄິຄູຢຸ"
+ },
+ "rw": {
+ "name": "ຄິນຢາວານດາ"
+ },
+ "qu": {
+ "name": "ຄີຊົວ"
+ },
+ "ses": {
+ "name": "ໂຄຍຣາໂບໂຣ ເຊນນິ"
+ },
+ "hr": {
+ "name": "ໂຄຣເອທຽນ"
+ },
+ "ksh": {
+ "name": "ໂຄລອກນຽນ"
+ },
+ "jgo": {
+ "name": "ງອມບາ"
+ },
+ "ka": {
+ "name": "ຈໍຈຽນ"
+ },
+ "zh": {
+ "name": "ຈີນ"
+ },
+ "zh-Hant": {
+ "name": "ຈີນແບບດັ້ງເດີມ"
+ },
+ "zh-Hans": {
+ "name": "ຈີນແບບຮຽບງ່າຍ"
+ },
+ "nnh": {
+ "name": "ຈີ່ມບູນ"
+ },
+ "dyo": {
+ "name": "ໂຈລາ-ຟອນຢີ"
+ },
+ "gd": {
+ "name": "ສະກັອດເກລິກ"
+ },
+ "es": {
+ "name": "ສະແປນນິຊ"
+ },
+ "sl": {
+ "name": "ສະໂລເວນຽນ"
+ },
+ "sk": {
+ "name": "ສະໂລແວັກ"
+ },
+ "gsw": {
+ "name": "ສະວິສ ເຈີແມນ"
+ },
+ "de-CH": {
+ "name": "ສະວິສ ໄຮ ເຈີແມນ"
+ },
+ "sv": {
+ "name": "ສະວີດິຊ"
+ },
+ "si": {
+ "name": "ສິນຫາລາ"
+ },
+ "hsb": {
+ "name": "ຊໍບຽນ ທາງຕອນເໜືອ"
+ },
+ "dsb": {
+ "name": "ຊໍບຽນຕໍ່ກວ່າ"
+ },
+ "sw": {
+ "name": "ຊວາຮີລິ"
+ },
+ "sah": {
+ "name": "ຊາກາ"
+ },
+ "nds-NL": {
+ "name": "ຊາຊອນ ຕອນໄຕ"
+ },
+ "sbp": {
+ "name": "ຊານກູ"
+ },
+ "dje": {
+ "name": "ຊາມາ"
+ },
+ "se": {
+ "name": "ຊາມິເໜືອ"
+ },
+ "ksb": {
+ "name": "ຊຳບາລ້າ"
+ },
+ "saq": {
+ "name": "ຊຳບູຣູ"
+ },
+ "cgg": {
+ "name": "ຊີກາ"
+ },
+ "ce": {
+ "name": "ຊີເຄນ"
+ },
+ "seh": {
+ "name": "ຊີນາ"
+ },
+ "chr": {
+ "name": "ຊີໂຣກີ"
+ },
+ "zu": {
+ "name": "ຊູລູ"
+ },
+ "cs": {
+ "name": "ເຊກ"
+ },
+ "ii": {
+ "name": "ເຊສວຍຢີ"
+ },
+ "sr": {
+ "name": "ເຊີບຽນ"
+ },
+ "sg": {
+ "name": "ແຊງໂກ"
+ },
+ "xog": {
+ "name": "ໂຊກາ"
+ },
+ "sn": {
+ "name": "ໂຊນາ"
+ },
+ "so": {
+ "name": "ໂຊມາລີ"
+ },
+ "ckb": {
+ "name": "ໂຊຣານິ ເຄີດິຊ"
+ },
+ "ja": {
+ "name": "ຍີ່ປຸ່ນ"
+ },
+ "yav": {
+ "name": "ແຍງເບນ"
+ },
+ "nl": {
+ "name": "ດັຊ"
+ },
+ "dz": {
+ "name": "ດີຊອງຄາ"
+ },
+ "dua": {
+ "name": "ດົວລາ"
+ },
+ "da": {
+ "name": "ແດນິຊ"
+ },
+ "twq": {
+ "name": "ຕາຊາວັກ"
+ },
+ "ti": {
+ "name": "ຕິກຣິນຢາ"
+ },
+ "teo": {
+ "name": "ເຕໂຊ"
+ },
+ "te": {
+ "name": "ເຕລູກູ"
+ },
+ "dav": {
+ "name": "ໄຕຕາ"
+ },
+ "to": {
+ "name": "ທອງການ"
+ },
+ "shi": {
+ "name": "ທາເຊວຫິດ"
+ },
+ "ta": {
+ "name": "ທາມິລ"
+ },
+ "bo": {
+ "name": "ທິເບທັນ"
+ },
+ "tk": {
+ "name": "ເທີກເມັນ"
+ },
+ "tr": {
+ "name": "ເທີຄິຊ"
+ },
+ "th": {
+ "name": "ໄທ"
+ },
+ "nn": {
+ "name": "ນໍເວຈຽນ ນີນອກ"
+ },
+ "nb": {
+ "name": "ນໍເວຈຽນ ບັອກມອລ"
+ },
+ "nyn": {
+ "name": "ນານຄອນ"
+ },
+ "naq": {
+ "name": "ນາມາ"
+ },
+ "ne": {
+ "name": "ເນປາລີ"
+ },
+ "nus": {
+ "name": "ເນີ"
+ },
+ "bs": {
+ "name": "ບອສນຽນ"
+ },
+ "bg": {
+ "name": "ບັງກາຣຽນ"
+ },
+ "eu": {
+ "name": "ບັສກີ"
+ },
+ "bas": {
+ "name": "ບາຊາ"
+ },
+ "ksf": {
+ "name": "ບາເຟຍ"
+ },
+ "bm": {
+ "name": "ບາມບາຣາ"
+ },
+ "bez": {
+ "name": "ບີນາ"
+ },
+ "br": {
+ "name": "ເບຣຕັນ"
+ },
+ "be": {
+ "name": "ເບລາຣັສຊຽນ"
+ },
+ "bn": {
+ "name": "ເບັງກາລີ"
+ },
+ "bem": {
+ "name": "ເບັມບາ"
+ },
+ "cu": {
+ "name": "ໂບດສລາວິກ"
+ },
+ "brx": {
+ "name": "ໂບດູ"
+ },
+ "pt": {
+ "name": "ປອກຕຸຍກິສ"
+ },
+ "pt-PT": {
+ "name": "ປອກຕຸຍກິສ ຢຸໂຣບ"
+ },
+ "pa": {
+ "name": "ປັນຈາບີ"
+ },
+ "ps": {
+ "name": "ປາສໂຕ"
+ },
+ "fa": {
+ "name": "ເປີຊຽນ"
+ },
+ "pl": {
+ "name": "ໂປລິຊ"
+ },
+ "fr": {
+ "name": "ຝຣັ່ງ"
+ },
+ "fr-CH": {
+ "name": "ຝຣັ່ງ (ສະວິດເຊີແລນ)"
+ },
+ "fy": {
+ "name": "ຟຣິຊຽນ ຕາເວັນຕົກ"
+ },
+ "fur": {
+ "name": "ຟຣີລຽນ"
+ },
+ "fr-CA": {
+ "name": "ຟລັງ(ການາດາ)"
+ },
+ "nl-BE": {
+ "name": "ຟລີມິຊ"
+ },
+ "fo": {
+ "name": "ຟາໂຣສ"
+ },
+ "fi": {
+ "name": "ຟິນນິຊ"
+ },
+ "fil": {
+ "name": "ຟີລິປີໂນ"
+ },
+ "ff": {
+ "name": "ຟູລາ"
+ },
+ "mfe": {
+ "name": "ມໍຣິສເຢນ"
+ },
+ "mn": {
+ "name": "ມອງໂກເລຍ"
+ },
+ "mt": {
+ "name": "ມອລທີສ"
+ },
+ "mua": {
+ "name": "ມັນດັງ"
+ },
+ "kde": {
+ "name": "ມາຄອນເດ"
+ },
+ "mgh": {
+ "name": "ມາຄູວາ-ມີດໂຕ"
+ },
+ "mzn": {
+ "name": "ມາແຊນເດີລັງ"
+ },
+ "jmc": {
+ "name": "ມາແຊມ"
+ },
+ "mas": {
+ "name": "ມາໄຊ"
+ },
+ "mr": {
+ "name": "ມາຣາທີ"
+ },
+ "mg": {
+ "name": "ມາລາກາສຊີ"
+ },
+ "ms": {
+ "name": "ມາເລ"
+ },
+ "ml": {
+ "name": "ມາເລອາລຳ"
+ },
+ "my": {
+ "name": "ມຽນມາ"
+ },
+ "mgo": {
+ "name": "ເມທາ"
+ },
+ "mer": {
+ "name": "ເມຣູ"
+ },
+ "es-MX": {
+ "name": "ເມັກຊິກັນ ສະແປນນິຊ"
+ },
+ "gv": {
+ "name": "ແມງຊ໌"
+ },
+ "mk": {
+ "name": "ແມຊິໂດນຽນ"
+ },
+ "ro-MD": {
+ "name": "ໂມດາວຽນ"
+ },
+ "zgh": {
+ "name": "ໂມຣັອກແຄນ ທາມາຊີກ ມາດຕະຖານ"
+ },
+ "yi": {
+ "name": "ຢິວ"
+ },
+ "uk": {
+ "name": "ຢູເຄຣນຽນ"
+ },
+ "de": {
+ "name": "ເຢຍລະມັນ"
+ },
+ "de-AT": {
+ "name": "ເຢຍລະມັນ (ໂອສຕຣິດ)"
+ },
+ "nds": {
+ "name": "ເຢຍລະມັນ ຕອນໄຕ້"
+ },
+ "yo": {
+ "name": "ໂຢຣູບາ"
+ },
+ "rn": {
+ "name": "ຣຸນດິ"
+ },
+ "rof": {
+ "name": "ຣົມໂບ"
+ },
+ "rm": {
+ "name": "ໂຣແມນຊ໌"
+ },
+ "ro": {
+ "name": "ໂຣແມນຽນ"
+ },
+ "lb": {
+ "name": "ລັກເຊມບວກກິຊ"
+ },
+ "ru": {
+ "name": "ລັດເຊຍ"
+ },
+ "lv": {
+ "name": "ລັດວຽນ"
+ },
+ "lkt": {
+ "name": "ລາໂກຕາ"
+ },
+ "lo": {
+ "name": "ລາວ"
+ },
+ "ln": {
+ "name": "ລິງກາລາ"
+ },
+ "lt": {
+ "name": "ລິທົວນຽນ"
+ },
+ "luy": {
+ "name": "ລູໄຍ"
+ },
+ "lu": {
+ "name": "ລູບາ-ຄາຕັງກາ"
+ },
+ "lrc": {
+ "name": "ລູຣິ ທາງຕອນເໜືອ"
+ },
+ "luo": {
+ "name": "ລົວ"
+ },
+ "lag": {
+ "name": "ແລນກິ"
+ },
+ "vun": {
+ "name": "ວັນໂຈ"
+ },
+ "wae": {
+ "name": "ວາເຊີ"
+ },
+ "cy": {
+ "name": "ເວວ"
+ },
+ "vo": {
+ "name": "ໂວລາພັກ"
+ },
+ "vai": {
+ "name": "ໄວ"
+ },
+ "vi": {
+ "name": "ຫວຽດນາມ"
+ },
+ "os": {
+ "name": "ອອດເຊຕິກ"
+ },
+ "en": {
+ "name": "ອັງກິດ"
+ },
+ "en-CA": {
+ "name": "ອັງກິດ (ແຄນາດາ)"
+ },
+ "en-GB": {
+ "name": "ອັງກິດ (ບຣິດທິຊ)"
+ },
+ "en-AU": {
+ "name": "ອັງກິດ (ໂອດສະຕາລີ)"
+ },
+ "as": {
+ "name": "ອັສຊາມີສ"
+ },
+ "ast": {
+ "name": "ອັສຕູຮຽນ"
+ },
+ "tzm": {
+ "name": "ອັດລາສ ທາມາຊີກ ກາງ"
+ },
+ "ak": {
+ "name": "ອາການ"
+ },
+ "asa": {
+ "name": "ອາຊູ"
+ },
+ "az": {
+ "name": "ອາເຊີໄບຈານິ"
+ },
+ "sq": {
+ "name": "ອານບານຽນ"
+ },
+ "af": {
+ "name": "ອາຟຣິການ"
+ },
+ "hy": {
+ "name": "ອາເມນຽນ"
+ },
+ "rwk": {
+ "name": "ອາຣວາ"
+ },
+ "ar": {
+ "name": "ອາຣັບ"
+ },
+ "agq": {
+ "name": "ອາເຮັມ"
+ },
+ "am": {
+ "name": "ອຳຮາຣິກ"
+ },
+ "ig": {
+ "name": "ອິກໂບ"
+ },
+ "it": {
+ "name": "ອິຕາລຽນ"
+ },
+ "id": {
+ "name": "ອິນໂດເນຊຽນ"
+ },
+ "ee": {
+ "name": "ອິວາ"
+ },
+ "smn": {
+ "name": "ອີນາຣິຊາມິ"
+ },
+ "ewo": {
+ "name": "ອີວອນດູ"
+ },
+ "uz": {
+ "name": "ອຸສເບກ"
+ },
+ "ug": {
+ "name": "ອຸຍເຄີ"
+ },
+ "ur": {
+ "name": "ອູຣດູ"
+ },
+ "et": {
+ "name": "ເອສໂຕນຽນ"
+ },
+ "eo": {
+ "name": "ເອສປາຍ"
+ },
+ "nd": {
+ "name": "ເອັນເດເບເລເໜືອ"
+ },
+ "ebu": {
+ "name": "ເອັມບູ"
+ },
+ "or": {
+ "name": "ໂອຣິຢາ"
+ },
+ "om": {
+ "name": "ໂອໂຣໂມ"
+ },
+ "is": {
+ "name": "ໄອສແລນດິກ"
+ },
+ "ga": {
+ "name": "ໄອຣິສ"
+ },
+ "hu": {
+ "name": "ຮັງກາຣຽນ"
+ },
+ "haw": {
+ "name": "ຮາໄວອຽນ"
+ },
+ "hi": {
+ "name": "ຮິນດິ"
+ },
+ "he": {
+ "name": "ຮີບຣິວ"
+ },
+ "ha": {
+ "name": "ເຮົາຊາ"
+ },
+ "prg": {
+ "name": "Prussian"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/lrc.json b/vendor/commerceguys/intl/resources/language/lrc.json
new file mode 100644
index 000000000..d241d3e4a
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/lrc.json
@@ -0,0 +1,635 @@
+{
+ "ast": {
+ "name": "Asturian"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "yue": {
+ "name": "Cantonese"
+ },
+ "cu": {
+ "name": "Church Slavic"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "cs": {
+ "name": "Czech"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "os": {
+ "name": "Ossetic"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "sah": {
+ "name": "Sakha"
+ },
+ "gd": {
+ "name": "Scottish Gaelic"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "yi": {
+ "name": "Yiddish"
+ },
+ "az": {
+ "name": "آذأربایئجانی ھارگە"
+ },
+ "as": {
+ "name": "آسامی"
+ },
+ "asa": {
+ "name": "آسوٙ"
+ },
+ "af": {
+ "name": "آفریکانس"
+ },
+ "agq": {
+ "name": "آقئم"
+ },
+ "ak": {
+ "name": "آکان"
+ },
+ "sq": {
+ "name": "آلبانی"
+ },
+ "de": {
+ "name": "آلمانی"
+ },
+ "de-AT": {
+ "name": "آلمانی ئوتریشی"
+ },
+ "gsw": {
+ "name": "آلمانی سوٙئیسی"
+ },
+ "de-CH": {
+ "name": "آلمانی سوٙییسی"
+ },
+ "nds-NL": {
+ "name": "آلمانی ھارگە جا"
+ },
+ "nds": {
+ "name": "آلمانی ھاری"
+ },
+ "ar": {
+ "name": "أرأڤی"
+ },
+ "hy": {
+ "name": "أرمأنی"
+ },
+ "am": {
+ "name": "أمھأری"
+ },
+ "id": {
+ "name": "أندونئزیایی"
+ },
+ "eo": {
+ "name": "ئسپئرانتو"
+ },
+ "es": {
+ "name": "ئسپانیایی"
+ },
+ "es-MX": {
+ "name": "ئسپانیایی مئکزیک"
+ },
+ "et": {
+ "name": "ئستونیایی"
+ },
+ "sl": {
+ "name": "ئسلوڤئنیایی"
+ },
+ "sk": {
+ "name": "ئسلوڤاکی"
+ },
+ "ee": {
+ "name": "ئڤئ"
+ },
+ "ebu": {
+ "name": "ئمبو"
+ },
+ "ur": {
+ "name": "ئوردوٙ"
+ },
+ "om": {
+ "name": "ئوروموٙ"
+ },
+ "or": {
+ "name": "ئوریا"
+ },
+ "uz": {
+ "name": "ئوزبأکی"
+ },
+ "uk": {
+ "name": "ئوکراینی"
+ },
+ "ug": {
+ "name": "ئویغوٙر"
+ },
+ "it": {
+ "name": "ئیتالیایی"
+ },
+ "ga": {
+ "name": "ئیرلأندی"
+ },
+ "is": {
+ "name": "ئیسلأندی"
+ },
+ "ig": {
+ "name": "ئیگبو"
+ },
+ "smn": {
+ "name": "ئیناری سامی"
+ },
+ "en": {
+ "name": "ئینگیلیسی"
+ },
+ "en-AU": {
+ "name": "ئینگیلیسی ئوستارالیایی"
+ },
+ "en-GB": {
+ "name": "ئینگیلیسی بئریتانیایی"
+ },
+ "en-CA": {
+ "name": "ئینگیلیسی کانادایی"
+ },
+ "bn": {
+ "name": "بأنگالی"
+ },
+ "br": {
+ "name": "بئرئتون"
+ },
+ "my": {
+ "name": "بئرمئ یی"
+ },
+ "be": {
+ "name": "بئلاروٙسی"
+ },
+ "bez": {
+ "name": "بئنا"
+ },
+ "eu": {
+ "name": "باسکی"
+ },
+ "ksf": {
+ "name": "بافیا"
+ },
+ "bm": {
+ "name": "بامبارا"
+ },
+ "brx": {
+ "name": "بودو"
+ },
+ "bs": {
+ "name": "بوسنیایی"
+ },
+ "bg": {
+ "name": "بولغاری"
+ },
+ "bem": {
+ "name": "بیما"
+ },
+ "ps": {
+ "name": "پأشتوٙ"
+ },
+ "pa": {
+ "name": "پأنجابی"
+ },
+ "pt": {
+ "name": "پورتئغالی"
+ },
+ "pt-PT": {
+ "name": "پورتئغالی ئوروٙپایی"
+ },
+ "bo": {
+ "name": "تأبأتی"
+ },
+ "teo": {
+ "name": "تئسو"
+ },
+ "te": {
+ "name": "تئلئگو"
+ },
+ "shi": {
+ "name": "تاچئلھیت"
+ },
+ "twq": {
+ "name": "تاساڤاق"
+ },
+ "zgh": {
+ "name": "تامازیغ مأراکئشی"
+ },
+ "tzm": {
+ "name": "تامازیغ مینجایی"
+ },
+ "ta": {
+ "name": "تامیل"
+ },
+ "dav": {
+ "name": "تایتا"
+ },
+ "th": {
+ "name": "تایلأندی"
+ },
+ "tk": {
+ "name": "تورکأمأنی"
+ },
+ "tr": {
+ "name": "تورکی"
+ },
+ "to": {
+ "name": "توٙنگان"
+ },
+ "ti": {
+ "name": "تیگرینیا"
+ },
+ "ja": {
+ "name": "جاپوٙنی"
+ },
+ "dyo": {
+ "name": "جولا فوٙنیی"
+ },
+ "ce": {
+ "name": "چئچئنی"
+ },
+ "chr": {
+ "name": "چوروٙکی"
+ },
+ "cgg": {
+ "name": "چیگا"
+ },
+ "zh": {
+ "name": "چینی"
+ },
+ "zh-Hans": {
+ "name": "چینی سادە بیە"
+ },
+ "zh-Hant": {
+ "name": "چینی سونأتی"
+ },
+ "km": {
+ "name": "خئمئر"
+ },
+ "da": {
+ "name": "دانمارکی"
+ },
+ "dua": {
+ "name": "دوٙالا"
+ },
+ "rwk": {
+ "name": "رئڤا"
+ },
+ "rn": {
+ "name": "راندی"
+ },
+ "ru": {
+ "name": "روٙسی"
+ },
+ "rm": {
+ "name": "رومانش"
+ },
+ "ro": {
+ "name": "رومانیایی"
+ },
+ "ro-MD": {
+ "name": "رومانیایی مولداڤی"
+ },
+ "rof": {
+ "name": "رومبو"
+ },
+ "dje": {
+ "name": "زارما"
+ },
+ "zu": {
+ "name": "زولو"
+ },
+ "dz": {
+ "name": "زوٙنگخا"
+ },
+ "sw": {
+ "name": "سأڤاحیلی"
+ },
+ "sw-CD": {
+ "name": "سأڤاحیلی کونگو"
+ },
+ "sr": {
+ "name": "سئربی"
+ },
+ "seh": {
+ "name": "سئنا"
+ },
+ "saq": {
+ "name": "سامبوٙروٙ"
+ },
+ "se": {
+ "name": "سامی شومالی"
+ },
+ "sg": {
+ "name": "سانگو"
+ },
+ "sbp": {
+ "name": "سانگوٙ"
+ },
+ "sv": {
+ "name": "سوٙئدی"
+ },
+ "hsb": {
+ "name": "سوربی ڤارو"
+ },
+ "dsb": {
+ "name": "سوربی ھاری"
+ },
+ "xog": {
+ "name": "سوٙگا"
+ },
+ "so": {
+ "name": "سوٙمالی"
+ },
+ "ii": {
+ "name": "سی چوان یی"
+ },
+ "si": {
+ "name": "سینھالا"
+ },
+ "ksb": {
+ "name": "شامبالا"
+ },
+ "sn": {
+ "name": "شونا"
+ },
+ "he": {
+ "name": "عئبری"
+ },
+ "fr": {
+ "name": "فآرانسئ ئی"
+ },
+ "fr-CH": {
+ "name": "فآرانسئ ئی سوٙییس"
+ },
+ "fr-CA": {
+ "name": "فآرانسئ ئی کانادا"
+ },
+ "fi": {
+ "name": "فأنلاندی"
+ },
+ "fy": {
+ "name": "فئریسی أفتونئشین"
+ },
+ "nl-BE": {
+ "name": "فئلاماندی"
+ },
+ "fa": {
+ "name": "فارسی"
+ },
+ "fo": {
+ "name": "فاروٙسی"
+ },
+ "fil": {
+ "name": "فیلیپینی"
+ },
+ "cy": {
+ "name": "ڤئلزی"
+ },
+ "vai": {
+ "name": "ڤای"
+ },
+ "vun": {
+ "name": "ڤوٙنجوٙ"
+ },
+ "vi": {
+ "name": "ڤییئتنامی"
+ },
+ "kk": {
+ "name": "قأزاق"
+ },
+ "ky": {
+ "name": "قئرقیزی"
+ },
+ "ks": {
+ "name": "کأشمیری"
+ },
+ "nmg": {
+ "name": "کئڤاسیوٙ"
+ },
+ "kea": {
+ "name": "کاباردینو"
+ },
+ "kab": {
+ "name": "کابیلئ"
+ },
+ "ca": {
+ "name": "کاتالان"
+ },
+ "kln": {
+ "name": "کالئجین"
+ },
+ "kl": {
+ "name": "کالالیسوٙت"
+ },
+ "kam": {
+ "name": "کامبا"
+ },
+ "kn": {
+ "name": "کاناد"
+ },
+ "qu": {
+ "name": "کوچوٙا"
+ },
+ "ko": {
+ "name": "کورئ یی"
+ },
+ "ckb": {
+ "name": "کوردی سوٙرانی"
+ },
+ "kw": {
+ "name": "کورنیش"
+ },
+ "hr": {
+ "name": "کوروڤاتی"
+ },
+ "kok": {
+ "name": "کوٙنکانی"
+ },
+ "khq": {
+ "name": "کی یورا چینی"
+ },
+ "ses": {
+ "name": "کیارابورو سئنی"
+ },
+ "ki": {
+ "name": "کیکیوٙ"
+ },
+ "rw": {
+ "name": "کینیاروآندا"
+ },
+ "gl": {
+ "name": "گالیسی"
+ },
+ "lg": {
+ "name": "گاندا"
+ },
+ "gu": {
+ "name": "گوجأراتی"
+ },
+ "ka": {
+ "name": "گورجی"
+ },
+ "guz": {
+ "name": "گوٙسی"
+ },
+ "pl": {
+ "name": "لأھئستانی"
+ },
+ "lv": {
+ "name": "لاتوڤیایی"
+ },
+ "lkt": {
+ "name": "لاکوٙتا"
+ },
+ "lag": {
+ "name": "لانگی"
+ },
+ "lo": {
+ "name": "لاو"
+ },
+ "luo": {
+ "name": "لوٙ"
+ },
+ "luy": {
+ "name": "لوٙئیا"
+ },
+ "lu": {
+ "name": "لوٙبا کاتانگا"
+ },
+ "lb": {
+ "name": "لوٙکزامبوٙرگی"
+ },
+ "lrc": {
+ "name": "لۊری شومالی"
+ },
+ "lt": {
+ "name": "لیتوڤانیایی"
+ },
+ "ln": {
+ "name": "لینگالا"
+ },
+ "hu": {
+ "name": "مأجاری"
+ },
+ "mr": {
+ "name": "مأراتی"
+ },
+ "mk": {
+ "name": "مأقدوٙنی"
+ },
+ "mgo": {
+ "name": "مئتاٛ"
+ },
+ "mer": {
+ "name": "مئرو"
+ },
+ "jmc": {
+ "name": "ماچامئ"
+ },
+ "mgh": {
+ "name": "ماخوڤا میتو"
+ },
+ "mzn": {
+ "name": "مازأندأرانی"
+ },
+ "mas": {
+ "name": "ماسایی"
+ },
+ "kde": {
+ "name": "ماکوٙندئ"
+ },
+ "mg": {
+ "name": "مالاگاشی"
+ },
+ "ml": {
+ "name": "مالایام"
+ },
+ "ms": {
+ "name": "مالایی"
+ },
+ "mt": {
+ "name": "مالتی"
+ },
+ "gv": {
+ "name": "مانکس"
+ },
+ "mfe": {
+ "name": "موٙریسی"
+ },
+ "mn": {
+ "name": "موغولی"
+ },
+ "mua": {
+ "name": "موٙندانگ"
+ },
+ "ne": {
+ "name": "نئپالی"
+ },
+ "nd": {
+ "name": "نئدئبئلئ شومالی"
+ },
+ "jgo": {
+ "name": "نئگوٙمبا"
+ },
+ "naq": {
+ "name": "ناما"
+ },
+ "nb": {
+ "name": "نورڤئجی بوٙکمال"
+ },
+ "nn": {
+ "name": "نورڤئجی نینورسک"
+ },
+ "nyn": {
+ "name": "نیان کوٙلئ"
+ },
+ "nus": {
+ "name": "نیوٙئر"
+ },
+ "hi": {
+ "name": "ھئنی"
+ },
+ "ha": {
+ "name": "ھائوسا"
+ },
+ "haw": {
+ "name": "ھاڤایی"
+ },
+ "nl": {
+ "name": "ھولأندی"
+ },
+ "yo": {
+ "name": "یوروبا"
+ },
+ "el": {
+ "name": "یوٙنانی"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/lt.json b/vendor/commerceguys/intl/resources/language/lt.json
new file mode 100644
index 000000000..983029b38
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/lt.json
@@ -0,0 +1,635 @@
+{
+ "af": {
+ "name": "afrikanų"
+ },
+ "agq": {
+ "name": "aghemų"
+ },
+ "ga": {
+ "name": "airių"
+ },
+ "ak": {
+ "name": "akanų"
+ },
+ "sq": {
+ "name": "albanų"
+ },
+ "am": {
+ "name": "amharų"
+ },
+ "en": {
+ "name": "anglų"
+ },
+ "ar": {
+ "name": "arabų"
+ },
+ "hy": {
+ "name": "armėnų"
+ },
+ "as": {
+ "name": "asamų"
+ },
+ "ast": {
+ "name": "asturianų"
+ },
+ "asa": {
+ "name": "asu"
+ },
+ "hsb": {
+ "name": "aukštutinių sorbų"
+ },
+ "en-AU": {
+ "name": "Australijos anglų"
+ },
+ "de-AT": {
+ "name": "Austrijos vokiečių"
+ },
+ "az": {
+ "name": "azerbaidžaniečių"
+ },
+ "ksf": {
+ "name": "bafų"
+ },
+ "be": {
+ "name": "baltarusių"
+ },
+ "bm": {
+ "name": "bambarų"
+ },
+ "eu": {
+ "name": "baskų"
+ },
+ "bas": {
+ "name": "basų"
+ },
+ "cu": {
+ "name": "bažnytinė slavų"
+ },
+ "bem": {
+ "name": "bembų"
+ },
+ "bn": {
+ "name": "bengalų"
+ },
+ "bez": {
+ "name": "benų"
+ },
+ "my": {
+ "name": "birmiečių"
+ },
+ "brx": {
+ "name": "bodo"
+ },
+ "bs": {
+ "name": "bosnių"
+ },
+ "dz": {
+ "name": "botijų"
+ },
+ "br": {
+ "name": "bretonų"
+ },
+ "bg": {
+ "name": "bulgarų"
+ },
+ "tzm": {
+ "name": "Centrinio Maroko tamazitų"
+ },
+ "ce": {
+ "name": "čečėnų"
+ },
+ "cs": {
+ "name": "čekų"
+ },
+ "chr": {
+ "name": "čerokių"
+ },
+ "cgg": {
+ "name": "čigų"
+ },
+ "da": {
+ "name": "danų"
+ },
+ "en-GB": {
+ "name": "Didžiosios Britanijos anglų"
+ },
+ "dua": {
+ "name": "dualų"
+ },
+ "dyo": {
+ "name": "džiola-foni"
+ },
+ "ebu": {
+ "name": "embu"
+ },
+ "eo": {
+ "name": "esperanto"
+ },
+ "et": {
+ "name": "estų"
+ },
+ "pt-PT": {
+ "name": "Europos portugalų"
+ },
+ "ee": {
+ "name": "evių"
+ },
+ "ewo": {
+ "name": "evondo"
+ },
+ "fo": {
+ "name": "farerų"
+ },
+ "fil": {
+ "name": "filipiniečių"
+ },
+ "nl-BE": {
+ "name": "flamandų"
+ },
+ "fur": {
+ "name": "friulių"
+ },
+ "ff": {
+ "name": "fulahų"
+ },
+ "gl": {
+ "name": "galisų"
+ },
+ "lg": {
+ "name": "ganda"
+ },
+ "el": {
+ "name": "graikų"
+ },
+ "ka": {
+ "name": "gruzinų"
+ },
+ "gu": {
+ "name": "gudžaratų"
+ },
+ "guz": {
+ "name": "gusi"
+ },
+ "ha": {
+ "name": "hausų"
+ },
+ "haw": {
+ "name": "havajiečių"
+ },
+ "he": {
+ "name": "hebrajų"
+ },
+ "hi": {
+ "name": "hindi"
+ },
+ "ig": {
+ "name": "igbų"
+ },
+ "smn": {
+ "name": "Inario samių"
+ },
+ "id": {
+ "name": "indoneziečių"
+ },
+ "is": {
+ "name": "islandų"
+ },
+ "es": {
+ "name": "ispanų"
+ },
+ "it": {
+ "name": "italų"
+ },
+ "sah": {
+ "name": "jakutų"
+ },
+ "yav": {
+ "name": "jangbenų"
+ },
+ "ja": {
+ "name": "japonų"
+ },
+ "yi": {
+ "name": "jidiš"
+ },
+ "yo": {
+ "name": "jorubų"
+ },
+ "kkj": {
+ "name": "kako"
+ },
+ "kl": {
+ "name": "kalalisut"
+ },
+ "kln": {
+ "name": "kalenjinų"
+ },
+ "en-CA": {
+ "name": "Kanados anglų"
+ },
+ "fr-CA": {
+ "name": "Kanados prancūzų"
+ },
+ "kn": {
+ "name": "kanadų"
+ },
+ "ks": {
+ "name": "kašmyrų"
+ },
+ "ca": {
+ "name": "katalonų"
+ },
+ "kk": {
+ "name": "kazachų"
+ },
+ "kab": {
+ "name": "kebailų"
+ },
+ "qu": {
+ "name": "kečujų"
+ },
+ "kam": {
+ "name": "kembų"
+ },
+ "km": {
+ "name": "khmerų"
+ },
+ "ki": {
+ "name": "kikujų"
+ },
+ "rw": {
+ "name": "kinjaruandų"
+ },
+ "zh": {
+ "name": "kinų"
+ },
+ "yue": {
+ "name": "kinų kalbos Kantono tarmė"
+ },
+ "ky": {
+ "name": "kirgizų"
+ },
+ "khq": {
+ "name": "kojra čini"
+ },
+ "ses": {
+ "name": "kojraboro seni"
+ },
+ "ksh": {
+ "name": "kolognų"
+ },
+ "sw-CD": {
+ "name": "Kongo suahilių"
+ },
+ "kok": {
+ "name": "konkanių"
+ },
+ "ko": {
+ "name": "korėjiečių"
+ },
+ "kw": {
+ "name": "kornų"
+ },
+ "hr": {
+ "name": "kroatų"
+ },
+ "nmg": {
+ "name": "kvasių"
+ },
+ "lkt": {
+ "name": "lakotų"
+ },
+ "lag": {
+ "name": "langi"
+ },
+ "lo": {
+ "name": "laosiečių"
+ },
+ "lv": {
+ "name": "latvių"
+ },
+ "pl": {
+ "name": "lenkų"
+ },
+ "lt": {
+ "name": "lietuvių"
+ },
+ "lb": {
+ "name": "liuksemburgiečių"
+ },
+ "lu": {
+ "name": "luba katanga"
+ },
+ "luy": {
+ "name": "luja"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "jmc": {
+ "name": "mačamų"
+ },
+ "mk": {
+ "name": "makedonų"
+ },
+ "kde": {
+ "name": "makondų"
+ },
+ "mgh": {
+ "name": "makua-maeto"
+ },
+ "mg": {
+ "name": "malagasų"
+ },
+ "ml": {
+ "name": "malajalių"
+ },
+ "ms": {
+ "name": "malajiečių"
+ },
+ "mt": {
+ "name": "maltiečių"
+ },
+ "mr": {
+ "name": "maratų"
+ },
+ "mas": {
+ "name": "masajų"
+ },
+ "mzn": {
+ "name": "mazenderanių"
+ },
+ "es-MX": {
+ "name": "Meksikos ispanų"
+ },
+ "gv": {
+ "name": "meniečių"
+ },
+ "mer": {
+ "name": "merų"
+ },
+ "mgo": {
+ "name": "meta"
+ },
+ "ro-MD": {
+ "name": "moldavų"
+ },
+ "mn": {
+ "name": "mongolų"
+ },
+ "mfe": {
+ "name": "morisijų"
+ },
+ "mua": {
+ "name": "mundangų"
+ },
+ "naq": {
+ "name": "nama"
+ },
+ "nn": {
+ "name": "naujoji norvegų"
+ },
+ "ne": {
+ "name": "nepaliečių"
+ },
+ "ln": {
+ "name": "ngalų"
+ },
+ "nnh": {
+ "name": "ngiembūnų"
+ },
+ "jgo": {
+ "name": "ngombų"
+ },
+ "nyn": {
+ "name": "niankolų"
+ },
+ "nb": {
+ "name": "norvegų bukmolas"
+ },
+ "nus": {
+ "name": "nuerų"
+ },
+ "or": {
+ "name": "odijų"
+ },
+ "nl": {
+ "name": "olandų"
+ },
+ "om": {
+ "name": "oromų"
+ },
+ "os": {
+ "name": "osetinų"
+ },
+ "pa": {
+ "name": "pendžabų"
+ },
+ "fa": {
+ "name": "persų"
+ },
+ "pt": {
+ "name": "portugalų"
+ },
+ "fr": {
+ "name": "prancūzų"
+ },
+ "prg": {
+ "name": "prūsų"
+ },
+ "ps": {
+ "name": "puštūnų"
+ },
+ "rm": {
+ "name": "retoromanų"
+ },
+ "rof": {
+ "name": "rombo"
+ },
+ "rwk": {
+ "name": "rua"
+ },
+ "ro": {
+ "name": "rumunų"
+ },
+ "rn": {
+ "name": "rundi"
+ },
+ "ru": {
+ "name": "rusų"
+ },
+ "saq": {
+ "name": "sambūrų"
+ },
+ "sg": {
+ "name": "sango"
+ },
+ "sbp": {
+ "name": "sangų"
+ },
+ "seh": {
+ "name": "senų"
+ },
+ "sr": {
+ "name": "serbų"
+ },
+ "ii": {
+ "name": "sičuan ji"
+ },
+ "si": {
+ "name": "sinhalų"
+ },
+ "sk": {
+ "name": "slovakų"
+ },
+ "sl": {
+ "name": "slovėnų"
+ },
+ "xog": {
+ "name": "sogų"
+ },
+ "so": {
+ "name": "somaliečių"
+ },
+ "ckb": {
+ "name": "soranių kurdų"
+ },
+ "zgh": {
+ "name": "standartinė Maroko tamazigtų"
+ },
+ "sw": {
+ "name": "suahilių"
+ },
+ "fi": {
+ "name": "suomių"
+ },
+ "zh-Hans": {
+ "name": "supaprastintoji kinų"
+ },
+ "ksb": {
+ "name": "šambalų"
+ },
+ "lrc": {
+ "name": "šiaurės luri"
+ },
+ "nd": {
+ "name": "šiaurės ndebelų"
+ },
+ "se": {
+ "name": "šiaurės samių"
+ },
+ "gd": {
+ "name": "škotų (gėlų)"
+ },
+ "sn": {
+ "name": "šonų"
+ },
+ "sv": {
+ "name": "švedų"
+ },
+ "de-CH": {
+ "name": "Šveicarijos aukštutinė vokiečių"
+ },
+ "fr-CH": {
+ "name": "Šveicarijos prancūzų"
+ },
+ "gsw": {
+ "name": "Šveicarijos vokiečių"
+ },
+ "shi": {
+ "name": "tachelhitų"
+ },
+ "dav": {
+ "name": "taitų"
+ },
+ "th": {
+ "name": "tajų"
+ },
+ "ta": {
+ "name": "tamilų"
+ },
+ "twq": {
+ "name": "tasavakų"
+ },
+ "te": {
+ "name": "telugų"
+ },
+ "teo": {
+ "name": "teso"
+ },
+ "bo": {
+ "name": "tibetiečių"
+ },
+ "ti": {
+ "name": "tigrajų"
+ },
+ "to": {
+ "name": "tonganų"
+ },
+ "zh-Hant": {
+ "name": "tradicinė kinų"
+ },
+ "tk": {
+ "name": "turkmėnų"
+ },
+ "tr": {
+ "name": "turkų"
+ },
+ "ug": {
+ "name": "uigūrų"
+ },
+ "uk": {
+ "name": "ukrainiečių"
+ },
+ "ur": {
+ "name": "urdų"
+ },
+ "uz": {
+ "name": "uzbekų"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "fy": {
+ "name": "vakarų fryzų"
+ },
+ "wae": {
+ "name": "valserų"
+ },
+ "cy": {
+ "name": "valų"
+ },
+ "hu": {
+ "name": "vengrų"
+ },
+ "vi": {
+ "name": "vietnamiečių"
+ },
+ "de": {
+ "name": "vokiečių"
+ },
+ "vo": {
+ "name": "volapiuko"
+ },
+ "vun": {
+ "name": "vunjo"
+ },
+ "dje": {
+ "name": "zarmų"
+ },
+ "zu": {
+ "name": "zulų"
+ },
+ "kea": {
+ "name": "Žaliojo Kyšulio kreolų"
+ },
+ "nds-NL": {
+ "name": "Žemutinės Saksonijos (Nyderlandai)"
+ },
+ "nds": {
+ "name": "Žemutinės Vokietijos"
+ },
+ "dsb": {
+ "name": "žemutinių sorbų"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/lu.json b/vendor/commerceguys/intl/resources/language/lu.json
new file mode 100644
index 000000000..ec971de31
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/lu.json
@@ -0,0 +1,632 @@
+{
+ "af": {
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "sq": {
+ "name": "Albanian"
+ },
+ "ar": {
+ "name": "Arabi"
+ },
+ "hy": {
+ "name": "Armenian"
+ },
+ "as": {
+ "name": "Assamese"
+ },
+ "ast": {
+ "name": "Asturian"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "az": {
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "eu": {
+ "name": "Basque"
+ },
+ "be": {
+ "name": "Belarusi"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "bn": {
+ "name": "Bengali"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "bs": {
+ "name": "Bosnian"
+ },
+ "br": {
+ "name": "Breton"
+ },
+ "bg": {
+ "name": "Bulegari"
+ },
+ "my": {
+ "name": "Burmese"
+ },
+ "yue": {
+ "name": "Cantonese"
+ },
+ "ca": {
+ "name": "Catalan"
+ },
+ "tzm": {
+ "name": "Central Atlas Tamazight"
+ },
+ "ckb": {
+ "name": "Central Kurdish"
+ },
+ "ce": {
+ "name": "Chechen"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "cu": {
+ "name": "Church Slavic"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "kw": {
+ "name": "Cornish"
+ },
+ "hr": {
+ "name": "Croatian"
+ },
+ "da": {
+ "name": "Danish"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "dz": {
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "eo": {
+ "name": "Esperanto"
+ },
+ "et": {
+ "name": "Estonian"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fo": {
+ "name": "Faroese"
+ },
+ "fil": {
+ "name": "Filipino"
+ },
+ "fi": {
+ "name": "Finnish"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "gl": {
+ "name": "Galician"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "ka": {
+ "name": "Georgian"
+ },
+ "el": {
+ "name": "Giliki"
+ },
+ "gu": {
+ "name": "Gujarati"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "ha": {
+ "name": "Hausa"
+ },
+ "haw": {
+ "name": "Hawaiian"
+ },
+ "he": {
+ "name": "Hebrew"
+ },
+ "hi": {
+ "name": "Hindi"
+ },
+ "hu": {
+ "name": "Hongili"
+ },
+ "is": {
+ "name": "Icelandic"
+ },
+ "ig": {
+ "name": "Igbo"
+ },
+ "smn": {
+ "name": "Inari Sami"
+ },
+ "ga": {
+ "name": "Irish"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabyle"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kl": {
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "kn": {
+ "name": "Kannada"
+ },
+ "ks": {
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "name": "Kazakh"
+ },
+ "km": {
+ "name": "Khmer"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "rw": {
+ "name": "kinyarwanda"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "ky": {
+ "name": "Kyrgyz"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "Lao"
+ },
+ "lv": {
+ "name": "Latvian"
+ },
+ "ak": {
+ "name": "Liakan"
+ },
+ "am": {
+ "name": "Liamhariki"
+ },
+ "es": {
+ "name": "Lihispania"
+ },
+ "es-MX": {
+ "name": "Lihispania (Meksike)"
+ },
+ "ko": {
+ "name": "Likoreya"
+ },
+ "ms": {
+ "name": "Limalezia"
+ },
+ "id": {
+ "name": "Lindonezia"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "en": {
+ "name": "Lingelesa"
+ },
+ "en-GB": {
+ "name": "Lingelesa (Angeletele)"
+ },
+ "en-CA": {
+ "name": "Lingelesa (Kanada)"
+ },
+ "en-AU": {
+ "name": "Lingelesa (Ositali)"
+ },
+ "pa": {
+ "name": "Lipunjabi"
+ },
+ "ru": {
+ "name": "Lirisi"
+ },
+ "ro": {
+ "name": "Liromani"
+ },
+ "ro-MD": {
+ "name": "Liromani (Molidavi)"
+ },
+ "so": {
+ "name": "Lisomali"
+ },
+ "sv": {
+ "name": "Lisuwidi"
+ },
+ "it": {
+ "name": "Litali"
+ },
+ "lt": {
+ "name": "Lithuanian"
+ },
+ "vi": {
+ "name": "Liviyetinamu"
+ },
+ "ja": {
+ "name": "Liyapani"
+ },
+ "de": {
+ "name": "Lizelumani"
+ },
+ "de-AT": {
+ "name": "Lizelumani (Otilisi)"
+ },
+ "de-CH": {
+ "name": "Lizelumani (Swise)"
+ },
+ "dsb": {
+ "name": "Lower Sorbian"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "mk": {
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "mg": {
+ "name": "Malagasy"
+ },
+ "ml": {
+ "name": "Malayalam"
+ },
+ "mt": {
+ "name": "Maltese"
+ },
+ "gv": {
+ "name": "Manx"
+ },
+ "mr": {
+ "name": "Marathi"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "fr": {
+ "name": "Mfwàlànsa"
+ },
+ "fr-CA": {
+ "name": "Mfwàlànsa (Kanada)"
+ },
+ "fr-CH": {
+ "name": "Mfwàlànsa (Swise)"
+ },
+ "mn": {
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "fa": {
+ "name": "Mpepajemi"
+ },
+ "pl": {
+ "name": "Mpoloni"
+ },
+ "pt": {
+ "name": "Mputulugɛsi"
+ },
+ "pt-PT": {
+ "name": "Mputulugɛsi (Mputulugeshi)"
+ },
+ "ta": {
+ "name": "Mtamuili"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nds-NL": {
+ "name": "nds (Olandɛ)"
+ },
+ "ne": {
+ "name": "nepali"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "uk": {
+ "name": "Nkrani"
+ },
+ "nd": {
+ "name": "North Ndebele"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "se": {
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "name": "Norwegian Nynorsk"
+ },
+ "th": {
+ "name": "Ntailandi"
+ },
+ "tr": {
+ "name": "Ntuluki"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "yo": {
+ "name": "Nyoruba"
+ },
+ "zu": {
+ "name": "Nzulu"
+ },
+ "or": {
+ "name": "Odia"
+ },
+ "nl": {
+ "name": "olandi"
+ },
+ "nl-BE": {
+ "name": "olandi (Belejiki)"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "os": {
+ "name": "Ossetic"
+ },
+ "ps": {
+ "name": "Pashto"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "qu": {
+ "name": "Quechua"
+ },
+ "rm": {
+ "name": "Romansh"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "rn": {
+ "name": "Rundi"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "sah": {
+ "name": "Sakha"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "gd": {
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "sr": {
+ "name": "Serbian"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "zh": {
+ "name": "shinɛ"
+ },
+ "zh-Hans": {
+ "name": "shinɛ (Hans)"
+ },
+ "zh-Hant": {
+ "name": "shinɛ (Hant)"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "si": {
+ "name": "Sinhala"
+ },
+ "sk": {
+ "name": "Slovak"
+ },
+ "sl": {
+ "name": "Slovenian"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw-CD": {
+ "name": "sw (Ditunga wa Kongu)"
+ },
+ "sw": {
+ "name": "Swahili"
+ },
+ "gsw": {
+ "name": "Swiss German"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "te": {
+ "name": "Telugu"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "bo": {
+ "name": "Tibetan"
+ },
+ "ti": {
+ "name": "Tigrinya"
+ },
+ "to": {
+ "name": "Tongan"
+ },
+ "cs": {
+ "name": "Tsheki"
+ },
+ "lu": {
+ "name": "Tshiluba"
+ },
+ "tk": {
+ "name": "Turkmen"
+ },
+ "hsb": {
+ "name": "Upper Sorbian"
+ },
+ "ur": {
+ "name": "Urdu"
+ },
+ "ug": {
+ "name": "Uyghur"
+ },
+ "uz": {
+ "name": "Uzbek"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "cy": {
+ "name": "Welsh"
+ },
+ "fy": {
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "yi": {
+ "name": "Yiddish"
+ },
+ "dje": {
+ "name": "Zarma"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/luo.json b/vendor/commerceguys/intl/resources/language/luo.json
new file mode 100644
index 000000000..dde94c510
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/luo.json
@@ -0,0 +1,632 @@
+{
+ "af": {
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "sq": {
+ "name": "Albanian"
+ },
+ "hy": {
+ "name": "Armenian"
+ },
+ "as": {
+ "name": "Assamese"
+ },
+ "ast": {
+ "name": "Asturian"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "az": {
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "eu": {
+ "name": "Basque"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "bs": {
+ "name": "Bosnian"
+ },
+ "br": {
+ "name": "Breton"
+ },
+ "yue": {
+ "name": "Cantonese"
+ },
+ "ca": {
+ "name": "Catalan"
+ },
+ "tzm": {
+ "name": "Central Atlas Tamazight"
+ },
+ "ckb": {
+ "name": "Central Kurdish"
+ },
+ "ce": {
+ "name": "Chechen"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "cu": {
+ "name": "Church Slavic"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "kw": {
+ "name": "Cornish"
+ },
+ "hr": {
+ "name": "Croatian"
+ },
+ "da": {
+ "name": "Danish"
+ },
+ "luo": {
+ "name": "Dholuo"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "dz": {
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "eo": {
+ "name": "Esperanto"
+ },
+ "et": {
+ "name": "Estonian"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fo": {
+ "name": "Faroese"
+ },
+ "fil": {
+ "name": "Filipino"
+ },
+ "fi": {
+ "name": "Finnish"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "gl": {
+ "name": "Galician"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "ka": {
+ "name": "Georgian"
+ },
+ "gu": {
+ "name": "Gujarati"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "haw": {
+ "name": "Hawaiian"
+ },
+ "he": {
+ "name": "Hebrew"
+ },
+ "is": {
+ "name": "Icelandic"
+ },
+ "smn": {
+ "name": "Inari Sami"
+ },
+ "ga": {
+ "name": "Irish"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabyle"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kl": {
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "kn": {
+ "name": "Kannada"
+ },
+ "ks": {
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "name": "Kazakh"
+ },
+ "fa": {
+ "name": "Kiajemi"
+ },
+ "ak": {
+ "name": "Kiakan"
+ },
+ "am": {
+ "name": "Kiamhari"
+ },
+ "ar": {
+ "name": "Kiarabu"
+ },
+ "bn": {
+ "name": "Kibangla"
+ },
+ "be": {
+ "name": "Kibelarusi"
+ },
+ "bg": {
+ "name": "Kibulgaria"
+ },
+ "my": {
+ "name": "Kiburma"
+ },
+ "cs": {
+ "name": "Kichecki"
+ },
+ "zh": {
+ "name": "Kichina"
+ },
+ "zh-Hans": {
+ "name": "Kichina (Hans)"
+ },
+ "zh-Hant": {
+ "name": "Kichina (Hant)"
+ },
+ "fr": {
+ "name": "Kifaransa"
+ },
+ "fr-CA": {
+ "name": "Kifaransa (Canada)"
+ },
+ "fr-CH": {
+ "name": "Kifaransa (Switzerland)"
+ },
+ "el": {
+ "name": "Kigiriki"
+ },
+ "ha": {
+ "name": "Kihausa"
+ },
+ "hi": {
+ "name": "Kihindi"
+ },
+ "es": {
+ "name": "Kihispania"
+ },
+ "es-MX": {
+ "name": "Kihispania (Mexico)"
+ },
+ "nl": {
+ "name": "Kiholanzi"
+ },
+ "nl-BE": {
+ "name": "Kiholanzi (Belgium)"
+ },
+ "hu": {
+ "name": "Kihungari"
+ },
+ "ig": {
+ "name": "Kiigbo"
+ },
+ "id": {
+ "name": "Kiindonesia"
+ },
+ "it": {
+ "name": "Kiitaliano"
+ },
+ "ja": {
+ "name": "Kijapani"
+ },
+ "de": {
+ "name": "Kijerumani"
+ },
+ "de-AT": {
+ "name": "Kijerumani (Austria)"
+ },
+ "de-CH": {
+ "name": "Kijerumani (Switzerland)"
+ },
+ "km": {
+ "name": "Kikambodia"
+ },
+ "ko": {
+ "name": "Kikorea"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "ms": {
+ "name": "Kimalesia"
+ },
+ "ne": {
+ "name": "Kinepali"
+ },
+ "en": {
+ "name": "Kingereza"
+ },
+ "en-AU": {
+ "name": "Kingereza (Australia)"
+ },
+ "en-CA": {
+ "name": "Kingereza (Canada)"
+ },
+ "en-GB": {
+ "name": "Kingereza (United Kingdom)"
+ },
+ "rw": {
+ "name": "Kinyarwanda"
+ },
+ "pl": {
+ "name": "Kipolandi"
+ },
+ "pa": {
+ "name": "Kipunjabi"
+ },
+ "pt": {
+ "name": "Kireno"
+ },
+ "pt-PT": {
+ "name": "Kireno (Portugal)"
+ },
+ "ro": {
+ "name": "Kiromania"
+ },
+ "ro-MD": {
+ "name": "Kiromania (Moldova)"
+ },
+ "ru": {
+ "name": "Kirusi"
+ },
+ "so": {
+ "name": "Kisomali"
+ },
+ "sv": {
+ "name": "Kiswidi"
+ },
+ "th": {
+ "name": "Kitailandi"
+ },
+ "ta": {
+ "name": "Kitamil"
+ },
+ "tr": {
+ "name": "Kituruki"
+ },
+ "uk": {
+ "name": "Kiukrania"
+ },
+ "ur": {
+ "name": "Kiurdu"
+ },
+ "vi": {
+ "name": "Kivietinamu"
+ },
+ "yo": {
+ "name": "Kiyoruba"
+ },
+ "zu": {
+ "name": "Kizulu"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "ky": {
+ "name": "Kyrgyz"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "Lao"
+ },
+ "lv": {
+ "name": "Latvian"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "lt": {
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "lb": {
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "mk": {
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "mg": {
+ "name": "Malagasy"
+ },
+ "ml": {
+ "name": "Malayalam"
+ },
+ "mt": {
+ "name": "Maltese"
+ },
+ "gv": {
+ "name": "Manx"
+ },
+ "mr": {
+ "name": "Marathi"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "mn": {
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nds-NL": {
+ "name": "nds (Netherlands)"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "nd": {
+ "name": "North Ndebele"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "se": {
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "or": {
+ "name": "Odia"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "os": {
+ "name": "Ossetic"
+ },
+ "ps": {
+ "name": "Pashto"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "qu": {
+ "name": "Quechua"
+ },
+ "rm": {
+ "name": "Romansh"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "rn": {
+ "name": "Rundi"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "sah": {
+ "name": "Sakha"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "gd": {
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "sr": {
+ "name": "Serbian"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "si": {
+ "name": "Sinhala"
+ },
+ "sk": {
+ "name": "Slovak"
+ },
+ "sl": {
+ "name": "Slovenian"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw-CD": {
+ "name": "sw (Democratic Republic of the Congo)"
+ },
+ "sw": {
+ "name": "Swahili"
+ },
+ "gsw": {
+ "name": "Swiss German"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "te": {
+ "name": "Telugu"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "bo": {
+ "name": "Tibetan"
+ },
+ "ti": {
+ "name": "Tigrinya"
+ },
+ "to": {
+ "name": "Tongan"
+ },
+ "tk": {
+ "name": "Turkmen"
+ },
+ "hsb": {
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "name": "Uyghur"
+ },
+ "uz": {
+ "name": "Uzbek"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "cy": {
+ "name": "Welsh"
+ },
+ "fy": {
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "yi": {
+ "name": "Yiddish"
+ },
+ "dje": {
+ "name": "Zarma"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/luy.json b/vendor/commerceguys/intl/resources/language/luy.json
new file mode 100644
index 000000000..65a1d4aa9
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/luy.json
@@ -0,0 +1,632 @@
+{
+ "af": {
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "sq": {
+ "name": "Albanian"
+ },
+ "hy": {
+ "name": "Armenian"
+ },
+ "as": {
+ "name": "Assamese"
+ },
+ "ast": {
+ "name": "Asturian"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "az": {
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "eu": {
+ "name": "Basque"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "bs": {
+ "name": "Bosnian"
+ },
+ "br": {
+ "name": "Breton"
+ },
+ "yue": {
+ "name": "Cantonese"
+ },
+ "ca": {
+ "name": "Catalan"
+ },
+ "tzm": {
+ "name": "Central Atlas Tamazight"
+ },
+ "ckb": {
+ "name": "Central Kurdish"
+ },
+ "ce": {
+ "name": "Chechen"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "cu": {
+ "name": "Church Slavic"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "kw": {
+ "name": "Cornish"
+ },
+ "hr": {
+ "name": "Croatian"
+ },
+ "da": {
+ "name": "Danish"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "dz": {
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "eo": {
+ "name": "Esperanto"
+ },
+ "et": {
+ "name": "Estonian"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fo": {
+ "name": "Faroese"
+ },
+ "fil": {
+ "name": "Filipino"
+ },
+ "fi": {
+ "name": "Finnish"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "gl": {
+ "name": "Galician"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "ka": {
+ "name": "Georgian"
+ },
+ "gu": {
+ "name": "Gujarati"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "haw": {
+ "name": "Hawaiian"
+ },
+ "he": {
+ "name": "Hebrew"
+ },
+ "is": {
+ "name": "Icelandic"
+ },
+ "smn": {
+ "name": "Inari Sami"
+ },
+ "ga": {
+ "name": "Irish"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabyle"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kl": {
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "kn": {
+ "name": "Kannada"
+ },
+ "ks": {
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "name": "Kazakh"
+ },
+ "fa": {
+ "name": "Kiajemi"
+ },
+ "ak": {
+ "name": "Kiakan"
+ },
+ "am": {
+ "name": "Kiamhari"
+ },
+ "ar": {
+ "name": "Kiarabu"
+ },
+ "bn": {
+ "name": "Kibangla"
+ },
+ "be": {
+ "name": "Kibelarusi"
+ },
+ "bg": {
+ "name": "Kibulgaria"
+ },
+ "my": {
+ "name": "Kiburma"
+ },
+ "cs": {
+ "name": "Kichecki"
+ },
+ "zh": {
+ "name": "Kichina"
+ },
+ "zh-Hans": {
+ "name": "Kichina (Hans)"
+ },
+ "zh-Hant": {
+ "name": "Kichina (Hant)"
+ },
+ "fr": {
+ "name": "Kifaransa"
+ },
+ "fr-CA": {
+ "name": "Kifaransa (Kanada)"
+ },
+ "fr-CH": {
+ "name": "Kifaransa (Uswisi)"
+ },
+ "el": {
+ "name": "Kigiriki"
+ },
+ "ha": {
+ "name": "Kihausa"
+ },
+ "es": {
+ "name": "Kihispania"
+ },
+ "es-MX": {
+ "name": "Kihispania (Meksiko)"
+ },
+ "nl": {
+ "name": "Kiholanzi"
+ },
+ "nl-BE": {
+ "name": "Kiholanzi (Ubelgiji)"
+ },
+ "hu": {
+ "name": "Kihungari"
+ },
+ "ig": {
+ "name": "Kiigbo"
+ },
+ "id": {
+ "name": "Kiindonesia"
+ },
+ "it": {
+ "name": "Kiitaliano"
+ },
+ "ja": {
+ "name": "Kijapani"
+ },
+ "de": {
+ "name": "Kijerumani"
+ },
+ "de-AT": {
+ "name": "Kijerumani (Austria)"
+ },
+ "de-CH": {
+ "name": "Kijerumani (Uswisi)"
+ },
+ "km": {
+ "name": "Kikambodia"
+ },
+ "ko": {
+ "name": "Kikorea"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "ms": {
+ "name": "Kimalesia"
+ },
+ "ne": {
+ "name": "Kinepali"
+ },
+ "rw": {
+ "name": "Kinyarwanda"
+ },
+ "pl": {
+ "name": "Kipolandi"
+ },
+ "pa": {
+ "name": "Kipunjabi"
+ },
+ "pt": {
+ "name": "Kireno"
+ },
+ "pt-PT": {
+ "name": "Kireno (Ureno)"
+ },
+ "ro": {
+ "name": "Kiromania"
+ },
+ "ro-MD": {
+ "name": "Kiromania (Moldova)"
+ },
+ "ru": {
+ "name": "Kirusi"
+ },
+ "so": {
+ "name": "Kisomali"
+ },
+ "sv": {
+ "name": "Kiswidi"
+ },
+ "th": {
+ "name": "Kitailandi"
+ },
+ "ta": {
+ "name": "Kitamil"
+ },
+ "tr": {
+ "name": "Kituruki"
+ },
+ "uk": {
+ "name": "Kiukrania"
+ },
+ "ur": {
+ "name": "Kiurdu"
+ },
+ "vi": {
+ "name": "Kivietinamu"
+ },
+ "yo": {
+ "name": "Kiyoruba"
+ },
+ "zu": {
+ "name": "Kizulu"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "ky": {
+ "name": "Kyrgyz"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "Lao"
+ },
+ "lv": {
+ "name": "Latvian"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "lt": {
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "hi": {
+ "name": "Luhindi"
+ },
+ "luy": {
+ "name": "Luluhia"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "en": {
+ "name": "Lusungu"
+ },
+ "en-AU": {
+ "name": "Lusungu (Australia)"
+ },
+ "en-CA": {
+ "name": "Lusungu (Kanada)"
+ },
+ "en-GB": {
+ "name": "Lusungu (Uingereza)"
+ },
+ "lb": {
+ "name": "Luxembourgish"
+ },
+ "mk": {
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "mg": {
+ "name": "Malagasy"
+ },
+ "ml": {
+ "name": "Malayalam"
+ },
+ "mt": {
+ "name": "Maltese"
+ },
+ "gv": {
+ "name": "Manx"
+ },
+ "mr": {
+ "name": "Marathi"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "mn": {
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nds-NL": {
+ "name": "nds (Uholanzi)"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "nd": {
+ "name": "North Ndebele"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "se": {
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "or": {
+ "name": "Odia"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "os": {
+ "name": "Ossetic"
+ },
+ "ps": {
+ "name": "Pashto"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "qu": {
+ "name": "Quechua"
+ },
+ "rm": {
+ "name": "Romansh"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "rn": {
+ "name": "Rundi"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "sah": {
+ "name": "Sakha"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "gd": {
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "sr": {
+ "name": "Serbian"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "si": {
+ "name": "Sinhala"
+ },
+ "sk": {
+ "name": "Slovak"
+ },
+ "sl": {
+ "name": "Slovenian"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw-CD": {
+ "name": "sw (Jamhuri ya Kidemokrasia ya Kongo)"
+ },
+ "sw": {
+ "name": "Swahili"
+ },
+ "gsw": {
+ "name": "Swiss German"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "te": {
+ "name": "Telugu"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "bo": {
+ "name": "Tibetan"
+ },
+ "ti": {
+ "name": "Tigrinya"
+ },
+ "to": {
+ "name": "Tongan"
+ },
+ "tk": {
+ "name": "Turkmen"
+ },
+ "hsb": {
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "name": "Uyghur"
+ },
+ "uz": {
+ "name": "Uzbek"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "cy": {
+ "name": "Welsh"
+ },
+ "fy": {
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "yi": {
+ "name": "Yiddish"
+ },
+ "dje": {
+ "name": "Zarma"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/lv.json b/vendor/commerceguys/intl/resources/language/lv.json
new file mode 100644
index 000000000..2a303a1bc
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/lv.json
@@ -0,0 +1,635 @@
+{
+ "af": {
+ "name": "afrikandu"
+ },
+ "agq": {
+ "name": "aghemu"
+ },
+ "ak": {
+ "name": "akanu"
+ },
+ "sq": {
+ "name": "albāņu"
+ },
+ "am": {
+ "name": "amharu"
+ },
+ "en": {
+ "name": "angļu"
+ },
+ "ar": {
+ "name": "arābu"
+ },
+ "hy": {
+ "name": "armēņu"
+ },
+ "as": {
+ "name": "asamiešu"
+ },
+ "ast": {
+ "name": "astūriešu"
+ },
+ "asa": {
+ "name": "asu"
+ },
+ "hsb": {
+ "name": "augšsorbu"
+ },
+ "en-AU": {
+ "name": "Austrālijas angļu"
+ },
+ "de-AT": {
+ "name": "Austrijas vācu"
+ },
+ "az": {
+ "name": "azerbaidžāņu"
+ },
+ "ksf": {
+ "name": "bafiju"
+ },
+ "be": {
+ "name": "baltkrievu"
+ },
+ "bm": {
+ "name": "bambaru"
+ },
+ "eu": {
+ "name": "basku"
+ },
+ "bas": {
+ "name": "basu"
+ },
+ "cu": {
+ "name": "baznīcslāvu"
+ },
+ "bem": {
+ "name": "bembu"
+ },
+ "bez": {
+ "name": "bena"
+ },
+ "bn": {
+ "name": "bengāļu"
+ },
+ "my": {
+ "name": "birmiešu"
+ },
+ "brx": {
+ "name": "bodo"
+ },
+ "bs": {
+ "name": "bosniešu"
+ },
+ "br": {
+ "name": "bretoņu"
+ },
+ "bg": {
+ "name": "bulgāru"
+ },
+ "ckb": {
+ "name": "centrālkurdu"
+ },
+ "tzm": {
+ "name": "Centrālmarokas tamazīts"
+ },
+ "ce": {
+ "name": "čečenu"
+ },
+ "cs": {
+ "name": "čehu"
+ },
+ "chr": {
+ "name": "čiroku"
+ },
+ "da": {
+ "name": "dāņu"
+ },
+ "dyo": {
+ "name": "diola-fonjī"
+ },
+ "dua": {
+ "name": "dualu"
+ },
+ "dz": {
+ "name": "dzongke"
+ },
+ "pt-PT": {
+ "name": "Eiropas portugāļu"
+ },
+ "eo": {
+ "name": "esperanto"
+ },
+ "ewo": {
+ "name": "evondu"
+ },
+ "ee": {
+ "name": "evu"
+ },
+ "fo": {
+ "name": "fēru"
+ },
+ "fil": {
+ "name": "filipīniešu"
+ },
+ "nl-BE": {
+ "name": "flāmu"
+ },
+ "fr": {
+ "name": "franču"
+ },
+ "fur": {
+ "name": "friūlu"
+ },
+ "ff": {
+ "name": "fulu"
+ },
+ "gl": {
+ "name": "galisiešu"
+ },
+ "lg": {
+ "name": "gandu"
+ },
+ "gd": {
+ "name": "gēlu"
+ },
+ "kl": {
+ "name": "grenlandiešu"
+ },
+ "el": {
+ "name": "grieķu"
+ },
+ "ka": {
+ "name": "gruzīnu"
+ },
+ "gu": {
+ "name": "gudžaratu"
+ },
+ "guz": {
+ "name": "gusii"
+ },
+ "ha": {
+ "name": "hausu"
+ },
+ "haw": {
+ "name": "havajiešu"
+ },
+ "hi": {
+ "name": "hindi"
+ },
+ "nl": {
+ "name": "holandiešu"
+ },
+ "hr": {
+ "name": "horvātu"
+ },
+ "et": {
+ "name": "igauņu"
+ },
+ "ig": {
+ "name": "igbo"
+ },
+ "smn": {
+ "name": "Inari sāmu"
+ },
+ "id": {
+ "name": "indonēziešu"
+ },
+ "ga": {
+ "name": "īru"
+ },
+ "is": {
+ "name": "īslandiešu"
+ },
+ "it": {
+ "name": "itāļu"
+ },
+ "he": {
+ "name": "ivrits"
+ },
+ "sah": {
+ "name": "jakutu"
+ },
+ "yav": {
+ "name": "janbaņu"
+ },
+ "ja": {
+ "name": "japāņu"
+ },
+ "nn": {
+ "name": "jaunnorvēģu"
+ },
+ "yi": {
+ "name": "jidišs"
+ },
+ "yo": {
+ "name": "jorubu"
+ },
+ "kab": {
+ "name": "kabilu"
+ },
+ "kea": {
+ "name": "kaboverdiešu"
+ },
+ "kkj": {
+ "name": "kako"
+ },
+ "kln": {
+ "name": "kalendžīnu"
+ },
+ "kam": {
+ "name": "kambu"
+ },
+ "en-CA": {
+ "name": "Kanādas angļu"
+ },
+ "fr-CA": {
+ "name": "Kanādas franču"
+ },
+ "kn": {
+ "name": "kannadu"
+ },
+ "yue": {
+ "name": "kantoniešu"
+ },
+ "ks": {
+ "name": "kašmiriešu"
+ },
+ "ca": {
+ "name": "katalāņu"
+ },
+ "kk": {
+ "name": "kazahu"
+ },
+ "qu": {
+ "name": "kečvu"
+ },
+ "km": {
+ "name": "khmeru"
+ },
+ "cgg": {
+ "name": "kiga"
+ },
+ "ki": {
+ "name": "kikuju"
+ },
+ "rw": {
+ "name": "kiņaruanda"
+ },
+ "ky": {
+ "name": "kirgīzu"
+ },
+ "ebu": {
+ "name": "kjembu"
+ },
+ "ses": {
+ "name": "koiraboro senni"
+ },
+ "khq": {
+ "name": "koiračiinī"
+ },
+ "sw-CD": {
+ "name": "Kongo svahili"
+ },
+ "kok": {
+ "name": "konkanu"
+ },
+ "ko": {
+ "name": "korejiešu"
+ },
+ "kw": {
+ "name": "korniešu"
+ },
+ "ru": {
+ "name": "krievu"
+ },
+ "nmg": {
+ "name": "kvasio"
+ },
+ "ksh": {
+ "name": "Ķelnes vācu"
+ },
+ "zh": {
+ "name": "ķīniešu"
+ },
+ "zh-Hant": {
+ "name": "ķīniešu tradicionālā"
+ },
+ "zh-Hans": {
+ "name": "ķīniešu vienkāršotā"
+ },
+ "lkt": {
+ "name": "lakotu"
+ },
+ "lag": {
+ "name": "langi"
+ },
+ "lo": {
+ "name": "laosiešu"
+ },
+ "lv": {
+ "name": "latviešu"
+ },
+ "nds-NL": {
+ "name": "lejassakšu"
+ },
+ "dsb": {
+ "name": "lejassorbu"
+ },
+ "nds": {
+ "name": "lejasvācu"
+ },
+ "en-GB": {
+ "name": "Lielbritānijas angļu"
+ },
+ "lt": {
+ "name": "lietuviešu"
+ },
+ "ln": {
+ "name": "lingala"
+ },
+ "lu": {
+ "name": "lubakatanga"
+ },
+ "luy": {
+ "name": "luhju"
+ },
+ "lb": {
+ "name": "luksemburgiešu"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "jmc": {
+ "name": "mačamu"
+ },
+ "kde": {
+ "name": "makonde"
+ },
+ "mgh": {
+ "name": "makua-meetto"
+ },
+ "mk": {
+ "name": "maķedoniešu"
+ },
+ "mg": {
+ "name": "malagasu"
+ },
+ "ml": {
+ "name": "malajalu"
+ },
+ "ms": {
+ "name": "malajiešu"
+ },
+ "mt": {
+ "name": "maltiešu"
+ },
+ "mr": {
+ "name": "maratu"
+ },
+ "mas": {
+ "name": "masaju"
+ },
+ "mfe": {
+ "name": "Maurīcijas kreolu"
+ },
+ "mzn": {
+ "name": "mazanderāņu"
+ },
+ "es-MX": {
+ "name": "Meksikas spāņu"
+ },
+ "gv": {
+ "name": "meniešu"
+ },
+ "mer": {
+ "name": "meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "ro-MD": {
+ "name": "moldāvu"
+ },
+ "mn": {
+ "name": "mongoļu"
+ },
+ "mua": {
+ "name": "mundangu"
+ },
+ "naq": {
+ "name": "nama"
+ },
+ "ne": {
+ "name": "nepāliešu"
+ },
+ "nnh": {
+ "name": "ngjembūnu"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "nb": {
+ "name": "norvēģu bukmols"
+ },
+ "nus": {
+ "name": "nueru"
+ },
+ "nyn": {
+ "name": "ņankolu"
+ },
+ "or": {
+ "name": "oriju"
+ },
+ "om": {
+ "name": "oromu"
+ },
+ "os": {
+ "name": "osetīnu"
+ },
+ "pa": {
+ "name": "pandžabu"
+ },
+ "fa": {
+ "name": "persiešu"
+ },
+ "pl": {
+ "name": "poļu"
+ },
+ "pt": {
+ "name": "portugāļu"
+ },
+ "prg": {
+ "name": "prūšu"
+ },
+ "ps": {
+ "name": "puštu"
+ },
+ "rm": {
+ "name": "retoromāņu"
+ },
+ "fy": {
+ "name": "rietumfrīzu"
+ },
+ "rof": {
+ "name": "rombo"
+ },
+ "rwk": {
+ "name": "ruanda"
+ },
+ "ro": {
+ "name": "rumāņu"
+ },
+ "rn": {
+ "name": "rundu"
+ },
+ "saq": {
+ "name": "samburu"
+ },
+ "sg": {
+ "name": "sango"
+ },
+ "sbp": {
+ "name": "sangu"
+ },
+ "seh": {
+ "name": "senu"
+ },
+ "sr": {
+ "name": "serbu"
+ },
+ "ii": {
+ "name": "Sičuaņas ji"
+ },
+ "si": {
+ "name": "singāļu"
+ },
+ "sk": {
+ "name": "slovāku"
+ },
+ "sl": {
+ "name": "slovēņu"
+ },
+ "xog": {
+ "name": "sogu"
+ },
+ "so": {
+ "name": "somāļu"
+ },
+ "fi": {
+ "name": "somu"
+ },
+ "es": {
+ "name": "spāņu"
+ },
+ "zgh": {
+ "name": "standarta marokāņu berberu"
+ },
+ "sw": {
+ "name": "svahili"
+ },
+ "ksb": {
+ "name": "šambalu"
+ },
+ "shi": {
+ "name": "šilhu"
+ },
+ "sn": {
+ "name": "šonu"
+ },
+ "de-CH": {
+ "name": "Šveices augšvācu"
+ },
+ "fr-CH": {
+ "name": "Šveices franču"
+ },
+ "gsw": {
+ "name": "Šveices vācu"
+ },
+ "dav": {
+ "name": "taitu"
+ },
+ "th": {
+ "name": "taju"
+ },
+ "ta": {
+ "name": "tamilu"
+ },
+ "twq": {
+ "name": "tasavaku"
+ },
+ "te": {
+ "name": "telugu"
+ },
+ "teo": {
+ "name": "teso"
+ },
+ "bo": {
+ "name": "tibetiešu"
+ },
+ "ti": {
+ "name": "tigrinja"
+ },
+ "to": {
+ "name": "tongiešu"
+ },
+ "tk": {
+ "name": "turkmēņu"
+ },
+ "tr": {
+ "name": "turku"
+ },
+ "ug": {
+ "name": "uiguru"
+ },
+ "uk": {
+ "name": "ukraiņu"
+ },
+ "hu": {
+ "name": "ungāru"
+ },
+ "ur": {
+ "name": "urdu"
+ },
+ "uz": {
+ "name": "uzbeku"
+ },
+ "de": {
+ "name": "vācu"
+ },
+ "vai": {
+ "name": "vaju"
+ },
+ "wae": {
+ "name": "Vallisas vācu"
+ },
+ "cy": {
+ "name": "velsiešu"
+ },
+ "vi": {
+ "name": "vjetnamiešu"
+ },
+ "vo": {
+ "name": "volapiks"
+ },
+ "vun": {
+ "name": "vundžo"
+ },
+ "dje": {
+ "name": "zarmu"
+ },
+ "lrc": {
+ "name": "ziemeļluru"
+ },
+ "nd": {
+ "name": "ziemeļndebelu"
+ },
+ "se": {
+ "name": "ziemeļsāmu"
+ },
+ "zu": {
+ "name": "zulu"
+ },
+ "sv": {
+ "name": "zviedru"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/mas.json b/vendor/commerceguys/intl/resources/language/mas.json
new file mode 100644
index 000000000..d68e7cbe9
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/mas.json
@@ -0,0 +1,632 @@
+{
+ "af": {
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "sq": {
+ "name": "Albanian"
+ },
+ "hy": {
+ "name": "Armenian"
+ },
+ "as": {
+ "name": "Assamese"
+ },
+ "ast": {
+ "name": "Asturian"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "az": {
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "eu": {
+ "name": "Basque"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "bs": {
+ "name": "Bosnian"
+ },
+ "br": {
+ "name": "Breton"
+ },
+ "yue": {
+ "name": "Cantonese"
+ },
+ "ca": {
+ "name": "Catalan"
+ },
+ "tzm": {
+ "name": "Central Atlas Tamazight"
+ },
+ "ckb": {
+ "name": "Central Kurdish"
+ },
+ "ce": {
+ "name": "Chechen"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "cu": {
+ "name": "Church Slavic"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "kw": {
+ "name": "Cornish"
+ },
+ "hr": {
+ "name": "Croatian"
+ },
+ "da": {
+ "name": "Danish"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "dz": {
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "eo": {
+ "name": "Esperanto"
+ },
+ "et": {
+ "name": "Estonian"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fo": {
+ "name": "Faroese"
+ },
+ "fil": {
+ "name": "Filipino"
+ },
+ "fi": {
+ "name": "Finnish"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "gl": {
+ "name": "Galician"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "ka": {
+ "name": "Georgian"
+ },
+ "gu": {
+ "name": "Gujarati"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "haw": {
+ "name": "Hawaiian"
+ },
+ "he": {
+ "name": "Hebrew"
+ },
+ "is": {
+ "name": "Icelandic"
+ },
+ "smn": {
+ "name": "Inari Sami"
+ },
+ "ga": {
+ "name": "Irish"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabyle"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kl": {
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "kn": {
+ "name": "Kannada"
+ },
+ "ks": {
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "name": "Kazakh"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "ky": {
+ "name": "Kyrgyz"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "Lao"
+ },
+ "lv": {
+ "name": "Latvian"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "lt": {
+ "name": "Lithuanian"
+ },
+ "bn": {
+ "name": "lnkʉtʉ́k ɔ́ɔ̄ lBengali"
+ },
+ "dsb": {
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "mas": {
+ "name": "Maa"
+ },
+ "mk": {
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "mg": {
+ "name": "Malagasy"
+ },
+ "ml": {
+ "name": "Malayalam"
+ },
+ "mt": {
+ "name": "Maltese"
+ },
+ "gv": {
+ "name": "Manx"
+ },
+ "mr": {
+ "name": "Marathi"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "mn": {
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nds-NL": {
+ "name": "nds (Uholanzi)"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "fr": {
+ "name": "nkʉtʉ́k ɔ́ɔ̄ faransa"
+ },
+ "fr-CA": {
+ "name": "nkʉtʉ́k ɔ́ɔ̄ faransa (Kanada)"
+ },
+ "fr-CH": {
+ "name": "nkʉtʉ́k ɔ́ɔ̄ faransa (Uswisi)"
+ },
+ "ha": {
+ "name": "nkʉtʉ́k ɔ́ɔ̄ hausa"
+ },
+ "ig": {
+ "name": "nkʉtʉ́k ɔ́ɔ̄ Igbo"
+ },
+ "id": {
+ "name": "nkʉtʉ́k ɔ́ɔ̄ Indonesia"
+ },
+ "ja": {
+ "name": "nkʉtʉ́k ɔ́ɔ̄ japani"
+ },
+ "ak": {
+ "name": "nkʉtʉ́k ɔ́ɔ̄ lAkan"
+ },
+ "am": {
+ "name": "nkʉtʉ́k ɔ́ɔ̄ lAmhari"
+ },
+ "be": {
+ "name": "nkʉtʉ́k ɔ́ɔ̄ lBelarusi"
+ },
+ "bg": {
+ "name": "nkʉtʉ́k ɔ́ɔ̄ lBulgaria"
+ },
+ "my": {
+ "name": "nkʉtʉ́k ɔ́ɔ̄ lBurma"
+ },
+ "cs": {
+ "name": "nkʉtʉ́k ɔ́ɔ̄ lcheki"
+ },
+ "zh": {
+ "name": "nkʉtʉ́k ɔ́ɔ̄ lchina"
+ },
+ "zh-Hans": {
+ "name": "nkʉtʉ́k ɔ́ɔ̄ lchina (Hans)"
+ },
+ "zh-Hant": {
+ "name": "nkʉtʉ́k ɔ́ɔ̄ lchina (Hant)"
+ },
+ "so": {
+ "name": "nkʉtʉ́k ɔ́ɔ̄ lchumari"
+ },
+ "nl": {
+ "name": "nkʉtʉ́k ɔ́ɔ̄ lduchi"
+ },
+ "nl-BE": {
+ "name": "nkʉtʉ́k ɔ́ɔ̄ lduchi (Ubelgiji)"
+ },
+ "el": {
+ "name": "nkʉtʉ́k ɔ́ɔ̄ lgiriki"
+ },
+ "hu": {
+ "name": "nkʉtʉ́k ɔ́ɔ̄ lhungari"
+ },
+ "de": {
+ "name": "nkʉtʉ́k ɔ́ɔ̄ ljerumani"
+ },
+ "de-AT": {
+ "name": "nkʉtʉ́k ɔ́ɔ̄ ljerumani (Austria)"
+ },
+ "de-CH": {
+ "name": "nkʉtʉ́k ɔ́ɔ̄ ljerumani (Uswisi)"
+ },
+ "km": {
+ "name": "nkʉtʉ́k ɔ́ɔ̄ lkambodia"
+ },
+ "ko": {
+ "name": "nkʉtʉ́k ɔ́ɔ̄ lkorea"
+ },
+ "uk": {
+ "name": "nkʉtʉ́k ɔ́ɔ̄ lkrania"
+ },
+ "ar": {
+ "name": "nkʉtʉ́k ɔ́ɔ̄ lmarabu"
+ },
+ "hi": {
+ "name": "nkʉtʉ́k ɔ́ɔ̄ lmoindi"
+ },
+ "ne": {
+ "name": "nkʉtʉ́k ɔ́ɔ̄ lnepali"
+ },
+ "fa": {
+ "name": "nkʉtʉ́k ɔ́ɔ̄ lpersia"
+ },
+ "pl": {
+ "name": "nkʉtʉ́k ɔ́ɔ̄ lpoland"
+ },
+ "pt": {
+ "name": "nkʉtʉ́k ɔ́ɔ̄ lportuguese"
+ },
+ "pt-PT": {
+ "name": "nkʉtʉ́k ɔ́ɔ̄ lportuguese (Ureno)"
+ },
+ "pa": {
+ "name": "nkʉtʉ́k ɔ́ɔ̄ lpunjabi"
+ },
+ "ro": {
+ "name": "nkʉtʉ́k ɔ́ɔ̄ lromania"
+ },
+ "ro-MD": {
+ "name": "nkʉtʉ́k ɔ́ɔ̄ lromania (Moldova)"
+ },
+ "ru": {
+ "name": "nkʉtʉ́k ɔ́ɔ̄ lrusi"
+ },
+ "rw": {
+ "name": "nkʉtʉ́k ɔ́ɔ̄ lruwanda"
+ },
+ "es": {
+ "name": "nkʉtʉ́k ɔ́ɔ̄ lspania"
+ },
+ "es-MX": {
+ "name": "nkʉtʉ́k ɔ́ɔ̄ lspania (Meksiko)"
+ },
+ "sv": {
+ "name": "nkʉtʉ́k ɔ́ɔ̄ lswidi"
+ },
+ "th": {
+ "name": "nkʉtʉ́k ɔ́ɔ̄ ltai"
+ },
+ "it": {
+ "name": "nkʉtʉ́k ɔ́ɔ̄ ltalian"
+ },
+ "ta": {
+ "name": "nkʉtʉ́k ɔ́ɔ̄ ltamil"
+ },
+ "tr": {
+ "name": "nkʉtʉ́k ɔ́ɔ̄ lturuki"
+ },
+ "ur": {
+ "name": "nkʉtʉ́k ɔ́ɔ̄ lurdu"
+ },
+ "vi": {
+ "name": "nkʉtʉ́k ɔ́ɔ̄ lvietinamu"
+ },
+ "yo": {
+ "name": "nkʉtʉ́k ɔ́ɔ̄ lyoruba"
+ },
+ "zu": {
+ "name": "nkʉtʉ́k ɔ́ɔ̄ lzulu"
+ },
+ "ms": {
+ "name": "nkʉtʉ́k ɔ́ɔ̄ malay"
+ },
+ "en": {
+ "name": "nkʉtʉ́k ɔ́ɔ̄ nkɨ́resa"
+ },
+ "en-AU": {
+ "name": "nkʉtʉ́k ɔ́ɔ̄ nkɨ́resa (Australia)"
+ },
+ "en-CA": {
+ "name": "nkʉtʉ́k ɔ́ɔ̄ nkɨ́resa (Kanada)"
+ },
+ "en-GB": {
+ "name": "nkʉtʉ́k ɔ́ɔ̄ nkɨ́resa (Uingereza)"
+ },
+ "nd": {
+ "name": "North Ndebele"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "se": {
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "or": {
+ "name": "Odia"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "os": {
+ "name": "Ossetic"
+ },
+ "ps": {
+ "name": "Pashto"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "qu": {
+ "name": "Quechua"
+ },
+ "rm": {
+ "name": "Romansh"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "rn": {
+ "name": "Rundi"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "sah": {
+ "name": "Sakha"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "gd": {
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "sr": {
+ "name": "Serbian"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "si": {
+ "name": "Sinhala"
+ },
+ "sk": {
+ "name": "Slovak"
+ },
+ "sl": {
+ "name": "Slovenian"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw-CD": {
+ "name": "sw (Jamhuri ya Kidemokrasia ya Kongo)"
+ },
+ "sw": {
+ "name": "Swahili"
+ },
+ "gsw": {
+ "name": "Swiss German"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "te": {
+ "name": "Telugu"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "bo": {
+ "name": "Tibetan"
+ },
+ "ti": {
+ "name": "Tigrinya"
+ },
+ "to": {
+ "name": "Tongan"
+ },
+ "tk": {
+ "name": "Turkmen"
+ },
+ "hsb": {
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "name": "Uyghur"
+ },
+ "uz": {
+ "name": "Uzbek"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "cy": {
+ "name": "Welsh"
+ },
+ "fy": {
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "yi": {
+ "name": "Yiddish"
+ },
+ "dje": {
+ "name": "Zarma"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/mer.json b/vendor/commerceguys/intl/resources/language/mer.json
new file mode 100644
index 000000000..3ef1cce47
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/mer.json
@@ -0,0 +1,632 @@
+{
+ "af": {
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "sq": {
+ "name": "Albanian"
+ },
+ "hy": {
+ "name": "Armenian"
+ },
+ "as": {
+ "name": "Assamese"
+ },
+ "ast": {
+ "name": "Asturian"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "az": {
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "eu": {
+ "name": "Basque"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "bs": {
+ "name": "Bosnian"
+ },
+ "br": {
+ "name": "Breton"
+ },
+ "yue": {
+ "name": "Cantonese"
+ },
+ "ca": {
+ "name": "Catalan"
+ },
+ "tzm": {
+ "name": "Central Atlas Tamazight"
+ },
+ "ckb": {
+ "name": "Central Kurdish"
+ },
+ "ce": {
+ "name": "Chechen"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "cu": {
+ "name": "Church Slavic"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "kw": {
+ "name": "Cornish"
+ },
+ "hr": {
+ "name": "Croatian"
+ },
+ "da": {
+ "name": "Danish"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "dz": {
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "eo": {
+ "name": "Esperanto"
+ },
+ "et": {
+ "name": "Estonian"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fo": {
+ "name": "Faroese"
+ },
+ "fil": {
+ "name": "Filipino"
+ },
+ "fi": {
+ "name": "Finnish"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "gl": {
+ "name": "Galician"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "ka": {
+ "name": "Georgian"
+ },
+ "gu": {
+ "name": "Gujarati"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "haw": {
+ "name": "Hawaiian"
+ },
+ "he": {
+ "name": "Hebrew"
+ },
+ "is": {
+ "name": "Icelandic"
+ },
+ "smn": {
+ "name": "Inari Sami"
+ },
+ "ga": {
+ "name": "Irish"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabyle"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kl": {
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "kn": {
+ "name": "Kannada"
+ },
+ "ks": {
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "name": "Kazakh"
+ },
+ "ak": {
+ "name": "Kĩakani"
+ },
+ "am": {
+ "name": "Kĩamarĩki"
+ },
+ "ar": {
+ "name": "Kĩarabu"
+ },
+ "bn": {
+ "name": "Kĩbangira"
+ },
+ "be": {
+ "name": "Kĩbelarusi"
+ },
+ "bg": {
+ "name": "Kĩbulugĩria"
+ },
+ "my": {
+ "name": "Kĩburma"
+ },
+ "cs": {
+ "name": "Kĩcheki"
+ },
+ "zh": {
+ "name": "Kĩchina"
+ },
+ "zh-Hans": {
+ "name": "Kĩchina (Hans)"
+ },
+ "zh-Hant": {
+ "name": "Kĩchina (Hant)"
+ },
+ "fr": {
+ "name": "Kĩfuransi"
+ },
+ "fr-CA": {
+ "name": "Kĩfuransi (Kanada)"
+ },
+ "fr-CH": {
+ "name": "Kĩfuransi (Swizilandi)"
+ },
+ "hu": {
+ "name": "Kĩhangarĩ"
+ },
+ "ha": {
+ "name": "Kĩhausa"
+ },
+ "hi": {
+ "name": "Kĩhĩndi"
+ },
+ "nl": {
+ "name": "Kĩholandi"
+ },
+ "nl-BE": {
+ "name": "Kĩholandi (Beronjiamu)"
+ },
+ "ig": {
+ "name": "Kĩigbo"
+ },
+ "id": {
+ "name": "Kĩindonesia"
+ },
+ "it": {
+ "name": "Kĩitalĩ"
+ },
+ "ja": {
+ "name": "Kĩjapani"
+ },
+ "km": {
+ "name": "Kĩkambodia"
+ },
+ "ko": {
+ "name": "Kĩkorea"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "ms": {
+ "name": "Kĩmalesia"
+ },
+ "mer": {
+ "name": "Kĩmĩrũ"
+ },
+ "ne": {
+ "name": "Kĩnepali"
+ },
+ "en": {
+ "name": "Kĩngeretha"
+ },
+ "en-AU": {
+ "name": "Kĩngeretha (Austrĩlia)"
+ },
+ "en-CA": {
+ "name": "Kĩngeretha (Kanada)"
+ },
+ "en-GB": {
+ "name": "Kĩngeretha (Ngeretha)"
+ },
+ "el": {
+ "name": "Kĩngiriki"
+ },
+ "de": {
+ "name": "Kĩnjamanĩ"
+ },
+ "de-AT": {
+ "name": "Kĩnjamanĩ (Austiria)"
+ },
+ "de-CH": {
+ "name": "Kĩnjamanĩ (Swizilandi)"
+ },
+ "fa": {
+ "name": "Kĩpasia"
+ },
+ "pt": {
+ "name": "Kĩpochogo"
+ },
+ "pt-PT": {
+ "name": "Kĩpochogo (Potogo)"
+ },
+ "pl": {
+ "name": "Kĩpolandi"
+ },
+ "pa": {
+ "name": "Kĩpunjabu"
+ },
+ "ru": {
+ "name": "Kĩrashia"
+ },
+ "ro": {
+ "name": "Kĩromania"
+ },
+ "ro-MD": {
+ "name": "Kĩromania (Moldova)"
+ },
+ "rw": {
+ "name": "Kĩrwanda"
+ },
+ "so": {
+ "name": "Kĩsomali"
+ },
+ "es": {
+ "name": "Kĩspĩni"
+ },
+ "es-MX": {
+ "name": "Kĩspĩni (Mexiko)"
+ },
+ "sv": {
+ "name": "Kĩswideni"
+ },
+ "tr": {
+ "name": "Kĩtakĩ"
+ },
+ "ta": {
+ "name": "Kĩtamilu"
+ },
+ "th": {
+ "name": "Kĩthailandi"
+ },
+ "uk": {
+ "name": "Kĩukirĩni"
+ },
+ "ur": {
+ "name": "Kĩurdu"
+ },
+ "vi": {
+ "name": "Kĩvietinamu"
+ },
+ "yo": {
+ "name": "Kĩyoruba"
+ },
+ "zu": {
+ "name": "Kĩzulu"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "ky": {
+ "name": "Kyrgyz"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "Lao"
+ },
+ "lv": {
+ "name": "Latvian"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "lt": {
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "mk": {
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "mg": {
+ "name": "Malagasy"
+ },
+ "ml": {
+ "name": "Malayalam"
+ },
+ "mt": {
+ "name": "Maltese"
+ },
+ "gv": {
+ "name": "Manx"
+ },
+ "mr": {
+ "name": "Marathi"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "mn": {
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nds-NL": {
+ "name": "nds (Holandi)"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "nd": {
+ "name": "North Ndebele"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "se": {
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "or": {
+ "name": "Odia"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "os": {
+ "name": "Ossetic"
+ },
+ "ps": {
+ "name": "Pashto"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "qu": {
+ "name": "Quechua"
+ },
+ "rm": {
+ "name": "Romansh"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "rn": {
+ "name": "Rundi"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "sah": {
+ "name": "Sakha"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "gd": {
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "sr": {
+ "name": "Serbian"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "si": {
+ "name": "Sinhala"
+ },
+ "sk": {
+ "name": "Slovak"
+ },
+ "sl": {
+ "name": "Slovenian"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw-CD": {
+ "name": "sw (Nthĩ ya Kidemokrasĩ ya Kongo)"
+ },
+ "sw": {
+ "name": "Swahili"
+ },
+ "gsw": {
+ "name": "Swiss German"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "te": {
+ "name": "Telugu"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "bo": {
+ "name": "Tibetan"
+ },
+ "ti": {
+ "name": "Tigrinya"
+ },
+ "to": {
+ "name": "Tongan"
+ },
+ "tk": {
+ "name": "Turkmen"
+ },
+ "hsb": {
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "name": "Uyghur"
+ },
+ "uz": {
+ "name": "Uzbek"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "cy": {
+ "name": "Welsh"
+ },
+ "fy": {
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "yi": {
+ "name": "Yiddish"
+ },
+ "dje": {
+ "name": "Zarma"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/mfe.json b/vendor/commerceguys/intl/resources/language/mfe.json
new file mode 100644
index 000000000..d2494d4be
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/mfe.json
@@ -0,0 +1,632 @@
+{
+ "af": {
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "ak": {
+ "name": "akan"
+ },
+ "sq": {
+ "name": "Albanian"
+ },
+ "de": {
+ "name": "alman"
+ },
+ "de-CH": {
+ "name": "alman (Laswis)"
+ },
+ "de-AT": {
+ "name": "alman (Lostris)"
+ },
+ "am": {
+ "name": "amarik"
+ },
+ "en": {
+ "name": "angle"
+ },
+ "en-CA": {
+ "name": "angle (Kanada)"
+ },
+ "en-AU": {
+ "name": "angle (Lostrali)"
+ },
+ "en-GB": {
+ "name": "angle (United Kingdom)"
+ },
+ "ar": {
+ "name": "arab"
+ },
+ "hy": {
+ "name": "Armenian"
+ },
+ "as": {
+ "name": "Assamese"
+ },
+ "ast": {
+ "name": "Asturian"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "az": {
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "eu": {
+ "name": "Basque"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "bn": {
+ "name": "bengali"
+ },
+ "be": {
+ "name": "bieloris"
+ },
+ "bg": {
+ "name": "bilgar"
+ },
+ "my": {
+ "name": "birman"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "bs": {
+ "name": "Bosnian"
+ },
+ "br": {
+ "name": "Breton"
+ },
+ "yue": {
+ "name": "Cantonese"
+ },
+ "ca": {
+ "name": "Catalan"
+ },
+ "tzm": {
+ "name": "Central Atlas Tamazight"
+ },
+ "ckb": {
+ "name": "Central Kurdish"
+ },
+ "ce": {
+ "name": "Chechen"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "cu": {
+ "name": "Church Slavic"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "kw": {
+ "name": "Cornish"
+ },
+ "hr": {
+ "name": "Croatian"
+ },
+ "da": {
+ "name": "Danish"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "dz": {
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "es": {
+ "name": "espagnol"
+ },
+ "es-MX": {
+ "name": "espagnol (Mexik)"
+ },
+ "eo": {
+ "name": "Esperanto"
+ },
+ "et": {
+ "name": "Estonian"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fo": {
+ "name": "Faroese"
+ },
+ "fil": {
+ "name": "Filipino"
+ },
+ "fi": {
+ "name": "Finnish"
+ },
+ "fr": {
+ "name": "franse"
+ },
+ "fr-CA": {
+ "name": "franse (Kanada)"
+ },
+ "fr-CH": {
+ "name": "franse (Laswis)"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "gl": {
+ "name": "Galician"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "ka": {
+ "name": "Georgian"
+ },
+ "el": {
+ "name": "grek"
+ },
+ "gu": {
+ "name": "Gujarati"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "ha": {
+ "name": "haoussa"
+ },
+ "haw": {
+ "name": "Hawaiian"
+ },
+ "he": {
+ "name": "Hebrew"
+ },
+ "hi": {
+ "name": "hindi"
+ },
+ "hu": {
+ "name": "hongrwa"
+ },
+ "is": {
+ "name": "Icelandic"
+ },
+ "ig": {
+ "name": "igbo"
+ },
+ "uk": {
+ "name": "ikrenien"
+ },
+ "smn": {
+ "name": "Inari Sami"
+ },
+ "id": {
+ "name": "indonezien"
+ },
+ "ga": {
+ "name": "Irish"
+ },
+ "it": {
+ "name": "italien"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabyle"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kl": {
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "kn": {
+ "name": "Kannada"
+ },
+ "ks": {
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "name": "Kazakh"
+ },
+ "km": {
+ "name": "khmer, santral"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "ko": {
+ "name": "koreen"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "mfe": {
+ "name": "kreol morisien"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "ky": {
+ "name": "Kyrgyz"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "Lao"
+ },
+ "lv": {
+ "name": "Latvian"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "lt": {
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "mk": {
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "mg": {
+ "name": "Malagasy"
+ },
+ "ml": {
+ "name": "Malayalam"
+ },
+ "ms": {
+ "name": "male"
+ },
+ "mt": {
+ "name": "Maltese"
+ },
+ "gv": {
+ "name": "Manx"
+ },
+ "mr": {
+ "name": "Marathi"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "mn": {
+ "name": "Mongolian"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nds-NL": {
+ "name": "nds (Oland)"
+ },
+ "ne": {
+ "name": "nepale"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "nd": {
+ "name": "North Ndebele"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "se": {
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "or": {
+ "name": "Odia"
+ },
+ "nl": {
+ "name": "olande"
+ },
+ "nl-BE": {
+ "name": "olande (Belzik)"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "os": {
+ "name": "Ossetic"
+ },
+ "ur": {
+ "name": "ourdou"
+ },
+ "ps": {
+ "name": "Pashto"
+ },
+ "pa": {
+ "name": "penjabi"
+ },
+ "fa": {
+ "name": "persan"
+ },
+ "pl": {
+ "name": "polone"
+ },
+ "pt": {
+ "name": "portige"
+ },
+ "pt-PT": {
+ "name": "portige (Portigal)"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "qu": {
+ "name": "Quechua"
+ },
+ "ru": {
+ "name": "ris"
+ },
+ "rm": {
+ "name": "Romansh"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "ro": {
+ "name": "roumin"
+ },
+ "ro-MD": {
+ "name": "roumin (Moldavi)"
+ },
+ "rn": {
+ "name": "Rundi"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "rw": {
+ "name": "rwanda"
+ },
+ "sah": {
+ "name": "Sakha"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "gd": {
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "sr": {
+ "name": "Serbian"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "si": {
+ "name": "Sinhala"
+ },
+ "zh": {
+ "name": "sinwa, mandarin"
+ },
+ "zh-Hans": {
+ "name": "sinwa, mandarin (Hans)"
+ },
+ "zh-Hant": {
+ "name": "sinwa, mandarin (Hant)"
+ },
+ "sk": {
+ "name": "Slovak"
+ },
+ "sl": {
+ "name": "Slovenian"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "so": {
+ "name": "somali"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw-CD": {
+ "name": "sw (Repiblik demokratik Kongo)"
+ },
+ "sw": {
+ "name": "Swahili"
+ },
+ "sv": {
+ "name": "swedwa"
+ },
+ "gsw": {
+ "name": "Swiss German"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "ta": {
+ "name": "tamoul"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "cs": {
+ "name": "tchek"
+ },
+ "te": {
+ "name": "Telugu"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "th": {
+ "name": "thaï"
+ },
+ "bo": {
+ "name": "Tibetan"
+ },
+ "ti": {
+ "name": "Tigrinya"
+ },
+ "tr": {
+ "name": "tirk"
+ },
+ "to": {
+ "name": "Tongan"
+ },
+ "tk": {
+ "name": "Turkmen"
+ },
+ "hsb": {
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "name": "Uyghur"
+ },
+ "uz": {
+ "name": "Uzbek"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vi": {
+ "name": "vietnamien"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "cy": {
+ "name": "Welsh"
+ },
+ "fy": {
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "yi": {
+ "name": "Yiddish"
+ },
+ "yo": {
+ "name": "yoruba"
+ },
+ "ja": {
+ "name": "zapone"
+ },
+ "dje": {
+ "name": "Zarma"
+ },
+ "zu": {
+ "name": "zoulou"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/mg.json b/vendor/commerceguys/intl/resources/language/mg.json
new file mode 100644
index 000000000..4252eb0db
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/mg.json
@@ -0,0 +1,632 @@
+{
+ "af": {
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "ak": {
+ "name": "Akan"
+ },
+ "sq": {
+ "name": "Albanian"
+ },
+ "de": {
+ "name": "Alemanina"
+ },
+ "de-AT": {
+ "name": "Alemanina (Aotrisy)"
+ },
+ "de-CH": {
+ "name": "Alemanina (Soisa)"
+ },
+ "am": {
+ "name": "Amharika"
+ },
+ "en": {
+ "name": "Anglisy"
+ },
+ "en-GB": {
+ "name": "Anglisy (Angletera)"
+ },
+ "en-AU": {
+ "name": "Anglisy (Aostralia)"
+ },
+ "en-CA": {
+ "name": "Anglisy (Kanada)"
+ },
+ "ar": {
+ "name": "Arabo"
+ },
+ "hy": {
+ "name": "Armenian"
+ },
+ "as": {
+ "name": "Assamese"
+ },
+ "ast": {
+ "name": "Asturian"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "az": {
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "eu": {
+ "name": "Basque"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "bn": {
+ "name": "Bengali"
+ },
+ "be": {
+ "name": "Bielorosy"
+ },
+ "bg": {
+ "name": "Biolgara"
+ },
+ "my": {
+ "name": "Birmana"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "bs": {
+ "name": "Bosnian"
+ },
+ "br": {
+ "name": "Breton"
+ },
+ "yue": {
+ "name": "Cantonese"
+ },
+ "ca": {
+ "name": "Catalan"
+ },
+ "tzm": {
+ "name": "Central Atlas Tamazight"
+ },
+ "ckb": {
+ "name": "Central Kurdish"
+ },
+ "ce": {
+ "name": "Chechen"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "cu": {
+ "name": "Church Slavic"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "kw": {
+ "name": "Cornish"
+ },
+ "hr": {
+ "name": "Croatian"
+ },
+ "da": {
+ "name": "Danish"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "dz": {
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "es": {
+ "name": "Espaniola"
+ },
+ "es-MX": {
+ "name": "Espaniola (Meksika)"
+ },
+ "eo": {
+ "name": "Esperanto"
+ },
+ "et": {
+ "name": "Estonian"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fo": {
+ "name": "Faroese"
+ },
+ "fil": {
+ "name": "Filipino"
+ },
+ "fi": {
+ "name": "Finnish"
+ },
+ "fr": {
+ "name": "Frantsay"
+ },
+ "fr-CA": {
+ "name": "Frantsay (Kanada)"
+ },
+ "fr-CH": {
+ "name": "Frantsay (Soisa)"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "gl": {
+ "name": "Galician"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "ka": {
+ "name": "Georgian"
+ },
+ "el": {
+ "name": "Grika"
+ },
+ "gu": {
+ "name": "Gujarati"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "ha": {
+ "name": "haoussa"
+ },
+ "haw": {
+ "name": "Hawaiian"
+ },
+ "he": {
+ "name": "Hebrew"
+ },
+ "hi": {
+ "name": "hindi"
+ },
+ "nl": {
+ "name": "Holandey"
+ },
+ "nl-BE": {
+ "name": "Holandey (Belzika)"
+ },
+ "hu": {
+ "name": "hongroà"
+ },
+ "is": {
+ "name": "Icelandic"
+ },
+ "ig": {
+ "name": "igbo"
+ },
+ "smn": {
+ "name": "Inari Sami"
+ },
+ "id": {
+ "name": "Indonezianina"
+ },
+ "ga": {
+ "name": "Irish"
+ },
+ "it": {
+ "name": "Italianina"
+ },
+ "ja": {
+ "name": "Japoney"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabyle"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kl": {
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "kn": {
+ "name": "Kannada"
+ },
+ "ks": {
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "name": "Kazakh"
+ },
+ "km": {
+ "name": "khmer"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "ko": {
+ "name": "Koreanina"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "ky": {
+ "name": "Kyrgyz"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "Lao"
+ },
+ "lv": {
+ "name": "Latvian"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "lt": {
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "mk": {
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "mg": {
+ "name": "Malagasy"
+ },
+ "ms": {
+ "name": "Malay"
+ },
+ "ml": {
+ "name": "Malayalam"
+ },
+ "mt": {
+ "name": "Maltese"
+ },
+ "gv": {
+ "name": "Manx"
+ },
+ "mr": {
+ "name": "Marathi"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "mn": {
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nds-NL": {
+ "name": "nds (Holanda)"
+ },
+ "ne": {
+ "name": "Nepale"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "nd": {
+ "name": "North Ndebele"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "se": {
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "or": {
+ "name": "Odia"
+ },
+ "uk": {
+ "name": "Okrainianina"
+ },
+ "ur": {
+ "name": "Ordò"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "os": {
+ "name": "Ossetic"
+ },
+ "ps": {
+ "name": "Pashto"
+ },
+ "pa": {
+ "name": "Penjabi"
+ },
+ "fa": {
+ "name": "Persa"
+ },
+ "pl": {
+ "name": "Poloney"
+ },
+ "pt": {
+ "name": "Portiogey"
+ },
+ "pt-PT": {
+ "name": "Portiogey (Pôrtiogala)"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "qu": {
+ "name": "Quechua"
+ },
+ "rw": {
+ "name": "Roande"
+ },
+ "ro": {
+ "name": "Romanianina"
+ },
+ "ro-MD": {
+ "name": "Romanianina (Môldavia)"
+ },
+ "rm": {
+ "name": "Romansh"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "ru": {
+ "name": "Rosianina"
+ },
+ "rn": {
+ "name": "Rundi"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "sah": {
+ "name": "Sakha"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "gd": {
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "sr": {
+ "name": "Serbian"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "si": {
+ "name": "Sinhala"
+ },
+ "zh": {
+ "name": "Sinoa, Mandarin"
+ },
+ "zh-Hans": {
+ "name": "Sinoa, Mandarin (Hans)"
+ },
+ "zh-Hant": {
+ "name": "Sinoa, Mandarin (Hant)"
+ },
+ "sk": {
+ "name": "Slovak"
+ },
+ "sl": {
+ "name": "Slovenian"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "sv": {
+ "name": "Soisa"
+ },
+ "so": {
+ "name": "Somalianina"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw-CD": {
+ "name": "sw (Repoblikan’i Kongo)"
+ },
+ "sw": {
+ "name": "Swahili"
+ },
+ "gsw": {
+ "name": "Swiss German"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "th": {
+ "name": "Taioaney"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "ta": {
+ "name": "Tamoila"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "te": {
+ "name": "Telugu"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "bo": {
+ "name": "Tibetan"
+ },
+ "ti": {
+ "name": "Tigrinya"
+ },
+ "tr": {
+ "name": "Tiorka"
+ },
+ "to": {
+ "name": "Tongan"
+ },
+ "cs": {
+ "name": "Tseky"
+ },
+ "tk": {
+ "name": "Turkmen"
+ },
+ "hsb": {
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "name": "Uyghur"
+ },
+ "uz": {
+ "name": "Uzbek"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vi": {
+ "name": "Vietnamianina"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "cy": {
+ "name": "Welsh"
+ },
+ "fy": {
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "yi": {
+ "name": "Yiddish"
+ },
+ "yo": {
+ "name": "Yôrobà"
+ },
+ "dje": {
+ "name": "Zarma"
+ },
+ "zu": {
+ "name": "Zolò"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/mgh.json b/vendor/commerceguys/intl/resources/language/mgh.json
new file mode 100644
index 000000000..f574771fc
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/mgh.json
@@ -0,0 +1,632 @@
+{
+ "af": {
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "sq": {
+ "name": "Albanian"
+ },
+ "hy": {
+ "name": "Armenian"
+ },
+ "as": {
+ "name": "Assamese"
+ },
+ "ast": {
+ "name": "Asturian"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "az": {
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "eu": {
+ "name": "Basque"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "bs": {
+ "name": "Bosnian"
+ },
+ "br": {
+ "name": "Breton"
+ },
+ "yue": {
+ "name": "Cantonese"
+ },
+ "ca": {
+ "name": "Catalan"
+ },
+ "tzm": {
+ "name": "Central Atlas Tamazight"
+ },
+ "ckb": {
+ "name": "Central Kurdish"
+ },
+ "ce": {
+ "name": "Chechen"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "cu": {
+ "name": "Church Slavic"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "kw": {
+ "name": "Cornish"
+ },
+ "hr": {
+ "name": "Croatian"
+ },
+ "da": {
+ "name": "Danish"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "dz": {
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "eo": {
+ "name": "Esperanto"
+ },
+ "et": {
+ "name": "Estonian"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fo": {
+ "name": "Faroese"
+ },
+ "fil": {
+ "name": "Filipino"
+ },
+ "fi": {
+ "name": "Finnish"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "gl": {
+ "name": "Galician"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "ka": {
+ "name": "Georgian"
+ },
+ "gu": {
+ "name": "Gujarati"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "haw": {
+ "name": "Hawaiian"
+ },
+ "he": {
+ "name": "Hebrew"
+ },
+ "fa": {
+ "name": "Iajemi"
+ },
+ "ar": {
+ "name": "Iarabu"
+ },
+ "bn": {
+ "name": "Ibangla"
+ },
+ "be": {
+ "name": "Ibelausi"
+ },
+ "bg": {
+ "name": "Ibulgaria"
+ },
+ "my": {
+ "name": "Iburma"
+ },
+ "is": {
+ "name": "Icelandic"
+ },
+ "cs": {
+ "name": "Icheki"
+ },
+ "zh": {
+ "name": "Ichina"
+ },
+ "zh-Hans": {
+ "name": "Ichina (Hans)"
+ },
+ "zh-Hant": {
+ "name": "Ichina (Hant)"
+ },
+ "fr": {
+ "name": "Ifaransa"
+ },
+ "fr-CA": {
+ "name": "Ifaransa (Ukanada)"
+ },
+ "fr-CH": {
+ "name": "Ifaransa (Uswisi)"
+ },
+ "ig": {
+ "name": "Igbo"
+ },
+ "el": {
+ "name": "Igiriki"
+ },
+ "ha": {
+ "name": "Ihausa"
+ },
+ "hi": {
+ "name": "Ihindi"
+ },
+ "es": {
+ "name": "Ihispaniola"
+ },
+ "es-MX": {
+ "name": "Ihispaniola (MX)"
+ },
+ "nl": {
+ "name": "Iholanzi"
+ },
+ "nl-BE": {
+ "name": "Iholanzi (BE)"
+ },
+ "hu": {
+ "name": "Ihungari"
+ },
+ "ur": {
+ "name": "Ihurdu"
+ },
+ "ja": {
+ "name": "Ijapani"
+ },
+ "de": {
+ "name": "Ijerimani"
+ },
+ "de-AT": {
+ "name": "Ijerimani (AT)"
+ },
+ "de-CH": {
+ "name": "Ijerimani (Uswisi)"
+ },
+ "km": {
+ "name": "Ikambodia"
+ },
+ "ak": {
+ "name": "Ikan"
+ },
+ "ko": {
+ "name": "Ikorea"
+ },
+ "ms": {
+ "name": "Imalesia"
+ },
+ "am": {
+ "name": "Imhari"
+ },
+ "smn": {
+ "name": "Inari Sami"
+ },
+ "id": {
+ "name": "Indonesian"
+ },
+ "ne": {
+ "name": "Inepali"
+ },
+ "en": {
+ "name": "Ingilishi"
+ },
+ "en-AU": {
+ "name": "Ingilishi (AU)"
+ },
+ "en-GB": {
+ "name": "Ingilishi (GB)"
+ },
+ "en-CA": {
+ "name": "Ingilishi (Ukanada)"
+ },
+ "rw": {
+ "name": "Inyaranda"
+ },
+ "pl": {
+ "name": "Ipolandi"
+ },
+ "pa": {
+ "name": "Ipunjabi"
+ },
+ "ga": {
+ "name": "Irish"
+ },
+ "ru": {
+ "name": "Irisi"
+ },
+ "ro": {
+ "name": "Iromania"
+ },
+ "ro-MD": {
+ "name": "Iromania (MD)"
+ },
+ "so": {
+ "name": "Isomali"
+ },
+ "sv": {
+ "name": "Iswidi"
+ },
+ "th": {
+ "name": "Itailandi"
+ },
+ "it": {
+ "name": "Italiano"
+ },
+ "ta": {
+ "name": "Itamil"
+ },
+ "tr": {
+ "name": "Ituruki"
+ },
+ "uk": {
+ "name": "Iukran"
+ },
+ "vi": {
+ "name": "Ivyetinamu"
+ },
+ "yo": {
+ "name": "Iyoruba"
+ },
+ "zu": {
+ "name": "Izulu"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabyle"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kl": {
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "kn": {
+ "name": "Kannada"
+ },
+ "ks": {
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "name": "Kazakh"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "ky": {
+ "name": "Kyrgyz"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "Lao"
+ },
+ "lv": {
+ "name": "Latvian"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "lt": {
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "mk": {
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "mgh": {
+ "name": "Makua"
+ },
+ "mg": {
+ "name": "Malagasy"
+ },
+ "ml": {
+ "name": "Malayalam"
+ },
+ "mt": {
+ "name": "Maltese"
+ },
+ "gv": {
+ "name": "Manx"
+ },
+ "mr": {
+ "name": "Marathi"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "mn": {
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nds-NL": {
+ "name": "nds (NL)"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "nd": {
+ "name": "North Ndebele"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "se": {
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "name": "Norwegian Nynorsk"
+ },
+ "pt": {
+ "name": "Nreno"
+ },
+ "pt-PT": {
+ "name": "Nreno (PT)"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "or": {
+ "name": "Odia"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "os": {
+ "name": "Ossetic"
+ },
+ "ps": {
+ "name": "Pashto"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "qu": {
+ "name": "Quechua"
+ },
+ "rm": {
+ "name": "Romansh"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "rn": {
+ "name": "Rundi"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "sah": {
+ "name": "Sakha"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "gd": {
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "sr": {
+ "name": "Serbian"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "si": {
+ "name": "Sinhala"
+ },
+ "sk": {
+ "name": "Slovak"
+ },
+ "sl": {
+ "name": "Slovenian"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw-CD": {
+ "name": "sw (CD)"
+ },
+ "sw": {
+ "name": "Swahili"
+ },
+ "gsw": {
+ "name": "Swiss German"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "te": {
+ "name": "Telugu"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "bo": {
+ "name": "Tibetan"
+ },
+ "ti": {
+ "name": "Tigrinya"
+ },
+ "to": {
+ "name": "Tongan"
+ },
+ "tk": {
+ "name": "Turkmen"
+ },
+ "hsb": {
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "name": "Uyghur"
+ },
+ "uz": {
+ "name": "Uzbek"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "cy": {
+ "name": "Welsh"
+ },
+ "fy": {
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "yi": {
+ "name": "Yiddish"
+ },
+ "dje": {
+ "name": "Zarma"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/mk.json b/vendor/commerceguys/intl/resources/language/mk.json
new file mode 100644
index 000000000..ffd0472e7
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/mk.json
@@ -0,0 +1,635 @@
+{
+ "en-AU": {
+ "name": "австралиски англиски"
+ },
+ "agq": {
+ "name": "агемски"
+ },
+ "az": {
+ "name": "азербејџански"
+ },
+ "ak": {
+ "name": "акански"
+ },
+ "sq": {
+ "name": "албански"
+ },
+ "am": {
+ "name": "амхарски"
+ },
+ "en": {
+ "name": "англиски"
+ },
+ "ar": {
+ "name": "арапски"
+ },
+ "as": {
+ "name": "асамски"
+ },
+ "ast": {
+ "name": "астурски"
+ },
+ "asa": {
+ "name": "асу"
+ },
+ "af": {
+ "name": "африканс"
+ },
+ "bm": {
+ "name": "бамбара"
+ },
+ "bas": {
+ "name": "баса"
+ },
+ "eu": {
+ "name": "баскиски"
+ },
+ "ksf": {
+ "name": "бафија"
+ },
+ "be": {
+ "name": "белоруски"
+ },
+ "bem": {
+ "name": "бемба"
+ },
+ "bez": {
+ "name": "бена"
+ },
+ "bn": {
+ "name": "бенгалски"
+ },
+ "brx": {
+ "name": "бодо"
+ },
+ "bs": {
+ "name": "босански"
+ },
+ "br": {
+ "name": "бретонски"
+ },
+ "en-GB": {
+ "name": "британски англиски"
+ },
+ "bg": {
+ "name": "бугарски"
+ },
+ "my": {
+ "name": "бурмански"
+ },
+ "vai": {
+ "name": "вај"
+ },
+ "wae": {
+ "name": "валсер"
+ },
+ "cy": {
+ "name": "велшки"
+ },
+ "vi": {
+ "name": "виетнамски"
+ },
+ "vo": {
+ "name": "волапик"
+ },
+ "vun": {
+ "name": "вунџо"
+ },
+ "gl": {
+ "name": "галициски"
+ },
+ "lg": {
+ "name": "ганда"
+ },
+ "de": {
+ "name": "германски"
+ },
+ "de-AT": {
+ "name": "германски (Австрија)"
+ },
+ "de-CH": {
+ "name": "германски (Швајцарија)"
+ },
+ "hsb": {
+ "name": "горнолужички"
+ },
+ "ka": {
+ "name": "грузиски"
+ },
+ "el": {
+ "name": "грчки"
+ },
+ "guz": {
+ "name": "гуси"
+ },
+ "gu": {
+ "name": "гуџарати"
+ },
+ "da": {
+ "name": "дански"
+ },
+ "nds": {
+ "name": "долногермански"
+ },
+ "nds-NL": {
+ "name": "долногермански (Холандија)"
+ },
+ "dsb": {
+ "name": "долнолужички"
+ },
+ "dua": {
+ "name": "дуала"
+ },
+ "ee": {
+ "name": "еве"
+ },
+ "ewo": {
+ "name": "евондо"
+ },
+ "ebu": {
+ "name": "ембу"
+ },
+ "hy": {
+ "name": "ерменски"
+ },
+ "eo": {
+ "name": "есперанто"
+ },
+ "et": {
+ "name": "естонски"
+ },
+ "fy": {
+ "name": "западнофризиски"
+ },
+ "dje": {
+ "name": "зарма"
+ },
+ "zu": {
+ "name": "зулу"
+ },
+ "dz": {
+ "name": "ѕонгка"
+ },
+ "ig": {
+ "name": "игбо"
+ },
+ "smn": {
+ "name": "инари сами"
+ },
+ "id": {
+ "name": "индонезиски"
+ },
+ "ga": {
+ "name": "ирски"
+ },
+ "is": {
+ "name": "исландски"
+ },
+ "it": {
+ "name": "италијански"
+ },
+ "sah": {
+ "name": "јакутски"
+ },
+ "ja": {
+ "name": "јапонски"
+ },
+ "yav": {
+ "name": "јенгбен"
+ },
+ "yi": {
+ "name": "јидиш"
+ },
+ "dyo": {
+ "name": "јола-фоњи"
+ },
+ "yo": {
+ "name": "јорупски"
+ },
+ "kab": {
+ "name": "кабилски"
+ },
+ "kea": {
+ "name": "кабувердиану"
+ },
+ "kk": {
+ "name": "казашки"
+ },
+ "kkj": {
+ "name": "како"
+ },
+ "kl": {
+ "name": "калалисут"
+ },
+ "kln": {
+ "name": "каленџин"
+ },
+ "kam": {
+ "name": "камба"
+ },
+ "en-CA": {
+ "name": "канадски англиски"
+ },
+ "fr-CA": {
+ "name": "канадски француски"
+ },
+ "kn": {
+ "name": "каннада"
+ },
+ "yue": {
+ "name": "кантонски"
+ },
+ "ca": {
+ "name": "каталонски"
+ },
+ "ks": {
+ "name": "кашмирски"
+ },
+ "nmg": {
+ "name": "квазио"
+ },
+ "qu": {
+ "name": "кечуански"
+ },
+ "ki": {
+ "name": "кикују"
+ },
+ "zh": {
+ "name": "кинески"
+ },
+ "ky": {
+ "name": "киргиски"
+ },
+ "km": {
+ "name": "кмерски"
+ },
+ "khq": {
+ "name": "којра чиини"
+ },
+ "ses": {
+ "name": "којраборо сени"
+ },
+ "ksh": {
+ "name": "колоњски"
+ },
+ "sw-CD": {
+ "name": "конгоански свахили"
+ },
+ "kok": {
+ "name": "конкани"
+ },
+ "ko": {
+ "name": "корејски"
+ },
+ "kw": {
+ "name": "корнски"
+ },
+ "lkt": {
+ "name": "лакотски"
+ },
+ "lag": {
+ "name": "ланги"
+ },
+ "lo": {
+ "name": "лаошки"
+ },
+ "lv": {
+ "name": "латвиски"
+ },
+ "ln": {
+ "name": "лингала"
+ },
+ "lt": {
+ "name": "литвански"
+ },
+ "lu": {
+ "name": "луба-катанга"
+ },
+ "luy": {
+ "name": "луја"
+ },
+ "lb": {
+ "name": "луксембуршки"
+ },
+ "luo": {
+ "name": "луо"
+ },
+ "mzn": {
+ "name": "мазендерански"
+ },
+ "mk": {
+ "name": "македонски"
+ },
+ "kde": {
+ "name": "маконде"
+ },
+ "mgh": {
+ "name": "макува-мито"
+ },
+ "ml": {
+ "name": "малајамски"
+ },
+ "ms": {
+ "name": "малајски"
+ },
+ "mg": {
+ "name": "малгашки"
+ },
+ "mt": {
+ "name": "малтешки"
+ },
+ "gv": {
+ "name": "манкс"
+ },
+ "mr": {
+ "name": "марати"
+ },
+ "mas": {
+ "name": "масајски"
+ },
+ "jmc": {
+ "name": "мачаме"
+ },
+ "mer": {
+ "name": "меру"
+ },
+ "mgo": {
+ "name": "мета"
+ },
+ "ro-MD": {
+ "name": "молдавски"
+ },
+ "mn": {
+ "name": "монголски"
+ },
+ "mfe": {
+ "name": "морисјен"
+ },
+ "mua": {
+ "name": "мунданг"
+ },
+ "naq": {
+ "name": "нама"
+ },
+ "nnh": {
+ "name": "нгиембун"
+ },
+ "jgo": {
+ "name": "нгомба"
+ },
+ "ne": {
+ "name": "непалски"
+ },
+ "nb": {
+ "name": "норвешки букмол"
+ },
+ "nn": {
+ "name": "норвешки нинорск"
+ },
+ "nus": {
+ "name": "нуер"
+ },
+ "nyn": {
+ "name": "њанколе"
+ },
+ "or": {
+ "name": "одија"
+ },
+ "om": {
+ "name": "оромо"
+ },
+ "os": {
+ "name": "осетски"
+ },
+ "ps": {
+ "name": "паштунски"
+ },
+ "pa": {
+ "name": "пенџапски"
+ },
+ "fa": {
+ "name": "персиски"
+ },
+ "zh-Hans": {
+ "name": "поедноставен кинески"
+ },
+ "pl": {
+ "name": "полски"
+ },
+ "pt": {
+ "name": "португалски"
+ },
+ "pt-PT": {
+ "name": "португалски (во Европа)"
+ },
+ "prg": {
+ "name": "пруски"
+ },
+ "rm": {
+ "name": "реторомански"
+ },
+ "ro": {
+ "name": "романски"
+ },
+ "rof": {
+ "name": "ромбо"
+ },
+ "rwk": {
+ "name": "руа"
+ },
+ "rw": {
+ "name": "руандски"
+ },
+ "rn": {
+ "name": "рунди"
+ },
+ "ru": {
+ "name": "руски"
+ },
+ "saq": {
+ "name": "самбуру"
+ },
+ "sg": {
+ "name": "санго"
+ },
+ "sbp": {
+ "name": "сангу"
+ },
+ "sw": {
+ "name": "свахили"
+ },
+ "nd": {
+ "name": "северен ндебеле"
+ },
+ "se": {
+ "name": "северен сами"
+ },
+ "lrc": {
+ "name": "севернолуриски"
+ },
+ "seh": {
+ "name": "сена"
+ },
+ "si": {
+ "name": "синхалски"
+ },
+ "ii": {
+ "name": "сичуан ји"
+ },
+ "sk": {
+ "name": "словачки"
+ },
+ "sl": {
+ "name": "словенечки"
+ },
+ "xog": {
+ "name": "сога"
+ },
+ "so": {
+ "name": "сомалиски"
+ },
+ "sr": {
+ "name": "српски"
+ },
+ "zgh": {
+ "name": "стандарден марокански тамазитски"
+ },
+ "twq": {
+ "name": "тазавак"
+ },
+ "dav": {
+ "name": "таита"
+ },
+ "th": {
+ "name": "тајландски"
+ },
+ "ta": {
+ "name": "тамилски"
+ },
+ "shi": {
+ "name": "тачелхит"
+ },
+ "te": {
+ "name": "телугу"
+ },
+ "teo": {
+ "name": "тесо"
+ },
+ "bo": {
+ "name": "тибетски"
+ },
+ "ti": {
+ "name": "тигриња"
+ },
+ "to": {
+ "name": "тонгајски"
+ },
+ "zh-Hant": {
+ "name": "традиционален кинески"
+ },
+ "tk": {
+ "name": "туркменски"
+ },
+ "tr": {
+ "name": "турски"
+ },
+ "uz": {
+ "name": "узбечки"
+ },
+ "ug": {
+ "name": "ујгурски"
+ },
+ "uk": {
+ "name": "украински"
+ },
+ "hu": {
+ "name": "унгарски"
+ },
+ "ur": {
+ "name": "урду"
+ },
+ "fo": {
+ "name": "фарски"
+ },
+ "fil": {
+ "name": "филипински"
+ },
+ "fi": {
+ "name": "фински"
+ },
+ "nl-BE": {
+ "name": "фламански"
+ },
+ "fr": {
+ "name": "француски"
+ },
+ "ff": {
+ "name": "фула"
+ },
+ "fur": {
+ "name": "фурлански"
+ },
+ "haw": {
+ "name": "хавајски"
+ },
+ "ha": {
+ "name": "хауса"
+ },
+ "he": {
+ "name": "хебрејски"
+ },
+ "hi": {
+ "name": "хинди"
+ },
+ "nl": {
+ "name": "холандски"
+ },
+ "hr": {
+ "name": "хрватски"
+ },
+ "tzm": {
+ "name": "централноатлански тамазитски"
+ },
+ "ckb": {
+ "name": "централнокурдски"
+ },
+ "cu": {
+ "name": "црковнословенски"
+ },
+ "chr": {
+ "name": "черокиски"
+ },
+ "ce": {
+ "name": "чеченски"
+ },
+ "cs": {
+ "name": "чешки"
+ },
+ "cgg": {
+ "name": "чига"
+ },
+ "ksb": {
+ "name": "шамбала"
+ },
+ "gsw": {
+ "name": "швајцарски германски"
+ },
+ "fr-CH": {
+ "name": "швајцарски француски"
+ },
+ "sv": {
+ "name": "шведски"
+ },
+ "gd": {
+ "name": "шкотски гелски"
+ },
+ "sn": {
+ "name": "шона"
+ },
+ "es": {
+ "name": "шпански"
+ },
+ "es-MX": {
+ "name": "шпански (Мексико)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/ml.json b/vendor/commerceguys/intl/resources/language/ml.json
new file mode 100644
index 000000000..0c81989bb
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/ml.json
@@ -0,0 +1,635 @@
+{
+ "ak": {
+ "name": "അകാൻ‌"
+ },
+ "hsb": {
+ "name": "അപ്പർ സോർബിയൻ"
+ },
+ "am": {
+ "name": "അംഹാരിക്"
+ },
+ "hy": {
+ "name": "അർമേനിയൻ"
+ },
+ "sq": {
+ "name": "അൽബേനിയൻ"
+ },
+ "az": {
+ "name": "അസർബൈജാനി"
+ },
+ "ar": {
+ "name": "അറബിക്"
+ },
+ "agq": {
+ "name": "ആഘേം"
+ },
+ "af": {
+ "name": "ആഫ്രിക്കാൻസ്"
+ },
+ "asa": {
+ "name": "ആസു"
+ },
+ "as": {
+ "name": "ആസ്സാമീസ്"
+ },
+ "ig": {
+ "name": "ഇഗ്ബോ"
+ },
+ "smn": {
+ "name": "ഇനാരി സാമി"
+ },
+ "id": {
+ "name": "ഇൻഡോനേഷ്യൻ"
+ },
+ "en": {
+ "name": "ഇംഗ്ലീഷ്"
+ },
+ "it": {
+ "name": "ഇറ്റാലിയൻ"
+ },
+ "uk": {
+ "name": "ഉക്രേനിയൻ"
+ },
+ "ug": {
+ "name": "ഉയ്ഘുർ"
+ },
+ "uz": {
+ "name": "ഉസ്‌ബെക്ക്"
+ },
+ "ur": {
+ "name": "ഉറുദു"
+ },
+ "ebu": {
+ "name": "എംബു"
+ },
+ "ewo": {
+ "name": "എവോൻഡോ"
+ },
+ "eo": {
+ "name": "എസ്‌പരാന്റോ"
+ },
+ "et": {
+ "name": "എസ്റ്റോണിയൻ"
+ },
+ "is": {
+ "name": "ഐസ്‌ലാൻഡിക്"
+ },
+ "ga": {
+ "name": "ഐറിഷ്"
+ },
+ "or": {
+ "name": "ഒഡിയ"
+ },
+ "os": {
+ "name": "ഒസ്സെറ്റിക്"
+ },
+ "om": {
+ "name": "ഒറോമോ"
+ },
+ "ast": {
+ "name": "ഓസ്‌ട്രിയൻ"
+ },
+ "de-AT": {
+ "name": "ഓസ്‌ട്രിയൻ ജർമൻ"
+ },
+ "en-AU": {
+ "name": "ഓസ്‌ട്രേലിയൻ ഇംഗ്ലീഷ്"
+ },
+ "en-CA": {
+ "name": "കനേഡിയൻ ഇംഗ്ലീഷ്"
+ },
+ "fr-CA": {
+ "name": "കനേഡിയൻ ഫ്രഞ്ച്"
+ },
+ "kn": {
+ "name": "കന്നഡ"
+ },
+ "kea": {
+ "name": "കബുവെർദിയാനു"
+ },
+ "kab": {
+ "name": "കബൈൽ"
+ },
+ "kam": {
+ "name": "കംബ"
+ },
+ "kl": {
+ "name": "കലാല്ലിസട്ട്"
+ },
+ "kln": {
+ "name": "കലെഞ്ഞിൻ"
+ },
+ "kk": {
+ "name": "കസാഖ്"
+ },
+ "ca": {
+ "name": "കറ്റാലാൻ"
+ },
+ "kkj": {
+ "name": "കാകോ"
+ },
+ "yue": {
+ "name": "കാന്റണീസ്"
+ },
+ "ks": {
+ "name": "കാശ്‌മീരി"
+ },
+ "ki": {
+ "name": "കികൂയു"
+ },
+ "rw": {
+ "name": "കിന്യാർവാണ്ട"
+ },
+ "ky": {
+ "name": "കിർഗിസ്"
+ },
+ "kok": {
+ "name": "കൊങ്കണി"
+ },
+ "khq": {
+ "name": "കൊയ്റ ചീനി"
+ },
+ "ses": {
+ "name": "കൊയ്റാബൊറോ സെന്നി"
+ },
+ "ksh": {
+ "name": "കൊളോണിയൻ"
+ },
+ "ko": {
+ "name": "കൊറിയൻ"
+ },
+ "sw-CD": {
+ "name": "കോംഗോ സ്വാഹിലി"
+ },
+ "kw": {
+ "name": "കോർണിഷ്"
+ },
+ "hr": {
+ "name": "ക്രൊയേഷ്യൻ"
+ },
+ "nmg": {
+ "name": "ക്വാസിയോ"
+ },
+ "qu": {
+ "name": "ക്വെച്ചുവ"
+ },
+ "km": {
+ "name": "ഖമെർ"
+ },
+ "gl": {
+ "name": "ഗലീഷ്യൻ"
+ },
+ "lg": {
+ "name": "ഗാണ്ട"
+ },
+ "nnh": {
+ "name": "ഗീംബൂൺ"
+ },
+ "gu": {
+ "name": "ഗുജറാത്തി"
+ },
+ "guz": {
+ "name": "ഗുസീ"
+ },
+ "jgo": {
+ "name": "ഗോമ്പ"
+ },
+ "el": {
+ "name": "ഗ്രീക്ക്"
+ },
+ "cu": {
+ "name": "ചർച്ച് സ്ലാവിക്"
+ },
+ "cgg": {
+ "name": "ചിഗ"
+ },
+ "cs": {
+ "name": "ചെക്ക്"
+ },
+ "ce": {
+ "name": "ചെചൻ"
+ },
+ "zh": {
+ "name": "ചൈനീസ്"
+ },
+ "de": {
+ "name": "ജർമ്മൻ"
+ },
+ "ja": {
+ "name": "ജാപ്പനീസ്"
+ },
+ "ka": {
+ "name": "ജോർജിയൻ"
+ },
+ "tr": {
+ "name": "ടർക്കിഷ്"
+ },
+ "twq": {
+ "name": "ടസവാക്ക്"
+ },
+ "bo": {
+ "name": "ടിബറ്റൻ"
+ },
+ "teo": {
+ "name": "ടെസോ"
+ },
+ "ti": {
+ "name": "ടൈഗ്രിന്യ"
+ },
+ "to": {
+ "name": "ടോംഗൻ"
+ },
+ "nl": {
+ "name": "ഡച്ച്"
+ },
+ "da": {
+ "name": "ഡാനിഷ്"
+ },
+ "ta": {
+ "name": "തമിഴ്"
+ },
+ "shi": {
+ "name": "താച്ചലിറ്റ്"
+ },
+ "th": {
+ "name": "തായ്"
+ },
+ "tk": {
+ "name": "തുർക്‌മെൻ"
+ },
+ "te": {
+ "name": "തെലുങ്ക്"
+ },
+ "dav": {
+ "name": "തൈത"
+ },
+ "dua": {
+ "name": "ദ്വാല"
+ },
+ "naq": {
+ "name": "നാമ"
+ },
+ "nus": {
+ "name": "നുവേർ"
+ },
+ "ne": {
+ "name": "നേപ്പാളി"
+ },
+ "nd": {
+ "name": "നോർത്ത് ഡെബിൾ"
+ },
+ "nn": {
+ "name": "നോർവീജിയൻ നൈനോർക്‌സ്"
+ },
+ "nb": {
+ "name": "നോർവീജിയൻ ബുക്‌മൽ"
+ },
+ "nyn": {
+ "name": "ന്യാൻകോൾ"
+ },
+ "pa": {
+ "name": "പഞ്ചാബി"
+ },
+ "zh-Hant": {
+ "name": "പരമ്പരാഗത ചൈനീസ്"
+ },
+ "fy": {
+ "name": "പശ്ചിമ ഫ്രിഷിയൻ"
+ },
+ "ps": {
+ "name": "പഷ്‌തോ"
+ },
+ "fa": {
+ "name": "പേർഷ്യൻ"
+ },
+ "pt": {
+ "name": "പോർച്ചുഗീസ്"
+ },
+ "pl": {
+ "name": "പോളിഷ്"
+ },
+ "prg": {
+ "name": "പ്രഷ്യൻ"
+ },
+ "fo": {
+ "name": "ഫാറോസ്"
+ },
+ "fi": {
+ "name": "ഫിന്നിഷ്"
+ },
+ "fil": {
+ "name": "ഫിലിപ്പിനോ"
+ },
+ "ff": {
+ "name": "ഫുല"
+ },
+ "fr": {
+ "name": "ഫ്രഞ്ച്"
+ },
+ "fur": {
+ "name": "ഫ്രിയുലിയാൻ"
+ },
+ "nl-BE": {
+ "name": "ഫ്ലമിഷ്"
+ },
+ "bn": {
+ "name": "ബംഗാളി"
+ },
+ "bm": {
+ "name": "ബംബാറ"
+ },
+ "my": {
+ "name": "ബർമീസ്"
+ },
+ "bas": {
+ "name": "ബസ"
+ },
+ "bg": {
+ "name": "ബൾഗേറിയൻ"
+ },
+ "ksf": {
+ "name": "ബാഫിയ"
+ },
+ "eu": {
+ "name": "ബാസ്‌ക്"
+ },
+ "bez": {
+ "name": "ബെനാ"
+ },
+ "be": {
+ "name": "ബെലാറുഷ്യൻ"
+ },
+ "bem": {
+ "name": "ബേംബ"
+ },
+ "brx": {
+ "name": "ബോഡോ"
+ },
+ "bs": {
+ "name": "ബോസ്നിയൻ"
+ },
+ "en-GB": {
+ "name": "ബ്രിട്ടീഷ് ഇംഗ്ലീഷ്"
+ },
+ "br": {
+ "name": "ബ്രെട്ടൺ"
+ },
+ "kde": {
+ "name": "മക്കോണ്ടെ"
+ },
+ "jmc": {
+ "name": "മചേം"
+ },
+ "tzm": {
+ "name": "മധ്യ അറ്റ്‌ലസ് ടമാസൈറ്റ്"
+ },
+ "mn": {
+ "name": "മംഗോളിയൻ"
+ },
+ "mg": {
+ "name": "മലഗാസി"
+ },
+ "ml": {
+ "name": "മലയാളം"
+ },
+ "ms": {
+ "name": "മലെയ്"
+ },
+ "mzn": {
+ "name": "മസന്ററാനി"
+ },
+ "mas": {
+ "name": "മസായ്"
+ },
+ "mr": {
+ "name": "മറാത്തി"
+ },
+ "mgh": {
+ "name": "മാഖുവാ-മീത്തോ"
+ },
+ "gv": {
+ "name": "മാൻസ്"
+ },
+ "mk": {
+ "name": "മാസിഡോണിയൻ"
+ },
+ "mt": {
+ "name": "മാൾട്ടീസ്"
+ },
+ "mua": {
+ "name": "മുന്ദാംഗ്"
+ },
+ "es-MX": {
+ "name": "മെക്സിക്കൻ സ്പാനിഷ്"
+ },
+ "mgo": {
+ "name": "മേത്താ"
+ },
+ "mer": {
+ "name": "മേരു"
+ },
+ "mfe": {
+ "name": "മൊറിസിൻ"
+ },
+ "ro-MD": {
+ "name": "മോൾഡാവിയൻ"
+ },
+ "yav": {
+ "name": "യാംഗ്ബെൻ"
+ },
+ "yi": {
+ "name": "യിദ്ദിഷ്"
+ },
+ "ee": {
+ "name": "യൂവ്"
+ },
+ "pt-PT": {
+ "name": "യൂറോപ്യൻ പോർച്ചുഗീസ്"
+ },
+ "yo": {
+ "name": "യൊറൂബാ"
+ },
+ "dyo": {
+ "name": "യോല-ഫോന്യി"
+ },
+ "lb": {
+ "name": "ലക്‌സംബർഗിഷ്"
+ },
+ "lkt": {
+ "name": "ലഗോത്ത"
+ },
+ "zh-Hans": {
+ "name": "ലളിതമാക്കിയ ചൈനീസ്"
+ },
+ "lag": {
+ "name": "ലാംഗി"
+ },
+ "lo": {
+ "name": "ലാവോ"
+ },
+ "lv": {
+ "name": "ലാറ്റ്വിയൻ"
+ },
+ "lt": {
+ "name": "ലിത്വാനിയൻ"
+ },
+ "ln": {
+ "name": "ലിംഗാല"
+ },
+ "lu": {
+ "name": "ലുബ-കറ്റംഗ"
+ },
+ "luy": {
+ "name": "ലുയിയ"
+ },
+ "luo": {
+ "name": "ലുവോ"
+ },
+ "nds": {
+ "name": "ലോ ജർമൻ"
+ },
+ "nds-NL": {
+ "name": "ലോ സാക്സൺ"
+ },
+ "dsb": {
+ "name": "ലോവർ സോർബിയൻ"
+ },
+ "lrc": {
+ "name": "വടക്കൻ ലൂറി"
+ },
+ "se": {
+ "name": "വടക്കൻ സമി"
+ },
+ "wae": {
+ "name": "വാൾസർ"
+ },
+ "vi": {
+ "name": "വിയറ്റ്നാമീസ്"
+ },
+ "vun": {
+ "name": "വുൻജോ"
+ },
+ "cy": {
+ "name": "വെൽഷ്"
+ },
+ "vai": {
+ "name": "വൈ"
+ },
+ "vo": {
+ "name": "വോളാപുക്"
+ },
+ "ksb": {
+ "name": "ഷംഭാള"
+ },
+ "ii": {
+ "name": "ഷുവാൻയി"
+ },
+ "chr": {
+ "name": "ഷെരോക്കി"
+ },
+ "sn": {
+ "name": "ഷോണ"
+ },
+ "sbp": {
+ "name": "സംഗു"
+ },
+ "saq": {
+ "name": "സംബുരു"
+ },
+ "sah": {
+ "name": "സാഖ"
+ },
+ "sg": {
+ "name": "സാംഗോ"
+ },
+ "dje": {
+ "name": "സാർമ്മ"
+ },
+ "si": {
+ "name": "സിംഹള"
+ },
+ "zu": {
+ "name": "സുലു"
+ },
+ "sr": {
+ "name": "സെർബിയൻ"
+ },
+ "seh": {
+ "name": "സേന"
+ },
+ "ckb": {
+ "name": "സൊറാനി കുർദിഷ്"
+ },
+ "xog": {
+ "name": "സോഗോ"
+ },
+ "dz": {
+ "name": "സോങ്ക"
+ },
+ "so": {
+ "name": "സോമാലി"
+ },
+ "gd": {
+ "name": "സ്കോട്ടിഷ് ഗൈലിക്"
+ },
+ "es": {
+ "name": "സ്‌പാനിഷ്"
+ },
+ "sk": {
+ "name": "സ്ലോവാക്"
+ },
+ "sl": {
+ "name": "സ്ലോവേനിയൻ"
+ },
+ "sw": {
+ "name": "സ്വാഹിലി"
+ },
+ "gsw": {
+ "name": "സ്വിസ് ജർമ്മൻ"
+ },
+ "fr-CH": {
+ "name": "സ്വിസ് ഫ്രഞ്ച്"
+ },
+ "de-CH": {
+ "name": "സ്വിസ് ഹൈ ജർമൻ"
+ },
+ "sv": {
+ "name": "സ്വീഡിഷ്"
+ },
+ "zgh": {
+ "name": "സ്റ്റാൻഡേർഡ് മൊറോക്കൻ റ്റാമസിയറ്റ്"
+ },
+ "hu": {
+ "name": "ഹംഗേറിയൻ"
+ },
+ "haw": {
+ "name": "ഹവായിയൻ"
+ },
+ "hi": {
+ "name": "ഹിന്ദി"
+ },
+ "he": {
+ "name": "ഹീബ്രു"
+ },
+ "ha": {
+ "name": "ഹൗസ"
+ },
+ "ru": {
+ "name": "റഷ്യൻ"
+ },
+ "rn": {
+ "name": "റുണ്ടി"
+ },
+ "rwk": {
+ "name": "റുവാ"
+ },
+ "rm": {
+ "name": "റൊമാഞ്ച്"
+ },
+ "ro": {
+ "name": "റൊമാനിയൻ"
+ },
+ "rof": {
+ "name": "റോംബോ"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/mn.json b/vendor/commerceguys/intl/resources/language/mn.json
new file mode 100644
index 000000000..56ca4caac
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/mn.json
@@ -0,0 +1,632 @@
+{
+ "en-AU": {
+ "name": "австрали англи"
+ },
+ "de-AT": {
+ "name": "австри герман"
+ },
+ "agq": {
+ "name": "агем"
+ },
+ "az": {
+ "name": "азербайжан"
+ },
+ "ak": {
+ "name": "акан"
+ },
+ "sq": {
+ "name": "албани"
+ },
+ "am": {
+ "name": "амхар"
+ },
+ "en": {
+ "name": "англи"
+ },
+ "ar": {
+ "name": "араб"
+ },
+ "hy": {
+ "name": "армен"
+ },
+ "as": {
+ "name": "ассам"
+ },
+ "ast": {
+ "name": "астури хэл"
+ },
+ "asa": {
+ "name": "асу"
+ },
+ "af": {
+ "name": "африк"
+ },
+ "nds-NL": {
+ "name": "бага саксон"
+ },
+ "ne": {
+ "name": "балба"
+ },
+ "bm": {
+ "name": "бамбара"
+ },
+ "fy": {
+ "name": "баруун фризын"
+ },
+ "bas": {
+ "name": "басаа хэл"
+ },
+ "eu": {
+ "name": "баск"
+ },
+ "ksf": {
+ "name": "бафиа"
+ },
+ "be": {
+ "name": "беларусь"
+ },
+ "bem": {
+ "name": "бемба"
+ },
+ "bez": {
+ "name": "бена"
+ },
+ "bn": {
+ "name": "бенгал"
+ },
+ "my": {
+ "name": "бирм"
+ },
+ "brx": {
+ "name": "бодо"
+ },
+ "bg": {
+ "name": "болгар"
+ },
+ "bs": {
+ "name": "босни"
+ },
+ "br": {
+ "name": "бретон"
+ },
+ "en-GB": {
+ "name": "британийн англи"
+ },
+ "vai": {
+ "name": "вай"
+ },
+ "vo": {
+ "name": "волапюк"
+ },
+ "vun": {
+ "name": "вунжо"
+ },
+ "vi": {
+ "name": "вьетнам"
+ },
+ "gl": {
+ "name": "галик"
+ },
+ "lg": {
+ "name": "ганда"
+ },
+ "de": {
+ "name": "герман"
+ },
+ "nl": {
+ "name": "голланд"
+ },
+ "el": {
+ "name": "грек"
+ },
+ "gu": {
+ "name": "гужарати"
+ },
+ "guz": {
+ "name": "гузы"
+ },
+ "ka": {
+ "name": "гүрж"
+ },
+ "da": {
+ "name": "дани"
+ },
+ "dua": {
+ "name": "дуала"
+ },
+ "hsb": {
+ "name": "дээд сорби"
+ },
+ "he": {
+ "name": "еврей"
+ },
+ "pt-PT": {
+ "name": "европын португаль"
+ },
+ "yo": {
+ "name": "ёруба"
+ },
+ "dyo": {
+ "name": "жола-фони"
+ },
+ "dz": {
+ "name": "жонха"
+ },
+ "dje": {
+ "name": "зарма"
+ },
+ "zu": {
+ "name": "зулу"
+ },
+ "ig": {
+ "name": "игбо"
+ },
+ "yi": {
+ "name": "иддиш"
+ },
+ "smn": {
+ "name": "инари сами"
+ },
+ "id": {
+ "name": "индонези"
+ },
+ "ga": {
+ "name": "ирланд"
+ },
+ "is": {
+ "name": "исланд"
+ },
+ "es": {
+ "name": "испани"
+ },
+ "it": {
+ "name": "итали"
+ },
+ "kab": {
+ "name": "кабиле"
+ },
+ "kea": {
+ "name": "кабүвердиану"
+ },
+ "kkj": {
+ "name": "како хэл"
+ },
+ "kl": {
+ "name": "калалисут"
+ },
+ "kln": {
+ "name": "каленжин"
+ },
+ "kam": {
+ "name": "камба"
+ },
+ "km": {
+ "name": "камбож"
+ },
+ "en-CA": {
+ "name": "канад англи"
+ },
+ "fr-CA": {
+ "name": "канад франц"
+ },
+ "kn": {
+ "name": "каннада"
+ },
+ "yue": {
+ "name": "кантон хэл"
+ },
+ "ca": {
+ "name": "каталан"
+ },
+ "ks": {
+ "name": "кашмир"
+ },
+ "nmg": {
+ "name": "квазио"
+ },
+ "ksh": {
+ "name": "кёльш хэл"
+ },
+ "ses": {
+ "name": "кёраборо сени"
+ },
+ "qu": {
+ "name": "кечуа"
+ },
+ "ki": {
+ "name": "кикуюү"
+ },
+ "rw": {
+ "name": "кинярванда"
+ },
+ "khq": {
+ "name": "койра чини"
+ },
+ "sw-CD": {
+ "name": "конго свахили"
+ },
+ "kok": {
+ "name": "конкани"
+ },
+ "kw": {
+ "name": "корны"
+ },
+ "ky": {
+ "name": "кыргыз"
+ },
+ "lkt": {
+ "name": "лакота"
+ },
+ "lag": {
+ "name": "ланги"
+ },
+ "lo": {
+ "name": "лаос"
+ },
+ "lv": {
+ "name": "латви"
+ },
+ "ln": {
+ "name": "лингала"
+ },
+ "lt": {
+ "name": "литва"
+ },
+ "dsb": {
+ "name": "ловер-сорби"
+ },
+ "lu": {
+ "name": "луба-катанга"
+ },
+ "luo": {
+ "name": "луо"
+ },
+ "luy": {
+ "name": "луяа"
+ },
+ "lb": {
+ "name": "люксембург"
+ },
+ "mzn": {
+ "name": "мазандерани"
+ },
+ "mk": {
+ "name": "македон"
+ },
+ "kde": {
+ "name": "маконде"
+ },
+ "mgh": {
+ "name": "макува-мито"
+ },
+ "mg": {
+ "name": "малагаси"
+ },
+ "ms": {
+ "name": "малай"
+ },
+ "ml": {
+ "name": "малайлам"
+ },
+ "mt": {
+ "name": "малти"
+ },
+ "gv": {
+ "name": "манкс"
+ },
+ "mr": {
+ "name": "марати"
+ },
+ "mas": {
+ "name": "масай"
+ },
+ "jmc": {
+ "name": "мачамэ"
+ },
+ "es-MX": {
+ "name": "мексикийн испани"
+ },
+ "mer": {
+ "name": "меру"
+ },
+ "mgo": {
+ "name": "мета"
+ },
+ "ro-MD": {
+ "name": "молдав"
+ },
+ "mn": {
+ "name": "монгол"
+ },
+ "mfe": {
+ "name": "морисен"
+ },
+ "mua": {
+ "name": "мунданг"
+ },
+ "naq": {
+ "name": "нама"
+ },
+ "nnh": {
+ "name": "нгиембүүн"
+ },
+ "jgo": {
+ "name": "нгомба"
+ },
+ "nb": {
+ "name": "норвегийн букмол"
+ },
+ "nn": {
+ "name": "норвегийн нинорск"
+ },
+ "nus": {
+ "name": "нуер"
+ },
+ "nyn": {
+ "name": "нянколе"
+ },
+ "or": {
+ "name": "ория"
+ },
+ "om": {
+ "name": "оромо"
+ },
+ "ru": {
+ "name": "орос"
+ },
+ "os": {
+ "name": "оссетийн"
+ },
+ "pa": {
+ "name": "панжаб"
+ },
+ "ps": {
+ "name": "пашто"
+ },
+ "fa": {
+ "name": "перс"
+ },
+ "pl": {
+ "name": "польш"
+ },
+ "pt": {
+ "name": "португаль"
+ },
+ "prg": {
+ "name": "пруссийн"
+ },
+ "rwk": {
+ "name": "рва"
+ },
+ "rm": {
+ "name": "романш"
+ },
+ "rof": {
+ "name": "ромбо"
+ },
+ "ro": {
+ "name": "румын"
+ },
+ "rn": {
+ "name": "рунди"
+ },
+ "saq": {
+ "name": "самбүрү"
+ },
+ "sg": {
+ "name": "санго"
+ },
+ "sbp": {
+ "name": "сангү"
+ },
+ "sah": {
+ "name": "саха"
+ },
+ "sw": {
+ "name": "свахили"
+ },
+ "seh": {
+ "name": "сена"
+ },
+ "sr": {
+ "name": "серб"
+ },
+ "si": {
+ "name": "синхала"
+ },
+ "sk": {
+ "name": "словак"
+ },
+ "sl": {
+ "name": "словени"
+ },
+ "xog": {
+ "name": "сога"
+ },
+ "ko": {
+ "name": "солонгос"
+ },
+ "so": {
+ "name": "сомали"
+ },
+ "ckb": {
+ "name": "сорани күрд"
+ },
+ "cu": {
+ "name": "сүмийн славян хэл"
+ },
+ "ii": {
+ "name": "сычуань и"
+ },
+ "th": {
+ "name": "тай"
+ },
+ "dav": {
+ "name": "тайта"
+ },
+ "zgh": {
+ "name": "тамазит"
+ },
+ "ta": {
+ "name": "тамил"
+ },
+ "twq": {
+ "name": "тасавак"
+ },
+ "shi": {
+ "name": "тачелхит"
+ },
+ "ti": {
+ "name": "тигрина"
+ },
+ "to": {
+ "name": "тонга"
+ },
+ "tzm": {
+ "name": "төв атласын тамазайт"
+ },
+ "bo": {
+ "name": "төвд"
+ },
+ "tr": {
+ "name": "турк"
+ },
+ "tk": {
+ "name": "туркмен"
+ },
+ "te": {
+ "name": "тэлүгү"
+ },
+ "teo": {
+ "name": "тэсо"
+ },
+ "uz": {
+ "name": "узбек"
+ },
+ "ug": {
+ "name": "уйгар"
+ },
+ "uk": {
+ "name": "украин"
+ },
+ "zh-Hant": {
+ "name": "уламжлалт хятад"
+ },
+ "hu": {
+ "name": "унгар"
+ },
+ "wae": {
+ "name": "уолсэр"
+ },
+ "ur": {
+ "name": "урду"
+ },
+ "cy": {
+ "name": "уэльс"
+ },
+ "fo": {
+ "name": "фарер"
+ },
+ "fil": {
+ "name": "филиппин"
+ },
+ "fi": {
+ "name": "финлянд"
+ },
+ "nl-BE": {
+ "name": "фламанд"
+ },
+ "fr": {
+ "name": "франц"
+ },
+ "fur": {
+ "name": "фриулийн"
+ },
+ "ff": {
+ "name": "фула"
+ },
+ "haw": {
+ "name": "хавай"
+ },
+ "kk": {
+ "name": "хасаг"
+ },
+ "ha": {
+ "name": "хауса"
+ },
+ "hi": {
+ "name": "хинди"
+ },
+ "lrc": {
+ "name": "хойд лури"
+ },
+ "nd": {
+ "name": "хойд ндебеле"
+ },
+ "se": {
+ "name": "хойд сами"
+ },
+ "hr": {
+ "name": "хорват"
+ },
+ "zh-Hans": {
+ "name": "хялбаршуулсан хятад"
+ },
+ "zh": {
+ "name": "хятад"
+ },
+ "cs": {
+ "name": "чех"
+ },
+ "ce": {
+ "name": "чечень"
+ },
+ "cgg": {
+ "name": "чига"
+ },
+ "chr": {
+ "name": "чироки"
+ },
+ "ksb": {
+ "name": "шамбала"
+ },
+ "sv": {
+ "name": "швед"
+ },
+ "gsw": {
+ "name": "швейцари герман"
+ },
+ "de-CH": {
+ "name": "швейцари дээр герман"
+ },
+ "fr-CH": {
+ "name": "швейцари франц"
+ },
+ "sn": {
+ "name": "шона"
+ },
+ "gd": {
+ "name": "шотланд келт"
+ },
+ "ewo": {
+ "name": "эвондо"
+ },
+ "ee": {
+ "name": "эвэ"
+ },
+ "ebu": {
+ "name": "эмбу"
+ },
+ "eo": {
+ "name": "эсперанто"
+ },
+ "et": {
+ "name": "эстони"
+ },
+ "yav": {
+ "name": "янгбен"
+ },
+ "ja": {
+ "name": "япон"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/mr.json b/vendor/commerceguys/intl/resources/language/mr.json
new file mode 100644
index 000000000..50dd75a0d
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/mr.json
@@ -0,0 +1,635 @@
+{
+ "ak": {
+ "name": "अकान"
+ },
+ "agq": {
+ "name": "अघेम"
+ },
+ "az": {
+ "name": "अझरबैजानी"
+ },
+ "hsb": {
+ "name": "अप्पर सॉर्बियन"
+ },
+ "af": {
+ "name": "अफ्रिकान्स"
+ },
+ "am": {
+ "name": "अम्हारिक"
+ },
+ "ar": {
+ "name": "अरबी"
+ },
+ "sq": {
+ "name": "अल्बानियन"
+ },
+ "asa": {
+ "name": "असु"
+ },
+ "ast": {
+ "name": "अस्तुरियन"
+ },
+ "is": {
+ "name": "आईसलँडिक"
+ },
+ "ga": {
+ "name": "आयरिश"
+ },
+ "hy": {
+ "name": "आर्मेनियन"
+ },
+ "as": {
+ "name": "आसामी"
+ },
+ "en": {
+ "name": "इंग्रजी"
+ },
+ "id": {
+ "name": "इंडोनेशियन"
+ },
+ "it": {
+ "name": "इटालियन"
+ },
+ "smn": {
+ "name": "इनारी सामी"
+ },
+ "ewo": {
+ "name": "इवोन्डो"
+ },
+ "et": {
+ "name": "इस्टोनियन"
+ },
+ "ig": {
+ "name": "ईग्बो"
+ },
+ "ug": {
+ "name": "उइगुर"
+ },
+ "uz": {
+ "name": "उझ्बेक"
+ },
+ "or": {
+ "name": "उडिया"
+ },
+ "nd": {
+ "name": "उत्तर देबेली"
+ },
+ "lrc": {
+ "name": "उत्तरी ल्युरी"
+ },
+ "se": {
+ "name": "उत्तरी सामी"
+ },
+ "ur": {
+ "name": "उर्दू"
+ },
+ "ebu": {
+ "name": "एम्बू"
+ },
+ "ee": {
+ "name": "एवे"
+ },
+ "eo": {
+ "name": "एस्परान्टो"
+ },
+ "de-AT": {
+ "name": "ऑस्ट्रियन जर्मन"
+ },
+ "en-AU": {
+ "name": "ऑस्ट्रेलियन इंग्रजी"
+ },
+ "om": {
+ "name": "ओरोमो"
+ },
+ "vo": {
+ "name": "ओलापुक"
+ },
+ "os": {
+ "name": "ओस्सेटिक"
+ },
+ "yue": {
+ "name": "कँटोनीज"
+ },
+ "kk": {
+ "name": "कझाक"
+ },
+ "kn": {
+ "name": "कन्नड"
+ },
+ "kab": {
+ "name": "कबाइल"
+ },
+ "kl": {
+ "name": "कलाल्लिसत"
+ },
+ "sw-CD": {
+ "name": "काँगो स्वाहिली"
+ },
+ "kkj": {
+ "name": "काको"
+ },
+ "ca": {
+ "name": "कातालान"
+ },
+ "kea": {
+ "name": "काबवर्दियानु"
+ },
+ "kam": {
+ "name": "काम्बा"
+ },
+ "kln": {
+ "name": "कालेंजीन"
+ },
+ "ks": {
+ "name": "काश्मीरी"
+ },
+ "ki": {
+ "name": "किकुयू"
+ },
+ "cgg": {
+ "name": "किगा"
+ },
+ "rw": {
+ "name": "किन्यार्वान्डा"
+ },
+ "ky": {
+ "name": "किरगीझ"
+ },
+ "en-CA": {
+ "name": "कॅनडियन इंग्रजी"
+ },
+ "fr-CA": {
+ "name": "कॅनडियन फ्रेंच"
+ },
+ "kok": {
+ "name": "कोंकणी"
+ },
+ "khq": {
+ "name": "कोयरा चीनी"
+ },
+ "ses": {
+ "name": "कोयराबोरो सेन्नी"
+ },
+ "ko": {
+ "name": "कोरियन"
+ },
+ "kw": {
+ "name": "कोर्निश"
+ },
+ "ksh": {
+ "name": "कोलोग्नियन"
+ },
+ "hr": {
+ "name": "क्रोएशियन"
+ },
+ "nmg": {
+ "name": "क्वासिओ"
+ },
+ "qu": {
+ "name": "क्वेचुआ"
+ },
+ "km": {
+ "name": "ख्मेर"
+ },
+ "guz": {
+ "name": "गसी"
+ },
+ "lg": {
+ "name": "गांडा"
+ },
+ "gu": {
+ "name": "गुजराती"
+ },
+ "gl": {
+ "name": "गॅलिशियन"
+ },
+ "jgo": {
+ "name": "गोम्बा"
+ },
+ "el": {
+ "name": "ग्रीक"
+ },
+ "cu": {
+ "name": "चर्च स्लाव्हिक"
+ },
+ "zh": {
+ "name": "चीनी"
+ },
+ "ce": {
+ "name": "चेचेन"
+ },
+ "chr": {
+ "name": "चेरोकी"
+ },
+ "ja": {
+ "name": "जपानी"
+ },
+ "de": {
+ "name": "जर्मन"
+ },
+ "nnh": {
+ "name": "जिएम्बून"
+ },
+ "ka": {
+ "name": "जॉर्जियन"
+ },
+ "dyo": {
+ "name": "जोला-फोंयी"
+ },
+ "dje": {
+ "name": "झार्मा"
+ },
+ "zu": {
+ "name": "झुलू"
+ },
+ "cs": {
+ "name": "झेक"
+ },
+ "dz": {
+ "name": "झोंगखा"
+ },
+ "to": {
+ "name": "टोंगन"
+ },
+ "nl": {
+ "name": "डच"
+ },
+ "da": {
+ "name": "डॅनिश"
+ },
+ "ta": {
+ "name": "तामिळ"
+ },
+ "dav": {
+ "name": "तायता"
+ },
+ "shi": {
+ "name": "ताशेल्हिट"
+ },
+ "twq": {
+ "name": "तासाव्हाक"
+ },
+ "ti": {
+ "name": "तिग्रिन्या"
+ },
+ "bo": {
+ "name": "तिबेटी"
+ },
+ "tk": {
+ "name": "तुर्कमेन"
+ },
+ "tr": {
+ "name": "तुर्की"
+ },
+ "te": {
+ "name": "तेलगू"
+ },
+ "teo": {
+ "name": "तेसो"
+ },
+ "th": {
+ "name": "थाई"
+ },
+ "dua": {
+ "name": "दुआला"
+ },
+ "naq": {
+ "name": "नामा"
+ },
+ "nus": {
+ "name": "नुएर"
+ },
+ "ne": {
+ "name": "नेपाळी"
+ },
+ "nn": {
+ "name": "नॉर्वेजियन न्योर्स्क"
+ },
+ "nb": {
+ "name": "नॉर्वेजियन बोकमाल"
+ },
+ "nyn": {
+ "name": "न्यानकोल"
+ },
+ "pa": {
+ "name": "पंजाबी"
+ },
+ "fy": {
+ "name": "पश्चिमी फ्रिशियन"
+ },
+ "ps": {
+ "name": "पश्तो"
+ },
+ "zh-Hant": {
+ "name": "पारंपारिक चीनी"
+ },
+ "pt": {
+ "name": "पोर्तुगीज"
+ },
+ "pl": {
+ "name": "पोलिश"
+ },
+ "zgh": {
+ "name": "प्रमाण मोरोक्कन तॅमॅझायट"
+ },
+ "prg": {
+ "name": "प्रुशियन"
+ },
+ "fo": {
+ "name": "फरोइज"
+ },
+ "fa": {
+ "name": "फारसी"
+ },
+ "fi": {
+ "name": "फिन्निश"
+ },
+ "fil": {
+ "name": "फिलिपिनो"
+ },
+ "ff": {
+ "name": "फुलाह"
+ },
+ "fur": {
+ "name": "फ्रियुलियान"
+ },
+ "fr": {
+ "name": "फ्रेंच"
+ },
+ "nl-BE": {
+ "name": "फ्लेमिश"
+ },
+ "bn": {
+ "name": "बंगाली"
+ },
+ "my": {
+ "name": "बर्मी"
+ },
+ "bg": {
+ "name": "बल्गेरियन"
+ },
+ "bas": {
+ "name": "बसा"
+ },
+ "ksf": {
+ "name": "बाफिया"
+ },
+ "bm": {
+ "name": "बाम्बारा"
+ },
+ "eu": {
+ "name": "बास्क"
+ },
+ "bez": {
+ "name": "बेना"
+ },
+ "bem": {
+ "name": "बेम्बा"
+ },
+ "be": {
+ "name": "बेलारुशियन"
+ },
+ "brx": {
+ "name": "बोडो"
+ },
+ "bs": {
+ "name": "बोस्नियन"
+ },
+ "en-GB": {
+ "name": "ब्रिटिश इंग्रजी"
+ },
+ "br": {
+ "name": "ब्रेतॉन"
+ },
+ "mn": {
+ "name": "मंगोलियन"
+ },
+ "tzm": {
+ "name": "मध्य ऍटलास तॅमॅझायट"
+ },
+ "ckb": {
+ "name": "मध्य कुर्दिश"
+ },
+ "mr": {
+ "name": "मराठी"
+ },
+ "ms": {
+ "name": "मलय"
+ },
+ "mg": {
+ "name": "मलागसी"
+ },
+ "ml": {
+ "name": "मल्याळम"
+ },
+ "jmc": {
+ "name": "मशामे"
+ },
+ "mas": {
+ "name": "मसाई"
+ },
+ "gv": {
+ "name": "मांक्स"
+ },
+ "kde": {
+ "name": "माकोन्दे"
+ },
+ "mgh": {
+ "name": "माखुव्हा-मीट्टो"
+ },
+ "mzn": {
+ "name": "माझानदेरानी"
+ },
+ "mt": {
+ "name": "माल्टिज्"
+ },
+ "mgo": {
+ "name": "मीटा"
+ },
+ "mua": {
+ "name": "मुंडांग"
+ },
+ "mk": {
+ "name": "मॅसेडोनियन"
+ },
+ "es-MX": {
+ "name": "मेक्सिकन स्पॅनिश"
+ },
+ "mer": {
+ "name": "मेरू"
+ },
+ "mfe": {
+ "name": "मोरिस्येन"
+ },
+ "ro-MD": {
+ "name": "मोल्डाव्हियन"
+ },
+ "yav": {
+ "name": "यानगबेन"
+ },
+ "yi": {
+ "name": "यिद्दिश"
+ },
+ "uk": {
+ "name": "युक्रेनियन"
+ },
+ "pt-PT": {
+ "name": "युरोपियन पोर्तुगीज"
+ },
+ "yo": {
+ "name": "योरुबा"
+ },
+ "rwk": {
+ "name": "रव्हा"
+ },
+ "ru": {
+ "name": "रशियन"
+ },
+ "rn": {
+ "name": "रुन्दी"
+ },
+ "ro": {
+ "name": "रोमानियन"
+ },
+ "rm": {
+ "name": "रोमान्श"
+ },
+ "rof": {
+ "name": "रोम्बो"
+ },
+ "lb": {
+ "name": "लक्झेंबर्गिश"
+ },
+ "lag": {
+ "name": "लांगी"
+ },
+ "lo": {
+ "name": "लाओ"
+ },
+ "lkt": {
+ "name": "लाकोटा"
+ },
+ "lv": {
+ "name": "लात्व्हियन"
+ },
+ "ln": {
+ "name": "लिंगाला"
+ },
+ "lt": {
+ "name": "लिथुआनियन"
+ },
+ "nds": {
+ "name": "लो जर्मन"
+ },
+ "nds-NL": {
+ "name": "लो सॅक्सन"
+ },
+ "dsb": {
+ "name": "लोअर सोर्बियन"
+ },
+ "luy": {
+ "name": "ल्युइया"
+ },
+ "luo": {
+ "name": "ल्युओ"
+ },
+ "lu": {
+ "name": "ल्यूबा-कटांगा"
+ },
+ "vai": {
+ "name": "वाई"
+ },
+ "wae": {
+ "name": "वालसेर"
+ },
+ "vun": {
+ "name": "वुंजो"
+ },
+ "cy": {
+ "name": "वेल्श"
+ },
+ "vi": {
+ "name": "व्हिएतनामी"
+ },
+ "ksb": {
+ "name": "शांबाला"
+ },
+ "sn": {
+ "name": "शोना"
+ },
+ "zh-Hans": {
+ "name": "सरलीकृत चीनी"
+ },
+ "sr": {
+ "name": "सर्बियन"
+ },
+ "sbp": {
+ "name": "सांगु"
+ },
+ "sg": {
+ "name": "सांगो"
+ },
+ "saq": {
+ "name": "सांबुरू"
+ },
+ "sah": {
+ "name": "साखा"
+ },
+ "si": {
+ "name": "सिंहला"
+ },
+ "ii": {
+ "name": "सिचुआन यी"
+ },
+ "seh": {
+ "name": "सेना"
+ },
+ "xog": {
+ "name": "सोगा"
+ },
+ "so": {
+ "name": "सोमाली"
+ },
+ "gd": {
+ "name": "स्कॉट्स गेलिक"
+ },
+ "es": {
+ "name": "स्पॅनिश"
+ },
+ "sk": {
+ "name": "स्लोव्हाक"
+ },
+ "sl": {
+ "name": "स्लोव्हेनियन"
+ },
+ "sw": {
+ "name": "स्वाहिली"
+ },
+ "gsw": {
+ "name": "स्विस जर्मन"
+ },
+ "fr-CH": {
+ "name": "स्विस फ्रेंच"
+ },
+ "de-CH": {
+ "name": "स्विस हाय जर्मन"
+ },
+ "sv": {
+ "name": "स्वीडिश"
+ },
+ "hu": {
+ "name": "हंगेरियन"
+ },
+ "haw": {
+ "name": "हवाईयन"
+ },
+ "hi": {
+ "name": "हिंदी"
+ },
+ "he": {
+ "name": "हिब्रू"
+ },
+ "ha": {
+ "name": "हौसा"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/ms.json b/vendor/commerceguys/intl/resources/language/ms.json
new file mode 100644
index 000000000..bc1c12ef1
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/ms.json
@@ -0,0 +1,635 @@
+{
+ "af": {
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "ak": {
+ "name": "Akan"
+ },
+ "sq": {
+ "name": "Albania"
+ },
+ "am": {
+ "name": "Amharic"
+ },
+ "ar": {
+ "name": "Arab"
+ },
+ "hy": {
+ "name": "Armenia"
+ },
+ "as": {
+ "name": "Assam"
+ },
+ "ast": {
+ "name": "Asturia"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "az": {
+ "name": "Azerbaijan"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "ms": {
+ "name": "Bahasa Melayu"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "eu": {
+ "name": "Basque"
+ },
+ "nl": {
+ "name": "Belanda"
+ },
+ "be": {
+ "name": "Belarus"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "bn": {
+ "name": "Benggala"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "nb": {
+ "name": "Bokmål Norway"
+ },
+ "bs": {
+ "name": "Bosnia"
+ },
+ "br": {
+ "name": "Breton"
+ },
+ "bg": {
+ "name": "Bulgaria"
+ },
+ "my": {
+ "name": "Burma"
+ },
+ "ca": {
+ "name": "Catalonia"
+ },
+ "ce": {
+ "name": "Chechen"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "zh": {
+ "name": "Cina"
+ },
+ "zh-Hans": {
+ "name": "Cina Ringkas"
+ },
+ "zh-Hant": {
+ "name": "Cina Tradisional"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "sw-CD": {
+ "name": "Congo Swahili"
+ },
+ "kw": {
+ "name": "Cornish"
+ },
+ "hr": {
+ "name": "Croatia"
+ },
+ "cs": {
+ "name": "Czech"
+ },
+ "da": {
+ "name": "Denmark"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "dz": {
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "eo": {
+ "name": "Esperanto"
+ },
+ "et": {
+ "name": "Estonia"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fo": {
+ "name": "Faroe"
+ },
+ "fil": {
+ "name": "Filipina"
+ },
+ "fi": {
+ "name": "Finland"
+ },
+ "nl-BE": {
+ "name": "Flemish"
+ },
+ "fy": {
+ "name": "Frisian Barat"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "gl": {
+ "name": "Galicia"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "ka": {
+ "name": "Georgia"
+ },
+ "el": {
+ "name": "Greek"
+ },
+ "gu": {
+ "name": "Gujerat"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "ha": {
+ "name": "Hausa"
+ },
+ "haw": {
+ "name": "Hawaii"
+ },
+ "hi": {
+ "name": "Hindi"
+ },
+ "hu": {
+ "name": "Hungary"
+ },
+ "he": {
+ "name": "Ibrani"
+ },
+ "is": {
+ "name": "Iceland"
+ },
+ "ig": {
+ "name": "Igbo"
+ },
+ "smn": {
+ "name": "Inari Sami"
+ },
+ "id": {
+ "name": "Indonesia"
+ },
+ "en": {
+ "name": "Inggeris"
+ },
+ "en-AU": {
+ "name": "Inggeris Australia"
+ },
+ "en-GB": {
+ "name": "Inggeris British"
+ },
+ "en-CA": {
+ "name": "Inggeris Kanada"
+ },
+ "ga": {
+ "name": "Ireland"
+ },
+ "it": {
+ "name": "Itali"
+ },
+ "ja": {
+ "name": "Jepun"
+ },
+ "de": {
+ "name": "Jerman"
+ },
+ "de-AT": {
+ "name": "Jerman Austria"
+ },
+ "de-CH": {
+ "name": "Jerman Halus Switzerland"
+ },
+ "nds": {
+ "name": "Jerman Rendah"
+ },
+ "gsw": {
+ "name": "Jerman Switzerland"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabyle"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kl": {
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "kn": {
+ "name": "Kannada"
+ },
+ "yue": {
+ "name": "Kantonis"
+ },
+ "ks": {
+ "name": "Kashmir"
+ },
+ "kk": {
+ "name": "Kazakhstan"
+ },
+ "km": {
+ "name": "Khmer"
+ },
+ "ki": {
+ "name": "Kikuya"
+ },
+ "rw": {
+ "name": "Kinyarwanda"
+ },
+ "ky": {
+ "name": "Kirghiz"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "ko": {
+ "name": "Korea"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "ckb": {
+ "name": "Kurdi Sorani"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "Laos"
+ },
+ "lv": {
+ "name": "Latvia"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "lt": {
+ "name": "Lithuania"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lrc": {
+ "name": "Luri Utara"
+ },
+ "lb": {
+ "name": "Luxembourg"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "mk": {
+ "name": "Macedonia"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "mg": {
+ "name": "Malagasy"
+ },
+ "ml": {
+ "name": "Malayalam"
+ },
+ "mt": {
+ "name": "Malta"
+ },
+ "gv": {
+ "name": "Manx"
+ },
+ "mr": {
+ "name": "Marathi"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Meta’"
+ },
+ "ro-MD": {
+ "name": "Moldavia"
+ },
+ "mn": {
+ "name": "Mongolia"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nd": {
+ "name": "Ndebele Utara"
+ },
+ "ne": {
+ "name": "Nepal"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "nn": {
+ "name": "Nynorsk Norway"
+ },
+ "or": {
+ "name": "Oriya"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "os": {
+ "name": "Ossete"
+ },
+ "fa": {
+ "name": "Parsi"
+ },
+ "ps": {
+ "name": "Pashto"
+ },
+ "fr": {
+ "name": "Perancis"
+ },
+ "fr-CA": {
+ "name": "Perancis Kanada"
+ },
+ "fr-CH": {
+ "name": "Perancis Switzerland"
+ },
+ "pl": {
+ "name": "Poland"
+ },
+ "pt": {
+ "name": "Portugis"
+ },
+ "pt-PT": {
+ "name": "Portugis Eropah"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "pa": {
+ "name": "Punjabi"
+ },
+ "qu": {
+ "name": "Quechua"
+ },
+ "ro": {
+ "name": "Romania"
+ },
+ "rm": {
+ "name": "Romansh"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "rn": {
+ "name": "Rundi"
+ },
+ "ru": {
+ "name": "Rusia"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "sah": {
+ "name": "Sakha"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "se": {
+ "name": "Sami Utara"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "nds-NL": {
+ "name": "Saxon Rendah"
+ },
+ "gd": {
+ "name": "Scots Gaelic"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "es": {
+ "name": "Sepanyol"
+ },
+ "es-MX": {
+ "name": "Sepanyol Mexico"
+ },
+ "sr": {
+ "name": "Serbia"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "si": {
+ "name": "Sinhala"
+ },
+ "cu": {
+ "name": "Slavik Gereja"
+ },
+ "sk": {
+ "name": "Slovak"
+ },
+ "sl": {
+ "name": "Slovenia"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "so": {
+ "name": "Somali"
+ },
+ "hsb": {
+ "name": "Sorbian Atas"
+ },
+ "dsb": {
+ "name": "Sorbian Rendah"
+ },
+ "sw": {
+ "name": "Swahili"
+ },
+ "sv": {
+ "name": "Sweden"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "tzm": {
+ "name": "Tamazight Atlas Tengah"
+ },
+ "zgh": {
+ "name": "Tamazight Maghribi Standard"
+ },
+ "ta": {
+ "name": "Tamil"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "te": {
+ "name": "Telugu"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "th": {
+ "name": "Thai"
+ },
+ "bo": {
+ "name": "Tibet"
+ },
+ "ti": {
+ "name": "Tigrinya"
+ },
+ "to": {
+ "name": "Tonga"
+ },
+ "tr": {
+ "name": "Turki"
+ },
+ "tk": {
+ "name": "Turkmen"
+ },
+ "uk": {
+ "name": "Ukraine"
+ },
+ "ur": {
+ "name": "Urdu"
+ },
+ "ug": {
+ "name": "Uyghur"
+ },
+ "uz": {
+ "name": "Uzbekistan"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vi": {
+ "name": "Vietnam"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "cy": {
+ "name": "Wales"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "yi": {
+ "name": "Yiddish"
+ },
+ "yo": {
+ "name": "Yoruba"
+ },
+ "dje": {
+ "name": "Zarma"
+ },
+ "zu": {
+ "name": "Zulu"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/mt.json b/vendor/commerceguys/intl/resources/language/mt.json
new file mode 100644
index 000000000..c476b26d1
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/mt.json
@@ -0,0 +1,635 @@
+{
+ "af": {
+ "name": "Afrikans"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "ak": {
+ "name": "Akan"
+ },
+ "sq": {
+ "name": "Albaniż"
+ },
+ "am": {
+ "name": "Amhariku"
+ },
+ "hy": {
+ "name": "Armen"
+ },
+ "as": {
+ "name": "Assamiż"
+ },
+ "ast": {
+ "name": "Asturian"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "az": {
+ "name": "Ażerbajġani"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bas": {
+ "name": "Basa"
+ },
+ "eu": {
+ "name": "Bask"
+ },
+ "be": {
+ "name": "Belarussu"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "bn": {
+ "name": "Bengali"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "nb": {
+ "name": "Bokmal Norveġiż"
+ },
+ "bs": {
+ "name": "Bożnijaku"
+ },
+ "br": {
+ "name": "Breton"
+ },
+ "bg": {
+ "name": "Bulgaru"
+ },
+ "my": {
+ "name": "Burmiż"
+ },
+ "cs": {
+ "name": "Ċek"
+ },
+ "zh": {
+ "name": "Ċiniż"
+ },
+ "zh-Hans": {
+ "name": "Ċiniż Simplifikat"
+ },
+ "zh-Hant": {
+ "name": "Ċiniż Tradizzjonali"
+ },
+ "kea": {
+ "name": "Cape Verdjan"
+ },
+ "ce": {
+ "name": "Chechen"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "da": {
+ "name": "Daniż"
+ },
+ "dua": {
+ "name": "Dwala"
+ },
+ "dz": {
+ "name": "Dzongkha"
+ },
+ "he": {
+ "name": "Ebrajk"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "eo": {
+ "name": "Esperanto"
+ },
+ "et": {
+ "name": "Estonjan"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fo": {
+ "name": "Faroese"
+ },
+ "fil": {
+ "name": "Filippin"
+ },
+ "fi": {
+ "name": "Finlandiż"
+ },
+ "nl-BE": {
+ "name": "Fjamming"
+ },
+ "fr": {
+ "name": "Franċiż"
+ },
+ "fr-CA": {
+ "name": "Franċiż Kanadiż"
+ },
+ "fr-CH": {
+ "name": "Franċiż Żvizzeru"
+ },
+ "fur": {
+ "name": "Frijuljan"
+ },
+ "fy": {
+ "name": "Frisian tal-Punent"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "ja": {
+ "name": "Ġappuniż"
+ },
+ "de": {
+ "name": "Ġermaniż"
+ },
+ "de-AT": {
+ "name": "Ġermaniż Awstrijak"
+ },
+ "nds": {
+ "name": "Ġermaniż Komuni"
+ },
+ "gsw": {
+ "name": "Ġermaniż tal-Iżvizzera"
+ },
+ "de-CH": {
+ "name": "Ġermaniż Żvizzeru"
+ },
+ "ka": {
+ "name": "Ġorġjan"
+ },
+ "gl": {
+ "name": "Galiċjan"
+ },
+ "gd": {
+ "name": "Galliku Skoċċiż"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "el": {
+ "name": "Grieg"
+ },
+ "gu": {
+ "name": "Gujarati"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "ar": {
+ "name": "Għarbi"
+ },
+ "ha": {
+ "name": "Hausa"
+ },
+ "hi": {
+ "name": "Hindi"
+ },
+ "haw": {
+ "name": "Ħawajjan"
+ },
+ "ig": {
+ "name": "Igbo"
+ },
+ "smn": {
+ "name": "Inari Sami"
+ },
+ "id": {
+ "name": "Indoneżjan"
+ },
+ "en": {
+ "name": "Ingliż"
+ },
+ "en-AU": {
+ "name": "Ingliż Awstraljan"
+ },
+ "en-GB": {
+ "name": "Ingliż Brittaniku"
+ },
+ "en-CA": {
+ "name": "Ingliż Kanadiż"
+ },
+ "ga": {
+ "name": "Irlandiż"
+ },
+ "is": {
+ "name": "Iżlandiż"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kab": {
+ "name": "Kabuljan"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kl": {
+ "name": "Kalallisut"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "kn": {
+ "name": "Kannada"
+ },
+ "yue": {
+ "name": "Kantoniż"
+ },
+ "ks": {
+ "name": "Kashmiri"
+ },
+ "ca": {
+ "name": "Katalan"
+ },
+ "kk": {
+ "name": "Każak"
+ },
+ "km": {
+ "name": "Khmer"
+ },
+ "ki": {
+ "name": "Kikuju"
+ },
+ "rw": {
+ "name": "Kinjarwanda"
+ },
+ "ky": {
+ "name": "Kirgiż"
+ },
+ "ksh": {
+ "name": "Kolonjan"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "ko": {
+ "name": "Korean"
+ },
+ "kw": {
+ "name": "Korniku"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "hr": {
+ "name": "Kroat"
+ },
+ "ckb": {
+ "name": "Kurd Ċentrali"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "Laosjan"
+ },
+ "lv": {
+ "name": "Latvjan"
+ },
+ "ln": {
+ "name": "Lingaljan"
+ },
+ "lt": {
+ "name": "Litwan"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lrc": {
+ "name": "Luri tat-Tramuntana"
+ },
+ "lb": {
+ "name": "Lussemburgiż"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "mk": {
+ "name": "Maċedonjan"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "mg": {
+ "name": "Malagasy"
+ },
+ "ms": {
+ "name": "Malay"
+ },
+ "ml": {
+ "name": "Malayalam"
+ },
+ "mt": {
+ "name": "Malti"
+ },
+ "gv": {
+ "name": "Manx"
+ },
+ "mr": {
+ "name": "Marathi"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metà"
+ },
+ "ro-MD": {
+ "name": "Moldovan"
+ },
+ "mn": {
+ "name": "Mongoljan"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nd": {
+ "name": "Ndebeli tat-Tramuntana"
+ },
+ "ne": {
+ "name": "Nepaliż"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "nn": {
+ "name": "Ninorsk Norveġiż"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "or": {
+ "name": "Odia"
+ },
+ "nl": {
+ "name": "Olandiż"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "os": {
+ "name": "Ossettiku"
+ },
+ "ps": {
+ "name": "Pashto"
+ },
+ "fa": {
+ "name": "Persjan"
+ },
+ "pl": {
+ "name": "Pollakk"
+ },
+ "pt": {
+ "name": "Portugiż"
+ },
+ "pt-PT": {
+ "name": "Portugiż Ewropew"
+ },
+ "prg": {
+ "name": "Prussu"
+ },
+ "pa": {
+ "name": "Punjabi"
+ },
+ "qu": {
+ "name": "Quechua"
+ },
+ "rm": {
+ "name": "Romanz"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "ro": {
+ "name": "Rumen"
+ },
+ "rn": {
+ "name": "Rundi"
+ },
+ "ru": {
+ "name": "Russu"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "sah": {
+ "name": "Sakha"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "se": {
+ "name": "Sami tat-Tramuntana"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "nds-NL": {
+ "name": "Sassonu Komuni"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "sr": {
+ "name": "Serb"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "si": {
+ "name": "Sinhala"
+ },
+ "cu": {
+ "name": "Slaviku tal-Knisja"
+ },
+ "sk": {
+ "name": "Slovakk"
+ },
+ "sl": {
+ "name": "Sloven"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "so": {
+ "name": "Somali"
+ },
+ "dsb": {
+ "name": "Sorbjan Komuni"
+ },
+ "hsb": {
+ "name": "Sorbjan ta’ Fuq"
+ },
+ "es": {
+ "name": "Spanjol"
+ },
+ "es-MX": {
+ "name": "Spanjol tal-Messiku"
+ },
+ "sw": {
+ "name": "Swahili"
+ },
+ "sw-CD": {
+ "name": "Swahili tar-Repubblika Demokratika tal-Kongo"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "th": {
+ "name": "Tajlandiż"
+ },
+ "it": {
+ "name": "Taljan"
+ },
+ "zgh": {
+ "name": "Tamazight Standard tal-Marokk"
+ },
+ "tzm": {
+ "name": "Tamazight tal-Atlas Ċentrali"
+ },
+ "ta": {
+ "name": "Tamil"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "te": {
+ "name": "Telugu"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "bo": {
+ "name": "Tibetjan"
+ },
+ "ti": {
+ "name": "Tigrinya"
+ },
+ "to": {
+ "name": "Tongan"
+ },
+ "tr": {
+ "name": "Tork"
+ },
+ "tk": {
+ "name": "Turkmeni"
+ },
+ "uk": {
+ "name": "Ukren"
+ },
+ "hu": {
+ "name": "Ungeriż"
+ },
+ "ur": {
+ "name": "Urdu"
+ },
+ "ug": {
+ "name": "Uyghur"
+ },
+ "uz": {
+ "name": "Uzbek"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vi": {
+ "name": "Vjetnamiż"
+ },
+ "vo": {
+ "name": "Volapuk"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "cy": {
+ "name": "Welsh"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "yi": {
+ "name": "Yiddish"
+ },
+ "yo": {
+ "name": "Yoruba"
+ },
+ "sv": {
+ "name": "Żvezja"
+ },
+ "dje": {
+ "name": "Zarma"
+ },
+ "zu": {
+ "name": "Zulu"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/mua.json b/vendor/commerceguys/intl/resources/language/mua.json
new file mode 100644
index 000000000..53221612c
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/mua.json
@@ -0,0 +1,632 @@
+{
+ "af": {
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "ak": {
+ "name": "akaŋ"
+ },
+ "sq": {
+ "name": "Albanian"
+ },
+ "am": {
+ "name": "amharik"
+ },
+ "ar": {
+ "name": "arabiya"
+ },
+ "hy": {
+ "name": "Armenian"
+ },
+ "as": {
+ "name": "Assamese"
+ },
+ "ast": {
+ "name": "Asturian"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "az": {
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "eu": {
+ "name": "Basque"
+ },
+ "be": {
+ "name": "belarussiya"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "bn": {
+ "name": "bengalia"
+ },
+ "my": {
+ "name": "birmania"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "bs": {
+ "name": "Bosnian"
+ },
+ "br": {
+ "name": "Breton"
+ },
+ "bg": {
+ "name": "bulgaria"
+ },
+ "yue": {
+ "name": "Cantonese"
+ },
+ "ca": {
+ "name": "Catalan"
+ },
+ "tzm": {
+ "name": "Central Atlas Tamazight"
+ },
+ "ckb": {
+ "name": "Central Kurdish"
+ },
+ "ce": {
+ "name": "Chechen"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "cu": {
+ "name": "Church Slavic"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "kw": {
+ "name": "Cornish"
+ },
+ "hr": {
+ "name": "Croatian"
+ },
+ "da": {
+ "name": "Danish"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "dz": {
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "es": {
+ "name": "Espaniya"
+ },
+ "es-MX": {
+ "name": "Espaniya (Mexiko)"
+ },
+ "eo": {
+ "name": "Esperanto"
+ },
+ "et": {
+ "name": "Estonian"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fo": {
+ "name": "Faroese"
+ },
+ "fil": {
+ "name": "Filipino"
+ },
+ "fi": {
+ "name": "Finnish"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "gl": {
+ "name": "Galician"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "ka": {
+ "name": "Georgian"
+ },
+ "de": {
+ "name": "germaŋ"
+ },
+ "de-AT": {
+ "name": "germaŋ (austriya)"
+ },
+ "de-CH": {
+ "name": "germaŋ (Sǝr Swiss)"
+ },
+ "el": {
+ "name": "grek"
+ },
+ "gu": {
+ "name": "Gujarati"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "ha": {
+ "name": "haussa"
+ },
+ "haw": {
+ "name": "Hawaiian"
+ },
+ "he": {
+ "name": "Hebrew"
+ },
+ "hi": {
+ "name": "hindi"
+ },
+ "hu": {
+ "name": "hungariya"
+ },
+ "is": {
+ "name": "Icelandic"
+ },
+ "ig": {
+ "name": "igbo"
+ },
+ "smn": {
+ "name": "Inari Sami"
+ },
+ "id": {
+ "name": "indonesiya"
+ },
+ "ga": {
+ "name": "Irish"
+ },
+ "it": {
+ "name": "italiya"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabyle"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kl": {
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "kn": {
+ "name": "Kannada"
+ },
+ "ks": {
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "name": "Kazakh"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "km": {
+ "name": "kmer"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "ko": {
+ "name": "korea"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "ky": {
+ "name": "Kyrgyz"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "Lao"
+ },
+ "lv": {
+ "name": "Latvian"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "lt": {
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "mk": {
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "mg": {
+ "name": "Malagasy"
+ },
+ "ms": {
+ "name": "malasiya"
+ },
+ "ml": {
+ "name": "Malayalam"
+ },
+ "mt": {
+ "name": "Maltese"
+ },
+ "gv": {
+ "name": "Manx"
+ },
+ "mr": {
+ "name": "Marathi"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "mn": {
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "MUNDAŊ"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nds-NL": {
+ "name": "nds (Sǝr ma kasǝŋ)"
+ },
+ "ne": {
+ "name": "Nepaliya"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "nd": {
+ "name": "North Ndebele"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "se": {
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "or": {
+ "name": "Odia"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "os": {
+ "name": "Ossetic"
+ },
+ "ps": {
+ "name": "Pashto"
+ },
+ "fa": {
+ "name": "Persia"
+ },
+ "pa": {
+ "name": "Pǝnjabi"
+ },
+ "pl": {
+ "name": "Poloniya"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "qu": {
+ "name": "Quechua"
+ },
+ "ro": {
+ "name": "Romaniya"
+ },
+ "ro-MD": {
+ "name": "Romaniya (Moldoviya)"
+ },
+ "rm": {
+ "name": "Romansh"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "rn": {
+ "name": "Rundi"
+ },
+ "ru": {
+ "name": "Russiya"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "sah": {
+ "name": "Sakha"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "gd": {
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "sr": {
+ "name": "Serbian"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "si": {
+ "name": "Sinhala"
+ },
+ "sk": {
+ "name": "Slovak"
+ },
+ "sl": {
+ "name": "Slovenian"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "so": {
+ "name": "Somaliya"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw-CD": {
+ "name": "sw (Sǝr Kongo ma dii ne zair)"
+ },
+ "sw": {
+ "name": "Swahili"
+ },
+ "sv": {
+ "name": "Swedia"
+ },
+ "gsw": {
+ "name": "Swiss German"
+ },
+ "cs": {
+ "name": "syekya"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "ta": {
+ "name": "Tamul"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "te": {
+ "name": "Telugu"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "th": {
+ "name": "Thai"
+ },
+ "bo": {
+ "name": "Tibetan"
+ },
+ "ti": {
+ "name": "Tigrinya"
+ },
+ "to": {
+ "name": "Tongan"
+ },
+ "tr": {
+ "name": "Turk"
+ },
+ "tk": {
+ "name": "Turkmen"
+ },
+ "uk": {
+ "name": "Ukrainia"
+ },
+ "hsb": {
+ "name": "Upper Sorbian"
+ },
+ "ur": {
+ "name": "Urdu"
+ },
+ "ug": {
+ "name": "Uyghur"
+ },
+ "uz": {
+ "name": "Uzbek"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vi": {
+ "name": "Vietnamiya"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "cy": {
+ "name": "Welsh"
+ },
+ "fy": {
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "yi": {
+ "name": "Yiddish"
+ },
+ "yo": {
+ "name": "Yoruba"
+ },
+ "en": {
+ "name": "zah Anglofoŋ"
+ },
+ "en-AU": {
+ "name": "zah Anglofoŋ (australiya)"
+ },
+ "en-CA": {
+ "name": "zah Anglofoŋ (kanada)"
+ },
+ "en-GB": {
+ "name": "zah Anglofoŋ (Sǝr Anglofoŋ)"
+ },
+ "fr": {
+ "name": "zah sǝr Franssǝ"
+ },
+ "fr-CA": {
+ "name": "zah sǝr Franssǝ (kanada)"
+ },
+ "fr-CH": {
+ "name": "zah sǝr Franssǝ (Sǝr Swiss)"
+ },
+ "ja": {
+ "name": "zah sǝr Japoŋ"
+ },
+ "nl": {
+ "name": "zah sǝr ma kasǝŋ"
+ },
+ "nl-BE": {
+ "name": "zah sǝr ma kasǝŋ (belgika)"
+ },
+ "pt": {
+ "name": "Zah sǝr Portugal"
+ },
+ "pt-PT": {
+ "name": "Zah sǝr Portugal (Sǝr Portugal)"
+ },
+ "rw": {
+ "name": "Zah sǝr Rwanda"
+ },
+ "zh": {
+ "name": "zah Syiŋ"
+ },
+ "zh-Hans": {
+ "name": "zah Syiŋ (Hans)"
+ },
+ "zh-Hant": {
+ "name": "zah Syiŋ (Hant)"
+ },
+ "dje": {
+ "name": "Zarma"
+ },
+ "zu": {
+ "name": "Zulu"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/my.json b/vendor/commerceguys/intl/resources/language/my.json
new file mode 100644
index 000000000..1dc78faec
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/my.json
@@ -0,0 +1,635 @@
+{
+ "kkj": {
+ "name": "ကကို"
+ },
+ "fr-CA": {
+ "name": "ကနေဒါ ပြင်သစ်"
+ },
+ "en-CA": {
+ "name": "ကနေဒါ အင်္ဂလိပ်"
+ },
+ "kea": {
+ "name": "ကဘူဗာဒီအာနူ"
+ },
+ "kab": {
+ "name": "ကဘိုင်လ်"
+ },
+ "kln": {
+ "name": "ကလန်ဂျင်"
+ },
+ "kl": {
+ "name": "ကလာအ်လီဆပ်"
+ },
+ "ky": {
+ "name": "ကာဂျစ်"
+ },
+ "kk": {
+ "name": "ကာဇာခ်"
+ },
+ "ki": {
+ "name": "ကီကူယူ"
+ },
+ "khq": {
+ "name": "ကိုရာ ချီအီနီ"
+ },
+ "ses": {
+ "name": "ကိုရာဘိုရို ဆမ်နီ"
+ },
+ "ko": {
+ "name": "ကိုရီးယား"
+ },
+ "ksh": {
+ "name": "ကိုလိုနီယန်း"
+ },
+ "ks": {
+ "name": "ကက်ရှ်မီးယား"
+ },
+ "rw": {
+ "name": "ကင်ရာဝန်ဒါ"
+ },
+ "ca": {
+ "name": "ကတ်တလန်"
+ },
+ "kn": {
+ "name": "ကန္နာဒါ"
+ },
+ "kam": {
+ "name": "ကမ်ဘာ"
+ },
+ "nmg": {
+ "name": "ကွာစီအို"
+ },
+ "kok": {
+ "name": "ကွန်ကနီ"
+ },
+ "sw-CD": {
+ "name": "ကွန်ဂို ဆွာဟီလီ"
+ },
+ "yue": {
+ "name": "ကွမ်တုံ"
+ },
+ "km": {
+ "name": "ခမာ"
+ },
+ "hr": {
+ "name": "ခရိုအေးရှား"
+ },
+ "qu": {
+ "name": "ခီချူဝါအိုဝါ"
+ },
+ "kw": {
+ "name": "ခိုနီရှ်"
+ },
+ "chr": {
+ "name": "ချာရိုကီ"
+ },
+ "cgg": {
+ "name": "ချီဂါ"
+ },
+ "cs": {
+ "name": "ချက်"
+ },
+ "ce": {
+ "name": "ချက်ချန်း"
+ },
+ "cu": {
+ "name": "ချပ်ချ် စလာဗစ်"
+ },
+ "el": {
+ "name": "ဂရိ"
+ },
+ "gl": {
+ "name": "ဂါလီစီယာ"
+ },
+ "gu": {
+ "name": "ဂူဂျာရသီ"
+ },
+ "guz": {
+ "name": "ဂူစီး"
+ },
+ "lg": {
+ "name": "ဂန်ဒါ"
+ },
+ "ja": {
+ "name": "ဂျပန်"
+ },
+ "de": {
+ "name": "ဂျာမန်"
+ },
+ "nds-NL": {
+ "name": "ဂျာမန် (နယ်သာလန်)"
+ },
+ "yi": {
+ "name": "ဂျူး"
+ },
+ "ka": {
+ "name": "ဂျော်ဂျီယာ"
+ },
+ "dyo": {
+ "name": "ဂျိုလာ-ဖွန်ရီ"
+ },
+ "jgo": {
+ "name": "ဂွမ်ဘာ"
+ },
+ "gd": {
+ "name": "စကော့တစ်ရှ် ဂေးလစ်ခ်"
+ },
+ "es": {
+ "name": "စပိန်"
+ },
+ "es-MX": {
+ "name": "စပိန် (မက္ကဆီကို)"
+ },
+ "sl": {
+ "name": "စလိုဗေးနီးယား"
+ },
+ "sk": {
+ "name": "စလိုဗက်"
+ },
+ "ii": {
+ "name": "စီချွမ် ရီ"
+ },
+ "seh": {
+ "name": "စီနာ"
+ },
+ "si": {
+ "name": "စင်ဟာလာ"
+ },
+ "sah": {
+ "name": "ဆခါ"
+ },
+ "sr": {
+ "name": "ဆားဘီးယား"
+ },
+ "xog": {
+ "name": "ဆိုဂါ"
+ },
+ "so": {
+ "name": "ဆိုမာလီ"
+ },
+ "ckb": {
+ "name": "ဆိုရာနီ"
+ },
+ "hsb": {
+ "name": "ဆက္ကဆိုနီ"
+ },
+ "sbp": {
+ "name": "ဆန်ဂု"
+ },
+ "sg": {
+ "name": "ဆန်ဂို"
+ },
+ "saq": {
+ "name": "ဆမ်ဘူရူ"
+ },
+ "sw": {
+ "name": "ဆွာဟီလီ"
+ },
+ "sv": {
+ "name": "ဆွီဒင်"
+ },
+ "gsw": {
+ "name": "ဆွစ် ဂျာမန်"
+ },
+ "fr-CH": {
+ "name": "ဆွစ် ပြင်သစ်"
+ },
+ "dje": {
+ "name": "ဇာမာ"
+ },
+ "zu": {
+ "name": "ဇူးလူး"
+ },
+ "ta": {
+ "name": "တမီးလ်"
+ },
+ "zh": {
+ "name": "တရုတ်"
+ },
+ "zh-Hant": {
+ "name": "တရုတ် (ရိုးရာ)"
+ },
+ "zh-Hans": {
+ "name": "တရုတ် (ရိုးရှင်း)"
+ },
+ "shi": {
+ "name": "တာချယ်လ်ဟစ်"
+ },
+ "twq": {
+ "name": "တာဆာဝါခ်"
+ },
+ "tk": {
+ "name": "တာ့ခ်မင်နစ္စတန်"
+ },
+ "bo": {
+ "name": "တိဘက်"
+ },
+ "teo": {
+ "name": "တီဆို"
+ },
+ "te": {
+ "name": "တီလီဂူ"
+ },
+ "ti": {
+ "name": "တီဂ်ရင်ရာ"
+ },
+ "tr": {
+ "name": "တူရကီ"
+ },
+ "nd": {
+ "name": "တောင် အွန်န်ဒီဘီလီ"
+ },
+ "af": {
+ "name": "တောင်အာဖရိက"
+ },
+ "dav": {
+ "name": "တိုင်တာ"
+ },
+ "to": {
+ "name": "တွန်ဂါ"
+ },
+ "th": {
+ "name": "ထိုင်း"
+ },
+ "dz": {
+ "name": "ဒဇွန်ကာ"
+ },
+ "dua": {
+ "name": "ဒူအလာ"
+ },
+ "nl": {
+ "name": "ဒတ်ချ်"
+ },
+ "da": {
+ "name": "ဒိန်းမတ်"
+ },
+ "nyn": {
+ "name": "နရန်ကိုလီ"
+ },
+ "naq": {
+ "name": "နာမာ"
+ },
+ "ne": {
+ "name": "နီပေါ"
+ },
+ "nus": {
+ "name": "နူအာ"
+ },
+ "nn": {
+ "name": "နော်ဝေး နီးနောစ်"
+ },
+ "nb": {
+ "name": "နော်ဝေး ဘွတ်ခ်မော်လ်"
+ },
+ "prg": {
+ "name": "ပရူရှန်"
+ },
+ "fa": {
+ "name": "ပါရှန်"
+ },
+ "pt": {
+ "name": "ပေါ်တူဂီ"
+ },
+ "pl": {
+ "name": "ပိုလန်"
+ },
+ "ps": {
+ "name": "ပက်ရှ်တွန်း"
+ },
+ "pa": {
+ "name": "ပန်ချာပီ"
+ },
+ "fr": {
+ "name": "ပြင်သစ်"
+ },
+ "fur": {
+ "name": "ဖရူလီယန်း"
+ },
+ "nl-BE": {
+ "name": "ဖလီမစ်ရှ်"
+ },
+ "fo": {
+ "name": "ဖာရို"
+ },
+ "fil": {
+ "name": "ဖိလစ်ပိုင်"
+ },
+ "ff": {
+ "name": "ဖူလာ"
+ },
+ "fi": {
+ "name": "ဖင်လန်"
+ },
+ "vi": {
+ "name": "ဗီယက်နမ်"
+ },
+ "brx": {
+ "name": "ဗိုဒို"
+ },
+ "vo": {
+ "name": "ဗိုလာပိုက်"
+ },
+ "vai": {
+ "name": "ဗိုင်"
+ },
+ "en-GB": {
+ "name": "ဗြိတိသျှ အင်္ဂလိပ်"
+ },
+ "vun": {
+ "name": "ဗွန်ဂျို"
+ },
+ "br": {
+ "name": "ဘရီတွန်"
+ },
+ "bas": {
+ "name": "ဘာဆာ"
+ },
+ "ksf": {
+ "name": "ဘာဖီအာ"
+ },
+ "bez": {
+ "name": "ဘီနာ"
+ },
+ "be": {
+ "name": "ဘီလာရုဇ်"
+ },
+ "bg": {
+ "name": "ဘူလ်ဂေးရီးယား"
+ },
+ "bs": {
+ "name": "ဘော့စ်နီးယား"
+ },
+ "bn": {
+ "name": "ဘင်္ဂါလီ"
+ },
+ "eu": {
+ "name": "ဘာစ်ခ်"
+ },
+ "bm": {
+ "name": "ဘန်ဘာရာ"
+ },
+ "bem": {
+ "name": "ဘိန်ဘာ"
+ },
+ "jmc": {
+ "name": "မချာမီ"
+ },
+ "ms": {
+ "name": "မလေး"
+ },
+ "ml": {
+ "name": "မလေးရာလမ်"
+ },
+ "mgh": {
+ "name": "မာခူဝါ-မီအီတို"
+ },
+ "kde": {
+ "name": "မာခွန်ဒီ"
+ },
+ "mas": {
+ "name": "မာဆိုင်"
+ },
+ "mzn": {
+ "name": "မာဇန်ဒါရန်နီ"
+ },
+ "mr": {
+ "name": "မာရသီ"
+ },
+ "mg": {
+ "name": "မာလဂက်စီ"
+ },
+ "mgo": {
+ "name": "မီတာ"
+ },
+ "mer": {
+ "name": "မီရု"
+ },
+ "mfe": {
+ "name": "မောရစ်ရှ"
+ },
+ "ro-MD": {
+ "name": "မော်လဒိုဗာ"
+ },
+ "mt": {
+ "name": "မော်လ်တာ"
+ },
+ "zgh": {
+ "name": "မိုရိုကို တမဇိုက်"
+ },
+ "mk": {
+ "name": "မက်စီဒိုးနီးယား"
+ },
+ "gv": {
+ "name": "မန်းဇ်"
+ },
+ "se": {
+ "name": "မြောက် ဆာမိ"
+ },
+ "lrc": {
+ "name": "မြောက်လူရီ"
+ },
+ "my": {
+ "name": "မြန်မာ"
+ },
+ "mn": {
+ "name": "မွန်ဂိုလီးယား"
+ },
+ "mua": {
+ "name": "မွန်ဒန်း"
+ },
+ "uk": {
+ "name": "ယူကရိန်း"
+ },
+ "yo": {
+ "name": "ယိုရူဘာ"
+ },
+ "ru": {
+ "name": "ရုရှ"
+ },
+ "rwk": {
+ "name": "ရူဝမ်"
+ },
+ "rm": {
+ "name": "ရောမ"
+ },
+ "ro": {
+ "name": "ရိုမေနီယား"
+ },
+ "yav": {
+ "name": "ရန်ဘဲန်"
+ },
+ "rn": {
+ "name": "ရွန်ဒီ"
+ },
+ "rof": {
+ "name": "ရွမ်ဘို"
+ },
+ "sn": {
+ "name": "ရှိုနာ"
+ },
+ "ksb": {
+ "name": "ရှန်ဘာလာ"
+ },
+ "lkt": {
+ "name": "လာကိုတာ"
+ },
+ "lo": {
+ "name": "လာအို"
+ },
+ "lb": {
+ "name": "လူဇင်ဘတ်"
+ },
+ "lu": {
+ "name": "လူဘာ-ကတန်ဂါ"
+ },
+ "luy": {
+ "name": "လူရီအာ"
+ },
+ "luo": {
+ "name": "လူအို"
+ },
+ "ln": {
+ "name": "လင်ဂါလာ"
+ },
+ "lt": {
+ "name": "လစ်သူဝေးနီးယား"
+ },
+ "lv": {
+ "name": "လတ်ဗီးယား"
+ },
+ "lag": {
+ "name": "လန်ဂီ"
+ },
+ "ug": {
+ "name": "ဝီဂါ"
+ },
+ "cy": {
+ "name": "ဝေလ"
+ },
+ "wae": {
+ "name": "ဝေါလ်ဆာ"
+ },
+ "haw": {
+ "name": "ဟာဝိုင်ယီ"
+ },
+ "ha": {
+ "name": "ဟာဥစာ"
+ },
+ "he": {
+ "name": "ဟီးဘရူး"
+ },
+ "hu": {
+ "name": "ဟန်ဂေရီ"
+ },
+ "hi": {
+ "name": "ဟိန္ဒူ"
+ },
+ "az": {
+ "name": "အဇာဘိုင်ဂျန်"
+ },
+ "fy": {
+ "name": "အနောက် ဖရီစီရန်"
+ },
+ "nds": {
+ "name": "အနိမ့် ဂျာမန်"
+ },
+ "dsb": {
+ "name": "အနိမ့် ဆိုဘီယန်း"
+ },
+ "de-CH": {
+ "name": "အလီမဲန်နစ် ဂျာမန်"
+ },
+ "tzm": {
+ "name": "အလယ်အာ့တလာစ် တာမာဇိုက်"
+ },
+ "ak": {
+ "name": "အာကန်"
+ },
+ "asa": {
+ "name": "အာစု"
+ },
+ "hy": {
+ "name": "အာမေးနီးယား"
+ },
+ "ar": {
+ "name": "အာရဗီ"
+ },
+ "as": {
+ "name": "အာသံ"
+ },
+ "it": {
+ "name": "အီတလီ"
+ },
+ "smn": {
+ "name": "အီနာရီ ဆာမိ"
+ },
+ "ee": {
+ "name": "အီဝီ"
+ },
+ "ewo": {
+ "name": "အီဝန်ဒို"
+ },
+ "pt-PT": {
+ "name": "ဥရောပ ပေါ်တူဂီ"
+ },
+ "ur": {
+ "name": "အူရ်ဒူ"
+ },
+ "uz": {
+ "name": "ဦးဇ်ဘက်"
+ },
+ "de-AT": {
+ "name": "ဩစတြီးယား ဂျာမန်"
+ },
+ "en-AU": {
+ "name": "ဩစတြေးလျှ အင်္ဂလိပ်"
+ },
+ "os": {
+ "name": "အိုဆဲတစ်ခ်"
+ },
+ "or": {
+ "name": "အိုရီရာ"
+ },
+ "om": {
+ "name": "အိုရိုမို"
+ },
+ "ast": {
+ "name": "အက်စတူရီယန်း"
+ },
+ "et": {
+ "name": "အက်စ်တိုးနီးယား"
+ },
+ "eo": {
+ "name": "အက်စ်ပရန်တို"
+ },
+ "is": {
+ "name": "အိုက်စ်လန်"
+ },
+ "agq": {
+ "name": "အာဂ်ဟိန်း"
+ },
+ "en": {
+ "name": "အင်္ဂလိပ်"
+ },
+ "id": {
+ "name": "အင်ဒိုနီးရှား"
+ },
+ "ga": {
+ "name": "အိုင်းရစ်ရှ်"
+ },
+ "ig": {
+ "name": "အစ္ဂဘို"
+ },
+ "ebu": {
+ "name": "အမ်ဘူ"
+ },
+ "am": {
+ "name": "အမ်ဟာရစ်ခ်"
+ },
+ "sq": {
+ "name": "အယ်လ်ဘေးနီးယား"
+ },
+ "nnh": {
+ "name": "အွန်ရဲဘွန်း"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/mzn.json b/vendor/commerceguys/intl/resources/language/mzn.json
new file mode 100644
index 000000000..7968146d5
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/mzn.json
@@ -0,0 +1,635 @@
+{
+ "ast": {
+ "name": "Asturian"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "yue": {
+ "name": "Cantonese"
+ },
+ "cu": {
+ "name": "Church Slavic"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "os": {
+ "name": "Ossetic"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "sah": {
+ "name": "Sakha"
+ },
+ "gd": {
+ "name": "Scottish Gaelic"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "yi": {
+ "name": "Yiddish"
+ },
+ "az": {
+ "name": "آذری ِترکی"
+ },
+ "as": {
+ "name": "آسامی"
+ },
+ "asa": {
+ "name": "آسو"
+ },
+ "af": {
+ "name": "آفریکانس"
+ },
+ "agq": {
+ "name": "آقم"
+ },
+ "ak": {
+ "name": "آکان"
+ },
+ "sq": {
+ "name": "آلبانیایی"
+ },
+ "de": {
+ "name": "آلمانی"
+ },
+ "ug": {
+ "name": "ئوغوری"
+ },
+ "de-AT": {
+ "name": "اتریش ِآلمانی"
+ },
+ "ur": {
+ "name": "اردو"
+ },
+ "hy": {
+ "name": "ارمنی"
+ },
+ "pt-PT": {
+ "name": "اروپای ِپرتغالی"
+ },
+ "uz": {
+ "name": "ازبکی"
+ },
+ "eo": {
+ "name": "اسپرانتو"
+ },
+ "en-AU": {
+ "name": "استرالیای ِانگلیسی"
+ },
+ "et": {
+ "name": "استونیایی"
+ },
+ "sk": {
+ "name": "اسلواکی"
+ },
+ "sl": {
+ "name": "اسلوونیایی"
+ },
+ "ebu": {
+ "name": "امبو"
+ },
+ "am": {
+ "name": "امهری"
+ },
+ "id": {
+ "name": "اندونزیایی"
+ },
+ "en": {
+ "name": "انگلیسی"
+ },
+ "om": {
+ "name": "اورومو"
+ },
+ "or": {
+ "name": "اوریا"
+ },
+ "uk": {
+ "name": "اوکراینی"
+ },
+ "ee": {
+ "name": "اوه‌یی"
+ },
+ "it": {
+ "name": "ایتالیایی"
+ },
+ "ga": {
+ "name": "ایریش"
+ },
+ "es": {
+ "name": "ایسپانیولی"
+ },
+ "is": {
+ "name": "ایسلندی"
+ },
+ "ig": {
+ "name": "ایگبو"
+ },
+ "smn": {
+ "name": "ایناری سامی"
+ },
+ "eu": {
+ "name": "باسکی"
+ },
+ "ksf": {
+ "name": "بافیایی"
+ },
+ "hsb": {
+ "name": "بالایی صربی"
+ },
+ "bm": {
+ "name": "بامبارایی"
+ },
+ "brx": {
+ "name": "بدویی"
+ },
+ "br": {
+ "name": "برِتونی"
+ },
+ "my": {
+ "name": "برمه‌یی"
+ },
+ "en-GB": {
+ "name": "بریتیش انگلیسی"
+ },
+ "be": {
+ "name": "بلاروسی"
+ },
+ "bg": {
+ "name": "بلغاری"
+ },
+ "bem": {
+ "name": "بمبایی"
+ },
+ "bez": {
+ "name": "بنایی"
+ },
+ "bn": {
+ "name": "بنگالی"
+ },
+ "bs": {
+ "name": "بوسنیایی"
+ },
+ "nds": {
+ "name": "پایین آلمانی"
+ },
+ "nds-NL": {
+ "name": "پایین ساکسونی"
+ },
+ "dsb": {
+ "name": "پایین صربی"
+ },
+ "pt": {
+ "name": "پرتغالی"
+ },
+ "ps": {
+ "name": "پشتو"
+ },
+ "pa": {
+ "name": "پنجابی"
+ },
+ "shi": {
+ "name": "تاچلهیت"
+ },
+ "twq": {
+ "name": "تاساواقی"
+ },
+ "ta": {
+ "name": "تامیلی"
+ },
+ "dav": {
+ "name": "تایتا"
+ },
+ "th": {
+ "name": "تایی"
+ },
+ "bo": {
+ "name": "تبتی"
+ },
+ "tk": {
+ "name": "ترکمونی"
+ },
+ "tr": {
+ "name": "ترکی"
+ },
+ "teo": {
+ "name": "تسویی"
+ },
+ "te": {
+ "name": "تلوگویی"
+ },
+ "to": {
+ "name": "تونگانی"
+ },
+ "ti": {
+ "name": "تیگرینیایی"
+ },
+ "ja": {
+ "name": "جاپونی"
+ },
+ "dyo": {
+ "name": "جولا-فونی"
+ },
+ "ce": {
+ "name": "چچنی"
+ },
+ "chr": {
+ "name": "چروکیایی"
+ },
+ "cs": {
+ "name": "چکی"
+ },
+ "cgg": {
+ "name": "چیگا"
+ },
+ "zh": {
+ "name": "چینی"
+ },
+ "km": {
+ "name": "خمری"
+ },
+ "da": {
+ "name": "دانمارکی"
+ },
+ "dz": {
+ "name": "دزونگخا"
+ },
+ "dua": {
+ "name": "دوئالایی"
+ },
+ "rwk": {
+ "name": "روآیی"
+ },
+ "ru": {
+ "name": "روسی"
+ },
+ "rm": {
+ "name": "رومانش"
+ },
+ "ro": {
+ "name": "رومانیایی"
+ },
+ "rof": {
+ "name": "رومبو"
+ },
+ "rn": {
+ "name": "روندی"
+ },
+ "dje": {
+ "name": "زارمایی"
+ },
+ "zu": {
+ "name": "زولو"
+ },
+ "zh-Hans": {
+ "name": "ساده چینی"
+ },
+ "saq": {
+ "name": "سامبورو"
+ },
+ "sg": {
+ "name": "سانگو"
+ },
+ "sbp": {
+ "name": "سانگوو"
+ },
+ "seh": {
+ "name": "سِنایی"
+ },
+ "zh-Hant": {
+ "name": "سنتی چینی"
+ },
+ "sv": {
+ "name": "سوئدی"
+ },
+ "sw": {
+ "name": "سواحیلی"
+ },
+ "xog": {
+ "name": "سوگا"
+ },
+ "so": {
+ "name": "سومالیایی"
+ },
+ "gsw": {
+ "name": "سوییس آلمانی"
+ },
+ "de-CH": {
+ "name": "سوییس ِآلمانی"
+ },
+ "fr-CH": {
+ "name": "سوییس ِفرانسوی"
+ },
+ "ii": {
+ "name": "سیچوئان یی"
+ },
+ "si": {
+ "name": "سینهالا"
+ },
+ "ksb": {
+ "name": "شامبالا"
+ },
+ "se": {
+ "name": "شمالی سامی"
+ },
+ "lrc": {
+ "name": "شمالی لُری"
+ },
+ "nd": {
+ "name": "شمالی ندبله"
+ },
+ "sn": {
+ "name": "شونا"
+ },
+ "sr": {
+ "name": "صربی"
+ },
+ "he": {
+ "name": "عبری"
+ },
+ "ar": {
+ "name": "عربی"
+ },
+ "fy": {
+ "name": "غربی فیریزی"
+ },
+ "fa": {
+ "name": "فارسی"
+ },
+ "fo": {
+ "name": "فارویی"
+ },
+ "fr": {
+ "name": "فرانسوی"
+ },
+ "nl-BE": {
+ "name": "فلمیش"
+ },
+ "fil": {
+ "name": "فیلیپینو"
+ },
+ "fi": {
+ "name": "فینیش"
+ },
+ "kab": {
+ "name": "قبایلی"
+ },
+ "ky": {
+ "name": "قرقیزی"
+ },
+ "kk": {
+ "name": "قزاقی"
+ },
+ "qu": {
+ "name": "قوئچوئا"
+ },
+ "ca": {
+ "name": "کاتالونی"
+ },
+ "kl": {
+ "name": "کالائلیسوت"
+ },
+ "kln": {
+ "name": "کالنجین"
+ },
+ "kam": {
+ "name": "کامبایی"
+ },
+ "kn": {
+ "name": "کانّادا"
+ },
+ "en-CA": {
+ "name": "کانادای ِانگلیسی"
+ },
+ "fr-CA": {
+ "name": "کانادای ِفرانسوی"
+ },
+ "ko": {
+ "name": "کُره‌یی"
+ },
+ "hr": {
+ "name": "کرواتی"
+ },
+ "ks": {
+ "name": "کشمیری"
+ },
+ "sw-CD": {
+ "name": "کنگو سواحیلی"
+ },
+ "rw": {
+ "name": "کنیاروآندایی"
+ },
+ "nmg": {
+ "name": "کوئاسیو"
+ },
+ "kw": {
+ "name": "کورنیش"
+ },
+ "kok": {
+ "name": "کونکانی"
+ },
+ "khq": {
+ "name": "کویرا چیینی"
+ },
+ "ses": {
+ "name": "کویرابورا سنی"
+ },
+ "kea": {
+ "name": "کیپ وُردی"
+ },
+ "ki": {
+ "name": "کیکویو"
+ },
+ "gl": {
+ "name": "گالیک"
+ },
+ "lg": {
+ "name": "گاندا"
+ },
+ "gu": {
+ "name": "گجراتی"
+ },
+ "ka": {
+ "name": "گرجی"
+ },
+ "guz": {
+ "name": "گوسی"
+ },
+ "lo": {
+ "name": "لائویی"
+ },
+ "lv": {
+ "name": "لاتویایی"
+ },
+ "lkt": {
+ "name": "لاکوتا"
+ },
+ "lag": {
+ "name": "لانگی"
+ },
+ "lt": {
+ "name": "لتونیایی"
+ },
+ "pl": {
+ "name": "لهستونی"
+ },
+ "luo": {
+ "name": "لوئو"
+ },
+ "lu": {
+ "name": "لوبا-کاتانگا"
+ },
+ "lb": {
+ "name": "لوکزامبورگی"
+ },
+ "luy": {
+ "name": "لوییا"
+ },
+ "ln": {
+ "name": "لینگالا"
+ },
+ "jmc": {
+ "name": "ماچامه"
+ },
+ "mgh": {
+ "name": "ماخوئا-میتو"
+ },
+ "mr": {
+ "name": "ماراتی"
+ },
+ "mzn": {
+ "name": "مازرونی"
+ },
+ "mas": {
+ "name": "ماسایی"
+ },
+ "kde": {
+ "name": "ماکونده"
+ },
+ "mg": {
+ "name": "مالاگاسی"
+ },
+ "ml": {
+ "name": "مالایالام"
+ },
+ "ms": {
+ "name": "مالایی"
+ },
+ "mt": {
+ "name": "مالتی"
+ },
+ "gv": {
+ "name": "مانکس"
+ },
+ "mgo": {
+ "name": "مِتاء"
+ },
+ "hu": {
+ "name": "مجاری"
+ },
+ "zgh": {
+ "name": "مراکش ِاستاندارد ِتامازیقتی"
+ },
+ "mer": {
+ "name": "مِرویی"
+ },
+ "mn": {
+ "name": "مغولی"
+ },
+ "mk": {
+ "name": "مقدونی"
+ },
+ "es-MX": {
+ "name": "مکزیک ِایسپانیولی"
+ },
+ "mfe": {
+ "name": "موریسین"
+ },
+ "ro-MD": {
+ "name": "مولداوی"
+ },
+ "mua": {
+ "name": "موندانگ"
+ },
+ "tzm": {
+ "name": "میونی اطلس تامزیقی"
+ },
+ "ckb": {
+ "name": "میونی کوردی"
+ },
+ "naq": {
+ "name": "ناما"
+ },
+ "ne": {
+ "name": "نپالی"
+ },
+ "nb": {
+ "name": "نروژی بوکمال"
+ },
+ "nn": {
+ "name": "نروژی نینورسک"
+ },
+ "jgo": {
+ "name": "نگومبا"
+ },
+ "nus": {
+ "name": "نوئر"
+ },
+ "nyn": {
+ "name": "نیانکوله"
+ },
+ "haw": {
+ "name": "هاواییایی"
+ },
+ "nl": {
+ "name": "هلندی"
+ },
+ "hi": {
+ "name": "هندی"
+ },
+ "ha": {
+ "name": "هوسا"
+ },
+ "vai": {
+ "name": "وایی"
+ },
+ "cy": {
+ "name": "ولزی"
+ },
+ "vun": {
+ "name": "وونجویی"
+ },
+ "vi": {
+ "name": "ویتنامی"
+ },
+ "yo": {
+ "name": "یوروبا"
+ },
+ "el": {
+ "name": "یونانی"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/naq.json b/vendor/commerceguys/intl/resources/language/naq.json
new file mode 100644
index 000000000..ddd5d4b84
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/naq.json
@@ -0,0 +1,632 @@
+{
+ "af": {
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "ak": {
+ "name": "Akangowab"
+ },
+ "sq": {
+ "name": "Albanian"
+ },
+ "am": {
+ "name": "Amharicgowab"
+ },
+ "ar": {
+ "name": "Arabiǁî gowab"
+ },
+ "hy": {
+ "name": "Armenian"
+ },
+ "as": {
+ "name": "Assamese"
+ },
+ "ast": {
+ "name": "Asturian"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "az": {
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "eu": {
+ "name": "Basque"
+ },
+ "be": {
+ "name": "Belarusanǁî gowab"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "bn": {
+ "name": "Bengaliǁî gowab"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "bs": {
+ "name": "Bosnian"
+ },
+ "br": {
+ "name": "Breton"
+ },
+ "bg": {
+ "name": "Bulgariaǁî gowab"
+ },
+ "my": {
+ "name": "Burmesǁî gowab"
+ },
+ "yue": {
+ "name": "Cantonese"
+ },
+ "ca": {
+ "name": "Catalan"
+ },
+ "tzm": {
+ "name": "Central Atlas Tamazight"
+ },
+ "ckb": {
+ "name": "Central Kurdish"
+ },
+ "ce": {
+ "name": "Chechen"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "zh": {
+ "name": "Chineesǁî gowab, Mandarinni"
+ },
+ "zh-Hans": {
+ "name": "Chineesǁî gowab, Mandarinni (Hans)"
+ },
+ "zh-Hant": {
+ "name": "Chineesǁî gowab, Mandarinni (Hant)"
+ },
+ "cu": {
+ "name": "Church Slavic"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "kw": {
+ "name": "Cornish"
+ },
+ "hr": {
+ "name": "Croatian"
+ },
+ "cs": {
+ "name": "Czechǁî gowab"
+ },
+ "da": {
+ "name": "Danish"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "de": {
+ "name": "Duits"
+ },
+ "de-AT": {
+ "name": "Duits (Austriab)"
+ },
+ "de-CH": {
+ "name": "Duits (Switzerlandi)"
+ },
+ "dz": {
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "en": {
+ "name": "Engels"
+ },
+ "en-AU": {
+ "name": "Engels (Australieb)"
+ },
+ "en-CA": {
+ "name": "Engels (Kanadab)"
+ },
+ "en-GB": {
+ "name": "Engels (United Kingdom)"
+ },
+ "eo": {
+ "name": "Esperanto"
+ },
+ "et": {
+ "name": "Estonian"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fo": {
+ "name": "Faroese"
+ },
+ "fil": {
+ "name": "Filipino"
+ },
+ "fi": {
+ "name": "Finnish"
+ },
+ "fr": {
+ "name": "Frans"
+ },
+ "fr-CA": {
+ "name": "Frans (Kanadab)"
+ },
+ "fr-CH": {
+ "name": "Frans (Switzerlandi)"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "gl": {
+ "name": "Galician"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "ka": {
+ "name": "Georgian"
+ },
+ "gu": {
+ "name": "Gujarati"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "ha": {
+ "name": "Hausagowab"
+ },
+ "haw": {
+ "name": "Hawaiian"
+ },
+ "he": {
+ "name": "Hebrew"
+ },
+ "hi": {
+ "name": "Hindigowab"
+ },
+ "nl": {
+ "name": "Hollands"
+ },
+ "nl-BE": {
+ "name": "Hollands (Belgiummi)"
+ },
+ "hu": {
+ "name": "Hungariaǁî gowab"
+ },
+ "is": {
+ "name": "Icelandic"
+ },
+ "ig": {
+ "name": "Igbogowab"
+ },
+ "smn": {
+ "name": "Inari Sami"
+ },
+ "id": {
+ "name": "Indonesiaǁî gowab"
+ },
+ "ga": {
+ "name": "Irish"
+ },
+ "it": {
+ "name": "Italians"
+ },
+ "ja": {
+ "name": "Japanees"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabyle"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kl": {
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "kn": {
+ "name": "Kannada"
+ },
+ "ks": {
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "name": "Kazakh"
+ },
+ "km": {
+ "name": "Khmerǁî gowab, Central"
+ },
+ "naq": {
+ "name": "Khoekhoegowab"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "ko": {
+ "name": "Koreaǁî gowab"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "ky": {
+ "name": "Kyrgyz"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "Lao"
+ },
+ "lv": {
+ "name": "Latvian"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "lt": {
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "mk": {
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "mg": {
+ "name": "Malagasy"
+ },
+ "ml": {
+ "name": "Malayalam"
+ },
+ "ms": {
+ "name": "Malayǁî gowab"
+ },
+ "mt": {
+ "name": "Maltese"
+ },
+ "gv": {
+ "name": "Manx"
+ },
+ "mr": {
+ "name": "Marathi"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "mn": {
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "nds-NL": {
+ "name": "nds (Netherlands)"
+ },
+ "ne": {
+ "name": "Nepalǁî gowab"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "nd": {
+ "name": "North Ndebele"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "se": {
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "or": {
+ "name": "Odia"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "os": {
+ "name": "Ossetic"
+ },
+ "ps": {
+ "name": "Pashto"
+ },
+ "fa": {
+ "name": "Persiaǁî gowab"
+ },
+ "pl": {
+ "name": "Poleǁî gowab"
+ },
+ "pt": {
+ "name": "Portugees"
+ },
+ "pt-PT": {
+ "name": "Portugees (Portugali)"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "pa": {
+ "name": "Punjabigowab"
+ },
+ "qu": {
+ "name": "Quechua"
+ },
+ "ro": {
+ "name": "Romaniaǁî gowab"
+ },
+ "ro-MD": {
+ "name": "Romaniaǁî gowab (Moldova)"
+ },
+ "rm": {
+ "name": "Romansh"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "rn": {
+ "name": "Rundi"
+ },
+ "ru": {
+ "name": "Russiaǁî gowab"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "rw": {
+ "name": "Rwandaǁî gowab"
+ },
+ "sah": {
+ "name": "Sakha"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "gd": {
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "sr": {
+ "name": "Serbian"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "si": {
+ "name": "Sinhala"
+ },
+ "sk": {
+ "name": "Slovak"
+ },
+ "sl": {
+ "name": "Slovenian"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "so": {
+ "name": "Somaliǁî gowab"
+ },
+ "es": {
+ "name": "Spaans"
+ },
+ "es-MX": {
+ "name": "Spaans (Mexicob)"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw-CD": {
+ "name": "sw (Democratic Republic of the Congo)"
+ },
+ "sw": {
+ "name": "Swahili"
+ },
+ "sv": {
+ "name": "Swedeǁî gowab"
+ },
+ "gsw": {
+ "name": "Swiss German"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "ta": {
+ "name": "Tamilǁî gowab"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "te": {
+ "name": "Telugu"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "th": {
+ "name": "Thaiǁî gowab"
+ },
+ "bo": {
+ "name": "Tibetan"
+ },
+ "ti": {
+ "name": "Tigrinya"
+ },
+ "to": {
+ "name": "Tongan"
+ },
+ "tr": {
+ "name": "Turkeǁî gowab"
+ },
+ "tk": {
+ "name": "Turkmen"
+ },
+ "uk": {
+ "name": "Ukrainiaǁî gowab"
+ },
+ "hsb": {
+ "name": "Upper Sorbian"
+ },
+ "ur": {
+ "name": "Urduǁî gowab"
+ },
+ "ug": {
+ "name": "Uyghur"
+ },
+ "uz": {
+ "name": "Uzbek"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vi": {
+ "name": "Vietnamǁî gowab"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "cy": {
+ "name": "Welsh"
+ },
+ "fy": {
+ "name": "Western Frisian"
+ },
+ "el": {
+ "name": "Xriks"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "yi": {
+ "name": "Yiddish"
+ },
+ "yo": {
+ "name": "Yorubab"
+ },
+ "dje": {
+ "name": "Zarma"
+ },
+ "zu": {
+ "name": "Zulub"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/nb.json b/vendor/commerceguys/intl/resources/language/nb.json
new file mode 100644
index 000000000..463d40955
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/nb.json
@@ -0,0 +1,635 @@
+{
+ "af": {
+ "name": "afrikaans"
+ },
+ "agq": {
+ "name": "aghem"
+ },
+ "ak": {
+ "name": "akan"
+ },
+ "sq": {
+ "name": "albansk"
+ },
+ "am": {
+ "name": "amharisk"
+ },
+ "ar": {
+ "name": "arabisk"
+ },
+ "hy": {
+ "name": "armensk"
+ },
+ "az": {
+ "name": "aserbajdsjansk"
+ },
+ "as": {
+ "name": "assamesisk"
+ },
+ "ast": {
+ "name": "asturisk"
+ },
+ "asa": {
+ "name": "asu"
+ },
+ "ksf": {
+ "name": "bafia"
+ },
+ "bm": {
+ "name": "bambara"
+ },
+ "eu": {
+ "name": "baskisk"
+ },
+ "bas": {
+ "name": "basaa"
+ },
+ "bem": {
+ "name": "bemba"
+ },
+ "bez": {
+ "name": "bena"
+ },
+ "bn": {
+ "name": "bengali"
+ },
+ "brx": {
+ "name": "bodo"
+ },
+ "bs": {
+ "name": "bosnisk"
+ },
+ "br": {
+ "name": "bretonsk"
+ },
+ "bg": {
+ "name": "bulgarsk"
+ },
+ "my": {
+ "name": "burmesisk"
+ },
+ "chr": {
+ "name": "cherokesisk"
+ },
+ "da": {
+ "name": "dansk"
+ },
+ "dua": {
+ "name": "duala"
+ },
+ "dz": {
+ "name": "dzongkha"
+ },
+ "smn": {
+ "name": "enaresamisk"
+ },
+ "en": {
+ "name": "engelsk"
+ },
+ "en-AU": {
+ "name": "engelsk (Australia)"
+ },
+ "en-CA": {
+ "name": "engelsk (Canada)"
+ },
+ "en-GB": {
+ "name": "engelsk (Storbritannia)"
+ },
+ "eo": {
+ "name": "esperanto"
+ },
+ "et": {
+ "name": "estisk"
+ },
+ "ee": {
+ "name": "ewe"
+ },
+ "ewo": {
+ "name": "ewondo"
+ },
+ "fil": {
+ "name": "filipino"
+ },
+ "fi": {
+ "name": "finsk"
+ },
+ "nl-BE": {
+ "name": "flamsk"
+ },
+ "zh-Hans": {
+ "name": "forenklet kinesisk"
+ },
+ "fr": {
+ "name": "fransk"
+ },
+ "fr-CA": {
+ "name": "fransk (Canada)"
+ },
+ "fr-CH": {
+ "name": "fransk (Sveits)"
+ },
+ "fur": {
+ "name": "friuliansk"
+ },
+ "ff": {
+ "name": "fulfulde"
+ },
+ "fo": {
+ "name": "færøysk"
+ },
+ "gl": {
+ "name": "galisisk"
+ },
+ "lg": {
+ "name": "ganda"
+ },
+ "mg": {
+ "name": "gassisk"
+ },
+ "ka": {
+ "name": "georgisk"
+ },
+ "el": {
+ "name": "gresk"
+ },
+ "kl": {
+ "name": "grønlandsk"
+ },
+ "gu": {
+ "name": "gujarati"
+ },
+ "guz": {
+ "name": "gusii"
+ },
+ "ha": {
+ "name": "hausa"
+ },
+ "haw": {
+ "name": "hawaiisk"
+ },
+ "he": {
+ "name": "hebraisk"
+ },
+ "hi": {
+ "name": "hindi"
+ },
+ "be": {
+ "name": "hviterussisk"
+ },
+ "hsb": {
+ "name": "høysorbisk"
+ },
+ "ig": {
+ "name": "ibo"
+ },
+ "id": {
+ "name": "indonesisk"
+ },
+ "ga": {
+ "name": "irsk"
+ },
+ "is": {
+ "name": "islandsk"
+ },
+ "it": {
+ "name": "italiensk"
+ },
+ "sah": {
+ "name": "jakutisk"
+ },
+ "ja": {
+ "name": "japansk"
+ },
+ "yi": {
+ "name": "jiddisk"
+ },
+ "dyo": {
+ "name": "jola-fonyi"
+ },
+ "yo": {
+ "name": "joruba"
+ },
+ "kab": {
+ "name": "kabylsk"
+ },
+ "kkj": {
+ "name": "kako"
+ },
+ "kln": {
+ "name": "kalenjin"
+ },
+ "kam": {
+ "name": "kamba"
+ },
+ "kn": {
+ "name": "kannada"
+ },
+ "yue": {
+ "name": "kantonesisk"
+ },
+ "kea": {
+ "name": "kappverdisk"
+ },
+ "kk": {
+ "name": "kasakhisk"
+ },
+ "ks": {
+ "name": "kasjmiri"
+ },
+ "ca": {
+ "name": "katalansk"
+ },
+ "km": {
+ "name": "khmer"
+ },
+ "ebu": {
+ "name": "kiembu"
+ },
+ "cgg": {
+ "name": "kiga"
+ },
+ "ki": {
+ "name": "kikuyu"
+ },
+ "zh": {
+ "name": "kinesisk"
+ },
+ "rw": {
+ "name": "kinyarwanda"
+ },
+ "ky": {
+ "name": "kirgisisk"
+ },
+ "cu": {
+ "name": "kirkeslavisk"
+ },
+ "sw-CD": {
+ "name": "kongolesisk swahili"
+ },
+ "kok": {
+ "name": "konkani"
+ },
+ "ko": {
+ "name": "koreansk"
+ },
+ "kw": {
+ "name": "kornisk"
+ },
+ "khq": {
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "name": "koyraboro senni"
+ },
+ "hr": {
+ "name": "kroatisk"
+ },
+ "ckb": {
+ "name": "kurdisk (sorani)"
+ },
+ "nmg": {
+ "name": "kwasio"
+ },
+ "ksh": {
+ "name": "kølnsk"
+ },
+ "lkt": {
+ "name": "lakota"
+ },
+ "lag": {
+ "name": "langi"
+ },
+ "lo": {
+ "name": "laotisk"
+ },
+ "lv": {
+ "name": "latvisk"
+ },
+ "dsb": {
+ "name": "lavsorbisk"
+ },
+ "ln": {
+ "name": "lingala"
+ },
+ "lt": {
+ "name": "litauisk"
+ },
+ "lu": {
+ "name": "luba-katanga"
+ },
+ "luy": {
+ "name": "luhya"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "luxemburgsk"
+ },
+ "jmc": {
+ "name": "machame"
+ },
+ "mk": {
+ "name": "makedonsk"
+ },
+ "mgh": {
+ "name": "makhuwa-meetto"
+ },
+ "kde": {
+ "name": "makonde"
+ },
+ "ml": {
+ "name": "malayalam"
+ },
+ "ms": {
+ "name": "malayisk"
+ },
+ "mt": {
+ "name": "maltesisk"
+ },
+ "gv": {
+ "name": "mansk"
+ },
+ "mr": {
+ "name": "marathi"
+ },
+ "mas": {
+ "name": "masai"
+ },
+ "mfe": {
+ "name": "mauritisk-kreolsk"
+ },
+ "mzn": {
+ "name": "mazandarani"
+ },
+ "mer": {
+ "name": "meru"
+ },
+ "mgo": {
+ "name": "meta’"
+ },
+ "ro-MD": {
+ "name": "moldovsk"
+ },
+ "mn": {
+ "name": "mongolsk"
+ },
+ "mua": {
+ "name": "mundang"
+ },
+ "naq": {
+ "name": "nama"
+ },
+ "nl": {
+ "name": "nederlandsk"
+ },
+ "nds-NL": {
+ "name": "nedersaksisk"
+ },
+ "nds": {
+ "name": "nedertysk"
+ },
+ "ne": {
+ "name": "nepali"
+ },
+ "nnh": {
+ "name": "ngiemboon"
+ },
+ "jgo": {
+ "name": "ngomba"
+ },
+ "lrc": {
+ "name": "nord-luri"
+ },
+ "nd": {
+ "name": "nord-ndebele"
+ },
+ "se": {
+ "name": "nordsamisk"
+ },
+ "nb": {
+ "name": "norsk bokmål"
+ },
+ "nn": {
+ "name": "norsk nynorsk"
+ },
+ "nus": {
+ "name": "nuer"
+ },
+ "nyn": {
+ "name": "nyankole"
+ },
+ "or": {
+ "name": "oriya"
+ },
+ "om": {
+ "name": "oromo"
+ },
+ "os": {
+ "name": "ossetisk"
+ },
+ "ps": {
+ "name": "pashto"
+ },
+ "fa": {
+ "name": "persisk"
+ },
+ "pl": {
+ "name": "polsk"
+ },
+ "pt": {
+ "name": "portugisisk"
+ },
+ "pt-PT": {
+ "name": "portugisisk (Portugal)"
+ },
+ "prg": {
+ "name": "prøyssisk"
+ },
+ "pa": {
+ "name": "punjabi"
+ },
+ "qu": {
+ "name": "quechua"
+ },
+ "rm": {
+ "name": "retoromansk"
+ },
+ "rof": {
+ "name": "rombo"
+ },
+ "ro": {
+ "name": "rumensk"
+ },
+ "rn": {
+ "name": "rundi"
+ },
+ "ru": {
+ "name": "russisk"
+ },
+ "rwk": {
+ "name": "rwa"
+ },
+ "saq": {
+ "name": "samburu"
+ },
+ "sg": {
+ "name": "sango"
+ },
+ "sbp": {
+ "name": "sangu"
+ },
+ "seh": {
+ "name": "sena"
+ },
+ "tzm": {
+ "name": "sentralmarokkansk tamazight"
+ },
+ "sr": {
+ "name": "serbisk"
+ },
+ "ksb": {
+ "name": "shambala"
+ },
+ "sn": {
+ "name": "shona"
+ },
+ "ii": {
+ "name": "sichuan-yi"
+ },
+ "si": {
+ "name": "singalesisk"
+ },
+ "gd": {
+ "name": "skotsk-gælisk"
+ },
+ "sk": {
+ "name": "slovakisk"
+ },
+ "sl": {
+ "name": "slovensk"
+ },
+ "xog": {
+ "name": "soga"
+ },
+ "so": {
+ "name": "somali"
+ },
+ "es": {
+ "name": "spansk"
+ },
+ "es-MX": {
+ "name": "spansk (Mexico)"
+ },
+ "zgh": {
+ "name": "standard marrokansk tamazight"
+ },
+ "gsw": {
+ "name": "sveitsertysk"
+ },
+ "sv": {
+ "name": "svensk"
+ },
+ "sw": {
+ "name": "swahili"
+ },
+ "shi": {
+ "name": "tachelhit"
+ },
+ "dav": {
+ "name": "taita"
+ },
+ "ta": {
+ "name": "tamil"
+ },
+ "twq": {
+ "name": "tasawaq"
+ },
+ "te": {
+ "name": "telugu"
+ },
+ "teo": {
+ "name": "teso"
+ },
+ "th": {
+ "name": "thai"
+ },
+ "bo": {
+ "name": "tibetansk"
+ },
+ "ti": {
+ "name": "tigrinja"
+ },
+ "to": {
+ "name": "tongansk"
+ },
+ "zh-Hant": {
+ "name": "tradisjonell kinesisk"
+ },
+ "cs": {
+ "name": "tsjekkisk"
+ },
+ "ce": {
+ "name": "tsjetsjensk"
+ },
+ "tk": {
+ "name": "turkmensk"
+ },
+ "tr": {
+ "name": "tyrkisk"
+ },
+ "de": {
+ "name": "tysk"
+ },
+ "de-CH": {
+ "name": "tysk (Sveits)"
+ },
+ "de-AT": {
+ "name": "tysk (Østerrike)"
+ },
+ "ug": {
+ "name": "uigurisk"
+ },
+ "uk": {
+ "name": "ukrainsk"
+ },
+ "hu": {
+ "name": "ungarsk"
+ },
+ "ur": {
+ "name": "urdu"
+ },
+ "uz": {
+ "name": "usbekisk"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "fy": {
+ "name": "vestfrisisk"
+ },
+ "vi": {
+ "name": "vietnamesisk"
+ },
+ "vo": {
+ "name": "volapyk"
+ },
+ "vun": {
+ "name": "vunjo"
+ },
+ "cy": {
+ "name": "walisisk"
+ },
+ "wae": {
+ "name": "walsertysk"
+ },
+ "yav": {
+ "name": "yangben"
+ },
+ "dje": {
+ "name": "zarma"
+ },
+ "zu": {
+ "name": "zulu"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/nd.json b/vendor/commerceguys/intl/resources/language/nd.json
new file mode 100644
index 000000000..47bc6aaa5
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/nd.json
@@ -0,0 +1,632 @@
+{
+ "af": {
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "sq": {
+ "name": "Albanian"
+ },
+ "hy": {
+ "name": "Armenian"
+ },
+ "as": {
+ "name": "Assamese"
+ },
+ "ast": {
+ "name": "Asturian"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "az": {
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "eu": {
+ "name": "Basque"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "bs": {
+ "name": "Bosnian"
+ },
+ "br": {
+ "name": "Breton"
+ },
+ "yue": {
+ "name": "Cantonese"
+ },
+ "ca": {
+ "name": "Catalan"
+ },
+ "tzm": {
+ "name": "Central Atlas Tamazight"
+ },
+ "ckb": {
+ "name": "Central Kurdish"
+ },
+ "ce": {
+ "name": "Chechen"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "cu": {
+ "name": "Church Slavic"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "kw": {
+ "name": "Cornish"
+ },
+ "hr": {
+ "name": "Croatian"
+ },
+ "da": {
+ "name": "Danish"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "dz": {
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "eo": {
+ "name": "Esperanto"
+ },
+ "et": {
+ "name": "Estonian"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fo": {
+ "name": "Faroese"
+ },
+ "fil": {
+ "name": "Filipino"
+ },
+ "fi": {
+ "name": "Finnish"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "gl": {
+ "name": "Galician"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "ka": {
+ "name": "Georgian"
+ },
+ "gu": {
+ "name": "Gujarati"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "haw": {
+ "name": "Hawaiian"
+ },
+ "he": {
+ "name": "Hebrew"
+ },
+ "is": {
+ "name": "Icelandic"
+ },
+ "smn": {
+ "name": "Inari Sami"
+ },
+ "ga": {
+ "name": "Irish"
+ },
+ "ak": {
+ "name": "isi-Akhani"
+ },
+ "ar": {
+ "name": "isi-Alabhu"
+ },
+ "am": {
+ "name": "isi-Amaharikhi"
+ },
+ "be": {
+ "name": "isi-Bhelarashiyani"
+ },
+ "bn": {
+ "name": "isi-Bhengali"
+ },
+ "bg": {
+ "name": "isi-Bulgaria"
+ },
+ "my": {
+ "name": "isi-Burma"
+ },
+ "zh": {
+ "name": "isi-China"
+ },
+ "zh-Hans": {
+ "name": "isi-China (Hans)"
+ },
+ "zh-Hant": {
+ "name": "isi-China (Hant)"
+ },
+ "cs": {
+ "name": "isi-Czech"
+ },
+ "nl": {
+ "name": "isi-Dutch"
+ },
+ "nl-BE": {
+ "name": "isi-Dutch (Bhelgium)"
+ },
+ "fr": {
+ "name": "isi-Fulentshi"
+ },
+ "fr-CA": {
+ "name": "isi-Fulentshi (Khanada)"
+ },
+ "fr-CH": {
+ "name": "isi-Fulentshi (Switzerland)"
+ },
+ "el": {
+ "name": "isi-Giliki"
+ },
+ "hu": {
+ "name": "isi-Hangari"
+ },
+ "ha": {
+ "name": "isi-Hausa"
+ },
+ "hi": {
+ "name": "isi-Hindi"
+ },
+ "ig": {
+ "name": "isi-Igbo"
+ },
+ "id": {
+ "name": "isi-Indonesia"
+ },
+ "it": {
+ "name": "isi-Italiano"
+ },
+ "de": {
+ "name": "isi-Jalimani"
+ },
+ "de-AT": {
+ "name": "isi-Jalimani (Austria)"
+ },
+ "de-CH": {
+ "name": "isi-Jalimani (Switzerland)"
+ },
+ "ja": {
+ "name": "isi-Japhani"
+ },
+ "km": {
+ "name": "isi-Khambodiya"
+ },
+ "ko": {
+ "name": "isi-Koriya"
+ },
+ "ms": {
+ "name": "isi-Malayi"
+ },
+ "ne": {
+ "name": "isi-Nepali"
+ },
+ "en": {
+ "name": "isi-Ngisi"
+ },
+ "en-AU": {
+ "name": "isi-Ngisi (Australia)"
+ },
+ "en-CA": {
+ "name": "isi-Ngisi (Khanada)"
+ },
+ "en-GB": {
+ "name": "isi-Ngisi (United Kingdom)"
+ },
+ "fa": {
+ "name": "isi-Pheshiyani"
+ },
+ "pl": {
+ "name": "isi-Pholoshi"
+ },
+ "pa": {
+ "name": "isi-Phunjabi"
+ },
+ "pt": {
+ "name": "isi-Potukezi"
+ },
+ "pt-PT": {
+ "name": "isi-Potukezi (Portugal)"
+ },
+ "ru": {
+ "name": "isi-Rashiya"
+ },
+ "ro": {
+ "name": "isi-Romani"
+ },
+ "ro-MD": {
+ "name": "isi-Romani (Moldova)"
+ },
+ "rw": {
+ "name": "isi-Ruwanda"
+ },
+ "es": {
+ "name": "isi-Sipeyini"
+ },
+ "es-MX": {
+ "name": "isi-Sipeyini (Meksikho)"
+ },
+ "so": {
+ "name": "isi-Somali"
+ },
+ "sv": {
+ "name": "isi-Swidishi"
+ },
+ "ta": {
+ "name": "isi-Thamil"
+ },
+ "th": {
+ "name": "isi-Thayi"
+ },
+ "tr": {
+ "name": "isi-Thekishi"
+ },
+ "ur": {
+ "name": "isi-Udu"
+ },
+ "uk": {
+ "name": "isi-Ukrain"
+ },
+ "vi": {
+ "name": "isi-Vietnamese"
+ },
+ "yo": {
+ "name": "isi-Yorubha"
+ },
+ "zu": {
+ "name": "isi-Zulu"
+ },
+ "nd": {
+ "name": "isiNdebele"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabyle"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kl": {
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "kn": {
+ "name": "Kannada"
+ },
+ "ks": {
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "name": "Kazakh"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "ky": {
+ "name": "Kyrgyz"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "Lao"
+ },
+ "lv": {
+ "name": "Latvian"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "lt": {
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "mk": {
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "mg": {
+ "name": "Malagasy"
+ },
+ "ml": {
+ "name": "Malayalam"
+ },
+ "mt": {
+ "name": "Maltese"
+ },
+ "gv": {
+ "name": "Manx"
+ },
+ "mr": {
+ "name": "Marathi"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "mn": {
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nds-NL": {
+ "name": "nds (Netherlands)"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "se": {
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "or": {
+ "name": "Odia"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "os": {
+ "name": "Ossetic"
+ },
+ "ps": {
+ "name": "Pashto"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "qu": {
+ "name": "Quechua"
+ },
+ "rm": {
+ "name": "Romansh"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "rn": {
+ "name": "Rundi"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "sah": {
+ "name": "Sakha"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "gd": {
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "sr": {
+ "name": "Serbian"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "si": {
+ "name": "Sinhala"
+ },
+ "sk": {
+ "name": "Slovak"
+ },
+ "sl": {
+ "name": "Slovenian"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw-CD": {
+ "name": "sw (Democratic Republic of the Congo)"
+ },
+ "sw": {
+ "name": "Swahili"
+ },
+ "gsw": {
+ "name": "Swiss German"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "te": {
+ "name": "Telugu"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "bo": {
+ "name": "Tibetan"
+ },
+ "ti": {
+ "name": "Tigrinya"
+ },
+ "to": {
+ "name": "Tongan"
+ },
+ "tk": {
+ "name": "Turkmen"
+ },
+ "hsb": {
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "name": "Uyghur"
+ },
+ "uz": {
+ "name": "Uzbek"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "cy": {
+ "name": "Welsh"
+ },
+ "fy": {
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "yi": {
+ "name": "Yiddish"
+ },
+ "dje": {
+ "name": "Zarma"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/ne.json b/vendor/commerceguys/intl/resources/language/ne.json
new file mode 100644
index 000000000..619cb66ee
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/ne.json
@@ -0,0 +1,635 @@
+{
+ "en": {
+ "name": "अङ्ग्रेजी"
+ },
+ "az": {
+ "name": "अजरबैजानी"
+ },
+ "af": {
+ "name": "अफ्रिकान्स"
+ },
+ "am": {
+ "name": "अम्हारिक"
+ },
+ "ar": {
+ "name": "अरबी"
+ },
+ "sq": {
+ "name": "अल्बानियाली"
+ },
+ "ast": {
+ "name": "अस्टुरियाली"
+ },
+ "de-AT": {
+ "name": "अस्ट्रियाली जर्मन"
+ },
+ "en-AU": {
+ "name": "अस्ट्रेलियाली अङ्ग्रेजी"
+ },
+ "os": {
+ "name": "अोस्सेटिक"
+ },
+ "is": {
+ "name": "आइसल्यान्डियाली"
+ },
+ "ak": {
+ "name": "आकान"
+ },
+ "agq": {
+ "name": "आघेम"
+ },
+ "ga": {
+ "name": "आयरिस"
+ },
+ "hy": {
+ "name": "आर्मेनियाली"
+ },
+ "as": {
+ "name": "आसामी"
+ },
+ "asa": {
+ "name": "आसु"
+ },
+ "ig": {
+ "name": "इग्बो"
+ },
+ "it": {
+ "name": "इटालेली"
+ },
+ "smn": {
+ "name": "इनारी सामी"
+ },
+ "id": {
+ "name": "इन्डोनेसियाली"
+ },
+ "ee": {
+ "name": "इवी"
+ },
+ "ewo": {
+ "name": "इवोन्डो"
+ },
+ "et": {
+ "name": "इस्टोनियाली"
+ },
+ "ug": {
+ "name": "उइघुर"
+ },
+ "uz": {
+ "name": "उज्बेकी"
+ },
+ "or": {
+ "name": "उडिया"
+ },
+ "nd": {
+ "name": "उत्तरी न्डेबेले"
+ },
+ "lrc": {
+ "name": "उत्तरी लुरी"
+ },
+ "se": {
+ "name": "उत्तरी सामी"
+ },
+ "ur": {
+ "name": "उर्दु"
+ },
+ "ebu": {
+ "name": "एम्बु"
+ },
+ "eo": {
+ "name": "एस्पेरान्तो"
+ },
+ "om": {
+ "name": "ओरोमो"
+ },
+ "sw-CD": {
+ "name": "कङ्गो स्वाहिली"
+ },
+ "kn": {
+ "name": "कन्नाडा"
+ },
+ "kkj": {
+ "name": "काको"
+ },
+ "kk": {
+ "name": "काजाख"
+ },
+ "yue": {
+ "name": "कान्टोनियाली"
+ },
+ "kab": {
+ "name": "काबिल"
+ },
+ "kea": {
+ "name": "काबुभेर्डियानु"
+ },
+ "kam": {
+ "name": "काम्बा"
+ },
+ "kl": {
+ "name": "कालालिसुट"
+ },
+ "kln": {
+ "name": "कालेन्जिन"
+ },
+ "ks": {
+ "name": "कास्मिरी"
+ },
+ "ki": {
+ "name": "किकुयु"
+ },
+ "rw": {
+ "name": "किन्यारवान्डा"
+ },
+ "ky": {
+ "name": "किर्गिज"
+ },
+ "tzm": {
+ "name": "केन्द्रीय एट्लास टामाजिघट"
+ },
+ "ckb": {
+ "name": "केन्द्रीय कुर्दी"
+ },
+ "kok": {
+ "name": "कोन्कानी"
+ },
+ "khq": {
+ "name": "कोयरा चिनी"
+ },
+ "ses": {
+ "name": "कोयराबोरो सेन्नी"
+ },
+ "ko": {
+ "name": "कोरियाली"
+ },
+ "kw": {
+ "name": "कोर्निस"
+ },
+ "ksh": {
+ "name": "कोलोग्नियाली"
+ },
+ "ca": {
+ "name": "क्याटालन"
+ },
+ "en-CA": {
+ "name": "क्यानाडेली अङ्ग्रेजी"
+ },
+ "fr-CA": {
+ "name": "क्यानेडाली फ्रान्सेली"
+ },
+ "hr": {
+ "name": "क्रोयसियाली"
+ },
+ "nmg": {
+ "name": "क्वासियो"
+ },
+ "qu": {
+ "name": "क्वेचुवा"
+ },
+ "km": {
+ "name": "खमेर"
+ },
+ "gl": {
+ "name": "गलिसियाली"
+ },
+ "lg": {
+ "name": "गान्डा"
+ },
+ "gu": {
+ "name": "गुजराती"
+ },
+ "guz": {
+ "name": "गुसी"
+ },
+ "el": {
+ "name": "ग्रीक"
+ },
+ "cu": {
+ "name": "चर्च स्लाभिक"
+ },
+ "cgg": {
+ "name": "चिगा"
+ },
+ "zh": {
+ "name": "चिनियाँ"
+ },
+ "cs": {
+ "name": "चेक"
+ },
+ "ce": {
+ "name": "चेचेन"
+ },
+ "chr": {
+ "name": "चेरोकी"
+ },
+ "ka": {
+ "name": "जर्जियाली"
+ },
+ "de": {
+ "name": "जर्मन"
+ },
+ "dje": {
+ "name": "जर्मा"
+ },
+ "ja": {
+ "name": "जापानी"
+ },
+ "zu": {
+ "name": "जुलु"
+ },
+ "dz": {
+ "name": "जोङ्खा"
+ },
+ "dyo": {
+ "name": "जोला-फोनिल"
+ },
+ "tk": {
+ "name": "टर्कमेन"
+ },
+ "tr": {
+ "name": "टर्किश"
+ },
+ "shi": {
+ "name": "टाचेल्हिट"
+ },
+ "ti": {
+ "name": "टिग्रिन्या"
+ },
+ "teo": {
+ "name": "टेसो"
+ },
+ "to": {
+ "name": "टोङ्गन"
+ },
+ "nl": {
+ "name": "डच"
+ },
+ "da": {
+ "name": "डेनिस"
+ },
+ "nds": {
+ "name": "तल्लो जर्मन"
+ },
+ "nds-NL": {
+ "name": "तल्लो साक्सन"
+ },
+ "dsb": {
+ "name": "तल्लो सोर्बियन"
+ },
+ "dav": {
+ "name": "ताइता"
+ },
+ "ta": {
+ "name": "तामिल"
+ },
+ "twq": {
+ "name": "तासावाक"
+ },
+ "bo": {
+ "name": "तिब्बती"
+ },
+ "te": {
+ "name": "तेलुगु"
+ },
+ "th": {
+ "name": "थाई"
+ },
+ "dua": {
+ "name": "दुवाला"
+ },
+ "nn": {
+ "name": "नर्वेली नाइनोर्स्क"
+ },
+ "nb": {
+ "name": "नर्वेली बोकमाल"
+ },
+ "naq": {
+ "name": "नामा"
+ },
+ "nus": {
+ "name": "नुएर"
+ },
+ "ne": {
+ "name": "नेपाली"
+ },
+ "nnh": {
+ "name": "न्गिएम्बुन"
+ },
+ "jgo": {
+ "name": "न्गोम्बा"
+ },
+ "nyn": {
+ "name": "न्यान्कोल"
+ },
+ "pa": {
+ "name": "पंजाबी"
+ },
+ "zh-Hant": {
+ "name": "परम्परागत चिनियाँ"
+ },
+ "ps": {
+ "name": "पास्तो"
+ },
+ "pt": {
+ "name": "पोर्तुगी"
+ },
+ "pl": {
+ "name": "पोलिस"
+ },
+ "prg": {
+ "name": "प्रसियाली"
+ },
+ "fa": {
+ "name": "फारसी"
+ },
+ "fo": {
+ "name": "फारोज"
+ },
+ "fi": {
+ "name": "फिनिस"
+ },
+ "fil": {
+ "name": "फिलिपिनी"
+ },
+ "ff": {
+ "name": "फुलाह"
+ },
+ "fr": {
+ "name": "फ्रान्सेली"
+ },
+ "fr-CH": {
+ "name": "फ्रान्सेली (स्विजरल्याण्ड)"
+ },
+ "fur": {
+ "name": "फ्रिउलियाली"
+ },
+ "fy": {
+ "name": "फ्रिजियन"
+ },
+ "nl-BE": {
+ "name": "फ्लेमिस"
+ },
+ "bn": {
+ "name": "बंगाली"
+ },
+ "my": {
+ "name": "बर्मेली"
+ },
+ "ksf": {
+ "name": "बाफिया"
+ },
+ "bm": {
+ "name": "बाम्बारा"
+ },
+ "bas": {
+ "name": "बासा"
+ },
+ "eu": {
+ "name": "बास्क"
+ },
+ "bg": {
+ "name": "बुल्गेरियाली"
+ },
+ "bez": {
+ "name": "बेना"
+ },
+ "bem": {
+ "name": "बेम्बा"
+ },
+ "en-GB": {
+ "name": "बेलायती अङ्ग्रेजी"
+ },
+ "be": {
+ "name": "बेलारुसी"
+ },
+ "brx": {
+ "name": "बोडो"
+ },
+ "bs": {
+ "name": "बोस्नियाली"
+ },
+ "br": {
+ "name": "ब्रेटन"
+ },
+ "vai": {
+ "name": "भाइ"
+ },
+ "vi": {
+ "name": "भियतनामी"
+ },
+ "vun": {
+ "name": "भुन्जो"
+ },
+ "vo": {
+ "name": "भोलापिक"
+ },
+ "mn": {
+ "name": "मङ्गोलियाली"
+ },
+ "mzn": {
+ "name": "मजानडेरानी"
+ },
+ "mr": {
+ "name": "मराठी"
+ },
+ "ml": {
+ "name": "मलयालम"
+ },
+ "mg": {
+ "name": "मलागासी"
+ },
+ "ms": {
+ "name": "मलाय"
+ },
+ "mas": {
+ "name": "मसाई"
+ },
+ "kde": {
+ "name": "माकोन्डे"
+ },
+ "mgh": {
+ "name": "माखुवा-मिट्टो"
+ },
+ "jmc": {
+ "name": "माचामे"
+ },
+ "hsb": {
+ "name": "माथिल्लो सोर्बियन"
+ },
+ "zgh": {
+ "name": "मानक मोरोक्कोन तामाजिघट"
+ },
+ "gv": {
+ "name": "मान्क्स"
+ },
+ "mt": {
+ "name": "माल्टिज"
+ },
+ "mua": {
+ "name": "मुन्डाङ"
+ },
+ "es-MX": {
+ "name": "मेक्सिकन स्पेनी"
+ },
+ "mgo": {
+ "name": "मेटा"
+ },
+ "mer": {
+ "name": "मेरू"
+ },
+ "mfe": {
+ "name": "मोरिसेन"
+ },
+ "mk": {
+ "name": "म्यासेडोनियाली"
+ },
+ "yav": {
+ "name": "याङ्बेन"
+ },
+ "yi": {
+ "name": "यिद्दिस"
+ },
+ "uk": {
+ "name": "युक्रेनी"
+ },
+ "pt-PT": {
+ "name": "युरोपेली पोर्तुगी"
+ },
+ "yo": {
+ "name": "योरूवा"
+ },
+ "ru": {
+ "name": "रसियाली"
+ },
+ "rn": {
+ "name": "रुन्डी"
+ },
+ "ro": {
+ "name": "रोमानियाली"
+ },
+ "ro-MD": {
+ "name": "रोमानियाली (माल्डोभा)"
+ },
+ "rm": {
+ "name": "रोमानिस"
+ },
+ "rof": {
+ "name": "रोम्बो"
+ },
+ "rwk": {
+ "name": "र्‌वा"
+ },
+ "lb": {
+ "name": "लक्जेम्बर्गी"
+ },
+ "lo": {
+ "name": "लाओ"
+ },
+ "lkt": {
+ "name": "लाकोता"
+ },
+ "lag": {
+ "name": "लाङ्गी"
+ },
+ "lv": {
+ "name": "लात्भियाली"
+ },
+ "ln": {
+ "name": "लिङ्गाला"
+ },
+ "lt": {
+ "name": "लिथुआनियाली"
+ },
+ "luy": {
+ "name": "लुइया"
+ },
+ "luo": {
+ "name": "लुओ"
+ },
+ "lu": {
+ "name": "लुबा-काताङ्गा"
+ },
+ "wae": {
+ "name": "वाल्सर"
+ },
+ "cy": {
+ "name": "वेल्श"
+ },
+ "ksb": {
+ "name": "शाम्बाला"
+ },
+ "sn": {
+ "name": "शोना"
+ },
+ "zh-Hans": {
+ "name": "सरलिकृत चिनियाँ"
+ },
+ "sr": {
+ "name": "सर्बियाली"
+ },
+ "sah": {
+ "name": "साखा"
+ },
+ "sbp": {
+ "name": "साङ्गु"
+ },
+ "sg": {
+ "name": "साङ्गो"
+ },
+ "saq": {
+ "name": "साम्बुरू"
+ },
+ "ii": {
+ "name": "सिचुआन यि"
+ },
+ "si": {
+ "name": "सिन्हाली"
+ },
+ "seh": {
+ "name": "सेना"
+ },
+ "xog": {
+ "name": "सोगा"
+ },
+ "so": {
+ "name": "सोमाली"
+ },
+ "gd": {
+ "name": "स्कटिस गाएलिक"
+ },
+ "es": {
+ "name": "स्पेनी"
+ },
+ "sk": {
+ "name": "स्लोभाकियाली"
+ },
+ "sl": {
+ "name": "स्लोभेनियाली"
+ },
+ "sw": {
+ "name": "स्वाहिली"
+ },
+ "sv": {
+ "name": "स्विडिस"
+ },
+ "gsw": {
+ "name": "स्वीस जर्मन"
+ },
+ "de-CH": {
+ "name": "स्वीस हाई जर्मन"
+ },
+ "hu": {
+ "name": "हङ्गेरियाली"
+ },
+ "haw": {
+ "name": "हवाइयन"
+ },
+ "ha": {
+ "name": "हाउसा"
+ },
+ "hi": {
+ "name": "हिन्दी"
+ },
+ "he": {
+ "name": "हिब्रु"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/nl.json b/vendor/commerceguys/intl/resources/language/nl.json
new file mode 100644
index 000000000..0aa020170
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/nl.json
@@ -0,0 +1,635 @@
+{
+ "om": {
+ "name": "Afaan Oromo"
+ },
+ "af": {
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "ak": {
+ "name": "Akan"
+ },
+ "sq": {
+ "name": "Albanees"
+ },
+ "am": {
+ "name": "Amhaars"
+ },
+ "ar": {
+ "name": "Arabisch"
+ },
+ "hy": {
+ "name": "Armeens"
+ },
+ "as": {
+ "name": "Assamees"
+ },
+ "ast": {
+ "name": "Asturisch"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "az": {
+ "name": "Azerbeidzjaans"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bas": {
+ "name": "Basa"
+ },
+ "eu": {
+ "name": "Baskisch"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "bn": {
+ "name": "Bengaals"
+ },
+ "my": {
+ "name": "Birmaans"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "bs": {
+ "name": "Bosnisch"
+ },
+ "br": {
+ "name": "Bretons"
+ },
+ "bg": {
+ "name": "Bulgaars"
+ },
+ "ca": {
+ "name": "Catalaans"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "zh": {
+ "name": "Chinees"
+ },
+ "zh-Hant": {
+ "name": "Chinees (traditioneel)"
+ },
+ "zh-Hans": {
+ "name": "Chinees (vereenvoudigd)"
+ },
+ "kw": {
+ "name": "Cornish"
+ },
+ "da": {
+ "name": "Deens"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "de": {
+ "name": "Duits"
+ },
+ "de-AT": {
+ "name": "Duits (Oostenrijk)"
+ },
+ "de-CH": {
+ "name": "Duits (Zwitserland)"
+ },
+ "dz": {
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "en": {
+ "name": "Engels"
+ },
+ "en-AU": {
+ "name": "Engels (Australië)"
+ },
+ "en-CA": {
+ "name": "Engels (Canada)"
+ },
+ "en-GB": {
+ "name": "Engels (Verenigd Koninkrijk)"
+ },
+ "eo": {
+ "name": "Esperanto"
+ },
+ "et": {
+ "name": "Estisch"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fo": {
+ "name": "Faeröers"
+ },
+ "fil": {
+ "name": "Filipijns"
+ },
+ "fi": {
+ "name": "Fins"
+ },
+ "fr": {
+ "name": "Frans"
+ },
+ "fr-CA": {
+ "name": "Frans (Canada)"
+ },
+ "fr-CH": {
+ "name": "Frans (Zwitserland)"
+ },
+ "fy": {
+ "name": "Fries"
+ },
+ "fur": {
+ "name": "Friulisch"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "gl": {
+ "name": "Galicisch"
+ },
+ "ka": {
+ "name": "Georgisch"
+ },
+ "ki": {
+ "name": "Gikuyu"
+ },
+ "el": {
+ "name": "Grieks"
+ },
+ "kl": {
+ "name": "Groenlands"
+ },
+ "gu": {
+ "name": "Gujarati"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "ha": {
+ "name": "Hausa"
+ },
+ "haw": {
+ "name": "Hawaïaans"
+ },
+ "he": {
+ "name": "Hebreeuws"
+ },
+ "hi": {
+ "name": "Hindi"
+ },
+ "hu": {
+ "name": "Hongaars"
+ },
+ "ga": {
+ "name": "Iers"
+ },
+ "ig": {
+ "name": "Igbo"
+ },
+ "is": {
+ "name": "IJslands"
+ },
+ "smn": {
+ "name": "Inari-Samisch"
+ },
+ "id": {
+ "name": "Indonesisch"
+ },
+ "it": {
+ "name": "Italiaans"
+ },
+ "sah": {
+ "name": "Jakoets"
+ },
+ "ja": {
+ "name": "Japans"
+ },
+ "yi": {
+ "name": "Jiddisch"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kaapverdisch Creools"
+ },
+ "kab": {
+ "name": "Kabylisch"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "kn": {
+ "name": "Kannada"
+ },
+ "yue": {
+ "name": "Kantonees"
+ },
+ "ks": {
+ "name": "Kasjmiri"
+ },
+ "kk": {
+ "name": "Kazachs"
+ },
+ "cu": {
+ "name": "Kerkslavisch"
+ },
+ "km": {
+ "name": "Khmer"
+ },
+ "rw": {
+ "name": "Kinyarwanda"
+ },
+ "ky": {
+ "name": "Kirgizisch"
+ },
+ "rn": {
+ "name": "Kirundi"
+ },
+ "ksh": {
+ "name": "Kölsch"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "ko": {
+ "name": "Koreaans"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "hr": {
+ "name": "Kroatisch"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "Laotiaans"
+ },
+ "lv": {
+ "name": "Lets"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "lt": {
+ "name": "Litouws"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "lg": {
+ "name": "Luganda"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "Luxemburgs"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "mas": {
+ "name": "Maa"
+ },
+ "mk": {
+ "name": "Macedonisch"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "mg": {
+ "name": "Malagassisch"
+ },
+ "ml": {
+ "name": "Malayalam"
+ },
+ "ms": {
+ "name": "Maleis"
+ },
+ "mt": {
+ "name": "Maltees"
+ },
+ "gv": {
+ "name": "Manx"
+ },
+ "mr": {
+ "name": "Marathi"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Meta’"
+ },
+ "mn": {
+ "name": "Mongools"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nl": {
+ "name": "Nederlands"
+ },
+ "nl-BE": {
+ "name": "Nederlands (België)"
+ },
+ "nds": {
+ "name": "Nedersaksisch"
+ },
+ "nds-NL": {
+ "name": "Nedersaksisch (Nederland)"
+ },
+ "dsb": {
+ "name": "Nedersorbisch"
+ },
+ "ne": {
+ "name": "Nepalees"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "nmg": {
+ "name": "Ngumba"
+ },
+ "nd": {
+ "name": "Noord-Ndebele"
+ },
+ "se": {
+ "name": "Noord-Samisch"
+ },
+ "lrc": {
+ "name": "Noordelijk Luri"
+ },
+ "nb": {
+ "name": "Noors - Bokmål"
+ },
+ "nn": {
+ "name": "Noors - Nynorsk"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "or": {
+ "name": "Odia"
+ },
+ "ug": {
+ "name": "Oeigoers"
+ },
+ "uk": {
+ "name": "Oekraïens"
+ },
+ "uz": {
+ "name": "Oezbeeks"
+ },
+ "hsb": {
+ "name": "Oppersorbisch"
+ },
+ "os": {
+ "name": "Ossetisch"
+ },
+ "prg": {
+ "name": "Oudpruisisch"
+ },
+ "ps": {
+ "name": "Pasjtoe"
+ },
+ "fa": {
+ "name": "Perzisch"
+ },
+ "pl": {
+ "name": "Pools"
+ },
+ "pt": {
+ "name": "Portugees"
+ },
+ "pt-PT": {
+ "name": "Portugees (Portugal)"
+ },
+ "pa": {
+ "name": "Punjabi"
+ },
+ "qu": {
+ "name": "Quechua"
+ },
+ "rm": {
+ "name": "Reto-Romaans"
+ },
+ "ro": {
+ "name": "Roemeens"
+ },
+ "ro-MD": {
+ "name": "Roemeens (Moldavië)"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "ru": {
+ "name": "Russisch"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "gd": {
+ "name": "Schots-Gaelisch"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "sr": {
+ "name": "Servisch"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "si": {
+ "name": "Singalees"
+ },
+ "sl": {
+ "name": "Sloveens"
+ },
+ "sk": {
+ "name": "Slowaaks"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "so": {
+ "name": "Somalisch"
+ },
+ "ckb": {
+ "name": "Soranî"
+ },
+ "es": {
+ "name": "Spaans"
+ },
+ "es-MX": {
+ "name": "Spaans (Mexico)"
+ },
+ "zgh": {
+ "name": "Standaard Marokkaanse Tamazight"
+ },
+ "sw": {
+ "name": "Swahili"
+ },
+ "sw-CD": {
+ "name": "Swahili (Congo-Kinshasa)"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "tzm": {
+ "name": "Tamazight (Centraal-Marokko)"
+ },
+ "ta": {
+ "name": "Tamil"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "shi": {
+ "name": "Tashelhiyt"
+ },
+ "te": {
+ "name": "Telugu"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "th": {
+ "name": "Thai"
+ },
+ "bo": {
+ "name": "Tibetaans"
+ },
+ "ti": {
+ "name": "Tigrinya"
+ },
+ "to": {
+ "name": "Tongaans"
+ },
+ "cs": {
+ "name": "Tsjechisch"
+ },
+ "ce": {
+ "name": "Tsjetsjeens"
+ },
+ "tk": {
+ "name": "Turkmeens"
+ },
+ "tr": {
+ "name": "Turks"
+ },
+ "ur": {
+ "name": "Urdu"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vi": {
+ "name": "Vietnamees"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "cy": {
+ "name": "Welsh"
+ },
+ "be": {
+ "name": "Wit-Russisch"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "ii": {
+ "name": "Yi"
+ },
+ "yo": {
+ "name": "Yoruba"
+ },
+ "dje": {
+ "name": "Zarma"
+ },
+ "zu": {
+ "name": "Zoeloe"
+ },
+ "sv": {
+ "name": "Zweeds"
+ },
+ "gsw": {
+ "name": "Zwitserduits"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/nmg.json b/vendor/commerceguys/intl/resources/language/nmg.json
new file mode 100644
index 000000000..db6014d61
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/nmg.json
@@ -0,0 +1,632 @@
+{
+ "af": {
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "sq": {
+ "name": "Albanian"
+ },
+ "hy": {
+ "name": "Armenian"
+ },
+ "as": {
+ "name": "Assamese"
+ },
+ "ast": {
+ "name": "Asturian"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "az": {
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "eu": {
+ "name": "Basque"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "bs": {
+ "name": "Bosnian"
+ },
+ "br": {
+ "name": "Breton"
+ },
+ "yue": {
+ "name": "Cantonese"
+ },
+ "ca": {
+ "name": "Catalan"
+ },
+ "tzm": {
+ "name": "Central Atlas Tamazight"
+ },
+ "ckb": {
+ "name": "Central Kurdish"
+ },
+ "ce": {
+ "name": "Chechen"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "cu": {
+ "name": "Church Slavic"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "kw": {
+ "name": "Cornish"
+ },
+ "hr": {
+ "name": "Croatian"
+ },
+ "da": {
+ "name": "Danish"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "dz": {
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "eo": {
+ "name": "Esperanto"
+ },
+ "et": {
+ "name": "Estonian"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fr": {
+ "name": "Fala"
+ },
+ "fr-CA": {
+ "name": "Fala (Kanada)"
+ },
+ "fr-CH": {
+ "name": "Fala (Switzɛrland)"
+ },
+ "fo": {
+ "name": "Faroese"
+ },
+ "fil": {
+ "name": "Filipino"
+ },
+ "fi": {
+ "name": "Finnish"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "gl": {
+ "name": "Galician"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "ka": {
+ "name": "Georgian"
+ },
+ "gu": {
+ "name": "Gujarati"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "haw": {
+ "name": "Hawaiian"
+ },
+ "he": {
+ "name": "Hebrew"
+ },
+ "is": {
+ "name": "Icelandic"
+ },
+ "smn": {
+ "name": "Inari Sami"
+ },
+ "ga": {
+ "name": "Irish"
+ },
+ "de": {
+ "name": "Jáman"
+ },
+ "de-AT": {
+ "name": "Jáman (Ötrish)"
+ },
+ "de-CH": {
+ "name": "Jáman (Switzɛrland)"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabyle"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kl": {
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "kn": {
+ "name": "Kannada"
+ },
+ "ks": {
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "name": "Kazakh"
+ },
+ "ak": {
+ "name": "Kiɛl akan"
+ },
+ "am": {
+ "name": "Kiɛl amaria"
+ },
+ "ar": {
+ "name": "Kiɛl b’árabe"
+ },
+ "hi": {
+ "name": "Kiɛl b’indien"
+ },
+ "hu": {
+ "name": "Kiɛl b’ɔ́ngrois"
+ },
+ "uk": {
+ "name": "Kiɛl b’ukrɛ̄nien"
+ },
+ "be": {
+ "name": "Kiɛl belarussie"
+ },
+ "bn": {
+ "name": "Kiɛl bengalia"
+ },
+ "my": {
+ "name": "Kiɛl birmania"
+ },
+ "zh": {
+ "name": "Kiɛl bó chinois"
+ },
+ "zh-Hans": {
+ "name": "Kiɛl bó chinois (Hans)"
+ },
+ "zh-Hant": {
+ "name": "Kiɛl bó chinois (Hant)"
+ },
+ "el": {
+ "name": "Kiɛl bó grɛk"
+ },
+ "ja": {
+ "name": "Kiɛl bó japonɛ̌"
+ },
+ "km": {
+ "name": "Kiɛl bó mɛr"
+ },
+ "pt": {
+ "name": "Kiɛl bó pɔ̄rtugɛ̂"
+ },
+ "pt-PT": {
+ "name": "Kiɛl bó pɔ̄rtugɛ̂ (Pɔrtugal)"
+ },
+ "ro": {
+ "name": "Kiɛl bó rumɛ̂n"
+ },
+ "ro-MD": {
+ "name": "Kiɛl bó rumɛ̂n (Mɔldavia)"
+ },
+ "sv": {
+ "name": "Kiɛl bó suedois"
+ },
+ "cs": {
+ "name": "Kiɛl bó tchɛk"
+ },
+ "tr": {
+ "name": "Kiɛl bó turk"
+ },
+ "nl": {
+ "name": "Kiɛl bóllandais"
+ },
+ "nl-BE": {
+ "name": "Kiɛl bóllandais (Bɛlgik)"
+ },
+ "bg": {
+ "name": "Kiɛl bulgaria"
+ },
+ "ig": {
+ "name": "Kiɛl ikbo"
+ },
+ "id": {
+ "name": "Kiɛl indonesie"
+ },
+ "it": {
+ "name": "Kiɛl italia"
+ },
+ "ko": {
+ "name": "Kiɛl koré"
+ },
+ "ms": {
+ "name": "Kiɛl Malɛ̌siā"
+ },
+ "ha": {
+ "name": "Kiɛl máwúsá"
+ },
+ "ne": {
+ "name": "Kiɛl nepal"
+ },
+ "pa": {
+ "name": "Kiɛl pɛndjabi"
+ },
+ "fa": {
+ "name": "Kiɛl pɛrsia"
+ },
+ "pl": {
+ "name": "Kiɛl pɔlɔŋe"
+ },
+ "ru": {
+ "name": "Kiɛl russia"
+ },
+ "rw": {
+ "name": "Kiɛl rwandā"
+ },
+ "so": {
+ "name": "Kiɛl somaliā"
+ },
+ "ta": {
+ "name": "Kiɛl tamul"
+ },
+ "th": {
+ "name": "Kiɛl thaï"
+ },
+ "ur": {
+ "name": "Kiɛl úrdu"
+ },
+ "vi": {
+ "name": "Kiɛl viɛtnam"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "ky": {
+ "name": "Kyrgyz"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "Lao"
+ },
+ "lv": {
+ "name": "Latvian"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "lt": {
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "mk": {
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "mg": {
+ "name": "Malagasy"
+ },
+ "ml": {
+ "name": "Malayalam"
+ },
+ "mt": {
+ "name": "Maltese"
+ },
+ "gv": {
+ "name": "Manx"
+ },
+ "mr": {
+ "name": "Marathi"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "mn": {
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nds-NL": {
+ "name": "nds (Nedɛrland)"
+ },
+ "en": {
+ "name": "Ngɛ̄lɛ̄n"
+ },
+ "en-CA": {
+ "name": "Ngɛ̄lɛ̄n (Kanada)"
+ },
+ "en-GB": {
+ "name": "Ngɛ̄lɛ̄n (Nlambɔ́ Ngɛlɛn)"
+ },
+ "en-AU": {
+ "name": "Ngɛ̄lɛ̄n (Östraliá)"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "nd": {
+ "name": "North Ndebele"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "se": {
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "or": {
+ "name": "Odia"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "os": {
+ "name": "Ossetic"
+ },
+ "es": {
+ "name": "Paŋá"
+ },
+ "es-MX": {
+ "name": "Paŋá (Mɛxik)"
+ },
+ "ps": {
+ "name": "Pashto"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "qu": {
+ "name": "Quechua"
+ },
+ "rm": {
+ "name": "Romansh"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "rn": {
+ "name": "Rundi"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "sah": {
+ "name": "Sakha"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "gd": {
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "sr": {
+ "name": "Serbian"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "si": {
+ "name": "Sinhala"
+ },
+ "sk": {
+ "name": "Slovak"
+ },
+ "sl": {
+ "name": "Slovenian"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw-CD": {
+ "name": "sw (Kongó Zaïre)"
+ },
+ "sw": {
+ "name": "Swahili"
+ },
+ "gsw": {
+ "name": "Swiss German"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "te": {
+ "name": "Telugu"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "bo": {
+ "name": "Tibetan"
+ },
+ "ti": {
+ "name": "Tigrinya"
+ },
+ "to": {
+ "name": "Tongan"
+ },
+ "tk": {
+ "name": "Turkmen"
+ },
+ "hsb": {
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "name": "Uyghur"
+ },
+ "uz": {
+ "name": "Uzbek"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "cy": {
+ "name": "Welsh"
+ },
+ "fy": {
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "yi": {
+ "name": "Yiddish"
+ },
+ "yo": {
+ "name": "Yorúbâ"
+ },
+ "dje": {
+ "name": "Zarma"
+ },
+ "zu": {
+ "name": "Zulu"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/nn.json b/vendor/commerceguys/intl/resources/language/nn.json
new file mode 100644
index 000000000..7432daf82
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/nn.json
@@ -0,0 +1,635 @@
+{
+ "af": {
+ "name": "afrikaans"
+ },
+ "agq": {
+ "name": "aghem"
+ },
+ "ak": {
+ "name": "akan"
+ },
+ "sq": {
+ "name": "albansk"
+ },
+ "am": {
+ "name": "amharisk"
+ },
+ "ar": {
+ "name": "arabisk"
+ },
+ "hy": {
+ "name": "armensk"
+ },
+ "az": {
+ "name": "aserbajdsjansk"
+ },
+ "as": {
+ "name": "assamesisk"
+ },
+ "ast": {
+ "name": "asturisk"
+ },
+ "asa": {
+ "name": "asu (Tanzania)"
+ },
+ "ksf": {
+ "name": "bafia"
+ },
+ "bm": {
+ "name": "bambara"
+ },
+ "bas": {
+ "name": "basa"
+ },
+ "eu": {
+ "name": "baskisk"
+ },
+ "bem": {
+ "name": "bemba"
+ },
+ "bez": {
+ "name": "bena (Tanzania)"
+ },
+ "bn": {
+ "name": "bengali"
+ },
+ "brx": {
+ "name": "bodo"
+ },
+ "nb": {
+ "name": "bokmål"
+ },
+ "bs": {
+ "name": "bosnisk"
+ },
+ "br": {
+ "name": "bretonsk"
+ },
+ "en-GB": {
+ "name": "britisk engelsk"
+ },
+ "bg": {
+ "name": "bulgarsk"
+ },
+ "my": {
+ "name": "burmesisk"
+ },
+ "chr": {
+ "name": "cherokee"
+ },
+ "da": {
+ "name": "dansk"
+ },
+ "dua": {
+ "name": "duala"
+ },
+ "dz": {
+ "name": "dzongkha"
+ },
+ "ebu": {
+ "name": "embu"
+ },
+ "smn": {
+ "name": "enaresamisk"
+ },
+ "en": {
+ "name": "engelsk"
+ },
+ "en-AU": {
+ "name": "engelsk (Australia)"
+ },
+ "en-CA": {
+ "name": "engelsk (Canada)"
+ },
+ "eo": {
+ "name": "esperanto"
+ },
+ "et": {
+ "name": "estisk"
+ },
+ "ee": {
+ "name": "ewe"
+ },
+ "ewo": {
+ "name": "ewondo"
+ },
+ "fil": {
+ "name": "filippinsk"
+ },
+ "fi": {
+ "name": "finsk"
+ },
+ "nl-BE": {
+ "name": "flamsk"
+ },
+ "zh-Hans": {
+ "name": "forenkla kinesisk"
+ },
+ "fr": {
+ "name": "fransk"
+ },
+ "fr-CA": {
+ "name": "fransk (Canada)"
+ },
+ "fr-CH": {
+ "name": "fransk (Sveits)"
+ },
+ "fur": {
+ "name": "friulisk"
+ },
+ "ff": {
+ "name": "fulfulde"
+ },
+ "fo": {
+ "name": "færøysk"
+ },
+ "gl": {
+ "name": "galicisk"
+ },
+ "lg": {
+ "name": "ganda"
+ },
+ "ka": {
+ "name": "georgisk"
+ },
+ "el": {
+ "name": "gresk"
+ },
+ "kl": {
+ "name": "grønlandsk (kalaallisut)"
+ },
+ "gu": {
+ "name": "gujarati"
+ },
+ "guz": {
+ "name": "gusii"
+ },
+ "ha": {
+ "name": "hausa"
+ },
+ "haw": {
+ "name": "hawaiisk"
+ },
+ "he": {
+ "name": "hebraisk"
+ },
+ "hi": {
+ "name": "hindi"
+ },
+ "hsb": {
+ "name": "høgsorbisk"
+ },
+ "ig": {
+ "name": "ibo"
+ },
+ "id": {
+ "name": "indonesisk"
+ },
+ "ga": {
+ "name": "irsk"
+ },
+ "is": {
+ "name": "islandsk"
+ },
+ "it": {
+ "name": "italiensk"
+ },
+ "ja": {
+ "name": "japansk"
+ },
+ "yi": {
+ "name": "jiddisk"
+ },
+ "dyo": {
+ "name": "jola-fonyi"
+ },
+ "yo": {
+ "name": "joruba"
+ },
+ "kea": {
+ "name": "kabuverdianu"
+ },
+ "kab": {
+ "name": "kabyle"
+ },
+ "kkj": {
+ "name": "kako"
+ },
+ "kln": {
+ "name": "kalenjin"
+ },
+ "kam": {
+ "name": "kamba"
+ },
+ "kn": {
+ "name": "kannada"
+ },
+ "yue": {
+ "name": "kantonesisk"
+ },
+ "kk": {
+ "name": "kasakhisk"
+ },
+ "ks": {
+ "name": "kasjmiri"
+ },
+ "ca": {
+ "name": "katalansk"
+ },
+ "km": {
+ "name": "khmer"
+ },
+ "cgg": {
+ "name": "kiga"
+ },
+ "ki": {
+ "name": "kikuyu"
+ },
+ "zh": {
+ "name": "kinesisk"
+ },
+ "rw": {
+ "name": "kinjarwanda"
+ },
+ "ky": {
+ "name": "kirgisisk"
+ },
+ "kok": {
+ "name": "konkani"
+ },
+ "ko": {
+ "name": "koreansk"
+ },
+ "kw": {
+ "name": "kornisk"
+ },
+ "khq": {
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "hr": {
+ "name": "kroatisk"
+ },
+ "be": {
+ "name": "kviterussisk"
+ },
+ "nmg": {
+ "name": "kwasio"
+ },
+ "cu": {
+ "name": "kyrkjeslavisk"
+ },
+ "ksh": {
+ "name": "kølnsk"
+ },
+ "lkt": {
+ "name": "lakota"
+ },
+ "lag": {
+ "name": "langi"
+ },
+ "lo": {
+ "name": "laotisk"
+ },
+ "lv": {
+ "name": "latvisk"
+ },
+ "ln": {
+ "name": "lingala"
+ },
+ "lt": {
+ "name": "litauisk"
+ },
+ "lu": {
+ "name": "luba-katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "luxemburgsk"
+ },
+ "nds-NL": {
+ "name": "lågsaksisk"
+ },
+ "dsb": {
+ "name": "lågsorbisk"
+ },
+ "nds": {
+ "name": "lågtysk"
+ },
+ "jmc": {
+ "name": "machame"
+ },
+ "mg": {
+ "name": "madagassisk"
+ },
+ "mk": {
+ "name": "makedonsk"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "makonde"
+ },
+ "ml": {
+ "name": "malayalam"
+ },
+ "ms": {
+ "name": "malayisk"
+ },
+ "mt": {
+ "name": "maltesisk"
+ },
+ "gv": {
+ "name": "manx"
+ },
+ "mr": {
+ "name": "marathi"
+ },
+ "mas": {
+ "name": "masai"
+ },
+ "mzn": {
+ "name": "mazanderani"
+ },
+ "mer": {
+ "name": "meru"
+ },
+ "mgo": {
+ "name": "meta’"
+ },
+ "ro-MD": {
+ "name": "moldavisk"
+ },
+ "mn": {
+ "name": "mongolsk"
+ },
+ "mfe": {
+ "name": "morisyen"
+ },
+ "mua": {
+ "name": "mundang"
+ },
+ "naq": {
+ "name": "nama"
+ },
+ "nl": {
+ "name": "nederlandsk"
+ },
+ "ne": {
+ "name": "nepalsk"
+ },
+ "nnh": {
+ "name": "ngiemboon"
+ },
+ "jgo": {
+ "name": "ngomba"
+ },
+ "lrc": {
+ "name": "nord-lurisk"
+ },
+ "nd": {
+ "name": "nord-ndebele"
+ },
+ "se": {
+ "name": "nordsamisk"
+ },
+ "nus": {
+ "name": "nuer"
+ },
+ "nyn": {
+ "name": "nyankole"
+ },
+ "nn": {
+ "name": "nynorsk"
+ },
+ "or": {
+ "name": "odia"
+ },
+ "luy": {
+ "name": "olulujia"
+ },
+ "om": {
+ "name": "oromo"
+ },
+ "os": {
+ "name": "ossetisk"
+ },
+ "pa": {
+ "name": "panjabi"
+ },
+ "ps": {
+ "name": "pashto"
+ },
+ "fa": {
+ "name": "persisk"
+ },
+ "pl": {
+ "name": "polsk"
+ },
+ "pt": {
+ "name": "portugisisk"
+ },
+ "pt-PT": {
+ "name": "portugisisk (Portugal)"
+ },
+ "prg": {
+ "name": "prøyssisk"
+ },
+ "qu": {
+ "name": "quechua"
+ },
+ "rm": {
+ "name": "retoromansk"
+ },
+ "rof": {
+ "name": "rombo"
+ },
+ "ro": {
+ "name": "rumensk"
+ },
+ "rn": {
+ "name": "rundi"
+ },
+ "ru": {
+ "name": "russisk"
+ },
+ "rwk": {
+ "name": "rwa"
+ },
+ "sah": {
+ "name": "sakha"
+ },
+ "saq": {
+ "name": "samburu"
+ },
+ "sg": {
+ "name": "sango"
+ },
+ "sbp": {
+ "name": "sangu"
+ },
+ "seh": {
+ "name": "sena"
+ },
+ "tzm": {
+ "name": "sentral-tamazight"
+ },
+ "sr": {
+ "name": "serbisk"
+ },
+ "ksb": {
+ "name": "shambala"
+ },
+ "sn": {
+ "name": "shona"
+ },
+ "ii": {
+ "name": "sichuan-yi"
+ },
+ "si": {
+ "name": "singalesisk"
+ },
+ "gd": {
+ "name": "skotsk-gælisk"
+ },
+ "sk": {
+ "name": "slovakisk"
+ },
+ "sl": {
+ "name": "slovensk"
+ },
+ "xog": {
+ "name": "soga"
+ },
+ "so": {
+ "name": "somali"
+ },
+ "ckb": {
+ "name": "sorani"
+ },
+ "es": {
+ "name": "spansk"
+ },
+ "es-MX": {
+ "name": "spansk (Mexico)"
+ },
+ "zgh": {
+ "name": "standard marokkansk tamazight"
+ },
+ "gsw": {
+ "name": "sveitsertysk"
+ },
+ "sv": {
+ "name": "svensk"
+ },
+ "sw": {
+ "name": "swahili"
+ },
+ "sw-CD": {
+ "name": "swahili (Kongo-Kinshasa)"
+ },
+ "shi": {
+ "name": "tachelhit"
+ },
+ "dav": {
+ "name": "taita"
+ },
+ "ta": {
+ "name": "tamil"
+ },
+ "twq": {
+ "name": "tasawaq"
+ },
+ "te": {
+ "name": "telugu"
+ },
+ "teo": {
+ "name": "teso"
+ },
+ "th": {
+ "name": "thai"
+ },
+ "bo": {
+ "name": "tibetansk"
+ },
+ "ti": {
+ "name": "tigrinja"
+ },
+ "to": {
+ "name": "tongansk"
+ },
+ "zh-Hant": {
+ "name": "tradisjonell kinesisk"
+ },
+ "cs": {
+ "name": "tsjekkisk"
+ },
+ "ce": {
+ "name": "tsjetsjensk"
+ },
+ "tk": {
+ "name": "turkmensk"
+ },
+ "tr": {
+ "name": "tyrkisk"
+ },
+ "de": {
+ "name": "tysk"
+ },
+ "de-AT": {
+ "name": "tysk (Austerrike)"
+ },
+ "de-CH": {
+ "name": "tysk (Sveits)"
+ },
+ "ug": {
+ "name": "uigurisk"
+ },
+ "uk": {
+ "name": "ukrainsk"
+ },
+ "hu": {
+ "name": "ungarsk"
+ },
+ "ur": {
+ "name": "urdu"
+ },
+ "uz": {
+ "name": "usbekisk"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "fy": {
+ "name": "vestfrisisk"
+ },
+ "vi": {
+ "name": "vietnamesisk"
+ },
+ "vo": {
+ "name": "volapyk"
+ },
+ "vun": {
+ "name": "vunjo"
+ },
+ "cy": {
+ "name": "walisisk"
+ },
+ "wae": {
+ "name": "walsertysk"
+ },
+ "yav": {
+ "name": "yangben"
+ },
+ "dje": {
+ "name": "zarma"
+ },
+ "zu": {
+ "name": "zulu"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/nus.json b/vendor/commerceguys/intl/resources/language/nus.json
new file mode 100644
index 000000000..124d7fd68
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/nus.json
@@ -0,0 +1,632 @@
+{
+ "af": {
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "sq": {
+ "name": "Albanian"
+ },
+ "hy": {
+ "name": "Armenian"
+ },
+ "as": {
+ "name": "Assamese"
+ },
+ "ast": {
+ "name": "Asturian"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "az": {
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "eu": {
+ "name": "Basque"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "bs": {
+ "name": "Bosnian"
+ },
+ "br": {
+ "name": "Breton"
+ },
+ "yue": {
+ "name": "Cantonese"
+ },
+ "ca": {
+ "name": "Catalan"
+ },
+ "tzm": {
+ "name": "Central Atlas Tamazight"
+ },
+ "ckb": {
+ "name": "Central Kurdish"
+ },
+ "ce": {
+ "name": "Chechen"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "cu": {
+ "name": "Church Slavic"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "kw": {
+ "name": "Cornish"
+ },
+ "hr": {
+ "name": "Croatian"
+ },
+ "da": {
+ "name": "Danish"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "dz": {
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "eo": {
+ "name": "Esperanto"
+ },
+ "et": {
+ "name": "Estonian"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fo": {
+ "name": "Faroese"
+ },
+ "fil": {
+ "name": "Filipino"
+ },
+ "fi": {
+ "name": "Finnish"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "gl": {
+ "name": "Galician"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "ka": {
+ "name": "Georgian"
+ },
+ "gu": {
+ "name": "Gujarati"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "haw": {
+ "name": "Hawaiian"
+ },
+ "he": {
+ "name": "Hebrew"
+ },
+ "is": {
+ "name": "Icelandic"
+ },
+ "smn": {
+ "name": "Inari Sami"
+ },
+ "ga": {
+ "name": "Irish"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabyle"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kl": {
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "kn": {
+ "name": "Kannada"
+ },
+ "ks": {
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "name": "Kazakh"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "ky": {
+ "name": "Kyrgyz"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "Lao"
+ },
+ "lv": {
+ "name": "Latvian"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "lt": {
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "mk": {
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "mg": {
+ "name": "Malagasy"
+ },
+ "ml": {
+ "name": "Malayalam"
+ },
+ "mt": {
+ "name": "Maltese"
+ },
+ "gv": {
+ "name": "Manx"
+ },
+ "mr": {
+ "name": "Marathi"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "mn": {
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nds-NL": {
+ "name": "nds (NL)"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "nd": {
+ "name": "North Ndebele"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "se": {
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "name": "Norwegian Nynorsk"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "or": {
+ "name": "Odia"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "os": {
+ "name": "Ossetic"
+ },
+ "ps": {
+ "name": "Pashto"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "qu": {
+ "name": "Quechua"
+ },
+ "rm": {
+ "name": "Romansh"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "rn": {
+ "name": "Rundi"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "sah": {
+ "name": "Sakha"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "gd": {
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "sr": {
+ "name": "Serbian"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "si": {
+ "name": "Sinhala"
+ },
+ "sk": {
+ "name": "Slovak"
+ },
+ "sl": {
+ "name": "Slovenian"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw-CD": {
+ "name": "sw (CD)"
+ },
+ "sw": {
+ "name": "Swahili"
+ },
+ "gsw": {
+ "name": "Swiss German"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "te": {
+ "name": "Telugu"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "ak": {
+ "name": "Thok aka̱ni"
+ },
+ "be": {
+ "name": "Thok bälärutha"
+ },
+ "bg": {
+ "name": "Thok bälga̱a̱riani"
+ },
+ "bn": {
+ "name": "Thok bängali"
+ },
+ "vi": {
+ "name": "Thok betnaamni"
+ },
+ "my": {
+ "name": "Thok bormi̱thni"
+ },
+ "am": {
+ "name": "Thok bunyni"
+ },
+ "zh": {
+ "name": "Thok cayna"
+ },
+ "zh-Hans": {
+ "name": "Thok cayna (Hans)"
+ },
+ "zh-Hant": {
+ "name": "Thok cayna (Hant)"
+ },
+ "cs": {
+ "name": "Thok cik"
+ },
+ "nl": {
+ "name": "Thok da̱c"
+ },
+ "nl-BE": {
+ "name": "Thok da̱c (Be̱lgim)"
+ },
+ "zu": {
+ "name": "Thok dhuluni"
+ },
+ "el": {
+ "name": "Thok girikni"
+ },
+ "hi": {
+ "name": "Thok ɣändini"
+ },
+ "hu": {
+ "name": "Thok ɣänga̱a̱riɛni"
+ },
+ "ha": {
+ "name": "Thok ɣowthani"
+ },
+ "ig": {
+ "name": "Thok i̱gboni"
+ },
+ "id": {
+ "name": "Thok indunithiani"
+ },
+ "it": {
+ "name": "Thok i̱taliani"
+ },
+ "es": {
+ "name": "Thok i̱thpaaniani"
+ },
+ "es-MX": {
+ "name": "Thok i̱thpaaniani (MX)"
+ },
+ "sv": {
+ "name": "Thok i̱thwidicni"
+ },
+ "ar": {
+ "name": "Thok Jalabni"
+ },
+ "ja": {
+ "name": "Thok japanni"
+ },
+ "de": {
+ "name": "Thok jarmani"
+ },
+ "de-AT": {
+ "name": "Thok jarmani (Athtɛria)"
+ },
+ "de-CH": {
+ "name": "Thok jarmani (CH)"
+ },
+ "ro": {
+ "name": "Thok ji̱ röm"
+ },
+ "ro-MD": {
+ "name": "Thok ji̱ röm (MD)"
+ },
+ "km": {
+ "name": "Thok kameeri"
+ },
+ "ko": {
+ "name": "Thok kuriani"
+ },
+ "en": {
+ "name": "Thok liŋli̱thni"
+ },
+ "en-AU": {
+ "name": "Thok liŋli̱thni (Athɔra̱lia)"
+ },
+ "en-GB": {
+ "name": "Thok liŋli̱thni (GB)"
+ },
+ "en-CA": {
+ "name": "Thok liŋli̱thni (Känɛda)"
+ },
+ "ms": {
+ "name": "Thok mayɛyni"
+ },
+ "ne": {
+ "name": "Thok napalni"
+ },
+ "nus": {
+ "name": "Thok Nath"
+ },
+ "fa": {
+ "name": "Thok perthiani"
+ },
+ "pl": {
+ "name": "Thok pölicni"
+ },
+ "fr": {
+ "name": "Thok pɔrɔthani"
+ },
+ "fr-CH": {
+ "name": "Thok pɔrɔthani (CH)"
+ },
+ "fr-CA": {
+ "name": "Thok pɔrɔthani (Känɛda)"
+ },
+ "pa": {
+ "name": "Thok puɔnjabani"
+ },
+ "pt": {
+ "name": "Thok puɔtigali"
+ },
+ "pt-PT": {
+ "name": "Thok puɔtigali (PT)"
+ },
+ "ru": {
+ "name": "Thok ra̱ciaani"
+ },
+ "rw": {
+ "name": "Thok ruaandani"
+ },
+ "ta": {
+ "name": "Thok tamilni"
+ },
+ "th": {
+ "name": "Thok tayni"
+ },
+ "so": {
+ "name": "Thok thomaaliani"
+ },
+ "tr": {
+ "name": "Thok turkicni"
+ },
+ "ur": {
+ "name": "Thok udoni"
+ },
+ "uk": {
+ "name": "Thok ukeraanini"
+ },
+ "yo": {
+ "name": "Thok yurubani"
+ },
+ "bo": {
+ "name": "Tibetan"
+ },
+ "ti": {
+ "name": "Tigrinya"
+ },
+ "to": {
+ "name": "Tongan"
+ },
+ "tk": {
+ "name": "Turkmen"
+ },
+ "hsb": {
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "name": "Uyghur"
+ },
+ "uz": {
+ "name": "Uzbek"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "cy": {
+ "name": "Welsh"
+ },
+ "fy": {
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "yi": {
+ "name": "Yiddish"
+ },
+ "dje": {
+ "name": "Zarma"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/nyn.json b/vendor/commerceguys/intl/resources/language/nyn.json
new file mode 100644
index 000000000..a64808c5b
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/nyn.json
@@ -0,0 +1,632 @@
+{
+ "af": {
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "sq": {
+ "name": "Albanian"
+ },
+ "hy": {
+ "name": "Armenian"
+ },
+ "as": {
+ "name": "Assamese"
+ },
+ "ast": {
+ "name": "Asturian"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "az": {
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "eu": {
+ "name": "Basque"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "bs": {
+ "name": "Bosnian"
+ },
+ "br": {
+ "name": "Breton"
+ },
+ "yue": {
+ "name": "Cantonese"
+ },
+ "ca": {
+ "name": "Catalan"
+ },
+ "tzm": {
+ "name": "Central Atlas Tamazight"
+ },
+ "ckb": {
+ "name": "Central Kurdish"
+ },
+ "ce": {
+ "name": "Chechen"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "cu": {
+ "name": "Church Slavic"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "kw": {
+ "name": "Cornish"
+ },
+ "hr": {
+ "name": "Croatian"
+ },
+ "da": {
+ "name": "Danish"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "dz": {
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "eo": {
+ "name": "Esperanto"
+ },
+ "et": {
+ "name": "Estonian"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fo": {
+ "name": "Faroese"
+ },
+ "fil": {
+ "name": "Filipino"
+ },
+ "fi": {
+ "name": "Finnish"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "gl": {
+ "name": "Galician"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "ka": {
+ "name": "Georgian"
+ },
+ "gu": {
+ "name": "Gujarati"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "haw": {
+ "name": "Hawaiian"
+ },
+ "he": {
+ "name": "Hebrew"
+ },
+ "is": {
+ "name": "Icelandic"
+ },
+ "smn": {
+ "name": "Inari Sami"
+ },
+ "ga": {
+ "name": "Irish"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabyle"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kl": {
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "kn": {
+ "name": "Kannada"
+ },
+ "ks": {
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "name": "Kazakh"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "ky": {
+ "name": "Kyrgyz"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "Lao"
+ },
+ "lv": {
+ "name": "Latvian"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "lt": {
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "mk": {
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "mg": {
+ "name": "Malagasy"
+ },
+ "ml": {
+ "name": "Malayalam"
+ },
+ "mt": {
+ "name": "Maltese"
+ },
+ "gv": {
+ "name": "Manx"
+ },
+ "mr": {
+ "name": "Marathi"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "mn": {
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nds-NL": {
+ "name": "nds (Hoorandi)"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "nd": {
+ "name": "North Ndebele"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "se": {
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "or": {
+ "name": "Odia"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "ur": {
+ "name": "Oru-Urudu"
+ },
+ "bn": {
+ "name": "Orubengari"
+ },
+ "be": {
+ "name": "Oruberarusi"
+ },
+ "bg": {
+ "name": "Oruburugariya"
+ },
+ "my": {
+ "name": "Oruburuma"
+ },
+ "cs": {
+ "name": "Oruceeki"
+ },
+ "zh": {
+ "name": "Oruchaina"
+ },
+ "zh-Hans": {
+ "name": "Oruchaina (Hans)"
+ },
+ "zh-Hant": {
+ "name": "Oruchaina (Hant)"
+ },
+ "nl": {
+ "name": "Orudaaki"
+ },
+ "nl-BE": {
+ "name": "Orudaaki (Bubirigi)"
+ },
+ "fr": {
+ "name": "Orufaransa"
+ },
+ "fr-CA": {
+ "name": "Orufaransa (Kanada)"
+ },
+ "fr-CH": {
+ "name": "Orufaransa (Swisi)"
+ },
+ "de": {
+ "name": "Orugirimaani"
+ },
+ "de-AT": {
+ "name": "Orugirimaani (Osituria)"
+ },
+ "de-CH": {
+ "name": "Orugirimaani (Swisi)"
+ },
+ "el": {
+ "name": "Oruguriiki"
+ },
+ "hu": {
+ "name": "Oruhangare"
+ },
+ "ar": {
+ "name": "Oruharabu"
+ },
+ "ha": {
+ "name": "Oruhausa"
+ },
+ "hi": {
+ "name": "Oruhindi"
+ },
+ "ig": {
+ "name": "Oruibo"
+ },
+ "id": {
+ "name": "Oruindonezia"
+ },
+ "ja": {
+ "name": "Orujapaani"
+ },
+ "km": {
+ "name": "Orukambodiya"
+ },
+ "ak": {
+ "name": "Orukani"
+ },
+ "ko": {
+ "name": "Orukoreya"
+ },
+ "uk": {
+ "name": "Orukuraini"
+ },
+ "tr": {
+ "name": "Orukuruki"
+ },
+ "ms": {
+ "name": "Orumalesiya"
+ },
+ "am": {
+ "name": "Orumariki"
+ },
+ "ne": {
+ "name": "Orunepali"
+ },
+ "en": {
+ "name": "Orungyereza"
+ },
+ "en-GB": {
+ "name": "Orungyereza (Bungyereza)"
+ },
+ "en-CA": {
+ "name": "Orungyereza (Kanada)"
+ },
+ "en-AU": {
+ "name": "Orungyereza (Ositureeriya)"
+ },
+ "rw": {
+ "name": "Orunyarwanda"
+ },
+ "fa": {
+ "name": "Orupaasiya"
+ },
+ "pt": {
+ "name": "Orupocugo"
+ },
+ "pt-PT": {
+ "name": "Orupocugo (Pocugo)"
+ },
+ "pl": {
+ "name": "Orupoori"
+ },
+ "pa": {
+ "name": "Orupungyabi"
+ },
+ "ro": {
+ "name": "Oruromania"
+ },
+ "ro-MD": {
+ "name": "Oruromania (Moridova)"
+ },
+ "ru": {
+ "name": "Orurrasha"
+ },
+ "so": {
+ "name": "Orusomaari"
+ },
+ "es": {
+ "name": "Orusupaani"
+ },
+ "es-MX": {
+ "name": "Orusupaani (Mexico)"
+ },
+ "sv": {
+ "name": "Oruswidi"
+ },
+ "th": {
+ "name": "Orutailandi"
+ },
+ "ta": {
+ "name": "Orutamiri"
+ },
+ "vi": {
+ "name": "Oruviyetinaamu"
+ },
+ "it": {
+ "name": "Oruyitare"
+ },
+ "yo": {
+ "name": "Oruyoruba"
+ },
+ "zu": {
+ "name": "Oruzuru"
+ },
+ "os": {
+ "name": "Ossetic"
+ },
+ "ps": {
+ "name": "Pashto"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "qu": {
+ "name": "Quechua"
+ },
+ "rm": {
+ "name": "Romansh"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "rn": {
+ "name": "Rundi"
+ },
+ "nyn": {
+ "name": "Runyankore"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "sah": {
+ "name": "Sakha"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "gd": {
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "sr": {
+ "name": "Serbian"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "si": {
+ "name": "Sinhala"
+ },
+ "sk": {
+ "name": "Slovak"
+ },
+ "sl": {
+ "name": "Slovenian"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw-CD": {
+ "name": "sw (Demokoratika Ripaaburika ya Kongo)"
+ },
+ "sw": {
+ "name": "Swahili"
+ },
+ "gsw": {
+ "name": "Swiss German"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "te": {
+ "name": "Telugu"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "bo": {
+ "name": "Tibetan"
+ },
+ "ti": {
+ "name": "Tigrinya"
+ },
+ "to": {
+ "name": "Tongan"
+ },
+ "tk": {
+ "name": "Turkmen"
+ },
+ "hsb": {
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "name": "Uyghur"
+ },
+ "uz": {
+ "name": "Uzbek"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "cy": {
+ "name": "Welsh"
+ },
+ "fy": {
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "yi": {
+ "name": "Yiddish"
+ },
+ "dje": {
+ "name": "Zarma"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/om.json b/vendor/commerceguys/intl/resources/language/om.json
new file mode 100644
index 000000000..db22ad42c
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/om.json
@@ -0,0 +1,632 @@
+{
+ "sq": {
+ "name": "Afaan Albaniyaa"
+ },
+ "ga": {
+ "name": "Afaan Ayirishii"
+ },
+ "az": {
+ "name": "Afaan Azerbaijani"
+ },
+ "bn": {
+ "name": "Afaan Baangladeshi"
+ },
+ "eu": {
+ "name": "Afaan Baskuu"
+ },
+ "be": {
+ "name": "Afaan Belarusia"
+ },
+ "bs": {
+ "name": "Afaan Bosniyaa"
+ },
+ "bg": {
+ "name": "Afaan Bulgariya"
+ },
+ "hr": {
+ "name": "Afaan Croatian"
+ },
+ "cs": {
+ "name": "Afaan Czech"
+ },
+ "nl": {
+ "name": "Afaan Dachii"
+ },
+ "nl-BE": {
+ "name": "Afaan Dachii (BE)"
+ },
+ "da": {
+ "name": "Afaan Deenmaark"
+ },
+ "eo": {
+ "name": "Afaan Esperantoo"
+ },
+ "fr": {
+ "name": "Afaan Faransaayii"
+ },
+ "fr-CA": {
+ "name": "Afaan Faransaayii (CA)"
+ },
+ "fr-CH": {
+ "name": "Afaan Faransaayii (CH)"
+ },
+ "fo": {
+ "name": "Afaan Faroese"
+ },
+ "fi": {
+ "name": "Afaan Fiilaandi"
+ },
+ "fil": {
+ "name": "Afaan Filippinii"
+ },
+ "fy": {
+ "name": "Afaan Firisiyaani"
+ },
+ "gl": {
+ "name": "Afaan Galishii"
+ },
+ "ka": {
+ "name": "Afaan Georgian"
+ },
+ "el": {
+ "name": "Afaan Giriiki"
+ },
+ "gu": {
+ "name": "Afaan Gujarati"
+ },
+ "hu": {
+ "name": "Afaan Hangaari"
+ },
+ "he": {
+ "name": "Afaan Hebrew"
+ },
+ "hi": {
+ "name": "Afaan Hindii"
+ },
+ "id": {
+ "name": "Afaan Indoneziya"
+ },
+ "sl": {
+ "name": "Afaan Islovaniyaa"
+ },
+ "es": {
+ "name": "Afaan Ispeen"
+ },
+ "es-MX": {
+ "name": "Afaan Ispeen (MX)"
+ },
+ "et": {
+ "name": "Afaan Istooniya"
+ },
+ "ja": {
+ "name": "Afaan Japanii"
+ },
+ "de": {
+ "name": "Afaan Jarmanii"
+ },
+ "de-AT": {
+ "name": "Afaan Jarmanii (AT)"
+ },
+ "de-CH": {
+ "name": "Afaan Jarmanii (CH)"
+ },
+ "kn": {
+ "name": "Afaan Kannada"
+ },
+ "ca": {
+ "name": "Afaan Katalaa"
+ },
+ "ko": {
+ "name": "Afaan Korea"
+ },
+ "lv": {
+ "name": "Afaan Lativiyaa"
+ },
+ "lt": {
+ "name": "Afaan Liituniyaa"
+ },
+ "mk": {
+ "name": "Afaan Macedooniyaa"
+ },
+ "mt": {
+ "name": "Afaan Maltesii"
+ },
+ "mr": {
+ "name": "Afaan Maratii"
+ },
+ "ne": {
+ "name": "Afaan Nepalii"
+ },
+ "nn": {
+ "name": "Afaan Norwegian"
+ },
+ "fa": {
+ "name": "Afaan Persia"
+ },
+ "pl": {
+ "name": "Afaan Polandii"
+ },
+ "pt": {
+ "name": "Afaan Porchugaal"
+ },
+ "pt-PT": {
+ "name": "Afaan Protuguese"
+ },
+ "pa": {
+ "name": "Afaan Punjabii"
+ },
+ "ro": {
+ "name": "Afaan Romaniyaa"
+ },
+ "ro-MD": {
+ "name": "Afaan Romaniyaa (MD)"
+ },
+ "ru": {
+ "name": "Afaan Rushiyaa"
+ },
+ "sr": {
+ "name": "Afaan Serbiya"
+ },
+ "am": {
+ "name": "Afaan Sidaamaa"
+ },
+ "si": {
+ "name": "Afaan Sinhalese"
+ },
+ "sk": {
+ "name": "Afaan Slovak"
+ },
+ "sv": {
+ "name": "Afaan Suwidiin"
+ },
+ "ta": {
+ "name": "Afaan Tamilii"
+ },
+ "th": {
+ "name": "Afaan Tayii"
+ },
+ "te": {
+ "name": "Afaan Telugu"
+ },
+ "ti": {
+ "name": "Afaan Tigiree"
+ },
+ "tr": {
+ "name": "Afaan Turkii"
+ },
+ "uk": {
+ "name": "Afaan Ukreenii"
+ },
+ "ur": {
+ "name": "Afaan Urdu"
+ },
+ "uz": {
+ "name": "Afaan Uzbek"
+ },
+ "vi": {
+ "name": "Afaan Veetinam"
+ },
+ "it": {
+ "name": "Afaan Xaaliyaani"
+ },
+ "zu": {
+ "name": "Afaan Zuulu"
+ },
+ "af": {
+ "name": "Afrikoota"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "ak": {
+ "name": "Akan"
+ },
+ "ar": {
+ "name": "Arabiffaa"
+ },
+ "hy": {
+ "name": "Armenian"
+ },
+ "as": {
+ "name": "Assamese"
+ },
+ "ast": {
+ "name": "Asturian"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "is": {
+ "name": "Ayiislandiffaa"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "br": {
+ "name": "Breton"
+ },
+ "my": {
+ "name": "Burmese"
+ },
+ "yue": {
+ "name": "Cantonese"
+ },
+ "tzm": {
+ "name": "Central Atlas Tamazight"
+ },
+ "ckb": {
+ "name": "Central Kurdish"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "kw": {
+ "name": "Cornish"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "dz": {
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "ha": {
+ "name": "Hausa"
+ },
+ "haw": {
+ "name": "Hawaiian"
+ },
+ "ig": {
+ "name": "Igbo"
+ },
+ "smn": {
+ "name": "Inari Sami"
+ },
+ "en": {
+ "name": "Ingliffa"
+ },
+ "en-AU": {
+ "name": "Ingliffa (AU)"
+ },
+ "en-CA": {
+ "name": "Ingliffa (CA)"
+ },
+ "en-GB": {
+ "name": "Ingliffa (United Kingdom)"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabyle"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kl": {
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "kk": {
+ "name": "Kazakh"
+ },
+ "ks": {
+ "name": "Kashmiri"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "rw": {
+ "name": "Kinyarwanda"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "ky": {
+ "name": "Kyrgyz"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "tk": {
+ "name": "Lammii Turkii"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "Lao"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "dsb": {
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "ms": {
+ "name": "Malaayiffaa"
+ },
+ "mg": {
+ "name": "Malagasy"
+ },
+ "ml": {
+ "name": "Malayaalamiffaa"
+ },
+ "gv": {
+ "name": "Manx"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "mn": {
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nds-NL": {
+ "name": "nds (NL)"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "nd": {
+ "name": "North Ndebele"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "se": {
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "name": "Norwegian Bokmål"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "or": {
+ "name": "Odia"
+ },
+ "om": {
+ "name": "Oromoo"
+ },
+ "os": {
+ "name": "Ossetic"
+ },
+ "ps": {
+ "name": "Pashto"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "qu": {
+ "name": "Quechua"
+ },
+ "rm": {
+ "name": "Romansh"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "rn": {
+ "name": "Rundi"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "sah": {
+ "name": "Sakha"
+ },
+ "gd": {
+ "name": "Scots Gaelic"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "so": {
+ "name": "Somali"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw": {
+ "name": "Suwahilii"
+ },
+ "sw-CD": {
+ "name": "Suwahilii (CD)"
+ },
+ "gsw": {
+ "name": "Swiss German"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "bo": {
+ "name": "Tibetan"
+ },
+ "to": {
+ "name": "Tongan"
+ },
+ "hsb": {
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "name": "Uyghur"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "cy": {
+ "name": "Welishiffaa"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "yi": {
+ "name": "Yiddish"
+ },
+ "yo": {
+ "name": "Yoruba"
+ },
+ "dje": {
+ "name": "Zarma"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "ce": {
+ "name": "Chechen"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "zh": {
+ "name": "Chinese"
+ },
+ "zh-Hans": {
+ "name": "Chinese (Hans)"
+ },
+ "zh-Hant": {
+ "name": "Chinese (Hant)"
+ },
+ "cu": {
+ "name": "Church Slavic"
+ },
+ "km": {
+ "name": "Khmer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/or.json b/vendor/commerceguys/intl/resources/language/or.json
new file mode 100644
index 000000000..cf5b91a28
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/or.json
@@ -0,0 +1,635 @@
+{
+ "ak": {
+ "name": "ଅକନ୍"
+ },
+ "de-AT": {
+ "name": "ଅଷ୍ଟ୍ରିଆନ୍ ଜର୍ମାନ"
+ },
+ "en-AU": {
+ "name": "ଅଷ୍ଟ୍ରେଲିଆନ୍ ଇଁରାଜୀ"
+ },
+ "is": {
+ "name": "ଆଇସଲାଣ୍ଡିକ୍"
+ },
+ "az": {
+ "name": "ଆଜେରବାଇଜାନି"
+ },
+ "af": {
+ "name": "ଆଫ୍ରିକାନସ୍"
+ },
+ "am": {
+ "name": "ଆମହାରକି"
+ },
+ "ar": {
+ "name": "ଆରବିକ୍"
+ },
+ "hy": {
+ "name": "ଆର୍ମେନିଆନ୍"
+ },
+ "sq": {
+ "name": "ଆଲବାନିଆନ୍"
+ },
+ "ast": {
+ "name": "ଆଷ୍ଟୁରିଆନ୍"
+ },
+ "as": {
+ "name": "ଆସାମୀ"
+ },
+ "en": {
+ "name": "ଇଂରାଜୀ"
+ },
+ "ig": {
+ "name": "ଇଗ୍ବୋ"
+ },
+ "it": {
+ "name": "ଇଟାଲିଆନ୍"
+ },
+ "id": {
+ "name": "ଇଣ୍ଡୋନେସିଆନ୍"
+ },
+ "smn": {
+ "name": "ଇନାରୀ ସାମି"
+ },
+ "ga": {
+ "name": "ଇରିସ୍"
+ },
+ "ee": {
+ "name": "ଇୱେ"
+ },
+ "ewo": {
+ "name": "ଇୱୋଣ୍ଡୋ"
+ },
+ "uz": {
+ "name": "ଉଜବେକ୍"
+ },
+ "nd": {
+ "name": "ଉତ୍ତର ନେଡବେଲେ"
+ },
+ "se": {
+ "name": "ଉତ୍ତର ସାମି"
+ },
+ "hsb": {
+ "name": "ଉପର ସର୍ବିଆନ୍"
+ },
+ "ur": {
+ "name": "ଉର୍ଦ୍ଦୁ"
+ },
+ "et": {
+ "name": "ଏସ୍ତୋନିଆନ୍"
+ },
+ "eo": {
+ "name": "ଏସ୍ପାରେଣ୍ଟୋ"
+ },
+ "or": {
+ "name": "ଓଡ଼ିଆ"
+ },
+ "om": {
+ "name": "ଓରୋମୋ"
+ },
+ "os": {
+ "name": "ଓସେଟିକ୍"
+ },
+ "kn": {
+ "name": "କନ୍ନଡ"
+ },
+ "kab": {
+ "name": "କବାଇଲ୍"
+ },
+ "kam": {
+ "name": "କମ୍ବା"
+ },
+ "kk": {
+ "name": "କାଜାକ୍"
+ },
+ "bs": {
+ "name": "କାଟଲାନ୍"
+ },
+ "ca": {
+ "name": "କାଟାଲାନ୍"
+ },
+ "en-CA": {
+ "name": "କାନାଡିଆନ୍ ଇଁରାଜୀ"
+ },
+ "fr-CA": {
+ "name": "କାନାଡିଆନ୍ ଫ୍ରେଞ୍ଚ"
+ },
+ "ks": {
+ "name": "କାଶ୍ମିରୀ"
+ },
+ "rw": {
+ "name": "କିନ୍ୟାରୱାଣ୍ଡା"
+ },
+ "ky": {
+ "name": "କିରଗିଜ୍"
+ },
+ "ki": {
+ "name": "କୀକୁୟୁ"
+ },
+ "kok": {
+ "name": "କୋନକାନୀ"
+ },
+ "ko": {
+ "name": "କୋରିଆନ୍"
+ },
+ "kw": {
+ "name": "କୋର୍ନିସ୍"
+ },
+ "hr": {
+ "name": "କ୍ରୋଆଟିଆନ୍"
+ },
+ "qu": {
+ "name": "କ୍ୱେଚୁଆ"
+ },
+ "km": {
+ "name": "ଖ୍ମେର୍"
+ },
+ "lg": {
+ "name": "ଗନ୍ଦା"
+ },
+ "gl": {
+ "name": "ଗାଲସିଆନ୍"
+ },
+ "gu": {
+ "name": "ଗୁଜୁରାଟୀ"
+ },
+ "el": {
+ "name": "ଗ୍ରୀକ୍"
+ },
+ "kl": {
+ "name": "ଗ୍ରୀନଲାଣ୍ଡିକ୍"
+ },
+ "cu": {
+ "name": "ଚର୍ଚ୍ଚ ସ୍ଲାଭିକ୍"
+ },
+ "zh": {
+ "name": "ଚାଇନୀଜ୍"
+ },
+ "cs": {
+ "name": "ଚେକ୍"
+ },
+ "ce": {
+ "name": "ଚେଚନ୍"
+ },
+ "chr": {
+ "name": "ଚେରୋକୀ"
+ },
+ "ka": {
+ "name": "ଜର୍ଜିଆନ୍"
+ },
+ "de": {
+ "name": "ଜର୍ମାନ୍"
+ },
+ "ja": {
+ "name": "ଜାପାନୀଜ୍"
+ },
+ "zu": {
+ "name": "ଜୁଲୁ"
+ },
+ "to": {
+ "name": "ଟୋଙ୍ଗା"
+ },
+ "ti": {
+ "name": "ଟ୍ରିଗିନିଆ"
+ },
+ "nl": {
+ "name": "ଡଚ୍"
+ },
+ "da": {
+ "name": "ଡାନ୍ନିସ୍"
+ },
+ "dua": {
+ "name": "ଡୁଆନା"
+ },
+ "ta": {
+ "name": "ତାମିଲ୍"
+ },
+ "bo": {
+ "name": "ତିବେତାନ୍"
+ },
+ "tk": {
+ "name": "ତୁର୍କମେନ୍"
+ },
+ "tr": {
+ "name": "ତୁର୍କିସ୍"
+ },
+ "te": {
+ "name": "ତେଲୁଗୁ"
+ },
+ "th": {
+ "name": "ଥାଇ"
+ },
+ "nn": {
+ "name": "ନରୱେଜିଆନ୍ ନିୟୋର୍ସ୍କ"
+ },
+ "nb": {
+ "name": "ନରୱେଜିଆନ୍ ବୋକମଲ୍"
+ },
+ "dsb": {
+ "name": "ନିଚଳା ସର୍ବିଆନ୍"
+ },
+ "ne": {
+ "name": "ନେପାଳୀ"
+ },
+ "nyn": {
+ "name": "ନ୍ୟାନକୋଲ୍"
+ },
+ "pa": {
+ "name": "ପଞ୍ଜାବୀ"
+ },
+ "pt": {
+ "name": "ପର୍ତ୍ତୁଗ୍ରୀଜ୍"
+ },
+ "fa": {
+ "name": "ପର୍ସିଆନ୍"
+ },
+ "fy": {
+ "name": "ପଶ୍ଚିମ ଫ୍ରିସିୟନ୍"
+ },
+ "zh-Hant": {
+ "name": "ପାରମ୍ପରିକ ଚାଇନୀଜ୍"
+ },
+ "ps": {
+ "name": "ପାସ୍ତୋ"
+ },
+ "pl": {
+ "name": "ପୋଲିଶ୍"
+ },
+ "fo": {
+ "name": "ଫାରୋଏସେ"
+ },
+ "fi": {
+ "name": "ଫିନ୍ନିସ୍"
+ },
+ "fil": {
+ "name": "ଫିଲିପିନୋ"
+ },
+ "ff": {
+ "name": "ଫୁଲାହ"
+ },
+ "fur": {
+ "name": "ଫ୍ରିୟୁଲୀୟାନ୍"
+ },
+ "fr": {
+ "name": "ଫ୍ରେଞ୍ଚ"
+ },
+ "nl-BE": {
+ "name": "ଫ୍ଲେମିଶ୍"
+ },
+ "bn": {
+ "name": "ବଙ୍ଗାଳୀ"
+ },
+ "my": {
+ "name": "ବର୍ମୀଜ୍"
+ },
+ "bm": {
+ "name": "ବାମ୍ବାରା"
+ },
+ "bas": {
+ "name": "ବାସା"
+ },
+ "eu": {
+ "name": "ବାସ୍କ୍ୱି"
+ },
+ "bg": {
+ "name": "ବୁଲଗେରିଆନ୍"
+ },
+ "bem": {
+ "name": "ବେମ୍ବା"
+ },
+ "be": {
+ "name": "ବେଲାରୁଷିଆନ୍"
+ },
+ "vo": {
+ "name": "ବୋଲାପୁକ"
+ },
+ "en-GB": {
+ "name": "ବ୍ରିଟିଶ୍ ଇଁରାଜୀ"
+ },
+ "br": {
+ "name": "ବ୍ରେଟନ୍"
+ },
+ "vai": {
+ "name": "ଭାଇ"
+ },
+ "vi": {
+ "name": "ଭିଏତନାମିଜ୍"
+ },
+ "dz": {
+ "name": "ଭୂଟାନୀ"
+ },
+ "mn": {
+ "name": "ମଙ୍ଗୋଲିଆନ୍"
+ },
+ "mr": {
+ "name": "ମରାଠୀ"
+ },
+ "gv": {
+ "name": "ମାଁକ୍ସ"
+ },
+ "mk": {
+ "name": "ମାକଡୋନିଆନ୍"
+ },
+ "mt": {
+ "name": "ମାଲଟୀଜ୍"
+ },
+ "ms": {
+ "name": "ମାଲୟ"
+ },
+ "mg": {
+ "name": "ମାଲାଗାସୀ"
+ },
+ "ml": {
+ "name": "ମାଲାୟଲମ୍"
+ },
+ "mas": {
+ "name": "ମାସାଇ"
+ },
+ "ro-MD": {
+ "name": "ମୋଲଡୋଭିଆନ୍"
+ },
+ "sah": {
+ "name": "ୟାକୁଟ୍"
+ },
+ "yi": {
+ "name": "ୟିଡିସ୍"
+ },
+ "uk": {
+ "name": "ୟୁକ୍ରାନିଆନ୍"
+ },
+ "ug": {
+ "name": "ୟୁଘୁର୍"
+ },
+ "yo": {
+ "name": "ୟୋରୁବା"
+ },
+ "ru": {
+ "name": "ରଷିଆନ୍"
+ },
+ "rn": {
+ "name": "ରୁଣ୍ଡି"
+ },
+ "rm": {
+ "name": "ରେହେଟୋ-ରୋମାନ୍ସ"
+ },
+ "ro": {
+ "name": "ରୋମାନିଆନ୍"
+ },
+ "lb": {
+ "name": "ଲକ୍ସେମବର୍ଗିସ୍"
+ },
+ "lo": {
+ "name": "ଲାଓ"
+ },
+ "lv": {
+ "name": "ଲାଟଭିଆନ୍"
+ },
+ "ln": {
+ "name": "ଲିଙ୍ଗାଲା"
+ },
+ "lt": {
+ "name": "ଲିଥୁଆନିଆନ୍"
+ },
+ "luo": {
+ "name": "ଲୁଓ"
+ },
+ "pt-PT": {
+ "name": "ଲେବେରିଆନ୍ ପର୍ତ୍ତୁଗୀଜ୍"
+ },
+ "nds": {
+ "name": "ଲୋ ଜର୍ମାନ୍"
+ },
+ "nds-NL": {
+ "name": "ଲୋ ଜର୍ମାନ୍ (ନେଦରଲ୍ୟାଣ୍ଡ)"
+ },
+ "lu": {
+ "name": "ଲ୍ୟୁବା-କାଟାଙ୍ଗା"
+ },
+ "cy": {
+ "name": "ୱେଲ୍ସ"
+ },
+ "sn": {
+ "name": "ଶୋନା"
+ },
+ "zh-Hans": {
+ "name": "ସରଳିକରଣ ଚାଇନୀଜ୍"
+ },
+ "sr": {
+ "name": "ସର୍ବିଆନ୍"
+ },
+ "sg": {
+ "name": "ସାଙ୍ଗୋ"
+ },
+ "si": {
+ "name": "ସିଂହଳ"
+ },
+ "ii": {
+ "name": "ସିଚୁଆନ୍ ୟୀ"
+ },
+ "so": {
+ "name": "ସୋମାଲିଆ"
+ },
+ "gd": {
+ "name": "ସ୍କଟିସ୍ ଗାଏଲିକ୍"
+ },
+ "es": {
+ "name": "ସ୍ପାନିସ୍"
+ },
+ "es-MX": {
+ "name": "ସ୍ପାନିସ୍ (ମେକ୍ସିକୋ)"
+ },
+ "gsw": {
+ "name": "ସ୍ବିସ୍ ଜର୍ମାନ୍"
+ },
+ "fr-CH": {
+ "name": "ସ୍ବିସ୍ ଫ୍ରେଞ୍ଚ୍"
+ },
+ "de-CH": {
+ "name": "ସ୍ବିସ୍ ହାଇ ଜର୍ମାନ୍"
+ },
+ "sk": {
+ "name": "ସ୍ଲୋଭାକ୍"
+ },
+ "sl": {
+ "name": "ସ୍ଲୋଭେନିଆନ୍"
+ },
+ "sw": {
+ "name": "ସ୍ୱାହିଲ୍"
+ },
+ "sw-CD": {
+ "name": "ସ୍ୱାହିଲ୍ (କଙ୍ଗୋ-କିନସାସା)"
+ },
+ "sv": {
+ "name": "ସ୍ୱେଡିସ୍"
+ },
+ "hu": {
+ "name": "ହଙ୍ଗେରିଆନ୍"
+ },
+ "haw": {
+ "name": "ହାୱାଇନ୍"
+ },
+ "hi": {
+ "name": "ହିନ୍ଦୀ"
+ },
+ "he": {
+ "name": "ହେବ୍ର୍ୟୁ"
+ },
+ "ha": {
+ "name": "ହୌସା"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "yue": {
+ "name": "Cantonese"
+ },
+ "tzm": {
+ "name": "Central Atlas Tamazight"
+ },
+ "ckb": {
+ "name": "Central Kurdish"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "dje": {
+ "name": "Zarma"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/os.json b/vendor/commerceguys/intl/resources/language/os.json
new file mode 100644
index 000000000..3973e0b8d
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/os.json
@@ -0,0 +1,632 @@
+{
+ "agq": {
+ "name": "Aghem"
+ },
+ "ak": {
+ "name": "Akan"
+ },
+ "sq": {
+ "name": "Albanian"
+ },
+ "am": {
+ "name": "Amharic"
+ },
+ "as": {
+ "name": "Assamese"
+ },
+ "ast": {
+ "name": "Asturian"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bn": {
+ "name": "Bangla"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "be": {
+ "name": "Belarusian"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "br": {
+ "name": "Breton"
+ },
+ "my": {
+ "name": "Burmese"
+ },
+ "yue": {
+ "name": "Cantonese"
+ },
+ "tzm": {
+ "name": "Central Atlas Tamazight"
+ },
+ "ckb": {
+ "name": "Central Kurdish"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "cu": {
+ "name": "Church Slavic"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "kw": {
+ "name": "Cornish"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "nl": {
+ "name": "Dutch"
+ },
+ "dz": {
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "gl": {
+ "name": "Galician"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "gu": {
+ "name": "Gujarati"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "ha": {
+ "name": "Hausa"
+ },
+ "haw": {
+ "name": "Hawaiian"
+ },
+ "hi": {
+ "name": "Hindi"
+ },
+ "is": {
+ "name": "Icelandic"
+ },
+ "ig": {
+ "name": "Igbo"
+ },
+ "smn": {
+ "name": "Inari Sami"
+ },
+ "id": {
+ "name": "Indonesian"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabyle"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kl": {
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "kn": {
+ "name": "Kannada"
+ },
+ "ks": {
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "name": "Kazakh"
+ },
+ "km": {
+ "name": "Khmer"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "rw": {
+ "name": "Kinyarwanda"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "ko": {
+ "name": "Korean"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "ky": {
+ "name": "Kyrgyz"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "Lao"
+ },
+ "lv": {
+ "name": "Latvian"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "lt": {
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "mg": {
+ "name": "Malagasy"
+ },
+ "ms": {
+ "name": "Malay"
+ },
+ "ml": {
+ "name": "Malayalam"
+ },
+ "mt": {
+ "name": "Maltese"
+ },
+ "gv": {
+ "name": "Manx"
+ },
+ "mr": {
+ "name": "Marathi"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "mn": {
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nds-NL": {
+ "name": "nds (NL)"
+ },
+ "ne": {
+ "name": "Nepali"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "nl-BE": {
+ "name": "nl (BE)"
+ },
+ "nd": {
+ "name": "North Ndebele"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "se": {
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "or": {
+ "name": "Odia"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "ps": {
+ "name": "Pashto"
+ },
+ "pl": {
+ "name": "Polish"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "pa": {
+ "name": "Punjabi"
+ },
+ "qu": {
+ "name": "Quechua"
+ },
+ "ro-MD": {
+ "name": "ro (MD)"
+ },
+ "ro": {
+ "name": "Romanian"
+ },
+ "rm": {
+ "name": "Romansh"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "rn": {
+ "name": "Rundi"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "sah": {
+ "name": "Sakha"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "gd": {
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "sr": {
+ "name": "Serbian"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "si": {
+ "name": "Sinhala"
+ },
+ "sk": {
+ "name": "Slovak"
+ },
+ "sl": {
+ "name": "Slovenian"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "so": {
+ "name": "Somali"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw-CD": {
+ "name": "sw (CD)"
+ },
+ "sw": {
+ "name": "Swahili"
+ },
+ "sv": {
+ "name": "Swedish"
+ },
+ "gsw": {
+ "name": "Swiss German"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "ta": {
+ "name": "Tamil"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "te": {
+ "name": "Telugu"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "th": {
+ "name": "Thai"
+ },
+ "bo": {
+ "name": "Tibetan"
+ },
+ "ti": {
+ "name": "Tigrinya"
+ },
+ "to": {
+ "name": "Tongan"
+ },
+ "tr": {
+ "name": "Turkish"
+ },
+ "tk": {
+ "name": "Turkmen"
+ },
+ "uk": {
+ "name": "Ukrainian"
+ },
+ "hsb": {
+ "name": "Upper Sorbian"
+ },
+ "ur": {
+ "name": "Urdu"
+ },
+ "ug": {
+ "name": "Uyghur"
+ },
+ "uz": {
+ "name": "Uzbek"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vi": {
+ "name": "Vietnamese"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "cy": {
+ "name": "Welsh"
+ },
+ "fy": {
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "yi": {
+ "name": "Yiddish"
+ },
+ "yo": {
+ "name": "Yoruba"
+ },
+ "dje": {
+ "name": "Zarma"
+ },
+ "zu": {
+ "name": "Zulu"
+ },
+ "en-AU": {
+ "name": "австралиаг англисаг"
+ },
+ "de-AT": {
+ "name": "австралиаг немыцаг"
+ },
+ "en": {
+ "name": "англисаг"
+ },
+ "ar": {
+ "name": "араббаг"
+ },
+ "af": {
+ "name": "африкаанс"
+ },
+ "zh-Hans": {
+ "name": "ӕнцонгонд китайаг"
+ },
+ "eu": {
+ "name": "баскаг"
+ },
+ "el": {
+ "name": "бердзейнаг"
+ },
+ "bg": {
+ "name": "болгайраг"
+ },
+ "bs": {
+ "name": "босниаг"
+ },
+ "en-GB": {
+ "name": "бритайнаг англисаг"
+ },
+ "hu": {
+ "name": "венгериаг"
+ },
+ "ka": {
+ "name": "гуырдзиаг"
+ },
+ "da": {
+ "name": "даниаг"
+ },
+ "pt-PT": {
+ "name": "европӕйаг полтугалиаг"
+ },
+ "eo": {
+ "name": "есперанто"
+ },
+ "et": {
+ "name": "естойнаг"
+ },
+ "ga": {
+ "name": "ирландиаг"
+ },
+ "os": {
+ "name": "ирон"
+ },
+ "es": {
+ "name": "испайнаг"
+ },
+ "es-MX": {
+ "name": "испайнаг (MX)"
+ },
+ "it": {
+ "name": "италиаг"
+ },
+ "en-CA": {
+ "name": "канадӕйаг англисаг"
+ },
+ "fr-CA": {
+ "name": "канадӕйаг францаг"
+ },
+ "ca": {
+ "name": "каталайнаг"
+ },
+ "zh": {
+ "name": "китайаг"
+ },
+ "mk": {
+ "name": "мӕчъидон"
+ },
+ "de": {
+ "name": "немыцаг"
+ },
+ "fa": {
+ "name": "персайнаг"
+ },
+ "pt": {
+ "name": "португалиаг"
+ },
+ "hy": {
+ "name": "сомихаг"
+ },
+ "az": {
+ "name": "тӕтӕйраг"
+ },
+ "zh-Hant": {
+ "name": "традицион китайаг"
+ },
+ "he": {
+ "name": "уираг"
+ },
+ "ru": {
+ "name": "уырыссаг"
+ },
+ "fo": {
+ "name": "фарераг"
+ },
+ "fil": {
+ "name": "филиппинаг"
+ },
+ "fi": {
+ "name": "финнаг"
+ },
+ "fr": {
+ "name": "францаг"
+ },
+ "hr": {
+ "name": "хорватаг"
+ },
+ "ce": {
+ "name": "цӕцӕйнаг"
+ },
+ "cs": {
+ "name": "чехаг"
+ },
+ "fr-CH": {
+ "name": "швейцариаг францаг"
+ },
+ "de-CH": {
+ "name": "швйецариаг немыцаг"
+ },
+ "ja": {
+ "name": "япойнаг"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/pa.json b/vendor/commerceguys/intl/resources/language/pa.json
new file mode 100644
index 000000000..fe68c363a
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/pa.json
@@ -0,0 +1,635 @@
+{
+ "ug": {
+ "name": "ਉਇਗੁਰ"
+ },
+ "uz": {
+ "name": "ਉਜ਼ਬੇਕ"
+ },
+ "se": {
+ "name": "ਉੱਤਰੀ ਸਾਮੀ"
+ },
+ "nd": {
+ "name": "ਉੱਤਰੀ ਨਡੇਬੇਲੇ"
+ },
+ "lrc": {
+ "name": "ਉੱਤਰੀ ਲੁਰੀ"
+ },
+ "ur": {
+ "name": "ਉੜਦੂ"
+ },
+ "or": {
+ "name": "ਉੜੀਆ"
+ },
+ "os": {
+ "name": "ਓਸੈਟਿਕ"
+ },
+ "om": {
+ "name": "ਓਰੋਮੋ"
+ },
+ "ast": {
+ "name": "ਅਸਤੂਰੀ"
+ },
+ "as": {
+ "name": "ਅਸਾਮੀ"
+ },
+ "asa": {
+ "name": "ਅਸੂ"
+ },
+ "ak": {
+ "name": "ਅਕਾਨ"
+ },
+ "en": {
+ "name": "ਅੰਗਰੇਜ਼ੀ"
+ },
+ "en-AU": {
+ "name": "ਅੰਗਰੇਜ਼ੀ (ਆਸਟ੍ਰੇਲੀਆ)"
+ },
+ "en-CA": {
+ "name": "ਅੰਗਰੇਜ਼ੀ (ਕੈਨੇਡਾ)"
+ },
+ "en-GB": {
+ "name": "ਅੰਗਰੇਜ਼ੀ (ਬਰਤਾਨਵੀ)"
+ },
+ "agq": {
+ "name": "ਅਗੇਮ"
+ },
+ "az": {
+ "name": "ਅਜ਼ਰਬਾਈਜਾਨੀ"
+ },
+ "hsb": {
+ "name": "ਅੱਪਰ ਸੋਰਬੀਅਨ"
+ },
+ "af": {
+ "name": "ਅਫ਼ਰੀਕੀ"
+ },
+ "am": {
+ "name": "ਅਮਹਾਰਿਕ"
+ },
+ "ar": {
+ "name": "ਅਰਬੀ"
+ },
+ "hy": {
+ "name": "ਅਰਮੀਨੀਆਈ"
+ },
+ "sq": {
+ "name": "ਅਲਬਾਨੀਆਈ"
+ },
+ "ga": {
+ "name": "ਆਇਰਸ਼"
+ },
+ "is": {
+ "name": "ਆਈਸਲੈਂਡਿਕ"
+ },
+ "et": {
+ "name": "ਇਸਟੋਨੀਆਈ"
+ },
+ "eo": {
+ "name": "ਇਸਪੇਰਾਂਟੋ"
+ },
+ "ig": {
+ "name": "ਇਗਬੋ"
+ },
+ "id": {
+ "name": "ਇੰਡੋਨੇਸ਼ੀਆਈ"
+ },
+ "it": {
+ "name": "ਇਤਾਲਵੀ"
+ },
+ "smn": {
+ "name": "ਇਨਾਰੀ ਸਾਮੀ"
+ },
+ "ebu": {
+ "name": "ਇੰਬੂ"
+ },
+ "ewo": {
+ "name": "ਇਵੋਂਡੋ"
+ },
+ "ee": {
+ "name": "ਈਵਈ"
+ },
+ "gd": {
+ "name": "ਸਕਾਟਿਸ਼ ਗੇਲਿਕ"
+ },
+ "es": {
+ "name": "ਸਪੇਨੀ"
+ },
+ "es-MX": {
+ "name": "ਸਪੇਨੀ (ਮੈਕਸੀਕੋ)"
+ },
+ "ksb": {
+ "name": "ਸ਼ੰਬਾਲਾ"
+ },
+ "saq": {
+ "name": "ਸਮਬੁਰੂ"
+ },
+ "sr": {
+ "name": "ਸਰਬੀਆਈ"
+ },
+ "sk": {
+ "name": "ਸਲੋਵਾਕ"
+ },
+ "sl": {
+ "name": "ਸਲੋਵੇਨੀਆਈ"
+ },
+ "sw": {
+ "name": "ਸਵਾਹਿਲੀ"
+ },
+ "sw-CD": {
+ "name": "ਸਵਾਹਿਲੀ (ਕਾਂਗੋ - ਕਿੰਸ਼ਾਸਾ)"
+ },
+ "sv": {
+ "name": "ਸਵੀਡਿਸ਼"
+ },
+ "sah": {
+ "name": "ਸਾਖਾ"
+ },
+ "sg": {
+ "name": "ਸਾਂਗੋ"
+ },
+ "si": {
+ "name": "ਸਿੰਹਾਲਾ"
+ },
+ "ii": {
+ "name": "ਸਿਚੁਆਨ ਯੀ"
+ },
+ "sbp": {
+ "name": "ਸੇਂਗੋ"
+ },
+ "seh": {
+ "name": "ਸੇਨਾ"
+ },
+ "xog": {
+ "name": "ਸੋਗਾ"
+ },
+ "sn": {
+ "name": "ਸ਼ੋਨਾ"
+ },
+ "so": {
+ "name": "ਸੋਮਾਲੀ"
+ },
+ "hu": {
+ "name": "ਹੰਗਰੀਆਈ"
+ },
+ "haw": {
+ "name": "ਹਵਾਈ"
+ },
+ "hi": {
+ "name": "ਹਿੰਦੀ"
+ },
+ "he": {
+ "name": "ਹਿਬਰੂ"
+ },
+ "ha": {
+ "name": "ਹੌਸਾ"
+ },
+ "ks": {
+ "name": "ਕਸ਼ਮੀਰੀ"
+ },
+ "qu": {
+ "name": "ਕਕੇਸ਼ੁਆ"
+ },
+ "kk": {
+ "name": "ਕਜ਼ਾਖ਼"
+ },
+ "kn": {
+ "name": "ਕੰਨੜ"
+ },
+ "kam": {
+ "name": "ਕੰਬਾ"
+ },
+ "kab": {
+ "name": "ਕਬਾਇਲ"
+ },
+ "kl": {
+ "name": "ਕਲਾਅੱਲੀਸੁਟ"
+ },
+ "kln": {
+ "name": "ਕਲੇਜਿਨ"
+ },
+ "ksh": {
+ "name": "ਕਲੋਗਨੀਅਨ"
+ },
+ "nmg": {
+ "name": "ਕਵਾਸਿਓ"
+ },
+ "hr": {
+ "name": "ਕ੍ਰੋਏਸ਼ਿਆਈ"
+ },
+ "kkj": {
+ "name": "ਕਾਕੋ"
+ },
+ "kea": {
+ "name": "ਕਾਬੁਵੇਰਦਿਆਨੂ"
+ },
+ "ki": {
+ "name": "ਕਿਕੂਯੂ"
+ },
+ "rw": {
+ "name": "ਕਿਨਿਆਰਵਾਂਡਾ"
+ },
+ "ky": {
+ "name": "ਕਿਰਗੀਜ਼"
+ },
+ "ckb": {
+ "name": "ਕੇਂਦਰੀ ਕੁਰਦਿਸ਼"
+ },
+ "ca": {
+ "name": "ਕੈਟਾਲਾਨ"
+ },
+ "yue": {
+ "name": "ਕੈਂਟੋਨੀਜ਼"
+ },
+ "ses": {
+ "name": "ਕੋਇਰਾਬੋਰੋ ਸੇਂਨੀ"
+ },
+ "kok": {
+ "name": "ਕੋਂਕਣੀ"
+ },
+ "khq": {
+ "name": "ਕੋਯਰਾ ਚੀਨੀ"
+ },
+ "kw": {
+ "name": "ਕੋਰਨਿਸ਼"
+ },
+ "ko": {
+ "name": "ਕੋਰੀਆਈ"
+ },
+ "km": {
+ "name": "ਖਮੇਰ"
+ },
+ "lg": {
+ "name": "ਗਾਂਡਾ"
+ },
+ "guz": {
+ "name": "ਗੁਸੀ"
+ },
+ "gu": {
+ "name": "ਗੁਜਰਾਤੀ"
+ },
+ "gl": {
+ "name": "ਗੈਲਿਸ਼ਿਅਨ"
+ },
+ "cu": {
+ "name": "ਚਰਚ ਸਲਾਵੀ"
+ },
+ "cgg": {
+ "name": "ਚੀਗਾ"
+ },
+ "zh-Hans": {
+ "name": "ਚੀਨੀ (ਸਰਲ)"
+ },
+ "zh": {
+ "name": "ਚੀਨੀ (ਮੈਂਡਰਿਨ)"
+ },
+ "zh-Hant": {
+ "name": "ਚੀਨੀ (ਰਵਾਇਤੀ)"
+ },
+ "ce": {
+ "name": "ਚੇਚਨ"
+ },
+ "chr": {
+ "name": "ਚੇਰੋਕੀ"
+ },
+ "cs": {
+ "name": "ਚੈੱਕ"
+ },
+ "ja": {
+ "name": "ਜਪਾਨੀ"
+ },
+ "de": {
+ "name": "ਜਰਮਨ"
+ },
+ "de-AT": {
+ "name": "ਜਰਮਨ (ਆਸਟਰੀਆਈ)"
+ },
+ "gsw": {
+ "name": "ਜਰਮਨ (ਸਵਿਸ)"
+ },
+ "de-CH": {
+ "name": "ਜਰਮਨ (ਸਵਿਟਜ਼ਰਲੈਂਡ)"
+ },
+ "ka": {
+ "name": "ਜਾਰਜੀਆਈ"
+ },
+ "dje": {
+ "name": "ਜ਼ਾਰਮਾ"
+ },
+ "zu": {
+ "name": "ਜ਼ੁਲੂ"
+ },
+ "dz": {
+ "name": "ਜ਼ੋਂਗਖਾ"
+ },
+ "dyo": {
+ "name": "ਜੋਲਾ-ਫੋਇਨੀ"
+ },
+ "shi": {
+ "name": "ਟਚੇਲਹਿਟ"
+ },
+ "teo": {
+ "name": "ਟੇਸੋ"
+ },
+ "dav": {
+ "name": "ਟੇਟਾ"
+ },
+ "to": {
+ "name": "ਟੌਂਗਨ"
+ },
+ "nl": {
+ "name": "ਡੱਚ"
+ },
+ "dua": {
+ "name": "ਡੂਆਲਾ"
+ },
+ "da": {
+ "name": "ਡੈਨਿਸ਼"
+ },
+ "ta": {
+ "name": "ਤਮਿਲ"
+ },
+ "twq": {
+ "name": "ਤਾਸਾਵਿਕ"
+ },
+ "ti": {
+ "name": "ਤਿਗ੍ਰੀਨਿਆ"
+ },
+ "bo": {
+ "name": "ਤਿੱਬਤੀ"
+ },
+ "tk": {
+ "name": "ਤੁਰਕਮੇਨ"
+ },
+ "tr": {
+ "name": "ਤੁਰਕੀ"
+ },
+ "te": {
+ "name": "ਤੇਲਗੂ"
+ },
+ "th": {
+ "name": "ਥਾਈ"
+ },
+ "jgo": {
+ "name": "ਨਗੋਂਬਾ"
+ },
+ "naq": {
+ "name": "ਨਾਮਾ"
+ },
+ "nn": {
+ "name": "ਨਾਰਵੇਜਿਆਈ ਨਿਓਨੌਰਸਕ"
+ },
+ "nb": {
+ "name": "ਨਾਰਵੇਜਿਆਈ ਬੋਕਮਲ"
+ },
+ "nnh": {
+ "name": "ਨਿਓਮਬੂਨ"
+ },
+ "nyn": {
+ "name": "ਨਿਆਂਕੋਲੇ"
+ },
+ "nus": {
+ "name": "ਨੁਏਰ"
+ },
+ "ne": {
+ "name": "ਨੇਪਾਲੀ"
+ },
+ "ps": {
+ "name": "ਪਸ਼ਤੋ"
+ },
+ "fy": {
+ "name": "ਪੱਛਮੀ ਫ੍ਰਿਸੀਅਨ"
+ },
+ "pa": {
+ "name": "ਪੰਜਾਬੀ"
+ },
+ "prg": {
+ "name": "ਪਰੂਸ਼ੀਆ"
+ },
+ "pt": {
+ "name": "ਪੁਰਤਗਾਲੀ"
+ },
+ "pt-PT": {
+ "name": "ਪੁਰਤਗਾਲੀ (ਯੂਰਪੀ)"
+ },
+ "pl": {
+ "name": "ਪੋਲੈਂਡੀ"
+ },
+ "fr": {
+ "name": "ਫਰਾਂਸੀਸੀ"
+ },
+ "fr-CH": {
+ "name": "ਫਰਾਂਸੀਸੀ (ਸਵਿਟਜ਼ਰਲੈਂਡ)"
+ },
+ "fr-CA": {
+ "name": "ਫਰਾਂਸੀਸੀ (ਕੈਨੇਡੀਅਨ)"
+ },
+ "fur": {
+ "name": "ਫਰੀਉਲੀਅਨ"
+ },
+ "nl-BE": {
+ "name": "ਫਲੈਮਿਸ਼"
+ },
+ "fa": {
+ "name": "ਫ਼ਾਰਸੀ"
+ },
+ "fi": {
+ "name": "ਫਿਨਿਸ਼"
+ },
+ "fil": {
+ "name": "ਫਿਲੀਪਿਨੋ"
+ },
+ "ff": {
+ "name": "ਫੁਲਾਹ"
+ },
+ "fo": {
+ "name": "ਫ਼ੇਰੋਸੇ"
+ },
+ "bn": {
+ "name": "ਬੰਗਾਲੀ"
+ },
+ "ksf": {
+ "name": "ਬਫ਼ੀਆ"
+ },
+ "bm": {
+ "name": "ਬੰਬਾਰਾ"
+ },
+ "my": {
+ "name": "ਬਰਮੀ"
+ },
+ "br": {
+ "name": "ਬਰੇਟਨ"
+ },
+ "eu": {
+ "name": "ਬਾਸਕ"
+ },
+ "bas": {
+ "name": "ਬਾਸਾ"
+ },
+ "bg": {
+ "name": "ਬੁਲਗਾਰੀਆਈ"
+ },
+ "bez": {
+ "name": "ਬੇਨਾ"
+ },
+ "bem": {
+ "name": "ਬੇਮਬਾ"
+ },
+ "be": {
+ "name": "ਬੇਲਾਰੂਸੀ"
+ },
+ "bs": {
+ "name": "ਬੋਸਨੀਆਈ"
+ },
+ "brx": {
+ "name": "ਬੋਡੋ"
+ },
+ "mas": {
+ "name": "ਮਸਾਈ"
+ },
+ "kde": {
+ "name": "ਮਕੋਂਡ"
+ },
+ "mgh": {
+ "name": "ਮਖੋਵਾ-ਮਿੱਟੋ"
+ },
+ "mn": {
+ "name": "ਮੰਗੋਲੀ"
+ },
+ "jmc": {
+ "name": "ਮਚਾਮੇ"
+ },
+ "tzm": {
+ "name": "ਮੱਧ ਐਟਲਸ ਤਮਾਜ਼ਿਤ"
+ },
+ "mr": {
+ "name": "ਮਰਾਠੀ"
+ },
+ "ms": {
+ "name": "ਮਲਯ"
+ },
+ "ml": {
+ "name": "ਮਲਿਆਲਮ"
+ },
+ "mt": {
+ "name": "ਮਾਲਟੀਜ਼"
+ },
+ "zgh": {
+ "name": "ਮਿਆਰੀ ਮੋਰੋਕੇਨ ਟਾਮਾਜ਼ਿਕ"
+ },
+ "mua": {
+ "name": "ਮੁੰਡੇਂਗ"
+ },
+ "mzn": {
+ "name": "ਮੇਜ਼ੈਂਡਰਾਨੀ"
+ },
+ "mgo": {
+ "name": "ਮੇਟਾ"
+ },
+ "mer": {
+ "name": "ਮੇਰੂ"
+ },
+ "mg": {
+ "name": "ਮੇਲੇਗਸੀ"
+ },
+ "gv": {
+ "name": "ਮੈਂਕਸ"
+ },
+ "mk": {
+ "name": "ਮੈਕਡੋਨੀਆਈ"
+ },
+ "mfe": {
+ "name": "ਮੋਰੀਸਿਅਨ"
+ },
+ "ro-MD": {
+ "name": "ਮੋਲਡਾਵੀਆਈ"
+ },
+ "yav": {
+ "name": "ਯਾਂਗਬੇਨ"
+ },
+ "yi": {
+ "name": "ਯਿਦਿਸ਼"
+ },
+ "uk": {
+ "name": "ਯੂਕਰੇਨੀਆਈ"
+ },
+ "el": {
+ "name": "ਯੂਨਾਨੀ"
+ },
+ "yo": {
+ "name": "ਯੋਰੂਬਾ"
+ },
+ "rwk": {
+ "name": "ਰਵਾ"
+ },
+ "rn": {
+ "name": "ਰੁੰਡੀ"
+ },
+ "ru": {
+ "name": "ਰੂਸੀ"
+ },
+ "rof": {
+ "name": "ਰੋਮਬੋ"
+ },
+ "rm": {
+ "name": "ਰੋਮਾਂਸ਼"
+ },
+ "ro": {
+ "name": "ਰੋਮਾਨੀਆਈ"
+ },
+ "lb": {
+ "name": "ਲਕਜ਼ਮਬਰਗਿਸ਼"
+ },
+ "lkt": {
+ "name": "ਲਕੋਟਾ"
+ },
+ "lag": {
+ "name": "ਲੰਗਾਈ"
+ },
+ "lo": {
+ "name": "ਲਾਓ"
+ },
+ "lv": {
+ "name": "ਲਾਤੀਵੀ"
+ },
+ "ln": {
+ "name": "ਲਿੰਗਾਲਾ"
+ },
+ "lt": {
+ "name": "ਲਿਥੁਆਨੀਅਨ"
+ },
+ "luo": {
+ "name": "ਲੂਓ"
+ },
+ "luy": {
+ "name": "ਲੂਈਆ"
+ },
+ "lu": {
+ "name": "ਲੂਬਾ-ਕਾਟਾਂਗਾ"
+ },
+ "nds-NL": {
+ "name": "ਲੋ ਸੈਕਸਨ"
+ },
+ "nds": {
+ "name": "ਲੋ ਜਰਮਨ"
+ },
+ "dsb": {
+ "name": "ਲੋਅਰ ਸੋਰਬੀਅਨ"
+ },
+ "vai": {
+ "name": "ਵਾਈ"
+ },
+ "wae": {
+ "name": "ਵਾਲਸਰ"
+ },
+ "vi": {
+ "name": "ਵੀਅਤਨਾਮੀ"
+ },
+ "vun": {
+ "name": "ਵੂੰਜੋ"
+ },
+ "cy": {
+ "name": "ਵੈਲਸ਼"
+ },
+ "vo": {
+ "name": "ਵੋਲਾਪੂਕ"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/pl.json b/vendor/commerceguys/intl/resources/language/pl.json
new file mode 100644
index 000000000..25452b44e
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/pl.json
@@ -0,0 +1,635 @@
+{
+ "af": {
+ "name": "afrikaans"
+ },
+ "agq": {
+ "name": "aghem"
+ },
+ "ak": {
+ "name": "akan"
+ },
+ "sq": {
+ "name": "albański"
+ },
+ "am": {
+ "name": "amharski"
+ },
+ "en": {
+ "name": "angielski"
+ },
+ "ar": {
+ "name": "arabski"
+ },
+ "as": {
+ "name": "asamski"
+ },
+ "ast": {
+ "name": "asturyjski"
+ },
+ "asa": {
+ "name": "asu"
+ },
+ "teo": {
+ "name": "ateso"
+ },
+ "en-AU": {
+ "name": "australijski angielski"
+ },
+ "de-AT": {
+ "name": "austriacki niemiecki"
+ },
+ "az": {
+ "name": "azerbejdżański"
+ },
+ "ksf": {
+ "name": "bafia"
+ },
+ "bm": {
+ "name": "bambara"
+ },
+ "bas": {
+ "name": "basaa"
+ },
+ "eu": {
+ "name": "baskijski"
+ },
+ "bem": {
+ "name": "bemba"
+ },
+ "bez": {
+ "name": "bena"
+ },
+ "bn": {
+ "name": "bengalski"
+ },
+ "be": {
+ "name": "białoruski"
+ },
+ "my": {
+ "name": "birmański"
+ },
+ "brx": {
+ "name": "bodo"
+ },
+ "bs": {
+ "name": "bośniacki"
+ },
+ "br": {
+ "name": "bretoński"
+ },
+ "en-GB": {
+ "name": "brytyjski angielski"
+ },
+ "bg": {
+ "name": "bułgarski"
+ },
+ "cu": {
+ "name": "cerkiewnosłowiański"
+ },
+ "cgg": {
+ "name": "chiga"
+ },
+ "zh": {
+ "name": "chiński"
+ },
+ "zh-Hant": {
+ "name": "chiński tradycyjny"
+ },
+ "zh-Hans": {
+ "name": "chiński uproszczony"
+ },
+ "hr": {
+ "name": "chorwacki"
+ },
+ "ce": {
+ "name": "czeczeński"
+ },
+ "cs": {
+ "name": "czeski"
+ },
+ "chr": {
+ "name": "czirokeski"
+ },
+ "dyo": {
+ "name": "diola"
+ },
+ "dsb": {
+ "name": "dolnołużycki"
+ },
+ "nds": {
+ "name": "dolnoniemiecki"
+ },
+ "nds-NL": {
+ "name": "dolnosaksoński"
+ },
+ "dua": {
+ "name": "duala"
+ },
+ "da": {
+ "name": "duński"
+ },
+ "dz": {
+ "name": "dzongkha"
+ },
+ "dje": {
+ "name": "dżerma"
+ },
+ "ebu": {
+ "name": "embu"
+ },
+ "eo": {
+ "name": "esperanto"
+ },
+ "et": {
+ "name": "estoński"
+ },
+ "pt-PT": {
+ "name": "europejski portugalski"
+ },
+ "ee": {
+ "name": "ewe"
+ },
+ "ewo": {
+ "name": "ewondo"
+ },
+ "fo": {
+ "name": "farerski"
+ },
+ "fil": {
+ "name": "filipino"
+ },
+ "fi": {
+ "name": "fiński"
+ },
+ "nl-BE": {
+ "name": "flamandzki"
+ },
+ "fr": {
+ "name": "francuski"
+ },
+ "fur": {
+ "name": "friulski"
+ },
+ "ff": {
+ "name": "fulani"
+ },
+ "gl": {
+ "name": "galicyjski"
+ },
+ "lg": {
+ "name": "ganda"
+ },
+ "hsb": {
+ "name": "górnołużycki"
+ },
+ "el": {
+ "name": "grecki"
+ },
+ "kl": {
+ "name": "grenlandzki"
+ },
+ "ka": {
+ "name": "gruziński"
+ },
+ "gu": {
+ "name": "gudżarati"
+ },
+ "guz": {
+ "name": "gusii"
+ },
+ "ksh": {
+ "name": "gwara kolońska"
+ },
+ "ha": {
+ "name": "hausa"
+ },
+ "haw": {
+ "name": "hawajski"
+ },
+ "he": {
+ "name": "hebrajski"
+ },
+ "hi": {
+ "name": "hindi"
+ },
+ "es": {
+ "name": "hiszpański"
+ },
+ "ig": {
+ "name": "igbo"
+ },
+ "smn": {
+ "name": "inari"
+ },
+ "id": {
+ "name": "indonezyjski"
+ },
+ "ga": {
+ "name": "irlandzki"
+ },
+ "is": {
+ "name": "islandzki"
+ },
+ "sah": {
+ "name": "jakucki"
+ },
+ "ja": {
+ "name": "japoński"
+ },
+ "yi": {
+ "name": "jidysz"
+ },
+ "yo": {
+ "name": "joruba"
+ },
+ "kab": {
+ "name": "kabylski"
+ },
+ "kkj": {
+ "name": "kako"
+ },
+ "kln": {
+ "name": "kalenjin"
+ },
+ "kam": {
+ "name": "kamba"
+ },
+ "en-CA": {
+ "name": "kanadyjski angielski"
+ },
+ "fr-CA": {
+ "name": "kanadyjski francuski"
+ },
+ "kn": {
+ "name": "kannada"
+ },
+ "yue": {
+ "name": "kantoński"
+ },
+ "ks": {
+ "name": "kaszmirski"
+ },
+ "ca": {
+ "name": "kataloński"
+ },
+ "kk": {
+ "name": "kazachski"
+ },
+ "qu": {
+ "name": "keczua"
+ },
+ "km": {
+ "name": "khmerski"
+ },
+ "ki": {
+ "name": "kikuju"
+ },
+ "rw": {
+ "name": "kinya-ruanda"
+ },
+ "ky": {
+ "name": "kirgiski"
+ },
+ "sw-CD": {
+ "name": "kongijski suahili"
+ },
+ "kok": {
+ "name": "konkani"
+ },
+ "ko": {
+ "name": "koreański"
+ },
+ "kw": {
+ "name": "kornijski"
+ },
+ "khq": {
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "name": "koyraboro senni"
+ },
+ "mfe": {
+ "name": "kreolski Mauritiusa"
+ },
+ "kea": {
+ "name": "kreolski Wysp Zielonego Przylądka"
+ },
+ "lkt": {
+ "name": "lakota"
+ },
+ "lag": {
+ "name": "langi"
+ },
+ "lo": {
+ "name": "laotański"
+ },
+ "ln": {
+ "name": "lingala"
+ },
+ "lt": {
+ "name": "litewski"
+ },
+ "lu": {
+ "name": "luba-katanga"
+ },
+ "luy": {
+ "name": "luhya"
+ },
+ "lb": {
+ "name": "luksemburski"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lrc": {
+ "name": "luryjski północny"
+ },
+ "lv": {
+ "name": "łotewski"
+ },
+ "mk": {
+ "name": "macedoński"
+ },
+ "jmc": {
+ "name": "machame"
+ },
+ "kde": {
+ "name": "makonde"
+ },
+ "mgh": {
+ "name": "makua"
+ },
+ "ml": {
+ "name": "malajalam"
+ },
+ "ms": {
+ "name": "malajski"
+ },
+ "mg": {
+ "name": "malgaski"
+ },
+ "mt": {
+ "name": "maltański"
+ },
+ "gv": {
+ "name": "manx"
+ },
+ "mr": {
+ "name": "marathi"
+ },
+ "mas": {
+ "name": "masajski"
+ },
+ "mzn": {
+ "name": "mazanderański"
+ },
+ "es-MX": {
+ "name": "meksykański hiszpański"
+ },
+ "mer": {
+ "name": "meru"
+ },
+ "mgo": {
+ "name": "meta"
+ },
+ "ro-MD": {
+ "name": "mołdawski"
+ },
+ "mn": {
+ "name": "mongolski"
+ },
+ "mua": {
+ "name": "mundang"
+ },
+ "naq": {
+ "name": "nama"
+ },
+ "nd": {
+ "name": "ndebele północny"
+ },
+ "ne": {
+ "name": "nepalski"
+ },
+ "nnh": {
+ "name": "ngiemboon"
+ },
+ "jgo": {
+ "name": "ngombe"
+ },
+ "nmg": {
+ "name": "ngumba"
+ },
+ "nl": {
+ "name": "niderlandzki"
+ },
+ "de": {
+ "name": "niemiecki"
+ },
+ "nb": {
+ "name": "norweski (bokmål)"
+ },
+ "nn": {
+ "name": "norweski (nynorsk)"
+ },
+ "nus": {
+ "name": "nuer"
+ },
+ "nyn": {
+ "name": "nyankole"
+ },
+ "or": {
+ "name": "orija"
+ },
+ "hy": {
+ "name": "ormiański"
+ },
+ "om": {
+ "name": "oromo"
+ },
+ "os": {
+ "name": "osetyjski"
+ },
+ "ps": {
+ "name": "paszto"
+ },
+ "pa": {
+ "name": "pendżabski"
+ },
+ "fa": {
+ "name": "perski"
+ },
+ "pl": {
+ "name": "polski"
+ },
+ "pt": {
+ "name": "portugalski"
+ },
+ "se": {
+ "name": "północnolapoński"
+ },
+ "prg": {
+ "name": "pruski"
+ },
+ "rm": {
+ "name": "retoromański"
+ },
+ "rof": {
+ "name": "rombo"
+ },
+ "ru": {
+ "name": "rosyjski"
+ },
+ "ro": {
+ "name": "rumuński"
+ },
+ "rn": {
+ "name": "rundi"
+ },
+ "rwk": {
+ "name": "rwa"
+ },
+ "ksb": {
+ "name": "sambala"
+ },
+ "saq": {
+ "name": "samburu"
+ },
+ "sg": {
+ "name": "sango"
+ },
+ "sbp": {
+ "name": "sangu"
+ },
+ "seh": {
+ "name": "sena"
+ },
+ "sr": {
+ "name": "serbski"
+ },
+ "sn": {
+ "name": "shona"
+ },
+ "sk": {
+ "name": "słowacki"
+ },
+ "sl": {
+ "name": "słoweński"
+ },
+ "xog": {
+ "name": "soga"
+ },
+ "so": {
+ "name": "somalijski"
+ },
+ "ckb": {
+ "name": "sorani"
+ },
+ "zgh": {
+ "name": "standardowy marokański tamazight"
+ },
+ "sw": {
+ "name": "suahili"
+ },
+ "ii": {
+ "name": "syczuański"
+ },
+ "si": {
+ "name": "syngaleski"
+ },
+ "gd": {
+ "name": "szkocki gaelicki"
+ },
+ "fr-CH": {
+ "name": "szwajcarski francuski"
+ },
+ "gsw": {
+ "name": "szwajcarski niemiecki"
+ },
+ "sv": {
+ "name": "szwedzki"
+ },
+ "dav": {
+ "name": "taita"
+ },
+ "th": {
+ "name": "tajski"
+ },
+ "tzm": {
+ "name": "tamazight (Atlas Środkowy)"
+ },
+ "ta": {
+ "name": "tamilski"
+ },
+ "twq": {
+ "name": "tasawaq"
+ },
+ "shi": {
+ "name": "tashelhiyt"
+ },
+ "te": {
+ "name": "telugu"
+ },
+ "ti": {
+ "name": "tigrinia"
+ },
+ "to": {
+ "name": "tonga"
+ },
+ "tr": {
+ "name": "turecki"
+ },
+ "tk": {
+ "name": "turkmeński"
+ },
+ "bo": {
+ "name": "tybetański"
+ },
+ "ug": {
+ "name": "ujgurski"
+ },
+ "uk": {
+ "name": "ukraiński"
+ },
+ "ur": {
+ "name": "urdu"
+ },
+ "uz": {
+ "name": "uzbecki"
+ },
+ "vun": {
+ "name": "vunjo"
+ },
+ "vai": {
+ "name": "wai"
+ },
+ "cy": {
+ "name": "walijski"
+ },
+ "wae": {
+ "name": "walser"
+ },
+ "hu": {
+ "name": "węgierski"
+ },
+ "vi": {
+ "name": "wietnamski"
+ },
+ "it": {
+ "name": "włoski"
+ },
+ "vo": {
+ "name": "wolapik"
+ },
+ "de-CH": {
+ "name": "wysokoniemiecki (Szwajcaria)"
+ },
+ "yav": {
+ "name": "yangben"
+ },
+ "fy": {
+ "name": "zachodniofryzyjski"
+ },
+ "zu": {
+ "name": "zulu"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/ps.json b/vendor/commerceguys/intl/resources/language/ps.json
new file mode 100644
index 000000000..3a79f9815
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/ps.json
@@ -0,0 +1,632 @@
+{
+ "as": {
+ "name": "آسامي"
+ },
+ "hy": {
+ "name": "ارمني"
+ },
+ "uz": {
+ "name": "ازبکي"
+ },
+ "sq": {
+ "name": "الباني"
+ },
+ "de": {
+ "name": "الماني"
+ },
+ "de-AT": {
+ "name": "الماني (اتریش)"
+ },
+ "de-CH": {
+ "name": "الماني (سویس)"
+ },
+ "am": {
+ "name": "امهاري"
+ },
+ "en": {
+ "name": "انګریزي"
+ },
+ "en-GB": {
+ "name": "انګریزي (برتانیه)"
+ },
+ "en-CA": {
+ "name": "انګریزي (کاناډا)"
+ },
+ "en-AU": {
+ "name": "انګریزي (AU)"
+ },
+ "it": {
+ "name": "ایټالوي"
+ },
+ "eu": {
+ "name": "باسکي"
+ },
+ "bg": {
+ "name": "بلغاري"
+ },
+ "bs": {
+ "name": "بوسني"
+ },
+ "be": {
+ "name": "بېلاروسي"
+ },
+ "ps": {
+ "name": "پښتو"
+ },
+ "pt": {
+ "name": "پورتګالي"
+ },
+ "pt-PT": {
+ "name": "پورتګالي (پورتګال)"
+ },
+ "pl": {
+ "name": "پولنډي"
+ },
+ "tk": {
+ "name": "ترکمني"
+ },
+ "ja": {
+ "name": "جاپانی"
+ },
+ "zh": {
+ "name": "چیني"
+ },
+ "zh-Hans": {
+ "name": "چیني (Hans)"
+ },
+ "zh-Hant": {
+ "name": "چیني (Hant)"
+ },
+ "et": {
+ "name": "حبشي"
+ },
+ "ru": {
+ "name": "روسي"
+ },
+ "sv": {
+ "name": "سویډنی"
+ },
+ "he": {
+ "name": "عبري"
+ },
+ "ar": {
+ "name": "عربي"
+ },
+ "fa": {
+ "name": "فارسي"
+ },
+ "fr": {
+ "name": "فرانسوي"
+ },
+ "fr-CH": {
+ "name": "فرانسوي (سویس)"
+ },
+ "fr-CA": {
+ "name": "فرانسوي (کاناډا)"
+ },
+ "fi": {
+ "name": "فینلنډي"
+ },
+ "mn": {
+ "name": "مغولي"
+ },
+ "mk": {
+ "name": "مقدوني"
+ },
+ "ms": {
+ "name": "ملایا"
+ },
+ "mg": {
+ "name": "ملغاسي"
+ },
+ "ne": {
+ "name": "نېپالي"
+ },
+ "nl": {
+ "name": "هالېنډي"
+ },
+ "nl-BE": {
+ "name": "هالېنډي (BE)"
+ },
+ "hi": {
+ "name": "هندي"
+ },
+ "el": {
+ "name": "یوناني"
+ },
+ "af": {
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "ak": {
+ "name": "Akan"
+ },
+ "ast": {
+ "name": "Asturian"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "az": {
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bn": {
+ "name": "Bangla"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "br": {
+ "name": "Breton"
+ },
+ "my": {
+ "name": "Burmese"
+ },
+ "yue": {
+ "name": "Cantonese"
+ },
+ "ca": {
+ "name": "Catalan"
+ },
+ "tzm": {
+ "name": "Central Atlas Tamazight"
+ },
+ "ckb": {
+ "name": "Central Kurdish"
+ },
+ "ce": {
+ "name": "Chechen"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "cu": {
+ "name": "Church Slavic"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "kw": {
+ "name": "Cornish"
+ },
+ "hr": {
+ "name": "Croatian"
+ },
+ "cs": {
+ "name": "Czech"
+ },
+ "da": {
+ "name": "Danish"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "dz": {
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "es-MX": {
+ "name": "es (MX)"
+ },
+ "eo": {
+ "name": "Esperanto"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fo": {
+ "name": "Faroese"
+ },
+ "fil": {
+ "name": "Filipino"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "gl": {
+ "name": "Galician"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "ka": {
+ "name": "Georgian"
+ },
+ "gu": {
+ "name": "Gujarati"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "ha": {
+ "name": "Hausa"
+ },
+ "haw": {
+ "name": "Hawaiian"
+ },
+ "hu": {
+ "name": "Hungarian"
+ },
+ "is": {
+ "name": "Icelandic"
+ },
+ "ig": {
+ "name": "Igbo"
+ },
+ "smn": {
+ "name": "Inari Sami"
+ },
+ "id": {
+ "name": "Indonesian"
+ },
+ "ga": {
+ "name": "Irish"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabyle"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kl": {
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "kn": {
+ "name": "Kannada"
+ },
+ "ks": {
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "name": "Kazakh"
+ },
+ "km": {
+ "name": "Khmer"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "rw": {
+ "name": "Kinyarwanda"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "ko": {
+ "name": "Korean"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "ky": {
+ "name": "Kyrgyz"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "Lao"
+ },
+ "lv": {
+ "name": "Latvian"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "lt": {
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "ml": {
+ "name": "Malayalam"
+ },
+ "mt": {
+ "name": "Maltese"
+ },
+ "gv": {
+ "name": "Manx"
+ },
+ "mr": {
+ "name": "Marathi"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nds-NL": {
+ "name": "nds (هالېنډ)"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "nd": {
+ "name": "North Ndebele"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "se": {
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "or": {
+ "name": "Odia"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "os": {
+ "name": "Ossetic"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "pa": {
+ "name": "Punjabi"
+ },
+ "qu": {
+ "name": "Quechua"
+ },
+ "ro-MD": {
+ "name": "ro (MD)"
+ },
+ "ro": {
+ "name": "Romanian"
+ },
+ "rm": {
+ "name": "Romansh"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "rn": {
+ "name": "Rundi"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "sah": {
+ "name": "Sakha"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "gd": {
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "sr": {
+ "name": "Serbian"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "si": {
+ "name": "Sinhala"
+ },
+ "sk": {
+ "name": "Slovak"
+ },
+ "sl": {
+ "name": "Slovenian"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "so": {
+ "name": "Somali"
+ },
+ "es": {
+ "name": "Spanish"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw-CD": {
+ "name": "sw (CD)"
+ },
+ "sw": {
+ "name": "Swahili"
+ },
+ "gsw": {
+ "name": "Swiss German"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "ta": {
+ "name": "Tamil"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "te": {
+ "name": "Telugu"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "th": {
+ "name": "Thai"
+ },
+ "bo": {
+ "name": "Tibetan"
+ },
+ "ti": {
+ "name": "Tigrinya"
+ },
+ "to": {
+ "name": "Tongan"
+ },
+ "tr": {
+ "name": "Turkish"
+ },
+ "uk": {
+ "name": "Ukrainian"
+ },
+ "hsb": {
+ "name": "Upper Sorbian"
+ },
+ "ur": {
+ "name": "Urdu"
+ },
+ "ug": {
+ "name": "Uyghur"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vi": {
+ "name": "Vietnamese"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "cy": {
+ "name": "Welsh"
+ },
+ "fy": {
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "yi": {
+ "name": "Yiddish"
+ },
+ "yo": {
+ "name": "Yoruba"
+ },
+ "dje": {
+ "name": "Zarma"
+ },
+ "zu": {
+ "name": "Zulu"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/pt-AO.json b/vendor/commerceguys/intl/resources/language/pt-AO.json
new file mode 100644
index 000000000..55b7c2234
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/pt-AO.json
@@ -0,0 +1,635 @@
+{
+ "af": {
+ "name": "africanês"
+ },
+ "agq": {
+ "name": "aghem"
+ },
+ "ak": {
+ "name": "akan"
+ },
+ "sq": {
+ "name": "albanês"
+ },
+ "de": {
+ "name": "alemão"
+ },
+ "de-AT": {
+ "name": "alemão austríaco"
+ },
+ "gsw": {
+ "name": "alemão suíço"
+ },
+ "de-CH": {
+ "name": "alto alemão suíço"
+ },
+ "hsb": {
+ "name": "alto sorábio"
+ },
+ "am": {
+ "name": "amárico"
+ },
+ "ar": {
+ "name": "árabe"
+ },
+ "hy": {
+ "name": "arménio"
+ },
+ "as": {
+ "name": "assamês"
+ },
+ "ast": {
+ "name": "asturiano"
+ },
+ "asa": {
+ "name": "asu"
+ },
+ "az": {
+ "name": "azerbaijano"
+ },
+ "ksf": {
+ "name": "bafia"
+ },
+ "dsb": {
+ "name": "baixo sorábio"
+ },
+ "nds": {
+ "name": "baixo-alemão"
+ },
+ "nds-NL": {
+ "name": "baixo-saxão"
+ },
+ "bm": {
+ "name": "bambara"
+ },
+ "bas": {
+ "name": "basa"
+ },
+ "eu": {
+ "name": "basco"
+ },
+ "bem": {
+ "name": "bemba"
+ },
+ "bez": {
+ "name": "bena"
+ },
+ "bn": {
+ "name": "bengali"
+ },
+ "be": {
+ "name": "bielorrusso"
+ },
+ "my": {
+ "name": "birmanês"
+ },
+ "brx": {
+ "name": "bodo"
+ },
+ "bs": {
+ "name": "bósnio"
+ },
+ "br": {
+ "name": "bretão"
+ },
+ "bg": {
+ "name": "búlgaro"
+ },
+ "kn": {
+ "name": "canarim"
+ },
+ "yue": {
+ "name": "cantonês"
+ },
+ "ca": {
+ "name": "catalão"
+ },
+ "ks": {
+ "name": "caxemira"
+ },
+ "kk": {
+ "name": "cazaque"
+ },
+ "ce": {
+ "name": "checheno"
+ },
+ "cs": {
+ "name": "checo"
+ },
+ "chr": {
+ "name": "cherokee"
+ },
+ "cgg": {
+ "name": "chiga"
+ },
+ "zh": {
+ "name": "chinês"
+ },
+ "zh-Hans": {
+ "name": "chinês simplificado"
+ },
+ "zh-Hant": {
+ "name": "chinês tradicional"
+ },
+ "si": {
+ "name": "cingalês"
+ },
+ "kok": {
+ "name": "concani"
+ },
+ "ko": {
+ "name": "coreano"
+ },
+ "kw": {
+ "name": "córnico"
+ },
+ "kea": {
+ "name": "crioulo cabo-verdiano"
+ },
+ "hr": {
+ "name": "croata"
+ },
+ "da": {
+ "name": "dinamarquês"
+ },
+ "dua": {
+ "name": "duala"
+ },
+ "dz": {
+ "name": "dzonga"
+ },
+ "ebu": {
+ "name": "embu"
+ },
+ "cu": {
+ "name": "eslavo eclesiástico"
+ },
+ "sk": {
+ "name": "eslovaco"
+ },
+ "sl": {
+ "name": "esloveno"
+ },
+ "es": {
+ "name": "espanhol"
+ },
+ "es-MX": {
+ "name": "espanhol (México)"
+ },
+ "eo": {
+ "name": "esperanto"
+ },
+ "et": {
+ "name": "estónio"
+ },
+ "ee": {
+ "name": "ewe"
+ },
+ "ewo": {
+ "name": "ewondo"
+ },
+ "fo": {
+ "name": "feroês"
+ },
+ "fil": {
+ "name": "filipino"
+ },
+ "fi": {
+ "name": "finlandês"
+ },
+ "nl-BE": {
+ "name": "flamengo"
+ },
+ "fr": {
+ "name": "francês"
+ },
+ "fr-CA": {
+ "name": "francês canadiano"
+ },
+ "fr-CH": {
+ "name": "francês suíço"
+ },
+ "fy": {
+ "name": "frísico ocidental"
+ },
+ "fur": {
+ "name": "friulano"
+ },
+ "ff": {
+ "name": "fula"
+ },
+ "gd": {
+ "name": "gaélico escocês"
+ },
+ "gl": {
+ "name": "galego"
+ },
+ "cy": {
+ "name": "galês"
+ },
+ "lg": {
+ "name": "ganda"
+ },
+ "ka": {
+ "name": "georgiano"
+ },
+ "el": {
+ "name": "grego"
+ },
+ "kl": {
+ "name": "groenlandês"
+ },
+ "guz": {
+ "name": "gusii"
+ },
+ "gu": {
+ "name": "guzerate"
+ },
+ "ha": {
+ "name": "haúça"
+ },
+ "haw": {
+ "name": "havaiano"
+ },
+ "he": {
+ "name": "hebraico"
+ },
+ "hi": {
+ "name": "hindi"
+ },
+ "nl": {
+ "name": "holandês"
+ },
+ "hu": {
+ "name": "húngaro"
+ },
+ "ig": {
+ "name": "igbo"
+ },
+ "yi": {
+ "name": "iídiche"
+ },
+ "smn": {
+ "name": "inari sami"
+ },
+ "id": {
+ "name": "indonésio"
+ },
+ "en": {
+ "name": "inglês"
+ },
+ "en-AU": {
+ "name": "inglês australiano"
+ },
+ "en-GB": {
+ "name": "inglês britânico"
+ },
+ "en-CA": {
+ "name": "inglês canadiano"
+ },
+ "yo": {
+ "name": "ioruba"
+ },
+ "ga": {
+ "name": "irlandês"
+ },
+ "is": {
+ "name": "islandês"
+ },
+ "it": {
+ "name": "italiano"
+ },
+ "ja": {
+ "name": "japonês"
+ },
+ "dyo": {
+ "name": "jola-fonyi"
+ },
+ "kab": {
+ "name": "kabyle"
+ },
+ "kkj": {
+ "name": "kako"
+ },
+ "kln": {
+ "name": "kalenjin"
+ },
+ "kam": {
+ "name": "kamba"
+ },
+ "km": {
+ "name": "khmer"
+ },
+ "rw": {
+ "name": "kinyarwanda"
+ },
+ "ksh": {
+ "name": "kölsch"
+ },
+ "khq": {
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "name": "koyraboro senni"
+ },
+ "nmg": {
+ "name": "kwasio"
+ },
+ "lkt": {
+ "name": "lacota"
+ },
+ "lag": {
+ "name": "langi"
+ },
+ "lo": {
+ "name": "laosiano"
+ },
+ "lv": {
+ "name": "letão"
+ },
+ "ln": {
+ "name": "lingala"
+ },
+ "lt": {
+ "name": "lituano"
+ },
+ "lu": {
+ "name": "luba-catanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lrc": {
+ "name": "luri do norte"
+ },
+ "lb": {
+ "name": "luxemburguês"
+ },
+ "luy": {
+ "name": "luyia"
+ },
+ "mk": {
+ "name": "macedónio"
+ },
+ "jmc": {
+ "name": "machame"
+ },
+ "kde": {
+ "name": "maconde"
+ },
+ "mgh": {
+ "name": "macua"
+ },
+ "ml": {
+ "name": "malaiala"
+ },
+ "ms": {
+ "name": "malaio"
+ },
+ "mg": {
+ "name": "malgaxe"
+ },
+ "mt": {
+ "name": "maltês"
+ },
+ "gv": {
+ "name": "manx"
+ },
+ "mr": {
+ "name": "marata"
+ },
+ "mas": {
+ "name": "massai"
+ },
+ "mzn": {
+ "name": "mazandarani"
+ },
+ "mer": {
+ "name": "meru"
+ },
+ "mgo": {
+ "name": "meta’"
+ },
+ "ro-MD": {
+ "name": "moldávio"
+ },
+ "mn": {
+ "name": "mongol"
+ },
+ "mfe": {
+ "name": "morisyen"
+ },
+ "mua": {
+ "name": "mundang"
+ },
+ "naq": {
+ "name": "nama"
+ },
+ "nd": {
+ "name": "ndebele do norte"
+ },
+ "ne": {
+ "name": "nepali"
+ },
+ "nnh": {
+ "name": "ngiemboon"
+ },
+ "jgo": {
+ "name": "nguemba"
+ },
+ "nb": {
+ "name": "norueguês bokmål"
+ },
+ "nn": {
+ "name": "norueguês nynorsk"
+ },
+ "nus": {
+ "name": "nuer"
+ },
+ "nyn": {
+ "name": "nyankole"
+ },
+ "or": {
+ "name": "oriya"
+ },
+ "om": {
+ "name": "oromo"
+ },
+ "os": {
+ "name": "ossético"
+ },
+ "pa": {
+ "name": "panjabi"
+ },
+ "ps": {
+ "name": "pastó"
+ },
+ "fa": {
+ "name": "persa"
+ },
+ "pl": {
+ "name": "polaco"
+ },
+ "pt": {
+ "name": "português"
+ },
+ "pt-PT": {
+ "name": "português europeu"
+ },
+ "prg": {
+ "name": "prussiano"
+ },
+ "qu": {
+ "name": "quíchua"
+ },
+ "ki": {
+ "name": "quicuio"
+ },
+ "ky": {
+ "name": "quirguiz"
+ },
+ "rm": {
+ "name": "romanche"
+ },
+ "rof": {
+ "name": "rombo"
+ },
+ "ro": {
+ "name": "romeno"
+ },
+ "rn": {
+ "name": "rundi"
+ },
+ "ru": {
+ "name": "russo"
+ },
+ "rwk": {
+ "name": "rwa"
+ },
+ "sah": {
+ "name": "sakha"
+ },
+ "saq": {
+ "name": "samburu"
+ },
+ "se": {
+ "name": "sami do norte"
+ },
+ "sg": {
+ "name": "sango"
+ },
+ "sbp": {
+ "name": "sangu"
+ },
+ "seh": {
+ "name": "sena"
+ },
+ "sr": {
+ "name": "sérvio"
+ },
+ "ksb": {
+ "name": "shambala"
+ },
+ "sn": {
+ "name": "shona"
+ },
+ "ii": {
+ "name": "sichuan yi"
+ },
+ "xog": {
+ "name": "soga"
+ },
+ "so": {
+ "name": "somali"
+ },
+ "ckb": {
+ "name": "sorani curdo"
+ },
+ "sw": {
+ "name": "suaíli"
+ },
+ "sw-CD": {
+ "name": "suaíli do Congo"
+ },
+ "sv": {
+ "name": "sueco"
+ },
+ "shi": {
+ "name": "tachelhit"
+ },
+ "th": {
+ "name": "tailandês"
+ },
+ "dav": {
+ "name": "taita"
+ },
+ "tzm": {
+ "name": "tamazight do Atlas Central"
+ },
+ "zgh": {
+ "name": "tamazight marroquino padrão"
+ },
+ "ta": {
+ "name": "tâmil"
+ },
+ "twq": {
+ "name": "tasawaq"
+ },
+ "te": {
+ "name": "telugu"
+ },
+ "teo": {
+ "name": "teso"
+ },
+ "bo": {
+ "name": "tibetano"
+ },
+ "ti": {
+ "name": "tigrínia"
+ },
+ "to": {
+ "name": "tonga"
+ },
+ "tr": {
+ "name": "turco"
+ },
+ "tk": {
+ "name": "turcomano"
+ },
+ "uk": {
+ "name": "ucraniano"
+ },
+ "ug": {
+ "name": "uigur"
+ },
+ "ur": {
+ "name": "urdu"
+ },
+ "uz": {
+ "name": "usbeque"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vi": {
+ "name": "vietnamita"
+ },
+ "vo": {
+ "name": "volapuque"
+ },
+ "vun": {
+ "name": "vunjo"
+ },
+ "wae": {
+ "name": "walser"
+ },
+ "yav": {
+ "name": "yangben"
+ },
+ "dje": {
+ "name": "zarma"
+ },
+ "zu": {
+ "name": "zulu"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/pt-CH.json b/vendor/commerceguys/intl/resources/language/pt-CH.json
new file mode 100644
index 000000000..55b7c2234
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/pt-CH.json
@@ -0,0 +1,635 @@
+{
+ "af": {
+ "name": "africanês"
+ },
+ "agq": {
+ "name": "aghem"
+ },
+ "ak": {
+ "name": "akan"
+ },
+ "sq": {
+ "name": "albanês"
+ },
+ "de": {
+ "name": "alemão"
+ },
+ "de-AT": {
+ "name": "alemão austríaco"
+ },
+ "gsw": {
+ "name": "alemão suíço"
+ },
+ "de-CH": {
+ "name": "alto alemão suíço"
+ },
+ "hsb": {
+ "name": "alto sorábio"
+ },
+ "am": {
+ "name": "amárico"
+ },
+ "ar": {
+ "name": "árabe"
+ },
+ "hy": {
+ "name": "arménio"
+ },
+ "as": {
+ "name": "assamês"
+ },
+ "ast": {
+ "name": "asturiano"
+ },
+ "asa": {
+ "name": "asu"
+ },
+ "az": {
+ "name": "azerbaijano"
+ },
+ "ksf": {
+ "name": "bafia"
+ },
+ "dsb": {
+ "name": "baixo sorábio"
+ },
+ "nds": {
+ "name": "baixo-alemão"
+ },
+ "nds-NL": {
+ "name": "baixo-saxão"
+ },
+ "bm": {
+ "name": "bambara"
+ },
+ "bas": {
+ "name": "basa"
+ },
+ "eu": {
+ "name": "basco"
+ },
+ "bem": {
+ "name": "bemba"
+ },
+ "bez": {
+ "name": "bena"
+ },
+ "bn": {
+ "name": "bengali"
+ },
+ "be": {
+ "name": "bielorrusso"
+ },
+ "my": {
+ "name": "birmanês"
+ },
+ "brx": {
+ "name": "bodo"
+ },
+ "bs": {
+ "name": "bósnio"
+ },
+ "br": {
+ "name": "bretão"
+ },
+ "bg": {
+ "name": "búlgaro"
+ },
+ "kn": {
+ "name": "canarim"
+ },
+ "yue": {
+ "name": "cantonês"
+ },
+ "ca": {
+ "name": "catalão"
+ },
+ "ks": {
+ "name": "caxemira"
+ },
+ "kk": {
+ "name": "cazaque"
+ },
+ "ce": {
+ "name": "checheno"
+ },
+ "cs": {
+ "name": "checo"
+ },
+ "chr": {
+ "name": "cherokee"
+ },
+ "cgg": {
+ "name": "chiga"
+ },
+ "zh": {
+ "name": "chinês"
+ },
+ "zh-Hans": {
+ "name": "chinês simplificado"
+ },
+ "zh-Hant": {
+ "name": "chinês tradicional"
+ },
+ "si": {
+ "name": "cingalês"
+ },
+ "kok": {
+ "name": "concani"
+ },
+ "ko": {
+ "name": "coreano"
+ },
+ "kw": {
+ "name": "córnico"
+ },
+ "kea": {
+ "name": "crioulo cabo-verdiano"
+ },
+ "hr": {
+ "name": "croata"
+ },
+ "da": {
+ "name": "dinamarquês"
+ },
+ "dua": {
+ "name": "duala"
+ },
+ "dz": {
+ "name": "dzonga"
+ },
+ "ebu": {
+ "name": "embu"
+ },
+ "cu": {
+ "name": "eslavo eclesiástico"
+ },
+ "sk": {
+ "name": "eslovaco"
+ },
+ "sl": {
+ "name": "esloveno"
+ },
+ "es": {
+ "name": "espanhol"
+ },
+ "es-MX": {
+ "name": "espanhol (México)"
+ },
+ "eo": {
+ "name": "esperanto"
+ },
+ "et": {
+ "name": "estónio"
+ },
+ "ee": {
+ "name": "ewe"
+ },
+ "ewo": {
+ "name": "ewondo"
+ },
+ "fo": {
+ "name": "feroês"
+ },
+ "fil": {
+ "name": "filipino"
+ },
+ "fi": {
+ "name": "finlandês"
+ },
+ "nl-BE": {
+ "name": "flamengo"
+ },
+ "fr": {
+ "name": "francês"
+ },
+ "fr-CA": {
+ "name": "francês canadiano"
+ },
+ "fr-CH": {
+ "name": "francês suíço"
+ },
+ "fy": {
+ "name": "frísico ocidental"
+ },
+ "fur": {
+ "name": "friulano"
+ },
+ "ff": {
+ "name": "fula"
+ },
+ "gd": {
+ "name": "gaélico escocês"
+ },
+ "gl": {
+ "name": "galego"
+ },
+ "cy": {
+ "name": "galês"
+ },
+ "lg": {
+ "name": "ganda"
+ },
+ "ka": {
+ "name": "georgiano"
+ },
+ "el": {
+ "name": "grego"
+ },
+ "kl": {
+ "name": "groenlandês"
+ },
+ "guz": {
+ "name": "gusii"
+ },
+ "gu": {
+ "name": "guzerate"
+ },
+ "ha": {
+ "name": "haúça"
+ },
+ "haw": {
+ "name": "havaiano"
+ },
+ "he": {
+ "name": "hebraico"
+ },
+ "hi": {
+ "name": "hindi"
+ },
+ "nl": {
+ "name": "holandês"
+ },
+ "hu": {
+ "name": "húngaro"
+ },
+ "ig": {
+ "name": "igbo"
+ },
+ "yi": {
+ "name": "iídiche"
+ },
+ "smn": {
+ "name": "inari sami"
+ },
+ "id": {
+ "name": "indonésio"
+ },
+ "en": {
+ "name": "inglês"
+ },
+ "en-AU": {
+ "name": "inglês australiano"
+ },
+ "en-GB": {
+ "name": "inglês britânico"
+ },
+ "en-CA": {
+ "name": "inglês canadiano"
+ },
+ "yo": {
+ "name": "ioruba"
+ },
+ "ga": {
+ "name": "irlandês"
+ },
+ "is": {
+ "name": "islandês"
+ },
+ "it": {
+ "name": "italiano"
+ },
+ "ja": {
+ "name": "japonês"
+ },
+ "dyo": {
+ "name": "jola-fonyi"
+ },
+ "kab": {
+ "name": "kabyle"
+ },
+ "kkj": {
+ "name": "kako"
+ },
+ "kln": {
+ "name": "kalenjin"
+ },
+ "kam": {
+ "name": "kamba"
+ },
+ "km": {
+ "name": "khmer"
+ },
+ "rw": {
+ "name": "kinyarwanda"
+ },
+ "ksh": {
+ "name": "kölsch"
+ },
+ "khq": {
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "name": "koyraboro senni"
+ },
+ "nmg": {
+ "name": "kwasio"
+ },
+ "lkt": {
+ "name": "lacota"
+ },
+ "lag": {
+ "name": "langi"
+ },
+ "lo": {
+ "name": "laosiano"
+ },
+ "lv": {
+ "name": "letão"
+ },
+ "ln": {
+ "name": "lingala"
+ },
+ "lt": {
+ "name": "lituano"
+ },
+ "lu": {
+ "name": "luba-catanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lrc": {
+ "name": "luri do norte"
+ },
+ "lb": {
+ "name": "luxemburguês"
+ },
+ "luy": {
+ "name": "luyia"
+ },
+ "mk": {
+ "name": "macedónio"
+ },
+ "jmc": {
+ "name": "machame"
+ },
+ "kde": {
+ "name": "maconde"
+ },
+ "mgh": {
+ "name": "macua"
+ },
+ "ml": {
+ "name": "malaiala"
+ },
+ "ms": {
+ "name": "malaio"
+ },
+ "mg": {
+ "name": "malgaxe"
+ },
+ "mt": {
+ "name": "maltês"
+ },
+ "gv": {
+ "name": "manx"
+ },
+ "mr": {
+ "name": "marata"
+ },
+ "mas": {
+ "name": "massai"
+ },
+ "mzn": {
+ "name": "mazandarani"
+ },
+ "mer": {
+ "name": "meru"
+ },
+ "mgo": {
+ "name": "meta’"
+ },
+ "ro-MD": {
+ "name": "moldávio"
+ },
+ "mn": {
+ "name": "mongol"
+ },
+ "mfe": {
+ "name": "morisyen"
+ },
+ "mua": {
+ "name": "mundang"
+ },
+ "naq": {
+ "name": "nama"
+ },
+ "nd": {
+ "name": "ndebele do norte"
+ },
+ "ne": {
+ "name": "nepali"
+ },
+ "nnh": {
+ "name": "ngiemboon"
+ },
+ "jgo": {
+ "name": "nguemba"
+ },
+ "nb": {
+ "name": "norueguês bokmål"
+ },
+ "nn": {
+ "name": "norueguês nynorsk"
+ },
+ "nus": {
+ "name": "nuer"
+ },
+ "nyn": {
+ "name": "nyankole"
+ },
+ "or": {
+ "name": "oriya"
+ },
+ "om": {
+ "name": "oromo"
+ },
+ "os": {
+ "name": "ossético"
+ },
+ "pa": {
+ "name": "panjabi"
+ },
+ "ps": {
+ "name": "pastó"
+ },
+ "fa": {
+ "name": "persa"
+ },
+ "pl": {
+ "name": "polaco"
+ },
+ "pt": {
+ "name": "português"
+ },
+ "pt-PT": {
+ "name": "português europeu"
+ },
+ "prg": {
+ "name": "prussiano"
+ },
+ "qu": {
+ "name": "quíchua"
+ },
+ "ki": {
+ "name": "quicuio"
+ },
+ "ky": {
+ "name": "quirguiz"
+ },
+ "rm": {
+ "name": "romanche"
+ },
+ "rof": {
+ "name": "rombo"
+ },
+ "ro": {
+ "name": "romeno"
+ },
+ "rn": {
+ "name": "rundi"
+ },
+ "ru": {
+ "name": "russo"
+ },
+ "rwk": {
+ "name": "rwa"
+ },
+ "sah": {
+ "name": "sakha"
+ },
+ "saq": {
+ "name": "samburu"
+ },
+ "se": {
+ "name": "sami do norte"
+ },
+ "sg": {
+ "name": "sango"
+ },
+ "sbp": {
+ "name": "sangu"
+ },
+ "seh": {
+ "name": "sena"
+ },
+ "sr": {
+ "name": "sérvio"
+ },
+ "ksb": {
+ "name": "shambala"
+ },
+ "sn": {
+ "name": "shona"
+ },
+ "ii": {
+ "name": "sichuan yi"
+ },
+ "xog": {
+ "name": "soga"
+ },
+ "so": {
+ "name": "somali"
+ },
+ "ckb": {
+ "name": "sorani curdo"
+ },
+ "sw": {
+ "name": "suaíli"
+ },
+ "sw-CD": {
+ "name": "suaíli do Congo"
+ },
+ "sv": {
+ "name": "sueco"
+ },
+ "shi": {
+ "name": "tachelhit"
+ },
+ "th": {
+ "name": "tailandês"
+ },
+ "dav": {
+ "name": "taita"
+ },
+ "tzm": {
+ "name": "tamazight do Atlas Central"
+ },
+ "zgh": {
+ "name": "tamazight marroquino padrão"
+ },
+ "ta": {
+ "name": "tâmil"
+ },
+ "twq": {
+ "name": "tasawaq"
+ },
+ "te": {
+ "name": "telugu"
+ },
+ "teo": {
+ "name": "teso"
+ },
+ "bo": {
+ "name": "tibetano"
+ },
+ "ti": {
+ "name": "tigrínia"
+ },
+ "to": {
+ "name": "tonga"
+ },
+ "tr": {
+ "name": "turco"
+ },
+ "tk": {
+ "name": "turcomano"
+ },
+ "uk": {
+ "name": "ucraniano"
+ },
+ "ug": {
+ "name": "uigur"
+ },
+ "ur": {
+ "name": "urdu"
+ },
+ "uz": {
+ "name": "usbeque"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vi": {
+ "name": "vietnamita"
+ },
+ "vo": {
+ "name": "volapuque"
+ },
+ "vun": {
+ "name": "vunjo"
+ },
+ "wae": {
+ "name": "walser"
+ },
+ "yav": {
+ "name": "yangben"
+ },
+ "dje": {
+ "name": "zarma"
+ },
+ "zu": {
+ "name": "zulu"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/pt-CV.json b/vendor/commerceguys/intl/resources/language/pt-CV.json
new file mode 100644
index 000000000..55b7c2234
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/pt-CV.json
@@ -0,0 +1,635 @@
+{
+ "af": {
+ "name": "africanês"
+ },
+ "agq": {
+ "name": "aghem"
+ },
+ "ak": {
+ "name": "akan"
+ },
+ "sq": {
+ "name": "albanês"
+ },
+ "de": {
+ "name": "alemão"
+ },
+ "de-AT": {
+ "name": "alemão austríaco"
+ },
+ "gsw": {
+ "name": "alemão suíço"
+ },
+ "de-CH": {
+ "name": "alto alemão suíço"
+ },
+ "hsb": {
+ "name": "alto sorábio"
+ },
+ "am": {
+ "name": "amárico"
+ },
+ "ar": {
+ "name": "árabe"
+ },
+ "hy": {
+ "name": "arménio"
+ },
+ "as": {
+ "name": "assamês"
+ },
+ "ast": {
+ "name": "asturiano"
+ },
+ "asa": {
+ "name": "asu"
+ },
+ "az": {
+ "name": "azerbaijano"
+ },
+ "ksf": {
+ "name": "bafia"
+ },
+ "dsb": {
+ "name": "baixo sorábio"
+ },
+ "nds": {
+ "name": "baixo-alemão"
+ },
+ "nds-NL": {
+ "name": "baixo-saxão"
+ },
+ "bm": {
+ "name": "bambara"
+ },
+ "bas": {
+ "name": "basa"
+ },
+ "eu": {
+ "name": "basco"
+ },
+ "bem": {
+ "name": "bemba"
+ },
+ "bez": {
+ "name": "bena"
+ },
+ "bn": {
+ "name": "bengali"
+ },
+ "be": {
+ "name": "bielorrusso"
+ },
+ "my": {
+ "name": "birmanês"
+ },
+ "brx": {
+ "name": "bodo"
+ },
+ "bs": {
+ "name": "bósnio"
+ },
+ "br": {
+ "name": "bretão"
+ },
+ "bg": {
+ "name": "búlgaro"
+ },
+ "kn": {
+ "name": "canarim"
+ },
+ "yue": {
+ "name": "cantonês"
+ },
+ "ca": {
+ "name": "catalão"
+ },
+ "ks": {
+ "name": "caxemira"
+ },
+ "kk": {
+ "name": "cazaque"
+ },
+ "ce": {
+ "name": "checheno"
+ },
+ "cs": {
+ "name": "checo"
+ },
+ "chr": {
+ "name": "cherokee"
+ },
+ "cgg": {
+ "name": "chiga"
+ },
+ "zh": {
+ "name": "chinês"
+ },
+ "zh-Hans": {
+ "name": "chinês simplificado"
+ },
+ "zh-Hant": {
+ "name": "chinês tradicional"
+ },
+ "si": {
+ "name": "cingalês"
+ },
+ "kok": {
+ "name": "concani"
+ },
+ "ko": {
+ "name": "coreano"
+ },
+ "kw": {
+ "name": "córnico"
+ },
+ "kea": {
+ "name": "crioulo cabo-verdiano"
+ },
+ "hr": {
+ "name": "croata"
+ },
+ "da": {
+ "name": "dinamarquês"
+ },
+ "dua": {
+ "name": "duala"
+ },
+ "dz": {
+ "name": "dzonga"
+ },
+ "ebu": {
+ "name": "embu"
+ },
+ "cu": {
+ "name": "eslavo eclesiástico"
+ },
+ "sk": {
+ "name": "eslovaco"
+ },
+ "sl": {
+ "name": "esloveno"
+ },
+ "es": {
+ "name": "espanhol"
+ },
+ "es-MX": {
+ "name": "espanhol (México)"
+ },
+ "eo": {
+ "name": "esperanto"
+ },
+ "et": {
+ "name": "estónio"
+ },
+ "ee": {
+ "name": "ewe"
+ },
+ "ewo": {
+ "name": "ewondo"
+ },
+ "fo": {
+ "name": "feroês"
+ },
+ "fil": {
+ "name": "filipino"
+ },
+ "fi": {
+ "name": "finlandês"
+ },
+ "nl-BE": {
+ "name": "flamengo"
+ },
+ "fr": {
+ "name": "francês"
+ },
+ "fr-CA": {
+ "name": "francês canadiano"
+ },
+ "fr-CH": {
+ "name": "francês suíço"
+ },
+ "fy": {
+ "name": "frísico ocidental"
+ },
+ "fur": {
+ "name": "friulano"
+ },
+ "ff": {
+ "name": "fula"
+ },
+ "gd": {
+ "name": "gaélico escocês"
+ },
+ "gl": {
+ "name": "galego"
+ },
+ "cy": {
+ "name": "galês"
+ },
+ "lg": {
+ "name": "ganda"
+ },
+ "ka": {
+ "name": "georgiano"
+ },
+ "el": {
+ "name": "grego"
+ },
+ "kl": {
+ "name": "groenlandês"
+ },
+ "guz": {
+ "name": "gusii"
+ },
+ "gu": {
+ "name": "guzerate"
+ },
+ "ha": {
+ "name": "haúça"
+ },
+ "haw": {
+ "name": "havaiano"
+ },
+ "he": {
+ "name": "hebraico"
+ },
+ "hi": {
+ "name": "hindi"
+ },
+ "nl": {
+ "name": "holandês"
+ },
+ "hu": {
+ "name": "húngaro"
+ },
+ "ig": {
+ "name": "igbo"
+ },
+ "yi": {
+ "name": "iídiche"
+ },
+ "smn": {
+ "name": "inari sami"
+ },
+ "id": {
+ "name": "indonésio"
+ },
+ "en": {
+ "name": "inglês"
+ },
+ "en-AU": {
+ "name": "inglês australiano"
+ },
+ "en-GB": {
+ "name": "inglês britânico"
+ },
+ "en-CA": {
+ "name": "inglês canadiano"
+ },
+ "yo": {
+ "name": "ioruba"
+ },
+ "ga": {
+ "name": "irlandês"
+ },
+ "is": {
+ "name": "islandês"
+ },
+ "it": {
+ "name": "italiano"
+ },
+ "ja": {
+ "name": "japonês"
+ },
+ "dyo": {
+ "name": "jola-fonyi"
+ },
+ "kab": {
+ "name": "kabyle"
+ },
+ "kkj": {
+ "name": "kako"
+ },
+ "kln": {
+ "name": "kalenjin"
+ },
+ "kam": {
+ "name": "kamba"
+ },
+ "km": {
+ "name": "khmer"
+ },
+ "rw": {
+ "name": "kinyarwanda"
+ },
+ "ksh": {
+ "name": "kölsch"
+ },
+ "khq": {
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "name": "koyraboro senni"
+ },
+ "nmg": {
+ "name": "kwasio"
+ },
+ "lkt": {
+ "name": "lacota"
+ },
+ "lag": {
+ "name": "langi"
+ },
+ "lo": {
+ "name": "laosiano"
+ },
+ "lv": {
+ "name": "letão"
+ },
+ "ln": {
+ "name": "lingala"
+ },
+ "lt": {
+ "name": "lituano"
+ },
+ "lu": {
+ "name": "luba-catanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lrc": {
+ "name": "luri do norte"
+ },
+ "lb": {
+ "name": "luxemburguês"
+ },
+ "luy": {
+ "name": "luyia"
+ },
+ "mk": {
+ "name": "macedónio"
+ },
+ "jmc": {
+ "name": "machame"
+ },
+ "kde": {
+ "name": "maconde"
+ },
+ "mgh": {
+ "name": "macua"
+ },
+ "ml": {
+ "name": "malaiala"
+ },
+ "ms": {
+ "name": "malaio"
+ },
+ "mg": {
+ "name": "malgaxe"
+ },
+ "mt": {
+ "name": "maltês"
+ },
+ "gv": {
+ "name": "manx"
+ },
+ "mr": {
+ "name": "marata"
+ },
+ "mas": {
+ "name": "massai"
+ },
+ "mzn": {
+ "name": "mazandarani"
+ },
+ "mer": {
+ "name": "meru"
+ },
+ "mgo": {
+ "name": "meta’"
+ },
+ "ro-MD": {
+ "name": "moldávio"
+ },
+ "mn": {
+ "name": "mongol"
+ },
+ "mfe": {
+ "name": "morisyen"
+ },
+ "mua": {
+ "name": "mundang"
+ },
+ "naq": {
+ "name": "nama"
+ },
+ "nd": {
+ "name": "ndebele do norte"
+ },
+ "ne": {
+ "name": "nepali"
+ },
+ "nnh": {
+ "name": "ngiemboon"
+ },
+ "jgo": {
+ "name": "nguemba"
+ },
+ "nb": {
+ "name": "norueguês bokmål"
+ },
+ "nn": {
+ "name": "norueguês nynorsk"
+ },
+ "nus": {
+ "name": "nuer"
+ },
+ "nyn": {
+ "name": "nyankole"
+ },
+ "or": {
+ "name": "oriya"
+ },
+ "om": {
+ "name": "oromo"
+ },
+ "os": {
+ "name": "ossético"
+ },
+ "pa": {
+ "name": "panjabi"
+ },
+ "ps": {
+ "name": "pastó"
+ },
+ "fa": {
+ "name": "persa"
+ },
+ "pl": {
+ "name": "polaco"
+ },
+ "pt": {
+ "name": "português"
+ },
+ "pt-PT": {
+ "name": "português europeu"
+ },
+ "prg": {
+ "name": "prussiano"
+ },
+ "qu": {
+ "name": "quíchua"
+ },
+ "ki": {
+ "name": "quicuio"
+ },
+ "ky": {
+ "name": "quirguiz"
+ },
+ "rm": {
+ "name": "romanche"
+ },
+ "rof": {
+ "name": "rombo"
+ },
+ "ro": {
+ "name": "romeno"
+ },
+ "rn": {
+ "name": "rundi"
+ },
+ "ru": {
+ "name": "russo"
+ },
+ "rwk": {
+ "name": "rwa"
+ },
+ "sah": {
+ "name": "sakha"
+ },
+ "saq": {
+ "name": "samburu"
+ },
+ "se": {
+ "name": "sami do norte"
+ },
+ "sg": {
+ "name": "sango"
+ },
+ "sbp": {
+ "name": "sangu"
+ },
+ "seh": {
+ "name": "sena"
+ },
+ "sr": {
+ "name": "sérvio"
+ },
+ "ksb": {
+ "name": "shambala"
+ },
+ "sn": {
+ "name": "shona"
+ },
+ "ii": {
+ "name": "sichuan yi"
+ },
+ "xog": {
+ "name": "soga"
+ },
+ "so": {
+ "name": "somali"
+ },
+ "ckb": {
+ "name": "sorani curdo"
+ },
+ "sw": {
+ "name": "suaíli"
+ },
+ "sw-CD": {
+ "name": "suaíli do Congo"
+ },
+ "sv": {
+ "name": "sueco"
+ },
+ "shi": {
+ "name": "tachelhit"
+ },
+ "th": {
+ "name": "tailandês"
+ },
+ "dav": {
+ "name": "taita"
+ },
+ "tzm": {
+ "name": "tamazight do Atlas Central"
+ },
+ "zgh": {
+ "name": "tamazight marroquino padrão"
+ },
+ "ta": {
+ "name": "tâmil"
+ },
+ "twq": {
+ "name": "tasawaq"
+ },
+ "te": {
+ "name": "telugu"
+ },
+ "teo": {
+ "name": "teso"
+ },
+ "bo": {
+ "name": "tibetano"
+ },
+ "ti": {
+ "name": "tigrínia"
+ },
+ "to": {
+ "name": "tonga"
+ },
+ "tr": {
+ "name": "turco"
+ },
+ "tk": {
+ "name": "turcomano"
+ },
+ "uk": {
+ "name": "ucraniano"
+ },
+ "ug": {
+ "name": "uigur"
+ },
+ "ur": {
+ "name": "urdu"
+ },
+ "uz": {
+ "name": "usbeque"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vi": {
+ "name": "vietnamita"
+ },
+ "vo": {
+ "name": "volapuque"
+ },
+ "vun": {
+ "name": "vunjo"
+ },
+ "wae": {
+ "name": "walser"
+ },
+ "yav": {
+ "name": "yangben"
+ },
+ "dje": {
+ "name": "zarma"
+ },
+ "zu": {
+ "name": "zulu"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/pt-GQ.json b/vendor/commerceguys/intl/resources/language/pt-GQ.json
new file mode 100644
index 000000000..55b7c2234
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/pt-GQ.json
@@ -0,0 +1,635 @@
+{
+ "af": {
+ "name": "africanês"
+ },
+ "agq": {
+ "name": "aghem"
+ },
+ "ak": {
+ "name": "akan"
+ },
+ "sq": {
+ "name": "albanês"
+ },
+ "de": {
+ "name": "alemão"
+ },
+ "de-AT": {
+ "name": "alemão austríaco"
+ },
+ "gsw": {
+ "name": "alemão suíço"
+ },
+ "de-CH": {
+ "name": "alto alemão suíço"
+ },
+ "hsb": {
+ "name": "alto sorábio"
+ },
+ "am": {
+ "name": "amárico"
+ },
+ "ar": {
+ "name": "árabe"
+ },
+ "hy": {
+ "name": "arménio"
+ },
+ "as": {
+ "name": "assamês"
+ },
+ "ast": {
+ "name": "asturiano"
+ },
+ "asa": {
+ "name": "asu"
+ },
+ "az": {
+ "name": "azerbaijano"
+ },
+ "ksf": {
+ "name": "bafia"
+ },
+ "dsb": {
+ "name": "baixo sorábio"
+ },
+ "nds": {
+ "name": "baixo-alemão"
+ },
+ "nds-NL": {
+ "name": "baixo-saxão"
+ },
+ "bm": {
+ "name": "bambara"
+ },
+ "bas": {
+ "name": "basa"
+ },
+ "eu": {
+ "name": "basco"
+ },
+ "bem": {
+ "name": "bemba"
+ },
+ "bez": {
+ "name": "bena"
+ },
+ "bn": {
+ "name": "bengali"
+ },
+ "be": {
+ "name": "bielorrusso"
+ },
+ "my": {
+ "name": "birmanês"
+ },
+ "brx": {
+ "name": "bodo"
+ },
+ "bs": {
+ "name": "bósnio"
+ },
+ "br": {
+ "name": "bretão"
+ },
+ "bg": {
+ "name": "búlgaro"
+ },
+ "kn": {
+ "name": "canarim"
+ },
+ "yue": {
+ "name": "cantonês"
+ },
+ "ca": {
+ "name": "catalão"
+ },
+ "ks": {
+ "name": "caxemira"
+ },
+ "kk": {
+ "name": "cazaque"
+ },
+ "ce": {
+ "name": "checheno"
+ },
+ "cs": {
+ "name": "checo"
+ },
+ "chr": {
+ "name": "cherokee"
+ },
+ "cgg": {
+ "name": "chiga"
+ },
+ "zh": {
+ "name": "chinês"
+ },
+ "zh-Hans": {
+ "name": "chinês simplificado"
+ },
+ "zh-Hant": {
+ "name": "chinês tradicional"
+ },
+ "si": {
+ "name": "cingalês"
+ },
+ "kok": {
+ "name": "concani"
+ },
+ "ko": {
+ "name": "coreano"
+ },
+ "kw": {
+ "name": "córnico"
+ },
+ "kea": {
+ "name": "crioulo cabo-verdiano"
+ },
+ "hr": {
+ "name": "croata"
+ },
+ "da": {
+ "name": "dinamarquês"
+ },
+ "dua": {
+ "name": "duala"
+ },
+ "dz": {
+ "name": "dzonga"
+ },
+ "ebu": {
+ "name": "embu"
+ },
+ "cu": {
+ "name": "eslavo eclesiástico"
+ },
+ "sk": {
+ "name": "eslovaco"
+ },
+ "sl": {
+ "name": "esloveno"
+ },
+ "es": {
+ "name": "espanhol"
+ },
+ "es-MX": {
+ "name": "espanhol (México)"
+ },
+ "eo": {
+ "name": "esperanto"
+ },
+ "et": {
+ "name": "estónio"
+ },
+ "ee": {
+ "name": "ewe"
+ },
+ "ewo": {
+ "name": "ewondo"
+ },
+ "fo": {
+ "name": "feroês"
+ },
+ "fil": {
+ "name": "filipino"
+ },
+ "fi": {
+ "name": "finlandês"
+ },
+ "nl-BE": {
+ "name": "flamengo"
+ },
+ "fr": {
+ "name": "francês"
+ },
+ "fr-CA": {
+ "name": "francês canadiano"
+ },
+ "fr-CH": {
+ "name": "francês suíço"
+ },
+ "fy": {
+ "name": "frísico ocidental"
+ },
+ "fur": {
+ "name": "friulano"
+ },
+ "ff": {
+ "name": "fula"
+ },
+ "gd": {
+ "name": "gaélico escocês"
+ },
+ "gl": {
+ "name": "galego"
+ },
+ "cy": {
+ "name": "galês"
+ },
+ "lg": {
+ "name": "ganda"
+ },
+ "ka": {
+ "name": "georgiano"
+ },
+ "el": {
+ "name": "grego"
+ },
+ "kl": {
+ "name": "groenlandês"
+ },
+ "guz": {
+ "name": "gusii"
+ },
+ "gu": {
+ "name": "guzerate"
+ },
+ "ha": {
+ "name": "haúça"
+ },
+ "haw": {
+ "name": "havaiano"
+ },
+ "he": {
+ "name": "hebraico"
+ },
+ "hi": {
+ "name": "hindi"
+ },
+ "nl": {
+ "name": "holandês"
+ },
+ "hu": {
+ "name": "húngaro"
+ },
+ "ig": {
+ "name": "igbo"
+ },
+ "yi": {
+ "name": "iídiche"
+ },
+ "smn": {
+ "name": "inari sami"
+ },
+ "id": {
+ "name": "indonésio"
+ },
+ "en": {
+ "name": "inglês"
+ },
+ "en-AU": {
+ "name": "inglês australiano"
+ },
+ "en-GB": {
+ "name": "inglês britânico"
+ },
+ "en-CA": {
+ "name": "inglês canadiano"
+ },
+ "yo": {
+ "name": "ioruba"
+ },
+ "ga": {
+ "name": "irlandês"
+ },
+ "is": {
+ "name": "islandês"
+ },
+ "it": {
+ "name": "italiano"
+ },
+ "ja": {
+ "name": "japonês"
+ },
+ "dyo": {
+ "name": "jola-fonyi"
+ },
+ "kab": {
+ "name": "kabyle"
+ },
+ "kkj": {
+ "name": "kako"
+ },
+ "kln": {
+ "name": "kalenjin"
+ },
+ "kam": {
+ "name": "kamba"
+ },
+ "km": {
+ "name": "khmer"
+ },
+ "rw": {
+ "name": "kinyarwanda"
+ },
+ "ksh": {
+ "name": "kölsch"
+ },
+ "khq": {
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "name": "koyraboro senni"
+ },
+ "nmg": {
+ "name": "kwasio"
+ },
+ "lkt": {
+ "name": "lacota"
+ },
+ "lag": {
+ "name": "langi"
+ },
+ "lo": {
+ "name": "laosiano"
+ },
+ "lv": {
+ "name": "letão"
+ },
+ "ln": {
+ "name": "lingala"
+ },
+ "lt": {
+ "name": "lituano"
+ },
+ "lu": {
+ "name": "luba-catanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lrc": {
+ "name": "luri do norte"
+ },
+ "lb": {
+ "name": "luxemburguês"
+ },
+ "luy": {
+ "name": "luyia"
+ },
+ "mk": {
+ "name": "macedónio"
+ },
+ "jmc": {
+ "name": "machame"
+ },
+ "kde": {
+ "name": "maconde"
+ },
+ "mgh": {
+ "name": "macua"
+ },
+ "ml": {
+ "name": "malaiala"
+ },
+ "ms": {
+ "name": "malaio"
+ },
+ "mg": {
+ "name": "malgaxe"
+ },
+ "mt": {
+ "name": "maltês"
+ },
+ "gv": {
+ "name": "manx"
+ },
+ "mr": {
+ "name": "marata"
+ },
+ "mas": {
+ "name": "massai"
+ },
+ "mzn": {
+ "name": "mazandarani"
+ },
+ "mer": {
+ "name": "meru"
+ },
+ "mgo": {
+ "name": "meta’"
+ },
+ "ro-MD": {
+ "name": "moldávio"
+ },
+ "mn": {
+ "name": "mongol"
+ },
+ "mfe": {
+ "name": "morisyen"
+ },
+ "mua": {
+ "name": "mundang"
+ },
+ "naq": {
+ "name": "nama"
+ },
+ "nd": {
+ "name": "ndebele do norte"
+ },
+ "ne": {
+ "name": "nepali"
+ },
+ "nnh": {
+ "name": "ngiemboon"
+ },
+ "jgo": {
+ "name": "nguemba"
+ },
+ "nb": {
+ "name": "norueguês bokmål"
+ },
+ "nn": {
+ "name": "norueguês nynorsk"
+ },
+ "nus": {
+ "name": "nuer"
+ },
+ "nyn": {
+ "name": "nyankole"
+ },
+ "or": {
+ "name": "oriya"
+ },
+ "om": {
+ "name": "oromo"
+ },
+ "os": {
+ "name": "ossético"
+ },
+ "pa": {
+ "name": "panjabi"
+ },
+ "ps": {
+ "name": "pastó"
+ },
+ "fa": {
+ "name": "persa"
+ },
+ "pl": {
+ "name": "polaco"
+ },
+ "pt": {
+ "name": "português"
+ },
+ "pt-PT": {
+ "name": "português europeu"
+ },
+ "prg": {
+ "name": "prussiano"
+ },
+ "qu": {
+ "name": "quíchua"
+ },
+ "ki": {
+ "name": "quicuio"
+ },
+ "ky": {
+ "name": "quirguiz"
+ },
+ "rm": {
+ "name": "romanche"
+ },
+ "rof": {
+ "name": "rombo"
+ },
+ "ro": {
+ "name": "romeno"
+ },
+ "rn": {
+ "name": "rundi"
+ },
+ "ru": {
+ "name": "russo"
+ },
+ "rwk": {
+ "name": "rwa"
+ },
+ "sah": {
+ "name": "sakha"
+ },
+ "saq": {
+ "name": "samburu"
+ },
+ "se": {
+ "name": "sami do norte"
+ },
+ "sg": {
+ "name": "sango"
+ },
+ "sbp": {
+ "name": "sangu"
+ },
+ "seh": {
+ "name": "sena"
+ },
+ "sr": {
+ "name": "sérvio"
+ },
+ "ksb": {
+ "name": "shambala"
+ },
+ "sn": {
+ "name": "shona"
+ },
+ "ii": {
+ "name": "sichuan yi"
+ },
+ "xog": {
+ "name": "soga"
+ },
+ "so": {
+ "name": "somali"
+ },
+ "ckb": {
+ "name": "sorani curdo"
+ },
+ "sw": {
+ "name": "suaíli"
+ },
+ "sw-CD": {
+ "name": "suaíli do Congo"
+ },
+ "sv": {
+ "name": "sueco"
+ },
+ "shi": {
+ "name": "tachelhit"
+ },
+ "th": {
+ "name": "tailandês"
+ },
+ "dav": {
+ "name": "taita"
+ },
+ "tzm": {
+ "name": "tamazight do Atlas Central"
+ },
+ "zgh": {
+ "name": "tamazight marroquino padrão"
+ },
+ "ta": {
+ "name": "tâmil"
+ },
+ "twq": {
+ "name": "tasawaq"
+ },
+ "te": {
+ "name": "telugu"
+ },
+ "teo": {
+ "name": "teso"
+ },
+ "bo": {
+ "name": "tibetano"
+ },
+ "ti": {
+ "name": "tigrínia"
+ },
+ "to": {
+ "name": "tonga"
+ },
+ "tr": {
+ "name": "turco"
+ },
+ "tk": {
+ "name": "turcomano"
+ },
+ "uk": {
+ "name": "ucraniano"
+ },
+ "ug": {
+ "name": "uigur"
+ },
+ "ur": {
+ "name": "urdu"
+ },
+ "uz": {
+ "name": "usbeque"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vi": {
+ "name": "vietnamita"
+ },
+ "vo": {
+ "name": "volapuque"
+ },
+ "vun": {
+ "name": "vunjo"
+ },
+ "wae": {
+ "name": "walser"
+ },
+ "yav": {
+ "name": "yangben"
+ },
+ "dje": {
+ "name": "zarma"
+ },
+ "zu": {
+ "name": "zulu"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/pt-GW.json b/vendor/commerceguys/intl/resources/language/pt-GW.json
new file mode 100644
index 000000000..55b7c2234
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/pt-GW.json
@@ -0,0 +1,635 @@
+{
+ "af": {
+ "name": "africanês"
+ },
+ "agq": {
+ "name": "aghem"
+ },
+ "ak": {
+ "name": "akan"
+ },
+ "sq": {
+ "name": "albanês"
+ },
+ "de": {
+ "name": "alemão"
+ },
+ "de-AT": {
+ "name": "alemão austríaco"
+ },
+ "gsw": {
+ "name": "alemão suíço"
+ },
+ "de-CH": {
+ "name": "alto alemão suíço"
+ },
+ "hsb": {
+ "name": "alto sorábio"
+ },
+ "am": {
+ "name": "amárico"
+ },
+ "ar": {
+ "name": "árabe"
+ },
+ "hy": {
+ "name": "arménio"
+ },
+ "as": {
+ "name": "assamês"
+ },
+ "ast": {
+ "name": "asturiano"
+ },
+ "asa": {
+ "name": "asu"
+ },
+ "az": {
+ "name": "azerbaijano"
+ },
+ "ksf": {
+ "name": "bafia"
+ },
+ "dsb": {
+ "name": "baixo sorábio"
+ },
+ "nds": {
+ "name": "baixo-alemão"
+ },
+ "nds-NL": {
+ "name": "baixo-saxão"
+ },
+ "bm": {
+ "name": "bambara"
+ },
+ "bas": {
+ "name": "basa"
+ },
+ "eu": {
+ "name": "basco"
+ },
+ "bem": {
+ "name": "bemba"
+ },
+ "bez": {
+ "name": "bena"
+ },
+ "bn": {
+ "name": "bengali"
+ },
+ "be": {
+ "name": "bielorrusso"
+ },
+ "my": {
+ "name": "birmanês"
+ },
+ "brx": {
+ "name": "bodo"
+ },
+ "bs": {
+ "name": "bósnio"
+ },
+ "br": {
+ "name": "bretão"
+ },
+ "bg": {
+ "name": "búlgaro"
+ },
+ "kn": {
+ "name": "canarim"
+ },
+ "yue": {
+ "name": "cantonês"
+ },
+ "ca": {
+ "name": "catalão"
+ },
+ "ks": {
+ "name": "caxemira"
+ },
+ "kk": {
+ "name": "cazaque"
+ },
+ "ce": {
+ "name": "checheno"
+ },
+ "cs": {
+ "name": "checo"
+ },
+ "chr": {
+ "name": "cherokee"
+ },
+ "cgg": {
+ "name": "chiga"
+ },
+ "zh": {
+ "name": "chinês"
+ },
+ "zh-Hans": {
+ "name": "chinês simplificado"
+ },
+ "zh-Hant": {
+ "name": "chinês tradicional"
+ },
+ "si": {
+ "name": "cingalês"
+ },
+ "kok": {
+ "name": "concani"
+ },
+ "ko": {
+ "name": "coreano"
+ },
+ "kw": {
+ "name": "córnico"
+ },
+ "kea": {
+ "name": "crioulo cabo-verdiano"
+ },
+ "hr": {
+ "name": "croata"
+ },
+ "da": {
+ "name": "dinamarquês"
+ },
+ "dua": {
+ "name": "duala"
+ },
+ "dz": {
+ "name": "dzonga"
+ },
+ "ebu": {
+ "name": "embu"
+ },
+ "cu": {
+ "name": "eslavo eclesiástico"
+ },
+ "sk": {
+ "name": "eslovaco"
+ },
+ "sl": {
+ "name": "esloveno"
+ },
+ "es": {
+ "name": "espanhol"
+ },
+ "es-MX": {
+ "name": "espanhol (México)"
+ },
+ "eo": {
+ "name": "esperanto"
+ },
+ "et": {
+ "name": "estónio"
+ },
+ "ee": {
+ "name": "ewe"
+ },
+ "ewo": {
+ "name": "ewondo"
+ },
+ "fo": {
+ "name": "feroês"
+ },
+ "fil": {
+ "name": "filipino"
+ },
+ "fi": {
+ "name": "finlandês"
+ },
+ "nl-BE": {
+ "name": "flamengo"
+ },
+ "fr": {
+ "name": "francês"
+ },
+ "fr-CA": {
+ "name": "francês canadiano"
+ },
+ "fr-CH": {
+ "name": "francês suíço"
+ },
+ "fy": {
+ "name": "frísico ocidental"
+ },
+ "fur": {
+ "name": "friulano"
+ },
+ "ff": {
+ "name": "fula"
+ },
+ "gd": {
+ "name": "gaélico escocês"
+ },
+ "gl": {
+ "name": "galego"
+ },
+ "cy": {
+ "name": "galês"
+ },
+ "lg": {
+ "name": "ganda"
+ },
+ "ka": {
+ "name": "georgiano"
+ },
+ "el": {
+ "name": "grego"
+ },
+ "kl": {
+ "name": "groenlandês"
+ },
+ "guz": {
+ "name": "gusii"
+ },
+ "gu": {
+ "name": "guzerate"
+ },
+ "ha": {
+ "name": "haúça"
+ },
+ "haw": {
+ "name": "havaiano"
+ },
+ "he": {
+ "name": "hebraico"
+ },
+ "hi": {
+ "name": "hindi"
+ },
+ "nl": {
+ "name": "holandês"
+ },
+ "hu": {
+ "name": "húngaro"
+ },
+ "ig": {
+ "name": "igbo"
+ },
+ "yi": {
+ "name": "iídiche"
+ },
+ "smn": {
+ "name": "inari sami"
+ },
+ "id": {
+ "name": "indonésio"
+ },
+ "en": {
+ "name": "inglês"
+ },
+ "en-AU": {
+ "name": "inglês australiano"
+ },
+ "en-GB": {
+ "name": "inglês britânico"
+ },
+ "en-CA": {
+ "name": "inglês canadiano"
+ },
+ "yo": {
+ "name": "ioruba"
+ },
+ "ga": {
+ "name": "irlandês"
+ },
+ "is": {
+ "name": "islandês"
+ },
+ "it": {
+ "name": "italiano"
+ },
+ "ja": {
+ "name": "japonês"
+ },
+ "dyo": {
+ "name": "jola-fonyi"
+ },
+ "kab": {
+ "name": "kabyle"
+ },
+ "kkj": {
+ "name": "kako"
+ },
+ "kln": {
+ "name": "kalenjin"
+ },
+ "kam": {
+ "name": "kamba"
+ },
+ "km": {
+ "name": "khmer"
+ },
+ "rw": {
+ "name": "kinyarwanda"
+ },
+ "ksh": {
+ "name": "kölsch"
+ },
+ "khq": {
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "name": "koyraboro senni"
+ },
+ "nmg": {
+ "name": "kwasio"
+ },
+ "lkt": {
+ "name": "lacota"
+ },
+ "lag": {
+ "name": "langi"
+ },
+ "lo": {
+ "name": "laosiano"
+ },
+ "lv": {
+ "name": "letão"
+ },
+ "ln": {
+ "name": "lingala"
+ },
+ "lt": {
+ "name": "lituano"
+ },
+ "lu": {
+ "name": "luba-catanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lrc": {
+ "name": "luri do norte"
+ },
+ "lb": {
+ "name": "luxemburguês"
+ },
+ "luy": {
+ "name": "luyia"
+ },
+ "mk": {
+ "name": "macedónio"
+ },
+ "jmc": {
+ "name": "machame"
+ },
+ "kde": {
+ "name": "maconde"
+ },
+ "mgh": {
+ "name": "macua"
+ },
+ "ml": {
+ "name": "malaiala"
+ },
+ "ms": {
+ "name": "malaio"
+ },
+ "mg": {
+ "name": "malgaxe"
+ },
+ "mt": {
+ "name": "maltês"
+ },
+ "gv": {
+ "name": "manx"
+ },
+ "mr": {
+ "name": "marata"
+ },
+ "mas": {
+ "name": "massai"
+ },
+ "mzn": {
+ "name": "mazandarani"
+ },
+ "mer": {
+ "name": "meru"
+ },
+ "mgo": {
+ "name": "meta’"
+ },
+ "ro-MD": {
+ "name": "moldávio"
+ },
+ "mn": {
+ "name": "mongol"
+ },
+ "mfe": {
+ "name": "morisyen"
+ },
+ "mua": {
+ "name": "mundang"
+ },
+ "naq": {
+ "name": "nama"
+ },
+ "nd": {
+ "name": "ndebele do norte"
+ },
+ "ne": {
+ "name": "nepali"
+ },
+ "nnh": {
+ "name": "ngiemboon"
+ },
+ "jgo": {
+ "name": "nguemba"
+ },
+ "nb": {
+ "name": "norueguês bokmål"
+ },
+ "nn": {
+ "name": "norueguês nynorsk"
+ },
+ "nus": {
+ "name": "nuer"
+ },
+ "nyn": {
+ "name": "nyankole"
+ },
+ "or": {
+ "name": "oriya"
+ },
+ "om": {
+ "name": "oromo"
+ },
+ "os": {
+ "name": "ossético"
+ },
+ "pa": {
+ "name": "panjabi"
+ },
+ "ps": {
+ "name": "pastó"
+ },
+ "fa": {
+ "name": "persa"
+ },
+ "pl": {
+ "name": "polaco"
+ },
+ "pt": {
+ "name": "português"
+ },
+ "pt-PT": {
+ "name": "português europeu"
+ },
+ "prg": {
+ "name": "prussiano"
+ },
+ "qu": {
+ "name": "quíchua"
+ },
+ "ki": {
+ "name": "quicuio"
+ },
+ "ky": {
+ "name": "quirguiz"
+ },
+ "rm": {
+ "name": "romanche"
+ },
+ "rof": {
+ "name": "rombo"
+ },
+ "ro": {
+ "name": "romeno"
+ },
+ "rn": {
+ "name": "rundi"
+ },
+ "ru": {
+ "name": "russo"
+ },
+ "rwk": {
+ "name": "rwa"
+ },
+ "sah": {
+ "name": "sakha"
+ },
+ "saq": {
+ "name": "samburu"
+ },
+ "se": {
+ "name": "sami do norte"
+ },
+ "sg": {
+ "name": "sango"
+ },
+ "sbp": {
+ "name": "sangu"
+ },
+ "seh": {
+ "name": "sena"
+ },
+ "sr": {
+ "name": "sérvio"
+ },
+ "ksb": {
+ "name": "shambala"
+ },
+ "sn": {
+ "name": "shona"
+ },
+ "ii": {
+ "name": "sichuan yi"
+ },
+ "xog": {
+ "name": "soga"
+ },
+ "so": {
+ "name": "somali"
+ },
+ "ckb": {
+ "name": "sorani curdo"
+ },
+ "sw": {
+ "name": "suaíli"
+ },
+ "sw-CD": {
+ "name": "suaíli do Congo"
+ },
+ "sv": {
+ "name": "sueco"
+ },
+ "shi": {
+ "name": "tachelhit"
+ },
+ "th": {
+ "name": "tailandês"
+ },
+ "dav": {
+ "name": "taita"
+ },
+ "tzm": {
+ "name": "tamazight do Atlas Central"
+ },
+ "zgh": {
+ "name": "tamazight marroquino padrão"
+ },
+ "ta": {
+ "name": "tâmil"
+ },
+ "twq": {
+ "name": "tasawaq"
+ },
+ "te": {
+ "name": "telugu"
+ },
+ "teo": {
+ "name": "teso"
+ },
+ "bo": {
+ "name": "tibetano"
+ },
+ "ti": {
+ "name": "tigrínia"
+ },
+ "to": {
+ "name": "tonga"
+ },
+ "tr": {
+ "name": "turco"
+ },
+ "tk": {
+ "name": "turcomano"
+ },
+ "uk": {
+ "name": "ucraniano"
+ },
+ "ug": {
+ "name": "uigur"
+ },
+ "ur": {
+ "name": "urdu"
+ },
+ "uz": {
+ "name": "usbeque"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vi": {
+ "name": "vietnamita"
+ },
+ "vo": {
+ "name": "volapuque"
+ },
+ "vun": {
+ "name": "vunjo"
+ },
+ "wae": {
+ "name": "walser"
+ },
+ "yav": {
+ "name": "yangben"
+ },
+ "dje": {
+ "name": "zarma"
+ },
+ "zu": {
+ "name": "zulu"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/pt-LU.json b/vendor/commerceguys/intl/resources/language/pt-LU.json
new file mode 100644
index 000000000..55b7c2234
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/pt-LU.json
@@ -0,0 +1,635 @@
+{
+ "af": {
+ "name": "africanês"
+ },
+ "agq": {
+ "name": "aghem"
+ },
+ "ak": {
+ "name": "akan"
+ },
+ "sq": {
+ "name": "albanês"
+ },
+ "de": {
+ "name": "alemão"
+ },
+ "de-AT": {
+ "name": "alemão austríaco"
+ },
+ "gsw": {
+ "name": "alemão suíço"
+ },
+ "de-CH": {
+ "name": "alto alemão suíço"
+ },
+ "hsb": {
+ "name": "alto sorábio"
+ },
+ "am": {
+ "name": "amárico"
+ },
+ "ar": {
+ "name": "árabe"
+ },
+ "hy": {
+ "name": "arménio"
+ },
+ "as": {
+ "name": "assamês"
+ },
+ "ast": {
+ "name": "asturiano"
+ },
+ "asa": {
+ "name": "asu"
+ },
+ "az": {
+ "name": "azerbaijano"
+ },
+ "ksf": {
+ "name": "bafia"
+ },
+ "dsb": {
+ "name": "baixo sorábio"
+ },
+ "nds": {
+ "name": "baixo-alemão"
+ },
+ "nds-NL": {
+ "name": "baixo-saxão"
+ },
+ "bm": {
+ "name": "bambara"
+ },
+ "bas": {
+ "name": "basa"
+ },
+ "eu": {
+ "name": "basco"
+ },
+ "bem": {
+ "name": "bemba"
+ },
+ "bez": {
+ "name": "bena"
+ },
+ "bn": {
+ "name": "bengali"
+ },
+ "be": {
+ "name": "bielorrusso"
+ },
+ "my": {
+ "name": "birmanês"
+ },
+ "brx": {
+ "name": "bodo"
+ },
+ "bs": {
+ "name": "bósnio"
+ },
+ "br": {
+ "name": "bretão"
+ },
+ "bg": {
+ "name": "búlgaro"
+ },
+ "kn": {
+ "name": "canarim"
+ },
+ "yue": {
+ "name": "cantonês"
+ },
+ "ca": {
+ "name": "catalão"
+ },
+ "ks": {
+ "name": "caxemira"
+ },
+ "kk": {
+ "name": "cazaque"
+ },
+ "ce": {
+ "name": "checheno"
+ },
+ "cs": {
+ "name": "checo"
+ },
+ "chr": {
+ "name": "cherokee"
+ },
+ "cgg": {
+ "name": "chiga"
+ },
+ "zh": {
+ "name": "chinês"
+ },
+ "zh-Hans": {
+ "name": "chinês simplificado"
+ },
+ "zh-Hant": {
+ "name": "chinês tradicional"
+ },
+ "si": {
+ "name": "cingalês"
+ },
+ "kok": {
+ "name": "concani"
+ },
+ "ko": {
+ "name": "coreano"
+ },
+ "kw": {
+ "name": "córnico"
+ },
+ "kea": {
+ "name": "crioulo cabo-verdiano"
+ },
+ "hr": {
+ "name": "croata"
+ },
+ "da": {
+ "name": "dinamarquês"
+ },
+ "dua": {
+ "name": "duala"
+ },
+ "dz": {
+ "name": "dzonga"
+ },
+ "ebu": {
+ "name": "embu"
+ },
+ "cu": {
+ "name": "eslavo eclesiástico"
+ },
+ "sk": {
+ "name": "eslovaco"
+ },
+ "sl": {
+ "name": "esloveno"
+ },
+ "es": {
+ "name": "espanhol"
+ },
+ "es-MX": {
+ "name": "espanhol (México)"
+ },
+ "eo": {
+ "name": "esperanto"
+ },
+ "et": {
+ "name": "estónio"
+ },
+ "ee": {
+ "name": "ewe"
+ },
+ "ewo": {
+ "name": "ewondo"
+ },
+ "fo": {
+ "name": "feroês"
+ },
+ "fil": {
+ "name": "filipino"
+ },
+ "fi": {
+ "name": "finlandês"
+ },
+ "nl-BE": {
+ "name": "flamengo"
+ },
+ "fr": {
+ "name": "francês"
+ },
+ "fr-CA": {
+ "name": "francês canadiano"
+ },
+ "fr-CH": {
+ "name": "francês suíço"
+ },
+ "fy": {
+ "name": "frísico ocidental"
+ },
+ "fur": {
+ "name": "friulano"
+ },
+ "ff": {
+ "name": "fula"
+ },
+ "gd": {
+ "name": "gaélico escocês"
+ },
+ "gl": {
+ "name": "galego"
+ },
+ "cy": {
+ "name": "galês"
+ },
+ "lg": {
+ "name": "ganda"
+ },
+ "ka": {
+ "name": "georgiano"
+ },
+ "el": {
+ "name": "grego"
+ },
+ "kl": {
+ "name": "groenlandês"
+ },
+ "guz": {
+ "name": "gusii"
+ },
+ "gu": {
+ "name": "guzerate"
+ },
+ "ha": {
+ "name": "haúça"
+ },
+ "haw": {
+ "name": "havaiano"
+ },
+ "he": {
+ "name": "hebraico"
+ },
+ "hi": {
+ "name": "hindi"
+ },
+ "nl": {
+ "name": "holandês"
+ },
+ "hu": {
+ "name": "húngaro"
+ },
+ "ig": {
+ "name": "igbo"
+ },
+ "yi": {
+ "name": "iídiche"
+ },
+ "smn": {
+ "name": "inari sami"
+ },
+ "id": {
+ "name": "indonésio"
+ },
+ "en": {
+ "name": "inglês"
+ },
+ "en-AU": {
+ "name": "inglês australiano"
+ },
+ "en-GB": {
+ "name": "inglês britânico"
+ },
+ "en-CA": {
+ "name": "inglês canadiano"
+ },
+ "yo": {
+ "name": "ioruba"
+ },
+ "ga": {
+ "name": "irlandês"
+ },
+ "is": {
+ "name": "islandês"
+ },
+ "it": {
+ "name": "italiano"
+ },
+ "ja": {
+ "name": "japonês"
+ },
+ "dyo": {
+ "name": "jola-fonyi"
+ },
+ "kab": {
+ "name": "kabyle"
+ },
+ "kkj": {
+ "name": "kako"
+ },
+ "kln": {
+ "name": "kalenjin"
+ },
+ "kam": {
+ "name": "kamba"
+ },
+ "km": {
+ "name": "khmer"
+ },
+ "rw": {
+ "name": "kinyarwanda"
+ },
+ "ksh": {
+ "name": "kölsch"
+ },
+ "khq": {
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "name": "koyraboro senni"
+ },
+ "nmg": {
+ "name": "kwasio"
+ },
+ "lkt": {
+ "name": "lacota"
+ },
+ "lag": {
+ "name": "langi"
+ },
+ "lo": {
+ "name": "laosiano"
+ },
+ "lv": {
+ "name": "letão"
+ },
+ "ln": {
+ "name": "lingala"
+ },
+ "lt": {
+ "name": "lituano"
+ },
+ "lu": {
+ "name": "luba-catanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lrc": {
+ "name": "luri do norte"
+ },
+ "lb": {
+ "name": "luxemburguês"
+ },
+ "luy": {
+ "name": "luyia"
+ },
+ "mk": {
+ "name": "macedónio"
+ },
+ "jmc": {
+ "name": "machame"
+ },
+ "kde": {
+ "name": "maconde"
+ },
+ "mgh": {
+ "name": "macua"
+ },
+ "ml": {
+ "name": "malaiala"
+ },
+ "ms": {
+ "name": "malaio"
+ },
+ "mg": {
+ "name": "malgaxe"
+ },
+ "mt": {
+ "name": "maltês"
+ },
+ "gv": {
+ "name": "manx"
+ },
+ "mr": {
+ "name": "marata"
+ },
+ "mas": {
+ "name": "massai"
+ },
+ "mzn": {
+ "name": "mazandarani"
+ },
+ "mer": {
+ "name": "meru"
+ },
+ "mgo": {
+ "name": "meta’"
+ },
+ "ro-MD": {
+ "name": "moldávio"
+ },
+ "mn": {
+ "name": "mongol"
+ },
+ "mfe": {
+ "name": "morisyen"
+ },
+ "mua": {
+ "name": "mundang"
+ },
+ "naq": {
+ "name": "nama"
+ },
+ "nd": {
+ "name": "ndebele do norte"
+ },
+ "ne": {
+ "name": "nepali"
+ },
+ "nnh": {
+ "name": "ngiemboon"
+ },
+ "jgo": {
+ "name": "nguemba"
+ },
+ "nb": {
+ "name": "norueguês bokmål"
+ },
+ "nn": {
+ "name": "norueguês nynorsk"
+ },
+ "nus": {
+ "name": "nuer"
+ },
+ "nyn": {
+ "name": "nyankole"
+ },
+ "or": {
+ "name": "oriya"
+ },
+ "om": {
+ "name": "oromo"
+ },
+ "os": {
+ "name": "ossético"
+ },
+ "pa": {
+ "name": "panjabi"
+ },
+ "ps": {
+ "name": "pastó"
+ },
+ "fa": {
+ "name": "persa"
+ },
+ "pl": {
+ "name": "polaco"
+ },
+ "pt": {
+ "name": "português"
+ },
+ "pt-PT": {
+ "name": "português europeu"
+ },
+ "prg": {
+ "name": "prussiano"
+ },
+ "qu": {
+ "name": "quíchua"
+ },
+ "ki": {
+ "name": "quicuio"
+ },
+ "ky": {
+ "name": "quirguiz"
+ },
+ "rm": {
+ "name": "romanche"
+ },
+ "rof": {
+ "name": "rombo"
+ },
+ "ro": {
+ "name": "romeno"
+ },
+ "rn": {
+ "name": "rundi"
+ },
+ "ru": {
+ "name": "russo"
+ },
+ "rwk": {
+ "name": "rwa"
+ },
+ "sah": {
+ "name": "sakha"
+ },
+ "saq": {
+ "name": "samburu"
+ },
+ "se": {
+ "name": "sami do norte"
+ },
+ "sg": {
+ "name": "sango"
+ },
+ "sbp": {
+ "name": "sangu"
+ },
+ "seh": {
+ "name": "sena"
+ },
+ "sr": {
+ "name": "sérvio"
+ },
+ "ksb": {
+ "name": "shambala"
+ },
+ "sn": {
+ "name": "shona"
+ },
+ "ii": {
+ "name": "sichuan yi"
+ },
+ "xog": {
+ "name": "soga"
+ },
+ "so": {
+ "name": "somali"
+ },
+ "ckb": {
+ "name": "sorani curdo"
+ },
+ "sw": {
+ "name": "suaíli"
+ },
+ "sw-CD": {
+ "name": "suaíli do Congo"
+ },
+ "sv": {
+ "name": "sueco"
+ },
+ "shi": {
+ "name": "tachelhit"
+ },
+ "th": {
+ "name": "tailandês"
+ },
+ "dav": {
+ "name": "taita"
+ },
+ "tzm": {
+ "name": "tamazight do Atlas Central"
+ },
+ "zgh": {
+ "name": "tamazight marroquino padrão"
+ },
+ "ta": {
+ "name": "tâmil"
+ },
+ "twq": {
+ "name": "tasawaq"
+ },
+ "te": {
+ "name": "telugu"
+ },
+ "teo": {
+ "name": "teso"
+ },
+ "bo": {
+ "name": "tibetano"
+ },
+ "ti": {
+ "name": "tigrínia"
+ },
+ "to": {
+ "name": "tonga"
+ },
+ "tr": {
+ "name": "turco"
+ },
+ "tk": {
+ "name": "turcomano"
+ },
+ "uk": {
+ "name": "ucraniano"
+ },
+ "ug": {
+ "name": "uigur"
+ },
+ "ur": {
+ "name": "urdu"
+ },
+ "uz": {
+ "name": "usbeque"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vi": {
+ "name": "vietnamita"
+ },
+ "vo": {
+ "name": "volapuque"
+ },
+ "vun": {
+ "name": "vunjo"
+ },
+ "wae": {
+ "name": "walser"
+ },
+ "yav": {
+ "name": "yangben"
+ },
+ "dje": {
+ "name": "zarma"
+ },
+ "zu": {
+ "name": "zulu"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/pt-MO.json b/vendor/commerceguys/intl/resources/language/pt-MO.json
new file mode 100644
index 000000000..55b7c2234
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/pt-MO.json
@@ -0,0 +1,635 @@
+{
+ "af": {
+ "name": "africanês"
+ },
+ "agq": {
+ "name": "aghem"
+ },
+ "ak": {
+ "name": "akan"
+ },
+ "sq": {
+ "name": "albanês"
+ },
+ "de": {
+ "name": "alemão"
+ },
+ "de-AT": {
+ "name": "alemão austríaco"
+ },
+ "gsw": {
+ "name": "alemão suíço"
+ },
+ "de-CH": {
+ "name": "alto alemão suíço"
+ },
+ "hsb": {
+ "name": "alto sorábio"
+ },
+ "am": {
+ "name": "amárico"
+ },
+ "ar": {
+ "name": "árabe"
+ },
+ "hy": {
+ "name": "arménio"
+ },
+ "as": {
+ "name": "assamês"
+ },
+ "ast": {
+ "name": "asturiano"
+ },
+ "asa": {
+ "name": "asu"
+ },
+ "az": {
+ "name": "azerbaijano"
+ },
+ "ksf": {
+ "name": "bafia"
+ },
+ "dsb": {
+ "name": "baixo sorábio"
+ },
+ "nds": {
+ "name": "baixo-alemão"
+ },
+ "nds-NL": {
+ "name": "baixo-saxão"
+ },
+ "bm": {
+ "name": "bambara"
+ },
+ "bas": {
+ "name": "basa"
+ },
+ "eu": {
+ "name": "basco"
+ },
+ "bem": {
+ "name": "bemba"
+ },
+ "bez": {
+ "name": "bena"
+ },
+ "bn": {
+ "name": "bengali"
+ },
+ "be": {
+ "name": "bielorrusso"
+ },
+ "my": {
+ "name": "birmanês"
+ },
+ "brx": {
+ "name": "bodo"
+ },
+ "bs": {
+ "name": "bósnio"
+ },
+ "br": {
+ "name": "bretão"
+ },
+ "bg": {
+ "name": "búlgaro"
+ },
+ "kn": {
+ "name": "canarim"
+ },
+ "yue": {
+ "name": "cantonês"
+ },
+ "ca": {
+ "name": "catalão"
+ },
+ "ks": {
+ "name": "caxemira"
+ },
+ "kk": {
+ "name": "cazaque"
+ },
+ "ce": {
+ "name": "checheno"
+ },
+ "cs": {
+ "name": "checo"
+ },
+ "chr": {
+ "name": "cherokee"
+ },
+ "cgg": {
+ "name": "chiga"
+ },
+ "zh": {
+ "name": "chinês"
+ },
+ "zh-Hans": {
+ "name": "chinês simplificado"
+ },
+ "zh-Hant": {
+ "name": "chinês tradicional"
+ },
+ "si": {
+ "name": "cingalês"
+ },
+ "kok": {
+ "name": "concani"
+ },
+ "ko": {
+ "name": "coreano"
+ },
+ "kw": {
+ "name": "córnico"
+ },
+ "kea": {
+ "name": "crioulo cabo-verdiano"
+ },
+ "hr": {
+ "name": "croata"
+ },
+ "da": {
+ "name": "dinamarquês"
+ },
+ "dua": {
+ "name": "duala"
+ },
+ "dz": {
+ "name": "dzonga"
+ },
+ "ebu": {
+ "name": "embu"
+ },
+ "cu": {
+ "name": "eslavo eclesiástico"
+ },
+ "sk": {
+ "name": "eslovaco"
+ },
+ "sl": {
+ "name": "esloveno"
+ },
+ "es": {
+ "name": "espanhol"
+ },
+ "es-MX": {
+ "name": "espanhol (México)"
+ },
+ "eo": {
+ "name": "esperanto"
+ },
+ "et": {
+ "name": "estónio"
+ },
+ "ee": {
+ "name": "ewe"
+ },
+ "ewo": {
+ "name": "ewondo"
+ },
+ "fo": {
+ "name": "feroês"
+ },
+ "fil": {
+ "name": "filipino"
+ },
+ "fi": {
+ "name": "finlandês"
+ },
+ "nl-BE": {
+ "name": "flamengo"
+ },
+ "fr": {
+ "name": "francês"
+ },
+ "fr-CA": {
+ "name": "francês canadiano"
+ },
+ "fr-CH": {
+ "name": "francês suíço"
+ },
+ "fy": {
+ "name": "frísico ocidental"
+ },
+ "fur": {
+ "name": "friulano"
+ },
+ "ff": {
+ "name": "fula"
+ },
+ "gd": {
+ "name": "gaélico escocês"
+ },
+ "gl": {
+ "name": "galego"
+ },
+ "cy": {
+ "name": "galês"
+ },
+ "lg": {
+ "name": "ganda"
+ },
+ "ka": {
+ "name": "georgiano"
+ },
+ "el": {
+ "name": "grego"
+ },
+ "kl": {
+ "name": "groenlandês"
+ },
+ "guz": {
+ "name": "gusii"
+ },
+ "gu": {
+ "name": "guzerate"
+ },
+ "ha": {
+ "name": "haúça"
+ },
+ "haw": {
+ "name": "havaiano"
+ },
+ "he": {
+ "name": "hebraico"
+ },
+ "hi": {
+ "name": "hindi"
+ },
+ "nl": {
+ "name": "holandês"
+ },
+ "hu": {
+ "name": "húngaro"
+ },
+ "ig": {
+ "name": "igbo"
+ },
+ "yi": {
+ "name": "iídiche"
+ },
+ "smn": {
+ "name": "inari sami"
+ },
+ "id": {
+ "name": "indonésio"
+ },
+ "en": {
+ "name": "inglês"
+ },
+ "en-AU": {
+ "name": "inglês australiano"
+ },
+ "en-GB": {
+ "name": "inglês britânico"
+ },
+ "en-CA": {
+ "name": "inglês canadiano"
+ },
+ "yo": {
+ "name": "ioruba"
+ },
+ "ga": {
+ "name": "irlandês"
+ },
+ "is": {
+ "name": "islandês"
+ },
+ "it": {
+ "name": "italiano"
+ },
+ "ja": {
+ "name": "japonês"
+ },
+ "dyo": {
+ "name": "jola-fonyi"
+ },
+ "kab": {
+ "name": "kabyle"
+ },
+ "kkj": {
+ "name": "kako"
+ },
+ "kln": {
+ "name": "kalenjin"
+ },
+ "kam": {
+ "name": "kamba"
+ },
+ "km": {
+ "name": "khmer"
+ },
+ "rw": {
+ "name": "kinyarwanda"
+ },
+ "ksh": {
+ "name": "kölsch"
+ },
+ "khq": {
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "name": "koyraboro senni"
+ },
+ "nmg": {
+ "name": "kwasio"
+ },
+ "lkt": {
+ "name": "lacota"
+ },
+ "lag": {
+ "name": "langi"
+ },
+ "lo": {
+ "name": "laosiano"
+ },
+ "lv": {
+ "name": "letão"
+ },
+ "ln": {
+ "name": "lingala"
+ },
+ "lt": {
+ "name": "lituano"
+ },
+ "lu": {
+ "name": "luba-catanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lrc": {
+ "name": "luri do norte"
+ },
+ "lb": {
+ "name": "luxemburguês"
+ },
+ "luy": {
+ "name": "luyia"
+ },
+ "mk": {
+ "name": "macedónio"
+ },
+ "jmc": {
+ "name": "machame"
+ },
+ "kde": {
+ "name": "maconde"
+ },
+ "mgh": {
+ "name": "macua"
+ },
+ "ml": {
+ "name": "malaiala"
+ },
+ "ms": {
+ "name": "malaio"
+ },
+ "mg": {
+ "name": "malgaxe"
+ },
+ "mt": {
+ "name": "maltês"
+ },
+ "gv": {
+ "name": "manx"
+ },
+ "mr": {
+ "name": "marata"
+ },
+ "mas": {
+ "name": "massai"
+ },
+ "mzn": {
+ "name": "mazandarani"
+ },
+ "mer": {
+ "name": "meru"
+ },
+ "mgo": {
+ "name": "meta’"
+ },
+ "ro-MD": {
+ "name": "moldávio"
+ },
+ "mn": {
+ "name": "mongol"
+ },
+ "mfe": {
+ "name": "morisyen"
+ },
+ "mua": {
+ "name": "mundang"
+ },
+ "naq": {
+ "name": "nama"
+ },
+ "nd": {
+ "name": "ndebele do norte"
+ },
+ "ne": {
+ "name": "nepali"
+ },
+ "nnh": {
+ "name": "ngiemboon"
+ },
+ "jgo": {
+ "name": "nguemba"
+ },
+ "nb": {
+ "name": "norueguês bokmål"
+ },
+ "nn": {
+ "name": "norueguês nynorsk"
+ },
+ "nus": {
+ "name": "nuer"
+ },
+ "nyn": {
+ "name": "nyankole"
+ },
+ "or": {
+ "name": "oriya"
+ },
+ "om": {
+ "name": "oromo"
+ },
+ "os": {
+ "name": "ossético"
+ },
+ "pa": {
+ "name": "panjabi"
+ },
+ "ps": {
+ "name": "pastó"
+ },
+ "fa": {
+ "name": "persa"
+ },
+ "pl": {
+ "name": "polaco"
+ },
+ "pt": {
+ "name": "português"
+ },
+ "pt-PT": {
+ "name": "português europeu"
+ },
+ "prg": {
+ "name": "prussiano"
+ },
+ "qu": {
+ "name": "quíchua"
+ },
+ "ki": {
+ "name": "quicuio"
+ },
+ "ky": {
+ "name": "quirguiz"
+ },
+ "rm": {
+ "name": "romanche"
+ },
+ "rof": {
+ "name": "rombo"
+ },
+ "ro": {
+ "name": "romeno"
+ },
+ "rn": {
+ "name": "rundi"
+ },
+ "ru": {
+ "name": "russo"
+ },
+ "rwk": {
+ "name": "rwa"
+ },
+ "sah": {
+ "name": "sakha"
+ },
+ "saq": {
+ "name": "samburu"
+ },
+ "se": {
+ "name": "sami do norte"
+ },
+ "sg": {
+ "name": "sango"
+ },
+ "sbp": {
+ "name": "sangu"
+ },
+ "seh": {
+ "name": "sena"
+ },
+ "sr": {
+ "name": "sérvio"
+ },
+ "ksb": {
+ "name": "shambala"
+ },
+ "sn": {
+ "name": "shona"
+ },
+ "ii": {
+ "name": "sichuan yi"
+ },
+ "xog": {
+ "name": "soga"
+ },
+ "so": {
+ "name": "somali"
+ },
+ "ckb": {
+ "name": "sorani curdo"
+ },
+ "sw": {
+ "name": "suaíli"
+ },
+ "sw-CD": {
+ "name": "suaíli do Congo"
+ },
+ "sv": {
+ "name": "sueco"
+ },
+ "shi": {
+ "name": "tachelhit"
+ },
+ "th": {
+ "name": "tailandês"
+ },
+ "dav": {
+ "name": "taita"
+ },
+ "tzm": {
+ "name": "tamazight do Atlas Central"
+ },
+ "zgh": {
+ "name": "tamazight marroquino padrão"
+ },
+ "ta": {
+ "name": "tâmil"
+ },
+ "twq": {
+ "name": "tasawaq"
+ },
+ "te": {
+ "name": "telugu"
+ },
+ "teo": {
+ "name": "teso"
+ },
+ "bo": {
+ "name": "tibetano"
+ },
+ "ti": {
+ "name": "tigrínia"
+ },
+ "to": {
+ "name": "tonga"
+ },
+ "tr": {
+ "name": "turco"
+ },
+ "tk": {
+ "name": "turcomano"
+ },
+ "uk": {
+ "name": "ucraniano"
+ },
+ "ug": {
+ "name": "uigur"
+ },
+ "ur": {
+ "name": "urdu"
+ },
+ "uz": {
+ "name": "usbeque"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vi": {
+ "name": "vietnamita"
+ },
+ "vo": {
+ "name": "volapuque"
+ },
+ "vun": {
+ "name": "vunjo"
+ },
+ "wae": {
+ "name": "walser"
+ },
+ "yav": {
+ "name": "yangben"
+ },
+ "dje": {
+ "name": "zarma"
+ },
+ "zu": {
+ "name": "zulu"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/pt-MZ.json b/vendor/commerceguys/intl/resources/language/pt-MZ.json
new file mode 100644
index 000000000..55b7c2234
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/pt-MZ.json
@@ -0,0 +1,635 @@
+{
+ "af": {
+ "name": "africanês"
+ },
+ "agq": {
+ "name": "aghem"
+ },
+ "ak": {
+ "name": "akan"
+ },
+ "sq": {
+ "name": "albanês"
+ },
+ "de": {
+ "name": "alemão"
+ },
+ "de-AT": {
+ "name": "alemão austríaco"
+ },
+ "gsw": {
+ "name": "alemão suíço"
+ },
+ "de-CH": {
+ "name": "alto alemão suíço"
+ },
+ "hsb": {
+ "name": "alto sorábio"
+ },
+ "am": {
+ "name": "amárico"
+ },
+ "ar": {
+ "name": "árabe"
+ },
+ "hy": {
+ "name": "arménio"
+ },
+ "as": {
+ "name": "assamês"
+ },
+ "ast": {
+ "name": "asturiano"
+ },
+ "asa": {
+ "name": "asu"
+ },
+ "az": {
+ "name": "azerbaijano"
+ },
+ "ksf": {
+ "name": "bafia"
+ },
+ "dsb": {
+ "name": "baixo sorábio"
+ },
+ "nds": {
+ "name": "baixo-alemão"
+ },
+ "nds-NL": {
+ "name": "baixo-saxão"
+ },
+ "bm": {
+ "name": "bambara"
+ },
+ "bas": {
+ "name": "basa"
+ },
+ "eu": {
+ "name": "basco"
+ },
+ "bem": {
+ "name": "bemba"
+ },
+ "bez": {
+ "name": "bena"
+ },
+ "bn": {
+ "name": "bengali"
+ },
+ "be": {
+ "name": "bielorrusso"
+ },
+ "my": {
+ "name": "birmanês"
+ },
+ "brx": {
+ "name": "bodo"
+ },
+ "bs": {
+ "name": "bósnio"
+ },
+ "br": {
+ "name": "bretão"
+ },
+ "bg": {
+ "name": "búlgaro"
+ },
+ "kn": {
+ "name": "canarim"
+ },
+ "yue": {
+ "name": "cantonês"
+ },
+ "ca": {
+ "name": "catalão"
+ },
+ "ks": {
+ "name": "caxemira"
+ },
+ "kk": {
+ "name": "cazaque"
+ },
+ "ce": {
+ "name": "checheno"
+ },
+ "cs": {
+ "name": "checo"
+ },
+ "chr": {
+ "name": "cherokee"
+ },
+ "cgg": {
+ "name": "chiga"
+ },
+ "zh": {
+ "name": "chinês"
+ },
+ "zh-Hans": {
+ "name": "chinês simplificado"
+ },
+ "zh-Hant": {
+ "name": "chinês tradicional"
+ },
+ "si": {
+ "name": "cingalês"
+ },
+ "kok": {
+ "name": "concani"
+ },
+ "ko": {
+ "name": "coreano"
+ },
+ "kw": {
+ "name": "córnico"
+ },
+ "kea": {
+ "name": "crioulo cabo-verdiano"
+ },
+ "hr": {
+ "name": "croata"
+ },
+ "da": {
+ "name": "dinamarquês"
+ },
+ "dua": {
+ "name": "duala"
+ },
+ "dz": {
+ "name": "dzonga"
+ },
+ "ebu": {
+ "name": "embu"
+ },
+ "cu": {
+ "name": "eslavo eclesiástico"
+ },
+ "sk": {
+ "name": "eslovaco"
+ },
+ "sl": {
+ "name": "esloveno"
+ },
+ "es": {
+ "name": "espanhol"
+ },
+ "es-MX": {
+ "name": "espanhol (México)"
+ },
+ "eo": {
+ "name": "esperanto"
+ },
+ "et": {
+ "name": "estónio"
+ },
+ "ee": {
+ "name": "ewe"
+ },
+ "ewo": {
+ "name": "ewondo"
+ },
+ "fo": {
+ "name": "feroês"
+ },
+ "fil": {
+ "name": "filipino"
+ },
+ "fi": {
+ "name": "finlandês"
+ },
+ "nl-BE": {
+ "name": "flamengo"
+ },
+ "fr": {
+ "name": "francês"
+ },
+ "fr-CA": {
+ "name": "francês canadiano"
+ },
+ "fr-CH": {
+ "name": "francês suíço"
+ },
+ "fy": {
+ "name": "frísico ocidental"
+ },
+ "fur": {
+ "name": "friulano"
+ },
+ "ff": {
+ "name": "fula"
+ },
+ "gd": {
+ "name": "gaélico escocês"
+ },
+ "gl": {
+ "name": "galego"
+ },
+ "cy": {
+ "name": "galês"
+ },
+ "lg": {
+ "name": "ganda"
+ },
+ "ka": {
+ "name": "georgiano"
+ },
+ "el": {
+ "name": "grego"
+ },
+ "kl": {
+ "name": "groenlandês"
+ },
+ "guz": {
+ "name": "gusii"
+ },
+ "gu": {
+ "name": "guzerate"
+ },
+ "ha": {
+ "name": "haúça"
+ },
+ "haw": {
+ "name": "havaiano"
+ },
+ "he": {
+ "name": "hebraico"
+ },
+ "hi": {
+ "name": "hindi"
+ },
+ "nl": {
+ "name": "holandês"
+ },
+ "hu": {
+ "name": "húngaro"
+ },
+ "ig": {
+ "name": "igbo"
+ },
+ "yi": {
+ "name": "iídiche"
+ },
+ "smn": {
+ "name": "inari sami"
+ },
+ "id": {
+ "name": "indonésio"
+ },
+ "en": {
+ "name": "inglês"
+ },
+ "en-AU": {
+ "name": "inglês australiano"
+ },
+ "en-GB": {
+ "name": "inglês britânico"
+ },
+ "en-CA": {
+ "name": "inglês canadiano"
+ },
+ "yo": {
+ "name": "ioruba"
+ },
+ "ga": {
+ "name": "irlandês"
+ },
+ "is": {
+ "name": "islandês"
+ },
+ "it": {
+ "name": "italiano"
+ },
+ "ja": {
+ "name": "japonês"
+ },
+ "dyo": {
+ "name": "jola-fonyi"
+ },
+ "kab": {
+ "name": "kabyle"
+ },
+ "kkj": {
+ "name": "kako"
+ },
+ "kln": {
+ "name": "kalenjin"
+ },
+ "kam": {
+ "name": "kamba"
+ },
+ "km": {
+ "name": "khmer"
+ },
+ "rw": {
+ "name": "kinyarwanda"
+ },
+ "ksh": {
+ "name": "kölsch"
+ },
+ "khq": {
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "name": "koyraboro senni"
+ },
+ "nmg": {
+ "name": "kwasio"
+ },
+ "lkt": {
+ "name": "lacota"
+ },
+ "lag": {
+ "name": "langi"
+ },
+ "lo": {
+ "name": "laosiano"
+ },
+ "lv": {
+ "name": "letão"
+ },
+ "ln": {
+ "name": "lingala"
+ },
+ "lt": {
+ "name": "lituano"
+ },
+ "lu": {
+ "name": "luba-catanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lrc": {
+ "name": "luri do norte"
+ },
+ "lb": {
+ "name": "luxemburguês"
+ },
+ "luy": {
+ "name": "luyia"
+ },
+ "mk": {
+ "name": "macedónio"
+ },
+ "jmc": {
+ "name": "machame"
+ },
+ "kde": {
+ "name": "maconde"
+ },
+ "mgh": {
+ "name": "macua"
+ },
+ "ml": {
+ "name": "malaiala"
+ },
+ "ms": {
+ "name": "malaio"
+ },
+ "mg": {
+ "name": "malgaxe"
+ },
+ "mt": {
+ "name": "maltês"
+ },
+ "gv": {
+ "name": "manx"
+ },
+ "mr": {
+ "name": "marata"
+ },
+ "mas": {
+ "name": "massai"
+ },
+ "mzn": {
+ "name": "mazandarani"
+ },
+ "mer": {
+ "name": "meru"
+ },
+ "mgo": {
+ "name": "meta’"
+ },
+ "ro-MD": {
+ "name": "moldávio"
+ },
+ "mn": {
+ "name": "mongol"
+ },
+ "mfe": {
+ "name": "morisyen"
+ },
+ "mua": {
+ "name": "mundang"
+ },
+ "naq": {
+ "name": "nama"
+ },
+ "nd": {
+ "name": "ndebele do norte"
+ },
+ "ne": {
+ "name": "nepali"
+ },
+ "nnh": {
+ "name": "ngiemboon"
+ },
+ "jgo": {
+ "name": "nguemba"
+ },
+ "nb": {
+ "name": "norueguês bokmål"
+ },
+ "nn": {
+ "name": "norueguês nynorsk"
+ },
+ "nus": {
+ "name": "nuer"
+ },
+ "nyn": {
+ "name": "nyankole"
+ },
+ "or": {
+ "name": "oriya"
+ },
+ "om": {
+ "name": "oromo"
+ },
+ "os": {
+ "name": "ossético"
+ },
+ "pa": {
+ "name": "panjabi"
+ },
+ "ps": {
+ "name": "pastó"
+ },
+ "fa": {
+ "name": "persa"
+ },
+ "pl": {
+ "name": "polaco"
+ },
+ "pt": {
+ "name": "português"
+ },
+ "pt-PT": {
+ "name": "português europeu"
+ },
+ "prg": {
+ "name": "prussiano"
+ },
+ "qu": {
+ "name": "quíchua"
+ },
+ "ki": {
+ "name": "quicuio"
+ },
+ "ky": {
+ "name": "quirguiz"
+ },
+ "rm": {
+ "name": "romanche"
+ },
+ "rof": {
+ "name": "rombo"
+ },
+ "ro": {
+ "name": "romeno"
+ },
+ "rn": {
+ "name": "rundi"
+ },
+ "ru": {
+ "name": "russo"
+ },
+ "rwk": {
+ "name": "rwa"
+ },
+ "sah": {
+ "name": "sakha"
+ },
+ "saq": {
+ "name": "samburu"
+ },
+ "se": {
+ "name": "sami do norte"
+ },
+ "sg": {
+ "name": "sango"
+ },
+ "sbp": {
+ "name": "sangu"
+ },
+ "seh": {
+ "name": "sena"
+ },
+ "sr": {
+ "name": "sérvio"
+ },
+ "ksb": {
+ "name": "shambala"
+ },
+ "sn": {
+ "name": "shona"
+ },
+ "ii": {
+ "name": "sichuan yi"
+ },
+ "xog": {
+ "name": "soga"
+ },
+ "so": {
+ "name": "somali"
+ },
+ "ckb": {
+ "name": "sorani curdo"
+ },
+ "sw": {
+ "name": "suaíli"
+ },
+ "sw-CD": {
+ "name": "suaíli do Congo"
+ },
+ "sv": {
+ "name": "sueco"
+ },
+ "shi": {
+ "name": "tachelhit"
+ },
+ "th": {
+ "name": "tailandês"
+ },
+ "dav": {
+ "name": "taita"
+ },
+ "tzm": {
+ "name": "tamazight do Atlas Central"
+ },
+ "zgh": {
+ "name": "tamazight marroquino padrão"
+ },
+ "ta": {
+ "name": "tâmil"
+ },
+ "twq": {
+ "name": "tasawaq"
+ },
+ "te": {
+ "name": "telugu"
+ },
+ "teo": {
+ "name": "teso"
+ },
+ "bo": {
+ "name": "tibetano"
+ },
+ "ti": {
+ "name": "tigrínia"
+ },
+ "to": {
+ "name": "tonga"
+ },
+ "tr": {
+ "name": "turco"
+ },
+ "tk": {
+ "name": "turcomano"
+ },
+ "uk": {
+ "name": "ucraniano"
+ },
+ "ug": {
+ "name": "uigur"
+ },
+ "ur": {
+ "name": "urdu"
+ },
+ "uz": {
+ "name": "usbeque"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vi": {
+ "name": "vietnamita"
+ },
+ "vo": {
+ "name": "volapuque"
+ },
+ "vun": {
+ "name": "vunjo"
+ },
+ "wae": {
+ "name": "walser"
+ },
+ "yav": {
+ "name": "yangben"
+ },
+ "dje": {
+ "name": "zarma"
+ },
+ "zu": {
+ "name": "zulu"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/pt-PT.json b/vendor/commerceguys/intl/resources/language/pt-PT.json
new file mode 100644
index 000000000..55b7c2234
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/pt-PT.json
@@ -0,0 +1,635 @@
+{
+ "af": {
+ "name": "africanês"
+ },
+ "agq": {
+ "name": "aghem"
+ },
+ "ak": {
+ "name": "akan"
+ },
+ "sq": {
+ "name": "albanês"
+ },
+ "de": {
+ "name": "alemão"
+ },
+ "de-AT": {
+ "name": "alemão austríaco"
+ },
+ "gsw": {
+ "name": "alemão suíço"
+ },
+ "de-CH": {
+ "name": "alto alemão suíço"
+ },
+ "hsb": {
+ "name": "alto sorábio"
+ },
+ "am": {
+ "name": "amárico"
+ },
+ "ar": {
+ "name": "árabe"
+ },
+ "hy": {
+ "name": "arménio"
+ },
+ "as": {
+ "name": "assamês"
+ },
+ "ast": {
+ "name": "asturiano"
+ },
+ "asa": {
+ "name": "asu"
+ },
+ "az": {
+ "name": "azerbaijano"
+ },
+ "ksf": {
+ "name": "bafia"
+ },
+ "dsb": {
+ "name": "baixo sorábio"
+ },
+ "nds": {
+ "name": "baixo-alemão"
+ },
+ "nds-NL": {
+ "name": "baixo-saxão"
+ },
+ "bm": {
+ "name": "bambara"
+ },
+ "bas": {
+ "name": "basa"
+ },
+ "eu": {
+ "name": "basco"
+ },
+ "bem": {
+ "name": "bemba"
+ },
+ "bez": {
+ "name": "bena"
+ },
+ "bn": {
+ "name": "bengali"
+ },
+ "be": {
+ "name": "bielorrusso"
+ },
+ "my": {
+ "name": "birmanês"
+ },
+ "brx": {
+ "name": "bodo"
+ },
+ "bs": {
+ "name": "bósnio"
+ },
+ "br": {
+ "name": "bretão"
+ },
+ "bg": {
+ "name": "búlgaro"
+ },
+ "kn": {
+ "name": "canarim"
+ },
+ "yue": {
+ "name": "cantonês"
+ },
+ "ca": {
+ "name": "catalão"
+ },
+ "ks": {
+ "name": "caxemira"
+ },
+ "kk": {
+ "name": "cazaque"
+ },
+ "ce": {
+ "name": "checheno"
+ },
+ "cs": {
+ "name": "checo"
+ },
+ "chr": {
+ "name": "cherokee"
+ },
+ "cgg": {
+ "name": "chiga"
+ },
+ "zh": {
+ "name": "chinês"
+ },
+ "zh-Hans": {
+ "name": "chinês simplificado"
+ },
+ "zh-Hant": {
+ "name": "chinês tradicional"
+ },
+ "si": {
+ "name": "cingalês"
+ },
+ "kok": {
+ "name": "concani"
+ },
+ "ko": {
+ "name": "coreano"
+ },
+ "kw": {
+ "name": "córnico"
+ },
+ "kea": {
+ "name": "crioulo cabo-verdiano"
+ },
+ "hr": {
+ "name": "croata"
+ },
+ "da": {
+ "name": "dinamarquês"
+ },
+ "dua": {
+ "name": "duala"
+ },
+ "dz": {
+ "name": "dzonga"
+ },
+ "ebu": {
+ "name": "embu"
+ },
+ "cu": {
+ "name": "eslavo eclesiástico"
+ },
+ "sk": {
+ "name": "eslovaco"
+ },
+ "sl": {
+ "name": "esloveno"
+ },
+ "es": {
+ "name": "espanhol"
+ },
+ "es-MX": {
+ "name": "espanhol (México)"
+ },
+ "eo": {
+ "name": "esperanto"
+ },
+ "et": {
+ "name": "estónio"
+ },
+ "ee": {
+ "name": "ewe"
+ },
+ "ewo": {
+ "name": "ewondo"
+ },
+ "fo": {
+ "name": "feroês"
+ },
+ "fil": {
+ "name": "filipino"
+ },
+ "fi": {
+ "name": "finlandês"
+ },
+ "nl-BE": {
+ "name": "flamengo"
+ },
+ "fr": {
+ "name": "francês"
+ },
+ "fr-CA": {
+ "name": "francês canadiano"
+ },
+ "fr-CH": {
+ "name": "francês suíço"
+ },
+ "fy": {
+ "name": "frísico ocidental"
+ },
+ "fur": {
+ "name": "friulano"
+ },
+ "ff": {
+ "name": "fula"
+ },
+ "gd": {
+ "name": "gaélico escocês"
+ },
+ "gl": {
+ "name": "galego"
+ },
+ "cy": {
+ "name": "galês"
+ },
+ "lg": {
+ "name": "ganda"
+ },
+ "ka": {
+ "name": "georgiano"
+ },
+ "el": {
+ "name": "grego"
+ },
+ "kl": {
+ "name": "groenlandês"
+ },
+ "guz": {
+ "name": "gusii"
+ },
+ "gu": {
+ "name": "guzerate"
+ },
+ "ha": {
+ "name": "haúça"
+ },
+ "haw": {
+ "name": "havaiano"
+ },
+ "he": {
+ "name": "hebraico"
+ },
+ "hi": {
+ "name": "hindi"
+ },
+ "nl": {
+ "name": "holandês"
+ },
+ "hu": {
+ "name": "húngaro"
+ },
+ "ig": {
+ "name": "igbo"
+ },
+ "yi": {
+ "name": "iídiche"
+ },
+ "smn": {
+ "name": "inari sami"
+ },
+ "id": {
+ "name": "indonésio"
+ },
+ "en": {
+ "name": "inglês"
+ },
+ "en-AU": {
+ "name": "inglês australiano"
+ },
+ "en-GB": {
+ "name": "inglês britânico"
+ },
+ "en-CA": {
+ "name": "inglês canadiano"
+ },
+ "yo": {
+ "name": "ioruba"
+ },
+ "ga": {
+ "name": "irlandês"
+ },
+ "is": {
+ "name": "islandês"
+ },
+ "it": {
+ "name": "italiano"
+ },
+ "ja": {
+ "name": "japonês"
+ },
+ "dyo": {
+ "name": "jola-fonyi"
+ },
+ "kab": {
+ "name": "kabyle"
+ },
+ "kkj": {
+ "name": "kako"
+ },
+ "kln": {
+ "name": "kalenjin"
+ },
+ "kam": {
+ "name": "kamba"
+ },
+ "km": {
+ "name": "khmer"
+ },
+ "rw": {
+ "name": "kinyarwanda"
+ },
+ "ksh": {
+ "name": "kölsch"
+ },
+ "khq": {
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "name": "koyraboro senni"
+ },
+ "nmg": {
+ "name": "kwasio"
+ },
+ "lkt": {
+ "name": "lacota"
+ },
+ "lag": {
+ "name": "langi"
+ },
+ "lo": {
+ "name": "laosiano"
+ },
+ "lv": {
+ "name": "letão"
+ },
+ "ln": {
+ "name": "lingala"
+ },
+ "lt": {
+ "name": "lituano"
+ },
+ "lu": {
+ "name": "luba-catanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lrc": {
+ "name": "luri do norte"
+ },
+ "lb": {
+ "name": "luxemburguês"
+ },
+ "luy": {
+ "name": "luyia"
+ },
+ "mk": {
+ "name": "macedónio"
+ },
+ "jmc": {
+ "name": "machame"
+ },
+ "kde": {
+ "name": "maconde"
+ },
+ "mgh": {
+ "name": "macua"
+ },
+ "ml": {
+ "name": "malaiala"
+ },
+ "ms": {
+ "name": "malaio"
+ },
+ "mg": {
+ "name": "malgaxe"
+ },
+ "mt": {
+ "name": "maltês"
+ },
+ "gv": {
+ "name": "manx"
+ },
+ "mr": {
+ "name": "marata"
+ },
+ "mas": {
+ "name": "massai"
+ },
+ "mzn": {
+ "name": "mazandarani"
+ },
+ "mer": {
+ "name": "meru"
+ },
+ "mgo": {
+ "name": "meta’"
+ },
+ "ro-MD": {
+ "name": "moldávio"
+ },
+ "mn": {
+ "name": "mongol"
+ },
+ "mfe": {
+ "name": "morisyen"
+ },
+ "mua": {
+ "name": "mundang"
+ },
+ "naq": {
+ "name": "nama"
+ },
+ "nd": {
+ "name": "ndebele do norte"
+ },
+ "ne": {
+ "name": "nepali"
+ },
+ "nnh": {
+ "name": "ngiemboon"
+ },
+ "jgo": {
+ "name": "nguemba"
+ },
+ "nb": {
+ "name": "norueguês bokmål"
+ },
+ "nn": {
+ "name": "norueguês nynorsk"
+ },
+ "nus": {
+ "name": "nuer"
+ },
+ "nyn": {
+ "name": "nyankole"
+ },
+ "or": {
+ "name": "oriya"
+ },
+ "om": {
+ "name": "oromo"
+ },
+ "os": {
+ "name": "ossético"
+ },
+ "pa": {
+ "name": "panjabi"
+ },
+ "ps": {
+ "name": "pastó"
+ },
+ "fa": {
+ "name": "persa"
+ },
+ "pl": {
+ "name": "polaco"
+ },
+ "pt": {
+ "name": "português"
+ },
+ "pt-PT": {
+ "name": "português europeu"
+ },
+ "prg": {
+ "name": "prussiano"
+ },
+ "qu": {
+ "name": "quíchua"
+ },
+ "ki": {
+ "name": "quicuio"
+ },
+ "ky": {
+ "name": "quirguiz"
+ },
+ "rm": {
+ "name": "romanche"
+ },
+ "rof": {
+ "name": "rombo"
+ },
+ "ro": {
+ "name": "romeno"
+ },
+ "rn": {
+ "name": "rundi"
+ },
+ "ru": {
+ "name": "russo"
+ },
+ "rwk": {
+ "name": "rwa"
+ },
+ "sah": {
+ "name": "sakha"
+ },
+ "saq": {
+ "name": "samburu"
+ },
+ "se": {
+ "name": "sami do norte"
+ },
+ "sg": {
+ "name": "sango"
+ },
+ "sbp": {
+ "name": "sangu"
+ },
+ "seh": {
+ "name": "sena"
+ },
+ "sr": {
+ "name": "sérvio"
+ },
+ "ksb": {
+ "name": "shambala"
+ },
+ "sn": {
+ "name": "shona"
+ },
+ "ii": {
+ "name": "sichuan yi"
+ },
+ "xog": {
+ "name": "soga"
+ },
+ "so": {
+ "name": "somali"
+ },
+ "ckb": {
+ "name": "sorani curdo"
+ },
+ "sw": {
+ "name": "suaíli"
+ },
+ "sw-CD": {
+ "name": "suaíli do Congo"
+ },
+ "sv": {
+ "name": "sueco"
+ },
+ "shi": {
+ "name": "tachelhit"
+ },
+ "th": {
+ "name": "tailandês"
+ },
+ "dav": {
+ "name": "taita"
+ },
+ "tzm": {
+ "name": "tamazight do Atlas Central"
+ },
+ "zgh": {
+ "name": "tamazight marroquino padrão"
+ },
+ "ta": {
+ "name": "tâmil"
+ },
+ "twq": {
+ "name": "tasawaq"
+ },
+ "te": {
+ "name": "telugu"
+ },
+ "teo": {
+ "name": "teso"
+ },
+ "bo": {
+ "name": "tibetano"
+ },
+ "ti": {
+ "name": "tigrínia"
+ },
+ "to": {
+ "name": "tonga"
+ },
+ "tr": {
+ "name": "turco"
+ },
+ "tk": {
+ "name": "turcomano"
+ },
+ "uk": {
+ "name": "ucraniano"
+ },
+ "ug": {
+ "name": "uigur"
+ },
+ "ur": {
+ "name": "urdu"
+ },
+ "uz": {
+ "name": "usbeque"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vi": {
+ "name": "vietnamita"
+ },
+ "vo": {
+ "name": "volapuque"
+ },
+ "vun": {
+ "name": "vunjo"
+ },
+ "wae": {
+ "name": "walser"
+ },
+ "yav": {
+ "name": "yangben"
+ },
+ "dje": {
+ "name": "zarma"
+ },
+ "zu": {
+ "name": "zulu"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/pt-ST.json b/vendor/commerceguys/intl/resources/language/pt-ST.json
new file mode 100644
index 000000000..55b7c2234
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/pt-ST.json
@@ -0,0 +1,635 @@
+{
+ "af": {
+ "name": "africanês"
+ },
+ "agq": {
+ "name": "aghem"
+ },
+ "ak": {
+ "name": "akan"
+ },
+ "sq": {
+ "name": "albanês"
+ },
+ "de": {
+ "name": "alemão"
+ },
+ "de-AT": {
+ "name": "alemão austríaco"
+ },
+ "gsw": {
+ "name": "alemão suíço"
+ },
+ "de-CH": {
+ "name": "alto alemão suíço"
+ },
+ "hsb": {
+ "name": "alto sorábio"
+ },
+ "am": {
+ "name": "amárico"
+ },
+ "ar": {
+ "name": "árabe"
+ },
+ "hy": {
+ "name": "arménio"
+ },
+ "as": {
+ "name": "assamês"
+ },
+ "ast": {
+ "name": "asturiano"
+ },
+ "asa": {
+ "name": "asu"
+ },
+ "az": {
+ "name": "azerbaijano"
+ },
+ "ksf": {
+ "name": "bafia"
+ },
+ "dsb": {
+ "name": "baixo sorábio"
+ },
+ "nds": {
+ "name": "baixo-alemão"
+ },
+ "nds-NL": {
+ "name": "baixo-saxão"
+ },
+ "bm": {
+ "name": "bambara"
+ },
+ "bas": {
+ "name": "basa"
+ },
+ "eu": {
+ "name": "basco"
+ },
+ "bem": {
+ "name": "bemba"
+ },
+ "bez": {
+ "name": "bena"
+ },
+ "bn": {
+ "name": "bengali"
+ },
+ "be": {
+ "name": "bielorrusso"
+ },
+ "my": {
+ "name": "birmanês"
+ },
+ "brx": {
+ "name": "bodo"
+ },
+ "bs": {
+ "name": "bósnio"
+ },
+ "br": {
+ "name": "bretão"
+ },
+ "bg": {
+ "name": "búlgaro"
+ },
+ "kn": {
+ "name": "canarim"
+ },
+ "yue": {
+ "name": "cantonês"
+ },
+ "ca": {
+ "name": "catalão"
+ },
+ "ks": {
+ "name": "caxemira"
+ },
+ "kk": {
+ "name": "cazaque"
+ },
+ "ce": {
+ "name": "checheno"
+ },
+ "cs": {
+ "name": "checo"
+ },
+ "chr": {
+ "name": "cherokee"
+ },
+ "cgg": {
+ "name": "chiga"
+ },
+ "zh": {
+ "name": "chinês"
+ },
+ "zh-Hans": {
+ "name": "chinês simplificado"
+ },
+ "zh-Hant": {
+ "name": "chinês tradicional"
+ },
+ "si": {
+ "name": "cingalês"
+ },
+ "kok": {
+ "name": "concani"
+ },
+ "ko": {
+ "name": "coreano"
+ },
+ "kw": {
+ "name": "córnico"
+ },
+ "kea": {
+ "name": "crioulo cabo-verdiano"
+ },
+ "hr": {
+ "name": "croata"
+ },
+ "da": {
+ "name": "dinamarquês"
+ },
+ "dua": {
+ "name": "duala"
+ },
+ "dz": {
+ "name": "dzonga"
+ },
+ "ebu": {
+ "name": "embu"
+ },
+ "cu": {
+ "name": "eslavo eclesiástico"
+ },
+ "sk": {
+ "name": "eslovaco"
+ },
+ "sl": {
+ "name": "esloveno"
+ },
+ "es": {
+ "name": "espanhol"
+ },
+ "es-MX": {
+ "name": "espanhol (México)"
+ },
+ "eo": {
+ "name": "esperanto"
+ },
+ "et": {
+ "name": "estónio"
+ },
+ "ee": {
+ "name": "ewe"
+ },
+ "ewo": {
+ "name": "ewondo"
+ },
+ "fo": {
+ "name": "feroês"
+ },
+ "fil": {
+ "name": "filipino"
+ },
+ "fi": {
+ "name": "finlandês"
+ },
+ "nl-BE": {
+ "name": "flamengo"
+ },
+ "fr": {
+ "name": "francês"
+ },
+ "fr-CA": {
+ "name": "francês canadiano"
+ },
+ "fr-CH": {
+ "name": "francês suíço"
+ },
+ "fy": {
+ "name": "frísico ocidental"
+ },
+ "fur": {
+ "name": "friulano"
+ },
+ "ff": {
+ "name": "fula"
+ },
+ "gd": {
+ "name": "gaélico escocês"
+ },
+ "gl": {
+ "name": "galego"
+ },
+ "cy": {
+ "name": "galês"
+ },
+ "lg": {
+ "name": "ganda"
+ },
+ "ka": {
+ "name": "georgiano"
+ },
+ "el": {
+ "name": "grego"
+ },
+ "kl": {
+ "name": "groenlandês"
+ },
+ "guz": {
+ "name": "gusii"
+ },
+ "gu": {
+ "name": "guzerate"
+ },
+ "ha": {
+ "name": "haúça"
+ },
+ "haw": {
+ "name": "havaiano"
+ },
+ "he": {
+ "name": "hebraico"
+ },
+ "hi": {
+ "name": "hindi"
+ },
+ "nl": {
+ "name": "holandês"
+ },
+ "hu": {
+ "name": "húngaro"
+ },
+ "ig": {
+ "name": "igbo"
+ },
+ "yi": {
+ "name": "iídiche"
+ },
+ "smn": {
+ "name": "inari sami"
+ },
+ "id": {
+ "name": "indonésio"
+ },
+ "en": {
+ "name": "inglês"
+ },
+ "en-AU": {
+ "name": "inglês australiano"
+ },
+ "en-GB": {
+ "name": "inglês britânico"
+ },
+ "en-CA": {
+ "name": "inglês canadiano"
+ },
+ "yo": {
+ "name": "ioruba"
+ },
+ "ga": {
+ "name": "irlandês"
+ },
+ "is": {
+ "name": "islandês"
+ },
+ "it": {
+ "name": "italiano"
+ },
+ "ja": {
+ "name": "japonês"
+ },
+ "dyo": {
+ "name": "jola-fonyi"
+ },
+ "kab": {
+ "name": "kabyle"
+ },
+ "kkj": {
+ "name": "kako"
+ },
+ "kln": {
+ "name": "kalenjin"
+ },
+ "kam": {
+ "name": "kamba"
+ },
+ "km": {
+ "name": "khmer"
+ },
+ "rw": {
+ "name": "kinyarwanda"
+ },
+ "ksh": {
+ "name": "kölsch"
+ },
+ "khq": {
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "name": "koyraboro senni"
+ },
+ "nmg": {
+ "name": "kwasio"
+ },
+ "lkt": {
+ "name": "lacota"
+ },
+ "lag": {
+ "name": "langi"
+ },
+ "lo": {
+ "name": "laosiano"
+ },
+ "lv": {
+ "name": "letão"
+ },
+ "ln": {
+ "name": "lingala"
+ },
+ "lt": {
+ "name": "lituano"
+ },
+ "lu": {
+ "name": "luba-catanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lrc": {
+ "name": "luri do norte"
+ },
+ "lb": {
+ "name": "luxemburguês"
+ },
+ "luy": {
+ "name": "luyia"
+ },
+ "mk": {
+ "name": "macedónio"
+ },
+ "jmc": {
+ "name": "machame"
+ },
+ "kde": {
+ "name": "maconde"
+ },
+ "mgh": {
+ "name": "macua"
+ },
+ "ml": {
+ "name": "malaiala"
+ },
+ "ms": {
+ "name": "malaio"
+ },
+ "mg": {
+ "name": "malgaxe"
+ },
+ "mt": {
+ "name": "maltês"
+ },
+ "gv": {
+ "name": "manx"
+ },
+ "mr": {
+ "name": "marata"
+ },
+ "mas": {
+ "name": "massai"
+ },
+ "mzn": {
+ "name": "mazandarani"
+ },
+ "mer": {
+ "name": "meru"
+ },
+ "mgo": {
+ "name": "meta’"
+ },
+ "ro-MD": {
+ "name": "moldávio"
+ },
+ "mn": {
+ "name": "mongol"
+ },
+ "mfe": {
+ "name": "morisyen"
+ },
+ "mua": {
+ "name": "mundang"
+ },
+ "naq": {
+ "name": "nama"
+ },
+ "nd": {
+ "name": "ndebele do norte"
+ },
+ "ne": {
+ "name": "nepali"
+ },
+ "nnh": {
+ "name": "ngiemboon"
+ },
+ "jgo": {
+ "name": "nguemba"
+ },
+ "nb": {
+ "name": "norueguês bokmål"
+ },
+ "nn": {
+ "name": "norueguês nynorsk"
+ },
+ "nus": {
+ "name": "nuer"
+ },
+ "nyn": {
+ "name": "nyankole"
+ },
+ "or": {
+ "name": "oriya"
+ },
+ "om": {
+ "name": "oromo"
+ },
+ "os": {
+ "name": "ossético"
+ },
+ "pa": {
+ "name": "panjabi"
+ },
+ "ps": {
+ "name": "pastó"
+ },
+ "fa": {
+ "name": "persa"
+ },
+ "pl": {
+ "name": "polaco"
+ },
+ "pt": {
+ "name": "português"
+ },
+ "pt-PT": {
+ "name": "português europeu"
+ },
+ "prg": {
+ "name": "prussiano"
+ },
+ "qu": {
+ "name": "quíchua"
+ },
+ "ki": {
+ "name": "quicuio"
+ },
+ "ky": {
+ "name": "quirguiz"
+ },
+ "rm": {
+ "name": "romanche"
+ },
+ "rof": {
+ "name": "rombo"
+ },
+ "ro": {
+ "name": "romeno"
+ },
+ "rn": {
+ "name": "rundi"
+ },
+ "ru": {
+ "name": "russo"
+ },
+ "rwk": {
+ "name": "rwa"
+ },
+ "sah": {
+ "name": "sakha"
+ },
+ "saq": {
+ "name": "samburu"
+ },
+ "se": {
+ "name": "sami do norte"
+ },
+ "sg": {
+ "name": "sango"
+ },
+ "sbp": {
+ "name": "sangu"
+ },
+ "seh": {
+ "name": "sena"
+ },
+ "sr": {
+ "name": "sérvio"
+ },
+ "ksb": {
+ "name": "shambala"
+ },
+ "sn": {
+ "name": "shona"
+ },
+ "ii": {
+ "name": "sichuan yi"
+ },
+ "xog": {
+ "name": "soga"
+ },
+ "so": {
+ "name": "somali"
+ },
+ "ckb": {
+ "name": "sorani curdo"
+ },
+ "sw": {
+ "name": "suaíli"
+ },
+ "sw-CD": {
+ "name": "suaíli do Congo"
+ },
+ "sv": {
+ "name": "sueco"
+ },
+ "shi": {
+ "name": "tachelhit"
+ },
+ "th": {
+ "name": "tailandês"
+ },
+ "dav": {
+ "name": "taita"
+ },
+ "tzm": {
+ "name": "tamazight do Atlas Central"
+ },
+ "zgh": {
+ "name": "tamazight marroquino padrão"
+ },
+ "ta": {
+ "name": "tâmil"
+ },
+ "twq": {
+ "name": "tasawaq"
+ },
+ "te": {
+ "name": "telugu"
+ },
+ "teo": {
+ "name": "teso"
+ },
+ "bo": {
+ "name": "tibetano"
+ },
+ "ti": {
+ "name": "tigrínia"
+ },
+ "to": {
+ "name": "tonga"
+ },
+ "tr": {
+ "name": "turco"
+ },
+ "tk": {
+ "name": "turcomano"
+ },
+ "uk": {
+ "name": "ucraniano"
+ },
+ "ug": {
+ "name": "uigur"
+ },
+ "ur": {
+ "name": "urdu"
+ },
+ "uz": {
+ "name": "usbeque"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vi": {
+ "name": "vietnamita"
+ },
+ "vo": {
+ "name": "volapuque"
+ },
+ "vun": {
+ "name": "vunjo"
+ },
+ "wae": {
+ "name": "walser"
+ },
+ "yav": {
+ "name": "yangben"
+ },
+ "dje": {
+ "name": "zarma"
+ },
+ "zu": {
+ "name": "zulu"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/pt-TL.json b/vendor/commerceguys/intl/resources/language/pt-TL.json
new file mode 100644
index 000000000..55b7c2234
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/pt-TL.json
@@ -0,0 +1,635 @@
+{
+ "af": {
+ "name": "africanês"
+ },
+ "agq": {
+ "name": "aghem"
+ },
+ "ak": {
+ "name": "akan"
+ },
+ "sq": {
+ "name": "albanês"
+ },
+ "de": {
+ "name": "alemão"
+ },
+ "de-AT": {
+ "name": "alemão austríaco"
+ },
+ "gsw": {
+ "name": "alemão suíço"
+ },
+ "de-CH": {
+ "name": "alto alemão suíço"
+ },
+ "hsb": {
+ "name": "alto sorábio"
+ },
+ "am": {
+ "name": "amárico"
+ },
+ "ar": {
+ "name": "árabe"
+ },
+ "hy": {
+ "name": "arménio"
+ },
+ "as": {
+ "name": "assamês"
+ },
+ "ast": {
+ "name": "asturiano"
+ },
+ "asa": {
+ "name": "asu"
+ },
+ "az": {
+ "name": "azerbaijano"
+ },
+ "ksf": {
+ "name": "bafia"
+ },
+ "dsb": {
+ "name": "baixo sorábio"
+ },
+ "nds": {
+ "name": "baixo-alemão"
+ },
+ "nds-NL": {
+ "name": "baixo-saxão"
+ },
+ "bm": {
+ "name": "bambara"
+ },
+ "bas": {
+ "name": "basa"
+ },
+ "eu": {
+ "name": "basco"
+ },
+ "bem": {
+ "name": "bemba"
+ },
+ "bez": {
+ "name": "bena"
+ },
+ "bn": {
+ "name": "bengali"
+ },
+ "be": {
+ "name": "bielorrusso"
+ },
+ "my": {
+ "name": "birmanês"
+ },
+ "brx": {
+ "name": "bodo"
+ },
+ "bs": {
+ "name": "bósnio"
+ },
+ "br": {
+ "name": "bretão"
+ },
+ "bg": {
+ "name": "búlgaro"
+ },
+ "kn": {
+ "name": "canarim"
+ },
+ "yue": {
+ "name": "cantonês"
+ },
+ "ca": {
+ "name": "catalão"
+ },
+ "ks": {
+ "name": "caxemira"
+ },
+ "kk": {
+ "name": "cazaque"
+ },
+ "ce": {
+ "name": "checheno"
+ },
+ "cs": {
+ "name": "checo"
+ },
+ "chr": {
+ "name": "cherokee"
+ },
+ "cgg": {
+ "name": "chiga"
+ },
+ "zh": {
+ "name": "chinês"
+ },
+ "zh-Hans": {
+ "name": "chinês simplificado"
+ },
+ "zh-Hant": {
+ "name": "chinês tradicional"
+ },
+ "si": {
+ "name": "cingalês"
+ },
+ "kok": {
+ "name": "concani"
+ },
+ "ko": {
+ "name": "coreano"
+ },
+ "kw": {
+ "name": "córnico"
+ },
+ "kea": {
+ "name": "crioulo cabo-verdiano"
+ },
+ "hr": {
+ "name": "croata"
+ },
+ "da": {
+ "name": "dinamarquês"
+ },
+ "dua": {
+ "name": "duala"
+ },
+ "dz": {
+ "name": "dzonga"
+ },
+ "ebu": {
+ "name": "embu"
+ },
+ "cu": {
+ "name": "eslavo eclesiástico"
+ },
+ "sk": {
+ "name": "eslovaco"
+ },
+ "sl": {
+ "name": "esloveno"
+ },
+ "es": {
+ "name": "espanhol"
+ },
+ "es-MX": {
+ "name": "espanhol (México)"
+ },
+ "eo": {
+ "name": "esperanto"
+ },
+ "et": {
+ "name": "estónio"
+ },
+ "ee": {
+ "name": "ewe"
+ },
+ "ewo": {
+ "name": "ewondo"
+ },
+ "fo": {
+ "name": "feroês"
+ },
+ "fil": {
+ "name": "filipino"
+ },
+ "fi": {
+ "name": "finlandês"
+ },
+ "nl-BE": {
+ "name": "flamengo"
+ },
+ "fr": {
+ "name": "francês"
+ },
+ "fr-CA": {
+ "name": "francês canadiano"
+ },
+ "fr-CH": {
+ "name": "francês suíço"
+ },
+ "fy": {
+ "name": "frísico ocidental"
+ },
+ "fur": {
+ "name": "friulano"
+ },
+ "ff": {
+ "name": "fula"
+ },
+ "gd": {
+ "name": "gaélico escocês"
+ },
+ "gl": {
+ "name": "galego"
+ },
+ "cy": {
+ "name": "galês"
+ },
+ "lg": {
+ "name": "ganda"
+ },
+ "ka": {
+ "name": "georgiano"
+ },
+ "el": {
+ "name": "grego"
+ },
+ "kl": {
+ "name": "groenlandês"
+ },
+ "guz": {
+ "name": "gusii"
+ },
+ "gu": {
+ "name": "guzerate"
+ },
+ "ha": {
+ "name": "haúça"
+ },
+ "haw": {
+ "name": "havaiano"
+ },
+ "he": {
+ "name": "hebraico"
+ },
+ "hi": {
+ "name": "hindi"
+ },
+ "nl": {
+ "name": "holandês"
+ },
+ "hu": {
+ "name": "húngaro"
+ },
+ "ig": {
+ "name": "igbo"
+ },
+ "yi": {
+ "name": "iídiche"
+ },
+ "smn": {
+ "name": "inari sami"
+ },
+ "id": {
+ "name": "indonésio"
+ },
+ "en": {
+ "name": "inglês"
+ },
+ "en-AU": {
+ "name": "inglês australiano"
+ },
+ "en-GB": {
+ "name": "inglês britânico"
+ },
+ "en-CA": {
+ "name": "inglês canadiano"
+ },
+ "yo": {
+ "name": "ioruba"
+ },
+ "ga": {
+ "name": "irlandês"
+ },
+ "is": {
+ "name": "islandês"
+ },
+ "it": {
+ "name": "italiano"
+ },
+ "ja": {
+ "name": "japonês"
+ },
+ "dyo": {
+ "name": "jola-fonyi"
+ },
+ "kab": {
+ "name": "kabyle"
+ },
+ "kkj": {
+ "name": "kako"
+ },
+ "kln": {
+ "name": "kalenjin"
+ },
+ "kam": {
+ "name": "kamba"
+ },
+ "km": {
+ "name": "khmer"
+ },
+ "rw": {
+ "name": "kinyarwanda"
+ },
+ "ksh": {
+ "name": "kölsch"
+ },
+ "khq": {
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "name": "koyraboro senni"
+ },
+ "nmg": {
+ "name": "kwasio"
+ },
+ "lkt": {
+ "name": "lacota"
+ },
+ "lag": {
+ "name": "langi"
+ },
+ "lo": {
+ "name": "laosiano"
+ },
+ "lv": {
+ "name": "letão"
+ },
+ "ln": {
+ "name": "lingala"
+ },
+ "lt": {
+ "name": "lituano"
+ },
+ "lu": {
+ "name": "luba-catanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lrc": {
+ "name": "luri do norte"
+ },
+ "lb": {
+ "name": "luxemburguês"
+ },
+ "luy": {
+ "name": "luyia"
+ },
+ "mk": {
+ "name": "macedónio"
+ },
+ "jmc": {
+ "name": "machame"
+ },
+ "kde": {
+ "name": "maconde"
+ },
+ "mgh": {
+ "name": "macua"
+ },
+ "ml": {
+ "name": "malaiala"
+ },
+ "ms": {
+ "name": "malaio"
+ },
+ "mg": {
+ "name": "malgaxe"
+ },
+ "mt": {
+ "name": "maltês"
+ },
+ "gv": {
+ "name": "manx"
+ },
+ "mr": {
+ "name": "marata"
+ },
+ "mas": {
+ "name": "massai"
+ },
+ "mzn": {
+ "name": "mazandarani"
+ },
+ "mer": {
+ "name": "meru"
+ },
+ "mgo": {
+ "name": "meta’"
+ },
+ "ro-MD": {
+ "name": "moldávio"
+ },
+ "mn": {
+ "name": "mongol"
+ },
+ "mfe": {
+ "name": "morisyen"
+ },
+ "mua": {
+ "name": "mundang"
+ },
+ "naq": {
+ "name": "nama"
+ },
+ "nd": {
+ "name": "ndebele do norte"
+ },
+ "ne": {
+ "name": "nepali"
+ },
+ "nnh": {
+ "name": "ngiemboon"
+ },
+ "jgo": {
+ "name": "nguemba"
+ },
+ "nb": {
+ "name": "norueguês bokmål"
+ },
+ "nn": {
+ "name": "norueguês nynorsk"
+ },
+ "nus": {
+ "name": "nuer"
+ },
+ "nyn": {
+ "name": "nyankole"
+ },
+ "or": {
+ "name": "oriya"
+ },
+ "om": {
+ "name": "oromo"
+ },
+ "os": {
+ "name": "ossético"
+ },
+ "pa": {
+ "name": "panjabi"
+ },
+ "ps": {
+ "name": "pastó"
+ },
+ "fa": {
+ "name": "persa"
+ },
+ "pl": {
+ "name": "polaco"
+ },
+ "pt": {
+ "name": "português"
+ },
+ "pt-PT": {
+ "name": "português europeu"
+ },
+ "prg": {
+ "name": "prussiano"
+ },
+ "qu": {
+ "name": "quíchua"
+ },
+ "ki": {
+ "name": "quicuio"
+ },
+ "ky": {
+ "name": "quirguiz"
+ },
+ "rm": {
+ "name": "romanche"
+ },
+ "rof": {
+ "name": "rombo"
+ },
+ "ro": {
+ "name": "romeno"
+ },
+ "rn": {
+ "name": "rundi"
+ },
+ "ru": {
+ "name": "russo"
+ },
+ "rwk": {
+ "name": "rwa"
+ },
+ "sah": {
+ "name": "sakha"
+ },
+ "saq": {
+ "name": "samburu"
+ },
+ "se": {
+ "name": "sami do norte"
+ },
+ "sg": {
+ "name": "sango"
+ },
+ "sbp": {
+ "name": "sangu"
+ },
+ "seh": {
+ "name": "sena"
+ },
+ "sr": {
+ "name": "sérvio"
+ },
+ "ksb": {
+ "name": "shambala"
+ },
+ "sn": {
+ "name": "shona"
+ },
+ "ii": {
+ "name": "sichuan yi"
+ },
+ "xog": {
+ "name": "soga"
+ },
+ "so": {
+ "name": "somali"
+ },
+ "ckb": {
+ "name": "sorani curdo"
+ },
+ "sw": {
+ "name": "suaíli"
+ },
+ "sw-CD": {
+ "name": "suaíli do Congo"
+ },
+ "sv": {
+ "name": "sueco"
+ },
+ "shi": {
+ "name": "tachelhit"
+ },
+ "th": {
+ "name": "tailandês"
+ },
+ "dav": {
+ "name": "taita"
+ },
+ "tzm": {
+ "name": "tamazight do Atlas Central"
+ },
+ "zgh": {
+ "name": "tamazight marroquino padrão"
+ },
+ "ta": {
+ "name": "tâmil"
+ },
+ "twq": {
+ "name": "tasawaq"
+ },
+ "te": {
+ "name": "telugu"
+ },
+ "teo": {
+ "name": "teso"
+ },
+ "bo": {
+ "name": "tibetano"
+ },
+ "ti": {
+ "name": "tigrínia"
+ },
+ "to": {
+ "name": "tonga"
+ },
+ "tr": {
+ "name": "turco"
+ },
+ "tk": {
+ "name": "turcomano"
+ },
+ "uk": {
+ "name": "ucraniano"
+ },
+ "ug": {
+ "name": "uigur"
+ },
+ "ur": {
+ "name": "urdu"
+ },
+ "uz": {
+ "name": "usbeque"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vi": {
+ "name": "vietnamita"
+ },
+ "vo": {
+ "name": "volapuque"
+ },
+ "vun": {
+ "name": "vunjo"
+ },
+ "wae": {
+ "name": "walser"
+ },
+ "yav": {
+ "name": "yangben"
+ },
+ "dje": {
+ "name": "zarma"
+ },
+ "zu": {
+ "name": "zulu"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/pt.json b/vendor/commerceguys/intl/resources/language/pt.json
new file mode 100644
index 000000000..c28da7812
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/pt.json
@@ -0,0 +1,635 @@
+{
+ "af": {
+ "name": "africâner"
+ },
+ "agq": {
+ "name": "aghem"
+ },
+ "ak": {
+ "name": "akan"
+ },
+ "sq": {
+ "name": "albanês"
+ },
+ "de": {
+ "name": "alemão"
+ },
+ "de-AT": {
+ "name": "alemão (Áustria)"
+ },
+ "gsw": {
+ "name": "alemão (Suíça)"
+ },
+ "de-CH": {
+ "name": "alto alemão (Suíça)"
+ },
+ "hsb": {
+ "name": "alto sorábio"
+ },
+ "am": {
+ "name": "amárico"
+ },
+ "ar": {
+ "name": "árabe"
+ },
+ "hy": {
+ "name": "armênio"
+ },
+ "as": {
+ "name": "assamês"
+ },
+ "ast": {
+ "name": "asturiano"
+ },
+ "asa": {
+ "name": "asu"
+ },
+ "az": {
+ "name": "azerbaijano"
+ },
+ "ksf": {
+ "name": "bafia"
+ },
+ "nds": {
+ "name": "baixo alemão"
+ },
+ "nds-NL": {
+ "name": "baixo saxão"
+ },
+ "dsb": {
+ "name": "baixo sorábio"
+ },
+ "bm": {
+ "name": "bambara"
+ },
+ "bas": {
+ "name": "basa"
+ },
+ "eu": {
+ "name": "basco"
+ },
+ "bem": {
+ "name": "bemba"
+ },
+ "bez": {
+ "name": "bena"
+ },
+ "bn": {
+ "name": "bengali"
+ },
+ "be": {
+ "name": "bielorrusso"
+ },
+ "my": {
+ "name": "birmanês"
+ },
+ "brx": {
+ "name": "bodo"
+ },
+ "nb": {
+ "name": "bokmål norueguês"
+ },
+ "bs": {
+ "name": "bósnio"
+ },
+ "br": {
+ "name": "bretão"
+ },
+ "bg": {
+ "name": "búlgaro"
+ },
+ "kn": {
+ "name": "canarês"
+ },
+ "yue": {
+ "name": "cantonês"
+ },
+ "ca": {
+ "name": "catalão"
+ },
+ "ks": {
+ "name": "caxemira"
+ },
+ "kk": {
+ "name": "cazaque"
+ },
+ "ce": {
+ "name": "checheno"
+ },
+ "chr": {
+ "name": "cherokee"
+ },
+ "cgg": {
+ "name": "chiga"
+ },
+ "zh": {
+ "name": "chinês"
+ },
+ "zh-Hans": {
+ "name": "chinês simplificado"
+ },
+ "zh-Hant": {
+ "name": "chinês tradicional"
+ },
+ "si": {
+ "name": "cingalês"
+ },
+ "kok": {
+ "name": "concani"
+ },
+ "ko": {
+ "name": "coreano"
+ },
+ "kw": {
+ "name": "córnico"
+ },
+ "hr": {
+ "name": "croata"
+ },
+ "da": {
+ "name": "dinamarquês"
+ },
+ "dua": {
+ "name": "duala"
+ },
+ "dz": {
+ "name": "dzonga"
+ },
+ "ebu": {
+ "name": "embu"
+ },
+ "cu": {
+ "name": "eslavo eclesiástico"
+ },
+ "sk": {
+ "name": "eslovaco"
+ },
+ "sl": {
+ "name": "esloveno"
+ },
+ "es": {
+ "name": "espanhol"
+ },
+ "es-MX": {
+ "name": "espanhol (México)"
+ },
+ "eo": {
+ "name": "esperanto"
+ },
+ "et": {
+ "name": "estoniano"
+ },
+ "ee": {
+ "name": "eve"
+ },
+ "ewo": {
+ "name": "ewondo"
+ },
+ "fo": {
+ "name": "feroês"
+ },
+ "fil": {
+ "name": "filipino"
+ },
+ "fi": {
+ "name": "finlandês"
+ },
+ "nl-BE": {
+ "name": "flamengo"
+ },
+ "fr": {
+ "name": "francês"
+ },
+ "fr-CA": {
+ "name": "francês (Canadá)"
+ },
+ "fr-CH": {
+ "name": "francês (Suíça)"
+ },
+ "fy": {
+ "name": "frísio ocidental"
+ },
+ "fur": {
+ "name": "friulano"
+ },
+ "ff": {
+ "name": "fula"
+ },
+ "gd": {
+ "name": "gaélico escocês"
+ },
+ "gl": {
+ "name": "galego"
+ },
+ "cy": {
+ "name": "galês"
+ },
+ "ka": {
+ "name": "georgiano"
+ },
+ "el": {
+ "name": "grego"
+ },
+ "kl": {
+ "name": "groenlandês"
+ },
+ "guz": {
+ "name": "gusii"
+ },
+ "gu": {
+ "name": "guzerate"
+ },
+ "ha": {
+ "name": "hauçá"
+ },
+ "haw": {
+ "name": "havaiano"
+ },
+ "he": {
+ "name": "hebraico"
+ },
+ "hi": {
+ "name": "híndi"
+ },
+ "nl": {
+ "name": "holandês"
+ },
+ "hu": {
+ "name": "húngaro"
+ },
+ "sah": {
+ "name": "iacuto"
+ },
+ "ig": {
+ "name": "ibo"
+ },
+ "yi": {
+ "name": "iídiche"
+ },
+ "id": {
+ "name": "indonésio"
+ },
+ "en": {
+ "name": "inglês"
+ },
+ "en-AU": {
+ "name": "inglês (Austrália)"
+ },
+ "en-CA": {
+ "name": "inglês (Canadá)"
+ },
+ "en-GB": {
+ "name": "inglês (Reino Unido)"
+ },
+ "yo": {
+ "name": "iorubá"
+ },
+ "ga": {
+ "name": "irlandês"
+ },
+ "is": {
+ "name": "islandês"
+ },
+ "it": {
+ "name": "italiano"
+ },
+ "ja": {
+ "name": "japonês"
+ },
+ "dyo": {
+ "name": "jola-fonyi"
+ },
+ "kea": {
+ "name": "kabuverdianu"
+ },
+ "kab": {
+ "name": "kabyle"
+ },
+ "kkj": {
+ "name": "kako"
+ },
+ "kln": {
+ "name": "kalenjin"
+ },
+ "kam": {
+ "name": "kamba"
+ },
+ "km": {
+ "name": "khmer"
+ },
+ "ksh": {
+ "name": "kölsch"
+ },
+ "khq": {
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "name": "koyraboro senni"
+ },
+ "nmg": {
+ "name": "kwasio"
+ },
+ "lkt": {
+ "name": "lacota"
+ },
+ "lag": {
+ "name": "langi"
+ },
+ "lo": {
+ "name": "laosiano"
+ },
+ "lv": {
+ "name": "letão"
+ },
+ "ln": {
+ "name": "lingala"
+ },
+ "lt": {
+ "name": "lituano"
+ },
+ "lu": {
+ "name": "luba-catanga"
+ },
+ "lg": {
+ "name": "luganda"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lrc": {
+ "name": "luri setentrional"
+ },
+ "xog": {
+ "name": "lusoga"
+ },
+ "lb": {
+ "name": "luxemburguês"
+ },
+ "luy": {
+ "name": "luyia"
+ },
+ "mk": {
+ "name": "macedônio"
+ },
+ "jmc": {
+ "name": "machame"
+ },
+ "kde": {
+ "name": "maconde"
+ },
+ "mgh": {
+ "name": "macua"
+ },
+ "ml": {
+ "name": "malaiala"
+ },
+ "ms": {
+ "name": "malaio"
+ },
+ "mg": {
+ "name": "malgaxe"
+ },
+ "mt": {
+ "name": "maltês"
+ },
+ "gv": {
+ "name": "manx"
+ },
+ "mr": {
+ "name": "marata"
+ },
+ "mas": {
+ "name": "massai"
+ },
+ "mzn": {
+ "name": "mazandarani"
+ },
+ "mer": {
+ "name": "meru"
+ },
+ "mgo": {
+ "name": "meta’"
+ },
+ "ro-MD": {
+ "name": "moldávio"
+ },
+ "mn": {
+ "name": "mongol"
+ },
+ "mfe": {
+ "name": "morisyen"
+ },
+ "mua": {
+ "name": "mundang"
+ },
+ "naq": {
+ "name": "nama"
+ },
+ "nd": {
+ "name": "ndebele do norte"
+ },
+ "ne": {
+ "name": "nepali"
+ },
+ "nnh": {
+ "name": "ngiemboon"
+ },
+ "jgo": {
+ "name": "nguemba"
+ },
+ "nus": {
+ "name": "nuer"
+ },
+ "nyn": {
+ "name": "nyankole"
+ },
+ "nn": {
+ "name": "nynorsk norueguês"
+ },
+ "or": {
+ "name": "oriya"
+ },
+ "om": {
+ "name": "oromo"
+ },
+ "os": {
+ "name": "osseto"
+ },
+ "pa": {
+ "name": "panjabi"
+ },
+ "ps": {
+ "name": "pashto"
+ },
+ "fa": {
+ "name": "persa"
+ },
+ "pl": {
+ "name": "polonês"
+ },
+ "pt": {
+ "name": "português"
+ },
+ "pt-PT": {
+ "name": "português (Portugal)"
+ },
+ "prg": {
+ "name": "prussiano"
+ },
+ "qu": {
+ "name": "quíchua"
+ },
+ "ki": {
+ "name": "quicuio"
+ },
+ "rw": {
+ "name": "quiniaruanda"
+ },
+ "ky": {
+ "name": "quirguiz"
+ },
+ "rm": {
+ "name": "romanche"
+ },
+ "rof": {
+ "name": "rombo"
+ },
+ "ro": {
+ "name": "romeno"
+ },
+ "rn": {
+ "name": "rundi"
+ },
+ "ru": {
+ "name": "russo"
+ },
+ "rwk": {
+ "name": "rwa"
+ },
+ "saq": {
+ "name": "samburu"
+ },
+ "smn": {
+ "name": "sami de Inari"
+ },
+ "se": {
+ "name": "sami setentrional"
+ },
+ "sg": {
+ "name": "sango"
+ },
+ "sbp": {
+ "name": "sangu"
+ },
+ "seh": {
+ "name": "sena"
+ },
+ "sr": {
+ "name": "sérvio"
+ },
+ "ksb": {
+ "name": "shambala"
+ },
+ "sn": {
+ "name": "shona"
+ },
+ "ii": {
+ "name": "sichuan yi"
+ },
+ "so": {
+ "name": "somali"
+ },
+ "ckb": {
+ "name": "sorâni curdo"
+ },
+ "sw": {
+ "name": "suaíli"
+ },
+ "sw-CD": {
+ "name": "suaíli do Congo"
+ },
+ "sv": {
+ "name": "sueco"
+ },
+ "shi": {
+ "name": "tachelhit"
+ },
+ "th": {
+ "name": "tailandês"
+ },
+ "dav": {
+ "name": "taita"
+ },
+ "tzm": {
+ "name": "tamazight do Atlas Central"
+ },
+ "zgh": {
+ "name": "tamazight marroquino padrão"
+ },
+ "ta": {
+ "name": "tâmil"
+ },
+ "twq": {
+ "name": "tasawaq"
+ },
+ "cs": {
+ "name": "tcheco"
+ },
+ "te": {
+ "name": "telugu"
+ },
+ "teo": {
+ "name": "teso"
+ },
+ "bo": {
+ "name": "tibetano"
+ },
+ "ti": {
+ "name": "tigrínio"
+ },
+ "to": {
+ "name": "tonganês"
+ },
+ "tr": {
+ "name": "turco"
+ },
+ "tk": {
+ "name": "turcomeno"
+ },
+ "uk": {
+ "name": "ucraniano"
+ },
+ "ug": {
+ "name": "uigur"
+ },
+ "ur": {
+ "name": "urdu"
+ },
+ "uz": {
+ "name": "usbeque"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vi": {
+ "name": "vietnamita"
+ },
+ "vo": {
+ "name": "volapuque"
+ },
+ "vun": {
+ "name": "vunjo"
+ },
+ "wae": {
+ "name": "walser"
+ },
+ "yav": {
+ "name": "yangben"
+ },
+ "dje": {
+ "name": "zarma"
+ },
+ "zu": {
+ "name": "zulu"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/qu.json b/vendor/commerceguys/intl/resources/language/qu.json
new file mode 100644
index 000000000..0e4cfe19f
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/qu.json
@@ -0,0 +1,632 @@
+{
+ "af": {
+ "name": "Afrikaans Simi"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "ak": {
+ "name": "Akan"
+ },
+ "sq": {
+ "name": "Albanes Simi"
+ },
+ "de": {
+ "name": "Aleman Simi"
+ },
+ "de-AT": {
+ "name": "Aleman Simi (Austria)"
+ },
+ "de-CH": {
+ "name": "Aleman Simi (Suiza)"
+ },
+ "gsw": {
+ "name": "Alsaciano Simi"
+ },
+ "hsb": {
+ "name": "Alto Sorbio Simi"
+ },
+ "am": {
+ "name": "Amarico Simi"
+ },
+ "ar": {
+ "name": "Arabe Simi"
+ },
+ "hy": {
+ "name": "Armenio Simi"
+ },
+ "as": {
+ "name": "Asames Simi"
+ },
+ "ast": {
+ "name": "Asturian"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "az": {
+ "name": "Azerbaiyano Simi"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "dsb": {
+ "name": "Bajo Sorbio Simi"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bn": {
+ "name": "Bangla Simi"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "be": {
+ "name": "Bielorruso Simi"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "bs": {
+ "name": "Bosnio Simi"
+ },
+ "br": {
+ "name": "Breton Simi"
+ },
+ "bg": {
+ "name": "Bulgaro Simi"
+ },
+ "my": {
+ "name": "Burmese"
+ },
+ "yue": {
+ "name": "Cantonese"
+ },
+ "ca": {
+ "name": "Catalan Simi"
+ },
+ "tzm": {
+ "name": "Central Atlas Tamazight"
+ },
+ "ckb": {
+ "name": "Chawpi Kurdo Simi"
+ },
+ "ce": {
+ "name": "Chechen"
+ },
+ "cs": {
+ "name": "Checo Simi"
+ },
+ "chr": {
+ "name": "Cheroqui Simi"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "se": {
+ "name": "Chincha Sami Simi"
+ },
+ "zh": {
+ "name": "Chino Simi"
+ },
+ "zh-Hans": {
+ "name": "Chino Simi (Hans)"
+ },
+ "zh-Hant": {
+ "name": "Chino Simi (Hant)"
+ },
+ "cu": {
+ "name": "Church Slavic"
+ },
+ "si": {
+ "name": "Cingales Simi"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "ko": {
+ "name": "Coreano Simi"
+ },
+ "kw": {
+ "name": "Cornish"
+ },
+ "hr": {
+ "name": "Croata Simi"
+ },
+ "da": {
+ "name": "Danes Simi"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "dz": {
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "sk": {
+ "name": "Eslovaco Simi"
+ },
+ "sl": {
+ "name": "Esloveno Simi"
+ },
+ "es": {
+ "name": "Español Simi"
+ },
+ "es-MX": {
+ "name": "Español Simi (México)"
+ },
+ "eo": {
+ "name": "Esperanto"
+ },
+ "et": {
+ "name": "Estonio Simi"
+ },
+ "eu": {
+ "name": "Euskera Simi"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fo": {
+ "name": "Feroes Simi"
+ },
+ "fil": {
+ "name": "Filipino Simi"
+ },
+ "fi": {
+ "name": "Fines Simi"
+ },
+ "fr": {
+ "name": "Frances Simi"
+ },
+ "fr-CA": {
+ "name": "Frances Simi (CA)"
+ },
+ "fr-CH": {
+ "name": "Frances Simi (Suiza)"
+ },
+ "fy": {
+ "name": "Frison Simi"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "ff": {
+ "name": "Fulah Simi"
+ },
+ "gd": {
+ "name": "Gaelico Escoces Simi"
+ },
+ "cy": {
+ "name": "Gales Simi"
+ },
+ "gl": {
+ "name": "Gallego Simi"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "ka": {
+ "name": "Georgiano Simi"
+ },
+ "el": {
+ "name": "Griego Simi"
+ },
+ "kl": {
+ "name": "Groenlandes Simi"
+ },
+ "gu": {
+ "name": "Gujarati Simi"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "ha": {
+ "name": "Hausa Simi"
+ },
+ "haw": {
+ "name": "Hawaiian"
+ },
+ "he": {
+ "name": "Hebreo Simi"
+ },
+ "hi": {
+ "name": "Hindi Simi"
+ },
+ "hu": {
+ "name": "Hungaro Simi"
+ },
+ "ig": {
+ "name": "Igbo Simi"
+ },
+ "id": {
+ "name": "Indonesio Simi"
+ },
+ "en": {
+ "name": "Ingles Simi"
+ },
+ "en-AU": {
+ "name": "Ingles Simi (Australia)"
+ },
+ "en-CA": {
+ "name": "Ingles Simi (CA)"
+ },
+ "en-GB": {
+ "name": "Ingles Simi (Reino Unido)"
+ },
+ "ga": {
+ "name": "Irlandes Simi"
+ },
+ "zu": {
+ "name": "Isizulu Simi"
+ },
+ "is": {
+ "name": "Islandes Simi"
+ },
+ "it": {
+ "name": "Italiano Simi"
+ },
+ "ja": {
+ "name": "Japones Simi"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabyle"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "kn": {
+ "name": "Kannada Simi"
+ },
+ "ks": {
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "name": "Kazajo Simi"
+ },
+ "km": {
+ "name": "Khmer Simi"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "rw": {
+ "name": "Kinyarwanda Simi"
+ },
+ "ky": {
+ "name": "Kirghiz Simi"
+ },
+ "kok": {
+ "name": "Konkani Simi"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "Lao Simi"
+ },
+ "lv": {
+ "name": "Leton Simi"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "lt": {
+ "name": "Lituano Simi"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "Luxemburgues Simi"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "mk": {
+ "name": "Macedonio Simi"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "mg": {
+ "name": "Malagasy"
+ },
+ "ml": {
+ "name": "Malayalam Simi"
+ },
+ "ms": {
+ "name": "Malayo Simi"
+ },
+ "mt": {
+ "name": "Maltes Simi"
+ },
+ "gv": {
+ "name": "Manx"
+ },
+ "mr": {
+ "name": "Marathi Simi"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "mn": {
+ "name": "Mongol Simi"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nds-NL": {
+ "name": "nds (Países Bajos)"
+ },
+ "nl": {
+ "name": "Neerlandes Simi"
+ },
+ "nl-BE": {
+ "name": "Neerlandes Simi (Bélgica)"
+ },
+ "ne": {
+ "name": "Nepali Simi"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "nd": {
+ "name": "North Ndebele"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "nb": {
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "or": {
+ "name": "Odia Simi"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "os": {
+ "name": "Ossetic"
+ },
+ "ps": {
+ "name": "Pashto Simi"
+ },
+ "fa": {
+ "name": "Persa Simi"
+ },
+ "pl": {
+ "name": "Polaco Simi"
+ },
+ "pt": {
+ "name": "Portugues Simi"
+ },
+ "pt-PT": {
+ "name": "Portugues Simi (Portugal)"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "pa": {
+ "name": "Punyabi Simi"
+ },
+ "rm": {
+ "name": "Romanche Simi"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "ro": {
+ "name": "Rumano Simi"
+ },
+ "ro-MD": {
+ "name": "Rumano Simi (Moldova)"
+ },
+ "qu": {
+ "name": "Runasimi"
+ },
+ "rn": {
+ "name": "Rundi"
+ },
+ "ru": {
+ "name": "Ruso Simi"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "sah": {
+ "name": "Sakha Simi"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "smn": {
+ "name": "Sami Inari Simi"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "sr": {
+ "name": "Serbio Simi"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "so": {
+ "name": "Somali"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw": {
+ "name": "Suajili Simi"
+ },
+ "sw-CD": {
+ "name": "Suajili Simi (Congo [RDC])"
+ },
+ "sv": {
+ "name": "Sueco Simi"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "th": {
+ "name": "Tailandes Simi"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "ta": {
+ "name": "Tamil Simi"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "te": {
+ "name": "Telugu Simi"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "bo": {
+ "name": "Tibetano Simi"
+ },
+ "ti": {
+ "name": "Tigriña Simi"
+ },
+ "to": {
+ "name": "Tongan"
+ },
+ "tr": {
+ "name": "Turco Simi"
+ },
+ "tk": {
+ "name": "Turcomano Simi"
+ },
+ "uk": {
+ "name": "Ucraniano Simi"
+ },
+ "ug": {
+ "name": "Uigur Simi"
+ },
+ "ur": {
+ "name": "Urdu Simi"
+ },
+ "uz": {
+ "name": "Uzbeko Simi"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vi": {
+ "name": "Vietnamita Simi"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "ii": {
+ "name": "Yi Simi"
+ },
+ "yi": {
+ "name": "Yiddish"
+ },
+ "yo": {
+ "name": "Yoruba Simi"
+ },
+ "dje": {
+ "name": "Zarma"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/rm.json b/vendor/commerceguys/intl/resources/language/rm.json
new file mode 100644
index 000000000..d1366d1f2
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/rm.json
@@ -0,0 +1,635 @@
+{
+ "af": {
+ "name": "afrikaans"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "ak": {
+ "name": "akan"
+ },
+ "sq": {
+ "name": "albanais"
+ },
+ "am": {
+ "name": "amaric"
+ },
+ "ar": {
+ "name": "arab"
+ },
+ "hy": {
+ "name": "armen"
+ },
+ "az": {
+ "name": "aserbeidschanic"
+ },
+ "as": {
+ "name": "assami"
+ },
+ "ast": {
+ "name": "asturian"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "hsb": {
+ "name": "aut sorb"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "bambara"
+ },
+ "bas": {
+ "name": "basaa"
+ },
+ "eu": {
+ "name": "basc"
+ },
+ "dsb": {
+ "name": "bass sorb"
+ },
+ "nds": {
+ "name": "bass tudestg"
+ },
+ "nds-NL": {
+ "name": "bass tudestg (Pajais Bass)"
+ },
+ "bem": {
+ "name": "bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "bn": {
+ "name": "bengal"
+ },
+ "be": {
+ "name": "bieloruss"
+ },
+ "my": {
+ "name": "birman"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "bs": {
+ "name": "bosniac"
+ },
+ "br": {
+ "name": "breton"
+ },
+ "bg": {
+ "name": "bulgar"
+ },
+ "km": {
+ "name": "cambodschan"
+ },
+ "yue": {
+ "name": "Cantonese"
+ },
+ "kk": {
+ "name": "casac"
+ },
+ "ca": {
+ "name": "catalan"
+ },
+ "tzm": {
+ "name": "Central Atlas Tamazight"
+ },
+ "ckb": {
+ "name": "Central Kurdish"
+ },
+ "chr": {
+ "name": "cherokee"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "zh": {
+ "name": "chinais"
+ },
+ "zh-Hans": {
+ "name": "chinais simplifitgà"
+ },
+ "zh-Hant": {
+ "name": "chinais tradiziunal"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "ko": {
+ "name": "corean"
+ },
+ "kw": {
+ "name": "cornic"
+ },
+ "hr": {
+ "name": "croat"
+ },
+ "da": {
+ "name": "danais"
+ },
+ "dua": {
+ "name": "duala"
+ },
+ "dz": {
+ "name": "dzongkha"
+ },
+ "he": {
+ "name": "ebraic"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "en": {
+ "name": "englais"
+ },
+ "en-AU": {
+ "name": "englais australian"
+ },
+ "en-GB": {
+ "name": "englais britannic"
+ },
+ "en-CA": {
+ "name": "englais canadais"
+ },
+ "eo": {
+ "name": "esperanto"
+ },
+ "et": {
+ "name": "eston"
+ },
+ "ee": {
+ "name": "ewe"
+ },
+ "ewo": {
+ "name": "ewondo"
+ },
+ "fo": {
+ "name": "ferrais"
+ },
+ "fil": {
+ "name": "filippino"
+ },
+ "fi": {
+ "name": "finlandais"
+ },
+ "nl-BE": {
+ "name": "flam"
+ },
+ "fr": {
+ "name": "franzos"
+ },
+ "fr-CA": {
+ "name": "franzos canadais"
+ },
+ "fr-CH": {
+ "name": "franzos svizzer"
+ },
+ "fy": {
+ "name": "fris"
+ },
+ "fur": {
+ "name": "friulan"
+ },
+ "ff": {
+ "name": "fulah"
+ },
+ "gd": {
+ "name": "gaelic scot"
+ },
+ "gl": {
+ "name": "galician"
+ },
+ "lg": {
+ "name": "ganda"
+ },
+ "ka": {
+ "name": "georgian"
+ },
+ "ja": {
+ "name": "giapunais"
+ },
+ "el": {
+ "name": "grec"
+ },
+ "kl": {
+ "name": "grönlandais"
+ },
+ "gu": {
+ "name": "gujarati"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "ha": {
+ "name": "haussa"
+ },
+ "haw": {
+ "name": "hawaian"
+ },
+ "hi": {
+ "name": "hindi"
+ },
+ "ig": {
+ "name": "igbo"
+ },
+ "id": {
+ "name": "indonais"
+ },
+ "ga": {
+ "name": "irlandais"
+ },
+ "is": {
+ "name": "islandais"
+ },
+ "sah": {
+ "name": "jakut"
+ },
+ "yi": {
+ "name": "jiddic"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "kabyle"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "kamba"
+ },
+ "kn": {
+ "name": "kannada"
+ },
+ "ks": {
+ "name": "kashmiri"
+ },
+ "ki": {
+ "name": "kikuyu"
+ },
+ "cy": {
+ "name": "kimric"
+ },
+ "rw": {
+ "name": "kinyarwanda"
+ },
+ "ky": {
+ "name": "kirghis"
+ },
+ "kok": {
+ "name": "konkani"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "laot"
+ },
+ "lv": {
+ "name": "letton"
+ },
+ "ln": {
+ "name": "lingala"
+ },
+ "lt": {
+ "name": "lituan"
+ },
+ "lu": {
+ "name": "luba-katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "luxemburgais"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "mk": {
+ "name": "macedon"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "mg": {
+ "name": "malagassi"
+ },
+ "ms": {
+ "name": "malaic"
+ },
+ "ml": {
+ "name": "malayalam"
+ },
+ "mt": {
+ "name": "maltais"
+ },
+ "gv": {
+ "name": "manx"
+ },
+ "mr": {
+ "name": "marathi"
+ },
+ "mas": {
+ "name": "masai"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "ro-MD": {
+ "name": "moldav"
+ },
+ "mn": {
+ "name": "mongolic"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nd": {
+ "name": "ndebele dal nord"
+ },
+ "ne": {
+ "name": "nepalais"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "nb": {
+ "name": "norvegais bokmål"
+ },
+ "nn": {
+ "name": "norvegiais nynorsk"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "nyankole"
+ },
+ "nl": {
+ "name": "ollandais"
+ },
+ "or": {
+ "name": "oriya"
+ },
+ "om": {
+ "name": "oromo"
+ },
+ "os": {
+ "name": "ossetic"
+ },
+ "ps": {
+ "name": "paschto"
+ },
+ "fa": {
+ "name": "persian"
+ },
+ "pl": {
+ "name": "polac"
+ },
+ "pt": {
+ "name": "portugais"
+ },
+ "pt-PT": {
+ "name": "portugais iberian"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "pa": {
+ "name": "punjabi"
+ },
+ "qu": {
+ "name": "quechua"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "rm": {
+ "name": "rumantsch"
+ },
+ "ro": {
+ "name": "rumen"
+ },
+ "rn": {
+ "name": "rundi"
+ },
+ "ru": {
+ "name": "russ"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "se": {
+ "name": "sami dal nord"
+ },
+ "smn": {
+ "name": "sami inari"
+ },
+ "sg": {
+ "name": "sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "sr": {
+ "name": "serb"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "shona"
+ },
+ "ii": {
+ "name": "sichuan yi"
+ },
+ "si": {
+ "name": "singalais"
+ },
+ "cu": {
+ "name": "slav da baselgia"
+ },
+ "sk": {
+ "name": "slovac"
+ },
+ "sl": {
+ "name": "sloven"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "so": {
+ "name": "somali"
+ },
+ "es": {
+ "name": "spagnol"
+ },
+ "es-MX": {
+ "name": "spagnol (Mexico)"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw": {
+ "name": "suahili"
+ },
+ "sw-CD": {
+ "name": "suahili (Republica Democratica dal Congo)"
+ },
+ "sv": {
+ "name": "svedais"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "th": {
+ "name": "tailandais"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "it": {
+ "name": "talian"
+ },
+ "ta": {
+ "name": "tamil"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "te": {
+ "name": "telugu"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "bo": {
+ "name": "tibetan"
+ },
+ "ti": {
+ "name": "tigrinya"
+ },
+ "tr": {
+ "name": "tirc"
+ },
+ "to": {
+ "name": "tonga"
+ },
+ "cs": {
+ "name": "tschec"
+ },
+ "ce": {
+ "name": "tschetschen"
+ },
+ "de": {
+ "name": "tudestg"
+ },
+ "de-CH": {
+ "name": "tudestg (Svizra)"
+ },
+ "de-AT": {
+ "name": "tudestg austriac"
+ },
+ "gsw": {
+ "name": "tudestg svizzer"
+ },
+ "tk": {
+ "name": "turkmen"
+ },
+ "uk": {
+ "name": "ucranais"
+ },
+ "ug": {
+ "name": "uiguric"
+ },
+ "hu": {
+ "name": "ungarais"
+ },
+ "ur": {
+ "name": "urdu"
+ },
+ "uz": {
+ "name": "usbec"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vi": {
+ "name": "vietnamais"
+ },
+ "vo": {
+ "name": "volapuk"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "yo": {
+ "name": "yoruba"
+ },
+ "dje": {
+ "name": "Zarma"
+ },
+ "zu": {
+ "name": "zulu"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/rn.json b/vendor/commerceguys/intl/resources/language/rn.json
new file mode 100644
index 000000000..534927a56
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/rn.json
@@ -0,0 +1,632 @@
+{
+ "af": {
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "sq": {
+ "name": "Albanian"
+ },
+ "hy": {
+ "name": "Armenian"
+ },
+ "as": {
+ "name": "Assamese"
+ },
+ "ast": {
+ "name": "Asturian"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "az": {
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "eu": {
+ "name": "Basque"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "bs": {
+ "name": "Bosnian"
+ },
+ "br": {
+ "name": "Breton"
+ },
+ "yue": {
+ "name": "Cantonese"
+ },
+ "ca": {
+ "name": "Catalan"
+ },
+ "tzm": {
+ "name": "Central Atlas Tamazight"
+ },
+ "ckb": {
+ "name": "Central Kurdish"
+ },
+ "ce": {
+ "name": "Chechen"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "cu": {
+ "name": "Church Slavic"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "kw": {
+ "name": "Cornish"
+ },
+ "hr": {
+ "name": "Croatian"
+ },
+ "da": {
+ "name": "Danish"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "dz": {
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "eo": {
+ "name": "Esperanto"
+ },
+ "et": {
+ "name": "Estonian"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fo": {
+ "name": "Faroese"
+ },
+ "fil": {
+ "name": "Filipino"
+ },
+ "fi": {
+ "name": "Finnish"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "gl": {
+ "name": "Galician"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "ka": {
+ "name": "Georgian"
+ },
+ "gu": {
+ "name": "Gujarati"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "haw": {
+ "name": "Hawaiian"
+ },
+ "he": {
+ "name": "Hebrew"
+ },
+ "ar": {
+ "name": "Icarabu"
+ },
+ "is": {
+ "name": "Icelandic"
+ },
+ "es": {
+ "name": "Icesipanyolo"
+ },
+ "es-MX": {
+ "name": "Icesipanyolo (Migizike)"
+ },
+ "en": {
+ "name": "Icongereza"
+ },
+ "en-CA": {
+ "name": "Icongereza (Kanada)"
+ },
+ "en-AU": {
+ "name": "Icongereza (Ositaraliya)"
+ },
+ "en-GB": {
+ "name": "Icongereza (Ubwongereza)"
+ },
+ "cs": {
+ "name": "Igiceke"
+ },
+ "fr": {
+ "name": "Igifaransa"
+ },
+ "fr-CA": {
+ "name": "Igifaransa (Kanada)"
+ },
+ "fr-CH": {
+ "name": "Igifaransa (Ubusuwisi)"
+ },
+ "ha": {
+ "name": "Igihawusa"
+ },
+ "hi": {
+ "name": "Igihindi"
+ },
+ "nl": {
+ "name": "Igiholandi"
+ },
+ "nl-BE": {
+ "name": "Igiholandi (Ububiligi)"
+ },
+ "km": {
+ "name": "Igikambodiya"
+ },
+ "ak": {
+ "name": "Igikani"
+ },
+ "fa": {
+ "name": "Igiperisi"
+ },
+ "pt": {
+ "name": "Igiporutugari"
+ },
+ "pt-PT": {
+ "name": "Igiporutugari (Porutugali)"
+ },
+ "pa": {
+ "name": "Igipunjabi"
+ },
+ "zh": {
+ "name": "Igishinwa"
+ },
+ "zh-Hans": {
+ "name": "Igishinwa (Hans)"
+ },
+ "zh-Hant": {
+ "name": "Igishinwa (Hant)"
+ },
+ "so": {
+ "name": "Igisomali"
+ },
+ "sv": {
+ "name": "Igisuweduwa"
+ },
+ "it": {
+ "name": "Igitaliyani"
+ },
+ "ta": {
+ "name": "Igitamili"
+ },
+ "tr": {
+ "name": "Igiturukiya"
+ },
+ "be": {
+ "name": "Ikibelarusiya"
+ },
+ "bn": {
+ "name": "Ikibengali"
+ },
+ "de": {
+ "name": "Ikidage"
+ },
+ "de-AT": {
+ "name": "Ikidage (Otirishe)"
+ },
+ "de-CH": {
+ "name": "Ikidage (Ubusuwisi)"
+ },
+ "el": {
+ "name": "Ikigereki"
+ },
+ "ig": {
+ "name": "Ikigubo"
+ },
+ "am": {
+ "name": "Ikimuhariki"
+ },
+ "ne": {
+ "name": "Ikinepali"
+ },
+ "my": {
+ "name": "Ikinyabirimaniya"
+ },
+ "bg": {
+ "name": "Ikinyabuligariya"
+ },
+ "hu": {
+ "name": "Ikinyahongiriya"
+ },
+ "ko": {
+ "name": "Ikinyakoreya"
+ },
+ "ms": {
+ "name": "Ikinyamaleziya"
+ },
+ "pl": {
+ "name": "Ikinyapolonye"
+ },
+ "ro": {
+ "name": "Ikinyarumaniya"
+ },
+ "ro-MD": {
+ "name": "Ikinyarumaniya (Moludavi)"
+ },
+ "rw": {
+ "name": "Ikinyarwanda"
+ },
+ "th": {
+ "name": "Ikinyatayilandi"
+ },
+ "vi": {
+ "name": "Ikinyaviyetinamu"
+ },
+ "uk": {
+ "name": "Ikinyayukereni"
+ },
+ "id": {
+ "name": "Ikinyendoziya"
+ },
+ "rn": {
+ "name": "Ikirundi"
+ },
+ "ru": {
+ "name": "Ikirusiya"
+ },
+ "ja": {
+ "name": "Ikiyapani"
+ },
+ "yo": {
+ "name": "Ikiyoruba"
+ },
+ "zu": {
+ "name": "Ikizulu"
+ },
+ "smn": {
+ "name": "Inari Sami"
+ },
+ "ur": {
+ "name": "Inyeyurudu"
+ },
+ "ga": {
+ "name": "Irish"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabyle"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kl": {
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "kn": {
+ "name": "Kannada"
+ },
+ "ks": {
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "name": "Kazakh"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "ky": {
+ "name": "Kyrgyz"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "Lao"
+ },
+ "lv": {
+ "name": "Latvian"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "lt": {
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "mk": {
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "mg": {
+ "name": "Malagasy"
+ },
+ "ml": {
+ "name": "Malayalam"
+ },
+ "mt": {
+ "name": "Maltese"
+ },
+ "gv": {
+ "name": "Manx"
+ },
+ "mr": {
+ "name": "Marathi"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "mn": {
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nds-NL": {
+ "name": "nds (Ubuholandi)"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "nd": {
+ "name": "North Ndebele"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "se": {
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "or": {
+ "name": "Odia"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "os": {
+ "name": "Ossetic"
+ },
+ "ps": {
+ "name": "Pashto"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "qu": {
+ "name": "Quechua"
+ },
+ "rm": {
+ "name": "Romansh"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "sah": {
+ "name": "Sakha"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "gd": {
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "sr": {
+ "name": "Serbian"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "si": {
+ "name": "Sinhala"
+ },
+ "sk": {
+ "name": "Slovak"
+ },
+ "sl": {
+ "name": "Slovenian"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw-CD": {
+ "name": "sw (Repubulika Iharanira Demokarasi ya Kongo)"
+ },
+ "sw": {
+ "name": "Swahili"
+ },
+ "gsw": {
+ "name": "Swiss German"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "te": {
+ "name": "Telugu"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "bo": {
+ "name": "Tibetan"
+ },
+ "ti": {
+ "name": "Tigrinya"
+ },
+ "to": {
+ "name": "Tongan"
+ },
+ "tk": {
+ "name": "Turkmen"
+ },
+ "hsb": {
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "name": "Uyghur"
+ },
+ "uz": {
+ "name": "Uzbek"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "cy": {
+ "name": "Welsh"
+ },
+ "fy": {
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "yi": {
+ "name": "Yiddish"
+ },
+ "dje": {
+ "name": "Zarma"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/ro-MD.json b/vendor/commerceguys/intl/resources/language/ro-MD.json
new file mode 100644
index 000000000..afb18b5ac
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/ro-MD.json
@@ -0,0 +1,635 @@
+{
+ "af": {
+ "name": "afrikaans"
+ },
+ "agq": {
+ "name": "aghem"
+ },
+ "ak": {
+ "name": "akan"
+ },
+ "sq": {
+ "name": "albaneză"
+ },
+ "am": {
+ "name": "amharică"
+ },
+ "ar": {
+ "name": "arabă"
+ },
+ "hy": {
+ "name": "armeană"
+ },
+ "as": {
+ "name": "asameză"
+ },
+ "ast": {
+ "name": "asturiană"
+ },
+ "asa": {
+ "name": "asu"
+ },
+ "az": {
+ "name": "azeră"
+ },
+ "ksf": {
+ "name": "bafia"
+ },
+ "bm": {
+ "name": "bambara"
+ },
+ "bas": {
+ "name": "basaa"
+ },
+ "eu": {
+ "name": "bască"
+ },
+ "bem": {
+ "name": "bemba"
+ },
+ "bez": {
+ "name": "bena"
+ },
+ "bn": {
+ "name": "bengaleză"
+ },
+ "be": {
+ "name": "bielorusă"
+ },
+ "my": {
+ "name": "birmană"
+ },
+ "brx": {
+ "name": "bodo"
+ },
+ "bs": {
+ "name": "bosniacă"
+ },
+ "br": {
+ "name": "bretonă"
+ },
+ "bg": {
+ "name": "bulgară"
+ },
+ "yue": {
+ "name": "cantoneză"
+ },
+ "ks": {
+ "name": "cașmiră"
+ },
+ "ca": {
+ "name": "catalană"
+ },
+ "ce": {
+ "name": "cecenă"
+ },
+ "cs": {
+ "name": "cehă"
+ },
+ "chr": {
+ "name": "cherokee"
+ },
+ "cgg": {
+ "name": "chiga"
+ },
+ "zh": {
+ "name": "chineză"
+ },
+ "zh-Hans": {
+ "name": "chineză (simplificată)"
+ },
+ "zh-Hant": {
+ "name": "chineză tradițională"
+ },
+ "ko": {
+ "name": "coreeană"
+ },
+ "kw": {
+ "name": "cornică"
+ },
+ "hr": {
+ "name": "croată"
+ },
+ "da": {
+ "name": "daneză"
+ },
+ "dua": {
+ "name": "duala"
+ },
+ "dz": {
+ "name": "dzongkha"
+ },
+ "he": {
+ "name": "ebraică"
+ },
+ "ebu": {
+ "name": "embu"
+ },
+ "en": {
+ "name": "engleză"
+ },
+ "en-AU": {
+ "name": "engleză (Australia)"
+ },
+ "en-CA": {
+ "name": "engleză (Canada)"
+ },
+ "en-GB": {
+ "name": "engleză (Regatul Unit)"
+ },
+ "eo": {
+ "name": "esperanto"
+ },
+ "et": {
+ "name": "estonă"
+ },
+ "ee": {
+ "name": "ewe"
+ },
+ "ewo": {
+ "name": "ewondo"
+ },
+ "fo": {
+ "name": "faroeză"
+ },
+ "fil": {
+ "name": "filipineză"
+ },
+ "fi": {
+ "name": "finlandeză"
+ },
+ "nl-BE": {
+ "name": "flamandă"
+ },
+ "fr": {
+ "name": "franceză"
+ },
+ "fr-CA": {
+ "name": "franceză (Canada)"
+ },
+ "fr-CH": {
+ "name": "franceză (Elveția)"
+ },
+ "fur": {
+ "name": "friulană"
+ },
+ "fy": {
+ "name": "frizonă occidentală"
+ },
+ "ff": {
+ "name": "fulah"
+ },
+ "gd": {
+ "name": "gaelică scoțiană"
+ },
+ "cy": {
+ "name": "galeză"
+ },
+ "gl": {
+ "name": "galiciană"
+ },
+ "lg": {
+ "name": "ganda"
+ },
+ "ka": {
+ "name": "georgiană"
+ },
+ "nds": {
+ "name": "germana de jos"
+ },
+ "de": {
+ "name": "germană"
+ },
+ "de-AT": {
+ "name": "germană (Austria)"
+ },
+ "gsw": {
+ "name": "germană (Elveția)"
+ },
+ "de-CH": {
+ "name": "germană standard (Elveția)"
+ },
+ "el": {
+ "name": "greacă"
+ },
+ "gu": {
+ "name": "gujarati"
+ },
+ "guz": {
+ "name": "gusii"
+ },
+ "ha": {
+ "name": "hausa"
+ },
+ "haw": {
+ "name": "hawaiiană"
+ },
+ "hi": {
+ "name": "hindi"
+ },
+ "yi": {
+ "name": "idiș"
+ },
+ "ig": {
+ "name": "igbo"
+ },
+ "smn": {
+ "name": "inari sami"
+ },
+ "id": {
+ "name": "indoneziană"
+ },
+ "ga": {
+ "name": "irlandeză"
+ },
+ "is": {
+ "name": "islandeză"
+ },
+ "it": {
+ "name": "italiană"
+ },
+ "ja": {
+ "name": "japoneză"
+ },
+ "dyo": {
+ "name": "jola-fonyi"
+ },
+ "kea": {
+ "name": "kabuverdianu"
+ },
+ "kab": {
+ "name": "kabyle"
+ },
+ "kkj": {
+ "name": "kako"
+ },
+ "kl": {
+ "name": "kalaallisut"
+ },
+ "kln": {
+ "name": "kalenjin"
+ },
+ "kam": {
+ "name": "kamba"
+ },
+ "kn": {
+ "name": "kannada"
+ },
+ "kk": {
+ "name": "kazahă"
+ },
+ "ky": {
+ "name": "kârgâză"
+ },
+ "km": {
+ "name": "khmeră"
+ },
+ "ki": {
+ "name": "kikuyu"
+ },
+ "rw": {
+ "name": "kinyarwanda"
+ },
+ "rn": {
+ "name": "kirundi"
+ },
+ "ksh": {
+ "name": "kölsch"
+ },
+ "kok": {
+ "name": "konkani"
+ },
+ "khq": {
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "name": "koyraboro Senni"
+ },
+ "ckb": {
+ "name": "kurdă centrală"
+ },
+ "nmg": {
+ "name": "kwasio"
+ },
+ "lkt": {
+ "name": "lakota"
+ },
+ "lag": {
+ "name": "langi"
+ },
+ "lo": {
+ "name": "laoțiană"
+ },
+ "lv": {
+ "name": "letonă"
+ },
+ "ln": {
+ "name": "lingala"
+ },
+ "lt": {
+ "name": "lituaniană"
+ },
+ "lu": {
+ "name": "luba-katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lrc": {
+ "name": "luri de nord"
+ },
+ "lb": {
+ "name": "luxemburgheză"
+ },
+ "luy": {
+ "name": "luyia"
+ },
+ "mk": {
+ "name": "macedoneană"
+ },
+ "jmc": {
+ "name": "machame"
+ },
+ "hu": {
+ "name": "maghiară"
+ },
+ "mgh": {
+ "name": "makhuwa-meetto"
+ },
+ "kde": {
+ "name": "makonde"
+ },
+ "ms": {
+ "name": "malaeză"
+ },
+ "ml": {
+ "name": "malayalam"
+ },
+ "mg": {
+ "name": "malgașă"
+ },
+ "mt": {
+ "name": "malteză"
+ },
+ "gv": {
+ "name": "manx"
+ },
+ "mr": {
+ "name": "marathi"
+ },
+ "mas": {
+ "name": "masai"
+ },
+ "mzn": {
+ "name": "mazanderani"
+ },
+ "mer": {
+ "name": "meru"
+ },
+ "mgo": {
+ "name": "meta’"
+ },
+ "ro-MD": {
+ "name": "moldovenească"
+ },
+ "mn": {
+ "name": "mongolă"
+ },
+ "mfe": {
+ "name": "morisyen"
+ },
+ "mua": {
+ "name": "mundang"
+ },
+ "naq": {
+ "name": "nama"
+ },
+ "nd": {
+ "name": "ndebele de nord"
+ },
+ "nl": {
+ "name": "neerlandeză"
+ },
+ "ne": {
+ "name": "nepaleză"
+ },
+ "nnh": {
+ "name": "ngiemboon"
+ },
+ "jgo": {
+ "name": "ngomba"
+ },
+ "nb": {
+ "name": "norvegiană bokmål"
+ },
+ "nn": {
+ "name": "norvegiană nynorsk"
+ },
+ "nus": {
+ "name": "nuer"
+ },
+ "nyn": {
+ "name": "nyankole"
+ },
+ "or": {
+ "name": "oriya"
+ },
+ "om": {
+ "name": "oromo"
+ },
+ "os": {
+ "name": "osetă"
+ },
+ "ps": {
+ "name": "paștună"
+ },
+ "fa": {
+ "name": "persană"
+ },
+ "pl": {
+ "name": "poloneză"
+ },
+ "pt": {
+ "name": "portugheză"
+ },
+ "pt-PT": {
+ "name": "portugheză (Portugalia)"
+ },
+ "prg": {
+ "name": "prusacă"
+ },
+ "pa": {
+ "name": "punjabi"
+ },
+ "qu": {
+ "name": "quechua"
+ },
+ "rm": {
+ "name": "romanșă"
+ },
+ "ro": {
+ "name": "română"
+ },
+ "rof": {
+ "name": "rombo"
+ },
+ "ru": {
+ "name": "rusă"
+ },
+ "rwk": {
+ "name": "rwa"
+ },
+ "sah": {
+ "name": "sakha"
+ },
+ "saq": {
+ "name": "samburu"
+ },
+ "se": {
+ "name": "sami de nord"
+ },
+ "sg": {
+ "name": "sango"
+ },
+ "sbp": {
+ "name": "sangu"
+ },
+ "nds-NL": {
+ "name": "saxona de jos"
+ },
+ "sr": {
+ "name": "sârbă"
+ },
+ "seh": {
+ "name": "sena"
+ },
+ "ksb": {
+ "name": "shambala"
+ },
+ "sn": {
+ "name": "shona"
+ },
+ "ii": {
+ "name": "sichuan yi"
+ },
+ "si": {
+ "name": "singaleză"
+ },
+ "cu": {
+ "name": "slavonă"
+ },
+ "sk": {
+ "name": "slovacă"
+ },
+ "sl": {
+ "name": "slovenă"
+ },
+ "xog": {
+ "name": "soga"
+ },
+ "so": {
+ "name": "somaleză"
+ },
+ "dsb": {
+ "name": "sorabă de jos"
+ },
+ "hsb": {
+ "name": "sorabă de sus"
+ },
+ "es": {
+ "name": "spaniolă"
+ },
+ "es-MX": {
+ "name": "spaniolă (Mexic)"
+ },
+ "sv": {
+ "name": "suedeză"
+ },
+ "sw": {
+ "name": "swahili"
+ },
+ "sw-CD": {
+ "name": "swahili (R. D. Congo)"
+ },
+ "shi": {
+ "name": "tachelhit"
+ },
+ "dav": {
+ "name": "taita"
+ },
+ "tzm": {
+ "name": "tamazight central marocană"
+ },
+ "zgh": {
+ "name": "tamazight standard marocană"
+ },
+ "ta": {
+ "name": "tamilă"
+ },
+ "twq": {
+ "name": "tasawaq"
+ },
+ "te": {
+ "name": "telugu"
+ },
+ "teo": {
+ "name": "teso"
+ },
+ "th": {
+ "name": "thailandeză"
+ },
+ "bo": {
+ "name": "tibetană"
+ },
+ "ti": {
+ "name": "tigrină"
+ },
+ "to": {
+ "name": "tongană"
+ },
+ "tr": {
+ "name": "turcă"
+ },
+ "tk": {
+ "name": "turkmenă"
+ },
+ "uk": {
+ "name": "ucraineană"
+ },
+ "ug": {
+ "name": "uigură"
+ },
+ "ur": {
+ "name": "urdu"
+ },
+ "uz": {
+ "name": "uzbecă"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vi": {
+ "name": "vietnameză"
+ },
+ "vo": {
+ "name": "volapuk"
+ },
+ "vun": {
+ "name": "vunjo"
+ },
+ "wae": {
+ "name": "walser"
+ },
+ "yav": {
+ "name": "yangben"
+ },
+ "yo": {
+ "name": "yoruba"
+ },
+ "dje": {
+ "name": "zarma"
+ },
+ "zu": {
+ "name": "zulu"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/ro.json b/vendor/commerceguys/intl/resources/language/ro.json
new file mode 100644
index 000000000..725e07267
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/ro.json
@@ -0,0 +1,635 @@
+{
+ "af": {
+ "name": "afrikaans"
+ },
+ "agq": {
+ "name": "aghem"
+ },
+ "ak": {
+ "name": "akan"
+ },
+ "sq": {
+ "name": "albaneză"
+ },
+ "am": {
+ "name": "amharică"
+ },
+ "ar": {
+ "name": "arabă"
+ },
+ "hy": {
+ "name": "armeană"
+ },
+ "as": {
+ "name": "asameză"
+ },
+ "ast": {
+ "name": "asturiană"
+ },
+ "asa": {
+ "name": "asu"
+ },
+ "az": {
+ "name": "azeră"
+ },
+ "ksf": {
+ "name": "bafia"
+ },
+ "bm": {
+ "name": "bambara"
+ },
+ "bas": {
+ "name": "basaa"
+ },
+ "eu": {
+ "name": "bască"
+ },
+ "bem": {
+ "name": "bemba"
+ },
+ "bez": {
+ "name": "bena"
+ },
+ "bn": {
+ "name": "bengaleză"
+ },
+ "be": {
+ "name": "bielorusă"
+ },
+ "my": {
+ "name": "birmană"
+ },
+ "brx": {
+ "name": "bodo"
+ },
+ "bs": {
+ "name": "bosniacă"
+ },
+ "br": {
+ "name": "bretonă"
+ },
+ "bg": {
+ "name": "bulgară"
+ },
+ "yue": {
+ "name": "cantoneză"
+ },
+ "ks": {
+ "name": "cașmiră"
+ },
+ "ca": {
+ "name": "catalană"
+ },
+ "ce": {
+ "name": "cecenă"
+ },
+ "cs": {
+ "name": "cehă"
+ },
+ "chr": {
+ "name": "cherokee"
+ },
+ "cgg": {
+ "name": "chiga"
+ },
+ "zh": {
+ "name": "chineză"
+ },
+ "zh-Hans": {
+ "name": "chineză (simplificată)"
+ },
+ "zh-Hant": {
+ "name": "chineză tradițională"
+ },
+ "ko": {
+ "name": "coreeană"
+ },
+ "kw": {
+ "name": "cornică"
+ },
+ "hr": {
+ "name": "croată"
+ },
+ "da": {
+ "name": "daneză"
+ },
+ "dua": {
+ "name": "duala"
+ },
+ "dz": {
+ "name": "dzongkha"
+ },
+ "he": {
+ "name": "ebraică"
+ },
+ "ebu": {
+ "name": "embu"
+ },
+ "en": {
+ "name": "engleză"
+ },
+ "en-AU": {
+ "name": "engleză (Australia)"
+ },
+ "en-CA": {
+ "name": "engleză (Canada)"
+ },
+ "en-GB": {
+ "name": "engleză (Regatul Unit)"
+ },
+ "eo": {
+ "name": "esperanto"
+ },
+ "et": {
+ "name": "estonă"
+ },
+ "ee": {
+ "name": "ewe"
+ },
+ "ewo": {
+ "name": "ewondo"
+ },
+ "fo": {
+ "name": "faroeză"
+ },
+ "fil": {
+ "name": "filipineză"
+ },
+ "fi": {
+ "name": "finlandeză"
+ },
+ "nl-BE": {
+ "name": "flamandă"
+ },
+ "fr": {
+ "name": "franceză"
+ },
+ "fr-CA": {
+ "name": "franceză (Canada)"
+ },
+ "fr-CH": {
+ "name": "franceză (Elveția)"
+ },
+ "fur": {
+ "name": "friulană"
+ },
+ "fy": {
+ "name": "frizonă occidentală"
+ },
+ "ff": {
+ "name": "fulah"
+ },
+ "gd": {
+ "name": "gaelică scoțiană"
+ },
+ "cy": {
+ "name": "galeză"
+ },
+ "gl": {
+ "name": "galiciană"
+ },
+ "lg": {
+ "name": "ganda"
+ },
+ "ka": {
+ "name": "georgiană"
+ },
+ "nds": {
+ "name": "germana de jos"
+ },
+ "de": {
+ "name": "germană"
+ },
+ "de-AT": {
+ "name": "germană (Austria)"
+ },
+ "gsw": {
+ "name": "germană (Elveția)"
+ },
+ "de-CH": {
+ "name": "germană standard (Elveția)"
+ },
+ "el": {
+ "name": "greacă"
+ },
+ "gu": {
+ "name": "gujarati"
+ },
+ "guz": {
+ "name": "gusii"
+ },
+ "ha": {
+ "name": "hausa"
+ },
+ "haw": {
+ "name": "hawaiiană"
+ },
+ "hi": {
+ "name": "hindi"
+ },
+ "yi": {
+ "name": "idiș"
+ },
+ "ig": {
+ "name": "igbo"
+ },
+ "smn": {
+ "name": "inari sami"
+ },
+ "id": {
+ "name": "indoneziană"
+ },
+ "ga": {
+ "name": "irlandeză"
+ },
+ "is": {
+ "name": "islandeză"
+ },
+ "it": {
+ "name": "italiană"
+ },
+ "ja": {
+ "name": "japoneză"
+ },
+ "dyo": {
+ "name": "jola-fonyi"
+ },
+ "kea": {
+ "name": "kabuverdianu"
+ },
+ "kab": {
+ "name": "kabyle"
+ },
+ "kkj": {
+ "name": "kako"
+ },
+ "kl": {
+ "name": "kalaallisut"
+ },
+ "kln": {
+ "name": "kalenjin"
+ },
+ "kam": {
+ "name": "kamba"
+ },
+ "kn": {
+ "name": "kannada"
+ },
+ "kk": {
+ "name": "kazahă"
+ },
+ "ky": {
+ "name": "kârgâză"
+ },
+ "km": {
+ "name": "khmeră"
+ },
+ "ki": {
+ "name": "kikuyu"
+ },
+ "rw": {
+ "name": "kinyarwanda"
+ },
+ "rn": {
+ "name": "kirundi"
+ },
+ "ksh": {
+ "name": "kölsch"
+ },
+ "kok": {
+ "name": "konkani"
+ },
+ "khq": {
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "name": "koyraboro Senni"
+ },
+ "ckb": {
+ "name": "kurdă centrală"
+ },
+ "nmg": {
+ "name": "kwasio"
+ },
+ "lkt": {
+ "name": "lakota"
+ },
+ "lag": {
+ "name": "langi"
+ },
+ "lo": {
+ "name": "laoțiană"
+ },
+ "lv": {
+ "name": "letonă"
+ },
+ "ln": {
+ "name": "lingala"
+ },
+ "lt": {
+ "name": "lituaniană"
+ },
+ "lu": {
+ "name": "luba-katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lrc": {
+ "name": "luri de nord"
+ },
+ "lb": {
+ "name": "luxemburgheză"
+ },
+ "luy": {
+ "name": "luyia"
+ },
+ "mk": {
+ "name": "macedoneană"
+ },
+ "jmc": {
+ "name": "machame"
+ },
+ "hu": {
+ "name": "maghiară"
+ },
+ "mgh": {
+ "name": "makhuwa-meetto"
+ },
+ "kde": {
+ "name": "makonde"
+ },
+ "ms": {
+ "name": "malaeză"
+ },
+ "ml": {
+ "name": "malayalam"
+ },
+ "mg": {
+ "name": "malgașă"
+ },
+ "mt": {
+ "name": "malteză"
+ },
+ "gv": {
+ "name": "manx"
+ },
+ "mr": {
+ "name": "marathi"
+ },
+ "mas": {
+ "name": "masai"
+ },
+ "mzn": {
+ "name": "mazanderani"
+ },
+ "mer": {
+ "name": "meru"
+ },
+ "mgo": {
+ "name": "meta’"
+ },
+ "ro-MD": {
+ "name": "moldovenească"
+ },
+ "mn": {
+ "name": "mongolă"
+ },
+ "mfe": {
+ "name": "morisyen"
+ },
+ "mua": {
+ "name": "mundang"
+ },
+ "naq": {
+ "name": "nama"
+ },
+ "nd": {
+ "name": "ndebele de nord"
+ },
+ "nl": {
+ "name": "neerlandeză"
+ },
+ "ne": {
+ "name": "nepaleză"
+ },
+ "nnh": {
+ "name": "ngiemboon"
+ },
+ "jgo": {
+ "name": "ngomba"
+ },
+ "nb": {
+ "name": "norvegiană bokmål"
+ },
+ "nn": {
+ "name": "norvegiană nynorsk"
+ },
+ "nus": {
+ "name": "nuer"
+ },
+ "nyn": {
+ "name": "nyankole"
+ },
+ "or": {
+ "name": "oriya"
+ },
+ "om": {
+ "name": "oromo"
+ },
+ "os": {
+ "name": "osetă"
+ },
+ "ps": {
+ "name": "paștună"
+ },
+ "fa": {
+ "name": "persană"
+ },
+ "pl": {
+ "name": "poloneză"
+ },
+ "pt": {
+ "name": "portugheză"
+ },
+ "pt-PT": {
+ "name": "portugheză (Portugalia)"
+ },
+ "prg": {
+ "name": "prusacă"
+ },
+ "pa": {
+ "name": "punjabi"
+ },
+ "qu": {
+ "name": "quechua"
+ },
+ "rm": {
+ "name": "romanșă"
+ },
+ "ro": {
+ "name": "română"
+ },
+ "rof": {
+ "name": "rombo"
+ },
+ "ru": {
+ "name": "rusă"
+ },
+ "rwk": {
+ "name": "rwa"
+ },
+ "sah": {
+ "name": "sakha"
+ },
+ "saq": {
+ "name": "samburu"
+ },
+ "se": {
+ "name": "sami de nord"
+ },
+ "sg": {
+ "name": "sango"
+ },
+ "sbp": {
+ "name": "sangu"
+ },
+ "nds-NL": {
+ "name": "saxona de jos"
+ },
+ "sr": {
+ "name": "sârbă"
+ },
+ "seh": {
+ "name": "sena"
+ },
+ "ksb": {
+ "name": "shambala"
+ },
+ "sn": {
+ "name": "shona"
+ },
+ "ii": {
+ "name": "sichuan yi"
+ },
+ "si": {
+ "name": "singaleză"
+ },
+ "cu": {
+ "name": "slavonă"
+ },
+ "sk": {
+ "name": "slovacă"
+ },
+ "sl": {
+ "name": "slovenă"
+ },
+ "xog": {
+ "name": "soga"
+ },
+ "so": {
+ "name": "somaleză"
+ },
+ "dsb": {
+ "name": "sorabă de jos"
+ },
+ "hsb": {
+ "name": "sorabă de sus"
+ },
+ "es": {
+ "name": "spaniolă"
+ },
+ "es-MX": {
+ "name": "spaniolă (Mexic)"
+ },
+ "sv": {
+ "name": "suedeză"
+ },
+ "sw": {
+ "name": "swahili"
+ },
+ "sw-CD": {
+ "name": "swahili (R.D. Congo)"
+ },
+ "shi": {
+ "name": "tachelhit"
+ },
+ "dav": {
+ "name": "taita"
+ },
+ "tzm": {
+ "name": "tamazight central marocană"
+ },
+ "zgh": {
+ "name": "tamazight standard marocană"
+ },
+ "ta": {
+ "name": "tamilă"
+ },
+ "twq": {
+ "name": "tasawaq"
+ },
+ "te": {
+ "name": "telugu"
+ },
+ "teo": {
+ "name": "teso"
+ },
+ "th": {
+ "name": "thailandeză"
+ },
+ "bo": {
+ "name": "tibetană"
+ },
+ "ti": {
+ "name": "tigrină"
+ },
+ "to": {
+ "name": "tongană"
+ },
+ "tr": {
+ "name": "turcă"
+ },
+ "tk": {
+ "name": "turkmenă"
+ },
+ "uk": {
+ "name": "ucraineană"
+ },
+ "ug": {
+ "name": "uigură"
+ },
+ "ur": {
+ "name": "urdu"
+ },
+ "uz": {
+ "name": "uzbecă"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vi": {
+ "name": "vietnameză"
+ },
+ "vo": {
+ "name": "volapuk"
+ },
+ "vun": {
+ "name": "vunjo"
+ },
+ "wae": {
+ "name": "walser"
+ },
+ "yav": {
+ "name": "yangben"
+ },
+ "yo": {
+ "name": "yoruba"
+ },
+ "dje": {
+ "name": "zarma"
+ },
+ "zu": {
+ "name": "zulu"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/rof.json b/vendor/commerceguys/intl/resources/language/rof.json
new file mode 100644
index 000000000..8133c82f9
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/rof.json
@@ -0,0 +1,632 @@
+{
+ "af": {
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "sq": {
+ "name": "Albanian"
+ },
+ "hy": {
+ "name": "Armenian"
+ },
+ "as": {
+ "name": "Assamese"
+ },
+ "ast": {
+ "name": "Asturian"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "az": {
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "eu": {
+ "name": "Basque"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "bs": {
+ "name": "Bosnian"
+ },
+ "br": {
+ "name": "Breton"
+ },
+ "yue": {
+ "name": "Cantonese"
+ },
+ "ca": {
+ "name": "Catalan"
+ },
+ "tzm": {
+ "name": "Central Atlas Tamazight"
+ },
+ "ckb": {
+ "name": "Central Kurdish"
+ },
+ "ce": {
+ "name": "Chechen"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "cu": {
+ "name": "Church Slavic"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "kw": {
+ "name": "Cornish"
+ },
+ "hr": {
+ "name": "Croatian"
+ },
+ "da": {
+ "name": "Danish"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "dz": {
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "eo": {
+ "name": "Esperanto"
+ },
+ "et": {
+ "name": "Estonian"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fo": {
+ "name": "Faroese"
+ },
+ "fil": {
+ "name": "Filipino"
+ },
+ "fi": {
+ "name": "Finnish"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "gl": {
+ "name": "Galician"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "ka": {
+ "name": "Georgian"
+ },
+ "gu": {
+ "name": "Gujarati"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "haw": {
+ "name": "Hawaiian"
+ },
+ "he": {
+ "name": "Hebrew"
+ },
+ "is": {
+ "name": "Icelandic"
+ },
+ "smn": {
+ "name": "Inari Sami"
+ },
+ "ga": {
+ "name": "Irish"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabyle"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kl": {
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "kn": {
+ "name": "Kannada"
+ },
+ "ks": {
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "name": "Kazakh"
+ },
+ "fa": {
+ "name": "Kiajemi"
+ },
+ "ak": {
+ "name": "Kiakani"
+ },
+ "am": {
+ "name": "Kiamhari"
+ },
+ "ar": {
+ "name": "Kiarabu"
+ },
+ "bn": {
+ "name": "Kibangla"
+ },
+ "be": {
+ "name": "Kibelarusi"
+ },
+ "bg": {
+ "name": "Kibulgaria"
+ },
+ "my": {
+ "name": "Kiburma"
+ },
+ "cs": {
+ "name": "Kichecki"
+ },
+ "zh": {
+ "name": "Kichina"
+ },
+ "zh-Hans": {
+ "name": "Kichina (Hans)"
+ },
+ "zh-Hant": {
+ "name": "Kichina (Hant)"
+ },
+ "el": {
+ "name": "Kigiriki"
+ },
+ "ha": {
+ "name": "Kihausa"
+ },
+ "hi": {
+ "name": "Kihindi"
+ },
+ "es": {
+ "name": "Kihispania"
+ },
+ "es-MX": {
+ "name": "Kihispania (Meksiko)"
+ },
+ "nl": {
+ "name": "Kiholanzi"
+ },
+ "nl-BE": {
+ "name": "Kiholanzi (Ubelgiji)"
+ },
+ "rof": {
+ "name": "Kihorombo"
+ },
+ "hu": {
+ "name": "Kihungari"
+ },
+ "ig": {
+ "name": "Kiigbo"
+ },
+ "id": {
+ "name": "Kiindonesia"
+ },
+ "en": {
+ "name": "Kiingereza"
+ },
+ "en-AU": {
+ "name": "Kiingereza (Australia)"
+ },
+ "en-CA": {
+ "name": "Kiingereza (Kanada)"
+ },
+ "en-GB": {
+ "name": "Kiingereza (Uingereza)"
+ },
+ "it": {
+ "name": "Kiitaliano"
+ },
+ "ja": {
+ "name": "Kijapani"
+ },
+ "de": {
+ "name": "Kijerumani"
+ },
+ "de-AT": {
+ "name": "Kijerumani (Ostria)"
+ },
+ "de-CH": {
+ "name": "Kijerumani (Uswisi)"
+ },
+ "km": {
+ "name": "Kikambodia"
+ },
+ "ko": {
+ "name": "Kikorea"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "ms": {
+ "name": "Kimalesia"
+ },
+ "ne": {
+ "name": "Kinepali"
+ },
+ "rw": {
+ "name": "Kinyarwanda"
+ },
+ "pl": {
+ "name": "Kipolandi"
+ },
+ "pa": {
+ "name": "Kipunjabi"
+ },
+ "pt": {
+ "name": "Kireno"
+ },
+ "pt-PT": {
+ "name": "Kireno (Ureno)"
+ },
+ "ro": {
+ "name": "Kiromania"
+ },
+ "ro-MD": {
+ "name": "Kiromania (Moldova)"
+ },
+ "ru": {
+ "name": "Kirusi"
+ },
+ "so": {
+ "name": "Kisomali"
+ },
+ "sv": {
+ "name": "Kiswidi"
+ },
+ "th": {
+ "name": "Kitailandi"
+ },
+ "ta": {
+ "name": "Kitamil"
+ },
+ "tr": {
+ "name": "Kituruki"
+ },
+ "uk": {
+ "name": "Kiukrania"
+ },
+ "ur": {
+ "name": "Kiurdu"
+ },
+ "vi": {
+ "name": "Kivietinamu"
+ },
+ "yo": {
+ "name": "Kiyoruba"
+ },
+ "zu": {
+ "name": "Kizulu"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "fr": {
+ "name": "Kyifaransa"
+ },
+ "fr-CA": {
+ "name": "Kyifaransa (Kanada)"
+ },
+ "fr-CH": {
+ "name": "Kyifaransa (Uswisi)"
+ },
+ "ky": {
+ "name": "Kyrgyz"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "Lao"
+ },
+ "lv": {
+ "name": "Latvian"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "lt": {
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "mk": {
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "mg": {
+ "name": "Malagasy"
+ },
+ "ml": {
+ "name": "Malayalam"
+ },
+ "mt": {
+ "name": "Maltese"
+ },
+ "gv": {
+ "name": "Manx"
+ },
+ "mr": {
+ "name": "Marathi"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "mn": {
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nds-NL": {
+ "name": "nds (Uholanzi)"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "nd": {
+ "name": "North Ndebele"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "se": {
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "or": {
+ "name": "Odia"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "os": {
+ "name": "Ossetic"
+ },
+ "ps": {
+ "name": "Pashto"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "qu": {
+ "name": "Quechua"
+ },
+ "rm": {
+ "name": "Romansh"
+ },
+ "rn": {
+ "name": "Rundi"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "sah": {
+ "name": "Sakha"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "gd": {
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "sr": {
+ "name": "Serbian"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "si": {
+ "name": "Sinhala"
+ },
+ "sk": {
+ "name": "Slovak"
+ },
+ "sl": {
+ "name": "Slovenian"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw-CD": {
+ "name": "sw (Jamhuri ya Kidemokrasia ya Kongo)"
+ },
+ "sw": {
+ "name": "Swahili"
+ },
+ "gsw": {
+ "name": "Swiss German"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "te": {
+ "name": "Telugu"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "bo": {
+ "name": "Tibetan"
+ },
+ "ti": {
+ "name": "Tigrinya"
+ },
+ "to": {
+ "name": "Tongan"
+ },
+ "tk": {
+ "name": "Turkmen"
+ },
+ "hsb": {
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "name": "Uyghur"
+ },
+ "uz": {
+ "name": "Uzbek"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "cy": {
+ "name": "Welsh"
+ },
+ "fy": {
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "yi": {
+ "name": "Yiddish"
+ },
+ "dje": {
+ "name": "Zarma"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/ru.json b/vendor/commerceguys/intl/resources/language/ru.json
new file mode 100644
index 000000000..28e8daafa
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/ru.json
@@ -0,0 +1,635 @@
+{
+ "en-AU": {
+ "name": "австралийский английский"
+ },
+ "de-AT": {
+ "name": "австрийский немецкий"
+ },
+ "agq": {
+ "name": "агхем"
+ },
+ "az": {
+ "name": "азербайджанский"
+ },
+ "ak": {
+ "name": "акан"
+ },
+ "sq": {
+ "name": "албанский"
+ },
+ "am": {
+ "name": "амхарский"
+ },
+ "en": {
+ "name": "английский"
+ },
+ "ar": {
+ "name": "арабский"
+ },
+ "hy": {
+ "name": "армянский"
+ },
+ "as": {
+ "name": "ассамский"
+ },
+ "ast": {
+ "name": "астурийский"
+ },
+ "asa": {
+ "name": "асу"
+ },
+ "af": {
+ "name": "африкаанс"
+ },
+ "bm": {
+ "name": "бамбара"
+ },
+ "bas": {
+ "name": "баса"
+ },
+ "eu": {
+ "name": "баскский"
+ },
+ "ksf": {
+ "name": "бафия"
+ },
+ "be": {
+ "name": "белорусский"
+ },
+ "bem": {
+ "name": "бемба"
+ },
+ "bez": {
+ "name": "бена"
+ },
+ "bn": {
+ "name": "бенгальский"
+ },
+ "my": {
+ "name": "бирманский"
+ },
+ "brx": {
+ "name": "бодо"
+ },
+ "bg": {
+ "name": "болгарский"
+ },
+ "bs": {
+ "name": "боснийский"
+ },
+ "br": {
+ "name": "бретонский"
+ },
+ "en-GB": {
+ "name": "британский английский"
+ },
+ "vai": {
+ "name": "ваи"
+ },
+ "cy": {
+ "name": "валлийский"
+ },
+ "wae": {
+ "name": "валлисский"
+ },
+ "hu": {
+ "name": "венгерский"
+ },
+ "hsb": {
+ "name": "верхнелужицкий"
+ },
+ "vo": {
+ "name": "волапюк"
+ },
+ "vun": {
+ "name": "вунджо"
+ },
+ "vi": {
+ "name": "вьетнамский"
+ },
+ "haw": {
+ "name": "гавайский"
+ },
+ "gl": {
+ "name": "галисийский"
+ },
+ "lg": {
+ "name": "ганда"
+ },
+ "kl": {
+ "name": "гренландский"
+ },
+ "el": {
+ "name": "греческий"
+ },
+ "ka": {
+ "name": "грузинский"
+ },
+ "gu": {
+ "name": "гуджарати"
+ },
+ "guz": {
+ "name": "гусии"
+ },
+ "gd": {
+ "name": "гэльский"
+ },
+ "da": {
+ "name": "датский"
+ },
+ "dje": {
+ "name": "джерма"
+ },
+ "dz": {
+ "name": "дзонг-кэ"
+ },
+ "dyo": {
+ "name": "диола-фоньи"
+ },
+ "dua": {
+ "name": "дуала"
+ },
+ "pt-PT": {
+ "name": "европейский португальский"
+ },
+ "fy": {
+ "name": "западный фризский"
+ },
+ "zu": {
+ "name": "зулу"
+ },
+ "he": {
+ "name": "иврит"
+ },
+ "ig": {
+ "name": "игбо"
+ },
+ "yi": {
+ "name": "идиш"
+ },
+ "smn": {
+ "name": "инари-саамский"
+ },
+ "id": {
+ "name": "индонезийский"
+ },
+ "ga": {
+ "name": "ирландский"
+ },
+ "is": {
+ "name": "исландский"
+ },
+ "es": {
+ "name": "испанский"
+ },
+ "it": {
+ "name": "итальянский"
+ },
+ "yo": {
+ "name": "йоруба"
+ },
+ "kab": {
+ "name": "кабильский"
+ },
+ "kea": {
+ "name": "кабувердьяну"
+ },
+ "kk": {
+ "name": "казахский"
+ },
+ "kkj": {
+ "name": "како"
+ },
+ "kln": {
+ "name": "календжин"
+ },
+ "kam": {
+ "name": "камба"
+ },
+ "en-CA": {
+ "name": "канадский английский"
+ },
+ "fr-CA": {
+ "name": "канадский французский"
+ },
+ "kn": {
+ "name": "каннада"
+ },
+ "yue": {
+ "name": "кантонский"
+ },
+ "ca": {
+ "name": "каталанский"
+ },
+ "ks": {
+ "name": "кашмири"
+ },
+ "nmg": {
+ "name": "квасио"
+ },
+ "ksh": {
+ "name": "кёльнский"
+ },
+ "qu": {
+ "name": "кечуа"
+ },
+ "cgg": {
+ "name": "кига"
+ },
+ "ki": {
+ "name": "кикуйю"
+ },
+ "rw": {
+ "name": "киньяруанда"
+ },
+ "ky": {
+ "name": "киргизский"
+ },
+ "zh": {
+ "name": "китайский"
+ },
+ "zh-Hant": {
+ "name": "китайский, традиционное письмо"
+ },
+ "zh-Hans": {
+ "name": "китайский, упрощенное письмо"
+ },
+ "khq": {
+ "name": "койра чиини"
+ },
+ "ses": {
+ "name": "койраборо сенни"
+ },
+ "sw-CD": {
+ "name": "конголезский суахили"
+ },
+ "kok": {
+ "name": "конкани"
+ },
+ "ko": {
+ "name": "корейский"
+ },
+ "kw": {
+ "name": "корнский"
+ },
+ "km": {
+ "name": "кхмерский"
+ },
+ "lkt": {
+ "name": "лакота"
+ },
+ "lag": {
+ "name": "ланго"
+ },
+ "lo": {
+ "name": "лаосский"
+ },
+ "lv": {
+ "name": "латышский"
+ },
+ "ln": {
+ "name": "лингала"
+ },
+ "de-CH": {
+ "name": "литературный швейцарский немецкий"
+ },
+ "lt": {
+ "name": "литовский"
+ },
+ "lu": {
+ "name": "луба-катанга"
+ },
+ "luo": {
+ "name": "луо"
+ },
+ "luy": {
+ "name": "лухья"
+ },
+ "lb": {
+ "name": "люксембургский"
+ },
+ "mfe": {
+ "name": "маврикийский креольский"
+ },
+ "mzn": {
+ "name": "мазендеранский"
+ },
+ "mk": {
+ "name": "македонский"
+ },
+ "kde": {
+ "name": "маконде"
+ },
+ "mgh": {
+ "name": "макуа-меетто"
+ },
+ "mg": {
+ "name": "малагасийский"
+ },
+ "ms": {
+ "name": "малайский"
+ },
+ "ml": {
+ "name": "малаялам"
+ },
+ "mt": {
+ "name": "мальтийский"
+ },
+ "mr": {
+ "name": "маратхи"
+ },
+ "mas": {
+ "name": "масаи"
+ },
+ "jmc": {
+ "name": "мачаме"
+ },
+ "es-MX": {
+ "name": "мексиканский испанский"
+ },
+ "mer": {
+ "name": "меру"
+ },
+ "mgo": {
+ "name": "мета"
+ },
+ "ro-MD": {
+ "name": "молдавский"
+ },
+ "mn": {
+ "name": "монгольский"
+ },
+ "mua": {
+ "name": "мунданг"
+ },
+ "gv": {
+ "name": "мэнский"
+ },
+ "naq": {
+ "name": "нама"
+ },
+ "nnh": {
+ "name": "нгиембунд"
+ },
+ "jgo": {
+ "name": "нгомба"
+ },
+ "de": {
+ "name": "немецкий"
+ },
+ "ne": {
+ "name": "непальский"
+ },
+ "nl": {
+ "name": "нидерландский"
+ },
+ "nds": {
+ "name": "нижнегерманский"
+ },
+ "dsb": {
+ "name": "нижнелужицкий"
+ },
+ "nds-NL": {
+ "name": "нижнесаксонский"
+ },
+ "nb": {
+ "name": "норвежский букмол"
+ },
+ "ii": {
+ "name": "носу"
+ },
+ "nus": {
+ "name": "нуэр"
+ },
+ "nyn": {
+ "name": "ньянколе"
+ },
+ "nn": {
+ "name": "нюнорск"
+ },
+ "or": {
+ "name": "ория"
+ },
+ "om": {
+ "name": "оромо"
+ },
+ "os": {
+ "name": "осетинский"
+ },
+ "pa": {
+ "name": "панджаби"
+ },
+ "fa": {
+ "name": "персидский"
+ },
+ "pl": {
+ "name": "польский"
+ },
+ "pt": {
+ "name": "португальский"
+ },
+ "prg": {
+ "name": "прусский"
+ },
+ "ps": {
+ "name": "пушту"
+ },
+ "rm": {
+ "name": "романшский"
+ },
+ "rof": {
+ "name": "ромбо"
+ },
+ "rwk": {
+ "name": "руанда"
+ },
+ "ro": {
+ "name": "румынский"
+ },
+ "rn": {
+ "name": "рунди"
+ },
+ "ru": {
+ "name": "русский"
+ },
+ "saq": {
+ "name": "самбуру"
+ },
+ "sg": {
+ "name": "санго"
+ },
+ "sbp": {
+ "name": "сангу"
+ },
+ "lrc": {
+ "name": "севернолурский"
+ },
+ "se": {
+ "name": "северносаамский"
+ },
+ "nd": {
+ "name": "северный ндебеле"
+ },
+ "seh": {
+ "name": "сена"
+ },
+ "sr": {
+ "name": "сербский"
+ },
+ "si": {
+ "name": "сингальский"
+ },
+ "sk": {
+ "name": "словацкий"
+ },
+ "sl": {
+ "name": "словенский"
+ },
+ "xog": {
+ "name": "сога"
+ },
+ "so": {
+ "name": "сомали"
+ },
+ "ckb": {
+ "name": "сорани"
+ },
+ "tzm": {
+ "name": "среднеатласский тамазигхтский"
+ },
+ "sw": {
+ "name": "суахили"
+ },
+ "dav": {
+ "name": "таита"
+ },
+ "th": {
+ "name": "тайский"
+ },
+ "zgh": {
+ "name": "тамазигхтский"
+ },
+ "ta": {
+ "name": "тамильский"
+ },
+ "twq": {
+ "name": "тасавак"
+ },
+ "shi": {
+ "name": "ташельхит"
+ },
+ "te": {
+ "name": "телугу"
+ },
+ "teo": {
+ "name": "тесо"
+ },
+ "bo": {
+ "name": "тибетский"
+ },
+ "ti": {
+ "name": "тигринья"
+ },
+ "to": {
+ "name": "тонганский"
+ },
+ "tr": {
+ "name": "турецкий"
+ },
+ "tk": {
+ "name": "туркменский"
+ },
+ "uz": {
+ "name": "узбекский"
+ },
+ "ug": {
+ "name": "уйгурский"
+ },
+ "uk": {
+ "name": "украинский"
+ },
+ "ur": {
+ "name": "урду"
+ },
+ "fo": {
+ "name": "фарерский"
+ },
+ "fil": {
+ "name": "филиппинский"
+ },
+ "fi": {
+ "name": "финский"
+ },
+ "nl-BE": {
+ "name": "фламандский"
+ },
+ "fr": {
+ "name": "французский"
+ },
+ "fur": {
+ "name": "фриульский"
+ },
+ "ff": {
+ "name": "фулах"
+ },
+ "ha": {
+ "name": "хауса"
+ },
+ "hi": {
+ "name": "хинди"
+ },
+ "hr": {
+ "name": "хорватский"
+ },
+ "cu": {
+ "name": "церковнославянский"
+ },
+ "chr": {
+ "name": "чероки"
+ },
+ "ce": {
+ "name": "чеченский"
+ },
+ "cs": {
+ "name": "чешский"
+ },
+ "ksb": {
+ "name": "шамбала"
+ },
+ "sv": {
+ "name": "шведский"
+ },
+ "gsw": {
+ "name": "швейцарский немецкий"
+ },
+ "fr-CH": {
+ "name": "швейцарский французский"
+ },
+ "sn": {
+ "name": "шона"
+ },
+ "ee": {
+ "name": "эве"
+ },
+ "ewo": {
+ "name": "эвондо"
+ },
+ "ebu": {
+ "name": "эмбу"
+ },
+ "eo": {
+ "name": "эсперанто"
+ },
+ "et": {
+ "name": "эстонский"
+ },
+ "sah": {
+ "name": "якутский"
+ },
+ "yav": {
+ "name": "янгбен"
+ },
+ "ja": {
+ "name": "японский"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/rw.json b/vendor/commerceguys/intl/resources/language/rw.json
new file mode 100644
index 000000000..b274aa833
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/rw.json
@@ -0,0 +1,632 @@
+{
+ "agq": {
+ "name": "Aghem"
+ },
+ "ak": {
+ "name": "Akan"
+ },
+ "ast": {
+ "name": "Asturian"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "my": {
+ "name": "Burmese"
+ },
+ "yue": {
+ "name": "Cantonese"
+ },
+ "tzm": {
+ "name": "Central Atlas Tamazight"
+ },
+ "ckb": {
+ "name": "Central Kurdish"
+ },
+ "ce": {
+ "name": "Chechen"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "zh": {
+ "name": "Chinese"
+ },
+ "cu": {
+ "name": "Church Slavic"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "kw": {
+ "name": "Cornish"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "dz": {
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "ha": {
+ "name": "Hausa"
+ },
+ "haw": {
+ "name": "Hawaiian"
+ },
+ "sq": {
+ "name": "Icyalubaniya"
+ },
+ "ar": {
+ "name": "Icyarabu"
+ },
+ "as": {
+ "name": "Icyasamizi"
+ },
+ "es": {
+ "name": "Icyesipanyolo"
+ },
+ "es-MX": {
+ "name": "Icyesipanyolo (MX)"
+ },
+ "eo": {
+ "name": "Icyesiperanto"
+ },
+ "et": {
+ "name": "Icyesitoniya"
+ },
+ "en": {
+ "name": "Icyongereza"
+ },
+ "en-AU": {
+ "name": "Icyongereza (AU)"
+ },
+ "en-CA": {
+ "name": "Icyongereza (CA)"
+ },
+ "en-GB": {
+ "name": "Icyongereza (GB)"
+ },
+ "ig": {
+ "name": "Igbo"
+ },
+ "cs": {
+ "name": "Igiceke"
+ },
+ "fr": {
+ "name": "Igifaransa"
+ },
+ "fr-CA": {
+ "name": "Igifaransa (CA)"
+ },
+ "fr-CH": {
+ "name": "Igifaransa (CH)"
+ },
+ "fi": {
+ "name": "Igifinilande"
+ },
+ "fy": {
+ "name": "Igifiriziyani"
+ },
+ "he": {
+ "name": "Igiheburayo"
+ },
+ "hi": {
+ "name": "Igihindi"
+ },
+ "hu": {
+ "name": "Igihongiriya"
+ },
+ "km": {
+ "name": "Igikambodiya"
+ },
+ "kn": {
+ "name": "Igikanada"
+ },
+ "ca": {
+ "name": "Igikatalani"
+ },
+ "ko": {
+ "name": "Igikoreya"
+ },
+ "hr": {
+ "name": "Igikorowasiya"
+ },
+ "pl": {
+ "name": "Igipolone"
+ },
+ "pt": {
+ "name": "Igiporutugali"
+ },
+ "pa": {
+ "name": "Igipunjabi"
+ },
+ "sr": {
+ "name": "Igiseribe"
+ },
+ "is": {
+ "name": "Igisilande"
+ },
+ "sk": {
+ "name": "Igisilovaki"
+ },
+ "so": {
+ "name": "Igisomali"
+ },
+ "sv": {
+ "name": "Igisuweduwa"
+ },
+ "sw": {
+ "name": "Igiswahili"
+ },
+ "sw-CD": {
+ "name": "Igiswahili (CD)"
+ },
+ "it": {
+ "name": "Igitaliyani"
+ },
+ "ta": {
+ "name": "Igitamili"
+ },
+ "th": {
+ "name": "Igitayi"
+ },
+ "te": {
+ "name": "Igitelugu"
+ },
+ "tr": {
+ "name": "Igiturukiya"
+ },
+ "eu": {
+ "name": "Ikibasiki"
+ },
+ "be": {
+ "name": "Ikibelarusiya"
+ },
+ "bn": {
+ "name": "Ikibengali"
+ },
+ "de": {
+ "name": "Ikidage"
+ },
+ "de-AT": {
+ "name": "Ikidage (AT)"
+ },
+ "de-CH": {
+ "name": "Ikidage (CH)"
+ },
+ "da": {
+ "name": "Ikidaninwa"
+ },
+ "gl": {
+ "name": "Ikigalisiya"
+ },
+ "cy": {
+ "name": "Ikigaluwa"
+ },
+ "gd": {
+ "name": "Ikigaluwa cy’Igisweduwa"
+ },
+ "el": {
+ "name": "Ikigereki"
+ },
+ "lo": {
+ "name": "Ikilawotiyani"
+ },
+ "lt": {
+ "name": "Ikilituwaniya"
+ },
+ "ml": {
+ "name": "Ikimalayalami"
+ },
+ "ms": {
+ "name": "Ikimalayi"
+ },
+ "mt": {
+ "name": "Ikimaliteze"
+ },
+ "mr": {
+ "name": "Ikimarati"
+ },
+ "mk": {
+ "name": "Ikimasedoniyani"
+ },
+ "mn": {
+ "name": "Ikimongoli"
+ },
+ "ne": {
+ "name": "Ikinepali"
+ },
+ "nl": {
+ "name": "Ikinerilande"
+ },
+ "nl-BE": {
+ "name": "Ikinerilande (BE)"
+ },
+ "fil": {
+ "name": "Ikinyafilipine"
+ },
+ "af": {
+ "name": "Ikinyafurikaneri"
+ },
+ "lv": {
+ "name": "Ikinyaletoviyani"
+ },
+ "ro": {
+ "name": "Ikinyarumaniya"
+ },
+ "ro-MD": {
+ "name": "Ikinyarumaniya (MD)"
+ },
+ "hy": {
+ "name": "Ikinyarumeniya"
+ },
+ "sl": {
+ "name": "Ikinyasiloveniya"
+ },
+ "vi": {
+ "name": "Ikinyaviyetinamu"
+ },
+ "uk": {
+ "name": "Ikinyayukereni"
+ },
+ "id": {
+ "name": "Ikinyendoziya"
+ },
+ "ga": {
+ "name": "Ikirilandi"
+ },
+ "ru": {
+ "name": "Ikirusiya"
+ },
+ "ug": {
+ "name": "Ikiwiguri"
+ },
+ "ja": {
+ "name": "Ikiyapani"
+ },
+ "ln": {
+ "name": "Ilingala"
+ },
+ "ps": {
+ "name": "Impashito"
+ },
+ "smn": {
+ "name": "Inari Sami"
+ },
+ "ky": {
+ "name": "Inkerigizi"
+ },
+ "am": {
+ "name": "Inyamuhariki"
+ },
+ "ti": {
+ "name": "Inyatigirinya"
+ },
+ "az": {
+ "name": "Inyazeribayijani"
+ },
+ "br": {
+ "name": "Inyebiritoni"
+ },
+ "bs": {
+ "name": "Inyebosiniya"
+ },
+ "fo": {
+ "name": "Inyefaroyizi"
+ },
+ "gu": {
+ "name": "Inyegujarati"
+ },
+ "ka": {
+ "name": "Inyejeworujiya"
+ },
+ "nn": {
+ "name": "Inyenoruveji (Nyonorusiki)"
+ },
+ "fa": {
+ "name": "Inyeperisi"
+ },
+ "pt-PT": {
+ "name": "Inyeporutigali (Igiporutigali)"
+ },
+ "si": {
+ "name": "Inyesimpaleze"
+ },
+ "tk": {
+ "name": "Inyeturukimeni"
+ },
+ "yi": {
+ "name": "Inyeyidishi"
+ },
+ "ur": {
+ "name": "Inyeyurudu"
+ },
+ "uz": {
+ "name": "Inyeyuzubeki"
+ },
+ "zu": {
+ "name": "Inyezulu"
+ },
+ "or": {
+ "name": "Inyoriya"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabyle"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kl": {
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "ks": {
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "name": "Kazakh"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "rw": {
+ "name": "Kinyarwanda"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "dsb": {
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "mg": {
+ "name": "Malagasy"
+ },
+ "gv": {
+ "name": "Manx"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nds-NL": {
+ "name": "nds (NL)"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "nd": {
+ "name": "North Ndebele"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "se": {
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "name": "Norwegian Bokmål"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "os": {
+ "name": "Ossetic"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "qu": {
+ "name": "Quechua"
+ },
+ "rm": {
+ "name": "Romansh"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "rn": {
+ "name": "Rundi"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "sah": {
+ "name": "Sakha"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "gsw": {
+ "name": "Swiss German"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "bo": {
+ "name": "Tibetan"
+ },
+ "to": {
+ "name": "Tongan"
+ },
+ "hsb": {
+ "name": "Upper Sorbian"
+ },
+ "bg": {
+ "name": "Urunyabuligariya"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "yo": {
+ "name": "Yoruba"
+ },
+ "dje": {
+ "name": "Zarma"
+ },
+ "zh-Hans": {
+ "name": "zh (Hans)"
+ },
+ "zh-Hant": {
+ "name": "zh (Hant)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/rwk.json b/vendor/commerceguys/intl/resources/language/rwk.json
new file mode 100644
index 000000000..a5fbdae04
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/rwk.json
@@ -0,0 +1,632 @@
+{
+ "af": {
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "sq": {
+ "name": "Albanian"
+ },
+ "hy": {
+ "name": "Armenian"
+ },
+ "as": {
+ "name": "Assamese"
+ },
+ "ast": {
+ "name": "Asturian"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "az": {
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "eu": {
+ "name": "Basque"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "bs": {
+ "name": "Bosnian"
+ },
+ "br": {
+ "name": "Breton"
+ },
+ "yue": {
+ "name": "Cantonese"
+ },
+ "ca": {
+ "name": "Catalan"
+ },
+ "tzm": {
+ "name": "Central Atlas Tamazight"
+ },
+ "ckb": {
+ "name": "Central Kurdish"
+ },
+ "ce": {
+ "name": "Chechen"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "cu": {
+ "name": "Church Slavic"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "kw": {
+ "name": "Cornish"
+ },
+ "hr": {
+ "name": "Croatian"
+ },
+ "da": {
+ "name": "Danish"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "dz": {
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "eo": {
+ "name": "Esperanto"
+ },
+ "et": {
+ "name": "Estonian"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fo": {
+ "name": "Faroese"
+ },
+ "fil": {
+ "name": "Filipino"
+ },
+ "fi": {
+ "name": "Finnish"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "gl": {
+ "name": "Galician"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "ka": {
+ "name": "Georgian"
+ },
+ "gu": {
+ "name": "Gujarati"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "haw": {
+ "name": "Hawaiian"
+ },
+ "he": {
+ "name": "Hebrew"
+ },
+ "is": {
+ "name": "Icelandic"
+ },
+ "smn": {
+ "name": "Inari Sami"
+ },
+ "ga": {
+ "name": "Irish"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabyle"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kl": {
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "kn": {
+ "name": "Kannada"
+ },
+ "ks": {
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "name": "Kazakh"
+ },
+ "ak": {
+ "name": "Kiakanyi"
+ },
+ "am": {
+ "name": "Kiamharyi"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "rwk": {
+ "name": "Kiruwa"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "fa": {
+ "name": "Kyiajemi"
+ },
+ "ar": {
+ "name": "Kyiarabu"
+ },
+ "bn": {
+ "name": "Kyibangla"
+ },
+ "be": {
+ "name": "Kyibelarusi"
+ },
+ "bg": {
+ "name": "Kyibulgaryia"
+ },
+ "my": {
+ "name": "Kyiburma"
+ },
+ "cs": {
+ "name": "Kyichecki"
+ },
+ "zh": {
+ "name": "Kyichina"
+ },
+ "zh-Hans": {
+ "name": "Kyichina (Hans)"
+ },
+ "zh-Hant": {
+ "name": "Kyichina (Hant)"
+ },
+ "fr": {
+ "name": "Kyifaransa"
+ },
+ "fr-CA": {
+ "name": "Kyifaransa (Kanada)"
+ },
+ "fr-CH": {
+ "name": "Kyifaransa (Uswisi)"
+ },
+ "el": {
+ "name": "Kyigiriki"
+ },
+ "ha": {
+ "name": "Kyihausa"
+ },
+ "hi": {
+ "name": "Kyihindi"
+ },
+ "es": {
+ "name": "Kyihispania"
+ },
+ "es-MX": {
+ "name": "Kyihispania (Meksiko)"
+ },
+ "nl": {
+ "name": "Kyiholanzi"
+ },
+ "nl-BE": {
+ "name": "Kyiholanzi (Ubelgiji)"
+ },
+ "hu": {
+ "name": "Kyihungari"
+ },
+ "ig": {
+ "name": "Kyiigbo"
+ },
+ "id": {
+ "name": "Kyiindonesia"
+ },
+ "it": {
+ "name": "Kyiitaliano"
+ },
+ "ja": {
+ "name": "Kyijapani"
+ },
+ "de": {
+ "name": "Kyijerumani"
+ },
+ "de-AT": {
+ "name": "Kyijerumani (Austria)"
+ },
+ "de-CH": {
+ "name": "Kyijerumani (Uswisi)"
+ },
+ "km": {
+ "name": "Kyikambodia"
+ },
+ "ko": {
+ "name": "Kyikorea"
+ },
+ "ms": {
+ "name": "Kyimalesia"
+ },
+ "ne": {
+ "name": "Kyinepali"
+ },
+ "en": {
+ "name": "Kyingereza"
+ },
+ "en-AU": {
+ "name": "Kyingereza (Australia)"
+ },
+ "en-CA": {
+ "name": "Kyingereza (Kanada)"
+ },
+ "en-GB": {
+ "name": "Kyingereza (Uingereza)"
+ },
+ "rw": {
+ "name": "Kyinyarwanda"
+ },
+ "pl": {
+ "name": "Kyipolandi"
+ },
+ "pa": {
+ "name": "Kyipunjabi"
+ },
+ "pt": {
+ "name": "Kyireno"
+ },
+ "pt-PT": {
+ "name": "Kyireno (Ureno)"
+ },
+ "ro": {
+ "name": "Kyiromania"
+ },
+ "ro-MD": {
+ "name": "Kyiromania (Moldova)"
+ },
+ "ru": {
+ "name": "Kyirusi"
+ },
+ "so": {
+ "name": "Kyisomalyi"
+ },
+ "sv": {
+ "name": "Kyiswidi"
+ },
+ "th": {
+ "name": "Kyitailandi"
+ },
+ "ta": {
+ "name": "Kyitamil"
+ },
+ "tr": {
+ "name": "Kyiturukyi"
+ },
+ "uk": {
+ "name": "Kyiukrania"
+ },
+ "ur": {
+ "name": "Kyiurdu"
+ },
+ "vi": {
+ "name": "Kyivietinamu"
+ },
+ "yo": {
+ "name": "Kyiyoruba"
+ },
+ "zu": {
+ "name": "Kyizulu"
+ },
+ "ky": {
+ "name": "Kyrgyz"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "Lao"
+ },
+ "lv": {
+ "name": "Latvian"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "lt": {
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "mk": {
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "mg": {
+ "name": "Malagasy"
+ },
+ "ml": {
+ "name": "Malayalam"
+ },
+ "mt": {
+ "name": "Maltese"
+ },
+ "gv": {
+ "name": "Manx"
+ },
+ "mr": {
+ "name": "Marathi"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "mn": {
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nds-NL": {
+ "name": "nds (Uholanzi)"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "nd": {
+ "name": "North Ndebele"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "se": {
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "or": {
+ "name": "Odia"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "os": {
+ "name": "Ossetic"
+ },
+ "ps": {
+ "name": "Pashto"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "qu": {
+ "name": "Quechua"
+ },
+ "rm": {
+ "name": "Romansh"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "rn": {
+ "name": "Rundi"
+ },
+ "sah": {
+ "name": "Sakha"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "gd": {
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "sr": {
+ "name": "Serbian"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "si": {
+ "name": "Sinhala"
+ },
+ "sk": {
+ "name": "Slovak"
+ },
+ "sl": {
+ "name": "Slovenian"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw-CD": {
+ "name": "sw (Jamhuri ya Kidemokrasia ya Kongo)"
+ },
+ "sw": {
+ "name": "Swahili"
+ },
+ "gsw": {
+ "name": "Swiss German"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "te": {
+ "name": "Telugu"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "bo": {
+ "name": "Tibetan"
+ },
+ "ti": {
+ "name": "Tigrinya"
+ },
+ "to": {
+ "name": "Tongan"
+ },
+ "tk": {
+ "name": "Turkmen"
+ },
+ "hsb": {
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "name": "Uyghur"
+ },
+ "uz": {
+ "name": "Uzbek"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "cy": {
+ "name": "Welsh"
+ },
+ "fy": {
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "yi": {
+ "name": "Yiddish"
+ },
+ "dje": {
+ "name": "Zarma"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/sah.json b/vendor/commerceguys/intl/resources/language/sah.json
new file mode 100644
index 000000000..1fffda7da
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/sah.json
@@ -0,0 +1,632 @@
+{
+ "agq": {
+ "name": "Aghem"
+ },
+ "ak": {
+ "name": "Akan"
+ },
+ "as": {
+ "name": "Assamese"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "eu": {
+ "name": "Basque"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "br": {
+ "name": "Breton"
+ },
+ "my": {
+ "name": "Burmese"
+ },
+ "yue": {
+ "name": "Cantonese"
+ },
+ "tzm": {
+ "name": "Central Atlas Tamazight"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "cu": {
+ "name": "Church Slavic"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "kw": {
+ "name": "Cornish"
+ },
+ "hr": {
+ "name": "Croatian"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "nl": {
+ "name": "Dutch"
+ },
+ "dz": {
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "eo": {
+ "name": "Esperanto"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fo": {
+ "name": "Faroese"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "gl": {
+ "name": "Galician"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "gu": {
+ "name": "Gujarati"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "ha": {
+ "name": "Hausa"
+ },
+ "haw": {
+ "name": "Hawaiian"
+ },
+ "he": {
+ "name": "Hebrew"
+ },
+ "hi": {
+ "name": "Hindi"
+ },
+ "is": {
+ "name": "Icelandic"
+ },
+ "ig": {
+ "name": "Igbo"
+ },
+ "smn": {
+ "name": "Inari Sami"
+ },
+ "id": {
+ "name": "Indonesian"
+ },
+ "ga": {
+ "name": "Irish"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabyle"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kl": {
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "kn": {
+ "name": "Kannada"
+ },
+ "ks": {
+ "name": "Kashmiri"
+ },
+ "km": {
+ "name": "Khmer"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "rw": {
+ "name": "Kinyarwanda"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "Lao"
+ },
+ "lv": {
+ "name": "Latvian"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "lt": {
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "mk": {
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "mg": {
+ "name": "Malagasy"
+ },
+ "ml": {
+ "name": "Malayalam"
+ },
+ "mt": {
+ "name": "Maltese"
+ },
+ "gv": {
+ "name": "Manx"
+ },
+ "mr": {
+ "name": "Marathi"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nds-NL": {
+ "name": "nds (NL)"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "nl-BE": {
+ "name": "nl (BE)"
+ },
+ "nd": {
+ "name": "North Ndebele"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "se": {
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "or": {
+ "name": "Odia"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "os": {
+ "name": "Ossetic"
+ },
+ "ps": {
+ "name": "Pashto"
+ },
+ "pl": {
+ "name": "Polish"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "qu": {
+ "name": "Quechua"
+ },
+ "rm": {
+ "name": "Romansh"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "rn": {
+ "name": "Rundi"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "gd": {
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "sr": {
+ "name": "Serbian"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "si": {
+ "name": "Sinhala"
+ },
+ "sl": {
+ "name": "Slovenian"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "so": {
+ "name": "Somali"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw-CD": {
+ "name": "sw (CD)"
+ },
+ "sw": {
+ "name": "Swahili"
+ },
+ "sv": {
+ "name": "Swedish"
+ },
+ "gsw": {
+ "name": "Swiss German"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "th": {
+ "name": "Thai"
+ },
+ "ti": {
+ "name": "Tigrinya"
+ },
+ "to": {
+ "name": "Tongan"
+ },
+ "tr": {
+ "name": "Turkish"
+ },
+ "tk": {
+ "name": "Turkmen"
+ },
+ "hsb": {
+ "name": "Upper Sorbian"
+ },
+ "ur": {
+ "name": "Urdu"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vi": {
+ "name": "Vietnamese"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "cy": {
+ "name": "Welsh"
+ },
+ "fy": {
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "yi": {
+ "name": "Yiddish"
+ },
+ "yo": {
+ "name": "Yoruba"
+ },
+ "dje": {
+ "name": "Zarma"
+ },
+ "en": {
+ "name": "Ааҥыллыы"
+ },
+ "en-AU": {
+ "name": "Ааҥыллыы (AU)"
+ },
+ "en-CA": {
+ "name": "Ааҥыллыы (Канаада)"
+ },
+ "en-GB": {
+ "name": "Ааҥыллыы (Улуу Британия)"
+ },
+ "az": {
+ "name": "Адьырбайдьаанныы"
+ },
+ "sq": {
+ "name": "Албаанныы"
+ },
+ "am": {
+ "name": "Амхаардыы"
+ },
+ "af": {
+ "name": "Аппырыкааныстыы"
+ },
+ "ar": {
+ "name": "Араабтыы"
+ },
+ "ast": {
+ "name": "Астуурдуу"
+ },
+ "bn": {
+ "name": "Бенгаллыы"
+ },
+ "fr": {
+ "name": "Боронсуустуу"
+ },
+ "fr-CH": {
+ "name": "Боронсуустуу (CH)"
+ },
+ "fr-CA": {
+ "name": "Боронсуустуу (Канаада)"
+ },
+ "bs": {
+ "name": "Босныйалыы"
+ },
+ "be": {
+ "name": "Бөлөрүүстүү"
+ },
+ "bg": {
+ "name": "Булҕаардыы"
+ },
+ "hu": {
+ "name": "Бэҥгиэрдии"
+ },
+ "el": {
+ "name": "Гириэктии"
+ },
+ "da": {
+ "name": "Даатскайдыы"
+ },
+ "ja": {
+ "name": "Дьоппуоннуу"
+ },
+ "zu": {
+ "name": "Зуулулуу"
+ },
+ "ca": {
+ "name": "Каталаанныы"
+ },
+ "ckb": {
+ "name": "Киин куурдуу"
+ },
+ "ka": {
+ "name": "Курусууннуу"
+ },
+ "ky": {
+ "name": "Кыргыстыы"
+ },
+ "zh": {
+ "name": "Кытайдыы"
+ },
+ "zh-Hans": {
+ "name": "Кытайдыы (Hans)"
+ },
+ "zh-Hant": {
+ "name": "Кытайдыы (Hant)"
+ },
+ "ko": {
+ "name": "Кэриэйдии"
+ },
+ "ms": {
+ "name": "Малаайдыы"
+ },
+ "mn": {
+ "name": "Моҕуоллуу"
+ },
+ "de": {
+ "name": "Ниэмэстии"
+ },
+ "de-AT": {
+ "name": "Ниэмэстии (AT)"
+ },
+ "de-CH": {
+ "name": "Ниэмэстии (CH)"
+ },
+ "ru": {
+ "name": "Нууччалыы"
+ },
+ "ne": {
+ "name": "Ньыпааллыы"
+ },
+ "pa": {
+ "name": "Пандьаабтыы"
+ },
+ "fi": {
+ "name": "Пииннии"
+ },
+ "fil": {
+ "name": "Пилипииннии"
+ },
+ "fa": {
+ "name": "Пиэристии"
+ },
+ "pt": {
+ "name": "Португааллыы"
+ },
+ "pt-PT": {
+ "name": "Португааллыы (PT)"
+ },
+ "ro": {
+ "name": "Румыынныы"
+ },
+ "ro-MD": {
+ "name": "Румыынныы (MD)"
+ },
+ "sah": {
+ "name": "саха тыла"
+ },
+ "sk": {
+ "name": "Словаактыы"
+ },
+ "ta": {
+ "name": "Тамыллыы"
+ },
+ "bo": {
+ "name": "Тибиэттии"
+ },
+ "te": {
+ "name": "Төлүгүлүү"
+ },
+ "ug": {
+ "name": "Уйгуурдуу"
+ },
+ "uk": {
+ "name": "Украйыыньыстыы"
+ },
+ "uz": {
+ "name": "Үзбиэктии"
+ },
+ "kk": {
+ "name": "Хаһаахтыы"
+ },
+ "cs": {
+ "name": "Чиэхтии"
+ },
+ "ce": {
+ "name": "Чэчиэннии"
+ },
+ "es": {
+ "name": "Ыспаанныы"
+ },
+ "es-MX": {
+ "name": "Ыспаанныы (Миэксикэ)"
+ },
+ "it": {
+ "name": "Ытаалыйалыы"
+ },
+ "hy": {
+ "name": "Эрмээннии"
+ },
+ "et": {
+ "name": "Эстиэнийэлии"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/saq.json b/vendor/commerceguys/intl/resources/language/saq.json
new file mode 100644
index 000000000..9f11a3836
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/saq.json
@@ -0,0 +1,632 @@
+{
+ "af": {
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "sq": {
+ "name": "Albanian"
+ },
+ "hy": {
+ "name": "Armenian"
+ },
+ "as": {
+ "name": "Assamese"
+ },
+ "ast": {
+ "name": "Asturian"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "az": {
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "eu": {
+ "name": "Basque"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "bs": {
+ "name": "Bosnian"
+ },
+ "br": {
+ "name": "Breton"
+ },
+ "yue": {
+ "name": "Cantonese"
+ },
+ "ca": {
+ "name": "Catalan"
+ },
+ "tzm": {
+ "name": "Central Atlas Tamazight"
+ },
+ "ckb": {
+ "name": "Central Kurdish"
+ },
+ "ce": {
+ "name": "Chechen"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "cu": {
+ "name": "Church Slavic"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "kw": {
+ "name": "Cornish"
+ },
+ "hr": {
+ "name": "Croatian"
+ },
+ "da": {
+ "name": "Danish"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "dz": {
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "eo": {
+ "name": "Esperanto"
+ },
+ "et": {
+ "name": "Estonian"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fo": {
+ "name": "Faroese"
+ },
+ "fil": {
+ "name": "Filipino"
+ },
+ "fi": {
+ "name": "Finnish"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "gl": {
+ "name": "Galician"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "ka": {
+ "name": "Georgian"
+ },
+ "gu": {
+ "name": "Gujarati"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "haw": {
+ "name": "Hawaiian"
+ },
+ "he": {
+ "name": "Hebrew"
+ },
+ "is": {
+ "name": "Icelandic"
+ },
+ "smn": {
+ "name": "Inari Sami"
+ },
+ "ga": {
+ "name": "Irish"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabyle"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kl": {
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "kn": {
+ "name": "Kannada"
+ },
+ "ks": {
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "name": "Kazakh"
+ },
+ "fa": {
+ "name": "Kiajemi"
+ },
+ "ak": {
+ "name": "Kiakan"
+ },
+ "am": {
+ "name": "Kiamhari"
+ },
+ "ar": {
+ "name": "Kiarabu"
+ },
+ "bn": {
+ "name": "Kibangla"
+ },
+ "be": {
+ "name": "Kibelarusi"
+ },
+ "bg": {
+ "name": "Kibulgaria"
+ },
+ "my": {
+ "name": "Kiburma"
+ },
+ "cs": {
+ "name": "Kichecki"
+ },
+ "zh": {
+ "name": "Kichina"
+ },
+ "zh-Hans": {
+ "name": "Kichina (Hans)"
+ },
+ "zh-Hant": {
+ "name": "Kichina (Hant)"
+ },
+ "fr": {
+ "name": "Kifaransa"
+ },
+ "fr-CA": {
+ "name": "Kifaransa (Kanada)"
+ },
+ "fr-CH": {
+ "name": "Kifaransa (Uswisi)"
+ },
+ "el": {
+ "name": "Kigiriki"
+ },
+ "ha": {
+ "name": "Kihausa"
+ },
+ "hi": {
+ "name": "Kihindi"
+ },
+ "es": {
+ "name": "Kihispania"
+ },
+ "es-MX": {
+ "name": "Kihispania (Meksiko)"
+ },
+ "nl": {
+ "name": "Kiholanzi"
+ },
+ "nl-BE": {
+ "name": "Kiholanzi (Ubelgiji)"
+ },
+ "hu": {
+ "name": "Kihungari"
+ },
+ "ig": {
+ "name": "Kiigbo"
+ },
+ "id": {
+ "name": "Kiindonesia"
+ },
+ "it": {
+ "name": "Kiitaliano"
+ },
+ "ja": {
+ "name": "Kijapani"
+ },
+ "de": {
+ "name": "Kijerumani"
+ },
+ "de-AT": {
+ "name": "Kijerumani (Austria)"
+ },
+ "de-CH": {
+ "name": "Kijerumani (Uswisi)"
+ },
+ "km": {
+ "name": "Kikambodia"
+ },
+ "ko": {
+ "name": "Kikorea"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "ms": {
+ "name": "Kimalesia"
+ },
+ "ne": {
+ "name": "Kinepali"
+ },
+ "en": {
+ "name": "Kingereza"
+ },
+ "en-AU": {
+ "name": "Kingereza (Australia)"
+ },
+ "en-CA": {
+ "name": "Kingereza (Kanada)"
+ },
+ "en-GB": {
+ "name": "Kingereza (Uingereza)"
+ },
+ "rw": {
+ "name": "Kinyarwanda"
+ },
+ "pl": {
+ "name": "Kipolandi"
+ },
+ "pa": {
+ "name": "Kipunjabi"
+ },
+ "pt": {
+ "name": "Kireno"
+ },
+ "pt-PT": {
+ "name": "Kireno (Ureno)"
+ },
+ "ro": {
+ "name": "Kiromania"
+ },
+ "ro-MD": {
+ "name": "Kiromania (Moldova)"
+ },
+ "ru": {
+ "name": "Kirusi"
+ },
+ "saq": {
+ "name": "Kisampur"
+ },
+ "so": {
+ "name": "Kisomali"
+ },
+ "sv": {
+ "name": "Kiswidi"
+ },
+ "th": {
+ "name": "Kitailandi"
+ },
+ "ta": {
+ "name": "Kitamil"
+ },
+ "tr": {
+ "name": "Kituruki"
+ },
+ "uk": {
+ "name": "Kiukrania"
+ },
+ "ur": {
+ "name": "Kiurdu"
+ },
+ "vi": {
+ "name": "Kivietinamu"
+ },
+ "yo": {
+ "name": "Kiyoruba"
+ },
+ "zu": {
+ "name": "Kizulu"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "ky": {
+ "name": "Kyrgyz"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "Lao"
+ },
+ "lv": {
+ "name": "Latvian"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "lt": {
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "mk": {
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "mg": {
+ "name": "Malagasy"
+ },
+ "ml": {
+ "name": "Malayalam"
+ },
+ "mt": {
+ "name": "Maltese"
+ },
+ "gv": {
+ "name": "Manx"
+ },
+ "mr": {
+ "name": "Marathi"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "mn": {
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nds-NL": {
+ "name": "nds (Uholanzi)"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "nd": {
+ "name": "North Ndebele"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "se": {
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "or": {
+ "name": "Odia"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "os": {
+ "name": "Ossetic"
+ },
+ "ps": {
+ "name": "Pashto"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "qu": {
+ "name": "Quechua"
+ },
+ "rm": {
+ "name": "Romansh"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "rn": {
+ "name": "Rundi"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "sah": {
+ "name": "Sakha"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "gd": {
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "sr": {
+ "name": "Serbian"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "si": {
+ "name": "Sinhala"
+ },
+ "sk": {
+ "name": "Slovak"
+ },
+ "sl": {
+ "name": "Slovenian"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw-CD": {
+ "name": "sw (Jamhuri ya Kidemokrasia ya Kongo)"
+ },
+ "sw": {
+ "name": "Swahili"
+ },
+ "gsw": {
+ "name": "Swiss German"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "te": {
+ "name": "Telugu"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "bo": {
+ "name": "Tibetan"
+ },
+ "ti": {
+ "name": "Tigrinya"
+ },
+ "to": {
+ "name": "Tongan"
+ },
+ "tk": {
+ "name": "Turkmen"
+ },
+ "hsb": {
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "name": "Uyghur"
+ },
+ "uz": {
+ "name": "Uzbek"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "cy": {
+ "name": "Welsh"
+ },
+ "fy": {
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "yi": {
+ "name": "Yiddish"
+ },
+ "dje": {
+ "name": "Zarma"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/sbp.json b/vendor/commerceguys/intl/resources/language/sbp.json
new file mode 100644
index 000000000..b180e9e97
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/sbp.json
@@ -0,0 +1,632 @@
+{
+ "af": {
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "sq": {
+ "name": "Albanian"
+ },
+ "hy": {
+ "name": "Armenian"
+ },
+ "as": {
+ "name": "Assamese"
+ },
+ "ast": {
+ "name": "Asturian"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "az": {
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "eu": {
+ "name": "Basque"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "bs": {
+ "name": "Bosnian"
+ },
+ "br": {
+ "name": "Breton"
+ },
+ "yue": {
+ "name": "Cantonese"
+ },
+ "ca": {
+ "name": "Catalan"
+ },
+ "tzm": {
+ "name": "Central Atlas Tamazight"
+ },
+ "ckb": {
+ "name": "Central Kurdish"
+ },
+ "ce": {
+ "name": "Chechen"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "cu": {
+ "name": "Church Slavic"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "kw": {
+ "name": "Cornish"
+ },
+ "hr": {
+ "name": "Croatian"
+ },
+ "da": {
+ "name": "Danish"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "dz": {
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "eo": {
+ "name": "Esperanto"
+ },
+ "et": {
+ "name": "Estonian"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fo": {
+ "name": "Faroese"
+ },
+ "fil": {
+ "name": "Filipino"
+ },
+ "fi": {
+ "name": "Finnish"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "gl": {
+ "name": "Galician"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "ka": {
+ "name": "Georgian"
+ },
+ "gu": {
+ "name": "Gujarati"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "haw": {
+ "name": "Hawaiian"
+ },
+ "he": {
+ "name": "Hebrew"
+ },
+ "is": {
+ "name": "Icelandic"
+ },
+ "smn": {
+ "name": "Inari Sami"
+ },
+ "ga": {
+ "name": "Irish"
+ },
+ "fa": {
+ "name": "Ishiajemi"
+ },
+ "bn": {
+ "name": "Ishibangila"
+ },
+ "be": {
+ "name": "Ishibelalusi"
+ },
+ "bg": {
+ "name": "Ishibulugalia"
+ },
+ "my": {
+ "name": "Ishibuluma"
+ },
+ "fr": {
+ "name": "Ishifalansa"
+ },
+ "fr-CA": {
+ "name": "Ishifalansa (Kanada)"
+ },
+ "fr-CH": {
+ "name": "Ishifalansa (Uswisi)"
+ },
+ "el": {
+ "name": "Ishigiliki"
+ },
+ "ha": {
+ "name": "Ishihawusa"
+ },
+ "ig": {
+ "name": "Ishihigibo"
+ },
+ "hi": {
+ "name": "Ishihindi"
+ },
+ "id": {
+ "name": "Ishihindonesia"
+ },
+ "es": {
+ "name": "Ishihisipaniya"
+ },
+ "es-MX": {
+ "name": "Ishihisipaniya (Mekisiko)"
+ },
+ "it": {
+ "name": "Ishihitaliyano"
+ },
+ "nl": {
+ "name": "Ishiholansi"
+ },
+ "nl-BE": {
+ "name": "Ishiholansi (Ubeligiji)"
+ },
+ "hu": {
+ "name": "Ishihungali"
+ },
+ "ja": {
+ "name": "Ishijapani"
+ },
+ "de": {
+ "name": "Ishijelumani"
+ },
+ "de-AT": {
+ "name": "Ishijelumani (Awusitiliya)"
+ },
+ "de-CH": {
+ "name": "Ishijelumani (Uswisi)"
+ },
+ "km": {
+ "name": "Ishikambodia"
+ },
+ "ko": {
+ "name": "Ishikoleya"
+ },
+ "pt": {
+ "name": "Ishileno"
+ },
+ "pt-PT": {
+ "name": "Ishileno (Wuleno)"
+ },
+ "ro": {
+ "name": "Ishilomaniya"
+ },
+ "ro-MD": {
+ "name": "Ishilomaniya (Molidova)"
+ },
+ "ru": {
+ "name": "Ishilusi"
+ },
+ "ms": {
+ "name": "Ishimalesiya"
+ },
+ "ne": {
+ "name": "Ishinepali"
+ },
+ "en": {
+ "name": "Ishingelesa"
+ },
+ "en-AU": {
+ "name": "Ishingelesa (Awusitilaliya)"
+ },
+ "en-CA": {
+ "name": "Ishingelesa (Kanada)"
+ },
+ "en-GB": {
+ "name": "Ishingelesa (Uwingelesa)"
+ },
+ "rw": {
+ "name": "Ishinyalwanda"
+ },
+ "pl": {
+ "name": "Ishipolandi"
+ },
+ "pa": {
+ "name": "Ishipunjabi"
+ },
+ "sbp": {
+ "name": "Ishisangu"
+ },
+ "cs": {
+ "name": "Ishisheki"
+ },
+ "zh": {
+ "name": "Ishishina"
+ },
+ "zh-Hans": {
+ "name": "Ishishina (Hans)"
+ },
+ "zh-Hant": {
+ "name": "Ishishina (Hant)"
+ },
+ "so": {
+ "name": "Ishisomali"
+ },
+ "zu": {
+ "name": "Ishisulu"
+ },
+ "sv": {
+ "name": "Ishiswidi"
+ },
+ "ta": {
+ "name": "Ishitamili"
+ },
+ "th": {
+ "name": "Ishitayilandi"
+ },
+ "tr": {
+ "name": "Ishituluki"
+ },
+ "vi": {
+ "name": "Ishivietinamu"
+ },
+ "ur": {
+ "name": "Ishiwuludi"
+ },
+ "ak": {
+ "name": "Ishiyakani"
+ },
+ "ar": {
+ "name": "Ishiyalabu"
+ },
+ "am": {
+ "name": "Ishiyamuhali"
+ },
+ "yo": {
+ "name": "Ishiyoluba"
+ },
+ "uk": {
+ "name": "Ishiyukilaniya"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabyle"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kl": {
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "kn": {
+ "name": "Kannada"
+ },
+ "ks": {
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "name": "Kazakh"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "ky": {
+ "name": "Kyrgyz"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "Lao"
+ },
+ "lv": {
+ "name": "Latvian"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "lt": {
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "mk": {
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "mg": {
+ "name": "Malagasy"
+ },
+ "ml": {
+ "name": "Malayalam"
+ },
+ "mt": {
+ "name": "Maltese"
+ },
+ "gv": {
+ "name": "Manx"
+ },
+ "mr": {
+ "name": "Marathi"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "mn": {
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nds-NL": {
+ "name": "nds (Wuholansi)"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "nd": {
+ "name": "North Ndebele"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "se": {
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "or": {
+ "name": "Odia"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "os": {
+ "name": "Ossetic"
+ },
+ "ps": {
+ "name": "Pashto"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "qu": {
+ "name": "Quechua"
+ },
+ "rm": {
+ "name": "Romansh"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "rn": {
+ "name": "Rundi"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "sah": {
+ "name": "Sakha"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "gd": {
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "sr": {
+ "name": "Serbian"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "si": {
+ "name": "Sinhala"
+ },
+ "sk": {
+ "name": "Slovak"
+ },
+ "sl": {
+ "name": "Slovenian"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw-CD": {
+ "name": "sw (Jamuhuli ya Kidemokilasiya ya Kongo)"
+ },
+ "sw": {
+ "name": "Swahili"
+ },
+ "gsw": {
+ "name": "Swiss German"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "te": {
+ "name": "Telugu"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "bo": {
+ "name": "Tibetan"
+ },
+ "ti": {
+ "name": "Tigrinya"
+ },
+ "to": {
+ "name": "Tongan"
+ },
+ "tk": {
+ "name": "Turkmen"
+ },
+ "hsb": {
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "name": "Uyghur"
+ },
+ "uz": {
+ "name": "Uzbek"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "cy": {
+ "name": "Welsh"
+ },
+ "fy": {
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "yi": {
+ "name": "Yiddish"
+ },
+ "dje": {
+ "name": "Zarma"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/se-FI.json b/vendor/commerceguys/intl/resources/language/se-FI.json
new file mode 100644
index 000000000..d3d3b3695
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/se-FI.json
@@ -0,0 +1,632 @@
+{
+ "af": {
+ "name": "afrikánsagiella"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "ak": {
+ "name": "Akan"
+ },
+ "sq": {
+ "name": "albánagiella"
+ },
+ "am": {
+ "name": "Amharic"
+ },
+ "smn": {
+ "name": "anárašgiella"
+ },
+ "ar": {
+ "name": "arábagiella"
+ },
+ "hy": {
+ "name": "armenagiella"
+ },
+ "as": {
+ "name": "Assamese"
+ },
+ "ast": {
+ "name": "asturiagiella"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "en-AU": {
+ "name": "austrálialaš eaŋgalsgiella"
+ },
+ "az": {
+ "name": "Azerbaijani"
+ },
+ "zh-Hans": {
+ "name": "álkes kiinnágiella"
+ },
+ "zh-Hant": {
+ "name": "árbevirolaš kiinnágiella"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "eu": {
+ "name": "Basque"
+ },
+ "nl-BE": {
+ "name": "belgialaš hollánddagiella"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "bn": {
+ "name": "bengalagiella"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "bs": {
+ "name": "bosniagiella"
+ },
+ "br": {
+ "name": "bretonagiella"
+ },
+ "en-GB": {
+ "name": "brihttalaš eaŋgalsgiella"
+ },
+ "bg": {
+ "name": "bulgáriagiella"
+ },
+ "my": {
+ "name": "burmagiella"
+ },
+ "tzm": {
+ "name": "Central Atlas Tamazight"
+ },
+ "ckb": {
+ "name": "Central Kurdish"
+ },
+ "ce": {
+ "name": "Chechen"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "cu": {
+ "name": "Church Slavic"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "cs": {
+ "name": "čeahkagiella"
+ },
+ "se": {
+ "name": "davvisámegiella"
+ },
+ "da": {
+ "name": "dánskkagiella"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "de": {
+ "name": "duiskkagiella"
+ },
+ "tr": {
+ "name": "durkagiella"
+ },
+ "dz": {
+ "name": "dzongkhagiella"
+ },
+ "en": {
+ "name": "eaŋgalsgiella"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "eo": {
+ "name": "Esperanto"
+ },
+ "et": {
+ "name": "esttegiella"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fo": {
+ "name": "fearagiella"
+ },
+ "fil": {
+ "name": "filippiinnagiella"
+ },
+ "fr": {
+ "name": "fránskkagiella"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "gl": {
+ "name": "Galician"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "ka": {
+ "name": "georgiagiella"
+ },
+ "nb": {
+ "name": "girjedárogiella"
+ },
+ "el": {
+ "name": "greikkagiella"
+ },
+ "gu": {
+ "name": "gujaratagiella"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "ha": {
+ "name": "haussagiella"
+ },
+ "haw": {
+ "name": "hawaiigiella"
+ },
+ "he": {
+ "name": "Hebrew"
+ },
+ "hi": {
+ "name": "hindigiella"
+ },
+ "nl": {
+ "name": "hollánddagiella"
+ },
+ "ig": {
+ "name": "Igbo"
+ },
+ "ga": {
+ "name": "iirragiella"
+ },
+ "id": {
+ "name": "indonesiagiella"
+ },
+ "is": {
+ "name": "islánddagiella"
+ },
+ "it": {
+ "name": "itáliagiella"
+ },
+ "ja": {
+ "name": "japánagiella"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabyle"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kl": {
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "km": {
+ "name": "kambožagiella"
+ },
+ "en-CA": {
+ "name": "kanádalaš eaŋgalsgiella"
+ },
+ "fr-CA": {
+ "name": "kanádalaš fránskkagiella"
+ },
+ "kn": {
+ "name": "Kannada"
+ },
+ "yue": {
+ "name": "kantongiella"
+ },
+ "ks": {
+ "name": "Kashmiri"
+ },
+ "ca": {
+ "name": "katalánagiella"
+ },
+ "kk": {
+ "name": "kazakhgiella"
+ },
+ "zh": {
+ "name": "kiinnágiella"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "rw": {
+ "name": "Kinyarwanda"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "ko": {
+ "name": "koreagiella"
+ },
+ "kw": {
+ "name": "kornagiella"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "hr": {
+ "name": "kroátiagiella"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "cy": {
+ "name": "kymragiella"
+ },
+ "ky": {
+ "name": "Kyrgyz"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "laogiella"
+ },
+ "lv": {
+ "name": "látviagiella"
+ },
+ "lt": {
+ "name": "liettuvagiella"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "dsb": {
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "luxemburggagiella"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mk": {
+ "name": "makedoniagiella"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "mg": {
+ "name": "Malagasy"
+ },
+ "ms": {
+ "name": "Malay"
+ },
+ "ml": {
+ "name": "Malayalam"
+ },
+ "mt": {
+ "name": "maltagiella"
+ },
+ "gv": {
+ "name": "manksgiella"
+ },
+ "mr": {
+ "name": "Marathi"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "es-MX": {
+ "name": "meksikolaš spánskkagiella"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "ro-MD": {
+ "name": "moldávialaš romániagiella"
+ },
+ "mn": {
+ "name": "mongoliagiella"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nds-NL": {
+ "name": "nds (Vuolleeatnamat)"
+ },
+ "ne": {
+ "name": "nepalagiella"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "nd": {
+ "name": "North Ndebele"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "de-AT": {
+ "name": "nuortariikkalaš duiskkagiella"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "fy": {
+ "name": "oarjifriisagiella"
+ },
+ "or": {
+ "name": "Odia"
+ },
+ "nn": {
+ "name": "ođđadárogiella"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "os": {
+ "name": "Ossetic"
+ },
+ "pa": {
+ "name": "panjabagiella"
+ },
+ "ps": {
+ "name": "Pashto"
+ },
+ "fa": {
+ "name": "persijagiella"
+ },
+ "pl": {
+ "name": "polskkagiella"
+ },
+ "pt": {
+ "name": "portugálagiella"
+ },
+ "pt-PT": {
+ "name": "portugálalaš portugálagiella"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "qu": {
+ "name": "Quechua"
+ },
+ "rm": {
+ "name": "romanšgiella"
+ },
+ "ro": {
+ "name": "romániagiella"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "rn": {
+ "name": "Rundi"
+ },
+ "ru": {
+ "name": "ruoššagiella"
+ },
+ "sv": {
+ "name": "ruoŧagiella"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "sah": {
+ "name": "Sakha"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "gd": {
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "sr": {
+ "name": "serbiagiella"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "si": {
+ "name": "Sinhala"
+ },
+ "sk": {
+ "name": "slovákiagiella"
+ },
+ "sl": {
+ "name": "slovenagiella"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "so": {
+ "name": "Somali"
+ },
+ "es": {
+ "name": "spánskkagiella"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "fi": {
+ "name": "suomagiella"
+ },
+ "sw-CD": {
+ "name": "sw (Kongo-Kinshasa)"
+ },
+ "sw": {
+ "name": "Swahili"
+ },
+ "gsw": {
+ "name": "Swiss German"
+ },
+ "de-CH": {
+ "name": "šveicalaš duiskkagiella"
+ },
+ "fr-CH": {
+ "name": "šveicalaš fránskkagiella"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "ta": {
+ "name": "Tamil"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "te": {
+ "name": "Telugu"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "th": {
+ "name": "thaigiella"
+ },
+ "bo": {
+ "name": "tibetagiella"
+ },
+ "ti": {
+ "name": "Tigrinya"
+ },
+ "to": {
+ "name": "Tongan"
+ },
+ "tk": {
+ "name": "Turkmen"
+ },
+ "uk": {
+ "name": "ukrainagiella"
+ },
+ "hu": {
+ "name": "ungárgiella"
+ },
+ "hsb": {
+ "name": "Upper Sorbian"
+ },
+ "ur": {
+ "name": "urdugiella"
+ },
+ "ug": {
+ "name": "Uyghur"
+ },
+ "uz": {
+ "name": "Uzbek"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vi": {
+ "name": "vietnamagiella"
+ },
+ "be": {
+ "name": "vilgesruoššagiella"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "yi": {
+ "name": "Yiddish"
+ },
+ "yo": {
+ "name": "Yoruba"
+ },
+ "dje": {
+ "name": "Zarma"
+ },
+ "zu": {
+ "name": "Zulu"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/se.json b/vendor/commerceguys/intl/resources/language/se.json
new file mode 100644
index 000000000..e4a03526e
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/se.json
@@ -0,0 +1,632 @@
+{
+ "af": {
+ "name": "afrikánsagiella"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "ak": {
+ "name": "Akan"
+ },
+ "sq": {
+ "name": "albánagiella"
+ },
+ "am": {
+ "name": "Amharic"
+ },
+ "smn": {
+ "name": "anárašgiella"
+ },
+ "ar": {
+ "name": "arábagiella"
+ },
+ "hy": {
+ "name": "armeenagiella"
+ },
+ "as": {
+ "name": "Assamese"
+ },
+ "ast": {
+ "name": "asturiagiella"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "az": {
+ "name": "Azerbaijani"
+ },
+ "zh-Hans": {
+ "name": "álki kiinágiella"
+ },
+ "zh-Hant": {
+ "name": "árbevirolaš kiinnágiella"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "eu": {
+ "name": "Basque"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "bn": {
+ "name": "bengalgiella"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "bs": {
+ "name": "bosniagiella"
+ },
+ "br": {
+ "name": "bretonagiella"
+ },
+ "bg": {
+ "name": "bulgáriagiella"
+ },
+ "my": {
+ "name": "burmagiella"
+ },
+ "tzm": {
+ "name": "Central Atlas Tamazight"
+ },
+ "ckb": {
+ "name": "Central Kurdish"
+ },
+ "ce": {
+ "name": "Chechen"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "cu": {
+ "name": "Church Slavic"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "cs": {
+ "name": "čeahkagiella"
+ },
+ "se": {
+ "name": "davvisámegiella"
+ },
+ "da": {
+ "name": "dánskkagiella"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "de": {
+ "name": "duiskkagiella"
+ },
+ "de-AT": {
+ "name": "duiskkagiella (Nuortariika)"
+ },
+ "de-CH": {
+ "name": "duiskkagiella (Šveica)"
+ },
+ "tr": {
+ "name": "durkagiella"
+ },
+ "dz": {
+ "name": "dzongkhagiella"
+ },
+ "en": {
+ "name": "eaŋgalsgiella"
+ },
+ "en-AU": {
+ "name": "eaŋgalsgiella (Austrália)"
+ },
+ "en-CA": {
+ "name": "eaŋgalsgiella (Kanáda)"
+ },
+ "en-GB": {
+ "name": "eaŋgalsgiella (Stuorra-Británnia)"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "eo": {
+ "name": "Esperanto"
+ },
+ "et": {
+ "name": "esttegiella"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fo": {
+ "name": "fearagiella"
+ },
+ "fil": {
+ "name": "filippiinnagiella"
+ },
+ "fr": {
+ "name": "fránskkagiella"
+ },
+ "fr-CA": {
+ "name": "fránskkagiella (Kanáda)"
+ },
+ "fr-CH": {
+ "name": "fránskkagiella (Šveica)"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "gl": {
+ "name": "Galician"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "ka": {
+ "name": "georgiagiella"
+ },
+ "nb": {
+ "name": "girjedárogiella"
+ },
+ "el": {
+ "name": "greikkagiella"
+ },
+ "gu": {
+ "name": "gujaratagiella"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "ha": {
+ "name": "haussagiella"
+ },
+ "haw": {
+ "name": "hawaiigiella"
+ },
+ "he": {
+ "name": "Hebrew"
+ },
+ "hi": {
+ "name": "hindigiella"
+ },
+ "nl": {
+ "name": "hollánddagiella"
+ },
+ "nl-BE": {
+ "name": "hollánddagiella (Belgia)"
+ },
+ "ig": {
+ "name": "Igbo"
+ },
+ "ga": {
+ "name": "iirragiella"
+ },
+ "id": {
+ "name": "indonesiagiella"
+ },
+ "is": {
+ "name": "islánddagiella"
+ },
+ "it": {
+ "name": "itáliagiella"
+ },
+ "ja": {
+ "name": "japánagiella"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabyle"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kl": {
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "km": {
+ "name": "kambodiagiella"
+ },
+ "kn": {
+ "name": "Kannada"
+ },
+ "yue": {
+ "name": "kantongiella"
+ },
+ "ks": {
+ "name": "Kashmiri"
+ },
+ "ca": {
+ "name": "katalánagiella"
+ },
+ "kk": {
+ "name": "kazakgiella"
+ },
+ "zh": {
+ "name": "kiinnágiella"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "rw": {
+ "name": "Kinyarwanda"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "ko": {
+ "name": "koreagiella"
+ },
+ "kw": {
+ "name": "kornagiella"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "hr": {
+ "name": "kroátiagiella"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "cy": {
+ "name": "kymragiella"
+ },
+ "ky": {
+ "name": "Kyrgyz"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "laogiella"
+ },
+ "lv": {
+ "name": "látviagiella"
+ },
+ "lt": {
+ "name": "liettuvagiella"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "dsb": {
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "luxemburggagiella"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mk": {
+ "name": "makedoniagiella"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "mg": {
+ "name": "Malagasy"
+ },
+ "ms": {
+ "name": "Malay"
+ },
+ "ml": {
+ "name": "Malayalam"
+ },
+ "mt": {
+ "name": "maltagiella"
+ },
+ "gv": {
+ "name": "manksgiella"
+ },
+ "mr": {
+ "name": "Marathi"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "mn": {
+ "name": "mongoliagiella"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nds-NL": {
+ "name": "nds (Vuolleeatnamat)"
+ },
+ "ne": {
+ "name": "nepaligiella"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "nd": {
+ "name": "North Ndebele"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "fy": {
+ "name": "oarjifriisagiella"
+ },
+ "or": {
+ "name": "Odia"
+ },
+ "nn": {
+ "name": "ođđadárogiella"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "os": {
+ "name": "Ossetic"
+ },
+ "pa": {
+ "name": "panjabigiella"
+ },
+ "ps": {
+ "name": "Pashto"
+ },
+ "fa": {
+ "name": "persijagiella"
+ },
+ "pl": {
+ "name": "polskkagiella"
+ },
+ "pt": {
+ "name": "portugálagiella"
+ },
+ "pt-PT": {
+ "name": "portugálagiella (Portugála)"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "qu": {
+ "name": "Quechua"
+ },
+ "rm": {
+ "name": "romanšgiella"
+ },
+ "ro": {
+ "name": "romániagiella"
+ },
+ "ro-MD": {
+ "name": "romániagiella (Moldávia)"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "rn": {
+ "name": "Rundi"
+ },
+ "ru": {
+ "name": "ruoššagiella"
+ },
+ "sv": {
+ "name": "ruoŧagiella"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "sah": {
+ "name": "Sakha"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "gd": {
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "sr": {
+ "name": "serbiagiella"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "si": {
+ "name": "Sinhala"
+ },
+ "sk": {
+ "name": "slovákiagiella"
+ },
+ "sl": {
+ "name": "slovenagiella"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "so": {
+ "name": "Somali"
+ },
+ "es": {
+ "name": "spánskkagiella"
+ },
+ "es-MX": {
+ "name": "spánskkagiella (Meksiko)"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "fi": {
+ "name": "suomagiella"
+ },
+ "sw-CD": {
+ "name": "sw (Kongo-Kinshasa)"
+ },
+ "sw": {
+ "name": "Swahili"
+ },
+ "gsw": {
+ "name": "Swiss German"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "ta": {
+ "name": "Tamil"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "te": {
+ "name": "Telugu"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "bo": {
+ "name": "tibetagiella"
+ },
+ "ti": {
+ "name": "Tigrinya"
+ },
+ "to": {
+ "name": "Tongan"
+ },
+ "tk": {
+ "name": "Turkmen"
+ },
+ "th": {
+ "name": "ŧaigiella"
+ },
+ "uk": {
+ "name": "ukrainagiella"
+ },
+ "hu": {
+ "name": "ungárgiella"
+ },
+ "hsb": {
+ "name": "Upper Sorbian"
+ },
+ "ur": {
+ "name": "urdugiella"
+ },
+ "ug": {
+ "name": "Uyghur"
+ },
+ "uz": {
+ "name": "Uzbek"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vi": {
+ "name": "vietnamgiella"
+ },
+ "be": {
+ "name": "vilges-ruoššagiella"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "yi": {
+ "name": "Yiddish"
+ },
+ "yo": {
+ "name": "Yoruba"
+ },
+ "dje": {
+ "name": "Zarma"
+ },
+ "zu": {
+ "name": "Zulu"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/seh.json b/vendor/commerceguys/intl/resources/language/seh.json
new file mode 100644
index 000000000..e4504b2fe
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/seh.json
@@ -0,0 +1,632 @@
+{
+ "af": {
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "ak": {
+ "name": "akan"
+ },
+ "sq": {
+ "name": "Albanian"
+ },
+ "de": {
+ "name": "alemão"
+ },
+ "de-AT": {
+ "name": "alemão (Áustria)"
+ },
+ "de-CH": {
+ "name": "alemão (Suíça)"
+ },
+ "am": {
+ "name": "amárico"
+ },
+ "ar": {
+ "name": "árabe"
+ },
+ "hy": {
+ "name": "Armenian"
+ },
+ "as": {
+ "name": "Assamese"
+ },
+ "ast": {
+ "name": "Asturian"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "az": {
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "eu": {
+ "name": "Basque"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "bn": {
+ "name": "bengali"
+ },
+ "be": {
+ "name": "bielo-russo"
+ },
+ "my": {
+ "name": "birmanês"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "bs": {
+ "name": "Bosnian"
+ },
+ "br": {
+ "name": "Breton"
+ },
+ "bg": {
+ "name": "búlgaro"
+ },
+ "yue": {
+ "name": "Cantonese"
+ },
+ "ca": {
+ "name": "Catalan"
+ },
+ "tzm": {
+ "name": "Central Atlas Tamazight"
+ },
+ "ckb": {
+ "name": "Central Kurdish"
+ },
+ "ce": {
+ "name": "Chechen"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "zh": {
+ "name": "chinês"
+ },
+ "zh-Hans": {
+ "name": "chinês (Hans)"
+ },
+ "zh-Hant": {
+ "name": "chinês (Hant)"
+ },
+ "cu": {
+ "name": "Church Slavic"
+ },
+ "km": {
+ "name": "cmer"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "ko": {
+ "name": "coreano"
+ },
+ "kw": {
+ "name": "Cornish"
+ },
+ "hr": {
+ "name": "Croatian"
+ },
+ "da": {
+ "name": "Danish"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "dz": {
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "es": {
+ "name": "espanhol"
+ },
+ "es-MX": {
+ "name": "espanhol (México)"
+ },
+ "eo": {
+ "name": "Esperanto"
+ },
+ "et": {
+ "name": "Estonian"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fo": {
+ "name": "Faroese"
+ },
+ "fil": {
+ "name": "Filipino"
+ },
+ "fi": {
+ "name": "Finnish"
+ },
+ "fr": {
+ "name": "francês"
+ },
+ "fr-CA": {
+ "name": "francês (Canadá)"
+ },
+ "fr-CH": {
+ "name": "francês (Suíça)"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "gl": {
+ "name": "Galician"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "ka": {
+ "name": "Georgian"
+ },
+ "el": {
+ "name": "grego"
+ },
+ "gu": {
+ "name": "Gujarati"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "ha": {
+ "name": "hausa"
+ },
+ "haw": {
+ "name": "Hawaiian"
+ },
+ "he": {
+ "name": "Hebrew"
+ },
+ "hi": {
+ "name": "hindi"
+ },
+ "nl": {
+ "name": "holandês"
+ },
+ "nl-BE": {
+ "name": "holandês (Bélgica)"
+ },
+ "hu": {
+ "name": "húngaro"
+ },
+ "ig": {
+ "name": "ibo"
+ },
+ "is": {
+ "name": "Icelandic"
+ },
+ "smn": {
+ "name": "Inari Sami"
+ },
+ "id": {
+ "name": "indonésio"
+ },
+ "en": {
+ "name": "inglês"
+ },
+ "en-AU": {
+ "name": "inglês (Austrália)"
+ },
+ "en-CA": {
+ "name": "inglês (Canadá)"
+ },
+ "en-GB": {
+ "name": "inglês (Reino Unido)"
+ },
+ "yo": {
+ "name": "iorubá"
+ },
+ "ga": {
+ "name": "Irish"
+ },
+ "it": {
+ "name": "italiano"
+ },
+ "ja": {
+ "name": "japonês"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabyle"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kl": {
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "kn": {
+ "name": "Kannada"
+ },
+ "ks": {
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "name": "Kazakh"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "rw": {
+ "name": "kinyarwanda"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "ky": {
+ "name": "Kyrgyz"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "Lao"
+ },
+ "lv": {
+ "name": "Latvian"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "lt": {
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "mk": {
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "mg": {
+ "name": "Malagasy"
+ },
+ "ms": {
+ "name": "malaio"
+ },
+ "ml": {
+ "name": "Malayalam"
+ },
+ "mt": {
+ "name": "Maltese"
+ },
+ "gv": {
+ "name": "Manx"
+ },
+ "mr": {
+ "name": "Marathi"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "mn": {
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nds-NL": {
+ "name": "nds (Holanda)"
+ },
+ "ne": {
+ "name": "nepalês"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "nd": {
+ "name": "North Ndebele"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "se": {
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "or": {
+ "name": "Odia"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "os": {
+ "name": "Ossetic"
+ },
+ "pa": {
+ "name": "panjabi"
+ },
+ "ps": {
+ "name": "Pashto"
+ },
+ "fa": {
+ "name": "persa"
+ },
+ "pl": {
+ "name": "polonês"
+ },
+ "pt": {
+ "name": "português"
+ },
+ "pt-PT": {
+ "name": "português (Portugal)"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "qu": {
+ "name": "Quechua"
+ },
+ "rm": {
+ "name": "Romansh"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "ro": {
+ "name": "romeno"
+ },
+ "ro-MD": {
+ "name": "romeno (Moldávia)"
+ },
+ "rn": {
+ "name": "Rundi"
+ },
+ "ru": {
+ "name": "russo"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "sah": {
+ "name": "Sakha"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "gd": {
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "name": "sena"
+ },
+ "sr": {
+ "name": "Serbian"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "si": {
+ "name": "Sinhala"
+ },
+ "sk": {
+ "name": "Slovak"
+ },
+ "sl": {
+ "name": "Slovenian"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "so": {
+ "name": "somali"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sv": {
+ "name": "sueco"
+ },
+ "sw-CD": {
+ "name": "sw (Congo-Kinshasa)"
+ },
+ "sw": {
+ "name": "Swahili"
+ },
+ "gsw": {
+ "name": "Swiss German"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "th": {
+ "name": "tailandês"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "ta": {
+ "name": "tâmil"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "cs": {
+ "name": "tcheco"
+ },
+ "te": {
+ "name": "Telugu"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "bo": {
+ "name": "Tibetan"
+ },
+ "ti": {
+ "name": "Tigrinya"
+ },
+ "to": {
+ "name": "Tongan"
+ },
+ "tr": {
+ "name": "turco"
+ },
+ "tk": {
+ "name": "Turkmen"
+ },
+ "uk": {
+ "name": "ucraniano"
+ },
+ "hsb": {
+ "name": "Upper Sorbian"
+ },
+ "ur": {
+ "name": "urdu"
+ },
+ "ug": {
+ "name": "Uyghur"
+ },
+ "uz": {
+ "name": "Uzbek"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vi": {
+ "name": "vietnamita"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "cy": {
+ "name": "Welsh"
+ },
+ "fy": {
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "yi": {
+ "name": "Yiddish"
+ },
+ "dje": {
+ "name": "Zarma"
+ },
+ "zu": {
+ "name": "zulu"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/ses.json b/vendor/commerceguys/intl/resources/language/ses.json
new file mode 100644
index 000000000..1ae72fb47
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/ses.json
@@ -0,0 +1,632 @@
+{
+ "af": {
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "ak": {
+ "name": "Akan senni"
+ },
+ "sq": {
+ "name": "Albanian"
+ },
+ "de": {
+ "name": "Almaŋ senni"
+ },
+ "de-AT": {
+ "name": "Almaŋ senni (Otriši)"
+ },
+ "de-CH": {
+ "name": "Almaŋ senni (Swisu)"
+ },
+ "am": {
+ "name": "Amhaarik senni"
+ },
+ "hy": {
+ "name": "Armenian"
+ },
+ "as": {
+ "name": "Assamese"
+ },
+ "ast": {
+ "name": "Asturian"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "az": {
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "eu": {
+ "name": "Basque"
+ },
+ "be": {
+ "name": "Belaruus senni"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "bn": {
+ "name": "Bengali senni"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "bs": {
+ "name": "Bosnian"
+ },
+ "br": {
+ "name": "Breton"
+ },
+ "bg": {
+ "name": "Bulagaari senni"
+ },
+ "my": {
+ "name": "Burme senni"
+ },
+ "yue": {
+ "name": "Cantonese"
+ },
+ "ca": {
+ "name": "Catalan"
+ },
+ "cs": {
+ "name": "Cek senni"
+ },
+ "tzm": {
+ "name": "Central Atlas Tamazight"
+ },
+ "ckb": {
+ "name": "Central Kurdish"
+ },
+ "ce": {
+ "name": "Chechen"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "cu": {
+ "name": "Church Slavic"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "kw": {
+ "name": "Cornish"
+ },
+ "hr": {
+ "name": "Croatian"
+ },
+ "da": {
+ "name": "Danish"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "dz": {
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "es": {
+ "name": "Espaaɲe senni"
+ },
+ "es-MX": {
+ "name": "Espaaɲe senni (Mexiki)"
+ },
+ "eo": {
+ "name": "Esperanto"
+ },
+ "et": {
+ "name": "Estonian"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fo": {
+ "name": "Faroese"
+ },
+ "fa": {
+ "name": "Farsi senni"
+ },
+ "fil": {
+ "name": "Filipino"
+ },
+ "fi": {
+ "name": "Finnish"
+ },
+ "fr": {
+ "name": "Fransee senni"
+ },
+ "fr-CA": {
+ "name": "Fransee senni (Kanaada)"
+ },
+ "fr-CH": {
+ "name": "Fransee senni (Swisu)"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "gl": {
+ "name": "Galician"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "ka": {
+ "name": "Georgian"
+ },
+ "el": {
+ "name": "Grek senni"
+ },
+ "gu": {
+ "name": "Gujarati"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "haw": {
+ "name": "Hawaiian"
+ },
+ "ha": {
+ "name": "Hawsance senni"
+ },
+ "he": {
+ "name": "Hebrew"
+ },
+ "nl": {
+ "name": "Holandee senni"
+ },
+ "nl-BE": {
+ "name": "Holandee senni (Belgiiki)"
+ },
+ "hu": {
+ "name": "Hungaari senni"
+ },
+ "ig": {
+ "name": "Iboo senni"
+ },
+ "is": {
+ "name": "Icelandic"
+ },
+ "smn": {
+ "name": "Inari Sami"
+ },
+ "id": {
+ "name": "Indoneesi senni"
+ },
+ "hi": {
+ "name": "Induu senni"
+ },
+ "en": {
+ "name": "Inglisi senni"
+ },
+ "en-GB": {
+ "name": "Inglisi senni (Albaasalaama Marganta)"
+ },
+ "en-CA": {
+ "name": "Inglisi senni (Kanaada)"
+ },
+ "en-AU": {
+ "name": "Inglisi senni (Ostraali)"
+ },
+ "ga": {
+ "name": "Irish"
+ },
+ "it": {
+ "name": "Itaali senni"
+ },
+ "ja": {
+ "name": "Japonee senni"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabyle"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kl": {
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "kn": {
+ "name": "Kannada"
+ },
+ "ks": {
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "name": "Kazakh"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "km": {
+ "name": "Kmeer senni"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "ko": {
+ "name": "Koree senni"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro senni"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "ky": {
+ "name": "Kyrgyz"
+ },
+ "ar": {
+ "name": "Laaraw senni"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "Lao"
+ },
+ "lv": {
+ "name": "Latvian"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "lt": {
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "mk": {
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "mg": {
+ "name": "Malagasy"
+ },
+ "ml": {
+ "name": "Malayalam"
+ },
+ "ms": {
+ "name": "Maleezi senni"
+ },
+ "mt": {
+ "name": "Maltese"
+ },
+ "gv": {
+ "name": "Manx"
+ },
+ "mr": {
+ "name": "Marathi"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "mn": {
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nds-NL": {
+ "name": "nds (Hollandu)"
+ },
+ "ne": {
+ "name": "Neepal senni"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "nd": {
+ "name": "North Ndebele"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "se": {
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "or": {
+ "name": "Odia"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "os": {
+ "name": "Ossetic"
+ },
+ "ps": {
+ "name": "Pashto"
+ },
+ "pl": {
+ "name": "Polonee senni"
+ },
+ "pt": {
+ "name": "Portugee senni"
+ },
+ "pt-PT": {
+ "name": "Portugee senni (Portugaal)"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "pa": {
+ "name": "Punjaabi sennii"
+ },
+ "qu": {
+ "name": "Quechua"
+ },
+ "rm": {
+ "name": "Romansh"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "ro": {
+ "name": "Rumaani senni"
+ },
+ "ro-MD": {
+ "name": "Rumaani senni (Moldovi)"
+ },
+ "rn": {
+ "name": "Rundi"
+ },
+ "ru": {
+ "name": "Ruusi senni"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "rw": {
+ "name": "Rwanda senni"
+ },
+ "sah": {
+ "name": "Sakha"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "gd": {
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "sr": {
+ "name": "Serbian"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "si": {
+ "name": "Sinhala"
+ },
+ "zh": {
+ "name": "Sinuwa senni, Mandareŋ"
+ },
+ "zh-Hans": {
+ "name": "Sinuwa senni, Mandareŋ (Hans)"
+ },
+ "zh-Hant": {
+ "name": "Sinuwa senni, Mandareŋ (Hant)"
+ },
+ "sk": {
+ "name": "Slovak"
+ },
+ "sl": {
+ "name": "Slovenian"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "so": {
+ "name": "Somaali senni"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sv": {
+ "name": "Suweede senni"
+ },
+ "sw-CD": {
+ "name": "sw (Kongoo demookaratiki laboo)"
+ },
+ "sw": {
+ "name": "Swahili"
+ },
+ "gsw": {
+ "name": "Swiss German"
+ },
+ "th": {
+ "name": "Taailandu senni"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "ta": {
+ "name": "Tamil senni"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "te": {
+ "name": "Telugu"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "bo": {
+ "name": "Tibetan"
+ },
+ "ti": {
+ "name": "Tigrinya"
+ },
+ "to": {
+ "name": "Tongan"
+ },
+ "tk": {
+ "name": "Turkmen"
+ },
+ "tr": {
+ "name": "Turku senni"
+ },
+ "uk": {
+ "name": "Ukreen senni"
+ },
+ "hsb": {
+ "name": "Upper Sorbian"
+ },
+ "ur": {
+ "name": "Urdu senni"
+ },
+ "ug": {
+ "name": "Uyghur"
+ },
+ "uz": {
+ "name": "Uzbek"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vi": {
+ "name": "Vietnaam senni"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "cy": {
+ "name": "Welsh"
+ },
+ "fy": {
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "yi": {
+ "name": "Yiddish"
+ },
+ "yo": {
+ "name": "Yorbance senni"
+ },
+ "dje": {
+ "name": "Zarma"
+ },
+ "zu": {
+ "name": "Zulu senni"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/sg.json b/vendor/commerceguys/intl/resources/language/sg.json
new file mode 100644
index 000000000..6359b8c4c
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/sg.json
@@ -0,0 +1,632 @@
+{
+ "af": {
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "ak": {
+ "name": "Akâan"
+ },
+ "sq": {
+ "name": "Albanian"
+ },
+ "am": {
+ "name": "Amarîki"
+ },
+ "en": {
+ "name": "Anglëe"
+ },
+ "en-CA": {
+ "name": "Anglëe (Kanadäa)"
+ },
+ "en-GB": {
+ "name": "Anglëe (Ködörögbïä--Ôko)"
+ },
+ "en-AU": {
+ "name": "Anglëe (Ostralïi, Sotralïi)"
+ },
+ "ar": {
+ "name": "Arâbo"
+ },
+ "hy": {
+ "name": "Armenian"
+ },
+ "as": {
+ "name": "Assamese"
+ },
+ "ast": {
+ "name": "Asturian"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "az": {
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "eu": {
+ "name": "Basque"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "bn": {
+ "name": "Bengäli"
+ },
+ "be": {
+ "name": "Bielörûsi"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "bs": {
+ "name": "Bosnian"
+ },
+ "br": {
+ "name": "Breton"
+ },
+ "bg": {
+ "name": "Bulugäri"
+ },
+ "yue": {
+ "name": "Cantonese"
+ },
+ "ca": {
+ "name": "Catalan"
+ },
+ "tzm": {
+ "name": "Central Atlas Tamazight"
+ },
+ "ckb": {
+ "name": "Central Kurdish"
+ },
+ "ce": {
+ "name": "Chechen"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "cu": {
+ "name": "Church Slavic"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "kw": {
+ "name": "Cornish"
+ },
+ "hr": {
+ "name": "Croatian"
+ },
+ "da": {
+ "name": "Danish"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "dz": {
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "it": {
+ "name": "Ênnde"
+ },
+ "id": {
+ "name": "Enndonezïi"
+ },
+ "es": {
+ "name": "Espanyöl"
+ },
+ "es-MX": {
+ "name": "Espanyöl (Mekisîki)"
+ },
+ "eo": {
+ "name": "Esperanto"
+ },
+ "et": {
+ "name": "Estonian"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fr": {
+ "name": "Farânzi"
+ },
+ "fr-CA": {
+ "name": "Farânzi (Kanadäa)"
+ },
+ "fr-CH": {
+ "name": "Farânzi (Sûîsi)"
+ },
+ "fo": {
+ "name": "Faroese"
+ },
+ "fa": {
+ "name": "Farsî"
+ },
+ "fil": {
+ "name": "Filipino"
+ },
+ "fi": {
+ "name": "Finnish"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "gl": {
+ "name": "Galician"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "ka": {
+ "name": "Georgian"
+ },
+ "el": {
+ "name": "Gerêki"
+ },
+ "gu": {
+ "name": "Gujarati"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "ha": {
+ "name": "Haüsä"
+ },
+ "haw": {
+ "name": "Hawaiian"
+ },
+ "he": {
+ "name": "Hebrew"
+ },
+ "hi": {
+ "name": "Hîndi"
+ },
+ "nl": {
+ "name": "Holandëe"
+ },
+ "nl-BE": {
+ "name": "Holandëe (Bêleze, Belezîki)"
+ },
+ "hu": {
+ "name": "Hongruäa"
+ },
+ "is": {
+ "name": "Icelandic"
+ },
+ "ig": {
+ "name": "Ïgbö"
+ },
+ "smn": {
+ "name": "Inari Sami"
+ },
+ "ga": {
+ "name": "Irish"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabyle"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kl": {
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "kn": {
+ "name": "Kannada"
+ },
+ "ks": {
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "name": "Kazakh"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "km": {
+ "name": "Kmêre"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "ko": {
+ "name": "Koreyëen"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "ky": {
+ "name": "Kyrgyz"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "Lao"
+ },
+ "lv": {
+ "name": "Latvian"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "lt": {
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "mk": {
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "mg": {
+ "name": "Malagasy"
+ },
+ "ml": {
+ "name": "Malayalam"
+ },
+ "ms": {
+ "name": "Malëe"
+ },
+ "mt": {
+ "name": "Maltese"
+ },
+ "gv": {
+ "name": "Manx"
+ },
+ "mr": {
+ "name": "Marathi"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "my": {
+ "name": "Miamära, Birimäni"
+ },
+ "mn": {
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nds-NL": {
+ "name": "nds (Holände)"
+ },
+ "ne": {
+ "name": "Nepalëe"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "nd": {
+ "name": "North Ndebele"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "se": {
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "or": {
+ "name": "Odia"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "os": {
+ "name": "Ossetic"
+ },
+ "ps": {
+ "name": "Pashto"
+ },
+ "pa": {
+ "name": "Penzäbï"
+ },
+ "pl": {
+ "name": "Polonëe"
+ },
+ "pt": {
+ "name": "Portugëe, Pûra"
+ },
+ "pt-PT": {
+ "name": "Portugëe, Pûra (Pörtugäle, Ködörö Pûra)"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "qu": {
+ "name": "Quechua"
+ },
+ "rm": {
+ "name": "Romansh"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "rw": {
+ "name": "Ruandäa"
+ },
+ "ro": {
+ "name": "Rumëen"
+ },
+ "ro-MD": {
+ "name": "Rumëen (Moldavùii)"
+ },
+ "rn": {
+ "name": "Rundi"
+ },
+ "ru": {
+ "name": "Rûsi"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "sah": {
+ "name": "Sakha"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sängö"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "gd": {
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "sr": {
+ "name": "Serbian"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "zh": {
+ "name": "Shinuäa"
+ },
+ "zh-Hans": {
+ "name": "Shinuäa (Hans)"
+ },
+ "zh-Hant": {
+ "name": "Shinuäa (Hant)"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "si": {
+ "name": "Sinhala"
+ },
+ "sk": {
+ "name": "Slovak"
+ },
+ "sl": {
+ "name": "Slovenian"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "so": {
+ "name": "Somalïi"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sv": {
+ "name": "Sueduäa"
+ },
+ "sw-CD": {
+ "name": "sw (Ködörösêse tî Ngunuhalëzo tî kongö)"
+ },
+ "sw": {
+ "name": "Swahili"
+ },
+ "gsw": {
+ "name": "Swiss German"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "ta": {
+ "name": "Tämûli"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "te": {
+ "name": "Telugu"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "th": {
+ "name": "Thâi"
+ },
+ "bo": {
+ "name": "Tibetan"
+ },
+ "ti": {
+ "name": "Tigrinya"
+ },
+ "to": {
+ "name": "Tongan"
+ },
+ "tk": {
+ "name": "Turkmen"
+ },
+ "tr": {
+ "name": "Tûrûku"
+ },
+ "cs": {
+ "name": "Tyêki"
+ },
+ "uk": {
+ "name": "Ukrêni"
+ },
+ "hsb": {
+ "name": "Upper Sorbian"
+ },
+ "ur": {
+ "name": "Ûrdu"
+ },
+ "ug": {
+ "name": "Uyghur"
+ },
+ "uz": {
+ "name": "Uzbek"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vi": {
+ "name": "Vietnäm"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "cy": {
+ "name": "Welsh"
+ },
+ "fy": {
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "yi": {
+ "name": "Yiddish"
+ },
+ "yo": {
+ "name": "Yoruba"
+ },
+ "de": {
+ "name": "Zâmani"
+ },
+ "de-AT": {
+ "name": "Zâmani (Otrîsi)"
+ },
+ "de-CH": {
+ "name": "Zâmani (Sûîsi)"
+ },
+ "ja": {
+ "name": "Zaponëe"
+ },
+ "dje": {
+ "name": "Zarma"
+ },
+ "zu": {
+ "name": "Zûlu"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/shi-Latn.json b/vendor/commerceguys/intl/resources/language/shi-Latn.json
new file mode 100644
index 000000000..69daaab09
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/shi-Latn.json
@@ -0,0 +1,632 @@
+{
+ "af": {
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "sq": {
+ "name": "Albanian"
+ },
+ "hy": {
+ "name": "Armenian"
+ },
+ "as": {
+ "name": "Assamese"
+ },
+ "ast": {
+ "name": "Asturian"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "az": {
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "eu": {
+ "name": "Basque"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "bs": {
+ "name": "Bosnian"
+ },
+ "br": {
+ "name": "Breton"
+ },
+ "yue": {
+ "name": "Cantonese"
+ },
+ "ca": {
+ "name": "Catalan"
+ },
+ "tzm": {
+ "name": "Central Atlas Tamazight"
+ },
+ "ckb": {
+ "name": "Central Kurdish"
+ },
+ "ce": {
+ "name": "Chechen"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "cu": {
+ "name": "Church Slavic"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "kw": {
+ "name": "Cornish"
+ },
+ "hr": {
+ "name": "Croatian"
+ },
+ "da": {
+ "name": "Danish"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "dz": {
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "eo": {
+ "name": "Esperanto"
+ },
+ "et": {
+ "name": "Estonian"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fo": {
+ "name": "Faroese"
+ },
+ "fil": {
+ "name": "Filipino"
+ },
+ "fi": {
+ "name": "Finnish"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "gl": {
+ "name": "Galician"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "ka": {
+ "name": "Georgian"
+ },
+ "gu": {
+ "name": "Gujarati"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "haw": {
+ "name": "Hawaiian"
+ },
+ "he": {
+ "name": "Hebrew"
+ },
+ "is": {
+ "name": "Icelandic"
+ },
+ "smn": {
+ "name": "Inari Sami"
+ },
+ "ga": {
+ "name": "Irish"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabyle"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kl": {
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "kn": {
+ "name": "Kannada"
+ },
+ "ks": {
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "name": "Kazakh"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "ky": {
+ "name": "Kyrgyz"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "Lao"
+ },
+ "lv": {
+ "name": "Latvian"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "lt": {
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "mk": {
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "mg": {
+ "name": "Malagasy"
+ },
+ "ml": {
+ "name": "Malayalam"
+ },
+ "mt": {
+ "name": "Maltese"
+ },
+ "gv": {
+ "name": "Manx"
+ },
+ "mr": {
+ "name": "Marathi"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "mn": {
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nds-NL": {
+ "name": "nds (hulanda)"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "nd": {
+ "name": "North Ndebele"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "se": {
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "or": {
+ "name": "Odia"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "os": {
+ "name": "Ossetic"
+ },
+ "ps": {
+ "name": "Pashto"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "qu": {
+ "name": "Quechua"
+ },
+ "rm": {
+ "name": "Romansh"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "rn": {
+ "name": "Rundi"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "sah": {
+ "name": "Sakha"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "gd": {
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "sr": {
+ "name": "Serbian"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "si": {
+ "name": "Sinhala"
+ },
+ "sk": {
+ "name": "Slovak"
+ },
+ "sl": {
+ "name": "Slovenian"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw-CD": {
+ "name": "sw (tagdudant tadimukratit n Kongo)"
+ },
+ "sw": {
+ "name": "Swahili"
+ },
+ "gsw": {
+ "name": "Swiss German"
+ },
+ "be": {
+ "name": "Tabilarust"
+ },
+ "my": {
+ "name": "Tabirmanit"
+ },
+ "bg": {
+ "name": "Tablɣarit"
+ },
+ "bn": {
+ "name": "Tabnɣalit"
+ },
+ "pa": {
+ "name": "Tabnjabit"
+ },
+ "pt": {
+ "name": "Tabṛṭqizt"
+ },
+ "pt-PT": {
+ "name": "Tabṛṭqizt (bṛṭqiz)"
+ },
+ "pl": {
+ "name": "Tabulunit"
+ },
+ "zh": {
+ "name": "Tacinwit"
+ },
+ "zh-Hans": {
+ "name": "Tacinwit (Hans)"
+ },
+ "zh-Hant": {
+ "name": "Tacinwit (Hant)"
+ },
+ "ar": {
+ "name": "Taɛrabt"
+ },
+ "vi": {
+ "name": "Tafitnamit"
+ },
+ "fr": {
+ "name": "Tafransist"
+ },
+ "fr-CA": {
+ "name": "Tafransist (kanada)"
+ },
+ "fr-CH": {
+ "name": "Tafransist (swisra)"
+ },
+ "fa": {
+ "name": "Tafursit"
+ },
+ "el": {
+ "name": "Tagrigit"
+ },
+ "ha": {
+ "name": "Tahawsat"
+ },
+ "hi": {
+ "name": "Tahindit"
+ },
+ "hu": {
+ "name": "Tahnɣarit"
+ },
+ "nl": {
+ "name": "Tahulandit"
+ },
+ "nl-BE": {
+ "name": "Tahulandit (bljika)"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "ja": {
+ "name": "Tajabbunit"
+ },
+ "ak": {
+ "name": "Takant"
+ },
+ "ko": {
+ "name": "Takurit"
+ },
+ "de": {
+ "name": "Talimant"
+ },
+ "de-AT": {
+ "name": "Talimant (nnmsa)"
+ },
+ "de-CH": {
+ "name": "Talimant (swisra)"
+ },
+ "ms": {
+ "name": "Tamalawit"
+ },
+ "am": {
+ "name": "Tamharit"
+ },
+ "id": {
+ "name": "Tandunisit"
+ },
+ "en": {
+ "name": "Tanglizt"
+ },
+ "en-CA": {
+ "name": "Tanglizt (kanada)"
+ },
+ "en-GB": {
+ "name": "Tanglizt (tagldit imunn)"
+ },
+ "en-AU": {
+ "name": "Tanglizt (ustralya)"
+ },
+ "ne": {
+ "name": "Tanibalit"
+ },
+ "ro": {
+ "name": "Tarumanit"
+ },
+ "ro-MD": {
+ "name": "Tarumanit (muldufya)"
+ },
+ "ru": {
+ "name": "Tarusit"
+ },
+ "rw": {
+ "name": "Taruwandit"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "es": {
+ "name": "Tasbnyulit"
+ },
+ "es-MX": {
+ "name": "Tasbnyulit (miksik)"
+ },
+ "shi": {
+ "name": "Tashelḥiyt"
+ },
+ "so": {
+ "name": "Tasumalit"
+ },
+ "sv": {
+ "name": "Taswidit"
+ },
+ "it": {
+ "name": "Taṭalyant"
+ },
+ "ta": {
+ "name": "Tatamilt"
+ },
+ "th": {
+ "name": "Tataylandit"
+ },
+ "cs": {
+ "name": "Tatcikit"
+ },
+ "tr": {
+ "name": "Taturkit"
+ },
+ "km": {
+ "name": "Taxmirt"
+ },
+ "yo": {
+ "name": "Tayrubat"
+ },
+ "zu": {
+ "name": "Tazulut"
+ },
+ "te": {
+ "name": "Telugu"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "bo": {
+ "name": "Tibetan"
+ },
+ "ig": {
+ "name": "Tigbut"
+ },
+ "ti": {
+ "name": "Tigrinya"
+ },
+ "to": {
+ "name": "Tongan"
+ },
+ "uk": {
+ "name": "Tukranit"
+ },
+ "ur": {
+ "name": "Turdut"
+ },
+ "tk": {
+ "name": "Turkmen"
+ },
+ "hsb": {
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "name": "Uyghur"
+ },
+ "uz": {
+ "name": "Uzbek"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "cy": {
+ "name": "Welsh"
+ },
+ "fy": {
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "yi": {
+ "name": "Yiddish"
+ },
+ "dje": {
+ "name": "Zarma"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/shi.json b/vendor/commerceguys/intl/resources/language/shi.json
new file mode 100644
index 000000000..02f466464
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/shi.json
@@ -0,0 +1,632 @@
+{
+ "af": {
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "sq": {
+ "name": "Albanian"
+ },
+ "hy": {
+ "name": "Armenian"
+ },
+ "as": {
+ "name": "Assamese"
+ },
+ "ast": {
+ "name": "Asturian"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "az": {
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "eu": {
+ "name": "Basque"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "bs": {
+ "name": "Bosnian"
+ },
+ "br": {
+ "name": "Breton"
+ },
+ "yue": {
+ "name": "Cantonese"
+ },
+ "ca": {
+ "name": "Catalan"
+ },
+ "tzm": {
+ "name": "Central Atlas Tamazight"
+ },
+ "ckb": {
+ "name": "Central Kurdish"
+ },
+ "ce": {
+ "name": "Chechen"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "cu": {
+ "name": "Church Slavic"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "kw": {
+ "name": "Cornish"
+ },
+ "hr": {
+ "name": "Croatian"
+ },
+ "da": {
+ "name": "Danish"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "dz": {
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "eo": {
+ "name": "Esperanto"
+ },
+ "et": {
+ "name": "Estonian"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fo": {
+ "name": "Faroese"
+ },
+ "fil": {
+ "name": "Filipino"
+ },
+ "fi": {
+ "name": "Finnish"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "gl": {
+ "name": "Galician"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "ka": {
+ "name": "Georgian"
+ },
+ "gu": {
+ "name": "Gujarati"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "haw": {
+ "name": "Hawaiian"
+ },
+ "he": {
+ "name": "Hebrew"
+ },
+ "is": {
+ "name": "Icelandic"
+ },
+ "smn": {
+ "name": "Inari Sami"
+ },
+ "ga": {
+ "name": "Irish"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabyle"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kl": {
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "kn": {
+ "name": "Kannada"
+ },
+ "ks": {
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "name": "Kazakh"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "ky": {
+ "name": "Kyrgyz"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "Lao"
+ },
+ "lv": {
+ "name": "Latvian"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "lt": {
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "mk": {
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "mg": {
+ "name": "Malagasy"
+ },
+ "ml": {
+ "name": "Malayalam"
+ },
+ "mt": {
+ "name": "Maltese"
+ },
+ "gv": {
+ "name": "Manx"
+ },
+ "mr": {
+ "name": "Marathi"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "mn": {
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nds-NL": {
+ "name": "nds (ⵀⵓⵍⴰⵏⴷⴰ)"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "nd": {
+ "name": "North Ndebele"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "se": {
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "or": {
+ "name": "Odia"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "os": {
+ "name": "Ossetic"
+ },
+ "ps": {
+ "name": "Pashto"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "qu": {
+ "name": "Quechua"
+ },
+ "rm": {
+ "name": "Romansh"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "rn": {
+ "name": "Rundi"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "sah": {
+ "name": "Sakha"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "gd": {
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "sr": {
+ "name": "Serbian"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "si": {
+ "name": "Sinhala"
+ },
+ "sk": {
+ "name": "Slovak"
+ },
+ "sl": {
+ "name": "Slovenian"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw-CD": {
+ "name": "sw (ⵜⴰⴳⴷⵓⴷⴰⵏⵜ ⵜⴰⴷⵉⵎⵓⵇⵔⴰⵜⵉⵜ ⵏ ⴽⵓⵏⴳⵓ)"
+ },
+ "sw": {
+ "name": "Swahili"
+ },
+ "gsw": {
+ "name": "Swiss German"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "te": {
+ "name": "Telugu"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "bo": {
+ "name": "Tibetan"
+ },
+ "ti": {
+ "name": "Tigrinya"
+ },
+ "to": {
+ "name": "Tongan"
+ },
+ "tk": {
+ "name": "Turkmen"
+ },
+ "hsb": {
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "name": "Uyghur"
+ },
+ "uz": {
+ "name": "Uzbek"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "cy": {
+ "name": "Welsh"
+ },
+ "fy": {
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "yi": {
+ "name": "Yiddish"
+ },
+ "dje": {
+ "name": "Zarma"
+ },
+ "be": {
+ "name": "ⵜⴰⴱⵉⵍⴰⵔⵓⵙⵜ"
+ },
+ "my": {
+ "name": "ⵜⴰⴱⵉⵔⵎⴰⵏⵉⵜ"
+ },
+ "bg": {
+ "name": "ⵜⴰⴱⵍⵖⴰⵔⵉⵜ"
+ },
+ "pa": {
+ "name": "ⵜⴰⴱⵏⵊⴰⴱⵉⵜ"
+ },
+ "bn": {
+ "name": "ⵜⴰⴱⵏⵖⴰⵍⵉⵜ"
+ },
+ "pl": {
+ "name": "ⵜⴰⴱⵓⵍⵓⵏⵉⵜ"
+ },
+ "pt": {
+ "name": "ⵜⴰⴱⵕⵟⵇⵉⵣⵜ"
+ },
+ "pt-PT": {
+ "name": "ⵜⴰⴱⵕⵟⵇⵉⵣⵜ (ⴱⵕⵟⵇⵉⵣ)"
+ },
+ "el": {
+ "name": "ⵜⴰⴳⵔⵉⴳⵉⵜ"
+ },
+ "vi": {
+ "name": "ⵜⴰⴼⵉⵜⵏⴰⵎⵉⵜ"
+ },
+ "fa": {
+ "name": "ⵜⴰⴼⵓⵔⵙⵉⵜ"
+ },
+ "fr": {
+ "name": "ⵜⴰⴼⵔⴰⵏⵙⵉⵙⵜ"
+ },
+ "fr-CA": {
+ "name": "ⵜⴰⴼⵔⴰⵏⵙⵉⵙⵜ (ⴽⴰⵏⴰⴷⴰ)"
+ },
+ "fr-CH": {
+ "name": "ⵜⴰⴼⵔⴰⵏⵙⵉⵙⵜ (ⵙⵡⵉⵙⵔⴰ)"
+ },
+ "ak": {
+ "name": "ⵜⴰⴽⴰⵏⵜ"
+ },
+ "ko": {
+ "name": "ⵜⴰⴽⵓⵔⵉⵜ"
+ },
+ "ha": {
+ "name": "ⵜⴰⵀⴰⵡⵙⴰⵜ"
+ },
+ "hi": {
+ "name": "ⵜⴰⵀⵉⵏⴷⵉⵜ"
+ },
+ "hu": {
+ "name": "ⵜⴰⵀⵏⵖⴰⵔⵉⵜ"
+ },
+ "nl": {
+ "name": "ⵜⴰⵀⵓⵍⴰⵏⴷⵉⵜ"
+ },
+ "nl-BE": {
+ "name": "ⵜⴰⵀⵓⵍⴰⵏⴷⵉⵜ (ⴱⵍⵊⵉⴽⴰ)"
+ },
+ "ar": {
+ "name": "ⵜⴰⵄⵔⴰⴱⵜ"
+ },
+ "km": {
+ "name": "ⵜⴰⵅⵎⵉⵔⵜ"
+ },
+ "ja": {
+ "name": "ⵜⴰⵊⴰⴱⴱⵓⵏⵉⵜ"
+ },
+ "de": {
+ "name": "ⵜⴰⵍⵉⵎⴰⵏⵜ"
+ },
+ "de-AT": {
+ "name": "ⵜⴰⵍⵉⵎⴰⵏⵜ (ⵏⵏⵎⵙⴰ)"
+ },
+ "de-CH": {
+ "name": "ⵜⴰⵍⵉⵎⴰⵏⵜ (ⵙⵡⵉⵙⵔⴰ)"
+ },
+ "ms": {
+ "name": "ⵜⴰⵎⴰⵍⴰⵡⵉⵜ"
+ },
+ "am": {
+ "name": "ⵜⴰⵎⵀⴰⵔⵉⵜ"
+ },
+ "en": {
+ "name": "ⵜⴰⵏⴳⵍⵉⵣⵜ"
+ },
+ "en-CA": {
+ "name": "ⵜⴰⵏⴳⵍⵉⵣⵜ (ⴽⴰⵏⴰⴷⴰ)"
+ },
+ "en-AU": {
+ "name": "ⵜⴰⵏⴳⵍⵉⵣⵜ (ⵓⵙⵜⵔⴰⵍⵢⴰ)"
+ },
+ "en-GB": {
+ "name": "ⵜⴰⵏⴳⵍⵉⵣⵜ (ⵜⴰⴳⵍⴷⵉⵜ ⵉⵎⵓⵏⵏ)"
+ },
+ "id": {
+ "name": "ⵜⴰⵏⴷⵓⵏⵉⵙⵉⵜ"
+ },
+ "ne": {
+ "name": "ⵜⴰⵏⵉⴱⴰⵍⵉⵜ"
+ },
+ "ro": {
+ "name": "ⵜⴰⵔⵓⵎⴰⵏⵉⵜ"
+ },
+ "ro-MD": {
+ "name": "ⵜⴰⵔⵓⵎⴰⵏⵉⵜ (ⵎⵓⵍⴷⵓⴼⵢⴰ)"
+ },
+ "ru": {
+ "name": "ⵜⴰⵔⵓⵙⵉⵜ"
+ },
+ "rw": {
+ "name": "ⵜⴰⵔⵓⵡⴰⵏⴷⵉⵜ"
+ },
+ "es": {
+ "name": "ⵜⴰⵙⴱⵏⵢⵓⵍⵉⵜ"
+ },
+ "es-MX": {
+ "name": "ⵜⴰⵙⴱⵏⵢⵓⵍⵉⵜ (ⵎⵉⴽⵙⵉⴽ)"
+ },
+ "so": {
+ "name": "ⵜⴰⵙⵓⵎⴰⵍⵉⵜ"
+ },
+ "sv": {
+ "name": "ⵜⴰⵙⵡⵉⴷⵉⵜ"
+ },
+ "zh": {
+ "name": "ⵜⴰⵛⵉⵏⵡⵉⵜ"
+ },
+ "zh-Hans": {
+ "name": "ⵜⴰⵛⵉⵏⵡⵉⵜ (Hans)"
+ },
+ "zh-Hant": {
+ "name": "ⵜⴰⵛⵉⵏⵡⵉⵜ (Hant)"
+ },
+ "shi": {
+ "name": "ⵜⴰⵛⵍⵃⵉⵜ"
+ },
+ "ta": {
+ "name": "ⵜⴰⵜⴰⵎⵉⵍⵜ"
+ },
+ "th": {
+ "name": "ⵜⴰⵜⴰⵢⵍⴰⵏⴷⵉⵜ"
+ },
+ "tr": {
+ "name": "ⵜⴰⵜⵓⵔⴽⵉⵜ"
+ },
+ "cs": {
+ "name": "ⵜⴰⵜⵛⵉⴽⵉⵜ"
+ },
+ "it": {
+ "name": "ⵜⴰⵟⴰⵍⵢⴰⵏⵜ"
+ },
+ "yo": {
+ "name": "ⵜⴰⵢⵔⵓⴱⴰⵜ"
+ },
+ "zu": {
+ "name": "ⵜⴰⵣⵓⵍⵓⵜ"
+ },
+ "ig": {
+ "name": "ⵜⵉⴳⴱⵓⵜ"
+ },
+ "uk": {
+ "name": "ⵜⵓⴽⵔⴰⵏⵉⵜ"
+ },
+ "ur": {
+ "name": "ⵜⵓⵔⴷⵓⵜ"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/si.json b/vendor/commerceguys/intl/resources/language/si.json
new file mode 100644
index 000000000..688c40329
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/si.json
@@ -0,0 +1,635 @@
+{
+ "ak": {
+ "name": "අකාන්"
+ },
+ "af": {
+ "name": "අප්‍රිකානු"
+ },
+ "ga": {
+ "name": "අයර්ලන්ත"
+ },
+ "is": {
+ "name": "අයිස්ලන්ත"
+ },
+ "ar": {
+ "name": "අරාබි"
+ },
+ "az": {
+ "name": "අසර්බයිජාන්"
+ },
+ "asa": {
+ "name": "අසු"
+ },
+ "hy": {
+ "name": "ආර්මේනියානු"
+ },
+ "agq": {
+ "name": "ඇගම්"
+ },
+ "am": {
+ "name": "ඇම්හාරික්"
+ },
+ "sq": {
+ "name": "ඇල්බේනියානු"
+ },
+ "as": {
+ "name": "ඇසමියානු"
+ },
+ "ast": {
+ "name": "ඇස්ටියුරියන්"
+ },
+ "en": {
+ "name": "ඉංග්‍රීසි"
+ },
+ "ig": {
+ "name": "ඉග්බෝ"
+ },
+ "it": {
+ "name": "ඉතාලි"
+ },
+ "smn": {
+ "name": "ඉනාරි සාමි"
+ },
+ "id": {
+ "name": "ඉන්දුනීසියානු"
+ },
+ "ee": {
+ "name": "ඉව්"
+ },
+ "hsb": {
+ "name": "ඉහළ සෝබියානු"
+ },
+ "nd": {
+ "name": "උතුරු එන්ඩිබෙලෙ"
+ },
+ "lrc": {
+ "name": "උතුරු ලුරි"
+ },
+ "se": {
+ "name": "උතුරු සාමි"
+ },
+ "ug": {
+ "name": "උයිගර්"
+ },
+ "ur": {
+ "name": "උර්දු"
+ },
+ "uz": {
+ "name": "උස්බෙක්"
+ },
+ "ebu": {
+ "name": "එම්බු"
+ },
+ "ewo": {
+ "name": "එවොන්ඩො"
+ },
+ "et": {
+ "name": "එස්තෝනියානු"
+ },
+ "eo": {
+ "name": "එස්පැරන්ටෝ"
+ },
+ "or": {
+ "name": "ඔරියා"
+ },
+ "om": {
+ "name": "ඔරොමෝ"
+ },
+ "os": {
+ "name": "ඔසිටෙක්"
+ },
+ "de-AT": {
+ "name": "ඔස්ට්‍රියානු ජර්මන්"
+ },
+ "en-AU": {
+ "name": "ඕස්ට්‍රේලියානු ඉංග්‍රීසි"
+ },
+ "kkj": {
+ "name": "කකො"
+ },
+ "kn": {
+ "name": "කණ්ණඩ"
+ },
+ "kea": {
+ "name": "කබුවෙර්ඩියානෝ"
+ },
+ "km": {
+ "name": "කමර්"
+ },
+ "kl": {
+ "name": "කලාලිසට්"
+ },
+ "kln": {
+ "name": "කලෙන්ජන්"
+ },
+ "kk": {
+ "name": "කසාඛ්"
+ },
+ "ks": {
+ "name": "කාෂ්මීර්"
+ },
+ "ca": {
+ "name": "කැටලන්"
+ },
+ "en-CA": {
+ "name": "කැනේඩියානු ඉංග්‍රීසි"
+ },
+ "fr-CA": {
+ "name": "කැනේඩියානු ප්‍රංශ"
+ },
+ "yue": {
+ "name": "කැන්ටොනීස්"
+ },
+ "kab": {
+ "name": "කැබලා"
+ },
+ "kam": {
+ "name": "කැම්බා"
+ },
+ "ki": {
+ "name": "කිකුයු"
+ },
+ "rw": {
+ "name": "කින්යර්වන්ඩා"
+ },
+ "ky": {
+ "name": "කිර්ගිස්"
+ },
+ "nmg": {
+ "name": "කුවාසිඔ"
+ },
+ "kok": {
+ "name": "කොන්කනි"
+ },
+ "khq": {
+ "name": "කොයිරා චිනි"
+ },
+ "ko": {
+ "name": "කොරියානු"
+ },
+ "ksh": {
+ "name": "කොලොග්නියන්"
+ },
+ "kw": {
+ "name": "කෝනීසියානු"
+ },
+ "ses": {
+ "name": "කෝයිරාබොරො සෙන්නි"
+ },
+ "hr": {
+ "name": "ක්‍රෝයේශියානු"
+ },
+ "qu": {
+ "name": "ක්වීචුවා"
+ },
+ "lg": {
+ "name": "ගන්ඩා"
+ },
+ "gl": {
+ "name": "ගැලීසියානු"
+ },
+ "gu": {
+ "name": "ගුජරාටි"
+ },
+ "guz": {
+ "name": "ගුසී"
+ },
+ "el": {
+ "name": "ග්‍රීක"
+ },
+ "cu": {
+ "name": "චර්ච් ස්ලැවික්"
+ },
+ "cgg": {
+ "name": "චිගා"
+ },
+ "zh": {
+ "name": "චීන"
+ },
+ "ce": {
+ "name": "චෙච්නියානු"
+ },
+ "cs": {
+ "name": "චෙත්"
+ },
+ "chr": {
+ "name": "චෙරොකී"
+ },
+ "ja": {
+ "name": "ජපන්"
+ },
+ "de": {
+ "name": "ජර්මන්"
+ },
+ "dyo": {
+ "name": "ජොල-ෆෝනියි"
+ },
+ "ka": {
+ "name": "ජෝර්ජියානු"
+ },
+ "shi": {
+ "name": "ටචේල්හිට්"
+ },
+ "dav": {
+ "name": "ටයිටා"
+ },
+ "tk": {
+ "name": "ටර්ක්මෙන්"
+ },
+ "twq": {
+ "name": "ටසවාක්"
+ },
+ "ti": {
+ "name": "ටිග්‍රින්යා"
+ },
+ "bo": {
+ "name": "ටිබෙට්"
+ },
+ "teo": {
+ "name": "ටෙසෝ"
+ },
+ "to": {
+ "name": "ටොංගා"
+ },
+ "da": {
+ "name": "ඩැනිශ්"
+ },
+ "dz": {
+ "name": "ඩිසොන්කා"
+ },
+ "dua": {
+ "name": "ඩුආලා"
+ },
+ "th": {
+ "name": "තායි"
+ },
+ "tr": {
+ "name": "තුර්කි"
+ },
+ "te": {
+ "name": "තෙළිඟු"
+ },
+ "ta": {
+ "name": "දෙමළ"
+ },
+ "nyn": {
+ "name": "නයන්කොළේ"
+ },
+ "naq": {
+ "name": "නාමා"
+ },
+ "ne": {
+ "name": "නේපාල"
+ },
+ "jgo": {
+ "name": "නොම්බා"
+ },
+ "nus": {
+ "name": "නොයර්"
+ },
+ "nn": {
+ "name": "නොවේර්ජියානු නයිනෝර්ස්ක්"
+ },
+ "nb": {
+ "name": "නෝවේජියානු බොක්මාල්"
+ },
+ "nnh": {
+ "name": "න්ගියාම්බූන්"
+ },
+ "pa": {
+ "name": "පන්ජාබි"
+ },
+ "fa": {
+ "name": "පර්සියානු"
+ },
+ "ps": {
+ "name": "පෂ්ටො"
+ },
+ "nds": {
+ "name": "පහළ ජර්මන්"
+ },
+ "nds-NL": {
+ "name": "පහළ සැක්සන්"
+ },
+ "dsb": {
+ "name": "පහළ සෝබියානු"
+ },
+ "fil": {
+ "name": "පිලිපීන"
+ },
+ "pt": {
+ "name": "පෘතුගීසි"
+ },
+ "prg": {
+ "name": "පෘශියන්"
+ },
+ "pl": {
+ "name": "පෝලන්ත"
+ },
+ "fr": {
+ "name": "ප්‍රංශ"
+ },
+ "fy": {
+ "name": "බටහිර ෆ්‍රිසියානු"
+ },
+ "bm": {
+ "name": "බම්බරා"
+ },
+ "bg": {
+ "name": "බල්ගේරියානු"
+ },
+ "bas": {
+ "name": "බසා"
+ },
+ "ksf": {
+ "name": "බාෆියා"
+ },
+ "my": {
+ "name": "බුරුම"
+ },
+ "bn": {
+ "name": "බෙංගාලි"
+ },
+ "bez": {
+ "name": "බෙනා"
+ },
+ "bem": {
+ "name": "බෙම්බා"
+ },
+ "be": {
+ "name": "බෙලරුසියානු"
+ },
+ "brx": {
+ "name": "බොඩො"
+ },
+ "eu": {
+ "name": "බොස්කෝ"
+ },
+ "bs": {
+ "name": "බොස්නියානු"
+ },
+ "en-GB": {
+ "name": "බ්‍රිතාන්‍ය ඉංග්‍රීසි"
+ },
+ "br": {
+ "name": "බ්‍රේටොන්"
+ },
+ "mgh": {
+ "name": "මඛුවා-මීටෝ"
+ },
+ "tzm": {
+ "name": "මධ්‍යම ඇට්ලස් ටමසිට්"
+ },
+ "mr": {
+ "name": "මරාති"
+ },
+ "mg": {
+ "name": "මලගාසි"
+ },
+ "ml": {
+ "name": "මලයාලම්"
+ },
+ "mas": {
+ "name": "මසායි"
+ },
+ "jmc": {
+ "name": "මැකාමී"
+ },
+ "kde": {
+ "name": "මැකොන්ඩ්"
+ },
+ "gv": {
+ "name": "මැන්ක්ස්"
+ },
+ "ms": {
+ "name": "මැලේ"
+ },
+ "mzn": {
+ "name": "මැසන්ඩරනි"
+ },
+ "mk": {
+ "name": "මැසිඩෝනියානු"
+ },
+ "mua": {
+ "name": "මුන්ඩන්"
+ },
+ "es-MX": {
+ "name": "මෙක්සිකානු ස්පාඤ්ඤ"
+ },
+ "mgo": {
+ "name": "මෙටා"
+ },
+ "mer": {
+ "name": "මෙරු"
+ },
+ "mn": {
+ "name": "මොංගෝලියානු"
+ },
+ "mfe": {
+ "name": "මොරිස්යෙම්"
+ },
+ "mt": {
+ "name": "මොල්ටිස්"
+ },
+ "ro-MD": {
+ "name": "මොල්ඩවිආනු"
+ },
+ "yav": {
+ "name": "යන්ග්බෙන්"
+ },
+ "yi": {
+ "name": "යිඩිශ්"
+ },
+ "uk": {
+ "name": "යුක්රේනියානු"
+ },
+ "pt-PT": {
+ "name": "යුරෝපීය පෘතුගීසි"
+ },
+ "yo": {
+ "name": "යොරූබා"
+ },
+ "rn": {
+ "name": "රුන්ඩි"
+ },
+ "ru": {
+ "name": "රුසියානු"
+ },
+ "rm": {
+ "name": "රොමෑන්ශ්"
+ },
+ "ro": {
+ "name": "රොමේනියානු"
+ },
+ "rof": {
+ "name": "රෝම්බෝ"
+ },
+ "rwk": {
+ "name": "ර්වා"
+ },
+ "lag": {
+ "name": "ලංගි"
+ },
+ "lkt": {
+ "name": "ලකොට"
+ },
+ "lb": {
+ "name": "ලක්සැම්බර්ග්"
+ },
+ "nl": {
+ "name": "ලන්දේසි"
+ },
+ "lo": {
+ "name": "ලාඕ"
+ },
+ "lv": {
+ "name": "ලැට්වියානු"
+ },
+ "lt": {
+ "name": "ලිතුවේනියානු"
+ },
+ "ln": {
+ "name": "ලින්ගලා"
+ },
+ "lu": {
+ "name": "ලු"
+ },
+ "luo": {
+ "name": "ලුඔ"
+ },
+ "luy": {
+ "name": "ලුයියා"
+ },
+ "vai": {
+ "name": "වයි"
+ },
+ "vi": {
+ "name": "වියට්නාම්"
+ },
+ "vun": {
+ "name": "වුන්ජෝ"
+ },
+ "cy": {
+ "name": "වේල්ස්"
+ },
+ "vo": {
+ "name": "වොලපූක්"
+ },
+ "wae": {
+ "name": "වොල්සර්"
+ },
+ "ksb": {
+ "name": "ශාම්බලා"
+ },
+ "sn": {
+ "name": "ශෝනා"
+ },
+ "sbp": {
+ "name": "සංගු"
+ },
+ "sah": {
+ "name": "සඛා"
+ },
+ "sg": {
+ "name": "සන්ග්‍රෝ"
+ },
+ "saq": {
+ "name": "සම්බුරු"
+ },
+ "zgh": {
+ "name": "සම්මත මොරොක්කෝ ටමසිග්ත්"
+ },
+ "sr": {
+ "name": "සර්බියානු"
+ },
+ "dje": {
+ "name": "සර්මා"
+ },
+ "zh-Hant": {
+ "name": "සාම්ප්‍රදායික චීන"
+ },
+ "si": {
+ "name": "සිංහල"
+ },
+ "ii": {
+ "name": "සිචුආන් යී"
+ },
+ "zu": {
+ "name": "සුලු"
+ },
+ "zh-Hans": {
+ "name": "සුළුකළ චීන"
+ },
+ "seh": {
+ "name": "සෙනා"
+ },
+ "xog": {
+ "name": "සොගා"
+ },
+ "ckb": {
+ "name": "සොරානි කුර්දිෂ්"
+ },
+ "so": {
+ "name": "සෝමාලි"
+ },
+ "gd": {
+ "name": "ස්කොට්ටිශ් ගෙලික්"
+ },
+ "es": {
+ "name": "ස්පාඤ්ඤ"
+ },
+ "sk": {
+ "name": "ස්ලෝවැක්"
+ },
+ "sl": {
+ "name": "ස්ලෝවේනියානු"
+ },
+ "sw": {
+ "name": "ස්වාහිලි"
+ },
+ "sw-CD": {
+ "name": "ස්වාහිලි (කොංගො - කින්ශාසා)"
+ },
+ "de-CH": {
+ "name": "ස්විස් උසස් ජර්මන්"
+ },
+ "gsw": {
+ "name": "ස්විස් ජර්මානු"
+ },
+ "fr-CH": {
+ "name": "ස්විස් ප්‍රංශ"
+ },
+ "sv": {
+ "name": "ස්වීඩන්"
+ },
+ "hu": {
+ "name": "හන්ගේරියානු"
+ },
+ "haw": {
+ "name": "හවායි"
+ },
+ "hi": {
+ "name": "හින්දි"
+ },
+ "he": {
+ "name": "හීබෲ"
+ },
+ "ha": {
+ "name": "හෝසා"
+ },
+ "fo": {
+ "name": "ෆාරෝස්"
+ },
+ "fi": {
+ "name": "ෆින්ලන්ත"
+ },
+ "ff": {
+ "name": "ෆුලාහ්"
+ },
+ "fur": {
+ "name": "ෆ්‍රියුලියන්"
+ },
+ "nl-BE": {
+ "name": "ෆ්ලෙමිශ්"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/sk.json b/vendor/commerceguys/intl/resources/language/sk.json
new file mode 100644
index 000000000..72991208a
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/sk.json
@@ -0,0 +1,635 @@
+{
+ "af": {
+ "name": "afrikánčina"
+ },
+ "agq": {
+ "name": "aghem"
+ },
+ "ak": {
+ "name": "akančina"
+ },
+ "sq": {
+ "name": "albánčina"
+ },
+ "am": {
+ "name": "amharčina"
+ },
+ "en": {
+ "name": "angličtina"
+ },
+ "en-AU": {
+ "name": "angličtina (austrálska)"
+ },
+ "en-GB": {
+ "name": "angličtina (britská)"
+ },
+ "en-CA": {
+ "name": "angličtina (kanadská)"
+ },
+ "ar": {
+ "name": "arabčina"
+ },
+ "hy": {
+ "name": "arménčina"
+ },
+ "as": {
+ "name": "ásamčina"
+ },
+ "ast": {
+ "name": "astúrčina"
+ },
+ "asa": {
+ "name": "asu"
+ },
+ "az": {
+ "name": "azerbajdžančina"
+ },
+ "ksf": {
+ "name": "bafia"
+ },
+ "bm": {
+ "name": "bambarčina"
+ },
+ "my": {
+ "name": "barmčina"
+ },
+ "bas": {
+ "name": "basa"
+ },
+ "eu": {
+ "name": "baskičtina"
+ },
+ "bem": {
+ "name": "bemba"
+ },
+ "bez": {
+ "name": "bena"
+ },
+ "bn": {
+ "name": "bengálčina"
+ },
+ "be": {
+ "name": "bieloruština"
+ },
+ "brx": {
+ "name": "bodo"
+ },
+ "bs": {
+ "name": "bosniačtina"
+ },
+ "br": {
+ "name": "bretónčina"
+ },
+ "bg": {
+ "name": "bulharčina"
+ },
+ "cu": {
+ "name": "cirkevná slovančina"
+ },
+ "ce": {
+ "name": "čečenčina"
+ },
+ "chr": {
+ "name": "čerokí"
+ },
+ "cs": {
+ "name": "čeština"
+ },
+ "zh": {
+ "name": "čínština"
+ },
+ "zh-Hant": {
+ "name": "čínština (tradičná)"
+ },
+ "zh-Hans": {
+ "name": "čínština (zjednodušená)"
+ },
+ "da": {
+ "name": "dánčina"
+ },
+ "nds": {
+ "name": "dolná nemčina"
+ },
+ "nds-NL": {
+ "name": "dolná saština"
+ },
+ "dsb": {
+ "name": "dolnolužická srbčina"
+ },
+ "dua": {
+ "name": "duala"
+ },
+ "dz": {
+ "name": "dzongkha"
+ },
+ "ebu": {
+ "name": "embu"
+ },
+ "eo": {
+ "name": "esperanto"
+ },
+ "et": {
+ "name": "estónčina"
+ },
+ "ee": {
+ "name": "eweština"
+ },
+ "ewo": {
+ "name": "ewondo"
+ },
+ "fo": {
+ "name": "faerčina"
+ },
+ "fil": {
+ "name": "filipínčina"
+ },
+ "fi": {
+ "name": "fínčina"
+ },
+ "nl-BE": {
+ "name": "flámčina"
+ },
+ "fr": {
+ "name": "francúzština"
+ },
+ "fr-CA": {
+ "name": "francúzština (kanadská)"
+ },
+ "fr-CH": {
+ "name": "francúzština (švajčiarska)"
+ },
+ "fur": {
+ "name": "friulčina"
+ },
+ "ff": {
+ "name": "fulbčina"
+ },
+ "gl": {
+ "name": "galícijčina"
+ },
+ "lg": {
+ "name": "gandčina"
+ },
+ "el": {
+ "name": "gréčtina"
+ },
+ "kl": {
+ "name": "grónčina"
+ },
+ "ka": {
+ "name": "gruzínčina"
+ },
+ "gu": {
+ "name": "gudžarátčina"
+ },
+ "guz": {
+ "name": "gusii"
+ },
+ "ha": {
+ "name": "hauština"
+ },
+ "haw": {
+ "name": "havajčina"
+ },
+ "he": {
+ "name": "hebrejčina"
+ },
+ "hi": {
+ "name": "hindčina"
+ },
+ "nl": {
+ "name": "holandčina"
+ },
+ "hsb": {
+ "name": "hornolužická srbčina"
+ },
+ "hr": {
+ "name": "chorvátčina"
+ },
+ "ig": {
+ "name": "igboština"
+ },
+ "id": {
+ "name": "indonézština"
+ },
+ "ga": {
+ "name": "írčina"
+ },
+ "is": {
+ "name": "islandčina"
+ },
+ "sah": {
+ "name": "jakutčina"
+ },
+ "yav": {
+ "name": "jangben"
+ },
+ "ja": {
+ "name": "japončina"
+ },
+ "yi": {
+ "name": "jidiš"
+ },
+ "dyo": {
+ "name": "jola-fonyi"
+ },
+ "yo": {
+ "name": "jorubčina"
+ },
+ "kab": {
+ "name": "kabylčina"
+ },
+ "kkj": {
+ "name": "kako"
+ },
+ "kln": {
+ "name": "kalendžin"
+ },
+ "kam": {
+ "name": "kamba"
+ },
+ "kn": {
+ "name": "kannadčina"
+ },
+ "yue": {
+ "name": "kantončina"
+ },
+ "kea": {
+ "name": "kapverdčina"
+ },
+ "ks": {
+ "name": "kašmírčina"
+ },
+ "ca": {
+ "name": "katalánčina"
+ },
+ "kk": {
+ "name": "kazaština"
+ },
+ "qu": {
+ "name": "kečuánčina"
+ },
+ "km": {
+ "name": "khmérčina"
+ },
+ "cgg": {
+ "name": "kiga"
+ },
+ "ki": {
+ "name": "kikujčina"
+ },
+ "ky": {
+ "name": "kirgizština"
+ },
+ "ksh": {
+ "name": "kolínčina"
+ },
+ "kok": {
+ "name": "konkánčina"
+ },
+ "ko": {
+ "name": "kórejčina"
+ },
+ "kw": {
+ "name": "kornčina"
+ },
+ "ses": {
+ "name": "koyraboro senni"
+ },
+ "ckb": {
+ "name": "kurdčina (sorání)"
+ },
+ "nmg": {
+ "name": "kwasio"
+ },
+ "lkt": {
+ "name": "lakotčina"
+ },
+ "lag": {
+ "name": "langi"
+ },
+ "lo": {
+ "name": "laoština"
+ },
+ "smn": {
+ "name": "lapončina (inarijská)"
+ },
+ "ln": {
+ "name": "lingalčina"
+ },
+ "lt": {
+ "name": "litovčina"
+ },
+ "lv": {
+ "name": "lotyština"
+ },
+ "lu": {
+ "name": "lubčina (katanžská)"
+ },
+ "luy": {
+ "name": "luhja"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "luxemburčina"
+ },
+ "mk": {
+ "name": "macedónčina"
+ },
+ "hu": {
+ "name": "maďarčina"
+ },
+ "kde": {
+ "name": "makonde"
+ },
+ "mgh": {
+ "name": "makua-meetto"
+ },
+ "ml": {
+ "name": "malajálamčina"
+ },
+ "ms": {
+ "name": "malajčina"
+ },
+ "mg": {
+ "name": "malgaština"
+ },
+ "mt": {
+ "name": "maltčina"
+ },
+ "gv": {
+ "name": "mančina"
+ },
+ "mr": {
+ "name": "maráthčina"
+ },
+ "mas": {
+ "name": "masajčina"
+ },
+ "jmc": {
+ "name": "mašame"
+ },
+ "mfe": {
+ "name": "maurícijská kreolčina"
+ },
+ "mzn": {
+ "name": "mázandaránčina"
+ },
+ "mer": {
+ "name": "meru"
+ },
+ "mgo": {
+ "name": "meta’"
+ },
+ "ro-MD": {
+ "name": "moldavčina"
+ },
+ "mn": {
+ "name": "mongolčina"
+ },
+ "mua": {
+ "name": "mundang"
+ },
+ "naq": {
+ "name": "nama"
+ },
+ "nyn": {
+ "name": "ňankole"
+ },
+ "de": {
+ "name": "nemčina"
+ },
+ "de-AT": {
+ "name": "nemčina (rakúska)"
+ },
+ "de-CH": {
+ "name": "nemčina (švajčiarska spisovná)"
+ },
+ "gsw": {
+ "name": "nemčina (švajčiarska)"
+ },
+ "ne": {
+ "name": "nepálčina"
+ },
+ "nnh": {
+ "name": "ngiemboon"
+ },
+ "jgo": {
+ "name": "ngomba"
+ },
+ "nb": {
+ "name": "nórčina (bokmal)"
+ },
+ "nn": {
+ "name": "nórčina (nynorsk)"
+ },
+ "nus": {
+ "name": "nuer"
+ },
+ "om": {
+ "name": "oromčina"
+ },
+ "os": {
+ "name": "osetčina"
+ },
+ "pa": {
+ "name": "pandžábčina"
+ },
+ "ps": {
+ "name": "paštčina"
+ },
+ "fa": {
+ "name": "perzština"
+ },
+ "pl": {
+ "name": "poľština"
+ },
+ "pt": {
+ "name": "portugalčina"
+ },
+ "pt-PT": {
+ "name": "portugalčina (európska)"
+ },
+ "prg": {
+ "name": "pruština"
+ },
+ "rm": {
+ "name": "rétorománčina"
+ },
+ "rof": {
+ "name": "rombo"
+ },
+ "ro": {
+ "name": "rumunčina"
+ },
+ "rn": {
+ "name": "rundčina"
+ },
+ "ru": {
+ "name": "ruština"
+ },
+ "rwk": {
+ "name": "rwa"
+ },
+ "rw": {
+ "name": "rwandčina"
+ },
+ "ii": {
+ "name": "s’čchuanská iovčina"
+ },
+ "saq": {
+ "name": "samburu"
+ },
+ "sg": {
+ "name": "sango"
+ },
+ "sbp": {
+ "name": "sangu"
+ },
+ "seh": {
+ "name": "sena"
+ },
+ "se": {
+ "name": "severná lapončina"
+ },
+ "nd": {
+ "name": "severná ndebelčina"
+ },
+ "lrc": {
+ "name": "severné luri"
+ },
+ "si": {
+ "name": "sinhalčina"
+ },
+ "sk": {
+ "name": "slovenčina"
+ },
+ "sl": {
+ "name": "slovinčina"
+ },
+ "xog": {
+ "name": "soga"
+ },
+ "so": {
+ "name": "somálčina"
+ },
+ "sr": {
+ "name": "srbčina"
+ },
+ "tzm": {
+ "name": "stredomarocká tuaregčina"
+ },
+ "sw-CD": {
+ "name": "svahilčina (konžská)"
+ },
+ "sw": {
+ "name": "swahilčina"
+ },
+ "ksb": {
+ "name": "šambala"
+ },
+ "gd": {
+ "name": "škótska gaelčina"
+ },
+ "sn": {
+ "name": "šončina"
+ },
+ "es": {
+ "name": "španielčina"
+ },
+ "es-MX": {
+ "name": "španielčina (mexická)"
+ },
+ "sv": {
+ "name": "švédčina"
+ },
+ "shi": {
+ "name": "tachelhit"
+ },
+ "dav": {
+ "name": "taita"
+ },
+ "it": {
+ "name": "taliančina"
+ },
+ "ta": {
+ "name": "tamilčina"
+ },
+ "twq": {
+ "name": "tasawaq"
+ },
+ "te": {
+ "name": "telugčina"
+ },
+ "teo": {
+ "name": "teso"
+ },
+ "th": {
+ "name": "thajčina"
+ },
+ "bo": {
+ "name": "tibetčina"
+ },
+ "ti": {
+ "name": "tigriňa"
+ },
+ "to": {
+ "name": "tongčina"
+ },
+ "zgh": {
+ "name": "tuaregčina (štandardná marocká)"
+ },
+ "tr": {
+ "name": "turečtina"
+ },
+ "tk": {
+ "name": "turkménčina"
+ },
+ "ug": {
+ "name": "ujgurčina"
+ },
+ "uk": {
+ "name": "ukrajinčina"
+ },
+ "ur": {
+ "name": "urdčina"
+ },
+ "or": {
+ "name": "uríjčina"
+ },
+ "uz": {
+ "name": "uzbečtina"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vi": {
+ "name": "vietnamčina"
+ },
+ "vo": {
+ "name": "volapük"
+ },
+ "vun": {
+ "name": "vunjo"
+ },
+ "cy": {
+ "name": "waleština"
+ },
+ "wae": {
+ "name": "walserčina"
+ },
+ "fy": {
+ "name": "západná frízština"
+ },
+ "khq": {
+ "name": "západná songhajčina"
+ },
+ "dje": {
+ "name": "zarma"
+ },
+ "zu": {
+ "name": "zuluština"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/sl.json b/vendor/commerceguys/intl/resources/language/sl.json
new file mode 100644
index 000000000..e9ec0ed63
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/sl.json
@@ -0,0 +1,635 @@
+{
+ "af": {
+ "name": "afrikanščina"
+ },
+ "agq": {
+ "name": "aghemščina"
+ },
+ "ak": {
+ "name": "akanščina"
+ },
+ "sq": {
+ "name": "albanščina"
+ },
+ "am": {
+ "name": "amharščina"
+ },
+ "en": {
+ "name": "angleščina"
+ },
+ "en-GB": {
+ "name": "angleščina (VB)"
+ },
+ "ar": {
+ "name": "arabščina"
+ },
+ "hy": {
+ "name": "armenščina"
+ },
+ "as": {
+ "name": "asamščina"
+ },
+ "ast": {
+ "name": "asturijščina"
+ },
+ "asa": {
+ "name": "asujščina"
+ },
+ "en-AU": {
+ "name": "avstralska angleščina"
+ },
+ "de-AT": {
+ "name": "avstrijska nemščina"
+ },
+ "az": {
+ "name": "azerbajdžanščina"
+ },
+ "ksf": {
+ "name": "bafia"
+ },
+ "bm": {
+ "name": "bambarščina"
+ },
+ "bas": {
+ "name": "basa"
+ },
+ "eu": {
+ "name": "baskovščina"
+ },
+ "be": {
+ "name": "beloruščina"
+ },
+ "bem": {
+ "name": "bemba"
+ },
+ "bez": {
+ "name": "benajščina"
+ },
+ "bn": {
+ "name": "bengalščina"
+ },
+ "brx": {
+ "name": "bodojščina"
+ },
+ "bg": {
+ "name": "bolgarščina"
+ },
+ "bs": {
+ "name": "bosanščina"
+ },
+ "br": {
+ "name": "bretonščina"
+ },
+ "my": {
+ "name": "burmanščina"
+ },
+ "ce": {
+ "name": "čečenščina"
+ },
+ "chr": {
+ "name": "čerokeščina"
+ },
+ "cs": {
+ "name": "češčina"
+ },
+ "cgg": {
+ "name": "čigajščina"
+ },
+ "da": {
+ "name": "danščina"
+ },
+ "dsb": {
+ "name": "dolnja lužiška srbščina"
+ },
+ "dua": {
+ "name": "duala"
+ },
+ "dz": {
+ "name": "dzonka"
+ },
+ "ebu": {
+ "name": "embujščina"
+ },
+ "eo": {
+ "name": "esperanto"
+ },
+ "et": {
+ "name": "estonščina"
+ },
+ "ee": {
+ "name": "evenščina"
+ },
+ "ewo": {
+ "name": "evondovščina"
+ },
+ "fo": {
+ "name": "ferščina"
+ },
+ "fil": {
+ "name": "filipinščina"
+ },
+ "fi": {
+ "name": "finščina"
+ },
+ "nl-BE": {
+ "name": "flamščina"
+ },
+ "fr": {
+ "name": "francoščina"
+ },
+ "ff": {
+ "name": "fulščina"
+ },
+ "fur": {
+ "name": "furlanščina"
+ },
+ "gl": {
+ "name": "galicijščina"
+ },
+ "lg": {
+ "name": "ganda"
+ },
+ "hsb": {
+ "name": "gornja lužiška srbščina"
+ },
+ "kl": {
+ "name": "grenlandščina"
+ },
+ "el": {
+ "name": "grščina"
+ },
+ "ka": {
+ "name": "gruzijščina"
+ },
+ "gu": {
+ "name": "gudžaratščina"
+ },
+ "guz": {
+ "name": "gusijščina"
+ },
+ "haw": {
+ "name": "havajščina"
+ },
+ "ha": {
+ "name": "havščina"
+ },
+ "he": {
+ "name": "hebrejščina"
+ },
+ "hi": {
+ "name": "hindujščina"
+ },
+ "hr": {
+ "name": "hrvaščina"
+ },
+ "pt-PT": {
+ "name": "iberska portugalščina"
+ },
+ "ig": {
+ "name": "igboščina"
+ },
+ "smn": {
+ "name": "inarska samijščina"
+ },
+ "id": {
+ "name": "indonezijščina"
+ },
+ "ga": {
+ "name": "irščina"
+ },
+ "is": {
+ "name": "islandščina"
+ },
+ "it": {
+ "name": "italijanščina"
+ },
+ "sah": {
+ "name": "jakutščina"
+ },
+ "yav": {
+ "name": "jangben"
+ },
+ "ja": {
+ "name": "japonščina"
+ },
+ "yi": {
+ "name": "jidiš"
+ },
+ "dyo": {
+ "name": "jola-fonjiščina"
+ },
+ "yo": {
+ "name": "jorubščina"
+ },
+ "kab": {
+ "name": "kabilščina"
+ },
+ "kkj": {
+ "name": "kako"
+ },
+ "kln": {
+ "name": "kalenjinščina"
+ },
+ "kam": {
+ "name": "kambaščina"
+ },
+ "kn": {
+ "name": "kanada"
+ },
+ "en-CA": {
+ "name": "kanadska angleščina"
+ },
+ "fr-CA": {
+ "name": "kanadska francoščina"
+ },
+ "yue": {
+ "name": "kantonščina"
+ },
+ "ks": {
+ "name": "kašmirščina"
+ },
+ "ca": {
+ "name": "katalonščina"
+ },
+ "kk": {
+ "name": "kazaščina"
+ },
+ "qu": {
+ "name": "kečuanščina"
+ },
+ "naq": {
+ "name": "khoekhoe"
+ },
+ "ki": {
+ "name": "kikujščina"
+ },
+ "ky": {
+ "name": "kirgiščina"
+ },
+ "zh": {
+ "name": "kitajščina"
+ },
+ "km": {
+ "name": "kmerščina"
+ },
+ "nb": {
+ "name": "knjižna norveščina"
+ },
+ "ksh": {
+ "name": "kölnsko narečje"
+ },
+ "sw-CD": {
+ "name": "kongoška svahilščina"
+ },
+ "kok": {
+ "name": "konkanščina"
+ },
+ "ko": {
+ "name": "korejščina"
+ },
+ "kw": {
+ "name": "kornijščina"
+ },
+ "khq": {
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "name": "koyraboro senni"
+ },
+ "nmg": {
+ "name": "kwasio"
+ },
+ "lkt": {
+ "name": "lakotščina"
+ },
+ "lag": {
+ "name": "langijščina"
+ },
+ "lo": {
+ "name": "laoščina"
+ },
+ "lv": {
+ "name": "latvijščina"
+ },
+ "ln": {
+ "name": "lingala"
+ },
+ "lt": {
+ "name": "litovščina"
+ },
+ "lu": {
+ "name": "luba-katanga"
+ },
+ "luy": {
+ "name": "luhijščina"
+ },
+ "lb": {
+ "name": "luksemburščina"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "jmc": {
+ "name": "mačamejščina"
+ },
+ "hu": {
+ "name": "madžarščina"
+ },
+ "mk": {
+ "name": "makedonščina"
+ },
+ "kde": {
+ "name": "makondščina"
+ },
+ "mgh": {
+ "name": "makuva-meto"
+ },
+ "mg": {
+ "name": "malagaščina"
+ },
+ "ml": {
+ "name": "malajalamščina"
+ },
+ "ms": {
+ "name": "malajščina"
+ },
+ "mt": {
+ "name": "malteščina"
+ },
+ "gv": {
+ "name": "manščina"
+ },
+ "mr": {
+ "name": "maratščina"
+ },
+ "mas": {
+ "name": "masajščina"
+ },
+ "mzn": {
+ "name": "mazanderanščina"
+ },
+ "mer": {
+ "name": "meru"
+ },
+ "mgo": {
+ "name": "meta"
+ },
+ "ro-MD": {
+ "name": "moldavščina"
+ },
+ "mn": {
+ "name": "mongolščina"
+ },
+ "mfe": {
+ "name": "morisjenščina"
+ },
+ "mua": {
+ "name": "mundang"
+ },
+ "de": {
+ "name": "nemščina"
+ },
+ "gsw": {
+ "name": "nemščina (Švica)"
+ },
+ "ne": {
+ "name": "nepalščina"
+ },
+ "nnh": {
+ "name": "ngiemboonščina"
+ },
+ "jgo": {
+ "name": "ngomba"
+ },
+ "nds": {
+ "name": "nizka nemščina"
+ },
+ "nds-NL": {
+ "name": "nizka saščina"
+ },
+ "nl": {
+ "name": "nizozemščina"
+ },
+ "nyn": {
+ "name": "njankole"
+ },
+ "nn": {
+ "name": "novonorveščina"
+ },
+ "nus": {
+ "name": "nuerščina"
+ },
+ "or": {
+ "name": "odijščina"
+ },
+ "om": {
+ "name": "oromo"
+ },
+ "os": {
+ "name": "osetinščina"
+ },
+ "pa": {
+ "name": "pandžabščina"
+ },
+ "ps": {
+ "name": "paštunščina"
+ },
+ "fa": {
+ "name": "perzijščina"
+ },
+ "zh-Hans": {
+ "name": "poenostavljena kitajščina"
+ },
+ "pl": {
+ "name": "poljščina"
+ },
+ "pt": {
+ "name": "portugalščina"
+ },
+ "rm": {
+ "name": "retoromanščina"
+ },
+ "rof": {
+ "name": "rombo"
+ },
+ "ro": {
+ "name": "romunščina"
+ },
+ "rw": {
+ "name": "ruandščina"
+ },
+ "rn": {
+ "name": "rundščina"
+ },
+ "ru": {
+ "name": "ruščina"
+ },
+ "rwk": {
+ "name": "rwa"
+ },
+ "saq": {
+ "name": "samburščina"
+ },
+ "sg": {
+ "name": "sango"
+ },
+ "sbp": {
+ "name": "sangujščina"
+ },
+ "ii": {
+ "name": "sečuanska jiščina"
+ },
+ "seh": {
+ "name": "sena"
+ },
+ "nd": {
+ "name": "severna ndebelščina"
+ },
+ "se": {
+ "name": "severna samijščina"
+ },
+ "lrc": {
+ "name": "severnolurijščina"
+ },
+ "si": {
+ "name": "sinhalščina"
+ },
+ "sk": {
+ "name": "slovaščina"
+ },
+ "sl": {
+ "name": "slovenščina"
+ },
+ "xog": {
+ "name": "sogščina"
+ },
+ "so": {
+ "name": "somalščina"
+ },
+ "ckb": {
+ "name": "soranska kurdščina"
+ },
+ "sr": {
+ "name": "srbščina"
+ },
+ "zgh": {
+ "name": "standardni maroški tamazig"
+ },
+ "cu": {
+ "name": "stara cerkvena slovanščina"
+ },
+ "prg": {
+ "name": "stara pruščina"
+ },
+ "sw": {
+ "name": "svahili"
+ },
+ "ksb": {
+ "name": "šambala"
+ },
+ "gd": {
+ "name": "škotska gelščina"
+ },
+ "sn": {
+ "name": "šonščina"
+ },
+ "es": {
+ "name": "španščina"
+ },
+ "es-MX": {
+ "name": "španščina (Mehika)"
+ },
+ "sv": {
+ "name": "švedščina"
+ },
+ "fr-CH": {
+ "name": "švicarska francoščina"
+ },
+ "shi": {
+ "name": "tahelitska berberščina"
+ },
+ "dav": {
+ "name": "taitajščina"
+ },
+ "th": {
+ "name": "tajščina"
+ },
+ "tzm": {
+ "name": "tamašek (srednji atlas)"
+ },
+ "ta": {
+ "name": "tamilščina"
+ },
+ "twq": {
+ "name": "tasawaq"
+ },
+ "te": {
+ "name": "telugijščina"
+ },
+ "teo": {
+ "name": "teso"
+ },
+ "bo": {
+ "name": "tibetanščina"
+ },
+ "ti": {
+ "name": "tigrajščina"
+ },
+ "to": {
+ "name": "tongščina"
+ },
+ "zh-Hant": {
+ "name": "tradicionalna kitajščina"
+ },
+ "tk": {
+ "name": "turkmenščina"
+ },
+ "tr": {
+ "name": "turščina"
+ },
+ "ug": {
+ "name": "ujgurščina"
+ },
+ "uk": {
+ "name": "ukrajinščina"
+ },
+ "ur": {
+ "name": "urdujščina"
+ },
+ "uz": {
+ "name": "uzbeščina"
+ },
+ "vai": {
+ "name": "vajščina"
+ },
+ "cy": {
+ "name": "valižanščina"
+ },
+ "vi": {
+ "name": "vietnamščina"
+ },
+ "de-CH": {
+ "name": "visoka nemščina (Švica)"
+ },
+ "vo": {
+ "name": "volapuk"
+ },
+ "vun": {
+ "name": "vunjo"
+ },
+ "wae": {
+ "name": "walser"
+ },
+ "fy": {
+ "name": "zahodna frizijščina"
+ },
+ "dje": {
+ "name": "zarmajščina"
+ },
+ "kea": {
+ "name": "zelenortskootoška kreolščina"
+ },
+ "zu": {
+ "name": "zulujščina"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/smn.json b/vendor/commerceguys/intl/resources/language/smn.json
new file mode 100644
index 000000000..99d628d00
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/smn.json
@@ -0,0 +1,632 @@
+{
+ "af": {
+ "name": "afrikaans"
+ },
+ "agq": {
+ "name": "aghem"
+ },
+ "ak": {
+ "name": "akankielâ"
+ },
+ "sq": {
+ "name": "albaniakielâ"
+ },
+ "am": {
+ "name": "amharakielâ"
+ },
+ "smn": {
+ "name": "anarâškielâ"
+ },
+ "ar": {
+ "name": "arabiakielâ"
+ },
+ "hy": {
+ "name": "armeniakielâ"
+ },
+ "as": {
+ "name": "assamkielâ"
+ },
+ "ast": {
+ "name": "asturiakielâ"
+ },
+ "asa": {
+ "name": "asukielâ"
+ },
+ "teo": {
+ "name": "ateso"
+ },
+ "en-AU": {
+ "name": "Australia eŋgâlâskielâ"
+ },
+ "az": {
+ "name": "azerbaidžankielâ"
+ },
+ "ksf": {
+ "name": "bafia"
+ },
+ "bm": {
+ "name": "bambarakielâ"
+ },
+ "bn": {
+ "name": "banglakielâ"
+ },
+ "bas": {
+ "name": "basaakielâ"
+ },
+ "eu": {
+ "name": "baskikielâ"
+ },
+ "bem": {
+ "name": "bembakielâ"
+ },
+ "bez": {
+ "name": "benakielâ"
+ },
+ "brx": {
+ "name": "bodokielâ"
+ },
+ "bs": {
+ "name": "bosniakielâ"
+ },
+ "br": {
+ "name": "bretonkielâ"
+ },
+ "en-GB": {
+ "name": "Britannia eŋgâlâskielâ"
+ },
+ "bg": {
+ "name": "bulgariakielâ"
+ },
+ "my": {
+ "name": "burmakielâ"
+ },
+ "chr": {
+ "name": "cherokeekielâ"
+ },
+ "dua": {
+ "name": "dualakielâ"
+ },
+ "dz": {
+ "name": "Dzongkha"
+ },
+ "et": {
+ "name": "eestikielâ"
+ },
+ "ebu": {
+ "name": "embukielâ"
+ },
+ "en": {
+ "name": "eŋgâlâskielâ"
+ },
+ "es": {
+ "name": "espanjakielâ"
+ },
+ "eo": {
+ "name": "esperantokielâ"
+ },
+ "ee": {
+ "name": "ewekielâ"
+ },
+ "ewo": {
+ "name": "ewondokielâ"
+ },
+ "fil": {
+ "name": "filipinokielâ"
+ },
+ "fur": {
+ "name": "friulikielâ"
+ },
+ "ff": {
+ "name": "fulakielâ"
+ },
+ "fo": {
+ "name": "fäärikielâ"
+ },
+ "gl": {
+ "name": "galiciakielâ"
+ },
+ "ka": {
+ "name": "georgiakielâ"
+ },
+ "gu": {
+ "name": "gudžaratikielâ"
+ },
+ "guz": {
+ "name": "gusiikielâ"
+ },
+ "ha": {
+ "name": "hausakielâ"
+ },
+ "haw": {
+ "name": "hawaijikielâ"
+ },
+ "he": {
+ "name": "hepreakielâ"
+ },
+ "hi": {
+ "name": "hindikielâ"
+ },
+ "nl": {
+ "name": "hollandkielâ"
+ },
+ "nl-BE": {
+ "name": "hollandkielâ (flaami)"
+ },
+ "ig": {
+ "name": "igbokielâ"
+ },
+ "ga": {
+ "name": "iirikielâ"
+ },
+ "id": {
+ "name": "indonesiakielâ"
+ },
+ "is": {
+ "name": "islandkielâ"
+ },
+ "it": {
+ "name": "italiakielâ"
+ },
+ "ja": {
+ "name": "jaapaankielâ"
+ },
+ "sah": {
+ "name": "jakutkielâ"
+ },
+ "yi": {
+ "name": "jiddish"
+ },
+ "dyo": {
+ "name": "jola-fonyi"
+ },
+ "kab": {
+ "name": "kabylkielâ"
+ },
+ "kkj": {
+ "name": "kako"
+ },
+ "kl": {
+ "name": "kalaallisut"
+ },
+ "kln": {
+ "name": "kalenjikielâ"
+ },
+ "kam": {
+ "name": "kambakielâ"
+ },
+ "en-CA": {
+ "name": "Kanada eŋgâlâskielâ"
+ },
+ "fr-CA": {
+ "name": "Kanada ranskakielâ"
+ },
+ "kn": {
+ "name": "kannada"
+ },
+ "yue": {
+ "name": "kantonkielâ"
+ },
+ "kea": {
+ "name": "Kap Verde kreoli"
+ },
+ "ks": {
+ "name": "kashmirkielâ"
+ },
+ "ca": {
+ "name": "katalankielâ"
+ },
+ "lu": {
+ "name": "katangaluba"
+ },
+ "kk": {
+ "name": "kazakkielâ"
+ },
+ "km": {
+ "name": "khmerkielâ"
+ },
+ "cgg": {
+ "name": "kigakielâ"
+ },
+ "ki": {
+ "name": "kikujukielâ"
+ },
+ "ky": {
+ "name": "kirgiskielâ"
+ },
+ "cu": {
+ "name": "kirkkoslaavi"
+ },
+ "sw-CD": {
+ "name": "Kongo swahilikielâ"
+ },
+ "kok": {
+ "name": "konkani"
+ },
+ "ko": {
+ "name": "koreakielâ"
+ },
+ "kw": {
+ "name": "kornikielâ"
+ },
+ "tzm": {
+ "name": "Koskâatlas tamazight"
+ },
+ "khq": {
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "name": "koyraboro senni"
+ },
+ "el": {
+ "name": "kreikakielâ"
+ },
+ "hr": {
+ "name": "kroatiakielâ"
+ },
+ "nmg": {
+ "name": "kwasio"
+ },
+ "cy": {
+ "name": "kymrikielâ"
+ },
+ "ksh": {
+ "name": "kölnkielâ"
+ },
+ "lkt": {
+ "name": "lakotakielâ"
+ },
+ "lag": {
+ "name": "langokielâ"
+ },
+ "lo": {
+ "name": "laokielâ"
+ },
+ "lv": {
+ "name": "latviakielâ"
+ },
+ "lt": {
+ "name": "liettuakielâ"
+ },
+ "ln": {
+ "name": "lingala"
+ },
+ "lg": {
+ "name": "luganda"
+ },
+ "luy": {
+ "name": "luhya"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "luxemburgkielâ"
+ },
+ "jmc": {
+ "name": "machame"
+ },
+ "mk": {
+ "name": "makedoniakielâ"
+ },
+ "kde": {
+ "name": "makonde"
+ },
+ "mgh": {
+ "name": "makua-meetto"
+ },
+ "mg": {
+ "name": "malagaskielâ"
+ },
+ "ms": {
+ "name": "malaiji"
+ },
+ "ml": {
+ "name": "malajam"
+ },
+ "mt": {
+ "name": "maltakielâ"
+ },
+ "zh": {
+ "name": "mandarinkiinakielâ"
+ },
+ "gv": {
+ "name": "manks"
+ },
+ "mr": {
+ "name": "marathikielâ"
+ },
+ "mas": {
+ "name": "masaikielâ"
+ },
+ "mzn": {
+ "name": "mazandarani"
+ },
+ "es-MX": {
+ "name": "Meksiko espanjakielâ"
+ },
+ "mer": {
+ "name": "merukielâ"
+ },
+ "mgo": {
+ "name": "meta’"
+ },
+ "mn": {
+ "name": "mongoliakielâ"
+ },
+ "mfe": {
+ "name": "morisyen"
+ },
+ "mua": {
+ "name": "mundang"
+ },
+ "naq": {
+ "name": "nama"
+ },
+ "ne": {
+ "name": "nepalkielâ"
+ },
+ "nnh": {
+ "name": "ngiemboon"
+ },
+ "jgo": {
+ "name": "ngomba"
+ },
+ "nus": {
+ "name": "nuer"
+ },
+ "de-AT": {
+ "name": "Nuorttâriijkâ saksakielâ"
+ },
+ "nyn": {
+ "name": "nyankolekielâ"
+ },
+ "zh-Hans": {
+ "name": "oovtâkiärdánis kiinakielâ"
+ },
+ "or": {
+ "name": "orija"
+ },
+ "om": {
+ "name": "oromokielâ"
+ },
+ "os": {
+ "name": "ossetkielâ"
+ },
+ "hsb": {
+ "name": "pajesorbi"
+ },
+ "pa": {
+ "name": "pandžabi"
+ },
+ "ps": {
+ "name": "paštu"
+ },
+ "fa": {
+ "name": "persiakielâ"
+ },
+ "pt-PT": {
+ "name": "Portugal portugalkielâ"
+ },
+ "pt": {
+ "name": "portugalkielâ"
+ },
+ "pl": {
+ "name": "puolakielâ"
+ },
+ "qu": {
+ "name": "quechua"
+ },
+ "fr": {
+ "name": "ranskakielâ"
+ },
+ "rm": {
+ "name": "retoroomaankielâ"
+ },
+ "ro": {
+ "name": "romaniakielâ"
+ },
+ "ro-MD": {
+ "name": "romaniakielâ (Moldova)"
+ },
+ "rof": {
+ "name": "rombo"
+ },
+ "rw": {
+ "name": "ruandakielâ"
+ },
+ "rn": {
+ "name": "rundi"
+ },
+ "ru": {
+ "name": "ruošâkielâ"
+ },
+ "sv": {
+ "name": "ruotâkielâ"
+ },
+ "rwk": {
+ "name": "rwa"
+ },
+ "de": {
+ "name": "saksakielâ"
+ },
+ "saq": {
+ "name": "samburukielâ"
+ },
+ "sg": {
+ "name": "sango"
+ },
+ "sbp": {
+ "name": "sangu"
+ },
+ "seh": {
+ "name": "sena"
+ },
+ "sr": {
+ "name": "serbiakielâ"
+ },
+ "ksb": {
+ "name": "shambala"
+ },
+ "sn": {
+ "name": "shona"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "si": {
+ "name": "sinhala"
+ },
+ "gd": {
+ "name": "skottilâš gaelikielâ"
+ },
+ "sk": {
+ "name": "slovakiakielâ"
+ },
+ "sl": {
+ "name": "sloveniakielâ"
+ },
+ "xog": {
+ "name": "soga"
+ },
+ "so": {
+ "name": "somalikielâ"
+ },
+ "ckb": {
+ "name": "sorani kurdikielâ"
+ },
+ "zgh": {
+ "name": "standard tamazight"
+ },
+ "fi": {
+ "name": "suomâkielâ"
+ },
+ "de-CH": {
+ "name": "Sveitsi pajesaksakielâ"
+ },
+ "fr-CH": {
+ "name": "Sveitsi ranskakielâ"
+ },
+ "gsw": {
+ "name": "Sveitsi saksakielâ"
+ },
+ "sw": {
+ "name": "swahilikielâ"
+ },
+ "dav": {
+ "name": "taitakielâ"
+ },
+ "ta": {
+ "name": "tamilkielâ"
+ },
+ "da": {
+ "name": "tanskakielâ"
+ },
+ "twq": {
+ "name": "tasawaq"
+ },
+ "shi": {
+ "name": "tašelhit"
+ },
+ "nd": {
+ "name": "tave-nbedele"
+ },
+ "se": {
+ "name": "tavekielâ"
+ },
+ "lrc": {
+ "name": "taveluri"
+ },
+ "te": {
+ "name": "telugu"
+ },
+ "th": {
+ "name": "thaikielâ"
+ },
+ "ti": {
+ "name": "tigrinyakielâ"
+ },
+ "bo": {
+ "name": "tiibetkielâ"
+ },
+ "to": {
+ "name": "tongakielâ"
+ },
+ "prg": {
+ "name": "toovláš preussikielâ"
+ },
+ "cs": {
+ "name": "tšeekikielâ"
+ },
+ "ce": {
+ "name": "tšetšenkielâ"
+ },
+ "tk": {
+ "name": "turkmenkielâ"
+ },
+ "tr": {
+ "name": "tuurkikielâ"
+ },
+ "nb": {
+ "name": "tárukielâ bokmål"
+ },
+ "nn": {
+ "name": "tárukielâ nynorsk"
+ },
+ "ug": {
+ "name": "uigurkielâ"
+ },
+ "uk": {
+ "name": "ukrainakielâ"
+ },
+ "hu": {
+ "name": "uŋgarkielâ"
+ },
+ "ur": {
+ "name": "urdu"
+ },
+ "uz": {
+ "name": "uzbekkielâ"
+ },
+ "vai": {
+ "name": "vaikielâ"
+ },
+ "be": {
+ "name": "vielgisruošâkielâ"
+ },
+ "fy": {
+ "name": "viestârfriisi"
+ },
+ "vi": {
+ "name": "vietnamkielâ"
+ },
+ "vo": {
+ "name": "volapük"
+ },
+ "vun": {
+ "name": "vunjo"
+ },
+ "nds-NL": {
+ "name": "Vuáládâhenâmij saksakielâ"
+ },
+ "dsb": {
+ "name": "vyelisorbi"
+ },
+ "wae": {
+ "name": "walliskielâ"
+ },
+ "yav": {
+ "name": "yangben"
+ },
+ "yo": {
+ "name": "yorubakielâ"
+ },
+ "dje": {
+ "name": "zarmakielâ"
+ },
+ "zu": {
+ "name": "zulukielâ"
+ },
+ "zh-Hant": {
+ "name": "ärbivuáválâš kiinakielâ"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/sn.json b/vendor/commerceguys/intl/resources/language/sn.json
new file mode 100644
index 000000000..5bab8596d
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/sn.json
@@ -0,0 +1,632 @@
+{
+ "af": {
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "sq": {
+ "name": "Albanian"
+ },
+ "hy": {
+ "name": "Armenian"
+ },
+ "as": {
+ "name": "Assamese"
+ },
+ "ast": {
+ "name": "Asturian"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "az": {
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "eu": {
+ "name": "Basque"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "bs": {
+ "name": "Bosnian"
+ },
+ "br": {
+ "name": "Breton"
+ },
+ "yue": {
+ "name": "Cantonese"
+ },
+ "ca": {
+ "name": "Catalan"
+ },
+ "tzm": {
+ "name": "Central Atlas Tamazight"
+ },
+ "ckb": {
+ "name": "Central Kurdish"
+ },
+ "ce": {
+ "name": "Chechen"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "ak": {
+ "name": "chiAkani"
+ },
+ "am": {
+ "name": "chiAmaric"
+ },
+ "ar": {
+ "name": "chiArabu"
+ },
+ "be": {
+ "name": "chiBelarusi"
+ },
+ "bn": {
+ "name": "chiBengali"
+ },
+ "bg": {
+ "name": "chiBulgarian"
+ },
+ "my": {
+ "name": "chiBurma"
+ },
+ "zh": {
+ "name": "chiChinese"
+ },
+ "zh-Hans": {
+ "name": "chiChinese (Hans)"
+ },
+ "zh-Hant": {
+ "name": "chiChinese (Hant)"
+ },
+ "cs": {
+ "name": "chiCzech"
+ },
+ "nl": {
+ "name": "chiDutch"
+ },
+ "nl-BE": {
+ "name": "chiDutch (Beljium)"
+ },
+ "fr": {
+ "name": "chiFurenchi"
+ },
+ "fr-CA": {
+ "name": "chiFurenchi (Kanada)"
+ },
+ "fr-CH": {
+ "name": "chiFurenchi (Switzerland)"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "el": {
+ "name": "chiGreek"
+ },
+ "ha": {
+ "name": "chiHausa"
+ },
+ "hi": {
+ "name": "chiHindi"
+ },
+ "hu": {
+ "name": "chiHungari"
+ },
+ "ig": {
+ "name": "chiIgbo"
+ },
+ "id": {
+ "name": "chiIndonesia"
+ },
+ "ja": {
+ "name": "chiJapani"
+ },
+ "de": {
+ "name": "chiJerimani"
+ },
+ "de-AT": {
+ "name": "chiJerimani (Austria)"
+ },
+ "de-CH": {
+ "name": "chiJerimani (Switzerland)"
+ },
+ "km": {
+ "name": "chiKhema"
+ },
+ "ko": {
+ "name": "chiKoria"
+ },
+ "ms": {
+ "name": "chiMalay"
+ },
+ "ne": {
+ "name": "chiNepali"
+ },
+ "fa": {
+ "name": "chiPeshiya"
+ },
+ "pl": {
+ "name": "chiPolish"
+ },
+ "pa": {
+ "name": "chiPunjabi"
+ },
+ "pt": {
+ "name": "chiPutukezi"
+ },
+ "pt-PT": {
+ "name": "chiPutukezi (Portugal)"
+ },
+ "ru": {
+ "name": "chiRashiya"
+ },
+ "ro": {
+ "name": "chiRomanian"
+ },
+ "ro-MD": {
+ "name": "chiRomanian (Moldova)"
+ },
+ "en": {
+ "name": "Chirungu"
+ },
+ "en-AU": {
+ "name": "Chirungu (Australia)"
+ },
+ "en-CA": {
+ "name": "Chirungu (Kanada)"
+ },
+ "en-GB": {
+ "name": "Chirungu (United Kingdom)"
+ },
+ "rw": {
+ "name": "chiRwanda"
+ },
+ "sn": {
+ "name": "chiShona"
+ },
+ "so": {
+ "name": "chiSomali"
+ },
+ "es": {
+ "name": "chiSpanish"
+ },
+ "es-MX": {
+ "name": "chiSpanish (Mexico)"
+ },
+ "sv": {
+ "name": "chiSwedish"
+ },
+ "ta": {
+ "name": "chiTamil"
+ },
+ "it": {
+ "name": "chiTariana"
+ },
+ "th": {
+ "name": "chiThai"
+ },
+ "tr": {
+ "name": "chiTurkish"
+ },
+ "uk": {
+ "name": "chiUkrenia"
+ },
+ "ur": {
+ "name": "chiUrdu"
+ },
+ "vi": {
+ "name": "chiVietnam"
+ },
+ "yo": {
+ "name": "chiYoruba"
+ },
+ "zu": {
+ "name": "chiZulu"
+ },
+ "cu": {
+ "name": "Church Slavic"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "kw": {
+ "name": "Cornish"
+ },
+ "hr": {
+ "name": "Croatian"
+ },
+ "da": {
+ "name": "Danish"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "dz": {
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "eo": {
+ "name": "Esperanto"
+ },
+ "et": {
+ "name": "Estonian"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fo": {
+ "name": "Faroese"
+ },
+ "fil": {
+ "name": "Filipino"
+ },
+ "fi": {
+ "name": "Finnish"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "gl": {
+ "name": "Galician"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "ka": {
+ "name": "Georgian"
+ },
+ "gu": {
+ "name": "Gujarati"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "haw": {
+ "name": "Hawaiian"
+ },
+ "he": {
+ "name": "Hebrew"
+ },
+ "is": {
+ "name": "Icelandic"
+ },
+ "smn": {
+ "name": "Inari Sami"
+ },
+ "ga": {
+ "name": "Irish"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabyle"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kl": {
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "kn": {
+ "name": "Kannada"
+ },
+ "ks": {
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "name": "Kazakh"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "ky": {
+ "name": "Kyrgyz"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "Lao"
+ },
+ "lv": {
+ "name": "Latvian"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "lt": {
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "mk": {
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "mg": {
+ "name": "Malagasy"
+ },
+ "ml": {
+ "name": "Malayalam"
+ },
+ "mt": {
+ "name": "Maltese"
+ },
+ "gv": {
+ "name": "Manx"
+ },
+ "mr": {
+ "name": "Marathi"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "mn": {
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nds-NL": {
+ "name": "nds (Netherlands)"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "nd": {
+ "name": "North Ndebele"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "se": {
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "or": {
+ "name": "Odia"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "os": {
+ "name": "Ossetic"
+ },
+ "ps": {
+ "name": "Pashto"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "qu": {
+ "name": "Quechua"
+ },
+ "rm": {
+ "name": "Romansh"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "rn": {
+ "name": "Rundi"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "sah": {
+ "name": "Sakha"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "gd": {
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "sr": {
+ "name": "Serbian"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "si": {
+ "name": "Sinhala"
+ },
+ "sk": {
+ "name": "Slovak"
+ },
+ "sl": {
+ "name": "Slovenian"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw-CD": {
+ "name": "sw (Democratic Republic of the Congo)"
+ },
+ "sw": {
+ "name": "Swahili"
+ },
+ "gsw": {
+ "name": "Swiss German"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "te": {
+ "name": "Telugu"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "bo": {
+ "name": "Tibetan"
+ },
+ "ti": {
+ "name": "Tigrinya"
+ },
+ "to": {
+ "name": "Tongan"
+ },
+ "tk": {
+ "name": "Turkmen"
+ },
+ "hsb": {
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "name": "Uyghur"
+ },
+ "uz": {
+ "name": "Uzbek"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "cy": {
+ "name": "Welsh"
+ },
+ "fy": {
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "yi": {
+ "name": "Yiddish"
+ },
+ "dje": {
+ "name": "Zarma"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/so.json b/vendor/commerceguys/intl/resources/language/so.json
new file mode 100644
index 000000000..ea1680f4f
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/so.json
@@ -0,0 +1,632 @@
+{
+ "af": {
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "ak": {
+ "name": "Akan"
+ },
+ "sq": {
+ "name": "Albanian"
+ },
+ "hy": {
+ "name": "Armenian"
+ },
+ "as": {
+ "name": "Assamese"
+ },
+ "ast": {
+ "name": "Asturian"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "am": {
+ "name": "Axmaari"
+ },
+ "az": {
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bn": {
+ "name": "Bangaali"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "eu": {
+ "name": "Basque"
+ },
+ "be": {
+ "name": "Beleruusiyaan"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "pl": {
+ "name": "Boolish"
+ },
+ "pt": {
+ "name": "Boortaqiis"
+ },
+ "pt-PT": {
+ "name": "Boortaqiis (Bortuqaal)"
+ },
+ "bs": {
+ "name": "Bosnian"
+ },
+ "br": {
+ "name": "Breton"
+ },
+ "bg": {
+ "name": "Bulgeeriyaan"
+ },
+ "pa": {
+ "name": "Bunjaabi"
+ },
+ "my": {
+ "name": "Burmese"
+ },
+ "yue": {
+ "name": "Cantonese"
+ },
+ "ar": {
+ "name": "Carabi"
+ },
+ "ca": {
+ "name": "Catalan"
+ },
+ "tzm": {
+ "name": "Central Atlas Tamazight"
+ },
+ "ckb": {
+ "name": "Central Kurdish"
+ },
+ "ce": {
+ "name": "Chechen"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "cu": {
+ "name": "Church Slavic"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "kw": {
+ "name": "Cornish"
+ },
+ "hr": {
+ "name": "Croatian"
+ },
+ "da": {
+ "name": "Danish"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "dz": {
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "eo": {
+ "name": "Esperanto"
+ },
+ "et": {
+ "name": "Estonian"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fa": {
+ "name": "Faarisi"
+ },
+ "fr": {
+ "name": "Faransiis"
+ },
+ "fr-CA": {
+ "name": "Faransiis (Kanada)"
+ },
+ "fr-CH": {
+ "name": "Faransiis (Swiiserlaand)"
+ },
+ "fo": {
+ "name": "Faroese"
+ },
+ "vi": {
+ "name": "Fiitnaamays"
+ },
+ "fil": {
+ "name": "Filipino"
+ },
+ "fi": {
+ "name": "Finnish"
+ },
+ "fy": {
+ "name": "Firiisiyan Galbeed"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "gl": {
+ "name": "Galician"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "ka": {
+ "name": "Georgian"
+ },
+ "el": {
+ "name": "Giriik"
+ },
+ "gu": {
+ "name": "Gujarati"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "hu": {
+ "name": "Hangariyaan"
+ },
+ "haw": {
+ "name": "Hawaiian"
+ },
+ "ha": {
+ "name": "Hawsa"
+ },
+ "he": {
+ "name": "Hebrew"
+ },
+ "hi": {
+ "name": "Hindi"
+ },
+ "nl": {
+ "name": "Holandays"
+ },
+ "nl-BE": {
+ "name": "Holandays (Biljam)"
+ },
+ "is": {
+ "name": "Icelandic"
+ },
+ "ig": {
+ "name": "Igbo"
+ },
+ "smn": {
+ "name": "Inari Sami"
+ },
+ "id": {
+ "name": "Indunuusiyaan"
+ },
+ "en": {
+ "name": "Ingiriisi"
+ },
+ "en-AU": {
+ "name": "Ingiriisi (Awstaraaliya)"
+ },
+ "en-CA": {
+ "name": "Ingiriisi (Kanada)"
+ },
+ "en-GB": {
+ "name": "Ingiriisi (United Kingdom)"
+ },
+ "ga": {
+ "name": "Irish"
+ },
+ "es": {
+ "name": "Isbaanish"
+ },
+ "es-MX": {
+ "name": "Isbaanish (Meksiko)"
+ },
+ "ja": {
+ "name": "Jabbaaniis"
+ },
+ "de": {
+ "name": "Jarmal"
+ },
+ "de-AT": {
+ "name": "Jarmal (Awsteriya)"
+ },
+ "de-CH": {
+ "name": "Jarmal (Swiiserlaand)"
+ },
+ "zh": {
+ "name": "Jayniis"
+ },
+ "zh-Hans": {
+ "name": "Jayniis (Hans)"
+ },
+ "zh-Hant": {
+ "name": "Jayniis (Hant)"
+ },
+ "cs": {
+ "name": "Jeeg"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabyle"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kl": {
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "km": {
+ "name": "Kamboodhian"
+ },
+ "kn": {
+ "name": "Kannada"
+ },
+ "ks": {
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "name": "Kazakh"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "ko": {
+ "name": "Kuuriyaan"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "ky": {
+ "name": "Kyrgyz"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "Lao"
+ },
+ "lv": {
+ "name": "Latvian"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "lt": {
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "mk": {
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "ms": {
+ "name": "Malaay"
+ },
+ "mg": {
+ "name": "Malagasy"
+ },
+ "ml": {
+ "name": "Malayalam"
+ },
+ "mt": {
+ "name": "Maltese"
+ },
+ "gv": {
+ "name": "Manx"
+ },
+ "mr": {
+ "name": "Marathi"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "mn": {
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nds-NL": {
+ "name": "nds (Netherlands)"
+ },
+ "ne": {
+ "name": "Nebaali"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "nd": {
+ "name": "North Ndebele"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "se": {
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "or": {
+ "name": "Odia"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "os": {
+ "name": "Ossetic"
+ },
+ "ps": {
+ "name": "Pashto"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "qu": {
+ "name": "Quechua"
+ },
+ "ro": {
+ "name": "Romanka"
+ },
+ "ro-MD": {
+ "name": "Romanka (Moldofa)"
+ },
+ "rm": {
+ "name": "Romansh"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "rn": {
+ "name": "Rundi"
+ },
+ "ru": {
+ "name": "Ruush"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "rw": {
+ "name": "Rwanda"
+ },
+ "sah": {
+ "name": "Sakha"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "gd": {
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "sr": {
+ "name": "Serbian"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "si": {
+ "name": "Sinhala"
+ },
+ "sk": {
+ "name": "Slovak"
+ },
+ "sl": {
+ "name": "Slovenian"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "so": {
+ "name": "Soomaali"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw-CD": {
+ "name": "sw (Jamhuuriyadda Dimuquraadiga Kongo)"
+ },
+ "sw": {
+ "name": "Swahili"
+ },
+ "sv": {
+ "name": "Swiidhis"
+ },
+ "gsw": {
+ "name": "Swiss German"
+ },
+ "th": {
+ "name": "Taaylandays"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "it": {
+ "name": "Talyaani"
+ },
+ "ta": {
+ "name": "Tamiil"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "te": {
+ "name": "Telugu"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "bo": {
+ "name": "Tibetan"
+ },
+ "ti": {
+ "name": "Tigrinya"
+ },
+ "to": {
+ "name": "Tongan"
+ },
+ "tr": {
+ "name": "Turkish"
+ },
+ "tk": {
+ "name": "Turkmen"
+ },
+ "hsb": {
+ "name": "Upper Sorbian"
+ },
+ "ur": {
+ "name": "Urduu"
+ },
+ "ug": {
+ "name": "Uyghur"
+ },
+ "uz": {
+ "name": "Uzbek"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "cy": {
+ "name": "Welsh"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "yi": {
+ "name": "Yiddish"
+ },
+ "yo": {
+ "name": "Yoruuba"
+ },
+ "uk": {
+ "name": "Yukreeniyaan"
+ },
+ "dje": {
+ "name": "Zarma"
+ },
+ "zu": {
+ "name": "Zuulu"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/sq.json b/vendor/commerceguys/intl/resources/language/sq.json
new file mode 100644
index 000000000..5c67c80bc
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/sq.json
@@ -0,0 +1,635 @@
+{
+ "af": {
+ "name": "afrikanisht"
+ },
+ "agq": {
+ "name": "agemisht"
+ },
+ "ak": {
+ "name": "akanisht"
+ },
+ "am": {
+ "name": "amarisht"
+ },
+ "en": {
+ "name": "anglisht"
+ },
+ "en-AU": {
+ "name": "anglishte australiane"
+ },
+ "en-GB": {
+ "name": "anglishte britanike"
+ },
+ "en-CA": {
+ "name": "anglishte kanadeze"
+ },
+ "ar": {
+ "name": "arabisht"
+ },
+ "hy": {
+ "name": "armenisht"
+ },
+ "as": {
+ "name": "asamezisht"
+ },
+ "ast": {
+ "name": "asturisht"
+ },
+ "asa": {
+ "name": "asuisht"
+ },
+ "az": {
+ "name": "azerbajxhanisht"
+ },
+ "ksf": {
+ "name": "bafianisht"
+ },
+ "bm": {
+ "name": "bambarisht"
+ },
+ "bas": {
+ "name": "basaisht"
+ },
+ "eu": {
+ "name": "baskisht"
+ },
+ "bem": {
+ "name": "bembaisht"
+ },
+ "bez": {
+ "name": "benaisht"
+ },
+ "bn": {
+ "name": "bengalisht"
+ },
+ "my": {
+ "name": "birmanisht"
+ },
+ "be": {
+ "name": "bjellorusisht"
+ },
+ "brx": {
+ "name": "bodoisht"
+ },
+ "bs": {
+ "name": "boshnjakisht"
+ },
+ "br": {
+ "name": "bretonisht"
+ },
+ "bg": {
+ "name": "bullgarisht"
+ },
+ "ce": {
+ "name": "çeçenisht"
+ },
+ "cs": {
+ "name": "çekisht"
+ },
+ "chr": {
+ "name": "çerokisht"
+ },
+ "cgg": {
+ "name": "çigisht"
+ },
+ "da": {
+ "name": "danisht"
+ },
+ "dua": {
+ "name": "dualaisht"
+ },
+ "ebu": {
+ "name": "embuisht"
+ },
+ "eo": {
+ "name": "esperanto"
+ },
+ "et": {
+ "name": "estonisht"
+ },
+ "ewo": {
+ "name": "euondoisht"
+ },
+ "ee": {
+ "name": "eveisht"
+ },
+ "fo": {
+ "name": "faroisht"
+ },
+ "fil": {
+ "name": "filipinisht"
+ },
+ "fi": {
+ "name": "finlandisht"
+ },
+ "nl-BE": {
+ "name": "flamandisht"
+ },
+ "fr": {
+ "name": "frëngjisht"
+ },
+ "fr-CA": {
+ "name": "frëngjishte kanadeze"
+ },
+ "fr-CH": {
+ "name": "frëngjishte zvicerane"
+ },
+ "fur": {
+ "name": "friulianisht"
+ },
+ "fy": {
+ "name": "frizianishte perëndimore"
+ },
+ "ff": {
+ "name": "fulaisht"
+ },
+ "gl": {
+ "name": "galicisht"
+ },
+ "gd": {
+ "name": "galishte skoceze"
+ },
+ "lg": {
+ "name": "gandaisht"
+ },
+ "el": {
+ "name": "greqisht"
+ },
+ "guz": {
+ "name": "gusisht"
+ },
+ "gu": {
+ "name": "guxharatisht"
+ },
+ "ka": {
+ "name": "gjeorgjisht"
+ },
+ "de": {
+ "name": "gjermanisht"
+ },
+ "de-AT": {
+ "name": "gjermanishte austriake"
+ },
+ "nds": {
+ "name": "gjermanishte e vendeve të ulëta"
+ },
+ "nds-NL": {
+ "name": "gjermanishte saksone e vendeve të ulëta"
+ },
+ "gsw": {
+ "name": "gjermanishte zvicerane"
+ },
+ "de-CH": {
+ "name": "gjermanishte zvicerane (dialekti i Alpeve)"
+ },
+ "ha": {
+ "name": "hausisht"
+ },
+ "haw": {
+ "name": "havaisht"
+ },
+ "he": {
+ "name": "hebraisht"
+ },
+ "nl": {
+ "name": "holandisht"
+ },
+ "hu": {
+ "name": "hungarisht"
+ },
+ "ig": {
+ "name": "igboisht"
+ },
+ "hi": {
+ "name": "indisht"
+ },
+ "id": {
+ "name": "indonezisht"
+ },
+ "ga": {
+ "name": "irlandisht"
+ },
+ "is": {
+ "name": "islandisht"
+ },
+ "it": {
+ "name": "italisht"
+ },
+ "yav": {
+ "name": "jangbenisht"
+ },
+ "ja": {
+ "name": "japonisht"
+ },
+ "yi": {
+ "name": "jidisht"
+ },
+ "yo": {
+ "name": "jorubaisht"
+ },
+ "kab": {
+ "name": "kabilisht"
+ },
+ "kkj": {
+ "name": "kakoisht"
+ },
+ "kl": {
+ "name": "kalalisutisht"
+ },
+ "kln": {
+ "name": "kalenxhinisht"
+ },
+ "kam": {
+ "name": "kambaisht"
+ },
+ "kn": {
+ "name": "kanadisht"
+ },
+ "yue": {
+ "name": "kantonezisht"
+ },
+ "ks": {
+ "name": "kashmirisht"
+ },
+ "ca": {
+ "name": "katalonisht"
+ },
+ "kk": {
+ "name": "kazakisht"
+ },
+ "qu": {
+ "name": "keçuaisht"
+ },
+ "ksh": {
+ "name": "këlnisht"
+ },
+ "ki": {
+ "name": "kikujuisht"
+ },
+ "zh": {
+ "name": "kinezisht"
+ },
+ "zh-Hans": {
+ "name": "kinezisht (i thjeshtuar)"
+ },
+ "zh-Hant": {
+ "name": "kinezisht (tradicional)"
+ },
+ "rw": {
+ "name": "kiniaruandisht"
+ },
+ "ky": {
+ "name": "kirgizisht"
+ },
+ "km": {
+ "name": "kmerisht"
+ },
+ "khq": {
+ "name": "kojraçinisht"
+ },
+ "kok": {
+ "name": "konkanisht"
+ },
+ "ko": {
+ "name": "koreanisht"
+ },
+ "kw": {
+ "name": "kornisht"
+ },
+ "kea": {
+ "name": "kreolishte e Kepit të Gjelbër"
+ },
+ "hr": {
+ "name": "kroatisht"
+ },
+ "nmg": {
+ "name": "kuasisht"
+ },
+ "ckb": {
+ "name": "kurdishte qendrore"
+ },
+ "lkt": {
+ "name": "lakotisht"
+ },
+ "lag": {
+ "name": "langisht"
+ },
+ "lo": {
+ "name": "laosisht"
+ },
+ "lv": {
+ "name": "letonisht"
+ },
+ "ln": {
+ "name": "lingalisht"
+ },
+ "lt": {
+ "name": "lituanisht"
+ },
+ "lu": {
+ "name": "luba-katangaisht"
+ },
+ "luy": {
+ "name": "lujaisht"
+ },
+ "lb": {
+ "name": "luksemburgisht"
+ },
+ "luo": {
+ "name": "luoisht"
+ },
+ "lrc": {
+ "name": "lurishte veriore"
+ },
+ "jmc": {
+ "name": "maçamisht"
+ },
+ "kde": {
+ "name": "makondisht"
+ },
+ "mgh": {
+ "name": "makua-mitoisht"
+ },
+ "mg": {
+ "name": "malagezisht"
+ },
+ "ml": {
+ "name": "malajalamisht"
+ },
+ "ms": {
+ "name": "malajisht"
+ },
+ "mt": {
+ "name": "maltisht"
+ },
+ "gv": {
+ "name": "manksisht"
+ },
+ "mk": {
+ "name": "maqedonisht"
+ },
+ "mr": {
+ "name": "maratisht"
+ },
+ "mas": {
+ "name": "masaisht"
+ },
+ "mzn": {
+ "name": "mazanderanisht"
+ },
+ "mer": {
+ "name": "meruisht"
+ },
+ "mgo": {
+ "name": "metaisht"
+ },
+ "ro-MD": {
+ "name": "moldavisht"
+ },
+ "mn": {
+ "name": "mongolisht"
+ },
+ "mfe": {
+ "name": "morisjenisht"
+ },
+ "mua": {
+ "name": "mundangisht"
+ },
+ "naq": {
+ "name": "namaisht"
+ },
+ "nd": {
+ "name": "ndebelishte veriore"
+ },
+ "ne": {
+ "name": "nepalisht"
+ },
+ "nnh": {
+ "name": "ngiembunisht"
+ },
+ "jgo": {
+ "name": "ngombisht"
+ },
+ "nyn": {
+ "name": "niankolisht"
+ },
+ "nb": {
+ "name": "norvegjishte letrare"
+ },
+ "nn": {
+ "name": "norvegjishte nynorsk"
+ },
+ "nus": {
+ "name": "nuerisht"
+ },
+ "or": {
+ "name": "odisht"
+ },
+ "om": {
+ "name": "oromoisht"
+ },
+ "os": {
+ "name": "osetisht"
+ },
+ "pa": {
+ "name": "panxhabisht"
+ },
+ "ps": {
+ "name": "pashtoisht"
+ },
+ "fa": {
+ "name": "persisht"
+ },
+ "pl": {
+ "name": "polonisht"
+ },
+ "pt": {
+ "name": "portugalisht"
+ },
+ "pt-PT": {
+ "name": "portugalishte evropiane"
+ },
+ "prg": {
+ "name": "prusisht"
+ },
+ "rm": {
+ "name": "retoromanisht"
+ },
+ "rof": {
+ "name": "romboisht"
+ },
+ "rwk": {
+ "name": "ruaisht"
+ },
+ "ro": {
+ "name": "rumanisht"
+ },
+ "rn": {
+ "name": "rundisht"
+ },
+ "ru": {
+ "name": "rusisht"
+ },
+ "sah": {
+ "name": "sakaisht"
+ },
+ "saq": {
+ "name": "samburisht"
+ },
+ "smn": {
+ "name": "samishte inari"
+ },
+ "se": {
+ "name": "samishte veriore"
+ },
+ "sg": {
+ "name": "sangoisht"
+ },
+ "sbp": {
+ "name": "sanguisht"
+ },
+ "seh": {
+ "name": "senaisht"
+ },
+ "ses": {
+ "name": "senishte kojrabore"
+ },
+ "sr": {
+ "name": "serbisht"
+ },
+ "si": {
+ "name": "sinhalisht"
+ },
+ "ii": {
+ "name": "sishuanisht"
+ },
+ "cu": {
+ "name": "sllavishte kishe"
+ },
+ "sk": {
+ "name": "sllovakisht"
+ },
+ "sl": {
+ "name": "sllovenisht"
+ },
+ "xog": {
+ "name": "sogisht"
+ },
+ "so": {
+ "name": "somalisht"
+ },
+ "dsb": {
+ "name": "sorbishte e poshtme"
+ },
+ "hsb": {
+ "name": "sorbishte e sipërme"
+ },
+ "es": {
+ "name": "spanjisht"
+ },
+ "es-MX": {
+ "name": "spanjishte meksikane"
+ },
+ "sw": {
+ "name": "suahilisht"
+ },
+ "sw-CD": {
+ "name": "suahilishte kongoje"
+ },
+ "sv": {
+ "name": "suedisht"
+ },
+ "ksb": {
+ "name": "shambalisht"
+ },
+ "sn": {
+ "name": "shonisht"
+ },
+ "sq": {
+ "name": "shqip"
+ },
+ "shi": {
+ "name": "taçelitisht"
+ },
+ "th": {
+ "name": "tajlandisht"
+ },
+ "dav": {
+ "name": "tajtaisht"
+ },
+ "tzm": {
+ "name": "tamaziatishte atlase qendrore"
+ },
+ "zgh": {
+ "name": "tamaziatishte standarde marokene"
+ },
+ "ta": {
+ "name": "tamilisht"
+ },
+ "twq": {
+ "name": "tasavakisht"
+ },
+ "te": {
+ "name": "teluguisht"
+ },
+ "teo": {
+ "name": "tesoisht"
+ },
+ "bo": {
+ "name": "tibetisht"
+ },
+ "ti": {
+ "name": "tigrinjaisht"
+ },
+ "to": {
+ "name": "tonganisht"
+ },
+ "tk": {
+ "name": "turkmenisht"
+ },
+ "tr": {
+ "name": "turqisht"
+ },
+ "wae": {
+ "name": "ualserisht"
+ },
+ "cy": {
+ "name": "uellsisht"
+ },
+ "ug": {
+ "name": "ujgurisht"
+ },
+ "uk": {
+ "name": "ukrainisht"
+ },
+ "ur": {
+ "name": "urduisht"
+ },
+ "uz": {
+ "name": "uzbekisht"
+ },
+ "vai": {
+ "name": "vaisht"
+ },
+ "vi": {
+ "name": "vietnamisht"
+ },
+ "vo": {
+ "name": "volapykisht"
+ },
+ "vun": {
+ "name": "vunxhoisht"
+ },
+ "dz": {
+ "name": "xhongaisht"
+ },
+ "dyo": {
+ "name": "xhulafonjisht"
+ },
+ "dje": {
+ "name": "zarmaisht"
+ },
+ "zu": {
+ "name": "zuluisht"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/sr-Cyrl-BA.json b/vendor/commerceguys/intl/resources/language/sr-Cyrl-BA.json
new file mode 100644
index 000000000..e3d091a92
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/sr-Cyrl-BA.json
@@ -0,0 +1,635 @@
+{
+ "agq": {
+ "name": "агем"
+ },
+ "az": {
+ "name": "азербејџански"
+ },
+ "ak": {
+ "name": "акански"
+ },
+ "sq": {
+ "name": "албански"
+ },
+ "am": {
+ "name": "амхарски"
+ },
+ "ar": {
+ "name": "арапски"
+ },
+ "as": {
+ "name": "асамски"
+ },
+ "ast": {
+ "name": "астуријски"
+ },
+ "asa": {
+ "name": "асу"
+ },
+ "af": {
+ "name": "африканс"
+ },
+ "bm": {
+ "name": "бамананкан"
+ },
+ "bn": {
+ "name": "бангла"
+ },
+ "bas": {
+ "name": "баса"
+ },
+ "eu": {
+ "name": "баскијски"
+ },
+ "ksf": {
+ "name": "бафија"
+ },
+ "bem": {
+ "name": "бемба"
+ },
+ "bez": {
+ "name": "бена"
+ },
+ "be": {
+ "name": "бјелоруски"
+ },
+ "brx": {
+ "name": "бодо"
+ },
+ "bs": {
+ "name": "босански"
+ },
+ "br": {
+ "name": "бретонски"
+ },
+ "bg": {
+ "name": "бугарски"
+ },
+ "my": {
+ "name": "бурмански"
+ },
+ "vai": {
+ "name": "ваи"
+ },
+ "wae": {
+ "name": "валсерски"
+ },
+ "cy": {
+ "name": "велшки"
+ },
+ "vi": {
+ "name": "вијетнамски"
+ },
+ "vo": {
+ "name": "волапик"
+ },
+ "vun": {
+ "name": "вунџо"
+ },
+ "gl": {
+ "name": "галицијски"
+ },
+ "lg": {
+ "name": "ганда"
+ },
+ "hsb": {
+ "name": "горњи лужичкосрпски"
+ },
+ "kl": {
+ "name": "гренландски"
+ },
+ "ka": {
+ "name": "грузијски"
+ },
+ "el": {
+ "name": "грчки"
+ },
+ "guz": {
+ "name": "гуси"
+ },
+ "gu": {
+ "name": "гуџарати"
+ },
+ "da": {
+ "name": "дански"
+ },
+ "dsb": {
+ "name": "доњи лужичкосрпски"
+ },
+ "dua": {
+ "name": "дуала"
+ },
+ "ee": {
+ "name": "еве"
+ },
+ "ewo": {
+ "name": "евондо"
+ },
+ "ebu": {
+ "name": "ембу"
+ },
+ "en": {
+ "name": "енглески"
+ },
+ "en-AU": {
+ "name": "енглески (Аустралија)"
+ },
+ "en-GB": {
+ "name": "енглески (Велика Британија)"
+ },
+ "en-CA": {
+ "name": "енглески (Канада)"
+ },
+ "eo": {
+ "name": "есперанто"
+ },
+ "et": {
+ "name": "естонски"
+ },
+ "fy": {
+ "name": "западни фризијски"
+ },
+ "dje": {
+ "name": "зарма"
+ },
+ "kea": {
+ "name": "зеленортски"
+ },
+ "ig": {
+ "name": "игбо"
+ },
+ "smn": {
+ "name": "инари сами"
+ },
+ "id": {
+ "name": "индонежански"
+ },
+ "ga": {
+ "name": "ирски"
+ },
+ "zu": {
+ "name": "исизулу"
+ },
+ "is": {
+ "name": "исландски"
+ },
+ "it": {
+ "name": "италијански"
+ },
+ "sah": {
+ "name": "јакутски"
+ },
+ "yav": {
+ "name": "јангбен"
+ },
+ "ja": {
+ "name": "јапански"
+ },
+ "hy": {
+ "name": "јерменски"
+ },
+ "yi": {
+ "name": "јидиш"
+ },
+ "yo": {
+ "name": "јоруба"
+ },
+ "shi": {
+ "name": "јужни шилха"
+ },
+ "kab": {
+ "name": "кабиле"
+ },
+ "kk": {
+ "name": "казашки"
+ },
+ "kkj": {
+ "name": "како"
+ },
+ "kln": {
+ "name": "каленџински"
+ },
+ "kam": {
+ "name": "камба"
+ },
+ "kn": {
+ "name": "канада"
+ },
+ "yue": {
+ "name": "кантонски"
+ },
+ "ca": {
+ "name": "каталонски"
+ },
+ "ks": {
+ "name": "кашмирски"
+ },
+ "nmg": {
+ "name": "квасио"
+ },
+ "ksh": {
+ "name": "келнски"
+ },
+ "qu": {
+ "name": "кечуа"
+ },
+ "ki": {
+ "name": "кикују"
+ },
+ "zh": {
+ "name": "кинески"
+ },
+ "rw": {
+ "name": "кињаруанда"
+ },
+ "ky": {
+ "name": "киргиски"
+ },
+ "rn": {
+ "name": "кирунди"
+ },
+ "sw-CD": {
+ "name": "кисвахили"
+ },
+ "km": {
+ "name": "кмерски"
+ },
+ "khq": {
+ "name": "којра чиини"
+ },
+ "ses": {
+ "name": "којраборо сени"
+ },
+ "kok": {
+ "name": "конкани"
+ },
+ "ko": {
+ "name": "корејски"
+ },
+ "kw": {
+ "name": "корнволски"
+ },
+ "lkt": {
+ "name": "лакота"
+ },
+ "lag": {
+ "name": "ланги"
+ },
+ "lo": {
+ "name": "лаошки"
+ },
+ "lv": {
+ "name": "летонски"
+ },
+ "ln": {
+ "name": "лингала"
+ },
+ "lt": {
+ "name": "литвански"
+ },
+ "lu": {
+ "name": "луба-катанга"
+ },
+ "luy": {
+ "name": "лујиа"
+ },
+ "lb": {
+ "name": "луксембуршки"
+ },
+ "luo": {
+ "name": "луо"
+ },
+ "hu": {
+ "name": "мађарски"
+ },
+ "mzn": {
+ "name": "мазандерански"
+ },
+ "mk": {
+ "name": "македонски"
+ },
+ "kde": {
+ "name": "маконде"
+ },
+ "mgh": {
+ "name": "макува-мито"
+ },
+ "ml": {
+ "name": "малајалам"
+ },
+ "ms": {
+ "name": "малајски"
+ },
+ "mg": {
+ "name": "малгашки"
+ },
+ "mt": {
+ "name": "малтешки"
+ },
+ "gv": {
+ "name": "манкс"
+ },
+ "mr": {
+ "name": "марати"
+ },
+ "mas": {
+ "name": "масајски"
+ },
+ "jmc": {
+ "name": "мачаме"
+ },
+ "mer": {
+ "name": "меру"
+ },
+ "mgo": {
+ "name": "мета"
+ },
+ "ro-MD": {
+ "name": "молдавски"
+ },
+ "mn": {
+ "name": "монголски"
+ },
+ "mfe": {
+ "name": "морисјен"
+ },
+ "mua": {
+ "name": "мунданг"
+ },
+ "naq": {
+ "name": "нама"
+ },
+ "nnh": {
+ "name": "нгиембун"
+ },
+ "jgo": {
+ "name": "нгомба"
+ },
+ "de": {
+ "name": "немачки"
+ },
+ "de-AT": {
+ "name": "немачки (Аустрија)"
+ },
+ "ne": {
+ "name": "непалски"
+ },
+ "nds": {
+ "name": "нисконемачки"
+ },
+ "nds-NL": {
+ "name": "нискосаксонски"
+ },
+ "nb": {
+ "name": "норвешки букмол"
+ },
+ "nn": {
+ "name": "норвешки нинорск"
+ },
+ "nus": {
+ "name": "нуер"
+ },
+ "nyn": {
+ "name": "њанколе"
+ },
+ "or": {
+ "name": "одија"
+ },
+ "om": {
+ "name": "оромо"
+ },
+ "os": {
+ "name": "осетински"
+ },
+ "ps": {
+ "name": "паштунски"
+ },
+ "pa": {
+ "name": "пенџапски"
+ },
+ "fa": {
+ "name": "персијски"
+ },
+ "zh-Hans": {
+ "name": "поједностављени кинески"
+ },
+ "pl": {
+ "name": "пољски"
+ },
+ "pt": {
+ "name": "португалски"
+ },
+ "pt-PT": {
+ "name": "португалски (Португал)"
+ },
+ "prg": {
+ "name": "пруски"
+ },
+ "rm": {
+ "name": "романш"
+ },
+ "rof": {
+ "name": "ромбо"
+ },
+ "rwk": {
+ "name": "руа"
+ },
+ "ro": {
+ "name": "румунски"
+ },
+ "ru": {
+ "name": "руски"
+ },
+ "saq": {
+ "name": "самбуру"
+ },
+ "sg": {
+ "name": "санго"
+ },
+ "sbp": {
+ "name": "сангу"
+ },
+ "sw": {
+ "name": "свахили"
+ },
+ "lrc": {
+ "name": "северни лури"
+ },
+ "nd": {
+ "name": "северни ндебеле"
+ },
+ "se": {
+ "name": "северни сами"
+ },
+ "seh": {
+ "name": "сена"
+ },
+ "ii": {
+ "name": "сечуански ји"
+ },
+ "si": {
+ "name": "синхалски"
+ },
+ "sk": {
+ "name": "словачки"
+ },
+ "sl": {
+ "name": "словеначки"
+ },
+ "xog": {
+ "name": "сога"
+ },
+ "so": {
+ "name": "сомалски"
+ },
+ "sr": {
+ "name": "српски"
+ },
+ "zgh": {
+ "name": "стандардни марокански тамашек"
+ },
+ "dav": {
+ "name": "таита"
+ },
+ "th": {
+ "name": "тајски"
+ },
+ "ta": {
+ "name": "тамилски"
+ },
+ "twq": {
+ "name": "тасавак"
+ },
+ "te": {
+ "name": "телугу"
+ },
+ "teo": {
+ "name": "тесо"
+ },
+ "bo": {
+ "name": "тибетански"
+ },
+ "ti": {
+ "name": "тигриња"
+ },
+ "to": {
+ "name": "тонгански"
+ },
+ "zh-Hant": {
+ "name": "традиционални кинески"
+ },
+ "tk": {
+ "name": "туркменски"
+ },
+ "tr": {
+ "name": "турски"
+ },
+ "uz": {
+ "name": "узбечки"
+ },
+ "ug": {
+ "name": "ујгурски"
+ },
+ "uk": {
+ "name": "украјински"
+ },
+ "ur": {
+ "name": "урду"
+ },
+ "fo": {
+ "name": "фарски"
+ },
+ "fil": {
+ "name": "филипински"
+ },
+ "fi": {
+ "name": "фински"
+ },
+ "nl-BE": {
+ "name": "фламански"
+ },
+ "fr": {
+ "name": "француски"
+ },
+ "fr-CA": {
+ "name": "француски (Канада)"
+ },
+ "fr-CH": {
+ "name": "француски (Швајцарска)"
+ },
+ "fur": {
+ "name": "фриулски"
+ },
+ "ff": {
+ "name": "фула"
+ },
+ "haw": {
+ "name": "хавајски"
+ },
+ "ha": {
+ "name": "хауса"
+ },
+ "he": {
+ "name": "хебрејски"
+ },
+ "hi": {
+ "name": "хинди"
+ },
+ "nl": {
+ "name": "холандски"
+ },
+ "hr": {
+ "name": "хрватски"
+ },
+ "ckb": {
+ "name": "централни курдски"
+ },
+ "tzm": {
+ "name": "централноатласки тамашек"
+ },
+ "cu": {
+ "name": "црквенословенски"
+ },
+ "chr": {
+ "name": "чероки"
+ },
+ "ce": {
+ "name": "чеченски"
+ },
+ "cs": {
+ "name": "чешки"
+ },
+ "cgg": {
+ "name": "чига"
+ },
+ "dyo": {
+ "name": "џола фоњи"
+ },
+ "dz": {
+ "name": "џонга"
+ },
+ "ksb": {
+ "name": "шамбала"
+ },
+ "de-CH": {
+ "name": "швајцарски високи немачки"
+ },
+ "gsw": {
+ "name": "швајцарски немачки"
+ },
+ "sv": {
+ "name": "шведски"
+ },
+ "gd": {
+ "name": "шкотски гелски"
+ },
+ "sn": {
+ "name": "шона"
+ },
+ "es": {
+ "name": "шпански"
+ },
+ "es-MX": {
+ "name": "шпански (Мексико)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/sr-Cyrl-ME.json b/vendor/commerceguys/intl/resources/language/sr-Cyrl-ME.json
new file mode 100644
index 000000000..7f29360e8
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/sr-Cyrl-ME.json
@@ -0,0 +1,635 @@
+{
+ "agq": {
+ "name": "агем"
+ },
+ "az": {
+ "name": "азербејџански"
+ },
+ "ak": {
+ "name": "акански"
+ },
+ "sq": {
+ "name": "албански"
+ },
+ "am": {
+ "name": "амхарски"
+ },
+ "ar": {
+ "name": "арапски"
+ },
+ "as": {
+ "name": "асамски"
+ },
+ "ast": {
+ "name": "астуријски"
+ },
+ "asa": {
+ "name": "асу"
+ },
+ "af": {
+ "name": "африканс"
+ },
+ "bm": {
+ "name": "бамананкан"
+ },
+ "bn": {
+ "name": "бангла"
+ },
+ "bas": {
+ "name": "баса"
+ },
+ "eu": {
+ "name": "баскијски"
+ },
+ "ksf": {
+ "name": "бафија"
+ },
+ "bem": {
+ "name": "бемба"
+ },
+ "bez": {
+ "name": "бена"
+ },
+ "be": {
+ "name": "бјелоруски"
+ },
+ "brx": {
+ "name": "бодо"
+ },
+ "bs": {
+ "name": "босански"
+ },
+ "br": {
+ "name": "бретонски"
+ },
+ "bg": {
+ "name": "бугарски"
+ },
+ "my": {
+ "name": "бурмански"
+ },
+ "vai": {
+ "name": "ваи"
+ },
+ "wae": {
+ "name": "валсерски"
+ },
+ "cy": {
+ "name": "велшки"
+ },
+ "vi": {
+ "name": "вијетнамски"
+ },
+ "vo": {
+ "name": "волапик"
+ },
+ "vun": {
+ "name": "вунџо"
+ },
+ "gl": {
+ "name": "галицијски"
+ },
+ "lg": {
+ "name": "ганда"
+ },
+ "hsb": {
+ "name": "горњи лужичкосрпски"
+ },
+ "kl": {
+ "name": "гренландски"
+ },
+ "ka": {
+ "name": "грузијски"
+ },
+ "el": {
+ "name": "грчки"
+ },
+ "guz": {
+ "name": "гуси"
+ },
+ "gu": {
+ "name": "гуџарати"
+ },
+ "da": {
+ "name": "дански"
+ },
+ "dsb": {
+ "name": "доњи лужичкосрпски"
+ },
+ "dua": {
+ "name": "дуала"
+ },
+ "ee": {
+ "name": "еве"
+ },
+ "ewo": {
+ "name": "евондо"
+ },
+ "ebu": {
+ "name": "ембу"
+ },
+ "en": {
+ "name": "енглески"
+ },
+ "en-AU": {
+ "name": "енглески (Аустралија)"
+ },
+ "en-GB": {
+ "name": "енглески (Велика Британија)"
+ },
+ "en-CA": {
+ "name": "енглески (Канада)"
+ },
+ "eo": {
+ "name": "есперанто"
+ },
+ "et": {
+ "name": "естонски"
+ },
+ "fy": {
+ "name": "западни фризијски"
+ },
+ "dje": {
+ "name": "зарма"
+ },
+ "kea": {
+ "name": "зеленортски"
+ },
+ "ig": {
+ "name": "игбо"
+ },
+ "smn": {
+ "name": "инари сами"
+ },
+ "id": {
+ "name": "индонежански"
+ },
+ "ga": {
+ "name": "ирски"
+ },
+ "zu": {
+ "name": "исизулу"
+ },
+ "is": {
+ "name": "исландски"
+ },
+ "it": {
+ "name": "италијански"
+ },
+ "sah": {
+ "name": "јакутски"
+ },
+ "yav": {
+ "name": "јангбен"
+ },
+ "ja": {
+ "name": "јапански"
+ },
+ "hy": {
+ "name": "јерменски"
+ },
+ "yi": {
+ "name": "јидиш"
+ },
+ "yo": {
+ "name": "јоруба"
+ },
+ "shi": {
+ "name": "јужни шилха"
+ },
+ "kab": {
+ "name": "кабиле"
+ },
+ "kk": {
+ "name": "казашки"
+ },
+ "kkj": {
+ "name": "како"
+ },
+ "kln": {
+ "name": "каленџински"
+ },
+ "kam": {
+ "name": "камба"
+ },
+ "kn": {
+ "name": "канада"
+ },
+ "yue": {
+ "name": "кантонски"
+ },
+ "ca": {
+ "name": "каталонски"
+ },
+ "ks": {
+ "name": "кашмирски"
+ },
+ "nmg": {
+ "name": "квасио"
+ },
+ "ksh": {
+ "name": "келнски"
+ },
+ "qu": {
+ "name": "кечуа"
+ },
+ "ki": {
+ "name": "кикују"
+ },
+ "zh": {
+ "name": "кинески"
+ },
+ "rw": {
+ "name": "кињаруанда"
+ },
+ "ky": {
+ "name": "киргиски"
+ },
+ "rn": {
+ "name": "кирунди"
+ },
+ "sw-CD": {
+ "name": "кисвахили"
+ },
+ "km": {
+ "name": "кмерски"
+ },
+ "khq": {
+ "name": "којра чиини"
+ },
+ "ses": {
+ "name": "којраборо сени"
+ },
+ "kok": {
+ "name": "конкани"
+ },
+ "ko": {
+ "name": "корејски"
+ },
+ "kw": {
+ "name": "корнволски"
+ },
+ "lkt": {
+ "name": "лакота"
+ },
+ "lag": {
+ "name": "ланги"
+ },
+ "lo": {
+ "name": "лаошки"
+ },
+ "lv": {
+ "name": "летонски"
+ },
+ "ln": {
+ "name": "лингала"
+ },
+ "lt": {
+ "name": "литвански"
+ },
+ "lu": {
+ "name": "луба-катанга"
+ },
+ "luy": {
+ "name": "лујиа"
+ },
+ "lb": {
+ "name": "луксембуршки"
+ },
+ "luo": {
+ "name": "луо"
+ },
+ "hu": {
+ "name": "мађарски"
+ },
+ "mzn": {
+ "name": "мазандерански"
+ },
+ "mk": {
+ "name": "македонски"
+ },
+ "kde": {
+ "name": "маконде"
+ },
+ "mgh": {
+ "name": "макува-мито"
+ },
+ "ml": {
+ "name": "малајалам"
+ },
+ "ms": {
+ "name": "малајски"
+ },
+ "mg": {
+ "name": "малгашки"
+ },
+ "mt": {
+ "name": "малтешки"
+ },
+ "gv": {
+ "name": "манкс"
+ },
+ "mr": {
+ "name": "марати"
+ },
+ "mas": {
+ "name": "масајски"
+ },
+ "jmc": {
+ "name": "мачаме"
+ },
+ "mer": {
+ "name": "меру"
+ },
+ "mgo": {
+ "name": "мета"
+ },
+ "ro-MD": {
+ "name": "молдавски"
+ },
+ "mn": {
+ "name": "монголски"
+ },
+ "mfe": {
+ "name": "морисјен"
+ },
+ "mua": {
+ "name": "мунданг"
+ },
+ "naq": {
+ "name": "нама"
+ },
+ "nnh": {
+ "name": "нгиембун"
+ },
+ "jgo": {
+ "name": "нгомба"
+ },
+ "de": {
+ "name": "немачки"
+ },
+ "de-AT": {
+ "name": "немачки (Аустрија)"
+ },
+ "ne": {
+ "name": "непалски"
+ },
+ "nds": {
+ "name": "нисконемачки"
+ },
+ "nds-NL": {
+ "name": "нискосаксонски"
+ },
+ "nb": {
+ "name": "норвешки букмол"
+ },
+ "nn": {
+ "name": "норвешки нинорск"
+ },
+ "nus": {
+ "name": "нуер"
+ },
+ "nyn": {
+ "name": "њанколе"
+ },
+ "or": {
+ "name": "одија"
+ },
+ "om": {
+ "name": "оромо"
+ },
+ "os": {
+ "name": "осетински"
+ },
+ "ps": {
+ "name": "паштунски"
+ },
+ "pa": {
+ "name": "пенџапски"
+ },
+ "fa": {
+ "name": "персијски"
+ },
+ "zh-Hans": {
+ "name": "поједностављени кинески"
+ },
+ "pl": {
+ "name": "пољски"
+ },
+ "pt": {
+ "name": "португалски"
+ },
+ "pt-PT": {
+ "name": "португалски (Португал)"
+ },
+ "prg": {
+ "name": "пруски"
+ },
+ "rm": {
+ "name": "романш"
+ },
+ "rof": {
+ "name": "ромбо"
+ },
+ "rwk": {
+ "name": "руа"
+ },
+ "ro": {
+ "name": "румунски"
+ },
+ "ru": {
+ "name": "руски"
+ },
+ "saq": {
+ "name": "самбуру"
+ },
+ "sg": {
+ "name": "санго"
+ },
+ "sbp": {
+ "name": "сангу"
+ },
+ "sw": {
+ "name": "свахили"
+ },
+ "lrc": {
+ "name": "северни лури"
+ },
+ "nd": {
+ "name": "северни ндебеле"
+ },
+ "se": {
+ "name": "северни сами"
+ },
+ "seh": {
+ "name": "сена"
+ },
+ "ii": {
+ "name": "сечуански ји"
+ },
+ "si": {
+ "name": "синхалешки"
+ },
+ "sk": {
+ "name": "словачки"
+ },
+ "sl": {
+ "name": "словеначки"
+ },
+ "xog": {
+ "name": "сога"
+ },
+ "so": {
+ "name": "сомалски"
+ },
+ "sr": {
+ "name": "српски"
+ },
+ "zgh": {
+ "name": "стандардни марокански тамашек"
+ },
+ "dav": {
+ "name": "таита"
+ },
+ "th": {
+ "name": "тајски"
+ },
+ "ta": {
+ "name": "тамилски"
+ },
+ "twq": {
+ "name": "тасавак"
+ },
+ "te": {
+ "name": "телугу"
+ },
+ "teo": {
+ "name": "тесо"
+ },
+ "bo": {
+ "name": "тибетански"
+ },
+ "ti": {
+ "name": "тигриња"
+ },
+ "to": {
+ "name": "тонгански"
+ },
+ "zh-Hant": {
+ "name": "традиционални кинески"
+ },
+ "tk": {
+ "name": "туркменски"
+ },
+ "tr": {
+ "name": "турски"
+ },
+ "uz": {
+ "name": "узбечки"
+ },
+ "ug": {
+ "name": "ујгурски"
+ },
+ "uk": {
+ "name": "украјински"
+ },
+ "ur": {
+ "name": "урду"
+ },
+ "fo": {
+ "name": "фарски"
+ },
+ "fil": {
+ "name": "филипински"
+ },
+ "fi": {
+ "name": "фински"
+ },
+ "nl-BE": {
+ "name": "фламански"
+ },
+ "fr": {
+ "name": "француски"
+ },
+ "fr-CA": {
+ "name": "француски (Канада)"
+ },
+ "fr-CH": {
+ "name": "француски (Швајцарска)"
+ },
+ "fur": {
+ "name": "фриулски"
+ },
+ "ff": {
+ "name": "фулах"
+ },
+ "haw": {
+ "name": "хавајски"
+ },
+ "ha": {
+ "name": "хауса"
+ },
+ "he": {
+ "name": "хебрејски"
+ },
+ "hi": {
+ "name": "хинди"
+ },
+ "nl": {
+ "name": "холандски"
+ },
+ "hr": {
+ "name": "хрватски"
+ },
+ "ckb": {
+ "name": "централни курдски"
+ },
+ "tzm": {
+ "name": "централноатласки тамашек"
+ },
+ "cu": {
+ "name": "црквенословенски"
+ },
+ "chr": {
+ "name": "чероки"
+ },
+ "ce": {
+ "name": "чеченски"
+ },
+ "cs": {
+ "name": "чешки"
+ },
+ "cgg": {
+ "name": "чига"
+ },
+ "dyo": {
+ "name": "џола фоњи"
+ },
+ "dz": {
+ "name": "џонга"
+ },
+ "ksb": {
+ "name": "шамбала"
+ },
+ "de-CH": {
+ "name": "швајцарски високи немачки"
+ },
+ "gsw": {
+ "name": "Швајцарски немачки"
+ },
+ "sv": {
+ "name": "шведски"
+ },
+ "gd": {
+ "name": "шкотски гелски"
+ },
+ "sn": {
+ "name": "шона"
+ },
+ "es": {
+ "name": "шпански"
+ },
+ "es-MX": {
+ "name": "шпански (Мексико)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/sr-Cyrl-XK.json b/vendor/commerceguys/intl/resources/language/sr-Cyrl-XK.json
new file mode 100644
index 000000000..61022352b
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/sr-Cyrl-XK.json
@@ -0,0 +1,635 @@
+{
+ "agq": {
+ "name": "агем"
+ },
+ "az": {
+ "name": "азербејџански"
+ },
+ "ak": {
+ "name": "акански"
+ },
+ "sq": {
+ "name": "албански"
+ },
+ "am": {
+ "name": "амхарски"
+ },
+ "ar": {
+ "name": "арапски"
+ },
+ "as": {
+ "name": "асамски"
+ },
+ "ast": {
+ "name": "астуријски"
+ },
+ "asa": {
+ "name": "асу"
+ },
+ "af": {
+ "name": "африканс"
+ },
+ "bm": {
+ "name": "бамананкан"
+ },
+ "bn": {
+ "name": "бангла"
+ },
+ "bas": {
+ "name": "баса"
+ },
+ "eu": {
+ "name": "баскијски"
+ },
+ "ksf": {
+ "name": "бафија"
+ },
+ "be": {
+ "name": "белоруски"
+ },
+ "bem": {
+ "name": "бемба"
+ },
+ "bez": {
+ "name": "бена"
+ },
+ "brx": {
+ "name": "бодо"
+ },
+ "bs": {
+ "name": "босански"
+ },
+ "br": {
+ "name": "бретонски"
+ },
+ "bg": {
+ "name": "бугарски"
+ },
+ "my": {
+ "name": "бурмански"
+ },
+ "vai": {
+ "name": "ваи"
+ },
+ "wae": {
+ "name": "валсерски"
+ },
+ "cy": {
+ "name": "велшки"
+ },
+ "vi": {
+ "name": "вијетнамски"
+ },
+ "vo": {
+ "name": "волапик"
+ },
+ "vun": {
+ "name": "вунџо"
+ },
+ "gl": {
+ "name": "галицијски"
+ },
+ "lg": {
+ "name": "ганда"
+ },
+ "hsb": {
+ "name": "горњи лужичкосрпски"
+ },
+ "kl": {
+ "name": "гренландски"
+ },
+ "ka": {
+ "name": "грузијски"
+ },
+ "el": {
+ "name": "грчки"
+ },
+ "guz": {
+ "name": "гуси"
+ },
+ "gu": {
+ "name": "гуџарати"
+ },
+ "da": {
+ "name": "дански"
+ },
+ "dsb": {
+ "name": "доњи лужичкосрпски"
+ },
+ "dua": {
+ "name": "дуала"
+ },
+ "ee": {
+ "name": "еве"
+ },
+ "ewo": {
+ "name": "евондо"
+ },
+ "ebu": {
+ "name": "ембу"
+ },
+ "en": {
+ "name": "енглески"
+ },
+ "en-AU": {
+ "name": "енглески (Аустралија)"
+ },
+ "en-GB": {
+ "name": "енглески (Велика Британија)"
+ },
+ "en-CA": {
+ "name": "енглески (Канада)"
+ },
+ "eo": {
+ "name": "есперанто"
+ },
+ "et": {
+ "name": "естонски"
+ },
+ "fy": {
+ "name": "западни фризијски"
+ },
+ "dje": {
+ "name": "зарма"
+ },
+ "kea": {
+ "name": "зеленортски"
+ },
+ "ig": {
+ "name": "игбо"
+ },
+ "smn": {
+ "name": "инари сами"
+ },
+ "id": {
+ "name": "индонежански"
+ },
+ "ga": {
+ "name": "ирски"
+ },
+ "zu": {
+ "name": "исизулу"
+ },
+ "is": {
+ "name": "исландски"
+ },
+ "it": {
+ "name": "италијански"
+ },
+ "sah": {
+ "name": "јакутски"
+ },
+ "yav": {
+ "name": "јангбен"
+ },
+ "ja": {
+ "name": "јапански"
+ },
+ "hy": {
+ "name": "јерменски"
+ },
+ "yi": {
+ "name": "јидиш"
+ },
+ "yo": {
+ "name": "јоруба"
+ },
+ "shi": {
+ "name": "јужни шилха"
+ },
+ "kab": {
+ "name": "кабиле"
+ },
+ "kk": {
+ "name": "казашки"
+ },
+ "kkj": {
+ "name": "како"
+ },
+ "kln": {
+ "name": "каленџински"
+ },
+ "kam": {
+ "name": "камба"
+ },
+ "kn": {
+ "name": "канада"
+ },
+ "yue": {
+ "name": "кантонски"
+ },
+ "ca": {
+ "name": "каталонски"
+ },
+ "ks": {
+ "name": "кашмирски"
+ },
+ "nmg": {
+ "name": "квасио"
+ },
+ "ksh": {
+ "name": "келнски"
+ },
+ "qu": {
+ "name": "кечуа"
+ },
+ "ki": {
+ "name": "кикују"
+ },
+ "zh": {
+ "name": "кинески"
+ },
+ "rw": {
+ "name": "кињаруанда"
+ },
+ "ky": {
+ "name": "киргиски"
+ },
+ "rn": {
+ "name": "кирунди"
+ },
+ "sw-CD": {
+ "name": "кисвахили"
+ },
+ "km": {
+ "name": "кмерски"
+ },
+ "khq": {
+ "name": "којра чиини"
+ },
+ "ses": {
+ "name": "којраборо сени"
+ },
+ "kok": {
+ "name": "конкани"
+ },
+ "ko": {
+ "name": "корејски"
+ },
+ "kw": {
+ "name": "корнволски"
+ },
+ "lkt": {
+ "name": "лакота"
+ },
+ "lag": {
+ "name": "ланги"
+ },
+ "lo": {
+ "name": "лаошки"
+ },
+ "lv": {
+ "name": "летонски"
+ },
+ "ln": {
+ "name": "лингала"
+ },
+ "lt": {
+ "name": "литвански"
+ },
+ "lu": {
+ "name": "луба-катанга"
+ },
+ "luy": {
+ "name": "лујиа"
+ },
+ "lb": {
+ "name": "луксембуршки"
+ },
+ "luo": {
+ "name": "луо"
+ },
+ "hu": {
+ "name": "мађарски"
+ },
+ "mzn": {
+ "name": "мазандерански"
+ },
+ "mk": {
+ "name": "македонски"
+ },
+ "kde": {
+ "name": "маконде"
+ },
+ "mgh": {
+ "name": "макува-мито"
+ },
+ "ml": {
+ "name": "малајалам"
+ },
+ "ms": {
+ "name": "малајски"
+ },
+ "mg": {
+ "name": "малгашки"
+ },
+ "mt": {
+ "name": "малтешки"
+ },
+ "gv": {
+ "name": "манкс"
+ },
+ "mr": {
+ "name": "марати"
+ },
+ "mas": {
+ "name": "масајски"
+ },
+ "jmc": {
+ "name": "мачаме"
+ },
+ "mer": {
+ "name": "меру"
+ },
+ "mgo": {
+ "name": "мета"
+ },
+ "ro-MD": {
+ "name": "молдавски"
+ },
+ "mn": {
+ "name": "монголски"
+ },
+ "mfe": {
+ "name": "морисјен"
+ },
+ "mua": {
+ "name": "мунданг"
+ },
+ "naq": {
+ "name": "нама"
+ },
+ "nnh": {
+ "name": "нгиембун"
+ },
+ "jgo": {
+ "name": "нгомба"
+ },
+ "de": {
+ "name": "немачки"
+ },
+ "de-AT": {
+ "name": "немачки (Аустрија)"
+ },
+ "ne": {
+ "name": "непалски"
+ },
+ "nds": {
+ "name": "нисконемачки"
+ },
+ "nds-NL": {
+ "name": "нискосаксонски"
+ },
+ "nb": {
+ "name": "норвешки букмол"
+ },
+ "nn": {
+ "name": "норвешки нинорск"
+ },
+ "nus": {
+ "name": "нуер"
+ },
+ "nyn": {
+ "name": "њанколе"
+ },
+ "or": {
+ "name": "одија"
+ },
+ "om": {
+ "name": "оромо"
+ },
+ "os": {
+ "name": "осетински"
+ },
+ "ps": {
+ "name": "паштунски"
+ },
+ "pa": {
+ "name": "пенџапски"
+ },
+ "fa": {
+ "name": "персијски"
+ },
+ "zh-Hans": {
+ "name": "поједностављени кинески"
+ },
+ "pl": {
+ "name": "пољски"
+ },
+ "pt": {
+ "name": "португалски"
+ },
+ "pt-PT": {
+ "name": "португалски (Португал)"
+ },
+ "prg": {
+ "name": "пруски"
+ },
+ "rm": {
+ "name": "романш"
+ },
+ "rof": {
+ "name": "ромбо"
+ },
+ "rwk": {
+ "name": "руа"
+ },
+ "ro": {
+ "name": "румунски"
+ },
+ "ru": {
+ "name": "руски"
+ },
+ "saq": {
+ "name": "самбуру"
+ },
+ "sg": {
+ "name": "санго"
+ },
+ "sbp": {
+ "name": "сангу"
+ },
+ "sw": {
+ "name": "свахили"
+ },
+ "lrc": {
+ "name": "северни лури"
+ },
+ "nd": {
+ "name": "северни ндебеле"
+ },
+ "se": {
+ "name": "северни сами"
+ },
+ "seh": {
+ "name": "сена"
+ },
+ "ii": {
+ "name": "сечуански ји"
+ },
+ "si": {
+ "name": "синхалски"
+ },
+ "sk": {
+ "name": "словачки"
+ },
+ "sl": {
+ "name": "словеначки"
+ },
+ "xog": {
+ "name": "сога"
+ },
+ "so": {
+ "name": "сомалски"
+ },
+ "sr": {
+ "name": "српски"
+ },
+ "zgh": {
+ "name": "стандардни марокански тамашек"
+ },
+ "dav": {
+ "name": "таита"
+ },
+ "th": {
+ "name": "тајски"
+ },
+ "ta": {
+ "name": "тамилски"
+ },
+ "twq": {
+ "name": "тасавак"
+ },
+ "te": {
+ "name": "телугу"
+ },
+ "teo": {
+ "name": "тесо"
+ },
+ "bo": {
+ "name": "тибетански"
+ },
+ "ti": {
+ "name": "тигриња"
+ },
+ "to": {
+ "name": "тонгански"
+ },
+ "zh-Hant": {
+ "name": "традиционални кинески"
+ },
+ "tk": {
+ "name": "туркменски"
+ },
+ "tr": {
+ "name": "турски"
+ },
+ "uz": {
+ "name": "узбечки"
+ },
+ "ug": {
+ "name": "ујгурски"
+ },
+ "uk": {
+ "name": "украјински"
+ },
+ "ur": {
+ "name": "урду"
+ },
+ "fo": {
+ "name": "фарски"
+ },
+ "fil": {
+ "name": "филипински"
+ },
+ "fi": {
+ "name": "фински"
+ },
+ "nl-BE": {
+ "name": "фламански"
+ },
+ "fr": {
+ "name": "француски"
+ },
+ "fr-CA": {
+ "name": "француски (Канада)"
+ },
+ "fr-CH": {
+ "name": "француски (Швајцарска)"
+ },
+ "fur": {
+ "name": "фриулски"
+ },
+ "ff": {
+ "name": "фулах"
+ },
+ "haw": {
+ "name": "хавајски"
+ },
+ "ha": {
+ "name": "хауса"
+ },
+ "he": {
+ "name": "хебрејски"
+ },
+ "hi": {
+ "name": "хинди"
+ },
+ "nl": {
+ "name": "холандски"
+ },
+ "hr": {
+ "name": "хрватски"
+ },
+ "ckb": {
+ "name": "централни курдски"
+ },
+ "tzm": {
+ "name": "централноатласки тамашек"
+ },
+ "cu": {
+ "name": "црквенословенски"
+ },
+ "chr": {
+ "name": "чероки"
+ },
+ "ce": {
+ "name": "чеченски"
+ },
+ "cs": {
+ "name": "чешки"
+ },
+ "cgg": {
+ "name": "чига"
+ },
+ "dyo": {
+ "name": "џола фоњи"
+ },
+ "dz": {
+ "name": "џонга"
+ },
+ "ksb": {
+ "name": "шамбала"
+ },
+ "de-CH": {
+ "name": "швајцарски високи немачки"
+ },
+ "gsw": {
+ "name": "швајцарски немачки"
+ },
+ "sv": {
+ "name": "шведски"
+ },
+ "gd": {
+ "name": "шкотски гелски"
+ },
+ "sn": {
+ "name": "шона"
+ },
+ "es": {
+ "name": "шпански"
+ },
+ "es-MX": {
+ "name": "шпански (Мексико)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/sr-Latn-BA.json b/vendor/commerceguys/intl/resources/language/sr-Latn-BA.json
new file mode 100644
index 000000000..9e723dd7a
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/sr-Latn-BA.json
@@ -0,0 +1,635 @@
+{
+ "af": {
+ "name": "afrikans"
+ },
+ "agq": {
+ "name": "agem"
+ },
+ "ak": {
+ "name": "akanski"
+ },
+ "sq": {
+ "name": "albanski"
+ },
+ "am": {
+ "name": "amharski"
+ },
+ "ar": {
+ "name": "arapski"
+ },
+ "as": {
+ "name": "asamski"
+ },
+ "ast": {
+ "name": "asturijski"
+ },
+ "asa": {
+ "name": "asu"
+ },
+ "az": {
+ "name": "azerbejdžanski"
+ },
+ "ksf": {
+ "name": "bafija"
+ },
+ "bm": {
+ "name": "bamanankan"
+ },
+ "bn": {
+ "name": "bangla"
+ },
+ "bas": {
+ "name": "basa"
+ },
+ "eu": {
+ "name": "baskijski"
+ },
+ "bem": {
+ "name": "bemba"
+ },
+ "bez": {
+ "name": "bena"
+ },
+ "be": {
+ "name": "bjeloruski"
+ },
+ "brx": {
+ "name": "bodo"
+ },
+ "bs": {
+ "name": "bosanski"
+ },
+ "br": {
+ "name": "bretonski"
+ },
+ "bg": {
+ "name": "bugarski"
+ },
+ "my": {
+ "name": "burmanski"
+ },
+ "ckb": {
+ "name": "centralni kurdski"
+ },
+ "tzm": {
+ "name": "centralnoatlaski tamašek"
+ },
+ "cu": {
+ "name": "crkvenoslovenski"
+ },
+ "ce": {
+ "name": "čečenski"
+ },
+ "chr": {
+ "name": "čeroki"
+ },
+ "cs": {
+ "name": "češki"
+ },
+ "cgg": {
+ "name": "čiga"
+ },
+ "da": {
+ "name": "danski"
+ },
+ "dsb": {
+ "name": "donji lužičkosrpski"
+ },
+ "dua": {
+ "name": "duala"
+ },
+ "dyo": {
+ "name": "džola fonji"
+ },
+ "dz": {
+ "name": "džonga"
+ },
+ "ebu": {
+ "name": "embu"
+ },
+ "en": {
+ "name": "engleski"
+ },
+ "en-AU": {
+ "name": "engleski (Australija)"
+ },
+ "en-CA": {
+ "name": "engleski (Kanada)"
+ },
+ "en-GB": {
+ "name": "engleski (Velika Britanija)"
+ },
+ "eo": {
+ "name": "esperanto"
+ },
+ "et": {
+ "name": "estonski"
+ },
+ "ee": {
+ "name": "eve"
+ },
+ "ewo": {
+ "name": "evondo"
+ },
+ "fo": {
+ "name": "farski"
+ },
+ "fil": {
+ "name": "filipinski"
+ },
+ "fi": {
+ "name": "finski"
+ },
+ "nl-BE": {
+ "name": "flamanski"
+ },
+ "fr": {
+ "name": "francuski"
+ },
+ "fr-CA": {
+ "name": "francuski (Kanada)"
+ },
+ "fr-CH": {
+ "name": "francuski (Švajcarska)"
+ },
+ "fur": {
+ "name": "friulski"
+ },
+ "ff": {
+ "name": "fula"
+ },
+ "gl": {
+ "name": "galicijski"
+ },
+ "lg": {
+ "name": "ganda"
+ },
+ "hsb": {
+ "name": "gornji lužičkosrpski"
+ },
+ "el": {
+ "name": "grčki"
+ },
+ "kl": {
+ "name": "grenlandski"
+ },
+ "ka": {
+ "name": "gruzijski"
+ },
+ "gu": {
+ "name": "gudžarati"
+ },
+ "guz": {
+ "name": "gusi"
+ },
+ "ha": {
+ "name": "hausa"
+ },
+ "haw": {
+ "name": "havajski"
+ },
+ "he": {
+ "name": "hebrejski"
+ },
+ "hi": {
+ "name": "hindi"
+ },
+ "nl": {
+ "name": "holandski"
+ },
+ "hr": {
+ "name": "hrvatski"
+ },
+ "ig": {
+ "name": "igbo"
+ },
+ "smn": {
+ "name": "inari sami"
+ },
+ "id": {
+ "name": "indonežanski"
+ },
+ "ga": {
+ "name": "irski"
+ },
+ "zu": {
+ "name": "isizulu"
+ },
+ "is": {
+ "name": "islandski"
+ },
+ "it": {
+ "name": "italijanski"
+ },
+ "sah": {
+ "name": "jakutski"
+ },
+ "yav": {
+ "name": "jangben"
+ },
+ "ja": {
+ "name": "japanski"
+ },
+ "hy": {
+ "name": "jermenski"
+ },
+ "yi": {
+ "name": "jidiš"
+ },
+ "yo": {
+ "name": "joruba"
+ },
+ "shi": {
+ "name": "južni šilha"
+ },
+ "kab": {
+ "name": "kabile"
+ },
+ "kkj": {
+ "name": "kako"
+ },
+ "kln": {
+ "name": "kalendžinski"
+ },
+ "kam": {
+ "name": "kamba"
+ },
+ "kn": {
+ "name": "kanada"
+ },
+ "yue": {
+ "name": "kantonski"
+ },
+ "ks": {
+ "name": "kašmirski"
+ },
+ "ca": {
+ "name": "katalonski"
+ },
+ "kk": {
+ "name": "kazaški"
+ },
+ "qu": {
+ "name": "kečua"
+ },
+ "ksh": {
+ "name": "kelnski"
+ },
+ "ki": {
+ "name": "kikuju"
+ },
+ "zh": {
+ "name": "kineski"
+ },
+ "rw": {
+ "name": "kinjaruanda"
+ },
+ "ky": {
+ "name": "kirgiski"
+ },
+ "rn": {
+ "name": "kirundi"
+ },
+ "sw-CD": {
+ "name": "kisvahili"
+ },
+ "km": {
+ "name": "kmerski"
+ },
+ "khq": {
+ "name": "kojra čiini"
+ },
+ "ses": {
+ "name": "kojraboro seni"
+ },
+ "kok": {
+ "name": "konkani"
+ },
+ "ko": {
+ "name": "korejski"
+ },
+ "kw": {
+ "name": "kornvolski"
+ },
+ "nmg": {
+ "name": "kvasio"
+ },
+ "lkt": {
+ "name": "lakota"
+ },
+ "lag": {
+ "name": "langi"
+ },
+ "lo": {
+ "name": "laoški"
+ },
+ "lv": {
+ "name": "letonski"
+ },
+ "ln": {
+ "name": "lingala"
+ },
+ "lt": {
+ "name": "litvanski"
+ },
+ "lu": {
+ "name": "luba-katanga"
+ },
+ "luy": {
+ "name": "lujia"
+ },
+ "lb": {
+ "name": "luksemburški"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "jmc": {
+ "name": "mačame"
+ },
+ "hu": {
+ "name": "mađarski"
+ },
+ "mk": {
+ "name": "makedonski"
+ },
+ "kde": {
+ "name": "makonde"
+ },
+ "mgh": {
+ "name": "makuva-mito"
+ },
+ "ml": {
+ "name": "malajalam"
+ },
+ "ms": {
+ "name": "malajski"
+ },
+ "mg": {
+ "name": "malgaški"
+ },
+ "mt": {
+ "name": "malteški"
+ },
+ "gv": {
+ "name": "manks"
+ },
+ "mr": {
+ "name": "marati"
+ },
+ "mas": {
+ "name": "masajski"
+ },
+ "mzn": {
+ "name": "mazanderanski"
+ },
+ "mer": {
+ "name": "meru"
+ },
+ "mgo": {
+ "name": "meta"
+ },
+ "ro-MD": {
+ "name": "moldavski"
+ },
+ "mn": {
+ "name": "mongolski"
+ },
+ "mfe": {
+ "name": "morisjen"
+ },
+ "mua": {
+ "name": "mundang"
+ },
+ "naq": {
+ "name": "nama"
+ },
+ "de": {
+ "name": "nemački"
+ },
+ "de-AT": {
+ "name": "nemački (Austrija)"
+ },
+ "ne": {
+ "name": "nepalski"
+ },
+ "nnh": {
+ "name": "ngiembun"
+ },
+ "jgo": {
+ "name": "ngomba"
+ },
+ "nds": {
+ "name": "niskonemački"
+ },
+ "nds-NL": {
+ "name": "niskosaksonski"
+ },
+ "nb": {
+ "name": "norveški bukmol"
+ },
+ "nn": {
+ "name": "norveški ninorsk"
+ },
+ "nus": {
+ "name": "nuer"
+ },
+ "nyn": {
+ "name": "njankole"
+ },
+ "or": {
+ "name": "odija"
+ },
+ "om": {
+ "name": "oromo"
+ },
+ "os": {
+ "name": "osetinski"
+ },
+ "ps": {
+ "name": "paštunski"
+ },
+ "pa": {
+ "name": "pendžapski"
+ },
+ "fa": {
+ "name": "persijski"
+ },
+ "zh-Hans": {
+ "name": "pojednostavljeni kineski"
+ },
+ "pl": {
+ "name": "poljski"
+ },
+ "pt": {
+ "name": "portugalski"
+ },
+ "pt-PT": {
+ "name": "portugalski (Portugal)"
+ },
+ "prg": {
+ "name": "pruski"
+ },
+ "rm": {
+ "name": "romanš"
+ },
+ "rof": {
+ "name": "rombo"
+ },
+ "rwk": {
+ "name": "rua"
+ },
+ "ro": {
+ "name": "rumunski"
+ },
+ "ru": {
+ "name": "ruski"
+ },
+ "saq": {
+ "name": "samburu"
+ },
+ "sg": {
+ "name": "sango"
+ },
+ "sbp": {
+ "name": "sangu"
+ },
+ "ii": {
+ "name": "sečuanski ji"
+ },
+ "seh": {
+ "name": "sena"
+ },
+ "lrc": {
+ "name": "severni luri"
+ },
+ "nd": {
+ "name": "severni ndebele"
+ },
+ "se": {
+ "name": "severni sami"
+ },
+ "si": {
+ "name": "sinhalski"
+ },
+ "sk": {
+ "name": "slovački"
+ },
+ "sl": {
+ "name": "slovenački"
+ },
+ "xog": {
+ "name": "soga"
+ },
+ "so": {
+ "name": "somalski"
+ },
+ "sr": {
+ "name": "srpski"
+ },
+ "zgh": {
+ "name": "standardni marokanski tamašek"
+ },
+ "sw": {
+ "name": "svahili"
+ },
+ "ksb": {
+ "name": "šambala"
+ },
+ "gd": {
+ "name": "škotski gelski"
+ },
+ "sn": {
+ "name": "šona"
+ },
+ "es": {
+ "name": "španski"
+ },
+ "es-MX": {
+ "name": "španski (Meksiko)"
+ },
+ "gsw": {
+ "name": "švajcarski nemački"
+ },
+ "de-CH": {
+ "name": "švajcarski visoki nemački"
+ },
+ "sv": {
+ "name": "švedski"
+ },
+ "dav": {
+ "name": "taita"
+ },
+ "th": {
+ "name": "tajski"
+ },
+ "ta": {
+ "name": "tamilski"
+ },
+ "twq": {
+ "name": "tasavak"
+ },
+ "te": {
+ "name": "telugu"
+ },
+ "teo": {
+ "name": "teso"
+ },
+ "bo": {
+ "name": "tibetanski"
+ },
+ "ti": {
+ "name": "tigrinja"
+ },
+ "to": {
+ "name": "tonganski"
+ },
+ "zh-Hant": {
+ "name": "tradicionalni kineski"
+ },
+ "tk": {
+ "name": "turkmenski"
+ },
+ "tr": {
+ "name": "turski"
+ },
+ "ug": {
+ "name": "ujgurski"
+ },
+ "uk": {
+ "name": "ukrajinski"
+ },
+ "ur": {
+ "name": "urdu"
+ },
+ "uz": {
+ "name": "uzbečki"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "wae": {
+ "name": "valserski"
+ },
+ "cy": {
+ "name": "velški"
+ },
+ "vi": {
+ "name": "vijetnamski"
+ },
+ "vo": {
+ "name": "volapik"
+ },
+ "vun": {
+ "name": "vundžo"
+ },
+ "fy": {
+ "name": "zapadni frizijski"
+ },
+ "dje": {
+ "name": "zarma"
+ },
+ "kea": {
+ "name": "zelenortski"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/sr-Latn-ME.json b/vendor/commerceguys/intl/resources/language/sr-Latn-ME.json
new file mode 100644
index 000000000..7bbdb3abf
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/sr-Latn-ME.json
@@ -0,0 +1,635 @@
+{
+ "af": {
+ "name": "afrikans"
+ },
+ "agq": {
+ "name": "agem"
+ },
+ "ak": {
+ "name": "akanski"
+ },
+ "sq": {
+ "name": "albanski"
+ },
+ "am": {
+ "name": "amharski"
+ },
+ "ar": {
+ "name": "arapski"
+ },
+ "as": {
+ "name": "asamski"
+ },
+ "ast": {
+ "name": "asturijski"
+ },
+ "asa": {
+ "name": "asu"
+ },
+ "az": {
+ "name": "azerbejdžanski"
+ },
+ "ksf": {
+ "name": "bafija"
+ },
+ "bm": {
+ "name": "bamanankan"
+ },
+ "bn": {
+ "name": "bangla"
+ },
+ "bas": {
+ "name": "basa"
+ },
+ "eu": {
+ "name": "baskijski"
+ },
+ "bem": {
+ "name": "bemba"
+ },
+ "bez": {
+ "name": "bena"
+ },
+ "be": {
+ "name": "bjeloruski"
+ },
+ "brx": {
+ "name": "bodo"
+ },
+ "bs": {
+ "name": "bosanski"
+ },
+ "br": {
+ "name": "bretonski"
+ },
+ "bg": {
+ "name": "bugarski"
+ },
+ "my": {
+ "name": "burmanski"
+ },
+ "ckb": {
+ "name": "centralni kurdski"
+ },
+ "tzm": {
+ "name": "centralnoatlaski tamašek"
+ },
+ "cu": {
+ "name": "crkvenoslovenski"
+ },
+ "ce": {
+ "name": "čečenski"
+ },
+ "chr": {
+ "name": "čeroki"
+ },
+ "cs": {
+ "name": "češki"
+ },
+ "cgg": {
+ "name": "čiga"
+ },
+ "da": {
+ "name": "danski"
+ },
+ "dsb": {
+ "name": "donji lužičkosrpski"
+ },
+ "dua": {
+ "name": "duala"
+ },
+ "dyo": {
+ "name": "džola fonji"
+ },
+ "dz": {
+ "name": "džonga"
+ },
+ "ebu": {
+ "name": "embu"
+ },
+ "en": {
+ "name": "engleski"
+ },
+ "en-AU": {
+ "name": "engleski (Australija)"
+ },
+ "en-CA": {
+ "name": "engleski (Kanada)"
+ },
+ "en-GB": {
+ "name": "engleski (Velika Britanija)"
+ },
+ "eo": {
+ "name": "esperanto"
+ },
+ "et": {
+ "name": "estonski"
+ },
+ "ee": {
+ "name": "eve"
+ },
+ "ewo": {
+ "name": "evondo"
+ },
+ "fo": {
+ "name": "farski"
+ },
+ "fil": {
+ "name": "filipinski"
+ },
+ "fi": {
+ "name": "finski"
+ },
+ "nl-BE": {
+ "name": "flamanski"
+ },
+ "fr": {
+ "name": "francuski"
+ },
+ "fr-CA": {
+ "name": "francuski (Kanada)"
+ },
+ "fr-CH": {
+ "name": "francuski (Švajcarska)"
+ },
+ "fur": {
+ "name": "friulski"
+ },
+ "ff": {
+ "name": "fulah"
+ },
+ "gl": {
+ "name": "galicijski"
+ },
+ "lg": {
+ "name": "ganda"
+ },
+ "hsb": {
+ "name": "gornji lužičkosrpski"
+ },
+ "el": {
+ "name": "grčki"
+ },
+ "kl": {
+ "name": "grenlandski"
+ },
+ "ka": {
+ "name": "gruzijski"
+ },
+ "gu": {
+ "name": "gudžarati"
+ },
+ "guz": {
+ "name": "gusi"
+ },
+ "ha": {
+ "name": "hausa"
+ },
+ "haw": {
+ "name": "havajski"
+ },
+ "he": {
+ "name": "hebrejski"
+ },
+ "hi": {
+ "name": "hindi"
+ },
+ "nl": {
+ "name": "holandski"
+ },
+ "hr": {
+ "name": "hrvatski"
+ },
+ "ig": {
+ "name": "igbo"
+ },
+ "smn": {
+ "name": "inari sami"
+ },
+ "id": {
+ "name": "indonežanski"
+ },
+ "ga": {
+ "name": "irski"
+ },
+ "zu": {
+ "name": "isizulu"
+ },
+ "is": {
+ "name": "islandski"
+ },
+ "it": {
+ "name": "italijanski"
+ },
+ "sah": {
+ "name": "jakutski"
+ },
+ "yav": {
+ "name": "jangben"
+ },
+ "ja": {
+ "name": "japanski"
+ },
+ "hy": {
+ "name": "jermenski"
+ },
+ "yi": {
+ "name": "jidiš"
+ },
+ "yo": {
+ "name": "joruba"
+ },
+ "shi": {
+ "name": "južni šilha"
+ },
+ "kab": {
+ "name": "kabile"
+ },
+ "kkj": {
+ "name": "kako"
+ },
+ "kln": {
+ "name": "kalendžinski"
+ },
+ "kam": {
+ "name": "kamba"
+ },
+ "kn": {
+ "name": "kanada"
+ },
+ "yue": {
+ "name": "kantonski"
+ },
+ "ks": {
+ "name": "kašmirski"
+ },
+ "ca": {
+ "name": "katalonski"
+ },
+ "kk": {
+ "name": "kazaški"
+ },
+ "qu": {
+ "name": "kečua"
+ },
+ "ksh": {
+ "name": "kelnski"
+ },
+ "ki": {
+ "name": "kikuju"
+ },
+ "zh": {
+ "name": "kineski"
+ },
+ "rw": {
+ "name": "kinjaruanda"
+ },
+ "ky": {
+ "name": "kirgiski"
+ },
+ "rn": {
+ "name": "kirundi"
+ },
+ "sw-CD": {
+ "name": "kisvahili"
+ },
+ "km": {
+ "name": "kmerski"
+ },
+ "khq": {
+ "name": "kojra čiini"
+ },
+ "ses": {
+ "name": "kojraboro seni"
+ },
+ "kok": {
+ "name": "konkani"
+ },
+ "ko": {
+ "name": "korejski"
+ },
+ "kw": {
+ "name": "kornvolski"
+ },
+ "nmg": {
+ "name": "kvasio"
+ },
+ "lkt": {
+ "name": "lakota"
+ },
+ "lag": {
+ "name": "langi"
+ },
+ "lo": {
+ "name": "laoški"
+ },
+ "lv": {
+ "name": "letonski"
+ },
+ "ln": {
+ "name": "lingala"
+ },
+ "lt": {
+ "name": "litvanski"
+ },
+ "lu": {
+ "name": "luba-katanga"
+ },
+ "luy": {
+ "name": "lujia"
+ },
+ "lb": {
+ "name": "luksemburški"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "jmc": {
+ "name": "mačame"
+ },
+ "hu": {
+ "name": "mađarski"
+ },
+ "mk": {
+ "name": "makedonski"
+ },
+ "kde": {
+ "name": "makonde"
+ },
+ "mgh": {
+ "name": "makuva-mito"
+ },
+ "ml": {
+ "name": "malajalam"
+ },
+ "ms": {
+ "name": "malajski"
+ },
+ "mg": {
+ "name": "malgaški"
+ },
+ "mt": {
+ "name": "malteški"
+ },
+ "gv": {
+ "name": "manks"
+ },
+ "mr": {
+ "name": "marati"
+ },
+ "mas": {
+ "name": "masajski"
+ },
+ "mzn": {
+ "name": "mazanderanski"
+ },
+ "mer": {
+ "name": "meru"
+ },
+ "mgo": {
+ "name": "meta"
+ },
+ "ro-MD": {
+ "name": "moldavski"
+ },
+ "mn": {
+ "name": "mongolski"
+ },
+ "mfe": {
+ "name": "morisjen"
+ },
+ "mua": {
+ "name": "mundang"
+ },
+ "naq": {
+ "name": "nama"
+ },
+ "de": {
+ "name": "nemački"
+ },
+ "de-AT": {
+ "name": "nemački (Austrija)"
+ },
+ "ne": {
+ "name": "nepalski"
+ },
+ "nnh": {
+ "name": "ngiembun"
+ },
+ "jgo": {
+ "name": "ngomba"
+ },
+ "nds": {
+ "name": "niskonemački"
+ },
+ "nds-NL": {
+ "name": "niskosaksonski"
+ },
+ "nb": {
+ "name": "norveški bukmol"
+ },
+ "nn": {
+ "name": "norveški ninorsk"
+ },
+ "nus": {
+ "name": "nuer"
+ },
+ "nyn": {
+ "name": "njankole"
+ },
+ "or": {
+ "name": "odija"
+ },
+ "om": {
+ "name": "oromo"
+ },
+ "os": {
+ "name": "osetinski"
+ },
+ "ps": {
+ "name": "paštunski"
+ },
+ "pa": {
+ "name": "pendžapski"
+ },
+ "fa": {
+ "name": "persijski"
+ },
+ "zh-Hans": {
+ "name": "pojednostavljeni kineski"
+ },
+ "pl": {
+ "name": "poljski"
+ },
+ "pt": {
+ "name": "portugalski"
+ },
+ "pt-PT": {
+ "name": "portugalski (Portugal)"
+ },
+ "prg": {
+ "name": "pruski"
+ },
+ "rm": {
+ "name": "romanš"
+ },
+ "rof": {
+ "name": "rombo"
+ },
+ "rwk": {
+ "name": "rua"
+ },
+ "ro": {
+ "name": "rumunski"
+ },
+ "ru": {
+ "name": "ruski"
+ },
+ "saq": {
+ "name": "samburu"
+ },
+ "sg": {
+ "name": "sango"
+ },
+ "sbp": {
+ "name": "sangu"
+ },
+ "ii": {
+ "name": "sečuanski ji"
+ },
+ "seh": {
+ "name": "sena"
+ },
+ "lrc": {
+ "name": "severni luri"
+ },
+ "nd": {
+ "name": "severni ndebele"
+ },
+ "se": {
+ "name": "severni sami"
+ },
+ "si": {
+ "name": "sinhaleški"
+ },
+ "sk": {
+ "name": "slovački"
+ },
+ "sl": {
+ "name": "slovenački"
+ },
+ "xog": {
+ "name": "soga"
+ },
+ "so": {
+ "name": "somalski"
+ },
+ "sr": {
+ "name": "srpski"
+ },
+ "zgh": {
+ "name": "standardni marokanski tamašek"
+ },
+ "sw": {
+ "name": "svahili"
+ },
+ "ksb": {
+ "name": "šambala"
+ },
+ "gd": {
+ "name": "škotski gelski"
+ },
+ "sn": {
+ "name": "šona"
+ },
+ "es": {
+ "name": "španski"
+ },
+ "es-MX": {
+ "name": "španski (Meksiko)"
+ },
+ "gsw": {
+ "name": "Švajcarski nemački"
+ },
+ "de-CH": {
+ "name": "švajcarski visoki nemački"
+ },
+ "sv": {
+ "name": "švedski"
+ },
+ "dav": {
+ "name": "taita"
+ },
+ "th": {
+ "name": "tajski"
+ },
+ "ta": {
+ "name": "tamilski"
+ },
+ "twq": {
+ "name": "tasavak"
+ },
+ "te": {
+ "name": "telugu"
+ },
+ "teo": {
+ "name": "teso"
+ },
+ "bo": {
+ "name": "tibetanski"
+ },
+ "ti": {
+ "name": "tigrinja"
+ },
+ "to": {
+ "name": "tonganski"
+ },
+ "zh-Hant": {
+ "name": "tradicionalni kineski"
+ },
+ "tk": {
+ "name": "turkmenski"
+ },
+ "tr": {
+ "name": "turski"
+ },
+ "ug": {
+ "name": "ujgurski"
+ },
+ "uk": {
+ "name": "ukrajinski"
+ },
+ "ur": {
+ "name": "urdu"
+ },
+ "uz": {
+ "name": "uzbečki"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "wae": {
+ "name": "valserski"
+ },
+ "cy": {
+ "name": "velški"
+ },
+ "vi": {
+ "name": "vijetnamski"
+ },
+ "vo": {
+ "name": "volapik"
+ },
+ "vun": {
+ "name": "vundžo"
+ },
+ "fy": {
+ "name": "zapadni frizijski"
+ },
+ "dje": {
+ "name": "zarma"
+ },
+ "kea": {
+ "name": "zelenortski"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/sr-Latn-XK.json b/vendor/commerceguys/intl/resources/language/sr-Latn-XK.json
new file mode 100644
index 000000000..d50a8f543
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/sr-Latn-XK.json
@@ -0,0 +1,635 @@
+{
+ "af": {
+ "name": "afrikans"
+ },
+ "agq": {
+ "name": "agem"
+ },
+ "ak": {
+ "name": "akanski"
+ },
+ "sq": {
+ "name": "albanski"
+ },
+ "am": {
+ "name": "amharski"
+ },
+ "ar": {
+ "name": "arapski"
+ },
+ "as": {
+ "name": "asamski"
+ },
+ "ast": {
+ "name": "asturijski"
+ },
+ "asa": {
+ "name": "asu"
+ },
+ "az": {
+ "name": "azerbejdžanski"
+ },
+ "ksf": {
+ "name": "bafija"
+ },
+ "bm": {
+ "name": "bamanankan"
+ },
+ "bn": {
+ "name": "bangla"
+ },
+ "bas": {
+ "name": "basa"
+ },
+ "eu": {
+ "name": "baskijski"
+ },
+ "be": {
+ "name": "beloruski"
+ },
+ "bem": {
+ "name": "bemba"
+ },
+ "bez": {
+ "name": "bena"
+ },
+ "brx": {
+ "name": "bodo"
+ },
+ "bs": {
+ "name": "bosanski"
+ },
+ "br": {
+ "name": "bretonski"
+ },
+ "bg": {
+ "name": "bugarski"
+ },
+ "my": {
+ "name": "burmanski"
+ },
+ "ckb": {
+ "name": "centralni kurdski"
+ },
+ "tzm": {
+ "name": "centralnoatlaski tamašek"
+ },
+ "cu": {
+ "name": "crkvenoslovenski"
+ },
+ "ce": {
+ "name": "čečenski"
+ },
+ "chr": {
+ "name": "čeroki"
+ },
+ "cs": {
+ "name": "češki"
+ },
+ "cgg": {
+ "name": "čiga"
+ },
+ "da": {
+ "name": "danski"
+ },
+ "dsb": {
+ "name": "donji lužičkosrpski"
+ },
+ "dua": {
+ "name": "duala"
+ },
+ "dyo": {
+ "name": "džola fonji"
+ },
+ "dz": {
+ "name": "džonga"
+ },
+ "ebu": {
+ "name": "embu"
+ },
+ "en": {
+ "name": "engleski"
+ },
+ "en-AU": {
+ "name": "engleski (Australija)"
+ },
+ "en-CA": {
+ "name": "engleski (Kanada)"
+ },
+ "en-GB": {
+ "name": "engleski (Velika Britanija)"
+ },
+ "eo": {
+ "name": "esperanto"
+ },
+ "et": {
+ "name": "estonski"
+ },
+ "ee": {
+ "name": "eve"
+ },
+ "ewo": {
+ "name": "evondo"
+ },
+ "fo": {
+ "name": "farski"
+ },
+ "fil": {
+ "name": "filipinski"
+ },
+ "fi": {
+ "name": "finski"
+ },
+ "nl-BE": {
+ "name": "flamanski"
+ },
+ "fr": {
+ "name": "francuski"
+ },
+ "fr-CA": {
+ "name": "francuski (Kanada)"
+ },
+ "fr-CH": {
+ "name": "francuski (Švajcarska)"
+ },
+ "fur": {
+ "name": "friulski"
+ },
+ "ff": {
+ "name": "fulah"
+ },
+ "gl": {
+ "name": "galicijski"
+ },
+ "lg": {
+ "name": "ganda"
+ },
+ "hsb": {
+ "name": "gornji lužičkosrpski"
+ },
+ "el": {
+ "name": "grčki"
+ },
+ "kl": {
+ "name": "grenlandski"
+ },
+ "ka": {
+ "name": "gruzijski"
+ },
+ "gu": {
+ "name": "gudžarati"
+ },
+ "guz": {
+ "name": "gusi"
+ },
+ "ha": {
+ "name": "hausa"
+ },
+ "haw": {
+ "name": "havajski"
+ },
+ "he": {
+ "name": "hebrejski"
+ },
+ "hi": {
+ "name": "hindi"
+ },
+ "nl": {
+ "name": "holandski"
+ },
+ "hr": {
+ "name": "hrvatski"
+ },
+ "ig": {
+ "name": "igbo"
+ },
+ "smn": {
+ "name": "inari sami"
+ },
+ "id": {
+ "name": "indonežanski"
+ },
+ "ga": {
+ "name": "irski"
+ },
+ "zu": {
+ "name": "isizulu"
+ },
+ "is": {
+ "name": "islandski"
+ },
+ "it": {
+ "name": "italijanski"
+ },
+ "sah": {
+ "name": "jakutski"
+ },
+ "yav": {
+ "name": "jangben"
+ },
+ "ja": {
+ "name": "japanski"
+ },
+ "hy": {
+ "name": "jermenski"
+ },
+ "yi": {
+ "name": "jidiš"
+ },
+ "yo": {
+ "name": "joruba"
+ },
+ "shi": {
+ "name": "južni šilha"
+ },
+ "kab": {
+ "name": "kabile"
+ },
+ "kkj": {
+ "name": "kako"
+ },
+ "kln": {
+ "name": "kalendžinski"
+ },
+ "kam": {
+ "name": "kamba"
+ },
+ "kn": {
+ "name": "kanada"
+ },
+ "yue": {
+ "name": "kantonski"
+ },
+ "ks": {
+ "name": "kašmirski"
+ },
+ "ca": {
+ "name": "katalonski"
+ },
+ "kk": {
+ "name": "kazaški"
+ },
+ "qu": {
+ "name": "kečua"
+ },
+ "ksh": {
+ "name": "kelnski"
+ },
+ "ki": {
+ "name": "kikuju"
+ },
+ "zh": {
+ "name": "kineski"
+ },
+ "rw": {
+ "name": "kinjaruanda"
+ },
+ "ky": {
+ "name": "kirgiski"
+ },
+ "rn": {
+ "name": "kirundi"
+ },
+ "sw-CD": {
+ "name": "kisvahili"
+ },
+ "km": {
+ "name": "kmerski"
+ },
+ "khq": {
+ "name": "kojra čiini"
+ },
+ "ses": {
+ "name": "kojraboro seni"
+ },
+ "kok": {
+ "name": "konkani"
+ },
+ "ko": {
+ "name": "korejski"
+ },
+ "kw": {
+ "name": "kornvolski"
+ },
+ "nmg": {
+ "name": "kvasio"
+ },
+ "lkt": {
+ "name": "lakota"
+ },
+ "lag": {
+ "name": "langi"
+ },
+ "lo": {
+ "name": "laoški"
+ },
+ "lv": {
+ "name": "letonski"
+ },
+ "ln": {
+ "name": "lingala"
+ },
+ "lt": {
+ "name": "litvanski"
+ },
+ "lu": {
+ "name": "luba-katanga"
+ },
+ "luy": {
+ "name": "lujia"
+ },
+ "lb": {
+ "name": "luksemburški"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "jmc": {
+ "name": "mačame"
+ },
+ "hu": {
+ "name": "mađarski"
+ },
+ "mk": {
+ "name": "makedonski"
+ },
+ "kde": {
+ "name": "makonde"
+ },
+ "mgh": {
+ "name": "makuva-mito"
+ },
+ "ml": {
+ "name": "malajalam"
+ },
+ "ms": {
+ "name": "malajski"
+ },
+ "mg": {
+ "name": "malgaški"
+ },
+ "mt": {
+ "name": "malteški"
+ },
+ "gv": {
+ "name": "manks"
+ },
+ "mr": {
+ "name": "marati"
+ },
+ "mas": {
+ "name": "masajski"
+ },
+ "mzn": {
+ "name": "mazanderanski"
+ },
+ "mer": {
+ "name": "meru"
+ },
+ "mgo": {
+ "name": "meta"
+ },
+ "ro-MD": {
+ "name": "moldavski"
+ },
+ "mn": {
+ "name": "mongolski"
+ },
+ "mfe": {
+ "name": "morisjen"
+ },
+ "mua": {
+ "name": "mundang"
+ },
+ "naq": {
+ "name": "nama"
+ },
+ "de": {
+ "name": "nemački"
+ },
+ "de-AT": {
+ "name": "nemački (Austrija)"
+ },
+ "ne": {
+ "name": "nepalski"
+ },
+ "nnh": {
+ "name": "ngiembun"
+ },
+ "jgo": {
+ "name": "ngomba"
+ },
+ "nds": {
+ "name": "niskonemački"
+ },
+ "nds-NL": {
+ "name": "niskosaksonski"
+ },
+ "nb": {
+ "name": "norveški bukmol"
+ },
+ "nn": {
+ "name": "norveški ninorsk"
+ },
+ "nus": {
+ "name": "nuer"
+ },
+ "nyn": {
+ "name": "njankole"
+ },
+ "or": {
+ "name": "odija"
+ },
+ "om": {
+ "name": "oromo"
+ },
+ "os": {
+ "name": "osetinski"
+ },
+ "ps": {
+ "name": "paštunski"
+ },
+ "pa": {
+ "name": "pendžapski"
+ },
+ "fa": {
+ "name": "persijski"
+ },
+ "zh-Hans": {
+ "name": "pojednostavljeni kineski"
+ },
+ "pl": {
+ "name": "poljski"
+ },
+ "pt": {
+ "name": "portugalski"
+ },
+ "pt-PT": {
+ "name": "portugalski (Portugal)"
+ },
+ "prg": {
+ "name": "pruski"
+ },
+ "rm": {
+ "name": "romanš"
+ },
+ "rof": {
+ "name": "rombo"
+ },
+ "rwk": {
+ "name": "rua"
+ },
+ "ro": {
+ "name": "rumunski"
+ },
+ "ru": {
+ "name": "ruski"
+ },
+ "saq": {
+ "name": "samburu"
+ },
+ "sg": {
+ "name": "sango"
+ },
+ "sbp": {
+ "name": "sangu"
+ },
+ "ii": {
+ "name": "sečuanski ji"
+ },
+ "seh": {
+ "name": "sena"
+ },
+ "lrc": {
+ "name": "severni luri"
+ },
+ "nd": {
+ "name": "severni ndebele"
+ },
+ "se": {
+ "name": "severni sami"
+ },
+ "si": {
+ "name": "sinhalski"
+ },
+ "sk": {
+ "name": "slovački"
+ },
+ "sl": {
+ "name": "slovenački"
+ },
+ "xog": {
+ "name": "soga"
+ },
+ "so": {
+ "name": "somalski"
+ },
+ "sr": {
+ "name": "srpski"
+ },
+ "zgh": {
+ "name": "standardni marokanski tamašek"
+ },
+ "sw": {
+ "name": "svahili"
+ },
+ "ksb": {
+ "name": "šambala"
+ },
+ "gd": {
+ "name": "škotski gelski"
+ },
+ "sn": {
+ "name": "šona"
+ },
+ "es": {
+ "name": "španski"
+ },
+ "es-MX": {
+ "name": "španski (Meksiko)"
+ },
+ "gsw": {
+ "name": "švajcarski nemački"
+ },
+ "de-CH": {
+ "name": "švajcarski visoki nemački"
+ },
+ "sv": {
+ "name": "švedski"
+ },
+ "dav": {
+ "name": "taita"
+ },
+ "th": {
+ "name": "tajski"
+ },
+ "ta": {
+ "name": "tamilski"
+ },
+ "twq": {
+ "name": "tasavak"
+ },
+ "te": {
+ "name": "telugu"
+ },
+ "teo": {
+ "name": "teso"
+ },
+ "bo": {
+ "name": "tibetanski"
+ },
+ "ti": {
+ "name": "tigrinja"
+ },
+ "to": {
+ "name": "tonganski"
+ },
+ "zh-Hant": {
+ "name": "tradicionalni kineski"
+ },
+ "tk": {
+ "name": "turkmenski"
+ },
+ "tr": {
+ "name": "turski"
+ },
+ "ug": {
+ "name": "ujgurski"
+ },
+ "uk": {
+ "name": "ukrajinski"
+ },
+ "ur": {
+ "name": "urdu"
+ },
+ "uz": {
+ "name": "uzbečki"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "wae": {
+ "name": "valserski"
+ },
+ "cy": {
+ "name": "velški"
+ },
+ "vi": {
+ "name": "vijetnamski"
+ },
+ "vo": {
+ "name": "volapik"
+ },
+ "vun": {
+ "name": "vundžo"
+ },
+ "fy": {
+ "name": "zapadni frizijski"
+ },
+ "dje": {
+ "name": "zarma"
+ },
+ "kea": {
+ "name": "zelenortski"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/sr-Latn.json b/vendor/commerceguys/intl/resources/language/sr-Latn.json
new file mode 100644
index 000000000..ef98e25a8
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/sr-Latn.json
@@ -0,0 +1,635 @@
+{
+ "af": {
+ "name": "afrikans"
+ },
+ "agq": {
+ "name": "agem"
+ },
+ "ak": {
+ "name": "akanski"
+ },
+ "sq": {
+ "name": "albanski"
+ },
+ "am": {
+ "name": "amharski"
+ },
+ "ar": {
+ "name": "arapski"
+ },
+ "as": {
+ "name": "asamski"
+ },
+ "ast": {
+ "name": "asturijski"
+ },
+ "asa": {
+ "name": "asu"
+ },
+ "az": {
+ "name": "azerbejdžanski"
+ },
+ "ksf": {
+ "name": "bafija"
+ },
+ "bm": {
+ "name": "bambara"
+ },
+ "bas": {
+ "name": "basa"
+ },
+ "eu": {
+ "name": "baskijski"
+ },
+ "be": {
+ "name": "beloruski"
+ },
+ "bem": {
+ "name": "bemba"
+ },
+ "bez": {
+ "name": "bena"
+ },
+ "bn": {
+ "name": "bengalski"
+ },
+ "brx": {
+ "name": "bodo"
+ },
+ "bs": {
+ "name": "bosanski"
+ },
+ "br": {
+ "name": "bretonski"
+ },
+ "bg": {
+ "name": "bugarski"
+ },
+ "my": {
+ "name": "burmanski"
+ },
+ "ckb": {
+ "name": "centralni kurdski"
+ },
+ "tzm": {
+ "name": "centralnoatlaski tamazigt"
+ },
+ "cu": {
+ "name": "crkvenoslovenski"
+ },
+ "ce": {
+ "name": "čečenski"
+ },
+ "chr": {
+ "name": "čeroki"
+ },
+ "cs": {
+ "name": "češki"
+ },
+ "cgg": {
+ "name": "čiga"
+ },
+ "da": {
+ "name": "danski"
+ },
+ "dsb": {
+ "name": "donji lužičkosrpski"
+ },
+ "dua": {
+ "name": "duala"
+ },
+ "dyo": {
+ "name": "džola fonji"
+ },
+ "dz": {
+ "name": "džonga"
+ },
+ "ebu": {
+ "name": "embu"
+ },
+ "en": {
+ "name": "engleski"
+ },
+ "en-AU": {
+ "name": "engleski (Australija)"
+ },
+ "en-CA": {
+ "name": "engleski (Kanada)"
+ },
+ "en-GB": {
+ "name": "engleski (Velika Britanija)"
+ },
+ "eo": {
+ "name": "esperanto"
+ },
+ "et": {
+ "name": "estonski"
+ },
+ "ee": {
+ "name": "eve"
+ },
+ "ewo": {
+ "name": "evondo"
+ },
+ "fo": {
+ "name": "farski"
+ },
+ "fil": {
+ "name": "filipinski"
+ },
+ "fi": {
+ "name": "finski"
+ },
+ "nl-BE": {
+ "name": "flamanski"
+ },
+ "fr": {
+ "name": "francuski"
+ },
+ "fr-CA": {
+ "name": "francuski (Kanada)"
+ },
+ "fr-CH": {
+ "name": "francuski (Švajcarska)"
+ },
+ "fur": {
+ "name": "friulski"
+ },
+ "ff": {
+ "name": "fula"
+ },
+ "gl": {
+ "name": "galicijski"
+ },
+ "lg": {
+ "name": "ganda"
+ },
+ "hsb": {
+ "name": "gornji lužičkosrpski"
+ },
+ "el": {
+ "name": "grčki"
+ },
+ "kl": {
+ "name": "grenlandski"
+ },
+ "ka": {
+ "name": "gruzijski"
+ },
+ "gu": {
+ "name": "gudžarati"
+ },
+ "guz": {
+ "name": "gusi"
+ },
+ "ha": {
+ "name": "hausa"
+ },
+ "haw": {
+ "name": "havajski"
+ },
+ "he": {
+ "name": "hebrejski"
+ },
+ "hi": {
+ "name": "hindi"
+ },
+ "nl": {
+ "name": "holandski"
+ },
+ "hr": {
+ "name": "hrvatski"
+ },
+ "ig": {
+ "name": "igbo"
+ },
+ "smn": {
+ "name": "inari sami"
+ },
+ "id": {
+ "name": "indonežanski"
+ },
+ "ga": {
+ "name": "irski"
+ },
+ "is": {
+ "name": "islandski"
+ },
+ "it": {
+ "name": "italijanski"
+ },
+ "sah": {
+ "name": "jakutski"
+ },
+ "yav": {
+ "name": "jangben"
+ },
+ "ja": {
+ "name": "japanski"
+ },
+ "hy": {
+ "name": "jermenski"
+ },
+ "yi": {
+ "name": "jidiš"
+ },
+ "yo": {
+ "name": "joruba"
+ },
+ "kab": {
+ "name": "kabile"
+ },
+ "kkj": {
+ "name": "kako"
+ },
+ "kln": {
+ "name": "kalendžinski"
+ },
+ "kam": {
+ "name": "kamba"
+ },
+ "kn": {
+ "name": "kanada"
+ },
+ "yue": {
+ "name": "kantonski"
+ },
+ "ks": {
+ "name": "kašmirski"
+ },
+ "ca": {
+ "name": "katalonski"
+ },
+ "kk": {
+ "name": "kazaški"
+ },
+ "qu": {
+ "name": "kečua"
+ },
+ "ksh": {
+ "name": "kelnski"
+ },
+ "ki": {
+ "name": "kikuju"
+ },
+ "zh": {
+ "name": "kineski"
+ },
+ "rw": {
+ "name": "kinjaruanda"
+ },
+ "ky": {
+ "name": "kirgiski"
+ },
+ "rn": {
+ "name": "kirundi"
+ },
+ "sw-CD": {
+ "name": "kisvahili"
+ },
+ "km": {
+ "name": "kmerski"
+ },
+ "khq": {
+ "name": "kojra čiini"
+ },
+ "ses": {
+ "name": "kojraboro seni"
+ },
+ "kok": {
+ "name": "konkani"
+ },
+ "ko": {
+ "name": "korejski"
+ },
+ "kw": {
+ "name": "kornvolski"
+ },
+ "nmg": {
+ "name": "kvasio"
+ },
+ "lkt": {
+ "name": "lakota"
+ },
+ "lag": {
+ "name": "langi"
+ },
+ "lo": {
+ "name": "laoski"
+ },
+ "lv": {
+ "name": "letonski"
+ },
+ "ln": {
+ "name": "lingala"
+ },
+ "lt": {
+ "name": "litvanski"
+ },
+ "lu": {
+ "name": "luba-katanga"
+ },
+ "luy": {
+ "name": "lujia"
+ },
+ "lb": {
+ "name": "luksemburški"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "jmc": {
+ "name": "mačame"
+ },
+ "hu": {
+ "name": "mađarski"
+ },
+ "mk": {
+ "name": "makedonski"
+ },
+ "kde": {
+ "name": "makonde"
+ },
+ "mgh": {
+ "name": "makuva-mito"
+ },
+ "ml": {
+ "name": "malajalam"
+ },
+ "ms": {
+ "name": "malajski"
+ },
+ "mg": {
+ "name": "malgaški"
+ },
+ "mt": {
+ "name": "malteški"
+ },
+ "gv": {
+ "name": "manks"
+ },
+ "mr": {
+ "name": "marati"
+ },
+ "mas": {
+ "name": "masajski"
+ },
+ "mzn": {
+ "name": "mazanderanski"
+ },
+ "mer": {
+ "name": "meru"
+ },
+ "mgo": {
+ "name": "meta"
+ },
+ "ro-MD": {
+ "name": "moldavski"
+ },
+ "mn": {
+ "name": "mongolski"
+ },
+ "mfe": {
+ "name": "morisjen"
+ },
+ "mua": {
+ "name": "mundang"
+ },
+ "naq": {
+ "name": "nama"
+ },
+ "de": {
+ "name": "nemački"
+ },
+ "de-AT": {
+ "name": "nemački (Austrija)"
+ },
+ "ne": {
+ "name": "nepalski"
+ },
+ "nnh": {
+ "name": "ngiembun"
+ },
+ "jgo": {
+ "name": "ngomba"
+ },
+ "nds": {
+ "name": "niskonemački"
+ },
+ "nds-NL": {
+ "name": "niskosaksonski"
+ },
+ "nb": {
+ "name": "norveški bukmol"
+ },
+ "nn": {
+ "name": "norveški ninorsk"
+ },
+ "nus": {
+ "name": "nuer"
+ },
+ "nyn": {
+ "name": "njankole"
+ },
+ "or": {
+ "name": "odija"
+ },
+ "om": {
+ "name": "oromo"
+ },
+ "os": {
+ "name": "osetinski"
+ },
+ "ps": {
+ "name": "paštunski"
+ },
+ "pa": {
+ "name": "pendžapski"
+ },
+ "fa": {
+ "name": "persijski"
+ },
+ "zh-Hans": {
+ "name": "pojednostavljeni kineski"
+ },
+ "pl": {
+ "name": "poljski"
+ },
+ "pt": {
+ "name": "portugalski"
+ },
+ "pt-PT": {
+ "name": "portugalski (Portugal)"
+ },
+ "prg": {
+ "name": "pruski"
+ },
+ "rm": {
+ "name": "romanš"
+ },
+ "rof": {
+ "name": "rombo"
+ },
+ "rwk": {
+ "name": "rua"
+ },
+ "ro": {
+ "name": "rumunski"
+ },
+ "ru": {
+ "name": "ruski"
+ },
+ "saq": {
+ "name": "samburu"
+ },
+ "sg": {
+ "name": "sango"
+ },
+ "sbp": {
+ "name": "sangu"
+ },
+ "ii": {
+ "name": "sečuanski ji"
+ },
+ "seh": {
+ "name": "sena"
+ },
+ "lrc": {
+ "name": "severni luri"
+ },
+ "nd": {
+ "name": "severni ndebele"
+ },
+ "se": {
+ "name": "severni sami"
+ },
+ "si": {
+ "name": "sinhaleški"
+ },
+ "sk": {
+ "name": "slovački"
+ },
+ "sl": {
+ "name": "slovenački"
+ },
+ "xog": {
+ "name": "soga"
+ },
+ "so": {
+ "name": "somalski"
+ },
+ "sr": {
+ "name": "srpski"
+ },
+ "zgh": {
+ "name": "standardni marokanski tamazigt"
+ },
+ "sw": {
+ "name": "svahili"
+ },
+ "ksb": {
+ "name": "šambala"
+ },
+ "gd": {
+ "name": "škotski gelski"
+ },
+ "sn": {
+ "name": "šona"
+ },
+ "es": {
+ "name": "španski"
+ },
+ "es-MX": {
+ "name": "španski (Meksiko)"
+ },
+ "gsw": {
+ "name": "Švajcarski nemački"
+ },
+ "de-CH": {
+ "name": "švajcarski visoki nemački"
+ },
+ "sv": {
+ "name": "švedski"
+ },
+ "dav": {
+ "name": "taita"
+ },
+ "th": {
+ "name": "tajski"
+ },
+ "ta": {
+ "name": "tamilski"
+ },
+ "twq": {
+ "name": "tasavak"
+ },
+ "shi": {
+ "name": "tašelhit"
+ },
+ "te": {
+ "name": "telugu"
+ },
+ "teo": {
+ "name": "teso"
+ },
+ "bo": {
+ "name": "tibetanski"
+ },
+ "ti": {
+ "name": "tigrinja"
+ },
+ "to": {
+ "name": "tonganski"
+ },
+ "zh-Hant": {
+ "name": "tradicionalni kineski"
+ },
+ "tk": {
+ "name": "turkmenski"
+ },
+ "tr": {
+ "name": "turski"
+ },
+ "ug": {
+ "name": "ujgurski"
+ },
+ "uk": {
+ "name": "ukrajinski"
+ },
+ "ur": {
+ "name": "urdu"
+ },
+ "uz": {
+ "name": "uzbečki"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "wae": {
+ "name": "valserski"
+ },
+ "cy": {
+ "name": "velški"
+ },
+ "vi": {
+ "name": "vijetnamski"
+ },
+ "vo": {
+ "name": "volapik"
+ },
+ "vun": {
+ "name": "vundžo"
+ },
+ "fy": {
+ "name": "zapadni frizijski"
+ },
+ "dje": {
+ "name": "zarma"
+ },
+ "kea": {
+ "name": "zelenortski"
+ },
+ "zu": {
+ "name": "zulu"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/sr.json b/vendor/commerceguys/intl/resources/language/sr.json
new file mode 100644
index 000000000..6a3c25b95
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/sr.json
@@ -0,0 +1,635 @@
+{
+ "agq": {
+ "name": "агем"
+ },
+ "az": {
+ "name": "азербејџански"
+ },
+ "ak": {
+ "name": "акански"
+ },
+ "sq": {
+ "name": "албански"
+ },
+ "am": {
+ "name": "амхарски"
+ },
+ "ar": {
+ "name": "арапски"
+ },
+ "as": {
+ "name": "асамски"
+ },
+ "ast": {
+ "name": "астуријски"
+ },
+ "asa": {
+ "name": "асу"
+ },
+ "af": {
+ "name": "африканс"
+ },
+ "bm": {
+ "name": "бамбара"
+ },
+ "bas": {
+ "name": "баса"
+ },
+ "eu": {
+ "name": "баскијски"
+ },
+ "ksf": {
+ "name": "бафија"
+ },
+ "be": {
+ "name": "белоруски"
+ },
+ "bem": {
+ "name": "бемба"
+ },
+ "bez": {
+ "name": "бена"
+ },
+ "bn": {
+ "name": "бенгалски"
+ },
+ "brx": {
+ "name": "бодо"
+ },
+ "bs": {
+ "name": "босански"
+ },
+ "br": {
+ "name": "бретонски"
+ },
+ "bg": {
+ "name": "бугарски"
+ },
+ "my": {
+ "name": "бурмански"
+ },
+ "vai": {
+ "name": "ваи"
+ },
+ "wae": {
+ "name": "валсерски"
+ },
+ "cy": {
+ "name": "велшки"
+ },
+ "vi": {
+ "name": "вијетнамски"
+ },
+ "vo": {
+ "name": "волапик"
+ },
+ "vun": {
+ "name": "вунџо"
+ },
+ "gl": {
+ "name": "галицијски"
+ },
+ "lg": {
+ "name": "ганда"
+ },
+ "hsb": {
+ "name": "горњи лужичкосрпски"
+ },
+ "kl": {
+ "name": "гренландски"
+ },
+ "ka": {
+ "name": "грузијски"
+ },
+ "el": {
+ "name": "грчки"
+ },
+ "guz": {
+ "name": "гуси"
+ },
+ "gu": {
+ "name": "гуџарати"
+ },
+ "da": {
+ "name": "дански"
+ },
+ "dsb": {
+ "name": "доњи лужичкосрпски"
+ },
+ "dua": {
+ "name": "дуала"
+ },
+ "ee": {
+ "name": "еве"
+ },
+ "ewo": {
+ "name": "евондо"
+ },
+ "ebu": {
+ "name": "ембу"
+ },
+ "en": {
+ "name": "енглески"
+ },
+ "en-AU": {
+ "name": "енглески (Аустралија)"
+ },
+ "en-GB": {
+ "name": "енглески (Велика Британија)"
+ },
+ "en-CA": {
+ "name": "енглески (Канада)"
+ },
+ "eo": {
+ "name": "есперанто"
+ },
+ "et": {
+ "name": "естонски"
+ },
+ "fy": {
+ "name": "западни фризијски"
+ },
+ "dje": {
+ "name": "зарма"
+ },
+ "kea": {
+ "name": "зеленортски"
+ },
+ "zu": {
+ "name": "зулу"
+ },
+ "ig": {
+ "name": "игбо"
+ },
+ "smn": {
+ "name": "инари сами"
+ },
+ "id": {
+ "name": "индонежански"
+ },
+ "ga": {
+ "name": "ирски"
+ },
+ "is": {
+ "name": "исландски"
+ },
+ "it": {
+ "name": "италијански"
+ },
+ "sah": {
+ "name": "јакутски"
+ },
+ "yav": {
+ "name": "јангбен"
+ },
+ "ja": {
+ "name": "јапански"
+ },
+ "hy": {
+ "name": "јерменски"
+ },
+ "yi": {
+ "name": "јидиш"
+ },
+ "yo": {
+ "name": "јоруба"
+ },
+ "kab": {
+ "name": "кабиле"
+ },
+ "kk": {
+ "name": "казашки"
+ },
+ "kkj": {
+ "name": "како"
+ },
+ "kln": {
+ "name": "каленџински"
+ },
+ "kam": {
+ "name": "камба"
+ },
+ "kn": {
+ "name": "канада"
+ },
+ "yue": {
+ "name": "кантонски"
+ },
+ "ca": {
+ "name": "каталонски"
+ },
+ "ks": {
+ "name": "кашмирски"
+ },
+ "nmg": {
+ "name": "квасио"
+ },
+ "ksh": {
+ "name": "келнски"
+ },
+ "qu": {
+ "name": "кечуа"
+ },
+ "ki": {
+ "name": "кикују"
+ },
+ "zh": {
+ "name": "кинески"
+ },
+ "rw": {
+ "name": "кињаруанда"
+ },
+ "ky": {
+ "name": "киргиски"
+ },
+ "rn": {
+ "name": "кирунди"
+ },
+ "sw-CD": {
+ "name": "кисвахили"
+ },
+ "km": {
+ "name": "кмерски"
+ },
+ "khq": {
+ "name": "којра чиини"
+ },
+ "ses": {
+ "name": "којраборо сени"
+ },
+ "kok": {
+ "name": "конкани"
+ },
+ "ko": {
+ "name": "корејски"
+ },
+ "kw": {
+ "name": "корнволски"
+ },
+ "lkt": {
+ "name": "лакота"
+ },
+ "lag": {
+ "name": "ланги"
+ },
+ "lo": {
+ "name": "лаоски"
+ },
+ "lv": {
+ "name": "летонски"
+ },
+ "ln": {
+ "name": "лингала"
+ },
+ "lt": {
+ "name": "литвански"
+ },
+ "lu": {
+ "name": "луба-катанга"
+ },
+ "luy": {
+ "name": "лујиа"
+ },
+ "lb": {
+ "name": "луксембуршки"
+ },
+ "luo": {
+ "name": "луо"
+ },
+ "hu": {
+ "name": "мађарски"
+ },
+ "mzn": {
+ "name": "мазандерански"
+ },
+ "mk": {
+ "name": "македонски"
+ },
+ "kde": {
+ "name": "маконде"
+ },
+ "mgh": {
+ "name": "макува-мито"
+ },
+ "ml": {
+ "name": "малајалам"
+ },
+ "ms": {
+ "name": "малајски"
+ },
+ "mg": {
+ "name": "малгашки"
+ },
+ "mt": {
+ "name": "малтешки"
+ },
+ "gv": {
+ "name": "манкс"
+ },
+ "mr": {
+ "name": "марати"
+ },
+ "mas": {
+ "name": "масајски"
+ },
+ "jmc": {
+ "name": "мачаме"
+ },
+ "mer": {
+ "name": "меру"
+ },
+ "mgo": {
+ "name": "мета"
+ },
+ "ro-MD": {
+ "name": "молдавски"
+ },
+ "mn": {
+ "name": "монголски"
+ },
+ "mfe": {
+ "name": "морисјен"
+ },
+ "mua": {
+ "name": "мунданг"
+ },
+ "naq": {
+ "name": "нама"
+ },
+ "nnh": {
+ "name": "нгиембун"
+ },
+ "jgo": {
+ "name": "нгомба"
+ },
+ "de": {
+ "name": "немачки"
+ },
+ "de-AT": {
+ "name": "немачки (Аустрија)"
+ },
+ "ne": {
+ "name": "непалски"
+ },
+ "nds": {
+ "name": "нисконемачки"
+ },
+ "nds-NL": {
+ "name": "нискосаксонски"
+ },
+ "nb": {
+ "name": "норвешки букмол"
+ },
+ "nn": {
+ "name": "норвешки нинорск"
+ },
+ "nus": {
+ "name": "нуер"
+ },
+ "nyn": {
+ "name": "њанколе"
+ },
+ "or": {
+ "name": "одија"
+ },
+ "om": {
+ "name": "оромо"
+ },
+ "os": {
+ "name": "осетински"
+ },
+ "ps": {
+ "name": "паштунски"
+ },
+ "pa": {
+ "name": "пенџапски"
+ },
+ "fa": {
+ "name": "персијски"
+ },
+ "zh-Hans": {
+ "name": "поједностављени кинески"
+ },
+ "pl": {
+ "name": "пољски"
+ },
+ "pt": {
+ "name": "португалски"
+ },
+ "pt-PT": {
+ "name": "португалски (Португал)"
+ },
+ "prg": {
+ "name": "пруски"
+ },
+ "rm": {
+ "name": "романш"
+ },
+ "rof": {
+ "name": "ромбо"
+ },
+ "rwk": {
+ "name": "руа"
+ },
+ "ro": {
+ "name": "румунски"
+ },
+ "ru": {
+ "name": "руски"
+ },
+ "saq": {
+ "name": "самбуру"
+ },
+ "sg": {
+ "name": "санго"
+ },
+ "sbp": {
+ "name": "сангу"
+ },
+ "sw": {
+ "name": "свахили"
+ },
+ "lrc": {
+ "name": "северни лури"
+ },
+ "nd": {
+ "name": "северни ндебеле"
+ },
+ "se": {
+ "name": "северни сами"
+ },
+ "seh": {
+ "name": "сена"
+ },
+ "ii": {
+ "name": "сечуански ји"
+ },
+ "si": {
+ "name": "синхалешки"
+ },
+ "sk": {
+ "name": "словачки"
+ },
+ "sl": {
+ "name": "словеначки"
+ },
+ "xog": {
+ "name": "сога"
+ },
+ "so": {
+ "name": "сомалски"
+ },
+ "sr": {
+ "name": "српски"
+ },
+ "zgh": {
+ "name": "стандардни марокански тамазигт"
+ },
+ "dav": {
+ "name": "таита"
+ },
+ "th": {
+ "name": "тајски"
+ },
+ "ta": {
+ "name": "тамилски"
+ },
+ "twq": {
+ "name": "тасавак"
+ },
+ "shi": {
+ "name": "ташелхит"
+ },
+ "te": {
+ "name": "телугу"
+ },
+ "teo": {
+ "name": "тесо"
+ },
+ "bo": {
+ "name": "тибетански"
+ },
+ "ti": {
+ "name": "тигриња"
+ },
+ "to": {
+ "name": "тонгански"
+ },
+ "zh-Hant": {
+ "name": "традиционални кинески"
+ },
+ "tk": {
+ "name": "туркменски"
+ },
+ "tr": {
+ "name": "турски"
+ },
+ "uz": {
+ "name": "узбечки"
+ },
+ "ug": {
+ "name": "ујгурски"
+ },
+ "uk": {
+ "name": "украјински"
+ },
+ "ur": {
+ "name": "урду"
+ },
+ "fo": {
+ "name": "фарски"
+ },
+ "fil": {
+ "name": "филипински"
+ },
+ "fi": {
+ "name": "фински"
+ },
+ "nl-BE": {
+ "name": "фламански"
+ },
+ "fr": {
+ "name": "француски"
+ },
+ "fr-CA": {
+ "name": "француски (Канада)"
+ },
+ "fr-CH": {
+ "name": "француски (Швајцарска)"
+ },
+ "fur": {
+ "name": "фриулски"
+ },
+ "ff": {
+ "name": "фула"
+ },
+ "haw": {
+ "name": "хавајски"
+ },
+ "ha": {
+ "name": "хауса"
+ },
+ "he": {
+ "name": "хебрејски"
+ },
+ "hi": {
+ "name": "хинди"
+ },
+ "nl": {
+ "name": "холандски"
+ },
+ "hr": {
+ "name": "хрватски"
+ },
+ "ckb": {
+ "name": "централни курдски"
+ },
+ "tzm": {
+ "name": "централноатласки тамазигт"
+ },
+ "cu": {
+ "name": "црквенословенски"
+ },
+ "chr": {
+ "name": "чероки"
+ },
+ "ce": {
+ "name": "чеченски"
+ },
+ "cs": {
+ "name": "чешки"
+ },
+ "cgg": {
+ "name": "чига"
+ },
+ "dyo": {
+ "name": "џола фоњи"
+ },
+ "dz": {
+ "name": "џонга"
+ },
+ "ksb": {
+ "name": "шамбала"
+ },
+ "de-CH": {
+ "name": "швајцарски високи немачки"
+ },
+ "gsw": {
+ "name": "Швајцарски немачки"
+ },
+ "sv": {
+ "name": "шведски"
+ },
+ "gd": {
+ "name": "шкотски гелски"
+ },
+ "sn": {
+ "name": "шона"
+ },
+ "es": {
+ "name": "шпански"
+ },
+ "es-MX": {
+ "name": "шпански (Мексико)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/sv-FI.json b/vendor/commerceguys/intl/resources/language/sv-FI.json
new file mode 100644
index 000000000..c86045357
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/sv-FI.json
@@ -0,0 +1,635 @@
+{
+ "ps": {
+ "name": "afghanska"
+ },
+ "af": {
+ "name": "afrikaans"
+ },
+ "agq": {
+ "name": "aghem"
+ },
+ "ak": {
+ "name": "akan"
+ },
+ "sq": {
+ "name": "albanska"
+ },
+ "am": {
+ "name": "amhariska"
+ },
+ "ar": {
+ "name": "arabiska"
+ },
+ "hy": {
+ "name": "armeniska"
+ },
+ "as": {
+ "name": "assamesiska"
+ },
+ "ast": {
+ "name": "asturiska"
+ },
+ "asa": {
+ "name": "asu"
+ },
+ "en-AU": {
+ "name": "australisk engelska"
+ },
+ "az": {
+ "name": "azerbajdzjanska"
+ },
+ "ksf": {
+ "name": "bafia"
+ },
+ "bm": {
+ "name": "bambara"
+ },
+ "nnh": {
+ "name": "bamileké-ngiemboon"
+ },
+ "bas": {
+ "name": "basa"
+ },
+ "eu": {
+ "name": "baskiska"
+ },
+ "bem": {
+ "name": "bemba"
+ },
+ "bez": {
+ "name": "bena"
+ },
+ "bn": {
+ "name": "bengali"
+ },
+ "brx": {
+ "name": "bodo"
+ },
+ "nb": {
+ "name": "bokmål"
+ },
+ "bs": {
+ "name": "bosniska"
+ },
+ "br": {
+ "name": "bretonska"
+ },
+ "en-GB": {
+ "name": "brittisk engelska"
+ },
+ "bg": {
+ "name": "bulgariska"
+ },
+ "my": {
+ "name": "burmesiska"
+ },
+ "tzm": {
+ "name": "centralmarockansk tamazight"
+ },
+ "chr": {
+ "name": "cherokesiska"
+ },
+ "cgg": {
+ "name": "chiga"
+ },
+ "da": {
+ "name": "danska"
+ },
+ "dua": {
+ "name": "duala"
+ },
+ "dz": {
+ "name": "dzongkha"
+ },
+ "ebu": {
+ "name": "embu"
+ },
+ "smn": {
+ "name": "enaresamiska"
+ },
+ "en": {
+ "name": "engelska"
+ },
+ "eo": {
+ "name": "esperanto"
+ },
+ "et": {
+ "name": "estniska"
+ },
+ "pt-PT": {
+ "name": "europeisk portugisiska"
+ },
+ "ee": {
+ "name": "ewe"
+ },
+ "ewo": {
+ "name": "ewondo"
+ },
+ "fil": {
+ "name": "filippinska"
+ },
+ "fi": {
+ "name": "finska"
+ },
+ "nl-BE": {
+ "name": "flamländska"
+ },
+ "prg": {
+ "name": "fornpreussiska"
+ },
+ "fr": {
+ "name": "franska"
+ },
+ "fur": {
+ "name": "friulianska"
+ },
+ "ff": {
+ "name": "fulani"
+ },
+ "fo": {
+ "name": "färöiska"
+ },
+ "zh-Hans": {
+ "name": "förenklad kinesiska"
+ },
+ "gl": {
+ "name": "galiciska"
+ },
+ "ses": {
+ "name": "Gao-songhay"
+ },
+ "ka": {
+ "name": "georgiska"
+ },
+ "el": {
+ "name": "grekiska"
+ },
+ "kl": {
+ "name": "grönländska"
+ },
+ "gu": {
+ "name": "gujarati"
+ },
+ "guz": {
+ "name": "gusii"
+ },
+ "ha": {
+ "name": "hausa"
+ },
+ "haw": {
+ "name": "hawaiiska"
+ },
+ "he": {
+ "name": "hebreiska"
+ },
+ "hi": {
+ "name": "hindi"
+ },
+ "hsb": {
+ "name": "högsorbiska"
+ },
+ "ig": {
+ "name": "igbo"
+ },
+ "id": {
+ "name": "indonesiska"
+ },
+ "ga": {
+ "name": "iriska"
+ },
+ "is": {
+ "name": "isländska"
+ },
+ "it": {
+ "name": "italienska"
+ },
+ "sah": {
+ "name": "jakutiska"
+ },
+ "ja": {
+ "name": "japanska"
+ },
+ "yi": {
+ "name": "jiddisch"
+ },
+ "dyo": {
+ "name": "jola-fonyi"
+ },
+ "kab": {
+ "name": "kabyliska"
+ },
+ "kln": {
+ "name": "kalenjin"
+ },
+ "kam": {
+ "name": "kamba"
+ },
+ "km": {
+ "name": "kambodjanska"
+ },
+ "en-CA": {
+ "name": "kanadensisk engelska"
+ },
+ "fr-CA": {
+ "name": "kanadensisk franska"
+ },
+ "kn": {
+ "name": "kannada"
+ },
+ "yue": {
+ "name": "kantonesiska"
+ },
+ "kea": {
+ "name": "kapverdiska"
+ },
+ "ks": {
+ "name": "kashmiriska"
+ },
+ "ca": {
+ "name": "katalanska"
+ },
+ "kk": {
+ "name": "kazakiska"
+ },
+ "ki": {
+ "name": "kikuyu"
+ },
+ "jmc": {
+ "name": "kimashami"
+ },
+ "zh": {
+ "name": "kinesiska"
+ },
+ "rw": {
+ "name": "kinjarwanda"
+ },
+ "ky": {
+ "name": "kirgiziska"
+ },
+ "ksb": {
+ "name": "kisambaa"
+ },
+ "sw-CD": {
+ "name": "Kongo-swahili"
+ },
+ "kok": {
+ "name": "konkani"
+ },
+ "ko": {
+ "name": "koreanska"
+ },
+ "kw": {
+ "name": "korniska"
+ },
+ "hr": {
+ "name": "kroatiska"
+ },
+ "nmg": {
+ "name": "kwasio"
+ },
+ "cu": {
+ "name": "kyrkslaviska"
+ },
+ "ksh": {
+ "name": "kölniska"
+ },
+ "lkt": {
+ "name": "lakota"
+ },
+ "lag": {
+ "name": "langi"
+ },
+ "lo": {
+ "name": "laotiska"
+ },
+ "lv": {
+ "name": "lettiska"
+ },
+ "ln": {
+ "name": "lingala"
+ },
+ "lt": {
+ "name": "litauiska"
+ },
+ "lu": {
+ "name": "luba-katanga"
+ },
+ "lg": {
+ "name": "luganda"
+ },
+ "luy": {
+ "name": "luhya"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "xog": {
+ "name": "lusoga"
+ },
+ "lb": {
+ "name": "luxemburgiska"
+ },
+ "nds-NL": {
+ "name": "lågsaxiska"
+ },
+ "dsb": {
+ "name": "lågsorbiska"
+ },
+ "nds": {
+ "name": "lågtyska"
+ },
+ "mk": {
+ "name": "makedonska"
+ },
+ "mgh": {
+ "name": "makhuwa-meetto"
+ },
+ "kde": {
+ "name": "makonde"
+ },
+ "mg": {
+ "name": "malagassiska"
+ },
+ "ms": {
+ "name": "malajiska"
+ },
+ "ml": {
+ "name": "malayalam"
+ },
+ "mt": {
+ "name": "maltesiska"
+ },
+ "gv": {
+ "name": "manx"
+ },
+ "mr": {
+ "name": "marathi"
+ },
+ "zgh": {
+ "name": "marockansk standard-tamazight"
+ },
+ "mas": {
+ "name": "massajiska"
+ },
+ "mfe": {
+ "name": "mauritansk kreol"
+ },
+ "mzn": {
+ "name": "mazanderani"
+ },
+ "mer": {
+ "name": "meru"
+ },
+ "mgo": {
+ "name": "meta’"
+ },
+ "es-MX": {
+ "name": "mexikansk spanska"
+ },
+ "kkj": {
+ "name": "mkako"
+ },
+ "ro-MD": {
+ "name": "moldaviska"
+ },
+ "mn": {
+ "name": "mongoliska"
+ },
+ "mua": {
+ "name": "mundang"
+ },
+ "naq": {
+ "name": "nama"
+ },
+ "nl": {
+ "name": "nederländska"
+ },
+ "ne": {
+ "name": "nepalesiska"
+ },
+ "jgo": {
+ "name": "ngomba"
+ },
+ "lrc": {
+ "name": "nordluri"
+ },
+ "nd": {
+ "name": "nordndebele"
+ },
+ "se": {
+ "name": "nordsamiska"
+ },
+ "nus": {
+ "name": "nuer"
+ },
+ "nyn": {
+ "name": "nyankole"
+ },
+ "nn": {
+ "name": "nynorska"
+ },
+ "or": {
+ "name": "oriya"
+ },
+ "om": {
+ "name": "oromo"
+ },
+ "os": {
+ "name": "ossetiska"
+ },
+ "fa": {
+ "name": "persiska"
+ },
+ "pl": {
+ "name": "polska"
+ },
+ "pt": {
+ "name": "portugisiska"
+ },
+ "pa": {
+ "name": "punjabi"
+ },
+ "qu": {
+ "name": "quechua"
+ },
+ "rof": {
+ "name": "rombo"
+ },
+ "ro": {
+ "name": "rumänska"
+ },
+ "rn": {
+ "name": "rundi"
+ },
+ "rwk": {
+ "name": "rwa"
+ },
+ "ru": {
+ "name": "ryska"
+ },
+ "rm": {
+ "name": "rätoromanska"
+ },
+ "saq": {
+ "name": "samburu"
+ },
+ "sg": {
+ "name": "sango"
+ },
+ "sbp": {
+ "name": "sangu"
+ },
+ "gsw": {
+ "name": "schweizertyska"
+ },
+ "fr-CH": {
+ "name": "schweizisk franska"
+ },
+ "de-CH": {
+ "name": "schweizisk högtyska"
+ },
+ "seh": {
+ "name": "sena"
+ },
+ "sr": {
+ "name": "serbiska"
+ },
+ "sn": {
+ "name": "shona"
+ },
+ "si": {
+ "name": "singalesiska"
+ },
+ "gd": {
+ "name": "skotsk gäliska"
+ },
+ "sk": {
+ "name": "slovakiska"
+ },
+ "sl": {
+ "name": "slovenska"
+ },
+ "so": {
+ "name": "somaliska"
+ },
+ "ckb": {
+ "name": "soranisk kurdiska"
+ },
+ "es": {
+ "name": "spanska"
+ },
+ "sv": {
+ "name": "svenska"
+ },
+ "sw": {
+ "name": "swahili"
+ },
+ "ii": {
+ "name": "szezuan i"
+ },
+ "shi": {
+ "name": "tachelhit"
+ },
+ "dav": {
+ "name": "taita"
+ },
+ "ta": {
+ "name": "tamil"
+ },
+ "twq": {
+ "name": "tasawaq"
+ },
+ "te": {
+ "name": "telugu"
+ },
+ "teo": {
+ "name": "teso"
+ },
+ "th": {
+ "name": "thailändska"
+ },
+ "bo": {
+ "name": "tibetanska"
+ },
+ "ti": {
+ "name": "tigrinja"
+ },
+ "khq": {
+ "name": "Timbuktu-songhoy"
+ },
+ "cs": {
+ "name": "tjeckiska"
+ },
+ "ce": {
+ "name": "tjetjenska"
+ },
+ "to": {
+ "name": "tonganska"
+ },
+ "zh-Hant": {
+ "name": "traditionell kinesiska"
+ },
+ "tr": {
+ "name": "turkiska"
+ },
+ "tk": {
+ "name": "turkmeniska"
+ },
+ "de": {
+ "name": "tyska"
+ },
+ "ug": {
+ "name": "uiguriska"
+ },
+ "uk": {
+ "name": "ukrainska"
+ },
+ "hu": {
+ "name": "ungerska"
+ },
+ "ur": {
+ "name": "urdu"
+ },
+ "uz": {
+ "name": "uzbekiska"
+ },
+ "vai": {
+ "name": "vaj"
+ },
+ "vi": {
+ "name": "vietnamesiska"
+ },
+ "be": {
+ "name": "vitryska"
+ },
+ "vo": {
+ "name": "volapük"
+ },
+ "vun": {
+ "name": "vunjo"
+ },
+ "fy": {
+ "name": "västfrisiska"
+ },
+ "cy": {
+ "name": "walesiska"
+ },
+ "wae": {
+ "name": "walsertyska"
+ },
+ "yav": {
+ "name": "yangben"
+ },
+ "yo": {
+ "name": "yoruba"
+ },
+ "dje": {
+ "name": "zarma"
+ },
+ "zu": {
+ "name": "zulu"
+ },
+ "de-AT": {
+ "name": "österrikisk tyska"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/sv.json b/vendor/commerceguys/intl/resources/language/sv.json
new file mode 100644
index 000000000..20aec7499
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/sv.json
@@ -0,0 +1,635 @@
+{
+ "ps": {
+ "name": "afghanska"
+ },
+ "af": {
+ "name": "afrikaans"
+ },
+ "agq": {
+ "name": "aghem"
+ },
+ "ak": {
+ "name": "akan"
+ },
+ "sq": {
+ "name": "albanska"
+ },
+ "am": {
+ "name": "amhariska"
+ },
+ "ar": {
+ "name": "arabiska"
+ },
+ "hy": {
+ "name": "armeniska"
+ },
+ "as": {
+ "name": "assamesiska"
+ },
+ "ast": {
+ "name": "asturiska"
+ },
+ "asa": {
+ "name": "asu"
+ },
+ "en-AU": {
+ "name": "australisk engelska"
+ },
+ "az": {
+ "name": "azerbajdzjanska"
+ },
+ "ksf": {
+ "name": "bafia"
+ },
+ "bm": {
+ "name": "bambara"
+ },
+ "nnh": {
+ "name": "bamileké-ngiemboon"
+ },
+ "bas": {
+ "name": "basa"
+ },
+ "eu": {
+ "name": "baskiska"
+ },
+ "bem": {
+ "name": "bemba"
+ },
+ "bez": {
+ "name": "bena"
+ },
+ "bn": {
+ "name": "bengali"
+ },
+ "brx": {
+ "name": "bodo"
+ },
+ "nb": {
+ "name": "bokmål"
+ },
+ "bs": {
+ "name": "bosniska"
+ },
+ "br": {
+ "name": "bretonska"
+ },
+ "en-GB": {
+ "name": "brittisk engelska"
+ },
+ "bg": {
+ "name": "bulgariska"
+ },
+ "my": {
+ "name": "burmesiska"
+ },
+ "tzm": {
+ "name": "centralmarockansk tamazight"
+ },
+ "chr": {
+ "name": "cherokesiska"
+ },
+ "cgg": {
+ "name": "chiga"
+ },
+ "da": {
+ "name": "danska"
+ },
+ "dua": {
+ "name": "duala"
+ },
+ "dz": {
+ "name": "dzongkha"
+ },
+ "ebu": {
+ "name": "embu"
+ },
+ "smn": {
+ "name": "enaresamiska"
+ },
+ "en": {
+ "name": "engelska"
+ },
+ "eo": {
+ "name": "esperanto"
+ },
+ "et": {
+ "name": "estniska"
+ },
+ "pt-PT": {
+ "name": "europeisk portugisiska"
+ },
+ "ee": {
+ "name": "ewe"
+ },
+ "ewo": {
+ "name": "ewondo"
+ },
+ "fil": {
+ "name": "filippinska"
+ },
+ "fi": {
+ "name": "finska"
+ },
+ "nl-BE": {
+ "name": "flamländska"
+ },
+ "prg": {
+ "name": "fornpreussiska"
+ },
+ "fr": {
+ "name": "franska"
+ },
+ "fur": {
+ "name": "friulianska"
+ },
+ "ff": {
+ "name": "fulani"
+ },
+ "fo": {
+ "name": "färöiska"
+ },
+ "zh-Hans": {
+ "name": "förenklad kinesiska"
+ },
+ "gl": {
+ "name": "galiciska"
+ },
+ "ses": {
+ "name": "Gao-songhay"
+ },
+ "ka": {
+ "name": "georgiska"
+ },
+ "el": {
+ "name": "grekiska"
+ },
+ "kl": {
+ "name": "grönländska"
+ },
+ "gu": {
+ "name": "gujarati"
+ },
+ "guz": {
+ "name": "gusii"
+ },
+ "ha": {
+ "name": "hausa"
+ },
+ "haw": {
+ "name": "hawaiiska"
+ },
+ "he": {
+ "name": "hebreiska"
+ },
+ "hi": {
+ "name": "hindi"
+ },
+ "hsb": {
+ "name": "högsorbiska"
+ },
+ "ig": {
+ "name": "igbo"
+ },
+ "id": {
+ "name": "indonesiska"
+ },
+ "ga": {
+ "name": "iriska"
+ },
+ "is": {
+ "name": "isländska"
+ },
+ "it": {
+ "name": "italienska"
+ },
+ "sah": {
+ "name": "jakutiska"
+ },
+ "ja": {
+ "name": "japanska"
+ },
+ "yi": {
+ "name": "jiddisch"
+ },
+ "dyo": {
+ "name": "jola-fonyi"
+ },
+ "kab": {
+ "name": "kabyliska"
+ },
+ "kln": {
+ "name": "kalenjin"
+ },
+ "kam": {
+ "name": "kamba"
+ },
+ "km": {
+ "name": "kambodjanska"
+ },
+ "en-CA": {
+ "name": "kanadensisk engelska"
+ },
+ "fr-CA": {
+ "name": "kanadensisk franska"
+ },
+ "kn": {
+ "name": "kannada"
+ },
+ "yue": {
+ "name": "kantonesiska"
+ },
+ "kea": {
+ "name": "kapverdiska"
+ },
+ "ks": {
+ "name": "kashmiriska"
+ },
+ "ca": {
+ "name": "katalanska"
+ },
+ "kk": {
+ "name": "kazakiska"
+ },
+ "ki": {
+ "name": "kikuyu"
+ },
+ "jmc": {
+ "name": "kimashami"
+ },
+ "zh": {
+ "name": "kinesiska"
+ },
+ "rw": {
+ "name": "kinjarwanda"
+ },
+ "ky": {
+ "name": "kirgisiska"
+ },
+ "ksb": {
+ "name": "kisambaa"
+ },
+ "sw-CD": {
+ "name": "Kongo-swahili"
+ },
+ "kok": {
+ "name": "konkani"
+ },
+ "ko": {
+ "name": "koreanska"
+ },
+ "kw": {
+ "name": "korniska"
+ },
+ "hr": {
+ "name": "kroatiska"
+ },
+ "nmg": {
+ "name": "kwasio"
+ },
+ "cu": {
+ "name": "kyrkslaviska"
+ },
+ "ksh": {
+ "name": "kölniska"
+ },
+ "lkt": {
+ "name": "lakota"
+ },
+ "lag": {
+ "name": "langi"
+ },
+ "lo": {
+ "name": "laotiska"
+ },
+ "lv": {
+ "name": "lettiska"
+ },
+ "ln": {
+ "name": "lingala"
+ },
+ "lt": {
+ "name": "litauiska"
+ },
+ "lu": {
+ "name": "luba-katanga"
+ },
+ "lg": {
+ "name": "luganda"
+ },
+ "luy": {
+ "name": "luhya"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "xog": {
+ "name": "lusoga"
+ },
+ "lb": {
+ "name": "luxemburgiska"
+ },
+ "nds-NL": {
+ "name": "lågsaxiska"
+ },
+ "dsb": {
+ "name": "lågsorbiska"
+ },
+ "nds": {
+ "name": "lågtyska"
+ },
+ "mk": {
+ "name": "makedonska"
+ },
+ "mgh": {
+ "name": "makhuwa-meetto"
+ },
+ "kde": {
+ "name": "makonde"
+ },
+ "mg": {
+ "name": "malagassiska"
+ },
+ "ms": {
+ "name": "malajiska"
+ },
+ "ml": {
+ "name": "malayalam"
+ },
+ "mt": {
+ "name": "maltesiska"
+ },
+ "gv": {
+ "name": "manx"
+ },
+ "mr": {
+ "name": "marathi"
+ },
+ "zgh": {
+ "name": "marockansk standard-tamazight"
+ },
+ "mas": {
+ "name": "massajiska"
+ },
+ "mfe": {
+ "name": "mauritansk kreol"
+ },
+ "mzn": {
+ "name": "mazanderani"
+ },
+ "mer": {
+ "name": "meru"
+ },
+ "mgo": {
+ "name": "meta’"
+ },
+ "es-MX": {
+ "name": "mexikansk spanska"
+ },
+ "kkj": {
+ "name": "mkako"
+ },
+ "ro-MD": {
+ "name": "moldaviska"
+ },
+ "mn": {
+ "name": "mongoliska"
+ },
+ "mua": {
+ "name": "mundang"
+ },
+ "naq": {
+ "name": "nama"
+ },
+ "nl": {
+ "name": "nederländska"
+ },
+ "ne": {
+ "name": "nepalesiska"
+ },
+ "jgo": {
+ "name": "ngomba"
+ },
+ "lrc": {
+ "name": "nordluri"
+ },
+ "nd": {
+ "name": "nordndebele"
+ },
+ "se": {
+ "name": "nordsamiska"
+ },
+ "nus": {
+ "name": "nuer"
+ },
+ "nyn": {
+ "name": "nyankole"
+ },
+ "nn": {
+ "name": "nynorska"
+ },
+ "or": {
+ "name": "oriya"
+ },
+ "om": {
+ "name": "oromo"
+ },
+ "os": {
+ "name": "ossetiska"
+ },
+ "fa": {
+ "name": "persiska"
+ },
+ "pl": {
+ "name": "polska"
+ },
+ "pt": {
+ "name": "portugisiska"
+ },
+ "pa": {
+ "name": "punjabi"
+ },
+ "qu": {
+ "name": "quechua"
+ },
+ "rof": {
+ "name": "rombo"
+ },
+ "ro": {
+ "name": "rumänska"
+ },
+ "rn": {
+ "name": "rundi"
+ },
+ "rwk": {
+ "name": "rwa"
+ },
+ "ru": {
+ "name": "ryska"
+ },
+ "rm": {
+ "name": "rätoromanska"
+ },
+ "saq": {
+ "name": "samburu"
+ },
+ "sg": {
+ "name": "sango"
+ },
+ "sbp": {
+ "name": "sangu"
+ },
+ "gsw": {
+ "name": "schweizertyska"
+ },
+ "fr-CH": {
+ "name": "schweizisk franska"
+ },
+ "de-CH": {
+ "name": "schweizisk högtyska"
+ },
+ "seh": {
+ "name": "sena"
+ },
+ "sr": {
+ "name": "serbiska"
+ },
+ "sn": {
+ "name": "shona"
+ },
+ "si": {
+ "name": "singalesiska"
+ },
+ "gd": {
+ "name": "skotsk gäliska"
+ },
+ "sk": {
+ "name": "slovakiska"
+ },
+ "sl": {
+ "name": "slovenska"
+ },
+ "so": {
+ "name": "somaliska"
+ },
+ "ckb": {
+ "name": "soranisk kurdiska"
+ },
+ "es": {
+ "name": "spanska"
+ },
+ "sv": {
+ "name": "svenska"
+ },
+ "sw": {
+ "name": "swahili"
+ },
+ "ii": {
+ "name": "szezuan i"
+ },
+ "shi": {
+ "name": "tachelhit"
+ },
+ "dav": {
+ "name": "taita"
+ },
+ "ta": {
+ "name": "tamil"
+ },
+ "twq": {
+ "name": "tasawaq"
+ },
+ "te": {
+ "name": "telugu"
+ },
+ "teo": {
+ "name": "teso"
+ },
+ "th": {
+ "name": "thailändska"
+ },
+ "bo": {
+ "name": "tibetanska"
+ },
+ "ti": {
+ "name": "tigrinja"
+ },
+ "khq": {
+ "name": "Timbuktu-songhoy"
+ },
+ "cs": {
+ "name": "tjeckiska"
+ },
+ "ce": {
+ "name": "tjetjenska"
+ },
+ "to": {
+ "name": "tonganska"
+ },
+ "zh-Hant": {
+ "name": "traditionell kinesiska"
+ },
+ "tr": {
+ "name": "turkiska"
+ },
+ "tk": {
+ "name": "turkmeniska"
+ },
+ "de": {
+ "name": "tyska"
+ },
+ "ug": {
+ "name": "uiguriska"
+ },
+ "uk": {
+ "name": "ukrainska"
+ },
+ "hu": {
+ "name": "ungerska"
+ },
+ "ur": {
+ "name": "urdu"
+ },
+ "uz": {
+ "name": "uzbekiska"
+ },
+ "vai": {
+ "name": "vaj"
+ },
+ "vi": {
+ "name": "vietnamesiska"
+ },
+ "be": {
+ "name": "vitryska"
+ },
+ "vo": {
+ "name": "volapük"
+ },
+ "vun": {
+ "name": "vunjo"
+ },
+ "fy": {
+ "name": "västfrisiska"
+ },
+ "cy": {
+ "name": "walesiska"
+ },
+ "wae": {
+ "name": "walsertyska"
+ },
+ "yav": {
+ "name": "yangben"
+ },
+ "yo": {
+ "name": "yoruba"
+ },
+ "dje": {
+ "name": "zarma"
+ },
+ "zu": {
+ "name": "zulu"
+ },
+ "de-AT": {
+ "name": "österrikisk tyska"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/sw-CD.json b/vendor/commerceguys/intl/resources/language/sw-CD.json
new file mode 100644
index 000000000..202b31d0f
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/sw-CD.json
@@ -0,0 +1,635 @@
+{
+ "tzm": {
+ "name": "Central Atlas Tamazight"
+ },
+ "af": {
+ "name": "Kiafrikana"
+ },
+ "agq": {
+ "name": "Kiaghem"
+ },
+ "is": {
+ "name": "Kiaisilandi"
+ },
+ "fa": {
+ "name": "Kiajemi"
+ },
+ "ak": {
+ "name": "Kiakan"
+ },
+ "sq": {
+ "name": "Kialbania"
+ },
+ "am": {
+ "name": "Kiamhari"
+ },
+ "ar": {
+ "name": "Kiarabu"
+ },
+ "hy": {
+ "name": "Kiarmenia"
+ },
+ "as": {
+ "name": "Kiassam"
+ },
+ "ast": {
+ "name": "Kiasturia"
+ },
+ "asa": {
+ "name": "Kiasu"
+ },
+ "ga": {
+ "name": "Kiayalandi"
+ },
+ "az": {
+ "name": "Kiazabajani"
+ },
+ "ksf": {
+ "name": "Kibafia"
+ },
+ "bm": {
+ "name": "Kibambara"
+ },
+ "bas": {
+ "name": "Kibasaa"
+ },
+ "eu": {
+ "name": "Kibasque"
+ },
+ "be": {
+ "name": "Kibelarusi"
+ },
+ "bem": {
+ "name": "Kibemba"
+ },
+ "bez": {
+ "name": "Kibena"
+ },
+ "bn": {
+ "name": "Kibengali"
+ },
+ "brx": {
+ "name": "Kibodo"
+ },
+ "bs": {
+ "name": "Kibosnia"
+ },
+ "br": {
+ "name": "Kibretoni"
+ },
+ "bg": {
+ "name": "Kibulgaria"
+ },
+ "my": {
+ "name": "Kiburma"
+ },
+ "ce": {
+ "name": "Kichechenia"
+ },
+ "cs": {
+ "name": "Kicheki"
+ },
+ "chr": {
+ "name": "Kicherokee"
+ },
+ "cgg": {
+ "name": "Kichiga"
+ },
+ "zh": {
+ "name": "Kichina"
+ },
+ "zh-Hans": {
+ "name": "Kichina (Kilichorahisishwa)"
+ },
+ "zh-Hant": {
+ "name": "Kichina cha Jadi"
+ },
+ "ksh": {
+ "name": "Kicologne"
+ },
+ "da": {
+ "name": "Kidenmaki"
+ },
+ "dsb": {
+ "name": "Kidolnoserbski"
+ },
+ "dua": {
+ "name": "Kiduala"
+ },
+ "he": {
+ "name": "Kiebrania"
+ },
+ "ebu": {
+ "name": "Kiembu"
+ },
+ "eo": {
+ "name": "Kiesperanto"
+ },
+ "et": {
+ "name": "Kiestonia"
+ },
+ "ee": {
+ "name": "Kiewe"
+ },
+ "ewo": {
+ "name": "Kiewondo"
+ },
+ "fr": {
+ "name": "Kifaransa"
+ },
+ "fr-CA": {
+ "name": "Kifaransa (Canada)"
+ },
+ "fr-CH": {
+ "name": "Kifaransa (Uswisi)"
+ },
+ "fo": {
+ "name": "Kifaroe"
+ },
+ "fil": {
+ "name": "Kifilipino"
+ },
+ "fi": {
+ "name": "Kifini"
+ },
+ "nl-BE": {
+ "name": "Kiflemi"
+ },
+ "fy": {
+ "name": "Kifrisia cha Magharibi"
+ },
+ "fur": {
+ "name": "Kifriulian"
+ },
+ "ff": {
+ "name": "Kifula"
+ },
+ "gd": {
+ "name": "Kigaeli cha Uskoti"
+ },
+ "gl": {
+ "name": "Kigalisi"
+ },
+ "lg": {
+ "name": "Kiganda"
+ },
+ "el": {
+ "name": "Kigiriki"
+ },
+ "gu": {
+ "name": "Kigujarati"
+ },
+ "hu": {
+ "name": "Kihangari"
+ },
+ "ha": {
+ "name": "Kihausa"
+ },
+ "haw": {
+ "name": "Kihawai"
+ },
+ "hi": {
+ "name": "Kihindi"
+ },
+ "es": {
+ "name": "Kihispania"
+ },
+ "es-MX": {
+ "name": "Kihispania (Mexico)"
+ },
+ "nl": {
+ "name": "Kiholanzi"
+ },
+ "ig": {
+ "name": "Kiigbo"
+ },
+ "id": {
+ "name": "Kiindonesia"
+ },
+ "en": {
+ "name": "Kiingereza"
+ },
+ "en-AU": {
+ "name": "Kiingereza (Australia)"
+ },
+ "en-CA": {
+ "name": "Kiingereza (Kanada)"
+ },
+ "en-GB": {
+ "name": "Kiingereza (Uingereza)"
+ },
+ "it": {
+ "name": "Kiitaliano"
+ },
+ "luo": {
+ "name": "Kijaluo"
+ },
+ "ja": {
+ "name": "Kijapani"
+ },
+ "de": {
+ "name": "Kijerumani"
+ },
+ "de-AT": {
+ "name": "Kijerumani (Austria)"
+ },
+ "de-CH": {
+ "name": "Kijerumani (Uswisi)"
+ },
+ "gsw": {
+ "name": "Kijerumani cha Uswisi"
+ },
+ "ka": {
+ "name": "Kijojia"
+ },
+ "dyo": {
+ "name": "Kijola-Fonyi"
+ },
+ "kea": {
+ "name": "Kikabuverdianu"
+ },
+ "kab": {
+ "name": "Kikabylia"
+ },
+ "kkj": {
+ "name": "Kikako"
+ },
+ "kl": {
+ "name": "Kikalaallisut"
+ },
+ "kln": {
+ "name": "Kikalenjin"
+ },
+ "kam": {
+ "name": "Kikamba"
+ },
+ "km": {
+ "name": "Kikambodia"
+ },
+ "kn": {
+ "name": "Kikannada"
+ },
+ "yue": {
+ "name": "Kikantoni"
+ },
+ "ks": {
+ "name": "Kikashmiri"
+ },
+ "ca": {
+ "name": "Kikatalani"
+ },
+ "kk": {
+ "name": "Kikazakh"
+ },
+ "ki": {
+ "name": "Kikikuyu"
+ },
+ "ky": {
+ "name": "Kikirigizi"
+ },
+ "guz": {
+ "name": "Kikisii"
+ },
+ "kok": {
+ "name": "Kikonkani"
+ },
+ "ko": {
+ "name": "Kikorea"
+ },
+ "kw": {
+ "name": "Kikorni"
+ },
+ "khq": {
+ "name": "Kikoyra Chiini"
+ },
+ "hr": {
+ "name": "Kikroeshia"
+ },
+ "ckb": {
+ "name": "Kikurdi cha Sorani"
+ },
+ "nmg": {
+ "name": "Kikwasio"
+ },
+ "lkt": {
+ "name": "Kilakota"
+ },
+ "lo": {
+ "name": "Kilaosi"
+ },
+ "lb": {
+ "name": "Kilasembagi"
+ },
+ "lv": {
+ "name": "Kilatvia"
+ },
+ "ln": {
+ "name": "Kilingala"
+ },
+ "lt": {
+ "name": "Kilithuania"
+ },
+ "lu": {
+ "name": "Kiluba-Katanga"
+ },
+ "luy": {
+ "name": "Kiluhya"
+ },
+ "lrc": {
+ "name": "Kiluri cha Kaskazini"
+ },
+ "mas": {
+ "name": "Kimaasai"
+ },
+ "jmc": {
+ "name": "Kimachame"
+ },
+ "mgh": {
+ "name": "Kimakhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Kimakonde"
+ },
+ "mg": {
+ "name": "Kimalagasi"
+ },
+ "ml": {
+ "name": "Kimalayalam"
+ },
+ "ms": {
+ "name": "Kimalei"
+ },
+ "mt": {
+ "name": "Kimalta"
+ },
+ "gv": {
+ "name": "Kimanksi"
+ },
+ "mr": {
+ "name": "Kimarathi"
+ },
+ "mk": {
+ "name": "Kimasedonia"
+ },
+ "mzn": {
+ "name": "Kimazanderani"
+ },
+ "mer": {
+ "name": "Kimeru"
+ },
+ "mgo": {
+ "name": "Kimeta"
+ },
+ "mn": {
+ "name": "Kimongolia"
+ },
+ "mfe": {
+ "name": "Kimoriseni"
+ },
+ "mua": {
+ "name": "Kimundang"
+ },
+ "naq": {
+ "name": "Kinama"
+ },
+ "nd": {
+ "name": "Kindebele cha Kaskazini"
+ },
+ "ne": {
+ "name": "Kinepali"
+ },
+ "nnh": {
+ "name": "Kingiemboon"
+ },
+ "jgo": {
+ "name": "Kingomba"
+ },
+ "sw-CD": {
+ "name": "Kingwana"
+ },
+ "nb": {
+ "name": "Kinorwe cha Bokmål"
+ },
+ "nn": {
+ "name": "Kinorwe cha Nynorsk"
+ },
+ "nus": {
+ "name": "Kinuer"
+ },
+ "nyn": {
+ "name": "Kinyankole"
+ },
+ "rw": {
+ "name": "Kinyarwanda"
+ },
+ "or": {
+ "name": "Kioriya"
+ },
+ "om": {
+ "name": "Kioromo"
+ },
+ "os": {
+ "name": "Kiosetia"
+ },
+ "ps": {
+ "name": "Kipashto"
+ },
+ "pl": {
+ "name": "Kipolandi"
+ },
+ "prg": {
+ "name": "Kiprussia"
+ },
+ "pa": {
+ "name": "Kipunjabi"
+ },
+ "qu": {
+ "name": "Kiquechua"
+ },
+ "lag": {
+ "name": "Kirangi"
+ },
+ "pt": {
+ "name": "Kireno"
+ },
+ "pt-PT": {
+ "name": "Kireno (Ureno)"
+ },
+ "ro": {
+ "name": "Kiromania"
+ },
+ "ro-MD": {
+ "name": "Kiromania (Moldova)"
+ },
+ "rm": {
+ "name": "Kiromanshi"
+ },
+ "rof": {
+ "name": "Kirombo"
+ },
+ "rn": {
+ "name": "Kirundi"
+ },
+ "ru": {
+ "name": "Kirusi"
+ },
+ "rwk": {
+ "name": "Kirwa"
+ },
+ "sah": {
+ "name": "Kisakha"
+ },
+ "nds": {
+ "name": "Kisaksoni"
+ },
+ "nds-NL": {
+ "name": "Kisaksoni (Uholanzi)"
+ },
+ "ksb": {
+ "name": "Kisambaa"
+ },
+ "saq": {
+ "name": "Kisamburu"
+ },
+ "smn": {
+ "name": "Kisami cha Inari"
+ },
+ "se": {
+ "name": "Kisami cha Kaskazini"
+ },
+ "sg": {
+ "name": "Kisango"
+ },
+ "sbp": {
+ "name": "Kisangu"
+ },
+ "seh": {
+ "name": "Kisena"
+ },
+ "sr": {
+ "name": "Kiserbia"
+ },
+ "sn": {
+ "name": "Kishona"
+ },
+ "si": {
+ "name": "Kisinhala"
+ },
+ "sk": {
+ "name": "Kislovakia"
+ },
+ "cu": {
+ "name": "Kislovakia cha Church"
+ },
+ "sl": {
+ "name": "Kislovenia"
+ },
+ "hsb": {
+ "name": "Kisobia cha Ukanda wa Juu"
+ },
+ "xog": {
+ "name": "Kisoga"
+ },
+ "so": {
+ "name": "Kisomali"
+ },
+ "sw": {
+ "name": "Kiswahili"
+ },
+ "sv": {
+ "name": "Kiswidi"
+ },
+ "shi": {
+ "name": "Kitachelhit"
+ },
+ "th": {
+ "name": "Kitailandi"
+ },
+ "dav": {
+ "name": "Kitaita"
+ },
+ "ta": {
+ "name": "Kitamil"
+ },
+ "twq": {
+ "name": "Kitasawaq"
+ },
+ "te": {
+ "name": "Kitelugu"
+ },
+ "teo": {
+ "name": "Kiteso"
+ },
+ "bo": {
+ "name": "Kitibeti"
+ },
+ "ti": {
+ "name": "Kitigrinya"
+ },
+ "to": {
+ "name": "Kitonga"
+ },
+ "tr": {
+ "name": "Kituruki"
+ },
+ "tk": {
+ "name": "Kiturukimeni"
+ },
+ "uk": {
+ "name": "Kiukraine"
+ },
+ "ur": {
+ "name": "Kiurdu"
+ },
+ "ug": {
+ "name": "Kiuyghur"
+ },
+ "uz": {
+ "name": "Kiuzbeki"
+ },
+ "vai": {
+ "name": "Kivai"
+ },
+ "vi": {
+ "name": "Kivietinamu"
+ },
+ "vo": {
+ "name": "Kivolapük"
+ },
+ "vun": {
+ "name": "Kivunjo"
+ },
+ "wae": {
+ "name": "Kiwalser"
+ },
+ "cy": {
+ "name": "Kiwelisi"
+ },
+ "yav": {
+ "name": "Kiyangben"
+ },
+ "yi": {
+ "name": "Kiyidi"
+ },
+ "yo": {
+ "name": "Kiyoruba"
+ },
+ "dje": {
+ "name": "Kizarma"
+ },
+ "dz": {
+ "name": "Kizongkha"
+ },
+ "zu": {
+ "name": "Kizulu"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "zgh": {
+ "name": "Tamaziti Sanifu ya Kimoroko"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/sw-KE.json b/vendor/commerceguys/intl/resources/language/sw-KE.json
new file mode 100644
index 000000000..5236d3124
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/sw-KE.json
@@ -0,0 +1,635 @@
+{
+ "af": {
+ "name": "Kiafrikana"
+ },
+ "agq": {
+ "name": "Kiaghem"
+ },
+ "is": {
+ "name": "Kiaisilandi"
+ },
+ "fa": {
+ "name": "Kiajemi"
+ },
+ "ak": {
+ "name": "Kiakani"
+ },
+ "sq": {
+ "name": "Kialbania"
+ },
+ "am": {
+ "name": "Kiamhari"
+ },
+ "ar": {
+ "name": "Kiarabu"
+ },
+ "hy": {
+ "name": "Kiarmenia"
+ },
+ "as": {
+ "name": "Kiassam"
+ },
+ "ast": {
+ "name": "Kiasturia"
+ },
+ "asa": {
+ "name": "Kiasu"
+ },
+ "ga": {
+ "name": "Kiayalandi"
+ },
+ "az": {
+ "name": "Kiazabajani"
+ },
+ "ksf": {
+ "name": "Kibafia"
+ },
+ "bm": {
+ "name": "Kibambara"
+ },
+ "bas": {
+ "name": "Kibasaa"
+ },
+ "eu": {
+ "name": "Kibasque"
+ },
+ "be": {
+ "name": "Kibelarusi"
+ },
+ "bem": {
+ "name": "Kibemba"
+ },
+ "bez": {
+ "name": "Kibena"
+ },
+ "bn": {
+ "name": "Kibengali"
+ },
+ "brx": {
+ "name": "Kibodo"
+ },
+ "bs": {
+ "name": "Kibosnia"
+ },
+ "br": {
+ "name": "Kibretoni"
+ },
+ "bg": {
+ "name": "Kibulgaria"
+ },
+ "my": {
+ "name": "Kiburma"
+ },
+ "ce": {
+ "name": "Kichechenia"
+ },
+ "cs": {
+ "name": "Kicheki"
+ },
+ "chr": {
+ "name": "Kicherokee"
+ },
+ "cgg": {
+ "name": "Kichiga"
+ },
+ "zh": {
+ "name": "Kichina"
+ },
+ "zh-Hans": {
+ "name": "Kichina (Kilichorahisishwa)"
+ },
+ "zh-Hant": {
+ "name": "Kichina cha Jadi"
+ },
+ "ksh": {
+ "name": "Kicologne"
+ },
+ "da": {
+ "name": "Kidenmaki"
+ },
+ "dua": {
+ "name": "Kiduala"
+ },
+ "he": {
+ "name": "Kiebrania"
+ },
+ "ebu": {
+ "name": "Kiembu"
+ },
+ "eo": {
+ "name": "Kiesperanto"
+ },
+ "et": {
+ "name": "Kiestonia"
+ },
+ "ee": {
+ "name": "Kiewe"
+ },
+ "ewo": {
+ "name": "Kiewondo"
+ },
+ "fr": {
+ "name": "Kifaransa"
+ },
+ "fr-CA": {
+ "name": "Kifaransa (Canada)"
+ },
+ "fr-CH": {
+ "name": "Kifaransa (Uswisi)"
+ },
+ "fo": {
+ "name": "Kifaroe"
+ },
+ "fil": {
+ "name": "Kifilipino"
+ },
+ "fi": {
+ "name": "Kifini"
+ },
+ "nl-BE": {
+ "name": "Kiflemi"
+ },
+ "fy": {
+ "name": "Kifrisia cha Magharibi"
+ },
+ "fur": {
+ "name": "Kifriulian"
+ },
+ "ff": {
+ "name": "Kifula"
+ },
+ "gd": {
+ "name": "Kigaeli cha Uskoti"
+ },
+ "gl": {
+ "name": "Kigalisi"
+ },
+ "lg": {
+ "name": "Kiganda"
+ },
+ "el": {
+ "name": "Kigiriki"
+ },
+ "gu": {
+ "name": "Kigujarati"
+ },
+ "hu": {
+ "name": "Kihangari"
+ },
+ "ha": {
+ "name": "Kihausa"
+ },
+ "haw": {
+ "name": "Kihawai"
+ },
+ "hi": {
+ "name": "Kihindi"
+ },
+ "es": {
+ "name": "Kihispania"
+ },
+ "es-MX": {
+ "name": "Kihispania (Mexico)"
+ },
+ "nl": {
+ "name": "Kiholanzi"
+ },
+ "ig": {
+ "name": "Kiigbo"
+ },
+ "id": {
+ "name": "Kiindonesia"
+ },
+ "en": {
+ "name": "Kiingereza"
+ },
+ "en-AU": {
+ "name": "Kiingereza (Australia)"
+ },
+ "en-CA": {
+ "name": "Kiingereza (Kanada)"
+ },
+ "en-GB": {
+ "name": "Kiingereza (Uingereza)"
+ },
+ "nnh": {
+ "name": "Kiingiemboon"
+ },
+ "it": {
+ "name": "Kiitaliano"
+ },
+ "luo": {
+ "name": "Kijaluo"
+ },
+ "ja": {
+ "name": "Kijapani"
+ },
+ "de": {
+ "name": "Kijerumani"
+ },
+ "de-AT": {
+ "name": "Kijerumani (Austria)"
+ },
+ "de-CH": {
+ "name": "Kijerumani (Uswisi)"
+ },
+ "gsw": {
+ "name": "Kijerumani cha Uswisi"
+ },
+ "ka": {
+ "name": "Kijojia"
+ },
+ "dyo": {
+ "name": "Kijola-Fonyi"
+ },
+ "kea": {
+ "name": "Kikabuverdianu"
+ },
+ "kab": {
+ "name": "Kikabylia"
+ },
+ "kkj": {
+ "name": "Kikako"
+ },
+ "kl": {
+ "name": "Kikalaallisut"
+ },
+ "kln": {
+ "name": "Kikalenjin"
+ },
+ "kam": {
+ "name": "Kikamba"
+ },
+ "km": {
+ "name": "Kikambodia"
+ },
+ "kn": {
+ "name": "Kikannada"
+ },
+ "yue": {
+ "name": "Kikantoni"
+ },
+ "ks": {
+ "name": "Kikashmiri"
+ },
+ "ca": {
+ "name": "Kikatalani"
+ },
+ "kk": {
+ "name": "Kikazakh"
+ },
+ "ki": {
+ "name": "Kikikuyu"
+ },
+ "guz": {
+ "name": "Kikisii"
+ },
+ "kok": {
+ "name": "Kikonkani"
+ },
+ "ko": {
+ "name": "Kikorea"
+ },
+ "kw": {
+ "name": "Kikorni"
+ },
+ "khq": {
+ "name": "Kikoyra Chiini"
+ },
+ "ses": {
+ "name": "Kikoyraboro Senni"
+ },
+ "hr": {
+ "name": "Kikroeshia"
+ },
+ "ckb": {
+ "name": "Kikurdi cha Kati"
+ },
+ "nmg": {
+ "name": "Kikwasio"
+ },
+ "ky": {
+ "name": "Kikyrgyz"
+ },
+ "lkt": {
+ "name": "Kilakota"
+ },
+ "lo": {
+ "name": "Kilaosi"
+ },
+ "lb": {
+ "name": "Kilasembagi"
+ },
+ "lv": {
+ "name": "Kilatvia"
+ },
+ "ln": {
+ "name": "Kilingala"
+ },
+ "lt": {
+ "name": "Kilithuania"
+ },
+ "lu": {
+ "name": "Kiluba-Katanga"
+ },
+ "luy": {
+ "name": "Kiluhya"
+ },
+ "lrc": {
+ "name": "Kiluri cha Kaskazini"
+ },
+ "mas": {
+ "name": "Kimaasai"
+ },
+ "jmc": {
+ "name": "Kimachame"
+ },
+ "mgh": {
+ "name": "Kimakhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Kimakonde"
+ },
+ "mg": {
+ "name": "Kimalagasi"
+ },
+ "ml": {
+ "name": "Kimalayalam"
+ },
+ "ms": {
+ "name": "Kimalei"
+ },
+ "mt": {
+ "name": "Kimalta"
+ },
+ "gv": {
+ "name": "Kimanx"
+ },
+ "mr": {
+ "name": "Kimarathi"
+ },
+ "mk": {
+ "name": "Kimasedonia"
+ },
+ "mzn": {
+ "name": "Kimazanderani"
+ },
+ "mer": {
+ "name": "Kimeru"
+ },
+ "mgo": {
+ "name": "Kimeta"
+ },
+ "mn": {
+ "name": "Kimongolia"
+ },
+ "mfe": {
+ "name": "Kimoriseni"
+ },
+ "mua": {
+ "name": "Kimundang"
+ },
+ "naq": {
+ "name": "Kinama"
+ },
+ "nd": {
+ "name": "Kindebele cha Kaskazini"
+ },
+ "ne": {
+ "name": "Kinepali"
+ },
+ "jgo": {
+ "name": "Kingomba"
+ },
+ "sw-CD": {
+ "name": "Kingwana"
+ },
+ "nb": {
+ "name": "Kinorwe cha Bokmål"
+ },
+ "nn": {
+ "name": "Kinorwe cha Nynorsk"
+ },
+ "nus": {
+ "name": "Kinuer"
+ },
+ "nyn": {
+ "name": "Kinyankole"
+ },
+ "rw": {
+ "name": "Kinyarwanda"
+ },
+ "or": {
+ "name": "Kiodia"
+ },
+ "om": {
+ "name": "Kioromo"
+ },
+ "os": {
+ "name": "Kiosetia"
+ },
+ "ps": {
+ "name": "Kipashto"
+ },
+ "pl": {
+ "name": "Kipolandi"
+ },
+ "prg": {
+ "name": "Kiprussia"
+ },
+ "pa": {
+ "name": "Kipunjabi"
+ },
+ "qu": {
+ "name": "Kiquechua"
+ },
+ "lag": {
+ "name": "Kirangi"
+ },
+ "pt": {
+ "name": "Kireno"
+ },
+ "pt-PT": {
+ "name": "Kireno (Ureno)"
+ },
+ "ro": {
+ "name": "Kiromania"
+ },
+ "ro-MD": {
+ "name": "Kiromania (Moldova)"
+ },
+ "rm": {
+ "name": "Kiromanshi"
+ },
+ "rof": {
+ "name": "Kirombo"
+ },
+ "rn": {
+ "name": "Kirundi"
+ },
+ "ru": {
+ "name": "Kirusi"
+ },
+ "rwk": {
+ "name": "Kirwa"
+ },
+ "sah": {
+ "name": "Kisakha"
+ },
+ "nds": {
+ "name": "Kisaksoni"
+ },
+ "nds-NL": {
+ "name": "Kisaksoni (Uholanzi)"
+ },
+ "ksb": {
+ "name": "Kisambaa"
+ },
+ "saq": {
+ "name": "Kisamburu"
+ },
+ "smn": {
+ "name": "Kisami cha Inari"
+ },
+ "se": {
+ "name": "Kisami cha Kaskazini"
+ },
+ "sg": {
+ "name": "Kisango"
+ },
+ "sbp": {
+ "name": "Kisangu"
+ },
+ "seh": {
+ "name": "Kisena"
+ },
+ "sr": {
+ "name": "Kiserbia"
+ },
+ "sn": {
+ "name": "Kishona"
+ },
+ "si": {
+ "name": "Kisinhala"
+ },
+ "sk": {
+ "name": "Kislovakia"
+ },
+ "cu": {
+ "name": "Kislovakia cha Church"
+ },
+ "sl": {
+ "name": "Kislovenia"
+ },
+ "xog": {
+ "name": "Kisoga"
+ },
+ "so": {
+ "name": "Kisomali"
+ },
+ "hsb": {
+ "name": "Kisorbia cha Juu"
+ },
+ "dsb": {
+ "name": "Kisorbian cha Chini"
+ },
+ "sw": {
+ "name": "Kiswahili"
+ },
+ "sv": {
+ "name": "Kiswidi"
+ },
+ "shi": {
+ "name": "Kitachelhit"
+ },
+ "th": {
+ "name": "Kitailandi"
+ },
+ "dav": {
+ "name": "Kitaita"
+ },
+ "ta": {
+ "name": "Kitamil"
+ },
+ "twq": {
+ "name": "Kitasawaq"
+ },
+ "te": {
+ "name": "Kitelugu"
+ },
+ "teo": {
+ "name": "Kiteso"
+ },
+ "bo": {
+ "name": "Kitibeti"
+ },
+ "ti": {
+ "name": "Kitigrinya"
+ },
+ "to": {
+ "name": "Kitonga"
+ },
+ "tr": {
+ "name": "Kituruki"
+ },
+ "tk": {
+ "name": "Kiturukimeni"
+ },
+ "uk": {
+ "name": "Kiukraine"
+ },
+ "ur": {
+ "name": "Kiurdu"
+ },
+ "ug": {
+ "name": "Kiuyghur"
+ },
+ "uz": {
+ "name": "Kiuzbeki"
+ },
+ "vai": {
+ "name": "Kivai"
+ },
+ "vi": {
+ "name": "Kivietinamu"
+ },
+ "vo": {
+ "name": "Kivolapük"
+ },
+ "vun": {
+ "name": "Kivunjo"
+ },
+ "wae": {
+ "name": "Kiwalser"
+ },
+ "cy": {
+ "name": "Kiwelisi"
+ },
+ "yav": {
+ "name": "Kiyangben"
+ },
+ "yi": {
+ "name": "Kiyiddi"
+ },
+ "yo": {
+ "name": "Kiyoruba"
+ },
+ "dje": {
+ "name": "Kizarma"
+ },
+ "dz": {
+ "name": "Kizongkha"
+ },
+ "zu": {
+ "name": "Kizulu"
+ },
+ "tzm": {
+ "name": "Lugha ya Central Atlas Tamazight"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "zgh": {
+ "name": "Tamazight Sanifu ya Moroko"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/sw.json b/vendor/commerceguys/intl/resources/language/sw.json
new file mode 100644
index 000000000..09e92a9b1
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/sw.json
@@ -0,0 +1,635 @@
+{
+ "tzm": {
+ "name": "Central Atlas Tamazight"
+ },
+ "af": {
+ "name": "Kiafrikana"
+ },
+ "agq": {
+ "name": "Kiaghem"
+ },
+ "is": {
+ "name": "Kiaisilandi"
+ },
+ "fa": {
+ "name": "Kiajemi"
+ },
+ "ak": {
+ "name": "Kiakani"
+ },
+ "sq": {
+ "name": "Kialbania"
+ },
+ "am": {
+ "name": "Kiamhari"
+ },
+ "ar": {
+ "name": "Kiarabu"
+ },
+ "hy": {
+ "name": "Kiarmenia"
+ },
+ "as": {
+ "name": "Kiassam"
+ },
+ "ast": {
+ "name": "Kiasturia"
+ },
+ "asa": {
+ "name": "Kiasu"
+ },
+ "ga": {
+ "name": "Kiayalandi"
+ },
+ "az": {
+ "name": "Kiazerbaijani"
+ },
+ "ksf": {
+ "name": "Kibafia"
+ },
+ "bm": {
+ "name": "Kibambara"
+ },
+ "bas": {
+ "name": "Kibasaa"
+ },
+ "eu": {
+ "name": "Kibasque"
+ },
+ "be": {
+ "name": "Kibelarusi"
+ },
+ "bem": {
+ "name": "Kibemba"
+ },
+ "bez": {
+ "name": "Kibena"
+ },
+ "bn": {
+ "name": "Kibengali"
+ },
+ "brx": {
+ "name": "Kibodo"
+ },
+ "bs": {
+ "name": "Kibosnia"
+ },
+ "br": {
+ "name": "Kibretoni"
+ },
+ "bg": {
+ "name": "Kibulgaria"
+ },
+ "my": {
+ "name": "Kiburma"
+ },
+ "ce": {
+ "name": "Kichechenia"
+ },
+ "cs": {
+ "name": "Kicheki"
+ },
+ "chr": {
+ "name": "Kicherokee"
+ },
+ "cgg": {
+ "name": "Kichiga"
+ },
+ "zh": {
+ "name": "Kichina"
+ },
+ "zh-Hans": {
+ "name": "Kichina (Kilichorahisishwa)"
+ },
+ "zh-Hant": {
+ "name": "Kichina cha Jadi"
+ },
+ "ksh": {
+ "name": "Kicologne"
+ },
+ "da": {
+ "name": "Kidenmaki"
+ },
+ "dsb": {
+ "name": "Kidolnoserbski"
+ },
+ "dua": {
+ "name": "Kiduala"
+ },
+ "he": {
+ "name": "Kiebrania"
+ },
+ "ebu": {
+ "name": "Kiembu"
+ },
+ "eo": {
+ "name": "Kiesperanto"
+ },
+ "et": {
+ "name": "Kiestonia"
+ },
+ "ee": {
+ "name": "Kiewe"
+ },
+ "ewo": {
+ "name": "Kiewondo"
+ },
+ "fr": {
+ "name": "Kifaransa"
+ },
+ "fr-CA": {
+ "name": "Kifaransa (Canada)"
+ },
+ "fr-CH": {
+ "name": "Kifaransa (Uswisi)"
+ },
+ "fo": {
+ "name": "Kifaroe"
+ },
+ "fil": {
+ "name": "Kifilipino"
+ },
+ "fi": {
+ "name": "Kifini"
+ },
+ "nl-BE": {
+ "name": "Kiflemi"
+ },
+ "fy": {
+ "name": "Kifrisia cha Magharibi"
+ },
+ "fur": {
+ "name": "Kifriulian"
+ },
+ "ff": {
+ "name": "Kifula"
+ },
+ "gd": {
+ "name": "Kigaeli cha Uskoti"
+ },
+ "gl": {
+ "name": "Kigalisi"
+ },
+ "lg": {
+ "name": "Kiganda"
+ },
+ "el": {
+ "name": "Kigiriki"
+ },
+ "gu": {
+ "name": "Kigujarati"
+ },
+ "hu": {
+ "name": "Kihangari"
+ },
+ "ha": {
+ "name": "Kihausa"
+ },
+ "haw": {
+ "name": "Kihawai"
+ },
+ "hi": {
+ "name": "Kihindi"
+ },
+ "es": {
+ "name": "Kihispania"
+ },
+ "es-MX": {
+ "name": "Kihispania (Mexico)"
+ },
+ "nl": {
+ "name": "Kiholanzi"
+ },
+ "ig": {
+ "name": "Kiigbo"
+ },
+ "id": {
+ "name": "Kiindonesia"
+ },
+ "en": {
+ "name": "Kiingereza"
+ },
+ "en-AU": {
+ "name": "Kiingereza (Australia)"
+ },
+ "en-CA": {
+ "name": "Kiingereza (Kanada)"
+ },
+ "en-GB": {
+ "name": "Kiingereza (Uingereza)"
+ },
+ "it": {
+ "name": "Kiitaliano"
+ },
+ "luo": {
+ "name": "Kijaluo"
+ },
+ "ja": {
+ "name": "Kijapani"
+ },
+ "de": {
+ "name": "Kijerumani"
+ },
+ "de-AT": {
+ "name": "Kijerumani (Austria)"
+ },
+ "de-CH": {
+ "name": "Kijerumani (Uswisi)"
+ },
+ "gsw": {
+ "name": "Kijerumani cha Uswisi"
+ },
+ "ka": {
+ "name": "Kijojia"
+ },
+ "dyo": {
+ "name": "Kijola-Fonyi"
+ },
+ "kea": {
+ "name": "Kikabuverdianu"
+ },
+ "kab": {
+ "name": "Kikabylia"
+ },
+ "kl": {
+ "name": "Kikalaallisut"
+ },
+ "kln": {
+ "name": "Kikalenjin"
+ },
+ "kam": {
+ "name": "Kikamba"
+ },
+ "km": {
+ "name": "Kikambodia"
+ },
+ "kn": {
+ "name": "Kikannada"
+ },
+ "yue": {
+ "name": "Kikantoni"
+ },
+ "ks": {
+ "name": "Kikashmiri"
+ },
+ "ca": {
+ "name": "Kikatalani"
+ },
+ "kk": {
+ "name": "Kikazakh"
+ },
+ "ki": {
+ "name": "Kikikuyu"
+ },
+ "guz": {
+ "name": "Kikisii"
+ },
+ "kok": {
+ "name": "Kikonkani"
+ },
+ "ko": {
+ "name": "Kikorea"
+ },
+ "kw": {
+ "name": "Kikorni"
+ },
+ "hr": {
+ "name": "Kikroeshia"
+ },
+ "ckb": {
+ "name": "Kikurdi cha Sorani"
+ },
+ "nmg": {
+ "name": "Kikwasio"
+ },
+ "ky": {
+ "name": "Kikyrgyz"
+ },
+ "lkt": {
+ "name": "Kilakota"
+ },
+ "lo": {
+ "name": "Kilaosi"
+ },
+ "lb": {
+ "name": "Kilasembagi"
+ },
+ "lv": {
+ "name": "Kilatvia"
+ },
+ "ln": {
+ "name": "Kilingala"
+ },
+ "lt": {
+ "name": "Kilithuania"
+ },
+ "lu": {
+ "name": "Kiluba-Katanga"
+ },
+ "luy": {
+ "name": "Kiluhya"
+ },
+ "lrc": {
+ "name": "Kiluri cha Kaskazini"
+ },
+ "mas": {
+ "name": "Kimaasai"
+ },
+ "mk": {
+ "name": "Kimacedonia"
+ },
+ "jmc": {
+ "name": "Kimachame"
+ },
+ "mgh": {
+ "name": "Kimakhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Kimakonde"
+ },
+ "mg": {
+ "name": "Kimalagasi"
+ },
+ "ml": {
+ "name": "Kimalayalam"
+ },
+ "ms": {
+ "name": "Kimalei"
+ },
+ "mt": {
+ "name": "Kimalta"
+ },
+ "gv": {
+ "name": "Kimanx"
+ },
+ "mr": {
+ "name": "Kimarathi"
+ },
+ "mzn": {
+ "name": "Kimazanderani"
+ },
+ "mer": {
+ "name": "Kimeru"
+ },
+ "mgo": {
+ "name": "Kimeta"
+ },
+ "mn": {
+ "name": "Kimongolia"
+ },
+ "mfe": {
+ "name": "Kimoriseni"
+ },
+ "mua": {
+ "name": "Kimundang"
+ },
+ "naq": {
+ "name": "Kinama"
+ },
+ "nd": {
+ "name": "Kindebele cha Kaskazini"
+ },
+ "ne": {
+ "name": "Kinepali"
+ },
+ "jgo": {
+ "name": "Kingomba"
+ },
+ "sw-CD": {
+ "name": "Kingwana"
+ },
+ "nb": {
+ "name": "Kinorwe cha Bokmål"
+ },
+ "nn": {
+ "name": "Kinorwe cha Nynorsk"
+ },
+ "nus": {
+ "name": "Kinuer"
+ },
+ "nyn": {
+ "name": "Kinyankole"
+ },
+ "rw": {
+ "name": "Kinyarwanda"
+ },
+ "or": {
+ "name": "Kioriya"
+ },
+ "om": {
+ "name": "Kioromo"
+ },
+ "os": {
+ "name": "Kiosetia"
+ },
+ "ps": {
+ "name": "Kipashto"
+ },
+ "pl": {
+ "name": "Kipolandi"
+ },
+ "prg": {
+ "name": "Kiprussia"
+ },
+ "pa": {
+ "name": "Kipunjabi"
+ },
+ "qu": {
+ "name": "Kiquechua"
+ },
+ "lag": {
+ "name": "Kirangi"
+ },
+ "pt": {
+ "name": "Kireno"
+ },
+ "pt-PT": {
+ "name": "Kireno (Ureno)"
+ },
+ "ro": {
+ "name": "Kiromania"
+ },
+ "ro-MD": {
+ "name": "Kiromania (Moldova)"
+ },
+ "rm": {
+ "name": "Kiromanshi"
+ },
+ "rof": {
+ "name": "Kirombo"
+ },
+ "rn": {
+ "name": "Kirundi"
+ },
+ "ru": {
+ "name": "Kirusi"
+ },
+ "rwk": {
+ "name": "Kirwa"
+ },
+ "sah": {
+ "name": "Kisakha"
+ },
+ "nds": {
+ "name": "Kisaksoni"
+ },
+ "nds-NL": {
+ "name": "Kisaksoni (Uholanzi)"
+ },
+ "ksb": {
+ "name": "Kisambaa"
+ },
+ "saq": {
+ "name": "Kisamburu"
+ },
+ "smn": {
+ "name": "Kisami cha Inari"
+ },
+ "se": {
+ "name": "Kisami cha Kaskazini"
+ },
+ "sg": {
+ "name": "Kisango"
+ },
+ "sbp": {
+ "name": "Kisangu"
+ },
+ "seh": {
+ "name": "Kisena"
+ },
+ "sr": {
+ "name": "Kiserbia"
+ },
+ "sn": {
+ "name": "Kishona"
+ },
+ "si": {
+ "name": "Kisinhala"
+ },
+ "sk": {
+ "name": "Kislovakia"
+ },
+ "cu": {
+ "name": "Kislovakia cha Church"
+ },
+ "sl": {
+ "name": "Kislovenia"
+ },
+ "hsb": {
+ "name": "Kisobia cha Ukanda wa Juu"
+ },
+ "xog": {
+ "name": "Kisoga"
+ },
+ "so": {
+ "name": "Kisomali"
+ },
+ "sw": {
+ "name": "Kiswahili"
+ },
+ "sv": {
+ "name": "Kiswidi"
+ },
+ "shi": {
+ "name": "Kitachelhit"
+ },
+ "th": {
+ "name": "Kitailandi"
+ },
+ "dav": {
+ "name": "Kitaita"
+ },
+ "ta": {
+ "name": "Kitamil"
+ },
+ "twq": {
+ "name": "Kitasawaq"
+ },
+ "te": {
+ "name": "Kitelugu"
+ },
+ "teo": {
+ "name": "Kiteso"
+ },
+ "bo": {
+ "name": "Kitibeti"
+ },
+ "ti": {
+ "name": "Kitigrinya"
+ },
+ "to": {
+ "name": "Kitonga"
+ },
+ "tr": {
+ "name": "Kituruki"
+ },
+ "tk": {
+ "name": "Kiturukimeni"
+ },
+ "uk": {
+ "name": "Kiukraine"
+ },
+ "ur": {
+ "name": "Kiurdu"
+ },
+ "ug": {
+ "name": "Kiuyghur"
+ },
+ "uz": {
+ "name": "Kiuzbeki"
+ },
+ "vai": {
+ "name": "Kivai"
+ },
+ "vi": {
+ "name": "Kivietinamu"
+ },
+ "vo": {
+ "name": "Kivolapük"
+ },
+ "vun": {
+ "name": "Kivunjo"
+ },
+ "cy": {
+ "name": "Kiwelisi"
+ },
+ "yav": {
+ "name": "Kiyangben"
+ },
+ "yi": {
+ "name": "Kiyiddi"
+ },
+ "yo": {
+ "name": "Kiyoruba"
+ },
+ "dje": {
+ "name": "Kizarma"
+ },
+ "dz": {
+ "name": "Kizongkha"
+ },
+ "zu": {
+ "name": "Kizulu"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "kkj": {
+ "name": "Lugha ya Kako"
+ },
+ "nnh": {
+ "name": "Lugha ya Ngiemboon"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "zgh": {
+ "name": "Tamaziti Sanifu ya Kimoroko"
+ },
+ "wae": {
+ "name": "Walser"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/ta.json b/vendor/commerceguys/intl/resources/language/ta.json
new file mode 100644
index 000000000..7c2245adb
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/ta.json
@@ -0,0 +1,635 @@
+{
+ "ak": {
+ "name": "அகான்"
+ },
+ "agq": {
+ "name": "அகெம்"
+ },
+ "asa": {
+ "name": "அசு"
+ },
+ "hsb": {
+ "name": "அப்பர் சோர்பியான்"
+ },
+ "am": {
+ "name": "அம்ஹாரிக்"
+ },
+ "ar": {
+ "name": "அரபிக்"
+ },
+ "sq": {
+ "name": "அல்பேனியன்"
+ },
+ "ast": {
+ "name": "அஸ்துரியன்"
+ },
+ "as": {
+ "name": "அஸ்ஸாமீஸ்"
+ },
+ "az": {
+ "name": "அஸர்பைஜானி"
+ },
+ "af": {
+ "name": "ஆஃப்ரிகான்ஸ்"
+ },
+ "en": {
+ "name": "ஆங்கிலம்"
+ },
+ "hy": {
+ "name": "ஆர்மேனியன்"
+ },
+ "de-AT": {
+ "name": "ஆஸ்திரிய ஜெர்மன்"
+ },
+ "en-AU": {
+ "name": "ஆஸ்திரேலிய ஆங்கிலம்"
+ },
+ "ig": {
+ "name": "இக்போ"
+ },
+ "it": {
+ "name": "இத்தாலியன்"
+ },
+ "hi": {
+ "name": "இந்தி"
+ },
+ "id": {
+ "name": "இந்தோனேஷியன்"
+ },
+ "smn": {
+ "name": "இனாரி சமி"
+ },
+ "ee": {
+ "name": "ஈவ்"
+ },
+ "uk": {
+ "name": "உக்ரைனியன்"
+ },
+ "ug": {
+ "name": "உய்குர்"
+ },
+ "ur": {
+ "name": "உருது"
+ },
+ "uz": {
+ "name": "உஸ்பெக்"
+ },
+ "ebu": {
+ "name": "எம்பு"
+ },
+ "ewo": {
+ "name": "எவோன்டோ"
+ },
+ "zh-Hans": {
+ "name": "எளிதாக்கப்பட்ட சீனம்"
+ },
+ "et": {
+ "name": "எஸ்டோனியன்"
+ },
+ "eo": {
+ "name": "எஸ்பரேன்டோ"
+ },
+ "ga": {
+ "name": "ஐரிஷ்"
+ },
+ "pt-PT": {
+ "name": "ஐரோப்பிய போர்ச்சுகீஸ்"
+ },
+ "is": {
+ "name": "ஐஸ்லேண்டிக்"
+ },
+ "os": {
+ "name": "ஒசெட்டிக்"
+ },
+ "or": {
+ "name": "ஒடியா"
+ },
+ "om": {
+ "name": "ஒரோமோ"
+ },
+ "vo": {
+ "name": "ஒலாபூக்"
+ },
+ "fur": {
+ "name": "ஃப்ரியூலியன்"
+ },
+ "nl-BE": {
+ "name": "ஃப்லெமிஷ்"
+ },
+ "fo": {
+ "name": "ஃபரோயிஸ்"
+ },
+ "fil": {
+ "name": "ஃபிலிபினோ"
+ },
+ "fi": {
+ "name": "ஃபின்னிஷ்"
+ },
+ "ff": {
+ "name": "ஃபுலா"
+ },
+ "nmg": {
+ "name": "க்வாசியோ"
+ },
+ "qu": {
+ "name": "க்வெச்சுவா"
+ },
+ "kkj": {
+ "name": "ககோ"
+ },
+ "kk": {
+ "name": "கசாக்"
+ },
+ "kab": {
+ "name": "கபாய்ல்"
+ },
+ "kea": {
+ "name": "கபுவெர்தியானு"
+ },
+ "kam": {
+ "name": "கம்பா"
+ },
+ "kl": {
+ "name": "கலாலிசூட்"
+ },
+ "kln": {
+ "name": "கலின்ஜின்"
+ },
+ "kn": {
+ "name": "கன்னடம்"
+ },
+ "en-CA": {
+ "name": "கனடிய ஆங்கிலம்"
+ },
+ "fr-CA": {
+ "name": "கனடிய பிரெஞ்சு"
+ },
+ "sw-CD": {
+ "name": "காங்கோ ஸ்வாஹிலி"
+ },
+ "yue": {
+ "name": "காண்டோனீஸ்"
+ },
+ "kw": {
+ "name": "கார்னிஷ்"
+ },
+ "gl": {
+ "name": "காலிஸியன்"
+ },
+ "lg": {
+ "name": "கான்டா"
+ },
+ "ks": {
+ "name": "காஷ்மிரி"
+ },
+ "ki": {
+ "name": "கிகுயூ"
+ },
+ "ky": {
+ "name": "கிர்கிஸ்"
+ },
+ "el": {
+ "name": "கிரேக்கம்"
+ },
+ "rw": {
+ "name": "கின்யாருவான்டா"
+ },
+ "hr": {
+ "name": "குரோஷியன்"
+ },
+ "gu": {
+ "name": "குஜராத்தி"
+ },
+ "guz": {
+ "name": "குஸி"
+ },
+ "km": {
+ "name": "கெமெர்"
+ },
+ "ca": {
+ "name": "கேட்டலான்"
+ },
+ "kok": {
+ "name": "கொங்கணி"
+ },
+ "khq": {
+ "name": "கொய்ரா சீனீ"
+ },
+ "ses": {
+ "name": "கொய்ராபோரோ சென்னி"
+ },
+ "ko": {
+ "name": "கொரியன்"
+ },
+ "ksh": {
+ "name": "கொலோக்னியன்"
+ },
+ "sah": {
+ "name": "சகா"
+ },
+ "sbp": {
+ "name": "சங்கு"
+ },
+ "saq": {
+ "name": "சம்புரு"
+ },
+ "cu": {
+ "name": "சர்ச் ஸ்லாவிக்"
+ },
+ "sg": {
+ "name": "சாங்கோ"
+ },
+ "cgg": {
+ "name": "சிகா"
+ },
+ "si": {
+ "name": "சிங்களம்"
+ },
+ "ii": {
+ "name": "சிசுவான் ஈ"
+ },
+ "zh": {
+ "name": "சீனம்"
+ },
+ "cs": {
+ "name": "செக்"
+ },
+ "ce": {
+ "name": "செச்சென்"
+ },
+ "sr": {
+ "name": "செர்பியன்"
+ },
+ "chr": {
+ "name": "செரோகீ"
+ },
+ "seh": {
+ "name": "செனா"
+ },
+ "xog": {
+ "name": "சோகா"
+ },
+ "so": {
+ "name": "சோமாலி"
+ },
+ "nl": {
+ "name": "டச்சு"
+ },
+ "twq": {
+ "name": "டசவாக்"
+ },
+ "ti": {
+ "name": "டிக்ரின்யா"
+ },
+ "dua": {
+ "name": "டுவாலா"
+ },
+ "teo": {
+ "name": "டெசோ"
+ },
+ "da": {
+ "name": "டேனிஷ்"
+ },
+ "dav": {
+ "name": "டைடா"
+ },
+ "to": {
+ "name": "டோங்கான்"
+ },
+ "shi": {
+ "name": "தசேஹித்"
+ },
+ "ta": {
+ "name": "தமிழ்"
+ },
+ "th": {
+ "name": "தாய்"
+ },
+ "bo": {
+ "name": "திபெத்தியன்"
+ },
+ "tr": {
+ "name": "துருக்கிஷ்"
+ },
+ "tk": {
+ "name": "துருக்மென்"
+ },
+ "te": {
+ "name": "தெலுங்கு"
+ },
+ "jgo": {
+ "name": "நகொம்பா"
+ },
+ "naq": {
+ "name": "நாமா"
+ },
+ "nn": {
+ "name": "நார்வேஜியன் நியூநார்ஸ்க்"
+ },
+ "nb": {
+ "name": "நார்வேஜியன் பொக்மால்"
+ },
+ "nyn": {
+ "name": "நியான்கோலே"
+ },
+ "nus": {
+ "name": "நியூர்"
+ },
+ "nnh": {
+ "name": "நெகெய்ம்பூன்"
+ },
+ "ne": {
+ "name": "நேபாளி"
+ },
+ "pa": {
+ "name": "பஞ்சாபி"
+ },
+ "bm": {
+ "name": "பம்பாரா"
+ },
+ "my": {
+ "name": "பர்மீஸ்"
+ },
+ "bg": {
+ "name": "பல்கேரியன்"
+ },
+ "ps": {
+ "name": "பஷ்தோ"
+ },
+ "ksf": {
+ "name": "பாஃபியா"
+ },
+ "zh-Hant": {
+ "name": "பாரம்பரிய சீனம்"
+ },
+ "eu": {
+ "name": "பாஸ்க்"
+ },
+ "bas": {
+ "name": "பாஸா"
+ },
+ "prg": {
+ "name": "பிரஷ்யன்"
+ },
+ "en-GB": {
+ "name": "பிரிட்டிஷ் ஆங்கிலம்"
+ },
+ "fr": {
+ "name": "பிரெஞ்சு"
+ },
+ "br": {
+ "name": "பிரெட்டன்"
+ },
+ "dz": {
+ "name": "பூடானி"
+ },
+ "bem": {
+ "name": "பெம்பா"
+ },
+ "fa": {
+ "name": "பெர்ஷியன்"
+ },
+ "be": {
+ "name": "பெலாருஷியன்"
+ },
+ "bez": {
+ "name": "பெனா"
+ },
+ "brx": {
+ "name": "போடோ"
+ },
+ "pt": {
+ "name": "போர்ச்சுக்கீஸ்"
+ },
+ "pl": {
+ "name": "போலிஷ்"
+ },
+ "bs": {
+ "name": "போஸ்னியன்"
+ },
+ "mgh": {
+ "name": "மகுவா-மீட்டோ"
+ },
+ "kde": {
+ "name": "மகொண்டே"
+ },
+ "mn": {
+ "name": "மங்கோலியன்"
+ },
+ "mzn": {
+ "name": "மசந்தேரனி"
+ },
+ "tzm": {
+ "name": "மத்திய அட்லஸ் டமசைட்"
+ },
+ "ckb": {
+ "name": "மத்திய குர்திஷ்"
+ },
+ "mr": {
+ "name": "மராத்தி"
+ },
+ "mg": {
+ "name": "மலகாஸி"
+ },
+ "ms": {
+ "name": "மலாய்"
+ },
+ "ml": {
+ "name": "மலையாளம்"
+ },
+ "mas": {
+ "name": "மாசாய்"
+ },
+ "jmc": {
+ "name": "மாசெம்"
+ },
+ "mt": {
+ "name": "மால்டிஸ்"
+ },
+ "mk": {
+ "name": "மாஸிடோனியன்"
+ },
+ "mua": {
+ "name": "முன்டாங்"
+ },
+ "es-MX": {
+ "name": "மெக்ஸிகன் ஸ்பானிஷ்"
+ },
+ "mer": {
+ "name": "மெரு"
+ },
+ "gv": {
+ "name": "மேங்க்ஸ்"
+ },
+ "mgo": {
+ "name": "மேடா"
+ },
+ "fy": {
+ "name": "மேற்கு ஃப்ரிஷியன்"
+ },
+ "mfe": {
+ "name": "மொரிசியன்"
+ },
+ "ro-MD": {
+ "name": "மோல்டாவியன்"
+ },
+ "yav": {
+ "name": "யாங்பென்"
+ },
+ "yi": {
+ "name": "யெட்டிஷ்"
+ },
+ "yo": {
+ "name": "யோருபா"
+ },
+ "ru": {
+ "name": "ரஷியன்"
+ },
+ "rn": {
+ "name": "ருண்டி"
+ },
+ "rwk": {
+ "name": "ருவா"
+ },
+ "rof": {
+ "name": "ரோம்போ"
+ },
+ "rm": {
+ "name": "ரோமான்ஷ்"
+ },
+ "ro": {
+ "name": "ரோமேனியன்"
+ },
+ "lb": {
+ "name": "லக்ஸம்போர்கிஷ்"
+ },
+ "lkt": {
+ "name": "லகோடா"
+ },
+ "lag": {
+ "name": "லங்கி"
+ },
+ "lv": {
+ "name": "லாட்வியன்"
+ },
+ "lo": {
+ "name": "லாவோ"
+ },
+ "ln": {
+ "name": "லிங்காலா"
+ },
+ "lt": {
+ "name": "லிதுவேனியன்"
+ },
+ "lu": {
+ "name": "லுபா-கடாங்கா"
+ },
+ "luy": {
+ "name": "லுயியா"
+ },
+ "luo": {
+ "name": "லுயோ"
+ },
+ "nds-NL": {
+ "name": "லோ சாக்ஸன்"
+ },
+ "nds": {
+ "name": "லோ ஜெர்மன்"
+ },
+ "dsb": {
+ "name": "லோயர் சோர்பியன்"
+ },
+ "bn": {
+ "name": "வங்காளம்"
+ },
+ "se": {
+ "name": "வடக்கு சமி"
+ },
+ "nd": {
+ "name": "வடக்கு தெபெலே"
+ },
+ "lrc": {
+ "name": "வடக்கு லுரி"
+ },
+ "wae": {
+ "name": "வால்சேர்"
+ },
+ "vi": {
+ "name": "வியட்நாமீஸ்"
+ },
+ "vun": {
+ "name": "வுன்ஜோ"
+ },
+ "cy": {
+ "name": "வேல்ஷ்"
+ },
+ "vai": {
+ "name": "வை"
+ },
+ "ja": {
+ "name": "ஜப்பானியம்"
+ },
+ "ka": {
+ "name": "ஜார்ஜியன்"
+ },
+ "zu": {
+ "name": "ஜுலு"
+ },
+ "de": {
+ "name": "ஜெர்மன்"
+ },
+ "dyo": {
+ "name": "ஜோலா-ஃபோன்யி"
+ },
+ "ksb": {
+ "name": "ஷம்பாலா"
+ },
+ "sn": {
+ "name": "ஷோனா"
+ },
+ "gd": {
+ "name": "ஸ்காட்ஸ் கேலிக்"
+ },
+ "zgh": {
+ "name": "ஸ்டாண்டர்ட் மொராக்கன் தமாசைட்"
+ },
+ "es": {
+ "name": "ஸ்பானிஷ்"
+ },
+ "sk": {
+ "name": "ஸ்லோவாக்"
+ },
+ "sl": {
+ "name": "ஸ்லோவேனியன்"
+ },
+ "sw": {
+ "name": "ஸ்வாஹிலி"
+ },
+ "fr-CH": {
+ "name": "ஸ்விஸ் பிரஞ்சு"
+ },
+ "gsw": {
+ "name": "ஸ்விஸ் ஜெர்மன்"
+ },
+ "de-CH": {
+ "name": "ஸ்விஸ் ஹை ஜெர்மன்"
+ },
+ "sv": {
+ "name": "ஸ்வீடிஷ்"
+ },
+ "dje": {
+ "name": "ஸார்மா"
+ },
+ "hu": {
+ "name": "ஹங்கேரியன்"
+ },
+ "haw": {
+ "name": "ஹவாயியன்"
+ },
+ "he": {
+ "name": "ஹீப்ரூ"
+ },
+ "ha": {
+ "name": "ஹௌஸா"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/te.json b/vendor/commerceguys/intl/resources/language/te.json
new file mode 100644
index 000000000..5f8101298
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/te.json
@@ -0,0 +1,635 @@
+{
+ "ak": {
+ "name": "అకాన్"
+ },
+ "agq": {
+ "name": "అగేమ్"
+ },
+ "az": {
+ "name": "అజర్బైజాని"
+ },
+ "hsb": {
+ "name": "అప్పర్ సోర్బియన్"
+ },
+ "am": {
+ "name": "అమ్హారిక్"
+ },
+ "ar": {
+ "name": "అరబిక్"
+ },
+ "sq": {
+ "name": "అల్బేనియన్"
+ },
+ "asa": {
+ "name": "అసు"
+ },
+ "ast": {
+ "name": "అస్టురియాన్"
+ },
+ "as": {
+ "name": "అస్సామీస్"
+ },
+ "en": {
+ "name": "ఆంగ్లం"
+ },
+ "af": {
+ "name": "ఆఫ్రికాన్స్"
+ },
+ "hy": {
+ "name": "ఆర్మేనియన్"
+ },
+ "en-AU": {
+ "name": "ఆస్ట్రేలియన్ ఇంగ్లీష్"
+ },
+ "de-AT": {
+ "name": "ఆస్ట్రేలియన్ జర్మన్"
+ },
+ "id": {
+ "name": "ఇండోనేషియన్"
+ },
+ "ebu": {
+ "name": "ఇంబు"
+ },
+ "ig": {
+ "name": "ఇగ్బో"
+ },
+ "it": {
+ "name": "ఇటాలియన్"
+ },
+ "yi": {
+ "name": "ఇడ్డిష్"
+ },
+ "smn": {
+ "name": "ఇనారి సామి"
+ },
+ "ee": {
+ "name": "ఈవీ"
+ },
+ "et": {
+ "name": "ఈస్టోనియన్"
+ },
+ "uk": {
+ "name": "ఉక్రేనియన్"
+ },
+ "uz": {
+ "name": "ఉజ్బెక్"
+ },
+ "nd": {
+ "name": "ఉత్తర దెబెలె"
+ },
+ "lrc": {
+ "name": "ఉత్తర లూరీ"
+ },
+ "se": {
+ "name": "ఉత్తర సామి"
+ },
+ "ug": {
+ "name": "ఉయ్‌ఘర్"
+ },
+ "ur": {
+ "name": "ఉర్దూ"
+ },
+ "ewo": {
+ "name": "ఎవోండొ"
+ },
+ "eo": {
+ "name": "ఎస్పెరాంటో"
+ },
+ "ga": {
+ "name": "ఐరిష్"
+ },
+ "is": {
+ "name": "ఐస్లాండిక్"
+ },
+ "or": {
+ "name": "ఒడియా"
+ },
+ "om": {
+ "name": "ఒరోమో"
+ },
+ "os": {
+ "name": "ఒసేటిక్"
+ },
+ "kam": {
+ "name": "కంబా"
+ },
+ "kk": {
+ "name": "కజఖ్"
+ },
+ "kn": {
+ "name": "కన్నడ"
+ },
+ "kl": {
+ "name": "కలాల్లిసూట్"
+ },
+ "kln": {
+ "name": "కలెంజిన్"
+ },
+ "sw-CD": {
+ "name": "కాంగో స్వాహిలి"
+ },
+ "yue": {
+ "name": "కాంటనీస్"
+ },
+ "kkj": {
+ "name": "కాకో"
+ },
+ "kab": {
+ "name": "కాబిల్"
+ },
+ "kea": {
+ "name": "కాబువేర్దియను"
+ },
+ "ks": {
+ "name": "కాశ్మీరి"
+ },
+ "ki": {
+ "name": "కికుయు"
+ },
+ "rw": {
+ "name": "కిన్యర్వాండా"
+ },
+ "ky": {
+ "name": "కిర్గిజ్"
+ },
+ "ca": {
+ "name": "కెటలాన్"
+ },
+ "en-CA": {
+ "name": "కెనడియన్ ఇంగ్లీష్"
+ },
+ "fr-CA": {
+ "name": "కెనడియెన్ ఫ్రెంచ్"
+ },
+ "qu": {
+ "name": "కెషుయా"
+ },
+ "kok": {
+ "name": "కొంకణి"
+ },
+ "khq": {
+ "name": "కొయరా చీన్నీ"
+ },
+ "ko": {
+ "name": "కొరియన్"
+ },
+ "ksh": {
+ "name": "కొలొజీయన్"
+ },
+ "ses": {
+ "name": "కోయోరాబోరో సెన్నీ"
+ },
+ "kw": {
+ "name": "కోర్నిష్"
+ },
+ "hr": {
+ "name": "క్రోయేషియన్"
+ },
+ "nmg": {
+ "name": "క్వాసియె"
+ },
+ "km": {
+ "name": "ఖ్మేర్"
+ },
+ "lg": {
+ "name": "గాండా"
+ },
+ "gl": {
+ "name": "గాలిషియన్"
+ },
+ "nnh": {
+ "name": "గింబోన్"
+ },
+ "gu": {
+ "name": "గుజరాతి"
+ },
+ "guz": {
+ "name": "గుస్సీ"
+ },
+ "jgo": {
+ "name": "గోంబా"
+ },
+ "el": {
+ "name": "గ్రీక్"
+ },
+ "cu": {
+ "name": "చర్చ స్లావిక్"
+ },
+ "cs": {
+ "name": "చెక్"
+ },
+ "ce": {
+ "name": "చెచెన్"
+ },
+ "chr": {
+ "name": "చెరోకీ"
+ },
+ "zh": {
+ "name": "చైనీస్"
+ },
+ "cgg": {
+ "name": "ఛిగా"
+ },
+ "ja": {
+ "name": "జపనీస్"
+ },
+ "de": {
+ "name": "జర్మన్"
+ },
+ "ka": {
+ "name": "జార్జియన్"
+ },
+ "dje": {
+ "name": "జార్మా"
+ },
+ "zu": {
+ "name": "జూలూ"
+ },
+ "dz": {
+ "name": "జోంఖా"
+ },
+ "dyo": {
+ "name": "జోలా-ఫోనయి"
+ },
+ "tr": {
+ "name": "టర్కిష్"
+ },
+ "twq": {
+ "name": "టసావాఖ్"
+ },
+ "to": {
+ "name": "టాంగాన్"
+ },
+ "shi": {
+ "name": "టాచెల్‌హిట్"
+ },
+ "bo": {
+ "name": "టిబెటన్"
+ },
+ "teo": {
+ "name": "టెసో"
+ },
+ "dav": {
+ "name": "టైటా"
+ },
+ "nl": {
+ "name": "డచ్"
+ },
+ "da": {
+ "name": "డానిష్"
+ },
+ "ta": {
+ "name": "తమిళము"
+ },
+ "ti": {
+ "name": "తిగ్రిన్యా"
+ },
+ "tk": {
+ "name": "తుర్కమెన్"
+ },
+ "te": {
+ "name": "తెలుగు"
+ },
+ "th": {
+ "name": "థాయ్"
+ },
+ "dua": {
+ "name": "దుఆలా"
+ },
+ "naq": {
+ "name": "నమ"
+ },
+ "nb": {
+ "name": "నార్వేజియన్ బొక్మాల్"
+ },
+ "nn": {
+ "name": "నార్వేజియాన్ న్యోర్స్క్"
+ },
+ "ne": {
+ "name": "నేపాలి"
+ },
+ "nyn": {
+ "name": "న్యాన్కోలె"
+ },
+ "nus": {
+ "name": "న్యుర్"
+ },
+ "pa": {
+ "name": "పంజాబీ"
+ },
+ "fa": {
+ "name": "పర్షియన్"
+ },
+ "fy": {
+ "name": "పశ్చిమ ఫ్రిసియన్"
+ },
+ "ps": {
+ "name": "పాష్టో"
+ },
+ "pt": {
+ "name": "పోర్చుగీస్"
+ },
+ "pl": {
+ "name": "పోలిష్"
+ },
+ "prg": {
+ "name": "ప్రష్యన్"
+ },
+ "zgh": {
+ "name": "ప్రామాణిక మొరొకన్ తమజియట్"
+ },
+ "fo": {
+ "name": "ఫారోయీజ్"
+ },
+ "fi": {
+ "name": "ఫిన్నిష్"
+ },
+ "fil": {
+ "name": "ఫిలిపినో"
+ },
+ "ff": {
+ "name": "ఫ్యుల"
+ },
+ "fur": {
+ "name": "ఫ్రియులియన్"
+ },
+ "fr": {
+ "name": "ఫ్రెంచ్"
+ },
+ "nl-BE": {
+ "name": "ఫ్లెమిష్"
+ },
+ "bm": {
+ "name": "బంబారా"
+ },
+ "my": {
+ "name": "బర్మీస్"
+ },
+ "bg": {
+ "name": "బల్గేరియన్"
+ },
+ "bas": {
+ "name": "బసా"
+ },
+ "bn": {
+ "name": "బాంగ్లా"
+ },
+ "ksf": {
+ "name": "బాఫియ"
+ },
+ "eu": {
+ "name": "బాస్క్యూ"
+ },
+ "bez": {
+ "name": "బీనా"
+ },
+ "bem": {
+ "name": "బెంబా"
+ },
+ "be": {
+ "name": "బెలరుషియన్"
+ },
+ "brx": {
+ "name": "బోడో"
+ },
+ "bs": {
+ "name": "బోస్నియన్"
+ },
+ "en-GB": {
+ "name": "బ్రిటిష్ ఇంగ్లీష్"
+ },
+ "br": {
+ "name": "బ్రెటన్"
+ },
+ "gv": {
+ "name": "మంకస్"
+ },
+ "mn": {
+ "name": "మంగోలియన్"
+ },
+ "kde": {
+ "name": "మకొండే"
+ },
+ "jmc": {
+ "name": "మకొమ్"
+ },
+ "mgh": {
+ "name": "మక్వా-మిట్టో"
+ },
+ "mr": {
+ "name": "మరాఠీ"
+ },
+ "ml": {
+ "name": "మలయాళం"
+ },
+ "ms": {
+ "name": "మలేయ్"
+ },
+ "mk": {
+ "name": "మసడోనియన్"
+ },
+ "mg": {
+ "name": "మాలాగసి"
+ },
+ "mt": {
+ "name": "మాల్టీస్"
+ },
+ "mzn": {
+ "name": "మాసన్‌దెరాని"
+ },
+ "mas": {
+ "name": "మాసాయి"
+ },
+ "mua": {
+ "name": "ముదాంగ్"
+ },
+ "es-MX": {
+ "name": "మెక్సికన్ స్పానిష్"
+ },
+ "mgo": {
+ "name": "మెటా"
+ },
+ "mer": {
+ "name": "మెరు"
+ },
+ "mfe": {
+ "name": "మొరిస్యేన్"
+ },
+ "ro-MD": {
+ "name": "మొల్డావియన్"
+ },
+ "yav": {
+ "name": "యాంగ్‌బెన్"
+ },
+ "pt-PT": {
+ "name": "యూరోపియన్ పోర్చుగీస్"
+ },
+ "yo": {
+ "name": "యోరుబా"
+ },
+ "rn": {
+ "name": "రండి"
+ },
+ "ru": {
+ "name": "రష్యన్"
+ },
+ "rof": {
+ "name": "రోంబో"
+ },
+ "rm": {
+ "name": "రోమన్ష్"
+ },
+ "ro": {
+ "name": "రోమానియన్"
+ },
+ "rwk": {
+ "name": "ర్వా"
+ },
+ "lkt": {
+ "name": "లకొటా"
+ },
+ "lag": {
+ "name": "లాంగీ"
+ },
+ "lv": {
+ "name": "లాట్వియన్"
+ },
+ "lo": {
+ "name": "లావో"
+ },
+ "ln": {
+ "name": "లింగాల"
+ },
+ "lt": {
+ "name": "లిథుయేనియన్"
+ },
+ "lb": {
+ "name": "లుక్సంబర్గిష్"
+ },
+ "luy": {
+ "name": "లుయియ"
+ },
+ "luo": {
+ "name": "లువో"
+ },
+ "lu": {
+ "name": "లూబ-కటాంగ"
+ },
+ "nds": {
+ "name": "లో జర్మన్"
+ },
+ "nds-NL": {
+ "name": "లో సాక్సన్"
+ },
+ "dsb": {
+ "name": "లోవర్ సోర్బియన్"
+ },
+ "vai": {
+ "name": "వాయి"
+ },
+ "wae": {
+ "name": "వాల్సర్"
+ },
+ "vi": {
+ "name": "వియత్నామీస్"
+ },
+ "vun": {
+ "name": "వుంజొ"
+ },
+ "cy": {
+ "name": "వెల్ష్"
+ },
+ "vo": {
+ "name": "వోలాపుక్"
+ },
+ "ksb": {
+ "name": "శంబాలా"
+ },
+ "ii": {
+ "name": "శిషువన్ ఈ"
+ },
+ "sn": {
+ "name": "షోన"
+ },
+ "saq": {
+ "name": "సంబురు"
+ },
+ "sah": {
+ "name": "సఖా"
+ },
+ "zh-Hans": {
+ "name": "సరళీకృత చైనీస్"
+ },
+ "sbp": {
+ "name": "సాంగు"
+ },
+ "sg": {
+ "name": "సాంగో"
+ },
+ "zh-Hant": {
+ "name": "సాంప్రదాయక చైనీస్"
+ },
+ "si": {
+ "name": "సింహళం"
+ },
+ "tzm": {
+ "name": "సెంట్రల్ అట్లాస్ టామాజైట్"
+ },
+ "ckb": {
+ "name": "సెంట్రల్ కుర్దిష్"
+ },
+ "seh": {
+ "name": "సెనా"
+ },
+ "sr": {
+ "name": "సెర్బియన్"
+ },
+ "xog": {
+ "name": "సొగా"
+ },
+ "so": {
+ "name": "సోమాలి"
+ },
+ "gd": {
+ "name": "స్కాటిష్ గేలిక్"
+ },
+ "es": {
+ "name": "స్పానిష్"
+ },
+ "sk": {
+ "name": "స్లోవాక్"
+ },
+ "sl": {
+ "name": "స్లోవేనియాన్"
+ },
+ "sw": {
+ "name": "స్వాహిలి"
+ },
+ "gsw": {
+ "name": "స్విస్ జర్మన్"
+ },
+ "fr-CH": {
+ "name": "స్విస్ ఫ్రెంచ్"
+ },
+ "de-CH": {
+ "name": "స్విస్ హై జర్మన్"
+ },
+ "sv": {
+ "name": "స్వీడిష్"
+ },
+ "hu": {
+ "name": "హంగేరియన్"
+ },
+ "haw": {
+ "name": "హవాయియన్"
+ },
+ "hi": {
+ "name": "హిందీ"
+ },
+ "he": {
+ "name": "హీబ్రూ"
+ },
+ "ha": {
+ "name": "హౌసా"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/teo.json b/vendor/commerceguys/intl/resources/language/teo.json
new file mode 100644
index 000000000..c723a8015
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/teo.json
@@ -0,0 +1,632 @@
+{
+ "af": {
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "sq": {
+ "name": "Albanian"
+ },
+ "hy": {
+ "name": "Armenian"
+ },
+ "as": {
+ "name": "Assamese"
+ },
+ "ast": {
+ "name": "Asturian"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "az": {
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "eu": {
+ "name": "Basque"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "bs": {
+ "name": "Bosnian"
+ },
+ "br": {
+ "name": "Breton"
+ },
+ "yue": {
+ "name": "Cantonese"
+ },
+ "ca": {
+ "name": "Catalan"
+ },
+ "tzm": {
+ "name": "Central Atlas Tamazight"
+ },
+ "ckb": {
+ "name": "Central Kurdish"
+ },
+ "ce": {
+ "name": "Chechen"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "cu": {
+ "name": "Church Slavic"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "kw": {
+ "name": "Cornish"
+ },
+ "hr": {
+ "name": "Croatian"
+ },
+ "da": {
+ "name": "Danish"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "dz": {
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "eo": {
+ "name": "Esperanto"
+ },
+ "et": {
+ "name": "Estonian"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fo": {
+ "name": "Faroese"
+ },
+ "fil": {
+ "name": "Filipino"
+ },
+ "fi": {
+ "name": "Finnish"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "gl": {
+ "name": "Galician"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "ka": {
+ "name": "Georgian"
+ },
+ "gu": {
+ "name": "Gujarati"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "haw": {
+ "name": "Hawaiian"
+ },
+ "he": {
+ "name": "Hebrew"
+ },
+ "is": {
+ "name": "Icelandic"
+ },
+ "smn": {
+ "name": "Inari Sami"
+ },
+ "ga": {
+ "name": "Irish"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabyle"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kl": {
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "kn": {
+ "name": "Kannada"
+ },
+ "ks": {
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "name": "Kazakh"
+ },
+ "fa": {
+ "name": "Kiajemi"
+ },
+ "ak": {
+ "name": "Kiakan"
+ },
+ "am": {
+ "name": "Kiamhari"
+ },
+ "ar": {
+ "name": "Kiarabu"
+ },
+ "bn": {
+ "name": "Kibangla"
+ },
+ "be": {
+ "name": "Kibelarusi"
+ },
+ "bg": {
+ "name": "Kibulgaria"
+ },
+ "my": {
+ "name": "Kiburma"
+ },
+ "cs": {
+ "name": "Kichecki"
+ },
+ "zh": {
+ "name": "Kichina"
+ },
+ "zh-Hans": {
+ "name": "Kichina (Hans)"
+ },
+ "zh-Hant": {
+ "name": "Kichina (Hant)"
+ },
+ "fr": {
+ "name": "Kifaransa"
+ },
+ "fr-CA": {
+ "name": "Kifaransa (Kanada)"
+ },
+ "fr-CH": {
+ "name": "Kifaransa (Uswisi)"
+ },
+ "el": {
+ "name": "Kigiriki"
+ },
+ "ha": {
+ "name": "Kihausa"
+ },
+ "hi": {
+ "name": "Kihindi"
+ },
+ "es": {
+ "name": "Kihispania"
+ },
+ "es-MX": {
+ "name": "Kihispania (Meksiko)"
+ },
+ "nl": {
+ "name": "Kiholanzi"
+ },
+ "nl-BE": {
+ "name": "Kiholanzi (Ubelgiji)"
+ },
+ "hu": {
+ "name": "Kihungari"
+ },
+ "ig": {
+ "name": "Kiigbo"
+ },
+ "id": {
+ "name": "Kiindonesia"
+ },
+ "it": {
+ "name": "Kiitaliano"
+ },
+ "ja": {
+ "name": "Kijapani"
+ },
+ "de": {
+ "name": "Kijerumani"
+ },
+ "de-AT": {
+ "name": "Kijerumani (Austria)"
+ },
+ "de-CH": {
+ "name": "Kijerumani (Uswisi)"
+ },
+ "km": {
+ "name": "Kikambodia"
+ },
+ "ko": {
+ "name": "Kikorea"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "ms": {
+ "name": "Kimalesia"
+ },
+ "ne": {
+ "name": "Kinepali"
+ },
+ "en": {
+ "name": "Kingereza"
+ },
+ "en-AU": {
+ "name": "Kingereza (Australia)"
+ },
+ "en-CA": {
+ "name": "Kingereza (Kanada)"
+ },
+ "en-GB": {
+ "name": "Kingereza (Uingereza)"
+ },
+ "rw": {
+ "name": "Kinyarwanda"
+ },
+ "pl": {
+ "name": "Kipolandi"
+ },
+ "pa": {
+ "name": "Kipunjabi"
+ },
+ "pt": {
+ "name": "Kireno"
+ },
+ "pt-PT": {
+ "name": "Kireno (Ureno)"
+ },
+ "ro": {
+ "name": "Kiromania"
+ },
+ "ro-MD": {
+ "name": "Kiromania (Moldova)"
+ },
+ "ru": {
+ "name": "Kirusi"
+ },
+ "so": {
+ "name": "Kisomali"
+ },
+ "sv": {
+ "name": "Kiswidi"
+ },
+ "th": {
+ "name": "Kitailandi"
+ },
+ "ta": {
+ "name": "Kitamil"
+ },
+ "teo": {
+ "name": "Kiteso"
+ },
+ "tr": {
+ "name": "Kituruki"
+ },
+ "uk": {
+ "name": "Kiukrania"
+ },
+ "ur": {
+ "name": "Kiurdu"
+ },
+ "vi": {
+ "name": "Kivietinamu"
+ },
+ "yo": {
+ "name": "Kiyoruba"
+ },
+ "zu": {
+ "name": "Kizulu"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "ky": {
+ "name": "Kyrgyz"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "Lao"
+ },
+ "lv": {
+ "name": "Latvian"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "lt": {
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "mk": {
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "mg": {
+ "name": "Malagasy"
+ },
+ "ml": {
+ "name": "Malayalam"
+ },
+ "mt": {
+ "name": "Maltese"
+ },
+ "gv": {
+ "name": "Manx"
+ },
+ "mr": {
+ "name": "Marathi"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "mn": {
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nds-NL": {
+ "name": "nds (Uholanzi)"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "nd": {
+ "name": "North Ndebele"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "se": {
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "or": {
+ "name": "Odia"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "os": {
+ "name": "Ossetic"
+ },
+ "ps": {
+ "name": "Pashto"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "qu": {
+ "name": "Quechua"
+ },
+ "rm": {
+ "name": "Romansh"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "rn": {
+ "name": "Rundi"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "sah": {
+ "name": "Sakha"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "gd": {
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "sr": {
+ "name": "Serbian"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "si": {
+ "name": "Sinhala"
+ },
+ "sk": {
+ "name": "Slovak"
+ },
+ "sl": {
+ "name": "Slovenian"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw-CD": {
+ "name": "sw (Jamhuri ya Kidemokrasia ya Kongo)"
+ },
+ "sw": {
+ "name": "Swahili"
+ },
+ "gsw": {
+ "name": "Swiss German"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "te": {
+ "name": "Telugu"
+ },
+ "bo": {
+ "name": "Tibetan"
+ },
+ "ti": {
+ "name": "Tigrinya"
+ },
+ "to": {
+ "name": "Tongan"
+ },
+ "tk": {
+ "name": "Turkmen"
+ },
+ "hsb": {
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "name": "Uyghur"
+ },
+ "uz": {
+ "name": "Uzbek"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "cy": {
+ "name": "Welsh"
+ },
+ "fy": {
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "yi": {
+ "name": "Yiddish"
+ },
+ "dje": {
+ "name": "Zarma"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/th.json b/vendor/commerceguys/intl/resources/language/th.json
new file mode 100644
index 000000000..4bd246efd
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/th.json
@@ -0,0 +1,635 @@
+{
+ "el": {
+ "name": "กรีก"
+ },
+ "kl": {
+ "name": "กรีนแลนด์"
+ },
+ "yue": {
+ "name": "กวางตุ้ง"
+ },
+ "nmg": {
+ "name": "กวาซิโอ"
+ },
+ "kok": {
+ "name": "กอนกานี"
+ },
+ "kn": {
+ "name": "กันนาดา"
+ },
+ "ks": {
+ "name": "กัศมีร์"
+ },
+ "ca": {
+ "name": "กาตาลัง"
+ },
+ "kab": {
+ "name": "กาไบล"
+ },
+ "gl": {
+ "name": "กาลิเซีย"
+ },
+ "ki": {
+ "name": "กีกูยู"
+ },
+ "guz": {
+ "name": "กุซซี"
+ },
+ "ko": {
+ "name": "เกาหลี"
+ },
+ "km": {
+ "name": "เขมร"
+ },
+ "qu": {
+ "name": "ควิชัว"
+ },
+ "kw": {
+ "name": "คอร์นิช"
+ },
+ "kam": {
+ "name": "คัมบา"
+ },
+ "kkj": {
+ "name": "คาโก"
+ },
+ "kk": {
+ "name": "คาซัค"
+ },
+ "kea": {
+ "name": "คาบูเวอร์เดียนู"
+ },
+ "kln": {
+ "name": "คาเลนจิน"
+ },
+ "cgg": {
+ "name": "คีกา"
+ },
+ "ky": {
+ "name": "คีร์กีซ"
+ },
+ "gu": {
+ "name": "คุชราต"
+ },
+ "ckb": {
+ "name": "เคิร์ดโซรานี"
+ },
+ "khq": {
+ "name": "โคย์ราชีนี"
+ },
+ "ses": {
+ "name": "โคย์ราโบโรเซนนี"
+ },
+ "hr": {
+ "name": "โครเอเชีย"
+ },
+ "ksh": {
+ "name": "โคโลญ"
+ },
+ "ka": {
+ "name": "จอร์เจีย"
+ },
+ "zh": {
+ "name": "จีน"
+ },
+ "zh-Hant": {
+ "name": "จีนตัวเต็ม"
+ },
+ "zh-Hans": {
+ "name": "จีนตัวย่อ"
+ },
+ "nnh": {
+ "name": "จีมบูน"
+ },
+ "dyo": {
+ "name": "โจลา-ฟอนยี"
+ },
+ "ksb": {
+ "name": "ชัมบาลา"
+ },
+ "cs": {
+ "name": "เช็ก"
+ },
+ "ce": {
+ "name": "เชเชน"
+ },
+ "cu": {
+ "name": "เชอร์ชสลาวิก"
+ },
+ "chr": {
+ "name": "เชอโรกี"
+ },
+ "sn": {
+ "name": "โชนา"
+ },
+ "dz": {
+ "name": "ซองคา"
+ },
+ "hsb": {
+ "name": "ซอร์บส์ตอนบน"
+ },
+ "dsb": {
+ "name": "ซอร์บส์ตอนล่าง"
+ },
+ "se": {
+ "name": "ซามิเหนือ"
+ },
+ "smn": {
+ "name": "ซามิอีนารี"
+ },
+ "dje": {
+ "name": "ซาร์มา"
+ },
+ "sah": {
+ "name": "ซาฮา"
+ },
+ "zu": {
+ "name": "ซูลู"
+ },
+ "seh": {
+ "name": "เซนา"
+ },
+ "sr": {
+ "name": "เซอร์เบีย"
+ },
+ "nds-NL": {
+ "name": "แซกซอนใต้"
+ },
+ "sbp": {
+ "name": "แซงกู"
+ },
+ "sg": {
+ "name": "แซงโก"
+ },
+ "saq": {
+ "name": "แซมบูรู"
+ },
+ "xog": {
+ "name": "โซกา"
+ },
+ "so": {
+ "name": "โซมาลี"
+ },
+ "ja": {
+ "name": "ญี่ปุ่น"
+ },
+ "nl": {
+ "name": "ดัตช์"
+ },
+ "dua": {
+ "name": "ดัวลา"
+ },
+ "da": {
+ "name": "เดนมาร์ก"
+ },
+ "to": {
+ "name": "ตองกา"
+ },
+ "twq": {
+ "name": "ตัสซาวัค"
+ },
+ "ti": {
+ "name": "ติกริญญา"
+ },
+ "tr": {
+ "name": "ตุรกี"
+ },
+ "teo": {
+ "name": "เตโซ"
+ },
+ "te": {
+ "name": "เตลูกู"
+ },
+ "tk": {
+ "name": "เติร์กเมนิสถาน"
+ },
+ "ta": {
+ "name": "ทมิฬ"
+ },
+ "shi": {
+ "name": "ทาเชลีห์ท"
+ },
+ "zgh": {
+ "name": "ทามาไซต์โมร็อกโกมาตรฐาน"
+ },
+ "tzm": {
+ "name": "ทามาไซต์แอตลาสกลาง"
+ },
+ "bo": {
+ "name": "ทิเบต"
+ },
+ "dav": {
+ "name": "ไททา"
+ },
+ "th": {
+ "name": "ไทย"
+ },
+ "nn": {
+ "name": "นอร์เวย์นีนอสก์"
+ },
+ "nb": {
+ "name": "นอร์เวย์บุคมอล"
+ },
+ "naq": {
+ "name": "นามา"
+ },
+ "ne": {
+ "name": "เนปาล"
+ },
+ "nyn": {
+ "name": "เนียนโกเล"
+ },
+ "nus": {
+ "name": "เนือร์"
+ },
+ "bs": {
+ "name": "บอสเนีย"
+ },
+ "bm": {
+ "name": "บัมบารา"
+ },
+ "bg": {
+ "name": "บัลแกเรีย"
+ },
+ "eu": {
+ "name": "บัสเก"
+ },
+ "ksf": {
+ "name": "บาเฟีย"
+ },
+ "bas": {
+ "name": "บาสา"
+ },
+ "rn": {
+ "name": "บุรุนดี"
+ },
+ "bn": {
+ "name": "เบงกาลี"
+ },
+ "bez": {
+ "name": "เบนา"
+ },
+ "bem": {
+ "name": "เบมบา"
+ },
+ "br": {
+ "name": "เบรตัน"
+ },
+ "be": {
+ "name": "เบลารุส"
+ },
+ "prg": {
+ "name": "ปรัสเซีย"
+ },
+ "pa": {
+ "name": "ปัญจาบ"
+ },
+ "fa": {
+ "name": "เปอร์เซีย"
+ },
+ "pt": {
+ "name": "โปรตุเกส"
+ },
+ "pt-PT": {
+ "name": "โปรตุเกส - ยุโรป"
+ },
+ "pl": {
+ "name": "โปแลนด์"
+ },
+ "fr": {
+ "name": "ฝรั่งเศส"
+ },
+ "fr-CA": {
+ "name": "ฝรั่งเศส - แคนาดา"
+ },
+ "fr-CH": {
+ "name": "ฝรั่งเศส (สวิส)"
+ },
+ "my": {
+ "name": "พม่า"
+ },
+ "ps": {
+ "name": "พาชตู"
+ },
+ "brx": {
+ "name": "โพโฑ"
+ },
+ "fy": {
+ "name": "ฟริเซียนตะวันตก"
+ },
+ "fur": {
+ "name": "ฟรูลี"
+ },
+ "fi": {
+ "name": "ฟินแลนด์"
+ },
+ "fil": {
+ "name": "ฟิลิปปินส์"
+ },
+ "ff": {
+ "name": "ฟูลาฮ์"
+ },
+ "nl-BE": {
+ "name": "เฟลมิช"
+ },
+ "fo": {
+ "name": "แฟโร"
+ },
+ "mr": {
+ "name": "มราฐี"
+ },
+ "mn": {
+ "name": "มองโกเลีย"
+ },
+ "mfe": {
+ "name": "มอริสเยน"
+ },
+ "ro-MD": {
+ "name": "มอลโดวา"
+ },
+ "mt": {
+ "name": "มอลตา"
+ },
+ "mua": {
+ "name": "มันดัง"
+ },
+ "mgh": {
+ "name": "มากัววา-มีทโท"
+ },
+ "kde": {
+ "name": "มาคอนเด"
+ },
+ "jmc": {
+ "name": "มาชาเม"
+ },
+ "mzn": {
+ "name": "มาซันดารานี"
+ },
+ "mk": {
+ "name": "มาซิโดเนีย"
+ },
+ "mas": {
+ "name": "มาไซ"
+ },
+ "gv": {
+ "name": "มานซ์"
+ },
+ "mg": {
+ "name": "มาลากาซี"
+ },
+ "ml": {
+ "name": "มาลายาลัม"
+ },
+ "ms": {
+ "name": "มาเลย์"
+ },
+ "mgo": {
+ "name": "เมตา"
+ },
+ "mer": {
+ "name": "เมรู"
+ },
+ "yi": {
+ "name": "ยิว"
+ },
+ "lg": {
+ "name": "ยูกันดา"
+ },
+ "uk": {
+ "name": "ยูเครน"
+ },
+ "de": {
+ "name": "เยอรมัน"
+ },
+ "nds": {
+ "name": "เยอรมันต่ำ - แซกซอนต่ำ"
+ },
+ "gsw": {
+ "name": "เยอรมันสวิส"
+ },
+ "de-CH": {
+ "name": "เยอรมันสูง (สวิส)"
+ },
+ "de-AT": {
+ "name": "เยอรมัน - ออสเตรีย"
+ },
+ "yav": {
+ "name": "แยงเบน"
+ },
+ "yo": {
+ "name": "โยรูบา"
+ },
+ "rw": {
+ "name": "รวันดา"
+ },
+ "rwk": {
+ "name": "รวา"
+ },
+ "rof": {
+ "name": "รอมโบ"
+ },
+ "ru": {
+ "name": "รัสเซีย"
+ },
+ "ro": {
+ "name": "โรมาเนีย"
+ },
+ "rm": {
+ "name": "โรแมนซ์"
+ },
+ "lb": {
+ "name": "ลักเซมเบิร์ก"
+ },
+ "lv": {
+ "name": "ลัตเวีย"
+ },
+ "luo": {
+ "name": "ลัว"
+ },
+ "lkt": {
+ "name": "ลาโกตา"
+ },
+ "lo": {
+ "name": "ลาว"
+ },
+ "ln": {
+ "name": "ลิงกาลา"
+ },
+ "lt": {
+ "name": "ลิทัวเนีย"
+ },
+ "lu": {
+ "name": "ลูบา-กาตองกา"
+ },
+ "luy": {
+ "name": "ลูเยีย"
+ },
+ "lrc": {
+ "name": "ลูรีเหนือ"
+ },
+ "lag": {
+ "name": "แลนจี"
+ },
+ "wae": {
+ "name": "วัลเซอร์"
+ },
+ "vun": {
+ "name": "วุนจู"
+ },
+ "cy": {
+ "name": "เวลส์"
+ },
+ "vi": {
+ "name": "เวียดนาม"
+ },
+ "vo": {
+ "name": "โวลาพึค"
+ },
+ "vai": {
+ "name": "ไว"
+ },
+ "gd": {
+ "name": "สกอตส์กาลิก"
+ },
+ "es": {
+ "name": "สเปน"
+ },
+ "es-MX": {
+ "name": "สเปน - เม็กซิโก"
+ },
+ "sk": {
+ "name": "สโลวัก"
+ },
+ "sl": {
+ "name": "สโลวีเนีย"
+ },
+ "sw": {
+ "name": "สวาฮีลี"
+ },
+ "sw-CD": {
+ "name": "สวาฮีลี-คองโก"
+ },
+ "sv": {
+ "name": "สวีเดน"
+ },
+ "si": {
+ "name": "สิงหล"
+ },
+ "ii": {
+ "name": "เสฉวนยิ"
+ },
+ "os": {
+ "name": "ออสเซเตีย"
+ },
+ "agq": {
+ "name": "อักเฮม"
+ },
+ "en": {
+ "name": "อังกฤษ"
+ },
+ "en-CA": {
+ "name": "อังกฤษ - แคนาดา"
+ },
+ "en-GB": {
+ "name": "อังกฤษ - สหราชอาณาจักร"
+ },
+ "en-AU": {
+ "name": "อังกฤษ - ออสเตรเลีย"
+ },
+ "am": {
+ "name": "อัมฮารา"
+ },
+ "ast": {
+ "name": "อัสตูเรียส"
+ },
+ "as": {
+ "name": "อัสสัม"
+ },
+ "ak": {
+ "name": "อาคัน"
+ },
+ "asa": {
+ "name": "อาซู"
+ },
+ "az": {
+ "name": "อาเซอร์ไบจาน"
+ },
+ "hy": {
+ "name": "อาร์เมเนีย"
+ },
+ "ar": {
+ "name": "อาหรับ"
+ },
+ "ig": {
+ "name": "อิกโบ"
+ },
+ "it": {
+ "name": "อิตาลี"
+ },
+ "id": {
+ "name": "อินโดนีเชีย"
+ },
+ "ewo": {
+ "name": "อีวันโด"
+ },
+ "jgo": {
+ "name": "อึนกอมบา"
+ },
+ "uz": {
+ "name": "อุซเบก"
+ },
+ "ug": {
+ "name": "อุยกัว"
+ },
+ "ur": {
+ "name": "อูรดู"
+ },
+ "nd": {
+ "name": "เอ็นเดเบเลเหนือ"
+ },
+ "ebu": {
+ "name": "เอ็มบู"
+ },
+ "ee": {
+ "name": "เอเว"
+ },
+ "et": {
+ "name": "เอสโตเนีย"
+ },
+ "eo": {
+ "name": "เอสเปอรันโต"
+ },
+ "af": {
+ "name": "แอฟริกานส์"
+ },
+ "sq": {
+ "name": "แอลเบเนีย"
+ },
+ "or": {
+ "name": "โอริยา"
+ },
+ "om": {
+ "name": "โอโรโม"
+ },
+ "is": {
+ "name": "ไอซ์แลนด์"
+ },
+ "ga": {
+ "name": "ไอริช"
+ },
+ "hu": {
+ "name": "ฮังการี"
+ },
+ "haw": {
+ "name": "ฮาวาย"
+ },
+ "hi": {
+ "name": "ฮินดี"
+ },
+ "he": {
+ "name": "ฮิบรู"
+ },
+ "ha": {
+ "name": "เฮาชา"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/ti.json b/vendor/commerceguys/intl/resources/language/ti.json
new file mode 100644
index 000000000..0445d6a73
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/ti.json
@@ -0,0 +1,632 @@
+{
+ "agq": {
+ "name": "Aghem"
+ },
+ "ak": {
+ "name": "Akan"
+ },
+ "hy": {
+ "name": "Armenian"
+ },
+ "as": {
+ "name": "Assamese"
+ },
+ "ast": {
+ "name": "Asturian"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "my": {
+ "name": "Burmese"
+ },
+ "yue": {
+ "name": "Cantonese"
+ },
+ "tzm": {
+ "name": "Central Atlas Tamazight"
+ },
+ "ckb": {
+ "name": "Central Kurdish"
+ },
+ "ce": {
+ "name": "Chechen"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "zh": {
+ "name": "Chinese"
+ },
+ "cu": {
+ "name": "Church Slavic"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "kw": {
+ "name": "Cornish"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "dz": {
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "ha": {
+ "name": "Hausa"
+ },
+ "haw": {
+ "name": "Hawaiian"
+ },
+ "ig": {
+ "name": "Igbo"
+ },
+ "smn": {
+ "name": "Inari Sami"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabyle"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kl": {
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "ks": {
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "name": "Kazakh"
+ },
+ "km": {
+ "name": "Khmer"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "rw": {
+ "name": "Kinyarwanda"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "Lao"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "dsb": {
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "mg": {
+ "name": "Malagasy"
+ },
+ "gv": {
+ "name": "Manx"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "mn": {
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nds-NL": {
+ "name": "nds (NL)"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "nd": {
+ "name": "North Ndebele"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "se": {
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "name": "Norwegian Bokmål"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "os": {
+ "name": "Ossetic"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "qu": {
+ "name": "Quechua"
+ },
+ "rm": {
+ "name": "Romansh"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "rn": {
+ "name": "Rundi"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "sah": {
+ "name": "Sakha"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "so": {
+ "name": "Somali"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "gsw": {
+ "name": "Swiss German"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "bo": {
+ "name": "Tibetan"
+ },
+ "to": {
+ "name": "Tongan"
+ },
+ "hsb": {
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "name": "Uyghur"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "yo": {
+ "name": "Yoruba"
+ },
+ "dje": {
+ "name": "Zarma"
+ },
+ "zh-Hans": {
+ "name": "zh (Hans)"
+ },
+ "zh-Hant": {
+ "name": "zh (Hant)"
+ },
+ "hu": {
+ "name": "ሀንጋሪኛ"
+ },
+ "lt": {
+ "name": "ሊቱአኒየን"
+ },
+ "lv": {
+ "name": "ላቲቪያን"
+ },
+ "hi": {
+ "name": "ሕንደኛ"
+ },
+ "ml": {
+ "name": "ማላያላምኛ"
+ },
+ "ms": {
+ "name": "ማላይኛ"
+ },
+ "mt": {
+ "name": "ማልቲስኛ"
+ },
+ "mr": {
+ "name": "ማራቲኛ"
+ },
+ "mk": {
+ "name": "ማክዶኒኛ"
+ },
+ "ru": {
+ "name": "ራሽኛ"
+ },
+ "ro": {
+ "name": "ሮማኒያን"
+ },
+ "ro-MD": {
+ "name": "ሮማኒያን (MD)"
+ },
+ "sr": {
+ "name": "ሰርቢኛ"
+ },
+ "sw": {
+ "name": "ሰዋሂሊኛ"
+ },
+ "sw-CD": {
+ "name": "ሰዋሂሊኛ (CD)"
+ },
+ "sk": {
+ "name": "ስሎቨክኛ"
+ },
+ "sl": {
+ "name": "ስቁቪኛ"
+ },
+ "si": {
+ "name": "ስንሃልኛ"
+ },
+ "sv": {
+ "name": "ስዊድንኛ"
+ },
+ "es": {
+ "name": "ስፓኒሽ"
+ },
+ "es-MX": {
+ "name": "ስፓኒሽ (MX)"
+ },
+ "bn": {
+ "name": "በንጋሊኛ"
+ },
+ "bg": {
+ "name": "ቡልጋሪኛ"
+ },
+ "eu": {
+ "name": "ባስክኛ"
+ },
+ "be": {
+ "name": "ቤላራሻኛ"
+ },
+ "br": {
+ "name": "ብሬቶን"
+ },
+ "bs": {
+ "name": "ቦስኒያን"
+ },
+ "vi": {
+ "name": "ቪትናምኛ"
+ },
+ "te": {
+ "name": "ተሉጉኛ"
+ },
+ "tr": {
+ "name": "ቱርከኛ"
+ },
+ "ta": {
+ "name": "ታሚልኛ"
+ },
+ "th": {
+ "name": "ታይኛ"
+ },
+ "fil": {
+ "name": "ታጋሎገኛ"
+ },
+ "ti": {
+ "name": "ትግርኛ"
+ },
+ "cs": {
+ "name": "ቼክኛ"
+ },
+ "tk": {
+ "name": "ናይ ቱርኪ ሰብዓይ (ቱርካዊ)"
+ },
+ "ne": {
+ "name": "ኔፖሊኛ"
+ },
+ "nn": {
+ "name": "ኖርዌይኛ (ናይ ኝኖርስክ)"
+ },
+ "sq": {
+ "name": "አልቤኒኛ"
+ },
+ "am": {
+ "name": "አምሐረኛ"
+ },
+ "az": {
+ "name": "አዜርባይጃንኛ"
+ },
+ "ga": {
+ "name": "አይሪሽ"
+ },
+ "is": {
+ "name": "አይስላንደኛ"
+ },
+ "af": {
+ "name": "አፍሪቃንሰኛ"
+ },
+ "ur": {
+ "name": "ኡርዱኛ"
+ },
+ "uz": {
+ "name": "ኡዝበክኛ"
+ },
+ "et": {
+ "name": "ኤስቶኒአን"
+ },
+ "eo": {
+ "name": "ኤስፐራንቶ"
+ },
+ "gd": {
+ "name": "እስኮትስ ጌልክኛ"
+ },
+ "id": {
+ "name": "እንዶኑሲኛ"
+ },
+ "en": {
+ "name": "እንግሊዝኛ"
+ },
+ "en-AU": {
+ "name": "እንግሊዝኛ (AU)"
+ },
+ "en-CA": {
+ "name": "እንግሊዝኛ (CA)"
+ },
+ "en-GB": {
+ "name": "እንግሊዝኛ (GB)"
+ },
+ "or": {
+ "name": "ኦሪያ"
+ },
+ "ky": {
+ "name": "ኪሩጋዚ"
+ },
+ "kn": {
+ "name": "ካማደኛ"
+ },
+ "ca": {
+ "name": "ካታላን"
+ },
+ "hr": {
+ "name": "ክሮሽያንኛ"
+ },
+ "ko": {
+ "name": "ኮሪያኛ"
+ },
+ "cy": {
+ "name": "ወልሽ"
+ },
+ "ar": {
+ "name": "ዓረበኛ"
+ },
+ "he": {
+ "name": "ዕብራስጥ"
+ },
+ "zu": {
+ "name": "ዙሉኛ"
+ },
+ "uk": {
+ "name": "ዩክረኒኛ"
+ },
+ "yi": {
+ "name": "ዪዲሽ"
+ },
+ "nl": {
+ "name": "ደች"
+ },
+ "nl-BE": {
+ "name": "ደች (BE)"
+ },
+ "da": {
+ "name": "ዴኒሽ"
+ },
+ "de": {
+ "name": "ጀርመን"
+ },
+ "de-AT": {
+ "name": "ጀርመን (AT)"
+ },
+ "de-CH": {
+ "name": "ጀርመን (CH)"
+ },
+ "ja": {
+ "name": "ጃፓንኛ"
+ },
+ "gu": {
+ "name": "ጉጃራቲኛ"
+ },
+ "ka": {
+ "name": "ጊዮርጊያኛ"
+ },
+ "gl": {
+ "name": "ጋለቪኛ"
+ },
+ "el": {
+ "name": "ግሪከኛ"
+ },
+ "it": {
+ "name": "ጣሊያንኛ"
+ },
+ "fr": {
+ "name": "ፈረንሳይኛ"
+ },
+ "fr-CA": {
+ "name": "ፈረንሳይኛ (CA)"
+ },
+ "fr-CH": {
+ "name": "ፈረንሳይኛ (CH)"
+ },
+ "fi": {
+ "name": "ፊኒሽ"
+ },
+ "fo": {
+ "name": "ፋሮኛ"
+ },
+ "fy": {
+ "name": "ፍሪሰኛ"
+ },
+ "fa": {
+ "name": "ፐርሲያኛ"
+ },
+ "pa": {
+ "name": "ፑንጃቢኛ"
+ },
+ "ps": {
+ "name": "ፓሽቶ"
+ },
+ "pl": {
+ "name": "ፖሊሽ"
+ },
+ "pt": {
+ "name": "ፖርቱጋሊኛ"
+ },
+ "pt-PT": {
+ "name": "ፖርቱጋልኛ (ናይ ፖርቱጋል)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/to.json b/vendor/commerceguys/intl/resources/language/to.json
new file mode 100644
index 000000000..5684e093e
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/to.json
@@ -0,0 +1,635 @@
+{
+ "or": {
+ "name": "lea faka-ʻotia"
+ },
+ "fr": {
+ "name": "lea fakafalanisē"
+ },
+ "fr-CA": {
+ "name": "lea fakafalanisē-kānata"
+ },
+ "fr-CH": {
+ "name": "lea fakafalanisē-suisilani"
+ },
+ "fo": {
+ "name": "lea fakafaloe"
+ },
+ "fil": {
+ "name": "lea fakafilipaini"
+ },
+ "fy": {
+ "name": "lea fakafilisia-hihifo"
+ },
+ "fi": {
+ "name": "lea fakafinilani"
+ },
+ "ff": {
+ "name": "lea fakafulā"
+ },
+ "fur": {
+ "name": "lea fakafulilāni"
+ },
+ "haw": {
+ "name": "lea fakahauaiʻi"
+ },
+ "ha": {
+ "name": "lea fakahausa"
+ },
+ "he": {
+ "name": "lea fakahepelū"
+ },
+ "hi": {
+ "name": "lea fakahinitī"
+ },
+ "nl": {
+ "name": "lea fakahōlani"
+ },
+ "nl-BE": {
+ "name": "lea fakahōlani-pelesiume"
+ },
+ "hu": {
+ "name": "lea fakahungakalia"
+ },
+ "dyo": {
+ "name": "lea fakaiola-fonī"
+ },
+ "yi": {
+ "name": "lea fakaītisi"
+ },
+ "gd": {
+ "name": "lea fakakaeliki"
+ },
+ "kkj": {
+ "name": "lea fakakako"
+ },
+ "kl": {
+ "name": "lea fakakalaʻalisuti"
+ },
+ "kln": {
+ "name": "lea fakakalenisini"
+ },
+ "el": {
+ "name": "lea fakakalisi"
+ },
+ "gl": {
+ "name": "lea fakakalisia"
+ },
+ "kam": {
+ "name": "lea fakakamipa"
+ },
+ "km": {
+ "name": "lea fakakamipōtia"
+ },
+ "kn": {
+ "name": "lea fakakanata"
+ },
+ "lg": {
+ "name": "lea fakakanita"
+ },
+ "kab": {
+ "name": "lea fakakapile"
+ },
+ "kea": {
+ "name": "lea fakakapuvelitianu"
+ },
+ "kk": {
+ "name": "lea fakakasaki"
+ },
+ "ks": {
+ "name": "lea fakakāsimila"
+ },
+ "ca": {
+ "name": "lea fakakatalani"
+ },
+ "cgg": {
+ "name": "lea fakakika"
+ },
+ "ki": {
+ "name": "lea fakakikuiu"
+ },
+ "rw": {
+ "name": "lea fakakiniāuanita"
+ },
+ "ky": {
+ "name": "lea fakakīsisi"
+ },
+ "khq": {
+ "name": "lea fakakoila-sīni"
+ },
+ "ses": {
+ "name": "lea fakakoilapolo-seni"
+ },
+ "ko": {
+ "name": "lea fakakōlea"
+ },
+ "ksh": {
+ "name": "lea fakakolongia"
+ },
+ "kok": {
+ "name": "lea fakakonikanī"
+ },
+ "kw": {
+ "name": "lea fakakoniuali"
+ },
+ "yue": {
+ "name": "lea fakakuangitongi"
+ },
+ "nmg": {
+ "name": "lea fakakuasio"
+ },
+ "qu": {
+ "name": "lea fakakuetisa"
+ },
+ "hr": {
+ "name": "lea fakakuloisia"
+ },
+ "guz": {
+ "name": "lea fakakusī"
+ },
+ "gu": {
+ "name": "lea fakakutalati"
+ },
+ "ckb": {
+ "name": "lea fakakūtisi-loloto"
+ },
+ "rm": {
+ "name": "lea fakalaito-lomēnia"
+ },
+ "lb": {
+ "name": "lea fakalakisimipeki"
+ },
+ "lkt": {
+ "name": "lea fakalakota"
+ },
+ "lag": {
+ "name": "lea fakalangi"
+ },
+ "lv": {
+ "name": "lea fakalativia"
+ },
+ "lo": {
+ "name": "lea fakalau"
+ },
+ "lt": {
+ "name": "lea fakalituania"
+ },
+ "ro": {
+ "name": "lea fakalōmenia"
+ },
+ "rof": {
+ "name": "lea fakalomipō"
+ },
+ "rwk": {
+ "name": "lea fakaluā"
+ },
+ "rn": {
+ "name": "lea fakaluaniti"
+ },
+ "luy": {
+ "name": "lea fakaluīa"
+ },
+ "lrc": {
+ "name": "lea fakaluli-tokelau"
+ },
+ "luo": {
+ "name": "lea fakaluo"
+ },
+ "lu": {
+ "name": "lea fakalupa-katanga"
+ },
+ "ru": {
+ "name": "lea fakalūsia"
+ },
+ "kde": {
+ "name": "lea fakamakōnite"
+ },
+ "mgh": {
+ "name": "lea fakamakūa-meʻeto"
+ },
+ "mg": {
+ "name": "lea fakamalakasi"
+ },
+ "mr": {
+ "name": "lea fakamalati"
+ },
+ "ms": {
+ "name": "lea fakamalei"
+ },
+ "mt": {
+ "name": "lea fakamalita"
+ },
+ "gv": {
+ "name": "lea fakamangikī"
+ },
+ "mas": {
+ "name": "lea fakamasai"
+ },
+ "jmc": {
+ "name": "lea fakamasame"
+ },
+ "mzn": {
+ "name": "lea fakamasanitelani"
+ },
+ "mk": {
+ "name": "lea fakamasitōnia"
+ },
+ "mer": {
+ "name": "lea fakamelu"
+ },
+ "mgo": {
+ "name": "lea fakametā"
+ },
+ "mfe": {
+ "name": "lea fakamolisieni"
+ },
+ "ro-MD": {
+ "name": "lea fakamolitāvia"
+ },
+ "mn": {
+ "name": "lea fakamongokōlia"
+ },
+ "mua": {
+ "name": "lea fakamunitangi"
+ },
+ "naq": {
+ "name": "lea fakanama"
+ },
+ "ne": {
+ "name": "lea fakanepali"
+ },
+ "nd": {
+ "name": "lea fakanetepele-tokelau"
+ },
+ "nyn": {
+ "name": "lea fakanianikole"
+ },
+ "jgo": {
+ "name": "lea fakanikōmipa"
+ },
+ "nn": {
+ "name": "lea fakanoauē-ninosiki"
+ },
+ "nb": {
+ "name": "lea fakanouaē-pokimali"
+ },
+ "nus": {
+ "name": "lea fakanueli"
+ },
+ "nnh": {
+ "name": "lea fakangiemipōni"
+ },
+ "ksf": {
+ "name": "lea fakapafia"
+ },
+ "en": {
+ "name": "lea fakapālangi"
+ },
+ "en-CA": {
+ "name": "lea fakapālangi-kānata"
+ },
+ "en-AU": {
+ "name": "lea fakapālangi-ʻaositelēlia"
+ },
+ "bm": {
+ "name": "lea fakapamipala"
+ },
+ "bas": {
+ "name": "lea fakapasaʻa"
+ },
+ "eu": {
+ "name": "lea fakapāsiki"
+ },
+ "ps": {
+ "name": "lea fakapasitō"
+ },
+ "be": {
+ "name": "lea fakapelalusi"
+ },
+ "br": {
+ "name": "lea fakapeletoni"
+ },
+ "my": {
+ "name": "lea fakapema"
+ },
+ "bem": {
+ "name": "lea fakapēmipa"
+ },
+ "bez": {
+ "name": "lea fakapena"
+ },
+ "bn": {
+ "name": "lea fakapengikali"
+ },
+ "fa": {
+ "name": "lea fakapēsia"
+ },
+ "en-GB": {
+ "name": "lea fakapilitānia"
+ },
+ "pl": {
+ "name": "lea fakapolani"
+ },
+ "bs": {
+ "name": "lea fakaposinia"
+ },
+ "brx": {
+ "name": "lea fakapōto"
+ },
+ "pt": {
+ "name": "lea fakapotukali"
+ },
+ "pt-PT": {
+ "name": "lea fakapotukali-ʻiulope"
+ },
+ "bg": {
+ "name": "lea fakapulukalia"
+ },
+ "prg": {
+ "name": "lea fakapulūsia"
+ },
+ "pa": {
+ "name": "lea fakapūnusapi"
+ },
+ "sah": {
+ "name": "lea fakasaka"
+ },
+ "nds-NL": {
+ "name": "lea fakasakisoni-hifo"
+ },
+ "se": {
+ "name": "lea fakasami-tokelau"
+ },
+ "smn": {
+ "name": "lea fakasami-ʻinali"
+ },
+ "saq": {
+ "name": "lea fakasamipulu"
+ },
+ "sg": {
+ "name": "lea fakasangikō"
+ },
+ "sbp": {
+ "name": "lea fakasangu"
+ },
+ "cs": {
+ "name": "lea fakaseki"
+ },
+ "chr": {
+ "name": "lea fakaselokī"
+ },
+ "seh": {
+ "name": "lea fakasena"
+ },
+ "ka": {
+ "name": "lea fakaseōsia"
+ },
+ "sr": {
+ "name": "lea fakasēpia"
+ },
+ "ce": {
+ "name": "lea fakasese"
+ },
+ "zh": {
+ "name": "lea fakasiaina"
+ },
+ "zh-Hans": {
+ "name": "lea fakasiaina-fakafaingofua"
+ },
+ "zh-Hant": {
+ "name": "lea fakasiaina-tukufakaholo"
+ },
+ "de": {
+ "name": "lea fakasiamane"
+ },
+ "de-CH": {
+ "name": "lea fakasiamane-hake-suisilani"
+ },
+ "nds": {
+ "name": "lea fakasiamane-hifo"
+ },
+ "gsw": {
+ "name": "lea fakasiamane-suisilani"
+ },
+ "de-AT": {
+ "name": "lea fakasiamane-ʻaositulia"
+ },
+ "ksb": {
+ "name": "lea fakasiamipala"
+ },
+ "ja": {
+ "name": "lea fakasiapani"
+ },
+ "cu": {
+ "name": "lea fakasilavia-fakasiasi"
+ },
+ "si": {
+ "name": "lea fakasingihala"
+ },
+ "sn": {
+ "name": "lea fakasiona"
+ },
+ "es": {
+ "name": "lea fakasipēnisi"
+ },
+ "es-MX": {
+ "name": "lea fakasipēnisi-mekisikou"
+ },
+ "ii": {
+ "name": "lea fakasisiuani-ī"
+ },
+ "xog": {
+ "name": "lea fakasoka"
+ },
+ "sk": {
+ "name": "lea fakasolāvaki"
+ },
+ "sl": {
+ "name": "lea fakasolovenia"
+ },
+ "so": {
+ "name": "lea fakasomali"
+ },
+ "hsb": {
+ "name": "lea fakasōpia-hake"
+ },
+ "dsb": {
+ "name": "lea fakasōpia-hifo"
+ },
+ "sw": {
+ "name": "lea fakasuahili"
+ },
+ "sw-CD": {
+ "name": "lea fakasuahili-kongikō"
+ },
+ "sv": {
+ "name": "lea fakasuēteni"
+ },
+ "zu": {
+ "name": "lea fakasulu"
+ },
+ "th": {
+ "name": "lea fakatailani"
+ },
+ "dav": {
+ "name": "lea fakataita"
+ },
+ "zgh": {
+ "name": "lea fakatamasaiti-moloko"
+ },
+ "tzm": {
+ "name": "lea fakatamasaiti-ʻatilasi-loloto"
+ },
+ "ta": {
+ "name": "lea fakatamili"
+ },
+ "twq": {
+ "name": "lea fakatasauaki"
+ },
+ "shi": {
+ "name": "lea fakataselihiti"
+ },
+ "tk": {
+ "name": "lea fakatēkimeni"
+ },
+ "da": {
+ "name": "lea fakatenimaʻake"
+ },
+ "teo": {
+ "name": "lea fakateso"
+ },
+ "ti": {
+ "name": "lea fakatikilinia"
+ },
+ "bo": {
+ "name": "lea fakatipeti"
+ },
+ "dje": {
+ "name": "lea fakatisāma"
+ },
+ "dz": {
+ "name": "lea fakatisōngika"
+ },
+ "tr": {
+ "name": "lea fakatoake"
+ },
+ "to": {
+ "name": "lea fakatonga"
+ },
+ "dua": {
+ "name": "lea fakatuala"
+ },
+ "cy": {
+ "name": "lea fakauēlesi"
+ },
+ "vai": {
+ "name": "lea fakavai"
+ },
+ "vi": {
+ "name": "lea fakavietinami"
+ },
+ "vo": {
+ "name": "lea fakavolapiki"
+ },
+ "vun": {
+ "name": "lea fakavūniso"
+ },
+ "ga": {
+ "name": "lea fakaʻaelani"
+ },
+ "af": {
+ "name": "lea fakaʻafilikana"
+ },
+ "is": {
+ "name": "lea fakaʻaisilani"
+ },
+ "ak": {
+ "name": "lea fakaʻakani"
+ },
+ "agq": {
+ "name": "lea fakaʻakihemi"
+ },
+ "sq": {
+ "name": "lea fakaʻalapēnia"
+ },
+ "ar": {
+ "name": "lea fakaʻalepea"
+ },
+ "am": {
+ "name": "lea fakaʻameliki"
+ },
+ "hy": {
+ "name": "lea fakaʻāmenia"
+ },
+ "as": {
+ "name": "lea fakaʻasamia"
+ },
+ "az": {
+ "name": "lea fakaʻasapaisani"
+ },
+ "ast": {
+ "name": "lea fakaʻasitūlia"
+ },
+ "asa": {
+ "name": "lea fakaʻasu"
+ },
+ "ebu": {
+ "name": "lea fakaʻemipū"
+ },
+ "eo": {
+ "name": "lea fakaʻesipulanito"
+ },
+ "et": {
+ "name": "lea fakaʻesitōnia"
+ },
+ "ee": {
+ "name": "lea fakaʻeue"
+ },
+ "ewo": {
+ "name": "lea fakaʻeuōnito"
+ },
+ "yav": {
+ "name": "lea fakaʻiangipeni"
+ },
+ "ig": {
+ "name": "lea fakaʻikipō"
+ },
+ "ml": {
+ "name": "lea fakaʻinitia-malāialami"
+ },
+ "te": {
+ "name": "lea fakaʻinitia-teluku"
+ },
+ "id": {
+ "name": "lea fakaʻinitōnesia"
+ },
+ "yo": {
+ "name": "lea fakaʻiōlupa"
+ },
+ "it": {
+ "name": "lea fakaʻītali"
+ },
+ "om": {
+ "name": "lea fakaʻolomo"
+ },
+ "os": {
+ "name": "lea fakaʻosetiki"
+ },
+ "wae": {
+ "name": "lea fakaʻualiseli"
+ },
+ "ug": {
+ "name": "lea fakaʻuikūli"
+ },
+ "uk": {
+ "name": "lea fakaʻūkalaʻine"
+ },
+ "uz": {
+ "name": "lea fakaʻusipeki"
+ },
+ "ur": {
+ "name": "lea fakaʻūtū"
+ },
+ "ln": {
+ "name": "lea lingikala"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/tr.json b/vendor/commerceguys/intl/resources/language/tr.json
new file mode 100644
index 000000000..64c4077f4
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/tr.json
@@ -0,0 +1,635 @@
+{
+ "af": {
+ "name": "Afrikaanca"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "ak": {
+ "name": "Akan"
+ },
+ "de": {
+ "name": "Almanca"
+ },
+ "am": {
+ "name": "Amharca"
+ },
+ "ar": {
+ "name": "Arapça"
+ },
+ "sq": {
+ "name": "Arnavutça"
+ },
+ "as": {
+ "name": "Assamca"
+ },
+ "ast": {
+ "name": "Asturyasca"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "nds": {
+ "name": "Aşağı Almanca"
+ },
+ "nds-NL": {
+ "name": "Aşağı Saksonca"
+ },
+ "dsb": {
+ "name": "Aşağı Sorbça"
+ },
+ "pt-PT": {
+ "name": "Avrupa Portekizcesi"
+ },
+ "en-AU": {
+ "name": "Avustralya İngilizcesi"
+ },
+ "de-AT": {
+ "name": "Avusturya Almancası"
+ },
+ "az": {
+ "name": "Azerice"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bas": {
+ "name": "Basa Dili"
+ },
+ "zh-Hans": {
+ "name": "Basitleştirilmiş Çince"
+ },
+ "eu": {
+ "name": "Baskça"
+ },
+ "fy": {
+ "name": "Batı Frizcesi"
+ },
+ "be": {
+ "name": "Belarusça"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "bn": {
+ "name": "Bengalce"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "bs": {
+ "name": "Boşnakça"
+ },
+ "br": {
+ "name": "Bretonca"
+ },
+ "bg": {
+ "name": "Bulgarca"
+ },
+ "my": {
+ "name": "Burmaca"
+ },
+ "ce": {
+ "name": "Çeçence"
+ },
+ "cs": {
+ "name": "Çekçe"
+ },
+ "chr": {
+ "name": "Çerokice"
+ },
+ "zh": {
+ "name": "Çince"
+ },
+ "da": {
+ "name": "Danca"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "dz": {
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "id": {
+ "name": "Endonezce"
+ },
+ "hy": {
+ "name": "Ermenice"
+ },
+ "eo": {
+ "name": "Esperanto"
+ },
+ "et": {
+ "name": "Estonca"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fo": {
+ "name": "Faroe Dili"
+ },
+ "fa": {
+ "name": "Farsça"
+ },
+ "nl": {
+ "name": "Felemenkçe"
+ },
+ "fil": {
+ "name": "Filipince"
+ },
+ "fi": {
+ "name": "Fince"
+ },
+ "nl-BE": {
+ "name": "Flamanca"
+ },
+ "fr": {
+ "name": "Fransızca"
+ },
+ "fur": {
+ "name": "Friuli dili"
+ },
+ "ff": {
+ "name": "Fula dili"
+ },
+ "cy": {
+ "name": "Galce"
+ },
+ "gl": {
+ "name": "Galiçyaca"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "zh-Hant": {
+ "name": "Geleneksel Çince"
+ },
+ "kl": {
+ "name": "Grönland dili"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "gu": {
+ "name": "Güceratça"
+ },
+ "ka": {
+ "name": "Gürcüce"
+ },
+ "ha": {
+ "name": "Hausa dili"
+ },
+ "haw": {
+ "name": "Hawaii dili"
+ },
+ "hr": {
+ "name": "Hırvatça"
+ },
+ "hi": {
+ "name": "Hintçe"
+ },
+ "ig": {
+ "name": "İbo dili"
+ },
+ "he": {
+ "name": "İbranice"
+ },
+ "smn": {
+ "name": "İnari Laponcası"
+ },
+ "en-GB": {
+ "name": "İngiliz İngilizcesi"
+ },
+ "en": {
+ "name": "İngilizce"
+ },
+ "ga": {
+ "name": "İrlandaca"
+ },
+ "gd": {
+ "name": "İskoç Gaelcesi"
+ },
+ "es": {
+ "name": "İspanyolca"
+ },
+ "sv": {
+ "name": "İsveççe"
+ },
+ "gsw": {
+ "name": "İsviçre Almancası"
+ },
+ "fr-CH": {
+ "name": "İsviçre Fransızcası"
+ },
+ "de-CH": {
+ "name": "İsviçre Yüksek Almancası"
+ },
+ "it": {
+ "name": "İtalyanca"
+ },
+ "is": {
+ "name": "İzlandaca"
+ },
+ "ja": {
+ "name": "Japonca"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kab": {
+ "name": "Kabiliyece"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "fr-CA": {
+ "name": "Kanada Fransızcası"
+ },
+ "en-CA": {
+ "name": "Kanada İngilizcesi"
+ },
+ "kn": {
+ "name": "Kannada dili"
+ },
+ "yue": {
+ "name": "Kantonca"
+ },
+ "ca": {
+ "name": "Katalanca"
+ },
+ "kk": {
+ "name": "Kazakça"
+ },
+ "qu": {
+ "name": "Keçuva dili"
+ },
+ "kw": {
+ "name": "Kernevekçe"
+ },
+ "ks": {
+ "name": "Keşmir dili"
+ },
+ "ky": {
+ "name": "Kırgızca"
+ },
+ "cgg": {
+ "name": "Kigaca"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "cu": {
+ "name": "Kilise Slavcası"
+ },
+ "rw": {
+ "name": "Kinyarwanda"
+ },
+ "rn": {
+ "name": "Kirundi"
+ },
+ "km": {
+ "name": "Kmerce"
+ },
+ "sw-CD": {
+ "name": "Kongo Svahili"
+ },
+ "kok": {
+ "name": "Konkani dili"
+ },
+ "ko": {
+ "name": "Korece"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "ksh": {
+ "name": "Köln lehçesi"
+ },
+ "se": {
+ "name": "Kuzey Laponcası"
+ },
+ "lrc": {
+ "name": "Kuzey Luri"
+ },
+ "nd": {
+ "name": "Kuzey Ndebele"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "lkt": {
+ "name": "Lakotaca"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "Lao dili"
+ },
+ "pl": {
+ "name": "Lehçe"
+ },
+ "lv": {
+ "name": "Letonca"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "lt": {
+ "name": "Litvanca"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "lb": {
+ "name": "Lüksemburgca"
+ },
+ "hu": {
+ "name": "Macarca"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mk": {
+ "name": "Makedonca"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "ml": {
+ "name": "Malayalam dili"
+ },
+ "ms": {
+ "name": "Malayca"
+ },
+ "mg": {
+ "name": "Malgaşça"
+ },
+ "mt": {
+ "name": "Maltaca"
+ },
+ "gv": {
+ "name": "Manks"
+ },
+ "mr": {
+ "name": "Marathi"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mzn": {
+ "name": "Mazenderanca"
+ },
+ "es-MX": {
+ "name": "Meksika İspanyolcası"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Meta’"
+ },
+ "mn": {
+ "name": "Moğolca"
+ },
+ "ro-MD": {
+ "name": "Moldovaca"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "ne": {
+ "name": "Nepalce"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "nb": {
+ "name": "Norveççe Bokmål"
+ },
+ "nn": {
+ "name": "Norveççe Nynorsk"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "or": {
+ "name": "Oriya Dili"
+ },
+ "om": {
+ "name": "Oromo dili"
+ },
+ "tzm": {
+ "name": "Orta Atlas Tamazigti"
+ },
+ "ckb": {
+ "name": "Orta Kürtçe"
+ },
+ "os": {
+ "name": "Osetçe"
+ },
+ "uz": {
+ "name": "Özbekçe"
+ },
+ "pa": {
+ "name": "Pencapça"
+ },
+ "ps": {
+ "name": "Peştuca"
+ },
+ "pt": {
+ "name": "Portekizce"
+ },
+ "prg": {
+ "name": "Prusyaca"
+ },
+ "rm": {
+ "name": "Romanşça"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "ro": {
+ "name": "Rumence"
+ },
+ "ru": {
+ "name": "Rusça"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "si": {
+ "name": "Seylanca"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "sr": {
+ "name": "Sırpça"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "sk": {
+ "name": "Slovakça"
+ },
+ "sl": {
+ "name": "Slovence"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "so": {
+ "name": "Somalice"
+ },
+ "zgh": {
+ "name": "Standart Fas Tamazigti"
+ },
+ "sw": {
+ "name": "Svahili"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "ta": {
+ "name": "Tamilce"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "shi": {
+ "name": "Taşelhit"
+ },
+ "th": {
+ "name": "Tayca"
+ },
+ "te": {
+ "name": "Telugu dili"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "bo": {
+ "name": "Tibetçe"
+ },
+ "ti": {
+ "name": "Tigrinya"
+ },
+ "to": {
+ "name": "Tonga dili"
+ },
+ "tr": {
+ "name": "Türkçe"
+ },
+ "tk": {
+ "name": "Türkmence"
+ },
+ "uk": {
+ "name": "Ukraynaca"
+ },
+ "ur": {
+ "name": "Urduca"
+ },
+ "ug": {
+ "name": "Uygurca"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vi": {
+ "name": "Vietnamca"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "sah": {
+ "name": "Yakutça"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "yi": {
+ "name": "Yidiş"
+ },
+ "yo": {
+ "name": "Yorubaca"
+ },
+ "hsb": {
+ "name": "Yukarı Sorbça"
+ },
+ "el": {
+ "name": "Yunanca"
+ },
+ "dje": {
+ "name": "Zarma"
+ },
+ "zu": {
+ "name": "Zuluca"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/twq.json b/vendor/commerceguys/intl/resources/language/twq.json
new file mode 100644
index 000000000..9c1731ec5
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/twq.json
@@ -0,0 +1,632 @@
+{
+ "af": {
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "ak": {
+ "name": "Akan senni"
+ },
+ "sq": {
+ "name": "Albanian"
+ },
+ "de": {
+ "name": "Almaŋ senni"
+ },
+ "de-AT": {
+ "name": "Almaŋ senni (Otriši)"
+ },
+ "de-CH": {
+ "name": "Almaŋ senni (Swisu)"
+ },
+ "am": {
+ "name": "Amhaarik senni"
+ },
+ "hy": {
+ "name": "Armenian"
+ },
+ "as": {
+ "name": "Assamese"
+ },
+ "ast": {
+ "name": "Asturian"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "az": {
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "eu": {
+ "name": "Basque"
+ },
+ "be": {
+ "name": "Belaruus senni"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "bn": {
+ "name": "Bengali senni"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "bs": {
+ "name": "Bosnian"
+ },
+ "br": {
+ "name": "Breton"
+ },
+ "bg": {
+ "name": "Bulagaari senni"
+ },
+ "my": {
+ "name": "Burme senni"
+ },
+ "yue": {
+ "name": "Cantonese"
+ },
+ "ca": {
+ "name": "Catalan"
+ },
+ "cs": {
+ "name": "Cek senni"
+ },
+ "tzm": {
+ "name": "Central Atlas Tamazight"
+ },
+ "ckb": {
+ "name": "Central Kurdish"
+ },
+ "ce": {
+ "name": "Chechen"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "cu": {
+ "name": "Church Slavic"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "kw": {
+ "name": "Cornish"
+ },
+ "hr": {
+ "name": "Croatian"
+ },
+ "da": {
+ "name": "Danish"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "dz": {
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "es": {
+ "name": "Espaaɲe senni"
+ },
+ "es-MX": {
+ "name": "Espaaɲe senni (Mexiki)"
+ },
+ "eo": {
+ "name": "Esperanto"
+ },
+ "et": {
+ "name": "Estonian"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fo": {
+ "name": "Faroese"
+ },
+ "fa": {
+ "name": "Farsi senni"
+ },
+ "fil": {
+ "name": "Filipino"
+ },
+ "fi": {
+ "name": "Finnish"
+ },
+ "fr": {
+ "name": "Fransee senni"
+ },
+ "fr-CA": {
+ "name": "Fransee senni (Kanaada)"
+ },
+ "fr-CH": {
+ "name": "Fransee senni (Swisu)"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "gl": {
+ "name": "Galician"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "ka": {
+ "name": "Georgian"
+ },
+ "el": {
+ "name": "Grek senni"
+ },
+ "gu": {
+ "name": "Gujarati"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "haw": {
+ "name": "Hawaiian"
+ },
+ "ha": {
+ "name": "Hawsance senni"
+ },
+ "he": {
+ "name": "Hebrew"
+ },
+ "nl": {
+ "name": "Holandee senni"
+ },
+ "nl-BE": {
+ "name": "Holandee senni (Belgiiki)"
+ },
+ "hu": {
+ "name": "Hungaari senni"
+ },
+ "ig": {
+ "name": "Iboo senni"
+ },
+ "is": {
+ "name": "Icelandic"
+ },
+ "smn": {
+ "name": "Inari Sami"
+ },
+ "id": {
+ "name": "Indoneesi senni"
+ },
+ "hi": {
+ "name": "Induu senni"
+ },
+ "en": {
+ "name": "Inglisi senni"
+ },
+ "en-GB": {
+ "name": "Inglisi senni (Albaasalaama Marganta)"
+ },
+ "en-CA": {
+ "name": "Inglisi senni (Kanaada)"
+ },
+ "en-AU": {
+ "name": "Inglisi senni (Ostraali)"
+ },
+ "ga": {
+ "name": "Irish"
+ },
+ "it": {
+ "name": "Itaali senni"
+ },
+ "ja": {
+ "name": "Japonee senni"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabyle"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kl": {
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "kn": {
+ "name": "Kannada"
+ },
+ "ks": {
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "name": "Kazakh"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "km": {
+ "name": "Kmeer senni, Game here"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "ko": {
+ "name": "Koree senni"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "ky": {
+ "name": "Kyrgyz"
+ },
+ "ar": {
+ "name": "Laaraw senni"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "Lao"
+ },
+ "lv": {
+ "name": "Latvian"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "lt": {
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "mk": {
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "mg": {
+ "name": "Malagasy"
+ },
+ "ml": {
+ "name": "Malayalam"
+ },
+ "ms": {
+ "name": "Maleezi senni"
+ },
+ "mt": {
+ "name": "Maltese"
+ },
+ "gv": {
+ "name": "Manx"
+ },
+ "mr": {
+ "name": "Marathi"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "mn": {
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nds-NL": {
+ "name": "nds (Hollandu)"
+ },
+ "ne": {
+ "name": "Neepal senni"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "nd": {
+ "name": "North Ndebele"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "se": {
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "or": {
+ "name": "Odia"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "os": {
+ "name": "Ossetic"
+ },
+ "ps": {
+ "name": "Pashto"
+ },
+ "pl": {
+ "name": "Polonee senni"
+ },
+ "pt": {
+ "name": "Portugee senni"
+ },
+ "pt-PT": {
+ "name": "Portugee senni (Portugaal)"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "pa": {
+ "name": "Punjaabi sennii"
+ },
+ "qu": {
+ "name": "Quechua"
+ },
+ "rm": {
+ "name": "Romansh"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "ro": {
+ "name": "Rumaani senni"
+ },
+ "ro-MD": {
+ "name": "Rumaani senni (Moldovi)"
+ },
+ "rn": {
+ "name": "Rundi"
+ },
+ "ru": {
+ "name": "Ruusi senni"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "rw": {
+ "name": "Rwanda senni"
+ },
+ "sah": {
+ "name": "Sakha"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "gd": {
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "sr": {
+ "name": "Serbian"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "si": {
+ "name": "Sinhala"
+ },
+ "zh": {
+ "name": "Sinuwa senni, Mandareŋ"
+ },
+ "zh-Hans": {
+ "name": "Sinuwa senni, Mandareŋ (Hans)"
+ },
+ "zh-Hant": {
+ "name": "Sinuwa senni, Mandareŋ (Hant)"
+ },
+ "sk": {
+ "name": "Slovak"
+ },
+ "sl": {
+ "name": "Slovenian"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "so": {
+ "name": "Somaali senni"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sv": {
+ "name": "Suweede senni"
+ },
+ "sw-CD": {
+ "name": "sw (Kongoo demookaratiki laboo)"
+ },
+ "sw": {
+ "name": "Swahili"
+ },
+ "gsw": {
+ "name": "Swiss German"
+ },
+ "th": {
+ "name": "Taailandu senni"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "ta": {
+ "name": "Tamil senni"
+ },
+ "twq": {
+ "name": "Tasawaq senni"
+ },
+ "te": {
+ "name": "Telugu"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "bo": {
+ "name": "Tibetan"
+ },
+ "ti": {
+ "name": "Tigrinya"
+ },
+ "to": {
+ "name": "Tongan"
+ },
+ "tk": {
+ "name": "Turkmen"
+ },
+ "tr": {
+ "name": "Turku senni"
+ },
+ "uk": {
+ "name": "Ukreen senni"
+ },
+ "hsb": {
+ "name": "Upper Sorbian"
+ },
+ "ur": {
+ "name": "Urdu senni"
+ },
+ "ug": {
+ "name": "Uyghur"
+ },
+ "uz": {
+ "name": "Uzbek"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vi": {
+ "name": "Vietnaam senni"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "cy": {
+ "name": "Welsh"
+ },
+ "fy": {
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "yi": {
+ "name": "Yiddish"
+ },
+ "yo": {
+ "name": "Yorbance senni"
+ },
+ "dje": {
+ "name": "Zarma"
+ },
+ "zu": {
+ "name": "Zulu senni"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/tzm.json b/vendor/commerceguys/intl/resources/language/tzm.json
new file mode 100644
index 000000000..58074987e
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/tzm.json
@@ -0,0 +1,632 @@
+{
+ "af": {
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "sq": {
+ "name": "Albanian"
+ },
+ "hy": {
+ "name": "Armenian"
+ },
+ "as": {
+ "name": "Assamese"
+ },
+ "ast": {
+ "name": "Asturian"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "az": {
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "eu": {
+ "name": "Basque"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "bs": {
+ "name": "Bosnian"
+ },
+ "br": {
+ "name": "Breton"
+ },
+ "yue": {
+ "name": "Cantonese"
+ },
+ "ca": {
+ "name": "Catalan"
+ },
+ "ckb": {
+ "name": "Central Kurdish"
+ },
+ "ce": {
+ "name": "Chechen"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "cu": {
+ "name": "Church Slavic"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "kw": {
+ "name": "Cornish"
+ },
+ "hr": {
+ "name": "Croatian"
+ },
+ "da": {
+ "name": "Danish"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "dz": {
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "eo": {
+ "name": "Esperanto"
+ },
+ "et": {
+ "name": "Estonian"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fo": {
+ "name": "Faroese"
+ },
+ "fil": {
+ "name": "Filipino"
+ },
+ "fi": {
+ "name": "Finnish"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "gl": {
+ "name": "Galician"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "ka": {
+ "name": "Georgian"
+ },
+ "gu": {
+ "name": "Gujarati"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "haw": {
+ "name": "Hawaiian"
+ },
+ "he": {
+ "name": "Hebrew"
+ },
+ "is": {
+ "name": "Icelandic"
+ },
+ "smn": {
+ "name": "Inari Sami"
+ },
+ "ga": {
+ "name": "Irish"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabyle"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kl": {
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "kn": {
+ "name": "Kannada"
+ },
+ "ks": {
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "name": "Kazakh"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "ky": {
+ "name": "Kyrgyz"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "Lao"
+ },
+ "lv": {
+ "name": "Latvian"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "lt": {
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "mk": {
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "mg": {
+ "name": "Malagasy"
+ },
+ "ml": {
+ "name": "Malayalam"
+ },
+ "mt": {
+ "name": "Maltese"
+ },
+ "gv": {
+ "name": "Manx"
+ },
+ "mr": {
+ "name": "Marathi"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "mn": {
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nds-NL": {
+ "name": "nds (Hulanḍa)"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "nd": {
+ "name": "North Ndebele"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "se": {
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "or": {
+ "name": "Odia"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "os": {
+ "name": "Ossetic"
+ },
+ "ps": {
+ "name": "Pashto"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "qu": {
+ "name": "Quechua"
+ },
+ "rm": {
+ "name": "Romansh"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "rn": {
+ "name": "Rundi"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "sah": {
+ "name": "Sakha"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "gd": {
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "sr": {
+ "name": "Serbian"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "si": {
+ "name": "Sinhala"
+ },
+ "sk": {
+ "name": "Slovak"
+ },
+ "sl": {
+ "name": "Slovenian"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw-CD": {
+ "name": "sw (Tagduda Tadimuqraṭit n Kungu)"
+ },
+ "sw": {
+ "name": "Swahili"
+ },
+ "gsw": {
+ "name": "Swiss German"
+ },
+ "bg": {
+ "name": "Tabelɣarit"
+ },
+ "pa": {
+ "name": "Tabenjabit"
+ },
+ "be": {
+ "name": "Tabilarusit"
+ },
+ "bn": {
+ "name": "Tabinɣalit"
+ },
+ "my": {
+ "name": "Taburmanit"
+ },
+ "pt": {
+ "name": "Taburtuɣalit"
+ },
+ "pt-PT": {
+ "name": "Taburtuɣalit (Purtuɣal)"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "cs": {
+ "name": "Tačikt"
+ },
+ "zh": {
+ "name": "Tacinwit,Mandarin"
+ },
+ "zh-Hans": {
+ "name": "Tacinwit,Mandarin (Hans)"
+ },
+ "zh-Hant": {
+ "name": "Tacinwit,Mandarin (Hant)"
+ },
+ "fa": {
+ "name": "Tafarisit"
+ },
+ "fr": {
+ "name": "Tafṛansist"
+ },
+ "fr-CA": {
+ "name": "Tafṛansist (Kanada)"
+ },
+ "fr-CH": {
+ "name": "Tafṛansist (Swisra)"
+ },
+ "ha": {
+ "name": "Tahawsat"
+ },
+ "hu": {
+ "name": "Tahenɣarit"
+ },
+ "hi": {
+ "name": "Tahindit"
+ },
+ "nl": {
+ "name": "Tahulanḍit"
+ },
+ "nl-BE": {
+ "name": "Tahulanḍit (Beljika)"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "ja": {
+ "name": "Tajappunit"
+ },
+ "ak": {
+ "name": "Takanit"
+ },
+ "ko": {
+ "name": "Takurit"
+ },
+ "de": {
+ "name": "Talmanit"
+ },
+ "de-CH": {
+ "name": "Talmanit (Swisra)"
+ },
+ "de-AT": {
+ "name": "Talmanit (Ustriyya)"
+ },
+ "ms": {
+ "name": "Tamalizit"
+ },
+ "tzm": {
+ "name": "Tamaziɣt n laṭlaṣ"
+ },
+ "am": {
+ "name": "Tamharit"
+ },
+ "en": {
+ "name": "Tanglizt"
+ },
+ "en-CA": {
+ "name": "Tanglizt (Kanada)"
+ },
+ "en-GB": {
+ "name": "Tanglizt (Tagelda Taddukelt)"
+ },
+ "en-AU": {
+ "name": "Tanglizt (Usṭralya)"
+ },
+ "ne": {
+ "name": "Tanippalit"
+ },
+ "pl": {
+ "name": "Tappulunit"
+ },
+ "ro": {
+ "name": "Taṛumanit"
+ },
+ "ro-MD": {
+ "name": "Taṛumanit (Mulḍavya)"
+ },
+ "ru": {
+ "name": "Tarusit"
+ },
+ "rw": {
+ "name": "Tarwandit"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "es": {
+ "name": "tasbelyunit"
+ },
+ "es-MX": {
+ "name": "tasbelyunit (Miksik)"
+ },
+ "so": {
+ "name": "Taṣumalit"
+ },
+ "sv": {
+ "name": "Taswidit"
+ },
+ "it": {
+ "name": "Taṭalyant"
+ },
+ "ta": {
+ "name": "Tatamilt"
+ },
+ "th": {
+ "name": "Taṭayt"
+ },
+ "tr": {
+ "name": "Taturkit"
+ },
+ "vi": {
+ "name": "Taviṭnamit"
+ },
+ "km": {
+ "name": "Taxmert ,Talammast"
+ },
+ "el": {
+ "name": "Tayunanit"
+ },
+ "yo": {
+ "name": "Tayurubat"
+ },
+ "zu": {
+ "name": "tazulut"
+ },
+ "ar": {
+ "name": "Taεrabt"
+ },
+ "te": {
+ "name": "Telugu"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "bo": {
+ "name": "Tibetan"
+ },
+ "ig": {
+ "name": "Tigbut"
+ },
+ "ti": {
+ "name": "Tigrinya"
+ },
+ "id": {
+ "name": "Tindunisit"
+ },
+ "to": {
+ "name": "Tongan"
+ },
+ "uk": {
+ "name": "Tukranit"
+ },
+ "ur": {
+ "name": "Turdut"
+ },
+ "tk": {
+ "name": "Turkmen"
+ },
+ "hsb": {
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "name": "Uyghur"
+ },
+ "uz": {
+ "name": "Uzbek"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "cy": {
+ "name": "Welsh"
+ },
+ "fy": {
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "yi": {
+ "name": "Yiddish"
+ },
+ "dje": {
+ "name": "Zarma"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/ug.json b/vendor/commerceguys/intl/resources/language/ug.json
new file mode 100644
index 000000000..376d48c68
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/ug.json
@@ -0,0 +1,635 @@
+{
+ "zh-Hans": {
+ "name": "ئاددىي خەنچە"
+ },
+ "as": {
+ "name": "ئاسامچە"
+ },
+ "ast": {
+ "name": "ئاستۇرىيەچە"
+ },
+ "asa": {
+ "name": "ئاسۇچە"
+ },
+ "af": {
+ "name": "ئافرىكانچە"
+ },
+ "ak": {
+ "name": "ئاكانچە"
+ },
+ "agq": {
+ "name": "ئاگەمچە"
+ },
+ "sq": {
+ "name": "ئالبانچە"
+ },
+ "am": {
+ "name": "ئامھارچە"
+ },
+ "en-AU": {
+ "name": "ئاۋسترالىيە ئىنگلىزچە"
+ },
+ "de-AT": {
+ "name": "ئاۋستىرىيە گېرمانچە"
+ },
+ "ar": {
+ "name": "ئەرەبچە"
+ },
+ "hy": {
+ "name": "ئەرمېنچە"
+ },
+ "az": {
+ "name": "ئەزەربەيجانچە"
+ },
+ "en-GB": {
+ "name": "ئەنگلىيە ئىنگلىزچە"
+ },
+ "or": {
+ "name": "ئودىياچە"
+ },
+ "ur": {
+ "name": "ئوردۇچە"
+ },
+ "om": {
+ "name": "ئوروموچە"
+ },
+ "os": {
+ "name": "ئوسسېتچەچە"
+ },
+ "uk": {
+ "name": "ئۇكرائىنچە"
+ },
+ "ug": {
+ "name": "ئۇيغۇرچە"
+ },
+ "uz": {
+ "name": "ئۆزبېكچە"
+ },
+ "zgh": {
+ "name": "ئۆلچەملىك ماراكەش تامازىتچە"
+ },
+ "hsb": {
+ "name": "ئۈستۈن سوربچە"
+ },
+ "eo": {
+ "name": "ئېسپرانتوچە"
+ },
+ "et": {
+ "name": "ئېستونچە"
+ },
+ "ebu": {
+ "name": "ئېمبۇچە"
+ },
+ "ewo": {
+ "name": "ئېۋوندوچە"
+ },
+ "ee": {
+ "name": "ئېۋېچە"
+ },
+ "he": {
+ "name": "ئىبرانىيچە"
+ },
+ "it": {
+ "name": "ئىتالىيانچە"
+ },
+ "ga": {
+ "name": "ئىرېلاندچە"
+ },
+ "es": {
+ "name": "ئىسپانچە"
+ },
+ "is": {
+ "name": "ئىسلاندچە"
+ },
+ "ig": {
+ "name": "ئىگبوچە"
+ },
+ "smn": {
+ "name": "ئىنارى سامىچە"
+ },
+ "en": {
+ "name": "ئىنگلىزچە"
+ },
+ "bas": {
+ "name": "باساچە"
+ },
+ "eu": {
+ "name": "باسكىچە"
+ },
+ "ksf": {
+ "name": "بافىياچە"
+ },
+ "bm": {
+ "name": "بامباراچە"
+ },
+ "brx": {
+ "name": "بودوچە"
+ },
+ "bs": {
+ "name": "بوسىنچە"
+ },
+ "bg": {
+ "name": "بۇلغارچە"
+ },
+ "be": {
+ "name": "بېلارۇسچە"
+ },
+ "bem": {
+ "name": "بېمباچە"
+ },
+ "bez": {
+ "name": "بېناچە"
+ },
+ "bn": {
+ "name": "بېنگالچە"
+ },
+ "my": {
+ "name": "بىرماچە"
+ },
+ "br": {
+ "name": "بىرېتونچە"
+ },
+ "fa": {
+ "name": "پارسچە"
+ },
+ "pa": {
+ "name": "پەنجابچە"
+ },
+ "pt": {
+ "name": "پورتۇگالچە"
+ },
+ "pl": {
+ "name": "پولەكچە"
+ },
+ "ps": {
+ "name": "پۇشتۇچە"
+ },
+ "ta": {
+ "name": "تامىلچە"
+ },
+ "dav": {
+ "name": "تايتاچە"
+ },
+ "th": {
+ "name": "تايلاندچە"
+ },
+ "to": {
+ "name": "تونگانچە"
+ },
+ "dsb": {
+ "name": "تۆۋەن سوربچە"
+ },
+ "nds": {
+ "name": "تۆۋەن گېرمانچە"
+ },
+ "nds-NL": {
+ "name": "تۆۋەن گېرمانچە (گوللاندىيە)"
+ },
+ "tr": {
+ "name": "تۈركچە"
+ },
+ "tk": {
+ "name": "تۈركمەنچە"
+ },
+ "teo": {
+ "name": "تېسوچە"
+ },
+ "te": {
+ "name": "تېلۇگۇچە"
+ },
+ "bo": {
+ "name": "تىبەتچە"
+ },
+ "ti": {
+ "name": "تىگرىنياچە"
+ },
+ "dyo": {
+ "name": "جولاچە"
+ },
+ "ce": {
+ "name": "چېچىنچە"
+ },
+ "cs": {
+ "name": "چېخچە"
+ },
+ "chr": {
+ "name": "چېروكىچە"
+ },
+ "cgg": {
+ "name": "چىگاچە"
+ },
+ "ha": {
+ "name": "خائۇساچە"
+ },
+ "zh": {
+ "name": "خەنزۇچە"
+ },
+ "da": {
+ "name": "دانىشچە"
+ },
+ "dua": {
+ "name": "دۇئالاچە"
+ },
+ "rm": {
+ "name": "رومانسچە"
+ },
+ "rof": {
+ "name": "رومبوچە"
+ },
+ "ro": {
+ "name": "رومىنچە"
+ },
+ "ro-MD": {
+ "name": "رومىنچە (مولدوۋا)"
+ },
+ "ru": {
+ "name": "رۇسچە"
+ },
+ "rn": {
+ "name": "رۇندىچە"
+ },
+ "rwk": {
+ "name": "رىۋاچە"
+ },
+ "dje": {
+ "name": "زارماچە"
+ },
+ "dz": {
+ "name": "زوڭخاچە"
+ },
+ "zu": {
+ "name": "زۇلۇچە"
+ },
+ "sah": {
+ "name": "ساخاچە"
+ },
+ "saq": {
+ "name": "سامبۇرۇچە"
+ },
+ "sg": {
+ "name": "سانگوچە"
+ },
+ "sbp": {
+ "name": "سانگۇچە"
+ },
+ "xog": {
+ "name": "سوگاچە"
+ },
+ "so": {
+ "name": "سومالىچە"
+ },
+ "sr": {
+ "name": "سېربچە"
+ },
+ "seh": {
+ "name": "سېناچە"
+ },
+ "sk": {
+ "name": "سىلوۋاكچە"
+ },
+ "sl": {
+ "name": "سىلوۋېنچە"
+ },
+ "si": {
+ "name": "سىنگالچە"
+ },
+ "sw": {
+ "name": "سىۋاھىلچە"
+ },
+ "ksb": {
+ "name": "شامبالاچە"
+ },
+ "ses": {
+ "name": "شەرقىي سوڭخايچە"
+ },
+ "gd": {
+ "name": "شوتلاندىيە گايلچىسى"
+ },
+ "sn": {
+ "name": "شوناچە"
+ },
+ "shi": {
+ "name": "شىلخاچە"
+ },
+ "nd": {
+ "name": "شىمالى ندەبەلەچە"
+ },
+ "se": {
+ "name": "شىمالىي سامىچە"
+ },
+ "twq": {
+ "name": "شىمالىي سوڭخايچە"
+ },
+ "sv": {
+ "name": "شىۋېدچە"
+ },
+ "de-CH": {
+ "name": "شىۋىتسارىيە ئېگىزلىك گېرمانچە"
+ },
+ "fr-CH": {
+ "name": "شىۋىتسارىيە فىرانسۇزچە"
+ },
+ "fy": {
+ "name": "غەربىي فىرسچە"
+ },
+ "fo": {
+ "name": "فائېروچە"
+ },
+ "ff": {
+ "name": "فۇلاھچە"
+ },
+ "fr": {
+ "name": "فىرانسۇزچە"
+ },
+ "fur": {
+ "name": "فىرىئۇلىچە"
+ },
+ "fil": {
+ "name": "فىلىپپىنچە"
+ },
+ "fi": {
+ "name": "فىنچە"
+ },
+ "kk": {
+ "name": "قازاقچە"
+ },
+ "cu": {
+ "name": "قەدىمكى سلاۋيانچە"
+ },
+ "ky": {
+ "name": "قىرغىزچە"
+ },
+ "kea": {
+ "name": "كابۇۋېردىيانچە"
+ },
+ "kab": {
+ "name": "كابىلېچە"
+ },
+ "ca": {
+ "name": "كاتالانچە"
+ },
+ "kkj": {
+ "name": "كاكوچە"
+ },
+ "kln": {
+ "name": "كالېنجىنچە"
+ },
+ "kam": {
+ "name": "كامباچە"
+ },
+ "en-CA": {
+ "name": "كانادا ئىنگلىزچە"
+ },
+ "fr-CA": {
+ "name": "كانادا فىرانسۇزچە"
+ },
+ "kn": {
+ "name": "كانناداچە"
+ },
+ "ks": {
+ "name": "كەشمىرچە"
+ },
+ "kw": {
+ "name": "كورنىشچە"
+ },
+ "ko": {
+ "name": "كورېيەچە"
+ },
+ "ksh": {
+ "name": "كولىشچە"
+ },
+ "kok": {
+ "name": "كونكانچە"
+ },
+ "sw-CD": {
+ "name": "كونگو سىۋالىچە"
+ },
+ "khq": {
+ "name": "كويرا چىنىچە"
+ },
+ "nmg": {
+ "name": "كۋاسىيوچە"
+ },
+ "qu": {
+ "name": "كېچىۋاچە"
+ },
+ "rw": {
+ "name": "كېنىيەرىۋانداچە"
+ },
+ "hr": {
+ "name": "كىرودىچە"
+ },
+ "ki": {
+ "name": "كىكۇيۇچە"
+ },
+ "km": {
+ "name": "كىمېرچە"
+ },
+ "gl": {
+ "name": "گالىچە"
+ },
+ "lg": {
+ "name": "گانداچە"
+ },
+ "nl": {
+ "name": "گوللاندچە"
+ },
+ "nl-BE": {
+ "name": "گوللاندچە (بېلگىيە)"
+ },
+ "yue": {
+ "name": "گۇاڭدوڭچە"
+ },
+ "gu": {
+ "name": "گۇجاراتچە"
+ },
+ "guz": {
+ "name": "گۇسىچە"
+ },
+ "de": {
+ "name": "گېرمانچە"
+ },
+ "gsw": {
+ "name": "گېرمانچە شىۋىتسارىيە"
+ },
+ "ka": {
+ "name": "گىرۇزچە"
+ },
+ "el": {
+ "name": "گىرېكچە"
+ },
+ "kl": {
+ "name": "گىرېنلاندچە"
+ },
+ "lo": {
+ "name": "لائوسچە"
+ },
+ "lv": {
+ "name": "لاتچە"
+ },
+ "lag": {
+ "name": "لانگىچە"
+ },
+ "luo": {
+ "name": "لۇئوچە"
+ },
+ "lu": {
+ "name": "لۇبا-كاتانگاچە"
+ },
+ "luy": {
+ "name": "لۇياچە"
+ },
+ "lt": {
+ "name": "لىتۋانىچە"
+ },
+ "ln": {
+ "name": "لىنگالاچە"
+ },
+ "lb": {
+ "name": "لىيۇكسېمبۇرگچە"
+ },
+ "jmc": {
+ "name": "ماچامچە"
+ },
+ "mr": {
+ "name": "ماراتىچە"
+ },
+ "mas": {
+ "name": "ماسايچە"
+ },
+ "kde": {
+ "name": "ماكوندېچە"
+ },
+ "mgh": {
+ "name": "ماكۇۋاچە"
+ },
+ "mk": {
+ "name": "ماكېدونچە"
+ },
+ "mg": {
+ "name": "مالاگاسچە"
+ },
+ "ml": {
+ "name": "مالايالامچە"
+ },
+ "ms": {
+ "name": "مالايچە"
+ },
+ "mt": {
+ "name": "مالتاچە"
+ },
+ "gv": {
+ "name": "مانچە"
+ },
+ "tzm": {
+ "name": "مەركىزىي ئاتلاس تامازايتچە"
+ },
+ "ckb": {
+ "name": "مەركىزىي كۇردچە"
+ },
+ "mfe": {
+ "name": "مورىسيېنچە"
+ },
+ "mn": {
+ "name": "موڭغۇلچە"
+ },
+ "nus": {
+ "name": "مۇئېرچە"
+ },
+ "zh-Hant": {
+ "name": "مۇرەككەپ خەنچە"
+ },
+ "mua": {
+ "name": "مۇنداڭچە"
+ },
+ "mgo": {
+ "name": "مېتاچە’"
+ },
+ "mer": {
+ "name": "مېرۇچە"
+ },
+ "es-MX": {
+ "name": "مېكسىكا ئىسپانچە"
+ },
+ "naq": {
+ "name": "ناماچە"
+ },
+ "jgo": {
+ "name": "نگومباچە"
+ },
+ "nnh": {
+ "name": "نگېمبۇنچە"
+ },
+ "nb": {
+ "name": "نورۋىگىيە بوكمالچە"
+ },
+ "ne": {
+ "name": "نېپالچە"
+ },
+ "nyn": {
+ "name": "نىيانكولېچە"
+ },
+ "haw": {
+ "name": "ھاۋايچە"
+ },
+ "id": {
+ "name": "ھىندونېزچە"
+ },
+ "hi": {
+ "name": "ھىندىچە"
+ },
+ "wae": {
+ "name": "ۋالسېرچە"
+ },
+ "vai": {
+ "name": "ۋايچە"
+ },
+ "vo": {
+ "name": "ۋولاپۇكچە"
+ },
+ "vun": {
+ "name": "ۋۇنجوچە"
+ },
+ "cy": {
+ "name": "ۋېلشچە"
+ },
+ "hu": {
+ "name": "ۋېنگىرچە"
+ },
+ "vi": {
+ "name": "ۋىيېتنامچە"
+ },
+ "ja": {
+ "name": "ياپونچە"
+ },
+ "yav": {
+ "name": "ياڭبەنچە"
+ },
+ "pt-PT": {
+ "name": "ياۋروپا پورتۇگالچە"
+ },
+ "yo": {
+ "name": "يورۇباچە"
+ },
+ "nn": {
+ "name": "يېڭى نورۋېگچە"
+ },
+ "ii": {
+ "name": "يىچە (سىچۈەن)"
+ },
+ "yi": {
+ "name": "يىددىشچە"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "prg": {
+ "name": "Prussian"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/uk.json b/vendor/commerceguys/intl/resources/language/uk.json
new file mode 100644
index 000000000..2bbcebf93
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/uk.json
@@ -0,0 +1,635 @@
+{
+ "agq": {
+ "name": "агем"
+ },
+ "az": {
+ "name": "азербайджанська"
+ },
+ "ak": {
+ "name": "акан"
+ },
+ "sq": {
+ "name": "албанська"
+ },
+ "am": {
+ "name": "амхарська"
+ },
+ "en": {
+ "name": "англійська"
+ },
+ "en-AU": {
+ "name": "англійська (Австралія)"
+ },
+ "en-CA": {
+ "name": "англійська (Канада)"
+ },
+ "ar": {
+ "name": "арабська"
+ },
+ "as": {
+ "name": "ассамська"
+ },
+ "ast": {
+ "name": "астурська"
+ },
+ "asa": {
+ "name": "асу"
+ },
+ "af": {
+ "name": "африкаанс"
+ },
+ "bm": {
+ "name": "бамбара"
+ },
+ "bas": {
+ "name": "баса"
+ },
+ "eu": {
+ "name": "баскська"
+ },
+ "ksf": {
+ "name": "бафіа"
+ },
+ "bem": {
+ "name": "бемба"
+ },
+ "bez": {
+ "name": "бена"
+ },
+ "bn": {
+ "name": "бенгальська"
+ },
+ "be": {
+ "name": "білоруська"
+ },
+ "my": {
+ "name": "бірманська"
+ },
+ "brx": {
+ "name": "бодо"
+ },
+ "bg": {
+ "name": "болгарська"
+ },
+ "bs": {
+ "name": "боснійська"
+ },
+ "br": {
+ "name": "бретонська"
+ },
+ "en-GB": {
+ "name": "британська англійська"
+ },
+ "nb": {
+ "name": "букмол (Норвегія)"
+ },
+ "vai": {
+ "name": "ваї"
+ },
+ "wae": {
+ "name": "валзерська"
+ },
+ "cy": {
+ "name": "валлійська"
+ },
+ "hsb": {
+ "name": "верхньолужицька"
+ },
+ "de-CH": {
+ "name": "верхньонімецька (Швейцарія)"
+ },
+ "hy": {
+ "name": "вірменська"
+ },
+ "vo": {
+ "name": "волапʼюк"
+ },
+ "vun": {
+ "name": "вуньо"
+ },
+ "vi": {
+ "name": "вʼєтнамська"
+ },
+ "haw": {
+ "name": "гавайська"
+ },
+ "gd": {
+ "name": "гаельська"
+ },
+ "gl": {
+ "name": "галісійська"
+ },
+ "lg": {
+ "name": "ганда"
+ },
+ "hi": {
+ "name": "гінді"
+ },
+ "nl": {
+ "name": "голландська"
+ },
+ "el": {
+ "name": "грецька"
+ },
+ "ka": {
+ "name": "грузинська"
+ },
+ "gu": {
+ "name": "гуджараті"
+ },
+ "guz": {
+ "name": "гусії"
+ },
+ "da": {
+ "name": "данська"
+ },
+ "dje": {
+ "name": "джерма"
+ },
+ "dz": {
+ "name": "дзонг-ке"
+ },
+ "dua": {
+ "name": "дуала"
+ },
+ "dyo": {
+ "name": "дьола-фоні"
+ },
+ "ee": {
+ "name": "еве"
+ },
+ "ewo": {
+ "name": "евондо"
+ },
+ "ebu": {
+ "name": "ембу"
+ },
+ "eo": {
+ "name": "есперанто"
+ },
+ "et": {
+ "name": "естонська"
+ },
+ "fy": {
+ "name": "західнофризька"
+ },
+ "zu": {
+ "name": "зулуська"
+ },
+ "he": {
+ "name": "іврит"
+ },
+ "ig": {
+ "name": "ігбо"
+ },
+ "yi": {
+ "name": "ідиш"
+ },
+ "id": {
+ "name": "індонезійська"
+ },
+ "ga": {
+ "name": "ірландська"
+ },
+ "is": {
+ "name": "ісландська"
+ },
+ "es": {
+ "name": "іспанська"
+ },
+ "es-MX": {
+ "name": "іспанська (Мексика)"
+ },
+ "it": {
+ "name": "італійська"
+ },
+ "yo": {
+ "name": "йоруба"
+ },
+ "kab": {
+ "name": "кабільська"
+ },
+ "kea": {
+ "name": "кабувердіану"
+ },
+ "kk": {
+ "name": "казахська"
+ },
+ "kkj": {
+ "name": "како"
+ },
+ "kl": {
+ "name": "калааллісут"
+ },
+ "kln": {
+ "name": "календжин"
+ },
+ "kam": {
+ "name": "камба"
+ },
+ "kn": {
+ "name": "каннада"
+ },
+ "yue": {
+ "name": "кантонська"
+ },
+ "ca": {
+ "name": "каталонська"
+ },
+ "ks": {
+ "name": "кашмірська"
+ },
+ "nmg": {
+ "name": "квазіо"
+ },
+ "qu": {
+ "name": "кечуа"
+ },
+ "ky": {
+ "name": "киргизька"
+ },
+ "zh": {
+ "name": "китайська"
+ },
+ "zh-Hans": {
+ "name": "китайська спрощена"
+ },
+ "zh-Hant": {
+ "name": "китайська традиційна"
+ },
+ "cgg": {
+ "name": "кіга"
+ },
+ "ki": {
+ "name": "кікуйю"
+ },
+ "rw": {
+ "name": "кіньяруанда"
+ },
+ "khq": {
+ "name": "койра чіїні"
+ },
+ "ses": {
+ "name": "койраборо сені"
+ },
+ "ksh": {
+ "name": "колоніан"
+ },
+ "sw-CD": {
+ "name": "конгійське суахілі"
+ },
+ "kok": {
+ "name": "конкані"
+ },
+ "ko": {
+ "name": "корейська"
+ },
+ "kw": {
+ "name": "корнійська"
+ },
+ "ckb": {
+ "name": "курдська (сорані)"
+ },
+ "km": {
+ "name": "кхмерська"
+ },
+ "lkt": {
+ "name": "лакота"
+ },
+ "lag": {
+ "name": "лангі"
+ },
+ "lo": {
+ "name": "лаоська"
+ },
+ "lv": {
+ "name": "латвійська"
+ },
+ "lt": {
+ "name": "литовська"
+ },
+ "ln": {
+ "name": "лінгала"
+ },
+ "lu": {
+ "name": "луба-катанга"
+ },
+ "luy": {
+ "name": "луйя"
+ },
+ "luo": {
+ "name": "луо"
+ },
+ "lb": {
+ "name": "люксембурзька"
+ },
+ "mfe": {
+ "name": "маврикійська креольська"
+ },
+ "mzn": {
+ "name": "мазандеранська"
+ },
+ "mk": {
+ "name": "македонська"
+ },
+ "kde": {
+ "name": "маконде"
+ },
+ "mgh": {
+ "name": "макува-меето"
+ },
+ "mg": {
+ "name": "малагасійська"
+ },
+ "ms": {
+ "name": "малайська"
+ },
+ "ml": {
+ "name": "малаялам"
+ },
+ "mt": {
+ "name": "мальтійська"
+ },
+ "mr": {
+ "name": "маратхі"
+ },
+ "mas": {
+ "name": "масаї"
+ },
+ "jmc": {
+ "name": "мачаме"
+ },
+ "gv": {
+ "name": "менкська"
+ },
+ "mer": {
+ "name": "меру"
+ },
+ "mgo": {
+ "name": "мета"
+ },
+ "ro-MD": {
+ "name": "молдавська"
+ },
+ "mn": {
+ "name": "монгольська"
+ },
+ "mua": {
+ "name": "мунданг"
+ },
+ "naq": {
+ "name": "нама"
+ },
+ "nnh": {
+ "name": "нгємбун"
+ },
+ "jgo": {
+ "name": "нгомба"
+ },
+ "nd": {
+ "name": "ндебелє північна"
+ },
+ "ne": {
+ "name": "непальська"
+ },
+ "dsb": {
+ "name": "нижньолужицька"
+ },
+ "nds": {
+ "name": "нижньонімецька"
+ },
+ "nds-NL": {
+ "name": "нижньосаксонська"
+ },
+ "de": {
+ "name": "німецька"
+ },
+ "de-AT": {
+ "name": "німецька (Австрія)"
+ },
+ "gsw": {
+ "name": "німецька (Швейцарія)"
+ },
+ "nus": {
+ "name": "нуер"
+ },
+ "nyn": {
+ "name": "ньянколе"
+ },
+ "nn": {
+ "name": "нюношк (Норвегія)"
+ },
+ "or": {
+ "name": "орія"
+ },
+ "om": {
+ "name": "оромо"
+ },
+ "os": {
+ "name": "осетинська"
+ },
+ "pa": {
+ "name": "панджабі"
+ },
+ "fa": {
+ "name": "перська"
+ },
+ "lrc": {
+ "name": "північна лурська"
+ },
+ "pl": {
+ "name": "польська"
+ },
+ "pt": {
+ "name": "португальська"
+ },
+ "pt-PT": {
+ "name": "португальська (Європа)"
+ },
+ "prg": {
+ "name": "пруська"
+ },
+ "ps": {
+ "name": "пушту"
+ },
+ "rwk": {
+ "name": "рва"
+ },
+ "rm": {
+ "name": "ретороманська"
+ },
+ "rof": {
+ "name": "ромбо"
+ },
+ "ru": {
+ "name": "російська"
+ },
+ "ro": {
+ "name": "румунська"
+ },
+ "rn": {
+ "name": "рунді"
+ },
+ "smn": {
+ "name": "саамська інарі"
+ },
+ "se": {
+ "name": "саамська північна"
+ },
+ "saq": {
+ "name": "самбуру"
+ },
+ "sg": {
+ "name": "санго"
+ },
+ "sbp": {
+ "name": "сангу"
+ },
+ "seh": {
+ "name": "сена"
+ },
+ "sr": {
+ "name": "сербська"
+ },
+ "si": {
+ "name": "сингальська"
+ },
+ "ii": {
+ "name": "сичуань"
+ },
+ "sk": {
+ "name": "словацька"
+ },
+ "sl": {
+ "name": "словенська"
+ },
+ "xog": {
+ "name": "сога"
+ },
+ "so": {
+ "name": "сомалі"
+ },
+ "zgh": {
+ "name": "стандартна марокканська берберська"
+ },
+ "sw": {
+ "name": "суахілі"
+ },
+ "dav": {
+ "name": "таіта"
+ },
+ "th": {
+ "name": "тайська"
+ },
+ "ta": {
+ "name": "тамільська"
+ },
+ "twq": {
+ "name": "тасавак"
+ },
+ "shi": {
+ "name": "тачеліт"
+ },
+ "te": {
+ "name": "телугу"
+ },
+ "teo": {
+ "name": "тесо"
+ },
+ "bo": {
+ "name": "тибетська"
+ },
+ "ti": {
+ "name": "тигринья"
+ },
+ "to": {
+ "name": "тонганська"
+ },
+ "tr": {
+ "name": "турецька"
+ },
+ "tk": {
+ "name": "туркменська"
+ },
+ "hu": {
+ "name": "угорська"
+ },
+ "uz": {
+ "name": "узбецька"
+ },
+ "ug": {
+ "name": "уйгурська"
+ },
+ "uk": {
+ "name": "українська"
+ },
+ "ur": {
+ "name": "урду"
+ },
+ "fo": {
+ "name": "фарерська"
+ },
+ "fil": {
+ "name": "філіппінська"
+ },
+ "fi": {
+ "name": "фінська"
+ },
+ "nl-BE": {
+ "name": "фламандська"
+ },
+ "fr": {
+ "name": "французька"
+ },
+ "fr-CA": {
+ "name": "французька (Канада)"
+ },
+ "fr-CH": {
+ "name": "французька (Швейцарія)"
+ },
+ "fur": {
+ "name": "фріульська"
+ },
+ "ff": {
+ "name": "фула"
+ },
+ "ha": {
+ "name": "хауса"
+ },
+ "hr": {
+ "name": "хорватська"
+ },
+ "tzm": {
+ "name": "центральномароканська тамазіт"
+ },
+ "cu": {
+ "name": "церковнословʼянська"
+ },
+ "chr": {
+ "name": "черокі"
+ },
+ "cs": {
+ "name": "чеська"
+ },
+ "ce": {
+ "name": "чеченська"
+ },
+ "ksb": {
+ "name": "шамбала"
+ },
+ "sv": {
+ "name": "шведська"
+ },
+ "sn": {
+ "name": "шона"
+ },
+ "sah": {
+ "name": "якутська"
+ },
+ "yav": {
+ "name": "янгбен"
+ },
+ "ja": {
+ "name": "японська"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/ur-IN.json b/vendor/commerceguys/intl/resources/language/ur-IN.json
new file mode 100644
index 000000000..64d95ae59
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/ur-IN.json
@@ -0,0 +1,635 @@
+{
+ "hsb": {
+ "name": "اپر سربیائی"
+ },
+ "nds": {
+ "name": "ادنی جرمن"
+ },
+ "nds-NL": {
+ "name": "ادنی سیکسن"
+ },
+ "ur": {
+ "name": "اردو"
+ },
+ "hy": {
+ "name": "ارمینی"
+ },
+ "or": {
+ "name": "اڑیہ"
+ },
+ "uz": {
+ "name": "ازبیک"
+ },
+ "ast": {
+ "name": "اسٹوریائی"
+ },
+ "et": {
+ "name": "اسٹونین"
+ },
+ "it": {
+ "name": "اطالوی"
+ },
+ "agq": {
+ "name": "اغم"
+ },
+ "af": {
+ "name": "افریقی"
+ },
+ "ak": {
+ "name": "اکان"
+ },
+ "ig": {
+ "name": "اِگبو"
+ },
+ "sq": {
+ "name": "البانی"
+ },
+ "ebu": {
+ "name": "امبو"
+ },
+ "am": {
+ "name": "امہاری"
+ },
+ "smn": {
+ "name": "اناری سامی"
+ },
+ "id": {
+ "name": "انڈونیثیائی"
+ },
+ "en": {
+ "name": "انگریزی"
+ },
+ "om": {
+ "name": "اورومو"
+ },
+ "os": {
+ "name": "اوسیٹک"
+ },
+ "eo": {
+ "name": "ایسپرانٹو"
+ },
+ "ee": {
+ "name": "ایو"
+ },
+ "ewo": {
+ "name": "ایوانڈو"
+ },
+ "az": {
+ "name": "آذربائیجانی"
+ },
+ "as": {
+ "name": "آسامی"
+ },
+ "zh-Hans": {
+ "name": "آسان چینی"
+ },
+ "de-AT": {
+ "name": "آسٹریائی جرمن"
+ },
+ "en-AU": {
+ "name": "آسٹریلیائی انگریزی"
+ },
+ "asa": {
+ "name": "آسو"
+ },
+ "is": {
+ "name": "آئس لینڈک"
+ },
+ "ga": {
+ "name": "آئیرِش"
+ },
+ "bas": {
+ "name": "باسا"
+ },
+ "eu": {
+ "name": "باسکی"
+ },
+ "ksf": {
+ "name": "بافيا"
+ },
+ "en-GB": {
+ "name": "برطانوی انگریزی"
+ },
+ "my": {
+ "name": "برمی"
+ },
+ "br": {
+ "name": "بریٹن"
+ },
+ "bg": {
+ "name": "بلغاری"
+ },
+ "bm": {
+ "name": "بمبارا"
+ },
+ "bn": {
+ "name": "بنگالی"
+ },
+ "brx": {
+ "name": "بوڈو"
+ },
+ "bs": {
+ "name": "بوسنی"
+ },
+ "be": {
+ "name": "بیلاروسی"
+ },
+ "bem": {
+ "name": "بیمبا"
+ },
+ "bez": {
+ "name": "بینا"
+ },
+ "prg": {
+ "name": "پارسی"
+ },
+ "pt": {
+ "name": "پُرتگالی"
+ },
+ "ps": {
+ "name": "پشتو"
+ },
+ "pa": {
+ "name": "پنجابی"
+ },
+ "pl": {
+ "name": "پولش"
+ },
+ "twq": {
+ "name": "تاساواق"
+ },
+ "dav": {
+ "name": "تائتا"
+ },
+ "bo": {
+ "name": "تبتی"
+ },
+ "tk": {
+ "name": "ترکمان"
+ },
+ "tr": {
+ "name": "ترکی"
+ },
+ "shi": {
+ "name": "تشلحيت"
+ },
+ "ta": {
+ "name": "تمل"
+ },
+ "teo": {
+ "name": "تیسو"
+ },
+ "te": {
+ "name": "تیلگو"
+ },
+ "th": {
+ "name": "تھائی"
+ },
+ "ti": {
+ "name": "ٹگرینیا"
+ },
+ "to": {
+ "name": "ٹونگن"
+ },
+ "ja": {
+ "name": "جاپانی"
+ },
+ "ka": {
+ "name": "جارجيائى"
+ },
+ "de": {
+ "name": "جرمن"
+ },
+ "dyo": {
+ "name": "جولا فونيا"
+ },
+ "cu": {
+ "name": "چرچ سلاؤ"
+ },
+ "ce": {
+ "name": "چیچن"
+ },
+ "chr": {
+ "name": "چیروکی"
+ },
+ "cs": {
+ "name": "چیک"
+ },
+ "cgg": {
+ "name": "چیگا"
+ },
+ "zh": {
+ "name": "چینی"
+ },
+ "km": {
+ "name": "خمیر"
+ },
+ "dua": {
+ "name": "دوالا"
+ },
+ "nl": {
+ "name": "ڈچ"
+ },
+ "da": {
+ "name": "ڈینش"
+ },
+ "dsb": {
+ "name": "ذیلی سربیائی"
+ },
+ "rwk": {
+ "name": "روا"
+ },
+ "zh-Hant": {
+ "name": "روایتی چینی"
+ },
+ "ru": {
+ "name": "روسی"
+ },
+ "rm": {
+ "name": "رومانش"
+ },
+ "rof": {
+ "name": "رومبو"
+ },
+ "ro": {
+ "name": "رومینین"
+ },
+ "rn": {
+ "name": "رونڈی"
+ },
+ "dje": {
+ "name": "زرمہ"
+ },
+ "zu": {
+ "name": "زولو"
+ },
+ "dz": {
+ "name": "ژونگکھا"
+ },
+ "sah": {
+ "name": "ساکھا"
+ },
+ "saq": {
+ "name": "سامبورو"
+ },
+ "sbp": {
+ "name": "سانگو"
+ },
+ "sg": {
+ "name": "ساںغو"
+ },
+ "ii": {
+ "name": "سچوان ای"
+ },
+ "sr": {
+ "name": "سربین"
+ },
+ "gd": {
+ "name": "سکاٹ گیلِک"
+ },
+ "sk": {
+ "name": "سلوواک"
+ },
+ "sl": {
+ "name": "سلووینیائی"
+ },
+ "si": {
+ "name": "سنہالا"
+ },
+ "sw": {
+ "name": "سواحلی"
+ },
+ "ckb": {
+ "name": "سورانی کردی"
+ },
+ "xog": {
+ "name": "سوگا"
+ },
+ "sv": {
+ "name": "سویڈش"
+ },
+ "gsw": {
+ "name": "سوئس جرمن"
+ },
+ "fr-CH": {
+ "name": "سوئس فرینچ"
+ },
+ "de-CH": {
+ "name": "سوئس ہائی جرمن"
+ },
+ "seh": {
+ "name": "سینا"
+ },
+ "tzm": {
+ "name": "سینٹرل ایٹلس ٹمازائٹ"
+ },
+ "ksb": {
+ "name": "شامبالا"
+ },
+ "nd": {
+ "name": "شمالی دبیل"
+ },
+ "se": {
+ "name": "شمالی سامی"
+ },
+ "lrc": {
+ "name": "شمالی لری"
+ },
+ "sn": {
+ "name": "شونا"
+ },
+ "so": {
+ "name": "صومالی"
+ },
+ "he": {
+ "name": "عبرانی"
+ },
+ "ar": {
+ "name": "عربی"
+ },
+ "fa": {
+ "name": "فارسی"
+ },
+ "fr": {
+ "name": "فرانسیسی"
+ },
+ "fur": {
+ "name": "فریولیائی"
+ },
+ "fil": {
+ "name": "فلیپینو"
+ },
+ "nl-BE": {
+ "name": "فلیمِش"
+ },
+ "ff": {
+ "name": "فولہ"
+ },
+ "fo": {
+ "name": "فیروئیز"
+ },
+ "fi": {
+ "name": "فینیش"
+ },
+ "kab": {
+ "name": "قبائلی"
+ },
+ "kk": {
+ "name": "قزاخ"
+ },
+ "kkj": {
+ "name": "کاکو"
+ },
+ "kam": {
+ "name": "کامبا"
+ },
+ "sw-CD": {
+ "name": "کانگو سواحلی"
+ },
+ "ky": {
+ "name": "کرغیزی"
+ },
+ "hr": {
+ "name": "کروشین"
+ },
+ "ks": {
+ "name": "کشمیری"
+ },
+ "kl": {
+ "name": "کلالیسٹ"
+ },
+ "kn": {
+ "name": "کنڑ"
+ },
+ "kw": {
+ "name": "کورنش"
+ },
+ "ko": {
+ "name": "کوریائی"
+ },
+ "ksh": {
+ "name": "کولوگنیائی"
+ },
+ "kok": {
+ "name": "کونکنی"
+ },
+ "qu": {
+ "name": "کویچوآ"
+ },
+ "ca": {
+ "name": "کیٹالان"
+ },
+ "ki": {
+ "name": "کیکویو"
+ },
+ "yue": {
+ "name": "کینٹونیز"
+ },
+ "rw": {
+ "name": "کینیاروانڈا"
+ },
+ "en-CA": {
+ "name": "کینیڈین انگریزی"
+ },
+ "fr-CA": {
+ "name": "کینیڈین فرانسیسی"
+ },
+ "gl": {
+ "name": "گالیشیائی"
+ },
+ "gu": {
+ "name": "گجراتی"
+ },
+ "guz": {
+ "name": "گسی"
+ },
+ "lg": {
+ "name": "گینڈا"
+ },
+ "lkt": {
+ "name": "لاکوٹا"
+ },
+ "lag": {
+ "name": "لانگی"
+ },
+ "lo": {
+ "name": "لاؤ"
+ },
+ "lu": {
+ "name": "لبا-كاتانجا"
+ },
+ "lb": {
+ "name": "لکسمبرگیش"
+ },
+ "ln": {
+ "name": "لِنگَلا"
+ },
+ "luo": {
+ "name": "لو"
+ },
+ "luy": {
+ "name": "لویا"
+ },
+ "lt": {
+ "name": "لیتھوینین"
+ },
+ "lv": {
+ "name": "لیٹوین"
+ },
+ "mgh": {
+ "name": "ماخاوا-ميتو"
+ },
+ "jmc": {
+ "name": "ماشیم"
+ },
+ "ml": {
+ "name": "مالایالم"
+ },
+ "mt": {
+ "name": "مالٹی"
+ },
+ "ro-MD": {
+ "name": "مالدووا"
+ },
+ "ms": {
+ "name": "مالے"
+ },
+ "kde": {
+ "name": "ماكونده"
+ },
+ "mr": {
+ "name": "مراٹهی"
+ },
+ "mzn": {
+ "name": "مزندرانی"
+ },
+ "mas": {
+ "name": "مسائی"
+ },
+ "zgh": {
+ "name": "معیاری مراقشی تمازیقی"
+ },
+ "fy": {
+ "name": "مغربی فریسیئن"
+ },
+ "mk": {
+ "name": "مقدونیائی"
+ },
+ "mg": {
+ "name": "ملاگاسی"
+ },
+ "mua": {
+ "name": "منڈانگ"
+ },
+ "mn": {
+ "name": "منگولین"
+ },
+ "mfe": {
+ "name": "موریسیین"
+ },
+ "mgo": {
+ "name": "میٹا"
+ },
+ "mer": {
+ "name": "میرو"
+ },
+ "es-MX": {
+ "name": "میکسیکن ہسپانوی"
+ },
+ "gv": {
+ "name": "مینکس"
+ },
+ "nb": {
+ "name": "نارویجین بوکمل"
+ },
+ "naq": {
+ "name": "ناما"
+ },
+ "jgo": {
+ "name": "نگومبا"
+ },
+ "nnh": {
+ "name": "نگیمبون"
+ },
+ "nn": {
+ "name": "نورویجینی نینورسک"
+ },
+ "nus": {
+ "name": "نویر"
+ },
+ "ne": {
+ "name": "نیپالی"
+ },
+ "nyn": {
+ "name": "نینکول"
+ },
+ "wae": {
+ "name": "والسر"
+ },
+ "vai": {
+ "name": "وائی"
+ },
+ "vun": {
+ "name": "ونجو"
+ },
+ "vo": {
+ "name": "وولاپوک"
+ },
+ "vi": {
+ "name": "ویتنامی"
+ },
+ "cy": {
+ "name": "ویلش"
+ },
+ "es": {
+ "name": "ہسپانوی"
+ },
+ "hi": {
+ "name": "ہندی"
+ },
+ "hu": {
+ "name": "ہنگیرین"
+ },
+ "haw": {
+ "name": "ہوائی"
+ },
+ "ha": {
+ "name": "ہؤسا"
+ },
+ "yav": {
+ "name": "یانگبین"
+ },
+ "yi": {
+ "name": "یدش"
+ },
+ "pt-PT": {
+ "name": "یورپی پرتگالی"
+ },
+ "yo": {
+ "name": "یوروبا"
+ },
+ "uk": {
+ "name": "یوکرینیائی"
+ },
+ "el": {
+ "name": "یونانی"
+ },
+ "ug": {
+ "name": "یوئگہر"
+ },
+ "kea": {
+ "name": "كابويرديانو"
+ },
+ "kln": {
+ "name": "كالينجين"
+ },
+ "nmg": {
+ "name": "كوايسو"
+ },
+ "khq": {
+ "name": "كويرا شيني"
+ },
+ "ses": {
+ "name": "كويرابورو سينی"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/ur.json b/vendor/commerceguys/intl/resources/language/ur.json
new file mode 100644
index 000000000..52b0637a1
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/ur.json
@@ -0,0 +1,635 @@
+{
+ "hsb": {
+ "name": "اپر سربیائی"
+ },
+ "nds": {
+ "name": "ادنی جرمن"
+ },
+ "nds-NL": {
+ "name": "ادنی سیکسن"
+ },
+ "ur": {
+ "name": "اردو"
+ },
+ "hy": {
+ "name": "ارمینی"
+ },
+ "or": {
+ "name": "اڑیہ"
+ },
+ "uz": {
+ "name": "ازبیک"
+ },
+ "ast": {
+ "name": "اسٹوریائی"
+ },
+ "et": {
+ "name": "اسٹونین"
+ },
+ "zgh": {
+ "name": "اسٹینڈرڈ مراقشی تمازیقی"
+ },
+ "it": {
+ "name": "اطالوی"
+ },
+ "agq": {
+ "name": "اغم"
+ },
+ "ak": {
+ "name": "اکان"
+ },
+ "ig": {
+ "name": "اِگبو"
+ },
+ "sq": {
+ "name": "البانی"
+ },
+ "ebu": {
+ "name": "امبو"
+ },
+ "am": {
+ "name": "امہاری"
+ },
+ "smn": {
+ "name": "اناری سامی"
+ },
+ "id": {
+ "name": "انڈونیثیائی"
+ },
+ "en": {
+ "name": "انگریزی"
+ },
+ "om": {
+ "name": "اورومو"
+ },
+ "os": {
+ "name": "اوسیٹک"
+ },
+ "eo": {
+ "name": "ایسپرانٹو"
+ },
+ "af": {
+ "name": "ایفریکانز"
+ },
+ "ee": {
+ "name": "ایو"
+ },
+ "ewo": {
+ "name": "ایوانڈو"
+ },
+ "az": {
+ "name": "آذربائیجانی"
+ },
+ "as": {
+ "name": "آسامی"
+ },
+ "de-AT": {
+ "name": "آسٹریائی جرمن"
+ },
+ "en-AU": {
+ "name": "آسٹریلیائی انگریزی"
+ },
+ "asa": {
+ "name": "آسو"
+ },
+ "is": {
+ "name": "آئس لینڈک"
+ },
+ "ga": {
+ "name": "آئیرِش"
+ },
+ "bas": {
+ "name": "باسا"
+ },
+ "eu": {
+ "name": "باسکی"
+ },
+ "ksf": {
+ "name": "بافيا"
+ },
+ "en-GB": {
+ "name": "برطانوی انگریزی"
+ },
+ "my": {
+ "name": "برمی"
+ },
+ "br": {
+ "name": "بریٹن"
+ },
+ "bg": {
+ "name": "بلغاری"
+ },
+ "bm": {
+ "name": "بمبارا"
+ },
+ "bn": {
+ "name": "بنگالی"
+ },
+ "brx": {
+ "name": "بوڈو"
+ },
+ "bs": {
+ "name": "بوسنی"
+ },
+ "be": {
+ "name": "بیلاروسی"
+ },
+ "bem": {
+ "name": "بیمبا"
+ },
+ "bez": {
+ "name": "بینا"
+ },
+ "prg": {
+ "name": "پارسی"
+ },
+ "pt": {
+ "name": "پُرتگالی"
+ },
+ "ps": {
+ "name": "پشتو"
+ },
+ "pa": {
+ "name": "پنجابی"
+ },
+ "pl": {
+ "name": "پولش"
+ },
+ "twq": {
+ "name": "تاساواق"
+ },
+ "dav": {
+ "name": "تائتا"
+ },
+ "bo": {
+ "name": "تبتی"
+ },
+ "tk": {
+ "name": "ترکمان"
+ },
+ "tr": {
+ "name": "ترکی"
+ },
+ "shi": {
+ "name": "تشلحيت"
+ },
+ "ta": {
+ "name": "تمل"
+ },
+ "teo": {
+ "name": "تیسو"
+ },
+ "te": {
+ "name": "تیلگو"
+ },
+ "th": {
+ "name": "تھائی"
+ },
+ "ti": {
+ "name": "ٹگرینیا"
+ },
+ "to": {
+ "name": "ٹونگن"
+ },
+ "ja": {
+ "name": "جاپانی"
+ },
+ "ka": {
+ "name": "جارجی"
+ },
+ "de": {
+ "name": "جرمن"
+ },
+ "dyo": {
+ "name": "جولا فونيا"
+ },
+ "cu": {
+ "name": "چرچ سلاؤ"
+ },
+ "ce": {
+ "name": "چیچن"
+ },
+ "chr": {
+ "name": "چیروکی"
+ },
+ "cs": {
+ "name": "چیک"
+ },
+ "cgg": {
+ "name": "چیگا"
+ },
+ "zh": {
+ "name": "چینی"
+ },
+ "zh-Hans": {
+ "name": "چینی (آسان کردہ)"
+ },
+ "km": {
+ "name": "خمیر"
+ },
+ "dua": {
+ "name": "دوالا"
+ },
+ "nl": {
+ "name": "ڈچ"
+ },
+ "da": {
+ "name": "ڈینش"
+ },
+ "dsb": {
+ "name": "ذیلی سربیائی"
+ },
+ "rwk": {
+ "name": "روا"
+ },
+ "zh-Hant": {
+ "name": "روایتی چینی"
+ },
+ "ru": {
+ "name": "روسی"
+ },
+ "rm": {
+ "name": "رومانش"
+ },
+ "rof": {
+ "name": "رومبو"
+ },
+ "ro": {
+ "name": "رومینین"
+ },
+ "rn": {
+ "name": "رونڈی"
+ },
+ "dje": {
+ "name": "زرما"
+ },
+ "zu": {
+ "name": "زولو"
+ },
+ "dz": {
+ "name": "ژونگکھا"
+ },
+ "sah": {
+ "name": "ساکھا"
+ },
+ "saq": {
+ "name": "سامبورو"
+ },
+ "sbp": {
+ "name": "سانگو"
+ },
+ "sg": {
+ "name": "ساںغو"
+ },
+ "ii": {
+ "name": "سچوان ای"
+ },
+ "sr": {
+ "name": "سربین"
+ },
+ "gd": {
+ "name": "سکاٹ گیلِک"
+ },
+ "sk": {
+ "name": "سلوواک"
+ },
+ "sl": {
+ "name": "سلووینیائی"
+ },
+ "si": {
+ "name": "سنہالا"
+ },
+ "sw": {
+ "name": "سواحلی"
+ },
+ "ckb": {
+ "name": "سورانی کردش"
+ },
+ "xog": {
+ "name": "سوگا"
+ },
+ "sv": {
+ "name": "سویڈش"
+ },
+ "gsw": {
+ "name": "سوئس جرمن"
+ },
+ "fr-CH": {
+ "name": "سوئس فرینچ"
+ },
+ "de-CH": {
+ "name": "سوئس ہائی جرمن"
+ },
+ "seh": {
+ "name": "سینا"
+ },
+ "tzm": {
+ "name": "سینٹرل ایٹلس ٹمازائٹ"
+ },
+ "ksb": {
+ "name": "شامبالا"
+ },
+ "nd": {
+ "name": "شمالی دبیل"
+ },
+ "se": {
+ "name": "شمالی سامی"
+ },
+ "lrc": {
+ "name": "شمالی لری"
+ },
+ "sn": {
+ "name": "شونا"
+ },
+ "so": {
+ "name": "صومالی"
+ },
+ "he": {
+ "name": "عبرانی"
+ },
+ "ar": {
+ "name": "عربی"
+ },
+ "fa": {
+ "name": "فارسی"
+ },
+ "fr": {
+ "name": "فرانسیسی"
+ },
+ "fur": {
+ "name": "فریولیائی"
+ },
+ "fil": {
+ "name": "فلیپینو"
+ },
+ "nl-BE": {
+ "name": "فلیمِش"
+ },
+ "ff": {
+ "name": "فولہ"
+ },
+ "fo": {
+ "name": "فیروئیز"
+ },
+ "fi": {
+ "name": "فینیش"
+ },
+ "kab": {
+ "name": "قبائلی"
+ },
+ "kk": {
+ "name": "قزاخ"
+ },
+ "kkj": {
+ "name": "کاکو"
+ },
+ "kam": {
+ "name": "کامبا"
+ },
+ "sw-CD": {
+ "name": "کانگو سواحلی"
+ },
+ "hr": {
+ "name": "کراتی"
+ },
+ "ky": {
+ "name": "کرغیزی"
+ },
+ "ks": {
+ "name": "کشمیری"
+ },
+ "kn": {
+ "name": "کنّاڈا"
+ },
+ "kw": {
+ "name": "کورنش"
+ },
+ "ko": {
+ "name": "کوریائی"
+ },
+ "ksh": {
+ "name": "کولوگنیائی"
+ },
+ "kok": {
+ "name": "کونکنی"
+ },
+ "qu": {
+ "name": "کویچوآ"
+ },
+ "ca": {
+ "name": "کیٹالان"
+ },
+ "ki": {
+ "name": "کیکویو"
+ },
+ "yue": {
+ "name": "کینٹونیز"
+ },
+ "rw": {
+ "name": "کینیاروانڈا"
+ },
+ "en-CA": {
+ "name": "کینیڈین انگریزی"
+ },
+ "fr-CA": {
+ "name": "کینیڈین فرانسیسی"
+ },
+ "gl": {
+ "name": "گالیشیائی"
+ },
+ "gu": {
+ "name": "گجراتی"
+ },
+ "guz": {
+ "name": "گسی"
+ },
+ "lg": {
+ "name": "گینڈا"
+ },
+ "lkt": {
+ "name": "لاکوٹا"
+ },
+ "lag": {
+ "name": "لانگی"
+ },
+ "lo": {
+ "name": "لاؤ"
+ },
+ "lu": {
+ "name": "لبا-كاتانجا"
+ },
+ "lb": {
+ "name": "لکسمبرگیش"
+ },
+ "ln": {
+ "name": "لِنگَلا"
+ },
+ "luo": {
+ "name": "لو"
+ },
+ "luy": {
+ "name": "لویا"
+ },
+ "lt": {
+ "name": "لیتھوینین"
+ },
+ "lv": {
+ "name": "لیٹوین"
+ },
+ "mgh": {
+ "name": "ماخاوا-ميتو"
+ },
+ "mas": {
+ "name": "ماسای"
+ },
+ "jmc": {
+ "name": "ماشیم"
+ },
+ "ml": {
+ "name": "مالایالم"
+ },
+ "mt": {
+ "name": "مالٹی"
+ },
+ "ro-MD": {
+ "name": "مالدووا"
+ },
+ "ms": {
+ "name": "مالے"
+ },
+ "kde": {
+ "name": "ماكونده"
+ },
+ "mr": {
+ "name": "مراٹهی"
+ },
+ "mzn": {
+ "name": "مزندرانی"
+ },
+ "fy": {
+ "name": "مغربی فریسیئن"
+ },
+ "mk": {
+ "name": "مقدونیائی"
+ },
+ "mg": {
+ "name": "ملاگاسی"
+ },
+ "mua": {
+ "name": "منڈانگ"
+ },
+ "mn": {
+ "name": "منگولین"
+ },
+ "mfe": {
+ "name": "موریسیین"
+ },
+ "mgo": {
+ "name": "میٹا"
+ },
+ "mer": {
+ "name": "میرو"
+ },
+ "es-MX": {
+ "name": "میکسیکن ہسپانوی"
+ },
+ "gv": {
+ "name": "مینکس"
+ },
+ "nb": {
+ "name": "نارویجین بوکمل"
+ },
+ "naq": {
+ "name": "ناما"
+ },
+ "jgo": {
+ "name": "نگومبا"
+ },
+ "nnh": {
+ "name": "نگیمبون"
+ },
+ "nn": {
+ "name": "نورویجینی نینورسک"
+ },
+ "nus": {
+ "name": "نویر"
+ },
+ "ne": {
+ "name": "نیپالی"
+ },
+ "nyn": {
+ "name": "نینکول"
+ },
+ "wae": {
+ "name": "والسر"
+ },
+ "vai": {
+ "name": "وائی"
+ },
+ "vun": {
+ "name": "ونجو"
+ },
+ "vo": {
+ "name": "وولاپوک"
+ },
+ "vi": {
+ "name": "ویتنامی"
+ },
+ "cy": {
+ "name": "ویلش"
+ },
+ "es": {
+ "name": "ہسپانوی"
+ },
+ "hi": {
+ "name": "ہندی"
+ },
+ "hu": {
+ "name": "ہنگیرین"
+ },
+ "haw": {
+ "name": "ہوائی"
+ },
+ "ha": {
+ "name": "ہؤسا"
+ },
+ "yav": {
+ "name": "یانگبین"
+ },
+ "yi": {
+ "name": "یدش"
+ },
+ "pt-PT": {
+ "name": "یورپی پرتگالی"
+ },
+ "yo": {
+ "name": "یوروبا"
+ },
+ "uk": {
+ "name": "یوکرینیائی"
+ },
+ "el": {
+ "name": "یونانی"
+ },
+ "ug": {
+ "name": "یوئگہر"
+ },
+ "kea": {
+ "name": "كابويرديانو"
+ },
+ "kl": {
+ "name": "كالاليست"
+ },
+ "kln": {
+ "name": "كالينجين"
+ },
+ "nmg": {
+ "name": "كوايسو"
+ },
+ "khq": {
+ "name": "كويرا شيني"
+ },
+ "ses": {
+ "name": "كويرابورو سينی"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/uz-Cyrl.json b/vendor/commerceguys/intl/resources/language/uz-Cyrl.json
new file mode 100644
index 000000000..8e1e36a03
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/uz-Cyrl.json
@@ -0,0 +1,632 @@
+{
+ "luo": {
+ "name": "Luo"
+ },
+ "nds-NL": {
+ "name": "nds (Нидерландия)"
+ },
+ "os": {
+ "name": "Ossetic"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "agq": {
+ "name": "агемча"
+ },
+ "ak": {
+ "name": "аканча"
+ },
+ "sq": {
+ "name": "албанча"
+ },
+ "am": {
+ "name": "амхарча"
+ },
+ "zh-Hant": {
+ "name": "анъанавий хитойча"
+ },
+ "ar": {
+ "name": "арабча"
+ },
+ "hy": {
+ "name": "арманча"
+ },
+ "as": {
+ "name": "ассомча"
+ },
+ "ast": {
+ "name": "астурийча"
+ },
+ "asa": {
+ "name": "асуча"
+ },
+ "af": {
+ "name": "африкаанс"
+ },
+ "bm": {
+ "name": "бамбарча"
+ },
+ "bas": {
+ "name": "басаа"
+ },
+ "eu": {
+ "name": "баскча"
+ },
+ "ksf": {
+ "name": "бафияча"
+ },
+ "be": {
+ "name": "беларусча"
+ },
+ "bem": {
+ "name": "бемба"
+ },
+ "bez": {
+ "name": "бенача"
+ },
+ "bn": {
+ "name": "бенгалча"
+ },
+ "my": {
+ "name": "бирманча"
+ },
+ "brx": {
+ "name": "бодоча"
+ },
+ "bg": {
+ "name": "болгарча"
+ },
+ "bs": {
+ "name": "боснийча"
+ },
+ "br": {
+ "name": "бретонча"
+ },
+ "vai": {
+ "name": "ваи"
+ },
+ "wae": {
+ "name": "валсерча"
+ },
+ "hu": {
+ "name": "венгерча"
+ },
+ "vi": {
+ "name": "ветнамча"
+ },
+ "vo": {
+ "name": "волапюк"
+ },
+ "vun": {
+ "name": "вунжо"
+ },
+ "haw": {
+ "name": "гавайча"
+ },
+ "gl": {
+ "name": "галицийча"
+ },
+ "lg": {
+ "name": "гандача"
+ },
+ "nl": {
+ "name": "голландча"
+ },
+ "el": {
+ "name": "грекча"
+ },
+ "kl": {
+ "name": "гренландча"
+ },
+ "ka": {
+ "name": "грузинча"
+ },
+ "gu": {
+ "name": "гужаротча"
+ },
+ "guz": {
+ "name": "гусии"
+ },
+ "fy": {
+ "name": "ғарбий фризча"
+ },
+ "da": {
+ "name": "датча"
+ },
+ "dz": {
+ "name": "дзонгка"
+ },
+ "dyo": {
+ "name": "диола-фогни"
+ },
+ "dua": {
+ "name": "дуалача"
+ },
+ "dje": {
+ "name": "зарма"
+ },
+ "zu": {
+ "name": "зулу"
+ },
+ "he": {
+ "name": "иброний"
+ },
+ "ig": {
+ "name": "игбо"
+ },
+ "yi": {
+ "name": "иддиш"
+ },
+ "smn": {
+ "name": "инари-саамча"
+ },
+ "en": {
+ "name": "инглизча"
+ },
+ "en-AU": {
+ "name": "инглизча (Австралия)"
+ },
+ "en-GB": {
+ "name": "инглизча (Британия)"
+ },
+ "en-CA": {
+ "name": "инглизча (Канада)"
+ },
+ "id": {
+ "name": "индонезча"
+ },
+ "ga": {
+ "name": "ирландча"
+ },
+ "is": {
+ "name": "исландча"
+ },
+ "es": {
+ "name": "испанча"
+ },
+ "es-MX": {
+ "name": "испанча (Мексика)"
+ },
+ "it": {
+ "name": "италянча"
+ },
+ "yo": {
+ "name": "йоруба"
+ },
+ "kab": {
+ "name": "кабилча"
+ },
+ "kea": {
+ "name": "кабувердиану"
+ },
+ "kkj": {
+ "name": "како"
+ },
+ "kln": {
+ "name": "каленжинча"
+ },
+ "kam": {
+ "name": "камбача"
+ },
+ "kn": {
+ "name": "каннада"
+ },
+ "yue": {
+ "name": "кантонча"
+ },
+ "ca": {
+ "name": "каталонча"
+ },
+ "ks": {
+ "name": "кашмирча"
+ },
+ "nmg": {
+ "name": "квасио"
+ },
+ "ksh": {
+ "name": "кёлнча"
+ },
+ "qu": {
+ "name": "кечуа"
+ },
+ "ki": {
+ "name": "кикую"
+ },
+ "rw": {
+ "name": "киняруанда"
+ },
+ "khq": {
+ "name": "койра-чиини"
+ },
+ "ses": {
+ "name": "койраборо-сенни"
+ },
+ "sw-CD": {
+ "name": "конго-суахили"
+ },
+ "kok": {
+ "name": "конканча"
+ },
+ "ko": {
+ "name": "корейсча"
+ },
+ "kw": {
+ "name": "корнча"
+ },
+ "ky": {
+ "name": "қирғизча"
+ },
+ "kk": {
+ "name": "қозоқча"
+ },
+ "dsb": {
+ "name": "қуйи-сорбча"
+ },
+ "lkt": {
+ "name": "лакотачалакотача"
+ },
+ "lag": {
+ "name": "лангича"
+ },
+ "lo": {
+ "name": "лаосча"
+ },
+ "lv": {
+ "name": "латишча"
+ },
+ "ln": {
+ "name": "лингалча"
+ },
+ "lt": {
+ "name": "литвача"
+ },
+ "lu": {
+ "name": "луба-катанга"
+ },
+ "luy": {
+ "name": "луҳя"
+ },
+ "lb": {
+ "name": "люксембургча"
+ },
+ "mzn": {
+ "name": "мазандеран"
+ },
+ "mk": {
+ "name": "македонча"
+ },
+ "kde": {
+ "name": "макондеча"
+ },
+ "mg": {
+ "name": "малагасийча"
+ },
+ "ms": {
+ "name": "малай тил"
+ },
+ "ml": {
+ "name": "малаялам"
+ },
+ "mt": {
+ "name": "малтача"
+ },
+ "mr": {
+ "name": "маратхи"
+ },
+ "tzm": {
+ "name": "марказий атлас тамазигхт"
+ },
+ "mas": {
+ "name": "масайча"
+ },
+ "mgh": {
+ "name": "махува-митто"
+ },
+ "jmc": {
+ "name": "мачаме тили"
+ },
+ "mer": {
+ "name": "меруча"
+ },
+ "mgo": {
+ "name": "мета"
+ },
+ "mfe": {
+ "name": "морисьен"
+ },
+ "mn": {
+ "name": "мўғулча"
+ },
+ "mua": {
+ "name": "мунданг"
+ },
+ "gv": {
+ "name": "мэнча"
+ },
+ "naq": {
+ "name": "нама"
+ },
+ "nnh": {
+ "name": "нгиембун"
+ },
+ "jgo": {
+ "name": "нгомба"
+ },
+ "de": {
+ "name": "немисча"
+ },
+ "de-AT": {
+ "name": "немисча (Австрия)"
+ },
+ "de-CH": {
+ "name": "немисча (Швейцария)"
+ },
+ "gsw": {
+ "name": "немисча (Швейцария)"
+ },
+ "ne": {
+ "name": "непалча"
+ },
+ "nb": {
+ "name": "норвегча бокмал"
+ },
+ "nn": {
+ "name": "норвегча нюнорск"
+ },
+ "nus": {
+ "name": "нуэрча"
+ },
+ "nyn": {
+ "name": "нянколе"
+ },
+ "or": {
+ "name": "одия"
+ },
+ "az": {
+ "name": "озарбайжонча"
+ },
+ "om": {
+ "name": "оромо"
+ },
+ "pa": {
+ "name": "панжобча"
+ },
+ "pl": {
+ "name": "полякча"
+ },
+ "pt": {
+ "name": "португалча"
+ },
+ "pt-PT": {
+ "name": "португалча (Португалия)"
+ },
+ "ps": {
+ "name": "пушту"
+ },
+ "rm": {
+ "name": "романшча"
+ },
+ "rof": {
+ "name": "ромбоча"
+ },
+ "rwk": {
+ "name": "руанда тили"
+ },
+ "ro": {
+ "name": "руминча"
+ },
+ "ro-MD": {
+ "name": "руминча (Молдова)"
+ },
+ "rn": {
+ "name": "рунди"
+ },
+ "ru": {
+ "name": "русча"
+ },
+ "saq": {
+ "name": "самбуруча"
+ },
+ "sg": {
+ "name": "санго"
+ },
+ "sbp": {
+ "name": "сангуча"
+ },
+ "sah": {
+ "name": "саха"
+ },
+ "seh": {
+ "name": "сена"
+ },
+ "sr": {
+ "name": "сербча"
+ },
+ "si": {
+ "name": "сингалча"
+ },
+ "cu": {
+ "name": "славянча (черков)"
+ },
+ "sk": {
+ "name": "словакча"
+ },
+ "sl": {
+ "name": "словенча"
+ },
+ "xog": {
+ "name": "сога"
+ },
+ "zh-Hans": {
+ "name": "соддалаштирилган хитойча"
+ },
+ "so": {
+ "name": "сомалича"
+ },
+ "ckb": {
+ "name": "сорани-курдча"
+ },
+ "sw": {
+ "name": "суахили"
+ },
+ "dav": {
+ "name": "таитача"
+ },
+ "th": {
+ "name": "тайча"
+ },
+ "zgh": {
+ "name": "тамазигхт"
+ },
+ "ta": {
+ "name": "тамилча"
+ },
+ "twq": {
+ "name": "тасавак"
+ },
+ "shi": {
+ "name": "ташелхит"
+ },
+ "te": {
+ "name": "телугу"
+ },
+ "teo": {
+ "name": "тесо"
+ },
+ "bo": {
+ "name": "тибетча"
+ },
+ "ti": {
+ "name": "тигриняча"
+ },
+ "to": {
+ "name": "тонганча"
+ },
+ "tk": {
+ "name": "туркманча"
+ },
+ "tr": {
+ "name": "туркча"
+ },
+ "uz": {
+ "name": "ўзбекча"
+ },
+ "ug": {
+ "name": "уйғурча"
+ },
+ "uk": {
+ "name": "украинча"
+ },
+ "ur": {
+ "name": "урду"
+ },
+ "cy": {
+ "name": "уэлсча"
+ },
+ "fo": {
+ "name": "фарерча"
+ },
+ "fil": {
+ "name": "филипинча"
+ },
+ "fi": {
+ "name": "финча"
+ },
+ "nl-BE": {
+ "name": "фламандча"
+ },
+ "fa": {
+ "name": "форсий"
+ },
+ "fr": {
+ "name": "французча"
+ },
+ "fr-CA": {
+ "name": "французча (Канада)"
+ },
+ "fr-CH": {
+ "name": "французча (Швейцария)"
+ },
+ "fur": {
+ "name": "фриулча"
+ },
+ "ff": {
+ "name": "фулаҳ"
+ },
+ "ha": {
+ "name": "хауса"
+ },
+ "zh": {
+ "name": "хитойча"
+ },
+ "km": {
+ "name": "хмерча"
+ },
+ "hr": {
+ "name": "хорватча"
+ },
+ "hi": {
+ "name": "ҳинди"
+ },
+ "chr": {
+ "name": "чероки"
+ },
+ "cs": {
+ "name": "чехча"
+ },
+ "ce": {
+ "name": "чечен тили"
+ },
+ "cgg": {
+ "name": "чигача"
+ },
+ "ksb": {
+ "name": "шамбала"
+ },
+ "sv": {
+ "name": "шведча"
+ },
+ "lrc": {
+ "name": "шимолий лури"
+ },
+ "nd": {
+ "name": "шимолий ндебеле"
+ },
+ "se": {
+ "name": "шимолий саамча"
+ },
+ "sn": {
+ "name": "шона"
+ },
+ "gd": {
+ "name": "шотландча гаелик"
+ },
+ "ee": {
+ "name": "эвеча"
+ },
+ "ewo": {
+ "name": "эвондонча"
+ },
+ "ebu": {
+ "name": "эмбуча"
+ },
+ "eo": {
+ "name": "эсперанто"
+ },
+ "et": {
+ "name": "эстонча"
+ },
+ "hsb": {
+ "name": "юқори сорбча"
+ },
+ "yav": {
+ "name": "янгбен"
+ },
+ "ja": {
+ "name": "японча"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/uz.json b/vendor/commerceguys/intl/resources/language/uz.json
new file mode 100644
index 000000000..35118cc23
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/uz.json
@@ -0,0 +1,635 @@
+{
+ "af": {
+ "name": "afrikaans"
+ },
+ "agq": {
+ "name": "agem"
+ },
+ "ak": {
+ "name": "akan"
+ },
+ "sq": {
+ "name": "alban"
+ },
+ "am": {
+ "name": "amxar"
+ },
+ "ar": {
+ "name": "arab"
+ },
+ "hy": {
+ "name": "arman"
+ },
+ "as": {
+ "name": "assam"
+ },
+ "ast": {
+ "name": "asturiy"
+ },
+ "asa": {
+ "name": "asu"
+ },
+ "ksf": {
+ "name": "bafiya"
+ },
+ "bm": {
+ "name": "bambara"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "eu": {
+ "name": "bask"
+ },
+ "be": {
+ "name": "belarus"
+ },
+ "bem": {
+ "name": "bemba"
+ },
+ "bez": {
+ "name": "bena"
+ },
+ "bn": {
+ "name": "bengal"
+ },
+ "my": {
+ "name": "birman"
+ },
+ "brx": {
+ "name": "bodo"
+ },
+ "bg": {
+ "name": "bolgar"
+ },
+ "bs": {
+ "name": "bosniy"
+ },
+ "br": {
+ "name": "breton"
+ },
+ "ce": {
+ "name": "chechen"
+ },
+ "chr": {
+ "name": "cheroki"
+ },
+ "cs": {
+ "name": "chex"
+ },
+ "cgg": {
+ "name": "chiga"
+ },
+ "da": {
+ "name": "dat"
+ },
+ "dyo": {
+ "name": "diola-fogni"
+ },
+ "dua": {
+ "name": "duala"
+ },
+ "dz": {
+ "name": "dzongka"
+ },
+ "ebu": {
+ "name": "embu"
+ },
+ "eo": {
+ "name": "esperanto"
+ },
+ "et": {
+ "name": "estoncha"
+ },
+ "ee": {
+ "name": "eve"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fo": {
+ "name": "farercha"
+ },
+ "fil": {
+ "name": "filipincha"
+ },
+ "fi": {
+ "name": "fincha"
+ },
+ "nl-BE": {
+ "name": "flamand"
+ },
+ "fa": {
+ "name": "fors"
+ },
+ "fr-CA": {
+ "name": "fransuz (Kanada)"
+ },
+ "fr-CH": {
+ "name": "fransuz (Shveytsariya)"
+ },
+ "fr": {
+ "name": "fransuzcha"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "fy": {
+ "name": "g‘arbiy friz"
+ },
+ "gl": {
+ "name": "galisiy"
+ },
+ "lg": {
+ "name": "ganda"
+ },
+ "haw": {
+ "name": "gavaycha"
+ },
+ "nl": {
+ "name": "golland"
+ },
+ "el": {
+ "name": "grek"
+ },
+ "kl": {
+ "name": "grenland"
+ },
+ "ka": {
+ "name": "gruzincha"
+ },
+ "gu": {
+ "name": "gujarot"
+ },
+ "guz": {
+ "name": "gusii"
+ },
+ "hi": {
+ "name": "hind"
+ },
+ "he": {
+ "name": "ibroniy"
+ },
+ "yi": {
+ "name": "idish"
+ },
+ "ig": {
+ "name": "igbo"
+ },
+ "smn": {
+ "name": "inari-saam"
+ },
+ "id": {
+ "name": "indonez"
+ },
+ "en-AU": {
+ "name": "ingliz (Avstraliya)"
+ },
+ "en-GB": {
+ "name": "ingliz (Britaniya)"
+ },
+ "en-CA": {
+ "name": "ingliz (Kanada)"
+ },
+ "en": {
+ "name": "inglizcha"
+ },
+ "ga": {
+ "name": "irland"
+ },
+ "is": {
+ "name": "island"
+ },
+ "es-MX": {
+ "name": "ispan (Meksika)"
+ },
+ "es": {
+ "name": "ispancha"
+ },
+ "it": {
+ "name": "italyan"
+ },
+ "kab": {
+ "name": "kabil"
+ },
+ "kea": {
+ "name": "kabuverdianu"
+ },
+ "kkj": {
+ "name": "kako"
+ },
+ "kln": {
+ "name": "kalenjin"
+ },
+ "kam": {
+ "name": "kamba"
+ },
+ "kn": {
+ "name": "kannada"
+ },
+ "yue": {
+ "name": "kanton"
+ },
+ "ks": {
+ "name": "kashmircha"
+ },
+ "ca": {
+ "name": "katalan"
+ },
+ "qu": {
+ "name": "kechua"
+ },
+ "ki": {
+ "name": "kikuyu"
+ },
+ "rw": {
+ "name": "kinyaruanda"
+ },
+ "kok": {
+ "name": "konkan"
+ },
+ "ko": {
+ "name": "koreyscha"
+ },
+ "kw": {
+ "name": "korn"
+ },
+ "khq": {
+ "name": "koyra-chiini"
+ },
+ "ses": {
+ "name": "koyraboro-senni"
+ },
+ "nmg": {
+ "name": "kvasio"
+ },
+ "ksh": {
+ "name": "kyoln"
+ },
+ "lkt": {
+ "name": "lakota"
+ },
+ "lag": {
+ "name": "langi"
+ },
+ "lo": {
+ "name": "laos"
+ },
+ "lv": {
+ "name": "latishcha"
+ },
+ "ln": {
+ "name": "lingala"
+ },
+ "lt": {
+ "name": "litva"
+ },
+ "lu": {
+ "name": "luba-katanga"
+ },
+ "luy": {
+ "name": "luhya"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "lyuksemburgcha"
+ },
+ "jmc": {
+ "name": "machame"
+ },
+ "mk": {
+ "name": "makedon"
+ },
+ "kde": {
+ "name": "makonde"
+ },
+ "mg": {
+ "name": "malagasiy"
+ },
+ "ms": {
+ "name": "malay"
+ },
+ "ml": {
+ "name": "malayalam"
+ },
+ "mt": {
+ "name": "maltiy"
+ },
+ "mr": {
+ "name": "maratxi"
+ },
+ "tzm": {
+ "name": "markaziy atlas tamazigxt"
+ },
+ "mas": {
+ "name": "masay"
+ },
+ "mgh": {
+ "name": "maxuva-mitto"
+ },
+ "gv": {
+ "name": "men"
+ },
+ "mer": {
+ "name": "meru"
+ },
+ "mgo": {
+ "name": "meta"
+ },
+ "mn": {
+ "name": "mo‘g‘ul"
+ },
+ "ro-MD": {
+ "name": "moldovan"
+ },
+ "mfe": {
+ "name": "morisyen"
+ },
+ "mzn": {
+ "name": "mozandaron"
+ },
+ "mua": {
+ "name": "mundang"
+ },
+ "naq": {
+ "name": "nama"
+ },
+ "de-AT": {
+ "name": "nemis (Avstriya)"
+ },
+ "gsw": {
+ "name": "nemis (Shveytsariya)"
+ },
+ "de": {
+ "name": "nemischa"
+ },
+ "ne": {
+ "name": "nepal"
+ },
+ "nnh": {
+ "name": "ngiyembun"
+ },
+ "jgo": {
+ "name": "ngomba"
+ },
+ "nb": {
+ "name": "norveg-bokmal"
+ },
+ "nn": {
+ "name": "norveg-nyunorsk"
+ },
+ "nus": {
+ "name": "nuer"
+ },
+ "nyn": {
+ "name": "nyankole"
+ },
+ "uz": {
+ "name": "o‘zbek"
+ },
+ "or": {
+ "name": "oriya"
+ },
+ "om": {
+ "name": "oromo"
+ },
+ "os": {
+ "name": "osetin"
+ },
+ "az": {
+ "name": "ozarbayjon"
+ },
+ "pa": {
+ "name": "panjobcha"
+ },
+ "pl": {
+ "name": "polyakcha"
+ },
+ "pt-PT": {
+ "name": "portugal (Yevropa)"
+ },
+ "pt": {
+ "name": "portugalcha"
+ },
+ "prg": {
+ "name": "pruss"
+ },
+ "ps": {
+ "name": "pushtu"
+ },
+ "ky": {
+ "name": "qirgʻizcha"
+ },
+ "kk": {
+ "name": "qozoqcha"
+ },
+ "nds": {
+ "name": "quyi nemis"
+ },
+ "nds-NL": {
+ "name": "quyi sakson"
+ },
+ "dsb": {
+ "name": "quyi sorbcha"
+ },
+ "rm": {
+ "name": "romansh"
+ },
+ "rof": {
+ "name": "rombo"
+ },
+ "rwk": {
+ "name": "ruanda"
+ },
+ "ro": {
+ "name": "rumincha"
+ },
+ "rn": {
+ "name": "rundi"
+ },
+ "ru": {
+ "name": "ruscha"
+ },
+ "saq": {
+ "name": "samburu"
+ },
+ "sg": {
+ "name": "sango"
+ },
+ "sbp": {
+ "name": "sangu"
+ },
+ "sah": {
+ "name": "saxa"
+ },
+ "gd": {
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "name": "sena"
+ },
+ "sr": {
+ "name": "serbcha"
+ },
+ "ksb": {
+ "name": "shambala"
+ },
+ "lrc": {
+ "name": "shimoliy luri"
+ },
+ "nd": {
+ "name": "shimoliy ndebele"
+ },
+ "se": {
+ "name": "shimoliy saam"
+ },
+ "sn": {
+ "name": "shona"
+ },
+ "sv": {
+ "name": "shved"
+ },
+ "ii": {
+ "name": "sichuan"
+ },
+ "si": {
+ "name": "singal"
+ },
+ "cu": {
+ "name": "slavyan (cherkov)"
+ },
+ "sk": {
+ "name": "slovakcha"
+ },
+ "sl": {
+ "name": "slovencha"
+ },
+ "xog": {
+ "name": "soga"
+ },
+ "so": {
+ "name": "somalicha"
+ },
+ "ckb": {
+ "name": "sorani-kurd"
+ },
+ "sw": {
+ "name": "suaxili"
+ },
+ "sw-CD": {
+ "name": "suaxili (Kongo)"
+ },
+ "dav": {
+ "name": "taita"
+ },
+ "zgh": {
+ "name": "tamazigxt"
+ },
+ "ta": {
+ "name": "tamil"
+ },
+ "twq": {
+ "name": "tasavak"
+ },
+ "shi": {
+ "name": "tashelxit"
+ },
+ "th": {
+ "name": "tay"
+ },
+ "te": {
+ "name": "telugu"
+ },
+ "teo": {
+ "name": "teso"
+ },
+ "bo": {
+ "name": "tibet"
+ },
+ "ti": {
+ "name": "tigrinya"
+ },
+ "to": {
+ "name": "tongan"
+ },
+ "tr": {
+ "name": "turk"
+ },
+ "tk": {
+ "name": "turkman"
+ },
+ "uk": {
+ "name": "ukrain"
+ },
+ "ur": {
+ "name": "urdu"
+ },
+ "ug": {
+ "name": "uyg‘ur"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "cy": {
+ "name": "valliy"
+ },
+ "hu": {
+ "name": "venger"
+ },
+ "vo": {
+ "name": "volapyuk"
+ },
+ "vun": {
+ "name": "vunjo"
+ },
+ "vi": {
+ "name": "vyetnam"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "ha": {
+ "name": "xausa"
+ },
+ "zh": {
+ "name": "xitoy"
+ },
+ "zh-Hant": {
+ "name": "xitoy (an’anaviy)"
+ },
+ "zh-Hans": {
+ "name": "xitoy (soddalashgan)"
+ },
+ "km": {
+ "name": "xmercha"
+ },
+ "hr": {
+ "name": "xorvat"
+ },
+ "yav": {
+ "name": "yangben"
+ },
+ "ja": {
+ "name": "yapon"
+ },
+ "yo": {
+ "name": "yoruba"
+ },
+ "de-CH": {
+ "name": "yuqori nemis (Shveytsariya)"
+ },
+ "hsb": {
+ "name": "yuqori sorb"
+ },
+ "dje": {
+ "name": "zarma"
+ },
+ "zu": {
+ "name": "zulu"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/vai-Latn.json b/vendor/commerceguys/intl/resources/language/vai-Latn.json
new file mode 100644
index 000000000..307c31a71
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/vai-Latn.json
@@ -0,0 +1,632 @@
+{
+ "af": {
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "ak": {
+ "name": "Akaŋ"
+ },
+ "sq": {
+ "name": "Albanian"
+ },
+ "am": {
+ "name": "Amihári"
+ },
+ "hy": {
+ "name": "Armenian"
+ },
+ "as": {
+ "name": "Assamese"
+ },
+ "ast": {
+ "name": "Asturian"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "az": {
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "eu": {
+ "name": "Basque"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "be": {
+ "name": "Bhelarusaŋ"
+ },
+ "my": {
+ "name": "Bhɛmísi"
+ },
+ "bn": {
+ "name": "Bhɛŋgáli"
+ },
+ "bg": {
+ "name": "Bhɔgerɛŋ"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "bs": {
+ "name": "Bosnian"
+ },
+ "br": {
+ "name": "Breton"
+ },
+ "yue": {
+ "name": "Cantonese"
+ },
+ "ca": {
+ "name": "Catalan"
+ },
+ "tzm": {
+ "name": "Central Atlas Tamazight"
+ },
+ "ckb": {
+ "name": "Central Kurdish"
+ },
+ "zh": {
+ "name": "Chaniĩ"
+ },
+ "zh-Hans": {
+ "name": "Chaniĩ (Hans)"
+ },
+ "zh-Hant": {
+ "name": "Chaniĩ (Hant)"
+ },
+ "ce": {
+ "name": "Chechen"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "cs": {
+ "name": "Chɛ"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "cu": {
+ "name": "Church Slavic"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "kw": {
+ "name": "Cornish"
+ },
+ "hr": {
+ "name": "Croatian"
+ },
+ "da": {
+ "name": "Danish"
+ },
+ "nl": {
+ "name": "Dɔchi"
+ },
+ "nl-BE": {
+ "name": "Dɔchi (Bhɛgiyɔŋ)"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "dz": {
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "eo": {
+ "name": "Esperanto"
+ },
+ "et": {
+ "name": "Estonian"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fo": {
+ "name": "Faroese"
+ },
+ "fr": {
+ "name": "Fɛŋsi"
+ },
+ "fr-CA": {
+ "name": "Fɛŋsi (Kánáda)"
+ },
+ "fr-CH": {
+ "name": "Fɛŋsi (Suweza Lumaã)"
+ },
+ "fil": {
+ "name": "Filipino"
+ },
+ "fi": {
+ "name": "Finnish"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "gl": {
+ "name": "Galician"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "ka": {
+ "name": "Georgian"
+ },
+ "gu": {
+ "name": "Gujarati"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "haw": {
+ "name": "Hawaiian"
+ },
+ "ha": {
+ "name": "Hawusa"
+ },
+ "he": {
+ "name": "Hebrew"
+ },
+ "el": {
+ "name": "Hɛlɛŋ"
+ },
+ "hi": {
+ "name": "Híiŋdi"
+ },
+ "hu": {
+ "name": "Hɔŋgérɛŋ"
+ },
+ "is": {
+ "name": "Icelandic"
+ },
+ "ig": {
+ "name": "Ígbo"
+ },
+ "smn": {
+ "name": "Inari Sami"
+ },
+ "id": {
+ "name": "Índonisiyɛŋ"
+ },
+ "ga": {
+ "name": "Irish"
+ },
+ "it": {
+ "name": "Itáliyɛŋ"
+ },
+ "de": {
+ "name": "Jamáĩ"
+ },
+ "de-AT": {
+ "name": "Jamáĩ (Ɔ́situwa)"
+ },
+ "de-CH": {
+ "name": "Jamáĩ (Suweza Lumaã)"
+ },
+ "ja": {
+ "name": "Japaníĩ"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabyle"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kl": {
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "kn": {
+ "name": "Kannada"
+ },
+ "ks": {
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "name": "Kazakh"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "km": {
+ "name": "Kimɛɛ̃ tɛ"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "ko": {
+ "name": "Koríyɛŋ"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "ky": {
+ "name": "Kyrgyz"
+ },
+ "ar": {
+ "name": "Lahabu"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "Lao"
+ },
+ "lv": {
+ "name": "Latvian"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "lt": {
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "mk": {
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "mg": {
+ "name": "Malagasy"
+ },
+ "ml": {
+ "name": "Malayalam"
+ },
+ "ms": {
+ "name": "Maléee"
+ },
+ "mt": {
+ "name": "Maltese"
+ },
+ "gv": {
+ "name": "Manx"
+ },
+ "mr": {
+ "name": "Marathi"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "mn": {
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nds-NL": {
+ "name": "nds (Nidɔlɛŋ)"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "ne": {
+ "name": "Nipali"
+ },
+ "nd": {
+ "name": "North Ndebele"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "se": {
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "or": {
+ "name": "Odia"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "os": {
+ "name": "Ossetic"
+ },
+ "ur": {
+ "name": "Ɔdu"
+ },
+ "es": {
+ "name": "Panyɛĩ"
+ },
+ "es-MX": {
+ "name": "Panyɛĩ (Mɛsíko)"
+ },
+ "ps": {
+ "name": "Pashto"
+ },
+ "fa": {
+ "name": "Pɛɛsiyɛŋ"
+ },
+ "en": {
+ "name": "Poo"
+ },
+ "en-CA": {
+ "name": "Poo (Kánáda)"
+ },
+ "en-AU": {
+ "name": "Poo (Ɔsituwéeliya)"
+ },
+ "en-GB": {
+ "name": "Poo (Yunaitɛ Kíŋdɔŋ)"
+ },
+ "pt": {
+ "name": "Potokíi"
+ },
+ "pt-PT": {
+ "name": "Potokíi (Potokíi)"
+ },
+ "pl": {
+ "name": "Pɔ́lési"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "pa": {
+ "name": "Puŋjabhi"
+ },
+ "qu": {
+ "name": "Quechua"
+ },
+ "rw": {
+ "name": "Rawunda"
+ },
+ "rm": {
+ "name": "Romansh"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "ro": {
+ "name": "Romíniyɛŋ"
+ },
+ "ro-MD": {
+ "name": "Romíniyɛŋ (Mɔlidova)"
+ },
+ "ru": {
+ "name": "Rɔshiyɛŋ"
+ },
+ "rn": {
+ "name": "Rundi"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "sah": {
+ "name": "Sakha"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "gd": {
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "sr": {
+ "name": "Serbian"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "si": {
+ "name": "Sinhala"
+ },
+ "sk": {
+ "name": "Slovak"
+ },
+ "sl": {
+ "name": "Slovenian"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "so": {
+ "name": "Somáli"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sv": {
+ "name": "Súwídɛŋ"
+ },
+ "sw-CD": {
+ "name": "sw (Avorekoo)"
+ },
+ "sw": {
+ "name": "Swahili"
+ },
+ "gsw": {
+ "name": "Swiss German"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "th": {
+ "name": "Tái"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "ta": {
+ "name": "Tamíli"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "te": {
+ "name": "Telugu"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "bo": {
+ "name": "Tibetan"
+ },
+ "ti": {
+ "name": "Tigrinya"
+ },
+ "to": {
+ "name": "Tongan"
+ },
+ "tr": {
+ "name": "Tɔ́ki"
+ },
+ "tk": {
+ "name": "Turkmen"
+ },
+ "hsb": {
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "name": "Uyghur"
+ },
+ "uz": {
+ "name": "Uzbek"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vi": {
+ "name": "Viyamíĩ"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "cy": {
+ "name": "Welsh"
+ },
+ "fy": {
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "yi": {
+ "name": "Yiddish"
+ },
+ "yo": {
+ "name": "Yóróbha"
+ },
+ "uk": {
+ "name": "Yukureniyɛŋ"
+ },
+ "dje": {
+ "name": "Zarma"
+ },
+ "zu": {
+ "name": "Zúlu"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/vai.json b/vendor/commerceguys/intl/resources/language/vai.json
new file mode 100644
index 000000000..63a09ed16
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/vai.json
@@ -0,0 +1,632 @@
+{
+ "af": {
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "sq": {
+ "name": "Albanian"
+ },
+ "hy": {
+ "name": "Armenian"
+ },
+ "as": {
+ "name": "Assamese"
+ },
+ "ast": {
+ "name": "Asturian"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "az": {
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "eu": {
+ "name": "Basque"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "bs": {
+ "name": "Bosnian"
+ },
+ "br": {
+ "name": "Breton"
+ },
+ "yue": {
+ "name": "Cantonese"
+ },
+ "ca": {
+ "name": "Catalan"
+ },
+ "tzm": {
+ "name": "Central Atlas Tamazight"
+ },
+ "ckb": {
+ "name": "Central Kurdish"
+ },
+ "ce": {
+ "name": "Chechen"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "cu": {
+ "name": "Church Slavic"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "kw": {
+ "name": "Cornish"
+ },
+ "hr": {
+ "name": "Croatian"
+ },
+ "da": {
+ "name": "Danish"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "dz": {
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "eo": {
+ "name": "Esperanto"
+ },
+ "et": {
+ "name": "Estonian"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fo": {
+ "name": "Faroese"
+ },
+ "fil": {
+ "name": "Filipino"
+ },
+ "fi": {
+ "name": "Finnish"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "gl": {
+ "name": "Galician"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "ka": {
+ "name": "Georgian"
+ },
+ "gu": {
+ "name": "Gujarati"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "haw": {
+ "name": "Hawaiian"
+ },
+ "he": {
+ "name": "Hebrew"
+ },
+ "is": {
+ "name": "Icelandic"
+ },
+ "smn": {
+ "name": "Inari Sami"
+ },
+ "ga": {
+ "name": "Irish"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabyle"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kl": {
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "kn": {
+ "name": "Kannada"
+ },
+ "ks": {
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "name": "Kazakh"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "ky": {
+ "name": "Kyrgyz"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "Lao"
+ },
+ "lv": {
+ "name": "Latvian"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "lt": {
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "mk": {
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "mg": {
+ "name": "Malagasy"
+ },
+ "ml": {
+ "name": "Malayalam"
+ },
+ "mt": {
+ "name": "Maltese"
+ },
+ "gv": {
+ "name": "Manx"
+ },
+ "mr": {
+ "name": "Marathi"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "mn": {
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nds-NL": {
+ "name": "nds (ꘉꕜ ꖨꕮꕊ)"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "nd": {
+ "name": "North Ndebele"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "se": {
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "or": {
+ "name": "Odia"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "os": {
+ "name": "Ossetic"
+ },
+ "ps": {
+ "name": "Pashto"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "qu": {
+ "name": "Quechua"
+ },
+ "rm": {
+ "name": "Romansh"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "rn": {
+ "name": "Rundi"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "sah": {
+ "name": "Sakha"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "gd": {
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "sr": {
+ "name": "Serbian"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "si": {
+ "name": "Sinhala"
+ },
+ "sk": {
+ "name": "Slovak"
+ },
+ "sl": {
+ "name": "Slovenian"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw-CD": {
+ "name": "sw (ꖏꖐ ꗵꗞꖴꕟꔎ ꕸꖃꔀ)"
+ },
+ "sw": {
+ "name": "Swahili"
+ },
+ "gsw": {
+ "name": "Swiss German"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "te": {
+ "name": "Telugu"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "bo": {
+ "name": "Tibetan"
+ },
+ "ti": {
+ "name": "Tigrinya"
+ },
+ "to": {
+ "name": "Tongan"
+ },
+ "tk": {
+ "name": "Turkmen"
+ },
+ "hsb": {
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "name": "Uyghur"
+ },
+ "uz": {
+ "name": "Uzbek"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "cy": {
+ "name": "Welsh"
+ },
+ "fy": {
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "yi": {
+ "name": "Yiddish"
+ },
+ "dje": {
+ "name": "Zarma"
+ },
+ "be": {
+ "name": "ꔆꕞꖩꔻ"
+ },
+ "it": {
+ "name": "ꔤꕚꔷꘂꘋ"
+ },
+ "ig": {
+ "name": "ꔤꕼ"
+ },
+ "id": {
+ "name": "ꔤꖆꕇꔻꘂꘋ"
+ },
+ "hi": {
+ "name": "ꔦꔺ"
+ },
+ "vi": {
+ "name": "ꔲꕩꕯꕆꔧ"
+ },
+ "km": {
+ "name": "ꕃꘈꗢ"
+ },
+ "ne": {
+ "name": "ꕇꕐꔷ"
+ },
+ "am": {
+ "name": "ꕉꕆꕌꔸ"
+ },
+ "ak": {
+ "name": "ꕉꕪꘋ"
+ },
+ "ha": {
+ "name": "ꕌꖙꕢ"
+ },
+ "es": {
+ "name": "ꕐꘊꔧ"
+ },
+ "es-MX": {
+ "name": "ꕐꘊꔧ (ꘈꔻꖏ)"
+ },
+ "vai": {
+ "name": "ꕙꔤ"
+ },
+ "th": {
+ "name": "ꕚꔤ"
+ },
+ "ta": {
+ "name": "ꕚꕆꔷ"
+ },
+ "ar": {
+ "name": "ꕞꕌꖝ"
+ },
+ "rw": {
+ "name": "ꕟꖙꕡ"
+ },
+ "zh": {
+ "name": "ꕦꕇꔧ"
+ },
+ "zh-Hans": {
+ "name": "ꕦꕇꔧ (Hans)"
+ },
+ "zh-Hant": {
+ "name": "ꕦꕇꔧ (Hant)"
+ },
+ "ja": {
+ "name": "ꕧꕐꕇꔧ"
+ },
+ "de": {
+ "name": "ꕧꕮꔧ"
+ },
+ "de-CH": {
+ "name": "ꕧꕮꔧ (ꖬꔃꕤ ꖨꕮꕊ)"
+ },
+ "de-AT": {
+ "name": "ꕧꕮꔧ (ꖺꔻꖤꕎ)"
+ },
+ "ms": {
+ "name": "ꕮꔒꔀ"
+ },
+ "en": {
+ "name": "ꕶꕱ"
+ },
+ "en-CA": {
+ "name": "ꕶꕱ (ꕪꕯꕜ)"
+ },
+ "en-GB": {
+ "name": "ꕶꕱ (ꖕꕯꔤꗳ)"
+ },
+ "en-AU": {
+ "name": "ꕶꕱ (ꖺꖬꖤꔃꔷꕩ)"
+ },
+ "pt": {
+ "name": "ꕶꕿꕃꔤ"
+ },
+ "pt-PT": {
+ "name": "ꕶꕿꕃꔤ (ꕶꕿꕃꔤ ꕸꖃꔀ)"
+ },
+ "ro": {
+ "name": "ꖄꕆꕇꘂꘋ"
+ },
+ "ro-MD": {
+ "name": "ꖄꕆꕇꘂꘋ (ꖒꔷꖁꕙ)"
+ },
+ "so": {
+ "name": "ꖇꕮꔷ"
+ },
+ "yo": {
+ "name": "ꖎꖄꕑ"
+ },
+ "ko": {
+ "name": "ꖏꔸꘂꘋ"
+ },
+ "pa": {
+ "name": "ꖛꕨꔬ"
+ },
+ "sv": {
+ "name": "ꖬꔨꗵꘋ"
+ },
+ "zu": {
+ "name": "ꖮꖨ"
+ },
+ "uk": {
+ "name": "ꖳꖴꔓꕇꘂꘋ"
+ },
+ "ur": {
+ "name": "ꖺꖦ"
+ },
+ "hu": {
+ "name": "ꖽꔟꗸꘋ"
+ },
+ "pl": {
+ "name": "ꗁꔒꔻ"
+ },
+ "bg": {
+ "name": "ꗂꔠꗸꘋ"
+ },
+ "tr": {
+ "name": "ꗋꕃ"
+ },
+ "nl": {
+ "name": "ꗍꔿ"
+ },
+ "nl-BE": {
+ "name": "ꗍꔿ (ꗩꕀꗚꘋ)"
+ },
+ "ru": {
+ "name": "ꗐꖺꔻꘂꘋ"
+ },
+ "el": {
+ "name": "ꗥꗷꘋ"
+ },
+ "fa": {
+ "name": "ꗨꗡꔻꘂꘋ"
+ },
+ "my": {
+ "name": "ꗩꕆꔻ"
+ },
+ "bn": {
+ "name": "ꗩꕭꔷ"
+ },
+ "fr": {
+ "name": "ꗱꘋꔻ"
+ },
+ "fr-CA": {
+ "name": "ꗱꘋꔻ (ꕪꕯꕜ)"
+ },
+ "fr-CH": {
+ "name": "ꗱꘋꔻ (ꖬꔃꕤ ꖨꕮꕊ)"
+ },
+ "cs": {
+ "name": "ꗿꗡ"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/vi.json b/vendor/commerceguys/intl/resources/language/vi.json
new file mode 100644
index 000000000..d54e59f74
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/vi.json
@@ -0,0 +1,635 @@
+{
+ "ar": {
+ "name": "Tiếng Ả Rập"
+ },
+ "af": {
+ "name": "Tiếng Afrikaans"
+ },
+ "agq": {
+ "name": "Tiếng Aghem"
+ },
+ "ak": {
+ "name": "Tiếng Akan"
+ },
+ "sq": {
+ "name": "Tiếng Albania"
+ },
+ "am": {
+ "name": "Tiếng Amharic"
+ },
+ "en": {
+ "name": "Tiếng Anh"
+ },
+ "en-GB": {
+ "name": "Tiếng Anh (Anh)"
+ },
+ "en-AU": {
+ "name": "Tiếng Anh (Australia)"
+ },
+ "en-CA": {
+ "name": "Tiếng Anh (Canada)"
+ },
+ "hy": {
+ "name": "Tiếng Armenia"
+ },
+ "as": {
+ "name": "Tiếng Assam"
+ },
+ "ast": {
+ "name": "Tiếng Asturias"
+ },
+ "asa": {
+ "name": "Tiếng Asu"
+ },
+ "az": {
+ "name": "Tiếng Azerbaijan"
+ },
+ "pl": {
+ "name": "Tiếng Ba Lan"
+ },
+ "fa": {
+ "name": "Tiếng Ba Tư"
+ },
+ "ksf": {
+ "name": "Tiếng Bafia"
+ },
+ "bm": {
+ "name": "Tiếng Bambara"
+ },
+ "bn": {
+ "name": "Tiếng Bangla"
+ },
+ "bas": {
+ "name": "Tiếng Basaa"
+ },
+ "eu": {
+ "name": "Tiếng Basque"
+ },
+ "lrc": {
+ "name": "Tiếng Bắc Luri"
+ },
+ "be": {
+ "name": "Tiếng Belarus"
+ },
+ "bem": {
+ "name": "Tiếng Bemba"
+ },
+ "bez": {
+ "name": "Tiếng Bena"
+ },
+ "brx": {
+ "name": "Tiếng Bodo"
+ },
+ "bs": {
+ "name": "Tiếng Bosnia"
+ },
+ "pt": {
+ "name": "Tiếng Bồ Đào Nha"
+ },
+ "pt-PT": {
+ "name": "Tiếng Bồ Đào Nha (Châu Âu)"
+ },
+ "br": {
+ "name": "Tiếng Breton"
+ },
+ "bg": {
+ "name": "Tiếng Bulgaria"
+ },
+ "ca": {
+ "name": "Tiếng Catalan"
+ },
+ "ce": {
+ "name": "Tiếng Chechen"
+ },
+ "chr": {
+ "name": "Tiếng Cherokee"
+ },
+ "cgg": {
+ "name": "Tiếng Chiga"
+ },
+ "ksh": {
+ "name": "Tiếng Cologne"
+ },
+ "kw": {
+ "name": "Tiếng Cornwall"
+ },
+ "hr": {
+ "name": "Tiếng Croatia"
+ },
+ "ii": {
+ "name": "Tiếng Di Tứ Xuyên"
+ },
+ "he": {
+ "name": "Tiếng Do Thái"
+ },
+ "dua": {
+ "name": "Tiếng Duala"
+ },
+ "ug": {
+ "name": "Tiếng Duy Ngô Nhĩ"
+ },
+ "dz": {
+ "name": "Tiếng Dzongkha"
+ },
+ "da": {
+ "name": "Tiếng Đan Mạch"
+ },
+ "de": {
+ "name": "Tiếng Đức"
+ },
+ "de-AT": {
+ "name": "Tiếng Đức (Áo)"
+ },
+ "gsw": {
+ "name": "Tiếng Đức (Thụy Sĩ)"
+ },
+ "ebu": {
+ "name": "Tiếng Embu"
+ },
+ "et": {
+ "name": "Tiếng Estonia"
+ },
+ "ee": {
+ "name": "Tiếng Ewe"
+ },
+ "ewo": {
+ "name": "Tiếng Ewondo"
+ },
+ "fo": {
+ "name": "Tiếng Faroe"
+ },
+ "nl-BE": {
+ "name": "Tiếng Flemish"
+ },
+ "fy": {
+ "name": "Tiếng Frisia"
+ },
+ "fur": {
+ "name": "Tiếng Friulian"
+ },
+ "ff": {
+ "name": "Tiếng Fulah"
+ },
+ "gd": {
+ "name": "Tiếng Gael Scotland"
+ },
+ "gl": {
+ "name": "Tiếng Galician"
+ },
+ "lg": {
+ "name": "Tiếng Ganda"
+ },
+ "ka": {
+ "name": "Tiếng Gruzia"
+ },
+ "gu": {
+ "name": "Tiếng Gujarati"
+ },
+ "guz": {
+ "name": "Tiếng Gusii"
+ },
+ "nds": {
+ "name": "Tiếng Hạ Giéc-man"
+ },
+ "nl": {
+ "name": "Tiếng Hà Lan"
+ },
+ "nds-NL": {
+ "name": "Tiếng Hạ Saxon"
+ },
+ "dsb": {
+ "name": "Tiếng Hạ Sorbia"
+ },
+ "ko": {
+ "name": "Tiếng Hàn"
+ },
+ "ha": {
+ "name": "Tiếng Hausa"
+ },
+ "haw": {
+ "name": "Tiếng Hawaii"
+ },
+ "hi": {
+ "name": "Tiếng Hindi"
+ },
+ "hu": {
+ "name": "Tiếng Hungary"
+ },
+ "el": {
+ "name": "Tiếng Hy Lạp"
+ },
+ "is": {
+ "name": "Tiếng Iceland"
+ },
+ "ig": {
+ "name": "Tiếng Igbo"
+ },
+ "smn": {
+ "name": "Tiếng Inari Sami"
+ },
+ "id": {
+ "name": "Tiếng Indonesia"
+ },
+ "ga": {
+ "name": "Tiếng Ireland"
+ },
+ "dyo": {
+ "name": "Tiếng Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Tiếng Kabuverdianu"
+ },
+ "kab": {
+ "name": "Tiếng Kabyle"
+ },
+ "kkj": {
+ "name": "Tiếng Kako"
+ },
+ "kl": {
+ "name": "Tiếng Kalaallisut"
+ },
+ "kln": {
+ "name": "Tiếng Kalenjin"
+ },
+ "kam": {
+ "name": "Tiếng Kamba"
+ },
+ "kn": {
+ "name": "Tiếng Kannada"
+ },
+ "ks": {
+ "name": "Tiếng Kashmir"
+ },
+ "kk": {
+ "name": "Tiếng Kazakh"
+ },
+ "km": {
+ "name": "Tiếng Khơ-me"
+ },
+ "ki": {
+ "name": "Tiếng Kikuyu"
+ },
+ "rw": {
+ "name": "Tiếng Kinyarwanda"
+ },
+ "kok": {
+ "name": "Tiếng Konkani"
+ },
+ "khq": {
+ "name": "Tiếng Koyra Chiini"
+ },
+ "ses": {
+ "name": "Tiếng Koyraboro Senni"
+ },
+ "ckb": {
+ "name": "Tiếng Kurd Miền Trung"
+ },
+ "nmg": {
+ "name": "Tiếng Kwasio"
+ },
+ "ky": {
+ "name": "Tiếng Kyrgyz"
+ },
+ "lkt": {
+ "name": "Tiếng Lakota"
+ },
+ "lag": {
+ "name": "Tiếng Langi"
+ },
+ "lo": {
+ "name": "Tiếng Lào"
+ },
+ "lv": {
+ "name": "Tiếng Latvia"
+ },
+ "ln": {
+ "name": "Tiếng Lingala"
+ },
+ "lt": {
+ "name": "Tiếng Litva"
+ },
+ "lu": {
+ "name": "Tiếng Luba-Katanga"
+ },
+ "luo": {
+ "name": "Tiếng Luo"
+ },
+ "lb": {
+ "name": "Tiếng Luxembourg"
+ },
+ "luy": {
+ "name": "Tiếng Luyia"
+ },
+ "ms": {
+ "name": "Tiếng Mã Lai"
+ },
+ "mk": {
+ "name": "Tiếng Macedonia"
+ },
+ "jmc": {
+ "name": "Tiếng Machame"
+ },
+ "mgh": {
+ "name": "Tiếng Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Tiếng Makonde"
+ },
+ "mg": {
+ "name": "Tiếng Malagasy"
+ },
+ "ml": {
+ "name": "Tiếng Malayalam"
+ },
+ "mt": {
+ "name": "Tiếng Malta"
+ },
+ "gv": {
+ "name": "Tiếng Manx"
+ },
+ "mr": {
+ "name": "Tiếng Marathi"
+ },
+ "mas": {
+ "name": "Tiếng Masai"
+ },
+ "mzn": {
+ "name": "Tiếng Mazanderani"
+ },
+ "mer": {
+ "name": "Tiếng Meru"
+ },
+ "mgo": {
+ "name": "Tiếng Meta’"
+ },
+ "my": {
+ "name": "Tiếng Miến Điện"
+ },
+ "ro-MD": {
+ "name": "Tiếng Moldova"
+ },
+ "mfe": {
+ "name": "Tiếng Morisyen"
+ },
+ "mn": {
+ "name": "Tiếng Mông Cổ"
+ },
+ "mua": {
+ "name": "Tiếng Mundang"
+ },
+ "nb": {
+ "name": "Tiếng Na Uy (Bokmål)"
+ },
+ "nn": {
+ "name": "Tiếng Na Uy (Nynorsk)"
+ },
+ "naq": {
+ "name": "Tiếng Nama"
+ },
+ "nd": {
+ "name": "Tiếng Ndebele Miền Bắc"
+ },
+ "ne": {
+ "name": "Tiếng Nepal"
+ },
+ "ru": {
+ "name": "Tiếng Nga"
+ },
+ "nnh": {
+ "name": "Tiếng Ngiemboon"
+ },
+ "jgo": {
+ "name": "Tiếng Ngomba"
+ },
+ "ja": {
+ "name": "Tiếng Nhật"
+ },
+ "nus": {
+ "name": "Tiếng Nuer"
+ },
+ "nyn": {
+ "name": "Tiếng Nyankole"
+ },
+ "or": {
+ "name": "Tiếng Odia"
+ },
+ "om": {
+ "name": "Tiếng Oromo"
+ },
+ "os": {
+ "name": "Tiếng Ossetic"
+ },
+ "ps": {
+ "name": "Tiếng Pashto"
+ },
+ "fr": {
+ "name": "Tiếng Pháp"
+ },
+ "fr-CA": {
+ "name": "Tiếng Pháp (Canada)"
+ },
+ "fr-CH": {
+ "name": "Tiếng Pháp (Thụy Sĩ)"
+ },
+ "fi": {
+ "name": "Tiếng Phần Lan"
+ },
+ "fil": {
+ "name": "Tiếng Philippines"
+ },
+ "prg": {
+ "name": "Tiếng Prussia"
+ },
+ "pa": {
+ "name": "Tiếng Punjab"
+ },
+ "yue": {
+ "name": "Tiếng Quảng Đông"
+ },
+ "qu": {
+ "name": "Tiếng Quechua"
+ },
+ "eo": {
+ "name": "Tiếng Quốc Tế Ngữ"
+ },
+ "ro": {
+ "name": "Tiếng Romania"
+ },
+ "rm": {
+ "name": "Tiếng Romansh"
+ },
+ "rof": {
+ "name": "Tiếng Rombo"
+ },
+ "rn": {
+ "name": "Tiếng Rundi"
+ },
+ "rwk": {
+ "name": "Tiếng Rwa"
+ },
+ "sah": {
+ "name": "Tiếng Sakha"
+ },
+ "saq": {
+ "name": "Tiếng Samburu"
+ },
+ "se": {
+ "name": "Tiếng Sami Miền Bắc"
+ },
+ "sg": {
+ "name": "Tiếng Sango"
+ },
+ "sbp": {
+ "name": "Tiếng Sangu"
+ },
+ "cs": {
+ "name": "Tiếng Séc"
+ },
+ "seh": {
+ "name": "Tiếng Sena"
+ },
+ "sr": {
+ "name": "Tiếng Serbia"
+ },
+ "ksb": {
+ "name": "Tiếng Shambala"
+ },
+ "sn": {
+ "name": "Tiếng Shona"
+ },
+ "si": {
+ "name": "Tiếng Sinhala"
+ },
+ "cu": {
+ "name": "Tiếng Slavơ Nhà thờ"
+ },
+ "sk": {
+ "name": "Tiếng Slovak"
+ },
+ "sl": {
+ "name": "Tiếng Slovenia"
+ },
+ "xog": {
+ "name": "Tiếng Soga"
+ },
+ "so": {
+ "name": "Tiếng Somali"
+ },
+ "sw": {
+ "name": "Tiếng Swahili"
+ },
+ "sw-CD": {
+ "name": "Tiếng Swahili Congo"
+ },
+ "shi": {
+ "name": "Tiếng Tachelhit"
+ },
+ "dav": {
+ "name": "Tiếng Taita"
+ },
+ "zgh": {
+ "name": "Tiếng Tamazight Chuẩn của Ma-rốc"
+ },
+ "tzm": {
+ "name": "Tiếng Tamazight Miền Trung Ma-rốc"
+ },
+ "ta": {
+ "name": "Tiếng Tamil"
+ },
+ "twq": {
+ "name": "Tiếng Tasawaq"
+ },
+ "es": {
+ "name": "Tiếng Tây Ban Nha"
+ },
+ "es-MX": {
+ "name": "Tiếng Tây Ban Nha (Mexico)"
+ },
+ "bo": {
+ "name": "Tiếng Tây Tạng"
+ },
+ "te": {
+ "name": "Tiếng Telugu"
+ },
+ "teo": {
+ "name": "Tiếng Teso"
+ },
+ "th": {
+ "name": "Tiếng Thái"
+ },
+ "tr": {
+ "name": "Tiếng Thổ Nhĩ Kỳ"
+ },
+ "sv": {
+ "name": "Tiếng Thụy Điển"
+ },
+ "de-CH": {
+ "name": "Tiếng Thượng Giéc-man (Thụy Sĩ)"
+ },
+ "hsb": {
+ "name": "Tiếng Thượng Sorbia"
+ },
+ "ti": {
+ "name": "Tiếng Tigrinya"
+ },
+ "to": {
+ "name": "Tiếng Tonga"
+ },
+ "zh": {
+ "name": "Tiếng Trung"
+ },
+ "zh-Hans": {
+ "name": "Tiếng Trung (Giản thể)"
+ },
+ "zh-Hant": {
+ "name": "Tiếng Trung (Phồn thể)"
+ },
+ "tk": {
+ "name": "Tiếng Turkmen"
+ },
+ "uk": {
+ "name": "Tiếng Ucraina"
+ },
+ "ur": {
+ "name": "Tiếng Urdu"
+ },
+ "uz": {
+ "name": "Tiếng Uzbek"
+ },
+ "vai": {
+ "name": "Tiếng Vai"
+ },
+ "vi": {
+ "name": "Tiếng Việt"
+ },
+ "vo": {
+ "name": "Tiếng Volapük"
+ },
+ "vun": {
+ "name": "Tiếng Vunjo"
+ },
+ "cy": {
+ "name": "Tiếng Wales"
+ },
+ "wae": {
+ "name": "Tiếng Walser"
+ },
+ "it": {
+ "name": "Tiếng Ý"
+ },
+ "yav": {
+ "name": "Tiếng Yangben"
+ },
+ "yi": {
+ "name": "Tiếng Yiddish"
+ },
+ "yo": {
+ "name": "Tiếng Yoruba"
+ },
+ "dje": {
+ "name": "Tiếng Zarma"
+ },
+ "zu": {
+ "name": "Tiếng Zulu"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/vun.json b/vendor/commerceguys/intl/resources/language/vun.json
new file mode 100644
index 000000000..a623d1752
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/vun.json
@@ -0,0 +1,632 @@
+{
+ "af": {
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "sq": {
+ "name": "Albanian"
+ },
+ "hy": {
+ "name": "Armenian"
+ },
+ "as": {
+ "name": "Assamese"
+ },
+ "ast": {
+ "name": "Asturian"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "az": {
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "eu": {
+ "name": "Basque"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "bs": {
+ "name": "Bosnian"
+ },
+ "br": {
+ "name": "Breton"
+ },
+ "yue": {
+ "name": "Cantonese"
+ },
+ "ca": {
+ "name": "Catalan"
+ },
+ "tzm": {
+ "name": "Central Atlas Tamazight"
+ },
+ "ckb": {
+ "name": "Central Kurdish"
+ },
+ "ce": {
+ "name": "Chechen"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "cu": {
+ "name": "Church Slavic"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "kw": {
+ "name": "Cornish"
+ },
+ "hr": {
+ "name": "Croatian"
+ },
+ "da": {
+ "name": "Danish"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "dz": {
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "eo": {
+ "name": "Esperanto"
+ },
+ "et": {
+ "name": "Estonian"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fo": {
+ "name": "Faroese"
+ },
+ "fil": {
+ "name": "Filipino"
+ },
+ "fi": {
+ "name": "Finnish"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "gl": {
+ "name": "Galician"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "ka": {
+ "name": "Georgian"
+ },
+ "gu": {
+ "name": "Gujarati"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "haw": {
+ "name": "Hawaiian"
+ },
+ "he": {
+ "name": "Hebrew"
+ },
+ "is": {
+ "name": "Icelandic"
+ },
+ "smn": {
+ "name": "Inari Sami"
+ },
+ "ga": {
+ "name": "Irish"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabyle"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kl": {
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "kn": {
+ "name": "Kannada"
+ },
+ "ks": {
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "name": "Kazakh"
+ },
+ "ak": {
+ "name": "Kiakanyi"
+ },
+ "am": {
+ "name": "Kiamharyi"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "fa": {
+ "name": "Kyiajemi"
+ },
+ "ar": {
+ "name": "Kyiarabu"
+ },
+ "bn": {
+ "name": "Kyibangla"
+ },
+ "be": {
+ "name": "Kyibelarusi"
+ },
+ "bg": {
+ "name": "Kyibulgaryia"
+ },
+ "my": {
+ "name": "Kyiburma"
+ },
+ "cs": {
+ "name": "Kyichecki"
+ },
+ "zh": {
+ "name": "Kyichina"
+ },
+ "zh-Hans": {
+ "name": "Kyichina (Hans)"
+ },
+ "zh-Hant": {
+ "name": "Kyichina (Hant)"
+ },
+ "fr": {
+ "name": "Kyifaransa"
+ },
+ "fr-CA": {
+ "name": "Kyifaransa (Kanada)"
+ },
+ "fr-CH": {
+ "name": "Kyifaransa (Uswisi)"
+ },
+ "el": {
+ "name": "Kyigiriki"
+ },
+ "ha": {
+ "name": "Kyihausa"
+ },
+ "hi": {
+ "name": "Kyihindi"
+ },
+ "es": {
+ "name": "Kyihispania"
+ },
+ "es-MX": {
+ "name": "Kyihispania (Meksiko)"
+ },
+ "nl": {
+ "name": "Kyiholanzi"
+ },
+ "nl-BE": {
+ "name": "Kyiholanzi (Ubelgiji)"
+ },
+ "hu": {
+ "name": "Kyihungari"
+ },
+ "ig": {
+ "name": "Kyiigbo"
+ },
+ "id": {
+ "name": "Kyiindonesia"
+ },
+ "it": {
+ "name": "Kyiitaliano"
+ },
+ "ja": {
+ "name": "Kyijapani"
+ },
+ "de": {
+ "name": "Kyijerumani"
+ },
+ "de-AT": {
+ "name": "Kyijerumani (Austria)"
+ },
+ "de-CH": {
+ "name": "Kyijerumani (Uswisi)"
+ },
+ "km": {
+ "name": "Kyikambodia"
+ },
+ "ko": {
+ "name": "Kyikorea"
+ },
+ "ms": {
+ "name": "Kyimalesia"
+ },
+ "ne": {
+ "name": "Kyinepali"
+ },
+ "en": {
+ "name": "Kyingereza"
+ },
+ "en-AU": {
+ "name": "Kyingereza (Australia)"
+ },
+ "en-CA": {
+ "name": "Kyingereza (Kanada)"
+ },
+ "en-GB": {
+ "name": "Kyingereza (Uingereza)"
+ },
+ "rw": {
+ "name": "Kyinyarwanda"
+ },
+ "pl": {
+ "name": "Kyipolandi"
+ },
+ "pa": {
+ "name": "Kyipunjabi"
+ },
+ "pt": {
+ "name": "Kyireno"
+ },
+ "pt-PT": {
+ "name": "Kyireno (Ureno)"
+ },
+ "ro": {
+ "name": "Kyiromania"
+ },
+ "ro-MD": {
+ "name": "Kyiromania (Moldova)"
+ },
+ "ru": {
+ "name": "Kyirusi"
+ },
+ "so": {
+ "name": "Kyisomalyi"
+ },
+ "sv": {
+ "name": "Kyiswidi"
+ },
+ "th": {
+ "name": "Kyitailandi"
+ },
+ "ta": {
+ "name": "Kyitamil"
+ },
+ "tr": {
+ "name": "Kyiturukyi"
+ },
+ "uk": {
+ "name": "Kyiukrania"
+ },
+ "ur": {
+ "name": "Kyiurdu"
+ },
+ "vi": {
+ "name": "Kyivietinamu"
+ },
+ "vun": {
+ "name": "Kyivunjo"
+ },
+ "yo": {
+ "name": "Kyiyoruba"
+ },
+ "zu": {
+ "name": "Kyizulu"
+ },
+ "ky": {
+ "name": "Kyrgyz"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "Lao"
+ },
+ "lv": {
+ "name": "Latvian"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "lt": {
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "mk": {
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "mg": {
+ "name": "Malagasy"
+ },
+ "ml": {
+ "name": "Malayalam"
+ },
+ "mt": {
+ "name": "Maltese"
+ },
+ "gv": {
+ "name": "Manx"
+ },
+ "mr": {
+ "name": "Marathi"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "mn": {
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nds-NL": {
+ "name": "nds (Uholanzi)"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "nd": {
+ "name": "North Ndebele"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "se": {
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "or": {
+ "name": "Odia"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "os": {
+ "name": "Ossetic"
+ },
+ "ps": {
+ "name": "Pashto"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "qu": {
+ "name": "Quechua"
+ },
+ "rm": {
+ "name": "Romansh"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "rn": {
+ "name": "Rundi"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "sah": {
+ "name": "Sakha"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "gd": {
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "sr": {
+ "name": "Serbian"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "si": {
+ "name": "Sinhala"
+ },
+ "sk": {
+ "name": "Slovak"
+ },
+ "sl": {
+ "name": "Slovenian"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw-CD": {
+ "name": "sw (Jamhuri ya Kidemokrasia ya Kongo)"
+ },
+ "sw": {
+ "name": "Swahili"
+ },
+ "gsw": {
+ "name": "Swiss German"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "te": {
+ "name": "Telugu"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "bo": {
+ "name": "Tibetan"
+ },
+ "ti": {
+ "name": "Tigrinya"
+ },
+ "to": {
+ "name": "Tongan"
+ },
+ "tk": {
+ "name": "Turkmen"
+ },
+ "hsb": {
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "name": "Uyghur"
+ },
+ "uz": {
+ "name": "Uzbek"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "cy": {
+ "name": "Welsh"
+ },
+ "fy": {
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "yi": {
+ "name": "Yiddish"
+ },
+ "dje": {
+ "name": "Zarma"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/wae.json b/vendor/commerceguys/intl/resources/language/wae.json
new file mode 100644
index 000000000..56097d8a0
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/wae.json
@@ -0,0 +1,632 @@
+{
+ "af": {
+ "name": "Afrikáns"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "ak": {
+ "name": "Akan"
+ },
+ "sq": {
+ "name": "Albaniš"
+ },
+ "am": {
+ "name": "Amhariš"
+ },
+ "ar": {
+ "name": "Arabiš"
+ },
+ "hy": {
+ "name": "Armeniš"
+ },
+ "as": {
+ "name": "Assamesiš"
+ },
+ "ast": {
+ "name": "Asturian"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "en-AU": {
+ "name": "Auštrališes Engliš"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "eu": {
+ "name": "Baskiš"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "bn": {
+ "name": "Bengališ"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "bs": {
+ "name": "Bosniš"
+ },
+ "br": {
+ "name": "Breton"
+ },
+ "en-GB": {
+ "name": "Britišes Engliš"
+ },
+ "bg": {
+ "name": "Bulgariš"
+ },
+ "my": {
+ "name": "Burmesiš"
+ },
+ "dz": {
+ "name": "Butaniš"
+ },
+ "yue": {
+ "name": "Cantonese"
+ },
+ "tzm": {
+ "name": "Central Atlas Tamazight"
+ },
+ "ckb": {
+ "name": "Central Kurdish"
+ },
+ "ce": {
+ "name": "Chechen"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "zh": {
+ "name": "Chinesiš"
+ },
+ "cu": {
+ "name": "Church Slavic"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "kw": {
+ "name": "Cornish"
+ },
+ "da": {
+ "name": "Däniš"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "en": {
+ "name": "Engliš"
+ },
+ "eo": {
+ "name": "Esperanto"
+ },
+ "et": {
+ "name": "Estniš"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fo": {
+ "name": "Faroese"
+ },
+ "fil": {
+ "name": "Filipiniš"
+ },
+ "fi": {
+ "name": "Finiš"
+ },
+ "nl-BE": {
+ "name": "Flämiš"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "gl": {
+ "name": "Galiziš"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "ka": {
+ "name": "Georgiš"
+ },
+ "el": {
+ "name": "Gričiš"
+ },
+ "gu": {
+ "name": "Gujarati"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "ha": {
+ "name": "Hausa"
+ },
+ "haw": {
+ "name": "Hawaíaniš"
+ },
+ "he": {
+ "name": "Hebräiš"
+ },
+ "hi": {
+ "name": "Hindi"
+ },
+ "nl": {
+ "name": "Holändiš"
+ },
+ "pt-PT": {
+ "name": "Iberišes Portugisiš"
+ },
+ "ig": {
+ "name": "Igbo"
+ },
+ "is": {
+ "name": "Iisländiš"
+ },
+ "smn": {
+ "name": "Inari Sami"
+ },
+ "id": {
+ "name": "Indonesiš"
+ },
+ "ga": {
+ "name": "Iriš"
+ },
+ "it": {
+ "name": "Italieniš"
+ },
+ "sah": {
+ "name": "Jakutiš"
+ },
+ "ja": {
+ "name": "Japaniš"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabyle"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kl": {
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "km": {
+ "name": "Kambodšaniš"
+ },
+ "en-CA": {
+ "name": "Kanadišes Engliš"
+ },
+ "fr-CA": {
+ "name": "Kanadišes Wälš"
+ },
+ "kn": {
+ "name": "Kannada"
+ },
+ "ks": {
+ "name": "Kašmiriš"
+ },
+ "ca": {
+ "name": "Katalaniš"
+ },
+ "kk": {
+ "name": "Kazačiš"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "ky": {
+ "name": "Kirgisiš"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "ko": {
+ "name": "Koreaniš"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "hr": {
+ "name": "Kroatiš"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "Laotiš"
+ },
+ "lv": {
+ "name": "Lettiš"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "lt": {
+ "name": "Litauiš"
+ },
+ "dsb": {
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "Luxemburgiš"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "mg": {
+ "name": "Malagási"
+ },
+ "ms": {
+ "name": "Malaíš"
+ },
+ "ml": {
+ "name": "Malayalam"
+ },
+ "mt": {
+ "name": "Maltesiš"
+ },
+ "gv": {
+ "name": "Manx"
+ },
+ "mr": {
+ "name": "Marathi"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mk": {
+ "name": "Mazedoniš"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "mn": {
+ "name": "Mongoliš"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nds-NL": {
+ "name": "nds (Holand)"
+ },
+ "ne": {
+ "name": "Nepalesiš"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "nd": {
+ "name": "Nordndebele"
+ },
+ "se": {
+ "name": "Nordsamiš"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "nb": {
+ "name": "Norwegiš Bokmål"
+ },
+ "nn": {
+ "name": "Norwegiš Nynorsk"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "or": {
+ "name": "Oriya"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "os": {
+ "name": "Osétiš"
+ },
+ "de-AT": {
+ "name": "Öštričišes Titš"
+ },
+ "pa": {
+ "name": "Pandšabiš"
+ },
+ "ps": {
+ "name": "Paštu"
+ },
+ "fa": {
+ "name": "Persiš"
+ },
+ "pl": {
+ "name": "Polniš"
+ },
+ "pt": {
+ "name": "Portugisiš"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "qu": {
+ "name": "Quečua"
+ },
+ "rm": {
+ "name": "Rätromaniš"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "rw": {
+ "name": "Ruandiš"
+ },
+ "ro": {
+ "name": "Rumäniš"
+ },
+ "ro-MD": {
+ "name": "Rumäniš (Moldau)"
+ },
+ "rn": {
+ "name": "Rundi"
+ },
+ "ru": {
+ "name": "Rusiš"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "es": {
+ "name": "Schpaniš"
+ },
+ "es-MX": {
+ "name": "Schpaniš (Mexiko)"
+ },
+ "sv": {
+ "name": "Schwediš"
+ },
+ "de-CH": {
+ "name": "Schwizer Hočtitš"
+ },
+ "fr-CH": {
+ "name": "Schwizer Wälš"
+ },
+ "gd": {
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "az": {
+ "name": "Serbaidšaniš"
+ },
+ "sr": {
+ "name": "Serbiš"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "si": {
+ "name": "Singalesiš"
+ },
+ "sk": {
+ "name": "Slowakiš"
+ },
+ "sl": {
+ "name": "Sloweniš"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "so": {
+ "name": "Somališ"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw": {
+ "name": "Suaheliš"
+ },
+ "sw-CD": {
+ "name": "Suaheliš (Kongo-Kinshasa)"
+ },
+ "gsw": {
+ "name": "Swiss German"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "ta": {
+ "name": "Tamiliš"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "te": {
+ "name": "Telugu"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "th": {
+ "name": "Thailändiš"
+ },
+ "bo": {
+ "name": "Tibetiš"
+ },
+ "ti": {
+ "name": "Tigrinja"
+ },
+ "de": {
+ "name": "Titš"
+ },
+ "to": {
+ "name": "Tonga"
+ },
+ "zh-Hant": {
+ "name": "Traditionells Chinesiš"
+ },
+ "cs": {
+ "name": "Tšečiš"
+ },
+ "tr": {
+ "name": "Türkiš"
+ },
+ "tk": {
+ "name": "Turkmeniš"
+ },
+ "ug": {
+ "name": "Uiguriš"
+ },
+ "uk": {
+ "name": "Ukrainiš"
+ },
+ "hu": {
+ "name": "Ungariš"
+ },
+ "hsb": {
+ "name": "Upper Sorbian"
+ },
+ "ur": {
+ "name": "Urdu"
+ },
+ "uz": {
+ "name": "Usbekiš"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "zh-Hans": {
+ "name": "Vereifačts Chinesiš"
+ },
+ "vi": {
+ "name": "Vietnamesiš"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "cy": {
+ "name": "Walisiš"
+ },
+ "fr": {
+ "name": "Wälš"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "fy": {
+ "name": "Western Frisian"
+ },
+ "be": {
+ "name": "Wísrussiš"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "yi": {
+ "name": "Yiddish"
+ },
+ "yo": {
+ "name": "Yoruba"
+ },
+ "dje": {
+ "name": "Zarma"
+ },
+ "zu": {
+ "name": "Zulu"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/xog.json b/vendor/commerceguys/intl/resources/language/xog.json
new file mode 100644
index 000000000..5f9b1cc21
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/xog.json
@@ -0,0 +1,632 @@
+{
+ "af": {
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "sq": {
+ "name": "Albanian"
+ },
+ "hy": {
+ "name": "Armenian"
+ },
+ "as": {
+ "name": "Assamese"
+ },
+ "ast": {
+ "name": "Asturian"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "az": {
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "eu": {
+ "name": "Basque"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "bs": {
+ "name": "Bosnian"
+ },
+ "br": {
+ "name": "Breton"
+ },
+ "yue": {
+ "name": "Cantonese"
+ },
+ "ca": {
+ "name": "Catalan"
+ },
+ "tzm": {
+ "name": "Central Atlas Tamazight"
+ },
+ "ckb": {
+ "name": "Central Kurdish"
+ },
+ "ce": {
+ "name": "Chechen"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "cu": {
+ "name": "Church Slavic"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "kw": {
+ "name": "Cornish"
+ },
+ "hr": {
+ "name": "Croatian"
+ },
+ "da": {
+ "name": "Danish"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "dz": {
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "eo": {
+ "name": "Esperanto"
+ },
+ "et": {
+ "name": "Estonian"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fo": {
+ "name": "Faroese"
+ },
+ "fil": {
+ "name": "Filipino"
+ },
+ "fi": {
+ "name": "Finnish"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "gl": {
+ "name": "Galician"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "ka": {
+ "name": "Georgian"
+ },
+ "gu": {
+ "name": "Gujarati"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "haw": {
+ "name": "Hawaiian"
+ },
+ "he": {
+ "name": "Hebrew"
+ },
+ "is": {
+ "name": "Icelandic"
+ },
+ "smn": {
+ "name": "Inari Sami"
+ },
+ "ga": {
+ "name": "Irish"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabyle"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kl": {
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "kn": {
+ "name": "Kannada"
+ },
+ "ks": {
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "name": "Kazakh"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "ky": {
+ "name": "Kyrgyz"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "Lao"
+ },
+ "lv": {
+ "name": "Latvian"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "lt": {
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "mk": {
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "mg": {
+ "name": "Malagasy"
+ },
+ "ml": {
+ "name": "Malayalam"
+ },
+ "mt": {
+ "name": "Maltese"
+ },
+ "gv": {
+ "name": "Manx"
+ },
+ "mr": {
+ "name": "Marathi"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "mn": {
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nds-NL": {
+ "name": "nds (Holandi)"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "nd": {
+ "name": "North Ndebele"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "se": {
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "or": {
+ "name": "Odia"
+ },
+ "ur": {
+ "name": "Olu-urudu"
+ },
+ "ak": {
+ "name": "Oluakaani"
+ },
+ "am": {
+ "name": "Oluamhariki"
+ },
+ "my": {
+ "name": "Olubbama"
+ },
+ "be": {
+ "name": "Olubelarusi"
+ },
+ "bn": {
+ "name": "Olubengali"
+ },
+ "bg": {
+ "name": "Olubulugariya"
+ },
+ "zh": {
+ "name": "Olucayina"
+ },
+ "zh-Hans": {
+ "name": "Olucayina (Hans)"
+ },
+ "zh-Hant": {
+ "name": "Olucayina (Hant)"
+ },
+ "cs": {
+ "name": "Oluceeke"
+ },
+ "de": {
+ "name": "Oludaaki"
+ },
+ "de-AT": {
+ "name": "Oludaaki (Awusituriya)"
+ },
+ "de-CH": {
+ "name": "Oludaaki (Switizirandi)"
+ },
+ "fr": {
+ "name": "Olufalansa"
+ },
+ "fr-CA": {
+ "name": "Olufalansa (Kanada)"
+ },
+ "fr-CH": {
+ "name": "Olufalansa (Switizirandi)"
+ },
+ "hu": {
+ "name": "Oluhangare"
+ },
+ "ha": {
+ "name": "Oluhawuza"
+ },
+ "hi": {
+ "name": "Oluhindu"
+ },
+ "nl": {
+ "name": "Oluholandi"
+ },
+ "nl-BE": {
+ "name": "Oluholandi (Bubirigi)"
+ },
+ "ja": {
+ "name": "Olujapani"
+ },
+ "km": {
+ "name": "Olukme"
+ },
+ "ko": {
+ "name": "Olukoreya"
+ },
+ "ru": {
+ "name": "Olulasa"
+ },
+ "ro": {
+ "name": "Olulomaniya"
+ },
+ "ro-MD": {
+ "name": "Olulomaniya (Molodova)"
+ },
+ "ms": {
+ "name": "Olumalayi"
+ },
+ "rw": {
+ "name": "Olunarwanda"
+ },
+ "ne": {
+ "name": "Olunepali"
+ },
+ "en": {
+ "name": "Olungereza"
+ },
+ "en-AU": {
+ "name": "Olungereza (Awusitureliya)"
+ },
+ "en-GB": {
+ "name": "Olungereza (Bungereza)"
+ },
+ "en-CA": {
+ "name": "Olungereza (Kanada)"
+ },
+ "fa": {
+ "name": "Oluperusi"
+ },
+ "pl": {
+ "name": "Olupolandi"
+ },
+ "pt": {
+ "name": "Olupotugiizi"
+ },
+ "pt-PT": {
+ "name": "Olupotugiizi (Potugaali)"
+ },
+ "pa": {
+ "name": "Olupunjabi"
+ },
+ "es": {
+ "name": "Olusipanya"
+ },
+ "es-MX": {
+ "name": "Olusipanya (Mekisiko)"
+ },
+ "xog": {
+ "name": "Olusoga"
+ },
+ "so": {
+ "name": "Olusomaliya"
+ },
+ "sv": {
+ "name": "Oluswideni"
+ },
+ "tr": {
+ "name": "Olutake"
+ },
+ "ta": {
+ "name": "Olutamiiru"
+ },
+ "th": {
+ "name": "Oluttaayi"
+ },
+ "vi": {
+ "name": "Oluvyetinaamu"
+ },
+ "ar": {
+ "name": "Oluwarabu"
+ },
+ "ig": {
+ "name": "Oluyibo"
+ },
+ "id": {
+ "name": "Oluyindonezya"
+ },
+ "it": {
+ "name": "Oluyitale"
+ },
+ "el": {
+ "name": "Oluyonaani"
+ },
+ "yo": {
+ "name": "Oluyoruba"
+ },
+ "uk": {
+ "name": "Oluyukurayine"
+ },
+ "zu": {
+ "name": "Oluzzulu"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "os": {
+ "name": "Ossetic"
+ },
+ "ps": {
+ "name": "Pashto"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "qu": {
+ "name": "Quechua"
+ },
+ "rm": {
+ "name": "Romansh"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "rn": {
+ "name": "Rundi"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "sah": {
+ "name": "Sakha"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "gd": {
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "sr": {
+ "name": "Serbian"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "si": {
+ "name": "Sinhala"
+ },
+ "sk": {
+ "name": "Slovak"
+ },
+ "sl": {
+ "name": "Slovenian"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw-CD": {
+ "name": "sw (Kongo - Zayire)"
+ },
+ "sw": {
+ "name": "Swahili"
+ },
+ "gsw": {
+ "name": "Swiss German"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "te": {
+ "name": "Telugu"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "bo": {
+ "name": "Tibetan"
+ },
+ "ti": {
+ "name": "Tigrinya"
+ },
+ "to": {
+ "name": "Tongan"
+ },
+ "tk": {
+ "name": "Turkmen"
+ },
+ "hsb": {
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "name": "Uyghur"
+ },
+ "uz": {
+ "name": "Uzbek"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "cy": {
+ "name": "Welsh"
+ },
+ "fy": {
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "yi": {
+ "name": "Yiddish"
+ },
+ "dje": {
+ "name": "Zarma"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/yav.json b/vendor/commerceguys/intl/resources/language/yav.json
new file mode 100644
index 000000000..09492632b
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/yav.json
@@ -0,0 +1,632 @@
+{
+ "af": {
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "ak": {
+ "name": "akánɛ"
+ },
+ "sq": {
+ "name": "Albanian"
+ },
+ "am": {
+ "name": "amalíke"
+ },
+ "hy": {
+ "name": "Armenian"
+ },
+ "as": {
+ "name": "Assamese"
+ },
+ "ast": {
+ "name": "Asturian"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "az": {
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "eu": {
+ "name": "Basque"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "my": {
+ "name": "bímanɛ"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "bs": {
+ "name": "Bosnian"
+ },
+ "br": {
+ "name": "Breton"
+ },
+ "bg": {
+ "name": "bulgálɛ"
+ },
+ "yue": {
+ "name": "Cantonese"
+ },
+ "ca": {
+ "name": "Catalan"
+ },
+ "tzm": {
+ "name": "Central Atlas Tamazight"
+ },
+ "ckb": {
+ "name": "Central Kurdish"
+ },
+ "cs": {
+ "name": "cɛ́kɛ́ɛ"
+ },
+ "ce": {
+ "name": "Chechen"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "cu": {
+ "name": "Church Slavic"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "kw": {
+ "name": "Cornish"
+ },
+ "hr": {
+ "name": "Croatian"
+ },
+ "da": {
+ "name": "Danish"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "dz": {
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "eo": {
+ "name": "Esperanto"
+ },
+ "et": {
+ "name": "Estonian"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fo": {
+ "name": "Faroese"
+ },
+ "fr": {
+ "name": "feleŋsí"
+ },
+ "fr-CA": {
+ "name": "feleŋsí (Kánáta)"
+ },
+ "fr-CH": {
+ "name": "feleŋsí (suwíis)"
+ },
+ "fil": {
+ "name": "Filipino"
+ },
+ "fi": {
+ "name": "Finnish"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "gl": {
+ "name": "Galician"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "ka": {
+ "name": "Georgian"
+ },
+ "gu": {
+ "name": "Gujarati"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "haw": {
+ "name": "Hawaiian"
+ },
+ "he": {
+ "name": "Hebrew"
+ },
+ "ig": {
+ "name": "íbo"
+ },
+ "is": {
+ "name": "Icelandic"
+ },
+ "smn": {
+ "name": "Inari Sami"
+ },
+ "hi": {
+ "name": "índí"
+ },
+ "id": {
+ "name": "índonísiɛ"
+ },
+ "en": {
+ "name": "íŋgilísé"
+ },
+ "en-GB": {
+ "name": "íŋgilísé (ingilíís)"
+ },
+ "en-CA": {
+ "name": "íŋgilísé (Kánáta)"
+ },
+ "en-AU": {
+ "name": "íŋgilísé (Otalalí)"
+ },
+ "ga": {
+ "name": "Irish"
+ },
+ "it": {
+ "name": "itáliɛ"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabyle"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kl": {
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "kn": {
+ "name": "Kannada"
+ },
+ "ks": {
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "name": "Kazakh"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "km": {
+ "name": "kímɛɛ"
+ },
+ "ko": {
+ "name": "kolíe"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "ky": {
+ "name": "Kyrgyz"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "Lao"
+ },
+ "lv": {
+ "name": "Latvian"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "lt": {
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "mk": {
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "mg": {
+ "name": "Malagasy"
+ },
+ "ml": {
+ "name": "Malayalam"
+ },
+ "ms": {
+ "name": "máliɛ"
+ },
+ "mt": {
+ "name": "Maltese"
+ },
+ "gv": {
+ "name": "Manx"
+ },
+ "mr": {
+ "name": "Marathi"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "mn": {
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "ja": {
+ "name": "ndiáman"
+ },
+ "nds-NL": {
+ "name": "nds (nitililáand)"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "nl": {
+ "name": "nilándɛ"
+ },
+ "nl-BE": {
+ "name": "nilándɛ (Pɛlsíik)"
+ },
+ "nd": {
+ "name": "North Ndebele"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "se": {
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "name": "Norwegian Nynorsk"
+ },
+ "yav": {
+ "name": "nuasue"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "es": {
+ "name": "nuɛspanyɔ́lɛ"
+ },
+ "es-MX": {
+ "name": "nuɛspanyɔ́lɛ (mɛksíik)"
+ },
+ "vi": {
+ "name": "nufiɛtnamíɛŋ"
+ },
+ "uk": {
+ "name": "nukeleniɛ́ŋɛ"
+ },
+ "rw": {
+ "name": "nuluándɛ́ɛ"
+ },
+ "ro": {
+ "name": "nulumɛ́ŋɛ"
+ },
+ "ro-MD": {
+ "name": "nulumɛ́ŋɛ (moltafí)"
+ },
+ "ru": {
+ "name": "nulúse"
+ },
+ "ur": {
+ "name": "nulutú"
+ },
+ "ne": {
+ "name": "nunipálɛ"
+ },
+ "fa": {
+ "name": "nupɛ́lisɛ"
+ },
+ "pl": {
+ "name": "nupolonɛ́ɛ"
+ },
+ "pt": {
+ "name": "nupɔlitukɛ́ɛ"
+ },
+ "pt-PT": {
+ "name": "nupɔlitukɛ́ɛ (pɔltukáal)"
+ },
+ "pa": {
+ "name": "nupunsapíɛ́"
+ },
+ "so": {
+ "name": "nusomalíɛ"
+ },
+ "sv": {
+ "name": "nusuetua"
+ },
+ "zu": {
+ "name": "nusulú"
+ },
+ "ta": {
+ "name": "nutámule"
+ },
+ "th": {
+ "name": "nutáyɛ"
+ },
+ "tr": {
+ "name": "nutúluke"
+ },
+ "yo": {
+ "name": "nuyolúpa"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "de": {
+ "name": "ŋndiáman"
+ },
+ "de-AT": {
+ "name": "ŋndiáman (Otilís)"
+ },
+ "de-CH": {
+ "name": "ŋndiáman (suwíis)"
+ },
+ "or": {
+ "name": "Odia"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "os": {
+ "name": "Ossetic"
+ },
+ "hu": {
+ "name": "ɔ́ŋgɛ"
+ },
+ "ha": {
+ "name": "pakas"
+ },
+ "ar": {
+ "name": "́pakas"
+ },
+ "ps": {
+ "name": "Pashto"
+ },
+ "bn": {
+ "name": "pengálɛ́ɛ"
+ },
+ "be": {
+ "name": "pielúse"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "qu": {
+ "name": "Quechua"
+ },
+ "rm": {
+ "name": "Romansh"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "rn": {
+ "name": "Rundi"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "sah": {
+ "name": "Sakha"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "gd": {
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "sr": {
+ "name": "Serbian"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "si": {
+ "name": "Sinhala"
+ },
+ "zh": {
+ "name": "sinúɛ"
+ },
+ "zh-Hans": {
+ "name": "sinúɛ (Hans)"
+ },
+ "zh-Hant": {
+ "name": "sinúɛ (Hant)"
+ },
+ "sk": {
+ "name": "Slovak"
+ },
+ "sl": {
+ "name": "Slovenian"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw-CD": {
+ "name": "sw (kitɔŋ kí kongó)"
+ },
+ "sw": {
+ "name": "Swahili"
+ },
+ "gsw": {
+ "name": "Swiss German"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "te": {
+ "name": "Telugu"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "bo": {
+ "name": "Tibetan"
+ },
+ "ti": {
+ "name": "Tigrinya"
+ },
+ "to": {
+ "name": "Tongan"
+ },
+ "tk": {
+ "name": "Turkmen"
+ },
+ "hsb": {
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "name": "Uyghur"
+ },
+ "uz": {
+ "name": "Uzbek"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "cy": {
+ "name": "Welsh"
+ },
+ "fy": {
+ "name": "Western Frisian"
+ },
+ "el": {
+ "name": "yavánɛ"
+ },
+ "yi": {
+ "name": "Yiddish"
+ },
+ "dje": {
+ "name": "Zarma"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/yi.json b/vendor/commerceguys/intl/resources/language/yi.json
new file mode 100644
index 000000000..a686dc2f0
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/yi.json
@@ -0,0 +1,635 @@
+{
+ "uz": {
+ "name": "אוזבעקיש"
+ },
+ "hu": {
+ "name": "אונגעריש"
+ },
+ "dsb": {
+ "name": "אונטער־סארביש"
+ },
+ "uk": {
+ "name": "אוקראַאיניש"
+ },
+ "ur": {
+ "name": "אורדו"
+ },
+ "az": {
+ "name": "אַזערביידזשאַניש"
+ },
+ "hsb": {
+ "name": "אייבער־סארביש"
+ },
+ "it": {
+ "name": "איטאַליעניש"
+ },
+ "id": {
+ "name": "אינדאנעזיש"
+ },
+ "is": {
+ "name": "איסלאַנדיש"
+ },
+ "ga": {
+ "name": "איריש"
+ },
+ "sq": {
+ "name": "אַלבאַניש"
+ },
+ "am": {
+ "name": "אַמהאַריש"
+ },
+ "as": {
+ "name": "אַסאַמיש"
+ },
+ "os": {
+ "name": "אסעטיש"
+ },
+ "af": {
+ "name": "אַפֿריקאַנס"
+ },
+ "ar": {
+ "name": "אַראַביש"
+ },
+ "hy": {
+ "name": "אַרמעניש"
+ },
+ "bs": {
+ "name": "באסניש"
+ },
+ "eu": {
+ "name": "באַסקיש"
+ },
+ "bg": {
+ "name": "בולגאַריש"
+ },
+ "my": {
+ "name": "בירמאַניש"
+ },
+ "be": {
+ "name": "בעלאַרוסיש"
+ },
+ "bn": {
+ "name": "בענגאַליש"
+ },
+ "br": {
+ "name": "ברעטאניש"
+ },
+ "gl": {
+ "name": "גאַלישיש"
+ },
+ "ka": {
+ "name": "גרוזיניש"
+ },
+ "el": {
+ "name": "גריכיש"
+ },
+ "de": {
+ "name": "דײַטש"
+ },
+ "de-AT": {
+ "name": "דײַטש (עסטרייך)"
+ },
+ "de-CH": {
+ "name": "דײַטש (שווייץ)"
+ },
+ "da": {
+ "name": "דעניש"
+ },
+ "ha": {
+ "name": "האַוסאַ"
+ },
+ "nl": {
+ "name": "האלענדיש"
+ },
+ "hi": {
+ "name": "הינדי"
+ },
+ "he": {
+ "name": "העברעאיש"
+ },
+ "vo": {
+ "name": "וואלאַפּוק"
+ },
+ "vi": {
+ "name": "וויעטנאַמעזיש"
+ },
+ "cy": {
+ "name": "וועלשיש"
+ },
+ "zu": {
+ "name": "זולו"
+ },
+ "dyo": {
+ "name": "זשאלא־פֿאני"
+ },
+ "ta": {
+ "name": "טאַמיל"
+ },
+ "tk": {
+ "name": "טורקמעניש"
+ },
+ "bo": {
+ "name": "טיבעטיש"
+ },
+ "cs": {
+ "name": "טשעכיש"
+ },
+ "ja": {
+ "name": "יאַפּאַניש"
+ },
+ "yi": {
+ "name": "ייִדיש"
+ },
+ "zh": {
+ "name": "כינעזיש"
+ },
+ "zh-Hans": {
+ "name": "כינעזיש (Hans)"
+ },
+ "zh-Hant": {
+ "name": "כינעזיש (Hant)"
+ },
+ "km": {
+ "name": "כמער"
+ },
+ "lo": {
+ "name": "לאַא"
+ },
+ "lb": {
+ "name": "לוקסעמבורגיש"
+ },
+ "lt": {
+ "name": "ליטוויש"
+ },
+ "lv": {
+ "name": "לעטיש"
+ },
+ "ml": {
+ "name": "מאַלאַיאַלאַם"
+ },
+ "mt": {
+ "name": "מאַלטעזיש"
+ },
+ "mn": {
+ "name": "מאנגאליש"
+ },
+ "gv": {
+ "name": "מאַנקס"
+ },
+ "mk": {
+ "name": "מאַקעדאניש"
+ },
+ "fy": {
+ "name": "מערב־פֿריזיש"
+ },
+ "se": {
+ "name": "נארדסאַמיש"
+ },
+ "nn": {
+ "name": "נײַ־נארוועגיש"
+ },
+ "nds": {
+ "name": "נידערדײַטש"
+ },
+ "nds-NL": {
+ "name": "נידערדײַטש (האלאַנד)"
+ },
+ "ne": {
+ "name": "נעפּאַליש"
+ },
+ "so": {
+ "name": "סאמאַליש"
+ },
+ "sw": {
+ "name": "סוואַהיליש"
+ },
+ "si": {
+ "name": "סינהאַליש"
+ },
+ "sk": {
+ "name": "סלאוואַקיש"
+ },
+ "sl": {
+ "name": "סלאוועניש"
+ },
+ "sr": {
+ "name": "סערביש"
+ },
+ "gd": {
+ "name": "סקאטיש געליש"
+ },
+ "en": {
+ "name": "ענגליש"
+ },
+ "en-AU": {
+ "name": "ענגליש (אויסטראַליע)"
+ },
+ "en-GB": {
+ "name": "ענגליש (פֿאַראייניגטע קעניגרייך)"
+ },
+ "en-CA": {
+ "name": "ענגליש (קאַנאַדע)"
+ },
+ "et": {
+ "name": "עסטיש"
+ },
+ "eo": {
+ "name": "עספּעראַנטא"
+ },
+ "pt": {
+ "name": "פּארטוגעזיש"
+ },
+ "pt-PT": {
+ "name": "פּארטוגעזיש (פּארטוגאַל)"
+ },
+ "ps": {
+ "name": "פּאַשטאָ"
+ },
+ "pl": {
+ "name": "פּויליש"
+ },
+ "fa": {
+ "name": "פּערסיש"
+ },
+ "prg": {
+ "name": "פּרייסיש"
+ },
+ "fo": {
+ "name": "פֿאַראיש"
+ },
+ "fil": {
+ "name": "פֿיליפּינא"
+ },
+ "fi": {
+ "name": "פֿיניש"
+ },
+ "nl-BE": {
+ "name": "פֿלעמיש"
+ },
+ "fr": {
+ "name": "פֿראַנצויזיש"
+ },
+ "fr-CA": {
+ "name": "פֿראַנצויזיש (קאַנאַדע)"
+ },
+ "fr-CH": {
+ "name": "פֿראַנצויזיש (שווייץ)"
+ },
+ "kk": {
+ "name": "קאַזאַכיש"
+ },
+ "ca": {
+ "name": "קאַטאַלאניש"
+ },
+ "kn": {
+ "name": "קאַנאַדאַ"
+ },
+ "sw-CD": {
+ "name": "קאנגא־סוואַהיליש"
+ },
+ "kw": {
+ "name": "קארניש"
+ },
+ "ko": {
+ "name": "קארעאיש"
+ },
+ "ky": {
+ "name": "קירגיזיש"
+ },
+ "cu": {
+ "name": "קלויסטער־סלאַוויש"
+ },
+ "hr": {
+ "name": "קראאַטיש"
+ },
+ "ro": {
+ "name": "רומעניש"
+ },
+ "ro-MD": {
+ "name": "רומעניש (מאלדאווע)"
+ },
+ "ru": {
+ "name": "רוסיש"
+ },
+ "sn": {
+ "name": "שאנאַ"
+ },
+ "sv": {
+ "name": "שוועדיש"
+ },
+ "es": {
+ "name": "שפּאַניש"
+ },
+ "es-MX": {
+ "name": "שפּאַניש (מעקסיקע)"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "ak": {
+ "name": "Akan"
+ },
+ "ast": {
+ "name": "Asturian"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "yue": {
+ "name": "Cantonese"
+ },
+ "tzm": {
+ "name": "Central Atlas Tamazight"
+ },
+ "ckb": {
+ "name": "Central Kurdish"
+ },
+ "ce": {
+ "name": "Chechen"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "dz": {
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "gu": {
+ "name": "Gujarati"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "haw": {
+ "name": "Hawaiian"
+ },
+ "ig": {
+ "name": "Igbo"
+ },
+ "smn": {
+ "name": "Inari Sami"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabyle"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kl": {
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "ks": {
+ "name": "Kashmiri"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "rw": {
+ "name": "Kinyarwanda"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "mg": {
+ "name": "Malagasy"
+ },
+ "ms": {
+ "name": "Malay"
+ },
+ "mr": {
+ "name": "Marathi"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "nd": {
+ "name": "North Ndebele"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "nb": {
+ "name": "Norwegian Bokmål"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "or": {
+ "name": "Odia"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "pa": {
+ "name": "Punjabi"
+ },
+ "qu": {
+ "name": "Quechua"
+ },
+ "rm": {
+ "name": "Romansh"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "rn": {
+ "name": "Rundi"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "sah": {
+ "name": "Sakha"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "gsw": {
+ "name": "Swiss German"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "te": {
+ "name": "Telugu"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "th": {
+ "name": "Thai"
+ },
+ "ti": {
+ "name": "Tigrinya"
+ },
+ "to": {
+ "name": "Tongan"
+ },
+ "tr": {
+ "name": "Turkish"
+ },
+ "ug": {
+ "name": "Uyghur"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "yo": {
+ "name": "Yoruba"
+ },
+ "dje": {
+ "name": "Zarma"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/yo-BJ.json b/vendor/commerceguys/intl/resources/language/yo-BJ.json
new file mode 100644
index 000000000..b9f3f8ad2
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/yo-BJ.json
@@ -0,0 +1,632 @@
+{
+ "agq": {
+ "name": "Aghem"
+ },
+ "ast": {
+ "name": "Asturian"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "yue": {
+ "name": "Cantonese"
+ },
+ "tzm": {
+ "name": "Central Atlas Tamazight"
+ },
+ "ckb": {
+ "name": "Central Kurdish"
+ },
+ "ce": {
+ "name": "Chechen"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "cu": {
+ "name": "Church Slavic"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "kw": {
+ "name": "Cornish"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "dz": {
+ "name": "Dzongkha"
+ },
+ "af": {
+ "name": "Èdè Afrikani"
+ },
+ "ak": {
+ "name": "Èdè Akani"
+ },
+ "sq": {
+ "name": "Èdè Albania"
+ },
+ "am": {
+ "name": "Èdè Amariki"
+ },
+ "so": {
+ "name": "Èdè ara Somalia"
+ },
+ "ar": {
+ "name": "Èdè Arabiki"
+ },
+ "az": {
+ "name": "Èdè Azerbaijani"
+ },
+ "eu": {
+ "name": "Èdè Baski"
+ },
+ "be": {
+ "name": "Èdè Belarusi"
+ },
+ "bn": {
+ "name": "Èdè Bengali"
+ },
+ "bs": {
+ "name": "Èdè Bosnia"
+ },
+ "br": {
+ "name": "Èdè Bretoni"
+ },
+ "bg": {
+ "name": "Èdè Bugaria"
+ },
+ "my": {
+ "name": "Èdè Bumiisi"
+ },
+ "ca": {
+ "name": "Èdè Catala"
+ },
+ "nl": {
+ "name": "Èdè Duki"
+ },
+ "nl-BE": {
+ "name": "Èdè Duki (Orílɛ́ède Bégíɔ́mù)"
+ },
+ "eo": {
+ "name": "Èdè Esperanto"
+ },
+ "et": {
+ "name": "Èdè Estonia"
+ },
+ "fr": {
+ "name": "Èdè Faransé"
+ },
+ "fr-CA": {
+ "name": "Èdè Faransé (Orílɛ́ède Kánádà)"
+ },
+ "fr-CH": {
+ "name": "Èdè Faransé (Orílɛ́ède switishilandi)"
+ },
+ "fo": {
+ "name": "Èdè Faroesi"
+ },
+ "fi": {
+ "name": "Èdè Finisi"
+ },
+ "fy": {
+ "name": "Èdè Frisia"
+ },
+ "gd": {
+ "name": "Èdè Gaelik ti Ilu Scotland"
+ },
+ "gl": {
+ "name": "Èdè Galicia"
+ },
+ "ka": {
+ "name": "Èdè Georgia"
+ },
+ "en": {
+ "name": "Èdè Gɛ̀ɛ́sì"
+ },
+ "en-AU": {
+ "name": "Èdè Gɛ̀ɛ́sì (Orílɛ́ède Ástràlìá)"
+ },
+ "en-CA": {
+ "name": "Èdè Gɛ̀ɛ́sì (Orílɛ́ède Kánádà)"
+ },
+ "en-GB": {
+ "name": "Èdè Gɛ̀ɛ́sì (Orílɛ́ède Omobabirin)"
+ },
+ "el": {
+ "name": "Èdè Giriki"
+ },
+ "gu": {
+ "name": "Èdè Gujarati"
+ },
+ "ha": {
+ "name": "Èdè Hausa"
+ },
+ "he": {
+ "name": "Èdè Heberu"
+ },
+ "hi": {
+ "name": "Èdè Hindi"
+ },
+ "hu": {
+ "name": "Èdè Hungaria"
+ },
+ "ig": {
+ "name": "Èdè Ibo"
+ },
+ "is": {
+ "name": "Èdè Icelandic"
+ },
+ "hy": {
+ "name": "Èdè Ile Armenia"
+ },
+ "da": {
+ "name": "Èdè Ilɛ̀ Denmark"
+ },
+ "de": {
+ "name": "Èdè Ilɛ̀ Gemani"
+ },
+ "de-AT": {
+ "name": "Èdè Ilɛ̀ Gemani (Orílɛ́ède Asítíríà)"
+ },
+ "de-CH": {
+ "name": "Èdè Ilɛ̀ Gemani (Orílɛ́ède switishilandi)"
+ },
+ "pl": {
+ "name": "Èdè Ilɛ̀ Polandi"
+ },
+ "id": {
+ "name": "Èdè Indonasia"
+ },
+ "ga": {
+ "name": "Èdè Ireland"
+ },
+ "it": {
+ "name": "Èdè Italiani"
+ },
+ "ja": {
+ "name": "Èdè Japanisi"
+ },
+ "vi": {
+ "name": "Èdè Jetinamu"
+ },
+ "km": {
+ "name": "Èdè kameri"
+ },
+ "kn": {
+ "name": "Èdè Kannada"
+ },
+ "ko": {
+ "name": "Èdè Koria"
+ },
+ "hr": {
+ "name": "Èdè Kroatia"
+ },
+ "lv": {
+ "name": "Èdè Latvianu"
+ },
+ "lt": {
+ "name": "Èdè Lithuania"
+ },
+ "mk": {
+ "name": "Èdè Macedonia"
+ },
+ "ms": {
+ "name": "Èdè Malaya"
+ },
+ "mt": {
+ "name": "Èdè Malta"
+ },
+ "zh": {
+ "name": "Èdè Mandari"
+ },
+ "zh-Hans": {
+ "name": "Èdè Mandari (Hans)"
+ },
+ "zh-Hant": {
+ "name": "Èdè Mandari (Hant)"
+ },
+ "mr": {
+ "name": "Èdè marathi"
+ },
+ "ne": {
+ "name": "Èdè Nepali"
+ },
+ "fa": {
+ "name": "Èdè Pasia"
+ },
+ "pt": {
+ "name": "Èdè Pɔtugi"
+ },
+ "pt-PT": {
+ "name": "Èdè Pɔtugi (Orílɛ́ède Pɔtugi)"
+ },
+ "pa": {
+ "name": "Èdè Punjabi"
+ },
+ "ro": {
+ "name": "Èdè Romania"
+ },
+ "ro-MD": {
+ "name": "Èdè Romania (Orílɛ́ède Modofia)"
+ },
+ "ru": {
+ "name": "Èdè ̣Rɔɔsia"
+ },
+ "rw": {
+ "name": "Èdè Ruwanda"
+ },
+ "cs": {
+ "name": "Èdè seeki"
+ },
+ "sr": {
+ "name": "Èdè Serbia"
+ },
+ "zu": {
+ "name": "Èdè Shulu"
+ },
+ "si": {
+ "name": "Èdè Sinhalese"
+ },
+ "es": {
+ "name": "Èdè Sipanisi"
+ },
+ "es-MX": {
+ "name": "Èdè Sipanisi (Orílɛ́ède Mesiko)"
+ },
+ "sk": {
+ "name": "Èdè Slovaki"
+ },
+ "sl": {
+ "name": "Èdè Slovenia"
+ },
+ "sv": {
+ "name": "Èdè Suwidiisi"
+ },
+ "sw": {
+ "name": "Èdè Swahili"
+ },
+ "sw-CD": {
+ "name": "Èdè Swahili (Orilɛ́ède Kóngò)"
+ },
+ "fil": {
+ "name": "Èdè Tagalogi"
+ },
+ "th": {
+ "name": "Èdè Tai"
+ },
+ "ta": {
+ "name": "Èdè Tamili"
+ },
+ "te": {
+ "name": "Èdè Telugu"
+ },
+ "ti": {
+ "name": "Èdè Tigrinya"
+ },
+ "tr": {
+ "name": "Èdè Tɔɔkisi"
+ },
+ "tk": {
+ "name": "Èdè Turkmen"
+ },
+ "ur": {
+ "name": "Èdè Udu"
+ },
+ "uk": {
+ "name": "Èdè Ukania"
+ },
+ "uz": {
+ "name": "Èdè Uzbek"
+ },
+ "cy": {
+ "name": "Èdè Welshi"
+ },
+ "yi": {
+ "name": "Èdè Yiddishi"
+ },
+ "yo": {
+ "name": "Èdè Yorùbá"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "haw": {
+ "name": "Hawaiian"
+ },
+ "smn": {
+ "name": "Inari Sami"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabyle"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kl": {
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "ks": {
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "name": "Kazakh"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "ky": {
+ "name": "Kyrgyz"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "Lao"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "dsb": {
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "mg": {
+ "name": "Malagasy"
+ },
+ "ml": {
+ "name": "Malayalam"
+ },
+ "gv": {
+ "name": "Manx"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "mn": {
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nds-NL": {
+ "name": "nds (Orílɛ́ède Nedalandi)"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "nd": {
+ "name": "North Ndebele"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "se": {
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "or": {
+ "name": "Odia"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "os": {
+ "name": "Ossetic"
+ },
+ "ps": {
+ "name": "Pashto"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "qu": {
+ "name": "Quechua"
+ },
+ "rm": {
+ "name": "Romansh"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "rn": {
+ "name": "Rundi"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "sah": {
+ "name": "Sakha"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "gsw": {
+ "name": "Swiss German"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "as": {
+ "name": "Ti Assam"
+ },
+ "bo": {
+ "name": "Tibetan"
+ },
+ "to": {
+ "name": "Tongan"
+ },
+ "hsb": {
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "name": "Uyghur"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "dje": {
+ "name": "Zarma"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/yo.json b/vendor/commerceguys/intl/resources/language/yo.json
new file mode 100644
index 000000000..ee7fd2d0c
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/yo.json
@@ -0,0 +1,632 @@
+{
+ "agq": {
+ "name": "Aghem"
+ },
+ "ast": {
+ "name": "Asturian"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "yue": {
+ "name": "Cantonese"
+ },
+ "tzm": {
+ "name": "Central Atlas Tamazight"
+ },
+ "ckb": {
+ "name": "Central Kurdish"
+ },
+ "ce": {
+ "name": "Chechen"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "cu": {
+ "name": "Church Slavic"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "kw": {
+ "name": "Cornish"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "dz": {
+ "name": "Dzongkha"
+ },
+ "af": {
+ "name": "Èdè Afrikani"
+ },
+ "ak": {
+ "name": "Èdè Akani"
+ },
+ "sq": {
+ "name": "Èdè Albania"
+ },
+ "am": {
+ "name": "Èdè Amariki"
+ },
+ "so": {
+ "name": "Èdè ara Somalia"
+ },
+ "ar": {
+ "name": "Èdè Arabiki"
+ },
+ "az": {
+ "name": "Èdè Azerbaijani"
+ },
+ "eu": {
+ "name": "Èdè Baski"
+ },
+ "be": {
+ "name": "Èdè Belarusi"
+ },
+ "bn": {
+ "name": "Èdè Bengali"
+ },
+ "bs": {
+ "name": "Èdè Bosnia"
+ },
+ "br": {
+ "name": "Èdè Bretoni"
+ },
+ "bg": {
+ "name": "Èdè Bugaria"
+ },
+ "my": {
+ "name": "Èdè Bumiisi"
+ },
+ "ca": {
+ "name": "Èdè Catala"
+ },
+ "nl": {
+ "name": "Èdè Duki"
+ },
+ "nl-BE": {
+ "name": "Èdè Duki (Orílẹ́ède Bégíọ́mù)"
+ },
+ "eo": {
+ "name": "Èdè Esperanto"
+ },
+ "et": {
+ "name": "Èdè Estonia"
+ },
+ "fr": {
+ "name": "Èdè Faransé"
+ },
+ "fr-CA": {
+ "name": "Èdè Faransé (Orílẹ́ède Kánádà)"
+ },
+ "fr-CH": {
+ "name": "Èdè Faransé (Orílẹ́ède switiṣilandi)"
+ },
+ "fo": {
+ "name": "Èdè Faroesi"
+ },
+ "fi": {
+ "name": "Èdè Finisi"
+ },
+ "fy": {
+ "name": "Èdè Frisia"
+ },
+ "gd": {
+ "name": "Èdè Gaelik ti Ilu Scotland"
+ },
+ "gl": {
+ "name": "Èdè Galicia"
+ },
+ "ka": {
+ "name": "Èdè Georgia"
+ },
+ "en": {
+ "name": "Èdè Gẹ̀ẹ́sì"
+ },
+ "en-AU": {
+ "name": "Èdè Gẹ̀ẹ́sì (Orílẹ́ède Ástràlìá)"
+ },
+ "en-CA": {
+ "name": "Èdè Gẹ̀ẹ́sì (Orílẹ́ède Kánádà)"
+ },
+ "en-GB": {
+ "name": "Èdè Gẹ̀ẹ́sì (Orílẹ́ède Omobabirin)"
+ },
+ "el": {
+ "name": "Èdè Giriki"
+ },
+ "gu": {
+ "name": "Èdè Gujarati"
+ },
+ "ha": {
+ "name": "Èdè Hausa"
+ },
+ "he": {
+ "name": "Èdè Heberu"
+ },
+ "hi": {
+ "name": "Èdè Hindi"
+ },
+ "hu": {
+ "name": "Èdè Hungaria"
+ },
+ "ig": {
+ "name": "Èdè Ibo"
+ },
+ "is": {
+ "name": "Èdè Icelandic"
+ },
+ "hy": {
+ "name": "Èdè Ile Armenia"
+ },
+ "da": {
+ "name": "Èdè Ilẹ̀ Denmark"
+ },
+ "de": {
+ "name": "Èdè Ilẹ̀ Gemani"
+ },
+ "de-AT": {
+ "name": "Èdè Ilẹ̀ Gemani (Orílẹ́ède Asítíríà)"
+ },
+ "de-CH": {
+ "name": "Èdè Ilẹ̀ Gemani (Orílẹ́ède switiṣilandi)"
+ },
+ "pl": {
+ "name": "Èdè Ilẹ̀ Polandi"
+ },
+ "id": {
+ "name": "Èdè Indonasia"
+ },
+ "ga": {
+ "name": "Èdè Ireland"
+ },
+ "it": {
+ "name": "Èdè Italiani"
+ },
+ "ja": {
+ "name": "Èdè Japanisi"
+ },
+ "vi": {
+ "name": "Èdè Jetinamu"
+ },
+ "km": {
+ "name": "Èdè kameri"
+ },
+ "kn": {
+ "name": "Èdè Kannada"
+ },
+ "ko": {
+ "name": "Èdè Koria"
+ },
+ "hr": {
+ "name": "Èdè Kroatia"
+ },
+ "lv": {
+ "name": "Èdè Latvianu"
+ },
+ "lt": {
+ "name": "Èdè Lithuania"
+ },
+ "mk": {
+ "name": "Èdè Macedonia"
+ },
+ "ms": {
+ "name": "Èdè Malaya"
+ },
+ "mt": {
+ "name": "Èdè Malta"
+ },
+ "zh": {
+ "name": "Èdè Mandari"
+ },
+ "zh-Hans": {
+ "name": "Èdè Mandari (Hans)"
+ },
+ "zh-Hant": {
+ "name": "Èdè Mandari (Hant)"
+ },
+ "mr": {
+ "name": "Èdè marathi"
+ },
+ "ne": {
+ "name": "Èdè Nepali"
+ },
+ "fa": {
+ "name": "Èdè Pasia"
+ },
+ "pt": {
+ "name": "Èdè Pọtugi"
+ },
+ "pt-PT": {
+ "name": "Èdè Pọtugi (Orílẹ́ède Pọtugi)"
+ },
+ "pa": {
+ "name": "Èdè Punjabi"
+ },
+ "ro": {
+ "name": "Èdè Romania"
+ },
+ "ro-MD": {
+ "name": "Èdè Romania (Orílẹ́ède Modofia)"
+ },
+ "ru": {
+ "name": "Èdè ̣Rọọsia"
+ },
+ "rw": {
+ "name": "Èdè Ruwanda"
+ },
+ "cs": {
+ "name": "Èdè seeki"
+ },
+ "sr": {
+ "name": "Èdè Serbia"
+ },
+ "si": {
+ "name": "Èdè Sinhalese"
+ },
+ "es": {
+ "name": "Èdè Sipanisi"
+ },
+ "es-MX": {
+ "name": "Èdè Sipanisi (Orílẹ́ède Mesiko)"
+ },
+ "sk": {
+ "name": "Èdè Slovaki"
+ },
+ "sl": {
+ "name": "Èdè Slovenia"
+ },
+ "sv": {
+ "name": "Èdè Suwidiisi"
+ },
+ "sw": {
+ "name": "Èdè Swahili"
+ },
+ "sw-CD": {
+ "name": "Èdè Swahili (Orilẹ́ède Kóngò)"
+ },
+ "zu": {
+ "name": "Èdè Ṣulu"
+ },
+ "fil": {
+ "name": "Èdè Tagalogi"
+ },
+ "th": {
+ "name": "Èdè Tai"
+ },
+ "ta": {
+ "name": "Èdè Tamili"
+ },
+ "te": {
+ "name": "Èdè Telugu"
+ },
+ "ti": {
+ "name": "Èdè Tigrinya"
+ },
+ "tr": {
+ "name": "Èdè Tọọkisi"
+ },
+ "tk": {
+ "name": "Èdè Turkmen"
+ },
+ "ur": {
+ "name": "Èdè Udu"
+ },
+ "uk": {
+ "name": "Èdè Ukania"
+ },
+ "uz": {
+ "name": "Èdè Uzbek"
+ },
+ "cy": {
+ "name": "Èdè Welshi"
+ },
+ "yi": {
+ "name": "Èdè Yiddishi"
+ },
+ "yo": {
+ "name": "Èdè Yorùbá"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "haw": {
+ "name": "Hawaiian"
+ },
+ "smn": {
+ "name": "Inari Sami"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabyle"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kl": {
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "ks": {
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "name": "Kazakh"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "ky": {
+ "name": "Kyrgyz"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "Lao"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "dsb": {
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "mg": {
+ "name": "Malagasy"
+ },
+ "ml": {
+ "name": "Malayalam"
+ },
+ "gv": {
+ "name": "Manx"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "mn": {
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nds-NL": {
+ "name": "nds (Orílẹ́ède Nedalandi)"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "nd": {
+ "name": "North Ndebele"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "se": {
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "or": {
+ "name": "Odia"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "os": {
+ "name": "Ossetic"
+ },
+ "ps": {
+ "name": "Pashto"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "qu": {
+ "name": "Quechua"
+ },
+ "rm": {
+ "name": "Romansh"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "rn": {
+ "name": "Rundi"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "sah": {
+ "name": "Sakha"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "gsw": {
+ "name": "Swiss German"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "as": {
+ "name": "Ti Assam"
+ },
+ "bo": {
+ "name": "Tibetan"
+ },
+ "to": {
+ "name": "Tongan"
+ },
+ "hsb": {
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "name": "Uyghur"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "dje": {
+ "name": "Zarma"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/yue.json b/vendor/commerceguys/intl/resources/language/yue.json
new file mode 100644
index 000000000..2c1e3eb45
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/yue.json
@@ -0,0 +1,635 @@
+{
+ "hsb": {
+ "name": "上索布文"
+ },
+ "dsb": {
+ "name": "下索布文"
+ },
+ "eo": {
+ "name": "世界文"
+ },
+ "zh": {
+ "name": "中文"
+ },
+ "da": {
+ "name": "丹麥文"
+ },
+ "az": {
+ "name": "亞塞拜然文"
+ },
+ "agq": {
+ "name": "亞罕文"
+ },
+ "hy": {
+ "name": "亞美尼亞文"
+ },
+ "ig": {
+ "name": "伊布文"
+ },
+ "smn": {
+ "name": "伊納裡薩米文"
+ },
+ "nds": {
+ "name": "低地德文"
+ },
+ "nds-NL": {
+ "name": "低地薩克遜文"
+ },
+ "nl-BE": {
+ "name": "佛蘭芒文"
+ },
+ "ewo": {
+ "name": "依汪都文"
+ },
+ "ru": {
+ "name": "俄文"
+ },
+ "bg": {
+ "name": "保加利亞文"
+ },
+ "si": {
+ "name": "僧伽羅文"
+ },
+ "hr": {
+ "name": "克羅埃西亞文"
+ },
+ "mfe": {
+ "name": "克里奧文(模里西斯)"
+ },
+ "is": {
+ "name": "冰島文"
+ },
+ "bem": {
+ "name": "別姆巴文"
+ },
+ "gl": {
+ "name": "加利西亞文"
+ },
+ "ca": {
+ "name": "加泰羅尼亞文"
+ },
+ "nus": {
+ "name": "努埃爾文"
+ },
+ "hu": {
+ "name": "匈牙利文"
+ },
+ "hi": {
+ "name": "北印度文"
+ },
+ "nd": {
+ "name": "北地畢列文"
+ },
+ "se": {
+ "name": "北方薩米文"
+ },
+ "twq": {
+ "name": "北桑海文"
+ },
+ "lrc": {
+ "name": "北盧爾文"
+ },
+ "af": {
+ "name": "南非荷蘭文"
+ },
+ "brx": {
+ "name": "博多文"
+ },
+ "kln": {
+ "name": "卡倫金文"
+ },
+ "kam": {
+ "name": "卡姆巴文"
+ },
+ "kea": {
+ "name": "卡布威爾第文"
+ },
+ "kkj": {
+ "name": "卡庫文"
+ },
+ "kab": {
+ "name": "卡比爾文"
+ },
+ "id": {
+ "name": "印尼文"
+ },
+ "gu": {
+ "name": "古吉拉特文"
+ },
+ "guz": {
+ "name": "古西文"
+ },
+ "dav": {
+ "name": "台塔文"
+ },
+ "sw": {
+ "name": "史瓦希里文"
+ },
+ "sw-CD": {
+ "name": "史瓦希里文(剛果)"
+ },
+ "ki": {
+ "name": "吉庫尤文"
+ },
+ "ky": {
+ "name": "吉爾吉斯文"
+ },
+ "kk": {
+ "name": "哈薩克文"
+ },
+ "ks": {
+ "name": "喀什米爾文"
+ },
+ "ka": {
+ "name": "喬治亞文"
+ },
+ "ii": {
+ "name": "四川彝文"
+ },
+ "tk": {
+ "name": "土庫曼文"
+ },
+ "tr": {
+ "name": "土耳其文"
+ },
+ "kn": {
+ "name": "坎那達文"
+ },
+ "ta": {
+ "name": "坦米爾文"
+ },
+ "ee": {
+ "name": "埃維文"
+ },
+ "tzm": {
+ "name": "塔馬齊格特文"
+ },
+ "sn": {
+ "name": "塞內加爾文"
+ },
+ "sr": {
+ "name": "塞爾維亞文"
+ },
+ "haw": {
+ "name": "夏威夷文"
+ },
+ "nmg": {
+ "name": "夸西奧文"
+ },
+ "cgg": {
+ "name": "奇加文"
+ },
+ "os": {
+ "name": "奧塞提文"
+ },
+ "om": {
+ "name": "奧羅莫文"
+ },
+ "cy": {
+ "name": "威爾斯文"
+ },
+ "bn": {
+ "name": "孟加拉文"
+ },
+ "dz": {
+ "name": "宗卡文"
+ },
+ "cu": {
+ "name": "宗教斯拉夫文"
+ },
+ "ff": {
+ "name": "富拉文"
+ },
+ "lo": {
+ "name": "寮文"
+ },
+ "ksb": {
+ "name": "尚巴拉文"
+ },
+ "nyn": {
+ "name": "尼揚科萊文"
+ },
+ "ne": {
+ "name": "尼泊爾文"
+ },
+ "nb": {
+ "name": "巴克摩挪威文"
+ },
+ "eu": {
+ "name": "巴斯克文"
+ },
+ "ksf": {
+ "name": "巴菲亞文"
+ },
+ "bas": {
+ "name": "巴薩文"
+ },
+ "br": {
+ "name": "布列塔尼文"
+ },
+ "he": {
+ "name": "希伯來文"
+ },
+ "shi": {
+ "name": "希爾哈文"
+ },
+ "el": {
+ "name": "希臘文"
+ },
+ "lg": {
+ "name": "干達文"
+ },
+ "kw": {
+ "name": "康瓦耳文"
+ },
+ "fur": {
+ "name": "弗留利文"
+ },
+ "de": {
+ "name": "德文"
+ },
+ "de-AT": {
+ "name": "德文 (奧地利)"
+ },
+ "gsw": {
+ "name": "德文(瑞士)"
+ },
+ "ebu": {
+ "name": "恩布文"
+ },
+ "jgo": {
+ "name": "恩格姆巴文"
+ },
+ "nnh": {
+ "name": "恩甘澎文"
+ },
+ "yi": {
+ "name": "意第緒文"
+ },
+ "et": {
+ "name": "愛沙尼亞文"
+ },
+ "ga": {
+ "name": "愛爾蘭文"
+ },
+ "dje": {
+ "name": "扎爾馬文"
+ },
+ "lkt": {
+ "name": "拉科塔文"
+ },
+ "lv": {
+ "name": "拉脫維亞文"
+ },
+ "cs": {
+ "name": "捷克文"
+ },
+ "ti": {
+ "name": "提格利尼亞文"
+ },
+ "ro-MD": {
+ "name": "摩爾多瓦文"
+ },
+ "sk": {
+ "name": "斯洛伐克文"
+ },
+ "sl": {
+ "name": "斯洛維尼亞文"
+ },
+ "pa": {
+ "name": "旁遮普文"
+ },
+ "ja": {
+ "name": "日文"
+ },
+ "ps": {
+ "name": "普什圖文"
+ },
+ "prg": {
+ "name": "普魯士文"
+ },
+ "gv": {
+ "name": "曼島文"
+ },
+ "lag": {
+ "name": "朗吉文"
+ },
+ "dyo": {
+ "name": "朱拉文"
+ },
+ "dua": {
+ "name": "杜亞拉文"
+ },
+ "to": {
+ "name": "東加文"
+ },
+ "ses": {
+ "name": "東桑海文"
+ },
+ "ln": {
+ "name": "林加拉文"
+ },
+ "chr": {
+ "name": "柴羅基文"
+ },
+ "kl": {
+ "name": "格陵蘭文"
+ },
+ "sbp": {
+ "name": "桑古文"
+ },
+ "sg": {
+ "name": "桑戈文"
+ },
+ "mer": {
+ "name": "梅魯文"
+ },
+ "zgh": {
+ "name": "標準摩洛哥塔馬塞特文"
+ },
+ "or": {
+ "name": "歐利亞文"
+ },
+ "vo": {
+ "name": "沃拉普克文"
+ },
+ "fr": {
+ "name": "法文"
+ },
+ "fr-CA": {
+ "name": "法文 (加拿大)"
+ },
+ "fr-CH": {
+ "name": "法文 (瑞士)"
+ },
+ "fo": {
+ "name": "法羅文"
+ },
+ "bs": {
+ "name": "波士尼亞文"
+ },
+ "fa": {
+ "name": "波斯文"
+ },
+ "pl": {
+ "name": "波蘭文"
+ },
+ "th": {
+ "name": "泰文"
+ },
+ "te": {
+ "name": "泰盧固文"
+ },
+ "yav": {
+ "name": "洋卞文"
+ },
+ "vun": {
+ "name": "溫舊文"
+ },
+ "uk": {
+ "name": "烏克蘭文"
+ },
+ "uz": {
+ "name": "烏茲別克文"
+ },
+ "ur": {
+ "name": "烏都文"
+ },
+ "teo": {
+ "name": "特索文"
+ },
+ "bm": {
+ "name": "班巴拉文"
+ },
+ "sv": {
+ "name": "瑞典文"
+ },
+ "vai": {
+ "name": "瓦伊文"
+ },
+ "wae": {
+ "name": "瓦瑟文"
+ },
+ "be": {
+ "name": "白俄羅斯文"
+ },
+ "luo": {
+ "name": "盧奧文"
+ },
+ "rw": {
+ "name": "盧安達文"
+ },
+ "lb": {
+ "name": "盧森堡文"
+ },
+ "luy": {
+ "name": "盧雅文"
+ },
+ "zu": {
+ "name": "祖魯文"
+ },
+ "ksh": {
+ "name": "科隆文"
+ },
+ "lt": {
+ "name": "立陶宛文"
+ },
+ "zh-Hans": {
+ "name": "簡體中文"
+ },
+ "yue": {
+ "name": "粵語"
+ },
+ "yo": {
+ "name": "約魯巴文"
+ },
+ "naq": {
+ "name": "納馬文"
+ },
+ "xog": {
+ "name": "索加文"
+ },
+ "ckb": {
+ "name": "索拉尼庫爾德文"
+ },
+ "so": {
+ "name": "索馬利文"
+ },
+ "ug": {
+ "name": "維吾爾文"
+ },
+ "my": {
+ "name": "緬甸文"
+ },
+ "zh-Hant": {
+ "name": "繁體中文"
+ },
+ "rm": {
+ "name": "羅曼斯文"
+ },
+ "rwk": {
+ "name": "羅瓦文"
+ },
+ "ro": {
+ "name": "羅馬尼亞文"
+ },
+ "mgo": {
+ "name": "美塔文"
+ },
+ "it": {
+ "name": "義大利文"
+ },
+ "nn": {
+ "name": "耐諾斯克挪威文"
+ },
+ "fi": {
+ "name": "芬蘭文"
+ },
+ "en": {
+ "name": "英文"
+ },
+ "en-CA": {
+ "name": "英文 (加拿大)"
+ },
+ "en-AU": {
+ "name": "英文 (澳洲)"
+ },
+ "en-GB": {
+ "name": "英文 (英國)"
+ },
+ "nl": {
+ "name": "荷蘭文"
+ },
+ "fil": {
+ "name": "菲律賓文"
+ },
+ "pt": {
+ "name": "葡萄牙文"
+ },
+ "pt-PT": {
+ "name": "葡萄牙文 (葡萄牙)"
+ },
+ "mn": {
+ "name": "蒙古文"
+ },
+ "mua": {
+ "name": "蒙當文"
+ },
+ "qu": {
+ "name": "蓋楚瓦文"
+ },
+ "saq": {
+ "name": "薩布魯文"
+ },
+ "bo": {
+ "name": "藏文"
+ },
+ "gd": {
+ "name": "蘇格蘭蓋爾文"
+ },
+ "rof": {
+ "name": "蘭博文"
+ },
+ "fy": {
+ "name": "西弗里西亞文"
+ },
+ "khq": {
+ "name": "西桑海文"
+ },
+ "es": {
+ "name": "西班牙文"
+ },
+ "es-MX": {
+ "name": "西班牙文 (墨西哥)"
+ },
+ "ha": {
+ "name": "豪撒文"
+ },
+ "bez": {
+ "name": "貝納文"
+ },
+ "kok": {
+ "name": "貢根文"
+ },
+ "seh": {
+ "name": "賽納文"
+ },
+ "vi": {
+ "name": "越南文"
+ },
+ "ce": {
+ "name": "車臣文"
+ },
+ "ak": {
+ "name": "阿坎文"
+ },
+ "am": {
+ "name": "阿姆哈拉文"
+ },
+ "ar": {
+ "name": "阿拉伯文"
+ },
+ "ast": {
+ "name": "阿斯圖里亞文"
+ },
+ "sq": {
+ "name": "阿爾巴尼亞文"
+ },
+ "as": {
+ "name": "阿薩姆文"
+ },
+ "asa": {
+ "name": "阿蘇文"
+ },
+ "rn": {
+ "name": "隆迪文"
+ },
+ "sah": {
+ "name": "雅庫特文"
+ },
+ "ko": {
+ "name": "韓文"
+ },
+ "ml": {
+ "name": "馬來亞拉姆文"
+ },
+ "ms": {
+ "name": "馬來文"
+ },
+ "mk": {
+ "name": "馬其頓文"
+ },
+ "mgh": {
+ "name": "馬夸文"
+ },
+ "kde": {
+ "name": "馬孔德文"
+ },
+ "jmc": {
+ "name": "馬恰美文"
+ },
+ "mg": {
+ "name": "馬拉加什文"
+ },
+ "mr": {
+ "name": "馬拉地文"
+ },
+ "mt": {
+ "name": "馬爾他文"
+ },
+ "mas": {
+ "name": "馬賽文"
+ },
+ "mzn": {
+ "name": "馬贊德蘭文"
+ },
+ "de-CH": {
+ "name": "高地德文(瑞士)"
+ },
+ "km": {
+ "name": "高棉文"
+ },
+ "lu": {
+ "name": "魯巴加丹加文"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/zgh.json b/vendor/commerceguys/intl/resources/language/zgh.json
new file mode 100644
index 000000000..0e7e0f2df
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/zgh.json
@@ -0,0 +1,632 @@
+{
+ "af": {
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "sq": {
+ "name": "Albanian"
+ },
+ "hy": {
+ "name": "Armenian"
+ },
+ "as": {
+ "name": "Assamese"
+ },
+ "ast": {
+ "name": "Asturian"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "az": {
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "eu": {
+ "name": "Basque"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "bs": {
+ "name": "Bosnian"
+ },
+ "br": {
+ "name": "Breton"
+ },
+ "yue": {
+ "name": "Cantonese"
+ },
+ "ca": {
+ "name": "Catalan"
+ },
+ "tzm": {
+ "name": "Central Atlas Tamazight"
+ },
+ "ckb": {
+ "name": "Central Kurdish"
+ },
+ "ce": {
+ "name": "Chechen"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "cu": {
+ "name": "Church Slavic"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "kw": {
+ "name": "Cornish"
+ },
+ "hr": {
+ "name": "Croatian"
+ },
+ "da": {
+ "name": "Danish"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "dz": {
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "eo": {
+ "name": "Esperanto"
+ },
+ "et": {
+ "name": "Estonian"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fo": {
+ "name": "Faroese"
+ },
+ "fil": {
+ "name": "Filipino"
+ },
+ "fi": {
+ "name": "Finnish"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "gl": {
+ "name": "Galician"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "ka": {
+ "name": "Georgian"
+ },
+ "gu": {
+ "name": "Gujarati"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "haw": {
+ "name": "Hawaiian"
+ },
+ "he": {
+ "name": "Hebrew"
+ },
+ "is": {
+ "name": "Icelandic"
+ },
+ "smn": {
+ "name": "Inari Sami"
+ },
+ "ga": {
+ "name": "Irish"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabyle"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kl": {
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "kn": {
+ "name": "Kannada"
+ },
+ "ks": {
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "name": "Kazakh"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "ky": {
+ "name": "Kyrgyz"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "Lao"
+ },
+ "lv": {
+ "name": "Latvian"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "lt": {
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "mk": {
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "mg": {
+ "name": "Malagasy"
+ },
+ "ml": {
+ "name": "Malayalam"
+ },
+ "mt": {
+ "name": "Maltese"
+ },
+ "gv": {
+ "name": "Manx"
+ },
+ "mr": {
+ "name": "Marathi"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "mn": {
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nds-NL": {
+ "name": "nds (ⵀⵓⵍⴰⵏⴷⴰ)"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "nd": {
+ "name": "North Ndebele"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "se": {
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "or": {
+ "name": "Odia"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "os": {
+ "name": "Ossetic"
+ },
+ "ps": {
+ "name": "Pashto"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "qu": {
+ "name": "Quechua"
+ },
+ "rm": {
+ "name": "Romansh"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "rn": {
+ "name": "Rundi"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "sah": {
+ "name": "Sakha"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "gd": {
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "sr": {
+ "name": "Serbian"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "si": {
+ "name": "Sinhala"
+ },
+ "sk": {
+ "name": "Slovak"
+ },
+ "sl": {
+ "name": "Slovenian"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "sw-CD": {
+ "name": "sw (ⵜⴰⴳⴷⵓⴷⴰⵏⵜ ⵜⴰⴷⵉⵎⵓⵇⵔⴰⵜⵉⵜ ⵏ ⴽⵓⵏⴳⵓ)"
+ },
+ "sw": {
+ "name": "Swahili"
+ },
+ "gsw": {
+ "name": "Swiss German"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "te": {
+ "name": "Telugu"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "bo": {
+ "name": "Tibetan"
+ },
+ "ti": {
+ "name": "Tigrinya"
+ },
+ "to": {
+ "name": "Tongan"
+ },
+ "tk": {
+ "name": "Turkmen"
+ },
+ "hsb": {
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "name": "Uyghur"
+ },
+ "uz": {
+ "name": "Uzbek"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "cy": {
+ "name": "Welsh"
+ },
+ "fy": {
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "yi": {
+ "name": "Yiddish"
+ },
+ "dje": {
+ "name": "Zarma"
+ },
+ "be": {
+ "name": "ⵜⴰⴱⵉⵍⴰⵔⵓⵙⵜ"
+ },
+ "my": {
+ "name": "ⵜⴰⴱⵉⵔⵎⴰⵏⵉⵜ"
+ },
+ "vi": {
+ "name": "ⵜⴰⴱⵉⵜⵏⴰⵎⵉⵜ"
+ },
+ "bg": {
+ "name": "ⵜⴰⴱⵍⵖⴰⵔⵉⵜ"
+ },
+ "pa": {
+ "name": "ⵜⴰⴱⵏⵊⴰⴱⵉⵜ"
+ },
+ "bn": {
+ "name": "ⵜⴰⴱⵏⵖⴰⵍⵉⵜ"
+ },
+ "pl": {
+ "name": "ⵜⴰⴱⵓⵍⵓⵏⵉⵜ"
+ },
+ "pt": {
+ "name": "ⵜⴰⴱⵕⵟⵇⵉⵣⵜ"
+ },
+ "pt-PT": {
+ "name": "ⵜⴰⴱⵕⵟⵇⵉⵣⵜ (ⴱⵕⵟⵇⵉⵣ)"
+ },
+ "el": {
+ "name": "ⵜⴰⴳⵔⵉⴳⵉⵜ"
+ },
+ "fa": {
+ "name": "ⵜⴰⴼⵓⵔⵙⵉⵜ"
+ },
+ "fr": {
+ "name": "ⵜⴰⴼⵔⴰⵏⵙⵉⵙⵜ"
+ },
+ "fr-CA": {
+ "name": "ⵜⴰⴼⵔⴰⵏⵙⵉⵙⵜ (ⴽⴰⵏⴰⴷⴰ)"
+ },
+ "fr-CH": {
+ "name": "ⵜⴰⴼⵔⴰⵏⵙⵉⵙⵜ (ⵙⵡⵉⵙⵔⴰ)"
+ },
+ "ak": {
+ "name": "ⵜⴰⴽⴰⵏⵜ"
+ },
+ "ko": {
+ "name": "ⵜⴰⴽⵓⵔⵉⵜ"
+ },
+ "ha": {
+ "name": "ⵜⴰⵀⴰⵡⵙⴰⵜ"
+ },
+ "hi": {
+ "name": "ⵜⴰⵀⵉⵏⴷⵉⵜ"
+ },
+ "hu": {
+ "name": "ⵜⴰⵀⵏⵖⴰⵔⵉⵜ"
+ },
+ "nl": {
+ "name": "ⵜⴰⵀⵓⵍⴰⵏⴷⵉⵜ"
+ },
+ "nl-BE": {
+ "name": "ⵜⴰⵀⵓⵍⴰⵏⴷⵉⵜ (ⴱⵍⵊⵉⴽⴰ)"
+ },
+ "ar": {
+ "name": "ⵜⴰⵄⵔⴰⴱⵜ"
+ },
+ "km": {
+ "name": "ⵜⴰⵅⵎⵉⵔⵜ"
+ },
+ "ja": {
+ "name": "ⵜⴰⵊⴰⴱⴱⵓⵏⵉⵜ"
+ },
+ "de": {
+ "name": "ⵜⴰⵍⵉⵎⴰⵏⵜ"
+ },
+ "de-AT": {
+ "name": "ⵜⴰⵍⵉⵎⴰⵏⵜ (ⵏⵏⵎⵙⴰ)"
+ },
+ "de-CH": {
+ "name": "ⵜⴰⵍⵉⵎⴰⵏⵜ (ⵙⵡⵉⵙⵔⴰ)"
+ },
+ "ms": {
+ "name": "ⵜⴰⵎⴰⵍⴰⵡⵉⵜ"
+ },
+ "zgh": {
+ "name": "ⵜⴰⵎⴰⵣⵉⵖⵜ"
+ },
+ "am": {
+ "name": "ⵜⴰⵎⵀⴰⵔⵉⵜ"
+ },
+ "en": {
+ "name": "ⵜⴰⵏⴳⵍⵉⵣⵜ"
+ },
+ "en-CA": {
+ "name": "ⵜⴰⵏⴳⵍⵉⵣⵜ (ⴽⴰⵏⴰⴷⴰ)"
+ },
+ "en-AU": {
+ "name": "ⵜⴰⵏⴳⵍⵉⵣⵜ (ⵓⵙⵜⵔⴰⵍⵢⴰ)"
+ },
+ "en-GB": {
+ "name": "ⵜⴰⵏⴳⵍⵉⵣⵜ (ⵜⴰⴳⵍⴷⵉⵜ ⵉⵎⵓⵏⵏ)"
+ },
+ "id": {
+ "name": "ⵜⴰⵏⴷⵓⵏⵉⵙⵉⵜ"
+ },
+ "ne": {
+ "name": "ⵜⴰⵏⵉⴱⴰⵍⵉⵜ"
+ },
+ "ro": {
+ "name": "ⵜⴰⵔⵓⵎⴰⵏⵉⵜ"
+ },
+ "ro-MD": {
+ "name": "ⵜⴰⵔⵓⵎⴰⵏⵉⵜ (ⵎⵓⵍⴷⵓⴼⵢⴰ)"
+ },
+ "ru": {
+ "name": "ⵜⴰⵔⵓⵙⵉⵜ"
+ },
+ "rw": {
+ "name": "ⵜⴰⵔⵓⵡⴰⵏⴷⵉⵜ"
+ },
+ "es": {
+ "name": "ⵜⴰⵙⴱⵏⵢⵓⵍⵉⵜ"
+ },
+ "es-MX": {
+ "name": "ⵜⴰⵙⴱⵏⵢⵓⵍⵉⵜ (ⵎⵉⴽⵙⵉⴽ)"
+ },
+ "so": {
+ "name": "ⵜⴰⵙⵓⵎⴰⵍⵉⵜ"
+ },
+ "sv": {
+ "name": "ⵜⴰⵙⵡⵉⴷⵉⵜ"
+ },
+ "zh": {
+ "name": "ⵜⴰⵛⵉⵏⵡⵉⵜ"
+ },
+ "zh-Hans": {
+ "name": "ⵜⴰⵛⵉⵏⵡⵉⵜ (Hans)"
+ },
+ "zh-Hant": {
+ "name": "ⵜⴰⵛⵉⵏⵡⵉⵜ (Hant)"
+ },
+ "ta": {
+ "name": "ⵜⴰⵜⴰⵎⵉⵍⵜ"
+ },
+ "th": {
+ "name": "ⵜⴰⵜⴰⵢⵍⴰⵏⴷⵉⵜ"
+ },
+ "tr": {
+ "name": "ⵜⴰⵜⵓⵔⴽⵉⵜ"
+ },
+ "cs": {
+ "name": "ⵜⴰⵜⵛⵉⴽⵉⵜ"
+ },
+ "it": {
+ "name": "ⵜⴰⵟⴰⵍⵢⴰⵏⵜ"
+ },
+ "yo": {
+ "name": "ⵜⴰⵢⵔⵓⴱⴰⵜ"
+ },
+ "zu": {
+ "name": "ⵜⴰⵣⵓⵍⵓⵜ"
+ },
+ "ig": {
+ "name": "ⵜⵉⴳⴱⵓⵜ"
+ },
+ "uk": {
+ "name": "ⵜⵓⴽⵔⴰⵏⵉⵜ"
+ },
+ "ur": {
+ "name": "ⵜⵓⵔⴷⵓⵜ"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/zh-Hant-HK.json b/vendor/commerceguys/intl/resources/language/zh-Hant-HK.json
new file mode 100644
index 000000000..ad25a7625
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/zh-Hant-HK.json
@@ -0,0 +1,635 @@
+{
+ "hsb": {
+ "name": "上索布文"
+ },
+ "dsb": {
+ "name": "下索布文"
+ },
+ "tr": {
+ "name": "土耳其文"
+ },
+ "tk": {
+ "name": "土庫曼文"
+ },
+ "lg": {
+ "name": "干達文"
+ },
+ "zh": {
+ "name": "中文"
+ },
+ "tzm": {
+ "name": "中阿特拉斯塔馬塞特文"
+ },
+ "ckb": {
+ "name": "中庫德文"
+ },
+ "da": {
+ "name": "丹麥文"
+ },
+ "nb": {
+ "name": "巴克摩挪威文"
+ },
+ "eu": {
+ "name": "巴斯克文"
+ },
+ "ksf": {
+ "name": "巴菲亞文"
+ },
+ "bas": {
+ "name": "巴薩文"
+ },
+ "dje": {
+ "name": "扎爾馬文"
+ },
+ "ja": {
+ "name": "日文"
+ },
+ "nl-BE": {
+ "name": "比利時荷蘭文"
+ },
+ "mfe": {
+ "name": "毛里裘斯克里奧爾文"
+ },
+ "eo": {
+ "name": "世界語"
+ },
+ "gl": {
+ "name": "加里西亞文"
+ },
+ "fr-CA": {
+ "name": "加拿大法文"
+ },
+ "en-CA": {
+ "name": "加拿大英文"
+ },
+ "ca": {
+ "name": "加泰隆尼亞文"
+ },
+ "nd": {
+ "name": "北地畢列文"
+ },
+ "twq": {
+ "name": "北桑海文"
+ },
+ "lrc": {
+ "name": "北盧爾文"
+ },
+ "se": {
+ "name": "北薩米文"
+ },
+ "kab": {
+ "name": "卡比爾文"
+ },
+ "kea": {
+ "name": "卡布威爾第文"
+ },
+ "kam": {
+ "name": "卡姆巴文"
+ },
+ "kln": {
+ "name": "卡倫金文"
+ },
+ "kkj": {
+ "name": "卡庫文"
+ },
+ "gu": {
+ "name": "古吉拉特文"
+ },
+ "guz": {
+ "name": "古西文"
+ },
+ "dav": {
+ "name": "台塔文"
+ },
+ "sw": {
+ "name": "史瓦希里文"
+ },
+ "ii": {
+ "name": "四川彝文"
+ },
+ "ne": {
+ "name": "尼泊爾文"
+ },
+ "nyn": {
+ "name": "尼揚科萊文"
+ },
+ "br": {
+ "name": "布里多尼文"
+ },
+ "fur": {
+ "name": "弗留利文"
+ },
+ "vai": {
+ "name": "瓦伊文"
+ },
+ "wae": {
+ "name": "瓦爾瑟文"
+ },
+ "be": {
+ "name": "白俄羅斯文"
+ },
+ "lt": {
+ "name": "立陶宛文"
+ },
+ "ig": {
+ "name": "伊布文"
+ },
+ "smn": {
+ "name": "伊納里薩米文"
+ },
+ "is": {
+ "name": "冰島文"
+ },
+ "hu": {
+ "name": "匈牙利文"
+ },
+ "id": {
+ "name": "印尼文"
+ },
+ "hi": {
+ "name": "印度文"
+ },
+ "ki": {
+ "name": "吉庫尤文"
+ },
+ "ky": {
+ "name": "吉爾吉斯文"
+ },
+ "nmg": {
+ "name": "夸西奧文"
+ },
+ "dyo": {
+ "name": "朱拉文"
+ },
+ "lo": {
+ "name": "老撾文"
+ },
+ "fy": {
+ "name": "西弗里西亞文"
+ },
+ "khq": {
+ "name": "西桑海文"
+ },
+ "es": {
+ "name": "西班牙文"
+ },
+ "nds": {
+ "name": "低地德文"
+ },
+ "hr": {
+ "name": "克羅地亞文"
+ },
+ "bem": {
+ "name": "別姆巴文"
+ },
+ "nus": {
+ "name": "努埃爾文"
+ },
+ "kn": {
+ "name": "坎納達文"
+ },
+ "he": {
+ "name": "希伯來文"
+ },
+ "shi": {
+ "name": "希爾哈文"
+ },
+ "el": {
+ "name": "希臘文"
+ },
+ "dua": {
+ "name": "杜亞拉文"
+ },
+ "vo": {
+ "name": "沃拉普克文"
+ },
+ "bez": {
+ "name": "貝納文"
+ },
+ "ce": {
+ "name": "車臣文"
+ },
+ "agq": {
+ "name": "亞罕文"
+ },
+ "hy": {
+ "name": "亞美尼亞文"
+ },
+ "ewo": {
+ "name": "依汪都文"
+ },
+ "cgg": {
+ "name": "奇加文"
+ },
+ "bn": {
+ "name": "孟加拉文"
+ },
+ "dz": {
+ "name": "宗卡文"
+ },
+ "cu": {
+ "name": "宗教斯拉夫文"
+ },
+ "ksb": {
+ "name": "尚巴拉文"
+ },
+ "lkt": {
+ "name": "拉科塔文"
+ },
+ "lv": {
+ "name": "拉脫維亞文"
+ },
+ "ses": {
+ "name": "東桑海文"
+ },
+ "ln": {
+ "name": "林加拉文"
+ },
+ "fr": {
+ "name": "法文"
+ },
+ "fo": {
+ "name": "法羅文"
+ },
+ "fa": {
+ "name": "波斯文"
+ },
+ "bs": {
+ "name": "波斯尼亞文"
+ },
+ "pl": {
+ "name": "波蘭文"
+ },
+ "fi": {
+ "name": "芬蘭文"
+ },
+ "ak": {
+ "name": "阿坎文"
+ },
+ "am": {
+ "name": "阿姆哈拉文"
+ },
+ "ar": {
+ "name": "阿拉伯文"
+ },
+ "ast": {
+ "name": "阿斯圖里亞文"
+ },
+ "az": {
+ "name": "阿塞拜疆文"
+ },
+ "sq": {
+ "name": "阿爾巴尼亞文"
+ },
+ "as": {
+ "name": "阿薩姆文"
+ },
+ "asa": {
+ "name": "阿蘇文"
+ },
+ "ru": {
+ "name": "俄文"
+ },
+ "bg": {
+ "name": "保加利亞文"
+ },
+ "af": {
+ "name": "南非荷蘭文"
+ },
+ "kk": {
+ "name": "哈薩克文"
+ },
+ "cy": {
+ "name": "威爾斯文"
+ },
+ "yav": {
+ "name": "洋卞文"
+ },
+ "ksh": {
+ "name": "科隆文"
+ },
+ "yo": {
+ "name": "約魯巴文"
+ },
+ "mgo": {
+ "name": "美塔文"
+ },
+ "nn": {
+ "name": "耐諾斯克挪威文"
+ },
+ "en": {
+ "name": "英文"
+ },
+ "en-GB": {
+ "name": "英國英文"
+ },
+ "sn": {
+ "name": "修納文"
+ },
+ "sw-CD": {
+ "name": "剛果史瓦希里文"
+ },
+ "ee": {
+ "name": "埃維文"
+ },
+ "haw": {
+ "name": "夏威夷文"
+ },
+ "ebu": {
+ "name": "恩布文"
+ },
+ "nnh": {
+ "name": "恩甘澎文"
+ },
+ "jgo": {
+ "name": "恩格姆巴文"
+ },
+ "pa": {
+ "name": "旁遮普文"
+ },
+ "lag": {
+ "name": "朗吉文"
+ },
+ "chr": {
+ "name": "柴羅基文"
+ },
+ "kl": {
+ "name": "格陵蘭文"
+ },
+ "ka": {
+ "name": "格魯吉亞文"
+ },
+ "sg": {
+ "name": "桑戈文"
+ },
+ "sbp": {
+ "name": "桑古文"
+ },
+ "th": {
+ "name": "泰文"
+ },
+ "ta": {
+ "name": "泰米爾文"
+ },
+ "te": {
+ "name": "泰盧固文"
+ },
+ "uk": {
+ "name": "烏克蘭文"
+ },
+ "uz": {
+ "name": "烏茲別克文"
+ },
+ "ur": {
+ "name": "烏爾都文"
+ },
+ "teo": {
+ "name": "特索文"
+ },
+ "bm": {
+ "name": "班巴拉文"
+ },
+ "zu": {
+ "name": "祖魯文"
+ },
+ "naq": {
+ "name": "納馬文"
+ },
+ "xog": {
+ "name": "索加文"
+ },
+ "so": {
+ "name": "索馬里文"
+ },
+ "kok": {
+ "name": "貢根文"
+ },
+ "kde": {
+ "name": "馬孔德文"
+ },
+ "mgh": {
+ "name": "馬夸文"
+ },
+ "mt": {
+ "name": "馬耳他文"
+ },
+ "ms": {
+ "name": "馬來文"
+ },
+ "mk": {
+ "name": "馬其頓文"
+ },
+ "mg": {
+ "name": "馬拉加斯文"
+ },
+ "mr": {
+ "name": "馬拉地文"
+ },
+ "ml": {
+ "name": "馬拉雅拉姆文"
+ },
+ "jmc": {
+ "name": "馬恰美文"
+ },
+ "mas": {
+ "name": "馬賽文"
+ },
+ "mzn": {
+ "name": "馬贊德蘭文"
+ },
+ "km": {
+ "name": "高棉文"
+ },
+ "kw": {
+ "name": "康瓦耳文"
+ },
+ "cs": {
+ "name": "捷克文"
+ },
+ "gv": {
+ "name": "曼島文"
+ },
+ "mer": {
+ "name": "梅魯文"
+ },
+ "nl": {
+ "name": "荷蘭文"
+ },
+ "nds-NL": {
+ "name": "荷蘭低地德文"
+ },
+ "brx": {
+ "name": "博多文"
+ },
+ "ks": {
+ "name": "喀什米爾文"
+ },
+ "ff": {
+ "name": "富拉文"
+ },
+ "ti": {
+ "name": "提格利尼亞文"
+ },
+ "sl": {
+ "name": "斯洛文尼亞文"
+ },
+ "sk": {
+ "name": "斯洛伐克文"
+ },
+ "ps": {
+ "name": "普什圖文"
+ },
+ "prg": {
+ "name": "普魯士文"
+ },
+ "to": {
+ "name": "湯加文"
+ },
+ "fil": {
+ "name": "菲律賓文"
+ },
+ "vi": {
+ "name": "越南文"
+ },
+ "rn": {
+ "name": "隆迪文"
+ },
+ "sah": {
+ "name": "雅庫特文"
+ },
+ "sr": {
+ "name": "塞爾維亞文"
+ },
+ "de-AT": {
+ "name": "奧地利德文"
+ },
+ "or": {
+ "name": "奧里雅文"
+ },
+ "os": {
+ "name": "奧塞提文"
+ },
+ "om": {
+ "name": "奧羅莫文"
+ },
+ "it": {
+ "name": "意大利文"
+ },
+ "yi": {
+ "name": "意第緒文"
+ },
+ "et": {
+ "name": "愛沙尼亞文"
+ },
+ "ga": {
+ "name": "愛爾蘭文"
+ },
+ "vun": {
+ "name": "溫舊文"
+ },
+ "fr-CH": {
+ "name": "瑞士法文"
+ },
+ "gsw": {
+ "name": "瑞士德文"
+ },
+ "de-CH": {
+ "name": "瑞士德語"
+ },
+ "sv": {
+ "name": "瑞典文"
+ },
+ "pt": {
+ "name": "葡萄牙文"
+ },
+ "si": {
+ "name": "僧伽羅文"
+ },
+ "ug": {
+ "name": "維吾爾文"
+ },
+ "mn": {
+ "name": "蒙古文"
+ },
+ "mua": {
+ "name": "蒙當文"
+ },
+ "qu": {
+ "name": "蓋楚瓦文"
+ },
+ "ha": {
+ "name": "豪撒文"
+ },
+ "yue": {
+ "name": "廣東話"
+ },
+ "de": {
+ "name": "德文"
+ },
+ "zgh": {
+ "name": "摩洛哥標準塔馬齊格特文"
+ },
+ "ro-MD": {
+ "name": "摩爾多瓦羅馬尼亞文"
+ },
+ "pt-PT": {
+ "name": "歐洲葡萄牙文"
+ },
+ "my": {
+ "name": "緬甸文"
+ },
+ "lu": {
+ "name": "魯巴加丹加文"
+ },
+ "es-MX": {
+ "name": "墨西哥西班牙文"
+ },
+ "en-AU": {
+ "name": "澳洲英文"
+ },
+ "rw": {
+ "name": "盧旺達文"
+ },
+ "lb": {
+ "name": "盧森堡文"
+ },
+ "luy": {
+ "name": "盧雅文"
+ },
+ "luo": {
+ "name": "盧歐文"
+ },
+ "zh-Hant": {
+ "name": "繁體中文"
+ },
+ "seh": {
+ "name": "賽納文"
+ },
+ "ko": {
+ "name": "韓文"
+ },
+ "zh-Hans": {
+ "name": "簡體中文"
+ },
+ "saq": {
+ "name": "薩布魯文"
+ },
+ "bo": {
+ "name": "藏文"
+ },
+ "rwk": {
+ "name": "羅瓦文"
+ },
+ "ro": {
+ "name": "羅馬尼亞文"
+ },
+ "rm": {
+ "name": "羅曼斯文"
+ },
+ "gd": {
+ "name": "蘇格蘭蓋爾文"
+ },
+ "rof": {
+ "name": "蘭博文"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/zh-Hant-MO.json b/vendor/commerceguys/intl/resources/language/zh-Hant-MO.json
new file mode 100644
index 000000000..ad25a7625
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/zh-Hant-MO.json
@@ -0,0 +1,635 @@
+{
+ "hsb": {
+ "name": "上索布文"
+ },
+ "dsb": {
+ "name": "下索布文"
+ },
+ "tr": {
+ "name": "土耳其文"
+ },
+ "tk": {
+ "name": "土庫曼文"
+ },
+ "lg": {
+ "name": "干達文"
+ },
+ "zh": {
+ "name": "中文"
+ },
+ "tzm": {
+ "name": "中阿特拉斯塔馬塞特文"
+ },
+ "ckb": {
+ "name": "中庫德文"
+ },
+ "da": {
+ "name": "丹麥文"
+ },
+ "nb": {
+ "name": "巴克摩挪威文"
+ },
+ "eu": {
+ "name": "巴斯克文"
+ },
+ "ksf": {
+ "name": "巴菲亞文"
+ },
+ "bas": {
+ "name": "巴薩文"
+ },
+ "dje": {
+ "name": "扎爾馬文"
+ },
+ "ja": {
+ "name": "日文"
+ },
+ "nl-BE": {
+ "name": "比利時荷蘭文"
+ },
+ "mfe": {
+ "name": "毛里裘斯克里奧爾文"
+ },
+ "eo": {
+ "name": "世界語"
+ },
+ "gl": {
+ "name": "加里西亞文"
+ },
+ "fr-CA": {
+ "name": "加拿大法文"
+ },
+ "en-CA": {
+ "name": "加拿大英文"
+ },
+ "ca": {
+ "name": "加泰隆尼亞文"
+ },
+ "nd": {
+ "name": "北地畢列文"
+ },
+ "twq": {
+ "name": "北桑海文"
+ },
+ "lrc": {
+ "name": "北盧爾文"
+ },
+ "se": {
+ "name": "北薩米文"
+ },
+ "kab": {
+ "name": "卡比爾文"
+ },
+ "kea": {
+ "name": "卡布威爾第文"
+ },
+ "kam": {
+ "name": "卡姆巴文"
+ },
+ "kln": {
+ "name": "卡倫金文"
+ },
+ "kkj": {
+ "name": "卡庫文"
+ },
+ "gu": {
+ "name": "古吉拉特文"
+ },
+ "guz": {
+ "name": "古西文"
+ },
+ "dav": {
+ "name": "台塔文"
+ },
+ "sw": {
+ "name": "史瓦希里文"
+ },
+ "ii": {
+ "name": "四川彝文"
+ },
+ "ne": {
+ "name": "尼泊爾文"
+ },
+ "nyn": {
+ "name": "尼揚科萊文"
+ },
+ "br": {
+ "name": "布里多尼文"
+ },
+ "fur": {
+ "name": "弗留利文"
+ },
+ "vai": {
+ "name": "瓦伊文"
+ },
+ "wae": {
+ "name": "瓦爾瑟文"
+ },
+ "be": {
+ "name": "白俄羅斯文"
+ },
+ "lt": {
+ "name": "立陶宛文"
+ },
+ "ig": {
+ "name": "伊布文"
+ },
+ "smn": {
+ "name": "伊納里薩米文"
+ },
+ "is": {
+ "name": "冰島文"
+ },
+ "hu": {
+ "name": "匈牙利文"
+ },
+ "id": {
+ "name": "印尼文"
+ },
+ "hi": {
+ "name": "印度文"
+ },
+ "ki": {
+ "name": "吉庫尤文"
+ },
+ "ky": {
+ "name": "吉爾吉斯文"
+ },
+ "nmg": {
+ "name": "夸西奧文"
+ },
+ "dyo": {
+ "name": "朱拉文"
+ },
+ "lo": {
+ "name": "老撾文"
+ },
+ "fy": {
+ "name": "西弗里西亞文"
+ },
+ "khq": {
+ "name": "西桑海文"
+ },
+ "es": {
+ "name": "西班牙文"
+ },
+ "nds": {
+ "name": "低地德文"
+ },
+ "hr": {
+ "name": "克羅地亞文"
+ },
+ "bem": {
+ "name": "別姆巴文"
+ },
+ "nus": {
+ "name": "努埃爾文"
+ },
+ "kn": {
+ "name": "坎納達文"
+ },
+ "he": {
+ "name": "希伯來文"
+ },
+ "shi": {
+ "name": "希爾哈文"
+ },
+ "el": {
+ "name": "希臘文"
+ },
+ "dua": {
+ "name": "杜亞拉文"
+ },
+ "vo": {
+ "name": "沃拉普克文"
+ },
+ "bez": {
+ "name": "貝納文"
+ },
+ "ce": {
+ "name": "車臣文"
+ },
+ "agq": {
+ "name": "亞罕文"
+ },
+ "hy": {
+ "name": "亞美尼亞文"
+ },
+ "ewo": {
+ "name": "依汪都文"
+ },
+ "cgg": {
+ "name": "奇加文"
+ },
+ "bn": {
+ "name": "孟加拉文"
+ },
+ "dz": {
+ "name": "宗卡文"
+ },
+ "cu": {
+ "name": "宗教斯拉夫文"
+ },
+ "ksb": {
+ "name": "尚巴拉文"
+ },
+ "lkt": {
+ "name": "拉科塔文"
+ },
+ "lv": {
+ "name": "拉脫維亞文"
+ },
+ "ses": {
+ "name": "東桑海文"
+ },
+ "ln": {
+ "name": "林加拉文"
+ },
+ "fr": {
+ "name": "法文"
+ },
+ "fo": {
+ "name": "法羅文"
+ },
+ "fa": {
+ "name": "波斯文"
+ },
+ "bs": {
+ "name": "波斯尼亞文"
+ },
+ "pl": {
+ "name": "波蘭文"
+ },
+ "fi": {
+ "name": "芬蘭文"
+ },
+ "ak": {
+ "name": "阿坎文"
+ },
+ "am": {
+ "name": "阿姆哈拉文"
+ },
+ "ar": {
+ "name": "阿拉伯文"
+ },
+ "ast": {
+ "name": "阿斯圖里亞文"
+ },
+ "az": {
+ "name": "阿塞拜疆文"
+ },
+ "sq": {
+ "name": "阿爾巴尼亞文"
+ },
+ "as": {
+ "name": "阿薩姆文"
+ },
+ "asa": {
+ "name": "阿蘇文"
+ },
+ "ru": {
+ "name": "俄文"
+ },
+ "bg": {
+ "name": "保加利亞文"
+ },
+ "af": {
+ "name": "南非荷蘭文"
+ },
+ "kk": {
+ "name": "哈薩克文"
+ },
+ "cy": {
+ "name": "威爾斯文"
+ },
+ "yav": {
+ "name": "洋卞文"
+ },
+ "ksh": {
+ "name": "科隆文"
+ },
+ "yo": {
+ "name": "約魯巴文"
+ },
+ "mgo": {
+ "name": "美塔文"
+ },
+ "nn": {
+ "name": "耐諾斯克挪威文"
+ },
+ "en": {
+ "name": "英文"
+ },
+ "en-GB": {
+ "name": "英國英文"
+ },
+ "sn": {
+ "name": "修納文"
+ },
+ "sw-CD": {
+ "name": "剛果史瓦希里文"
+ },
+ "ee": {
+ "name": "埃維文"
+ },
+ "haw": {
+ "name": "夏威夷文"
+ },
+ "ebu": {
+ "name": "恩布文"
+ },
+ "nnh": {
+ "name": "恩甘澎文"
+ },
+ "jgo": {
+ "name": "恩格姆巴文"
+ },
+ "pa": {
+ "name": "旁遮普文"
+ },
+ "lag": {
+ "name": "朗吉文"
+ },
+ "chr": {
+ "name": "柴羅基文"
+ },
+ "kl": {
+ "name": "格陵蘭文"
+ },
+ "ka": {
+ "name": "格魯吉亞文"
+ },
+ "sg": {
+ "name": "桑戈文"
+ },
+ "sbp": {
+ "name": "桑古文"
+ },
+ "th": {
+ "name": "泰文"
+ },
+ "ta": {
+ "name": "泰米爾文"
+ },
+ "te": {
+ "name": "泰盧固文"
+ },
+ "uk": {
+ "name": "烏克蘭文"
+ },
+ "uz": {
+ "name": "烏茲別克文"
+ },
+ "ur": {
+ "name": "烏爾都文"
+ },
+ "teo": {
+ "name": "特索文"
+ },
+ "bm": {
+ "name": "班巴拉文"
+ },
+ "zu": {
+ "name": "祖魯文"
+ },
+ "naq": {
+ "name": "納馬文"
+ },
+ "xog": {
+ "name": "索加文"
+ },
+ "so": {
+ "name": "索馬里文"
+ },
+ "kok": {
+ "name": "貢根文"
+ },
+ "kde": {
+ "name": "馬孔德文"
+ },
+ "mgh": {
+ "name": "馬夸文"
+ },
+ "mt": {
+ "name": "馬耳他文"
+ },
+ "ms": {
+ "name": "馬來文"
+ },
+ "mk": {
+ "name": "馬其頓文"
+ },
+ "mg": {
+ "name": "馬拉加斯文"
+ },
+ "mr": {
+ "name": "馬拉地文"
+ },
+ "ml": {
+ "name": "馬拉雅拉姆文"
+ },
+ "jmc": {
+ "name": "馬恰美文"
+ },
+ "mas": {
+ "name": "馬賽文"
+ },
+ "mzn": {
+ "name": "馬贊德蘭文"
+ },
+ "km": {
+ "name": "高棉文"
+ },
+ "kw": {
+ "name": "康瓦耳文"
+ },
+ "cs": {
+ "name": "捷克文"
+ },
+ "gv": {
+ "name": "曼島文"
+ },
+ "mer": {
+ "name": "梅魯文"
+ },
+ "nl": {
+ "name": "荷蘭文"
+ },
+ "nds-NL": {
+ "name": "荷蘭低地德文"
+ },
+ "brx": {
+ "name": "博多文"
+ },
+ "ks": {
+ "name": "喀什米爾文"
+ },
+ "ff": {
+ "name": "富拉文"
+ },
+ "ti": {
+ "name": "提格利尼亞文"
+ },
+ "sl": {
+ "name": "斯洛文尼亞文"
+ },
+ "sk": {
+ "name": "斯洛伐克文"
+ },
+ "ps": {
+ "name": "普什圖文"
+ },
+ "prg": {
+ "name": "普魯士文"
+ },
+ "to": {
+ "name": "湯加文"
+ },
+ "fil": {
+ "name": "菲律賓文"
+ },
+ "vi": {
+ "name": "越南文"
+ },
+ "rn": {
+ "name": "隆迪文"
+ },
+ "sah": {
+ "name": "雅庫特文"
+ },
+ "sr": {
+ "name": "塞爾維亞文"
+ },
+ "de-AT": {
+ "name": "奧地利德文"
+ },
+ "or": {
+ "name": "奧里雅文"
+ },
+ "os": {
+ "name": "奧塞提文"
+ },
+ "om": {
+ "name": "奧羅莫文"
+ },
+ "it": {
+ "name": "意大利文"
+ },
+ "yi": {
+ "name": "意第緒文"
+ },
+ "et": {
+ "name": "愛沙尼亞文"
+ },
+ "ga": {
+ "name": "愛爾蘭文"
+ },
+ "vun": {
+ "name": "溫舊文"
+ },
+ "fr-CH": {
+ "name": "瑞士法文"
+ },
+ "gsw": {
+ "name": "瑞士德文"
+ },
+ "de-CH": {
+ "name": "瑞士德語"
+ },
+ "sv": {
+ "name": "瑞典文"
+ },
+ "pt": {
+ "name": "葡萄牙文"
+ },
+ "si": {
+ "name": "僧伽羅文"
+ },
+ "ug": {
+ "name": "維吾爾文"
+ },
+ "mn": {
+ "name": "蒙古文"
+ },
+ "mua": {
+ "name": "蒙當文"
+ },
+ "qu": {
+ "name": "蓋楚瓦文"
+ },
+ "ha": {
+ "name": "豪撒文"
+ },
+ "yue": {
+ "name": "廣東話"
+ },
+ "de": {
+ "name": "德文"
+ },
+ "zgh": {
+ "name": "摩洛哥標準塔馬齊格特文"
+ },
+ "ro-MD": {
+ "name": "摩爾多瓦羅馬尼亞文"
+ },
+ "pt-PT": {
+ "name": "歐洲葡萄牙文"
+ },
+ "my": {
+ "name": "緬甸文"
+ },
+ "lu": {
+ "name": "魯巴加丹加文"
+ },
+ "es-MX": {
+ "name": "墨西哥西班牙文"
+ },
+ "en-AU": {
+ "name": "澳洲英文"
+ },
+ "rw": {
+ "name": "盧旺達文"
+ },
+ "lb": {
+ "name": "盧森堡文"
+ },
+ "luy": {
+ "name": "盧雅文"
+ },
+ "luo": {
+ "name": "盧歐文"
+ },
+ "zh-Hant": {
+ "name": "繁體中文"
+ },
+ "seh": {
+ "name": "賽納文"
+ },
+ "ko": {
+ "name": "韓文"
+ },
+ "zh-Hans": {
+ "name": "簡體中文"
+ },
+ "saq": {
+ "name": "薩布魯文"
+ },
+ "bo": {
+ "name": "藏文"
+ },
+ "rwk": {
+ "name": "羅瓦文"
+ },
+ "ro": {
+ "name": "羅馬尼亞文"
+ },
+ "rm": {
+ "name": "羅曼斯文"
+ },
+ "gd": {
+ "name": "蘇格蘭蓋爾文"
+ },
+ "rof": {
+ "name": "蘭博文"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/zh-Hant.json b/vendor/commerceguys/intl/resources/language/zh-Hant.json
new file mode 100644
index 000000000..c5d0827d7
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/zh-Hant.json
@@ -0,0 +1,635 @@
+{
+ "hsb": {
+ "name": "上索布文"
+ },
+ "dsb": {
+ "name": "下索布文"
+ },
+ "tr": {
+ "name": "土耳其文"
+ },
+ "tk": {
+ "name": "土庫曼文"
+ },
+ "lg": {
+ "name": "干達文"
+ },
+ "zh": {
+ "name": "中文"
+ },
+ "tzm": {
+ "name": "中阿特拉斯塔馬塞特文"
+ },
+ "ckb": {
+ "name": "中庫德文"
+ },
+ "da": {
+ "name": "丹麥文"
+ },
+ "nb": {
+ "name": "巴克摩挪威文"
+ },
+ "eu": {
+ "name": "巴斯克文"
+ },
+ "ksf": {
+ "name": "巴菲亞文"
+ },
+ "bas": {
+ "name": "巴薩文"
+ },
+ "dje": {
+ "name": "扎爾馬文"
+ },
+ "ja": {
+ "name": "日文"
+ },
+ "eo": {
+ "name": "世界文"
+ },
+ "gl": {
+ "name": "加利西亞文"
+ },
+ "ca": {
+ "name": "加泰蘭文"
+ },
+ "nd": {
+ "name": "北地畢列文"
+ },
+ "twq": {
+ "name": "北桑海文"
+ },
+ "lrc": {
+ "name": "北盧爾文"
+ },
+ "se": {
+ "name": "北薩米文"
+ },
+ "kab": {
+ "name": "卡比爾文"
+ },
+ "kea": {
+ "name": "卡布威爾第文"
+ },
+ "kam": {
+ "name": "卡姆巴文"
+ },
+ "kln": {
+ "name": "卡倫金文"
+ },
+ "kkj": {
+ "name": "卡庫文"
+ },
+ "gu": {
+ "name": "古吉拉特文"
+ },
+ "guz": {
+ "name": "古西文"
+ },
+ "dav": {
+ "name": "台塔文"
+ },
+ "sw": {
+ "name": "史瓦希里文"
+ },
+ "sw-CD": {
+ "name": "史瓦希里文(剛果)"
+ },
+ "ii": {
+ "name": "四川彝文"
+ },
+ "ne": {
+ "name": "尼泊爾文"
+ },
+ "nyn": {
+ "name": "尼揚科萊文"
+ },
+ "br": {
+ "name": "布列塔尼文"
+ },
+ "fur": {
+ "name": "弗留利文"
+ },
+ "vai": {
+ "name": "瓦伊文"
+ },
+ "wae": {
+ "name": "瓦爾瑟文"
+ },
+ "be": {
+ "name": "白俄羅斯文"
+ },
+ "lt": {
+ "name": "立陶宛文"
+ },
+ "ig": {
+ "name": "伊布文"
+ },
+ "smn": {
+ "name": "伊納里薩米文"
+ },
+ "is": {
+ "name": "冰島文"
+ },
+ "hu": {
+ "name": "匈牙利文"
+ },
+ "id": {
+ "name": "印尼文"
+ },
+ "hi": {
+ "name": "印地文"
+ },
+ "ki": {
+ "name": "吉庫尤文"
+ },
+ "ky": {
+ "name": "吉爾吉斯文"
+ },
+ "nmg": {
+ "name": "夸西奧文"
+ },
+ "dyo": {
+ "name": "朱拉文"
+ },
+ "fy": {
+ "name": "西弗里西亞文"
+ },
+ "khq": {
+ "name": "西桑海文"
+ },
+ "es": {
+ "name": "西班牙文"
+ },
+ "es-MX": {
+ "name": "西班牙文(墨西哥)"
+ },
+ "nds": {
+ "name": "低地德文"
+ },
+ "nds-NL": {
+ "name": "低地薩克遜文"
+ },
+ "nl-BE": {
+ "name": "佛蘭芒文"
+ },
+ "mfe": {
+ "name": "克里奧文(模里西斯)"
+ },
+ "hr": {
+ "name": "克羅埃西亞文"
+ },
+ "bem": {
+ "name": "別姆巴文"
+ },
+ "nus": {
+ "name": "努埃爾文"
+ },
+ "kn": {
+ "name": "坎那達文"
+ },
+ "he": {
+ "name": "希伯來文"
+ },
+ "shi": {
+ "name": "希爾哈文"
+ },
+ "el": {
+ "name": "希臘文"
+ },
+ "dua": {
+ "name": "杜亞拉文"
+ },
+ "vo": {
+ "name": "沃拉普克文"
+ },
+ "bez": {
+ "name": "貝納文"
+ },
+ "ce": {
+ "name": "車臣文"
+ },
+ "agq": {
+ "name": "亞罕文"
+ },
+ "hy": {
+ "name": "亞美尼亞文"
+ },
+ "az": {
+ "name": "亞塞拜然文"
+ },
+ "ewo": {
+ "name": "依汪都文"
+ },
+ "ta": {
+ "name": "坦米爾文"
+ },
+ "cgg": {
+ "name": "奇加文"
+ },
+ "bn": {
+ "name": "孟加拉文"
+ },
+ "dz": {
+ "name": "宗卡文"
+ },
+ "cu": {
+ "name": "宗教斯拉夫文"
+ },
+ "ksb": {
+ "name": "尚巴拉文"
+ },
+ "lkt": {
+ "name": "拉科塔文"
+ },
+ "lv": {
+ "name": "拉脫維亞文"
+ },
+ "to": {
+ "name": "東加文"
+ },
+ "ses": {
+ "name": "東桑海文"
+ },
+ "ln": {
+ "name": "林加拉文"
+ },
+ "fr": {
+ "name": "法文"
+ },
+ "fr-CA": {
+ "name": "法文(加拿大)"
+ },
+ "fr-CH": {
+ "name": "法文(瑞士)"
+ },
+ "fo": {
+ "name": "法羅文"
+ },
+ "bs": {
+ "name": "波士尼亞文"
+ },
+ "fa": {
+ "name": "波斯文"
+ },
+ "pl": {
+ "name": "波蘭文"
+ },
+ "fi": {
+ "name": "芬蘭文"
+ },
+ "ak": {
+ "name": "阿坎文"
+ },
+ "am": {
+ "name": "阿姆哈拉文"
+ },
+ "ar": {
+ "name": "阿拉伯文"
+ },
+ "ast": {
+ "name": "阿斯圖里亞文"
+ },
+ "sq": {
+ "name": "阿爾巴尼亞文"
+ },
+ "as": {
+ "name": "阿薩姆文"
+ },
+ "asa": {
+ "name": "阿蘇文"
+ },
+ "ru": {
+ "name": "俄文"
+ },
+ "bg": {
+ "name": "保加利亞文"
+ },
+ "af": {
+ "name": "南非荷蘭文"
+ },
+ "kk": {
+ "name": "哈薩克文"
+ },
+ "cy": {
+ "name": "威爾斯文"
+ },
+ "yav": {
+ "name": "洋卞文"
+ },
+ "ksh": {
+ "name": "科隆文"
+ },
+ "yo": {
+ "name": "約魯巴文"
+ },
+ "mgo": {
+ "name": "美塔文"
+ },
+ "nn": {
+ "name": "耐諾斯克挪威文"
+ },
+ "en": {
+ "name": "英文"
+ },
+ "en-CA": {
+ "name": "英文(加拿大)"
+ },
+ "en-GB": {
+ "name": "英文(英國)"
+ },
+ "en-AU": {
+ "name": "英文(澳洲)"
+ },
+ "ee": {
+ "name": "埃維文"
+ },
+ "haw": {
+ "name": "夏威夷文"
+ },
+ "ebu": {
+ "name": "恩布文"
+ },
+ "nnh": {
+ "name": "恩甘澎文"
+ },
+ "jgo": {
+ "name": "恩格姆巴文"
+ },
+ "pa": {
+ "name": "旁遮普文"
+ },
+ "lag": {
+ "name": "朗吉文"
+ },
+ "chr": {
+ "name": "柴羅基文"
+ },
+ "kl": {
+ "name": "格陵蘭文"
+ },
+ "sg": {
+ "name": "桑戈文"
+ },
+ "sbp": {
+ "name": "桑古文"
+ },
+ "th": {
+ "name": "泰文"
+ },
+ "te": {
+ "name": "泰盧固文"
+ },
+ "uk": {
+ "name": "烏克蘭文"
+ },
+ "uz": {
+ "name": "烏茲別克文"
+ },
+ "ur": {
+ "name": "烏都文"
+ },
+ "teo": {
+ "name": "特索文"
+ },
+ "bm": {
+ "name": "班巴拉文"
+ },
+ "zu": {
+ "name": "祖魯文"
+ },
+ "naq": {
+ "name": "納馬文"
+ },
+ "xog": {
+ "name": "索加文"
+ },
+ "so": {
+ "name": "索馬利文"
+ },
+ "kok": {
+ "name": "貢根文"
+ },
+ "kde": {
+ "name": "馬孔德文"
+ },
+ "mgh": {
+ "name": "馬夸文"
+ },
+ "ms": {
+ "name": "馬來文"
+ },
+ "ml": {
+ "name": "馬來亞拉姆文"
+ },
+ "mk": {
+ "name": "馬其頓文"
+ },
+ "mg": {
+ "name": "馬拉加什文"
+ },
+ "mr": {
+ "name": "馬拉地文"
+ },
+ "jmc": {
+ "name": "馬恰美文"
+ },
+ "mt": {
+ "name": "馬爾他文"
+ },
+ "mas": {
+ "name": "馬賽文"
+ },
+ "mzn": {
+ "name": "馬贊德蘭文"
+ },
+ "de-CH": {
+ "name": "高地德文(瑞士)"
+ },
+ "km": {
+ "name": "高棉文"
+ },
+ "kw": {
+ "name": "康瓦耳文"
+ },
+ "cs": {
+ "name": "捷克文"
+ },
+ "gv": {
+ "name": "曼島文"
+ },
+ "mer": {
+ "name": "梅魯文"
+ },
+ "sn": {
+ "name": "紹納文"
+ },
+ "nl": {
+ "name": "荷蘭文"
+ },
+ "brx": {
+ "name": "博多文"
+ },
+ "ks": {
+ "name": "喀什米爾文"
+ },
+ "ka": {
+ "name": "喬治亞文"
+ },
+ "ff": {
+ "name": "富拉文"
+ },
+ "ti": {
+ "name": "提格利尼亞文"
+ },
+ "sk": {
+ "name": "斯洛伐克文"
+ },
+ "sl": {
+ "name": "斯洛維尼亞文"
+ },
+ "ps": {
+ "name": "普什圖文"
+ },
+ "prg": {
+ "name": "普魯士文"
+ },
+ "fil": {
+ "name": "菲律賓文"
+ },
+ "vi": {
+ "name": "越南文"
+ },
+ "rn": {
+ "name": "隆迪文"
+ },
+ "sah": {
+ "name": "雅庫特文"
+ },
+ "sr": {
+ "name": "塞爾維亞文"
+ },
+ "os": {
+ "name": "奧塞提文"
+ },
+ "om": {
+ "name": "奧羅莫文"
+ },
+ "yi": {
+ "name": "意第緒文"
+ },
+ "et": {
+ "name": "愛沙尼亞文"
+ },
+ "ga": {
+ "name": "愛爾蘭文"
+ },
+ "vun": {
+ "name": "溫舊文"
+ },
+ "sv": {
+ "name": "瑞典文"
+ },
+ "yue": {
+ "name": "粵語"
+ },
+ "it": {
+ "name": "義大利文"
+ },
+ "pt": {
+ "name": "葡萄牙文"
+ },
+ "pt-PT": {
+ "name": "葡萄牙文(葡萄牙)"
+ },
+ "si": {
+ "name": "僧伽羅文"
+ },
+ "ug": {
+ "name": "維吾爾文"
+ },
+ "mn": {
+ "name": "蒙古文"
+ },
+ "mua": {
+ "name": "蒙當文"
+ },
+ "qu": {
+ "name": "蓋楚瓦文"
+ },
+ "ha": {
+ "name": "豪撒文"
+ },
+ "lo": {
+ "name": "寮文"
+ },
+ "de": {
+ "name": "德文"
+ },
+ "de-AT": {
+ "name": "德文(奧地利)"
+ },
+ "gsw": {
+ "name": "德文(瑞士)"
+ },
+ "ro-MD": {
+ "name": "摩爾多瓦文"
+ },
+ "zgh": {
+ "name": "標準摩洛哥塔馬塞特文"
+ },
+ "or": {
+ "name": "歐迪亞文"
+ },
+ "my": {
+ "name": "緬甸文"
+ },
+ "lu": {
+ "name": "魯巴加丹加文"
+ },
+ "rw": {
+ "name": "盧安達文"
+ },
+ "lb": {
+ "name": "盧森堡文"
+ },
+ "luy": {
+ "name": "盧雅文"
+ },
+ "luo": {
+ "name": "盧奧文"
+ },
+ "zh-Hant": {
+ "name": "繁體中文"
+ },
+ "seh": {
+ "name": "賽納文"
+ },
+ "ko": {
+ "name": "韓文"
+ },
+ "zh-Hans": {
+ "name": "簡體中文"
+ },
+ "saq": {
+ "name": "薩布魯文"
+ },
+ "bo": {
+ "name": "藏文"
+ },
+ "rwk": {
+ "name": "羅瓦文"
+ },
+ "ro": {
+ "name": "羅馬尼亞文"
+ },
+ "rm": {
+ "name": "羅曼斯文"
+ },
+ "gd": {
+ "name": "蘇格蘭蓋爾文"
+ },
+ "rof": {
+ "name": "蘭博文"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/zh.json b/vendor/commerceguys/intl/resources/language/zh.json
new file mode 100644
index 000000000..27d01436e
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/zh.json
@@ -0,0 +1,635 @@
+{
+ "sq": {
+ "name": "阿尔巴尼亚文"
+ },
+ "ak": {
+ "name": "阿肯文"
+ },
+ "ar": {
+ "name": "阿拉伯语"
+ },
+ "am": {
+ "name": "阿姆哈拉文"
+ },
+ "as": {
+ "name": "阿萨姆文"
+ },
+ "az": {
+ "name": "阿塞拜疆语"
+ },
+ "ast": {
+ "name": "阿斯图里亚斯文"
+ },
+ "asa": {
+ "name": "阿苏文"
+ },
+ "ee": {
+ "name": "埃维文"
+ },
+ "ga": {
+ "name": "爱尔兰语"
+ },
+ "et": {
+ "name": "爱沙尼亚语"
+ },
+ "de-AT": {
+ "name": "奥地利德文"
+ },
+ "or": {
+ "name": "奥里亚文"
+ },
+ "om": {
+ "name": "奥洛莫文"
+ },
+ "os": {
+ "name": "奥塞梯文"
+ },
+ "ksf": {
+ "name": "巴菲亚文"
+ },
+ "bas": {
+ "name": "巴萨文"
+ },
+ "eu": {
+ "name": "巴斯克文"
+ },
+ "be": {
+ "name": "白俄罗斯语"
+ },
+ "bm": {
+ "name": "班巴拉文"
+ },
+ "bg": {
+ "name": "保加利亚语"
+ },
+ "nd": {
+ "name": "北恩德贝勒文"
+ },
+ "lrc": {
+ "name": "北卢尔文"
+ },
+ "se": {
+ "name": "北萨米文"
+ },
+ "twq": {
+ "name": "北桑海文"
+ },
+ "bez": {
+ "name": "贝纳文"
+ },
+ "zgh": {
+ "name": "标准摩洛哥塔马塞特文"
+ },
+ "bem": {
+ "name": "别姆巴文"
+ },
+ "is": {
+ "name": "冰岛语"
+ },
+ "pl": {
+ "name": "波兰文"
+ },
+ "bs": {
+ "name": "波斯尼亚语"
+ },
+ "fa": {
+ "name": "波斯文"
+ },
+ "brx": {
+ "name": "博多文"
+ },
+ "br": {
+ "name": "布列塔尼文"
+ },
+ "bo": {
+ "name": "藏语"
+ },
+ "ce": {
+ "name": "车臣文"
+ },
+ "chr": {
+ "name": "彻罗基文"
+ },
+ "da": {
+ "name": "丹麦语"
+ },
+ "de": {
+ "name": "德文"
+ },
+ "gsw": {
+ "name": "德语(瑞士)"
+ },
+ "nds": {
+ "name": "低地德文"
+ },
+ "nds-NL": {
+ "name": "低萨克森文"
+ },
+ "ses": {
+ "name": "东桑海文"
+ },
+ "dua": {
+ "name": "都阿拉文"
+ },
+ "ru": {
+ "name": "俄文"
+ },
+ "ebu": {
+ "name": "恩布文"
+ },
+ "nnh": {
+ "name": "恩甘澎文"
+ },
+ "jgo": {
+ "name": "恩艮巴"
+ },
+ "fo": {
+ "name": "法罗文"
+ },
+ "fr": {
+ "name": "法语"
+ },
+ "fr-CA": {
+ "name": "法语(加拿大)"
+ },
+ "fr-CH": {
+ "name": "法语(瑞士)"
+ },
+ "zh-Hant": {
+ "name": "繁体中文"
+ },
+ "fil": {
+ "name": "菲律宾语"
+ },
+ "fi": {
+ "name": "芬兰语"
+ },
+ "fur": {
+ "name": "弗留利文"
+ },
+ "nl-BE": {
+ "name": "佛兰德文"
+ },
+ "ff": {
+ "name": "富拉文"
+ },
+ "qu": {
+ "name": "盖丘亚文"
+ },
+ "sw-CD": {
+ "name": "刚果斯瓦希里文"
+ },
+ "kok": {
+ "name": "刚卡尼文"
+ },
+ "km": {
+ "name": "高棉文"
+ },
+ "kl": {
+ "name": "格陵兰文"
+ },
+ "ka": {
+ "name": "格鲁吉亚语"
+ },
+ "gu": {
+ "name": "古吉拉特语"
+ },
+ "guz": {
+ "name": "古西文"
+ },
+ "kk": {
+ "name": "哈萨克语"
+ },
+ "ko": {
+ "name": "韩文"
+ },
+ "ha": {
+ "name": "豪萨文"
+ },
+ "nl": {
+ "name": "荷兰语"
+ },
+ "ky": {
+ "name": "吉尔吉斯文"
+ },
+ "ki": {
+ "name": "吉库尤文"
+ },
+ "gl": {
+ "name": "加利西亚语"
+ },
+ "ca": {
+ "name": "加泰罗尼亚语"
+ },
+ "zh-Hans": {
+ "name": "简体中文"
+ },
+ "cu": {
+ "name": "教会斯拉夫文"
+ },
+ "cs": {
+ "name": "捷克语"
+ },
+ "kab": {
+ "name": "卡比尔文"
+ },
+ "kea": {
+ "name": "卡布佛得鲁文"
+ },
+ "kkj": {
+ "name": "卡库文"
+ },
+ "kln": {
+ "name": "卡伦金文"
+ },
+ "kam": {
+ "name": "卡姆巴文"
+ },
+ "kn": {
+ "name": "卡纳达文"
+ },
+ "kw": {
+ "name": "凯尔特文"
+ },
+ "ksh": {
+ "name": "科隆文"
+ },
+ "hr": {
+ "name": "克罗地亚语"
+ },
+ "ks": {
+ "name": "克什米尔文"
+ },
+ "nmg": {
+ "name": "夸西奥文"
+ },
+ "lkt": {
+ "name": "拉科塔文"
+ },
+ "lv": {
+ "name": "拉脱维亚语"
+ },
+ "rof": {
+ "name": "兰博文"
+ },
+ "lag": {
+ "name": "朗吉文"
+ },
+ "lo": {
+ "name": "老挝语"
+ },
+ "lt": {
+ "name": "立陶宛语"
+ },
+ "ln": {
+ "name": "林加拉文"
+ },
+ "rn": {
+ "name": "隆迪文"
+ },
+ "luo": {
+ "name": "卢奥文"
+ },
+ "lg": {
+ "name": "卢干达文"
+ },
+ "lb": {
+ "name": "卢森堡语"
+ },
+ "rw": {
+ "name": "卢旺达语"
+ },
+ "luy": {
+ "name": "卢雅文"
+ },
+ "lu": {
+ "name": "鲁巴加丹加文"
+ },
+ "ro": {
+ "name": "罗马尼亚文"
+ },
+ "rm": {
+ "name": "罗曼什文"
+ },
+ "rwk": {
+ "name": "罗瓦文"
+ },
+ "gv": {
+ "name": "马恩岛文"
+ },
+ "mg": {
+ "name": "马尔加什文"
+ },
+ "mt": {
+ "name": "马耳他文"
+ },
+ "kde": {
+ "name": "马孔德文"
+ },
+ "mgh": {
+ "name": "马库阿文"
+ },
+ "mr": {
+ "name": "马拉地文"
+ },
+ "ml": {
+ "name": "马拉雅拉姆语"
+ },
+ "ms": {
+ "name": "马来语"
+ },
+ "mk": {
+ "name": "马其顿文"
+ },
+ "jmc": {
+ "name": "马切姆文"
+ },
+ "mzn": {
+ "name": "马赞德兰文"
+ },
+ "mfe": {
+ "name": "毛里求斯克里奥尔文"
+ },
+ "mer": {
+ "name": "梅鲁文"
+ },
+ "mgo": {
+ "name": "梅塔文"
+ },
+ "mua": {
+ "name": "蒙当文"
+ },
+ "mn": {
+ "name": "蒙古文"
+ },
+ "bn": {
+ "name": "孟加拉语"
+ },
+ "my": {
+ "name": "缅甸语"
+ },
+ "ro-MD": {
+ "name": "摩尔多瓦文"
+ },
+ "es-MX": {
+ "name": "墨西哥西班牙文"
+ },
+ "naq": {
+ "name": "纳马文"
+ },
+ "af": {
+ "name": "南非荷兰语"
+ },
+ "nyn": {
+ "name": "尼昂科勒文"
+ },
+ "ne": {
+ "name": "尼泊尔语"
+ },
+ "nus": {
+ "name": "努埃尔文"
+ },
+ "nb": {
+ "name": "挪威博克马尔语"
+ },
+ "nn": {
+ "name": "挪威尼诺斯克文"
+ },
+ "pt-PT": {
+ "name": "欧洲葡萄牙文"
+ },
+ "pa": {
+ "name": "旁遮普文"
+ },
+ "pt": {
+ "name": "葡萄牙文"
+ },
+ "prg": {
+ "name": "普鲁士文"
+ },
+ "ps": {
+ "name": "普什图文"
+ },
+ "cgg": {
+ "name": "奇加文"
+ },
+ "ja": {
+ "name": "日语"
+ },
+ "sv": {
+ "name": "瑞典语"
+ },
+ "de-CH": {
+ "name": "瑞士高地德文"
+ },
+ "sah": {
+ "name": "萨哈文"
+ },
+ "mas": {
+ "name": "萨伊文"
+ },
+ "sr": {
+ "name": "塞尔维亚文"
+ },
+ "seh": {
+ "name": "塞纳文"
+ },
+ "saq": {
+ "name": "桑布鲁文"
+ },
+ "sg": {
+ "name": "桑戈文"
+ },
+ "sbp": {
+ "name": "桑古文"
+ },
+ "si": {
+ "name": "僧伽罗文"
+ },
+ "hsb": {
+ "name": "上索布文"
+ },
+ "sn": {
+ "name": "绍纳文"
+ },
+ "eo": {
+ "name": "世界语"
+ },
+ "sk": {
+ "name": "斯洛伐克文"
+ },
+ "sl": {
+ "name": "斯洛文尼亚文"
+ },
+ "sw": {
+ "name": "斯瓦希里文"
+ },
+ "ii": {
+ "name": "四川彝文"
+ },
+ "gd": {
+ "name": "苏格兰盖尔文"
+ },
+ "xog": {
+ "name": "索加文"
+ },
+ "so": {
+ "name": "索马里文"
+ },
+ "tzm": {
+ "name": "塔马齐格特文"
+ },
+ "dav": {
+ "name": "台塔文"
+ },
+ "te": {
+ "name": "泰卢固语"
+ },
+ "ta": {
+ "name": "泰米尔语"
+ },
+ "th": {
+ "name": "泰语"
+ },
+ "to": {
+ "name": "汤加文"
+ },
+ "teo": {
+ "name": "特索文"
+ },
+ "ti": {
+ "name": "提格利尼亚文"
+ },
+ "tr": {
+ "name": "土耳其文"
+ },
+ "tk": {
+ "name": "土库曼文"
+ },
+ "wae": {
+ "name": "瓦尔瑟文"
+ },
+ "vai": {
+ "name": "瓦伊文"
+ },
+ "ewo": {
+ "name": "旺杜文"
+ },
+ "cy": {
+ "name": "威尔士语"
+ },
+ "ug": {
+ "name": "维吾尔语"
+ },
+ "vun": {
+ "name": "温旧文"
+ },
+ "vo": {
+ "name": "沃拉普克文"
+ },
+ "ur": {
+ "name": "乌尔都语"
+ },
+ "uk": {
+ "name": "乌克兰语"
+ },
+ "uz": {
+ "name": "乌兹别克语"
+ },
+ "he": {
+ "name": "希伯来语"
+ },
+ "shi": {
+ "name": "希尔哈文"
+ },
+ "el": {
+ "name": "希腊语"
+ },
+ "es": {
+ "name": "西班牙文"
+ },
+ "fy": {
+ "name": "西弗里西亚文"
+ },
+ "khq": {
+ "name": "西桑海文"
+ },
+ "dsb": {
+ "name": "下索布文"
+ },
+ "haw": {
+ "name": "夏威夷文"
+ },
+ "ksb": {
+ "name": "香巴拉文"
+ },
+ "hu": {
+ "name": "匈牙利语"
+ },
+ "agq": {
+ "name": "亚罕文"
+ },
+ "hy": {
+ "name": "亚美尼亚语"
+ },
+ "yav": {
+ "name": "洋卞文"
+ },
+ "ig": {
+ "name": "伊布文"
+ },
+ "smn": {
+ "name": "伊纳里萨米文"
+ },
+ "it": {
+ "name": "意大利语"
+ },
+ "yi": {
+ "name": "意第绪文"
+ },
+ "hi": {
+ "name": "印地语"
+ },
+ "id": {
+ "name": "印度尼西亚语"
+ },
+ "en": {
+ "name": "英语"
+ },
+ "en-AU": {
+ "name": "英语(澳大利亚)"
+ },
+ "en-CA": {
+ "name": "英语(加拿大)"
+ },
+ "en-GB": {
+ "name": "英语(英国)"
+ },
+ "yo": {
+ "name": "约鲁巴文"
+ },
+ "yue": {
+ "name": "粤语"
+ },
+ "vi": {
+ "name": "越南语"
+ },
+ "dje": {
+ "name": "哲尔马文"
+ },
+ "ckb": {
+ "name": "中库尔德文"
+ },
+ "zh": {
+ "name": "中文"
+ },
+ "dyo": {
+ "name": "朱拉文"
+ },
+ "dz": {
+ "name": "宗卡文"
+ },
+ "zu": {
+ "name": "祖鲁语"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/zu.json b/vendor/commerceguys/intl/resources/language/zu.json
new file mode 100644
index 000000000..53310e00c
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/zu.json
@@ -0,0 +1,635 @@
+{
+ "af": {
+ "name": "i-Afrikaans"
+ },
+ "en-GB": {
+ "name": "i-British English"
+ },
+ "en-CA": {
+ "name": "i-Canadian English"
+ },
+ "fr-CA": {
+ "name": "i-Canadian French"
+ },
+ "en": {
+ "name": "i-English"
+ },
+ "lo": {
+ "name": "i-Lao"
+ },
+ "es-MX": {
+ "name": "i-Mexican Spanish"
+ },
+ "nn": {
+ "name": "i-Norwegian Nynorsk"
+ },
+ "om": {
+ "name": "i-Oromo"
+ },
+ "sah": {
+ "name": "i-Sakha"
+ },
+ "gd": {
+ "name": "i-Scottish Gaelic"
+ },
+ "si": {
+ "name": "i-Sinhala"
+ },
+ "fr-CH": {
+ "name": "i-Swiss French"
+ },
+ "de-CH": {
+ "name": "i-Swiss High German"
+ },
+ "agq": {
+ "name": "isi-Aghem"
+ },
+ "ak": {
+ "name": "isi-Akan"
+ },
+ "sq": {
+ "name": "isi-Albania"
+ },
+ "am": {
+ "name": "isi-Amharic"
+ },
+ "ar": {
+ "name": "isi-Arabic"
+ },
+ "hy": {
+ "name": "isi-Armenia"
+ },
+ "as": {
+ "name": "isi-Assamese"
+ },
+ "ast": {
+ "name": "isi-Asturian"
+ },
+ "asa": {
+ "name": "isi-Asu"
+ },
+ "de-AT": {
+ "name": "isi-Austrian German"
+ },
+ "en-AU": {
+ "name": "isi-Austrillian English"
+ },
+ "az": {
+ "name": "isi-Azerbaijani"
+ },
+ "ksf": {
+ "name": "isi-Bafia"
+ },
+ "bm": {
+ "name": "isi-Bambara"
+ },
+ "bas": {
+ "name": "isi-Basaa"
+ },
+ "eu": {
+ "name": "isi-Basque"
+ },
+ "be": {
+ "name": "isi-Belarusian"
+ },
+ "bem": {
+ "name": "isi-Bemba"
+ },
+ "bez": {
+ "name": "isi-Bena"
+ },
+ "bn": {
+ "name": "isi-Bengali"
+ },
+ "brx": {
+ "name": "isi-Bodo"
+ },
+ "bs": {
+ "name": "isi-Bosnian"
+ },
+ "br": {
+ "name": "isi-Breton"
+ },
+ "bg": {
+ "name": "isi-Bulgari"
+ },
+ "my": {
+ "name": "isi-Burmese"
+ },
+ "yue": {
+ "name": "isi-Cantonese"
+ },
+ "ca": {
+ "name": "isi-Catalan"
+ },
+ "tzm": {
+ "name": "isi-Central Atlas Tamazight"
+ },
+ "ckb": {
+ "name": "isi-Central Kurdish"
+ },
+ "ce": {
+ "name": "isi-Chechen"
+ },
+ "chr": {
+ "name": "isi-Cherokee"
+ },
+ "cgg": {
+ "name": "isi-Chiga"
+ },
+ "zh": {
+ "name": "isi-Chinese"
+ },
+ "zh-Hans": {
+ "name": "isi-Chinese (esenziwe-lula)"
+ },
+ "zh-Hant": {
+ "name": "isi-Chinese (Okosiko)"
+ },
+ "cu": {
+ "name": "isi-Church Slavic"
+ },
+ "ksh": {
+ "name": "isi-Colognian"
+ },
+ "sw-CD": {
+ "name": "isi-Congo Swahili"
+ },
+ "kw": {
+ "name": "isi-Cornish"
+ },
+ "hr": {
+ "name": "isi-Croatian"
+ },
+ "cs": {
+ "name": "isi-Czech"
+ },
+ "da": {
+ "name": "isi-Danish"
+ },
+ "dua": {
+ "name": "isi-Duala"
+ },
+ "nl": {
+ "name": "isi-Dutch"
+ },
+ "dz": {
+ "name": "isi-Dzongkha"
+ },
+ "ebu": {
+ "name": "isi-Embu"
+ },
+ "eo": {
+ "name": "isi-Esperanto"
+ },
+ "et": {
+ "name": "isi-Estonia"
+ },
+ "pt-PT": {
+ "name": "isi-European Portuguese"
+ },
+ "ee": {
+ "name": "isi-Ewe"
+ },
+ "ewo": {
+ "name": "isi-Ewondo"
+ },
+ "fo": {
+ "name": "isi-Faroese"
+ },
+ "fil": {
+ "name": "isi-Filipino"
+ },
+ "fi": {
+ "name": "isi-Finnish"
+ },
+ "nl-BE": {
+ "name": "isi-Flemish"
+ },
+ "fr": {
+ "name": "isi-French"
+ },
+ "fur": {
+ "name": "isi-Friulian"
+ },
+ "ff": {
+ "name": "isi-Fulah"
+ },
+ "gl": {
+ "name": "isi-Galicia"
+ },
+ "lg": {
+ "name": "isi-Ganda"
+ },
+ "ka": {
+ "name": "isi-Georgian"
+ },
+ "de": {
+ "name": "isi-German"
+ },
+ "el": {
+ "name": "isi-Greek"
+ },
+ "gu": {
+ "name": "isi-Gujarati"
+ },
+ "guz": {
+ "name": "isi-Gusli"
+ },
+ "ha": {
+ "name": "isi-Hausa"
+ },
+ "haw": {
+ "name": "isi-Hawaiian"
+ },
+ "he": {
+ "name": "isi-Hebrew"
+ },
+ "hi": {
+ "name": "isi-Hindi"
+ },
+ "hu": {
+ "name": "isi-Hungarian"
+ },
+ "is": {
+ "name": "isi-Icelandic"
+ },
+ "ig": {
+ "name": "isi-Igbo"
+ },
+ "smn": {
+ "name": "isi-Inari Sami"
+ },
+ "id": {
+ "name": "isi-Indonesian"
+ },
+ "ga": {
+ "name": "isi-Irish"
+ },
+ "it": {
+ "name": "isi-Italian"
+ },
+ "ja": {
+ "name": "isi-Japanese"
+ },
+ "dyo": {
+ "name": "isi-Jola-Fonyi"
+ },
+ "kea": {
+ "name": "isi-Kabuverdianu"
+ },
+ "kab": {
+ "name": "isi-Kabyle"
+ },
+ "kkj": {
+ "name": "isi-Kako"
+ },
+ "kl": {
+ "name": "isi-Kalaallisut"
+ },
+ "kln": {
+ "name": "isi-Kalenjin"
+ },
+ "kam": {
+ "name": "isi-Kamba"
+ },
+ "kn": {
+ "name": "isi-Kannada"
+ },
+ "ks": {
+ "name": "isi-Kashmiri"
+ },
+ "kk": {
+ "name": "isi-Kazakh"
+ },
+ "km": {
+ "name": "isi-Khmer"
+ },
+ "ki": {
+ "name": "isi-Kikuyu"
+ },
+ "rw": {
+ "name": "isi-Kinyarwanda"
+ },
+ "kok": {
+ "name": "isi-Konkani"
+ },
+ "ko": {
+ "name": "isi-Korean"
+ },
+ "khq": {
+ "name": "isi-Koyra Chiini"
+ },
+ "ses": {
+ "name": "isi-Koyraboro Senni"
+ },
+ "nmg": {
+ "name": "isi-Kwasio"
+ },
+ "ky": {
+ "name": "isi-Kyrgyz"
+ },
+ "lkt": {
+ "name": "isi-Lakota"
+ },
+ "lag": {
+ "name": "isi-Langi"
+ },
+ "lv": {
+ "name": "isi-Latvian"
+ },
+ "ln": {
+ "name": "isi-Lingala"
+ },
+ "lt": {
+ "name": "isi-Lithuanian"
+ },
+ "nds": {
+ "name": "isi-Low German"
+ },
+ "nds-NL": {
+ "name": "isi-Low Saxon"
+ },
+ "dsb": {
+ "name": "isi-Lower Sorbian"
+ },
+ "lu": {
+ "name": "isi-Luba-Katanga"
+ },
+ "luo": {
+ "name": "isi-Luo"
+ },
+ "lb": {
+ "name": "isi-Luxembourgish"
+ },
+ "luy": {
+ "name": "isi-Luyia"
+ },
+ "mk": {
+ "name": "isi-Macedonian"
+ },
+ "jmc": {
+ "name": "isi-Machame"
+ },
+ "mgh": {
+ "name": "isi-Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "isi-Makonde"
+ },
+ "mg": {
+ "name": "isi-Malagasy"
+ },
+ "ms": {
+ "name": "isi-Malay"
+ },
+ "ml": {
+ "name": "isi-Malayalam"
+ },
+ "mt": {
+ "name": "isi-Maltese"
+ },
+ "gv": {
+ "name": "isi-Manx"
+ },
+ "mr": {
+ "name": "isi-Marathi"
+ },
+ "mas": {
+ "name": "isi-Masai"
+ },
+ "mzn": {
+ "name": "isi-Mazanderani"
+ },
+ "mer": {
+ "name": "isi-Meru"
+ },
+ "mgo": {
+ "name": "isi-Meta’"
+ },
+ "ro-MD": {
+ "name": "isi-Moldavian"
+ },
+ "mn": {
+ "name": "isi-Mongolian"
+ },
+ "mfe": {
+ "name": "isi-Morisyen"
+ },
+ "zgh": {
+ "name": "isi-Moroccan Tamazight esivamile"
+ },
+ "mua": {
+ "name": "isi-Mundang"
+ },
+ "naq": {
+ "name": "isi-Nama"
+ },
+ "ne": {
+ "name": "isi-Nepali"
+ },
+ "nnh": {
+ "name": "isi-Ngiemboon"
+ },
+ "jgo": {
+ "name": "isi-Ngomba"
+ },
+ "nd": {
+ "name": "isi-North Ndebele"
+ },
+ "lrc": {
+ "name": "isi-Northern Luri"
+ },
+ "se": {
+ "name": "isi-Northern Sami"
+ },
+ "nb": {
+ "name": "isi-Norwegian Bokmål"
+ },
+ "nus": {
+ "name": "isi-Nuer"
+ },
+ "nyn": {
+ "name": "isi-Nyankole"
+ },
+ "or": {
+ "name": "isi-Odia"
+ },
+ "os": {
+ "name": "isi-Ossetic"
+ },
+ "ps": {
+ "name": "isi-Pashto"
+ },
+ "fa": {
+ "name": "isi-Persian"
+ },
+ "pl": {
+ "name": "isi-Polish"
+ },
+ "pt": {
+ "name": "isi-Portuguese"
+ },
+ "prg": {
+ "name": "isi-Prussian"
+ },
+ "pa": {
+ "name": "isi-Punjabi"
+ },
+ "qu": {
+ "name": "isi-Quechua"
+ },
+ "ro": {
+ "name": "isi-Romanian"
+ },
+ "rm": {
+ "name": "isi-Romansh"
+ },
+ "rof": {
+ "name": "isi-Rombo"
+ },
+ "rn": {
+ "name": "isi-Rundi"
+ },
+ "ru": {
+ "name": "isi-Russian"
+ },
+ "rwk": {
+ "name": "isi-Rwa"
+ },
+ "saq": {
+ "name": "isi-Samburu"
+ },
+ "sg": {
+ "name": "isi-Sango"
+ },
+ "sbp": {
+ "name": "isi-Sangu"
+ },
+ "seh": {
+ "name": "isi-Sena"
+ },
+ "sr": {
+ "name": "isi-Serbian"
+ },
+ "ii": {
+ "name": "isi-Sichuan Yi"
+ },
+ "sk": {
+ "name": "isi-Slovak"
+ },
+ "sl": {
+ "name": "isi-Slovenian"
+ },
+ "xog": {
+ "name": "isi-Soga"
+ },
+ "so": {
+ "name": "isi-Somali"
+ },
+ "es": {
+ "name": "isi-Spanish"
+ },
+ "sv": {
+ "name": "isi-Swedish"
+ },
+ "gsw": {
+ "name": "isi-Swiss German"
+ },
+ "shi": {
+ "name": "isi-Tachelhit"
+ },
+ "dav": {
+ "name": "isi-Taita"
+ },
+ "ta": {
+ "name": "isi-Tamil"
+ },
+ "twq": {
+ "name": "isi-Tasawaq"
+ },
+ "te": {
+ "name": "isi-Telugu"
+ },
+ "teo": {
+ "name": "isi-Teso"
+ },
+ "th": {
+ "name": "isi-Thai"
+ },
+ "bo": {
+ "name": "isi-Tibetan"
+ },
+ "ti": {
+ "name": "isi-Tigrinya"
+ },
+ "to": {
+ "name": "isi-Tongan"
+ },
+ "tr": {
+ "name": "isi-Turkish"
+ },
+ "tk": {
+ "name": "isi-Turkmen"
+ },
+ "ug": {
+ "name": "isi-Uighur"
+ },
+ "uk": {
+ "name": "isi-Ukrainian"
+ },
+ "hsb": {
+ "name": "isi-Upper Sorbian"
+ },
+ "ur": {
+ "name": "isi-Urdu"
+ },
+ "uz": {
+ "name": "isi-Uzbek"
+ },
+ "vai": {
+ "name": "isi-Vai"
+ },
+ "vi": {
+ "name": "isi-Vietnamese"
+ },
+ "vo": {
+ "name": "isi-Volapük"
+ },
+ "wae": {
+ "name": "isi-Walser"
+ },
+ "cy": {
+ "name": "isi-Welsh"
+ },
+ "fy": {
+ "name": "isi-Western Frisian"
+ },
+ "yav": {
+ "name": "isi-Yangben"
+ },
+ "yi": {
+ "name": "isi-Yiddish"
+ },
+ "yo": {
+ "name": "isi-Yoruba"
+ },
+ "dje": {
+ "name": "isi-Zarma"
+ },
+ "ksb": {
+ "name": "isiShambala"
+ },
+ "sn": {
+ "name": "isiShona"
+ },
+ "sw": {
+ "name": "isiSwahili"
+ },
+ "vun": {
+ "name": "isiVunjo"
+ },
+ "zu": {
+ "name": "isiZulu"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/af.json b/vendor/commerceguys/intl/resources/number_format/af.json
new file mode 100644
index 000000000..2d2088801
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/af.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)",
+ "decimal_separator": ",",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/agq.json b/vendor/commerceguys/intl/resources/number_format/agq.json
new file mode 100644
index 000000000..a10f29339
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/agq.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00¤",
+ "accounting_currency_pattern": "#,##0.00¤",
+ "decimal_separator": ",",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/ak.json b/vendor/commerceguys/intl/resources/number_format/ak.json
new file mode 100644
index 000000000..a605145a8
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/ak.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/am.json b/vendor/commerceguys/intl/resources/number_format/am.json
new file mode 100644
index 000000000..b3c1634ea
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/am.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/ar-DZ.json b/vendor/commerceguys/intl/resources/number_format/ar-DZ.json
new file mode 100644
index 000000000..d71a5ee88
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/ar-DZ.json
@@ -0,0 +1,12 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤ #,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)",
+ "decimal_separator": ",",
+ "grouping_separator": ".",
+ "plus_sign": "‎+",
+ "minus_sign": "‎-",
+ "percent_sign": "‎%‎"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/ar-EH.json b/vendor/commerceguys/intl/resources/number_format/ar-EH.json
new file mode 100644
index 000000000..49963655e
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/ar-EH.json
@@ -0,0 +1,10 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤ #,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)",
+ "plus_sign": "‎+",
+ "minus_sign": "‎-",
+ "percent_sign": "‎%‎"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/ar-LY.json b/vendor/commerceguys/intl/resources/number_format/ar-LY.json
new file mode 100644
index 000000000..d71a5ee88
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/ar-LY.json
@@ -0,0 +1,12 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤ #,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)",
+ "decimal_separator": ",",
+ "grouping_separator": ".",
+ "plus_sign": "‎+",
+ "minus_sign": "‎-",
+ "percent_sign": "‎%‎"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/ar-MA.json b/vendor/commerceguys/intl/resources/number_format/ar-MA.json
new file mode 100644
index 000000000..d71a5ee88
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/ar-MA.json
@@ -0,0 +1,12 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤ #,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)",
+ "decimal_separator": ",",
+ "grouping_separator": ".",
+ "plus_sign": "‎+",
+ "minus_sign": "‎-",
+ "percent_sign": "‎%‎"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/ar-TN.json b/vendor/commerceguys/intl/resources/number_format/ar-TN.json
new file mode 100644
index 000000000..d71a5ee88
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/ar-TN.json
@@ -0,0 +1,12 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤ #,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)",
+ "decimal_separator": ",",
+ "grouping_separator": ".",
+ "plus_sign": "‎+",
+ "minus_sign": "‎-",
+ "percent_sign": "‎%‎"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/ar.json b/vendor/commerceguys/intl/resources/number_format/ar.json
new file mode 100644
index 000000000..055e131eb
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/ar.json
@@ -0,0 +1,12 @@
+{
+ "numbering_system": "arab",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "decimal_separator": "٫",
+ "grouping_separator": "٬",
+ "plus_sign": "؜+",
+ "minus_sign": "؜-",
+ "percent_sign": "٪؜"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/ast.json b/vendor/commerceguys/intl/resources/number_format/ast.json
new file mode 100644
index 000000000..fe7da1e1a
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/ast.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/az.json b/vendor/commerceguys/intl/resources/number_format/az.json
new file mode 100644
index 000000000..481a97b35
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/az.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤ #,##0.00",
+ "accounting_currency_pattern": "¤ #,##0.00",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/bas.json b/vendor/commerceguys/intl/resources/number_format/bas.json
new file mode 100644
index 000000000..d764f9629
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/bas.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "decimal_separator": ",",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/be.json b/vendor/commerceguys/intl/resources/number_format/be.json
new file mode 100644
index 000000000..d764f9629
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/be.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "decimal_separator": ",",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/bez.json b/vendor/commerceguys/intl/resources/number_format/bez.json
new file mode 100644
index 000000000..f073f08bc
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/bez.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00¤",
+ "accounting_currency_pattern": "#,##0.00¤"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/bg.json b/vendor/commerceguys/intl/resources/number_format/bg.json
new file mode 100644
index 000000000..db5594973
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/bg.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#0.00 ¤",
+ "accounting_currency_pattern": "#0.00 ¤;(#0.00 ¤)",
+ "decimal_separator": ",",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/bm.json b/vendor/commerceguys/intl/resources/number_format/bm.json
new file mode 100644
index 000000000..b3c1634ea
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/bm.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/bn.json b/vendor/commerceguys/intl/resources/number_format/bn.json
new file mode 100644
index 000000000..0647f15c7
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/bn.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "beng",
+ "decimal_pattern": "#,##,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##,##0.00¤",
+ "accounting_currency_pattern": "#,##,##0.00¤;(#,##,##0.00¤)"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/bo.json b/vendor/commerceguys/intl/resources/number_format/bo.json
new file mode 100644
index 000000000..0a0143208
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/bo.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤ #,##0.00",
+ "accounting_currency_pattern": "¤ #,##0.00"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/br.json b/vendor/commerceguys/intl/resources/number_format/br.json
new file mode 100644
index 000000000..d764f9629
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/br.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "decimal_separator": ",",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/brx.json b/vendor/commerceguys/intl/resources/number_format/brx.json
new file mode 100644
index 000000000..a844ebdb7
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/brx.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##,##0.###",
+ "percent_pattern": "#,##,##0%",
+ "currency_pattern": "¤ #,##,##0.00",
+ "accounting_currency_pattern": "¤ #,##,##0.00"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/bs.json b/vendor/commerceguys/intl/resources/number_format/bs.json
new file mode 100644
index 000000000..54df599a4
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/bs.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/ca.json b/vendor/commerceguys/intl/resources/number_format/ca.json
new file mode 100644
index 000000000..c30bdc3aa
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/ca.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤;(#,##0.00 ¤)",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/ce.json b/vendor/commerceguys/intl/resources/number_format/ce.json
new file mode 100644
index 000000000..4f5790c21
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/ce.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/cgg.json b/vendor/commerceguys/intl/resources/number_format/cgg.json
new file mode 100644
index 000000000..a605145a8
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/cgg.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/ckb.json b/vendor/commerceguys/intl/resources/number_format/ckb.json
new file mode 100644
index 000000000..536e7e1d4
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/ckb.json
@@ -0,0 +1,12 @@
+{
+ "numbering_system": "arab",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "decimal_separator": "٫",
+ "grouping_separator": "٬",
+ "plus_sign": "؜+",
+ "minus_sign": "؜-",
+ "percent_sign": "٪"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/cs.json b/vendor/commerceguys/intl/resources/number_format/cs.json
new file mode 100644
index 000000000..d764f9629
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/cs.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "decimal_separator": ",",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/cu.json b/vendor/commerceguys/intl/resources/number_format/cu.json
new file mode 100644
index 000000000..0a0143208
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/cu.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤ #,##0.00",
+ "accounting_currency_pattern": "¤ #,##0.00"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/cy.json b/vendor/commerceguys/intl/resources/number_format/cy.json
new file mode 100644
index 000000000..b3c1634ea
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/cy.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/da.json b/vendor/commerceguys/intl/resources/number_format/da.json
new file mode 100644
index 000000000..54df599a4
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/da.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/de-AT.json b/vendor/commerceguys/intl/resources/number_format/de-AT.json
new file mode 100644
index 000000000..7fb6d06ea
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/de-AT.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "¤ #,##0.00",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "decimal_separator": ",",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/de-CH.json b/vendor/commerceguys/intl/resources/number_format/de-CH.json
new file mode 100644
index 000000000..71149a173
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/de-CH.json
@@ -0,0 +1,8 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤ #,##0.00;¤-#,##0.00",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "grouping_separator": "'"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/de-LI.json b/vendor/commerceguys/intl/resources/number_format/de-LI.json
new file mode 100644
index 000000000..c48f86bec
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/de-LI.json
@@ -0,0 +1,8 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤ #,##0.00",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "grouping_separator": "'"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/de.json b/vendor/commerceguys/intl/resources/number_format/de.json
new file mode 100644
index 000000000..54df599a4
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/de.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/dje.json b/vendor/commerceguys/intl/resources/number_format/dje.json
new file mode 100644
index 000000000..b7d12f088
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/dje.json
@@ -0,0 +1,8 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00¤",
+ "accounting_currency_pattern": "#,##0.00¤",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/dsb.json b/vendor/commerceguys/intl/resources/number_format/dsb.json
new file mode 100644
index 000000000..54df599a4
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/dsb.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/dyo.json b/vendor/commerceguys/intl/resources/number_format/dyo.json
new file mode 100644
index 000000000..7ec8623e4
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/dyo.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "decimal_separator": ",",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/dz.json b/vendor/commerceguys/intl/resources/number_format/dz.json
new file mode 100644
index 000000000..6fef86b40
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/dz.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##,##0.###",
+ "percent_pattern": "#,##,##0 %",
+ "currency_pattern": "¤#,##,##0.00",
+ "accounting_currency_pattern": "¤#,##,##0.00"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/ee.json b/vendor/commerceguys/intl/resources/number_format/ee.json
new file mode 100644
index 000000000..b3c1634ea
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/ee.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/el.json b/vendor/commerceguys/intl/resources/number_format/el.json
new file mode 100644
index 000000000..c30bdc3aa
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/el.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤;(#,##0.00 ¤)",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/en-AT.json b/vendor/commerceguys/intl/resources/number_format/en-AT.json
new file mode 100644
index 000000000..59036076f
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/en-AT.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "¤ #,##0.00",
+ "accounting_currency_pattern": "¤ #,##0.00",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/en-BE.json b/vendor/commerceguys/intl/resources/number_format/en-BE.json
new file mode 100644
index 000000000..69a6c9165
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/en-BE.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/en-CH.json b/vendor/commerceguys/intl/resources/number_format/en-CH.json
new file mode 100644
index 000000000..3532d00f0
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/en-CH.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤ #,##0.00;¤-#,##0.00",
+ "accounting_currency_pattern": "¤ #,##0.00;¤-#,##0.00",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/en-DE.json b/vendor/commerceguys/intl/resources/number_format/en-DE.json
new file mode 100644
index 000000000..54df599a4
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/en-DE.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/en-DK.json b/vendor/commerceguys/intl/resources/number_format/en-DK.json
new file mode 100644
index 000000000..54df599a4
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/en-DK.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/en-FI.json b/vendor/commerceguys/intl/resources/number_format/en-FI.json
new file mode 100644
index 000000000..d764f9629
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/en-FI.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "decimal_separator": ",",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/en-IN.json b/vendor/commerceguys/intl/resources/number_format/en-IN.json
new file mode 100644
index 000000000..c79ed0085
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/en-IN.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##,##0.###",
+ "percent_pattern": "#,##,##0%",
+ "currency_pattern": "¤ #,##,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/en-NL.json b/vendor/commerceguys/intl/resources/number_format/en-NL.json
new file mode 100644
index 000000000..b02be0cc4
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/en-NL.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤ #,##0.00;¤ -#,##0.00",
+ "accounting_currency_pattern": "¤ #,##0.00;(¤ #,##0.00)",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/en-SE.json b/vendor/commerceguys/intl/resources/number_format/en-SE.json
new file mode 100644
index 000000000..d764f9629
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/en-SE.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "decimal_separator": ",",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/en-SI.json b/vendor/commerceguys/intl/resources/number_format/en-SI.json
new file mode 100644
index 000000000..c30bdc3aa
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/en-SI.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤;(#,##0.00 ¤)",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/en-ZA.json b/vendor/commerceguys/intl/resources/number_format/en-ZA.json
new file mode 100644
index 000000000..2d2088801
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/en-ZA.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)",
+ "decimal_separator": ",",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/en.json b/vendor/commerceguys/intl/resources/number_format/en.json
new file mode 100644
index 000000000..b3c1634ea
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/en.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/eo.json b/vendor/commerceguys/intl/resources/number_format/eo.json
new file mode 100644
index 000000000..28881d5d4
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/eo.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤ #,##0.00",
+ "accounting_currency_pattern": "¤ #,##0.00",
+ "decimal_separator": ",",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/es-AR.json b/vendor/commerceguys/intl/resources/number_format/es-AR.json
new file mode 100644
index 000000000..b58b29cca
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/es-AR.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "¤ #,##0.00",
+ "accounting_currency_pattern": "¤ #,##0.00;(¤ #,##0.00)",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/es-BO.json b/vendor/commerceguys/intl/resources/number_format/es-BO.json
new file mode 100644
index 000000000..70ef5d89a
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/es-BO.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/es-BR.json b/vendor/commerceguys/intl/resources/number_format/es-BR.json
new file mode 100644
index 000000000..a474daf71
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/es-BR.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/es-CL.json b/vendor/commerceguys/intl/resources/number_format/es-CL.json
new file mode 100644
index 000000000..db4aa024b
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/es-CL.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "¤#,##0.00;¤-#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/es-CO.json b/vendor/commerceguys/intl/resources/number_format/es-CO.json
new file mode 100644
index 000000000..b366f5e59
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/es-CO.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤ #,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/es-CR.json b/vendor/commerceguys/intl/resources/number_format/es-CR.json
new file mode 100644
index 000000000..421f438df
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/es-CR.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00",
+ "decimal_separator": ",",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/es-CU.json b/vendor/commerceguys/intl/resources/number_format/es-CU.json
new file mode 100644
index 000000000..a474daf71
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/es-CU.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/es-DO.json b/vendor/commerceguys/intl/resources/number_format/es-DO.json
new file mode 100644
index 000000000..b3c1634ea
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/es-DO.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/es-EC.json b/vendor/commerceguys/intl/resources/number_format/es-EC.json
new file mode 100644
index 000000000..db4aa024b
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/es-EC.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "¤#,##0.00;¤-#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/es-GQ.json b/vendor/commerceguys/intl/resources/number_format/es-GQ.json
new file mode 100644
index 000000000..827c59313
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/es-GQ.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/es-GT.json b/vendor/commerceguys/intl/resources/number_format/es-GT.json
new file mode 100644
index 000000000..a474daf71
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/es-GT.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/es-HN.json b/vendor/commerceguys/intl/resources/number_format/es-HN.json
new file mode 100644
index 000000000..a474daf71
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/es-HN.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/es-MX.json b/vendor/commerceguys/intl/resources/number_format/es-MX.json
new file mode 100644
index 000000000..a605145a8
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/es-MX.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/es-NI.json b/vendor/commerceguys/intl/resources/number_format/es-NI.json
new file mode 100644
index 000000000..a474daf71
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/es-NI.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/es-PA.json b/vendor/commerceguys/intl/resources/number_format/es-PA.json
new file mode 100644
index 000000000..a474daf71
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/es-PA.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/es-PE.json b/vendor/commerceguys/intl/resources/number_format/es-PE.json
new file mode 100644
index 000000000..a474daf71
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/es-PE.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/es-PR.json b/vendor/commerceguys/intl/resources/number_format/es-PR.json
new file mode 100644
index 000000000..a474daf71
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/es-PR.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/es-PY.json b/vendor/commerceguys/intl/resources/number_format/es-PY.json
new file mode 100644
index 000000000..27ffcde9a
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/es-PY.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "¤ #,##0.00;¤ -#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/es-SV.json b/vendor/commerceguys/intl/resources/number_format/es-SV.json
new file mode 100644
index 000000000..a474daf71
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/es-SV.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/es-US.json b/vendor/commerceguys/intl/resources/number_format/es-US.json
new file mode 100644
index 000000000..a474daf71
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/es-US.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/es-UY.json b/vendor/commerceguys/intl/resources/number_format/es-UY.json
new file mode 100644
index 000000000..b58b29cca
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/es-UY.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "¤ #,##0.00",
+ "accounting_currency_pattern": "¤ #,##0.00;(¤ #,##0.00)",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/es-VE.json b/vendor/commerceguys/intl/resources/number_format/es-VE.json
new file mode 100644
index 000000000..db4aa024b
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/es-VE.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "¤#,##0.00;¤-#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/es.json b/vendor/commerceguys/intl/resources/number_format/es.json
new file mode 100644
index 000000000..54df599a4
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/es.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/et.json b/vendor/commerceguys/intl/resources/number_format/et.json
new file mode 100644
index 000000000..c864faee6
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/et.json
@@ -0,0 +1,10 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤;(#,##0.00 ¤)",
+ "decimal_separator": ",",
+ "grouping_separator": " ",
+ "minus_sign": "−"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/eu.json b/vendor/commerceguys/intl/resources/number_format/eu.json
new file mode 100644
index 000000000..37104eb26
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/eu.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "% #,##0",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤;(#,##0.00 ¤)",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/fa-AF.json b/vendor/commerceguys/intl/resources/number_format/fa-AF.json
new file mode 100644
index 000000000..3c5fdc3b2
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/fa-AF.json
@@ -0,0 +1,12 @@
+{
+ "numbering_system": "arabext",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "% #,##0;% -#,##0",
+ "currency_pattern": "¤ #,##0.00",
+ "accounting_currency_pattern": "¤ #,##0.00;‎(¤ #,##0.00)",
+ "decimal_separator": "٫",
+ "grouping_separator": "٬",
+ "plus_sign": "‎+",
+ "minus_sign": "‎−",
+ "percent_sign": "‎٪"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/fa.json b/vendor/commerceguys/intl/resources/number_format/fa.json
new file mode 100644
index 000000000..e00541db5
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/fa.json
@@ -0,0 +1,12 @@
+{
+ "numbering_system": "arabext",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "% #,##0;% -#,##0",
+ "currency_pattern": "#,##0.00 ؜¤;؜-#,##0.00 ؜¤",
+ "accounting_currency_pattern": "‎¤ #,##0.00;‎(¤ #,##0.00)",
+ "decimal_separator": "٫",
+ "grouping_separator": "٬",
+ "plus_sign": "‎+",
+ "minus_sign": "‎−",
+ "percent_sign": "‎٪"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/ff.json b/vendor/commerceguys/intl/resources/number_format/ff.json
new file mode 100644
index 000000000..7ec8623e4
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/ff.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "decimal_separator": ",",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/fi.json b/vendor/commerceguys/intl/resources/number_format/fi.json
new file mode 100644
index 000000000..bffd52c75
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/fi.json
@@ -0,0 +1,10 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "decimal_separator": ",",
+ "grouping_separator": " ",
+ "minus_sign": "−"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/fil.json b/vendor/commerceguys/intl/resources/number_format/fil.json
new file mode 100644
index 000000000..b3c1634ea
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/fil.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/fo.json b/vendor/commerceguys/intl/resources/number_format/fo.json
new file mode 100644
index 000000000..0236c4142
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/fo.json
@@ -0,0 +1,10 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤;(#,##0.00 ¤)",
+ "decimal_separator": ",",
+ "grouping_separator": ".",
+ "minus_sign": "−"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/fr-CH.json b/vendor/commerceguys/intl/resources/number_format/fr-CH.json
new file mode 100644
index 000000000..5b320ddde
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/fr-CH.json
@@ -0,0 +1,8 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤ #,##0.00;¤-#,##0.00",
+ "accounting_currency_pattern": "#,##0.00 ¤;(#,##0.00 ¤)",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/fr-LU.json b/vendor/commerceguys/intl/resources/number_format/fr-LU.json
new file mode 100644
index 000000000..bcec14372
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/fr-LU.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤;(#,##0.00 ¤)",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/fr-MA.json b/vendor/commerceguys/intl/resources/number_format/fr-MA.json
new file mode 100644
index 000000000..bcec14372
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/fr-MA.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤;(#,##0.00 ¤)",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/fr.json b/vendor/commerceguys/intl/resources/number_format/fr.json
new file mode 100644
index 000000000..cc948e9d3
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/fr.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤;(#,##0.00 ¤)",
+ "decimal_separator": ",",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/fur.json b/vendor/commerceguys/intl/resources/number_format/fur.json
new file mode 100644
index 000000000..481a97b35
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/fur.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤ #,##0.00",
+ "accounting_currency_pattern": "¤ #,##0.00",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/fy.json b/vendor/commerceguys/intl/resources/number_format/fy.json
new file mode 100644
index 000000000..8721ea8e6
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/fy.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤ #,##0.00;¤ #,##0.00-",
+ "accounting_currency_pattern": "¤ #,##0.00;(¤ #,##0.00)",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/ga.json b/vendor/commerceguys/intl/resources/number_format/ga.json
new file mode 100644
index 000000000..b3c1634ea
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/ga.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/gd.json b/vendor/commerceguys/intl/resources/number_format/gd.json
new file mode 100644
index 000000000..b3c1634ea
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/gd.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/gl.json b/vendor/commerceguys/intl/resources/number_format/gl.json
new file mode 100644
index 000000000..54df599a4
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/gl.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/gsw.json b/vendor/commerceguys/intl/resources/number_format/gsw.json
new file mode 100644
index 000000000..20a76c709
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/gsw.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "grouping_separator": "’",
+ "minus_sign": "−"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/gu.json b/vendor/commerceguys/intl/resources/number_format/gu.json
new file mode 100644
index 000000000..b517c8f28
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/gu.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##,##0.###",
+ "percent_pattern": "#,##,##0%",
+ "currency_pattern": "¤#,##,##0.00",
+ "accounting_currency_pattern": "¤#,##,##0.00;(¤#,##,##0.00)"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/ha.json b/vendor/commerceguys/intl/resources/number_format/ha.json
new file mode 100644
index 000000000..0a0143208
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/ha.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤ #,##0.00",
+ "accounting_currency_pattern": "¤ #,##0.00"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/haw.json b/vendor/commerceguys/intl/resources/number_format/haw.json
new file mode 100644
index 000000000..b3c1634ea
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/haw.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/he.json b/vendor/commerceguys/intl/resources/number_format/he.json
new file mode 100644
index 000000000..e1b468abd
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/he.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "‏#,##0.00 ¤;‏-#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "plus_sign": "‎+",
+ "minus_sign": "‎-"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/hi.json b/vendor/commerceguys/intl/resources/number_format/hi.json
new file mode 100644
index 000000000..34c535d56
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/hi.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##,##0.###",
+ "percent_pattern": "#,##,##0%",
+ "currency_pattern": "¤#,##,##0.00",
+ "accounting_currency_pattern": "¤#,##,##0.00"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/hr.json b/vendor/commerceguys/intl/resources/number_format/hr.json
new file mode 100644
index 000000000..fe7da1e1a
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/hr.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/hsb.json b/vendor/commerceguys/intl/resources/number_format/hsb.json
new file mode 100644
index 000000000..54df599a4
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/hsb.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/hu.json b/vendor/commerceguys/intl/resources/number_format/hu.json
new file mode 100644
index 000000000..7ec8623e4
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/hu.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "decimal_separator": ",",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/hy.json b/vendor/commerceguys/intl/resources/number_format/hy.json
new file mode 100644
index 000000000..28881d5d4
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/hy.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤ #,##0.00",
+ "accounting_currency_pattern": "¤ #,##0.00",
+ "decimal_separator": ",",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/id.json b/vendor/commerceguys/intl/resources/number_format/id.json
new file mode 100644
index 000000000..d0aedd0fd
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/id.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/ig.json b/vendor/commerceguys/intl/resources/number_format/ig.json
new file mode 100644
index 000000000..b3c1634ea
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/ig.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/is.json b/vendor/commerceguys/intl/resources/number_format/is.json
new file mode 100644
index 000000000..fe7da1e1a
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/is.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/it-CH.json b/vendor/commerceguys/intl/resources/number_format/it-CH.json
new file mode 100644
index 000000000..71149a173
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/it-CH.json
@@ -0,0 +1,8 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤ #,##0.00;¤-#,##0.00",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "grouping_separator": "'"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/it.json b/vendor/commerceguys/intl/resources/number_format/it.json
new file mode 100644
index 000000000..fe7da1e1a
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/it.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/ja.json b/vendor/commerceguys/intl/resources/number_format/ja.json
new file mode 100644
index 000000000..b3c1634ea
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/ja.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/ka.json b/vendor/commerceguys/intl/resources/number_format/ka.json
new file mode 100644
index 000000000..d764f9629
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/ka.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "decimal_separator": ",",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/kab.json b/vendor/commerceguys/intl/resources/number_format/kab.json
new file mode 100644
index 000000000..a10f29339
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/kab.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00¤",
+ "accounting_currency_pattern": "#,##0.00¤",
+ "decimal_separator": ",",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/kea.json b/vendor/commerceguys/intl/resources/number_format/kea.json
new file mode 100644
index 000000000..4aa39197c
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/kea.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤;(#,##0.00 ¤)",
+ "decimal_separator": ",",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/khq.json b/vendor/commerceguys/intl/resources/number_format/khq.json
new file mode 100644
index 000000000..b7d12f088
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/khq.json
@@ -0,0 +1,8 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00¤",
+ "accounting_currency_pattern": "#,##0.00¤",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/kk.json b/vendor/commerceguys/intl/resources/number_format/kk.json
new file mode 100644
index 000000000..7ec8623e4
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/kk.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "decimal_separator": ",",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/km.json b/vendor/commerceguys/intl/resources/number_format/km.json
new file mode 100644
index 000000000..909deed5c
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/km.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00¤",
+ "accounting_currency_pattern": "#,##0.00¤;(#,##0.00¤)",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/kn.json b/vendor/commerceguys/intl/resources/number_format/kn.json
new file mode 100644
index 000000000..b3c1634ea
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/kn.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/ko.json b/vendor/commerceguys/intl/resources/number_format/ko.json
new file mode 100644
index 000000000..b3c1634ea
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/ko.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/kok.json b/vendor/commerceguys/intl/resources/number_format/kok.json
new file mode 100644
index 000000000..a844ebdb7
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/kok.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##,##0.###",
+ "percent_pattern": "#,##,##0%",
+ "currency_pattern": "¤ #,##,##0.00",
+ "accounting_currency_pattern": "¤ #,##,##0.00"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/ks.json b/vendor/commerceguys/intl/resources/number_format/ks.json
new file mode 100644
index 000000000..f9e5ac0b6
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/ks.json
@@ -0,0 +1,12 @@
+{
+ "numbering_system": "arabext",
+ "decimal_pattern": "#,##,##0.###",
+ "percent_pattern": "#,##,##0%",
+ "currency_pattern": "¤ #,##,##0.00",
+ "accounting_currency_pattern": "¤ #,##,##0.00",
+ "decimal_separator": "٫",
+ "grouping_separator": "٬",
+ "plus_sign": "‎+‎",
+ "minus_sign": "‎-‎",
+ "percent_sign": "٪"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/ksf.json b/vendor/commerceguys/intl/resources/number_format/ksf.json
new file mode 100644
index 000000000..7ec8623e4
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/ksf.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "decimal_separator": ",",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/ksh.json b/vendor/commerceguys/intl/resources/number_format/ksh.json
new file mode 100644
index 000000000..bffd52c75
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/ksh.json
@@ -0,0 +1,10 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "decimal_separator": ",",
+ "grouping_separator": " ",
+ "minus_sign": "−"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/ky.json b/vendor/commerceguys/intl/resources/number_format/ky.json
new file mode 100644
index 000000000..7ec8623e4
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/ky.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "decimal_separator": ",",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/lb.json b/vendor/commerceguys/intl/resources/number_format/lb.json
new file mode 100644
index 000000000..54df599a4
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/lb.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/lg.json b/vendor/commerceguys/intl/resources/number_format/lg.json
new file mode 100644
index 000000000..f073f08bc
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/lg.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00¤",
+ "accounting_currency_pattern": "#,##0.00¤"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/lkt.json b/vendor/commerceguys/intl/resources/number_format/lkt.json
new file mode 100644
index 000000000..0a0143208
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/lkt.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤ #,##0.00",
+ "accounting_currency_pattern": "¤ #,##0.00"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/lo.json b/vendor/commerceguys/intl/resources/number_format/lo.json
new file mode 100644
index 000000000..3edeff296
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/lo.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00;¤-#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;¤-#,##0.00",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/lrc.json b/vendor/commerceguys/intl/resources/number_format/lrc.json
new file mode 100644
index 000000000..09b1b5580
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/lrc.json
@@ -0,0 +1,12 @@
+{
+ "numbering_system": "arabext",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤ #,##0.00",
+ "accounting_currency_pattern": "¤ #,##0.00",
+ "decimal_separator": "٫",
+ "grouping_separator": "٬",
+ "plus_sign": "‎+‎",
+ "minus_sign": "‎-‎",
+ "percent_sign": "٪"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/lt.json b/vendor/commerceguys/intl/resources/number_format/lt.json
new file mode 100644
index 000000000..bffd52c75
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/lt.json
@@ -0,0 +1,10 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "decimal_separator": ",",
+ "grouping_separator": " ",
+ "minus_sign": "−"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/lu.json b/vendor/commerceguys/intl/resources/number_format/lu.json
new file mode 100644
index 000000000..a2d874ad7
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/lu.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00¤",
+ "accounting_currency_pattern": "#,##0.00¤",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/luo.json b/vendor/commerceguys/intl/resources/number_format/luo.json
new file mode 100644
index 000000000..f073f08bc
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/luo.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00¤",
+ "accounting_currency_pattern": "#,##0.00¤"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/luy.json b/vendor/commerceguys/intl/resources/number_format/luy.json
new file mode 100644
index 000000000..f3c92659a
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/luy.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00;¤- #,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;¤- #,##0.00"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/lv.json b/vendor/commerceguys/intl/resources/number_format/lv.json
new file mode 100644
index 000000000..7ec8623e4
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/lv.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "decimal_separator": ",",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/mas.json b/vendor/commerceguys/intl/resources/number_format/mas.json
new file mode 100644
index 000000000..b3c1634ea
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/mas.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/mfe.json b/vendor/commerceguys/intl/resources/number_format/mfe.json
new file mode 100644
index 000000000..aae5bc3c6
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/mfe.json
@@ -0,0 +1,8 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤ #,##0.00",
+ "accounting_currency_pattern": "¤ #,##0.00",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/mg.json b/vendor/commerceguys/intl/resources/number_format/mg.json
new file mode 100644
index 000000000..1b6a035e1
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/mg.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤ #,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/mgh.json b/vendor/commerceguys/intl/resources/number_format/mgh.json
new file mode 100644
index 000000000..481a97b35
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/mgh.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤ #,##0.00",
+ "accounting_currency_pattern": "¤ #,##0.00",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/mk.json b/vendor/commerceguys/intl/resources/number_format/mk.json
new file mode 100644
index 000000000..fe7da1e1a
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/mk.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/ml.json b/vendor/commerceguys/intl/resources/number_format/ml.json
new file mode 100644
index 000000000..64fade601
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/ml.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/mn.json b/vendor/commerceguys/intl/resources/number_format/mn.json
new file mode 100644
index 000000000..0a0143208
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/mn.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤ #,##0.00",
+ "accounting_currency_pattern": "¤ #,##0.00"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/mr.json b/vendor/commerceguys/intl/resources/number_format/mr.json
new file mode 100644
index 000000000..35fd89d8c
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/mr.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "deva",
+ "decimal_pattern": "#,##,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/ms-BN.json b/vendor/commerceguys/intl/resources/number_format/ms-BN.json
new file mode 100644
index 000000000..d4447e2e1
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/ms-BN.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤ #,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/ms.json b/vendor/commerceguys/intl/resources/number_format/ms.json
new file mode 100644
index 000000000..b3c1634ea
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/ms.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/mt.json b/vendor/commerceguys/intl/resources/number_format/mt.json
new file mode 100644
index 000000000..a605145a8
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/mt.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/mua.json b/vendor/commerceguys/intl/resources/number_format/mua.json
new file mode 100644
index 000000000..55f79831a
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/mua.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/my.json b/vendor/commerceguys/intl/resources/number_format/my.json
new file mode 100644
index 000000000..6f751a084
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/my.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "¤ #,##0.00"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/mzn.json b/vendor/commerceguys/intl/resources/number_format/mzn.json
new file mode 100644
index 000000000..09b1b5580
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/mzn.json
@@ -0,0 +1,12 @@
+{
+ "numbering_system": "arabext",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤ #,##0.00",
+ "accounting_currency_pattern": "¤ #,##0.00",
+ "decimal_separator": "٫",
+ "grouping_separator": "٬",
+ "plus_sign": "‎+‎",
+ "minus_sign": "‎-‎",
+ "percent_sign": "٪"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/naq.json b/vendor/commerceguys/intl/resources/number_format/naq.json
new file mode 100644
index 000000000..a605145a8
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/naq.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/nb.json b/vendor/commerceguys/intl/resources/number_format/nb.json
new file mode 100644
index 000000000..15d9da960
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/nb.json
@@ -0,0 +1,10 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "¤ #,##0.00",
+ "accounting_currency_pattern": "¤ #,##0.00",
+ "decimal_separator": ",",
+ "grouping_separator": " ",
+ "minus_sign": "−"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/nds.json b/vendor/commerceguys/intl/resources/number_format/nds.json
new file mode 100644
index 000000000..0a0143208
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/nds.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤ #,##0.00",
+ "accounting_currency_pattern": "¤ #,##0.00"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/ne.json b/vendor/commerceguys/intl/resources/number_format/ne.json
new file mode 100644
index 000000000..ec6a40806
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/ne.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "deva",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤ #,##0.00",
+ "accounting_currency_pattern": "¤ #,##0.00"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/nl-BE.json b/vendor/commerceguys/intl/resources/number_format/nl-BE.json
new file mode 100644
index 000000000..65cec23a8
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/nl-BE.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "¤ #,##0.00;(¤ #,##0.00)",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/nl.json b/vendor/commerceguys/intl/resources/number_format/nl.json
new file mode 100644
index 000000000..b02be0cc4
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/nl.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤ #,##0.00;¤ -#,##0.00",
+ "accounting_currency_pattern": "¤ #,##0.00;(¤ #,##0.00)",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/nn.json b/vendor/commerceguys/intl/resources/number_format/nn.json
new file mode 100644
index 000000000..bffd52c75
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/nn.json
@@ -0,0 +1,10 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "decimal_separator": ",",
+ "grouping_separator": " ",
+ "minus_sign": "−"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/nyn.json b/vendor/commerceguys/intl/resources/number_format/nyn.json
new file mode 100644
index 000000000..a605145a8
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/nyn.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/om.json b/vendor/commerceguys/intl/resources/number_format/om.json
new file mode 100644
index 000000000..a605145a8
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/om.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/or.json b/vendor/commerceguys/intl/resources/number_format/or.json
new file mode 100644
index 000000000..a844ebdb7
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/or.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##,##0.###",
+ "percent_pattern": "#,##,##0%",
+ "currency_pattern": "¤ #,##,##0.00",
+ "accounting_currency_pattern": "¤ #,##,##0.00"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/pa-Arab.json b/vendor/commerceguys/intl/resources/number_format/pa-Arab.json
new file mode 100644
index 000000000..09b1b5580
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/pa-Arab.json
@@ -0,0 +1,12 @@
+{
+ "numbering_system": "arabext",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤ #,##0.00",
+ "accounting_currency_pattern": "¤ #,##0.00",
+ "decimal_separator": "٫",
+ "grouping_separator": "٬",
+ "plus_sign": "‎+‎",
+ "minus_sign": "‎-‎",
+ "percent_sign": "٪"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/pa.json b/vendor/commerceguys/intl/resources/number_format/pa.json
new file mode 100644
index 000000000..8ff4288aa
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/pa.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##,##0.###",
+ "percent_pattern": "#,##,##0%",
+ "currency_pattern": "¤ #,##,##0.00",
+ "accounting_currency_pattern": "¤ #,##0.00"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/pl.json b/vendor/commerceguys/intl/resources/number_format/pl.json
new file mode 100644
index 000000000..4aa39197c
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/pl.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤;(#,##0.00 ¤)",
+ "decimal_separator": ",",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/prg.json b/vendor/commerceguys/intl/resources/number_format/prg.json
new file mode 100644
index 000000000..0a0143208
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/prg.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤ #,##0.00",
+ "accounting_currency_pattern": "¤ #,##0.00"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/pt-AO.json b/vendor/commerceguys/intl/resources/number_format/pt-AO.json
new file mode 100644
index 000000000..4aa39197c
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/pt-AO.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤;(#,##0.00 ¤)",
+ "decimal_separator": ",",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/pt-CH.json b/vendor/commerceguys/intl/resources/number_format/pt-CH.json
new file mode 100644
index 000000000..4aa39197c
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/pt-CH.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤;(#,##0.00 ¤)",
+ "decimal_separator": ",",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/pt-CV.json b/vendor/commerceguys/intl/resources/number_format/pt-CV.json
new file mode 100644
index 000000000..4aa39197c
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/pt-CV.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤;(#,##0.00 ¤)",
+ "decimal_separator": ",",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/pt-GQ.json b/vendor/commerceguys/intl/resources/number_format/pt-GQ.json
new file mode 100644
index 000000000..4aa39197c
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/pt-GQ.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤;(#,##0.00 ¤)",
+ "decimal_separator": ",",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/pt-GW.json b/vendor/commerceguys/intl/resources/number_format/pt-GW.json
new file mode 100644
index 000000000..4aa39197c
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/pt-GW.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤;(#,##0.00 ¤)",
+ "decimal_separator": ",",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/pt-LU.json b/vendor/commerceguys/intl/resources/number_format/pt-LU.json
new file mode 100644
index 000000000..4aa39197c
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/pt-LU.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤;(#,##0.00 ¤)",
+ "decimal_separator": ",",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/pt-MO.json b/vendor/commerceguys/intl/resources/number_format/pt-MO.json
new file mode 100644
index 000000000..4aa39197c
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/pt-MO.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤;(#,##0.00 ¤)",
+ "decimal_separator": ",",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/pt-MZ.json b/vendor/commerceguys/intl/resources/number_format/pt-MZ.json
new file mode 100644
index 000000000..4aa39197c
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/pt-MZ.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤;(#,##0.00 ¤)",
+ "decimal_separator": ",",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/pt-PT.json b/vendor/commerceguys/intl/resources/number_format/pt-PT.json
new file mode 100644
index 000000000..4aa39197c
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/pt-PT.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤;(#,##0.00 ¤)",
+ "decimal_separator": ",",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/pt-ST.json b/vendor/commerceguys/intl/resources/number_format/pt-ST.json
new file mode 100644
index 000000000..4aa39197c
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/pt-ST.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤;(#,##0.00 ¤)",
+ "decimal_separator": ",",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/pt-TL.json b/vendor/commerceguys/intl/resources/number_format/pt-TL.json
new file mode 100644
index 000000000..4aa39197c
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/pt-TL.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤;(#,##0.00 ¤)",
+ "decimal_separator": ",",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/pt.json b/vendor/commerceguys/intl/resources/number_format/pt.json
new file mode 100644
index 000000000..55f79831a
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/pt.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/qu-BO.json b/vendor/commerceguys/intl/resources/number_format/qu-BO.json
new file mode 100644
index 000000000..59036076f
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/qu-BO.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "¤ #,##0.00",
+ "accounting_currency_pattern": "¤ #,##0.00",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/qu.json b/vendor/commerceguys/intl/resources/number_format/qu.json
new file mode 100644
index 000000000..3c705cf05
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/qu.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "¤ #,##0.00",
+ "accounting_currency_pattern": "¤ #,##0.00"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/rm.json b/vendor/commerceguys/intl/resources/number_format/rm.json
new file mode 100644
index 000000000..20a76c709
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/rm.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "grouping_separator": "’",
+ "minus_sign": "−"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/rn.json b/vendor/commerceguys/intl/resources/number_format/rn.json
new file mode 100644
index 000000000..c441018b7
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/rn.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "#,##0.00¤",
+ "accounting_currency_pattern": "#,##0.00¤",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/ro.json b/vendor/commerceguys/intl/resources/number_format/ro.json
new file mode 100644
index 000000000..bcec14372
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/ro.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤;(#,##0.00 ¤)",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/rof.json b/vendor/commerceguys/intl/resources/number_format/rof.json
new file mode 100644
index 000000000..a605145a8
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/rof.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/ru.json b/vendor/commerceguys/intl/resources/number_format/ru.json
new file mode 100644
index 000000000..d764f9629
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/ru.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "decimal_separator": ",",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/rw.json b/vendor/commerceguys/intl/resources/number_format/rw.json
new file mode 100644
index 000000000..481a97b35
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/rw.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤ #,##0.00",
+ "accounting_currency_pattern": "¤ #,##0.00",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/se.json b/vendor/commerceguys/intl/resources/number_format/se.json
new file mode 100644
index 000000000..bffd52c75
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/se.json
@@ -0,0 +1,10 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "decimal_separator": ",",
+ "grouping_separator": " ",
+ "minus_sign": "−"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/seh.json b/vendor/commerceguys/intl/resources/number_format/seh.json
new file mode 100644
index 000000000..a2d874ad7
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/seh.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00¤",
+ "accounting_currency_pattern": "#,##0.00¤",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/ses.json b/vendor/commerceguys/intl/resources/number_format/ses.json
new file mode 100644
index 000000000..b7d12f088
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/ses.json
@@ -0,0 +1,8 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00¤",
+ "accounting_currency_pattern": "#,##0.00¤",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/sg.json b/vendor/commerceguys/intl/resources/number_format/sg.json
new file mode 100644
index 000000000..3edeff296
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/sg.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00;¤-#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;¤-#,##0.00",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/si.json b/vendor/commerceguys/intl/resources/number_format/si.json
new file mode 100644
index 000000000..b3c1634ea
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/si.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/sk.json b/vendor/commerceguys/intl/resources/number_format/sk.json
new file mode 100644
index 000000000..cc948e9d3
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/sk.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤;(#,##0.00 ¤)",
+ "decimal_separator": ",",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/sl.json b/vendor/commerceguys/intl/resources/number_format/sl.json
new file mode 100644
index 000000000..7acfea5e6
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/sl.json
@@ -0,0 +1,10 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤;(#,##0.00 ¤)",
+ "decimal_separator": ",",
+ "grouping_separator": ".",
+ "minus_sign": "–"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/smn.json b/vendor/commerceguys/intl/resources/number_format/smn.json
new file mode 100644
index 000000000..d764f9629
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/smn.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "decimal_separator": ",",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/so.json b/vendor/commerceguys/intl/resources/number_format/so.json
new file mode 100644
index 000000000..a605145a8
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/so.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/sq.json b/vendor/commerceguys/intl/resources/number_format/sq.json
new file mode 100644
index 000000000..4aa39197c
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/sq.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤;(#,##0.00 ¤)",
+ "decimal_separator": ",",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/sr.json b/vendor/commerceguys/intl/resources/number_format/sr.json
new file mode 100644
index 000000000..c30bdc3aa
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/sr.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤;(#,##0.00 ¤)",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/sv.json b/vendor/commerceguys/intl/resources/number_format/sv.json
new file mode 100644
index 000000000..bffd52c75
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/sv.json
@@ -0,0 +1,10 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "decimal_separator": ",",
+ "grouping_separator": " ",
+ "minus_sign": "−"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/sw-CD.json b/vendor/commerceguys/intl/resources/number_format/sw-CD.json
new file mode 100644
index 000000000..55f79831a
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/sw-CD.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/sw.json b/vendor/commerceguys/intl/resources/number_format/sw.json
new file mode 100644
index 000000000..b3c1634ea
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/sw.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/ta-MY.json b/vendor/commerceguys/intl/resources/number_format/ta-MY.json
new file mode 100644
index 000000000..0a1522d84
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/ta-MY.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤ #,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/ta-SG.json b/vendor/commerceguys/intl/resources/number_format/ta-SG.json
new file mode 100644
index 000000000..0a1522d84
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/ta-SG.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤ #,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/ta.json b/vendor/commerceguys/intl/resources/number_format/ta.json
new file mode 100644
index 000000000..c79ed0085
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/ta.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##,##0.###",
+ "percent_pattern": "#,##,##0%",
+ "currency_pattern": "¤ #,##,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/te.json b/vendor/commerceguys/intl/resources/number_format/te.json
new file mode 100644
index 000000000..31d689256
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/te.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##,##0.00",
+ "accounting_currency_pattern": "¤#,##,##0.00;(¤#,##,##0.00)"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/th.json b/vendor/commerceguys/intl/resources/number_format/th.json
new file mode 100644
index 000000000..b3c1634ea
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/th.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/ti.json b/vendor/commerceguys/intl/resources/number_format/ti.json
new file mode 100644
index 000000000..a605145a8
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/ti.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/tk.json b/vendor/commerceguys/intl/resources/number_format/tk.json
new file mode 100644
index 000000000..d764f9629
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/tk.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "decimal_separator": ",",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/to.json b/vendor/commerceguys/intl/resources/number_format/to.json
new file mode 100644
index 000000000..0a0143208
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/to.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤ #,##0.00",
+ "accounting_currency_pattern": "¤ #,##0.00"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/tr.json b/vendor/commerceguys/intl/resources/number_format/tr.json
new file mode 100644
index 000000000..51e11a488
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/tr.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "%#,##0",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/twq.json b/vendor/commerceguys/intl/resources/number_format/twq.json
new file mode 100644
index 000000000..b7d12f088
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/twq.json
@@ -0,0 +1,8 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00¤",
+ "accounting_currency_pattern": "#,##0.00¤",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/tzm.json b/vendor/commerceguys/intl/resources/number_format/tzm.json
new file mode 100644
index 000000000..7ec8623e4
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/tzm.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "decimal_separator": ",",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/ug.json b/vendor/commerceguys/intl/resources/number_format/ug.json
new file mode 100644
index 000000000..b3c1634ea
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/ug.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/uk.json b/vendor/commerceguys/intl/resources/number_format/uk.json
new file mode 100644
index 000000000..8621389e4
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/uk.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00¤;(#,##0.00¤)",
+ "decimal_separator": ",",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/ur-IN.json b/vendor/commerceguys/intl/resources/number_format/ur-IN.json
new file mode 100644
index 000000000..0d180566d
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/ur-IN.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "arabext",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤ #,##,##0.00",
+ "accounting_currency_pattern": "¤ #,##,##0.00",
+ "plus_sign": "‎+‎",
+ "minus_sign": "‎-‎"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/ur.json b/vendor/commerceguys/intl/resources/number_format/ur.json
new file mode 100644
index 000000000..019972cbc
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/ur.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##,##0%",
+ "currency_pattern": "¤ #,##,##0.00",
+ "accounting_currency_pattern": "¤ #,##,##0.00",
+ "plus_sign": "‎+",
+ "minus_sign": "‎-"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/uz-Arab.json b/vendor/commerceguys/intl/resources/number_format/uz-Arab.json
new file mode 100644
index 000000000..09b1b5580
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/uz-Arab.json
@@ -0,0 +1,12 @@
+{
+ "numbering_system": "arabext",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤ #,##0.00",
+ "accounting_currency_pattern": "¤ #,##0.00",
+ "decimal_separator": "٫",
+ "grouping_separator": "٬",
+ "plus_sign": "‎+‎",
+ "minus_sign": "‎-‎",
+ "percent_sign": "٪"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/uz.json b/vendor/commerceguys/intl/resources/number_format/uz.json
new file mode 100644
index 000000000..7ec8623e4
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/uz.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "decimal_separator": ",",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/vi.json b/vendor/commerceguys/intl/resources/number_format/vi.json
new file mode 100644
index 000000000..c889e5944
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/vi.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤ #,##0.00",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/vo.json b/vendor/commerceguys/intl/resources/number_format/vo.json
new file mode 100644
index 000000000..0a0143208
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/vo.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤ #,##0.00",
+ "accounting_currency_pattern": "¤ #,##0.00"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/wae.json b/vendor/commerceguys/intl/resources/number_format/wae.json
new file mode 100644
index 000000000..e18dfb8d1
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/wae.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤ #,##0.00",
+ "accounting_currency_pattern": "¤ #,##0.00",
+ "decimal_separator": ",",
+ "grouping_separator": "’"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/yav.json b/vendor/commerceguys/intl/resources/number_format/yav.json
new file mode 100644
index 000000000..4aa39197c
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/yav.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤;(#,##0.00 ¤)",
+ "decimal_separator": ",",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/yi.json b/vendor/commerceguys/intl/resources/number_format/yi.json
new file mode 100644
index 000000000..0a0143208
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/yi.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤ #,##0.00",
+ "accounting_currency_pattern": "¤ #,##0.00"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/yo.json b/vendor/commerceguys/intl/resources/number_format/yo.json
new file mode 100644
index 000000000..b3c1634ea
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/yo.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/yue.json b/vendor/commerceguys/intl/resources/number_format/yue.json
new file mode 100644
index 000000000..b3c1634ea
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/yue.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/zh.json b/vendor/commerceguys/intl/resources/number_format/zh.json
new file mode 100644
index 000000000..b3c1634ea
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/zh.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/zu.json b/vendor/commerceguys/intl/resources/number_format/zu.json
new file mode 100644
index 000000000..b3c1634ea
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/zu.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/scripts/country/generate.php b/vendor/commerceguys/intl/scripts/country/generate.php
new file mode 100644
index 000000000..ce156919a
--- /dev/null
+++ b/vendor/commerceguys/intl/scripts/country/generate.php
@@ -0,0 +1,216 @@
+<?php
+
+/**
+ * Generates the json files stored in resources/country.
+ */
+set_time_limit(0);
+
+// Downloaded from https://github.com/unicode-cldr/cldr-localenames-full.git
+$localeDirectory = '../assets/cldr-localenames-full/main/';
+$enCountries = $localeDirectory . 'en/territories.json';
+// Downloaded from https://github.com/unicode-cldr/cldr-core.git
+$codeMappings = '../assets/cldr-core/supplemental/codeMappings.json';
+$currencyData = '../assets/cldr-core/supplemental/currencyData.json';
+if (!file_exists($enCountries)) {
+ die("The $enCountries file was not found");
+}
+if (!file_exists($codeMappings)) {
+ die("The $codeMappings file was not found");
+}
+if (!file_exists($currencyData)) {
+ die("The $currencyData file was not found");
+}
+if (!function_exists('collator_create')) {
+ // Reimplementing intl's collator would be a huge undertaking, so we
+ // use it instead to presort the generated locale specific data.
+ die('The intl extension was not found.');
+}
+if (!is_dir($localeDirectory)) {
+ die("The $localeDirectory directory was not found");
+}
+
+$ignoredCountries = [
+ 'AN', // Netherlands Antilles, no longer exists.
+ 'BV', 'HM', 'CP', // Uninhabited islands.
+ 'EU', 'QO', // European Union, Outlying Oceania. Not countries.
+ 'ZZ', // Unknown region
+];
+
+// Locales listed without a "-" match all variants.
+// Locales listed with a "-" match only those exact ones.
+$ignoredLocales = [
+ // Interlingua is a made up language.
+ 'ia',
+ // Valencian differs from its parent only by a single character (è/é).
+ 'ca-ES-VALENCIA',
+ // Special "grouping" locales.
+ 'root', 'en-US-POSIX', 'en-001', 'en-150', 'es-419',
+];
+
+// Assemble the base data. Use the "en" data to get a list of countries.
+$codeMappings = json_decode(file_get_contents($codeMappings), true);
+$codeMappings = $codeMappings['supplemental']['codeMappings'];
+$currencyData = json_decode(file_get_contents($currencyData), true);
+$currencyData = $currencyData['supplemental']['currencyData'];
+$countryData = json_decode(file_get_contents($enCountries), true);
+$countryData = $countryData['main']['en']['localeDisplayNames']['territories'];
+$baseData = [];
+foreach ($countryData as $countryCode => $countryName) {
+ if (is_numeric($countryCode) || in_array($countryCode, $ignoredCountries)) {
+ // Ignore continents, regions, uninhabited islands.
+ continue;
+ }
+ if (strpos($countryCode, '-alt-') !== false) {
+ // Ignore alternative names.
+ continue;
+ }
+
+ // Countries are not guaranteed to have an alpha3 and/or numeric code.
+ if (isset($codeMappings[$countryCode]['_alpha3'])) {
+ $baseData[$countryCode]['three_letter_code'] = $codeMappings[$countryCode]['_alpha3'];
+ }
+ if (isset($codeMappings[$countryCode]['_numeric'])) {
+ $baseData[$countryCode]['numeric_code'] = $codeMappings[$countryCode]['_numeric'];
+ }
+
+ // Determine the current currency for this country.
+ if (isset($currencyData['region'][$countryCode])) {
+ $currencies = prepare_currencies($currencyData['region'][$countryCode]);
+ if ($currencies) {
+ $currentCurrency = end(array_keys($currencies));
+ $baseData[$countryCode]['currency_code'] = $currentCurrency;
+ }
+ }
+}
+
+// Write out base.json.
+ksort($baseData);
+file_put_json('base.json', $baseData);
+
+// Gather available locales.
+$locales = [];
+if ($handle = opendir($localeDirectory)) {
+ while (false !== ($entry = readdir($handle))) {
+ if (substr($entry, 0, 1) != '.') {
+ $entryParts = explode('-', $entry);
+ if (!in_array($entry, $ignoredLocales) && !in_array($entryParts[0], $ignoredLocales)) {
+ $locales[] = $entry;
+ }
+ }
+ }
+ closedir($handle);
+}
+
+// Create the localizations.
+$countries = [];
+$untranslatedCounts = [];
+foreach ($locales as $locale) {
+ $data = json_decode(file_get_contents($localeDirectory . $locale . '/territories.json'), true);
+ $data = $data['main'][$locale]['localeDisplayNames']['territories'];
+ foreach ($data as $countryCode => $countryName) {
+ if (isset($baseData[$countryCode])) {
+ // This country name is untranslated, use the english version.
+ if ($countryCode == str_replace('_', '-', $countryName)) {
+ $countryName = $countryData[$countryCode];
+ // Maintain a count of untranslated countries per locale.
+ $untranslatedCounts += [$locale => 0];
+ $untranslatedCounts[$locale]++;
+ }
+
+ $countries[$locale][$countryCode] = [
+ 'name' => $countryName,
+ ];
+ }
+ }
+}
+
+// Ignore locales that are more than 80% untranslated.
+foreach ($untranslatedCounts as $locale => $count) {
+ $totalCount = count($countries[$locale]);
+ $untranslatedPercentage = $count * (100 / $totalCount);
+ if ($untranslatedPercentage >= 80) {
+ unset($countries[$locale]);
+ }
+}
+
+// Identify localizations that are the same as the ones for the parent locale.
+// For example, "fr-FR" if "fr" has the same data.
+$duplicates = [];
+foreach ($countries as $locale => $localizedCountries) {
+ if (strpos($locale, '-') !== false) {
+ $localeParts = explode('-', $locale);
+ array_pop($localeParts);
+ $parentLocale = implode('-', $localeParts);
+ $diff = array_udiff($localizedCountries, $countries[$parentLocale], function ($first, $second) {
+ return ($first['name'] == $second['name']) ? 0 : 1;
+ });
+
+ if (empty($diff)) {
+ // The duplicates are not removed right away because they might
+ // still be needed for other duplicate checks (for example,
+ // when there are locales like bs-Latn-BA, bs-Latn, bs).
+ $duplicates[] = $locale;
+ }
+ }
+}
+// Remove the duplicates.
+foreach ($duplicates as $locale) {
+ unset($countries[$locale]);
+}
+
+// Write out the localizations.
+foreach ($countries as $locale => $localizedCountries) {
+ $collator = collator_create($locale);
+ uasort($localizedCountries, function ($a, $b) use ($collator) {
+ return collator_compare($collator, $a['name'], $b['name']);
+ });
+ file_put_json($locale . '.json', $localizedCountries);
+}
+
+/**
+ * Converts the provided data into json and writes it to the disk.
+ */
+function file_put_json($filename, $data)
+{
+ $data = json_encode($data, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE);
+ // Indenting with tabs instead of 4 spaces gives us 20% smaller files.
+ $data = str_replace(' ', "\t", $data);
+ file_put_contents($filename, $data);
+}
+
+/**
+ * Prepares the currencies for a specific country.
+ */
+function prepare_currencies($currencies) {
+ if (empty($currencies)) {
+ return [];
+ }
+ // Rekey the array by currency code.
+ foreach ($currencies as $index => $realCurrencies) {
+ foreach ($realCurrencies as $currencyCode => $currency) {
+ $currencies[$currencyCode] = $currency;
+ }
+ unset($currencies[$index]);
+ }
+ // Remove non-tender currencies.
+ $currencies = array_filter($currencies, function ($currency) {
+ return !isset($currency['_tender']) || $currency['_tender'] != 'false';
+ });
+ // Sort by _from date.
+ uasort($currencies, 'compare_from_dates');
+
+ return $currencies;
+}
+
+/**
+ * uasort callback for comparing arrays using their "_from" dates.
+ */
+function compare_from_dates($a, $b) {
+ $a = new DateTime($a['_from']);
+ $b = new DateTime($b['_from']);
+ // DateTime overloads the comparison providers.
+ if ($a == $b) {
+ return 0;
+ }
+ return ($a < $b) ? -1 : 1;
+}
diff --git a/vendor/commerceguys/intl/scripts/currency/generate.php b/vendor/commerceguys/intl/scripts/currency/generate.php
new file mode 100644
index 000000000..63f0ef302
--- /dev/null
+++ b/vendor/commerceguys/intl/scripts/currency/generate.php
@@ -0,0 +1,192 @@
+<?php
+
+/**
+ * Generates the json files stored in resources/currency.
+ *
+ * The ISO currency list is used as a base, since it doesn't contain
+ * deprecated currencies, unlike CLDR (v25 has 139 deprecated entries).
+ */
+set_time_limit(0);
+
+// Downloaded from http://www.currency-iso.org/en/home/tables/table-a1.html
+$isoCurrencies = '../assets/c2.xml';
+// Downloaded from https://github.com/unicode-cldr/cldr-numbers-full.git
+$numbersDirectory = '../assets/cldr-numbers-full/main/';
+$cldrCurrencies = $numbersDirectory . 'en/currencies.json';
+// Downloaded from https://github.com/unicode-cldr/cldr-core.git
+$currencyData = '../assets/cldr-core/supplemental/currencyData.json';
+// Downloaded from https://github.com/unicode-cldr/cldr-localenames-full.git
+$localeDirectory = '../assets/cldr-localenames-full/main/';
+if (!file_exists($isoCurrencies)) {
+ die("The $isoCurrencies file was not found");
+}
+if (!file_exists($cldrCurrencies)) {
+ die("The $cldrCurrencies file was not found");
+}
+if (!file_exists($currencyData)) {
+ die("The $currencyData file was not found");
+}
+if (!function_exists('collator_create')) {
+ // Reimplementing intl's collator would be a huge undertaking, so we
+ // use it instead to presort the generated locale specific data.
+ die('The intl extension was not found.');
+}
+if (!is_dir($localeDirectory)) {
+ die("The $localeDirectory directory was not found");
+}
+if (!is_dir($numbersDirectory)) {
+ die("The $numbersDirectory directory was not found");
+}
+
+// Locales listed without a "-" match all variants.
+// Locales listed with a "-" match only those exact ones.
+$ignoredLocales = [
+ // Interlingua is a made up language.
+ 'ia',
+ // Valencian differs from its parent only by a single character (è/é).
+ 'ca-ES-VALENCIA',
+ // Special "grouping" locales.
+ 'root', 'en-US-POSIX', 'en-001', 'en-150', 'es-419',
+];
+
+// Assemble the base data.
+$baseData = [];
+$currencyData = json_decode(file_get_contents($currencyData), true);
+$currencyData = $currencyData['supplemental']['currencyData']['fractions'];
+$isoData = simplexml_load_file($isoCurrencies);
+foreach ($isoData->CcyTbl->CcyNtry as $currency) {
+ $attributes = (array) $currency->CcyNm->attributes();
+ if (!empty($attributes) && !empty($attributes['@attributes']['IsFund'])) {
+ // Ignore funds.
+ continue;
+ }
+ $currency = (array) $currency;
+ if (empty($currency['Ccy'])) {
+ // Ignore placeholders like "Antarctica".
+ continue;
+ }
+ if (substr($currency['CtryNm'], 0, 2) == 'ZZ' || in_array($currency['Ccy'], ['XUA', 'XSU', 'XDR'])) {
+ // Ignore special currencies.
+ continue;
+ }
+
+ $currencyCode = $currency['Ccy'];
+ $baseData[$currencyCode] = [
+ 'numeric_code' => $currency['CcyNbr'],
+ ];
+ // Take the fraction digits from CLDR, not ISO, because it reflects real
+ // life usage more closely. If the digits aren't set, that means that the
+ // default value (2) should be used.
+ if (isset($currencyData[$currencyCode]['_digits'])) {
+ $fractionDigits = $currencyData[$currencyCode]['_digits'];
+ if ($fractionDigits != 2) {
+ $baseData[$currencyCode]['fraction_digits'] = $fractionDigits;
+ }
+ }
+}
+
+// Write out base.json.
+ksort($baseData);
+file_put_json('base.json', $baseData);
+
+// Gather available locales.
+$locales = [];
+if ($handle = opendir($localeDirectory)) {
+ while (false !== ($entry = readdir($handle))) {
+ if (substr($entry, 0, 1) != '.') {
+ $entryParts = explode('-', $entry);
+ if (!in_array($entry, $ignoredLocales) && !in_array($entryParts[0], $ignoredLocales)) {
+ $locales[] = $entry;
+ }
+ }
+ }
+ closedir($handle);
+}
+
+// Make sure 'en' is processed first so that it can be used as a fallback.
+$index = array_search('en', $locales);
+unset($locales[$index]);
+array_unshift($locales, 'en');
+
+// Create the localizations.
+$currencies = [];
+$untranslatedCounts = [];
+foreach ($locales as $locale) {
+ $data = json_decode(file_get_contents($numbersDirectory . $locale . '/currencies.json'), true);
+ $data = $data['main'][$locale]['numbers']['currencies'];
+ foreach ($data as $currencyCode => $currency) {
+ if (isset($baseData[$currencyCode])) {
+ $currencyName = $currency['displayName'];
+ // This currency name is untranslated, use the english version.
+ if ($currencyCode == $currencyName) {
+ $currencyName = $currencies['en'][$currencyCode]['name'];
+ // Maintain a count of untranslated currencies per locale.
+ $untranslatedCounts += [$locale => 0];
+ $untranslatedCounts[$locale]++;
+ }
+
+ $currencies[$locale][$currencyCode] = [
+ 'name' => $currencyName,
+ ];
+ // Decrease the dataset size by exporting the symbol only if it's
+ // different from the currency code.
+ if ($currency['symbol'] != $currencyCode) {
+ $currencies[$locale][$currencyCode]['symbol'] = $currency['symbol'];
+ }
+ }
+ }
+}
+
+// Ignore locales that are more than 80% untranslated.
+foreach ($untranslatedCounts as $locale => $count) {
+ $totalCount = count($currencies[$locale]);
+ $untranslatedPercentage = $count * (100 / $totalCount);
+ if ($untranslatedPercentage >= 80) {
+ unset($currencies[$locale]);
+ }
+}
+
+// Identify localizations that are the same as the ones for the parent locale.
+// For example, "fr-FR" if "fr" has the same data.
+$duplicates = [];
+foreach ($currencies as $locale => $localizedCurrencies) {
+ if (strpos($locale, '-') !== false) {
+ $localeParts = explode('-', $locale);
+ array_pop($localeParts);
+ $parentLocale = implode('-', $localeParts);
+ $diff = array_udiff($localizedCurrencies, $currencies[$parentLocale], function ($first, $second) {
+ return ($first['name'] == $second['name']) ? 0 : 1;
+ });
+
+ if (empty($diff)) {
+ // The duplicates are not removed right away because they might
+ // still be needed for other duplicate checks (for example,
+ // when there are locales like bs-Latn-BA, bs-Latn, bs).
+ $duplicates[] = $locale;
+ }
+ }
+}
+// Remove the duplicates.
+foreach ($duplicates as $locale) {
+ unset($currencies[$locale]);
+}
+
+// Write out the localizations.
+foreach ($currencies as $locale => $localizedCurrencies) {
+ $collator = collator_create($locale);
+ uasort($localizedCurrencies, function ($a, $b) use ($collator) {
+ return collator_compare($collator, $a['name'], $b['name']);
+ });
+ file_put_json($locale . '.json', $localizedCurrencies);
+}
+
+/**
+ * Converts the provided data into json and writes it to the disk.
+ */
+function file_put_json($filename, $data)
+{
+ $data = json_encode($data, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE);
+ // Indenting with tabs instead of 4 spaces gives us 20% smaller files.
+ $data = str_replace(' ', "\t", $data);
+ file_put_contents($filename, $data);
+}
diff --git a/vendor/commerceguys/intl/scripts/fetch_data.sh b/vendor/commerceguys/intl/scripts/fetch_data.sh
new file mode 100644
index 000000000..df727e758
--- /dev/null
+++ b/vendor/commerceguys/intl/scripts/fetch_data.sh
@@ -0,0 +1,24 @@
+#!/bin/sh
+
+URL="http://www.currency-iso.org/dam/downloads/lists/list_one.xml"
+
+rm -fR assets
+mkdir assets
+cd assets
+
+git clone https://github.com/unicode-cldr/cldr-core.git
+git clone https://github.com/unicode-cldr/cldr-numbers-full.git
+git clone https://github.com/unicode-cldr/cldr-localenames-full.git
+
+if command -v wget >/dev/null 2>&1;
+then
+ wget $URL -O c2.xml
+else
+ if command -v curl >/dev/null 2>&1;
+ then
+ curl $URL > c2.xml
+ else
+ echo "I require wget or curl but it's not installed. Aborting."
+ exit 1
+ fi
+fi
diff --git a/vendor/commerceguys/intl/scripts/language/generate.php b/vendor/commerceguys/intl/scripts/language/generate.php
new file mode 100644
index 000000000..72e8d1b44
--- /dev/null
+++ b/vendor/commerceguys/intl/scripts/language/generate.php
@@ -0,0 +1,148 @@
+<?php
+
+/**
+ * Generates the json files stored in resources/language.
+ *
+ * CLDR lists about 515 languages, many of them dead (like Latin or Old English).
+ * In order to decrease the list to a reasonable size, only the languages
+ * for which CLDR itself has translations are listed.
+ */
+set_time_limit(0);
+
+// Downloaded from https://github.com/unicode-cldr/cldr-localenames-full.git
+$localeDirectory = '../assets/cldr-localenames-full/main/';
+$enLanguages = $localeDirectory . 'en/languages.json';
+
+if (!is_dir($localeDirectory)) {
+ die("The $localeDirectory directory was not found");
+}
+if (!file_exists($enLanguages)) {
+ die("The $enLanguages file was not found");
+}
+if (!function_exists('collator_create')) {
+ // Reimplementing intl's collator would be a huge undertaking, so we
+ // use it instead to presort the generated locale specific data.
+ die('The intl extension was not found.');
+}
+
+// Locales listed without a "-" match all variants.
+// Locales listed with a "-" match only those exact ones.
+$ignoredLocales = [
+ // Interlingua is a made up language.
+ 'ia',
+ // Valencian differs from its parent only by a single character (è/é).
+ 'ca-ES-VALENCIA',
+ // Special "grouping" locales.
+ 'root', 'en-US-POSIX', 'en-001', 'en-150', 'es-419',
+];
+
+$languages = [];
+// Load the "en" data first so that it can be used as a fallback for
+// untranslated language names in other locales.
+$languageData = json_decode(file_get_contents($enLanguages), true);
+$languageData = $languageData['main']['en']['localeDisplayNames']['languages'];
+foreach ($languageData as $languageCode => $languageName) {
+ if (strpos($languageCode, '-alt-') === false) {
+ $languages['en'][$languageCode] = [
+ 'name' => $languageName,
+ ];
+ }
+}
+
+// Gather available locales.
+$locales = [];
+if ($handle = opendir($localeDirectory)) {
+ while (false !== ($entry = readdir($handle))) {
+ if (substr($entry, 0, 1) != '.') {
+ $entryParts = explode('-', $entry);
+ if (!in_array($entry, $ignoredLocales) && !in_array($entryParts[0], $ignoredLocales)) {
+ $locales[] = $entry;
+ }
+ }
+ }
+ closedir($handle);
+}
+
+// Remove all languages that aren't an available locale at the same time.
+// This reduces the language list from about 515 to about 185 languages.
+foreach ($languages['en'] as $languageCode => $languageData) {
+ if (!in_array($languageCode, $locales)) {
+ unset($languages['en'][$languageCode]);
+ }
+}
+
+// Load the localizations.
+$untranslatedCounts = [];
+foreach ($locales as $locale) {
+ $data = json_decode(file_get_contents($localeDirectory . $locale . '/languages.json'), true);
+ $data = $data['main'][$locale]['localeDisplayNames']['languages'];
+ foreach ($data as $languageCode => $languageName) {
+ if (isset($languages['en'][$languageCode])) {
+ // This language name is untranslated, use to the english version.
+ if ($languageCode == str_replace('_', '-', $languageName)) {
+ $languageName = $languages['en'][$languageCode]['name'];
+ // Maintain a count of untranslated languages per locale.
+ $untranslatedCounts += [$locale => 0];
+ $untranslatedCounts[$locale]++;
+ }
+
+ $languages[$locale][$languageCode] = [
+ 'name' => $languageName,
+ ];
+ }
+ }
+}
+
+// Ignore locales that are more than 80% untranslated.
+foreach ($untranslatedCounts as $locale => $count) {
+ $totalCount = count($languages[$locale]);
+ $untranslatedPercentage = $count * (100 / $totalCount);
+ if ($untranslatedPercentage >= 80) {
+ unset($languages[$locale]);
+ }
+}
+
+// Identify localizations that are the same as the ones for the parent locale.
+// For example, "fr-FR" if "fr" has the same data.
+$duplicates = [];
+foreach ($languages as $locale => $localizedLanguages) {
+ if (strpos($locale, '-') !== false) {
+ $localeParts = explode('-', $locale);
+ array_pop($localeParts);
+ $parentLocale = implode('-', $localeParts);
+ $diff = array_udiff($localizedLanguages, $languages[$parentLocale], function ($first, $second) {
+ return ($first['name'] == $second['name']) ? 0 : 1;
+ });
+
+ if (empty($diff)) {
+ // The duplicates are not removed right away because they might
+ // still be needed for other duplicate checks (for example,
+ // when there are locales like bs-Latn-BA, bs-Latn, bs).
+ $duplicates[] = $locale;
+ }
+ }
+}
+// Remove the duplicates.
+foreach ($duplicates as $locale) {
+ unset($languages[$locale]);
+}
+
+// Write out the localizations.
+foreach ($languages as $locale => $localizedLanguages) {
+ $collator = collator_create($locale);
+ uasort($localizedLanguages, function ($a, $b) use ($collator) {
+ return collator_compare($collator, $a['name'], $b['name']);
+ });
+ file_put_json($locale . '.json', $localizedLanguages);
+}
+
+/**
+ * Converts the provided data into json and writes it to the disk.
+ */
+function file_put_json($filename, $data)
+{
+ $data = json_encode($data, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE);
+ // Indenting with tabs instead of 4 spaces gives us 20% smaller files.
+ $data = str_replace(' ', "\t", $data);
+ file_put_contents($filename, $data);
+}
diff --git a/vendor/commerceguys/intl/scripts/number_format/generate.php b/vendor/commerceguys/intl/scripts/number_format/generate.php
new file mode 100644
index 000000000..0fd8998f1
--- /dev/null
+++ b/vendor/commerceguys/intl/scripts/number_format/generate.php
@@ -0,0 +1,132 @@
+<?php
+
+/**
+ * Generates the json files stored in resources/number_format.
+ */
+set_time_limit(0);
+
+// Downloaded from https://github.com/unicode-cldr/cldr-localenames-full.git
+$localeDirectory = '../assets/cldr-localenames-full/main/';
+$enLanguages = $localeDirectory . 'en/languages.json';
+// Downloaded from https://github.com/unicode-cldr/cldr-numbers-full.git
+$numbersDirectory = '../assets/cldr-numbers-full/main/';
+
+if (!is_dir($localeDirectory)) {
+ die("The $localeDirectory directory was not found");
+}
+if (!is_dir($numbersDirectory)) {
+ die("The $numbersDirectory directory was not found");
+}
+if (!file_exists($enLanguages)) {
+ die("The $enLanguages file was not found");
+}
+
+// Locales listed without a "-" match all variants.
+// Locales listed with a "-" match only those exact ones.
+$ignoredLocales = [
+ // Interlingua is a made up language.
+ 'ia',
+ // Ignored by other generation scripts, very minor locales.
+ 'as', 'asa', 'bem', 'chr', 'dav', 'dua', 'ebu', 'ewo', 'guz', 'gv', 'ii',
+ 'jgo', 'jmc', 'kam', 'kde', 'ki', 'kkj', 'kl', 'kln', 'ksb', 'kw', 'lag',
+ 'ln', 'mer', 'mgo', 'nd', 'nmg', 'nnh', 'nus', 'os', 'ps', 'rwk', 'sah',
+ 'saq', 'sbp', 'shi', 'sn', 'teo', 'vai', 'vun', 'xog', 'zgh',
+ // Special "grouping" locales.
+ 'root', 'en-US-POSIX', 'en-001', 'en-150', 'es-419',
+];
+
+// Gather available locales.
+$locales = [];
+if ($handle = opendir($localeDirectory)) {
+ while (false !== ($entry = readdir($handle))) {
+ if (substr($entry, 0, 1) != '.') {
+ $entryParts = explode('-', $entry);
+ if (!in_array($entry, $ignoredLocales) && !in_array($entryParts[0], $ignoredLocales)) {
+ $locales[] = $entry;
+ }
+ }
+ }
+ closedir($handle);
+}
+
+// Load the data.
+$numberFormats = [];
+foreach ($locales as $locale) {
+ $data = json_decode(file_get_contents($numbersDirectory . $locale . '/numbers.json'), true);
+ $data = $data['main'][$locale]['numbers'];
+ // Use the default numbering system, if it's supported.
+ if (in_array($data['defaultNumberingSystem'], ['arab', 'arabext', 'beng', 'deva', 'latn'])) {
+ $numberingSystem = $data['defaultNumberingSystem'];
+ } else {
+ $numberingSystem = 'latn';
+ }
+
+ $numberFormats[$locale] = [
+ 'numbering_system' => $numberingSystem,
+ 'decimal_pattern' => $data['decimalFormats-numberSystem-' . $numberingSystem]['standard'],
+ 'percent_pattern' => $data['percentFormats-numberSystem-' . $numberingSystem]['standard'],
+ 'currency_pattern' => $data['currencyFormats-numberSystem-' . $numberingSystem]['standard'],
+ 'accounting_currency_pattern' => $data['currencyFormats-numberSystem-' . $numberingSystem]['accounting'],
+ ];
+
+ // Add the symbols only if they're different from the default data.
+ $decimalSeparator = $data['symbols-numberSystem-' . $numberingSystem]['decimal'];
+ $groupingSeparator = $data['symbols-numberSystem-' . $numberingSystem]['group'];
+ $plusSign = $data['symbols-numberSystem-' . $numberingSystem]['plusSign'];
+ $minusSign = $data['symbols-numberSystem-' . $numberingSystem]['minusSign'];
+ $percentSign = $data['symbols-numberSystem-' . $numberingSystem]['percentSign'];
+ if ($decimalSeparator != '.') {
+ $numberFormats[$locale]['decimal_separator'] = $decimalSeparator;
+ }
+ if ($groupingSeparator != ',') {
+ $numberFormats[$locale]['grouping_separator'] = $groupingSeparator;
+ }
+ if ($plusSign != '+') {
+ $numberFormats[$locale]['plus_sign'] = $plusSign;
+ }
+ if ($minusSign != '-') {
+ $numberFormats[$locale]['minus_sign'] = $minusSign;
+ }
+ if ($percentSign != '%') {
+ $numberFormats[$locale]['percent_sign'] = $percentSign;
+ }
+}
+
+// Identify localizations that are the same as the ones for the parent locale.
+// For example, "fr-FR" if "fr" has the same data.
+$duplicates = [];
+foreach ($numberFormats as $locale => $formatData) {
+ if (strpos($locale, '-') !== false) {
+ $localeParts = explode('-', $locale);
+ array_pop($localeParts);
+ $parentLocale = implode('-', $localeParts);
+ $diff = array_diff_assoc($formatData, $numberFormats[$parentLocale]);
+
+ if (empty($diff)) {
+ // The duplicates are not removed right away because they might
+ // still be needed for other duplicate checks (for example,
+ // when there are locales like bs-Latn-BA, bs-Latn, bs).
+ $duplicates[] = $locale;
+ }
+ }
+}
+// Remove the duplicates.
+foreach ($duplicates as $locale) {
+ unset($numberFormats[$locale]);
+}
+
+// Write out the data.
+foreach ($numberFormats as $locale => $numberFormat) {
+ file_put_json($locale . '.json', $numberFormat);
+}
+
+/**
+ * Converts the provided data into json and writes it to the disk.
+ */
+function file_put_json($filename, $data)
+{
+ $data = json_encode($data, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE);
+ // Indenting with tabs instead of 4 spaces gives us 20% smaller files.
+ $data = str_replace(' ', "\t", $data);
+ file_put_contents($filename, $data);
+}
diff --git a/vendor/commerceguys/intl/src/Calculator.php b/vendor/commerceguys/intl/src/Calculator.php
new file mode 100644
index 000000000..e00a564c1
--- /dev/null
+++ b/vendor/commerceguys/intl/src/Calculator.php
@@ -0,0 +1,247 @@
+<?php
+
+namespace CommerceGuys\Intl;
+
+/**
+ * Provides helpers for bcmath-based arithmetic.
+ *
+ * The bcmath extension provides support for arbitrary precision arithmetic,
+ * which does not suffer from the precision loses that make floating point
+ * arithmetic unsafe for eCommerce.
+ *
+ * Important: All numbers must be passed as strings.
+ */
+final class Calculator
+{
+ /**
+ * Adds the second number to the first number.
+ *
+ * @param string $first_number The first number.
+ * @param string $second_number The second number.
+ * @param int $scale The maximum number of digits after the
+ * decimal place. Any digit after $scale will
+ * be truncated.
+ *
+ * @return string The result.
+ */
+ public static function add($first_number, $second_number, $scale = 6)
+ {
+ self::assertNumberFormat($first_number);
+ self::assertNumberFormat($second_number);
+ $result = bcadd($first_number, $second_number, $scale);
+
+ return self::trim($result);
+ }
+
+ /**
+ * Subtracts the second number from the first number.
+ *
+ * @param string $first_number The first number.
+ * @param string $second_number The second number.
+ * @param int $scale The maximum number of digits after the
+ * decimal place. Any digit after $scale will
+ * be truncated.
+ *
+ * @return string The result.
+ */
+ public static function subtract($first_number, $second_number, $scale = 6)
+ {
+ self::assertNumberFormat($first_number);
+ self::assertNumberFormat($second_number);
+ $result = bcsub($first_number, $second_number, $scale);
+
+ return self::trim($result);
+ }
+
+ /**
+ * Multiplies the first number by the second number.
+ *
+ * @param string $first_number The first number.
+ * @param string $second_number The second number.
+ * @param int $scale The maximum number of digits after the
+ * decimal place. Any digit after $scale will
+ * be truncated.
+ *
+ * @return string The result.
+ */
+ public static function multiply($first_number, $second_number, $scale = 6)
+ {
+ self::assertNumberFormat($first_number);
+ self::assertNumberFormat($second_number);
+ $result = bcmul($first_number, $second_number, $scale);
+
+ return self::trim($result);
+ }
+
+ /**
+ * Divides the first number by the second number.
+ *
+ * @param string $first_number The first number.
+ * @param string $second_number The second number.
+ * @param int $scale The maximum number of digits after the
+ * decimal place. Any digit after $scale will
+ * be truncated.
+ *
+ * @return string The result.
+ */
+ public static function divide($first_number, $second_number, $scale = 6)
+ {
+ self::assertNumberFormat($first_number);
+ self::assertNumberFormat($second_number);
+ $result = bcdiv($first_number, $second_number, $scale);
+
+ return self::trim($result);
+ }
+
+ /**
+ * Calculates the next highest whole value of a number.
+ *
+ * @param string $number The number.
+ *
+ * @return string The result.
+ */
+ public static function ceil($number)
+ {
+ if (self::compare($number, 0) == 1) {
+ $result = bcadd($number, '1', 0);
+ } else {
+ $result = bcadd($number, '0', 0);
+ }
+
+ return $result;
+ }
+
+ /**
+ * Calculates the next lowest whole value of a number.
+ *
+ * @param string $number The number.
+ *
+ * @return string The result.
+ */
+ public static function floor($number)
+ {
+ if (self::compare($number, 0) == 1) {
+ $result = bcadd($number, '0', 0);
+ } else {
+ $result = bcadd($number, '-1', 0);
+ }
+
+ return $result;
+ }
+
+ /**
+ * Rounds the given number.
+ *
+ * Replicates PHP's support for rounding to the nearest even/odd number
+ * even if that number is decimal ($precision > 0).
+ *
+ * @param string $number The number.
+ * @param int $precision The number of decimals to round to.
+ * @param int $mode The rounding mode. One of the following constants:
+ * PHP_ROUND_HALF_UP, PHP_ROUND_HALF_DOWN,
+ * PHP_ROUND_HALF_EVEN, PHP_ROUND_HALF_ODD.
+ *
+ * @return string The rounded number.
+ *
+ * @throws \InvalidArgumentException
+ */
+ public static function round($number, $precision = 0, $mode = PHP_ROUND_HALF_UP)
+ {
+ self::assertNumberFormat($number);
+ if (!is_numeric($precision) || $precision < 0) {
+ throw new \InvalidArgumentException('The provided precision should be a positive number');
+ }
+
+ // Round the number in both directions (up/down) before choosing one.
+ $rounding_increment = bcdiv('1', pow(10, $precision), $precision);
+ if (self::compare($number, '0') == 1) {
+ $rounded_up = bcadd($number, $rounding_increment, $precision);
+ } else {
+ $rounded_up = bcsub($number, $rounding_increment, $precision);
+ }
+ $rounded_down = bcsub($number, 0, $precision);
+ // The rounding direction is based on the first decimal after $precision.
+ $number_parts = explode('.', $number);
+ $decimals = !empty($number_parts[1]) ? $number_parts[1] : '0';
+ $relevant_decimal = isset($decimals[$precision]) ? $decimals[$precision] : 0;
+ if ($relevant_decimal < 5) {
+ $number = $rounded_down;
+ } elseif ($relevant_decimal == 5) {
+ if ($mode == PHP_ROUND_HALF_UP) {
+ $number = $rounded_up;
+ } elseif ($mode == PHP_ROUND_HALF_DOWN) {
+ $number = $rounded_down;
+ } elseif ($mode == PHP_ROUND_HALF_EVEN) {
+ $integer = bcmul($rounded_up, pow(10, $precision), 0);
+ $number = bcmod($integer, '2') == 0 ? $rounded_up : $rounded_down;
+ } elseif ($mode == PHP_ROUND_HALF_ODD) {
+ $integer = bcmul($rounded_up, pow(10, $precision), 0);
+ $number = bcmod($integer, '2') != 0 ? $rounded_up : $rounded_down;
+ }
+ } elseif ($relevant_decimal > 5) {
+ $number = $rounded_up;
+ }
+
+ return $number;
+ }
+
+ /**
+ * Compares the first number to the second number.
+ *
+ * @param string $first_number The first number.
+ * @param string $second_number The second number.
+ * @param int $scale The maximum number of digits after the
+ * decimal place. Any digit after $scale will
+ * be truncated.
+ *
+ * @return int 0 if both numbers are equal, 1 if the first one is greater,
+ * -1 otherwise.
+ */
+ public static function compare($first_number, $second_number, $scale = 6)
+ {
+ self::assertNumberFormat($first_number);
+ self::assertNumberFormat($second_number);
+
+ return bccomp($first_number, $second_number, $scale);
+ }
+
+ /**
+ * Trims the given number.
+ *
+ * By default bcmath returns numbers with the number of digits according
+ * to $scale. This means that bcadd('2', '2', 6) will return '4.00000'.
+ * Trimming the number removes the excess zeroes.
+ *
+ * @param string $number The number to trim.
+ *
+ * @return string The trimmed number.
+ */
+ public static function trim($number)
+ {
+ if (strpos($number, '.') != false) {
+ // The number is decimal, strip trailing zeroes.
+ // If no digits remain after the decimal point, strip it as well.
+ $number = rtrim($number, '0');
+ $number = rtrim($number, '.');
+ }
+
+ return $number;
+ }
+
+ /**
+ * Assert that the given number is a numeric string value.
+ *
+ * @param string $number The number to check.
+ *
+ * @throws \InvalidArgumentException
+ */
+ public static function assertNumberFormat($number)
+ {
+ if (is_float($number)) {
+ throw new \InvalidArgumentException(sprintf('The provided value "%s" must be a string, not a float.', $number));
+ }
+ if (!is_numeric($number)) {
+ throw new \InvalidArgumentException(sprintf('The provided value "%s" is not a numeric value.', $number));
+ }
+ }
+}
diff --git a/vendor/commerceguys/intl/src/Country/Country.php b/vendor/commerceguys/intl/src/Country/Country.php
new file mode 100644
index 000000000..7063e7d58
--- /dev/null
+++ b/vendor/commerceguys/intl/src/Country/Country.php
@@ -0,0 +1,168 @@
+<?php
+
+namespace CommerceGuys\Intl\Country;
+
+class Country implements CountryEntityInterface
+{
+ /**
+ * The two-letter country code.
+ *
+ * @var string
+ */
+ protected $countryCode;
+
+ /**
+ * The country name.
+ *
+ * @var string
+ */
+ protected $name;
+
+ /**
+ * The three-letter country code.
+ *
+ * @var string
+ */
+ protected $threeLetterCode;
+
+ /**
+ * The numeric country code.
+ *
+ * @var string
+ */
+ protected $numericCode;
+
+ /**
+ * The country currency code.
+ *
+ * @var string
+ */
+ protected $currencyCode;
+
+ /**
+ * The country locale (i.e. "en_US").
+ *
+ * The country name is locale specific.
+ *
+ * @var string
+ */
+ protected $locale;
+
+ /**
+ * Returns the string representation of the Country.
+ *
+ * @return string
+ */
+ public function __toString()
+ {
+ return $this->getCountryCode();
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function getCountryCode()
+ {
+ return $this->countryCode;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function setCountryCode($countryCode)
+ {
+ $this->countryCode = $countryCode;
+
+ return $this;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function setName($name)
+ {
+ $this->name = $name;
+
+ return $this;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function getThreeLetterCode()
+ {
+ return $this->threeLetterCode;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function setThreeLetterCode($threeLetterCode)
+ {
+ $this->threeLetterCode = $threeLetterCode;
+
+ return $this;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function getNumericCode()
+ {
+ return $this->numericCode;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function setNumericCode($numericCode)
+ {
+ $this->numericCode = $numericCode;
+
+ return $this;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function getCurrencyCode()
+ {
+ return $this->currencyCode;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function setCurrencyCode($currencyCode)
+ {
+ $this->currencyCode = $currencyCode;
+
+ return $this;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function getLocale()
+ {
+ return $this->locale;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function setLocale($locale)
+ {
+ $this->locale = $locale;
+
+ return $this;
+ }
+}
diff --git a/vendor/commerceguys/intl/src/Country/CountryEntityInterface.php b/vendor/commerceguys/intl/src/Country/CountryEntityInterface.php
new file mode 100644
index 000000000..b22bcd42f
--- /dev/null
+++ b/vendor/commerceguys/intl/src/Country/CountryEntityInterface.php
@@ -0,0 +1,51 @@
+<?php
+
+namespace CommerceGuys\Intl\Country;
+
+interface CountryEntityInterface extends CountryInterface
+{
+ /**
+ * Sets the two-letter country code.
+ *
+ * @param string $countryCode The two-letter country code.
+ *
+ * @return self
+ */
+ public function setCountryCode($countryCode);
+
+ /**
+ * Sets the country name.
+ *
+ * @param string $name The country name.
+ *
+ * @return self
+ */
+ public function setName($name);
+
+ /**
+ * Sets the three-letter country code.
+ *
+ * @param string $threeLetterCode The three-letter country code.
+ *
+ * @return self
+ */
+ public function setThreeLetterCode($threeLetterCode);
+
+ /**
+ * Sets the numeric country code.
+ *
+ * @param string $numericCode The numeric country code.
+ *
+ * @return self
+ */
+ public function setNumericCode($numericCode);
+
+ /**
+ * Sets the country currency code.
+ *
+ * @param string $currencyCode The currency code.
+ *
+ * @return self
+ */
+ public function setCurrencyCode($currencyCode);
+}
diff --git a/vendor/commerceguys/intl/src/Country/CountryInterface.php b/vendor/commerceguys/intl/src/Country/CountryInterface.php
new file mode 100644
index 000000000..f6aaf91b2
--- /dev/null
+++ b/vendor/commerceguys/intl/src/Country/CountryInterface.php
@@ -0,0 +1,61 @@
+<?php
+
+namespace CommerceGuys\Intl\Country;
+
+interface CountryInterface
+{
+ /**
+ * Gets the two-letter country code.
+ *
+ * @return string
+ */
+ public function getCountryCode();
+
+ /**
+ * Gets the country name.
+ *
+ * Note that certain locales have incomplete translations, in which
+ * case the english version of the country name is used instead.
+ *
+ * @return string
+ */
+ public function getName();
+
+ /**
+ * Gets the three-letter country code.
+ *
+ * Note that not every country has a three-letter code.
+ * CLDR lists "Canary Islands" (IC) and "Ceuta and Melilla" (EA)
+ * as separate countries, even though they are formally a part of Spain
+ * and have no three-letter or numeric ISO codes.
+ *
+ * @return string|null
+ */
+ public function getThreeLetterCode();
+
+ /**
+ * Gets the numeric country code.
+ *
+ * The numeric code has three digits, and the first one can be a zero,
+ * hence the need to pass it around as a string.
+ *
+ * Note that not every country has a numeric code.
+ * CLDR lists "Canary Islands" (IC) and "Ceuta and Melilla" (EA)
+ * as separate countries, even though they are formally a part of Spain
+ * and have no three-letter or numeric ISO codes.
+ * "Ascension Island" (AE) also has no numeric code, even though it has a
+ * three-letter code.
+ *
+ * @return string|null
+ */
+ public function getNumericCode();
+
+ /**
+ * Gets the country currency code.
+ *
+ * Represents the default currency used in the country, if known.
+ *
+ * @return string|null
+ */
+ public function getCurrencyCode();
+}
diff --git a/vendor/commerceguys/intl/src/Country/CountryRepository.php b/vendor/commerceguys/intl/src/Country/CountryRepository.php
new file mode 100644
index 000000000..fb027dc2f
--- /dev/null
+++ b/vendor/commerceguys/intl/src/Country/CountryRepository.php
@@ -0,0 +1,143 @@
+<?php
+
+namespace CommerceGuys\Intl\Country;
+
+use CommerceGuys\Intl\LocaleResolverTrait;
+use CommerceGuys\Intl\Exception\UnknownCountryException;
+
+/**
+ * Manages countries based on JSON definitions.
+ */
+class CountryRepository implements CountryRepositoryInterface
+{
+ use LocaleResolverTrait;
+
+ /**
+ * Base country definitions.
+ *
+ * Contains data common to all locales, such as the country numeric,
+ * three-letter, currency codes.
+ *
+ * @var array
+ */
+ protected $baseDefinitions = [];
+
+ /**
+ * Per-locale country definitions.
+ *
+ * @var array
+ */
+ protected $definitions = [];
+
+ /**
+ * Creates a CountryRepository instance.
+ *
+ * @param string $definitionPath The path to the country definitions.
+ * Defaults to 'resources/country'.
+ */
+ public function __construct($definitionPath = null)
+ {
+ $this->definitionPath = $definitionPath ? $definitionPath : __DIR__ . '/../../resources/country/';
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function get($countryCode, $locale = null, $fallbackLocale = null)
+ {
+ $locale = $this->resolveLocale($locale, $fallbackLocale);
+ $definitions = $this->loadDefinitions($locale);
+ if (!isset($definitions[$countryCode])) {
+ throw new UnknownCountryException($countryCode);
+ }
+
+ return $this->createCountryFromDefinition($countryCode, $definitions[$countryCode], $locale);
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function getAll($locale = null, $fallbackLocale = null)
+ {
+ $locale = $this->resolveLocale($locale, $fallbackLocale);
+ $definitions = $this->loadDefinitions($locale);
+ $countries = [];
+ foreach ($definitions as $countryCode => $definition) {
+ $countries[$countryCode] = $this->createCountryFromDefinition($countryCode, $definition, $locale);
+ }
+
+ return $countries;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function getList($locale = null, $fallbackLocale = null)
+ {
+ $locale = $this->resolveLocale($locale, $fallbackLocale);
+ $definitions = $this->loadDefinitions($locale);
+ $list = [];
+ foreach ($definitions as $countryCode => $definition) {
+ $list[$countryCode] = $definition['name'];
+ }
+
+ return $list;
+ }
+
+ /**
+ * Loads the country definitions for the provided locale.
+ *
+ * @param string $locale The desired locale.
+ *
+ * @return array
+ */
+ protected function loadDefinitions($locale)
+ {
+ if (!isset($this->definitions[$locale])) {
+ $filename = $this->definitionPath . $locale . '.json';
+ $this->definitions[$locale] = json_decode(file_get_contents($filename), true);
+
+ // Make sure the base definitions have been loaded.
+ if (empty($this->baseDefinitions)) {
+ $this->baseDefinitions = json_decode(file_get_contents($this->definitionPath . 'base.json'), true);
+ }
+ // Merge-in base definitions.
+ foreach ($this->definitions[$locale] as $countryCode => $definition) {
+ $this->definitions[$locale][$countryCode] += $this->baseDefinitions[$countryCode];
+ }
+ }
+
+ return $this->definitions[$locale];
+ }
+
+ /**
+ * Creates a country object from the provided definition.
+ *
+ * @param string $countryCode The country code.
+ * @param array $definition The country definition.
+ * @param string $locale The locale of the country definition.
+ *
+ * @return Country
+ */
+ protected function createCountryFromDefinition($countryCode, array $definition, $locale)
+ {
+ $country = new Country();
+ $setValues = \Closure::bind(function ($countryCode, $definition, $locale) {
+ $this->countryCode = $countryCode;
+ $this->name = $definition['name'];
+ $this->locale = $locale;
+ if (isset($definition['three_letter_code'])) {
+ $this->threeLetterCode = $definition['three_letter_code'];
+ }
+ if (isset($definition['numeric_code'])) {
+ $this->numericCode = $definition['numeric_code'];
+ }
+ if (isset($definition['currency_code'])) {
+ $this->currencyCode = $definition['currency_code'];
+ }
+ }, $country, '\CommerceGuys\Intl\Country\Country');
+ $setValues($countryCode, $definition, $locale);
+
+ return $country;
+ }
+}
diff --git a/vendor/commerceguys/intl/src/Country/CountryRepositoryInterface.php b/vendor/commerceguys/intl/src/Country/CountryRepositoryInterface.php
new file mode 100644
index 000000000..fbcd5551e
--- /dev/null
+++ b/vendor/commerceguys/intl/src/Country/CountryRepositoryInterface.php
@@ -0,0 +1,41 @@
+<?php
+
+namespace CommerceGuys\Intl\Country;
+
+/**
+ * Country repository interface.
+ */
+interface CountryRepositoryInterface
+{
+ /**
+ * Returns a country instance matching the provided country code.
+ *
+ * @param string $countryCode The country code.
+ * @param string $locale The locale (i.e. fr-FR).
+ * @param string $fallbackLocale A fallback locale (i.e "en").
+ *
+ * @return CountryInterface
+ */
+ public function get($countryCode, $locale = null, $fallbackLocale = null);
+
+ /**
+ * Returns all country instances.
+ *
+ * @param string $locale The locale (i.e. fr-FR).
+ * @param string $fallbackLocale A fallback locale (i.e "en").
+ *
+ * @return array An array of countries implementing the CountryInterface,
+ * keyed by country code.
+ */
+ public function getAll($locale = null, $fallbackLocale = null);
+
+ /**
+ * Returns a list of countries.
+ *
+ * @param string $locale The locale (i.e. fr-FR).
+ * @param string $fallbackLocale A fallback locale (i.e "en").
+ *
+ * @return array An array of country names, keyed by country code.
+ */
+ public function getList($locale = null, $fallbackLocale = null);
+}
diff --git a/vendor/commerceguys/intl/src/Currency/Currency.php b/vendor/commerceguys/intl/src/Currency/Currency.php
new file mode 100644
index 000000000..6f9256bf0
--- /dev/null
+++ b/vendor/commerceguys/intl/src/Currency/Currency.php
@@ -0,0 +1,168 @@
+<?php
+
+namespace CommerceGuys\Intl\Currency;
+
+class Currency implements CurrencyEntityInterface
+{
+ /**
+ * The alphanumeric currency code.
+ *
+ * @var string
+ */
+ protected $currencyCode;
+
+ /**
+ * The currency name.
+ *
+ * @var string
+ */
+ protected $name;
+
+ /**
+ * The numeric currency code.
+ *
+ * @var string
+ */
+ protected $numericCode;
+
+ /**
+ * The currency symbol.
+ *
+ * @var string
+ */
+ protected $symbol;
+
+ /**
+ * The number of fraction digits.
+ *
+ * @var int
+ */
+ protected $fractionDigits;
+
+ /**
+ * The currency locale (i.e. "en_US").
+ *
+ * The currency name and symbol are locale specific.
+ *
+ * @var string
+ */
+ protected $locale;
+
+ /**
+ * Returns the string representation of the currency.
+ *
+ * @return string
+ */
+ public function __toString()
+ {
+ return $this->getCurrencyCode();
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function getCurrencyCode()
+ {
+ return $this->currencyCode;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function setCurrencyCode($currencyCode)
+ {
+ $this->currencyCode = $currencyCode;
+
+ return $this;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function setName($name)
+ {
+ $this->name = $name;
+
+ return $this;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function getNumericCode()
+ {
+ return $this->numericCode;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function setNumericCode($numericCode)
+ {
+ $this->numericCode = $numericCode;
+
+ return $this;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function getSymbol()
+ {
+ return $this->symbol;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function setSymbol($symbol)
+ {
+ $this->symbol = $symbol;
+
+ return $this;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function getFractionDigits()
+ {
+ return $this->fractionDigits;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function setFractionDigits($fractionDigits)
+ {
+ $this->fractionDigits = $fractionDigits;
+
+ return $this;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function getLocale()
+ {
+ return $this->locale;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function setLocale($locale)
+ {
+ $this->locale = $locale;
+
+ return $this;
+ }
+}
diff --git a/vendor/commerceguys/intl/src/Currency/CurrencyEntityInterface.php b/vendor/commerceguys/intl/src/Currency/CurrencyEntityInterface.php
new file mode 100644
index 000000000..85d4ab83d
--- /dev/null
+++ b/vendor/commerceguys/intl/src/Currency/CurrencyEntityInterface.php
@@ -0,0 +1,51 @@
+<?php
+
+namespace CommerceGuys\Intl\Currency;
+
+interface CurrencyEntityInterface extends CurrencyInterface
+{
+ /**
+ * Sets the alphabetic currency code.
+ *
+ * @param string $currencyCode The alphabetic currency code.
+ *
+ * @return self
+ */
+ public function setCurrencyCode($currencyCode);
+
+ /**
+ * Sets the currency name.
+ *
+ * @param string $name The currency name.
+ *
+ * @return self
+ */
+ public function setName($name);
+
+ /**
+ * Sets the numeric currency code.
+ *
+ * @param string $numericCode The numeric currency code.
+ *
+ * @return self
+ */
+ public function setNumericCode($numericCode);
+
+ /**
+ * Sets the currency symbol.
+ *
+ * @param string $symbol The currency symbol.
+ *
+ * @return self
+ */
+ public function setSymbol($symbol);
+
+ /**
+ * Sets the number of fraction digits.
+ *
+ * @param int $fractionDigits The number of fraction digits.
+ *
+ * @return self
+ */
+ public function setFractionDigits($fractionDigits);
+}
diff --git a/vendor/commerceguys/intl/src/Currency/CurrencyInterface.php b/vendor/commerceguys/intl/src/Currency/CurrencyInterface.php
new file mode 100644
index 000000000..8aa709ca0
--- /dev/null
+++ b/vendor/commerceguys/intl/src/Currency/CurrencyInterface.php
@@ -0,0 +1,47 @@
+<?php
+
+namespace CommerceGuys\Intl\Currency;
+
+interface CurrencyInterface
+{
+ /**
+ * Gets the alphabetic currency code.
+ *
+ * @return string
+ */
+ public function getCurrencyCode();
+
+ /**
+ * Gets the currency name.
+ *
+ * @return string
+ */
+ public function getName();
+
+ /**
+ * Gets the numeric currency code.
+ *
+ * The numeric code has three digits, and the first one can be a zero,
+ * hence the need to pass it around as a string.
+ *
+ * @return string
+ */
+ public function getNumericCode();
+
+ /**
+ * Gets the currency symbol.
+ *
+ * @return string
+ */
+ public function getSymbol();
+
+ /**
+ * Gets the number of fraction digits.
+ *
+ * Used when rounding or formatting an amount for display.
+ * Actual storage precision can be greater.
+ *
+ * @return int
+ */
+ public function getFractionDigits();
+}
diff --git a/vendor/commerceguys/intl/src/Currency/CurrencyRepository.php b/vendor/commerceguys/intl/src/Currency/CurrencyRepository.php
new file mode 100644
index 000000000..5fdfce216
--- /dev/null
+++ b/vendor/commerceguys/intl/src/Currency/CurrencyRepository.php
@@ -0,0 +1,144 @@
+<?php
+
+namespace CommerceGuys\Intl\Currency;
+
+use CommerceGuys\Intl\LocaleResolverTrait;
+use CommerceGuys\Intl\Exception\UnknownCurrencyException;
+
+/**
+ * Manages currencies based on JSON definitions.
+ */
+class CurrencyRepository implements CurrencyRepositoryInterface
+{
+ use LocaleResolverTrait;
+
+ /**
+ * Base currency definitions.
+ *
+ * Contains data common to all locales, such as the currency numeric
+ * code, number of fraction digits.
+ *
+ * @var array
+ */
+ protected $baseDefinitions = [];
+
+ /**
+ * Per-locale currency definitions.
+ *
+ * @var array
+ */
+ protected $definitions = [];
+
+ /**
+ * Creates a CurrencyRepository instance.
+ *
+ * @param string $definitionPath The path to the currency definitions.
+ * Defaults to 'resources/currency'.
+ */
+ public function __construct($definitionPath = null)
+ {
+ $this->definitionPath = $definitionPath ? $definitionPath : __DIR__ . '/../../resources/currency/';
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function get($currencyCode, $locale = null, $fallbackLocale = null)
+ {
+ $locale = $this->resolveLocale($locale, $fallbackLocale);
+ $definitions = $this->loadDefinitions($locale);
+ if (!isset($definitions[$currencyCode])) {
+ throw new UnknownCurrencyException($currencyCode);
+ }
+
+ return $this->createCurrencyFromDefinition($currencyCode, $definitions[$currencyCode], $locale);
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function getAll($locale = null, $fallbackLocale = null)
+ {
+ $locale = $this->resolveLocale($locale, $fallbackLocale);
+ $definitions = $this->loadDefinitions($locale);
+ $currencies = [];
+ foreach ($definitions as $currencyCode => $definition) {
+ $currencies[$currencyCode] = $this->createCurrencyFromDefinition($currencyCode, $definition, $locale);
+ }
+
+ return $currencies;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function getList($locale = null, $fallbackLocale = null)
+ {
+ $locale = $this->resolveLocale($locale, $fallbackLocale);
+ $definitions = $this->loadDefinitions($locale);
+ $list = [];
+ foreach ($definitions as $currencyCode => $definition) {
+ $list[$currencyCode] = $definition['name'];
+ }
+
+ return $list;
+ }
+
+ /**
+ * Loads the currency definitions for the provided locale.
+ *
+ * @param string $locale The desired locale.
+ *
+ * @return array
+ */
+ protected function loadDefinitions($locale)
+ {
+ if (!isset($this->definitions[$locale])) {
+ $filename = $this->definitionPath . $locale . '.json';
+ $this->definitions[$locale] = json_decode(file_get_contents($filename), true);
+
+ // Make sure the base definitions have been loaded.
+ if (empty($this->baseDefinitions)) {
+ $this->baseDefinitions = json_decode(file_get_contents($this->definitionPath . 'base.json'), true);
+ }
+ // Merge-in base definitions.
+ foreach ($this->definitions[$locale] as $currencyCode => $definition) {
+ $this->definitions[$locale][$currencyCode] += $this->baseDefinitions[$currencyCode];
+ }
+ }
+
+ return $this->definitions[$locale];
+ }
+
+ /**
+ * Creates a currency object from the provided definition.
+ *
+ * @param string $currencyCode The currency code.
+ * @param array $definition The currency definition.
+ * @param string $locale The locale of the currency definition.
+ *
+ * @return Currency
+ */
+ protected function createCurrencyFromDefinition($currencyCode, array $definition, $locale)
+ {
+ if (!isset($definition['symbol'])) {
+ $definition['symbol'] = $currencyCode;
+ }
+ if (!isset($definition['fraction_digits'])) {
+ $definition['fraction_digits'] = 2;
+ }
+
+ $currency = new Currency();
+ $setValues = \Closure::bind(function ($currencyCode, $definition, $locale) {
+ $this->currencyCode = $currencyCode;
+ $this->name = $definition['name'];
+ $this->numericCode = $definition['numeric_code'];
+ $this->symbol = $definition['symbol'];
+ $this->fractionDigits = $definition['fraction_digits'];
+ $this->locale = $locale;
+ }, $currency, '\CommerceGuys\Intl\Currency\Currency');
+ $setValues($currencyCode, $definition, $locale);
+
+ return $currency;
+ }
+}
diff --git a/vendor/commerceguys/intl/src/Currency/CurrencyRepositoryInterface.php b/vendor/commerceguys/intl/src/Currency/CurrencyRepositoryInterface.php
new file mode 100644
index 000000000..f0a091969
--- /dev/null
+++ b/vendor/commerceguys/intl/src/Currency/CurrencyRepositoryInterface.php
@@ -0,0 +1,41 @@
+<?php
+
+namespace CommerceGuys\Intl\Currency;
+
+/**
+ * Currency repository interface.
+ */
+interface CurrencyRepositoryInterface
+{
+ /**
+ * Returns a currency instance matching the provided currency code.
+ *
+ * @param string $currencyCode The currency code.
+ * @param string $locale The locale (i.e. fr-FR).
+ * @param string $fallbackLocale A fallback locale (i.e "en").
+ *
+ * @return CurrencyInterface
+ */
+ public function get($currencyCode, $locale = null, $fallbackLocale = null);
+
+ /**
+ * Returns all currency instances.
+ *
+ * @param string $locale The locale (i.e. fr-FR).
+ * @param string $fallbackLocale A fallback locale (i.e "en").
+ *
+ * @return array An array of currencies implementing the CurrencyInterface,
+ * keyed by currency code.
+ */
+ public function getAll($locale = null, $fallbackLocale = null);
+
+ /**
+ * Returns a list of currencies.
+ *
+ * @param string $locale The locale (i.e. fr-FR).
+ * @param string $fallbackLocale A fallback locale (i.e "en").
+ *
+ * @return array An array of currency names, keyed by currency code.
+ */
+ public function getList($locale = null, $fallbackLocale = null);
+}
diff --git a/vendor/commerceguys/intl/src/Exception/ExceptionInterface.php b/vendor/commerceguys/intl/src/Exception/ExceptionInterface.php
new file mode 100644
index 000000000..a7d17f9ab
--- /dev/null
+++ b/vendor/commerceguys/intl/src/Exception/ExceptionInterface.php
@@ -0,0 +1,7 @@
+<?php
+
+namespace CommerceGuys\Intl\Exception;
+
+interface ExceptionInterface
+{
+}
diff --git a/vendor/commerceguys/intl/src/Exception/InvalidArgumentException.php b/vendor/commerceguys/intl/src/Exception/InvalidArgumentException.php
new file mode 100644
index 000000000..afbe114a4
--- /dev/null
+++ b/vendor/commerceguys/intl/src/Exception/InvalidArgumentException.php
@@ -0,0 +1,11 @@
+<?php
+
+namespace CommerceGuys\Intl\Exception;
+
+/**
+ * This exception is thrown when an invalid argument is passed to a method.
+ * For example, a float amount instead of the expected string amount.
+ */
+class InvalidArgumentException extends \InvalidArgumentException implements ExceptionInterface
+{
+}
diff --git a/vendor/commerceguys/intl/src/Exception/UnknownCountryException.php b/vendor/commerceguys/intl/src/Exception/UnknownCountryException.php
new file mode 100644
index 000000000..c89845b23
--- /dev/null
+++ b/vendor/commerceguys/intl/src/Exception/UnknownCountryException.php
@@ -0,0 +1,11 @@
+<?php
+
+namespace CommerceGuys\Intl\Exception;
+
+/**
+ * This exception is thrown when an unknown country code is passed to the
+ * CountryRepository.
+ */
+class UnknownCountryException extends InvalidArgumentException implements ExceptionInterface
+{
+}
diff --git a/vendor/commerceguys/intl/src/Exception/UnknownCurrencyException.php b/vendor/commerceguys/intl/src/Exception/UnknownCurrencyException.php
new file mode 100644
index 000000000..f94c93d8a
--- /dev/null
+++ b/vendor/commerceguys/intl/src/Exception/UnknownCurrencyException.php
@@ -0,0 +1,11 @@
+<?php
+
+namespace CommerceGuys\Intl\Exception;
+
+/**
+ * This exception is thrown when an unknown currency code is passed to the
+ * CurrencyRepository.
+ */
+class UnknownCurrencyException extends InvalidArgumentException implements ExceptionInterface
+{
+}
diff --git a/vendor/commerceguys/intl/src/Exception/UnknownLanguageException.php b/vendor/commerceguys/intl/src/Exception/UnknownLanguageException.php
new file mode 100644
index 000000000..922b42185
--- /dev/null
+++ b/vendor/commerceguys/intl/src/Exception/UnknownLanguageException.php
@@ -0,0 +1,11 @@
+<?php
+
+namespace CommerceGuys\Intl\Exception;
+
+/**
+ * This exception is thrown when an unknown language code is passed to the
+ * LanguageRepository.
+ */
+class UnknownLanguageException extends InvalidArgumentException implements ExceptionInterface
+{
+}
diff --git a/vendor/commerceguys/intl/src/Exception/UnknownLocaleException.php b/vendor/commerceguys/intl/src/Exception/UnknownLocaleException.php
new file mode 100644
index 000000000..0deca13e8
--- /dev/null
+++ b/vendor/commerceguys/intl/src/Exception/UnknownLocaleException.php
@@ -0,0 +1,10 @@
+<?php
+
+namespace CommerceGuys\Intl\Exception;
+
+/**
+ * This exception is thrown when an unknown locale is passed to a repository.
+ */
+class UnknownLocaleException extends InvalidArgumentException implements ExceptionInterface
+{
+}
diff --git a/vendor/commerceguys/intl/src/Formatter/NumberFormatter.php b/vendor/commerceguys/intl/src/Formatter/NumberFormatter.php
new file mode 100644
index 000000000..5d36fc89b
--- /dev/null
+++ b/vendor/commerceguys/intl/src/Formatter/NumberFormatter.php
@@ -0,0 +1,421 @@
+<?php
+
+namespace CommerceGuys\Intl\Formatter;
+
+use CommerceGuys\Intl\Currency\CurrencyInterface;
+use CommerceGuys\Intl\Exception\InvalidArgumentException;
+use CommerceGuys\Intl\NumberFormat\NumberFormatInterface;
+
+/**
+ * Formats numbers using locale-specific patterns.
+ */
+class NumberFormatter implements NumberFormatterInterface
+{
+ /**
+ * The number format.
+ *
+ * @var NumberFormatInterface
+ */
+ protected $numberFormat;
+
+ /**
+ * The number pattern used to format positive numbers.
+ *
+ * @var string
+ */
+ protected $positivePattern;
+
+ /**
+ * The number pattern used to format negative numbers.
+ *
+ * @var string
+ */
+ protected $negativePattern;
+
+ /**
+ * Whether grouping is used.
+ *
+ * @var bool
+ */
+ protected $groupingUsed;
+
+ /**
+ * The size of the group of digits closest to the decimal point.
+ *
+ * @var int
+ */
+ protected $primaryGroupSize;
+
+ /**
+ * The size of every group of digits after the primary group.
+ *
+ * @var int
+ */
+ protected $secondaryGroupSize;
+
+ /**
+ * The minimum number of fraction digits to show.
+ *
+ * @var int
+ */
+ protected $minimumFractionDigits;
+
+ /**
+ * The maximum number of fraction digits to show.
+ *
+ * @var int
+ */
+ protected $maximumFractionDigits;
+
+ /**
+ * The currency display style.
+ *
+ * @var int
+ */
+ protected $currencyDisplay;
+
+ /**
+ * Localized digits.
+ *
+ * @var array
+ */
+ protected $digits = [
+ NumberFormatInterface::NUMBERING_SYSTEM_ARABIC => [
+ 0 => '٠', 1 => '١', 2 => '٢', 3 => '٣', 4 => '٤',
+ 5 => '٥', 6 => '٦', 7 => '٧', 8 => '٨', 9 => '٩',
+ ],
+ NumberFormatInterface::NUMBERING_SYSTEM_ARABIC_EXTENDED => [
+ 0 => '۰', 1 => '۱', 2 => '۲', 3 => '۳', 4 => '۴',
+ 5 => '۵', 6 => '۶', 7 => '۷', 8 => '۸', 9 => '۹',
+ ],
+ NumberFormatInterface::NUMBERING_SYSTEM_BENGALI => [
+ 0 => '০', 1 => '১', 2 => '২', 3 => '৩', 4 => '৪',
+ 5 => '৫', 6 => '৬', 7 => '৭', 8 => '৮', 9 => '৯',
+ ],
+ NumberFormatInterface::NUMBERING_SYSTEM_DEVANAGARI => [
+ 0 => '०', 1 => '१', 2 => '२', 3 => '३', 4 => '४',
+ 5 => '५', 6 => '६', 7 => '७', 8 => '८', 9 => '९',
+ ],
+ ];
+
+ /**
+ * Creaes a NumberFormatter instance.
+ *
+ * @param NumberFormatInterface $numberFormat The number format.
+ * @param int $style The formatting style.
+ *
+ * @throws \InvalidArgumentException
+ * @throws \RuntimeException
+ */
+ public function __construct(NumberFormatInterface $numberFormat, $style = self::DECIMAL)
+ {
+ if (!extension_loaded('bcmath')) {
+ throw new \RuntimeException('The bcmath extension is required by NumberFormatter.');
+ }
+ $availablePatterns = [
+ self::DECIMAL => $numberFormat->getDecimalPattern(),
+ self::PERCENT => $numberFormat->getPercentPattern(),
+ self::CURRENCY => $numberFormat->getCurrencyPattern(),
+ self::CURRENCY_ACCOUNTING => $numberFormat->getAccountingCurrencyPattern(),
+ ];
+ if (!array_key_exists($style, $availablePatterns)) {
+ // Unknown type.
+ throw new InvalidArgumentException('Unknown format style provided to NumberFormatter::__construct().');
+ }
+
+ // Split the selected pattern into positive and negative patterns.
+ $patterns = explode(';', $availablePatterns[$style]);
+ if (!isset($patterns[1])) {
+ // No explicit negative pattern was provided, construct it.
+ $patterns[1] = '-' . $patterns[0];
+ }
+
+ $this->numberFormat = $numberFormat;
+ $this->positivePattern = $patterns[0];
+ $this->negativePattern = $patterns[1];
+ $this->groupingUsed = (strpos($this->positivePattern, ',') !== false);
+ // This pattern has number groups, parse them.
+ if ($this->groupingUsed) {
+ preg_match('/#+0/', $this->positivePattern, $primaryGroupMatches);
+ $this->primaryGroupSize = $this->secondaryGroupSize = strlen($primaryGroupMatches[0]);
+ $numberGroups = explode(',', $this->positivePattern);
+ if (count($numberGroups) > 2) {
+ // This pattern has a distinct secondary group size.
+ $this->secondaryGroupSize = strlen($numberGroups[1]);
+ }
+ }
+
+ // Initialize the fraction digit settings for decimal and percent
+ // styles only. The currency ones will default to the currency values.
+ if (in_array($style, [self::DECIMAL, self::PERCENT])) {
+ $this->minimumFractionDigits = 0;
+ $this->maximumFractionDigits = 3;
+ }
+ $this->currencyDisplay = self::CURRENCY_DISPLAY_SYMBOL;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function format($value)
+ {
+ if (!is_numeric($value)) {
+ $message = sprintf('The provided value "%s" must be a valid number or numeric string.', $value);
+ throw new InvalidArgumentException($message);
+ }
+
+ // Ensure that the value is positive and has the right number of digits.
+ $negative = (bccomp('0', $value, 12) == 1);
+ $signMultiplier = $negative ? '-1' : '1';
+ $value = bcdiv($value, $signMultiplier, $this->maximumFractionDigits);
+ // Split the number into major and minor digits.
+ $valueParts = explode('.', $value);
+ $majorDigits = $valueParts[0];
+ // Account for maximumFractionDigits = 0, where the number won't
+ // have a decimal point, and $valueParts[1] won't be set.
+ $minorDigits = isset($valueParts[1]) ? $valueParts[1] : '';
+
+ if ($this->groupingUsed) {
+ // Reverse the major digits, since they are grouped from the right.
+ $majorDigits = array_reverse(str_split($majorDigits));
+ // Group the major digits.
+ $groups = [];
+ $groups[] = array_splice($majorDigits, 0, $this->primaryGroupSize);
+ while (!empty($majorDigits)) {
+ $groups[] = array_splice($majorDigits, 0, $this->secondaryGroupSize);
+ }
+ // Reverse the groups and the digits inside of them.
+ $groups = array_reverse($groups);
+ foreach ($groups as &$group) {
+ $group = implode(array_reverse($group));
+ }
+ // Reconstruct the major digits.
+ $majorDigits = implode(',', $groups);
+ }
+
+ if ($this->minimumFractionDigits < $this->maximumFractionDigits) {
+ // Strip any trailing zeroes.
+ $minorDigits = rtrim($minorDigits, '0');
+ if (strlen($minorDigits) < $this->minimumFractionDigits) {
+ // Now there are too few digits, re-add trailing zeroes
+ // until the desired length is reached.
+ $neededZeroes = $this->minimumFractionDigits - strlen($minorDigits);
+ $minorDigits .= str_repeat('0', $neededZeroes);
+ }
+ }
+
+ // Assemble the final number and insert it into the pattern.
+ $value = strlen($minorDigits) ? $majorDigits . '.' . $minorDigits : $majorDigits;
+ $pattern = $negative ? $this->negativePattern : $this->positivePattern;
+ $value = preg_replace('/#(?:[\.,]#+)*0(?:[,\.][0#]+)*/', $value, $pattern);
+
+ // Localize the number.
+ $value = $this->replaceDigits($value);
+ $value = $this->replaceSymbols($value);
+
+ return $value;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function formatCurrency($value, CurrencyInterface $currency)
+ {
+ // Use the currency defaults if the values weren't set by the caller.
+ $resetMinimumFractionDigits = $resetMaximumFractionDigits = false;
+ if (!isset($this->minimumFractionDigits)) {
+ $this->minimumFractionDigits = $currency->getFractionDigits();
+ $resetMinimumFractionDigits = true;
+ }
+ if (!isset($this->maximumFractionDigits)) {
+ $this->maximumFractionDigits = $currency->getFractionDigits();
+ $resetMaximumFractionDigits = true;
+ }
+
+ // Format the decimal part of the value first.
+ $value = $this->format($value);
+
+ // Reset the fraction digit settings, so that they don't affect
+ // future formattings with different currencies.
+ if ($resetMinimumFractionDigits) {
+ $this->minimumFractionDigits = null;
+ }
+ if ($resetMaximumFractionDigits) {
+ $this->maximumFractionDigits = null;
+ }
+
+ // Determine whether to show the currency symbol or the currency code.
+ if ($this->currencyDisplay == self::CURRENCY_DISPLAY_SYMBOL) {
+ $symbol = $currency->getSymbol();
+ } else {
+ $symbol = $currency->getCurrencyCode();
+ }
+
+ return str_replace('¤', $symbol, $value);
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function parse($value)
+ {
+ $replacements = [
+ $this->numberFormat->getGroupingSeparator() => '',
+ // Convert the localized symbols back to their original form.
+ $this->numberFormat->getDecimalSeparator() => '.',
+ $this->numberFormat->getPlusSign() => '+',
+ $this->numberFormat->getMinusSign() => '-',
+
+ // Strip whitespace (spaces and non-breaking spaces).
+ ' ' => '',
+ chr(0xC2) . chr(0xA0) => '',
+ ];
+ $numberingSystem = $this->numberFormat->getNumberingSystem();
+ if (isset($this->digits[$numberingSystem])) {
+ // Convert the localized digits back to latin.
+ $replacements += array_flip($this->digits[$numberingSystem]);
+ }
+
+ $value = strtr($value, $replacements);
+ if (substr($value, 0, 1) == '(' && substr($value, -1, 1) == ')') {
+ // This is an accounting formatted negative number.
+ $value = '-' . str_replace(['(', ')'], '', $value);
+ }
+
+ return is_numeric($value) ? $value : false;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function parseCurrency($value, CurrencyInterface $currency)
+ {
+ $replacements = [
+ // Strip the currency code or symbol.
+ $currency->getCurrencyCode() => '',
+ $currency->getSymbol() => '',
+ ];
+ $value = strtr($value, $replacements);
+
+ return $this->parse($value);
+ }
+
+ /**
+ * Replaces digits with their localized equivalents.
+ *
+ * @param string $value The value being formatted.
+ *
+ * @return string
+ */
+ protected function replaceDigits($value)
+ {
+ $numberingSystem = $this->numberFormat->getNumberingSystem();
+ if (isset($this->digits[$numberingSystem])) {
+ $value = strtr($value, $this->digits[$numberingSystem]);
+ }
+
+ return $value;
+ }
+
+ /**
+ * Replaces number symbols with their localized equivalents.
+ *
+ * @param string $value The value being formatted.
+ *
+ * @return string
+ *
+ * @see http://cldr.unicode.org/translation/number-symbols
+ */
+ protected function replaceSymbols($value)
+ {
+ $replacements = [
+ '.' => $this->numberFormat->getDecimalSeparator(),
+ ',' => $this->numberFormat->getGroupingSeparator(),
+ '+' => $this->numberFormat->getPlusSign(),
+ '-' => $this->numberFormat->getMinusSign(),
+ '%' => $this->numberFormat->getPercentSign(),
+ ];
+
+ return strtr($value, $replacements);
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function getNumberFormat()
+ {
+ return $this->numberFormat;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function getMinimumFractionDigits()
+ {
+ return $this->minimumFractionDigits;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function setMinimumFractionDigits($minimumFractionDigits)
+ {
+ $this->minimumFractionDigits = $minimumFractionDigits;
+
+ return $this;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function getMaximumFractionDigits()
+ {
+ return $this->maximumFractionDigits;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function setMaximumFractionDigits($maximumFractionDigits)
+ {
+ $this->maximumFractionDigits = $maximumFractionDigits;
+
+ return $this;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function isGroupingUsed()
+ {
+ return $this->groupingUsed;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function setGroupingUsed($groupingUsed)
+ {
+ $this->groupingUsed = $groupingUsed;
+
+ return $this;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function getCurrencyDisplay()
+ {
+ return $this->currencyDisplay;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function setCurrencyDisplay($currencyDisplay)
+ {
+ $this->currencyDisplay = $currencyDisplay;
+
+ return $this;
+ }
+}
diff --git a/vendor/commerceguys/intl/src/Formatter/NumberFormatterInterface.php b/vendor/commerceguys/intl/src/Formatter/NumberFormatterInterface.php
new file mode 100644
index 000000000..3a510be2a
--- /dev/null
+++ b/vendor/commerceguys/intl/src/Formatter/NumberFormatterInterface.php
@@ -0,0 +1,151 @@
+<?php
+
+namespace CommerceGuys\Intl\Formatter;
+
+use CommerceGuys\Intl\Currency\CurrencyInterface;
+use CommerceGuys\Intl\NumberFormat\NumberFormatInterface;
+
+interface NumberFormatterInterface
+{
+ /* Format style constants */
+ const DECIMAL = 1;
+ const PERCENT = 2;
+ const CURRENCY = 3;
+ const CURRENCY_ACCOUNTING = 4;
+
+ /* Currency display style constants */
+ const CURRENCY_DISPLAY_SYMBOL = 1;
+ const CURRENCY_DISPLAY_CODE = 2;
+
+ /**
+ * Formats a number.
+ *
+ * Please note that the provided value should already be rounded.
+ * This formatter doesn't do any rounding of its own, and will simply
+ * truncate extra digits.
+ *
+ * @param string $value The value to format.
+ *
+ * @return string
+ */
+ public function format($value);
+
+ /**
+ * Formats a currency value.
+ *
+ * Please note that the provided value should already be rounded.
+ * This formatter doesn't do any rounding of its own, and will simply
+ * truncate extra digits.
+ *
+ * @param string $value The value to format.
+ * @param CurrencyInterface $currency The currency.
+ *
+ * @return string
+ */
+ public function formatCurrency($value, CurrencyInterface $currency);
+
+ /**
+ * Parses a number.
+ *
+ * Commonly used in input widgets where the end-user might input
+ * a value using digits and symbols common to their locale.
+ *
+ * @param string $value The value to parse.
+ *
+ * @return string|false The parsed numeric value or FALSE on error.
+ */
+ public function parse($value);
+
+ /**
+ * Parses a formatted currency value.
+ *
+ * @param string $value The value to parse.
+ * @param CurrencyInterface $currency The currency.
+ *
+ * @return string|false The parsed numeric value or FALSE on error.
+ */
+ public function parseCurrency($value, CurrencyInterface $currency);
+
+ /**
+ * Gets the number format.
+ *
+ * @return NumberFormatInterface
+ */
+ public function getNumberFormat();
+
+ /**
+ * Gets the minimum number of fraction digits.
+ *
+ * Defaults to 0 for decimal and percentage styles.
+ * Defaults to null for currency styles, since the currency number of
+ * fraction digits is used as the default in that case.
+ *
+ * @return int
+ */
+ public function getMinimumFractionDigits();
+
+ /**
+ * Sets the minimum number of fraction digits.
+ *
+ * @param int $minimumFractionDigits
+ *
+ * @return self
+ */
+ public function setMinimumFractionDigits($minimumFractionDigits);
+
+ /**
+ * Gets the maximum number of fraction digits.
+ *
+ * Defaults to 3 for decimal and percentage styles.
+ * Defaults to null for currency styles, since the currency number of
+ * fraction digits is used as the default in that case.
+ *
+ * @return int
+ */
+ public function getMaximumFractionDigits();
+
+ /**
+ * Sets the maximum number of fraction digits.
+ *
+ * @param int $maximumFractionDigits
+ *
+ * @return self
+ */
+ public function setMaximumFractionDigits($maximumFractionDigits);
+
+ /**
+ * Returns whether the major digits will be grouped.
+ *
+ * @return bool
+ */
+ public function isGroupingUsed();
+
+ /**
+ * Sets whether or not major digits should be grouped.
+ *
+ * @param bool $groupingUsed
+ *
+ * @return self
+ */
+ public function setGroupingUsed($groupingUsed);
+
+ /**
+ * Gets the currency display style.
+ *
+ * Controls whether a currency amount will be shown with the
+ * currency symbol (CURRENCY_DISPLAY_SYMBOL) or the
+ * currency code (CURRENCY_DISPLAY_CODE).
+ *
+ * @return int
+ */
+ public function getCurrencyDisplay();
+
+ /**
+ * Sets the currency display style.
+ *
+ * @param int $currencyDisplay One of the CURRENCY_DISPLAY_ constants.
+ *
+ * @return self
+ */
+ public function setCurrencyDisplay($currencyDisplay);
+}
diff --git a/vendor/commerceguys/intl/src/Language/Language.php b/vendor/commerceguys/intl/src/Language/Language.php
new file mode 100644
index 000000000..9958d5481
--- /dev/null
+++ b/vendor/commerceguys/intl/src/Language/Language.php
@@ -0,0 +1,91 @@
+<?php
+
+namespace CommerceGuys\Intl\Language;
+
+class Language implements LanguageEntityInterface
+{
+ /**
+ * The two-letter language code.
+ *
+ * @var string
+ */
+ protected $languageCode;
+
+ /**
+ * The language name.
+ *
+ * @var string
+ */
+ protected $name;
+
+ /**
+ * The language locale (i.e. "en-US").
+ *
+ * @var string
+ */
+ protected $locale;
+
+ /**
+ * Returns the string representation of the Language.
+ *
+ * @return string
+ */
+ public function __toString()
+ {
+ return $this->getLanguageCode();
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function getLanguageCode()
+ {
+ return $this->languageCode;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function setLanguageCode($languageCode)
+ {
+ $this->languageCode = $languageCode;
+
+ return $this;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function setName($name)
+ {
+ $this->name = $name;
+
+ return $this;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function getLocale()
+ {
+ return $this->locale;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function setLocale($locale)
+ {
+ $this->locale = $locale;
+
+ return $this;
+ }
+}
diff --git a/vendor/commerceguys/intl/src/Language/LanguageEntityInterface.php b/vendor/commerceguys/intl/src/Language/LanguageEntityInterface.php
new file mode 100644
index 000000000..e36e0bf77
--- /dev/null
+++ b/vendor/commerceguys/intl/src/Language/LanguageEntityInterface.php
@@ -0,0 +1,24 @@
+<?php
+
+namespace CommerceGuys\Intl\Language;
+
+interface LanguageEntityInterface extends LanguageInterface
+{
+ /**
+ * Sets the two-letter language code.
+ *
+ * @param string $languageCode The two-letter language code.
+ *
+ * @return self
+ */
+ public function setLanguageCode($languageCode);
+
+ /**
+ * Sets the language name.
+ *
+ * @param string $name The language name.
+ *
+ * @return self
+ */
+ public function setName($name);
+}
diff --git a/vendor/commerceguys/intl/src/Language/LanguageInterface.php b/vendor/commerceguys/intl/src/Language/LanguageInterface.php
new file mode 100644
index 000000000..14c603dfd
--- /dev/null
+++ b/vendor/commerceguys/intl/src/Language/LanguageInterface.php
@@ -0,0 +1,23 @@
+<?php
+
+namespace CommerceGuys\Intl\Language;
+
+interface LanguageInterface
+{
+ /**
+ * Gets the two-letter language code.
+ *
+ * @return string
+ */
+ public function getLanguageCode();
+
+ /**
+ * Gets the language name.
+ *
+ * Note that certain locales have incomplete translations, in which
+ * case the english version of the language name is used instead.
+ *
+ * @return string
+ */
+ public function getName();
+}
diff --git a/vendor/commerceguys/intl/src/Language/LanguageRepository.php b/vendor/commerceguys/intl/src/Language/LanguageRepository.php
new file mode 100644
index 000000000..4fc02f2ff
--- /dev/null
+++ b/vendor/commerceguys/intl/src/Language/LanguageRepository.php
@@ -0,0 +1,115 @@
+<?php
+
+namespace CommerceGuys\Intl\Language;
+
+use CommerceGuys\Intl\LocaleResolverTrait;
+use CommerceGuys\Intl\Exception\UnknownLanguageException;
+
+/**
+ * Manages languages based on JSON definitions.
+ */
+class LanguageRepository implements LanguageRepositoryInterface
+{
+ use LocaleResolverTrait;
+
+ /**
+ * Per-locale language definitions.
+ *
+ * @var array
+ */
+ protected $definitions = [];
+
+ /**
+ * Creates a LanguageRepository instance.
+ *
+ * @param string $definitionPath The path to the currency definitions.
+ * Defaults to 'resources/language'.
+ */
+ public function __construct($definitionPath = null)
+ {
+ $this->definitionPath = $definitionPath ? $definitionPath : __DIR__ . '/../../resources/language/';
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function get($languageCode, $locale = null, $fallbackLocale = null)
+ {
+ $locale = $this->resolveLocale($locale, $fallbackLocale);
+ $definitions = $this->loadDefinitions($locale);
+ if (!isset($definitions[$languageCode])) {
+ throw new UnknownLanguageException($languageCode);
+ }
+
+ return $this->createLanguageFromDefinition($languageCode, $definitions[$languageCode], $locale);
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function getAll($locale = null, $fallbackLocale = null)
+ {
+ $locale = $this->resolveLocale($locale, $fallbackLocale);
+ $definitions = $this->loadDefinitions($locale);
+ $languages = [];
+ foreach ($definitions as $languageCode => $definition) {
+ $languages[$languageCode] = $this->createLanguageFromDefinition($languageCode, $definition, $locale);
+ }
+
+ return $languages;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function getList($locale = null, $fallbackLocale = null)
+ {
+ $locale = $this->resolveLocale($locale, $fallbackLocale);
+ $definitions = $this->loadDefinitions($locale);
+ $list = [];
+ foreach ($definitions as $languageCode => $definition) {
+ $list[$languageCode] = $definition['name'];
+ }
+
+ return $list;
+ }
+
+ /**
+ * Loads the language definitions for the provided locale.
+ *
+ * @param string $locale The desired locale.
+ *
+ * @return array
+ */
+ protected function loadDefinitions($locale)
+ {
+ if (!isset($this->definitions[$locale])) {
+ $filename = $this->definitionPath . $locale . '.json';
+ $this->definitions[$locale] = json_decode(file_get_contents($filename), true);
+ }
+
+ return $this->definitions[$locale];
+ }
+
+ /**
+ * Creates a language object from the provided definition.
+ *
+ * @param string $languageCode The language code.
+ * @param array $definition The language definition.
+ * @param string $locale The locale of the language definition.
+ *
+ * @return Language
+ */
+ protected function createLanguageFromDefinition($languageCode, array $definition, $locale)
+ {
+ $language = new Language();
+ $setValues = \Closure::bind(function ($languageCode, $definition, $locale) {
+ $this->languageCode = $languageCode;
+ $this->name = $definition['name'];
+ $this->locale = $locale;
+ }, $language, '\CommerceGuys\Intl\Language\Language');
+ $setValues($languageCode, $definition, $locale);
+
+ return $language;
+ }
+}
diff --git a/vendor/commerceguys/intl/src/Language/LanguageRepositoryInterface.php b/vendor/commerceguys/intl/src/Language/LanguageRepositoryInterface.php
new file mode 100644
index 000000000..dd14250e0
--- /dev/null
+++ b/vendor/commerceguys/intl/src/Language/LanguageRepositoryInterface.php
@@ -0,0 +1,41 @@
+<?php
+
+namespace CommerceGuys\Intl\Language;
+
+/**
+ * Language repository interface.
+ */
+interface LanguageRepositoryInterface
+{
+ /**
+ * Returns a language instance matching the provided language code.
+ *
+ * @param string $languageCode The language code.
+ * @param string $locale The locale (i.e. fr-FR).
+ * @param string $fallbackLocale A fallback locale (i.e "en").
+ *
+ * @return LanguageInterface
+ */
+ public function get($languageCode, $locale = null, $fallbackLocale = null);
+
+ /**
+ * Returns all language instances.
+ *
+ * @param string $locale The locale (i.e. fr-FR).
+ * @param string $fallbackLocale A fallback locale (i.e "en").
+ *
+ * @return array An array of languages implementing the LanguageInterface,
+ * keyed by language code.
+ */
+ public function getAll($locale = null, $fallbackLocale = null);
+
+ /**
+ * Returns a list of languages.
+ *
+ * @param string $locale The locale (i.e. fr-FR).
+ * @param string $fallbackLocale A fallback locale (i.e "en").
+ *
+ * @return array An array of language names, keyed by language code.
+ */
+ public function getList($locale = null, $fallbackLocale = null);
+}
diff --git a/vendor/commerceguys/intl/src/LocaleResolverTrait.php b/vendor/commerceguys/intl/src/LocaleResolverTrait.php
new file mode 100644
index 000000000..797e5abaf
--- /dev/null
+++ b/vendor/commerceguys/intl/src/LocaleResolverTrait.php
@@ -0,0 +1,244 @@
+<?php
+
+namespace CommerceGuys\Intl;
+
+use CommerceGuys\Intl\Exception\UnknownLocaleException;
+
+trait LocaleResolverTrait
+{
+ /**
+ * The path where per-locale definitions are stored.
+ *
+ * @var string
+ */
+ protected $definitionPath;
+
+ /**
+ * The default locale.
+ *
+ * @var string
+ */
+ protected $defaultLocale = 'en';
+
+ /**
+ * The fallback locale.
+ *
+ * @var string
+ */
+ protected $fallbackLocale = null;
+
+ /**
+ * Common locale aliases.
+ *
+ * @var array
+ */
+ protected $localeAliases = [
+ 'az-AZ' => 'az-Latn-AZ',
+ 'bs-BA' => 'bs-Latn-BA',
+ 'ha-GH' => 'ha-Latn-GH',
+ 'ha-NE' => 'ha-Latn-NE',
+ 'ha-NG' => 'ha-Latn-NG',
+ 'in' => 'id',
+ 'in-ID' => 'id-ID',
+ 'iw' => 'he',
+ 'iw-IL' => 'he-IL',
+ 'kk-KZ' => 'kk-Cyrl-KZ',
+ 'ks-IN' => 'ks-Arab-IN',
+ 'ky-KG' => 'ky-Cyrl-KG',
+ 'mn-MN' => 'mn-Cyrl-MN',
+ 'mo' => 'ro-MD',
+ 'ms-BN' => 'ms-Latn-BN',
+ 'ms-MY' => 'ms-Latn-MY',
+ 'ms-SG' => 'ms-Latn-SG',
+ 'no' => 'nb',
+ 'no-NO' => 'nb-NO',
+ 'no-NO-NY' => 'nn-NO',
+ 'pa-IN' => 'pa-Guru-IN',
+ 'pa-PK' => 'pa-Arab-PK',
+ 'sh' => 'sr-Latn',
+ 'sh-BA' => 'sr-Latn-BA',
+ 'sh-CS' => 'sr-Latn-RS',
+ 'sh-YU' => 'sr-Latn-RS',
+ 'shi-MA' => 'shi-Tfng-MA',
+ 'sr-BA' => 'sr-Cyrl-BA',
+ 'sr-ME' => 'sr-Latn-ME',
+ 'sr-RS' => 'sr-Cyrl-RS',
+ 'sr-XK' => 'sr-Cyrl-XK',
+ 'tl' => 'fil',
+ 'tl-PH' => 'fil-PH',
+ 'tzm-MA' => 'tzm-Latn-MA',
+ 'ug-CN' => 'ug-Arab-CN',
+ 'uz-AF' => 'uz-Arab-AF',
+ 'uz-UZ' => 'uz-Latn-UZ',
+ 'vai-LR' => 'vai-Vaii-LR',
+ 'zh-CN' => 'zh-Hans-CN',
+ 'zh-HK' => 'zh-Hant-HK',
+ 'zh-MO' => 'zh-Hant-MO',
+ 'zh-SG' => 'zh-Hans-SG',
+ 'zh-TW' => 'zh-Hant-TW',
+ ];
+
+ /**
+ * Determines which locale should be used for loading definitions.
+ *
+ * If the "bs-Cyrl-BA" locale is requested, with an "en" fallback,
+ * the system will try to find the definitions for:
+ * 1) bs-Cyrl-BA
+ * 2) bs-Cyrl
+ * 3) bs
+ * 4) en
+ * The first locale for which a definition file is found, wins.
+ * Otherwise, an exception is thrown.
+ *
+ * @param string $locale The desired locale (i.e. fr-FR).
+ * @param string $fallbackLocale A fallback locale (i.e "en").
+ *
+ * @return string
+ *
+ * @throws UnknownLocaleException
+ */
+ protected function resolveLocale($locale = null, $fallbackLocale = null)
+ {
+ $locale = $locale ?: $this->getDefaultLocale();
+ $locale = $this->canonicalizeLocale($locale);
+ $locale = $this->resolveLocaleAlias($locale);
+ // List all possible variants (i.e. en-US gives "en-US" and "en").
+ $localeVariants = $this->getLocaleVariants($locale);
+ // A fallback locale was provided, add it to the end of the chain.
+ $fallbackLocale = $fallbackLocale ?: $this->getFallbackLocale();
+ if (isset($fallbackLocale)) {
+ $localeVariants[] = $fallbackLocale;
+ }
+
+ // Try to resolve a locale by finding a matching definition file.
+ $resolvedLocale = null;
+ foreach ($localeVariants as $localeVariant) {
+ $path = $this->definitionPath . $localeVariant . '.json';
+ if (file_exists($path)) {
+ $resolvedLocale = $localeVariant;
+ break;
+ }
+ }
+ // No locale could be resolved, stop here.
+ if (!$resolvedLocale) {
+ throw new UnknownLocaleException($locale);
+ }
+
+ return $resolvedLocale;
+ }
+
+ /**
+ * Resolves known locale aliases.
+ *
+ * For example, "zh-CN" is resolved to "zh-Hans-CN".
+ *
+ * @param string $locale The locale.
+ *
+ * @return string The locale.
+ */
+ protected function resolveLocaleAlias($locale = null)
+ {
+ if ($locale && isset($this->localeAliases[$locale])) {
+ $locale = $this->localeAliases[$locale];
+ }
+
+ return $locale;
+ }
+
+ /**
+ * Canonicalize the given locale.
+ *
+ * @param string $locale The locale.
+ *
+ * @return string The canonicalized locale.
+ */
+ protected function canonicalizeLocale($locale = null)
+ {
+ if (is_null($locale)) {
+ return $locale;
+ }
+
+ $locale = str_replace('-', '_', strtolower($locale));
+ $localeParts = explode('_', $locale);
+ foreach ($localeParts as $index => $part) {
+ if ($index === 0) {
+ // The language code should stay lowercase.
+ continue;
+ }
+
+ if (strlen($part) == 4) {
+ // Script code.
+ $localeParts[$index] = ucfirst($part);
+ } else {
+ // Country or variant code.
+ $localeParts[$index] = strtoupper($part);
+ }
+ }
+
+ return implode('-', $localeParts);
+ }
+
+ /**
+ * Gets the default locale.
+ *
+ * @return string The default locale.
+ */
+ public function getDefaultLocale()
+ {
+ return $this->defaultLocale;
+ }
+
+ /**
+ * Sets the default locale.
+ *
+ * @return void
+ */
+ public function setDefaultLocale($locale)
+ {
+ $this->defaultLocale = $locale;
+ }
+
+ /**
+ * Gets the fallback locale.
+ *
+ * @return string The fallback locale.
+ */
+ public function getFallbackLocale()
+ {
+ return $this->fallbackLocale;
+ }
+
+ /**
+ * Sets the fallback locale.
+ *
+ * @return void
+ */
+ public function setFallbackLocale($locale)
+ {
+ $this->fallbackLocale = $locale;
+ }
+
+ /**
+ * Gets all variants of a locale.
+ *
+ * For example, "bs-Cyrl-BA" has the following variants:
+ * 1) bs-Cyrl-BA
+ * 2) bs-Cyrl
+ * 3) bs
+ *
+ * @param string $locale The locale (i.e. fr-FR).
+ *
+ * @return array An array of all variants of a locale.
+ */
+ protected function getLocaleVariants($locale)
+ {
+ $localeVariants = [];
+ $localeParts = explode('-', $locale);
+ while (!empty($localeParts)) {
+ $localeVariants[] = implode('-', $localeParts);
+ array_pop($localeParts);
+ }
+
+ return $localeVariants;
+ }
+}
diff --git a/vendor/commerceguys/intl/src/NumberFormat/NumberFormat.php b/vendor/commerceguys/intl/src/NumberFormat/NumberFormat.php
new file mode 100644
index 000000000..077f6721f
--- /dev/null
+++ b/vendor/commerceguys/intl/src/NumberFormat/NumberFormat.php
@@ -0,0 +1,269 @@
+<?php
+
+namespace CommerceGuys\Intl\NumberFormat;
+
+class NumberFormat implements NumberFormatEntityInterface
+{
+ /**
+ * The locale (i.e. "en_US").
+ *
+ * @var string
+ */
+ protected $locale;
+
+ /**
+ * The numbering system.
+ *
+ * @var string
+ */
+ protected $numberingSystem = [];
+
+ /**
+ * The decimal separator.
+ *
+ * @var string
+ */
+ protected $decimalSeparator = [];
+
+ /**
+ * The grouping separator.
+ *
+ * @var string
+ */
+ protected $groupingSeparator = [];
+
+ /**
+ * The plus sign.
+ *
+ * @var string
+ */
+ protected $plusSign = [];
+
+ /**
+ * The number symbols.
+ *
+ * @var string
+ */
+ protected $minusSign = [];
+
+ /**
+ * The percent sign.
+ *
+ * @var string
+ */
+ protected $percentSign = [];
+
+ /**
+ * The number pattern used to format decimal numbers.
+ *
+ * @var string
+ */
+ protected $decimalPattern;
+
+ /**
+ * The number pattern used to format percentages.
+ *
+ * @var string
+ */
+ protected $percentPattern;
+
+ /**
+ * The number pattern used to format currency amounts.
+ *
+ * @var string
+ */
+ protected $currencyPattern;
+
+ /**
+ * The number pattern used to format accounting currency amounts.
+ *
+ * @var string
+ */
+ protected $accountingCurrencyPattern;
+
+ /**
+ * {@inheritdoc}
+ */
+ public function getLocale()
+ {
+ return $this->locale;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function setLocale($locale)
+ {
+ $this->locale = $locale;
+
+ return $this;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function getNumberingSystem()
+ {
+ return $this->numberingSystem;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function setNumberingSystem($numberingSystem)
+ {
+ $this->numberingSystem = $numberingSystem;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function getDecimalSeparator()
+ {
+ return $this->decimalSeparator;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function setDecimalSeparator($decimalSeparator)
+ {
+ $this->decimalSeparator = $decimalSeparator;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function getGroupingSeparator()
+ {
+ return $this->groupingSeparator;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function setGroupingSeparator($groupingSeparator)
+ {
+ $this->groupingSeparator = $groupingSeparator;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function getPlusSign()
+ {
+ return $this->plusSign;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function setPlusSign($plusSign)
+ {
+ $this->plusSign = $plusSign;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function getMinusSign()
+ {
+ return $this->minusSign;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function setMinusSign($minusSign)
+ {
+ $this->minusSign = $minusSign;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function getPercentSign()
+ {
+ return $this->percentSign;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function setPercentSign($percentSign)
+ {
+ $this->percentSign = $percentSign;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function getDecimalPattern()
+ {
+ return $this->decimalPattern;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function setDecimalPattern($decimalPattern)
+ {
+ $this->decimalPattern = $decimalPattern;
+
+ return $this;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function getPercentPattern()
+ {
+ return $this->percentPattern;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function setPercentPattern($percentPattern)
+ {
+ $this->percentPattern = $percentPattern;
+
+ return $this;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function getCurrencyPattern()
+ {
+ return $this->currencyPattern;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function setCurrencyPattern($currencyPattern)
+ {
+ $this->currencyPattern = $currencyPattern;
+
+ return $this;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function getAccountingCurrencyPattern()
+ {
+ return $this->accountingCurrencyPattern;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function setAccountingCurrencyPattern($accountingCurrencyPattern)
+ {
+ $this->accountingCurrencyPattern = $accountingCurrencyPattern;
+
+ return $this;
+ }
+}
diff --git a/vendor/commerceguys/intl/src/NumberFormat/NumberFormatEntityInterface.php b/vendor/commerceguys/intl/src/NumberFormat/NumberFormatEntityInterface.php
new file mode 100644
index 000000000..debafd6ba
--- /dev/null
+++ b/vendor/commerceguys/intl/src/NumberFormat/NumberFormatEntityInterface.php
@@ -0,0 +1,107 @@
+<?php
+
+namespace CommerceGuys\Intl\NumberFormat;
+
+interface NumberFormatEntityInterface extends NumberFormatInterface
+{
+ /**
+ * Sets the locale.
+ *
+ * @param string $locale The locale (i.e. "en_US").
+ *
+ * @return self
+ */
+ public function setLocale($locale);
+
+ /**
+ * Sets the numbering system.
+ *
+ * @param string $numberingSystem One of the NUMBERING_SYSTEM_ constants.
+ *
+ * @return self
+ */
+ public function setNumberingSystem($numberingSystem);
+
+ /**
+ * Sets the decimal separator.
+ *
+ * @param string $decimalSeparator
+ *
+ * @return self
+ */
+ public function setDecimalSeparator($decimalSeparator);
+
+ /**
+ * Sets the grouping separator.
+ *
+ * @param string $groupingSeparator
+ *
+ * @return self
+ */
+ public function setGroupingSeparator($groupingSeparator);
+
+ /**
+ * Sets the plus sign.
+ *
+ * @param string $plusSign
+ *
+ * @return self
+ */
+ public function setPlusSign($plusSign);
+
+ /**
+ * Sets the minus sign.
+ *
+ * @param string $minusSign
+ *
+ * @return self
+ */
+ public function setMinusSign($minusSign);
+
+ /**
+ * Sets the percent sign.
+ *
+ * @param string $percentSign
+ *
+ * @return self
+ */
+ public function setPercentSign($percentSign);
+
+ /**
+ * Sets the number pattern used to format decimal numbers.
+ *
+ * @param string $decimalPattern The decimal pattern.
+ *
+ * @return self
+ */
+ public function setDecimalPattern($decimalPattern);
+
+ /**
+ * Sets the number pattern used to format percentages.
+ *
+ * @param string $percentPattern The percent pattern.
+ *
+ * @return self
+ */
+ public function setPercentPattern($percentPattern);
+
+ /**
+ * Sets the number pattern used to format currency amounts.
+ *
+ * @param string $currencyPattern The currency pattern.
+ *
+ * @return self
+ */
+ public function setCurrencyPattern($currencyPattern);
+
+ /**
+ * Sets the number pattern used to format accounting currency amounts.
+ *
+ * Most commonly used when formatting amounts on invoices.
+ *
+ * @param string $accountingCurrencyPattern The accounting currency pattern.
+ *
+ * @return self
+ */
+ public function setAccountingCurrencyPattern($accountingCurrencyPattern);
+}
diff --git a/vendor/commerceguys/intl/src/NumberFormat/NumberFormatInterface.php b/vendor/commerceguys/intl/src/NumberFormat/NumberFormatInterface.php
new file mode 100644
index 000000000..bb343f366
--- /dev/null
+++ b/vendor/commerceguys/intl/src/NumberFormat/NumberFormatInterface.php
@@ -0,0 +1,106 @@
+<?php
+
+namespace CommerceGuys\Intl\NumberFormat;
+
+interface NumberFormatInterface
+{
+ // Arabic-Indic digits.
+ const NUMBERING_SYSTEM_ARABIC = 'arab';
+ // Extended Arabic-Indic digits.
+ const NUMBERING_SYSTEM_ARABIC_EXTENDED = 'arabext';
+ // Bengali digits.
+ const NUMBERING_SYSTEM_BENGALI = 'beng';
+ // Devanagari digits.
+ const NUMBERING_SYSTEM_DEVANAGARI = 'deva';
+ // Latin digits
+ const NUMBERING_SYSTEM_LATIN = 'latn';
+
+ /**
+ * Gets the locale.
+ *
+ * @return string
+ */
+ public function getLocale();
+
+ /**
+ * Gets the numbering system.
+ *
+ * The value is one of the NUMBERING_SYSTEM_ constants.
+ *
+ * @return string
+ */
+ public function getNumberingSystem();
+
+ /**
+ * Gets the decimal separator.
+ *
+ * @return string
+ */
+ public function getDecimalSeparator();
+
+ /**
+ * Gets the grouping separator.
+ *
+ * @return string
+ */
+ public function getGroupingSeparator();
+
+ /**
+ * Gets the plus sign.
+ *
+ * @return string
+ */
+ public function getPlusSign();
+
+ /**
+ * Gets the minus sign.
+ *
+ * @return string
+ */
+ public function getMinusSign();
+
+ /**
+ * Gets the percent sign.
+ *
+ * @return string
+ */
+ public function getPercentSign();
+
+ /**
+ * Gets the number pattern used to format decimal numbers.
+ *
+ * @return string
+ *
+ * @see http://cldr.unicode.org/translation/number-patterns
+ */
+ public function getDecimalPattern();
+
+ /**
+ * Gets the number pattern used to format percentages.
+ *
+ * @return string
+ *
+ * @see http://cldr.unicode.org/translation/number-patterns
+ */
+ public function getPercentPattern();
+
+ /**
+ * Gets the number pattern used to format currency amounts.
+ *
+ * @return string
+ *
+ * @see http://cldr.unicode.org/translation/number-patterns
+ */
+ public function getCurrencyPattern();
+
+ /**
+ * Gets the number pattern used to format accounting currency amounts.
+ *
+ * Most commonly used when formatting amounts on invoices.
+ *
+ * @return string
+ *
+ * @see http://cldr.unicode.org/translation/number-patterns
+ */
+ public function getAccountingCurrencyPattern();
+}
diff --git a/vendor/commerceguys/intl/src/NumberFormat/NumberFormatRepository.php b/vendor/commerceguys/intl/src/NumberFormat/NumberFormatRepository.php
new file mode 100644
index 000000000..368eb7e2b
--- /dev/null
+++ b/vendor/commerceguys/intl/src/NumberFormat/NumberFormatRepository.php
@@ -0,0 +1,91 @@
+<?php
+
+namespace CommerceGuys\Intl\NumberFormat;
+
+use CommerceGuys\Intl\LocaleResolverTrait;
+
+/**
+ * Repository for number formats based on JSON definitions.
+ */
+class NumberFormatRepository implements NumberFormatRepositoryInterface
+{
+ use LocaleResolverTrait;
+
+ /**
+ * Number formats.
+ *
+ * @var array
+ */
+ protected $numberFormats = [];
+
+ /**
+ * Creates a NumberFormatRepository instance.
+ *
+ * @param string $definitionPath The path to the number format definitions.
+ * Defaults to 'resources/number_format'.
+ */
+ public function __construct($definitionPath = null)
+ {
+ $this->definitionPath = $definitionPath ? $definitionPath : __DIR__ . '/../../resources/number_format/';
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function get($locale, $fallbackLocale = null)
+ {
+ $locale = $this->resolveLocale($locale, $fallbackLocale);
+ if (!isset($this->numberFormats[$locale])) {
+ $filename = $this->definitionPath . $locale . '.json';
+ $definition = json_decode(file_get_contents($filename), true);
+ $this->numberFormats[$locale] = $this->createNumberFormatFromDefinition($definition, $locale);
+ }
+
+ return $this->numberFormats[$locale];
+ }
+
+ /**
+ * Creates a number format object from the provided definition.
+ *
+ * @param array $definition The number format definition.
+ * @param string $locale The locale of the number format definition.
+ *
+ * @return NumberFormat
+ */
+ protected function createNumberFormatFromDefinition(array $definition, $locale)
+ {
+ if (!isset($definition['decimal_separator'])) {
+ $definition['decimal_separator'] = '.';
+ }
+ if (!isset($definition['grouping_separator'])) {
+ $definition['grouping_separator'] = ',';
+ }
+ if (!isset($definition['plus_sign'])) {
+ $definition['plus_sign'] = '+';
+ }
+ if (!isset($definition['minus_sign'])) {
+ $definition['minus_sign'] = '-';
+ }
+ if (!isset($definition['percent_sign'])) {
+ $definition['percent_sign'] = '%';
+ }
+
+ $numberFormat = new NumberFormat();
+ $setValues = \Closure::bind(function ($definition, $locale) {
+ $this->locale = $locale;
+ $this->numberingSystem = $definition['numbering_system'];
+ $this->decimalSeparator = $definition['decimal_separator'];
+ $this->groupingSeparator = $definition['grouping_separator'];
+ $this->plusSign = $definition['plus_sign'];
+ $this->minusSign = $definition['minus_sign'];
+ $this->percentSign = $definition['percent_sign'];
+ $this->decimalPattern = $definition['decimal_pattern'];
+ $this->percentPattern = $definition['percent_pattern'];
+ $this->currencyPattern = $definition['currency_pattern'];
+ $this->accountingCurrencyPattern = $definition['accounting_currency_pattern'];
+ }, $numberFormat, '\CommerceGuys\Intl\NumberFormat\NumberFormat');
+ $setValues($definition, $locale);
+
+ return $numberFormat;
+ }
+}
diff --git a/vendor/commerceguys/intl/src/NumberFormat/NumberFormatRepositoryInterface.php b/vendor/commerceguys/intl/src/NumberFormat/NumberFormatRepositoryInterface.php
new file mode 100644
index 000000000..ff162b522
--- /dev/null
+++ b/vendor/commerceguys/intl/src/NumberFormat/NumberFormatRepositoryInterface.php
@@ -0,0 +1,19 @@
+<?php
+
+namespace CommerceGuys\Intl\NumberFormat;
+
+/**
+ * Number format repository interface.
+ */
+interface NumberFormatRepositoryInterface
+{
+ /**
+ * Returns a number format instance for the provided locale.
+ *
+ * @param string $locale The locale (i.e. fr-FR).
+ * @param string $fallbackLocale A fallback locale (i.e "en").
+ *
+ * @return NumberFormatInterface
+ */
+ public function get($locale, $fallbackLocale = null);
+}
diff --git a/vendor/composer/ClassLoader.php b/vendor/composer/ClassLoader.php
index ac67d302a..2c72175e7 100644
--- a/vendor/composer/ClassLoader.php
+++ b/vendor/composer/ClassLoader.php
@@ -55,6 +55,7 @@ class ClassLoader
private $classMap = array();
private $classMapAuthoritative = false;
private $missingClasses = array();
+ private $apcuPrefix;
public function getPrefixes()
{
@@ -272,6 +273,26 @@ class ClassLoader
}
/**
+ * APCu prefix to use to cache found/not-found classes, if the extension is enabled.
+ *
+ * @param string|null $apcuPrefix
+ */
+ public function setApcuPrefix($apcuPrefix)
+ {
+ $this->apcuPrefix = function_exists('apcu_fetch') && ini_get('apc.enabled') ? $apcuPrefix : null;
+ }
+
+ /**
+ * The APCu prefix in use, or null if APCu caching is not enabled.
+ *
+ * @return string|null
+ */
+ public function getApcuPrefix()
+ {
+ return $this->apcuPrefix;
+ }
+
+ /**
* Registers this instance as an autoloader.
*
* @param bool $prepend Whether to prepend the autoloader or not
@@ -313,11 +334,6 @@ class ClassLoader
*/
public function findFile($class)
{
- // work around for PHP 5.3.0 - 5.3.2 https://bugs.php.net/50731
- if ('\\' == $class[0]) {
- $class = substr($class, 1);
- }
-
// class map lookup
if (isset($this->classMap[$class])) {
return $this->classMap[$class];
@@ -325,6 +341,12 @@ class ClassLoader
if ($this->classMapAuthoritative || isset($this->missingClasses[$class])) {
return false;
}
+ if (null !== $this->apcuPrefix) {
+ $file = apcu_fetch($this->apcuPrefix.$class, $hit);
+ if ($hit) {
+ return $file;
+ }
+ }
$file = $this->findFileWithExtension($class, '.php');
@@ -333,6 +355,10 @@ class ClassLoader
$file = $this->findFileWithExtension($class, '.hh');
}
+ if (null !== $this->apcuPrefix) {
+ apcu_add($this->apcuPrefix.$class, $file);
+ }
+
if (false === $file) {
// Remember that this class does not exist.
$this->missingClasses[$class] = true;
@@ -348,9 +374,13 @@ class ClassLoader
$first = $class[0];
if (isset($this->prefixLengthsPsr4[$first])) {
- foreach ($this->prefixLengthsPsr4[$first] as $prefix => $length) {
- if (0 === strpos($class, $prefix)) {
- foreach ($this->prefixDirsPsr4[$prefix] as $dir) {
+ $subPath = $class;
+ while (false !== $lastPos = strrpos($subPath, '\\')) {
+ $subPath = substr($subPath, 0, $lastPos);
+ $search = $subPath.'\\';
+ if (isset($this->prefixDirsPsr4[$search])) {
+ foreach ($this->prefixDirsPsr4[$search] as $dir) {
+ $length = $this->prefixLengthsPsr4[$first][$search];
if (file_exists($file = $dir . DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $length))) {
return $file;
}
diff --git a/vendor/composer/LICENSE b/vendor/composer/LICENSE
index 1a2812488..f27399a04 100644
--- a/vendor/composer/LICENSE
+++ b/vendor/composer/LICENSE
@@ -1,5 +1,5 @@
-Copyright (c) 2016 Nils Adermann, Jordi Boggiano
+Copyright (c) Nils Adermann, Jordi Boggiano
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/vendor/composer/autoload_classmap.php b/vendor/composer/autoload_classmap.php
index 54b09f68b..ea7bbb286 100644
--- a/vendor/composer/autoload_classmap.php
+++ b/vendor/composer/autoload_classmap.php
@@ -6,7 +6,372 @@ $vendorDir = dirname(dirname(__FILE__));
$baseDir = dirname($vendorDir);
return array(
+ 'CommerceGuys\\Intl\\Calculator' => $vendorDir . '/commerceguys/intl/src/Calculator.php',
+ 'CommerceGuys\\Intl\\Country\\Country' => $vendorDir . '/commerceguys/intl/src/Country/Country.php',
+ 'CommerceGuys\\Intl\\Country\\CountryEntityInterface' => $vendorDir . '/commerceguys/intl/src/Country/CountryEntityInterface.php',
+ 'CommerceGuys\\Intl\\Country\\CountryInterface' => $vendorDir . '/commerceguys/intl/src/Country/CountryInterface.php',
+ 'CommerceGuys\\Intl\\Country\\CountryRepository' => $vendorDir . '/commerceguys/intl/src/Country/CountryRepository.php',
+ 'CommerceGuys\\Intl\\Country\\CountryRepositoryInterface' => $vendorDir . '/commerceguys/intl/src/Country/CountryRepositoryInterface.php',
+ 'CommerceGuys\\Intl\\Currency\\Currency' => $vendorDir . '/commerceguys/intl/src/Currency/Currency.php',
+ 'CommerceGuys\\Intl\\Currency\\CurrencyEntityInterface' => $vendorDir . '/commerceguys/intl/src/Currency/CurrencyEntityInterface.php',
+ 'CommerceGuys\\Intl\\Currency\\CurrencyInterface' => $vendorDir . '/commerceguys/intl/src/Currency/CurrencyInterface.php',
+ 'CommerceGuys\\Intl\\Currency\\CurrencyRepository' => $vendorDir . '/commerceguys/intl/src/Currency/CurrencyRepository.php',
+ 'CommerceGuys\\Intl\\Currency\\CurrencyRepositoryInterface' => $vendorDir . '/commerceguys/intl/src/Currency/CurrencyRepositoryInterface.php',
+ 'CommerceGuys\\Intl\\Exception\\ExceptionInterface' => $vendorDir . '/commerceguys/intl/src/Exception/ExceptionInterface.php',
+ 'CommerceGuys\\Intl\\Exception\\InvalidArgumentException' => $vendorDir . '/commerceguys/intl/src/Exception/InvalidArgumentException.php',
+ 'CommerceGuys\\Intl\\Exception\\UnknownCountryException' => $vendorDir . '/commerceguys/intl/src/Exception/UnknownCountryException.php',
+ 'CommerceGuys\\Intl\\Exception\\UnknownCurrencyException' => $vendorDir . '/commerceguys/intl/src/Exception/UnknownCurrencyException.php',
+ 'CommerceGuys\\Intl\\Exception\\UnknownLanguageException' => $vendorDir . '/commerceguys/intl/src/Exception/UnknownLanguageException.php',
+ 'CommerceGuys\\Intl\\Exception\\UnknownLocaleException' => $vendorDir . '/commerceguys/intl/src/Exception/UnknownLocaleException.php',
+ 'CommerceGuys\\Intl\\Formatter\\NumberFormatter' => $vendorDir . '/commerceguys/intl/src/Formatter/NumberFormatter.php',
+ 'CommerceGuys\\Intl\\Formatter\\NumberFormatterInterface' => $vendorDir . '/commerceguys/intl/src/Formatter/NumberFormatterInterface.php',
+ 'CommerceGuys\\Intl\\Language\\Language' => $vendorDir . '/commerceguys/intl/src/Language/Language.php',
+ 'CommerceGuys\\Intl\\Language\\LanguageEntityInterface' => $vendorDir . '/commerceguys/intl/src/Language/LanguageEntityInterface.php',
+ 'CommerceGuys\\Intl\\Language\\LanguageInterface' => $vendorDir . '/commerceguys/intl/src/Language/LanguageInterface.php',
+ 'CommerceGuys\\Intl\\Language\\LanguageRepository' => $vendorDir . '/commerceguys/intl/src/Language/LanguageRepository.php',
+ 'CommerceGuys\\Intl\\Language\\LanguageRepositoryInterface' => $vendorDir . '/commerceguys/intl/src/Language/LanguageRepositoryInterface.php',
+ 'CommerceGuys\\Intl\\LocaleResolverTrait' => $vendorDir . '/commerceguys/intl/src/LocaleResolverTrait.php',
+ 'CommerceGuys\\Intl\\NumberFormat\\NumberFormat' => $vendorDir . '/commerceguys/intl/src/NumberFormat/NumberFormat.php',
+ 'CommerceGuys\\Intl\\NumberFormat\\NumberFormatEntityInterface' => $vendorDir . '/commerceguys/intl/src/NumberFormat/NumberFormatEntityInterface.php',
+ 'CommerceGuys\\Intl\\NumberFormat\\NumberFormatInterface' => $vendorDir . '/commerceguys/intl/src/NumberFormat/NumberFormatInterface.php',
+ 'CommerceGuys\\Intl\\NumberFormat\\NumberFormatRepository' => $vendorDir . '/commerceguys/intl/src/NumberFormat/NumberFormatRepository.php',
+ 'CommerceGuys\\Intl\\NumberFormat\\NumberFormatRepositoryInterface' => $vendorDir . '/commerceguys/intl/src/NumberFormat/NumberFormatRepositoryInterface.php',
+ 'HTMLPurifier' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier.php',
+ 'HTMLPurifier_Arborize' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Arborize.php',
+ 'HTMLPurifier_AttrCollections' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrCollections.php',
+ 'HTMLPurifier_AttrDef' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef.php',
+ 'HTMLPurifier_AttrDef_CSS' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS.php',
+ 'HTMLPurifier_AttrDef_CSS_AlphaValue' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/AlphaValue.php',
+ 'HTMLPurifier_AttrDef_CSS_Background' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Background.php',
+ 'HTMLPurifier_AttrDef_CSS_BackgroundPosition' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/BackgroundPosition.php',
+ 'HTMLPurifier_AttrDef_CSS_Border' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Border.php',
+ 'HTMLPurifier_AttrDef_CSS_Color' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Color.php',
+ 'HTMLPurifier_AttrDef_CSS_Composite' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Composite.php',
+ 'HTMLPurifier_AttrDef_CSS_DenyElementDecorator' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/DenyElementDecorator.php',
+ 'HTMLPurifier_AttrDef_CSS_Filter' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Filter.php',
+ 'HTMLPurifier_AttrDef_CSS_Font' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Font.php',
+ 'HTMLPurifier_AttrDef_CSS_FontFamily' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/FontFamily.php',
+ 'HTMLPurifier_AttrDef_CSS_Ident' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Ident.php',
+ 'HTMLPurifier_AttrDef_CSS_ImportantDecorator' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/ImportantDecorator.php',
+ 'HTMLPurifier_AttrDef_CSS_Length' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Length.php',
+ 'HTMLPurifier_AttrDef_CSS_ListStyle' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/ListStyle.php',
+ 'HTMLPurifier_AttrDef_CSS_Multiple' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Multiple.php',
+ 'HTMLPurifier_AttrDef_CSS_Number' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Number.php',
+ 'HTMLPurifier_AttrDef_CSS_Percentage' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Percentage.php',
+ 'HTMLPurifier_AttrDef_CSS_TextDecoration' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/TextDecoration.php',
+ 'HTMLPurifier_AttrDef_CSS_URI' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/URI.php',
+ 'HTMLPurifier_AttrDef_Clone' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/Clone.php',
+ 'HTMLPurifier_AttrDef_Enum' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/Enum.php',
+ 'HTMLPurifier_AttrDef_HTML_Bool' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/Bool.php',
+ 'HTMLPurifier_AttrDef_HTML_Class' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/Class.php',
+ 'HTMLPurifier_AttrDef_HTML_Color' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/Color.php',
+ 'HTMLPurifier_AttrDef_HTML_FrameTarget' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/FrameTarget.php',
+ 'HTMLPurifier_AttrDef_HTML_ID' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/ID.php',
+ 'HTMLPurifier_AttrDef_HTML_Length' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/Length.php',
+ 'HTMLPurifier_AttrDef_HTML_LinkTypes' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/LinkTypes.php',
+ 'HTMLPurifier_AttrDef_HTML_MultiLength' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/MultiLength.php',
+ 'HTMLPurifier_AttrDef_HTML_Nmtokens' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/Nmtokens.php',
+ 'HTMLPurifier_AttrDef_HTML_Pixels' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/Pixels.php',
+ 'HTMLPurifier_AttrDef_Integer' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/Integer.php',
+ 'HTMLPurifier_AttrDef_Lang' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/Lang.php',
+ 'HTMLPurifier_AttrDef_Switch' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/Switch.php',
+ 'HTMLPurifier_AttrDef_Text' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/Text.php',
+ 'HTMLPurifier_AttrDef_URI' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/URI.php',
+ 'HTMLPurifier_AttrDef_URI_Email' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/URI/Email.php',
+ 'HTMLPurifier_AttrDef_URI_Email_SimpleCheck' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/URI/Email/SimpleCheck.php',
+ 'HTMLPurifier_AttrDef_URI_Host' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/URI/Host.php',
+ 'HTMLPurifier_AttrDef_URI_IPv4' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/URI/IPv4.php',
+ 'HTMLPurifier_AttrDef_URI_IPv6' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/URI/IPv6.php',
+ 'HTMLPurifier_AttrTransform' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform.php',
+ 'HTMLPurifier_AttrTransform_Background' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Background.php',
+ 'HTMLPurifier_AttrTransform_BdoDir' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/BdoDir.php',
+ 'HTMLPurifier_AttrTransform_BgColor' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/BgColor.php',
+ 'HTMLPurifier_AttrTransform_BoolToCSS' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/BoolToCSS.php',
+ 'HTMLPurifier_AttrTransform_Border' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Border.php',
+ 'HTMLPurifier_AttrTransform_EnumToCSS' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/EnumToCSS.php',
+ 'HTMLPurifier_AttrTransform_ImgRequired' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/ImgRequired.php',
+ 'HTMLPurifier_AttrTransform_ImgSpace' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/ImgSpace.php',
+ 'HTMLPurifier_AttrTransform_Input' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Input.php',
+ 'HTMLPurifier_AttrTransform_Lang' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Lang.php',
+ 'HTMLPurifier_AttrTransform_Length' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Length.php',
+ 'HTMLPurifier_AttrTransform_Name' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Name.php',
+ 'HTMLPurifier_AttrTransform_NameSync' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/NameSync.php',
+ 'HTMLPurifier_AttrTransform_Nofollow' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Nofollow.php',
+ 'HTMLPurifier_AttrTransform_SafeEmbed' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/SafeEmbed.php',
+ 'HTMLPurifier_AttrTransform_SafeObject' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/SafeObject.php',
+ 'HTMLPurifier_AttrTransform_SafeParam' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/SafeParam.php',
+ 'HTMLPurifier_AttrTransform_ScriptRequired' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/ScriptRequired.php',
+ 'HTMLPurifier_AttrTransform_TargetBlank' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/TargetBlank.php',
+ 'HTMLPurifier_AttrTransform_TargetNoopener' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/TargetNoopener.php',
+ 'HTMLPurifier_AttrTransform_TargetNoreferrer' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/TargetNoreferrer.php',
+ 'HTMLPurifier_AttrTransform_Textarea' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Textarea.php',
+ 'HTMLPurifier_AttrTypes' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTypes.php',
+ 'HTMLPurifier_AttrValidator' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrValidator.php',
+ 'HTMLPurifier_Bootstrap' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Bootstrap.php',
+ 'HTMLPurifier_CSSDefinition' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/CSSDefinition.php',
+ 'HTMLPurifier_ChildDef' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef.php',
+ 'HTMLPurifier_ChildDef_Chameleon' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/Chameleon.php',
+ 'HTMLPurifier_ChildDef_Custom' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/Custom.php',
+ 'HTMLPurifier_ChildDef_Empty' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/Empty.php',
+ 'HTMLPurifier_ChildDef_List' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/List.php',
+ 'HTMLPurifier_ChildDef_Optional' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/Optional.php',
+ 'HTMLPurifier_ChildDef_Required' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/Required.php',
+ 'HTMLPurifier_ChildDef_StrictBlockquote' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/StrictBlockquote.php',
+ 'HTMLPurifier_ChildDef_Table' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/Table.php',
+ 'HTMLPurifier_Config' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Config.php',
+ 'HTMLPurifier_ConfigSchema' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema.php',
+ 'HTMLPurifier_ConfigSchema_Builder_ConfigSchema' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Builder/ConfigSchema.php',
+ 'HTMLPurifier_ConfigSchema_Builder_Xml' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Builder/Xml.php',
+ 'HTMLPurifier_ConfigSchema_Exception' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Exception.php',
+ 'HTMLPurifier_ConfigSchema_Interchange' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Interchange.php',
+ 'HTMLPurifier_ConfigSchema_InterchangeBuilder' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/InterchangeBuilder.php',
+ 'HTMLPurifier_ConfigSchema_Interchange_Directive' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Interchange/Directive.php',
+ 'HTMLPurifier_ConfigSchema_Interchange_Id' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Interchange/Id.php',
+ 'HTMLPurifier_ConfigSchema_Validator' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Validator.php',
+ 'HTMLPurifier_ConfigSchema_ValidatorAtom' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/ValidatorAtom.php',
+ 'HTMLPurifier_ContentSets' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/ContentSets.php',
+ 'HTMLPurifier_Context' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Context.php',
+ 'HTMLPurifier_Definition' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Definition.php',
+ 'HTMLPurifier_DefinitionCache' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache.php',
+ 'HTMLPurifier_DefinitionCacheFactory' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCacheFactory.php',
+ 'HTMLPurifier_DefinitionCache_Decorator' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Decorator.php',
+ 'HTMLPurifier_DefinitionCache_Decorator_Cleanup' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Decorator/Cleanup.php',
+ 'HTMLPurifier_DefinitionCache_Decorator_Memory' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Decorator/Memory.php',
+ 'HTMLPurifier_DefinitionCache_Null' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Null.php',
+ 'HTMLPurifier_DefinitionCache_Serializer' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Serializer.php',
+ 'HTMLPurifier_Doctype' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Doctype.php',
+ 'HTMLPurifier_DoctypeRegistry' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/DoctypeRegistry.php',
+ 'HTMLPurifier_ElementDef' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/ElementDef.php',
+ 'HTMLPurifier_Encoder' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Encoder.php',
+ 'HTMLPurifier_EntityLookup' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/EntityLookup.php',
+ 'HTMLPurifier_EntityParser' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/EntityParser.php',
+ 'HTMLPurifier_ErrorCollector' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/ErrorCollector.php',
+ 'HTMLPurifier_ErrorStruct' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/ErrorStruct.php',
+ 'HTMLPurifier_Exception' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Exception.php',
+ 'HTMLPurifier_Filter' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Filter.php',
+ 'HTMLPurifier_Filter_ExtractStyleBlocks' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Filter/ExtractStyleBlocks.php',
+ 'HTMLPurifier_Filter_YouTube' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Filter/YouTube.php',
+ 'HTMLPurifier_Generator' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Generator.php',
+ 'HTMLPurifier_HTMLDefinition' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLDefinition.php',
+ 'HTMLPurifier_HTMLModule' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule.php',
+ 'HTMLPurifier_HTMLModuleManager' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModuleManager.php',
+ 'HTMLPurifier_HTMLModule_Bdo' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Bdo.php',
+ 'HTMLPurifier_HTMLModule_CommonAttributes' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/CommonAttributes.php',
+ 'HTMLPurifier_HTMLModule_Edit' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Edit.php',
+ 'HTMLPurifier_HTMLModule_Forms' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Forms.php',
+ 'HTMLPurifier_HTMLModule_Hypertext' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Hypertext.php',
+ 'HTMLPurifier_HTMLModule_Iframe' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Iframe.php',
+ 'HTMLPurifier_HTMLModule_Image' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Image.php',
+ 'HTMLPurifier_HTMLModule_Legacy' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Legacy.php',
+ 'HTMLPurifier_HTMLModule_List' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/List.php',
+ 'HTMLPurifier_HTMLModule_Name' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Name.php',
+ 'HTMLPurifier_HTMLModule_Nofollow' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Nofollow.php',
+ 'HTMLPurifier_HTMLModule_NonXMLCommonAttributes' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/NonXMLCommonAttributes.php',
+ 'HTMLPurifier_HTMLModule_Object' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Object.php',
+ 'HTMLPurifier_HTMLModule_Presentation' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Presentation.php',
+ 'HTMLPurifier_HTMLModule_Proprietary' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Proprietary.php',
+ 'HTMLPurifier_HTMLModule_Ruby' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Ruby.php',
+ 'HTMLPurifier_HTMLModule_SafeEmbed' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/SafeEmbed.php',
+ 'HTMLPurifier_HTMLModule_SafeObject' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/SafeObject.php',
+ 'HTMLPurifier_HTMLModule_SafeScripting' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/SafeScripting.php',
+ 'HTMLPurifier_HTMLModule_Scripting' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Scripting.php',
+ 'HTMLPurifier_HTMLModule_StyleAttribute' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/StyleAttribute.php',
+ 'HTMLPurifier_HTMLModule_Tables' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Tables.php',
+ 'HTMLPurifier_HTMLModule_Target' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Target.php',
+ 'HTMLPurifier_HTMLModule_TargetBlank' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/TargetBlank.php',
+ 'HTMLPurifier_HTMLModule_TargetNoopener' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/TargetNoopener.php',
+ 'HTMLPurifier_HTMLModule_TargetNoreferrer' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/TargetNoreferrer.php',
+ 'HTMLPurifier_HTMLModule_Text' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Text.php',
+ 'HTMLPurifier_HTMLModule_Tidy' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy.php',
+ 'HTMLPurifier_HTMLModule_Tidy_Name' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy/Name.php',
+ 'HTMLPurifier_HTMLModule_Tidy_Proprietary' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy/Proprietary.php',
+ 'HTMLPurifier_HTMLModule_Tidy_Strict' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy/Strict.php',
+ 'HTMLPurifier_HTMLModule_Tidy_Transitional' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy/Transitional.php',
+ 'HTMLPurifier_HTMLModule_Tidy_XHTML' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy/XHTML.php',
+ 'HTMLPurifier_HTMLModule_Tidy_XHTMLAndHTML4' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy/XHTMLAndHTML4.php',
+ 'HTMLPurifier_HTMLModule_XMLCommonAttributes' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/XMLCommonAttributes.php',
+ 'HTMLPurifier_IDAccumulator' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/IDAccumulator.php',
+ 'HTMLPurifier_Injector' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Injector.php',
+ 'HTMLPurifier_Injector_AutoParagraph' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Injector/AutoParagraph.php',
+ 'HTMLPurifier_Injector_DisplayLinkURI' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Injector/DisplayLinkURI.php',
+ 'HTMLPurifier_Injector_Linkify' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Injector/Linkify.php',
+ 'HTMLPurifier_Injector_PurifierLinkify' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Injector/PurifierLinkify.php',
+ 'HTMLPurifier_Injector_RemoveEmpty' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Injector/RemoveEmpty.php',
+ 'HTMLPurifier_Injector_RemoveSpansWithoutAttributes' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Injector/RemoveSpansWithoutAttributes.php',
+ 'HTMLPurifier_Injector_SafeObject' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Injector/SafeObject.php',
+ 'HTMLPurifier_Language' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Language.php',
+ 'HTMLPurifier_LanguageFactory' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/LanguageFactory.php',
+ 'HTMLPurifier_Language_en_x_test' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Language/classes/en-x-test.php',
+ 'HTMLPurifier_Length' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Length.php',
+ 'HTMLPurifier_Lexer' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Lexer.php',
+ 'HTMLPurifier_Lexer_DOMLex' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Lexer/DOMLex.php',
+ 'HTMLPurifier_Lexer_DirectLex' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Lexer/DirectLex.php',
+ 'HTMLPurifier_Lexer_PH5P' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Lexer/PH5P.php',
+ 'HTMLPurifier_Node' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Node.php',
+ 'HTMLPurifier_Node_Comment' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Node/Comment.php',
+ 'HTMLPurifier_Node_Element' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Node/Element.php',
+ 'HTMLPurifier_Node_Text' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Node/Text.php',
+ 'HTMLPurifier_PercentEncoder' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/PercentEncoder.php',
+ 'HTMLPurifier_Printer' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Printer.php',
+ 'HTMLPurifier_Printer_CSSDefinition' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Printer/CSSDefinition.php',
+ 'HTMLPurifier_Printer_ConfigForm' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Printer/ConfigForm.php',
+ 'HTMLPurifier_Printer_ConfigForm_NullDecorator' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Printer/ConfigForm.php',
+ 'HTMLPurifier_Printer_ConfigForm_bool' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Printer/ConfigForm.php',
+ 'HTMLPurifier_Printer_ConfigForm_default' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Printer/ConfigForm.php',
+ 'HTMLPurifier_Printer_HTMLDefinition' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Printer/HTMLDefinition.php',
+ 'HTMLPurifier_PropertyList' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/PropertyList.php',
+ 'HTMLPurifier_PropertyListIterator' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/PropertyListIterator.php',
+ 'HTMLPurifier_Queue' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Queue.php',
+ 'HTMLPurifier_Strategy' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Strategy.php',
+ 'HTMLPurifier_Strategy_Composite' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Strategy/Composite.php',
+ 'HTMLPurifier_Strategy_Core' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Strategy/Core.php',
+ 'HTMLPurifier_Strategy_FixNesting' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Strategy/FixNesting.php',
+ 'HTMLPurifier_Strategy_MakeWellFormed' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Strategy/MakeWellFormed.php',
+ 'HTMLPurifier_Strategy_RemoveForeignElements' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Strategy/RemoveForeignElements.php',
+ 'HTMLPurifier_Strategy_ValidateAttributes' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Strategy/ValidateAttributes.php',
+ 'HTMLPurifier_StringHash' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/StringHash.php',
+ 'HTMLPurifier_StringHashParser' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/StringHashParser.php',
+ 'HTMLPurifier_TagTransform' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/TagTransform.php',
+ 'HTMLPurifier_TagTransform_Font' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/TagTransform/Font.php',
+ 'HTMLPurifier_TagTransform_Simple' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/TagTransform/Simple.php',
+ 'HTMLPurifier_Token' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Token.php',
+ 'HTMLPurifier_TokenFactory' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/TokenFactory.php',
+ 'HTMLPurifier_Token_Comment' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Token/Comment.php',
+ 'HTMLPurifier_Token_Empty' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Token/Empty.php',
+ 'HTMLPurifier_Token_End' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Token/End.php',
+ 'HTMLPurifier_Token_Start' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Token/Start.php',
+ 'HTMLPurifier_Token_Tag' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Token/Tag.php',
+ 'HTMLPurifier_Token_Text' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Token/Text.php',
+ 'HTMLPurifier_URI' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/URI.php',
+ 'HTMLPurifier_URIDefinition' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/URIDefinition.php',
+ 'HTMLPurifier_URIFilter' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/URIFilter.php',
+ 'HTMLPurifier_URIFilter_DisableExternal' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/URIFilter/DisableExternal.php',
+ 'HTMLPurifier_URIFilter_DisableExternalResources' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/URIFilter/DisableExternalResources.php',
+ 'HTMLPurifier_URIFilter_DisableResources' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/URIFilter/DisableResources.php',
+ 'HTMLPurifier_URIFilter_HostBlacklist' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/URIFilter/HostBlacklist.php',
+ 'HTMLPurifier_URIFilter_MakeAbsolute' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/URIFilter/MakeAbsolute.php',
+ 'HTMLPurifier_URIFilter_Munge' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/URIFilter/Munge.php',
+ 'HTMLPurifier_URIFilter_SafeIframe' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/URIFilter/SafeIframe.php',
+ 'HTMLPurifier_URIParser' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/URIParser.php',
+ 'HTMLPurifier_URIScheme' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme.php',
+ 'HTMLPurifier_URISchemeRegistry' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/URISchemeRegistry.php',
+ 'HTMLPurifier_URIScheme_data' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme/data.php',
+ 'HTMLPurifier_URIScheme_file' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme/file.php',
+ 'HTMLPurifier_URIScheme_ftp' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme/ftp.php',
+ 'HTMLPurifier_URIScheme_http' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme/http.php',
+ 'HTMLPurifier_URIScheme_https' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme/https.php',
+ 'HTMLPurifier_URIScheme_mailto' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme/mailto.php',
+ 'HTMLPurifier_URIScheme_news' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme/news.php',
+ 'HTMLPurifier_URIScheme_nntp' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme/nntp.php',
+ 'HTMLPurifier_URIScheme_tel' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme/tel.php',
+ 'HTMLPurifier_UnitConverter' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/UnitConverter.php',
+ 'HTMLPurifier_VarParser' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/VarParser.php',
+ 'HTMLPurifier_VarParserException' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/VarParserException.php',
+ 'HTMLPurifier_VarParser_Flexible' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/VarParser/Flexible.php',
+ 'HTMLPurifier_VarParser_Native' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/VarParser/Native.php',
+ 'HTMLPurifier_Zipper' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Zipper.php',
'Hubzilla\\Import\\Import' => $baseDir . '/include/Import/Importer.php',
+ 'ID3Parser\\ID3Parser' => $vendorDir . '/lukasreschke/id3parser/src/ID3Parser.php',
+ 'ID3Parser\\getID3\\Tags\\getid3_id3v1' => $vendorDir . '/lukasreschke/id3parser/src/getID3/Tags/getid3_id3v1.php',
+ 'ID3Parser\\getID3\\Tags\\getid3_id3v2' => $vendorDir . '/lukasreschke/id3parser/src/getID3/Tags/getid3_id3v2.php',
+ 'ID3Parser\\getID3\\getID3' => $vendorDir . '/lukasreschke/id3parser/src/getID3/getid3.php',
+ 'ID3Parser\\getID3\\getid3_exception' => $vendorDir . '/lukasreschke/id3parser/src/getID3/getid3_exception.php',
+ 'ID3Parser\\getID3\\getid3_handler' => $vendorDir . '/lukasreschke/id3parser/src/getID3/getid3_handler.php',
+ 'ID3Parser\\getID3\\getid3_lib' => $vendorDir . '/lukasreschke/id3parser/src/getID3/getid3_lib.php',
+ 'League\\HTMLToMarkdown\\Configuration' => $vendorDir . '/league/html-to-markdown/src/Configuration.php',
+ 'League\\HTMLToMarkdown\\ConfigurationAwareInterface' => $vendorDir . '/league/html-to-markdown/src/ConfigurationAwareInterface.php',
+ 'League\\HTMLToMarkdown\\Converter\\BlockquoteConverter' => $vendorDir . '/league/html-to-markdown/src/Converter/BlockquoteConverter.php',
+ 'League\\HTMLToMarkdown\\Converter\\CodeConverter' => $vendorDir . '/league/html-to-markdown/src/Converter/CodeConverter.php',
+ 'League\\HTMLToMarkdown\\Converter\\CommentConverter' => $vendorDir . '/league/html-to-markdown/src/Converter/CommentConverter.php',
+ 'League\\HTMLToMarkdown\\Converter\\ConverterInterface' => $vendorDir . '/league/html-to-markdown/src/Converter/ConverterInterface.php',
+ 'League\\HTMLToMarkdown\\Converter\\DefaultConverter' => $vendorDir . '/league/html-to-markdown/src/Converter/DefaultConverter.php',
+ 'League\\HTMLToMarkdown\\Converter\\DivConverter' => $vendorDir . '/league/html-to-markdown/src/Converter/DivConverter.php',
+ 'League\\HTMLToMarkdown\\Converter\\EmphasisConverter' => $vendorDir . '/league/html-to-markdown/src/Converter/EmphasisConverter.php',
+ 'League\\HTMLToMarkdown\\Converter\\HardBreakConverter' => $vendorDir . '/league/html-to-markdown/src/Converter/HardBreakConverter.php',
+ 'League\\HTMLToMarkdown\\Converter\\HeaderConverter' => $vendorDir . '/league/html-to-markdown/src/Converter/HeaderConverter.php',
+ 'League\\HTMLToMarkdown\\Converter\\HorizontalRuleConverter' => $vendorDir . '/league/html-to-markdown/src/Converter/HorizontalRuleConverter.php',
+ 'League\\HTMLToMarkdown\\Converter\\ImageConverter' => $vendorDir . '/league/html-to-markdown/src/Converter/ImageConverter.php',
+ 'League\\HTMLToMarkdown\\Converter\\LinkConverter' => $vendorDir . '/league/html-to-markdown/src/Converter/LinkConverter.php',
+ 'League\\HTMLToMarkdown\\Converter\\ListBlockConverter' => $vendorDir . '/league/html-to-markdown/src/Converter/ListBlockConverter.php',
+ 'League\\HTMLToMarkdown\\Converter\\ListItemConverter' => $vendorDir . '/league/html-to-markdown/src/Converter/ListItemConverter.php',
+ 'League\\HTMLToMarkdown\\Converter\\ParagraphConverter' => $vendorDir . '/league/html-to-markdown/src/Converter/ParagraphConverter.php',
+ 'League\\HTMLToMarkdown\\Converter\\PreformattedConverter' => $vendorDir . '/league/html-to-markdown/src/Converter/PreformattedConverter.php',
+ 'League\\HTMLToMarkdown\\Converter\\TextConverter' => $vendorDir . '/league/html-to-markdown/src/Converter/TextConverter.php',
+ 'League\\HTMLToMarkdown\\Element' => $vendorDir . '/league/html-to-markdown/src/Element.php',
+ 'League\\HTMLToMarkdown\\ElementInterface' => $vendorDir . '/league/html-to-markdown/src/ElementInterface.php',
+ 'League\\HTMLToMarkdown\\Environment' => $vendorDir . '/league/html-to-markdown/src/Environment.php',
+ 'League\\HTMLToMarkdown\\HtmlConverter' => $vendorDir . '/league/html-to-markdown/src/HtmlConverter.php',
+ 'Michelf\\Markdown' => $vendorDir . '/michelf/php-markdown/Michelf/Markdown.php',
+ 'Michelf\\MarkdownExtra' => $vendorDir . '/michelf/php-markdown/Michelf/MarkdownExtra.php',
+ 'Michelf\\MarkdownInterface' => $vendorDir . '/michelf/php-markdown/Michelf/MarkdownInterface.php',
+ 'OAuth2\\Autoloader' => $vendorDir . '/bshaffer/oauth2-server-php/src/OAuth2/Autoloader.php',
+ 'OAuth2\\ClientAssertionType\\ClientAssertionTypeInterface' => $vendorDir . '/bshaffer/oauth2-server-php/src/OAuth2/ClientAssertionType/ClientAssertionTypeInterface.php',
+ 'OAuth2\\ClientAssertionType\\HttpBasic' => $vendorDir . '/bshaffer/oauth2-server-php/src/OAuth2/ClientAssertionType/HttpBasic.php',
+ 'OAuth2\\Controller\\AuthorizeController' => $vendorDir . '/bshaffer/oauth2-server-php/src/OAuth2/Controller/AuthorizeController.php',
+ 'OAuth2\\Controller\\AuthorizeControllerInterface' => $vendorDir . '/bshaffer/oauth2-server-php/src/OAuth2/Controller/AuthorizeControllerInterface.php',
+ 'OAuth2\\Controller\\ResourceController' => $vendorDir . '/bshaffer/oauth2-server-php/src/OAuth2/Controller/ResourceController.php',
+ 'OAuth2\\Controller\\ResourceControllerInterface' => $vendorDir . '/bshaffer/oauth2-server-php/src/OAuth2/Controller/ResourceControllerInterface.php',
+ 'OAuth2\\Controller\\TokenController' => $vendorDir . '/bshaffer/oauth2-server-php/src/OAuth2/Controller/TokenController.php',
+ 'OAuth2\\Controller\\TokenControllerInterface' => $vendorDir . '/bshaffer/oauth2-server-php/src/OAuth2/Controller/TokenControllerInterface.php',
+ 'OAuth2\\Encryption\\EncryptionInterface' => $vendorDir . '/bshaffer/oauth2-server-php/src/OAuth2/Encryption/EncryptionInterface.php',
+ 'OAuth2\\Encryption\\FirebaseJwt' => $vendorDir . '/bshaffer/oauth2-server-php/src/OAuth2/Encryption/FirebaseJwt.php',
+ 'OAuth2\\Encryption\\Jwt' => $vendorDir . '/bshaffer/oauth2-server-php/src/OAuth2/Encryption/Jwt.php',
+ 'OAuth2\\GrantType\\AuthorizationCode' => $vendorDir . '/bshaffer/oauth2-server-php/src/OAuth2/GrantType/AuthorizationCode.php',
+ 'OAuth2\\GrantType\\ClientCredentials' => $vendorDir . '/bshaffer/oauth2-server-php/src/OAuth2/GrantType/ClientCredentials.php',
+ 'OAuth2\\GrantType\\GrantTypeInterface' => $vendorDir . '/bshaffer/oauth2-server-php/src/OAuth2/GrantType/GrantTypeInterface.php',
+ 'OAuth2\\GrantType\\JwtBearer' => $vendorDir . '/bshaffer/oauth2-server-php/src/OAuth2/GrantType/JwtBearer.php',
+ 'OAuth2\\GrantType\\RefreshToken' => $vendorDir . '/bshaffer/oauth2-server-php/src/OAuth2/GrantType/RefreshToken.php',
+ 'OAuth2\\GrantType\\UserCredentials' => $vendorDir . '/bshaffer/oauth2-server-php/src/OAuth2/GrantType/UserCredentials.php',
+ 'OAuth2\\OpenID\\Controller\\AuthorizeController' => $vendorDir . '/bshaffer/oauth2-server-php/src/OAuth2/OpenID/Controller/AuthorizeController.php',
+ 'OAuth2\\OpenID\\Controller\\AuthorizeControllerInterface' => $vendorDir . '/bshaffer/oauth2-server-php/src/OAuth2/OpenID/Controller/AuthorizeControllerInterface.php',
+ 'OAuth2\\OpenID\\Controller\\UserInfoController' => $vendorDir . '/bshaffer/oauth2-server-php/src/OAuth2/OpenID/Controller/UserInfoController.php',
+ 'OAuth2\\OpenID\\Controller\\UserInfoControllerInterface' => $vendorDir . '/bshaffer/oauth2-server-php/src/OAuth2/OpenID/Controller/UserInfoControllerInterface.php',
+ 'OAuth2\\OpenID\\GrantType\\AuthorizationCode' => $vendorDir . '/bshaffer/oauth2-server-php/src/OAuth2/OpenID/GrantType/AuthorizationCode.php',
+ 'OAuth2\\OpenID\\ResponseType\\AuthorizationCode' => $vendorDir . '/bshaffer/oauth2-server-php/src/OAuth2/OpenID/ResponseType/AuthorizationCode.php',
+ 'OAuth2\\OpenID\\ResponseType\\AuthorizationCodeInterface' => $vendorDir . '/bshaffer/oauth2-server-php/src/OAuth2/OpenID/ResponseType/AuthorizationCodeInterface.php',
+ 'OAuth2\\OpenID\\ResponseType\\CodeIdToken' => $vendorDir . '/bshaffer/oauth2-server-php/src/OAuth2/OpenID/ResponseType/CodeIdToken.php',
+ 'OAuth2\\OpenID\\ResponseType\\CodeIdTokenInterface' => $vendorDir . '/bshaffer/oauth2-server-php/src/OAuth2/OpenID/ResponseType/CodeIdTokenInterface.php',
+ 'OAuth2\\OpenID\\ResponseType\\IdToken' => $vendorDir . '/bshaffer/oauth2-server-php/src/OAuth2/OpenID/ResponseType/IdToken.php',
+ 'OAuth2\\OpenID\\ResponseType\\IdTokenInterface' => $vendorDir . '/bshaffer/oauth2-server-php/src/OAuth2/OpenID/ResponseType/IdTokenInterface.php',
+ 'OAuth2\\OpenID\\ResponseType\\IdTokenToken' => $vendorDir . '/bshaffer/oauth2-server-php/src/OAuth2/OpenID/ResponseType/IdTokenToken.php',
+ 'OAuth2\\OpenID\\ResponseType\\IdTokenTokenInterface' => $vendorDir . '/bshaffer/oauth2-server-php/src/OAuth2/OpenID/ResponseType/IdTokenTokenInterface.php',
+ 'OAuth2\\OpenID\\Storage\\AuthorizationCodeInterface' => $vendorDir . '/bshaffer/oauth2-server-php/src/OAuth2/OpenID/Storage/AuthorizationCodeInterface.php',
+ 'OAuth2\\OpenID\\Storage\\UserClaimsInterface' => $vendorDir . '/bshaffer/oauth2-server-php/src/OAuth2/OpenID/Storage/UserClaimsInterface.php',
+ 'OAuth2\\Request' => $vendorDir . '/bshaffer/oauth2-server-php/src/OAuth2/Request.php',
+ 'OAuth2\\RequestInterface' => $vendorDir . '/bshaffer/oauth2-server-php/src/OAuth2/RequestInterface.php',
+ 'OAuth2\\Response' => $vendorDir . '/bshaffer/oauth2-server-php/src/OAuth2/Response.php',
+ 'OAuth2\\ResponseInterface' => $vendorDir . '/bshaffer/oauth2-server-php/src/OAuth2/ResponseInterface.php',
+ 'OAuth2\\ResponseType\\AccessToken' => $vendorDir . '/bshaffer/oauth2-server-php/src/OAuth2/ResponseType/AccessToken.php',
+ 'OAuth2\\ResponseType\\AccessTokenInterface' => $vendorDir . '/bshaffer/oauth2-server-php/src/OAuth2/ResponseType/AccessTokenInterface.php',
+ 'OAuth2\\ResponseType\\AuthorizationCode' => $vendorDir . '/bshaffer/oauth2-server-php/src/OAuth2/ResponseType/AuthorizationCode.php',
+ 'OAuth2\\ResponseType\\AuthorizationCodeInterface' => $vendorDir . '/bshaffer/oauth2-server-php/src/OAuth2/ResponseType/AuthorizationCodeInterface.php',
+ 'OAuth2\\ResponseType\\JwtAccessToken' => $vendorDir . '/bshaffer/oauth2-server-php/src/OAuth2/ResponseType/JwtAccessToken.php',
+ 'OAuth2\\ResponseType\\ResponseTypeInterface' => $vendorDir . '/bshaffer/oauth2-server-php/src/OAuth2/ResponseType/ResponseTypeInterface.php',
+ 'OAuth2\\Scope' => $vendorDir . '/bshaffer/oauth2-server-php/src/OAuth2/Scope.php',
+ 'OAuth2\\ScopeInterface' => $vendorDir . '/bshaffer/oauth2-server-php/src/OAuth2/ScopeInterface.php',
+ 'OAuth2\\Server' => $vendorDir . '/bshaffer/oauth2-server-php/src/OAuth2/Server.php',
+ 'OAuth2\\Storage\\AccessTokenInterface' => $vendorDir . '/bshaffer/oauth2-server-php/src/OAuth2/Storage/AccessTokenInterface.php',
+ 'OAuth2\\Storage\\AuthorizationCodeInterface' => $vendorDir . '/bshaffer/oauth2-server-php/src/OAuth2/Storage/AuthorizationCodeInterface.php',
+ 'OAuth2\\Storage\\Cassandra' => $vendorDir . '/bshaffer/oauth2-server-php/src/OAuth2/Storage/Cassandra.php',
+ 'OAuth2\\Storage\\ClientCredentialsInterface' => $vendorDir . '/bshaffer/oauth2-server-php/src/OAuth2/Storage/ClientCredentialsInterface.php',
+ 'OAuth2\\Storage\\ClientInterface' => $vendorDir . '/bshaffer/oauth2-server-php/src/OAuth2/Storage/ClientInterface.php',
+ 'OAuth2\\Storage\\CouchbaseDB' => $vendorDir . '/bshaffer/oauth2-server-php/src/OAuth2/Storage/CouchbaseDB.php',
+ 'OAuth2\\Storage\\DynamoDB' => $vendorDir . '/bshaffer/oauth2-server-php/src/OAuth2/Storage/DynamoDB.php',
+ 'OAuth2\\Storage\\JwtAccessToken' => $vendorDir . '/bshaffer/oauth2-server-php/src/OAuth2/Storage/JwtAccessToken.php',
+ 'OAuth2\\Storage\\JwtAccessTokenInterface' => $vendorDir . '/bshaffer/oauth2-server-php/src/OAuth2/Storage/JwtAccessTokenInterface.php',
+ 'OAuth2\\Storage\\JwtBearerInterface' => $vendorDir . '/bshaffer/oauth2-server-php/src/OAuth2/Storage/JwtBearerInterface.php',
+ 'OAuth2\\Storage\\Memory' => $vendorDir . '/bshaffer/oauth2-server-php/src/OAuth2/Storage/Memory.php',
+ 'OAuth2\\Storage\\Mongo' => $vendorDir . '/bshaffer/oauth2-server-php/src/OAuth2/Storage/Mongo.php',
+ 'OAuth2\\Storage\\MongoDB' => $vendorDir . '/bshaffer/oauth2-server-php/src/OAuth2/Storage/MongoDB.php',
+ 'OAuth2\\Storage\\Pdo' => $vendorDir . '/bshaffer/oauth2-server-php/src/OAuth2/Storage/Pdo.php',
+ 'OAuth2\\Storage\\PublicKeyInterface' => $vendorDir . '/bshaffer/oauth2-server-php/src/OAuth2/Storage/PublicKeyInterface.php',
+ 'OAuth2\\Storage\\Redis' => $vendorDir . '/bshaffer/oauth2-server-php/src/OAuth2/Storage/Redis.php',
+ 'OAuth2\\Storage\\RefreshTokenInterface' => $vendorDir . '/bshaffer/oauth2-server-php/src/OAuth2/Storage/RefreshTokenInterface.php',
+ 'OAuth2\\Storage\\ScopeInterface' => $vendorDir . '/bshaffer/oauth2-server-php/src/OAuth2/Storage/ScopeInterface.php',
+ 'OAuth2\\Storage\\UserCredentialsInterface' => $vendorDir . '/bshaffer/oauth2-server-php/src/OAuth2/Storage/UserCredentialsInterface.php',
+ 'OAuth2\\TokenType\\Bearer' => $vendorDir . '/bshaffer/oauth2-server-php/src/OAuth2/TokenType/Bearer.php',
+ 'OAuth2\\TokenType\\Mac' => $vendorDir . '/bshaffer/oauth2-server-php/src/OAuth2/TokenType/Mac.php',
+ 'OAuth2\\TokenType\\TokenTypeInterface' => $vendorDir . '/bshaffer/oauth2-server-php/src/OAuth2/TokenType/TokenTypeInterface.php',
'Psr\\Log\\AbstractLogger' => $vendorDir . '/psr/log/Psr/Log/AbstractLogger.php',
'Psr\\Log\\InvalidArgumentException' => $vendorDir . '/psr/log/Psr/Log/InvalidArgumentException.php',
'Psr\\Log\\LogLevel' => $vendorDir . '/psr/log/Psr/Log/LogLevel.php',
@@ -265,6 +630,7 @@ return array(
'Sabre\\HTTP\\URLUtil' => $vendorDir . '/sabre/http/lib/URLUtil.php',
'Sabre\\HTTP\\Util' => $vendorDir . '/sabre/http/lib/Util.php',
'Sabre\\HTTP\\Version' => $vendorDir . '/sabre/http/lib/Version.php',
+ 'Sabre\\Uri\\InvalidUriException' => $vendorDir . '/sabre/uri/lib/InvalidUriException.php',
'Sabre\\Uri\\Version' => $vendorDir . '/sabre/uri/lib/Version.php',
'Sabre\\VObject\\BirthdayCalendarGenerator' => $vendorDir . '/sabre/vobject/lib/BirthdayCalendarGenerator.php',
'Sabre\\VObject\\Cli' => $vendorDir . '/sabre/vobject/lib/Cli.php',
@@ -353,10 +719,52 @@ return array(
'Sabre\\Xml\\Writer' => $vendorDir . '/sabre/xml/lib/Writer.php',
'Sabre\\Xml\\XmlDeserializable' => $vendorDir . '/sabre/xml/lib/XmlDeserializable.php',
'Sabre\\Xml\\XmlSerializable' => $vendorDir . '/sabre/xml/lib/XmlSerializable.php',
+ 'SimplePie' => $vendorDir . '/simplepie/simplepie/library/SimplePie.php',
+ 'SimplePie_Author' => $vendorDir . '/simplepie/simplepie/library/SimplePie/Author.php',
+ 'SimplePie_Cache' => $vendorDir . '/simplepie/simplepie/library/SimplePie/Cache.php',
+ 'SimplePie_Cache_Base' => $vendorDir . '/simplepie/simplepie/library/SimplePie/Cache/Base.php',
+ 'SimplePie_Cache_DB' => $vendorDir . '/simplepie/simplepie/library/SimplePie/Cache/DB.php',
+ 'SimplePie_Cache_File' => $vendorDir . '/simplepie/simplepie/library/SimplePie/Cache/File.php',
+ 'SimplePie_Cache_Memcache' => $vendorDir . '/simplepie/simplepie/library/SimplePie/Cache/Memcache.php',
+ 'SimplePie_Cache_Memcached' => $vendorDir . '/simplepie/simplepie/library/SimplePie/Cache/Memcached.php',
+ 'SimplePie_Cache_MySQL' => $vendorDir . '/simplepie/simplepie/library/SimplePie/Cache/MySQL.php',
+ 'SimplePie_Cache_Redis' => $vendorDir . '/simplepie/simplepie/library/SimplePie/Cache/Redis.php',
+ 'SimplePie_Caption' => $vendorDir . '/simplepie/simplepie/library/SimplePie/Caption.php',
+ 'SimplePie_Category' => $vendorDir . '/simplepie/simplepie/library/SimplePie/Category.php',
+ 'SimplePie_Content_Type_Sniffer' => $vendorDir . '/simplepie/simplepie/library/SimplePie/Content/Type/Sniffer.php',
+ 'SimplePie_Copyright' => $vendorDir . '/simplepie/simplepie/library/SimplePie/Copyright.php',
+ 'SimplePie_Core' => $vendorDir . '/simplepie/simplepie/library/SimplePie/Core.php',
+ 'SimplePie_Credit' => $vendorDir . '/simplepie/simplepie/library/SimplePie/Credit.php',
+ 'SimplePie_Decode_HTML_Entities' => $vendorDir . '/simplepie/simplepie/library/SimplePie/Decode/HTML/Entities.php',
+ 'SimplePie_Enclosure' => $vendorDir . '/simplepie/simplepie/library/SimplePie/Enclosure.php',
+ 'SimplePie_Exception' => $vendorDir . '/simplepie/simplepie/library/SimplePie/Exception.php',
+ 'SimplePie_File' => $vendorDir . '/simplepie/simplepie/library/SimplePie/File.php',
+ 'SimplePie_HTTP_Parser' => $vendorDir . '/simplepie/simplepie/library/SimplePie/HTTP/Parser.php',
+ 'SimplePie_IRI' => $vendorDir . '/simplepie/simplepie/library/SimplePie/IRI.php',
+ 'SimplePie_Item' => $vendorDir . '/simplepie/simplepie/library/SimplePie/Item.php',
+ 'SimplePie_Locator' => $vendorDir . '/simplepie/simplepie/library/SimplePie/Locator.php',
+ 'SimplePie_Misc' => $vendorDir . '/simplepie/simplepie/library/SimplePie/Misc.php',
+ 'SimplePie_Net_IPv6' => $vendorDir . '/simplepie/simplepie/library/SimplePie/Net/IPv6.php',
+ 'SimplePie_Parse_Date' => $vendorDir . '/simplepie/simplepie/library/SimplePie/Parse/Date.php',
+ 'SimplePie_Parser' => $vendorDir . '/simplepie/simplepie/library/SimplePie/Parser.php',
+ 'SimplePie_Rating' => $vendorDir . '/simplepie/simplepie/library/SimplePie/Rating.php',
+ 'SimplePie_Registry' => $vendorDir . '/simplepie/simplepie/library/SimplePie/Registry.php',
+ 'SimplePie_Restriction' => $vendorDir . '/simplepie/simplepie/library/SimplePie/Restriction.php',
+ 'SimplePie_Sanitize' => $vendorDir . '/simplepie/simplepie/library/SimplePie/Sanitize.php',
+ 'SimplePie_Source' => $vendorDir . '/simplepie/simplepie/library/SimplePie/Source.php',
+ 'SimplePie_XML_Declaration_Parser' => $vendorDir . '/simplepie/simplepie/library/SimplePie/XML/Declaration/Parser.php',
+ 'SimplePie_gzdecode' => $vendorDir . '/simplepie/simplepie/library/SimplePie/gzdecode.php',
+ 'Text_LanguageDetect' => $vendorDir . '/pear/text_languagedetect/Text/LanguageDetect.php',
+ 'Text_LanguageDetectTest' => $vendorDir . '/pear/text_languagedetect/tests/Text_LanguageDetectTest.php',
+ 'Text_LanguageDetect_Exception' => $vendorDir . '/pear/text_languagedetect/Text/LanguageDetect/Exception.php',
+ 'Text_LanguageDetect_ISO639' => $vendorDir . '/pear/text_languagedetect/Text/LanguageDetect/ISO639.php',
+ 'Text_LanguageDetect_ISO639Test' => $vendorDir . '/pear/text_languagedetect/tests/Text_LanguageDetect_ISO639Test.php',
+ 'Text_LanguageDetect_Parser' => $vendorDir . '/pear/text_languagedetect/Text/LanguageDetect/Parser.php',
'Zotlabs\\Access\\AccessList' => $baseDir . '/Zotlabs/Access/AccessList.php',
'Zotlabs\\Access\\PermissionLimits' => $baseDir . '/Zotlabs/Access/PermissionLimits.php',
'Zotlabs\\Access\\PermissionRoles' => $baseDir . '/Zotlabs/Access/PermissionRoles.php',
'Zotlabs\\Access\\Permissions' => $baseDir . '/Zotlabs/Access/Permissions.php',
+ 'Zotlabs\\Daemon\\Addon' => $baseDir . '/Zotlabs/Daemon/Addon.php',
'Zotlabs\\Daemon\\Checksites' => $baseDir . '/Zotlabs/Daemon/Checksites.php',
'Zotlabs\\Daemon\\Cli_suggest' => $baseDir . '/Zotlabs/Daemon/Cli_suggest.php',
'Zotlabs\\Daemon\\Cron' => $baseDir . '/Zotlabs/Daemon/Cron.php',
@@ -371,6 +779,7 @@ return array(
'Zotlabs\\Daemon\\Externals' => $baseDir . '/Zotlabs/Daemon/Externals.php',
'Zotlabs\\Daemon\\Gprobe' => $baseDir . '/Zotlabs/Daemon/Gprobe.php',
'Zotlabs\\Daemon\\Importdoc' => $baseDir . '/Zotlabs/Daemon/Importdoc.php',
+ 'Zotlabs\\Daemon\\Importfile' => $baseDir . '/Zotlabs/Daemon/Importfile.php',
'Zotlabs\\Daemon\\Master' => $baseDir . '/Zotlabs/Daemon/Master.php',
'Zotlabs\\Daemon\\Notifier' => $baseDir . '/Zotlabs/Daemon/Notifier.php',
'Zotlabs\\Daemon\\Onedirsync' => $baseDir . '/Zotlabs/Daemon/Onedirsync.php',
@@ -378,22 +787,32 @@ return array(
'Zotlabs\\Daemon\\Poller' => $baseDir . '/Zotlabs/Daemon/Poller.php',
'Zotlabs\\Daemon\\Queue' => $baseDir . '/Zotlabs/Daemon/Queue.php',
'Zotlabs\\Daemon\\Ratenotif' => $baseDir . '/Zotlabs/Daemon/Ratenotif.php',
+ 'Zotlabs\\Daemon\\Thumbnail' => $baseDir . '/Zotlabs/Daemon/Thumbnail.php',
'Zotlabs\\Extend\\Hook' => $baseDir . '/Zotlabs/Extend/Hook.php',
'Zotlabs\\Identity\\BasicId\\BasicId' => $baseDir . '/Zotlabs/Identity/BasicId.php',
'Zotlabs\\Identity\\ProfilePhoto\\ProfilePhoto' => $baseDir . '/Zotlabs/Identity/ProfilePhoto.php',
'Zotlabs\\Lib\\AConfig' => $baseDir . '/Zotlabs/Lib/AConfig.php',
'Zotlabs\\Lib\\AbConfig' => $baseDir . '/Zotlabs/Lib/AbConfig.php',
+ 'Zotlabs\\Lib\\ActivityStreams' => $baseDir . '/Zotlabs/Lib/ActivityStreams.php',
'Zotlabs\\Lib\\Api_router' => $baseDir . '/Zotlabs/Lib/Api_router.php',
'Zotlabs\\Lib\\Apps' => $baseDir . '/Zotlabs/Lib/Apps.php',
'Zotlabs\\Lib\\Cache' => $baseDir . '/Zotlabs/Lib/Cache.php',
'Zotlabs\\Lib\\Chatroom' => $baseDir . '/Zotlabs/Lib/Chatroom.php',
'Zotlabs\\Lib\\Config' => $baseDir . '/Zotlabs/Lib/Config.php',
+ 'Zotlabs\\Lib\\DB_Upgrade' => $baseDir . '/Zotlabs/Lib/DB_Upgrade.php',
'Zotlabs\\Lib\\Enotify' => $baseDir . '/Zotlabs/Lib/Enotify.php',
'Zotlabs\\Lib\\ExtendedZip' => $baseDir . '/Zotlabs/Lib/ExtendedZip.php',
'Zotlabs\\Lib\\IConfig' => $baseDir . '/Zotlabs/Lib/IConfig.php',
+ 'Zotlabs\\Lib\\JSalmon' => $baseDir . '/Zotlabs/Lib/JSalmon.php',
+ 'Zotlabs\\Lib\\LDSignatures' => $baseDir . '/Zotlabs/Lib/LDSignatures.php',
+ 'Zotlabs\\Lib\\MarkdownSoap' => $baseDir . '/Zotlabs/Lib/MarkdownSoap.php',
+ 'Zotlabs\\Lib\\NativeWiki' => $baseDir . '/Zotlabs/Lib/NativeWiki.php',
+ 'Zotlabs\\Lib\\NativeWikiPage' => $baseDir . '/Zotlabs/Lib/NativeWikiPage.php',
'Zotlabs\\Lib\\PConfig' => $baseDir . '/Zotlabs/Lib/PConfig.php',
+ 'Zotlabs\\Lib\\Permcat' => $baseDir . '/Zotlabs/Lib/Permcat.php',
'Zotlabs\\Lib\\PermissionDescription' => $baseDir . '/Zotlabs/Lib/PermissionDescription.php',
'Zotlabs\\Lib\\ProtoDriver' => $baseDir . '/Zotlabs/Lib/ProtoDriver.php',
+ 'Zotlabs\\Lib\\SConfig' => $baseDir . '/Zotlabs/Lib/SConfig.php',
'Zotlabs\\Lib\\SuperCurl' => $baseDir . '/Zotlabs/Lib/SuperCurl.php',
'Zotlabs\\Lib\\System' => $baseDir . '/Zotlabs/Lib/System.php',
'Zotlabs\\Lib\\Techlevels' => $baseDir . '/Zotlabs/Lib/Techlevels.php',
@@ -418,19 +837,26 @@ return array(
'Zotlabs\\Module\\Admin\\Themes' => $baseDir . '/Zotlabs/Module/Admin/Themes.php',
'Zotlabs\\Module\\Api' => $baseDir . '/Zotlabs/Module/Api.php',
'Zotlabs\\Module\\Appman' => $baseDir . '/Zotlabs/Module/Appman.php',
+ 'Zotlabs\\Module\\Apporder' => $baseDir . '/Zotlabs/Module/Apporder.php',
'Zotlabs\\Module\\Apps' => $baseDir . '/Zotlabs/Module/Apps.php',
'Zotlabs\\Module\\Attach' => $baseDir . '/Zotlabs/Module/Attach.php',
+ 'Zotlabs\\Module\\Authorize' => $baseDir . '/Zotlabs/Module/Authorize.php',
'Zotlabs\\Module\\Authtest' => $baseDir . '/Zotlabs/Module/Authtest.php',
'Zotlabs\\Module\\Block' => $baseDir . '/Zotlabs/Module/Block.php',
'Zotlabs\\Module\\Blocks' => $baseDir . '/Zotlabs/Module/Blocks.php',
'Zotlabs\\Module\\Bookmarks' => $baseDir . '/Zotlabs/Module/Bookmarks.php',
'Zotlabs\\Module\\Branchtopic' => $baseDir . '/Zotlabs/Module/Branchtopic.php',
'Zotlabs\\Module\\Cal' => $baseDir . '/Zotlabs/Module/Cal.php',
+ 'Zotlabs\\Module\\Card_edit' => $baseDir . '/Zotlabs/Module/Card_edit.php',
+ 'Zotlabs\\Module\\Cards' => $baseDir . '/Zotlabs/Module/Cards.php',
+ 'Zotlabs\\Module\\Cdav' => $baseDir . '/Zotlabs/Module/Cdav.php',
+ 'Zotlabs\\Module\\Changeaddr' => $baseDir . '/Zotlabs/Module/Changeaddr.php',
'Zotlabs\\Module\\Channel' => $baseDir . '/Zotlabs/Module/Channel.php',
'Zotlabs\\Module\\Chanview' => $baseDir . '/Zotlabs/Module/Chanview.php',
'Zotlabs\\Module\\Chat' => $baseDir . '/Zotlabs/Module/Chat.php',
'Zotlabs\\Module\\Chatsvc' => $baseDir . '/Zotlabs/Module/Chatsvc.php',
'Zotlabs\\Module\\Cloud' => $baseDir . '/Zotlabs/Module/Cloud.php',
+ 'Zotlabs\\Module\\Cloud_tiles' => $baseDir . '/Zotlabs/Module/Cloud_tiles.php',
'Zotlabs\\Module\\Common' => $baseDir . '/Zotlabs/Module/Common.php',
'Zotlabs\\Module\\Connect' => $baseDir . '/Zotlabs/Module/Connect.php',
'Zotlabs\\Module\\Connections' => $baseDir . '/Zotlabs/Module/Connections.php',
@@ -438,6 +864,7 @@ return array(
'Zotlabs\\Module\\Contactgroup' => $baseDir . '/Zotlabs/Module/Contactgroup.php',
'Zotlabs\\Module\\Cover_photo' => $baseDir . '/Zotlabs/Module/Cover_photo.php',
'Zotlabs\\Module\\Dav' => $baseDir . '/Zotlabs/Module/Dav.php',
+ 'Zotlabs\\Module\\Defperms' => $baseDir . '/Zotlabs/Module/Defperms.php',
'Zotlabs\\Module\\Directory' => $baseDir . '/Zotlabs/Module/Directory.php',
'Zotlabs\\Module\\Dirsearch' => $baseDir . '/Zotlabs/Module/Dirsearch.php',
'Zotlabs\\Module\\Display' => $baseDir . '/Zotlabs/Module/Display.php',
@@ -462,6 +889,7 @@ return array(
'Zotlabs\\Module\\Help' => $baseDir . '/Zotlabs/Module/Help.php',
'Zotlabs\\Module\\Home' => $baseDir . '/Zotlabs/Module/Home.php',
'Zotlabs\\Module\\Hostxrd' => $baseDir . '/Zotlabs/Module/Hostxrd.php',
+ 'Zotlabs\\Module\\Hq' => $baseDir . '/Zotlabs/Module/Hq.php',
'Zotlabs\\Module\\Impel' => $baseDir . '/Zotlabs/Module/Impel.php',
'Zotlabs\\Module\\Import' => $baseDir . '/Zotlabs/Module/Import.php',
'Zotlabs\\Module\\Import_items' => $baseDir . '/Zotlabs/Module/Import_items.php',
@@ -474,14 +902,15 @@ return array(
'Zotlabs\\Module\\Lockview' => $baseDir . '/Zotlabs/Module/Lockview.php',
'Zotlabs\\Module\\Locs' => $baseDir . '/Zotlabs/Module/Locs.php',
'Zotlabs\\Module\\Login' => $baseDir . '/Zotlabs/Module/Login.php',
+ 'Zotlabs\\Module\\Logout' => $baseDir . '/Zotlabs/Module/Logout.php',
'Zotlabs\\Module\\Lostpass' => $baseDir . '/Zotlabs/Module/Lostpass.php',
'Zotlabs\\Module\\Magic' => $baseDir . '/Zotlabs/Module/Magic.php',
'Zotlabs\\Module\\Mail' => $baseDir . '/Zotlabs/Module/Mail.php',
'Zotlabs\\Module\\Manage' => $baseDir . '/Zotlabs/Module/Manage.php',
- 'Zotlabs\\Module\\Match' => $baseDir . '/Zotlabs/Module/Match.php',
'Zotlabs\\Module\\Menu' => $baseDir . '/Zotlabs/Module/Menu.php',
'Zotlabs\\Module\\Message' => $baseDir . '/Zotlabs/Module/Message.php',
'Zotlabs\\Module\\Mitem' => $baseDir . '/Zotlabs/Module/Mitem.php',
+ 'Zotlabs\\Module\\Moderate' => $baseDir . '/Zotlabs/Module/Moderate.php',
'Zotlabs\\Module\\Mood' => $baseDir . '/Zotlabs/Module/Mood.php',
'Zotlabs\\Module\\Network' => $baseDir . '/Zotlabs/Module/Network.php',
'Zotlabs\\Module\\New_channel' => $baseDir . '/Zotlabs/Module/New_channel.php',
@@ -492,10 +921,13 @@ return array(
'Zotlabs\\Module\\Oembed' => $baseDir . '/Zotlabs/Module/Oembed.php',
'Zotlabs\\Module\\Oep' => $baseDir . '/Zotlabs/Module/Oep.php',
'Zotlabs\\Module\\Oexchange' => $baseDir . '/Zotlabs/Module/Oexchange.php',
+ 'Zotlabs\\Module\\Ofeed' => $baseDir . '/Zotlabs/Module/Ofeed.php',
'Zotlabs\\Module\\Online' => $baseDir . '/Zotlabs/Module/Online.php',
+ 'Zotlabs\\Module\\Owa' => $baseDir . '/Zotlabs/Module/Owa.php',
'Zotlabs\\Module\\Page' => $baseDir . '/Zotlabs/Module/Page.php',
'Zotlabs\\Module\\Pconfig' => $baseDir . '/Zotlabs/Module/Pconfig.php',
'Zotlabs\\Module\\Pdledit' => $baseDir . '/Zotlabs/Module/Pdledit.php',
+ 'Zotlabs\\Module\\Permcat' => $baseDir . '/Zotlabs/Module/Permcat.php',
'Zotlabs\\Module\\Photo' => $baseDir . '/Zotlabs/Module/Photo.php',
'Zotlabs\\Module\\Photos' => $baseDir . '/Zotlabs/Module/Photos.php',
'Zotlabs\\Module\\Ping' => $baseDir . '/Zotlabs/Module/Ping.php',
@@ -525,7 +957,6 @@ return array(
'Zotlabs\\Module\\Removeme' => $baseDir . '/Zotlabs/Module/Removeme.php',
'Zotlabs\\Module\\Rmagic' => $baseDir . '/Zotlabs/Module/Rmagic.php',
'Zotlabs\\Module\\Rpost' => $baseDir . '/Zotlabs/Module/Rpost.php',
- 'Zotlabs\\Module\\Rsd_xml' => $baseDir . '/Zotlabs/Module/Rsd_xml.php',
'Zotlabs\\Module\\Search' => $baseDir . '/Zotlabs/Module/Search.php',
'Zotlabs\\Module\\Search_ac' => $baseDir . '/Zotlabs/Module/Search_ac.php',
'Zotlabs\\Module\\Service_limits' => $baseDir . '/Zotlabs/Module/Service_limits.php',
@@ -536,12 +967,12 @@ return array(
'Zotlabs\\Module\\Settings\\Featured' => $baseDir . '/Zotlabs/Module/Settings/Featured.php',
'Zotlabs\\Module\\Settings\\Features' => $baseDir . '/Zotlabs/Module/Settings/Features.php',
'Zotlabs\\Module\\Settings\\Oauth' => $baseDir . '/Zotlabs/Module/Settings/Oauth.php',
+ 'Zotlabs\\Module\\Settings\\Permcats' => $baseDir . '/Zotlabs/Module/Settings/Permcats.php',
'Zotlabs\\Module\\Settings\\Tokens' => $baseDir . '/Zotlabs/Module/Settings/Tokens.php',
'Zotlabs\\Module\\Setup' => $baseDir . '/Zotlabs/Module/Setup.php',
'Zotlabs\\Module\\Share' => $baseDir . '/Zotlabs/Module/Share.php',
'Zotlabs\\Module\\Sharedwithme' => $baseDir . '/Zotlabs/Module/Sharedwithme.php',
'Zotlabs\\Module\\Siteinfo' => $baseDir . '/Zotlabs/Module/Siteinfo.php',
- 'Zotlabs\\Module\\Siteinfo_json' => $baseDir . '/Zotlabs/Module/Siteinfo_json.php',
'Zotlabs\\Module\\Sitelist' => $baseDir . '/Zotlabs/Module/Sitelist.php',
'Zotlabs\\Module\\Smilies' => $baseDir . '/Zotlabs/Module/Smilies.php',
'Zotlabs\\Module\\Snap' => $baseDir . '/Zotlabs/Module/Snap.php',
@@ -557,7 +988,9 @@ return array(
'Zotlabs\\Module\\Thing' => $baseDir . '/Zotlabs/Module/Thing.php',
'Zotlabs\\Module\\Toggle_mobile' => $baseDir . '/Zotlabs/Module/Toggle_mobile.php',
'Zotlabs\\Module\\Toggle_safesearch' => $baseDir . '/Zotlabs/Module/Toggle_safesearch.php',
+ 'Zotlabs\\Module\\Token' => $baseDir . '/Zotlabs/Module/Token.php',
'Zotlabs\\Module\\Uexport' => $baseDir . '/Zotlabs/Module/Uexport.php',
+ 'Zotlabs\\Module\\Update_cards' => $baseDir . '/Zotlabs/Module/Update_cards.php',
'Zotlabs\\Module\\Update_channel' => $baseDir . '/Zotlabs/Module/Update_channel.php',
'Zotlabs\\Module\\Update_display' => $baseDir . '/Zotlabs/Module/Update_display.php',
'Zotlabs\\Module\\Update_home' => $baseDir . '/Zotlabs/Module/Update_home.php',
@@ -596,12 +1029,70 @@ return array(
'Zotlabs\\Text\\Tagadelic' => $baseDir . '/Zotlabs/Text/Tagadelic.php',
'Zotlabs\\Web\\CheckJS' => $baseDir . '/Zotlabs/Web/CheckJS.php',
'Zotlabs\\Web\\Controller' => $baseDir . '/Zotlabs/Web/Controller.php',
+ 'Zotlabs\\Web\\HTTPHeaders' => $baseDir . '/Zotlabs/Web/HTTPHeaders.php',
+ 'Zotlabs\\Web\\HTTPSig' => $baseDir . '/Zotlabs/Web/HTTPSig.php',
'Zotlabs\\Web\\HttpMeta' => $baseDir . '/Zotlabs/Web/HttpMeta.php',
'Zotlabs\\Web\\Router' => $baseDir . '/Zotlabs/Web/Router.php',
'Zotlabs\\Web\\Session' => $baseDir . '/Zotlabs/Web/Session.php',
'Zotlabs\\Web\\SessionHandler' => $baseDir . '/Zotlabs/Web/SessionHandler.php',
'Zotlabs\\Web\\SubModule' => $baseDir . '/Zotlabs/Web/SubModule.php',
'Zotlabs\\Web\\WebServer' => $baseDir . '/Zotlabs/Web/WebServer.php',
+ 'Zotlabs\\Widget\\Activity' => $baseDir . '/Zotlabs/Widget/Activity.php',
+ 'Zotlabs\\Widget\\Admin' => $baseDir . '/Zotlabs/Widget/Admin.php',
+ 'Zotlabs\\Widget\\Affinity' => $baseDir . '/Zotlabs/Widget/Affinity.php',
+ 'Zotlabs\\Widget\\Album' => $baseDir . '/Zotlabs/Widget/Album.php',
+ 'Zotlabs\\Widget\\Appcategories' => $baseDir . '/Zotlabs/Widget/Appcategories.php',
+ 'Zotlabs\\Widget\\Appcloud' => $baseDir . '/Zotlabs/Widget/Appcloud.php',
+ 'Zotlabs\\Widget\\Archive' => $baseDir . '/Zotlabs/Widget/Archive.php',
+ 'Zotlabs\\Widget\\Bookmarkedchats' => $baseDir . '/Zotlabs/Widget/Bookmarkedchats.php',
+ 'Zotlabs\\Widget\\Catcloud_wall' => $baseDir . '/Zotlabs/Widget/Catcloud_wall.php',
+ 'Zotlabs\\Widget\\Categories' => $baseDir . '/Zotlabs/Widget/Categories.php',
+ 'Zotlabs\\Widget\\Cdav' => $baseDir . '/Zotlabs/Widget/Cdav.php',
+ 'Zotlabs\\Widget\\Chatroom_list' => $baseDir . '/Zotlabs/Widget/Chatroom_list.php',
+ 'Zotlabs\\Widget\\Chatroom_members' => $baseDir . '/Zotlabs/Widget/Chatroom_members.php',
+ 'Zotlabs\\Widget\\Clock' => $baseDir . '/Zotlabs/Widget/Clock.php',
+ 'Zotlabs\\Widget\\Collections' => $baseDir . '/Zotlabs/Widget/Collections.php',
+ 'Zotlabs\\Widget\\Common_friends' => $baseDir . '/Zotlabs/Widget/Common_friends.php',
+ 'Zotlabs\\Widget\\Conversations' => $baseDir . '/Zotlabs/Widget/Conversations.php',
+ 'Zotlabs\\Widget\\Cover_photo' => $baseDir . '/Zotlabs/Widget/Cover_photo.php',
+ 'Zotlabs\\Widget\\Design_tools' => $baseDir . '/Zotlabs/Widget/Design_tools.php',
+ 'Zotlabs\\Widget\\Dirsort' => $baseDir . '/Zotlabs/Widget/Dirsort.php',
+ 'Zotlabs\\Widget\\Dirtags' => $baseDir . '/Zotlabs/Widget/Dirtags.php',
+ 'Zotlabs\\Widget\\Eventstools' => $baseDir . '/Zotlabs/Widget/Eventstools.php',
+ 'Zotlabs\\Widget\\Filer' => $baseDir . '/Zotlabs/Widget/Filer.php',
+ 'Zotlabs\\Widget\\Findpeople' => $baseDir . '/Zotlabs/Widget/Findpeople.php',
+ 'Zotlabs\\Widget\\Follow' => $baseDir . '/Zotlabs/Widget/Follow.php',
+ 'Zotlabs\\Widget\\Forums' => $baseDir . '/Zotlabs/Widget/Forums.php',
+ 'Zotlabs\\Widget\\Fullprofile' => $baseDir . '/Zotlabs/Widget/Fullprofile.php',
+ 'Zotlabs\\Widget\\Helpindex' => $baseDir . '/Zotlabs/Widget/Helpindex.php',
+ 'Zotlabs\\Widget\\Item' => $baseDir . '/Zotlabs/Widget/Item.php',
+ 'Zotlabs\\Widget\\Mailmenu' => $baseDir . '/Zotlabs/Widget/Mailmenu.php',
+ 'Zotlabs\\Widget\\Menu_preview' => $baseDir . '/Zotlabs/Widget/Menu_preview.php',
+ 'Zotlabs\\Widget\\Notes' => $baseDir . '/Zotlabs/Widget/Notes.php',
+ 'Zotlabs\\Widget\\Notifications' => $baseDir . '/Zotlabs/Widget/Notifications.php',
+ 'Zotlabs\\Widget\\Photo' => $baseDir . '/Zotlabs/Widget/Photo.php',
+ 'Zotlabs\\Widget\\Photo_albums' => $baseDir . '/Zotlabs/Widget/Photo_albums.php',
+ 'Zotlabs\\Widget\\Photo_rand' => $baseDir . '/Zotlabs/Widget/Photo_rand.php',
+ 'Zotlabs\\Widget\\Portfolio' => $baseDir . '/Zotlabs/Widget/Portfolio.php',
+ 'Zotlabs\\Widget\\Profile' => $baseDir . '/Zotlabs/Widget/Profile.php',
+ 'Zotlabs\\Widget\\Pubsites' => $baseDir . '/Zotlabs/Widget/Pubsites.php',
+ 'Zotlabs\\Widget\\Random_block' => $baseDir . '/Zotlabs/Widget/Random_block.php',
+ 'Zotlabs\\Widget\\Rating' => $baseDir . '/Zotlabs/Widget/Rating.php',
+ 'Zotlabs\\Widget\\Savedsearch' => $baseDir . '/Zotlabs/Widget/Savedsearch.php',
+ 'Zotlabs\\Widget\\Settings_menu' => $baseDir . '/Zotlabs/Widget/Settings_menu.php',
+ 'Zotlabs\\Widget\\Shortprofile' => $baseDir . '/Zotlabs/Widget/Shortprofile.php',
+ 'Zotlabs\\Widget\\Sitesearch' => $baseDir . '/Zotlabs/Widget/Sitesearch.php',
+ 'Zotlabs\\Widget\\Suggestedchats' => $baseDir . '/Zotlabs/Widget/Suggestedchats.php',
+ 'Zotlabs\\Widget\\Suggestions' => $baseDir . '/Zotlabs/Widget/Suggestions.php',
+ 'Zotlabs\\Widget\\Tagcloud' => $baseDir . '/Zotlabs/Widget/Tagcloud.php',
+ 'Zotlabs\\Widget\\Tagcloud_wall' => $baseDir . '/Zotlabs/Widget/Tagcloud_wall.php',
+ 'Zotlabs\\Widget\\Tasklist' => $baseDir . '/Zotlabs/Widget/Tasklist.php',
+ 'Zotlabs\\Widget\\Vcard' => $baseDir . '/Zotlabs/Widget/Vcard.php',
+ 'Zotlabs\\Widget\\Website_portation_tools' => $baseDir . '/Zotlabs/Widget/Website_portation_tools.php',
+ 'Zotlabs\\Widget\\Wiki_list' => $baseDir . '/Zotlabs/Widget/Wiki_list.php',
+ 'Zotlabs\\Widget\\Wiki_page_history' => $baseDir . '/Zotlabs/Widget/Wiki_page_history.php',
+ 'Zotlabs\\Widget\\Wiki_pages' => $baseDir . '/Zotlabs/Widget/Wiki_pages.php',
+ 'Zotlabs\\Widget\\Zcard' => $baseDir . '/Zotlabs/Widget/Zcard.php',
'Zotlabs\\Zot\\Auth' => $baseDir . '/Zotlabs/Zot/Auth.php',
'Zotlabs\\Zot\\DReport' => $baseDir . '/Zotlabs/Zot/DReport.php',
'Zotlabs\\Zot\\Finger' => $baseDir . '/Zotlabs/Zot/Finger.php',
diff --git a/vendor/composer/autoload_files.php b/vendor/composer/autoload_files.php
index a78cbe6fb..bbe6fd553 100644
--- a/vendor/composer/autoload_files.php
+++ b/vendor/composer/autoload_files.php
@@ -13,4 +13,5 @@ return array(
'3569eecfeed3bcf0bad3c998a494ecb8' => $vendorDir . '/sabre/xml/lib/Deserializer/functions.php',
'93aa591bc4ca510c520999e34229ee79' => $vendorDir . '/sabre/xml/lib/Serializer/functions.php',
'ebdb698ed4152ae445614b69b5e4bb6a' => $vendorDir . '/sabre/http/lib/functions.php',
+ '2cffec82183ee1cea088009cef9a6fc3' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier.composer.php',
);
diff --git a/vendor/composer/autoload_namespaces.php b/vendor/composer/autoload_namespaces.php
index b7fc0125d..7d8d3963a 100644
--- a/vendor/composer/autoload_namespaces.php
+++ b/vendor/composer/autoload_namespaces.php
@@ -6,4 +6,9 @@ $vendorDir = dirname(dirname(__FILE__));
$baseDir = dirname($vendorDir);
return array(
+ 'Text' => array($vendorDir . '/pear/text_languagedetect'),
+ 'SimplePie' => array($vendorDir . '/simplepie/simplepie/library'),
+ 'OAuth2' => array($vendorDir . '/bshaffer/oauth2-server-php/src'),
+ 'Michelf' => array($vendorDir . '/michelf/php-markdown'),
+ 'HTMLPurifier' => array($vendorDir . '/ezyang/htmlpurifier/library'),
);
diff --git a/vendor/composer/autoload_psr4.php b/vendor/composer/autoload_psr4.php
index e8ea2ed78..dcd673b73 100644
--- a/vendor/composer/autoload_psr4.php
+++ b/vendor/composer/autoload_psr4.php
@@ -17,5 +17,8 @@ return array(
'Sabre\\CardDAV\\' => array($vendorDir . '/sabre/dav/lib/CardDAV'),
'Sabre\\CalDAV\\' => array($vendorDir . '/sabre/dav/lib/CalDAV'),
'Psr\\Log\\' => array($vendorDir . '/psr/log/Psr/Log'),
+ 'League\\HTMLToMarkdown\\' => array($vendorDir . '/league/html-to-markdown/src'),
+ 'ID3Parser\\' => array($vendorDir . '/lukasreschke/id3parser/src'),
'Hubzilla\\' => array($baseDir . '/include'),
+ 'CommerceGuys\\Intl\\' => array($vendorDir . '/commerceguys/intl/src'),
);
diff --git a/vendor/composer/autoload_real.php b/vendor/composer/autoload_real.php
index 24b45085d..2955df1db 100644
--- a/vendor/composer/autoload_real.php
+++ b/vendor/composer/autoload_real.php
@@ -23,7 +23,11 @@ class ComposerAutoloaderInit7b34d7e50a62201ec5d5e526a5b8b35d
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
spl_autoload_unregister(array('ComposerAutoloaderInit7b34d7e50a62201ec5d5e526a5b8b35d', 'loadClassLoader'));
- $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION');
+ $includePaths = require __DIR__ . '/include_paths.php';
+ array_push($includePaths, get_include_path());
+ set_include_path(implode(PATH_SEPARATOR, $includePaths));
+
+ $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
if ($useStaticLoader) {
require_once __DIR__ . '/autoload_static.php';
diff --git a/vendor/composer/autoload_static.php b/vendor/composer/autoload_static.php
index 7f2551665..63dc8c257 100644
--- a/vendor/composer/autoload_static.php
+++ b/vendor/composer/autoload_static.php
@@ -14,6 +14,7 @@ class ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d
'3569eecfeed3bcf0bad3c998a494ecb8' => __DIR__ . '/..' . '/sabre/xml/lib/Deserializer/functions.php',
'93aa591bc4ca510c520999e34229ee79' => __DIR__ . '/..' . '/sabre/xml/lib/Serializer/functions.php',
'ebdb698ed4152ae445614b69b5e4bb6a' => __DIR__ . '/..' . '/sabre/http/lib/functions.php',
+ '2cffec82183ee1cea088009cef9a6fc3' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier.composer.php',
);
public static $prefixLengthsPsr4 = array (
@@ -37,10 +38,22 @@ class ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d
array (
'Psr\\Log\\' => 8,
),
+ 'L' =>
+ array (
+ 'League\\HTMLToMarkdown\\' => 22,
+ ),
+ 'I' =>
+ array (
+ 'ID3Parser\\' => 10,
+ ),
'H' =>
array (
'Hubzilla\\' => 9,
),
+ 'C' =>
+ array (
+ 'CommerceGuys\\Intl\\' => 18,
+ ),
);
public static $prefixDirsPsr4 = array (
@@ -88,14 +101,429 @@ class ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d
array (
0 => __DIR__ . '/..' . '/psr/log/Psr/Log',
),
+ 'League\\HTMLToMarkdown\\' =>
+ array (
+ 0 => __DIR__ . '/..' . '/league/html-to-markdown/src',
+ ),
+ 'ID3Parser\\' =>
+ array (
+ 0 => __DIR__ . '/..' . '/lukasreschke/id3parser/src',
+ ),
'Hubzilla\\' =>
array (
0 => __DIR__ . '/../..' . '/include',
),
+ 'CommerceGuys\\Intl\\' =>
+ array (
+ 0 => __DIR__ . '/..' . '/commerceguys/intl/src',
+ ),
+ );
+
+ public static $prefixesPsr0 = array (
+ 'T' =>
+ array (
+ 'Text' =>
+ array (
+ 0 => __DIR__ . '/..' . '/pear/text_languagedetect',
+ ),
+ ),
+ 'S' =>
+ array (
+ 'SimplePie' =>
+ array (
+ 0 => __DIR__ . '/..' . '/simplepie/simplepie/library',
+ ),
+ ),
+ 'O' =>
+ array (
+ 'OAuth2' =>
+ array (
+ 0 => __DIR__ . '/..' . '/bshaffer/oauth2-server-php/src',
+ ),
+ ),
+ 'M' =>
+ array (
+ 'Michelf' =>
+ array (
+ 0 => __DIR__ . '/..' . '/michelf/php-markdown',
+ ),
+ ),
+ 'H' =>
+ array (
+ 'HTMLPurifier' =>
+ array (
+ 0 => __DIR__ . '/..' . '/ezyang/htmlpurifier/library',
+ ),
+ ),
);
public static $classMap = array (
+ 'CommerceGuys\\Intl\\Calculator' => __DIR__ . '/..' . '/commerceguys/intl/src/Calculator.php',
+ 'CommerceGuys\\Intl\\Country\\Country' => __DIR__ . '/..' . '/commerceguys/intl/src/Country/Country.php',
+ 'CommerceGuys\\Intl\\Country\\CountryEntityInterface' => __DIR__ . '/..' . '/commerceguys/intl/src/Country/CountryEntityInterface.php',
+ 'CommerceGuys\\Intl\\Country\\CountryInterface' => __DIR__ . '/..' . '/commerceguys/intl/src/Country/CountryInterface.php',
+ 'CommerceGuys\\Intl\\Country\\CountryRepository' => __DIR__ . '/..' . '/commerceguys/intl/src/Country/CountryRepository.php',
+ 'CommerceGuys\\Intl\\Country\\CountryRepositoryInterface' => __DIR__ . '/..' . '/commerceguys/intl/src/Country/CountryRepositoryInterface.php',
+ 'CommerceGuys\\Intl\\Currency\\Currency' => __DIR__ . '/..' . '/commerceguys/intl/src/Currency/Currency.php',
+ 'CommerceGuys\\Intl\\Currency\\CurrencyEntityInterface' => __DIR__ . '/..' . '/commerceguys/intl/src/Currency/CurrencyEntityInterface.php',
+ 'CommerceGuys\\Intl\\Currency\\CurrencyInterface' => __DIR__ . '/..' . '/commerceguys/intl/src/Currency/CurrencyInterface.php',
+ 'CommerceGuys\\Intl\\Currency\\CurrencyRepository' => __DIR__ . '/..' . '/commerceguys/intl/src/Currency/CurrencyRepository.php',
+ 'CommerceGuys\\Intl\\Currency\\CurrencyRepositoryInterface' => __DIR__ . '/..' . '/commerceguys/intl/src/Currency/CurrencyRepositoryInterface.php',
+ 'CommerceGuys\\Intl\\Exception\\ExceptionInterface' => __DIR__ . '/..' . '/commerceguys/intl/src/Exception/ExceptionInterface.php',
+ 'CommerceGuys\\Intl\\Exception\\InvalidArgumentException' => __DIR__ . '/..' . '/commerceguys/intl/src/Exception/InvalidArgumentException.php',
+ 'CommerceGuys\\Intl\\Exception\\UnknownCountryException' => __DIR__ . '/..' . '/commerceguys/intl/src/Exception/UnknownCountryException.php',
+ 'CommerceGuys\\Intl\\Exception\\UnknownCurrencyException' => __DIR__ . '/..' . '/commerceguys/intl/src/Exception/UnknownCurrencyException.php',
+ 'CommerceGuys\\Intl\\Exception\\UnknownLanguageException' => __DIR__ . '/..' . '/commerceguys/intl/src/Exception/UnknownLanguageException.php',
+ 'CommerceGuys\\Intl\\Exception\\UnknownLocaleException' => __DIR__ . '/..' . '/commerceguys/intl/src/Exception/UnknownLocaleException.php',
+ 'CommerceGuys\\Intl\\Formatter\\NumberFormatter' => __DIR__ . '/..' . '/commerceguys/intl/src/Formatter/NumberFormatter.php',
+ 'CommerceGuys\\Intl\\Formatter\\NumberFormatterInterface' => __DIR__ . '/..' . '/commerceguys/intl/src/Formatter/NumberFormatterInterface.php',
+ 'CommerceGuys\\Intl\\Language\\Language' => __DIR__ . '/..' . '/commerceguys/intl/src/Language/Language.php',
+ 'CommerceGuys\\Intl\\Language\\LanguageEntityInterface' => __DIR__ . '/..' . '/commerceguys/intl/src/Language/LanguageEntityInterface.php',
+ 'CommerceGuys\\Intl\\Language\\LanguageInterface' => __DIR__ . '/..' . '/commerceguys/intl/src/Language/LanguageInterface.php',
+ 'CommerceGuys\\Intl\\Language\\LanguageRepository' => __DIR__ . '/..' . '/commerceguys/intl/src/Language/LanguageRepository.php',
+ 'CommerceGuys\\Intl\\Language\\LanguageRepositoryInterface' => __DIR__ . '/..' . '/commerceguys/intl/src/Language/LanguageRepositoryInterface.php',
+ 'CommerceGuys\\Intl\\LocaleResolverTrait' => __DIR__ . '/..' . '/commerceguys/intl/src/LocaleResolverTrait.php',
+ 'CommerceGuys\\Intl\\NumberFormat\\NumberFormat' => __DIR__ . '/..' . '/commerceguys/intl/src/NumberFormat/NumberFormat.php',
+ 'CommerceGuys\\Intl\\NumberFormat\\NumberFormatEntityInterface' => __DIR__ . '/..' . '/commerceguys/intl/src/NumberFormat/NumberFormatEntityInterface.php',
+ 'CommerceGuys\\Intl\\NumberFormat\\NumberFormatInterface' => __DIR__ . '/..' . '/commerceguys/intl/src/NumberFormat/NumberFormatInterface.php',
+ 'CommerceGuys\\Intl\\NumberFormat\\NumberFormatRepository' => __DIR__ . '/..' . '/commerceguys/intl/src/NumberFormat/NumberFormatRepository.php',
+ 'CommerceGuys\\Intl\\NumberFormat\\NumberFormatRepositoryInterface' => __DIR__ . '/..' . '/commerceguys/intl/src/NumberFormat/NumberFormatRepositoryInterface.php',
+ 'HTMLPurifier' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier.php',
+ 'HTMLPurifier_Arborize' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Arborize.php',
+ 'HTMLPurifier_AttrCollections' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrCollections.php',
+ 'HTMLPurifier_AttrDef' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef.php',
+ 'HTMLPurifier_AttrDef_CSS' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS.php',
+ 'HTMLPurifier_AttrDef_CSS_AlphaValue' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/AlphaValue.php',
+ 'HTMLPurifier_AttrDef_CSS_Background' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Background.php',
+ 'HTMLPurifier_AttrDef_CSS_BackgroundPosition' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/BackgroundPosition.php',
+ 'HTMLPurifier_AttrDef_CSS_Border' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Border.php',
+ 'HTMLPurifier_AttrDef_CSS_Color' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Color.php',
+ 'HTMLPurifier_AttrDef_CSS_Composite' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Composite.php',
+ 'HTMLPurifier_AttrDef_CSS_DenyElementDecorator' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/DenyElementDecorator.php',
+ 'HTMLPurifier_AttrDef_CSS_Filter' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Filter.php',
+ 'HTMLPurifier_AttrDef_CSS_Font' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Font.php',
+ 'HTMLPurifier_AttrDef_CSS_FontFamily' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/FontFamily.php',
+ 'HTMLPurifier_AttrDef_CSS_Ident' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Ident.php',
+ 'HTMLPurifier_AttrDef_CSS_ImportantDecorator' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/ImportantDecorator.php',
+ 'HTMLPurifier_AttrDef_CSS_Length' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Length.php',
+ 'HTMLPurifier_AttrDef_CSS_ListStyle' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/ListStyle.php',
+ 'HTMLPurifier_AttrDef_CSS_Multiple' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Multiple.php',
+ 'HTMLPurifier_AttrDef_CSS_Number' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Number.php',
+ 'HTMLPurifier_AttrDef_CSS_Percentage' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Percentage.php',
+ 'HTMLPurifier_AttrDef_CSS_TextDecoration' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/TextDecoration.php',
+ 'HTMLPurifier_AttrDef_CSS_URI' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/URI.php',
+ 'HTMLPurifier_AttrDef_Clone' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/Clone.php',
+ 'HTMLPurifier_AttrDef_Enum' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/Enum.php',
+ 'HTMLPurifier_AttrDef_HTML_Bool' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/Bool.php',
+ 'HTMLPurifier_AttrDef_HTML_Class' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/Class.php',
+ 'HTMLPurifier_AttrDef_HTML_Color' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/Color.php',
+ 'HTMLPurifier_AttrDef_HTML_FrameTarget' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/FrameTarget.php',
+ 'HTMLPurifier_AttrDef_HTML_ID' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/ID.php',
+ 'HTMLPurifier_AttrDef_HTML_Length' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/Length.php',
+ 'HTMLPurifier_AttrDef_HTML_LinkTypes' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/LinkTypes.php',
+ 'HTMLPurifier_AttrDef_HTML_MultiLength' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/MultiLength.php',
+ 'HTMLPurifier_AttrDef_HTML_Nmtokens' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/Nmtokens.php',
+ 'HTMLPurifier_AttrDef_HTML_Pixels' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/Pixels.php',
+ 'HTMLPurifier_AttrDef_Integer' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/Integer.php',
+ 'HTMLPurifier_AttrDef_Lang' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/Lang.php',
+ 'HTMLPurifier_AttrDef_Switch' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/Switch.php',
+ 'HTMLPurifier_AttrDef_Text' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/Text.php',
+ 'HTMLPurifier_AttrDef_URI' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/URI.php',
+ 'HTMLPurifier_AttrDef_URI_Email' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/URI/Email.php',
+ 'HTMLPurifier_AttrDef_URI_Email_SimpleCheck' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/URI/Email/SimpleCheck.php',
+ 'HTMLPurifier_AttrDef_URI_Host' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/URI/Host.php',
+ 'HTMLPurifier_AttrDef_URI_IPv4' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/URI/IPv4.php',
+ 'HTMLPurifier_AttrDef_URI_IPv6' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/URI/IPv6.php',
+ 'HTMLPurifier_AttrTransform' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform.php',
+ 'HTMLPurifier_AttrTransform_Background' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Background.php',
+ 'HTMLPurifier_AttrTransform_BdoDir' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/BdoDir.php',
+ 'HTMLPurifier_AttrTransform_BgColor' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/BgColor.php',
+ 'HTMLPurifier_AttrTransform_BoolToCSS' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/BoolToCSS.php',
+ 'HTMLPurifier_AttrTransform_Border' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Border.php',
+ 'HTMLPurifier_AttrTransform_EnumToCSS' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/EnumToCSS.php',
+ 'HTMLPurifier_AttrTransform_ImgRequired' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/ImgRequired.php',
+ 'HTMLPurifier_AttrTransform_ImgSpace' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/ImgSpace.php',
+ 'HTMLPurifier_AttrTransform_Input' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Input.php',
+ 'HTMLPurifier_AttrTransform_Lang' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Lang.php',
+ 'HTMLPurifier_AttrTransform_Length' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Length.php',
+ 'HTMLPurifier_AttrTransform_Name' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Name.php',
+ 'HTMLPurifier_AttrTransform_NameSync' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/NameSync.php',
+ 'HTMLPurifier_AttrTransform_Nofollow' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Nofollow.php',
+ 'HTMLPurifier_AttrTransform_SafeEmbed' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/SafeEmbed.php',
+ 'HTMLPurifier_AttrTransform_SafeObject' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/SafeObject.php',
+ 'HTMLPurifier_AttrTransform_SafeParam' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/SafeParam.php',
+ 'HTMLPurifier_AttrTransform_ScriptRequired' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/ScriptRequired.php',
+ 'HTMLPurifier_AttrTransform_TargetBlank' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/TargetBlank.php',
+ 'HTMLPurifier_AttrTransform_TargetNoopener' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/TargetNoopener.php',
+ 'HTMLPurifier_AttrTransform_TargetNoreferrer' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/TargetNoreferrer.php',
+ 'HTMLPurifier_AttrTransform_Textarea' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Textarea.php',
+ 'HTMLPurifier_AttrTypes' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTypes.php',
+ 'HTMLPurifier_AttrValidator' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrValidator.php',
+ 'HTMLPurifier_Bootstrap' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Bootstrap.php',
+ 'HTMLPurifier_CSSDefinition' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/CSSDefinition.php',
+ 'HTMLPurifier_ChildDef' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef.php',
+ 'HTMLPurifier_ChildDef_Chameleon' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/Chameleon.php',
+ 'HTMLPurifier_ChildDef_Custom' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/Custom.php',
+ 'HTMLPurifier_ChildDef_Empty' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/Empty.php',
+ 'HTMLPurifier_ChildDef_List' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/List.php',
+ 'HTMLPurifier_ChildDef_Optional' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/Optional.php',
+ 'HTMLPurifier_ChildDef_Required' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/Required.php',
+ 'HTMLPurifier_ChildDef_StrictBlockquote' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/StrictBlockquote.php',
+ 'HTMLPurifier_ChildDef_Table' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/Table.php',
+ 'HTMLPurifier_Config' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Config.php',
+ 'HTMLPurifier_ConfigSchema' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema.php',
+ 'HTMLPurifier_ConfigSchema_Builder_ConfigSchema' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Builder/ConfigSchema.php',
+ 'HTMLPurifier_ConfigSchema_Builder_Xml' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Builder/Xml.php',
+ 'HTMLPurifier_ConfigSchema_Exception' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Exception.php',
+ 'HTMLPurifier_ConfigSchema_Interchange' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Interchange.php',
+ 'HTMLPurifier_ConfigSchema_InterchangeBuilder' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/InterchangeBuilder.php',
+ 'HTMLPurifier_ConfigSchema_Interchange_Directive' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Interchange/Directive.php',
+ 'HTMLPurifier_ConfigSchema_Interchange_Id' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Interchange/Id.php',
+ 'HTMLPurifier_ConfigSchema_Validator' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Validator.php',
+ 'HTMLPurifier_ConfigSchema_ValidatorAtom' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/ValidatorAtom.php',
+ 'HTMLPurifier_ContentSets' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/ContentSets.php',
+ 'HTMLPurifier_Context' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Context.php',
+ 'HTMLPurifier_Definition' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Definition.php',
+ 'HTMLPurifier_DefinitionCache' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache.php',
+ 'HTMLPurifier_DefinitionCacheFactory' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCacheFactory.php',
+ 'HTMLPurifier_DefinitionCache_Decorator' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Decorator.php',
+ 'HTMLPurifier_DefinitionCache_Decorator_Cleanup' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Decorator/Cleanup.php',
+ 'HTMLPurifier_DefinitionCache_Decorator_Memory' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Decorator/Memory.php',
+ 'HTMLPurifier_DefinitionCache_Null' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Null.php',
+ 'HTMLPurifier_DefinitionCache_Serializer' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Serializer.php',
+ 'HTMLPurifier_Doctype' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Doctype.php',
+ 'HTMLPurifier_DoctypeRegistry' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/DoctypeRegistry.php',
+ 'HTMLPurifier_ElementDef' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/ElementDef.php',
+ 'HTMLPurifier_Encoder' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Encoder.php',
+ 'HTMLPurifier_EntityLookup' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/EntityLookup.php',
+ 'HTMLPurifier_EntityParser' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/EntityParser.php',
+ 'HTMLPurifier_ErrorCollector' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/ErrorCollector.php',
+ 'HTMLPurifier_ErrorStruct' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/ErrorStruct.php',
+ 'HTMLPurifier_Exception' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Exception.php',
+ 'HTMLPurifier_Filter' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Filter.php',
+ 'HTMLPurifier_Filter_ExtractStyleBlocks' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Filter/ExtractStyleBlocks.php',
+ 'HTMLPurifier_Filter_YouTube' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Filter/YouTube.php',
+ 'HTMLPurifier_Generator' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Generator.php',
+ 'HTMLPurifier_HTMLDefinition' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLDefinition.php',
+ 'HTMLPurifier_HTMLModule' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule.php',
+ 'HTMLPurifier_HTMLModuleManager' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModuleManager.php',
+ 'HTMLPurifier_HTMLModule_Bdo' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Bdo.php',
+ 'HTMLPurifier_HTMLModule_CommonAttributes' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/CommonAttributes.php',
+ 'HTMLPurifier_HTMLModule_Edit' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Edit.php',
+ 'HTMLPurifier_HTMLModule_Forms' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Forms.php',
+ 'HTMLPurifier_HTMLModule_Hypertext' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Hypertext.php',
+ 'HTMLPurifier_HTMLModule_Iframe' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Iframe.php',
+ 'HTMLPurifier_HTMLModule_Image' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Image.php',
+ 'HTMLPurifier_HTMLModule_Legacy' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Legacy.php',
+ 'HTMLPurifier_HTMLModule_List' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/List.php',
+ 'HTMLPurifier_HTMLModule_Name' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Name.php',
+ 'HTMLPurifier_HTMLModule_Nofollow' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Nofollow.php',
+ 'HTMLPurifier_HTMLModule_NonXMLCommonAttributes' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/NonXMLCommonAttributes.php',
+ 'HTMLPurifier_HTMLModule_Object' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Object.php',
+ 'HTMLPurifier_HTMLModule_Presentation' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Presentation.php',
+ 'HTMLPurifier_HTMLModule_Proprietary' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Proprietary.php',
+ 'HTMLPurifier_HTMLModule_Ruby' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Ruby.php',
+ 'HTMLPurifier_HTMLModule_SafeEmbed' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/SafeEmbed.php',
+ 'HTMLPurifier_HTMLModule_SafeObject' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/SafeObject.php',
+ 'HTMLPurifier_HTMLModule_SafeScripting' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/SafeScripting.php',
+ 'HTMLPurifier_HTMLModule_Scripting' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Scripting.php',
+ 'HTMLPurifier_HTMLModule_StyleAttribute' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/StyleAttribute.php',
+ 'HTMLPurifier_HTMLModule_Tables' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Tables.php',
+ 'HTMLPurifier_HTMLModule_Target' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Target.php',
+ 'HTMLPurifier_HTMLModule_TargetBlank' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/TargetBlank.php',
+ 'HTMLPurifier_HTMLModule_TargetNoopener' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/TargetNoopener.php',
+ 'HTMLPurifier_HTMLModule_TargetNoreferrer' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/TargetNoreferrer.php',
+ 'HTMLPurifier_HTMLModule_Text' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Text.php',
+ 'HTMLPurifier_HTMLModule_Tidy' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy.php',
+ 'HTMLPurifier_HTMLModule_Tidy_Name' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy/Name.php',
+ 'HTMLPurifier_HTMLModule_Tidy_Proprietary' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy/Proprietary.php',
+ 'HTMLPurifier_HTMLModule_Tidy_Strict' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy/Strict.php',
+ 'HTMLPurifier_HTMLModule_Tidy_Transitional' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy/Transitional.php',
+ 'HTMLPurifier_HTMLModule_Tidy_XHTML' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy/XHTML.php',
+ 'HTMLPurifier_HTMLModule_Tidy_XHTMLAndHTML4' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy/XHTMLAndHTML4.php',
+ 'HTMLPurifier_HTMLModule_XMLCommonAttributes' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/XMLCommonAttributes.php',
+ 'HTMLPurifier_IDAccumulator' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/IDAccumulator.php',
+ 'HTMLPurifier_Injector' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Injector.php',
+ 'HTMLPurifier_Injector_AutoParagraph' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Injector/AutoParagraph.php',
+ 'HTMLPurifier_Injector_DisplayLinkURI' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Injector/DisplayLinkURI.php',
+ 'HTMLPurifier_Injector_Linkify' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Injector/Linkify.php',
+ 'HTMLPurifier_Injector_PurifierLinkify' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Injector/PurifierLinkify.php',
+ 'HTMLPurifier_Injector_RemoveEmpty' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Injector/RemoveEmpty.php',
+ 'HTMLPurifier_Injector_RemoveSpansWithoutAttributes' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Injector/RemoveSpansWithoutAttributes.php',
+ 'HTMLPurifier_Injector_SafeObject' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Injector/SafeObject.php',
+ 'HTMLPurifier_Language' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Language.php',
+ 'HTMLPurifier_LanguageFactory' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/LanguageFactory.php',
+ 'HTMLPurifier_Language_en_x_test' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Language/classes/en-x-test.php',
+ 'HTMLPurifier_Length' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Length.php',
+ 'HTMLPurifier_Lexer' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Lexer.php',
+ 'HTMLPurifier_Lexer_DOMLex' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Lexer/DOMLex.php',
+ 'HTMLPurifier_Lexer_DirectLex' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Lexer/DirectLex.php',
+ 'HTMLPurifier_Lexer_PH5P' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Lexer/PH5P.php',
+ 'HTMLPurifier_Node' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Node.php',
+ 'HTMLPurifier_Node_Comment' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Node/Comment.php',
+ 'HTMLPurifier_Node_Element' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Node/Element.php',
+ 'HTMLPurifier_Node_Text' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Node/Text.php',
+ 'HTMLPurifier_PercentEncoder' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/PercentEncoder.php',
+ 'HTMLPurifier_Printer' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Printer.php',
+ 'HTMLPurifier_Printer_CSSDefinition' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Printer/CSSDefinition.php',
+ 'HTMLPurifier_Printer_ConfigForm' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Printer/ConfigForm.php',
+ 'HTMLPurifier_Printer_ConfigForm_NullDecorator' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Printer/ConfigForm.php',
+ 'HTMLPurifier_Printer_ConfigForm_bool' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Printer/ConfigForm.php',
+ 'HTMLPurifier_Printer_ConfigForm_default' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Printer/ConfigForm.php',
+ 'HTMLPurifier_Printer_HTMLDefinition' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Printer/HTMLDefinition.php',
+ 'HTMLPurifier_PropertyList' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/PropertyList.php',
+ 'HTMLPurifier_PropertyListIterator' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/PropertyListIterator.php',
+ 'HTMLPurifier_Queue' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Queue.php',
+ 'HTMLPurifier_Strategy' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Strategy.php',
+ 'HTMLPurifier_Strategy_Composite' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Strategy/Composite.php',
+ 'HTMLPurifier_Strategy_Core' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Strategy/Core.php',
+ 'HTMLPurifier_Strategy_FixNesting' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Strategy/FixNesting.php',
+ 'HTMLPurifier_Strategy_MakeWellFormed' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Strategy/MakeWellFormed.php',
+ 'HTMLPurifier_Strategy_RemoveForeignElements' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Strategy/RemoveForeignElements.php',
+ 'HTMLPurifier_Strategy_ValidateAttributes' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Strategy/ValidateAttributes.php',
+ 'HTMLPurifier_StringHash' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/StringHash.php',
+ 'HTMLPurifier_StringHashParser' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/StringHashParser.php',
+ 'HTMLPurifier_TagTransform' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/TagTransform.php',
+ 'HTMLPurifier_TagTransform_Font' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/TagTransform/Font.php',
+ 'HTMLPurifier_TagTransform_Simple' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/TagTransform/Simple.php',
+ 'HTMLPurifier_Token' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Token.php',
+ 'HTMLPurifier_TokenFactory' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/TokenFactory.php',
+ 'HTMLPurifier_Token_Comment' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Token/Comment.php',
+ 'HTMLPurifier_Token_Empty' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Token/Empty.php',
+ 'HTMLPurifier_Token_End' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Token/End.php',
+ 'HTMLPurifier_Token_Start' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Token/Start.php',
+ 'HTMLPurifier_Token_Tag' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Token/Tag.php',
+ 'HTMLPurifier_Token_Text' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Token/Text.php',
+ 'HTMLPurifier_URI' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/URI.php',
+ 'HTMLPurifier_URIDefinition' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/URIDefinition.php',
+ 'HTMLPurifier_URIFilter' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/URIFilter.php',
+ 'HTMLPurifier_URIFilter_DisableExternal' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/URIFilter/DisableExternal.php',
+ 'HTMLPurifier_URIFilter_DisableExternalResources' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/URIFilter/DisableExternalResources.php',
+ 'HTMLPurifier_URIFilter_DisableResources' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/URIFilter/DisableResources.php',
+ 'HTMLPurifier_URIFilter_HostBlacklist' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/URIFilter/HostBlacklist.php',
+ 'HTMLPurifier_URIFilter_MakeAbsolute' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/URIFilter/MakeAbsolute.php',
+ 'HTMLPurifier_URIFilter_Munge' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/URIFilter/Munge.php',
+ 'HTMLPurifier_URIFilter_SafeIframe' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/URIFilter/SafeIframe.php',
+ 'HTMLPurifier_URIParser' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/URIParser.php',
+ 'HTMLPurifier_URIScheme' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme.php',
+ 'HTMLPurifier_URISchemeRegistry' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/URISchemeRegistry.php',
+ 'HTMLPurifier_URIScheme_data' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme/data.php',
+ 'HTMLPurifier_URIScheme_file' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme/file.php',
+ 'HTMLPurifier_URIScheme_ftp' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme/ftp.php',
+ 'HTMLPurifier_URIScheme_http' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme/http.php',
+ 'HTMLPurifier_URIScheme_https' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme/https.php',
+ 'HTMLPurifier_URIScheme_mailto' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme/mailto.php',
+ 'HTMLPurifier_URIScheme_news' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme/news.php',
+ 'HTMLPurifier_URIScheme_nntp' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme/nntp.php',
+ 'HTMLPurifier_URIScheme_tel' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme/tel.php',
+ 'HTMLPurifier_UnitConverter' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/UnitConverter.php',
+ 'HTMLPurifier_VarParser' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/VarParser.php',
+ 'HTMLPurifier_VarParserException' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/VarParserException.php',
+ 'HTMLPurifier_VarParser_Flexible' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/VarParser/Flexible.php',
+ 'HTMLPurifier_VarParser_Native' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/VarParser/Native.php',
+ 'HTMLPurifier_Zipper' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Zipper.php',
'Hubzilla\\Import\\Import' => __DIR__ . '/../..' . '/include/Import/Importer.php',
+ 'ID3Parser\\ID3Parser' => __DIR__ . '/..' . '/lukasreschke/id3parser/src/ID3Parser.php',
+ 'ID3Parser\\getID3\\Tags\\getid3_id3v1' => __DIR__ . '/..' . '/lukasreschke/id3parser/src/getID3/Tags/getid3_id3v1.php',
+ 'ID3Parser\\getID3\\Tags\\getid3_id3v2' => __DIR__ . '/..' . '/lukasreschke/id3parser/src/getID3/Tags/getid3_id3v2.php',
+ 'ID3Parser\\getID3\\getID3' => __DIR__ . '/..' . '/lukasreschke/id3parser/src/getID3/getid3.php',
+ 'ID3Parser\\getID3\\getid3_exception' => __DIR__ . '/..' . '/lukasreschke/id3parser/src/getID3/getid3_exception.php',
+ 'ID3Parser\\getID3\\getid3_handler' => __DIR__ . '/..' . '/lukasreschke/id3parser/src/getID3/getid3_handler.php',
+ 'ID3Parser\\getID3\\getid3_lib' => __DIR__ . '/..' . '/lukasreschke/id3parser/src/getID3/getid3_lib.php',
+ 'League\\HTMLToMarkdown\\Configuration' => __DIR__ . '/..' . '/league/html-to-markdown/src/Configuration.php',
+ 'League\\HTMLToMarkdown\\ConfigurationAwareInterface' => __DIR__ . '/..' . '/league/html-to-markdown/src/ConfigurationAwareInterface.php',
+ 'League\\HTMLToMarkdown\\Converter\\BlockquoteConverter' => __DIR__ . '/..' . '/league/html-to-markdown/src/Converter/BlockquoteConverter.php',
+ 'League\\HTMLToMarkdown\\Converter\\CodeConverter' => __DIR__ . '/..' . '/league/html-to-markdown/src/Converter/CodeConverter.php',
+ 'League\\HTMLToMarkdown\\Converter\\CommentConverter' => __DIR__ . '/..' . '/league/html-to-markdown/src/Converter/CommentConverter.php',
+ 'League\\HTMLToMarkdown\\Converter\\ConverterInterface' => __DIR__ . '/..' . '/league/html-to-markdown/src/Converter/ConverterInterface.php',
+ 'League\\HTMLToMarkdown\\Converter\\DefaultConverter' => __DIR__ . '/..' . '/league/html-to-markdown/src/Converter/DefaultConverter.php',
+ 'League\\HTMLToMarkdown\\Converter\\DivConverter' => __DIR__ . '/..' . '/league/html-to-markdown/src/Converter/DivConverter.php',
+ 'League\\HTMLToMarkdown\\Converter\\EmphasisConverter' => __DIR__ . '/..' . '/league/html-to-markdown/src/Converter/EmphasisConverter.php',
+ 'League\\HTMLToMarkdown\\Converter\\HardBreakConverter' => __DIR__ . '/..' . '/league/html-to-markdown/src/Converter/HardBreakConverter.php',
+ 'League\\HTMLToMarkdown\\Converter\\HeaderConverter' => __DIR__ . '/..' . '/league/html-to-markdown/src/Converter/HeaderConverter.php',
+ 'League\\HTMLToMarkdown\\Converter\\HorizontalRuleConverter' => __DIR__ . '/..' . '/league/html-to-markdown/src/Converter/HorizontalRuleConverter.php',
+ 'League\\HTMLToMarkdown\\Converter\\ImageConverter' => __DIR__ . '/..' . '/league/html-to-markdown/src/Converter/ImageConverter.php',
+ 'League\\HTMLToMarkdown\\Converter\\LinkConverter' => __DIR__ . '/..' . '/league/html-to-markdown/src/Converter/LinkConverter.php',
+ 'League\\HTMLToMarkdown\\Converter\\ListBlockConverter' => __DIR__ . '/..' . '/league/html-to-markdown/src/Converter/ListBlockConverter.php',
+ 'League\\HTMLToMarkdown\\Converter\\ListItemConverter' => __DIR__ . '/..' . '/league/html-to-markdown/src/Converter/ListItemConverter.php',
+ 'League\\HTMLToMarkdown\\Converter\\ParagraphConverter' => __DIR__ . '/..' . '/league/html-to-markdown/src/Converter/ParagraphConverter.php',
+ 'League\\HTMLToMarkdown\\Converter\\PreformattedConverter' => __DIR__ . '/..' . '/league/html-to-markdown/src/Converter/PreformattedConverter.php',
+ 'League\\HTMLToMarkdown\\Converter\\TextConverter' => __DIR__ . '/..' . '/league/html-to-markdown/src/Converter/TextConverter.php',
+ 'League\\HTMLToMarkdown\\Element' => __DIR__ . '/..' . '/league/html-to-markdown/src/Element.php',
+ 'League\\HTMLToMarkdown\\ElementInterface' => __DIR__ . '/..' . '/league/html-to-markdown/src/ElementInterface.php',
+ 'League\\HTMLToMarkdown\\Environment' => __DIR__ . '/..' . '/league/html-to-markdown/src/Environment.php',
+ 'League\\HTMLToMarkdown\\HtmlConverter' => __DIR__ . '/..' . '/league/html-to-markdown/src/HtmlConverter.php',
+ 'Michelf\\Markdown' => __DIR__ . '/..' . '/michelf/php-markdown/Michelf/Markdown.php',
+ 'Michelf\\MarkdownExtra' => __DIR__ . '/..' . '/michelf/php-markdown/Michelf/MarkdownExtra.php',
+ 'Michelf\\MarkdownInterface' => __DIR__ . '/..' . '/michelf/php-markdown/Michelf/MarkdownInterface.php',
+ 'OAuth2\\Autoloader' => __DIR__ . '/..' . '/bshaffer/oauth2-server-php/src/OAuth2/Autoloader.php',
+ 'OAuth2\\ClientAssertionType\\ClientAssertionTypeInterface' => __DIR__ . '/..' . '/bshaffer/oauth2-server-php/src/OAuth2/ClientAssertionType/ClientAssertionTypeInterface.php',
+ 'OAuth2\\ClientAssertionType\\HttpBasic' => __DIR__ . '/..' . '/bshaffer/oauth2-server-php/src/OAuth2/ClientAssertionType/HttpBasic.php',
+ 'OAuth2\\Controller\\AuthorizeController' => __DIR__ . '/..' . '/bshaffer/oauth2-server-php/src/OAuth2/Controller/AuthorizeController.php',
+ 'OAuth2\\Controller\\AuthorizeControllerInterface' => __DIR__ . '/..' . '/bshaffer/oauth2-server-php/src/OAuth2/Controller/AuthorizeControllerInterface.php',
+ 'OAuth2\\Controller\\ResourceController' => __DIR__ . '/..' . '/bshaffer/oauth2-server-php/src/OAuth2/Controller/ResourceController.php',
+ 'OAuth2\\Controller\\ResourceControllerInterface' => __DIR__ . '/..' . '/bshaffer/oauth2-server-php/src/OAuth2/Controller/ResourceControllerInterface.php',
+ 'OAuth2\\Controller\\TokenController' => __DIR__ . '/..' . '/bshaffer/oauth2-server-php/src/OAuth2/Controller/TokenController.php',
+ 'OAuth2\\Controller\\TokenControllerInterface' => __DIR__ . '/..' . '/bshaffer/oauth2-server-php/src/OAuth2/Controller/TokenControllerInterface.php',
+ 'OAuth2\\Encryption\\EncryptionInterface' => __DIR__ . '/..' . '/bshaffer/oauth2-server-php/src/OAuth2/Encryption/EncryptionInterface.php',
+ 'OAuth2\\Encryption\\FirebaseJwt' => __DIR__ . '/..' . '/bshaffer/oauth2-server-php/src/OAuth2/Encryption/FirebaseJwt.php',
+ 'OAuth2\\Encryption\\Jwt' => __DIR__ . '/..' . '/bshaffer/oauth2-server-php/src/OAuth2/Encryption/Jwt.php',
+ 'OAuth2\\GrantType\\AuthorizationCode' => __DIR__ . '/..' . '/bshaffer/oauth2-server-php/src/OAuth2/GrantType/AuthorizationCode.php',
+ 'OAuth2\\GrantType\\ClientCredentials' => __DIR__ . '/..' . '/bshaffer/oauth2-server-php/src/OAuth2/GrantType/ClientCredentials.php',
+ 'OAuth2\\GrantType\\GrantTypeInterface' => __DIR__ . '/..' . '/bshaffer/oauth2-server-php/src/OAuth2/GrantType/GrantTypeInterface.php',
+ 'OAuth2\\GrantType\\JwtBearer' => __DIR__ . '/..' . '/bshaffer/oauth2-server-php/src/OAuth2/GrantType/JwtBearer.php',
+ 'OAuth2\\GrantType\\RefreshToken' => __DIR__ . '/..' . '/bshaffer/oauth2-server-php/src/OAuth2/GrantType/RefreshToken.php',
+ 'OAuth2\\GrantType\\UserCredentials' => __DIR__ . '/..' . '/bshaffer/oauth2-server-php/src/OAuth2/GrantType/UserCredentials.php',
+ 'OAuth2\\OpenID\\Controller\\AuthorizeController' => __DIR__ . '/..' . '/bshaffer/oauth2-server-php/src/OAuth2/OpenID/Controller/AuthorizeController.php',
+ 'OAuth2\\OpenID\\Controller\\AuthorizeControllerInterface' => __DIR__ . '/..' . '/bshaffer/oauth2-server-php/src/OAuth2/OpenID/Controller/AuthorizeControllerInterface.php',
+ 'OAuth2\\OpenID\\Controller\\UserInfoController' => __DIR__ . '/..' . '/bshaffer/oauth2-server-php/src/OAuth2/OpenID/Controller/UserInfoController.php',
+ 'OAuth2\\OpenID\\Controller\\UserInfoControllerInterface' => __DIR__ . '/..' . '/bshaffer/oauth2-server-php/src/OAuth2/OpenID/Controller/UserInfoControllerInterface.php',
+ 'OAuth2\\OpenID\\GrantType\\AuthorizationCode' => __DIR__ . '/..' . '/bshaffer/oauth2-server-php/src/OAuth2/OpenID/GrantType/AuthorizationCode.php',
+ 'OAuth2\\OpenID\\ResponseType\\AuthorizationCode' => __DIR__ . '/..' . '/bshaffer/oauth2-server-php/src/OAuth2/OpenID/ResponseType/AuthorizationCode.php',
+ 'OAuth2\\OpenID\\ResponseType\\AuthorizationCodeInterface' => __DIR__ . '/..' . '/bshaffer/oauth2-server-php/src/OAuth2/OpenID/ResponseType/AuthorizationCodeInterface.php',
+ 'OAuth2\\OpenID\\ResponseType\\CodeIdToken' => __DIR__ . '/..' . '/bshaffer/oauth2-server-php/src/OAuth2/OpenID/ResponseType/CodeIdToken.php',
+ 'OAuth2\\OpenID\\ResponseType\\CodeIdTokenInterface' => __DIR__ . '/..' . '/bshaffer/oauth2-server-php/src/OAuth2/OpenID/ResponseType/CodeIdTokenInterface.php',
+ 'OAuth2\\OpenID\\ResponseType\\IdToken' => __DIR__ . '/..' . '/bshaffer/oauth2-server-php/src/OAuth2/OpenID/ResponseType/IdToken.php',
+ 'OAuth2\\OpenID\\ResponseType\\IdTokenInterface' => __DIR__ . '/..' . '/bshaffer/oauth2-server-php/src/OAuth2/OpenID/ResponseType/IdTokenInterface.php',
+ 'OAuth2\\OpenID\\ResponseType\\IdTokenToken' => __DIR__ . '/..' . '/bshaffer/oauth2-server-php/src/OAuth2/OpenID/ResponseType/IdTokenToken.php',
+ 'OAuth2\\OpenID\\ResponseType\\IdTokenTokenInterface' => __DIR__ . '/..' . '/bshaffer/oauth2-server-php/src/OAuth2/OpenID/ResponseType/IdTokenTokenInterface.php',
+ 'OAuth2\\OpenID\\Storage\\AuthorizationCodeInterface' => __DIR__ . '/..' . '/bshaffer/oauth2-server-php/src/OAuth2/OpenID/Storage/AuthorizationCodeInterface.php',
+ 'OAuth2\\OpenID\\Storage\\UserClaimsInterface' => __DIR__ . '/..' . '/bshaffer/oauth2-server-php/src/OAuth2/OpenID/Storage/UserClaimsInterface.php',
+ 'OAuth2\\Request' => __DIR__ . '/..' . '/bshaffer/oauth2-server-php/src/OAuth2/Request.php',
+ 'OAuth2\\RequestInterface' => __DIR__ . '/..' . '/bshaffer/oauth2-server-php/src/OAuth2/RequestInterface.php',
+ 'OAuth2\\Response' => __DIR__ . '/..' . '/bshaffer/oauth2-server-php/src/OAuth2/Response.php',
+ 'OAuth2\\ResponseInterface' => __DIR__ . '/..' . '/bshaffer/oauth2-server-php/src/OAuth2/ResponseInterface.php',
+ 'OAuth2\\ResponseType\\AccessToken' => __DIR__ . '/..' . '/bshaffer/oauth2-server-php/src/OAuth2/ResponseType/AccessToken.php',
+ 'OAuth2\\ResponseType\\AccessTokenInterface' => __DIR__ . '/..' . '/bshaffer/oauth2-server-php/src/OAuth2/ResponseType/AccessTokenInterface.php',
+ 'OAuth2\\ResponseType\\AuthorizationCode' => __DIR__ . '/..' . '/bshaffer/oauth2-server-php/src/OAuth2/ResponseType/AuthorizationCode.php',
+ 'OAuth2\\ResponseType\\AuthorizationCodeInterface' => __DIR__ . '/..' . '/bshaffer/oauth2-server-php/src/OAuth2/ResponseType/AuthorizationCodeInterface.php',
+ 'OAuth2\\ResponseType\\JwtAccessToken' => __DIR__ . '/..' . '/bshaffer/oauth2-server-php/src/OAuth2/ResponseType/JwtAccessToken.php',
+ 'OAuth2\\ResponseType\\ResponseTypeInterface' => __DIR__ . '/..' . '/bshaffer/oauth2-server-php/src/OAuth2/ResponseType/ResponseTypeInterface.php',
+ 'OAuth2\\Scope' => __DIR__ . '/..' . '/bshaffer/oauth2-server-php/src/OAuth2/Scope.php',
+ 'OAuth2\\ScopeInterface' => __DIR__ . '/..' . '/bshaffer/oauth2-server-php/src/OAuth2/ScopeInterface.php',
+ 'OAuth2\\Server' => __DIR__ . '/..' . '/bshaffer/oauth2-server-php/src/OAuth2/Server.php',
+ 'OAuth2\\Storage\\AccessTokenInterface' => __DIR__ . '/..' . '/bshaffer/oauth2-server-php/src/OAuth2/Storage/AccessTokenInterface.php',
+ 'OAuth2\\Storage\\AuthorizationCodeInterface' => __DIR__ . '/..' . '/bshaffer/oauth2-server-php/src/OAuth2/Storage/AuthorizationCodeInterface.php',
+ 'OAuth2\\Storage\\Cassandra' => __DIR__ . '/..' . '/bshaffer/oauth2-server-php/src/OAuth2/Storage/Cassandra.php',
+ 'OAuth2\\Storage\\ClientCredentialsInterface' => __DIR__ . '/..' . '/bshaffer/oauth2-server-php/src/OAuth2/Storage/ClientCredentialsInterface.php',
+ 'OAuth2\\Storage\\ClientInterface' => __DIR__ . '/..' . '/bshaffer/oauth2-server-php/src/OAuth2/Storage/ClientInterface.php',
+ 'OAuth2\\Storage\\CouchbaseDB' => __DIR__ . '/..' . '/bshaffer/oauth2-server-php/src/OAuth2/Storage/CouchbaseDB.php',
+ 'OAuth2\\Storage\\DynamoDB' => __DIR__ . '/..' . '/bshaffer/oauth2-server-php/src/OAuth2/Storage/DynamoDB.php',
+ 'OAuth2\\Storage\\JwtAccessToken' => __DIR__ . '/..' . '/bshaffer/oauth2-server-php/src/OAuth2/Storage/JwtAccessToken.php',
+ 'OAuth2\\Storage\\JwtAccessTokenInterface' => __DIR__ . '/..' . '/bshaffer/oauth2-server-php/src/OAuth2/Storage/JwtAccessTokenInterface.php',
+ 'OAuth2\\Storage\\JwtBearerInterface' => __DIR__ . '/..' . '/bshaffer/oauth2-server-php/src/OAuth2/Storage/JwtBearerInterface.php',
+ 'OAuth2\\Storage\\Memory' => __DIR__ . '/..' . '/bshaffer/oauth2-server-php/src/OAuth2/Storage/Memory.php',
+ 'OAuth2\\Storage\\Mongo' => __DIR__ . '/..' . '/bshaffer/oauth2-server-php/src/OAuth2/Storage/Mongo.php',
+ 'OAuth2\\Storage\\MongoDB' => __DIR__ . '/..' . '/bshaffer/oauth2-server-php/src/OAuth2/Storage/MongoDB.php',
+ 'OAuth2\\Storage\\Pdo' => __DIR__ . '/..' . '/bshaffer/oauth2-server-php/src/OAuth2/Storage/Pdo.php',
+ 'OAuth2\\Storage\\PublicKeyInterface' => __DIR__ . '/..' . '/bshaffer/oauth2-server-php/src/OAuth2/Storage/PublicKeyInterface.php',
+ 'OAuth2\\Storage\\Redis' => __DIR__ . '/..' . '/bshaffer/oauth2-server-php/src/OAuth2/Storage/Redis.php',
+ 'OAuth2\\Storage\\RefreshTokenInterface' => __DIR__ . '/..' . '/bshaffer/oauth2-server-php/src/OAuth2/Storage/RefreshTokenInterface.php',
+ 'OAuth2\\Storage\\ScopeInterface' => __DIR__ . '/..' . '/bshaffer/oauth2-server-php/src/OAuth2/Storage/ScopeInterface.php',
+ 'OAuth2\\Storage\\UserCredentialsInterface' => __DIR__ . '/..' . '/bshaffer/oauth2-server-php/src/OAuth2/Storage/UserCredentialsInterface.php',
+ 'OAuth2\\TokenType\\Bearer' => __DIR__ . '/..' . '/bshaffer/oauth2-server-php/src/OAuth2/TokenType/Bearer.php',
+ 'OAuth2\\TokenType\\Mac' => __DIR__ . '/..' . '/bshaffer/oauth2-server-php/src/OAuth2/TokenType/Mac.php',
+ 'OAuth2\\TokenType\\TokenTypeInterface' => __DIR__ . '/..' . '/bshaffer/oauth2-server-php/src/OAuth2/TokenType/TokenTypeInterface.php',
'Psr\\Log\\AbstractLogger' => __DIR__ . '/..' . '/psr/log/Psr/Log/AbstractLogger.php',
'Psr\\Log\\InvalidArgumentException' => __DIR__ . '/..' . '/psr/log/Psr/Log/InvalidArgumentException.php',
'Psr\\Log\\LogLevel' => __DIR__ . '/..' . '/psr/log/Psr/Log/LogLevel.php',
@@ -354,6 +782,7 @@ class ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d
'Sabre\\HTTP\\URLUtil' => __DIR__ . '/..' . '/sabre/http/lib/URLUtil.php',
'Sabre\\HTTP\\Util' => __DIR__ . '/..' . '/sabre/http/lib/Util.php',
'Sabre\\HTTP\\Version' => __DIR__ . '/..' . '/sabre/http/lib/Version.php',
+ 'Sabre\\Uri\\InvalidUriException' => __DIR__ . '/..' . '/sabre/uri/lib/InvalidUriException.php',
'Sabre\\Uri\\Version' => __DIR__ . '/..' . '/sabre/uri/lib/Version.php',
'Sabre\\VObject\\BirthdayCalendarGenerator' => __DIR__ . '/..' . '/sabre/vobject/lib/BirthdayCalendarGenerator.php',
'Sabre\\VObject\\Cli' => __DIR__ . '/..' . '/sabre/vobject/lib/Cli.php',
@@ -442,10 +871,52 @@ class ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d
'Sabre\\Xml\\Writer' => __DIR__ . '/..' . '/sabre/xml/lib/Writer.php',
'Sabre\\Xml\\XmlDeserializable' => __DIR__ . '/..' . '/sabre/xml/lib/XmlDeserializable.php',
'Sabre\\Xml\\XmlSerializable' => __DIR__ . '/..' . '/sabre/xml/lib/XmlSerializable.php',
+ 'SimplePie' => __DIR__ . '/..' . '/simplepie/simplepie/library/SimplePie.php',
+ 'SimplePie_Author' => __DIR__ . '/..' . '/simplepie/simplepie/library/SimplePie/Author.php',
+ 'SimplePie_Cache' => __DIR__ . '/..' . '/simplepie/simplepie/library/SimplePie/Cache.php',
+ 'SimplePie_Cache_Base' => __DIR__ . '/..' . '/simplepie/simplepie/library/SimplePie/Cache/Base.php',
+ 'SimplePie_Cache_DB' => __DIR__ . '/..' . '/simplepie/simplepie/library/SimplePie/Cache/DB.php',
+ 'SimplePie_Cache_File' => __DIR__ . '/..' . '/simplepie/simplepie/library/SimplePie/Cache/File.php',
+ 'SimplePie_Cache_Memcache' => __DIR__ . '/..' . '/simplepie/simplepie/library/SimplePie/Cache/Memcache.php',
+ 'SimplePie_Cache_Memcached' => __DIR__ . '/..' . '/simplepie/simplepie/library/SimplePie/Cache/Memcached.php',
+ 'SimplePie_Cache_MySQL' => __DIR__ . '/..' . '/simplepie/simplepie/library/SimplePie/Cache/MySQL.php',
+ 'SimplePie_Cache_Redis' => __DIR__ . '/..' . '/simplepie/simplepie/library/SimplePie/Cache/Redis.php',
+ 'SimplePie_Caption' => __DIR__ . '/..' . '/simplepie/simplepie/library/SimplePie/Caption.php',
+ 'SimplePie_Category' => __DIR__ . '/..' . '/simplepie/simplepie/library/SimplePie/Category.php',
+ 'SimplePie_Content_Type_Sniffer' => __DIR__ . '/..' . '/simplepie/simplepie/library/SimplePie/Content/Type/Sniffer.php',
+ 'SimplePie_Copyright' => __DIR__ . '/..' . '/simplepie/simplepie/library/SimplePie/Copyright.php',
+ 'SimplePie_Core' => __DIR__ . '/..' . '/simplepie/simplepie/library/SimplePie/Core.php',
+ 'SimplePie_Credit' => __DIR__ . '/..' . '/simplepie/simplepie/library/SimplePie/Credit.php',
+ 'SimplePie_Decode_HTML_Entities' => __DIR__ . '/..' . '/simplepie/simplepie/library/SimplePie/Decode/HTML/Entities.php',
+ 'SimplePie_Enclosure' => __DIR__ . '/..' . '/simplepie/simplepie/library/SimplePie/Enclosure.php',
+ 'SimplePie_Exception' => __DIR__ . '/..' . '/simplepie/simplepie/library/SimplePie/Exception.php',
+ 'SimplePie_File' => __DIR__ . '/..' . '/simplepie/simplepie/library/SimplePie/File.php',
+ 'SimplePie_HTTP_Parser' => __DIR__ . '/..' . '/simplepie/simplepie/library/SimplePie/HTTP/Parser.php',
+ 'SimplePie_IRI' => __DIR__ . '/..' . '/simplepie/simplepie/library/SimplePie/IRI.php',
+ 'SimplePie_Item' => __DIR__ . '/..' . '/simplepie/simplepie/library/SimplePie/Item.php',
+ 'SimplePie_Locator' => __DIR__ . '/..' . '/simplepie/simplepie/library/SimplePie/Locator.php',
+ 'SimplePie_Misc' => __DIR__ . '/..' . '/simplepie/simplepie/library/SimplePie/Misc.php',
+ 'SimplePie_Net_IPv6' => __DIR__ . '/..' . '/simplepie/simplepie/library/SimplePie/Net/IPv6.php',
+ 'SimplePie_Parse_Date' => __DIR__ . '/..' . '/simplepie/simplepie/library/SimplePie/Parse/Date.php',
+ 'SimplePie_Parser' => __DIR__ . '/..' . '/simplepie/simplepie/library/SimplePie/Parser.php',
+ 'SimplePie_Rating' => __DIR__ . '/..' . '/simplepie/simplepie/library/SimplePie/Rating.php',
+ 'SimplePie_Registry' => __DIR__ . '/..' . '/simplepie/simplepie/library/SimplePie/Registry.php',
+ 'SimplePie_Restriction' => __DIR__ . '/..' . '/simplepie/simplepie/library/SimplePie/Restriction.php',
+ 'SimplePie_Sanitize' => __DIR__ . '/..' . '/simplepie/simplepie/library/SimplePie/Sanitize.php',
+ 'SimplePie_Source' => __DIR__ . '/..' . '/simplepie/simplepie/library/SimplePie/Source.php',
+ 'SimplePie_XML_Declaration_Parser' => __DIR__ . '/..' . '/simplepie/simplepie/library/SimplePie/XML/Declaration/Parser.php',
+ 'SimplePie_gzdecode' => __DIR__ . '/..' . '/simplepie/simplepie/library/SimplePie/gzdecode.php',
+ 'Text_LanguageDetect' => __DIR__ . '/..' . '/pear/text_languagedetect/Text/LanguageDetect.php',
+ 'Text_LanguageDetectTest' => __DIR__ . '/..' . '/pear/text_languagedetect/tests/Text_LanguageDetectTest.php',
+ 'Text_LanguageDetect_Exception' => __DIR__ . '/..' . '/pear/text_languagedetect/Text/LanguageDetect/Exception.php',
+ 'Text_LanguageDetect_ISO639' => __DIR__ . '/..' . '/pear/text_languagedetect/Text/LanguageDetect/ISO639.php',
+ 'Text_LanguageDetect_ISO639Test' => __DIR__ . '/..' . '/pear/text_languagedetect/tests/Text_LanguageDetect_ISO639Test.php',
+ 'Text_LanguageDetect_Parser' => __DIR__ . '/..' . '/pear/text_languagedetect/Text/LanguageDetect/Parser.php',
'Zotlabs\\Access\\AccessList' => __DIR__ . '/../..' . '/Zotlabs/Access/AccessList.php',
'Zotlabs\\Access\\PermissionLimits' => __DIR__ . '/../..' . '/Zotlabs/Access/PermissionLimits.php',
'Zotlabs\\Access\\PermissionRoles' => __DIR__ . '/../..' . '/Zotlabs/Access/PermissionRoles.php',
'Zotlabs\\Access\\Permissions' => __DIR__ . '/../..' . '/Zotlabs/Access/Permissions.php',
+ 'Zotlabs\\Daemon\\Addon' => __DIR__ . '/../..' . '/Zotlabs/Daemon/Addon.php',
'Zotlabs\\Daemon\\Checksites' => __DIR__ . '/../..' . '/Zotlabs/Daemon/Checksites.php',
'Zotlabs\\Daemon\\Cli_suggest' => __DIR__ . '/../..' . '/Zotlabs/Daemon/Cli_suggest.php',
'Zotlabs\\Daemon\\Cron' => __DIR__ . '/../..' . '/Zotlabs/Daemon/Cron.php',
@@ -460,6 +931,7 @@ class ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d
'Zotlabs\\Daemon\\Externals' => __DIR__ . '/../..' . '/Zotlabs/Daemon/Externals.php',
'Zotlabs\\Daemon\\Gprobe' => __DIR__ . '/../..' . '/Zotlabs/Daemon/Gprobe.php',
'Zotlabs\\Daemon\\Importdoc' => __DIR__ . '/../..' . '/Zotlabs/Daemon/Importdoc.php',
+ 'Zotlabs\\Daemon\\Importfile' => __DIR__ . '/../..' . '/Zotlabs/Daemon/Importfile.php',
'Zotlabs\\Daemon\\Master' => __DIR__ . '/../..' . '/Zotlabs/Daemon/Master.php',
'Zotlabs\\Daemon\\Notifier' => __DIR__ . '/../..' . '/Zotlabs/Daemon/Notifier.php',
'Zotlabs\\Daemon\\Onedirsync' => __DIR__ . '/../..' . '/Zotlabs/Daemon/Onedirsync.php',
@@ -467,22 +939,32 @@ class ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d
'Zotlabs\\Daemon\\Poller' => __DIR__ . '/../..' . '/Zotlabs/Daemon/Poller.php',
'Zotlabs\\Daemon\\Queue' => __DIR__ . '/../..' . '/Zotlabs/Daemon/Queue.php',
'Zotlabs\\Daemon\\Ratenotif' => __DIR__ . '/../..' . '/Zotlabs/Daemon/Ratenotif.php',
+ 'Zotlabs\\Daemon\\Thumbnail' => __DIR__ . '/../..' . '/Zotlabs/Daemon/Thumbnail.php',
'Zotlabs\\Extend\\Hook' => __DIR__ . '/../..' . '/Zotlabs/Extend/Hook.php',
'Zotlabs\\Identity\\BasicId\\BasicId' => __DIR__ . '/../..' . '/Zotlabs/Identity/BasicId.php',
'Zotlabs\\Identity\\ProfilePhoto\\ProfilePhoto' => __DIR__ . '/../..' . '/Zotlabs/Identity/ProfilePhoto.php',
'Zotlabs\\Lib\\AConfig' => __DIR__ . '/../..' . '/Zotlabs/Lib/AConfig.php',
'Zotlabs\\Lib\\AbConfig' => __DIR__ . '/../..' . '/Zotlabs/Lib/AbConfig.php',
+ 'Zotlabs\\Lib\\ActivityStreams' => __DIR__ . '/../..' . '/Zotlabs/Lib/ActivityStreams.php',
'Zotlabs\\Lib\\Api_router' => __DIR__ . '/../..' . '/Zotlabs/Lib/Api_router.php',
'Zotlabs\\Lib\\Apps' => __DIR__ . '/../..' . '/Zotlabs/Lib/Apps.php',
'Zotlabs\\Lib\\Cache' => __DIR__ . '/../..' . '/Zotlabs/Lib/Cache.php',
'Zotlabs\\Lib\\Chatroom' => __DIR__ . '/../..' . '/Zotlabs/Lib/Chatroom.php',
'Zotlabs\\Lib\\Config' => __DIR__ . '/../..' . '/Zotlabs/Lib/Config.php',
+ 'Zotlabs\\Lib\\DB_Upgrade' => __DIR__ . '/../..' . '/Zotlabs/Lib/DB_Upgrade.php',
'Zotlabs\\Lib\\Enotify' => __DIR__ . '/../..' . '/Zotlabs/Lib/Enotify.php',
'Zotlabs\\Lib\\ExtendedZip' => __DIR__ . '/../..' . '/Zotlabs/Lib/ExtendedZip.php',
'Zotlabs\\Lib\\IConfig' => __DIR__ . '/../..' . '/Zotlabs/Lib/IConfig.php',
+ 'Zotlabs\\Lib\\JSalmon' => __DIR__ . '/../..' . '/Zotlabs/Lib/JSalmon.php',
+ 'Zotlabs\\Lib\\LDSignatures' => __DIR__ . '/../..' . '/Zotlabs/Lib/LDSignatures.php',
+ 'Zotlabs\\Lib\\MarkdownSoap' => __DIR__ . '/../..' . '/Zotlabs/Lib/MarkdownSoap.php',
+ 'Zotlabs\\Lib\\NativeWiki' => __DIR__ . '/../..' . '/Zotlabs/Lib/NativeWiki.php',
+ 'Zotlabs\\Lib\\NativeWikiPage' => __DIR__ . '/../..' . '/Zotlabs/Lib/NativeWikiPage.php',
'Zotlabs\\Lib\\PConfig' => __DIR__ . '/../..' . '/Zotlabs/Lib/PConfig.php',
+ 'Zotlabs\\Lib\\Permcat' => __DIR__ . '/../..' . '/Zotlabs/Lib/Permcat.php',
'Zotlabs\\Lib\\PermissionDescription' => __DIR__ . '/../..' . '/Zotlabs/Lib/PermissionDescription.php',
'Zotlabs\\Lib\\ProtoDriver' => __DIR__ . '/../..' . '/Zotlabs/Lib/ProtoDriver.php',
+ 'Zotlabs\\Lib\\SConfig' => __DIR__ . '/../..' . '/Zotlabs/Lib/SConfig.php',
'Zotlabs\\Lib\\SuperCurl' => __DIR__ . '/../..' . '/Zotlabs/Lib/SuperCurl.php',
'Zotlabs\\Lib\\System' => __DIR__ . '/../..' . '/Zotlabs/Lib/System.php',
'Zotlabs\\Lib\\Techlevels' => __DIR__ . '/../..' . '/Zotlabs/Lib/Techlevels.php',
@@ -507,19 +989,26 @@ class ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d
'Zotlabs\\Module\\Admin\\Themes' => __DIR__ . '/../..' . '/Zotlabs/Module/Admin/Themes.php',
'Zotlabs\\Module\\Api' => __DIR__ . '/../..' . '/Zotlabs/Module/Api.php',
'Zotlabs\\Module\\Appman' => __DIR__ . '/../..' . '/Zotlabs/Module/Appman.php',
+ 'Zotlabs\\Module\\Apporder' => __DIR__ . '/../..' . '/Zotlabs/Module/Apporder.php',
'Zotlabs\\Module\\Apps' => __DIR__ . '/../..' . '/Zotlabs/Module/Apps.php',
'Zotlabs\\Module\\Attach' => __DIR__ . '/../..' . '/Zotlabs/Module/Attach.php',
+ 'Zotlabs\\Module\\Authorize' => __DIR__ . '/../..' . '/Zotlabs/Module/Authorize.php',
'Zotlabs\\Module\\Authtest' => __DIR__ . '/../..' . '/Zotlabs/Module/Authtest.php',
'Zotlabs\\Module\\Block' => __DIR__ . '/../..' . '/Zotlabs/Module/Block.php',
'Zotlabs\\Module\\Blocks' => __DIR__ . '/../..' . '/Zotlabs/Module/Blocks.php',
'Zotlabs\\Module\\Bookmarks' => __DIR__ . '/../..' . '/Zotlabs/Module/Bookmarks.php',
'Zotlabs\\Module\\Branchtopic' => __DIR__ . '/../..' . '/Zotlabs/Module/Branchtopic.php',
'Zotlabs\\Module\\Cal' => __DIR__ . '/../..' . '/Zotlabs/Module/Cal.php',
+ 'Zotlabs\\Module\\Card_edit' => __DIR__ . '/../..' . '/Zotlabs/Module/Card_edit.php',
+ 'Zotlabs\\Module\\Cards' => __DIR__ . '/../..' . '/Zotlabs/Module/Cards.php',
+ 'Zotlabs\\Module\\Cdav' => __DIR__ . '/../..' . '/Zotlabs/Module/Cdav.php',
+ 'Zotlabs\\Module\\Changeaddr' => __DIR__ . '/../..' . '/Zotlabs/Module/Changeaddr.php',
'Zotlabs\\Module\\Channel' => __DIR__ . '/../..' . '/Zotlabs/Module/Channel.php',
'Zotlabs\\Module\\Chanview' => __DIR__ . '/../..' . '/Zotlabs/Module/Chanview.php',
'Zotlabs\\Module\\Chat' => __DIR__ . '/../..' . '/Zotlabs/Module/Chat.php',
'Zotlabs\\Module\\Chatsvc' => __DIR__ . '/../..' . '/Zotlabs/Module/Chatsvc.php',
'Zotlabs\\Module\\Cloud' => __DIR__ . '/../..' . '/Zotlabs/Module/Cloud.php',
+ 'Zotlabs\\Module\\Cloud_tiles' => __DIR__ . '/../..' . '/Zotlabs/Module/Cloud_tiles.php',
'Zotlabs\\Module\\Common' => __DIR__ . '/../..' . '/Zotlabs/Module/Common.php',
'Zotlabs\\Module\\Connect' => __DIR__ . '/../..' . '/Zotlabs/Module/Connect.php',
'Zotlabs\\Module\\Connections' => __DIR__ . '/../..' . '/Zotlabs/Module/Connections.php',
@@ -527,6 +1016,7 @@ class ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d
'Zotlabs\\Module\\Contactgroup' => __DIR__ . '/../..' . '/Zotlabs/Module/Contactgroup.php',
'Zotlabs\\Module\\Cover_photo' => __DIR__ . '/../..' . '/Zotlabs/Module/Cover_photo.php',
'Zotlabs\\Module\\Dav' => __DIR__ . '/../..' . '/Zotlabs/Module/Dav.php',
+ 'Zotlabs\\Module\\Defperms' => __DIR__ . '/../..' . '/Zotlabs/Module/Defperms.php',
'Zotlabs\\Module\\Directory' => __DIR__ . '/../..' . '/Zotlabs/Module/Directory.php',
'Zotlabs\\Module\\Dirsearch' => __DIR__ . '/../..' . '/Zotlabs/Module/Dirsearch.php',
'Zotlabs\\Module\\Display' => __DIR__ . '/../..' . '/Zotlabs/Module/Display.php',
@@ -539,7 +1029,6 @@ class ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d
'Zotlabs\\Module\\Events' => __DIR__ . '/../..' . '/Zotlabs/Module/Events.php',
'Zotlabs\\Module\\Fbrowser' => __DIR__ . '/../..' . '/Zotlabs/Module/Fbrowser.php',
'Zotlabs\\Module\\Feed' => __DIR__ . '/../..' . '/Zotlabs/Module/Feed.php',
- 'Zotlabs\\Module\\Ffsapi' => __DIR__ . '/../..' . '/Zotlabs/Module/Ffsapi.php',
'Zotlabs\\Module\\Fhublocs' => __DIR__ . '/../..' . '/Zotlabs/Module/Fhublocs.php',
'Zotlabs\\Module\\File_upload' => __DIR__ . '/../..' . '/Zotlabs/Module/File_upload.php',
'Zotlabs\\Module\\Filer' => __DIR__ . '/../..' . '/Zotlabs/Module/Filer.php',
@@ -552,6 +1041,7 @@ class ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d
'Zotlabs\\Module\\Help' => __DIR__ . '/../..' . '/Zotlabs/Module/Help.php',
'Zotlabs\\Module\\Home' => __DIR__ . '/../..' . '/Zotlabs/Module/Home.php',
'Zotlabs\\Module\\Hostxrd' => __DIR__ . '/../..' . '/Zotlabs/Module/Hostxrd.php',
+ 'Zotlabs\\Module\\Hq' => __DIR__ . '/../..' . '/Zotlabs/Module/Hq.php',
'Zotlabs\\Module\\Impel' => __DIR__ . '/../..' . '/Zotlabs/Module/Impel.php',
'Zotlabs\\Module\\Import' => __DIR__ . '/../..' . '/Zotlabs/Module/Import.php',
'Zotlabs\\Module\\Import_items' => __DIR__ . '/../..' . '/Zotlabs/Module/Import_items.php',
@@ -564,14 +1054,15 @@ class ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d
'Zotlabs\\Module\\Lockview' => __DIR__ . '/../..' . '/Zotlabs/Module/Lockview.php',
'Zotlabs\\Module\\Locs' => __DIR__ . '/../..' . '/Zotlabs/Module/Locs.php',
'Zotlabs\\Module\\Login' => __DIR__ . '/../..' . '/Zotlabs/Module/Login.php',
+ 'Zotlabs\\Module\\Logout' => __DIR__ . '/../..' . '/Zotlabs/Module/Logout.php',
'Zotlabs\\Module\\Lostpass' => __DIR__ . '/../..' . '/Zotlabs/Module/Lostpass.php',
'Zotlabs\\Module\\Magic' => __DIR__ . '/../..' . '/Zotlabs/Module/Magic.php',
'Zotlabs\\Module\\Mail' => __DIR__ . '/../..' . '/Zotlabs/Module/Mail.php',
'Zotlabs\\Module\\Manage' => __DIR__ . '/../..' . '/Zotlabs/Module/Manage.php',
- 'Zotlabs\\Module\\Match' => __DIR__ . '/../..' . '/Zotlabs/Module/Match.php',
'Zotlabs\\Module\\Menu' => __DIR__ . '/../..' . '/Zotlabs/Module/Menu.php',
'Zotlabs\\Module\\Message' => __DIR__ . '/../..' . '/Zotlabs/Module/Message.php',
'Zotlabs\\Module\\Mitem' => __DIR__ . '/../..' . '/Zotlabs/Module/Mitem.php',
+ 'Zotlabs\\Module\\Moderate' => __DIR__ . '/../..' . '/Zotlabs/Module/Moderate.php',
'Zotlabs\\Module\\Mood' => __DIR__ . '/../..' . '/Zotlabs/Module/Mood.php',
'Zotlabs\\Module\\Network' => __DIR__ . '/../..' . '/Zotlabs/Module/Network.php',
'Zotlabs\\Module\\New_channel' => __DIR__ . '/../..' . '/Zotlabs/Module/New_channel.php',
@@ -582,11 +1073,13 @@ class ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d
'Zotlabs\\Module\\Oembed' => __DIR__ . '/../..' . '/Zotlabs/Module/Oembed.php',
'Zotlabs\\Module\\Oep' => __DIR__ . '/../..' . '/Zotlabs/Module/Oep.php',
'Zotlabs\\Module\\Oexchange' => __DIR__ . '/../..' . '/Zotlabs/Module/Oexchange.php',
+ 'Zotlabs\\Module\\Ofeed' => __DIR__ . '/../..' . '/Zotlabs/Module/Ofeed.php',
'Zotlabs\\Module\\Online' => __DIR__ . '/../..' . '/Zotlabs/Module/Online.php',
- 'Zotlabs\\Module\\Opensearch' => __DIR__ . '/../..' . '/Zotlabs/Module/Opensearch.php',
+ 'Zotlabs\\Module\\Owa' => __DIR__ . '/../..' . '/Zotlabs/Module/Owa.php',
'Zotlabs\\Module\\Page' => __DIR__ . '/../..' . '/Zotlabs/Module/Page.php',
'Zotlabs\\Module\\Pconfig' => __DIR__ . '/../..' . '/Zotlabs/Module/Pconfig.php',
'Zotlabs\\Module\\Pdledit' => __DIR__ . '/../..' . '/Zotlabs/Module/Pdledit.php',
+ 'Zotlabs\\Module\\Permcat' => __DIR__ . '/../..' . '/Zotlabs/Module/Permcat.php',
'Zotlabs\\Module\\Photo' => __DIR__ . '/../..' . '/Zotlabs/Module/Photo.php',
'Zotlabs\\Module\\Photos' => __DIR__ . '/../..' . '/Zotlabs/Module/Photos.php',
'Zotlabs\\Module\\Ping' => __DIR__ . '/../..' . '/Zotlabs/Module/Ping.php',
@@ -616,7 +1109,6 @@ class ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d
'Zotlabs\\Module\\Removeme' => __DIR__ . '/../..' . '/Zotlabs/Module/Removeme.php',
'Zotlabs\\Module\\Rmagic' => __DIR__ . '/../..' . '/Zotlabs/Module/Rmagic.php',
'Zotlabs\\Module\\Rpost' => __DIR__ . '/../..' . '/Zotlabs/Module/Rpost.php',
- 'Zotlabs\\Module\\Rsd_xml' => __DIR__ . '/../..' . '/Zotlabs/Module/Rsd_xml.php',
'Zotlabs\\Module\\Search' => __DIR__ . '/../..' . '/Zotlabs/Module/Search.php',
'Zotlabs\\Module\\Search_ac' => __DIR__ . '/../..' . '/Zotlabs/Module/Search_ac.php',
'Zotlabs\\Module\\Service_limits' => __DIR__ . '/../..' . '/Zotlabs/Module/Service_limits.php',
@@ -627,12 +1119,12 @@ class ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d
'Zotlabs\\Module\\Settings\\Featured' => __DIR__ . '/../..' . '/Zotlabs/Module/Settings/Featured.php',
'Zotlabs\\Module\\Settings\\Features' => __DIR__ . '/../..' . '/Zotlabs/Module/Settings/Features.php',
'Zotlabs\\Module\\Settings\\Oauth' => __DIR__ . '/../..' . '/Zotlabs/Module/Settings/Oauth.php',
+ 'Zotlabs\\Module\\Settings\\Permcats' => __DIR__ . '/../..' . '/Zotlabs/Module/Settings/Permcats.php',
'Zotlabs\\Module\\Settings\\Tokens' => __DIR__ . '/../..' . '/Zotlabs/Module/Settings/Tokens.php',
'Zotlabs\\Module\\Setup' => __DIR__ . '/../..' . '/Zotlabs/Module/Setup.php',
'Zotlabs\\Module\\Share' => __DIR__ . '/../..' . '/Zotlabs/Module/Share.php',
'Zotlabs\\Module\\Sharedwithme' => __DIR__ . '/../..' . '/Zotlabs/Module/Sharedwithme.php',
'Zotlabs\\Module\\Siteinfo' => __DIR__ . '/../..' . '/Zotlabs/Module/Siteinfo.php',
- 'Zotlabs\\Module\\Siteinfo_json' => __DIR__ . '/../..' . '/Zotlabs/Module/Siteinfo_json.php',
'Zotlabs\\Module\\Sitelist' => __DIR__ . '/../..' . '/Zotlabs/Module/Sitelist.php',
'Zotlabs\\Module\\Smilies' => __DIR__ . '/../..' . '/Zotlabs/Module/Smilies.php',
'Zotlabs\\Module\\Snap' => __DIR__ . '/../..' . '/Zotlabs/Module/Snap.php',
@@ -648,7 +1140,9 @@ class ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d
'Zotlabs\\Module\\Thing' => __DIR__ . '/../..' . '/Zotlabs/Module/Thing.php',
'Zotlabs\\Module\\Toggle_mobile' => __DIR__ . '/../..' . '/Zotlabs/Module/Toggle_mobile.php',
'Zotlabs\\Module\\Toggle_safesearch' => __DIR__ . '/../..' . '/Zotlabs/Module/Toggle_safesearch.php',
+ 'Zotlabs\\Module\\Token' => __DIR__ . '/../..' . '/Zotlabs/Module/Token.php',
'Zotlabs\\Module\\Uexport' => __DIR__ . '/../..' . '/Zotlabs/Module/Uexport.php',
+ 'Zotlabs\\Module\\Update_cards' => __DIR__ . '/../..' . '/Zotlabs/Module/Update_cards.php',
'Zotlabs\\Module\\Update_channel' => __DIR__ . '/../..' . '/Zotlabs/Module/Update_channel.php',
'Zotlabs\\Module\\Update_display' => __DIR__ . '/../..' . '/Zotlabs/Module/Update_display.php',
'Zotlabs\\Module\\Update_home' => __DIR__ . '/../..' . '/Zotlabs/Module/Update_home.php',
@@ -687,12 +1181,70 @@ class ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d
'Zotlabs\\Text\\Tagadelic' => __DIR__ . '/../..' . '/Zotlabs/Text/Tagadelic.php',
'Zotlabs\\Web\\CheckJS' => __DIR__ . '/../..' . '/Zotlabs/Web/CheckJS.php',
'Zotlabs\\Web\\Controller' => __DIR__ . '/../..' . '/Zotlabs/Web/Controller.php',
+ 'Zotlabs\\Web\\HTTPHeaders' => __DIR__ . '/../..' . '/Zotlabs/Web/HTTPHeaders.php',
+ 'Zotlabs\\Web\\HTTPSig' => __DIR__ . '/../..' . '/Zotlabs/Web/HTTPSig.php',
'Zotlabs\\Web\\HttpMeta' => __DIR__ . '/../..' . '/Zotlabs/Web/HttpMeta.php',
'Zotlabs\\Web\\Router' => __DIR__ . '/../..' . '/Zotlabs/Web/Router.php',
'Zotlabs\\Web\\Session' => __DIR__ . '/../..' . '/Zotlabs/Web/Session.php',
'Zotlabs\\Web\\SessionHandler' => __DIR__ . '/../..' . '/Zotlabs/Web/SessionHandler.php',
'Zotlabs\\Web\\SubModule' => __DIR__ . '/../..' . '/Zotlabs/Web/SubModule.php',
'Zotlabs\\Web\\WebServer' => __DIR__ . '/../..' . '/Zotlabs/Web/WebServer.php',
+ 'Zotlabs\\Widget\\Activity' => __DIR__ . '/../..' . '/Zotlabs/Widget/Activity.php',
+ 'Zotlabs\\Widget\\Admin' => __DIR__ . '/../..' . '/Zotlabs/Widget/Admin.php',
+ 'Zotlabs\\Widget\\Affinity' => __DIR__ . '/../..' . '/Zotlabs/Widget/Affinity.php',
+ 'Zotlabs\\Widget\\Album' => __DIR__ . '/../..' . '/Zotlabs/Widget/Album.php',
+ 'Zotlabs\\Widget\\Appcategories' => __DIR__ . '/../..' . '/Zotlabs/Widget/Appcategories.php',
+ 'Zotlabs\\Widget\\Appcloud' => __DIR__ . '/../..' . '/Zotlabs/Widget/Appcloud.php',
+ 'Zotlabs\\Widget\\Archive' => __DIR__ . '/../..' . '/Zotlabs/Widget/Archive.php',
+ 'Zotlabs\\Widget\\Bookmarkedchats' => __DIR__ . '/../..' . '/Zotlabs/Widget/Bookmarkedchats.php',
+ 'Zotlabs\\Widget\\Catcloud_wall' => __DIR__ . '/../..' . '/Zotlabs/Widget/Catcloud_wall.php',
+ 'Zotlabs\\Widget\\Categories' => __DIR__ . '/../..' . '/Zotlabs/Widget/Categories.php',
+ 'Zotlabs\\Widget\\Cdav' => __DIR__ . '/../..' . '/Zotlabs/Widget/Cdav.php',
+ 'Zotlabs\\Widget\\Chatroom_list' => __DIR__ . '/../..' . '/Zotlabs/Widget/Chatroom_list.php',
+ 'Zotlabs\\Widget\\Chatroom_members' => __DIR__ . '/../..' . '/Zotlabs/Widget/Chatroom_members.php',
+ 'Zotlabs\\Widget\\Clock' => __DIR__ . '/../..' . '/Zotlabs/Widget/Clock.php',
+ 'Zotlabs\\Widget\\Collections' => __DIR__ . '/../..' . '/Zotlabs/Widget/Collections.php',
+ 'Zotlabs\\Widget\\Common_friends' => __DIR__ . '/../..' . '/Zotlabs/Widget/Common_friends.php',
+ 'Zotlabs\\Widget\\Conversations' => __DIR__ . '/../..' . '/Zotlabs/Widget/Conversations.php',
+ 'Zotlabs\\Widget\\Cover_photo' => __DIR__ . '/../..' . '/Zotlabs/Widget/Cover_photo.php',
+ 'Zotlabs\\Widget\\Design_tools' => __DIR__ . '/../..' . '/Zotlabs/Widget/Design_tools.php',
+ 'Zotlabs\\Widget\\Dirsort' => __DIR__ . '/../..' . '/Zotlabs/Widget/Dirsort.php',
+ 'Zotlabs\\Widget\\Dirtags' => __DIR__ . '/../..' . '/Zotlabs/Widget/Dirtags.php',
+ 'Zotlabs\\Widget\\Eventstools' => __DIR__ . '/../..' . '/Zotlabs/Widget/Eventstools.php',
+ 'Zotlabs\\Widget\\Filer' => __DIR__ . '/../..' . '/Zotlabs/Widget/Filer.php',
+ 'Zotlabs\\Widget\\Findpeople' => __DIR__ . '/../..' . '/Zotlabs/Widget/Findpeople.php',
+ 'Zotlabs\\Widget\\Follow' => __DIR__ . '/../..' . '/Zotlabs/Widget/Follow.php',
+ 'Zotlabs\\Widget\\Forums' => __DIR__ . '/../..' . '/Zotlabs/Widget/Forums.php',
+ 'Zotlabs\\Widget\\Fullprofile' => __DIR__ . '/../..' . '/Zotlabs/Widget/Fullprofile.php',
+ 'Zotlabs\\Widget\\Helpindex' => __DIR__ . '/../..' . '/Zotlabs/Widget/Helpindex.php',
+ 'Zotlabs\\Widget\\Item' => __DIR__ . '/../..' . '/Zotlabs/Widget/Item.php',
+ 'Zotlabs\\Widget\\Mailmenu' => __DIR__ . '/../..' . '/Zotlabs/Widget/Mailmenu.php',
+ 'Zotlabs\\Widget\\Menu_preview' => __DIR__ . '/../..' . '/Zotlabs/Widget/Menu_preview.php',
+ 'Zotlabs\\Widget\\Notes' => __DIR__ . '/../..' . '/Zotlabs/Widget/Notes.php',
+ 'Zotlabs\\Widget\\Notifications' => __DIR__ . '/../..' . '/Zotlabs/Widget/Notifications.php',
+ 'Zotlabs\\Widget\\Photo' => __DIR__ . '/../..' . '/Zotlabs/Widget/Photo.php',
+ 'Zotlabs\\Widget\\Photo_albums' => __DIR__ . '/../..' . '/Zotlabs/Widget/Photo_albums.php',
+ 'Zotlabs\\Widget\\Photo_rand' => __DIR__ . '/../..' . '/Zotlabs/Widget/Photo_rand.php',
+ 'Zotlabs\\Widget\\Portfolio' => __DIR__ . '/../..' . '/Zotlabs/Widget/Portfolio.php',
+ 'Zotlabs\\Widget\\Profile' => __DIR__ . '/../..' . '/Zotlabs/Widget/Profile.php',
+ 'Zotlabs\\Widget\\Pubsites' => __DIR__ . '/../..' . '/Zotlabs/Widget/Pubsites.php',
+ 'Zotlabs\\Widget\\Random_block' => __DIR__ . '/../..' . '/Zotlabs/Widget/Random_block.php',
+ 'Zotlabs\\Widget\\Rating' => __DIR__ . '/../..' . '/Zotlabs/Widget/Rating.php',
+ 'Zotlabs\\Widget\\Savedsearch' => __DIR__ . '/../..' . '/Zotlabs/Widget/Savedsearch.php',
+ 'Zotlabs\\Widget\\Settings_menu' => __DIR__ . '/../..' . '/Zotlabs/Widget/Settings_menu.php',
+ 'Zotlabs\\Widget\\Shortprofile' => __DIR__ . '/../..' . '/Zotlabs/Widget/Shortprofile.php',
+ 'Zotlabs\\Widget\\Sitesearch' => __DIR__ . '/../..' . '/Zotlabs/Widget/Sitesearch.php',
+ 'Zotlabs\\Widget\\Suggestedchats' => __DIR__ . '/../..' . '/Zotlabs/Widget/Suggestedchats.php',
+ 'Zotlabs\\Widget\\Suggestions' => __DIR__ . '/../..' . '/Zotlabs/Widget/Suggestions.php',
+ 'Zotlabs\\Widget\\Tagcloud' => __DIR__ . '/../..' . '/Zotlabs/Widget/Tagcloud.php',
+ 'Zotlabs\\Widget\\Tagcloud_wall' => __DIR__ . '/../..' . '/Zotlabs/Widget/Tagcloud_wall.php',
+ 'Zotlabs\\Widget\\Tasklist' => __DIR__ . '/../..' . '/Zotlabs/Widget/Tasklist.php',
+ 'Zotlabs\\Widget\\Vcard' => __DIR__ . '/../..' . '/Zotlabs/Widget/Vcard.php',
+ 'Zotlabs\\Widget\\Website_portation_tools' => __DIR__ . '/../..' . '/Zotlabs/Widget/Website_portation_tools.php',
+ 'Zotlabs\\Widget\\Wiki_list' => __DIR__ . '/../..' . '/Zotlabs/Widget/Wiki_list.php',
+ 'Zotlabs\\Widget\\Wiki_page_history' => __DIR__ . '/../..' . '/Zotlabs/Widget/Wiki_page_history.php',
+ 'Zotlabs\\Widget\\Wiki_pages' => __DIR__ . '/../..' . '/Zotlabs/Widget/Wiki_pages.php',
+ 'Zotlabs\\Widget\\Zcard' => __DIR__ . '/../..' . '/Zotlabs/Widget/Zcard.php',
'Zotlabs\\Zot\\Auth' => __DIR__ . '/../..' . '/Zotlabs/Zot/Auth.php',
'Zotlabs\\Zot\\DReport' => __DIR__ . '/../..' . '/Zotlabs/Zot/DReport.php',
'Zotlabs\\Zot\\Finger' => __DIR__ . '/../..' . '/Zotlabs/Zot/Finger.php',
@@ -707,6 +1259,7 @@ class ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d
return \Closure::bind(function () use ($loader) {
$loader->prefixLengthsPsr4 = ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d::$prefixLengthsPsr4;
$loader->prefixDirsPsr4 = ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d::$prefixDirsPsr4;
+ $loader->prefixesPsr0 = ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d::$prefixesPsr0;
$loader->classMap = ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d::$classMap;
}, null, ClassLoader::class);
diff --git a/vendor/composer/include_paths.php b/vendor/composer/include_paths.php
new file mode 100644
index 000000000..4b72402c9
--- /dev/null
+++ b/vendor/composer/include_paths.php
@@ -0,0 +1,10 @@
+<?php
+
+// include_paths.php @generated by Composer
+
+$vendorDir = dirname(dirname(__FILE__));
+$baseDir = dirname($vendorDir);
+
+return array(
+ $vendorDir . '/pear/text_languagedetect',
+);
diff --git a/vendor/composer/installed.json b/vendor/composer/installed.json
index 88acfc40c..31aa8aef4 100644
--- a/vendor/composer/installed.json
+++ b/vendor/composer/installed.json
@@ -1,27 +1,527 @@
[
{
+ "name": "sabre/event",
+ "version": "3.0.0",
+ "version_normalized": "3.0.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sabre-io/event.git",
+ "reference": "831d586f5a442dceacdcf5e9c4c36a4db99a3534"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sabre-io/event/zipball/831d586f5a442dceacdcf5e9c4c36a4db99a3534",
+ "reference": "831d586f5a442dceacdcf5e9c4c36a4db99a3534",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.5"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "*",
+ "sabre/cs": "~0.0.4"
+ },
+ "time": "2015-11-05T20:14:39+00:00",
+ "type": "library",
+ "installation-source": "dist",
+ "autoload": {
+ "psr-4": {
+ "Sabre\\Event\\": "lib/"
+ },
+ "files": [
+ "lib/coroutine.php",
+ "lib/Loop/functions.php",
+ "lib/Promise/functions.php"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Evert Pot",
+ "email": "me@evertpot.com",
+ "homepage": "http://evertpot.com/",
+ "role": "Developer"
+ }
+ ],
+ "description": "sabre/event is a library for lightweight event-based programming",
+ "homepage": "http://sabre.io/event/",
+ "keywords": [
+ "EventEmitter",
+ "async",
+ "events",
+ "hooks",
+ "plugin",
+ "promise",
+ "signal"
+ ]
+ },
+ {
+ "name": "sabre/xml",
+ "version": "1.5.0",
+ "version_normalized": "1.5.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sabre-io/xml.git",
+ "reference": "59b20e5bbace9912607481634f97d05a776ffca7"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sabre-io/xml/zipball/59b20e5bbace9912607481634f97d05a776ffca7",
+ "reference": "59b20e5bbace9912607481634f97d05a776ffca7",
+ "shasum": ""
+ },
+ "require": {
+ "ext-dom": "*",
+ "ext-xmlreader": "*",
+ "ext-xmlwriter": "*",
+ "lib-libxml": ">=2.6.20",
+ "php": ">=5.5.5",
+ "sabre/uri": ">=1.0,<3.0.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "*",
+ "sabre/cs": "~1.0.0"
+ },
+ "time": "2016-10-09T22:57:52+00:00",
+ "type": "library",
+ "installation-source": "dist",
+ "autoload": {
+ "psr-4": {
+ "Sabre\\Xml\\": "lib/"
+ },
+ "files": [
+ "lib/Deserializer/functions.php",
+ "lib/Serializer/functions.php"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Evert Pot",
+ "email": "me@evertpot.com",
+ "homepage": "http://evertpot.com/",
+ "role": "Developer"
+ },
+ {
+ "name": "Markus Staab",
+ "email": "markus.staab@redaxo.de",
+ "role": "Developer"
+ }
+ ],
+ "description": "sabre/xml is an XML library that you may not hate.",
+ "homepage": "https://sabre.io/xml/",
+ "keywords": [
+ "XMLReader",
+ "XMLWriter",
+ "dom",
+ "xml"
+ ]
+ },
+ {
+ "name": "psr/log",
+ "version": "1.0.2",
+ "version_normalized": "1.0.2.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/php-fig/log.git",
+ "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d",
+ "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.0"
+ },
+ "time": "2016-10-10T12:19:37+00:00",
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.0.x-dev"
+ }
+ },
+ "installation-source": "dist",
+ "autoload": {
+ "psr-4": {
+ "Psr\\Log\\": "Psr/Log/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "PHP-FIG",
+ "homepage": "http://www.php-fig.org/"
+ }
+ ],
+ "description": "Common interface for logging libraries",
+ "homepage": "https://github.com/php-fig/log",
+ "keywords": [
+ "log",
+ "psr",
+ "psr-3"
+ ]
+ },
+ {
+ "name": "michelf/php-markdown",
+ "version": "1.7.0",
+ "version_normalized": "1.7.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/michelf/php-markdown.git",
+ "reference": "1f51cc520948f66cd2af8cbc45a5ee175e774220"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/michelf/php-markdown/zipball/1f51cc520948f66cd2af8cbc45a5ee175e774220",
+ "reference": "1f51cc520948f66cd2af8cbc45a5ee175e774220",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.0"
+ },
+ "time": "2016-10-29T18:58:20+00:00",
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-lib": "1.4.x-dev"
+ }
+ },
+ "installation-source": "dist",
+ "autoload": {
+ "psr-0": {
+ "Michelf": ""
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Michel Fortin",
+ "email": "michel.fortin@michelf.ca",
+ "homepage": "https://michelf.ca/",
+ "role": "Developer"
+ },
+ {
+ "name": "John Gruber",
+ "homepage": "https://daringfireball.net/"
+ }
+ ],
+ "description": "PHP Markdown",
+ "homepage": "https://michelf.ca/projects/php-markdown/",
+ "keywords": [
+ "markdown"
+ ]
+ },
+ {
+ "name": "bshaffer/oauth2-server-php",
+ "version": "v1.9.0",
+ "version_normalized": "1.9.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/bshaffer/oauth2-server-php.git",
+ "reference": "8856aed1a98d6da596ae3f9b8095b5c7a1581697"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/bshaffer/oauth2-server-php/zipball/8856aed1a98d6da596ae3f9b8095b5c7a1581697",
+ "reference": "8856aed1a98d6da596ae3f9b8095b5c7a1581697",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.9"
+ },
+ "require-dev": {
+ "aws/aws-sdk-php": "~2.8",
+ "firebase/php-jwt": "~2.2",
+ "mongodb/mongodb": "^1.1",
+ "predis/predis": "dev-master",
+ "thobbs/phpcassa": "dev-master"
+ },
+ "suggest": {
+ "aws/aws-sdk-php": "~2.8 is required to use DynamoDB storage",
+ "firebase/php-jwt": "~1.1 is required to use MondoDB storage",
+ "predis/predis": "Required to use Redis storage",
+ "thobbs/phpcassa": "Required to use Cassandra storage"
+ },
+ "time": "2017-01-06T23:20:00+00:00",
+ "type": "library",
+ "installation-source": "dist",
+ "autoload": {
+ "psr-0": {
+ "OAuth2": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Brent Shaffer",
+ "email": "bshafs@gmail.com",
+ "homepage": "http://brentertainment.com"
+ }
+ ],
+ "description": "OAuth2 Server for PHP",
+ "homepage": "http://github.com/bshaffer/oauth2-server-php",
+ "keywords": [
+ "auth",
+ "oauth",
+ "oauth2"
+ ]
+ },
+ {
+ "name": "simplepie/simplepie",
+ "version": "1.5",
+ "version_normalized": "1.5.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/simplepie/simplepie.git",
+ "reference": "5de5551953f95feef12cf355a7a26a70f94aa3ab"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/simplepie/simplepie/zipball/5de5551953f95feef12cf355a7a26a70f94aa3ab",
+ "reference": "5de5551953f95feef12cf355a7a26a70f94aa3ab",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "~4 || ~5"
+ },
+ "suggest": {
+ "mf2/mf2": "Microformat module that allows for parsing HTML for microformats"
+ },
+ "time": "2017-04-17T07:29:31+00:00",
+ "type": "library",
+ "installation-source": "source",
+ "autoload": {
+ "psr-0": {
+ "SimplePie": "library"
+ }
+ },
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Ryan Parman",
+ "homepage": "http://ryanparman.com/",
+ "role": "Creator, alumnus developer"
+ },
+ {
+ "name": "Geoffrey Sneddon",
+ "homepage": "http://gsnedders.com/",
+ "role": "Alumnus developer"
+ },
+ {
+ "name": "Ryan McCue",
+ "email": "me@ryanmccue.info",
+ "homepage": "http://ryanmccue.info/",
+ "role": "Developer"
+ }
+ ],
+ "description": "A simple Atom/RSS parsing library for PHP",
+ "homepage": "http://simplepie.org/",
+ "keywords": [
+ "atom",
+ "feeds",
+ "rss"
+ ],
+ "support": {
+ "source": "https://github.com/simplepie/simplepie/tree/1.5",
+ "issues": "https://github.com/simplepie/simplepie/issues"
+ }
+ },
+ {
+ "name": "sabre/dav",
+ "version": "3.2.2",
+ "version_normalized": "3.2.2.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sabre-io/dav.git",
+ "reference": "e987775e619728f12205606c9cc3ee565ffb1516"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sabre-io/dav/zipball/e987775e619728f12205606c9cc3ee565ffb1516",
+ "reference": "e987775e619728f12205606c9cc3ee565ffb1516",
+ "shasum": ""
+ },
+ "require": {
+ "ext-ctype": "*",
+ "ext-date": "*",
+ "ext-dom": "*",
+ "ext-iconv": "*",
+ "ext-mbstring": "*",
+ "ext-pcre": "*",
+ "ext-simplexml": "*",
+ "ext-spl": "*",
+ "lib-libxml": ">=2.7.0",
+ "php": ">=5.5.0",
+ "psr/log": "^1.0",
+ "sabre/event": ">=2.0.0, <4.0.0",
+ "sabre/http": "^4.2.1",
+ "sabre/uri": "^1.0.1",
+ "sabre/vobject": "^4.1.0",
+ "sabre/xml": "^1.4.0"
+ },
+ "require-dev": {
+ "evert/phpdoc-md": "~0.1.0",
+ "monolog/monolog": "^1.18",
+ "phpunit/phpunit": "> 4.8, <6.0.0",
+ "sabre/cs": "^1.0.0"
+ },
+ "suggest": {
+ "ext-curl": "*",
+ "ext-pdo": "*"
+ },
+ "time": "2017-02-15T03:06:08+00:00",
+ "bin": [
+ "bin/sabredav",
+ "bin/naturalselection"
+ ],
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.1.0-dev"
+ }
+ },
+ "installation-source": "dist",
+ "autoload": {
+ "psr-4": {
+ "Sabre\\DAV\\": "lib/DAV/",
+ "Sabre\\DAVACL\\": "lib/DAVACL/",
+ "Sabre\\CalDAV\\": "lib/CalDAV/",
+ "Sabre\\CardDAV\\": "lib/CardDAV/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Evert Pot",
+ "email": "me@evertpot.com",
+ "homepage": "http://evertpot.com/",
+ "role": "Developer"
+ }
+ ],
+ "description": "WebDAV Framework for PHP",
+ "homepage": "http://sabre.io/",
+ "keywords": [
+ "CalDAV",
+ "CardDAV",
+ "WebDAV",
+ "framework",
+ "iCalendar"
+ ]
+ },
+ {
+ "name": "league/html-to-markdown",
+ "version": "4.4.1",
+ "version_normalized": "4.4.1.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/thephpleague/html-to-markdown.git",
+ "reference": "82ea375b5b2b1da1da222644c0565c695bf88186"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/thephpleague/html-to-markdown/zipball/82ea375b5b2b1da1da222644c0565c695bf88186",
+ "reference": "82ea375b5b2b1da1da222644c0565c695bf88186",
+ "shasum": ""
+ },
+ "require": {
+ "ext-dom": "*",
+ "ext-xml": "*",
+ "php": ">=5.3.3"
+ },
+ "require-dev": {
+ "mikehaertl/php-shellcommand": "~1.1.0",
+ "phpunit/phpunit": "4.*",
+ "scrutinizer/ocular": "~1.1"
+ },
+ "time": "2017-03-16T00:45:59+00:00",
+ "bin": [
+ "bin/html-to-markdown"
+ ],
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "4.5-dev"
+ }
+ },
+ "installation-source": "dist",
+ "autoload": {
+ "psr-4": {
+ "League\\HTMLToMarkdown\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Colin O'Dell",
+ "email": "colinodell@gmail.com",
+ "homepage": "http://www.colinodell.com",
+ "role": "Lead Developer"
+ },
+ {
+ "name": "Nick Cernis",
+ "email": "nick@cern.is",
+ "homepage": "http://modernnerd.net",
+ "role": "Original Author"
+ }
+ ],
+ "description": "An HTML-to-markdown conversion helper for PHP",
+ "homepage": "https://github.com/thephpleague/html-to-markdown",
+ "keywords": [
+ "html",
+ "markdown"
+ ]
+ },
+ {
"name": "sabre/uri",
- "version": "1.1.0",
- "version_normalized": "1.1.0.0",
+ "version": "1.2.1",
+ "version_normalized": "1.2.1.0",
"source": {
"type": "git",
- "url": "https://github.com/fruux/sabre-uri.git",
- "reference": "9012116434d84ef6e5e37a89dfdbfbe2204a8704"
+ "url": "https://github.com/sabre-io/uri.git",
+ "reference": "ada354d83579565949d80b2e15593c2371225e61"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/fruux/sabre-uri/zipball/9012116434d84ef6e5e37a89dfdbfbe2204a8704",
- "reference": "9012116434d84ef6e5e37a89dfdbfbe2204a8704",
+ "url": "https://api.github.com/repos/sabre-io/uri/zipball/ada354d83579565949d80b2e15593c2371225e61",
+ "reference": "ada354d83579565949d80b2e15593c2371225e61",
"shasum": ""
},
"require": {
"php": ">=5.4.7"
},
"require-dev": {
- "phpunit/phpunit": "*",
- "sabre/cs": "~0.0.1"
+ "phpunit/phpunit": ">=4.0,<6.0",
+ "sabre/cs": "~1.0.0"
},
- "time": "2016-03-08 02:29:27",
+ "time": "2017-02-20T19:59:28+00:00",
"type": "library",
"installation-source": "dist",
"autoload": {
@@ -54,32 +554,32 @@
},
{
"name": "sabre/vobject",
- "version": "4.1.1",
- "version_normalized": "4.1.1.0",
+ "version": "4.1.2",
+ "version_normalized": "4.1.2.0",
"source": {
"type": "git",
- "url": "https://github.com/fruux/sabre-vobject.git",
- "reference": "a3a59b06947f122af2d45d52b72172cdc1efd68f"
+ "url": "https://github.com/sabre-io/vobject.git",
+ "reference": "d0fde2fafa2a3dad1f559c2d1c2591d4fd75ae3c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/fruux/sabre-vobject/zipball/a3a59b06947f122af2d45d52b72172cdc1efd68f",
- "reference": "a3a59b06947f122af2d45d52b72172cdc1efd68f",
+ "url": "https://api.github.com/repos/sabre-io/vobject/zipball/d0fde2fafa2a3dad1f559c2d1c2591d4fd75ae3c",
+ "reference": "d0fde2fafa2a3dad1f559c2d1c2591d4fd75ae3c",
"shasum": ""
},
"require": {
"ext-mbstring": "*",
"php": ">=5.5",
- "sabre/xml": "~1.1"
+ "sabre/xml": ">=1.5 <3.0"
},
"require-dev": {
"phpunit/phpunit": "*",
- "sabre/cs": "~0.0.3"
+ "sabre/cs": "^1.0.0"
},
"suggest": {
"hoa/bench": "If you would like to run the benchmark scripts"
},
- "time": "2016-07-15 19:52:17",
+ "time": "2016-12-06T04:14:09+00:00",
"bin": [
"bin/vobject",
"bin/generate_vcards"
@@ -152,80 +652,71 @@
]
},
{
- "name": "sabre/event",
- "version": "3.0.0",
- "version_normalized": "3.0.0.0",
+ "name": "ezyang/htmlpurifier",
+ "version": "v4.9.3",
+ "version_normalized": "4.9.3.0",
"source": {
"type": "git",
- "url": "https://github.com/fruux/sabre-event.git",
- "reference": "831d586f5a442dceacdcf5e9c4c36a4db99a3534"
+ "url": "https://github.com/ezyang/htmlpurifier.git",
+ "reference": "95e1bae3182efc0f3422896a3236e991049dac69"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/fruux/sabre-event/zipball/831d586f5a442dceacdcf5e9c4c36a4db99a3534",
- "reference": "831d586f5a442dceacdcf5e9c4c36a4db99a3534",
+ "url": "https://api.github.com/repos/ezyang/htmlpurifier/zipball/95e1bae3182efc0f3422896a3236e991049dac69",
+ "reference": "95e1bae3182efc0f3422896a3236e991049dac69",
"shasum": ""
},
"require": {
- "php": ">=5.5"
+ "php": ">=5.2"
},
"require-dev": {
- "phpunit/phpunit": "*",
- "sabre/cs": "~0.0.4"
+ "simpletest/simpletest": "^1.1"
},
- "time": "2015-11-05 20:14:39",
+ "time": "2017-06-03T02:28:16+00:00",
"type": "library",
"installation-source": "dist",
"autoload": {
- "psr-4": {
- "Sabre\\Event\\": "lib/"
+ "psr-0": {
+ "HTMLPurifier": "library/"
},
"files": [
- "lib/coroutine.php",
- "lib/Loop/functions.php",
- "lib/Promise/functions.php"
+ "library/HTMLPurifier.composer.php"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
- "BSD-3-Clause"
+ "LGPL"
],
"authors": [
{
- "name": "Evert Pot",
- "email": "me@evertpot.com",
- "homepage": "http://evertpot.com/",
- "role": "Developer"
+ "name": "Edward Z. Yang",
+ "email": "admin@htmlpurifier.org",
+ "homepage": "http://ezyang.com"
}
],
- "description": "sabre/event is a library for lightweight event-based programming",
- "homepage": "http://sabre.io/event/",
+ "description": "Standards compliant HTML filter written in PHP",
+ "homepage": "http://htmlpurifier.org/",
"keywords": [
- "EventEmitter",
- "async",
- "events",
- "hooks",
- "plugin",
- "promise",
- "signal"
+ "html"
]
},
{
"name": "sabre/http",
- "version": "4.2.1",
- "version_normalized": "4.2.1.0",
+ "version": "4.2.3",
+ "version_normalized": "4.2.3.0",
"source": {
"type": "git",
- "url": "https://github.com/fruux/sabre-http.git",
- "reference": "2e93bc8321524c67be4ca5b8415daebd4c8bf85e"
+ "url": "https://github.com/sabre-io/http.git",
+ "reference": "0295f9a3ee39be97e0898592fc19e42421e0cd93"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/fruux/sabre-http/zipball/2e93bc8321524c67be4ca5b8415daebd4c8bf85e",
- "reference": "2e93bc8321524c67be4ca5b8415daebd4c8bf85e",
+ "url": "https://api.github.com/repos/sabre-io/http/zipball/0295f9a3ee39be97e0898592fc19e42421e0cd93",
+ "reference": "0295f9a3ee39be97e0898592fc19e42421e0cd93",
"shasum": ""
},
"require": {
+ "ext-ctype": "*",
"ext-mbstring": "*",
"php": ">=5.4",
"sabre/event": ">=1.0.0,<4.0.0",
@@ -238,7 +729,7 @@
"suggest": {
"ext-curl": " to make http requests with the Client class"
},
- "time": "2016-01-06 23:00:08",
+ "time": "2017-06-12T07:53:04+00:00",
"type": "library",
"installation-source": "dist",
"autoload": {
@@ -268,202 +759,132 @@
]
},
{
- "name": "sabre/dav",
- "version": "3.2.0",
- "version_normalized": "3.2.0.0",
+ "name": "pear/text_languagedetect",
+ "version": "v1.0.0",
+ "version_normalized": "1.0.0.0",
"source": {
"type": "git",
- "url": "https://github.com/fruux/sabre-dav.git",
- "reference": "5b9737cc2f0182e368d14c80df7f6b2d77dc1457"
+ "url": "https://github.com/pear/Text_LanguageDetect.git",
+ "reference": "bb9ff6f4970f686fac59081e916b456021fe7ba6"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/fruux/sabre-dav/zipball/5b9737cc2f0182e368d14c80df7f6b2d77dc1457",
- "reference": "5b9737cc2f0182e368d14c80df7f6b2d77dc1457",
+ "url": "https://api.github.com/repos/pear/Text_LanguageDetect/zipball/bb9ff6f4970f686fac59081e916b456021fe7ba6",
+ "reference": "bb9ff6f4970f686fac59081e916b456021fe7ba6",
"shasum": ""
},
- "require": {
- "ext-ctype": "*",
- "ext-date": "*",
- "ext-dom": "*",
- "ext-iconv": "*",
- "ext-mbstring": "*",
- "ext-pcre": "*",
- "ext-simplexml": "*",
- "ext-spl": "*",
- "lib-libxml": ">=2.7.0",
- "php": ">=5.5.0",
- "psr/log": "^1.0",
- "sabre/event": ">=2.0.0, <4.0.0",
- "sabre/http": "^4.2.1",
- "sabre/uri": "^1.0.1",
- "sabre/vobject": "^4.1.0",
- "sabre/xml": "^1.4.0"
- },
"require-dev": {
- "evert/phpdoc-md": "~0.1.0",
- "monolog/monolog": "^1.18",
- "phpunit/phpunit": "> 4.8, <=6.0.0",
- "sabre/cs": "~0.0.5"
+ "phpunit/phpunit": "*"
},
"suggest": {
- "ext-curl": "*",
- "ext-pdo": "*"
+ "ext-mbstring": "May require the mbstring PHP extension"
},
- "time": "2016-06-28 02:44:05",
- "bin": [
- "bin/sabredav",
- "bin/naturalselection"
- ],
+ "time": "2017-03-02T16:14:08+00:00",
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "3.1.0-dev"
- }
- },
"installation-source": "dist",
"autoload": {
- "psr-4": {
- "Sabre\\DAV\\": "lib/DAV/",
- "Sabre\\DAVACL\\": "lib/DAVACL/",
- "Sabre\\CalDAV\\": "lib/CalDAV/",
- "Sabre\\CardDAV\\": "lib/CardDAV/"
+ "psr-0": {
+ "Text": "./"
}
},
"notification-url": "https://packagist.org/downloads/",
+ "include-path": [
+ "./"
+ ],
"license": [
- "BSD-3-Clause"
+ "BSD-2-Clause"
],
"authors": [
{
- "name": "Evert Pot",
- "email": "me@evertpot.com",
- "homepage": "http://evertpot.com/",
- "role": "Developer"
+ "name": "Nicholas Pisarro",
+ "email": "taak@php.net",
+ "role": "Lead"
}
],
- "description": "WebDAV Framework for PHP",
- "homepage": "http://sabre.io/",
- "keywords": [
- "CalDAV",
- "CardDAV",
- "WebDAV",
- "framework",
- "iCalendar"
- ]
+ "description": "Identify human languages from text samples",
+ "homepage": "http://pear.php.net/package/Text_LanguageDetect"
},
{
- "name": "sabre/xml",
- "version": "1.5.0",
- "version_normalized": "1.5.0.0",
+ "name": "commerceguys/intl",
+ "version": "v0.7.4",
+ "version_normalized": "0.7.4.0",
"source": {
"type": "git",
- "url": "https://github.com/fruux/sabre-xml.git",
- "reference": "59b20e5bbace9912607481634f97d05a776ffca7"
+ "url": "https://github.com/commerceguys/intl.git",
+ "reference": "edfcfc26ed8505c4f6fcf862eb36dfda1af74b00"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/fruux/sabre-xml/zipball/59b20e5bbace9912607481634f97d05a776ffca7",
- "reference": "59b20e5bbace9912607481634f97d05a776ffca7",
+ "url": "https://api.github.com/repos/commerceguys/intl/zipball/edfcfc26ed8505c4f6fcf862eb36dfda1af74b00",
+ "reference": "edfcfc26ed8505c4f6fcf862eb36dfda1af74b00",
"shasum": ""
},
"require": {
- "ext-dom": "*",
- "ext-xmlreader": "*",
- "ext-xmlwriter": "*",
- "lib-libxml": ">=2.6.20",
- "php": ">=5.5.5",
- "sabre/uri": ">=1.0,<3.0.0"
+ "php": ">=5.4.0"
},
"require-dev": {
- "phpunit/phpunit": "*",
- "sabre/cs": "~1.0.0"
+ "mikey179/vfsstream": "1.*",
+ "phpunit/phpunit": "~4.0"
},
- "time": "2016-10-09 22:57:52",
+ "time": "2016-12-13T12:33:19+00:00",
"type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "0.x-dev"
+ }
+ },
"installation-source": "dist",
"autoload": {
"psr-4": {
- "Sabre\\Xml\\": "lib/"
- },
- "files": [
- "lib/Deserializer/functions.php",
- "lib/Serializer/functions.php"
- ]
+ "CommerceGuys\\Intl\\": "src"
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
- "BSD-3-Clause"
+ "MIT"
],
"authors": [
{
- "name": "Evert Pot",
- "email": "me@evertpot.com",
- "homepage": "http://evertpot.com/",
- "role": "Developer"
- },
- {
- "name": "Markus Staab",
- "email": "markus.staab@redaxo.de",
- "role": "Developer"
+ "name": "Bojan Zivanovic"
}
],
- "description": "sabre/xml is an XML library that you may not hate.",
- "homepage": "https://sabre.io/xml/",
- "keywords": [
- "XMLReader",
- "XMLWriter",
- "dom",
- "xml"
- ]
+ "description": "Internationalization library powered by CLDR data."
},
{
- "name": "psr/log",
- "version": "1.0.2",
- "version_normalized": "1.0.2.0",
+ "name": "lukasreschke/id3parser",
+ "version": "v0.0.1",
+ "version_normalized": "0.0.1.0",
"source": {
"type": "git",
- "url": "https://github.com/php-fig/log.git",
- "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d"
+ "url": "https://github.com/LukasReschke/ID3Parser.git",
+ "reference": "cd3ba6e8918cc30883f01a3c24281cfe23b8877a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d",
- "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d",
+ "url": "https://api.github.com/repos/LukasReschke/ID3Parser/zipball/cd3ba6e8918cc30883f01a3c24281cfe23b8877a",
+ "reference": "cd3ba6e8918cc30883f01a3c24281cfe23b8877a",
"shasum": ""
},
"require": {
- "php": ">=5.3.0"
+ "php": ">=5.4.0"
},
- "time": "2016-10-10 12:19:37",
+ "time": "2016-04-04T09:34:50+00:00",
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.0.x-dev"
- }
- },
"installation-source": "dist",
"autoload": {
"psr-4": {
- "Psr\\Log\\": "Psr/Log/"
+ "ID3Parser\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "PHP-FIG",
- "homepage": "http://www.php-fig.org/"
- }
+ "GPL"
],
- "description": "Common interface for logging libraries",
- "homepage": "https://github.com/php-fig/log",
+ "homepage": "https://github.com/LukasReschke/ID3Parser/",
"keywords": [
- "log",
- "psr",
- "psr-3"
+ "codecs",
+ "php",
+ "tags"
]
}
]
diff --git a/vendor/ezyang/htmlpurifier/CREDITS b/vendor/ezyang/htmlpurifier/CREDITS
new file mode 100644
index 000000000..7921b45af
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/CREDITS
@@ -0,0 +1,9 @@
+
+CREDITS
+
+Almost everything written by Edward Z. Yang (Ambush Commander). Lots of thanks
+to the DevNetwork Community for their help (see docs/ref-devnetwork.html for
+more details), Feyd especially (namely IPv6 and optimization). Thanks to RSnake
+for letting me package his fantastic XSS cheatsheet for a smoketest.
+
+ vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/INSTALL b/vendor/ezyang/htmlpurifier/INSTALL
new file mode 100644
index 000000000..e6dd02afa
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/INSTALL
@@ -0,0 +1,373 @@
+
+Install
+ How to install HTML Purifier
+
+HTML Purifier is designed to run out of the box, so actually using the
+library is extremely easy. (Although... if you were looking for a
+step-by-step installation GUI, you've downloaded the wrong software!)
+
+While the impatient can get going immediately with some of the sample
+code at the bottom of this library, it's well worth reading this entire
+document--most of the other documentation assumes that you are familiar
+with these contents.
+
+
+---------------------------------------------------------------------------
+1. Compatibility
+
+HTML Purifier is PHP 5 and PHP 7, and is actively tested from PHP 5.0.5
+and up. It has no core dependencies with other libraries.
+
+These optional extensions can enhance the capabilities of HTML Purifier:
+
+ * iconv : Converts text to and from non-UTF-8 encodings
+ * bcmath : Used for unit conversion and imagecrash protection
+ * tidy : Used for pretty-printing HTML
+
+These optional libraries can enhance the capabilities of HTML Purifier:
+
+ * CSSTidy : Clean CSS stylesheets using %Core.ExtractStyleBlocks
+ Note: You should use the modernized fork of CSSTidy available
+ at https://github.com/Cerdic/CSSTidy
+ * Net_IDNA2 (PEAR) : IRI support using %Core.EnableIDNA
+ Note: This is not necessary for PHP 5.3 or later
+
+---------------------------------------------------------------------------
+2. Reconnaissance
+
+A big plus of HTML Purifier is its inerrant support of standards, so
+your web-pages should be standards-compliant. (They should also use
+semantic markup, but that's another issue altogether, one HTML Purifier
+cannot fix without reading your mind.)
+
+HTML Purifier can process these doctypes:
+
+* XHTML 1.0 Transitional (default)
+* XHTML 1.0 Strict
+* HTML 4.01 Transitional
+* HTML 4.01 Strict
+* XHTML 1.1
+
+...and these character encodings:
+
+* UTF-8 (default)
+* Any encoding iconv supports (with crippled internationalization support)
+
+These defaults reflect what my choices would be if I were authoring an
+HTML document, however, what you choose depends on the nature of your
+codebase. If you don't know what doctype you are using, you can determine
+the doctype from this identifier at the top of your source code:
+
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+...and the character encoding from this code:
+
+ <meta http-equiv="Content-type" content="text/html;charset=ENCODING">
+
+If the character encoding declaration is missing, STOP NOW, and
+read 'docs/enduser-utf8.html' (web accessible at
+http://htmlpurifier.org/docs/enduser-utf8.html). In fact, even if it is
+present, read this document anyway, as many websites specify their
+document's character encoding incorrectly.
+
+
+---------------------------------------------------------------------------
+3. Including the library
+
+The procedure is quite simple:
+
+ require_once '/path/to/library/HTMLPurifier.auto.php';
+
+This will setup an autoloader, so the library's files are only included
+when you use them.
+
+Only the contents in the library/ folder are necessary, so you can remove
+everything else when using HTML Purifier in a production environment.
+
+If you installed HTML Purifier via PEAR, all you need to do is:
+
+ require_once 'HTMLPurifier.auto.php';
+
+Please note that the usual PEAR practice of including just the classes you
+want will not work with HTML Purifier's autoloading scheme.
+
+Advanced users, read on; other users can skip to section 4.
+
+Autoload compatibility
+----------------------
+
+ HTML Purifier attempts to be as smart as possible when registering an
+ autoloader, but there are some cases where you will need to change
+ your own code to accomodate HTML Purifier. These are those cases:
+
+ PHP VERSION IS LESS THAN 5.1.2, AND YOU'VE DEFINED __autoload
+ Because spl_autoload_register() doesn't exist in early versions
+ of PHP 5, HTML Purifier has no way of adding itself to the autoload
+ stack. Modify your __autoload function to test
+ HTMLPurifier_Bootstrap::autoload($class)
+
+ For example, suppose your autoload function looks like this:
+
+ function __autoload($class) {
+ require str_replace('_', '/', $class) . '.php';
+ return true;
+ }
+
+ A modified version with HTML Purifier would look like this:
+
+ function __autoload($class) {
+ if (HTMLPurifier_Bootstrap::autoload($class)) return true;
+ require str_replace('_', '/', $class) . '.php';
+ return true;
+ }
+
+ Note that there *is* some custom behavior in our autoloader; the
+ original autoloader in our example would work for 99% of the time,
+ but would fail when including language files.
+
+ AN __autoload FUNCTION IS DECLARED AFTER OUR AUTOLOADER IS REGISTERED
+ spl_autoload_register() has the curious behavior of disabling
+ the existing __autoload() handler. Users need to explicitly
+ spl_autoload_register('__autoload'). Because we use SPL when it
+ is available, __autoload() will ALWAYS be disabled. If __autoload()
+ is declared before HTML Purifier is loaded, this is not a problem:
+ HTML Purifier will register the function for you. But if it is
+ declared afterwards, it will mysteriously not work. This
+ snippet of code (after your autoloader is defined) will fix it:
+
+ spl_autoload_register('__autoload')
+
+ Users should also be on guard if they use a version of PHP previous
+ to 5.1.2 without an autoloader--HTML Purifier will define __autoload()
+ for you, which can collide with an autoloader that was added by *you*
+ later.
+
+
+For better performance
+----------------------
+
+ Opcode caches, which greatly speed up PHP initialization for scripts
+ with large amounts of code (HTML Purifier included), don't like
+ autoloaders. We offer an include file that includes all of HTML Purifier's
+ files in one go in an opcode cache friendly manner:
+
+ // If /path/to/library isn't already in your include path, uncomment
+ // the below line:
+ // require '/path/to/library/HTMLPurifier.path.php';
+
+ require 'HTMLPurifier.includes.php';
+
+ Optional components still need to be included--you'll know if you try to
+ use a feature and you get a class doesn't exists error! The autoloader
+ can be used in conjunction with this approach to catch classes that are
+ missing. Simply add this afterwards:
+
+ require 'HTMLPurifier.autoload.php';
+
+Standalone version
+------------------
+
+ HTML Purifier has a standalone distribution; you can also generate
+ a standalone file from the full version by running the script
+ maintenance/generate-standalone.php . The standalone version has the
+ benefit of having most of its code in one file, so parsing is much
+ faster and the library is easier to manage.
+
+ If HTMLPurifier.standalone.php exists in the library directory, you
+ can use it like this:
+
+ require '/path/to/HTMLPurifier.standalone.php';
+
+ This is equivalent to including HTMLPurifier.includes.php, except that
+ the contents of standalone/ will be added to your path. To override this
+ behavior, specify a new HTMLPURIFIER_PREFIX where standalone files can
+ be found (usually, this will be one directory up, the "true" library
+ directory in full distributions). Don't forget to set your path too!
+
+ The autoloader can be added to the end to ensure the classes are
+ loaded when necessary; otherwise you can manually include them.
+ To use the autoloader, use this:
+
+ require 'HTMLPurifier.autoload.php';
+
+For advanced users
+------------------
+
+ HTMLPurifier.auto.php performs a number of operations that can be done
+ individually. These are:
+
+ HTMLPurifier.path.php
+ Puts /path/to/library in the include path. For high performance,
+ this should be done in php.ini.
+
+ HTMLPurifier.autoload.php
+ Registers our autoload handler HTMLPurifier_Bootstrap::autoload($class).
+
+ You can do these operations by yourself--in fact, you must modify your own
+ autoload handler if you are using a version of PHP earlier than PHP 5.1.2
+ (See "Autoload compatibility" above).
+
+
+---------------------------------------------------------------------------
+4. Configuration
+
+HTML Purifier is designed to run out-of-the-box, but occasionally HTML
+Purifier needs to be told what to do. If you answer no to any of these
+questions, read on; otherwise, you can skip to the next section (or, if you're
+into configuring things just for the heck of it, skip to 4.3).
+
+* Am I using UTF-8?
+* Am I using XHTML 1.0 Transitional?
+
+If you answered no to any of these questions, instantiate a configuration
+object and read on:
+
+ $config = HTMLPurifier_Config::createDefault();
+
+
+4.1. Setting a different character encoding
+
+You really shouldn't use any other encoding except UTF-8, especially if you
+plan to support multilingual websites (read section three for more details).
+However, switching to UTF-8 is not always immediately feasible, so we can
+adapt.
+
+HTML Purifier uses iconv to support other character encodings, as such,
+any encoding that iconv supports <http://www.gnu.org/software/libiconv/>
+HTML Purifier supports with this code:
+
+ $config->set('Core.Encoding', /* put your encoding here */);
+
+An example usage for Latin-1 websites (the most common encoding for English
+websites):
+
+ $config->set('Core.Encoding', 'ISO-8859-1');
+
+Note that HTML Purifier's support for non-Unicode encodings is crippled by the
+fact that any character not supported by that encoding will be silently
+dropped, EVEN if it is ampersand escaped. If you want to work around
+this, you are welcome to read docs/enduser-utf8.html for a fix,
+but please be cognizant of the issues the "solution" creates (for this
+reason, I do not include the solution in this document).
+
+
+4.2. Setting a different doctype
+
+For those of you using HTML 4.01 Transitional, you can disable
+XHTML output like this:
+
+ $config->set('HTML.Doctype', 'HTML 4.01 Transitional');
+
+Other supported doctypes include:
+
+ * HTML 4.01 Strict
+ * HTML 4.01 Transitional
+ * XHTML 1.0 Strict
+ * XHTML 1.0 Transitional
+ * XHTML 1.1
+
+
+4.3. Other settings
+
+There are more configuration directives which can be read about
+here: <http://htmlpurifier.org/live/configdoc/plain.html> They're a bit boring,
+but they can help out for those of you who like to exert maximum control over
+your code. Some of the more interesting ones are configurable at the
+demo <http://htmlpurifier.org/demo.php> and are well worth looking into
+for your own system.
+
+For example, you can fine tune allowed elements and attributes, convert
+relative URLs to absolute ones, and even autoparagraph input text! These
+are, respectively, %HTML.Allowed, %URI.MakeAbsolute and %URI.Base, and
+%AutoFormat.AutoParagraph. The %Namespace.Directive naming convention
+translates to:
+
+ $config->set('Namespace.Directive', $value);
+
+E.g.
+
+ $config->set('HTML.Allowed', 'p,b,a[href],i');
+ $config->set('URI.Base', 'http://www.example.com');
+ $config->set('URI.MakeAbsolute', true);
+ $config->set('AutoFormat.AutoParagraph', true);
+
+
+---------------------------------------------------------------------------
+5. Caching
+
+HTML Purifier generates some cache files (generally one or two) to speed up
+its execution. For maximum performance, make sure that
+library/HTMLPurifier/DefinitionCache/Serializer is writeable by the webserver.
+
+If you are in the library/ folder of HTML Purifier, you can set the
+appropriate permissions using:
+
+ chmod -R 0755 HTMLPurifier/DefinitionCache/Serializer
+
+If the above command doesn't work, you may need to assign write permissions
+to group:
+
+ chmod -R 0775 HTMLPurifier/DefinitionCache/Serializer
+
+You can also chmod files via your FTP client; this option
+is usually accessible by right clicking the corresponding directory and
+then selecting "chmod" or "file permissions".
+
+Starting with 2.0.1, HTML Purifier will generate friendly error messages
+that will tell you exactly what you have to chmod the directory to, if in doubt,
+follow its advice.
+
+If you are unable or unwilling to give write permissions to the cache
+directory, you can either disable the cache (and suffer a performance
+hit):
+
+ $config->set('Core.DefinitionCache', null);
+
+Or move the cache directory somewhere else (no trailing slash):
+
+ $config->set('Cache.SerializerPath', '/home/user/absolute/path');
+
+
+---------------------------------------------------------------------------
+6. Using the code
+
+The interface is mind-numbingly simple:
+
+ $purifier = new HTMLPurifier($config);
+ $clean_html = $purifier->purify( $dirty_html );
+
+That's it! For more examples, check out docs/examples/ (they aren't very
+different though). Also, docs/enduser-slow.html gives advice on what to
+do if HTML Purifier is slowing down your application.
+
+
+---------------------------------------------------------------------------
+7. Quick install
+
+First, make sure library/HTMLPurifier/DefinitionCache/Serializer is
+writable by the webserver (see Section 5: Caching above for details).
+If your website is in UTF-8 and XHTML Transitional, use this code:
+
+<?php
+ require_once '/path/to/htmlpurifier/library/HTMLPurifier.auto.php';
+
+ $config = HTMLPurifier_Config::createDefault();
+ $purifier = new HTMLPurifier($config);
+ $clean_html = $purifier->purify($dirty_html);
+?>
+
+If your website is in a different encoding or doctype, use this code:
+
+<?php
+ require_once '/path/to/htmlpurifier/library/HTMLPurifier.auto.php';
+
+ $config = HTMLPurifier_Config::createDefault();
+ $config->set('Core.Encoding', 'ISO-8859-1'); // replace with your encoding
+ $config->set('HTML.Doctype', 'HTML 4.01 Transitional'); // replace with your doctype
+ $purifier = new HTMLPurifier($config);
+
+ $clean_html = $purifier->purify($dirty_html);
+?>
+
+ vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/INSTALL.fr.utf8 b/vendor/ezyang/htmlpurifier/INSTALL.fr.utf8
new file mode 100644
index 000000000..95164abba
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/INSTALL.fr.utf8
@@ -0,0 +1,60 @@
+
+Installation
+ Comment installer HTML Purifier
+
+Attention : Ce document est encodé en UTF-8, si les lettres avec des accents
+ne s'affichent pas, prenez un meilleur éditeur de texte.
+
+L'installation de HTML Purifier est très simple, parce qu'il n'a pas besoin
+de configuration. Pour les utilisateurs impatients, le code se trouve dans le
+pied de page, mais je recommande de lire le document.
+
+1. Compatibilité
+
+HTML Purifier fonctionne avec PHP 5. PHP 5.0.5 est la dernière version testée.
+Il ne dépend pas d'autres librairies.
+
+Les extensions optionnelles sont iconv (généralement déjà installée) et tidy
+(répendue aussi). Si vous utilisez UTF-8 et que vous ne voulez pas l'indentation,
+vous pouvez utiliser HTML Purifier sans ces extensions.
+
+
+2. Inclure la librairie
+
+Quand vous devez l'utilisez, incluez le :
+
+ require_once('/path/to/library/HTMLPurifier.auto.php');
+
+Ne pas l'inclure si ce n'est pas nécessaire, car HTML Purifier est lourd.
+
+HTML Purifier utilise "autoload". Si vous avez défini la fonction __autoload,
+vous devez ajouter cette fonction :
+
+ spl_autoload_register('__autoload')
+
+Plus d'informations dans le document "INSTALL".
+
+3. Installation rapide
+
+Si votre site Web est en UTF-8 et XHTML Transitional, utilisez :
+
+<?php
+ require_once('/path/to/htmlpurifier/library/HTMLPurifier.auto.php');
+ $purificateur = new HTMLPurifier();
+ $html_propre = $purificateur->purify($html_a_purifier);
+?>
+
+Sinon, utilisez :
+
+<?php
+ require_once('/path/to/html/purifier/library/HTMLPurifier.auto.load');
+ $config = $HTMLPurifier_Config::createDefault();
+ $config->set('Core', 'Encoding', 'ISO-8859-1'); //Remplacez par votre
+ encodage
+ $config->set('Core', 'XHTML', true); //Remplacer par false si HTML 4.01
+ $purificateur = new HTMLPurifier($config);
+ $html_propre = $purificateur->purify($html_a_purifier);
+?>
+
+
+ vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/LICENSE b/vendor/ezyang/htmlpurifier/LICENSE
new file mode 100644
index 000000000..8c88a20d4
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/LICENSE
@@ -0,0 +1,504 @@
+ GNU LESSER GENERAL PUBLIC LICENSE
+ Version 2.1, February 1999
+
+ Copyright (C) 1991, 1999 Free Software Foundation, Inc.
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+[This is the first released version of the Lesser GPL. It also counts
+ as the successor of the GNU Library Public License, version 2, hence
+ the version number 2.1.]
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+Licenses are intended to guarantee your freedom to share and change
+free software--to make sure the software is free for all its users.
+
+ This license, the Lesser General Public License, applies to some
+specially designated software packages--typically libraries--of the
+Free Software Foundation and other authors who decide to use it. You
+can use it too, but we suggest you first think carefully about whether
+this license or the ordinary General Public License is the better
+strategy to use in any particular case, based on the explanations below.
+
+ When we speak of free software, we are referring to freedom of use,
+not price. Our General Public Licenses are designed to make sure that
+you have the freedom to distribute copies of free software (and charge
+for this service if you wish); that you receive source code or can get
+it if you want it; that you can change the software and use pieces of
+it in new free programs; and that you are informed that you can do
+these things.
+
+ To protect your rights, we need to make restrictions that forbid
+distributors to deny you these rights or to ask you to surrender these
+rights. These restrictions translate to certain responsibilities for
+you if you distribute copies of the library or if you modify it.
+
+ For example, if you distribute copies of the library, whether gratis
+or for a fee, you must give the recipients all the rights that we gave
+you. You must make sure that they, too, receive or can get the source
+code. If you link other code with the library, you must provide
+complete object files to the recipients, so that they can relink them
+with the library after making changes to the library and recompiling
+it. And you must show them these terms so they know their rights.
+
+ We protect your rights with a two-step method: (1) we copyright the
+library, and (2) we offer you this license, which gives you legal
+permission to copy, distribute and/or modify the library.
+
+ To protect each distributor, we want to make it very clear that
+there is no warranty for the free library. Also, if the library is
+modified by someone else and passed on, the recipients should know
+that what they have is not the original version, so that the original
+author's reputation will not be affected by problems that might be
+introduced by others.
+
+ Finally, software patents pose a constant threat to the existence of
+any free program. We wish to make sure that a company cannot
+effectively restrict the users of a free program by obtaining a
+restrictive license from a patent holder. Therefore, we insist that
+any patent license obtained for a version of the library must be
+consistent with the full freedom of use specified in this license.
+
+ Most GNU software, including some libraries, is covered by the
+ordinary GNU General Public License. This license, the GNU Lesser
+General Public License, applies to certain designated libraries, and
+is quite different from the ordinary General Public License. We use
+this license for certain libraries in order to permit linking those
+libraries into non-free programs.
+
+ When a program is linked with a library, whether statically or using
+a shared library, the combination of the two is legally speaking a
+combined work, a derivative of the original library. The ordinary
+General Public License therefore permits such linking only if the
+entire combination fits its criteria of freedom. The Lesser General
+Public License permits more lax criteria for linking other code with
+the library.
+
+ We call this license the "Lesser" General Public License because it
+does Less to protect the user's freedom than the ordinary General
+Public License. It also provides other free software developers Less
+of an advantage over competing non-free programs. These disadvantages
+are the reason we use the ordinary General Public License for many
+libraries. However, the Lesser license provides advantages in certain
+special circumstances.
+
+ For example, on rare occasions, there may be a special need to
+encourage the widest possible use of a certain library, so that it becomes
+a de-facto standard. To achieve this, non-free programs must be
+allowed to use the library. A more frequent case is that a free
+library does the same job as widely used non-free libraries. In this
+case, there is little to gain by limiting the free library to free
+software only, so we use the Lesser General Public License.
+
+ In other cases, permission to use a particular library in non-free
+programs enables a greater number of people to use a large body of
+free software. For example, permission to use the GNU C Library in
+non-free programs enables many more people to use the whole GNU
+operating system, as well as its variant, the GNU/Linux operating
+system.
+
+ Although the Lesser General Public License is Less protective of the
+users' freedom, it does ensure that the user of a program that is
+linked with the Library has the freedom and the wherewithal to run
+that program using a modified version of the Library.
+
+ The precise terms and conditions for copying, distribution and
+modification follow. Pay close attention to the difference between a
+"work based on the library" and a "work that uses the library". The
+former contains code derived from the library, whereas the latter must
+be combined with the library in order to run.
+
+ GNU LESSER GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License Agreement applies to any software library or other
+program which contains a notice placed by the copyright holder or
+other authorized party saying it may be distributed under the terms of
+this Lesser General Public License (also called "this License").
+Each licensee is addressed as "you".
+
+ A "library" means a collection of software functions and/or data
+prepared so as to be conveniently linked with application programs
+(which use some of those functions and data) to form executables.
+
+ The "Library", below, refers to any such software library or work
+which has been distributed under these terms. A "work based on the
+Library" means either the Library or any derivative work under
+copyright law: that is to say, a work containing the Library or a
+portion of it, either verbatim or with modifications and/or translated
+straightforwardly into another language. (Hereinafter, translation is
+included without limitation in the term "modification".)
+
+ "Source code" for a work means the preferred form of the work for
+making modifications to it. For a library, complete source code means
+all the source code for all modules it contains, plus any associated
+interface definition files, plus the scripts used to control compilation
+and installation of the library.
+
+ Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running a program using the Library is not restricted, and output from
+such a program is covered only if its contents constitute a work based
+on the Library (independent of the use of the Library in a tool for
+writing it). Whether that is true depends on what the Library does
+and what the program that uses the Library does.
+
+ 1. You may copy and distribute verbatim copies of the Library's
+complete source code as you receive it, in any medium, provided that
+you conspicuously and appropriately publish on each copy an
+appropriate copyright notice and disclaimer of warranty; keep intact
+all the notices that refer to this License and to the absence of any
+warranty; and distribute a copy of this License along with the
+Library.
+
+ You may charge a fee for the physical act of transferring a copy,
+and you may at your option offer warranty protection in exchange for a
+fee.
+
+ 2. You may modify your copy or copies of the Library or any portion
+of it, thus forming a work based on the Library, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) The modified work must itself be a software library.
+
+ b) You must cause the files modified to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ c) You must cause the whole of the work to be licensed at no
+ charge to all third parties under the terms of this License.
+
+ d) If a facility in the modified Library refers to a function or a
+ table of data to be supplied by an application program that uses
+ the facility, other than as an argument passed when the facility
+ is invoked, then you must make a good faith effort to ensure that,
+ in the event an application does not supply such function or
+ table, the facility still operates, and performs whatever part of
+ its purpose remains meaningful.
+
+ (For example, a function in a library to compute square roots has
+ a purpose that is entirely well-defined independent of the
+ application. Therefore, Subsection 2d requires that any
+ application-supplied function or table used by this function must
+ be optional: if the application does not supply it, the square
+ root function must still compute square roots.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Library,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Library, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote
+it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Library.
+
+In addition, mere aggregation of another work not based on the Library
+with the Library (or with a work based on the Library) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may opt to apply the terms of the ordinary GNU General Public
+License instead of this License to a given copy of the Library. To do
+this, you must alter all the notices that refer to this License, so
+that they refer to the ordinary GNU General Public License, version 2,
+instead of to this License. (If a newer version than version 2 of the
+ordinary GNU General Public License has appeared, then you can specify
+that version instead if you wish.) Do not make any other change in
+these notices.
+
+ Once this change is made in a given copy, it is irreversible for
+that copy, so the ordinary GNU General Public License applies to all
+subsequent copies and derivative works made from that copy.
+
+ This option is useful when you wish to copy part of the code of
+the Library into a program that is not a library.
+
+ 4. You may copy and distribute the Library (or a portion or
+derivative of it, under Section 2) in object code or executable form
+under the terms of Sections 1 and 2 above provided that you accompany
+it with the complete corresponding machine-readable source code, which
+must be distributed under the terms of Sections 1 and 2 above on a
+medium customarily used for software interchange.
+
+ If distribution of object code is made by offering access to copy
+from a designated place, then offering equivalent access to copy the
+source code from the same place satisfies the requirement to
+distribute the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 5. A program that contains no derivative of any portion of the
+Library, but is designed to work with the Library by being compiled or
+linked with it, is called a "work that uses the Library". Such a
+work, in isolation, is not a derivative work of the Library, and
+therefore falls outside the scope of this License.
+
+ However, linking a "work that uses the Library" with the Library
+creates an executable that is a derivative of the Library (because it
+contains portions of the Library), rather than a "work that uses the
+library". The executable is therefore covered by this License.
+Section 6 states terms for distribution of such executables.
+
+ When a "work that uses the Library" uses material from a header file
+that is part of the Library, the object code for the work may be a
+derivative work of the Library even though the source code is not.
+Whether this is true is especially significant if the work can be
+linked without the Library, or if the work is itself a library. The
+threshold for this to be true is not precisely defined by law.
+
+ If such an object file uses only numerical parameters, data
+structure layouts and accessors, and small macros and small inline
+functions (ten lines or less in length), then the use of the object
+file is unrestricted, regardless of whether it is legally a derivative
+work. (Executables containing this object code plus portions of the
+Library will still fall under Section 6.)
+
+ Otherwise, if the work is a derivative of the Library, you may
+distribute the object code for the work under the terms of Section 6.
+Any executables containing that work also fall under Section 6,
+whether or not they are linked directly with the Library itself.
+
+ 6. As an exception to the Sections above, you may also combine or
+link a "work that uses the Library" with the Library to produce a
+work containing portions of the Library, and distribute that work
+under terms of your choice, provided that the terms permit
+modification of the work for the customer's own use and reverse
+engineering for debugging such modifications.
+
+ You must give prominent notice with each copy of the work that the
+Library is used in it and that the Library and its use are covered by
+this License. You must supply a copy of this License. If the work
+during execution displays copyright notices, you must include the
+copyright notice for the Library among them, as well as a reference
+directing the user to the copy of this License. Also, you must do one
+of these things:
+
+ a) Accompany the work with the complete corresponding
+ machine-readable source code for the Library including whatever
+ changes were used in the work (which must be distributed under
+ Sections 1 and 2 above); and, if the work is an executable linked
+ with the Library, with the complete machine-readable "work that
+ uses the Library", as object code and/or source code, so that the
+ user can modify the Library and then relink to produce a modified
+ executable containing the modified Library. (It is understood
+ that the user who changes the contents of definitions files in the
+ Library will not necessarily be able to recompile the application
+ to use the modified definitions.)
+
+ b) Use a suitable shared library mechanism for linking with the
+ Library. A suitable mechanism is one that (1) uses at run time a
+ copy of the library already present on the user's computer system,
+ rather than copying library functions into the executable, and (2)
+ will operate properly with a modified version of the library, if
+ the user installs one, as long as the modified version is
+ interface-compatible with the version that the work was made with.
+
+ c) Accompany the work with a written offer, valid for at
+ least three years, to give the same user the materials
+ specified in Subsection 6a, above, for a charge no more
+ than the cost of performing this distribution.
+
+ d) If distribution of the work is made by offering access to copy
+ from a designated place, offer equivalent access to copy the above
+ specified materials from the same place.
+
+ e) Verify that the user has already received a copy of these
+ materials or that you have already sent this user a copy.
+
+ For an executable, the required form of the "work that uses the
+Library" must include any data and utility programs needed for
+reproducing the executable from it. However, as a special exception,
+the materials to be distributed need not include anything that is
+normally distributed (in either source or binary form) with the major
+components (compiler, kernel, and so on) of the operating system on
+which the executable runs, unless that component itself accompanies
+the executable.
+
+ It may happen that this requirement contradicts the license
+restrictions of other proprietary libraries that do not normally
+accompany the operating system. Such a contradiction means you cannot
+use both them and the Library together in an executable that you
+distribute.
+
+ 7. You may place library facilities that are a work based on the
+Library side-by-side in a single library together with other library
+facilities not covered by this License, and distribute such a combined
+library, provided that the separate distribution of the work based on
+the Library and of the other library facilities is otherwise
+permitted, and provided that you do these two things:
+
+ a) Accompany the combined library with a copy of the same work
+ based on the Library, uncombined with any other library
+ facilities. This must be distributed under the terms of the
+ Sections above.
+
+ b) Give prominent notice with the combined library of the fact
+ that part of it is a work based on the Library, and explaining
+ where to find the accompanying uncombined form of the same work.
+
+ 8. You may not copy, modify, sublicense, link with, or distribute
+the Library except as expressly provided under this License. Any
+attempt otherwise to copy, modify, sublicense, link with, or
+distribute the Library is void, and will automatically terminate your
+rights under this License. However, parties who have received copies,
+or rights, from you under this License will not have their licenses
+terminated so long as such parties remain in full compliance.
+
+ 9. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Library or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Library (or any work based on the
+Library), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.
+
+ 10. Each time you redistribute the Library (or any work based on the
+Library), the recipient automatically receives a license from the
+original licensor to copy, distribute, link with or modify the Library
+subject to these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties with
+this License.
+
+ 11. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Library at all. For example, if a patent
+license would not permit royalty-free redistribution of the Library by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Library.
+
+If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply,
+and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 12. If the distribution and/or use of the Library is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Library under this License may add
+an explicit geographical distribution limitation excluding those countries,
+so that distribution is permitted only in or among countries not thus
+excluded. In such case, this License incorporates the limitation as if
+written in the body of this License.
+
+ 13. The Free Software Foundation may publish revised and/or new
+versions of the Lesser General Public License from time to time.
+Such new versions will be similar in spirit to the present version,
+but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Library
+specifies a version number of this License which applies to it and
+"any later version", you have the option of following the terms and
+conditions either of that version or of any later version published by
+the Free Software Foundation. If the Library does not specify a
+license version number, you may choose any version ever published by
+the Free Software Foundation.
+
+ 14. If you wish to incorporate parts of the Library into other free
+programs whose distribution conditions are incompatible with these,
+write to the author to ask for permission. For software which is
+copyrighted by the Free Software Foundation, write to the Free
+Software Foundation; we sometimes make exceptions for this. Our
+decision will be guided by the two goals of preserving the free status
+of all derivatives of our free software and of promoting the sharing
+and reuse of software generally.
+
+ NO WARRANTY
+
+ 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
+LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Libraries
+
+ If you develop a new library, and you want it to be of the greatest
+possible use to the public, we recommend making it free software that
+everyone can redistribute and change. You can do so by permitting
+redistribution under these terms (or, alternatively, under the terms of the
+ordinary General Public License).
+
+ To apply these terms, attach the following notices to the library. It is
+safest to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least the
+"copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the library's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+
+Also add information on how to contact you by electronic and paper mail.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the library, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the
+ library `Frob' (a library for tweaking knobs) written by James Random Hacker.
+
+ <signature of Ty Coon>, 1 April 1990
+ Ty Coon, President of Vice
+
+That's all there is to it!
+
+ vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/NEWS b/vendor/ezyang/htmlpurifier/NEWS
new file mode 100644
index 000000000..fd5d56cf0
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/NEWS
@@ -0,0 +1,1176 @@
+NEWS ( CHANGELOG and HISTORY ) HTMLPurifier
+|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
+= KEY ====================
+ # Breaks back-compat
+ ! Feature
+ - Bugfix
+ + Sub-comment
+ . Internal change
+==========================
+
+4.9.3, released 2017-06-02
+- Workaround PHP 7.1 infinite loop when opcode cache is enabled.
+ Thanks @Xiphin (#134, #135)
+- Don't use autoloader when testing for DOMDocument. Hypothetically,
+ this could cause your install to start using DirectLex if you had
+ previously been monkeypatching in a custom, autoloaded implementation
+ of DOMDocument. Don't do that. Thanks @Izumi-kun (#130)
+
+4.9.2, released 2017-03-12
+- Fixes PHP 5.3 compatibility
+- Fix breakage when decoding decimal entities. Thanks @rybakit (#129)
+
+4.9.1, released 2017-03-08
+! %URI.DefaultScheme can now be set to null, in which case
+ all relative paths are removed.
+! New CSS properties: min-width, max-width, min-height, max-height (#94)
+! Transparency (rgba) and hsl/hsla supported where color CSS is present.
+ Thanks @fxbt for contributing the patch. (#118)
+- When idn_to_ascii is defined, we might accept malformed
+ hostnames. Apply validation to the result in such cases.
+- Close directory when done in Serializer DefinitionCache (#100)
+- Deleted some asserts to avoid linters from choking (#97)
+- Rework Serializer cache behavior to avoid chmod'ing if possible (#32)
+- Embedded semicolons in strings in CSS are now handled correctly!
+- We accidentally dropped certain Unicode characters if there was
+ one or more invalid characters. This has been fixed, thanks
+ to mpyw <ryosuke_i_628@yahoo.co.jp>
+- Fix for "Don't truncate upon encountering </div> when using DOMLex"
+ caused a regression with HTML 4.01 Strict parsing with libxml 2.9.1
+ (and maybe later versions, but known OK with libxml 2.9.4). The
+ fix is to go about handling truncation a bit more cleverly so that
+ we can wrap with divs (sidestepping the bug) but slurping out the
+ rest of the text in case it ran off the end. (#78)
+- Fix PREG_BACKTRACK_LIMIT_ERROR in HTMLPurifier_Filter_ExtractStyle.
+ Thanks @breathbath for contributing the report and fix (#120)
+- Fix entity decoding algorithm to be more conservative about
+ decoding entities that are missing trailing semicolon.
+ To get old behavior, set %Core.LegacyEntityDecoder to true.
+ (#119)
+- Workaround libxml bug when HTML tags are embedded inside
+ script tags. To disable workaround set %Core.AggressivelyRemoveScript
+ to false. (#83)
+# By default, when a link has a target attribute associated
+ with it, we now also add rel="noopener" in order to
+ prevent the new window from being able to overwrite
+ the original frame. To disable this protection,
+ set %HTML.TargetNoopener to FALSE.
+
+4.9.0 was cut on Git but never properly released; when we did the
+real release we decided to skip this version number.
+
+4.8.0, released 2016-07-16
+# By default, when a link has a target attribute associated
+ with it, we now also add rel="noreferrer" in order to
+ prevent the new window from being able to overwrite
+ the original frame. To disable this protection,
+ set %HTML.TargetNoreferrer to FALSE.
+! Full PHP 7 compatibility, the test suite is ALL GO.
+! %CSS.AllowDuplicates permits duplicate CSS properties.
+! Support for 'tel' URIs.
+! Partial support for 'border-radius' properties when %CSS.AllowProprietary is true.
+ The slash syntax, i.e., 'border-radius: 2em 1em 4em / 0.5em 3em' is not
+ yet supported.
+! %Attr.ID.HTML5 turns on HTML5-style ID handling.
+- alt truncation could result in malformed UTF-8 sequence. Don't
+ truncate. Thanks Brandon Farber for reporting.
+- Linkify regex is smarter, based off of Gruber's regex.
+- IDNA supported natively on PHP 5.3 and later.
+- Non all-numeric top-level names (e.g., foo.1f, 1f) are now
+ allowed.
+- Minor bounds error fix to squash a PHP 7 notice.
+- Support non-/tmp temporary directories for data:// validation
+- Give a better error message when a user attempts to allow
+ ul/ol without allowing li.
+- On some versions of PHP, the Serializer DefinitionCache could
+ infinite loop when the directory exists but is not listable. (#49)
+- Don't match for <body> inside comments with
+ %Core.ConvertDocumentToFragment. (#67)
+- SafeObject is now less case sensitive. (#57)
+- AutoFormat.RemoveEmpty.Predicate now correctly renders in
+ web form. (#85)
+
+4.7.0, released 2015-08-04
+# opacity is now considered a "tricky" CSS property rather than a
+ proprietary one.
+! %AutoFormat.RemoveEmpty.Predicate for specifying exactly when
+ an element should be considered "empty" (maybe preserve if it
+ has attributes), and modify iframe support so that the iframe
+ is removed if it is missing a src attribute. Thanks meeva for
+ reporting.
+- Don't truncate upon encountering </div> when using DOMLex. Thanks
+ Myrto Christina for finally convincing me to fix this.
+- Update YouTube filter for new code.
+- Fix parsing of rgb() values with spaces in them for 'border'
+ attribute.
+- Don't remove foo="" attributes if foo is a boolean attribute. Thanks
+ valME for reporting.
+
+4.6.0, released 2013-11-30
+# Secure URI munge hashing algorithm has changed to hash_hmac("sha256", $url, $secret).
+ Please update any verification scripts you may have.
+# URI parsing algorithm was made more strict, so only prefixes which
+ looks like schemes will actually be schemes. Thanks
+ Michael Gusev <mgusev@sugarcrm.com> for fixing.
+# %Core.EscapeInvalidChildren is no longer supported, and no longer does
+ anything.
+! New directive %Core.AllowHostnameUnderscore which allows underscores
+ in hostnames.
+- Eliminate quadratic behavior in DOMLex by using a proper queue.
+ Thanks Ole Laursen for noticing this.
+- Rewritten MakeWellFormed/FixNesting implementation eliminates quadratic
+ behavior in the rest of the purificaiton pipeline. Thanks Chedburn
+ Networks for sponsoring this work.
+- Made Linkify URL parser a bit less permissive, so that non-breaking
+ spaces and commas are not included as part of URL. Thanks nAS for fixing.
+- Fix some bad interactions with %HTML.Allowed and injectors. Thanks
+ David Hirtz for reporting.
+- Fix infinite loop in DirectLex. Thanks Ashar Javed (@soaj1664ashar)
+ for reporting.
+
+4.5.0, released 2013-02-17
+# Fix bug where stacked attribute transforms clobber each other;
+ this also means it's no longer possible to override attribute
+ transforms in later modules. No internal code was using this
+ but this may break some clients.
+# We now use SHA-1 to identify cached definitions, instead of MD5.
+! Support display:inline-block
+! Support for more white-space CSS values.
+! Permit underscores in font families
+! Support for page-break-* CSS3 properties when proprietary properties
+ are enabled.
+! New directive %Core.DisableExcludes; can be set to 'true' to turn off
+ SGML excludes checking. If HTML Purifier is removing too much text
+ and you don't care about full standards compliance, try setting this to
+ 'true'.
+- Use prepend for SPL autoloading on PHP 5.3 and later.
+- Fix bug with nofollow transform when pre-existing rel exists.
+- Fix bug where background:url() always gets lower-cased
+ (but not background-image:url())
+- Fix bug with non lower-case color names in HTML
+- Fix bug where data URI validation doesn't remove temporary files.
+ Thanks Javier Marín Ros <javiermarinros@gmail.com> for reporting.
+- Don't remove certain empty tags on RemoveEmpty.
+
+4.4.0, released 2012-01-18
+# Removed PEARSax3 handler.
+# URI.Munge now munges URIs inside the same host that go from https
+ to http. Reported by Neike Taika-Tessaro.
+# Core.EscapeNonASCIICharacters now always transforms entities to
+ entities, even if target encoding is UTF-8.
+# Tighten up selector validation in ExtractStyleBlocks.
+ Non-syntactically valid selectors are now rejected, along with
+ some of the more obscure ones such as attribute selectors, the
+ :lang pseudoselector, and anything not in CSS2.1. Furthermore,
+ ID and class selectors now work properly with the relevant
+ configuration attributes. Also, mute errors when parsing CSS
+ with CSS Tidy. Reported by Mario Heiderich and Norman Hippert.
+! Added support for 'scope' attribute on tables.
+! Added %HTML.TargetBlank, which adds target="blank" to all outgoing links.
+! Properly handle sub-lists directly nested inside of lists in
+ a standards compliant way, by moving them into the preceding <li>
+! Added %HTML.AllowedComments and %HTML.AllowedCommentsRegexp for
+ limited allowed comments in untrusted situations.
+! Implement iframes, and allow them to be used in untrusted mode with
+ %HTML.SafeIframe and %URI.SafeIframeRegexp. Thanks Bradley M. Froehle
+ <brad.froehle@gmail.com> for submitting an initial version of the patch.
+! The Forms module now works properly for transitional doctypes.
+! Added support for internationalized domain names. You need the PEAR
+ Net_IDNA2 module to be in your path; if it is installed, ensure the
+ class can be loaded and then set %Core.EnableIDNA to true.
+- Color keywords are now case insensitive. Thanks Yzmir Ramirez
+ <yramirez-htmlpurifier@adicio.com> for reporting.
+- Explicitly initialize anonModule variable to null.
+- Do not duplicate nofollow if already present. Thanks 178
+ for reporting.
+- Do not add nofollow if hostname matches our current host. Thanks 178
+ for reporting, and Neike Taika-Tessaro for helping diagnose.
+- Do not unset parser variable; this fixes intermittent serialization
+ problems. Thanks Neike Taika-Tessaro for reporting, bill
+ <10010tiger@gmail.com> for diagnosing.
+- Fix iconv truncation bug, where non-UTF-8 target encodings see
+ output truncated after around 8000 characters. Thanks Jörg Ludwig
+ <joerg.ludwig@iserv.eu> for reporting.
+- Fix broken table content model for XHTML1.1 (and also earlier
+ versions, although the W3C validator doesn't catch those violations).
+ Thanks GlitchMr <glitch.mr@gmail.com> for reporting.
+
+4.3.0, released 2011-03-27
+# Fixed broken caching of customized raw definitions, but requires an
+ API change. The old API still works but will emit a warning,
+ see http://htmlpurifier.org/docs/enduser-customize.html#optimized
+ for how to upgrade your code.
+# Protect against Internet Explorer innerHTML behavior by specially
+ treating attributes with backticks but no angled brackets, quotes or
+ spaces. This constitutes a slight semantic change, which can be
+ reverted using %Output.FixInnerHTML. Reported by Neike Taika-Tessaro
+ and Mario Heiderich.
+# Protect against cssText/innerHTML by restricting allowed characters
+ used in fonts further than mandated by the specification and encoding
+ some extra special characters in URLs. Reported by Neike
+ Taika-Tessaro and Mario Heiderich.
+! Added %HTML.Nofollow to add rel="nofollow" to external links.
+! More types of SPL autoloaders allowed on later versions of PHP.
+! Implementations for position, top, left, right, bottom, z-index
+ when %CSS.Trusted is on.
+! Add %Cache.SerializerPermissions option for custom serializer
+ directory/file permissions
+! Fix longstanding bug in Flash support for non-IE browsers, and
+ allow more wmode attributes.
+! Add %CSS.AllowedFonts to restrict permissible font names.
+- Switch to an iterative traversal of the DOM, which prevents us
+ from running out of stack space for deeply nested documents.
+ Thanks Maxim Krizhanovsky for contributing a patch.
+- Make removal of conditional IE comments ungreedy; thanks Bernd
+ for reporting.
+- Escape CDATA before removing Internet Explorer comments.
+- Fix removal of id attributes under certain conditions by ensuring
+ armor attributes are preserved when recreating tags.
+- Check if schema.ser was corrupted.
+- Check if zend.ze1_compatibility_mode is on, and error out if it is.
+ This safety check is only done for HTMLPurifier.auto.php; if you
+ are using standalone or the specialized includes files, you're
+ expected to know what you're doing.
+- Stop repeatedly writing the cache file after I'm done customizing a
+ raw definition. Reported by ajh.
+- Switch to using require_once in the Bootstrap to work around bad
+ interaction with Zend Debugger and APC. Reported by Antonio Parraga.
+- Fix URI handling when hostname is missing but scheme is present.
+ Reported by Neike Taika-Tessaro.
+- Fix missing numeric entities on DirectLex; thanks Neike Taika-Tessaro
+ for reporting.
+- Fix harmless notice from indexing into empty string. Thanks Matthijs
+ Kooijman <matthijs@stdin.nl> for reporting.
+- Don't autoclose no parent elements are able to support the element
+ that triggered the autoclose. In particular fixes strange behavior
+ of stray <li> tags. Thanks pkuliga@gmail.com for reporting and
+ Neike Taika-Tessaro <pinkgothic@gmail.com> for debugging assistance.
+
+4.2.0, released 2010-09-15
+! Added %Core.RemoveProcessingInstructions, which lets you remove
+ <? ... ?> statements.
+! Added %URI.DisableResources functionality; the directive originally
+ did nothing. Thanks David Rothstein for reporting.
+! Add documentation about configuration directive types.
+! Add %CSS.ForbiddenProperties configuration directive.
+! Add %HTML.FlashAllowFullScreen to permit embedded Flash objects
+ to utilize full-screen mode.
+! Add optional support for the <code>file</code> URI scheme, enable
+ by explicitly setting %URI.AllowedSchemes.
+! Add %Core.NormalizeNewlines options to allow turning off newline
+ normalization.
+- Fix improper handling of Internet Explorer conditional comments
+ by parser. Thanks zmonteca for reporting.
+- Fix missing attributes bug when running on Mac Snow Leopard and APC.
+ Thanks sidepodcast for the fix.
+- Warn if an element is allowed, but an attribute it requires is
+ not allowed.
+
+4.1.1, released 2010-05-31
+- Fix undefined index warnings in maintenance scripts.
+- Fix bug in DirectLex for parsing elements with a single attribute
+ with entities.
+- Rewrite CSS output logic for font-family and url(). Thanks Mario
+ Heiderich <mario.heiderich@googlemail.com> for reporting and Takeshi
+ Terada <t-terada@violet.plala.or.jp> for suggesting the fix.
+- Emit an error for CollectErrors if a body is extracted
+- Fix bug where in background-position for center keyword handling.
+- Fix infinite loop when a wrapper element is inserted in a context
+ where it's not allowed. Thanks Lars <lars@renoz.dk> for reporting.
+- Remove +x bit and shebang from index.php; only supported mode is to
+ explicitly call it with php.
+- Make test script less chatty when log_errors is on.
+
+4.1.0, released 2010-04-26
+! Support proprietary height attribute on table element
+! Support YouTube slideshows that contain /cp/ in their URL.
+! Support for data: URI scheme; not enabled by default, add it using
+ %URI.AllowedSchemes
+! Support flashvars when using %HTML.SafeObject and %HTML.SafeEmbed.
+! Support for Internet Explorer compatibility with %HTML.SafeObject
+ using %Output.FlashCompat.
+! Handle <ol><ol> properly, by inserting the necessary <li> tag.
+- Always quote the insides of url(...) in CSS.
+
+4.0.0, released 2009-07-07
+# APIs for ConfigSchema subsystem have substantially changed. See
+ docs/dev-config-bcbreaks.txt for details; in essence, anything that
+ had both namespace and directive now have a single unified key.
+# Some configuration directives were renamed, specifically:
+ %AutoFormatParam.PurifierLinkifyDocURL -> %AutoFormat.PurifierLinkify.DocURL
+ %FilterParam.ExtractStyleBlocksEscaping -> %Filter.ExtractStyleBlocks.Escaping
+ %FilterParam.ExtractStyleBlocksScope -> %Filter.ExtractStyleBlocks.Scope
+ %FilterParam.ExtractStyleBlocksTidyImpl -> %Filter.ExtractStyleBlocks.TidyImpl
+ As usual, the old directive names will still work, but will throw E_NOTICE
+ errors.
+# The allowed values for class have been relaxed to allow all of CDATA for
+ doctypes that are not XHTML 1.1 or XHTML 2.0. For old behavior, set
+ %Attr.ClassUseCDATA to false.
+# Instead of appending the content model to an old content model, a blank
+ element will replace the old content model. You can use #SUPER to get
+ the old content model.
+! More robust support for name="" and id=""
+! HTMLPurifier_Config::inherit($config) allows you to inherit one
+ configuration, and have changes to that configuration be propagated
+ to all of its children.
+! Implement %HTML.Attr.Name.UseCDATA, which relaxes validation rules on
+ the name attribute when set. Use with care. Thanks Ian Cook for
+ sponsoring.
+! Implement %AutoFormat.RemoveEmpty.RemoveNbsp, which removes empty
+ tags that contain non-breaking spaces as well other whitespace. You
+ can also modify which tags should have &nbsp; maintained with
+ %AutoFormat.RemoveEmpty.RemoveNbsp.Exceptions.
+! Implement %Attr.AllowedClasses, which allows administrators to restrict
+ classes users can use to a specified finite set of classes, and
+ %Attr.ForbiddenClasses, which is the logical inverse.
+! You can now maintain your own configuration schema directories by
+ creating a config-schema.php file or passing an extra argument. Check
+ docs/dev-config-schema.html for more details.
+! Added HTMLPurifier_Config->serialize() method, which lets you save away
+ your configuration in a compact serial file, which you can unserialize
+ and use directly without having to go through the overhead of setup.
+- Fix bug where URIDefinition would not get cleared if it's directives got
+ changed.
+- Fix fatal error in HTMLPurifier_Encoder on certain platforms (probably NetBSD 5.0)
+- Fix bug in Linkify autoformatter involving <a><span>http://foo</span></a>
+- Make %URI.Munge not apply to links that have the same host as your host.
+- Prevent stray </body> tag from truncating output, if a second </body>
+ is present.
+. Created script maintenance/rename-config.php for renaming a configuration
+ directive while maintaining its alias. This script does not change source code.
+. Implement namespace locking for definition construction, to prevent
+ bugs where a directive is used for definition construction but is not
+ used to construct the cache hash.
+
+3.3.0, released 2009-02-16
+! Implement CSS property 'overflow' when %CSS.AllowTricky is true.
+! Implement generic property list classess
+- Fix bug with testEncodingSupportsASCII() algorithm when iconv() implementation
+ does not do the "right thing" with characters not supported in the output
+ set.
+- Spellcheck UTF-8: The Secret To Character Encoding
+- Fix improper removal of the contents of elements with only whitespace. Thanks
+ Eric Wald for reporting.
+- Fix broken test suite in versions of PHP without spl_autoload_register()
+- Fix degenerate case with YouTube filter involving double hyphens.
+ Thanks Pierre Attar for reporting.
+- Fix YouTube rendering problem on certain versions of Firefox.
+- Fix CSSDefinition Printer problems with decorators
+- Add text parameter to unit tests, forces text output
+. Add verbose mode to command line test runner, use (--verbose)
+. Turn on unit tests for UnitConverter
+. Fix missing version number in configuration %Attr.DefaultImageAlt (added 3.2.0)
+. Fix newline errors that caused spurious failures when CRLF HTML Purifier was
+ tested on Linux.
+. Removed trailing whitespace from all text files, see
+ remote-trailing-whitespace.php maintenance script.
+. Convert configuration to use property list backend.
+
+3.2.0, released 2008-10-31
+# Using %Core.CollectErrors forces line number/column tracking on, whereas
+ previously you could theoretically turn it off.
+# HTMLPurifier_Injector->notifyEnd() is formally deprecated. Please
+ use handleEnd() instead.
+! %Output.AttrSort for when you need your attributes in alphabetical order to
+ deal with a bug in FCKEditor. Requested by frank farmer.
+! Enable HTML comments when %HTML.Trusted is on. Requested by Waldo Jaquith.
+! Proper support for name attribute. It is now allowed and equivalent to the id
+ attribute in a and img tags, and is only converted to id when %HTML.TidyLevel
+ is heavy (for all doctypes).
+! %AutoFormat.RemoveEmpty to remove some empty tags from documents. Please don't
+ use on hand-written HTML.
+! Add error-cases for unsupported elements in MakeWellFormed. This enables
+ the strategy to be used, standalone, on untrusted input.
+! %Core.AggressivelyFixLt is on by default. This causes more sensible
+ processing of left angled brackets in smileys and other whatnot.
+! Test scripts now have a 'type' parameter, which lets you say 'htmlpurifier',
+ 'phpt', 'vtest', etc. in order to only execute those tests. This supercedes
+ the --only-phpt parameter, although for backwards-compatibility the flag
+ will still work.
+! AutoParagraph auto-formatter will now preserve double-newlines upon output.
+ Users who are not performing inbound filtering, this may seem a little
+ useless, but as a bonus, the test suite and handling of edge cases is also
+ improved.
+! Experimental implementation of forms for %HTML.Trusted
+! Track column numbers when maintain line numbers is on
+! Proprietary 'background' attribute on table-related elements converted into
+ corresponding CSS. Thanks Fusemail for sponsoring this feature!
+! Add forward(), forwardUntilEndToken(), backward() and current() to Injector
+ supertype.
+! HTMLPurifier_Injector->handleEnd() permits modification to end tokens. The
+ time of operation varies slightly from notifyEnd() as *all* end tokens are
+ processed by the injector before they are subject to the well-formedness rules.
+! %Attr.DefaultImageAlt allows overriding default behavior of setting alt to
+ basename of image when not present.
+! %AutoFormat.DisplayLinkURI neuters <a> tags into plain text URLs.
+- Fix two bugs in %URI.MakeAbsolute; one involving empty paths in base URLs,
+ the other involving an undefined $is_folder error.
+- Throw error when %Core.Encoding is set to a spurious value. Previously,
+ this errored silently and returned false.
+- Redirected stderr to stdout for flush error output.
+- %URI.DisableExternal will now use the host in %URI.Base if %URI.Host is not
+ available.
+- Do not re-munge URL if the output URL has the same host as the input URL.
+ Requested by Chris.
+- Fix error in documentation regarding %Filter.ExtractStyleBlocks
+- Prevent <![CDATA[<body></body>]]> from triggering %Core.ConvertDocumentToFragment
+- Fix bug with inline elements in blockquotes conflicting with strict doctype
+- Detect if HTML support is disabled for DOM by checking for loadHTML() method.
+- Fix bug where dots and double-dots in absolute URLs without hostname were
+ not collapsed by URIFilter_MakeAbsolute.
+- Fix bug with anonymous modules operating on SafeEmbed or SafeObject elements
+ by reordering their addition.
+- Will now throw exception on many error conditions during lexer creation; also
+ throw an exception when MaintainLineNumbers is true, but a non-tracksLineNumbers
+ is being used.
+- Detect if domxml extension is loaded, and use DirectLEx accordingly.
+- Improve handling of big numbers with floating point arithmetic in UnitConverter.
+ Reported by David Morton.
+. Strategy_MakeWellFormed now operates in-place, saving memory and allowing
+ for more interesting filter-backtracking
+. New HTMLPurifier_Injector->rewind() functionality, allows injectors to rewind
+ index to reprocess tokens.
+. StringHashParser now allows for multiline sections with "empty" content;
+ previously the section would remain undefined.
+. Added --quick option to multitest.php, which tests only the most recent
+ release for each series.
+. Added --distro option to multitest.php, which accepts either 'normal' or
+ 'standalone'. This supercedes --exclude-normal and --exclude-standalone
+
+3.1.1, released 2008-06-19
+# %URI.Munge now, by default, does not munge resources (for example, <img src="">)
+ In order to enable this again, please set %URI.MungeResources to true.
+! More robust imagecrash protection with height/width CSS with %CSS.MaxImgLength,
+ and height/width HTML with %HTML.MaxImgLength.
+! %URI.MungeSecretKey for secure URI munging. Thanks Chris
+ for sponsoring this feature. Check out the corresponding documentation
+ for details. (Att Nightly testers: The API for this feature changed before
+ the general release. Namely, rename your directives %URI.SecureMungeSecretKey =>
+ %URI.MungeSecretKey and and %URI.SecureMunge => %URI.Munge)
+! Implemented post URI filtering. Set member variable $post to true to set
+ a URIFilter as such.
+! Allow modules to define injectors via $info_injector. Injectors are
+ automatically disabled if injector's needed elements are not found.
+! Support for "safe" objects added, use %HTML.SafeObject and %HTML.SafeEmbed.
+ Thanks Chris for sponsoring. If you've been using ad hoc code from the
+ forums, PLEASE use this instead.
+! Added substitutions for %e, %n, %a and %p in %URI.Munge (in order,
+ embedded, tag name, attribute name, CSS property name). See %URI.Munge
+ for more details. Requested by Jochem Blok.
+- Disable percent height/width attributes for img.
+- AttrValidator operations are now atomic; updates to attributes are not
+ manifest in token until end of operations. This prevents naughty internal
+ code from directly modifying CurrentToken when they're not supposed to.
+ This semantics change was requested by frank farmer.
+- Percent encoding checks enabled for URI query and fragment
+- Fix stray backslashes in font-family; CSS Unicode character escapes are
+ now properly resolved (although *only* in font-family). Thanks Takeshi Terada
+ for reporting.
+- Improve parseCDATA algorithm to take into account newline normalization
+- Account for browser confusion between Yen character and backslash in
+ Shift_JIS encoding. This fix generalizes to any other encoding which is not
+ a strict superset of printable ASCII. Thanks Takeshi Terada for reporting.
+- Fix missing configuration parameter in Generator calls. Thanks vs for the
+ partial patch.
+- Improved adherence to Unicode by checking for non-character codepoints.
+ Thanks Geoffrey Sneddon for reporting. This may result in degraded
+ performance for extremely large inputs.
+- Allow CSS property-value pair ''text-decoration: none''. Thanks Jochem Blok
+ for reporting.
+. Added HTMLPurifier_UnitConverter and HTMLPurifier_Length for convenient
+ handling of CSS-style lengths. HTMLPurifier_AttrDef_CSS_Length now uses
+ this class.
+. API of HTMLPurifier_AttrDef_CSS_Length changed from __construct($disable_negative)
+ to __construct($min, $max). __construct(true) is equivalent to
+ __construct('0').
+. Added HTMLPurifier_AttrDef_Switch class
+. Rename HTMLPurifier_HTMLModule_Tidy->construct() to setup() and bubble method
+ up inheritance hierarchy to HTMLPurifier_HTMLModule. All HTMLModules
+ get this called with the configuration object. All modules now
+ use this rather than __construct(), although legacy code using constructors
+ will still work--the new format, however, lets modules access the
+ configuration object for HTML namespace dependant tweaks.
+. AttrDef_HTML_Pixels now takes a single construction parameter, pixels.
+. ConfigSchema data-structure heavily optimized; on average it uses a third
+ the memory it did previously. The interface has changed accordingly,
+ consult changes to HTMLPurifier_Config for details.
+. Variable parsing types now are magic integers instead of strings
+. Added benchmark for ConfigSchema
+. HTMLPurifier_Generator requires $config and $context parameters. If you
+ don't know what they should be, use HTMLPurifier_Config::createDefault()
+ and new HTMLPurifier_Context().
+. Printers now properly distinguish between output configuration, and
+ target configuration. This is not applicable to scripts using
+ the Printers for HTML Purifier related tasks.
+. HTML/CSS Printers must be primed with prepareGenerator($gen_config), otherwise
+ fatal errors will ensue.
+. URIFilter->prepare can return false in order to abort loading of the filter
+. Factory for AttrDef_URI implemented, URI#embedded to indicate URI that embeds
+ an external resource.
+. %URI.Munge functionality factored out into a post-filter class.
+. Added CurrentCSSProperty context variable during CSS validation
+
+3.1.0, released 2008-05-18
+# Unnecessary references to objects (vestiges of PHP4) removed from method
+ signatures. The following methods do not need references when assigning from
+ them and will result in E_STRICT errors if you try:
+ + HTMLPurifier_Config->get*Definition() [* = HTML, CSS]
+ + HTMLPurifier_ConfigSchema::instance()
+ + HTMLPurifier_DefinitionCacheFactory::instance()
+ + HTMLPurifier_DefinitionCacheFactory->create()
+ + HTMLPurifier_DoctypeRegistry->register()
+ + HTMLPurifier_DoctypeRegistry->get()
+ + HTMLPurifier_HTMLModule->addElement()
+ + HTMLPurifier_HTMLModule->addBlankElement()
+ + HTMLPurifier_LanguageFactory::instance()
+# Printer_ConfigForm's get*() functions were static-ified
+# %HTML.ForbiddenAttributes requires attribute declarations to be in the
+ form of tag@attr, NOT tag.attr (which will throw an error and won't do
+ anything). This is for forwards compatibility with XML; you'd do best
+ to migrate an %HTML.AllowedAttributes directives to this syntax too.
+! Allow index to be false for config from form creation
+! Added HTMLPurifier::VERSION constant
+! Commas, not dashes, used for serializer IDs. This change is forwards-compatible
+ and allows for version numbers like "3.1.0-dev".
+! %HTML.Allowed deals gracefully with whitespace anywhere, anytime!
+! HTML Purifier's URI handling is a lot more robust, with much stricter
+ validation checks and better percent encoding handling. Thanks Gareth Heyes
+ for indicating security vulnerabilities from lax percent encoding.
+! Bootstrap autoloader deals more robustly with classes that don't exist,
+ preventing class_exists($class, true) from barfing.
+- InterchangeBuilder now alphabetizes its lists
+- Validation error in configdoc output fixed
+- Iconv and other encoding errors muted even with custom error handlers that
+ do not honor error_reporting
+- Add protection against imagecrash attack with CSS height/width
+- HTMLPurifier::instance() created for consistency, is equivalent to getInstance()
+- Fixed and revamped broken ConfigForm smoketest
+- Bug with bool/null fields in Printer_ConfigForm fixed
+- Bug with global forbidden attributes fixed
+- Improved error messages for allowed and forbidden HTML elements and attributes
+- Missing (or null) in configdoc documentation restored
+- If DOM throws and exception during parsing with PH5P (occurs in newer versions
+ of DOM), HTML Purifier punts to DirectLex
+- Fatal error with unserialization of ScriptRequired
+- Created directories are now chmod'ed properly
+- Fixed bug with fallback languages in LanguageFactory
+- Standalone testing setup properly with autoload
+. Out-of-date documentation revised
+. UTF-8 encoding check optimization as suggested by Diego
+. HTMLPurifier_Error removed in favor of exceptions
+. More copy() function removed; should use clone instead
+. More extensive unit tests for HTMLDefinition
+. assertPurification moved to central harness
+. HTMLPurifier_Generator accepts $config and $context parameters during
+ instantiation, not runtime
+. Double-quotes outside of attribute values are now unescaped
+
+3.1.0rc1, released 2008-04-22
+# Autoload support added. Internal require_once's removed in favor of an
+ explicit require list or autoloading. To use HTML Purifier,
+ you must now either use HTMLPurifier.auto.php
+ or HTMLPurifier.includes.php; setting the include path and including
+ HTMLPurifier.php is insufficient--in such cases include HTMLPurifier.autoload.php
+ as well to register our autoload handler (or modify your autoload function
+ to check HTMLPurifier_Bootstrap::getPath($class)). You can also use
+ HTMLPurifier.safe-includes.php for a less performance friendly but more
+ user-friendly library load.
+# HTMLPurifier_ConfigSchema static functions are officially deprecated. Schema
+ information is stored in the ConfigSchema directory, and the
+ maintenance/generate-schema-cache.php generates the schema.ser file, which
+ is now instantiated. Support for userland schema changes coming soon!
+# HTMLPurifier_Config will now throw E_USER_NOTICE when you use a directive
+ alias; to get rid of these errors just modify your configuration to use
+ the new directive name.
+# HTMLPurifier->addFilter is deprecated; built-in filters can now be
+ enabled using %Filter.$filter_name or by setting your own filters using
+ %Filter.Custom
+# Directive-level safety properties superceded in favor of module-level
+ safety. Internal method HTMLModule->addElement() has changed, although
+ the externally visible HTMLDefinition->addElement has *not* changed.
+! Extra utility classes for testing and non-library operations can
+ be found in extras/. Specifically, these are FSTools and ConfigDoc.
+ You may find a use for these in your own project, but right now they
+ are highly experimental and volatile.
+! Integration with PHPT allows for automated smoketests
+! Limited support for proprietary HTML elements, namely <marquee>, sponsored
+ by Chris. You can enable them with %HTML.Proprietary if your client
+ demands them.
+! Support for !important CSS cascade modifier. By default, this will be stripped
+ from CSS, but you can enable it using %CSS.AllowImportant
+! Support for display and visibility CSS properties added, set %CSS.AllowTricky
+ to true to use them.
+! HTML Purifier now has its own Exception hierarchy under HTMLPurifier_Exception.
+ Developer error (not enduser error) can cause these to be triggered.
+! Experimental kses() wrapper introduced with HTMLPurifier.kses.php
+! Finally %CSS.AllowedProperties for tweaking allowed CSS properties without
+ mucking around with HTMLPurifier_CSSDefinition
+! ConfigDoc output has been enhanced with version and deprecation info.
+! %HTML.ForbiddenAttributes and %HTML.ForbiddenElements implemented.
+- Autoclose now operates iteratively, i.e. <span><span><div> now has
+ both span tags closed.
+- Various HTMLPurifier_Config convenience functions now accept another parameter
+ $schema which defines what HTMLPurifier_ConfigSchema to use besides the
+ global default.
+- Fix bug with trusted script handling in libxml versions later than 2.6.28.
+- Fix bug in ExtractStyleBlocks with comments in style tags
+- Fix bug in comment parsing for DirectLex
+- Flush output now displayed when in command line mode for unit tester
+- Fix bug with rgb(0, 1, 2) color syntax with spaces inside shorthand syntax
+- HTMLPurifier_HTMLDefinition->addAttribute can now be called multiple times
+ on the same element without emitting errors.
+- Fixed fatal error in PH5P lexer with invalid tag names
+. Plugins now get their own changelogs according to project conventions.
+. Convert tokens to use instanceof, reducing memory footprint and
+ improving comparison speed.
+. Dry runs now supported in SimpleTest; testing facilities improved
+. Bootstrap class added for handling autoloading functionality
+. Implemented recursive glob at FSTools->globr
+. ConfigSchema now has instance methods for all corresponding define*
+ static methods.
+. A couple of new historical maintenance scripts were added.
+. HTMLPurifier/HTMLModule/Tidy/XHTMLAndHTML4.php split into two files
+. tests/index.php can now be run from any directory.
+. HTMLPurifier_Token subclasses split into seperate files
+. HTMLPURIFIER_PREFIX now is defined in Bootstrap.php, NOT HTMLPurifier.php
+. HTMLPURIFIER_PREFIX can now be defined outside of HTML Purifier
+. New --php=php flag added, allows PHP executable to be specified (command
+ line only!)
+. htmlpurifier_add_test() preferred method to translate test files in to
+ classes, because it handles PHPT files too.
+. Debugger class is deprecated and will be removed soon.
+. Command line argument parsing for testing scripts revamped, now --opt value
+ format is supported.
+. Smoketests now cleanup after magic quotes
+. Generator now can output comments (however, comments are still stripped
+ from HTML Purifier output)
+. HTMLPurifier_ConfigSchema->validate() deprecated in favor of
+ HTMLPurifier_VarParser->parse()
+. Integers auto-cast into float type by VarParser.
+. HTMLPURIFIER_STRICT removed; no validation is performed on runtime, only
+ during cache generation
+. Reordered script calls in maintenance/flush.php
+. Command line scripts now honor exit codes
+. When --flush fails in unit testers, abort tests and print message
+. Improved documentation in docs/dev-flush.html about the maintenance scripts
+. copy() methods removed in favor of clone keyword
+
+3.0.0, released 2008-01-06
+# HTML Purifier is PHP 5 only! The 2.1.x branch will be maintained
+ until PHP 4 is completely deprecated, but no new features will be added
+ to it.
+ + Visibility declarations added
+ + Constructor methods renamed to __construct()
+ + PHP4 reference cruft removed (in progress)
+! CSS properties are now case-insensitive
+! DefinitionCacheFactory now can register new implementations
+! New HTMLPurifier_Filter_ExtractStyleBlocks for extracting <style> from
+ documents and cleaning their contents up. Requires the CSSTidy library
+ <http://csstidy.sourceforge.net/>. You can access the blocks with the
+ 'StyleBlocks' Context variable ($purifier->context->get('StyleBlocks')).
+ The output CSS can also be "scoped" for a specific element, use:
+ %Filter.ExtractStyleBlocksScope
+! Experimental support for some proprietary CSS attributes allowed:
+ opacity (and all of the browser-specific equivalents) and scrollbar colors.
+ Enable by setting %CSS.Proprietary to true.
+- Colors missing # but in hex form will be corrected
+- CSS Number algorithm improved
+- Unit testing and multi-testing now on steroids: command lines,
+ XML output, and other goodies now added.
+. Unit tests for Injector improved
+. New classes:
+ + HTMLPurifier_AttrDef_CSS_AlphaValue
+ + HTMLPurifier_AttrDef_CSS_Filter
+. Multitest now has a file docblock
+
+2.1.3, released 2007-11-05
+! tests/multitest.php allows you to test multiple versions by running
+ tests/index.php through multiple interpreters using `phpv` shell
+ script (you must provide this script!)
+- Fixed poor include ordering for Email URI AttrDefs, causes fatal errors
+ on some systems.
+- Injector algorithm further refined: off-by-one error regarding skip
+ counts for dormant injectors fixed
+- Corrective blockquote definition now enabled for HTML 4.01 Strict
+- Fatal error when <img> tag (or any other element with required attributes)
+ has 'id' attribute fixed, thanks NykO18 for reporting
+- Fix warning emitted when a non-supported URI scheme is passed to the
+ MakeAbsolute URIFilter, thanks NykO18 (again)
+- Further refine AutoParagraph injector. Behavior inside of elements
+ allowing paragraph tags clarified: only inline content delimeted by
+ double newlines (not block elements) are paragraphed.
+- Buggy treatment of end tags of elements that have required attributes
+ fixed (does not manifest on default tag-set)
+- Spurious internal content reorganization error suppressed
+- HTMLDefinition->addElement now returns a reference to the created
+ element object, as implied by the documentation
+- Phorum mod's HTML Purifier help message expanded (unreleased elsewhere)
+- Fix a theoretical class of infinite loops from DirectLex reported
+ by Nate Abele
+- Work around unnecessary DOMElement type-cast in PH5P that caused errors
+ in PHP 5.1
+- Work around PHP 4 SimpleTest lack-of-error complaining for one-time-only
+ HTMLDefinition errors, this may indicate problems with error-collecting
+ facilities in PHP 5
+- Make ErrorCollectorEMock work in both PHP 4 and PHP 5
+- Make PH5P work with PHP 5.0 by removing unnecessary array parameter typedef
+. %Core.AcceptFullDocuments renamed to %Core.ConvertDocumentToFragment
+ to better communicate its purpose
+. Error unit tests can now specify the expectation of no errors. Future
+ iterations of the harness will be extremely strict about what errors
+ are allowed
+. Extend Injector hooks to allow for more powerful injector routines
+. HTMLDefinition->addBlankElement created, as according to the HTMLModule
+ method
+. Doxygen configuration file updated, with minor improvements
+. Test runner now checks for similarly named files in conf/ directory too.
+. Minor cosmetic change to flush-definition-cache.php: trailing newline is
+ outputted
+. Maintenance script for generating PH5P patch added, original PH5P source
+ file also added under version control
+. Full unit test runner script title made more descriptive with PHP version
+. Updated INSTALL file to state that 4.3.7 is the earliest version we
+ are actively testing
+
+2.1.2, released 2007-09-03
+! Implemented Object module for trusted users
+! Implemented experimental HTML5 parsing mode using PH5P. To use, add
+ this to your code:
+ require_once 'HTMLPurifier/Lexer/PH5P.php';
+ $config->set('Core', 'LexerImpl', 'PH5P');
+ Note that this Lexer introduces some classes not in the HTMLPurifier
+ namespace. Also, this is PHP5 only.
+! CSS property border-spacing implemented
+- Fix non-visible parsing error in DirectLex with empty tags that have
+ slashes inside attribute values.
+- Fix typo in CSS definition: border-collapse:seperate; was incorrectly
+ accepted as valid CSS. Usually non-visible, because this styling is the
+ default for tables in most browsers. Thanks Brett Zamir for pointing
+ this out.
+- Fix validation errors in configuration form
+- Hammer out a bunch of edge-case bugs in the standalone distribution
+- Inclusion reflection removed from URISchemeRegistry; you must manually
+ include any new schema files you wish to use
+- Numerous typo fixes in documentation thanks to Brett Zamir
+. Unit test refactoring for one logical test per test function
+. Config and context parameters in ComplexHarness deprecated: instead, edit
+ the $config and $context member variables
+. HTML wrapper in DOMLex now takes DTD identifiers into account; doesn't
+ really make a difference, but is good for completeness sake
+. merge-library.php script refactored for greater code reusability and
+ PHP4 compatibility
+
+2.1.1, released 2007-08-04
+- Fix show-stopper bug in %URI.MakeAbsolute functionality
+- Fix PHP4 syntax error in standalone version
+. Add prefix directory to include path for standalone, this prevents
+ other installations from clobbering the standalone's URI schemes
+. Single test methods can be invoked by prefixing with __only
+
+2.1.0, released 2007-08-02
+# flush-htmldefinition-cache.php superseded in favor of a generic
+ flush-definition-cache.php script, you can clear a specific cache
+ by passing its name as a parameter to the script
+! Phorum mod implemented for HTML Purifier
+! With %Core.AggressivelyFixLt, <3 and similar emoticons no longer
+ trigger HTML removal in PHP5 (DOMLex). This directive is not necessary
+ for PHP4 (DirectLex).
+! Standalone file now available, which greatly reduces the amount of
+ includes (although there are still a few files that reside in the
+ standalone folder)
+! Relative URIs can now be transformed into their absolute equivalents
+ using %URI.Base and %URI.MakeAbsolute
+! Ruby implemented for XHTML 1.1
+! You can now define custom URI filtering behavior, see enduser-uri-filter.html
+ for more details
+! UTF-8 font names now supported in CSS
+- AutoFormatters emit friendly error messages if tags or attributes they
+ need are not allowed
+- ConfigForm's compactification of directive names is now configurable
+- AutoParagraph autoformatter algorithm refined after field-testing
+- XHTML 1.1 now applies XHTML 1.0 Strict cleanup routines, namely
+ blockquote wrapping
+- Contents of <style> tags removed by default when tags are removed
+. HTMLPurifier_Config->getSerial() implemented, this is extremely useful
+ for output cache invalidation
+. ConfigForm printer now can retrieve CSS and JS files as strings, in
+ case HTML Purifier's directory is not publically accessible
+. Introduce new text/itext configuration directive values: these represent
+ longer strings that would be more appropriately edited with a textarea
+. Allow newlines to act as separators for lists, hashes, lookups and
+ %HTML.Allowed
+. ConfigForm generates textareas instead of text inputs for lists, hashes,
+ lookups, text and itext fields
+. Hidden element content removal genericized: %Core.HiddenElements can
+ be used to customize this behavior, by default <script> and <style> are
+ hidden
+. Added HTMLPURIFIER_PREFIX constant, should be used instead of dirname(__FILE__)
+. Custom ChildDef added to default include list
+. URIScheme reflection improved: will not attempt to include file if class
+ already exists. May clobber autoload, so I need to keep an eye on it
+. ConfigSchema heavily optimized, will only collect information and validate
+ definitions when HTMLPURIFIER_SCHEMA_STRICT is true.
+. AttrDef_URI unit tests and implementation refactored
+. benchmarks/ directory now protected from public view with .htaccess file;
+ run the tests via command line
+. URI scheme is munged off if there is no authority and the scheme is the
+ default one
+. All unit tests inherit from HTMLPurifier_Harness, not UnitTestCase
+. Interface for URIScheme changed
+. Generic URI object to hold components of URI added, most systems involved
+ in URI validation have been migrated to use it
+. Custom filtering for URIs factored out to URIDefinition interface for
+ maximum extensibility
+
+2.0.1, released 2007-06-27
+! Tag auto-closing now based on a ChildDef heuristic rather than a
+ manually set auto_close array; some behavior may change
+! Experimental AutoFormat functionality added: auto-paragraph and
+ linkify your HTML input by setting %AutoFormat.AutoParagraph and
+ %AutoFormat.Linkify to true
+! Newlines normalized internally, and then converted back to the
+ value of PHP_EOL. If this is not desired, set your newline format
+ using %Output.Newline.
+! Beta error collection, messages are implemented for the most generic
+ cases involving Lexing or Strategies
+- Clean up special case code for <script> tags
+- Reorder includes for DefinitionCache decorators, fixes a possible
+ missing class error
+- Fixed bug where manually modified definitions were not saved via cache
+ (mostly harmless, except for the fact that it would be a little slower)
+- Configuration objects with different serials do not clobber each
+ others when revision numbers are unequal
+- Improve Serializer DefinitionCache directory permissions checks
+- DefinitionCache no longer throws errors when it encounters old
+ serial files that do not conform to the current style
+- Stray xmlns attributes removed from configuration documentation
+- configForm.php smoketest no longer has XSS vulnerability due to
+ unescaped print_r output
+- Printer adheres to configuration's directives on output format
+- Fix improperly named form field in ConfigForm printer
+. Rewire some test-cases to swallow errors rather than expect them
+. HTMLDefinition printer updated with some of the new attributes
+. DefinitionCache keys reordered to reflect precedence: version number,
+ hash, then revision number
+. %Core.DefinitionCache renamed to %Cache.DefinitionImpl
+. Interlinking in configuration documentation added using
+ Injector_PurifierLinkify
+. Directives now keep track of aliases to themselves
+. Error collector now requires a severity to be passed, use PHP's internal
+ error constants for this
+. HTMLPurifier_Config::getAllowedDirectivesForForm implemented, allows
+ much easier selective embedding of configuration values
+. Doctype objects now accept public and system DTD identifiers
+. %HTML.Doctype is now constrained by specific values, to specify a custom
+ doctype use new %HTML.CustomDoctype
+. ConfigForm truncates long directives to keep the form small, and does
+ not re-output namespaces
+
+2.0.0, released 2007-06-20
+# Completely refactored HTMLModuleManager, decentralizing safety
+ information
+# Transform modules changed to Tidy modules, which offer more flexibility
+ and better modularization
+# Configuration object now finalizes itself when a read operation is
+ performed on it, ensuring that its internal state stays consistent.
+ To revert this behavior, you can set the $autoFinalize member variable
+ off, but it's not recommended.
+# New compact syntax for AttrDef objects that can be used to instantiate
+ new objects via make()
+# Definitions (esp. HTMLDefinition) are now cached for a significant
+ performance boost. You can disable caching by setting %Core.DefinitionCache
+ to null. You CANNOT edit raw definitions without setting the corresponding
+ DefinitionID directive (%HTML.DefinitionID for HTMLDefinition).
+# Contents between <script> tags are now completely removed if <script>
+ is not allowed
+# Prototype-declarations for Lexer removed in favor of configuration
+ determination of Lexer implementations.
+! HTML Purifier now works in PHP 4.3.2.
+! Configuration form-editing API makes tweaking HTMLPurifier_Config a
+ breeze!
+! Configuration directives that accept hashes now allow new string
+ format: key1:value1,key2:value2
+! ConfigDoc now factored into OOP design
+! All deprecated elements now natively supported
+! Implement TinyMCE styled whitelist specification format in
+ %HTML.Allowed
+! Config object gives more friendly error messages when things go wrong
+! Advanced API implemented: easy functions for creating elements (addElement)
+ and attributes (addAttribute) on HTMLDefinition
+! Add native support for required attributes
+- Deprecated and removed EnableRedundantUTF8Cleaning. It didn't even work!
+- DOMLex will not emit errors when a custom error handler that does not
+ honor error_reporting is used
+- StrictBlockquote child definition refrains from wrapping whitespace
+ in tags now.
+- Bug resulting from tag transforms to non-allowed elements fixed
+- ChildDef_Custom's regex generation has been improved, removing several
+ false positives
+. Unit test for ElementDef created, ElementDef behavior modified to
+ be more flexible
+. Added convenience functions for HTMLModule constructors
+. AttrTypes now has accessor functions that should be used instead
+ of directly manipulating info
+. TagTransform_Center deprecated in favor of generic TagTransform_Simple
+. Add extra protection in AttrDef_URI against phantom Schemes
+. Doctype object added to HTMLDefinition which describes certain aspects
+ of the operational document type
+. Lexer is now pre-emptively included, with a conditional include for the
+ PHP5 only version.
+. HTMLDefinition and CSSDefinition have a common parent class: Definition.
+. DirectLex can now track line-numbers
+. Preliminary error collector is in place, although no code actually reports
+ errors yet
+. Factor out most of ValidateAttributes to new AttrValidator class
+
+1.6.1, released 2007-05-05
+! Support for more deprecated attributes via transformations:
+ + hspace and vspace in img
+ + size and noshade in hr
+ + nowrap in td
+ + clear in br
+ + align in caption, table, img and hr
+ + type in ul, ol and li
+! DirectLex now preserves text in which a < bracket is followed by
+ a non-alphanumeric character. This means that certain emoticons
+ are now preserved.
+! %Core.RemoveInvalidImg is now operational, when set to false invalid
+ images will hang around with an empty src
+! target attribute in a tag supported, use %Attr.AllowedFrameTargets
+ to enable
+! CSS property white-space now allows nowrap (supported in all modern
+ browsers) but not others (which have spotty browser implementations)
+! XHTML 1.1 mode now sort-of works without any fatal errors, and
+ lang is now moved over to xml:lang.
+! Attribute transformation smoketest available at smoketests/attrTransform.php
+! Transformation of font's size attribute now handles super-large numbers
+- Possibly fatal bug with __autoload() fixed in module manager
+- Invert HTMLModuleManager->addModule() processing order to check
+ prefixes first and then the literal module
+- Empty strings get converted to empty arrays instead of arrays with
+ an empty string in them.
+- Merging in attribute lists now works.
+. Demo script removed: it has been added to the website's repository
+. Basic.php script modified to work out of the box
+. Refactor AttrTransform classes to reduce duplication
+. AttrTransform_TextAlign axed in favor of a more general
+ AttrTransform_EnumToCSS, refer to HTMLModule/TransformToStrict.php to
+ see how the new equivalent is implemented
+. Unit tests now use exclusively assertIdentical
+
+1.6.0, released 2007-04-01
+! Support for most common deprecated attributes via transformations:
+ + bgcolor in td, th, tr and table
+ + border in img
+ + name in a and img
+ + width in td, th and hr
+ + height in td, th
+! Support for CSS attribute 'height' added
+! Support for rel and rev attributes in a tags added, use %Attr.AllowedRel
+ and %Attr.AllowedRev to activate
+- You can define ID blacklists using regular expressions via
+ %Attr.IDBlacklistRegexp
+- Error messages are emitted when you attempt to "allow" elements or
+ attributes that HTML Purifier does not support
+- Fix segfault in unit test. The problem is not very reproduceable and
+ I don't know what causes it, but a six line patch fixed it.
+
+1.5.0, released 2007-03-23
+! Added a rudimentary I18N and L10N system modeled off MediaWiki. It
+ doesn't actually do anything yet, but keep your eyes peeled.
+! docs/enduser-utf8.html explains how to use UTF-8 and HTML Purifier
+! Newly structured HTMLDefinition modeled off of XHTML 1.1 modules.
+ I am loathe to release beta quality APIs, but this is exactly that;
+ don't use the internal interfaces if you're not willing to do migration
+ later on.
+- Allow 'x' subtag in language codes
+- Fixed buggy chameleon-support for ins and del
+. Added support for IDREF attributes (i.e. for)
+. Renamed HTMLPurifier_AttrDef_Class to HTMLPurifier_AttrDef_Nmtokens
+. Removed context variable ParentType, replaced with IsInline, which
+ is false when you're not inline and an integer of the parent that
+ caused you to become inline when you are (so possibly zero)
+. Removed ElementDef->type in favor of ElementDef->descendants_are_inline
+ and HTMLDefinition->content_sets
+. StrictBlockquote now reports what elements its supposed to allow,
+ rather than what it does allow
+. Removed HTMLDefinition->info_flow_elements in favor of
+ HTMLDefinition->content_sets['Flow']
+. Removed redundant "exclusionary" definitions from DTD roster
+. StrictBlockquote now requires a construction parameter as if it
+ were an Required ChildDef, this is the "real" set of allowed elements
+. AttrDef partitioned into HTML, CSS and URI segments
+. Modify Youtube filter regexp to be multiline
+. Require both PHP5 and DOM extension in order to use DOMLex, fixes
+ some edge cases where a DOMDocument class exists in a PHP4 environment
+ due to DOM XML extension.
+
+1.4.1, released 2007-01-21
+! docs/enduser-youtube.html updated according to new functionality
+- YouTube IDs can have underscores and dashes
+
+1.4.0, released 2007-01-21
+! Implemented list-style-image, URIs now allowed in list-style
+! Implemented background-image, background-repeat, background-attachment
+ and background-position CSS properties. Shorthand property background
+ supports all of these properties.
+! Configuration documentation looks nicer
+! Added %Core.EscapeNonASCIICharacters to workaround loss of Unicode
+ characters while %Core.Encoding is set to a non-UTF-8 encoding.
+! Support for configuration directive aliases added
+! Config object can now be instantiated from ini files
+! YouTube preservation code added to the core, with two lines of code
+ you can add it as a filter to your code. See smoketests/preserveYouTube.php
+ for sample code.
+! Moved SLOW to docs/enduser-slow.html and added code examples
+- Replaced version check with functionality check for DOM (thanks Stephen
+ Khoo)
+. Added smoketest 'all.php', which loads all other smoketests via frames
+. Implemented AttrDef_CSSURI for url(http://google.com) style declarations
+. Added convenient single test selector form on test runner
+
+1.3.2, released 2006-12-25
+! HTMLPurifier object now accepts configuration arrays, no need to manually
+ instantiate a configuration object
+! Context object now accessible to outside
+! Added enduser-youtube.html, explains how to embed YouTube videos. See
+ also corresponding smoketest preserveYouTube.php.
+! Added purifyArray(), which takes a list of HTML and purifies it all
+! Added static member variable $version to HTML Purifier with PHP-compatible
+ version number string.
+- Fixed fatal error thrown by upper-cased language attributes
+- printDefinition.php: added labels, added better clarification
+. HTMLPurifier_Config::create() added, takes mixed variable and converts into
+ a HTMLPurifier_Config object.
+
+1.3.1, released 2006-12-06
+! Added HTMLPurifier.func.php stub for a convenient function to call the library
+- Fixed bug in RemoveInvalidImg code that caused all images to be dropped
+ (thanks to .mario for reporting this)
+. Standardized all attribute handling variables to attr, made it plural
+
+1.3.0, released 2006-11-26
+# Invalid images are now removed, rather than replaced with a dud
+ <img src="" alt="Invalid image" />. Previous behavior can be restored
+ with new directive %Core.RemoveInvalidImg set to false.
+! (X)HTML Strict now supported
+ + Transparently handles inline elements in block context (blockquote)
+! Added GET method to demo for easier validation, added 50kb max input size
+! New directive %HTML.BlockWrapper, for block-ifying inline elements
+! New directive %HTML.Parent, allows you to only allow inline content
+! New directives %HTML.AllowedElements and %HTML.AllowedAttributes to let
+ users narrow the set of allowed tags
+! <li value="4"> and <ul start="2"> now allowed in loose mode
+! New directives %URI.DisableExternalResources and %URI.DisableResources
+! New directive %Attr.DisableURI, which eliminates all hyperlinking
+! New directive %URI.Munge, munges URI so you can use some sort of redirector
+ service to avoid PageRank leaks or warn users that they are exiting your site.
+! Added spiffy new smoketest printDefinition.php, which lets you twiddle with
+ the configuration settings and see how the internal rules are affected.
+! New directive %URI.HostBlacklist for blocking links to bad hosts.
+ xssAttacks.php smoketest updated accordingly.
+- Added missing type to ChildDef_Chameleon
+- Remove Tidy option from demo if there is not Tidy available
+. ChildDef_Required guards against empty tags
+. Lookup table HTMLDefinition->info_flow_elements added
+. Added peace-of-mind variable initialization to Strategy_FixNesting
+. Added HTMLPurifier->info_parent_def, parent child processing made special
+. Added internal documents briefly summarizing future progression of HTML
+. HTMLPurifier_Config->getBatch($namespace) added
+. More lenient casting to bool from string in HTMLPurifier_ConfigSchema
+. Refactored ChildDef classes into their own files
+
+1.2.0, released 2006-11-19
+# ID attributes now disabled by default. New directives:
+ + %HTML.EnableAttrID - restores old behavior by allowing IDs
+ + %Attr.IDPrefix - %Attr.IDBlacklist alternative that munges all user IDs
+ so that they don't collide with your IDs
+ + %Attr.IDPrefixLocal - Same as above, but for when there are multiple
+ instances of user content on the page
+ + Profuse documentation on how to use these available in docs/enduser-id.txt
+! Added MODx plugin <http://modxcms.com/forums/index.php/topic,6604.0.html>
+! Added percent encoding normalization
+! XSS attacks smoketest given facelift
+! Configuration documentation now has table of contents
+! Added %URI.DisableExternal, which prevents links to external websites. You
+ can also use %URI.Host to permit absolute linking to subdomains
+! Non-accessible resources (ex. mailto) blocked from embedded URIs (img src)
+- Type variable in HTMLDefinition was not being set properly, fixed
+- Documentation updated
+ + TODO added request Phalanger
+ + TODO added request Native compression
+ + TODO added request Remove redundant tags
+ + TODO added possible plaintext formatter for HTML Purifier documentation
+ + Updated ConfigDoc TODO
+ + Improved inline comments in AttrDef/Class.php, AttrDef/CSS.php
+ and AttrDef/Host.php
+ + Revamped documentation into HTML, along with misc updates
+- HTMLPurifier_Context doesn't throw a variable reference error if you attempt
+ to retrieve a non-existent variable
+. Switched to purify()-wide Context object registry
+. Refactored unit tests to minimize duplication
+. XSS attack sheet updated
+. configdoc.xml now has xml:space attached to default value nodes
+. Allow configuration directives to permit null values
+. Cleaned up test-cases to remove unnecessary swallowErrors()
+
+1.1.2, released 2006-09-30
+! Add HTMLPurifier.auto.php stub file that configures include_path
+- Documentation updated
+ + INSTALL document rewritten
+ + TODO added semi-lossy conversion
+ + API Doxygen docs' file exclusions updated
+ + Added notes on HTML versus XML attribute whitespace handling
+ + Noted that HTMLPurifier_ChildDef_Custom isn't being used
+ + Noted that config object's definitions are cached versions
+- Fixed lack of attribute parsing in HTMLPurifier_Lexer_PEARSax3
+- ftp:// URIs now have their typecodes checked
+- Hooked up HTMLPurifier_ChildDef_Custom's unit tests (they weren't being run)
+. Line endings standardized throughout project (svn:eol-style standardized)
+. Refactored parseData() to general Lexer class
+. Tester named "HTML Purifier" not "HTMLPurifier"
+
+1.1.1, released 2006-09-24
+! Configuration option to optionally Tidy up output for indentation to make up
+ for dropped whitespace by DOMLex (pretty-printing for the entire application
+ should be done by a page-wide Tidy)
+- Various documentation updates
+- Fixed parse error in configuration documentation script
+- Fixed fatal error in benchmark scripts, slightly augmented
+- As far as possible, whitespace is preserved in-between table children
+- Sample test-settings.php file included
+
+1.1.0, released 2006-09-16
+! Directive documentation generation using XSLT
+! XHTML can now be turned off, output becomes <br>
+- Made URI validator more forgiving: will ignore leading and trailing
+ quotes, apostrophes and less than or greater than signs.
+- Enforce alphanumeric namespace and directive names for configuration.
+- Table child definition made more flexible, will fix up poorly ordered elements
+. Renamed ConfigDef to ConfigSchema
+
+1.0.1, released 2006-09-04
+- Fixed slight bug in DOMLex attribute parsing
+- Fixed rejection of case-insensitive configuration values when there is a
+ set of allowed values. This manifested in %Core.Encoding.
+- Fixed rejection of inline style declarations that had lots of extra
+ space in them. This manifested in TinyMCE.
+
+1.0.0, released 2006-09-01
+! Shorthand CSS properties implemented: font, border, background, list-style
+! Basic color keywords translated into hexadecimal values
+! Table CSS properties implemented
+! Support for charsets other than UTF-8 (defined by iconv)
+! Malformed UTF-8 and non-SGML character detection and cleaning implemented
+- Fixed broken numeric entity conversion
+- API documentation completed
+. (HTML|CSS)Definition de-singleton-ized
+
+1.0.0beta, released 2006-08-16
+! First public release, most functionality implemented. Notable omissions are:
+ + Shorthand CSS properties
+ + Table CSS properties
+ + Deprecated attribute transformations
+
+ vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/README.md b/vendor/ezyang/htmlpurifier/README.md
new file mode 100644
index 000000000..b321f2b69
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/README.md
@@ -0,0 +1,29 @@
+HTML Purifier [![Build Status](https://secure.travis-ci.org/ezyang/htmlpurifier.svg?branch=master)](http://travis-ci.org/ezyang/htmlpurifier)
+=============
+
+HTML Purifier is an HTML filtering solution that uses a unique combination
+of robust whitelists and agressive parsing to ensure that not only are
+XSS attacks thwarted, but the resulting HTML is standards compliant.
+
+HTML Purifier is oriented towards richly formatted documents from
+untrusted sources that require CSS and a full tag-set. This library can
+be configured to accept a more restrictive set of tags, but it won't be
+as efficient as more bare-bones parsers. It will, however, do the job
+right, which may be more important.
+
+Places to go:
+
+* See INSTALL for a quick installation guide
+* See docs/ for developer-oriented documentation, code examples and
+ an in-depth installation guide.
+* See WYSIWYG for information on editors like TinyMCE and FCKeditor
+
+HTML Purifier can be found on the web at: [http://htmlpurifier.org/](http://htmlpurifier.org/)
+
+## Installation
+
+Package available on [Composer](https://packagist.org/packages/ezyang/htmlpurifier).
+
+If you're using Composer to manage dependencies, you can use
+
+ $ composer require "ezyang/htmlpurifier": "dev-master"
diff --git a/vendor/ezyang/htmlpurifier/TODO b/vendor/ezyang/htmlpurifier/TODO
new file mode 100644
index 000000000..1afb33cbf
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/TODO
@@ -0,0 +1,150 @@
+
+TODO List
+
+= KEY ====================
+ # Flagship
+ - Regular
+ ? Maybe I'll Do It
+==========================
+
+If no interest is expressed for a feature that may require a considerable
+amount of effort to implement, it may get endlessly delayed. Do not be
+afraid to cast your vote for the next feature to be implemented!
+
+Things to do as soon as possible:
+
+ - http://htmlpurifier.org/phorum/read.php?3,5560,6307#msg-6307
+ - Think about allowing explicit order of operations hooks for transforms
+ - Fix "<.<" bug (trailing < is removed if not EOD)
+ - Build in better internal state dumps and debugging tools for remote
+ debugging
+ - Allowed/Allowed* have strange interactions when both set
+ ? Transform lone embeds into object tags
+ - Deprecated config options that emit warnings when you set them (with'
+ a way of muting the warning if you really want to)
+ - Make HTML.Trusted work with Output.FlashCompat
+ - HTML.Trusted and HTML.SafeObject have funny interaction; general
+ problem is what to do when a module "supersedes" another
+ (see also tables and basic tables.) This is a little dicier
+ because HTML.SafeObject has some extra functionality that
+ trusted might find useful. See http://htmlpurifier.org/phorum/read.php?3,5762,6100
+
+FUTURE VERSIONS
+---------------
+
+4.9 release [OMG CONFIG PONIES]
+ ! Fix Printer. It's from the old days when we didn't have decent XML classes
+ ! Factor demo.php into a set of Printer classes, and then create a stub
+ file for users here (inside the actual HTML Purifier library)
+ - Fix error handling with form construction
+ - Do encoding validation in Printers, or at least, where user data comes in
+ - Config: Add examples to everything (make built-in which also automatically
+ gives output)
+ - Add "register" field to config schemas to eliminate dependence on
+ naming conventions (try to remember why we ultimately decided on tihs)
+
+5.0 release [HTML 5]
+ # Swap out code to use html5lib tokenizer and tree-builder
+ ! Allow turning off of FixNesting and required attribute insertion
+
+5.1 release [It's All About Trust] (floating)
+ # Implement untrusted, dangerous elements/attributes
+ # Implement IDREF support (harder than it seems, since you cannot have
+ IDREFs to non-existent IDs)
+ - Implement <area> (client and server side image maps are blocking
+ on IDREF support)
+ # Frameset XHTML 1.0 and HTML 4.01 doctypes
+ - Figure out how to simultaneously set %CSS.Trusted and %HTML.Trusted (?)
+
+5.2 release [Error'ed]
+ # Error logging for filtering/cleanup procedures
+ # Additional support for poorly written HTML
+ - Microsoft Word HTML cleaning (i.e. MsoNormal, but research essential!)
+ - Friendly strict handling of <address> (block -> <br>)
+ - XSS-attempt detection--certain errors are flagged XSS-like
+ - Append something to duplicate IDs so they're still usable (impl. note: the
+ dupe detector would also need to detect the suffix as well)
+
+6.0 release [Beyond HTML]
+ # Legit token based CSS parsing (will require revamping almost every
+ AttrDef class). Probably will use CSSTidy
+ # More control over allowed CSS properties using a modularization
+ # IRI support (this includes IDN)
+ - Standardize token armor for all areas of processing
+
+7.0 release [To XML and Beyond]
+ - Extended HTML capabilities based on namespacing and tag transforms (COMPLEX)
+ - Hooks for adding custom processors to custom namespaced tags and
+ attributes, offer default implementation
+ - Lots of documentation and samples
+
+Ongoing
+ - More refactoring to take advantage of PHP5's facilities
+ - Refactor unit tests into lots of test methods
+ - Plugins for major CMSes (COMPLEX)
+ - phpBB
+ - Also, a FAQ for extension writers with HTML Purifier
+
+AutoFormat
+ - Smileys
+ - Syntax highlighting (with GeSHi) with <pre> and possibly <?php
+ - Look at http://drupal.org/project/Modules/category/63 for ideas
+
+Neat feature related
+ ! Support exporting configuration, so users can easily tweak settings
+ in the demo, and then copy-paste into their own setup
+ - Advanced URI filtering schemes (see docs/proposal-new-directives.txt)
+ - Allow scoped="scoped" attribute in <style> tags; may be troublesome
+ because regular CSS has no way of uniquely identifying nodes, so we'd
+ have to generate IDs
+ - Explain how to use HTML Purifier in non-PHP languages / create
+ a simple command line stub (or complicated?)
+ - Fixes for Firefox's inability to handle COL alignment props (Bug 915)
+ - Automatically add non-breaking spaces to empty table cells when
+ empty-cells:show is applied to have compatibility with Internet Explorer
+ - Table of Contents generation (XHTML Compiler might be reusable). May also
+ be out-of-band information.
+ - Full set of color keywords. Also, a way to add onto them without
+ finalizing the configuration object.
+ - Write a var_export and memcached DefinitionCache - Denis
+ - Built-in support for target="_blank" on all external links
+ - Convert RTL/LTR override characters to <bdo> tags, or vice versa on demand.
+ Also, enable disabling of directionality
+ ? Externalize inline CSS to promote clean HTML, proposed by Sander Tekelenburg
+ ? Remove redundant tags, ex. <u><u>Underlined</u></u>. Implementation notes:
+ 1. Analyzing which tags to remove duplicants
+ 2. Ensure attributes are merged into the parent tag
+ 3. Extend the tag exclusion system to specify whether or not the
+ contents should be dropped or not (currently, there's code that could do
+ something like this if it didn't drop the inner text too.)
+ ? Make AutoParagraph also support paragraph-izing double <br> tags, and not
+ just double newlines. This is kind of tough to do in the current framework,
+ though, and might be reasonably approximated by search replacing double <br>s
+ with newlines before running it through HTML Purifier.
+
+Maintenance related (slightly boring)
+ # CHMOD install script for PEAR installs
+ ! Factor out command line parser into its own class, and unit test it
+ - Reduce size of internal data-structures (esp. HTMLDefinition)
+ - Allow merging configurations. Thus,
+ a -> b -> default
+ c -> d -> default
+ becomes
+ a -> b -> c -> d -> default
+ Maybe allow more fine-grained tuning of this behavior. Alternatively,
+ encourage people to use short plist depths before building them up.
+ - Time PHPT tests
+
+ChildDef related (very boring)
+ - Abstract ChildDef_BlockQuote to work with all elements that only
+ allow blocks in them, required or optional
+ - Implement lenient <ruby> child validation
+
+Wontfix
+ - Non-lossy smart alternate character encoding transformations (unless
+ patch provided)
+ - Pretty-printing HTML: users can use Tidy on the output on entire page
+ - Native content compression, whitespace stripping: use gzip if this is
+ really important
+
+ vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/VERSION b/vendor/ezyang/htmlpurifier/VERSION
new file mode 100644
index 000000000..e94f14fa9
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/VERSION
@@ -0,0 +1 @@
+4.9.3 \ No newline at end of file
diff --git a/vendor/ezyang/htmlpurifier/WHATSNEW b/vendor/ezyang/htmlpurifier/WHATSNEW
new file mode 100644
index 000000000..810086f27
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/WHATSNEW
@@ -0,0 +1,13 @@
+HTML Purifier 4.9.x is a maintenance release, collecting a year
+of accumulated bug fixes plus a few new features. New features
+include support for min/max-width/height CSS, and rgba/hsl/hsla
+in color specifications. Major bugfixes include improvements
+in the Serializer cache to avoid chmod'ing directories, better
+entity decoding (we won't accidentally encode entities that occur
+in URLs) and rel="noopener" on links with target attributes,
+to prevent them from overwriting the original frame.
+
+4.9.3 works around an infinite loop bug in PHP 7.1 with the opcode
+cache (and has one other, minor bugfix, avoiding using autoloading
+when testing for DOMDocument presence). If these bugs do not
+affect you, you do not need to upgrade.
diff --git a/vendor/ezyang/htmlpurifier/WYSIWYG b/vendor/ezyang/htmlpurifier/WYSIWYG
new file mode 100644
index 000000000..c518aacdd
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/WYSIWYG
@@ -0,0 +1,20 @@
+
+WYSIWYG - What You See Is What You Get
+ HTML Purifier: A Pretty Good Fit for TinyMCE and FCKeditor
+
+Javascript-based WYSIWYG editors, simply stated, are quite amazing. But I've
+always been wary about using them due to security issues: they handle the
+client-side magic, but once you've been served a piping hot load of unfiltered
+HTML, what should be done then? In some situations, you can serve it uncleaned,
+since you only offer these facilities to trusted(?) authors.
+
+Unfortunantely, for blog comments and anonymous input, BBCode, Textile and
+other markup languages still reign supreme. Put simply: filtering HTML is
+hard work, and these WYSIWYG authors don't offer anything to alleviate that
+trouble. Therein lies the solution:
+
+HTML Purifier is perfect for filtering pure-HTML input from WYSIWYG editors.
+
+Enough said.
+
+ vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/composer.json b/vendor/ezyang/htmlpurifier/composer.json
new file mode 100644
index 000000000..80fee3db3
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/composer.json
@@ -0,0 +1,25 @@
+{
+ "name": "ezyang/htmlpurifier",
+ "description": "Standards compliant HTML filter written in PHP",
+ "type": "library",
+ "keywords": ["html"],
+ "homepage": "http://htmlpurifier.org/",
+ "license": "LGPL",
+ "authors": [
+ {
+ "name": "Edward Z. Yang",
+ "email": "admin@htmlpurifier.org",
+ "homepage": "http://ezyang.com"
+ }
+ ],
+ "require": {
+ "php": ">=5.2"
+ },
+ "require-dev": {
+ "simpletest/simpletest": "^1.1"
+ },
+ "autoload": {
+ "psr-0": { "HTMLPurifier": "library/" },
+ "files": ["library/HTMLPurifier.composer.php"]
+ }
+}
diff --git a/vendor/ezyang/htmlpurifier/extras/ConfigDoc/HTMLXSLTProcessor.php b/vendor/ezyang/htmlpurifier/extras/ConfigDoc/HTMLXSLTProcessor.php
new file mode 100644
index 000000000..1cfec5d76
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/extras/ConfigDoc/HTMLXSLTProcessor.php
@@ -0,0 +1,91 @@
+<?php
+
+/**
+ * Decorator/extender XSLT processor specifically for HTML documents.
+ */
+class ConfigDoc_HTMLXSLTProcessor
+{
+
+ /**
+ * Instance of XSLTProcessor
+ */
+ protected $xsltProcessor;
+
+ public function __construct($proc = false)
+ {
+ if ($proc === false) $proc = new XSLTProcessor();
+ $this->xsltProcessor = $proc;
+ }
+
+ /**
+ * @note Allows a string $xsl filename to be passed
+ */
+ public function importStylesheet($xsl)
+ {
+ if (is_string($xsl)) {
+ $xsl_file = $xsl;
+ $xsl = new DOMDocument();
+ $xsl->load($xsl_file);
+ }
+ return $this->xsltProcessor->importStylesheet($xsl);
+ }
+
+ /**
+ * Transforms an XML file into compatible XHTML based on the stylesheet
+ * @param $xml XML DOM tree, or string filename
+ * @return string HTML output
+ * @todo Rename to transformToXHTML, as transformToHTML is misleading
+ */
+ public function transformToHTML($xml)
+ {
+ if (is_string($xml)) {
+ $dom = new DOMDocument();
+ $dom->load($xml);
+ } else {
+ $dom = $xml;
+ }
+ $out = $this->xsltProcessor->transformToXML($dom);
+
+ // fudges for HTML backwards compatibility
+ // assumes that document is XHTML
+ $out = str_replace('/>', ' />', $out); // <br /> not <br/>
+ $out = str_replace(' xmlns=""', '', $out); // rm unnecessary xmlns
+
+ if (class_exists('Tidy')) {
+ // cleanup output
+ $config = array(
+ 'indent' => true,
+ 'output-xhtml' => true,
+ 'wrap' => 80
+ );
+ $tidy = new Tidy;
+ $tidy->parseString($out, $config, 'utf8');
+ $tidy->cleanRepair();
+ $out = (string) $tidy;
+ }
+
+ return $out;
+ }
+
+ /**
+ * Bulk sets parameters for the XSL stylesheet
+ * @param array $options Associative array of options to set
+ */
+ public function setParameters($options)
+ {
+ foreach ($options as $name => $value) {
+ $this->xsltProcessor->setParameter('', $name, $value);
+ }
+ }
+
+ /**
+ * Forward any other calls to the XSLT processor
+ */
+ public function __call($name, $arguments)
+ {
+ call_user_func_array(array($this->xsltProcessor, $name), $arguments);
+ }
+
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/extras/FSTools.php b/vendor/ezyang/htmlpurifier/extras/FSTools.php
new file mode 100644
index 000000000..ce0076316
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/extras/FSTools.php
@@ -0,0 +1,164 @@
+<?php
+
+/**
+ * Filesystem tools not provided by default; can recursively create, copy
+ * and delete folders. Some template methods are provided for extensibility.
+ *
+ * @note This class must be instantiated to be used, although it does
+ * not maintain state.
+ */
+class FSTools
+{
+
+ private static $singleton;
+
+ /**
+ * Returns a global instance of FSTools
+ */
+ public static function singleton()
+ {
+ if (empty(FSTools::$singleton)) FSTools::$singleton = new FSTools();
+ return FSTools::$singleton;
+ }
+
+ /**
+ * Sets our global singleton to something else; useful for overloading
+ * functions.
+ */
+ public static function setSingleton($singleton)
+ {
+ FSTools::$singleton = $singleton;
+ }
+
+ /**
+ * Recursively creates a directory
+ * @param string $folder Name of folder to create
+ * @note Adapted from the PHP manual comment 76612
+ */
+ public function mkdirr($folder)
+ {
+ $folders = preg_split("#[\\\\/]#", $folder);
+ $base = '';
+ for($i = 0, $c = count($folders); $i < $c; $i++) {
+ if(empty($folders[$i])) {
+ if (!$i) {
+ // special case for root level
+ $base .= DIRECTORY_SEPARATOR;
+ }
+ continue;
+ }
+ $base .= $folders[$i];
+ if(!is_dir($base)){
+ $this->mkdir($base);
+ }
+ $base .= DIRECTORY_SEPARATOR;
+ }
+ }
+
+ /**
+ * Copy a file, or recursively copy a folder and its contents; modified
+ * so that copied files, if PHP, have includes removed
+ * @note Adapted from http://aidanlister.com/repos/v/function.copyr.php
+ */
+ public function copyr($source, $dest)
+ {
+ // Simple copy for a file
+ if (is_file($source)) {
+ return $this->copy($source, $dest);
+ }
+ // Make destination directory
+ if (!is_dir($dest)) {
+ $this->mkdir($dest);
+ }
+ // Loop through the folder
+ $dir = $this->dir($source);
+ while ( false !== ($entry = $dir->read()) ) {
+ // Skip pointers
+ if ($entry == '.' || $entry == '..') {
+ continue;
+ }
+ if (!$this->copyable($entry)) {
+ continue;
+ }
+ // Deep copy directories
+ if ($dest !== "$source/$entry") {
+ $this->copyr("$source/$entry", "$dest/$entry");
+ }
+ }
+ // Clean up
+ $dir->close();
+ return true;
+ }
+
+ /**
+ * Overloadable function that tests a filename for copyability. By
+ * default, everything should be copied; you can restrict things to
+ * ignore hidden files, unreadable files, etc. This function
+ * applies to copyr().
+ */
+ public function copyable($file)
+ {
+ return true;
+ }
+
+ /**
+ * Delete a file, or a folder and its contents
+ * @note Adapted from http://aidanlister.com/repos/v/function.rmdirr.php
+ */
+ public function rmdirr($dirname)
+ {
+ // Sanity check
+ if (!$this->file_exists($dirname)) {
+ return false;
+ }
+
+ // Simple delete for a file
+ if ($this->is_file($dirname) || $this->is_link($dirname)) {
+ return $this->unlink($dirname);
+ }
+
+ // Loop through the folder
+ $dir = $this->dir($dirname);
+ while (false !== $entry = $dir->read()) {
+ // Skip pointers
+ if ($entry == '.' || $entry == '..') {
+ continue;
+ }
+ // Recurse
+ $this->rmdirr($dirname . DIRECTORY_SEPARATOR . $entry);
+ }
+
+ // Clean up
+ $dir->close();
+ return $this->rmdir($dirname);
+ }
+
+ /**
+ * Recursively globs a directory.
+ */
+ public function globr($dir, $pattern, $flags = NULL)
+ {
+ $files = $this->glob("$dir/$pattern", $flags);
+ if ($files === false) $files = array();
+ $sub_dirs = $this->glob("$dir/*", GLOB_ONLYDIR);
+ if ($sub_dirs === false) $sub_dirs = array();
+ foreach ($sub_dirs as $sub_dir) {
+ $sub_files = $this->globr($sub_dir, $pattern, $flags);
+ $files = array_merge($files, $sub_files);
+ }
+ return $files;
+ }
+
+ /**
+ * Allows for PHP functions to be called and be stubbed.
+ * @warning This function will not work for functions that need
+ * to pass references; manually define a stub function for those.
+ */
+ public function __call($name, $args)
+ {
+ return call_user_func_array($name, $args);
+ }
+
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/extras/FSTools/File.php b/vendor/ezyang/htmlpurifier/extras/FSTools/File.php
new file mode 100644
index 000000000..6453a7a45
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/extras/FSTools/File.php
@@ -0,0 +1,141 @@
+<?php
+
+/**
+ * Represents a file in the filesystem
+ *
+ * @warning Be sure to distinguish between get() and write() versus
+ * read() and put(), the former operates on the entire file, while
+ * the latter operates on a handle.
+ */
+class FSTools_File
+{
+
+ /** Filename of file this object represents */
+ protected $name;
+
+ /** Handle for the file */
+ protected $handle = false;
+
+ /** Instance of FSTools for interfacing with filesystem */
+ protected $fs;
+
+ /**
+ * Filename of file you wish to instantiate.
+ * @note This file need not exist
+ */
+ public function __construct($name, $fs = false)
+ {
+ $this->name = $name;
+ $this->fs = $fs ? $fs : FSTools::singleton();
+ }
+
+ /** Returns the filename of the file. */
+ public function getName() {return $this->name;}
+
+ /** Returns directory of the file without trailing slash */
+ public function getDirectory() {return $this->fs->dirname($this->name);}
+
+ /**
+ * Retrieves the contents of a file
+ * @todo Throw an exception if file doesn't exist
+ */
+ public function get()
+ {
+ return $this->fs->file_get_contents($this->name);
+ }
+
+ /** Writes contents to a file, creates new file if necessary */
+ public function write($contents)
+ {
+ return $this->fs->file_put_contents($this->name, $contents);
+ }
+
+ /** Deletes the file */
+ public function delete()
+ {
+ return $this->fs->unlink($this->name);
+ }
+
+ /** Returns true if file exists and is a file. */
+ public function exists()
+ {
+ return $this->fs->is_file($this->name);
+ }
+
+ /** Returns last file modification time */
+ public function getMTime()
+ {
+ return $this->fs->filemtime($this->name);
+ }
+
+ /**
+ * Chmod a file
+ * @note We ignore errors because of some weird owner trickery due
+ * to SVN duality
+ */
+ public function chmod($octal_code)
+ {
+ return @$this->fs->chmod($this->name, $octal_code);
+ }
+
+ /** Opens file's handle */
+ public function open($mode)
+ {
+ if ($this->handle) $this->close();
+ $this->handle = $this->fs->fopen($this->name, $mode);
+ return true;
+ }
+
+ /** Closes file's handle */
+ public function close()
+ {
+ if (!$this->handle) return false;
+ $status = $this->fs->fclose($this->handle);
+ $this->handle = false;
+ return $status;
+ }
+
+ /** Retrieves a line from an open file, with optional max length $length */
+ public function getLine($length = null)
+ {
+ if (!$this->handle) $this->open('r');
+ if ($length === null) return $this->fs->fgets($this->handle);
+ else return $this->fs->fgets($this->handle, $length);
+ }
+
+ /** Retrieves a character from an open file */
+ public function getChar()
+ {
+ if (!$this->handle) $this->open('r');
+ return $this->fs->fgetc($this->handle);
+ }
+
+ /** Retrieves an $length bytes of data from an open data */
+ public function read($length)
+ {
+ if (!$this->handle) $this->open('r');
+ return $this->fs->fread($this->handle, $length);
+ }
+
+ /** Writes to an open file */
+ public function put($string)
+ {
+ if (!$this->handle) $this->open('a');
+ return $this->fs->fwrite($this->handle, $string);
+ }
+
+ /** Returns TRUE if the end of the file has been reached */
+ public function eof()
+ {
+ if (!$this->handle) return true;
+ return $this->fs->feof($this->handle);
+ }
+
+ public function __destruct()
+ {
+ if ($this->handle) $this->close();
+ }
+
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/extras/HTMLPurifierExtras.auto.php b/vendor/ezyang/htmlpurifier/extras/HTMLPurifierExtras.auto.php
new file mode 100644
index 000000000..4016d8afd
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/extras/HTMLPurifierExtras.auto.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This is a stub include that automatically configures the include path.
+ */
+
+set_include_path(dirname(__FILE__) . PATH_SEPARATOR . get_include_path() );
+require_once 'HTMLPurifierExtras.php';
+require_once 'HTMLPurifierExtras.autoload.php';
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/extras/HTMLPurifierExtras.autoload.php b/vendor/ezyang/htmlpurifier/extras/HTMLPurifierExtras.autoload.php
new file mode 100644
index 000000000..de4a8aaaf
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/extras/HTMLPurifierExtras.autoload.php
@@ -0,0 +1,26 @@
+<?php
+
+/**
+ * @file
+ * Convenience file that registers autoload handler for HTML Purifier.
+ *
+ * @warning
+ * This autoloader does not contain the compatibility code seen in
+ * HTMLPurifier_Bootstrap; the user is expected to make any necessary
+ * changes to use this library.
+ */
+
+if (function_exists('spl_autoload_register')) {
+ spl_autoload_register(array('HTMLPurifierExtras', 'autoload'));
+ if (function_exists('__autoload')) {
+ // Be polite and ensure that userland autoload gets retained
+ spl_autoload_register('__autoload');
+ }
+} elseif (!function_exists('__autoload')) {
+ function __autoload($class)
+ {
+ return HTMLPurifierExtras::autoload($class);
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/extras/HTMLPurifierExtras.php b/vendor/ezyang/htmlpurifier/extras/HTMLPurifierExtras.php
new file mode 100644
index 000000000..35c2ca7e7
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/extras/HTMLPurifierExtras.php
@@ -0,0 +1,31 @@
+<?php
+
+/**
+ * Meta-class for HTML Purifier's extra class hierarchies, similar to
+ * HTMLPurifier_Bootstrap.
+ */
+class HTMLPurifierExtras
+{
+
+ public static function autoload($class)
+ {
+ $path = HTMLPurifierExtras::getPath($class);
+ if (!$path) return false;
+ require $path;
+ return true;
+ }
+
+ public static function getPath($class)
+ {
+ if (
+ strncmp('FSTools', $class, 7) !== 0 &&
+ strncmp('ConfigDoc', $class, 9) !== 0
+ ) return false;
+ // Custom implementations can go here
+ // Standard implementation:
+ return str_replace('_', '/', $class) . '.php';
+ }
+
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/extras/README b/vendor/ezyang/htmlpurifier/extras/README
new file mode 100644
index 000000000..4bfece79e
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/extras/README
@@ -0,0 +1,32 @@
+
+HTML Purifier Extras
+ The Method Behind The Madness!
+
+The extras/ folder in HTML Purifier contains--you guessed it--extra things
+for HTML Purifier. Specifically, these are two extra libraries called
+FSTools and ConfigSchema. They're extra for a reason: you don't need them
+if you're using HTML Purifier for normal usage: filtering HTML. However,
+if you're a developer, and would like to test HTML Purifier, or need to
+use one of HTML Purifier's maintenance scripts, chances are they'll need
+these libraries. Who knows: maybe you'll find them useful too!
+
+Here are the libraries:
+
+
+FSTools
+-------
+
+Short for File System Tools, this is a poor-man's object-oriented wrapper for
+the filesystem. It currently consists of two classes:
+
+- FSTools: This is a singleton that contains a manner of useful functions
+ such as recursive glob, directory removal, etc, as well as the ability
+ to call arbitrary native PHP functions through it like $FS->fopen(...).
+ This makes it a lot simpler to mock these filesystem calls for unit testing.
+
+- FSTools_File: This object represents a single file, and has almost any
+ method imaginable one would need.
+
+Check the files themselves for more information.
+
+ vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier.auto.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier.auto.php
new file mode 100644
index 000000000..1960c399f
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier.auto.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This is a stub include that automatically configures the include path.
+ */
+
+set_include_path(dirname(__FILE__) . PATH_SEPARATOR . get_include_path() );
+require_once 'HTMLPurifier/Bootstrap.php';
+require_once 'HTMLPurifier.autoload.php';
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier.autoload.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier.autoload.php
new file mode 100644
index 000000000..c3ea67e81
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier.autoload.php
@@ -0,0 +1,27 @@
+<?php
+
+/**
+ * @file
+ * Convenience file that registers autoload handler for HTML Purifier.
+ * It also does some sanity checks.
+ */
+
+if (function_exists('spl_autoload_register') && function_exists('spl_autoload_unregister')) {
+ // We need unregister for our pre-registering functionality
+ HTMLPurifier_Bootstrap::registerAutoload();
+ if (function_exists('__autoload')) {
+ // Be polite and ensure that userland autoload gets retained
+ spl_autoload_register('__autoload');
+ }
+} elseif (!function_exists('__autoload')) {
+ function __autoload($class)
+ {
+ return HTMLPurifier_Bootstrap::autoload($class);
+ }
+}
+
+if (ini_get('zend.ze1_compatibility_mode')) {
+ trigger_error("HTML Purifier is not compatible with zend.ze1_compatibility_mode; please turn it off", E_USER_ERROR);
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier.composer.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier.composer.php
new file mode 100644
index 000000000..52acc56b0
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier.composer.php
@@ -0,0 +1,4 @@
+<?php
+if (!defined('HTMLPURIFIER_PREFIX')) {
+ define('HTMLPURIFIER_PREFIX', dirname(__FILE__));
+}
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier.func.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier.func.php
new file mode 100644
index 000000000..64b140bec
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier.func.php
@@ -0,0 +1,25 @@
+<?php
+
+/**
+ * @file
+ * Defines a function wrapper for HTML Purifier for quick use.
+ * @note ''HTMLPurifier()'' is NOT the same as ''new HTMLPurifier()''
+ */
+
+/**
+ * Purify HTML.
+ * @param string $html String HTML to purify
+ * @param mixed $config Configuration to use, can be any value accepted by
+ * HTMLPurifier_Config::create()
+ * @return string
+ */
+function HTMLPurifier($html, $config = null)
+{
+ static $purifier = false;
+ if (!$purifier) {
+ $purifier = new HTMLPurifier();
+ }
+ return $purifier->purify($html, $config);
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier.includes.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier.includes.php
new file mode 100644
index 000000000..e8bce5c85
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier.includes.php
@@ -0,0 +1,234 @@
+<?php
+
+/**
+ * @file
+ * This file was auto-generated by generate-includes.php and includes all of
+ * the core files required by HTML Purifier. Use this if performance is a
+ * primary concern and you are using an opcode cache. PLEASE DO NOT EDIT THIS
+ * FILE, changes will be overwritten the next time the script is run.
+ *
+ * @version 4.9.3
+ *
+ * @warning
+ * You must *not* include any other HTML Purifier files before this file,
+ * because 'require' not 'require_once' is used.
+ *
+ * @warning
+ * This file requires that the include path contains the HTML Purifier
+ * library directory; this is not auto-set.
+ */
+
+require 'HTMLPurifier.php';
+require 'HTMLPurifier/Arborize.php';
+require 'HTMLPurifier/AttrCollections.php';
+require 'HTMLPurifier/AttrDef.php';
+require 'HTMLPurifier/AttrTransform.php';
+require 'HTMLPurifier/AttrTypes.php';
+require 'HTMLPurifier/AttrValidator.php';
+require 'HTMLPurifier/Bootstrap.php';
+require 'HTMLPurifier/Definition.php';
+require 'HTMLPurifier/CSSDefinition.php';
+require 'HTMLPurifier/ChildDef.php';
+require 'HTMLPurifier/Config.php';
+require 'HTMLPurifier/ConfigSchema.php';
+require 'HTMLPurifier/ContentSets.php';
+require 'HTMLPurifier/Context.php';
+require 'HTMLPurifier/DefinitionCache.php';
+require 'HTMLPurifier/DefinitionCacheFactory.php';
+require 'HTMLPurifier/Doctype.php';
+require 'HTMLPurifier/DoctypeRegistry.php';
+require 'HTMLPurifier/ElementDef.php';
+require 'HTMLPurifier/Encoder.php';
+require 'HTMLPurifier/EntityLookup.php';
+require 'HTMLPurifier/EntityParser.php';
+require 'HTMLPurifier/ErrorCollector.php';
+require 'HTMLPurifier/ErrorStruct.php';
+require 'HTMLPurifier/Exception.php';
+require 'HTMLPurifier/Filter.php';
+require 'HTMLPurifier/Generator.php';
+require 'HTMLPurifier/HTMLDefinition.php';
+require 'HTMLPurifier/HTMLModule.php';
+require 'HTMLPurifier/HTMLModuleManager.php';
+require 'HTMLPurifier/IDAccumulator.php';
+require 'HTMLPurifier/Injector.php';
+require 'HTMLPurifier/Language.php';
+require 'HTMLPurifier/LanguageFactory.php';
+require 'HTMLPurifier/Length.php';
+require 'HTMLPurifier/Lexer.php';
+require 'HTMLPurifier/Node.php';
+require 'HTMLPurifier/PercentEncoder.php';
+require 'HTMLPurifier/PropertyList.php';
+require 'HTMLPurifier/PropertyListIterator.php';
+require 'HTMLPurifier/Queue.php';
+require 'HTMLPurifier/Strategy.php';
+require 'HTMLPurifier/StringHash.php';
+require 'HTMLPurifier/StringHashParser.php';
+require 'HTMLPurifier/TagTransform.php';
+require 'HTMLPurifier/Token.php';
+require 'HTMLPurifier/TokenFactory.php';
+require 'HTMLPurifier/URI.php';
+require 'HTMLPurifier/URIDefinition.php';
+require 'HTMLPurifier/URIFilter.php';
+require 'HTMLPurifier/URIParser.php';
+require 'HTMLPurifier/URIScheme.php';
+require 'HTMLPurifier/URISchemeRegistry.php';
+require 'HTMLPurifier/UnitConverter.php';
+require 'HTMLPurifier/VarParser.php';
+require 'HTMLPurifier/VarParserException.php';
+require 'HTMLPurifier/Zipper.php';
+require 'HTMLPurifier/AttrDef/CSS.php';
+require 'HTMLPurifier/AttrDef/Clone.php';
+require 'HTMLPurifier/AttrDef/Enum.php';
+require 'HTMLPurifier/AttrDef/Integer.php';
+require 'HTMLPurifier/AttrDef/Lang.php';
+require 'HTMLPurifier/AttrDef/Switch.php';
+require 'HTMLPurifier/AttrDef/Text.php';
+require 'HTMLPurifier/AttrDef/URI.php';
+require 'HTMLPurifier/AttrDef/CSS/Number.php';
+require 'HTMLPurifier/AttrDef/CSS/AlphaValue.php';
+require 'HTMLPurifier/AttrDef/CSS/Background.php';
+require 'HTMLPurifier/AttrDef/CSS/BackgroundPosition.php';
+require 'HTMLPurifier/AttrDef/CSS/Border.php';
+require 'HTMLPurifier/AttrDef/CSS/Color.php';
+require 'HTMLPurifier/AttrDef/CSS/Composite.php';
+require 'HTMLPurifier/AttrDef/CSS/DenyElementDecorator.php';
+require 'HTMLPurifier/AttrDef/CSS/Filter.php';
+require 'HTMLPurifier/AttrDef/CSS/Font.php';
+require 'HTMLPurifier/AttrDef/CSS/FontFamily.php';
+require 'HTMLPurifier/AttrDef/CSS/Ident.php';
+require 'HTMLPurifier/AttrDef/CSS/ImportantDecorator.php';
+require 'HTMLPurifier/AttrDef/CSS/Length.php';
+require 'HTMLPurifier/AttrDef/CSS/ListStyle.php';
+require 'HTMLPurifier/AttrDef/CSS/Multiple.php';
+require 'HTMLPurifier/AttrDef/CSS/Percentage.php';
+require 'HTMLPurifier/AttrDef/CSS/TextDecoration.php';
+require 'HTMLPurifier/AttrDef/CSS/URI.php';
+require 'HTMLPurifier/AttrDef/HTML/Bool.php';
+require 'HTMLPurifier/AttrDef/HTML/Nmtokens.php';
+require 'HTMLPurifier/AttrDef/HTML/Class.php';
+require 'HTMLPurifier/AttrDef/HTML/Color.php';
+require 'HTMLPurifier/AttrDef/HTML/FrameTarget.php';
+require 'HTMLPurifier/AttrDef/HTML/ID.php';
+require 'HTMLPurifier/AttrDef/HTML/Pixels.php';
+require 'HTMLPurifier/AttrDef/HTML/Length.php';
+require 'HTMLPurifier/AttrDef/HTML/LinkTypes.php';
+require 'HTMLPurifier/AttrDef/HTML/MultiLength.php';
+require 'HTMLPurifier/AttrDef/URI/Email.php';
+require 'HTMLPurifier/AttrDef/URI/Host.php';
+require 'HTMLPurifier/AttrDef/URI/IPv4.php';
+require 'HTMLPurifier/AttrDef/URI/IPv6.php';
+require 'HTMLPurifier/AttrDef/URI/Email/SimpleCheck.php';
+require 'HTMLPurifier/AttrTransform/Background.php';
+require 'HTMLPurifier/AttrTransform/BdoDir.php';
+require 'HTMLPurifier/AttrTransform/BgColor.php';
+require 'HTMLPurifier/AttrTransform/BoolToCSS.php';
+require 'HTMLPurifier/AttrTransform/Border.php';
+require 'HTMLPurifier/AttrTransform/EnumToCSS.php';
+require 'HTMLPurifier/AttrTransform/ImgRequired.php';
+require 'HTMLPurifier/AttrTransform/ImgSpace.php';
+require 'HTMLPurifier/AttrTransform/Input.php';
+require 'HTMLPurifier/AttrTransform/Lang.php';
+require 'HTMLPurifier/AttrTransform/Length.php';
+require 'HTMLPurifier/AttrTransform/Name.php';
+require 'HTMLPurifier/AttrTransform/NameSync.php';
+require 'HTMLPurifier/AttrTransform/Nofollow.php';
+require 'HTMLPurifier/AttrTransform/SafeEmbed.php';
+require 'HTMLPurifier/AttrTransform/SafeObject.php';
+require 'HTMLPurifier/AttrTransform/SafeParam.php';
+require 'HTMLPurifier/AttrTransform/ScriptRequired.php';
+require 'HTMLPurifier/AttrTransform/TargetBlank.php';
+require 'HTMLPurifier/AttrTransform/TargetNoopener.php';
+require 'HTMLPurifier/AttrTransform/TargetNoreferrer.php';
+require 'HTMLPurifier/AttrTransform/Textarea.php';
+require 'HTMLPurifier/ChildDef/Chameleon.php';
+require 'HTMLPurifier/ChildDef/Custom.php';
+require 'HTMLPurifier/ChildDef/Empty.php';
+require 'HTMLPurifier/ChildDef/List.php';
+require 'HTMLPurifier/ChildDef/Required.php';
+require 'HTMLPurifier/ChildDef/Optional.php';
+require 'HTMLPurifier/ChildDef/StrictBlockquote.php';
+require 'HTMLPurifier/ChildDef/Table.php';
+require 'HTMLPurifier/DefinitionCache/Decorator.php';
+require 'HTMLPurifier/DefinitionCache/Null.php';
+require 'HTMLPurifier/DefinitionCache/Serializer.php';
+require 'HTMLPurifier/DefinitionCache/Decorator/Cleanup.php';
+require 'HTMLPurifier/DefinitionCache/Decorator/Memory.php';
+require 'HTMLPurifier/HTMLModule/Bdo.php';
+require 'HTMLPurifier/HTMLModule/CommonAttributes.php';
+require 'HTMLPurifier/HTMLModule/Edit.php';
+require 'HTMLPurifier/HTMLModule/Forms.php';
+require 'HTMLPurifier/HTMLModule/Hypertext.php';
+require 'HTMLPurifier/HTMLModule/Iframe.php';
+require 'HTMLPurifier/HTMLModule/Image.php';
+require 'HTMLPurifier/HTMLModule/Legacy.php';
+require 'HTMLPurifier/HTMLModule/List.php';
+require 'HTMLPurifier/HTMLModule/Name.php';
+require 'HTMLPurifier/HTMLModule/Nofollow.php';
+require 'HTMLPurifier/HTMLModule/NonXMLCommonAttributes.php';
+require 'HTMLPurifier/HTMLModule/Object.php';
+require 'HTMLPurifier/HTMLModule/Presentation.php';
+require 'HTMLPurifier/HTMLModule/Proprietary.php';
+require 'HTMLPurifier/HTMLModule/Ruby.php';
+require 'HTMLPurifier/HTMLModule/SafeEmbed.php';
+require 'HTMLPurifier/HTMLModule/SafeObject.php';
+require 'HTMLPurifier/HTMLModule/SafeScripting.php';
+require 'HTMLPurifier/HTMLModule/Scripting.php';
+require 'HTMLPurifier/HTMLModule/StyleAttribute.php';
+require 'HTMLPurifier/HTMLModule/Tables.php';
+require 'HTMLPurifier/HTMLModule/Target.php';
+require 'HTMLPurifier/HTMLModule/TargetBlank.php';
+require 'HTMLPurifier/HTMLModule/TargetNoopener.php';
+require 'HTMLPurifier/HTMLModule/TargetNoreferrer.php';
+require 'HTMLPurifier/HTMLModule/Text.php';
+require 'HTMLPurifier/HTMLModule/Tidy.php';
+require 'HTMLPurifier/HTMLModule/XMLCommonAttributes.php';
+require 'HTMLPurifier/HTMLModule/Tidy/Name.php';
+require 'HTMLPurifier/HTMLModule/Tidy/Proprietary.php';
+require 'HTMLPurifier/HTMLModule/Tidy/XHTMLAndHTML4.php';
+require 'HTMLPurifier/HTMLModule/Tidy/Strict.php';
+require 'HTMLPurifier/HTMLModule/Tidy/Transitional.php';
+require 'HTMLPurifier/HTMLModule/Tidy/XHTML.php';
+require 'HTMLPurifier/Injector/AutoParagraph.php';
+require 'HTMLPurifier/Injector/DisplayLinkURI.php';
+require 'HTMLPurifier/Injector/Linkify.php';
+require 'HTMLPurifier/Injector/PurifierLinkify.php';
+require 'HTMLPurifier/Injector/RemoveEmpty.php';
+require 'HTMLPurifier/Injector/RemoveSpansWithoutAttributes.php';
+require 'HTMLPurifier/Injector/SafeObject.php';
+require 'HTMLPurifier/Lexer/DOMLex.php';
+require 'HTMLPurifier/Lexer/DirectLex.php';
+require 'HTMLPurifier/Node/Comment.php';
+require 'HTMLPurifier/Node/Element.php';
+require 'HTMLPurifier/Node/Text.php';
+require 'HTMLPurifier/Strategy/Composite.php';
+require 'HTMLPurifier/Strategy/Core.php';
+require 'HTMLPurifier/Strategy/FixNesting.php';
+require 'HTMLPurifier/Strategy/MakeWellFormed.php';
+require 'HTMLPurifier/Strategy/RemoveForeignElements.php';
+require 'HTMLPurifier/Strategy/ValidateAttributes.php';
+require 'HTMLPurifier/TagTransform/Font.php';
+require 'HTMLPurifier/TagTransform/Simple.php';
+require 'HTMLPurifier/Token/Comment.php';
+require 'HTMLPurifier/Token/Tag.php';
+require 'HTMLPurifier/Token/Empty.php';
+require 'HTMLPurifier/Token/End.php';
+require 'HTMLPurifier/Token/Start.php';
+require 'HTMLPurifier/Token/Text.php';
+require 'HTMLPurifier/URIFilter/DisableExternal.php';
+require 'HTMLPurifier/URIFilter/DisableExternalResources.php';
+require 'HTMLPurifier/URIFilter/DisableResources.php';
+require 'HTMLPurifier/URIFilter/HostBlacklist.php';
+require 'HTMLPurifier/URIFilter/MakeAbsolute.php';
+require 'HTMLPurifier/URIFilter/Munge.php';
+require 'HTMLPurifier/URIFilter/SafeIframe.php';
+require 'HTMLPurifier/URIScheme/data.php';
+require 'HTMLPurifier/URIScheme/file.php';
+require 'HTMLPurifier/URIScheme/ftp.php';
+require 'HTMLPurifier/URIScheme/http.php';
+require 'HTMLPurifier/URIScheme/https.php';
+require 'HTMLPurifier/URIScheme/mailto.php';
+require 'HTMLPurifier/URIScheme/news.php';
+require 'HTMLPurifier/URIScheme/nntp.php';
+require 'HTMLPurifier/URIScheme/tel.php';
+require 'HTMLPurifier/VarParser/Flexible.php';
+require 'HTMLPurifier/VarParser/Native.php';
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier.kses.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier.kses.php
new file mode 100644
index 000000000..752290077
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier.kses.php
@@ -0,0 +1,30 @@
+<?php
+
+/**
+ * @file
+ * Emulation layer for code that used kses(), substituting in HTML Purifier.
+ */
+
+require_once dirname(__FILE__) . '/HTMLPurifier.auto.php';
+
+function kses($string, $allowed_html, $allowed_protocols = null)
+{
+ $config = HTMLPurifier_Config::createDefault();
+ $allowed_elements = array();
+ $allowed_attributes = array();
+ foreach ($allowed_html as $element => $attributes) {
+ $allowed_elements[$element] = true;
+ foreach ($attributes as $attribute => $x) {
+ $allowed_attributes["$element.$attribute"] = true;
+ }
+ }
+ $config->set('HTML.AllowedElements', $allowed_elements);
+ $config->set('HTML.AllowedAttributes', $allowed_attributes);
+ if ($allowed_protocols !== null) {
+ $config->set('URI.AllowedSchemes', $allowed_protocols);
+ }
+ $purifier = new HTMLPurifier($config);
+ return $purifier->purify($string);
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier.path.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier.path.php
new file mode 100644
index 000000000..39b1b6531
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier.path.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * @file
+ * Convenience stub file that adds HTML Purifier's library file to the path
+ * without any other side-effects.
+ */
+
+set_include_path(dirname(__FILE__) . PATH_SEPARATOR . get_include_path() );
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier.php
new file mode 100644
index 000000000..b4605ebc6
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier.php
@@ -0,0 +1,292 @@
+<?php
+
+/*! @mainpage
+ *
+ * HTML Purifier is an HTML filter that will take an arbitrary snippet of
+ * HTML and rigorously test, validate and filter it into a version that
+ * is safe for output onto webpages. It achieves this by:
+ *
+ * -# Lexing (parsing into tokens) the document,
+ * -# Executing various strategies on the tokens:
+ * -# Removing all elements not in the whitelist,
+ * -# Making the tokens well-formed,
+ * -# Fixing the nesting of the nodes, and
+ * -# Validating attributes of the nodes; and
+ * -# Generating HTML from the purified tokens.
+ *
+ * However, most users will only need to interface with the HTMLPurifier
+ * and HTMLPurifier_Config.
+ */
+
+/*
+ HTML Purifier 4.9.3 - Standards Compliant HTML Filtering
+ Copyright (C) 2006-2008 Edward Z. Yang
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+/**
+ * Facade that coordinates HTML Purifier's subsystems in order to purify HTML.
+ *
+ * @note There are several points in which configuration can be specified
+ * for HTML Purifier. The precedence of these (from lowest to
+ * highest) is as follows:
+ * -# Instance: new HTMLPurifier($config)
+ * -# Invocation: purify($html, $config)
+ * These configurations are entirely independent of each other and
+ * are *not* merged (this behavior may change in the future).
+ *
+ * @todo We need an easier way to inject strategies using the configuration
+ * object.
+ */
+class HTMLPurifier
+{
+
+ /**
+ * Version of HTML Purifier.
+ * @type string
+ */
+ public $version = '4.9.3';
+
+ /**
+ * Constant with version of HTML Purifier.
+ */
+ const VERSION = '4.9.3';
+
+ /**
+ * Global configuration object.
+ * @type HTMLPurifier_Config
+ */
+ public $config;
+
+ /**
+ * Array of extra filter objects to run on HTML,
+ * for backwards compatibility.
+ * @type HTMLPurifier_Filter[]
+ */
+ private $filters = array();
+
+ /**
+ * Single instance of HTML Purifier.
+ * @type HTMLPurifier
+ */
+ private static $instance;
+
+ /**
+ * @type HTMLPurifier_Strategy_Core
+ */
+ protected $strategy;
+
+ /**
+ * @type HTMLPurifier_Generator
+ */
+ protected $generator;
+
+ /**
+ * Resultant context of last run purification.
+ * Is an array of contexts if the last called method was purifyArray().
+ * @type HTMLPurifier_Context
+ */
+ public $context;
+
+ /**
+ * Initializes the purifier.
+ *
+ * @param HTMLPurifier_Config|mixed $config Optional HTMLPurifier_Config object
+ * for all instances of the purifier, if omitted, a default
+ * configuration is supplied (which can be overridden on a
+ * per-use basis).
+ * The parameter can also be any type that
+ * HTMLPurifier_Config::create() supports.
+ */
+ public function __construct($config = null)
+ {
+ $this->config = HTMLPurifier_Config::create($config);
+ $this->strategy = new HTMLPurifier_Strategy_Core();
+ }
+
+ /**
+ * Adds a filter to process the output. First come first serve
+ *
+ * @param HTMLPurifier_Filter $filter HTMLPurifier_Filter object
+ */
+ public function addFilter($filter)
+ {
+ trigger_error(
+ 'HTMLPurifier->addFilter() is deprecated, use configuration directives' .
+ ' in the Filter namespace or Filter.Custom',
+ E_USER_WARNING
+ );
+ $this->filters[] = $filter;
+ }
+
+ /**
+ * Filters an HTML snippet/document to be XSS-free and standards-compliant.
+ *
+ * @param string $html String of HTML to purify
+ * @param HTMLPurifier_Config $config Config object for this operation,
+ * if omitted, defaults to the config object specified during this
+ * object's construction. The parameter can also be any type
+ * that HTMLPurifier_Config::create() supports.
+ *
+ * @return string Purified HTML
+ */
+ public function purify($html, $config = null)
+ {
+ // :TODO: make the config merge in, instead of replace
+ $config = $config ? HTMLPurifier_Config::create($config) : $this->config;
+
+ // implementation is partially environment dependant, partially
+ // configuration dependant
+ $lexer = HTMLPurifier_Lexer::create($config);
+
+ $context = new HTMLPurifier_Context();
+
+ // setup HTML generator
+ $this->generator = new HTMLPurifier_Generator($config, $context);
+ $context->register('Generator', $this->generator);
+
+ // set up global context variables
+ if ($config->get('Core.CollectErrors')) {
+ // may get moved out if other facilities use it
+ $language_factory = HTMLPurifier_LanguageFactory::instance();
+ $language = $language_factory->create($config, $context);
+ $context->register('Locale', $language);
+
+ $error_collector = new HTMLPurifier_ErrorCollector($context);
+ $context->register('ErrorCollector', $error_collector);
+ }
+
+ // setup id_accumulator context, necessary due to the fact that
+ // AttrValidator can be called from many places
+ $id_accumulator = HTMLPurifier_IDAccumulator::build($config, $context);
+ $context->register('IDAccumulator', $id_accumulator);
+
+ $html = HTMLPurifier_Encoder::convertToUTF8($html, $config, $context);
+
+ // setup filters
+ $filter_flags = $config->getBatch('Filter');
+ $custom_filters = $filter_flags['Custom'];
+ unset($filter_flags['Custom']);
+ $filters = array();
+ foreach ($filter_flags as $filter => $flag) {
+ if (!$flag) {
+ continue;
+ }
+ if (strpos($filter, '.') !== false) {
+ continue;
+ }
+ $class = "HTMLPurifier_Filter_$filter";
+ $filters[] = new $class;
+ }
+ foreach ($custom_filters as $filter) {
+ // maybe "HTMLPurifier_Filter_$filter", but be consistent with AutoFormat
+ $filters[] = $filter;
+ }
+ $filters = array_merge($filters, $this->filters);
+ // maybe prepare(), but later
+
+ for ($i = 0, $filter_size = count($filters); $i < $filter_size; $i++) {
+ $html = $filters[$i]->preFilter($html, $config, $context);
+ }
+
+ // purified HTML
+ $html =
+ $this->generator->generateFromTokens(
+ // list of tokens
+ $this->strategy->execute(
+ // list of un-purified tokens
+ $lexer->tokenizeHTML(
+ // un-purified HTML
+ $html,
+ $config,
+ $context
+ ),
+ $config,
+ $context
+ )
+ );
+
+ for ($i = $filter_size - 1; $i >= 0; $i--) {
+ $html = $filters[$i]->postFilter($html, $config, $context);
+ }
+
+ $html = HTMLPurifier_Encoder::convertFromUTF8($html, $config, $context);
+ $this->context =& $context;
+ return $html;
+ }
+
+ /**
+ * Filters an array of HTML snippets
+ *
+ * @param string[] $array_of_html Array of html snippets
+ * @param HTMLPurifier_Config $config Optional config object for this operation.
+ * See HTMLPurifier::purify() for more details.
+ *
+ * @return string[] Array of purified HTML
+ */
+ public function purifyArray($array_of_html, $config = null)
+ {
+ $context_array = array();
+ foreach ($array_of_html as $key => $html) {
+ $array_of_html[$key] = $this->purify($html, $config);
+ $context_array[$key] = $this->context;
+ }
+ $this->context = $context_array;
+ return $array_of_html;
+ }
+
+ /**
+ * Singleton for enforcing just one HTML Purifier in your system
+ *
+ * @param HTMLPurifier|HTMLPurifier_Config $prototype Optional prototype
+ * HTMLPurifier instance to overload singleton with,
+ * or HTMLPurifier_Config instance to configure the
+ * generated version with.
+ *
+ * @return HTMLPurifier
+ */
+ public static function instance($prototype = null)
+ {
+ if (!self::$instance || $prototype) {
+ if ($prototype instanceof HTMLPurifier) {
+ self::$instance = $prototype;
+ } elseif ($prototype) {
+ self::$instance = new HTMLPurifier($prototype);
+ } else {
+ self::$instance = new HTMLPurifier();
+ }
+ }
+ return self::$instance;
+ }
+
+ /**
+ * Singleton for enforcing just one HTML Purifier in your system
+ *
+ * @param HTMLPurifier|HTMLPurifier_Config $prototype Optional prototype
+ * HTMLPurifier instance to overload singleton with,
+ * or HTMLPurifier_Config instance to configure the
+ * generated version with.
+ *
+ * @return HTMLPurifier
+ * @note Backwards compatibility, see instance()
+ */
+ public static function getInstance($prototype = null)
+ {
+ return HTMLPurifier::instance($prototype);
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier.safe-includes.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier.safe-includes.php
new file mode 100644
index 000000000..a3261f8a3
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier.safe-includes.php
@@ -0,0 +1,228 @@
+<?php
+
+/**
+ * @file
+ * This file was auto-generated by generate-includes.php and includes all of
+ * the core files required by HTML Purifier. This is a convenience stub that
+ * includes all files using dirname(__FILE__) and require_once. PLEASE DO NOT
+ * EDIT THIS FILE, changes will be overwritten the next time the script is run.
+ *
+ * Changes to include_path are not necessary.
+ */
+
+$__dir = dirname(__FILE__);
+
+require_once $__dir . '/HTMLPurifier.php';
+require_once $__dir . '/HTMLPurifier/Arborize.php';
+require_once $__dir . '/HTMLPurifier/AttrCollections.php';
+require_once $__dir . '/HTMLPurifier/AttrDef.php';
+require_once $__dir . '/HTMLPurifier/AttrTransform.php';
+require_once $__dir . '/HTMLPurifier/AttrTypes.php';
+require_once $__dir . '/HTMLPurifier/AttrValidator.php';
+require_once $__dir . '/HTMLPurifier/Bootstrap.php';
+require_once $__dir . '/HTMLPurifier/Definition.php';
+require_once $__dir . '/HTMLPurifier/CSSDefinition.php';
+require_once $__dir . '/HTMLPurifier/ChildDef.php';
+require_once $__dir . '/HTMLPurifier/Config.php';
+require_once $__dir . '/HTMLPurifier/ConfigSchema.php';
+require_once $__dir . '/HTMLPurifier/ContentSets.php';
+require_once $__dir . '/HTMLPurifier/Context.php';
+require_once $__dir . '/HTMLPurifier/DefinitionCache.php';
+require_once $__dir . '/HTMLPurifier/DefinitionCacheFactory.php';
+require_once $__dir . '/HTMLPurifier/Doctype.php';
+require_once $__dir . '/HTMLPurifier/DoctypeRegistry.php';
+require_once $__dir . '/HTMLPurifier/ElementDef.php';
+require_once $__dir . '/HTMLPurifier/Encoder.php';
+require_once $__dir . '/HTMLPurifier/EntityLookup.php';
+require_once $__dir . '/HTMLPurifier/EntityParser.php';
+require_once $__dir . '/HTMLPurifier/ErrorCollector.php';
+require_once $__dir . '/HTMLPurifier/ErrorStruct.php';
+require_once $__dir . '/HTMLPurifier/Exception.php';
+require_once $__dir . '/HTMLPurifier/Filter.php';
+require_once $__dir . '/HTMLPurifier/Generator.php';
+require_once $__dir . '/HTMLPurifier/HTMLDefinition.php';
+require_once $__dir . '/HTMLPurifier/HTMLModule.php';
+require_once $__dir . '/HTMLPurifier/HTMLModuleManager.php';
+require_once $__dir . '/HTMLPurifier/IDAccumulator.php';
+require_once $__dir . '/HTMLPurifier/Injector.php';
+require_once $__dir . '/HTMLPurifier/Language.php';
+require_once $__dir . '/HTMLPurifier/LanguageFactory.php';
+require_once $__dir . '/HTMLPurifier/Length.php';
+require_once $__dir . '/HTMLPurifier/Lexer.php';
+require_once $__dir . '/HTMLPurifier/Node.php';
+require_once $__dir . '/HTMLPurifier/PercentEncoder.php';
+require_once $__dir . '/HTMLPurifier/PropertyList.php';
+require_once $__dir . '/HTMLPurifier/PropertyListIterator.php';
+require_once $__dir . '/HTMLPurifier/Queue.php';
+require_once $__dir . '/HTMLPurifier/Strategy.php';
+require_once $__dir . '/HTMLPurifier/StringHash.php';
+require_once $__dir . '/HTMLPurifier/StringHashParser.php';
+require_once $__dir . '/HTMLPurifier/TagTransform.php';
+require_once $__dir . '/HTMLPurifier/Token.php';
+require_once $__dir . '/HTMLPurifier/TokenFactory.php';
+require_once $__dir . '/HTMLPurifier/URI.php';
+require_once $__dir . '/HTMLPurifier/URIDefinition.php';
+require_once $__dir . '/HTMLPurifier/URIFilter.php';
+require_once $__dir . '/HTMLPurifier/URIParser.php';
+require_once $__dir . '/HTMLPurifier/URIScheme.php';
+require_once $__dir . '/HTMLPurifier/URISchemeRegistry.php';
+require_once $__dir . '/HTMLPurifier/UnitConverter.php';
+require_once $__dir . '/HTMLPurifier/VarParser.php';
+require_once $__dir . '/HTMLPurifier/VarParserException.php';
+require_once $__dir . '/HTMLPurifier/Zipper.php';
+require_once $__dir . '/HTMLPurifier/AttrDef/CSS.php';
+require_once $__dir . '/HTMLPurifier/AttrDef/Clone.php';
+require_once $__dir . '/HTMLPurifier/AttrDef/Enum.php';
+require_once $__dir . '/HTMLPurifier/AttrDef/Integer.php';
+require_once $__dir . '/HTMLPurifier/AttrDef/Lang.php';
+require_once $__dir . '/HTMLPurifier/AttrDef/Switch.php';
+require_once $__dir . '/HTMLPurifier/AttrDef/Text.php';
+require_once $__dir . '/HTMLPurifier/AttrDef/URI.php';
+require_once $__dir . '/HTMLPurifier/AttrDef/CSS/Number.php';
+require_once $__dir . '/HTMLPurifier/AttrDef/CSS/AlphaValue.php';
+require_once $__dir . '/HTMLPurifier/AttrDef/CSS/Background.php';
+require_once $__dir . '/HTMLPurifier/AttrDef/CSS/BackgroundPosition.php';
+require_once $__dir . '/HTMLPurifier/AttrDef/CSS/Border.php';
+require_once $__dir . '/HTMLPurifier/AttrDef/CSS/Color.php';
+require_once $__dir . '/HTMLPurifier/AttrDef/CSS/Composite.php';
+require_once $__dir . '/HTMLPurifier/AttrDef/CSS/DenyElementDecorator.php';
+require_once $__dir . '/HTMLPurifier/AttrDef/CSS/Filter.php';
+require_once $__dir . '/HTMLPurifier/AttrDef/CSS/Font.php';
+require_once $__dir . '/HTMLPurifier/AttrDef/CSS/FontFamily.php';
+require_once $__dir . '/HTMLPurifier/AttrDef/CSS/Ident.php';
+require_once $__dir . '/HTMLPurifier/AttrDef/CSS/ImportantDecorator.php';
+require_once $__dir . '/HTMLPurifier/AttrDef/CSS/Length.php';
+require_once $__dir . '/HTMLPurifier/AttrDef/CSS/ListStyle.php';
+require_once $__dir . '/HTMLPurifier/AttrDef/CSS/Multiple.php';
+require_once $__dir . '/HTMLPurifier/AttrDef/CSS/Percentage.php';
+require_once $__dir . '/HTMLPurifier/AttrDef/CSS/TextDecoration.php';
+require_once $__dir . '/HTMLPurifier/AttrDef/CSS/URI.php';
+require_once $__dir . '/HTMLPurifier/AttrDef/HTML/Bool.php';
+require_once $__dir . '/HTMLPurifier/AttrDef/HTML/Nmtokens.php';
+require_once $__dir . '/HTMLPurifier/AttrDef/HTML/Class.php';
+require_once $__dir . '/HTMLPurifier/AttrDef/HTML/Color.php';
+require_once $__dir . '/HTMLPurifier/AttrDef/HTML/FrameTarget.php';
+require_once $__dir . '/HTMLPurifier/AttrDef/HTML/ID.php';
+require_once $__dir . '/HTMLPurifier/AttrDef/HTML/Pixels.php';
+require_once $__dir . '/HTMLPurifier/AttrDef/HTML/Length.php';
+require_once $__dir . '/HTMLPurifier/AttrDef/HTML/LinkTypes.php';
+require_once $__dir . '/HTMLPurifier/AttrDef/HTML/MultiLength.php';
+require_once $__dir . '/HTMLPurifier/AttrDef/URI/Email.php';
+require_once $__dir . '/HTMLPurifier/AttrDef/URI/Host.php';
+require_once $__dir . '/HTMLPurifier/AttrDef/URI/IPv4.php';
+require_once $__dir . '/HTMLPurifier/AttrDef/URI/IPv6.php';
+require_once $__dir . '/HTMLPurifier/AttrDef/URI/Email/SimpleCheck.php';
+require_once $__dir . '/HTMLPurifier/AttrTransform/Background.php';
+require_once $__dir . '/HTMLPurifier/AttrTransform/BdoDir.php';
+require_once $__dir . '/HTMLPurifier/AttrTransform/BgColor.php';
+require_once $__dir . '/HTMLPurifier/AttrTransform/BoolToCSS.php';
+require_once $__dir . '/HTMLPurifier/AttrTransform/Border.php';
+require_once $__dir . '/HTMLPurifier/AttrTransform/EnumToCSS.php';
+require_once $__dir . '/HTMLPurifier/AttrTransform/ImgRequired.php';
+require_once $__dir . '/HTMLPurifier/AttrTransform/ImgSpace.php';
+require_once $__dir . '/HTMLPurifier/AttrTransform/Input.php';
+require_once $__dir . '/HTMLPurifier/AttrTransform/Lang.php';
+require_once $__dir . '/HTMLPurifier/AttrTransform/Length.php';
+require_once $__dir . '/HTMLPurifier/AttrTransform/Name.php';
+require_once $__dir . '/HTMLPurifier/AttrTransform/NameSync.php';
+require_once $__dir . '/HTMLPurifier/AttrTransform/Nofollow.php';
+require_once $__dir . '/HTMLPurifier/AttrTransform/SafeEmbed.php';
+require_once $__dir . '/HTMLPurifier/AttrTransform/SafeObject.php';
+require_once $__dir . '/HTMLPurifier/AttrTransform/SafeParam.php';
+require_once $__dir . '/HTMLPurifier/AttrTransform/ScriptRequired.php';
+require_once $__dir . '/HTMLPurifier/AttrTransform/TargetBlank.php';
+require_once $__dir . '/HTMLPurifier/AttrTransform/TargetNoopener.php';
+require_once $__dir . '/HTMLPurifier/AttrTransform/TargetNoreferrer.php';
+require_once $__dir . '/HTMLPurifier/AttrTransform/Textarea.php';
+require_once $__dir . '/HTMLPurifier/ChildDef/Chameleon.php';
+require_once $__dir . '/HTMLPurifier/ChildDef/Custom.php';
+require_once $__dir . '/HTMLPurifier/ChildDef/Empty.php';
+require_once $__dir . '/HTMLPurifier/ChildDef/List.php';
+require_once $__dir . '/HTMLPurifier/ChildDef/Required.php';
+require_once $__dir . '/HTMLPurifier/ChildDef/Optional.php';
+require_once $__dir . '/HTMLPurifier/ChildDef/StrictBlockquote.php';
+require_once $__dir . '/HTMLPurifier/ChildDef/Table.php';
+require_once $__dir . '/HTMLPurifier/DefinitionCache/Decorator.php';
+require_once $__dir . '/HTMLPurifier/DefinitionCache/Null.php';
+require_once $__dir . '/HTMLPurifier/DefinitionCache/Serializer.php';
+require_once $__dir . '/HTMLPurifier/DefinitionCache/Decorator/Cleanup.php';
+require_once $__dir . '/HTMLPurifier/DefinitionCache/Decorator/Memory.php';
+require_once $__dir . '/HTMLPurifier/HTMLModule/Bdo.php';
+require_once $__dir . '/HTMLPurifier/HTMLModule/CommonAttributes.php';
+require_once $__dir . '/HTMLPurifier/HTMLModule/Edit.php';
+require_once $__dir . '/HTMLPurifier/HTMLModule/Forms.php';
+require_once $__dir . '/HTMLPurifier/HTMLModule/Hypertext.php';
+require_once $__dir . '/HTMLPurifier/HTMLModule/Iframe.php';
+require_once $__dir . '/HTMLPurifier/HTMLModule/Image.php';
+require_once $__dir . '/HTMLPurifier/HTMLModule/Legacy.php';
+require_once $__dir . '/HTMLPurifier/HTMLModule/List.php';
+require_once $__dir . '/HTMLPurifier/HTMLModule/Name.php';
+require_once $__dir . '/HTMLPurifier/HTMLModule/Nofollow.php';
+require_once $__dir . '/HTMLPurifier/HTMLModule/NonXMLCommonAttributes.php';
+require_once $__dir . '/HTMLPurifier/HTMLModule/Object.php';
+require_once $__dir . '/HTMLPurifier/HTMLModule/Presentation.php';
+require_once $__dir . '/HTMLPurifier/HTMLModule/Proprietary.php';
+require_once $__dir . '/HTMLPurifier/HTMLModule/Ruby.php';
+require_once $__dir . '/HTMLPurifier/HTMLModule/SafeEmbed.php';
+require_once $__dir . '/HTMLPurifier/HTMLModule/SafeObject.php';
+require_once $__dir . '/HTMLPurifier/HTMLModule/SafeScripting.php';
+require_once $__dir . '/HTMLPurifier/HTMLModule/Scripting.php';
+require_once $__dir . '/HTMLPurifier/HTMLModule/StyleAttribute.php';
+require_once $__dir . '/HTMLPurifier/HTMLModule/Tables.php';
+require_once $__dir . '/HTMLPurifier/HTMLModule/Target.php';
+require_once $__dir . '/HTMLPurifier/HTMLModule/TargetBlank.php';
+require_once $__dir . '/HTMLPurifier/HTMLModule/TargetNoopener.php';
+require_once $__dir . '/HTMLPurifier/HTMLModule/TargetNoreferrer.php';
+require_once $__dir . '/HTMLPurifier/HTMLModule/Text.php';
+require_once $__dir . '/HTMLPurifier/HTMLModule/Tidy.php';
+require_once $__dir . '/HTMLPurifier/HTMLModule/XMLCommonAttributes.php';
+require_once $__dir . '/HTMLPurifier/HTMLModule/Tidy/Name.php';
+require_once $__dir . '/HTMLPurifier/HTMLModule/Tidy/Proprietary.php';
+require_once $__dir . '/HTMLPurifier/HTMLModule/Tidy/XHTMLAndHTML4.php';
+require_once $__dir . '/HTMLPurifier/HTMLModule/Tidy/Strict.php';
+require_once $__dir . '/HTMLPurifier/HTMLModule/Tidy/Transitional.php';
+require_once $__dir . '/HTMLPurifier/HTMLModule/Tidy/XHTML.php';
+require_once $__dir . '/HTMLPurifier/Injector/AutoParagraph.php';
+require_once $__dir . '/HTMLPurifier/Injector/DisplayLinkURI.php';
+require_once $__dir . '/HTMLPurifier/Injector/Linkify.php';
+require_once $__dir . '/HTMLPurifier/Injector/PurifierLinkify.php';
+require_once $__dir . '/HTMLPurifier/Injector/RemoveEmpty.php';
+require_once $__dir . '/HTMLPurifier/Injector/RemoveSpansWithoutAttributes.php';
+require_once $__dir . '/HTMLPurifier/Injector/SafeObject.php';
+require_once $__dir . '/HTMLPurifier/Lexer/DOMLex.php';
+require_once $__dir . '/HTMLPurifier/Lexer/DirectLex.php';
+require_once $__dir . '/HTMLPurifier/Node/Comment.php';
+require_once $__dir . '/HTMLPurifier/Node/Element.php';
+require_once $__dir . '/HTMLPurifier/Node/Text.php';
+require_once $__dir . '/HTMLPurifier/Strategy/Composite.php';
+require_once $__dir . '/HTMLPurifier/Strategy/Core.php';
+require_once $__dir . '/HTMLPurifier/Strategy/FixNesting.php';
+require_once $__dir . '/HTMLPurifier/Strategy/MakeWellFormed.php';
+require_once $__dir . '/HTMLPurifier/Strategy/RemoveForeignElements.php';
+require_once $__dir . '/HTMLPurifier/Strategy/ValidateAttributes.php';
+require_once $__dir . '/HTMLPurifier/TagTransform/Font.php';
+require_once $__dir . '/HTMLPurifier/TagTransform/Simple.php';
+require_once $__dir . '/HTMLPurifier/Token/Comment.php';
+require_once $__dir . '/HTMLPurifier/Token/Tag.php';
+require_once $__dir . '/HTMLPurifier/Token/Empty.php';
+require_once $__dir . '/HTMLPurifier/Token/End.php';
+require_once $__dir . '/HTMLPurifier/Token/Start.php';
+require_once $__dir . '/HTMLPurifier/Token/Text.php';
+require_once $__dir . '/HTMLPurifier/URIFilter/DisableExternal.php';
+require_once $__dir . '/HTMLPurifier/URIFilter/DisableExternalResources.php';
+require_once $__dir . '/HTMLPurifier/URIFilter/DisableResources.php';
+require_once $__dir . '/HTMLPurifier/URIFilter/HostBlacklist.php';
+require_once $__dir . '/HTMLPurifier/URIFilter/MakeAbsolute.php';
+require_once $__dir . '/HTMLPurifier/URIFilter/Munge.php';
+require_once $__dir . '/HTMLPurifier/URIFilter/SafeIframe.php';
+require_once $__dir . '/HTMLPurifier/URIScheme/data.php';
+require_once $__dir . '/HTMLPurifier/URIScheme/file.php';
+require_once $__dir . '/HTMLPurifier/URIScheme/ftp.php';
+require_once $__dir . '/HTMLPurifier/URIScheme/http.php';
+require_once $__dir . '/HTMLPurifier/URIScheme/https.php';
+require_once $__dir . '/HTMLPurifier/URIScheme/mailto.php';
+require_once $__dir . '/HTMLPurifier/URIScheme/news.php';
+require_once $__dir . '/HTMLPurifier/URIScheme/nntp.php';
+require_once $__dir . '/HTMLPurifier/URIScheme/tel.php';
+require_once $__dir . '/HTMLPurifier/VarParser/Flexible.php';
+require_once $__dir . '/HTMLPurifier/VarParser/Native.php';
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Arborize.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Arborize.php
new file mode 100644
index 000000000..d2e9d22a2
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Arborize.php
@@ -0,0 +1,71 @@
+<?php
+
+/**
+ * Converts a stream of HTMLPurifier_Token into an HTMLPurifier_Node,
+ * and back again.
+ *
+ * @note This transformation is not an equivalence. We mutate the input
+ * token stream to make it so; see all [MUT] markers in code.
+ */
+class HTMLPurifier_Arborize
+{
+ public static function arborize($tokens, $config, $context) {
+ $definition = $config->getHTMLDefinition();
+ $parent = new HTMLPurifier_Token_Start($definition->info_parent);
+ $stack = array($parent->toNode());
+ foreach ($tokens as $token) {
+ $token->skip = null; // [MUT]
+ $token->carryover = null; // [MUT]
+ if ($token instanceof HTMLPurifier_Token_End) {
+ $token->start = null; // [MUT]
+ $r = array_pop($stack);
+ //assert($r->name === $token->name);
+ //assert(empty($token->attr));
+ $r->endCol = $token->col;
+ $r->endLine = $token->line;
+ $r->endArmor = $token->armor;
+ continue;
+ }
+ $node = $token->toNode();
+ $stack[count($stack)-1]->children[] = $node;
+ if ($token instanceof HTMLPurifier_Token_Start) {
+ $stack[] = $node;
+ }
+ }
+ //assert(count($stack) == 1);
+ return $stack[0];
+ }
+
+ public static function flatten($node, $config, $context) {
+ $level = 0;
+ $nodes = array($level => new HTMLPurifier_Queue(array($node)));
+ $closingTokens = array();
+ $tokens = array();
+ do {
+ while (!$nodes[$level]->isEmpty()) {
+ $node = $nodes[$level]->shift(); // FIFO
+ list($start, $end) = $node->toTokenPair();
+ if ($level > 0) {
+ $tokens[] = $start;
+ }
+ if ($end !== NULL) {
+ $closingTokens[$level][] = $end;
+ }
+ if ($node instanceof HTMLPurifier_Node_Element) {
+ $level++;
+ $nodes[$level] = new HTMLPurifier_Queue();
+ foreach ($node->children as $childNode) {
+ $nodes[$level]->push($childNode);
+ }
+ }
+ }
+ $level--;
+ if ($level && isset($closingTokens[$level])) {
+ while ($token = array_pop($closingTokens[$level])) {
+ $tokens[] = $token;
+ }
+ }
+ } while ($level > 0);
+ return $tokens;
+ }
+}
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrCollections.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrCollections.php
new file mode 100644
index 000000000..c7b17cf14
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrCollections.php
@@ -0,0 +1,148 @@
+<?php
+
+/**
+ * Defines common attribute collections that modules reference
+ */
+
+class HTMLPurifier_AttrCollections
+{
+
+ /**
+ * Associative array of attribute collections, indexed by name.
+ * @type array
+ */
+ public $info = array();
+
+ /**
+ * Performs all expansions on internal data for use by other inclusions
+ * It also collects all attribute collection extensions from
+ * modules
+ * @param HTMLPurifier_AttrTypes $attr_types HTMLPurifier_AttrTypes instance
+ * @param HTMLPurifier_HTMLModule[] $modules Hash array of HTMLPurifier_HTMLModule members
+ */
+ public function __construct($attr_types, $modules)
+ {
+ $this->doConstruct($attr_types, $modules);
+ }
+
+ public function doConstruct($attr_types, $modules)
+ {
+ // load extensions from the modules
+ foreach ($modules as $module) {
+ foreach ($module->attr_collections as $coll_i => $coll) {
+ if (!isset($this->info[$coll_i])) {
+ $this->info[$coll_i] = array();
+ }
+ foreach ($coll as $attr_i => $attr) {
+ if ($attr_i === 0 && isset($this->info[$coll_i][$attr_i])) {
+ // merge in includes
+ $this->info[$coll_i][$attr_i] = array_merge(
+ $this->info[$coll_i][$attr_i],
+ $attr
+ );
+ continue;
+ }
+ $this->info[$coll_i][$attr_i] = $attr;
+ }
+ }
+ }
+ // perform internal expansions and inclusions
+ foreach ($this->info as $name => $attr) {
+ // merge attribute collections that include others
+ $this->performInclusions($this->info[$name]);
+ // replace string identifiers with actual attribute objects
+ $this->expandIdentifiers($this->info[$name], $attr_types);
+ }
+ }
+
+ /**
+ * Takes a reference to an attribute associative array and performs
+ * all inclusions specified by the zero index.
+ * @param array &$attr Reference to attribute array
+ */
+ public function performInclusions(&$attr)
+ {
+ if (!isset($attr[0])) {
+ return;
+ }
+ $merge = $attr[0];
+ $seen = array(); // recursion guard
+ // loop through all the inclusions
+ for ($i = 0; isset($merge[$i]); $i++) {
+ if (isset($seen[$merge[$i]])) {
+ continue;
+ }
+ $seen[$merge[$i]] = true;
+ // foreach attribute of the inclusion, copy it over
+ if (!isset($this->info[$merge[$i]])) {
+ continue;
+ }
+ foreach ($this->info[$merge[$i]] as $key => $value) {
+ if (isset($attr[$key])) {
+ continue;
+ } // also catches more inclusions
+ $attr[$key] = $value;
+ }
+ if (isset($this->info[$merge[$i]][0])) {
+ // recursion
+ $merge = array_merge($merge, $this->info[$merge[$i]][0]);
+ }
+ }
+ unset($attr[0]);
+ }
+
+ /**
+ * Expands all string identifiers in an attribute array by replacing
+ * them with the appropriate values inside HTMLPurifier_AttrTypes
+ * @param array &$attr Reference to attribute array
+ * @param HTMLPurifier_AttrTypes $attr_types HTMLPurifier_AttrTypes instance
+ */
+ public function expandIdentifiers(&$attr, $attr_types)
+ {
+ // because foreach will process new elements we add, make sure we
+ // skip duplicates
+ $processed = array();
+
+ foreach ($attr as $def_i => $def) {
+ // skip inclusions
+ if ($def_i === 0) {
+ continue;
+ }
+
+ if (isset($processed[$def_i])) {
+ continue;
+ }
+
+ // determine whether or not attribute is required
+ if ($required = (strpos($def_i, '*') !== false)) {
+ // rename the definition
+ unset($attr[$def_i]);
+ $def_i = trim($def_i, '*');
+ $attr[$def_i] = $def;
+ }
+
+ $processed[$def_i] = true;
+
+ // if we've already got a literal object, move on
+ if (is_object($def)) {
+ // preserve previous required
+ $attr[$def_i]->required = ($required || $attr[$def_i]->required);
+ continue;
+ }
+
+ if ($def === false) {
+ unset($attr[$def_i]);
+ continue;
+ }
+
+ if ($t = $attr_types->get($def)) {
+ $attr[$def_i] = $t;
+ $attr[$def_i]->required = $required;
+ } else {
+ unset($attr[$def_i]);
+ }
+ }
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef.php
new file mode 100644
index 000000000..739646fa7
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef.php
@@ -0,0 +1,144 @@
+<?php
+
+/**
+ * Base class for all validating attribute definitions.
+ *
+ * This family of classes forms the core for not only HTML attribute validation,
+ * but also any sort of string that needs to be validated or cleaned (which
+ * means CSS properties and composite definitions are defined here too).
+ * Besides defining (through code) what precisely makes the string valid,
+ * subclasses are also responsible for cleaning the code if possible.
+ */
+
+abstract class HTMLPurifier_AttrDef
+{
+
+ /**
+ * Tells us whether or not an HTML attribute is minimized.
+ * Has no meaning in other contexts.
+ * @type bool
+ */
+ public $minimized = false;
+
+ /**
+ * Tells us whether or not an HTML attribute is required.
+ * Has no meaning in other contexts
+ * @type bool
+ */
+ public $required = false;
+
+ /**
+ * Validates and cleans passed string according to a definition.
+ *
+ * @param string $string String to be validated and cleaned.
+ * @param HTMLPurifier_Config $config Mandatory HTMLPurifier_Config object.
+ * @param HTMLPurifier_Context $context Mandatory HTMLPurifier_Context object.
+ */
+ abstract public function validate($string, $config, $context);
+
+ /**
+ * Convenience method that parses a string as if it were CDATA.
+ *
+ * This method process a string in the manner specified at
+ * <http://www.w3.org/TR/html4/types.html#h-6.2> by removing
+ * leading and trailing whitespace, ignoring line feeds, and replacing
+ * carriage returns and tabs with spaces. While most useful for HTML
+ * attributes specified as CDATA, it can also be applied to most CSS
+ * values.
+ *
+ * @note This method is not entirely standards compliant, as trim() removes
+ * more types of whitespace than specified in the spec. In practice,
+ * this is rarely a problem, as those extra characters usually have
+ * already been removed by HTMLPurifier_Encoder.
+ *
+ * @warning This processing is inconsistent with XML's whitespace handling
+ * as specified by section 3.3.3 and referenced XHTML 1.0 section
+ * 4.7. However, note that we are NOT necessarily
+ * parsing XML, thus, this behavior may still be correct. We
+ * assume that newlines have been normalized.
+ */
+ public function parseCDATA($string)
+ {
+ $string = trim($string);
+ $string = str_replace(array("\n", "\t", "\r"), ' ', $string);
+ return $string;
+ }
+
+ /**
+ * Factory method for creating this class from a string.
+ * @param string $string String construction info
+ * @return HTMLPurifier_AttrDef Created AttrDef object corresponding to $string
+ */
+ public function make($string)
+ {
+ // default implementation, return a flyweight of this object.
+ // If $string has an effect on the returned object (i.e. you
+ // need to overload this method), it is best
+ // to clone or instantiate new copies. (Instantiation is safer.)
+ return $this;
+ }
+
+ /**
+ * Removes spaces from rgb(0, 0, 0) so that shorthand CSS properties work
+ * properly. THIS IS A HACK!
+ * @param string $string a CSS colour definition
+ * @return string
+ */
+ protected function mungeRgb($string)
+ {
+ $p = '\s*(\d+(\.\d+)?([%]?))\s*';
+
+ if (preg_match('/(rgba|hsla)\(/', $string)) {
+ return preg_replace('/(rgba|hsla)\('.$p.','.$p.','.$p.','.$p.'\)/', '\1(\2,\5,\8,\11)', $string);
+ }
+
+ return preg_replace('/(rgb|hsl)\('.$p.','.$p.','.$p.'\)/', '\1(\2,\5,\8)', $string);
+ }
+
+ /**
+ * Parses a possibly escaped CSS string and returns the "pure"
+ * version of it.
+ */
+ protected function expandCSSEscape($string)
+ {
+ // flexibly parse it
+ $ret = '';
+ for ($i = 0, $c = strlen($string); $i < $c; $i++) {
+ if ($string[$i] === '\\') {
+ $i++;
+ if ($i >= $c) {
+ $ret .= '\\';
+ break;
+ }
+ if (ctype_xdigit($string[$i])) {
+ $code = $string[$i];
+ for ($a = 1, $i++; $i < $c && $a < 6; $i++, $a++) {
+ if (!ctype_xdigit($string[$i])) {
+ break;
+ }
+ $code .= $string[$i];
+ }
+ // We have to be extremely careful when adding
+ // new characters, to make sure we're not breaking
+ // the encoding.
+ $char = HTMLPurifier_Encoder::unichr(hexdec($code));
+ if (HTMLPurifier_Encoder::cleanUTF8($char) === '') {
+ continue;
+ }
+ $ret .= $char;
+ if ($i < $c && trim($string[$i]) !== '') {
+ $i--;
+ }
+ continue;
+ }
+ if ($string[$i] === "\n") {
+ continue;
+ }
+ }
+ $ret .= $string[$i];
+ }
+ return $ret;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS.php
new file mode 100644
index 000000000..ad2cb90ad
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS.php
@@ -0,0 +1,136 @@
+<?php
+
+/**
+ * Validates the HTML attribute style, otherwise known as CSS.
+ * @note We don't implement the whole CSS specification, so it might be
+ * difficult to reuse this component in the context of validating
+ * actual stylesheet declarations.
+ * @note If we were really serious about validating the CSS, we would
+ * tokenize the styles and then parse the tokens. Obviously, we
+ * are not doing that. Doing that could seriously harm performance,
+ * but would make these components a lot more viable for a CSS
+ * filtering solution.
+ */
+class HTMLPurifier_AttrDef_CSS extends HTMLPurifier_AttrDef
+{
+
+ /**
+ * @param string $css
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($css, $config, $context)
+ {
+ $css = $this->parseCDATA($css);
+
+ $definition = $config->getCSSDefinition();
+ $allow_duplicates = $config->get("CSS.AllowDuplicates");
+
+
+ // According to the CSS2.1 spec, the places where a
+ // non-delimiting semicolon can appear are in strings
+ // escape sequences. So here is some dumb hack to
+ // handle quotes.
+ $len = strlen($css);
+ $accum = "";
+ $declarations = array();
+ $quoted = false;
+ for ($i = 0; $i < $len; $i++) {
+ $c = strcspn($css, ";'\"", $i);
+ $accum .= substr($css, $i, $c);
+ $i += $c;
+ if ($i == $len) break;
+ $d = $css[$i];
+ if ($quoted) {
+ $accum .= $d;
+ if ($d == $quoted) {
+ $quoted = false;
+ }
+ } else {
+ if ($d == ";") {
+ $declarations[] = $accum;
+ $accum = "";
+ } else {
+ $accum .= $d;
+ $quoted = $d;
+ }
+ }
+ }
+ if ($accum != "") $declarations[] = $accum;
+
+ $propvalues = array();
+ $new_declarations = '';
+
+ /**
+ * Name of the current CSS property being validated.
+ */
+ $property = false;
+ $context->register('CurrentCSSProperty', $property);
+
+ foreach ($declarations as $declaration) {
+ if (!$declaration) {
+ continue;
+ }
+ if (!strpos($declaration, ':')) {
+ continue;
+ }
+ list($property, $value) = explode(':', $declaration, 2);
+ $property = trim($property);
+ $value = trim($value);
+ $ok = false;
+ do {
+ if (isset($definition->info[$property])) {
+ $ok = true;
+ break;
+ }
+ if (ctype_lower($property)) {
+ break;
+ }
+ $property = strtolower($property);
+ if (isset($definition->info[$property])) {
+ $ok = true;
+ break;
+ }
+ } while (0);
+ if (!$ok) {
+ continue;
+ }
+ // inefficient call, since the validator will do this again
+ if (strtolower(trim($value)) !== 'inherit') {
+ // inherit works for everything (but only on the base property)
+ $result = $definition->info[$property]->validate(
+ $value,
+ $config,
+ $context
+ );
+ } else {
+ $result = 'inherit';
+ }
+ if ($result === false) {
+ continue;
+ }
+ if ($allow_duplicates) {
+ $new_declarations .= "$property:$result;";
+ } else {
+ $propvalues[$property] = $result;
+ }
+ }
+
+ $context->destroy('CurrentCSSProperty');
+
+ // procedure does not write the new CSS simultaneously, so it's
+ // slightly inefficient, but it's the only way of getting rid of
+ // duplicates. Perhaps config to optimize it, but not now.
+
+ foreach ($propvalues as $prop => $value) {
+ $new_declarations .= "$prop:$value;";
+ }
+
+ return $new_declarations ? $new_declarations : false;
+
+ }
+
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/AlphaValue.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/AlphaValue.php
new file mode 100644
index 000000000..af2b83dff
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/AlphaValue.php
@@ -0,0 +1,34 @@
+<?php
+
+class HTMLPurifier_AttrDef_CSS_AlphaValue extends HTMLPurifier_AttrDef_CSS_Number
+{
+
+ public function __construct()
+ {
+ parent::__construct(false); // opacity is non-negative, but we will clamp it
+ }
+
+ /**
+ * @param string $number
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return string
+ */
+ public function validate($number, $config, $context)
+ {
+ $result = parent::validate($number, $config, $context);
+ if ($result === false) {
+ return $result;
+ }
+ $float = (float)$result;
+ if ($float < 0.0) {
+ $result = '0';
+ }
+ if ($float > 1.0) {
+ $result = '1';
+ }
+ return $result;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Background.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Background.php
new file mode 100644
index 000000000..7f1ea3b0f
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Background.php
@@ -0,0 +1,111 @@
+<?php
+
+/**
+ * Validates shorthand CSS property background.
+ * @warning Does not support url tokens that have internal spaces.
+ */
+class HTMLPurifier_AttrDef_CSS_Background extends HTMLPurifier_AttrDef
+{
+
+ /**
+ * Local copy of component validators.
+ * @type HTMLPurifier_AttrDef[]
+ * @note See HTMLPurifier_AttrDef_Font::$info for a similar impl.
+ */
+ protected $info;
+
+ /**
+ * @param HTMLPurifier_Config $config
+ */
+ public function __construct($config)
+ {
+ $def = $config->getCSSDefinition();
+ $this->info['background-color'] = $def->info['background-color'];
+ $this->info['background-image'] = $def->info['background-image'];
+ $this->info['background-repeat'] = $def->info['background-repeat'];
+ $this->info['background-attachment'] = $def->info['background-attachment'];
+ $this->info['background-position'] = $def->info['background-position'];
+ }
+
+ /**
+ * @param string $string
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($string, $config, $context)
+ {
+ // regular pre-processing
+ $string = $this->parseCDATA($string);
+ if ($string === '') {
+ return false;
+ }
+
+ // munge rgb() decl if necessary
+ $string = $this->mungeRgb($string);
+
+ // assumes URI doesn't have spaces in it
+ $bits = explode(' ', $string); // bits to process
+
+ $caught = array();
+ $caught['color'] = false;
+ $caught['image'] = false;
+ $caught['repeat'] = false;
+ $caught['attachment'] = false;
+ $caught['position'] = false;
+
+ $i = 0; // number of catches
+
+ foreach ($bits as $bit) {
+ if ($bit === '') {
+ continue;
+ }
+ foreach ($caught as $key => $status) {
+ if ($key != 'position') {
+ if ($status !== false) {
+ continue;
+ }
+ $r = $this->info['background-' . $key]->validate($bit, $config, $context);
+ } else {
+ $r = $bit;
+ }
+ if ($r === false) {
+ continue;
+ }
+ if ($key == 'position') {
+ if ($caught[$key] === false) {
+ $caught[$key] = '';
+ }
+ $caught[$key] .= $r . ' ';
+ } else {
+ $caught[$key] = $r;
+ }
+ $i++;
+ break;
+ }
+ }
+
+ if (!$i) {
+ return false;
+ }
+ if ($caught['position'] !== false) {
+ $caught['position'] = $this->info['background-position']->
+ validate($caught['position'], $config, $context);
+ }
+
+ $ret = array();
+ foreach ($caught as $value) {
+ if ($value === false) {
+ continue;
+ }
+ $ret[] = $value;
+ }
+
+ if (empty($ret)) {
+ return false;
+ }
+ return implode(' ', $ret);
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/BackgroundPosition.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/BackgroundPosition.php
new file mode 100644
index 000000000..4580ef5a9
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/BackgroundPosition.php
@@ -0,0 +1,157 @@
+<?php
+
+/* W3C says:
+ [ // adjective and number must be in correct order, even if
+ // you could switch them without introducing ambiguity.
+ // some browsers support that syntax
+ [
+ <percentage> | <length> | left | center | right
+ ]
+ [
+ <percentage> | <length> | top | center | bottom
+ ]?
+ ] |
+ [ // this signifies that the vertical and horizontal adjectives
+ // can be arbitrarily ordered, however, there can only be two,
+ // one of each, or none at all
+ [
+ left | center | right
+ ] ||
+ [
+ top | center | bottom
+ ]
+ ]
+ top, left = 0%
+ center, (none) = 50%
+ bottom, right = 100%
+*/
+
+/* QuirksMode says:
+ keyword + length/percentage must be ordered correctly, as per W3C
+
+ Internet Explorer and Opera, however, support arbitrary ordering. We
+ should fix it up.
+
+ Minor issue though, not strictly necessary.
+*/
+
+// control freaks may appreciate the ability to convert these to
+// percentages or something, but it's not necessary
+
+/**
+ * Validates the value of background-position.
+ */
+class HTMLPurifier_AttrDef_CSS_BackgroundPosition extends HTMLPurifier_AttrDef
+{
+
+ /**
+ * @type HTMLPurifier_AttrDef_CSS_Length
+ */
+ protected $length;
+
+ /**
+ * @type HTMLPurifier_AttrDef_CSS_Percentage
+ */
+ protected $percentage;
+
+ public function __construct()
+ {
+ $this->length = new HTMLPurifier_AttrDef_CSS_Length();
+ $this->percentage = new HTMLPurifier_AttrDef_CSS_Percentage();
+ }
+
+ /**
+ * @param string $string
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($string, $config, $context)
+ {
+ $string = $this->parseCDATA($string);
+ $bits = explode(' ', $string);
+
+ $keywords = array();
+ $keywords['h'] = false; // left, right
+ $keywords['v'] = false; // top, bottom
+ $keywords['ch'] = false; // center (first word)
+ $keywords['cv'] = false; // center (second word)
+ $measures = array();
+
+ $i = 0;
+
+ $lookup = array(
+ 'top' => 'v',
+ 'bottom' => 'v',
+ 'left' => 'h',
+ 'right' => 'h',
+ 'center' => 'c'
+ );
+
+ foreach ($bits as $bit) {
+ if ($bit === '') {
+ continue;
+ }
+
+ // test for keyword
+ $lbit = ctype_lower($bit) ? $bit : strtolower($bit);
+ if (isset($lookup[$lbit])) {
+ $status = $lookup[$lbit];
+ if ($status == 'c') {
+ if ($i == 0) {
+ $status = 'ch';
+ } else {
+ $status = 'cv';
+ }
+ }
+ $keywords[$status] = $lbit;
+ $i++;
+ }
+
+ // test for length
+ $r = $this->length->validate($bit, $config, $context);
+ if ($r !== false) {
+ $measures[] = $r;
+ $i++;
+ }
+
+ // test for percentage
+ $r = $this->percentage->validate($bit, $config, $context);
+ if ($r !== false) {
+ $measures[] = $r;
+ $i++;
+ }
+ }
+
+ if (!$i) {
+ return false;
+ } // no valid values were caught
+
+ $ret = array();
+
+ // first keyword
+ if ($keywords['h']) {
+ $ret[] = $keywords['h'];
+ } elseif ($keywords['ch']) {
+ $ret[] = $keywords['ch'];
+ $keywords['cv'] = false; // prevent re-use: center = center center
+ } elseif (count($measures)) {
+ $ret[] = array_shift($measures);
+ }
+
+ if ($keywords['v']) {
+ $ret[] = $keywords['v'];
+ } elseif ($keywords['cv']) {
+ $ret[] = $keywords['cv'];
+ } elseif (count($measures)) {
+ $ret[] = array_shift($measures);
+ }
+
+ if (empty($ret)) {
+ return false;
+ }
+ return implode(' ', $ret);
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Border.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Border.php
new file mode 100644
index 000000000..16243ba1e
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Border.php
@@ -0,0 +1,56 @@
+<?php
+
+/**
+ * Validates the border property as defined by CSS.
+ */
+class HTMLPurifier_AttrDef_CSS_Border extends HTMLPurifier_AttrDef
+{
+
+ /**
+ * Local copy of properties this property is shorthand for.
+ * @type HTMLPurifier_AttrDef[]
+ */
+ protected $info = array();
+
+ /**
+ * @param HTMLPurifier_Config $config
+ */
+ public function __construct($config)
+ {
+ $def = $config->getCSSDefinition();
+ $this->info['border-width'] = $def->info['border-width'];
+ $this->info['border-style'] = $def->info['border-style'];
+ $this->info['border-top-color'] = $def->info['border-top-color'];
+ }
+
+ /**
+ * @param string $string
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($string, $config, $context)
+ {
+ $string = $this->parseCDATA($string);
+ $string = $this->mungeRgb($string);
+ $bits = explode(' ', $string);
+ $done = array(); // segments we've finished
+ $ret = ''; // return value
+ foreach ($bits as $bit) {
+ foreach ($this->info as $propname => $validator) {
+ if (isset($done[$propname])) {
+ continue;
+ }
+ $r = $validator->validate($bit, $config, $context);
+ if ($r !== false) {
+ $ret .= $r . ' ';
+ $done[$propname] = true;
+ break;
+ }
+ }
+ }
+ return rtrim($ret);
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Color.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Color.php
new file mode 100644
index 000000000..d7287a00c
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Color.php
@@ -0,0 +1,161 @@
+<?php
+
+/**
+ * Validates Color as defined by CSS.
+ */
+class HTMLPurifier_AttrDef_CSS_Color extends HTMLPurifier_AttrDef
+{
+
+ /**
+ * @type HTMLPurifier_AttrDef_CSS_AlphaValue
+ */
+ protected $alpha;
+
+ public function __construct()
+ {
+ $this->alpha = new HTMLPurifier_AttrDef_CSS_AlphaValue();
+ }
+
+ /**
+ * @param string $color
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($color, $config, $context)
+ {
+ static $colors = null;
+ if ($colors === null) {
+ $colors = $config->get('Core.ColorKeywords');
+ }
+
+ $color = trim($color);
+ if ($color === '') {
+ return false;
+ }
+
+ $lower = strtolower($color);
+ if (isset($colors[$lower])) {
+ return $colors[$lower];
+ }
+
+ if (preg_match('#(rgb|rgba|hsl|hsla)\(#', $color, $matches) === 1) {
+ $length = strlen($color);
+ if (strpos($color, ')') !== $length - 1) {
+ return false;
+ }
+
+ // get used function : rgb, rgba, hsl or hsla
+ $function = $matches[1];
+
+ $parameters_size = 3;
+ $alpha_channel = false;
+ if (substr($function, -1) === 'a') {
+ $parameters_size = 4;
+ $alpha_channel = true;
+ }
+
+ /*
+ * Allowed types for values :
+ * parameter_position => [type => max_value]
+ */
+ $allowed_types = array(
+ 1 => array('percentage' => 100, 'integer' => 255),
+ 2 => array('percentage' => 100, 'integer' => 255),
+ 3 => array('percentage' => 100, 'integer' => 255),
+ );
+ $allow_different_types = false;
+
+ if (strpos($function, 'hsl') !== false) {
+ $allowed_types = array(
+ 1 => array('integer' => 360),
+ 2 => array('percentage' => 100),
+ 3 => array('percentage' => 100),
+ );
+ $allow_different_types = true;
+ }
+
+ $values = trim(str_replace($function, '', $color), ' ()');
+
+ $parts = explode(',', $values);
+ if (count($parts) !== $parameters_size) {
+ return false;
+ }
+
+ $type = false;
+ $new_parts = array();
+ $i = 0;
+
+ foreach ($parts as $part) {
+ $i++;
+ $part = trim($part);
+
+ if ($part === '') {
+ return false;
+ }
+
+ // different check for alpha channel
+ if ($alpha_channel === true && $i === count($parts)) {
+ $result = $this->alpha->validate($part, $config, $context);
+
+ if ($result === false) {
+ return false;
+ }
+
+ $new_parts[] = (string)$result;
+ continue;
+ }
+
+ if (substr($part, -1) === '%') {
+ $current_type = 'percentage';
+ } else {
+ $current_type = 'integer';
+ }
+
+ if (!array_key_exists($current_type, $allowed_types[$i])) {
+ return false;
+ }
+
+ if (!$type) {
+ $type = $current_type;
+ }
+
+ if ($allow_different_types === false && $type != $current_type) {
+ return false;
+ }
+
+ $max_value = $allowed_types[$i][$current_type];
+
+ if ($current_type == 'integer') {
+ // Return value between range 0 -> $max_value
+ $new_parts[] = (int)max(min($part, $max_value), 0);
+ } elseif ($current_type == 'percentage') {
+ $new_parts[] = (float)max(min(rtrim($part, '%'), $max_value), 0) . '%';
+ }
+ }
+
+ $new_values = implode(',', $new_parts);
+
+ $color = $function . '(' . $new_values . ')';
+ } else {
+ // hexadecimal handling
+ if ($color[0] === '#') {
+ $hex = substr($color, 1);
+ } else {
+ $hex = $color;
+ $color = '#' . $color;
+ }
+ $length = strlen($hex);
+ if ($length !== 3 && $length !== 6) {
+ return false;
+ }
+ if (!ctype_xdigit($hex)) {
+ return false;
+ }
+ }
+ return $color;
+ }
+
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Composite.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Composite.php
new file mode 100644
index 000000000..9c1750554
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Composite.php
@@ -0,0 +1,48 @@
+<?php
+
+/**
+ * Allows multiple validators to attempt to validate attribute.
+ *
+ * Composite is just what it sounds like: a composite of many validators.
+ * This means that multiple HTMLPurifier_AttrDef objects will have a whack
+ * at the string. If one of them passes, that's what is returned. This is
+ * especially useful for CSS values, which often are a choice between
+ * an enumerated set of predefined values or a flexible data type.
+ */
+class HTMLPurifier_AttrDef_CSS_Composite extends HTMLPurifier_AttrDef
+{
+
+ /**
+ * List of objects that may process strings.
+ * @type HTMLPurifier_AttrDef[]
+ * @todo Make protected
+ */
+ public $defs;
+
+ /**
+ * @param HTMLPurifier_AttrDef[] $defs List of HTMLPurifier_AttrDef objects
+ */
+ public function __construct($defs)
+ {
+ $this->defs = $defs;
+ }
+
+ /**
+ * @param string $string
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($string, $config, $context)
+ {
+ foreach ($this->defs as $i => $def) {
+ $result = $this->defs[$i]->validate($string, $config, $context);
+ if ($result !== false) {
+ return $result;
+ }
+ }
+ return false;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/DenyElementDecorator.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/DenyElementDecorator.php
new file mode 100644
index 000000000..9d77cc9aa
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/DenyElementDecorator.php
@@ -0,0 +1,44 @@
+<?php
+
+/**
+ * Decorator which enables CSS properties to be disabled for specific elements.
+ */
+class HTMLPurifier_AttrDef_CSS_DenyElementDecorator extends HTMLPurifier_AttrDef
+{
+ /**
+ * @type HTMLPurifier_AttrDef
+ */
+ public $def;
+ /**
+ * @type string
+ */
+ public $element;
+
+ /**
+ * @param HTMLPurifier_AttrDef $def Definition to wrap
+ * @param string $element Element to deny
+ */
+ public function __construct($def, $element)
+ {
+ $this->def = $def;
+ $this->element = $element;
+ }
+
+ /**
+ * Checks if CurrentToken is set and equal to $this->element
+ * @param string $string
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($string, $config, $context)
+ {
+ $token = $context->get('CurrentToken', true);
+ if ($token && $token->name == $this->element) {
+ return false;
+ }
+ return $this->def->validate($string, $config, $context);
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Filter.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Filter.php
new file mode 100644
index 000000000..bde4c3301
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Filter.php
@@ -0,0 +1,77 @@
+<?php
+
+/**
+ * Microsoft's proprietary filter: CSS property
+ * @note Currently supports the alpha filter. In the future, this will
+ * probably need an extensible framework
+ */
+class HTMLPurifier_AttrDef_CSS_Filter extends HTMLPurifier_AttrDef
+{
+ /**
+ * @type HTMLPurifier_AttrDef_Integer
+ */
+ protected $intValidator;
+
+ public function __construct()
+ {
+ $this->intValidator = new HTMLPurifier_AttrDef_Integer();
+ }
+
+ /**
+ * @param string $value
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($value, $config, $context)
+ {
+ $value = $this->parseCDATA($value);
+ if ($value === 'none') {
+ return $value;
+ }
+ // if we looped this we could support multiple filters
+ $function_length = strcspn($value, '(');
+ $function = trim(substr($value, 0, $function_length));
+ if ($function !== 'alpha' &&
+ $function !== 'Alpha' &&
+ $function !== 'progid:DXImageTransform.Microsoft.Alpha'
+ ) {
+ return false;
+ }
+ $cursor = $function_length + 1;
+ $parameters_length = strcspn($value, ')', $cursor);
+ $parameters = substr($value, $cursor, $parameters_length);
+ $params = explode(',', $parameters);
+ $ret_params = array();
+ $lookup = array();
+ foreach ($params as $param) {
+ list($key, $value) = explode('=', $param);
+ $key = trim($key);
+ $value = trim($value);
+ if (isset($lookup[$key])) {
+ continue;
+ }
+ if ($key !== 'opacity') {
+ continue;
+ }
+ $value = $this->intValidator->validate($value, $config, $context);
+ if ($value === false) {
+ continue;
+ }
+ $int = (int)$value;
+ if ($int > 100) {
+ $value = '100';
+ }
+ if ($int < 0) {
+ $value = '0';
+ }
+ $ret_params[] = "$key=$value";
+ $lookup[$key] = true;
+ }
+ $ret_parameters = implode(',', $ret_params);
+ $ret_function = "$function($ret_parameters)";
+ return $ret_function;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Font.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Font.php
new file mode 100644
index 000000000..579b97ef1
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Font.php
@@ -0,0 +1,176 @@
+<?php
+
+/**
+ * Validates shorthand CSS property font.
+ */
+class HTMLPurifier_AttrDef_CSS_Font extends HTMLPurifier_AttrDef
+{
+
+ /**
+ * Local copy of validators
+ * @type HTMLPurifier_AttrDef[]
+ * @note If we moved specific CSS property definitions to their own
+ * classes instead of having them be assembled at run time by
+ * CSSDefinition, this wouldn't be necessary. We'd instantiate
+ * our own copies.
+ */
+ protected $info = array();
+
+ /**
+ * @param HTMLPurifier_Config $config
+ */
+ public function __construct($config)
+ {
+ $def = $config->getCSSDefinition();
+ $this->info['font-style'] = $def->info['font-style'];
+ $this->info['font-variant'] = $def->info['font-variant'];
+ $this->info['font-weight'] = $def->info['font-weight'];
+ $this->info['font-size'] = $def->info['font-size'];
+ $this->info['line-height'] = $def->info['line-height'];
+ $this->info['font-family'] = $def->info['font-family'];
+ }
+
+ /**
+ * @param string $string
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($string, $config, $context)
+ {
+ static $system_fonts = array(
+ 'caption' => true,
+ 'icon' => true,
+ 'menu' => true,
+ 'message-box' => true,
+ 'small-caption' => true,
+ 'status-bar' => true
+ );
+
+ // regular pre-processing
+ $string = $this->parseCDATA($string);
+ if ($string === '') {
+ return false;
+ }
+
+ // check if it's one of the keywords
+ $lowercase_string = strtolower($string);
+ if (isset($system_fonts[$lowercase_string])) {
+ return $lowercase_string;
+ }
+
+ $bits = explode(' ', $string); // bits to process
+ $stage = 0; // this indicates what we're looking for
+ $caught = array(); // which stage 0 properties have we caught?
+ $stage_1 = array('font-style', 'font-variant', 'font-weight');
+ $final = ''; // output
+
+ for ($i = 0, $size = count($bits); $i < $size; $i++) {
+ if ($bits[$i] === '') {
+ continue;
+ }
+ switch ($stage) {
+ case 0: // attempting to catch font-style, font-variant or font-weight
+ foreach ($stage_1 as $validator_name) {
+ if (isset($caught[$validator_name])) {
+ continue;
+ }
+ $r = $this->info[$validator_name]->validate(
+ $bits[$i],
+ $config,
+ $context
+ );
+ if ($r !== false) {
+ $final .= $r . ' ';
+ $caught[$validator_name] = true;
+ break;
+ }
+ }
+ // all three caught, continue on
+ if (count($caught) >= 3) {
+ $stage = 1;
+ }
+ if ($r !== false) {
+ break;
+ }
+ case 1: // attempting to catch font-size and perhaps line-height
+ $found_slash = false;
+ if (strpos($bits[$i], '/') !== false) {
+ list($font_size, $line_height) =
+ explode('/', $bits[$i]);
+ if ($line_height === '') {
+ // ooh, there's a space after the slash!
+ $line_height = false;
+ $found_slash = true;
+ }
+ } else {
+ $font_size = $bits[$i];
+ $line_height = false;
+ }
+ $r = $this->info['font-size']->validate(
+ $font_size,
+ $config,
+ $context
+ );
+ if ($r !== false) {
+ $final .= $r;
+ // attempt to catch line-height
+ if ($line_height === false) {
+ // we need to scroll forward
+ for ($j = $i + 1; $j < $size; $j++) {
+ if ($bits[$j] === '') {
+ continue;
+ }
+ if ($bits[$j] === '/') {
+ if ($found_slash) {
+ return false;
+ } else {
+ $found_slash = true;
+ continue;
+ }
+ }
+ $line_height = $bits[$j];
+ break;
+ }
+ } else {
+ // slash already found
+ $found_slash = true;
+ $j = $i;
+ }
+ if ($found_slash) {
+ $i = $j;
+ $r = $this->info['line-height']->validate(
+ $line_height,
+ $config,
+ $context
+ );
+ if ($r !== false) {
+ $final .= '/' . $r;
+ }
+ }
+ $final .= ' ';
+ $stage = 2;
+ break;
+ }
+ return false;
+ case 2: // attempting to catch font-family
+ $font_family =
+ implode(' ', array_slice($bits, $i, $size - $i));
+ $r = $this->info['font-family']->validate(
+ $font_family,
+ $config,
+ $context
+ );
+ if ($r !== false) {
+ $final .= $r . ' ';
+ // processing completed successfully
+ return rtrim($final);
+ }
+ return false;
+ }
+ }
+ return false;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/FontFamily.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/FontFamily.php
new file mode 100644
index 000000000..74e24c881
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/FontFamily.php
@@ -0,0 +1,219 @@
+<?php
+
+/**
+ * Validates a font family list according to CSS spec
+ */
+class HTMLPurifier_AttrDef_CSS_FontFamily extends HTMLPurifier_AttrDef
+{
+
+ protected $mask = null;
+
+ public function __construct()
+ {
+ $this->mask = '_- ';
+ for ($c = 'a'; $c <= 'z'; $c++) {
+ $this->mask .= $c;
+ }
+ for ($c = 'A'; $c <= 'Z'; $c++) {
+ $this->mask .= $c;
+ }
+ for ($c = '0'; $c <= '9'; $c++) {
+ $this->mask .= $c;
+ } // cast-y, but should be fine
+ // special bytes used by UTF-8
+ for ($i = 0x80; $i <= 0xFF; $i++) {
+ // We don't bother excluding invalid bytes in this range,
+ // because the our restriction of well-formed UTF-8 will
+ // prevent these from ever occurring.
+ $this->mask .= chr($i);
+ }
+
+ /*
+ PHP's internal strcspn implementation is
+ O(length of string * length of mask), making it inefficient
+ for large masks. However, it's still faster than
+ preg_match 8)
+ for (p = s1;;) {
+ spanp = s2;
+ do {
+ if (*spanp == c || p == s1_end) {
+ return p - s1;
+ }
+ } while (spanp++ < (s2_end - 1));
+ c = *++p;
+ }
+ */
+ // possible optimization: invert the mask.
+ }
+
+ /**
+ * @param string $string
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($string, $config, $context)
+ {
+ static $generic_names = array(
+ 'serif' => true,
+ 'sans-serif' => true,
+ 'monospace' => true,
+ 'fantasy' => true,
+ 'cursive' => true
+ );
+ $allowed_fonts = $config->get('CSS.AllowedFonts');
+
+ // assume that no font names contain commas in them
+ $fonts = explode(',', $string);
+ $final = '';
+ foreach ($fonts as $font) {
+ $font = trim($font);
+ if ($font === '') {
+ continue;
+ }
+ // match a generic name
+ if (isset($generic_names[$font])) {
+ if ($allowed_fonts === null || isset($allowed_fonts[$font])) {
+ $final .= $font . ', ';
+ }
+ continue;
+ }
+ // match a quoted name
+ if ($font[0] === '"' || $font[0] === "'") {
+ $length = strlen($font);
+ if ($length <= 2) {
+ continue;
+ }
+ $quote = $font[0];
+ if ($font[$length - 1] !== $quote) {
+ continue;
+ }
+ $font = substr($font, 1, $length - 2);
+ }
+
+ $font = $this->expandCSSEscape($font);
+
+ // $font is a pure representation of the font name
+
+ if ($allowed_fonts !== null && !isset($allowed_fonts[$font])) {
+ continue;
+ }
+
+ if (ctype_alnum($font) && $font !== '') {
+ // very simple font, allow it in unharmed
+ $final .= $font . ', ';
+ continue;
+ }
+
+ // bugger out on whitespace. form feed (0C) really
+ // shouldn't show up regardless
+ $font = str_replace(array("\n", "\t", "\r", "\x0C"), ' ', $font);
+
+ // Here, there are various classes of characters which need
+ // to be treated differently:
+ // - Alphanumeric characters are essentially safe. We
+ // handled these above.
+ // - Spaces require quoting, though most parsers will do
+ // the right thing if there aren't any characters that
+ // can be misinterpreted
+ // - Dashes rarely occur, but they fairly unproblematic
+ // for parsing/rendering purposes.
+ // The above characters cover the majority of Western font
+ // names.
+ // - Arbitrary Unicode characters not in ASCII. Because
+ // most parsers give little thought to Unicode, treatment
+ // of these codepoints is basically uniform, even for
+ // punctuation-like codepoints. These characters can
+ // show up in non-Western pages and are supported by most
+ // major browsers, for example: "MS 明朝" is a
+ // legitimate font-name
+ // <http://ja.wikipedia.org/wiki/MS_明朝>. See
+ // the CSS3 spec for more examples:
+ // <http://www.w3.org/TR/2011/WD-css3-fonts-20110324/localizedfamilynames.png>
+ // You can see live samples of these on the Internet:
+ // <http://www.google.co.jp/search?q=font-family+MS+明朝|ゴシック>
+ // However, most of these fonts have ASCII equivalents:
+ // for example, 'MS Mincho', and it's considered
+ // professional to use ASCII font names instead of
+ // Unicode font names. Thanks Takeshi Terada for
+ // providing this information.
+ // The following characters, to my knowledge, have not been
+ // used to name font names.
+ // - Single quote. While theoretically you might find a
+ // font name that has a single quote in its name (serving
+ // as an apostrophe, e.g. Dave's Scribble), I haven't
+ // been able to find any actual examples of this.
+ // Internet Explorer's cssText translation (which I
+ // believe is invoked by innerHTML) normalizes any
+ // quoting to single quotes, and fails to escape single
+ // quotes. (Note that this is not IE's behavior for all
+ // CSS properties, just some sort of special casing for
+ // font-family). So a single quote *cannot* be used
+ // safely in the font-family context if there will be an
+ // innerHTML/cssText translation. Note that Firefox 3.x
+ // does this too.
+ // - Double quote. In IE, these get normalized to
+ // single-quotes, no matter what the encoding. (Fun
+ // fact, in IE8, the 'content' CSS property gained
+ // support, where they special cased to preserve encoded
+ // double quotes, but still translate unadorned double
+ // quotes into single quotes.) So, because their
+ // fixpoint behavior is identical to single quotes, they
+ // cannot be allowed either. Firefox 3.x displays
+ // single-quote style behavior.
+ // - Backslashes are reduced by one (so \\ -> \) every
+ // iteration, so they cannot be used safely. This shows
+ // up in IE7, IE8 and FF3
+ // - Semicolons, commas and backticks are handled properly.
+ // - The rest of the ASCII punctuation is handled properly.
+ // We haven't checked what browsers do to unadorned
+ // versions, but this is not important as long as the
+ // browser doesn't /remove/ surrounding quotes (as IE does
+ // for HTML).
+ //
+ // With these results in hand, we conclude that there are
+ // various levels of safety:
+ // - Paranoid: alphanumeric, spaces and dashes(?)
+ // - International: Paranoid + non-ASCII Unicode
+ // - Edgy: Everything except quotes, backslashes
+ // - NoJS: Standards compliance, e.g. sod IE. Note that
+ // with some judicious character escaping (since certain
+ // types of escaping doesn't work) this is theoretically
+ // OK as long as innerHTML/cssText is not called.
+ // We believe that international is a reasonable default
+ // (that we will implement now), and once we do more
+ // extensive research, we may feel comfortable with dropping
+ // it down to edgy.
+
+ // Edgy: alphanumeric, spaces, dashes, underscores and Unicode. Use of
+ // str(c)spn assumes that the string was already well formed
+ // Unicode (which of course it is).
+ if (strspn($font, $this->mask) !== strlen($font)) {
+ continue;
+ }
+
+ // Historical:
+ // In the absence of innerHTML/cssText, these ugly
+ // transforms don't pose a security risk (as \\ and \"
+ // might--these escapes are not supported by most browsers).
+ // We could try to be clever and use single-quote wrapping
+ // when there is a double quote present, but I have choosen
+ // not to implement that. (NOTE: you can reduce the amount
+ // of escapes by one depending on what quoting style you use)
+ // $font = str_replace('\\', '\\5C ', $font);
+ // $font = str_replace('"', '\\22 ', $font);
+ // $font = str_replace("'", '\\27 ', $font);
+
+ // font possibly with spaces, requires quoting
+ $final .= "'$font', ";
+ }
+ $final = rtrim($final, ', ');
+ if ($final === '') {
+ return false;
+ }
+ return $final;
+ }
+
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Ident.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Ident.php
new file mode 100644
index 000000000..973002c17
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Ident.php
@@ -0,0 +1,32 @@
+<?php
+
+/**
+ * Validates based on {ident} CSS grammar production
+ */
+class HTMLPurifier_AttrDef_CSS_Ident extends HTMLPurifier_AttrDef
+{
+
+ /**
+ * @param string $string
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($string, $config, $context)
+ {
+ $string = trim($string);
+
+ // early abort: '' and '0' (strings that convert to false) are invalid
+ if (!$string) {
+ return false;
+ }
+
+ $pattern = '/^(-?[A-Za-z_][A-Za-z_\-0-9]*)$/';
+ if (!preg_match($pattern, $string)) {
+ return false;
+ }
+ return $string;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/ImportantDecorator.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/ImportantDecorator.php
new file mode 100644
index 000000000..ffc989fe8
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/ImportantDecorator.php
@@ -0,0 +1,56 @@
+<?php
+
+/**
+ * Decorator which enables !important to be used in CSS values.
+ */
+class HTMLPurifier_AttrDef_CSS_ImportantDecorator extends HTMLPurifier_AttrDef
+{
+ /**
+ * @type HTMLPurifier_AttrDef
+ */
+ public $def;
+ /**
+ * @type bool
+ */
+ public $allow;
+
+ /**
+ * @param HTMLPurifier_AttrDef $def Definition to wrap
+ * @param bool $allow Whether or not to allow !important
+ */
+ public function __construct($def, $allow = false)
+ {
+ $this->def = $def;
+ $this->allow = $allow;
+ }
+
+ /**
+ * Intercepts and removes !important if necessary
+ * @param string $string
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($string, $config, $context)
+ {
+ // test for ! and important tokens
+ $string = trim($string);
+ $is_important = false;
+ // :TODO: optimization: test directly for !important and ! important
+ if (strlen($string) >= 9 && substr($string, -9) === 'important') {
+ $temp = rtrim(substr($string, 0, -9));
+ // use a temp, because we might want to restore important
+ if (strlen($temp) >= 1 && substr($temp, -1) === '!') {
+ $string = rtrim(substr($temp, 0, -1));
+ $is_important = true;
+ }
+ }
+ $string = $this->def->validate($string, $config, $context);
+ if ($this->allow && $is_important) {
+ $string .= ' !important';
+ }
+ return $string;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Length.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Length.php
new file mode 100644
index 000000000..f12453a04
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Length.php
@@ -0,0 +1,77 @@
+<?php
+
+/**
+ * Represents a Length as defined by CSS.
+ */
+class HTMLPurifier_AttrDef_CSS_Length extends HTMLPurifier_AttrDef
+{
+
+ /**
+ * @type HTMLPurifier_Length|string
+ */
+ protected $min;
+
+ /**
+ * @type HTMLPurifier_Length|string
+ */
+ protected $max;
+
+ /**
+ * @param HTMLPurifier_Length|string $min Minimum length, or null for no bound. String is also acceptable.
+ * @param HTMLPurifier_Length|string $max Maximum length, or null for no bound. String is also acceptable.
+ */
+ public function __construct($min = null, $max = null)
+ {
+ $this->min = $min !== null ? HTMLPurifier_Length::make($min) : null;
+ $this->max = $max !== null ? HTMLPurifier_Length::make($max) : null;
+ }
+
+ /**
+ * @param string $string
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($string, $config, $context)
+ {
+ $string = $this->parseCDATA($string);
+
+ // Optimizations
+ if ($string === '') {
+ return false;
+ }
+ if ($string === '0') {
+ return '0';
+ }
+ if (strlen($string) === 1) {
+ return false;
+ }
+
+ $length = HTMLPurifier_Length::make($string);
+ if (!$length->isValid()) {
+ return false;
+ }
+
+ if ($this->min) {
+ $c = $length->compareTo($this->min);
+ if ($c === false) {
+ return false;
+ }
+ if ($c < 0) {
+ return false;
+ }
+ }
+ if ($this->max) {
+ $c = $length->compareTo($this->max);
+ if ($c === false) {
+ return false;
+ }
+ if ($c > 0) {
+ return false;
+ }
+ }
+ return $length->toString();
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/ListStyle.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/ListStyle.php
new file mode 100644
index 000000000..e74d42654
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/ListStyle.php
@@ -0,0 +1,112 @@
+<?php
+
+/**
+ * Validates shorthand CSS property list-style.
+ * @warning Does not support url tokens that have internal spaces.
+ */
+class HTMLPurifier_AttrDef_CSS_ListStyle extends HTMLPurifier_AttrDef
+{
+
+ /**
+ * Local copy of validators.
+ * @type HTMLPurifier_AttrDef[]
+ * @note See HTMLPurifier_AttrDef_CSS_Font::$info for a similar impl.
+ */
+ protected $info;
+
+ /**
+ * @param HTMLPurifier_Config $config
+ */
+ public function __construct($config)
+ {
+ $def = $config->getCSSDefinition();
+ $this->info['list-style-type'] = $def->info['list-style-type'];
+ $this->info['list-style-position'] = $def->info['list-style-position'];
+ $this->info['list-style-image'] = $def->info['list-style-image'];
+ }
+
+ /**
+ * @param string $string
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($string, $config, $context)
+ {
+ // regular pre-processing
+ $string = $this->parseCDATA($string);
+ if ($string === '') {
+ return false;
+ }
+
+ // assumes URI doesn't have spaces in it
+ $bits = explode(' ', strtolower($string)); // bits to process
+
+ $caught = array();
+ $caught['type'] = false;
+ $caught['position'] = false;
+ $caught['image'] = false;
+
+ $i = 0; // number of catches
+ $none = false;
+
+ foreach ($bits as $bit) {
+ if ($i >= 3) {
+ return;
+ } // optimization bit
+ if ($bit === '') {
+ continue;
+ }
+ foreach ($caught as $key => $status) {
+ if ($status !== false) {
+ continue;
+ }
+ $r = $this->info['list-style-' . $key]->validate($bit, $config, $context);
+ if ($r === false) {
+ continue;
+ }
+ if ($r === 'none') {
+ if ($none) {
+ continue;
+ } else {
+ $none = true;
+ }
+ if ($key == 'image') {
+ continue;
+ }
+ }
+ $caught[$key] = $r;
+ $i++;
+ break;
+ }
+ }
+
+ if (!$i) {
+ return false;
+ }
+
+ $ret = array();
+
+ // construct type
+ if ($caught['type']) {
+ $ret[] = $caught['type'];
+ }
+
+ // construct image
+ if ($caught['image']) {
+ $ret[] = $caught['image'];
+ }
+
+ // construct position
+ if ($caught['position']) {
+ $ret[] = $caught['position'];
+ }
+
+ if (empty($ret)) {
+ return false;
+ }
+ return implode(' ', $ret);
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Multiple.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Multiple.php
new file mode 100644
index 000000000..e707f871c
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Multiple.php
@@ -0,0 +1,71 @@
+<?php
+
+/**
+ * Framework class for strings that involve multiple values.
+ *
+ * Certain CSS properties such as border-width and margin allow multiple
+ * lengths to be specified. This class can take a vanilla border-width
+ * definition and multiply it, usually into a max of four.
+ *
+ * @note Even though the CSS specification isn't clear about it, inherit
+ * can only be used alone: it will never manifest as part of a multi
+ * shorthand declaration. Thus, this class does not allow inherit.
+ */
+class HTMLPurifier_AttrDef_CSS_Multiple extends HTMLPurifier_AttrDef
+{
+ /**
+ * Instance of component definition to defer validation to.
+ * @type HTMLPurifier_AttrDef
+ * @todo Make protected
+ */
+ public $single;
+
+ /**
+ * Max number of values allowed.
+ * @todo Make protected
+ */
+ public $max;
+
+ /**
+ * @param HTMLPurifier_AttrDef $single HTMLPurifier_AttrDef to multiply
+ * @param int $max Max number of values allowed (usually four)
+ */
+ public function __construct($single, $max = 4)
+ {
+ $this->single = $single;
+ $this->max = $max;
+ }
+
+ /**
+ * @param string $string
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($string, $config, $context)
+ {
+ $string = $this->mungeRgb($this->parseCDATA($string));
+ if ($string === '') {
+ return false;
+ }
+ $parts = explode(' ', $string); // parseCDATA replaced \r, \t and \n
+ $length = count($parts);
+ $final = '';
+ for ($i = 0, $num = 0; $i < $length && $num < $this->max; $i++) {
+ if (ctype_space($parts[$i])) {
+ continue;
+ }
+ $result = $this->single->validate($parts[$i], $config, $context);
+ if ($result !== false) {
+ $final .= $result . ' ';
+ $num++;
+ }
+ }
+ if ($final === '') {
+ return false;
+ }
+ return rtrim($final);
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Number.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Number.php
new file mode 100644
index 000000000..8edc159e7
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Number.php
@@ -0,0 +1,84 @@
+<?php
+
+/**
+ * Validates a number as defined by the CSS spec.
+ */
+class HTMLPurifier_AttrDef_CSS_Number extends HTMLPurifier_AttrDef
+{
+
+ /**
+ * Indicates whether or not only positive values are allowed.
+ * @type bool
+ */
+ protected $non_negative = false;
+
+ /**
+ * @param bool $non_negative indicates whether negatives are forbidden
+ */
+ public function __construct($non_negative = false)
+ {
+ $this->non_negative = $non_negative;
+ }
+
+ /**
+ * @param string $number
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return string|bool
+ * @warning Some contexts do not pass $config, $context. These
+ * variables should not be used without checking HTMLPurifier_Length
+ */
+ public function validate($number, $config, $context)
+ {
+ $number = $this->parseCDATA($number);
+
+ if ($number === '') {
+ return false;
+ }
+ if ($number === '0') {
+ return '0';
+ }
+
+ $sign = '';
+ switch ($number[0]) {
+ case '-':
+ if ($this->non_negative) {
+ return false;
+ }
+ $sign = '-';
+ case '+':
+ $number = substr($number, 1);
+ }
+
+ if (ctype_digit($number)) {
+ $number = ltrim($number, '0');
+ return $number ? $sign . $number : '0';
+ }
+
+ // Period is the only non-numeric character allowed
+ if (strpos($number, '.') === false) {
+ return false;
+ }
+
+ list($left, $right) = explode('.', $number, 2);
+
+ if ($left === '' && $right === '') {
+ return false;
+ }
+ if ($left !== '' && !ctype_digit($left)) {
+ return false;
+ }
+
+ $left = ltrim($left, '0');
+ $right = rtrim($right, '0');
+
+ if ($right === '') {
+ return $left ? $sign . $left : '0';
+ } elseif (!ctype_digit($right)) {
+ return false;
+ }
+ return $sign . $left . '.' . $right;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Percentage.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Percentage.php
new file mode 100644
index 000000000..f0f25c50a
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Percentage.php
@@ -0,0 +1,54 @@
+<?php
+
+/**
+ * Validates a Percentage as defined by the CSS spec.
+ */
+class HTMLPurifier_AttrDef_CSS_Percentage extends HTMLPurifier_AttrDef
+{
+
+ /**
+ * Instance to defer number validation to.
+ * @type HTMLPurifier_AttrDef_CSS_Number
+ */
+ protected $number_def;
+
+ /**
+ * @param bool $non_negative Whether to forbid negative values
+ */
+ public function __construct($non_negative = false)
+ {
+ $this->number_def = new HTMLPurifier_AttrDef_CSS_Number($non_negative);
+ }
+
+ /**
+ * @param string $string
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($string, $config, $context)
+ {
+ $string = $this->parseCDATA($string);
+
+ if ($string === '') {
+ return false;
+ }
+ $length = strlen($string);
+ if ($length === 1) {
+ return false;
+ }
+ if ($string[$length - 1] !== '%') {
+ return false;
+ }
+
+ $number = substr($string, 0, $length - 1);
+ $number = $this->number_def->validate($number, $config, $context);
+
+ if ($number === false) {
+ return false;
+ }
+ return "$number%";
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/TextDecoration.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/TextDecoration.php
new file mode 100644
index 000000000..5fd4b7f7b
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/TextDecoration.php
@@ -0,0 +1,46 @@
+<?php
+
+/**
+ * Validates the value for the CSS property text-decoration
+ * @note This class could be generalized into a version that acts sort of
+ * like Enum except you can compound the allowed values.
+ */
+class HTMLPurifier_AttrDef_CSS_TextDecoration extends HTMLPurifier_AttrDef
+{
+
+ /**
+ * @param string $string
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($string, $config, $context)
+ {
+ static $allowed_values = array(
+ 'line-through' => true,
+ 'overline' => true,
+ 'underline' => true,
+ );
+
+ $string = strtolower($this->parseCDATA($string));
+
+ if ($string === 'none') {
+ return $string;
+ }
+
+ $parts = explode(' ', $string);
+ $final = '';
+ foreach ($parts as $part) {
+ if (isset($allowed_values[$part])) {
+ $final .= $part . ' ';
+ }
+ }
+ $final = rtrim($final);
+ if ($final === '') {
+ return false;
+ }
+ return $final;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/URI.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/URI.php
new file mode 100644
index 000000000..6617acace
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/URI.php
@@ -0,0 +1,77 @@
+<?php
+
+/**
+ * Validates a URI in CSS syntax, which uses url('http://example.com')
+ * @note While theoretically speaking a URI in a CSS document could
+ * be non-embedded, as of CSS2 there is no such usage so we're
+ * generalizing it. This may need to be changed in the future.
+ * @warning Since HTMLPurifier_AttrDef_CSS blindly uses semicolons as
+ * the separator, you cannot put a literal semicolon in
+ * in the URI. Try percent encoding it, in that case.
+ */
+class HTMLPurifier_AttrDef_CSS_URI extends HTMLPurifier_AttrDef_URI
+{
+
+ public function __construct()
+ {
+ parent::__construct(true); // always embedded
+ }
+
+ /**
+ * @param string $uri_string
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($uri_string, $config, $context)
+ {
+ // parse the URI out of the string and then pass it onto
+ // the parent object
+
+ $uri_string = $this->parseCDATA($uri_string);
+ if (strpos($uri_string, 'url(') !== 0) {
+ return false;
+ }
+ $uri_string = substr($uri_string, 4);
+ if (strlen($uri_string) == 0) {
+ return false;
+ }
+ $new_length = strlen($uri_string) - 1;
+ if ($uri_string[$new_length] != ')') {
+ return false;
+ }
+ $uri = trim(substr($uri_string, 0, $new_length));
+
+ if (!empty($uri) && ($uri[0] == "'" || $uri[0] == '"')) {
+ $quote = $uri[0];
+ $new_length = strlen($uri) - 1;
+ if ($uri[$new_length] !== $quote) {
+ return false;
+ }
+ $uri = substr($uri, 1, $new_length - 1);
+ }
+
+ $uri = $this->expandCSSEscape($uri);
+
+ $result = parent::validate($uri, $config, $context);
+
+ if ($result === false) {
+ return false;
+ }
+
+ // extra sanity check; should have been done by URI
+ $result = str_replace(array('"', "\\", "\n", "\x0c", "\r"), "", $result);
+
+ // suspicious characters are ()'; we're going to percent encode
+ // them for safety.
+ $result = str_replace(array('(', ')', "'"), array('%28', '%29', '%27'), $result);
+
+ // there's an extra bug where ampersands lose their escaping on
+ // an innerHTML cycle, so a very unlucky query parameter could
+ // then change the meaning of the URL. Unfortunately, there's
+ // not much we can do about that...
+ return "url(\"$result\")";
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/Clone.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/Clone.php
new file mode 100644
index 000000000..6698a00c0
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/Clone.php
@@ -0,0 +1,44 @@
+<?php
+
+/**
+ * Dummy AttrDef that mimics another AttrDef, BUT it generates clones
+ * with make.
+ */
+class HTMLPurifier_AttrDef_Clone extends HTMLPurifier_AttrDef
+{
+ /**
+ * What we're cloning.
+ * @type HTMLPurifier_AttrDef
+ */
+ protected $clone;
+
+ /**
+ * @param HTMLPurifier_AttrDef $clone
+ */
+ public function __construct($clone)
+ {
+ $this->clone = $clone;
+ }
+
+ /**
+ * @param string $v
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($v, $config, $context)
+ {
+ return $this->clone->validate($v, $config, $context);
+ }
+
+ /**
+ * @param string $string
+ * @return HTMLPurifier_AttrDef
+ */
+ public function make($string)
+ {
+ return clone $this->clone;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/Enum.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/Enum.php
new file mode 100644
index 000000000..8abda7f6e
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/Enum.php
@@ -0,0 +1,73 @@
+<?php
+
+// Enum = Enumerated
+/**
+ * Validates a keyword against a list of valid values.
+ * @warning The case-insensitive compare of this function uses PHP's
+ * built-in strtolower and ctype_lower functions, which may
+ * cause problems with international comparisons
+ */
+class HTMLPurifier_AttrDef_Enum extends HTMLPurifier_AttrDef
+{
+
+ /**
+ * Lookup table of valid values.
+ * @type array
+ * @todo Make protected
+ */
+ public $valid_values = array();
+
+ /**
+ * Bool indicating whether or not enumeration is case sensitive.
+ * @note In general this is always case insensitive.
+ */
+ protected $case_sensitive = false; // values according to W3C spec
+
+ /**
+ * @param array $valid_values List of valid values
+ * @param bool $case_sensitive Whether or not case sensitive
+ */
+ public function __construct($valid_values = array(), $case_sensitive = false)
+ {
+ $this->valid_values = array_flip($valid_values);
+ $this->case_sensitive = $case_sensitive;
+ }
+
+ /**
+ * @param string $string
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($string, $config, $context)
+ {
+ $string = trim($string);
+ if (!$this->case_sensitive) {
+ // we may want to do full case-insensitive libraries
+ $string = ctype_lower($string) ? $string : strtolower($string);
+ }
+ $result = isset($this->valid_values[$string]);
+
+ return $result ? $string : false;
+ }
+
+ /**
+ * @param string $string In form of comma-delimited list of case-insensitive
+ * valid values. Example: "foo,bar,baz". Prepend "s:" to make
+ * case sensitive
+ * @return HTMLPurifier_AttrDef_Enum
+ */
+ public function make($string)
+ {
+ if (strlen($string) > 2 && $string[0] == 's' && $string[1] == ':') {
+ $string = substr($string, 2);
+ $sensitive = true;
+ } else {
+ $sensitive = false;
+ }
+ $values = explode(',', $string);
+ return new HTMLPurifier_AttrDef_Enum($values, $sensitive);
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/Bool.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/Bool.php
new file mode 100644
index 000000000..dea15d2cd
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/Bool.php
@@ -0,0 +1,48 @@
+<?php
+
+/**
+ * Validates a boolean attribute
+ */
+class HTMLPurifier_AttrDef_HTML_Bool extends HTMLPurifier_AttrDef
+{
+
+ /**
+ * @type bool
+ */
+ protected $name;
+
+ /**
+ * @type bool
+ */
+ public $minimized = true;
+
+ /**
+ * @param bool $name
+ */
+ public function __construct($name = false)
+ {
+ $this->name = $name;
+ }
+
+ /**
+ * @param string $string
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($string, $config, $context)
+ {
+ return $this->name;
+ }
+
+ /**
+ * @param string $string Name of attribute
+ * @return HTMLPurifier_AttrDef_HTML_Bool
+ */
+ public function make($string)
+ {
+ return new HTMLPurifier_AttrDef_HTML_Bool($string);
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/Class.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/Class.php
new file mode 100644
index 000000000..d5013488f
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/Class.php
@@ -0,0 +1,48 @@
+<?php
+
+/**
+ * Implements special behavior for class attribute (normally NMTOKENS)
+ */
+class HTMLPurifier_AttrDef_HTML_Class extends HTMLPurifier_AttrDef_HTML_Nmtokens
+{
+ /**
+ * @param string $string
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ protected function split($string, $config, $context)
+ {
+ // really, this twiddle should be lazy loaded
+ $name = $config->getDefinition('HTML')->doctype->name;
+ if ($name == "XHTML 1.1" || $name == "XHTML 2.0") {
+ return parent::split($string, $config, $context);
+ } else {
+ return preg_split('/\s+/', $string);
+ }
+ }
+
+ /**
+ * @param array $tokens
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return array
+ */
+ protected function filter($tokens, $config, $context)
+ {
+ $allowed = $config->get('Attr.AllowedClasses');
+ $forbidden = $config->get('Attr.ForbiddenClasses');
+ $ret = array();
+ foreach ($tokens as $token) {
+ if (($allowed === null || isset($allowed[$token])) &&
+ !isset($forbidden[$token]) &&
+ // We need this O(n) check because of PHP's array
+ // implementation that casts -0 to 0.
+ !in_array($token, $ret, true)
+ ) {
+ $ret[] = $token;
+ }
+ }
+ return $ret;
+ }
+}
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/Color.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/Color.php
new file mode 100644
index 000000000..946ebb782
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/Color.php
@@ -0,0 +1,51 @@
+<?php
+
+/**
+ * Validates a color according to the HTML spec.
+ */
+class HTMLPurifier_AttrDef_HTML_Color extends HTMLPurifier_AttrDef
+{
+
+ /**
+ * @param string $string
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($string, $config, $context)
+ {
+ static $colors = null;
+ if ($colors === null) {
+ $colors = $config->get('Core.ColorKeywords');
+ }
+
+ $string = trim($string);
+
+ if (empty($string)) {
+ return false;
+ }
+ $lower = strtolower($string);
+ if (isset($colors[$lower])) {
+ return $colors[$lower];
+ }
+ if ($string[0] === '#') {
+ $hex = substr($string, 1);
+ } else {
+ $hex = $string;
+ }
+
+ $length = strlen($hex);
+ if ($length !== 3 && $length !== 6) {
+ return false;
+ }
+ if (!ctype_xdigit($hex)) {
+ return false;
+ }
+ if ($length === 3) {
+ $hex = $hex[0] . $hex[0] . $hex[1] . $hex[1] . $hex[2] . $hex[2];
+ }
+ return "#$hex";
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/FrameTarget.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/FrameTarget.php
new file mode 100644
index 000000000..d79ba12b3
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/FrameTarget.php
@@ -0,0 +1,38 @@
+<?php
+
+/**
+ * Special-case enum attribute definition that lazy loads allowed frame targets
+ */
+class HTMLPurifier_AttrDef_HTML_FrameTarget extends HTMLPurifier_AttrDef_Enum
+{
+
+ /**
+ * @type array
+ */
+ public $valid_values = false; // uninitialized value
+
+ /**
+ * @type bool
+ */
+ protected $case_sensitive = false;
+
+ public function __construct()
+ {
+ }
+
+ /**
+ * @param string $string
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($string, $config, $context)
+ {
+ if ($this->valid_values === false) {
+ $this->valid_values = $config->get('Attr.AllowedFrameTargets');
+ }
+ return parent::validate($string, $config, $context);
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/ID.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/ID.php
new file mode 100644
index 000000000..4ba45610f
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/ID.php
@@ -0,0 +1,113 @@
+<?php
+
+/**
+ * Validates the HTML attribute ID.
+ * @warning Even though this is the id processor, it
+ * will ignore the directive Attr:IDBlacklist, since it will only
+ * go according to the ID accumulator. Since the accumulator is
+ * automatically generated, it will have already absorbed the
+ * blacklist. If you're hacking around, make sure you use load()!
+ */
+
+class HTMLPurifier_AttrDef_HTML_ID extends HTMLPurifier_AttrDef
+{
+
+ // selector is NOT a valid thing to use for IDREFs, because IDREFs
+ // *must* target IDs that exist, whereas selector #ids do not.
+
+ /**
+ * Determines whether or not we're validating an ID in a CSS
+ * selector context.
+ * @type bool
+ */
+ protected $selector;
+
+ /**
+ * @param bool $selector
+ */
+ public function __construct($selector = false)
+ {
+ $this->selector = $selector;
+ }
+
+ /**
+ * @param string $id
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($id, $config, $context)
+ {
+ if (!$this->selector && !$config->get('Attr.EnableID')) {
+ return false;
+ }
+
+ $id = trim($id); // trim it first
+
+ if ($id === '') {
+ return false;
+ }
+
+ $prefix = $config->get('Attr.IDPrefix');
+ if ($prefix !== '') {
+ $prefix .= $config->get('Attr.IDPrefixLocal');
+ // prevent re-appending the prefix
+ if (strpos($id, $prefix) !== 0) {
+ $id = $prefix . $id;
+ }
+ } elseif ($config->get('Attr.IDPrefixLocal') !== '') {
+ trigger_error(
+ '%Attr.IDPrefixLocal cannot be used unless ' .
+ '%Attr.IDPrefix is set',
+ E_USER_WARNING
+ );
+ }
+
+ if (!$this->selector) {
+ $id_accumulator =& $context->get('IDAccumulator');
+ if (isset($id_accumulator->ids[$id])) {
+ return false;
+ }
+ }
+
+ // we purposely avoid using regex, hopefully this is faster
+
+ if ($config->get('Attr.ID.HTML5') === true) {
+ if (preg_match('/[\t\n\x0b\x0c ]/', $id)) {
+ return false;
+ }
+ } else {
+ if (ctype_alpha($id)) {
+ // OK
+ } else {
+ if (!ctype_alpha(@$id[0])) {
+ return false;
+ }
+ // primitive style of regexps, I suppose
+ $trim = trim(
+ $id,
+ 'A..Za..z0..9:-._'
+ );
+ if ($trim !== '') {
+ return false;
+ }
+ }
+ }
+
+ $regexp = $config->get('Attr.IDBlacklistRegexp');
+ if ($regexp && preg_match($regexp, $id)) {
+ return false;
+ }
+
+ if (!$this->selector) {
+ $id_accumulator->add($id);
+ }
+
+ // if no change was made to the ID, return the result
+ // else, return the new id if stripping whitespace made it
+ // valid, or return false.
+ return $id;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/Length.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/Length.php
new file mode 100644
index 000000000..1c4006fbb
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/Length.php
@@ -0,0 +1,56 @@
+<?php
+
+/**
+ * Validates the HTML type length (not to be confused with CSS's length).
+ *
+ * This accepts integer pixels or percentages as lengths for certain
+ * HTML attributes.
+ */
+
+class HTMLPurifier_AttrDef_HTML_Length extends HTMLPurifier_AttrDef_HTML_Pixels
+{
+
+ /**
+ * @param string $string
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($string, $config, $context)
+ {
+ $string = trim($string);
+ if ($string === '') {
+ return false;
+ }
+
+ $parent_result = parent::validate($string, $config, $context);
+ if ($parent_result !== false) {
+ return $parent_result;
+ }
+
+ $length = strlen($string);
+ $last_char = $string[$length - 1];
+
+ if ($last_char !== '%') {
+ return false;
+ }
+
+ $points = substr($string, 0, $length - 1);
+
+ if (!is_numeric($points)) {
+ return false;
+ }
+
+ $points = (int)$points;
+
+ if ($points < 0) {
+ return '0%';
+ }
+ if ($points > 100) {
+ return '100%';
+ }
+ return ((string)$points) . '%';
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/LinkTypes.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/LinkTypes.php
new file mode 100644
index 000000000..63fa04c15
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/LinkTypes.php
@@ -0,0 +1,72 @@
+<?php
+
+/**
+ * Validates a rel/rev link attribute against a directive of allowed values
+ * @note We cannot use Enum because link types allow multiple
+ * values.
+ * @note Assumes link types are ASCII text
+ */
+class HTMLPurifier_AttrDef_HTML_LinkTypes extends HTMLPurifier_AttrDef
+{
+
+ /**
+ * Name config attribute to pull.
+ * @type string
+ */
+ protected $name;
+
+ /**
+ * @param string $name
+ */
+ public function __construct($name)
+ {
+ $configLookup = array(
+ 'rel' => 'AllowedRel',
+ 'rev' => 'AllowedRev'
+ );
+ if (!isset($configLookup[$name])) {
+ trigger_error(
+ 'Unrecognized attribute name for link ' .
+ 'relationship.',
+ E_USER_ERROR
+ );
+ return;
+ }
+ $this->name = $configLookup[$name];
+ }
+
+ /**
+ * @param string $string
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($string, $config, $context)
+ {
+ $allowed = $config->get('Attr.' . $this->name);
+ if (empty($allowed)) {
+ return false;
+ }
+
+ $string = $this->parseCDATA($string);
+ $parts = explode(' ', $string);
+
+ // lookup to prevent duplicates
+ $ret_lookup = array();
+ foreach ($parts as $part) {
+ $part = strtolower(trim($part));
+ if (!isset($allowed[$part])) {
+ continue;
+ }
+ $ret_lookup[$part] = true;
+ }
+
+ if (empty($ret_lookup)) {
+ return false;
+ }
+ $string = implode(' ', array_keys($ret_lookup));
+ return $string;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/MultiLength.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/MultiLength.php
new file mode 100644
index 000000000..bbb20f2f8
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/MultiLength.php
@@ -0,0 +1,60 @@
+<?php
+
+/**
+ * Validates a MultiLength as defined by the HTML spec.
+ *
+ * A multilength is either a integer (pixel count), a percentage, or
+ * a relative number.
+ */
+class HTMLPurifier_AttrDef_HTML_MultiLength extends HTMLPurifier_AttrDef_HTML_Length
+{
+
+ /**
+ * @param string $string
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($string, $config, $context)
+ {
+ $string = trim($string);
+ if ($string === '') {
+ return false;
+ }
+
+ $parent_result = parent::validate($string, $config, $context);
+ if ($parent_result !== false) {
+ return $parent_result;
+ }
+
+ $length = strlen($string);
+ $last_char = $string[$length - 1];
+
+ if ($last_char !== '*') {
+ return false;
+ }
+
+ $int = substr($string, 0, $length - 1);
+
+ if ($int == '') {
+ return '*';
+ }
+ if (!is_numeric($int)) {
+ return false;
+ }
+
+ $int = (int)$int;
+ if ($int < 0) {
+ return false;
+ }
+ if ($int == 0) {
+ return '0';
+ }
+ if ($int == 1) {
+ return '*';
+ }
+ return ((string)$int) . '*';
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/Nmtokens.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/Nmtokens.php
new file mode 100644
index 000000000..f79683b4f
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/Nmtokens.php
@@ -0,0 +1,70 @@
+<?php
+
+/**
+ * Validates contents based on NMTOKENS attribute type.
+ */
+class HTMLPurifier_AttrDef_HTML_Nmtokens extends HTMLPurifier_AttrDef
+{
+
+ /**
+ * @param string $string
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($string, $config, $context)
+ {
+ $string = trim($string);
+
+ // early abort: '' and '0' (strings that convert to false) are invalid
+ if (!$string) {
+ return false;
+ }
+
+ $tokens = $this->split($string, $config, $context);
+ $tokens = $this->filter($tokens, $config, $context);
+ if (empty($tokens)) {
+ return false;
+ }
+ return implode(' ', $tokens);
+ }
+
+ /**
+ * Splits a space separated list of tokens into its constituent parts.
+ * @param string $string
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return array
+ */
+ protected function split($string, $config, $context)
+ {
+ // OPTIMIZABLE!
+ // do the preg_match, capture all subpatterns for reformulation
+
+ // we don't support U+00A1 and up codepoints or
+ // escaping because I don't know how to do that with regexps
+ // and plus it would complicate optimization efforts (you never
+ // see that anyway).
+ $pattern = '/(?:(?<=\s)|\A)' . // look behind for space or string start
+ '((?:--|-?[A-Za-z_])[A-Za-z_\-0-9]*)' .
+ '(?:(?=\s)|\z)/'; // look ahead for space or string end
+ preg_match_all($pattern, $string, $matches);
+ return $matches[1];
+ }
+
+ /**
+ * Template method for removing certain tokens based on arbitrary criteria.
+ * @note If we wanted to be really functional, we'd do an array_filter
+ * with a callback. But... we're not.
+ * @param array $tokens
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return array
+ */
+ protected function filter($tokens, $config, $context)
+ {
+ return $tokens;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/Pixels.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/Pixels.php
new file mode 100644
index 000000000..a1d019e09
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/Pixels.php
@@ -0,0 +1,76 @@
+<?php
+
+/**
+ * Validates an integer representation of pixels according to the HTML spec.
+ */
+class HTMLPurifier_AttrDef_HTML_Pixels extends HTMLPurifier_AttrDef
+{
+
+ /**
+ * @type int
+ */
+ protected $max;
+
+ /**
+ * @param int $max
+ */
+ public function __construct($max = null)
+ {
+ $this->max = $max;
+ }
+
+ /**
+ * @param string $string
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($string, $config, $context)
+ {
+ $string = trim($string);
+ if ($string === '0') {
+ return $string;
+ }
+ if ($string === '') {
+ return false;
+ }
+ $length = strlen($string);
+ if (substr($string, $length - 2) == 'px') {
+ $string = substr($string, 0, $length - 2);
+ }
+ if (!is_numeric($string)) {
+ return false;
+ }
+ $int = (int)$string;
+
+ if ($int < 0) {
+ return '0';
+ }
+
+ // upper-bound value, extremely high values can
+ // crash operating systems, see <http://ha.ckers.org/imagecrash.html>
+ // WARNING, above link WILL crash you if you're using Windows
+
+ if ($this->max !== null && $int > $this->max) {
+ return (string)$this->max;
+ }
+ return (string)$int;
+ }
+
+ /**
+ * @param string $string
+ * @return HTMLPurifier_AttrDef
+ */
+ public function make($string)
+ {
+ if ($string === '') {
+ $max = null;
+ } else {
+ $max = (int)$string;
+ }
+ $class = get_class($this);
+ return new $class($max);
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/Integer.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/Integer.php
new file mode 100644
index 000000000..400e707d2
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/Integer.php
@@ -0,0 +1,91 @@
+<?php
+
+/**
+ * Validates an integer.
+ * @note While this class was modeled off the CSS definition, no currently
+ * allowed CSS uses this type. The properties that do are: widows,
+ * orphans, z-index, counter-increment, counter-reset. Some of the
+ * HTML attributes, however, find use for a non-negative version of this.
+ */
+class HTMLPurifier_AttrDef_Integer extends HTMLPurifier_AttrDef
+{
+
+ /**
+ * Whether or not negative values are allowed.
+ * @type bool
+ */
+ protected $negative = true;
+
+ /**
+ * Whether or not zero is allowed.
+ * @type bool
+ */
+ protected $zero = true;
+
+ /**
+ * Whether or not positive values are allowed.
+ * @type bool
+ */
+ protected $positive = true;
+
+ /**
+ * @param $negative Bool indicating whether or not negative values are allowed
+ * @param $zero Bool indicating whether or not zero is allowed
+ * @param $positive Bool indicating whether or not positive values are allowed
+ */
+ public function __construct($negative = true, $zero = true, $positive = true)
+ {
+ $this->negative = $negative;
+ $this->zero = $zero;
+ $this->positive = $positive;
+ }
+
+ /**
+ * @param string $integer
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($integer, $config, $context)
+ {
+ $integer = $this->parseCDATA($integer);
+ if ($integer === '') {
+ return false;
+ }
+
+ // we could possibly simply typecast it to integer, but there are
+ // certain fringe cases that must not return an integer.
+
+ // clip leading sign
+ if ($this->negative && $integer[0] === '-') {
+ $digits = substr($integer, 1);
+ if ($digits === '0') {
+ $integer = '0';
+ } // rm minus sign for zero
+ } elseif ($this->positive && $integer[0] === '+') {
+ $digits = $integer = substr($integer, 1); // rm unnecessary plus
+ } else {
+ $digits = $integer;
+ }
+
+ // test if it's numeric
+ if (!ctype_digit($digits)) {
+ return false;
+ }
+
+ // perform scope tests
+ if (!$this->zero && $integer == 0) {
+ return false;
+ }
+ if (!$this->positive && $integer > 0) {
+ return false;
+ }
+ if (!$this->negative && $integer < 0) {
+ return false;
+ }
+
+ return $integer;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/Lang.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/Lang.php
new file mode 100644
index 000000000..2a55cea64
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/Lang.php
@@ -0,0 +1,86 @@
+<?php
+
+/**
+ * Validates the HTML attribute lang, effectively a language code.
+ * @note Built according to RFC 3066, which obsoleted RFC 1766
+ */
+class HTMLPurifier_AttrDef_Lang extends HTMLPurifier_AttrDef
+{
+
+ /**
+ * @param string $string
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($string, $config, $context)
+ {
+ $string = trim($string);
+ if (!$string) {
+ return false;
+ }
+
+ $subtags = explode('-', $string);
+ $num_subtags = count($subtags);
+
+ if ($num_subtags == 0) { // sanity check
+ return false;
+ }
+
+ // process primary subtag : $subtags[0]
+ $length = strlen($subtags[0]);
+ switch ($length) {
+ case 0:
+ return false;
+ case 1:
+ if (!($subtags[0] == 'x' || $subtags[0] == 'i')) {
+ return false;
+ }
+ break;
+ case 2:
+ case 3:
+ if (!ctype_alpha($subtags[0])) {
+ return false;
+ } elseif (!ctype_lower($subtags[0])) {
+ $subtags[0] = strtolower($subtags[0]);
+ }
+ break;
+ default:
+ return false;
+ }
+
+ $new_string = $subtags[0];
+ if ($num_subtags == 1) {
+ return $new_string;
+ }
+
+ // process second subtag : $subtags[1]
+ $length = strlen($subtags[1]);
+ if ($length == 0 || ($length == 1 && $subtags[1] != 'x') || $length > 8 || !ctype_alnum($subtags[1])) {
+ return $new_string;
+ }
+ if (!ctype_lower($subtags[1])) {
+ $subtags[1] = strtolower($subtags[1]);
+ }
+
+ $new_string .= '-' . $subtags[1];
+ if ($num_subtags == 2) {
+ return $new_string;
+ }
+
+ // process all other subtags, index 2 and up
+ for ($i = 2; $i < $num_subtags; $i++) {
+ $length = strlen($subtags[$i]);
+ if ($length == 0 || $length > 8 || !ctype_alnum($subtags[$i])) {
+ return $new_string;
+ }
+ if (!ctype_lower($subtags[$i])) {
+ $subtags[$i] = strtolower($subtags[$i]);
+ }
+ $new_string .= '-' . $subtags[$i];
+ }
+ return $new_string;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/Switch.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/Switch.php
new file mode 100644
index 000000000..c7eb3199a
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/Switch.php
@@ -0,0 +1,53 @@
+<?php
+
+/**
+ * Decorator that, depending on a token, switches between two definitions.
+ */
+class HTMLPurifier_AttrDef_Switch
+{
+
+ /**
+ * @type string
+ */
+ protected $tag;
+
+ /**
+ * @type HTMLPurifier_AttrDef
+ */
+ protected $withTag;
+
+ /**
+ * @type HTMLPurifier_AttrDef
+ */
+ protected $withoutTag;
+
+ /**
+ * @param string $tag Tag name to switch upon
+ * @param HTMLPurifier_AttrDef $with_tag Call if token matches tag
+ * @param HTMLPurifier_AttrDef $without_tag Call if token doesn't match, or there is no token
+ */
+ public function __construct($tag, $with_tag, $without_tag)
+ {
+ $this->tag = $tag;
+ $this->withTag = $with_tag;
+ $this->withoutTag = $without_tag;
+ }
+
+ /**
+ * @param string $string
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($string, $config, $context)
+ {
+ $token = $context->get('CurrentToken', true);
+ if (!$token || $token->name !== $this->tag) {
+ return $this->withoutTag->validate($string, $config, $context);
+ } else {
+ return $this->withTag->validate($string, $config, $context);
+ }
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/Text.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/Text.php
new file mode 100644
index 000000000..4553a4ea9
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/Text.php
@@ -0,0 +1,21 @@
+<?php
+
+/**
+ * Validates arbitrary text according to the HTML spec.
+ */
+class HTMLPurifier_AttrDef_Text extends HTMLPurifier_AttrDef
+{
+
+ /**
+ * @param string $string
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($string, $config, $context)
+ {
+ return $this->parseCDATA($string);
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/URI.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/URI.php
new file mode 100644
index 000000000..c1cd89772
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/URI.php
@@ -0,0 +1,111 @@
+<?php
+
+/**
+ * Validates a URI as defined by RFC 3986.
+ * @note Scheme-specific mechanics deferred to HTMLPurifier_URIScheme
+ */
+class HTMLPurifier_AttrDef_URI extends HTMLPurifier_AttrDef
+{
+
+ /**
+ * @type HTMLPurifier_URIParser
+ */
+ protected $parser;
+
+ /**
+ * @type bool
+ */
+ protected $embedsResource;
+
+ /**
+ * @param bool $embeds_resource Does the URI here result in an extra HTTP request?
+ */
+ public function __construct($embeds_resource = false)
+ {
+ $this->parser = new HTMLPurifier_URIParser();
+ $this->embedsResource = (bool)$embeds_resource;
+ }
+
+ /**
+ * @param string $string
+ * @return HTMLPurifier_AttrDef_URI
+ */
+ public function make($string)
+ {
+ $embeds = ($string === 'embedded');
+ return new HTMLPurifier_AttrDef_URI($embeds);
+ }
+
+ /**
+ * @param string $uri
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($uri, $config, $context)
+ {
+ if ($config->get('URI.Disable')) {
+ return false;
+ }
+
+ $uri = $this->parseCDATA($uri);
+
+ // parse the URI
+ $uri = $this->parser->parse($uri);
+ if ($uri === false) {
+ return false;
+ }
+
+ // add embedded flag to context for validators
+ $context->register('EmbeddedURI', $this->embedsResource);
+
+ $ok = false;
+ do {
+
+ // generic validation
+ $result = $uri->validate($config, $context);
+ if (!$result) {
+ break;
+ }
+
+ // chained filtering
+ $uri_def = $config->getDefinition('URI');
+ $result = $uri_def->filter($uri, $config, $context);
+ if (!$result) {
+ break;
+ }
+
+ // scheme-specific validation
+ $scheme_obj = $uri->getSchemeObj($config, $context);
+ if (!$scheme_obj) {
+ break;
+ }
+ if ($this->embedsResource && !$scheme_obj->browsable) {
+ break;
+ }
+ $result = $scheme_obj->validate($uri, $config, $context);
+ if (!$result) {
+ break;
+ }
+
+ // Post chained filtering
+ $result = $uri_def->postFilter($uri, $config, $context);
+ if (!$result) {
+ break;
+ }
+
+ // survived gauntlet
+ $ok = true;
+
+ } while (false);
+
+ $context->destroy('EmbeddedURI');
+ if (!$ok) {
+ return false;
+ }
+ // back to string
+ return $uri->toString();
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/URI/Email.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/URI/Email.php
new file mode 100644
index 000000000..daf32b764
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/URI/Email.php
@@ -0,0 +1,20 @@
+<?php
+
+abstract class HTMLPurifier_AttrDef_URI_Email extends HTMLPurifier_AttrDef
+{
+
+ /**
+ * Unpacks a mailbox into its display-name and address
+ * @param string $string
+ * @return mixed
+ */
+ public function unpack($string)
+ {
+ // needs to be implemented
+ }
+
+}
+
+// sub-implementations
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/URI/Email/SimpleCheck.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/URI/Email/SimpleCheck.php
new file mode 100644
index 000000000..52c0d5968
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/URI/Email/SimpleCheck.php
@@ -0,0 +1,29 @@
+<?php
+
+/**
+ * Primitive email validation class based on the regexp found at
+ * http://www.regular-expressions.info/email.html
+ */
+class HTMLPurifier_AttrDef_URI_Email_SimpleCheck extends HTMLPurifier_AttrDef_URI_Email
+{
+
+ /**
+ * @param string $string
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($string, $config, $context)
+ {
+ // no support for named mailboxes i.e. "Bob <bob@example.com>"
+ // that needs more percent encoding to be done
+ if ($string == '') {
+ return false;
+ }
+ $string = trim($string);
+ $result = preg_match('/^[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i', $string);
+ return $result ? $string : false;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/URI/Host.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/URI/Host.php
new file mode 100644
index 000000000..3b4d18674
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/URI/Host.php
@@ -0,0 +1,138 @@
+<?php
+
+/**
+ * Validates a host according to the IPv4, IPv6 and DNS (future) specifications.
+ */
+class HTMLPurifier_AttrDef_URI_Host extends HTMLPurifier_AttrDef
+{
+
+ /**
+ * IPv4 sub-validator.
+ * @type HTMLPurifier_AttrDef_URI_IPv4
+ */
+ protected $ipv4;
+
+ /**
+ * IPv6 sub-validator.
+ * @type HTMLPurifier_AttrDef_URI_IPv6
+ */
+ protected $ipv6;
+
+ public function __construct()
+ {
+ $this->ipv4 = new HTMLPurifier_AttrDef_URI_IPv4();
+ $this->ipv6 = new HTMLPurifier_AttrDef_URI_IPv6();
+ }
+
+ /**
+ * @param string $string
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($string, $config, $context)
+ {
+ $length = strlen($string);
+ // empty hostname is OK; it's usually semantically equivalent:
+ // the default host as defined by a URI scheme is used:
+ //
+ // If the URI scheme defines a default for host, then that
+ // default applies when the host subcomponent is undefined
+ // or when the registered name is empty (zero length).
+ if ($string === '') {
+ return '';
+ }
+ if ($length > 1 && $string[0] === '[' && $string[$length - 1] === ']') {
+ //IPv6
+ $ip = substr($string, 1, $length - 2);
+ $valid = $this->ipv6->validate($ip, $config, $context);
+ if ($valid === false) {
+ return false;
+ }
+ return '[' . $valid . ']';
+ }
+
+ // need to do checks on unusual encodings too
+ $ipv4 = $this->ipv4->validate($string, $config, $context);
+ if ($ipv4 !== false) {
+ return $ipv4;
+ }
+
+ // A regular domain name.
+
+ // This doesn't match I18N domain names, but we don't have proper IRI support,
+ // so force users to insert Punycode.
+
+ // There is not a good sense in which underscores should be
+ // allowed, since it's technically not! (And if you go as
+ // far to allow everything as specified by the DNS spec...
+ // well, that's literally everything, modulo some space limits
+ // for the components and the overall name (which, by the way,
+ // we are NOT checking!). So we (arbitrarily) decide this:
+ // let's allow underscores wherever we would have allowed
+ // hyphens, if they are enabled. This is a pretty good match
+ // for browser behavior, for example, a large number of browsers
+ // cannot handle foo_.example.com, but foo_bar.example.com is
+ // fairly well supported.
+ $underscore = $config->get('Core.AllowHostnameUnderscore') ? '_' : '';
+
+ // Based off of RFC 1738, but amended so that
+ // as per RFC 3696, the top label need only not be all numeric.
+ // The productions describing this are:
+ $a = '[a-z]'; // alpha
+ $an = '[a-z0-9]'; // alphanum
+ $and = "[a-z0-9-$underscore]"; // alphanum | "-"
+ // domainlabel = alphanum | alphanum *( alphanum | "-" ) alphanum
+ $domainlabel = "$an(?:$and*$an)?";
+ // AMENDED as per RFC 3696
+ // toplabel = alphanum | alphanum *( alphanum | "-" ) alphanum
+ // side condition: not all numeric
+ $toplabel = "$an(?:$and*$an)?";
+ // hostname = *( domainlabel "." ) toplabel [ "." ]
+ if (preg_match("/^(?:$domainlabel\.)*($toplabel)\.?$/i", $string, $matches)) {
+ if (!ctype_digit($matches[1])) {
+ return $string;
+ }
+ }
+
+ // PHP 5.3 and later support this functionality natively
+ if (function_exists('idn_to_ascii')) {
+ $string = idn_to_ascii($string);
+
+ // If we have Net_IDNA2 support, we can support IRIs by
+ // punycoding them. (This is the most portable thing to do,
+ // since otherwise we have to assume browsers support
+ } elseif ($config->get('Core.EnableIDNA')) {
+ $idna = new Net_IDNA2(array('encoding' => 'utf8', 'overlong' => false, 'strict' => true));
+ // we need to encode each period separately
+ $parts = explode('.', $string);
+ try {
+ $new_parts = array();
+ foreach ($parts as $part) {
+ $encodable = false;
+ for ($i = 0, $c = strlen($part); $i < $c; $i++) {
+ if (ord($part[$i]) > 0x7a) {
+ $encodable = true;
+ break;
+ }
+ }
+ if (!$encodable) {
+ $new_parts[] = $part;
+ } else {
+ $new_parts[] = $idna->encode($part);
+ }
+ }
+ $string = implode('.', $new_parts);
+ } catch (Exception $e) {
+ // XXX error reporting
+ }
+ }
+ // Try again
+ if (preg_match("/^($domainlabel\.)*$toplabel\.?$/i", $string)) {
+ return $string;
+ }
+ return false;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/URI/IPv4.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/URI/IPv4.php
new file mode 100644
index 000000000..30ac16c9e
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/URI/IPv4.php
@@ -0,0 +1,45 @@
+<?php
+
+/**
+ * Validates an IPv4 address
+ * @author Feyd @ forums.devnetwork.net (public domain)
+ */
+class HTMLPurifier_AttrDef_URI_IPv4 extends HTMLPurifier_AttrDef
+{
+
+ /**
+ * IPv4 regex, protected so that IPv6 can reuse it.
+ * @type string
+ */
+ protected $ip4;
+
+ /**
+ * @param string $aIP
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($aIP, $config, $context)
+ {
+ if (!$this->ip4) {
+ $this->_loadRegex();
+ }
+
+ if (preg_match('#^' . $this->ip4 . '$#s', $aIP)) {
+ return $aIP;
+ }
+ return false;
+ }
+
+ /**
+ * Lazy load function to prevent regex from being stuffed in
+ * cache.
+ */
+ protected function _loadRegex()
+ {
+ $oct = '(?:25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])'; // 0-255
+ $this->ip4 = "(?:{$oct}\\.{$oct}\\.{$oct}\\.{$oct})";
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/URI/IPv6.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/URI/IPv6.php
new file mode 100644
index 000000000..f243793ee
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/URI/IPv6.php
@@ -0,0 +1,89 @@
+<?php
+
+/**
+ * Validates an IPv6 address.
+ * @author Feyd @ forums.devnetwork.net (public domain)
+ * @note This function requires brackets to have been removed from address
+ * in URI.
+ */
+class HTMLPurifier_AttrDef_URI_IPv6 extends HTMLPurifier_AttrDef_URI_IPv4
+{
+
+ /**
+ * @param string $aIP
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($aIP, $config, $context)
+ {
+ if (!$this->ip4) {
+ $this->_loadRegex();
+ }
+
+ $original = $aIP;
+
+ $hex = '[0-9a-fA-F]';
+ $blk = '(?:' . $hex . '{1,4})';
+ $pre = '(?:/(?:12[0-8]|1[0-1][0-9]|[1-9][0-9]|[0-9]))'; // /0 - /128
+
+ // prefix check
+ if (strpos($aIP, '/') !== false) {
+ if (preg_match('#' . $pre . '$#s', $aIP, $find)) {
+ $aIP = substr($aIP, 0, 0 - strlen($find[0]));
+ unset($find);
+ } else {
+ return false;
+ }
+ }
+
+ // IPv4-compatiblity check
+ if (preg_match('#(?<=:' . ')' . $this->ip4 . '$#s', $aIP, $find)) {
+ $aIP = substr($aIP, 0, 0 - strlen($find[0]));
+ $ip = explode('.', $find[0]);
+ $ip = array_map('dechex', $ip);
+ $aIP .= $ip[0] . $ip[1] . ':' . $ip[2] . $ip[3];
+ unset($find, $ip);
+ }
+
+ // compression check
+ $aIP = explode('::', $aIP);
+ $c = count($aIP);
+ if ($c > 2) {
+ return false;
+ } elseif ($c == 2) {
+ list($first, $second) = $aIP;
+ $first = explode(':', $first);
+ $second = explode(':', $second);
+
+ if (count($first) + count($second) > 8) {
+ return false;
+ }
+
+ while (count($first) < 8) {
+ array_push($first, '0');
+ }
+
+ array_splice($first, 8 - count($second), 8, $second);
+ $aIP = $first;
+ unset($first, $second);
+ } else {
+ $aIP = explode(':', $aIP[0]);
+ }
+ $c = count($aIP);
+
+ if ($c != 8) {
+ return false;
+ }
+
+ // All the pieces should be 16-bit hex strings. Are they?
+ foreach ($aIP as $piece) {
+ if (!preg_match('#^[0-9a-fA-F]{4}$#s', sprintf('%04s', $piece))) {
+ return false;
+ }
+ }
+ return $original;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform.php
new file mode 100644
index 000000000..b428331f1
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform.php
@@ -0,0 +1,60 @@
+<?php
+
+/**
+ * Processes an entire attribute array for corrections needing multiple values.
+ *
+ * Occasionally, a certain attribute will need to be removed and popped onto
+ * another value. Instead of creating a complex return syntax for
+ * HTMLPurifier_AttrDef, we just pass the whole attribute array to a
+ * specialized object and have that do the special work. That is the
+ * family of HTMLPurifier_AttrTransform.
+ *
+ * An attribute transformation can be assigned to run before or after
+ * HTMLPurifier_AttrDef validation. See HTMLPurifier_HTMLDefinition for
+ * more details.
+ */
+
+abstract class HTMLPurifier_AttrTransform
+{
+
+ /**
+ * Abstract: makes changes to the attributes dependent on multiple values.
+ *
+ * @param array $attr Assoc array of attributes, usually from
+ * HTMLPurifier_Token_Tag::$attr
+ * @param HTMLPurifier_Config $config Mandatory HTMLPurifier_Config object.
+ * @param HTMLPurifier_Context $context Mandatory HTMLPurifier_Context object
+ * @return array Processed attribute array.
+ */
+ abstract public function transform($attr, $config, $context);
+
+ /**
+ * Prepends CSS properties to the style attribute, creating the
+ * attribute if it doesn't exist.
+ * @param array &$attr Attribute array to process (passed by reference)
+ * @param string $css CSS to prepend
+ */
+ public function prependCSS(&$attr, $css)
+ {
+ $attr['style'] = isset($attr['style']) ? $attr['style'] : '';
+ $attr['style'] = $css . $attr['style'];
+ }
+
+ /**
+ * Retrieves and removes an attribute
+ * @param array &$attr Attribute array to process (passed by reference)
+ * @param mixed $key Key of attribute to confiscate
+ * @return mixed
+ */
+ public function confiscateAttr(&$attr, $key)
+ {
+ if (!isset($attr[$key])) {
+ return null;
+ }
+ $value = $attr[$key];
+ unset($attr[$key]);
+ return $value;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Background.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Background.php
new file mode 100644
index 000000000..2f72869a5
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Background.php
@@ -0,0 +1,28 @@
+<?php
+
+/**
+ * Pre-transform that changes proprietary background attribute to CSS.
+ */
+class HTMLPurifier_AttrTransform_Background extends HTMLPurifier_AttrTransform
+{
+ /**
+ * @param array $attr
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return array
+ */
+ public function transform($attr, $config, $context)
+ {
+ if (!isset($attr['background'])) {
+ return $attr;
+ }
+
+ $background = $this->confiscateAttr($attr, 'background');
+ // some validation should happen here
+
+ $this->prependCSS($attr, "background-image:url($background);");
+ return $attr;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/BdoDir.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/BdoDir.php
new file mode 100644
index 000000000..d66c04a5b
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/BdoDir.php
@@ -0,0 +1,27 @@
+<?php
+
+// this MUST be placed in post, as it assumes that any value in dir is valid
+
+/**
+ * Post-trasnform that ensures that bdo tags have the dir attribute set.
+ */
+class HTMLPurifier_AttrTransform_BdoDir extends HTMLPurifier_AttrTransform
+{
+
+ /**
+ * @param array $attr
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return array
+ */
+ public function transform($attr, $config, $context)
+ {
+ if (isset($attr['dir'])) {
+ return $attr;
+ }
+ $attr['dir'] = $config->get('Attr.DefaultTextDir');
+ return $attr;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/BgColor.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/BgColor.php
new file mode 100644
index 000000000..0f51fd2ce
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/BgColor.php
@@ -0,0 +1,28 @@
+<?php
+
+/**
+ * Pre-transform that changes deprecated bgcolor attribute to CSS.
+ */
+class HTMLPurifier_AttrTransform_BgColor extends HTMLPurifier_AttrTransform
+{
+ /**
+ * @param array $attr
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return array
+ */
+ public function transform($attr, $config, $context)
+ {
+ if (!isset($attr['bgcolor'])) {
+ return $attr;
+ }
+
+ $bgcolor = $this->confiscateAttr($attr, 'bgcolor');
+ // some validation should happen here
+
+ $this->prependCSS($attr, "background-color:$bgcolor;");
+ return $attr;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/BoolToCSS.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/BoolToCSS.php
new file mode 100644
index 000000000..f25cd0195
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/BoolToCSS.php
@@ -0,0 +1,47 @@
+<?php
+
+/**
+ * Pre-transform that changes converts a boolean attribute to fixed CSS
+ */
+class HTMLPurifier_AttrTransform_BoolToCSS extends HTMLPurifier_AttrTransform
+{
+ /**
+ * Name of boolean attribute that is trigger.
+ * @type string
+ */
+ protected $attr;
+
+ /**
+ * CSS declarations to add to style, needs trailing semicolon.
+ * @type string
+ */
+ protected $css;
+
+ /**
+ * @param string $attr attribute name to convert from
+ * @param string $css CSS declarations to add to style (needs semicolon)
+ */
+ public function __construct($attr, $css)
+ {
+ $this->attr = $attr;
+ $this->css = $css;
+ }
+
+ /**
+ * @param array $attr
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return array
+ */
+ public function transform($attr, $config, $context)
+ {
+ if (!isset($attr[$this->attr])) {
+ return $attr;
+ }
+ unset($attr[$this->attr]);
+ $this->prependCSS($attr, $this->css);
+ return $attr;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Border.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Border.php
new file mode 100644
index 000000000..057dc017f
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Border.php
@@ -0,0 +1,26 @@
+<?php
+
+/**
+ * Pre-transform that changes deprecated border attribute to CSS.
+ */
+class HTMLPurifier_AttrTransform_Border extends HTMLPurifier_AttrTransform
+{
+ /**
+ * @param array $attr
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return array
+ */
+ public function transform($attr, $config, $context)
+ {
+ if (!isset($attr['border'])) {
+ return $attr;
+ }
+ $border_width = $this->confiscateAttr($attr, 'border');
+ // some validation should happen here
+ $this->prependCSS($attr, "border:{$border_width}px solid;");
+ return $attr;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/EnumToCSS.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/EnumToCSS.php
new file mode 100644
index 000000000..7ccd0e3fb
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/EnumToCSS.php
@@ -0,0 +1,68 @@
+<?php
+
+/**
+ * Generic pre-transform that converts an attribute with a fixed number of
+ * values (enumerated) to CSS.
+ */
+class HTMLPurifier_AttrTransform_EnumToCSS extends HTMLPurifier_AttrTransform
+{
+ /**
+ * Name of attribute to transform from.
+ * @type string
+ */
+ protected $attr;
+
+ /**
+ * Lookup array of attribute values to CSS.
+ * @type array
+ */
+ protected $enumToCSS = array();
+
+ /**
+ * Case sensitivity of the matching.
+ * @type bool
+ * @warning Currently can only be guaranteed to work with ASCII
+ * values.
+ */
+ protected $caseSensitive = false;
+
+ /**
+ * @param string $attr Attribute name to transform from
+ * @param array $enum_to_css Lookup array of attribute values to CSS
+ * @param bool $case_sensitive Case sensitivity indicator, default false
+ */
+ public function __construct($attr, $enum_to_css, $case_sensitive = false)
+ {
+ $this->attr = $attr;
+ $this->enumToCSS = $enum_to_css;
+ $this->caseSensitive = (bool)$case_sensitive;
+ }
+
+ /**
+ * @param array $attr
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return array
+ */
+ public function transform($attr, $config, $context)
+ {
+ if (!isset($attr[$this->attr])) {
+ return $attr;
+ }
+
+ $value = trim($attr[$this->attr]);
+ unset($attr[$this->attr]);
+
+ if (!$this->caseSensitive) {
+ $value = strtolower($value);
+ }
+
+ if (!isset($this->enumToCSS[$value])) {
+ return $attr;
+ }
+ $this->prependCSS($attr, $this->enumToCSS[$value]);
+ return $attr;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/ImgRequired.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/ImgRequired.php
new file mode 100644
index 000000000..235ebb34b
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/ImgRequired.php
@@ -0,0 +1,47 @@
+<?php
+
+// must be called POST validation
+
+/**
+ * Transform that supplies default values for the src and alt attributes
+ * in img tags, as well as prevents the img tag from being removed
+ * because of a missing alt tag. This needs to be registered as both
+ * a pre and post attribute transform.
+ */
+class HTMLPurifier_AttrTransform_ImgRequired extends HTMLPurifier_AttrTransform
+{
+
+ /**
+ * @param array $attr
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return array
+ */
+ public function transform($attr, $config, $context)
+ {
+ $src = true;
+ if (!isset($attr['src'])) {
+ if ($config->get('Core.RemoveInvalidImg')) {
+ return $attr;
+ }
+ $attr['src'] = $config->get('Attr.DefaultInvalidImage');
+ $src = false;
+ }
+
+ if (!isset($attr['alt'])) {
+ if ($src) {
+ $alt = $config->get('Attr.DefaultImageAlt');
+ if ($alt === null) {
+ $attr['alt'] = basename($attr['src']);
+ } else {
+ $attr['alt'] = $alt;
+ }
+ } else {
+ $attr['alt'] = $config->get('Attr.DefaultInvalidImageAlt');
+ }
+ }
+ return $attr;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/ImgSpace.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/ImgSpace.php
new file mode 100644
index 000000000..350b3358f
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/ImgSpace.php
@@ -0,0 +1,61 @@
+<?php
+
+/**
+ * Pre-transform that changes deprecated hspace and vspace attributes to CSS
+ */
+class HTMLPurifier_AttrTransform_ImgSpace extends HTMLPurifier_AttrTransform
+{
+ /**
+ * @type string
+ */
+ protected $attr;
+
+ /**
+ * @type array
+ */
+ protected $css = array(
+ 'hspace' => array('left', 'right'),
+ 'vspace' => array('top', 'bottom')
+ );
+
+ /**
+ * @param string $attr
+ */
+ public function __construct($attr)
+ {
+ $this->attr = $attr;
+ if (!isset($this->css[$attr])) {
+ trigger_error(htmlspecialchars($attr) . ' is not valid space attribute');
+ }
+ }
+
+ /**
+ * @param array $attr
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return array
+ */
+ public function transform($attr, $config, $context)
+ {
+ if (!isset($attr[$this->attr])) {
+ return $attr;
+ }
+
+ $width = $this->confiscateAttr($attr, $this->attr);
+ // some validation could happen here
+
+ if (!isset($this->css[$this->attr])) {
+ return $attr;
+ }
+
+ $style = '';
+ foreach ($this->css[$this->attr] as $suffix) {
+ $property = "margin-$suffix";
+ $style .= "$property:{$width}px;";
+ }
+ $this->prependCSS($attr, $style);
+ return $attr;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Input.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Input.php
new file mode 100644
index 000000000..3ab47ed8c
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Input.php
@@ -0,0 +1,56 @@
+<?php
+
+/**
+ * Performs miscellaneous cross attribute validation and filtering for
+ * input elements. This is meant to be a post-transform.
+ */
+class HTMLPurifier_AttrTransform_Input extends HTMLPurifier_AttrTransform
+{
+ /**
+ * @type HTMLPurifier_AttrDef_HTML_Pixels
+ */
+ protected $pixels;
+
+ public function __construct()
+ {
+ $this->pixels = new HTMLPurifier_AttrDef_HTML_Pixels();
+ }
+
+ /**
+ * @param array $attr
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return array
+ */
+ public function transform($attr, $config, $context)
+ {
+ if (!isset($attr['type'])) {
+ $t = 'text';
+ } else {
+ $t = strtolower($attr['type']);
+ }
+ if (isset($attr['checked']) && $t !== 'radio' && $t !== 'checkbox') {
+ unset($attr['checked']);
+ }
+ if (isset($attr['maxlength']) && $t !== 'text' && $t !== 'password') {
+ unset($attr['maxlength']);
+ }
+ if (isset($attr['size']) && $t !== 'text' && $t !== 'password') {
+ $result = $this->pixels->validate($attr['size'], $config, $context);
+ if ($result === false) {
+ unset($attr['size']);
+ } else {
+ $attr['size'] = $result;
+ }
+ }
+ if (isset($attr['src']) && $t !== 'image') {
+ unset($attr['src']);
+ }
+ if (!isset($attr['value']) && ($t === 'radio' || $t === 'checkbox')) {
+ $attr['value'] = '';
+ }
+ return $attr;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Lang.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Lang.php
new file mode 100644
index 000000000..5b0aff0e4
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Lang.php
@@ -0,0 +1,31 @@
+<?php
+
+/**
+ * Post-transform that copies lang's value to xml:lang (and vice-versa)
+ * @note Theoretically speaking, this could be a pre-transform, but putting
+ * post is more efficient.
+ */
+class HTMLPurifier_AttrTransform_Lang extends HTMLPurifier_AttrTransform
+{
+
+ /**
+ * @param array $attr
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return array
+ */
+ public function transform($attr, $config, $context)
+ {
+ $lang = isset($attr['lang']) ? $attr['lang'] : false;
+ $xml_lang = isset($attr['xml:lang']) ? $attr['xml:lang'] : false;
+
+ if ($lang !== false && $xml_lang === false) {
+ $attr['xml:lang'] = $lang;
+ } elseif ($xml_lang !== false) {
+ $attr['lang'] = $xml_lang;
+ }
+ return $attr;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Length.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Length.php
new file mode 100644
index 000000000..853f33549
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Length.php
@@ -0,0 +1,45 @@
+<?php
+
+/**
+ * Class for handling width/height length attribute transformations to CSS
+ */
+class HTMLPurifier_AttrTransform_Length extends HTMLPurifier_AttrTransform
+{
+
+ /**
+ * @type string
+ */
+ protected $name;
+
+ /**
+ * @type string
+ */
+ protected $cssName;
+
+ public function __construct($name, $css_name = null)
+ {
+ $this->name = $name;
+ $this->cssName = $css_name ? $css_name : $name;
+ }
+
+ /**
+ * @param array $attr
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return array
+ */
+ public function transform($attr, $config, $context)
+ {
+ if (!isset($attr[$this->name])) {
+ return $attr;
+ }
+ $length = $this->confiscateAttr($attr, $this->name);
+ if (ctype_digit($length)) {
+ $length .= 'px';
+ }
+ $this->prependCSS($attr, $this->cssName . ":$length;");
+ return $attr;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Name.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Name.php
new file mode 100644
index 000000000..63cce6837
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Name.php
@@ -0,0 +1,33 @@
+<?php
+
+/**
+ * Pre-transform that changes deprecated name attribute to ID if necessary
+ */
+class HTMLPurifier_AttrTransform_Name extends HTMLPurifier_AttrTransform
+{
+
+ /**
+ * @param array $attr
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return array
+ */
+ public function transform($attr, $config, $context)
+ {
+ // Abort early if we're using relaxed definition of name
+ if ($config->get('HTML.Attr.Name.UseCDATA')) {
+ return $attr;
+ }
+ if (!isset($attr['name'])) {
+ return $attr;
+ }
+ $id = $this->confiscateAttr($attr, 'name');
+ if (isset($attr['id'])) {
+ return $attr;
+ }
+ $attr['id'] = $id;
+ return $attr;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/NameSync.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/NameSync.php
new file mode 100644
index 000000000..36079b786
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/NameSync.php
@@ -0,0 +1,41 @@
+<?php
+
+/**
+ * Post-transform that performs validation to the name attribute; if
+ * it is present with an equivalent id attribute, it is passed through;
+ * otherwise validation is performed.
+ */
+class HTMLPurifier_AttrTransform_NameSync extends HTMLPurifier_AttrTransform
+{
+
+ public function __construct()
+ {
+ $this->idDef = new HTMLPurifier_AttrDef_HTML_ID();
+ }
+
+ /**
+ * @param array $attr
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return array
+ */
+ public function transform($attr, $config, $context)
+ {
+ if (!isset($attr['name'])) {
+ return $attr;
+ }
+ $name = $attr['name'];
+ if (isset($attr['id']) && $attr['id'] === $name) {
+ return $attr;
+ }
+ $result = $this->idDef->validate($name, $config, $context);
+ if ($result === false) {
+ unset($attr['name']);
+ } else {
+ $attr['name'] = $result;
+ }
+ return $attr;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Nofollow.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Nofollow.php
new file mode 100644
index 000000000..1057ebee1
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Nofollow.php
@@ -0,0 +1,52 @@
+<?php
+
+// must be called POST validation
+
+/**
+ * Adds rel="nofollow" to all outbound links. This transform is
+ * only attached if Attr.Nofollow is TRUE.
+ */
+class HTMLPurifier_AttrTransform_Nofollow extends HTMLPurifier_AttrTransform
+{
+ /**
+ * @type HTMLPurifier_URIParser
+ */
+ private $parser;
+
+ public function __construct()
+ {
+ $this->parser = new HTMLPurifier_URIParser();
+ }
+
+ /**
+ * @param array $attr
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return array
+ */
+ public function transform($attr, $config, $context)
+ {
+ if (!isset($attr['href'])) {
+ return $attr;
+ }
+
+ // XXX Kind of inefficient
+ $url = $this->parser->parse($attr['href']);
+ $scheme = $url->getSchemeObj($config, $context);
+
+ if ($scheme->browsable && !$url->isLocal($config, $context)) {
+ if (isset($attr['rel'])) {
+ $rels = explode(' ', $attr['rel']);
+ if (!in_array('nofollow', $rels)) {
+ $rels[] = 'nofollow';
+ }
+ $attr['rel'] = implode(' ', $rels);
+ } else {
+ $attr['rel'] = 'nofollow';
+ }
+ }
+ return $attr;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/SafeEmbed.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/SafeEmbed.php
new file mode 100644
index 000000000..231c81a3f
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/SafeEmbed.php
@@ -0,0 +1,25 @@
+<?php
+
+class HTMLPurifier_AttrTransform_SafeEmbed extends HTMLPurifier_AttrTransform
+{
+ /**
+ * @type string
+ */
+ public $name = "SafeEmbed";
+
+ /**
+ * @param array $attr
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return array
+ */
+ public function transform($attr, $config, $context)
+ {
+ $attr['allowscriptaccess'] = 'never';
+ $attr['allownetworking'] = 'internal';
+ $attr['type'] = 'application/x-shockwave-flash';
+ return $attr;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/SafeObject.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/SafeObject.php
new file mode 100644
index 000000000..d1f3a4d2e
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/SafeObject.php
@@ -0,0 +1,28 @@
+<?php
+
+/**
+ * Writes default type for all objects. Currently only supports flash.
+ */
+class HTMLPurifier_AttrTransform_SafeObject extends HTMLPurifier_AttrTransform
+{
+ /**
+ * @type string
+ */
+ public $name = "SafeObject";
+
+ /**
+ * @param array $attr
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return array
+ */
+ public function transform($attr, $config, $context)
+ {
+ if (!isset($attr['type'])) {
+ $attr['type'] = 'application/x-shockwave-flash';
+ }
+ return $attr;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/SafeParam.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/SafeParam.php
new file mode 100644
index 000000000..1143b4b49
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/SafeParam.php
@@ -0,0 +1,79 @@
+<?php
+
+/**
+ * Validates name/value pairs in param tags to be used in safe objects. This
+ * will only allow name values it recognizes, and pre-fill certain attributes
+ * with required values.
+ *
+ * @note
+ * This class only supports Flash. In the future, Quicktime support
+ * may be added.
+ *
+ * @warning
+ * This class expects an injector to add the necessary parameters tags.
+ */
+class HTMLPurifier_AttrTransform_SafeParam extends HTMLPurifier_AttrTransform
+{
+ /**
+ * @type string
+ */
+ public $name = "SafeParam";
+
+ /**
+ * @type HTMLPurifier_AttrDef_URI
+ */
+ private $uri;
+
+ public function __construct()
+ {
+ $this->uri = new HTMLPurifier_AttrDef_URI(true); // embedded
+ $this->wmode = new HTMLPurifier_AttrDef_Enum(array('window', 'opaque', 'transparent'));
+ }
+
+ /**
+ * @param array $attr
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return array
+ */
+ public function transform($attr, $config, $context)
+ {
+ // If we add support for other objects, we'll need to alter the
+ // transforms.
+ switch ($attr['name']) {
+ // application/x-shockwave-flash
+ // Keep this synchronized with Injector/SafeObject.php
+ case 'allowScriptAccess':
+ $attr['value'] = 'never';
+ break;
+ case 'allowNetworking':
+ $attr['value'] = 'internal';
+ break;
+ case 'allowFullScreen':
+ if ($config->get('HTML.FlashAllowFullScreen')) {
+ $attr['value'] = ($attr['value'] == 'true') ? 'true' : 'false';
+ } else {
+ $attr['value'] = 'false';
+ }
+ break;
+ case 'wmode':
+ $attr['value'] = $this->wmode->validate($attr['value'], $config, $context);
+ break;
+ case 'movie':
+ case 'src':
+ $attr['name'] = "movie";
+ $attr['value'] = $this->uri->validate($attr['value'], $config, $context);
+ break;
+ case 'flashvars':
+ // we're going to allow arbitrary inputs to the SWF, on
+ // the reasoning that it could only hack the SWF, not us.
+ break;
+ // add other cases to support other param name/value pairs
+ default:
+ $attr['name'] = $attr['value'] = null;
+ }
+ return $attr;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/ScriptRequired.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/ScriptRequired.php
new file mode 100644
index 000000000..b7057bbf8
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/ScriptRequired.php
@@ -0,0 +1,23 @@
+<?php
+
+/**
+ * Implements required attribute stipulation for <script>
+ */
+class HTMLPurifier_AttrTransform_ScriptRequired extends HTMLPurifier_AttrTransform
+{
+ /**
+ * @param array $attr
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return array
+ */
+ public function transform($attr, $config, $context)
+ {
+ if (!isset($attr['type'])) {
+ $attr['type'] = 'text/javascript';
+ }
+ return $attr;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/TargetBlank.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/TargetBlank.php
new file mode 100644
index 000000000..dd63ea89c
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/TargetBlank.php
@@ -0,0 +1,45 @@
+<?php
+
+// must be called POST validation
+
+/**
+ * Adds target="blank" to all outbound links. This transform is
+ * only attached if Attr.TargetBlank is TRUE. This works regardless
+ * of whether or not Attr.AllowedFrameTargets
+ */
+class HTMLPurifier_AttrTransform_TargetBlank extends HTMLPurifier_AttrTransform
+{
+ /**
+ * @type HTMLPurifier_URIParser
+ */
+ private $parser;
+
+ public function __construct()
+ {
+ $this->parser = new HTMLPurifier_URIParser();
+ }
+
+ /**
+ * @param array $attr
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return array
+ */
+ public function transform($attr, $config, $context)
+ {
+ if (!isset($attr['href'])) {
+ return $attr;
+ }
+
+ // XXX Kind of inefficient
+ $url = $this->parser->parse($attr['href']);
+ $scheme = $url->getSchemeObj($config, $context);
+
+ if ($scheme->browsable && !$url->isBenign($config, $context)) {
+ $attr['target'] = '_blank';
+ }
+ return $attr;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/TargetNoopener.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/TargetNoopener.php
new file mode 100644
index 000000000..1db3c6c09
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/TargetNoopener.php
@@ -0,0 +1,37 @@
+<?php
+
+// must be called POST validation
+
+/**
+ * Adds rel="noopener" to any links which target a different window
+ * than the current one. This is used to prevent malicious websites
+ * from silently replacing the original window, which could be used
+ * to do phishing.
+ * This transform is controlled by %HTML.TargetNoopener.
+ */
+class HTMLPurifier_AttrTransform_TargetNoopener extends HTMLPurifier_AttrTransform
+{
+ /**
+ * @param array $attr
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return array
+ */
+ public function transform($attr, $config, $context)
+ {
+ if (isset($attr['rel'])) {
+ $rels = explode(' ', $attr['rel']);
+ } else {
+ $rels = array();
+ }
+ if (isset($attr['target']) && !in_array('noopener', $rels)) {
+ $rels[] = 'noopener';
+ }
+ if (!empty($rels) || isset($attr['rel'])) {
+ $attr['rel'] = implode(' ', $rels);
+ }
+
+ return $attr;
+ }
+}
+
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/TargetNoreferrer.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/TargetNoreferrer.php
new file mode 100644
index 000000000..587dc2e07
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/TargetNoreferrer.php
@@ -0,0 +1,37 @@
+<?php
+
+// must be called POST validation
+
+/**
+ * Adds rel="noreferrer" to any links which target a different window
+ * than the current one. This is used to prevent malicious websites
+ * from silently replacing the original window, which could be used
+ * to do phishing.
+ * This transform is controlled by %HTML.TargetNoreferrer.
+ */
+class HTMLPurifier_AttrTransform_TargetNoreferrer extends HTMLPurifier_AttrTransform
+{
+ /**
+ * @param array $attr
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return array
+ */
+ public function transform($attr, $config, $context)
+ {
+ if (isset($attr['rel'])) {
+ $rels = explode(' ', $attr['rel']);
+ } else {
+ $rels = array();
+ }
+ if (isset($attr['target']) && !in_array('noreferrer', $rels)) {
+ $rels[] = 'noreferrer';
+ }
+ if (!empty($rels) || isset($attr['rel'])) {
+ $attr['rel'] = implode(' ', $rels);
+ }
+
+ return $attr;
+ }
+}
+
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Textarea.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Textarea.php
new file mode 100644
index 000000000..6a9f33a0c
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Textarea.php
@@ -0,0 +1,27 @@
+<?php
+
+/**
+ * Sets height/width defaults for <textarea>
+ */
+class HTMLPurifier_AttrTransform_Textarea extends HTMLPurifier_AttrTransform
+{
+ /**
+ * @param array $attr
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return array
+ */
+ public function transform($attr, $config, $context)
+ {
+ // Calculated from Firefox
+ if (!isset($attr['cols'])) {
+ $attr['cols'] = '22';
+ }
+ if (!isset($attr['rows'])) {
+ $attr['rows'] = '3';
+ }
+ return $attr;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTypes.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTypes.php
new file mode 100644
index 000000000..3b70520b6
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTypes.php
@@ -0,0 +1,96 @@
+<?php
+
+/**
+ * Provides lookup array of attribute types to HTMLPurifier_AttrDef objects
+ */
+class HTMLPurifier_AttrTypes
+{
+ /**
+ * Lookup array of attribute string identifiers to concrete implementations.
+ * @type HTMLPurifier_AttrDef[]
+ */
+ protected $info = array();
+
+ /**
+ * Constructs the info array, supplying default implementations for attribute
+ * types.
+ */
+ public function __construct()
+ {
+ // XXX This is kind of poor, since we don't actually /clone/
+ // instances; instead, we use the supplied make() attribute. So,
+ // the underlying class must know how to deal with arguments.
+ // With the old implementation of Enum, that ignored its
+ // arguments when handling a make dispatch, the IAlign
+ // definition wouldn't work.
+
+ // pseudo-types, must be instantiated via shorthand
+ $this->info['Enum'] = new HTMLPurifier_AttrDef_Enum();
+ $this->info['Bool'] = new HTMLPurifier_AttrDef_HTML_Bool();
+
+ $this->info['CDATA'] = new HTMLPurifier_AttrDef_Text();
+ $this->info['ID'] = new HTMLPurifier_AttrDef_HTML_ID();
+ $this->info['Length'] = new HTMLPurifier_AttrDef_HTML_Length();
+ $this->info['MultiLength'] = new HTMLPurifier_AttrDef_HTML_MultiLength();
+ $this->info['NMTOKENS'] = new HTMLPurifier_AttrDef_HTML_Nmtokens();
+ $this->info['Pixels'] = new HTMLPurifier_AttrDef_HTML_Pixels();
+ $this->info['Text'] = new HTMLPurifier_AttrDef_Text();
+ $this->info['URI'] = new HTMLPurifier_AttrDef_URI();
+ $this->info['LanguageCode'] = new HTMLPurifier_AttrDef_Lang();
+ $this->info['Color'] = new HTMLPurifier_AttrDef_HTML_Color();
+ $this->info['IAlign'] = self::makeEnum('top,middle,bottom,left,right');
+ $this->info['LAlign'] = self::makeEnum('top,bottom,left,right');
+ $this->info['FrameTarget'] = new HTMLPurifier_AttrDef_HTML_FrameTarget();
+
+ // unimplemented aliases
+ $this->info['ContentType'] = new HTMLPurifier_AttrDef_Text();
+ $this->info['ContentTypes'] = new HTMLPurifier_AttrDef_Text();
+ $this->info['Charsets'] = new HTMLPurifier_AttrDef_Text();
+ $this->info['Character'] = new HTMLPurifier_AttrDef_Text();
+
+ // "proprietary" types
+ $this->info['Class'] = new HTMLPurifier_AttrDef_HTML_Class();
+
+ // number is really a positive integer (one or more digits)
+ // FIXME: ^^ not always, see start and value of list items
+ $this->info['Number'] = new HTMLPurifier_AttrDef_Integer(false, false, true);
+ }
+
+ private static function makeEnum($in)
+ {
+ return new HTMLPurifier_AttrDef_Clone(new HTMLPurifier_AttrDef_Enum(explode(',', $in)));
+ }
+
+ /**
+ * Retrieves a type
+ * @param string $type String type name
+ * @return HTMLPurifier_AttrDef Object AttrDef for type
+ */
+ public function get($type)
+ {
+ // determine if there is any extra info tacked on
+ if (strpos($type, '#') !== false) {
+ list($type, $string) = explode('#', $type, 2);
+ } else {
+ $string = '';
+ }
+
+ if (!isset($this->info[$type])) {
+ trigger_error('Cannot retrieve undefined attribute type ' . $type, E_USER_ERROR);
+ return;
+ }
+ return $this->info[$type]->make($string);
+ }
+
+ /**
+ * Sets a new implementation for a type
+ * @param string $type String type name
+ * @param HTMLPurifier_AttrDef $impl Object AttrDef for type
+ */
+ public function set($type, $impl)
+ {
+ $this->info[$type] = $impl;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrValidator.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrValidator.php
new file mode 100644
index 000000000..f97dc93ed
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrValidator.php
@@ -0,0 +1,178 @@
+<?php
+
+/**
+ * Validates the attributes of a token. Doesn't manage required attributes
+ * very well. The only reason we factored this out was because RemoveForeignElements
+ * also needed it besides ValidateAttributes.
+ */
+class HTMLPurifier_AttrValidator
+{
+
+ /**
+ * Validates the attributes of a token, mutating it as necessary.
+ * that has valid tokens
+ * @param HTMLPurifier_Token $token Token to validate.
+ * @param HTMLPurifier_Config $config Instance of HTMLPurifier_Config
+ * @param HTMLPurifier_Context $context Instance of HTMLPurifier_Context
+ */
+ public function validateToken($token, $config, $context)
+ {
+ $definition = $config->getHTMLDefinition();
+ $e =& $context->get('ErrorCollector', true);
+
+ // initialize IDAccumulator if necessary
+ $ok =& $context->get('IDAccumulator', true);
+ if (!$ok) {
+ $id_accumulator = HTMLPurifier_IDAccumulator::build($config, $context);
+ $context->register('IDAccumulator', $id_accumulator);
+ }
+
+ // initialize CurrentToken if necessary
+ $current_token =& $context->get('CurrentToken', true);
+ if (!$current_token) {
+ $context->register('CurrentToken', $token);
+ }
+
+ if (!$token instanceof HTMLPurifier_Token_Start &&
+ !$token instanceof HTMLPurifier_Token_Empty
+ ) {
+ return;
+ }
+
+ // create alias to global definition array, see also $defs
+ // DEFINITION CALL
+ $d_defs = $definition->info_global_attr;
+
+ // don't update token until the very end, to ensure an atomic update
+ $attr = $token->attr;
+
+ // do global transformations (pre)
+ // nothing currently utilizes this
+ foreach ($definition->info_attr_transform_pre as $transform) {
+ $attr = $transform->transform($o = $attr, $config, $context);
+ if ($e) {
+ if ($attr != $o) {
+ $e->send(E_NOTICE, 'AttrValidator: Attributes transformed', $o, $attr);
+ }
+ }
+ }
+
+ // do local transformations only applicable to this element (pre)
+ // ex. <p align="right"> to <p style="text-align:right;">
+ foreach ($definition->info[$token->name]->attr_transform_pre as $transform) {
+ $attr = $transform->transform($o = $attr, $config, $context);
+ if ($e) {
+ if ($attr != $o) {
+ $e->send(E_NOTICE, 'AttrValidator: Attributes transformed', $o, $attr);
+ }
+ }
+ }
+
+ // create alias to this element's attribute definition array, see
+ // also $d_defs (global attribute definition array)
+ // DEFINITION CALL
+ $defs = $definition->info[$token->name]->attr;
+
+ $attr_key = false;
+ $context->register('CurrentAttr', $attr_key);
+
+ // iterate through all the attribute keypairs
+ // Watch out for name collisions: $key has previously been used
+ foreach ($attr as $attr_key => $value) {
+
+ // call the definition
+ if (isset($defs[$attr_key])) {
+ // there is a local definition defined
+ if ($defs[$attr_key] === false) {
+ // We've explicitly been told not to allow this element.
+ // This is usually when there's a global definition
+ // that must be overridden.
+ // Theoretically speaking, we could have a
+ // AttrDef_DenyAll, but this is faster!
+ $result = false;
+ } else {
+ // validate according to the element's definition
+ $result = $defs[$attr_key]->validate(
+ $value,
+ $config,
+ $context
+ );
+ }
+ } elseif (isset($d_defs[$attr_key])) {
+ // there is a global definition defined, validate according
+ // to the global definition
+ $result = $d_defs[$attr_key]->validate(
+ $value,
+ $config,
+ $context
+ );
+ } else {
+ // system never heard of the attribute? DELETE!
+ $result = false;
+ }
+
+ // put the results into effect
+ if ($result === false || $result === null) {
+ // this is a generic error message that should replaced
+ // with more specific ones when possible
+ if ($e) {
+ $e->send(E_ERROR, 'AttrValidator: Attribute removed');
+ }
+
+ // remove the attribute
+ unset($attr[$attr_key]);
+ } elseif (is_string($result)) {
+ // generally, if a substitution is happening, there
+ // was some sort of implicit correction going on. We'll
+ // delegate it to the attribute classes to say exactly what.
+
+ // simple substitution
+ $attr[$attr_key] = $result;
+ } else {
+ // nothing happens
+ }
+
+ // we'd also want slightly more complicated substitution
+ // involving an array as the return value,
+ // although we're not sure how colliding attributes would
+ // resolve (certain ones would be completely overriden,
+ // others would prepend themselves).
+ }
+
+ $context->destroy('CurrentAttr');
+
+ // post transforms
+
+ // global (error reporting untested)
+ foreach ($definition->info_attr_transform_post as $transform) {
+ $attr = $transform->transform($o = $attr, $config, $context);
+ if ($e) {
+ if ($attr != $o) {
+ $e->send(E_NOTICE, 'AttrValidator: Attributes transformed', $o, $attr);
+ }
+ }
+ }
+
+ // local (error reporting untested)
+ foreach ($definition->info[$token->name]->attr_transform_post as $transform) {
+ $attr = $transform->transform($o = $attr, $config, $context);
+ if ($e) {
+ if ($attr != $o) {
+ $e->send(E_NOTICE, 'AttrValidator: Attributes transformed', $o, $attr);
+ }
+ }
+ }
+
+ $token->attr = $attr;
+
+ // destroy CurrentToken if we made it ourselves
+ if (!$current_token) {
+ $context->destroy('CurrentToken');
+ }
+
+ }
+
+
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Bootstrap.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Bootstrap.php
new file mode 100644
index 000000000..707122bb2
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Bootstrap.php
@@ -0,0 +1,124 @@
+<?php
+
+// constants are slow, so we use as few as possible
+if (!defined('HTMLPURIFIER_PREFIX')) {
+ define('HTMLPURIFIER_PREFIX', realpath(dirname(__FILE__) . '/..'));
+}
+
+// accomodations for versions earlier than 5.0.2
+// borrowed from PHP_Compat, LGPL licensed, by Aidan Lister <aidan@php.net>
+if (!defined('PHP_EOL')) {
+ switch (strtoupper(substr(PHP_OS, 0, 3))) {
+ case 'WIN':
+ define('PHP_EOL', "\r\n");
+ break;
+ case 'DAR':
+ define('PHP_EOL', "\r");
+ break;
+ default:
+ define('PHP_EOL', "\n");
+ }
+}
+
+/**
+ * Bootstrap class that contains meta-functionality for HTML Purifier such as
+ * the autoload function.
+ *
+ * @note
+ * This class may be used without any other files from HTML Purifier.
+ */
+class HTMLPurifier_Bootstrap
+{
+
+ /**
+ * Autoload function for HTML Purifier
+ * @param string $class Class to load
+ * @return bool
+ */
+ public static function autoload($class)
+ {
+ $file = HTMLPurifier_Bootstrap::getPath($class);
+ if (!$file) {
+ return false;
+ }
+ // Technically speaking, it should be ok and more efficient to
+ // just do 'require', but Antonio Parraga reports that with
+ // Zend extensions such as Zend debugger and APC, this invariant
+ // may be broken. Since we have efficient alternatives, pay
+ // the cost here and avoid the bug.
+ require_once HTMLPURIFIER_PREFIX . '/' . $file;
+ return true;
+ }
+
+ /**
+ * Returns the path for a specific class.
+ * @param string $class Class path to get
+ * @return string
+ */
+ public static function getPath($class)
+ {
+ if (strncmp('HTMLPurifier', $class, 12) !== 0) {
+ return false;
+ }
+ // Custom implementations
+ if (strncmp('HTMLPurifier_Language_', $class, 22) === 0) {
+ $code = str_replace('_', '-', substr($class, 22));
+ $file = 'HTMLPurifier/Language/classes/' . $code . '.php';
+ } else {
+ $file = str_replace('_', '/', $class) . '.php';
+ }
+ if (!file_exists(HTMLPURIFIER_PREFIX . '/' . $file)) {
+ return false;
+ }
+ return $file;
+ }
+
+ /**
+ * "Pre-registers" our autoloader on the SPL stack.
+ */
+ public static function registerAutoload()
+ {
+ $autoload = array('HTMLPurifier_Bootstrap', 'autoload');
+ if (($funcs = spl_autoload_functions()) === false) {
+ spl_autoload_register($autoload);
+ } elseif (function_exists('spl_autoload_unregister')) {
+ if (version_compare(PHP_VERSION, '5.3.0', '>=')) {
+ // prepend flag exists, no need for shenanigans
+ spl_autoload_register($autoload, true, true);
+ } else {
+ $buggy = version_compare(PHP_VERSION, '5.2.11', '<');
+ $compat = version_compare(PHP_VERSION, '5.1.2', '<=') &&
+ version_compare(PHP_VERSION, '5.1.0', '>=');
+ foreach ($funcs as $func) {
+ if ($buggy && is_array($func)) {
+ // :TRICKY: There are some compatibility issues and some
+ // places where we need to error out
+ $reflector = new ReflectionMethod($func[0], $func[1]);
+ if (!$reflector->isStatic()) {
+ throw new Exception(
+ 'HTML Purifier autoloader registrar is not compatible
+ with non-static object methods due to PHP Bug #44144;
+ Please do not use HTMLPurifier.autoload.php (or any
+ file that includes this file); instead, place the code:
+ spl_autoload_register(array(\'HTMLPurifier_Bootstrap\', \'autoload\'))
+ after your own autoloaders.'
+ );
+ }
+ // Suprisingly, spl_autoload_register supports the
+ // Class::staticMethod callback format, although call_user_func doesn't
+ if ($compat) {
+ $func = implode('::', $func);
+ }
+ }
+ spl_autoload_unregister($func);
+ }
+ spl_autoload_register($autoload);
+ foreach ($funcs as $func) {
+ spl_autoload_register($func);
+ }
+ }
+ }
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/CSSDefinition.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/CSSDefinition.php
new file mode 100644
index 000000000..47dfd1f66
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/CSSDefinition.php
@@ -0,0 +1,491 @@
+<?php
+
+/**
+ * Defines allowed CSS attributes and what their values are.
+ * @see HTMLPurifier_HTMLDefinition
+ */
+class HTMLPurifier_CSSDefinition extends HTMLPurifier_Definition
+{
+
+ public $type = 'CSS';
+
+ /**
+ * Assoc array of attribute name to definition object.
+ * @type HTMLPurifier_AttrDef[]
+ */
+ public $info = array();
+
+ /**
+ * Constructs the info array. The meat of this class.
+ * @param HTMLPurifier_Config $config
+ */
+ protected function doSetup($config)
+ {
+ $this->info['text-align'] = new HTMLPurifier_AttrDef_Enum(
+ array('left', 'right', 'center', 'justify'),
+ false
+ );
+
+ $border_style =
+ $this->info['border-bottom-style'] =
+ $this->info['border-right-style'] =
+ $this->info['border-left-style'] =
+ $this->info['border-top-style'] = new HTMLPurifier_AttrDef_Enum(
+ array(
+ 'none',
+ 'hidden',
+ 'dotted',
+ 'dashed',
+ 'solid',
+ 'double',
+ 'groove',
+ 'ridge',
+ 'inset',
+ 'outset'
+ ),
+ false
+ );
+
+ $this->info['border-style'] = new HTMLPurifier_AttrDef_CSS_Multiple($border_style);
+
+ $this->info['clear'] = new HTMLPurifier_AttrDef_Enum(
+ array('none', 'left', 'right', 'both'),
+ false
+ );
+ $this->info['float'] = new HTMLPurifier_AttrDef_Enum(
+ array('none', 'left', 'right'),
+ false
+ );
+ $this->info['font-style'] = new HTMLPurifier_AttrDef_Enum(
+ array('normal', 'italic', 'oblique'),
+ false
+ );
+ $this->info['font-variant'] = new HTMLPurifier_AttrDef_Enum(
+ array('normal', 'small-caps'),
+ false
+ );
+
+ $uri_or_none = new HTMLPurifier_AttrDef_CSS_Composite(
+ array(
+ new HTMLPurifier_AttrDef_Enum(array('none')),
+ new HTMLPurifier_AttrDef_CSS_URI()
+ )
+ );
+
+ $this->info['list-style-position'] = new HTMLPurifier_AttrDef_Enum(
+ array('inside', 'outside'),
+ false
+ );
+ $this->info['list-style-type'] = new HTMLPurifier_AttrDef_Enum(
+ array(
+ 'disc',
+ 'circle',
+ 'square',
+ 'decimal',
+ 'lower-roman',
+ 'upper-roman',
+ 'lower-alpha',
+ 'upper-alpha',
+ 'none'
+ ),
+ false
+ );
+ $this->info['list-style-image'] = $uri_or_none;
+
+ $this->info['list-style'] = new HTMLPurifier_AttrDef_CSS_ListStyle($config);
+
+ $this->info['text-transform'] = new HTMLPurifier_AttrDef_Enum(
+ array('capitalize', 'uppercase', 'lowercase', 'none'),
+ false
+ );
+ $this->info['color'] = new HTMLPurifier_AttrDef_CSS_Color();
+
+ $this->info['background-image'] = $uri_or_none;
+ $this->info['background-repeat'] = new HTMLPurifier_AttrDef_Enum(
+ array('repeat', 'repeat-x', 'repeat-y', 'no-repeat')
+ );
+ $this->info['background-attachment'] = new HTMLPurifier_AttrDef_Enum(
+ array('scroll', 'fixed')
+ );
+ $this->info['background-position'] = new HTMLPurifier_AttrDef_CSS_BackgroundPosition();
+
+ $border_color =
+ $this->info['border-top-color'] =
+ $this->info['border-bottom-color'] =
+ $this->info['border-left-color'] =
+ $this->info['border-right-color'] =
+ $this->info['background-color'] = new HTMLPurifier_AttrDef_CSS_Composite(
+ array(
+ new HTMLPurifier_AttrDef_Enum(array('transparent')),
+ new HTMLPurifier_AttrDef_CSS_Color()
+ )
+ );
+
+ $this->info['background'] = new HTMLPurifier_AttrDef_CSS_Background($config);
+
+ $this->info['border-color'] = new HTMLPurifier_AttrDef_CSS_Multiple($border_color);
+
+ $border_width =
+ $this->info['border-top-width'] =
+ $this->info['border-bottom-width'] =
+ $this->info['border-left-width'] =
+ $this->info['border-right-width'] = new HTMLPurifier_AttrDef_CSS_Composite(
+ array(
+ new HTMLPurifier_AttrDef_Enum(array('thin', 'medium', 'thick')),
+ new HTMLPurifier_AttrDef_CSS_Length('0') //disallow negative
+ )
+ );
+
+ $this->info['border-width'] = new HTMLPurifier_AttrDef_CSS_Multiple($border_width);
+
+ $this->info['letter-spacing'] = new HTMLPurifier_AttrDef_CSS_Composite(
+ array(
+ new HTMLPurifier_AttrDef_Enum(array('normal')),
+ new HTMLPurifier_AttrDef_CSS_Length()
+ )
+ );
+
+ $this->info['word-spacing'] = new HTMLPurifier_AttrDef_CSS_Composite(
+ array(
+ new HTMLPurifier_AttrDef_Enum(array('normal')),
+ new HTMLPurifier_AttrDef_CSS_Length()
+ )
+ );
+
+ $this->info['font-size'] = new HTMLPurifier_AttrDef_CSS_Composite(
+ array(
+ new HTMLPurifier_AttrDef_Enum(
+ array(
+ 'xx-small',
+ 'x-small',
+ 'small',
+ 'medium',
+ 'large',
+ 'x-large',
+ 'xx-large',
+ 'larger',
+ 'smaller'
+ )
+ ),
+ new HTMLPurifier_AttrDef_CSS_Percentage(),
+ new HTMLPurifier_AttrDef_CSS_Length()
+ )
+ );
+
+ $this->info['line-height'] = new HTMLPurifier_AttrDef_CSS_Composite(
+ array(
+ new HTMLPurifier_AttrDef_Enum(array('normal')),
+ new HTMLPurifier_AttrDef_CSS_Number(true), // no negatives
+ new HTMLPurifier_AttrDef_CSS_Length('0'),
+ new HTMLPurifier_AttrDef_CSS_Percentage(true)
+ )
+ );
+
+ $margin =
+ $this->info['margin-top'] =
+ $this->info['margin-bottom'] =
+ $this->info['margin-left'] =
+ $this->info['margin-right'] = new HTMLPurifier_AttrDef_CSS_Composite(
+ array(
+ new HTMLPurifier_AttrDef_CSS_Length(),
+ new HTMLPurifier_AttrDef_CSS_Percentage(),
+ new HTMLPurifier_AttrDef_Enum(array('auto'))
+ )
+ );
+
+ $this->info['margin'] = new HTMLPurifier_AttrDef_CSS_Multiple($margin);
+
+ // non-negative
+ $padding =
+ $this->info['padding-top'] =
+ $this->info['padding-bottom'] =
+ $this->info['padding-left'] =
+ $this->info['padding-right'] = new HTMLPurifier_AttrDef_CSS_Composite(
+ array(
+ new HTMLPurifier_AttrDef_CSS_Length('0'),
+ new HTMLPurifier_AttrDef_CSS_Percentage(true)
+ )
+ );
+
+ $this->info['padding'] = new HTMLPurifier_AttrDef_CSS_Multiple($padding);
+
+ $this->info['text-indent'] = new HTMLPurifier_AttrDef_CSS_Composite(
+ array(
+ new HTMLPurifier_AttrDef_CSS_Length(),
+ new HTMLPurifier_AttrDef_CSS_Percentage()
+ )
+ );
+
+ $trusted_wh = new HTMLPurifier_AttrDef_CSS_Composite(
+ array(
+ new HTMLPurifier_AttrDef_CSS_Length('0'),
+ new HTMLPurifier_AttrDef_CSS_Percentage(true),
+ new HTMLPurifier_AttrDef_Enum(array('auto'))
+ )
+ );
+ $max = $config->get('CSS.MaxImgLength');
+
+ $this->info['min-width'] =
+ $this->info['max-width'] =
+ $this->info['min-height'] =
+ $this->info['max-height'] =
+ $this->info['width'] =
+ $this->info['height'] =
+ $max === null ?
+ $trusted_wh :
+ new HTMLPurifier_AttrDef_Switch(
+ 'img',
+ // For img tags:
+ new HTMLPurifier_AttrDef_CSS_Composite(
+ array(
+ new HTMLPurifier_AttrDef_CSS_Length('0', $max),
+ new HTMLPurifier_AttrDef_Enum(array('auto'))
+ )
+ ),
+ // For everyone else:
+ $trusted_wh
+ );
+
+ $this->info['text-decoration'] = new HTMLPurifier_AttrDef_CSS_TextDecoration();
+
+ $this->info['font-family'] = new HTMLPurifier_AttrDef_CSS_FontFamily();
+
+ // this could use specialized code
+ $this->info['font-weight'] = new HTMLPurifier_AttrDef_Enum(
+ array(
+ 'normal',
+ 'bold',
+ 'bolder',
+ 'lighter',
+ '100',
+ '200',
+ '300',
+ '400',
+ '500',
+ '600',
+ '700',
+ '800',
+ '900'
+ ),
+ false
+ );
+
+ // MUST be called after other font properties, as it references
+ // a CSSDefinition object
+ $this->info['font'] = new HTMLPurifier_AttrDef_CSS_Font($config);
+
+ // same here
+ $this->info['border'] =
+ $this->info['border-bottom'] =
+ $this->info['border-top'] =
+ $this->info['border-left'] =
+ $this->info['border-right'] = new HTMLPurifier_AttrDef_CSS_Border($config);
+
+ $this->info['border-collapse'] = new HTMLPurifier_AttrDef_Enum(
+ array('collapse', 'separate')
+ );
+
+ $this->info['caption-side'] = new HTMLPurifier_AttrDef_Enum(
+ array('top', 'bottom')
+ );
+
+ $this->info['table-layout'] = new HTMLPurifier_AttrDef_Enum(
+ array('auto', 'fixed')
+ );
+
+ $this->info['vertical-align'] = new HTMLPurifier_AttrDef_CSS_Composite(
+ array(
+ new HTMLPurifier_AttrDef_Enum(
+ array(
+ 'baseline',
+ 'sub',
+ 'super',
+ 'top',
+ 'text-top',
+ 'middle',
+ 'bottom',
+ 'text-bottom'
+ )
+ ),
+ new HTMLPurifier_AttrDef_CSS_Length(),
+ new HTMLPurifier_AttrDef_CSS_Percentage()
+ )
+ );
+
+ $this->info['border-spacing'] = new HTMLPurifier_AttrDef_CSS_Multiple(new HTMLPurifier_AttrDef_CSS_Length(), 2);
+
+ // These CSS properties don't work on many browsers, but we live
+ // in THE FUTURE!
+ $this->info['white-space'] = new HTMLPurifier_AttrDef_Enum(
+ array('nowrap', 'normal', 'pre', 'pre-wrap', 'pre-line')
+ );
+
+ if ($config->get('CSS.Proprietary')) {
+ $this->doSetupProprietary($config);
+ }
+
+ if ($config->get('CSS.AllowTricky')) {
+ $this->doSetupTricky($config);
+ }
+
+ if ($config->get('CSS.Trusted')) {
+ $this->doSetupTrusted($config);
+ }
+
+ $allow_important = $config->get('CSS.AllowImportant');
+ // wrap all attr-defs with decorator that handles !important
+ foreach ($this->info as $k => $v) {
+ $this->info[$k] = new HTMLPurifier_AttrDef_CSS_ImportantDecorator($v, $allow_important);
+ }
+
+ $this->setupConfigStuff($config);
+ }
+
+ /**
+ * @param HTMLPurifier_Config $config
+ */
+ protected function doSetupProprietary($config)
+ {
+ // Internet Explorer only scrollbar colors
+ $this->info['scrollbar-arrow-color'] = new HTMLPurifier_AttrDef_CSS_Color();
+ $this->info['scrollbar-base-color'] = new HTMLPurifier_AttrDef_CSS_Color();
+ $this->info['scrollbar-darkshadow-color'] = new HTMLPurifier_AttrDef_CSS_Color();
+ $this->info['scrollbar-face-color'] = new HTMLPurifier_AttrDef_CSS_Color();
+ $this->info['scrollbar-highlight-color'] = new HTMLPurifier_AttrDef_CSS_Color();
+ $this->info['scrollbar-shadow-color'] = new HTMLPurifier_AttrDef_CSS_Color();
+
+ // vendor specific prefixes of opacity
+ $this->info['-moz-opacity'] = new HTMLPurifier_AttrDef_CSS_AlphaValue();
+ $this->info['-khtml-opacity'] = new HTMLPurifier_AttrDef_CSS_AlphaValue();
+
+ // only opacity, for now
+ $this->info['filter'] = new HTMLPurifier_AttrDef_CSS_Filter();
+
+ // more CSS3
+ $this->info['page-break-after'] =
+ $this->info['page-break-before'] = new HTMLPurifier_AttrDef_Enum(
+ array(
+ 'auto',
+ 'always',
+ 'avoid',
+ 'left',
+ 'right'
+ )
+ );
+ $this->info['page-break-inside'] = new HTMLPurifier_AttrDef_Enum(array('auto', 'avoid'));
+
+ $border_radius = new HTMLPurifier_AttrDef_CSS_Composite(
+ array(
+ new HTMLPurifier_AttrDef_CSS_Percentage(true), // disallow negative
+ new HTMLPurifier_AttrDef_CSS_Length('0') // disallow negative
+ ));
+
+ $this->info['border-top-left-radius'] =
+ $this->info['border-top-right-radius'] =
+ $this->info['border-bottom-right-radius'] =
+ $this->info['border-bottom-left-radius'] = new HTMLPurifier_AttrDef_CSS_Multiple($border_radius, 2);
+ // TODO: support SLASH syntax
+ $this->info['border-radius'] = new HTMLPurifier_AttrDef_CSS_Multiple($border_radius, 4);
+
+ }
+
+ /**
+ * @param HTMLPurifier_Config $config
+ */
+ protected function doSetupTricky($config)
+ {
+ $this->info['display'] = new HTMLPurifier_AttrDef_Enum(
+ array(
+ 'inline',
+ 'block',
+ 'list-item',
+ 'run-in',
+ 'compact',
+ 'marker',
+ 'table',
+ 'inline-block',
+ 'inline-table',
+ 'table-row-group',
+ 'table-header-group',
+ 'table-footer-group',
+ 'table-row',
+ 'table-column-group',
+ 'table-column',
+ 'table-cell',
+ 'table-caption',
+ 'none'
+ )
+ );
+ $this->info['visibility'] = new HTMLPurifier_AttrDef_Enum(
+ array('visible', 'hidden', 'collapse')
+ );
+ $this->info['overflow'] = new HTMLPurifier_AttrDef_Enum(array('visible', 'hidden', 'auto', 'scroll'));
+ $this->info['opacity'] = new HTMLPurifier_AttrDef_CSS_AlphaValue();
+ }
+
+ /**
+ * @param HTMLPurifier_Config $config
+ */
+ protected function doSetupTrusted($config)
+ {
+ $this->info['position'] = new HTMLPurifier_AttrDef_Enum(
+ array('static', 'relative', 'absolute', 'fixed')
+ );
+ $this->info['top'] =
+ $this->info['left'] =
+ $this->info['right'] =
+ $this->info['bottom'] = new HTMLPurifier_AttrDef_CSS_Composite(
+ array(
+ new HTMLPurifier_AttrDef_CSS_Length(),
+ new HTMLPurifier_AttrDef_CSS_Percentage(),
+ new HTMLPurifier_AttrDef_Enum(array('auto')),
+ )
+ );
+ $this->info['z-index'] = new HTMLPurifier_AttrDef_CSS_Composite(
+ array(
+ new HTMLPurifier_AttrDef_Integer(),
+ new HTMLPurifier_AttrDef_Enum(array('auto')),
+ )
+ );
+ }
+
+ /**
+ * Performs extra config-based processing. Based off of
+ * HTMLPurifier_HTMLDefinition.
+ * @param HTMLPurifier_Config $config
+ * @todo Refactor duplicate elements into common class (probably using
+ * composition, not inheritance).
+ */
+ protected function setupConfigStuff($config)
+ {
+ // setup allowed elements
+ $support = "(for information on implementing this, see the " .
+ "support forums) ";
+ $allowed_properties = $config->get('CSS.AllowedProperties');
+ if ($allowed_properties !== null) {
+ foreach ($this->info as $name => $d) {
+ if (!isset($allowed_properties[$name])) {
+ unset($this->info[$name]);
+ }
+ unset($allowed_properties[$name]);
+ }
+ // emit errors
+ foreach ($allowed_properties as $name => $d) {
+ // :TODO: Is this htmlspecialchars() call really necessary?
+ $name = htmlspecialchars($name);
+ trigger_error("Style attribute '$name' is not supported $support", E_USER_WARNING);
+ }
+ }
+
+ $forbidden_properties = $config->get('CSS.ForbiddenProperties');
+ if ($forbidden_properties !== null) {
+ foreach ($this->info as $name => $d) {
+ if (isset($forbidden_properties[$name])) {
+ unset($this->info[$name]);
+ }
+ }
+ }
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef.php
new file mode 100644
index 000000000..8eb17b82e
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef.php
@@ -0,0 +1,52 @@
+<?php
+
+/**
+ * Defines allowed child nodes and validates nodes against it.
+ */
+abstract class HTMLPurifier_ChildDef
+{
+ /**
+ * Type of child definition, usually right-most part of class name lowercase.
+ * Used occasionally in terms of context.
+ * @type string
+ */
+ public $type;
+
+ /**
+ * Indicates whether or not an empty array of children is okay.
+ *
+ * This is necessary for redundant checking when changes affecting
+ * a child node may cause a parent node to now be disallowed.
+ * @type bool
+ */
+ public $allow_empty;
+
+ /**
+ * Lookup array of all elements that this definition could possibly allow.
+ * @type array
+ */
+ public $elements = array();
+
+ /**
+ * Get lookup of tag names that should not close this element automatically.
+ * All other elements will do so.
+ * @param HTMLPurifier_Config $config HTMLPurifier_Config object
+ * @return array
+ */
+ public function getAllowedElements($config)
+ {
+ return $this->elements;
+ }
+
+ /**
+ * Validates nodes according to definition and returns modification.
+ *
+ * @param HTMLPurifier_Node[] $children Array of HTMLPurifier_Node
+ * @param HTMLPurifier_Config $config HTMLPurifier_Config object
+ * @param HTMLPurifier_Context $context HTMLPurifier_Context object
+ * @return bool|array true to leave nodes as is, false to remove parent node, array of replacement children
+ */
+ abstract public function validateChildren($children, $config, $context);
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/Chameleon.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/Chameleon.php
new file mode 100644
index 000000000..7439be26b
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/Chameleon.php
@@ -0,0 +1,67 @@
+<?php
+
+/**
+ * Definition that uses different definitions depending on context.
+ *
+ * The del and ins tags are notable because they allow different types of
+ * elements depending on whether or not they're in a block or inline context.
+ * Chameleon allows this behavior to happen by using two different
+ * definitions depending on context. While this somewhat generalized,
+ * it is specifically intended for those two tags.
+ */
+class HTMLPurifier_ChildDef_Chameleon extends HTMLPurifier_ChildDef
+{
+
+ /**
+ * Instance of the definition object to use when inline. Usually stricter.
+ * @type HTMLPurifier_ChildDef_Optional
+ */
+ public $inline;
+
+ /**
+ * Instance of the definition object to use when block.
+ * @type HTMLPurifier_ChildDef_Optional
+ */
+ public $block;
+
+ /**
+ * @type string
+ */
+ public $type = 'chameleon';
+
+ /**
+ * @param array $inline List of elements to allow when inline.
+ * @param array $block List of elements to allow when block.
+ */
+ public function __construct($inline, $block)
+ {
+ $this->inline = new HTMLPurifier_ChildDef_Optional($inline);
+ $this->block = new HTMLPurifier_ChildDef_Optional($block);
+ $this->elements = $this->block->elements;
+ }
+
+ /**
+ * @param HTMLPurifier_Node[] $children
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool
+ */
+ public function validateChildren($children, $config, $context)
+ {
+ if ($context->get('IsInline') === false) {
+ return $this->block->validateChildren(
+ $children,
+ $config,
+ $context
+ );
+ } else {
+ return $this->inline->validateChildren(
+ $children,
+ $config,
+ $context
+ );
+ }
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/Custom.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/Custom.php
new file mode 100644
index 000000000..128132e96
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/Custom.php
@@ -0,0 +1,102 @@
+<?php
+
+/**
+ * Custom validation class, accepts DTD child definitions
+ *
+ * @warning Currently this class is an all or nothing proposition, that is,
+ * it will only give a bool return value.
+ */
+class HTMLPurifier_ChildDef_Custom extends HTMLPurifier_ChildDef
+{
+ /**
+ * @type string
+ */
+ public $type = 'custom';
+
+ /**
+ * @type bool
+ */
+ public $allow_empty = false;
+
+ /**
+ * Allowed child pattern as defined by the DTD.
+ * @type string
+ */
+ public $dtd_regex;
+
+ /**
+ * PCRE regex derived from $dtd_regex.
+ * @type string
+ */
+ private $_pcre_regex;
+
+ /**
+ * @param $dtd_regex Allowed child pattern from the DTD
+ */
+ public function __construct($dtd_regex)
+ {
+ $this->dtd_regex = $dtd_regex;
+ $this->_compileRegex();
+ }
+
+ /**
+ * Compiles the PCRE regex from a DTD regex ($dtd_regex to $_pcre_regex)
+ */
+ protected function _compileRegex()
+ {
+ $raw = str_replace(' ', '', $this->dtd_regex);
+ if ($raw{0} != '(') {
+ $raw = "($raw)";
+ }
+ $el = '[#a-zA-Z0-9_.-]+';
+ $reg = $raw;
+
+ // COMPLICATED! AND MIGHT BE BUGGY! I HAVE NO CLUE WHAT I'M
+ // DOING! Seriously: if there's problems, please report them.
+
+ // collect all elements into the $elements array
+ preg_match_all("/$el/", $reg, $matches);
+ foreach ($matches[0] as $match) {
+ $this->elements[$match] = true;
+ }
+
+ // setup all elements as parentheticals with leading commas
+ $reg = preg_replace("/$el/", '(,\\0)', $reg);
+
+ // remove commas when they were not solicited
+ $reg = preg_replace("/([^,(|]\(+),/", '\\1', $reg);
+
+ // remove all non-paranthetical commas: they are handled by first regex
+ $reg = preg_replace("/,\(/", '(', $reg);
+
+ $this->_pcre_regex = $reg;
+ }
+
+ /**
+ * @param HTMLPurifier_Node[] $children
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool
+ */
+ public function validateChildren($children, $config, $context)
+ {
+ $list_of_children = '';
+ $nesting = 0; // depth into the nest
+ foreach ($children as $node) {
+ if (!empty($node->is_whitespace)) {
+ continue;
+ }
+ $list_of_children .= $node->name . ',';
+ }
+ // add leading comma to deal with stray comma declarations
+ $list_of_children = ',' . rtrim($list_of_children, ',');
+ $okay =
+ preg_match(
+ '/^,?' . $this->_pcre_regex . '$/',
+ $list_of_children
+ );
+ return (bool)$okay;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/Empty.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/Empty.php
new file mode 100644
index 000000000..a8a6cbdd2
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/Empty.php
@@ -0,0 +1,38 @@
+<?php
+
+/**
+ * Definition that disallows all elements.
+ * @warning validateChildren() in this class is actually never called, because
+ * empty elements are corrected in HTMLPurifier_Strategy_MakeWellFormed
+ * before child definitions are parsed in earnest by
+ * HTMLPurifier_Strategy_FixNesting.
+ */
+class HTMLPurifier_ChildDef_Empty extends HTMLPurifier_ChildDef
+{
+ /**
+ * @type bool
+ */
+ public $allow_empty = true;
+
+ /**
+ * @type string
+ */
+ public $type = 'empty';
+
+ public function __construct()
+ {
+ }
+
+ /**
+ * @param HTMLPurifier_Node[] $children
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return array
+ */
+ public function validateChildren($children, $config, $context)
+ {
+ return array();
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/List.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/List.php
new file mode 100644
index 000000000..4fc70e0ef
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/List.php
@@ -0,0 +1,92 @@
+<?php
+
+/**
+ * Definition for list containers ul and ol.
+ *
+ * What does this do? The big thing is to handle ol/ul at the top
+ * level of list nodes, which should be handled specially by /folding/
+ * them into the previous list node. We generally shouldn't ever
+ * see other disallowed elements, because the autoclose behavior
+ * in MakeWellFormed handles it.
+ */
+class HTMLPurifier_ChildDef_List extends HTMLPurifier_ChildDef
+{
+ /**
+ * @type string
+ */
+ public $type = 'list';
+ /**
+ * @type array
+ */
+ // lying a little bit, so that we can handle ul and ol ourselves
+ // XXX: This whole business with 'wrap' is all a bit unsatisfactory
+ public $elements = array('li' => true, 'ul' => true, 'ol' => true);
+
+ /**
+ * @param array $children
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return array
+ */
+ public function validateChildren($children, $config, $context)
+ {
+ // Flag for subclasses
+ $this->whitespace = false;
+
+ // if there are no tokens, delete parent node
+ if (empty($children)) {
+ return false;
+ }
+
+ // if li is not allowed, delete parent node
+ if (!isset($config->getHTMLDefinition()->info['li'])) {
+ trigger_error("Cannot allow ul/ol without allowing li", E_USER_WARNING);
+ return false;
+ }
+
+ // the new set of children
+ $result = array();
+
+ // a little sanity check to make sure it's not ALL whitespace
+ $all_whitespace = true;
+
+ $current_li = null;
+
+ foreach ($children as $node) {
+ if (!empty($node->is_whitespace)) {
+ $result[] = $node;
+ continue;
+ }
+ $all_whitespace = false; // phew, we're not talking about whitespace
+
+ if ($node->name === 'li') {
+ // good
+ $current_li = $node;
+ $result[] = $node;
+ } else {
+ // we want to tuck this into the previous li
+ // Invariant: we expect the node to be ol/ul
+ // ToDo: Make this more robust in the case of not ol/ul
+ // by distinguishing between existing li and li created
+ // to handle non-list elements; non-list elements should
+ // not be appended to an existing li; only li created
+ // for non-list. This distinction is not currently made.
+ if ($current_li === null) {
+ $current_li = new HTMLPurifier_Node_Element('li');
+ $result[] = $current_li;
+ }
+ $current_li->children[] = $node;
+ $current_li->empty = false; // XXX fascinating! Check for this error elsewhere ToDo
+ }
+ }
+ if (empty($result)) {
+ return false;
+ }
+ if ($all_whitespace) {
+ return false;
+ }
+ return $result;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/Optional.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/Optional.php
new file mode 100644
index 000000000..b9468063b
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/Optional.php
@@ -0,0 +1,45 @@
+<?php
+
+/**
+ * Definition that allows a set of elements, and allows no children.
+ * @note This is a hack to reuse code from HTMLPurifier_ChildDef_Required,
+ * really, one shouldn't inherit from the other. Only altered behavior
+ * is to overload a returned false with an array. Thus, it will never
+ * return false.
+ */
+class HTMLPurifier_ChildDef_Optional extends HTMLPurifier_ChildDef_Required
+{
+ /**
+ * @type bool
+ */
+ public $allow_empty = true;
+
+ /**
+ * @type string
+ */
+ public $type = 'optional';
+
+ /**
+ * @param array $children
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return array
+ */
+ public function validateChildren($children, $config, $context)
+ {
+ $result = parent::validateChildren($children, $config, $context);
+ // we assume that $children is not modified
+ if ($result === false) {
+ if (empty($children)) {
+ return true;
+ } elseif ($this->whitespace) {
+ return $children;
+ } else {
+ return array();
+ }
+ }
+ return $result;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/Required.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/Required.php
new file mode 100644
index 000000000..0d1c8f5f3
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/Required.php
@@ -0,0 +1,118 @@
+<?php
+
+/**
+ * Definition that allows a set of elements, but disallows empty children.
+ */
+class HTMLPurifier_ChildDef_Required extends HTMLPurifier_ChildDef
+{
+ /**
+ * Lookup table of allowed elements.
+ * @type array
+ */
+ public $elements = array();
+
+ /**
+ * Whether or not the last passed node was all whitespace.
+ * @type bool
+ */
+ protected $whitespace = false;
+
+ /**
+ * @param array|string $elements List of allowed element names (lowercase).
+ */
+ public function __construct($elements)
+ {
+ if (is_string($elements)) {
+ $elements = str_replace(' ', '', $elements);
+ $elements = explode('|', $elements);
+ }
+ $keys = array_keys($elements);
+ if ($keys == array_keys($keys)) {
+ $elements = array_flip($elements);
+ foreach ($elements as $i => $x) {
+ $elements[$i] = true;
+ if (empty($i)) {
+ unset($elements[$i]);
+ } // remove blank
+ }
+ }
+ $this->elements = $elements;
+ }
+
+ /**
+ * @type bool
+ */
+ public $allow_empty = false;
+
+ /**
+ * @type string
+ */
+ public $type = 'required';
+
+ /**
+ * @param array $children
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return array
+ */
+ public function validateChildren($children, $config, $context)
+ {
+ // Flag for subclasses
+ $this->whitespace = false;
+
+ // if there are no tokens, delete parent node
+ if (empty($children)) {
+ return false;
+ }
+
+ // the new set of children
+ $result = array();
+
+ // whether or not parsed character data is allowed
+ // this controls whether or not we silently drop a tag
+ // or generate escaped HTML from it
+ $pcdata_allowed = isset($this->elements['#PCDATA']);
+
+ // a little sanity check to make sure it's not ALL whitespace
+ $all_whitespace = true;
+
+ $stack = array_reverse($children);
+ while (!empty($stack)) {
+ $node = array_pop($stack);
+ if (!empty($node->is_whitespace)) {
+ $result[] = $node;
+ continue;
+ }
+ $all_whitespace = false; // phew, we're not talking about whitespace
+
+ if (!isset($this->elements[$node->name])) {
+ // special case text
+ // XXX One of these ought to be redundant or something
+ if ($pcdata_allowed && $node instanceof HTMLPurifier_Node_Text) {
+ $result[] = $node;
+ continue;
+ }
+ // spill the child contents in
+ // ToDo: Make configurable
+ if ($node instanceof HTMLPurifier_Node_Element) {
+ for ($i = count($node->children) - 1; $i >= 0; $i--) {
+ $stack[] = $node->children[$i];
+ }
+ continue;
+ }
+ continue;
+ }
+ $result[] = $node;
+ }
+ if (empty($result)) {
+ return false;
+ }
+ if ($all_whitespace) {
+ $this->whitespace = true;
+ return false;
+ }
+ return $result;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/StrictBlockquote.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/StrictBlockquote.php
new file mode 100644
index 000000000..3270a46e1
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/StrictBlockquote.php
@@ -0,0 +1,110 @@
+<?php
+
+/**
+ * Takes the contents of blockquote when in strict and reformats for validation.
+ */
+class HTMLPurifier_ChildDef_StrictBlockquote extends HTMLPurifier_ChildDef_Required
+{
+ /**
+ * @type array
+ */
+ protected $real_elements;
+
+ /**
+ * @type array
+ */
+ protected $fake_elements;
+
+ /**
+ * @type bool
+ */
+ public $allow_empty = true;
+
+ /**
+ * @type string
+ */
+ public $type = 'strictblockquote';
+
+ /**
+ * @type bool
+ */
+ protected $init = false;
+
+ /**
+ * @param HTMLPurifier_Config $config
+ * @return array
+ * @note We don't want MakeWellFormed to auto-close inline elements since
+ * they might be allowed.
+ */
+ public function getAllowedElements($config)
+ {
+ $this->init($config);
+ return $this->fake_elements;
+ }
+
+ /**
+ * @param array $children
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return array
+ */
+ public function validateChildren($children, $config, $context)
+ {
+ $this->init($config);
+
+ // trick the parent class into thinking it allows more
+ $this->elements = $this->fake_elements;
+ $result = parent::validateChildren($children, $config, $context);
+ $this->elements = $this->real_elements;
+
+ if ($result === false) {
+ return array();
+ }
+ if ($result === true) {
+ $result = $children;
+ }
+
+ $def = $config->getHTMLDefinition();
+ $block_wrap_name = $def->info_block_wrapper;
+ $block_wrap = false;
+ $ret = array();
+
+ foreach ($result as $node) {
+ if ($block_wrap === false) {
+ if (($node instanceof HTMLPurifier_Node_Text && !$node->is_whitespace) ||
+ ($node instanceof HTMLPurifier_Node_Element && !isset($this->elements[$node->name]))) {
+ $block_wrap = new HTMLPurifier_Node_Element($def->info_block_wrapper);
+ $ret[] = $block_wrap;
+ }
+ } else {
+ if ($node instanceof HTMLPurifier_Node_Element && isset($this->elements[$node->name])) {
+ $block_wrap = false;
+
+ }
+ }
+ if ($block_wrap) {
+ $block_wrap->children[] = $node;
+ } else {
+ $ret[] = $node;
+ }
+ }
+ return $ret;
+ }
+
+ /**
+ * @param HTMLPurifier_Config $config
+ */
+ private function init($config)
+ {
+ if (!$this->init) {
+ $def = $config->getHTMLDefinition();
+ // allow all inline elements
+ $this->real_elements = $this->elements;
+ $this->fake_elements = $def->info_content_sets['Flow'];
+ $this->fake_elements['#PCDATA'] = true;
+ $this->init = true;
+ }
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/Table.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/Table.php
new file mode 100644
index 000000000..cb6b3e6cd
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/Table.php
@@ -0,0 +1,224 @@
+<?php
+
+/**
+ * Definition for tables. The general idea is to extract out all of the
+ * essential bits, and then reconstruct it later.
+ *
+ * This is a bit confusing, because the DTDs and the W3C
+ * validators seem to disagree on the appropriate definition. The
+ * DTD claims:
+ *
+ * (CAPTION?, (COL*|COLGROUP*), THEAD?, TFOOT?, TBODY+)
+ *
+ * But actually, the HTML4 spec then has this to say:
+ *
+ * The TBODY start tag is always required except when the table
+ * contains only one table body and no table head or foot sections.
+ * The TBODY end tag may always be safely omitted.
+ *
+ * So the DTD is kind of wrong. The validator is, unfortunately, kind
+ * of on crack.
+ *
+ * The definition changed again in XHTML1.1; and in my opinion, this
+ * formulation makes the most sense.
+ *
+ * caption?, ( col* | colgroup* ), (( thead?, tfoot?, tbody+ ) | ( tr+ ))
+ *
+ * Essentially, we have two modes: thead/tfoot/tbody mode, and tr mode.
+ * If we encounter a thead, tfoot or tbody, we are placed in the former
+ * mode, and we *must* wrap any stray tr segments with a tbody. But if
+ * we don't run into any of them, just have tr tags is OK.
+ */
+class HTMLPurifier_ChildDef_Table extends HTMLPurifier_ChildDef
+{
+ /**
+ * @type bool
+ */
+ public $allow_empty = false;
+
+ /**
+ * @type string
+ */
+ public $type = 'table';
+
+ /**
+ * @type array
+ */
+ public $elements = array(
+ 'tr' => true,
+ 'tbody' => true,
+ 'thead' => true,
+ 'tfoot' => true,
+ 'caption' => true,
+ 'colgroup' => true,
+ 'col' => true
+ );
+
+ public function __construct()
+ {
+ }
+
+ /**
+ * @param array $children
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return array
+ */
+ public function validateChildren($children, $config, $context)
+ {
+ if (empty($children)) {
+ return false;
+ }
+
+ // only one of these elements is allowed in a table
+ $caption = false;
+ $thead = false;
+ $tfoot = false;
+
+ // whitespace
+ $initial_ws = array();
+ $after_caption_ws = array();
+ $after_thead_ws = array();
+ $after_tfoot_ws = array();
+
+ // as many of these as you want
+ $cols = array();
+ $content = array();
+
+ $tbody_mode = false; // if true, then we need to wrap any stray
+ // <tr>s with a <tbody>.
+
+ $ws_accum =& $initial_ws;
+
+ foreach ($children as $node) {
+ if ($node instanceof HTMLPurifier_Node_Comment) {
+ $ws_accum[] = $node;
+ continue;
+ }
+ switch ($node->name) {
+ case 'tbody':
+ $tbody_mode = true;
+ // fall through
+ case 'tr':
+ $content[] = $node;
+ $ws_accum =& $content;
+ break;
+ case 'caption':
+ // there can only be one caption!
+ if ($caption !== false) break;
+ $caption = $node;
+ $ws_accum =& $after_caption_ws;
+ break;
+ case 'thead':
+ $tbody_mode = true;
+ // XXX This breaks rendering properties with
+ // Firefox, which never floats a <thead> to
+ // the top. Ever. (Our scheme will float the
+ // first <thead> to the top.) So maybe
+ // <thead>s that are not first should be
+ // turned into <tbody>? Very tricky, indeed.
+ if ($thead === false) {
+ $thead = $node;
+ $ws_accum =& $after_thead_ws;
+ } else {
+ // Oops, there's a second one! What
+ // should we do? Current behavior is to
+ // transmutate the first and last entries into
+ // tbody tags, and then put into content.
+ // Maybe a better idea is to *attach
+ // it* to the existing thead or tfoot?
+ // We don't do this, because Firefox
+ // doesn't float an extra tfoot to the
+ // bottom like it does for the first one.
+ $node->name = 'tbody';
+ $content[] = $node;
+ $ws_accum =& $content;
+ }
+ break;
+ case 'tfoot':
+ // see above for some aveats
+ $tbody_mode = true;
+ if ($tfoot === false) {
+ $tfoot = $node;
+ $ws_accum =& $after_tfoot_ws;
+ } else {
+ $node->name = 'tbody';
+ $content[] = $node;
+ $ws_accum =& $content;
+ }
+ break;
+ case 'colgroup':
+ case 'col':
+ $cols[] = $node;
+ $ws_accum =& $cols;
+ break;
+ case '#PCDATA':
+ // How is whitespace handled? We treat is as sticky to
+ // the *end* of the previous element. So all of the
+ // nonsense we have worked on is to keep things
+ // together.
+ if (!empty($node->is_whitespace)) {
+ $ws_accum[] = $node;
+ }
+ break;
+ }
+ }
+
+ if (empty($content)) {
+ return false;
+ }
+
+ $ret = $initial_ws;
+ if ($caption !== false) {
+ $ret[] = $caption;
+ $ret = array_merge($ret, $after_caption_ws);
+ }
+ if ($cols !== false) {
+ $ret = array_merge($ret, $cols);
+ }
+ if ($thead !== false) {
+ $ret[] = $thead;
+ $ret = array_merge($ret, $after_thead_ws);
+ }
+ if ($tfoot !== false) {
+ $ret[] = $tfoot;
+ $ret = array_merge($ret, $after_tfoot_ws);
+ }
+
+ if ($tbody_mode) {
+ // we have to shuffle tr into tbody
+ $current_tr_tbody = null;
+
+ foreach($content as $node) {
+ switch ($node->name) {
+ case 'tbody':
+ $current_tr_tbody = null;
+ $ret[] = $node;
+ break;
+ case 'tr':
+ if ($current_tr_tbody === null) {
+ $current_tr_tbody = new HTMLPurifier_Node_Element('tbody');
+ $ret[] = $current_tr_tbody;
+ }
+ $current_tr_tbody->children[] = $node;
+ break;
+ case '#PCDATA':
+ //assert($node->is_whitespace);
+ if ($current_tr_tbody === null) {
+ $ret[] = $node;
+ } else {
+ $current_tr_tbody->children[] = $node;
+ }
+ break;
+ }
+ }
+ } else {
+ $ret = array_merge($ret, $content);
+ }
+
+ return $ret;
+
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Config.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Config.php
new file mode 100644
index 000000000..3648364b3
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Config.php
@@ -0,0 +1,920 @@
+<?php
+
+/**
+ * Configuration object that triggers customizable behavior.
+ *
+ * @warning This class is strongly defined: that means that the class
+ * will fail if an undefined directive is retrieved or set.
+ *
+ * @note Many classes that could (although many times don't) use the
+ * configuration object make it a mandatory parameter. This is
+ * because a configuration object should always be forwarded,
+ * otherwise, you run the risk of missing a parameter and then
+ * being stumped when a configuration directive doesn't work.
+ *
+ * @todo Reconsider some of the public member variables
+ */
+class HTMLPurifier_Config
+{
+
+ /**
+ * HTML Purifier's version
+ * @type string
+ */
+ public $version = '4.9.3';
+
+ /**
+ * Whether or not to automatically finalize
+ * the object if a read operation is done.
+ * @type bool
+ */
+ public $autoFinalize = true;
+
+ // protected member variables
+
+ /**
+ * Namespace indexed array of serials for specific namespaces.
+ * @see getSerial() for more info.
+ * @type string[]
+ */
+ protected $serials = array();
+
+ /**
+ * Serial for entire configuration object.
+ * @type string
+ */
+ protected $serial;
+
+ /**
+ * Parser for variables.
+ * @type HTMLPurifier_VarParser_Flexible
+ */
+ protected $parser = null;
+
+ /**
+ * Reference HTMLPurifier_ConfigSchema for value checking.
+ * @type HTMLPurifier_ConfigSchema
+ * @note This is public for introspective purposes. Please don't
+ * abuse!
+ */
+ public $def;
+
+ /**
+ * Indexed array of definitions.
+ * @type HTMLPurifier_Definition[]
+ */
+ protected $definitions;
+
+ /**
+ * Whether or not config is finalized.
+ * @type bool
+ */
+ protected $finalized = false;
+
+ /**
+ * Property list containing configuration directives.
+ * @type array
+ */
+ protected $plist;
+
+ /**
+ * Whether or not a set is taking place due to an alias lookup.
+ * @type bool
+ */
+ private $aliasMode;
+
+ /**
+ * Set to false if you do not want line and file numbers in errors.
+ * (useful when unit testing). This will also compress some errors
+ * and exceptions.
+ * @type bool
+ */
+ public $chatty = true;
+
+ /**
+ * Current lock; only gets to this namespace are allowed.
+ * @type string
+ */
+ private $lock;
+
+ /**
+ * Constructor
+ * @param HTMLPurifier_ConfigSchema $definition ConfigSchema that defines
+ * what directives are allowed.
+ * @param HTMLPurifier_PropertyList $parent
+ */
+ public function __construct($definition, $parent = null)
+ {
+ $parent = $parent ? $parent : $definition->defaultPlist;
+ $this->plist = new HTMLPurifier_PropertyList($parent);
+ $this->def = $definition; // keep a copy around for checking
+ $this->parser = new HTMLPurifier_VarParser_Flexible();
+ }
+
+ /**
+ * Convenience constructor that creates a config object based on a mixed var
+ * @param mixed $config Variable that defines the state of the config
+ * object. Can be: a HTMLPurifier_Config() object,
+ * an array of directives based on loadArray(),
+ * or a string filename of an ini file.
+ * @param HTMLPurifier_ConfigSchema $schema Schema object
+ * @return HTMLPurifier_Config Configured object
+ */
+ public static function create($config, $schema = null)
+ {
+ if ($config instanceof HTMLPurifier_Config) {
+ // pass-through
+ return $config;
+ }
+ if (!$schema) {
+ $ret = HTMLPurifier_Config::createDefault();
+ } else {
+ $ret = new HTMLPurifier_Config($schema);
+ }
+ if (is_string($config)) {
+ $ret->loadIni($config);
+ } elseif (is_array($config)) $ret->loadArray($config);
+ return $ret;
+ }
+
+ /**
+ * Creates a new config object that inherits from a previous one.
+ * @param HTMLPurifier_Config $config Configuration object to inherit from.
+ * @return HTMLPurifier_Config object with $config as its parent.
+ */
+ public static function inherit(HTMLPurifier_Config $config)
+ {
+ return new HTMLPurifier_Config($config->def, $config->plist);
+ }
+
+ /**
+ * Convenience constructor that creates a default configuration object.
+ * @return HTMLPurifier_Config default object.
+ */
+ public static function createDefault()
+ {
+ $definition = HTMLPurifier_ConfigSchema::instance();
+ $config = new HTMLPurifier_Config($definition);
+ return $config;
+ }
+
+ /**
+ * Retrieves a value from the configuration.
+ *
+ * @param string $key String key
+ * @param mixed $a
+ *
+ * @return mixed
+ */
+ public function get($key, $a = null)
+ {
+ if ($a !== null) {
+ $this->triggerError(
+ "Using deprecated API: use \$config->get('$key.$a') instead",
+ E_USER_WARNING
+ );
+ $key = "$key.$a";
+ }
+ if (!$this->finalized) {
+ $this->autoFinalize();
+ }
+ if (!isset($this->def->info[$key])) {
+ // can't add % due to SimpleTest bug
+ $this->triggerError(
+ 'Cannot retrieve value of undefined directive ' . htmlspecialchars($key),
+ E_USER_WARNING
+ );
+ return;
+ }
+ if (isset($this->def->info[$key]->isAlias)) {
+ $d = $this->def->info[$key];
+ $this->triggerError(
+ 'Cannot get value from aliased directive, use real name ' . $d->key,
+ E_USER_ERROR
+ );
+ return;
+ }
+ if ($this->lock) {
+ list($ns) = explode('.', $key);
+ if ($ns !== $this->lock) {
+ $this->triggerError(
+ 'Cannot get value of namespace ' . $ns . ' when lock for ' .
+ $this->lock .
+ ' is active, this probably indicates a Definition setup method ' .
+ 'is accessing directives that are not within its namespace',
+ E_USER_ERROR
+ );
+ return;
+ }
+ }
+ return $this->plist->get($key);
+ }
+
+ /**
+ * Retrieves an array of directives to values from a given namespace
+ *
+ * @param string $namespace String namespace
+ *
+ * @return array
+ */
+ public function getBatch($namespace)
+ {
+ if (!$this->finalized) {
+ $this->autoFinalize();
+ }
+ $full = $this->getAll();
+ if (!isset($full[$namespace])) {
+ $this->triggerError(
+ 'Cannot retrieve undefined namespace ' .
+ htmlspecialchars($namespace),
+ E_USER_WARNING
+ );
+ return;
+ }
+ return $full[$namespace];
+ }
+
+ /**
+ * Returns a SHA-1 signature of a segment of the configuration object
+ * that uniquely identifies that particular configuration
+ *
+ * @param string $namespace Namespace to get serial for
+ *
+ * @return string
+ * @note Revision is handled specially and is removed from the batch
+ * before processing!
+ */
+ public function getBatchSerial($namespace)
+ {
+ if (empty($this->serials[$namespace])) {
+ $batch = $this->getBatch($namespace);
+ unset($batch['DefinitionRev']);
+ $this->serials[$namespace] = sha1(serialize($batch));
+ }
+ return $this->serials[$namespace];
+ }
+
+ /**
+ * Returns a SHA-1 signature for the entire configuration object
+ * that uniquely identifies that particular configuration
+ *
+ * @return string
+ */
+ public function getSerial()
+ {
+ if (empty($this->serial)) {
+ $this->serial = sha1(serialize($this->getAll()));
+ }
+ return $this->serial;
+ }
+
+ /**
+ * Retrieves all directives, organized by namespace
+ *
+ * @warning This is a pretty inefficient function, avoid if you can
+ */
+ public function getAll()
+ {
+ if (!$this->finalized) {
+ $this->autoFinalize();
+ }
+ $ret = array();
+ foreach ($this->plist->squash() as $name => $value) {
+ list($ns, $key) = explode('.', $name, 2);
+ $ret[$ns][$key] = $value;
+ }
+ return $ret;
+ }
+
+ /**
+ * Sets a value to configuration.
+ *
+ * @param string $key key
+ * @param mixed $value value
+ * @param mixed $a
+ */
+ public function set($key, $value, $a = null)
+ {
+ if (strpos($key, '.') === false) {
+ $namespace = $key;
+ $directive = $value;
+ $value = $a;
+ $key = "$key.$directive";
+ $this->triggerError("Using deprecated API: use \$config->set('$key', ...) instead", E_USER_NOTICE);
+ } else {
+ list($namespace) = explode('.', $key);
+ }
+ if ($this->isFinalized('Cannot set directive after finalization')) {
+ return;
+ }
+ if (!isset($this->def->info[$key])) {
+ $this->triggerError(
+ 'Cannot set undefined directive ' . htmlspecialchars($key) . ' to value',
+ E_USER_WARNING
+ );
+ return;
+ }
+ $def = $this->def->info[$key];
+
+ if (isset($def->isAlias)) {
+ if ($this->aliasMode) {
+ $this->triggerError(
+ 'Double-aliases not allowed, please fix '.
+ 'ConfigSchema bug with' . $key,
+ E_USER_ERROR
+ );
+ return;
+ }
+ $this->aliasMode = true;
+ $this->set($def->key, $value);
+ $this->aliasMode = false;
+ $this->triggerError("$key is an alias, preferred directive name is {$def->key}", E_USER_NOTICE);
+ return;
+ }
+
+ // Raw type might be negative when using the fully optimized form
+ // of stdClass, which indicates allow_null == true
+ $rtype = is_int($def) ? $def : $def->type;
+ if ($rtype < 0) {
+ $type = -$rtype;
+ $allow_null = true;
+ } else {
+ $type = $rtype;
+ $allow_null = isset($def->allow_null);
+ }
+
+ try {
+ $value = $this->parser->parse($value, $type, $allow_null);
+ } catch (HTMLPurifier_VarParserException $e) {
+ $this->triggerError(
+ 'Value for ' . $key . ' is of invalid type, should be ' .
+ HTMLPurifier_VarParser::getTypeName($type),
+ E_USER_WARNING
+ );
+ return;
+ }
+ if (is_string($value) && is_object($def)) {
+ // resolve value alias if defined
+ if (isset($def->aliases[$value])) {
+ $value = $def->aliases[$value];
+ }
+ // check to see if the value is allowed
+ if (isset($def->allowed) && !isset($def->allowed[$value])) {
+ $this->triggerError(
+ 'Value not supported, valid values are: ' .
+ $this->_listify($def->allowed),
+ E_USER_WARNING
+ );
+ return;
+ }
+ }
+ $this->plist->set($key, $value);
+
+ // reset definitions if the directives they depend on changed
+ // this is a very costly process, so it's discouraged
+ // with finalization
+ if ($namespace == 'HTML' || $namespace == 'CSS' || $namespace == 'URI') {
+ $this->definitions[$namespace] = null;
+ }
+
+ $this->serials[$namespace] = false;
+ }
+
+ /**
+ * Convenience function for error reporting
+ *
+ * @param array $lookup
+ *
+ * @return string
+ */
+ private function _listify($lookup)
+ {
+ $list = array();
+ foreach ($lookup as $name => $b) {
+ $list[] = $name;
+ }
+ return implode(', ', $list);
+ }
+
+ /**
+ * Retrieves object reference to the HTML definition.
+ *
+ * @param bool $raw Return a copy that has not been setup yet. Must be
+ * called before it's been setup, otherwise won't work.
+ * @param bool $optimized If true, this method may return null, to
+ * indicate that a cached version of the modified
+ * definition object is available and no further edits
+ * are necessary. Consider using
+ * maybeGetRawHTMLDefinition, which is more explicitly
+ * named, instead.
+ *
+ * @return HTMLPurifier_HTMLDefinition
+ */
+ public function getHTMLDefinition($raw = false, $optimized = false)
+ {
+ return $this->getDefinition('HTML', $raw, $optimized);
+ }
+
+ /**
+ * Retrieves object reference to the CSS definition
+ *
+ * @param bool $raw Return a copy that has not been setup yet. Must be
+ * called before it's been setup, otherwise won't work.
+ * @param bool $optimized If true, this method may return null, to
+ * indicate that a cached version of the modified
+ * definition object is available and no further edits
+ * are necessary. Consider using
+ * maybeGetRawCSSDefinition, which is more explicitly
+ * named, instead.
+ *
+ * @return HTMLPurifier_CSSDefinition
+ */
+ public function getCSSDefinition($raw = false, $optimized = false)
+ {
+ return $this->getDefinition('CSS', $raw, $optimized);
+ }
+
+ /**
+ * Retrieves object reference to the URI definition
+ *
+ * @param bool $raw Return a copy that has not been setup yet. Must be
+ * called before it's been setup, otherwise won't work.
+ * @param bool $optimized If true, this method may return null, to
+ * indicate that a cached version of the modified
+ * definition object is available and no further edits
+ * are necessary. Consider using
+ * maybeGetRawURIDefinition, which is more explicitly
+ * named, instead.
+ *
+ * @return HTMLPurifier_URIDefinition
+ */
+ public function getURIDefinition($raw = false, $optimized = false)
+ {
+ return $this->getDefinition('URI', $raw, $optimized);
+ }
+
+ /**
+ * Retrieves a definition
+ *
+ * @param string $type Type of definition: HTML, CSS, etc
+ * @param bool $raw Whether or not definition should be returned raw
+ * @param bool $optimized Only has an effect when $raw is true. Whether
+ * or not to return null if the result is already present in
+ * the cache. This is off by default for backwards
+ * compatibility reasons, but you need to do things this
+ * way in order to ensure that caching is done properly.
+ * Check out enduser-customize.html for more details.
+ * We probably won't ever change this default, as much as the
+ * maybe semantics is the "right thing to do."
+ *
+ * @throws HTMLPurifier_Exception
+ * @return HTMLPurifier_Definition
+ */
+ public function getDefinition($type, $raw = false, $optimized = false)
+ {
+ if ($optimized && !$raw) {
+ throw new HTMLPurifier_Exception("Cannot set optimized = true when raw = false");
+ }
+ if (!$this->finalized) {
+ $this->autoFinalize();
+ }
+ // temporarily suspend locks, so we can handle recursive definition calls
+ $lock = $this->lock;
+ $this->lock = null;
+ $factory = HTMLPurifier_DefinitionCacheFactory::instance();
+ $cache = $factory->create($type, $this);
+ $this->lock = $lock;
+ if (!$raw) {
+ // full definition
+ // ---------------
+ // check if definition is in memory
+ if (!empty($this->definitions[$type])) {
+ $def = $this->definitions[$type];
+ // check if the definition is setup
+ if ($def->setup) {
+ return $def;
+ } else {
+ $def->setup($this);
+ if ($def->optimized) {
+ $cache->add($def, $this);
+ }
+ return $def;
+ }
+ }
+ // check if definition is in cache
+ $def = $cache->get($this);
+ if ($def) {
+ // definition in cache, save to memory and return it
+ $this->definitions[$type] = $def;
+ return $def;
+ }
+ // initialize it
+ $def = $this->initDefinition($type);
+ // set it up
+ $this->lock = $type;
+ $def->setup($this);
+ $this->lock = null;
+ // save in cache
+ $cache->add($def, $this);
+ // return it
+ return $def;
+ } else {
+ // raw definition
+ // --------------
+ // check preconditions
+ $def = null;
+ if ($optimized) {
+ if (is_null($this->get($type . '.DefinitionID'))) {
+ // fatally error out if definition ID not set
+ throw new HTMLPurifier_Exception(
+ "Cannot retrieve raw version without specifying %$type.DefinitionID"
+ );
+ }
+ }
+ if (!empty($this->definitions[$type])) {
+ $def = $this->definitions[$type];
+ if ($def->setup && !$optimized) {
+ $extra = $this->chatty ?
+ " (try moving this code block earlier in your initialization)" :
+ "";
+ throw new HTMLPurifier_Exception(
+ "Cannot retrieve raw definition after it has already been setup" .
+ $extra
+ );
+ }
+ if ($def->optimized === null) {
+ $extra = $this->chatty ? " (try flushing your cache)" : "";
+ throw new HTMLPurifier_Exception(
+ "Optimization status of definition is unknown" . $extra
+ );
+ }
+ if ($def->optimized !== $optimized) {
+ $msg = $optimized ? "optimized" : "unoptimized";
+ $extra = $this->chatty ?
+ " (this backtrace is for the first inconsistent call, which was for a $msg raw definition)"
+ : "";
+ throw new HTMLPurifier_Exception(
+ "Inconsistent use of optimized and unoptimized raw definition retrievals" . $extra
+ );
+ }
+ }
+ // check if definition was in memory
+ if ($def) {
+ if ($def->setup) {
+ // invariant: $optimized === true (checked above)
+ return null;
+ } else {
+ return $def;
+ }
+ }
+ // if optimized, check if definition was in cache
+ // (because we do the memory check first, this formulation
+ // is prone to cache slamming, but I think
+ // guaranteeing that either /all/ of the raw
+ // setup code or /none/ of it is run is more important.)
+ if ($optimized) {
+ // This code path only gets run once; once we put
+ // something in $definitions (which is guaranteed by the
+ // trailing code), we always short-circuit above.
+ $def = $cache->get($this);
+ if ($def) {
+ // save the full definition for later, but don't
+ // return it yet
+ $this->definitions[$type] = $def;
+ return null;
+ }
+ }
+ // check invariants for creation
+ if (!$optimized) {
+ if (!is_null($this->get($type . '.DefinitionID'))) {
+ if ($this->chatty) {
+ $this->triggerError(
+ 'Due to a documentation error in previous version of HTML Purifier, your ' .
+ 'definitions are not being cached. If this is OK, you can remove the ' .
+ '%$type.DefinitionRev and %$type.DefinitionID declaration. Otherwise, ' .
+ 'modify your code to use maybeGetRawDefinition, and test if the returned ' .
+ 'value is null before making any edits (if it is null, that means that a ' .
+ 'cached version is available, and no raw operations are necessary). See ' .
+ '<a href="http://htmlpurifier.org/docs/enduser-customize.html#optimized">' .
+ 'Customize</a> for more details',
+ E_USER_WARNING
+ );
+ } else {
+ $this->triggerError(
+ "Useless DefinitionID declaration",
+ E_USER_WARNING
+ );
+ }
+ }
+ }
+ // initialize it
+ $def = $this->initDefinition($type);
+ $def->optimized = $optimized;
+ return $def;
+ }
+ throw new HTMLPurifier_Exception("The impossible happened!");
+ }
+
+ /**
+ * Initialise definition
+ *
+ * @param string $type What type of definition to create
+ *
+ * @return HTMLPurifier_CSSDefinition|HTMLPurifier_HTMLDefinition|HTMLPurifier_URIDefinition
+ * @throws HTMLPurifier_Exception
+ */
+ private function initDefinition($type)
+ {
+ // quick checks failed, let's create the object
+ if ($type == 'HTML') {
+ $def = new HTMLPurifier_HTMLDefinition();
+ } elseif ($type == 'CSS') {
+ $def = new HTMLPurifier_CSSDefinition();
+ } elseif ($type == 'URI') {
+ $def = new HTMLPurifier_URIDefinition();
+ } else {
+ throw new HTMLPurifier_Exception(
+ "Definition of $type type not supported"
+ );
+ }
+ $this->definitions[$type] = $def;
+ return $def;
+ }
+
+ public function maybeGetRawDefinition($name)
+ {
+ return $this->getDefinition($name, true, true);
+ }
+
+ /**
+ * @return HTMLPurifier_HTMLDefinition
+ */
+ public function maybeGetRawHTMLDefinition()
+ {
+ return $this->getDefinition('HTML', true, true);
+ }
+
+ /**
+ * @return HTMLPurifier_CSSDefinition
+ */
+ public function maybeGetRawCSSDefinition()
+ {
+ return $this->getDefinition('CSS', true, true);
+ }
+
+ /**
+ * @return HTMLPurifier_URIDefinition
+ */
+ public function maybeGetRawURIDefinition()
+ {
+ return $this->getDefinition('URI', true, true);
+ }
+
+ /**
+ * Loads configuration values from an array with the following structure:
+ * Namespace.Directive => Value
+ *
+ * @param array $config_array Configuration associative array
+ */
+ public function loadArray($config_array)
+ {
+ if ($this->isFinalized('Cannot load directives after finalization')) {
+ return;
+ }
+ foreach ($config_array as $key => $value) {
+ $key = str_replace('_', '.', $key);
+ if (strpos($key, '.') !== false) {
+ $this->set($key, $value);
+ } else {
+ $namespace = $key;
+ $namespace_values = $value;
+ foreach ($namespace_values as $directive => $value2) {
+ $this->set($namespace .'.'. $directive, $value2);
+ }
+ }
+ }
+ }
+
+ /**
+ * Returns a list of array(namespace, directive) for all directives
+ * that are allowed in a web-form context as per an allowed
+ * namespaces/directives list.
+ *
+ * @param array $allowed List of allowed namespaces/directives
+ * @param HTMLPurifier_ConfigSchema $schema Schema to use, if not global copy
+ *
+ * @return array
+ */
+ public static function getAllowedDirectivesForForm($allowed, $schema = null)
+ {
+ if (!$schema) {
+ $schema = HTMLPurifier_ConfigSchema::instance();
+ }
+ if ($allowed !== true) {
+ if (is_string($allowed)) {
+ $allowed = array($allowed);
+ }
+ $allowed_ns = array();
+ $allowed_directives = array();
+ $blacklisted_directives = array();
+ foreach ($allowed as $ns_or_directive) {
+ if (strpos($ns_or_directive, '.') !== false) {
+ // directive
+ if ($ns_or_directive[0] == '-') {
+ $blacklisted_directives[substr($ns_or_directive, 1)] = true;
+ } else {
+ $allowed_directives[$ns_or_directive] = true;
+ }
+ } else {
+ // namespace
+ $allowed_ns[$ns_or_directive] = true;
+ }
+ }
+ }
+ $ret = array();
+ foreach ($schema->info as $key => $def) {
+ list($ns, $directive) = explode('.', $key, 2);
+ if ($allowed !== true) {
+ if (isset($blacklisted_directives["$ns.$directive"])) {
+ continue;
+ }
+ if (!isset($allowed_directives["$ns.$directive"]) && !isset($allowed_ns[$ns])) {
+ continue;
+ }
+ }
+ if (isset($def->isAlias)) {
+ continue;
+ }
+ if ($directive == 'DefinitionID' || $directive == 'DefinitionRev') {
+ continue;
+ }
+ $ret[] = array($ns, $directive);
+ }
+ return $ret;
+ }
+
+ /**
+ * Loads configuration values from $_GET/$_POST that were posted
+ * via ConfigForm
+ *
+ * @param array $array $_GET or $_POST array to import
+ * @param string|bool $index Index/name that the config variables are in
+ * @param array|bool $allowed List of allowed namespaces/directives
+ * @param bool $mq_fix Boolean whether or not to enable magic quotes fix
+ * @param HTMLPurifier_ConfigSchema $schema Schema to use, if not global copy
+ *
+ * @return mixed
+ */
+ public static function loadArrayFromForm($array, $index = false, $allowed = true, $mq_fix = true, $schema = null)
+ {
+ $ret = HTMLPurifier_Config::prepareArrayFromForm($array, $index, $allowed, $mq_fix, $schema);
+ $config = HTMLPurifier_Config::create($ret, $schema);
+ return $config;
+ }
+
+ /**
+ * Merges in configuration values from $_GET/$_POST to object. NOT STATIC.
+ *
+ * @param array $array $_GET or $_POST array to import
+ * @param string|bool $index Index/name that the config variables are in
+ * @param array|bool $allowed List of allowed namespaces/directives
+ * @param bool $mq_fix Boolean whether or not to enable magic quotes fix
+ */
+ public function mergeArrayFromForm($array, $index = false, $allowed = true, $mq_fix = true)
+ {
+ $ret = HTMLPurifier_Config::prepareArrayFromForm($array, $index, $allowed, $mq_fix, $this->def);
+ $this->loadArray($ret);
+ }
+
+ /**
+ * Prepares an array from a form into something usable for the more
+ * strict parts of HTMLPurifier_Config
+ *
+ * @param array $array $_GET or $_POST array to import
+ * @param string|bool $index Index/name that the config variables are in
+ * @param array|bool $allowed List of allowed namespaces/directives
+ * @param bool $mq_fix Boolean whether or not to enable magic quotes fix
+ * @param HTMLPurifier_ConfigSchema $schema Schema to use, if not global copy
+ *
+ * @return array
+ */
+ public static function prepareArrayFromForm($array, $index = false, $allowed = true, $mq_fix = true, $schema = null)
+ {
+ if ($index !== false) {
+ $array = (isset($array[$index]) && is_array($array[$index])) ? $array[$index] : array();
+ }
+ $mq = $mq_fix && function_exists('get_magic_quotes_gpc') && get_magic_quotes_gpc();
+
+ $allowed = HTMLPurifier_Config::getAllowedDirectivesForForm($allowed, $schema);
+ $ret = array();
+ foreach ($allowed as $key) {
+ list($ns, $directive) = $key;
+ $skey = "$ns.$directive";
+ if (!empty($array["Null_$skey"])) {
+ $ret[$ns][$directive] = null;
+ continue;
+ }
+ if (!isset($array[$skey])) {
+ continue;
+ }
+ $value = $mq ? stripslashes($array[$skey]) : $array[$skey];
+ $ret[$ns][$directive] = $value;
+ }
+ return $ret;
+ }
+
+ /**
+ * Loads configuration values from an ini file
+ *
+ * @param string $filename Name of ini file
+ */
+ public function loadIni($filename)
+ {
+ if ($this->isFinalized('Cannot load directives after finalization')) {
+ return;
+ }
+ $array = parse_ini_file($filename, true);
+ $this->loadArray($array);
+ }
+
+ /**
+ * Checks whether or not the configuration object is finalized.
+ *
+ * @param string|bool $error String error message, or false for no error
+ *
+ * @return bool
+ */
+ public function isFinalized($error = false)
+ {
+ if ($this->finalized && $error) {
+ $this->triggerError($error, E_USER_ERROR);
+ }
+ return $this->finalized;
+ }
+
+ /**
+ * Finalizes configuration only if auto finalize is on and not
+ * already finalized
+ */
+ public function autoFinalize()
+ {
+ if ($this->autoFinalize) {
+ $this->finalize();
+ } else {
+ $this->plist->squash(true);
+ }
+ }
+
+ /**
+ * Finalizes a configuration object, prohibiting further change
+ */
+ public function finalize()
+ {
+ $this->finalized = true;
+ $this->parser = null;
+ }
+
+ /**
+ * Produces a nicely formatted error message by supplying the
+ * stack frame information OUTSIDE of HTMLPurifier_Config.
+ *
+ * @param string $msg An error message
+ * @param int $no An error number
+ */
+ protected function triggerError($msg, $no)
+ {
+ // determine previous stack frame
+ $extra = '';
+ if ($this->chatty) {
+ $trace = debug_backtrace();
+ // zip(tail(trace), trace) -- but PHP is not Haskell har har
+ for ($i = 0, $c = count($trace); $i < $c - 1; $i++) {
+ // XXX this is not correct on some versions of HTML Purifier
+ if ($trace[$i + 1]['class'] === 'HTMLPurifier_Config') {
+ continue;
+ }
+ $frame = $trace[$i];
+ $extra = " invoked on line {$frame['line']} in file {$frame['file']}";
+ break;
+ }
+ }
+ trigger_error($msg . $extra, $no);
+ }
+
+ /**
+ * Returns a serialized form of the configuration object that can
+ * be reconstituted.
+ *
+ * @return string
+ */
+ public function serialize()
+ {
+ $this->getDefinition('HTML');
+ $this->getDefinition('CSS');
+ $this->getDefinition('URI');
+ return serialize($this);
+ }
+
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema.php
new file mode 100644
index 000000000..655c0e97a
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema.php
@@ -0,0 +1,176 @@
+<?php
+
+/**
+ * Configuration definition, defines directives and their defaults.
+ */
+class HTMLPurifier_ConfigSchema
+{
+ /**
+ * Defaults of the directives and namespaces.
+ * @type array
+ * @note This shares the exact same structure as HTMLPurifier_Config::$conf
+ */
+ public $defaults = array();
+
+ /**
+ * The default property list. Do not edit this property list.
+ * @type array
+ */
+ public $defaultPlist;
+
+ /**
+ * Definition of the directives.
+ * The structure of this is:
+ *
+ * array(
+ * 'Namespace' => array(
+ * 'Directive' => new stdClass(),
+ * )
+ * )
+ *
+ * The stdClass may have the following properties:
+ *
+ * - If isAlias isn't set:
+ * - type: Integer type of directive, see HTMLPurifier_VarParser for definitions
+ * - allow_null: If set, this directive allows null values
+ * - aliases: If set, an associative array of value aliases to real values
+ * - allowed: If set, a lookup array of allowed (string) values
+ * - If isAlias is set:
+ * - namespace: Namespace this directive aliases to
+ * - name: Directive name this directive aliases to
+ *
+ * In certain degenerate cases, stdClass will actually be an integer. In
+ * that case, the value is equivalent to an stdClass with the type
+ * property set to the integer. If the integer is negative, type is
+ * equal to the absolute value of integer, and allow_null is true.
+ *
+ * This class is friendly with HTMLPurifier_Config. If you need introspection
+ * about the schema, you're better of using the ConfigSchema_Interchange,
+ * which uses more memory but has much richer information.
+ * @type array
+ */
+ public $info = array();
+
+ /**
+ * Application-wide singleton
+ * @type HTMLPurifier_ConfigSchema
+ */
+ protected static $singleton;
+
+ public function __construct()
+ {
+ $this->defaultPlist = new HTMLPurifier_PropertyList();
+ }
+
+ /**
+ * Unserializes the default ConfigSchema.
+ * @return HTMLPurifier_ConfigSchema
+ */
+ public static function makeFromSerial()
+ {
+ $contents = file_get_contents(HTMLPURIFIER_PREFIX . '/HTMLPurifier/ConfigSchema/schema.ser');
+ $r = unserialize($contents);
+ if (!$r) {
+ $hash = sha1($contents);
+ trigger_error("Unserialization of configuration schema failed, sha1 of file was $hash", E_USER_ERROR);
+ }
+ return $r;
+ }
+
+ /**
+ * Retrieves an instance of the application-wide configuration definition.
+ * @param HTMLPurifier_ConfigSchema $prototype
+ * @return HTMLPurifier_ConfigSchema
+ */
+ public static function instance($prototype = null)
+ {
+ if ($prototype !== null) {
+ HTMLPurifier_ConfigSchema::$singleton = $prototype;
+ } elseif (HTMLPurifier_ConfigSchema::$singleton === null || $prototype === true) {
+ HTMLPurifier_ConfigSchema::$singleton = HTMLPurifier_ConfigSchema::makeFromSerial();
+ }
+ return HTMLPurifier_ConfigSchema::$singleton;
+ }
+
+ /**
+ * Defines a directive for configuration
+ * @warning Will fail of directive's namespace is defined.
+ * @warning This method's signature is slightly different from the legacy
+ * define() static method! Beware!
+ * @param string $key Name of directive
+ * @param mixed $default Default value of directive
+ * @param string $type Allowed type of the directive. See
+ * HTMLPurifier_DirectiveDef::$type for allowed values
+ * @param bool $allow_null Whether or not to allow null values
+ */
+ public function add($key, $default, $type, $allow_null)
+ {
+ $obj = new stdClass();
+ $obj->type = is_int($type) ? $type : HTMLPurifier_VarParser::$types[$type];
+ if ($allow_null) {
+ $obj->allow_null = true;
+ }
+ $this->info[$key] = $obj;
+ $this->defaults[$key] = $default;
+ $this->defaultPlist->set($key, $default);
+ }
+
+ /**
+ * Defines a directive value alias.
+ *
+ * Directive value aliases are convenient for developers because it lets
+ * them set a directive to several values and get the same result.
+ * @param string $key Name of Directive
+ * @param array $aliases Hash of aliased values to the real alias
+ */
+ public function addValueAliases($key, $aliases)
+ {
+ if (!isset($this->info[$key]->aliases)) {
+ $this->info[$key]->aliases = array();
+ }
+ foreach ($aliases as $alias => $real) {
+ $this->info[$key]->aliases[$alias] = $real;
+ }
+ }
+
+ /**
+ * Defines a set of allowed values for a directive.
+ * @warning This is slightly different from the corresponding static
+ * method definition.
+ * @param string $key Name of directive
+ * @param array $allowed Lookup array of allowed values
+ */
+ public function addAllowedValues($key, $allowed)
+ {
+ $this->info[$key]->allowed = $allowed;
+ }
+
+ /**
+ * Defines a directive alias for backwards compatibility
+ * @param string $key Directive that will be aliased
+ * @param string $new_key Directive that the alias will be to
+ */
+ public function addAlias($key, $new_key)
+ {
+ $obj = new stdClass;
+ $obj->key = $new_key;
+ $obj->isAlias = true;
+ $this->info[$key] = $obj;
+ }
+
+ /**
+ * Replaces any stdClass that only has the type property with type integer.
+ */
+ public function postProcess()
+ {
+ foreach ($this->info as $key => $v) {
+ if (count((array) $v) == 1) {
+ $this->info[$key] = $v->type;
+ } elseif (count((array) $v) == 2 && isset($v->allow_null)) {
+ $this->info[$key] = -$v->type;
+ }
+ }
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Builder/ConfigSchema.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Builder/ConfigSchema.php
new file mode 100644
index 000000000..d5906cd46
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Builder/ConfigSchema.php
@@ -0,0 +1,48 @@
+<?php
+
+/**
+ * Converts HTMLPurifier_ConfigSchema_Interchange to our runtime
+ * representation used to perform checks on user configuration.
+ */
+class HTMLPurifier_ConfigSchema_Builder_ConfigSchema
+{
+
+ /**
+ * @param HTMLPurifier_ConfigSchema_Interchange $interchange
+ * @return HTMLPurifier_ConfigSchema
+ */
+ public function build($interchange)
+ {
+ $schema = new HTMLPurifier_ConfigSchema();
+ foreach ($interchange->directives as $d) {
+ $schema->add(
+ $d->id->key,
+ $d->default,
+ $d->type,
+ $d->typeAllowsNull
+ );
+ if ($d->allowed !== null) {
+ $schema->addAllowedValues(
+ $d->id->key,
+ $d->allowed
+ );
+ }
+ foreach ($d->aliases as $alias) {
+ $schema->addAlias(
+ $alias->key,
+ $d->id->key
+ );
+ }
+ if ($d->valueAliases !== null) {
+ $schema->addValueAliases(
+ $d->id->key,
+ $d->valueAliases
+ );
+ }
+ }
+ $schema->postProcess();
+ return $schema;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Builder/Xml.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Builder/Xml.php
new file mode 100644
index 000000000..5fa56f7dd
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Builder/Xml.php
@@ -0,0 +1,144 @@
+<?php
+
+/**
+ * Converts HTMLPurifier_ConfigSchema_Interchange to an XML format,
+ * which can be further processed to generate documentation.
+ */
+class HTMLPurifier_ConfigSchema_Builder_Xml extends XMLWriter
+{
+
+ /**
+ * @type HTMLPurifier_ConfigSchema_Interchange
+ */
+ protected $interchange;
+
+ /**
+ * @type string
+ */
+ private $namespace;
+
+ /**
+ * @param string $html
+ */
+ protected function writeHTMLDiv($html)
+ {
+ $this->startElement('div');
+
+ $purifier = HTMLPurifier::getInstance();
+ $html = $purifier->purify($html);
+ $this->writeAttribute('xmlns', 'http://www.w3.org/1999/xhtml');
+ $this->writeRaw($html);
+
+ $this->endElement(); // div
+ }
+
+ /**
+ * @param mixed $var
+ * @return string
+ */
+ protected function export($var)
+ {
+ if ($var === array()) {
+ return 'array()';
+ }
+ return var_export($var, true);
+ }
+
+ /**
+ * @param HTMLPurifier_ConfigSchema_Interchange $interchange
+ */
+ public function build($interchange)
+ {
+ // global access, only use as last resort
+ $this->interchange = $interchange;
+
+ $this->setIndent(true);
+ $this->startDocument('1.0', 'UTF-8');
+ $this->startElement('configdoc');
+ $this->writeElement('title', $interchange->name);
+
+ foreach ($interchange->directives as $directive) {
+ $this->buildDirective($directive);
+ }
+
+ if ($this->namespace) {
+ $this->endElement();
+ } // namespace
+
+ $this->endElement(); // configdoc
+ $this->flush();
+ }
+
+ /**
+ * @param HTMLPurifier_ConfigSchema_Interchange_Directive $directive
+ */
+ public function buildDirective($directive)
+ {
+ // Kludge, although I suppose having a notion of a "root namespace"
+ // certainly makes things look nicer when documentation is built.
+ // Depends on things being sorted.
+ if (!$this->namespace || $this->namespace !== $directive->id->getRootNamespace()) {
+ if ($this->namespace) {
+ $this->endElement();
+ } // namespace
+ $this->namespace = $directive->id->getRootNamespace();
+ $this->startElement('namespace');
+ $this->writeAttribute('id', $this->namespace);
+ $this->writeElement('name', $this->namespace);
+ }
+
+ $this->startElement('directive');
+ $this->writeAttribute('id', $directive->id->toString());
+
+ $this->writeElement('name', $directive->id->getDirective());
+
+ $this->startElement('aliases');
+ foreach ($directive->aliases as $alias) {
+ $this->writeElement('alias', $alias->toString());
+ }
+ $this->endElement(); // aliases
+
+ $this->startElement('constraints');
+ if ($directive->version) {
+ $this->writeElement('version', $directive->version);
+ }
+ $this->startElement('type');
+ if ($directive->typeAllowsNull) {
+ $this->writeAttribute('allow-null', 'yes');
+ }
+ $this->text($directive->type);
+ $this->endElement(); // type
+ if ($directive->allowed) {
+ $this->startElement('allowed');
+ foreach ($directive->allowed as $value => $x) {
+ $this->writeElement('value', $value);
+ }
+ $this->endElement(); // allowed
+ }
+ $this->writeElement('default', $this->export($directive->default));
+ $this->writeAttribute('xml:space', 'preserve');
+ if ($directive->external) {
+ $this->startElement('external');
+ foreach ($directive->external as $project) {
+ $this->writeElement('project', $project);
+ }
+ $this->endElement();
+ }
+ $this->endElement(); // constraints
+
+ if ($directive->deprecatedVersion) {
+ $this->startElement('deprecated');
+ $this->writeElement('version', $directive->deprecatedVersion);
+ $this->writeElement('use', $directive->deprecatedUse->toString());
+ $this->endElement(); // deprecated
+ }
+
+ $this->startElement('description');
+ $this->writeHTMLDiv($directive->description);
+ $this->endElement(); // description
+
+ $this->endElement(); // directive
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Exception.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Exception.php
new file mode 100644
index 000000000..2671516c5
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Exception.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * Exceptions related to configuration schema
+ */
+class HTMLPurifier_ConfigSchema_Exception extends HTMLPurifier_Exception
+{
+
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Interchange.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Interchange.php
new file mode 100644
index 000000000..0e08ae8fe
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Interchange.php
@@ -0,0 +1,47 @@
+<?php
+
+/**
+ * Generic schema interchange format that can be converted to a runtime
+ * representation (HTMLPurifier_ConfigSchema) or HTML documentation. Members
+ * are completely validated.
+ */
+class HTMLPurifier_ConfigSchema_Interchange
+{
+
+ /**
+ * Name of the application this schema is describing.
+ * @type string
+ */
+ public $name;
+
+ /**
+ * Array of Directive ID => array(directive info)
+ * @type HTMLPurifier_ConfigSchema_Interchange_Directive[]
+ */
+ public $directives = array();
+
+ /**
+ * Adds a directive array to $directives
+ * @param HTMLPurifier_ConfigSchema_Interchange_Directive $directive
+ * @throws HTMLPurifier_ConfigSchema_Exception
+ */
+ public function addDirective($directive)
+ {
+ if (isset($this->directives[$i = $directive->id->toString()])) {
+ throw new HTMLPurifier_ConfigSchema_Exception("Cannot redefine directive '$i'");
+ }
+ $this->directives[$i] = $directive;
+ }
+
+ /**
+ * Convenience function to perform standard validation. Throws exception
+ * on failed validation.
+ */
+ public function validate()
+ {
+ $validator = new HTMLPurifier_ConfigSchema_Validator();
+ return $validator->validate($this);
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Interchange/Directive.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Interchange/Directive.php
new file mode 100644
index 000000000..127a39a67
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Interchange/Directive.php
@@ -0,0 +1,89 @@
+<?php
+
+/**
+ * Interchange component class describing configuration directives.
+ */
+class HTMLPurifier_ConfigSchema_Interchange_Directive
+{
+
+ /**
+ * ID of directive.
+ * @type HTMLPurifier_ConfigSchema_Interchange_Id
+ */
+ public $id;
+
+ /**
+ * Type, e.g. 'integer' or 'istring'.
+ * @type string
+ */
+ public $type;
+
+ /**
+ * Default value, e.g. 3 or 'DefaultVal'.
+ * @type mixed
+ */
+ public $default;
+
+ /**
+ * HTML description.
+ * @type string
+ */
+ public $description;
+
+ /**
+ * Whether or not null is allowed as a value.
+ * @type bool
+ */
+ public $typeAllowsNull = false;
+
+ /**
+ * Lookup table of allowed scalar values.
+ * e.g. array('allowed' => true).
+ * Null if all values are allowed.
+ * @type array
+ */
+ public $allowed;
+
+ /**
+ * List of aliases for the directive.
+ * e.g. array(new HTMLPurifier_ConfigSchema_Interchange_Id('Ns', 'Dir'))).
+ * @type HTMLPurifier_ConfigSchema_Interchange_Id[]
+ */
+ public $aliases = array();
+
+ /**
+ * Hash of value aliases, e.g. array('alt' => 'real'). Null if value
+ * aliasing is disabled (necessary for non-scalar types).
+ * @type array
+ */
+ public $valueAliases;
+
+ /**
+ * Version of HTML Purifier the directive was introduced, e.g. '1.3.1'.
+ * Null if the directive has always existed.
+ * @type string
+ */
+ public $version;
+
+ /**
+ * ID of directive that supercedes this old directive.
+ * Null if not deprecated.
+ * @type HTMLPurifier_ConfigSchema_Interchange_Id
+ */
+ public $deprecatedUse;
+
+ /**
+ * Version of HTML Purifier this directive was deprecated. Null if not
+ * deprecated.
+ * @type string
+ */
+ public $deprecatedVersion;
+
+ /**
+ * List of external projects this directive depends on, e.g. array('CSSTidy').
+ * @type array
+ */
+ public $external = array();
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Interchange/Id.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Interchange/Id.php
new file mode 100644
index 000000000..126f09d95
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Interchange/Id.php
@@ -0,0 +1,58 @@
+<?php
+
+/**
+ * Represents a directive ID in the interchange format.
+ */
+class HTMLPurifier_ConfigSchema_Interchange_Id
+{
+
+ /**
+ * @type string
+ */
+ public $key;
+
+ /**
+ * @param string $key
+ */
+ public function __construct($key)
+ {
+ $this->key = $key;
+ }
+
+ /**
+ * @return string
+ * @warning This is NOT magic, to ensure that people don't abuse SPL and
+ * cause problems for PHP 5.0 support.
+ */
+ public function toString()
+ {
+ return $this->key;
+ }
+
+ /**
+ * @return string
+ */
+ public function getRootNamespace()
+ {
+ return substr($this->key, 0, strpos($this->key, "."));
+ }
+
+ /**
+ * @return string
+ */
+ public function getDirective()
+ {
+ return substr($this->key, strpos($this->key, ".") + 1);
+ }
+
+ /**
+ * @param string $id
+ * @return HTMLPurifier_ConfigSchema_Interchange_Id
+ */
+ public static function make($id)
+ {
+ return new HTMLPurifier_ConfigSchema_Interchange_Id($id);
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/InterchangeBuilder.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/InterchangeBuilder.php
new file mode 100644
index 000000000..655e6dd1b
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/InterchangeBuilder.php
@@ -0,0 +1,226 @@
+<?php
+
+class HTMLPurifier_ConfigSchema_InterchangeBuilder
+{
+
+ /**
+ * Used for processing DEFAULT, nothing else.
+ * @type HTMLPurifier_VarParser
+ */
+ protected $varParser;
+
+ /**
+ * @param HTMLPurifier_VarParser $varParser
+ */
+ public function __construct($varParser = null)
+ {
+ $this->varParser = $varParser ? $varParser : new HTMLPurifier_VarParser_Native();
+ }
+
+ /**
+ * @param string $dir
+ * @return HTMLPurifier_ConfigSchema_Interchange
+ */
+ public static function buildFromDirectory($dir = null)
+ {
+ $builder = new HTMLPurifier_ConfigSchema_InterchangeBuilder();
+ $interchange = new HTMLPurifier_ConfigSchema_Interchange();
+ return $builder->buildDir($interchange, $dir);
+ }
+
+ /**
+ * @param HTMLPurifier_ConfigSchema_Interchange $interchange
+ * @param string $dir
+ * @return HTMLPurifier_ConfigSchema_Interchange
+ */
+ public function buildDir($interchange, $dir = null)
+ {
+ if (!$dir) {
+ $dir = HTMLPURIFIER_PREFIX . '/HTMLPurifier/ConfigSchema/schema';
+ }
+ if (file_exists($dir . '/info.ini')) {
+ $info = parse_ini_file($dir . '/info.ini');
+ $interchange->name = $info['name'];
+ }
+
+ $files = array();
+ $dh = opendir($dir);
+ while (false !== ($file = readdir($dh))) {
+ if (!$file || $file[0] == '.' || strrchr($file, '.') !== '.txt') {
+ continue;
+ }
+ $files[] = $file;
+ }
+ closedir($dh);
+
+ sort($files);
+ foreach ($files as $file) {
+ $this->buildFile($interchange, $dir . '/' . $file);
+ }
+ return $interchange;
+ }
+
+ /**
+ * @param HTMLPurifier_ConfigSchema_Interchange $interchange
+ * @param string $file
+ */
+ public function buildFile($interchange, $file)
+ {
+ $parser = new HTMLPurifier_StringHashParser();
+ $this->build(
+ $interchange,
+ new HTMLPurifier_StringHash($parser->parseFile($file))
+ );
+ }
+
+ /**
+ * Builds an interchange object based on a hash.
+ * @param HTMLPurifier_ConfigSchema_Interchange $interchange HTMLPurifier_ConfigSchema_Interchange object to build
+ * @param HTMLPurifier_StringHash $hash source data
+ * @throws HTMLPurifier_ConfigSchema_Exception
+ */
+ public function build($interchange, $hash)
+ {
+ if (!$hash instanceof HTMLPurifier_StringHash) {
+ $hash = new HTMLPurifier_StringHash($hash);
+ }
+ if (!isset($hash['ID'])) {
+ throw new HTMLPurifier_ConfigSchema_Exception('Hash does not have any ID');
+ }
+ if (strpos($hash['ID'], '.') === false) {
+ if (count($hash) == 2 && isset($hash['DESCRIPTION'])) {
+ $hash->offsetGet('DESCRIPTION'); // prevent complaining
+ } else {
+ throw new HTMLPurifier_ConfigSchema_Exception('All directives must have a namespace');
+ }
+ } else {
+ $this->buildDirective($interchange, $hash);
+ }
+ $this->_findUnused($hash);
+ }
+
+ /**
+ * @param HTMLPurifier_ConfigSchema_Interchange $interchange
+ * @param HTMLPurifier_StringHash $hash
+ * @throws HTMLPurifier_ConfigSchema_Exception
+ */
+ public function buildDirective($interchange, $hash)
+ {
+ $directive = new HTMLPurifier_ConfigSchema_Interchange_Directive();
+
+ // These are required elements:
+ $directive->id = $this->id($hash->offsetGet('ID'));
+ $id = $directive->id->toString(); // convenience
+
+ if (isset($hash['TYPE'])) {
+ $type = explode('/', $hash->offsetGet('TYPE'));
+ if (isset($type[1])) {
+ $directive->typeAllowsNull = true;
+ }
+ $directive->type = $type[0];
+ } else {
+ throw new HTMLPurifier_ConfigSchema_Exception("TYPE in directive hash '$id' not defined");
+ }
+
+ if (isset($hash['DEFAULT'])) {
+ try {
+ $directive->default = $this->varParser->parse(
+ $hash->offsetGet('DEFAULT'),
+ $directive->type,
+ $directive->typeAllowsNull
+ );
+ } catch (HTMLPurifier_VarParserException $e) {
+ throw new HTMLPurifier_ConfigSchema_Exception($e->getMessage() . " in DEFAULT in directive hash '$id'");
+ }
+ }
+
+ if (isset($hash['DESCRIPTION'])) {
+ $directive->description = $hash->offsetGet('DESCRIPTION');
+ }
+
+ if (isset($hash['ALLOWED'])) {
+ $directive->allowed = $this->lookup($this->evalArray($hash->offsetGet('ALLOWED')));
+ }
+
+ if (isset($hash['VALUE-ALIASES'])) {
+ $directive->valueAliases = $this->evalArray($hash->offsetGet('VALUE-ALIASES'));
+ }
+
+ if (isset($hash['ALIASES'])) {
+ $raw_aliases = trim($hash->offsetGet('ALIASES'));
+ $aliases = preg_split('/\s*,\s*/', $raw_aliases);
+ foreach ($aliases as $alias) {
+ $directive->aliases[] = $this->id($alias);
+ }
+ }
+
+ if (isset($hash['VERSION'])) {
+ $directive->version = $hash->offsetGet('VERSION');
+ }
+
+ if (isset($hash['DEPRECATED-USE'])) {
+ $directive->deprecatedUse = $this->id($hash->offsetGet('DEPRECATED-USE'));
+ }
+
+ if (isset($hash['DEPRECATED-VERSION'])) {
+ $directive->deprecatedVersion = $hash->offsetGet('DEPRECATED-VERSION');
+ }
+
+ if (isset($hash['EXTERNAL'])) {
+ $directive->external = preg_split('/\s*,\s*/', trim($hash->offsetGet('EXTERNAL')));
+ }
+
+ $interchange->addDirective($directive);
+ }
+
+ /**
+ * Evaluates an array PHP code string without array() wrapper
+ * @param string $contents
+ */
+ protected function evalArray($contents)
+ {
+ return eval('return array(' . $contents . ');');
+ }
+
+ /**
+ * Converts an array list into a lookup array.
+ * @param array $array
+ * @return array
+ */
+ protected function lookup($array)
+ {
+ $ret = array();
+ foreach ($array as $val) {
+ $ret[$val] = true;
+ }
+ return $ret;
+ }
+
+ /**
+ * Convenience function that creates an HTMLPurifier_ConfigSchema_Interchange_Id
+ * object based on a string Id.
+ * @param string $id
+ * @return HTMLPurifier_ConfigSchema_Interchange_Id
+ */
+ protected function id($id)
+ {
+ return HTMLPurifier_ConfigSchema_Interchange_Id::make($id);
+ }
+
+ /**
+ * Triggers errors for any unused keys passed in the hash; such keys
+ * may indicate typos, missing values, etc.
+ * @param HTMLPurifier_StringHash $hash Hash to check.
+ */
+ protected function _findUnused($hash)
+ {
+ $accessed = $hash->getAccessed();
+ foreach ($hash as $k => $v) {
+ if (!isset($accessed[$k])) {
+ trigger_error("String hash key '$k' not used by builder", E_USER_NOTICE);
+ }
+ }
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Validator.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Validator.php
new file mode 100644
index 000000000..fb3127788
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Validator.php
@@ -0,0 +1,248 @@
+<?php
+
+/**
+ * Performs validations on HTMLPurifier_ConfigSchema_Interchange
+ *
+ * @note If you see '// handled by InterchangeBuilder', that means a
+ * design decision in that class would prevent this validation from
+ * ever being necessary. We have them anyway, however, for
+ * redundancy.
+ */
+class HTMLPurifier_ConfigSchema_Validator
+{
+
+ /**
+ * @type HTMLPurifier_ConfigSchema_Interchange
+ */
+ protected $interchange;
+
+ /**
+ * @type array
+ */
+ protected $aliases;
+
+ /**
+ * Context-stack to provide easy to read error messages.
+ * @type array
+ */
+ protected $context = array();
+
+ /**
+ * to test default's type.
+ * @type HTMLPurifier_VarParser
+ */
+ protected $parser;
+
+ public function __construct()
+ {
+ $this->parser = new HTMLPurifier_VarParser();
+ }
+
+ /**
+ * Validates a fully-formed interchange object.
+ * @param HTMLPurifier_ConfigSchema_Interchange $interchange
+ * @return bool
+ */
+ public function validate($interchange)
+ {
+ $this->interchange = $interchange;
+ $this->aliases = array();
+ // PHP is a bit lax with integer <=> string conversions in
+ // arrays, so we don't use the identical !== comparison
+ foreach ($interchange->directives as $i => $directive) {
+ $id = $directive->id->toString();
+ if ($i != $id) {
+ $this->error(false, "Integrity violation: key '$i' does not match internal id '$id'");
+ }
+ $this->validateDirective($directive);
+ }
+ return true;
+ }
+
+ /**
+ * Validates a HTMLPurifier_ConfigSchema_Interchange_Id object.
+ * @param HTMLPurifier_ConfigSchema_Interchange_Id $id
+ */
+ public function validateId($id)
+ {
+ $id_string = $id->toString();
+ $this->context[] = "id '$id_string'";
+ if (!$id instanceof HTMLPurifier_ConfigSchema_Interchange_Id) {
+ // handled by InterchangeBuilder
+ $this->error(false, 'is not an instance of HTMLPurifier_ConfigSchema_Interchange_Id');
+ }
+ // keys are now unconstrained (we might want to narrow down to A-Za-z0-9.)
+ // we probably should check that it has at least one namespace
+ $this->with($id, 'key')
+ ->assertNotEmpty()
+ ->assertIsString(); // implicit assertIsString handled by InterchangeBuilder
+ array_pop($this->context);
+ }
+
+ /**
+ * Validates a HTMLPurifier_ConfigSchema_Interchange_Directive object.
+ * @param HTMLPurifier_ConfigSchema_Interchange_Directive $d
+ */
+ public function validateDirective($d)
+ {
+ $id = $d->id->toString();
+ $this->context[] = "directive '$id'";
+ $this->validateId($d->id);
+
+ $this->with($d, 'description')
+ ->assertNotEmpty();
+
+ // BEGIN - handled by InterchangeBuilder
+ $this->with($d, 'type')
+ ->assertNotEmpty();
+ $this->with($d, 'typeAllowsNull')
+ ->assertIsBool();
+ try {
+ // This also tests validity of $d->type
+ $this->parser->parse($d->default, $d->type, $d->typeAllowsNull);
+ } catch (HTMLPurifier_VarParserException $e) {
+ $this->error('default', 'had error: ' . $e->getMessage());
+ }
+ // END - handled by InterchangeBuilder
+
+ if (!is_null($d->allowed) || !empty($d->valueAliases)) {
+ // allowed and valueAliases require that we be dealing with
+ // strings, so check for that early.
+ $d_int = HTMLPurifier_VarParser::$types[$d->type];
+ if (!isset(HTMLPurifier_VarParser::$stringTypes[$d_int])) {
+ $this->error('type', 'must be a string type when used with allowed or value aliases');
+ }
+ }
+
+ $this->validateDirectiveAllowed($d);
+ $this->validateDirectiveValueAliases($d);
+ $this->validateDirectiveAliases($d);
+
+ array_pop($this->context);
+ }
+
+ /**
+ * Extra validation if $allowed member variable of
+ * HTMLPurifier_ConfigSchema_Interchange_Directive is defined.
+ * @param HTMLPurifier_ConfigSchema_Interchange_Directive $d
+ */
+ public function validateDirectiveAllowed($d)
+ {
+ if (is_null($d->allowed)) {
+ return;
+ }
+ $this->with($d, 'allowed')
+ ->assertNotEmpty()
+ ->assertIsLookup(); // handled by InterchangeBuilder
+ if (is_string($d->default) && !isset($d->allowed[$d->default])) {
+ $this->error('default', 'must be an allowed value');
+ }
+ $this->context[] = 'allowed';
+ foreach ($d->allowed as $val => $x) {
+ if (!is_string($val)) {
+ $this->error("value $val", 'must be a string');
+ }
+ }
+ array_pop($this->context);
+ }
+
+ /**
+ * Extra validation if $valueAliases member variable of
+ * HTMLPurifier_ConfigSchema_Interchange_Directive is defined.
+ * @param HTMLPurifier_ConfigSchema_Interchange_Directive $d
+ */
+ public function validateDirectiveValueAliases($d)
+ {
+ if (is_null($d->valueAliases)) {
+ return;
+ }
+ $this->with($d, 'valueAliases')
+ ->assertIsArray(); // handled by InterchangeBuilder
+ $this->context[] = 'valueAliases';
+ foreach ($d->valueAliases as $alias => $real) {
+ if (!is_string($alias)) {
+ $this->error("alias $alias", 'must be a string');
+ }
+ if (!is_string($real)) {
+ $this->error("alias target $real from alias '$alias'", 'must be a string');
+ }
+ if ($alias === $real) {
+ $this->error("alias '$alias'", "must not be an alias to itself");
+ }
+ }
+ if (!is_null($d->allowed)) {
+ foreach ($d->valueAliases as $alias => $real) {
+ if (isset($d->allowed[$alias])) {
+ $this->error("alias '$alias'", 'must not be an allowed value');
+ } elseif (!isset($d->allowed[$real])) {
+ $this->error("alias '$alias'", 'must be an alias to an allowed value');
+ }
+ }
+ }
+ array_pop($this->context);
+ }
+
+ /**
+ * Extra validation if $aliases member variable of
+ * HTMLPurifier_ConfigSchema_Interchange_Directive is defined.
+ * @param HTMLPurifier_ConfigSchema_Interchange_Directive $d
+ */
+ public function validateDirectiveAliases($d)
+ {
+ $this->with($d, 'aliases')
+ ->assertIsArray(); // handled by InterchangeBuilder
+ $this->context[] = 'aliases';
+ foreach ($d->aliases as $alias) {
+ $this->validateId($alias);
+ $s = $alias->toString();
+ if (isset($this->interchange->directives[$s])) {
+ $this->error("alias '$s'", 'collides with another directive');
+ }
+ if (isset($this->aliases[$s])) {
+ $other_directive = $this->aliases[$s];
+ $this->error("alias '$s'", "collides with alias for directive '$other_directive'");
+ }
+ $this->aliases[$s] = $d->id->toString();
+ }
+ array_pop($this->context);
+ }
+
+ // protected helper functions
+
+ /**
+ * Convenience function for generating HTMLPurifier_ConfigSchema_ValidatorAtom
+ * for validating simple member variables of objects.
+ * @param $obj
+ * @param $member
+ * @return HTMLPurifier_ConfigSchema_ValidatorAtom
+ */
+ protected function with($obj, $member)
+ {
+ return new HTMLPurifier_ConfigSchema_ValidatorAtom($this->getFormattedContext(), $obj, $member);
+ }
+
+ /**
+ * Emits an error, providing helpful context.
+ * @throws HTMLPurifier_ConfigSchema_Exception
+ */
+ protected function error($target, $msg)
+ {
+ if ($target !== false) {
+ $prefix = ucfirst($target) . ' in ' . $this->getFormattedContext();
+ } else {
+ $prefix = ucfirst($this->getFormattedContext());
+ }
+ throw new HTMLPurifier_ConfigSchema_Exception(trim($prefix . ' ' . $msg));
+ }
+
+ /**
+ * Returns a formatted context string.
+ * @return string
+ */
+ protected function getFormattedContext()
+ {
+ return implode(' in ', array_reverse($this->context));
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/ValidatorAtom.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/ValidatorAtom.php
new file mode 100644
index 000000000..c9aa3644a
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/ValidatorAtom.php
@@ -0,0 +1,130 @@
+<?php
+
+/**
+ * Fluent interface for validating the contents of member variables.
+ * This should be immutable. See HTMLPurifier_ConfigSchema_Validator for
+ * use-cases. We name this an 'atom' because it's ONLY for validations that
+ * are independent and usually scalar.
+ */
+class HTMLPurifier_ConfigSchema_ValidatorAtom
+{
+ /**
+ * @type string
+ */
+ protected $context;
+
+ /**
+ * @type object
+ */
+ protected $obj;
+
+ /**
+ * @type string
+ */
+ protected $member;
+
+ /**
+ * @type mixed
+ */
+ protected $contents;
+
+ public function __construct($context, $obj, $member)
+ {
+ $this->context = $context;
+ $this->obj = $obj;
+ $this->member = $member;
+ $this->contents =& $obj->$member;
+ }
+
+ /**
+ * @return HTMLPurifier_ConfigSchema_ValidatorAtom
+ */
+ public function assertIsString()
+ {
+ if (!is_string($this->contents)) {
+ $this->error('must be a string');
+ }
+ return $this;
+ }
+
+ /**
+ * @return HTMLPurifier_ConfigSchema_ValidatorAtom
+ */
+ public function assertIsBool()
+ {
+ if (!is_bool($this->contents)) {
+ $this->error('must be a boolean');
+ }
+ return $this;
+ }
+
+ /**
+ * @return HTMLPurifier_ConfigSchema_ValidatorAtom
+ */
+ public function assertIsArray()
+ {
+ if (!is_array($this->contents)) {
+ $this->error('must be an array');
+ }
+ return $this;
+ }
+
+ /**
+ * @return HTMLPurifier_ConfigSchema_ValidatorAtom
+ */
+ public function assertNotNull()
+ {
+ if ($this->contents === null) {
+ $this->error('must not be null');
+ }
+ return $this;
+ }
+
+ /**
+ * @return HTMLPurifier_ConfigSchema_ValidatorAtom
+ */
+ public function assertAlnum()
+ {
+ $this->assertIsString();
+ if (!ctype_alnum($this->contents)) {
+ $this->error('must be alphanumeric');
+ }
+ return $this;
+ }
+
+ /**
+ * @return HTMLPurifier_ConfigSchema_ValidatorAtom
+ */
+ public function assertNotEmpty()
+ {
+ if (empty($this->contents)) {
+ $this->error('must not be empty');
+ }
+ return $this;
+ }
+
+ /**
+ * @return HTMLPurifier_ConfigSchema_ValidatorAtom
+ */
+ public function assertIsLookup()
+ {
+ $this->assertIsArray();
+ foreach ($this->contents as $v) {
+ if ($v !== true) {
+ $this->error('must be a lookup array');
+ }
+ }
+ return $this;
+ }
+
+ /**
+ * @param string $msg
+ * @throws HTMLPurifier_ConfigSchema_Exception
+ */
+ protected function error($msg)
+ {
+ throw new HTMLPurifier_ConfigSchema_Exception(ucfirst($this->member) . ' in ' . $this->context . ' ' . $msg);
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema.ser b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema.ser
new file mode 100644
index 000000000..371e948f1
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema.ser
Binary files differ
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.AllowedClasses.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.AllowedClasses.txt
new file mode 100644
index 000000000..0517fed0a
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.AllowedClasses.txt
@@ -0,0 +1,8 @@
+Attr.AllowedClasses
+TYPE: lookup/null
+VERSION: 4.0.0
+DEFAULT: null
+--DESCRIPTION--
+List of allowed class values in the class attribute. By default, this is null,
+which means all classes are allowed.
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.AllowedFrameTargets.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.AllowedFrameTargets.txt
new file mode 100644
index 000000000..249edd647
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.AllowedFrameTargets.txt
@@ -0,0 +1,12 @@
+Attr.AllowedFrameTargets
+TYPE: lookup
+DEFAULT: array()
+--DESCRIPTION--
+Lookup table of all allowed link frame targets. Some commonly used link
+targets include _blank, _self, _parent and _top. Values should be
+lowercase, as validation will be done in a case-sensitive manner despite
+W3C's recommendation. XHTML 1.0 Strict does not permit the target attribute
+so this directive will have no effect in that doctype. XHTML 1.1 does not
+enable the Target module by default, you will have to manually enable it
+(see the module documentation for more details.)
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.AllowedRel.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.AllowedRel.txt
new file mode 100644
index 000000000..9a8fa6a2e
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.AllowedRel.txt
@@ -0,0 +1,9 @@
+Attr.AllowedRel
+TYPE: lookup
+VERSION: 1.6.0
+DEFAULT: array()
+--DESCRIPTION--
+List of allowed forward document relationships in the rel attribute. Common
+values may be nofollow or print. By default, this is empty, meaning that no
+document relationships are allowed.
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.AllowedRev.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.AllowedRev.txt
new file mode 100644
index 000000000..b01788348
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.AllowedRev.txt
@@ -0,0 +1,9 @@
+Attr.AllowedRev
+TYPE: lookup
+VERSION: 1.6.0
+DEFAULT: array()
+--DESCRIPTION--
+List of allowed reverse document relationships in the rev attribute. This
+attribute is a bit of an edge-case; if you don't know what it is for, stay
+away.
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.ClassUseCDATA.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.ClassUseCDATA.txt
new file mode 100644
index 000000000..e774b823b
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.ClassUseCDATA.txt
@@ -0,0 +1,19 @@
+Attr.ClassUseCDATA
+TYPE: bool/null
+DEFAULT: null
+VERSION: 4.0.0
+--DESCRIPTION--
+If null, class will auto-detect the doctype and, if matching XHTML 1.1 or
+XHTML 2.0, will use the restrictive NMTOKENS specification of class. Otherwise,
+it will use a relaxed CDATA definition. If true, the relaxed CDATA definition
+is forced; if false, the NMTOKENS definition is forced. To get behavior
+of HTML Purifier prior to 4.0.0, set this directive to false.
+
+Some rational behind the auto-detection:
+in previous versions of HTML Purifier, it was assumed that the form of
+class was NMTOKENS, as specified by the XHTML Modularization (representing
+XHTML 1.1 and XHTML 2.0). The DTDs for HTML 4.01 and XHTML 1.0, however
+specify class as CDATA. HTML 5 effectively defines it as CDATA, but
+with the additional constraint that each name should be unique (this is not
+explicitly outlined in previous specifications).
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.DefaultImageAlt.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.DefaultImageAlt.txt
new file mode 100644
index 000000000..533165e17
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.DefaultImageAlt.txt
@@ -0,0 +1,11 @@
+Attr.DefaultImageAlt
+TYPE: string/null
+DEFAULT: null
+VERSION: 3.2.0
+--DESCRIPTION--
+This is the content of the alt tag of an image if the user had not
+previously specified an alt attribute. This applies to all images without
+a valid alt attribute, as opposed to %Attr.DefaultInvalidImageAlt, which
+only applies to invalid images, and overrides in the case of an invalid image.
+Default behavior with null is to use the basename of the src tag for the alt.
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.DefaultInvalidImage.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.DefaultInvalidImage.txt
new file mode 100644
index 000000000..9eb7e3846
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.DefaultInvalidImage.txt
@@ -0,0 +1,9 @@
+Attr.DefaultInvalidImage
+TYPE: string
+DEFAULT: ''
+--DESCRIPTION--
+This is the default image an img tag will be pointed to if it does not have
+a valid src attribute. In future versions, we may allow the image tag to
+be removed completely, but due to design issues, this is not possible right
+now.
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.DefaultInvalidImageAlt.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.DefaultInvalidImageAlt.txt
new file mode 100644
index 000000000..2f17bf477
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.DefaultInvalidImageAlt.txt
@@ -0,0 +1,8 @@
+Attr.DefaultInvalidImageAlt
+TYPE: string
+DEFAULT: 'Invalid image'
+--DESCRIPTION--
+This is the content of the alt tag of an invalid image if the user had not
+previously specified an alt attribute. It has no effect when the image is
+valid but there was no alt attribute present.
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.DefaultTextDir.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.DefaultTextDir.txt
new file mode 100644
index 000000000..52654b53a
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.DefaultTextDir.txt
@@ -0,0 +1,10 @@
+Attr.DefaultTextDir
+TYPE: string
+DEFAULT: 'ltr'
+--DESCRIPTION--
+Defines the default text direction (ltr or rtl) of the document being
+parsed. This generally is the same as the value of the dir attribute in
+HTML, or ltr if that is not specified.
+--ALLOWED--
+'ltr', 'rtl'
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.EnableID.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.EnableID.txt
new file mode 100644
index 000000000..6440d2103
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.EnableID.txt
@@ -0,0 +1,16 @@
+Attr.EnableID
+TYPE: bool
+DEFAULT: false
+VERSION: 1.2.0
+--DESCRIPTION--
+Allows the ID attribute in HTML. This is disabled by default due to the
+fact that without proper configuration user input can easily break the
+validation of a webpage by specifying an ID that is already on the
+surrounding HTML. If you don't mind throwing caution to the wind, enable
+this directive, but I strongly recommend you also consider blacklisting IDs
+you use (%Attr.IDBlacklist) or prefixing all user supplied IDs
+(%Attr.IDPrefix). When set to true HTML Purifier reverts to the behavior of
+pre-1.2.0 versions.
+--ALIASES--
+HTML.EnableAttrID
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.ForbiddenClasses.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.ForbiddenClasses.txt
new file mode 100644
index 000000000..f31d226f5
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.ForbiddenClasses.txt
@@ -0,0 +1,8 @@
+Attr.ForbiddenClasses
+TYPE: lookup
+VERSION: 4.0.0
+DEFAULT: array()
+--DESCRIPTION--
+List of forbidden class values in the class attribute. By default, this is
+empty, which means that no classes are forbidden. See also %Attr.AllowedClasses.
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.ID.HTML5.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.ID.HTML5.txt
new file mode 100644
index 000000000..735d4b7a1
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.ID.HTML5.txt
@@ -0,0 +1,10 @@
+Attr.ID.HTML5
+TYPE: bool/null
+DEFAULT: null
+VERSION: 4.8.0
+--DESCRIPTION--
+In HTML5, restrictions on the format of the id attribute have been significantly
+relaxed, such that any string is valid so long as it contains no spaces and
+is at least one character. In lieu of a general HTML5 compatibility flag,
+set this configuration directive to true to use the relaxed rules.
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.IDBlacklist.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.IDBlacklist.txt
new file mode 100644
index 000000000..5f2b5e3d2
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.IDBlacklist.txt
@@ -0,0 +1,5 @@
+Attr.IDBlacklist
+TYPE: list
+DEFAULT: array()
+DESCRIPTION: Array of IDs not allowed in the document.
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.IDBlacklistRegexp.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.IDBlacklistRegexp.txt
new file mode 100644
index 000000000..6f5824586
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.IDBlacklistRegexp.txt
@@ -0,0 +1,9 @@
+Attr.IDBlacklistRegexp
+TYPE: string/null
+VERSION: 1.6.0
+DEFAULT: NULL
+--DESCRIPTION--
+PCRE regular expression to be matched against all IDs. If the expression is
+matches, the ID is rejected. Use this with care: may cause significant
+degradation. ID matching is done after all other validation.
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.IDPrefix.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.IDPrefix.txt
new file mode 100644
index 000000000..cc49d43fd
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.IDPrefix.txt
@@ -0,0 +1,12 @@
+Attr.IDPrefix
+TYPE: string
+VERSION: 1.2.0
+DEFAULT: ''
+--DESCRIPTION--
+String to prefix to IDs. If you have no idea what IDs your pages may use,
+you may opt to simply add a prefix to all user-submitted ID attributes so
+that they are still usable, but will not conflict with core page IDs.
+Example: setting the directive to 'user_' will result in a user submitted
+'foo' to become 'user_foo' Be sure to set %HTML.EnableAttrID to true
+before using this.
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.IDPrefixLocal.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.IDPrefixLocal.txt
new file mode 100644
index 000000000..2c5924a7a
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.IDPrefixLocal.txt
@@ -0,0 +1,14 @@
+Attr.IDPrefixLocal
+TYPE: string
+VERSION: 1.2.0
+DEFAULT: ''
+--DESCRIPTION--
+Temporary prefix for IDs used in conjunction with %Attr.IDPrefix. If you
+need to allow multiple sets of user content on web page, you may need to
+have a seperate prefix that changes with each iteration. This way,
+seperately submitted user content displayed on the same page doesn't
+clobber each other. Ideal values are unique identifiers for the content it
+represents (i.e. the id of the row in the database). Be sure to add a
+seperator (like an underscore) at the end. Warning: this directive will
+not work unless %Attr.IDPrefix is set to a non-empty value!
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/AutoFormat.AutoParagraph.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/AutoFormat.AutoParagraph.txt
new file mode 100644
index 000000000..d5caa1bb9
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/AutoFormat.AutoParagraph.txt
@@ -0,0 +1,31 @@
+AutoFormat.AutoParagraph
+TYPE: bool
+VERSION: 2.0.1
+DEFAULT: false
+--DESCRIPTION--
+
+<p>
+ This directive turns on auto-paragraphing, where double newlines are
+ converted in to paragraphs whenever possible. Auto-paragraphing:
+</p>
+<ul>
+ <li>Always applies to inline elements or text in the root node,</li>
+ <li>Applies to inline elements or text with double newlines in nodes
+ that allow paragraph tags,</li>
+ <li>Applies to double newlines in paragraph tags</li>
+</ul>
+<p>
+ <code>p</code> tags must be allowed for this directive to take effect.
+ We do not use <code>br</code> tags for paragraphing, as that is
+ semantically incorrect.
+</p>
+<p>
+ To prevent auto-paragraphing as a content-producer, refrain from using
+ double-newlines except to specify a new paragraph or in contexts where
+ it has special meaning (whitespace usually has no meaning except in
+ tags like <code>pre</code>, so this should not be difficult.) To prevent
+ the paragraphing of inline text adjacent to block elements, wrap them
+ in <code>div</code> tags (the behavior is slightly different outside of
+ the root node.)
+</p>
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/AutoFormat.Custom.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/AutoFormat.Custom.txt
new file mode 100644
index 000000000..2a476481a
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/AutoFormat.Custom.txt
@@ -0,0 +1,12 @@
+AutoFormat.Custom
+TYPE: list
+VERSION: 2.0.1
+DEFAULT: array()
+--DESCRIPTION--
+
+<p>
+ This directive can be used to add custom auto-format injectors.
+ Specify an array of injector names (class name minus the prefix)
+ or concrete implementations. Injector class must exist.
+</p>
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/AutoFormat.DisplayLinkURI.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/AutoFormat.DisplayLinkURI.txt
new file mode 100644
index 000000000..663064a34
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/AutoFormat.DisplayLinkURI.txt
@@ -0,0 +1,11 @@
+AutoFormat.DisplayLinkURI
+TYPE: bool
+VERSION: 3.2.0
+DEFAULT: false
+--DESCRIPTION--
+<p>
+ This directive turns on the in-text display of URIs in &lt;a&gt; tags, and disables
+ those links. For example, <a href="http://example.com">example</a> becomes
+ example (<a>http://example.com</a>).
+</p>
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/AutoFormat.Linkify.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/AutoFormat.Linkify.txt
new file mode 100644
index 000000000..3a48ba960
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/AutoFormat.Linkify.txt
@@ -0,0 +1,12 @@
+AutoFormat.Linkify
+TYPE: bool
+VERSION: 2.0.1
+DEFAULT: false
+--DESCRIPTION--
+
+<p>
+ This directive turns on linkification, auto-linking http, ftp and
+ https URLs. <code>a</code> tags with the <code>href</code> attribute
+ must be allowed.
+</p>
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/AutoFormat.PurifierLinkify.DocURL.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/AutoFormat.PurifierLinkify.DocURL.txt
new file mode 100644
index 000000000..db58b1346
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/AutoFormat.PurifierLinkify.DocURL.txt
@@ -0,0 +1,12 @@
+AutoFormat.PurifierLinkify.DocURL
+TYPE: string
+VERSION: 2.0.1
+DEFAULT: '#%s'
+ALIASES: AutoFormatParam.PurifierLinkifyDocURL
+--DESCRIPTION--
+<p>
+ Location of configuration documentation to link to, let %s substitute
+ into the configuration's namespace and directive names sans the percent
+ sign.
+</p>
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/AutoFormat.PurifierLinkify.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/AutoFormat.PurifierLinkify.txt
new file mode 100644
index 000000000..7996488be
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/AutoFormat.PurifierLinkify.txt
@@ -0,0 +1,12 @@
+AutoFormat.PurifierLinkify
+TYPE: bool
+VERSION: 2.0.1
+DEFAULT: false
+--DESCRIPTION--
+
+<p>
+ Internal auto-formatter that converts configuration directives in
+ syntax <a>%Namespace.Directive</a> to links. <code>a</code> tags
+ with the <code>href</code> attribute must be allowed.
+</p>
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/AutoFormat.RemoveEmpty.Predicate.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/AutoFormat.RemoveEmpty.Predicate.txt
new file mode 100644
index 000000000..6367fe23c
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/AutoFormat.RemoveEmpty.Predicate.txt
@@ -0,0 +1,14 @@
+AutoFormat.RemoveEmpty.Predicate
+TYPE: hash
+VERSION: 4.7.0
+DEFAULT: array('colgroup' => array(), 'th' => array(), 'td' => array(), 'iframe' => array('src'))
+--DESCRIPTION--
+<p>
+ Given that an element has no contents, it will be removed by default, unless
+ this predicate dictates otherwise. The predicate can either be an associative
+ map from tag name to list of attributes that must be present for the element
+ to be considered preserved: thus, the default always preserves <code>colgroup</code>,
+ <code>th</code> and <code>td</code>, and also <code>iframe</code> if it
+ has a <code>src</code>.
+</p>
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/AutoFormat.RemoveEmpty.RemoveNbsp.Exceptions.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/AutoFormat.RemoveEmpty.RemoveNbsp.Exceptions.txt
new file mode 100644
index 000000000..35c393b4e
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/AutoFormat.RemoveEmpty.RemoveNbsp.Exceptions.txt
@@ -0,0 +1,11 @@
+AutoFormat.RemoveEmpty.RemoveNbsp.Exceptions
+TYPE: lookup
+VERSION: 4.0.0
+DEFAULT: array('td' => true, 'th' => true)
+--DESCRIPTION--
+<p>
+ When %AutoFormat.RemoveEmpty and %AutoFormat.RemoveEmpty.RemoveNbsp
+ are enabled, this directive defines what HTML elements should not be
+ removede if they have only a non-breaking space in them.
+</p>
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/AutoFormat.RemoveEmpty.RemoveNbsp.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/AutoFormat.RemoveEmpty.RemoveNbsp.txt
new file mode 100644
index 000000000..ca17eb1dc
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/AutoFormat.RemoveEmpty.RemoveNbsp.txt
@@ -0,0 +1,15 @@
+AutoFormat.RemoveEmpty.RemoveNbsp
+TYPE: bool
+VERSION: 4.0.0
+DEFAULT: false
+--DESCRIPTION--
+<p>
+ When enabled, HTML Purifier will treat any elements that contain only
+ non-breaking spaces as well as regular whitespace as empty, and remove
+ them when %AutoForamt.RemoveEmpty is enabled.
+</p>
+<p>
+ See %AutoFormat.RemoveEmpty.RemoveNbsp.Exceptions for a list of elements
+ that don't have this behavior applied to them.
+</p>
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/AutoFormat.RemoveEmpty.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/AutoFormat.RemoveEmpty.txt
new file mode 100644
index 000000000..34657ba47
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/AutoFormat.RemoveEmpty.txt
@@ -0,0 +1,46 @@
+AutoFormat.RemoveEmpty
+TYPE: bool
+VERSION: 3.2.0
+DEFAULT: false
+--DESCRIPTION--
+<p>
+ When enabled, HTML Purifier will attempt to remove empty elements that
+ contribute no semantic information to the document. The following types
+ of nodes will be removed:
+</p>
+<ul><li>
+ Tags with no attributes and no content, and that are not empty
+ elements (remove <code>&lt;a&gt;&lt;/a&gt;</code> but not
+ <code>&lt;br /&gt;</code>), and
+ </li>
+ <li>
+ Tags with no content, except for:<ul>
+ <li>The <code>colgroup</code> element, or</li>
+ <li>
+ Elements with the <code>id</code> or <code>name</code> attribute,
+ when those attributes are permitted on those elements.
+ </li>
+ </ul></li>
+</ul>
+<p>
+ Please be very careful when using this functionality; while it may not
+ seem that empty elements contain useful information, they can alter the
+ layout of a document given appropriate styling. This directive is most
+ useful when you are processing machine-generated HTML, please avoid using
+ it on regular user HTML.
+</p>
+<p>
+ Elements that contain only whitespace will be treated as empty. Non-breaking
+ spaces, however, do not count as whitespace. See
+ %AutoFormat.RemoveEmpty.RemoveNbsp for alternate behavior.
+</p>
+<p>
+ This algorithm is not perfect; you may still notice some empty tags,
+ particularly if a node had elements, but those elements were later removed
+ because they were not permitted in that context, or tags that, after
+ being auto-closed by another tag, where empty. This is for safety reasons
+ to prevent clever code from breaking validation. The general rule of thumb:
+ if a tag looked empty on the way in, it will get removed; if HTML Purifier
+ made it empty, it will stay.
+</p>
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/AutoFormat.RemoveSpansWithoutAttributes.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/AutoFormat.RemoveSpansWithoutAttributes.txt
new file mode 100644
index 000000000..dde990ab2
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/AutoFormat.RemoveSpansWithoutAttributes.txt
@@ -0,0 +1,11 @@
+AutoFormat.RemoveSpansWithoutAttributes
+TYPE: bool
+VERSION: 4.0.1
+DEFAULT: false
+--DESCRIPTION--
+<p>
+ This directive causes <code>span</code> tags without any attributes
+ to be removed. It will also remove spans that had all attributes
+ removed during processing.
+</p>
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/CSS.AllowDuplicates.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/CSS.AllowDuplicates.txt
new file mode 100644
index 000000000..4d054b1f0
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/CSS.AllowDuplicates.txt
@@ -0,0 +1,11 @@
+CSS.AllowDuplicates
+TYPE: bool
+DEFAULT: false
+VERSION: 4.8.0
+--DESCRIPTION--
+<p>
+ By default, HTML Purifier removes duplicate CSS properties,
+ like <code>color:red; color:blue</code>. If this is set to
+ true, duplicate properties are allowed.
+</p>
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/CSS.AllowImportant.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/CSS.AllowImportant.txt
new file mode 100644
index 000000000..b324608f7
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/CSS.AllowImportant.txt
@@ -0,0 +1,8 @@
+CSS.AllowImportant
+TYPE: bool
+DEFAULT: false
+VERSION: 3.1.0
+--DESCRIPTION--
+This parameter determines whether or not !important cascade modifiers should
+be allowed in user CSS. If false, !important will stripped.
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/CSS.AllowTricky.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/CSS.AllowTricky.txt
new file mode 100644
index 000000000..748be0eec
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/CSS.AllowTricky.txt
@@ -0,0 +1,11 @@
+CSS.AllowTricky
+TYPE: bool
+DEFAULT: false
+VERSION: 3.1.0
+--DESCRIPTION--
+This parameter determines whether or not to allow "tricky" CSS properties and
+values. Tricky CSS properties/values can drastically modify page layout or
+be used for deceptive practices but do not directly constitute a security risk.
+For example, <code>display:none;</code> is considered a tricky property that
+will only be allowed if this directive is set to true.
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/CSS.AllowedFonts.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/CSS.AllowedFonts.txt
new file mode 100644
index 000000000..3fd465406
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/CSS.AllowedFonts.txt
@@ -0,0 +1,12 @@
+CSS.AllowedFonts
+TYPE: lookup/null
+VERSION: 4.3.0
+DEFAULT: NULL
+--DESCRIPTION--
+<p>
+ Allows you to manually specify a set of allowed fonts. If
+ <code>NULL</code>, all fonts are allowed. This directive
+ affects generic names (serif, sans-serif, monospace, cursive,
+ fantasy) as well as specific font families.
+</p>
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/CSS.AllowedProperties.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/CSS.AllowedProperties.txt
new file mode 100644
index 000000000..460112ebe
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/CSS.AllowedProperties.txt
@@ -0,0 +1,18 @@
+CSS.AllowedProperties
+TYPE: lookup/null
+VERSION: 3.1.0
+DEFAULT: NULL
+--DESCRIPTION--
+
+<p>
+ If HTML Purifier's style attributes set is unsatisfactory for your needs,
+ you can overload it with your own list of tags to allow. Note that this
+ method is subtractive: it does its job by taking away from HTML Purifier
+ usual feature set, so you cannot add an attribute that HTML Purifier never
+ supported in the first place.
+</p>
+<p>
+ <strong>Warning:</strong> If another directive conflicts with the
+ elements here, <em>that</em> directive will win and override.
+</p>
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/CSS.DefinitionRev.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/CSS.DefinitionRev.txt
new file mode 100644
index 000000000..5cb7dda3b
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/CSS.DefinitionRev.txt
@@ -0,0 +1,11 @@
+CSS.DefinitionRev
+TYPE: int
+VERSION: 2.0.0
+DEFAULT: 1
+--DESCRIPTION--
+
+<p>
+ Revision identifier for your custom definition. See
+ %HTML.DefinitionRev for details.
+</p>
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/CSS.ForbiddenProperties.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/CSS.ForbiddenProperties.txt
new file mode 100644
index 000000000..f1f5c5f12
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/CSS.ForbiddenProperties.txt
@@ -0,0 +1,13 @@
+CSS.ForbiddenProperties
+TYPE: lookup
+VERSION: 4.2.0
+DEFAULT: array()
+--DESCRIPTION--
+<p>
+ This is the logical inverse of %CSS.AllowedProperties, and it will
+ override that directive or any other directive. If possible,
+ %CSS.AllowedProperties is recommended over this directive,
+ because it can sometimes be difficult to tell whether or not you've
+ forbidden all of the CSS properties you truly would like to disallow.
+</p>
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/CSS.MaxImgLength.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/CSS.MaxImgLength.txt
new file mode 100644
index 000000000..7a3291470
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/CSS.MaxImgLength.txt
@@ -0,0 +1,16 @@
+CSS.MaxImgLength
+TYPE: string/null
+DEFAULT: '1200px'
+VERSION: 3.1.1
+--DESCRIPTION--
+<p>
+ This parameter sets the maximum allowed length on <code>img</code> tags,
+ effectively the <code>width</code> and <code>height</code> properties.
+ Only absolute units of measurement (in, pt, pc, mm, cm) and pixels (px) are allowed. This is
+ in place to prevent imagecrash attacks, disable with null at your own risk.
+ This directive is similar to %HTML.MaxImgLength, and both should be
+ concurrently edited, although there are
+ subtle differences in the input format (the CSS max is a number with
+ a unit).
+</p>
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/CSS.Proprietary.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/CSS.Proprietary.txt
new file mode 100644
index 000000000..148eedb8b
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/CSS.Proprietary.txt
@@ -0,0 +1,10 @@
+CSS.Proprietary
+TYPE: bool
+VERSION: 3.0.0
+DEFAULT: false
+--DESCRIPTION--
+
+<p>
+ Whether or not to allow safe, proprietary CSS values.
+</p>
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/CSS.Trusted.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/CSS.Trusted.txt
new file mode 100644
index 000000000..e733a61e8
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/CSS.Trusted.txt
@@ -0,0 +1,9 @@
+CSS.Trusted
+TYPE: bool
+VERSION: 4.2.1
+DEFAULT: false
+--DESCRIPTION--
+Indicates whether or not the user's CSS input is trusted or not. If the
+input is trusted, a more expansive set of allowed properties. See
+also %HTML.Trusted.
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Cache.DefinitionImpl.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Cache.DefinitionImpl.txt
new file mode 100644
index 000000000..c486724c8
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Cache.DefinitionImpl.txt
@@ -0,0 +1,14 @@
+Cache.DefinitionImpl
+TYPE: string/null
+VERSION: 2.0.0
+DEFAULT: 'Serializer'
+--DESCRIPTION--
+
+This directive defines which method to use when caching definitions,
+the complex data-type that makes HTML Purifier tick. Set to null
+to disable caching (not recommended, as you will see a definite
+performance degradation).
+
+--ALIASES--
+Core.DefinitionCache
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Cache.SerializerPath.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Cache.SerializerPath.txt
new file mode 100644
index 000000000..54036507d
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Cache.SerializerPath.txt
@@ -0,0 +1,13 @@
+Cache.SerializerPath
+TYPE: string/null
+VERSION: 2.0.0
+DEFAULT: NULL
+--DESCRIPTION--
+
+<p>
+ Absolute path with no trailing slash to store serialized definitions in.
+ Default is within the
+ HTML Purifier library inside DefinitionCache/Serializer. This
+ path must be writable by the webserver.
+</p>
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Cache.SerializerPermissions.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Cache.SerializerPermissions.txt
new file mode 100644
index 000000000..2e0cc8104
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Cache.SerializerPermissions.txt
@@ -0,0 +1,16 @@
+Cache.SerializerPermissions
+TYPE: int/null
+VERSION: 4.3.0
+DEFAULT: 0755
+--DESCRIPTION--
+
+<p>
+ Directory permissions of the files and directories created inside
+ the DefinitionCache/Serializer or other custom serializer path.
+</p>
+<p>
+ In HTML Purifier 4.8.0, this also supports <code>NULL</code>,
+ which means that no chmod'ing or directory creation shall
+ occur.
+</p>
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.AggressivelyFixLt.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.AggressivelyFixLt.txt
new file mode 100644
index 000000000..568cbf3b3
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.AggressivelyFixLt.txt
@@ -0,0 +1,18 @@
+Core.AggressivelyFixLt
+TYPE: bool
+VERSION: 2.1.0
+DEFAULT: true
+--DESCRIPTION--
+<p>
+ This directive enables aggressive pre-filter fixes HTML Purifier can
+ perform in order to ensure that open angled-brackets do not get killed
+ during parsing stage. Enabling this will result in two preg_replace_callback
+ calls and at least two preg_replace calls for every HTML document parsed;
+ if your users make very well-formed HTML, you can set this directive false.
+ This has no effect when DirectLex is used.
+</p>
+<p>
+ <strong>Notice:</strong> This directive's default turned from false to true
+ in HTML Purifier 3.2.0.
+</p>
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.AggressivelyRemoveScript.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.AggressivelyRemoveScript.txt
new file mode 100644
index 000000000..b2b6ab149
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.AggressivelyRemoveScript.txt
@@ -0,0 +1,16 @@
+Core.AggressivelyRemoveScript
+TYPE: bool
+VERSION: 4.9.0
+DEFAULT: true
+--DESCRIPTION--
+<p>
+ This directive enables aggressive pre-filter removal of
+ script tags. This is not necessary for security,
+ but it can help work around a bug in libxml where embedded
+ HTML elements inside script sections cause the parser to
+ choke. To revert to pre-4.9.0 behavior, set this to false.
+ This directive has no effect if %Core.Trusted is true,
+ %Core.RemoveScriptContents is false, or %Core.HiddenElements
+ does not contain script.
+</p>
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.AllowHostnameUnderscore.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.AllowHostnameUnderscore.txt
new file mode 100644
index 000000000..2c910cc7d
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.AllowHostnameUnderscore.txt
@@ -0,0 +1,16 @@
+Core.AllowHostnameUnderscore
+TYPE: bool
+VERSION: 4.6.0
+DEFAULT: false
+--DESCRIPTION--
+<p>
+ By RFC 1123, underscores are not permitted in host names.
+ (This is in contrast to the specification for DNS, RFC
+ 2181, which allows underscores.)
+ However, most browsers do the right thing when faced with
+ an underscore in the host name, and so some poorly written
+ websites are written with the expectation this should work.
+ Setting this parameter to true relaxes our allowed character
+ check so that underscores are permitted.
+</p>
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.CollectErrors.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.CollectErrors.txt
new file mode 100644
index 000000000..d7317911f
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.CollectErrors.txt
@@ -0,0 +1,12 @@
+Core.CollectErrors
+TYPE: bool
+VERSION: 2.0.0
+DEFAULT: false
+--DESCRIPTION--
+
+Whether or not to collect errors found while filtering the document. This
+is a useful way to give feedback to your users. <strong>Warning:</strong>
+Currently this feature is very patchy and experimental, with lots of
+possible error messages not yet implemented. It will not cause any
+problems, but it may not help your users either.
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.ColorKeywords.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.ColorKeywords.txt
new file mode 100644
index 000000000..c572c14ec
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.ColorKeywords.txt
@@ -0,0 +1,29 @@
+Core.ColorKeywords
+TYPE: hash
+VERSION: 2.0.0
+--DEFAULT--
+array (
+ 'maroon' => '#800000',
+ 'red' => '#FF0000',
+ 'orange' => '#FFA500',
+ 'yellow' => '#FFFF00',
+ 'olive' => '#808000',
+ 'purple' => '#800080',
+ 'fuchsia' => '#FF00FF',
+ 'white' => '#FFFFFF',
+ 'lime' => '#00FF00',
+ 'green' => '#008000',
+ 'navy' => '#000080',
+ 'blue' => '#0000FF',
+ 'aqua' => '#00FFFF',
+ 'teal' => '#008080',
+ 'black' => '#000000',
+ 'silver' => '#C0C0C0',
+ 'gray' => '#808080',
+)
+--DESCRIPTION--
+
+Lookup array of color names to six digit hexadecimal number corresponding
+to color, with preceding hash mark. Used when parsing colors. The lookup
+is done in a case-insensitive manner.
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.ConvertDocumentToFragment.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.ConvertDocumentToFragment.txt
new file mode 100644
index 000000000..64b114fce
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.ConvertDocumentToFragment.txt
@@ -0,0 +1,14 @@
+Core.ConvertDocumentToFragment
+TYPE: bool
+DEFAULT: true
+--DESCRIPTION--
+
+This parameter determines whether or not the filter should convert
+input that is a full document with html and body tags to a fragment
+of just the contents of a body tag. This parameter is simply something
+HTML Purifier can do during an edge-case: for most inputs, this
+processing is not necessary.
+
+--ALIASES--
+Core.AcceptFullDocuments
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.DirectLexLineNumberSyncInterval.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.DirectLexLineNumberSyncInterval.txt
new file mode 100644
index 000000000..36f16e07e
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.DirectLexLineNumberSyncInterval.txt
@@ -0,0 +1,17 @@
+Core.DirectLexLineNumberSyncInterval
+TYPE: int
+VERSION: 2.0.0
+DEFAULT: 0
+--DESCRIPTION--
+
+<p>
+ Specifies the number of tokens the DirectLex line number tracking
+ implementations should process before attempting to resyncronize the
+ current line count by manually counting all previous new-lines. When
+ at 0, this functionality is disabled. Lower values will decrease
+ performance, and this is only strictly necessary if the counting
+ algorithm is buggy (in which case you should report it as a bug).
+ This has no effect when %Core.MaintainLineNumbers is disabled or DirectLex is
+ not being used.
+</p>
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.DisableExcludes.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.DisableExcludes.txt
new file mode 100644
index 000000000..1cd4c2c96
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.DisableExcludes.txt
@@ -0,0 +1,14 @@
+Core.DisableExcludes
+TYPE: bool
+DEFAULT: false
+VERSION: 4.5.0
+--DESCRIPTION--
+<p>
+ This directive disables SGML-style exclusions, e.g. the exclusion of
+ <code>&lt;object&gt;</code> in any descendant of a
+ <code>&lt;pre&gt;</code> tag. Disabling excludes will allow some
+ invalid documents to pass through HTML Purifier, but HTML Purifier
+ will also be less likely to accidentally remove large documents during
+ processing.
+</p>
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.EnableIDNA.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.EnableIDNA.txt
new file mode 100644
index 000000000..ce243c35d
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.EnableIDNA.txt
@@ -0,0 +1,9 @@
+Core.EnableIDNA
+TYPE: bool
+DEFAULT: false
+VERSION: 4.4.0
+--DESCRIPTION--
+Allows international domain names in URLs. This configuration option
+requires the PEAR Net_IDNA2 module to be installed. It operates by
+punycoding any internationalized host names for maximum portability.
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.Encoding.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.Encoding.txt
new file mode 100644
index 000000000..8bfb47c3a
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.Encoding.txt
@@ -0,0 +1,15 @@
+Core.Encoding
+TYPE: istring
+DEFAULT: 'utf-8'
+--DESCRIPTION--
+If for some reason you are unable to convert all webpages to UTF-8, you can
+use this directive as a stop-gap compatibility change to let HTML Purifier
+deal with non UTF-8 input. This technique has notable deficiencies:
+absolutely no characters outside of the selected character encoding will be
+preserved, not even the ones that have been ampersand escaped (this is due
+to a UTF-8 specific <em>feature</em> that automatically resolves all
+entities), making it pretty useless for anything except the most I18N-blind
+applications, although %Core.EscapeNonASCIICharacters offers fixes this
+trouble with another tradeoff. This directive only accepts ISO-8859-1 if
+iconv is not enabled.
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.EscapeInvalidChildren.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.EscapeInvalidChildren.txt
new file mode 100644
index 000000000..a3881be75
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.EscapeInvalidChildren.txt
@@ -0,0 +1,12 @@
+Core.EscapeInvalidChildren
+TYPE: bool
+DEFAULT: false
+--DESCRIPTION--
+<p><strong>Warning:</strong> this configuration option is no longer does anything as of 4.6.0.</p>
+
+<p>When true, a child is found that is not allowed in the context of the
+parent element will be transformed into text as if it were ASCII. When
+false, that element and all internal tags will be dropped, though text will
+be preserved. There is no option for dropping the element but preserving
+child nodes.</p>
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.EscapeInvalidTags.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.EscapeInvalidTags.txt
new file mode 100644
index 000000000..a7a5b249b
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.EscapeInvalidTags.txt
@@ -0,0 +1,7 @@
+Core.EscapeInvalidTags
+TYPE: bool
+DEFAULT: false
+--DESCRIPTION--
+When true, invalid tags will be written back to the document as plain text.
+Otherwise, they are silently dropped.
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.EscapeNonASCIICharacters.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.EscapeNonASCIICharacters.txt
new file mode 100644
index 000000000..abb499948
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.EscapeNonASCIICharacters.txt
@@ -0,0 +1,13 @@
+Core.EscapeNonASCIICharacters
+TYPE: bool
+VERSION: 1.4.0
+DEFAULT: false
+--DESCRIPTION--
+This directive overcomes a deficiency in %Core.Encoding by blindly
+converting all non-ASCII characters into decimal numeric entities before
+converting it to its native encoding. This means that even characters that
+can be expressed in the non-UTF-8 encoding will be entity-ized, which can
+be a real downer for encodings like Big5. It also assumes that the ASCII
+repetoire is available, although this is the case for almost all encodings.
+Anyway, use UTF-8!
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.HiddenElements.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.HiddenElements.txt
new file mode 100644
index 000000000..915391edb
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.HiddenElements.txt
@@ -0,0 +1,19 @@
+Core.HiddenElements
+TYPE: lookup
+--DEFAULT--
+array (
+ 'script' => true,
+ 'style' => true,
+)
+--DESCRIPTION--
+
+<p>
+ This directive is a lookup array of elements which should have their
+ contents removed when they are not allowed by the HTML definition.
+ For example, the contents of a <code>script</code> tag are not
+ normally shown in a document, so if script tags are to be removed,
+ their contents should be removed to. This is opposed to a <code>b</code>
+ tag, which defines some presentational changes but does not hide its
+ contents.
+</p>
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.Language.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.Language.txt
new file mode 100644
index 000000000..233fca14f
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.Language.txt
@@ -0,0 +1,10 @@
+Core.Language
+TYPE: string
+VERSION: 2.0.0
+DEFAULT: 'en'
+--DESCRIPTION--
+
+ISO 639 language code for localizable things in HTML Purifier to use,
+which is mainly error reporting. There is currently only an English (en)
+translation, so this directive is currently useless.
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.LegacyEntityDecoder.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.LegacyEntityDecoder.txt
new file mode 100644
index 000000000..392b43649
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.LegacyEntityDecoder.txt
@@ -0,0 +1,36 @@
+Core.LegacyEntityDecoder
+TYPE: bool
+VERSION: 4.9.0
+DEFAULT: false
+--DESCRIPTION--
+<p>
+ Prior to HTML Purifier 4.9.0, entities were decoded by performing
+ a global search replace for all entities whose decoded versions
+ did not have special meanings under HTML, and replaced them with
+ their decoded versions. We would match all entities, even if they did
+ not have a trailing semicolon, but only if there weren't any trailing
+ alphanumeric characters.
+</p>
+<table>
+<tr><th>Original</th><th>Text</th><th>Attribute</th></tr>
+<tr><td>&amp;yen;</td><td>&yen;</td><td>&yen;</td></tr>
+<tr><td>&amp;yen</td><td>&yen;</td><td>&yen;</td></tr>
+<tr><td>&amp;yena</td><td>&amp;yena</td><td>&amp;yena</td></tr>
+<tr><td>&amp;yen=</td><td>&yen;=</td><td>&yen;=</td></tr>
+</table>
+<p>
+ In HTML Purifier 4.9.0, we changed the behavior of entity parsing
+ to match entities that had missing trailing semicolons in less
+ cases, to more closely match HTML5 parsing behavior:
+</p>
+<table>
+<tr><th>Original</th><th>Text</th><th>Attribute</th></tr>
+<tr><td>&amp;yen;</td><td>&yen;</td><td>&yen;</td></tr>
+<tr><td>&amp;yen</td><td>&yen;</td><td>&yen;</td></tr>
+<tr><td>&amp;yena</td><td>&yen;a</td><td>&amp;yena</td></tr>
+<tr><td>&amp;yen=</td><td>&yen;=</td><td>&amp;yen=</td></tr>
+</table>
+<p>
+ This flag reverts back to pre-HTML Purifier 4.9.0 behavior.
+</p>
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.LexerImpl.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.LexerImpl.txt
new file mode 100644
index 000000000..8983e2cca
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.LexerImpl.txt
@@ -0,0 +1,34 @@
+Core.LexerImpl
+TYPE: mixed/null
+VERSION: 2.0.0
+DEFAULT: NULL
+--DESCRIPTION--
+
+<p>
+ This parameter determines what lexer implementation can be used. The
+ valid values are:
+</p>
+<dl>
+ <dt><em>null</em></dt>
+ <dd>
+ Recommended, the lexer implementation will be auto-detected based on
+ your PHP-version and configuration.
+ </dd>
+ <dt><em>string</em> lexer identifier</dt>
+ <dd>
+ This is a slim way of manually overridding the implementation.
+ Currently recognized values are: DOMLex (the default PHP5
+implementation)
+ and DirectLex (the default PHP4 implementation). Only use this if
+ you know what you are doing: usually, the auto-detection will
+ manage things for cases you aren't even aware of.
+ </dd>
+ <dt><em>object</em> lexer instance</dt>
+ <dd>
+ Super-advanced: you can specify your own, custom, implementation that
+ implements the interface defined by <code>HTMLPurifier_Lexer</code>.
+ I may remove this option simply because I don't expect anyone
+ to use it.
+ </dd>
+</dl>
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.MaintainLineNumbers.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.MaintainLineNumbers.txt
new file mode 100644
index 000000000..eb841a759
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.MaintainLineNumbers.txt
@@ -0,0 +1,16 @@
+Core.MaintainLineNumbers
+TYPE: bool/null
+VERSION: 2.0.0
+DEFAULT: NULL
+--DESCRIPTION--
+
+<p>
+ If true, HTML Purifier will add line number information to all tokens.
+ This is useful when error reporting is turned on, but can result in
+ significant performance degradation and should not be used when
+ unnecessary. This directive must be used with the DirectLex lexer,
+ as the DOMLex lexer does not (yet) support this functionality.
+ If the value is null, an appropriate value will be selected based
+ on other configuration.
+</p>
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.NormalizeNewlines.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.NormalizeNewlines.txt
new file mode 100644
index 000000000..d77f5360d
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.NormalizeNewlines.txt
@@ -0,0 +1,11 @@
+Core.NormalizeNewlines
+TYPE: bool
+VERSION: 4.2.0
+DEFAULT: true
+--DESCRIPTION--
+<p>
+ Whether or not to normalize newlines to the operating
+ system default. When <code>false</code>, HTML Purifier
+ will attempt to preserve mixed newline files.
+</p>
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.RemoveInvalidImg.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.RemoveInvalidImg.txt
new file mode 100644
index 000000000..4070c2a0d
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.RemoveInvalidImg.txt
@@ -0,0 +1,12 @@
+Core.RemoveInvalidImg
+TYPE: bool
+DEFAULT: true
+VERSION: 1.3.0
+--DESCRIPTION--
+
+<p>
+ This directive enables pre-emptive URI checking in <code>img</code>
+ tags, as the attribute validation strategy is not authorized to
+ remove elements from the document. Revert to pre-1.3.0 behavior by setting to false.
+</p>
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.RemoveProcessingInstructions.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.RemoveProcessingInstructions.txt
new file mode 100644
index 000000000..3397d9f71
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.RemoveProcessingInstructions.txt
@@ -0,0 +1,11 @@
+Core.RemoveProcessingInstructions
+TYPE: bool
+VERSION: 4.2.0
+DEFAULT: false
+--DESCRIPTION--
+Instead of escaping processing instructions in the form <code>&lt;? ...
+?&gt;</code>, remove it out-right. This may be useful if the HTML
+you are validating contains XML processing instruction gunk, however,
+it can also be user-unfriendly for people attempting to post PHP
+snippets.
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.RemoveScriptContents.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.RemoveScriptContents.txt
new file mode 100644
index 000000000..a4cd966df
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.RemoveScriptContents.txt
@@ -0,0 +1,12 @@
+Core.RemoveScriptContents
+TYPE: bool/null
+DEFAULT: NULL
+VERSION: 2.0.0
+DEPRECATED-VERSION: 2.1.0
+DEPRECATED-USE: Core.HiddenElements
+--DESCRIPTION--
+<p>
+ This directive enables HTML Purifier to remove not only script tags
+ but all of their contents.
+</p>
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Filter.Custom.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Filter.Custom.txt
new file mode 100644
index 000000000..3db50ef20
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Filter.Custom.txt
@@ -0,0 +1,11 @@
+Filter.Custom
+TYPE: list
+VERSION: 3.1.0
+DEFAULT: array()
+--DESCRIPTION--
+<p>
+ This directive can be used to add custom filters; it is nearly the
+ equivalent of the now deprecated <code>HTMLPurifier-&gt;addFilter()</code>
+ method. Specify an array of concrete implementations.
+</p>
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Filter.ExtractStyleBlocks.Escaping.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Filter.ExtractStyleBlocks.Escaping.txt
new file mode 100644
index 000000000..16829bcda
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Filter.ExtractStyleBlocks.Escaping.txt
@@ -0,0 +1,14 @@
+Filter.ExtractStyleBlocks.Escaping
+TYPE: bool
+VERSION: 3.0.0
+DEFAULT: true
+ALIASES: Filter.ExtractStyleBlocksEscaping, FilterParam.ExtractStyleBlocksEscaping
+--DESCRIPTION--
+
+<p>
+ Whether or not to escape the dangerous characters &lt;, &gt; and &amp;
+ as \3C, \3E and \26, respectively. This is can be safely set to false
+ if the contents of StyleBlocks will be placed in an external stylesheet,
+ where there is no risk of it being interpreted as HTML.
+</p>
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Filter.ExtractStyleBlocks.Scope.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Filter.ExtractStyleBlocks.Scope.txt
new file mode 100644
index 000000000..7f95f54d1
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Filter.ExtractStyleBlocks.Scope.txt
@@ -0,0 +1,29 @@
+Filter.ExtractStyleBlocks.Scope
+TYPE: string/null
+VERSION: 3.0.0
+DEFAULT: NULL
+ALIASES: Filter.ExtractStyleBlocksScope, FilterParam.ExtractStyleBlocksScope
+--DESCRIPTION--
+
+<p>
+ If you would like users to be able to define external stylesheets, but
+ only allow them to specify CSS declarations for a specific node and
+ prevent them from fiddling with other elements, use this directive.
+ It accepts any valid CSS selector, and will prepend this to any
+ CSS declaration extracted from the document. For example, if this
+ directive is set to <code>#user-content</code> and a user uses the
+ selector <code>a:hover</code>, the final selector will be
+ <code>#user-content a:hover</code>.
+</p>
+<p>
+ The comma shorthand may be used; consider the above example, with
+ <code>#user-content, #user-content2</code>, the final selector will
+ be <code>#user-content a:hover, #user-content2 a:hover</code>.
+</p>
+<p>
+ <strong>Warning:</strong> It is possible for users to bypass this measure
+ using a naughty + selector. This is a bug in CSS Tidy 1.3, not HTML
+ Purifier, and I am working to get it fixed. Until then, HTML Purifier
+ performs a basic check to prevent this.
+</p>
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Filter.ExtractStyleBlocks.TidyImpl.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Filter.ExtractStyleBlocks.TidyImpl.txt
new file mode 100644
index 000000000..6c231b2d7
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Filter.ExtractStyleBlocks.TidyImpl.txt
@@ -0,0 +1,16 @@
+Filter.ExtractStyleBlocks.TidyImpl
+TYPE: mixed/null
+VERSION: 3.1.0
+DEFAULT: NULL
+ALIASES: FilterParam.ExtractStyleBlocksTidyImpl
+--DESCRIPTION--
+<p>
+ If left NULL, HTML Purifier will attempt to instantiate a <code>csstidy</code>
+ class to use for internal cleaning. This will usually be good enough.
+</p>
+<p>
+ However, for trusted user input, you can set this to <code>false</code> to
+ disable cleaning. In addition, you can supply your own concrete implementation
+ of Tidy's interface to use, although I don't know why you'd want to do that.
+</p>
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Filter.ExtractStyleBlocks.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Filter.ExtractStyleBlocks.txt
new file mode 100644
index 000000000..078d08741
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Filter.ExtractStyleBlocks.txt
@@ -0,0 +1,74 @@
+Filter.ExtractStyleBlocks
+TYPE: bool
+VERSION: 3.1.0
+DEFAULT: false
+EXTERNAL: CSSTidy
+--DESCRIPTION--
+<p>
+ This directive turns on the style block extraction filter, which removes
+ <code>style</code> blocks from input HTML, cleans them up with CSSTidy,
+ and places them in the <code>StyleBlocks</code> context variable, for further
+ use by you, usually to be placed in an external stylesheet, or a
+ <code>style</code> block in the <code>head</code> of your document.
+</p>
+<p>
+ Sample usage:
+</p>
+<pre><![CDATA[
+<?php
+ header('Content-type: text/html; charset=utf-8');
+ echo '<?xml version="1.0" encoding="UTF-8"?>';
+?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
+<head>
+ <title>Filter.ExtractStyleBlocks</title>
+<?php
+ require_once '/path/to/library/HTMLPurifier.auto.php';
+ require_once '/path/to/csstidy.class.php';
+
+ $dirty = '<style>body {color:#F00;}</style> Some text';
+
+ $config = HTMLPurifier_Config::createDefault();
+ $config->set('Filter', 'ExtractStyleBlocks', true);
+ $purifier = new HTMLPurifier($config);
+
+ $html = $purifier->purify($dirty);
+
+ // This implementation writes the stylesheets to the styles/ directory.
+ // You can also echo the styles inside the document, but it's a bit
+ // more difficult to make sure they get interpreted properly by
+ // browsers; try the usual CSS armoring techniques.
+ $styles = $purifier->context->get('StyleBlocks');
+ $dir = 'styles/';
+ if (!is_dir($dir)) mkdir($dir);
+ $hash = sha1($_GET['html']);
+ foreach ($styles as $i => $style) {
+ file_put_contents($name = $dir . $hash . "_$i");
+ echo '<link rel="stylesheet" type="text/css" href="'.$name.'" />';
+ }
+?>
+</head>
+<body>
+ <div>
+ <?php echo $html; ?>
+ </div>
+</b]]><![CDATA[ody>
+</html>
+]]></pre>
+<p>
+ <strong>Warning:</strong> It is possible for a user to mount an
+ imagecrash attack using this CSS. Counter-measures are difficult;
+ it is not simply enough to limit the range of CSS lengths (using
+ relative lengths with many nesting levels allows for large values
+ to be attained without actually specifying them in the stylesheet),
+ and the flexible nature of selectors makes it difficult to selectively
+ disable lengths on image tags (HTML Purifier, however, does disable
+ CSS width and height in inline styling). There are probably two effective
+ counter measures: an explicit width and height set to auto in all
+ images in your document (unlikely) or the disabling of width and
+ height (somewhat reasonable). Whether or not these measures should be
+ used is left to the reader.
+</p>
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Filter.YouTube.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Filter.YouTube.txt
new file mode 100644
index 000000000..321eaa2d8
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Filter.YouTube.txt
@@ -0,0 +1,16 @@
+Filter.YouTube
+TYPE: bool
+VERSION: 3.1.0
+DEFAULT: false
+--DESCRIPTION--
+<p>
+ <strong>Warning:</strong> Deprecated in favor of %HTML.SafeObject and
+ %Output.FlashCompat (turn both on to allow YouTube videos and other
+ Flash content).
+</p>
+<p>
+ This directive enables YouTube video embedding in HTML Purifier. Check
+ <a href="http://htmlpurifier.org/docs/enduser-youtube.html">this document
+ on embedding videos</a> for more information on what this filter does.
+</p>
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.Allowed.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.Allowed.txt
new file mode 100644
index 000000000..0b2c106da
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.Allowed.txt
@@ -0,0 +1,25 @@
+HTML.Allowed
+TYPE: itext/null
+VERSION: 2.0.0
+DEFAULT: NULL
+--DESCRIPTION--
+
+<p>
+ This is a preferred convenience directive that combines
+ %HTML.AllowedElements and %HTML.AllowedAttributes.
+ Specify elements and attributes that are allowed using:
+ <code>element1[attr1|attr2],element2...</code>. For example,
+ if you would like to only allow paragraphs and links, specify
+ <code>a[href],p</code>. You can specify attributes that apply
+ to all elements using an asterisk, e.g. <code>*[lang]</code>.
+ You can also use newlines instead of commas to separate elements.
+</p>
+<p>
+ <strong>Warning</strong>:
+ All of the constraints on the component directives are still enforced.
+ The syntax is a <em>subset</em> of TinyMCE's <code>valid_elements</code>
+ whitelist: directly copy-pasting it here will probably result in
+ broken whitelists. If %HTML.AllowedElements or %HTML.AllowedAttributes
+ are set, this directive has no effect.
+</p>
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.AllowedAttributes.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.AllowedAttributes.txt
new file mode 100644
index 000000000..fcf093f17
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.AllowedAttributes.txt
@@ -0,0 +1,19 @@
+HTML.AllowedAttributes
+TYPE: lookup/null
+VERSION: 1.3.0
+DEFAULT: NULL
+--DESCRIPTION--
+
+<p>
+ If HTML Purifier's attribute set is unsatisfactory, overload it!
+ The syntax is "tag.attr" or "*.attr" for the global attributes
+ (style, id, class, dir, lang, xml:lang).
+</p>
+<p>
+ <strong>Warning:</strong> If another directive conflicts with the
+ elements here, <em>that</em> directive will win and override. For
+ example, %HTML.EnableAttrID will take precedence over *.id in this
+ directive. You must set that directive to true before you can use
+ IDs at all.
+</p>
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.AllowedComments.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.AllowedComments.txt
new file mode 100644
index 000000000..140e21423
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.AllowedComments.txt
@@ -0,0 +1,10 @@
+HTML.AllowedComments
+TYPE: lookup
+VERSION: 4.4.0
+DEFAULT: array()
+--DESCRIPTION--
+A whitelist which indicates what explicit comment bodies should be
+allowed, modulo leading and trailing whitespace. See also %HTML.AllowedCommentsRegexp
+(these directives are union'ed together, so a comment is considered
+valid if any directive deems it valid.)
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.AllowedCommentsRegexp.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.AllowedCommentsRegexp.txt
new file mode 100644
index 000000000..f22e977d4
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.AllowedCommentsRegexp.txt
@@ -0,0 +1,15 @@
+HTML.AllowedCommentsRegexp
+TYPE: string/null
+VERSION: 4.4.0
+DEFAULT: NULL
+--DESCRIPTION--
+A regexp, which if it matches the body of a comment, indicates that
+it should be allowed. Trailing and leading spaces are removed prior
+to running this regular expression.
+<strong>Warning:</strong> Make sure you specify
+correct anchor metacharacters <code>^regex$</code>, otherwise you may accept
+comments that you did not mean to! In particular, the regex <code>/foo|bar/</code>
+is probably not sufficiently strict, since it also allows <code>foobar</code>.
+See also %HTML.AllowedComments (these directives are union'ed together,
+so a comment is considered valid if any directive deems it valid.)
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.AllowedElements.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.AllowedElements.txt
new file mode 100644
index 000000000..1d3fa7907
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.AllowedElements.txt
@@ -0,0 +1,23 @@
+HTML.AllowedElements
+TYPE: lookup/null
+VERSION: 1.3.0
+DEFAULT: NULL
+--DESCRIPTION--
+<p>
+ If HTML Purifier's tag set is unsatisfactory for your needs, you can
+ overload it with your own list of tags to allow. If you change
+ this, you probably also want to change %HTML.AllowedAttributes; see
+ also %HTML.Allowed which lets you set allowed elements and
+ attributes at the same time.
+</p>
+<p>
+ If you attempt to allow an element that HTML Purifier does not know
+ about, HTML Purifier will raise an error. You will need to manually
+ tell HTML Purifier about this element by using the
+ <a href="http://htmlpurifier.org/docs/enduser-customize.html">advanced customization features.</a>
+</p>
+<p>
+ <strong>Warning:</strong> If another directive conflicts with the
+ elements here, <em>that</em> directive will win and override.
+</p>
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.AllowedModules.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.AllowedModules.txt
new file mode 100644
index 000000000..5a59a55c0
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.AllowedModules.txt
@@ -0,0 +1,20 @@
+HTML.AllowedModules
+TYPE: lookup/null
+VERSION: 2.0.0
+DEFAULT: NULL
+--DESCRIPTION--
+
+<p>
+ A doctype comes with a set of usual modules to use. Without having
+ to mucking about with the doctypes, you can quickly activate or
+ disable these modules by specifying which modules you wish to allow
+ with this directive. This is most useful for unit testing specific
+ modules, although end users may find it useful for their own ends.
+</p>
+<p>
+ If you specify a module that does not exist, the manager will silently
+ fail to use it, so be careful! User-defined modules are not affected
+ by this directive. Modules defined in %HTML.CoreModules are not
+ affected by this directive.
+</p>
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.Attr.Name.UseCDATA.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.Attr.Name.UseCDATA.txt
new file mode 100644
index 000000000..151fb7b82
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.Attr.Name.UseCDATA.txt
@@ -0,0 +1,11 @@
+HTML.Attr.Name.UseCDATA
+TYPE: bool
+DEFAULT: false
+VERSION: 4.0.0
+--DESCRIPTION--
+The W3C specification DTD defines the name attribute to be CDATA, not ID, due
+to limitations of DTD. In certain documents, this relaxed behavior is desired,
+whether it is to specify duplicate names, or to specify names that would be
+illegal IDs (for example, names that begin with a digit.) Set this configuration
+directive to true to use the relaxed parsing rules.
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.BlockWrapper.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.BlockWrapper.txt
new file mode 100644
index 000000000..45ae469ec
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.BlockWrapper.txt
@@ -0,0 +1,18 @@
+HTML.BlockWrapper
+TYPE: string
+VERSION: 1.3.0
+DEFAULT: 'p'
+--DESCRIPTION--
+
+<p>
+ String name of element to wrap inline elements that are inside a block
+ context. This only occurs in the children of blockquote in strict mode.
+</p>
+<p>
+ Example: by default value,
+ <code>&lt;blockquote&gt;Foo&lt;/blockquote&gt;</code> would become
+ <code>&lt;blockquote&gt;&lt;p&gt;Foo&lt;/p&gt;&lt;/blockquote&gt;</code>.
+ The <code>&lt;p&gt;</code> tags can be replaced with whatever you desire,
+ as long as it is a block level element.
+</p>
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.CoreModules.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.CoreModules.txt
new file mode 100644
index 000000000..524618879
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.CoreModules.txt
@@ -0,0 +1,23 @@
+HTML.CoreModules
+TYPE: lookup
+VERSION: 2.0.0
+--DEFAULT--
+array (
+ 'Structure' => true,
+ 'Text' => true,
+ 'Hypertext' => true,
+ 'List' => true,
+ 'NonXMLCommonAttributes' => true,
+ 'XMLCommonAttributes' => true,
+ 'CommonAttributes' => true,
+)
+--DESCRIPTION--
+
+<p>
+ Certain modularized doctypes (XHTML, namely), have certain modules
+ that must be included for the doctype to be an conforming document
+ type: put those modules here. By default, XHTML's core modules
+ are used. You can set this to a blank array to disable core module
+ protection, but this is not recommended.
+</p>
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.CustomDoctype.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.CustomDoctype.txt
new file mode 100644
index 000000000..6ed70b599
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.CustomDoctype.txt
@@ -0,0 +1,9 @@
+HTML.CustomDoctype
+TYPE: string/null
+VERSION: 2.0.1
+DEFAULT: NULL
+--DESCRIPTION--
+
+A custom doctype for power-users who defined their own document
+type. This directive only applies when %HTML.Doctype is blank.
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.DefinitionID.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.DefinitionID.txt
new file mode 100644
index 000000000..103db754a
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.DefinitionID.txt
@@ -0,0 +1,33 @@
+HTML.DefinitionID
+TYPE: string/null
+DEFAULT: NULL
+VERSION: 2.0.0
+--DESCRIPTION--
+
+<p>
+ Unique identifier for a custom-built HTML definition. If you edit
+ the raw version of the HTMLDefinition, introducing changes that the
+ configuration object does not reflect, you must specify this variable.
+ If you change your custom edits, you should change this directive, or
+ clear your cache. Example:
+</p>
+<pre>
+$config = HTMLPurifier_Config::createDefault();
+$config->set('HTML', 'DefinitionID', '1');
+$def = $config->getHTMLDefinition();
+$def->addAttribute('a', 'tabindex', 'Number');
+</pre>
+<p>
+ In the above example, the configuration is still at the defaults, but
+ using the advanced API, an extra attribute has been added. The
+ configuration object normally has no way of knowing that this change
+ has taken place, so it needs an extra directive: %HTML.DefinitionID.
+ If someone else attempts to use the default configuration, these two
+ pieces of code will not clobber each other in the cache, since one has
+ an extra directive attached to it.
+</p>
+<p>
+ You <em>must</em> specify a value to this directive to use the
+ advanced API features.
+</p>
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.DefinitionRev.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.DefinitionRev.txt
new file mode 100644
index 000000000..229ae0267
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.DefinitionRev.txt
@@ -0,0 +1,16 @@
+HTML.DefinitionRev
+TYPE: int
+VERSION: 2.0.0
+DEFAULT: 1
+--DESCRIPTION--
+
+<p>
+ Revision identifier for your custom definition specified in
+ %HTML.DefinitionID. This serves the same purpose: uniquely identifying
+ your custom definition, but this one does so in a chronological
+ context: revision 3 is more up-to-date then revision 2. Thus, when
+ this gets incremented, the cache handling is smart enough to clean
+ up any older revisions of your definition as well as flush the
+ cache.
+</p>
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.Doctype.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.Doctype.txt
new file mode 100644
index 000000000..9dab497f2
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.Doctype.txt
@@ -0,0 +1,11 @@
+HTML.Doctype
+TYPE: string/null
+DEFAULT: NULL
+--DESCRIPTION--
+Doctype to use during filtering. Technically speaking this is not actually
+a doctype (as it does not identify a corresponding DTD), but we are using
+this name for sake of simplicity. When non-blank, this will override any
+older directives like %HTML.XHTML or %HTML.Strict.
+--ALLOWED--
+'HTML 4.01 Transitional', 'HTML 4.01 Strict', 'XHTML 1.0 Transitional', 'XHTML 1.0 Strict', 'XHTML 1.1'
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.FlashAllowFullScreen.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.FlashAllowFullScreen.txt
new file mode 100644
index 000000000..7878dc0bf
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.FlashAllowFullScreen.txt
@@ -0,0 +1,11 @@
+HTML.FlashAllowFullScreen
+TYPE: bool
+VERSION: 4.2.0
+DEFAULT: false
+--DESCRIPTION--
+<p>
+ Whether or not to permit embedded Flash content from
+ %HTML.SafeObject to expand to the full screen. Corresponds to
+ the <code>allowFullScreen</code> parameter.
+</p>
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.ForbiddenAttributes.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.ForbiddenAttributes.txt
new file mode 100644
index 000000000..57358f9ba
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.ForbiddenAttributes.txt
@@ -0,0 +1,21 @@
+HTML.ForbiddenAttributes
+TYPE: lookup
+VERSION: 3.1.0
+DEFAULT: array()
+--DESCRIPTION--
+<p>
+ While this directive is similar to %HTML.AllowedAttributes, for
+ forwards-compatibility with XML, this attribute has a different syntax. Instead of
+ <code>tag.attr</code>, use <code>tag@attr</code>. To disallow <code>href</code>
+ attributes in <code>a</code> tags, set this directive to
+ <code>a@href</code>. You can also disallow an attribute globally with
+ <code>attr</code> or <code>*@attr</code> (either syntax is fine; the latter
+ is provided for consistency with %HTML.AllowedAttributes).
+</p>
+<p>
+ <strong>Warning:</strong> This directive complements %HTML.ForbiddenElements,
+ accordingly, check
+ out that directive for a discussion of why you
+ should think twice before using this directive.
+</p>
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.ForbiddenElements.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.ForbiddenElements.txt
new file mode 100644
index 000000000..93a53e14f
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.ForbiddenElements.txt
@@ -0,0 +1,20 @@
+HTML.ForbiddenElements
+TYPE: lookup
+VERSION: 3.1.0
+DEFAULT: array()
+--DESCRIPTION--
+<p>
+ This was, perhaps, the most requested feature ever in HTML
+ Purifier. Please don't abuse it! This is the logical inverse of
+ %HTML.AllowedElements, and it will override that directive, or any
+ other directive.
+</p>
+<p>
+ If possible, %HTML.Allowed is recommended over this directive, because it
+ can sometimes be difficult to tell whether or not you've forbidden all of
+ the behavior you would like to disallow. If you forbid <code>img</code>
+ with the expectation of preventing images on your site, you'll be in for
+ a nasty surprise when people start using the <code>background-image</code>
+ CSS property.
+</p>
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.MaxImgLength.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.MaxImgLength.txt
new file mode 100644
index 000000000..e424c386e
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.MaxImgLength.txt
@@ -0,0 +1,14 @@
+HTML.MaxImgLength
+TYPE: int/null
+DEFAULT: 1200
+VERSION: 3.1.1
+--DESCRIPTION--
+<p>
+ This directive controls the maximum number of pixels in the width and
+ height attributes in <code>img</code> tags. This is
+ in place to prevent imagecrash attacks, disable with null at your own risk.
+ This directive is similar to %CSS.MaxImgLength, and both should be
+ concurrently edited, although there are
+ subtle differences in the input format (the HTML max is an integer).
+</p>
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.Nofollow.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.Nofollow.txt
new file mode 100644
index 000000000..700b30924
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.Nofollow.txt
@@ -0,0 +1,7 @@
+HTML.Nofollow
+TYPE: bool
+VERSION: 4.3.0
+DEFAULT: FALSE
+--DESCRIPTION--
+If enabled, nofollow rel attributes are added to all outgoing links.
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.Parent.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.Parent.txt
new file mode 100644
index 000000000..62e8e160c
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.Parent.txt
@@ -0,0 +1,12 @@
+HTML.Parent
+TYPE: string
+VERSION: 1.3.0
+DEFAULT: 'div'
+--DESCRIPTION--
+
+<p>
+ String name of element that HTML fragment passed to library will be
+ inserted in. An interesting variation would be using span as the
+ parent element, meaning that only inline tags would be allowed.
+</p>
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.Proprietary.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.Proprietary.txt
new file mode 100644
index 000000000..dfb720496
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.Proprietary.txt
@@ -0,0 +1,12 @@
+HTML.Proprietary
+TYPE: bool
+VERSION: 3.1.0
+DEFAULT: false
+--DESCRIPTION--
+<p>
+ Whether or not to allow proprietary elements and attributes in your
+ documents, as per <code>HTMLPurifier_HTMLModule_Proprietary</code>.
+ <strong>Warning:</strong> This can cause your documents to stop
+ validating!
+</p>
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.SafeEmbed.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.SafeEmbed.txt
new file mode 100644
index 000000000..cdda09a4c
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.SafeEmbed.txt
@@ -0,0 +1,13 @@
+HTML.SafeEmbed
+TYPE: bool
+VERSION: 3.1.1
+DEFAULT: false
+--DESCRIPTION--
+<p>
+ Whether or not to permit embed tags in documents, with a number of extra
+ security features added to prevent script execution. This is similar to
+ what websites like MySpace do to embed tags. Embed is a proprietary
+ element and will cause your website to stop validating; you should
+ see if you can use %Output.FlashCompat with %HTML.SafeObject instead
+ first.</p>
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.SafeIframe.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.SafeIframe.txt
new file mode 100644
index 000000000..5eb6ec2b5
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.SafeIframe.txt
@@ -0,0 +1,13 @@
+HTML.SafeIframe
+TYPE: bool
+VERSION: 4.4.0
+DEFAULT: false
+--DESCRIPTION--
+<p>
+ Whether or not to permit iframe tags in untrusted documents. This
+ directive must be accompanied by a whitelist of permitted iframes,
+ such as %URI.SafeIframeRegexp, otherwise it will fatally error.
+ This directive has no effect on strict doctypes, as iframes are not
+ valid.
+</p>
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.SafeObject.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.SafeObject.txt
new file mode 100644
index 000000000..ceb342e22
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.SafeObject.txt
@@ -0,0 +1,13 @@
+HTML.SafeObject
+TYPE: bool
+VERSION: 3.1.1
+DEFAULT: false
+--DESCRIPTION--
+<p>
+ Whether or not to permit object tags in documents, with a number of extra
+ security features added to prevent script execution. This is similar to
+ what websites like MySpace do to object tags. You should also enable
+ %Output.FlashCompat in order to generate Internet Explorer
+ compatibility code for your object tags.
+</p>
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.SafeScripting.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.SafeScripting.txt
new file mode 100644
index 000000000..5ebc7a19d
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.SafeScripting.txt
@@ -0,0 +1,10 @@
+HTML.SafeScripting
+TYPE: lookup
+VERSION: 4.5.0
+DEFAULT: array()
+--DESCRIPTION--
+<p>
+ Whether or not to permit script tags to external scripts in documents.
+ Inline scripting is not allowed, and the script must match an explicit whitelist.
+</p>
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.Strict.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.Strict.txt
new file mode 100644
index 000000000..a8b1de56b
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.Strict.txt
@@ -0,0 +1,9 @@
+HTML.Strict
+TYPE: bool
+VERSION: 1.3.0
+DEFAULT: false
+DEPRECATED-VERSION: 1.7.0
+DEPRECATED-USE: HTML.Doctype
+--DESCRIPTION--
+Determines whether or not to use Transitional (loose) or Strict rulesets.
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.TargetBlank.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.TargetBlank.txt
new file mode 100644
index 000000000..587a16778
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.TargetBlank.txt
@@ -0,0 +1,8 @@
+HTML.TargetBlank
+TYPE: bool
+VERSION: 4.4.0
+DEFAULT: FALSE
+--DESCRIPTION--
+If enabled, <code>target=blank</code> attributes are added to all outgoing links.
+(This includes links from an HTTPS version of a page to an HTTP version.)
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.TargetNoopener.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.TargetNoopener.txt
new file mode 100644
index 000000000..dd514c0de
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.TargetNoopener.txt
@@ -0,0 +1,10 @@
+--# vim: et sw=4 sts=4
+HTML.TargetNoopener
+TYPE: bool
+VERSION: 4.8.0
+DEFAULT: TRUE
+--DESCRIPTION--
+If enabled, noopener rel attributes are added to links which have
+a target attribute associated with them. This prevents malicious
+destinations from overwriting the original window.
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.TargetNoreferrer.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.TargetNoreferrer.txt
new file mode 100644
index 000000000..cb5a0b0e5
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.TargetNoreferrer.txt
@@ -0,0 +1,9 @@
+HTML.TargetNoreferrer
+TYPE: bool
+VERSION: 4.8.0
+DEFAULT: TRUE
+--DESCRIPTION--
+If enabled, noreferrer rel attributes are added to links which have
+a target attribute associated with them. This prevents malicious
+destinations from overwriting the original window.
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.TidyAdd.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.TidyAdd.txt
new file mode 100644
index 000000000..b4c271b7f
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.TidyAdd.txt
@@ -0,0 +1,8 @@
+HTML.TidyAdd
+TYPE: lookup
+VERSION: 2.0.0
+DEFAULT: array()
+--DESCRIPTION--
+
+Fixes to add to the default set of Tidy fixes as per your level.
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.TidyLevel.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.TidyLevel.txt
new file mode 100644
index 000000000..4186ccd0d
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.TidyLevel.txt
@@ -0,0 +1,24 @@
+HTML.TidyLevel
+TYPE: string
+VERSION: 2.0.0
+DEFAULT: 'medium'
+--DESCRIPTION--
+
+<p>General level of cleanliness the Tidy module should enforce.
+There are four allowed values:</p>
+<dl>
+ <dt>none</dt>
+ <dd>No extra tidying should be done</dd>
+ <dt>light</dt>
+ <dd>Only fix elements that would be discarded otherwise due to
+ lack of support in doctype</dd>
+ <dt>medium</dt>
+ <dd>Enforce best practices</dd>
+ <dt>heavy</dt>
+ <dd>Transform all deprecated elements and attributes to standards
+ compliant equivalents</dd>
+</dl>
+
+--ALLOWED--
+'none', 'light', 'medium', 'heavy'
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.TidyRemove.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.TidyRemove.txt
new file mode 100644
index 000000000..996762bd1
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.TidyRemove.txt
@@ -0,0 +1,8 @@
+HTML.TidyRemove
+TYPE: lookup
+VERSION: 2.0.0
+DEFAULT: array()
+--DESCRIPTION--
+
+Fixes to remove from the default set of Tidy fixes as per your level.
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.Trusted.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.Trusted.txt
new file mode 100644
index 000000000..1db9237e9
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.Trusted.txt
@@ -0,0 +1,9 @@
+HTML.Trusted
+TYPE: bool
+VERSION: 2.0.0
+DEFAULT: false
+--DESCRIPTION--
+Indicates whether or not the user input is trusted or not. If the input is
+trusted, a more expansive set of allowed tags and attributes will be used.
+See also %CSS.Trusted.
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.XHTML.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.XHTML.txt
new file mode 100644
index 000000000..2a47e384f
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.XHTML.txt
@@ -0,0 +1,11 @@
+HTML.XHTML
+TYPE: bool
+DEFAULT: true
+VERSION: 1.1.0
+DEPRECATED-VERSION: 1.7.0
+DEPRECATED-USE: HTML.Doctype
+--DESCRIPTION--
+Determines whether or not output is XHTML 1.0 or HTML 4.01 flavor.
+--ALIASES--
+Core.XHTML
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Output.CommentScriptContents.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Output.CommentScriptContents.txt
new file mode 100644
index 000000000..08921fde7
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Output.CommentScriptContents.txt
@@ -0,0 +1,10 @@
+Output.CommentScriptContents
+TYPE: bool
+VERSION: 2.0.0
+DEFAULT: true
+--DESCRIPTION--
+Determines whether or not HTML Purifier should attempt to fix up the
+contents of script tags for legacy browsers with comments.
+--ALIASES--
+Core.CommentScriptContents
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Output.FixInnerHTML.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Output.FixInnerHTML.txt
new file mode 100644
index 000000000..d6f0d9f29
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Output.FixInnerHTML.txt
@@ -0,0 +1,15 @@
+Output.FixInnerHTML
+TYPE: bool
+VERSION: 4.3.0
+DEFAULT: true
+--DESCRIPTION--
+<p>
+ If true, HTML Purifier will protect against Internet Explorer's
+ mishandling of the <code>innerHTML</code> attribute by appending
+ a space to any attribute that does not contain angled brackets, spaces
+ or quotes, but contains a backtick. This slightly changes the
+ semantics of any given attribute, so if this is unacceptable and
+ you do not use <code>innerHTML</code> on any of your pages, you can
+ turn this directive off.
+</p>
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Output.FlashCompat.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Output.FlashCompat.txt
new file mode 100644
index 000000000..93398e859
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Output.FlashCompat.txt
@@ -0,0 +1,11 @@
+Output.FlashCompat
+TYPE: bool
+VERSION: 4.1.0
+DEFAULT: false
+--DESCRIPTION--
+<p>
+ If true, HTML Purifier will generate Internet Explorer compatibility
+ code for all object code. This is highly recommended if you enable
+ %HTML.SafeObject.
+</p>
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Output.Newline.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Output.Newline.txt
new file mode 100644
index 000000000..79f8ad82c
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Output.Newline.txt
@@ -0,0 +1,13 @@
+Output.Newline
+TYPE: string/null
+VERSION: 2.0.1
+DEFAULT: NULL
+--DESCRIPTION--
+
+<p>
+ Newline string to format final output with. If left null, HTML Purifier
+ will auto-detect the default newline type of the system and use that;
+ you can manually override it here. Remember, \r\n is Windows, \r
+ is Mac, and \n is Unix.
+</p>
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Output.SortAttr.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Output.SortAttr.txt
new file mode 100644
index 000000000..232b02362
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Output.SortAttr.txt
@@ -0,0 +1,14 @@
+Output.SortAttr
+TYPE: bool
+VERSION: 3.2.0
+DEFAULT: false
+--DESCRIPTION--
+<p>
+ If true, HTML Purifier will sort attributes by name before writing them back
+ to the document, converting a tag like: <code>&lt;el b="" a="" c="" /&gt;</code>
+ to <code>&lt;el a="" b="" c="" /&gt;</code>. This is a workaround for
+ a bug in FCKeditor which causes it to swap attributes order, adding noise
+ to text diffs. If you're not seeing this bug, chances are, you don't need
+ this directive.
+</p>
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Output.TidyFormat.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Output.TidyFormat.txt
new file mode 100644
index 000000000..06bab00a0
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Output.TidyFormat.txt
@@ -0,0 +1,25 @@
+Output.TidyFormat
+TYPE: bool
+VERSION: 1.1.1
+DEFAULT: false
+--DESCRIPTION--
+<p>
+ Determines whether or not to run Tidy on the final output for pretty
+ formatting reasons, such as indentation and wrap.
+</p>
+<p>
+ This can greatly improve readability for editors who are hand-editing
+ the HTML, but is by no means necessary as HTML Purifier has already
+ fixed all major errors the HTML may have had. Tidy is a non-default
+ extension, and this directive will silently fail if Tidy is not
+ available.
+</p>
+<p>
+ If you are looking to make the overall look of your page's source
+ better, I recommend running Tidy on the entire page rather than just
+ user-content (after all, the indentation relative to the containing
+ blocks will be incorrect).
+</p>
+--ALIASES--
+Core.TidyFormat
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Test.ForceNoIconv.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Test.ForceNoIconv.txt
new file mode 100644
index 000000000..071bc0295
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Test.ForceNoIconv.txt
@@ -0,0 +1,7 @@
+Test.ForceNoIconv
+TYPE: bool
+DEFAULT: false
+--DESCRIPTION--
+When set to true, HTMLPurifier_Encoder will act as if iconv does not exist
+and use only pure PHP implementations.
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.AllowedSchemes.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.AllowedSchemes.txt
new file mode 100644
index 000000000..eb97307e2
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.AllowedSchemes.txt
@@ -0,0 +1,18 @@
+URI.AllowedSchemes
+TYPE: lookup
+--DEFAULT--
+array (
+ 'http' => true,
+ 'https' => true,
+ 'mailto' => true,
+ 'ftp' => true,
+ 'nntp' => true,
+ 'news' => true,
+ 'tel' => true,
+)
+--DESCRIPTION--
+Whitelist that defines the schemes that a URI is allowed to have. This
+prevents XSS attacks from using pseudo-schemes like javascript or mocha.
+There is also support for the <code>data</code> and <code>file</code>
+URI schemes, but they are not enabled by default.
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.Base.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.Base.txt
new file mode 100644
index 000000000..876f0680c
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.Base.txt
@@ -0,0 +1,17 @@
+URI.Base
+TYPE: string/null
+VERSION: 2.1.0
+DEFAULT: NULL
+--DESCRIPTION--
+
+<p>
+ The base URI is the URI of the document this purified HTML will be
+ inserted into. This information is important if HTML Purifier needs
+ to calculate absolute URIs from relative URIs, such as when %URI.MakeAbsolute
+ is on. You may use a non-absolute URI for this value, but behavior
+ may vary (%URI.MakeAbsolute deals nicely with both absolute and
+ relative paths, but forwards-compatibility is not guaranteed).
+ <strong>Warning:</strong> If set, the scheme on this URI
+ overrides the one specified by %URI.DefaultScheme.
+</p>
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.DefaultScheme.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.DefaultScheme.txt
new file mode 100644
index 000000000..834bc08c0
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.DefaultScheme.txt
@@ -0,0 +1,15 @@
+URI.DefaultScheme
+TYPE: string/null
+DEFAULT: 'http'
+--DESCRIPTION--
+
+<p>
+ Defines through what scheme the output will be served, in order to
+ select the proper object validator when no scheme information is present.
+</p>
+
+<p>
+ Starting with HTML Purifier 4.9.0, the default scheme can be null, in
+ which case we reject all URIs which do not have explicit schemes.
+</p>
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.DefinitionID.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.DefinitionID.txt
new file mode 100644
index 000000000..f05312ba8
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.DefinitionID.txt
@@ -0,0 +1,11 @@
+URI.DefinitionID
+TYPE: string/null
+VERSION: 2.1.0
+DEFAULT: NULL
+--DESCRIPTION--
+
+<p>
+ Unique identifier for a custom-built URI definition. If you want
+ to add custom URIFilters, you must specify this value.
+</p>
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.DefinitionRev.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.DefinitionRev.txt
new file mode 100644
index 000000000..80cfea93f
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.DefinitionRev.txt
@@ -0,0 +1,11 @@
+URI.DefinitionRev
+TYPE: int
+VERSION: 2.1.0
+DEFAULT: 1
+--DESCRIPTION--
+
+<p>
+ Revision identifier for your custom definition. See
+ %HTML.DefinitionRev for details.
+</p>
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.Disable.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.Disable.txt
new file mode 100644
index 000000000..71ce025a2
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.Disable.txt
@@ -0,0 +1,14 @@
+URI.Disable
+TYPE: bool
+VERSION: 1.3.0
+DEFAULT: false
+--DESCRIPTION--
+
+<p>
+ Disables all URIs in all forms. Not sure why you'd want to do that
+ (after all, the Internet's founded on the notion of a hyperlink).
+</p>
+
+--ALIASES--
+Attr.DisableURI
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.DisableExternal.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.DisableExternal.txt
new file mode 100644
index 000000000..13c122c8c
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.DisableExternal.txt
@@ -0,0 +1,11 @@
+URI.DisableExternal
+TYPE: bool
+VERSION: 1.2.0
+DEFAULT: false
+--DESCRIPTION--
+Disables links to external websites. This is a highly effective anti-spam
+and anti-pagerank-leech measure, but comes at a hefty price: nolinks or
+images outside of your domain will be allowed. Non-linkified URIs will
+still be preserved. If you want to be able to link to subdomains or use
+absolute URIs, specify %URI.Host for your website.
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.DisableExternalResources.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.DisableExternalResources.txt
new file mode 100644
index 000000000..abcc1efd6
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.DisableExternalResources.txt
@@ -0,0 +1,13 @@
+URI.DisableExternalResources
+TYPE: bool
+VERSION: 1.3.0
+DEFAULT: false
+--DESCRIPTION--
+Disables the embedding of external resources, preventing users from
+embedding things like images from other hosts. This prevents access
+tracking (good for email viewers), bandwidth leeching, cross-site request
+forging, goatse.cx posting, and other nasties, but also results in a loss
+of end-user functionality (they can't directly post a pic they posted from
+Flickr anymore). Use it if you don't have a robust user-content moderation
+team.
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.DisableResources.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.DisableResources.txt
new file mode 100644
index 000000000..f891de499
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.DisableResources.txt
@@ -0,0 +1,15 @@
+URI.DisableResources
+TYPE: bool
+VERSION: 4.2.0
+DEFAULT: false
+--DESCRIPTION--
+<p>
+ Disables embedding resources, essentially meaning no pictures. You can
+ still link to them though. See %URI.DisableExternalResources for why
+ this might be a good idea.
+</p>
+<p>
+ <em>Note:</em> While this directive has been available since 1.3.0,
+ it didn't actually start doing anything until 4.2.0.
+</p>
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.Host.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.Host.txt
new file mode 100644
index 000000000..ee83b121d
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.Host.txt
@@ -0,0 +1,19 @@
+URI.Host
+TYPE: string/null
+VERSION: 1.2.0
+DEFAULT: NULL
+--DESCRIPTION--
+
+<p>
+ Defines the domain name of the server, so we can determine whether or
+ an absolute URI is from your website or not. Not strictly necessary,
+ as users should be using relative URIs to reference resources on your
+ website. It will, however, let you use absolute URIs to link to
+ subdomains of the domain you post here: i.e. example.com will allow
+ sub.example.com. However, higher up domains will still be excluded:
+ if you set %URI.Host to sub.example.com, example.com will be blocked.
+ <strong>Note:</strong> This directive overrides %URI.Base because
+ a given page may be on a sub-domain, but you wish HTML Purifier to be
+ more relaxed and allow some of the parent domains too.
+</p>
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.HostBlacklist.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.HostBlacklist.txt
new file mode 100644
index 000000000..0b6df7625
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.HostBlacklist.txt
@@ -0,0 +1,9 @@
+URI.HostBlacklist
+TYPE: list
+VERSION: 1.3.0
+DEFAULT: array()
+--DESCRIPTION--
+List of strings that are forbidden in the host of any URI. Use it to kill
+domain names of spam, etc. Note that it will catch anything in the domain,
+so <tt>moo.com</tt> will catch <tt>moo.com.example.com</tt>.
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.MakeAbsolute.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.MakeAbsolute.txt
new file mode 100644
index 000000000..4214900a5
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.MakeAbsolute.txt
@@ -0,0 +1,13 @@
+URI.MakeAbsolute
+TYPE: bool
+VERSION: 2.1.0
+DEFAULT: false
+--DESCRIPTION--
+
+<p>
+ Converts all URIs into absolute forms. This is useful when the HTML
+ being filtered assumes a specific base path, but will actually be
+ viewed in a different context (and setting an alternate base URI is
+ not possible). %URI.Base must be set for this directive to work.
+</p>
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.Munge.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.Munge.txt
new file mode 100644
index 000000000..58c81dcc4
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.Munge.txt
@@ -0,0 +1,83 @@
+URI.Munge
+TYPE: string/null
+VERSION: 1.3.0
+DEFAULT: NULL
+--DESCRIPTION--
+
+<p>
+ Munges all browsable (usually http, https and ftp)
+ absolute URIs into another URI, usually a URI redirection service.
+ This directive accepts a URI, formatted with a <code>%s</code> where
+ the url-encoded original URI should be inserted (sample:
+ <code>http://www.google.com/url?q=%s</code>).
+</p>
+<p>
+ Uses for this directive:
+</p>
+<ul>
+ <li>
+ Prevent PageRank leaks, while being fairly transparent
+ to users (you may also want to add some client side JavaScript to
+ override the text in the statusbar). <strong>Notice</strong>:
+ Many security experts believe that this form of protection does not deter spam-bots.
+ </li>
+ <li>
+ Redirect users to a splash page telling them they are leaving your
+ website. While this is poor usability practice, it is often mandated
+ in corporate environments.
+ </li>
+</ul>
+<p>
+ Prior to HTML Purifier 3.1.1, this directive also enabled the munging
+ of browsable external resources, which could break things if your redirection
+ script was a splash page or used <code>meta</code> tags. To revert to
+ previous behavior, please use %URI.MungeResources.
+</p>
+<p>
+ You may want to also use %URI.MungeSecretKey along with this directive
+ in order to enforce what URIs your redirector script allows. Open
+ redirector scripts can be a security risk and negatively affect the
+ reputation of your domain name.
+</p>
+<p>
+ Starting with HTML Purifier 3.1.1, there is also these substitutions:
+</p>
+<table>
+ <thead>
+ <tr>
+ <th>Key</th>
+ <th>Description</th>
+ <th>Example <code>&lt;a href=""&gt;</code></th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>%r</td>
+ <td>1 - The URI embeds a resource<br />(blank) - The URI is merely a link</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>%n</td>
+ <td>The name of the tag this URI came from</td>
+ <td>a</td>
+ </tr>
+ <tr>
+ <td>%m</td>
+ <td>The name of the attribute this URI came from</td>
+ <td>href</td>
+ </tr>
+ <tr>
+ <td>%p</td>
+ <td>The name of the CSS property this URI came from, or blank if irrelevant</td>
+ <td></td>
+ </tr>
+ </tbody>
+</table>
+<p>
+ Admittedly, these letters are somewhat arbitrary; the only stipulation
+ was that they couldn't be a through f. r is for resource (I would have preferred
+ e, but you take what you can get), n is for name, m
+ was picked because it came after n (and I couldn't use a), p is for
+ property.
+</p>
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.MungeResources.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.MungeResources.txt
new file mode 100644
index 000000000..6fce0fdc3
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.MungeResources.txt
@@ -0,0 +1,17 @@
+URI.MungeResources
+TYPE: bool
+VERSION: 3.1.1
+DEFAULT: false
+--DESCRIPTION--
+<p>
+ If true, any URI munging directives like %URI.Munge
+ will also apply to embedded resources, such as <code>&lt;img src=""&gt;</code>.
+ Be careful enabling this directive if you have a redirector script
+ that does not use the <code>Location</code> HTTP header; all of your images
+ and other embedded resources will break.
+</p>
+<p>
+ <strong>Warning:</strong> It is strongly advised you use this in conjunction
+ %URI.MungeSecretKey to mitigate the security risk of an open redirector.
+</p>
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.MungeSecretKey.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.MungeSecretKey.txt
new file mode 100644
index 000000000..1e17c1d46
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.MungeSecretKey.txt
@@ -0,0 +1,30 @@
+URI.MungeSecretKey
+TYPE: string/null
+VERSION: 3.1.1
+DEFAULT: NULL
+--DESCRIPTION--
+<p>
+ This directive enables secure checksum generation along with %URI.Munge.
+ It should be set to a secure key that is not shared with anyone else.
+ The checksum can be placed in the URI using %t. Use of this checksum
+ affords an additional level of protection by allowing a redirector
+ to check if a URI has passed through HTML Purifier with this line:
+</p>
+
+<pre>$checksum === hash_hmac("sha256", $url, $secret_key)</pre>
+
+<p>
+ If the output is TRUE, the redirector script should accept the URI.
+</p>
+
+<p>
+ Please note that it would still be possible for an attacker to procure
+ secure hashes en-mass by abusing your website's Preview feature or the
+ like, but this service affords an additional level of protection
+ that should be combined with website blacklisting.
+</p>
+
+<p>
+ Remember this has no effect if %URI.Munge is not on.
+</p>
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.OverrideAllowedSchemes.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.OverrideAllowedSchemes.txt
new file mode 100644
index 000000000..23331a4e7
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.OverrideAllowedSchemes.txt
@@ -0,0 +1,9 @@
+URI.OverrideAllowedSchemes
+TYPE: bool
+DEFAULT: true
+--DESCRIPTION--
+If this is set to true (which it is by default), you can override
+%URI.AllowedSchemes by simply registering a HTMLPurifier_URIScheme to the
+registry. If false, you will also have to update that directive in order
+to add more schemes.
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.SafeIframeRegexp.txt b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.SafeIframeRegexp.txt
new file mode 100644
index 000000000..79084832b
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.SafeIframeRegexp.txt
@@ -0,0 +1,22 @@
+URI.SafeIframeRegexp
+TYPE: string/null
+VERSION: 4.4.0
+DEFAULT: NULL
+--DESCRIPTION--
+<p>
+ A PCRE regular expression that will be matched against an iframe URI. This is
+ a relatively inflexible scheme, but works well enough for the most common
+ use-case of iframes: embedded video. This directive only has an effect if
+ %HTML.SafeIframe is enabled. Here are some example values:
+</p>
+<ul>
+ <li><code>%^http://www.youtube.com/embed/%</code> - Allow YouTube videos</li>
+ <li><code>%^http://player.vimeo.com/video/%</code> - Allow Vimeo videos</li>
+ <li><code>%^http://(www.youtube.com/embed/|player.vimeo.com/video/)%</code> - Allow both</li>
+</ul>
+<p>
+ Note that this directive does not give you enough granularity to, say, disable
+ all <code>autoplay</code> videos. Pipe up on the HTML Purifier forums if this
+ is a capability you want.
+</p>
+--# vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/info.ini b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/info.ini
new file mode 100644
index 000000000..5de4505e1
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/info.ini
@@ -0,0 +1,3 @@
+name = "HTML Purifier"
+
+; vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ContentSets.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ContentSets.php
new file mode 100644
index 000000000..543e3f8f1
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ContentSets.php
@@ -0,0 +1,170 @@
+<?php
+
+/**
+ * @todo Unit test
+ */
+class HTMLPurifier_ContentSets
+{
+
+ /**
+ * List of content set strings (pipe separators) indexed by name.
+ * @type array
+ */
+ public $info = array();
+
+ /**
+ * List of content set lookups (element => true) indexed by name.
+ * @type array
+ * @note This is in HTMLPurifier_HTMLDefinition->info_content_sets
+ */
+ public $lookup = array();
+
+ /**
+ * Synchronized list of defined content sets (keys of info).
+ * @type array
+ */
+ protected $keys = array();
+ /**
+ * Synchronized list of defined content values (values of info).
+ * @type array
+ */
+ protected $values = array();
+
+ /**
+ * Merges in module's content sets, expands identifiers in the content
+ * sets and populates the keys, values and lookup member variables.
+ * @param HTMLPurifier_HTMLModule[] $modules List of HTMLPurifier_HTMLModule
+ */
+ public function __construct($modules)
+ {
+ if (!is_array($modules)) {
+ $modules = array($modules);
+ }
+ // populate content_sets based on module hints
+ // sorry, no way of overloading
+ foreach ($modules as $module) {
+ foreach ($module->content_sets as $key => $value) {
+ $temp = $this->convertToLookup($value);
+ if (isset($this->lookup[$key])) {
+ // add it into the existing content set
+ $this->lookup[$key] = array_merge($this->lookup[$key], $temp);
+ } else {
+ $this->lookup[$key] = $temp;
+ }
+ }
+ }
+ $old_lookup = false;
+ while ($old_lookup !== $this->lookup) {
+ $old_lookup = $this->lookup;
+ foreach ($this->lookup as $i => $set) {
+ $add = array();
+ foreach ($set as $element => $x) {
+ if (isset($this->lookup[$element])) {
+ $add += $this->lookup[$element];
+ unset($this->lookup[$i][$element]);
+ }
+ }
+ $this->lookup[$i] += $add;
+ }
+ }
+
+ foreach ($this->lookup as $key => $lookup) {
+ $this->info[$key] = implode(' | ', array_keys($lookup));
+ }
+ $this->keys = array_keys($this->info);
+ $this->values = array_values($this->info);
+ }
+
+ /**
+ * Accepts a definition; generates and assigns a ChildDef for it
+ * @param HTMLPurifier_ElementDef $def HTMLPurifier_ElementDef reference
+ * @param HTMLPurifier_HTMLModule $module Module that defined the ElementDef
+ */
+ public function generateChildDef(&$def, $module)
+ {
+ if (!empty($def->child)) { // already done!
+ return;
+ }
+ $content_model = $def->content_model;
+ if (is_string($content_model)) {
+ // Assume that $this->keys is alphanumeric
+ $def->content_model = preg_replace_callback(
+ '/\b(' . implode('|', $this->keys) . ')\b/',
+ array($this, 'generateChildDefCallback'),
+ $content_model
+ );
+ //$def->content_model = str_replace(
+ // $this->keys, $this->values, $content_model);
+ }
+ $def->child = $this->getChildDef($def, $module);
+ }
+
+ public function generateChildDefCallback($matches)
+ {
+ return $this->info[$matches[0]];
+ }
+
+ /**
+ * Instantiates a ChildDef based on content_model and content_model_type
+ * member variables in HTMLPurifier_ElementDef
+ * @note This will also defer to modules for custom HTMLPurifier_ChildDef
+ * subclasses that need content set expansion
+ * @param HTMLPurifier_ElementDef $def HTMLPurifier_ElementDef to have ChildDef extracted
+ * @param HTMLPurifier_HTMLModule $module Module that defined the ElementDef
+ * @return HTMLPurifier_ChildDef corresponding to ElementDef
+ */
+ public function getChildDef($def, $module)
+ {
+ $value = $def->content_model;
+ if (is_object($value)) {
+ trigger_error(
+ 'Literal object child definitions should be stored in '.
+ 'ElementDef->child not ElementDef->content_model',
+ E_USER_NOTICE
+ );
+ return $value;
+ }
+ switch ($def->content_model_type) {
+ case 'required':
+ return new HTMLPurifier_ChildDef_Required($value);
+ case 'optional':
+ return new HTMLPurifier_ChildDef_Optional($value);
+ case 'empty':
+ return new HTMLPurifier_ChildDef_Empty();
+ case 'custom':
+ return new HTMLPurifier_ChildDef_Custom($value);
+ }
+ // defer to its module
+ $return = false;
+ if ($module->defines_child_def) { // save a func call
+ $return = $module->getChildDef($def);
+ }
+ if ($return !== false) {
+ return $return;
+ }
+ // error-out
+ trigger_error(
+ 'Could not determine which ChildDef class to instantiate',
+ E_USER_ERROR
+ );
+ return false;
+ }
+
+ /**
+ * Converts a string list of elements separated by pipes into
+ * a lookup array.
+ * @param string $string List of elements
+ * @return array Lookup array of elements
+ */
+ protected function convertToLookup($string)
+ {
+ $array = explode('|', str_replace(' ', '', $string));
+ $ret = array();
+ foreach ($array as $k) {
+ $ret[$k] = true;
+ }
+ return $ret;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Context.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Context.php
new file mode 100644
index 000000000..00e509c85
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Context.php
@@ -0,0 +1,95 @@
+<?php
+
+/**
+ * Registry object that contains information about the current context.
+ * @warning Is a bit buggy when variables are set to null: it thinks
+ * they don't exist! So use false instead, please.
+ * @note Since the variables Context deals with may not be objects,
+ * references are very important here! Do not remove!
+ */
+class HTMLPurifier_Context
+{
+
+ /**
+ * Private array that stores the references.
+ * @type array
+ */
+ private $_storage = array();
+
+ /**
+ * Registers a variable into the context.
+ * @param string $name String name
+ * @param mixed $ref Reference to variable to be registered
+ */
+ public function register($name, &$ref)
+ {
+ if (array_key_exists($name, $this->_storage)) {
+ trigger_error(
+ "Name $name produces collision, cannot re-register",
+ E_USER_ERROR
+ );
+ return;
+ }
+ $this->_storage[$name] =& $ref;
+ }
+
+ /**
+ * Retrieves a variable reference from the context.
+ * @param string $name String name
+ * @param bool $ignore_error Boolean whether or not to ignore error
+ * @return mixed
+ */
+ public function &get($name, $ignore_error = false)
+ {
+ if (!array_key_exists($name, $this->_storage)) {
+ if (!$ignore_error) {
+ trigger_error(
+ "Attempted to retrieve non-existent variable $name",
+ E_USER_ERROR
+ );
+ }
+ $var = null; // so we can return by reference
+ return $var;
+ }
+ return $this->_storage[$name];
+ }
+
+ /**
+ * Destroys a variable in the context.
+ * @param string $name String name
+ */
+ public function destroy($name)
+ {
+ if (!array_key_exists($name, $this->_storage)) {
+ trigger_error(
+ "Attempted to destroy non-existent variable $name",
+ E_USER_ERROR
+ );
+ return;
+ }
+ unset($this->_storage[$name]);
+ }
+
+ /**
+ * Checks whether or not the variable exists.
+ * @param string $name String name
+ * @return bool
+ */
+ public function exists($name)
+ {
+ return array_key_exists($name, $this->_storage);
+ }
+
+ /**
+ * Loads a series of variables from an associative array
+ * @param array $context_array Assoc array of variables to load
+ */
+ public function loadArray($context_array)
+ {
+ foreach ($context_array as $key => $discard) {
+ $this->register($key, $context_array[$key]);
+ }
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Definition.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Definition.php
new file mode 100644
index 000000000..bc6d43364
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Definition.php
@@ -0,0 +1,55 @@
+<?php
+
+/**
+ * Super-class for definition datatype objects, implements serialization
+ * functions for the class.
+ */
+abstract class HTMLPurifier_Definition
+{
+
+ /**
+ * Has setup() been called yet?
+ * @type bool
+ */
+ public $setup = false;
+
+ /**
+ * If true, write out the final definition object to the cache after
+ * setup. This will be true only if all invocations to get a raw
+ * definition object are also optimized. This does not cause file
+ * system thrashing because on subsequent calls the cached object
+ * is used and any writes to the raw definition object are short
+ * circuited. See enduser-customize.html for the high-level
+ * picture.
+ * @type bool
+ */
+ public $optimized = null;
+
+ /**
+ * What type of definition is it?
+ * @type string
+ */
+ public $type;
+
+ /**
+ * Sets up the definition object into the final form, something
+ * not done by the constructor
+ * @param HTMLPurifier_Config $config
+ */
+ abstract protected function doSetup($config);
+
+ /**
+ * Setup function that aborts if already setup
+ * @param HTMLPurifier_Config $config
+ */
+ public function setup($config)
+ {
+ if ($this->setup) {
+ return;
+ }
+ $this->setup = true;
+ $this->doSetup($config);
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache.php
new file mode 100644
index 000000000..9aa8ff354
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache.php
@@ -0,0 +1,129 @@
+<?php
+
+/**
+ * Abstract class representing Definition cache managers that implements
+ * useful common methods and is a factory.
+ * @todo Create a separate maintenance file advanced users can use to
+ * cache their custom HTMLDefinition, which can be loaded
+ * via a configuration directive
+ * @todo Implement memcached
+ */
+abstract class HTMLPurifier_DefinitionCache
+{
+ /**
+ * @type string
+ */
+ public $type;
+
+ /**
+ * @param string $type Type of definition objects this instance of the
+ * cache will handle.
+ */
+ public function __construct($type)
+ {
+ $this->type = $type;
+ }
+
+ /**
+ * Generates a unique identifier for a particular configuration
+ * @param HTMLPurifier_Config $config Instance of HTMLPurifier_Config
+ * @return string
+ */
+ public function generateKey($config)
+ {
+ return $config->version . ',' . // possibly replace with function calls
+ $config->getBatchSerial($this->type) . ',' .
+ $config->get($this->type . '.DefinitionRev');
+ }
+
+ /**
+ * Tests whether or not a key is old with respect to the configuration's
+ * version and revision number.
+ * @param string $key Key to test
+ * @param HTMLPurifier_Config $config Instance of HTMLPurifier_Config to test against
+ * @return bool
+ */
+ public function isOld($key, $config)
+ {
+ if (substr_count($key, ',') < 2) {
+ return true;
+ }
+ list($version, $hash, $revision) = explode(',', $key, 3);
+ $compare = version_compare($version, $config->version);
+ // version mismatch, is always old
+ if ($compare != 0) {
+ return true;
+ }
+ // versions match, ids match, check revision number
+ if ($hash == $config->getBatchSerial($this->type) &&
+ $revision < $config->get($this->type . '.DefinitionRev')) {
+ return true;
+ }
+ return false;
+ }
+
+ /**
+ * Checks if a definition's type jives with the cache's type
+ * @note Throws an error on failure
+ * @param HTMLPurifier_Definition $def Definition object to check
+ * @return bool true if good, false if not
+ */
+ public function checkDefType($def)
+ {
+ if ($def->type !== $this->type) {
+ trigger_error("Cannot use definition of type {$def->type} in cache for {$this->type}");
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * Adds a definition object to the cache
+ * @param HTMLPurifier_Definition $def
+ * @param HTMLPurifier_Config $config
+ */
+ abstract public function add($def, $config);
+
+ /**
+ * Unconditionally saves a definition object to the cache
+ * @param HTMLPurifier_Definition $def
+ * @param HTMLPurifier_Config $config
+ */
+ abstract public function set($def, $config);
+
+ /**
+ * Replace an object in the cache
+ * @param HTMLPurifier_Definition $def
+ * @param HTMLPurifier_Config $config
+ */
+ abstract public function replace($def, $config);
+
+ /**
+ * Retrieves a definition object from the cache
+ * @param HTMLPurifier_Config $config
+ */
+ abstract public function get($config);
+
+ /**
+ * Removes a definition object to the cache
+ * @param HTMLPurifier_Config $config
+ */
+ abstract public function remove($config);
+
+ /**
+ * Clears all objects from cache
+ * @param HTMLPurifier_Config $config
+ */
+ abstract public function flush($config);
+
+ /**
+ * Clears all expired (older version or revision) objects from cache
+ * @note Be careful implementing this method as flush. Flush must
+ * not interfere with other Definition types, and cleanup()
+ * should not be repeatedly called by userland code.
+ * @param HTMLPurifier_Config $config
+ */
+ abstract public function cleanup($config);
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Decorator.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Decorator.php
new file mode 100644
index 000000000..b57a51b6c
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Decorator.php
@@ -0,0 +1,112 @@
+<?php
+
+class HTMLPurifier_DefinitionCache_Decorator extends HTMLPurifier_DefinitionCache
+{
+
+ /**
+ * Cache object we are decorating
+ * @type HTMLPurifier_DefinitionCache
+ */
+ public $cache;
+
+ /**
+ * The name of the decorator
+ * @var string
+ */
+ public $name;
+
+ public function __construct()
+ {
+ }
+
+ /**
+ * Lazy decorator function
+ * @param HTMLPurifier_DefinitionCache $cache Reference to cache object to decorate
+ * @return HTMLPurifier_DefinitionCache_Decorator
+ */
+ public function decorate(&$cache)
+ {
+ $decorator = $this->copy();
+ // reference is necessary for mocks in PHP 4
+ $decorator->cache =& $cache;
+ $decorator->type = $cache->type;
+ return $decorator;
+ }
+
+ /**
+ * Cross-compatible clone substitute
+ * @return HTMLPurifier_DefinitionCache_Decorator
+ */
+ public function copy()
+ {
+ return new HTMLPurifier_DefinitionCache_Decorator();
+ }
+
+ /**
+ * @param HTMLPurifier_Definition $def
+ * @param HTMLPurifier_Config $config
+ * @return mixed
+ */
+ public function add($def, $config)
+ {
+ return $this->cache->add($def, $config);
+ }
+
+ /**
+ * @param HTMLPurifier_Definition $def
+ * @param HTMLPurifier_Config $config
+ * @return mixed
+ */
+ public function set($def, $config)
+ {
+ return $this->cache->set($def, $config);
+ }
+
+ /**
+ * @param HTMLPurifier_Definition $def
+ * @param HTMLPurifier_Config $config
+ * @return mixed
+ */
+ public function replace($def, $config)
+ {
+ return $this->cache->replace($def, $config);
+ }
+
+ /**
+ * @param HTMLPurifier_Config $config
+ * @return mixed
+ */
+ public function get($config)
+ {
+ return $this->cache->get($config);
+ }
+
+ /**
+ * @param HTMLPurifier_Config $config
+ * @return mixed
+ */
+ public function remove($config)
+ {
+ return $this->cache->remove($config);
+ }
+
+ /**
+ * @param HTMLPurifier_Config $config
+ * @return mixed
+ */
+ public function flush($config)
+ {
+ return $this->cache->flush($config);
+ }
+
+ /**
+ * @param HTMLPurifier_Config $config
+ * @return mixed
+ */
+ public function cleanup($config)
+ {
+ return $this->cache->cleanup($config);
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Decorator/Cleanup.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Decorator/Cleanup.php
new file mode 100644
index 000000000..4991777ce
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Decorator/Cleanup.php
@@ -0,0 +1,78 @@
+<?php
+
+/**
+ * Definition cache decorator class that cleans up the cache
+ * whenever there is a cache miss.
+ */
+class HTMLPurifier_DefinitionCache_Decorator_Cleanup extends HTMLPurifier_DefinitionCache_Decorator
+{
+ /**
+ * @type string
+ */
+ public $name = 'Cleanup';
+
+ /**
+ * @return HTMLPurifier_DefinitionCache_Decorator_Cleanup
+ */
+ public function copy()
+ {
+ return new HTMLPurifier_DefinitionCache_Decorator_Cleanup();
+ }
+
+ /**
+ * @param HTMLPurifier_Definition $def
+ * @param HTMLPurifier_Config $config
+ * @return mixed
+ */
+ public function add($def, $config)
+ {
+ $status = parent::add($def, $config);
+ if (!$status) {
+ parent::cleanup($config);
+ }
+ return $status;
+ }
+
+ /**
+ * @param HTMLPurifier_Definition $def
+ * @param HTMLPurifier_Config $config
+ * @return mixed
+ */
+ public function set($def, $config)
+ {
+ $status = parent::set($def, $config);
+ if (!$status) {
+ parent::cleanup($config);
+ }
+ return $status;
+ }
+
+ /**
+ * @param HTMLPurifier_Definition $def
+ * @param HTMLPurifier_Config $config
+ * @return mixed
+ */
+ public function replace($def, $config)
+ {
+ $status = parent::replace($def, $config);
+ if (!$status) {
+ parent::cleanup($config);
+ }
+ return $status;
+ }
+
+ /**
+ * @param HTMLPurifier_Config $config
+ * @return mixed
+ */
+ public function get($config)
+ {
+ $ret = parent::get($config);
+ if (!$ret) {
+ parent::cleanup($config);
+ }
+ return $ret;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Decorator/Memory.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Decorator/Memory.php
new file mode 100644
index 000000000..d529dce48
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Decorator/Memory.php
@@ -0,0 +1,85 @@
+<?php
+
+/**
+ * Definition cache decorator class that saves all cache retrievals
+ * to PHP's memory; good for unit tests or circumstances where
+ * there are lots of configuration objects floating around.
+ */
+class HTMLPurifier_DefinitionCache_Decorator_Memory extends HTMLPurifier_DefinitionCache_Decorator
+{
+ /**
+ * @type array
+ */
+ protected $definitions;
+
+ /**
+ * @type string
+ */
+ public $name = 'Memory';
+
+ /**
+ * @return HTMLPurifier_DefinitionCache_Decorator_Memory
+ */
+ public function copy()
+ {
+ return new HTMLPurifier_DefinitionCache_Decorator_Memory();
+ }
+
+ /**
+ * @param HTMLPurifier_Definition $def
+ * @param HTMLPurifier_Config $config
+ * @return mixed
+ */
+ public function add($def, $config)
+ {
+ $status = parent::add($def, $config);
+ if ($status) {
+ $this->definitions[$this->generateKey($config)] = $def;
+ }
+ return $status;
+ }
+
+ /**
+ * @param HTMLPurifier_Definition $def
+ * @param HTMLPurifier_Config $config
+ * @return mixed
+ */
+ public function set($def, $config)
+ {
+ $status = parent::set($def, $config);
+ if ($status) {
+ $this->definitions[$this->generateKey($config)] = $def;
+ }
+ return $status;
+ }
+
+ /**
+ * @param HTMLPurifier_Definition $def
+ * @param HTMLPurifier_Config $config
+ * @return mixed
+ */
+ public function replace($def, $config)
+ {
+ $status = parent::replace($def, $config);
+ if ($status) {
+ $this->definitions[$this->generateKey($config)] = $def;
+ }
+ return $status;
+ }
+
+ /**
+ * @param HTMLPurifier_Config $config
+ * @return mixed
+ */
+ public function get($config)
+ {
+ $key = $this->generateKey($config);
+ if (isset($this->definitions[$key])) {
+ return $this->definitions[$key];
+ }
+ $this->definitions[$key] = parent::get($config);
+ return $this->definitions[$key];
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Decorator/Template.php.in b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Decorator/Template.php.in
new file mode 100644
index 000000000..b1fec8d36
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Decorator/Template.php.in
@@ -0,0 +1,82 @@
+<?php
+
+require_once 'HTMLPurifier/DefinitionCache/Decorator.php';
+
+/**
+ * Definition cache decorator template.
+ */
+class HTMLPurifier_DefinitionCache_Decorator_Template extends HTMLPurifier_DefinitionCache_Decorator
+{
+
+ /**
+ * @type string
+ */
+ public $name = 'Template'; // replace this
+
+ public function copy()
+ {
+ // replace class name with yours
+ return new HTMLPurifier_DefinitionCache_Decorator_Template();
+ }
+
+ // remove methods you don't need
+
+ /**
+ * @param HTMLPurifier_Definition $def
+ * @param HTMLPurifier_Config $config
+ * @return mixed
+ */
+ public function add($def, $config)
+ {
+ return parent::add($def, $config);
+ }
+
+ /**
+ * @param HTMLPurifier_Definition $def
+ * @param HTMLPurifier_Config $config
+ * @return mixed
+ */
+ public function set($def, $config)
+ {
+ return parent::set($def, $config);
+ }
+
+ /**
+ * @param HTMLPurifier_Definition $def
+ * @param HTMLPurifier_Config $config
+ * @return mixed
+ */
+ public function replace($def, $config)
+ {
+ return parent::replace($def, $config);
+ }
+
+ /**
+ * @param HTMLPurifier_Config $config
+ * @return mixed
+ */
+ public function get($config)
+ {
+ return parent::get($config);
+ }
+
+ /**
+ * @param HTMLPurifier_Config $config
+ * @return mixed
+ */
+ public function flush($config)
+ {
+ return parent::flush($config);
+ }
+
+ /**
+ * @param HTMLPurifier_Config $config
+ * @return mixed
+ */
+ public function cleanup($config)
+ {
+ return parent::cleanup($config);
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Null.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Null.php
new file mode 100644
index 000000000..d9a75ce22
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Null.php
@@ -0,0 +1,76 @@
+<?php
+
+/**
+ * Null cache object to use when no caching is on.
+ */
+class HTMLPurifier_DefinitionCache_Null extends HTMLPurifier_DefinitionCache
+{
+
+ /**
+ * @param HTMLPurifier_Definition $def
+ * @param HTMLPurifier_Config $config
+ * @return bool
+ */
+ public function add($def, $config)
+ {
+ return false;
+ }
+
+ /**
+ * @param HTMLPurifier_Definition $def
+ * @param HTMLPurifier_Config $config
+ * @return bool
+ */
+ public function set($def, $config)
+ {
+ return false;
+ }
+
+ /**
+ * @param HTMLPurifier_Definition $def
+ * @param HTMLPurifier_Config $config
+ * @return bool
+ */
+ public function replace($def, $config)
+ {
+ return false;
+ }
+
+ /**
+ * @param HTMLPurifier_Config $config
+ * @return bool
+ */
+ public function remove($config)
+ {
+ return false;
+ }
+
+ /**
+ * @param HTMLPurifier_Config $config
+ * @return bool
+ */
+ public function get($config)
+ {
+ return false;
+ }
+
+ /**
+ * @param HTMLPurifier_Config $config
+ * @return bool
+ */
+ public function flush($config)
+ {
+ return false;
+ }
+
+ /**
+ * @param HTMLPurifier_Config $config
+ * @return bool
+ */
+ public function cleanup($config)
+ {
+ return false;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Serializer.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Serializer.php
new file mode 100644
index 000000000..952e48d47
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Serializer.php
@@ -0,0 +1,306 @@
+<?php
+
+class HTMLPurifier_DefinitionCache_Serializer extends HTMLPurifier_DefinitionCache
+{
+
+ /**
+ * @param HTMLPurifier_Definition $def
+ * @param HTMLPurifier_Config $config
+ * @return int|bool
+ */
+ public function add($def, $config)
+ {
+ if (!$this->checkDefType($def)) {
+ return;
+ }
+ $file = $this->generateFilePath($config);
+ if (file_exists($file)) {
+ return false;
+ }
+ if (!$this->_prepareDir($config)) {
+ return false;
+ }
+ return $this->_write($file, serialize($def), $config);
+ }
+
+ /**
+ * @param HTMLPurifier_Definition $def
+ * @param HTMLPurifier_Config $config
+ * @return int|bool
+ */
+ public function set($def, $config)
+ {
+ if (!$this->checkDefType($def)) {
+ return;
+ }
+ $file = $this->generateFilePath($config);
+ if (!$this->_prepareDir($config)) {
+ return false;
+ }
+ return $this->_write($file, serialize($def), $config);
+ }
+
+ /**
+ * @param HTMLPurifier_Definition $def
+ * @param HTMLPurifier_Config $config
+ * @return int|bool
+ */
+ public function replace($def, $config)
+ {
+ if (!$this->checkDefType($def)) {
+ return;
+ }
+ $file = $this->generateFilePath($config);
+ if (!file_exists($file)) {
+ return false;
+ }
+ if (!$this->_prepareDir($config)) {
+ return false;
+ }
+ return $this->_write($file, serialize($def), $config);
+ }
+
+ /**
+ * @param HTMLPurifier_Config $config
+ * @return bool|HTMLPurifier_Config
+ */
+ public function get($config)
+ {
+ $file = $this->generateFilePath($config);
+ if (!file_exists($file)) {
+ return false;
+ }
+ return unserialize(file_get_contents($file));
+ }
+
+ /**
+ * @param HTMLPurifier_Config $config
+ * @return bool
+ */
+ public function remove($config)
+ {
+ $file = $this->generateFilePath($config);
+ if (!file_exists($file)) {
+ return false;
+ }
+ return unlink($file);
+ }
+
+ /**
+ * @param HTMLPurifier_Config $config
+ * @return bool
+ */
+ public function flush($config)
+ {
+ if (!$this->_prepareDir($config)) {
+ return false;
+ }
+ $dir = $this->generateDirectoryPath($config);
+ $dh = opendir($dir);
+ // Apparently, on some versions of PHP, readdir will return
+ // an empty string if you pass an invalid argument to readdir.
+ // So you need this test. See #49.
+ if (false === $dh) {
+ return false;
+ }
+ while (false !== ($filename = readdir($dh))) {
+ if (empty($filename)) {
+ continue;
+ }
+ if ($filename[0] === '.') {
+ continue;
+ }
+ unlink($dir . '/' . $filename);
+ }
+ closedir($dh);
+ return true;
+ }
+
+ /**
+ * @param HTMLPurifier_Config $config
+ * @return bool
+ */
+ public function cleanup($config)
+ {
+ if (!$this->_prepareDir($config)) {
+ return false;
+ }
+ $dir = $this->generateDirectoryPath($config);
+ $dh = opendir($dir);
+ // See #49 (and above).
+ if (false === $dh) {
+ return false;
+ }
+ while (false !== ($filename = readdir($dh))) {
+ if (empty($filename)) {
+ continue;
+ }
+ if ($filename[0] === '.') {
+ continue;
+ }
+ $key = substr($filename, 0, strlen($filename) - 4);
+ if ($this->isOld($key, $config)) {
+ unlink($dir . '/' . $filename);
+ }
+ }
+ closedir($dh);
+ return true;
+ }
+
+ /**
+ * Generates the file path to the serial file corresponding to
+ * the configuration and definition name
+ * @param HTMLPurifier_Config $config
+ * @return string
+ * @todo Make protected
+ */
+ public function generateFilePath($config)
+ {
+ $key = $this->generateKey($config);
+ return $this->generateDirectoryPath($config) . '/' . $key . '.ser';
+ }
+
+ /**
+ * Generates the path to the directory contain this cache's serial files
+ * @param HTMLPurifier_Config $config
+ * @return string
+ * @note No trailing slash
+ * @todo Make protected
+ */
+ public function generateDirectoryPath($config)
+ {
+ $base = $this->generateBaseDirectoryPath($config);
+ return $base . '/' . $this->type;
+ }
+
+ /**
+ * Generates path to base directory that contains all definition type
+ * serials
+ * @param HTMLPurifier_Config $config
+ * @return mixed|string
+ * @todo Make protected
+ */
+ public function generateBaseDirectoryPath($config)
+ {
+ $base = $config->get('Cache.SerializerPath');
+ $base = is_null($base) ? HTMLPURIFIER_PREFIX . '/HTMLPurifier/DefinitionCache/Serializer' : $base;
+ return $base;
+ }
+
+ /**
+ * Convenience wrapper function for file_put_contents
+ * @param string $file File name to write to
+ * @param string $data Data to write into file
+ * @param HTMLPurifier_Config $config
+ * @return int|bool Number of bytes written if success, or false if failure.
+ */
+ private function _write($file, $data, $config)
+ {
+ $result = file_put_contents($file, $data);
+ if ($result !== false) {
+ // set permissions of the new file (no execute)
+ $chmod = $config->get('Cache.SerializerPermissions');
+ if ($chmod !== null) {
+ chmod($file, $chmod & 0666);
+ }
+ }
+ return $result;
+ }
+
+ /**
+ * Prepares the directory that this type stores the serials in
+ * @param HTMLPurifier_Config $config
+ * @return bool True if successful
+ */
+ private function _prepareDir($config)
+ {
+ $directory = $this->generateDirectoryPath($config);
+ $chmod = $config->get('Cache.SerializerPermissions');
+ if ($chmod === null) {
+ // TODO: This races
+ if (is_dir($directory)) return true;
+ return mkdir($directory);
+ }
+ if (!is_dir($directory)) {
+ $base = $this->generateBaseDirectoryPath($config);
+ if (!is_dir($base)) {
+ trigger_error(
+ 'Base directory ' . $base . ' does not exist,
+ please create or change using %Cache.SerializerPath',
+ E_USER_WARNING
+ );
+ return false;
+ } elseif (!$this->_testPermissions($base, $chmod)) {
+ return false;
+ }
+ if (!mkdir($directory, $chmod)) {
+ trigger_error(
+ 'Could not create directory ' . $directory . '',
+ E_USER_WARNING
+ );
+ return false;
+ }
+ if (!$this->_testPermissions($directory, $chmod)) {
+ return false;
+ }
+ } elseif (!$this->_testPermissions($directory, $chmod)) {
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * Tests permissions on a directory and throws out friendly
+ * error messages and attempts to chmod it itself if possible
+ * @param string $dir Directory path
+ * @param int $chmod Permissions
+ * @return bool True if directory is writable
+ */
+ private function _testPermissions($dir, $chmod)
+ {
+ // early abort, if it is writable, everything is hunky-dory
+ if (is_writable($dir)) {
+ return true;
+ }
+ if (!is_dir($dir)) {
+ // generally, you'll want to handle this beforehand
+ // so a more specific error message can be given
+ trigger_error(
+ 'Directory ' . $dir . ' does not exist',
+ E_USER_WARNING
+ );
+ return false;
+ }
+ if (function_exists('posix_getuid') && $chmod !== null) {
+ // POSIX system, we can give more specific advice
+ if (fileowner($dir) === posix_getuid()) {
+ // we can chmod it ourselves
+ $chmod = $chmod | 0700;
+ if (chmod($dir, $chmod)) {
+ return true;
+ }
+ } elseif (filegroup($dir) === posix_getgid()) {
+ $chmod = $chmod | 0070;
+ } else {
+ // PHP's probably running as nobody, so we'll
+ // need to give global permissions
+ $chmod = $chmod | 0777;
+ }
+ trigger_error(
+ 'Directory ' . $dir . ' not writable, ' .
+ 'please chmod to ' . decoct($chmod),
+ E_USER_WARNING
+ );
+ } else {
+ // generic error message
+ trigger_error(
+ 'Directory ' . $dir . ' not writable, ' .
+ 'please alter file permissions',
+ E_USER_WARNING
+ );
+ }
+ return false;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Serializer/README b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Serializer/README
new file mode 100755
index 000000000..2e35c1c3d
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Serializer/README
@@ -0,0 +1,3 @@
+This is a dummy file to prevent Git from ignoring this empty directory.
+
+ vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCacheFactory.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCacheFactory.php
new file mode 100644
index 000000000..fd1cc9be4
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCacheFactory.php
@@ -0,0 +1,106 @@
+<?php
+
+/**
+ * Responsible for creating definition caches.
+ */
+class HTMLPurifier_DefinitionCacheFactory
+{
+ /**
+ * @type array
+ */
+ protected $caches = array('Serializer' => array());
+
+ /**
+ * @type array
+ */
+ protected $implementations = array();
+
+ /**
+ * @type HTMLPurifier_DefinitionCache_Decorator[]
+ */
+ protected $decorators = array();
+
+ /**
+ * Initialize default decorators
+ */
+ public function setup()
+ {
+ $this->addDecorator('Cleanup');
+ }
+
+ /**
+ * Retrieves an instance of global definition cache factory.
+ * @param HTMLPurifier_DefinitionCacheFactory $prototype
+ * @return HTMLPurifier_DefinitionCacheFactory
+ */
+ public static function instance($prototype = null)
+ {
+ static $instance;
+ if ($prototype !== null) {
+ $instance = $prototype;
+ } elseif ($instance === null || $prototype === true) {
+ $instance = new HTMLPurifier_DefinitionCacheFactory();
+ $instance->setup();
+ }
+ return $instance;
+ }
+
+ /**
+ * Registers a new definition cache object
+ * @param string $short Short name of cache object, for reference
+ * @param string $long Full class name of cache object, for construction
+ */
+ public function register($short, $long)
+ {
+ $this->implementations[$short] = $long;
+ }
+
+ /**
+ * Factory method that creates a cache object based on configuration
+ * @param string $type Name of definitions handled by cache
+ * @param HTMLPurifier_Config $config Config instance
+ * @return mixed
+ */
+ public function create($type, $config)
+ {
+ $method = $config->get('Cache.DefinitionImpl');
+ if ($method === null) {
+ return new HTMLPurifier_DefinitionCache_Null($type);
+ }
+ if (!empty($this->caches[$method][$type])) {
+ return $this->caches[$method][$type];
+ }
+ if (isset($this->implementations[$method]) &&
+ class_exists($class = $this->implementations[$method], false)) {
+ $cache = new $class($type);
+ } else {
+ if ($method != 'Serializer') {
+ trigger_error("Unrecognized DefinitionCache $method, using Serializer instead", E_USER_WARNING);
+ }
+ $cache = new HTMLPurifier_DefinitionCache_Serializer($type);
+ }
+ foreach ($this->decorators as $decorator) {
+ $new_cache = $decorator->decorate($cache);
+ // prevent infinite recursion in PHP 4
+ unset($cache);
+ $cache = $new_cache;
+ }
+ $this->caches[$method][$type] = $cache;
+ return $this->caches[$method][$type];
+ }
+
+ /**
+ * Registers a decorator to add to all new cache objects
+ * @param HTMLPurifier_DefinitionCache_Decorator|string $decorator An instance or the name of a decorator
+ */
+ public function addDecorator($decorator)
+ {
+ if (is_string($decorator)) {
+ $class = "HTMLPurifier_DefinitionCache_Decorator_$decorator";
+ $decorator = new $class;
+ }
+ $this->decorators[$decorator->name] = $decorator;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Doctype.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Doctype.php
new file mode 100644
index 000000000..4acd06e5b
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Doctype.php
@@ -0,0 +1,73 @@
+<?php
+
+/**
+ * Represents a document type, contains information on which modules
+ * need to be loaded.
+ * @note This class is inspected by Printer_HTMLDefinition->renderDoctype.
+ * If structure changes, please update that function.
+ */
+class HTMLPurifier_Doctype
+{
+ /**
+ * Full name of doctype
+ * @type string
+ */
+ public $name;
+
+ /**
+ * List of standard modules (string identifiers or literal objects)
+ * that this doctype uses
+ * @type array
+ */
+ public $modules = array();
+
+ /**
+ * List of modules to use for tidying up code
+ * @type array
+ */
+ public $tidyModules = array();
+
+ /**
+ * Is the language derived from XML (i.e. XHTML)?
+ * @type bool
+ */
+ public $xml = true;
+
+ /**
+ * List of aliases for this doctype
+ * @type array
+ */
+ public $aliases = array();
+
+ /**
+ * Public DTD identifier
+ * @type string
+ */
+ public $dtdPublic;
+
+ /**
+ * System DTD identifier
+ * @type string
+ */
+ public $dtdSystem;
+
+ public function __construct(
+ $name = null,
+ $xml = true,
+ $modules = array(),
+ $tidyModules = array(),
+ $aliases = array(),
+ $dtd_public = null,
+ $dtd_system = null
+ ) {
+ $this->name = $name;
+ $this->xml = $xml;
+ $this->modules = $modules;
+ $this->tidyModules = $tidyModules;
+ $this->aliases = $aliases;
+ $this->dtdPublic = $dtd_public;
+ $this->dtdSystem = $dtd_system;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/DoctypeRegistry.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/DoctypeRegistry.php
new file mode 100644
index 000000000..acc1d64a6
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/DoctypeRegistry.php
@@ -0,0 +1,142 @@
+<?php
+
+class HTMLPurifier_DoctypeRegistry
+{
+
+ /**
+ * Hash of doctype names to doctype objects.
+ * @type array
+ */
+ protected $doctypes;
+
+ /**
+ * Lookup table of aliases to real doctype names.
+ * @type array
+ */
+ protected $aliases;
+
+ /**
+ * Registers a doctype to the registry
+ * @note Accepts a fully-formed doctype object, or the
+ * parameters for constructing a doctype object
+ * @param string $doctype Name of doctype or literal doctype object
+ * @param bool $xml
+ * @param array $modules Modules doctype will load
+ * @param array $tidy_modules Modules doctype will load for certain modes
+ * @param array $aliases Alias names for doctype
+ * @param string $dtd_public
+ * @param string $dtd_system
+ * @return HTMLPurifier_Doctype Editable registered doctype
+ */
+ public function register(
+ $doctype,
+ $xml = true,
+ $modules = array(),
+ $tidy_modules = array(),
+ $aliases = array(),
+ $dtd_public = null,
+ $dtd_system = null
+ ) {
+ if (!is_array($modules)) {
+ $modules = array($modules);
+ }
+ if (!is_array($tidy_modules)) {
+ $tidy_modules = array($tidy_modules);
+ }
+ if (!is_array($aliases)) {
+ $aliases = array($aliases);
+ }
+ if (!is_object($doctype)) {
+ $doctype = new HTMLPurifier_Doctype(
+ $doctype,
+ $xml,
+ $modules,
+ $tidy_modules,
+ $aliases,
+ $dtd_public,
+ $dtd_system
+ );
+ }
+ $this->doctypes[$doctype->name] = $doctype;
+ $name = $doctype->name;
+ // hookup aliases
+ foreach ($doctype->aliases as $alias) {
+ if (isset($this->doctypes[$alias])) {
+ continue;
+ }
+ $this->aliases[$alias] = $name;
+ }
+ // remove old aliases
+ if (isset($this->aliases[$name])) {
+ unset($this->aliases[$name]);
+ }
+ return $doctype;
+ }
+
+ /**
+ * Retrieves reference to a doctype of a certain name
+ * @note This function resolves aliases
+ * @note When possible, use the more fully-featured make()
+ * @param string $doctype Name of doctype
+ * @return HTMLPurifier_Doctype Editable doctype object
+ */
+ public function get($doctype)
+ {
+ if (isset($this->aliases[$doctype])) {
+ $doctype = $this->aliases[$doctype];
+ }
+ if (!isset($this->doctypes[$doctype])) {
+ trigger_error('Doctype ' . htmlspecialchars($doctype) . ' does not exist', E_USER_ERROR);
+ $anon = new HTMLPurifier_Doctype($doctype);
+ return $anon;
+ }
+ return $this->doctypes[$doctype];
+ }
+
+ /**
+ * Creates a doctype based on a configuration object,
+ * will perform initialization on the doctype
+ * @note Use this function to get a copy of doctype that config
+ * can hold on to (this is necessary in order to tell
+ * Generator whether or not the current document is XML
+ * based or not).
+ * @param HTMLPurifier_Config $config
+ * @return HTMLPurifier_Doctype
+ */
+ public function make($config)
+ {
+ return clone $this->get($this->getDoctypeFromConfig($config));
+ }
+
+ /**
+ * Retrieves the doctype from the configuration object
+ * @param HTMLPurifier_Config $config
+ * @return string
+ */
+ public function getDoctypeFromConfig($config)
+ {
+ // recommended test
+ $doctype = $config->get('HTML.Doctype');
+ if (!empty($doctype)) {
+ return $doctype;
+ }
+ $doctype = $config->get('HTML.CustomDoctype');
+ if (!empty($doctype)) {
+ return $doctype;
+ }
+ // backwards-compatibility
+ if ($config->get('HTML.XHTML')) {
+ $doctype = 'XHTML 1.0';
+ } else {
+ $doctype = 'HTML 4.01';
+ }
+ if ($config->get('HTML.Strict')) {
+ $doctype .= ' Strict';
+ } else {
+ $doctype .= ' Transitional';
+ }
+ return $doctype;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ElementDef.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ElementDef.php
new file mode 100644
index 000000000..d5311cedc
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ElementDef.php
@@ -0,0 +1,216 @@
+<?php
+
+/**
+ * Structure that stores an HTML element definition. Used by
+ * HTMLPurifier_HTMLDefinition and HTMLPurifier_HTMLModule.
+ * @note This class is inspected by HTMLPurifier_Printer_HTMLDefinition.
+ * Please update that class too.
+ * @warning If you add new properties to this class, you MUST update
+ * the mergeIn() method.
+ */
+class HTMLPurifier_ElementDef
+{
+ /**
+ * Does the definition work by itself, or is it created solely
+ * for the purpose of merging into another definition?
+ * @type bool
+ */
+ public $standalone = true;
+
+ /**
+ * Associative array of attribute name to HTMLPurifier_AttrDef.
+ * @type array
+ * @note Before being processed by HTMLPurifier_AttrCollections
+ * when modules are finalized during
+ * HTMLPurifier_HTMLDefinition->setup(), this array may also
+ * contain an array at index 0 that indicates which attribute
+ * collections to load into the full array. It may also
+ * contain string indentifiers in lieu of HTMLPurifier_AttrDef,
+ * see HTMLPurifier_AttrTypes on how they are expanded during
+ * HTMLPurifier_HTMLDefinition->setup() processing.
+ */
+ public $attr = array();
+
+ // XXX: Design note: currently, it's not possible to override
+ // previously defined AttrTransforms without messing around with
+ // the final generated config. This is by design; a previous version
+ // used an associated list of attr_transform, but it was extremely
+ // easy to accidentally override other attribute transforms by
+ // forgetting to specify an index (and just using 0.) While we
+ // could check this by checking the index number and complaining,
+ // there is a second problem which is that it is not at all easy to
+ // tell when something is getting overridden. Combine this with a
+ // codebase where this isn't really being used, and it's perfect for
+ // nuking.
+
+ /**
+ * List of tags HTMLPurifier_AttrTransform to be done before validation.
+ * @type array
+ */
+ public $attr_transform_pre = array();
+
+ /**
+ * List of tags HTMLPurifier_AttrTransform to be done after validation.
+ * @type array
+ */
+ public $attr_transform_post = array();
+
+ /**
+ * HTMLPurifier_ChildDef of this tag.
+ * @type HTMLPurifier_ChildDef
+ */
+ public $child;
+
+ /**
+ * Abstract string representation of internal ChildDef rules.
+ * @see HTMLPurifier_ContentSets for how this is parsed and then transformed
+ * into an HTMLPurifier_ChildDef.
+ * @warning This is a temporary variable that is not available after
+ * being processed by HTMLDefinition
+ * @type string
+ */
+ public $content_model;
+
+ /**
+ * Value of $child->type, used to determine which ChildDef to use,
+ * used in combination with $content_model.
+ * @warning This must be lowercase
+ * @warning This is a temporary variable that is not available after
+ * being processed by HTMLDefinition
+ * @type string
+ */
+ public $content_model_type;
+
+ /**
+ * Does the element have a content model (#PCDATA | Inline)*? This
+ * is important for chameleon ins and del processing in
+ * HTMLPurifier_ChildDef_Chameleon. Dynamically set: modules don't
+ * have to worry about this one.
+ * @type bool
+ */
+ public $descendants_are_inline = false;
+
+ /**
+ * List of the names of required attributes this element has.
+ * Dynamically populated by HTMLPurifier_HTMLDefinition::getElement()
+ * @type array
+ */
+ public $required_attr = array();
+
+ /**
+ * Lookup table of tags excluded from all descendants of this tag.
+ * @type array
+ * @note SGML permits exclusions for all descendants, but this is
+ * not possible with DTDs or XML Schemas. W3C has elected to
+ * use complicated compositions of content_models to simulate
+ * exclusion for children, but we go the simpler, SGML-style
+ * route of flat-out exclusions, which correctly apply to
+ * all descendants and not just children. Note that the XHTML
+ * Modularization Abstract Modules are blithely unaware of such
+ * distinctions.
+ */
+ public $excludes = array();
+
+ /**
+ * This tag is explicitly auto-closed by the following tags.
+ * @type array
+ */
+ public $autoclose = array();
+
+ /**
+ * If a foreign element is found in this element, test if it is
+ * allowed by this sub-element; if it is, instead of closing the
+ * current element, place it inside this element.
+ * @type string
+ */
+ public $wrap;
+
+ /**
+ * Whether or not this is a formatting element affected by the
+ * "Active Formatting Elements" algorithm.
+ * @type bool
+ */
+ public $formatting;
+
+ /**
+ * Low-level factory constructor for creating new standalone element defs
+ */
+ public static function create($content_model, $content_model_type, $attr)
+ {
+ $def = new HTMLPurifier_ElementDef();
+ $def->content_model = $content_model;
+ $def->content_model_type = $content_model_type;
+ $def->attr = $attr;
+ return $def;
+ }
+
+ /**
+ * Merges the values of another element definition into this one.
+ * Values from the new element def take precedence if a value is
+ * not mergeable.
+ * @param HTMLPurifier_ElementDef $def
+ */
+ public function mergeIn($def)
+ {
+ // later keys takes precedence
+ foreach ($def->attr as $k => $v) {
+ if ($k === 0) {
+ // merge in the includes
+ // sorry, no way to override an include
+ foreach ($v as $v2) {
+ $this->attr[0][] = $v2;
+ }
+ continue;
+ }
+ if ($v === false) {
+ if (isset($this->attr[$k])) {
+ unset($this->attr[$k]);
+ }
+ continue;
+ }
+ $this->attr[$k] = $v;
+ }
+ $this->_mergeAssocArray($this->excludes, $def->excludes);
+ $this->attr_transform_pre = array_merge($this->attr_transform_pre, $def->attr_transform_pre);
+ $this->attr_transform_post = array_merge($this->attr_transform_post, $def->attr_transform_post);
+
+ if (!empty($def->content_model)) {
+ $this->content_model =
+ str_replace("#SUPER", $this->content_model, $def->content_model);
+ $this->child = false;
+ }
+ if (!empty($def->content_model_type)) {
+ $this->content_model_type = $def->content_model_type;
+ $this->child = false;
+ }
+ if (!is_null($def->child)) {
+ $this->child = $def->child;
+ }
+ if (!is_null($def->formatting)) {
+ $this->formatting = $def->formatting;
+ }
+ if ($def->descendants_are_inline) {
+ $this->descendants_are_inline = $def->descendants_are_inline;
+ }
+ }
+
+ /**
+ * Merges one array into another, removes values which equal false
+ * @param $a1 Array by reference that is merged into
+ * @param $a2 Array that merges into $a1
+ */
+ private function _mergeAssocArray(&$a1, $a2)
+ {
+ foreach ($a2 as $k => $v) {
+ if ($v === false) {
+ if (isset($a1[$k])) {
+ unset($a1[$k]);
+ }
+ continue;
+ }
+ $a1[$k] = $v;
+ }
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Encoder.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Encoder.php
new file mode 100644
index 000000000..b94f17542
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Encoder.php
@@ -0,0 +1,617 @@
+<?php
+
+/**
+ * A UTF-8 specific character encoder that handles cleaning and transforming.
+ * @note All functions in this class should be static.
+ */
+class HTMLPurifier_Encoder
+{
+
+ /**
+ * Constructor throws fatal error if you attempt to instantiate class
+ */
+ private function __construct()
+ {
+ trigger_error('Cannot instantiate encoder, call methods statically', E_USER_ERROR);
+ }
+
+ /**
+ * Error-handler that mutes errors, alternative to shut-up operator.
+ */
+ public static function muteErrorHandler()
+ {
+ }
+
+ /**
+ * iconv wrapper which mutes errors, but doesn't work around bugs.
+ * @param string $in Input encoding
+ * @param string $out Output encoding
+ * @param string $text The text to convert
+ * @return string
+ */
+ public static function unsafeIconv($in, $out, $text)
+ {
+ set_error_handler(array('HTMLPurifier_Encoder', 'muteErrorHandler'));
+ $r = iconv($in, $out, $text);
+ restore_error_handler();
+ return $r;
+ }
+
+ /**
+ * iconv wrapper which mutes errors and works around bugs.
+ * @param string $in Input encoding
+ * @param string $out Output encoding
+ * @param string $text The text to convert
+ * @param int $max_chunk_size
+ * @return string
+ */
+ public static function iconv($in, $out, $text, $max_chunk_size = 8000)
+ {
+ $code = self::testIconvTruncateBug();
+ if ($code == self::ICONV_OK) {
+ return self::unsafeIconv($in, $out, $text);
+ } elseif ($code == self::ICONV_TRUNCATES) {
+ // we can only work around this if the input character set
+ // is utf-8
+ if ($in == 'utf-8') {
+ if ($max_chunk_size < 4) {
+ trigger_error('max_chunk_size is too small', E_USER_WARNING);
+ return false;
+ }
+ // split into 8000 byte chunks, but be careful to handle
+ // multibyte boundaries properly
+ if (($c = strlen($text)) <= $max_chunk_size) {
+ return self::unsafeIconv($in, $out, $text);
+ }
+ $r = '';
+ $i = 0;
+ while (true) {
+ if ($i + $max_chunk_size >= $c) {
+ $r .= self::unsafeIconv($in, $out, substr($text, $i));
+ break;
+ }
+ // wibble the boundary
+ if (0x80 != (0xC0 & ord($text[$i + $max_chunk_size]))) {
+ $chunk_size = $max_chunk_size;
+ } elseif (0x80 != (0xC0 & ord($text[$i + $max_chunk_size - 1]))) {
+ $chunk_size = $max_chunk_size - 1;
+ } elseif (0x80 != (0xC0 & ord($text[$i + $max_chunk_size - 2]))) {
+ $chunk_size = $max_chunk_size - 2;
+ } elseif (0x80 != (0xC0 & ord($text[$i + $max_chunk_size - 3]))) {
+ $chunk_size = $max_chunk_size - 3;
+ } else {
+ return false; // rather confusing UTF-8...
+ }
+ $chunk = substr($text, $i, $chunk_size); // substr doesn't mind overlong lengths
+ $r .= self::unsafeIconv($in, $out, $chunk);
+ $i += $chunk_size;
+ }
+ return $r;
+ } else {
+ return false;
+ }
+ } else {
+ return false;
+ }
+ }
+
+ /**
+ * Cleans a UTF-8 string for well-formedness and SGML validity
+ *
+ * It will parse according to UTF-8 and return a valid UTF8 string, with
+ * non-SGML codepoints excluded.
+ *
+ * Specifically, it will permit:
+ * \x{9}\x{A}\x{D}\x{20}-\x{7E}\x{A0}-\x{D7FF}\x{E000}-\x{FFFD}\x{10000}-\x{10FFFF}
+ * Source: https://www.w3.org/TR/REC-xml/#NT-Char
+ * Arguably this function should be modernized to the HTML5 set
+ * of allowed characters:
+ * https://www.w3.org/TR/html5/syntax.html#preprocessing-the-input-stream
+ * which simultaneously expand and restrict the set of allowed characters.
+ *
+ * @param string $str The string to clean
+ * @param bool $force_php
+ * @return string
+ *
+ * @note Just for reference, the non-SGML code points are 0 to 31 and
+ * 127 to 159, inclusive. However, we allow code points 9, 10
+ * and 13, which are the tab, line feed and carriage return
+ * respectively. 128 and above the code points map to multibyte
+ * UTF-8 representations.
+ *
+ * @note Fallback code adapted from utf8ToUnicode by Henri Sivonen and
+ * hsivonen@iki.fi at <http://iki.fi/hsivonen/php-utf8/> under the
+ * LGPL license. Notes on what changed are inside, but in general,
+ * the original code transformed UTF-8 text into an array of integer
+ * Unicode codepoints. Understandably, transforming that back to
+ * a string would be somewhat expensive, so the function was modded to
+ * directly operate on the string. However, this discourages code
+ * reuse, and the logic enumerated here would be useful for any
+ * function that needs to be able to understand UTF-8 characters.
+ * As of right now, only smart lossless character encoding converters
+ * would need that, and I'm probably not going to implement them.
+ */
+ public static function cleanUTF8($str, $force_php = false)
+ {
+ // UTF-8 validity is checked since PHP 4.3.5
+ // This is an optimization: if the string is already valid UTF-8, no
+ // need to do PHP stuff. 99% of the time, this will be the case.
+ if (preg_match(
+ '/^[\x{9}\x{A}\x{D}\x{20}-\x{7E}\x{A0}-\x{D7FF}\x{E000}-\x{FFFD}\x{10000}-\x{10FFFF}]*$/Du',
+ $str
+ )) {
+ return $str;
+ }
+
+ $mState = 0; // cached expected number of octets after the current octet
+ // until the beginning of the next UTF8 character sequence
+ $mUcs4 = 0; // cached Unicode character
+ $mBytes = 1; // cached expected number of octets in the current sequence
+
+ // original code involved an $out that was an array of Unicode
+ // codepoints. Instead of having to convert back into UTF-8, we've
+ // decided to directly append valid UTF-8 characters onto a string
+ // $out once they're done. $char accumulates raw bytes, while $mUcs4
+ // turns into the Unicode code point, so there's some redundancy.
+
+ $out = '';
+ $char = '';
+
+ $len = strlen($str);
+ for ($i = 0; $i < $len; $i++) {
+ $in = ord($str{$i});
+ $char .= $str[$i]; // append byte to char
+ if (0 == $mState) {
+ // When mState is zero we expect either a US-ASCII character
+ // or a multi-octet sequence.
+ if (0 == (0x80 & ($in))) {
+ // US-ASCII, pass straight through.
+ if (($in <= 31 || $in == 127) &&
+ !($in == 9 || $in == 13 || $in == 10) // save \r\t\n
+ ) {
+ // control characters, remove
+ } else {
+ $out .= $char;
+ }
+ // reset
+ $char = '';
+ $mBytes = 1;
+ } elseif (0xC0 == (0xE0 & ($in))) {
+ // First octet of 2 octet sequence
+ $mUcs4 = ($in);
+ $mUcs4 = ($mUcs4 & 0x1F) << 6;
+ $mState = 1;
+ $mBytes = 2;
+ } elseif (0xE0 == (0xF0 & ($in))) {
+ // First octet of 3 octet sequence
+ $mUcs4 = ($in);
+ $mUcs4 = ($mUcs4 & 0x0F) << 12;
+ $mState = 2;
+ $mBytes = 3;
+ } elseif (0xF0 == (0xF8 & ($in))) {
+ // First octet of 4 octet sequence
+ $mUcs4 = ($in);
+ $mUcs4 = ($mUcs4 & 0x07) << 18;
+ $mState = 3;
+ $mBytes = 4;
+ } elseif (0xF8 == (0xFC & ($in))) {
+ // First octet of 5 octet sequence.
+ //
+ // This is illegal because the encoded codepoint must be
+ // either:
+ // (a) not the shortest form or
+ // (b) outside the Unicode range of 0-0x10FFFF.
+ // Rather than trying to resynchronize, we will carry on
+ // until the end of the sequence and let the later error
+ // handling code catch it.
+ $mUcs4 = ($in);
+ $mUcs4 = ($mUcs4 & 0x03) << 24;
+ $mState = 4;
+ $mBytes = 5;
+ } elseif (0xFC == (0xFE & ($in))) {
+ // First octet of 6 octet sequence, see comments for 5
+ // octet sequence.
+ $mUcs4 = ($in);
+ $mUcs4 = ($mUcs4 & 1) << 30;
+ $mState = 5;
+ $mBytes = 6;
+ } else {
+ // Current octet is neither in the US-ASCII range nor a
+ // legal first octet of a multi-octet sequence.
+ $mState = 0;
+ $mUcs4 = 0;
+ $mBytes = 1;
+ $char = '';
+ }
+ } else {
+ // When mState is non-zero, we expect a continuation of the
+ // multi-octet sequence
+ if (0x80 == (0xC0 & ($in))) {
+ // Legal continuation.
+ $shift = ($mState - 1) * 6;
+ $tmp = $in;
+ $tmp = ($tmp & 0x0000003F) << $shift;
+ $mUcs4 |= $tmp;
+
+ if (0 == --$mState) {
+ // End of the multi-octet sequence. mUcs4 now contains
+ // the final Unicode codepoint to be output
+
+ // Check for illegal sequences and codepoints.
+
+ // From Unicode 3.1, non-shortest form is illegal
+ if (((2 == $mBytes) && ($mUcs4 < 0x0080)) ||
+ ((3 == $mBytes) && ($mUcs4 < 0x0800)) ||
+ ((4 == $mBytes) && ($mUcs4 < 0x10000)) ||
+ (4 < $mBytes) ||
+ // From Unicode 3.2, surrogate characters = illegal
+ (($mUcs4 & 0xFFFFF800) == 0xD800) ||
+ // Codepoints outside the Unicode range are illegal
+ ($mUcs4 > 0x10FFFF)
+ ) {
+
+ } elseif (0xFEFF != $mUcs4 && // omit BOM
+ // check for valid Char unicode codepoints
+ (
+ 0x9 == $mUcs4 ||
+ 0xA == $mUcs4 ||
+ 0xD == $mUcs4 ||
+ (0x20 <= $mUcs4 && 0x7E >= $mUcs4) ||
+ // 7F-9F is not strictly prohibited by XML,
+ // but it is non-SGML, and thus we don't allow it
+ (0xA0 <= $mUcs4 && 0xD7FF >= $mUcs4) ||
+ (0xE000 <= $mUcs4 && 0xFFFD >= $mUcs4) ||
+ (0x10000 <= $mUcs4 && 0x10FFFF >= $mUcs4)
+ )
+ ) {
+ $out .= $char;
+ }
+ // initialize UTF8 cache (reset)
+ $mState = 0;
+ $mUcs4 = 0;
+ $mBytes = 1;
+ $char = '';
+ }
+ } else {
+ // ((0xC0 & (*in) != 0x80) && (mState != 0))
+ // Incomplete multi-octet sequence.
+ // used to result in complete fail, but we'll reset
+ $mState = 0;
+ $mUcs4 = 0;
+ $mBytes = 1;
+ $char ='';
+ }
+ }
+ }
+ return $out;
+ }
+
+ /**
+ * Translates a Unicode codepoint into its corresponding UTF-8 character.
+ * @note Based on Feyd's function at
+ * <http://forums.devnetwork.net/viewtopic.php?p=191404#191404>,
+ * which is in public domain.
+ * @note While we're going to do code point parsing anyway, a good
+ * optimization would be to refuse to translate code points that
+ * are non-SGML characters. However, this could lead to duplication.
+ * @note This is very similar to the unichr function in
+ * maintenance/generate-entity-file.php (although this is superior,
+ * due to its sanity checks).
+ */
+
+ // +----------+----------+----------+----------+
+ // | 33222222 | 22221111 | 111111 | |
+ // | 10987654 | 32109876 | 54321098 | 76543210 | bit
+ // +----------+----------+----------+----------+
+ // | | | | 0xxxxxxx | 1 byte 0x00000000..0x0000007F
+ // | | | 110yyyyy | 10xxxxxx | 2 byte 0x00000080..0x000007FF
+ // | | 1110zzzz | 10yyyyyy | 10xxxxxx | 3 byte 0x00000800..0x0000FFFF
+ // | 11110www | 10wwzzzz | 10yyyyyy | 10xxxxxx | 4 byte 0x00010000..0x0010FFFF
+ // +----------+----------+----------+----------+
+ // | 00000000 | 00011111 | 11111111 | 11111111 | Theoretical upper limit of legal scalars: 2097151 (0x001FFFFF)
+ // | 00000000 | 00010000 | 11111111 | 11111111 | Defined upper limit of legal scalar codes
+ // +----------+----------+----------+----------+
+
+ public static function unichr($code)
+ {
+ if ($code > 1114111 or $code < 0 or
+ ($code >= 55296 and $code <= 57343) ) {
+ // bits are set outside the "valid" range as defined
+ // by UNICODE 4.1.0
+ return '';
+ }
+
+ $x = $y = $z = $w = 0;
+ if ($code < 128) {
+ // regular ASCII character
+ $x = $code;
+ } else {
+ // set up bits for UTF-8
+ $x = ($code & 63) | 128;
+ if ($code < 2048) {
+ $y = (($code & 2047) >> 6) | 192;
+ } else {
+ $y = (($code & 4032) >> 6) | 128;
+ if ($code < 65536) {
+ $z = (($code >> 12) & 15) | 224;
+ } else {
+ $z = (($code >> 12) & 63) | 128;
+ $w = (($code >> 18) & 7) | 240;
+ }
+ }
+ }
+ // set up the actual character
+ $ret = '';
+ if ($w) {
+ $ret .= chr($w);
+ }
+ if ($z) {
+ $ret .= chr($z);
+ }
+ if ($y) {
+ $ret .= chr($y);
+ }
+ $ret .= chr($x);
+
+ return $ret;
+ }
+
+ /**
+ * @return bool
+ */
+ public static function iconvAvailable()
+ {
+ static $iconv = null;
+ if ($iconv === null) {
+ $iconv = function_exists('iconv') && self::testIconvTruncateBug() != self::ICONV_UNUSABLE;
+ }
+ return $iconv;
+ }
+
+ /**
+ * Convert a string to UTF-8 based on configuration.
+ * @param string $str The string to convert
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return string
+ */
+ public static function convertToUTF8($str, $config, $context)
+ {
+ $encoding = $config->get('Core.Encoding');
+ if ($encoding === 'utf-8') {
+ return $str;
+ }
+ static $iconv = null;
+ if ($iconv === null) {
+ $iconv = self::iconvAvailable();
+ }
+ if ($iconv && !$config->get('Test.ForceNoIconv')) {
+ // unaffected by bugs, since UTF-8 support all characters
+ $str = self::unsafeIconv($encoding, 'utf-8//IGNORE', $str);
+ if ($str === false) {
+ // $encoding is not a valid encoding
+ trigger_error('Invalid encoding ' . $encoding, E_USER_ERROR);
+ return '';
+ }
+ // If the string is bjorked by Shift_JIS or a similar encoding
+ // that doesn't support all of ASCII, convert the naughty
+ // characters to their true byte-wise ASCII/UTF-8 equivalents.
+ $str = strtr($str, self::testEncodingSupportsASCII($encoding));
+ return $str;
+ } elseif ($encoding === 'iso-8859-1') {
+ $str = utf8_encode($str);
+ return $str;
+ }
+ $bug = HTMLPurifier_Encoder::testIconvTruncateBug();
+ if ($bug == self::ICONV_OK) {
+ trigger_error('Encoding not supported, please install iconv', E_USER_ERROR);
+ } else {
+ trigger_error(
+ 'You have a buggy version of iconv, see https://bugs.php.net/bug.php?id=48147 ' .
+ 'and http://sourceware.org/bugzilla/show_bug.cgi?id=13541',
+ E_USER_ERROR
+ );
+ }
+ }
+
+ /**
+ * Converts a string from UTF-8 based on configuration.
+ * @param string $str The string to convert
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return string
+ * @note Currently, this is a lossy conversion, with unexpressable
+ * characters being omitted.
+ */
+ public static function convertFromUTF8($str, $config, $context)
+ {
+ $encoding = $config->get('Core.Encoding');
+ if ($escape = $config->get('Core.EscapeNonASCIICharacters')) {
+ $str = self::convertToASCIIDumbLossless($str);
+ }
+ if ($encoding === 'utf-8') {
+ return $str;
+ }
+ static $iconv = null;
+ if ($iconv === null) {
+ $iconv = self::iconvAvailable();
+ }
+ if ($iconv && !$config->get('Test.ForceNoIconv')) {
+ // Undo our previous fix in convertToUTF8, otherwise iconv will barf
+ $ascii_fix = self::testEncodingSupportsASCII($encoding);
+ if (!$escape && !empty($ascii_fix)) {
+ $clear_fix = array();
+ foreach ($ascii_fix as $utf8 => $native) {
+ $clear_fix[$utf8] = '';
+ }
+ $str = strtr($str, $clear_fix);
+ }
+ $str = strtr($str, array_flip($ascii_fix));
+ // Normal stuff
+ $str = self::iconv('utf-8', $encoding . '//IGNORE', $str);
+ return $str;
+ } elseif ($encoding === 'iso-8859-1') {
+ $str = utf8_decode($str);
+ return $str;
+ }
+ trigger_error('Encoding not supported', E_USER_ERROR);
+ // You might be tempted to assume that the ASCII representation
+ // might be OK, however, this is *not* universally true over all
+ // encodings. So we take the conservative route here, rather
+ // than forcibly turn on %Core.EscapeNonASCIICharacters
+ }
+
+ /**
+ * Lossless (character-wise) conversion of HTML to ASCII
+ * @param string $str UTF-8 string to be converted to ASCII
+ * @return string ASCII encoded string with non-ASCII character entity-ized
+ * @warning Adapted from MediaWiki, claiming fair use: this is a common
+ * algorithm. If you disagree with this license fudgery,
+ * implement it yourself.
+ * @note Uses decimal numeric entities since they are best supported.
+ * @note This is a DUMB function: it has no concept of keeping
+ * character entities that the projected character encoding
+ * can allow. We could possibly implement a smart version
+ * but that would require it to also know which Unicode
+ * codepoints the charset supported (not an easy task).
+ * @note Sort of with cleanUTF8() but it assumes that $str is
+ * well-formed UTF-8
+ */
+ public static function convertToASCIIDumbLossless($str)
+ {
+ $bytesleft = 0;
+ $result = '';
+ $working = 0;
+ $len = strlen($str);
+ for ($i = 0; $i < $len; $i++) {
+ $bytevalue = ord($str[$i]);
+ if ($bytevalue <= 0x7F) { //0xxx xxxx
+ $result .= chr($bytevalue);
+ $bytesleft = 0;
+ } elseif ($bytevalue <= 0xBF) { //10xx xxxx
+ $working = $working << 6;
+ $working += ($bytevalue & 0x3F);
+ $bytesleft--;
+ if ($bytesleft <= 0) {
+ $result .= "&#" . $working . ";";
+ }
+ } elseif ($bytevalue <= 0xDF) { //110x xxxx
+ $working = $bytevalue & 0x1F;
+ $bytesleft = 1;
+ } elseif ($bytevalue <= 0xEF) { //1110 xxxx
+ $working = $bytevalue & 0x0F;
+ $bytesleft = 2;
+ } else { //1111 0xxx
+ $working = $bytevalue & 0x07;
+ $bytesleft = 3;
+ }
+ }
+ return $result;
+ }
+
+ /** No bugs detected in iconv. */
+ const ICONV_OK = 0;
+
+ /** Iconv truncates output if converting from UTF-8 to another
+ * character set with //IGNORE, and a non-encodable character is found */
+ const ICONV_TRUNCATES = 1;
+
+ /** Iconv does not support //IGNORE, making it unusable for
+ * transcoding purposes */
+ const ICONV_UNUSABLE = 2;
+
+ /**
+ * glibc iconv has a known bug where it doesn't handle the magic
+ * //IGNORE stanza correctly. In particular, rather than ignore
+ * characters, it will return an EILSEQ after consuming some number
+ * of characters, and expect you to restart iconv as if it were
+ * an E2BIG. Old versions of PHP did not respect the errno, and
+ * returned the fragment, so as a result you would see iconv
+ * mysteriously truncating output. We can work around this by
+ * manually chopping our input into segments of about 8000
+ * characters, as long as PHP ignores the error code. If PHP starts
+ * paying attention to the error code, iconv becomes unusable.
+ *
+ * @return int Error code indicating severity of bug.
+ */
+ public static function testIconvTruncateBug()
+ {
+ static $code = null;
+ if ($code === null) {
+ // better not use iconv, otherwise infinite loop!
+ $r = self::unsafeIconv('utf-8', 'ascii//IGNORE', "\xCE\xB1" . str_repeat('a', 9000));
+ if ($r === false) {
+ $code = self::ICONV_UNUSABLE;
+ } elseif (($c = strlen($r)) < 9000) {
+ $code = self::ICONV_TRUNCATES;
+ } elseif ($c > 9000) {
+ trigger_error(
+ 'Your copy of iconv is extremely buggy. Please notify HTML Purifier maintainers: ' .
+ 'include your iconv version as per phpversion()',
+ E_USER_ERROR
+ );
+ } else {
+ $code = self::ICONV_OK;
+ }
+ }
+ return $code;
+ }
+
+ /**
+ * This expensive function tests whether or not a given character
+ * encoding supports ASCII. 7/8-bit encodings like Shift_JIS will
+ * fail this test, and require special processing. Variable width
+ * encodings shouldn't ever fail.
+ *
+ * @param string $encoding Encoding name to test, as per iconv format
+ * @param bool $bypass Whether or not to bypass the precompiled arrays.
+ * @return Array of UTF-8 characters to their corresponding ASCII,
+ * which can be used to "undo" any overzealous iconv action.
+ */
+ public static function testEncodingSupportsASCII($encoding, $bypass = false)
+ {
+ // All calls to iconv here are unsafe, proof by case analysis:
+ // If ICONV_OK, no difference.
+ // If ICONV_TRUNCATE, all calls involve one character inputs,
+ // so bug is not triggered.
+ // If ICONV_UNUSABLE, this call is irrelevant
+ static $encodings = array();
+ if (!$bypass) {
+ if (isset($encodings[$encoding])) {
+ return $encodings[$encoding];
+ }
+ $lenc = strtolower($encoding);
+ switch ($lenc) {
+ case 'shift_jis':
+ return array("\xC2\xA5" => '\\', "\xE2\x80\xBE" => '~');
+ case 'johab':
+ return array("\xE2\x82\xA9" => '\\');
+ }
+ if (strpos($lenc, 'iso-8859-') === 0) {
+ return array();
+ }
+ }
+ $ret = array();
+ if (self::unsafeIconv('UTF-8', $encoding, 'a') === false) {
+ return false;
+ }
+ for ($i = 0x20; $i <= 0x7E; $i++) { // all printable ASCII chars
+ $c = chr($i); // UTF-8 char
+ $r = self::unsafeIconv('UTF-8', "$encoding//IGNORE", $c); // initial conversion
+ if ($r === '' ||
+ // This line is needed for iconv implementations that do not
+ // omit characters that do not exist in the target character set
+ ($r === $c && self::unsafeIconv($encoding, 'UTF-8//IGNORE', $r) !== $c)
+ ) {
+ // Reverse engineer: what's the UTF-8 equiv of this byte
+ // sequence? This assumes that there's no variable width
+ // encoding that doesn't support ASCII.
+ $ret[self::unsafeIconv($encoding, 'UTF-8//IGNORE', $c)] = $c;
+ }
+ }
+ $encodings[$encoding] = $ret;
+ return $ret;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/EntityLookup.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/EntityLookup.php
new file mode 100644
index 000000000..f12ff13a3
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/EntityLookup.php
@@ -0,0 +1,48 @@
+<?php
+
+/**
+ * Object that provides entity lookup table from entity name to character
+ */
+class HTMLPurifier_EntityLookup
+{
+ /**
+ * Assoc array of entity name to character represented.
+ * @type array
+ */
+ public $table;
+
+ /**
+ * Sets up the entity lookup table from the serialized file contents.
+ * @param bool $file
+ * @note The serialized contents are versioned, but were generated
+ * using the maintenance script generate_entity_file.php
+ * @warning This is not in constructor to help enforce the Singleton
+ */
+ public function setup($file = false)
+ {
+ if (!$file) {
+ $file = HTMLPURIFIER_PREFIX . '/HTMLPurifier/EntityLookup/entities.ser';
+ }
+ $this->table = unserialize(file_get_contents($file));
+ }
+
+ /**
+ * Retrieves sole instance of the object.
+ * @param bool|HTMLPurifier_EntityLookup $prototype Optional prototype of custom lookup table to overload with.
+ * @return HTMLPurifier_EntityLookup
+ */
+ public static function instance($prototype = false)
+ {
+ // no references, since PHP doesn't copy unless modified
+ static $instance = null;
+ if ($prototype) {
+ $instance = $prototype;
+ } elseif (!$instance) {
+ $instance = new HTMLPurifier_EntityLookup();
+ $instance->setup();
+ }
+ return $instance;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/EntityLookup/entities.ser b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/EntityLookup/entities.ser
new file mode 100644
index 000000000..e8b08128b
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/EntityLookup/entities.ser
@@ -0,0 +1 @@
+a:253:{s:4:"fnof";s:2:"ƒ";s:5:"Alpha";s:2:"Α";s:4:"Beta";s:2:"Β";s:5:"Gamma";s:2:"Γ";s:5:"Delta";s:2:"Δ";s:7:"Epsilon";s:2:"Ε";s:4:"Zeta";s:2:"Ζ";s:3:"Eta";s:2:"Η";s:5:"Theta";s:2:"Θ";s:4:"Iota";s:2:"Ι";s:5:"Kappa";s:2:"Κ";s:6:"Lambda";s:2:"Λ";s:2:"Mu";s:2:"Μ";s:2:"Nu";s:2:"Ν";s:2:"Xi";s:2:"Ξ";s:7:"Omicron";s:2:"Ο";s:2:"Pi";s:2:"Π";s:3:"Rho";s:2:"Ρ";s:5:"Sigma";s:2:"Σ";s:3:"Tau";s:2:"Τ";s:7:"Upsilon";s:2:"Υ";s:3:"Phi";s:2:"Φ";s:3:"Chi";s:2:"Χ";s:3:"Psi";s:2:"Ψ";s:5:"Omega";s:2:"Ω";s:5:"alpha";s:2:"α";s:4:"beta";s:2:"β";s:5:"gamma";s:2:"γ";s:5:"delta";s:2:"δ";s:7:"epsilon";s:2:"ε";s:4:"zeta";s:2:"ζ";s:3:"eta";s:2:"η";s:5:"theta";s:2:"θ";s:4:"iota";s:2:"ι";s:5:"kappa";s:2:"κ";s:6:"lambda";s:2:"λ";s:2:"mu";s:2:"μ";s:2:"nu";s:2:"ν";s:2:"xi";s:2:"ξ";s:7:"omicron";s:2:"ο";s:2:"pi";s:2:"π";s:3:"rho";s:2:"ρ";s:6:"sigmaf";s:2:"ς";s:5:"sigma";s:2:"σ";s:3:"tau";s:2:"τ";s:7:"upsilon";s:2:"υ";s:3:"phi";s:2:"φ";s:3:"chi";s:2:"χ";s:3:"psi";s:2:"ψ";s:5:"omega";s:2:"ω";s:8:"thetasym";s:2:"ϑ";s:5:"upsih";s:2:"ϒ";s:3:"piv";s:2:"ϖ";s:4:"bull";s:3:"•";s:6:"hellip";s:3:"…";s:5:"prime";s:3:"′";s:5:"Prime";s:3:"″";s:5:"oline";s:3:"‾";s:5:"frasl";s:3:"⁄";s:6:"weierp";s:3:"℘";s:5:"image";s:3:"ℑ";s:4:"real";s:3:"ℜ";s:5:"trade";s:3:"™";s:7:"alefsym";s:3:"ℵ";s:4:"larr";s:3:"←";s:4:"uarr";s:3:"↑";s:4:"rarr";s:3:"→";s:4:"darr";s:3:"↓";s:4:"harr";s:3:"↔";s:5:"crarr";s:3:"↵";s:4:"lArr";s:3:"⇐";s:4:"uArr";s:3:"⇑";s:4:"rArr";s:3:"⇒";s:4:"dArr";s:3:"⇓";s:4:"hArr";s:3:"⇔";s:6:"forall";s:3:"∀";s:4:"part";s:3:"∂";s:5:"exist";s:3:"∃";s:5:"empty";s:3:"∅";s:5:"nabla";s:3:"∇";s:4:"isin";s:3:"∈";s:5:"notin";s:3:"∉";s:2:"ni";s:3:"∋";s:4:"prod";s:3:"∏";s:3:"sum";s:3:"∑";s:5:"minus";s:3:"−";s:6:"lowast";s:3:"∗";s:5:"radic";s:3:"√";s:4:"prop";s:3:"∝";s:5:"infin";s:3:"∞";s:3:"ang";s:3:"∠";s:3:"and";s:3:"∧";s:2:"or";s:3:"∨";s:3:"cap";s:3:"∩";s:3:"cup";s:3:"∪";s:3:"int";s:3:"∫";s:6:"there4";s:3:"∴";s:3:"sim";s:3:"∼";s:4:"cong";s:3:"≅";s:5:"asymp";s:3:"≈";s:2:"ne";s:3:"≠";s:5:"equiv";s:3:"≡";s:2:"le";s:3:"≤";s:2:"ge";s:3:"≥";s:3:"sub";s:3:"⊂";s:3:"sup";s:3:"⊃";s:4:"nsub";s:3:"⊄";s:4:"sube";s:3:"⊆";s:4:"supe";s:3:"⊇";s:5:"oplus";s:3:"⊕";s:6:"otimes";s:3:"⊗";s:4:"perp";s:3:"⊥";s:4:"sdot";s:3:"⋅";s:5:"lceil";s:3:"⌈";s:5:"rceil";s:3:"⌉";s:6:"lfloor";s:3:"⌊";s:6:"rfloor";s:3:"⌋";s:4:"lang";s:3:"〈";s:4:"rang";s:3:"〉";s:3:"loz";s:3:"◊";s:6:"spades";s:3:"♠";s:5:"clubs";s:3:"♣";s:6:"hearts";s:3:"♥";s:5:"diams";s:3:"♦";s:4:"quot";s:1:""";s:3:"amp";s:1:"&";s:2:"lt";s:1:"<";s:2:"gt";s:1:">";s:4:"apos";s:1:"'";s:5:"OElig";s:2:"Œ";s:5:"oelig";s:2:"œ";s:6:"Scaron";s:2:"Š";s:6:"scaron";s:2:"š";s:4:"Yuml";s:2:"Ÿ";s:4:"circ";s:2:"ˆ";s:5:"tilde";s:2:"˜";s:4:"ensp";s:3:" ";s:4:"emsp";s:3:" ";s:6:"thinsp";s:3:" ";s:4:"zwnj";s:3:"‌";s:3:"zwj";s:3:"‍";s:3:"lrm";s:3:"‎";s:3:"rlm";s:3:"‏";s:5:"ndash";s:3:"–";s:5:"mdash";s:3:"—";s:5:"lsquo";s:3:"‘";s:5:"rsquo";s:3:"’";s:5:"sbquo";s:3:"‚";s:5:"ldquo";s:3:"“";s:5:"rdquo";s:3:"”";s:5:"bdquo";s:3:"„";s:6:"dagger";s:3:"†";s:6:"Dagger";s:3:"‡";s:6:"permil";s:3:"‰";s:6:"lsaquo";s:3:"‹";s:6:"rsaquo";s:3:"›";s:4:"euro";s:3:"€";s:4:"nbsp";s:2:" ";s:5:"iexcl";s:2:"¡";s:4:"cent";s:2:"¢";s:5:"pound";s:2:"£";s:6:"curren";s:2:"¤";s:3:"yen";s:2:"¥";s:6:"brvbar";s:2:"¦";s:4:"sect";s:2:"§";s:3:"uml";s:2:"¨";s:4:"copy";s:2:"©";s:4:"ordf";s:2:"ª";s:5:"laquo";s:2:"«";s:3:"not";s:2:"¬";s:3:"shy";s:2:"­";s:3:"reg";s:2:"®";s:4:"macr";s:2:"¯";s:3:"deg";s:2:"°";s:6:"plusmn";s:2:"±";s:4:"sup2";s:2:"²";s:4:"sup3";s:2:"³";s:5:"acute";s:2:"´";s:5:"micro";s:2:"µ";s:4:"para";s:2:"¶";s:6:"middot";s:2:"·";s:5:"cedil";s:2:"¸";s:4:"sup1";s:2:"¹";s:4:"ordm";s:2:"º";s:5:"raquo";s:2:"»";s:6:"frac14";s:2:"¼";s:6:"frac12";s:2:"½";s:6:"frac34";s:2:"¾";s:6:"iquest";s:2:"¿";s:6:"Agrave";s:2:"À";s:6:"Aacute";s:2:"Á";s:5:"Acirc";s:2:"Â";s:6:"Atilde";s:2:"Ã";s:4:"Auml";s:2:"Ä";s:5:"Aring";s:2:"Å";s:5:"AElig";s:2:"Æ";s:6:"Ccedil";s:2:"Ç";s:6:"Egrave";s:2:"È";s:6:"Eacute";s:2:"É";s:5:"Ecirc";s:2:"Ê";s:4:"Euml";s:2:"Ë";s:6:"Igrave";s:2:"Ì";s:6:"Iacute";s:2:"Í";s:5:"Icirc";s:2:"Î";s:4:"Iuml";s:2:"Ï";s:3:"ETH";s:2:"Ð";s:6:"Ntilde";s:2:"Ñ";s:6:"Ograve";s:2:"Ò";s:6:"Oacute";s:2:"Ó";s:5:"Ocirc";s:2:"Ô";s:6:"Otilde";s:2:"Õ";s:4:"Ouml";s:2:"Ö";s:5:"times";s:2:"×";s:6:"Oslash";s:2:"Ø";s:6:"Ugrave";s:2:"Ù";s:6:"Uacute";s:2:"Ú";s:5:"Ucirc";s:2:"Û";s:4:"Uuml";s:2:"Ü";s:6:"Yacute";s:2:"Ý";s:5:"THORN";s:2:"Þ";s:5:"szlig";s:2:"ß";s:6:"agrave";s:2:"à";s:6:"aacute";s:2:"á";s:5:"acirc";s:2:"â";s:6:"atilde";s:2:"ã";s:4:"auml";s:2:"ä";s:5:"aring";s:2:"å";s:5:"aelig";s:2:"æ";s:6:"ccedil";s:2:"ç";s:6:"egrave";s:2:"è";s:6:"eacute";s:2:"é";s:5:"ecirc";s:2:"ê";s:4:"euml";s:2:"ë";s:6:"igrave";s:2:"ì";s:6:"iacute";s:2:"í";s:5:"icirc";s:2:"î";s:4:"iuml";s:2:"ï";s:3:"eth";s:2:"ð";s:6:"ntilde";s:2:"ñ";s:6:"ograve";s:2:"ò";s:6:"oacute";s:2:"ó";s:5:"ocirc";s:2:"ô";s:6:"otilde";s:2:"õ";s:4:"ouml";s:2:"ö";s:6:"divide";s:2:"÷";s:6:"oslash";s:2:"ø";s:6:"ugrave";s:2:"ù";s:6:"uacute";s:2:"ú";s:5:"ucirc";s:2:"û";s:4:"uuml";s:2:"ü";s:6:"yacute";s:2:"ý";s:5:"thorn";s:2:"þ";s:4:"yuml";s:2:"ÿ";} \ No newline at end of file
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/EntityParser.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/EntityParser.php
new file mode 100644
index 000000000..c372b5a6a
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/EntityParser.php
@@ -0,0 +1,285 @@
+<?php
+
+// if want to implement error collecting here, we'll need to use some sort
+// of global data (probably trigger_error) because it's impossible to pass
+// $config or $context to the callback functions.
+
+/**
+ * Handles referencing and derefencing character entities
+ */
+class HTMLPurifier_EntityParser
+{
+
+ /**
+ * Reference to entity lookup table.
+ * @type HTMLPurifier_EntityLookup
+ */
+ protected $_entity_lookup;
+
+ /**
+ * Callback regex string for entities in text.
+ * @type string
+ */
+ protected $_textEntitiesRegex;
+
+ /**
+ * Callback regex string for entities in attributes.
+ * @type string
+ */
+ protected $_attrEntitiesRegex;
+
+ /**
+ * Tests if the beginning of a string is a semi-optional regex
+ */
+ protected $_semiOptionalPrefixRegex;
+
+ public function __construct() {
+ // From
+ // http://stackoverflow.com/questions/15532252/why-is-reg-being-rendered-as-without-the-bounding-semicolon
+ $semi_optional = "quot|QUOT|lt|LT|gt|GT|amp|AMP|AElig|Aacute|Acirc|Agrave|Aring|Atilde|Auml|COPY|Ccedil|ETH|Eacute|Ecirc|Egrave|Euml|Iacute|Icirc|Igrave|Iuml|Ntilde|Oacute|Ocirc|Ograve|Oslash|Otilde|Ouml|REG|THORN|Uacute|Ucirc|Ugrave|Uuml|Yacute|aacute|acirc|acute|aelig|agrave|aring|atilde|auml|brvbar|ccedil|cedil|cent|copy|curren|deg|divide|eacute|ecirc|egrave|eth|euml|frac12|frac14|frac34|iacute|icirc|iexcl|igrave|iquest|iuml|laquo|macr|micro|middot|nbsp|not|ntilde|oacute|ocirc|ograve|ordf|ordm|oslash|otilde|ouml|para|plusmn|pound|raquo|reg|sect|shy|sup1|sup2|sup3|szlig|thorn|times|uacute|ucirc|ugrave|uml|uuml|yacute|yen|yuml";
+
+ // NB: three empty captures to put the fourth match in the right
+ // place
+ $this->_semiOptionalPrefixRegex = "/&()()()($semi_optional)/";
+
+ $this->_textEntitiesRegex =
+ '/&(?:'.
+ // hex
+ '[#]x([a-fA-F0-9]+);?|'.
+ // dec
+ '[#]0*(\d+);?|'.
+ // string (mandatory semicolon)
+ // NB: order matters: match semicolon preferentially
+ '([A-Za-z_:][A-Za-z0-9.\-_:]*);|'.
+ // string (optional semicolon)
+ "($semi_optional)".
+ ')/';
+
+ $this->_attrEntitiesRegex =
+ '/&(?:'.
+ // hex
+ '[#]x([a-fA-F0-9]+);?|'.
+ // dec
+ '[#]0*(\d+);?|'.
+ // string (mandatory semicolon)
+ // NB: order matters: match semicolon preferentially
+ '([A-Za-z_:][A-Za-z0-9.\-_:]*);|'.
+ // string (optional semicolon)
+ // don't match if trailing is equals or alphanumeric (URL
+ // like)
+ "($semi_optional)(?![=;A-Za-z0-9])".
+ ')/';
+
+ }
+
+ /**
+ * Substitute entities with the parsed equivalents. Use this on
+ * textual data in an HTML document (as opposed to attributes.)
+ *
+ * @param string $string String to have entities parsed.
+ * @return string Parsed string.
+ */
+ public function substituteTextEntities($string)
+ {
+ return preg_replace_callback(
+ $this->_textEntitiesRegex,
+ array($this, 'entityCallback'),
+ $string
+ );
+ }
+
+ /**
+ * Substitute entities with the parsed equivalents. Use this on
+ * attribute contents in documents.
+ *
+ * @param string $string String to have entities parsed.
+ * @return string Parsed string.
+ */
+ public function substituteAttrEntities($string)
+ {
+ return preg_replace_callback(
+ $this->_attrEntitiesRegex,
+ array($this, 'entityCallback'),
+ $string
+ );
+ }
+
+ /**
+ * Callback function for substituteNonSpecialEntities() that does the work.
+ *
+ * @param array $matches PCRE matches array, with 0 the entire match, and
+ * either index 1, 2 or 3 set with a hex value, dec value,
+ * or string (respectively).
+ * @return string Replacement string.
+ */
+
+ protected function entityCallback($matches)
+ {
+ $entity = $matches[0];
+ $hex_part = @$matches[1];
+ $dec_part = @$matches[2];
+ $named_part = empty($matches[3]) ? @$matches[4] : $matches[3];
+ if ($hex_part !== NULL && $hex_part !== "") {
+ return HTMLPurifier_Encoder::unichr(hexdec($hex_part));
+ } elseif ($dec_part !== NULL && $dec_part !== "") {
+ return HTMLPurifier_Encoder::unichr((int) $dec_part);
+ } else {
+ if (!$this->_entity_lookup) {
+ $this->_entity_lookup = HTMLPurifier_EntityLookup::instance();
+ }
+ if (isset($this->_entity_lookup->table[$named_part])) {
+ return $this->_entity_lookup->table[$named_part];
+ } else {
+ // exact match didn't match anything, so test if
+ // any of the semicolon optional match the prefix.
+ // Test that this is an EXACT match is important to
+ // prevent infinite loop
+ if (!empty($matches[3])) {
+ return preg_replace_callback(
+ $this->_semiOptionalPrefixRegex,
+ array($this, 'entityCallback'),
+ $entity
+ );
+ }
+ return $entity;
+ }
+ }
+ }
+
+ // LEGACY CODE BELOW
+
+ /**
+ * Callback regex string for parsing entities.
+ * @type string
+ */
+ protected $_substituteEntitiesRegex =
+ '/&(?:[#]x([a-fA-F0-9]+)|[#]0*(\d+)|([A-Za-z_:][A-Za-z0-9.\-_:]*));?/';
+ // 1. hex 2. dec 3. string (XML style)
+
+ /**
+ * Decimal to parsed string conversion table for special entities.
+ * @type array
+ */
+ protected $_special_dec2str =
+ array(
+ 34 => '"',
+ 38 => '&',
+ 39 => "'",
+ 60 => '<',
+ 62 => '>'
+ );
+
+ /**
+ * Stripped entity names to decimal conversion table for special entities.
+ * @type array
+ */
+ protected $_special_ent2dec =
+ array(
+ 'quot' => 34,
+ 'amp' => 38,
+ 'lt' => 60,
+ 'gt' => 62
+ );
+
+ /**
+ * Substitutes non-special entities with their parsed equivalents. Since
+ * running this whenever you have parsed character is t3h 5uck, we run
+ * it before everything else.
+ *
+ * @param string $string String to have non-special entities parsed.
+ * @return string Parsed string.
+ */
+ public function substituteNonSpecialEntities($string)
+ {
+ // it will try to detect missing semicolons, but don't rely on it
+ return preg_replace_callback(
+ $this->_substituteEntitiesRegex,
+ array($this, 'nonSpecialEntityCallback'),
+ $string
+ );
+ }
+
+ /**
+ * Callback function for substituteNonSpecialEntities() that does the work.
+ *
+ * @param array $matches PCRE matches array, with 0 the entire match, and
+ * either index 1, 2 or 3 set with a hex value, dec value,
+ * or string (respectively).
+ * @return string Replacement string.
+ */
+
+ protected function nonSpecialEntityCallback($matches)
+ {
+ // replaces all but big five
+ $entity = $matches[0];
+ $is_num = (@$matches[0][1] === '#');
+ if ($is_num) {
+ $is_hex = (@$entity[2] === 'x');
+ $code = $is_hex ? hexdec($matches[1]) : (int) $matches[2];
+ // abort for special characters
+ if (isset($this->_special_dec2str[$code])) {
+ return $entity;
+ }
+ return HTMLPurifier_Encoder::unichr($code);
+ } else {
+ if (isset($this->_special_ent2dec[$matches[3]])) {
+ return $entity;
+ }
+ if (!$this->_entity_lookup) {
+ $this->_entity_lookup = HTMLPurifier_EntityLookup::instance();
+ }
+ if (isset($this->_entity_lookup->table[$matches[3]])) {
+ return $this->_entity_lookup->table[$matches[3]];
+ } else {
+ return $entity;
+ }
+ }
+ }
+
+ /**
+ * Substitutes only special entities with their parsed equivalents.
+ *
+ * @notice We try to avoid calling this function because otherwise, it
+ * would have to be called a lot (for every parsed section).
+ *
+ * @param string $string String to have non-special entities parsed.
+ * @return string Parsed string.
+ */
+ public function substituteSpecialEntities($string)
+ {
+ return preg_replace_callback(
+ $this->_substituteEntitiesRegex,
+ array($this, 'specialEntityCallback'),
+ $string
+ );
+ }
+
+ /**
+ * Callback function for substituteSpecialEntities() that does the work.
+ *
+ * This callback has same syntax as nonSpecialEntityCallback().
+ *
+ * @param array $matches PCRE-style matches array, with 0 the entire match, and
+ * either index 1, 2 or 3 set with a hex value, dec value,
+ * or string (respectively).
+ * @return string Replacement string.
+ */
+ protected function specialEntityCallback($matches)
+ {
+ $entity = $matches[0];
+ $is_num = (@$matches[0][1] === '#');
+ if ($is_num) {
+ $is_hex = (@$entity[2] === 'x');
+ $int = $is_hex ? hexdec($matches[1]) : (int) $matches[2];
+ return isset($this->_special_dec2str[$int]) ?
+ $this->_special_dec2str[$int] :
+ $entity;
+ } else {
+ return isset($this->_special_ent2dec[$matches[3]]) ?
+ $this->_special_dec2str[$this->_special_ent2dec[$matches[3]]] :
+ $entity;
+ }
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ErrorCollector.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ErrorCollector.php
new file mode 100644
index 000000000..d47e3f2e2
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ErrorCollector.php
@@ -0,0 +1,244 @@
+<?php
+
+/**
+ * Error collection class that enables HTML Purifier to report HTML
+ * problems back to the user
+ */
+class HTMLPurifier_ErrorCollector
+{
+
+ /**
+ * Identifiers for the returned error array. These are purposely numeric
+ * so list() can be used.
+ */
+ const LINENO = 0;
+ const SEVERITY = 1;
+ const MESSAGE = 2;
+ const CHILDREN = 3;
+
+ /**
+ * @type array
+ */
+ protected $errors;
+
+ /**
+ * @type array
+ */
+ protected $_current;
+
+ /**
+ * @type array
+ */
+ protected $_stacks = array(array());
+
+ /**
+ * @type HTMLPurifier_Language
+ */
+ protected $locale;
+
+ /**
+ * @type HTMLPurifier_Generator
+ */
+ protected $generator;
+
+ /**
+ * @type HTMLPurifier_Context
+ */
+ protected $context;
+
+ /**
+ * @type array
+ */
+ protected $lines = array();
+
+ /**
+ * @param HTMLPurifier_Context $context
+ */
+ public function __construct($context)
+ {
+ $this->locale =& $context->get('Locale');
+ $this->context = $context;
+ $this->_current =& $this->_stacks[0];
+ $this->errors =& $this->_stacks[0];
+ }
+
+ /**
+ * Sends an error message to the collector for later use
+ * @param int $severity Error severity, PHP error style (don't use E_USER_)
+ * @param string $msg Error message text
+ */
+ public function send($severity, $msg)
+ {
+ $args = array();
+ if (func_num_args() > 2) {
+ $args = func_get_args();
+ array_shift($args);
+ unset($args[0]);
+ }
+
+ $token = $this->context->get('CurrentToken', true);
+ $line = $token ? $token->line : $this->context->get('CurrentLine', true);
+ $col = $token ? $token->col : $this->context->get('CurrentCol', true);
+ $attr = $this->context->get('CurrentAttr', true);
+
+ // perform special substitutions, also add custom parameters
+ $subst = array();
+ if (!is_null($token)) {
+ $args['CurrentToken'] = $token;
+ }
+ if (!is_null($attr)) {
+ $subst['$CurrentAttr.Name'] = $attr;
+ if (isset($token->attr[$attr])) {
+ $subst['$CurrentAttr.Value'] = $token->attr[$attr];
+ }
+ }
+
+ if (empty($args)) {
+ $msg = $this->locale->getMessage($msg);
+ } else {
+ $msg = $this->locale->formatMessage($msg, $args);
+ }
+
+ if (!empty($subst)) {
+ $msg = strtr($msg, $subst);
+ }
+
+ // (numerically indexed)
+ $error = array(
+ self::LINENO => $line,
+ self::SEVERITY => $severity,
+ self::MESSAGE => $msg,
+ self::CHILDREN => array()
+ );
+ $this->_current[] = $error;
+
+ // NEW CODE BELOW ...
+ // Top-level errors are either:
+ // TOKEN type, if $value is set appropriately, or
+ // "syntax" type, if $value is null
+ $new_struct = new HTMLPurifier_ErrorStruct();
+ $new_struct->type = HTMLPurifier_ErrorStruct::TOKEN;
+ if ($token) {
+ $new_struct->value = clone $token;
+ }
+ if (is_int($line) && is_int($col)) {
+ if (isset($this->lines[$line][$col])) {
+ $struct = $this->lines[$line][$col];
+ } else {
+ $struct = $this->lines[$line][$col] = $new_struct;
+ }
+ // These ksorts may present a performance problem
+ ksort($this->lines[$line], SORT_NUMERIC);
+ } else {
+ if (isset($this->lines[-1])) {
+ $struct = $this->lines[-1];
+ } else {
+ $struct = $this->lines[-1] = $new_struct;
+ }
+ }
+ ksort($this->lines, SORT_NUMERIC);
+
+ // Now, check if we need to operate on a lower structure
+ if (!empty($attr)) {
+ $struct = $struct->getChild(HTMLPurifier_ErrorStruct::ATTR, $attr);
+ if (!$struct->value) {
+ $struct->value = array($attr, 'PUT VALUE HERE');
+ }
+ }
+ if (!empty($cssprop)) {
+ $struct = $struct->getChild(HTMLPurifier_ErrorStruct::CSSPROP, $cssprop);
+ if (!$struct->value) {
+ // if we tokenize CSS this might be a little more difficult to do
+ $struct->value = array($cssprop, 'PUT VALUE HERE');
+ }
+ }
+
+ // Ok, structs are all setup, now time to register the error
+ $struct->addError($severity, $msg);
+ }
+
+ /**
+ * Retrieves raw error data for custom formatter to use
+ */
+ public function getRaw()
+ {
+ return $this->errors;
+ }
+
+ /**
+ * Default HTML formatting implementation for error messages
+ * @param HTMLPurifier_Config $config Configuration, vital for HTML output nature
+ * @param array $errors Errors array to display; used for recursion.
+ * @return string
+ */
+ public function getHTMLFormatted($config, $errors = null)
+ {
+ $ret = array();
+
+ $this->generator = new HTMLPurifier_Generator($config, $this->context);
+ if ($errors === null) {
+ $errors = $this->errors;
+ }
+
+ // 'At line' message needs to be removed
+
+ // generation code for new structure goes here. It needs to be recursive.
+ foreach ($this->lines as $line => $col_array) {
+ if ($line == -1) {
+ continue;
+ }
+ foreach ($col_array as $col => $struct) {
+ $this->_renderStruct($ret, $struct, $line, $col);
+ }
+ }
+ if (isset($this->lines[-1])) {
+ $this->_renderStruct($ret, $this->lines[-1]);
+ }
+
+ if (empty($errors)) {
+ return '<p>' . $this->locale->getMessage('ErrorCollector: No errors') . '</p>';
+ } else {
+ return '<ul><li>' . implode('</li><li>', $ret) . '</li></ul>';
+ }
+
+ }
+
+ private function _renderStruct(&$ret, $struct, $line = null, $col = null)
+ {
+ $stack = array($struct);
+ $context_stack = array(array());
+ while ($current = array_pop($stack)) {
+ $context = array_pop($context_stack);
+ foreach ($current->errors as $error) {
+ list($severity, $msg) = $error;
+ $string = '';
+ $string .= '<div>';
+ // W3C uses an icon to indicate the severity of the error.
+ $error = $this->locale->getErrorName($severity);
+ $string .= "<span class=\"error e$severity\"><strong>$error</strong></span> ";
+ if (!is_null($line) && !is_null($col)) {
+ $string .= "<em class=\"location\">Line $line, Column $col: </em> ";
+ } else {
+ $string .= '<em class="location">End of Document: </em> ';
+ }
+ $string .= '<strong class="description">' . $this->generator->escape($msg) . '</strong> ';
+ $string .= '</div>';
+ // Here, have a marker for the character on the column appropriate.
+ // Be sure to clip extremely long lines.
+ //$string .= '<pre>';
+ //$string .= '';
+ //$string .= '</pre>';
+ $ret[] = $string;
+ }
+ foreach ($current->children as $array) {
+ $context[] = $current;
+ $stack = array_merge($stack, array_reverse($array, true));
+ for ($i = count($array); $i > 0; $i--) {
+ $context_stack[] = $context;
+ }
+ }
+ }
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ErrorStruct.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ErrorStruct.php
new file mode 100644
index 000000000..cf869d321
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ErrorStruct.php
@@ -0,0 +1,74 @@
+<?php
+
+/**
+ * Records errors for particular segments of an HTML document such as tokens,
+ * attributes or CSS properties. They can contain error structs (which apply
+ * to components of what they represent), but their main purpose is to hold
+ * errors applying to whatever struct is being used.
+ */
+class HTMLPurifier_ErrorStruct
+{
+
+ /**
+ * Possible values for $children first-key. Note that top-level structures
+ * are automatically token-level.
+ */
+ const TOKEN = 0;
+ const ATTR = 1;
+ const CSSPROP = 2;
+
+ /**
+ * Type of this struct.
+ * @type string
+ */
+ public $type;
+
+ /**
+ * Value of the struct we are recording errors for. There are various
+ * values for this:
+ * - TOKEN: Instance of HTMLPurifier_Token
+ * - ATTR: array('attr-name', 'value')
+ * - CSSPROP: array('prop-name', 'value')
+ * @type mixed
+ */
+ public $value;
+
+ /**
+ * Errors registered for this structure.
+ * @type array
+ */
+ public $errors = array();
+
+ /**
+ * Child ErrorStructs that are from this structure. For example, a TOKEN
+ * ErrorStruct would contain ATTR ErrorStructs. This is a multi-dimensional
+ * array in structure: [TYPE]['identifier']
+ * @type array
+ */
+ public $children = array();
+
+ /**
+ * @param string $type
+ * @param string $id
+ * @return mixed
+ */
+ public function getChild($type, $id)
+ {
+ if (!isset($this->children[$type][$id])) {
+ $this->children[$type][$id] = new HTMLPurifier_ErrorStruct();
+ $this->children[$type][$id]->type = $type;
+ }
+ return $this->children[$type][$id];
+ }
+
+ /**
+ * @param int $severity
+ * @param string $message
+ */
+ public function addError($severity, $message)
+ {
+ $this->errors[] = array($severity, $message);
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Exception.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Exception.php
new file mode 100644
index 000000000..be85b4c56
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Exception.php
@@ -0,0 +1,12 @@
+<?php
+
+/**
+ * Global exception class for HTML Purifier; any exceptions we throw
+ * are from here.
+ */
+class HTMLPurifier_Exception extends Exception
+{
+
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Filter.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Filter.php
new file mode 100644
index 000000000..c1f41ee16
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Filter.php
@@ -0,0 +1,56 @@
+<?php
+
+/**
+ * Represents a pre or post processing filter on HTML Purifier's output
+ *
+ * Sometimes, a little ad-hoc fixing of HTML has to be done before
+ * it gets sent through HTML Purifier: you can use filters to acheive
+ * this effect. For instance, YouTube videos can be preserved using
+ * this manner. You could have used a decorator for this task, but
+ * PHP's support for them is not terribly robust, so we're going
+ * to just loop through the filters.
+ *
+ * Filters should be exited first in, last out. If there are three filters,
+ * named 1, 2 and 3, the order of execution should go 1->preFilter,
+ * 2->preFilter, 3->preFilter, purify, 3->postFilter, 2->postFilter,
+ * 1->postFilter.
+ *
+ * @note Methods are not declared abstract as it is perfectly legitimate
+ * for an implementation not to want anything to happen on a step
+ */
+
+class HTMLPurifier_Filter
+{
+
+ /**
+ * Name of the filter for identification purposes.
+ * @type string
+ */
+ public $name;
+
+ /**
+ * Pre-processor function, handles HTML before HTML Purifier
+ * @param string $html
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return string
+ */
+ public function preFilter($html, $config, $context)
+ {
+ return $html;
+ }
+
+ /**
+ * Post-processor function, handles HTML after HTML Purifier
+ * @param string $html
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return string
+ */
+ public function postFilter($html, $config, $context)
+ {
+ return $html;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Filter/ExtractStyleBlocks.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Filter/ExtractStyleBlocks.php
new file mode 100644
index 000000000..66f70b0fc
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Filter/ExtractStyleBlocks.php
@@ -0,0 +1,341 @@
+<?php
+
+// why is this a top level function? Because PHP 5.2.0 doesn't seem to
+// understand how to interpret this filter if it's a static method.
+// It's all really silly, but if we go this route it might be reasonable
+// to coalesce all of these methods into one.
+function htmlpurifier_filter_extractstyleblocks_muteerrorhandler()
+{
+}
+
+/**
+ * This filter extracts <style> blocks from input HTML, cleans them up
+ * using CSSTidy, and then places them in $purifier->context->get('StyleBlocks')
+ * so they can be used elsewhere in the document.
+ *
+ * @note
+ * See tests/HTMLPurifier/Filter/ExtractStyleBlocksTest.php for
+ * sample usage.
+ *
+ * @note
+ * This filter can also be used on stylesheets not included in the
+ * document--something purists would probably prefer. Just directly
+ * call HTMLPurifier_Filter_ExtractStyleBlocks->cleanCSS()
+ */
+class HTMLPurifier_Filter_ExtractStyleBlocks extends HTMLPurifier_Filter
+{
+ /**
+ * @type string
+ */
+ public $name = 'ExtractStyleBlocks';
+
+ /**
+ * @type array
+ */
+ private $_styleMatches = array();
+
+ /**
+ * @type csstidy
+ */
+ private $_tidy;
+
+ /**
+ * @type HTMLPurifier_AttrDef_HTML_ID
+ */
+ private $_id_attrdef;
+
+ /**
+ * @type HTMLPurifier_AttrDef_CSS_Ident
+ */
+ private $_class_attrdef;
+
+ /**
+ * @type HTMLPurifier_AttrDef_Enum
+ */
+ private $_enum_attrdef;
+
+ public function __construct()
+ {
+ $this->_tidy = new csstidy();
+ $this->_tidy->set_cfg('lowercase_s', false);
+ $this->_id_attrdef = new HTMLPurifier_AttrDef_HTML_ID(true);
+ $this->_class_attrdef = new HTMLPurifier_AttrDef_CSS_Ident();
+ $this->_enum_attrdef = new HTMLPurifier_AttrDef_Enum(
+ array(
+ 'first-child',
+ 'link',
+ 'visited',
+ 'active',
+ 'hover',
+ 'focus'
+ )
+ );
+ }
+
+ /**
+ * Save the contents of CSS blocks to style matches
+ * @param array $matches preg_replace style $matches array
+ */
+ protected function styleCallback($matches)
+ {
+ $this->_styleMatches[] = $matches[1];
+ }
+
+ /**
+ * Removes inline <style> tags from HTML, saves them for later use
+ * @param string $html
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return string
+ * @todo Extend to indicate non-text/css style blocks
+ */
+ public function preFilter($html, $config, $context)
+ {
+ $tidy = $config->get('Filter.ExtractStyleBlocks.TidyImpl');
+ if ($tidy !== null) {
+ $this->_tidy = $tidy;
+ }
+ // NB: this must be NON-greedy because if we have
+ // <style>foo</style> <style>bar</style>
+ // we must not grab foo</style> <style>bar
+ $html = preg_replace_callback('#<style(?:\s.*)?>(.*)<\/style>#isU', array($this, 'styleCallback'), $html);
+ $style_blocks = $this->_styleMatches;
+ $this->_styleMatches = array(); // reset
+ $context->register('StyleBlocks', $style_blocks); // $context must not be reused
+ if ($this->_tidy) {
+ foreach ($style_blocks as &$style) {
+ $style = $this->cleanCSS($style, $config, $context);
+ }
+ }
+ return $html;
+ }
+
+ /**
+ * Takes CSS (the stuff found in <style>) and cleans it.
+ * @warning Requires CSSTidy <http://csstidy.sourceforge.net/>
+ * @param string $css CSS styling to clean
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @throws HTMLPurifier_Exception
+ * @return string Cleaned CSS
+ */
+ public function cleanCSS($css, $config, $context)
+ {
+ // prepare scope
+ $scope = $config->get('Filter.ExtractStyleBlocks.Scope');
+ if ($scope !== null) {
+ $scopes = array_map('trim', explode(',', $scope));
+ } else {
+ $scopes = array();
+ }
+ // remove comments from CSS
+ $css = trim($css);
+ if (strncmp('<!--', $css, 4) === 0) {
+ $css = substr($css, 4);
+ }
+ if (strlen($css) > 3 && substr($css, -3) == '-->') {
+ $css = substr($css, 0, -3);
+ }
+ $css = trim($css);
+ set_error_handler('htmlpurifier_filter_extractstyleblocks_muteerrorhandler');
+ $this->_tidy->parse($css);
+ restore_error_handler();
+ $css_definition = $config->getDefinition('CSS');
+ $html_definition = $config->getDefinition('HTML');
+ $new_css = array();
+ foreach ($this->_tidy->css as $k => $decls) {
+ // $decls are all CSS declarations inside an @ selector
+ $new_decls = array();
+ foreach ($decls as $selector => $style) {
+ $selector = trim($selector);
+ if ($selector === '') {
+ continue;
+ } // should not happen
+ // Parse the selector
+ // Here is the relevant part of the CSS grammar:
+ //
+ // ruleset
+ // : selector [ ',' S* selector ]* '{' ...
+ // selector
+ // : simple_selector [ combinator selector | S+ [ combinator? selector ]? ]?
+ // combinator
+ // : '+' S*
+ // : '>' S*
+ // simple_selector
+ // : element_name [ HASH | class | attrib | pseudo ]*
+ // | [ HASH | class | attrib | pseudo ]+
+ // element_name
+ // : IDENT | '*'
+ // ;
+ // class
+ // : '.' IDENT
+ // ;
+ // attrib
+ // : '[' S* IDENT S* [ [ '=' | INCLUDES | DASHMATCH ] S*
+ // [ IDENT | STRING ] S* ]? ']'
+ // ;
+ // pseudo
+ // : ':' [ IDENT | FUNCTION S* [IDENT S*]? ')' ]
+ // ;
+ //
+ // For reference, here are the relevant tokens:
+ //
+ // HASH #{name}
+ // IDENT {ident}
+ // INCLUDES ==
+ // DASHMATCH |=
+ // STRING {string}
+ // FUNCTION {ident}\(
+ //
+ // And the lexical scanner tokens
+ //
+ // name {nmchar}+
+ // nmchar [_a-z0-9-]|{nonascii}|{escape}
+ // nonascii [\240-\377]
+ // escape {unicode}|\\[^\r\n\f0-9a-f]
+ // unicode \\{h}}{1,6}(\r\n|[ \t\r\n\f])?
+ // ident -?{nmstart}{nmchar*}
+ // nmstart [_a-z]|{nonascii}|{escape}
+ // string {string1}|{string2}
+ // string1 \"([^\n\r\f\\"]|\\{nl}|{escape})*\"
+ // string2 \'([^\n\r\f\\"]|\\{nl}|{escape})*\'
+ //
+ // We'll implement a subset (in order to reduce attack
+ // surface); in particular:
+ //
+ // - No Unicode support
+ // - No escapes support
+ // - No string support (by proxy no attrib support)
+ // - element_name is matched against allowed
+ // elements (some people might find this
+ // annoying...)
+ // - Pseudo-elements one of :first-child, :link,
+ // :visited, :active, :hover, :focus
+
+ // handle ruleset
+ $selectors = array_map('trim', explode(',', $selector));
+ $new_selectors = array();
+ foreach ($selectors as $sel) {
+ // split on +, > and spaces
+ $basic_selectors = preg_split('/\s*([+> ])\s*/', $sel, -1, PREG_SPLIT_DELIM_CAPTURE);
+ // even indices are chunks, odd indices are
+ // delimiters
+ $nsel = null;
+ $delim = null; // guaranteed to be non-null after
+ // two loop iterations
+ for ($i = 0, $c = count($basic_selectors); $i < $c; $i++) {
+ $x = $basic_selectors[$i];
+ if ($i % 2) {
+ // delimiter
+ if ($x === ' ') {
+ $delim = ' ';
+ } else {
+ $delim = ' ' . $x . ' ';
+ }
+ } else {
+ // simple selector
+ $components = preg_split('/([#.:])/', $x, -1, PREG_SPLIT_DELIM_CAPTURE);
+ $sdelim = null;
+ $nx = null;
+ for ($j = 0, $cc = count($components); $j < $cc; $j++) {
+ $y = $components[$j];
+ if ($j === 0) {
+ if ($y === '*' || isset($html_definition->info[$y = strtolower($y)])) {
+ $nx = $y;
+ } else {
+ // $nx stays null; this matters
+ // if we don't manage to find
+ // any valid selector content,
+ // in which case we ignore the
+ // outer $delim
+ }
+ } elseif ($j % 2) {
+ // set delimiter
+ $sdelim = $y;
+ } else {
+ $attrdef = null;
+ if ($sdelim === '#') {
+ $attrdef = $this->_id_attrdef;
+ } elseif ($sdelim === '.') {
+ $attrdef = $this->_class_attrdef;
+ } elseif ($sdelim === ':') {
+ $attrdef = $this->_enum_attrdef;
+ } else {
+ throw new HTMLPurifier_Exception('broken invariant sdelim and preg_split');
+ }
+ $r = $attrdef->validate($y, $config, $context);
+ if ($r !== false) {
+ if ($r !== true) {
+ $y = $r;
+ }
+ if ($nx === null) {
+ $nx = '';
+ }
+ $nx .= $sdelim . $y;
+ }
+ }
+ }
+ if ($nx !== null) {
+ if ($nsel === null) {
+ $nsel = $nx;
+ } else {
+ $nsel .= $delim . $nx;
+ }
+ } else {
+ // delimiters to the left of invalid
+ // basic selector ignored
+ }
+ }
+ }
+ if ($nsel !== null) {
+ if (!empty($scopes)) {
+ foreach ($scopes as $s) {
+ $new_selectors[] = "$s $nsel";
+ }
+ } else {
+ $new_selectors[] = $nsel;
+ }
+ }
+ }
+ if (empty($new_selectors)) {
+ continue;
+ }
+ $selector = implode(', ', $new_selectors);
+ foreach ($style as $name => $value) {
+ if (!isset($css_definition->info[$name])) {
+ unset($style[$name]);
+ continue;
+ }
+ $def = $css_definition->info[$name];
+ $ret = $def->validate($value, $config, $context);
+ if ($ret === false) {
+ unset($style[$name]);
+ } else {
+ $style[$name] = $ret;
+ }
+ }
+ $new_decls[$selector] = $style;
+ }
+ $new_css[$k] = $new_decls;
+ }
+ // remove stuff that shouldn't be used, could be reenabled
+ // after security risks are analyzed
+ $this->_tidy->css = $new_css;
+ $this->_tidy->import = array();
+ $this->_tidy->charset = null;
+ $this->_tidy->namespace = null;
+ $css = $this->_tidy->print->plain();
+ // we are going to escape any special characters <>& to ensure
+ // that no funny business occurs (i.e. </style> in a font-family prop).
+ if ($config->get('Filter.ExtractStyleBlocks.Escaping')) {
+ $css = str_replace(
+ array('<', '>', '&'),
+ array('\3C ', '\3E ', '\26 '),
+ $css
+ );
+ }
+ return $css;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Filter/YouTube.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Filter/YouTube.php
new file mode 100644
index 000000000..276d8362f
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Filter/YouTube.php
@@ -0,0 +1,65 @@
+<?php
+
+class HTMLPurifier_Filter_YouTube extends HTMLPurifier_Filter
+{
+
+ /**
+ * @type string
+ */
+ public $name = 'YouTube';
+
+ /**
+ * @param string $html
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return string
+ */
+ public function preFilter($html, $config, $context)
+ {
+ $pre_regex = '#<object[^>]+>.+?' .
+ '(?:http:)?//www.youtube.com/((?:v|cp)/[A-Za-z0-9\-_=]+).+?</object>#s';
+ $pre_replace = '<span class="youtube-embed">\1</span>';
+ return preg_replace($pre_regex, $pre_replace, $html);
+ }
+
+ /**
+ * @param string $html
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return string
+ */
+ public function postFilter($html, $config, $context)
+ {
+ $post_regex = '#<span class="youtube-embed">((?:v|cp)/[A-Za-z0-9\-_=]+)</span>#';
+ return preg_replace_callback($post_regex, array($this, 'postFilterCallback'), $html);
+ }
+
+ /**
+ * @param $url
+ * @return string
+ */
+ protected function armorUrl($url)
+ {
+ return str_replace('--', '-&#45;', $url);
+ }
+
+ /**
+ * @param array $matches
+ * @return string
+ */
+ protected function postFilterCallback($matches)
+ {
+ $url = $this->armorUrl($matches[1]);
+ return '<object width="425" height="350" type="application/x-shockwave-flash" ' .
+ 'data="//www.youtube.com/' . $url . '">' .
+ '<param name="movie" value="//www.youtube.com/' . $url . '"></param>' .
+ '<!--[if IE]>' .
+ '<embed src="//www.youtube.com/' . $url . '"' .
+ 'type="application/x-shockwave-flash"' .
+ 'wmode="transparent" width="425" height="350" />' .
+ '<![endif]-->' .
+ '</object>';
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Generator.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Generator.php
new file mode 100644
index 000000000..eb56e2dfa
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Generator.php
@@ -0,0 +1,286 @@
+<?php
+
+/**
+ * Generates HTML from tokens.
+ * @todo Refactor interface so that configuration/context is determined
+ * upon instantiation, no need for messy generateFromTokens() calls
+ * @todo Make some of the more internal functions protected, and have
+ * unit tests work around that
+ */
+class HTMLPurifier_Generator
+{
+
+ /**
+ * Whether or not generator should produce XML output.
+ * @type bool
+ */
+ private $_xhtml = true;
+
+ /**
+ * :HACK: Whether or not generator should comment the insides of <script> tags.
+ * @type bool
+ */
+ private $_scriptFix = false;
+
+ /**
+ * Cache of HTMLDefinition during HTML output to determine whether or
+ * not attributes should be minimized.
+ * @type HTMLPurifier_HTMLDefinition
+ */
+ private $_def;
+
+ /**
+ * Cache of %Output.SortAttr.
+ * @type bool
+ */
+ private $_sortAttr;
+
+ /**
+ * Cache of %Output.FlashCompat.
+ * @type bool
+ */
+ private $_flashCompat;
+
+ /**
+ * Cache of %Output.FixInnerHTML.
+ * @type bool
+ */
+ private $_innerHTMLFix;
+
+ /**
+ * Stack for keeping track of object information when outputting IE
+ * compatibility code.
+ * @type array
+ */
+ private $_flashStack = array();
+
+ /**
+ * Configuration for the generator
+ * @type HTMLPurifier_Config
+ */
+ protected $config;
+
+ /**
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ */
+ public function __construct($config, $context)
+ {
+ $this->config = $config;
+ $this->_scriptFix = $config->get('Output.CommentScriptContents');
+ $this->_innerHTMLFix = $config->get('Output.FixInnerHTML');
+ $this->_sortAttr = $config->get('Output.SortAttr');
+ $this->_flashCompat = $config->get('Output.FlashCompat');
+ $this->_def = $config->getHTMLDefinition();
+ $this->_xhtml = $this->_def->doctype->xml;
+ }
+
+ /**
+ * Generates HTML from an array of tokens.
+ * @param HTMLPurifier_Token[] $tokens Array of HTMLPurifier_Token
+ * @return string Generated HTML
+ */
+ public function generateFromTokens($tokens)
+ {
+ if (!$tokens) {
+ return '';
+ }
+
+ // Basic algorithm
+ $html = '';
+ for ($i = 0, $size = count($tokens); $i < $size; $i++) {
+ if ($this->_scriptFix && $tokens[$i]->name === 'script'
+ && $i + 2 < $size && $tokens[$i+2] instanceof HTMLPurifier_Token_End) {
+ // script special case
+ // the contents of the script block must be ONE token
+ // for this to work.
+ $html .= $this->generateFromToken($tokens[$i++]);
+ $html .= $this->generateScriptFromToken($tokens[$i++]);
+ }
+ $html .= $this->generateFromToken($tokens[$i]);
+ }
+
+ // Tidy cleanup
+ if (extension_loaded('tidy') && $this->config->get('Output.TidyFormat')) {
+ $tidy = new Tidy;
+ $tidy->parseString(
+ $html,
+ array(
+ 'indent'=> true,
+ 'output-xhtml' => $this->_xhtml,
+ 'show-body-only' => true,
+ 'indent-spaces' => 2,
+ 'wrap' => 68,
+ ),
+ 'utf8'
+ );
+ $tidy->cleanRepair();
+ $html = (string) $tidy; // explicit cast necessary
+ }
+
+ // Normalize newlines to system defined value
+ if ($this->config->get('Core.NormalizeNewlines')) {
+ $nl = $this->config->get('Output.Newline');
+ if ($nl === null) {
+ $nl = PHP_EOL;
+ }
+ if ($nl !== "\n") {
+ $html = str_replace("\n", $nl, $html);
+ }
+ }
+ return $html;
+ }
+
+ /**
+ * Generates HTML from a single token.
+ * @param HTMLPurifier_Token $token HTMLPurifier_Token object.
+ * @return string Generated HTML
+ */
+ public function generateFromToken($token)
+ {
+ if (!$token instanceof HTMLPurifier_Token) {
+ trigger_error('Cannot generate HTML from non-HTMLPurifier_Token object', E_USER_WARNING);
+ return '';
+
+ } elseif ($token instanceof HTMLPurifier_Token_Start) {
+ $attr = $this->generateAttributes($token->attr, $token->name);
+ if ($this->_flashCompat) {
+ if ($token->name == "object") {
+ $flash = new stdClass();
+ $flash->attr = $token->attr;
+ $flash->param = array();
+ $this->_flashStack[] = $flash;
+ }
+ }
+ return '<' . $token->name . ($attr ? ' ' : '') . $attr . '>';
+
+ } elseif ($token instanceof HTMLPurifier_Token_End) {
+ $_extra = '';
+ if ($this->_flashCompat) {
+ if ($token->name == "object" && !empty($this->_flashStack)) {
+ // doesn't do anything for now
+ }
+ }
+ return $_extra . '</' . $token->name . '>';
+
+ } elseif ($token instanceof HTMLPurifier_Token_Empty) {
+ if ($this->_flashCompat && $token->name == "param" && !empty($this->_flashStack)) {
+ $this->_flashStack[count($this->_flashStack)-1]->param[$token->attr['name']] = $token->attr['value'];
+ }
+ $attr = $this->generateAttributes($token->attr, $token->name);
+ return '<' . $token->name . ($attr ? ' ' : '') . $attr .
+ ( $this->_xhtml ? ' /': '' ) // <br /> v. <br>
+ . '>';
+
+ } elseif ($token instanceof HTMLPurifier_Token_Text) {
+ return $this->escape($token->data, ENT_NOQUOTES);
+
+ } elseif ($token instanceof HTMLPurifier_Token_Comment) {
+ return '<!--' . $token->data . '-->';
+ } else {
+ return '';
+
+ }
+ }
+
+ /**
+ * Special case processor for the contents of script tags
+ * @param HTMLPurifier_Token $token HTMLPurifier_Token object.
+ * @return string
+ * @warning This runs into problems if there's already a literal
+ * --> somewhere inside the script contents.
+ */
+ public function generateScriptFromToken($token)
+ {
+ if (!$token instanceof HTMLPurifier_Token_Text) {
+ return $this->generateFromToken($token);
+ }
+ // Thanks <http://lachy.id.au/log/2005/05/script-comments>
+ $data = preg_replace('#//\s*$#', '', $token->data);
+ return '<!--//--><![CDATA[//><!--' . "\n" . trim($data) . "\n" . '//--><!]]>';
+ }
+
+ /**
+ * Generates attribute declarations from attribute array.
+ * @note This does not include the leading or trailing space.
+ * @param array $assoc_array_of_attributes Attribute array
+ * @param string $element Name of element attributes are for, used to check
+ * attribute minimization.
+ * @return string Generated HTML fragment for insertion.
+ */
+ public function generateAttributes($assoc_array_of_attributes, $element = '')
+ {
+ $html = '';
+ if ($this->_sortAttr) {
+ ksort($assoc_array_of_attributes);
+ }
+ foreach ($assoc_array_of_attributes as $key => $value) {
+ if (!$this->_xhtml) {
+ // Remove namespaced attributes
+ if (strpos($key, ':') !== false) {
+ continue;
+ }
+ // Check if we should minimize the attribute: val="val" -> val
+ if ($element && !empty($this->_def->info[$element]->attr[$key]->minimized)) {
+ $html .= $key . ' ';
+ continue;
+ }
+ }
+ // Workaround for Internet Explorer innerHTML bug.
+ // Essentially, Internet Explorer, when calculating
+ // innerHTML, omits quotes if there are no instances of
+ // angled brackets, quotes or spaces. However, when parsing
+ // HTML (for example, when you assign to innerHTML), it
+ // treats backticks as quotes. Thus,
+ // <img alt="``" />
+ // becomes
+ // <img alt=`` />
+ // becomes
+ // <img alt='' />
+ // Fortunately, all we need to do is trigger an appropriate
+ // quoting style, which we do by adding an extra space.
+ // This also is consistent with the W3C spec, which states
+ // that user agents may ignore leading or trailing
+ // whitespace (in fact, most don't, at least for attributes
+ // like alt, but an extra space at the end is barely
+ // noticeable). Still, we have a configuration knob for
+ // this, since this transformation is not necesary if you
+ // don't process user input with innerHTML or you don't plan
+ // on supporting Internet Explorer.
+ if ($this->_innerHTMLFix) {
+ if (strpos($value, '`') !== false) {
+ // check if correct quoting style would not already be
+ // triggered
+ if (strcspn($value, '"\' <>') === strlen($value)) {
+ // protect!
+ $value .= ' ';
+ }
+ }
+ }
+ $html .= $key.'="'.$this->escape($value).'" ';
+ }
+ return rtrim($html);
+ }
+
+ /**
+ * Escapes raw text data.
+ * @todo This really ought to be protected, but until we have a facility
+ * for properly generating HTML here w/o using tokens, it stays
+ * public.
+ * @param string $string String data to escape for HTML.
+ * @param int $quote Quoting style, like htmlspecialchars. ENT_NOQUOTES is
+ * permissible for non-attribute output.
+ * @return string escaped data.
+ */
+ public function escape($string, $quote = null)
+ {
+ // Workaround for APC bug on Mac Leopard reported by sidepodcast
+ // http://htmlpurifier.org/phorum/read.php?3,4823,4846
+ if ($quote === null) {
+ $quote = ENT_COMPAT;
+ }
+ return htmlspecialchars($string, $quote, 'UTF-8');
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLDefinition.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLDefinition.php
new file mode 100644
index 000000000..9b7b334dd
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLDefinition.php
@@ -0,0 +1,493 @@
+<?php
+
+/**
+ * Definition of the purified HTML that describes allowed children,
+ * attributes, and many other things.
+ *
+ * Conventions:
+ *
+ * All member variables that are prefixed with info
+ * (including the main $info array) are used by HTML Purifier internals
+ * and should not be directly edited when customizing the HTMLDefinition.
+ * They can usually be set via configuration directives or custom
+ * modules.
+ *
+ * On the other hand, member variables without the info prefix are used
+ * internally by the HTMLDefinition and MUST NOT be used by other HTML
+ * Purifier internals. Many of them, however, are public, and may be
+ * edited by userspace code to tweak the behavior of HTMLDefinition.
+ *
+ * @note This class is inspected by Printer_HTMLDefinition; please
+ * update that class if things here change.
+ *
+ * @warning Directives that change this object's structure must be in
+ * the HTML or Attr namespace!
+ */
+class HTMLPurifier_HTMLDefinition extends HTMLPurifier_Definition
+{
+
+ // FULLY-PUBLIC VARIABLES ---------------------------------------------
+
+ /**
+ * Associative array of element names to HTMLPurifier_ElementDef.
+ * @type HTMLPurifier_ElementDef[]
+ */
+ public $info = array();
+
+ /**
+ * Associative array of global attribute name to attribute definition.
+ * @type array
+ */
+ public $info_global_attr = array();
+
+ /**
+ * String name of parent element HTML will be going into.
+ * @type string
+ */
+ public $info_parent = 'div';
+
+ /**
+ * Definition for parent element, allows parent element to be a
+ * tag that's not allowed inside the HTML fragment.
+ * @type HTMLPurifier_ElementDef
+ */
+ public $info_parent_def;
+
+ /**
+ * String name of element used to wrap inline elements in block context.
+ * @type string
+ * @note This is rarely used except for BLOCKQUOTEs in strict mode
+ */
+ public $info_block_wrapper = 'p';
+
+ /**
+ * Associative array of deprecated tag name to HTMLPurifier_TagTransform.
+ * @type array
+ */
+ public $info_tag_transform = array();
+
+ /**
+ * Indexed list of HTMLPurifier_AttrTransform to be performed before validation.
+ * @type HTMLPurifier_AttrTransform[]
+ */
+ public $info_attr_transform_pre = array();
+
+ /**
+ * Indexed list of HTMLPurifier_AttrTransform to be performed after validation.
+ * @type HTMLPurifier_AttrTransform[]
+ */
+ public $info_attr_transform_post = array();
+
+ /**
+ * Nested lookup array of content set name (Block, Inline) to
+ * element name to whether or not it belongs in that content set.
+ * @type array
+ */
+ public $info_content_sets = array();
+
+ /**
+ * Indexed list of HTMLPurifier_Injector to be used.
+ * @type HTMLPurifier_Injector[]
+ */
+ public $info_injector = array();
+
+ /**
+ * Doctype object
+ * @type HTMLPurifier_Doctype
+ */
+ public $doctype;
+
+
+
+ // RAW CUSTOMIZATION STUFF --------------------------------------------
+
+ /**
+ * Adds a custom attribute to a pre-existing element
+ * @note This is strictly convenience, and does not have a corresponding
+ * method in HTMLPurifier_HTMLModule
+ * @param string $element_name Element name to add attribute to
+ * @param string $attr_name Name of attribute
+ * @param mixed $def Attribute definition, can be string or object, see
+ * HTMLPurifier_AttrTypes for details
+ */
+ public function addAttribute($element_name, $attr_name, $def)
+ {
+ $module = $this->getAnonymousModule();
+ if (!isset($module->info[$element_name])) {
+ $element = $module->addBlankElement($element_name);
+ } else {
+ $element = $module->info[$element_name];
+ }
+ $element->attr[$attr_name] = $def;
+ }
+
+ /**
+ * Adds a custom element to your HTML definition
+ * @see HTMLPurifier_HTMLModule::addElement() for detailed
+ * parameter and return value descriptions.
+ */
+ public function addElement($element_name, $type, $contents, $attr_collections, $attributes = array())
+ {
+ $module = $this->getAnonymousModule();
+ // assume that if the user is calling this, the element
+ // is safe. This may not be a good idea
+ $element = $module->addElement($element_name, $type, $contents, $attr_collections, $attributes);
+ return $element;
+ }
+
+ /**
+ * Adds a blank element to your HTML definition, for overriding
+ * existing behavior
+ * @param string $element_name
+ * @return HTMLPurifier_ElementDef
+ * @see HTMLPurifier_HTMLModule::addBlankElement() for detailed
+ * parameter and return value descriptions.
+ */
+ public function addBlankElement($element_name)
+ {
+ $module = $this->getAnonymousModule();
+ $element = $module->addBlankElement($element_name);
+ return $element;
+ }
+
+ /**
+ * Retrieves a reference to the anonymous module, so you can
+ * bust out advanced features without having to make your own
+ * module.
+ * @return HTMLPurifier_HTMLModule
+ */
+ public function getAnonymousModule()
+ {
+ if (!$this->_anonModule) {
+ $this->_anonModule = new HTMLPurifier_HTMLModule();
+ $this->_anonModule->name = 'Anonymous';
+ }
+ return $this->_anonModule;
+ }
+
+ private $_anonModule = null;
+
+ // PUBLIC BUT INTERNAL VARIABLES --------------------------------------
+
+ /**
+ * @type string
+ */
+ public $type = 'HTML';
+
+ /**
+ * @type HTMLPurifier_HTMLModuleManager
+ */
+ public $manager;
+
+ /**
+ * Performs low-cost, preliminary initialization.
+ */
+ public function __construct()
+ {
+ $this->manager = new HTMLPurifier_HTMLModuleManager();
+ }
+
+ /**
+ * @param HTMLPurifier_Config $config
+ */
+ protected function doSetup($config)
+ {
+ $this->processModules($config);
+ $this->setupConfigStuff($config);
+ unset($this->manager);
+
+ // cleanup some of the element definitions
+ foreach ($this->info as $k => $v) {
+ unset($this->info[$k]->content_model);
+ unset($this->info[$k]->content_model_type);
+ }
+ }
+
+ /**
+ * Extract out the information from the manager
+ * @param HTMLPurifier_Config $config
+ */
+ protected function processModules($config)
+ {
+ if ($this->_anonModule) {
+ // for user specific changes
+ // this is late-loaded so we don't have to deal with PHP4
+ // reference wonky-ness
+ $this->manager->addModule($this->_anonModule);
+ unset($this->_anonModule);
+ }
+
+ $this->manager->setup($config);
+ $this->doctype = $this->manager->doctype;
+
+ foreach ($this->manager->modules as $module) {
+ foreach ($module->info_tag_transform as $k => $v) {
+ if ($v === false) {
+ unset($this->info_tag_transform[$k]);
+ } else {
+ $this->info_tag_transform[$k] = $v;
+ }
+ }
+ foreach ($module->info_attr_transform_pre as $k => $v) {
+ if ($v === false) {
+ unset($this->info_attr_transform_pre[$k]);
+ } else {
+ $this->info_attr_transform_pre[$k] = $v;
+ }
+ }
+ foreach ($module->info_attr_transform_post as $k => $v) {
+ if ($v === false) {
+ unset($this->info_attr_transform_post[$k]);
+ } else {
+ $this->info_attr_transform_post[$k] = $v;
+ }
+ }
+ foreach ($module->info_injector as $k => $v) {
+ if ($v === false) {
+ unset($this->info_injector[$k]);
+ } else {
+ $this->info_injector[$k] = $v;
+ }
+ }
+ }
+ $this->info = $this->manager->getElements();
+ $this->info_content_sets = $this->manager->contentSets->lookup;
+ }
+
+ /**
+ * Sets up stuff based on config. We need a better way of doing this.
+ * @param HTMLPurifier_Config $config
+ */
+ protected function setupConfigStuff($config)
+ {
+ $block_wrapper = $config->get('HTML.BlockWrapper');
+ if (isset($this->info_content_sets['Block'][$block_wrapper])) {
+ $this->info_block_wrapper = $block_wrapper;
+ } else {
+ trigger_error(
+ 'Cannot use non-block element as block wrapper',
+ E_USER_ERROR
+ );
+ }
+
+ $parent = $config->get('HTML.Parent');
+ $def = $this->manager->getElement($parent, true);
+ if ($def) {
+ $this->info_parent = $parent;
+ $this->info_parent_def = $def;
+ } else {
+ trigger_error(
+ 'Cannot use unrecognized element as parent',
+ E_USER_ERROR
+ );
+ $this->info_parent_def = $this->manager->getElement($this->info_parent, true);
+ }
+
+ // support template text
+ $support = "(for information on implementing this, see the support forums) ";
+
+ // setup allowed elements -----------------------------------------
+
+ $allowed_elements = $config->get('HTML.AllowedElements');
+ $allowed_attributes = $config->get('HTML.AllowedAttributes'); // retrieve early
+
+ if (!is_array($allowed_elements) && !is_array($allowed_attributes)) {
+ $allowed = $config->get('HTML.Allowed');
+ if (is_string($allowed)) {
+ list($allowed_elements, $allowed_attributes) = $this->parseTinyMCEAllowedList($allowed);
+ }
+ }
+
+ if (is_array($allowed_elements)) {
+ foreach ($this->info as $name => $d) {
+ if (!isset($allowed_elements[$name])) {
+ unset($this->info[$name]);
+ }
+ unset($allowed_elements[$name]);
+ }
+ // emit errors
+ foreach ($allowed_elements as $element => $d) {
+ $element = htmlspecialchars($element); // PHP doesn't escape errors, be careful!
+ trigger_error("Element '$element' is not supported $support", E_USER_WARNING);
+ }
+ }
+
+ // setup allowed attributes ---------------------------------------
+
+ $allowed_attributes_mutable = $allowed_attributes; // by copy!
+ if (is_array($allowed_attributes)) {
+ // This actually doesn't do anything, since we went away from
+ // global attributes. It's possible that userland code uses
+ // it, but HTMLModuleManager doesn't!
+ foreach ($this->info_global_attr as $attr => $x) {
+ $keys = array($attr, "*@$attr", "*.$attr");
+ $delete = true;
+ foreach ($keys as $key) {
+ if ($delete && isset($allowed_attributes[$key])) {
+ $delete = false;
+ }
+ if (isset($allowed_attributes_mutable[$key])) {
+ unset($allowed_attributes_mutable[$key]);
+ }
+ }
+ if ($delete) {
+ unset($this->info_global_attr[$attr]);
+ }
+ }
+
+ foreach ($this->info as $tag => $info) {
+ foreach ($info->attr as $attr => $x) {
+ $keys = array("$tag@$attr", $attr, "*@$attr", "$tag.$attr", "*.$attr");
+ $delete = true;
+ foreach ($keys as $key) {
+ if ($delete && isset($allowed_attributes[$key])) {
+ $delete = false;
+ }
+ if (isset($allowed_attributes_mutable[$key])) {
+ unset($allowed_attributes_mutable[$key]);
+ }
+ }
+ if ($delete) {
+ if ($this->info[$tag]->attr[$attr]->required) {
+ trigger_error(
+ "Required attribute '$attr' in element '$tag' " .
+ "was not allowed, which means '$tag' will not be allowed either",
+ E_USER_WARNING
+ );
+ }
+ unset($this->info[$tag]->attr[$attr]);
+ }
+ }
+ }
+ // emit errors
+ foreach ($allowed_attributes_mutable as $elattr => $d) {
+ $bits = preg_split('/[.@]/', $elattr, 2);
+ $c = count($bits);
+ switch ($c) {
+ case 2:
+ if ($bits[0] !== '*') {
+ $element = htmlspecialchars($bits[0]);
+ $attribute = htmlspecialchars($bits[1]);
+ if (!isset($this->info[$element])) {
+ trigger_error(
+ "Cannot allow attribute '$attribute' if element " .
+ "'$element' is not allowed/supported $support"
+ );
+ } else {
+ trigger_error(
+ "Attribute '$attribute' in element '$element' not supported $support",
+ E_USER_WARNING
+ );
+ }
+ break;
+ }
+ // otherwise fall through
+ case 1:
+ $attribute = htmlspecialchars($bits[0]);
+ trigger_error(
+ "Global attribute '$attribute' is not ".
+ "supported in any elements $support",
+ E_USER_WARNING
+ );
+ break;
+ }
+ }
+ }
+
+ // setup forbidden elements ---------------------------------------
+
+ $forbidden_elements = $config->get('HTML.ForbiddenElements');
+ $forbidden_attributes = $config->get('HTML.ForbiddenAttributes');
+
+ foreach ($this->info as $tag => $info) {
+ if (isset($forbidden_elements[$tag])) {
+ unset($this->info[$tag]);
+ continue;
+ }
+ foreach ($info->attr as $attr => $x) {
+ if (isset($forbidden_attributes["$tag@$attr"]) ||
+ isset($forbidden_attributes["*@$attr"]) ||
+ isset($forbidden_attributes[$attr])
+ ) {
+ unset($this->info[$tag]->attr[$attr]);
+ continue;
+ } elseif (isset($forbidden_attributes["$tag.$attr"])) { // this segment might get removed eventually
+ // $tag.$attr are not user supplied, so no worries!
+ trigger_error(
+ "Error with $tag.$attr: tag.attr syntax not supported for " .
+ "HTML.ForbiddenAttributes; use tag@attr instead",
+ E_USER_WARNING
+ );
+ }
+ }
+ }
+ foreach ($forbidden_attributes as $key => $v) {
+ if (strlen($key) < 2) {
+ continue;
+ }
+ if ($key[0] != '*') {
+ continue;
+ }
+ if ($key[1] == '.') {
+ trigger_error(
+ "Error with $key: *.attr syntax not supported for HTML.ForbiddenAttributes; use attr instead",
+ E_USER_WARNING
+ );
+ }
+ }
+
+ // setup injectors -----------------------------------------------------
+ foreach ($this->info_injector as $i => $injector) {
+ if ($injector->checkNeeded($config) !== false) {
+ // remove injector that does not have it's required
+ // elements/attributes present, and is thus not needed.
+ unset($this->info_injector[$i]);
+ }
+ }
+ }
+
+ /**
+ * Parses a TinyMCE-flavored Allowed Elements and Attributes list into
+ * separate lists for processing. Format is element[attr1|attr2],element2...
+ * @warning Although it's largely drawn from TinyMCE's implementation,
+ * it is different, and you'll probably have to modify your lists
+ * @param array $list String list to parse
+ * @return array
+ * @todo Give this its own class, probably static interface
+ */
+ public function parseTinyMCEAllowedList($list)
+ {
+ $list = str_replace(array(' ', "\t"), '', $list);
+
+ $elements = array();
+ $attributes = array();
+
+ $chunks = preg_split('/(,|[\n\r]+)/', $list);
+ foreach ($chunks as $chunk) {
+ if (empty($chunk)) {
+ continue;
+ }
+ // remove TinyMCE element control characters
+ if (!strpos($chunk, '[')) {
+ $element = $chunk;
+ $attr = false;
+ } else {
+ list($element, $attr) = explode('[', $chunk);
+ }
+ if ($element !== '*') {
+ $elements[$element] = true;
+ }
+ if (!$attr) {
+ continue;
+ }
+ $attr = substr($attr, 0, strlen($attr) - 1); // remove trailing ]
+ $attr = explode('|', $attr);
+ foreach ($attr as $key) {
+ $attributes["$element.$key"] = true;
+ }
+ }
+ return array($elements, $attributes);
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule.php
new file mode 100644
index 000000000..bb3a9230b
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule.php
@@ -0,0 +1,284 @@
+<?php
+
+/**
+ * Represents an XHTML 1.1 module, with information on elements, tags
+ * and attributes.
+ * @note Even though this is technically XHTML 1.1, it is also used for
+ * regular HTML parsing. We are using modulization as a convenient
+ * way to represent the internals of HTMLDefinition, and our
+ * implementation is by no means conforming and does not directly
+ * use the normative DTDs or XML schemas.
+ * @note The public variables in a module should almost directly
+ * correspond to the variables in HTMLPurifier_HTMLDefinition.
+ * However, the prefix info carries no special meaning in these
+ * objects (include it anyway if that's the correspondence though).
+ * @todo Consider making some member functions protected
+ */
+
+class HTMLPurifier_HTMLModule
+{
+
+ // -- Overloadable ----------------------------------------------------
+
+ /**
+ * Short unique string identifier of the module.
+ * @type string
+ */
+ public $name;
+
+ /**
+ * Informally, a list of elements this module changes.
+ * Not used in any significant way.
+ * @type array
+ */
+ public $elements = array();
+
+ /**
+ * Associative array of element names to element definitions.
+ * Some definitions may be incomplete, to be merged in later
+ * with the full definition.
+ * @type array
+ */
+ public $info = array();
+
+ /**
+ * Associative array of content set names to content set additions.
+ * This is commonly used to, say, add an A element to the Inline
+ * content set. This corresponds to an internal variable $content_sets
+ * and NOT info_content_sets member variable of HTMLDefinition.
+ * @type array
+ */
+ public $content_sets = array();
+
+ /**
+ * Associative array of attribute collection names to attribute
+ * collection additions. More rarely used for adding attributes to
+ * the global collections. Example is the StyleAttribute module adding
+ * the style attribute to the Core. Corresponds to HTMLDefinition's
+ * attr_collections->info, since the object's data is only info,
+ * with extra behavior associated with it.
+ * @type array
+ */
+ public $attr_collections = array();
+
+ /**
+ * Associative array of deprecated tag name to HTMLPurifier_TagTransform.
+ * @type array
+ */
+ public $info_tag_transform = array();
+
+ /**
+ * List of HTMLPurifier_AttrTransform to be performed before validation.
+ * @type array
+ */
+ public $info_attr_transform_pre = array();
+
+ /**
+ * List of HTMLPurifier_AttrTransform to be performed after validation.
+ * @type array
+ */
+ public $info_attr_transform_post = array();
+
+ /**
+ * List of HTMLPurifier_Injector to be performed during well-formedness fixing.
+ * An injector will only be invoked if all of it's pre-requisites are met;
+ * if an injector fails setup, there will be no error; it will simply be
+ * silently disabled.
+ * @type array
+ */
+ public $info_injector = array();
+
+ /**
+ * Boolean flag that indicates whether or not getChildDef is implemented.
+ * For optimization reasons: may save a call to a function. Be sure
+ * to set it if you do implement getChildDef(), otherwise it will have
+ * no effect!
+ * @type bool
+ */
+ public $defines_child_def = false;
+
+ /**
+ * Boolean flag whether or not this module is safe. If it is not safe, all
+ * of its members are unsafe. Modules are safe by default (this might be
+ * slightly dangerous, but it doesn't make much sense to force HTML Purifier,
+ * which is based off of safe HTML, to explicitly say, "This is safe," even
+ * though there are modules which are "unsafe")
+ *
+ * @type bool
+ * @note Previously, safety could be applied at an element level granularity.
+ * We've removed this ability, so in order to add "unsafe" elements
+ * or attributes, a dedicated module with this property set to false
+ * must be used.
+ */
+ public $safe = true;
+
+ /**
+ * Retrieves a proper HTMLPurifier_ChildDef subclass based on
+ * content_model and content_model_type member variables of
+ * the HTMLPurifier_ElementDef class. There is a similar function
+ * in HTMLPurifier_HTMLDefinition.
+ * @param HTMLPurifier_ElementDef $def
+ * @return HTMLPurifier_ChildDef subclass
+ */
+ public function getChildDef($def)
+ {
+ return false;
+ }
+
+ // -- Convenience -----------------------------------------------------
+
+ /**
+ * Convenience function that sets up a new element
+ * @param string $element Name of element to add
+ * @param string|bool $type What content set should element be registered to?
+ * Set as false to skip this step.
+ * @param string $contents Allowed children in form of:
+ * "$content_model_type: $content_model"
+ * @param array $attr_includes What attribute collections to register to
+ * element?
+ * @param array $attr What unique attributes does the element define?
+ * @see HTMLPurifier_ElementDef:: for in-depth descriptions of these parameters.
+ * @return HTMLPurifier_ElementDef Created element definition object, so you
+ * can set advanced parameters
+ */
+ public function addElement($element, $type, $contents, $attr_includes = array(), $attr = array())
+ {
+ $this->elements[] = $element;
+ // parse content_model
+ list($content_model_type, $content_model) = $this->parseContents($contents);
+ // merge in attribute inclusions
+ $this->mergeInAttrIncludes($attr, $attr_includes);
+ // add element to content sets
+ if ($type) {
+ $this->addElementToContentSet($element, $type);
+ }
+ // create element
+ $this->info[$element] = HTMLPurifier_ElementDef::create(
+ $content_model,
+ $content_model_type,
+ $attr
+ );
+ // literal object $contents means direct child manipulation
+ if (!is_string($contents)) {
+ $this->info[$element]->child = $contents;
+ }
+ return $this->info[$element];
+ }
+
+ /**
+ * Convenience function that creates a totally blank, non-standalone
+ * element.
+ * @param string $element Name of element to create
+ * @return HTMLPurifier_ElementDef Created element
+ */
+ public function addBlankElement($element)
+ {
+ if (!isset($this->info[$element])) {
+ $this->elements[] = $element;
+ $this->info[$element] = new HTMLPurifier_ElementDef();
+ $this->info[$element]->standalone = false;
+ } else {
+ trigger_error("Definition for $element already exists in module, cannot redefine");
+ }
+ return $this->info[$element];
+ }
+
+ /**
+ * Convenience function that registers an element to a content set
+ * @param string $element Element to register
+ * @param string $type Name content set (warning: case sensitive, usually upper-case
+ * first letter)
+ */
+ public function addElementToContentSet($element, $type)
+ {
+ if (!isset($this->content_sets[$type])) {
+ $this->content_sets[$type] = '';
+ } else {
+ $this->content_sets[$type] .= ' | ';
+ }
+ $this->content_sets[$type] .= $element;
+ }
+
+ /**
+ * Convenience function that transforms single-string contents
+ * into separate content model and content model type
+ * @param string $contents Allowed children in form of:
+ * "$content_model_type: $content_model"
+ * @return array
+ * @note If contents is an object, an array of two nulls will be
+ * returned, and the callee needs to take the original $contents
+ * and use it directly.
+ */
+ public function parseContents($contents)
+ {
+ if (!is_string($contents)) {
+ return array(null, null);
+ } // defer
+ switch ($contents) {
+ // check for shorthand content model forms
+ case 'Empty':
+ return array('empty', '');
+ case 'Inline':
+ return array('optional', 'Inline | #PCDATA');
+ case 'Flow':
+ return array('optional', 'Flow | #PCDATA');
+ }
+ list($content_model_type, $content_model) = explode(':', $contents);
+ $content_model_type = strtolower(trim($content_model_type));
+ $content_model = trim($content_model);
+ return array($content_model_type, $content_model);
+ }
+
+ /**
+ * Convenience function that merges a list of attribute includes into
+ * an attribute array.
+ * @param array $attr Reference to attr array to modify
+ * @param array $attr_includes Array of includes / string include to merge in
+ */
+ public function mergeInAttrIncludes(&$attr, $attr_includes)
+ {
+ if (!is_array($attr_includes)) {
+ if (empty($attr_includes)) {
+ $attr_includes = array();
+ } else {
+ $attr_includes = array($attr_includes);
+ }
+ }
+ $attr[0] = $attr_includes;
+ }
+
+ /**
+ * Convenience function that generates a lookup table with boolean
+ * true as value.
+ * @param string $list List of values to turn into a lookup
+ * @note You can also pass an arbitrary number of arguments in
+ * place of the regular argument
+ * @return array array equivalent of list
+ */
+ public function makeLookup($list)
+ {
+ if (is_string($list)) {
+ $list = func_get_args();
+ }
+ $ret = array();
+ foreach ($list as $value) {
+ if (is_null($value)) {
+ continue;
+ }
+ $ret[$value] = true;
+ }
+ return $ret;
+ }
+
+ /**
+ * Lazy load construction of the module after determining whether
+ * or not it's needed, and also when a finalized configuration object
+ * is available.
+ * @param HTMLPurifier_Config $config
+ */
+ public function setup($config)
+ {
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Bdo.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Bdo.php
new file mode 100644
index 000000000..1e67c790d
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Bdo.php
@@ -0,0 +1,44 @@
+<?php
+
+/**
+ * XHTML 1.1 Bi-directional Text Module, defines elements that
+ * declare directionality of content. Text Extension Module.
+ */
+class HTMLPurifier_HTMLModule_Bdo extends HTMLPurifier_HTMLModule
+{
+
+ /**
+ * @type string
+ */
+ public $name = 'Bdo';
+
+ /**
+ * @type array
+ */
+ public $attr_collections = array(
+ 'I18N' => array('dir' => false)
+ );
+
+ /**
+ * @param HTMLPurifier_Config $config
+ */
+ public function setup($config)
+ {
+ $bdo = $this->addElement(
+ 'bdo',
+ 'Inline',
+ 'Inline',
+ array('Core', 'Lang'),
+ array(
+ 'dir' => 'Enum#ltr,rtl', // required
+ // The Abstract Module specification has the attribute
+ // inclusions wrong for bdo: bdo allows Lang
+ )
+ );
+ $bdo->attr_transform_post[] = new HTMLPurifier_AttrTransform_BdoDir();
+
+ $this->attr_collections['I18N']['dir'] = 'Enum#ltr,rtl';
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/CommonAttributes.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/CommonAttributes.php
new file mode 100644
index 000000000..a96ab1bef
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/CommonAttributes.php
@@ -0,0 +1,31 @@
+<?php
+
+class HTMLPurifier_HTMLModule_CommonAttributes extends HTMLPurifier_HTMLModule
+{
+ /**
+ * @type string
+ */
+ public $name = 'CommonAttributes';
+
+ /**
+ * @type array
+ */
+ public $attr_collections = array(
+ 'Core' => array(
+ 0 => array('Style'),
+ // 'xml:space' => false,
+ 'class' => 'Class',
+ 'id' => 'ID',
+ 'title' => 'CDATA',
+ ),
+ 'Lang' => array(),
+ 'I18N' => array(
+ 0 => array('Lang'), // proprietary, for xml:lang/lang
+ ),
+ 'Common' => array(
+ 0 => array('Core', 'I18N')
+ )
+ );
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Edit.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Edit.php
new file mode 100644
index 000000000..a9042a357
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Edit.php
@@ -0,0 +1,55 @@
+<?php
+
+/**
+ * XHTML 1.1 Edit Module, defines editing-related elements. Text Extension
+ * Module.
+ */
+class HTMLPurifier_HTMLModule_Edit extends HTMLPurifier_HTMLModule
+{
+
+ /**
+ * @type string
+ */
+ public $name = 'Edit';
+
+ /**
+ * @param HTMLPurifier_Config $config
+ */
+ public function setup($config)
+ {
+ $contents = 'Chameleon: #PCDATA | Inline ! #PCDATA | Flow';
+ $attr = array(
+ 'cite' => 'URI',
+ // 'datetime' => 'Datetime', // not implemented
+ );
+ $this->addElement('del', 'Inline', $contents, 'Common', $attr);
+ $this->addElement('ins', 'Inline', $contents, 'Common', $attr);
+ }
+
+ // HTML 4.01 specifies that ins/del must not contain block
+ // elements when used in an inline context, chameleon is
+ // a complicated workaround to acheive this effect
+
+ // Inline context ! Block context (exclamation mark is
+ // separator, see getChildDef for parsing)
+
+ /**
+ * @type bool
+ */
+ public $defines_child_def = true;
+
+ /**
+ * @param HTMLPurifier_ElementDef $def
+ * @return HTMLPurifier_ChildDef_Chameleon
+ */
+ public function getChildDef($def)
+ {
+ if ($def->content_model_type != 'chameleon') {
+ return false;
+ }
+ $value = explode('!', $def->content_model);
+ return new HTMLPurifier_ChildDef_Chameleon($value[0], $value[1]);
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Forms.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Forms.php
new file mode 100644
index 000000000..6f7ddbc05
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Forms.php
@@ -0,0 +1,190 @@
+<?php
+
+/**
+ * XHTML 1.1 Forms module, defines all form-related elements found in HTML 4.
+ */
+class HTMLPurifier_HTMLModule_Forms extends HTMLPurifier_HTMLModule
+{
+ /**
+ * @type string
+ */
+ public $name = 'Forms';
+
+ /**
+ * @type bool
+ */
+ public $safe = false;
+
+ /**
+ * @type array
+ */
+ public $content_sets = array(
+ 'Block' => 'Form',
+ 'Inline' => 'Formctrl',
+ );
+
+ /**
+ * @param HTMLPurifier_Config $config
+ */
+ public function setup($config)
+ {
+ $form = $this->addElement(
+ 'form',
+ 'Form',
+ 'Required: Heading | List | Block | fieldset',
+ 'Common',
+ array(
+ 'accept' => 'ContentTypes',
+ 'accept-charset' => 'Charsets',
+ 'action*' => 'URI',
+ 'method' => 'Enum#get,post',
+ // really ContentType, but these two are the only ones used today
+ 'enctype' => 'Enum#application/x-www-form-urlencoded,multipart/form-data',
+ )
+ );
+ $form->excludes = array('form' => true);
+
+ $input = $this->addElement(
+ 'input',
+ 'Formctrl',
+ 'Empty',
+ 'Common',
+ array(
+ 'accept' => 'ContentTypes',
+ 'accesskey' => 'Character',
+ 'alt' => 'Text',
+ 'checked' => 'Bool#checked',
+ 'disabled' => 'Bool#disabled',
+ 'maxlength' => 'Number',
+ 'name' => 'CDATA',
+ 'readonly' => 'Bool#readonly',
+ 'size' => 'Number',
+ 'src' => 'URI#embedded',
+ 'tabindex' => 'Number',
+ 'type' => 'Enum#text,password,checkbox,button,radio,submit,reset,file,hidden,image',
+ 'value' => 'CDATA',
+ )
+ );
+ $input->attr_transform_post[] = new HTMLPurifier_AttrTransform_Input();
+
+ $this->addElement(
+ 'select',
+ 'Formctrl',
+ 'Required: optgroup | option',
+ 'Common',
+ array(
+ 'disabled' => 'Bool#disabled',
+ 'multiple' => 'Bool#multiple',
+ 'name' => 'CDATA',
+ 'size' => 'Number',
+ 'tabindex' => 'Number',
+ )
+ );
+
+ $this->addElement(
+ 'option',
+ false,
+ 'Optional: #PCDATA',
+ 'Common',
+ array(
+ 'disabled' => 'Bool#disabled',
+ 'label' => 'Text',
+ 'selected' => 'Bool#selected',
+ 'value' => 'CDATA',
+ )
+ );
+ // It's illegal for there to be more than one selected, but not
+ // be multiple. Also, no selected means undefined behavior. This might
+ // be difficult to implement; perhaps an injector, or a context variable.
+
+ $textarea = $this->addElement(
+ 'textarea',
+ 'Formctrl',
+ 'Optional: #PCDATA',
+ 'Common',
+ array(
+ 'accesskey' => 'Character',
+ 'cols*' => 'Number',
+ 'disabled' => 'Bool#disabled',
+ 'name' => 'CDATA',
+ 'readonly' => 'Bool#readonly',
+ 'rows*' => 'Number',
+ 'tabindex' => 'Number',
+ )
+ );
+ $textarea->attr_transform_pre[] = new HTMLPurifier_AttrTransform_Textarea();
+
+ $button = $this->addElement(
+ 'button',
+ 'Formctrl',
+ 'Optional: #PCDATA | Heading | List | Block | Inline',
+ 'Common',
+ array(
+ 'accesskey' => 'Character',
+ 'disabled' => 'Bool#disabled',
+ 'name' => 'CDATA',
+ 'tabindex' => 'Number',
+ 'type' => 'Enum#button,submit,reset',
+ 'value' => 'CDATA',
+ )
+ );
+
+ // For exclusions, ideally we'd specify content sets, not literal elements
+ $button->excludes = $this->makeLookup(
+ 'form',
+ 'fieldset', // Form
+ 'input',
+ 'select',
+ 'textarea',
+ 'label',
+ 'button', // Formctrl
+ 'a', // as per HTML 4.01 spec, this is omitted by modularization
+ 'isindex',
+ 'iframe' // legacy items
+ );
+
+ // Extra exclusion: img usemap="" is not permitted within this element.
+ // We'll omit this for now, since we don't have any good way of
+ // indicating it yet.
+
+ // This is HIGHLY user-unfriendly; we need a custom child-def for this
+ $this->addElement('fieldset', 'Form', 'Custom: (#WS?,legend,(Flow|#PCDATA)*)', 'Common');
+
+ $label = $this->addElement(
+ 'label',
+ 'Formctrl',
+ 'Optional: #PCDATA | Inline',
+ 'Common',
+ array(
+ 'accesskey' => 'Character',
+ // 'for' => 'IDREF', // IDREF not implemented, cannot allow
+ )
+ );
+ $label->excludes = array('label' => true);
+
+ $this->addElement(
+ 'legend',
+ false,
+ 'Optional: #PCDATA | Inline',
+ 'Common',
+ array(
+ 'accesskey' => 'Character',
+ )
+ );
+
+ $this->addElement(
+ 'optgroup',
+ false,
+ 'Required: option',
+ 'Common',
+ array(
+ 'disabled' => 'Bool#disabled',
+ 'label*' => 'Text',
+ )
+ );
+ // Don't forget an injector for <isindex>. This one's a little complex
+ // because it maps to multiple elements.
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Hypertext.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Hypertext.php
new file mode 100644
index 000000000..72d7a31e6
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Hypertext.php
@@ -0,0 +1,40 @@
+<?php
+
+/**
+ * XHTML 1.1 Hypertext Module, defines hypertext links. Core Module.
+ */
+class HTMLPurifier_HTMLModule_Hypertext extends HTMLPurifier_HTMLModule
+{
+
+ /**
+ * @type string
+ */
+ public $name = 'Hypertext';
+
+ /**
+ * @param HTMLPurifier_Config $config
+ */
+ public function setup($config)
+ {
+ $a = $this->addElement(
+ 'a',
+ 'Inline',
+ 'Inline',
+ 'Common',
+ array(
+ // 'accesskey' => 'Character',
+ // 'charset' => 'Charset',
+ 'href' => 'URI',
+ // 'hreflang' => 'LanguageCode',
+ 'rel' => new HTMLPurifier_AttrDef_HTML_LinkTypes('rel'),
+ 'rev' => new HTMLPurifier_AttrDef_HTML_LinkTypes('rev'),
+ // 'tabindex' => 'Number',
+ // 'type' => 'ContentType',
+ )
+ );
+ $a->formatting = true;
+ $a->excludes = array('a' => true);
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Iframe.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Iframe.php
new file mode 100644
index 000000000..f7e7c91c0
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Iframe.php
@@ -0,0 +1,51 @@
+<?php
+
+/**
+ * XHTML 1.1 Iframe Module provides inline frames.
+ *
+ * @note This module is not considered safe unless an Iframe
+ * whitelisting mechanism is specified. Currently, the only
+ * such mechanism is %URL.SafeIframeRegexp
+ */
+class HTMLPurifier_HTMLModule_Iframe extends HTMLPurifier_HTMLModule
+{
+
+ /**
+ * @type string
+ */
+ public $name = 'Iframe';
+
+ /**
+ * @type bool
+ */
+ public $safe = false;
+
+ /**
+ * @param HTMLPurifier_Config $config
+ */
+ public function setup($config)
+ {
+ if ($config->get('HTML.SafeIframe')) {
+ $this->safe = true;
+ }
+ $this->addElement(
+ 'iframe',
+ 'Inline',
+ 'Flow',
+ 'Common',
+ array(
+ 'src' => 'URI#embedded',
+ 'width' => 'Length',
+ 'height' => 'Length',
+ 'name' => 'ID',
+ 'scrolling' => 'Enum#yes,no,auto',
+ 'frameborder' => 'Enum#0,1',
+ 'longdesc' => 'URI',
+ 'marginheight' => 'Pixels',
+ 'marginwidth' => 'Pixels',
+ )
+ );
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Image.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Image.php
new file mode 100644
index 000000000..0f5fdb3ba
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Image.php
@@ -0,0 +1,49 @@
+<?php
+
+/**
+ * XHTML 1.1 Image Module provides basic image embedding.
+ * @note There is specialized code for removing empty images in
+ * HTMLPurifier_Strategy_RemoveForeignElements
+ */
+class HTMLPurifier_HTMLModule_Image extends HTMLPurifier_HTMLModule
+{
+
+ /**
+ * @type string
+ */
+ public $name = 'Image';
+
+ /**
+ * @param HTMLPurifier_Config $config
+ */
+ public function setup($config)
+ {
+ $max = $config->get('HTML.MaxImgLength');
+ $img = $this->addElement(
+ 'img',
+ 'Inline',
+ 'Empty',
+ 'Common',
+ array(
+ 'alt*' => 'Text',
+ // According to the spec, it's Length, but percents can
+ // be abused, so we allow only Pixels.
+ 'height' => 'Pixels#' . $max,
+ 'width' => 'Pixels#' . $max,
+ 'longdesc' => 'URI',
+ 'src*' => new HTMLPurifier_AttrDef_URI(true), // embedded
+ )
+ );
+ if ($max === null || $config->get('HTML.Trusted')) {
+ $img->attr['height'] =
+ $img->attr['width'] = 'Length';
+ }
+
+ // kind of strange, but splitting things up would be inefficient
+ $img->attr_transform_pre[] =
+ $img->attr_transform_post[] =
+ new HTMLPurifier_AttrTransform_ImgRequired();
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Legacy.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Legacy.php
new file mode 100644
index 000000000..86b529957
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Legacy.php
@@ -0,0 +1,186 @@
+<?php
+
+/**
+ * XHTML 1.1 Legacy module defines elements that were previously
+ * deprecated.
+ *
+ * @note Not all legacy elements have been implemented yet, which
+ * is a bit of a reverse problem as compared to browsers! In
+ * addition, this legacy module may implement a bit more than
+ * mandated by XHTML 1.1.
+ *
+ * This module can be used in combination with TransformToStrict in order
+ * to transform as many deprecated elements as possible, but retain
+ * questionably deprecated elements that do not have good alternatives
+ * as well as transform elements that don't have an implementation.
+ * See docs/ref-strictness.txt for more details.
+ */
+
+class HTMLPurifier_HTMLModule_Legacy extends HTMLPurifier_HTMLModule
+{
+ /**
+ * @type string
+ */
+ public $name = 'Legacy';
+
+ /**
+ * @param HTMLPurifier_Config $config
+ */
+ public function setup($config)
+ {
+ $this->addElement(
+ 'basefont',
+ 'Inline',
+ 'Empty',
+ null,
+ array(
+ 'color' => 'Color',
+ 'face' => 'Text', // extremely broad, we should
+ 'size' => 'Text', // tighten it
+ 'id' => 'ID'
+ )
+ );
+ $this->addElement('center', 'Block', 'Flow', 'Common');
+ $this->addElement(
+ 'dir',
+ 'Block',
+ 'Required: li',
+ 'Common',
+ array(
+ 'compact' => 'Bool#compact'
+ )
+ );
+ $this->addElement(
+ 'font',
+ 'Inline',
+ 'Inline',
+ array('Core', 'I18N'),
+ array(
+ 'color' => 'Color',
+ 'face' => 'Text', // extremely broad, we should
+ 'size' => 'Text', // tighten it
+ )
+ );
+ $this->addElement(
+ 'menu',
+ 'Block',
+ 'Required: li',
+ 'Common',
+ array(
+ 'compact' => 'Bool#compact'
+ )
+ );
+
+ $s = $this->addElement('s', 'Inline', 'Inline', 'Common');
+ $s->formatting = true;
+
+ $strike = $this->addElement('strike', 'Inline', 'Inline', 'Common');
+ $strike->formatting = true;
+
+ $u = $this->addElement('u', 'Inline', 'Inline', 'Common');
+ $u->formatting = true;
+
+ // setup modifications to old elements
+
+ $align = 'Enum#left,right,center,justify';
+
+ $address = $this->addBlankElement('address');
+ $address->content_model = 'Inline | #PCDATA | p';
+ $address->content_model_type = 'optional';
+ $address->child = false;
+
+ $blockquote = $this->addBlankElement('blockquote');
+ $blockquote->content_model = 'Flow | #PCDATA';
+ $blockquote->content_model_type = 'optional';
+ $blockquote->child = false;
+
+ $br = $this->addBlankElement('br');
+ $br->attr['clear'] = 'Enum#left,all,right,none';
+
+ $caption = $this->addBlankElement('caption');
+ $caption->attr['align'] = 'Enum#top,bottom,left,right';
+
+ $div = $this->addBlankElement('div');
+ $div->attr['align'] = $align;
+
+ $dl = $this->addBlankElement('dl');
+ $dl->attr['compact'] = 'Bool#compact';
+
+ for ($i = 1; $i <= 6; $i++) {
+ $h = $this->addBlankElement("h$i");
+ $h->attr['align'] = $align;
+ }
+
+ $hr = $this->addBlankElement('hr');
+ $hr->attr['align'] = $align;
+ $hr->attr['noshade'] = 'Bool#noshade';
+ $hr->attr['size'] = 'Pixels';
+ $hr->attr['width'] = 'Length';
+
+ $img = $this->addBlankElement('img');
+ $img->attr['align'] = 'IAlign';
+ $img->attr['border'] = 'Pixels';
+ $img->attr['hspace'] = 'Pixels';
+ $img->attr['vspace'] = 'Pixels';
+
+ // figure out this integer business
+
+ $li = $this->addBlankElement('li');
+ $li->attr['value'] = new HTMLPurifier_AttrDef_Integer();
+ $li->attr['type'] = 'Enum#s:1,i,I,a,A,disc,square,circle';
+
+ $ol = $this->addBlankElement('ol');
+ $ol->attr['compact'] = 'Bool#compact';
+ $ol->attr['start'] = new HTMLPurifier_AttrDef_Integer();
+ $ol->attr['type'] = 'Enum#s:1,i,I,a,A';
+
+ $p = $this->addBlankElement('p');
+ $p->attr['align'] = $align;
+
+ $pre = $this->addBlankElement('pre');
+ $pre->attr['width'] = 'Number';
+
+ // script omitted
+
+ $table = $this->addBlankElement('table');
+ $table->attr['align'] = 'Enum#left,center,right';
+ $table->attr['bgcolor'] = 'Color';
+
+ $tr = $this->addBlankElement('tr');
+ $tr->attr['bgcolor'] = 'Color';
+
+ $th = $this->addBlankElement('th');
+ $th->attr['bgcolor'] = 'Color';
+ $th->attr['height'] = 'Length';
+ $th->attr['nowrap'] = 'Bool#nowrap';
+ $th->attr['width'] = 'Length';
+
+ $td = $this->addBlankElement('td');
+ $td->attr['bgcolor'] = 'Color';
+ $td->attr['height'] = 'Length';
+ $td->attr['nowrap'] = 'Bool#nowrap';
+ $td->attr['width'] = 'Length';
+
+ $ul = $this->addBlankElement('ul');
+ $ul->attr['compact'] = 'Bool#compact';
+ $ul->attr['type'] = 'Enum#square,disc,circle';
+
+ // "safe" modifications to "unsafe" elements
+ // WARNING: If you want to add support for an unsafe, legacy
+ // attribute, make a new TrustedLegacy module with the trusted
+ // bit set appropriately
+
+ $form = $this->addBlankElement('form');
+ $form->content_model = 'Flow | #PCDATA';
+ $form->content_model_type = 'optional';
+ $form->attr['target'] = 'FrameTarget';
+
+ $input = $this->addBlankElement('input');
+ $input->attr['align'] = 'IAlign';
+
+ $legend = $this->addBlankElement('legend');
+ $legend->attr['align'] = 'LAlign';
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/List.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/List.php
new file mode 100644
index 000000000..7a20ff701
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/List.php
@@ -0,0 +1,51 @@
+<?php
+
+/**
+ * XHTML 1.1 List Module, defines list-oriented elements. Core Module.
+ */
+class HTMLPurifier_HTMLModule_List extends HTMLPurifier_HTMLModule
+{
+ /**
+ * @type string
+ */
+ public $name = 'List';
+
+ // According to the abstract schema, the List content set is a fully formed
+ // one or more expr, but it invariably occurs in an optional declaration
+ // so we're not going to do that subtlety. It might cause trouble
+ // if a user defines "List" and expects that multiple lists are
+ // allowed to be specified, but then again, that's not very intuitive.
+ // Furthermore, the actual XML Schema may disagree. Regardless,
+ // we don't have support for such nested expressions without using
+ // the incredibly inefficient and draconic Custom ChildDef.
+
+ /**
+ * @type array
+ */
+ public $content_sets = array('Flow' => 'List');
+
+ /**
+ * @param HTMLPurifier_Config $config
+ */
+ public function setup($config)
+ {
+ $ol = $this->addElement('ol', 'List', new HTMLPurifier_ChildDef_List(), 'Common');
+ $ul = $this->addElement('ul', 'List', new HTMLPurifier_ChildDef_List(), 'Common');
+ // XXX The wrap attribute is handled by MakeWellFormed. This is all
+ // quite unsatisfactory, because we generated this
+ // *specifically* for lists, and now a big chunk of the handling
+ // is done properly by the List ChildDef. So actually, we just
+ // want enough information to make autoclosing work properly,
+ // and then hand off the tricky stuff to the ChildDef.
+ $ol->wrap = 'li';
+ $ul->wrap = 'li';
+ $this->addElement('dl', 'List', 'Required: dt | dd', 'Common');
+
+ $this->addElement('li', false, 'Flow', 'Common');
+
+ $this->addElement('dd', false, 'Flow', 'Common');
+ $this->addElement('dt', false, 'Inline', 'Common');
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Name.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Name.php
new file mode 100644
index 000000000..60c054515
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Name.php
@@ -0,0 +1,26 @@
+<?php
+
+class HTMLPurifier_HTMLModule_Name extends HTMLPurifier_HTMLModule
+{
+ /**
+ * @type string
+ */
+ public $name = 'Name';
+
+ /**
+ * @param HTMLPurifier_Config $config
+ */
+ public function setup($config)
+ {
+ $elements = array('a', 'applet', 'form', 'frame', 'iframe', 'img', 'map');
+ foreach ($elements as $name) {
+ $element = $this->addBlankElement($name);
+ $element->attr['name'] = 'CDATA';
+ if (!$config->get('HTML.Attr.Name.UseCDATA')) {
+ $element->attr_transform_post[] = new HTMLPurifier_AttrTransform_NameSync();
+ }
+ }
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Nofollow.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Nofollow.php
new file mode 100644
index 000000000..dc9410a89
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Nofollow.php
@@ -0,0 +1,25 @@
+<?php
+
+/**
+ * Module adds the nofollow attribute transformation to a tags. It
+ * is enabled by HTML.Nofollow
+ */
+class HTMLPurifier_HTMLModule_Nofollow extends HTMLPurifier_HTMLModule
+{
+
+ /**
+ * @type string
+ */
+ public $name = 'Nofollow';
+
+ /**
+ * @param HTMLPurifier_Config $config
+ */
+ public function setup($config)
+ {
+ $a = $this->addBlankElement('a');
+ $a->attr_transform_post[] = new HTMLPurifier_AttrTransform_Nofollow();
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/NonXMLCommonAttributes.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/NonXMLCommonAttributes.php
new file mode 100644
index 000000000..da722253a
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/NonXMLCommonAttributes.php
@@ -0,0 +1,20 @@
+<?php
+
+class HTMLPurifier_HTMLModule_NonXMLCommonAttributes extends HTMLPurifier_HTMLModule
+{
+ /**
+ * @type string
+ */
+ public $name = 'NonXMLCommonAttributes';
+
+ /**
+ * @type array
+ */
+ public $attr_collections = array(
+ 'Lang' => array(
+ 'lang' => 'LanguageCode',
+ )
+ );
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Object.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Object.php
new file mode 100644
index 000000000..2f9efc5c8
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Object.php
@@ -0,0 +1,62 @@
+<?php
+
+/**
+ * XHTML 1.1 Object Module, defines elements for generic object inclusion
+ * @warning Users will commonly use <embed> to cater to legacy browsers: this
+ * module does not allow this sort of behavior
+ */
+class HTMLPurifier_HTMLModule_Object extends HTMLPurifier_HTMLModule
+{
+ /**
+ * @type string
+ */
+ public $name = 'Object';
+
+ /**
+ * @type bool
+ */
+ public $safe = false;
+
+ /**
+ * @param HTMLPurifier_Config $config
+ */
+ public function setup($config)
+ {
+ $this->addElement(
+ 'object',
+ 'Inline',
+ 'Optional: #PCDATA | Flow | param',
+ 'Common',
+ array(
+ 'archive' => 'URI',
+ 'classid' => 'URI',
+ 'codebase' => 'URI',
+ 'codetype' => 'Text',
+ 'data' => 'URI',
+ 'declare' => 'Bool#declare',
+ 'height' => 'Length',
+ 'name' => 'CDATA',
+ 'standby' => 'Text',
+ 'tabindex' => 'Number',
+ 'type' => 'ContentType',
+ 'width' => 'Length'
+ )
+ );
+
+ $this->addElement(
+ 'param',
+ false,
+ 'Empty',
+ null,
+ array(
+ 'id' => 'ID',
+ 'name*' => 'Text',
+ 'type' => 'Text',
+ 'value' => 'Text',
+ 'valuetype' => 'Enum#data,ref,object'
+ )
+ );
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Presentation.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Presentation.php
new file mode 100644
index 000000000..6458ce9d8
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Presentation.php
@@ -0,0 +1,42 @@
+<?php
+
+/**
+ * XHTML 1.1 Presentation Module, defines simple presentation-related
+ * markup. Text Extension Module.
+ * @note The official XML Schema and DTD specs further divide this into
+ * two modules:
+ * - Block Presentation (hr)
+ * - Inline Presentation (b, big, i, small, sub, sup, tt)
+ * We have chosen not to heed this distinction, as content_sets
+ * provides satisfactory disambiguation.
+ */
+class HTMLPurifier_HTMLModule_Presentation extends HTMLPurifier_HTMLModule
+{
+
+ /**
+ * @type string
+ */
+ public $name = 'Presentation';
+
+ /**
+ * @param HTMLPurifier_Config $config
+ */
+ public function setup($config)
+ {
+ $this->addElement('hr', 'Block', 'Empty', 'Common');
+ $this->addElement('sub', 'Inline', 'Inline', 'Common');
+ $this->addElement('sup', 'Inline', 'Inline', 'Common');
+ $b = $this->addElement('b', 'Inline', 'Inline', 'Common');
+ $b->formatting = true;
+ $big = $this->addElement('big', 'Inline', 'Inline', 'Common');
+ $big->formatting = true;
+ $i = $this->addElement('i', 'Inline', 'Inline', 'Common');
+ $i->formatting = true;
+ $small = $this->addElement('small', 'Inline', 'Inline', 'Common');
+ $small->formatting = true;
+ $tt = $this->addElement('tt', 'Inline', 'Inline', 'Common');
+ $tt->formatting = true;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Proprietary.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Proprietary.php
new file mode 100644
index 000000000..5ee3c8e67
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Proprietary.php
@@ -0,0 +1,40 @@
+<?php
+
+/**
+ * Module defines proprietary tags and attributes in HTML.
+ * @warning If this module is enabled, standards-compliance is off!
+ */
+class HTMLPurifier_HTMLModule_Proprietary extends HTMLPurifier_HTMLModule
+{
+ /**
+ * @type string
+ */
+ public $name = 'Proprietary';
+
+ /**
+ * @param HTMLPurifier_Config $config
+ */
+ public function setup($config)
+ {
+ $this->addElement(
+ 'marquee',
+ 'Inline',
+ 'Flow',
+ 'Common',
+ array(
+ 'direction' => 'Enum#left,right,up,down',
+ 'behavior' => 'Enum#alternate',
+ 'width' => 'Length',
+ 'height' => 'Length',
+ 'scrolldelay' => 'Number',
+ 'scrollamount' => 'Number',
+ 'loop' => 'Number',
+ 'bgcolor' => 'Color',
+ 'hspace' => 'Pixels',
+ 'vspace' => 'Pixels',
+ )
+ );
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Ruby.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Ruby.php
new file mode 100644
index 000000000..a0d48924d
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Ruby.php
@@ -0,0 +1,36 @@
+<?php
+
+/**
+ * XHTML 1.1 Ruby Annotation Module, defines elements that indicate
+ * short runs of text alongside base text for annotation or pronounciation.
+ */
+class HTMLPurifier_HTMLModule_Ruby extends HTMLPurifier_HTMLModule
+{
+
+ /**
+ * @type string
+ */
+ public $name = 'Ruby';
+
+ /**
+ * @param HTMLPurifier_Config $config
+ */
+ public function setup($config)
+ {
+ $this->addElement(
+ 'ruby',
+ 'Inline',
+ 'Custom: ((rb, (rt | (rp, rt, rp))) | (rbc, rtc, rtc?))',
+ 'Common'
+ );
+ $this->addElement('rbc', false, 'Required: rb', 'Common');
+ $this->addElement('rtc', false, 'Required: rt', 'Common');
+ $rb = $this->addElement('rb', false, 'Inline', 'Common');
+ $rb->excludes = array('ruby' => true);
+ $rt = $this->addElement('rt', false, 'Inline', 'Common', array('rbspan' => 'Number'));
+ $rt->excludes = array('ruby' => true);
+ $this->addElement('rp', false, 'Optional: #PCDATA', 'Common');
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/SafeEmbed.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/SafeEmbed.php
new file mode 100644
index 000000000..04e6689ea
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/SafeEmbed.php
@@ -0,0 +1,40 @@
+<?php
+
+/**
+ * A "safe" embed module. See SafeObject. This is a proprietary element.
+ */
+class HTMLPurifier_HTMLModule_SafeEmbed extends HTMLPurifier_HTMLModule
+{
+ /**
+ * @type string
+ */
+ public $name = 'SafeEmbed';
+
+ /**
+ * @param HTMLPurifier_Config $config
+ */
+ public function setup($config)
+ {
+ $max = $config->get('HTML.MaxImgLength');
+ $embed = $this->addElement(
+ 'embed',
+ 'Inline',
+ 'Empty',
+ 'Common',
+ array(
+ 'src*' => 'URI#embedded',
+ 'type' => 'Enum#application/x-shockwave-flash',
+ 'width' => 'Pixels#' . $max,
+ 'height' => 'Pixels#' . $max,
+ 'allowscriptaccess' => 'Enum#never',
+ 'allownetworking' => 'Enum#internal',
+ 'flashvars' => 'Text',
+ 'wmode' => 'Enum#window,transparent,opaque',
+ 'name' => 'ID',
+ )
+ );
+ $embed->attr_transform_post[] = new HTMLPurifier_AttrTransform_SafeEmbed();
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/SafeObject.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/SafeObject.php
new file mode 100644
index 000000000..1297f80a3
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/SafeObject.php
@@ -0,0 +1,62 @@
+<?php
+
+/**
+ * A "safe" object module. In theory, objects permitted by this module will
+ * be safe, and untrusted users can be allowed to embed arbitrary flash objects
+ * (maybe other types too, but only Flash is supported as of right now).
+ * Highly experimental.
+ */
+class HTMLPurifier_HTMLModule_SafeObject extends HTMLPurifier_HTMLModule
+{
+ /**
+ * @type string
+ */
+ public $name = 'SafeObject';
+
+ /**
+ * @param HTMLPurifier_Config $config
+ */
+ public function setup($config)
+ {
+ // These definitions are not intrinsically safe: the attribute transforms
+ // are a vital part of ensuring safety.
+
+ $max = $config->get('HTML.MaxImgLength');
+ $object = $this->addElement(
+ 'object',
+ 'Inline',
+ 'Optional: param | Flow | #PCDATA',
+ 'Common',
+ array(
+ // While technically not required by the spec, we're forcing
+ // it to this value.
+ 'type' => 'Enum#application/x-shockwave-flash',
+ 'width' => 'Pixels#' . $max,
+ 'height' => 'Pixels#' . $max,
+ 'data' => 'URI#embedded',
+ 'codebase' => new HTMLPurifier_AttrDef_Enum(
+ array(
+ 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0'
+ )
+ ),
+ )
+ );
+ $object->attr_transform_post[] = new HTMLPurifier_AttrTransform_SafeObject();
+
+ $param = $this->addElement(
+ 'param',
+ false,
+ 'Empty',
+ false,
+ array(
+ 'id' => 'ID',
+ 'name*' => 'Text',
+ 'value' => 'Text'
+ )
+ );
+ $param->attr_transform_post[] = new HTMLPurifier_AttrTransform_SafeParam();
+ $this->info_injector[] = 'SafeObject';
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/SafeScripting.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/SafeScripting.php
new file mode 100644
index 000000000..0330cd97f
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/SafeScripting.php
@@ -0,0 +1,40 @@
+<?php
+
+/**
+ * A "safe" script module. No inline JS is allowed, and pointed to JS
+ * files must match whitelist.
+ */
+class HTMLPurifier_HTMLModule_SafeScripting extends HTMLPurifier_HTMLModule
+{
+ /**
+ * @type string
+ */
+ public $name = 'SafeScripting';
+
+ /**
+ * @param HTMLPurifier_Config $config
+ */
+ public function setup($config)
+ {
+ // These definitions are not intrinsically safe: the attribute transforms
+ // are a vital part of ensuring safety.
+
+ $allowed = $config->get('HTML.SafeScripting');
+ $script = $this->addElement(
+ 'script',
+ 'Inline',
+ 'Empty',
+ null,
+ array(
+ // While technically not required by the spec, we're forcing
+ // it to this value.
+ 'type' => 'Enum#text/javascript',
+ 'src*' => new HTMLPurifier_AttrDef_Enum(array_keys($allowed))
+ )
+ );
+ $script->attr_transform_pre[] =
+ $script->attr_transform_post[] = new HTMLPurifier_AttrTransform_ScriptRequired();
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Scripting.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Scripting.php
new file mode 100644
index 000000000..8b28a7b7e
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Scripting.php
@@ -0,0 +1,73 @@
+<?php
+
+/*
+
+WARNING: THIS MODULE IS EXTREMELY DANGEROUS AS IT ENABLES INLINE SCRIPTING
+INSIDE HTML PURIFIER DOCUMENTS. USE ONLY WITH TRUSTED USER INPUT!!!
+
+*/
+
+/**
+ * XHTML 1.1 Scripting module, defines elements that are used to contain
+ * information pertaining to executable scripts or the lack of support
+ * for executable scripts.
+ * @note This module does not contain inline scripting elements
+ */
+class HTMLPurifier_HTMLModule_Scripting extends HTMLPurifier_HTMLModule
+{
+ /**
+ * @type string
+ */
+ public $name = 'Scripting';
+
+ /**
+ * @type array
+ */
+ public $elements = array('script', 'noscript');
+
+ /**
+ * @type array
+ */
+ public $content_sets = array('Block' => 'script | noscript', 'Inline' => 'script | noscript');
+
+ /**
+ * @type bool
+ */
+ public $safe = false;
+
+ /**
+ * @param HTMLPurifier_Config $config
+ */
+ public function setup($config)
+ {
+ // TODO: create custom child-definition for noscript that
+ // auto-wraps stray #PCDATA in a similar manner to
+ // blockquote's custom definition (we would use it but
+ // blockquote's contents are optional while noscript's contents
+ // are required)
+
+ // TODO: convert this to new syntax, main problem is getting
+ // both content sets working
+
+ // In theory, this could be safe, but I don't see any reason to
+ // allow it.
+ $this->info['noscript'] = new HTMLPurifier_ElementDef();
+ $this->info['noscript']->attr = array(0 => array('Common'));
+ $this->info['noscript']->content_model = 'Heading | List | Block';
+ $this->info['noscript']->content_model_type = 'required';
+
+ $this->info['script'] = new HTMLPurifier_ElementDef();
+ $this->info['script']->attr = array(
+ 'defer' => new HTMLPurifier_AttrDef_Enum(array('defer')),
+ 'src' => new HTMLPurifier_AttrDef_URI(true),
+ 'type' => new HTMLPurifier_AttrDef_Enum(array('text/javascript'))
+ );
+ $this->info['script']->content_model = '#PCDATA';
+ $this->info['script']->content_model_type = 'optional';
+ $this->info['script']->attr_transform_pre[] =
+ $this->info['script']->attr_transform_post[] =
+ new HTMLPurifier_AttrTransform_ScriptRequired();
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/StyleAttribute.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/StyleAttribute.php
new file mode 100644
index 000000000..497b832ae
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/StyleAttribute.php
@@ -0,0 +1,33 @@
+<?php
+
+/**
+ * XHTML 1.1 Edit Module, defines editing-related elements. Text Extension
+ * Module.
+ */
+class HTMLPurifier_HTMLModule_StyleAttribute extends HTMLPurifier_HTMLModule
+{
+ /**
+ * @type string
+ */
+ public $name = 'StyleAttribute';
+
+ /**
+ * @type array
+ */
+ public $attr_collections = array(
+ // The inclusion routine differs from the Abstract Modules but
+ // is in line with the DTD and XML Schemas.
+ 'Style' => array('style' => false), // see constructor
+ 'Core' => array(0 => array('Style'))
+ );
+
+ /**
+ * @param HTMLPurifier_Config $config
+ */
+ public function setup($config)
+ {
+ $this->attr_collections['Style']['style'] = new HTMLPurifier_AttrDef_CSS();
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Tables.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Tables.php
new file mode 100644
index 000000000..8a0b3b461
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Tables.php
@@ -0,0 +1,75 @@
+<?php
+
+/**
+ * XHTML 1.1 Tables Module, fully defines accessible table elements.
+ */
+class HTMLPurifier_HTMLModule_Tables extends HTMLPurifier_HTMLModule
+{
+ /**
+ * @type string
+ */
+ public $name = 'Tables';
+
+ /**
+ * @param HTMLPurifier_Config $config
+ */
+ public function setup($config)
+ {
+ $this->addElement('caption', false, 'Inline', 'Common');
+
+ $this->addElement(
+ 'table',
+ 'Block',
+ new HTMLPurifier_ChildDef_Table(),
+ 'Common',
+ array(
+ 'border' => 'Pixels',
+ 'cellpadding' => 'Length',
+ 'cellspacing' => 'Length',
+ 'frame' => 'Enum#void,above,below,hsides,lhs,rhs,vsides,box,border',
+ 'rules' => 'Enum#none,groups,rows,cols,all',
+ 'summary' => 'Text',
+ 'width' => 'Length'
+ )
+ );
+
+ // common attributes
+ $cell_align = array(
+ 'align' => 'Enum#left,center,right,justify,char',
+ 'charoff' => 'Length',
+ 'valign' => 'Enum#top,middle,bottom,baseline',
+ );
+
+ $cell_t = array_merge(
+ array(
+ 'abbr' => 'Text',
+ 'colspan' => 'Number',
+ 'rowspan' => 'Number',
+ // Apparently, as of HTML5 this attribute only applies
+ // to 'th' elements.
+ 'scope' => 'Enum#row,col,rowgroup,colgroup',
+ ),
+ $cell_align
+ );
+ $this->addElement('td', false, 'Flow', 'Common', $cell_t);
+ $this->addElement('th', false, 'Flow', 'Common', $cell_t);
+
+ $this->addElement('tr', false, 'Required: td | th', 'Common', $cell_align);
+
+ $cell_col = array_merge(
+ array(
+ 'span' => 'Number',
+ 'width' => 'MultiLength',
+ ),
+ $cell_align
+ );
+ $this->addElement('col', false, 'Empty', 'Common', $cell_col);
+ $this->addElement('colgroup', false, 'Optional: col', 'Common', $cell_col);
+
+ $this->addElement('tbody', false, 'Required: tr', 'Common', $cell_align);
+ $this->addElement('thead', false, 'Required: tr', 'Common', $cell_align);
+ $this->addElement('tfoot', false, 'Required: tr', 'Common', $cell_align);
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Target.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Target.php
new file mode 100644
index 000000000..b188ac936
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Target.php
@@ -0,0 +1,28 @@
+<?php
+
+/**
+ * XHTML 1.1 Target Module, defines target attribute in link elements.
+ */
+class HTMLPurifier_HTMLModule_Target extends HTMLPurifier_HTMLModule
+{
+ /**
+ * @type string
+ */
+ public $name = 'Target';
+
+ /**
+ * @param HTMLPurifier_Config $config
+ */
+ public function setup($config)
+ {
+ $elements = array('a');
+ foreach ($elements as $name) {
+ $e = $this->addBlankElement($name);
+ $e->attr = array(
+ 'target' => new HTMLPurifier_AttrDef_HTML_FrameTarget()
+ );
+ }
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/TargetBlank.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/TargetBlank.php
new file mode 100644
index 000000000..58ccc6894
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/TargetBlank.php
@@ -0,0 +1,24 @@
+<?php
+
+/**
+ * Module adds the target=blank attribute transformation to a tags. It
+ * is enabled by HTML.TargetBlank
+ */
+class HTMLPurifier_HTMLModule_TargetBlank extends HTMLPurifier_HTMLModule
+{
+ /**
+ * @type string
+ */
+ public $name = 'TargetBlank';
+
+ /**
+ * @param HTMLPurifier_Config $config
+ */
+ public function setup($config)
+ {
+ $a = $this->addBlankElement('a');
+ $a->attr_transform_post[] = new HTMLPurifier_AttrTransform_TargetBlank();
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/TargetNoopener.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/TargetNoopener.php
new file mode 100644
index 000000000..b967ff566
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/TargetNoopener.php
@@ -0,0 +1,21 @@
+<?php
+
+/**
+ * Module adds the target-based noopener attribute transformation to a tags. It
+ * is enabled by HTML.TargetNoopener
+ */
+class HTMLPurifier_HTMLModule_TargetNoopener extends HTMLPurifier_HTMLModule
+{
+ /**
+ * @type string
+ */
+ public $name = 'TargetNoopener';
+
+ /**
+ * @param HTMLPurifier_Config $config
+ */
+ public function setup($config) {
+ $a = $this->addBlankElement('a');
+ $a->attr_transform_post[] = new HTMLPurifier_AttrTransform_TargetNoopener();
+ }
+}
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/TargetNoreferrer.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/TargetNoreferrer.php
new file mode 100644
index 000000000..32484d601
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/TargetNoreferrer.php
@@ -0,0 +1,21 @@
+<?php
+
+/**
+ * Module adds the target-based noreferrer attribute transformation to a tags. It
+ * is enabled by HTML.TargetNoreferrer
+ */
+class HTMLPurifier_HTMLModule_TargetNoreferrer extends HTMLPurifier_HTMLModule
+{
+ /**
+ * @type string
+ */
+ public $name = 'TargetNoreferrer';
+
+ /**
+ * @param HTMLPurifier_Config $config
+ */
+ public function setup($config) {
+ $a = $this->addBlankElement('a');
+ $a->attr_transform_post[] = new HTMLPurifier_AttrTransform_TargetNoreferrer();
+ }
+}
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Text.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Text.php
new file mode 100644
index 000000000..7a65e0048
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Text.php
@@ -0,0 +1,87 @@
+<?php
+
+/**
+ * XHTML 1.1 Text Module, defines basic text containers. Core Module.
+ * @note In the normative XML Schema specification, this module
+ * is further abstracted into the following modules:
+ * - Block Phrasal (address, blockquote, pre, h1, h2, h3, h4, h5, h6)
+ * - Block Structural (div, p)
+ * - Inline Phrasal (abbr, acronym, cite, code, dfn, em, kbd, q, samp, strong, var)
+ * - Inline Structural (br, span)
+ * This module, functionally, does not distinguish between these
+ * sub-modules, but the code is internally structured to reflect
+ * these distinctions.
+ */
+class HTMLPurifier_HTMLModule_Text extends HTMLPurifier_HTMLModule
+{
+ /**
+ * @type string
+ */
+ public $name = 'Text';
+
+ /**
+ * @type array
+ */
+ public $content_sets = array(
+ 'Flow' => 'Heading | Block | Inline'
+ );
+
+ /**
+ * @param HTMLPurifier_Config $config
+ */
+ public function setup($config)
+ {
+ // Inline Phrasal -------------------------------------------------
+ $this->addElement('abbr', 'Inline', 'Inline', 'Common');
+ $this->addElement('acronym', 'Inline', 'Inline', 'Common');
+ $this->addElement('cite', 'Inline', 'Inline', 'Common');
+ $this->addElement('dfn', 'Inline', 'Inline', 'Common');
+ $this->addElement('kbd', 'Inline', 'Inline', 'Common');
+ $this->addElement('q', 'Inline', 'Inline', 'Common', array('cite' => 'URI'));
+ $this->addElement('samp', 'Inline', 'Inline', 'Common');
+ $this->addElement('var', 'Inline', 'Inline', 'Common');
+
+ $em = $this->addElement('em', 'Inline', 'Inline', 'Common');
+ $em->formatting = true;
+
+ $strong = $this->addElement('strong', 'Inline', 'Inline', 'Common');
+ $strong->formatting = true;
+
+ $code = $this->addElement('code', 'Inline', 'Inline', 'Common');
+ $code->formatting = true;
+
+ // Inline Structural ----------------------------------------------
+ $this->addElement('span', 'Inline', 'Inline', 'Common');
+ $this->addElement('br', 'Inline', 'Empty', 'Core');
+
+ // Block Phrasal --------------------------------------------------
+ $this->addElement('address', 'Block', 'Inline', 'Common');
+ $this->addElement('blockquote', 'Block', 'Optional: Heading | Block | List', 'Common', array('cite' => 'URI'));
+ $pre = $this->addElement('pre', 'Block', 'Inline', 'Common');
+ $pre->excludes = $this->makeLookup(
+ 'img',
+ 'big',
+ 'small',
+ 'object',
+ 'applet',
+ 'font',
+ 'basefont'
+ );
+ $this->addElement('h1', 'Heading', 'Inline', 'Common');
+ $this->addElement('h2', 'Heading', 'Inline', 'Common');
+ $this->addElement('h3', 'Heading', 'Inline', 'Common');
+ $this->addElement('h4', 'Heading', 'Inline', 'Common');
+ $this->addElement('h5', 'Heading', 'Inline', 'Common');
+ $this->addElement('h6', 'Heading', 'Inline', 'Common');
+
+ // Block Structural -----------------------------------------------
+ $p = $this->addElement('p', 'Block', 'Inline', 'Common');
+ $p->autoclose = array_flip(
+ array("address", "blockquote", "center", "dir", "div", "dl", "fieldset", "ol", "p", "ul")
+ );
+
+ $this->addElement('div', 'Block', 'Flow', 'Common');
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy.php
new file mode 100644
index 000000000..08aa23247
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy.php
@@ -0,0 +1,230 @@
+<?php
+
+/**
+ * Abstract class for a set of proprietary modules that clean up (tidy)
+ * poorly written HTML.
+ * @todo Figure out how to protect some of these methods/properties
+ */
+class HTMLPurifier_HTMLModule_Tidy extends HTMLPurifier_HTMLModule
+{
+ /**
+ * List of supported levels.
+ * Index zero is a special case "no fixes" level.
+ * @type array
+ */
+ public $levels = array(0 => 'none', 'light', 'medium', 'heavy');
+
+ /**
+ * Default level to place all fixes in.
+ * Disabled by default.
+ * @type string
+ */
+ public $defaultLevel = null;
+
+ /**
+ * Lists of fixes used by getFixesForLevel().
+ * Format is:
+ * HTMLModule_Tidy->fixesForLevel[$level] = array('fix-1', 'fix-2');
+ * @type array
+ */
+ public $fixesForLevel = array(
+ 'light' => array(),
+ 'medium' => array(),
+ 'heavy' => array()
+ );
+
+ /**
+ * Lazy load constructs the module by determining the necessary
+ * fixes to create and then delegating to the populate() function.
+ * @param HTMLPurifier_Config $config
+ * @todo Wildcard matching and error reporting when an added or
+ * subtracted fix has no effect.
+ */
+ public function setup($config)
+ {
+ // create fixes, initialize fixesForLevel
+ $fixes = $this->makeFixes();
+ $this->makeFixesForLevel($fixes);
+
+ // figure out which fixes to use
+ $level = $config->get('HTML.TidyLevel');
+ $fixes_lookup = $this->getFixesForLevel($level);
+
+ // get custom fix declarations: these need namespace processing
+ $add_fixes = $config->get('HTML.TidyAdd');
+ $remove_fixes = $config->get('HTML.TidyRemove');
+
+ foreach ($fixes as $name => $fix) {
+ // needs to be refactored a little to implement globbing
+ if (isset($remove_fixes[$name]) ||
+ (!isset($add_fixes[$name]) && !isset($fixes_lookup[$name]))) {
+ unset($fixes[$name]);
+ }
+ }
+
+ // populate this module with necessary fixes
+ $this->populate($fixes);
+ }
+
+ /**
+ * Retrieves all fixes per a level, returning fixes for that specific
+ * level as well as all levels below it.
+ * @param string $level level identifier, see $levels for valid values
+ * @return array Lookup up table of fixes
+ */
+ public function getFixesForLevel($level)
+ {
+ if ($level == $this->levels[0]) {
+ return array();
+ }
+ $activated_levels = array();
+ for ($i = 1, $c = count($this->levels); $i < $c; $i++) {
+ $activated_levels[] = $this->levels[$i];
+ if ($this->levels[$i] == $level) {
+ break;
+ }
+ }
+ if ($i == $c) {
+ trigger_error(
+ 'Tidy level ' . htmlspecialchars($level) . ' not recognized',
+ E_USER_WARNING
+ );
+ return array();
+ }
+ $ret = array();
+ foreach ($activated_levels as $level) {
+ foreach ($this->fixesForLevel[$level] as $fix) {
+ $ret[$fix] = true;
+ }
+ }
+ return $ret;
+ }
+
+ /**
+ * Dynamically populates the $fixesForLevel member variable using
+ * the fixes array. It may be custom overloaded, used in conjunction
+ * with $defaultLevel, or not used at all.
+ * @param array $fixes
+ */
+ public function makeFixesForLevel($fixes)
+ {
+ if (!isset($this->defaultLevel)) {
+ return;
+ }
+ if (!isset($this->fixesForLevel[$this->defaultLevel])) {
+ trigger_error(
+ 'Default level ' . $this->defaultLevel . ' does not exist',
+ E_USER_ERROR
+ );
+ return;
+ }
+ $this->fixesForLevel[$this->defaultLevel] = array_keys($fixes);
+ }
+
+ /**
+ * Populates the module with transforms and other special-case code
+ * based on a list of fixes passed to it
+ * @param array $fixes Lookup table of fixes to activate
+ */
+ public function populate($fixes)
+ {
+ foreach ($fixes as $name => $fix) {
+ // determine what the fix is for
+ list($type, $params) = $this->getFixType($name);
+ switch ($type) {
+ case 'attr_transform_pre':
+ case 'attr_transform_post':
+ $attr = $params['attr'];
+ if (isset($params['element'])) {
+ $element = $params['element'];
+ if (empty($this->info[$element])) {
+ $e = $this->addBlankElement($element);
+ } else {
+ $e = $this->info[$element];
+ }
+ } else {
+ $type = "info_$type";
+ $e = $this;
+ }
+ // PHP does some weird parsing when I do
+ // $e->$type[$attr], so I have to assign a ref.
+ $f =& $e->$type;
+ $f[$attr] = $fix;
+ break;
+ case 'tag_transform':
+ $this->info_tag_transform[$params['element']] = $fix;
+ break;
+ case 'child':
+ case 'content_model_type':
+ $element = $params['element'];
+ if (empty($this->info[$element])) {
+ $e = $this->addBlankElement($element);
+ } else {
+ $e = $this->info[$element];
+ }
+ $e->$type = $fix;
+ break;
+ default:
+ trigger_error("Fix type $type not supported", E_USER_ERROR);
+ break;
+ }
+ }
+ }
+
+ /**
+ * Parses a fix name and determines what kind of fix it is, as well
+ * as other information defined by the fix
+ * @param $name String name of fix
+ * @return array(string $fix_type, array $fix_parameters)
+ * @note $fix_parameters is type dependant, see populate() for usage
+ * of these parameters
+ */
+ public function getFixType($name)
+ {
+ // parse it
+ $property = $attr = null;
+ if (strpos($name, '#') !== false) {
+ list($name, $property) = explode('#', $name);
+ }
+ if (strpos($name, '@') !== false) {
+ list($name, $attr) = explode('@', $name);
+ }
+
+ // figure out the parameters
+ $params = array();
+ if ($name !== '') {
+ $params['element'] = $name;
+ }
+ if (!is_null($attr)) {
+ $params['attr'] = $attr;
+ }
+
+ // special case: attribute transform
+ if (!is_null($attr)) {
+ if (is_null($property)) {
+ $property = 'pre';
+ }
+ $type = 'attr_transform_' . $property;
+ return array($type, $params);
+ }
+
+ // special case: tag transform
+ if (is_null($property)) {
+ return array('tag_transform', $params);
+ }
+
+ return array($property, $params);
+
+ }
+
+ /**
+ * Defines all fixes the module will perform in a compact
+ * associative array of fix name to fix implementation.
+ * @return array
+ */
+ public function makeFixes()
+ {
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy/Name.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy/Name.php
new file mode 100644
index 000000000..a995161b2
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy/Name.php
@@ -0,0 +1,33 @@
+<?php
+
+/**
+ * Name is deprecated, but allowed in strict doctypes, so onl
+ */
+class HTMLPurifier_HTMLModule_Tidy_Name extends HTMLPurifier_HTMLModule_Tidy
+{
+ /**
+ * @type string
+ */
+ public $name = 'Tidy_Name';
+
+ /**
+ * @type string
+ */
+ public $defaultLevel = 'heavy';
+
+ /**
+ * @return array
+ */
+ public function makeFixes()
+ {
+ $r = array();
+ // @name for img, a -----------------------------------------------
+ // Technically, it's allowed even on strict, so we allow authors to use
+ // it. However, it's deprecated in future versions of XHTML.
+ $r['img@name'] =
+ $r['a@name'] = new HTMLPurifier_AttrTransform_Name();
+ return $r;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy/Proprietary.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy/Proprietary.php
new file mode 100644
index 000000000..332643821
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy/Proprietary.php
@@ -0,0 +1,34 @@
+<?php
+
+class HTMLPurifier_HTMLModule_Tidy_Proprietary extends HTMLPurifier_HTMLModule_Tidy
+{
+
+ /**
+ * @type string
+ */
+ public $name = 'Tidy_Proprietary';
+
+ /**
+ * @type string
+ */
+ public $defaultLevel = 'light';
+
+ /**
+ * @return array
+ */
+ public function makeFixes()
+ {
+ $r = array();
+ $r['table@background'] = new HTMLPurifier_AttrTransform_Background();
+ $r['td@background'] = new HTMLPurifier_AttrTransform_Background();
+ $r['th@background'] = new HTMLPurifier_AttrTransform_Background();
+ $r['tr@background'] = new HTMLPurifier_AttrTransform_Background();
+ $r['thead@background'] = new HTMLPurifier_AttrTransform_Background();
+ $r['tfoot@background'] = new HTMLPurifier_AttrTransform_Background();
+ $r['tbody@background'] = new HTMLPurifier_AttrTransform_Background();
+ $r['table@height'] = new HTMLPurifier_AttrTransform_Length('height');
+ return $r;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy/Strict.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy/Strict.php
new file mode 100644
index 000000000..803c44fab
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy/Strict.php
@@ -0,0 +1,43 @@
+<?php
+
+class HTMLPurifier_HTMLModule_Tidy_Strict extends HTMLPurifier_HTMLModule_Tidy_XHTMLAndHTML4
+{
+ /**
+ * @type string
+ */
+ public $name = 'Tidy_Strict';
+
+ /**
+ * @type string
+ */
+ public $defaultLevel = 'light';
+
+ /**
+ * @return array
+ */
+ public function makeFixes()
+ {
+ $r = parent::makeFixes();
+ $r['blockquote#content_model_type'] = 'strictblockquote';
+ return $r;
+ }
+
+ /**
+ * @type bool
+ */
+ public $defines_child_def = true;
+
+ /**
+ * @param HTMLPurifier_ElementDef $def
+ * @return HTMLPurifier_ChildDef_StrictBlockquote
+ */
+ public function getChildDef($def)
+ {
+ if ($def->content_model_type != 'strictblockquote') {
+ return parent::getChildDef($def);
+ }
+ return new HTMLPurifier_ChildDef_StrictBlockquote($def->content_model);
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy/Transitional.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy/Transitional.php
new file mode 100644
index 000000000..c095ad974
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy/Transitional.php
@@ -0,0 +1,16 @@
+<?php
+
+class HTMLPurifier_HTMLModule_Tidy_Transitional extends HTMLPurifier_HTMLModule_Tidy_XHTMLAndHTML4
+{
+ /**
+ * @type string
+ */
+ public $name = 'Tidy_Transitional';
+
+ /**
+ * @type string
+ */
+ public $defaultLevel = 'heavy';
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy/XHTML.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy/XHTML.php
new file mode 100644
index 000000000..3ecddc434
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy/XHTML.php
@@ -0,0 +1,26 @@
+<?php
+
+class HTMLPurifier_HTMLModule_Tidy_XHTML extends HTMLPurifier_HTMLModule_Tidy
+{
+ /**
+ * @type string
+ */
+ public $name = 'Tidy_XHTML';
+
+ /**
+ * @type string
+ */
+ public $defaultLevel = 'medium';
+
+ /**
+ * @return array
+ */
+ public function makeFixes()
+ {
+ $r = array();
+ $r['@lang'] = new HTMLPurifier_AttrTransform_Lang();
+ return $r;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy/XHTMLAndHTML4.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy/XHTMLAndHTML4.php
new file mode 100644
index 000000000..c4f16a4dc
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy/XHTMLAndHTML4.php
@@ -0,0 +1,179 @@
+<?php
+
+class HTMLPurifier_HTMLModule_Tidy_XHTMLAndHTML4 extends HTMLPurifier_HTMLModule_Tidy
+{
+
+ /**
+ * @return array
+ */
+ public function makeFixes()
+ {
+ $r = array();
+
+ // == deprecated tag transforms ===================================
+
+ $r['font'] = new HTMLPurifier_TagTransform_Font();
+ $r['menu'] = new HTMLPurifier_TagTransform_Simple('ul');
+ $r['dir'] = new HTMLPurifier_TagTransform_Simple('ul');
+ $r['center'] = new HTMLPurifier_TagTransform_Simple('div', 'text-align:center;');
+ $r['u'] = new HTMLPurifier_TagTransform_Simple('span', 'text-decoration:underline;');
+ $r['s'] = new HTMLPurifier_TagTransform_Simple('span', 'text-decoration:line-through;');
+ $r['strike'] = new HTMLPurifier_TagTransform_Simple('span', 'text-decoration:line-through;');
+
+ // == deprecated attribute transforms =============================
+
+ $r['caption@align'] =
+ new HTMLPurifier_AttrTransform_EnumToCSS(
+ 'align',
+ array(
+ // we're following IE's behavior, not Firefox's, due
+ // to the fact that no one supports caption-side:right,
+ // W3C included (with CSS 2.1). This is a slightly
+ // unreasonable attribute!
+ 'left' => 'text-align:left;',
+ 'right' => 'text-align:right;',
+ 'top' => 'caption-side:top;',
+ 'bottom' => 'caption-side:bottom;' // not supported by IE
+ )
+ );
+
+ // @align for img -------------------------------------------------
+ $r['img@align'] =
+ new HTMLPurifier_AttrTransform_EnumToCSS(
+ 'align',
+ array(
+ 'left' => 'float:left;',
+ 'right' => 'float:right;',
+ 'top' => 'vertical-align:top;',
+ 'middle' => 'vertical-align:middle;',
+ 'bottom' => 'vertical-align:baseline;',
+ )
+ );
+
+ // @align for table -----------------------------------------------
+ $r['table@align'] =
+ new HTMLPurifier_AttrTransform_EnumToCSS(
+ 'align',
+ array(
+ 'left' => 'float:left;',
+ 'center' => 'margin-left:auto;margin-right:auto;',
+ 'right' => 'float:right;'
+ )
+ );
+
+ // @align for hr -----------------------------------------------
+ $r['hr@align'] =
+ new HTMLPurifier_AttrTransform_EnumToCSS(
+ 'align',
+ array(
+ // we use both text-align and margin because these work
+ // for different browsers (IE and Firefox, respectively)
+ // and the melange makes for a pretty cross-compatible
+ // solution
+ 'left' => 'margin-left:0;margin-right:auto;text-align:left;',
+ 'center' => 'margin-left:auto;margin-right:auto;text-align:center;',
+ 'right' => 'margin-left:auto;margin-right:0;text-align:right;'
+ )
+ );
+
+ // @align for h1, h2, h3, h4, h5, h6, p, div ----------------------
+ // {{{
+ $align_lookup = array();
+ $align_values = array('left', 'right', 'center', 'justify');
+ foreach ($align_values as $v) {
+ $align_lookup[$v] = "text-align:$v;";
+ }
+ // }}}
+ $r['h1@align'] =
+ $r['h2@align'] =
+ $r['h3@align'] =
+ $r['h4@align'] =
+ $r['h5@align'] =
+ $r['h6@align'] =
+ $r['p@align'] =
+ $r['div@align'] =
+ new HTMLPurifier_AttrTransform_EnumToCSS('align', $align_lookup);
+
+ // @bgcolor for table, tr, td, th ---------------------------------
+ $r['table@bgcolor'] =
+ $r['td@bgcolor'] =
+ $r['th@bgcolor'] =
+ new HTMLPurifier_AttrTransform_BgColor();
+
+ // @border for img ------------------------------------------------
+ $r['img@border'] = new HTMLPurifier_AttrTransform_Border();
+
+ // @clear for br --------------------------------------------------
+ $r['br@clear'] =
+ new HTMLPurifier_AttrTransform_EnumToCSS(
+ 'clear',
+ array(
+ 'left' => 'clear:left;',
+ 'right' => 'clear:right;',
+ 'all' => 'clear:both;',
+ 'none' => 'clear:none;',
+ )
+ );
+
+ // @height for td, th ---------------------------------------------
+ $r['td@height'] =
+ $r['th@height'] =
+ new HTMLPurifier_AttrTransform_Length('height');
+
+ // @hspace for img ------------------------------------------------
+ $r['img@hspace'] = new HTMLPurifier_AttrTransform_ImgSpace('hspace');
+
+ // @noshade for hr ------------------------------------------------
+ // this transformation is not precise but often good enough.
+ // different browsers use different styles to designate noshade
+ $r['hr@noshade'] =
+ new HTMLPurifier_AttrTransform_BoolToCSS(
+ 'noshade',
+ 'color:#808080;background-color:#808080;border:0;'
+ );
+
+ // @nowrap for td, th ---------------------------------------------
+ $r['td@nowrap'] =
+ $r['th@nowrap'] =
+ new HTMLPurifier_AttrTransform_BoolToCSS(
+ 'nowrap',
+ 'white-space:nowrap;'
+ );
+
+ // @size for hr --------------------------------------------------
+ $r['hr@size'] = new HTMLPurifier_AttrTransform_Length('size', 'height');
+
+ // @type for li, ol, ul -------------------------------------------
+ // {{{
+ $ul_types = array(
+ 'disc' => 'list-style-type:disc;',
+ 'square' => 'list-style-type:square;',
+ 'circle' => 'list-style-type:circle;'
+ );
+ $ol_types = array(
+ '1' => 'list-style-type:decimal;',
+ 'i' => 'list-style-type:lower-roman;',
+ 'I' => 'list-style-type:upper-roman;',
+ 'a' => 'list-style-type:lower-alpha;',
+ 'A' => 'list-style-type:upper-alpha;'
+ );
+ $li_types = $ul_types + $ol_types;
+ // }}}
+
+ $r['ul@type'] = new HTMLPurifier_AttrTransform_EnumToCSS('type', $ul_types);
+ $r['ol@type'] = new HTMLPurifier_AttrTransform_EnumToCSS('type', $ol_types, true);
+ $r['li@type'] = new HTMLPurifier_AttrTransform_EnumToCSS('type', $li_types, true);
+
+ // @vspace for img ------------------------------------------------
+ $r['img@vspace'] = new HTMLPurifier_AttrTransform_ImgSpace('vspace');
+
+ // @width for hr, td, th ------------------------------------------
+ $r['td@width'] =
+ $r['th@width'] =
+ $r['hr@width'] = new HTMLPurifier_AttrTransform_Length('width');
+
+ return $r;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/XMLCommonAttributes.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/XMLCommonAttributes.php
new file mode 100644
index 000000000..01dbe9deb
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/XMLCommonAttributes.php
@@ -0,0 +1,20 @@
+<?php
+
+class HTMLPurifier_HTMLModule_XMLCommonAttributes extends HTMLPurifier_HTMLModule
+{
+ /**
+ * @type string
+ */
+ public $name = 'XMLCommonAttributes';
+
+ /**
+ * @type array
+ */
+ public $attr_collections = array(
+ 'Lang' => array(
+ 'xml:lang' => 'LanguageCode',
+ )
+ );
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModuleManager.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModuleManager.php
new file mode 100644
index 000000000..38c058fe2
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModuleManager.php
@@ -0,0 +1,467 @@
+<?php
+
+class HTMLPurifier_HTMLModuleManager
+{
+
+ /**
+ * @type HTMLPurifier_DoctypeRegistry
+ */
+ public $doctypes;
+
+ /**
+ * Instance of current doctype.
+ * @type string
+ */
+ public $doctype;
+
+ /**
+ * @type HTMLPurifier_AttrTypes
+ */
+ public $attrTypes;
+
+ /**
+ * Active instances of modules for the specified doctype are
+ * indexed, by name, in this array.
+ * @type HTMLPurifier_HTMLModule[]
+ */
+ public $modules = array();
+
+ /**
+ * Array of recognized HTMLPurifier_HTMLModule instances,
+ * indexed by module's class name. This array is usually lazy loaded, but a
+ * user can overload a module by pre-emptively registering it.
+ * @type HTMLPurifier_HTMLModule[]
+ */
+ public $registeredModules = array();
+
+ /**
+ * List of extra modules that were added by the user
+ * using addModule(). These get unconditionally merged into the current doctype, whatever
+ * it may be.
+ * @type HTMLPurifier_HTMLModule[]
+ */
+ public $userModules = array();
+
+ /**
+ * Associative array of element name to list of modules that have
+ * definitions for the element; this array is dynamically filled.
+ * @type array
+ */
+ public $elementLookup = array();
+
+ /**
+ * List of prefixes we should use for registering small names.
+ * @type array
+ */
+ public $prefixes = array('HTMLPurifier_HTMLModule_');
+
+ /**
+ * @type HTMLPurifier_ContentSets
+ */
+ public $contentSets;
+
+ /**
+ * @type HTMLPurifier_AttrCollections
+ */
+ public $attrCollections;
+
+ /**
+ * If set to true, unsafe elements and attributes will be allowed.
+ * @type bool
+ */
+ public $trusted = false;
+
+ public function __construct()
+ {
+ // editable internal objects
+ $this->attrTypes = new HTMLPurifier_AttrTypes();
+ $this->doctypes = new HTMLPurifier_DoctypeRegistry();
+
+ // setup basic modules
+ $common = array(
+ 'CommonAttributes', 'Text', 'Hypertext', 'List',
+ 'Presentation', 'Edit', 'Bdo', 'Tables', 'Image',
+ 'StyleAttribute',
+ // Unsafe:
+ 'Scripting', 'Object', 'Forms',
+ // Sorta legacy, but present in strict:
+ 'Name',
+ );
+ $transitional = array('Legacy', 'Target', 'Iframe');
+ $xml = array('XMLCommonAttributes');
+ $non_xml = array('NonXMLCommonAttributes');
+
+ // setup basic doctypes
+ $this->doctypes->register(
+ 'HTML 4.01 Transitional',
+ false,
+ array_merge($common, $transitional, $non_xml),
+ array('Tidy_Transitional', 'Tidy_Proprietary'),
+ array(),
+ '-//W3C//DTD HTML 4.01 Transitional//EN',
+ 'http://www.w3.org/TR/html4/loose.dtd'
+ );
+
+ $this->doctypes->register(
+ 'HTML 4.01 Strict',
+ false,
+ array_merge($common, $non_xml),
+ array('Tidy_Strict', 'Tidy_Proprietary', 'Tidy_Name'),
+ array(),
+ '-//W3C//DTD HTML 4.01//EN',
+ 'http://www.w3.org/TR/html4/strict.dtd'
+ );
+
+ $this->doctypes->register(
+ 'XHTML 1.0 Transitional',
+ true,
+ array_merge($common, $transitional, $xml, $non_xml),
+ array('Tidy_Transitional', 'Tidy_XHTML', 'Tidy_Proprietary', 'Tidy_Name'),
+ array(),
+ '-//W3C//DTD XHTML 1.0 Transitional//EN',
+ 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'
+ );
+
+ $this->doctypes->register(
+ 'XHTML 1.0 Strict',
+ true,
+ array_merge($common, $xml, $non_xml),
+ array('Tidy_Strict', 'Tidy_XHTML', 'Tidy_Strict', 'Tidy_Proprietary', 'Tidy_Name'),
+ array(),
+ '-//W3C//DTD XHTML 1.0 Strict//EN',
+ 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'
+ );
+
+ $this->doctypes->register(
+ 'XHTML 1.1',
+ true,
+ // Iframe is a real XHTML 1.1 module, despite being
+ // "transitional"!
+ array_merge($common, $xml, array('Ruby', 'Iframe')),
+ array('Tidy_Strict', 'Tidy_XHTML', 'Tidy_Proprietary', 'Tidy_Strict', 'Tidy_Name'), // Tidy_XHTML1_1
+ array(),
+ '-//W3C//DTD XHTML 1.1//EN',
+ 'http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd'
+ );
+
+ }
+
+ /**
+ * Registers a module to the recognized module list, useful for
+ * overloading pre-existing modules.
+ * @param $module Mixed: string module name, with or without
+ * HTMLPurifier_HTMLModule prefix, or instance of
+ * subclass of HTMLPurifier_HTMLModule.
+ * @param $overload Boolean whether or not to overload previous modules.
+ * If this is not set, and you do overload a module,
+ * HTML Purifier will complain with a warning.
+ * @note This function will not call autoload, you must instantiate
+ * (and thus invoke) autoload outside the method.
+ * @note If a string is passed as a module name, different variants
+ * will be tested in this order:
+ * - Check for HTMLPurifier_HTMLModule_$name
+ * - Check all prefixes with $name in order they were added
+ * - Check for literal object name
+ * - Throw fatal error
+ * If your object name collides with an internal class, specify
+ * your module manually. All modules must have been included
+ * externally: registerModule will not perform inclusions for you!
+ */
+ public function registerModule($module, $overload = false)
+ {
+ if (is_string($module)) {
+ // attempt to load the module
+ $original_module = $module;
+ $ok = false;
+ foreach ($this->prefixes as $prefix) {
+ $module = $prefix . $original_module;
+ if (class_exists($module)) {
+ $ok = true;
+ break;
+ }
+ }
+ if (!$ok) {
+ $module = $original_module;
+ if (!class_exists($module)) {
+ trigger_error(
+ $original_module . ' module does not exist',
+ E_USER_ERROR
+ );
+ return;
+ }
+ }
+ $module = new $module();
+ }
+ if (empty($module->name)) {
+ trigger_error('Module instance of ' . get_class($module) . ' must have name');
+ return;
+ }
+ if (!$overload && isset($this->registeredModules[$module->name])) {
+ trigger_error('Overloading ' . $module->name . ' without explicit overload parameter', E_USER_WARNING);
+ }
+ $this->registeredModules[$module->name] = $module;
+ }
+
+ /**
+ * Adds a module to the current doctype by first registering it,
+ * and then tacking it on to the active doctype
+ */
+ public function addModule($module)
+ {
+ $this->registerModule($module);
+ if (is_object($module)) {
+ $module = $module->name;
+ }
+ $this->userModules[] = $module;
+ }
+
+ /**
+ * Adds a class prefix that registerModule() will use to resolve a
+ * string name to a concrete class
+ */
+ public function addPrefix($prefix)
+ {
+ $this->prefixes[] = $prefix;
+ }
+
+ /**
+ * Performs processing on modules, after being called you may
+ * use getElement() and getElements()
+ * @param HTMLPurifier_Config $config
+ */
+ public function setup($config)
+ {
+ $this->trusted = $config->get('HTML.Trusted');
+
+ // generate
+ $this->doctype = $this->doctypes->make($config);
+ $modules = $this->doctype->modules;
+
+ // take out the default modules that aren't allowed
+ $lookup = $config->get('HTML.AllowedModules');
+ $special_cases = $config->get('HTML.CoreModules');
+
+ if (is_array($lookup)) {
+ foreach ($modules as $k => $m) {
+ if (isset($special_cases[$m])) {
+ continue;
+ }
+ if (!isset($lookup[$m])) {
+ unset($modules[$k]);
+ }
+ }
+ }
+
+ // custom modules
+ if ($config->get('HTML.Proprietary')) {
+ $modules[] = 'Proprietary';
+ }
+ if ($config->get('HTML.SafeObject')) {
+ $modules[] = 'SafeObject';
+ }
+ if ($config->get('HTML.SafeEmbed')) {
+ $modules[] = 'SafeEmbed';
+ }
+ if ($config->get('HTML.SafeScripting') !== array()) {
+ $modules[] = 'SafeScripting';
+ }
+ if ($config->get('HTML.Nofollow')) {
+ $modules[] = 'Nofollow';
+ }
+ if ($config->get('HTML.TargetBlank')) {
+ $modules[] = 'TargetBlank';
+ }
+ // NB: HTML.TargetNoreferrer and HTML.TargetNoopener must be AFTER HTML.TargetBlank
+ // so that its post-attr-transform gets run afterwards.
+ if ($config->get('HTML.TargetNoreferrer')) {
+ $modules[] = 'TargetNoreferrer';
+ }
+ if ($config->get('HTML.TargetNoopener')) {
+ $modules[] = 'TargetNoopener';
+ }
+
+ // merge in custom modules
+ $modules = array_merge($modules, $this->userModules);
+
+ foreach ($modules as $module) {
+ $this->processModule($module);
+ $this->modules[$module]->setup($config);
+ }
+
+ foreach ($this->doctype->tidyModules as $module) {
+ $this->processModule($module);
+ $this->modules[$module]->setup($config);
+ }
+
+ // prepare any injectors
+ foreach ($this->modules as $module) {
+ $n = array();
+ foreach ($module->info_injector as $injector) {
+ if (!is_object($injector)) {
+ $class = "HTMLPurifier_Injector_$injector";
+ $injector = new $class;
+ }
+ $n[$injector->name] = $injector;
+ }
+ $module->info_injector = $n;
+ }
+
+ // setup lookup table based on all valid modules
+ foreach ($this->modules as $module) {
+ foreach ($module->info as $name => $def) {
+ if (!isset($this->elementLookup[$name])) {
+ $this->elementLookup[$name] = array();
+ }
+ $this->elementLookup[$name][] = $module->name;
+ }
+ }
+
+ // note the different choice
+ $this->contentSets = new HTMLPurifier_ContentSets(
+ // content set assembly deals with all possible modules,
+ // not just ones deemed to be "safe"
+ $this->modules
+ );
+ $this->attrCollections = new HTMLPurifier_AttrCollections(
+ $this->attrTypes,
+ // there is no way to directly disable a global attribute,
+ // but using AllowedAttributes or simply not including
+ // the module in your custom doctype should be sufficient
+ $this->modules
+ );
+ }
+
+ /**
+ * Takes a module and adds it to the active module collection,
+ * registering it if necessary.
+ */
+ public function processModule($module)
+ {
+ if (!isset($this->registeredModules[$module]) || is_object($module)) {
+ $this->registerModule($module);
+ }
+ $this->modules[$module] = $this->registeredModules[$module];
+ }
+
+ /**
+ * Retrieves merged element definitions.
+ * @return Array of HTMLPurifier_ElementDef
+ */
+ public function getElements()
+ {
+ $elements = array();
+ foreach ($this->modules as $module) {
+ if (!$this->trusted && !$module->safe) {
+ continue;
+ }
+ foreach ($module->info as $name => $v) {
+ if (isset($elements[$name])) {
+ continue;
+ }
+ $elements[$name] = $this->getElement($name);
+ }
+ }
+
+ // remove dud elements, this happens when an element that
+ // appeared to be safe actually wasn't
+ foreach ($elements as $n => $v) {
+ if ($v === false) {
+ unset($elements[$n]);
+ }
+ }
+
+ return $elements;
+
+ }
+
+ /**
+ * Retrieves a single merged element definition
+ * @param string $name Name of element
+ * @param bool $trusted Boolean trusted overriding parameter: set to true
+ * if you want the full version of an element
+ * @return HTMLPurifier_ElementDef Merged HTMLPurifier_ElementDef
+ * @note You may notice that modules are getting iterated over twice (once
+ * in getElements() and once here). This
+ * is because
+ */
+ public function getElement($name, $trusted = null)
+ {
+ if (!isset($this->elementLookup[$name])) {
+ return false;
+ }
+
+ // setup global state variables
+ $def = false;
+ if ($trusted === null) {
+ $trusted = $this->trusted;
+ }
+
+ // iterate through each module that has registered itself to this
+ // element
+ foreach ($this->elementLookup[$name] as $module_name) {
+ $module = $this->modules[$module_name];
+
+ // refuse to create/merge from a module that is deemed unsafe--
+ // pretend the module doesn't exist--when trusted mode is not on.
+ if (!$trusted && !$module->safe) {
+ continue;
+ }
+
+ // clone is used because, ideally speaking, the original
+ // definition should not be modified. Usually, this will
+ // make no difference, but for consistency's sake
+ $new_def = clone $module->info[$name];
+
+ if (!$def && $new_def->standalone) {
+ $def = $new_def;
+ } elseif ($def) {
+ // This will occur even if $new_def is standalone. In practice,
+ // this will usually result in a full replacement.
+ $def->mergeIn($new_def);
+ } else {
+ // :TODO:
+ // non-standalone definitions that don't have a standalone
+ // to merge into could be deferred to the end
+ // HOWEVER, it is perfectly valid for a non-standalone
+ // definition to lack a standalone definition, even
+ // after all processing: this allows us to safely
+ // specify extra attributes for elements that may not be
+ // enabled all in one place. In particular, this might
+ // be the case for trusted elements. WARNING: care must
+ // be taken that the /extra/ definitions are all safe.
+ continue;
+ }
+
+ // attribute value expansions
+ $this->attrCollections->performInclusions($def->attr);
+ $this->attrCollections->expandIdentifiers($def->attr, $this->attrTypes);
+
+ // descendants_are_inline, for ChildDef_Chameleon
+ if (is_string($def->content_model) &&
+ strpos($def->content_model, 'Inline') !== false) {
+ if ($name != 'del' && $name != 'ins') {
+ // this is for you, ins/del
+ $def->descendants_are_inline = true;
+ }
+ }
+
+ $this->contentSets->generateChildDef($def, $module);
+ }
+
+ // This can occur if there is a blank definition, but no base to
+ // mix it in with
+ if (!$def) {
+ return false;
+ }
+
+ // add information on required attributes
+ foreach ($def->attr as $attr_name => $attr_def) {
+ if ($attr_def->required) {
+ $def->required_attr[] = $attr_name;
+ }
+ }
+ return $def;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/IDAccumulator.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/IDAccumulator.php
new file mode 100644
index 000000000..65c902c07
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/IDAccumulator.php
@@ -0,0 +1,57 @@
+<?php
+
+/**
+ * Component of HTMLPurifier_AttrContext that accumulates IDs to prevent dupes
+ * @note In Slashdot-speak, dupe means duplicate.
+ * @note The default constructor does not accept $config or $context objects:
+ * use must use the static build() factory method to perform initialization.
+ */
+class HTMLPurifier_IDAccumulator
+{
+
+ /**
+ * Lookup table of IDs we've accumulated.
+ * @public
+ */
+ public $ids = array();
+
+ /**
+ * Builds an IDAccumulator, also initializing the default blacklist
+ * @param HTMLPurifier_Config $config Instance of HTMLPurifier_Config
+ * @param HTMLPurifier_Context $context Instance of HTMLPurifier_Context
+ * @return HTMLPurifier_IDAccumulator Fully initialized HTMLPurifier_IDAccumulator
+ */
+ public static function build($config, $context)
+ {
+ $id_accumulator = new HTMLPurifier_IDAccumulator();
+ $id_accumulator->load($config->get('Attr.IDBlacklist'));
+ return $id_accumulator;
+ }
+
+ /**
+ * Add an ID to the lookup table.
+ * @param string $id ID to be added.
+ * @return bool status, true if success, false if there's a dupe
+ */
+ public function add($id)
+ {
+ if (isset($this->ids[$id])) {
+ return false;
+ }
+ return $this->ids[$id] = true;
+ }
+
+ /**
+ * Load a list of IDs into the lookup table
+ * @param $array_of_ids Array of IDs to load
+ * @note This function doesn't care about duplicates
+ */
+ public function load($array_of_ids)
+ {
+ foreach ($array_of_ids as $id) {
+ $this->ids[$id] = true;
+ }
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Injector.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Injector.php
new file mode 100644
index 000000000..5060eef9e
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Injector.php
@@ -0,0 +1,281 @@
+<?php
+
+/**
+ * Injects tokens into the document while parsing for well-formedness.
+ * This enables "formatter-like" functionality such as auto-paragraphing,
+ * smiley-ification and linkification to take place.
+ *
+ * A note on how handlers create changes; this is done by assigning a new
+ * value to the $token reference. These values can take a variety of forms and
+ * are best described HTMLPurifier_Strategy_MakeWellFormed->processToken()
+ * documentation.
+ *
+ * @todo Allow injectors to request a re-run on their output. This
+ * would help if an operation is recursive.
+ */
+abstract class HTMLPurifier_Injector
+{
+
+ /**
+ * Advisory name of injector, this is for friendly error messages.
+ * @type string
+ */
+ public $name;
+
+ /**
+ * @type HTMLPurifier_HTMLDefinition
+ */
+ protected $htmlDefinition;
+
+ /**
+ * Reference to CurrentNesting variable in Context. This is an array
+ * list of tokens that we are currently "inside"
+ * @type array
+ */
+ protected $currentNesting;
+
+ /**
+ * Reference to current token.
+ * @type HTMLPurifier_Token
+ */
+ protected $currentToken;
+
+ /**
+ * Reference to InputZipper variable in Context.
+ * @type HTMLPurifier_Zipper
+ */
+ protected $inputZipper;
+
+ /**
+ * Array of elements and attributes this injector creates and therefore
+ * need to be allowed by the definition. Takes form of
+ * array('element' => array('attr', 'attr2'), 'element2')
+ * @type array
+ */
+ public $needed = array();
+
+ /**
+ * Number of elements to rewind backwards (relative).
+ * @type bool|int
+ */
+ protected $rewindOffset = false;
+
+ /**
+ * Rewind to a spot to re-perform processing. This is useful if you
+ * deleted a node, and now need to see if this change affected any
+ * earlier nodes. Rewinding does not affect other injectors, and can
+ * result in infinite loops if not used carefully.
+ * @param bool|int $offset
+ * @warning HTML Purifier will prevent you from fast-forwarding with this
+ * function.
+ */
+ public function rewindOffset($offset)
+ {
+ $this->rewindOffset = $offset;
+ }
+
+ /**
+ * Retrieves rewind offset, and then unsets it.
+ * @return bool|int
+ */
+ public function getRewindOffset()
+ {
+ $r = $this->rewindOffset;
+ $this->rewindOffset = false;
+ return $r;
+ }
+
+ /**
+ * Prepares the injector by giving it the config and context objects:
+ * this allows references to important variables to be made within
+ * the injector. This function also checks if the HTML environment
+ * will work with the Injector (see checkNeeded()).
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string Boolean false if success, string of missing needed element/attribute if failure
+ */
+ public function prepare($config, $context)
+ {
+ $this->htmlDefinition = $config->getHTMLDefinition();
+ // Even though this might fail, some unit tests ignore this and
+ // still test checkNeeded, so be careful. Maybe get rid of that
+ // dependency.
+ $result = $this->checkNeeded($config);
+ if ($result !== false) {
+ return $result;
+ }
+ $this->currentNesting =& $context->get('CurrentNesting');
+ $this->currentToken =& $context->get('CurrentToken');
+ $this->inputZipper =& $context->get('InputZipper');
+ return false;
+ }
+
+ /**
+ * This function checks if the HTML environment
+ * will work with the Injector: if p tags are not allowed, the
+ * Auto-Paragraphing injector should not be enabled.
+ * @param HTMLPurifier_Config $config
+ * @return bool|string Boolean false if success, string of missing needed element/attribute if failure
+ */
+ public function checkNeeded($config)
+ {
+ $def = $config->getHTMLDefinition();
+ foreach ($this->needed as $element => $attributes) {
+ if (is_int($element)) {
+ $element = $attributes;
+ }
+ if (!isset($def->info[$element])) {
+ return $element;
+ }
+ if (!is_array($attributes)) {
+ continue;
+ }
+ foreach ($attributes as $name) {
+ if (!isset($def->info[$element]->attr[$name])) {
+ return "$element.$name";
+ }
+ }
+ }
+ return false;
+ }
+
+ /**
+ * Tests if the context node allows a certain element
+ * @param string $name Name of element to test for
+ * @return bool True if element is allowed, false if it is not
+ */
+ public function allowsElement($name)
+ {
+ if (!empty($this->currentNesting)) {
+ $parent_token = array_pop($this->currentNesting);
+ $this->currentNesting[] = $parent_token;
+ $parent = $this->htmlDefinition->info[$parent_token->name];
+ } else {
+ $parent = $this->htmlDefinition->info_parent_def;
+ }
+ if (!isset($parent->child->elements[$name]) || isset($parent->excludes[$name])) {
+ return false;
+ }
+ // check for exclusion
+ for ($i = count($this->currentNesting) - 2; $i >= 0; $i--) {
+ $node = $this->currentNesting[$i];
+ $def = $this->htmlDefinition->info[$node->name];
+ if (isset($def->excludes[$name])) {
+ return false;
+ }
+ }
+ return true;
+ }
+
+ /**
+ * Iterator function, which starts with the next token and continues until
+ * you reach the end of the input tokens.
+ * @warning Please prevent previous references from interfering with this
+ * functions by setting $i = null beforehand!
+ * @param int $i Current integer index variable for inputTokens
+ * @param HTMLPurifier_Token $current Current token variable.
+ * Do NOT use $token, as that variable is also a reference
+ * @return bool
+ */
+ protected function forward(&$i, &$current)
+ {
+ if ($i === null) {
+ $i = count($this->inputZipper->back) - 1;
+ } else {
+ $i--;
+ }
+ if ($i < 0) {
+ return false;
+ }
+ $current = $this->inputZipper->back[$i];
+ return true;
+ }
+
+ /**
+ * Similar to _forward, but accepts a third parameter $nesting (which
+ * should be initialized at 0) and stops when we hit the end tag
+ * for the node $this->inputIndex starts in.
+ * @param int $i Current integer index variable for inputTokens
+ * @param HTMLPurifier_Token $current Current token variable.
+ * Do NOT use $token, as that variable is also a reference
+ * @param int $nesting
+ * @return bool
+ */
+ protected function forwardUntilEndToken(&$i, &$current, &$nesting)
+ {
+ $result = $this->forward($i, $current);
+ if (!$result) {
+ return false;
+ }
+ if ($nesting === null) {
+ $nesting = 0;
+ }
+ if ($current instanceof HTMLPurifier_Token_Start) {
+ $nesting++;
+ } elseif ($current instanceof HTMLPurifier_Token_End) {
+ if ($nesting <= 0) {
+ return false;
+ }
+ $nesting--;
+ }
+ return true;
+ }
+
+ /**
+ * Iterator function, starts with the previous token and continues until
+ * you reach the beginning of input tokens.
+ * @warning Please prevent previous references from interfering with this
+ * functions by setting $i = null beforehand!
+ * @param int $i Current integer index variable for inputTokens
+ * @param HTMLPurifier_Token $current Current token variable.
+ * Do NOT use $token, as that variable is also a reference
+ * @return bool
+ */
+ protected function backward(&$i, &$current)
+ {
+ if ($i === null) {
+ $i = count($this->inputZipper->front) - 1;
+ } else {
+ $i--;
+ }
+ if ($i < 0) {
+ return false;
+ }
+ $current = $this->inputZipper->front[$i];
+ return true;
+ }
+
+ /**
+ * Handler that is called when a text token is processed
+ */
+ public function handleText(&$token)
+ {
+ }
+
+ /**
+ * Handler that is called when a start or empty token is processed
+ */
+ public function handleElement(&$token)
+ {
+ }
+
+ /**
+ * Handler that is called when an end token is processed
+ */
+ public function handleEnd(&$token)
+ {
+ $this->notifyEnd($token);
+ }
+
+ /**
+ * Notifier that is called when an end token is processed
+ * @param HTMLPurifier_Token $token Current token variable.
+ * @note This differs from handlers in that the token is read-only
+ * @deprecated
+ */
+ public function notifyEnd($token)
+ {
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Injector/AutoParagraph.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Injector/AutoParagraph.php
new file mode 100644
index 000000000..4afdd128d
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Injector/AutoParagraph.php
@@ -0,0 +1,356 @@
+<?php
+
+/**
+ * Injector that auto paragraphs text in the root node based on
+ * double-spacing.
+ * @todo Ensure all states are unit tested, including variations as well.
+ * @todo Make a graph of the flow control for this Injector.
+ */
+class HTMLPurifier_Injector_AutoParagraph extends HTMLPurifier_Injector
+{
+ /**
+ * @type string
+ */
+ public $name = 'AutoParagraph';
+
+ /**
+ * @type array
+ */
+ public $needed = array('p');
+
+ /**
+ * @return HTMLPurifier_Token_Start
+ */
+ private function _pStart()
+ {
+ $par = new HTMLPurifier_Token_Start('p');
+ $par->armor['MakeWellFormed_TagClosedError'] = true;
+ return $par;
+ }
+
+ /**
+ * @param HTMLPurifier_Token_Text $token
+ */
+ public function handleText(&$token)
+ {
+ $text = $token->data;
+ // Does the current parent allow <p> tags?
+ if ($this->allowsElement('p')) {
+ if (empty($this->currentNesting) || strpos($text, "\n\n") !== false) {
+ // Note that we have differing behavior when dealing with text
+ // in the anonymous root node, or a node inside the document.
+ // If the text as a double-newline, the treatment is the same;
+ // if it doesn't, see the next if-block if you're in the document.
+
+ $i = $nesting = null;
+ if (!$this->forwardUntilEndToken($i, $current, $nesting) && $token->is_whitespace) {
+ // State 1.1: ... ^ (whitespace, then document end)
+ // ----
+ // This is a degenerate case
+ } else {
+ if (!$token->is_whitespace || $this->_isInline($current)) {
+ // State 1.2: PAR1
+ // ----
+
+ // State 1.3: PAR1\n\nPAR2
+ // ------------
+
+ // State 1.4: <div>PAR1\n\nPAR2 (see State 2)
+ // ------------
+ $token = array($this->_pStart());
+ $this->_splitText($text, $token);
+ } else {
+ // State 1.5: \n<hr />
+ // --
+ }
+ }
+ } else {
+ // State 2: <div>PAR1... (similar to 1.4)
+ // ----
+
+ // We're in an element that allows paragraph tags, but we're not
+ // sure if we're going to need them.
+ if ($this->_pLookAhead()) {
+ // State 2.1: <div>PAR1<b>PAR1\n\nPAR2
+ // ----
+ // Note: This will always be the first child, since any
+ // previous inline element would have triggered this very
+ // same routine, and found the double newline. One possible
+ // exception would be a comment.
+ $token = array($this->_pStart(), $token);
+ } else {
+ // State 2.2.1: <div>PAR1<div>
+ // ----
+
+ // State 2.2.2: <div>PAR1<b>PAR1</b></div>
+ // ----
+ }
+ }
+ // Is the current parent a <p> tag?
+ } elseif (!empty($this->currentNesting) &&
+ $this->currentNesting[count($this->currentNesting) - 1]->name == 'p') {
+ // State 3.1: ...<p>PAR1
+ // ----
+
+ // State 3.2: ...<p>PAR1\n\nPAR2
+ // ------------
+ $token = array();
+ $this->_splitText($text, $token);
+ // Abort!
+ } else {
+ // State 4.1: ...<b>PAR1
+ // ----
+
+ // State 4.2: ...<b>PAR1\n\nPAR2
+ // ------------
+ }
+ }
+
+ /**
+ * @param HTMLPurifier_Token $token
+ */
+ public function handleElement(&$token)
+ {
+ // We don't have to check if we're already in a <p> tag for block
+ // tokens, because the tag would have been autoclosed by MakeWellFormed.
+ if ($this->allowsElement('p')) {
+ if (!empty($this->currentNesting)) {
+ if ($this->_isInline($token)) {
+ // State 1: <div>...<b>
+ // ---
+ // Check if this token is adjacent to the parent token
+ // (seek backwards until token isn't whitespace)
+ $i = null;
+ $this->backward($i, $prev);
+
+ if (!$prev instanceof HTMLPurifier_Token_Start) {
+ // Token wasn't adjacent
+ if ($prev instanceof HTMLPurifier_Token_Text &&
+ substr($prev->data, -2) === "\n\n"
+ ) {
+ // State 1.1.4: <div><p>PAR1</p>\n\n<b>
+ // ---
+ // Quite frankly, this should be handled by splitText
+ $token = array($this->_pStart(), $token);
+ } else {
+ // State 1.1.1: <div><p>PAR1</p><b>
+ // ---
+ // State 1.1.2: <div><br /><b>
+ // ---
+ // State 1.1.3: <div>PAR<b>
+ // ---
+ }
+ } else {
+ // State 1.2.1: <div><b>
+ // ---
+ // Lookahead to see if <p> is needed.
+ if ($this->_pLookAhead()) {
+ // State 1.3.1: <div><b>PAR1\n\nPAR2
+ // ---
+ $token = array($this->_pStart(), $token);
+ } else {
+ // State 1.3.2: <div><b>PAR1</b></div>
+ // ---
+
+ // State 1.3.3: <div><b>PAR1</b><div></div>\n\n</div>
+ // ---
+ }
+ }
+ } else {
+ // State 2.3: ...<div>
+ // -----
+ }
+ } else {
+ if ($this->_isInline($token)) {
+ // State 3.1: <b>
+ // ---
+ // This is where the {p} tag is inserted, not reflected in
+ // inputTokens yet, however.
+ $token = array($this->_pStart(), $token);
+ } else {
+ // State 3.2: <div>
+ // -----
+ }
+
+ $i = null;
+ if ($this->backward($i, $prev)) {
+ if (!$prev instanceof HTMLPurifier_Token_Text) {
+ // State 3.1.1: ...</p>{p}<b>
+ // ---
+ // State 3.2.1: ...</p><div>
+ // -----
+ if (!is_array($token)) {
+ $token = array($token);
+ }
+ array_unshift($token, new HTMLPurifier_Token_Text("\n\n"));
+ } else {
+ // State 3.1.2: ...</p>\n\n{p}<b>
+ // ---
+ // State 3.2.2: ...</p>\n\n<div>
+ // -----
+ // Note: PAR<ELEM> cannot occur because PAR would have been
+ // wrapped in <p> tags.
+ }
+ }
+ }
+ } else {
+ // State 2.2: <ul><li>
+ // ----
+ // State 2.4: <p><b>
+ // ---
+ }
+ }
+
+ /**
+ * Splits up a text in paragraph tokens and appends them
+ * to the result stream that will replace the original
+ * @param string $data String text data that will be processed
+ * into paragraphs
+ * @param HTMLPurifier_Token[] $result Reference to array of tokens that the
+ * tags will be appended onto
+ */
+ private function _splitText($data, &$result)
+ {
+ $raw_paragraphs = explode("\n\n", $data);
+ $paragraphs = array(); // without empty paragraphs
+ $needs_start = false;
+ $needs_end = false;
+
+ $c = count($raw_paragraphs);
+ if ($c == 1) {
+ // There were no double-newlines, abort quickly. In theory this
+ // should never happen.
+ $result[] = new HTMLPurifier_Token_Text($data);
+ return;
+ }
+ for ($i = 0; $i < $c; $i++) {
+ $par = $raw_paragraphs[$i];
+ if (trim($par) !== '') {
+ $paragraphs[] = $par;
+ } else {
+ if ($i == 0) {
+ // Double newline at the front
+ if (empty($result)) {
+ // The empty result indicates that the AutoParagraph
+ // injector did not add any start paragraph tokens.
+ // This means that we have been in a paragraph for
+ // a while, and the newline means we should start a new one.
+ $result[] = new HTMLPurifier_Token_End('p');
+ $result[] = new HTMLPurifier_Token_Text("\n\n");
+ // However, the start token should only be added if
+ // there is more processing to be done (i.e. there are
+ // real paragraphs in here). If there are none, the
+ // next start paragraph tag will be handled by the
+ // next call to the injector
+ $needs_start = true;
+ } else {
+ // We just started a new paragraph!
+ // Reinstate a double-newline for presentation's sake, since
+ // it was in the source code.
+ array_unshift($result, new HTMLPurifier_Token_Text("\n\n"));
+ }
+ } elseif ($i + 1 == $c) {
+ // Double newline at the end
+ // There should be a trailing </p> when we're finally done.
+ $needs_end = true;
+ }
+ }
+ }
+
+ // Check if this was just a giant blob of whitespace. Move this earlier,
+ // perhaps?
+ if (empty($paragraphs)) {
+ return;
+ }
+
+ // Add the start tag indicated by \n\n at the beginning of $data
+ if ($needs_start) {
+ $result[] = $this->_pStart();
+ }
+
+ // Append the paragraphs onto the result
+ foreach ($paragraphs as $par) {
+ $result[] = new HTMLPurifier_Token_Text($par);
+ $result[] = new HTMLPurifier_Token_End('p');
+ $result[] = new HTMLPurifier_Token_Text("\n\n");
+ $result[] = $this->_pStart();
+ }
+
+ // Remove trailing start token; Injector will handle this later if
+ // it was indeed needed. This prevents from needing to do a lookahead,
+ // at the cost of a lookbehind later.
+ array_pop($result);
+
+ // If there is no need for an end tag, remove all of it and let
+ // MakeWellFormed close it later.
+ if (!$needs_end) {
+ array_pop($result); // removes \n\n
+ array_pop($result); // removes </p>
+ }
+ }
+
+ /**
+ * Returns true if passed token is inline (and, ergo, allowed in
+ * paragraph tags)
+ * @param HTMLPurifier_Token $token
+ * @return bool
+ */
+ private function _isInline($token)
+ {
+ return isset($this->htmlDefinition->info['p']->child->elements[$token->name]);
+ }
+
+ /**
+ * Looks ahead in the token list and determines whether or not we need
+ * to insert a <p> tag.
+ * @return bool
+ */
+ private function _pLookAhead()
+ {
+ if ($this->currentToken instanceof HTMLPurifier_Token_Start) {
+ $nesting = 1;
+ } else {
+ $nesting = 0;
+ }
+ $ok = false;
+ $i = null;
+ while ($this->forwardUntilEndToken($i, $current, $nesting)) {
+ $result = $this->_checkNeedsP($current);
+ if ($result !== null) {
+ $ok = $result;
+ break;
+ }
+ }
+ return $ok;
+ }
+
+ /**
+ * Determines if a particular token requires an earlier inline token
+ * to get a paragraph. This should be used with _forwardUntilEndToken
+ * @param HTMLPurifier_Token $current
+ * @return bool
+ */
+ private function _checkNeedsP($current)
+ {
+ if ($current instanceof HTMLPurifier_Token_Start) {
+ if (!$this->_isInline($current)) {
+ // <div>PAR1<div>
+ // ----
+ // Terminate early, since we hit a block element
+ return false;
+ }
+ } elseif ($current instanceof HTMLPurifier_Token_Text) {
+ if (strpos($current->data, "\n\n") !== false) {
+ // <div>PAR1<b>PAR1\n\nPAR2
+ // ----
+ return true;
+ } else {
+ // <div>PAR1<b>PAR1...
+ // ----
+ }
+ }
+ return null;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Injector/DisplayLinkURI.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Injector/DisplayLinkURI.php
new file mode 100644
index 000000000..c19b1bc27
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Injector/DisplayLinkURI.php
@@ -0,0 +1,40 @@
+<?php
+
+/**
+ * Injector that displays the URL of an anchor instead of linking to it, in addition to showing the text of the link.
+ */
+class HTMLPurifier_Injector_DisplayLinkURI extends HTMLPurifier_Injector
+{
+ /**
+ * @type string
+ */
+ public $name = 'DisplayLinkURI';
+
+ /**
+ * @type array
+ */
+ public $needed = array('a');
+
+ /**
+ * @param $token
+ */
+ public function handleElement(&$token)
+ {
+ }
+
+ /**
+ * @param HTMLPurifier_Token $token
+ */
+ public function handleEnd(&$token)
+ {
+ if (isset($token->start->attr['href'])) {
+ $url = $token->start->attr['href'];
+ unset($token->start->attr['href']);
+ $token = array($token, new HTMLPurifier_Token_Text(" ($url)"));
+ } else {
+ // nothing to display
+ }
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Injector/Linkify.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Injector/Linkify.php
new file mode 100644
index 000000000..74f83eaa7
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Injector/Linkify.php
@@ -0,0 +1,64 @@
+<?php
+
+/**
+ * Injector that converts http, https and ftp text URLs to actual links.
+ */
+class HTMLPurifier_Injector_Linkify extends HTMLPurifier_Injector
+{
+ /**
+ * @type string
+ */
+ public $name = 'Linkify';
+
+ /**
+ * @type array
+ */
+ public $needed = array('a' => array('href'));
+
+ /**
+ * @param HTMLPurifier_Token $token
+ */
+ public function handleText(&$token)
+ {
+ if (!$this->allowsElement('a')) {
+ return;
+ }
+
+ if (strpos($token->data, '://') === false) {
+ // our really quick heuristic failed, abort
+ // this may not work so well if we want to match things like
+ // "google.com", but then again, most people don't
+ return;
+ }
+
+ // there is/are URL(s). Let's split the string.
+ // We use this regex:
+ // https://gist.github.com/gruber/249502
+ // but with @cscott's backtracking fix and also
+ // the Unicode characters un-Unicodified.
+ $bits = preg_split(
+ '/\\b((?:[a-z][\\w\\-]+:(?:\\/{1,3}|[a-z0-9%])|www\\d{0,3}[.]|[a-z0-9.\\-]+[.][a-z]{2,4}\\/)(?:[^\\s()<>]|\\((?:[^\\s()<>]|(?:\\([^\\s()<>]+\\)))*\\))+(?:\\((?:[^\\s()<>]|(?:\\([^\\s()<>]+\\)))*\\)|[^\\s`!()\\[\\]{};:\'".,<>?\x{00ab}\x{00bb}\x{201c}\x{201d}\x{2018}\x{2019}]))/iu',
+ $token->data, -1, PREG_SPLIT_DELIM_CAPTURE);
+
+
+ $token = array();
+
+ // $i = index
+ // $c = count
+ // $l = is link
+ for ($i = 0, $c = count($bits), $l = false; $i < $c; $i++, $l = !$l) {
+ if (!$l) {
+ if ($bits[$i] === '') {
+ continue;
+ }
+ $token[] = new HTMLPurifier_Token_Text($bits[$i]);
+ } else {
+ $token[] = new HTMLPurifier_Token_Start('a', array('href' => $bits[$i]));
+ $token[] = new HTMLPurifier_Token_Text($bits[$i]);
+ $token[] = new HTMLPurifier_Token_End('a');
+ }
+ }
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Injector/PurifierLinkify.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Injector/PurifierLinkify.php
new file mode 100644
index 000000000..cb9046f33
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Injector/PurifierLinkify.php
@@ -0,0 +1,71 @@
+<?php
+
+/**
+ * Injector that converts configuration directive syntax %Namespace.Directive
+ * to links
+ */
+class HTMLPurifier_Injector_PurifierLinkify extends HTMLPurifier_Injector
+{
+ /**
+ * @type string
+ */
+ public $name = 'PurifierLinkify';
+
+ /**
+ * @type string
+ */
+ public $docURL;
+
+ /**
+ * @type array
+ */
+ public $needed = array('a' => array('href'));
+
+ /**
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return string
+ */
+ public function prepare($config, $context)
+ {
+ $this->docURL = $config->get('AutoFormat.PurifierLinkify.DocURL');
+ return parent::prepare($config, $context);
+ }
+
+ /**
+ * @param HTMLPurifier_Token $token
+ */
+ public function handleText(&$token)
+ {
+ if (!$this->allowsElement('a')) {
+ return;
+ }
+ if (strpos($token->data, '%') === false) {
+ return;
+ }
+
+ $bits = preg_split('#%([a-z0-9]+\.[a-z0-9]+)#Si', $token->data, -1, PREG_SPLIT_DELIM_CAPTURE);
+ $token = array();
+
+ // $i = index
+ // $c = count
+ // $l = is link
+ for ($i = 0, $c = count($bits), $l = false; $i < $c; $i++, $l = !$l) {
+ if (!$l) {
+ if ($bits[$i] === '') {
+ continue;
+ }
+ $token[] = new HTMLPurifier_Token_Text($bits[$i]);
+ } else {
+ $token[] = new HTMLPurifier_Token_Start(
+ 'a',
+ array('href' => str_replace('%s', $bits[$i], $this->docURL))
+ );
+ $token[] = new HTMLPurifier_Token_Text('%' . $bits[$i]);
+ $token[] = new HTMLPurifier_Token_End('a');
+ }
+ }
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Injector/RemoveEmpty.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Injector/RemoveEmpty.php
new file mode 100644
index 000000000..0ebc477c6
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Injector/RemoveEmpty.php
@@ -0,0 +1,112 @@
+<?php
+
+class HTMLPurifier_Injector_RemoveEmpty extends HTMLPurifier_Injector
+{
+ /**
+ * @type HTMLPurifier_Context
+ */
+ private $context;
+
+ /**
+ * @type HTMLPurifier_Config
+ */
+ private $config;
+
+ /**
+ * @type HTMLPurifier_AttrValidator
+ */
+ private $attrValidator;
+
+ /**
+ * @type bool
+ */
+ private $removeNbsp;
+
+ /**
+ * @type bool
+ */
+ private $removeNbspExceptions;
+
+ /**
+ * Cached contents of %AutoFormat.RemoveEmpty.Predicate
+ * @type array
+ */
+ private $exclude;
+
+ /**
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return void
+ */
+ public function prepare($config, $context)
+ {
+ parent::prepare($config, $context);
+ $this->config = $config;
+ $this->context = $context;
+ $this->removeNbsp = $config->get('AutoFormat.RemoveEmpty.RemoveNbsp');
+ $this->removeNbspExceptions = $config->get('AutoFormat.RemoveEmpty.RemoveNbsp.Exceptions');
+ $this->exclude = $config->get('AutoFormat.RemoveEmpty.Predicate');
+ foreach ($this->exclude as $key => $attrs) {
+ if (!is_array($attrs)) {
+ // HACK, see HTMLPurifier/Printer/ConfigForm.php
+ $this->exclude[$key] = explode(';', $attrs);
+ }
+ }
+ $this->attrValidator = new HTMLPurifier_AttrValidator();
+ }
+
+ /**
+ * @param HTMLPurifier_Token $token
+ */
+ public function handleElement(&$token)
+ {
+ if (!$token instanceof HTMLPurifier_Token_Start) {
+ return;
+ }
+ $next = false;
+ $deleted = 1; // the current tag
+ for ($i = count($this->inputZipper->back) - 1; $i >= 0; $i--, $deleted++) {
+ $next = $this->inputZipper->back[$i];
+ if ($next instanceof HTMLPurifier_Token_Text) {
+ if ($next->is_whitespace) {
+ continue;
+ }
+ if ($this->removeNbsp && !isset($this->removeNbspExceptions[$token->name])) {
+ $plain = str_replace("\xC2\xA0", "", $next->data);
+ $isWsOrNbsp = $plain === '' || ctype_space($plain);
+ if ($isWsOrNbsp) {
+ continue;
+ }
+ }
+ }
+ break;
+ }
+ if (!$next || ($next instanceof HTMLPurifier_Token_End && $next->name == $token->name)) {
+ $this->attrValidator->validateToken($token, $this->config, $this->context);
+ $token->armor['ValidateAttributes'] = true;
+ if (isset($this->exclude[$token->name])) {
+ $r = true;
+ foreach ($this->exclude[$token->name] as $elem) {
+ if (!isset($token->attr[$elem])) $r = false;
+ }
+ if ($r) return;
+ }
+ if (isset($token->attr['id']) || isset($token->attr['name'])) {
+ return;
+ }
+ $token = $deleted + 1;
+ for ($b = 0, $c = count($this->inputZipper->front); $b < $c; $b++) {
+ $prev = $this->inputZipper->front[$b];
+ if ($prev instanceof HTMLPurifier_Token_Text && $prev->is_whitespace) {
+ continue;
+ }
+ break;
+ }
+ // This is safe because we removed the token that triggered this.
+ $this->rewindOffset($b+$deleted);
+ return;
+ }
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Injector/RemoveSpansWithoutAttributes.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Injector/RemoveSpansWithoutAttributes.php
new file mode 100644
index 000000000..9ee7aa84d
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Injector/RemoveSpansWithoutAttributes.php
@@ -0,0 +1,84 @@
+<?php
+
+/**
+ * Injector that removes spans with no attributes
+ */
+class HTMLPurifier_Injector_RemoveSpansWithoutAttributes extends HTMLPurifier_Injector
+{
+ /**
+ * @type string
+ */
+ public $name = 'RemoveSpansWithoutAttributes';
+
+ /**
+ * @type array
+ */
+ public $needed = array('span');
+
+ /**
+ * @type HTMLPurifier_AttrValidator
+ */
+ private $attrValidator;
+
+ /**
+ * Used by AttrValidator.
+ * @type HTMLPurifier_Config
+ */
+ private $config;
+
+ /**
+ * @type HTMLPurifier_Context
+ */
+ private $context;
+
+ public function prepare($config, $context)
+ {
+ $this->attrValidator = new HTMLPurifier_AttrValidator();
+ $this->config = $config;
+ $this->context = $context;
+ return parent::prepare($config, $context);
+ }
+
+ /**
+ * @param HTMLPurifier_Token $token
+ */
+ public function handleElement(&$token)
+ {
+ if ($token->name !== 'span' || !$token instanceof HTMLPurifier_Token_Start) {
+ return;
+ }
+
+ // We need to validate the attributes now since this doesn't normally
+ // happen until after MakeWellFormed. If all the attributes are removed
+ // the span needs to be removed too.
+ $this->attrValidator->validateToken($token, $this->config, $this->context);
+ $token->armor['ValidateAttributes'] = true;
+
+ if (!empty($token->attr)) {
+ return;
+ }
+
+ $nesting = 0;
+ while ($this->forwardUntilEndToken($i, $current, $nesting)) {
+ }
+
+ if ($current instanceof HTMLPurifier_Token_End && $current->name === 'span') {
+ // Mark closing span tag for deletion
+ $current->markForDeletion = true;
+ // Delete open span tag
+ $token = false;
+ }
+ }
+
+ /**
+ * @param HTMLPurifier_Token $token
+ */
+ public function handleEnd(&$token)
+ {
+ if ($token->markForDeletion) {
+ $token = false;
+ }
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Injector/SafeObject.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Injector/SafeObject.php
new file mode 100644
index 000000000..317f7864d
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Injector/SafeObject.php
@@ -0,0 +1,124 @@
+<?php
+
+/**
+ * Adds important param elements to inside of object in order to make
+ * things safe.
+ */
+class HTMLPurifier_Injector_SafeObject extends HTMLPurifier_Injector
+{
+ /**
+ * @type string
+ */
+ public $name = 'SafeObject';
+
+ /**
+ * @type array
+ */
+ public $needed = array('object', 'param');
+
+ /**
+ * @type array
+ */
+ protected $objectStack = array();
+
+ /**
+ * @type array
+ */
+ protected $paramStack = array();
+
+ /**
+ * Keep this synchronized with AttrTransform/SafeParam.php.
+ * @type array
+ */
+ protected $addParam = array(
+ 'allowScriptAccess' => 'never',
+ 'allowNetworking' => 'internal',
+ );
+
+ /**
+ * These are all lower-case keys.
+ * @type array
+ */
+ protected $allowedParam = array(
+ 'wmode' => true,
+ 'movie' => true,
+ 'flashvars' => true,
+ 'src' => true,
+ 'allowfullscreen' => true, // if omitted, assume to be 'false'
+ );
+
+ /**
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return void
+ */
+ public function prepare($config, $context)
+ {
+ parent::prepare($config, $context);
+ }
+
+ /**
+ * @param HTMLPurifier_Token $token
+ */
+ public function handleElement(&$token)
+ {
+ if ($token->name == 'object') {
+ $this->objectStack[] = $token;
+ $this->paramStack[] = array();
+ $new = array($token);
+ foreach ($this->addParam as $name => $value) {
+ $new[] = new HTMLPurifier_Token_Empty('param', array('name' => $name, 'value' => $value));
+ }
+ $token = $new;
+ } elseif ($token->name == 'param') {
+ $nest = count($this->currentNesting) - 1;
+ if ($nest >= 0 && $this->currentNesting[$nest]->name === 'object') {
+ $i = count($this->objectStack) - 1;
+ if (!isset($token->attr['name'])) {
+ $token = false;
+ return;
+ }
+ $n = $token->attr['name'];
+ // We need this fix because YouTube doesn't supply a data
+ // attribute, which we need if a type is specified. This is
+ // *very* Flash specific.
+ if (!isset($this->objectStack[$i]->attr['data']) &&
+ ($token->attr['name'] == 'movie' || $token->attr['name'] == 'src')
+ ) {
+ $this->objectStack[$i]->attr['data'] = $token->attr['value'];
+ }
+ // Check if the parameter is the correct value but has not
+ // already been added
+ if (!isset($this->paramStack[$i][$n]) &&
+ isset($this->addParam[$n]) &&
+ $token->attr['name'] === $this->addParam[$n]) {
+ // keep token, and add to param stack
+ $this->paramStack[$i][$n] = true;
+ } elseif (isset($this->allowedParam[strtolower($n)])) {
+ // keep token, don't do anything to it
+ // (could possibly check for duplicates here)
+ // Note: In principle, parameters should be case sensitive.
+ // But it seems they are not really; so accept any case.
+ } else {
+ $token = false;
+ }
+ } else {
+ // not directly inside an object, DENY!
+ $token = false;
+ }
+ }
+ }
+
+ public function handleEnd(&$token)
+ {
+ // This is the WRONG way of handling the object and param stacks;
+ // we should be inserting them directly on the relevant object tokens
+ // so that the global stack handling handles it.
+ if ($token->name == 'object') {
+ array_pop($this->objectStack);
+ array_pop($this->paramStack);
+ }
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Language.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Language.php
new file mode 100644
index 000000000..65277dd43
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Language.php
@@ -0,0 +1,204 @@
+<?php
+
+/**
+ * Represents a language and defines localizable string formatting and
+ * other functions, as well as the localized messages for HTML Purifier.
+ */
+class HTMLPurifier_Language
+{
+
+ /**
+ * ISO 639 language code of language. Prefers shortest possible version.
+ * @type string
+ */
+ public $code = 'en';
+
+ /**
+ * Fallback language code.
+ * @type bool|string
+ */
+ public $fallback = false;
+
+ /**
+ * Array of localizable messages.
+ * @type array
+ */
+ public $messages = array();
+
+ /**
+ * Array of localizable error codes.
+ * @type array
+ */
+ public $errorNames = array();
+
+ /**
+ * True if no message file was found for this language, so English
+ * is being used instead. Check this if you'd like to notify the
+ * user that they've used a non-supported language.
+ * @type bool
+ */
+ public $error = false;
+
+ /**
+ * Has the language object been loaded yet?
+ * @type bool
+ * @todo Make it private, fix usage in HTMLPurifier_LanguageTest
+ */
+ public $_loaded = false;
+
+ /**
+ * @type HTMLPurifier_Config
+ */
+ protected $config;
+
+ /**
+ * @type HTMLPurifier_Context
+ */
+ protected $context;
+
+ /**
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ */
+ public function __construct($config, $context)
+ {
+ $this->config = $config;
+ $this->context = $context;
+ }
+
+ /**
+ * Loads language object with necessary info from factory cache
+ * @note This is a lazy loader
+ */
+ public function load()
+ {
+ if ($this->_loaded) {
+ return;
+ }
+ $factory = HTMLPurifier_LanguageFactory::instance();
+ $factory->loadLanguage($this->code);
+ foreach ($factory->keys as $key) {
+ $this->$key = $factory->cache[$this->code][$key];
+ }
+ $this->_loaded = true;
+ }
+
+ /**
+ * Retrieves a localised message.
+ * @param string $key string identifier of message
+ * @return string localised message
+ */
+ public function getMessage($key)
+ {
+ if (!$this->_loaded) {
+ $this->load();
+ }
+ if (!isset($this->messages[$key])) {
+ return "[$key]";
+ }
+ return $this->messages[$key];
+ }
+
+ /**
+ * Retrieves a localised error name.
+ * @param int $int error number, corresponding to PHP's error reporting
+ * @return string localised message
+ */
+ public function getErrorName($int)
+ {
+ if (!$this->_loaded) {
+ $this->load();
+ }
+ if (!isset($this->errorNames[$int])) {
+ return "[Error: $int]";
+ }
+ return $this->errorNames[$int];
+ }
+
+ /**
+ * Converts an array list into a string readable representation
+ * @param array $array
+ * @return string
+ */
+ public function listify($array)
+ {
+ $sep = $this->getMessage('Item separator');
+ $sep_last = $this->getMessage('Item separator last');
+ $ret = '';
+ for ($i = 0, $c = count($array); $i < $c; $i++) {
+ if ($i == 0) {
+ } elseif ($i + 1 < $c) {
+ $ret .= $sep;
+ } else {
+ $ret .= $sep_last;
+ }
+ $ret .= $array[$i];
+ }
+ return $ret;
+ }
+
+ /**
+ * Formats a localised message with passed parameters
+ * @param string $key string identifier of message
+ * @param array $args Parameters to substitute in
+ * @return string localised message
+ * @todo Implement conditionals? Right now, some messages make
+ * reference to line numbers, but those aren't always available
+ */
+ public function formatMessage($key, $args = array())
+ {
+ if (!$this->_loaded) {
+ $this->load();
+ }
+ if (!isset($this->messages[$key])) {
+ return "[$key]";
+ }
+ $raw = $this->messages[$key];
+ $subst = array();
+ $generator = false;
+ foreach ($args as $i => $value) {
+ if (is_object($value)) {
+ if ($value instanceof HTMLPurifier_Token) {
+ // factor this out some time
+ if (!$generator) {
+ $generator = $this->context->get('Generator');
+ }
+ if (isset($value->name)) {
+ $subst['$'.$i.'.Name'] = $value->name;
+ }
+ if (isset($value->data)) {
+ $subst['$'.$i.'.Data'] = $value->data;
+ }
+ $subst['$'.$i.'.Compact'] =
+ $subst['$'.$i.'.Serialized'] = $generator->generateFromToken($value);
+ // a more complex algorithm for compact representation
+ // could be introduced for all types of tokens. This
+ // may need to be factored out into a dedicated class
+ if (!empty($value->attr)) {
+ $stripped_token = clone $value;
+ $stripped_token->attr = array();
+ $subst['$'.$i.'.Compact'] = $generator->generateFromToken($stripped_token);
+ }
+ $subst['$'.$i.'.Line'] = $value->line ? $value->line : 'unknown';
+ }
+ continue;
+ } elseif (is_array($value)) {
+ $keys = array_keys($value);
+ if (array_keys($keys) === $keys) {
+ // list
+ $subst['$'.$i] = $this->listify($value);
+ } else {
+ // associative array
+ // no $i implementation yet, sorry
+ $subst['$'.$i.'.Keys'] = $this->listify($keys);
+ $subst['$'.$i.'.Values'] = $this->listify(array_values($value));
+ }
+ continue;
+ }
+ $subst['$' . $i] = $value;
+ }
+ return strtr($raw, $subst);
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Language/classes/en-x-test.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Language/classes/en-x-test.php
new file mode 100644
index 000000000..8828f5cde
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Language/classes/en-x-test.php
@@ -0,0 +1,9 @@
+<?php
+
+// private class for unit testing
+
+class HTMLPurifier_Language_en_x_test extends HTMLPurifier_Language
+{
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Language/messages/en-x-test.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Language/messages/en-x-test.php
new file mode 100644
index 000000000..1c046f379
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Language/messages/en-x-test.php
@@ -0,0 +1,11 @@
+<?php
+
+// private language message file for unit testing purposes
+
+$fallback = 'en';
+
+$messages = array(
+ 'HTMLPurifier' => 'HTML Purifier X'
+);
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Language/messages/en-x-testmini.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Language/messages/en-x-testmini.php
new file mode 100644
index 000000000..806c83fbf
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Language/messages/en-x-testmini.php
@@ -0,0 +1,12 @@
+<?php
+
+// private language message file for unit testing purposes
+// this language file has no class associated with it
+
+$fallback = 'en';
+
+$messages = array(
+ 'HTMLPurifier' => 'HTML Purifier XNone'
+);
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Language/messages/en.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Language/messages/en.php
new file mode 100644
index 000000000..c7f197e1e
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Language/messages/en.php
@@ -0,0 +1,55 @@
+<?php
+
+$fallback = false;
+
+$messages = array(
+
+ 'HTMLPurifier' => 'HTML Purifier',
+// for unit testing purposes
+ 'LanguageFactoryTest: Pizza' => 'Pizza',
+ 'LanguageTest: List' => '$1',
+ 'LanguageTest: Hash' => '$1.Keys; $1.Values',
+ 'Item separator' => ', ',
+ 'Item separator last' => ' and ', // non-Harvard style
+
+ 'ErrorCollector: No errors' => 'No errors detected. However, because error reporting is still incomplete, there may have been errors that the error collector was not notified of; please inspect the output HTML carefully.',
+ 'ErrorCollector: At line' => ' at line $line',
+ 'ErrorCollector: Incidental errors' => 'Incidental errors',
+ 'Lexer: Unclosed comment' => 'Unclosed comment',
+ 'Lexer: Unescaped lt' => 'Unescaped less-than sign (<) should be &lt;',
+ 'Lexer: Missing gt' => 'Missing greater-than sign (>), previous less-than sign (<) should be escaped',
+ 'Lexer: Missing attribute key' => 'Attribute declaration has no key',
+ 'Lexer: Missing end quote' => 'Attribute declaration has no end quote',
+ 'Lexer: Extracted body' => 'Removed document metadata tags',
+ 'Strategy_RemoveForeignElements: Tag transform' => '<$1> element transformed into $CurrentToken.Serialized',
+ 'Strategy_RemoveForeignElements: Missing required attribute' => '$CurrentToken.Compact element missing required attribute $1',
+ 'Strategy_RemoveForeignElements: Foreign element to text' => 'Unrecognized $CurrentToken.Serialized tag converted to text',
+ 'Strategy_RemoveForeignElements: Foreign element removed' => 'Unrecognized $CurrentToken.Serialized tag removed',
+ 'Strategy_RemoveForeignElements: Comment removed' => 'Comment containing "$CurrentToken.Data" removed',
+ 'Strategy_RemoveForeignElements: Foreign meta element removed' => 'Unrecognized $CurrentToken.Serialized meta tag and all descendants removed',
+ 'Strategy_RemoveForeignElements: Token removed to end' => 'Tags and text starting from $1 element where removed to end',
+ 'Strategy_RemoveForeignElements: Trailing hyphen in comment removed' => 'Trailing hyphen(s) in comment removed',
+ 'Strategy_RemoveForeignElements: Hyphens in comment collapsed' => 'Double hyphens in comments are not allowed, and were collapsed into single hyphens',
+ 'Strategy_MakeWellFormed: Unnecessary end tag removed' => 'Unnecessary $CurrentToken.Serialized tag removed',
+ 'Strategy_MakeWellFormed: Unnecessary end tag to text' => 'Unnecessary $CurrentToken.Serialized tag converted to text',
+ 'Strategy_MakeWellFormed: Tag auto closed' => '$1.Compact started on line $1.Line auto-closed by $CurrentToken.Compact',
+ 'Strategy_MakeWellFormed: Tag carryover' => '$1.Compact started on line $1.Line auto-continued into $CurrentToken.Compact',
+ 'Strategy_MakeWellFormed: Stray end tag removed' => 'Stray $CurrentToken.Serialized tag removed',
+ 'Strategy_MakeWellFormed: Stray end tag to text' => 'Stray $CurrentToken.Serialized tag converted to text',
+ 'Strategy_MakeWellFormed: Tag closed by element end' => '$1.Compact tag started on line $1.Line closed by end of $CurrentToken.Serialized',
+ 'Strategy_MakeWellFormed: Tag closed by document end' => '$1.Compact tag started on line $1.Line closed by end of document',
+ 'Strategy_FixNesting: Node removed' => '$CurrentToken.Compact node removed',
+ 'Strategy_FixNesting: Node excluded' => '$CurrentToken.Compact node removed due to descendant exclusion by ancestor element',
+ 'Strategy_FixNesting: Node reorganized' => 'Contents of $CurrentToken.Compact node reorganized to enforce its content model',
+ 'Strategy_FixNesting: Node contents removed' => 'Contents of $CurrentToken.Compact node removed',
+ 'AttrValidator: Attributes transformed' => 'Attributes on $CurrentToken.Compact transformed from $1.Keys to $2.Keys',
+ 'AttrValidator: Attribute removed' => '$CurrentAttr.Name attribute on $CurrentToken.Compact removed',
+);
+
+$errorNames = array(
+ E_ERROR => 'Error',
+ E_WARNING => 'Warning',
+ E_NOTICE => 'Notice'
+);
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/LanguageFactory.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/LanguageFactory.php
new file mode 100644
index 000000000..4e35272d8
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/LanguageFactory.php
@@ -0,0 +1,209 @@
+<?php
+
+/**
+ * Class responsible for generating HTMLPurifier_Language objects, managing
+ * caching and fallbacks.
+ * @note Thanks to MediaWiki for the general logic, although this version
+ * has been entirely rewritten
+ * @todo Serialized cache for languages
+ */
+class HTMLPurifier_LanguageFactory
+{
+
+ /**
+ * Cache of language code information used to load HTMLPurifier_Language objects.
+ * Structure is: $factory->cache[$language_code][$key] = $value
+ * @type array
+ */
+ public $cache;
+
+ /**
+ * Valid keys in the HTMLPurifier_Language object. Designates which
+ * variables to slurp out of a message file.
+ * @type array
+ */
+ public $keys = array('fallback', 'messages', 'errorNames');
+
+ /**
+ * Instance to validate language codes.
+ * @type HTMLPurifier_AttrDef_Lang
+ *
+ */
+ protected $validator;
+
+ /**
+ * Cached copy of dirname(__FILE__), directory of current file without
+ * trailing slash.
+ * @type string
+ */
+ protected $dir;
+
+ /**
+ * Keys whose contents are a hash map and can be merged.
+ * @type array
+ */
+ protected $mergeable_keys_map = array('messages' => true, 'errorNames' => true);
+
+ /**
+ * Keys whose contents are a list and can be merged.
+ * @value array lookup
+ */
+ protected $mergeable_keys_list = array();
+
+ /**
+ * Retrieve sole instance of the factory.
+ * @param HTMLPurifier_LanguageFactory $prototype Optional prototype to overload sole instance with,
+ * or bool true to reset to default factory.
+ * @return HTMLPurifier_LanguageFactory
+ */
+ public static function instance($prototype = null)
+ {
+ static $instance = null;
+ if ($prototype !== null) {
+ $instance = $prototype;
+ } elseif ($instance === null || $prototype == true) {
+ $instance = new HTMLPurifier_LanguageFactory();
+ $instance->setup();
+ }
+ return $instance;
+ }
+
+ /**
+ * Sets up the singleton, much like a constructor
+ * @note Prevents people from getting this outside of the singleton
+ */
+ public function setup()
+ {
+ $this->validator = new HTMLPurifier_AttrDef_Lang();
+ $this->dir = HTMLPURIFIER_PREFIX . '/HTMLPurifier';
+ }
+
+ /**
+ * Creates a language object, handles class fallbacks
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @param bool|string $code Code to override configuration with. Private parameter.
+ * @return HTMLPurifier_Language
+ */
+ public function create($config, $context, $code = false)
+ {
+ // validate language code
+ if ($code === false) {
+ $code = $this->validator->validate(
+ $config->get('Core.Language'),
+ $config,
+ $context
+ );
+ } else {
+ $code = $this->validator->validate($code, $config, $context);
+ }
+ if ($code === false) {
+ $code = 'en'; // malformed code becomes English
+ }
+
+ $pcode = str_replace('-', '_', $code); // make valid PHP classname
+ static $depth = 0; // recursion protection
+
+ if ($code == 'en') {
+ $lang = new HTMLPurifier_Language($config, $context);
+ } else {
+ $class = 'HTMLPurifier_Language_' . $pcode;
+ $file = $this->dir . '/Language/classes/' . $code . '.php';
+ if (file_exists($file) || class_exists($class, false)) {
+ $lang = new $class($config, $context);
+ } else {
+ // Go fallback
+ $raw_fallback = $this->getFallbackFor($code);
+ $fallback = $raw_fallback ? $raw_fallback : 'en';
+ $depth++;
+ $lang = $this->create($config, $context, $fallback);
+ if (!$raw_fallback) {
+ $lang->error = true;
+ }
+ $depth--;
+ }
+ }
+ $lang->code = $code;
+ return $lang;
+ }
+
+ /**
+ * Returns the fallback language for language
+ * @note Loads the original language into cache
+ * @param string $code language code
+ * @return string|bool
+ */
+ public function getFallbackFor($code)
+ {
+ $this->loadLanguage($code);
+ return $this->cache[$code]['fallback'];
+ }
+
+ /**
+ * Loads language into the cache, handles message file and fallbacks
+ * @param string $code language code
+ */
+ public function loadLanguage($code)
+ {
+ static $languages_seen = array(); // recursion guard
+
+ // abort if we've already loaded it
+ if (isset($this->cache[$code])) {
+ return;
+ }
+
+ // generate filename
+ $filename = $this->dir . '/Language/messages/' . $code . '.php';
+
+ // default fallback : may be overwritten by the ensuing include
+ $fallback = ($code != 'en') ? 'en' : false;
+
+ // load primary localisation
+ if (!file_exists($filename)) {
+ // skip the include: will rely solely on fallback
+ $filename = $this->dir . '/Language/messages/en.php';
+ $cache = array();
+ } else {
+ include $filename;
+ $cache = compact($this->keys);
+ }
+
+ // load fallback localisation
+ if (!empty($fallback)) {
+
+ // infinite recursion guard
+ if (isset($languages_seen[$code])) {
+ trigger_error(
+ 'Circular fallback reference in language ' .
+ $code,
+ E_USER_ERROR
+ );
+ $fallback = 'en';
+ }
+ $language_seen[$code] = true;
+
+ // load the fallback recursively
+ $this->loadLanguage($fallback);
+ $fallback_cache = $this->cache[$fallback];
+
+ // merge fallback with current language
+ foreach ($this->keys as $key) {
+ if (isset($cache[$key]) && isset($fallback_cache[$key])) {
+ if (isset($this->mergeable_keys_map[$key])) {
+ $cache[$key] = $cache[$key] + $fallback_cache[$key];
+ } elseif (isset($this->mergeable_keys_list[$key])) {
+ $cache[$key] = array_merge($fallback_cache[$key], $cache[$key]);
+ }
+ } else {
+ $cache[$key] = $fallback_cache[$key];
+ }
+ }
+ }
+
+ // save to cache for later retrieval
+ $this->cache[$code] = $cache;
+ return;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Length.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Length.php
new file mode 100644
index 000000000..bbfbe6624
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Length.php
@@ -0,0 +1,160 @@
+<?php
+
+/**
+ * Represents a measurable length, with a string numeric magnitude
+ * and a unit. This object is immutable.
+ */
+class HTMLPurifier_Length
+{
+
+ /**
+ * String numeric magnitude.
+ * @type string
+ */
+ protected $n;
+
+ /**
+ * String unit. False is permitted if $n = 0.
+ * @type string|bool
+ */
+ protected $unit;
+
+ /**
+ * Whether or not this length is valid. Null if not calculated yet.
+ * @type bool
+ */
+ protected $isValid;
+
+ /**
+ * Array Lookup array of units recognized by CSS 2.1
+ * @type array
+ */
+ protected static $allowedUnits = array(
+ 'em' => true, 'ex' => true, 'px' => true, 'in' => true,
+ 'cm' => true, 'mm' => true, 'pt' => true, 'pc' => true
+ );
+
+ /**
+ * @param string $n Magnitude
+ * @param bool|string $u Unit
+ */
+ public function __construct($n = '0', $u = false)
+ {
+ $this->n = (string) $n;
+ $this->unit = $u !== false ? (string) $u : false;
+ }
+
+ /**
+ * @param string $s Unit string, like '2em' or '3.4in'
+ * @return HTMLPurifier_Length
+ * @warning Does not perform validation.
+ */
+ public static function make($s)
+ {
+ if ($s instanceof HTMLPurifier_Length) {
+ return $s;
+ }
+ $n_length = strspn($s, '1234567890.+-');
+ $n = substr($s, 0, $n_length);
+ $unit = substr($s, $n_length);
+ if ($unit === '') {
+ $unit = false;
+ }
+ return new HTMLPurifier_Length($n, $unit);
+ }
+
+ /**
+ * Validates the number and unit.
+ * @return bool
+ */
+ protected function validate()
+ {
+ // Special case:
+ if ($this->n === '+0' || $this->n === '-0') {
+ $this->n = '0';
+ }
+ if ($this->n === '0' && $this->unit === false) {
+ return true;
+ }
+ if (!ctype_lower($this->unit)) {
+ $this->unit = strtolower($this->unit);
+ }
+ if (!isset(HTMLPurifier_Length::$allowedUnits[$this->unit])) {
+ return false;
+ }
+ // Hack:
+ $def = new HTMLPurifier_AttrDef_CSS_Number();
+ $result = $def->validate($this->n, false, false);
+ if ($result === false) {
+ return false;
+ }
+ $this->n = $result;
+ return true;
+ }
+
+ /**
+ * Returns string representation of number.
+ * @return string
+ */
+ public function toString()
+ {
+ if (!$this->isValid()) {
+ return false;
+ }
+ return $this->n . $this->unit;
+ }
+
+ /**
+ * Retrieves string numeric magnitude.
+ * @return string
+ */
+ public function getN()
+ {
+ return $this->n;
+ }
+
+ /**
+ * Retrieves string unit.
+ * @return string
+ */
+ public function getUnit()
+ {
+ return $this->unit;
+ }
+
+ /**
+ * Returns true if this length unit is valid.
+ * @return bool
+ */
+ public function isValid()
+ {
+ if ($this->isValid === null) {
+ $this->isValid = $this->validate();
+ }
+ return $this->isValid;
+ }
+
+ /**
+ * Compares two lengths, and returns 1 if greater, -1 if less and 0 if equal.
+ * @param HTMLPurifier_Length $l
+ * @return int
+ * @warning If both values are too large or small, this calculation will
+ * not work properly
+ */
+ public function compareTo($l)
+ {
+ if ($l === false) {
+ return false;
+ }
+ if ($l->unit !== $this->unit) {
+ $converter = new HTMLPurifier_UnitConverter();
+ $l = $converter->convert($l, $this->unit);
+ if ($l === false) {
+ return false;
+ }
+ }
+ return $this->n - $l->n;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Lexer.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Lexer.php
new file mode 100644
index 000000000..e9da3ed5e
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Lexer.php
@@ -0,0 +1,382 @@
+<?php
+
+/**
+ * Forgivingly lexes HTML (SGML-style) markup into tokens.
+ *
+ * A lexer parses a string of SGML-style markup and converts them into
+ * corresponding tokens. It doesn't check for well-formedness, although its
+ * internal mechanism may make this automatic (such as the case of
+ * HTMLPurifier_Lexer_DOMLex). There are several implementations to choose
+ * from.
+ *
+ * A lexer is HTML-oriented: it might work with XML, but it's not
+ * recommended, as we adhere to a subset of the specification for optimization
+ * reasons. This might change in the future. Also, most tokenizers are not
+ * expected to handle DTDs or PIs.
+ *
+ * This class should not be directly instantiated, but you may use create() to
+ * retrieve a default copy of the lexer. Being a supertype, this class
+ * does not actually define any implementation, but offers commonly used
+ * convenience functions for subclasses.
+ *
+ * @note The unit tests will instantiate this class for testing purposes, as
+ * many of the utility functions require a class to be instantiated.
+ * This means that, even though this class is not runnable, it will
+ * not be declared abstract.
+ *
+ * @par
+ *
+ * @note
+ * We use tokens rather than create a DOM representation because DOM would:
+ *
+ * @par
+ * -# Require more processing and memory to create,
+ * -# Is not streamable, and
+ * -# Has the entire document structure (html and body not needed).
+ *
+ * @par
+ * However, DOM is helpful in that it makes it easy to move around nodes
+ * without a lot of lookaheads to see when a tag is closed. This is a
+ * limitation of the token system and some workarounds would be nice.
+ */
+class HTMLPurifier_Lexer
+{
+
+ /**
+ * Whether or not this lexer implements line-number/column-number tracking.
+ * If it does, set to true.
+ */
+ public $tracksLineNumbers = false;
+
+ // -- STATIC ----------------------------------------------------------
+
+ /**
+ * Retrieves or sets the default Lexer as a Prototype Factory.
+ *
+ * By default HTMLPurifier_Lexer_DOMLex will be returned. There are
+ * a few exceptions involving special features that only DirectLex
+ * implements.
+ *
+ * @note The behavior of this class has changed, rather than accepting
+ * a prototype object, it now accepts a configuration object.
+ * To specify your own prototype, set %Core.LexerImpl to it.
+ * This change in behavior de-singletonizes the lexer object.
+ *
+ * @param HTMLPurifier_Config $config
+ * @return HTMLPurifier_Lexer
+ * @throws HTMLPurifier_Exception
+ */
+ public static function create($config)
+ {
+ if (!($config instanceof HTMLPurifier_Config)) {
+ $lexer = $config;
+ trigger_error(
+ "Passing a prototype to
+ HTMLPurifier_Lexer::create() is deprecated, please instead
+ use %Core.LexerImpl",
+ E_USER_WARNING
+ );
+ } else {
+ $lexer = $config->get('Core.LexerImpl');
+ }
+
+ $needs_tracking =
+ $config->get('Core.MaintainLineNumbers') ||
+ $config->get('Core.CollectErrors');
+
+ $inst = null;
+ if (is_object($lexer)) {
+ $inst = $lexer;
+ } else {
+ if (is_null($lexer)) {
+ do {
+ // auto-detection algorithm
+ if ($needs_tracking) {
+ $lexer = 'DirectLex';
+ break;
+ }
+
+ if (class_exists('DOMDocument', false) &&
+ method_exists('DOMDocument', 'loadHTML') &&
+ !extension_loaded('domxml')
+ ) {
+ // check for DOM support, because while it's part of the
+ // core, it can be disabled compile time. Also, the PECL
+ // domxml extension overrides the default DOM, and is evil
+ // and nasty and we shan't bother to support it
+ $lexer = 'DOMLex';
+ } else {
+ $lexer = 'DirectLex';
+ }
+ } while (0);
+ } // do..while so we can break
+
+ // instantiate recognized string names
+ switch ($lexer) {
+ case 'DOMLex':
+ $inst = new HTMLPurifier_Lexer_DOMLex();
+ break;
+ case 'DirectLex':
+ $inst = new HTMLPurifier_Lexer_DirectLex();
+ break;
+ case 'PH5P':
+ $inst = new HTMLPurifier_Lexer_PH5P();
+ break;
+ default:
+ throw new HTMLPurifier_Exception(
+ "Cannot instantiate unrecognized Lexer type " .
+ htmlspecialchars($lexer)
+ );
+ }
+ }
+
+ if (!$inst) {
+ throw new HTMLPurifier_Exception('No lexer was instantiated');
+ }
+
+ // once PHP DOM implements native line numbers, or we
+ // hack out something using XSLT, remove this stipulation
+ if ($needs_tracking && !$inst->tracksLineNumbers) {
+ throw new HTMLPurifier_Exception(
+ 'Cannot use lexer that does not support line numbers with ' .
+ 'Core.MaintainLineNumbers or Core.CollectErrors (use DirectLex instead)'
+ );
+ }
+
+ return $inst;
+
+ }
+
+ // -- CONVENIENCE MEMBERS ---------------------------------------------
+
+ public function __construct()
+ {
+ $this->_entity_parser = new HTMLPurifier_EntityParser();
+ }
+
+ /**
+ * Most common entity to raw value conversion table for special entities.
+ * @type array
+ */
+ protected $_special_entity2str =
+ array(
+ '&quot;' => '"',
+ '&amp;' => '&',
+ '&lt;' => '<',
+ '&gt;' => '>',
+ '&#39;' => "'",
+ '&#039;' => "'",
+ '&#x27;' => "'"
+ );
+
+ public function parseText($string, $config) {
+ return $this->parseData($string, false, $config);
+ }
+
+ public function parseAttr($string, $config) {
+ return $this->parseData($string, true, $config);
+ }
+
+ /**
+ * Parses special entities into the proper characters.
+ *
+ * This string will translate escaped versions of the special characters
+ * into the correct ones.
+ *
+ * @param string $string String character data to be parsed.
+ * @return string Parsed character data.
+ */
+ public function parseData($string, $is_attr, $config)
+ {
+ // following functions require at least one character
+ if ($string === '') {
+ return '';
+ }
+
+ // subtracts amps that cannot possibly be escaped
+ $num_amp = substr_count($string, '&') - substr_count($string, '& ') -
+ ($string[strlen($string) - 1] === '&' ? 1 : 0);
+
+ if (!$num_amp) {
+ return $string;
+ } // abort if no entities
+ $num_esc_amp = substr_count($string, '&amp;');
+ $string = strtr($string, $this->_special_entity2str);
+
+ // code duplication for sake of optimization, see above
+ $num_amp_2 = substr_count($string, '&') - substr_count($string, '& ') -
+ ($string[strlen($string) - 1] === '&' ? 1 : 0);
+
+ if ($num_amp_2 <= $num_esc_amp) {
+ return $string;
+ }
+
+ // hmm... now we have some uncommon entities. Use the callback.
+ if ($config->get('Core.LegacyEntityDecoder')) {
+ $string = $this->_entity_parser->substituteSpecialEntities($string);
+ } else {
+ if ($is_attr) {
+ $string = $this->_entity_parser->substituteAttrEntities($string);
+ } else {
+ $string = $this->_entity_parser->substituteTextEntities($string);
+ }
+ }
+ return $string;
+ }
+
+ /**
+ * Lexes an HTML string into tokens.
+ * @param $string String HTML.
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return HTMLPurifier_Token[] array representation of HTML.
+ */
+ public function tokenizeHTML($string, $config, $context)
+ {
+ trigger_error('Call to abstract class', E_USER_ERROR);
+ }
+
+ /**
+ * Translates CDATA sections into regular sections (through escaping).
+ * @param string $string HTML string to process.
+ * @return string HTML with CDATA sections escaped.
+ */
+ protected static function escapeCDATA($string)
+ {
+ return preg_replace_callback(
+ '/<!\[CDATA\[(.+?)\]\]>/s',
+ array('HTMLPurifier_Lexer', 'CDATACallback'),
+ $string
+ );
+ }
+
+ /**
+ * Special CDATA case that is especially convoluted for <script>
+ * @param string $string HTML string to process.
+ * @return string HTML with CDATA sections escaped.
+ */
+ protected static function escapeCommentedCDATA($string)
+ {
+ return preg_replace_callback(
+ '#<!--//--><!\[CDATA\[//><!--(.+?)//--><!\]\]>#s',
+ array('HTMLPurifier_Lexer', 'CDATACallback'),
+ $string
+ );
+ }
+
+ /**
+ * Special Internet Explorer conditional comments should be removed.
+ * @param string $string HTML string to process.
+ * @return string HTML with conditional comments removed.
+ */
+ protected static function removeIEConditional($string)
+ {
+ return preg_replace(
+ '#<!--\[if [^>]+\]>.*?<!\[endif\]-->#si', // probably should generalize for all strings
+ '',
+ $string
+ );
+ }
+
+ /**
+ * Callback function for escapeCDATA() that does the work.
+ *
+ * @warning Though this is public in order to let the callback happen,
+ * calling it directly is not recommended.
+ * @param array $matches PCRE matches array, with index 0 the entire match
+ * and 1 the inside of the CDATA section.
+ * @return string Escaped internals of the CDATA section.
+ */
+ protected static function CDATACallback($matches)
+ {
+ // not exactly sure why the character set is needed, but whatever
+ return htmlspecialchars($matches[1], ENT_COMPAT, 'UTF-8');
+ }
+
+ /**
+ * Takes a piece of HTML and normalizes it by converting entities, fixing
+ * encoding, extracting bits, and other good stuff.
+ * @param string $html HTML.
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return string
+ * @todo Consider making protected
+ */
+ public function normalize($html, $config, $context)
+ {
+ // normalize newlines to \n
+ if ($config->get('Core.NormalizeNewlines')) {
+ $html = str_replace("\r\n", "\n", $html);
+ $html = str_replace("\r", "\n", $html);
+ }
+
+ if ($config->get('HTML.Trusted')) {
+ // escape convoluted CDATA
+ $html = $this->escapeCommentedCDATA($html);
+ }
+
+ // escape CDATA
+ $html = $this->escapeCDATA($html);
+
+ $html = $this->removeIEConditional($html);
+
+ // extract body from document if applicable
+ if ($config->get('Core.ConvertDocumentToFragment')) {
+ $e = false;
+ if ($config->get('Core.CollectErrors')) {
+ $e =& $context->get('ErrorCollector');
+ }
+ $new_html = $this->extractBody($html);
+ if ($e && $new_html != $html) {
+ $e->send(E_WARNING, 'Lexer: Extracted body');
+ }
+ $html = $new_html;
+ }
+
+ // expand entities that aren't the big five
+ if ($config->get('Core.LegacyEntityDecoder')) {
+ $html = $this->_entity_parser->substituteNonSpecialEntities($html);
+ }
+
+ // clean into wellformed UTF-8 string for an SGML context: this has
+ // to be done after entity expansion because the entities sometimes
+ // represent non-SGML characters (horror, horror!)
+ $html = HTMLPurifier_Encoder::cleanUTF8($html);
+
+ // if processing instructions are to removed, remove them now
+ if ($config->get('Core.RemoveProcessingInstructions')) {
+ $html = preg_replace('#<\?.+?\?>#s', '', $html);
+ }
+
+ $hidden_elements = $config->get('Core.HiddenElements');
+ if ($config->get('Core.AggressivelyRemoveScript') &&
+ !($config->get('HTML.Trusted') || !$config->get('Core.RemoveScriptContents')
+ || empty($hidden_elements["script"]))) {
+ $html = preg_replace('#<script[^>]*>.*?</script>#i', '', $html);
+ }
+
+ return $html;
+ }
+
+ /**
+ * Takes a string of HTML (fragment or document) and returns the content
+ * @todo Consider making protected
+ */
+ public function extractBody($html)
+ {
+ $matches = array();
+ $result = preg_match('|(.*?)<body[^>]*>(.*)</body>|is', $html, $matches);
+ if ($result) {
+ // Make sure it's not in a comment
+ $comment_start = strrpos($matches[1], '<!--');
+ $comment_end = strrpos($matches[1], '-->');
+ if ($comment_start === false ||
+ ($comment_end !== false && $comment_end > $comment_start)) {
+ return $matches[2];
+ }
+ }
+ return $html;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Lexer/DOMLex.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Lexer/DOMLex.php
new file mode 100644
index 000000000..22ab5820c
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Lexer/DOMLex.php
@@ -0,0 +1,291 @@
+<?php
+
+/**
+ * Parser that uses PHP 5's DOM extension (part of the core).
+ *
+ * In PHP 5, the DOM XML extension was revamped into DOM and added to the core.
+ * It gives us a forgiving HTML parser, which we use to transform the HTML
+ * into a DOM, and then into the tokens. It is blazingly fast (for large
+ * documents, it performs twenty times faster than
+ * HTMLPurifier_Lexer_DirectLex,and is the default choice for PHP 5.
+ *
+ * @note Any empty elements will have empty tokens associated with them, even if
+ * this is prohibited by the spec. This is cannot be fixed until the spec
+ * comes into play.
+ *
+ * @note PHP's DOM extension does not actually parse any entities, we use
+ * our own function to do that.
+ *
+ * @warning DOM tends to drop whitespace, which may wreak havoc on indenting.
+ * If this is a huge problem, due to the fact that HTML is hand
+ * edited and you are unable to get a parser cache that caches the
+ * the output of HTML Purifier while keeping the original HTML lying
+ * around, you may want to run Tidy on the resulting output or use
+ * HTMLPurifier_DirectLex
+ */
+
+class HTMLPurifier_Lexer_DOMLex extends HTMLPurifier_Lexer
+{
+
+ /**
+ * @type HTMLPurifier_TokenFactory
+ */
+ private $factory;
+
+ public function __construct()
+ {
+ // setup the factory
+ parent::__construct();
+ $this->factory = new HTMLPurifier_TokenFactory();
+ }
+
+ /**
+ * @param string $html
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return HTMLPurifier_Token[]
+ */
+ public function tokenizeHTML($html, $config, $context)
+ {
+ $html = $this->normalize($html, $config, $context);
+
+ // attempt to armor stray angled brackets that cannot possibly
+ // form tags and thus are probably being used as emoticons
+ if ($config->get('Core.AggressivelyFixLt')) {
+ $char = '[^a-z!\/]';
+ $comment = "/<!--(.*?)(-->|\z)/is";
+ $html = preg_replace_callback($comment, array($this, 'callbackArmorCommentEntities'), $html);
+ do {
+ $old = $html;
+ $html = preg_replace("/<($char)/i", '&lt;\\1', $html);
+ } while ($html !== $old);
+ $html = preg_replace_callback($comment, array($this, 'callbackUndoCommentSubst'), $html); // fix comments
+ }
+
+ // preprocess html, essential for UTF-8
+ $html = $this->wrapHTML($html, $config, $context);
+
+ $doc = new DOMDocument();
+ $doc->encoding = 'UTF-8'; // theoretically, the above has this covered
+
+ set_error_handler(array($this, 'muteErrorHandler'));
+ $doc->loadHTML($html);
+ restore_error_handler();
+
+ $body = $doc->getElementsByTagName('html')->item(0)-> // <html>
+ getElementsByTagName('body')->item(0); // <body>
+
+ $div = $body->getElementsByTagName('div')->item(0); // <div>
+ $tokens = array();
+ $this->tokenizeDOM($div, $tokens, $config);
+ // If the div has a sibling, that means we tripped across
+ // a premature </div> tag. So remove the div we parsed,
+ // and then tokenize the rest of body. We can't tokenize
+ // the sibling directly as we'll lose the tags in that case.
+ if ($div->nextSibling) {
+ $body->removeChild($div);
+ $this->tokenizeDOM($body, $tokens, $config);
+ }
+ return $tokens;
+ }
+
+ /**
+ * Iterative function that tokenizes a node, putting it into an accumulator.
+ * To iterate is human, to recurse divine - L. Peter Deutsch
+ * @param DOMNode $node DOMNode to be tokenized.
+ * @param HTMLPurifier_Token[] $tokens Array-list of already tokenized tokens.
+ * @return HTMLPurifier_Token of node appended to previously passed tokens.
+ */
+ protected function tokenizeDOM($node, &$tokens, $config)
+ {
+ $level = 0;
+ $nodes = array($level => new HTMLPurifier_Queue(array($node)));
+ $closingNodes = array();
+ do {
+ while (!$nodes[$level]->isEmpty()) {
+ $node = $nodes[$level]->shift(); // FIFO
+ $collect = $level > 0 ? true : false;
+ $needEndingTag = $this->createStartNode($node, $tokens, $collect, $config);
+ if ($needEndingTag) {
+ $closingNodes[$level][] = $node;
+ }
+ if ($node->childNodes && $node->childNodes->length) {
+ $level++;
+ $nodes[$level] = new HTMLPurifier_Queue();
+ foreach ($node->childNodes as $childNode) {
+ $nodes[$level]->push($childNode);
+ }
+ }
+ }
+ $level--;
+ if ($level && isset($closingNodes[$level])) {
+ while ($node = array_pop($closingNodes[$level])) {
+ $this->createEndNode($node, $tokens);
+ }
+ }
+ } while ($level > 0);
+ }
+
+ /**
+ * @param DOMNode $node DOMNode to be tokenized.
+ * @param HTMLPurifier_Token[] $tokens Array-list of already tokenized tokens.
+ * @param bool $collect Says whether or start and close are collected, set to
+ * false at first recursion because it's the implicit DIV
+ * tag you're dealing with.
+ * @return bool if the token needs an endtoken
+ * @todo data and tagName properties don't seem to exist in DOMNode?
+ */
+ protected function createStartNode($node, &$tokens, $collect, $config)
+ {
+ // intercept non element nodes. WE MUST catch all of them,
+ // but we're not getting the character reference nodes because
+ // those should have been preprocessed
+ if ($node->nodeType === XML_TEXT_NODE) {
+ $tokens[] = $this->factory->createText($node->data);
+ return false;
+ } elseif ($node->nodeType === XML_CDATA_SECTION_NODE) {
+ // undo libxml's special treatment of <script> and <style> tags
+ $last = end($tokens);
+ $data = $node->data;
+ // (note $node->tagname is already normalized)
+ if ($last instanceof HTMLPurifier_Token_Start && ($last->name == 'script' || $last->name == 'style')) {
+ $new_data = trim($data);
+ if (substr($new_data, 0, 4) === '<!--') {
+ $data = substr($new_data, 4);
+ if (substr($data, -3) === '-->') {
+ $data = substr($data, 0, -3);
+ } else {
+ // Highly suspicious! Not sure what to do...
+ }
+ }
+ }
+ $tokens[] = $this->factory->createText($this->parseText($data, $config));
+ return false;
+ } elseif ($node->nodeType === XML_COMMENT_NODE) {
+ // this is code is only invoked for comments in script/style in versions
+ // of libxml pre-2.6.28 (regular comments, of course, are still
+ // handled regularly)
+ $tokens[] = $this->factory->createComment($node->data);
+ return false;
+ } elseif ($node->nodeType !== XML_ELEMENT_NODE) {
+ // not-well tested: there may be other nodes we have to grab
+ return false;
+ }
+
+ $attr = $node->hasAttributes() ? $this->transformAttrToAssoc($node->attributes) : array();
+
+ // We still have to make sure that the element actually IS empty
+ if (!$node->childNodes->length) {
+ if ($collect) {
+ $tokens[] = $this->factory->createEmpty($node->tagName, $attr);
+ }
+ return false;
+ } else {
+ if ($collect) {
+ $tokens[] = $this->factory->createStart(
+ $tag_name = $node->tagName, // somehow, it get's dropped
+ $attr
+ );
+ }
+ return true;
+ }
+ }
+
+ /**
+ * @param DOMNode $node
+ * @param HTMLPurifier_Token[] $tokens
+ */
+ protected function createEndNode($node, &$tokens)
+ {
+ $tokens[] = $this->factory->createEnd($node->tagName);
+ }
+
+
+ /**
+ * Converts a DOMNamedNodeMap of DOMAttr objects into an assoc array.
+ *
+ * @param DOMNamedNodeMap $node_map DOMNamedNodeMap of DOMAttr objects.
+ * @return array Associative array of attributes.
+ */
+ protected function transformAttrToAssoc($node_map)
+ {
+ // NamedNodeMap is documented very well, so we're using undocumented
+ // features, namely, the fact that it implements Iterator and
+ // has a ->length attribute
+ if ($node_map->length === 0) {
+ return array();
+ }
+ $array = array();
+ foreach ($node_map as $attr) {
+ $array[$attr->name] = $attr->value;
+ }
+ return $array;
+ }
+
+ /**
+ * An error handler that mutes all errors
+ * @param int $errno
+ * @param string $errstr
+ */
+ public function muteErrorHandler($errno, $errstr)
+ {
+ }
+
+ /**
+ * Callback function for undoing escaping of stray angled brackets
+ * in comments
+ * @param array $matches
+ * @return string
+ */
+ public function callbackUndoCommentSubst($matches)
+ {
+ return '<!--' . strtr($matches[1], array('&amp;' => '&', '&lt;' => '<')) . $matches[2];
+ }
+
+ /**
+ * Callback function that entity-izes ampersands in comments so that
+ * callbackUndoCommentSubst doesn't clobber them
+ * @param array $matches
+ * @return string
+ */
+ public function callbackArmorCommentEntities($matches)
+ {
+ return '<!--' . str_replace('&', '&amp;', $matches[1]) . $matches[2];
+ }
+
+ /**
+ * Wraps an HTML fragment in the necessary HTML
+ * @param string $html
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return string
+ */
+ protected function wrapHTML($html, $config, $context, $use_div = true)
+ {
+ $def = $config->getDefinition('HTML');
+ $ret = '';
+
+ if (!empty($def->doctype->dtdPublic) || !empty($def->doctype->dtdSystem)) {
+ $ret .= '<!DOCTYPE html ';
+ if (!empty($def->doctype->dtdPublic)) {
+ $ret .= 'PUBLIC "' . $def->doctype->dtdPublic . '" ';
+ }
+ if (!empty($def->doctype->dtdSystem)) {
+ $ret .= '"' . $def->doctype->dtdSystem . '" ';
+ }
+ $ret .= '>';
+ }
+
+ $ret .= '<html><head>';
+ $ret .= '<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />';
+ // No protection if $html contains a stray </div>!
+ $ret .= '</head><body>';
+ if ($use_div) $ret .= '<div>';
+ $ret .= $html;
+ if ($use_div) $ret .= '</div>';
+ $ret .= '</body></html>';
+ return $ret;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Lexer/DirectLex.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Lexer/DirectLex.php
new file mode 100644
index 000000000..6f1308966
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Lexer/DirectLex.php
@@ -0,0 +1,539 @@
+<?php
+
+/**
+ * Our in-house implementation of a parser.
+ *
+ * A pure PHP parser, DirectLex has absolutely no dependencies, making
+ * it a reasonably good default for PHP4. Written with efficiency in mind,
+ * it can be four times faster than HTMLPurifier_Lexer_PEARSax3, although it
+ * pales in comparison to HTMLPurifier_Lexer_DOMLex.
+ *
+ * @todo Reread XML spec and document differences.
+ */
+class HTMLPurifier_Lexer_DirectLex extends HTMLPurifier_Lexer
+{
+ /**
+ * @type bool
+ */
+ public $tracksLineNumbers = true;
+
+ /**
+ * Whitespace characters for str(c)spn.
+ * @type string
+ */
+ protected $_whitespace = "\x20\x09\x0D\x0A";
+
+ /**
+ * Callback function for script CDATA fudge
+ * @param array $matches, in form of array(opening tag, contents, closing tag)
+ * @return string
+ */
+ protected function scriptCallback($matches)
+ {
+ return $matches[1] . htmlspecialchars($matches[2], ENT_COMPAT, 'UTF-8') . $matches[3];
+ }
+
+ /**
+ * @param String $html
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return array|HTMLPurifier_Token[]
+ */
+ public function tokenizeHTML($html, $config, $context)
+ {
+ // special normalization for script tags without any armor
+ // our "armor" heurstic is a < sign any number of whitespaces after
+ // the first script tag
+ if ($config->get('HTML.Trusted')) {
+ $html = preg_replace_callback(
+ '#(<script[^>]*>)(\s*[^<].+?)(</script>)#si',
+ array($this, 'scriptCallback'),
+ $html
+ );
+ }
+
+ $html = $this->normalize($html, $config, $context);
+
+ $cursor = 0; // our location in the text
+ $inside_tag = false; // whether or not we're parsing the inside of a tag
+ $array = array(); // result array
+
+ // This is also treated to mean maintain *column* numbers too
+ $maintain_line_numbers = $config->get('Core.MaintainLineNumbers');
+
+ if ($maintain_line_numbers === null) {
+ // automatically determine line numbering by checking
+ // if error collection is on
+ $maintain_line_numbers = $config->get('Core.CollectErrors');
+ }
+
+ if ($maintain_line_numbers) {
+ $current_line = 1;
+ $current_col = 0;
+ $length = strlen($html);
+ } else {
+ $current_line = false;
+ $current_col = false;
+ $length = false;
+ }
+ $context->register('CurrentLine', $current_line);
+ $context->register('CurrentCol', $current_col);
+ $nl = "\n";
+ // how often to manually recalculate. This will ALWAYS be right,
+ // but it's pretty wasteful. Set to 0 to turn off
+ $synchronize_interval = $config->get('Core.DirectLexLineNumberSyncInterval');
+
+ $e = false;
+ if ($config->get('Core.CollectErrors')) {
+ $e =& $context->get('ErrorCollector');
+ }
+
+ // for testing synchronization
+ $loops = 0;
+
+ while (++$loops) {
+ // $cursor is either at the start of a token, or inside of
+ // a tag (i.e. there was a < immediately before it), as indicated
+ // by $inside_tag
+
+ if ($maintain_line_numbers) {
+ // $rcursor, however, is always at the start of a token.
+ $rcursor = $cursor - (int)$inside_tag;
+
+ // Column number is cheap, so we calculate it every round.
+ // We're interested at the *end* of the newline string, so
+ // we need to add strlen($nl) == 1 to $nl_pos before subtracting it
+ // from our "rcursor" position.
+ $nl_pos = strrpos($html, $nl, $rcursor - $length);
+ $current_col = $rcursor - (is_bool($nl_pos) ? 0 : $nl_pos + 1);
+
+ // recalculate lines
+ if ($synchronize_interval && // synchronization is on
+ $cursor > 0 && // cursor is further than zero
+ $loops % $synchronize_interval === 0) { // time to synchronize!
+ $current_line = 1 + $this->substrCount($html, $nl, 0, $cursor);
+ }
+ }
+
+ $position_next_lt = strpos($html, '<', $cursor);
+ $position_next_gt = strpos($html, '>', $cursor);
+
+ // triggers on "<b>asdf</b>" but not "asdf <b></b>"
+ // special case to set up context
+ if ($position_next_lt === $cursor) {
+ $inside_tag = true;
+ $cursor++;
+ }
+
+ if (!$inside_tag && $position_next_lt !== false) {
+ // We are not inside tag and there still is another tag to parse
+ $token = new
+ HTMLPurifier_Token_Text(
+ $this->parseText(
+ substr(
+ $html,
+ $cursor,
+ $position_next_lt - $cursor
+ ), $config
+ )
+ );
+ if ($maintain_line_numbers) {
+ $token->rawPosition($current_line, $current_col);
+ $current_line += $this->substrCount($html, $nl, $cursor, $position_next_lt - $cursor);
+ }
+ $array[] = $token;
+ $cursor = $position_next_lt + 1;
+ $inside_tag = true;
+ continue;
+ } elseif (!$inside_tag) {
+ // We are not inside tag but there are no more tags
+ // If we're already at the end, break
+ if ($cursor === strlen($html)) {
+ break;
+ }
+ // Create Text of rest of string
+ $token = new
+ HTMLPurifier_Token_Text(
+ $this->parseText(
+ substr(
+ $html,
+ $cursor
+ ), $config
+ )
+ );
+ if ($maintain_line_numbers) {
+ $token->rawPosition($current_line, $current_col);
+ }
+ $array[] = $token;
+ break;
+ } elseif ($inside_tag && $position_next_gt !== false) {
+ // We are in tag and it is well formed
+ // Grab the internals of the tag
+ $strlen_segment = $position_next_gt - $cursor;
+
+ if ($strlen_segment < 1) {
+ // there's nothing to process!
+ $token = new HTMLPurifier_Token_Text('<');
+ $cursor++;
+ continue;
+ }
+
+ $segment = substr($html, $cursor, $strlen_segment);
+
+ if ($segment === false) {
+ // somehow, we attempted to access beyond the end of
+ // the string, defense-in-depth, reported by Nate Abele
+ break;
+ }
+
+ // Check if it's a comment
+ if (substr($segment, 0, 3) === '!--') {
+ // re-determine segment length, looking for -->
+ $position_comment_end = strpos($html, '-->', $cursor);
+ if ($position_comment_end === false) {
+ // uh oh, we have a comment that extends to
+ // infinity. Can't be helped: set comment
+ // end position to end of string
+ if ($e) {
+ $e->send(E_WARNING, 'Lexer: Unclosed comment');
+ }
+ $position_comment_end = strlen($html);
+ $end = true;
+ } else {
+ $end = false;
+ }
+ $strlen_segment = $position_comment_end - $cursor;
+ $segment = substr($html, $cursor, $strlen_segment);
+ $token = new
+ HTMLPurifier_Token_Comment(
+ substr(
+ $segment,
+ 3,
+ $strlen_segment - 3
+ )
+ );
+ if ($maintain_line_numbers) {
+ $token->rawPosition($current_line, $current_col);
+ $current_line += $this->substrCount($html, $nl, $cursor, $strlen_segment);
+ }
+ $array[] = $token;
+ $cursor = $end ? $position_comment_end : $position_comment_end + 3;
+ $inside_tag = false;
+ continue;
+ }
+
+ // Check if it's an end tag
+ $is_end_tag = (strpos($segment, '/') === 0);
+ if ($is_end_tag) {
+ $type = substr($segment, 1);
+ $token = new HTMLPurifier_Token_End($type);
+ if ($maintain_line_numbers) {
+ $token->rawPosition($current_line, $current_col);
+ $current_line += $this->substrCount($html, $nl, $cursor, $position_next_gt - $cursor);
+ }
+ $array[] = $token;
+ $inside_tag = false;
+ $cursor = $position_next_gt + 1;
+ continue;
+ }
+
+ // Check leading character is alnum, if not, we may
+ // have accidently grabbed an emoticon. Translate into
+ // text and go our merry way
+ if (!ctype_alpha($segment[0])) {
+ // XML: $segment[0] !== '_' && $segment[0] !== ':'
+ if ($e) {
+ $e->send(E_NOTICE, 'Lexer: Unescaped lt');
+ }
+ $token = new HTMLPurifier_Token_Text('<');
+ if ($maintain_line_numbers) {
+ $token->rawPosition($current_line, $current_col);
+ $current_line += $this->substrCount($html, $nl, $cursor, $position_next_gt - $cursor);
+ }
+ $array[] = $token;
+ $inside_tag = false;
+ continue;
+ }
+
+ // Check if it is explicitly self closing, if so, remove
+ // trailing slash. Remember, we could have a tag like <br>, so
+ // any later token processing scripts must convert improperly
+ // classified EmptyTags from StartTags.
+ $is_self_closing = (strrpos($segment, '/') === $strlen_segment - 1);
+ if ($is_self_closing) {
+ $strlen_segment--;
+ $segment = substr($segment, 0, $strlen_segment);
+ }
+
+ // Check if there are any attributes
+ $position_first_space = strcspn($segment, $this->_whitespace);
+
+ if ($position_first_space >= $strlen_segment) {
+ if ($is_self_closing) {
+ $token = new HTMLPurifier_Token_Empty($segment);
+ } else {
+ $token = new HTMLPurifier_Token_Start($segment);
+ }
+ if ($maintain_line_numbers) {
+ $token->rawPosition($current_line, $current_col);
+ $current_line += $this->substrCount($html, $nl, $cursor, $position_next_gt - $cursor);
+ }
+ $array[] = $token;
+ $inside_tag = false;
+ $cursor = $position_next_gt + 1;
+ continue;
+ }
+
+ // Grab out all the data
+ $type = substr($segment, 0, $position_first_space);
+ $attribute_string =
+ trim(
+ substr(
+ $segment,
+ $position_first_space
+ )
+ );
+ if ($attribute_string) {
+ $attr = $this->parseAttributeString(
+ $attribute_string,
+ $config,
+ $context
+ );
+ } else {
+ $attr = array();
+ }
+
+ if ($is_self_closing) {
+ $token = new HTMLPurifier_Token_Empty($type, $attr);
+ } else {
+ $token = new HTMLPurifier_Token_Start($type, $attr);
+ }
+ if ($maintain_line_numbers) {
+ $token->rawPosition($current_line, $current_col);
+ $current_line += $this->substrCount($html, $nl, $cursor, $position_next_gt - $cursor);
+ }
+ $array[] = $token;
+ $cursor = $position_next_gt + 1;
+ $inside_tag = false;
+ continue;
+ } else {
+ // inside tag, but there's no ending > sign
+ if ($e) {
+ $e->send(E_WARNING, 'Lexer: Missing gt');
+ }
+ $token = new
+ HTMLPurifier_Token_Text(
+ '<' .
+ $this->parseText(
+ substr($html, $cursor), $config
+ )
+ );
+ if ($maintain_line_numbers) {
+ $token->rawPosition($current_line, $current_col);
+ }
+ // no cursor scroll? Hmm...
+ $array[] = $token;
+ break;
+ }
+ break;
+ }
+
+ $context->destroy('CurrentLine');
+ $context->destroy('CurrentCol');
+ return $array;
+ }
+
+ /**
+ * PHP 5.0.x compatible substr_count that implements offset and length
+ * @param string $haystack
+ * @param string $needle
+ * @param int $offset
+ * @param int $length
+ * @return int
+ */
+ protected function substrCount($haystack, $needle, $offset, $length)
+ {
+ static $oldVersion;
+ if ($oldVersion === null) {
+ $oldVersion = version_compare(PHP_VERSION, '5.1', '<');
+ }
+ if ($oldVersion) {
+ $haystack = substr($haystack, $offset, $length);
+ return substr_count($haystack, $needle);
+ } else {
+ return substr_count($haystack, $needle, $offset, $length);
+ }
+ }
+
+ /**
+ * Takes the inside of an HTML tag and makes an assoc array of attributes.
+ *
+ * @param string $string Inside of tag excluding name.
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return array Assoc array of attributes.
+ */
+ public function parseAttributeString($string, $config, $context)
+ {
+ $string = (string)$string; // quick typecast
+
+ if ($string == '') {
+ return array();
+ } // no attributes
+
+ $e = false;
+ if ($config->get('Core.CollectErrors')) {
+ $e =& $context->get('ErrorCollector');
+ }
+
+ // let's see if we can abort as quickly as possible
+ // one equal sign, no spaces => one attribute
+ $num_equal = substr_count($string, '=');
+ $has_space = strpos($string, ' ');
+ if ($num_equal === 0 && !$has_space) {
+ // bool attribute
+ return array($string => $string);
+ } elseif ($num_equal === 1 && !$has_space) {
+ // only one attribute
+ list($key, $quoted_value) = explode('=', $string);
+ $quoted_value = trim($quoted_value);
+ if (!$key) {
+ if ($e) {
+ $e->send(E_ERROR, 'Lexer: Missing attribute key');
+ }
+ return array();
+ }
+ if (!$quoted_value) {
+ return array($key => '');
+ }
+ $first_char = @$quoted_value[0];
+ $last_char = @$quoted_value[strlen($quoted_value) - 1];
+
+ $same_quote = ($first_char == $last_char);
+ $open_quote = ($first_char == '"' || $first_char == "'");
+
+ if ($same_quote && $open_quote) {
+ // well behaved
+ $value = substr($quoted_value, 1, strlen($quoted_value) - 2);
+ } else {
+ // not well behaved
+ if ($open_quote) {
+ if ($e) {
+ $e->send(E_ERROR, 'Lexer: Missing end quote');
+ }
+ $value = substr($quoted_value, 1);
+ } else {
+ $value = $quoted_value;
+ }
+ }
+ if ($value === false) {
+ $value = '';
+ }
+ return array($key => $this->parseAttr($value, $config));
+ }
+
+ // setup loop environment
+ $array = array(); // return assoc array of attributes
+ $cursor = 0; // current position in string (moves forward)
+ $size = strlen($string); // size of the string (stays the same)
+
+ // if we have unquoted attributes, the parser expects a terminating
+ // space, so let's guarantee that there's always a terminating space.
+ $string .= ' ';
+
+ $old_cursor = -1;
+ while ($cursor < $size) {
+ if ($old_cursor >= $cursor) {
+ throw new Exception("Infinite loop detected");
+ }
+ $old_cursor = $cursor;
+
+ $cursor += ($value = strspn($string, $this->_whitespace, $cursor));
+ // grab the key
+
+ $key_begin = $cursor; //we're currently at the start of the key
+
+ // scroll past all characters that are the key (not whitespace or =)
+ $cursor += strcspn($string, $this->_whitespace . '=', $cursor);
+
+ $key_end = $cursor; // now at the end of the key
+
+ $key = substr($string, $key_begin, $key_end - $key_begin);
+
+ if (!$key) {
+ if ($e) {
+ $e->send(E_ERROR, 'Lexer: Missing attribute key');
+ }
+ $cursor += 1 + strcspn($string, $this->_whitespace, $cursor + 1); // prevent infinite loop
+ continue; // empty key
+ }
+
+ // scroll past all whitespace
+ $cursor += strspn($string, $this->_whitespace, $cursor);
+
+ if ($cursor >= $size) {
+ $array[$key] = $key;
+ break;
+ }
+
+ // if the next character is an equal sign, we've got a regular
+ // pair, otherwise, it's a bool attribute
+ $first_char = @$string[$cursor];
+
+ if ($first_char == '=') {
+ // key="value"
+
+ $cursor++;
+ $cursor += strspn($string, $this->_whitespace, $cursor);
+
+ if ($cursor === false) {
+ $array[$key] = '';
+ break;
+ }
+
+ // we might be in front of a quote right now
+
+ $char = @$string[$cursor];
+
+ if ($char == '"' || $char == "'") {
+ // it's quoted, end bound is $char
+ $cursor++;
+ $value_begin = $cursor;
+ $cursor = strpos($string, $char, $cursor);
+ $value_end = $cursor;
+ } else {
+ // it's not quoted, end bound is whitespace
+ $value_begin = $cursor;
+ $cursor += strcspn($string, $this->_whitespace, $cursor);
+ $value_end = $cursor;
+ }
+
+ // we reached a premature end
+ if ($cursor === false) {
+ $cursor = $size;
+ $value_end = $cursor;
+ }
+
+ $value = substr($string, $value_begin, $value_end - $value_begin);
+ if ($value === false) {
+ $value = '';
+ }
+ $array[$key] = $this->parseAttr($value, $config);
+ $cursor++;
+ } else {
+ // boolattr
+ if ($key !== '') {
+ $array[$key] = $key;
+ } else {
+ // purely theoretical
+ if ($e) {
+ $e->send(E_ERROR, 'Lexer: Missing attribute key');
+ }
+ }
+ }
+ }
+ return $array;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Lexer/PH5P.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Lexer/PH5P.php
new file mode 100644
index 000000000..0b452d17f
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Lexer/PH5P.php
@@ -0,0 +1,4788 @@
+<?php
+
+/**
+ * Experimental HTML5-based parser using Jeroen van der Meer's PH5P library.
+ * Occupies space in the HTML5 pseudo-namespace, which may cause conflicts.
+ *
+ * @note
+ * Recent changes to PHP's DOM extension have resulted in some fatal
+ * error conditions with the original version of PH5P. Pending changes,
+ * this lexer will punt to DirectLex if DOM throws an exception.
+ */
+
+class HTMLPurifier_Lexer_PH5P extends HTMLPurifier_Lexer_DOMLex
+{
+ /**
+ * @param string $html
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return HTMLPurifier_Token[]
+ */
+ public function tokenizeHTML($html, $config, $context)
+ {
+ $new_html = $this->normalize($html, $config, $context);
+ $new_html = $this->wrapHTML($new_html, $config, $context, false /* no div */);
+ try {
+ $parser = new HTML5($new_html);
+ $doc = $parser->save();
+ } catch (DOMException $e) {
+ // Uh oh, it failed. Punt to DirectLex.
+ $lexer = new HTMLPurifier_Lexer_DirectLex();
+ $context->register('PH5PError', $e); // save the error, so we can detect it
+ return $lexer->tokenizeHTML($html, $config, $context); // use original HTML
+ }
+ $tokens = array();
+ $this->tokenizeDOM(
+ $doc->getElementsByTagName('html')->item(0)-> // <html>
+ getElementsByTagName('body')->item(0) // <body>
+ ,
+ $tokens, $config
+ );
+ return $tokens;
+ }
+}
+
+/*
+
+Copyright 2007 Jeroen van der Meer <http://jero.net/>
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+*/
+
+class HTML5
+{
+ private $data;
+ private $char;
+ private $EOF;
+ private $state;
+ private $tree;
+ private $token;
+ private $content_model;
+ private $escape = false;
+ private $entities = array(
+ 'AElig;',
+ 'AElig',
+ 'AMP;',
+ 'AMP',
+ 'Aacute;',
+ 'Aacute',
+ 'Acirc;',
+ 'Acirc',
+ 'Agrave;',
+ 'Agrave',
+ 'Alpha;',
+ 'Aring;',
+ 'Aring',
+ 'Atilde;',
+ 'Atilde',
+ 'Auml;',
+ 'Auml',
+ 'Beta;',
+ 'COPY;',
+ 'COPY',
+ 'Ccedil;',
+ 'Ccedil',
+ 'Chi;',
+ 'Dagger;',
+ 'Delta;',
+ 'ETH;',
+ 'ETH',
+ 'Eacute;',
+ 'Eacute',
+ 'Ecirc;',
+ 'Ecirc',
+ 'Egrave;',
+ 'Egrave',
+ 'Epsilon;',
+ 'Eta;',
+ 'Euml;',
+ 'Euml',
+ 'GT;',
+ 'GT',
+ 'Gamma;',
+ 'Iacute;',
+ 'Iacute',
+ 'Icirc;',
+ 'Icirc',
+ 'Igrave;',
+ 'Igrave',
+ 'Iota;',
+ 'Iuml;',
+ 'Iuml',
+ 'Kappa;',
+ 'LT;',
+ 'LT',
+ 'Lambda;',
+ 'Mu;',
+ 'Ntilde;',
+ 'Ntilde',
+ 'Nu;',
+ 'OElig;',
+ 'Oacute;',
+ 'Oacute',
+ 'Ocirc;',
+ 'Ocirc',
+ 'Ograve;',
+ 'Ograve',
+ 'Omega;',
+ 'Omicron;',
+ 'Oslash;',
+ 'Oslash',
+ 'Otilde;',
+ 'Otilde',
+ 'Ouml;',
+ 'Ouml',
+ 'Phi;',
+ 'Pi;',
+ 'Prime;',
+ 'Psi;',
+ 'QUOT;',
+ 'QUOT',
+ 'REG;',
+ 'REG',
+ 'Rho;',
+ 'Scaron;',
+ 'Sigma;',
+ 'THORN;',
+ 'THORN',
+ 'TRADE;',
+ 'Tau;',
+ 'Theta;',
+ 'Uacute;',
+ 'Uacute',
+ 'Ucirc;',
+ 'Ucirc',
+ 'Ugrave;',
+ 'Ugrave',
+ 'Upsilon;',
+ 'Uuml;',
+ 'Uuml',
+ 'Xi;',
+ 'Yacute;',
+ 'Yacute',
+ 'Yuml;',
+ 'Zeta;',
+ 'aacute;',
+ 'aacute',
+ 'acirc;',
+ 'acirc',
+ 'acute;',
+ 'acute',
+ 'aelig;',
+ 'aelig',
+ 'agrave;',
+ 'agrave',
+ 'alefsym;',
+ 'alpha;',
+ 'amp;',
+ 'amp',
+ 'and;',
+ 'ang;',
+ 'apos;',
+ 'aring;',
+ 'aring',
+ 'asymp;',
+ 'atilde;',
+ 'atilde',
+ 'auml;',
+ 'auml',
+ 'bdquo;',
+ 'beta;',
+ 'brvbar;',
+ 'brvbar',
+ 'bull;',
+ 'cap;',
+ 'ccedil;',
+ 'ccedil',
+ 'cedil;',
+ 'cedil',
+ 'cent;',
+ 'cent',
+ 'chi;',
+ 'circ;',
+ 'clubs;',
+ 'cong;',
+ 'copy;',
+ 'copy',
+ 'crarr;',
+ 'cup;',
+ 'curren;',
+ 'curren',
+ 'dArr;',
+ 'dagger;',
+ 'darr;',
+ 'deg;',
+ 'deg',
+ 'delta;',
+ 'diams;',
+ 'divide;',
+ 'divide',
+ 'eacute;',
+ 'eacute',
+ 'ecirc;',
+ 'ecirc',
+ 'egrave;',
+ 'egrave',
+ 'empty;',
+ 'emsp;',
+ 'ensp;',
+ 'epsilon;',
+ 'equiv;',
+ 'eta;',
+ 'eth;',
+ 'eth',
+ 'euml;',
+ 'euml',
+ 'euro;',
+ 'exist;',
+ 'fnof;',
+ 'forall;',
+ 'frac12;',
+ 'frac12',
+ 'frac14;',
+ 'frac14',
+ 'frac34;',
+ 'frac34',
+ 'frasl;',
+ 'gamma;',
+ 'ge;',
+ 'gt;',
+ 'gt',
+ 'hArr;',
+ 'harr;',
+ 'hearts;',
+ 'hellip;',
+ 'iacute;',
+ 'iacute',
+ 'icirc;',
+ 'icirc',
+ 'iexcl;',
+ 'iexcl',
+ 'igrave;',
+ 'igrave',
+ 'image;',
+ 'infin;',
+ 'int;',
+ 'iota;',
+ 'iquest;',
+ 'iquest',
+ 'isin;',
+ 'iuml;',
+ 'iuml',
+ 'kappa;',
+ 'lArr;',
+ 'lambda;',
+ 'lang;',
+ 'laquo;',
+ 'laquo',
+ 'larr;',
+ 'lceil;',
+ 'ldquo;',
+ 'le;',
+ 'lfloor;',
+ 'lowast;',
+ 'loz;',
+ 'lrm;',
+ 'lsaquo;',
+ 'lsquo;',
+ 'lt;',
+ 'lt',
+ 'macr;',
+ 'macr',
+ 'mdash;',
+ 'micro;',
+ 'micro',
+ 'middot;',
+ 'middot',
+ 'minus;',
+ 'mu;',
+ 'nabla;',
+ 'nbsp;',
+ 'nbsp',
+ 'ndash;',
+ 'ne;',
+ 'ni;',
+ 'not;',
+ 'not',
+ 'notin;',
+ 'nsub;',
+ 'ntilde;',
+ 'ntilde',
+ 'nu;',
+ 'oacute;',
+ 'oacute',
+ 'ocirc;',
+ 'ocirc',
+ 'oelig;',
+ 'ograve;',
+ 'ograve',
+ 'oline;',
+ 'omega;',
+ 'omicron;',
+ 'oplus;',
+ 'or;',
+ 'ordf;',
+ 'ordf',
+ 'ordm;',
+ 'ordm',
+ 'oslash;',
+ 'oslash',
+ 'otilde;',
+ 'otilde',
+ 'otimes;',
+ 'ouml;',
+ 'ouml',
+ 'para;',
+ 'para',
+ 'part;',
+ 'permil;',
+ 'perp;',
+ 'phi;',
+ 'pi;',
+ 'piv;',
+ 'plusmn;',
+ 'plusmn',
+ 'pound;',
+ 'pound',
+ 'prime;',
+ 'prod;',
+ 'prop;',
+ 'psi;',
+ 'quot;',
+ 'quot',
+ 'rArr;',
+ 'radic;',
+ 'rang;',
+ 'raquo;',
+ 'raquo',
+ 'rarr;',
+ 'rceil;',
+ 'rdquo;',
+ 'real;',
+ 'reg;',
+ 'reg',
+ 'rfloor;',
+ 'rho;',
+ 'rlm;',
+ 'rsaquo;',
+ 'rsquo;',
+ 'sbquo;',
+ 'scaron;',
+ 'sdot;',
+ 'sect;',
+ 'sect',
+ 'shy;',
+ 'shy',
+ 'sigma;',
+ 'sigmaf;',
+ 'sim;',
+ 'spades;',
+ 'sub;',
+ 'sube;',
+ 'sum;',
+ 'sup1;',
+ 'sup1',
+ 'sup2;',
+ 'sup2',
+ 'sup3;',
+ 'sup3',
+ 'sup;',
+ 'supe;',
+ 'szlig;',
+ 'szlig',
+ 'tau;',
+ 'there4;',
+ 'theta;',
+ 'thetasym;',
+ 'thinsp;',
+ 'thorn;',
+ 'thorn',
+ 'tilde;',
+ 'times;',
+ 'times',
+ 'trade;',
+ 'uArr;',
+ 'uacute;',
+ 'uacute',
+ 'uarr;',
+ 'ucirc;',
+ 'ucirc',
+ 'ugrave;',
+ 'ugrave',
+ 'uml;',
+ 'uml',
+ 'upsih;',
+ 'upsilon;',
+ 'uuml;',
+ 'uuml',
+ 'weierp;',
+ 'xi;',
+ 'yacute;',
+ 'yacute',
+ 'yen;',
+ 'yen',
+ 'yuml;',
+ 'yuml',
+ 'zeta;',
+ 'zwj;',
+ 'zwnj;'
+ );
+
+ const PCDATA = 0;
+ const RCDATA = 1;
+ const CDATA = 2;
+ const PLAINTEXT = 3;
+
+ const DOCTYPE = 0;
+ const STARTTAG = 1;
+ const ENDTAG = 2;
+ const COMMENT = 3;
+ const CHARACTR = 4;
+ const EOF = 5;
+
+ public function __construct($data)
+ {
+ $this->data = $data;
+ $this->char = -1;
+ $this->EOF = strlen($data);
+ $this->tree = new HTML5TreeConstructer;
+ $this->content_model = self::PCDATA;
+
+ $this->state = 'data';
+
+ while ($this->state !== null) {
+ $this->{$this->state . 'State'}();
+ }
+ }
+
+ public function save()
+ {
+ return $this->tree->save();
+ }
+
+ private function char()
+ {
+ return ($this->char < $this->EOF)
+ ? $this->data[$this->char]
+ : false;
+ }
+
+ private function character($s, $l = 0)
+ {
+ if ($s + $l < $this->EOF) {
+ if ($l === 0) {
+ return $this->data[$s];
+ } else {
+ return substr($this->data, $s, $l);
+ }
+ }
+ }
+
+ private function characters($char_class, $start)
+ {
+ return preg_replace('#^([' . $char_class . ']+).*#s', '\\1', substr($this->data, $start));
+ }
+
+ private function dataState()
+ {
+ // Consume the next input character
+ $this->char++;
+ $char = $this->char();
+
+ if ($char === '&' && ($this->content_model === self::PCDATA || $this->content_model === self::RCDATA)) {
+ /* U+0026 AMPERSAND (&)
+ When the content model flag is set to one of the PCDATA or RCDATA
+ states: switch to the entity data state. Otherwise: treat it as per
+ the "anything else" entry below. */
+ $this->state = 'entityData';
+
+ } elseif ($char === '-') {
+ /* If the content model flag is set to either the RCDATA state or
+ the CDATA state, and the escape flag is false, and there are at
+ least three characters before this one in the input stream, and the
+ last four characters in the input stream, including this one, are
+ U+003C LESS-THAN SIGN, U+0021 EXCLAMATION MARK, U+002D HYPHEN-MINUS,
+ and U+002D HYPHEN-MINUS ("<!--"), then set the escape flag to true. */
+ if (($this->content_model === self::RCDATA || $this->content_model ===
+ self::CDATA) && $this->escape === false &&
+ $this->char >= 3 && $this->character($this->char - 4, 4) === '<!--'
+ ) {
+ $this->escape = true;
+ }
+
+ /* In any case, emit the input character as a character token. Stay
+ in the data state. */
+ $this->emitToken(
+ array(
+ 'type' => self::CHARACTR,
+ 'data' => $char
+ )
+ );
+
+ /* U+003C LESS-THAN SIGN (<) */
+ } elseif ($char === '<' && ($this->content_model === self::PCDATA ||
+ (($this->content_model === self::RCDATA ||
+ $this->content_model === self::CDATA) && $this->escape === false))
+ ) {
+ /* When the content model flag is set to the PCDATA state: switch
+ to the tag open state.
+
+ When the content model flag is set to either the RCDATA state or
+ the CDATA state and the escape flag is false: switch to the tag
+ open state.
+
+ Otherwise: treat it as per the "anything else" entry below. */
+ $this->state = 'tagOpen';
+
+ /* U+003E GREATER-THAN SIGN (>) */
+ } elseif ($char === '>') {
+ /* If the content model flag is set to either the RCDATA state or
+ the CDATA state, and the escape flag is true, and the last three
+ characters in the input stream including this one are U+002D
+ HYPHEN-MINUS, U+002D HYPHEN-MINUS, U+003E GREATER-THAN SIGN ("-->"),
+ set the escape flag to false. */
+ if (($this->content_model === self::RCDATA ||
+ $this->content_model === self::CDATA) && $this->escape === true &&
+ $this->character($this->char, 3) === '-->'
+ ) {
+ $this->escape = false;
+ }
+
+ /* In any case, emit the input character as a character token.
+ Stay in the data state. */
+ $this->emitToken(
+ array(
+ 'type' => self::CHARACTR,
+ 'data' => $char
+ )
+ );
+
+ } elseif ($this->char === $this->EOF) {
+ /* EOF
+ Emit an end-of-file token. */
+ $this->EOF();
+
+ } elseif ($this->content_model === self::PLAINTEXT) {
+ /* When the content model flag is set to the PLAINTEXT state
+ THIS DIFFERS GREATLY FROM THE SPEC: Get the remaining characters of
+ the text and emit it as a character token. */
+ $this->emitToken(
+ array(
+ 'type' => self::CHARACTR,
+ 'data' => substr($this->data, $this->char)
+ )
+ );
+
+ $this->EOF();
+
+ } else {
+ /* Anything else
+ THIS DIFFERS GREATLY FROM THE SPEC: Get as many character that
+ otherwise would also be treated as a character token and emit it
+ as a single character token. Stay in the data state. */
+ $len = strcspn($this->data, '<&', $this->char);
+ $char = substr($this->data, $this->char, $len);
+ $this->char += $len - 1;
+
+ $this->emitToken(
+ array(
+ 'type' => self::CHARACTR,
+ 'data' => $char
+ )
+ );
+
+ $this->state = 'data';
+ }
+ }
+
+ private function entityDataState()
+ {
+ // Attempt to consume an entity.
+ $entity = $this->entity();
+
+ // If nothing is returned, emit a U+0026 AMPERSAND character token.
+ // Otherwise, emit the character token that was returned.
+ $char = (!$entity) ? '&' : $entity;
+ $this->emitToken(
+ array(
+ 'type' => self::CHARACTR,
+ 'data' => $char
+ )
+ );
+
+ // Finally, switch to the data state.
+ $this->state = 'data';
+ }
+
+ private function tagOpenState()
+ {
+ switch ($this->content_model) {
+ case self::RCDATA:
+ case self::CDATA:
+ /* If the next input character is a U+002F SOLIDUS (/) character,
+ consume it and switch to the close tag open state. If the next
+ input character is not a U+002F SOLIDUS (/) character, emit a
+ U+003C LESS-THAN SIGN character token and switch to the data
+ state to process the next input character. */
+ if ($this->character($this->char + 1) === '/') {
+ $this->char++;
+ $this->state = 'closeTagOpen';
+
+ } else {
+ $this->emitToken(
+ array(
+ 'type' => self::CHARACTR,
+ 'data' => '<'
+ )
+ );
+
+ $this->state = 'data';
+ }
+ break;
+
+ case self::PCDATA:
+ // If the content model flag is set to the PCDATA state
+ // Consume the next input character:
+ $this->char++;
+ $char = $this->char();
+
+ if ($char === '!') {
+ /* U+0021 EXCLAMATION MARK (!)
+ Switch to the markup declaration open state. */
+ $this->state = 'markupDeclarationOpen';
+
+ } elseif ($char === '/') {
+ /* U+002F SOLIDUS (/)
+ Switch to the close tag open state. */
+ $this->state = 'closeTagOpen';
+
+ } elseif (preg_match('/^[A-Za-z]$/', $char)) {
+ /* U+0041 LATIN LETTER A through to U+005A LATIN LETTER Z
+ Create a new start tag token, set its tag name to the lowercase
+ version of the input character (add 0x0020 to the character's code
+ point), then switch to the tag name state. (Don't emit the token
+ yet; further details will be filled in before it is emitted.) */
+ $this->token = array(
+ 'name' => strtolower($char),
+ 'type' => self::STARTTAG,
+ 'attr' => array()
+ );
+
+ $this->state = 'tagName';
+
+ } elseif ($char === '>') {
+ /* U+003E GREATER-THAN SIGN (>)
+ Parse error. Emit a U+003C LESS-THAN SIGN character token and a
+ U+003E GREATER-THAN SIGN character token. Switch to the data state. */
+ $this->emitToken(
+ array(
+ 'type' => self::CHARACTR,
+ 'data' => '<>'
+ )
+ );
+
+ $this->state = 'data';
+
+ } elseif ($char === '?') {
+ /* U+003F QUESTION MARK (?)
+ Parse error. Switch to the bogus comment state. */
+ $this->state = 'bogusComment';
+
+ } else {
+ /* Anything else
+ Parse error. Emit a U+003C LESS-THAN SIGN character token and
+ reconsume the current input character in the data state. */
+ $this->emitToken(
+ array(
+ 'type' => self::CHARACTR,
+ 'data' => '<'
+ )
+ );
+
+ $this->char--;
+ $this->state = 'data';
+ }
+ break;
+ }
+ }
+
+ private function closeTagOpenState()
+ {
+ $next_node = strtolower($this->characters('A-Za-z', $this->char + 1));
+ $the_same = count($this->tree->stack) > 0 && $next_node === end($this->tree->stack)->nodeName;
+
+ if (($this->content_model === self::RCDATA || $this->content_model === self::CDATA) &&
+ (!$the_same || ($the_same && (!preg_match(
+ '/[\t\n\x0b\x0c >\/]/',
+ $this->character($this->char + 1 + strlen($next_node))
+ ) || $this->EOF === $this->char)))
+ ) {
+ /* If the content model flag is set to the RCDATA or CDATA states then
+ examine the next few characters. If they do not match the tag name of
+ the last start tag token emitted (case insensitively), or if they do but
+ they are not immediately followed by one of the following characters:
+ * U+0009 CHARACTER TABULATION
+ * U+000A LINE FEED (LF)
+ * U+000B LINE TABULATION
+ * U+000C FORM FEED (FF)
+ * U+0020 SPACE
+ * U+003E GREATER-THAN SIGN (>)
+ * U+002F SOLIDUS (/)
+ * EOF
+ ...then there is a parse error. Emit a U+003C LESS-THAN SIGN character
+ token, a U+002F SOLIDUS character token, and switch to the data state
+ to process the next input character. */
+ $this->emitToken(
+ array(
+ 'type' => self::CHARACTR,
+ 'data' => '</'
+ )
+ );
+
+ $this->state = 'data';
+
+ } else {
+ /* Otherwise, if the content model flag is set to the PCDATA state,
+ or if the next few characters do match that tag name, consume the
+ next input character: */
+ $this->char++;
+ $char = $this->char();
+
+ if (preg_match('/^[A-Za-z]$/', $char)) {
+ /* U+0041 LATIN LETTER A through to U+005A LATIN LETTER Z
+ Create a new end tag token, set its tag name to the lowercase version
+ of the input character (add 0x0020 to the character's code point), then
+ switch to the tag name state. (Don't emit the token yet; further details
+ will be filled in before it is emitted.) */
+ $this->token = array(
+ 'name' => strtolower($char),
+ 'type' => self::ENDTAG
+ );
+
+ $this->state = 'tagName';
+
+ } elseif ($char === '>') {
+ /* U+003E GREATER-THAN SIGN (>)
+ Parse error. Switch to the data state. */
+ $this->state = 'data';
+
+ } elseif ($this->char === $this->EOF) {
+ /* EOF
+ Parse error. Emit a U+003C LESS-THAN SIGN character token and a U+002F
+ SOLIDUS character token. Reconsume the EOF character in the data state. */
+ $this->emitToken(
+ array(
+ 'type' => self::CHARACTR,
+ 'data' => '</'
+ )
+ );
+
+ $this->char--;
+ $this->state = 'data';
+
+ } else {
+ /* Parse error. Switch to the bogus comment state. */
+ $this->state = 'bogusComment';
+ }
+ }
+ }
+
+ private function tagNameState()
+ {
+ // Consume the next input character:
+ $this->char++;
+ $char = $this->character($this->char);
+
+ if (preg_match('/^[\t\n\x0b\x0c ]$/', $char)) {
+ /* U+0009 CHARACTER TABULATION
+ U+000A LINE FEED (LF)
+ U+000B LINE TABULATION
+ U+000C FORM FEED (FF)
+ U+0020 SPACE
+ Switch to the before attribute name state. */
+ $this->state = 'beforeAttributeName';
+
+ } elseif ($char === '>') {
+ /* U+003E GREATER-THAN SIGN (>)
+ Emit the current tag token. Switch to the data state. */
+ $this->emitToken($this->token);
+ $this->state = 'data';
+
+ } elseif ($this->char === $this->EOF) {
+ /* EOF
+ Parse error. Emit the current tag token. Reconsume the EOF
+ character in the data state. */
+ $this->emitToken($this->token);
+
+ $this->char--;
+ $this->state = 'data';
+
+ } elseif ($char === '/') {
+ /* U+002F SOLIDUS (/)
+ Parse error unless this is a permitted slash. Switch to the before
+ attribute name state. */
+ $this->state = 'beforeAttributeName';
+
+ } else {
+ /* Anything else
+ Append the current input character to the current tag token's tag name.
+ Stay in the tag name state. */
+ $this->token['name'] .= strtolower($char);
+ $this->state = 'tagName';
+ }
+ }
+
+ private function beforeAttributeNameState()
+ {
+ // Consume the next input character:
+ $this->char++;
+ $char = $this->character($this->char);
+
+ if (preg_match('/^[\t\n\x0b\x0c ]$/', $char)) {
+ /* U+0009 CHARACTER TABULATION
+ U+000A LINE FEED (LF)
+ U+000B LINE TABULATION
+ U+000C FORM FEED (FF)
+ U+0020 SPACE
+ Stay in the before attribute name state. */
+ $this->state = 'beforeAttributeName';
+
+ } elseif ($char === '>') {
+ /* U+003E GREATER-THAN SIGN (>)
+ Emit the current tag token. Switch to the data state. */
+ $this->emitToken($this->token);
+ $this->state = 'data';
+
+ } elseif ($char === '/') {
+ /* U+002F SOLIDUS (/)
+ Parse error unless this is a permitted slash. Stay in the before
+ attribute name state. */
+ $this->state = 'beforeAttributeName';
+
+ } elseif ($this->char === $this->EOF) {
+ /* EOF
+ Parse error. Emit the current tag token. Reconsume the EOF
+ character in the data state. */
+ $this->emitToken($this->token);
+
+ $this->char--;
+ $this->state = 'data';
+
+ } else {
+ /* Anything else
+ Start a new attribute in the current tag token. Set that attribute's
+ name to the current input character, and its value to the empty string.
+ Switch to the attribute name state. */
+ $this->token['attr'][] = array(
+ 'name' => strtolower($char),
+ 'value' => null
+ );
+
+ $this->state = 'attributeName';
+ }
+ }
+
+ private function attributeNameState()
+ {
+ // Consume the next input character:
+ $this->char++;
+ $char = $this->character($this->char);
+
+ if (preg_match('/^[\t\n\x0b\x0c ]$/', $char)) {
+ /* U+0009 CHARACTER TABULATION
+ U+000A LINE FEED (LF)
+ U+000B LINE TABULATION
+ U+000C FORM FEED (FF)
+ U+0020 SPACE
+ Stay in the before attribute name state. */
+ $this->state = 'afterAttributeName';
+
+ } elseif ($char === '=') {
+ /* U+003D EQUALS SIGN (=)
+ Switch to the before attribute value state. */
+ $this->state = 'beforeAttributeValue';
+
+ } elseif ($char === '>') {
+ /* U+003E GREATER-THAN SIGN (>)
+ Emit the current tag token. Switch to the data state. */
+ $this->emitToken($this->token);
+ $this->state = 'data';
+
+ } elseif ($char === '/' && $this->character($this->char + 1) !== '>') {
+ /* U+002F SOLIDUS (/)
+ Parse error unless this is a permitted slash. Switch to the before
+ attribute name state. */
+ $this->state = 'beforeAttributeName';
+
+ } elseif ($this->char === $this->EOF) {
+ /* EOF
+ Parse error. Emit the current tag token. Reconsume the EOF
+ character in the data state. */
+ $this->emitToken($this->token);
+
+ $this->char--;
+ $this->state = 'data';
+
+ } else {
+ /* Anything else
+ Append the current input character to the current attribute's name.
+ Stay in the attribute name state. */
+ $last = count($this->token['attr']) - 1;
+ $this->token['attr'][$last]['name'] .= strtolower($char);
+
+ $this->state = 'attributeName';
+ }
+ }
+
+ private function afterAttributeNameState()
+ {
+ // Consume the next input character:
+ $this->char++;
+ $char = $this->character($this->char);
+
+ if (preg_match('/^[\t\n\x0b\x0c ]$/', $char)) {
+ /* U+0009 CHARACTER TABULATION
+ U+000A LINE FEED (LF)
+ U+000B LINE TABULATION
+ U+000C FORM FEED (FF)
+ U+0020 SPACE
+ Stay in the after attribute name state. */
+ $this->state = 'afterAttributeName';
+
+ } elseif ($char === '=') {
+ /* U+003D EQUALS SIGN (=)
+ Switch to the before attribute value state. */
+ $this->state = 'beforeAttributeValue';
+
+ } elseif ($char === '>') {
+ /* U+003E GREATER-THAN SIGN (>)
+ Emit the current tag token. Switch to the data state. */
+ $this->emitToken($this->token);
+ $this->state = 'data';
+
+ } elseif ($char === '/' && $this->character($this->char + 1) !== '>') {
+ /* U+002F SOLIDUS (/)
+ Parse error unless this is a permitted slash. Switch to the
+ before attribute name state. */
+ $this->state = 'beforeAttributeName';
+
+ } elseif ($this->char === $this->EOF) {
+ /* EOF
+ Parse error. Emit the current tag token. Reconsume the EOF
+ character in the data state. */
+ $this->emitToken($this->token);
+
+ $this->char--;
+ $this->state = 'data';
+
+ } else {
+ /* Anything else
+ Start a new attribute in the current tag token. Set that attribute's
+ name to the current input character, and its value to the empty string.
+ Switch to the attribute name state. */
+ $this->token['attr'][] = array(
+ 'name' => strtolower($char),
+ 'value' => null
+ );
+
+ $this->state = 'attributeName';
+ }
+ }
+
+ private function beforeAttributeValueState()
+ {
+ // Consume the next input character:
+ $this->char++;
+ $char = $this->character($this->char);
+
+ if (preg_match('/^[\t\n\x0b\x0c ]$/', $char)) {
+ /* U+0009 CHARACTER TABULATION
+ U+000A LINE FEED (LF)
+ U+000B LINE TABULATION
+ U+000C FORM FEED (FF)
+ U+0020 SPACE
+ Stay in the before attribute value state. */
+ $this->state = 'beforeAttributeValue';
+
+ } elseif ($char === '"') {
+ /* U+0022 QUOTATION MARK (")
+ Switch to the attribute value (double-quoted) state. */
+ $this->state = 'attributeValueDoubleQuoted';
+
+ } elseif ($char === '&') {
+ /* U+0026 AMPERSAND (&)
+ Switch to the attribute value (unquoted) state and reconsume
+ this input character. */
+ $this->char--;
+ $this->state = 'attributeValueUnquoted';
+
+ } elseif ($char === '\'') {
+ /* U+0027 APOSTROPHE (')
+ Switch to the attribute value (single-quoted) state. */
+ $this->state = 'attributeValueSingleQuoted';
+
+ } elseif ($char === '>') {
+ /* U+003E GREATER-THAN SIGN (>)
+ Emit the current tag token. Switch to the data state. */
+ $this->emitToken($this->token);
+ $this->state = 'data';
+
+ } else {
+ /* Anything else
+ Append the current input character to the current attribute's value.
+ Switch to the attribute value (unquoted) state. */
+ $last = count($this->token['attr']) - 1;
+ $this->token['attr'][$last]['value'] .= $char;
+
+ $this->state = 'attributeValueUnquoted';
+ }
+ }
+
+ private function attributeValueDoubleQuotedState()
+ {
+ // Consume the next input character:
+ $this->char++;
+ $char = $this->character($this->char);
+
+ if ($char === '"') {
+ /* U+0022 QUOTATION MARK (")
+ Switch to the before attribute name state. */
+ $this->state = 'beforeAttributeName';
+
+ } elseif ($char === '&') {
+ /* U+0026 AMPERSAND (&)
+ Switch to the entity in attribute value state. */
+ $this->entityInAttributeValueState('double');
+
+ } elseif ($this->char === $this->EOF) {
+ /* EOF
+ Parse error. Emit the current tag token. Reconsume the character
+ in the data state. */
+ $this->emitToken($this->token);
+
+ $this->char--;
+ $this->state = 'data';
+
+ } else {
+ /* Anything else
+ Append the current input character to the current attribute's value.
+ Stay in the attribute value (double-quoted) state. */
+ $last = count($this->token['attr']) - 1;
+ $this->token['attr'][$last]['value'] .= $char;
+
+ $this->state = 'attributeValueDoubleQuoted';
+ }
+ }
+
+ private function attributeValueSingleQuotedState()
+ {
+ // Consume the next input character:
+ $this->char++;
+ $char = $this->character($this->char);
+
+ if ($char === '\'') {
+ /* U+0022 QUOTATION MARK (')
+ Switch to the before attribute name state. */
+ $this->state = 'beforeAttributeName';
+
+ } elseif ($char === '&') {
+ /* U+0026 AMPERSAND (&)
+ Switch to the entity in attribute value state. */
+ $this->entityInAttributeValueState('single');
+
+ } elseif ($this->char === $this->EOF) {
+ /* EOF
+ Parse error. Emit the current tag token. Reconsume the character
+ in the data state. */
+ $this->emitToken($this->token);
+
+ $this->char--;
+ $this->state = 'data';
+
+ } else {
+ /* Anything else
+ Append the current input character to the current attribute's value.
+ Stay in the attribute value (single-quoted) state. */
+ $last = count($this->token['attr']) - 1;
+ $this->token['attr'][$last]['value'] .= $char;
+
+ $this->state = 'attributeValueSingleQuoted';
+ }
+ }
+
+ private function attributeValueUnquotedState()
+ {
+ // Consume the next input character:
+ $this->char++;
+ $char = $this->character($this->char);
+
+ if (preg_match('/^[\t\n\x0b\x0c ]$/', $char)) {
+ /* U+0009 CHARACTER TABULATION
+ U+000A LINE FEED (LF)
+ U+000B LINE TABULATION
+ U+000C FORM FEED (FF)
+ U+0020 SPACE
+ Switch to the before attribute name state. */
+ $this->state = 'beforeAttributeName';
+
+ } elseif ($char === '&') {
+ /* U+0026 AMPERSAND (&)
+ Switch to the entity in attribute value state. */
+ $this->entityInAttributeValueState();
+
+ } elseif ($char === '>') {
+ /* U+003E GREATER-THAN SIGN (>)
+ Emit the current tag token. Switch to the data state. */
+ $this->emitToken($this->token);
+ $this->state = 'data';
+
+ } else {
+ /* Anything else
+ Append the current input character to the current attribute's value.
+ Stay in the attribute value (unquoted) state. */
+ $last = count($this->token['attr']) - 1;
+ $this->token['attr'][$last]['value'] .= $char;
+
+ $this->state = 'attributeValueUnquoted';
+ }
+ }
+
+ private function entityInAttributeValueState()
+ {
+ // Attempt to consume an entity.
+ $entity = $this->entity();
+
+ // If nothing is returned, append a U+0026 AMPERSAND character to the
+ // current attribute's value. Otherwise, emit the character token that
+ // was returned.
+ $char = (!$entity)
+ ? '&'
+ : $entity;
+
+ $last = count($this->token['attr']) - 1;
+ $this->token['attr'][$last]['value'] .= $char;
+ }
+
+ private function bogusCommentState()
+ {
+ /* Consume every character up to the first U+003E GREATER-THAN SIGN
+ character (>) or the end of the file (EOF), whichever comes first. Emit
+ a comment token whose data is the concatenation of all the characters
+ starting from and including the character that caused the state machine
+ to switch into the bogus comment state, up to and including the last
+ consumed character before the U+003E character, if any, or up to the
+ end of the file otherwise. (If the comment was started by the end of
+ the file (EOF), the token is empty.) */
+ $data = $this->characters('^>', $this->char);
+ $this->emitToken(
+ array(
+ 'data' => $data,
+ 'type' => self::COMMENT
+ )
+ );
+
+ $this->char += strlen($data);
+
+ /* Switch to the data state. */
+ $this->state = 'data';
+
+ /* If the end of the file was reached, reconsume the EOF character. */
+ if ($this->char === $this->EOF) {
+ $this->char = $this->EOF - 1;
+ }
+ }
+
+ private function markupDeclarationOpenState()
+ {
+ /* If the next two characters are both U+002D HYPHEN-MINUS (-)
+ characters, consume those two characters, create a comment token whose
+ data is the empty string, and switch to the comment state. */
+ if ($this->character($this->char + 1, 2) === '--') {
+ $this->char += 2;
+ $this->state = 'comment';
+ $this->token = array(
+ 'data' => null,
+ 'type' => self::COMMENT
+ );
+
+ /* Otherwise if the next seven chacacters are a case-insensitive match
+ for the word "DOCTYPE", then consume those characters and switch to the
+ DOCTYPE state. */
+ } elseif (strtolower($this->character($this->char + 1, 7)) === 'doctype') {
+ $this->char += 7;
+ $this->state = 'doctype';
+
+ /* Otherwise, is is a parse error. Switch to the bogus comment state.
+ The next character that is consumed, if any, is the first character
+ that will be in the comment. */
+ } else {
+ $this->char++;
+ $this->state = 'bogusComment';
+ }
+ }
+
+ private function commentState()
+ {
+ /* Consume the next input character: */
+ $this->char++;
+ $char = $this->char();
+
+ /* U+002D HYPHEN-MINUS (-) */
+ if ($char === '-') {
+ /* Switch to the comment dash state */
+ $this->state = 'commentDash';
+
+ /* EOF */
+ } elseif ($this->char === $this->EOF) {
+ /* Parse error. Emit the comment token. Reconsume the EOF character
+ in the data state. */
+ $this->emitToken($this->token);
+ $this->char--;
+ $this->state = 'data';
+
+ /* Anything else */
+ } else {
+ /* Append the input character to the comment token's data. Stay in
+ the comment state. */
+ $this->token['data'] .= $char;
+ }
+ }
+
+ private function commentDashState()
+ {
+ /* Consume the next input character: */
+ $this->char++;
+ $char = $this->char();
+
+ /* U+002D HYPHEN-MINUS (-) */
+ if ($char === '-') {
+ /* Switch to the comment end state */
+ $this->state = 'commentEnd';
+
+ /* EOF */
+ } elseif ($this->char === $this->EOF) {
+ /* Parse error. Emit the comment token. Reconsume the EOF character
+ in the data state. */
+ $this->emitToken($this->token);
+ $this->char--;
+ $this->state = 'data';
+
+ /* Anything else */
+ } else {
+ /* Append a U+002D HYPHEN-MINUS (-) character and the input
+ character to the comment token's data. Switch to the comment state. */
+ $this->token['data'] .= '-' . $char;
+ $this->state = 'comment';
+ }
+ }
+
+ private function commentEndState()
+ {
+ /* Consume the next input character: */
+ $this->char++;
+ $char = $this->char();
+
+ if ($char === '>') {
+ $this->emitToken($this->token);
+ $this->state = 'data';
+
+ } elseif ($char === '-') {
+ $this->token['data'] .= '-';
+
+ } elseif ($this->char === $this->EOF) {
+ $this->emitToken($this->token);
+ $this->char--;
+ $this->state = 'data';
+
+ } else {
+ $this->token['data'] .= '--' . $char;
+ $this->state = 'comment';
+ }
+ }
+
+ private function doctypeState()
+ {
+ /* Consume the next input character: */
+ $this->char++;
+ $char = $this->char();
+
+ if (preg_match('/^[\t\n\x0b\x0c ]$/', $char)) {
+ $this->state = 'beforeDoctypeName';
+
+ } else {
+ $this->char--;
+ $this->state = 'beforeDoctypeName';
+ }
+ }
+
+ private function beforeDoctypeNameState()
+ {
+ /* Consume the next input character: */
+ $this->char++;
+ $char = $this->char();
+
+ if (preg_match('/^[\t\n\x0b\x0c ]$/', $char)) {
+ // Stay in the before DOCTYPE name state.
+
+ } elseif (preg_match('/^[a-z]$/', $char)) {
+ $this->token = array(
+ 'name' => strtoupper($char),
+ 'type' => self::DOCTYPE,
+ 'error' => true
+ );
+
+ $this->state = 'doctypeName';
+
+ } elseif ($char === '>') {
+ $this->emitToken(
+ array(
+ 'name' => null,
+ 'type' => self::DOCTYPE,
+ 'error' => true
+ )
+ );
+
+ $this->state = 'data';
+
+ } elseif ($this->char === $this->EOF) {
+ $this->emitToken(
+ array(
+ 'name' => null,
+ 'type' => self::DOCTYPE,
+ 'error' => true
+ )
+ );
+
+ $this->char--;
+ $this->state = 'data';
+
+ } else {
+ $this->token = array(
+ 'name' => $char,
+ 'type' => self::DOCTYPE,
+ 'error' => true
+ );
+
+ $this->state = 'doctypeName';
+ }
+ }
+
+ private function doctypeNameState()
+ {
+ /* Consume the next input character: */
+ $this->char++;
+ $char = $this->char();
+
+ if (preg_match('/^[\t\n\x0b\x0c ]$/', $char)) {
+ $this->state = 'AfterDoctypeName';
+
+ } elseif ($char === '>') {
+ $this->emitToken($this->token);
+ $this->state = 'data';
+
+ } elseif (preg_match('/^[a-z]$/', $char)) {
+ $this->token['name'] .= strtoupper($char);
+
+ } elseif ($this->char === $this->EOF) {
+ $this->emitToken($this->token);
+ $this->char--;
+ $this->state = 'data';
+
+ } else {
+ $this->token['name'] .= $char;
+ }
+
+ $this->token['error'] = ($this->token['name'] === 'HTML')
+ ? false
+ : true;
+ }
+
+ private function afterDoctypeNameState()
+ {
+ /* Consume the next input character: */
+ $this->char++;
+ $char = $this->char();
+
+ if (preg_match('/^[\t\n\x0b\x0c ]$/', $char)) {
+ // Stay in the DOCTYPE name state.
+
+ } elseif ($char === '>') {
+ $this->emitToken($this->token);
+ $this->state = 'data';
+
+ } elseif ($this->char === $this->EOF) {
+ $this->emitToken($this->token);
+ $this->char--;
+ $this->state = 'data';
+
+ } else {
+ $this->token['error'] = true;
+ $this->state = 'bogusDoctype';
+ }
+ }
+
+ private function bogusDoctypeState()
+ {
+ /* Consume the next input character: */
+ $this->char++;
+ $char = $this->char();
+
+ if ($char === '>') {
+ $this->emitToken($this->token);
+ $this->state = 'data';
+
+ } elseif ($this->char === $this->EOF) {
+ $this->emitToken($this->token);
+ $this->char--;
+ $this->state = 'data';
+
+ } else {
+ // Stay in the bogus DOCTYPE state.
+ }
+ }
+
+ private function entity()
+ {
+ $start = $this->char;
+
+ // This section defines how to consume an entity. This definition is
+ // used when parsing entities in text and in attributes.
+
+ // The behaviour depends on the identity of the next character (the
+ // one immediately after the U+0026 AMPERSAND character):
+
+ switch ($this->character($this->char + 1)) {
+ // U+0023 NUMBER SIGN (#)
+ case '#':
+
+ // The behaviour further depends on the character after the
+ // U+0023 NUMBER SIGN:
+ switch ($this->character($this->char + 1)) {
+ // U+0078 LATIN SMALL LETTER X
+ // U+0058 LATIN CAPITAL LETTER X
+ case 'x':
+ case 'X':
+ // Follow the steps below, but using the range of
+ // characters U+0030 DIGIT ZERO through to U+0039 DIGIT
+ // NINE, U+0061 LATIN SMALL LETTER A through to U+0066
+ // LATIN SMALL LETTER F, and U+0041 LATIN CAPITAL LETTER
+ // A, through to U+0046 LATIN CAPITAL LETTER F (in other
+ // words, 0-9, A-F, a-f).
+ $char = 1;
+ $char_class = '0-9A-Fa-f';
+ break;
+
+ // Anything else
+ default:
+ // Follow the steps below, but using the range of
+ // characters U+0030 DIGIT ZERO through to U+0039 DIGIT
+ // NINE (i.e. just 0-9).
+ $char = 0;
+ $char_class = '0-9';
+ break;
+ }
+
+ // Consume as many characters as match the range of characters
+ // given above.
+ $this->char++;
+ $e_name = $this->characters($char_class, $this->char + $char + 1);
+ $entity = $this->character($start, $this->char);
+ $cond = strlen($e_name) > 0;
+
+ // The rest of the parsing happens bellow.
+ break;
+
+ // Anything else
+ default:
+ // Consume the maximum number of characters possible, with the
+ // consumed characters case-sensitively matching one of the
+ // identifiers in the first column of the entities table.
+
+ $e_name = $this->characters('0-9A-Za-z;', $this->char + 1);
+ $len = strlen($e_name);
+
+ for ($c = 1; $c <= $len; $c++) {
+ $id = substr($e_name, 0, $c);
+ $this->char++;
+
+ if (in_array($id, $this->entities)) {
+ if ($e_name[$c - 1] !== ';') {
+ if ($c < $len && $e_name[$c] == ';') {
+ $this->char++; // consume extra semicolon
+ }
+ }
+ $entity = $id;
+ break;
+ }
+ }
+
+ $cond = isset($entity);
+ // The rest of the parsing happens bellow.
+ break;
+ }
+
+ if (!$cond) {
+ // If no match can be made, then this is a parse error. No
+ // characters are consumed, and nothing is returned.
+ $this->char = $start;
+ return false;
+ }
+
+ // Return a character token for the character corresponding to the
+ // entity name (as given by the second column of the entities table).
+ return html_entity_decode('&' . rtrim($entity, ';') . ';', ENT_QUOTES, 'UTF-8');
+ }
+
+ private function emitToken($token)
+ {
+ $emit = $this->tree->emitToken($token);
+
+ if (is_int($emit)) {
+ $this->content_model = $emit;
+
+ } elseif ($token['type'] === self::ENDTAG) {
+ $this->content_model = self::PCDATA;
+ }
+ }
+
+ private function EOF()
+ {
+ $this->state = null;
+ $this->tree->emitToken(
+ array(
+ 'type' => self::EOF
+ )
+ );
+ }
+}
+
+class HTML5TreeConstructer
+{
+ public $stack = array();
+
+ private $phase;
+ private $mode;
+ private $dom;
+ private $foster_parent = null;
+ private $a_formatting = array();
+
+ private $head_pointer = null;
+ private $form_pointer = null;
+
+ private $scoping = array('button', 'caption', 'html', 'marquee', 'object', 'table', 'td', 'th');
+ private $formatting = array(
+ 'a',
+ 'b',
+ 'big',
+ 'em',
+ 'font',
+ 'i',
+ 'nobr',
+ 's',
+ 'small',
+ 'strike',
+ 'strong',
+ 'tt',
+ 'u'
+ );
+ private $special = array(
+ 'address',
+ 'area',
+ 'base',
+ 'basefont',
+ 'bgsound',
+ 'blockquote',
+ 'body',
+ 'br',
+ 'center',
+ 'col',
+ 'colgroup',
+ 'dd',
+ 'dir',
+ 'div',
+ 'dl',
+ 'dt',
+ 'embed',
+ 'fieldset',
+ 'form',
+ 'frame',
+ 'frameset',
+ 'h1',
+ 'h2',
+ 'h3',
+ 'h4',
+ 'h5',
+ 'h6',
+ 'head',
+ 'hr',
+ 'iframe',
+ 'image',
+ 'img',
+ 'input',
+ 'isindex',
+ 'li',
+ 'link',
+ 'listing',
+ 'menu',
+ 'meta',
+ 'noembed',
+ 'noframes',
+ 'noscript',
+ 'ol',
+ 'optgroup',
+ 'option',
+ 'p',
+ 'param',
+ 'plaintext',
+ 'pre',
+ 'script',
+ 'select',
+ 'spacer',
+ 'style',
+ 'tbody',
+ 'textarea',
+ 'tfoot',
+ 'thead',
+ 'title',
+ 'tr',
+ 'ul',
+ 'wbr'
+ );
+
+ // The different phases.
+ const INIT_PHASE = 0;
+ const ROOT_PHASE = 1;
+ const MAIN_PHASE = 2;
+ const END_PHASE = 3;
+
+ // The different insertion modes for the main phase.
+ const BEFOR_HEAD = 0;
+ const IN_HEAD = 1;
+ const AFTER_HEAD = 2;
+ const IN_BODY = 3;
+ const IN_TABLE = 4;
+ const IN_CAPTION = 5;
+ const IN_CGROUP = 6;
+ const IN_TBODY = 7;
+ const IN_ROW = 8;
+ const IN_CELL = 9;
+ const IN_SELECT = 10;
+ const AFTER_BODY = 11;
+ const IN_FRAME = 12;
+ const AFTR_FRAME = 13;
+
+ // The different types of elements.
+ const SPECIAL = 0;
+ const SCOPING = 1;
+ const FORMATTING = 2;
+ const PHRASING = 3;
+
+ const MARKER = 0;
+
+ public function __construct()
+ {
+ $this->phase = self::INIT_PHASE;
+ $this->mode = self::BEFOR_HEAD;
+ $this->dom = new DOMDocument;
+
+ $this->dom->encoding = 'UTF-8';
+ $this->dom->preserveWhiteSpace = true;
+ $this->dom->substituteEntities = true;
+ $this->dom->strictErrorChecking = false;
+ }
+
+ // Process tag tokens
+ public function emitToken($token)
+ {
+ switch ($this->phase) {
+ case self::INIT_PHASE:
+ return $this->initPhase($token);
+ break;
+ case self::ROOT_PHASE:
+ return $this->rootElementPhase($token);
+ break;
+ case self::MAIN_PHASE:
+ return $this->mainPhase($token);
+ break;
+ case self::END_PHASE :
+ return $this->trailingEndPhase($token);
+ break;
+ }
+ }
+
+ private function initPhase($token)
+ {
+ /* Initially, the tree construction stage must handle each token
+ emitted from the tokenisation stage as follows: */
+
+ /* A DOCTYPE token that is marked as being in error
+ A comment token
+ A start tag token
+ An end tag token
+ A character token that is not one of one of U+0009 CHARACTER TABULATION,
+ U+000A LINE FEED (LF), U+000B LINE TABULATION, U+000C FORM FEED (FF),
+ or U+0020 SPACE
+ An end-of-file token */
+ if ((isset($token['error']) && $token['error']) ||
+ $token['type'] === HTML5::COMMENT ||
+ $token['type'] === HTML5::STARTTAG ||
+ $token['type'] === HTML5::ENDTAG ||
+ $token['type'] === HTML5::EOF ||
+ ($token['type'] === HTML5::CHARACTR && isset($token['data']) &&
+ !preg_match('/^[\t\n\x0b\x0c ]+$/', $token['data']))
+ ) {
+ /* This specification does not define how to handle this case. In
+ particular, user agents may ignore the entirety of this specification
+ altogether for such documents, and instead invoke special parse modes
+ with a greater emphasis on backwards compatibility. */
+
+ $this->phase = self::ROOT_PHASE;
+ return $this->rootElementPhase($token);
+
+ /* A DOCTYPE token marked as being correct */
+ } elseif (isset($token['error']) && !$token['error']) {
+ /* Append a DocumentType node to the Document node, with the name
+ attribute set to the name given in the DOCTYPE token (which will be
+ "HTML"), and the other attributes specific to DocumentType objects
+ set to null, empty lists, or the empty string as appropriate. */
+ $doctype = new DOMDocumentType(null, null, 'HTML');
+
+ /* Then, switch to the root element phase of the tree construction
+ stage. */
+ $this->phase = self::ROOT_PHASE;
+
+ /* A character token that is one of one of U+0009 CHARACTER TABULATION,
+ U+000A LINE FEED (LF), U+000B LINE TABULATION, U+000C FORM FEED (FF),
+ or U+0020 SPACE */
+ } elseif (isset($token['data']) && preg_match(
+ '/^[\t\n\x0b\x0c ]+$/',
+ $token['data']
+ )
+ ) {
+ /* Append that character to the Document node. */
+ $text = $this->dom->createTextNode($token['data']);
+ $this->dom->appendChild($text);
+ }
+ }
+
+ private function rootElementPhase($token)
+ {
+ /* After the initial phase, as each token is emitted from the tokenisation
+ stage, it must be processed as described in this section. */
+
+ /* A DOCTYPE token */
+ if ($token['type'] === HTML5::DOCTYPE) {
+ // Parse error. Ignore the token.
+
+ /* A comment token */
+ } elseif ($token['type'] === HTML5::COMMENT) {
+ /* Append a Comment node to the Document object with the data
+ attribute set to the data given in the comment token. */
+ $comment = $this->dom->createComment($token['data']);
+ $this->dom->appendChild($comment);
+
+ /* A character token that is one of one of U+0009 CHARACTER TABULATION,
+ U+000A LINE FEED (LF), U+000B LINE TABULATION, U+000C FORM FEED (FF),
+ or U+0020 SPACE */
+ } elseif ($token['type'] === HTML5::CHARACTR &&
+ preg_match('/^[\t\n\x0b\x0c ]+$/', $token['data'])
+ ) {
+ /* Append that character to the Document node. */
+ $text = $this->dom->createTextNode($token['data']);
+ $this->dom->appendChild($text);
+
+ /* A character token that is not one of U+0009 CHARACTER TABULATION,
+ U+000A LINE FEED (LF), U+000B LINE TABULATION, U+000C FORM FEED
+ (FF), or U+0020 SPACE
+ A start tag token
+ An end tag token
+ An end-of-file token */
+ } elseif (($token['type'] === HTML5::CHARACTR &&
+ !preg_match('/^[\t\n\x0b\x0c ]+$/', $token['data'])) ||
+ $token['type'] === HTML5::STARTTAG ||
+ $token['type'] === HTML5::ENDTAG ||
+ $token['type'] === HTML5::EOF
+ ) {
+ /* Create an HTMLElement node with the tag name html, in the HTML
+ namespace. Append it to the Document object. Switch to the main
+ phase and reprocess the current token. */
+ $html = $this->dom->createElement('html');
+ $this->dom->appendChild($html);
+ $this->stack[] = $html;
+
+ $this->phase = self::MAIN_PHASE;
+ return $this->mainPhase($token);
+ }
+ }
+
+ private function mainPhase($token)
+ {
+ /* Tokens in the main phase must be handled as follows: */
+
+ /* A DOCTYPE token */
+ if ($token['type'] === HTML5::DOCTYPE) {
+ // Parse error. Ignore the token.
+
+ /* A start tag token with the tag name "html" */
+ } elseif ($token['type'] === HTML5::STARTTAG && $token['name'] === 'html') {
+ /* If this start tag token was not the first start tag token, then
+ it is a parse error. */
+
+ /* For each attribute on the token, check to see if the attribute
+ is already present on the top element of the stack of open elements.
+ If it is not, add the attribute and its corresponding value to that
+ element. */
+ foreach ($token['attr'] as $attr) {
+ if (!$this->stack[0]->hasAttribute($attr['name'])) {
+ $this->stack[0]->setAttribute($attr['name'], $attr['value']);
+ }
+ }
+
+ /* An end-of-file token */
+ } elseif ($token['type'] === HTML5::EOF) {
+ /* Generate implied end tags. */
+ $this->generateImpliedEndTags();
+
+ /* Anything else. */
+ } else {
+ /* Depends on the insertion mode: */
+ switch ($this->mode) {
+ case self::BEFOR_HEAD:
+ return $this->beforeHead($token);
+ break;
+ case self::IN_HEAD:
+ return $this->inHead($token);
+ break;
+ case self::AFTER_HEAD:
+ return $this->afterHead($token);
+ break;
+ case self::IN_BODY:
+ return $this->inBody($token);
+ break;
+ case self::IN_TABLE:
+ return $this->inTable($token);
+ break;
+ case self::IN_CAPTION:
+ return $this->inCaption($token);
+ break;
+ case self::IN_CGROUP:
+ return $this->inColumnGroup($token);
+ break;
+ case self::IN_TBODY:
+ return $this->inTableBody($token);
+ break;
+ case self::IN_ROW:
+ return $this->inRow($token);
+ break;
+ case self::IN_CELL:
+ return $this->inCell($token);
+ break;
+ case self::IN_SELECT:
+ return $this->inSelect($token);
+ break;
+ case self::AFTER_BODY:
+ return $this->afterBody($token);
+ break;
+ case self::IN_FRAME:
+ return $this->inFrameset($token);
+ break;
+ case self::AFTR_FRAME:
+ return $this->afterFrameset($token);
+ break;
+ case self::END_PHASE:
+ return $this->trailingEndPhase($token);
+ break;
+ }
+ }
+ }
+
+ private function beforeHead($token)
+ {
+ /* Handle the token as follows: */
+
+ /* A character token that is one of one of U+0009 CHARACTER TABULATION,
+ U+000A LINE FEED (LF), U+000B LINE TABULATION, U+000C FORM FEED (FF),
+ or U+0020 SPACE */
+ if ($token['type'] === HTML5::CHARACTR &&
+ preg_match('/^[\t\n\x0b\x0c ]+$/', $token['data'])
+ ) {
+ /* Append the character to the current node. */
+ $this->insertText($token['data']);
+
+ /* A comment token */
+ } elseif ($token['type'] === HTML5::COMMENT) {
+ /* Append a Comment node to the current node with the data attribute
+ set to the data given in the comment token. */
+ $this->insertComment($token['data']);
+
+ /* A start tag token with the tag name "head" */
+ } elseif ($token['type'] === HTML5::STARTTAG && $token['name'] === 'head') {
+ /* Create an element for the token, append the new element to the
+ current node and push it onto the stack of open elements. */
+ $element = $this->insertElement($token);
+
+ /* Set the head element pointer to this new element node. */
+ $this->head_pointer = $element;
+
+ /* Change the insertion mode to "in head". */
+ $this->mode = self::IN_HEAD;
+
+ /* A start tag token whose tag name is one of: "base", "link", "meta",
+ "script", "style", "title". Or an end tag with the tag name "html".
+ Or a character token that is not one of U+0009 CHARACTER TABULATION,
+ U+000A LINE FEED (LF), U+000B LINE TABULATION, U+000C FORM FEED (FF),
+ or U+0020 SPACE. Or any other start tag token */
+ } elseif ($token['type'] === HTML5::STARTTAG ||
+ ($token['type'] === HTML5::ENDTAG && $token['name'] === 'html') ||
+ ($token['type'] === HTML5::CHARACTR && !preg_match(
+ '/^[\t\n\x0b\x0c ]$/',
+ $token['data']
+ ))
+ ) {
+ /* Act as if a start tag token with the tag name "head" and no
+ attributes had been seen, then reprocess the current token. */
+ $this->beforeHead(
+ array(
+ 'name' => 'head',
+ 'type' => HTML5::STARTTAG,
+ 'attr' => array()
+ )
+ );
+
+ return $this->inHead($token);
+
+ /* Any other end tag */
+ } elseif ($token['type'] === HTML5::ENDTAG) {
+ /* Parse error. Ignore the token. */
+ }
+ }
+
+ private function inHead($token)
+ {
+ /* Handle the token as follows: */
+
+ /* A character token that is one of one of U+0009 CHARACTER TABULATION,
+ U+000A LINE FEED (LF), U+000B LINE TABULATION, U+000C FORM FEED (FF),
+ or U+0020 SPACE.
+
+ THIS DIFFERS FROM THE SPEC: If the current node is either a title, style
+ or script element, append the character to the current node regardless
+ of its content. */
+ if (($token['type'] === HTML5::CHARACTR &&
+ preg_match('/^[\t\n\x0b\x0c ]+$/', $token['data'])) || (
+ $token['type'] === HTML5::CHARACTR && in_array(
+ end($this->stack)->nodeName,
+ array('title', 'style', 'script')
+ ))
+ ) {
+ /* Append the character to the current node. */
+ $this->insertText($token['data']);
+
+ /* A comment token */
+ } elseif ($token['type'] === HTML5::COMMENT) {
+ /* Append a Comment node to the current node with the data attribute
+ set to the data given in the comment token. */
+ $this->insertComment($token['data']);
+
+ } elseif ($token['type'] === HTML5::ENDTAG &&
+ in_array($token['name'], array('title', 'style', 'script'))
+ ) {
+ array_pop($this->stack);
+ return HTML5::PCDATA;
+
+ /* A start tag with the tag name "title" */
+ } elseif ($token['type'] === HTML5::STARTTAG && $token['name'] === 'title') {
+ /* Create an element for the token and append the new element to the
+ node pointed to by the head element pointer, or, if that is null
+ (innerHTML case), to the current node. */
+ if ($this->head_pointer !== null) {
+ $element = $this->insertElement($token, false);
+ $this->head_pointer->appendChild($element);
+
+ } else {
+ $element = $this->insertElement($token);
+ }
+
+ /* Switch the tokeniser's content model flag to the RCDATA state. */
+ return HTML5::RCDATA;
+
+ /* A start tag with the tag name "style" */
+ } elseif ($token['type'] === HTML5::STARTTAG && $token['name'] === 'style') {
+ /* Create an element for the token and append the new element to the
+ node pointed to by the head element pointer, or, if that is null
+ (innerHTML case), to the current node. */
+ if ($this->head_pointer !== null) {
+ $element = $this->insertElement($token, false);
+ $this->head_pointer->appendChild($element);
+
+ } else {
+ $this->insertElement($token);
+ }
+
+ /* Switch the tokeniser's content model flag to the CDATA state. */
+ return HTML5::CDATA;
+
+ /* A start tag with the tag name "script" */
+ } elseif ($token['type'] === HTML5::STARTTAG && $token['name'] === 'script') {
+ /* Create an element for the token. */
+ $element = $this->insertElement($token, false);
+ $this->head_pointer->appendChild($element);
+
+ /* Switch the tokeniser's content model flag to the CDATA state. */
+ return HTML5::CDATA;
+
+ /* A start tag with the tag name "base", "link", or "meta" */
+ } elseif ($token['type'] === HTML5::STARTTAG && in_array(
+ $token['name'],
+ array('base', 'link', 'meta')
+ )
+ ) {
+ /* Create an element for the token and append the new element to the
+ node pointed to by the head element pointer, or, if that is null
+ (innerHTML case), to the current node. */
+ if ($this->head_pointer !== null) {
+ $element = $this->insertElement($token, false);
+ $this->head_pointer->appendChild($element);
+ array_pop($this->stack);
+
+ } else {
+ $this->insertElement($token);
+ }
+
+ /* An end tag with the tag name "head" */
+ } elseif ($token['type'] === HTML5::ENDTAG && $token['name'] === 'head') {
+ /* If the current node is a head element, pop the current node off
+ the stack of open elements. */
+ if ($this->head_pointer->isSameNode(end($this->stack))) {
+ array_pop($this->stack);
+
+ /* Otherwise, this is a parse error. */
+ } else {
+ // k
+ }
+
+ /* Change the insertion mode to "after head". */
+ $this->mode = self::AFTER_HEAD;
+
+ /* A start tag with the tag name "head" or an end tag except "html". */
+ } elseif (($token['type'] === HTML5::STARTTAG && $token['name'] === 'head') ||
+ ($token['type'] === HTML5::ENDTAG && $token['name'] !== 'html')
+ ) {
+ // Parse error. Ignore the token.
+
+ /* Anything else */
+ } else {
+ /* If the current node is a head element, act as if an end tag
+ token with the tag name "head" had been seen. */
+ if ($this->head_pointer->isSameNode(end($this->stack))) {
+ $this->inHead(
+ array(
+ 'name' => 'head',
+ 'type' => HTML5::ENDTAG
+ )
+ );
+
+ /* Otherwise, change the insertion mode to "after head". */
+ } else {
+ $this->mode = self::AFTER_HEAD;
+ }
+
+ /* Then, reprocess the current token. */
+ return $this->afterHead($token);
+ }
+ }
+
+ private function afterHead($token)
+ {
+ /* Handle the token as follows: */
+
+ /* A character token that is one of one of U+0009 CHARACTER TABULATION,
+ U+000A LINE FEED (LF), U+000B LINE TABULATION, U+000C FORM FEED (FF),
+ or U+0020 SPACE */
+ if ($token['type'] === HTML5::CHARACTR &&
+ preg_match('/^[\t\n\x0b\x0c ]+$/', $token['data'])
+ ) {
+ /* Append the character to the current node. */
+ $this->insertText($token['data']);
+
+ /* A comment token */
+ } elseif ($token['type'] === HTML5::COMMENT) {
+ /* Append a Comment node to the current node with the data attribute
+ set to the data given in the comment token. */
+ $this->insertComment($token['data']);
+
+ /* A start tag token with the tag name "body" */
+ } elseif ($token['type'] === HTML5::STARTTAG && $token['name'] === 'body') {
+ /* Insert a body element for the token. */
+ $this->insertElement($token);
+
+ /* Change the insertion mode to "in body". */
+ $this->mode = self::IN_BODY;
+
+ /* A start tag token with the tag name "frameset" */
+ } elseif ($token['type'] === HTML5::STARTTAG && $token['name'] === 'frameset') {
+ /* Insert a frameset element for the token. */
+ $this->insertElement($token);
+
+ /* Change the insertion mode to "in frameset". */
+ $this->mode = self::IN_FRAME;
+
+ /* A start tag token whose tag name is one of: "base", "link", "meta",
+ "script", "style", "title" */
+ } elseif ($token['type'] === HTML5::STARTTAG && in_array(
+ $token['name'],
+ array('base', 'link', 'meta', 'script', 'style', 'title')
+ )
+ ) {
+ /* Parse error. Switch the insertion mode back to "in head" and
+ reprocess the token. */
+ $this->mode = self::IN_HEAD;
+ return $this->inHead($token);
+
+ /* Anything else */
+ } else {
+ /* Act as if a start tag token with the tag name "body" and no
+ attributes had been seen, and then reprocess the current token. */
+ $this->afterHead(
+ array(
+ 'name' => 'body',
+ 'type' => HTML5::STARTTAG,
+ 'attr' => array()
+ )
+ );
+
+ return $this->inBody($token);
+ }
+ }
+
+ private function inBody($token)
+ {
+ /* Handle the token as follows: */
+
+ switch ($token['type']) {
+ /* A character token */
+ case HTML5::CHARACTR:
+ /* Reconstruct the active formatting elements, if any. */
+ $this->reconstructActiveFormattingElements();
+
+ /* Append the token's character to the current node. */
+ $this->insertText($token['data']);
+ break;
+
+ /* A comment token */
+ case HTML5::COMMENT:
+ /* Append a Comment node to the current node with the data
+ attribute set to the data given in the comment token. */
+ $this->insertComment($token['data']);
+ break;
+
+ case HTML5::STARTTAG:
+ switch ($token['name']) {
+ /* A start tag token whose tag name is one of: "script",
+ "style" */
+ case 'script':
+ case 'style':
+ /* Process the token as if the insertion mode had been "in
+ head". */
+ return $this->inHead($token);
+ break;
+
+ /* A start tag token whose tag name is one of: "base", "link",
+ "meta", "title" */
+ case 'base':
+ case 'link':
+ case 'meta':
+ case 'title':
+ /* Parse error. Process the token as if the insertion mode
+ had been "in head". */
+ return $this->inHead($token);
+ break;
+
+ /* A start tag token with the tag name "body" */
+ case 'body':
+ /* Parse error. If the second element on the stack of open
+ elements is not a body element, or, if the stack of open
+ elements has only one node on it, then ignore the token.
+ (innerHTML case) */
+ if (count($this->stack) === 1 || $this->stack[1]->nodeName !== 'body') {
+ // Ignore
+
+ /* Otherwise, for each attribute on the token, check to see
+ if the attribute is already present on the body element (the
+ second element) on the stack of open elements. If it is not,
+ add the attribute and its corresponding value to that
+ element. */
+ } else {
+ foreach ($token['attr'] as $attr) {
+ if (!$this->stack[1]->hasAttribute($attr['name'])) {
+ $this->stack[1]->setAttribute($attr['name'], $attr['value']);
+ }
+ }
+ }
+ break;
+
+ /* A start tag whose tag name is one of: "address",
+ "blockquote", "center", "dir", "div", "dl", "fieldset",
+ "listing", "menu", "ol", "p", "ul" */
+ case 'address':
+ case 'blockquote':
+ case 'center':
+ case 'dir':
+ case 'div':
+ case 'dl':
+ case 'fieldset':
+ case 'listing':
+ case 'menu':
+ case 'ol':
+ case 'p':
+ case 'ul':
+ /* If the stack of open elements has a p element in scope,
+ then act as if an end tag with the tag name p had been
+ seen. */
+ if ($this->elementInScope('p')) {
+ $this->emitToken(
+ array(
+ 'name' => 'p',
+ 'type' => HTML5::ENDTAG
+ )
+ );
+ }
+
+ /* Insert an HTML element for the token. */
+ $this->insertElement($token);
+ break;
+
+ /* A start tag whose tag name is "form" */
+ case 'form':
+ /* If the form element pointer is not null, ignore the
+ token with a parse error. */
+ if ($this->form_pointer !== null) {
+ // Ignore.
+
+ /* Otherwise: */
+ } else {
+ /* If the stack of open elements has a p element in
+ scope, then act as if an end tag with the tag name p
+ had been seen. */
+ if ($this->elementInScope('p')) {
+ $this->emitToken(
+ array(
+ 'name' => 'p',
+ 'type' => HTML5::ENDTAG
+ )
+ );
+ }
+
+ /* Insert an HTML element for the token, and set the
+ form element pointer to point to the element created. */
+ $element = $this->insertElement($token);
+ $this->form_pointer = $element;
+ }
+ break;
+
+ /* A start tag whose tag name is "li", "dd" or "dt" */
+ case 'li':
+ case 'dd':
+ case 'dt':
+ /* If the stack of open elements has a p element in scope,
+ then act as if an end tag with the tag name p had been
+ seen. */
+ if ($this->elementInScope('p')) {
+ $this->emitToken(
+ array(
+ 'name' => 'p',
+ 'type' => HTML5::ENDTAG
+ )
+ );
+ }
+
+ $stack_length = count($this->stack) - 1;
+
+ for ($n = $stack_length; 0 <= $n; $n--) {
+ /* 1. Initialise node to be the current node (the
+ bottommost node of the stack). */
+ $stop = false;
+ $node = $this->stack[$n];
+ $cat = $this->getElementCategory($node->tagName);
+
+ /* 2. If node is an li, dd or dt element, then pop all
+ the nodes from the current node up to node, including
+ node, then stop this algorithm. */
+ if ($token['name'] === $node->tagName || ($token['name'] !== 'li'
+ && ($node->tagName === 'dd' || $node->tagName === 'dt'))
+ ) {
+ for ($x = $stack_length; $x >= $n; $x--) {
+ array_pop($this->stack);
+ }
+
+ break;
+ }
+
+ /* 3. If node is not in the formatting category, and is
+ not in the phrasing category, and is not an address or
+ div element, then stop this algorithm. */
+ if ($cat !== self::FORMATTING && $cat !== self::PHRASING &&
+ $node->tagName !== 'address' && $node->tagName !== 'div'
+ ) {
+ break;
+ }
+ }
+
+ /* Finally, insert an HTML element with the same tag
+ name as the token's. */
+ $this->insertElement($token);
+ break;
+
+ /* A start tag token whose tag name is "plaintext" */
+ case 'plaintext':
+ /* If the stack of open elements has a p element in scope,
+ then act as if an end tag with the tag name p had been
+ seen. */
+ if ($this->elementInScope('p')) {
+ $this->emitToken(
+ array(
+ 'name' => 'p',
+ 'type' => HTML5::ENDTAG
+ )
+ );
+ }
+
+ /* Insert an HTML element for the token. */
+ $this->insertElement($token);
+
+ return HTML5::PLAINTEXT;
+ break;
+
+ /* A start tag whose tag name is one of: "h1", "h2", "h3", "h4",
+ "h5", "h6" */
+ case 'h1':
+ case 'h2':
+ case 'h3':
+ case 'h4':
+ case 'h5':
+ case 'h6':
+ /* If the stack of open elements has a p element in scope,
+ then act as if an end tag with the tag name p had been seen. */
+ if ($this->elementInScope('p')) {
+ $this->emitToken(
+ array(
+ 'name' => 'p',
+ 'type' => HTML5::ENDTAG
+ )
+ );
+ }
+
+ /* If the stack of open elements has in scope an element whose
+ tag name is one of "h1", "h2", "h3", "h4", "h5", or "h6", then
+ this is a parse error; pop elements from the stack until an
+ element with one of those tag names has been popped from the
+ stack. */
+ while ($this->elementInScope(array('h1', 'h2', 'h3', 'h4', 'h5', 'h6'))) {
+ array_pop($this->stack);
+ }
+
+ /* Insert an HTML element for the token. */
+ $this->insertElement($token);
+ break;
+
+ /* A start tag whose tag name is "a" */
+ case 'a':
+ /* If the list of active formatting elements contains
+ an element whose tag name is "a" between the end of the
+ list and the last marker on the list (or the start of
+ the list if there is no marker on the list), then this
+ is a parse error; act as if an end tag with the tag name
+ "a" had been seen, then remove that element from the list
+ of active formatting elements and the stack of open
+ elements if the end tag didn't already remove it (it
+ might not have if the element is not in table scope). */
+ $leng = count($this->a_formatting);
+
+ for ($n = $leng - 1; $n >= 0; $n--) {
+ if ($this->a_formatting[$n] === self::MARKER) {
+ break;
+
+ } elseif ($this->a_formatting[$n]->nodeName === 'a') {
+ $this->emitToken(
+ array(
+ 'name' => 'a',
+ 'type' => HTML5::ENDTAG
+ )
+ );
+ break;
+ }
+ }
+
+ /* Reconstruct the active formatting elements, if any. */
+ $this->reconstructActiveFormattingElements();
+
+ /* Insert an HTML element for the token. */
+ $el = $this->insertElement($token);
+
+ /* Add that element to the list of active formatting
+ elements. */
+ $this->a_formatting[] = $el;
+ break;
+
+ /* A start tag whose tag name is one of: "b", "big", "em", "font",
+ "i", "nobr", "s", "small", "strike", "strong", "tt", "u" */
+ case 'b':
+ case 'big':
+ case 'em':
+ case 'font':
+ case 'i':
+ case 'nobr':
+ case 's':
+ case 'small':
+ case 'strike':
+ case 'strong':
+ case 'tt':
+ case 'u':
+ /* Reconstruct the active formatting elements, if any. */
+ $this->reconstructActiveFormattingElements();
+
+ /* Insert an HTML element for the token. */
+ $el = $this->insertElement($token);
+
+ /* Add that element to the list of active formatting
+ elements. */
+ $this->a_formatting[] = $el;
+ break;
+
+ /* A start tag token whose tag name is "button" */
+ case 'button':
+ /* If the stack of open elements has a button element in scope,
+ then this is a parse error; act as if an end tag with the tag
+ name "button" had been seen, then reprocess the token. (We don't
+ do that. Unnecessary.) */
+ if ($this->elementInScope('button')) {
+ $this->inBody(
+ array(
+ 'name' => 'button',
+ 'type' => HTML5::ENDTAG
+ )
+ );
+ }
+
+ /* Reconstruct the active formatting elements, if any. */
+ $this->reconstructActiveFormattingElements();
+
+ /* Insert an HTML element for the token. */
+ $this->insertElement($token);
+
+ /* Insert a marker at the end of the list of active
+ formatting elements. */
+ $this->a_formatting[] = self::MARKER;
+ break;
+
+ /* A start tag token whose tag name is one of: "marquee", "object" */
+ case 'marquee':
+ case 'object':
+ /* Reconstruct the active formatting elements, if any. */
+ $this->reconstructActiveFormattingElements();
+
+ /* Insert an HTML element for the token. */
+ $this->insertElement($token);
+
+ /* Insert a marker at the end of the list of active
+ formatting elements. */
+ $this->a_formatting[] = self::MARKER;
+ break;
+
+ /* A start tag token whose tag name is "xmp" */
+ case 'xmp':
+ /* Reconstruct the active formatting elements, if any. */
+ $this->reconstructActiveFormattingElements();
+
+ /* Insert an HTML element for the token. */
+ $this->insertElement($token);
+
+ /* Switch the content model flag to the CDATA state. */
+ return HTML5::CDATA;
+ break;
+
+ /* A start tag whose tag name is "table" */
+ case 'table':
+ /* If the stack of open elements has a p element in scope,
+ then act as if an end tag with the tag name p had been seen. */
+ if ($this->elementInScope('p')) {
+ $this->emitToken(
+ array(
+ 'name' => 'p',
+ 'type' => HTML5::ENDTAG
+ )
+ );
+ }
+
+ /* Insert an HTML element for the token. */
+ $this->insertElement($token);
+
+ /* Change the insertion mode to "in table". */
+ $this->mode = self::IN_TABLE;
+ break;
+
+ /* A start tag whose tag name is one of: "area", "basefont",
+ "bgsound", "br", "embed", "img", "param", "spacer", "wbr" */
+ case 'area':
+ case 'basefont':
+ case 'bgsound':
+ case 'br':
+ case 'embed':
+ case 'img':
+ case 'param':
+ case 'spacer':
+ case 'wbr':
+ /* Reconstruct the active formatting elements, if any. */
+ $this->reconstructActiveFormattingElements();
+
+ /* Insert an HTML element for the token. */
+ $this->insertElement($token);
+
+ /* Immediately pop the current node off the stack of open elements. */
+ array_pop($this->stack);
+ break;
+
+ /* A start tag whose tag name is "hr" */
+ case 'hr':
+ /* If the stack of open elements has a p element in scope,
+ then act as if an end tag with the tag name p had been seen. */
+ if ($this->elementInScope('p')) {
+ $this->emitToken(
+ array(
+ 'name' => 'p',
+ 'type' => HTML5::ENDTAG
+ )
+ );
+ }
+
+ /* Insert an HTML element for the token. */
+ $this->insertElement($token);
+
+ /* Immediately pop the current node off the stack of open elements. */
+ array_pop($this->stack);
+ break;
+
+ /* A start tag whose tag name is "image" */
+ case 'image':
+ /* Parse error. Change the token's tag name to "img" and
+ reprocess it. (Don't ask.) */
+ $token['name'] = 'img';
+ return $this->inBody($token);
+ break;
+
+ /* A start tag whose tag name is "input" */
+ case 'input':
+ /* Reconstruct the active formatting elements, if any. */
+ $this->reconstructActiveFormattingElements();
+
+ /* Insert an input element for the token. */
+ $element = $this->insertElement($token, false);
+
+ /* If the form element pointer is not null, then associate the
+ input element with the form element pointed to by the form
+ element pointer. */
+ $this->form_pointer !== null
+ ? $this->form_pointer->appendChild($element)
+ : end($this->stack)->appendChild($element);
+
+ /* Pop that input element off the stack of open elements. */
+ array_pop($this->stack);
+ break;
+
+ /* A start tag whose tag name is "isindex" */
+ case 'isindex':
+ /* Parse error. */
+ // w/e
+
+ /* If the form element pointer is not null,
+ then ignore the token. */
+ if ($this->form_pointer === null) {
+ /* Act as if a start tag token with the tag name "form" had
+ been seen. */
+ $this->inBody(
+ array(
+ 'name' => 'body',
+ 'type' => HTML5::STARTTAG,
+ 'attr' => array()
+ )
+ );
+
+ /* Act as if a start tag token with the tag name "hr" had
+ been seen. */
+ $this->inBody(
+ array(
+ 'name' => 'hr',
+ 'type' => HTML5::STARTTAG,
+ 'attr' => array()
+ )
+ );
+
+ /* Act as if a start tag token with the tag name "p" had
+ been seen. */
+ $this->inBody(
+ array(
+ 'name' => 'p',
+ 'type' => HTML5::STARTTAG,
+ 'attr' => array()
+ )
+ );
+
+ /* Act as if a start tag token with the tag name "label"
+ had been seen. */
+ $this->inBody(
+ array(
+ 'name' => 'label',
+ 'type' => HTML5::STARTTAG,
+ 'attr' => array()
+ )
+ );
+
+ /* Act as if a stream of character tokens had been seen. */
+ $this->insertText(
+ 'This is a searchable index. ' .
+ 'Insert your search keywords here: '
+ );
+
+ /* Act as if a start tag token with the tag name "input"
+ had been seen, with all the attributes from the "isindex"
+ token, except with the "name" attribute set to the value
+ "isindex" (ignoring any explicit "name" attribute). */
+ $attr = $token['attr'];
+ $attr[] = array('name' => 'name', 'value' => 'isindex');
+
+ $this->inBody(
+ array(
+ 'name' => 'input',
+ 'type' => HTML5::STARTTAG,
+ 'attr' => $attr
+ )
+ );
+
+ /* Act as if a stream of character tokens had been seen
+ (see below for what they should say). */
+ $this->insertText(
+ 'This is a searchable index. ' .
+ 'Insert your search keywords here: '
+ );
+
+ /* Act as if an end tag token with the tag name "label"
+ had been seen. */
+ $this->inBody(
+ array(
+ 'name' => 'label',
+ 'type' => HTML5::ENDTAG
+ )
+ );
+
+ /* Act as if an end tag token with the tag name "p" had
+ been seen. */
+ $this->inBody(
+ array(
+ 'name' => 'p',
+ 'type' => HTML5::ENDTAG
+ )
+ );
+
+ /* Act as if a start tag token with the tag name "hr" had
+ been seen. */
+ $this->inBody(
+ array(
+ 'name' => 'hr',
+ 'type' => HTML5::ENDTAG
+ )
+ );
+
+ /* Act as if an end tag token with the tag name "form" had
+ been seen. */
+ $this->inBody(
+ array(
+ 'name' => 'form',
+ 'type' => HTML5::ENDTAG
+ )
+ );
+ }
+ break;
+
+ /* A start tag whose tag name is "textarea" */
+ case 'textarea':
+ $this->insertElement($token);
+
+ /* Switch the tokeniser's content model flag to the
+ RCDATA state. */
+ return HTML5::RCDATA;
+ break;
+
+ /* A start tag whose tag name is one of: "iframe", "noembed",
+ "noframes" */
+ case 'iframe':
+ case 'noembed':
+ case 'noframes':
+ $this->insertElement($token);
+
+ /* Switch the tokeniser's content model flag to the CDATA state. */
+ return HTML5::CDATA;
+ break;
+
+ /* A start tag whose tag name is "select" */
+ case 'select':
+ /* Reconstruct the active formatting elements, if any. */
+ $this->reconstructActiveFormattingElements();
+
+ /* Insert an HTML element for the token. */
+ $this->insertElement($token);
+
+ /* Change the insertion mode to "in select". */
+ $this->mode = self::IN_SELECT;
+ break;
+
+ /* A start or end tag whose tag name is one of: "caption", "col",
+ "colgroup", "frame", "frameset", "head", "option", "optgroup",
+ "tbody", "td", "tfoot", "th", "thead", "tr". */
+ case 'caption':
+ case 'col':
+ case 'colgroup':
+ case 'frame':
+ case 'frameset':
+ case 'head':
+ case 'option':
+ case 'optgroup':
+ case 'tbody':
+ case 'td':
+ case 'tfoot':
+ case 'th':
+ case 'thead':
+ case 'tr':
+ // Parse error. Ignore the token.
+ break;
+
+ /* A start or end tag whose tag name is one of: "event-source",
+ "section", "nav", "article", "aside", "header", "footer",
+ "datagrid", "command" */
+ case 'event-source':
+ case 'section':
+ case 'nav':
+ case 'article':
+ case 'aside':
+ case 'header':
+ case 'footer':
+ case 'datagrid':
+ case 'command':
+ // Work in progress!
+ break;
+
+ /* A start tag token not covered by the previous entries */
+ default:
+ /* Reconstruct the active formatting elements, if any. */
+ $this->reconstructActiveFormattingElements();
+
+ $this->insertElement($token, true, true);
+ break;
+ }
+ break;
+
+ case HTML5::ENDTAG:
+ switch ($token['name']) {
+ /* An end tag with the tag name "body" */
+ case 'body':
+ /* If the second element in the stack of open elements is
+ not a body element, this is a parse error. Ignore the token.
+ (innerHTML case) */
+ if (count($this->stack) < 2 || $this->stack[1]->nodeName !== 'body') {
+ // Ignore.
+
+ /* If the current node is not the body element, then this
+ is a parse error. */
+ } elseif (end($this->stack)->nodeName !== 'body') {
+ // Parse error.
+ }
+
+ /* Change the insertion mode to "after body". */
+ $this->mode = self::AFTER_BODY;
+ break;
+
+ /* An end tag with the tag name "html" */
+ case 'html':
+ /* Act as if an end tag with tag name "body" had been seen,
+ then, if that token wasn't ignored, reprocess the current
+ token. */
+ $this->inBody(
+ array(
+ 'name' => 'body',
+ 'type' => HTML5::ENDTAG
+ )
+ );
+
+ return $this->afterBody($token);
+ break;
+
+ /* An end tag whose tag name is one of: "address", "blockquote",
+ "center", "dir", "div", "dl", "fieldset", "listing", "menu",
+ "ol", "pre", "ul" */
+ case 'address':
+ case 'blockquote':
+ case 'center':
+ case 'dir':
+ case 'div':
+ case 'dl':
+ case 'fieldset':
+ case 'listing':
+ case 'menu':
+ case 'ol':
+ case 'pre':
+ case 'ul':
+ /* If the stack of open elements has an element in scope
+ with the same tag name as that of the token, then generate
+ implied end tags. */
+ if ($this->elementInScope($token['name'])) {
+ $this->generateImpliedEndTags();
+
+ /* Now, if the current node is not an element with
+ the same tag name as that of the token, then this
+ is a parse error. */
+ // w/e
+
+ /* If the stack of open elements has an element in
+ scope with the same tag name as that of the token,
+ then pop elements from this stack until an element
+ with that tag name has been popped from the stack. */
+ for ($n = count($this->stack) - 1; $n >= 0; $n--) {
+ if ($this->stack[$n]->nodeName === $token['name']) {
+ $n = -1;
+ }
+
+ array_pop($this->stack);
+ }
+ }
+ break;
+
+ /* An end tag whose tag name is "form" */
+ case 'form':
+ /* If the stack of open elements has an element in scope
+ with the same tag name as that of the token, then generate
+ implied end tags. */
+ if ($this->elementInScope($token['name'])) {
+ $this->generateImpliedEndTags();
+
+ }
+
+ if (end($this->stack)->nodeName !== $token['name']) {
+ /* Now, if the current node is not an element with the
+ same tag name as that of the token, then this is a parse
+ error. */
+ // w/e
+
+ } else {
+ /* Otherwise, if the current node is an element with
+ the same tag name as that of the token pop that element
+ from the stack. */
+ array_pop($this->stack);
+ }
+
+ /* In any case, set the form element pointer to null. */
+ $this->form_pointer = null;
+ break;
+
+ /* An end tag whose tag name is "p" */
+ case 'p':
+ /* If the stack of open elements has a p element in scope,
+ then generate implied end tags, except for p elements. */
+ if ($this->elementInScope('p')) {
+ $this->generateImpliedEndTags(array('p'));
+
+ /* If the current node is not a p element, then this is
+ a parse error. */
+ // k
+
+ /* If the stack of open elements has a p element in
+ scope, then pop elements from this stack until the stack
+ no longer has a p element in scope. */
+ for ($n = count($this->stack) - 1; $n >= 0; $n--) {
+ if ($this->elementInScope('p')) {
+ array_pop($this->stack);
+
+ } else {
+ break;
+ }
+ }
+ }
+ break;
+
+ /* An end tag whose tag name is "dd", "dt", or "li" */
+ case 'dd':
+ case 'dt':
+ case 'li':
+ /* If the stack of open elements has an element in scope
+ whose tag name matches the tag name of the token, then
+ generate implied end tags, except for elements with the
+ same tag name as the token. */
+ if ($this->elementInScope($token['name'])) {
+ $this->generateImpliedEndTags(array($token['name']));
+
+ /* If the current node is not an element with the same
+ tag name as the token, then this is a parse error. */
+ // w/e
+
+ /* If the stack of open elements has an element in scope
+ whose tag name matches the tag name of the token, then
+ pop elements from this stack until an element with that
+ tag name has been popped from the stack. */
+ for ($n = count($this->stack) - 1; $n >= 0; $n--) {
+ if ($this->stack[$n]->nodeName === $token['name']) {
+ $n = -1;
+ }
+
+ array_pop($this->stack);
+ }
+ }
+ break;
+
+ /* An end tag whose tag name is one of: "h1", "h2", "h3", "h4",
+ "h5", "h6" */
+ case 'h1':
+ case 'h2':
+ case 'h3':
+ case 'h4':
+ case 'h5':
+ case 'h6':
+ $elements = array('h1', 'h2', 'h3', 'h4', 'h5', 'h6');
+
+ /* If the stack of open elements has in scope an element whose
+ tag name is one of "h1", "h2", "h3", "h4", "h5", or "h6", then
+ generate implied end tags. */
+ if ($this->elementInScope($elements)) {
+ $this->generateImpliedEndTags();
+
+ /* Now, if the current node is not an element with the same
+ tag name as that of the token, then this is a parse error. */
+ // w/e
+
+ /* If the stack of open elements has in scope an element
+ whose tag name is one of "h1", "h2", "h3", "h4", "h5", or
+ "h6", then pop elements from the stack until an element
+ with one of those tag names has been popped from the stack. */
+ while ($this->elementInScope($elements)) {
+ array_pop($this->stack);
+ }
+ }
+ break;
+
+ /* An end tag whose tag name is one of: "a", "b", "big", "em",
+ "font", "i", "nobr", "s", "small", "strike", "strong", "tt", "u" */
+ case 'a':
+ case 'b':
+ case 'big':
+ case 'em':
+ case 'font':
+ case 'i':
+ case 'nobr':
+ case 's':
+ case 'small':
+ case 'strike':
+ case 'strong':
+ case 'tt':
+ case 'u':
+ /* 1. Let the formatting element be the last element in
+ the list of active formatting elements that:
+ * is between the end of the list and the last scope
+ marker in the list, if any, or the start of the list
+ otherwise, and
+ * has the same tag name as the token.
+ */
+ while (true) {
+ for ($a = count($this->a_formatting) - 1; $a >= 0; $a--) {
+ if ($this->a_formatting[$a] === self::MARKER) {
+ break;
+
+ } elseif ($this->a_formatting[$a]->tagName === $token['name']) {
+ $formatting_element = $this->a_formatting[$a];
+ $in_stack = in_array($formatting_element, $this->stack, true);
+ $fe_af_pos = $a;
+ break;
+ }
+ }
+
+ /* If there is no such node, or, if that node is
+ also in the stack of open elements but the element
+ is not in scope, then this is a parse error. Abort
+ these steps. The token is ignored. */
+ if (!isset($formatting_element) || ($in_stack &&
+ !$this->elementInScope($token['name']))
+ ) {
+ break;
+
+ /* Otherwise, if there is such a node, but that node
+ is not in the stack of open elements, then this is a
+ parse error; remove the element from the list, and
+ abort these steps. */
+ } elseif (isset($formatting_element) && !$in_stack) {
+ unset($this->a_formatting[$fe_af_pos]);
+ $this->a_formatting = array_merge($this->a_formatting);
+ break;
+ }
+
+ /* 2. Let the furthest block be the topmost node in the
+ stack of open elements that is lower in the stack
+ than the formatting element, and is not an element in
+ the phrasing or formatting categories. There might
+ not be one. */
+ $fe_s_pos = array_search($formatting_element, $this->stack, true);
+ $length = count($this->stack);
+
+ for ($s = $fe_s_pos + 1; $s < $length; $s++) {
+ $category = $this->getElementCategory($this->stack[$s]->nodeName);
+
+ if ($category !== self::PHRASING && $category !== self::FORMATTING) {
+ $furthest_block = $this->stack[$s];
+ }
+ }
+
+ /* 3. If there is no furthest block, then the UA must
+ skip the subsequent steps and instead just pop all
+ the nodes from the bottom of the stack of open
+ elements, from the current node up to the formatting
+ element, and remove the formatting element from the
+ list of active formatting elements. */
+ if (!isset($furthest_block)) {
+ for ($n = $length - 1; $n >= $fe_s_pos; $n--) {
+ array_pop($this->stack);
+ }
+
+ unset($this->a_formatting[$fe_af_pos]);
+ $this->a_formatting = array_merge($this->a_formatting);
+ break;
+ }
+
+ /* 4. Let the common ancestor be the element
+ immediately above the formatting element in the stack
+ of open elements. */
+ $common_ancestor = $this->stack[$fe_s_pos - 1];
+
+ /* 5. If the furthest block has a parent node, then
+ remove the furthest block from its parent node. */
+ if ($furthest_block->parentNode !== null) {
+ $furthest_block->parentNode->removeChild($furthest_block);
+ }
+
+ /* 6. Let a bookmark note the position of the
+ formatting element in the list of active formatting
+ elements relative to the elements on either side
+ of it in the list. */
+ $bookmark = $fe_af_pos;
+
+ /* 7. Let node and last node be the furthest block.
+ Follow these steps: */
+ $node = $furthest_block;
+ $last_node = $furthest_block;
+
+ while (true) {
+ for ($n = array_search($node, $this->stack, true) - 1; $n >= 0; $n--) {
+ /* 7.1 Let node be the element immediately
+ prior to node in the stack of open elements. */
+ $node = $this->stack[$n];
+
+ /* 7.2 If node is not in the list of active
+ formatting elements, then remove node from
+ the stack of open elements and then go back
+ to step 1. */
+ if (!in_array($node, $this->a_formatting, true)) {
+ unset($this->stack[$n]);
+ $this->stack = array_merge($this->stack);
+
+ } else {
+ break;
+ }
+ }
+
+ /* 7.3 Otherwise, if node is the formatting
+ element, then go to the next step in the overall
+ algorithm. */
+ if ($node === $formatting_element) {
+ break;
+
+ /* 7.4 Otherwise, if last node is the furthest
+ block, then move the aforementioned bookmark to
+ be immediately after the node in the list of
+ active formatting elements. */
+ } elseif ($last_node === $furthest_block) {
+ $bookmark = array_search($node, $this->a_formatting, true) + 1;
+ }
+
+ /* 7.5 If node has any children, perform a
+ shallow clone of node, replace the entry for
+ node in the list of active formatting elements
+ with an entry for the clone, replace the entry
+ for node in the stack of open elements with an
+ entry for the clone, and let node be the clone. */
+ if ($node->hasChildNodes()) {
+ $clone = $node->cloneNode();
+ $s_pos = array_search($node, $this->stack, true);
+ $a_pos = array_search($node, $this->a_formatting, true);
+
+ $this->stack[$s_pos] = $clone;
+ $this->a_formatting[$a_pos] = $clone;
+ $node = $clone;
+ }
+
+ /* 7.6 Insert last node into node, first removing
+ it from its previous parent node if any. */
+ if ($last_node->parentNode !== null) {
+ $last_node->parentNode->removeChild($last_node);
+ }
+
+ $node->appendChild($last_node);
+
+ /* 7.7 Let last node be node. */
+ $last_node = $node;
+ }
+
+ /* 8. Insert whatever last node ended up being in
+ the previous step into the common ancestor node,
+ first removing it from its previous parent node if
+ any. */
+ if ($last_node->parentNode !== null) {
+ $last_node->parentNode->removeChild($last_node);
+ }
+
+ $common_ancestor->appendChild($last_node);
+
+ /* 9. Perform a shallow clone of the formatting
+ element. */
+ $clone = $formatting_element->cloneNode();
+
+ /* 10. Take all of the child nodes of the furthest
+ block and append them to the clone created in the
+ last step. */
+ while ($furthest_block->hasChildNodes()) {
+ $child = $furthest_block->firstChild;
+ $furthest_block->removeChild($child);
+ $clone->appendChild($child);
+ }
+
+ /* 11. Append that clone to the furthest block. */
+ $furthest_block->appendChild($clone);
+
+ /* 12. Remove the formatting element from the list
+ of active formatting elements, and insert the clone
+ into the list of active formatting elements at the
+ position of the aforementioned bookmark. */
+ $fe_af_pos = array_search($formatting_element, $this->a_formatting, true);
+ unset($this->a_formatting[$fe_af_pos]);
+ $this->a_formatting = array_merge($this->a_formatting);
+
+ $af_part1 = array_slice($this->a_formatting, 0, $bookmark - 1);
+ $af_part2 = array_slice($this->a_formatting, $bookmark, count($this->a_formatting));
+ $this->a_formatting = array_merge($af_part1, array($clone), $af_part2);
+
+ /* 13. Remove the formatting element from the stack
+ of open elements, and insert the clone into the stack
+ of open elements immediately after (i.e. in a more
+ deeply nested position than) the position of the
+ furthest block in that stack. */
+ $fe_s_pos = array_search($formatting_element, $this->stack, true);
+ $fb_s_pos = array_search($furthest_block, $this->stack, true);
+ unset($this->stack[$fe_s_pos]);
+
+ $s_part1 = array_slice($this->stack, 0, $fb_s_pos);
+ $s_part2 = array_slice($this->stack, $fb_s_pos + 1, count($this->stack));
+ $this->stack = array_merge($s_part1, array($clone), $s_part2);
+
+ /* 14. Jump back to step 1 in this series of steps. */
+ unset($formatting_element, $fe_af_pos, $fe_s_pos, $furthest_block);
+ }
+ break;
+
+ /* An end tag token whose tag name is one of: "button",
+ "marquee", "object" */
+ case 'button':
+ case 'marquee':
+ case 'object':
+ /* If the stack of open elements has an element in scope whose
+ tag name matches the tag name of the token, then generate implied
+ tags. */
+ if ($this->elementInScope($token['name'])) {
+ $this->generateImpliedEndTags();
+
+ /* Now, if the current node is not an element with the same
+ tag name as the token, then this is a parse error. */
+ // k
+
+ /* Now, if the stack of open elements has an element in scope
+ whose tag name matches the tag name of the token, then pop
+ elements from the stack until that element has been popped from
+ the stack, and clear the list of active formatting elements up
+ to the last marker. */
+ for ($n = count($this->stack) - 1; $n >= 0; $n--) {
+ if ($this->stack[$n]->nodeName === $token['name']) {
+ $n = -1;
+ }
+
+ array_pop($this->stack);
+ }
+
+ $marker = end(array_keys($this->a_formatting, self::MARKER, true));
+
+ for ($n = count($this->a_formatting) - 1; $n > $marker; $n--) {
+ array_pop($this->a_formatting);
+ }
+ }
+ break;
+
+ /* Or an end tag whose tag name is one of: "area", "basefont",
+ "bgsound", "br", "embed", "hr", "iframe", "image", "img",
+ "input", "isindex", "noembed", "noframes", "param", "select",
+ "spacer", "table", "textarea", "wbr" */
+ case 'area':
+ case 'basefont':
+ case 'bgsound':
+ case 'br':
+ case 'embed':
+ case 'hr':
+ case 'iframe':
+ case 'image':
+ case 'img':
+ case 'input':
+ case 'isindex':
+ case 'noembed':
+ case 'noframes':
+ case 'param':
+ case 'select':
+ case 'spacer':
+ case 'table':
+ case 'textarea':
+ case 'wbr':
+ // Parse error. Ignore the token.
+ break;
+
+ /* An end tag token not covered by the previous entries */
+ default:
+ for ($n = count($this->stack) - 1; $n >= 0; $n--) {
+ /* Initialise node to be the current node (the bottommost
+ node of the stack). */
+ $node = end($this->stack);
+
+ /* If node has the same tag name as the end tag token,
+ then: */
+ if ($token['name'] === $node->nodeName) {
+ /* Generate implied end tags. */
+ $this->generateImpliedEndTags();
+
+ /* If the tag name of the end tag token does not
+ match the tag name of the current node, this is a
+ parse error. */
+ // k
+
+ /* Pop all the nodes from the current node up to
+ node, including node, then stop this algorithm. */
+ for ($x = count($this->stack) - $n; $x >= $n; $x--) {
+ array_pop($this->stack);
+ }
+
+ } else {
+ $category = $this->getElementCategory($node);
+
+ if ($category !== self::SPECIAL && $category !== self::SCOPING) {
+ /* Otherwise, if node is in neither the formatting
+ category nor the phrasing category, then this is a
+ parse error. Stop this algorithm. The end tag token
+ is ignored. */
+ return false;
+ }
+ }
+ }
+ break;
+ }
+ break;
+ }
+ }
+
+ private function inTable($token)
+ {
+ $clear = array('html', 'table');
+
+ /* A character token that is one of one of U+0009 CHARACTER TABULATION,
+ U+000A LINE FEED (LF), U+000B LINE TABULATION, U+000C FORM FEED (FF),
+ or U+0020 SPACE */
+ if ($token['type'] === HTML5::CHARACTR &&
+ preg_match('/^[\t\n\x0b\x0c ]+$/', $token['data'])
+ ) {
+ /* Append the character to the current node. */
+ $text = $this->dom->createTextNode($token['data']);
+ end($this->stack)->appendChild($text);
+
+ /* A comment token */
+ } elseif ($token['type'] === HTML5::COMMENT) {
+ /* Append a Comment node to the current node with the data
+ attribute set to the data given in the comment token. */
+ $comment = $this->dom->createComment($token['data']);
+ end($this->stack)->appendChild($comment);
+
+ /* A start tag whose tag name is "caption" */
+ } elseif ($token['type'] === HTML5::STARTTAG &&
+ $token['name'] === 'caption'
+ ) {
+ /* Clear the stack back to a table context. */
+ $this->clearStackToTableContext($clear);
+
+ /* Insert a marker at the end of the list of active
+ formatting elements. */
+ $this->a_formatting[] = self::MARKER;
+
+ /* Insert an HTML element for the token, then switch the
+ insertion mode to "in caption". */
+ $this->insertElement($token);
+ $this->mode = self::IN_CAPTION;
+
+ /* A start tag whose tag name is "colgroup" */
+ } elseif ($token['type'] === HTML5::STARTTAG &&
+ $token['name'] === 'colgroup'
+ ) {
+ /* Clear the stack back to a table context. */
+ $this->clearStackToTableContext($clear);
+
+ /* Insert an HTML element for the token, then switch the
+ insertion mode to "in column group". */
+ $this->insertElement($token);
+ $this->mode = self::IN_CGROUP;
+
+ /* A start tag whose tag name is "col" */
+ } elseif ($token['type'] === HTML5::STARTTAG &&
+ $token['name'] === 'col'
+ ) {
+ $this->inTable(
+ array(
+ 'name' => 'colgroup',
+ 'type' => HTML5::STARTTAG,
+ 'attr' => array()
+ )
+ );
+
+ $this->inColumnGroup($token);
+
+ /* A start tag whose tag name is one of: "tbody", "tfoot", "thead" */
+ } elseif ($token['type'] === HTML5::STARTTAG && in_array(
+ $token['name'],
+ array('tbody', 'tfoot', 'thead')
+ )
+ ) {
+ /* Clear the stack back to a table context. */
+ $this->clearStackToTableContext($clear);
+
+ /* Insert an HTML element for the token, then switch the insertion
+ mode to "in table body". */
+ $this->insertElement($token);
+ $this->mode = self::IN_TBODY;
+
+ /* A start tag whose tag name is one of: "td", "th", "tr" */
+ } elseif ($token['type'] === HTML5::STARTTAG &&
+ in_array($token['name'], array('td', 'th', 'tr'))
+ ) {
+ /* Act as if a start tag token with the tag name "tbody" had been
+ seen, then reprocess the current token. */
+ $this->inTable(
+ array(
+ 'name' => 'tbody',
+ 'type' => HTML5::STARTTAG,
+ 'attr' => array()
+ )
+ );
+
+ return $this->inTableBody($token);
+
+ /* A start tag whose tag name is "table" */
+ } elseif ($token['type'] === HTML5::STARTTAG &&
+ $token['name'] === 'table'
+ ) {
+ /* Parse error. Act as if an end tag token with the tag name "table"
+ had been seen, then, if that token wasn't ignored, reprocess the
+ current token. */
+ $this->inTable(
+ array(
+ 'name' => 'table',
+ 'type' => HTML5::ENDTAG
+ )
+ );
+
+ return $this->mainPhase($token);
+
+ /* An end tag whose tag name is "table" */
+ } elseif ($token['type'] === HTML5::ENDTAG &&
+ $token['name'] === 'table'
+ ) {
+ /* If the stack of open elements does not have an element in table
+ scope with the same tag name as the token, this is a parse error.
+ Ignore the token. (innerHTML case) */
+ if (!$this->elementInScope($token['name'], true)) {
+ return false;
+
+ /* Otherwise: */
+ } else {
+ /* Generate implied end tags. */
+ $this->generateImpliedEndTags();
+
+ /* Now, if the current node is not a table element, then this
+ is a parse error. */
+ // w/e
+
+ /* Pop elements from this stack until a table element has been
+ popped from the stack. */
+ while (true) {
+ $current = end($this->stack)->nodeName;
+ array_pop($this->stack);
+
+ if ($current === 'table') {
+ break;
+ }
+ }
+
+ /* Reset the insertion mode appropriately. */
+ $this->resetInsertionMode();
+ }
+
+ /* An end tag whose tag name is one of: "body", "caption", "col",
+ "colgroup", "html", "tbody", "td", "tfoot", "th", "thead", "tr" */
+ } elseif ($token['type'] === HTML5::ENDTAG && in_array(
+ $token['name'],
+ array(
+ 'body',
+ 'caption',
+ 'col',
+ 'colgroup',
+ 'html',
+ 'tbody',
+ 'td',
+ 'tfoot',
+ 'th',
+ 'thead',
+ 'tr'
+ )
+ )
+ ) {
+ // Parse error. Ignore the token.
+
+ /* Anything else */
+ } else {
+ /* Parse error. Process the token as if the insertion mode was "in
+ body", with the following exception: */
+
+ /* If the current node is a table, tbody, tfoot, thead, or tr
+ element, then, whenever a node would be inserted into the current
+ node, it must instead be inserted into the foster parent element. */
+ if (in_array(
+ end($this->stack)->nodeName,
+ array('table', 'tbody', 'tfoot', 'thead', 'tr')
+ )
+ ) {
+ /* The foster parent element is the parent element of the last
+ table element in the stack of open elements, if there is a
+ table element and it has such a parent element. If there is no
+ table element in the stack of open elements (innerHTML case),
+ then the foster parent element is the first element in the
+ stack of open elements (the html element). Otherwise, if there
+ is a table element in the stack of open elements, but the last
+ table element in the stack of open elements has no parent, or
+ its parent node is not an element, then the foster parent
+ element is the element before the last table element in the
+ stack of open elements. */
+ for ($n = count($this->stack) - 1; $n >= 0; $n--) {
+ if ($this->stack[$n]->nodeName === 'table') {
+ $table = $this->stack[$n];
+ break;
+ }
+ }
+
+ if (isset($table) && $table->parentNode !== null) {
+ $this->foster_parent = $table->parentNode;
+
+ } elseif (!isset($table)) {
+ $this->foster_parent = $this->stack[0];
+
+ } elseif (isset($table) && ($table->parentNode === null ||
+ $table->parentNode->nodeType !== XML_ELEMENT_NODE)
+ ) {
+ $this->foster_parent = $this->stack[$n - 1];
+ }
+ }
+
+ $this->inBody($token);
+ }
+ }
+
+ private function inCaption($token)
+ {
+ /* An end tag whose tag name is "caption" */
+ if ($token['type'] === HTML5::ENDTAG && $token['name'] === 'caption') {
+ /* If the stack of open elements does not have an element in table
+ scope with the same tag name as the token, this is a parse error.
+ Ignore the token. (innerHTML case) */
+ if (!$this->elementInScope($token['name'], true)) {
+ // Ignore
+
+ /* Otherwise: */
+ } else {
+ /* Generate implied end tags. */
+ $this->generateImpliedEndTags();
+
+ /* Now, if the current node is not a caption element, then this
+ is a parse error. */
+ // w/e
+
+ /* Pop elements from this stack until a caption element has
+ been popped from the stack. */
+ while (true) {
+ $node = end($this->stack)->nodeName;
+ array_pop($this->stack);
+
+ if ($node === 'caption') {
+ break;
+ }
+ }
+
+ /* Clear the list of active formatting elements up to the last
+ marker. */
+ $this->clearTheActiveFormattingElementsUpToTheLastMarker();
+
+ /* Switch the insertion mode to "in table". */
+ $this->mode = self::IN_TABLE;
+ }
+
+ /* A start tag whose tag name is one of: "caption", "col", "colgroup",
+ "tbody", "td", "tfoot", "th", "thead", "tr", or an end tag whose tag
+ name is "table" */
+ } elseif (($token['type'] === HTML5::STARTTAG && in_array(
+ $token['name'],
+ array(
+ 'caption',
+ 'col',
+ 'colgroup',
+ 'tbody',
+ 'td',
+ 'tfoot',
+ 'th',
+ 'thead',
+ 'tr'
+ )
+ )) || ($token['type'] === HTML5::ENDTAG &&
+ $token['name'] === 'table')
+ ) {
+ /* Parse error. Act as if an end tag with the tag name "caption"
+ had been seen, then, if that token wasn't ignored, reprocess the
+ current token. */
+ $this->inCaption(
+ array(
+ 'name' => 'caption',
+ 'type' => HTML5::ENDTAG
+ )
+ );
+
+ return $this->inTable($token);
+
+ /* An end tag whose tag name is one of: "body", "col", "colgroup",
+ "html", "tbody", "td", "tfoot", "th", "thead", "tr" */
+ } elseif ($token['type'] === HTML5::ENDTAG && in_array(
+ $token['name'],
+ array(
+ 'body',
+ 'col',
+ 'colgroup',
+ 'html',
+ 'tbody',
+ 'tfoot',
+ 'th',
+ 'thead',
+ 'tr'
+ )
+ )
+ ) {
+ // Parse error. Ignore the token.
+
+ /* Anything else */
+ } else {
+ /* Process the token as if the insertion mode was "in body". */
+ $this->inBody($token);
+ }
+ }
+
+ private function inColumnGroup($token)
+ {
+ /* A character token that is one of one of U+0009 CHARACTER TABULATION,
+ U+000A LINE FEED (LF), U+000B LINE TABULATION, U+000C FORM FEED (FF),
+ or U+0020 SPACE */
+ if ($token['type'] === HTML5::CHARACTR &&
+ preg_match('/^[\t\n\x0b\x0c ]+$/', $token['data'])
+ ) {
+ /* Append the character to the current node. */
+ $text = $this->dom->createTextNode($token['data']);
+ end($this->stack)->appendChild($text);
+
+ /* A comment token */
+ } elseif ($token['type'] === HTML5::COMMENT) {
+ /* Append a Comment node to the current node with the data
+ attribute set to the data given in the comment token. */
+ $comment = $this->dom->createComment($token['data']);
+ end($this->stack)->appendChild($comment);
+
+ /* A start tag whose tag name is "col" */
+ } elseif ($token['type'] === HTML5::STARTTAG && $token['name'] === 'col') {
+ /* Insert a col element for the token. Immediately pop the current
+ node off the stack of open elements. */
+ $this->insertElement($token);
+ array_pop($this->stack);
+
+ /* An end tag whose tag name is "colgroup" */
+ } elseif ($token['type'] === HTML5::ENDTAG &&
+ $token['name'] === 'colgroup'
+ ) {
+ /* If the current node is the root html element, then this is a
+ parse error, ignore the token. (innerHTML case) */
+ if (end($this->stack)->nodeName === 'html') {
+ // Ignore
+
+ /* Otherwise, pop the current node (which will be a colgroup
+ element) from the stack of open elements. Switch the insertion
+ mode to "in table". */
+ } else {
+ array_pop($this->stack);
+ $this->mode = self::IN_TABLE;
+ }
+
+ /* An end tag whose tag name is "col" */
+ } elseif ($token['type'] === HTML5::ENDTAG && $token['name'] === 'col') {
+ /* Parse error. Ignore the token. */
+
+ /* Anything else */
+ } else {
+ /* Act as if an end tag with the tag name "colgroup" had been seen,
+ and then, if that token wasn't ignored, reprocess the current token. */
+ $this->inColumnGroup(
+ array(
+ 'name' => 'colgroup',
+ 'type' => HTML5::ENDTAG
+ )
+ );
+
+ return $this->inTable($token);
+ }
+ }
+
+ private function inTableBody($token)
+ {
+ $clear = array('tbody', 'tfoot', 'thead', 'html');
+
+ /* A start tag whose tag name is "tr" */
+ if ($token['type'] === HTML5::STARTTAG && $token['name'] === 'tr') {
+ /* Clear the stack back to a table body context. */
+ $this->clearStackToTableContext($clear);
+
+ /* Insert a tr element for the token, then switch the insertion
+ mode to "in row". */
+ $this->insertElement($token);
+ $this->mode = self::IN_ROW;
+
+ /* A start tag whose tag name is one of: "th", "td" */
+ } elseif ($token['type'] === HTML5::STARTTAG &&
+ ($token['name'] === 'th' || $token['name'] === 'td')
+ ) {
+ /* Parse error. Act as if a start tag with the tag name "tr" had
+ been seen, then reprocess the current token. */
+ $this->inTableBody(
+ array(
+ 'name' => 'tr',
+ 'type' => HTML5::STARTTAG,
+ 'attr' => array()
+ )
+ );
+
+ return $this->inRow($token);
+
+ /* An end tag whose tag name is one of: "tbody", "tfoot", "thead" */
+ } elseif ($token['type'] === HTML5::ENDTAG &&
+ in_array($token['name'], array('tbody', 'tfoot', 'thead'))
+ ) {
+ /* If the stack of open elements does not have an element in table
+ scope with the same tag name as the token, this is a parse error.
+ Ignore the token. */
+ if (!$this->elementInScope($token['name'], true)) {
+ // Ignore
+
+ /* Otherwise: */
+ } else {
+ /* Clear the stack back to a table body context. */
+ $this->clearStackToTableContext($clear);
+
+ /* Pop the current node from the stack of open elements. Switch
+ the insertion mode to "in table". */
+ array_pop($this->stack);
+ $this->mode = self::IN_TABLE;
+ }
+
+ /* A start tag whose tag name is one of: "caption", "col", "colgroup",
+ "tbody", "tfoot", "thead", or an end tag whose tag name is "table" */
+ } elseif (($token['type'] === HTML5::STARTTAG && in_array(
+ $token['name'],
+ array('caption', 'col', 'colgroup', 'tbody', 'tfoor', 'thead')
+ )) ||
+ ($token['type'] === HTML5::STARTTAG && $token['name'] === 'table')
+ ) {
+ /* If the stack of open elements does not have a tbody, thead, or
+ tfoot element in table scope, this is a parse error. Ignore the
+ token. (innerHTML case) */
+ if (!$this->elementInScope(array('tbody', 'thead', 'tfoot'), true)) {
+ // Ignore.
+
+ /* Otherwise: */
+ } else {
+ /* Clear the stack back to a table body context. */
+ $this->clearStackToTableContext($clear);
+
+ /* Act as if an end tag with the same tag name as the current
+ node ("tbody", "tfoot", or "thead") had been seen, then
+ reprocess the current token. */
+ $this->inTableBody(
+ array(
+ 'name' => end($this->stack)->nodeName,
+ 'type' => HTML5::ENDTAG
+ )
+ );
+
+ return $this->mainPhase($token);
+ }
+
+ /* An end tag whose tag name is one of: "body", "caption", "col",
+ "colgroup", "html", "td", "th", "tr" */
+ } elseif ($token['type'] === HTML5::ENDTAG && in_array(
+ $token['name'],
+ array('body', 'caption', 'col', 'colgroup', 'html', 'td', 'th', 'tr')
+ )
+ ) {
+ /* Parse error. Ignore the token. */
+
+ /* Anything else */
+ } else {
+ /* Process the token as if the insertion mode was "in table". */
+ $this->inTable($token);
+ }
+ }
+
+ private function inRow($token)
+ {
+ $clear = array('tr', 'html');
+
+ /* A start tag whose tag name is one of: "th", "td" */
+ if ($token['type'] === HTML5::STARTTAG &&
+ ($token['name'] === 'th' || $token['name'] === 'td')
+ ) {
+ /* Clear the stack back to a table row context. */
+ $this->clearStackToTableContext($clear);
+
+ /* Insert an HTML element for the token, then switch the insertion
+ mode to "in cell". */
+ $this->insertElement($token);
+ $this->mode = self::IN_CELL;
+
+ /* Insert a marker at the end of the list of active formatting
+ elements. */
+ $this->a_formatting[] = self::MARKER;
+
+ /* An end tag whose tag name is "tr" */
+ } elseif ($token['type'] === HTML5::ENDTAG && $token['name'] === 'tr') {
+ /* If the stack of open elements does not have an element in table
+ scope with the same tag name as the token, this is a parse error.
+ Ignore the token. (innerHTML case) */
+ if (!$this->elementInScope($token['name'], true)) {
+ // Ignore.
+
+ /* Otherwise: */
+ } else {
+ /* Clear the stack back to a table row context. */
+ $this->clearStackToTableContext($clear);
+
+ /* Pop the current node (which will be a tr element) from the
+ stack of open elements. Switch the insertion mode to "in table
+ body". */
+ array_pop($this->stack);
+ $this->mode = self::IN_TBODY;
+ }
+
+ /* A start tag whose tag name is one of: "caption", "col", "colgroup",
+ "tbody", "tfoot", "thead", "tr" or an end tag whose tag name is "table" */
+ } elseif ($token['type'] === HTML5::STARTTAG && in_array(
+ $token['name'],
+ array('caption', 'col', 'colgroup', 'tbody', 'tfoot', 'thead', 'tr')
+ )
+ ) {
+ /* Act as if an end tag with the tag name "tr" had been seen, then,
+ if that token wasn't ignored, reprocess the current token. */
+ $this->inRow(
+ array(
+ 'name' => 'tr',
+ 'type' => HTML5::ENDTAG
+ )
+ );
+
+ return $this->inCell($token);
+
+ /* An end tag whose tag name is one of: "tbody", "tfoot", "thead" */
+ } elseif ($token['type'] === HTML5::ENDTAG &&
+ in_array($token['name'], array('tbody', 'tfoot', 'thead'))
+ ) {
+ /* If the stack of open elements does not have an element in table
+ scope with the same tag name as the token, this is a parse error.
+ Ignore the token. */
+ if (!$this->elementInScope($token['name'], true)) {
+ // Ignore.
+
+ /* Otherwise: */
+ } else {
+ /* Otherwise, act as if an end tag with the tag name "tr" had
+ been seen, then reprocess the current token. */
+ $this->inRow(
+ array(
+ 'name' => 'tr',
+ 'type' => HTML5::ENDTAG
+ )
+ );
+
+ return $this->inCell($token);
+ }
+
+ /* An end tag whose tag name is one of: "body", "caption", "col",
+ "colgroup", "html", "td", "th" */
+ } elseif ($token['type'] === HTML5::ENDTAG && in_array(
+ $token['name'],
+ array('body', 'caption', 'col', 'colgroup', 'html', 'td', 'th', 'tr')
+ )
+ ) {
+ /* Parse error. Ignore the token. */
+
+ /* Anything else */
+ } else {
+ /* Process the token as if the insertion mode was "in table". */
+ $this->inTable($token);
+ }
+ }
+
+ private function inCell($token)
+ {
+ /* An end tag whose tag name is one of: "td", "th" */
+ if ($token['type'] === HTML5::ENDTAG &&
+ ($token['name'] === 'td' || $token['name'] === 'th')
+ ) {
+ /* If the stack of open elements does not have an element in table
+ scope with the same tag name as that of the token, then this is a
+ parse error and the token must be ignored. */
+ if (!$this->elementInScope($token['name'], true)) {
+ // Ignore.
+
+ /* Otherwise: */
+ } else {
+ /* Generate implied end tags, except for elements with the same
+ tag name as the token. */
+ $this->generateImpliedEndTags(array($token['name']));
+
+ /* Now, if the current node is not an element with the same tag
+ name as the token, then this is a parse error. */
+ // k
+
+ /* Pop elements from this stack until an element with the same
+ tag name as the token has been popped from the stack. */
+ while (true) {
+ $node = end($this->stack)->nodeName;
+ array_pop($this->stack);
+
+ if ($node === $token['name']) {
+ break;
+ }
+ }
+
+ /* Clear the list of active formatting elements up to the last
+ marker. */
+ $this->clearTheActiveFormattingElementsUpToTheLastMarker();
+
+ /* Switch the insertion mode to "in row". (The current node
+ will be a tr element at this point.) */
+ $this->mode = self::IN_ROW;
+ }
+
+ /* A start tag whose tag name is one of: "caption", "col", "colgroup",
+ "tbody", "td", "tfoot", "th", "thead", "tr" */
+ } elseif ($token['type'] === HTML5::STARTTAG && in_array(
+ $token['name'],
+ array(
+ 'caption',
+ 'col',
+ 'colgroup',
+ 'tbody',
+ 'td',
+ 'tfoot',
+ 'th',
+ 'thead',
+ 'tr'
+ )
+ )
+ ) {
+ /* If the stack of open elements does not have a td or th element
+ in table scope, then this is a parse error; ignore the token.
+ (innerHTML case) */
+ if (!$this->elementInScope(array('td', 'th'), true)) {
+ // Ignore.
+
+ /* Otherwise, close the cell (see below) and reprocess the current
+ token. */
+ } else {
+ $this->closeCell();
+ return $this->inRow($token);
+ }
+
+ /* A start tag whose tag name is one of: "caption", "col", "colgroup",
+ "tbody", "td", "tfoot", "th", "thead", "tr" */
+ } elseif ($token['type'] === HTML5::STARTTAG && in_array(
+ $token['name'],
+ array(
+ 'caption',
+ 'col',
+ 'colgroup',
+ 'tbody',
+ 'td',
+ 'tfoot',
+ 'th',
+ 'thead',
+ 'tr'
+ )
+ )
+ ) {
+ /* If the stack of open elements does not have a td or th element
+ in table scope, then this is a parse error; ignore the token.
+ (innerHTML case) */
+ if (!$this->elementInScope(array('td', 'th'), true)) {
+ // Ignore.
+
+ /* Otherwise, close the cell (see below) and reprocess the current
+ token. */
+ } else {
+ $this->closeCell();
+ return $this->inRow($token);
+ }
+
+ /* An end tag whose tag name is one of: "body", "caption", "col",
+ "colgroup", "html" */
+ } elseif ($token['type'] === HTML5::ENDTAG && in_array(
+ $token['name'],
+ array('body', 'caption', 'col', 'colgroup', 'html')
+ )
+ ) {
+ /* Parse error. Ignore the token. */
+
+ /* An end tag whose tag name is one of: "table", "tbody", "tfoot",
+ "thead", "tr" */
+ } elseif ($token['type'] === HTML5::ENDTAG && in_array(
+ $token['name'],
+ array('table', 'tbody', 'tfoot', 'thead', 'tr')
+ )
+ ) {
+ /* If the stack of open elements does not have an element in table
+ scope with the same tag name as that of the token (which can only
+ happen for "tbody", "tfoot" and "thead", or, in the innerHTML case),
+ then this is a parse error and the token must be ignored. */
+ if (!$this->elementInScope($token['name'], true)) {
+ // Ignore.
+
+ /* Otherwise, close the cell (see below) and reprocess the current
+ token. */
+ } else {
+ $this->closeCell();
+ return $this->inRow($token);
+ }
+
+ /* Anything else */
+ } else {
+ /* Process the token as if the insertion mode was "in body". */
+ $this->inBody($token);
+ }
+ }
+
+ private function inSelect($token)
+ {
+ /* Handle the token as follows: */
+
+ /* A character token */
+ if ($token['type'] === HTML5::CHARACTR) {
+ /* Append the token's character to the current node. */
+ $this->insertText($token['data']);
+
+ /* A comment token */
+ } elseif ($token['type'] === HTML5::COMMENT) {
+ /* Append a Comment node to the current node with the data
+ attribute set to the data given in the comment token. */
+ $this->insertComment($token['data']);
+
+ /* A start tag token whose tag name is "option" */
+ } elseif ($token['type'] === HTML5::STARTTAG &&
+ $token['name'] === 'option'
+ ) {
+ /* If the current node is an option element, act as if an end tag
+ with the tag name "option" had been seen. */
+ if (end($this->stack)->nodeName === 'option') {
+ $this->inSelect(
+ array(
+ 'name' => 'option',
+ 'type' => HTML5::ENDTAG
+ )
+ );
+ }
+
+ /* Insert an HTML element for the token. */
+ $this->insertElement($token);
+
+ /* A start tag token whose tag name is "optgroup" */
+ } elseif ($token['type'] === HTML5::STARTTAG &&
+ $token['name'] === 'optgroup'
+ ) {
+ /* If the current node is an option element, act as if an end tag
+ with the tag name "option" had been seen. */
+ if (end($this->stack)->nodeName === 'option') {
+ $this->inSelect(
+ array(
+ 'name' => 'option',
+ 'type' => HTML5::ENDTAG
+ )
+ );
+ }
+
+ /* If the current node is an optgroup element, act as if an end tag
+ with the tag name "optgroup" had been seen. */
+ if (end($this->stack)->nodeName === 'optgroup') {
+ $this->inSelect(
+ array(
+ 'name' => 'optgroup',
+ 'type' => HTML5::ENDTAG
+ )
+ );
+ }
+
+ /* Insert an HTML element for the token. */
+ $this->insertElement($token);
+
+ /* An end tag token whose tag name is "optgroup" */
+ } elseif ($token['type'] === HTML5::ENDTAG &&
+ $token['name'] === 'optgroup'
+ ) {
+ /* First, if the current node is an option element, and the node
+ immediately before it in the stack of open elements is an optgroup
+ element, then act as if an end tag with the tag name "option" had
+ been seen. */
+ $elements_in_stack = count($this->stack);
+
+ if ($this->stack[$elements_in_stack - 1]->nodeName === 'option' &&
+ $this->stack[$elements_in_stack - 2]->nodeName === 'optgroup'
+ ) {
+ $this->inSelect(
+ array(
+ 'name' => 'option',
+ 'type' => HTML5::ENDTAG
+ )
+ );
+ }
+
+ /* If the current node is an optgroup element, then pop that node
+ from the stack of open elements. Otherwise, this is a parse error,
+ ignore the token. */
+ if ($this->stack[$elements_in_stack - 1] === 'optgroup') {
+ array_pop($this->stack);
+ }
+
+ /* An end tag token whose tag name is "option" */
+ } elseif ($token['type'] === HTML5::ENDTAG &&
+ $token['name'] === 'option'
+ ) {
+ /* If the current node is an option element, then pop that node
+ from the stack of open elements. Otherwise, this is a parse error,
+ ignore the token. */
+ if (end($this->stack)->nodeName === 'option') {
+ array_pop($this->stack);
+ }
+
+ /* An end tag whose tag name is "select" */
+ } elseif ($token['type'] === HTML5::ENDTAG &&
+ $token['name'] === 'select'
+ ) {
+ /* If the stack of open elements does not have an element in table
+ scope with the same tag name as the token, this is a parse error.
+ Ignore the token. (innerHTML case) */
+ if (!$this->elementInScope($token['name'], true)) {
+ // w/e
+
+ /* Otherwise: */
+ } else {
+ /* Pop elements from the stack of open elements until a select
+ element has been popped from the stack. */
+ while (true) {
+ $current = end($this->stack)->nodeName;
+ array_pop($this->stack);
+
+ if ($current === 'select') {
+ break;
+ }
+ }
+
+ /* Reset the insertion mode appropriately. */
+ $this->resetInsertionMode();
+ }
+
+ /* A start tag whose tag name is "select" */
+ } elseif ($token['name'] === 'select' &&
+ $token['type'] === HTML5::STARTTAG
+ ) {
+ /* Parse error. Act as if the token had been an end tag with the
+ tag name "select" instead. */
+ $this->inSelect(
+ array(
+ 'name' => 'select',
+ 'type' => HTML5::ENDTAG
+ )
+ );
+
+ /* An end tag whose tag name is one of: "caption", "table", "tbody",
+ "tfoot", "thead", "tr", "td", "th" */
+ } elseif (in_array(
+ $token['name'],
+ array(
+ 'caption',
+ 'table',
+ 'tbody',
+ 'tfoot',
+ 'thead',
+ 'tr',
+ 'td',
+ 'th'
+ )
+ ) && $token['type'] === HTML5::ENDTAG
+ ) {
+ /* Parse error. */
+ // w/e
+
+ /* If the stack of open elements has an element in table scope with
+ the same tag name as that of the token, then act as if an end tag
+ with the tag name "select" had been seen, and reprocess the token.
+ Otherwise, ignore the token. */
+ if ($this->elementInScope($token['name'], true)) {
+ $this->inSelect(
+ array(
+ 'name' => 'select',
+ 'type' => HTML5::ENDTAG
+ )
+ );
+
+ $this->mainPhase($token);
+ }
+
+ /* Anything else */
+ } else {
+ /* Parse error. Ignore the token. */
+ }
+ }
+
+ private function afterBody($token)
+ {
+ /* Handle the token as follows: */
+
+ /* A character token that is one of one of U+0009 CHARACTER TABULATION,
+ U+000A LINE FEED (LF), U+000B LINE TABULATION, U+000C FORM FEED (FF),
+ or U+0020 SPACE */
+ if ($token['type'] === HTML5::CHARACTR &&
+ preg_match('/^[\t\n\x0b\x0c ]+$/', $token['data'])
+ ) {
+ /* Process the token as it would be processed if the insertion mode
+ was "in body". */
+ $this->inBody($token);
+
+ /* A comment token */
+ } elseif ($token['type'] === HTML5::COMMENT) {
+ /* Append a Comment node to the first element in the stack of open
+ elements (the html element), with the data attribute set to the
+ data given in the comment token. */
+ $comment = $this->dom->createComment($token['data']);
+ $this->stack[0]->appendChild($comment);
+
+ /* An end tag with the tag name "html" */
+ } elseif ($token['type'] === HTML5::ENDTAG && $token['name'] === 'html') {
+ /* If the parser was originally created in order to handle the
+ setting of an element's innerHTML attribute, this is a parse error;
+ ignore the token. (The element will be an html element in this
+ case.) (innerHTML case) */
+
+ /* Otherwise, switch to the trailing end phase. */
+ $this->phase = self::END_PHASE;
+
+ /* Anything else */
+ } else {
+ /* Parse error. Set the insertion mode to "in body" and reprocess
+ the token. */
+ $this->mode = self::IN_BODY;
+ return $this->inBody($token);
+ }
+ }
+
+ private function inFrameset($token)
+ {
+ /* Handle the token as follows: */
+
+ /* A character token that is one of one of U+0009 CHARACTER TABULATION,
+ U+000A LINE FEED (LF), U+000B LINE TABULATION, U+000C FORM FEED (FF),
+ U+000D CARRIAGE RETURN (CR), or U+0020 SPACE */
+ if ($token['type'] === HTML5::CHARACTR &&
+ preg_match('/^[\t\n\x0b\x0c ]+$/', $token['data'])
+ ) {
+ /* Append the character to the current node. */
+ $this->insertText($token['data']);
+
+ /* A comment token */
+ } elseif ($token['type'] === HTML5::COMMENT) {
+ /* Append a Comment node to the current node with the data
+ attribute set to the data given in the comment token. */
+ $this->insertComment($token['data']);
+
+ /* A start tag with the tag name "frameset" */
+ } elseif ($token['name'] === 'frameset' &&
+ $token['type'] === HTML5::STARTTAG
+ ) {
+ $this->insertElement($token);
+
+ /* An end tag with the tag name "frameset" */
+ } elseif ($token['name'] === 'frameset' &&
+ $token['type'] === HTML5::ENDTAG
+ ) {
+ /* If the current node is the root html element, then this is a
+ parse error; ignore the token. (innerHTML case) */
+ if (end($this->stack)->nodeName === 'html') {
+ // Ignore
+
+ } else {
+ /* Otherwise, pop the current node from the stack of open
+ elements. */
+ array_pop($this->stack);
+
+ /* If the parser was not originally created in order to handle
+ the setting of an element's innerHTML attribute (innerHTML case),
+ and the current node is no longer a frameset element, then change
+ the insertion mode to "after frameset". */
+ $this->mode = self::AFTR_FRAME;
+ }
+
+ /* A start tag with the tag name "frame" */
+ } elseif ($token['name'] === 'frame' &&
+ $token['type'] === HTML5::STARTTAG
+ ) {
+ /* Insert an HTML element for the token. */
+ $this->insertElement($token);
+
+ /* Immediately pop the current node off the stack of open elements. */
+ array_pop($this->stack);
+
+ /* A start tag with the tag name "noframes" */
+ } elseif ($token['name'] === 'noframes' &&
+ $token['type'] === HTML5::STARTTAG
+ ) {
+ /* Process the token as if the insertion mode had been "in body". */
+ $this->inBody($token);
+
+ /* Anything else */
+ } else {
+ /* Parse error. Ignore the token. */
+ }
+ }
+
+ private function afterFrameset($token)
+ {
+ /* Handle the token as follows: */
+
+ /* A character token that is one of one of U+0009 CHARACTER TABULATION,
+ U+000A LINE FEED (LF), U+000B LINE TABULATION, U+000C FORM FEED (FF),
+ U+000D CARRIAGE RETURN (CR), or U+0020 SPACE */
+ if ($token['type'] === HTML5::CHARACTR &&
+ preg_match('/^[\t\n\x0b\x0c ]+$/', $token['data'])
+ ) {
+ /* Append the character to the current node. */
+ $this->insertText($token['data']);
+
+ /* A comment token */
+ } elseif ($token['type'] === HTML5::COMMENT) {
+ /* Append a Comment node to the current node with the data
+ attribute set to the data given in the comment token. */
+ $this->insertComment($token['data']);
+
+ /* An end tag with the tag name "html" */
+ } elseif ($token['name'] === 'html' &&
+ $token['type'] === HTML5::ENDTAG
+ ) {
+ /* Switch to the trailing end phase. */
+ $this->phase = self::END_PHASE;
+
+ /* A start tag with the tag name "noframes" */
+ } elseif ($token['name'] === 'noframes' &&
+ $token['type'] === HTML5::STARTTAG
+ ) {
+ /* Process the token as if the insertion mode had been "in body". */
+ $this->inBody($token);
+
+ /* Anything else */
+ } else {
+ /* Parse error. Ignore the token. */
+ }
+ }
+
+ private function trailingEndPhase($token)
+ {
+ /* After the main phase, as each token is emitted from the tokenisation
+ stage, it must be processed as described in this section. */
+
+ /* A DOCTYPE token */
+ if ($token['type'] === HTML5::DOCTYPE) {
+ // Parse error. Ignore the token.
+
+ /* A comment token */
+ } elseif ($token['type'] === HTML5::COMMENT) {
+ /* Append a Comment node to the Document object with the data
+ attribute set to the data given in the comment token. */
+ $comment = $this->dom->createComment($token['data']);
+ $this->dom->appendChild($comment);
+
+ /* A character token that is one of one of U+0009 CHARACTER TABULATION,
+ U+000A LINE FEED (LF), U+000B LINE TABULATION, U+000C FORM FEED (FF),
+ or U+0020 SPACE */
+ } elseif ($token['type'] === HTML5::CHARACTR &&
+ preg_match('/^[\t\n\x0b\x0c ]+$/', $token['data'])
+ ) {
+ /* Process the token as it would be processed in the main phase. */
+ $this->mainPhase($token);
+
+ /* A character token that is not one of U+0009 CHARACTER TABULATION,
+ U+000A LINE FEED (LF), U+000B LINE TABULATION, U+000C FORM FEED (FF),
+ or U+0020 SPACE. Or a start tag token. Or an end tag token. */
+ } elseif (($token['type'] === HTML5::CHARACTR &&
+ preg_match('/^[\t\n\x0b\x0c ]+$/', $token['data'])) ||
+ $token['type'] === HTML5::STARTTAG || $token['type'] === HTML5::ENDTAG
+ ) {
+ /* Parse error. Switch back to the main phase and reprocess the
+ token. */
+ $this->phase = self::MAIN_PHASE;
+ return $this->mainPhase($token);
+
+ /* An end-of-file token */
+ } elseif ($token['type'] === HTML5::EOF) {
+ /* OMG DONE!! */
+ }
+ }
+
+ private function insertElement($token, $append = true, $check = false)
+ {
+ // Proprietary workaround for libxml2's limitations with tag names
+ if ($check) {
+ // Slightly modified HTML5 tag-name modification,
+ // removing anything that's not an ASCII letter, digit, or hyphen
+ $token['name'] = preg_replace('/[^a-z0-9-]/i', '', $token['name']);
+ // Remove leading hyphens and numbers
+ $token['name'] = ltrim($token['name'], '-0..9');
+ // In theory, this should ever be needed, but just in case
+ if ($token['name'] === '') {
+ $token['name'] = 'span';
+ } // arbitrary generic choice
+ }
+
+ $el = $this->dom->createElement($token['name']);
+
+ foreach ($token['attr'] as $attr) {
+ if (!$el->hasAttribute($attr['name'])) {
+ $el->setAttribute($attr['name'], $attr['value']);
+ }
+ }
+
+ $this->appendToRealParent($el);
+ $this->stack[] = $el;
+
+ return $el;
+ }
+
+ private function insertText($data)
+ {
+ $text = $this->dom->createTextNode($data);
+ $this->appendToRealParent($text);
+ }
+
+ private function insertComment($data)
+ {
+ $comment = $this->dom->createComment($data);
+ $this->appendToRealParent($comment);
+ }
+
+ private function appendToRealParent($node)
+ {
+ if ($this->foster_parent === null) {
+ end($this->stack)->appendChild($node);
+
+ } elseif ($this->foster_parent !== null) {
+ /* If the foster parent element is the parent element of the
+ last table element in the stack of open elements, then the new
+ node must be inserted immediately before the last table element
+ in the stack of open elements in the foster parent element;
+ otherwise, the new node must be appended to the foster parent
+ element. */
+ for ($n = count($this->stack) - 1; $n >= 0; $n--) {
+ if ($this->stack[$n]->nodeName === 'table' &&
+ $this->stack[$n]->parentNode !== null
+ ) {
+ $table = $this->stack[$n];
+ break;
+ }
+ }
+
+ if (isset($table) && $this->foster_parent->isSameNode($table->parentNode)) {
+ $this->foster_parent->insertBefore($node, $table);
+ } else {
+ $this->foster_parent->appendChild($node);
+ }
+
+ $this->foster_parent = null;
+ }
+ }
+
+ private function elementInScope($el, $table = false)
+ {
+ if (is_array($el)) {
+ foreach ($el as $element) {
+ if ($this->elementInScope($element, $table)) {
+ return true;
+ }
+ }
+
+ return false;
+ }
+
+ $leng = count($this->stack);
+
+ for ($n = 0; $n < $leng; $n++) {
+ /* 1. Initialise node to be the current node (the bottommost node of
+ the stack). */
+ $node = $this->stack[$leng - 1 - $n];
+
+ if ($node->tagName === $el) {
+ /* 2. If node is the target node, terminate in a match state. */
+ return true;
+
+ } elseif ($node->tagName === 'table') {
+ /* 3. Otherwise, if node is a table element, terminate in a failure
+ state. */
+ return false;
+
+ } elseif ($table === true && in_array(
+ $node->tagName,
+ array(
+ 'caption',
+ 'td',
+ 'th',
+ 'button',
+ 'marquee',
+ 'object'
+ )
+ )
+ ) {
+ /* 4. Otherwise, if the algorithm is the "has an element in scope"
+ variant (rather than the "has an element in table scope" variant),
+ and node is one of the following, terminate in a failure state. */
+ return false;
+
+ } elseif ($node === $node->ownerDocument->documentElement) {
+ /* 5. Otherwise, if node is an html element (root element), terminate
+ in a failure state. (This can only happen if the node is the topmost
+ node of the stack of open elements, and prevents the next step from
+ being invoked if there are no more elements in the stack.) */
+ return false;
+ }
+
+ /* Otherwise, set node to the previous entry in the stack of open
+ elements and return to step 2. (This will never fail, since the loop
+ will always terminate in the previous step if the top of the stack
+ is reached.) */
+ }
+ }
+
+ private function reconstructActiveFormattingElements()
+ {
+ /* 1. If there are no entries in the list of active formatting elements,
+ then there is nothing to reconstruct; stop this algorithm. */
+ $formatting_elements = count($this->a_formatting);
+
+ if ($formatting_elements === 0) {
+ return false;
+ }
+
+ /* 3. Let entry be the last (most recently added) element in the list
+ of active formatting elements. */
+ $entry = end($this->a_formatting);
+
+ /* 2. If the last (most recently added) entry in the list of active
+ formatting elements is a marker, or if it is an element that is in the
+ stack of open elements, then there is nothing to reconstruct; stop this
+ algorithm. */
+ if ($entry === self::MARKER || in_array($entry, $this->stack, true)) {
+ return false;
+ }
+
+ for ($a = $formatting_elements - 1; $a >= 0; true) {
+ /* 4. If there are no entries before entry in the list of active
+ formatting elements, then jump to step 8. */
+ if ($a === 0) {
+ $step_seven = false;
+ break;
+ }
+
+ /* 5. Let entry be the entry one earlier than entry in the list of
+ active formatting elements. */
+ $a--;
+ $entry = $this->a_formatting[$a];
+
+ /* 6. If entry is neither a marker nor an element that is also in
+ thetack of open elements, go to step 4. */
+ if ($entry === self::MARKER || in_array($entry, $this->stack, true)) {
+ break;
+ }
+ }
+
+ while (true) {
+ /* 7. Let entry be the element one later than entry in the list of
+ active formatting elements. */
+ if (isset($step_seven) && $step_seven === true) {
+ $a++;
+ $entry = $this->a_formatting[$a];
+ }
+
+ /* 8. Perform a shallow clone of the element entry to obtain clone. */
+ $clone = $entry->cloneNode();
+
+ /* 9. Append clone to the current node and push it onto the stack
+ of open elements so that it is the new current node. */
+ end($this->stack)->appendChild($clone);
+ $this->stack[] = $clone;
+
+ /* 10. Replace the entry for entry in the list with an entry for
+ clone. */
+ $this->a_formatting[$a] = $clone;
+
+ /* 11. If the entry for clone in the list of active formatting
+ elements is not the last entry in the list, return to step 7. */
+ if (end($this->a_formatting) !== $clone) {
+ $step_seven = true;
+ } else {
+ break;
+ }
+ }
+ }
+
+ private function clearTheActiveFormattingElementsUpToTheLastMarker()
+ {
+ /* When the steps below require the UA to clear the list of active
+ formatting elements up to the last marker, the UA must perform the
+ following steps: */
+
+ while (true) {
+ /* 1. Let entry be the last (most recently added) entry in the list
+ of active formatting elements. */
+ $entry = end($this->a_formatting);
+
+ /* 2. Remove entry from the list of active formatting elements. */
+ array_pop($this->a_formatting);
+
+ /* 3. If entry was a marker, then stop the algorithm at this point.
+ The list has been cleared up to the last marker. */
+ if ($entry === self::MARKER) {
+ break;
+ }
+ }
+ }
+
+ private function generateImpliedEndTags($exclude = array())
+ {
+ /* When the steps below require the UA to generate implied end tags,
+ then, if the current node is a dd element, a dt element, an li element,
+ a p element, a td element, a th element, or a tr element, the UA must
+ act as if an end tag with the respective tag name had been seen and
+ then generate implied end tags again. */
+ $node = end($this->stack);
+ $elements = array_diff(array('dd', 'dt', 'li', 'p', 'td', 'th', 'tr'), $exclude);
+
+ while (in_array(end($this->stack)->nodeName, $elements)) {
+ array_pop($this->stack);
+ }
+ }
+
+ private function getElementCategory($node)
+ {
+ $name = $node->tagName;
+ if (in_array($name, $this->special)) {
+ return self::SPECIAL;
+ } elseif (in_array($name, $this->scoping)) {
+ return self::SCOPING;
+ } elseif (in_array($name, $this->formatting)) {
+ return self::FORMATTING;
+ } else {
+ return self::PHRASING;
+ }
+ }
+
+ private function clearStackToTableContext($elements)
+ {
+ /* When the steps above require the UA to clear the stack back to a
+ table context, it means that the UA must, while the current node is not
+ a table element or an html element, pop elements from the stack of open
+ elements. If this causes any elements to be popped from the stack, then
+ this is a parse error. */
+ while (true) {
+ $node = end($this->stack)->nodeName;
+
+ if (in_array($node, $elements)) {
+ break;
+ } else {
+ array_pop($this->stack);
+ }
+ }
+ }
+
+ private function resetInsertionMode()
+ {
+ /* 1. Let last be false. */
+ $last = false;
+ $leng = count($this->stack);
+
+ for ($n = $leng - 1; $n >= 0; $n--) {
+ /* 2. Let node be the last node in the stack of open elements. */
+ $node = $this->stack[$n];
+
+ /* 3. If node is the first node in the stack of open elements, then
+ set last to true. If the element whose innerHTML attribute is being
+ set is neither a td element nor a th element, then set node to the
+ element whose innerHTML attribute is being set. (innerHTML case) */
+ if ($this->stack[0]->isSameNode($node)) {
+ $last = true;
+ }
+
+ /* 4. If node is a select element, then switch the insertion mode to
+ "in select" and abort these steps. (innerHTML case) */
+ if ($node->nodeName === 'select') {
+ $this->mode = self::IN_SELECT;
+ break;
+
+ /* 5. If node is a td or th element, then switch the insertion mode
+ to "in cell" and abort these steps. */
+ } elseif ($node->nodeName === 'td' || $node->nodeName === 'th') {
+ $this->mode = self::IN_CELL;
+ break;
+
+ /* 6. If node is a tr element, then switch the insertion mode to
+ "in row" and abort these steps. */
+ } elseif ($node->nodeName === 'tr') {
+ $this->mode = self::IN_ROW;
+ break;
+
+ /* 7. If node is a tbody, thead, or tfoot element, then switch the
+ insertion mode to "in table body" and abort these steps. */
+ } elseif (in_array($node->nodeName, array('tbody', 'thead', 'tfoot'))) {
+ $this->mode = self::IN_TBODY;
+ break;
+
+ /* 8. If node is a caption element, then switch the insertion mode
+ to "in caption" and abort these steps. */
+ } elseif ($node->nodeName === 'caption') {
+ $this->mode = self::IN_CAPTION;
+ break;
+
+ /* 9. If node is a colgroup element, then switch the insertion mode
+ to "in column group" and abort these steps. (innerHTML case) */
+ } elseif ($node->nodeName === 'colgroup') {
+ $this->mode = self::IN_CGROUP;
+ break;
+
+ /* 10. If node is a table element, then switch the insertion mode
+ to "in table" and abort these steps. */
+ } elseif ($node->nodeName === 'table') {
+ $this->mode = self::IN_TABLE;
+ break;
+
+ /* 11. If node is a head element, then switch the insertion mode
+ to "in body" ("in body"! not "in head"!) and abort these steps.
+ (innerHTML case) */
+ } elseif ($node->nodeName === 'head') {
+ $this->mode = self::IN_BODY;
+ break;
+
+ /* 12. If node is a body element, then switch the insertion mode to
+ "in body" and abort these steps. */
+ } elseif ($node->nodeName === 'body') {
+ $this->mode = self::IN_BODY;
+ break;
+
+ /* 13. If node is a frameset element, then switch the insertion
+ mode to "in frameset" and abort these steps. (innerHTML case) */
+ } elseif ($node->nodeName === 'frameset') {
+ $this->mode = self::IN_FRAME;
+ break;
+
+ /* 14. If node is an html element, then: if the head element
+ pointer is null, switch the insertion mode to "before head",
+ otherwise, switch the insertion mode to "after head". In either
+ case, abort these steps. (innerHTML case) */
+ } elseif ($node->nodeName === 'html') {
+ $this->mode = ($this->head_pointer === null)
+ ? self::BEFOR_HEAD
+ : self::AFTER_HEAD;
+
+ break;
+
+ /* 15. If last is true, then set the insertion mode to "in body"
+ and abort these steps. (innerHTML case) */
+ } elseif ($last) {
+ $this->mode = self::IN_BODY;
+ break;
+ }
+ }
+ }
+
+ private function closeCell()
+ {
+ /* If the stack of open elements has a td or th element in table scope,
+ then act as if an end tag token with that tag name had been seen. */
+ foreach (array('td', 'th') as $cell) {
+ if ($this->elementInScope($cell, true)) {
+ $this->inCell(
+ array(
+ 'name' => $cell,
+ 'type' => HTML5::ENDTAG
+ )
+ );
+
+ break;
+ }
+ }
+ }
+
+ public function save()
+ {
+ return $this->dom;
+ }
+}
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Node.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Node.php
new file mode 100644
index 000000000..3995fec9f
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Node.php
@@ -0,0 +1,49 @@
+<?php
+
+/**
+ * Abstract base node class that all others inherit from.
+ *
+ * Why do we not use the DOM extension? (1) It is not always available,
+ * (2) it has funny constraints on the data it can represent,
+ * whereas we want a maximally flexible representation, and (3) its
+ * interface is a bit cumbersome.
+ */
+abstract class HTMLPurifier_Node
+{
+ /**
+ * Line number of the start token in the source document
+ * @type int
+ */
+ public $line;
+
+ /**
+ * Column number of the start token in the source document. Null if unknown.
+ * @type int
+ */
+ public $col;
+
+ /**
+ * Lookup array of processing that this token is exempt from.
+ * Currently, valid values are "ValidateAttributes".
+ * @type array
+ */
+ public $armor = array();
+
+ /**
+ * When true, this node should be ignored as non-existent.
+ *
+ * Who is responsible for ignoring dead nodes? FixNesting is
+ * responsible for removing them before passing on to child
+ * validators.
+ */
+ public $dead = false;
+
+ /**
+ * Returns a pair of start and end tokens, where the end token
+ * is null if it is not necessary. Does not include children.
+ * @type array
+ */
+ abstract public function toTokenPair();
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Node/Comment.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Node/Comment.php
new file mode 100644
index 000000000..38ba19394
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Node/Comment.php
@@ -0,0 +1,36 @@
+<?php
+
+/**
+ * Concrete comment node class.
+ */
+class HTMLPurifier_Node_Comment extends HTMLPurifier_Node
+{
+ /**
+ * Character data within comment.
+ * @type string
+ */
+ public $data;
+
+ /**
+ * @type bool
+ */
+ public $is_whitespace = true;
+
+ /**
+ * Transparent constructor.
+ *
+ * @param string $data String comment data.
+ * @param int $line
+ * @param int $col
+ */
+ public function __construct($data, $line = null, $col = null)
+ {
+ $this->data = $data;
+ $this->line = $line;
+ $this->col = $col;
+ }
+
+ public function toTokenPair() {
+ return array(new HTMLPurifier_Token_Comment($this->data, $this->line, $this->col), null);
+ }
+}
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Node/Element.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Node/Element.php
new file mode 100644
index 000000000..6cbf56dad
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Node/Element.php
@@ -0,0 +1,59 @@
+<?php
+
+/**
+ * Concrete element node class.
+ */
+class HTMLPurifier_Node_Element extends HTMLPurifier_Node
+{
+ /**
+ * The lower-case name of the tag, like 'a', 'b' or 'blockquote'.
+ *
+ * @note Strictly speaking, XML tags are case sensitive, so we shouldn't
+ * be lower-casing them, but these tokens cater to HTML tags, which are
+ * insensitive.
+ * @type string
+ */
+ public $name;
+
+ /**
+ * Associative array of the node's attributes.
+ * @type array
+ */
+ public $attr = array();
+
+ /**
+ * List of child elements.
+ * @type array
+ */
+ public $children = array();
+
+ /**
+ * Does this use the <a></a> form or the </a> form, i.e.
+ * is it a pair of start/end tokens or an empty token.
+ * @bool
+ */
+ public $empty = false;
+
+ public $endCol = null, $endLine = null, $endArmor = array();
+
+ public function __construct($name, $attr = array(), $line = null, $col = null, $armor = array()) {
+ $this->name = $name;
+ $this->attr = $attr;
+ $this->line = $line;
+ $this->col = $col;
+ $this->armor = $armor;
+ }
+
+ public function toTokenPair() {
+ // XXX inefficiency here, normalization is not necessary
+ if ($this->empty) {
+ return array(new HTMLPurifier_Token_Empty($this->name, $this->attr, $this->line, $this->col, $this->armor), null);
+ } else {
+ $start = new HTMLPurifier_Token_Start($this->name, $this->attr, $this->line, $this->col, $this->armor);
+ $end = new HTMLPurifier_Token_End($this->name, array(), $this->endLine, $this->endCol, $this->endArmor);
+ //$end->start = $start;
+ return array($start, $end);
+ }
+ }
+}
+
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Node/Text.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Node/Text.php
new file mode 100644
index 000000000..aec916647
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Node/Text.php
@@ -0,0 +1,54 @@
+<?php
+
+/**
+ * Concrete text token class.
+ *
+ * Text tokens comprise of regular parsed character data (PCDATA) and raw
+ * character data (from the CDATA sections). Internally, their
+ * data is parsed with all entities expanded. Surprisingly, the text token
+ * does have a "tag name" called #PCDATA, which is how the DTD represents it
+ * in permissible child nodes.
+ */
+class HTMLPurifier_Node_Text extends HTMLPurifier_Node
+{
+
+ /**
+ * PCDATA tag name compatible with DTD, see
+ * HTMLPurifier_ChildDef_Custom for details.
+ * @type string
+ */
+ public $name = '#PCDATA';
+
+ /**
+ * @type string
+ */
+ public $data;
+ /**< Parsed character data of text. */
+
+ /**
+ * @type bool
+ */
+ public $is_whitespace;
+
+ /**< Bool indicating if node is whitespace. */
+
+ /**
+ * Constructor, accepts data and determines if it is whitespace.
+ * @param string $data String parsed character data.
+ * @param int $line
+ * @param int $col
+ */
+ public function __construct($data, $is_whitespace, $line = null, $col = null)
+ {
+ $this->data = $data;
+ $this->is_whitespace = $is_whitespace;
+ $this->line = $line;
+ $this->col = $col;
+ }
+
+ public function toTokenPair() {
+ return array(new HTMLPurifier_Token_Text($this->data, $this->line, $this->col), null);
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/PercentEncoder.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/PercentEncoder.php
new file mode 100644
index 000000000..18c8bbb00
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/PercentEncoder.php
@@ -0,0 +1,111 @@
+<?php
+
+/**
+ * Class that handles operations involving percent-encoding in URIs.
+ *
+ * @warning
+ * Be careful when reusing instances of PercentEncoder. The object
+ * you use for normalize() SHOULD NOT be used for encode(), or
+ * vice-versa.
+ */
+class HTMLPurifier_PercentEncoder
+{
+
+ /**
+ * Reserved characters to preserve when using encode().
+ * @type array
+ */
+ protected $preserve = array();
+
+ /**
+ * String of characters that should be preserved while using encode().
+ * @param bool $preserve
+ */
+ public function __construct($preserve = false)
+ {
+ // unreserved letters, ought to const-ify
+ for ($i = 48; $i <= 57; $i++) { // digits
+ $this->preserve[$i] = true;
+ }
+ for ($i = 65; $i <= 90; $i++) { // upper-case
+ $this->preserve[$i] = true;
+ }
+ for ($i = 97; $i <= 122; $i++) { // lower-case
+ $this->preserve[$i] = true;
+ }
+ $this->preserve[45] = true; // Dash -
+ $this->preserve[46] = true; // Period .
+ $this->preserve[95] = true; // Underscore _
+ $this->preserve[126]= true; // Tilde ~
+
+ // extra letters not to escape
+ if ($preserve !== false) {
+ for ($i = 0, $c = strlen($preserve); $i < $c; $i++) {
+ $this->preserve[ord($preserve[$i])] = true;
+ }
+ }
+ }
+
+ /**
+ * Our replacement for urlencode, it encodes all non-reserved characters,
+ * as well as any extra characters that were instructed to be preserved.
+ * @note
+ * Assumes that the string has already been normalized, making any
+ * and all percent escape sequences valid. Percents will not be
+ * re-escaped, regardless of their status in $preserve
+ * @param string $string String to be encoded
+ * @return string Encoded string.
+ */
+ public function encode($string)
+ {
+ $ret = '';
+ for ($i = 0, $c = strlen($string); $i < $c; $i++) {
+ if ($string[$i] !== '%' && !isset($this->preserve[$int = ord($string[$i])])) {
+ $ret .= '%' . sprintf('%02X', $int);
+ } else {
+ $ret .= $string[$i];
+ }
+ }
+ return $ret;
+ }
+
+ /**
+ * Fix up percent-encoding by decoding unreserved characters and normalizing.
+ * @warning This function is affected by $preserve, even though the
+ * usual desired behavior is for this not to preserve those
+ * characters. Be careful when reusing instances of PercentEncoder!
+ * @param string $string String to normalize
+ * @return string
+ */
+ public function normalize($string)
+ {
+ if ($string == '') {
+ return '';
+ }
+ $parts = explode('%', $string);
+ $ret = array_shift($parts);
+ foreach ($parts as $part) {
+ $length = strlen($part);
+ if ($length < 2) {
+ $ret .= '%25' . $part;
+ continue;
+ }
+ $encoding = substr($part, 0, 2);
+ $text = substr($part, 2);
+ if (!ctype_xdigit($encoding)) {
+ $ret .= '%25' . $part;
+ continue;
+ }
+ $int = hexdec($encoding);
+ if (isset($this->preserve[$int])) {
+ $ret .= chr($int) . $text;
+ continue;
+ }
+ $encoding = strtoupper($encoding);
+ $ret .= '%' . $encoding . $text;
+ }
+ return $ret;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Printer.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Printer.php
new file mode 100644
index 000000000..549e4cea1
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Printer.php
@@ -0,0 +1,218 @@
+<?php
+
+// OUT OF DATE, NEEDS UPDATING!
+// USE XMLWRITER!
+
+class HTMLPurifier_Printer
+{
+
+ /**
+ * For HTML generation convenience funcs.
+ * @type HTMLPurifier_Generator
+ */
+ protected $generator;
+
+ /**
+ * For easy access.
+ * @type HTMLPurifier_Config
+ */
+ protected $config;
+
+ /**
+ * Initialize $generator.
+ */
+ public function __construct()
+ {
+ }
+
+ /**
+ * Give generator necessary configuration if possible
+ * @param HTMLPurifier_Config $config
+ */
+ public function prepareGenerator($config)
+ {
+ $all = $config->getAll();
+ $context = new HTMLPurifier_Context();
+ $this->generator = new HTMLPurifier_Generator($config, $context);
+ }
+
+ /**
+ * Main function that renders object or aspect of that object
+ * @note Parameters vary depending on printer
+ */
+ // function render() {}
+
+ /**
+ * Returns a start tag
+ * @param string $tag Tag name
+ * @param array $attr Attribute array
+ * @return string
+ */
+ protected function start($tag, $attr = array())
+ {
+ return $this->generator->generateFromToken(
+ new HTMLPurifier_Token_Start($tag, $attr ? $attr : array())
+ );
+ }
+
+ /**
+ * Returns an end tag
+ * @param string $tag Tag name
+ * @return string
+ */
+ protected function end($tag)
+ {
+ return $this->generator->generateFromToken(
+ new HTMLPurifier_Token_End($tag)
+ );
+ }
+
+ /**
+ * Prints a complete element with content inside
+ * @param string $tag Tag name
+ * @param string $contents Element contents
+ * @param array $attr Tag attributes
+ * @param bool $escape whether or not to escape contents
+ * @return string
+ */
+ protected function element($tag, $contents, $attr = array(), $escape = true)
+ {
+ return $this->start($tag, $attr) .
+ ($escape ? $this->escape($contents) : $contents) .
+ $this->end($tag);
+ }
+
+ /**
+ * @param string $tag
+ * @param array $attr
+ * @return string
+ */
+ protected function elementEmpty($tag, $attr = array())
+ {
+ return $this->generator->generateFromToken(
+ new HTMLPurifier_Token_Empty($tag, $attr)
+ );
+ }
+
+ /**
+ * @param string $text
+ * @return string
+ */
+ protected function text($text)
+ {
+ return $this->generator->generateFromToken(
+ new HTMLPurifier_Token_Text($text)
+ );
+ }
+
+ /**
+ * Prints a simple key/value row in a table.
+ * @param string $name Key
+ * @param mixed $value Value
+ * @return string
+ */
+ protected function row($name, $value)
+ {
+ if (is_bool($value)) {
+ $value = $value ? 'On' : 'Off';
+ }
+ return
+ $this->start('tr') . "\n" .
+ $this->element('th', $name) . "\n" .
+ $this->element('td', $value) . "\n" .
+ $this->end('tr');
+ }
+
+ /**
+ * Escapes a string for HTML output.
+ * @param string $string String to escape
+ * @return string
+ */
+ protected function escape($string)
+ {
+ $string = HTMLPurifier_Encoder::cleanUTF8($string);
+ $string = htmlspecialchars($string, ENT_COMPAT, 'UTF-8');
+ return $string;
+ }
+
+ /**
+ * Takes a list of strings and turns them into a single list
+ * @param string[] $array List of strings
+ * @param bool $polite Bool whether or not to add an end before the last
+ * @return string
+ */
+ protected function listify($array, $polite = false)
+ {
+ if (empty($array)) {
+ return 'None';
+ }
+ $ret = '';
+ $i = count($array);
+ foreach ($array as $value) {
+ $i--;
+ $ret .= $value;
+ if ($i > 0 && !($polite && $i == 1)) {
+ $ret .= ', ';
+ }
+ if ($polite && $i == 1) {
+ $ret .= 'and ';
+ }
+ }
+ return $ret;
+ }
+
+ /**
+ * Retrieves the class of an object without prefixes, as well as metadata
+ * @param object $obj Object to determine class of
+ * @param string $sec_prefix Further prefix to remove
+ * @return string
+ */
+ protected function getClass($obj, $sec_prefix = '')
+ {
+ static $five = null;
+ if ($five === null) {
+ $five = version_compare(PHP_VERSION, '5', '>=');
+ }
+ $prefix = 'HTMLPurifier_' . $sec_prefix;
+ if (!$five) {
+ $prefix = strtolower($prefix);
+ }
+ $class = str_replace($prefix, '', get_class($obj));
+ $lclass = strtolower($class);
+ $class .= '(';
+ switch ($lclass) {
+ case 'enum':
+ $values = array();
+ foreach ($obj->valid_values as $value => $bool) {
+ $values[] = $value;
+ }
+ $class .= implode(', ', $values);
+ break;
+ case 'css_composite':
+ $values = array();
+ foreach ($obj->defs as $def) {
+ $values[] = $this->getClass($def, $sec_prefix);
+ }
+ $class .= implode(', ', $values);
+ break;
+ case 'css_multiple':
+ $class .= $this->getClass($obj->single, $sec_prefix) . ', ';
+ $class .= $obj->max;
+ break;
+ case 'css_denyelementdecorator':
+ $class .= $this->getClass($obj->def, $sec_prefix) . ', ';
+ $class .= $obj->element;
+ break;
+ case 'css_importantdecorator':
+ $class .= $this->getClass($obj->def, $sec_prefix);
+ if ($obj->allow) {
+ $class .= ', !important';
+ }
+ break;
+ }
+ $class .= ')';
+ return $class;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Printer/CSSDefinition.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Printer/CSSDefinition.php
new file mode 100644
index 000000000..29505fe12
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Printer/CSSDefinition.php
@@ -0,0 +1,44 @@
+<?php
+
+class HTMLPurifier_Printer_CSSDefinition extends HTMLPurifier_Printer
+{
+ /**
+ * @type HTMLPurifier_CSSDefinition
+ */
+ protected $def;
+
+ /**
+ * @param HTMLPurifier_Config $config
+ * @return string
+ */
+ public function render($config)
+ {
+ $this->def = $config->getCSSDefinition();
+ $ret = '';
+
+ $ret .= $this->start('div', array('class' => 'HTMLPurifier_Printer'));
+ $ret .= $this->start('table');
+
+ $ret .= $this->element('caption', 'Properties ($info)');
+
+ $ret .= $this->start('thead');
+ $ret .= $this->start('tr');
+ $ret .= $this->element('th', 'Property', array('class' => 'heavy'));
+ $ret .= $this->element('th', 'Definition', array('class' => 'heavy', 'style' => 'width:auto;'));
+ $ret .= $this->end('tr');
+ $ret .= $this->end('thead');
+
+ ksort($this->def->info);
+ foreach ($this->def->info as $property => $obj) {
+ $name = $this->getClass($obj, 'AttrDef_');
+ $ret .= $this->row($property, $name);
+ }
+
+ $ret .= $this->end('table');
+ $ret .= $this->end('div');
+
+ return $ret;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Printer/ConfigForm.css b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Printer/ConfigForm.css
new file mode 100644
index 000000000..3ff1a88aa
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Printer/ConfigForm.css
@@ -0,0 +1,10 @@
+
+.hp-config {}
+
+.hp-config tbody th {text-align:right; padding-right:0.5em;}
+.hp-config thead, .hp-config .namespace {background:#3C578C; color:#FFF;}
+.hp-config .namespace th {text-align:center;}
+.hp-config .verbose {display:none;}
+.hp-config .controls {text-align:center;}
+
+/* vim: et sw=4 sts=4 */
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Printer/ConfigForm.js b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Printer/ConfigForm.js
new file mode 100644
index 000000000..cba00c9b8
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Printer/ConfigForm.js
@@ -0,0 +1,5 @@
+function toggleWriteability(id_of_patient, checked) {
+ document.getElementById(id_of_patient).disabled = checked;
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Printer/ConfigForm.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Printer/ConfigForm.php
new file mode 100644
index 000000000..65a777904
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Printer/ConfigForm.php
@@ -0,0 +1,451 @@
+<?php
+
+/**
+ * @todo Rewrite to use Interchange objects
+ */
+class HTMLPurifier_Printer_ConfigForm extends HTMLPurifier_Printer
+{
+
+ /**
+ * Printers for specific fields.
+ * @type HTMLPurifier_Printer[]
+ */
+ protected $fields = array();
+
+ /**
+ * Documentation URL, can have fragment tagged on end.
+ * @type string
+ */
+ protected $docURL;
+
+ /**
+ * Name of form element to stuff config in.
+ * @type string
+ */
+ protected $name;
+
+ /**
+ * Whether or not to compress directive names, clipping them off
+ * after a certain amount of letters. False to disable or integer letters
+ * before clipping.
+ * @type bool
+ */
+ protected $compress = false;
+
+ /**
+ * @param string $name Form element name for directives to be stuffed into
+ * @param string $doc_url String documentation URL, will have fragment tagged on
+ * @param bool $compress Integer max length before compressing a directive name, set to false to turn off
+ */
+ public function __construct(
+ $name,
+ $doc_url = null,
+ $compress = false
+ ) {
+ parent::__construct();
+ $this->docURL = $doc_url;
+ $this->name = $name;
+ $this->compress = $compress;
+ // initialize sub-printers
+ $this->fields[0] = new HTMLPurifier_Printer_ConfigForm_default();
+ $this->fields[HTMLPurifier_VarParser::BOOL] = new HTMLPurifier_Printer_ConfigForm_bool();
+ }
+
+ /**
+ * Sets default column and row size for textareas in sub-printers
+ * @param $cols Integer columns of textarea, null to use default
+ * @param $rows Integer rows of textarea, null to use default
+ */
+ public function setTextareaDimensions($cols = null, $rows = null)
+ {
+ if ($cols) {
+ $this->fields['default']->cols = $cols;
+ }
+ if ($rows) {
+ $this->fields['default']->rows = $rows;
+ }
+ }
+
+ /**
+ * Retrieves styling, in case it is not accessible by webserver
+ */
+ public static function getCSS()
+ {
+ return file_get_contents(HTMLPURIFIER_PREFIX . '/HTMLPurifier/Printer/ConfigForm.css');
+ }
+
+ /**
+ * Retrieves JavaScript, in case it is not accessible by webserver
+ */
+ public static function getJavaScript()
+ {
+ return file_get_contents(HTMLPURIFIER_PREFIX . '/HTMLPurifier/Printer/ConfigForm.js');
+ }
+
+ /**
+ * Returns HTML output for a configuration form
+ * @param HTMLPurifier_Config|array $config Configuration object of current form state, or an array
+ * where [0] has an HTML namespace and [1] is being rendered.
+ * @param array|bool $allowed Optional namespace(s) and directives to restrict form to.
+ * @param bool $render_controls
+ * @return string
+ */
+ public function render($config, $allowed = true, $render_controls = true)
+ {
+ if (is_array($config) && isset($config[0])) {
+ $gen_config = $config[0];
+ $config = $config[1];
+ } else {
+ $gen_config = $config;
+ }
+
+ $this->config = $config;
+ $this->genConfig = $gen_config;
+ $this->prepareGenerator($gen_config);
+
+ $allowed = HTMLPurifier_Config::getAllowedDirectivesForForm($allowed, $config->def);
+ $all = array();
+ foreach ($allowed as $key) {
+ list($ns, $directive) = $key;
+ $all[$ns][$directive] = $config->get($ns . '.' . $directive);
+ }
+
+ $ret = '';
+ $ret .= $this->start('table', array('class' => 'hp-config'));
+ $ret .= $this->start('thead');
+ $ret .= $this->start('tr');
+ $ret .= $this->element('th', 'Directive', array('class' => 'hp-directive'));
+ $ret .= $this->element('th', 'Value', array('class' => 'hp-value'));
+ $ret .= $this->end('tr');
+ $ret .= $this->end('thead');
+ foreach ($all as $ns => $directives) {
+ $ret .= $this->renderNamespace($ns, $directives);
+ }
+ if ($render_controls) {
+ $ret .= $this->start('tbody');
+ $ret .= $this->start('tr');
+ $ret .= $this->start('td', array('colspan' => 2, 'class' => 'controls'));
+ $ret .= $this->elementEmpty('input', array('type' => 'submit', 'value' => 'Submit'));
+ $ret .= '[<a href="?">Reset</a>]';
+ $ret .= $this->end('td');
+ $ret .= $this->end('tr');
+ $ret .= $this->end('tbody');
+ }
+ $ret .= $this->end('table');
+ return $ret;
+ }
+
+ /**
+ * Renders a single namespace
+ * @param $ns String namespace name
+ * @param array $directives array of directives to values
+ * @return string
+ */
+ protected function renderNamespace($ns, $directives)
+ {
+ $ret = '';
+ $ret .= $this->start('tbody', array('class' => 'namespace'));
+ $ret .= $this->start('tr');
+ $ret .= $this->element('th', $ns, array('colspan' => 2));
+ $ret .= $this->end('tr');
+ $ret .= $this->end('tbody');
+ $ret .= $this->start('tbody');
+ foreach ($directives as $directive => $value) {
+ $ret .= $this->start('tr');
+ $ret .= $this->start('th');
+ if ($this->docURL) {
+ $url = str_replace('%s', urlencode("$ns.$directive"), $this->docURL);
+ $ret .= $this->start('a', array('href' => $url));
+ }
+ $attr = array('for' => "{$this->name}:$ns.$directive");
+
+ // crop directive name if it's too long
+ if (!$this->compress || (strlen($directive) < $this->compress)) {
+ $directive_disp = $directive;
+ } else {
+ $directive_disp = substr($directive, 0, $this->compress - 2) . '...';
+ $attr['title'] = $directive;
+ }
+
+ $ret .= $this->element(
+ 'label',
+ $directive_disp,
+ // component printers must create an element with this id
+ $attr
+ );
+ if ($this->docURL) {
+ $ret .= $this->end('a');
+ }
+ $ret .= $this->end('th');
+
+ $ret .= $this->start('td');
+ $def = $this->config->def->info["$ns.$directive"];
+ if (is_int($def)) {
+ $allow_null = $def < 0;
+ $type = abs($def);
+ } else {
+ $type = $def->type;
+ $allow_null = isset($def->allow_null);
+ }
+ if (!isset($this->fields[$type])) {
+ $type = 0;
+ } // default
+ $type_obj = $this->fields[$type];
+ if ($allow_null) {
+ $type_obj = new HTMLPurifier_Printer_ConfigForm_NullDecorator($type_obj);
+ }
+ $ret .= $type_obj->render($ns, $directive, $value, $this->name, array($this->genConfig, $this->config));
+ $ret .= $this->end('td');
+ $ret .= $this->end('tr');
+ }
+ $ret .= $this->end('tbody');
+ return $ret;
+ }
+
+}
+
+/**
+ * Printer decorator for directives that accept null
+ */
+class HTMLPurifier_Printer_ConfigForm_NullDecorator extends HTMLPurifier_Printer
+{
+ /**
+ * Printer being decorated
+ * @type HTMLPurifier_Printer
+ */
+ protected $obj;
+
+ /**
+ * @param HTMLPurifier_Printer $obj Printer to decorate
+ */
+ public function __construct($obj)
+ {
+ parent::__construct();
+ $this->obj = $obj;
+ }
+
+ /**
+ * @param string $ns
+ * @param string $directive
+ * @param string $value
+ * @param string $name
+ * @param HTMLPurifier_Config|array $config
+ * @return string
+ */
+ public function render($ns, $directive, $value, $name, $config)
+ {
+ if (is_array($config) && isset($config[0])) {
+ $gen_config = $config[0];
+ $config = $config[1];
+ } else {
+ $gen_config = $config;
+ }
+ $this->prepareGenerator($gen_config);
+
+ $ret = '';
+ $ret .= $this->start('label', array('for' => "$name:Null_$ns.$directive"));
+ $ret .= $this->element('span', "$ns.$directive:", array('class' => 'verbose'));
+ $ret .= $this->text(' Null/Disabled');
+ $ret .= $this->end('label');
+ $attr = array(
+ 'type' => 'checkbox',
+ 'value' => '1',
+ 'class' => 'null-toggle',
+ 'name' => "$name" . "[Null_$ns.$directive]",
+ 'id' => "$name:Null_$ns.$directive",
+ 'onclick' => "toggleWriteability('$name:$ns.$directive',checked)" // INLINE JAVASCRIPT!!!!
+ );
+ if ($this->obj instanceof HTMLPurifier_Printer_ConfigForm_bool) {
+ // modify inline javascript slightly
+ $attr['onclick'] =
+ "toggleWriteability('$name:Yes_$ns.$directive',checked);" .
+ "toggleWriteability('$name:No_$ns.$directive',checked)";
+ }
+ if ($value === null) {
+ $attr['checked'] = 'checked';
+ }
+ $ret .= $this->elementEmpty('input', $attr);
+ $ret .= $this->text(' or ');
+ $ret .= $this->elementEmpty('br');
+ $ret .= $this->obj->render($ns, $directive, $value, $name, array($gen_config, $config));
+ return $ret;
+ }
+}
+
+/**
+ * Swiss-army knife configuration form field printer
+ */
+class HTMLPurifier_Printer_ConfigForm_default extends HTMLPurifier_Printer
+{
+ /**
+ * @type int
+ */
+ public $cols = 18;
+
+ /**
+ * @type int
+ */
+ public $rows = 5;
+
+ /**
+ * @param string $ns
+ * @param string $directive
+ * @param string $value
+ * @param string $name
+ * @param HTMLPurifier_Config|array $config
+ * @return string
+ */
+ public function render($ns, $directive, $value, $name, $config)
+ {
+ if (is_array($config) && isset($config[0])) {
+ $gen_config = $config[0];
+ $config = $config[1];
+ } else {
+ $gen_config = $config;
+ }
+ $this->prepareGenerator($gen_config);
+ // this should probably be split up a little
+ $ret = '';
+ $def = $config->def->info["$ns.$directive"];
+ if (is_int($def)) {
+ $type = abs($def);
+ } else {
+ $type = $def->type;
+ }
+ if (is_array($value)) {
+ switch ($type) {
+ case HTMLPurifier_VarParser::LOOKUP:
+ $array = $value;
+ $value = array();
+ foreach ($array as $val => $b) {
+ $value[] = $val;
+ }
+ //TODO does this need a break?
+ case HTMLPurifier_VarParser::ALIST:
+ $value = implode(PHP_EOL, $value);
+ break;
+ case HTMLPurifier_VarParser::HASH:
+ $nvalue = '';
+ foreach ($value as $i => $v) {
+ if (is_array($v)) {
+ // HACK
+ $v = implode(";", $v);
+ }
+ $nvalue .= "$i:$v" . PHP_EOL;
+ }
+ $value = $nvalue;
+ break;
+ default:
+ $value = '';
+ }
+ }
+ if ($type === HTMLPurifier_VarParser::MIXED) {
+ return 'Not supported';
+ $value = serialize($value);
+ }
+ $attr = array(
+ 'name' => "$name" . "[$ns.$directive]",
+ 'id' => "$name:$ns.$directive"
+ );
+ if ($value === null) {
+ $attr['disabled'] = 'disabled';
+ }
+ if (isset($def->allowed)) {
+ $ret .= $this->start('select', $attr);
+ foreach ($def->allowed as $val => $b) {
+ $attr = array();
+ if ($value == $val) {
+ $attr['selected'] = 'selected';
+ }
+ $ret .= $this->element('option', $val, $attr);
+ }
+ $ret .= $this->end('select');
+ } elseif ($type === HTMLPurifier_VarParser::TEXT ||
+ $type === HTMLPurifier_VarParser::ITEXT ||
+ $type === HTMLPurifier_VarParser::ALIST ||
+ $type === HTMLPurifier_VarParser::HASH ||
+ $type === HTMLPurifier_VarParser::LOOKUP) {
+ $attr['cols'] = $this->cols;
+ $attr['rows'] = $this->rows;
+ $ret .= $this->start('textarea', $attr);
+ $ret .= $this->text($value);
+ $ret .= $this->end('textarea');
+ } else {
+ $attr['value'] = $value;
+ $attr['type'] = 'text';
+ $ret .= $this->elementEmpty('input', $attr);
+ }
+ return $ret;
+ }
+}
+
+/**
+ * Bool form field printer
+ */
+class HTMLPurifier_Printer_ConfigForm_bool extends HTMLPurifier_Printer
+{
+ /**
+ * @param string $ns
+ * @param string $directive
+ * @param string $value
+ * @param string $name
+ * @param HTMLPurifier_Config|array $config
+ * @return string
+ */
+ public function render($ns, $directive, $value, $name, $config)
+ {
+ if (is_array($config) && isset($config[0])) {
+ $gen_config = $config[0];
+ $config = $config[1];
+ } else {
+ $gen_config = $config;
+ }
+ $this->prepareGenerator($gen_config);
+ $ret = '';
+ $ret .= $this->start('div', array('id' => "$name:$ns.$directive"));
+
+ $ret .= $this->start('label', array('for' => "$name:Yes_$ns.$directive"));
+ $ret .= $this->element('span', "$ns.$directive:", array('class' => 'verbose'));
+ $ret .= $this->text(' Yes');
+ $ret .= $this->end('label');
+
+ $attr = array(
+ 'type' => 'radio',
+ 'name' => "$name" . "[$ns.$directive]",
+ 'id' => "$name:Yes_$ns.$directive",
+ 'value' => '1'
+ );
+ if ($value === true) {
+ $attr['checked'] = 'checked';
+ }
+ if ($value === null) {
+ $attr['disabled'] = 'disabled';
+ }
+ $ret .= $this->elementEmpty('input', $attr);
+
+ $ret .= $this->start('label', array('for' => "$name:No_$ns.$directive"));
+ $ret .= $this->element('span', "$ns.$directive:", array('class' => 'verbose'));
+ $ret .= $this->text(' No');
+ $ret .= $this->end('label');
+
+ $attr = array(
+ 'type' => 'radio',
+ 'name' => "$name" . "[$ns.$directive]",
+ 'id' => "$name:No_$ns.$directive",
+ 'value' => '0'
+ );
+ if ($value === false) {
+ $attr['checked'] = 'checked';
+ }
+ if ($value === null) {
+ $attr['disabled'] = 'disabled';
+ }
+ $ret .= $this->elementEmpty('input', $attr);
+
+ $ret .= $this->end('div');
+
+ return $ret;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Printer/HTMLDefinition.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Printer/HTMLDefinition.php
new file mode 100644
index 000000000..5f2f2f8a7
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Printer/HTMLDefinition.php
@@ -0,0 +1,324 @@
+<?php
+
+class HTMLPurifier_Printer_HTMLDefinition extends HTMLPurifier_Printer
+{
+
+ /**
+ * @type HTMLPurifier_HTMLDefinition, for easy access
+ */
+ protected $def;
+
+ /**
+ * @param HTMLPurifier_Config $config
+ * @return string
+ */
+ public function render($config)
+ {
+ $ret = '';
+ $this->config =& $config;
+
+ $this->def = $config->getHTMLDefinition();
+
+ $ret .= $this->start('div', array('class' => 'HTMLPurifier_Printer'));
+
+ $ret .= $this->renderDoctype();
+ $ret .= $this->renderEnvironment();
+ $ret .= $this->renderContentSets();
+ $ret .= $this->renderInfo();
+
+ $ret .= $this->end('div');
+
+ return $ret;
+ }
+
+ /**
+ * Renders the Doctype table
+ * @return string
+ */
+ protected function renderDoctype()
+ {
+ $doctype = $this->def->doctype;
+ $ret = '';
+ $ret .= $this->start('table');
+ $ret .= $this->element('caption', 'Doctype');
+ $ret .= $this->row('Name', $doctype->name);
+ $ret .= $this->row('XML', $doctype->xml ? 'Yes' : 'No');
+ $ret .= $this->row('Default Modules', implode($doctype->modules, ', '));
+ $ret .= $this->row('Default Tidy Modules', implode($doctype->tidyModules, ', '));
+ $ret .= $this->end('table');
+ return $ret;
+ }
+
+
+ /**
+ * Renders environment table, which is miscellaneous info
+ * @return string
+ */
+ protected function renderEnvironment()
+ {
+ $def = $this->def;
+
+ $ret = '';
+
+ $ret .= $this->start('table');
+ $ret .= $this->element('caption', 'Environment');
+
+ $ret .= $this->row('Parent of fragment', $def->info_parent);
+ $ret .= $this->renderChildren($def->info_parent_def->child);
+ $ret .= $this->row('Block wrap name', $def->info_block_wrapper);
+
+ $ret .= $this->start('tr');
+ $ret .= $this->element('th', 'Global attributes');
+ $ret .= $this->element('td', $this->listifyAttr($def->info_global_attr), null, 0);
+ $ret .= $this->end('tr');
+
+ $ret .= $this->start('tr');
+ $ret .= $this->element('th', 'Tag transforms');
+ $list = array();
+ foreach ($def->info_tag_transform as $old => $new) {
+ $new = $this->getClass($new, 'TagTransform_');
+ $list[] = "<$old> with $new";
+ }
+ $ret .= $this->element('td', $this->listify($list));
+ $ret .= $this->end('tr');
+
+ $ret .= $this->start('tr');
+ $ret .= $this->element('th', 'Pre-AttrTransform');
+ $ret .= $this->element('td', $this->listifyObjectList($def->info_attr_transform_pre));
+ $ret .= $this->end('tr');
+
+ $ret .= $this->start('tr');
+ $ret .= $this->element('th', 'Post-AttrTransform');
+ $ret .= $this->element('td', $this->listifyObjectList($def->info_attr_transform_post));
+ $ret .= $this->end('tr');
+
+ $ret .= $this->end('table');
+ return $ret;
+ }
+
+ /**
+ * Renders the Content Sets table
+ * @return string
+ */
+ protected function renderContentSets()
+ {
+ $ret = '';
+ $ret .= $this->start('table');
+ $ret .= $this->element('caption', 'Content Sets');
+ foreach ($this->def->info_content_sets as $name => $lookup) {
+ $ret .= $this->heavyHeader($name);
+ $ret .= $this->start('tr');
+ $ret .= $this->element('td', $this->listifyTagLookup($lookup));
+ $ret .= $this->end('tr');
+ }
+ $ret .= $this->end('table');
+ return $ret;
+ }
+
+ /**
+ * Renders the Elements ($info) table
+ * @return string
+ */
+ protected function renderInfo()
+ {
+ $ret = '';
+ $ret .= $this->start('table');
+ $ret .= $this->element('caption', 'Elements ($info)');
+ ksort($this->def->info);
+ $ret .= $this->heavyHeader('Allowed tags', 2);
+ $ret .= $this->start('tr');
+ $ret .= $this->element('td', $this->listifyTagLookup($this->def->info), array('colspan' => 2));
+ $ret .= $this->end('tr');
+ foreach ($this->def->info as $name => $def) {
+ $ret .= $this->start('tr');
+ $ret .= $this->element('th', "<$name>", array('class' => 'heavy', 'colspan' => 2));
+ $ret .= $this->end('tr');
+ $ret .= $this->start('tr');
+ $ret .= $this->element('th', 'Inline content');
+ $ret .= $this->element('td', $def->descendants_are_inline ? 'Yes' : 'No');
+ $ret .= $this->end('tr');
+ if (!empty($def->excludes)) {
+ $ret .= $this->start('tr');
+ $ret .= $this->element('th', 'Excludes');
+ $ret .= $this->element('td', $this->listifyTagLookup($def->excludes));
+ $ret .= $this->end('tr');
+ }
+ if (!empty($def->attr_transform_pre)) {
+ $ret .= $this->start('tr');
+ $ret .= $this->element('th', 'Pre-AttrTransform');
+ $ret .= $this->element('td', $this->listifyObjectList($def->attr_transform_pre));
+ $ret .= $this->end('tr');
+ }
+ if (!empty($def->attr_transform_post)) {
+ $ret .= $this->start('tr');
+ $ret .= $this->element('th', 'Post-AttrTransform');
+ $ret .= $this->element('td', $this->listifyObjectList($def->attr_transform_post));
+ $ret .= $this->end('tr');
+ }
+ if (!empty($def->auto_close)) {
+ $ret .= $this->start('tr');
+ $ret .= $this->element('th', 'Auto closed by');
+ $ret .= $this->element('td', $this->listifyTagLookup($def->auto_close));
+ $ret .= $this->end('tr');
+ }
+ $ret .= $this->start('tr');
+ $ret .= $this->element('th', 'Allowed attributes');
+ $ret .= $this->element('td', $this->listifyAttr($def->attr), array(), 0);
+ $ret .= $this->end('tr');
+
+ if (!empty($def->required_attr)) {
+ $ret .= $this->row('Required attributes', $this->listify($def->required_attr));
+ }
+
+ $ret .= $this->renderChildren($def->child);
+ }
+ $ret .= $this->end('table');
+ return $ret;
+ }
+
+ /**
+ * Renders a row describing the allowed children of an element
+ * @param HTMLPurifier_ChildDef $def HTMLPurifier_ChildDef of pertinent element
+ * @return string
+ */
+ protected function renderChildren($def)
+ {
+ $context = new HTMLPurifier_Context();
+ $ret = '';
+ $ret .= $this->start('tr');
+ $elements = array();
+ $attr = array();
+ if (isset($def->elements)) {
+ if ($def->type == 'strictblockquote') {
+ $def->validateChildren(array(), $this->config, $context);
+ }
+ $elements = $def->elements;
+ }
+ if ($def->type == 'chameleon') {
+ $attr['rowspan'] = 2;
+ } elseif ($def->type == 'empty') {
+ $elements = array();
+ } elseif ($def->type == 'table') {
+ $elements = array_flip(
+ array(
+ 'col',
+ 'caption',
+ 'colgroup',
+ 'thead',
+ 'tfoot',
+ 'tbody',
+ 'tr'
+ )
+ );
+ }
+ $ret .= $this->element('th', 'Allowed children', $attr);
+
+ if ($def->type == 'chameleon') {
+
+ $ret .= $this->element(
+ 'td',
+ '<em>Block</em>: ' .
+ $this->escape($this->listifyTagLookup($def->block->elements)),
+ null,
+ 0
+ );
+ $ret .= $this->end('tr');
+ $ret .= $this->start('tr');
+ $ret .= $this->element(
+ 'td',
+ '<em>Inline</em>: ' .
+ $this->escape($this->listifyTagLookup($def->inline->elements)),
+ null,
+ 0
+ );
+
+ } elseif ($def->type == 'custom') {
+
+ $ret .= $this->element(
+ 'td',
+ '<em>' . ucfirst($def->type) . '</em>: ' .
+ $def->dtd_regex
+ );
+
+ } else {
+ $ret .= $this->element(
+ 'td',
+ '<em>' . ucfirst($def->type) . '</em>: ' .
+ $this->escape($this->listifyTagLookup($elements)),
+ null,
+ 0
+ );
+ }
+ $ret .= $this->end('tr');
+ return $ret;
+ }
+
+ /**
+ * Listifies a tag lookup table.
+ * @param array $array Tag lookup array in form of array('tagname' => true)
+ * @return string
+ */
+ protected function listifyTagLookup($array)
+ {
+ ksort($array);
+ $list = array();
+ foreach ($array as $name => $discard) {
+ if ($name !== '#PCDATA' && !isset($this->def->info[$name])) {
+ continue;
+ }
+ $list[] = $name;
+ }
+ return $this->listify($list);
+ }
+
+ /**
+ * Listifies a list of objects by retrieving class names and internal state
+ * @param array $array List of objects
+ * @return string
+ * @todo Also add information about internal state
+ */
+ protected function listifyObjectList($array)
+ {
+ ksort($array);
+ $list = array();
+ foreach ($array as $obj) {
+ $list[] = $this->getClass($obj, 'AttrTransform_');
+ }
+ return $this->listify($list);
+ }
+
+ /**
+ * Listifies a hash of attributes to AttrDef classes
+ * @param array $array Array hash in form of array('attrname' => HTMLPurifier_AttrDef)
+ * @return string
+ */
+ protected function listifyAttr($array)
+ {
+ ksort($array);
+ $list = array();
+ foreach ($array as $name => $obj) {
+ if ($obj === false) {
+ continue;
+ }
+ $list[] = "$name&nbsp;=&nbsp;<i>" . $this->getClass($obj, 'AttrDef_') . '</i>';
+ }
+ return $this->listify($list);
+ }
+
+ /**
+ * Creates a heavy header row
+ * @param string $text
+ * @param int $num
+ * @return string
+ */
+ protected function heavyHeader($text, $num = 1)
+ {
+ $ret = '';
+ $ret .= $this->start('tr');
+ $ret .= $this->element('th', $text, array('colspan' => $num, 'class' => 'heavy'));
+ $ret .= $this->end('tr');
+ return $ret;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/PropertyList.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/PropertyList.php
new file mode 100644
index 000000000..189348fd9
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/PropertyList.php
@@ -0,0 +1,122 @@
+<?php
+
+/**
+ * Generic property list implementation
+ */
+class HTMLPurifier_PropertyList
+{
+ /**
+ * Internal data-structure for properties.
+ * @type array
+ */
+ protected $data = array();
+
+ /**
+ * Parent plist.
+ * @type HTMLPurifier_PropertyList
+ */
+ protected $parent;
+
+ /**
+ * Cache.
+ * @type array
+ */
+ protected $cache;
+
+ /**
+ * @param HTMLPurifier_PropertyList $parent Parent plist
+ */
+ public function __construct($parent = null)
+ {
+ $this->parent = $parent;
+ }
+
+ /**
+ * Recursively retrieves the value for a key
+ * @param string $name
+ * @throws HTMLPurifier_Exception
+ */
+ public function get($name)
+ {
+ if ($this->has($name)) {
+ return $this->data[$name];
+ }
+ // possible performance bottleneck, convert to iterative if necessary
+ if ($this->parent) {
+ return $this->parent->get($name);
+ }
+ throw new HTMLPurifier_Exception("Key '$name' not found");
+ }
+
+ /**
+ * Sets the value of a key, for this plist
+ * @param string $name
+ * @param mixed $value
+ */
+ public function set($name, $value)
+ {
+ $this->data[$name] = $value;
+ }
+
+ /**
+ * Returns true if a given key exists
+ * @param string $name
+ * @return bool
+ */
+ public function has($name)
+ {
+ return array_key_exists($name, $this->data);
+ }
+
+ /**
+ * Resets a value to the value of it's parent, usually the default. If
+ * no value is specified, the entire plist is reset.
+ * @param string $name
+ */
+ public function reset($name = null)
+ {
+ if ($name == null) {
+ $this->data = array();
+ } else {
+ unset($this->data[$name]);
+ }
+ }
+
+ /**
+ * Squashes this property list and all of its property lists into a single
+ * array, and returns the array. This value is cached by default.
+ * @param bool $force If true, ignores the cache and regenerates the array.
+ * @return array
+ */
+ public function squash($force = false)
+ {
+ if ($this->cache !== null && !$force) {
+ return $this->cache;
+ }
+ if ($this->parent) {
+ return $this->cache = array_merge($this->parent->squash($force), $this->data);
+ } else {
+ return $this->cache = $this->data;
+ }
+ }
+
+ /**
+ * Returns the parent plist.
+ * @return HTMLPurifier_PropertyList
+ */
+ public function getParent()
+ {
+ return $this->parent;
+ }
+
+ /**
+ * Sets the parent plist.
+ * @param HTMLPurifier_PropertyList $plist Parent plist
+ */
+ public function setParent($plist)
+ {
+ $this->parent = $plist;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/PropertyListIterator.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/PropertyListIterator.php
new file mode 100644
index 000000000..15b330ea3
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/PropertyListIterator.php
@@ -0,0 +1,42 @@
+<?php
+
+/**
+ * Property list iterator. Do not instantiate this class directly.
+ */
+class HTMLPurifier_PropertyListIterator extends FilterIterator
+{
+
+ /**
+ * @type int
+ */
+ protected $l;
+ /**
+ * @type string
+ */
+ protected $filter;
+
+ /**
+ * @param Iterator $iterator Array of data to iterate over
+ * @param string $filter Optional prefix to only allow values of
+ */
+ public function __construct(Iterator $iterator, $filter = null)
+ {
+ parent::__construct($iterator);
+ $this->l = strlen($filter);
+ $this->filter = $filter;
+ }
+
+ /**
+ * @return bool
+ */
+ public function accept()
+ {
+ $key = $this->getInnerIterator()->key();
+ if (strncmp($key, $this->filter, $this->l) !== 0) {
+ return false;
+ }
+ return true;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Queue.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Queue.php
new file mode 100644
index 000000000..f58db9042
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Queue.php
@@ -0,0 +1,56 @@
+<?php
+
+/**
+ * A simple array-backed queue, based off of the classic Okasaki
+ * persistent amortized queue. The basic idea is to maintain two
+ * stacks: an input stack and an output stack. When the output
+ * stack runs out, reverse the input stack and use it as the output
+ * stack.
+ *
+ * We don't use the SPL implementation because it's only supported
+ * on PHP 5.3 and later.
+ *
+ * Exercise: Prove that push/pop on this queue take amortized O(1) time.
+ *
+ * Exercise: Extend this queue to be a deque, while preserving amortized
+ * O(1) time. Some care must be taken on rebalancing to avoid quadratic
+ * behaviour caused by repeatedly shuffling data from the input stack
+ * to the output stack and back.
+ */
+class HTMLPurifier_Queue {
+ private $input;
+ private $output;
+
+ public function __construct($input = array()) {
+ $this->input = $input;
+ $this->output = array();
+ }
+
+ /**
+ * Shifts an element off the front of the queue.
+ */
+ public function shift() {
+ if (empty($this->output)) {
+ $this->output = array_reverse($this->input);
+ $this->input = array();
+ }
+ if (empty($this->output)) {
+ return NULL;
+ }
+ return array_pop($this->output);
+ }
+
+ /**
+ * Pushes an element onto the front of the queue.
+ */
+ public function push($x) {
+ array_push($this->input, $x);
+ }
+
+ /**
+ * Checks if it's empty.
+ */
+ public function isEmpty() {
+ return empty($this->input) && empty($this->output);
+ }
+}
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Strategy.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Strategy.php
new file mode 100644
index 000000000..e1ff3b72d
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Strategy.php
@@ -0,0 +1,26 @@
+<?php
+
+/**
+ * Supertype for classes that define a strategy for modifying/purifying tokens.
+ *
+ * While HTMLPurifier's core purpose is fixing HTML into something proper,
+ * strategies provide plug points for extra configuration or even extra
+ * features, such as custom tags, custom parsing of text, etc.
+ */
+
+
+abstract class HTMLPurifier_Strategy
+{
+
+ /**
+ * Executes the strategy on the tokens.
+ *
+ * @param HTMLPurifier_Token[] $tokens Array of HTMLPurifier_Token objects to be operated on.
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return HTMLPurifier_Token[] Processed array of token objects.
+ */
+ abstract public function execute($tokens, $config, $context);
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Strategy/Composite.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Strategy/Composite.php
new file mode 100644
index 000000000..d7d35ce7d
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Strategy/Composite.php
@@ -0,0 +1,30 @@
+<?php
+
+/**
+ * Composite strategy that runs multiple strategies on tokens.
+ */
+abstract class HTMLPurifier_Strategy_Composite extends HTMLPurifier_Strategy
+{
+
+ /**
+ * List of strategies to run tokens through.
+ * @type HTMLPurifier_Strategy[]
+ */
+ protected $strategies = array();
+
+ /**
+ * @param HTMLPurifier_Token[] $tokens
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return HTMLPurifier_Token[]
+ */
+ public function execute($tokens, $config, $context)
+ {
+ foreach ($this->strategies as $strategy) {
+ $tokens = $strategy->execute($tokens, $config, $context);
+ }
+ return $tokens;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Strategy/Core.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Strategy/Core.php
new file mode 100644
index 000000000..4414c17d6
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Strategy/Core.php
@@ -0,0 +1,17 @@
+<?php
+
+/**
+ * Core strategy composed of the big four strategies.
+ */
+class HTMLPurifier_Strategy_Core extends HTMLPurifier_Strategy_Composite
+{
+ public function __construct()
+ {
+ $this->strategies[] = new HTMLPurifier_Strategy_RemoveForeignElements();
+ $this->strategies[] = new HTMLPurifier_Strategy_MakeWellFormed();
+ $this->strategies[] = new HTMLPurifier_Strategy_FixNesting();
+ $this->strategies[] = new HTMLPurifier_Strategy_ValidateAttributes();
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Strategy/FixNesting.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Strategy/FixNesting.php
new file mode 100644
index 000000000..6fa673db9
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Strategy/FixNesting.php
@@ -0,0 +1,181 @@
+<?php
+
+/**
+ * Takes a well formed list of tokens and fixes their nesting.
+ *
+ * HTML elements dictate which elements are allowed to be their children,
+ * for example, you can't have a p tag in a span tag. Other elements have
+ * much more rigorous definitions: tables, for instance, require a specific
+ * order for their elements. There are also constraints not expressible by
+ * document type definitions, such as the chameleon nature of ins/del
+ * tags and global child exclusions.
+ *
+ * The first major objective of this strategy is to iterate through all
+ * the nodes and determine whether or not their children conform to the
+ * element's definition. If they do not, the child definition may
+ * optionally supply an amended list of elements that is valid or
+ * require that the entire node be deleted (and the previous node
+ * rescanned).
+ *
+ * The second objective is to ensure that explicitly excluded elements of
+ * an element do not appear in its children. Code that accomplishes this
+ * task is pervasive through the strategy, though the two are distinct tasks
+ * and could, theoretically, be seperated (although it's not recommended).
+ *
+ * @note Whether or not unrecognized children are silently dropped or
+ * translated into text depends on the child definitions.
+ *
+ * @todo Enable nodes to be bubbled out of the structure. This is
+ * easier with our new algorithm.
+ */
+
+class HTMLPurifier_Strategy_FixNesting extends HTMLPurifier_Strategy
+{
+
+ /**
+ * @param HTMLPurifier_Token[] $tokens
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return array|HTMLPurifier_Token[]
+ */
+ public function execute($tokens, $config, $context)
+ {
+
+ //####################################################################//
+ // Pre-processing
+
+ // O(n) pass to convert to a tree, so that we can efficiently
+ // refer to substrings
+ $top_node = HTMLPurifier_Arborize::arborize($tokens, $config, $context);
+
+ // get a copy of the HTML definition
+ $definition = $config->getHTMLDefinition();
+
+ $excludes_enabled = !$config->get('Core.DisableExcludes');
+
+ // setup the context variable 'IsInline', for chameleon processing
+ // is 'false' when we are not inline, 'true' when it must always
+ // be inline, and an integer when it is inline for a certain
+ // branch of the document tree
+ $is_inline = $definition->info_parent_def->descendants_are_inline;
+ $context->register('IsInline', $is_inline);
+
+ // setup error collector
+ $e =& $context->get('ErrorCollector', true);
+
+ //####################################################################//
+ // Loop initialization
+
+ // stack that contains all elements that are excluded
+ // it is organized by parent elements, similar to $stack,
+ // but it is only populated when an element with exclusions is
+ // processed, i.e. there won't be empty exclusions.
+ $exclude_stack = array($definition->info_parent_def->excludes);
+
+ // variable that contains the start token while we are processing
+ // nodes. This enables error reporting to do its job
+ $node = $top_node;
+ // dummy token
+ list($token, $d) = $node->toTokenPair();
+ $context->register('CurrentNode', $node);
+ $context->register('CurrentToken', $token);
+
+ //####################################################################//
+ // Loop
+
+ // We need to implement a post-order traversal iteratively, to
+ // avoid running into stack space limits. This is pretty tricky
+ // to reason about, so we just manually stack-ify the recursive
+ // variant:
+ //
+ // function f($node) {
+ // foreach ($node->children as $child) {
+ // f($child);
+ // }
+ // validate($node);
+ // }
+ //
+ // Thus, we will represent a stack frame as array($node,
+ // $is_inline, stack of children)
+ // e.g. array_reverse($node->children) - already processed
+ // children.
+
+ $parent_def = $definition->info_parent_def;
+ $stack = array(
+ array($top_node,
+ $parent_def->descendants_are_inline,
+ $parent_def->excludes, // exclusions
+ 0)
+ );
+
+ while (!empty($stack)) {
+ list($node, $is_inline, $excludes, $ix) = array_pop($stack);
+ // recursive call
+ $go = false;
+ $def = empty($stack) ? $definition->info_parent_def : $definition->info[$node->name];
+ while (isset($node->children[$ix])) {
+ $child = $node->children[$ix++];
+ if ($child instanceof HTMLPurifier_Node_Element) {
+ $go = true;
+ $stack[] = array($node, $is_inline, $excludes, $ix);
+ $stack[] = array($child,
+ // ToDo: I don't think it matters if it's def or
+ // child_def, but double check this...
+ $is_inline || $def->descendants_are_inline,
+ empty($def->excludes) ? $excludes
+ : array_merge($excludes, $def->excludes),
+ 0);
+ break;
+ }
+ };
+ if ($go) continue;
+ list($token, $d) = $node->toTokenPair();
+ // base case
+ if ($excludes_enabled && isset($excludes[$node->name])) {
+ $node->dead = true;
+ if ($e) $e->send(E_ERROR, 'Strategy_FixNesting: Node excluded');
+ } else {
+ // XXX I suppose it would be slightly more efficient to
+ // avoid the allocation here and have children
+ // strategies handle it
+ $children = array();
+ foreach ($node->children as $child) {
+ if (!$child->dead) $children[] = $child;
+ }
+ $result = $def->child->validateChildren($children, $config, $context);
+ if ($result === true) {
+ // nop
+ $node->children = $children;
+ } elseif ($result === false) {
+ $node->dead = true;
+ if ($e) $e->send(E_ERROR, 'Strategy_FixNesting: Node removed');
+ } else {
+ $node->children = $result;
+ if ($e) {
+ // XXX This will miss mutations of internal nodes. Perhaps defer to the child validators
+ if (empty($result) && !empty($children)) {
+ $e->send(E_ERROR, 'Strategy_FixNesting: Node contents removed');
+ } else if ($result != $children) {
+ $e->send(E_WARNING, 'Strategy_FixNesting: Node reorganized');
+ }
+ }
+ }
+ }
+ }
+
+ //####################################################################//
+ // Post-processing
+
+ // remove context variables
+ $context->destroy('IsInline');
+ $context->destroy('CurrentNode');
+ $context->destroy('CurrentToken');
+
+ //####################################################################//
+ // Return
+
+ return HTMLPurifier_Arborize::flatten($node, $config, $context);
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Strategy/MakeWellFormed.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Strategy/MakeWellFormed.php
new file mode 100644
index 000000000..a6eb09e45
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Strategy/MakeWellFormed.php
@@ -0,0 +1,659 @@
+<?php
+
+/**
+ * Takes tokens makes them well-formed (balance end tags, etc.)
+ *
+ * Specification of the armor attributes this strategy uses:
+ *
+ * - MakeWellFormed_TagClosedError: This armor field is used to
+ * suppress tag closed errors for certain tokens [TagClosedSuppress],
+ * in particular, if a tag was generated automatically by HTML
+ * Purifier, we may rely on our infrastructure to close it for us
+ * and shouldn't report an error to the user [TagClosedAuto].
+ */
+class HTMLPurifier_Strategy_MakeWellFormed extends HTMLPurifier_Strategy
+{
+
+ /**
+ * Array stream of tokens being processed.
+ * @type HTMLPurifier_Token[]
+ */
+ protected $tokens;
+
+ /**
+ * Current token.
+ * @type HTMLPurifier_Token
+ */
+ protected $token;
+
+ /**
+ * Zipper managing the true state.
+ * @type HTMLPurifier_Zipper
+ */
+ protected $zipper;
+
+ /**
+ * Current nesting of elements.
+ * @type array
+ */
+ protected $stack;
+
+ /**
+ * Injectors active in this stream processing.
+ * @type HTMLPurifier_Injector[]
+ */
+ protected $injectors;
+
+ /**
+ * Current instance of HTMLPurifier_Config.
+ * @type HTMLPurifier_Config
+ */
+ protected $config;
+
+ /**
+ * Current instance of HTMLPurifier_Context.
+ * @type HTMLPurifier_Context
+ */
+ protected $context;
+
+ /**
+ * @param HTMLPurifier_Token[] $tokens
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return HTMLPurifier_Token[]
+ * @throws HTMLPurifier_Exception
+ */
+ public function execute($tokens, $config, $context)
+ {
+ $definition = $config->getHTMLDefinition();
+
+ // local variables
+ $generator = new HTMLPurifier_Generator($config, $context);
+ $escape_invalid_tags = $config->get('Core.EscapeInvalidTags');
+ // used for autoclose early abortion
+ $global_parent_allowed_elements = $definition->info_parent_def->child->getAllowedElements($config);
+ $e = $context->get('ErrorCollector', true);
+ $i = false; // injector index
+ list($zipper, $token) = HTMLPurifier_Zipper::fromArray($tokens);
+ if ($token === NULL) {
+ return array();
+ }
+ $reprocess = false; // whether or not to reprocess the same token
+ $stack = array();
+
+ // member variables
+ $this->stack =& $stack;
+ $this->tokens =& $tokens;
+ $this->token =& $token;
+ $this->zipper =& $zipper;
+ $this->config = $config;
+ $this->context = $context;
+
+ // context variables
+ $context->register('CurrentNesting', $stack);
+ $context->register('InputZipper', $zipper);
+ $context->register('CurrentToken', $token);
+
+ // -- begin INJECTOR --
+
+ $this->injectors = array();
+
+ $injectors = $config->getBatch('AutoFormat');
+ $def_injectors = $definition->info_injector;
+ $custom_injectors = $injectors['Custom'];
+ unset($injectors['Custom']); // special case
+ foreach ($injectors as $injector => $b) {
+ // XXX: Fix with a legitimate lookup table of enabled filters
+ if (strpos($injector, '.') !== false) {
+ continue;
+ }
+ $injector = "HTMLPurifier_Injector_$injector";
+ if (!$b) {
+ continue;
+ }
+ $this->injectors[] = new $injector;
+ }
+ foreach ($def_injectors as $injector) {
+ // assumed to be objects
+ $this->injectors[] = $injector;
+ }
+ foreach ($custom_injectors as $injector) {
+ if (!$injector) {
+ continue;
+ }
+ if (is_string($injector)) {
+ $injector = "HTMLPurifier_Injector_$injector";
+ $injector = new $injector;
+ }
+ $this->injectors[] = $injector;
+ }
+
+ // give the injectors references to the definition and context
+ // variables for performance reasons
+ foreach ($this->injectors as $ix => $injector) {
+ $error = $injector->prepare($config, $context);
+ if (!$error) {
+ continue;
+ }
+ array_splice($this->injectors, $ix, 1); // rm the injector
+ trigger_error("Cannot enable {$injector->name} injector because $error is not allowed", E_USER_WARNING);
+ }
+
+ // -- end INJECTOR --
+
+ // a note on reprocessing:
+ // In order to reduce code duplication, whenever some code needs
+ // to make HTML changes in order to make things "correct", the
+ // new HTML gets sent through the purifier, regardless of its
+ // status. This means that if we add a start token, because it
+ // was totally necessary, we don't have to update nesting; we just
+ // punt ($reprocess = true; continue;) and it does that for us.
+
+ // isset is in loop because $tokens size changes during loop exec
+ for (;;
+ // only increment if we don't need to reprocess
+ $reprocess ? $reprocess = false : $token = $zipper->next($token)) {
+
+ // check for a rewind
+ if (is_int($i)) {
+ // possibility: disable rewinding if the current token has a
+ // rewind set on it already. This would offer protection from
+ // infinite loop, but might hinder some advanced rewinding.
+ $rewind_offset = $this->injectors[$i]->getRewindOffset();
+ if (is_int($rewind_offset)) {
+ for ($j = 0; $j < $rewind_offset; $j++) {
+ if (empty($zipper->front)) break;
+ $token = $zipper->prev($token);
+ // indicate that other injectors should not process this token,
+ // but we need to reprocess it. See Note [Injector skips]
+ unset($token->skip[$i]);
+ $token->rewind = $i;
+ if ($token instanceof HTMLPurifier_Token_Start) {
+ array_pop($this->stack);
+ } elseif ($token instanceof HTMLPurifier_Token_End) {
+ $this->stack[] = $token->start;
+ }
+ }
+ }
+ $i = false;
+ }
+
+ // handle case of document end
+ if ($token === NULL) {
+ // kill processing if stack is empty
+ if (empty($this->stack)) {
+ break;
+ }
+
+ // peek
+ $top_nesting = array_pop($this->stack);
+ $this->stack[] = $top_nesting;
+
+ // send error [TagClosedSuppress]
+ if ($e && !isset($top_nesting->armor['MakeWellFormed_TagClosedError'])) {
+ $e->send(E_NOTICE, 'Strategy_MakeWellFormed: Tag closed by document end', $top_nesting);
+ }
+
+ // append, don't splice, since this is the end
+ $token = new HTMLPurifier_Token_End($top_nesting->name);
+
+ // punt!
+ $reprocess = true;
+ continue;
+ }
+
+ //echo '<br>'; printZipper($zipper, $token);//printTokens($this->stack);
+ //flush();
+
+ // quick-check: if it's not a tag, no need to process
+ if (empty($token->is_tag)) {
+ if ($token instanceof HTMLPurifier_Token_Text) {
+ foreach ($this->injectors as $i => $injector) {
+ if (isset($token->skip[$i])) {
+ // See Note [Injector skips]
+ continue;
+ }
+ if ($token->rewind !== null && $token->rewind !== $i) {
+ continue;
+ }
+ // XXX fuckup
+ $r = $token;
+ $injector->handleText($r);
+ $token = $this->processToken($r, $i);
+ $reprocess = true;
+ break;
+ }
+ }
+ // another possibility is a comment
+ continue;
+ }
+
+ if (isset($definition->info[$token->name])) {
+ $type = $definition->info[$token->name]->child->type;
+ } else {
+ $type = false; // Type is unknown, treat accordingly
+ }
+
+ // quick tag checks: anything that's *not* an end tag
+ $ok = false;
+ if ($type === 'empty' && $token instanceof HTMLPurifier_Token_Start) {
+ // claims to be a start tag but is empty
+ $token = new HTMLPurifier_Token_Empty(
+ $token->name,
+ $token->attr,
+ $token->line,
+ $token->col,
+ $token->armor
+ );
+ $ok = true;
+ } elseif ($type && $type !== 'empty' && $token instanceof HTMLPurifier_Token_Empty) {
+ // claims to be empty but really is a start tag
+ // NB: this assignment is required
+ $old_token = $token;
+ $token = new HTMLPurifier_Token_End($token->name);
+ $token = $this->insertBefore(
+ new HTMLPurifier_Token_Start($old_token->name, $old_token->attr, $old_token->line, $old_token->col, $old_token->armor)
+ );
+ // punt (since we had to modify the input stream in a non-trivial way)
+ $reprocess = true;
+ continue;
+ } elseif ($token instanceof HTMLPurifier_Token_Empty) {
+ // real empty token
+ $ok = true;
+ } elseif ($token instanceof HTMLPurifier_Token_Start) {
+ // start tag
+
+ // ...unless they also have to close their parent
+ if (!empty($this->stack)) {
+
+ // Performance note: you might think that it's rather
+ // inefficient, recalculating the autoclose information
+ // for every tag that a token closes (since when we
+ // do an autoclose, we push a new token into the
+ // stream and then /process/ that, before
+ // re-processing this token.) But this is
+ // necessary, because an injector can make an
+ // arbitrary transformations to the autoclosing
+ // tokens we introduce, so things may have changed
+ // in the meantime. Also, doing the inefficient thing is
+ // "easy" to reason about (for certain perverse definitions
+ // of "easy")
+
+ $parent = array_pop($this->stack);
+ $this->stack[] = $parent;
+
+ $parent_def = null;
+ $parent_elements = null;
+ $autoclose = false;
+ if (isset($definition->info[$parent->name])) {
+ $parent_def = $definition->info[$parent->name];
+ $parent_elements = $parent_def->child->getAllowedElements($config);
+ $autoclose = !isset($parent_elements[$token->name]);
+ }
+
+ if ($autoclose && $definition->info[$token->name]->wrap) {
+ // Check if an element can be wrapped by another
+ // element to make it valid in a context (for
+ // example, <ul><ul> needs a <li> in between)
+ $wrapname = $definition->info[$token->name]->wrap;
+ $wrapdef = $definition->info[$wrapname];
+ $elements = $wrapdef->child->getAllowedElements($config);
+ if (isset($elements[$token->name]) && isset($parent_elements[$wrapname])) {
+ $newtoken = new HTMLPurifier_Token_Start($wrapname);
+ $token = $this->insertBefore($newtoken);
+ $reprocess = true;
+ continue;
+ }
+ }
+
+ $carryover = false;
+ if ($autoclose && $parent_def->formatting) {
+ $carryover = true;
+ }
+
+ if ($autoclose) {
+ // check if this autoclose is doomed to fail
+ // (this rechecks $parent, which his harmless)
+ $autoclose_ok = isset($global_parent_allowed_elements[$token->name]);
+ if (!$autoclose_ok) {
+ foreach ($this->stack as $ancestor) {
+ $elements = $definition->info[$ancestor->name]->child->getAllowedElements($config);
+ if (isset($elements[$token->name])) {
+ $autoclose_ok = true;
+ break;
+ }
+ if ($definition->info[$token->name]->wrap) {
+ $wrapname = $definition->info[$token->name]->wrap;
+ $wrapdef = $definition->info[$wrapname];
+ $wrap_elements = $wrapdef->child->getAllowedElements($config);
+ if (isset($wrap_elements[$token->name]) && isset($elements[$wrapname])) {
+ $autoclose_ok = true;
+ break;
+ }
+ }
+ }
+ }
+ if ($autoclose_ok) {
+ // errors need to be updated
+ $new_token = new HTMLPurifier_Token_End($parent->name);
+ $new_token->start = $parent;
+ // [TagClosedSuppress]
+ if ($e && !isset($parent->armor['MakeWellFormed_TagClosedError'])) {
+ if (!$carryover) {
+ $e->send(E_NOTICE, 'Strategy_MakeWellFormed: Tag auto closed', $parent);
+ } else {
+ $e->send(E_NOTICE, 'Strategy_MakeWellFormed: Tag carryover', $parent);
+ }
+ }
+ if ($carryover) {
+ $element = clone $parent;
+ // [TagClosedAuto]
+ $element->armor['MakeWellFormed_TagClosedError'] = true;
+ $element->carryover = true;
+ $token = $this->processToken(array($new_token, $token, $element));
+ } else {
+ $token = $this->insertBefore($new_token);
+ }
+ } else {
+ $token = $this->remove();
+ }
+ $reprocess = true;
+ continue;
+ }
+
+ }
+ $ok = true;
+ }
+
+ if ($ok) {
+ foreach ($this->injectors as $i => $injector) {
+ if (isset($token->skip[$i])) {
+ // See Note [Injector skips]
+ continue;
+ }
+ if ($token->rewind !== null && $token->rewind !== $i) {
+ continue;
+ }
+ $r = $token;
+ $injector->handleElement($r);
+ $token = $this->processToken($r, $i);
+ $reprocess = true;
+ break;
+ }
+ if (!$reprocess) {
+ // ah, nothing interesting happened; do normal processing
+ if ($token instanceof HTMLPurifier_Token_Start) {
+ $this->stack[] = $token;
+ } elseif ($token instanceof HTMLPurifier_Token_End) {
+ throw new HTMLPurifier_Exception(
+ 'Improper handling of end tag in start code; possible error in MakeWellFormed'
+ );
+ }
+ }
+ continue;
+ }
+
+ // sanity check: we should be dealing with a closing tag
+ if (!$token instanceof HTMLPurifier_Token_End) {
+ throw new HTMLPurifier_Exception('Unaccounted for tag token in input stream, bug in HTML Purifier');
+ }
+
+ // make sure that we have something open
+ if (empty($this->stack)) {
+ if ($escape_invalid_tags) {
+ if ($e) {
+ $e->send(E_WARNING, 'Strategy_MakeWellFormed: Unnecessary end tag to text');
+ }
+ $token = new HTMLPurifier_Token_Text($generator->generateFromToken($token));
+ } else {
+ if ($e) {
+ $e->send(E_WARNING, 'Strategy_MakeWellFormed: Unnecessary end tag removed');
+ }
+ $token = $this->remove();
+ }
+ $reprocess = true;
+ continue;
+ }
+
+ // first, check for the simplest case: everything closes neatly.
+ // Eventually, everything passes through here; if there are problems
+ // we modify the input stream accordingly and then punt, so that
+ // the tokens get processed again.
+ $current_parent = array_pop($this->stack);
+ if ($current_parent->name == $token->name) {
+ $token->start = $current_parent;
+ foreach ($this->injectors as $i => $injector) {
+ if (isset($token->skip[$i])) {
+ // See Note [Injector skips]
+ continue;
+ }
+ if ($token->rewind !== null && $token->rewind !== $i) {
+ continue;
+ }
+ $r = $token;
+ $injector->handleEnd($r);
+ $token = $this->processToken($r, $i);
+ $this->stack[] = $current_parent;
+ $reprocess = true;
+ break;
+ }
+ continue;
+ }
+
+ // okay, so we're trying to close the wrong tag
+
+ // undo the pop previous pop
+ $this->stack[] = $current_parent;
+
+ // scroll back the entire nest, trying to find our tag.
+ // (feature could be to specify how far you'd like to go)
+ $size = count($this->stack);
+ // -2 because -1 is the last element, but we already checked that
+ $skipped_tags = false;
+ for ($j = $size - 2; $j >= 0; $j--) {
+ if ($this->stack[$j]->name == $token->name) {
+ $skipped_tags = array_slice($this->stack, $j);
+ break;
+ }
+ }
+
+ // we didn't find the tag, so remove
+ if ($skipped_tags === false) {
+ if ($escape_invalid_tags) {
+ if ($e) {
+ $e->send(E_WARNING, 'Strategy_MakeWellFormed: Stray end tag to text');
+ }
+ $token = new HTMLPurifier_Token_Text($generator->generateFromToken($token));
+ } else {
+ if ($e) {
+ $e->send(E_WARNING, 'Strategy_MakeWellFormed: Stray end tag removed');
+ }
+ $token = $this->remove();
+ }
+ $reprocess = true;
+ continue;
+ }
+
+ // do errors, in REVERSE $j order: a,b,c with </a></b></c>
+ $c = count($skipped_tags);
+ if ($e) {
+ for ($j = $c - 1; $j > 0; $j--) {
+ // notice we exclude $j == 0, i.e. the current ending tag, from
+ // the errors... [TagClosedSuppress]
+ if (!isset($skipped_tags[$j]->armor['MakeWellFormed_TagClosedError'])) {
+ $e->send(E_NOTICE, 'Strategy_MakeWellFormed: Tag closed by element end', $skipped_tags[$j]);
+ }
+ }
+ }
+
+ // insert tags, in FORWARD $j order: c,b,a with </a></b></c>
+ $replace = array($token);
+ for ($j = 1; $j < $c; $j++) {
+ // ...as well as from the insertions
+ $new_token = new HTMLPurifier_Token_End($skipped_tags[$j]->name);
+ $new_token->start = $skipped_tags[$j];
+ array_unshift($replace, $new_token);
+ if (isset($definition->info[$new_token->name]) && $definition->info[$new_token->name]->formatting) {
+ // [TagClosedAuto]
+ $element = clone $skipped_tags[$j];
+ $element->carryover = true;
+ $element->armor['MakeWellFormed_TagClosedError'] = true;
+ $replace[] = $element;
+ }
+ }
+ $token = $this->processToken($replace);
+ $reprocess = true;
+ continue;
+ }
+
+ $context->destroy('CurrentToken');
+ $context->destroy('CurrentNesting');
+ $context->destroy('InputZipper');
+
+ unset($this->injectors, $this->stack, $this->tokens);
+ return $zipper->toArray($token);
+ }
+
+ /**
+ * Processes arbitrary token values for complicated substitution patterns.
+ * In general:
+ *
+ * If $token is an array, it is a list of tokens to substitute for the
+ * current token. These tokens then get individually processed. If there
+ * is a leading integer in the list, that integer determines how many
+ * tokens from the stream should be removed.
+ *
+ * If $token is a regular token, it is swapped with the current token.
+ *
+ * If $token is false, the current token is deleted.
+ *
+ * If $token is an integer, that number of tokens (with the first token
+ * being the current one) will be deleted.
+ *
+ * @param HTMLPurifier_Token|array|int|bool $token Token substitution value
+ * @param HTMLPurifier_Injector|int $injector Injector that performed the substitution; default is if
+ * this is not an injector related operation.
+ * @throws HTMLPurifier_Exception
+ */
+ protected function processToken($token, $injector = -1)
+ {
+ // Zend OpCache miscompiles $token = array($token), so
+ // avoid this pattern. See: https://github.com/ezyang/htmlpurifier/issues/108
+
+ // normalize forms of token
+ if (is_object($token)) {
+ $tmp = $token;
+ $token = array(1, $tmp);
+ }
+ if (is_int($token)) {
+ $tmp = $token;
+ $token = array($tmp);
+ }
+ if ($token === false) {
+ $token = array(1);
+ }
+ if (!is_array($token)) {
+ throw new HTMLPurifier_Exception('Invalid token type from injector');
+ }
+ if (!is_int($token[0])) {
+ array_unshift($token, 1);
+ }
+ if ($token[0] === 0) {
+ throw new HTMLPurifier_Exception('Deleting zero tokens is not valid');
+ }
+
+ // $token is now an array with the following form:
+ // array(number nodes to delete, new node 1, new node 2, ...)
+
+ $delete = array_shift($token);
+ list($old, $r) = $this->zipper->splice($this->token, $delete, $token);
+
+ if ($injector > -1) {
+ // See Note [Injector skips]
+ // Determine appropriate skips. Here's what the code does:
+ // *If* we deleted one or more tokens, copy the skips
+ // of those tokens into the skips of the new tokens (in $token).
+ // Also, mark the newly inserted tokens as having come from
+ // $injector.
+ $oldskip = isset($old[0]) ? $old[0]->skip : array();
+ foreach ($token as $object) {
+ $object->skip = $oldskip;
+ $object->skip[$injector] = true;
+ }
+ }
+
+ return $r;
+
+ }
+
+ /**
+ * Inserts a token before the current token. Cursor now points to
+ * this token. You must reprocess after this.
+ * @param HTMLPurifier_Token $token
+ */
+ private function insertBefore($token)
+ {
+ // NB not $this->zipper->insertBefore(), due to positioning
+ // differences
+ $splice = $this->zipper->splice($this->token, 0, array($token));
+
+ return $splice[1];
+ }
+
+ /**
+ * Removes current token. Cursor now points to new token occupying previously
+ * occupied space. You must reprocess after this.
+ */
+ private function remove()
+ {
+ return $this->zipper->delete();
+ }
+}
+
+// Note [Injector skips]
+// ~~~~~~~~~~~~~~~~~~~~~
+// When I originally designed this class, the idea behind the 'skip'
+// property of HTMLPurifier_Token was to help avoid infinite loops
+// in injector processing. For example, suppose you wrote an injector
+// that bolded swear words. Naively, you might write it so that
+// whenever you saw ****, you replaced it with <strong>****</strong>.
+//
+// When this happens, we will reprocess all of the tokens with the
+// other injectors. Now there is an opportunity for infinite loop:
+// if we rerun the swear-word injector on these tokens, we might
+// see **** and then reprocess again to get
+// <strong><strong>****</strong></strong> ad infinitum.
+//
+// Thus, the idea of a skip is that once we process a token with
+// an injector, we mark all of those tokens as having "come from"
+// the injector, and we never run the injector again on these
+// tokens.
+//
+// There were two more complications, however:
+//
+// - With HTMLPurifier_Injector_RemoveEmpty, we noticed that if
+// you had <b><i></i></b>, after you removed the <i></i>, you
+// really would like this injector to go back and reprocess
+// the <b> tag, discovering that it is now empty and can be
+// removed. So we reintroduced the possibility of infinite looping
+// by adding a "rewind" function, which let you go back to an
+// earlier point in the token stream and reprocess it with injectors.
+// Needless to say, we need to UN-skip the token so it gets
+// reprocessed.
+//
+// - Suppose that you successfuly process a token, replace it with
+// one with your skip mark, but now another injector wants to
+// process the skipped token with another token. Should you continue
+// to skip that new token, or reprocess it? If you reprocess,
+// you can end up with an infinite loop where one injector converts
+// <a> to <b>, and then another injector converts it back. So
+// we inherit the skips, but for some reason, I thought that we
+// should inherit the skip from the first token of the token
+// that we deleted. Why? Well, it seems to work OK.
+//
+// If I were to redesign this functionality, I would absolutely not
+// go about doing it this way: the semantics are just not very well
+// defined, and in any case you probably wanted to operate on trees,
+// not token streams.
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Strategy/RemoveForeignElements.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Strategy/RemoveForeignElements.php
new file mode 100644
index 000000000..1a8149ecc
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Strategy/RemoveForeignElements.php
@@ -0,0 +1,207 @@
+<?php
+
+/**
+ * Removes all unrecognized tags from the list of tokens.
+ *
+ * This strategy iterates through all the tokens and removes unrecognized
+ * tokens. If a token is not recognized but a TagTransform is defined for
+ * that element, the element will be transformed accordingly.
+ */
+
+class HTMLPurifier_Strategy_RemoveForeignElements extends HTMLPurifier_Strategy
+{
+
+ /**
+ * @param HTMLPurifier_Token[] $tokens
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return array|HTMLPurifier_Token[]
+ */
+ public function execute($tokens, $config, $context)
+ {
+ $definition = $config->getHTMLDefinition();
+ $generator = new HTMLPurifier_Generator($config, $context);
+ $result = array();
+
+ $escape_invalid_tags = $config->get('Core.EscapeInvalidTags');
+ $remove_invalid_img = $config->get('Core.RemoveInvalidImg');
+
+ // currently only used to determine if comments should be kept
+ $trusted = $config->get('HTML.Trusted');
+ $comment_lookup = $config->get('HTML.AllowedComments');
+ $comment_regexp = $config->get('HTML.AllowedCommentsRegexp');
+ $check_comments = $comment_lookup !== array() || $comment_regexp !== null;
+
+ $remove_script_contents = $config->get('Core.RemoveScriptContents');
+ $hidden_elements = $config->get('Core.HiddenElements');
+
+ // remove script contents compatibility
+ if ($remove_script_contents === true) {
+ $hidden_elements['script'] = true;
+ } elseif ($remove_script_contents === false && isset($hidden_elements['script'])) {
+ unset($hidden_elements['script']);
+ }
+
+ $attr_validator = new HTMLPurifier_AttrValidator();
+
+ // removes tokens until it reaches a closing tag with its value
+ $remove_until = false;
+
+ // converts comments into text tokens when this is equal to a tag name
+ $textify_comments = false;
+
+ $token = false;
+ $context->register('CurrentToken', $token);
+
+ $e = false;
+ if ($config->get('Core.CollectErrors')) {
+ $e =& $context->get('ErrorCollector');
+ }
+
+ foreach ($tokens as $token) {
+ if ($remove_until) {
+ if (empty($token->is_tag) || $token->name !== $remove_until) {
+ continue;
+ }
+ }
+ if (!empty($token->is_tag)) {
+ // DEFINITION CALL
+
+ // before any processing, try to transform the element
+ if (isset($definition->info_tag_transform[$token->name])) {
+ $original_name = $token->name;
+ // there is a transformation for this tag
+ // DEFINITION CALL
+ $token = $definition->
+ info_tag_transform[$token->name]->transform($token, $config, $context);
+ if ($e) {
+ $e->send(E_NOTICE, 'Strategy_RemoveForeignElements: Tag transform', $original_name);
+ }
+ }
+
+ if (isset($definition->info[$token->name])) {
+ // mostly everything's good, but
+ // we need to make sure required attributes are in order
+ if (($token instanceof HTMLPurifier_Token_Start || $token instanceof HTMLPurifier_Token_Empty) &&
+ $definition->info[$token->name]->required_attr &&
+ ($token->name != 'img' || $remove_invalid_img) // ensure config option still works
+ ) {
+ $attr_validator->validateToken($token, $config, $context);
+ $ok = true;
+ foreach ($definition->info[$token->name]->required_attr as $name) {
+ if (!isset($token->attr[$name])) {
+ $ok = false;
+ break;
+ }
+ }
+ if (!$ok) {
+ if ($e) {
+ $e->send(
+ E_ERROR,
+ 'Strategy_RemoveForeignElements: Missing required attribute',
+ $name
+ );
+ }
+ continue;
+ }
+ $token->armor['ValidateAttributes'] = true;
+ }
+
+ if (isset($hidden_elements[$token->name]) && $token instanceof HTMLPurifier_Token_Start) {
+ $textify_comments = $token->name;
+ } elseif ($token->name === $textify_comments && $token instanceof HTMLPurifier_Token_End) {
+ $textify_comments = false;
+ }
+
+ } elseif ($escape_invalid_tags) {
+ // invalid tag, generate HTML representation and insert in
+ if ($e) {
+ $e->send(E_WARNING, 'Strategy_RemoveForeignElements: Foreign element to text');
+ }
+ $token = new HTMLPurifier_Token_Text(
+ $generator->generateFromToken($token)
+ );
+ } else {
+ // check if we need to destroy all of the tag's children
+ // CAN BE GENERICIZED
+ if (isset($hidden_elements[$token->name])) {
+ if ($token instanceof HTMLPurifier_Token_Start) {
+ $remove_until = $token->name;
+ } elseif ($token instanceof HTMLPurifier_Token_Empty) {
+ // do nothing: we're still looking
+ } else {
+ $remove_until = false;
+ }
+ if ($e) {
+ $e->send(E_ERROR, 'Strategy_RemoveForeignElements: Foreign meta element removed');
+ }
+ } else {
+ if ($e) {
+ $e->send(E_ERROR, 'Strategy_RemoveForeignElements: Foreign element removed');
+ }
+ }
+ continue;
+ }
+ } elseif ($token instanceof HTMLPurifier_Token_Comment) {
+ // textify comments in script tags when they are allowed
+ if ($textify_comments !== false) {
+ $data = $token->data;
+ $token = new HTMLPurifier_Token_Text($data);
+ } elseif ($trusted || $check_comments) {
+ // always cleanup comments
+ $trailing_hyphen = false;
+ if ($e) {
+ // perform check whether or not there's a trailing hyphen
+ if (substr($token->data, -1) == '-') {
+ $trailing_hyphen = true;
+ }
+ }
+ $token->data = rtrim($token->data, '-');
+ $found_double_hyphen = false;
+ while (strpos($token->data, '--') !== false) {
+ $found_double_hyphen = true;
+ $token->data = str_replace('--', '-', $token->data);
+ }
+ if ($trusted || !empty($comment_lookup[trim($token->data)]) ||
+ ($comment_regexp !== null && preg_match($comment_regexp, trim($token->data)))) {
+ // OK good
+ if ($e) {
+ if ($trailing_hyphen) {
+ $e->send(
+ E_NOTICE,
+ 'Strategy_RemoveForeignElements: Trailing hyphen in comment removed'
+ );
+ }
+ if ($found_double_hyphen) {
+ $e->send(E_NOTICE, 'Strategy_RemoveForeignElements: Hyphens in comment collapsed');
+ }
+ }
+ } else {
+ if ($e) {
+ $e->send(E_NOTICE, 'Strategy_RemoveForeignElements: Comment removed');
+ }
+ continue;
+ }
+ } else {
+ // strip comments
+ if ($e) {
+ $e->send(E_NOTICE, 'Strategy_RemoveForeignElements: Comment removed');
+ }
+ continue;
+ }
+ } elseif ($token instanceof HTMLPurifier_Token_Text) {
+ } else {
+ continue;
+ }
+ $result[] = $token;
+ }
+ if ($remove_until && $e) {
+ // we removed tokens until the end, throw error
+ $e->send(E_ERROR, 'Strategy_RemoveForeignElements: Token removed to end', $remove_until);
+ }
+ $context->destroy('CurrentToken');
+ return $result;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Strategy/ValidateAttributes.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Strategy/ValidateAttributes.php
new file mode 100644
index 000000000..fbb3d27c8
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Strategy/ValidateAttributes.php
@@ -0,0 +1,45 @@
+<?php
+
+/**
+ * Validate all attributes in the tokens.
+ */
+
+class HTMLPurifier_Strategy_ValidateAttributes extends HTMLPurifier_Strategy
+{
+
+ /**
+ * @param HTMLPurifier_Token[] $tokens
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return HTMLPurifier_Token[]
+ */
+ public function execute($tokens, $config, $context)
+ {
+ // setup validator
+ $validator = new HTMLPurifier_AttrValidator();
+
+ $token = false;
+ $context->register('CurrentToken', $token);
+
+ foreach ($tokens as $key => $token) {
+
+ // only process tokens that have attributes,
+ // namely start and empty tags
+ if (!$token instanceof HTMLPurifier_Token_Start && !$token instanceof HTMLPurifier_Token_Empty) {
+ continue;
+ }
+
+ // skip tokens that are armored
+ if (!empty($token->armor['ValidateAttributes'])) {
+ continue;
+ }
+
+ // note that we have no facilities here for removing tokens
+ $validator->validateToken($token, $config, $context);
+ }
+ $context->destroy('CurrentToken');
+ return $tokens;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/StringHash.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/StringHash.php
new file mode 100644
index 000000000..c07370197
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/StringHash.php
@@ -0,0 +1,47 @@
+<?php
+
+/**
+ * This is in almost every respect equivalent to an array except
+ * that it keeps track of which keys were accessed.
+ *
+ * @warning For the sake of backwards compatibility with early versions
+ * of PHP 5, you must not use the $hash[$key] syntax; if you do
+ * our version of offsetGet is never called.
+ */
+class HTMLPurifier_StringHash extends ArrayObject
+{
+ /**
+ * @type array
+ */
+ protected $accessed = array();
+
+ /**
+ * Retrieves a value, and logs the access.
+ * @param mixed $index
+ * @return mixed
+ */
+ public function offsetGet($index)
+ {
+ $this->accessed[$index] = true;
+ return parent::offsetGet($index);
+ }
+
+ /**
+ * Returns a lookup array of all array indexes that have been accessed.
+ * @return array in form array($index => true).
+ */
+ public function getAccessed()
+ {
+ return $this->accessed;
+ }
+
+ /**
+ * Resets the access array.
+ */
+ public function resetAccessed()
+ {
+ $this->accessed = array();
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/StringHashParser.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/StringHashParser.php
new file mode 100644
index 000000000..7c73f8083
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/StringHashParser.php
@@ -0,0 +1,136 @@
+<?php
+
+/**
+ * Parses string hash files. File format is as such:
+ *
+ * DefaultKeyValue
+ * KEY: Value
+ * KEY2: Value2
+ * --MULTILINE-KEY--
+ * Multiline
+ * value.
+ *
+ * Which would output something similar to:
+ *
+ * array(
+ * 'ID' => 'DefaultKeyValue',
+ * 'KEY' => 'Value',
+ * 'KEY2' => 'Value2',
+ * 'MULTILINE-KEY' => "Multiline\nvalue.\n",
+ * )
+ *
+ * We use this as an easy to use file-format for configuration schema
+ * files, but the class itself is usage agnostic.
+ *
+ * You can use ---- to forcibly terminate parsing of a single string-hash;
+ * this marker is used in multi string-hashes to delimit boundaries.
+ */
+class HTMLPurifier_StringHashParser
+{
+
+ /**
+ * @type string
+ */
+ public $default = 'ID';
+
+ /**
+ * Parses a file that contains a single string-hash.
+ * @param string $file
+ * @return array
+ */
+ public function parseFile($file)
+ {
+ if (!file_exists($file)) {
+ return false;
+ }
+ $fh = fopen($file, 'r');
+ if (!$fh) {
+ return false;
+ }
+ $ret = $this->parseHandle($fh);
+ fclose($fh);
+ return $ret;
+ }
+
+ /**
+ * Parses a file that contains multiple string-hashes delimited by '----'
+ * @param string $file
+ * @return array
+ */
+ public function parseMultiFile($file)
+ {
+ if (!file_exists($file)) {
+ return false;
+ }
+ $ret = array();
+ $fh = fopen($file, 'r');
+ if (!$fh) {
+ return false;
+ }
+ while (!feof($fh)) {
+ $ret[] = $this->parseHandle($fh);
+ }
+ fclose($fh);
+ return $ret;
+ }
+
+ /**
+ * Internal parser that acepts a file handle.
+ * @note While it's possible to simulate in-memory parsing by using
+ * custom stream wrappers, if such a use-case arises we should
+ * factor out the file handle into its own class.
+ * @param resource $fh File handle with pointer at start of valid string-hash
+ * block.
+ * @return array
+ */
+ protected function parseHandle($fh)
+ {
+ $state = false;
+ $single = false;
+ $ret = array();
+ do {
+ $line = fgets($fh);
+ if ($line === false) {
+ break;
+ }
+ $line = rtrim($line, "\n\r");
+ if (!$state && $line === '') {
+ continue;
+ }
+ if ($line === '----') {
+ break;
+ }
+ if (strncmp('--#', $line, 3) === 0) {
+ // Comment
+ continue;
+ } elseif (strncmp('--', $line, 2) === 0) {
+ // Multiline declaration
+ $state = trim($line, '- ');
+ if (!isset($ret[$state])) {
+ $ret[$state] = '';
+ }
+ continue;
+ } elseif (!$state) {
+ $single = true;
+ if (strpos($line, ':') !== false) {
+ // Single-line declaration
+ list($state, $line) = explode(':', $line, 2);
+ $line = trim($line);
+ } else {
+ // Use default declaration
+ $state = $this->default;
+ }
+ }
+ if ($single) {
+ $ret[$state] = $line;
+ $single = false;
+ $state = false;
+ } else {
+ $ret[$state] .= "$line\n";
+ }
+ } while (!feof($fh));
+ return $ret;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/TagTransform.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/TagTransform.php
new file mode 100644
index 000000000..7b8d83343
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/TagTransform.php
@@ -0,0 +1,37 @@
+<?php
+
+/**
+ * Defines a mutation of an obsolete tag into a valid tag.
+ */
+abstract class HTMLPurifier_TagTransform
+{
+
+ /**
+ * Tag name to transform the tag to.
+ * @type string
+ */
+ public $transform_to;
+
+ /**
+ * Transforms the obsolete tag into the valid tag.
+ * @param HTMLPurifier_Token_Tag $tag Tag to be transformed.
+ * @param HTMLPurifier_Config $config Mandatory HTMLPurifier_Config object
+ * @param HTMLPurifier_Context $context Mandatory HTMLPurifier_Context object
+ */
+ abstract public function transform($tag, $config, $context);
+
+ /**
+ * Prepends CSS properties to the style attribute, creating the
+ * attribute if it doesn't exist.
+ * @warning Copied over from AttrTransform, be sure to keep in sync
+ * @param array $attr Attribute array to process (passed by reference)
+ * @param string $css CSS to prepend
+ */
+ protected function prependCSS(&$attr, $css)
+ {
+ $attr['style'] = isset($attr['style']) ? $attr['style'] : '';
+ $attr['style'] = $css . $attr['style'];
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/TagTransform/Font.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/TagTransform/Font.php
new file mode 100644
index 000000000..7853d90bc
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/TagTransform/Font.php
@@ -0,0 +1,114 @@
+<?php
+
+/**
+ * Transforms FONT tags to the proper form (SPAN with CSS styling)
+ *
+ * This transformation takes the three proprietary attributes of FONT and
+ * transforms them into their corresponding CSS attributes. These are color,
+ * face, and size.
+ *
+ * @note Size is an interesting case because it doesn't map cleanly to CSS.
+ * Thanks to
+ * http://style.cleverchimp.com/font_size_intervals/altintervals.html
+ * for reasonable mappings.
+ * @warning This doesn't work completely correctly; specifically, this
+ * TagTransform operates before well-formedness is enforced, so
+ * the "active formatting elements" algorithm doesn't get applied.
+ */
+class HTMLPurifier_TagTransform_Font extends HTMLPurifier_TagTransform
+{
+ /**
+ * @type string
+ */
+ public $transform_to = 'span';
+
+ /**
+ * @type array
+ */
+ protected $_size_lookup = array(
+ '0' => 'xx-small',
+ '1' => 'xx-small',
+ '2' => 'small',
+ '3' => 'medium',
+ '4' => 'large',
+ '5' => 'x-large',
+ '6' => 'xx-large',
+ '7' => '300%',
+ '-1' => 'smaller',
+ '-2' => '60%',
+ '+1' => 'larger',
+ '+2' => '150%',
+ '+3' => '200%',
+ '+4' => '300%'
+ );
+
+ /**
+ * @param HTMLPurifier_Token_Tag $tag
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return HTMLPurifier_Token_End|string
+ */
+ public function transform($tag, $config, $context)
+ {
+ if ($tag instanceof HTMLPurifier_Token_End) {
+ $new_tag = clone $tag;
+ $new_tag->name = $this->transform_to;
+ return $new_tag;
+ }
+
+ $attr = $tag->attr;
+ $prepend_style = '';
+
+ // handle color transform
+ if (isset($attr['color'])) {
+ $prepend_style .= 'color:' . $attr['color'] . ';';
+ unset($attr['color']);
+ }
+
+ // handle face transform
+ if (isset($attr['face'])) {
+ $prepend_style .= 'font-family:' . $attr['face'] . ';';
+ unset($attr['face']);
+ }
+
+ // handle size transform
+ if (isset($attr['size'])) {
+ // normalize large numbers
+ if ($attr['size'] !== '') {
+ if ($attr['size']{0} == '+' || $attr['size']{0} == '-') {
+ $size = (int)$attr['size'];
+ if ($size < -2) {
+ $attr['size'] = '-2';
+ }
+ if ($size > 4) {
+ $attr['size'] = '+4';
+ }
+ } else {
+ $size = (int)$attr['size'];
+ if ($size > 7) {
+ $attr['size'] = '7';
+ }
+ }
+ }
+ if (isset($this->_size_lookup[$attr['size']])) {
+ $prepend_style .= 'font-size:' .
+ $this->_size_lookup[$attr['size']] . ';';
+ }
+ unset($attr['size']);
+ }
+
+ if ($prepend_style) {
+ $attr['style'] = isset($attr['style']) ?
+ $prepend_style . $attr['style'] :
+ $prepend_style;
+ }
+
+ $new_tag = clone $tag;
+ $new_tag->name = $this->transform_to;
+ $new_tag->attr = $attr;
+
+ return $new_tag;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/TagTransform/Simple.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/TagTransform/Simple.php
new file mode 100644
index 000000000..71bf10b91
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/TagTransform/Simple.php
@@ -0,0 +1,44 @@
+<?php
+
+/**
+ * Simple transformation, just change tag name to something else,
+ * and possibly add some styling. This will cover most of the deprecated
+ * tag cases.
+ */
+class HTMLPurifier_TagTransform_Simple extends HTMLPurifier_TagTransform
+{
+ /**
+ * @type string
+ */
+ protected $style;
+
+ /**
+ * @param string $transform_to Tag name to transform to.
+ * @param string $style CSS style to add to the tag
+ */
+ public function __construct($transform_to, $style = null)
+ {
+ $this->transform_to = $transform_to;
+ $this->style = $style;
+ }
+
+ /**
+ * @param HTMLPurifier_Token_Tag $tag
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return string
+ */
+ public function transform($tag, $config, $context)
+ {
+ $new_tag = clone $tag;
+ $new_tag->name = $this->transform_to;
+ if (!is_null($this->style) &&
+ ($new_tag instanceof HTMLPurifier_Token_Start || $new_tag instanceof HTMLPurifier_Token_Empty)
+ ) {
+ $this->prependCSS($new_tag->attr, $this->style);
+ }
+ return $new_tag;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Token.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Token.php
new file mode 100644
index 000000000..84d3619a3
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Token.php
@@ -0,0 +1,100 @@
+<?php
+
+/**
+ * Abstract base token class that all others inherit from.
+ */
+abstract class HTMLPurifier_Token
+{
+ /**
+ * Line number node was on in source document. Null if unknown.
+ * @type int
+ */
+ public $line;
+
+ /**
+ * Column of line node was on in source document. Null if unknown.
+ * @type int
+ */
+ public $col;
+
+ /**
+ * Lookup array of processing that this token is exempt from.
+ * Currently, valid values are "ValidateAttributes" and
+ * "MakeWellFormed_TagClosedError"
+ * @type array
+ */
+ public $armor = array();
+
+ /**
+ * Used during MakeWellFormed. See Note [Injector skips]
+ * @type
+ */
+ public $skip;
+
+ /**
+ * @type
+ */
+ public $rewind;
+
+ /**
+ * @type
+ */
+ public $carryover;
+
+ /**
+ * @param string $n
+ * @return null|string
+ */
+ public function __get($n)
+ {
+ if ($n === 'type') {
+ trigger_error('Deprecated type property called; use instanceof', E_USER_NOTICE);
+ switch (get_class($this)) {
+ case 'HTMLPurifier_Token_Start':
+ return 'start';
+ case 'HTMLPurifier_Token_Empty':
+ return 'empty';
+ case 'HTMLPurifier_Token_End':
+ return 'end';
+ case 'HTMLPurifier_Token_Text':
+ return 'text';
+ case 'HTMLPurifier_Token_Comment':
+ return 'comment';
+ default:
+ return null;
+ }
+ }
+ }
+
+ /**
+ * Sets the position of the token in the source document.
+ * @param int $l
+ * @param int $c
+ */
+ public function position($l = null, $c = null)
+ {
+ $this->line = $l;
+ $this->col = $c;
+ }
+
+ /**
+ * Convenience function for DirectLex settings line/col position.
+ * @param int $l
+ * @param int $c
+ */
+ public function rawPosition($l, $c)
+ {
+ if ($c === -1) {
+ $l++;
+ }
+ $this->line = $l;
+ $this->col = $c;
+ }
+
+ /**
+ * Converts a token into its corresponding node.
+ */
+ abstract public function toNode();
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Token/Comment.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Token/Comment.php
new file mode 100644
index 000000000..23453c705
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Token/Comment.php
@@ -0,0 +1,38 @@
+<?php
+
+/**
+ * Concrete comment token class. Generally will be ignored.
+ */
+class HTMLPurifier_Token_Comment extends HTMLPurifier_Token
+{
+ /**
+ * Character data within comment.
+ * @type string
+ */
+ public $data;
+
+ /**
+ * @type bool
+ */
+ public $is_whitespace = true;
+
+ /**
+ * Transparent constructor.
+ *
+ * @param string $data String comment data.
+ * @param int $line
+ * @param int $col
+ */
+ public function __construct($data, $line = null, $col = null)
+ {
+ $this->data = $data;
+ $this->line = $line;
+ $this->col = $col;
+ }
+
+ public function toNode() {
+ return new HTMLPurifier_Node_Comment($this->data, $this->line, $this->col);
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Token/Empty.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Token/Empty.php
new file mode 100644
index 000000000..78a95f555
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Token/Empty.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * Concrete empty token class.
+ */
+class HTMLPurifier_Token_Empty extends HTMLPurifier_Token_Tag
+{
+ public function toNode() {
+ $n = parent::toNode();
+ $n->empty = true;
+ return $n;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Token/End.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Token/End.php
new file mode 100644
index 000000000..59b38fdc5
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Token/End.php
@@ -0,0 +1,24 @@
+<?php
+
+/**
+ * Concrete end token class.
+ *
+ * @warning This class accepts attributes even though end tags cannot. This
+ * is for optimization reasons, as under normal circumstances, the Lexers
+ * do not pass attributes.
+ */
+class HTMLPurifier_Token_End extends HTMLPurifier_Token_Tag
+{
+ /**
+ * Token that started this node.
+ * Added by MakeWellFormed. Please do not edit this!
+ * @type HTMLPurifier_Token
+ */
+ public $start;
+
+ public function toNode() {
+ throw new Exception("HTMLPurifier_Token_End->toNode not supported!");
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Token/Start.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Token/Start.php
new file mode 100644
index 000000000..019f317ad
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Token/Start.php
@@ -0,0 +1,10 @@
+<?php
+
+/**
+ * Concrete start token class.
+ */
+class HTMLPurifier_Token_Start extends HTMLPurifier_Token_Tag
+{
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Token/Tag.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Token/Tag.php
new file mode 100644
index 000000000..d643fa64e
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Token/Tag.php
@@ -0,0 +1,68 @@
+<?php
+
+/**
+ * Abstract class of a tag token (start, end or empty), and its behavior.
+ */
+abstract class HTMLPurifier_Token_Tag extends HTMLPurifier_Token
+{
+ /**
+ * Static bool marker that indicates the class is a tag.
+ *
+ * This allows us to check objects with <tt>!empty($obj->is_tag)</tt>
+ * without having to use a function call <tt>is_a()</tt>.
+ * @type bool
+ */
+ public $is_tag = true;
+
+ /**
+ * The lower-case name of the tag, like 'a', 'b' or 'blockquote'.
+ *
+ * @note Strictly speaking, XML tags are case sensitive, so we shouldn't
+ * be lower-casing them, but these tokens cater to HTML tags, which are
+ * insensitive.
+ * @type string
+ */
+ public $name;
+
+ /**
+ * Associative array of the tag's attributes.
+ * @type array
+ */
+ public $attr = array();
+
+ /**
+ * Non-overloaded constructor, which lower-cases passed tag name.
+ *
+ * @param string $name String name.
+ * @param array $attr Associative array of attributes.
+ * @param int $line
+ * @param int $col
+ * @param array $armor
+ */
+ public function __construct($name, $attr = array(), $line = null, $col = null, $armor = array())
+ {
+ $this->name = ctype_lower($name) ? $name : strtolower($name);
+ foreach ($attr as $key => $value) {
+ // normalization only necessary when key is not lowercase
+ if (!ctype_lower($key)) {
+ $new_key = strtolower($key);
+ if (!isset($attr[$new_key])) {
+ $attr[$new_key] = $attr[$key];
+ }
+ if ($new_key !== $key) {
+ unset($attr[$key]);
+ }
+ }
+ }
+ $this->attr = $attr;
+ $this->line = $line;
+ $this->col = $col;
+ $this->armor = $armor;
+ }
+
+ public function toNode() {
+ return new HTMLPurifier_Node_Element($this->name, $this->attr, $this->line, $this->col, $this->armor);
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Token/Text.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Token/Text.php
new file mode 100644
index 000000000..f26a1c211
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Token/Text.php
@@ -0,0 +1,53 @@
+<?php
+
+/**
+ * Concrete text token class.
+ *
+ * Text tokens comprise of regular parsed character data (PCDATA) and raw
+ * character data (from the CDATA sections). Internally, their
+ * data is parsed with all entities expanded. Surprisingly, the text token
+ * does have a "tag name" called #PCDATA, which is how the DTD represents it
+ * in permissible child nodes.
+ */
+class HTMLPurifier_Token_Text extends HTMLPurifier_Token
+{
+
+ /**
+ * @type string
+ */
+ public $name = '#PCDATA';
+ /**< PCDATA tag name compatible with DTD. */
+
+ /**
+ * @type string
+ */
+ public $data;
+ /**< Parsed character data of text. */
+
+ /**
+ * @type bool
+ */
+ public $is_whitespace;
+
+ /**< Bool indicating if node is whitespace. */
+
+ /**
+ * Constructor, accepts data and determines if it is whitespace.
+ * @param string $data String parsed character data.
+ * @param int $line
+ * @param int $col
+ */
+ public function __construct($data, $line = null, $col = null)
+ {
+ $this->data = $data;
+ $this->is_whitespace = ctype_space($data);
+ $this->line = $line;
+ $this->col = $col;
+ }
+
+ public function toNode() {
+ return new HTMLPurifier_Node_Text($this->data, $this->is_whitespace, $this->line, $this->col);
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/TokenFactory.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/TokenFactory.php
new file mode 100644
index 000000000..dea2446b9
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/TokenFactory.php
@@ -0,0 +1,118 @@
+<?php
+
+/**
+ * Factory for token generation.
+ *
+ * @note Doing some benchmarking indicates that the new operator is much
+ * slower than the clone operator (even discounting the cost of the
+ * constructor). This class is for that optimization.
+ * Other then that, there's not much point as we don't
+ * maintain parallel HTMLPurifier_Token hierarchies (the main reason why
+ * you'd want to use an abstract factory).
+ * @todo Port DirectLex to use this
+ */
+class HTMLPurifier_TokenFactory
+{
+ // p stands for prototype
+
+ /**
+ * @type HTMLPurifier_Token_Start
+ */
+ private $p_start;
+
+ /**
+ * @type HTMLPurifier_Token_End
+ */
+ private $p_end;
+
+ /**
+ * @type HTMLPurifier_Token_Empty
+ */
+ private $p_empty;
+
+ /**
+ * @type HTMLPurifier_Token_Text
+ */
+ private $p_text;
+
+ /**
+ * @type HTMLPurifier_Token_Comment
+ */
+ private $p_comment;
+
+ /**
+ * Generates blank prototypes for cloning.
+ */
+ public function __construct()
+ {
+ $this->p_start = new HTMLPurifier_Token_Start('', array());
+ $this->p_end = new HTMLPurifier_Token_End('');
+ $this->p_empty = new HTMLPurifier_Token_Empty('', array());
+ $this->p_text = new HTMLPurifier_Token_Text('');
+ $this->p_comment = new HTMLPurifier_Token_Comment('');
+ }
+
+ /**
+ * Creates a HTMLPurifier_Token_Start.
+ * @param string $name Tag name
+ * @param array $attr Associative array of attributes
+ * @return HTMLPurifier_Token_Start Generated HTMLPurifier_Token_Start
+ */
+ public function createStart($name, $attr = array())
+ {
+ $p = clone $this->p_start;
+ $p->__construct($name, $attr);
+ return $p;
+ }
+
+ /**
+ * Creates a HTMLPurifier_Token_End.
+ * @param string $name Tag name
+ * @return HTMLPurifier_Token_End Generated HTMLPurifier_Token_End
+ */
+ public function createEnd($name)
+ {
+ $p = clone $this->p_end;
+ $p->__construct($name);
+ return $p;
+ }
+
+ /**
+ * Creates a HTMLPurifier_Token_Empty.
+ * @param string $name Tag name
+ * @param array $attr Associative array of attributes
+ * @return HTMLPurifier_Token_Empty Generated HTMLPurifier_Token_Empty
+ */
+ public function createEmpty($name, $attr = array())
+ {
+ $p = clone $this->p_empty;
+ $p->__construct($name, $attr);
+ return $p;
+ }
+
+ /**
+ * Creates a HTMLPurifier_Token_Text.
+ * @param string $data Data of text token
+ * @return HTMLPurifier_Token_Text Generated HTMLPurifier_Token_Text
+ */
+ public function createText($data)
+ {
+ $p = clone $this->p_text;
+ $p->__construct($data);
+ return $p;
+ }
+
+ /**
+ * Creates a HTMLPurifier_Token_Comment.
+ * @param string $data Data of comment token
+ * @return HTMLPurifier_Token_Comment Generated HTMLPurifier_Token_Comment
+ */
+ public function createComment($data)
+ {
+ $p = clone $this->p_comment;
+ $p->__construct($data);
+ return $p;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/URI.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/URI.php
new file mode 100644
index 000000000..9c5be39d1
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/URI.php
@@ -0,0 +1,316 @@
+<?php
+
+/**
+ * HTML Purifier's internal representation of a URI.
+ * @note
+ * Internal data-structures are completely escaped. If the data needs
+ * to be used in a non-URI context (which is very unlikely), be sure
+ * to decode it first. The URI may not necessarily be well-formed until
+ * validate() is called.
+ */
+class HTMLPurifier_URI
+{
+ /**
+ * @type string
+ */
+ public $scheme;
+
+ /**
+ * @type string
+ */
+ public $userinfo;
+
+ /**
+ * @type string
+ */
+ public $host;
+
+ /**
+ * @type int
+ */
+ public $port;
+
+ /**
+ * @type string
+ */
+ public $path;
+
+ /**
+ * @type string
+ */
+ public $query;
+
+ /**
+ * @type string
+ */
+ public $fragment;
+
+ /**
+ * @param string $scheme
+ * @param string $userinfo
+ * @param string $host
+ * @param int $port
+ * @param string $path
+ * @param string $query
+ * @param string $fragment
+ * @note Automatically normalizes scheme and port
+ */
+ public function __construct($scheme, $userinfo, $host, $port, $path, $query, $fragment)
+ {
+ $this->scheme = is_null($scheme) || ctype_lower($scheme) ? $scheme : strtolower($scheme);
+ $this->userinfo = $userinfo;
+ $this->host = $host;
+ $this->port = is_null($port) ? $port : (int)$port;
+ $this->path = $path;
+ $this->query = $query;
+ $this->fragment = $fragment;
+ }
+
+ /**
+ * Retrieves a scheme object corresponding to the URI's scheme/default
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return HTMLPurifier_URIScheme Scheme object appropriate for validating this URI
+ */
+ public function getSchemeObj($config, $context)
+ {
+ $registry = HTMLPurifier_URISchemeRegistry::instance();
+ if ($this->scheme !== null) {
+ $scheme_obj = $registry->getScheme($this->scheme, $config, $context);
+ if (!$scheme_obj) {
+ return false;
+ } // invalid scheme, clean it out
+ } else {
+ // no scheme: retrieve the default one
+ $def = $config->getDefinition('URI');
+ $scheme_obj = $def->getDefaultScheme($config, $context);
+ if (!$scheme_obj) {
+ if ($def->defaultScheme !== null) {
+ // something funky happened to the default scheme object
+ trigger_error(
+ 'Default scheme object "' . $def->defaultScheme . '" was not readable',
+ E_USER_WARNING
+ );
+ } // suppress error if it's null
+ return false;
+ }
+ }
+ return $scheme_obj;
+ }
+
+ /**
+ * Generic validation method applicable for all schemes. May modify
+ * this URI in order to get it into a compliant form.
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool True if validation/filtering succeeds, false if failure
+ */
+ public function validate($config, $context)
+ {
+ // ABNF definitions from RFC 3986
+ $chars_sub_delims = '!$&\'()*+,;=';
+ $chars_gen_delims = ':/?#[]@';
+ $chars_pchar = $chars_sub_delims . ':@';
+
+ // validate host
+ if (!is_null($this->host)) {
+ $host_def = new HTMLPurifier_AttrDef_URI_Host();
+ $this->host = $host_def->validate($this->host, $config, $context);
+ if ($this->host === false) {
+ $this->host = null;
+ }
+ }
+
+ // validate scheme
+ // NOTE: It's not appropriate to check whether or not this
+ // scheme is in our registry, since a URIFilter may convert a
+ // URI that we don't allow into one we do. So instead, we just
+ // check if the scheme can be dropped because there is no host
+ // and it is our default scheme.
+ if (!is_null($this->scheme) && is_null($this->host) || $this->host === '') {
+ // support for relative paths is pretty abysmal when the
+ // scheme is present, so axe it when possible
+ $def = $config->getDefinition('URI');
+ if ($def->defaultScheme === $this->scheme) {
+ $this->scheme = null;
+ }
+ }
+
+ // validate username
+ if (!is_null($this->userinfo)) {
+ $encoder = new HTMLPurifier_PercentEncoder($chars_sub_delims . ':');
+ $this->userinfo = $encoder->encode($this->userinfo);
+ }
+
+ // validate port
+ if (!is_null($this->port)) {
+ if ($this->port < 1 || $this->port > 65535) {
+ $this->port = null;
+ }
+ }
+
+ // validate path
+ $segments_encoder = new HTMLPurifier_PercentEncoder($chars_pchar . '/');
+ if (!is_null($this->host)) { // this catches $this->host === ''
+ // path-abempty (hier and relative)
+ // http://www.example.com/my/path
+ // //www.example.com/my/path (looks odd, but works, and
+ // recognized by most browsers)
+ // (this set is valid or invalid on a scheme by scheme
+ // basis, so we'll deal with it later)
+ // file:///my/path
+ // ///my/path
+ $this->path = $segments_encoder->encode($this->path);
+ } elseif ($this->path !== '') {
+ if ($this->path[0] === '/') {
+ // path-absolute (hier and relative)
+ // http:/my/path
+ // /my/path
+ if (strlen($this->path) >= 2 && $this->path[1] === '/') {
+ // This could happen if both the host gets stripped
+ // out
+ // http://my/path
+ // //my/path
+ $this->path = '';
+ } else {
+ $this->path = $segments_encoder->encode($this->path);
+ }
+ } elseif (!is_null($this->scheme)) {
+ // path-rootless (hier)
+ // http:my/path
+ // Short circuit evaluation means we don't need to check nz
+ $this->path = $segments_encoder->encode($this->path);
+ } else {
+ // path-noscheme (relative)
+ // my/path
+ // (once again, not checking nz)
+ $segment_nc_encoder = new HTMLPurifier_PercentEncoder($chars_sub_delims . '@');
+ $c = strpos($this->path, '/');
+ if ($c !== false) {
+ $this->path =
+ $segment_nc_encoder->encode(substr($this->path, 0, $c)) .
+ $segments_encoder->encode(substr($this->path, $c));
+ } else {
+ $this->path = $segment_nc_encoder->encode($this->path);
+ }
+ }
+ } else {
+ // path-empty (hier and relative)
+ $this->path = ''; // just to be safe
+ }
+
+ // qf = query and fragment
+ $qf_encoder = new HTMLPurifier_PercentEncoder($chars_pchar . '/?');
+
+ if (!is_null($this->query)) {
+ $this->query = $qf_encoder->encode($this->query);
+ }
+
+ if (!is_null($this->fragment)) {
+ $this->fragment = $qf_encoder->encode($this->fragment);
+ }
+ return true;
+ }
+
+ /**
+ * Convert URI back to string
+ * @return string URI appropriate for output
+ */
+ public function toString()
+ {
+ // reconstruct authority
+ $authority = null;
+ // there is a rendering difference between a null authority
+ // (http:foo-bar) and an empty string authority
+ // (http:///foo-bar).
+ if (!is_null($this->host)) {
+ $authority = '';
+ if (!is_null($this->userinfo)) {
+ $authority .= $this->userinfo . '@';
+ }
+ $authority .= $this->host;
+ if (!is_null($this->port)) {
+ $authority .= ':' . $this->port;
+ }
+ }
+
+ // Reconstruct the result
+ // One might wonder about parsing quirks from browsers after
+ // this reconstruction. Unfortunately, parsing behavior depends
+ // on what *scheme* was employed (file:///foo is handled *very*
+ // differently than http:///foo), so unfortunately we have to
+ // defer to the schemes to do the right thing.
+ $result = '';
+ if (!is_null($this->scheme)) {
+ $result .= $this->scheme . ':';
+ }
+ if (!is_null($authority)) {
+ $result .= '//' . $authority;
+ }
+ $result .= $this->path;
+ if (!is_null($this->query)) {
+ $result .= '?' . $this->query;
+ }
+ if (!is_null($this->fragment)) {
+ $result .= '#' . $this->fragment;
+ }
+
+ return $result;
+ }
+
+ /**
+ * Returns true if this URL might be considered a 'local' URL given
+ * the current context. This is true when the host is null, or
+ * when it matches the host supplied to the configuration.
+ *
+ * Note that this does not do any scheme checking, so it is mostly
+ * only appropriate for metadata that doesn't care about protocol
+ * security. isBenign is probably what you actually want.
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool
+ */
+ public function isLocal($config, $context)
+ {
+ if ($this->host === null) {
+ return true;
+ }
+ $uri_def = $config->getDefinition('URI');
+ if ($uri_def->host === $this->host) {
+ return true;
+ }
+ return false;
+ }
+
+ /**
+ * Returns true if this URL should be considered a 'benign' URL,
+ * that is:
+ *
+ * - It is a local URL (isLocal), and
+ * - It has a equal or better level of security
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool
+ */
+ public function isBenign($config, $context)
+ {
+ if (!$this->isLocal($config, $context)) {
+ return false;
+ }
+
+ $scheme_obj = $this->getSchemeObj($config, $context);
+ if (!$scheme_obj) {
+ return false;
+ } // conservative approach
+
+ $current_scheme_obj = $config->getDefinition('URI')->getDefaultScheme($config, $context);
+ if ($current_scheme_obj->secure) {
+ if (!$scheme_obj->secure) {
+ return false;
+ }
+ }
+ return true;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIDefinition.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIDefinition.php
new file mode 100644
index 000000000..e0bd8bcca
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIDefinition.php
@@ -0,0 +1,112 @@
+<?php
+
+class HTMLPurifier_URIDefinition extends HTMLPurifier_Definition
+{
+
+ public $type = 'URI';
+ protected $filters = array();
+ protected $postFilters = array();
+ protected $registeredFilters = array();
+
+ /**
+ * HTMLPurifier_URI object of the base specified at %URI.Base
+ */
+ public $base;
+
+ /**
+ * String host to consider "home" base, derived off of $base
+ */
+ public $host;
+
+ /**
+ * Name of default scheme based on %URI.DefaultScheme and %URI.Base
+ */
+ public $defaultScheme;
+
+ public function __construct()
+ {
+ $this->registerFilter(new HTMLPurifier_URIFilter_DisableExternal());
+ $this->registerFilter(new HTMLPurifier_URIFilter_DisableExternalResources());
+ $this->registerFilter(new HTMLPurifier_URIFilter_DisableResources());
+ $this->registerFilter(new HTMLPurifier_URIFilter_HostBlacklist());
+ $this->registerFilter(new HTMLPurifier_URIFilter_SafeIframe());
+ $this->registerFilter(new HTMLPurifier_URIFilter_MakeAbsolute());
+ $this->registerFilter(new HTMLPurifier_URIFilter_Munge());
+ }
+
+ public function registerFilter($filter)
+ {
+ $this->registeredFilters[$filter->name] = $filter;
+ }
+
+ public function addFilter($filter, $config)
+ {
+ $r = $filter->prepare($config);
+ if ($r === false) return; // null is ok, for backwards compat
+ if ($filter->post) {
+ $this->postFilters[$filter->name] = $filter;
+ } else {
+ $this->filters[$filter->name] = $filter;
+ }
+ }
+
+ protected function doSetup($config)
+ {
+ $this->setupMemberVariables($config);
+ $this->setupFilters($config);
+ }
+
+ protected function setupFilters($config)
+ {
+ foreach ($this->registeredFilters as $name => $filter) {
+ if ($filter->always_load) {
+ $this->addFilter($filter, $config);
+ } else {
+ $conf = $config->get('URI.' . $name);
+ if ($conf !== false && $conf !== null) {
+ $this->addFilter($filter, $config);
+ }
+ }
+ }
+ unset($this->registeredFilters);
+ }
+
+ protected function setupMemberVariables($config)
+ {
+ $this->host = $config->get('URI.Host');
+ $base_uri = $config->get('URI.Base');
+ if (!is_null($base_uri)) {
+ $parser = new HTMLPurifier_URIParser();
+ $this->base = $parser->parse($base_uri);
+ $this->defaultScheme = $this->base->scheme;
+ if (is_null($this->host)) $this->host = $this->base->host;
+ }
+ if (is_null($this->defaultScheme)) $this->defaultScheme = $config->get('URI.DefaultScheme');
+ }
+
+ public function getDefaultScheme($config, $context)
+ {
+ return HTMLPurifier_URISchemeRegistry::instance()->getScheme($this->defaultScheme, $config, $context);
+ }
+
+ public function filter(&$uri, $config, $context)
+ {
+ foreach ($this->filters as $name => $f) {
+ $result = $f->filter($uri, $config, $context);
+ if (!$result) return false;
+ }
+ return true;
+ }
+
+ public function postFilter(&$uri, $config, $context)
+ {
+ foreach ($this->postFilters as $name => $f) {
+ $result = $f->filter($uri, $config, $context);
+ if (!$result) return false;
+ }
+ return true;
+ }
+
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIFilter.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIFilter.php
new file mode 100644
index 000000000..09724e9f4
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIFilter.php
@@ -0,0 +1,74 @@
+<?php
+
+/**
+ * Chainable filters for custom URI processing.
+ *
+ * These filters can perform custom actions on a URI filter object,
+ * including transformation or blacklisting. A filter named Foo
+ * must have a corresponding configuration directive %URI.Foo,
+ * unless always_load is specified to be true.
+ *
+ * The following contexts may be available while URIFilters are being
+ * processed:
+ *
+ * - EmbeddedURI: true if URI is an embedded resource that will
+ * be loaded automatically on page load
+ * - CurrentToken: a reference to the token that is currently
+ * being processed
+ * - CurrentAttr: the name of the attribute that is currently being
+ * processed
+ * - CurrentCSSProperty: the name of the CSS property that is
+ * currently being processed (if applicable)
+ *
+ * @warning This filter is called before scheme object validation occurs.
+ * Make sure, if you require a specific scheme object, you
+ * you check that it exists. This allows filters to convert
+ * proprietary URI schemes into regular ones.
+ */
+abstract class HTMLPurifier_URIFilter
+{
+
+ /**
+ * Unique identifier of filter.
+ * @type string
+ */
+ public $name;
+
+ /**
+ * True if this filter should be run after scheme validation.
+ * @type bool
+ */
+ public $post = false;
+
+ /**
+ * True if this filter should always be loaded.
+ * This permits a filter to be named Foo without the corresponding
+ * %URI.Foo directive existing.
+ * @type bool
+ */
+ public $always_load = false;
+
+ /**
+ * Performs initialization for the filter. If the filter returns
+ * false, this means that it shouldn't be considered active.
+ * @param HTMLPurifier_Config $config
+ * @return bool
+ */
+ public function prepare($config)
+ {
+ return true;
+ }
+
+ /**
+ * Filter a URI object
+ * @param HTMLPurifier_URI $uri Reference to URI object variable
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool Whether or not to continue processing: false indicates
+ * URL is no good, true indicates continue processing. Note that
+ * all changes are committed directly on the URI object
+ */
+ abstract public function filter(&$uri, $config, $context);
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIFilter/DisableExternal.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIFilter/DisableExternal.php
new file mode 100644
index 000000000..ced1b1376
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIFilter/DisableExternal.php
@@ -0,0 +1,54 @@
+<?php
+
+class HTMLPurifier_URIFilter_DisableExternal extends HTMLPurifier_URIFilter
+{
+ /**
+ * @type string
+ */
+ public $name = 'DisableExternal';
+
+ /**
+ * @type array
+ */
+ protected $ourHostParts = false;
+
+ /**
+ * @param HTMLPurifier_Config $config
+ * @return void
+ */
+ public function prepare($config)
+ {
+ $our_host = $config->getDefinition('URI')->host;
+ if ($our_host !== null) {
+ $this->ourHostParts = array_reverse(explode('.', $our_host));
+ }
+ }
+
+ /**
+ * @param HTMLPurifier_URI $uri Reference
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool
+ */
+ public function filter(&$uri, $config, $context)
+ {
+ if (is_null($uri->host)) {
+ return true;
+ }
+ if ($this->ourHostParts === false) {
+ return false;
+ }
+ $host_parts = array_reverse(explode('.', $uri->host));
+ foreach ($this->ourHostParts as $i => $x) {
+ if (!isset($host_parts[$i])) {
+ return false;
+ }
+ if ($host_parts[$i] != $this->ourHostParts[$i]) {
+ return false;
+ }
+ }
+ return true;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIFilter/DisableExternalResources.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIFilter/DisableExternalResources.php
new file mode 100644
index 000000000..c6562169e
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIFilter/DisableExternalResources.php
@@ -0,0 +1,25 @@
+<?php
+
+class HTMLPurifier_URIFilter_DisableExternalResources extends HTMLPurifier_URIFilter_DisableExternal
+{
+ /**
+ * @type string
+ */
+ public $name = 'DisableExternalResources';
+
+ /**
+ * @param HTMLPurifier_URI $uri
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool
+ */
+ public function filter(&$uri, $config, $context)
+ {
+ if (!$context->get('EmbeddedURI', true)) {
+ return true;
+ }
+ return parent::filter($uri, $config, $context);
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIFilter/DisableResources.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIFilter/DisableResources.php
new file mode 100644
index 000000000..d5c412c44
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIFilter/DisableResources.php
@@ -0,0 +1,22 @@
+<?php
+
+class HTMLPurifier_URIFilter_DisableResources extends HTMLPurifier_URIFilter
+{
+ /**
+ * @type string
+ */
+ public $name = 'DisableResources';
+
+ /**
+ * @param HTMLPurifier_URI $uri
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool
+ */
+ public function filter(&$uri, $config, $context)
+ {
+ return !$context->get('EmbeddedURI', true);
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIFilter/HostBlacklist.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIFilter/HostBlacklist.php
new file mode 100644
index 000000000..a6645c17e
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIFilter/HostBlacklist.php
@@ -0,0 +1,46 @@
+<?php
+
+// It's not clear to me whether or not Punycode means that hostnames
+// do not have canonical forms anymore. As far as I can tell, it's
+// not a problem (punycoding should be identity when no Unicode
+// points are involved), but I'm not 100% sure
+class HTMLPurifier_URIFilter_HostBlacklist extends HTMLPurifier_URIFilter
+{
+ /**
+ * @type string
+ */
+ public $name = 'HostBlacklist';
+
+ /**
+ * @type array
+ */
+ protected $blacklist = array();
+
+ /**
+ * @param HTMLPurifier_Config $config
+ * @return bool
+ */
+ public function prepare($config)
+ {
+ $this->blacklist = $config->get('URI.HostBlacklist');
+ return true;
+ }
+
+ /**
+ * @param HTMLPurifier_URI $uri
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool
+ */
+ public function filter(&$uri, $config, $context)
+ {
+ foreach ($this->blacklist as $blacklisted_host_fragment) {
+ if (strpos($uri->host, $blacklisted_host_fragment) !== false) {
+ return false;
+ }
+ }
+ return true;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIFilter/MakeAbsolute.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIFilter/MakeAbsolute.php
new file mode 100644
index 000000000..c507bbff8
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIFilter/MakeAbsolute.php
@@ -0,0 +1,158 @@
+<?php
+
+// does not support network paths
+
+class HTMLPurifier_URIFilter_MakeAbsolute extends HTMLPurifier_URIFilter
+{
+ /**
+ * @type string
+ */
+ public $name = 'MakeAbsolute';
+
+ /**
+ * @type
+ */
+ protected $base;
+
+ /**
+ * @type array
+ */
+ protected $basePathStack = array();
+
+ /**
+ * @param HTMLPurifier_Config $config
+ * @return bool
+ */
+ public function prepare($config)
+ {
+ $def = $config->getDefinition('URI');
+ $this->base = $def->base;
+ if (is_null($this->base)) {
+ trigger_error(
+ 'URI.MakeAbsolute is being ignored due to lack of ' .
+ 'value for URI.Base configuration',
+ E_USER_WARNING
+ );
+ return false;
+ }
+ $this->base->fragment = null; // fragment is invalid for base URI
+ $stack = explode('/', $this->base->path);
+ array_pop($stack); // discard last segment
+ $stack = $this->_collapseStack($stack); // do pre-parsing
+ $this->basePathStack = $stack;
+ return true;
+ }
+
+ /**
+ * @param HTMLPurifier_URI $uri
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool
+ */
+ public function filter(&$uri, $config, $context)
+ {
+ if (is_null($this->base)) {
+ return true;
+ } // abort early
+ if ($uri->path === '' && is_null($uri->scheme) &&
+ is_null($uri->host) && is_null($uri->query) && is_null($uri->fragment)) {
+ // reference to current document
+ $uri = clone $this->base;
+ return true;
+ }
+ if (!is_null($uri->scheme)) {
+ // absolute URI already: don't change
+ if (!is_null($uri->host)) {
+ return true;
+ }
+ $scheme_obj = $uri->getSchemeObj($config, $context);
+ if (!$scheme_obj) {
+ // scheme not recognized
+ return false;
+ }
+ if (!$scheme_obj->hierarchical) {
+ // non-hierarchal URI with explicit scheme, don't change
+ return true;
+ }
+ // special case: had a scheme but always is hierarchical and had no authority
+ }
+ if (!is_null($uri->host)) {
+ // network path, don't bother
+ return true;
+ }
+ if ($uri->path === '') {
+ $uri->path = $this->base->path;
+ } elseif ($uri->path[0] !== '/') {
+ // relative path, needs more complicated processing
+ $stack = explode('/', $uri->path);
+ $new_stack = array_merge($this->basePathStack, $stack);
+ if ($new_stack[0] !== '' && !is_null($this->base->host)) {
+ array_unshift($new_stack, '');
+ }
+ $new_stack = $this->_collapseStack($new_stack);
+ $uri->path = implode('/', $new_stack);
+ } else {
+ // absolute path, but still we should collapse
+ $uri->path = implode('/', $this->_collapseStack(explode('/', $uri->path)));
+ }
+ // re-combine
+ $uri->scheme = $this->base->scheme;
+ if (is_null($uri->userinfo)) {
+ $uri->userinfo = $this->base->userinfo;
+ }
+ if (is_null($uri->host)) {
+ $uri->host = $this->base->host;
+ }
+ if (is_null($uri->port)) {
+ $uri->port = $this->base->port;
+ }
+ return true;
+ }
+
+ /**
+ * Resolve dots and double-dots in a path stack
+ * @param array $stack
+ * @return array
+ */
+ private function _collapseStack($stack)
+ {
+ $result = array();
+ $is_folder = false;
+ for ($i = 0; isset($stack[$i]); $i++) {
+ $is_folder = false;
+ // absorb an internally duplicated slash
+ if ($stack[$i] == '' && $i && isset($stack[$i + 1])) {
+ continue;
+ }
+ if ($stack[$i] == '..') {
+ if (!empty($result)) {
+ $segment = array_pop($result);
+ if ($segment === '' && empty($result)) {
+ // error case: attempted to back out too far:
+ // restore the leading slash
+ $result[] = '';
+ } elseif ($segment === '..') {
+ $result[] = '..'; // cannot remove .. with ..
+ }
+ } else {
+ // relative path, preserve the double-dots
+ $result[] = '..';
+ }
+ $is_folder = true;
+ continue;
+ }
+ if ($stack[$i] == '.') {
+ // silently absorb
+ $is_folder = true;
+ continue;
+ }
+ $result[] = $stack[$i];
+ }
+ if ($is_folder) {
+ $result[] = '';
+ }
+ return $result;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIFilter/Munge.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIFilter/Munge.php
new file mode 100644
index 000000000..6e03315a1
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIFilter/Munge.php
@@ -0,0 +1,115 @@
+<?php
+
+class HTMLPurifier_URIFilter_Munge extends HTMLPurifier_URIFilter
+{
+ /**
+ * @type string
+ */
+ public $name = 'Munge';
+
+ /**
+ * @type bool
+ */
+ public $post = true;
+
+ /**
+ * @type string
+ */
+ private $target;
+
+ /**
+ * @type HTMLPurifier_URIParser
+ */
+ private $parser;
+
+ /**
+ * @type bool
+ */
+ private $doEmbed;
+
+ /**
+ * @type string
+ */
+ private $secretKey;
+
+ /**
+ * @type array
+ */
+ protected $replace = array();
+
+ /**
+ * @param HTMLPurifier_Config $config
+ * @return bool
+ */
+ public function prepare($config)
+ {
+ $this->target = $config->get('URI.' . $this->name);
+ $this->parser = new HTMLPurifier_URIParser();
+ $this->doEmbed = $config->get('URI.MungeResources');
+ $this->secretKey = $config->get('URI.MungeSecretKey');
+ if ($this->secretKey && !function_exists('hash_hmac')) {
+ throw new Exception("Cannot use %URI.MungeSecretKey without hash_hmac support.");
+ }
+ return true;
+ }
+
+ /**
+ * @param HTMLPurifier_URI $uri
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool
+ */
+ public function filter(&$uri, $config, $context)
+ {
+ if ($context->get('EmbeddedURI', true) && !$this->doEmbed) {
+ return true;
+ }
+
+ $scheme_obj = $uri->getSchemeObj($config, $context);
+ if (!$scheme_obj) {
+ return true;
+ } // ignore unknown schemes, maybe another postfilter did it
+ if (!$scheme_obj->browsable) {
+ return true;
+ } // ignore non-browseable schemes, since we can't munge those in a reasonable way
+ if ($uri->isBenign($config, $context)) {
+ return true;
+ } // don't redirect if a benign URL
+
+ $this->makeReplace($uri, $config, $context);
+ $this->replace = array_map('rawurlencode', $this->replace);
+
+ $new_uri = strtr($this->target, $this->replace);
+ $new_uri = $this->parser->parse($new_uri);
+ // don't redirect if the target host is the same as the
+ // starting host
+ if ($uri->host === $new_uri->host) {
+ return true;
+ }
+ $uri = $new_uri; // overwrite
+ return true;
+ }
+
+ /**
+ * @param HTMLPurifier_URI $uri
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ */
+ protected function makeReplace($uri, $config, $context)
+ {
+ $string = $uri->toString();
+ // always available
+ $this->replace['%s'] = $string;
+ $this->replace['%r'] = $context->get('EmbeddedURI', true);
+ $token = $context->get('CurrentToken', true);
+ $this->replace['%n'] = $token ? $token->name : null;
+ $this->replace['%m'] = $context->get('CurrentAttr', true);
+ $this->replace['%p'] = $context->get('CurrentCSSProperty', true);
+ // not always available
+ if ($this->secretKey) {
+ $this->replace['%t'] = hash_hmac("sha256", $string, $this->secretKey);
+ }
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIFilter/SafeIframe.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIFilter/SafeIframe.php
new file mode 100644
index 000000000..f609c47a3
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIFilter/SafeIframe.php
@@ -0,0 +1,68 @@
+<?php
+
+/**
+ * Implements safety checks for safe iframes.
+ *
+ * @warning This filter is *critical* for ensuring that %HTML.SafeIframe
+ * works safely.
+ */
+class HTMLPurifier_URIFilter_SafeIframe extends HTMLPurifier_URIFilter
+{
+ /**
+ * @type string
+ */
+ public $name = 'SafeIframe';
+
+ /**
+ * @type bool
+ */
+ public $always_load = true;
+
+ /**
+ * @type string
+ */
+ protected $regexp = null;
+
+ // XXX: The not so good bit about how this is all set up now is we
+ // can't check HTML.SafeIframe in the 'prepare' step: we have to
+ // defer till the actual filtering.
+ /**
+ * @param HTMLPurifier_Config $config
+ * @return bool
+ */
+ public function prepare($config)
+ {
+ $this->regexp = $config->get('URI.SafeIframeRegexp');
+ return true;
+ }
+
+ /**
+ * @param HTMLPurifier_URI $uri
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool
+ */
+ public function filter(&$uri, $config, $context)
+ {
+ // check if filter not applicable
+ if (!$config->get('HTML.SafeIframe')) {
+ return true;
+ }
+ // check if the filter should actually trigger
+ if (!$context->get('EmbeddedURI', true)) {
+ return true;
+ }
+ $token = $context->get('CurrentToken', true);
+ if (!($token && $token->name == 'iframe')) {
+ return true;
+ }
+ // check if we actually have some whitelists enabled
+ if ($this->regexp === null) {
+ return false;
+ }
+ // actually check the whitelists
+ return preg_match($this->regexp, $uri->toString());
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIParser.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIParser.php
new file mode 100644
index 000000000..0e7381a07
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIParser.php
@@ -0,0 +1,71 @@
+<?php
+
+/**
+ * Parses a URI into the components and fragment identifier as specified
+ * by RFC 3986.
+ */
+class HTMLPurifier_URIParser
+{
+
+ /**
+ * Instance of HTMLPurifier_PercentEncoder to do normalization with.
+ */
+ protected $percentEncoder;
+
+ public function __construct()
+ {
+ $this->percentEncoder = new HTMLPurifier_PercentEncoder();
+ }
+
+ /**
+ * Parses a URI.
+ * @param $uri string URI to parse
+ * @return HTMLPurifier_URI representation of URI. This representation has
+ * not been validated yet and may not conform to RFC.
+ */
+ public function parse($uri)
+ {
+ $uri = $this->percentEncoder->normalize($uri);
+
+ // Regexp is as per Appendix B.
+ // Note that ["<>] are an addition to the RFC's recommended
+ // characters, because they represent external delimeters.
+ $r_URI = '!'.
+ '(([a-zA-Z0-9\.\+\-]+):)?'. // 2. Scheme
+ '(//([^/?#"<>]*))?'. // 4. Authority
+ '([^?#"<>]*)'. // 5. Path
+ '(\?([^#"<>]*))?'. // 7. Query
+ '(#([^"<>]*))?'. // 8. Fragment
+ '!';
+
+ $matches = array();
+ $result = preg_match($r_URI, $uri, $matches);
+
+ if (!$result) return false; // *really* invalid URI
+
+ // seperate out parts
+ $scheme = !empty($matches[1]) ? $matches[2] : null;
+ $authority = !empty($matches[3]) ? $matches[4] : null;
+ $path = $matches[5]; // always present, can be empty
+ $query = !empty($matches[6]) ? $matches[7] : null;
+ $fragment = !empty($matches[8]) ? $matches[9] : null;
+
+ // further parse authority
+ if ($authority !== null) {
+ $r_authority = "/^((.+?)@)?(\[[^\]]+\]|[^:]*)(:(\d*))?/";
+ $matches = array();
+ preg_match($r_authority, $authority, $matches);
+ $userinfo = !empty($matches[1]) ? $matches[2] : null;
+ $host = !empty($matches[3]) ? $matches[3] : '';
+ $port = !empty($matches[4]) ? (int) $matches[5] : null;
+ } else {
+ $port = $host = $userinfo = null;
+ }
+
+ return new HTMLPurifier_URI(
+ $scheme, $userinfo, $host, $port, $path, $query, $fragment);
+ }
+
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme.php
new file mode 100644
index 000000000..fe9e82cf2
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme.php
@@ -0,0 +1,102 @@
+<?php
+
+/**
+ * Validator for the components of a URI for a specific scheme
+ */
+abstract class HTMLPurifier_URIScheme
+{
+
+ /**
+ * Scheme's default port (integer). If an explicit port number is
+ * specified that coincides with the default port, it will be
+ * elided.
+ * @type int
+ */
+ public $default_port = null;
+
+ /**
+ * Whether or not URIs of this scheme are locatable by a browser
+ * http and ftp are accessible, while mailto and news are not.
+ * @type bool
+ */
+ public $browsable = false;
+
+ /**
+ * Whether or not data transmitted over this scheme is encrypted.
+ * https is secure, http is not.
+ * @type bool
+ */
+ public $secure = false;
+
+ /**
+ * Whether or not the URI always uses <hier_part>, resolves edge cases
+ * with making relative URIs absolute
+ * @type bool
+ */
+ public $hierarchical = false;
+
+ /**
+ * Whether or not the URI may omit a hostname when the scheme is
+ * explicitly specified, ala file:///path/to/file. As of writing,
+ * 'file' is the only scheme that browsers support his properly.
+ * @type bool
+ */
+ public $may_omit_host = false;
+
+ /**
+ * Validates the components of a URI for a specific scheme.
+ * @param HTMLPurifier_URI $uri Reference to a HTMLPurifier_URI object
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool success or failure
+ */
+ abstract public function doValidate(&$uri, $config, $context);
+
+ /**
+ * Public interface for validating components of a URI. Performs a
+ * bunch of default actions. Don't overload this method.
+ * @param HTMLPurifier_URI $uri Reference to a HTMLPurifier_URI object
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool success or failure
+ */
+ public function validate(&$uri, $config, $context)
+ {
+ if ($this->default_port == $uri->port) {
+ $uri->port = null;
+ }
+ // kludge: browsers do funny things when the scheme but not the
+ // authority is set
+ if (!$this->may_omit_host &&
+ // if the scheme is present, a missing host is always in error
+ (!is_null($uri->scheme) && ($uri->host === '' || is_null($uri->host))) ||
+ // if the scheme is not present, a *blank* host is in error,
+ // since this translates into '///path' which most browsers
+ // interpret as being 'http://path'.
+ (is_null($uri->scheme) && $uri->host === '')
+ ) {
+ do {
+ if (is_null($uri->scheme)) {
+ if (substr($uri->path, 0, 2) != '//') {
+ $uri->host = null;
+ break;
+ }
+ // URI is '////path', so we cannot nullify the
+ // host to preserve semantics. Try expanding the
+ // hostname instead (fall through)
+ }
+ // first see if we can manually insert a hostname
+ $host = $config->get('URI.Host');
+ if (!is_null($host)) {
+ $uri->host = $host;
+ } else {
+ // we can't do anything sensible, reject the URL.
+ return false;
+ }
+ } while (false);
+ }
+ return $this->doValidate($uri, $config, $context);
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme/data.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme/data.php
new file mode 100644
index 000000000..41c49d553
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme/data.php
@@ -0,0 +1,136 @@
+<?php
+
+/**
+ * Implements data: URI for base64 encoded images supported by GD.
+ */
+class HTMLPurifier_URIScheme_data extends HTMLPurifier_URIScheme
+{
+ /**
+ * @type bool
+ */
+ public $browsable = true;
+
+ /**
+ * @type array
+ */
+ public $allowed_types = array(
+ // you better write validation code for other types if you
+ // decide to allow them
+ 'image/jpeg' => true,
+ 'image/gif' => true,
+ 'image/png' => true,
+ );
+ // this is actually irrelevant since we only write out the path
+ // component
+ /**
+ * @type bool
+ */
+ public $may_omit_host = true;
+
+ /**
+ * @param HTMLPurifier_URI $uri
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool
+ */
+ public function doValidate(&$uri, $config, $context)
+ {
+ $result = explode(',', $uri->path, 2);
+ $is_base64 = false;
+ $charset = null;
+ $content_type = null;
+ if (count($result) == 2) {
+ list($metadata, $data) = $result;
+ // do some legwork on the metadata
+ $metas = explode(';', $metadata);
+ while (!empty($metas)) {
+ $cur = array_shift($metas);
+ if ($cur == 'base64') {
+ $is_base64 = true;
+ break;
+ }
+ if (substr($cur, 0, 8) == 'charset=') {
+ // doesn't match if there are arbitrary spaces, but
+ // whatever dude
+ if ($charset !== null) {
+ continue;
+ } // garbage
+ $charset = substr($cur, 8); // not used
+ } else {
+ if ($content_type !== null) {
+ continue;
+ } // garbage
+ $content_type = $cur;
+ }
+ }
+ } else {
+ $data = $result[0];
+ }
+ if ($content_type !== null && empty($this->allowed_types[$content_type])) {
+ return false;
+ }
+ if ($charset !== null) {
+ // error; we don't allow plaintext stuff
+ $charset = null;
+ }
+ $data = rawurldecode($data);
+ if ($is_base64) {
+ $raw_data = base64_decode($data);
+ } else {
+ $raw_data = $data;
+ }
+ if ( strlen($raw_data) < 12 ) {
+ // error; exif_imagetype throws exception with small files,
+ // and this likely indicates a corrupt URI/failed parse anyway
+ return false;
+ }
+ // XXX probably want to refactor this into a general mechanism
+ // for filtering arbitrary content types
+ if (function_exists('sys_get_temp_dir')) {
+ $file = tempnam(sys_get_temp_dir(), "");
+ } else {
+ $file = tempnam("/tmp", "");
+ }
+ file_put_contents($file, $raw_data);
+ if (function_exists('exif_imagetype')) {
+ $image_code = exif_imagetype($file);
+ unlink($file);
+ } elseif (function_exists('getimagesize')) {
+ set_error_handler(array($this, 'muteErrorHandler'));
+ $info = getimagesize($file);
+ restore_error_handler();
+ unlink($file);
+ if ($info == false) {
+ return false;
+ }
+ $image_code = $info[2];
+ } else {
+ trigger_error("could not find exif_imagetype or getimagesize functions", E_USER_ERROR);
+ }
+ $real_content_type = image_type_to_mime_type($image_code);
+ if ($real_content_type != $content_type) {
+ // we're nice guys; if the content type is something else we
+ // support, change it over
+ if (empty($this->allowed_types[$real_content_type])) {
+ return false;
+ }
+ $content_type = $real_content_type;
+ }
+ // ok, it's kosher, rewrite what we need
+ $uri->userinfo = null;
+ $uri->host = null;
+ $uri->port = null;
+ $uri->fragment = null;
+ $uri->query = null;
+ $uri->path = "$content_type;base64," . base64_encode($raw_data);
+ return true;
+ }
+
+ /**
+ * @param int $errno
+ * @param string $errstr
+ */
+ public function muteErrorHandler($errno, $errstr)
+ {
+ }
+}
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme/file.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme/file.php
new file mode 100644
index 000000000..215be4ba8
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme/file.php
@@ -0,0 +1,44 @@
+<?php
+
+/**
+ * Validates file as defined by RFC 1630 and RFC 1738.
+ */
+class HTMLPurifier_URIScheme_file extends HTMLPurifier_URIScheme
+{
+ /**
+ * Generally file:// URLs are not accessible from most
+ * machines, so placing them as an img src is incorrect.
+ * @type bool
+ */
+ public $browsable = false;
+
+ /**
+ * Basically the *only* URI scheme for which this is true, since
+ * accessing files on the local machine is very common. In fact,
+ * browsers on some operating systems don't understand the
+ * authority, though I hear it is used on Windows to refer to
+ * network shares.
+ * @type bool
+ */
+ public $may_omit_host = true;
+
+ /**
+ * @param HTMLPurifier_URI $uri
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool
+ */
+ public function doValidate(&$uri, $config, $context)
+ {
+ // Authentication method is not supported
+ $uri->userinfo = null;
+ // file:// makes no provisions for accessing the resource
+ $uri->port = null;
+ // While it seems to work on Firefox, the querystring has
+ // no possible effect and is thus stripped.
+ $uri->query = null;
+ return true;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme/ftp.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme/ftp.php
new file mode 100644
index 000000000..1eb43ee5c
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme/ftp.php
@@ -0,0 +1,58 @@
+<?php
+
+/**
+ * Validates ftp (File Transfer Protocol) URIs as defined by generic RFC 1738.
+ */
+class HTMLPurifier_URIScheme_ftp extends HTMLPurifier_URIScheme
+{
+ /**
+ * @type int
+ */
+ public $default_port = 21;
+
+ /**
+ * @type bool
+ */
+ public $browsable = true; // usually
+
+ /**
+ * @type bool
+ */
+ public $hierarchical = true;
+
+ /**
+ * @param HTMLPurifier_URI $uri
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool
+ */
+ public function doValidate(&$uri, $config, $context)
+ {
+ $uri->query = null;
+
+ // typecode check
+ $semicolon_pos = strrpos($uri->path, ';'); // reverse
+ if ($semicolon_pos !== false) {
+ $type = substr($uri->path, $semicolon_pos + 1); // no semicolon
+ $uri->path = substr($uri->path, 0, $semicolon_pos);
+ $type_ret = '';
+ if (strpos($type, '=') !== false) {
+ // figure out whether or not the declaration is correct
+ list($key, $typecode) = explode('=', $type, 2);
+ if ($key !== 'type') {
+ // invalid key, tack it back on encoded
+ $uri->path .= '%3B' . $type;
+ } elseif ($typecode === 'a' || $typecode === 'i' || $typecode === 'd') {
+ $type_ret = ";type=$typecode";
+ }
+ } else {
+ $uri->path .= '%3B' . $type;
+ }
+ $uri->path = str_replace(';', '%3B', $uri->path);
+ $uri->path .= $type_ret;
+ }
+ return true;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme/http.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme/http.php
new file mode 100644
index 000000000..ce69ec438
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme/http.php
@@ -0,0 +1,36 @@
+<?php
+
+/**
+ * Validates http (HyperText Transfer Protocol) as defined by RFC 2616
+ */
+class HTMLPurifier_URIScheme_http extends HTMLPurifier_URIScheme
+{
+ /**
+ * @type int
+ */
+ public $default_port = 80;
+
+ /**
+ * @type bool
+ */
+ public $browsable = true;
+
+ /**
+ * @type bool
+ */
+ public $hierarchical = true;
+
+ /**
+ * @param HTMLPurifier_URI $uri
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool
+ */
+ public function doValidate(&$uri, $config, $context)
+ {
+ $uri->userinfo = null;
+ return true;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme/https.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme/https.php
new file mode 100644
index 000000000..0e96882db
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme/https.php
@@ -0,0 +1,18 @@
+<?php
+
+/**
+ * Validates https (Secure HTTP) according to http scheme.
+ */
+class HTMLPurifier_URIScheme_https extends HTMLPurifier_URIScheme_http
+{
+ /**
+ * @type int
+ */
+ public $default_port = 443;
+ /**
+ * @type bool
+ */
+ public $secure = true;
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme/mailto.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme/mailto.php
new file mode 100644
index 000000000..c3a6b602a
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme/mailto.php
@@ -0,0 +1,40 @@
+<?php
+
+// VERY RELAXED! Shouldn't cause problems, not even Firefox checks if the
+// email is valid, but be careful!
+
+/**
+ * Validates mailto (for E-mail) according to RFC 2368
+ * @todo Validate the email address
+ * @todo Filter allowed query parameters
+ */
+
+class HTMLPurifier_URIScheme_mailto extends HTMLPurifier_URIScheme
+{
+ /**
+ * @type bool
+ */
+ public $browsable = false;
+
+ /**
+ * @type bool
+ */
+ public $may_omit_host = true;
+
+ /**
+ * @param HTMLPurifier_URI $uri
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool
+ */
+ public function doValidate(&$uri, $config, $context)
+ {
+ $uri->userinfo = null;
+ $uri->host = null;
+ $uri->port = null;
+ // we need to validate path against RFC 2368's addr-spec
+ return true;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme/news.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme/news.php
new file mode 100644
index 000000000..7490927d6
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme/news.php
@@ -0,0 +1,35 @@
+<?php
+
+/**
+ * Validates news (Usenet) as defined by generic RFC 1738
+ */
+class HTMLPurifier_URIScheme_news extends HTMLPurifier_URIScheme
+{
+ /**
+ * @type bool
+ */
+ public $browsable = false;
+
+ /**
+ * @type bool
+ */
+ public $may_omit_host = true;
+
+ /**
+ * @param HTMLPurifier_URI $uri
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool
+ */
+ public function doValidate(&$uri, $config, $context)
+ {
+ $uri->userinfo = null;
+ $uri->host = null;
+ $uri->port = null;
+ $uri->query = null;
+ // typecode check needed on path
+ return true;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme/nntp.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme/nntp.php
new file mode 100644
index 000000000..f211d715e
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme/nntp.php
@@ -0,0 +1,32 @@
+<?php
+
+/**
+ * Validates nntp (Network News Transfer Protocol) as defined by generic RFC 1738
+ */
+class HTMLPurifier_URIScheme_nntp extends HTMLPurifier_URIScheme
+{
+ /**
+ * @type int
+ */
+ public $default_port = 119;
+
+ /**
+ * @type bool
+ */
+ public $browsable = false;
+
+ /**
+ * @param HTMLPurifier_URI $uri
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool
+ */
+ public function doValidate(&$uri, $config, $context)
+ {
+ $uri->userinfo = null;
+ $uri->query = null;
+ return true;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme/tel.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme/tel.php
new file mode 100644
index 000000000..8cd193352
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme/tel.php
@@ -0,0 +1,46 @@
+<?php
+
+/**
+ * Validates tel (for phone numbers).
+ *
+ * The relevant specifications for this protocol are RFC 3966 and RFC 5341,
+ * but this class takes a much simpler approach: we normalize phone
+ * numbers so that they only include (possibly) a leading plus,
+ * and then any number of digits and x'es.
+ */
+
+class HTMLPurifier_URIScheme_tel extends HTMLPurifier_URIScheme
+{
+ /**
+ * @type bool
+ */
+ public $browsable = false;
+
+ /**
+ * @type bool
+ */
+ public $may_omit_host = true;
+
+ /**
+ * @param HTMLPurifier_URI $uri
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool
+ */
+ public function doValidate(&$uri, $config, $context)
+ {
+ $uri->userinfo = null;
+ $uri->host = null;
+ $uri->port = null;
+
+ // Delete all non-numeric characters, non-x characters
+ // from phone number, EXCEPT for a leading plus sign.
+ $uri->path = preg_replace('/(?!^\+)[^\dx]/', '',
+ // Normalize e(x)tension to lower-case
+ str_replace('X', 'x', $uri->path));
+
+ return true;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/URISchemeRegistry.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/URISchemeRegistry.php
new file mode 100644
index 000000000..4ac8a0b76
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/URISchemeRegistry.php
@@ -0,0 +1,81 @@
+<?php
+
+/**
+ * Registry for retrieving specific URI scheme validator objects.
+ */
+class HTMLPurifier_URISchemeRegistry
+{
+
+ /**
+ * Retrieve sole instance of the registry.
+ * @param HTMLPurifier_URISchemeRegistry $prototype Optional prototype to overload sole instance with,
+ * or bool true to reset to default registry.
+ * @return HTMLPurifier_URISchemeRegistry
+ * @note Pass a registry object $prototype with a compatible interface and
+ * the function will copy it and return it all further times.
+ */
+ public static function instance($prototype = null)
+ {
+ static $instance = null;
+ if ($prototype !== null) {
+ $instance = $prototype;
+ } elseif ($instance === null || $prototype == true) {
+ $instance = new HTMLPurifier_URISchemeRegistry();
+ }
+ return $instance;
+ }
+
+ /**
+ * Cache of retrieved schemes.
+ * @type HTMLPurifier_URIScheme[]
+ */
+ protected $schemes = array();
+
+ /**
+ * Retrieves a scheme validator object
+ * @param string $scheme String scheme name like http or mailto
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return HTMLPurifier_URIScheme
+ */
+ public function getScheme($scheme, $config, $context)
+ {
+ if (!$config) {
+ $config = HTMLPurifier_Config::createDefault();
+ }
+
+ // important, otherwise attacker could include arbitrary file
+ $allowed_schemes = $config->get('URI.AllowedSchemes');
+ if (!$config->get('URI.OverrideAllowedSchemes') &&
+ !isset($allowed_schemes[$scheme])
+ ) {
+ return;
+ }
+
+ if (isset($this->schemes[$scheme])) {
+ return $this->schemes[$scheme];
+ }
+ if (!isset($allowed_schemes[$scheme])) {
+ return;
+ }
+
+ $class = 'HTMLPurifier_URIScheme_' . $scheme;
+ if (!class_exists($class)) {
+ return;
+ }
+ $this->schemes[$scheme] = new $class();
+ return $this->schemes[$scheme];
+ }
+
+ /**
+ * Registers a custom scheme to the cache, bypassing reflection.
+ * @param string $scheme Scheme name
+ * @param HTMLPurifier_URIScheme $scheme_obj
+ */
+ public function register($scheme, $scheme_obj)
+ {
+ $this->schemes[$scheme] = $scheme_obj;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/UnitConverter.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/UnitConverter.php
new file mode 100644
index 000000000..166f3bf30
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/UnitConverter.php
@@ -0,0 +1,307 @@
+<?php
+
+/**
+ * Class for converting between different unit-lengths as specified by
+ * CSS.
+ */
+class HTMLPurifier_UnitConverter
+{
+
+ const ENGLISH = 1;
+ const METRIC = 2;
+ const DIGITAL = 3;
+
+ /**
+ * Units information array. Units are grouped into measuring systems
+ * (English, Metric), and are assigned an integer representing
+ * the conversion factor between that unit and the smallest unit in
+ * the system. Numeric indexes are actually magical constants that
+ * encode conversion data from one system to the next, with a O(n^2)
+ * constraint on memory (this is generally not a problem, since
+ * the number of measuring systems is small.)
+ */
+ protected static $units = array(
+ self::ENGLISH => array(
+ 'px' => 3, // This is as per CSS 2.1 and Firefox. Your mileage may vary
+ 'pt' => 4,
+ 'pc' => 48,
+ 'in' => 288,
+ self::METRIC => array('pt', '0.352777778', 'mm'),
+ ),
+ self::METRIC => array(
+ 'mm' => 1,
+ 'cm' => 10,
+ self::ENGLISH => array('mm', '2.83464567', 'pt'),
+ ),
+ );
+
+ /**
+ * Minimum bcmath precision for output.
+ * @type int
+ */
+ protected $outputPrecision;
+
+ /**
+ * Bcmath precision for internal calculations.
+ * @type int
+ */
+ protected $internalPrecision;
+
+ /**
+ * Whether or not BCMath is available.
+ * @type bool
+ */
+ private $bcmath;
+
+ public function __construct($output_precision = 4, $internal_precision = 10, $force_no_bcmath = false)
+ {
+ $this->outputPrecision = $output_precision;
+ $this->internalPrecision = $internal_precision;
+ $this->bcmath = !$force_no_bcmath && function_exists('bcmul');
+ }
+
+ /**
+ * Converts a length object of one unit into another unit.
+ * @param HTMLPurifier_Length $length
+ * Instance of HTMLPurifier_Length to convert. You must validate()
+ * it before passing it here!
+ * @param string $to_unit
+ * Unit to convert to.
+ * @return HTMLPurifier_Length|bool
+ * @note
+ * About precision: This conversion function pays very special
+ * attention to the incoming precision of values and attempts
+ * to maintain a number of significant figure. Results are
+ * fairly accurate up to nine digits. Some caveats:
+ * - If a number is zero-padded as a result of this significant
+ * figure tracking, the zeroes will be eliminated.
+ * - If a number contains less than four sigfigs ($outputPrecision)
+ * and this causes some decimals to be excluded, those
+ * decimals will be added on.
+ */
+ public function convert($length, $to_unit)
+ {
+ if (!$length->isValid()) {
+ return false;
+ }
+
+ $n = $length->getN();
+ $unit = $length->getUnit();
+
+ if ($n === '0' || $unit === false) {
+ return new HTMLPurifier_Length('0', false);
+ }
+
+ $state = $dest_state = false;
+ foreach (self::$units as $k => $x) {
+ if (isset($x[$unit])) {
+ $state = $k;
+ }
+ if (isset($x[$to_unit])) {
+ $dest_state = $k;
+ }
+ }
+ if (!$state || !$dest_state) {
+ return false;
+ }
+
+ // Some calculations about the initial precision of the number;
+ // this will be useful when we need to do final rounding.
+ $sigfigs = $this->getSigFigs($n);
+ if ($sigfigs < $this->outputPrecision) {
+ $sigfigs = $this->outputPrecision;
+ }
+
+ // BCMath's internal precision deals only with decimals. Use
+ // our default if the initial number has no decimals, or increase
+ // it by how ever many decimals, thus, the number of guard digits
+ // will always be greater than or equal to internalPrecision.
+ $log = (int)floor(log(abs($n), 10));
+ $cp = ($log < 0) ? $this->internalPrecision - $log : $this->internalPrecision; // internal precision
+
+ for ($i = 0; $i < 2; $i++) {
+
+ // Determine what unit IN THIS SYSTEM we need to convert to
+ if ($dest_state === $state) {
+ // Simple conversion
+ $dest_unit = $to_unit;
+ } else {
+ // Convert to the smallest unit, pending a system shift
+ $dest_unit = self::$units[$state][$dest_state][0];
+ }
+
+ // Do the conversion if necessary
+ if ($dest_unit !== $unit) {
+ $factor = $this->div(self::$units[$state][$unit], self::$units[$state][$dest_unit], $cp);
+ $n = $this->mul($n, $factor, $cp);
+ $unit = $dest_unit;
+ }
+
+ // Output was zero, so bail out early. Shouldn't ever happen.
+ if ($n === '') {
+ $n = '0';
+ $unit = $to_unit;
+ break;
+ }
+
+ // It was a simple conversion, so bail out
+ if ($dest_state === $state) {
+ break;
+ }
+
+ if ($i !== 0) {
+ // Conversion failed! Apparently, the system we forwarded
+ // to didn't have this unit. This should never happen!
+ return false;
+ }
+
+ // Pre-condition: $i == 0
+
+ // Perform conversion to next system of units
+ $n = $this->mul($n, self::$units[$state][$dest_state][1], $cp);
+ $unit = self::$units[$state][$dest_state][2];
+ $state = $dest_state;
+
+ // One more loop around to convert the unit in the new system.
+
+ }
+
+ // Post-condition: $unit == $to_unit
+ if ($unit !== $to_unit) {
+ return false;
+ }
+
+ // Useful for debugging:
+ //echo "<pre>n";
+ //echo "$n\nsigfigs = $sigfigs\nnew_log = $new_log\nlog = $log\nrp = $rp\n</pre>\n";
+
+ $n = $this->round($n, $sigfigs);
+ if (strpos($n, '.') !== false) {
+ $n = rtrim($n, '0');
+ }
+ $n = rtrim($n, '.');
+
+ return new HTMLPurifier_Length($n, $unit);
+ }
+
+ /**
+ * Returns the number of significant figures in a string number.
+ * @param string $n Decimal number
+ * @return int number of sigfigs
+ */
+ public function getSigFigs($n)
+ {
+ $n = ltrim($n, '0+-');
+ $dp = strpos($n, '.'); // decimal position
+ if ($dp === false) {
+ $sigfigs = strlen(rtrim($n, '0'));
+ } else {
+ $sigfigs = strlen(ltrim($n, '0.')); // eliminate extra decimal character
+ if ($dp !== 0) {
+ $sigfigs--;
+ }
+ }
+ return $sigfigs;
+ }
+
+ /**
+ * Adds two numbers, using arbitrary precision when available.
+ * @param string $s1
+ * @param string $s2
+ * @param int $scale
+ * @return string
+ */
+ private function add($s1, $s2, $scale)
+ {
+ if ($this->bcmath) {
+ return bcadd($s1, $s2, $scale);
+ } else {
+ return $this->scale((float)$s1 + (float)$s2, $scale);
+ }
+ }
+
+ /**
+ * Multiples two numbers, using arbitrary precision when available.
+ * @param string $s1
+ * @param string $s2
+ * @param int $scale
+ * @return string
+ */
+ private function mul($s1, $s2, $scale)
+ {
+ if ($this->bcmath) {
+ return bcmul($s1, $s2, $scale);
+ } else {
+ return $this->scale((float)$s1 * (float)$s2, $scale);
+ }
+ }
+
+ /**
+ * Divides two numbers, using arbitrary precision when available.
+ * @param string $s1
+ * @param string $s2
+ * @param int $scale
+ * @return string
+ */
+ private function div($s1, $s2, $scale)
+ {
+ if ($this->bcmath) {
+ return bcdiv($s1, $s2, $scale);
+ } else {
+ return $this->scale((float)$s1 / (float)$s2, $scale);
+ }
+ }
+
+ /**
+ * Rounds a number according to the number of sigfigs it should have,
+ * using arbitrary precision when available.
+ * @param float $n
+ * @param int $sigfigs
+ * @return string
+ */
+ private function round($n, $sigfigs)
+ {
+ $new_log = (int)floor(log(abs($n), 10)); // Number of digits left of decimal - 1
+ $rp = $sigfigs - $new_log - 1; // Number of decimal places needed
+ $neg = $n < 0 ? '-' : ''; // Negative sign
+ if ($this->bcmath) {
+ if ($rp >= 0) {
+ $n = bcadd($n, $neg . '0.' . str_repeat('0', $rp) . '5', $rp + 1);
+ $n = bcdiv($n, '1', $rp);
+ } else {
+ // This algorithm partially depends on the standardized
+ // form of numbers that comes out of bcmath.
+ $n = bcadd($n, $neg . '5' . str_repeat('0', $new_log - $sigfigs), 0);
+ $n = substr($n, 0, $sigfigs + strlen($neg)) . str_repeat('0', $new_log - $sigfigs + 1);
+ }
+ return $n;
+ } else {
+ return $this->scale(round($n, $sigfigs - $new_log - 1), $rp + 1);
+ }
+ }
+
+ /**
+ * Scales a float to $scale digits right of decimal point, like BCMath.
+ * @param float $r
+ * @param int $scale
+ * @return string
+ */
+ private function scale($r, $scale)
+ {
+ if ($scale < 0) {
+ // The f sprintf type doesn't support negative numbers, so we
+ // need to cludge things manually. First get the string.
+ $r = sprintf('%.0f', (float)$r);
+ // Due to floating point precision loss, $r will more than likely
+ // look something like 4652999999999.9234. We grab one more digit
+ // than we need to precise from $r and then use that to round
+ // appropriately.
+ $precise = (string)round(substr($r, 0, strlen($r) + $scale), -1);
+ // Now we return it, truncating the zero that was rounded off.
+ return substr($precise, 0, -1) . str_repeat('0', -$scale + 1);
+ }
+ return sprintf('%.' . $scale . 'f', (float)$r);
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/VarParser.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/VarParser.php
new file mode 100644
index 000000000..50cba6910
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/VarParser.php
@@ -0,0 +1,198 @@
+<?php
+
+/**
+ * Parses string representations into their corresponding native PHP
+ * variable type. The base implementation does a simple type-check.
+ */
+class HTMLPurifier_VarParser
+{
+
+ const STRING = 1;
+ const ISTRING = 2;
+ const TEXT = 3;
+ const ITEXT = 4;
+ const INT = 5;
+ const FLOAT = 6;
+ const BOOL = 7;
+ const LOOKUP = 8;
+ const ALIST = 9;
+ const HASH = 10;
+ const MIXED = 11;
+
+ /**
+ * Lookup table of allowed types. Mainly for backwards compatibility, but
+ * also convenient for transforming string type names to the integer constants.
+ */
+ public static $types = array(
+ 'string' => self::STRING,
+ 'istring' => self::ISTRING,
+ 'text' => self::TEXT,
+ 'itext' => self::ITEXT,
+ 'int' => self::INT,
+ 'float' => self::FLOAT,
+ 'bool' => self::BOOL,
+ 'lookup' => self::LOOKUP,
+ 'list' => self::ALIST,
+ 'hash' => self::HASH,
+ 'mixed' => self::MIXED
+ );
+
+ /**
+ * Lookup table of types that are string, and can have aliases or
+ * allowed value lists.
+ */
+ public static $stringTypes = array(
+ self::STRING => true,
+ self::ISTRING => true,
+ self::TEXT => true,
+ self::ITEXT => true,
+ );
+
+ /**
+ * Validate a variable according to type.
+ * It may return NULL as a valid type if $allow_null is true.
+ *
+ * @param mixed $var Variable to validate
+ * @param int $type Type of variable, see HTMLPurifier_VarParser->types
+ * @param bool $allow_null Whether or not to permit null as a value
+ * @return string Validated and type-coerced variable
+ * @throws HTMLPurifier_VarParserException
+ */
+ final public function parse($var, $type, $allow_null = false)
+ {
+ if (is_string($type)) {
+ if (!isset(HTMLPurifier_VarParser::$types[$type])) {
+ throw new HTMLPurifier_VarParserException("Invalid type '$type'");
+ } else {
+ $type = HTMLPurifier_VarParser::$types[$type];
+ }
+ }
+ $var = $this->parseImplementation($var, $type, $allow_null);
+ if ($allow_null && $var === null) {
+ return null;
+ }
+ // These are basic checks, to make sure nothing horribly wrong
+ // happened in our implementations.
+ switch ($type) {
+ case (self::STRING):
+ case (self::ISTRING):
+ case (self::TEXT):
+ case (self::ITEXT):
+ if (!is_string($var)) {
+ break;
+ }
+ if ($type == self::ISTRING || $type == self::ITEXT) {
+ $var = strtolower($var);
+ }
+ return $var;
+ case (self::INT):
+ if (!is_int($var)) {
+ break;
+ }
+ return $var;
+ case (self::FLOAT):
+ if (!is_float($var)) {
+ break;
+ }
+ return $var;
+ case (self::BOOL):
+ if (!is_bool($var)) {
+ break;
+ }
+ return $var;
+ case (self::LOOKUP):
+ case (self::ALIST):
+ case (self::HASH):
+ if (!is_array($var)) {
+ break;
+ }
+ if ($type === self::LOOKUP) {
+ foreach ($var as $k) {
+ if ($k !== true) {
+ $this->error('Lookup table contains value other than true');
+ }
+ }
+ } elseif ($type === self::ALIST) {
+ $keys = array_keys($var);
+ if (array_keys($keys) !== $keys) {
+ $this->error('Indices for list are not uniform');
+ }
+ }
+ return $var;
+ case (self::MIXED):
+ return $var;
+ default:
+ $this->errorInconsistent(get_class($this), $type);
+ }
+ $this->errorGeneric($var, $type);
+ }
+
+ /**
+ * Actually implements the parsing. Base implementation does not
+ * do anything to $var. Subclasses should overload this!
+ * @param mixed $var
+ * @param int $type
+ * @param bool $allow_null
+ * @return string
+ */
+ protected function parseImplementation($var, $type, $allow_null)
+ {
+ return $var;
+ }
+
+ /**
+ * Throws an exception.
+ * @throws HTMLPurifier_VarParserException
+ */
+ protected function error($msg)
+ {
+ throw new HTMLPurifier_VarParserException($msg);
+ }
+
+ /**
+ * Throws an inconsistency exception.
+ * @note This should not ever be called. It would be called if we
+ * extend the allowed values of HTMLPurifier_VarParser without
+ * updating subclasses.
+ * @param string $class
+ * @param int $type
+ * @throws HTMLPurifier_Exception
+ */
+ protected function errorInconsistent($class, $type)
+ {
+ throw new HTMLPurifier_Exception(
+ "Inconsistency in $class: " . HTMLPurifier_VarParser::getTypeName($type) .
+ " not implemented"
+ );
+ }
+
+ /**
+ * Generic error for if a type didn't work.
+ * @param mixed $var
+ * @param int $type
+ */
+ protected function errorGeneric($var, $type)
+ {
+ $vtype = gettype($var);
+ $this->error("Expected type " . HTMLPurifier_VarParser::getTypeName($type) . ", got $vtype");
+ }
+
+ /**
+ * @param int $type
+ * @return string
+ */
+ public static function getTypeName($type)
+ {
+ static $lookup;
+ if (!$lookup) {
+ // Lazy load the alternative lookup table
+ $lookup = array_flip(HTMLPurifier_VarParser::$types);
+ }
+ if (!isset($lookup[$type])) {
+ return 'unknown';
+ }
+ return $lookup[$type];
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/VarParser/Flexible.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/VarParser/Flexible.php
new file mode 100644
index 000000000..b15016c5b
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/VarParser/Flexible.php
@@ -0,0 +1,130 @@
+<?php
+
+/**
+ * Performs safe variable parsing based on types which can be used by
+ * users. This may not be able to represent all possible data inputs,
+ * however.
+ */
+class HTMLPurifier_VarParser_Flexible extends HTMLPurifier_VarParser
+{
+ /**
+ * @param mixed $var
+ * @param int $type
+ * @param bool $allow_null
+ * @return array|bool|float|int|mixed|null|string
+ * @throws HTMLPurifier_VarParserException
+ */
+ protected function parseImplementation($var, $type, $allow_null)
+ {
+ if ($allow_null && $var === null) {
+ return null;
+ }
+ switch ($type) {
+ // Note: if code "breaks" from the switch, it triggers a generic
+ // exception to be thrown. Specific errors can be specifically
+ // done here.
+ case self::MIXED:
+ case self::ISTRING:
+ case self::STRING:
+ case self::TEXT:
+ case self::ITEXT:
+ return $var;
+ case self::INT:
+ if (is_string($var) && ctype_digit($var)) {
+ $var = (int)$var;
+ }
+ return $var;
+ case self::FLOAT:
+ if ((is_string($var) && is_numeric($var)) || is_int($var)) {
+ $var = (float)$var;
+ }
+ return $var;
+ case self::BOOL:
+ if (is_int($var) && ($var === 0 || $var === 1)) {
+ $var = (bool)$var;
+ } elseif (is_string($var)) {
+ if ($var == 'on' || $var == 'true' || $var == '1') {
+ $var = true;
+ } elseif ($var == 'off' || $var == 'false' || $var == '0') {
+ $var = false;
+ } else {
+ throw new HTMLPurifier_VarParserException("Unrecognized value '$var' for $type");
+ }
+ }
+ return $var;
+ case self::ALIST:
+ case self::HASH:
+ case self::LOOKUP:
+ if (is_string($var)) {
+ // special case: technically, this is an array with
+ // a single empty string item, but having an empty
+ // array is more intuitive
+ if ($var == '') {
+ return array();
+ }
+ if (strpos($var, "\n") === false && strpos($var, "\r") === false) {
+ // simplistic string to array method that only works
+ // for simple lists of tag names or alphanumeric characters
+ $var = explode(',', $var);
+ } else {
+ $var = preg_split('/(,|[\n\r]+)/', $var);
+ }
+ // remove spaces
+ foreach ($var as $i => $j) {
+ $var[$i] = trim($j);
+ }
+ if ($type === self::HASH) {
+ // key:value,key2:value2
+ $nvar = array();
+ foreach ($var as $keypair) {
+ $c = explode(':', $keypair, 2);
+ if (!isset($c[1])) {
+ continue;
+ }
+ $nvar[trim($c[0])] = trim($c[1]);
+ }
+ $var = $nvar;
+ }
+ }
+ if (!is_array($var)) {
+ break;
+ }
+ $keys = array_keys($var);
+ if ($keys === array_keys($keys)) {
+ if ($type == self::ALIST) {
+ return $var;
+ } elseif ($type == self::LOOKUP) {
+ $new = array();
+ foreach ($var as $key) {
+ $new[$key] = true;
+ }
+ return $new;
+ } else {
+ break;
+ }
+ }
+ if ($type === self::ALIST) {
+ trigger_error("Array list did not have consecutive integer indexes", E_USER_WARNING);
+ return array_values($var);
+ }
+ if ($type === self::LOOKUP) {
+ foreach ($var as $key => $value) {
+ if ($value !== true) {
+ trigger_error(
+ "Lookup array has non-true value at key '$key'; " .
+ "maybe your input array was not indexed numerically",
+ E_USER_WARNING
+ );
+ }
+ $var[$key] = true;
+ }
+ }
+ return $var;
+ default:
+ $this->errorInconsistent(__CLASS__, $type);
+ }
+ $this->errorGeneric($var, $type);
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/VarParser/Native.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/VarParser/Native.php
new file mode 100644
index 000000000..f11c318ef
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/VarParser/Native.php
@@ -0,0 +1,38 @@
+<?php
+
+/**
+ * This variable parser uses PHP's internal code engine. Because it does
+ * this, it can represent all inputs; however, it is dangerous and cannot
+ * be used by users.
+ */
+class HTMLPurifier_VarParser_Native extends HTMLPurifier_VarParser
+{
+
+ /**
+ * @param mixed $var
+ * @param int $type
+ * @param bool $allow_null
+ * @return null|string
+ */
+ protected function parseImplementation($var, $type, $allow_null)
+ {
+ return $this->evalExpression($var);
+ }
+
+ /**
+ * @param string $expr
+ * @return mixed
+ * @throws HTMLPurifier_VarParserException
+ */
+ protected function evalExpression($expr)
+ {
+ $var = null;
+ $result = eval("\$var = $expr;");
+ if ($result === false) {
+ throw new HTMLPurifier_VarParserException("Fatal error in evaluated code");
+ }
+ return $var;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/VarParserException.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/VarParserException.php
new file mode 100644
index 000000000..5df341495
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/VarParserException.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * Exception type for HTMLPurifier_VarParser
+ */
+class HTMLPurifier_VarParserException extends HTMLPurifier_Exception
+{
+
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Zipper.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Zipper.php
new file mode 100644
index 000000000..6e21ea070
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Zipper.php
@@ -0,0 +1,157 @@
+<?php
+
+/**
+ * A zipper is a purely-functional data structure which contains
+ * a focus that can be efficiently manipulated. It is known as
+ * a "one-hole context". This mutable variant implements a zipper
+ * for a list as a pair of two arrays, laid out as follows:
+ *
+ * Base list: 1 2 3 4 [ ] 6 7 8 9
+ * Front list: 1 2 3 4
+ * Back list: 9 8 7 6
+ *
+ * User is expected to keep track of the "current element" and properly
+ * fill it back in as necessary. (ToDo: Maybe it's more user friendly
+ * to implicitly track the current element?)
+ *
+ * Nota bene: the current class gets confused if you try to store NULLs
+ * in the list.
+ */
+
+class HTMLPurifier_Zipper
+{
+ public $front, $back;
+
+ public function __construct($front, $back) {
+ $this->front = $front;
+ $this->back = $back;
+ }
+
+ /**
+ * Creates a zipper from an array, with a hole in the
+ * 0-index position.
+ * @param Array to zipper-ify.
+ * @return Tuple of zipper and element of first position.
+ */
+ static public function fromArray($array) {
+ $z = new self(array(), array_reverse($array));
+ $t = $z->delete(); // delete the "dummy hole"
+ return array($z, $t);
+ }
+
+ /**
+ * Convert zipper back into a normal array, optionally filling in
+ * the hole with a value. (Usually you should supply a $t, unless you
+ * are at the end of the array.)
+ */
+ public function toArray($t = NULL) {
+ $a = $this->front;
+ if ($t !== NULL) $a[] = $t;
+ for ($i = count($this->back)-1; $i >= 0; $i--) {
+ $a[] = $this->back[$i];
+ }
+ return $a;
+ }
+
+ /**
+ * Move hole to the next element.
+ * @param $t Element to fill hole with
+ * @return Original contents of new hole.
+ */
+ public function next($t) {
+ if ($t !== NULL) array_push($this->front, $t);
+ return empty($this->back) ? NULL : array_pop($this->back);
+ }
+
+ /**
+ * Iterated hole advancement.
+ * @param $t Element to fill hole with
+ * @param $i How many forward to advance hole
+ * @return Original contents of new hole, i away
+ */
+ public function advance($t, $n) {
+ for ($i = 0; $i < $n; $i++) {
+ $t = $this->next($t);
+ }
+ return $t;
+ }
+
+ /**
+ * Move hole to the previous element
+ * @param $t Element to fill hole with
+ * @return Original contents of new hole.
+ */
+ public function prev($t) {
+ if ($t !== NULL) array_push($this->back, $t);
+ return empty($this->front) ? NULL : array_pop($this->front);
+ }
+
+ /**
+ * Delete contents of current hole, shifting hole to
+ * next element.
+ * @return Original contents of new hole.
+ */
+ public function delete() {
+ return empty($this->back) ? NULL : array_pop($this->back);
+ }
+
+ /**
+ * Returns true if we are at the end of the list.
+ * @return bool
+ */
+ public function done() {
+ return empty($this->back);
+ }
+
+ /**
+ * Insert element before hole.
+ * @param Element to insert
+ */
+ public function insertBefore($t) {
+ if ($t !== NULL) array_push($this->front, $t);
+ }
+
+ /**
+ * Insert element after hole.
+ * @param Element to insert
+ */
+ public function insertAfter($t) {
+ if ($t !== NULL) array_push($this->back, $t);
+ }
+
+ /**
+ * Splice in multiple elements at hole. Functional specification
+ * in terms of array_splice:
+ *
+ * $arr1 = $arr;
+ * $old1 = array_splice($arr1, $i, $delete, $replacement);
+ *
+ * list($z, $t) = HTMLPurifier_Zipper::fromArray($arr);
+ * $t = $z->advance($t, $i);
+ * list($old2, $t) = $z->splice($t, $delete, $replacement);
+ * $arr2 = $z->toArray($t);
+ *
+ * assert($old1 === $old2);
+ * assert($arr1 === $arr2);
+ *
+ * NB: the absolute index location after this operation is
+ * *unchanged!*
+ *
+ * @param Current contents of hole.
+ */
+ public function splice($t, $delete, $replacement) {
+ // delete
+ $old = array();
+ $r = $t;
+ for ($i = $delete; $i > 0; $i--) {
+ $old[] = $r;
+ $r = $this->delete();
+ }
+ // insert
+ for ($i = count($replacement)-1; $i >= 0; $i--) {
+ $this->insertAfter($r);
+ $r = $replacement[$i];
+ }
+ return array($old, $r);
+ }
+}
diff --git a/vendor/ezyang/htmlpurifier/maintenance/.htaccess b/vendor/ezyang/htmlpurifier/maintenance/.htaccess
new file mode 100644
index 000000000..3a4288278
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/maintenance/.htaccess
@@ -0,0 +1 @@
+Deny from all
diff --git a/vendor/ezyang/htmlpurifier/maintenance/PH5P.patch b/vendor/ezyang/htmlpurifier/maintenance/PH5P.patch
new file mode 100644
index 000000000..763709509
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/maintenance/PH5P.patch
@@ -0,0 +1,102 @@
+--- C:\Users\Edward\Webs\htmlpurifier\maintenance\PH5P.php 2008-07-07 09:12:12.000000000 -0400
++++ C:\Users\Edward\Webs\htmlpurifier\maintenance/PH5P.new.php 2008-12-06 02:29:34.988800000 -0500
+@@ -65,7 +65,7 @@
+
+ public function __construct($data) {
+ $data = str_replace("\r\n", "\n", $data);
+- $date = str_replace("\r", null, $data);
++ $data = str_replace("\r", null, $data);
+
+ $this->data = $data;
+ $this->char = -1;
+@@ -211,7 +211,10 @@
+ // If nothing is returned, emit a U+0026 AMPERSAND character token.
+ // Otherwise, emit the character token that was returned.
+ $char = (!$entity) ? '&' : $entity;
+- $this->emitToken($char);
++ $this->emitToken(array(
++ 'type' => self::CHARACTR,
++ 'data' => $char
++ ));
+
+ // Finally, switch to the data state.
+ $this->state = 'data';
+@@ -708,7 +711,7 @@
+ } elseif($char === '&') {
+ /* U+0026 AMPERSAND (&)
+ Switch to the entity in attribute value state. */
+- $this->entityInAttributeValueState('non');
++ $this->entityInAttributeValueState();
+
+ } elseif($char === '>') {
+ /* U+003E GREATER-THAN SIGN (>)
+@@ -738,7 +741,8 @@
+ ? '&'
+ : $entity;
+
+- $this->emitToken($char);
++ $last = count($this->token['attr']) - 1;
++ $this->token['attr'][$last]['value'] .= $char;
+ }
+
+ private function bogusCommentState() {
+@@ -1066,6 +1070,11 @@
+ $this->char++;
+
+ if(in_array($id, $this->entities)) {
++ if ($e_name[$c-1] !== ';') {
++ if ($c < $len && $e_name[$c] == ';') {
++ $this->char++; // consume extra semicolon
++ }
++ }
+ $entity = $id;
+ break;
+ }
+@@ -2084,7 +2093,7 @@
+ /* Reconstruct the active formatting elements, if any. */
+ $this->reconstructActiveFormattingElements();
+
+- $this->insertElement($token);
++ $this->insertElement($token, true, true);
+ break;
+ }
+ break;
+@@ -3465,7 +3474,18 @@
+ }
+ }
+
+- private function insertElement($token, $append = true) {
++ private function insertElement($token, $append = true, $check = false) {
++ // Proprietary workaround for libxml2's limitations with tag names
++ if ($check) {
++ // Slightly modified HTML5 tag-name modification,
++ // removing anything that's not an ASCII letter, digit, or hyphen
++ $token['name'] = preg_replace('/[^a-z0-9-]/i', '', $token['name']);
++ // Remove leading hyphens and numbers
++ $token['name'] = ltrim($token['name'], '-0..9');
++ // In theory, this should ever be needed, but just in case
++ if ($token['name'] === '') $token['name'] = 'span'; // arbitrary generic choice
++ }
++
+ $el = $this->dom->createElement($token['name']);
+
+ foreach($token['attr'] as $attr) {
+@@ -3659,7 +3679,7 @@
+ }
+ }
+
+- private function generateImpliedEndTags(array $exclude = array()) {
++ private function generateImpliedEndTags($exclude = array()) {
+ /* When the steps below require the UA to generate implied end tags,
+ then, if the current node is a dd element, a dt element, an li element,
+ a p element, a td element, a th element, or a tr element, the UA must
+@@ -3673,7 +3693,8 @@
+ }
+ }
+
+- private function getElementCategory($name) {
++ private function getElementCategory($node) {
++ $name = $node->tagName;
+ if(in_array($name, $this->special))
+ return self::SPECIAL;
+
diff --git a/vendor/ezyang/htmlpurifier/maintenance/PH5P.php b/vendor/ezyang/htmlpurifier/maintenance/PH5P.php
new file mode 100644
index 000000000..9d83dcbf5
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/maintenance/PH5P.php
@@ -0,0 +1,3889 @@
+<?php
+class HTML5
+{
+ private $data;
+ private $char;
+ private $EOF;
+ private $state;
+ private $tree;
+ private $token;
+ private $content_model;
+ private $escape = false;
+ private $entities = array('AElig;','AElig','AMP;','AMP','Aacute;','Aacute',
+ 'Acirc;','Acirc','Agrave;','Agrave','Alpha;','Aring;','Aring','Atilde;',
+ 'Atilde','Auml;','Auml','Beta;','COPY;','COPY','Ccedil;','Ccedil','Chi;',
+ 'Dagger;','Delta;','ETH;','ETH','Eacute;','Eacute','Ecirc;','Ecirc','Egrave;',
+ 'Egrave','Epsilon;','Eta;','Euml;','Euml','GT;','GT','Gamma;','Iacute;',
+ 'Iacute','Icirc;','Icirc','Igrave;','Igrave','Iota;','Iuml;','Iuml','Kappa;',
+ 'LT;','LT','Lambda;','Mu;','Ntilde;','Ntilde','Nu;','OElig;','Oacute;',
+ 'Oacute','Ocirc;','Ocirc','Ograve;','Ograve','Omega;','Omicron;','Oslash;',
+ 'Oslash','Otilde;','Otilde','Ouml;','Ouml','Phi;','Pi;','Prime;','Psi;',
+ 'QUOT;','QUOT','REG;','REG','Rho;','Scaron;','Sigma;','THORN;','THORN',
+ 'TRADE;','Tau;','Theta;','Uacute;','Uacute','Ucirc;','Ucirc','Ugrave;',
+ 'Ugrave','Upsilon;','Uuml;','Uuml','Xi;','Yacute;','Yacute','Yuml;','Zeta;',
+ 'aacute;','aacute','acirc;','acirc','acute;','acute','aelig;','aelig',
+ 'agrave;','agrave','alefsym;','alpha;','amp;','amp','and;','ang;','apos;',
+ 'aring;','aring','asymp;','atilde;','atilde','auml;','auml','bdquo;','beta;',
+ 'brvbar;','brvbar','bull;','cap;','ccedil;','ccedil','cedil;','cedil',
+ 'cent;','cent','chi;','circ;','clubs;','cong;','copy;','copy','crarr;',
+ 'cup;','curren;','curren','dArr;','dagger;','darr;','deg;','deg','delta;',
+ 'diams;','divide;','divide','eacute;','eacute','ecirc;','ecirc','egrave;',
+ 'egrave','empty;','emsp;','ensp;','epsilon;','equiv;','eta;','eth;','eth',
+ 'euml;','euml','euro;','exist;','fnof;','forall;','frac12;','frac12',
+ 'frac14;','frac14','frac34;','frac34','frasl;','gamma;','ge;','gt;','gt',
+ 'hArr;','harr;','hearts;','hellip;','iacute;','iacute','icirc;','icirc',
+ 'iexcl;','iexcl','igrave;','igrave','image;','infin;','int;','iota;',
+ 'iquest;','iquest','isin;','iuml;','iuml','kappa;','lArr;','lambda;','lang;',
+ 'laquo;','laquo','larr;','lceil;','ldquo;','le;','lfloor;','lowast;','loz;',
+ 'lrm;','lsaquo;','lsquo;','lt;','lt','macr;','macr','mdash;','micro;','micro',
+ 'middot;','middot','minus;','mu;','nabla;','nbsp;','nbsp','ndash;','ne;',
+ 'ni;','not;','not','notin;','nsub;','ntilde;','ntilde','nu;','oacute;',
+ 'oacute','ocirc;','ocirc','oelig;','ograve;','ograve','oline;','omega;',
+ 'omicron;','oplus;','or;','ordf;','ordf','ordm;','ordm','oslash;','oslash',
+ 'otilde;','otilde','otimes;','ouml;','ouml','para;','para','part;','permil;',
+ 'perp;','phi;','pi;','piv;','plusmn;','plusmn','pound;','pound','prime;',
+ 'prod;','prop;','psi;','quot;','quot','rArr;','radic;','rang;','raquo;',
+ 'raquo','rarr;','rceil;','rdquo;','real;','reg;','reg','rfloor;','rho;',
+ 'rlm;','rsaquo;','rsquo;','sbquo;','scaron;','sdot;','sect;','sect','shy;',
+ 'shy','sigma;','sigmaf;','sim;','spades;','sub;','sube;','sum;','sup1;',
+ 'sup1','sup2;','sup2','sup3;','sup3','sup;','supe;','szlig;','szlig','tau;',
+ 'there4;','theta;','thetasym;','thinsp;','thorn;','thorn','tilde;','times;',
+ 'times','trade;','uArr;','uacute;','uacute','uarr;','ucirc;','ucirc',
+ 'ugrave;','ugrave','uml;','uml','upsih;','upsilon;','uuml;','uuml','weierp;',
+ 'xi;','yacute;','yacute','yen;','yen','yuml;','yuml','zeta;','zwj;','zwnj;');
+
+ const PCDATA = 0;
+ const RCDATA = 1;
+ const CDATA = 2;
+ const PLAINTEXT = 3;
+
+ const DOCTYPE = 0;
+ const STARTTAG = 1;
+ const ENDTAG = 2;
+ const COMMENT = 3;
+ const CHARACTR = 4;
+ const EOF = 5;
+
+ public function __construct($data)
+ {
+ $data = str_replace("\r\n", "\n", $data);
+ $date = str_replace("\r", null, $data);
+
+ $this->data = $data;
+ $this->char = -1;
+ $this->EOF = strlen($data);
+ $this->tree = new HTML5TreeConstructer;
+ $this->content_model = self::PCDATA;
+
+ $this->state = 'data';
+
+ while($this->state !== null) {
+ $this->{$this->state.'State'}();
+ }
+ }
+
+ public function save()
+ {
+ return $this->tree->save();
+ }
+
+ private function char()
+ {
+ return ($this->char < $this->EOF)
+ ? $this->data[$this->char]
+ : false;
+ }
+
+ private function character($s, $l = 0)
+ {
+ if($s + $l < $this->EOF) {
+ if($l === 0) {
+ return $this->data[$s];
+ } else {
+ return substr($this->data, $s, $l);
+ }
+ }
+ }
+
+ private function characters($char_class, $start)
+ {
+ return preg_replace('#^(['.$char_class.']+).*#s', '\\1', substr($this->data, $start));
+ }
+
+ private function dataState()
+ {
+ // Consume the next input character
+ $this->char++;
+ $char = $this->char();
+
+ if($char === '&' && ($this->content_model === self::PCDATA || $this->content_model === self::RCDATA)) {
+ /* U+0026 AMPERSAND (&)
+ When the content model flag is set to one of the PCDATA or RCDATA
+ states: switch to the entity data state. Otherwise: treat it as per
+ the "anything else" entry below. */
+ $this->state = 'entityData';
+
+ } elseif($char === '-') {
+ /* If the content model flag is set to either the RCDATA state or
+ the CDATA state, and the escape flag is false, and there are at
+ least three characters before this one in the input stream, and the
+ last four characters in the input stream, including this one, are
+ U+003C LESS-THAN SIGN, U+0021 EXCLAMATION MARK, U+002D HYPHEN-MINUS,
+ and U+002D HYPHEN-MINUS ("<!--"), then set the escape flag to true. */
+ if(($this->content_model === self::RCDATA || $this->content_model ===
+ self::CDATA) && $this->escape === false &&
+ $this->char >= 3 && $this->character($this->char - 4, 4) === '<!--') {
+ $this->escape = true;
+ }
+
+ /* In any case, emit the input character as a character token. Stay
+ in the data state. */
+ $this->emitToken(array(
+ 'type' => self::CHARACTR,
+ 'data' => $char
+ ));
+
+ /* U+003C LESS-THAN SIGN (<) */
+ } elseif($char === '<' && ($this->content_model === self::PCDATA ||
+ (($this->content_model === self::RCDATA ||
+ $this->content_model === self::CDATA) && $this->escape === false))) {
+ /* When the content model flag is set to the PCDATA state: switch
+ to the tag open state.
+
+ When the content model flag is set to either the RCDATA state or
+ the CDATA state and the escape flag is false: switch to the tag
+ open state.
+
+ Otherwise: treat it as per the "anything else" entry below. */
+ $this->state = 'tagOpen';
+
+ /* U+003E GREATER-THAN SIGN (>) */
+ } elseif($char === '>') {
+ /* If the content model flag is set to either the RCDATA state or
+ the CDATA state, and the escape flag is true, and the last three
+ characters in the input stream including this one are U+002D
+ HYPHEN-MINUS, U+002D HYPHEN-MINUS, U+003E GREATER-THAN SIGN ("-->"),
+ set the escape flag to false. */
+ if(($this->content_model === self::RCDATA ||
+ $this->content_model === self::CDATA) && $this->escape === true &&
+ $this->character($this->char, 3) === '-->') {
+ $this->escape = false;
+ }
+
+ /* In any case, emit the input character as a character token.
+ Stay in the data state. */
+ $this->emitToken(array(
+ 'type' => self::CHARACTR,
+ 'data' => $char
+ ));
+
+ } elseif($this->char === $this->EOF) {
+ /* EOF
+ Emit an end-of-file token. */
+ $this->EOF();
+
+ } elseif($this->content_model === self::PLAINTEXT) {
+ /* When the content model flag is set to the PLAINTEXT state
+ THIS DIFFERS GREATLY FROM THE SPEC: Get the remaining characters of
+ the text and emit it as a character token. */
+ $this->emitToken(array(
+ 'type' => self::CHARACTR,
+ 'data' => substr($this->data, $this->char)
+ ));
+
+ $this->EOF();
+
+ } else {
+ /* Anything else
+ THIS DIFFERS GREATLY FROM THE SPEC: Get as many character that
+ otherwise would also be treated as a character token and emit it
+ as a single character token. Stay in the data state. */
+ $len = strcspn($this->data, '<&', $this->char);
+ $char = substr($this->data, $this->char, $len);
+ $this->char += $len - 1;
+
+ $this->emitToken(array(
+ 'type' => self::CHARACTR,
+ 'data' => $char
+ ));
+
+ $this->state = 'data';
+ }
+ }
+
+ private function entityDataState()
+ {
+ // Attempt to consume an entity.
+ $entity = $this->entity();
+
+ // If nothing is returned, emit a U+0026 AMPERSAND character token.
+ // Otherwise, emit the character token that was returned.
+ $char = (!$entity) ? '&' : $entity;
+ $this->emitToken($char);
+
+ // Finally, switch to the data state.
+ $this->state = 'data';
+ }
+
+ private function tagOpenState()
+ {
+ switch($this->content_model) {
+ case self::RCDATA:
+ case self::CDATA:
+ /* If the next input character is a U+002F SOLIDUS (/) character,
+ consume it and switch to the close tag open state. If the next
+ input character is not a U+002F SOLIDUS (/) character, emit a
+ U+003C LESS-THAN SIGN character token and switch to the data
+ state to process the next input character. */
+ if($this->character($this->char + 1) === '/') {
+ $this->char++;
+ $this->state = 'closeTagOpen';
+
+ } else {
+ $this->emitToken(array(
+ 'type' => self::CHARACTR,
+ 'data' => '<'
+ ));
+
+ $this->state = 'data';
+ }
+ break;
+
+ case self::PCDATA:
+ // If the content model flag is set to the PCDATA state
+ // Consume the next input character:
+ $this->char++;
+ $char = $this->char();
+
+ if($char === '!') {
+ /* U+0021 EXCLAMATION MARK (!)
+ Switch to the markup declaration open state. */
+ $this->state = 'markupDeclarationOpen';
+
+ } elseif($char === '/') {
+ /* U+002F SOLIDUS (/)
+ Switch to the close tag open state. */
+ $this->state = 'closeTagOpen';
+
+ } elseif(preg_match('/^[A-Za-z]$/', $char)) {
+ /* U+0041 LATIN LETTER A through to U+005A LATIN LETTER Z
+ Create a new start tag token, set its tag name to the lowercase
+ version of the input character (add 0x0020 to the character's code
+ point), then switch to the tag name state. (Don't emit the token
+ yet; further details will be filled in before it is emitted.) */
+ $this->token = array(
+ 'name' => strtolower($char),
+ 'type' => self::STARTTAG,
+ 'attr' => array()
+ );
+
+ $this->state = 'tagName';
+
+ } elseif($char === '>') {
+ /* U+003E GREATER-THAN SIGN (>)
+ Parse error. Emit a U+003C LESS-THAN SIGN character token and a
+ U+003E GREATER-THAN SIGN character token. Switch to the data state. */
+ $this->emitToken(array(
+ 'type' => self::CHARACTR,
+ 'data' => '<>'
+ ));
+
+ $this->state = 'data';
+
+ } elseif($char === '?') {
+ /* U+003F QUESTION MARK (?)
+ Parse error. Switch to the bogus comment state. */
+ $this->state = 'bogusComment';
+
+ } else {
+ /* Anything else
+ Parse error. Emit a U+003C LESS-THAN SIGN character token and
+ reconsume the current input character in the data state. */
+ $this->emitToken(array(
+ 'type' => self::CHARACTR,
+ 'data' => '<'
+ ));
+
+ $this->char--;
+ $this->state = 'data';
+ }
+ break;
+ }
+ }
+
+ private function closeTagOpenState()
+ {
+ $next_node = strtolower($this->characters('A-Za-z', $this->char + 1));
+ $the_same = count($this->tree->stack) > 0 && $next_node === end($this->tree->stack)->nodeName;
+
+ if(($this->content_model === self::RCDATA || $this->content_model === self::CDATA) &&
+ (!$the_same || ($the_same && (!preg_match('/[\t\n\x0b\x0c >\/]/',
+ $this->character($this->char + 1 + strlen($next_node))) || $this->EOF === $this->char)))) {
+ /* If the content model flag is set to the RCDATA or CDATA states then
+ examine the next few characters. If they do not match the tag name of
+ the last start tag token emitted (case insensitively), or if they do but
+ they are not immediately followed by one of the following characters:
+ * U+0009 CHARACTER TABULATION
+ * U+000A LINE FEED (LF)
+ * U+000B LINE TABULATION
+ * U+000C FORM FEED (FF)
+ * U+0020 SPACE
+ * U+003E GREATER-THAN SIGN (>)
+ * U+002F SOLIDUS (/)
+ * EOF
+ ...then there is a parse error. Emit a U+003C LESS-THAN SIGN character
+ token, a U+002F SOLIDUS character token, and switch to the data state
+ to process the next input character. */
+ $this->emitToken(array(
+ 'type' => self::CHARACTR,
+ 'data' => '</'
+ ));
+
+ $this->state = 'data';
+
+ } else {
+ /* Otherwise, if the content model flag is set to the PCDATA state,
+ or if the next few characters do match that tag name, consume the
+ next input character: */
+ $this->char++;
+ $char = $this->char();
+
+ if(preg_match('/^[A-Za-z]$/', $char)) {
+ /* U+0041 LATIN LETTER A through to U+005A LATIN LETTER Z
+ Create a new end tag token, set its tag name to the lowercase version
+ of the input character (add 0x0020 to the character's code point), then
+ switch to the tag name state. (Don't emit the token yet; further details
+ will be filled in before it is emitted.) */
+ $this->token = array(
+ 'name' => strtolower($char),
+ 'type' => self::ENDTAG
+ );
+
+ $this->state = 'tagName';
+
+ } elseif($char === '>') {
+ /* U+003E GREATER-THAN SIGN (>)
+ Parse error. Switch to the data state. */
+ $this->state = 'data';
+
+ } elseif($this->char === $this->EOF) {
+ /* EOF
+ Parse error. Emit a U+003C LESS-THAN SIGN character token and a U+002F
+ SOLIDUS character token. Reconsume the EOF character in the data state. */
+ $this->emitToken(array(
+ 'type' => self::CHARACTR,
+ 'data' => '</'
+ ));
+
+ $this->char--;
+ $this->state = 'data';
+
+ } else {
+ /* Parse error. Switch to the bogus comment state. */
+ $this->state = 'bogusComment';
+ }
+ }
+ }
+
+ private function tagNameState()
+ {
+ // Consume the next input character:
+ $this->char++;
+ $char = $this->character($this->char);
+
+ if(preg_match('/^[\t\n\x0b\x0c ]$/', $char)) {
+ /* U+0009 CHARACTER TABULATION
+ U+000A LINE FEED (LF)
+ U+000B LINE TABULATION
+ U+000C FORM FEED (FF)
+ U+0020 SPACE
+ Switch to the before attribute name state. */
+ $this->state = 'beforeAttributeName';
+
+ } elseif($char === '>') {
+ /* U+003E GREATER-THAN SIGN (>)
+ Emit the current tag token. Switch to the data state. */
+ $this->emitToken($this->token);
+ $this->state = 'data';
+
+ } elseif($this->char === $this->EOF) {
+ /* EOF
+ Parse error. Emit the current tag token. Reconsume the EOF
+ character in the data state. */
+ $this->emitToken($this->token);
+
+ $this->char--;
+ $this->state = 'data';
+
+ } elseif($char === '/') {
+ /* U+002F SOLIDUS (/)
+ Parse error unless this is a permitted slash. Switch to the before
+ attribute name state. */
+ $this->state = 'beforeAttributeName';
+
+ } else {
+ /* Anything else
+ Append the current input character to the current tag token's tag name.
+ Stay in the tag name state. */
+ $this->token['name'] .= strtolower($char);
+ $this->state = 'tagName';
+ }
+ }
+
+ private function beforeAttributeNameState()
+ {
+ // Consume the next input character:
+ $this->char++;
+ $char = $this->character($this->char);
+
+ if(preg_match('/^[\t\n\x0b\x0c ]$/', $char)) {
+ /* U+0009 CHARACTER TABULATION
+ U+000A LINE FEED (LF)
+ U+000B LINE TABULATION
+ U+000C FORM FEED (FF)
+ U+0020 SPACE
+ Stay in the before attribute name state. */
+ $this->state = 'beforeAttributeName';
+
+ } elseif($char === '>') {
+ /* U+003E GREATER-THAN SIGN (>)
+ Emit the current tag token. Switch to the data state. */
+ $this->emitToken($this->token);
+ $this->state = 'data';
+
+ } elseif($char === '/') {
+ /* U+002F SOLIDUS (/)
+ Parse error unless this is a permitted slash. Stay in the before
+ attribute name state. */
+ $this->state = 'beforeAttributeName';
+
+ } elseif($this->char === $this->EOF) {
+ /* EOF
+ Parse error. Emit the current tag token. Reconsume the EOF
+ character in the data state. */
+ $this->emitToken($this->token);
+
+ $this->char--;
+ $this->state = 'data';
+
+ } else {
+ /* Anything else
+ Start a new attribute in the current tag token. Set that attribute's
+ name to the current input character, and its value to the empty string.
+ Switch to the attribute name state. */
+ $this->token['attr'][] = array(
+ 'name' => strtolower($char),
+ 'value' => null
+ );
+
+ $this->state = 'attributeName';
+ }
+ }
+
+ private function attributeNameState()
+ {
+ // Consume the next input character:
+ $this->char++;
+ $char = $this->character($this->char);
+
+ if(preg_match('/^[\t\n\x0b\x0c ]$/', $char)) {
+ /* U+0009 CHARACTER TABULATION
+ U+000A LINE FEED (LF)
+ U+000B LINE TABULATION
+ U+000C FORM FEED (FF)
+ U+0020 SPACE
+ Stay in the before attribute name state. */
+ $this->state = 'afterAttributeName';
+
+ } elseif($char === '=') {
+ /* U+003D EQUALS SIGN (=)
+ Switch to the before attribute value state. */
+ $this->state = 'beforeAttributeValue';
+
+ } elseif($char === '>') {
+ /* U+003E GREATER-THAN SIGN (>)
+ Emit the current tag token. Switch to the data state. */
+ $this->emitToken($this->token);
+ $this->state = 'data';
+
+ } elseif($char === '/' && $this->character($this->char + 1) !== '>') {
+ /* U+002F SOLIDUS (/)
+ Parse error unless this is a permitted slash. Switch to the before
+ attribute name state. */
+ $this->state = 'beforeAttributeName';
+
+ } elseif($this->char === $this->EOF) {
+ /* EOF
+ Parse error. Emit the current tag token. Reconsume the EOF
+ character in the data state. */
+ $this->emitToken($this->token);
+
+ $this->char--;
+ $this->state = 'data';
+
+ } else {
+ /* Anything else
+ Append the current input character to the current attribute's name.
+ Stay in the attribute name state. */
+ $last = count($this->token['attr']) - 1;
+ $this->token['attr'][$last]['name'] .= strtolower($char);
+
+ $this->state = 'attributeName';
+ }
+ }
+
+ private function afterAttributeNameState()
+ {
+ // Consume the next input character:
+ $this->char++;
+ $char = $this->character($this->char);
+
+ if(preg_match('/^[\t\n\x0b\x0c ]$/', $char)) {
+ /* U+0009 CHARACTER TABULATION
+ U+000A LINE FEED (LF)
+ U+000B LINE TABULATION
+ U+000C FORM FEED (FF)
+ U+0020 SPACE
+ Stay in the after attribute name state. */
+ $this->state = 'afterAttributeName';
+
+ } elseif($char === '=') {
+ /* U+003D EQUALS SIGN (=)
+ Switch to the before attribute value state. */
+ $this->state = 'beforeAttributeValue';
+
+ } elseif($char === '>') {
+ /* U+003E GREATER-THAN SIGN (>)
+ Emit the current tag token. Switch to the data state. */
+ $this->emitToken($this->token);
+ $this->state = 'data';
+
+ } elseif($char === '/' && $this->character($this->char + 1) !== '>') {
+ /* U+002F SOLIDUS (/)
+ Parse error unless this is a permitted slash. Switch to the
+ before attribute name state. */
+ $this->state = 'beforeAttributeName';
+
+ } elseif($this->char === $this->EOF) {
+ /* EOF
+ Parse error. Emit the current tag token. Reconsume the EOF
+ character in the data state. */
+ $this->emitToken($this->token);
+
+ $this->char--;
+ $this->state = 'data';
+
+ } else {
+ /* Anything else
+ Start a new attribute in the current tag token. Set that attribute's
+ name to the current input character, and its value to the empty string.
+ Switch to the attribute name state. */
+ $this->token['attr'][] = array(
+ 'name' => strtolower($char),
+ 'value' => null
+ );
+
+ $this->state = 'attributeName';
+ }
+ }
+
+ private function beforeAttributeValueState()
+ {
+ // Consume the next input character:
+ $this->char++;
+ $char = $this->character($this->char);
+
+ if(preg_match('/^[\t\n\x0b\x0c ]$/', $char)) {
+ /* U+0009 CHARACTER TABULATION
+ U+000A LINE FEED (LF)
+ U+000B LINE TABULATION
+ U+000C FORM FEED (FF)
+ U+0020 SPACE
+ Stay in the before attribute value state. */
+ $this->state = 'beforeAttributeValue';
+
+ } elseif($char === '"') {
+ /* U+0022 QUOTATION MARK (")
+ Switch to the attribute value (double-quoted) state. */
+ $this->state = 'attributeValueDoubleQuoted';
+
+ } elseif($char === '&') {
+ /* U+0026 AMPERSAND (&)
+ Switch to the attribute value (unquoted) state and reconsume
+ this input character. */
+ $this->char--;
+ $this->state = 'attributeValueUnquoted';
+
+ } elseif($char === '\'') {
+ /* U+0027 APOSTROPHE (')
+ Switch to the attribute value (single-quoted) state. */
+ $this->state = 'attributeValueSingleQuoted';
+
+ } elseif($char === '>') {
+ /* U+003E GREATER-THAN SIGN (>)
+ Emit the current tag token. Switch to the data state. */
+ $this->emitToken($this->token);
+ $this->state = 'data';
+
+ } else {
+ /* Anything else
+ Append the current input character to the current attribute's value.
+ Switch to the attribute value (unquoted) state. */
+ $last = count($this->token['attr']) - 1;
+ $this->token['attr'][$last]['value'] .= $char;
+
+ $this->state = 'attributeValueUnquoted';
+ }
+ }
+
+ private function attributeValueDoubleQuotedState()
+ {
+ // Consume the next input character:
+ $this->char++;
+ $char = $this->character($this->char);
+
+ if($char === '"') {
+ /* U+0022 QUOTATION MARK (")
+ Switch to the before attribute name state. */
+ $this->state = 'beforeAttributeName';
+
+ } elseif($char === '&') {
+ /* U+0026 AMPERSAND (&)
+ Switch to the entity in attribute value state. */
+ $this->entityInAttributeValueState('double');
+
+ } elseif($this->char === $this->EOF) {
+ /* EOF
+ Parse error. Emit the current tag token. Reconsume the character
+ in the data state. */
+ $this->emitToken($this->token);
+
+ $this->char--;
+ $this->state = 'data';
+
+ } else {
+ /* Anything else
+ Append the current input character to the current attribute's value.
+ Stay in the attribute value (double-quoted) state. */
+ $last = count($this->token['attr']) - 1;
+ $this->token['attr'][$last]['value'] .= $char;
+
+ $this->state = 'attributeValueDoubleQuoted';
+ }
+ }
+
+ private function attributeValueSingleQuotedState()
+ {
+ // Consume the next input character:
+ $this->char++;
+ $char = $this->character($this->char);
+
+ if($char === '\'') {
+ /* U+0022 QUOTATION MARK (')
+ Switch to the before attribute name state. */
+ $this->state = 'beforeAttributeName';
+
+ } elseif($char === '&') {
+ /* U+0026 AMPERSAND (&)
+ Switch to the entity in attribute value state. */
+ $this->entityInAttributeValueState('single');
+
+ } elseif($this->char === $this->EOF) {
+ /* EOF
+ Parse error. Emit the current tag token. Reconsume the character
+ in the data state. */
+ $this->emitToken($this->token);
+
+ $this->char--;
+ $this->state = 'data';
+
+ } else {
+ /* Anything else
+ Append the current input character to the current attribute's value.
+ Stay in the attribute value (single-quoted) state. */
+ $last = count($this->token['attr']) - 1;
+ $this->token['attr'][$last]['value'] .= $char;
+
+ $this->state = 'attributeValueSingleQuoted';
+ }
+ }
+
+ private function attributeValueUnquotedState()
+ {
+ // Consume the next input character:
+ $this->char++;
+ $char = $this->character($this->char);
+
+ if(preg_match('/^[\t\n\x0b\x0c ]$/', $char)) {
+ /* U+0009 CHARACTER TABULATION
+ U+000A LINE FEED (LF)
+ U+000B LINE TABULATION
+ U+000C FORM FEED (FF)
+ U+0020 SPACE
+ Switch to the before attribute name state. */
+ $this->state = 'beforeAttributeName';
+
+ } elseif($char === '&') {
+ /* U+0026 AMPERSAND (&)
+ Switch to the entity in attribute value state. */
+ $this->entityInAttributeValueState('non');
+
+ } elseif($char === '>') {
+ /* U+003E GREATER-THAN SIGN (>)
+ Emit the current tag token. Switch to the data state. */
+ $this->emitToken($this->token);
+ $this->state = 'data';
+
+ } else {
+ /* Anything else
+ Append the current input character to the current attribute's value.
+ Stay in the attribute value (unquoted) state. */
+ $last = count($this->token['attr']) - 1;
+ $this->token['attr'][$last]['value'] .= $char;
+
+ $this->state = 'attributeValueUnquoted';
+ }
+ }
+
+ private function entityInAttributeValueState()
+ {
+ // Attempt to consume an entity.
+ $entity = $this->entity();
+
+ // If nothing is returned, append a U+0026 AMPERSAND character to the
+ // current attribute's value. Otherwise, emit the character token that
+ // was returned.
+ $char = (!$entity)
+ ? '&'
+ : $entity;
+
+ $this->emitToken($char);
+ }
+
+ private function bogusCommentState()
+ {
+ /* Consume every character up to the first U+003E GREATER-THAN SIGN
+ character (>) or the end of the file (EOF), whichever comes first. Emit
+ a comment token whose data is the concatenation of all the characters
+ starting from and including the character that caused the state machine
+ to switch into the bogus comment state, up to and including the last
+ consumed character before the U+003E character, if any, or up to the
+ end of the file otherwise. (If the comment was started by the end of
+ the file (EOF), the token is empty.) */
+ $data = $this->characters('^>', $this->char);
+ $this->emitToken(array(
+ 'data' => $data,
+ 'type' => self::COMMENT
+ ));
+
+ $this->char += strlen($data);
+
+ /* Switch to the data state. */
+ $this->state = 'data';
+
+ /* If the end of the file was reached, reconsume the EOF character. */
+ if($this->char === $this->EOF) {
+ $this->char = $this->EOF - 1;
+ }
+ }
+
+ private function markupDeclarationOpenState()
+ {
+ /* If the next two characters are both U+002D HYPHEN-MINUS (-)
+ characters, consume those two characters, create a comment token whose
+ data is the empty string, and switch to the comment state. */
+ if($this->character($this->char + 1, 2) === '--') {
+ $this->char += 2;
+ $this->state = 'comment';
+ $this->token = array(
+ 'data' => null,
+ 'type' => self::COMMENT
+ );
+
+ /* Otherwise if the next seven chacacters are a case-insensitive match
+ for the word "DOCTYPE", then consume those characters and switch to the
+ DOCTYPE state. */
+ } elseif(strtolower($this->character($this->char + 1, 7)) === 'doctype') {
+ $this->char += 7;
+ $this->state = 'doctype';
+
+ /* Otherwise, is is a parse error. Switch to the bogus comment state.
+ The next character that is consumed, if any, is the first character
+ that will be in the comment. */
+ } else {
+ $this->char++;
+ $this->state = 'bogusComment';
+ }
+ }
+
+ private function commentState()
+ {
+ /* Consume the next input character: */
+ $this->char++;
+ $char = $this->char();
+
+ /* U+002D HYPHEN-MINUS (-) */
+ if($char === '-') {
+ /* Switch to the comment dash state */
+ $this->state = 'commentDash';
+
+ /* EOF */
+ } elseif($this->char === $this->EOF) {
+ /* Parse error. Emit the comment token. Reconsume the EOF character
+ in the data state. */
+ $this->emitToken($this->token);
+ $this->char--;
+ $this->state = 'data';
+
+ /* Anything else */
+ } else {
+ /* Append the input character to the comment token's data. Stay in
+ the comment state. */
+ $this->token['data'] .= $char;
+ }
+ }
+
+ private function commentDashState()
+ {
+ /* Consume the next input character: */
+ $this->char++;
+ $char = $this->char();
+
+ /* U+002D HYPHEN-MINUS (-) */
+ if($char === '-') {
+ /* Switch to the comment end state */
+ $this->state = 'commentEnd';
+
+ /* EOF */
+ } elseif($this->char === $this->EOF) {
+ /* Parse error. Emit the comment token. Reconsume the EOF character
+ in the data state. */
+ $this->emitToken($this->token);
+ $this->char--;
+ $this->state = 'data';
+
+ /* Anything else */
+ } else {
+ /* Append a U+002D HYPHEN-MINUS (-) character and the input
+ character to the comment token's data. Switch to the comment state. */
+ $this->token['data'] .= '-'.$char;
+ $this->state = 'comment';
+ }
+ }
+
+ private function commentEndState()
+ {
+ /* Consume the next input character: */
+ $this->char++;
+ $char = $this->char();
+
+ if($char === '>') {
+ $this->emitToken($this->token);
+ $this->state = 'data';
+
+ } elseif($char === '-') {
+ $this->token['data'] .= '-';
+
+ } elseif($this->char === $this->EOF) {
+ $this->emitToken($this->token);
+ $this->char--;
+ $this->state = 'data';
+
+ } else {
+ $this->token['data'] .= '--'.$char;
+ $this->state = 'comment';
+ }
+ }
+
+ private function doctypeState()
+ {
+ /* Consume the next input character: */
+ $this->char++;
+ $char = $this->char();
+
+ if(preg_match('/^[\t\n\x0b\x0c ]$/', $char)) {
+ $this->state = 'beforeDoctypeName';
+
+ } else {
+ $this->char--;
+ $this->state = 'beforeDoctypeName';
+ }
+ }
+
+ private function beforeDoctypeNameState()
+ {
+ /* Consume the next input character: */
+ $this->char++;
+ $char = $this->char();
+
+ if(preg_match('/^[\t\n\x0b\x0c ]$/', $char)) {
+ // Stay in the before DOCTYPE name state.
+
+ } elseif(preg_match('/^[a-z]$/', $char)) {
+ $this->token = array(
+ 'name' => strtoupper($char),
+ 'type' => self::DOCTYPE,
+ 'error' => true
+ );
+
+ $this->state = 'doctypeName';
+
+ } elseif($char === '>') {
+ $this->emitToken(array(
+ 'name' => null,
+ 'type' => self::DOCTYPE,
+ 'error' => true
+ ));
+
+ $this->state = 'data';
+
+ } elseif($this->char === $this->EOF) {
+ $this->emitToken(array(
+ 'name' => null,
+ 'type' => self::DOCTYPE,
+ 'error' => true
+ ));
+
+ $this->char--;
+ $this->state = 'data';
+
+ } else {
+ $this->token = array(
+ 'name' => $char,
+ 'type' => self::DOCTYPE,
+ 'error' => true
+ );
+
+ $this->state = 'doctypeName';
+ }
+ }
+
+ private function doctypeNameState()
+ {
+ /* Consume the next input character: */
+ $this->char++;
+ $char = $this->char();
+
+ if(preg_match('/^[\t\n\x0b\x0c ]$/', $char)) {
+ $this->state = 'AfterDoctypeName';
+
+ } elseif($char === '>') {
+ $this->emitToken($this->token);
+ $this->state = 'data';
+
+ } elseif(preg_match('/^[a-z]$/', $char)) {
+ $this->token['name'] .= strtoupper($char);
+
+ } elseif($this->char === $this->EOF) {
+ $this->emitToken($this->token);
+ $this->char--;
+ $this->state = 'data';
+
+ } else {
+ $this->token['name'] .= $char;
+ }
+
+ $this->token['error'] = ($this->token['name'] === 'HTML')
+ ? false
+ : true;
+ }
+
+ private function afterDoctypeNameState()
+ {
+ /* Consume the next input character: */
+ $this->char++;
+ $char = $this->char();
+
+ if(preg_match('/^[\t\n\x0b\x0c ]$/', $char)) {
+ // Stay in the DOCTYPE name state.
+
+ } elseif($char === '>') {
+ $this->emitToken($this->token);
+ $this->state = 'data';
+
+ } elseif($this->char === $this->EOF) {
+ $this->emitToken($this->token);
+ $this->char--;
+ $this->state = 'data';
+
+ } else {
+ $this->token['error'] = true;
+ $this->state = 'bogusDoctype';
+ }
+ }
+
+ private function bogusDoctypeState()
+ {
+ /* Consume the next input character: */
+ $this->char++;
+ $char = $this->char();
+
+ if($char === '>') {
+ $this->emitToken($this->token);
+ $this->state = 'data';
+
+ } elseif($this->char === $this->EOF) {
+ $this->emitToken($this->token);
+ $this->char--;
+ $this->state = 'data';
+
+ } else {
+ // Stay in the bogus DOCTYPE state.
+ }
+ }
+
+ private function entity()
+ {
+ $start = $this->char;
+
+ // This section defines how to consume an entity. This definition is
+ // used when parsing entities in text and in attributes.
+
+ // The behaviour depends on the identity of the next character (the
+ // one immediately after the U+0026 AMPERSAND character):
+
+ switch($this->character($this->char + 1)) {
+ // U+0023 NUMBER SIGN (#)
+ case '#':
+
+ // The behaviour further depends on the character after the
+ // U+0023 NUMBER SIGN:
+ switch($this->character($this->char + 1)) {
+ // U+0078 LATIN SMALL LETTER X
+ // U+0058 LATIN CAPITAL LETTER X
+ case 'x':
+ case 'X':
+ // Follow the steps below, but using the range of
+ // characters U+0030 DIGIT ZERO through to U+0039 DIGIT
+ // NINE, U+0061 LATIN SMALL LETTER A through to U+0066
+ // LATIN SMALL LETTER F, and U+0041 LATIN CAPITAL LETTER
+ // A, through to U+0046 LATIN CAPITAL LETTER F (in other
+ // words, 0-9, A-F, a-f).
+ $char = 1;
+ $char_class = '0-9A-Fa-f';
+ break;
+
+ // Anything else
+ default:
+ // Follow the steps below, but using the range of
+ // characters U+0030 DIGIT ZERO through to U+0039 DIGIT
+ // NINE (i.e. just 0-9).
+ $char = 0;
+ $char_class = '0-9';
+ break;
+ }
+
+ // Consume as many characters as match the range of characters
+ // given above.
+ $this->char++;
+ $e_name = $this->characters($char_class, $this->char + $char + 1);
+ $entity = $this->character($start, $this->char);
+ $cond = strlen($e_name) > 0;
+
+ // The rest of the parsing happens bellow.
+ break;
+
+ // Anything else
+ default:
+ // Consume the maximum number of characters possible, with the
+ // consumed characters case-sensitively matching one of the
+ // identifiers in the first column of the entities table.
+ $e_name = $this->characters('0-9A-Za-z;', $this->char + 1);
+ $len = strlen($e_name);
+
+ for($c = 1; $c <= $len; $c++) {
+ $id = substr($e_name, 0, $c);
+ $this->char++;
+
+ if(in_array($id, $this->entities)) {
+ $entity = $id;
+ break;
+ }
+ }
+
+ $cond = isset($entity);
+ // The rest of the parsing happens bellow.
+ break;
+ }
+
+ if(!$cond) {
+ // If no match can be made, then this is a parse error. No
+ // characters are consumed, and nothing is returned.
+ $this->char = $start;
+ return false;
+ }
+
+ // Return a character token for the character corresponding to the
+ // entity name (as given by the second column of the entities table).
+ return html_entity_decode('&'.$entity.';', ENT_QUOTES, 'UTF-8');
+ }
+
+ private function emitToken($token)
+ {
+ $emit = $this->tree->emitToken($token);
+
+ if(is_int($emit)) {
+ $this->content_model = $emit;
+
+ } elseif($token['type'] === self::ENDTAG) {
+ $this->content_model = self::PCDATA;
+ }
+ }
+
+ private function EOF()
+ {
+ $this->state = null;
+ $this->tree->emitToken(array(
+ 'type' => self::EOF
+ ));
+ }
+}
+
+class HTML5TreeConstructer
+{
+ public $stack = array();
+
+ private $phase;
+ private $mode;
+ private $dom;
+ private $foster_parent = null;
+ private $a_formatting = array();
+
+ private $head_pointer = null;
+ private $form_pointer = null;
+
+ private $scoping = array('button','caption','html','marquee','object','table','td','th');
+ private $formatting = array('a','b','big','em','font','i','nobr','s','small','strike','strong','tt','u');
+ private $special = array('address','area','base','basefont','bgsound',
+ 'blockquote','body','br','center','col','colgroup','dd','dir','div','dl',
+ 'dt','embed','fieldset','form','frame','frameset','h1','h2','h3','h4','h5',
+ 'h6','head','hr','iframe','image','img','input','isindex','li','link',
+ 'listing','menu','meta','noembed','noframes','noscript','ol','optgroup',
+ 'option','p','param','plaintext','pre','script','select','spacer','style',
+ 'tbody','textarea','tfoot','thead','title','tr','ul','wbr');
+
+ // The different phases.
+ const INIT_PHASE = 0;
+ const ROOT_PHASE = 1;
+ const MAIN_PHASE = 2;
+ const END_PHASE = 3;
+
+ // The different insertion modes for the main phase.
+ const BEFOR_HEAD = 0;
+ const IN_HEAD = 1;
+ const AFTER_HEAD = 2;
+ const IN_BODY = 3;
+ const IN_TABLE = 4;
+ const IN_CAPTION = 5;
+ const IN_CGROUP = 6;
+ const IN_TBODY = 7;
+ const IN_ROW = 8;
+ const IN_CELL = 9;
+ const IN_SELECT = 10;
+ const AFTER_BODY = 11;
+ const IN_FRAME = 12;
+ const AFTR_FRAME = 13;
+
+ // The different types of elements.
+ const SPECIAL = 0;
+ const SCOPING = 1;
+ const FORMATTING = 2;
+ const PHRASING = 3;
+
+ const MARKER = 0;
+
+ public function __construct()
+ {
+ $this->phase = self::INIT_PHASE;
+ $this->mode = self::BEFOR_HEAD;
+ $this->dom = new DOMDocument;
+
+ $this->dom->encoding = 'UTF-8';
+ $this->dom->preserveWhiteSpace = true;
+ $this->dom->substituteEntities = true;
+ $this->dom->strictErrorChecking = false;
+ }
+
+ // Process tag tokens
+ public function emitToken($token)
+ {
+ switch($this->phase) {
+ case self::INIT_PHASE: return $this->initPhase($token); break;
+ case self::ROOT_PHASE: return $this->rootElementPhase($token); break;
+ case self::MAIN_PHASE: return $this->mainPhase($token); break;
+ case self::END_PHASE : return $this->trailingEndPhase($token); break;
+ }
+ }
+
+ private function initPhase($token)
+ {
+ /* Initially, the tree construction stage must handle each token
+ emitted from the tokenisation stage as follows: */
+
+ /* A DOCTYPE token that is marked as being in error
+ A comment token
+ A start tag token
+ An end tag token
+ A character token that is not one of one of U+0009 CHARACTER TABULATION,
+ U+000A LINE FEED (LF), U+000B LINE TABULATION, U+000C FORM FEED (FF),
+ or U+0020 SPACE
+ An end-of-file token */
+ if((isset($token['error']) && $token['error']) ||
+ $token['type'] === HTML5::COMMENT ||
+ $token['type'] === HTML5::STARTTAG ||
+ $token['type'] === HTML5::ENDTAG ||
+ $token['type'] === HTML5::EOF ||
+ ($token['type'] === HTML5::CHARACTR && isset($token['data']) &&
+ !preg_match('/^[\t\n\x0b\x0c ]+$/', $token['data']))) {
+ /* This specification does not define how to handle this case. In
+ particular, user agents may ignore the entirety of this specification
+ altogether for such documents, and instead invoke special parse modes
+ with a greater emphasis on backwards compatibility. */
+
+ $this->phase = self::ROOT_PHASE;
+ return $this->rootElementPhase($token);
+
+ /* A DOCTYPE token marked as being correct */
+ } elseif(isset($token['error']) && !$token['error']) {
+ /* Append a DocumentType node to the Document node, with the name
+ attribute set to the name given in the DOCTYPE token (which will be
+ "HTML"), and the other attributes specific to DocumentType objects
+ set to null, empty lists, or the empty string as appropriate. */
+ $doctype = new DOMDocumentType(null, null, 'HTML');
+
+ /* Then, switch to the root element phase of the tree construction
+ stage. */
+ $this->phase = self::ROOT_PHASE;
+
+ /* A character token that is one of one of U+0009 CHARACTER TABULATION,
+ U+000A LINE FEED (LF), U+000B LINE TABULATION, U+000C FORM FEED (FF),
+ or U+0020 SPACE */
+ } elseif(isset($token['data']) && preg_match('/^[\t\n\x0b\x0c ]+$/',
+ $token['data'])) {
+ /* Append that character to the Document node. */
+ $text = $this->dom->createTextNode($token['data']);
+ $this->dom->appendChild($text);
+ }
+ }
+
+ private function rootElementPhase($token)
+ {
+ /* After the initial phase, as each token is emitted from the tokenisation
+ stage, it must be processed as described in this section. */
+
+ /* A DOCTYPE token */
+ if($token['type'] === HTML5::DOCTYPE) {
+ // Parse error. Ignore the token.
+
+ /* A comment token */
+ } elseif($token['type'] === HTML5::COMMENT) {
+ /* Append a Comment node to the Document object with the data
+ attribute set to the data given in the comment token. */
+ $comment = $this->dom->createComment($token['data']);
+ $this->dom->appendChild($comment);
+
+ /* A character token that is one of one of U+0009 CHARACTER TABULATION,
+ U+000A LINE FEED (LF), U+000B LINE TABULATION, U+000C FORM FEED (FF),
+ or U+0020 SPACE */
+ } elseif($token['type'] === HTML5::CHARACTR &&
+ preg_match('/^[\t\n\x0b\x0c ]+$/', $token['data'])) {
+ /* Append that character to the Document node. */
+ $text = $this->dom->createTextNode($token['data']);
+ $this->dom->appendChild($text);
+
+ /* A character token that is not one of U+0009 CHARACTER TABULATION,
+ U+000A LINE FEED (LF), U+000B LINE TABULATION, U+000C FORM FEED
+ (FF), or U+0020 SPACE
+ A start tag token
+ An end tag token
+ An end-of-file token */
+ } elseif(($token['type'] === HTML5::CHARACTR &&
+ !preg_match('/^[\t\n\x0b\x0c ]+$/', $token['data'])) ||
+ $token['type'] === HTML5::STARTTAG ||
+ $token['type'] === HTML5::ENDTAG ||
+ $token['type'] === HTML5::EOF) {
+ /* Create an HTMLElement node with the tag name html, in the HTML
+ namespace. Append it to the Document object. Switch to the main
+ phase and reprocess the current token. */
+ $html = $this->dom->createElement('html');
+ $this->dom->appendChild($html);
+ $this->stack[] = $html;
+
+ $this->phase = self::MAIN_PHASE;
+ return $this->mainPhase($token);
+ }
+ }
+
+ private function mainPhase($token)
+ {
+ /* Tokens in the main phase must be handled as follows: */
+
+ /* A DOCTYPE token */
+ if($token['type'] === HTML5::DOCTYPE) {
+ // Parse error. Ignore the token.
+
+ /* A start tag token with the tag name "html" */
+ } elseif($token['type'] === HTML5::STARTTAG && $token['name'] === 'html') {
+ /* If this start tag token was not the first start tag token, then
+ it is a parse error. */
+
+ /* For each attribute on the token, check to see if the attribute
+ is already present on the top element of the stack of open elements.
+ If it is not, add the attribute and its corresponding value to that
+ element. */
+ foreach($token['attr'] as $attr) {
+ if(!$this->stack[0]->hasAttribute($attr['name'])) {
+ $this->stack[0]->setAttribute($attr['name'], $attr['value']);
+ }
+ }
+
+ /* An end-of-file token */
+ } elseif($token['type'] === HTML5::EOF) {
+ /* Generate implied end tags. */
+ $this->generateImpliedEndTags();
+
+ /* Anything else. */
+ } else {
+ /* Depends on the insertion mode: */
+ switch($this->mode) {
+ case self::BEFOR_HEAD: return $this->beforeHead($token); break;
+ case self::IN_HEAD: return $this->inHead($token); break;
+ case self::AFTER_HEAD: return $this->afterHead($token); break;
+ case self::IN_BODY: return $this->inBody($token); break;
+ case self::IN_TABLE: return $this->inTable($token); break;
+ case self::IN_CAPTION: return $this->inCaption($token); break;
+ case self::IN_CGROUP: return $this->inColumnGroup($token); break;
+ case self::IN_TBODY: return $this->inTableBody($token); break;
+ case self::IN_ROW: return $this->inRow($token); break;
+ case self::IN_CELL: return $this->inCell($token); break;
+ case self::IN_SELECT: return $this->inSelect($token); break;
+ case self::AFTER_BODY: return $this->afterBody($token); break;
+ case self::IN_FRAME: return $this->inFrameset($token); break;
+ case self::AFTR_FRAME: return $this->afterFrameset($token); break;
+ case self::END_PHASE: return $this->trailingEndPhase($token); break;
+ }
+ }
+ }
+
+ private function beforeHead($token)
+ {
+ /* Handle the token as follows: */
+
+ /* A character token that is one of one of U+0009 CHARACTER TABULATION,
+ U+000A LINE FEED (LF), U+000B LINE TABULATION, U+000C FORM FEED (FF),
+ or U+0020 SPACE */
+ if($token['type'] === HTML5::CHARACTR &&
+ preg_match('/^[\t\n\x0b\x0c ]+$/', $token['data'])) {
+ /* Append the character to the current node. */
+ $this->insertText($token['data']);
+
+ /* A comment token */
+ } elseif($token['type'] === HTML5::COMMENT) {
+ /* Append a Comment node to the current node with the data attribute
+ set to the data given in the comment token. */
+ $this->insertComment($token['data']);
+
+ /* A start tag token with the tag name "head" */
+ } elseif($token['type'] === HTML5::STARTTAG && $token['name'] === 'head') {
+ /* Create an element for the token, append the new element to the
+ current node and push it onto the stack of open elements. */
+ $element = $this->insertElement($token);
+
+ /* Set the head element pointer to this new element node. */
+ $this->head_pointer = $element;
+
+ /* Change the insertion mode to "in head". */
+ $this->mode = self::IN_HEAD;
+
+ /* A start tag token whose tag name is one of: "base", "link", "meta",
+ "script", "style", "title". Or an end tag with the tag name "html".
+ Or a character token that is not one of U+0009 CHARACTER TABULATION,
+ U+000A LINE FEED (LF), U+000B LINE TABULATION, U+000C FORM FEED (FF),
+ or U+0020 SPACE. Or any other start tag token */
+ } elseif($token['type'] === HTML5::STARTTAG ||
+ ($token['type'] === HTML5::ENDTAG && $token['name'] === 'html') ||
+ ($token['type'] === HTML5::CHARACTR && !preg_match('/^[\t\n\x0b\x0c ]$/',
+ $token['data']))) {
+ /* Act as if a start tag token with the tag name "head" and no
+ attributes had been seen, then reprocess the current token. */
+ $this->beforeHead(array(
+ 'name' => 'head',
+ 'type' => HTML5::STARTTAG,
+ 'attr' => array()
+ ));
+
+ return $this->inHead($token);
+
+ /* Any other end tag */
+ } elseif($token['type'] === HTML5::ENDTAG) {
+ /* Parse error. Ignore the token. */
+ }
+ }
+
+ private function inHead($token)
+ {
+ /* Handle the token as follows: */
+
+ /* A character token that is one of one of U+0009 CHARACTER TABULATION,
+ U+000A LINE FEED (LF), U+000B LINE TABULATION, U+000C FORM FEED (FF),
+ or U+0020 SPACE.
+
+ THIS DIFFERS FROM THE SPEC: If the current node is either a title, style
+ or script element, append the character to the current node regardless
+ of its content. */
+ if(($token['type'] === HTML5::CHARACTR &&
+ preg_match('/^[\t\n\x0b\x0c ]+$/', $token['data'])) || (
+ $token['type'] === HTML5::CHARACTR && in_array(end($this->stack)->nodeName,
+ array('title', 'style', 'script')))) {
+ /* Append the character to the current node. */
+ $this->insertText($token['data']);
+
+ /* A comment token */
+ } elseif($token['type'] === HTML5::COMMENT) {
+ /* Append a Comment node to the current node with the data attribute
+ set to the data given in the comment token. */
+ $this->insertComment($token['data']);
+
+ } elseif($token['type'] === HTML5::ENDTAG &&
+ in_array($token['name'], array('title', 'style', 'script'))) {
+ array_pop($this->stack);
+ return HTML5::PCDATA;
+
+ /* A start tag with the tag name "title" */
+ } elseif($token['type'] === HTML5::STARTTAG && $token['name'] === 'title') {
+ /* Create an element for the token and append the new element to the
+ node pointed to by the head element pointer, or, if that is null
+ (innerHTML case), to the current node. */
+ if($this->head_pointer !== null) {
+ $element = $this->insertElement($token, false);
+ $this->head_pointer->appendChild($element);
+
+ } else {
+ $element = $this->insertElement($token);
+ }
+
+ /* Switch the tokeniser's content model flag to the RCDATA state. */
+ return HTML5::RCDATA;
+
+ /* A start tag with the tag name "style" */
+ } elseif($token['type'] === HTML5::STARTTAG && $token['name'] === 'style') {
+ /* Create an element for the token and append the new element to the
+ node pointed to by the head element pointer, or, if that is null
+ (innerHTML case), to the current node. */
+ if($this->head_pointer !== null) {
+ $element = $this->insertElement($token, false);
+ $this->head_pointer->appendChild($element);
+
+ } else {
+ $this->insertElement($token);
+ }
+
+ /* Switch the tokeniser's content model flag to the CDATA state. */
+ return HTML5::CDATA;
+
+ /* A start tag with the tag name "script" */
+ } elseif($token['type'] === HTML5::STARTTAG && $token['name'] === 'script') {
+ /* Create an element for the token. */
+ $element = $this->insertElement($token, false);
+ $this->head_pointer->appendChild($element);
+
+ /* Switch the tokeniser's content model flag to the CDATA state. */
+ return HTML5::CDATA;
+
+ /* A start tag with the tag name "base", "link", or "meta" */
+ } elseif($token['type'] === HTML5::STARTTAG && in_array($token['name'],
+ array('base', 'link', 'meta'))) {
+ /* Create an element for the token and append the new element to the
+ node pointed to by the head element pointer, or, if that is null
+ (innerHTML case), to the current node. */
+ if($this->head_pointer !== null) {
+ $element = $this->insertElement($token, false);
+ $this->head_pointer->appendChild($element);
+ array_pop($this->stack);
+
+ } else {
+ $this->insertElement($token);
+ }
+
+ /* An end tag with the tag name "head" */
+ } elseif($token['type'] === HTML5::ENDTAG && $token['name'] === 'head') {
+ /* If the current node is a head element, pop the current node off
+ the stack of open elements. */
+ if($this->head_pointer->isSameNode(end($this->stack))) {
+ array_pop($this->stack);
+
+ /* Otherwise, this is a parse error. */
+ } else {
+ // k
+ }
+
+ /* Change the insertion mode to "after head". */
+ $this->mode = self::AFTER_HEAD;
+
+ /* A start tag with the tag name "head" or an end tag except "html". */
+ } elseif(($token['type'] === HTML5::STARTTAG && $token['name'] === 'head') ||
+ ($token['type'] === HTML5::ENDTAG && $token['name'] !== 'html')) {
+ // Parse error. Ignore the token.
+
+ /* Anything else */
+ } else {
+ /* If the current node is a head element, act as if an end tag
+ token with the tag name "head" had been seen. */
+ if($this->head_pointer->isSameNode(end($this->stack))) {
+ $this->inHead(array(
+ 'name' => 'head',
+ 'type' => HTML5::ENDTAG
+ ));
+
+ /* Otherwise, change the insertion mode to "after head". */
+ } else {
+ $this->mode = self::AFTER_HEAD;
+ }
+
+ /* Then, reprocess the current token. */
+ return $this->afterHead($token);
+ }
+ }
+
+ private function afterHead($token)
+ {
+ /* Handle the token as follows: */
+
+ /* A character token that is one of one of U+0009 CHARACTER TABULATION,
+ U+000A LINE FEED (LF), U+000B LINE TABULATION, U+000C FORM FEED (FF),
+ or U+0020 SPACE */
+ if($token['type'] === HTML5::CHARACTR &&
+ preg_match('/^[\t\n\x0b\x0c ]+$/', $token['data'])) {
+ /* Append the character to the current node. */
+ $this->insertText($token['data']);
+
+ /* A comment token */
+ } elseif($token['type'] === HTML5::COMMENT) {
+ /* Append a Comment node to the current node with the data attribute
+ set to the data given in the comment token. */
+ $this->insertComment($token['data']);
+
+ /* A start tag token with the tag name "body" */
+ } elseif($token['type'] === HTML5::STARTTAG && $token['name'] === 'body') {
+ /* Insert a body element for the token. */
+ $this->insertElement($token);
+
+ /* Change the insertion mode to "in body". */
+ $this->mode = self::IN_BODY;
+
+ /* A start tag token with the tag name "frameset" */
+ } elseif($token['type'] === HTML5::STARTTAG && $token['name'] === 'frameset') {
+ /* Insert a frameset element for the token. */
+ $this->insertElement($token);
+
+ /* Change the insertion mode to "in frameset". */
+ $this->mode = self::IN_FRAME;
+
+ /* A start tag token whose tag name is one of: "base", "link", "meta",
+ "script", "style", "title" */
+ } elseif($token['type'] === HTML5::STARTTAG && in_array($token['name'],
+ array('base', 'link', 'meta', 'script', 'style', 'title'))) {
+ /* Parse error. Switch the insertion mode back to "in head" and
+ reprocess the token. */
+ $this->mode = self::IN_HEAD;
+ return $this->inHead($token);
+
+ /* Anything else */
+ } else {
+ /* Act as if a start tag token with the tag name "body" and no
+ attributes had been seen, and then reprocess the current token. */
+ $this->afterHead(array(
+ 'name' => 'body',
+ 'type' => HTML5::STARTTAG,
+ 'attr' => array()
+ ));
+
+ return $this->inBody($token);
+ }
+ }
+
+ private function inBody($token)
+ {
+ /* Handle the token as follows: */
+
+ switch($token['type']) {
+ /* A character token */
+ case HTML5::CHARACTR:
+ /* Reconstruct the active formatting elements, if any. */
+ $this->reconstructActiveFormattingElements();
+
+ /* Append the token's character to the current node. */
+ $this->insertText($token['data']);
+ break;
+
+ /* A comment token */
+ case HTML5::COMMENT:
+ /* Append a Comment node to the current node with the data
+ attribute set to the data given in the comment token. */
+ $this->insertComment($token['data']);
+ break;
+
+ case HTML5::STARTTAG:
+ switch($token['name']) {
+ /* A start tag token whose tag name is one of: "script",
+ "style" */
+ case 'script': case 'style':
+ /* Process the token as if the insertion mode had been "in
+ head". */
+ return $this->inHead($token);
+ break;
+
+ /* A start tag token whose tag name is one of: "base", "link",
+ "meta", "title" */
+ case 'base': case 'link': case 'meta': case 'title':
+ /* Parse error. Process the token as if the insertion mode
+ had been "in head". */
+ return $this->inHead($token);
+ break;
+
+ /* A start tag token with the tag name "body" */
+ case 'body':
+ /* Parse error. If the second element on the stack of open
+ elements is not a body element, or, if the stack of open
+ elements has only one node on it, then ignore the token.
+ (innerHTML case) */
+ if(count($this->stack) === 1 || $this->stack[1]->nodeName !== 'body') {
+ // Ignore
+
+ /* Otherwise, for each attribute on the token, check to see
+ if the attribute is already present on the body element (the
+ second element) on the stack of open elements. If it is not,
+ add the attribute and its corresponding value to that
+ element. */
+ } else {
+ foreach($token['attr'] as $attr) {
+ if(!$this->stack[1]->hasAttribute($attr['name'])) {
+ $this->stack[1]->setAttribute($attr['name'], $attr['value']);
+ }
+ }
+ }
+ break;
+
+ /* A start tag whose tag name is one of: "address",
+ "blockquote", "center", "dir", "div", "dl", "fieldset",
+ "listing", "menu", "ol", "p", "ul" */
+ case 'address': case 'blockquote': case 'center': case 'dir':
+ case 'div': case 'dl': case 'fieldset': case 'listing':
+ case 'menu': case 'ol': case 'p': case 'ul':
+ /* If the stack of open elements has a p element in scope,
+ then act as if an end tag with the tag name p had been
+ seen. */
+ if($this->elementInScope('p')) {
+ $this->emitToken(array(
+ 'name' => 'p',
+ 'type' => HTML5::ENDTAG
+ ));
+ }
+
+ /* Insert an HTML element for the token. */
+ $this->insertElement($token);
+ break;
+
+ /* A start tag whose tag name is "form" */
+ case 'form':
+ /* If the form element pointer is not null, ignore the
+ token with a parse error. */
+ if($this->form_pointer !== null) {
+ // Ignore.
+
+ /* Otherwise: */
+ } else {
+ /* If the stack of open elements has a p element in
+ scope, then act as if an end tag with the tag name p
+ had been seen. */
+ if($this->elementInScope('p')) {
+ $this->emitToken(array(
+ 'name' => 'p',
+ 'type' => HTML5::ENDTAG
+ ));
+ }
+
+ /* Insert an HTML element for the token, and set the
+ form element pointer to point to the element created. */
+ $element = $this->insertElement($token);
+ $this->form_pointer = $element;
+ }
+ break;
+
+ /* A start tag whose tag name is "li", "dd" or "dt" */
+ case 'li': case 'dd': case 'dt':
+ /* If the stack of open elements has a p element in scope,
+ then act as if an end tag with the tag name p had been
+ seen. */
+ if($this->elementInScope('p')) {
+ $this->emitToken(array(
+ 'name' => 'p',
+ 'type' => HTML5::ENDTAG
+ ));
+ }
+
+ $stack_length = count($this->stack) - 1;
+
+ for($n = $stack_length; 0 <= $n; $n--) {
+ /* 1. Initialise node to be the current node (the
+ bottommost node of the stack). */
+ $stop = false;
+ $node = $this->stack[$n];
+ $cat = $this->getElementCategory($node->tagName);
+
+ /* 2. If node is an li, dd or dt element, then pop all
+ the nodes from the current node up to node, including
+ node, then stop this algorithm. */
+ if($token['name'] === $node->tagName || ($token['name'] !== 'li'
+ && ($node->tagName === 'dd' || $node->tagName === 'dt'))) {
+ for($x = $stack_length; $x >= $n ; $x--) {
+ array_pop($this->stack);
+ }
+
+ break;
+ }
+
+ /* 3. If node is not in the formatting category, and is
+ not in the phrasing category, and is not an address or
+ div element, then stop this algorithm. */
+ if($cat !== self::FORMATTING && $cat !== self::PHRASING &&
+ $node->tagName !== 'address' && $node->tagName !== 'div') {
+ break;
+ }
+ }
+
+ /* Finally, insert an HTML element with the same tag
+ name as the token's. */
+ $this->insertElement($token);
+ break;
+
+ /* A start tag token whose tag name is "plaintext" */
+ case 'plaintext':
+ /* If the stack of open elements has a p element in scope,
+ then act as if an end tag with the tag name p had been
+ seen. */
+ if($this->elementInScope('p')) {
+ $this->emitToken(array(
+ 'name' => 'p',
+ 'type' => HTML5::ENDTAG
+ ));
+ }
+
+ /* Insert an HTML element for the token. */
+ $this->insertElement($token);
+
+ return HTML5::PLAINTEXT;
+ break;
+
+ /* A start tag whose tag name is one of: "h1", "h2", "h3", "h4",
+ "h5", "h6" */
+ case 'h1': case 'h2': case 'h3': case 'h4': case 'h5': case 'h6':
+ /* If the stack of open elements has a p element in scope,
+ then act as if an end tag with the tag name p had been seen. */
+ if($this->elementInScope('p')) {
+ $this->emitToken(array(
+ 'name' => 'p',
+ 'type' => HTML5::ENDTAG
+ ));
+ }
+
+ /* If the stack of open elements has in scope an element whose
+ tag name is one of "h1", "h2", "h3", "h4", "h5", or "h6", then
+ this is a parse error; pop elements from the stack until an
+ element with one of those tag names has been popped from the
+ stack. */
+ while($this->elementInScope(array('h1', 'h2', 'h3', 'h4', 'h5', 'h6'))) {
+ array_pop($this->stack);
+ }
+
+ /* Insert an HTML element for the token. */
+ $this->insertElement($token);
+ break;
+
+ /* A start tag whose tag name is "a" */
+ case 'a':
+ /* If the list of active formatting elements contains
+ an element whose tag name is "a" between the end of the
+ list and the last marker on the list (or the start of
+ the list if there is no marker on the list), then this
+ is a parse error; act as if an end tag with the tag name
+ "a" had been seen, then remove that element from the list
+ of active formatting elements and the stack of open
+ elements if the end tag didn't already remove it (it
+ might not have if the element is not in table scope). */
+ $leng = count($this->a_formatting);
+
+ for($n = $leng - 1; $n >= 0; $n--) {
+ if($this->a_formatting[$n] === self::MARKER) {
+ break;
+
+ } elseif($this->a_formatting[$n]->nodeName === 'a') {
+ $this->emitToken(array(
+ 'name' => 'a',
+ 'type' => HTML5::ENDTAG
+ ));
+ break;
+ }
+ }
+
+ /* Reconstruct the active formatting elements, if any. */
+ $this->reconstructActiveFormattingElements();
+
+ /* Insert an HTML element for the token. */
+ $el = $this->insertElement($token);
+
+ /* Add that element to the list of active formatting
+ elements. */
+ $this->a_formatting[] = $el;
+ break;
+
+ /* A start tag whose tag name is one of: "b", "big", "em", "font",
+ "i", "nobr", "s", "small", "strike", "strong", "tt", "u" */
+ case 'b': case 'big': case 'em': case 'font': case 'i':
+ case 'nobr': case 's': case 'small': case 'strike':
+ case 'strong': case 'tt': case 'u':
+ /* Reconstruct the active formatting elements, if any. */
+ $this->reconstructActiveFormattingElements();
+
+ /* Insert an HTML element for the token. */
+ $el = $this->insertElement($token);
+
+ /* Add that element to the list of active formatting
+ elements. */
+ $this->a_formatting[] = $el;
+ break;
+
+ /* A start tag token whose tag name is "button" */
+ case 'button':
+ /* If the stack of open elements has a button element in scope,
+ then this is a parse error; act as if an end tag with the tag
+ name "button" had been seen, then reprocess the token. (We don't
+ do that. Unnecessary.) */
+ if($this->elementInScope('button')) {
+ $this->inBody(array(
+ 'name' => 'button',
+ 'type' => HTML5::ENDTAG
+ ));
+ }
+
+ /* Reconstruct the active formatting elements, if any. */
+ $this->reconstructActiveFormattingElements();
+
+ /* Insert an HTML element for the token. */
+ $this->insertElement($token);
+
+ /* Insert a marker at the end of the list of active
+ formatting elements. */
+ $this->a_formatting[] = self::MARKER;
+ break;
+
+ /* A start tag token whose tag name is one of: "marquee", "object" */
+ case 'marquee': case 'object':
+ /* Reconstruct the active formatting elements, if any. */
+ $this->reconstructActiveFormattingElements();
+
+ /* Insert an HTML element for the token. */
+ $this->insertElement($token);
+
+ /* Insert a marker at the end of the list of active
+ formatting elements. */
+ $this->a_formatting[] = self::MARKER;
+ break;
+
+ /* A start tag token whose tag name is "xmp" */
+ case 'xmp':
+ /* Reconstruct the active formatting elements, if any. */
+ $this->reconstructActiveFormattingElements();
+
+ /* Insert an HTML element for the token. */
+ $this->insertElement($token);
+
+ /* Switch the content model flag to the CDATA state. */
+ return HTML5::CDATA;
+ break;
+
+ /* A start tag whose tag name is "table" */
+ case 'table':
+ /* If the stack of open elements has a p element in scope,
+ then act as if an end tag with the tag name p had been seen. */
+ if($this->elementInScope('p')) {
+ $this->emitToken(array(
+ 'name' => 'p',
+ 'type' => HTML5::ENDTAG
+ ));
+ }
+
+ /* Insert an HTML element for the token. */
+ $this->insertElement($token);
+
+ /* Change the insertion mode to "in table". */
+ $this->mode = self::IN_TABLE;
+ break;
+
+ /* A start tag whose tag name is one of: "area", "basefont",
+ "bgsound", "br", "embed", "img", "param", "spacer", "wbr" */
+ case 'area': case 'basefont': case 'bgsound': case 'br':
+ case 'embed': case 'img': case 'param': case 'spacer':
+ case 'wbr':
+ /* Reconstruct the active formatting elements, if any. */
+ $this->reconstructActiveFormattingElements();
+
+ /* Insert an HTML element for the token. */
+ $this->insertElement($token);
+
+ /* Immediately pop the current node off the stack of open elements. */
+ array_pop($this->stack);
+ break;
+
+ /* A start tag whose tag name is "hr" */
+ case 'hr':
+ /* If the stack of open elements has a p element in scope,
+ then act as if an end tag with the tag name p had been seen. */
+ if($this->elementInScope('p')) {
+ $this->emitToken(array(
+ 'name' => 'p',
+ 'type' => HTML5::ENDTAG
+ ));
+ }
+
+ /* Insert an HTML element for the token. */
+ $this->insertElement($token);
+
+ /* Immediately pop the current node off the stack of open elements. */
+ array_pop($this->stack);
+ break;
+
+ /* A start tag whose tag name is "image" */
+ case 'image':
+ /* Parse error. Change the token's tag name to "img" and
+ reprocess it. (Don't ask.) */
+ $token['name'] = 'img';
+ return $this->inBody($token);
+ break;
+
+ /* A start tag whose tag name is "input" */
+ case 'input':
+ /* Reconstruct the active formatting elements, if any. */
+ $this->reconstructActiveFormattingElements();
+
+ /* Insert an input element for the token. */
+ $element = $this->insertElement($token, false);
+
+ /* If the form element pointer is not null, then associate the
+ input element with the form element pointed to by the form
+ element pointer. */
+ $this->form_pointer !== null
+ ? $this->form_pointer->appendChild($element)
+ : end($this->stack)->appendChild($element);
+
+ /* Pop that input element off the stack of open elements. */
+ array_pop($this->stack);
+ break;
+
+ /* A start tag whose tag name is "isindex" */
+ case 'isindex':
+ /* Parse error. */
+ // w/e
+
+ /* If the form element pointer is not null,
+ then ignore the token. */
+ if($this->form_pointer === null) {
+ /* Act as if a start tag token with the tag name "form" had
+ been seen. */
+ $this->inBody(array(
+ 'name' => 'body',
+ 'type' => HTML5::STARTTAG,
+ 'attr' => array()
+ ));
+
+ /* Act as if a start tag token with the tag name "hr" had
+ been seen. */
+ $this->inBody(array(
+ 'name' => 'hr',
+ 'type' => HTML5::STARTTAG,
+ 'attr' => array()
+ ));
+
+ /* Act as if a start tag token with the tag name "p" had
+ been seen. */
+ $this->inBody(array(
+ 'name' => 'p',
+ 'type' => HTML5::STARTTAG,
+ 'attr' => array()
+ ));
+
+ /* Act as if a start tag token with the tag name "label"
+ had been seen. */
+ $this->inBody(array(
+ 'name' => 'label',
+ 'type' => HTML5::STARTTAG,
+ 'attr' => array()
+ ));
+
+ /* Act as if a stream of character tokens had been seen. */
+ $this->insertText('This is a searchable index. '.
+ 'Insert your search keywords here: ');
+
+ /* Act as if a start tag token with the tag name "input"
+ had been seen, with all the attributes from the "isindex"
+ token, except with the "name" attribute set to the value
+ "isindex" (ignoring any explicit "name" attribute). */
+ $attr = $token['attr'];
+ $attr[] = array('name' => 'name', 'value' => 'isindex');
+
+ $this->inBody(array(
+ 'name' => 'input',
+ 'type' => HTML5::STARTTAG,
+ 'attr' => $attr
+ ));
+
+ /* Act as if a stream of character tokens had been seen
+ (see below for what they should say). */
+ $this->insertText('This is a searchable index. '.
+ 'Insert your search keywords here: ');
+
+ /* Act as if an end tag token with the tag name "label"
+ had been seen. */
+ $this->inBody(array(
+ 'name' => 'label',
+ 'type' => HTML5::ENDTAG
+ ));
+
+ /* Act as if an end tag token with the tag name "p" had
+ been seen. */
+ $this->inBody(array(
+ 'name' => 'p',
+ 'type' => HTML5::ENDTAG
+ ));
+
+ /* Act as if a start tag token with the tag name "hr" had
+ been seen. */
+ $this->inBody(array(
+ 'name' => 'hr',
+ 'type' => HTML5::ENDTAG
+ ));
+
+ /* Act as if an end tag token with the tag name "form" had
+ been seen. */
+ $this->inBody(array(
+ 'name' => 'form',
+ 'type' => HTML5::ENDTAG
+ ));
+ }
+ break;
+
+ /* A start tag whose tag name is "textarea" */
+ case 'textarea':
+ $this->insertElement($token);
+
+ /* Switch the tokeniser's content model flag to the
+ RCDATA state. */
+ return HTML5::RCDATA;
+ break;
+
+ /* A start tag whose tag name is one of: "iframe", "noembed",
+ "noframes" */
+ case 'iframe': case 'noembed': case 'noframes':
+ $this->insertElement($token);
+
+ /* Switch the tokeniser's content model flag to the CDATA state. */
+ return HTML5::CDATA;
+ break;
+
+ /* A start tag whose tag name is "select" */
+ case 'select':
+ /* Reconstruct the active formatting elements, if any. */
+ $this->reconstructActiveFormattingElements();
+
+ /* Insert an HTML element for the token. */
+ $this->insertElement($token);
+
+ /* Change the insertion mode to "in select". */
+ $this->mode = self::IN_SELECT;
+ break;
+
+ /* A start or end tag whose tag name is one of: "caption", "col",
+ "colgroup", "frame", "frameset", "head", "option", "optgroup",
+ "tbody", "td", "tfoot", "th", "thead", "tr". */
+ case 'caption': case 'col': case 'colgroup': case 'frame':
+ case 'frameset': case 'head': case 'option': case 'optgroup':
+ case 'tbody': case 'td': case 'tfoot': case 'th': case 'thead':
+ case 'tr':
+ // Parse error. Ignore the token.
+ break;
+
+ /* A start or end tag whose tag name is one of: "event-source",
+ "section", "nav", "article", "aside", "header", "footer",
+ "datagrid", "command" */
+ case 'event-source': case 'section': case 'nav': case 'article':
+ case 'aside': case 'header': case 'footer': case 'datagrid':
+ case 'command':
+ // Work in progress!
+ break;
+
+ /* A start tag token not covered by the previous entries */
+ default:
+ /* Reconstruct the active formatting elements, if any. */
+ $this->reconstructActiveFormattingElements();
+
+ $this->insertElement($token);
+ break;
+ }
+ break;
+
+ case HTML5::ENDTAG:
+ switch($token['name']) {
+ /* An end tag with the tag name "body" */
+ case 'body':
+ /* If the second element in the stack of open elements is
+ not a body element, this is a parse error. Ignore the token.
+ (innerHTML case) */
+ if(count($this->stack) < 2 || $this->stack[1]->nodeName !== 'body') {
+ // Ignore.
+
+ /* If the current node is not the body element, then this
+ is a parse error. */
+ } elseif(end($this->stack)->nodeName !== 'body') {
+ // Parse error.
+ }
+
+ /* Change the insertion mode to "after body". */
+ $this->mode = self::AFTER_BODY;
+ break;
+
+ /* An end tag with the tag name "html" */
+ case 'html':
+ /* Act as if an end tag with tag name "body" had been seen,
+ then, if that token wasn't ignored, reprocess the current
+ token. */
+ $this->inBody(array(
+ 'name' => 'body',
+ 'type' => HTML5::ENDTAG
+ ));
+
+ return $this->afterBody($token);
+ break;
+
+ /* An end tag whose tag name is one of: "address", "blockquote",
+ "center", "dir", "div", "dl", "fieldset", "listing", "menu",
+ "ol", "pre", "ul" */
+ case 'address': case 'blockquote': case 'center': case 'dir':
+ case 'div': case 'dl': case 'fieldset': case 'listing':
+ case 'menu': case 'ol': case 'pre': case 'ul':
+ /* If the stack of open elements has an element in scope
+ with the same tag name as that of the token, then generate
+ implied end tags. */
+ if($this->elementInScope($token['name'])) {
+ $this->generateImpliedEndTags();
+
+ /* Now, if the current node is not an element with
+ the same tag name as that of the token, then this
+ is a parse error. */
+ // w/e
+
+ /* If the stack of open elements has an element in
+ scope with the same tag name as that of the token,
+ then pop elements from this stack until an element
+ with that tag name has been popped from the stack. */
+ for($n = count($this->stack) - 1; $n >= 0; $n--) {
+ if($this->stack[$n]->nodeName === $token['name']) {
+ $n = -1;
+ }
+
+ array_pop($this->stack);
+ }
+ }
+ break;
+
+ /* An end tag whose tag name is "form" */
+ case 'form':
+ /* If the stack of open elements has an element in scope
+ with the same tag name as that of the token, then generate
+ implied end tags. */
+ if($this->elementInScope($token['name'])) {
+ $this->generateImpliedEndTags();
+
+ }
+
+ if(end($this->stack)->nodeName !== $token['name']) {
+ /* Now, if the current node is not an element with the
+ same tag name as that of the token, then this is a parse
+ error. */
+ // w/e
+
+ } else {
+ /* Otherwise, if the current node is an element with
+ the same tag name as that of the token pop that element
+ from the stack. */
+ array_pop($this->stack);
+ }
+
+ /* In any case, set the form element pointer to null. */
+ $this->form_pointer = null;
+ break;
+
+ /* An end tag whose tag name is "p" */
+ case 'p':
+ /* If the stack of open elements has a p element in scope,
+ then generate implied end tags, except for p elements. */
+ if($this->elementInScope('p')) {
+ $this->generateImpliedEndTags(array('p'));
+
+ /* If the current node is not a p element, then this is
+ a parse error. */
+ // k
+
+ /* If the stack of open elements has a p element in
+ scope, then pop elements from this stack until the stack
+ no longer has a p element in scope. */
+ for($n = count($this->stack) - 1; $n >= 0; $n--) {
+ if($this->elementInScope('p')) {
+ array_pop($this->stack);
+
+ } else {
+ break;
+ }
+ }
+ }
+ break;
+
+ /* An end tag whose tag name is "dd", "dt", or "li" */
+ case 'dd': case 'dt': case 'li':
+ /* If the stack of open elements has an element in scope
+ whose tag name matches the tag name of the token, then
+ generate implied end tags, except for elements with the
+ same tag name as the token. */
+ if($this->elementInScope($token['name'])) {
+ $this->generateImpliedEndTags(array($token['name']));
+
+ /* If the current node is not an element with the same
+ tag name as the token, then this is a parse error. */
+ // w/e
+
+ /* If the stack of open elements has an element in scope
+ whose tag name matches the tag name of the token, then
+ pop elements from this stack until an element with that
+ tag name has been popped from the stack. */
+ for($n = count($this->stack) - 1; $n >= 0; $n--) {
+ if($this->stack[$n]->nodeName === $token['name']) {
+ $n = -1;
+ }
+
+ array_pop($this->stack);
+ }
+ }
+ break;
+
+ /* An end tag whose tag name is one of: "h1", "h2", "h3", "h4",
+ "h5", "h6" */
+ case 'h1': case 'h2': case 'h3': case 'h4': case 'h5': case 'h6':
+ $elements = array('h1', 'h2', 'h3', 'h4', 'h5', 'h6');
+
+ /* If the stack of open elements has in scope an element whose
+ tag name is one of "h1", "h2", "h3", "h4", "h5", or "h6", then
+ generate implied end tags. */
+ if($this->elementInScope($elements)) {
+ $this->generateImpliedEndTags();
+
+ /* Now, if the current node is not an element with the same
+ tag name as that of the token, then this is a parse error. */
+ // w/e
+
+ /* If the stack of open elements has in scope an element
+ whose tag name is one of "h1", "h2", "h3", "h4", "h5", or
+ "h6", then pop elements from the stack until an element
+ with one of those tag names has been popped from the stack. */
+ while($this->elementInScope($elements)) {
+ array_pop($this->stack);
+ }
+ }
+ break;
+
+ /* An end tag whose tag name is one of: "a", "b", "big", "em",
+ "font", "i", "nobr", "s", "small", "strike", "strong", "tt", "u" */
+ case 'a': case 'b': case 'big': case 'em': case 'font':
+ case 'i': case 'nobr': case 's': case 'small': case 'strike':
+ case 'strong': case 'tt': case 'u':
+ /* 1. Let the formatting element be the last element in
+ the list of active formatting elements that:
+ * is between the end of the list and the last scope
+ marker in the list, if any, or the start of the list
+ otherwise, and
+ * has the same tag name as the token.
+ */
+ while(true) {
+ for($a = count($this->a_formatting) - 1; $a >= 0; $a--) {
+ if($this->a_formatting[$a] === self::MARKER) {
+ break;
+
+ } elseif($this->a_formatting[$a]->tagName === $token['name']) {
+ $formatting_element = $this->a_formatting[$a];
+ $in_stack = in_array($formatting_element, $this->stack, true);
+ $fe_af_pos = $a;
+ break;
+ }
+ }
+
+ /* If there is no such node, or, if that node is
+ also in the stack of open elements but the element
+ is not in scope, then this is a parse error. Abort
+ these steps. The token is ignored. */
+ if(!isset($formatting_element) || ($in_stack &&
+ !$this->elementInScope($token['name']))) {
+ break;
+
+ /* Otherwise, if there is such a node, but that node
+ is not in the stack of open elements, then this is a
+ parse error; remove the element from the list, and
+ abort these steps. */
+ } elseif(isset($formatting_element) && !$in_stack) {
+ unset($this->a_formatting[$fe_af_pos]);
+ $this->a_formatting = array_merge($this->a_formatting);
+ break;
+ }
+
+ /* 2. Let the furthest block be the topmost node in the
+ stack of open elements that is lower in the stack
+ than the formatting element, and is not an element in
+ the phrasing or formatting categories. There might
+ not be one. */
+ $fe_s_pos = array_search($formatting_element, $this->stack, true);
+ $length = count($this->stack);
+
+ for($s = $fe_s_pos + 1; $s < $length; $s++) {
+ $category = $this->getElementCategory($this->stack[$s]->nodeName);
+
+ if($category !== self::PHRASING && $category !== self::FORMATTING) {
+ $furthest_block = $this->stack[$s];
+ }
+ }
+
+ /* 3. If there is no furthest block, then the UA must
+ skip the subsequent steps and instead just pop all
+ the nodes from the bottom of the stack of open
+ elements, from the current node up to the formatting
+ element, and remove the formatting element from the
+ list of active formatting elements. */
+ if(!isset($furthest_block)) {
+ for($n = $length - 1; $n >= $fe_s_pos; $n--) {
+ array_pop($this->stack);
+ }
+
+ unset($this->a_formatting[$fe_af_pos]);
+ $this->a_formatting = array_merge($this->a_formatting);
+ break;
+ }
+
+ /* 4. Let the common ancestor be the element
+ immediately above the formatting element in the stack
+ of open elements. */
+ $common_ancestor = $this->stack[$fe_s_pos - 1];
+
+ /* 5. If the furthest block has a parent node, then
+ remove the furthest block from its parent node. */
+ if($furthest_block->parentNode !== null) {
+ $furthest_block->parentNode->removeChild($furthest_block);
+ }
+
+ /* 6. Let a bookmark note the position of the
+ formatting element in the list of active formatting
+ elements relative to the elements on either side
+ of it in the list. */
+ $bookmark = $fe_af_pos;
+
+ /* 7. Let node and last node be the furthest block.
+ Follow these steps: */
+ $node = $furthest_block;
+ $last_node = $furthest_block;
+
+ while(true) {
+ for($n = array_search($node, $this->stack, true) - 1; $n >= 0; $n--) {
+ /* 7.1 Let node be the element immediately
+ prior to node in the stack of open elements. */
+ $node = $this->stack[$n];
+
+ /* 7.2 If node is not in the list of active
+ formatting elements, then remove node from
+ the stack of open elements and then go back
+ to step 1. */
+ if(!in_array($node, $this->a_formatting, true)) {
+ unset($this->stack[$n]);
+ $this->stack = array_merge($this->stack);
+
+ } else {
+ break;
+ }
+ }
+
+ /* 7.3 Otherwise, if node is the formatting
+ element, then go to the next step in the overall
+ algorithm. */
+ if($node === $formatting_element) {
+ break;
+
+ /* 7.4 Otherwise, if last node is the furthest
+ block, then move the aforementioned bookmark to
+ be immediately after the node in the list of
+ active formatting elements. */
+ } elseif($last_node === $furthest_block) {
+ $bookmark = array_search($node, $this->a_formatting, true) + 1;
+ }
+
+ /* 7.5 If node has any children, perform a
+ shallow clone of node, replace the entry for
+ node in the list of active formatting elements
+ with an entry for the clone, replace the entry
+ for node in the stack of open elements with an
+ entry for the clone, and let node be the clone. */
+ if($node->hasChildNodes()) {
+ $clone = $node->cloneNode();
+ $s_pos = array_search($node, $this->stack, true);
+ $a_pos = array_search($node, $this->a_formatting, true);
+
+ $this->stack[$s_pos] = $clone;
+ $this->a_formatting[$a_pos] = $clone;
+ $node = $clone;
+ }
+
+ /* 7.6 Insert last node into node, first removing
+ it from its previous parent node if any. */
+ if($last_node->parentNode !== null) {
+ $last_node->parentNode->removeChild($last_node);
+ }
+
+ $node->appendChild($last_node);
+
+ /* 7.7 Let last node be node. */
+ $last_node = $node;
+ }
+
+ /* 8. Insert whatever last node ended up being in
+ the previous step into the common ancestor node,
+ first removing it from its previous parent node if
+ any. */
+ if($last_node->parentNode !== null) {
+ $last_node->parentNode->removeChild($last_node);
+ }
+
+ $common_ancestor->appendChild($last_node);
+
+ /* 9. Perform a shallow clone of the formatting
+ element. */
+ $clone = $formatting_element->cloneNode();
+
+ /* 10. Take all of the child nodes of the furthest
+ block and append them to the clone created in the
+ last step. */
+ while($furthest_block->hasChildNodes()) {
+ $child = $furthest_block->firstChild;
+ $furthest_block->removeChild($child);
+ $clone->appendChild($child);
+ }
+
+ /* 11. Append that clone to the furthest block. */
+ $furthest_block->appendChild($clone);
+
+ /* 12. Remove the formatting element from the list
+ of active formatting elements, and insert the clone
+ into the list of active formatting elements at the
+ position of the aforementioned bookmark. */
+ $fe_af_pos = array_search($formatting_element, $this->a_formatting, true);
+ unset($this->a_formatting[$fe_af_pos]);
+ $this->a_formatting = array_merge($this->a_formatting);
+
+ $af_part1 = array_slice($this->a_formatting, 0, $bookmark - 1);
+ $af_part2 = array_slice($this->a_formatting, $bookmark, count($this->a_formatting));
+ $this->a_formatting = array_merge($af_part1, array($clone), $af_part2);
+
+ /* 13. Remove the formatting element from the stack
+ of open elements, and insert the clone into the stack
+ of open elements immediately after (i.e. in a more
+ deeply nested position than) the position of the
+ furthest block in that stack. */
+ $fe_s_pos = array_search($formatting_element, $this->stack, true);
+ $fb_s_pos = array_search($furthest_block, $this->stack, true);
+ unset($this->stack[$fe_s_pos]);
+
+ $s_part1 = array_slice($this->stack, 0, $fb_s_pos);
+ $s_part2 = array_slice($this->stack, $fb_s_pos + 1, count($this->stack));
+ $this->stack = array_merge($s_part1, array($clone), $s_part2);
+
+ /* 14. Jump back to step 1 in this series of steps. */
+ unset($formatting_element, $fe_af_pos, $fe_s_pos, $furthest_block);
+ }
+ break;
+
+ /* An end tag token whose tag name is one of: "button",
+ "marquee", "object" */
+ case 'button': case 'marquee': case 'object':
+ /* If the stack of open elements has an element in scope whose
+ tag name matches the tag name of the token, then generate implied
+ tags. */
+ if($this->elementInScope($token['name'])) {
+ $this->generateImpliedEndTags();
+
+ /* Now, if the current node is not an element with the same
+ tag name as the token, then this is a parse error. */
+ // k
+
+ /* Now, if the stack of open elements has an element in scope
+ whose tag name matches the tag name of the token, then pop
+ elements from the stack until that element has been popped from
+ the stack, and clear the list of active formatting elements up
+ to the last marker. */
+ for($n = count($this->stack) - 1; $n >= 0; $n--) {
+ if($this->stack[$n]->nodeName === $token['name']) {
+ $n = -1;
+ }
+
+ array_pop($this->stack);
+ }
+
+ $marker = end(array_keys($this->a_formatting, self::MARKER, true));
+
+ for($n = count($this->a_formatting) - 1; $n > $marker; $n--) {
+ array_pop($this->a_formatting);
+ }
+ }
+ break;
+
+ /* Or an end tag whose tag name is one of: "area", "basefont",
+ "bgsound", "br", "embed", "hr", "iframe", "image", "img",
+ "input", "isindex", "noembed", "noframes", "param", "select",
+ "spacer", "table", "textarea", "wbr" */
+ case 'area': case 'basefont': case 'bgsound': case 'br':
+ case 'embed': case 'hr': case 'iframe': case 'image':
+ case 'img': case 'input': case 'isindex': case 'noembed':
+ case 'noframes': case 'param': case 'select': case 'spacer':
+ case 'table': case 'textarea': case 'wbr':
+ // Parse error. Ignore the token.
+ break;
+
+ /* An end tag token not covered by the previous entries */
+ default:
+ for($n = count($this->stack) - 1; $n >= 0; $n--) {
+ /* Initialise node to be the current node (the bottommost
+ node of the stack). */
+ $node = end($this->stack);
+
+ /* If node has the same tag name as the end tag token,
+ then: */
+ if($token['name'] === $node->nodeName) {
+ /* Generate implied end tags. */
+ $this->generateImpliedEndTags();
+
+ /* If the tag name of the end tag token does not
+ match the tag name of the current node, this is a
+ parse error. */
+ // k
+
+ /* Pop all the nodes from the current node up to
+ node, including node, then stop this algorithm. */
+ for($x = count($this->stack) - $n; $x >= $n; $x--) {
+ array_pop($this->stack);
+ }
+
+ } else {
+ $category = $this->getElementCategory($node);
+
+ if($category !== self::SPECIAL && $category !== self::SCOPING) {
+ /* Otherwise, if node is in neither the formatting
+ category nor the phrasing category, then this is a
+ parse error. Stop this algorithm. The end tag token
+ is ignored. */
+ return false;
+ }
+ }
+ }
+ break;
+ }
+ break;
+ }
+ }
+
+ private function inTable($token)
+ {
+ $clear = array('html', 'table');
+
+ /* A character token that is one of one of U+0009 CHARACTER TABULATION,
+ U+000A LINE FEED (LF), U+000B LINE TABULATION, U+000C FORM FEED (FF),
+ or U+0020 SPACE */
+ if($token['type'] === HTML5::CHARACTR &&
+ preg_match('/^[\t\n\x0b\x0c ]+$/', $token['data'])) {
+ /* Append the character to the current node. */
+ $text = $this->dom->createTextNode($token['data']);
+ end($this->stack)->appendChild($text);
+
+ /* A comment token */
+ } elseif($token['type'] === HTML5::COMMENT) {
+ /* Append a Comment node to the current node with the data
+ attribute set to the data given in the comment token. */
+ $comment = $this->dom->createComment($token['data']);
+ end($this->stack)->appendChild($comment);
+
+ /* A start tag whose tag name is "caption" */
+ } elseif($token['type'] === HTML5::STARTTAG &&
+ $token['name'] === 'caption') {
+ /* Clear the stack back to a table context. */
+ $this->clearStackToTableContext($clear);
+
+ /* Insert a marker at the end of the list of active
+ formatting elements. */
+ $this->a_formatting[] = self::MARKER;
+
+ /* Insert an HTML element for the token, then switch the
+ insertion mode to "in caption". */
+ $this->insertElement($token);
+ $this->mode = self::IN_CAPTION;
+
+ /* A start tag whose tag name is "colgroup" */
+ } elseif($token['type'] === HTML5::STARTTAG &&
+ $token['name'] === 'colgroup') {
+ /* Clear the stack back to a table context. */
+ $this->clearStackToTableContext($clear);
+
+ /* Insert an HTML element for the token, then switch the
+ insertion mode to "in column group". */
+ $this->insertElement($token);
+ $this->mode = self::IN_CGROUP;
+
+ /* A start tag whose tag name is "col" */
+ } elseif($token['type'] === HTML5::STARTTAG &&
+ $token['name'] === 'col') {
+ $this->inTable(array(
+ 'name' => 'colgroup',
+ 'type' => HTML5::STARTTAG,
+ 'attr' => array()
+ ));
+
+ $this->inColumnGroup($token);
+
+ /* A start tag whose tag name is one of: "tbody", "tfoot", "thead" */
+ } elseif($token['type'] === HTML5::STARTTAG && in_array($token['name'],
+ array('tbody', 'tfoot', 'thead'))) {
+ /* Clear the stack back to a table context. */
+ $this->clearStackToTableContext($clear);
+
+ /* Insert an HTML element for the token, then switch the insertion
+ mode to "in table body". */
+ $this->insertElement($token);
+ $this->mode = self::IN_TBODY;
+
+ /* A start tag whose tag name is one of: "td", "th", "tr" */
+ } elseif($token['type'] === HTML5::STARTTAG &&
+ in_array($token['name'], array('td', 'th', 'tr'))) {
+ /* Act as if a start tag token with the tag name "tbody" had been
+ seen, then reprocess the current token. */
+ $this->inTable(array(
+ 'name' => 'tbody',
+ 'type' => HTML5::STARTTAG,
+ 'attr' => array()
+ ));
+
+ return $this->inTableBody($token);
+
+ /* A start tag whose tag name is "table" */
+ } elseif($token['type'] === HTML5::STARTTAG &&
+ $token['name'] === 'table') {
+ /* Parse error. Act as if an end tag token with the tag name "table"
+ had been seen, then, if that token wasn't ignored, reprocess the
+ current token. */
+ $this->inTable(array(
+ 'name' => 'table',
+ 'type' => HTML5::ENDTAG
+ ));
+
+ return $this->mainPhase($token);
+
+ /* An end tag whose tag name is "table" */
+ } elseif($token['type'] === HTML5::ENDTAG &&
+ $token['name'] === 'table') {
+ /* If the stack of open elements does not have an element in table
+ scope with the same tag name as the token, this is a parse error.
+ Ignore the token. (innerHTML case) */
+ if(!$this->elementInScope($token['name'], true)) {
+ return false;
+
+ /* Otherwise: */
+ } else {
+ /* Generate implied end tags. */
+ $this->generateImpliedEndTags();
+
+ /* Now, if the current node is not a table element, then this
+ is a parse error. */
+ // w/e
+
+ /* Pop elements from this stack until a table element has been
+ popped from the stack. */
+ while(true) {
+ $current = end($this->stack)->nodeName;
+ array_pop($this->stack);
+
+ if($current === 'table') {
+ break;
+ }
+ }
+
+ /* Reset the insertion mode appropriately. */
+ $this->resetInsertionMode();
+ }
+
+ /* An end tag whose tag name is one of: "body", "caption", "col",
+ "colgroup", "html", "tbody", "td", "tfoot", "th", "thead", "tr" */
+ } elseif($token['type'] === HTML5::ENDTAG && in_array($token['name'],
+ array('body', 'caption', 'col', 'colgroup', 'html', 'tbody', 'td',
+ 'tfoot', 'th', 'thead', 'tr'))) {
+ // Parse error. Ignore the token.
+
+ /* Anything else */
+ } else {
+ /* Parse error. Process the token as if the insertion mode was "in
+ body", with the following exception: */
+
+ /* If the current node is a table, tbody, tfoot, thead, or tr
+ element, then, whenever a node would be inserted into the current
+ node, it must instead be inserted into the foster parent element. */
+ if(in_array(end($this->stack)->nodeName,
+ array('table', 'tbody', 'tfoot', 'thead', 'tr'))) {
+ /* The foster parent element is the parent element of the last
+ table element in the stack of open elements, if there is a
+ table element and it has such a parent element. If there is no
+ table element in the stack of open elements (innerHTML case),
+ then the foster parent element is the first element in the
+ stack of open elements (the html element). Otherwise, if there
+ is a table element in the stack of open elements, but the last
+ table element in the stack of open elements has no parent, or
+ its parent node is not an element, then the foster parent
+ element is the element before the last table element in the
+ stack of open elements. */
+ for($n = count($this->stack) - 1; $n >= 0; $n--) {
+ if($this->stack[$n]->nodeName === 'table') {
+ $table = $this->stack[$n];
+ break;
+ }
+ }
+
+ if(isset($table) && $table->parentNode !== null) {
+ $this->foster_parent = $table->parentNode;
+
+ } elseif(!isset($table)) {
+ $this->foster_parent = $this->stack[0];
+
+ } elseif(isset($table) && ($table->parentNode === null ||
+ $table->parentNode->nodeType !== XML_ELEMENT_NODE)) {
+ $this->foster_parent = $this->stack[$n - 1];
+ }
+ }
+
+ $this->inBody($token);
+ }
+ }
+
+ private function inCaption($token)
+ {
+ /* An end tag whose tag name is "caption" */
+ if($token['type'] === HTML5::ENDTAG && $token['name'] === 'caption') {
+ /* If the stack of open elements does not have an element in table
+ scope with the same tag name as the token, this is a parse error.
+ Ignore the token. (innerHTML case) */
+ if(!$this->elementInScope($token['name'], true)) {
+ // Ignore
+
+ /* Otherwise: */
+ } else {
+ /* Generate implied end tags. */
+ $this->generateImpliedEndTags();
+
+ /* Now, if the current node is not a caption element, then this
+ is a parse error. */
+ // w/e
+
+ /* Pop elements from this stack until a caption element has
+ been popped from the stack. */
+ while(true) {
+ $node = end($this->stack)->nodeName;
+ array_pop($this->stack);
+
+ if($node === 'caption') {
+ break;
+ }
+ }
+
+ /* Clear the list of active formatting elements up to the last
+ marker. */
+ $this->clearTheActiveFormattingElementsUpToTheLastMarker();
+
+ /* Switch the insertion mode to "in table". */
+ $this->mode = self::IN_TABLE;
+ }
+
+ /* A start tag whose tag name is one of: "caption", "col", "colgroup",
+ "tbody", "td", "tfoot", "th", "thead", "tr", or an end tag whose tag
+ name is "table" */
+ } elseif(($token['type'] === HTML5::STARTTAG && in_array($token['name'],
+ array('caption', 'col', 'colgroup', 'tbody', 'td', 'tfoot', 'th',
+ 'thead', 'tr'))) || ($token['type'] === HTML5::ENDTAG &&
+ $token['name'] === 'table')) {
+ /* Parse error. Act as if an end tag with the tag name "caption"
+ had been seen, then, if that token wasn't ignored, reprocess the
+ current token. */
+ $this->inCaption(array(
+ 'name' => 'caption',
+ 'type' => HTML5::ENDTAG
+ ));
+
+ return $this->inTable($token);
+
+ /* An end tag whose tag name is one of: "body", "col", "colgroup",
+ "html", "tbody", "td", "tfoot", "th", "thead", "tr" */
+ } elseif($token['type'] === HTML5::ENDTAG && in_array($token['name'],
+ array('body', 'col', 'colgroup', 'html', 'tbody', 'tfoot', 'th',
+ 'thead', 'tr'))) {
+ // Parse error. Ignore the token.
+
+ /* Anything else */
+ } else {
+ /* Process the token as if the insertion mode was "in body". */
+ $this->inBody($token);
+ }
+ }
+
+ private function inColumnGroup($token)
+ {
+ /* A character token that is one of one of U+0009 CHARACTER TABULATION,
+ U+000A LINE FEED (LF), U+000B LINE TABULATION, U+000C FORM FEED (FF),
+ or U+0020 SPACE */
+ if($token['type'] === HTML5::CHARACTR &&
+ preg_match('/^[\t\n\x0b\x0c ]+$/', $token['data'])) {
+ /* Append the character to the current node. */
+ $text = $this->dom->createTextNode($token['data']);
+ end($this->stack)->appendChild($text);
+
+ /* A comment token */
+ } elseif($token['type'] === HTML5::COMMENT) {
+ /* Append a Comment node to the current node with the data
+ attribute set to the data given in the comment token. */
+ $comment = $this->dom->createComment($token['data']);
+ end($this->stack)->appendChild($comment);
+
+ /* A start tag whose tag name is "col" */
+ } elseif($token['type'] === HTML5::STARTTAG && $token['name'] === 'col') {
+ /* Insert a col element for the token. Immediately pop the current
+ node off the stack of open elements. */
+ $this->insertElement($token);
+ array_pop($this->stack);
+
+ /* An end tag whose tag name is "colgroup" */
+ } elseif($token['type'] === HTML5::ENDTAG &&
+ $token['name'] === 'colgroup') {
+ /* If the current node is the root html element, then this is a
+ parse error, ignore the token. (innerHTML case) */
+ if(end($this->stack)->nodeName === 'html') {
+ // Ignore
+
+ /* Otherwise, pop the current node (which will be a colgroup
+ element) from the stack of open elements. Switch the insertion
+ mode to "in table". */
+ } else {
+ array_pop($this->stack);
+ $this->mode = self::IN_TABLE;
+ }
+
+ /* An end tag whose tag name is "col" */
+ } elseif($token['type'] === HTML5::ENDTAG && $token['name'] === 'col') {
+ /* Parse error. Ignore the token. */
+
+ /* Anything else */
+ } else {
+ /* Act as if an end tag with the tag name "colgroup" had been seen,
+ and then, if that token wasn't ignored, reprocess the current token. */
+ $this->inColumnGroup(array(
+ 'name' => 'colgroup',
+ 'type' => HTML5::ENDTAG
+ ));
+
+ return $this->inTable($token);
+ }
+ }
+
+ private function inTableBody($token)
+ {
+ $clear = array('tbody', 'tfoot', 'thead', 'html');
+
+ /* A start tag whose tag name is "tr" */
+ if($token['type'] === HTML5::STARTTAG && $token['name'] === 'tr') {
+ /* Clear the stack back to a table body context. */
+ $this->clearStackToTableContext($clear);
+
+ /* Insert a tr element for the token, then switch the insertion
+ mode to "in row". */
+ $this->insertElement($token);
+ $this->mode = self::IN_ROW;
+
+ /* A start tag whose tag name is one of: "th", "td" */
+ } elseif($token['type'] === HTML5::STARTTAG &&
+ ($token['name'] === 'th' || $token['name'] === 'td')) {
+ /* Parse error. Act as if a start tag with the tag name "tr" had
+ been seen, then reprocess the current token. */
+ $this->inTableBody(array(
+ 'name' => 'tr',
+ 'type' => HTML5::STARTTAG,
+ 'attr' => array()
+ ));
+
+ return $this->inRow($token);
+
+ /* An end tag whose tag name is one of: "tbody", "tfoot", "thead" */
+ } elseif($token['type'] === HTML5::ENDTAG &&
+ in_array($token['name'], array('tbody', 'tfoot', 'thead'))) {
+ /* If the stack of open elements does not have an element in table
+ scope with the same tag name as the token, this is a parse error.
+ Ignore the token. */
+ if(!$this->elementInScope($token['name'], true)) {
+ // Ignore
+
+ /* Otherwise: */
+ } else {
+ /* Clear the stack back to a table body context. */
+ $this->clearStackToTableContext($clear);
+
+ /* Pop the current node from the stack of open elements. Switch
+ the insertion mode to "in table". */
+ array_pop($this->stack);
+ $this->mode = self::IN_TABLE;
+ }
+
+ /* A start tag whose tag name is one of: "caption", "col", "colgroup",
+ "tbody", "tfoot", "thead", or an end tag whose tag name is "table" */
+ } elseif(($token['type'] === HTML5::STARTTAG && in_array($token['name'],
+ array('caption', 'col', 'colgroup', 'tbody', 'tfoor', 'thead'))) ||
+ ($token['type'] === HTML5::STARTTAG && $token['name'] === 'table')) {
+ /* If the stack of open elements does not have a tbody, thead, or
+ tfoot element in table scope, this is a parse error. Ignore the
+ token. (innerHTML case) */
+ if(!$this->elementInScope(array('tbody', 'thead', 'tfoot'), true)) {
+ // Ignore.
+
+ /* Otherwise: */
+ } else {
+ /* Clear the stack back to a table body context. */
+ $this->clearStackToTableContext($clear);
+
+ /* Act as if an end tag with the same tag name as the current
+ node ("tbody", "tfoot", or "thead") had been seen, then
+ reprocess the current token. */
+ $this->inTableBody(array(
+ 'name' => end($this->stack)->nodeName,
+ 'type' => HTML5::ENDTAG
+ ));
+
+ return $this->mainPhase($token);
+ }
+
+ /* An end tag whose tag name is one of: "body", "caption", "col",
+ "colgroup", "html", "td", "th", "tr" */
+ } elseif($token['type'] === HTML5::ENDTAG && in_array($token['name'],
+ array('body', 'caption', 'col', 'colgroup', 'html', 'td', 'th', 'tr'))) {
+ /* Parse error. Ignore the token. */
+
+ /* Anything else */
+ } else {
+ /* Process the token as if the insertion mode was "in table". */
+ $this->inTable($token);
+ }
+ }
+
+ private function inRow($token)
+ {
+ $clear = array('tr', 'html');
+
+ /* A start tag whose tag name is one of: "th", "td" */
+ if($token['type'] === HTML5::STARTTAG &&
+ ($token['name'] === 'th' || $token['name'] === 'td')) {
+ /* Clear the stack back to a table row context. */
+ $this->clearStackToTableContext($clear);
+
+ /* Insert an HTML element for the token, then switch the insertion
+ mode to "in cell". */
+ $this->insertElement($token);
+ $this->mode = self::IN_CELL;
+
+ /* Insert a marker at the end of the list of active formatting
+ elements. */
+ $this->a_formatting[] = self::MARKER;
+
+ /* An end tag whose tag name is "tr" */
+ } elseif($token['type'] === HTML5::ENDTAG && $token['name'] === 'tr') {
+ /* If the stack of open elements does not have an element in table
+ scope with the same tag name as the token, this is a parse error.
+ Ignore the token. (innerHTML case) */
+ if(!$this->elementInScope($token['name'], true)) {
+ // Ignore.
+
+ /* Otherwise: */
+ } else {
+ /* Clear the stack back to a table row context. */
+ $this->clearStackToTableContext($clear);
+
+ /* Pop the current node (which will be a tr element) from the
+ stack of open elements. Switch the insertion mode to "in table
+ body". */
+ array_pop($this->stack);
+ $this->mode = self::IN_TBODY;
+ }
+
+ /* A start tag whose tag name is one of: "caption", "col", "colgroup",
+ "tbody", "tfoot", "thead", "tr" or an end tag whose tag name is "table" */
+ } elseif($token['type'] === HTML5::STARTTAG && in_array($token['name'],
+ array('caption', 'col', 'colgroup', 'tbody', 'tfoot', 'thead', 'tr'))) {
+ /* Act as if an end tag with the tag name "tr" had been seen, then,
+ if that token wasn't ignored, reprocess the current token. */
+ $this->inRow(array(
+ 'name' => 'tr',
+ 'type' => HTML5::ENDTAG
+ ));
+
+ return $this->inCell($token);
+
+ /* An end tag whose tag name is one of: "tbody", "tfoot", "thead" */
+ } elseif($token['type'] === HTML5::ENDTAG &&
+ in_array($token['name'], array('tbody', 'tfoot', 'thead'))) {
+ /* If the stack of open elements does not have an element in table
+ scope with the same tag name as the token, this is a parse error.
+ Ignore the token. */
+ if(!$this->elementInScope($token['name'], true)) {
+ // Ignore.
+
+ /* Otherwise: */
+ } else {
+ /* Otherwise, act as if an end tag with the tag name "tr" had
+ been seen, then reprocess the current token. */
+ $this->inRow(array(
+ 'name' => 'tr',
+ 'type' => HTML5::ENDTAG
+ ));
+
+ return $this->inCell($token);
+ }
+
+ /* An end tag whose tag name is one of: "body", "caption", "col",
+ "colgroup", "html", "td", "th" */
+ } elseif($token['type'] === HTML5::ENDTAG && in_array($token['name'],
+ array('body', 'caption', 'col', 'colgroup', 'html', 'td', 'th', 'tr'))) {
+ /* Parse error. Ignore the token. */
+
+ /* Anything else */
+ } else {
+ /* Process the token as if the insertion mode was "in table". */
+ $this->inTable($token);
+ }
+ }
+
+ private function inCell($token)
+ {
+ /* An end tag whose tag name is one of: "td", "th" */
+ if($token['type'] === HTML5::ENDTAG &&
+ ($token['name'] === 'td' || $token['name'] === 'th')) {
+ /* If the stack of open elements does not have an element in table
+ scope with the same tag name as that of the token, then this is a
+ parse error and the token must be ignored. */
+ if(!$this->elementInScope($token['name'], true)) {
+ // Ignore.
+
+ /* Otherwise: */
+ } else {
+ /* Generate implied end tags, except for elements with the same
+ tag name as the token. */
+ $this->generateImpliedEndTags(array($token['name']));
+
+ /* Now, if the current node is not an element with the same tag
+ name as the token, then this is a parse error. */
+ // k
+
+ /* Pop elements from this stack until an element with the same
+ tag name as the token has been popped from the stack. */
+ while(true) {
+ $node = end($this->stack)->nodeName;
+ array_pop($this->stack);
+
+ if($node === $token['name']) {
+ break;
+ }
+ }
+
+ /* Clear the list of active formatting elements up to the last
+ marker. */
+ $this->clearTheActiveFormattingElementsUpToTheLastMarker();
+
+ /* Switch the insertion mode to "in row". (The current node
+ will be a tr element at this point.) */
+ $this->mode = self::IN_ROW;
+ }
+
+ /* A start tag whose tag name is one of: "caption", "col", "colgroup",
+ "tbody", "td", "tfoot", "th", "thead", "tr" */
+ } elseif($token['type'] === HTML5::STARTTAG && in_array($token['name'],
+ array('caption', 'col', 'colgroup', 'tbody', 'td', 'tfoot', 'th',
+ 'thead', 'tr'))) {
+ /* If the stack of open elements does not have a td or th element
+ in table scope, then this is a parse error; ignore the token.
+ (innerHTML case) */
+ if(!$this->elementInScope(array('td', 'th'), true)) {
+ // Ignore.
+
+ /* Otherwise, close the cell (see below) and reprocess the current
+ token. */
+ } else {
+ $this->closeCell();
+ return $this->inRow($token);
+ }
+
+ /* A start tag whose tag name is one of: "caption", "col", "colgroup",
+ "tbody", "td", "tfoot", "th", "thead", "tr" */
+ } elseif($token['type'] === HTML5::STARTTAG && in_array($token['name'],
+ array('caption', 'col', 'colgroup', 'tbody', 'td', 'tfoot', 'th',
+ 'thead', 'tr'))) {
+ /* If the stack of open elements does not have a td or th element
+ in table scope, then this is a parse error; ignore the token.
+ (innerHTML case) */
+ if(!$this->elementInScope(array('td', 'th'), true)) {
+ // Ignore.
+
+ /* Otherwise, close the cell (see below) and reprocess the current
+ token. */
+ } else {
+ $this->closeCell();
+ return $this->inRow($token);
+ }
+
+ /* An end tag whose tag name is one of: "body", "caption", "col",
+ "colgroup", "html" */
+ } elseif($token['type'] === HTML5::ENDTAG && in_array($token['name'],
+ array('body', 'caption', 'col', 'colgroup', 'html'))) {
+ /* Parse error. Ignore the token. */
+
+ /* An end tag whose tag name is one of: "table", "tbody", "tfoot",
+ "thead", "tr" */
+ } elseif($token['type'] === HTML5::ENDTAG && in_array($token['name'],
+ array('table', 'tbody', 'tfoot', 'thead', 'tr'))) {
+ /* If the stack of open elements does not have an element in table
+ scope with the same tag name as that of the token (which can only
+ happen for "tbody", "tfoot" and "thead", or, in the innerHTML case),
+ then this is a parse error and the token must be ignored. */
+ if(!$this->elementInScope($token['name'], true)) {
+ // Ignore.
+
+ /* Otherwise, close the cell (see below) and reprocess the current
+ token. */
+ } else {
+ $this->closeCell();
+ return $this->inRow($token);
+ }
+
+ /* Anything else */
+ } else {
+ /* Process the token as if the insertion mode was "in body". */
+ $this->inBody($token);
+ }
+ }
+
+ private function inSelect($token)
+ {
+ /* Handle the token as follows: */
+
+ /* A character token */
+ if($token['type'] === HTML5::CHARACTR) {
+ /* Append the token's character to the current node. */
+ $this->insertText($token['data']);
+
+ /* A comment token */
+ } elseif($token['type'] === HTML5::COMMENT) {
+ /* Append a Comment node to the current node with the data
+ attribute set to the data given in the comment token. */
+ $this->insertComment($token['data']);
+
+ /* A start tag token whose tag name is "option" */
+ } elseif($token['type'] === HTML5::STARTTAG &&
+ $token['name'] === 'option') {
+ /* If the current node is an option element, act as if an end tag
+ with the tag name "option" had been seen. */
+ if(end($this->stack)->nodeName === 'option') {
+ $this->inSelect(array(
+ 'name' => 'option',
+ 'type' => HTML5::ENDTAG
+ ));
+ }
+
+ /* Insert an HTML element for the token. */
+ $this->insertElement($token);
+
+ /* A start tag token whose tag name is "optgroup" */
+ } elseif($token['type'] === HTML5::STARTTAG &&
+ $token['name'] === 'optgroup') {
+ /* If the current node is an option element, act as if an end tag
+ with the tag name "option" had been seen. */
+ if(end($this->stack)->nodeName === 'option') {
+ $this->inSelect(array(
+ 'name' => 'option',
+ 'type' => HTML5::ENDTAG
+ ));
+ }
+
+ /* If the current node is an optgroup element, act as if an end tag
+ with the tag name "optgroup" had been seen. */
+ if(end($this->stack)->nodeName === 'optgroup') {
+ $this->inSelect(array(
+ 'name' => 'optgroup',
+ 'type' => HTML5::ENDTAG
+ ));
+ }
+
+ /* Insert an HTML element for the token. */
+ $this->insertElement($token);
+
+ /* An end tag token whose tag name is "optgroup" */
+ } elseif($token['type'] === HTML5::ENDTAG &&
+ $token['name'] === 'optgroup') {
+ /* First, if the current node is an option element, and the node
+ immediately before it in the stack of open elements is an optgroup
+ element, then act as if an end tag with the tag name "option" had
+ been seen. */
+ $elements_in_stack = count($this->stack);
+
+ if($this->stack[$elements_in_stack - 1]->nodeName === 'option' &&
+ $this->stack[$elements_in_stack - 2]->nodeName === 'optgroup') {
+ $this->inSelect(array(
+ 'name' => 'option',
+ 'type' => HTML5::ENDTAG
+ ));
+ }
+
+ /* If the current node is an optgroup element, then pop that node
+ from the stack of open elements. Otherwise, this is a parse error,
+ ignore the token. */
+ if($this->stack[$elements_in_stack - 1] === 'optgroup') {
+ array_pop($this->stack);
+ }
+
+ /* An end tag token whose tag name is "option" */
+ } elseif($token['type'] === HTML5::ENDTAG &&
+ $token['name'] === 'option') {
+ /* If the current node is an option element, then pop that node
+ from the stack of open elements. Otherwise, this is a parse error,
+ ignore the token. */
+ if(end($this->stack)->nodeName === 'option') {
+ array_pop($this->stack);
+ }
+
+ /* An end tag whose tag name is "select" */
+ } elseif($token['type'] === HTML5::ENDTAG &&
+ $token['name'] === 'select') {
+ /* If the stack of open elements does not have an element in table
+ scope with the same tag name as the token, this is a parse error.
+ Ignore the token. (innerHTML case) */
+ if(!$this->elementInScope($token['name'], true)) {
+ // w/e
+
+ /* Otherwise: */
+ } else {
+ /* Pop elements from the stack of open elements until a select
+ element has been popped from the stack. */
+ while(true) {
+ $current = end($this->stack)->nodeName;
+ array_pop($this->stack);
+
+ if($current === 'select') {
+ break;
+ }
+ }
+
+ /* Reset the insertion mode appropriately. */
+ $this->resetInsertionMode();
+ }
+
+ /* A start tag whose tag name is "select" */
+ } elseif($token['name'] === 'select' &&
+ $token['type'] === HTML5::STARTTAG) {
+ /* Parse error. Act as if the token had been an end tag with the
+ tag name "select" instead. */
+ $this->inSelect(array(
+ 'name' => 'select',
+ 'type' => HTML5::ENDTAG
+ ));
+
+ /* An end tag whose tag name is one of: "caption", "table", "tbody",
+ "tfoot", "thead", "tr", "td", "th" */
+ } elseif(in_array($token['name'], array('caption', 'table', 'tbody',
+ 'tfoot', 'thead', 'tr', 'td', 'th')) && $token['type'] === HTML5::ENDTAG) {
+ /* Parse error. */
+ // w/e
+
+ /* If the stack of open elements has an element in table scope with
+ the same tag name as that of the token, then act as if an end tag
+ with the tag name "select" had been seen, and reprocess the token.
+ Otherwise, ignore the token. */
+ if($this->elementInScope($token['name'], true)) {
+ $this->inSelect(array(
+ 'name' => 'select',
+ 'type' => HTML5::ENDTAG
+ ));
+
+ $this->mainPhase($token);
+ }
+
+ /* Anything else */
+ } else {
+ /* Parse error. Ignore the token. */
+ }
+ }
+
+ private function afterBody($token)
+ {
+ /* Handle the token as follows: */
+
+ /* A character token that is one of one of U+0009 CHARACTER TABULATION,
+ U+000A LINE FEED (LF), U+000B LINE TABULATION, U+000C FORM FEED (FF),
+ or U+0020 SPACE */
+ if($token['type'] === HTML5::CHARACTR &&
+ preg_match('/^[\t\n\x0b\x0c ]+$/', $token['data'])) {
+ /* Process the token as it would be processed if the insertion mode
+ was "in body". */
+ $this->inBody($token);
+
+ /* A comment token */
+ } elseif($token['type'] === HTML5::COMMENT) {
+ /* Append a Comment node to the first element in the stack of open
+ elements (the html element), with the data attribute set to the
+ data given in the comment token. */
+ $comment = $this->dom->createComment($token['data']);
+ $this->stack[0]->appendChild($comment);
+
+ /* An end tag with the tag name "html" */
+ } elseif($token['type'] === HTML5::ENDTAG && $token['name'] === 'html') {
+ /* If the parser was originally created in order to handle the
+ setting of an element's innerHTML attribute, this is a parse error;
+ ignore the token. (The element will be an html element in this
+ case.) (innerHTML case) */
+
+ /* Otherwise, switch to the trailing end phase. */
+ $this->phase = self::END_PHASE;
+
+ /* Anything else */
+ } else {
+ /* Parse error. Set the insertion mode to "in body" and reprocess
+ the token. */
+ $this->mode = self::IN_BODY;
+ return $this->inBody($token);
+ }
+ }
+
+ private function inFrameset($token)
+ {
+ /* Handle the token as follows: */
+
+ /* A character token that is one of one of U+0009 CHARACTER TABULATION,
+ U+000A LINE FEED (LF), U+000B LINE TABULATION, U+000C FORM FEED (FF),
+ U+000D CARRIAGE RETURN (CR), or U+0020 SPACE */
+ if($token['type'] === HTML5::CHARACTR &&
+ preg_match('/^[\t\n\x0b\x0c ]+$/', $token['data'])) {
+ /* Append the character to the current node. */
+ $this->insertText($token['data']);
+
+ /* A comment token */
+ } elseif($token['type'] === HTML5::COMMENT) {
+ /* Append a Comment node to the current node with the data
+ attribute set to the data given in the comment token. */
+ $this->insertComment($token['data']);
+
+ /* A start tag with the tag name "frameset" */
+ } elseif($token['name'] === 'frameset' &&
+ $token['type'] === HTML5::STARTTAG) {
+ $this->insertElement($token);
+
+ /* An end tag with the tag name "frameset" */
+ } elseif($token['name'] === 'frameset' &&
+ $token['type'] === HTML5::ENDTAG) {
+ /* If the current node is the root html element, then this is a
+ parse error; ignore the token. (innerHTML case) */
+ if(end($this->stack)->nodeName === 'html') {
+ // Ignore
+
+ } else {
+ /* Otherwise, pop the current node from the stack of open
+ elements. */
+ array_pop($this->stack);
+
+ /* If the parser was not originally created in order to handle
+ the setting of an element's innerHTML attribute (innerHTML case),
+ and the current node is no longer a frameset element, then change
+ the insertion mode to "after frameset". */
+ $this->mode = self::AFTR_FRAME;
+ }
+
+ /* A start tag with the tag name "frame" */
+ } elseif($token['name'] === 'frame' &&
+ $token['type'] === HTML5::STARTTAG) {
+ /* Insert an HTML element for the token. */
+ $this->insertElement($token);
+
+ /* Immediately pop the current node off the stack of open elements. */
+ array_pop($this->stack);
+
+ /* A start tag with the tag name "noframes" */
+ } elseif($token['name'] === 'noframes' &&
+ $token['type'] === HTML5::STARTTAG) {
+ /* Process the token as if the insertion mode had been "in body". */
+ $this->inBody($token);
+
+ /* Anything else */
+ } else {
+ /* Parse error. Ignore the token. */
+ }
+ }
+
+ private function afterFrameset($token)
+ {
+ /* Handle the token as follows: */
+
+ /* A character token that is one of one of U+0009 CHARACTER TABULATION,
+ U+000A LINE FEED (LF), U+000B LINE TABULATION, U+000C FORM FEED (FF),
+ U+000D CARRIAGE RETURN (CR), or U+0020 SPACE */
+ if($token['type'] === HTML5::CHARACTR &&
+ preg_match('/^[\t\n\x0b\x0c ]+$/', $token['data'])) {
+ /* Append the character to the current node. */
+ $this->insertText($token['data']);
+
+ /* A comment token */
+ } elseif($token['type'] === HTML5::COMMENT) {
+ /* Append a Comment node to the current node with the data
+ attribute set to the data given in the comment token. */
+ $this->insertComment($token['data']);
+
+ /* An end tag with the tag name "html" */
+ } elseif($token['name'] === 'html' &&
+ $token['type'] === HTML5::ENDTAG) {
+ /* Switch to the trailing end phase. */
+ $this->phase = self::END_PHASE;
+
+ /* A start tag with the tag name "noframes" */
+ } elseif($token['name'] === 'noframes' &&
+ $token['type'] === HTML5::STARTTAG) {
+ /* Process the token as if the insertion mode had been "in body". */
+ $this->inBody($token);
+
+ /* Anything else */
+ } else {
+ /* Parse error. Ignore the token. */
+ }
+ }
+
+ private function trailingEndPhase($token)
+ {
+ /* After the main phase, as each token is emitted from the tokenisation
+ stage, it must be processed as described in this section. */
+
+ /* A DOCTYPE token */
+ if($token['type'] === HTML5::DOCTYPE) {
+ // Parse error. Ignore the token.
+
+ /* A comment token */
+ } elseif($token['type'] === HTML5::COMMENT) {
+ /* Append a Comment node to the Document object with the data
+ attribute set to the data given in the comment token. */
+ $comment = $this->dom->createComment($token['data']);
+ $this->dom->appendChild($comment);
+
+ /* A character token that is one of one of U+0009 CHARACTER TABULATION,
+ U+000A LINE FEED (LF), U+000B LINE TABULATION, U+000C FORM FEED (FF),
+ or U+0020 SPACE */
+ } elseif($token['type'] === HTML5::CHARACTR &&
+ preg_match('/^[\t\n\x0b\x0c ]+$/', $token['data'])) {
+ /* Process the token as it would be processed in the main phase. */
+ $this->mainPhase($token);
+
+ /* A character token that is not one of U+0009 CHARACTER TABULATION,
+ U+000A LINE FEED (LF), U+000B LINE TABULATION, U+000C FORM FEED (FF),
+ or U+0020 SPACE. Or a start tag token. Or an end tag token. */
+ } elseif(($token['type'] === HTML5::CHARACTR &&
+ preg_match('/^[\t\n\x0b\x0c ]+$/', $token['data'])) ||
+ $token['type'] === HTML5::STARTTAG || $token['type'] === HTML5::ENDTAG) {
+ /* Parse error. Switch back to the main phase and reprocess the
+ token. */
+ $this->phase = self::MAIN_PHASE;
+ return $this->mainPhase($token);
+
+ /* An end-of-file token */
+ } elseif($token['type'] === HTML5::EOF) {
+ /* OMG DONE!! */
+ }
+ }
+
+ private function insertElement($token, $append = true)
+ {
+ $el = $this->dom->createElement($token['name']);
+
+ foreach($token['attr'] as $attr) {
+ if(!$el->hasAttribute($attr['name'])) {
+ $el->setAttribute($attr['name'], $attr['value']);
+ }
+ }
+
+ $this->appendToRealParent($el);
+ $this->stack[] = $el;
+
+ return $el;
+ }
+
+ private function insertText($data)
+ {
+ $text = $this->dom->createTextNode($data);
+ $this->appendToRealParent($text);
+ }
+
+ private function insertComment($data)
+ {
+ $comment = $this->dom->createComment($data);
+ $this->appendToRealParent($comment);
+ }
+
+ private function appendToRealParent($node)
+ {
+ if($this->foster_parent === null) {
+ end($this->stack)->appendChild($node);
+
+ } elseif($this->foster_parent !== null) {
+ /* If the foster parent element is the parent element of the
+ last table element in the stack of open elements, then the new
+ node must be inserted immediately before the last table element
+ in the stack of open elements in the foster parent element;
+ otherwise, the new node must be appended to the foster parent
+ element. */
+ for($n = count($this->stack) - 1; $n >= 0; $n--) {
+ if($this->stack[$n]->nodeName === 'table' &&
+ $this->stack[$n]->parentNode !== null) {
+ $table = $this->stack[$n];
+ break;
+ }
+ }
+
+ if(isset($table) && $this->foster_parent->isSameNode($table->parentNode))
+ $this->foster_parent->insertBefore($node, $table);
+ else
+ $this->foster_parent->appendChild($node);
+
+ $this->foster_parent = null;
+ }
+ }
+
+ private function elementInScope($el, $table = false)
+ {
+ if(is_array($el)) {
+ foreach($el as $element) {
+ if($this->elementInScope($element, $table)) {
+ return true;
+ }
+ }
+
+ return false;
+ }
+
+ $leng = count($this->stack);
+
+ for($n = 0; $n < $leng; $n++) {
+ /* 1. Initialise node to be the current node (the bottommost node of
+ the stack). */
+ $node = $this->stack[$leng - 1 - $n];
+
+ if($node->tagName === $el) {
+ /* 2. If node is the target node, terminate in a match state. */
+ return true;
+
+ } elseif($node->tagName === 'table') {
+ /* 3. Otherwise, if node is a table element, terminate in a failure
+ state. */
+ return false;
+
+ } elseif($table === true && in_array($node->tagName, array('caption', 'td',
+ 'th', 'button', 'marquee', 'object'))) {
+ /* 4. Otherwise, if the algorithm is the "has an element in scope"
+ variant (rather than the "has an element in table scope" variant),
+ and node is one of the following, terminate in a failure state. */
+ return false;
+
+ } elseif($node === $node->ownerDocument->documentElement) {
+ /* 5. Otherwise, if node is an html element (root element), terminate
+ in a failure state. (This can only happen if the node is the topmost
+ node of the stack of open elements, and prevents the next step from
+ being invoked if there are no more elements in the stack.) */
+ return false;
+ }
+
+ /* Otherwise, set node to the previous entry in the stack of open
+ elements and return to step 2. (This will never fail, since the loop
+ will always terminate in the previous step if the top of the stack
+ is reached.) */
+ }
+ }
+
+ private function reconstructActiveFormattingElements()
+ {
+ /* 1. If there are no entries in the list of active formatting elements,
+ then there is nothing to reconstruct; stop this algorithm. */
+ $formatting_elements = count($this->a_formatting);
+
+ if($formatting_elements === 0) {
+ return false;
+ }
+
+ /* 3. Let entry be the last (most recently added) element in the list
+ of active formatting elements. */
+ $entry = end($this->a_formatting);
+
+ /* 2. If the last (most recently added) entry in the list of active
+ formatting elements is a marker, or if it is an element that is in the
+ stack of open elements, then there is nothing to reconstruct; stop this
+ algorithm. */
+ if($entry === self::MARKER || in_array($entry, $this->stack, true)) {
+ return false;
+ }
+
+ for($a = $formatting_elements - 1; $a >= 0; true) {
+ /* 4. If there are no entries before entry in the list of active
+ formatting elements, then jump to step 8. */
+ if($a === 0) {
+ $step_seven = false;
+ break;
+ }
+
+ /* 5. Let entry be the entry one earlier than entry in the list of
+ active formatting elements. */
+ $a--;
+ $entry = $this->a_formatting[$a];
+
+ /* 6. If entry is neither a marker nor an element that is also in
+ thetack of open elements, go to step 4. */
+ if($entry === self::MARKER || in_array($entry, $this->stack, true)) {
+ break;
+ }
+ }
+
+ while(true) {
+ /* 7. Let entry be the element one later than entry in the list of
+ active formatting elements. */
+ if(isset($step_seven) && $step_seven === true) {
+ $a++;
+ $entry = $this->a_formatting[$a];
+ }
+
+ /* 8. Perform a shallow clone of the element entry to obtain clone. */
+ $clone = $entry->cloneNode();
+
+ /* 9. Append clone to the current node and push it onto the stack
+ of open elements so that it is the new current node. */
+ end($this->stack)->appendChild($clone);
+ $this->stack[] = $clone;
+
+ /* 10. Replace the entry for entry in the list with an entry for
+ clone. */
+ $this->a_formatting[$a] = $clone;
+
+ /* 11. If the entry for clone in the list of active formatting
+ elements is not the last entry in the list, return to step 7. */
+ if(end($this->a_formatting) !== $clone) {
+ $step_seven = true;
+ } else {
+ break;
+ }
+ }
+ }
+
+ private function clearTheActiveFormattingElementsUpToTheLastMarker()
+ {
+ /* When the steps below require the UA to clear the list of active
+ formatting elements up to the last marker, the UA must perform the
+ following steps: */
+
+ while(true) {
+ /* 1. Let entry be the last (most recently added) entry in the list
+ of active formatting elements. */
+ $entry = end($this->a_formatting);
+
+ /* 2. Remove entry from the list of active formatting elements. */
+ array_pop($this->a_formatting);
+
+ /* 3. If entry was a marker, then stop the algorithm at this point.
+ The list has been cleared up to the last marker. */
+ if($entry === self::MARKER) {
+ break;
+ }
+ }
+ }
+
+ private function generateImpliedEndTags(array $exclude = array())
+ {
+ /* When the steps below require the UA to generate implied end tags,
+ then, if the current node is a dd element, a dt element, an li element,
+ a p element, a td element, a th element, or a tr element, the UA must
+ act as if an end tag with the respective tag name had been seen and
+ then generate implied end tags again. */
+ $node = end($this->stack);
+ $elements = array_diff(array('dd', 'dt', 'li', 'p', 'td', 'th', 'tr'), $exclude);
+
+ while(in_array(end($this->stack)->nodeName, $elements)) {
+ array_pop($this->stack);
+ }
+ }
+
+ private function getElementCategory($name)
+ {
+ if(in_array($name, $this->special))
+ return self::SPECIAL;
+
+ elseif(in_array($name, $this->scoping))
+ return self::SCOPING;
+
+ elseif(in_array($name, $this->formatting))
+ return self::FORMATTING;
+
+ else
+ return self::PHRASING;
+ }
+
+ private function clearStackToTableContext($elements)
+ {
+ /* When the steps above require the UA to clear the stack back to a
+ table context, it means that the UA must, while the current node is not
+ a table element or an html element, pop elements from the stack of open
+ elements. If this causes any elements to be popped from the stack, then
+ this is a parse error. */
+ while(true) {
+ $node = end($this->stack)->nodeName;
+
+ if(in_array($node, $elements)) {
+ break;
+ } else {
+ array_pop($this->stack);
+ }
+ }
+ }
+
+ private function resetInsertionMode()
+ {
+ /* 1. Let last be false. */
+ $last = false;
+ $leng = count($this->stack);
+
+ for($n = $leng - 1; $n >= 0; $n--) {
+ /* 2. Let node be the last node in the stack of open elements. */
+ $node = $this->stack[$n];
+
+ /* 3. If node is the first node in the stack of open elements, then
+ set last to true. If the element whose innerHTML attribute is being
+ set is neither a td element nor a th element, then set node to the
+ element whose innerHTML attribute is being set. (innerHTML case) */
+ if($this->stack[0]->isSameNode($node)) {
+ $last = true;
+ }
+
+ /* 4. If node is a select element, then switch the insertion mode to
+ "in select" and abort these steps. (innerHTML case) */
+ if($node->nodeName === 'select') {
+ $this->mode = self::IN_SELECT;
+ break;
+
+ /* 5. If node is a td or th element, then switch the insertion mode
+ to "in cell" and abort these steps. */
+ } elseif($node->nodeName === 'td' || $node->nodeName === 'th') {
+ $this->mode = self::IN_CELL;
+ break;
+
+ /* 6. If node is a tr element, then switch the insertion mode to
+ "in row" and abort these steps. */
+ } elseif($node->nodeName === 'tr') {
+ $this->mode = self::IN_ROW;
+ break;
+
+ /* 7. If node is a tbody, thead, or tfoot element, then switch the
+ insertion mode to "in table body" and abort these steps. */
+ } elseif(in_array($node->nodeName, array('tbody', 'thead', 'tfoot'))) {
+ $this->mode = self::IN_TBODY;
+ break;
+
+ /* 8. If node is a caption element, then switch the insertion mode
+ to "in caption" and abort these steps. */
+ } elseif($node->nodeName === 'caption') {
+ $this->mode = self::IN_CAPTION;
+ break;
+
+ /* 9. If node is a colgroup element, then switch the insertion mode
+ to "in column group" and abort these steps. (innerHTML case) */
+ } elseif($node->nodeName === 'colgroup') {
+ $this->mode = self::IN_CGROUP;
+ break;
+
+ /* 10. If node is a table element, then switch the insertion mode
+ to "in table" and abort these steps. */
+ } elseif($node->nodeName === 'table') {
+ $this->mode = self::IN_TABLE;
+ break;
+
+ /* 11. If node is a head element, then switch the insertion mode
+ to "in body" ("in body"! not "in head"!) and abort these steps.
+ (innerHTML case) */
+ } elseif($node->nodeName === 'head') {
+ $this->mode = self::IN_BODY;
+ break;
+
+ /* 12. If node is a body element, then switch the insertion mode to
+ "in body" and abort these steps. */
+ } elseif($node->nodeName === 'body') {
+ $this->mode = self::IN_BODY;
+ break;
+
+ /* 13. If node is a frameset element, then switch the insertion
+ mode to "in frameset" and abort these steps. (innerHTML case) */
+ } elseif($node->nodeName === 'frameset') {
+ $this->mode = self::IN_FRAME;
+ break;
+
+ /* 14. If node is an html element, then: if the head element
+ pointer is null, switch the insertion mode to "before head",
+ otherwise, switch the insertion mode to "after head". In either
+ case, abort these steps. (innerHTML case) */
+ } elseif($node->nodeName === 'html') {
+ $this->mode = ($this->head_pointer === null)
+ ? self::BEFOR_HEAD
+ : self::AFTER_HEAD;
+
+ break;
+
+ /* 15. If last is true, then set the insertion mode to "in body"
+ and abort these steps. (innerHTML case) */
+ } elseif($last) {
+ $this->mode = self::IN_BODY;
+ break;
+ }
+ }
+ }
+
+ private function closeCell()
+ {
+ /* If the stack of open elements has a td or th element in table scope,
+ then act as if an end tag token with that tag name had been seen. */
+ foreach(array('td', 'th') as $cell) {
+ if($this->elementInScope($cell, true)) {
+ $this->inCell(array(
+ 'name' => $cell,
+ 'type' => HTML5::ENDTAG
+ ));
+
+ break;
+ }
+ }
+ }
+
+ public function save()
+ {
+ return $this->dom;
+ }
+}
diff --git a/vendor/ezyang/htmlpurifier/maintenance/add-vimline.php b/vendor/ezyang/htmlpurifier/maintenance/add-vimline.php
new file mode 100644
index 000000000..d6a8eb202
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/maintenance/add-vimline.php
@@ -0,0 +1,130 @@
+#!/usr/bin/php
+<?php
+
+chdir(dirname(__FILE__));
+require_once 'common.php';
+assertCli();
+
+/**
+ * @file
+ * Adds vimline to files
+ */
+
+chdir(dirname(__FILE__) . '/..');
+$FS = new FSTools();
+
+$vimline = 'vim: et sw=4 sts=4';
+
+$files = $FS->globr('.', '*');
+foreach ($files as $file) {
+ if (
+ !is_file($file) ||
+ prefix_is('./docs/doxygen', $file) ||
+ prefix_is('./library/standalone', $file) ||
+ prefix_is('./docs/specimens', $file) ||
+ postfix_is('.ser', $file) ||
+ postfix_is('.tgz', $file) ||
+ postfix_is('.patch', $file) ||
+ postfix_is('.dtd', $file) ||
+ postfix_is('.ent', $file) ||
+ postfix_is('.png', $file) ||
+ postfix_is('.ico', $file) ||
+ // wontfix
+ postfix_is('.vtest', $file) ||
+ postfix_is('.svg', $file) ||
+ postfix_is('.phpt', $file) ||
+ postfix_is('VERSION', $file) ||
+ postfix_is('WHATSNEW', $file) ||
+ postfix_is('configdoc/usage.xml', $file) ||
+ postfix_is('library/HTMLPurifier.includes.php', $file) ||
+ postfix_is('library/HTMLPurifier.safe-includes.php', $file) ||
+ postfix_is('smoketests/xssAttacks.xml', $file) ||
+ // phpt files
+ postfix_is('.diff', $file) ||
+ postfix_is('.exp', $file) ||
+ postfix_is('.log', $file) ||
+ postfix_is('.out', $file) ||
+
+ $file == './library/HTMLPurifier/Lexer/PH5P.php' ||
+ $file == './maintenance/PH5P.php'
+ ) continue;
+ $ext = strrchr($file, '.');
+ if (
+ postfix_is('README', $file) ||
+ postfix_is('LICENSE', $file) ||
+ postfix_is('CREDITS', $file) ||
+ postfix_is('INSTALL', $file) ||
+ postfix_is('NEWS', $file) ||
+ postfix_is('TODO', $file) ||
+ postfix_is('WYSIWYG', $file) ||
+ postfix_is('Changelog', $file)
+ ) $ext = '.txt';
+ if (postfix_is('Doxyfile', $file)) $ext = 'Doxyfile';
+ if (postfix_is('.php.in', $file)) $ext = '.php';
+ $no_nl = false;
+ switch ($ext) {
+ case '.php':
+ case '.inc':
+ case '.js':
+ $line = '// %s';
+ break;
+ case '.html':
+ case '.xsl':
+ case '.xml':
+ case '.htc':
+ $line = "<!-- %s\n-->";
+ break;
+ case '.htmlt':
+ $no_nl = true;
+ $line = '--# %s';
+ break;
+ case '.ini':
+ $line = '; %s';
+ break;
+ case '.css':
+ $line = '/* %s */';
+ break;
+ case '.bat':
+ $line = 'rem %s';
+ break;
+ case '.txt':
+ case '.utf8':
+ if (
+ prefix_is('./library/HTMLPurifier/ConfigSchema', $file) ||
+ prefix_is('./smoketests/test-schema', $file) ||
+ prefix_is('./tests/HTMLPurifier/StringHashParser', $file)
+ ) {
+ $no_nl = true;
+ $line = '--# %s';
+ } else {
+ $line = ' %s';
+ }
+ break;
+ case 'Doxyfile':
+ $line = '# %s';
+ break;
+ default:
+ throw new Exception('Unknown file: ' . $file);
+ }
+
+ echo "$file\n";
+ $contents = file_get_contents($file);
+
+ $regex = '~' . str_replace('%s', 'vim: .+', preg_quote($line, '~')) . '~m';
+ $contents = preg_replace($regex, '', $contents);
+
+ $contents = rtrim($contents);
+
+ if (strpos($contents, "\r\n") !== false) $nl = "\r\n";
+ elseif (strpos($contents, "\n") !== false) $nl = "\n";
+ elseif (strpos($contents, "\r") !== false) $nl = "\r";
+ else $nl = PHP_EOL;
+
+ if (!$no_nl) $contents .= $nl;
+ $contents .= $nl . str_replace('%s', $vimline, $line) . $nl;
+
+ file_put_contents($file, $contents);
+
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/maintenance/common.php b/vendor/ezyang/htmlpurifier/maintenance/common.php
new file mode 100644
index 000000000..342bc205a
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/maintenance/common.php
@@ -0,0 +1,25 @@
+<?php
+
+function assertCli()
+{
+ if (php_sapi_name() != 'cli' && !getenv('PHP_IS_CLI')) {
+ echo 'Script cannot be called from web-browser (if you are indeed calling via cli,
+set environment variable PHP_IS_CLI to work around this).';
+ exit(1);
+ }
+}
+
+function prefix_is($comp, $subject)
+{
+ return strncmp($comp, $subject, strlen($comp)) === 0;
+}
+
+function postfix_is($comp, $subject)
+{
+ return strlen($subject) < $comp ? false : substr($subject, -strlen($comp)) === $comp;
+}
+
+// Load useful stuff like FSTools
+require_once dirname(__FILE__) . '/../extras/HTMLPurifierExtras.auto.php';
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/maintenance/compile-doxygen.sh b/vendor/ezyang/htmlpurifier/maintenance/compile-doxygen.sh
new file mode 100755
index 000000000..ecd1127fd
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/maintenance/compile-doxygen.sh
@@ -0,0 +1,11 @@
+#!/bin/bash
+cd ..
+mkdir docs/doxygen
+rm -Rf docs/doxygen/*
+doxygen 1>docs/doxygen/info.log 2>docs/doxygen/errors.log
+if [ "$?" != 0 ]; then
+ cat docs/doxygen/errors.log
+ exit
+fi
+cd docs
+tar czf doxygen.tgz doxygen
diff --git a/vendor/ezyang/htmlpurifier/maintenance/config-scanner.php b/vendor/ezyang/htmlpurifier/maintenance/config-scanner.php
new file mode 100644
index 000000000..c614d1fbc
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/maintenance/config-scanner.php
@@ -0,0 +1,155 @@
+#!/usr/bin/php
+<?php
+
+chdir(dirname(__FILE__));
+require_once 'common.php';
+require_once '../library/HTMLPurifier.auto.php';
+assertCli();
+
+if (version_compare(PHP_VERSION, '5.2.2', '<')) {
+ echo "This script requires PHP 5.2.2 or later, for tokenizer line numbers.";
+ exit(1);
+}
+
+/**
+ * @file
+ * Scans HTML Purifier source code for $config tokens and records the
+ * directive being used; configdoc can use this info later.
+ *
+ * Currently, this just dumps all the info onto the console. Eventually, it
+ * will create an XML file that our XSLT transform can use.
+ */
+
+$FS = new FSTools();
+chdir(dirname(__FILE__) . '/../library/');
+$raw_files = $FS->globr('.', '*.php');
+$files = array();
+foreach ($raw_files as $file) {
+ $file = substr($file, 2); // rm leading './'
+ if (strncmp('standalone/', $file, 11) === 0) continue; // rm generated files
+ if (substr_count($file, '.') > 1) continue; // rm meta files
+ $files[] = $file;
+}
+
+/**
+ * Moves the $i cursor to the next non-whitespace token
+ */
+function consumeWhitespace($tokens, &$i)
+{
+ do {$i++;} while (is_array($tokens[$i]) && $tokens[$i][0] === T_WHITESPACE);
+}
+
+/**
+ * Tests whether or not a token is a particular type. There are three run-cases:
+ * - ($token, $expect_token): tests if the token is $expect_token type;
+ * - ($token, $expect_value): tests if the token is the string $expect_value;
+ * - ($token, $expect_token, $expect_value): tests if token is $expect_token type, and
+ * its string representation is $expect_value
+ */
+function testToken($token, $value_or_token, $value = null)
+{
+ if (is_null($value)) {
+ if (is_int($value_or_token)) return is_array($token) && $token[0] === $value_or_token;
+ else return $token === $value_or_token;
+ } else {
+ return is_array($token) && $token[0] === $value_or_token && $token[1] === $value;
+ }
+}
+
+$counter = 0;
+$full_counter = 0;
+$tracker = array();
+
+foreach ($files as $file) {
+ $tokens = token_get_all(file_get_contents($file));
+ $file = str_replace('\\', '/', $file);
+ for ($i = 0, $c = count($tokens); $i < $c; $i++) {
+ $ok = false;
+ // Match $config
+ if (!$ok && testToken($tokens[$i], T_VARIABLE, '$config')) $ok = true;
+ // Match $this->config
+ while (!$ok && testToken($tokens[$i], T_VARIABLE, '$this')) {
+ consumeWhitespace($tokens, $i);
+ if (!testToken($tokens[$i], T_OBJECT_OPERATOR)) break;
+ consumeWhitespace($tokens, $i);
+ if (testToken($tokens[$i], T_STRING, 'config')) $ok = true;
+ break;
+ }
+ if (!$ok) continue;
+
+ $ok = false;
+ for($i++; $i < $c; $i++) {
+ if ($tokens[$i] === ',' || $tokens[$i] === ')' || $tokens[$i] === ';') {
+ break;
+ }
+ if (is_string($tokens[$i])) continue;
+ if ($tokens[$i][0] === T_OBJECT_OPERATOR) {
+ $ok = true;
+ break;
+ }
+ }
+ if (!$ok) continue;
+
+ $line = $tokens[$i][2];
+
+ consumeWhitespace($tokens, $i);
+ if (!testToken($tokens[$i], T_STRING, 'get')) continue;
+
+ consumeWhitespace($tokens, $i);
+ if (!testToken($tokens[$i], '(')) continue;
+
+ $full_counter++;
+
+ $matched = false;
+ do {
+
+ // What we currently don't match are batch retrievals, and
+ // wildcard retrievals. This data might be useful in the future,
+ // which is why we have a do {} while loop that doesn't actually
+ // do anything.
+
+ consumeWhitespace($tokens, $i);
+ if (!testToken($tokens[$i], T_CONSTANT_ENCAPSED_STRING)) continue;
+ $id = substr($tokens[$i][1], 1, -1);
+
+ $counter++;
+ $matched = true;
+
+ if (!isset($tracker[$id])) $tracker[$id] = array();
+ if (!isset($tracker[$id][$file])) $tracker[$id][$file] = array();
+ $tracker[$id][$file][] = $line;
+
+ } while (0);
+
+ //echo "$file:$line uses $namespace.$directive\n";
+ }
+}
+
+echo "\n$counter/$full_counter instances of \$config or \$this->config found in source code.\n";
+
+echo "Generating XML... ";
+
+$xw = new XMLWriter();
+$xw->openURI('../configdoc/usage.xml');
+$xw->setIndent(true);
+$xw->startDocument('1.0', 'UTF-8');
+$xw->startElement('usage');
+foreach ($tracker as $id => $files) {
+ $xw->startElement('directive');
+ $xw->writeAttribute('id', $id);
+ foreach ($files as $file => $lines) {
+ $xw->startElement('file');
+ $xw->writeAttribute('name', $file);
+ foreach ($lines as $line) {
+ $xw->writeElement('line', $line);
+ }
+ $xw->endElement();
+ }
+ $xw->endElement();
+}
+$xw->endElement();
+$xw->flush();
+
+echo "done!\n";
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/maintenance/flush-definition-cache.php b/vendor/ezyang/htmlpurifier/maintenance/flush-definition-cache.php
new file mode 100755
index 000000000..138badb65
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/maintenance/flush-definition-cache.php
@@ -0,0 +1,42 @@
+#!/usr/bin/php
+<?php
+
+chdir(dirname(__FILE__));
+require_once 'common.php';
+assertCli();
+
+/**
+ * @file
+ * Flushes the definition serial cache. This file should be
+ * called if changes to any subclasses of HTMLPurifier_Definition
+ * or related classes (such as HTMLPurifier_HTMLModule) are made. This
+ * may also be necessary if you've modified a customized version.
+ *
+ * @param Accepts one argument, cache type to flush; otherwise flushes all
+ * the caches.
+ */
+
+echo "Flushing cache... \n";
+
+require_once(dirname(__FILE__) . '/../library/HTMLPurifier.auto.php');
+
+$config = HTMLPurifier_Config::createDefault();
+
+$names = array('HTML', 'CSS', 'URI', 'Test');
+if (isset($argv[1])) {
+ if (in_array($argv[1], $names)) {
+ $names = array($argv[1]);
+ } else {
+ throw new Exception("Cache parameter {$argv[1]} is not a valid cache");
+ }
+}
+
+foreach ($names as $name) {
+ echo " - Flushing $name\n";
+ $cache = new HTMLPurifier_DefinitionCache_Serializer($name);
+ $cache->flush($config);
+}
+
+echo "Cache flushed successfully.\n";
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/maintenance/flush.php b/vendor/ezyang/htmlpurifier/maintenance/flush.php
new file mode 100644
index 000000000..c0853d230
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/maintenance/flush.php
@@ -0,0 +1,30 @@
+#!/usr/bin/php
+<?php
+
+chdir(dirname(__FILE__));
+require_once 'common.php';
+assertCli();
+
+/**
+ * @file
+ * Runs all generation/flush cache scripts to ensure that somewhat volatile
+ * generated files are up-to-date.
+ */
+
+function e($cmd)
+{
+ echo "\$ $cmd\n";
+ passthru($cmd, $status);
+ echo "\n";
+ if ($status) exit($status);
+}
+
+$php = empty($_SERVER['argv'][1]) ? 'php' : $_SERVER['argv'][1];
+
+e($php . ' generate-includes.php');
+e($php . ' generate-schema-cache.php');
+e($php . ' flush-definition-cache.php');
+e($php . ' generate-standalone.php');
+e($php . ' config-scanner.php');
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/maintenance/generate-entity-file.php b/vendor/ezyang/htmlpurifier/maintenance/generate-entity-file.php
new file mode 100755
index 000000000..ff1713e39
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/maintenance/generate-entity-file.php
@@ -0,0 +1,75 @@
+#!/usr/bin/php
+<?php
+
+chdir(dirname(__FILE__));
+require_once 'common.php';
+assertCli();
+
+/**
+ * @file
+ * Parses *.ent files into an entity lookup table, and then serializes and
+ * writes the whole kaboodle to a file. The resulting file is cached so
+ * that this script does not need to be run. This script should rarely,
+ * if ever, be run, since HTML's entities are fairly immutable.
+ */
+
+// here's where the entity files are located, assuming working directory
+// is the same as the location of this PHP file. Needs trailing slash.
+$entity_dir = '../docs/entities/';
+
+// defines the output file for the serialized content.
+$output_file = '../library/HTMLPurifier/EntityLookup/entities.ser';
+
+// courtesy of a PHP manual comment
+function unichr($dec)
+{
+ if ($dec < 128) {
+ $utf = chr($dec);
+ } elseif ($dec < 2048) {
+ $utf = chr(192 + (($dec - ($dec % 64)) / 64));
+ $utf .= chr(128 + ($dec % 64));
+ } else {
+ $utf = chr(224 + (($dec - ($dec % 4096)) / 4096));
+ $utf .= chr(128 + ((($dec % 4096) - ($dec % 64)) / 64));
+ $utf .= chr(128 + ($dec % 64));
+ }
+ return $utf;
+}
+
+if ( !is_dir($entity_dir) ) exit("Fatal Error: Can't find entity directory.\n");
+if ( file_exists($output_file) ) exit("Fatal Error: output file already exists.\n");
+
+$dh = @opendir($entity_dir);
+if ( !$dh ) exit("Fatal Error: Cannot read entity directory.\n");
+
+$entity_files = array();
+while (($file = readdir($dh)) !== false) {
+ if (@$file[0] === '.') continue;
+ if (substr(strrchr($file, "."), 1) !== 'ent') continue;
+ $entity_files[] = $file;
+}
+closedir($dh);
+
+if ( !$entity_files ) exit("Fatal Error: No entity files to parse.\n");
+
+$entity_table = array();
+$regexp = '/<!ENTITY\s+([A-Za-z0-9]+)\s+"&#(?:38;#)?([0-9]+);">/';
+
+foreach ( $entity_files as $file ) {
+ $contents = file_get_contents($entity_dir . $file);
+ $matches = array();
+ preg_match_all($regexp, $contents, $matches, PREG_SET_ORDER);
+ foreach ($matches as $match) {
+ $entity_table[$match[1]] = unichr($match[2]);
+ }
+}
+
+$output = serialize($entity_table);
+
+$fh = fopen($output_file, 'w');
+fwrite($fh, $output);
+fclose($fh);
+
+echo "Completed successfully.";
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/maintenance/generate-includes.php b/vendor/ezyang/htmlpurifier/maintenance/generate-includes.php
new file mode 100644
index 000000000..01e1c2aba
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/maintenance/generate-includes.php
@@ -0,0 +1,192 @@
+#!/usr/bin/php
+<?php
+
+chdir(dirname(__FILE__));
+require_once 'common.php';
+require_once '../tests/path2class.func.php';
+require_once '../library/HTMLPurifier/Bootstrap.php';
+assertCli();
+
+/**
+ * @file
+ * Generates an include stub for users who do not want to use the autoloader.
+ * When new files are added to HTML Purifier's main codebase, this file should
+ * be called.
+ */
+
+chdir(dirname(__FILE__) . '/../library/');
+$FS = new FSTools();
+
+$exclude_dirs = array(
+ 'HTMLPurifier/Language/',
+ 'HTMLPurifier/ConfigSchema/',
+ 'HTMLPurifier/Filter/',
+ 'HTMLPurifier/Printer/',
+ /* These should be excluded, but need to have ConfigSchema support first
+
+ */
+);
+$exclude_files = array(
+ 'HTMLPurifier/Lexer/PEARSax3.php',
+ 'HTMLPurifier/Lexer/PH5P.php',
+ 'HTMLPurifier/Printer.php',
+);
+
+// Determine what files need to be included:
+echo 'Scanning for files... ';
+$raw_files = $FS->globr('.', '*.php');
+if (!$raw_files) throw new Exception('Did not find any PHP source files');
+$files = array();
+foreach ($raw_files as $file) {
+ $file = substr($file, 2); // rm leading './'
+ if (strncmp('standalone/', $file, 11) === 0) continue; // rm generated files
+ if (substr_count($file, '.') > 1) continue; // rm meta files
+ $ok = true;
+ foreach ($exclude_dirs as $dir) {
+ if (strncmp($dir, $file, strlen($dir)) === 0) {
+ $ok = false;
+ break;
+ }
+ }
+ if (!$ok) continue; // rm excluded directories
+ if (in_array($file, $exclude_files)) continue; // rm excluded files
+ $files[] = $file;
+}
+echo "done!\n";
+
+// Reorder list so that dependencies are included first:
+
+/**
+ * Returns a lookup array of dependencies for a file.
+ *
+ * @note This function expects that format $name extends $parent on one line
+ *
+ * @param string $file
+ * File to check dependencies of.
+ * @return array
+ * Lookup array of files the file is dependent on, sorted accordingly.
+ */
+function get_dependency_lookup($file)
+{
+ static $cache = array();
+ if (isset($cache[$file])) return $cache[$file];
+ if (!file_exists($file)) {
+ echo "File doesn't exist: $file\n";
+ return array();
+ }
+ $fh = fopen($file, 'r');
+ $deps = array();
+ while (!feof($fh)) {
+ $line = fgets($fh);
+ if (strncmp('class', $line, 5) === 0) {
+ // The implementation here is fragile and will break if we attempt
+ // to use interfaces. Beware!
+ $arr = explode(' extends ', trim($line, ' {'."\n\r"), 2);
+ if (count($arr) < 2) break;
+ $parent = $arr[1];
+ $dep_file = HTMLPurifier_Bootstrap::getPath($parent);
+ if (!$dep_file) break;
+ $deps[$dep_file] = true;
+ break;
+ }
+ }
+ fclose($fh);
+ foreach (array_keys($deps) as $file) {
+ // Extra dependencies must come *before* base dependencies
+ $deps = get_dependency_lookup($file) + $deps;
+ }
+ $cache[$file] = $deps;
+ return $deps;
+}
+
+/**
+ * Sorts files based on dependencies. This function is lazy and will not
+ * group files with dependencies together; it will merely ensure that a file
+ * is never included before its dependencies are.
+ *
+ * @param $files
+ * Files array to sort.
+ * @return
+ * Sorted array ($files is not modified by reference!)
+ */
+function dep_sort($files)
+{
+ $ret = array();
+ $cache = array();
+ foreach ($files as $file) {
+ if (isset($cache[$file])) continue;
+ $deps = get_dependency_lookup($file);
+ foreach (array_keys($deps) as $dep) {
+ if (!isset($cache[$dep])) {
+ $ret[] = $dep;
+ $cache[$dep] = true;
+ }
+ }
+ $cache[$file] = true;
+ $ret[] = $file;
+ }
+ return $ret;
+}
+
+$files = dep_sort($files);
+
+// Build the actual include stub:
+
+$version = trim(file_get_contents('../VERSION'));
+
+// stub
+$php = "<?php
+
+/**
+ * @file
+ * This file was auto-generated by generate-includes.php and includes all of
+ * the core files required by HTML Purifier. Use this if performance is a
+ * primary concern and you are using an opcode cache. PLEASE DO NOT EDIT THIS
+ * FILE, changes will be overwritten the next time the script is run.
+ *
+ * @version $version
+ *
+ * @warning
+ * You must *not* include any other HTML Purifier files before this file,
+ * because 'require' not 'require_once' is used.
+ *
+ * @warning
+ * This file requires that the include path contains the HTML Purifier
+ * library directory; this is not auto-set.
+ */
+
+";
+
+foreach ($files as $file) {
+ $php .= "require '$file';" . PHP_EOL;
+}
+
+echo "Writing HTMLPurifier.includes.php... ";
+file_put_contents('HTMLPurifier.includes.php', $php);
+echo "done!\n";
+
+$php = "<?php
+
+/**
+ * @file
+ * This file was auto-generated by generate-includes.php and includes all of
+ * the core files required by HTML Purifier. This is a convenience stub that
+ * includes all files using dirname(__FILE__) and require_once. PLEASE DO NOT
+ * EDIT THIS FILE, changes will be overwritten the next time the script is run.
+ *
+ * Changes to include_path are not necessary.
+ */
+
+\$__dir = dirname(__FILE__);
+
+";
+
+foreach ($files as $file) {
+ $php .= "require_once \$__dir . '/$file';" . PHP_EOL;
+}
+
+echo "Writing HTMLPurifier.safe-includes.php... ";
+file_put_contents('HTMLPurifier.safe-includes.php', $php);
+echo "done!\n";
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/maintenance/generate-ph5p-patch.php b/vendor/ezyang/htmlpurifier/maintenance/generate-ph5p-patch.php
new file mode 100644
index 000000000..c92a7d211
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/maintenance/generate-ph5p-patch.php
@@ -0,0 +1,22 @@
+<?php
+
+/**
+ * @file
+ * This file compares our version of PH5P with Jero's original version, and
+ * generates a patch of the differences. This script should be run whenever
+ * library/HTMLPurifier/Lexer/PH5P.php is modified.
+ */
+
+$orig = realpath(dirname(__FILE__) . '/PH5P.php');
+$new = realpath(dirname(__FILE__) . '/../library/HTMLPurifier/Lexer/PH5P.php');
+$newt = dirname(__FILE__) . '/PH5P.new.php'; // temporary file
+
+// minor text-processing of new file to get into same format as original
+$new_src = file_get_contents($new);
+$new_src = '<?php' . PHP_EOL . substr($new_src, strpos($new_src, 'class HTML5 {'));
+
+file_put_contents($newt, $new_src);
+shell_exec("diff -u \"$orig\" \"$newt\" > PH5P.patch");
+unlink($newt);
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/maintenance/generate-schema-cache.php b/vendor/ezyang/htmlpurifier/maintenance/generate-schema-cache.php
new file mode 100644
index 000000000..339ff12da
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/maintenance/generate-schema-cache.php
@@ -0,0 +1,45 @@
+#!/usr/bin/php
+<?php
+
+require_once dirname(__FILE__) . '/common.php';
+require_once dirname(__FILE__) . '/../library/HTMLPurifier.auto.php';
+assertCli();
+
+/**
+ * @file
+ * Generates a schema cache file, saving it to
+ * library/HTMLPurifier/ConfigSchema/schema.ser.
+ *
+ * This should be run when new configuration options are added to
+ * HTML Purifier. A cached version is available via the repository
+ * so this does not normally have to be regenerated.
+ *
+ * If you have a directory containing custom configuration schema files,
+ * you can simple add a path to that directory as a parameter to
+ * this, and they will get included.
+ */
+
+$target = dirname(__FILE__) . '/../library/HTMLPurifier/ConfigSchema/schema.ser';
+
+$builder = new HTMLPurifier_ConfigSchema_InterchangeBuilder();
+$interchange = new HTMLPurifier_ConfigSchema_Interchange();
+
+$builder->buildDir($interchange);
+
+$loader = dirname(__FILE__) . '/../config-schema.php';
+if (file_exists($loader)) include $loader;
+foreach ($_SERVER['argv'] as $i => $dir) {
+ if ($i === 0) continue;
+ $builder->buildDir($interchange, realpath($dir));
+}
+
+$interchange->validate();
+
+$schema_builder = new HTMLPurifier_ConfigSchema_Builder_ConfigSchema();
+$schema = $schema_builder->build($interchange);
+
+echo "Saving schema... ";
+file_put_contents($target, serialize($schema));
+echo "done!\n";
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/maintenance/generate-standalone.php b/vendor/ezyang/htmlpurifier/maintenance/generate-standalone.php
new file mode 100755
index 000000000..254d4d83b
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/maintenance/generate-standalone.php
@@ -0,0 +1,159 @@
+#!/usr/bin/php
+<?php
+
+chdir(dirname(__FILE__));
+require_once 'common.php';
+assertCli();
+
+/**
+ * @file
+ * Compiles all of HTML Purifier's library files into one big file
+ * named HTMLPurifier.standalone.php. This is usually called during the
+ * release process.
+ */
+
+/**
+ * Global hash that tracks already loaded includes
+ */
+$GLOBALS['loaded'] = array();
+
+/**
+ * Custom FSTools for this script that overloads some behavior
+ * @warning The overloading of copy() is not necessarily global for
+ * this script. Watch out!
+ */
+class MergeLibraryFSTools extends FSTools
+{
+ public function copyable($entry)
+ {
+ // Skip hidden files
+ if ($entry[0] == '.') {
+ return false;
+ }
+ return true;
+ }
+ public function copy($source, $dest)
+ {
+ copy_and_remove_includes($source, $dest);
+ }
+}
+$FS = new MergeLibraryFSTools();
+
+/**
+ * Replaces the includes inside PHP source code with the corresponding
+ * source.
+ * @param string $text PHP source code to replace includes from
+ */
+function replace_includes($text)
+{
+ // also remove vim modelines
+ return preg_replace_callback(
+ "/require(?:_once)? ['\"]([^'\"]+)['\"];/",
+ 'replace_includes_callback',
+ $text
+ );
+}
+
+/**
+ * Removes leading PHP tags from included files. Assumes that there is
+ * no trailing tag. Also removes vim modelines.
+ * @note This is safe for files that have internal <?php
+ * @param string $text Text to have leading PHP tag from
+ */
+function remove_php_tags($text)
+{
+ $text = preg_replace('#// vim:.+#', '', $text);
+ return substr($text, 5);
+}
+
+/**
+ * Copies the contents of a directory to the standalone directory
+ * @param string $dir Directory to copy
+ */
+function make_dir_standalone($dir)
+{
+ global $FS;
+ return $FS->copyr($dir, 'standalone/' . $dir);
+}
+
+/**
+ * Copies the contents of a file to the standalone directory
+ * @param string $file File to copy
+ */
+function make_file_standalone($file)
+{
+ global $FS;
+ $FS->mkdirr('standalone/' . dirname($file));
+ copy_and_remove_includes($file, 'standalone/' . $file);
+ return true;
+}
+
+/**
+ * Copies a file to another location recursively, if it is a PHP file
+ * remove includes
+ * @param string $file Original file
+ * @param string $sfile New location of file
+ */
+function copy_and_remove_includes($file, $sfile)
+{
+ $contents = file_get_contents($file);
+ if (strrchr($file, '.') === '.php') $contents = replace_includes($contents);
+ return file_put_contents($sfile, $contents);
+}
+
+/**
+ * @param $matches preg_replace_callback matches array, where index 1
+ * is the filename to include
+ */
+function replace_includes_callback($matches)
+{
+ $file = $matches[1];
+ $preserve = array(
+ // PEAR (external)
+ 'XML/HTMLSax3.php' => 1
+ );
+ if (isset($preserve[$file])) {
+ return $matches[0];
+ }
+ if (isset($GLOBALS['loaded'][$file])) return '';
+ $GLOBALS['loaded'][$file] = true;
+ return replace_includes(remove_php_tags(file_get_contents($file)));
+}
+
+echo 'Generating includes file... ';
+shell_exec('php generate-includes.php');
+echo "done!\n";
+
+chdir(dirname(__FILE__) . '/../library/');
+
+echo 'Creating full file...';
+$contents = replace_includes(file_get_contents('HTMLPurifier.includes.php'));
+$contents = str_replace(
+ // Note that bootstrap is now inside the standalone file
+ "define('HTMLPURIFIER_PREFIX', realpath(dirname(__FILE__) . '/..'));",
+ "define('HTMLPURIFIER_PREFIX', dirname(__FILE__) . '/standalone');
+ set_include_path(HTMLPURIFIER_PREFIX . PATH_SEPARATOR . get_include_path());",
+ $contents
+);
+file_put_contents('HTMLPurifier.standalone.php', $contents);
+echo ' done!' . PHP_EOL;
+
+echo 'Creating standalone directory...';
+$FS->rmdirr('standalone'); // ensure a clean copy
+
+// data files
+$FS->mkdirr('standalone/HTMLPurifier/DefinitionCache/Serializer');
+make_file_standalone('HTMLPurifier/EntityLookup/entities.ser');
+make_file_standalone('HTMLPurifier/ConfigSchema/schema.ser');
+
+// non-standard inclusion setup
+make_dir_standalone('HTMLPurifier/ConfigSchema');
+make_dir_standalone('HTMLPurifier/Language');
+make_dir_standalone('HTMLPurifier/Filter');
+make_dir_standalone('HTMLPurifier/Printer');
+make_file_standalone('HTMLPurifier/Printer.php');
+make_file_standalone('HTMLPurifier/Lexer/PH5P.php');
+
+echo ' done!' . PHP_EOL;
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/maintenance/merge-library.php b/vendor/ezyang/htmlpurifier/maintenance/merge-library.php
new file mode 100755
index 000000000..de2eecdc0
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/maintenance/merge-library.php
@@ -0,0 +1,11 @@
+#!/usr/bin/php
+<?php
+
+/**
+ * @file
+ * Deprecated in favor of generate-standalone.php.
+ */
+
+require dirname(__FILE__) . '/generate-standalone.php';
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/maintenance/old-extract-schema.php b/vendor/ezyang/htmlpurifier/maintenance/old-extract-schema.php
new file mode 100644
index 000000000..514a08dd9
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/maintenance/old-extract-schema.php
@@ -0,0 +1,71 @@
+#!/usr/bin/php
+<?php
+
+chdir(dirname(__FILE__));
+require_once 'common.php';
+assertCli();
+
+echo "Please do not run this script. It is here for historical purposes only.";
+exit;
+
+/**
+ * @file
+ * Extracts all definitions inside a configuration schema
+ * (HTMLPurifier_ConfigSchema) and exports them as plain text files.
+ *
+ * @todo Extract version numbers.
+ */
+
+define('HTMLPURIFIER_SCHEMA_STRICT', true); // description data needs to be collected
+require_once dirname(__FILE__) . '/../library/HTMLPurifier.auto.php';
+
+// We need includes to ensure all HTMLPurifier_ConfigSchema calls are
+// performed.
+require_once 'HTMLPurifier.includes.php';
+
+// Also, these extra files will be necessary.
+require_once 'HTMLPurifier/Filter/ExtractStyleBlocks.php';
+
+/**
+ * Takes a hash and saves its contents to library/HTMLPurifier/ConfigSchema/
+ */
+function saveHash($hash)
+{
+ if ($hash === false) return;
+ $dir = realpath(dirname(__FILE__) . '/../library/HTMLPurifier/ConfigSchema');
+ $name = $hash['ID'] . '.txt';
+ $file = $dir . '/' . $name;
+ if (file_exists($file)) {
+ trigger_error("File already exists; skipped $name");
+ return;
+ }
+ $file = new FSTools_File($file);
+ $file->open('w');
+ $multiline = false;
+ foreach ($hash as $key => $value) {
+ $multiline = $multiline || (strpos($value, "\n") !== false);
+ if ($multiline) {
+ $file->put("--$key--" . PHP_EOL);
+ $file->put(str_replace("\n", PHP_EOL, $value) . PHP_EOL);
+ } else {
+ if ($key == 'ID') {
+ $file->put("$value" . PHP_EOL);
+ } else {
+ $file->put("$key: $value" . PHP_EOL);
+ }
+ }
+ }
+ $file->close();
+}
+
+$schema = HTMLPurifier_ConfigSchema::instance();
+$adapter = new HTMLPurifier_ConfigSchema_StringHashReverseAdapter($schema);
+
+foreach ($schema->info as $ns => $ns_array) {
+ saveHash($adapter->get($ns));
+ foreach ($ns_array as $dir => $x) {
+ saveHash($adapter->get($ns, $dir));
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/maintenance/old-remove-require-once.php b/vendor/ezyang/htmlpurifier/maintenance/old-remove-require-once.php
new file mode 100644
index 000000000..f47c7d0f1
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/maintenance/old-remove-require-once.php
@@ -0,0 +1,32 @@
+#!/usr/bin/php
+<?php
+
+chdir(dirname(__FILE__));
+require_once 'common.php';
+assertCli();
+
+echo "Please do not run this script. It is here for historical purposes only.";
+exit;
+
+/**
+ * @file
+ * Removes leading includes from files.
+ *
+ * @note
+ * This does not remove inline includes; those must be handled manually.
+ */
+
+chdir(dirname(__FILE__) . '/../tests/HTMLPurifier');
+$FS = new FSTools();
+
+$files = $FS->globr('.', '*.php');
+foreach ($files as $file) {
+ if (substr_count(basename($file), '.') > 1) continue;
+ $old_code = file_get_contents($file);
+ $new_code = preg_replace("#^require_once .+[\n\r]*#m", '', $old_code);
+ if ($old_code !== $new_code) {
+ file_put_contents($file, $new_code);
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/maintenance/old-remove-schema-def.php b/vendor/ezyang/htmlpurifier/maintenance/old-remove-schema-def.php
new file mode 100644
index 000000000..5ae031973
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/maintenance/old-remove-schema-def.php
@@ -0,0 +1,32 @@
+#!/usr/bin/php
+<?php
+
+chdir(dirname(__FILE__));
+require_once 'common.php';
+assertCli();
+
+echo "Please do not run this script. It is here for historical purposes only.";
+exit;
+
+/**
+ * @file
+ * Removes ConfigSchema function calls from source files.
+ */
+
+chdir(dirname(__FILE__) . '/../library/');
+$FS = new FSTools();
+
+$files = $FS->globr('.', '*.php');
+foreach ($files as $file) {
+ if (substr_count(basename($file), '.') > 1) continue;
+ $old_code = file_get_contents($file);
+ $new_code = preg_replace("#^HTMLPurifier_ConfigSchema::.+?\);[\n\r]*#ms", '', $old_code);
+ if ($old_code !== $new_code) {
+ file_put_contents($file, $new_code);
+ }
+ if (preg_match('#^\s+HTMLPurifier_ConfigSchema::#m', $new_code)) {
+ echo "Indented ConfigSchema call in $file\n";
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/maintenance/regenerate-docs.sh b/vendor/ezyang/htmlpurifier/maintenance/regenerate-docs.sh
new file mode 100755
index 000000000..6f4d720ff
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/maintenance/regenerate-docs.sh
@@ -0,0 +1,5 @@
+#!/bin/bash -e
+./compile-doxygen.sh
+cd ../docs
+scp doxygen.tgz htmlpurifier.org:/home/ezyang/htmlpurifier.org
+ssh htmlpurifier.org "cd /home/ezyang/htmlpurifier.org && ./reload-docs.sh"
diff --git a/vendor/ezyang/htmlpurifier/maintenance/remove-trailing-whitespace.php b/vendor/ezyang/htmlpurifier/maintenance/remove-trailing-whitespace.php
new file mode 100644
index 000000000..857870546
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/maintenance/remove-trailing-whitespace.php
@@ -0,0 +1,37 @@
+#!/usr/bin/php
+<?php
+
+chdir(dirname(__FILE__));
+require_once 'common.php';
+assertCli();
+
+/**
+ * @file
+ * Removes trailing whitespace from files.
+ */
+
+chdir(dirname(__FILE__) . '/..');
+$FS = new FSTools();
+
+$files = $FS->globr('.', '{,.}*', GLOB_BRACE);
+foreach ($files as $file) {
+ if (
+ !is_file($file) ||
+ prefix_is('./.git', $file) ||
+ prefix_is('./docs/doxygen', $file) ||
+ postfix_is('.ser', $file) ||
+ postfix_is('.tgz', $file) ||
+ postfix_is('.patch', $file) ||
+ postfix_is('.dtd', $file) ||
+ postfix_is('.ent', $file) ||
+ $file == './library/HTMLPurifier/Lexer/PH5P.php' ||
+ $file == './maintenance/PH5P.php'
+ ) continue;
+ $contents = file_get_contents($file);
+ $result = preg_replace('/^(.*?)[ \t]+(\r?)$/m', '\1\2', $contents, -1, $count);
+ if (!$count) continue;
+ echo "$file\n";
+ file_put_contents($file, $result);
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/maintenance/rename-config.php b/vendor/ezyang/htmlpurifier/maintenance/rename-config.php
new file mode 100644
index 000000000..6e59e2a79
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/maintenance/rename-config.php
@@ -0,0 +1,84 @@
+#!/usr/bin/php
+<?php
+
+chdir(dirname(__FILE__));
+require_once 'common.php';
+require_once '../library/HTMLPurifier.auto.php';
+assertCli();
+
+/**
+ * @file
+ * Renames a configuration directive. This involves renaming the file,
+ * adding an alias, and then regenerating the cache. You still have to
+ * manually go through and fix any calls to the directive.
+ * @warning This script doesn't handle multi-stringhash files.
+ */
+
+$argv = $_SERVER['argv'];
+if (count($argv) < 3) {
+ echo "Usage: {$argv[0]} OldName NewName\n";
+ exit(1);
+}
+
+chdir('../library/HTMLPurifier/ConfigSchema/schema');
+
+$old = $argv[1];
+$new = $argv[2];
+
+if (!file_exists("$old.txt")) {
+ echo "Cannot move undefined configuration directive $old\n";
+ exit(1);
+}
+
+if ($old === $new) {
+ echo "Attempting to move to self, aborting\n";
+ exit(1);
+}
+
+if (file_exists("$new.txt")) {
+ echo "Cannot move to already defined directive $new\n";
+ exit(1);
+}
+
+$file = "$old.txt";
+$builder = new HTMLPurifier_ConfigSchema_InterchangeBuilder();
+$interchange = new HTMLPurifier_ConfigSchema_Interchange();
+$builder->buildFile($interchange, $file);
+$contents = file_get_contents($file);
+
+if (strpos($contents, "\r\n") !== false) {
+ $nl = "\r\n";
+} elseif (strpos($contents, "\r") !== false) {
+ $nl = "\r";
+} else {
+ $nl = "\n";
+}
+
+// replace name with new name
+$contents = str_replace($old, $new, $contents);
+
+if ($interchange->directives[$old]->aliases) {
+ $pos_alias = strpos($contents, 'ALIASES:');
+ $pos_ins = strpos($contents, $nl, $pos_alias);
+ if ($pos_ins === false) $pos_ins = strlen($contents);
+ $contents =
+ substr($contents, 0, $pos_ins) . ", $old" . substr($contents, $pos_ins);
+ file_put_contents($file, $contents);
+} else {
+ $lines = explode($nl, $contents);
+ $insert = false;
+ foreach ($lines as $n => $line) {
+ if (strncmp($line, '--', 2) === 0) {
+ $insert = $n;
+ break;
+ }
+ }
+ if (!$insert) {
+ $lines[] = "ALIASES: $old";
+ } else {
+ array_splice($lines, $insert, 0, "ALIASES: $old");
+ }
+ file_put_contents($file, implode($nl, $lines));
+}
+
+rename("$old.txt", "$new.txt") || exit(1);
diff --git a/vendor/ezyang/htmlpurifier/maintenance/update-config.php b/vendor/ezyang/htmlpurifier/maintenance/update-config.php
new file mode 100644
index 000000000..2d8a7a9c1
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/maintenance/update-config.php
@@ -0,0 +1,34 @@
+#!/usr/bin/php
+<?php
+
+chdir(dirname(__FILE__));
+require_once 'common.php';
+assertCli();
+
+/**
+ * @file
+ * Converts all instances of $config->set and $config->get to the new
+ * format, as described by docs/dev-config-bcbreaks.txt
+ */
+
+$FS = new FSTools();
+chdir(dirname(__FILE__) . '/..');
+$raw_files = $FS->globr('.', '*.php');
+foreach ($raw_files as $file) {
+ $file = substr($file, 2); // rm leading './'
+ if (strpos($file, 'library/standalone/') === 0) continue;
+ if (strpos($file, 'maintenance/update-config.php') === 0) continue;
+ if (strpos($file, 'test-settings.php') === 0) continue;
+ if (substr_count($file, '.') > 1) continue; // rm meta files
+ // process the file
+ $contents = file_get_contents($file);
+ $contents = preg_replace(
+ "#config->(set|get)\('(.+?)', '(.+?)'#",
+ "config->\\1('\\2.\\3'",
+ $contents
+ );
+ if ($contents === '') continue;
+ file_put_contents($file, $contents);
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/package.php b/vendor/ezyang/htmlpurifier/package.php
new file mode 100644
index 000000000..bfef93622
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/package.php
@@ -0,0 +1,61 @@
+<?php
+
+set_time_limit(0);
+
+require_once 'PEAR/PackageFileManager2.php';
+require_once 'PEAR/PackageFileManager/File.php';
+PEAR::setErrorHandling(PEAR_ERROR_PRINT);
+$pkg = new PEAR_PackageFileManager2;
+
+$pkg->setOptions(
+ array(
+ 'baseinstalldir' => '/',
+ 'packagefile' => 'package.xml',
+ 'packagedirectory' => realpath(dirname(__FILE__) . '/library'),
+ 'filelistgenerator' => 'file',
+ 'include' => array('*'),
+ 'dir_roles' => array('/' => 'php'), // hack to put *.ser files in the right place
+ 'ignore' => array(
+ 'HTMLPurifier.standalone.php',
+ 'HTMLPurifier.path.php',
+ '*.tar.gz',
+ '*.tgz',
+ 'standalone/'
+ ),
+ )
+);
+
+$pkg->setPackage('HTMLPurifier');
+$pkg->setLicense('LGPL', 'http://www.gnu.org/licenses/lgpl.html');
+$pkg->setSummary('Standards-compliant HTML filter');
+$pkg->setDescription(
+ 'HTML Purifier is an HTML filter that will remove all malicious code
+ (better known as XSS) with a thoroughly audited, secure yet permissive
+ whitelist and will also make sure your documents are standards
+ compliant.'
+);
+
+$pkg->addMaintainer('lead', 'ezyang', 'Edward Z. Yang', 'admin@htmlpurifier.org', 'yes');
+
+$version = trim(file_get_contents('VERSION'));
+$api_version = substr($version, 0, strrpos($version, '.'));
+
+$pkg->setChannel('htmlpurifier.org');
+$pkg->setAPIVersion($api_version);
+$pkg->setAPIStability('stable');
+$pkg->setReleaseVersion($version);
+$pkg->setReleaseStability('stable');
+
+$pkg->addRelease();
+
+$pkg->setNotes(file_get_contents('WHATSNEW'));
+$pkg->setPackageType('php');
+
+$pkg->setPhpDep('5.0.0');
+$pkg->setPearinstallerDep('1.4.3');
+
+$pkg->generateContents();
+
+$pkg->writePackageFile();
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/phpdoc.ini b/vendor/ezyang/htmlpurifier/phpdoc.ini
new file mode 100644
index 000000000..c4c372353
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/phpdoc.ini
@@ -0,0 +1,102 @@
+;; phpDocumentor parse configuration file
+;;
+;; This file is designed to cut down on repetitive typing on the command-line or web interface
+;; You can copy this file to create a number of configuration files that can be used with the
+;; command-line switch -c, as in phpdoc -c default.ini or phpdoc -c myini.ini. The web
+;; interface will automatically generate a list of .ini files that can be used.
+;;
+;; default.ini is used to generate the online manual at http://www.phpdoc.org/docs
+;;
+;; ALL .ini files must be in the user subdirectory of phpDocumentor with an extension of .ini
+;;
+;; Copyright 2002, Greg Beaver <cellog@users.sourceforge.net>
+;;
+;; WARNING: do not change the name of any command-line parameters, phpDocumentor will ignore them
+
+[Parse Data]
+;; title of all the documentation
+;; legal values: any string
+title = HTML Purifier API Documentation
+
+;; parse files that start with a . like .bash_profile
+;; legal values: true, false
+hidden = false
+
+;; show elements marked @access private in documentation by setting this to on
+;; legal values: on, off
+parseprivate = off
+
+;; parse with javadoc-like description (first sentence is always the short description)
+;; legal values: on, off
+javadocdesc = on
+
+;; add any custom @tags separated by commas here
+;; legal values: any legal tagname separated by commas.
+;customtags = mytag1,mytag2
+
+;; This is only used by the XML:DocBook/peardoc2 converter
+defaultcategoryname = Documentation
+
+;; what is the main package?
+;; legal values: alphanumeric string plus - and _
+defaultpackagename = HTMLPurifier
+
+;; output any parsing information? set to on for cron jobs
+;; legal values: on
+;quiet = on
+
+;; parse a PEAR-style repository. Do not turn this on if your project does
+;; not have a parent directory named "pear"
+;; legal values: on/off
+;pear = on
+
+;; where should the documentation be written?
+;; legal values: a legal path
+target = docs/phpdoc
+
+;; Which files should be parsed out as special documentation files, such as README,
+;; INSTALL and CHANGELOG? This overrides the default files found in
+;; phpDocumentor.ini (this file is not a user .ini file, but the global file)
+readmeinstallchangelog = README, INSTALL, NEWS, WYSIWYG, SLOW, LICENSE, CREDITS
+
+;; limit output to the specified packages, even if others are parsed
+;; legal values: package names separated by commas
+;packageoutput = package1,package2
+
+;; comma-separated list of files to parse
+;; legal values: paths separated by commas
+;filename = /path/to/file1,/path/to/file2,fileincurrentdirectory
+
+;; comma-separated list of directories to parse
+;; legal values: directory paths separated by commas
+;directory = /path1,/path2,.,..,subdirectory
+;directory = /home/jeichorn/cvs/pear
+directory = .
+
+;; template base directory (the equivalent directory of <installdir>/phpDocumentor)
+;templatebase = /path/to/my/templates
+
+;; directory to find any example files in through @example and {@example} tags
+;examplesdir = /path/to/my/templates
+
+;; comma-separated list of files, directories or wildcards ? and * (any wildcard) to ignore
+;; legal values: any wildcard strings separated by commas
+;ignore = /path/to/ignore*,*list.php,myfile.php,subdirectory/
+ignore = *tests*,*benchmarks*,*docs*,*test-settings.php,*configdoc*,*maintenance*,*smoketests*,*standalone*,*.svn*,*conf*
+
+sourcecode = on
+
+;; comma-separated list of Converters to use in outputformat:Convertername:templatedirectory format
+;; legal values: HTML:frames:default,HTML:frames:l0l33t,HTML:frames:phpdoc.de,HTML:frames:phphtmllib,
+;; HTML:frames:earthli,
+;; HTML:frames:DOM/default,HTML:frames:DOM/l0l33t,HTML:frames:DOM/phpdoc.de,
+;; HTML:frames:DOM/phphtmllib,HTML:frames:DOM/earthli
+;; HTML:Smarty:default,HTML:Smarty:PHP,HTML:Smarty:HandS
+;; PDF:default:default,CHM:default:default,XML:DocBook/peardoc2:default
+output=HTML:frames:default
+
+;; turn this option on if you want highlighted source code for every file
+;; legal values: on/off
+sourcecode = on
+
+; vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/plugins/modx.txt b/vendor/ezyang/htmlpurifier/plugins/modx.txt
new file mode 100644
index 000000000..0763821b5
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/plugins/modx.txt
@@ -0,0 +1,112 @@
+
+MODx Plugin
+
+MODx <http://www.modxcms.com/> is an open source PHP application framework.
+I first came across them in my referrer logs when tillda asked if anyone
+could implement an HTML Purifier plugin. This forum thread
+<http://modxcms.com/forums/index.php/topic,6604.0.html> eventually resulted
+in the fruition of this plugin that davidm says, "is on top of my favorite
+list." HTML Purifier goes great with WYSIWYG editors!
+
+
+
+1. Credits
+
+PaulGregory wrote the overall structure of the code. I added the
+slashes hack.
+
+
+
+2. Install
+
+First, you need to place HTML Purifier library somewhere. The code here
+assumes that you've placed in MODx's assets/plugins/htmlpurifier (no version
+number).
+
+Log into the manager, and navigate:
+
+Resources > Manage Resources > Plugins tab > New Plugin
+
+Type in a name (probably HTML Purifier), and copy paste this code into the
+textarea:
+
+--------------------------------------------------------------------------------
+$e = &$modx->Event;
+if ($e->name == 'OnBeforeDocFormSave') {
+ global $content;
+
+ include_once '../assets/plugins/htmlpurifier/library/HTMLPurifier.auto.php';
+ $purifier = new HTMLPurifier();
+
+ static $magic_quotes = null;
+ if ($magic_quotes === null) {
+ // this is an ugly hack because this hook hasn't
+ // had the backslashes removed yet when magic_quotes_gpc is on,
+ // but HTMLPurifier must not have the quotes slashed.
+ $magic_quotes = get_magic_quotes_gpc();
+ }
+
+ if ($magic_quotes) $content = stripslashes($content);
+ $content = $purifier->purify($content);
+ if ($magic_quotes) $content = addslashes($content);
+}
+--------------------------------------------------------------------------------
+
+Then navigate to the System Events tab and check "OnBeforeDocFormSave".
+Save the plugin. HTML Purifier now is integrated!
+
+
+
+3. Making sure it works
+
+You can test HTML Purifier by deliberately putting in crappy HTML and seeing
+whether or not it gets fixed. A better way is to put in something like this:
+
+<p lang="fr">Il est bon</p>
+
+...and seeing whether or not the content comes out as:
+
+<p lang="fr" xml:lang="fr">Il est bon</p>
+
+(lang to xml:lang synchronization is one of the many features HTML Purifier
+has).
+
+
+
+4. Caveat Emptor
+
+This code does not intercept save requests from the QuickEdit plugin, this may
+be added in a later version. It also modifies things on save, so there's a
+slight chance that HTML Purifier may make a boo-boo and accidently mess things
+up (the original version is not saved).
+
+Finally, make sure that MODx is using UTF-8. If you are using, say, a French
+localisation, you may be using Latin-1, if that's the case, configure
+HTML Purifier properly like this:
+
+$config = HTMLPurifier_Config::createDefault();
+$config->set('Core', 'Encoding', 'ISO-8859-1'); // or whatever encoding
+$purifier = new HTMLPurifier($config);
+
+
+
+5. Known Bugs
+
+'rn' characters sometimes mysteriously appear after purification. We are
+currently investigating this issue. See: <http://htmlpurifier.org/phorum/read.php?3,1866>
+
+
+
+6. See Also
+
+A modified version of Jot 1.1.3 is available, which integrates with HTML
+Purifier. You can check it out here: <http://modxcms.com/forums/index.php/topic,25621.msg161970.html>
+
+
+X. Changelog
+
+2008-06-16
+- Updated code to work with 3.1.0 and later
+- Add Known Bugs and See Also section
+
+ vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/plugins/phorum/.gitignore b/vendor/ezyang/htmlpurifier/plugins/phorum/.gitignore
new file mode 100644
index 000000000..8325e0902
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/plugins/phorum/.gitignore
@@ -0,0 +1,2 @@
+migrate.php
+htmlpurifier/*
diff --git a/vendor/ezyang/htmlpurifier/plugins/phorum/Changelog b/vendor/ezyang/htmlpurifier/plugins/phorum/Changelog
new file mode 100644
index 000000000..9f939e54a
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/plugins/phorum/Changelog
@@ -0,0 +1,27 @@
+Changelog HTMLPurifier : Phorum Mod
+|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
+= KEY ====================
+ # Breaks back-compat
+ ! Feature
+ - Bugfix
+ + Sub-comment
+ . Internal change
+==========================
+
+Version 4.0.0 for Phorum 5.2, released July 9, 2009
+# Works only with HTML Purifier 4.0.0
+! Better installation documentation
+- Fixed double encoded quotes
+- Fixed fatal error when migrate.php is blank
+
+Version 3.0.0 for Phorum 5.2, released January 12, 2008
+# WYSIWYG and suppress_message options are now configurable via web
+ interface.
+- Module now compatible with Phorum 5.2, primary bugs were in migration
+ code as well as signature and edit message handling. This module is NOT
+ compatible with Phorum 5.1.
+- Buggy WYSIWYG mode refined
+. AutoFormatParam added to list of default configuration namespaces
+
+ vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/plugins/phorum/INSTALL b/vendor/ezyang/htmlpurifier/plugins/phorum/INSTALL
new file mode 100644
index 000000000..23c76fc5c
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/plugins/phorum/INSTALL
@@ -0,0 +1,84 @@
+
+Install
+ How to install the Phorum HTML Purifier plugin
+
+0. PREREQUISITES
+----------------
+This Phorum module only works on PHP5 and with HTML Purifier 4.0.0
+or later.
+
+1. UNZIP
+--------
+Unzip phorum-htmlpurifier-x.y.z, producing an htmlpurifier folder.
+You've already done this step if you're reading this!
+
+2. MOVE
+-------
+Move the htmlpurifier folder to the mods/ folder of your Phorum
+installation, so the directory structure looks like:
+
+phorum/
+ mods/
+ htmlpurifier/
+ INSTALL - this install file
+ info.txt, ... - the module files
+ htmlpurifier/
+
+3. INSTALL HTML PURIFIER
+------------------------
+Download and unzip HTML Purifier <htmlpurifier.org>. Place the contents of
+the library/ folder in the htmlpurifier/htmlpurifier folder. Your directory
+structure will look like:
+
+phorum/
+ mods/
+ htmlpurifier/
+ htmlpurifier/
+ HTMLPurifier.auto.php
+ ... - other files
+ HTMLPurifier/
+
+Advanced users:
+ If you have HTML Purifier installed elsewhere on your server,
+ all you need is an HTMLPurifier.auto.php file in the library folder which
+ includes the HTMLPurifier.auto.php file in your install.
+
+4. MIGRATE
+----------
+If you're setting up a new Phorum installation, all you need to do is create
+a blank migrate.php file in the htmlpurifier module folder (NOT the library
+folder.
+
+If you have an old Phorum installation and was using BBCode,
+copy migrate.bbcode.php to migrate.php. If you were using a different input
+format, follow the instructions in migrate.bbcode.php to create your own custom
+migrate.php file.
+
+Your directory structure should now look like this:
+
+phorum/
+ mods/
+ htmlpurifier/
+ migrate.php
+
+5. ENABLE
+---------
+Navigate to your Phorum admin panel at http://example.com/phorum/admin.php,
+click on Global Settings > Modules, scroll to "HTML Purifier Phorum Mod" and
+turn it On.
+
+6. MIGRATE SIGNATURES
+---------------------
+If you're setting up a new Phorum installation, skip this step.
+
+If you allowed your users to make signatures, navigate to the module settings
+page of HTML Purifier (Global Settings > Modules > HTML Purifier Phorum Mod >
+Configure), type in "yes" in the "Confirm" box, and press "Migrate."
+
+ONLY DO THIS ONCE! BE SURE TO BACK UP YOUR DATABASE!
+
+7. CONFIGURE
+------------
+Configure using Edit settings. See that page for more information.
+
+ vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/plugins/phorum/README b/vendor/ezyang/htmlpurifier/plugins/phorum/README
new file mode 100644
index 000000000..0524ed39d
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/plugins/phorum/README
@@ -0,0 +1,45 @@
+
+HTML Purifier Phorum Mod - Filter your HTML the Standards-Compliant Way!
+
+This Phorum mod enables HTML posting on Phorum. Under normal circumstances,
+this would cause a huge security risk, but because we are running
+HTML through HTML Purifier, output is guaranteed to be XSS free and
+standards-compliant.
+
+This mod requires HTML input, and previous markup languages need to be
+converted accordingly. Thus, it is vital that you create a 'migrate.php'
+file that works with your installation. If you're using the built-in
+BBCode formatting, simply move migrate.bbcode.php to that place; for
+other markup languages, consult said file for instructions on how
+to adapt it to your needs.
+
+ -- NOTE -------------------------------------------------
+ You can also run this module in parallel with another
+ formatting module; this module attempts to place itself
+ at the end of the filtering chain. However, if any
+ previous modules produce insecure HTML (for instance,
+ a JavaScript email obfuscator) they will get cleaned.
+
+This module will not work if 'migrate.php' is not created, and an improperly
+made migration file may *CORRUPT* Phorum, so please take your time to
+do this correctly. It should go without saying to *BACKUP YOUR DATABASE*
+before attempting anything here. If no migration is necessary, you can
+simply create a blank migrate.php file. HTML Purifier is smart and will
+not re-migrate already processed messages. However, the original code
+is irretrievably lost (we may change this in the future.)
+
+This module will not automatically migrate user signatures, because this
+process may take a long time. After installing the HTML Purifier module and
+then configuring 'migrate.php', navigate to Settings and click 'Migrate
+Signatures' to migrate all user signatures to HTML.
+
+All of HTML Purifier's usual functions are configurable via the mod settings
+page. If you require custom configuration, create config.php file in
+the mod directory that edits a $config variable. Be sure, also, to
+set $PHORUM['mod_htmlpurifier']['wysiwyg'] to TRUE if you are using a
+WYSIWYG editor (you can do this through a common hook or the web
+configuration form).
+
+Visit HTML Purifier at <http://htmlpurifier.org/>.
+
+ vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/plugins/phorum/config.default.php b/vendor/ezyang/htmlpurifier/plugins/phorum/config.default.php
new file mode 100644
index 000000000..e047c0b42
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/plugins/phorum/config.default.php
@@ -0,0 +1,57 @@
+<?php
+
+if(!defined("PHORUM")) exit;
+
+// default HTML Purifier configuration settings
+$config->set('HTML.Allowed',
+ // alphabetically sorted
+'a[href|title]
+abbr[title]
+acronym[title]
+b
+blockquote[cite]
+br
+caption
+cite
+code
+dd
+del
+dfn
+div
+dl
+dt
+em
+i
+img[src|alt|title|class]
+ins
+kbd
+li
+ol
+p
+pre
+s
+strike
+strong
+sub
+sup
+table
+tbody
+td
+tfoot
+th
+thead
+tr
+tt
+u
+ul
+var');
+$config->set('AutoFormat.AutoParagraph', true);
+$config->set('AutoFormat.Linkify', true);
+$config->set('HTML.Doctype', 'XHTML 1.0 Transitional');
+$config->set('Core.AggressivelyFixLt', true);
+$config->set('Core.Encoding', $GLOBALS['PHORUM']['DATA']['CHARSET']); // we'll change this eventually
+if (strtolower($GLOBALS['PHORUM']['DATA']['CHARSET']) !== 'utf-8') {
+ $config->set('Core.EscapeNonASCIICharacters', true);
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/plugins/phorum/htmlpurifier.php b/vendor/ezyang/htmlpurifier/plugins/phorum/htmlpurifier.php
new file mode 100644
index 000000000..f66d8c36c
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/plugins/phorum/htmlpurifier.php
@@ -0,0 +1,316 @@
+<?php
+
+/**
+ * HTML Purifier Phorum Mod. Filter your HTML the Standards-Compliant Way!
+ *
+ * This Phorum mod enables users to post raw HTML into Phorum. But never
+ * fear: with the help of HTML Purifier, this HTML will be beat into
+ * de-XSSed and standards-compliant form, safe for general consumption.
+ * It is not recommended, but possible to run this mod in parallel
+ * with other formatters (in short, please DISABLE the BBcode mod).
+ *
+ * For help migrating from your previous markup language to pure HTML
+ * please check the migrate.bbcode.php file.
+ *
+ * If you'd like to use this with a WYSIWYG editor, make sure that
+ * editor sets $PHORUM['mod_htmlpurifier']['wysiwyg'] to true. Otherwise,
+ * administrators who need to edit other people's comments may be at
+ * risk for some nasty attacks.
+ *
+ * Tested with Phorum 5.2.11.
+ */
+
+// Note: Cache data is base64 encoded because Phorum insists on flinging
+// to the user and expecting it to come back unharmed, newlines and
+// all, which ain't happening. It's slower, it takes up more space, but
+// at least it won't get mutilated
+
+/**
+ * Purifies a data array
+ */
+function phorum_htmlpurifier_format($data)
+{
+ $PHORUM = $GLOBALS["PHORUM"];
+
+ $purifier =& HTMLPurifier::getInstance();
+ $cache_serial = $PHORUM['mod_htmlpurifier']['body_cache_serial'];
+
+ foreach($data as $message_id => $message){
+ if(isset($message['body'])) {
+
+ if ($message_id) {
+ // we're dealing with a real message, not a fake, so
+ // there a number of shortcuts that can be taken
+
+ if (isset($message['meta']['htmlpurifier_light'])) {
+ // format hook was called outside of Phorum's normal
+ // functions, do the abridged purification
+ $data[$message_id]['body'] = $purifier->purify($message['body']);
+ continue;
+ }
+
+ if (!empty($PHORUM['args']['purge'])) {
+ // purge the cache, must be below the following if
+ unset($message['meta']['body_cache']);
+ }
+
+ if (
+ isset($message['meta']['body_cache']) &&
+ isset($message['meta']['body_cache_serial']) &&
+ $message['meta']['body_cache_serial'] == $cache_serial
+ ) {
+ // cached version is present, bail out early
+ $data[$message_id]['body'] = base64_decode($message['meta']['body_cache']);
+ continue;
+ }
+ }
+
+ // migration might edit this array, that's why it's defined
+ // so early
+ $updated_message = array();
+
+ // create the $body variable
+ if (
+ $message_id && // message must be real to migrate
+ !isset($message['meta']['body_cache_serial'])
+ ) {
+ // perform migration
+ $fake_data = array();
+ list($signature, $edit_message) = phorum_htmlpurifier_remove_sig_and_editmessage($message);
+ $fake_data[$message_id] = $message;
+ $fake_data = phorum_htmlpurifier_migrate($fake_data);
+ $body = $fake_data[$message_id]['body'];
+ $body = str_replace("<phorum break>\n", "\n", $body);
+ $updated_message['body'] = $body; // save it in
+ $body .= $signature . $edit_message; // add it back in
+ } else {
+ // reverse Phorum's pre-processing
+ $body = $message['body'];
+ // order is important
+ $body = str_replace("<phorum break>\n", "\n", $body);
+ $body = str_replace(array('&lt;','&gt;','&amp;', '&quot;'), array('<','>','&','"'), $body);
+ if (!$message_id && defined('PHORUM_CONTROL_CENTER')) {
+ // we're in control.php, so it was double-escaped
+ $body = str_replace(array('&lt;','&gt;','&amp;', '&quot;'), array('<','>','&','"'), $body);
+ }
+ }
+
+ $body = $purifier->purify($body);
+
+ // dynamically update the cache (MUST BE DONE HERE!)
+ // this is inefficient because it's one db call per
+ // cache miss, but once the cache is in place things are
+ // a lot zippier.
+
+ if ($message_id) { // make sure it's not a fake id
+ $updated_message['meta'] = $message['meta'];
+ $updated_message['meta']['body_cache'] = base64_encode($body);
+ $updated_message['meta']['body_cache_serial'] = $cache_serial;
+ phorum_db_update_message($message_id, $updated_message);
+ }
+
+ // must not get overloaded until after we cache it, otherwise
+ // we'll inadvertently change the original text
+ $data[$message_id]['body'] = $body;
+
+ }
+ }
+
+ return $data;
+}
+
+// -----------------------------------------------------------------------
+// This is fragile code, copied from read.php:596 (Phorum 5.2.6). Please
+// keep this code in-sync with Phorum
+
+/**
+ * Generates a signature based on a message array
+ */
+function phorum_htmlpurifier_generate_sig($row)
+{
+ $phorum_sig = '';
+ if(isset($row["user"]["signature"])
+ && isset($row['meta']['show_signature']) && $row['meta']['show_signature']==1){
+ $phorum_sig=trim($row["user"]["signature"]);
+ if(!empty($phorum_sig)){
+ $phorum_sig="\n\n$phorum_sig";
+ }
+ }
+ return $phorum_sig;
+}
+
+/**
+ * Generates an edit message based on a message array
+ */
+function phorum_htmlpurifier_generate_editmessage($row)
+{
+ $PHORUM = $GLOBALS['PHORUM'];
+ $editmessage = '';
+ if(isset($row['meta']['edit_count']) && $row['meta']['edit_count'] > 0) {
+ $editmessage = str_replace ("%count%", $row['meta']['edit_count'], $PHORUM["DATA"]["LANG"]["EditedMessage"]);
+ $editmessage = str_replace ("%lastedit%", phorum_date($PHORUM["short_date_time"],$row['meta']['edit_date']), $editmessage);
+ $editmessage = str_replace ("%lastuser%", $row['meta']['edit_username'], $editmessage);
+ $editmessage = "\n\n\n\n$editmessage";
+ }
+ return $editmessage;
+}
+
+// End fragile code
+// -----------------------------------------------------------------------
+
+/**
+ * Removes the signature and edit message from a message
+ * @param $row Message passed by reference
+ */
+function phorum_htmlpurifier_remove_sig_and_editmessage(&$row)
+{
+ $signature = phorum_htmlpurifier_generate_sig($row);
+ $editmessage = phorum_htmlpurifier_generate_editmessage($row);
+ $replacements = array();
+ // we need to remove add <phorum break> as that is the form these
+ // extra bits are in.
+ if ($signature) $replacements[str_replace("\n", "<phorum break>\n", $signature)] = '';
+ if ($editmessage) $replacements[str_replace("\n", "<phorum break>\n", $editmessage)] = '';
+ $row['body'] = strtr($row['body'], $replacements);
+ return array($signature, $editmessage);
+}
+
+/**
+ * Indicate that data is fully HTML and not from migration, invalidate
+ * previous caches
+ * @note This function could generate the actual cache entries, but
+ * since there's data missing that must be deferred to the first read
+ */
+function phorum_htmlpurifier_posting($message)
+{
+ $PHORUM = $GLOBALS["PHORUM"];
+ unset($message['meta']['body_cache']); // invalidate the cache
+ $message['meta']['body_cache_serial'] = $PHORUM['mod_htmlpurifier']['body_cache_serial'];
+ return $message;
+}
+
+/**
+ * Overload quoting mechanism to prevent default, mail-style quote from happening
+ */
+function phorum_htmlpurifier_quote($array)
+{
+ $PHORUM = $GLOBALS["PHORUM"];
+ $purifier =& HTMLPurifier::getInstance();
+ $text = $purifier->purify($array[1]);
+ $source = htmlspecialchars($array[0]);
+ return "<blockquote cite=\"$source\">\n$text\n</blockquote>";
+}
+
+/**
+ * Ensure that our format hook is processed last. Also, loads the library.
+ * @credits <http://secretsauce.phorum.org/snippets/make_bbcode_last_formatter.php.txt>
+ */
+function phorum_htmlpurifier_common()
+{
+ require_once(dirname(__FILE__).'/htmlpurifier/HTMLPurifier.auto.php');
+ require(dirname(__FILE__).'/init-config.php');
+
+ $config = phorum_htmlpurifier_get_config();
+ HTMLPurifier::getInstance($config);
+
+ // increment revision.txt if you want to invalidate the cache
+ $GLOBALS['PHORUM']['mod_htmlpurifier']['body_cache_serial'] = $config->getSerial();
+
+ // load migration
+ if (file_exists(dirname(__FILE__) . '/migrate.php')) {
+ include(dirname(__FILE__) . '/migrate.php');
+ } else {
+ echo '<strong>Error:</strong> No migration path specified for HTML Purifier, please check
+ <tt>modes/htmlpurifier/migrate.bbcode.php</tt> for instructions on
+ how to migrate from your previous markup language.';
+ exit;
+ }
+
+ if (!function_exists('phorum_htmlpurifier_migrate')) {
+ // Dummy function
+ function phorum_htmlpurifier_migrate($data) {return $data;}
+ }
+
+}
+
+/**
+ * Pre-emptively performs purification if it looks like a WYSIWYG editor
+ * is being used
+ */
+function phorum_htmlpurifier_before_editor($message)
+{
+ if (!empty($GLOBALS['PHORUM']['mod_htmlpurifier']['wysiwyg'])) {
+ if (!empty($message['body'])) {
+ $body = $message['body'];
+ // de-entity-ize contents
+ $body = str_replace(array('&lt;','&gt;','&amp;'), array('<','>','&'), $body);
+ $purifier =& HTMLPurifier::getInstance();
+ $body = $purifier->purify($body);
+ // re-entity-ize contents
+ $body = htmlspecialchars($body, ENT_QUOTES, $GLOBALS['PHORUM']['DATA']['CHARSET']);
+ $message['body'] = $body;
+ }
+ }
+ return $message;
+}
+
+function phorum_htmlpurifier_editor_after_subject()
+{
+ // don't show this message if it's a WYSIWYG editor, since it will
+ // then be handled automatically
+ if (!empty($GLOBALS['PHORUM']['mod_htmlpurifier']['wysiwyg'])) {
+ $i = $GLOBALS['PHORUM']['DATA']['MODE'];
+ if ($i == 'quote' || $i == 'edit' || $i == 'moderation') {
+ ?>
+ <div>
+ <p>
+ <strong>Notice:</strong> HTML has been scrubbed for your safety.
+ If you would like to see the original, turn off WYSIWYG mode
+ (consult your administrator for details.)
+ </p>
+ </div>
+ <?php
+ }
+ return;
+ }
+ if (!empty($GLOBALS['PHORUM']['mod_htmlpurifier']['suppress_message'])) return;
+ ?><div class="htmlpurifier-help">
+ <p>
+ <strong>HTML input</strong> is enabled. Make sure you escape all HTML and
+ angled brackets with <code>&amp;lt;</code> and <code>&amp;gt;</code>.
+ </p><?php
+ $purifier =& HTMLPurifier::getInstance();
+ $config = $purifier->config;
+ if ($config->get('AutoFormat.AutoParagraph')) {
+ ?><p>
+ <strong>Auto-paragraphing</strong> is enabled. Double
+ newlines will be converted to paragraphs; for single
+ newlines, use the <code>pre</code> tag.
+ </p><?php
+ }
+ $html_definition = $config->getDefinition('HTML');
+ $allowed = array();
+ foreach ($html_definition->info as $name => $x) $allowed[] = "<code>$name</code>";
+ sort($allowed);
+ $allowed_text = implode(', ', $allowed);
+ ?><p><strong>Allowed tags:</strong> <?php
+ echo $allowed_text;
+ ?>.</p><?php
+ ?>
+ </p>
+ <p>
+ For inputting literal code such as HTML and PHP for display, use
+ CDATA tags to auto-escape your angled brackets, and <code>pre</code>
+ to preserve newlines:
+ </p>
+ <pre>&lt;pre&gt;&lt;![CDATA[
+<em>Place code here</em>
+]]&gt;&lt;/pre&gt;</pre>
+ <p>
+ Power users, you can hide this notice with:
+ <pre>.htmlpurifier-help {display:none;}</pre>
+ </p>
+ </div><?php
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/plugins/phorum/info.txt b/vendor/ezyang/htmlpurifier/plugins/phorum/info.txt
new file mode 100644
index 000000000..723465490
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/plugins/phorum/info.txt
@@ -0,0 +1,18 @@
+title: HTML Purifier Phorum Mod
+desc: This module enables standards-compliant HTML filtering on Phorum. Please check migrate.bbcode.php before enabling this mod.
+author: Edward Z. Yang
+url: http://htmlpurifier.org/
+version: 4.0.0
+
+hook: format|phorum_htmlpurifier_format
+hook: quote|phorum_htmlpurifier_quote
+hook: posting_custom_action|phorum_htmlpurifier_posting
+hook: common|phorum_htmlpurifier_common
+hook: before_editor|phorum_htmlpurifier_before_editor
+hook: tpl_editor_after_subject|phorum_htmlpurifier_editor_after_subject
+
+# This module is meant to be a drop-in for bbcode, so make it run last.
+priority: run module after *
+priority: run hook format after *
+
+ vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/plugins/phorum/init-config.php b/vendor/ezyang/htmlpurifier/plugins/phorum/init-config.php
new file mode 100644
index 000000000..e19787b4b
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/plugins/phorum/init-config.php
@@ -0,0 +1,30 @@
+<?php
+
+/**
+ * Initializes the appropriate configuration from either a PHP file
+ * or a module configuration value
+ * @return Instance of HTMLPurifier_Config
+ */
+function phorum_htmlpurifier_get_config($default = false)
+{
+ global $PHORUM;
+ $config_exists = phorum_htmlpurifier_config_file_exists();
+ if ($default || $config_exists || !isset($PHORUM['mod_htmlpurifier']['config'])) {
+ $config = HTMLPurifier_Config::createDefault();
+ include(dirname(__FILE__) . '/config.default.php');
+ if ($config_exists) {
+ include(dirname(__FILE__) . '/config.php');
+ }
+ unset($PHORUM['mod_htmlpurifier']['config']); // unnecessary
+ } else {
+ $config = HTMLPurifier_Config::create($PHORUM['mod_htmlpurifier']['config']);
+ }
+ return $config;
+}
+
+function phorum_htmlpurifier_config_file_exists()
+{
+ return file_exists(dirname(__FILE__) . '/config.php');
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/plugins/phorum/migrate.bbcode.php b/vendor/ezyang/htmlpurifier/plugins/phorum/migrate.bbcode.php
new file mode 100644
index 000000000..0d0919455
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/plugins/phorum/migrate.bbcode.php
@@ -0,0 +1,31 @@
+<?php
+
+/**
+ * This file is responsible for migrating from a specific markup language
+ * like BBCode or Markdown to HTML. WARNING: THIS PROCESS IS NOT REVERSIBLE
+ *
+ * Copy this file to 'migrate.php' and it will automatically work for
+ * BBCode; you may need to tweak this a little to get it to work for other
+ * languages (usually, just replace the include name and the function name).
+ *
+ * If you do NOT want to have any migration performed (for instance, you
+ * are installing the module on a new forum with no posts), simply remove
+ * phorum_htmlpurifier_migrate() function. You still need migrate.php
+ * present, otherwise the module won't work. This ensures that the user
+ * explicitly says, "No, I do not need to migrate."
+ */
+
+if(!defined("PHORUM")) exit;
+
+require_once(dirname(__FILE__) . "/../bbcode/bbcode.php");
+
+/**
+ * 'format' hook style function that will be called to convert
+ * legacy markup into HTML.
+ */
+function phorum_htmlpurifier_migrate($data)
+{
+ return phorum_mod_bbcode_format($data); // bbcode's 'format' hook
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/plugins/phorum/settings.php b/vendor/ezyang/htmlpurifier/plugins/phorum/settings.php
new file mode 100644
index 000000000..8158f0282
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/plugins/phorum/settings.php
@@ -0,0 +1,64 @@
+<?php
+
+// based off of BBCode's settings file
+
+/**
+ * HTML Purifier Phorum mod settings configuration. This provides
+ * a convenient web-interface for editing the most common HTML Purifier
+ * configuration directives. You can also specify custom configuration
+ * by creating a 'config.php' file.
+ */
+
+if(!defined("PHORUM_ADMIN")) exit;
+
+// error reporting is good!
+error_reporting(E_ALL ^ E_NOTICE);
+
+// load library and other paraphenalia
+require_once './include/admin/PhorumInputForm.php';
+require_once (dirname(__FILE__) . '/htmlpurifier/HTMLPurifier.auto.php');
+require_once (dirname(__FILE__) . '/init-config.php');
+require_once (dirname(__FILE__) . '/settings/migrate-sigs-form.php');
+require_once (dirname(__FILE__) . '/settings/migrate-sigs.php');
+require_once (dirname(__FILE__) . '/settings/form.php');
+require_once (dirname(__FILE__) . '/settings/save.php');
+
+// define friendly configuration directives. you can expand this array
+// to get more web-definable directives
+$PHORUM['mod_htmlpurifier']['directives'] = array(
+ 'URI.Host', // auto-detectable
+ 'URI.DisableExternal',
+ 'URI.DisableExternalResources',
+ 'URI.DisableResources',
+ 'URI.Munge',
+ 'URI.HostBlacklist',
+ 'URI.Disable',
+ 'HTML.TidyLevel',
+ 'HTML.Doctype', // auto-detectable
+ 'HTML.Allowed',
+ 'AutoFormat',
+ '-AutoFormat.Custom',
+ 'AutoFormatParam',
+ 'Output.TidyFormat',
+);
+
+// lower this setting if you're getting time outs/out of memory
+$PHORUM['mod_htmlpurifier']['migrate-sigs-increment'] = 100;
+
+if (isset($_POST['reset'])) {
+ unset($PHORUM['mod_htmlpurifier']['config']);
+}
+
+if ($offset = phorum_htmlpurifier_migrate_sigs_check()) {
+ // migrate signatures
+ phorum_htmlpurifier_migrate_sigs($offset);
+} elseif(!empty($_POST)){
+ // save settings
+ phorum_htmlpurifier_save_settings();
+}
+
+phorum_htmlpurifier_show_migrate_sigs_form();
+echo '<br />';
+phorum_htmlpurifier_show_form();
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/plugins/phorum/settings/form.php b/vendor/ezyang/htmlpurifier/plugins/phorum/settings/form.php
new file mode 100644
index 000000000..9b6ad5f39
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/plugins/phorum/settings/form.php
@@ -0,0 +1,95 @@
+<?php
+
+function phorum_htmlpurifier_show_form()
+{
+ if (phorum_htmlpurifier_config_file_exists()) {
+ phorum_htmlpurifier_show_config_info();
+ return;
+ }
+
+ global $PHORUM;
+
+ $config = phorum_htmlpurifier_get_config();
+
+ $frm = new PhorumInputForm ("", "post", "Save");
+ $frm->hidden("module", "modsettings");
+ $frm->hidden("mod", "htmlpurifier"); // this is the directory name that the Settings file lives in
+
+ if (!empty($error)){
+ echo "$error<br />";
+ }
+
+ $frm->addbreak("Edit settings for the HTML Purifier module");
+
+ $frm->addMessage('<p>The box below sets <code>$PHORUM[\'mod_htmlpurifier\'][\'wysiwyg\']</code>.
+ When checked, contents sent for edit are now purified and the
+ informative message is disabled. If your WYSIWYG editor is disabled for
+ admin edits, you can safely keep this unchecked.</p>');
+ $frm->addRow('Use WYSIWYG?', $frm->checkbox('wysiwyg', '1', '', $PHORUM['mod_htmlpurifier']['wysiwyg']));
+
+ $frm->addMessage('<p>The box below sets <code>$PHORUM[\'mod_htmlpurifier\'][\'suppress_message\']</code>,
+ which removes the big how-to use
+ HTML Purifier message.</p>');
+ $frm->addRow('Suppress information?', $frm->checkbox('suppress_message', '1', '', $PHORUM['mod_htmlpurifier']['suppress_message']));
+
+ $frm->addMessage('<p>Click on directive links to read what each option does
+ (links do not open in new windows).</p>
+ <p>For more flexibility (for instance, you want to edit the full
+ range of configuration directives), you can create a <tt>config.php</tt>
+ file in your <tt>mods/htmlpurifier/</tt> directory. Doing so will,
+ however, make the web configuration interface unavailable.</p>');
+
+ require_once 'HTMLPurifier/Printer/ConfigForm.php';
+ $htmlpurifier_form = new HTMLPurifier_Printer_ConfigForm('config', 'http://htmlpurifier.org/live/configdoc/plain.html#%s');
+ $htmlpurifier_form->setTextareaDimensions(23, 7); // widen a little, since we have space
+
+ $frm->addMessage($htmlpurifier_form->render(
+ $config, $PHORUM['mod_htmlpurifier']['directives'], false));
+
+ $frm->addMessage("<strong>Warning: Changing HTML Purifier's configuration will invalidate
+ the cache. Expect to see a flurry of database activity after you change
+ any of these settings.</strong>");
+
+ $frm->addrow('Reset to defaults:', $frm->checkbox("reset", "1", "", false));
+
+ // hack to include extra styling
+ echo '<style type="text/css">' . $htmlpurifier_form->getCSS() . '
+ .hp-config {margin-left:auto;margin-right:auto;}
+ </style>';
+ $js = $htmlpurifier_form->getJavaScript();
+ echo '<script type="text/javascript">'."<!--\n$js\n//-->".'</script>';
+
+ $frm->show();
+}
+
+function phorum_htmlpurifier_show_config_info()
+{
+ global $PHORUM;
+
+ // update mod_htmlpurifier for housekeeping
+ phorum_htmlpurifier_commit_settings();
+
+ // politely tell user how to edit settings manually
+?>
+ <div class="input-form-td-break">How to edit settings for HTML Purifier module</div>
+ <p>
+ A <tt>config.php</tt> file exists in your <tt>mods/htmlpurifier/</tt>
+ directory. This file contains your custom configuration: in order to
+ change it, please navigate to that file and edit it accordingly.
+ You can also set <code>$GLOBALS['PHORUM']['mod_htmlpurifier']['wysiwyg']</code>
+ or <code>$GLOBALS['PHORUM']['mod_htmlpurifier']['suppress_message']</code>
+ </p>
+ <p>
+ To use the web interface, delete <tt>config.php</tt> (or rename it to
+ <tt>config.php.bak</tt>).
+ </p>
+ <p>
+ <strong>Warning: Changing HTML Purifier's configuration will invalidate
+ the cache. Expect to see a flurry of database activity after you change
+ any of these settings.</strong>
+ </p>
+<?php
+
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/plugins/phorum/settings/migrate-sigs-form.php b/vendor/ezyang/htmlpurifier/plugins/phorum/settings/migrate-sigs-form.php
new file mode 100644
index 000000000..abea3b51d
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/plugins/phorum/settings/migrate-sigs-form.php
@@ -0,0 +1,22 @@
+<?php
+
+function phorum_htmlpurifier_show_migrate_sigs_form()
+{
+ $frm = new PhorumInputForm ('', "post", "Migrate");
+ $frm->hidden("module", "modsettings");
+ $frm->hidden("mod", "htmlpurifier");
+ $frm->hidden("migrate-sigs", "1");
+ $frm->addbreak("Migrate user signatures to HTML");
+ $frm->addMessage('This operation will migrate your users signatures
+ to HTML. <strong>This process is irreversible and must only be performed once.</strong>
+ Type in yes in the confirmation field to migrate.');
+ if (!file_exists(dirname(__FILE__) . '/../migrate.php')) {
+ $frm->addMessage('Migration file does not exist, cannot migrate signatures.
+ Please check <tt>migrate.bbcode.php</tt> on how to create an appropriate file.');
+ } else {
+ $frm->addrow('Confirm:', $frm->text_box("confirmation", ""));
+ }
+ $frm->show();
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/plugins/phorum/settings/migrate-sigs.php b/vendor/ezyang/htmlpurifier/plugins/phorum/settings/migrate-sigs.php
new file mode 100644
index 000000000..5ea9cd0b8
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/plugins/phorum/settings/migrate-sigs.php
@@ -0,0 +1,79 @@
+<?php
+
+function phorum_htmlpurifier_migrate_sigs_check()
+{
+ global $PHORUM;
+ $offset = 0;
+ if (!empty($_POST['migrate-sigs'])) {
+ if (!isset($_POST['confirmation']) || strtolower($_POST['confirmation']) !== 'yes') {
+ echo 'Invalid confirmation code.';
+ exit;
+ }
+ $PHORUM['mod_htmlpurifier']['migrate-sigs'] = true;
+ phorum_db_update_settings(array("mod_htmlpurifier"=>$PHORUM["mod_htmlpurifier"]));
+ $offset = 1;
+ } elseif (!empty($_GET['migrate-sigs']) && $PHORUM['mod_htmlpurifier']['migrate-sigs']) {
+ $offset = (int) $_GET['migrate-sigs'];
+ }
+ return $offset;
+}
+
+function phorum_htmlpurifier_migrate_sigs($offset)
+{
+ global $PHORUM;
+
+ if(!$offset) return; // bail out quick if $offset == 0
+
+ // theoretically, we could get rid of this multi-request
+ // doo-hickery if safe mode is off
+ @set_time_limit(0); // attempt to let this run
+ $increment = $PHORUM['mod_htmlpurifier']['migrate-sigs-increment'];
+
+ require_once(dirname(__FILE__) . '/../migrate.php');
+ // migrate signatures
+ // do this in batches so we don't run out of time/space
+ $end = $offset + $increment;
+ $user_ids = array();
+ for ($i = $offset; $i < $end; $i++) {
+ $user_ids[] = $i;
+ }
+ $userinfos = phorum_db_user_get_fields($user_ids, 'signature');
+ foreach ($userinfos as $i => $user) {
+ if (empty($user['signature'])) continue;
+ $sig = $user['signature'];
+ // perform standard Phorum processing on the sig
+ $sig = str_replace(array("&","<",">"), array("&amp;","&lt;","&gt;"), $sig);
+ $sig = preg_replace("/<((http|https|ftp):\/\/[a-z0-9;\/\?:@=\&\$\-_\.\+!*'\(\),~%]+?)>/i", "$1", $sig);
+ // prepare fake data to pass to migration function
+ $fake_data = array(array("author"=>"", "email"=>"", "subject"=>"", 'body' => $sig));
+ list($fake_message) = phorum_htmlpurifier_migrate($fake_data);
+ $user['signature'] = $fake_message['body'];
+ if (!phorum_api_user_save($user)) {
+ exit('Error while saving user data');
+ }
+ }
+ unset($userinfos); // free up memory
+
+ // query for highest ID in database
+ $type = $PHORUM['DBCONFIG']['type'];
+ $sql = "select MAX(user_id) from {$PHORUM['user_table']}";
+ $row = phorum_db_interact(DB_RETURN_ROW, $sql);
+ $top_id = (int) $row[0];
+
+ $offset += $increment;
+ if ($offset > $top_id) { // test for end condition
+ echo 'Migration finished';
+ $PHORUM['mod_htmlpurifier']['migrate-sigs'] = false;
+ phorum_htmlpurifier_commit_settings();
+ return true;
+ }
+ $host = $_SERVER['HTTP_HOST'];
+ $uri = rtrim(dirname($_SERVER['PHP_SELF']), '/\\');
+ $extra = 'admin.php?module=modsettings&mod=htmlpurifier&migrate-sigs=' . $offset;
+ // relies on output buffering to work
+ header("Location: http://$host$uri/$extra");
+ exit;
+
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/plugins/phorum/settings/save.php b/vendor/ezyang/htmlpurifier/plugins/phorum/settings/save.php
new file mode 100644
index 000000000..2aefaf83a
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/plugins/phorum/settings/save.php
@@ -0,0 +1,29 @@
+<?php
+
+function phorum_htmlpurifier_save_settings()
+{
+ global $PHORUM;
+ if (phorum_htmlpurifier_config_file_exists()) {
+ echo "Cannot update settings, <code>mods/htmlpurifier/config.php</code> already exists. To change
+ settings, edit that file. To use the web form, delete that file.<br />";
+ } else {
+ $config = phorum_htmlpurifier_get_config(true);
+ if (!isset($_POST['reset'])) $config->mergeArrayFromForm($_POST, 'config', $PHORUM['mod_htmlpurifier']['directives']);
+ $PHORUM['mod_htmlpurifier']['config'] = $config->getAll();
+ }
+ $PHORUM['mod_htmlpurifier']['wysiwyg'] = !empty($_POST['wysiwyg']);
+ $PHORUM['mod_htmlpurifier']['suppress_message'] = !empty($_POST['suppress_message']);
+ if(!phorum_htmlpurifier_commit_settings()){
+ $error="Database error while updating settings.";
+ } else {
+ echo "Settings Updated<br />";
+ }
+}
+
+function phorum_htmlpurifier_commit_settings()
+{
+ global $PHORUM;
+ return phorum_db_update_settings(array("mod_htmlpurifier"=>$PHORUM["mod_htmlpurifier"]));
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/release1-update.php b/vendor/ezyang/htmlpurifier/release1-update.php
new file mode 100644
index 000000000..834d38567
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/release1-update.php
@@ -0,0 +1,110 @@
+<?php
+
+// release script
+// PHP 5.0 only
+
+if (php_sapi_name() != 'cli') {
+ echo 'Release script cannot be called from web-browser.';
+ exit;
+}
+
+if (!isset($argv[1])) {
+ echo
+'php release.php [version]
+ HTML Purifier release script
+';
+ exit;
+}
+
+$version = trim($argv[1]);
+
+// Bump version numbers:
+
+// ...in VERSION
+file_put_contents('VERSION', $version);
+
+// ...in NEWS
+if ($is_dev = (strpos($version, 'dev') === false)) {
+ $date = date('Y-m-d');
+ $news_c = str_replace(
+ $l = "$version, unknown release date",
+ "$version, released $date",
+ file_get_contents('NEWS'),
+ $c
+ );
+ if (!$c) {
+ echo 'Could not update NEWS, missing ' . $l . PHP_EOL;
+ exit;
+ } elseif ($c > 1) {
+ echo 'More than one release declaration in NEWS replaced' . PHP_EOL;
+ exit;
+ }
+ file_put_contents('NEWS', $news_c);
+}
+
+// ...in Doxyfile
+$doxyfile_c = preg_replace(
+ '/(?<=PROJECT_NUMBER {9}= )[^\s]+/m', // brittle
+ $version,
+ file_get_contents('Doxyfile'),
+ 1, $c
+);
+if (!$c) {
+ echo 'Could not update Doxyfile, missing PROJECT_NUMBER.' . PHP_EOL;
+ exit;
+}
+file_put_contents('Doxyfile', $doxyfile_c);
+
+// ...in HTMLPurifier.php
+$htmlpurifier_c = file_get_contents('library/HTMLPurifier.php');
+$htmlpurifier_c = preg_replace(
+ '/HTML Purifier .+? - /',
+ "HTML Purifier $version - ",
+ $htmlpurifier_c,
+ 1, $c
+);
+if (!$c) {
+ echo 'Could not update HTMLPurifier.php, missing HTML Purifier [version] header.' . PHP_EOL;
+ exit;
+}
+$htmlpurifier_c = preg_replace(
+ '/public \$version = \'.+?\';/',
+ "public \$version = '$version';",
+ $htmlpurifier_c,
+ 1, $c
+);
+if (!$c) {
+ echo 'Could not update HTMLPurifier.php, missing public $version.' . PHP_EOL;
+ exit;
+}
+$htmlpurifier_c = preg_replace(
+ '/const VERSION = \'.+?\';/',
+ "const VERSION = '$version';",
+ $htmlpurifier_c,
+ 1, $c
+);
+if (!$c) {
+ echo 'Could not update HTMLPurifier.php, missing const $version.' . PHP_EOL;
+ exit;
+}
+file_put_contents('library/HTMLPurifier.php', $htmlpurifier_c);
+
+$config_c = file_get_contents('library/HTMLPurifier/Config.php');
+$config_c = preg_replace(
+ '/public \$version = \'.+?\';/',
+ "public \$version = '$version';",
+ $config_c,
+ 1, $c
+);
+if (!$c) {
+ echo 'Could not update Config.php, missing public $version.' . PHP_EOL;
+ exit;
+}
+file_put_contents('library/HTMLPurifier/Config.php', $config_c);
+
+passthru('php maintenance/flush.php');
+
+if ($is_dev) echo "Review changes, write something in WHATSNEW and FOCUS, and then commit with log 'Release $version.'" . PHP_EOL;
+else echo "Numbers updated to dev, no other modifications necessary!";
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/release2-tag.php b/vendor/ezyang/htmlpurifier/release2-tag.php
new file mode 100644
index 000000000..25e5300d8
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/release2-tag.php
@@ -0,0 +1,22 @@
+<?php
+
+// Tags releases
+
+if (php_sapi_name() != 'cli') {
+ echo 'Release script cannot be called from web-browser.';
+ exit;
+}
+
+require 'svn.php';
+
+$svn_info = my_svn_info('.');
+
+$version = trim(file_get_contents('VERSION'));
+
+$trunk_url = $svn_info['Repository Root'] . '/htmlpurifier/trunk';
+$trunk_tag_url = $svn_info['Repository Root'] . '/htmlpurifier/tags/' . $version;
+
+echo "Tagging trunk to tags/$version...";
+passthru("svn copy --message \"Tag $version release.\" $trunk_url $trunk_tag_url");
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/test-settings.sample.php b/vendor/ezyang/htmlpurifier/test-settings.sample.php
new file mode 100644
index 000000000..480b66279
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/test-settings.sample.php
@@ -0,0 +1,74 @@
+<?php
+
+// ATTENTION! DO NOT EDIT THIS FILE!
+// This file is necessary to run the unit tests and profiling scripts.
+// Please copy it to 'test-settings.php' and make the necessary edits.
+
+// Note: The only external library you *need* is SimpleTest; everything else
+// is optional.
+
+// We've got a lot of tests, so we recommend turning the limit off.
+set_time_limit(0);
+
+// Turning off output buffering will prevent mysterious errors from core dumps.
+$data = @ob_get_clean();
+if ($data !== false && $data !== '') {
+ echo "Output buffer contains data [".urlencode($data)."]\n";
+ exit;
+}
+
+// -----------------------------------------------------------------------------
+// REQUIRED SETTINGS
+
+// Note on running SimpleTest:
+// You want the Git copy of SimpleTest, found here:
+// https://github.com/simpletest/simpletest/
+//
+// If SimpleTest is borked with HTML Purifier, please contact me or
+// the SimpleTest devs; I am a developer for SimpleTest so I should be
+// able to quickly assess a fix. SimpleTest's problem is my problem!
+
+// Where is SimpleTest located? Remember to include a trailing slash!
+$simpletest_location = '/path/to/simpletest/';
+
+// -----------------------------------------------------------------------------
+// OPTIONAL SETTINGS
+
+// Note on running PHPT:
+// Vanilla PHPT from https://github.com/tswicegood/PHPT_Core should
+// work fine on Linux w/o multitest.
+//
+// To do multitest or Windows testing, you'll need some more
+// patches at https://github.com/ezyang/PHPT_Core
+//
+// I haven't tested the Windows setup in a while so I don't know if
+// it still works.
+
+// Should PHPT tests be enabled?
+$GLOBALS['HTMLPurifierTest']['PHPT'] = false;
+
+// If PHPT isn't in your Path via PEAR, set that here:
+// set_include_path('/path/to/phpt/Core/src' . PATH_SEPARATOR . get_include_path());
+
+// Where is CSSTidy located? (Include trailing slash. Leave false to disable.)
+$csstidy_location = false;
+
+// For tests/multitest.php, which versions to test?
+$versions_to_test = array();
+
+// Stable PHP binary to use when invoking maintenance scripts.
+$php = 'php';
+
+// For tests/multitest.php, what is the multi-version executable? It must
+// accept an extra parameter (version number) before all other arguments
+$phpv = false;
+
+// Should PEAR tests be run? If you've got a valid PEAR installation, set this
+// to true (or, if it's not in the include path, to its install directory).
+$GLOBALS['HTMLPurifierTest']['PEAR'] = false;
+
+// If PEAR is enabled, what PEAR tests should be run? (Note: you will
+// need to ensure these libraries are installed)
+$GLOBALS['HTMLPurifierTest']['Net_IDNA2'] = true;
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/test-settings.travis.php b/vendor/ezyang/htmlpurifier/test-settings.travis.php
new file mode 100644
index 000000000..b1edce4aa
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/test-settings.travis.php
@@ -0,0 +1,72 @@
+<?php
+
+// This file is the configuration for Travis testing.
+
+// Note: The only external library you *need* is SimpleTest; everything else
+// is optional.
+
+// We've got a lot of tests, so we recommend turning the limit off.
+set_time_limit(0);
+
+// Turning off output buffering will prevent mysterious errors from core dumps.
+$data = @ob_get_clean();
+if ($data !== false && $data !== '') {
+ echo "Output buffer contains data [".urlencode($data)."]\n";
+ exit;
+}
+
+// -----------------------------------------------------------------------------
+// REQUIRED SETTINGS
+
+// Note on running SimpleTest:
+// You want the Git copy of SimpleTest, found here:
+// https://github.com/simpletest/simpletest/
+//
+// If SimpleTest is borked with HTML Purifier, please contact me or
+// the SimpleTest devs; I am a developer for SimpleTest so I should be
+// able to quickly assess a fix. SimpleTest's problem is my problem!
+
+// Where is SimpleTest located? Remember to include a trailing slash!
+$simpletest_location = dirname(__FILE__) . '/simpletest/';
+
+// -----------------------------------------------------------------------------
+// OPTIONAL SETTINGS
+
+// Note on running PHPT:
+// Vanilla PHPT from https://github.com/tswicegood/PHPT_Core should
+// work fine on Linux w/o multitest.
+//
+// To do multitest or Windows testing, you'll need some more
+// patches at https://github.com/ezyang/PHPT_Core
+//
+// I haven't tested the Windows setup in a while so I don't know if
+// it still works.
+
+// Should PHPT tests be enabled?
+$GLOBALS['HTMLPurifierTest']['PHPT'] = false;
+
+// If PHPT isn't in your Path via PEAR, set that here:
+// set_include_path('/path/to/phpt/Core/src' . PATH_SEPARATOR . get_include_path());
+
+// Where is CSSTidy located? (Include trailing slash. Leave false to disable.)
+$csstidy_location = false;
+
+// For tests/multitest.php, which versions to test?
+$versions_to_test = array();
+
+// Stable PHP binary to use when invoking maintenance scripts.
+$php = 'php';
+
+// For tests/multitest.php, what is the multi-version executable? It must
+// accept an extra parameter (version number) before all other arguments
+$phpv = false;
+
+// Should PEAR tests be run? If you've got a valid PEAR installation, set this
+// to true (or, if it's not in the include path, to its install directory).
+$GLOBALS['HTMLPurifierTest']['PEAR'] = false;
+
+// If PEAR is enabled, what PEAR tests should be run? (Note: you will
+// need to ensure these libraries are installed)
+$GLOBALS['HTMLPurifierTest']['Net_IDNA2'] = true;
+
+// vim: et sw=4 sts=4
diff --git a/vendor/league/html-to-markdown/CHANGELOG.md b/vendor/league/html-to-markdown/CHANGELOG.md
new file mode 100644
index 000000000..067864412
--- /dev/null
+++ b/vendor/league/html-to-markdown/CHANGELOG.md
@@ -0,0 +1,214 @@
+# Change Log
+All notable changes to this project will be documented in this file.
+Updates should follow the [Keep a CHANGELOG](http://keepachangelog.com/) principles.
+
+## [Unreleased][unreleased]
+
+## [4.4.1]
+
+### Fixed
+ - Fixed autolinking of invalid URLs (#129)
+
+## [4.4.0]
+
+### Added
+ - Added `hard_break` configuration option (#112, #115)
+ - The `HtmlConverter` can now be instantiated with an `Environment` (#118)
+
+### Fixed
+ - Fixed handling of paragraphs in list item elements (#47, #110)
+ - Fixed phantom spaces when newlines follow `br` elements (#116, #117)
+ - Fixed link converter not sanitizing inner spaces properly (#119, #120)
+
+## [4.3.1]
+### Changed
+ - Revised the sanitization implementation (#109)
+
+### Fixed
+ - Fixed tag-like content not being escaped (#67, #109)
+ - Fixed thematic break-like content not being escaped (#65, #109)
+ - Fixed codefence-like content not being escaped (#64, #109)
+
+## [4.3.0]
+### Added
+ - Added full support for PHP 7.0 and 7.1
+
+### Changed
+ - Changed `<pre>` and `<pre><code>` conversions to use backticks instead of indendation (#102)
+
+### Fixed
+ - Fixed issue where specified code language was not preserved (#70, #102)
+ - Fixed issue where `<code>` tags nested in `<pre>` was not converted properly (#70, #102)
+ - Fixed header-like content not being escaped (#76, #105)
+ - Fixed blockquote-like content not being escaped (#77, #103)
+ - Fixed ordered list-like content not being escaped (#73, #106)
+ - Fixed unordered list-like content not being escaped (#71, #107)
+
+## [4.2.2]
+### Fixed
+ - Fixed sanitization bug which sometimes removes desired content (#63, #101)
+
+## [4.2.1]
+### Fixed
+ - Fixed path to autoload.php when used as a library (#98)
+ - Fixed edge case for tags containing only whitespace (#99)
+
+### Removed
+ - Removed double HTML entity decoding, as this is not desireable (#60)
+
+## [4.2.0]
+
+### Added
+ - Added the ability to invoke HtmlConverter objects as functions (#85)
+
+### Fixed
+ - Fixed improper handling of nested list items (#19 and #84)
+ - Fixed preceeding or trailing spaces within emphasis tags (#83)
+
+## [4.1.1]
+
+### Fixed
+ - Fixed conversion of empty paragraphs (#78)
+ - Fixed `preg_replace` so it wouldn't break UTF-8 characters (#79)
+
+## [4.1.0]
+
+### Added
+ - Added `bin/html-to-markdown` script
+
+### Changed
+ - Changed default italic character to `_` (#58)
+
+## [4.0.1]
+
+### Fixed
+ - Added escaping to avoid * and _ in a text being rendered as emphasis (#48)
+
+### Removed
+ - Removed the demo (#51)
+ - `.styleci.yml` and `CONTRIBUTING.md` are no longer included in distributions (#50)
+
+## [4.0.0]
+
+This release changes the visibility of several methods/properties. #42 and #43 brought to light that some visiblities were
+not ideally set, so this releases fixes that. Moving forwards this should reduce the chance of introducing BC-breaking changes.
+
+### Added
+ - Added new `HtmlConverter::getEnvironment()` method to expose the `Environment` (#42, #43)
+
+### Changed
+ - Changed `Environment::addConverter()` from `protected` to `public`, enabling custom converters to be added (#42, #43)
+ - Changed `HtmlConverter::createDOMDocument()` from `protected` to `private`
+ - Changed `Element::nextCached` from `protected` to `private`
+ - Made the `Environment` class `final`
+
+## [3.1.1]
+### Fixed
+ - Empty HTML strings now result in empty Markdown documents (#40, #41)
+
+## [3.1.0]
+### Added
+ - Added new `equals` method to `Element` to check for equality
+
+### Changes
+ - Use Linux line endings consistently instead of plaform-specific line endings (#36)
+
+### Fixed
+ - Cleaned up code style
+
+## [3.0.0]
+### Changed
+ - Changed namespace to `League\HTMLToMarkdown`
+ - Changed packagist name to `league/html-to-markdown`
+ - Re-organized code into several separate classes
+ - `<a>` tags with identical href and inner text are now rendered using angular bracket syntax (#31)
+ - `<div>` elements are now treated as block-level elements (#33)
+
+## [2.2.2]
+### Added
+ - Added support for PHP 5.6 and HHVM
+ - Enabled testing against PHP 7 nightlies
+ - Added this CHANGELOG.md
+
+### Fixed
+ - Fixed whitespace preservation between inline elements (#9 and #10)
+
+## [2.2.1]
+### Fixed
+ - Preserve placeholder links (#22)
+
+## [2.2.0]
+### Added
+ - Added CircleCI config
+
+### Changed
+ - `<pre>` blocks are now treated as code elements
+
+### Removed
+ - Dropped support for PHP 5.2
+ - Removed incorrect README comment regarding `#text` nodes (#17)
+
+## [2.1.2]
+### Added
+ - Added the ability to blacklist/remove specific node types (#11)
+
+### Changed
+ - Line breaks are now placed after divs instead of before them
+ - Newlines inside of link texts are now removed
+ - Updated the minimum PHPUnit version to 4.*
+
+## [2.1.1]
+### Added
+ - Added options to customize emphasis characters
+
+## [2.1.0]
+### Added
+ - Added option to strip HTML tags without Markdown equivalents
+ - Added `convert()` method for converter reuse
+ - Added ability to set options after instance construction
+ - Documented the required PHP extensions (#4)
+
+### Changed
+ - ATX style now used for h1 and h2 tags inside blockquotes
+
+### Fixed
+ - Newlines inside blockquotes are now started with a bracket
+ - Fixed some incorrect docblocks
+ - `__toString()` now returns an empty string if input is empty
+ - Convert head tag if body tag is empty (#7)
+ - Preserve special characters inside tags without md equivalents (#6)
+
+
+## [2.0.1]
+### Fixed
+ - Fixed first line indentation for multi-line code blocks
+ - Fixed consecutive anchors get separating spaces stripped (#3)
+
+## [2.0.0]
+### Added
+ - Initial release
+
+[unreleased]: https://github.com/thephpleague/html-to-markdown/compare/4.4.1...master
+[4.4.1]: https://github.com/thephpleague/html-to-markdown/compare/4.4.0...4.4.1
+[4.4.0]: https://github.com/thephpleague/html-to-markdown/compare/4.3.1...4.4.0
+[4.3.1]: https://github.com/thephpleague/html-to-markdown/compare/4.3.0...4.3.1
+[4.3.0]: https://github.com/thephpleague/html-to-markdown/compare/4.2.2...4.3.0
+[4.2.2]: https://github.com/thephpleague/html-to-markdown/compare/4.2.1...4.2.2
+[4.2.1]: https://github.com/thephpleague/html-to-markdown/compare/4.2.0...4.2.1
+[4.2.0]: https://github.com/thephpleague/html-to-markdown/compare/4.1.1...4.2.0
+[4.1.1]: https://github.com/thephpleague/html-to-markdown/compare/4.1.0...4.1.1
+[4.1.0]: https://github.com/thephpleague/html-to-markdown/compare/4.0.1...4.1.0
+[4.0.1]: https://github.com/thephpleague/html-to-markdown/compare/4.0.0...4.0.1
+[4.0.0]: https://github.com/thephpleague/html-to-markdown/compare/3.1.1...4.0.0
+[3.1.1]: https://github.com/thephpleague/html-to-markdown/compare/3.1.0...3.1.1
+[3.1.0]: https://github.com/thephpleague/html-to-markdown/compare/3.0.0...3.1.0
+[3.0.0]: https://github.com/thephpleague/html-to-markdown/compare/2.2.2...3.0.0
+[2.2.2]: https://github.com/thephpleague/html-to-markdown/compare/2.2.1...2.2.2
+[2.2.1]: https://github.com/thephpleague/html-to-markdown/compare/2.2.0...2.2.1
+[2.2.0]: https://github.com/thephpleague/html-to-markdown/compare/2.1.2...2.2.0
+[2.1.2]: https://github.com/thephpleague/html-to-markdown/compare/2.1.1...2.1.2
+[2.1.1]: https://github.com/thephpleague/html-to-markdown/compare/2.1.0...2.1.1
+[2.1.0]: https://github.com/thephpleague/html-to-markdown/compare/2.0.1...2.1.0
+[2.0.1]: https://github.com/thephpleague/html-to-markdown/compare/2.0.0...2.0.1
+[2.0.0]: https://github.com/thephpleague/html-to-markdown/compare/775f91e...2.0.0
+
diff --git a/vendor/league/html-to-markdown/CONDUCT.md b/vendor/league/html-to-markdown/CONDUCT.md
new file mode 100644
index 000000000..01b8644f1
--- /dev/null
+++ b/vendor/league/html-to-markdown/CONDUCT.md
@@ -0,0 +1,22 @@
+# Contributor Code of Conduct
+
+As contributors and maintainers of this project, and in the interest of fostering an open and welcoming community, we pledge to respect all people who contribute through reporting issues, posting feature requests, updating documentation, submitting pull requests or patches, and other activities.
+
+We are committed to making participation in this project a harassment-free experience for everyone, regardless of level of experience, gender, gender identity and expression, sexual orientation, disability, personal appearance, body size, race, ethnicity, age, religion, or nationality.
+
+Examples of unacceptable behavior by participants include:
+
+* The use of sexualized language or imagery
+* Personal attacks
+* Trolling or insulting/derogatory comments
+* Public or private harassment
+* Publishing other's private information, such as physical or electronic addresses, without explicit permission
+* Other unethical or unprofessional conduct.
+
+Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct. By adopting this Code of Conduct, project maintainers commit themselves to fairly and consistently applying these principles to every aspect of managing this project. Project maintainers who do not follow or enforce the Code of Conduct may be permanently removed from the project team.
+
+This code of conduct applies both within project spaces and in public spaces when an individual is representing the project or its community.
+
+Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by opening an issue or contacting one or more of the project maintainers.
+
+This Code of Conduct is adapted from the [Contributor Covenant](http://contributor-covenant.org), version 1.2.0, available at [http://contributor-covenant.org/version/1/2/0/](http://contributor-covenant.org/version/1/2/0/)
diff --git a/vendor/league/html-to-markdown/LICENSE b/vendor/league/html-to-markdown/LICENSE
new file mode 100644
index 000000000..6c04a59dd
--- /dev/null
+++ b/vendor/league/html-to-markdown/LICENSE
@@ -0,0 +1,22 @@
+The MIT License (MIT)
+
+Copyright (c) 2015 Colin O'Dell
+
+Originally created by Nick Cernis
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal in
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
+the Software, and to permit persons to whom the Software is furnished to do so,
+subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
+FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
+COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file
diff --git a/vendor/league/html-to-markdown/README.md b/vendor/league/html-to-markdown/README.md
new file mode 100644
index 000000000..8d75649d6
--- /dev/null
+++ b/vendor/league/html-to-markdown/README.md
@@ -0,0 +1,196 @@
+HTML To Markdown for PHP
+========================
+
+[![Join the chat at https://gitter.im/thephpleague/html-to-markdown](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/thephpleague/html-to-markdown?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
+
+[![Latest Version](https://img.shields.io/packagist/v/league/html-to-markdown.svg?style=flat-square)](https://packagist.org/packages/league/html-to-markdown)
+[![Software License](http://img.shields.io/badge/license-MIT-brightgreen.svg?style=flat-square)](LICENSE)
+[![Build Status](https://img.shields.io/travis/thephpleague/html-to-markdown/master.svg?style=flat-square)](https://travis-ci.org/thephpleague/html-to-markdown)
+[![Coverage Status](https://img.shields.io/scrutinizer/coverage/g/thephpleague/html-to-markdown.svg?style=flat-square)](https://scrutinizer-ci.com/g/thephpleague/html-to-markdown/code-structure)
+[![Quality Score](https://img.shields.io/scrutinizer/g/thephpleague/html-to-markdown.svg?style=flat-square)](https://scrutinizer-ci.com/g/thephpleague/html-to-markdown)
+[![Total Downloads](https://img.shields.io/packagist/dt/league/html-to-markdown.svg?style=flat-square)](https://packagist.org/packages/league/html-to-markdown)
+
+Library which converts HTML to [Markdown](http://daringfireball.net/projects/markdown/) for your sanity and convenience.
+
+
+**Requires**: PHP 5.3+
+
+**Lead Developer**: [@colinodell](http://twitter.com/colinodell)
+
+**Original Author**: [@nickcernis](http://twitter.com/nickcernis)
+
+
+### Why convert HTML to Markdown?
+
+*"What alchemy is this?"* you mutter. *"I can see why you'd convert [Markdown to HTML](https://github.com/thephpleague/commonmark),"* you continue, already labouring the question somewhat, *"but why go the other way?"*
+
+Typically you would convert HTML to Markdown if:
+
+1. You have an existing HTML document that needs to be edited by people with good taste.
+2. You want to store new content in HTML format but edit it as Markdown.
+3. You want to convert HTML email to plain text email.
+4. You know a guy who's been converting HTML to Markdown for years, and now he can speak Elvish. You'd quite like to be able to speak Elvish.
+5. You just really like Markdown.
+
+### How to use it
+
+Require the library by issuing this command:
+
+```bash
+composer require league/html-to-markdown
+```
+
+Add `require 'vendor/autoload.php';` to the top of your script.
+
+Next, create a new HtmlConverter instance, passing in your valid HTML code to its `convert()` function:
+
+```php
+use League\HTMLToMarkdown\HtmlConverter;
+
+$converter = new HtmlConverter();
+
+$html = "<h3>Quick, to the Batpoles!</h3>";
+$markdown = $converter->convert($html);
+```
+
+The `$markdown` variable now contains the Markdown version of your HTML as a string:
+
+```php
+echo $markdown; // ==> ### Quick, to the Batpoles!
+```
+
+The included `demo` directory contains an HTML->Markdown conversion form to try out.
+
+### Conversion options
+
+By default, HTML To Markdown preserves HTML tags without Markdown equivalents, like `<span>` and `<div>`.
+
+To strip HTML tags that don't have a Markdown equivalent while preserving the content inside them, set `strip_tags` to true, like this:
+
+```php
+$converter = new HtmlConverter(array('strip_tags' => true));
+
+$html = '<span>Turnips!</span>';
+$markdown = $converter->convert($html); // $markdown now contains "Turnips!"
+```
+
+Or more explicitly, like this:
+
+```php
+$converter = new HtmlConverter();
+$converter->getConfig()->setOption('strip_tags', true);
+
+$html = '<span>Turnips!</span>';
+$markdown = $converter->convert($html); // $markdown now contains "Turnips!"
+```
+
+Note that only the tags themselves are stripped, not the content they hold.
+
+To strip tags and their content, pass a space-separated list of tags in `remove_nodes`, like this:
+
+```php
+$converter = new HtmlConverter(array('remove_nodes' => 'span div'));
+
+$html = '<span>Turnips!</span><div>Monkeys!</div>';
+$markdown = $converter->convert($html); // $markdown now contains ""
+```
+
+### Style options
+
+Bold and italic tags are converted using the asterisk syntax by default. Change this to the underlined syntax using the `bold_style` and `italic_style` options.
+
+```php
+$converter = new HtmlConverter();
+$converter->getConfig()->setOption('italic_style', '_');
+$converter->getConfig()->setOption('bold_style', '__');
+
+$html = '<em>Italic</em> and a <strong>bold</strong>';
+$markdown = $converter->convert($html); // $markdown now contains "_Italic_ and a __bold__"
+```
+
+### Line break options
+
+By default, `br` tags are converted to two spaces followed by a newline character as per [traditional Markdown](https://daringfireball.net/projects/markdown/syntax#p). Set `hard_break` to `true` to omit the two spaces, as per GitHub Flavored Markdown (GFM).
+
+```php
+$converter = new HtmlConverter();
+$html = '<p>test<br>line break</p>';
+
+$converter->getConfig()->setOption('hard_break', true);
+$markdown = $converter->convert($html); // $markdown now contains "test\nline break"
+
+$converter->getConfig()->setOption('hard_break', false); // default
+$markdown = $converter->convert($html); // $markdown now contains "test \nline break"
+```
+
+### Passing custom Environment object
+
+You can pass current `Environment` object to customize i.e. which converters should be used.
+
+```php
+$environment = new Environment(array(
+ // your configuration here
+));
+$environment->addConverter(new HeaderConverter()); // optionally - add converter manually
+
+$converter = new HtmlConverter($environment);
+
+$html = '<h3>Header</h3>
+<img src="" />
+';
+$markdown = $converter->convert($html); // $markdown now contains "### Header" and "<img src="" />"
+```
+
+### Limitations
+
+- Markdown Extra, MultiMarkdown and other variants aren't supported – just Markdown.
+
+### Known issues
+
+- Nested lists and lists containing multiple paragraphs aren't converted correctly.
+- Lists inside blockquotes aren't converted correctly.
+- Any reported [open issues here](https://github.com/thephpleague/html-to-markdown/issues?state=open).
+
+[Report your issue or request a feature here.](https://github.com/thephpleague/html-to-markdown/issues/new) Issues with patches or failing tests are especially welcome.
+
+### Style notes
+
+- Setext (underlined) headers are the default for H1 and H2. If you prefer the ATX style for H1 and H2 (# Header 1 and ## Header 2), set `header_style` to 'atx' in the options array when you instantiate the object:
+
+ `$converter = new HtmlConverter(array('header_style'=>'atx'));`
+
+ Headers of H3 priority and lower always use atx style.
+
+- Links and images are referenced inline. Footnote references (where image src and anchor href attributes are listed in the footnotes) are not used.
+- Blockquotes aren't line wrapped – it makes the converted Markdown easier to edit.
+
+### Dependencies
+
+HTML To Markdown requires PHP's [xml](http://www.php.net/manual/en/xml.installation.php), [lib-xml](http://www.php.net/manual/en/libxml.installation.php), and [dom](http://www.php.net/manual/en/dom.installation.php) extensions, all of which are enabled by default on most distributions.
+
+Errors such as "Fatal error: Class 'DOMDocument' not found" on distributions such as CentOS that disable PHP's xml extension can be resolved by installing php-xml.
+
+### Contributors
+
+Many thanks to all [contributors](https://github.com/thephpleague/html-to-markdown/graphs/contributors) so far. Further improvements and feature suggestions are very welcome.
+
+### How it works
+
+HTML To Markdown creates a DOMDocument from the supplied HTML, walks through the tree, and converts each node to a text node containing the equivalent markdown, starting from the most deeply nested node and working inwards towards the root node.
+
+### To-do
+
+- Support for nested lists and lists inside blockquotes.
+- Offer an option to preserve tags as HTML if they contain attributes that can't be represented with Markdown (e.g. `style`).
+
+### Trying to convert Markdown to HTML?
+
+Use one of these great libraries:
+
+ - [league/commonmark](https://github.com/thephpleague/commonmark) (recommended)
+ - [cebe/markdown](https://github.com/cebe/markdown)
+ - [PHP Markdown](https://michelf.ca/projects/php-markdown/)
+ - [Parsedown](https://github.com/erusev/parsedown)
+
+No guarantees about the Elvish, though.
+
diff --git a/vendor/league/html-to-markdown/bin/html-to-markdown b/vendor/league/html-to-markdown/bin/html-to-markdown
new file mode 100755
index 000000000..2815a7cef
--- /dev/null
+++ b/vendor/league/html-to-markdown/bin/html-to-markdown
@@ -0,0 +1,108 @@
+#!/usr/bin/env php
+<?php
+
+requireAutoloader();
+
+ini_set('display_errors', 'stderr');
+
+foreach ($argv as $i => $arg) {
+ if ($i === 0) {
+ continue;
+ }
+
+ if (substr($arg, 0, 1) === '-') {
+ switch ($arg) {
+ case '-h':
+ case '--help':
+ echo getHelpText();
+ exit(0);
+ default:
+ fail('Unknown option: ' . $arg);
+ }
+ } else {
+ $src = $argv[1];
+ }
+}
+
+if (isset($src)) {
+ if (!file_exists($src)) {
+ fail('File not found: ' . $src);
+ }
+
+ $html = file_get_contents($src);
+} else {
+ $stdin = fopen('php://stdin', 'r');
+ stream_set_blocking($stdin, false);
+ $html = stream_get_contents($stdin);
+ fclose($stdin);
+
+ if (empty($html)) {
+ fail(getHelpText());
+ }
+}
+
+
+$converter = new League\HTMLToMarkdown\HtmlConverter();
+echo $converter->convert($html);
+
+/**
+ * Get help and usage info
+ *
+ * @return string
+ */
+function getHelpText()
+{
+ return <<<HELP
+HTML To Markdown
+
+Usage: html-to-markdown [OPTIONS] [FILE]
+
+ -h, --help Shows help and usage information
+
+ If no file is given, input will be read from STDIN
+
+Examples:
+
+ Converting a file named document.html:
+
+ html-to-markdown document.html
+
+ Converting a file and saving its output:
+
+ html-to-markdown document.html > output.md
+
+ Converting from STDIN:
+
+ echo -e '<h1>Hello World!</h1>' | html-to-markdown
+
+ Converting from STDIN and saving the output:
+
+ echo -e '<h1>Hello World!</h1>' | html-to-markdown > output.md
+
+HELP;
+}
+
+/**
+ * @param string $message Error message
+ */
+function fail($message)
+{
+ fwrite(STDERR, $message . "\n");
+ exit(1);
+}
+
+function requireAutoloader()
+{
+ $autoloadPaths = array(
+ // Local package usage
+ __DIR__ . '/../vendor/autoload.php',
+ // Package was included as a library
+ __DIR__ . '/../../../autoload.php',
+ );
+ foreach ($autoloadPaths as $path) {
+ if (file_exists($path)) {
+ require_once $path;
+ break;
+ }
+ }
+}
diff --git a/vendor/league/html-to-markdown/composer.json b/vendor/league/html-to-markdown/composer.json
new file mode 100644
index 000000000..58764bcb5
--- /dev/null
+++ b/vendor/league/html-to-markdown/composer.json
@@ -0,0 +1,48 @@
+{
+ "name": "league/html-to-markdown",
+ "type": "library",
+ "description": "An HTML-to-markdown conversion helper for PHP",
+ "keywords": ["markdown", "html"],
+ "homepage": "https://github.com/thephpleague/html-to-markdown",
+ "license": "MIT",
+ "authors": [
+ {
+ "name": "Colin O'Dell",
+ "email": "colinodell@gmail.com",
+ "homepage": "http://www.colinodell.com",
+ "role": "Lead Developer"
+ },
+ {
+ "name": "Nick Cernis",
+ "email": "nick@cern.is",
+ "homepage": "http://modernnerd.net",
+ "role": "Original Author"
+ }
+ ],
+ "autoload": {
+ "psr-4": {
+ "League\\HTMLToMarkdown\\": "src/"
+ }
+ },
+ "autoload-dev": {
+ "psr-4": {
+ "League\\HTMLToMarkdown\\Test\\": "tests"
+ }
+ },
+ "require": {
+ "php": ">=5.3.3",
+ "ext-dom": "*",
+ "ext-xml": "*"
+ },
+ "require-dev": {
+ "mikehaertl/php-shellcommand": "~1.1.0",
+ "phpunit/phpunit": "4.*",
+ "scrutinizer/ocular": "~1.1"
+ },
+ "bin": ["bin/html-to-markdown"],
+ "extra": {
+ "branch-alias": {
+ "dev-master": "4.5-dev"
+ }
+ }
+}
diff --git a/vendor/league/html-to-markdown/src/Configuration.php b/vendor/league/html-to-markdown/src/Configuration.php
new file mode 100644
index 000000000..2943383aa
--- /dev/null
+++ b/vendor/league/html-to-markdown/src/Configuration.php
@@ -0,0 +1,60 @@
+<?php
+
+namespace League\HTMLToMarkdown;
+
+class Configuration
+{
+ protected $config;
+
+ /**
+ * @param array $config
+ */
+ public function __construct(array $config = array())
+ {
+ $this->config = $config;
+ }
+
+ /**
+ * @param array $config
+ */
+ public function merge(array $config = array())
+ {
+ $this->config = array_replace_recursive($this->config, $config);
+ }
+
+ /**
+ * @param array $config
+ */
+ public function replace(array $config = array())
+ {
+ $this->config = $config;
+ }
+
+ /**
+ * @param string $key
+ * @param mixed $value
+ */
+ public function setOption($key, $value)
+ {
+ $this->config[$key] = $value;
+ }
+
+ /**
+ * @param string|null $key
+ * @param mixed|null $default
+ *
+ * @return mixed|null
+ */
+ public function getOption($key = null, $default = null)
+ {
+ if ($key === null) {
+ return $this->config;
+ }
+
+ if (!isset($this->config[$key])) {
+ return $default;
+ }
+
+ return $this->config[$key];
+ }
+}
diff --git a/vendor/league/html-to-markdown/src/ConfigurationAwareInterface.php b/vendor/league/html-to-markdown/src/ConfigurationAwareInterface.php
new file mode 100644
index 000000000..8aca530be
--- /dev/null
+++ b/vendor/league/html-to-markdown/src/ConfigurationAwareInterface.php
@@ -0,0 +1,11 @@
+<?php
+
+namespace League\HTMLToMarkdown;
+
+interface ConfigurationAwareInterface
+{
+ /**
+ * @param Configuration $config
+ */
+ public function setConfig(Configuration $config);
+}
diff --git a/vendor/league/html-to-markdown/src/Converter/BlockquoteConverter.php b/vendor/league/html-to-markdown/src/Converter/BlockquoteConverter.php
new file mode 100644
index 000000000..eb2d09d17
--- /dev/null
+++ b/vendor/league/html-to-markdown/src/Converter/BlockquoteConverter.php
@@ -0,0 +1,44 @@
+<?php
+
+namespace League\HTMLToMarkdown\Converter;
+
+use League\HTMLToMarkdown\ElementInterface;
+
+class BlockquoteConverter implements ConverterInterface
+{
+ /**
+ * @param ElementInterface $element
+ *
+ * @return string
+ */
+ public function convert(ElementInterface $element)
+ {
+ // Contents should have already been converted to Markdown by this point,
+ // so we just need to add '>' symbols to each line.
+
+ $markdown = '';
+
+ $quote_content = trim($element->getValue());
+
+ $lines = preg_split('/\r\n|\r|\n/', $quote_content);
+
+ $total_lines = count($lines);
+
+ foreach ($lines as $i => $line) {
+ $markdown .= '> ' . $line . "\n";
+ if ($i + 1 === $total_lines) {
+ $markdown .= "\n";
+ }
+ }
+
+ return $markdown;
+ }
+
+ /**
+ * @return string[]
+ */
+ public function getSupportedTags()
+ {
+ return array('blockquote');
+ }
+}
diff --git a/vendor/league/html-to-markdown/src/Converter/CodeConverter.php b/vendor/league/html-to-markdown/src/Converter/CodeConverter.php
new file mode 100644
index 000000000..c8ec2c005
--- /dev/null
+++ b/vendor/league/html-to-markdown/src/Converter/CodeConverter.php
@@ -0,0 +1,62 @@
+<?php
+
+namespace League\HTMLToMarkdown\Converter;
+
+use League\HTMLToMarkdown\ElementInterface;
+
+class CodeConverter implements ConverterInterface
+{
+ /**
+ * @param ElementInterface $element
+ *
+ * @return string
+ */
+ public function convert(ElementInterface $element)
+ {
+ $language = null;
+
+ // Checking for language class on the code block
+ $classes = $element->getAttribute('class');
+
+ if ($classes) {
+ // Since tags can have more than one class, we need to find the one that starts with 'language-'
+ $classes = explode(' ', $classes);
+ foreach ($classes as $class) {
+ if (strpos($class, 'language-') !== false) {
+ // Found one, save it as the selected language and stop looping over the classes.
+ // The space after the language avoids gluing the actual code with the language tag
+ $language = str_replace('language-', '', $class) . ' ';
+ break;
+ }
+ }
+ }
+
+ $markdown = '';
+ $code = html_entity_decode($element->getChildrenAsString());
+
+ // In order to remove the code tags we need to search for them and, in the case of the opening tag
+ // use a regular expression to find the tag and the other attributes it might have
+ $code = preg_replace('/<code\b[^>]*>/', '', $code);
+ $code = str_replace('</code>', '', $code);
+
+ // Checking if the code has multiple lines
+ $lines = preg_split('/\r\n|\r|\n/', $code);
+ if (count($lines) > 1) {
+ // Multiple lines detected, adding three backticks and newlines
+ $markdown .= '```' . $language . "\n" . $code . "\n" . '```';
+ } else {
+ // One line of code, wrapping it on one backtick.
+ $markdown .= '`' . $language . $code . '`';
+ }
+
+ return $markdown;
+ }
+
+ /**
+ * @return string[]
+ */
+ public function getSupportedTags()
+ {
+ return array('code');
+ }
+}
diff --git a/vendor/league/html-to-markdown/src/Converter/CommentConverter.php b/vendor/league/html-to-markdown/src/Converter/CommentConverter.php
new file mode 100644
index 000000000..55038b254
--- /dev/null
+++ b/vendor/league/html-to-markdown/src/Converter/CommentConverter.php
@@ -0,0 +1,26 @@
+<?php
+
+namespace League\HTMLToMarkdown\Converter;
+
+use League\HTMLToMarkdown\ElementInterface;
+
+class CommentConverter implements ConverterInterface
+{
+ /**
+ * @param ElementInterface $element
+ *
+ * @return string
+ */
+ public function convert(ElementInterface $element)
+ {
+ return '';
+ }
+
+ /**
+ * @return string[]
+ */
+ public function getSupportedTags()
+ {
+ return array('#comment');
+ }
+}
diff --git a/vendor/league/html-to-markdown/src/Converter/ConverterInterface.php b/vendor/league/html-to-markdown/src/Converter/ConverterInterface.php
new file mode 100644
index 000000000..8530559a0
--- /dev/null
+++ b/vendor/league/html-to-markdown/src/Converter/ConverterInterface.php
@@ -0,0 +1,20 @@
+<?php
+
+namespace League\HTMLToMarkdown\Converter;
+
+use League\HTMLToMarkdown\ElementInterface;
+
+interface ConverterInterface
+{
+ /**
+ * @param ElementInterface $element
+ *
+ * @return string
+ */
+ public function convert(ElementInterface $element);
+
+ /**
+ * @return string[]
+ */
+ public function getSupportedTags();
+}
diff --git a/vendor/league/html-to-markdown/src/Converter/DefaultConverter.php b/vendor/league/html-to-markdown/src/Converter/DefaultConverter.php
new file mode 100644
index 000000000..964a71093
--- /dev/null
+++ b/vendor/league/html-to-markdown/src/Converter/DefaultConverter.php
@@ -0,0 +1,50 @@
+<?php
+
+namespace League\HTMLToMarkdown\Converter;
+
+use League\HTMLToMarkdown\Configuration;
+use League\HTMLToMarkdown\ConfigurationAwareInterface;
+use League\HTMLToMarkdown\ElementInterface;
+
+class DefaultConverter implements ConverterInterface, ConfigurationAwareInterface
+{
+ const DEFAULT_CONVERTER = '_default';
+
+ /**
+ * @var Configuration
+ */
+ protected $config;
+
+ /**
+ * @param Configuration $config
+ */
+ public function setConfig(Configuration $config)
+ {
+ $this->config = $config;
+ }
+
+ /**
+ * @param ElementInterface $element
+ *
+ * @return string
+ */
+ public function convert(ElementInterface $element)
+ {
+ // If strip_tags is false (the default), preserve tags that don't have Markdown equivalents,
+ // such as <span> nodes on their own. C14N() canonicalizes the node to a string.
+ // See: http://www.php.net/manual/en/domnode.c14n.php
+ if ($this->config->getOption('strip_tags', false)) {
+ return $element->getValue();
+ }
+
+ return html_entity_decode($element->getChildrenAsString());
+ }
+
+ /**
+ * @return string[]
+ */
+ public function getSupportedTags()
+ {
+ return array(self::DEFAULT_CONVERTER);
+ }
+}
diff --git a/vendor/league/html-to-markdown/src/Converter/DivConverter.php b/vendor/league/html-to-markdown/src/Converter/DivConverter.php
new file mode 100644
index 000000000..656a0ba4d
--- /dev/null
+++ b/vendor/league/html-to-markdown/src/Converter/DivConverter.php
@@ -0,0 +1,45 @@
+<?php
+
+namespace League\HTMLToMarkdown\Converter;
+
+use League\HTMLToMarkdown\Configuration;
+use League\HTMLToMarkdown\ConfigurationAwareInterface;
+use League\HTMLToMarkdown\ElementInterface;
+
+class DivConverter implements ConverterInterface, ConfigurationAwareInterface
+{
+ /**
+ * @var Configuration
+ */
+ protected $config;
+
+ /**
+ * @param Configuration $config
+ */
+ public function setConfig(Configuration $config)
+ {
+ $this->config = $config;
+ }
+
+ /**
+ * @param ElementInterface $element
+ *
+ * @return string
+ */
+ public function convert(ElementInterface $element)
+ {
+ if ($this->config->getOption('strip_tags', false)) {
+ return $element->getValue() . "\n\n";
+ }
+
+ return html_entity_decode($element->getChildrenAsString());
+ }
+
+ /**
+ * @return string[]
+ */
+ public function getSupportedTags()
+ {
+ return array('div');
+ }
+}
diff --git a/vendor/league/html-to-markdown/src/Converter/EmphasisConverter.php b/vendor/league/html-to-markdown/src/Converter/EmphasisConverter.php
new file mode 100644
index 000000000..67250769b
--- /dev/null
+++ b/vendor/league/html-to-markdown/src/Converter/EmphasisConverter.php
@@ -0,0 +1,57 @@
+<?php
+
+namespace League\HTMLToMarkdown\Converter;
+
+use League\HTMLToMarkdown\Configuration;
+use League\HTMLToMarkdown\ConfigurationAwareInterface;
+use League\HTMLToMarkdown\ElementInterface;
+
+class EmphasisConverter implements ConverterInterface, ConfigurationAwareInterface
+{
+ /**
+ * @var Configuration
+ */
+ protected $config;
+
+ /**
+ * @param Configuration $config
+ */
+ public function setConfig(Configuration $config)
+ {
+ $this->config = $config;
+ }
+
+ /**
+ * @param ElementInterface $element
+ *
+ * @return string
+ */
+ public function convert(ElementInterface $element)
+ {
+ $tag = $element->getTagName();
+ $value = $element->getValue();
+
+ if (!trim($value)) {
+ return '';
+ }
+
+ if ($tag === 'i' || $tag === 'em') {
+ $style = $this->config->getOption('italic_style');
+ } else {
+ $style = $this->config->getOption('bold_style');
+ }
+
+ $prefix = ltrim($value) !== $value ? ' ' : '';
+ $suffix = rtrim($value) !== $value ? ' ' : '';
+
+ return $prefix . $style . trim($value) . $style . $suffix;
+ }
+
+ /**
+ * @return string[]
+ */
+ public function getSupportedTags()
+ {
+ return array('em', 'i', 'strong', 'b');
+ }
+}
diff --git a/vendor/league/html-to-markdown/src/Converter/HardBreakConverter.php b/vendor/league/html-to-markdown/src/Converter/HardBreakConverter.php
new file mode 100644
index 000000000..37cd44e73
--- /dev/null
+++ b/vendor/league/html-to-markdown/src/Converter/HardBreakConverter.php
@@ -0,0 +1,41 @@
+<?php
+
+namespace League\HTMLToMarkdown\Converter;
+
+use League\HTMLToMarkdown\Configuration;
+use League\HTMLToMarkdown\ConfigurationAwareInterface;
+use League\HTMLToMarkdown\ElementInterface;
+
+class HardBreakConverter implements ConverterInterface, ConfigurationAwareInterface
+{
+ /**
+ * @var Configuration
+ */
+ protected $config;
+
+ /**
+ * @param Configuration $config
+ */
+ public function setConfig(Configuration $config)
+ {
+ $this->config = $config;
+ }
+
+ /**
+ * @param ElementInterface $element
+ *
+ * @return string
+ */
+ public function convert(ElementInterface $element)
+ {
+ return $this->config->getOption('hard_break') ? "\n" : " \n";
+ }
+
+ /**
+ * @return string[]
+ */
+ public function getSupportedTags()
+ {
+ return array('br');
+ }
+}
diff --git a/vendor/league/html-to-markdown/src/Converter/HeaderConverter.php b/vendor/league/html-to-markdown/src/Converter/HeaderConverter.php
new file mode 100644
index 000000000..d117e7d36
--- /dev/null
+++ b/vendor/league/html-to-markdown/src/Converter/HeaderConverter.php
@@ -0,0 +1,78 @@
+<?php
+
+namespace League\HTMLToMarkdown\Converter;
+
+use League\HTMLToMarkdown\Configuration;
+use League\HTMLToMarkdown\ConfigurationAwareInterface;
+use League\HTMLToMarkdown\ElementInterface;
+
+class HeaderConverter implements ConverterInterface, ConfigurationAwareInterface
+{
+ const STYLE_ATX = 'atx';
+ const STYLE_SETEXT = 'setext';
+
+ /**
+ * @var Configuration
+ */
+ protected $config;
+
+ /**
+ * @param Configuration $config
+ */
+ public function setConfig(Configuration $config)
+ {
+ $this->config = $config;
+ }
+
+ /**
+ * @param ElementInterface $element
+ *
+ * @return string
+ */
+ public function convert(ElementInterface $element)
+ {
+ $level = (int) substr($element->getTagName(), 1, 1);
+ $style = $this->config->getOption('header_style', self::STYLE_SETEXT);
+
+ if (($level === 1 || $level === 2) && !$element->isDescendantOf('blockquote') && $style === self::STYLE_SETEXT) {
+ return $this->createSetextHeader($level, $element->getValue());
+ }
+
+ return $this->createAtxHeader($level, $element->getValue());
+ }
+
+ /**
+ * @return string[]
+ */
+ public function getSupportedTags()
+ {
+ return array('h1', 'h2', 'h3', 'h4', 'h5', 'h6');
+ }
+
+ /**
+ * @param int $level
+ * @param string $content
+ *
+ * @return string
+ */
+ private function createSetextHeader($level, $content)
+ {
+ $length = function_exists('mb_strlen') ? mb_strlen($content, 'utf-8') : strlen($content);
+ $underline = ($level === 1) ? '=' : '-';
+
+ return $content . "\n" . str_repeat($underline, $length) . "\n\n";
+ }
+
+ /**
+ * @param int $level
+ * @param string $content
+ *
+ * @return string
+ */
+ private function createAtxHeader($level, $content)
+ {
+ $prefix = str_repeat('#', $level) . ' ';
+
+ return $prefix . $content . "\n\n";
+ }
+}
diff --git a/vendor/league/html-to-markdown/src/Converter/HorizontalRuleConverter.php b/vendor/league/html-to-markdown/src/Converter/HorizontalRuleConverter.php
new file mode 100644
index 000000000..8f54f9397
--- /dev/null
+++ b/vendor/league/html-to-markdown/src/Converter/HorizontalRuleConverter.php
@@ -0,0 +1,26 @@
+<?php
+
+namespace League\HTMLToMarkdown\Converter;
+
+use League\HTMLToMarkdown\ElementInterface;
+
+class HorizontalRuleConverter implements ConverterInterface
+{
+ /**
+ * @param ElementInterface $element
+ *
+ * @return string
+ */
+ public function convert(ElementInterface $element)
+ {
+ return "- - - - - -\n\n";
+ }
+
+ /**
+ * @return string[]
+ */
+ public function getSupportedTags()
+ {
+ return array('hr');
+ }
+}
diff --git a/vendor/league/html-to-markdown/src/Converter/ImageConverter.php b/vendor/league/html-to-markdown/src/Converter/ImageConverter.php
new file mode 100644
index 000000000..657c769c2
--- /dev/null
+++ b/vendor/league/html-to-markdown/src/Converter/ImageConverter.php
@@ -0,0 +1,35 @@
+<?php
+
+namespace League\HTMLToMarkdown\Converter;
+
+use League\HTMLToMarkdown\ElementInterface;
+
+class ImageConverter implements ConverterInterface
+{
+ /**
+ * @param ElementInterface $element
+ *
+ * @return string
+ */
+ public function convert(ElementInterface $element)
+ {
+ $src = $element->getAttribute('src');
+ $alt = $element->getAttribute('alt');
+ $title = $element->getAttribute('title');
+
+ if ($title !== '') {
+ // No newlines added. <img> should be in a block-level element.
+ return '![' . $alt . '](' . $src . ' "' . $title . '")';
+ }
+
+ return '![' . $alt . '](' . $src . ')';
+ }
+
+ /**
+ * @return string[]
+ */
+ public function getSupportedTags()
+ {
+ return array('img');
+ }
+}
diff --git a/vendor/league/html-to-markdown/src/Converter/LinkConverter.php b/vendor/league/html-to-markdown/src/Converter/LinkConverter.php
new file mode 100644
index 000000000..f0765f38b
--- /dev/null
+++ b/vendor/league/html-to-markdown/src/Converter/LinkConverter.php
@@ -0,0 +1,52 @@
+<?php
+
+namespace League\HTMLToMarkdown\Converter;
+
+use League\HTMLToMarkdown\ElementInterface;
+
+class LinkConverter implements ConverterInterface
+{
+ /**
+ * @param ElementInterface $element
+ *
+ * @return string
+ */
+ public function convert(ElementInterface $element)
+ {
+ $href = $element->getAttribute('href');
+ $title = $element->getAttribute('title');
+ $text = trim($element->getValue());
+
+ if ($title !== '') {
+ $markdown = '[' . $text . '](' . $href . ' "' . $title . '")';
+ } elseif ($href === $text && $this->isValidAutolink($href)) {
+ $markdown = '<' . $href . '>';
+ } else {
+ $markdown = '[' . $text . '](' . $href . ')';
+ }
+
+ if (!$href) {
+ $markdown = html_entity_decode($element->getChildrenAsString());
+ }
+
+ return $markdown;
+ }
+
+ /**
+ * @return string[]
+ */
+ public function getSupportedTags()
+ {
+ return array('a');
+ }
+
+ /**
+ * @param string $href
+ *
+ * @return bool
+ */
+ private function isValidAutolink($href)
+ {
+ return preg_match('/^[A-Za-z][A-Za-z0-9.+-]{1,31}:[^<>\x00-\x20]*/i', $href) === 1;
+ }
+}
diff --git a/vendor/league/html-to-markdown/src/Converter/ListBlockConverter.php b/vendor/league/html-to-markdown/src/Converter/ListBlockConverter.php
new file mode 100644
index 000000000..07a4c85a9
--- /dev/null
+++ b/vendor/league/html-to-markdown/src/Converter/ListBlockConverter.php
@@ -0,0 +1,26 @@
+<?php
+
+namespace League\HTMLToMarkdown\Converter;
+
+use League\HTMLToMarkdown\ElementInterface;
+
+class ListBlockConverter implements ConverterInterface
+{
+ /**
+ * @param ElementInterface $element
+ *
+ * @return string
+ */
+ public function convert(ElementInterface $element)
+ {
+ return $element->getValue() . "\n";
+ }
+
+ /**
+ * @return string[]
+ */
+ public function getSupportedTags()
+ {
+ return array('ol', 'ul');
+ }
+}
diff --git a/vendor/league/html-to-markdown/src/Converter/ListItemConverter.php b/vendor/league/html-to-markdown/src/Converter/ListItemConverter.php
new file mode 100644
index 000000000..dafec077c
--- /dev/null
+++ b/vendor/league/html-to-markdown/src/Converter/ListItemConverter.php
@@ -0,0 +1,47 @@
+<?php
+
+namespace League\HTMLToMarkdown\Converter;
+
+use League\HTMLToMarkdown\ElementInterface;
+
+class ListItemConverter implements ConverterInterface
+{
+ /**
+ * @param ElementInterface $element
+ *
+ * @return string
+ */
+ public function convert(ElementInterface $element)
+ {
+ // If parent is an ol, use numbers, otherwise, use dashes
+ $list_type = $element->getParent()->getTagName();
+
+ // Add spaces to start for nested list items
+ $level = $element->getListItemLevel($element);
+
+ $prefixForParagraph = str_repeat(' ', $level + 1);
+ $value = trim(implode("\n" . $prefixForParagraph, explode("\n", trim($element->getValue()))));
+
+ // If list item is the first in a nested list, add a newline before it
+ $prefix = '';
+ if ($level > 0 && $element->getSiblingPosition() === 1) {
+ $prefix = "\n";
+ }
+
+ if ($list_type === 'ul') {
+ return $prefix . '- ' . $value . "\n";
+ }
+
+ $number = $element->getSiblingPosition();
+
+ return $prefix . $number . '. ' . $value . "\n";
+ }
+
+ /**
+ * @return string[]
+ */
+ public function getSupportedTags()
+ {
+ return array('li');
+ }
+}
diff --git a/vendor/league/html-to-markdown/src/Converter/ParagraphConverter.php b/vendor/league/html-to-markdown/src/Converter/ParagraphConverter.php
new file mode 100644
index 000000000..cf852bfcf
--- /dev/null
+++ b/vendor/league/html-to-markdown/src/Converter/ParagraphConverter.php
@@ -0,0 +1,124 @@
+<?php
+
+namespace League\HTMLToMarkdown\Converter;
+
+use League\HTMLToMarkdown\ElementInterface;
+
+class ParagraphConverter implements ConverterInterface
+{
+ /**
+ * @param ElementInterface $element
+ *
+ * @return string
+ */
+ public function convert(ElementInterface $element)
+ {
+ $value = $element->getValue();
+
+ $markdown = '';
+
+ $lines = preg_split('/\r\n|\r|\n/', $value);
+ foreach ($lines as $line) {
+ /*
+ * Some special characters need to be escaped based on the position that they appear
+ * The following function will deal with those special cases.
+ */
+ $markdown .= $this->escapeSpecialCharacters($line);
+ $markdown .= "\n";
+ }
+
+ return trim($markdown) !== '' ? rtrim($markdown) . "\n\n" : '';
+ }
+
+ /**
+ * @return string[]
+ */
+ public function getSupportedTags()
+ {
+ return array('p');
+ }
+
+ /**
+ * @param string $line
+ *
+ * @return string
+ */
+ private function escapeSpecialCharacters($line)
+ {
+ $line = $this->escapeFirstCharacters($line);
+ $line = $this->escapeOtherCharacters($line);
+ $line = $this->escapeOtherCharactersRegex($line);
+
+ return $line;
+ }
+
+ /**
+ * @param string $line
+ *
+ * @return string
+ */
+ private function escapeFirstCharacters($line)
+ {
+ $escapable = array(
+ '>',
+ '- ',
+ '+ ',
+ '--',
+ '~~~',
+ '---',
+ '- - -'
+ );
+
+ foreach ($escapable as $i) {
+ if (strpos(ltrim($line), $i) === 0) {
+ // Found a character that must be escaped, adding a backslash before
+ return '\\' . ltrim($line);
+ }
+ }
+
+ return $line;
+ }
+
+ /**
+ * @param string $line
+ *
+ * @return string
+ */
+ private function escapeOtherCharacters($line)
+ {
+ $escapable = array(
+ '<!--'
+ );
+
+ foreach ($escapable as $i) {
+ if (strpos($line, $i) !== false) {
+ // Found an escapable character, escaping it
+ $line = substr_replace($line, '\\', strpos($line, $i), 0);
+ }
+ }
+
+ return $line;
+ }
+
+ /**
+ * @param string $line
+ *
+ * @return string
+ */
+ private function escapeOtherCharactersRegex($line)
+ {
+ $regExs = array(
+ // Match numbers ending on ')' or '.' that are at the beginning of the line.
+ '/^[0-9]+(?=\)|\.)/'
+ );
+
+ foreach ($regExs as $i) {
+ if (preg_match($i, $line, $match)) {
+ // Matched an escapable character, adding a backslash on the string before the offending character
+ $line = substr_replace($line, '\\', strlen($match[0]), 0);
+ }
+ }
+
+ return $line;
+ }
+}
diff --git a/vendor/league/html-to-markdown/src/Converter/PreformattedConverter.php b/vendor/league/html-to-markdown/src/Converter/PreformattedConverter.php
new file mode 100644
index 000000000..7a4ec3357
--- /dev/null
+++ b/vendor/league/html-to-markdown/src/Converter/PreformattedConverter.php
@@ -0,0 +1,59 @@
+<?php
+
+namespace League\HTMLToMarkdown\Converter;
+
+use League\HTMLToMarkdown\ElementInterface;
+
+class PreformattedConverter implements ConverterInterface
+{
+ /**
+ * @param ElementInterface $element
+ *
+ * @return string
+ */
+ public function convert(ElementInterface $element)
+ {
+ $markdown = '';
+
+ $pre_content = html_entity_decode($element->getChildrenAsString());
+ $pre_content = str_replace(array('<pre>', '</pre>'), '', $pre_content);
+
+ /*
+ * Checking for the code tag.
+ * Usually pre tags are used along with code tags. This conditional will check for already converted code tags,
+ * which use backticks, and if those backticks are at the beginning and at the end of the string it means
+ * there's no more information to convert.
+ */
+
+ $firstBacktick = strpos(trim($pre_content), '`');
+ $lastBacktick = strrpos(trim($pre_content), '`');
+ if ($firstBacktick === 0 && $lastBacktick === strlen(trim($pre_content)) - 1) {
+ return $pre_content;
+ }
+
+ // If the execution reaches this point it means it's just a pre tag, with no code tag nested
+
+ // Normalizing new lines
+ $pre_content = preg_replace('/\r\n|\r|\n/', PHP_EOL, $pre_content);
+
+ // Checking if the string has multiple lines
+ $lines = preg_split('/\r\n|\r|\n/', $pre_content);
+ if (count($lines) > 1) {
+ // Multiple lines detected, adding three backticks and newlines
+ $markdown .= '```' . "\n" . $pre_content . "\n" . '```';
+ } else {
+ // One line of code, wrapping it on one backtick.
+ $markdown .= '`' . $pre_content . '`';
+ }
+
+ return $markdown;
+ }
+
+ /**
+ * @return string[]
+ */
+ public function getSupportedTags()
+ {
+ return array('pre');
+ }
+}
diff --git a/vendor/league/html-to-markdown/src/Converter/TextConverter.php b/vendor/league/html-to-markdown/src/Converter/TextConverter.php
new file mode 100644
index 000000000..d6d91e16f
--- /dev/null
+++ b/vendor/league/html-to-markdown/src/Converter/TextConverter.php
@@ -0,0 +1,46 @@
+<?php
+
+namespace League\HTMLToMarkdown\Converter;
+
+use League\HTMLToMarkdown\ElementInterface;
+
+class TextConverter implements ConverterInterface
+{
+ /**
+ * @param ElementInterface $element
+ *
+ * @return string
+ */
+ public function convert(ElementInterface $element)
+ {
+ $markdown = $element->getValue();
+
+ // Remove leftover \n at the beginning of the line
+ $markdown = ltrim($markdown, "\n");
+
+ // Replace sequences of invisible characters with spaces
+ $markdown = preg_replace('~\s+~u', ' ', $markdown);
+
+ // Escape the following characters: '*', '_', '[', ']' and '\'
+ $markdown = preg_replace('~([*_\\[\\]\\\\])~u', '\\\\$1', $markdown);
+
+ $markdown = preg_replace('~^#~u', '\\\\#', $markdown);
+
+ if ($markdown === ' ') {
+ $next = $element->getNext();
+ if (!$next || $next->isBlock()) {
+ $markdown = '';
+ }
+ }
+
+ return $markdown;
+ }
+
+ /**
+ * @return string[]
+ */
+ public function getSupportedTags()
+ {
+ return array('#text');
+ }
+}
diff --git a/vendor/league/html-to-markdown/src/Element.php b/vendor/league/html-to-markdown/src/Element.php
new file mode 100644
index 000000000..e1e9d1a09
--- /dev/null
+++ b/vendor/league/html-to-markdown/src/Element.php
@@ -0,0 +1,257 @@
+<?php
+
+namespace League\HTMLToMarkdown;
+
+class Element implements ElementInterface
+{
+ /**
+ * @var \DOMNode
+ */
+ protected $node;
+
+ /**
+ * @var ElementInterface|null
+ */
+ private $nextCached;
+
+ public function __construct(\DOMNode $node)
+ {
+ $this->node = $node;
+ }
+
+ /**
+ * @return bool
+ */
+ public function isBlock()
+ {
+ switch ($this->getTagName()) {
+ case 'blockquote':
+ case 'body':
+ case 'code':
+ case 'div':
+ case 'h1':
+ case 'h2':
+ case 'h3':
+ case 'h4':
+ case 'h5':
+ case 'h6':
+ case 'hr':
+ case 'html':
+ case 'li':
+ case 'p':
+ case 'ol':
+ case 'ul':
+ return true;
+ default:
+ return false;
+ }
+ }
+
+ /**
+ * @return bool
+ */
+ public function isText()
+ {
+ return $this->getTagName() === '#text';
+ }
+
+ /**
+ * @return bool
+ */
+ public function isWhitespace()
+ {
+ return $this->getTagName() === '#text' && trim($this->getValue()) === '';
+ }
+
+ /**
+ * @return string
+ */
+ public function getTagName()
+ {
+ return $this->node->nodeName;
+ }
+
+ /**
+ * @return string
+ */
+ public function getValue()
+ {
+ return $this->node->nodeValue;
+ }
+
+ /**
+ * @return ElementInterface|null
+ */
+ public function getParent()
+ {
+ return new static($this->node->parentNode) ?: null;
+ }
+
+ /**
+ * @return bool
+ */
+ public function hasChildren()
+ {
+ return $this->node->hasChildNodes();
+ }
+
+ /**
+ * @return ElementInterface[]
+ */
+ public function getChildren()
+ {
+ $ret = array();
+ /** @var \DOMNode $node */
+ foreach ($this->node->childNodes as $node) {
+ $ret[] = new static($node);
+ }
+
+ return $ret;
+ }
+
+ /**
+ * @return ElementInterface|null
+ */
+ public function getNext()
+ {
+ if ($this->nextCached === null) {
+ $nextNode = $this->getNextNode($this->node);
+ if ($nextNode !== null) {
+ $this->nextCached = new static($nextNode);
+ }
+ }
+
+ return $this->nextCached;
+ }
+
+ /**
+ * @param \DomNode $node
+ * @param bool $checkChildren
+ *
+ * @return \DomNode|null
+ */
+ private function getNextNode($node, $checkChildren = true)
+ {
+ if ($checkChildren && $node->firstChild) {
+ return $node->firstChild;
+ }
+
+ if ($node->nextSibling) {
+ return $node->nextSibling;
+ }
+
+ if ($node->parentNode) {
+ return $this->getNextNode($node->parentNode, false);
+ }
+ }
+
+ /**
+ * @param string[]|string $tagNames
+ *
+ * @return bool
+ */
+ public function isDescendantOf($tagNames)
+ {
+ if (!is_array($tagNames)) {
+ $tagNames = array($tagNames);
+ }
+
+ for ($p = $this->node->parentNode; $p !== false; $p = $p->parentNode) {
+ if (is_null($p)) {
+ return false;
+ }
+
+ if (in_array($p->nodeName, $tagNames)) {
+ return true;
+ }
+ }
+
+ return false;
+ }
+
+ /**
+ * @param string $markdown
+ */
+ public function setFinalMarkdown($markdown)
+ {
+ $markdown_node = $this->node->ownerDocument->createTextNode($markdown);
+ $this->node->parentNode->replaceChild($markdown_node, $this->node);
+ }
+
+ /**
+ * @return string
+ */
+ public function getChildrenAsString()
+ {
+ return $this->node->C14N();
+ }
+
+ /**
+ * @return int
+ */
+ public function getSiblingPosition()
+ {
+ $position = 0;
+
+ // Loop through all nodes and find the given $node
+ foreach ($this->getParent()->getChildren() as $current_node) {
+ if (!$current_node->isWhitespace()) {
+ $position++;
+ }
+
+ // TODO: Need a less-buggy way of comparing these
+ // Perhaps we can somehow ensure that we always have the exact same object and use === instead?
+ if ($this->equals($current_node)) {
+ break;
+ }
+ }
+
+ return $position;
+ }
+
+ /**
+ * @return int
+ */
+ public function getListItemLevel()
+ {
+ $level = 0;
+ $parent = $this->getParent();
+
+ while ($parent !== null && $parent->node->parentNode) {
+ if ($parent->getTagName() === 'li') {
+ $level++;
+ }
+ $parent = $parent->getParent();
+ }
+
+ return $level;
+ }
+
+ /**
+ * @param string $name
+ *
+ * @return string
+ */
+ public function getAttribute($name)
+ {
+ if ($this->node instanceof \DOMElement) {
+ return $this->node->getAttribute($name);
+ }
+
+ return '';
+ }
+
+ /**
+ * @param ElementInterface $element
+ *
+ * @return bool
+ */
+ public function equals(ElementInterface $element)
+ {
+ if ($element instanceof self) {
+ return $element->node === $this->node;
+ }
+
+ return $element === $this;
+ }
+}
diff --git a/vendor/league/html-to-markdown/src/ElementInterface.php b/vendor/league/html-to-markdown/src/ElementInterface.php
new file mode 100644
index 000000000..138ddf286
--- /dev/null
+++ b/vendor/league/html-to-markdown/src/ElementInterface.php
@@ -0,0 +1,80 @@
+<?php
+
+namespace League\HTMLToMarkdown;
+
+interface ElementInterface
+{
+ /**
+ * @return bool
+ */
+ public function isBlock();
+
+ /**
+ * @return bool
+ */
+ public function isText();
+
+ /**
+ * @return bool
+ */
+ public function isWhitespace();
+
+ /**
+ * @return string
+ */
+ public function getTagName();
+
+ /**
+ * @return string
+ */
+ public function getValue();
+
+ /**
+ * @return ElementInterface|null
+ */
+ public function getParent();
+
+ /**
+ * @param string|string[] $tagNames
+ *
+ * @return bool
+ */
+ public function isDescendantOf($tagNames);
+
+ /**
+ * @return bool
+ */
+ public function hasChildren();
+
+ /**
+ * @return ElementInterface[]
+ */
+ public function getChildren();
+
+ /**
+ * @return ElementInterface|null
+ */
+ public function getNext();
+
+ /**
+ * @return int
+ */
+ public function getSiblingPosition();
+
+ /**
+ * @return string
+ */
+ public function getChildrenAsString();
+
+ /**
+ * @param string $markdown
+ */
+ public function setFinalMarkdown($markdown);
+
+ /**
+ * @param string $name
+ *
+ * @return string
+ */
+ public function getAttribute($name);
+}
diff --git a/vendor/league/html-to-markdown/src/Environment.php b/vendor/league/html-to-markdown/src/Environment.php
new file mode 100644
index 000000000..560cfe613
--- /dev/null
+++ b/vendor/league/html-to-markdown/src/Environment.php
@@ -0,0 +1,104 @@
+<?php
+
+namespace League\HTMLToMarkdown;
+
+use League\HTMLToMarkdown\Converter\BlockquoteConverter;
+use League\HTMLToMarkdown\Converter\CodeConverter;
+use League\HTMLToMarkdown\Converter\CommentConverter;
+use League\HTMLToMarkdown\Converter\ConverterInterface;
+use League\HTMLToMarkdown\Converter\DefaultConverter;
+use League\HTMLToMarkdown\Converter\DivConverter;
+use League\HTMLToMarkdown\Converter\EmphasisConverter;
+use League\HTMLToMarkdown\Converter\HardBreakConverter;
+use League\HTMLToMarkdown\Converter\HeaderConverter;
+use League\HTMLToMarkdown\Converter\HorizontalRuleConverter;
+use League\HTMLToMarkdown\Converter\ImageConverter;
+use League\HTMLToMarkdown\Converter\LinkConverter;
+use League\HTMLToMarkdown\Converter\ListBlockConverter;
+use League\HTMLToMarkdown\Converter\ListItemConverter;
+use League\HTMLToMarkdown\Converter\ParagraphConverter;
+use League\HTMLToMarkdown\Converter\PreformattedConverter;
+use League\HTMLToMarkdown\Converter\TextConverter;
+
+final class Environment
+{
+ /**
+ * @var Configuration
+ */
+ protected $config;
+
+ /**
+ * @var ConverterInterface[]
+ */
+ protected $converters = array();
+
+ public function __construct(array $config = array())
+ {
+ $this->config = new Configuration($config);
+ $this->addConverter(new DefaultConverter());
+ }
+
+ /**
+ * @return Configuration
+ */
+ public function getConfig()
+ {
+ return $this->config;
+ }
+
+ /**
+ * @param ConverterInterface $converter
+ */
+ public function addConverter(ConverterInterface $converter)
+ {
+ if ($converter instanceof ConfigurationAwareInterface) {
+ $converter->setConfig($this->config);
+ }
+
+ foreach ($converter->getSupportedTags() as $tag) {
+ $this->converters[$tag] = $converter;
+ }
+ }
+
+ /**
+ * @param string $tag
+ *
+ * @return ConverterInterface
+ */
+ public function getConverterByTag($tag)
+ {
+ if (isset($this->converters[$tag])) {
+ return $this->converters[$tag];
+ }
+
+ return $this->converters[DefaultConverter::DEFAULT_CONVERTER];
+ }
+
+ /**
+ * @param array $config
+ *
+ * @return Environment
+ */
+ public static function createDefaultEnvironment(array $config = array())
+ {
+ $environment = new static($config);
+
+ $environment->addConverter(new BlockquoteConverter());
+ $environment->addConverter(new CodeConverter());
+ $environment->addConverter(new CommentConverter());
+ $environment->addConverter(new DivConverter());
+ $environment->addConverter(new EmphasisConverter());
+ $environment->addConverter(new HardBreakConverter());
+ $environment->addConverter(new HeaderConverter());
+ $environment->addConverter(new HorizontalRuleConverter());
+ $environment->addConverter(new ImageConverter());
+ $environment->addConverter(new LinkConverter());
+ $environment->addConverter(new ListBlockConverter());
+ $environment->addConverter(new ListItemConverter());
+ $environment->addConverter(new ParagraphConverter());
+ $environment->addConverter(new PreformattedConverter());
+ $environment->addConverter(new TextConverter());
+
+ return $environment;
+ }
+}
diff --git a/vendor/league/html-to-markdown/src/HtmlConverter.php b/vendor/league/html-to-markdown/src/HtmlConverter.php
new file mode 100644
index 000000000..db3c29e1c
--- /dev/null
+++ b/vendor/league/html-to-markdown/src/HtmlConverter.php
@@ -0,0 +1,231 @@
+<?php
+
+namespace League\HTMLToMarkdown;
+
+/**
+ * Class HtmlConverter
+ *
+ * A helper class to convert HTML to Markdown.
+ *
+ * @author Colin O'Dell <colinodell@gmail.com>
+ * @author Nick Cernis <nick@cern.is>
+ *
+ * @link https://github.com/thephpleague/html-to-markdown/ Latest version on GitHub.
+ *
+ * @license http://www.opensource.org/licenses/mit-license.php MIT
+ */
+class HtmlConverter
+{
+ /**
+ * @var Environment
+ */
+ protected $environment;
+
+ /**
+ * Constructor
+ *
+ * @param Environment|array $options Environment object or configuration options
+ */
+ public function __construct($options = array())
+ {
+ if ($options instanceof Environment) {
+ $this->environment = $options;
+ } elseif (is_array($options)) {
+ $defaults = array(
+ 'header_style' => 'setext', // Set to 'atx' to output H1 and H2 headers as # Header1 and ## Header2
+ 'suppress_errors' => true, // Set to false to show warnings when loading malformed HTML
+ 'strip_tags' => false, // Set to true to strip tags that don't have markdown equivalents. N.B. Strips tags, not their content. Useful to clean MS Word HTML output.
+ 'bold_style' => '**', // Set to '__' if you prefer the underlined style
+ 'italic_style' => '_', // Set to '*' if you prefer the asterisk style
+ 'remove_nodes' => '', // space-separated list of dom nodes that should be removed. example: 'meta style script'
+ 'hard_break' => false,// Set to true to turn <br> into `\n` instead of ` \n`
+ );
+
+ $this->environment = Environment::createDefaultEnvironment($defaults);
+
+ $this->environment->getConfig()->merge($options);
+ }
+ }
+
+ /**
+ * @return Environment
+ */
+ public function getEnvironment()
+ {
+ return $this->environment;
+ }
+
+ /**
+ * @return Configuration
+ */
+ public function getConfig()
+ {
+ return $this->environment->getConfig();
+ }
+
+ /**
+ * Convert
+ *
+ * @see HtmlConverter::convert
+ *
+ * @param string $html
+ *
+ * @return string The Markdown version of the html
+ */
+ public function __invoke($html)
+ {
+ return $this->convert($html);
+ }
+
+ /**
+ * Convert
+ *
+ * Loads HTML and passes to getMarkdown()
+ *
+ * @param string $html
+ *
+ * @throws \InvalidArgumentException
+ *
+ * @return string The Markdown version of the html
+ */
+ public function convert($html)
+ {
+ if (trim($html) === '') {
+ return '';
+ }
+
+ $document = $this->createDOMDocument($html);
+
+ // Work on the entire DOM tree (including head and body)
+ if (!($root = $document->getElementsByTagName('html')->item(0))) {
+ throw new \InvalidArgumentException('Invalid HTML was provided');
+ }
+
+ $rootElement = new Element($root);
+ $this->convertChildren($rootElement);
+
+ // Store the now-modified DOMDocument as a string
+ $markdown = $document->saveHTML();
+
+ return $this->sanitize($markdown);
+ }
+
+ /**
+ * @param string $html
+ *
+ * @return \DOMDocument
+ */
+ private function createDOMDocument($html)
+ {
+ $document = new \DOMDocument();
+
+ if ($this->getConfig()->getOption('suppress_errors')) {
+ // Suppress conversion errors (from http://bit.ly/pCCRSX)
+ libxml_use_internal_errors(true);
+ }
+
+ // Hack to load utf-8 HTML (from http://bit.ly/pVDyCt)
+ $document->loadHTML('<?xml encoding="UTF-8">' . $html);
+ $document->encoding = 'UTF-8';
+
+ if ($this->getConfig()->getOption('suppress_errors')) {
+ libxml_clear_errors();
+ }
+
+ return $document;
+ }
+
+ /**
+ * Convert Children
+ *
+ * Recursive function to drill into the DOM and convert each node into Markdown from the inside out.
+ *
+ * Finds children of each node and convert those to #text nodes containing their Markdown equivalent,
+ * starting with the innermost element and working up to the outermost element.
+ *
+ * @param ElementInterface $element
+ */
+ private function convertChildren(ElementInterface $element)
+ {
+ // Don't convert HTML code inside <code> and <pre> blocks to Markdown - that should stay as HTML
+ // except if the current node is a code tag, which needs to be converted by the CodeConverter.
+ if ($element->isDescendantOf(array('pre', 'code')) && $element->getTagName() !== 'code') {
+ return;
+ }
+
+ // If the node has children, convert those to Markdown first
+ if ($element->hasChildren()) {
+ foreach ($element->getChildren() as $child) {
+ $this->convertChildren($child);
+ }
+ }
+
+ // Now that child nodes have been converted, convert the original node
+ $markdown = $this->convertToMarkdown($element);
+
+ // Create a DOM text node containing the Markdown equivalent of the original node
+
+ // Replace the old $node e.g. '<h3>Title</h3>' with the new $markdown_node e.g. '### Title'
+ $element->setFinalMarkdown($markdown);
+ }
+
+ /**
+ * Convert to Markdown
+ *
+ * Converts an individual node into a #text node containing a string of its Markdown equivalent.
+ *
+ * Example: An <h3> node with text content of 'Title' becomes a text node with content of '### Title'
+ *
+ * @param ElementInterface $element
+ *
+ * @return string The converted HTML as Markdown
+ */
+ protected function convertToMarkdown(ElementInterface $element)
+ {
+ $tag = $element->getTagName();
+
+ // Strip nodes named in remove_nodes
+ $tags_to_remove = explode(' ', $this->getConfig()->getOption('remove_nodes'));
+ if (in_array($tag, $tags_to_remove)) {
+ return false;
+ }
+
+ $converter = $this->environment->getConverterByTag($tag);
+
+ return $converter->convert($element);
+ }
+
+ /**
+ * @param string $markdown
+ *
+ * @return string
+ */
+ protected function sanitize($markdown)
+ {
+ $markdown = html_entity_decode($markdown, ENT_QUOTES, 'UTF-8');
+ $markdown = preg_replace('/<!DOCTYPE [^>]+>/', '', $markdown); // Strip doctype declaration
+ $markdown = trim($markdown); // Remove blank spaces at the beggining of the html
+
+ /*
+ * Removing unwanted tags. Tags should be added to the array in the order they are expected.
+ * XML, html and body opening tags should be in that order. Same case with closing tags
+ */
+ $unwanted = array('<?xml encoding="UTF-8">', '<html>', '</html>', '<body>', '</body>', '<head>', '</head>', '&#xD;');
+
+ foreach ($unwanted as $tag) {
+ if (strpos($tag, '/') === false) {
+ // Opening tags
+ if (strpos($markdown, $tag) === 0) {
+ $markdown = substr($markdown, strlen($tag));
+ }
+ } else {
+ // Closing tags
+ if (strpos($markdown, $tag) === strlen($markdown) - strlen($tag)) {
+ $markdown = substr($markdown, 0, -strlen($tag));
+ }
+ }
+ }
+
+ return trim($markdown, "\n\r\0\x0B");
+ }
+}
diff --git a/vendor/lukasreschke/id3parser/.gitignore b/vendor/lukasreschke/id3parser/.gitignore
new file mode 100644
index 000000000..9f11b755a
--- /dev/null
+++ b/vendor/lukasreschke/id3parser/.gitignore
@@ -0,0 +1 @@
+.idea/
diff --git a/vendor/lukasreschke/id3parser/README.md b/vendor/lukasreschke/id3parser/README.md
new file mode 100644
index 000000000..62af96e7b
--- /dev/null
+++ b/vendor/lukasreschke/id3parser/README.md
@@ -0,0 +1,29 @@
+# ID3 Parser
+
+This is a pure ID3 parser based upon [getID3](https://github.com/JamesHeinrich/getID3). It supports the following ID3
+versions inside MP3 files:
+
+- ID3v1 (v1.0 & v1.1)
+- ID3v2 (v2.2, v2.3 & v2.4)
+
+## Usage
+
+```php
+<?php
+require_once __DIR__ . '/vendor/autoload.php';
+
+$analyzer = new \ID3Parser\ID3Parser();
+$tags = $analyzer->analyze('/tmp/myfile.mp3'));
+```
+
+## Why should I use this package over getID3 directly?
+
+getID3 has evolved to a state where it is having a lot of other features such as parsing a ton of other file formats and
+for some of it, it is even invoking external programs on the server. For example it is nowadays even supporting SVG files.
+
+Such a big parsing library can easily be haunted by security related bugs as for example [CVE-2014-2053](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-2053)
+and some other vulnerabilities have proven. This library takes the ID3 parsing code from getID3 and strips all other
+functions.
+
+In cases where reading the ID3v2 tags is sufficient this library is likely to be a more secure approach, if you need any
+of the advanced features of getID3 however you're likely to be unhappy with this library.
diff --git a/vendor/lukasreschke/id3parser/composer.json b/vendor/lukasreschke/id3parser/composer.json
new file mode 100644
index 000000000..897ca3410
--- /dev/null
+++ b/vendor/lukasreschke/id3parser/composer.json
@@ -0,0 +1,14 @@
+{
+ "name": "lukasreschke/id3parser",
+ "homepage" : "https://github.com/LukasReschke/ID3Parser/",
+ "require" : {
+ "php" : ">=5.4.0"
+ },
+ "license": "GPL",
+ "keywords": ["php","tags","codecs"],
+ "autoload" : {
+ "psr-4" : {
+ "ID3Parser\\" : "src/"
+ }
+ }
+}
diff --git a/vendor/lukasreschke/id3parser/src/ID3Parser.php b/vendor/lukasreschke/id3parser/src/ID3Parser.php
new file mode 100644
index 000000000..f87a8b7dc
--- /dev/null
+++ b/vendor/lukasreschke/id3parser/src/ID3Parser.php
@@ -0,0 +1,22 @@
+<?php
+/////////////////////////////////////////////////////////////////
+/// getID3() by James Heinrich <info@getid3.org> //
+// available at http://getid3.sourceforge.net //
+// or http://www.getid3.org //
+// also https://github.com/JamesHeinrich/getID3 //
+/////////////////////////////////////////////////////////////////
+
+namespace ID3Parser;
+
+use ID3Parser\getID3\getID3;
+
+class ID3Parser {
+ /**
+ * @param string $fileName
+ * @return array
+ */
+ public function analyze($fileName) {
+ $getID3 = new getID3();
+ return $getID3->analyze($fileName);
+ }
+}
diff --git a/vendor/lukasreschke/id3parser/src/getID3/Tags/getid3_id3v1.php b/vendor/lukasreschke/id3parser/src/getID3/Tags/getid3_id3v1.php
new file mode 100644
index 000000000..18e850af1
--- /dev/null
+++ b/vendor/lukasreschke/id3parser/src/getID3/Tags/getid3_id3v1.php
@@ -0,0 +1,356 @@
+<?php
+/////////////////////////////////////////////////////////////////
+/// getID3() by James Heinrich <info@getid3.org> //
+// available at http://getid3.sourceforge.net //
+// or http://www.getid3.org //
+// also https://github.com/JamesHeinrich/getID3 //
+/////////////////////////////////////////////////////////////////
+
+namespace ID3Parser\getID3\Tags;
+
+use ID3Parser\getID3\getid3_handler;
+use ID3Parser\getID3\getid3_lib;
+
+class getid3_id3v1 extends getid3_handler
+{
+
+ public function Analyze() {
+ $info = &$this->getid3->info;
+
+ if (!getid3_lib::intValueSupported($info['filesize'])) {
+ $info['warning'][] = 'Unable to check for ID3v1 because file is larger than '.round(PHP_INT_MAX / 1073741824).'GB';
+ return false;
+ }
+
+ $this->fseek(-256, SEEK_END);
+ $preid3v1 = $this->fread(128);
+ $id3v1tag = $this->fread(128);
+
+ if (substr($id3v1tag, 0, 3) == 'TAG') {
+
+ $info['avdataend'] = $info['filesize'] - 128;
+
+ $ParsedID3v1['title'] = $this->cutfield(substr($id3v1tag, 3, 30));
+ $ParsedID3v1['artist'] = $this->cutfield(substr($id3v1tag, 33, 30));
+ $ParsedID3v1['album'] = $this->cutfield(substr($id3v1tag, 63, 30));
+ $ParsedID3v1['year'] = $this->cutfield(substr($id3v1tag, 93, 4));
+ $ParsedID3v1['comment'] = substr($id3v1tag, 97, 30); // can't remove nulls yet, track detection depends on them
+ $ParsedID3v1['genreid'] = ord(substr($id3v1tag, 127, 1));
+
+ // If second-last byte of comment field is null and last byte of comment field is non-null
+ // then this is ID3v1.1 and the comment field is 28 bytes long and the 30th byte is the track number
+ if (($id3v1tag{125} === "\x00") && ($id3v1tag{126} !== "\x00")) {
+ $ParsedID3v1['track'] = ord(substr($ParsedID3v1['comment'], 29, 1));
+ $ParsedID3v1['comment'] = substr($ParsedID3v1['comment'], 0, 28);
+ }
+ $ParsedID3v1['comment'] = $this->cutfield($ParsedID3v1['comment']);
+
+ $ParsedID3v1['genre'] = $this->LookupGenreName($ParsedID3v1['genreid']);
+ if (!empty($ParsedID3v1['genre'])) {
+ unset($ParsedID3v1['genreid']);
+ }
+ if (isset($ParsedID3v1['genre']) && (empty($ParsedID3v1['genre']) || ($ParsedID3v1['genre'] == 'Unknown'))) {
+ unset($ParsedID3v1['genre']);
+ }
+
+ foreach ($ParsedID3v1 as $key => $value) {
+ $ParsedID3v1['comments'][$key][0] = $value;
+ }
+
+ // ID3v1 data is supposed to be padded with NULL characters, but some taggers pad with spaces
+ $GoodFormatID3v1tag = $this->GenerateID3v1Tag(
+ $ParsedID3v1['title'],
+ $ParsedID3v1['artist'],
+ $ParsedID3v1['album'],
+ $ParsedID3v1['year'],
+ (isset($ParsedID3v1['genre']) ? $this->LookupGenreID($ParsedID3v1['genre']) : false),
+ $ParsedID3v1['comment'],
+ (!empty($ParsedID3v1['track']) ? $ParsedID3v1['track'] : ''));
+ $ParsedID3v1['padding_valid'] = true;
+ if ($id3v1tag !== $GoodFormatID3v1tag) {
+ $ParsedID3v1['padding_valid'] = false;
+ $info['warning'][] = 'Some ID3v1 fields do not use NULL characters for padding';
+ }
+
+ $ParsedID3v1['tag_offset_end'] = $info['filesize'];
+ $ParsedID3v1['tag_offset_start'] = $ParsedID3v1['tag_offset_end'] - 128;
+
+ $info['id3v1'] = $ParsedID3v1;
+ }
+
+ if (substr($preid3v1, 0, 3) == 'TAG') {
+ // The way iTunes handles tags is, well, brain-damaged.
+ // It completely ignores v1 if ID3v2 is present.
+ // This goes as far as adding a new v1 tag *even if there already is one*
+
+ // A suspected double-ID3v1 tag has been detected, but it could be that
+ // the "TAG" identifier is a legitimate part of an APE or Lyrics3 tag
+ if (substr($preid3v1, 96, 8) == 'APETAGEX') {
+ // an APE tag footer was found before the last ID3v1, assume false "TAG" synch
+ } elseif (substr($preid3v1, 119, 6) == 'LYRICS') {
+ // a Lyrics3 tag footer was found before the last ID3v1, assume false "TAG" synch
+ } else {
+ // APE and Lyrics3 footers not found - assume double ID3v1
+ $info['warning'][] = 'Duplicate ID3v1 tag detected - this has been known to happen with iTunes';
+ $info['avdataend'] -= 128;
+ }
+ }
+
+ return true;
+ }
+
+ public static function cutfield($str) {
+ return trim(substr($str, 0, strcspn($str, "\x00")));
+ }
+
+ public static function ArrayOfGenres($allowSCMPXextended=false) {
+ static $GenreLookup = array(
+ 0 => 'Blues',
+ 1 => 'Classic Rock',
+ 2 => 'Country',
+ 3 => 'Dance',
+ 4 => 'Disco',
+ 5 => 'Funk',
+ 6 => 'Grunge',
+ 7 => 'Hip-Hop',
+ 8 => 'Jazz',
+ 9 => 'Metal',
+ 10 => 'New Age',
+ 11 => 'Oldies',
+ 12 => 'Other',
+ 13 => 'Pop',
+ 14 => 'R&B',
+ 15 => 'Rap',
+ 16 => 'Reggae',
+ 17 => 'Rock',
+ 18 => 'Techno',
+ 19 => 'Industrial',
+ 20 => 'Alternative',
+ 21 => 'Ska',
+ 22 => 'Death Metal',
+ 23 => 'Pranks',
+ 24 => 'Soundtrack',
+ 25 => 'Euro-Techno',
+ 26 => 'Ambient',
+ 27 => 'Trip-Hop',
+ 28 => 'Vocal',
+ 29 => 'Jazz+Funk',
+ 30 => 'Fusion',
+ 31 => 'Trance',
+ 32 => 'Classical',
+ 33 => 'Instrumental',
+ 34 => 'Acid',
+ 35 => 'House',
+ 36 => 'Game',
+ 37 => 'Sound Clip',
+ 38 => 'Gospel',
+ 39 => 'Noise',
+ 40 => 'Alt. Rock',
+ 41 => 'Bass',
+ 42 => 'Soul',
+ 43 => 'Punk',
+ 44 => 'Space',
+ 45 => 'Meditative',
+ 46 => 'Instrumental Pop',
+ 47 => 'Instrumental Rock',
+ 48 => 'Ethnic',
+ 49 => 'Gothic',
+ 50 => 'Darkwave',
+ 51 => 'Techno-Industrial',
+ 52 => 'Electronic',
+ 53 => 'Pop-Folk',
+ 54 => 'Eurodance',
+ 55 => 'Dream',
+ 56 => 'Southern Rock',
+ 57 => 'Comedy',
+ 58 => 'Cult',
+ 59 => 'Gangsta Rap',
+ 60 => 'Top 40',
+ 61 => 'Christian Rap',
+ 62 => 'Pop/Funk',
+ 63 => 'Jungle',
+ 64 => 'Native American',
+ 65 => 'Cabaret',
+ 66 => 'New Wave',
+ 67 => 'Psychedelic',
+ 68 => 'Rave',
+ 69 => 'Showtunes',
+ 70 => 'Trailer',
+ 71 => 'Lo-Fi',
+ 72 => 'Tribal',
+ 73 => 'Acid Punk',
+ 74 => 'Acid Jazz',
+ 75 => 'Polka',
+ 76 => 'Retro',
+ 77 => 'Musical',
+ 78 => 'Rock & Roll',
+ 79 => 'Hard Rock',
+ 80 => 'Folk',
+ 81 => 'Folk/Rock',
+ 82 => 'National Folk',
+ 83 => 'Swing',
+ 84 => 'Fast-Fusion',
+ 85 => 'Bebob',
+ 86 => 'Latin',
+ 87 => 'Revival',
+ 88 => 'Celtic',
+ 89 => 'Bluegrass',
+ 90 => 'Avantgarde',
+ 91 => 'Gothic Rock',
+ 92 => 'Progressive Rock',
+ 93 => 'Psychedelic Rock',
+ 94 => 'Symphonic Rock',
+ 95 => 'Slow Rock',
+ 96 => 'Big Band',
+ 97 => 'Chorus',
+ 98 => 'Easy Listening',
+ 99 => 'Acoustic',
+ 100 => 'Humour',
+ 101 => 'Speech',
+ 102 => 'Chanson',
+ 103 => 'Opera',
+ 104 => 'Chamber Music',
+ 105 => 'Sonata',
+ 106 => 'Symphony',
+ 107 => 'Booty Bass',
+ 108 => 'Primus',
+ 109 => 'Porn Groove',
+ 110 => 'Satire',
+ 111 => 'Slow Jam',
+ 112 => 'Club',
+ 113 => 'Tango',
+ 114 => 'Samba',
+ 115 => 'Folklore',
+ 116 => 'Ballad',
+ 117 => 'Power Ballad',
+ 118 => 'Rhythmic Soul',
+ 119 => 'Freestyle',
+ 120 => 'Duet',
+ 121 => 'Punk Rock',
+ 122 => 'Drum Solo',
+ 123 => 'A Cappella',
+ 124 => 'Euro-House',
+ 125 => 'Dance Hall',
+ 126 => 'Goa',
+ 127 => 'Drum & Bass',
+ 128 => 'Club-House',
+ 129 => 'Hardcore',
+ 130 => 'Terror',
+ 131 => 'Indie',
+ 132 => 'BritPop',
+ 133 => 'Negerpunk',
+ 134 => 'Polsk Punk',
+ 135 => 'Beat',
+ 136 => 'Christian Gangsta Rap',
+ 137 => 'Heavy Metal',
+ 138 => 'Black Metal',
+ 139 => 'Crossover',
+ 140 => 'Contemporary Christian',
+ 141 => 'Christian Rock',
+ 142 => 'Merengue',
+ 143 => 'Salsa',
+ 144 => 'Thrash Metal',
+ 145 => 'Anime',
+ 146 => 'JPop',
+ 147 => 'Synthpop',
+
+ 255 => 'Unknown',
+
+ 'CR' => 'Cover',
+ 'RX' => 'Remix'
+ );
+
+ static $GenreLookupSCMPX = array();
+ if ($allowSCMPXextended && empty($GenreLookupSCMPX)) {
+ $GenreLookupSCMPX = $GenreLookup;
+ // http://www.geocities.co.jp/SiliconValley-Oakland/3664/alittle.html#GenreExtended
+ // Extended ID3v1 genres invented by SCMPX
+ // Note that 255 "Japanese Anime" conflicts with standard "Unknown"
+ $GenreLookupSCMPX[240] = 'Sacred';
+ $GenreLookupSCMPX[241] = 'Northern Europe';
+ $GenreLookupSCMPX[242] = 'Irish & Scottish';
+ $GenreLookupSCMPX[243] = 'Scotland';
+ $GenreLookupSCMPX[244] = 'Ethnic Europe';
+ $GenreLookupSCMPX[245] = 'Enka';
+ $GenreLookupSCMPX[246] = 'Children\'s Song';
+ $GenreLookupSCMPX[247] = 'Japanese Sky';
+ $GenreLookupSCMPX[248] = 'Japanese Heavy Rock';
+ $GenreLookupSCMPX[249] = 'Japanese Doom Rock';
+ $GenreLookupSCMPX[250] = 'Japanese J-POP';
+ $GenreLookupSCMPX[251] = 'Japanese Seiyu';
+ $GenreLookupSCMPX[252] = 'Japanese Ambient Techno';
+ $GenreLookupSCMPX[253] = 'Japanese Moemoe';
+ $GenreLookupSCMPX[254] = 'Japanese Tokusatsu';
+ //$GenreLookupSCMPX[255] = 'Japanese Anime';
+ }
+
+ return ($allowSCMPXextended ? $GenreLookupSCMPX : $GenreLookup);
+ }
+
+ public static function LookupGenreName($genreid, $allowSCMPXextended=true) {
+ switch ($genreid) {
+ case 'RX':
+ case 'CR':
+ break;
+ default:
+ if (!is_numeric($genreid)) {
+ return false;
+ }
+ $genreid = intval($genreid); // to handle 3 or '3' or '03'
+ break;
+ }
+ $GenreLookup = self::ArrayOfGenres($allowSCMPXextended);
+ return (isset($GenreLookup[$genreid]) ? $GenreLookup[$genreid] : false);
+ }
+
+ public static function LookupGenreID($genre, $allowSCMPXextended=false) {
+ $GenreLookup = self::ArrayOfGenres($allowSCMPXextended);
+ $LowerCaseNoSpaceSearchTerm = strtolower(str_replace(' ', '', $genre));
+ foreach ($GenreLookup as $key => $value) {
+ if (strtolower(str_replace(' ', '', $value)) == $LowerCaseNoSpaceSearchTerm) {
+ return $key;
+ }
+ }
+ return false;
+ }
+
+ public static function StandardiseID3v1GenreName($OriginalGenre) {
+ if (($GenreID = self::LookupGenreID($OriginalGenre)) !== false) {
+ return self::LookupGenreName($GenreID);
+ }
+ return $OriginalGenre;
+ }
+
+ public static function GenerateID3v1Tag($title, $artist, $album, $year, $genreid, $comment, $track='') {
+ $ID3v1Tag = 'TAG';
+ $ID3v1Tag .= str_pad(trim(substr($title, 0, 30)), 30, "\x00", STR_PAD_RIGHT);
+ $ID3v1Tag .= str_pad(trim(substr($artist, 0, 30)), 30, "\x00", STR_PAD_RIGHT);
+ $ID3v1Tag .= str_pad(trim(substr($album, 0, 30)), 30, "\x00", STR_PAD_RIGHT);
+ $ID3v1Tag .= str_pad(trim(substr($year, 0, 4)), 4, "\x00", STR_PAD_LEFT);
+ if (!empty($track) && ($track > 0) && ($track <= 255)) {
+ $ID3v1Tag .= str_pad(trim(substr($comment, 0, 28)), 28, "\x00", STR_PAD_RIGHT);
+ $ID3v1Tag .= "\x00";
+ if (gettype($track) == 'string') {
+ $track = (int) $track;
+ }
+ $ID3v1Tag .= chr($track);
+ } else {
+ $ID3v1Tag .= str_pad(trim(substr($comment, 0, 30)), 30, "\x00", STR_PAD_RIGHT);
+ }
+ if (($genreid < 0) || ($genreid > 147)) {
+ $genreid = 255; // 'unknown' genre
+ }
+ switch (gettype($genreid)) {
+ case 'string':
+ case 'integer':
+ $ID3v1Tag .= chr(intval($genreid));
+ break;
+ default:
+ $ID3v1Tag .= chr(255); // 'unknown' genre
+ break;
+ }
+
+ return $ID3v1Tag;
+ }
+
+}
diff --git a/vendor/lukasreschke/id3parser/src/getID3/Tags/getid3_id3v2.php b/vendor/lukasreschke/id3parser/src/getID3/Tags/getid3_id3v2.php
new file mode 100644
index 000000000..31742b7f2
--- /dev/null
+++ b/vendor/lukasreschke/id3parser/src/getID3/Tags/getid3_id3v2.php
@@ -0,0 +1,3383 @@
+<?php
+/////////////////////////////////////////////////////////////////
+/// getID3() by James Heinrich <info@getid3.org> //
+// available at http://getid3.sourceforge.net //
+// or http://www.getid3.org //
+// also https://github.com/JamesHeinrich/getID3 //
+/////////////////////////////////////////////////////////////////
+
+namespace ID3Parser\getID3\Tags;
+
+use ID3Parser\getID3\getid3_handler;
+use ID3Parser\getID3\getid3_lib;
+
+class getid3_id3v2 extends getid3_handler
+{
+ public $StartingOffset = 0;
+
+ public function Analyze() {
+ $info = &$this->getid3->info;
+
+ // Overall tag structure:
+ // +-----------------------------+
+ // | Header (10 bytes) |
+ // +-----------------------------+
+ // | Extended Header |
+ // | (variable length, OPTIONAL) |
+ // +-----------------------------+
+ // | Frames (variable length) |
+ // +-----------------------------+
+ // | Padding |
+ // | (variable length, OPTIONAL) |
+ // +-----------------------------+
+ // | Footer (10 bytes, OPTIONAL) |
+ // +-----------------------------+
+
+ // Header
+ // ID3v2/file identifier "ID3"
+ // ID3v2 version $04 00
+ // ID3v2 flags (%ab000000 in v2.2, %abc00000 in v2.3, %abcd0000 in v2.4.x)
+ // ID3v2 size 4 * %0xxxxxxx
+
+
+ // shortcuts
+ $info['id3v2']['header'] = true;
+ $thisfile_id3v2 = &$info['id3v2'];
+ $thisfile_id3v2['flags'] = array();
+ $thisfile_id3v2_flags = &$thisfile_id3v2['flags'];
+
+
+ $this->fseek($this->StartingOffset);
+ $header = $this->fread(10);
+ if (substr($header, 0, 3) == 'ID3' && strlen($header) == 10) {
+
+ $thisfile_id3v2['majorversion'] = ord($header{3});
+ $thisfile_id3v2['minorversion'] = ord($header{4});
+
+ // shortcut
+ $id3v2_majorversion = &$thisfile_id3v2['majorversion'];
+
+ } else {
+
+ unset($info['id3v2']);
+ return false;
+
+ }
+
+ if ($id3v2_majorversion > 4) { // this script probably won't correctly parse ID3v2.5.x and above (if it ever exists)
+
+ $info['error'][] = 'this script only parses up to ID3v2.4.x - this tag is ID3v2.'.$id3v2_majorversion.'.'.$thisfile_id3v2['minorversion'];
+ return false;
+
+ }
+
+ $id3_flags = ord($header{5});
+ switch ($id3v2_majorversion) {
+ case 2:
+ // %ab000000 in v2.2
+ $thisfile_id3v2_flags['unsynch'] = (bool) ($id3_flags & 0x80); // a - Unsynchronisation
+ $thisfile_id3v2_flags['compression'] = (bool) ($id3_flags & 0x40); // b - Compression
+ break;
+
+ case 3:
+ // %abc00000 in v2.3
+ $thisfile_id3v2_flags['unsynch'] = (bool) ($id3_flags & 0x80); // a - Unsynchronisation
+ $thisfile_id3v2_flags['exthead'] = (bool) ($id3_flags & 0x40); // b - Extended header
+ $thisfile_id3v2_flags['experim'] = (bool) ($id3_flags & 0x20); // c - Experimental indicator
+ break;
+
+ case 4:
+ // %abcd0000 in v2.4
+ $thisfile_id3v2_flags['unsynch'] = (bool) ($id3_flags & 0x80); // a - Unsynchronisation
+ $thisfile_id3v2_flags['exthead'] = (bool) ($id3_flags & 0x40); // b - Extended header
+ $thisfile_id3v2_flags['experim'] = (bool) ($id3_flags & 0x20); // c - Experimental indicator
+ $thisfile_id3v2_flags['isfooter'] = (bool) ($id3_flags & 0x10); // d - Footer present
+ break;
+ }
+
+ $thisfile_id3v2['headerlength'] = getid3_lib::BigEndian2Int(substr($header, 6, 4), 1) + 10; // length of ID3v2 tag in 10-byte header doesn't include 10-byte header length
+
+ $thisfile_id3v2['tag_offset_start'] = $this->StartingOffset;
+ $thisfile_id3v2['tag_offset_end'] = $thisfile_id3v2['tag_offset_start'] + $thisfile_id3v2['headerlength'];
+
+
+
+ // create 'encoding' key - used by getid3::HandleAllTags()
+ // in ID3v2 every field can have it's own encoding type
+ // so force everything to UTF-8 so it can be handled consistantly
+ $thisfile_id3v2['encoding'] = 'UTF-8';
+
+
+ // Frames
+
+ // All ID3v2 frames consists of one frame header followed by one or more
+ // fields containing the actual information. The header is always 10
+ // bytes and laid out as follows:
+ //
+ // Frame ID $xx xx xx xx (four characters)
+ // Size 4 * %0xxxxxxx
+ // Flags $xx xx
+
+ $sizeofframes = $thisfile_id3v2['headerlength'] - 10; // not including 10-byte initial header
+ if (!empty($thisfile_id3v2['exthead']['length'])) {
+ $sizeofframes -= ($thisfile_id3v2['exthead']['length'] + 4);
+ }
+ if (!empty($thisfile_id3v2_flags['isfooter'])) {
+ $sizeofframes -= 10; // footer takes last 10 bytes of ID3v2 header, after frame data, before audio
+ }
+ if ($sizeofframes > 0) {
+
+ $framedata = $this->fread($sizeofframes); // read all frames from file into $framedata variable
+
+ // if entire frame data is unsynched, de-unsynch it now (ID3v2.3.x)
+ if (!empty($thisfile_id3v2_flags['unsynch']) && ($id3v2_majorversion <= 3)) {
+ $framedata = $this->DeUnsynchronise($framedata);
+ }
+ // [in ID3v2.4.0] Unsynchronisation [S:6.1] is done on frame level, instead
+ // of on tag level, making it easier to skip frames, increasing the streamability
+ // of the tag. The unsynchronisation flag in the header [S:3.1] indicates that
+ // there exists an unsynchronised frame, while the new unsynchronisation flag in
+ // the frame header [S:4.1.2] indicates unsynchronisation.
+
+
+ //$framedataoffset = 10 + ($thisfile_id3v2['exthead']['length'] ? $thisfile_id3v2['exthead']['length'] + 4 : 0); // how many bytes into the stream - start from after the 10-byte header (and extended header length+4, if present)
+ $framedataoffset = 10; // how many bytes into the stream - start from after the 10-byte header
+
+
+ // Extended Header
+ if (!empty($thisfile_id3v2_flags['exthead'])) {
+ $extended_header_offset = 0;
+
+ if ($id3v2_majorversion == 3) {
+
+ // v2.3 definition:
+ //Extended header size $xx xx xx xx // 32-bit integer
+ //Extended Flags $xx xx
+ // %x0000000 %00000000 // v2.3
+ // x - CRC data present
+ //Size of padding $xx xx xx xx
+
+ $thisfile_id3v2['exthead']['length'] = getid3_lib::BigEndian2Int(substr($framedata, $extended_header_offset, 4), 0);
+ $extended_header_offset += 4;
+
+ $thisfile_id3v2['exthead']['flag_bytes'] = 2;
+ $thisfile_id3v2['exthead']['flag_raw'] = getid3_lib::BigEndian2Int(substr($framedata, $extended_header_offset, $thisfile_id3v2['exthead']['flag_bytes']));
+ $extended_header_offset += $thisfile_id3v2['exthead']['flag_bytes'];
+
+ $thisfile_id3v2['exthead']['flags']['crc'] = (bool) ($thisfile_id3v2['exthead']['flag_raw'] & 0x8000);
+
+ $thisfile_id3v2['exthead']['padding_size'] = getid3_lib::BigEndian2Int(substr($framedata, $extended_header_offset, 4));
+ $extended_header_offset += 4;
+
+ if ($thisfile_id3v2['exthead']['flags']['crc']) {
+ $thisfile_id3v2['exthead']['flag_data']['crc'] = getid3_lib::BigEndian2Int(substr($framedata, $extended_header_offset, 4));
+ $extended_header_offset += 4;
+ }
+ $extended_header_offset += $thisfile_id3v2['exthead']['padding_size'];
+
+ } elseif ($id3v2_majorversion == 4) {
+
+ // v2.4 definition:
+ //Extended header size 4 * %0xxxxxxx // 28-bit synchsafe integer
+ //Number of flag bytes $01
+ //Extended Flags $xx
+ // %0bcd0000 // v2.4
+ // b - Tag is an update
+ // Flag data length $00
+ // c - CRC data present
+ // Flag data length $05
+ // Total frame CRC 5 * %0xxxxxxx
+ // d - Tag restrictions
+ // Flag data length $01
+
+ $thisfile_id3v2['exthead']['length'] = getid3_lib::BigEndian2Int(substr($framedata, $extended_header_offset, 4), true);
+ $extended_header_offset += 4;
+
+ $thisfile_id3v2['exthead']['flag_bytes'] = getid3_lib::BigEndian2Int(substr($framedata, $extended_header_offset, 1)); // should always be 1
+ $extended_header_offset += 1;
+
+ $thisfile_id3v2['exthead']['flag_raw'] = getid3_lib::BigEndian2Int(substr($framedata, $extended_header_offset, $thisfile_id3v2['exthead']['flag_bytes']));
+ $extended_header_offset += $thisfile_id3v2['exthead']['flag_bytes'];
+
+ $thisfile_id3v2['exthead']['flags']['update'] = (bool) ($thisfile_id3v2['exthead']['flag_raw'] & 0x40);
+ $thisfile_id3v2['exthead']['flags']['crc'] = (bool) ($thisfile_id3v2['exthead']['flag_raw'] & 0x20);
+ $thisfile_id3v2['exthead']['flags']['restrictions'] = (bool) ($thisfile_id3v2['exthead']['flag_raw'] & 0x10);
+
+ if ($thisfile_id3v2['exthead']['flags']['update']) {
+ $ext_header_chunk_length = getid3_lib::BigEndian2Int(substr($framedata, $extended_header_offset, 1)); // should be 0
+ $extended_header_offset += 1;
+ }
+
+ if ($thisfile_id3v2['exthead']['flags']['crc']) {
+ $ext_header_chunk_length = getid3_lib::BigEndian2Int(substr($framedata, $extended_header_offset, 1)); // should be 5
+ $extended_header_offset += 1;
+ $thisfile_id3v2['exthead']['flag_data']['crc'] = getid3_lib::BigEndian2Int(substr($framedata, $extended_header_offset, $ext_header_chunk_length), true, false);
+ $extended_header_offset += $ext_header_chunk_length;
+ }
+
+ if ($thisfile_id3v2['exthead']['flags']['restrictions']) {
+ $ext_header_chunk_length = getid3_lib::BigEndian2Int(substr($framedata, $extended_header_offset, 1)); // should be 1
+ $extended_header_offset += 1;
+
+ // %ppqrrstt
+ $restrictions_raw = getid3_lib::BigEndian2Int(substr($framedata, $extended_header_offset, 1));
+ $extended_header_offset += 1;
+ $thisfile_id3v2['exthead']['flags']['restrictions']['tagsize'] = ($restrictions_raw & 0xC0) >> 6; // p - Tag size restrictions
+ $thisfile_id3v2['exthead']['flags']['restrictions']['textenc'] = ($restrictions_raw & 0x20) >> 5; // q - Text encoding restrictions
+ $thisfile_id3v2['exthead']['flags']['restrictions']['textsize'] = ($restrictions_raw & 0x18) >> 3; // r - Text fields size restrictions
+ $thisfile_id3v2['exthead']['flags']['restrictions']['imgenc'] = ($restrictions_raw & 0x04) >> 2; // s - Image encoding restrictions
+ $thisfile_id3v2['exthead']['flags']['restrictions']['imgsize'] = ($restrictions_raw & 0x03) >> 0; // t - Image size restrictions
+
+ $thisfile_id3v2['exthead']['flags']['restrictions_text']['tagsize'] = $this->LookupExtendedHeaderRestrictionsTagSizeLimits($thisfile_id3v2['exthead']['flags']['restrictions']['tagsize']);
+ $thisfile_id3v2['exthead']['flags']['restrictions_text']['textenc'] = $this->LookupExtendedHeaderRestrictionsTextEncodings($thisfile_id3v2['exthead']['flags']['restrictions']['textenc']);
+ $thisfile_id3v2['exthead']['flags']['restrictions_text']['textsize'] = $this->LookupExtendedHeaderRestrictionsTextFieldSize($thisfile_id3v2['exthead']['flags']['restrictions']['textsize']);
+ $thisfile_id3v2['exthead']['flags']['restrictions_text']['imgenc'] = $this->LookupExtendedHeaderRestrictionsImageEncoding($thisfile_id3v2['exthead']['flags']['restrictions']['imgenc']);
+ $thisfile_id3v2['exthead']['flags']['restrictions_text']['imgsize'] = $this->LookupExtendedHeaderRestrictionsImageSizeSize($thisfile_id3v2['exthead']['flags']['restrictions']['imgsize']);
+ }
+
+ if ($thisfile_id3v2['exthead']['length'] != $extended_header_offset) {
+ $info['warning'][] = 'ID3v2.4 extended header length mismatch (expecting '.intval($thisfile_id3v2['exthead']['length']).', found '.intval($extended_header_offset).')';
+ }
+ }
+
+ $framedataoffset += $extended_header_offset;
+ $framedata = substr($framedata, $extended_header_offset);
+ } // end extended header
+
+
+ while (isset($framedata) && (strlen($framedata) > 0)) { // cycle through until no more frame data is left to parse
+ if (strlen($framedata) <= $this->ID3v2HeaderLength($id3v2_majorversion)) {
+ // insufficient room left in ID3v2 header for actual data - must be padding
+ $thisfile_id3v2['padding']['start'] = $framedataoffset;
+ $thisfile_id3v2['padding']['length'] = strlen($framedata);
+ $thisfile_id3v2['padding']['valid'] = true;
+ for ($i = 0; $i < $thisfile_id3v2['padding']['length']; $i++) {
+ if ($framedata{$i} != "\x00") {
+ $thisfile_id3v2['padding']['valid'] = false;
+ $thisfile_id3v2['padding']['errorpos'] = $thisfile_id3v2['padding']['start'] + $i;
+ $info['warning'][] = 'Invalid ID3v2 padding found at offset '.$thisfile_id3v2['padding']['errorpos'].' (the remaining '.($thisfile_id3v2['padding']['length'] - $i).' bytes are considered invalid)';
+ break;
+ }
+ }
+ break; // skip rest of ID3v2 header
+ }
+ if ($id3v2_majorversion == 2) {
+ // Frame ID $xx xx xx (three characters)
+ // Size $xx xx xx (24-bit integer)
+ // Flags $xx xx
+
+ $frame_header = substr($framedata, 0, 6); // take next 6 bytes for header
+ $framedata = substr($framedata, 6); // and leave the rest in $framedata
+ $frame_name = substr($frame_header, 0, 3);
+ $frame_size = getid3_lib::BigEndian2Int(substr($frame_header, 3, 3), 0);
+ $frame_flags = 0; // not used for anything in ID3v2.2, just set to avoid E_NOTICEs
+
+ } elseif ($id3v2_majorversion > 2) {
+
+ // Frame ID $xx xx xx xx (four characters)
+ // Size $xx xx xx xx (32-bit integer in v2.3, 28-bit synchsafe in v2.4+)
+ // Flags $xx xx
+
+ $frame_header = substr($framedata, 0, 10); // take next 10 bytes for header
+ $framedata = substr($framedata, 10); // and leave the rest in $framedata
+
+ $frame_name = substr($frame_header, 0, 4);
+ if ($id3v2_majorversion == 3) {
+ $frame_size = getid3_lib::BigEndian2Int(substr($frame_header, 4, 4), 0); // 32-bit integer
+ } else { // ID3v2.4+
+ $frame_size = getid3_lib::BigEndian2Int(substr($frame_header, 4, 4), 1); // 32-bit synchsafe integer (28-bit value)
+ }
+
+ if ($frame_size < (strlen($framedata) + 4)) {
+ $nextFrameID = substr($framedata, $frame_size, 4);
+ if ($this->IsValidID3v2FrameName($nextFrameID, $id3v2_majorversion)) {
+ // next frame is OK
+ } elseif (($frame_name == "\x00".'MP3') || ($frame_name == "\x00\x00".'MP') || ($frame_name == ' MP3') || ($frame_name == 'MP3e')) {
+ // MP3ext known broken frames - "ok" for the purposes of this test
+ } elseif (($id3v2_majorversion == 4) && ($this->IsValidID3v2FrameName(substr($framedata, getid3_lib::BigEndian2Int(substr($frame_header, 4, 4), 0), 4), 3))) {
+ $info['warning'][] = 'ID3v2 tag written as ID3v2.4, but with non-synchsafe integers (ID3v2.3 style). Older versions of (Helium2; iTunes) are known culprits of this. Tag has been parsed as ID3v2.3';
+ $id3v2_majorversion = 3;
+ $frame_size = getid3_lib::BigEndian2Int(substr($frame_header, 4, 4), 0); // 32-bit integer
+ }
+ }
+
+
+ $frame_flags = getid3_lib::BigEndian2Int(substr($frame_header, 8, 2));
+ }
+
+ if ((($id3v2_majorversion == 2) && ($frame_name == "\x00\x00\x00")) || ($frame_name == "\x00\x00\x00\x00")) {
+ // padding encountered
+
+ $thisfile_id3v2['padding']['start'] = $framedataoffset;
+ $thisfile_id3v2['padding']['length'] = strlen($frame_header) + strlen($framedata);
+ $thisfile_id3v2['padding']['valid'] = true;
+
+ $len = strlen($framedata);
+ for ($i = 0; $i < $len; $i++) {
+ if ($framedata{$i} != "\x00") {
+ $thisfile_id3v2['padding']['valid'] = false;
+ $thisfile_id3v2['padding']['errorpos'] = $thisfile_id3v2['padding']['start'] + $i;
+ $info['warning'][] = 'Invalid ID3v2 padding found at offset '.$thisfile_id3v2['padding']['errorpos'].' (the remaining '.($thisfile_id3v2['padding']['length'] - $i).' bytes are considered invalid)';
+ break;
+ }
+ }
+ break; // skip rest of ID3v2 header
+ }
+
+ if ($frame_name == 'COM ') {
+ $info['warning'][] = 'error parsing "'.$frame_name.'" ('.$framedataoffset.' bytes into the ID3v2.'.$id3v2_majorversion.' tag). (ERROR: IsValidID3v2FrameName("'.str_replace("\x00", ' ', $frame_name).'", '.$id3v2_majorversion.'))). [Note: this particular error has been known to happen with tags edited by iTunes (versions "X v2.0.3", "v3.0.1" are known-guilty, probably others too)]';
+ $frame_name = 'COMM';
+ }
+ if (($frame_size <= strlen($framedata)) && ($this->IsValidID3v2FrameName($frame_name, $id3v2_majorversion))) {
+
+ unset($parsedFrame);
+ $parsedFrame['frame_name'] = $frame_name;
+ $parsedFrame['frame_flags_raw'] = $frame_flags;
+ $parsedFrame['data'] = substr($framedata, 0, $frame_size);
+ $parsedFrame['datalength'] = getid3_lib::CastAsInt($frame_size);
+ $parsedFrame['dataoffset'] = $framedataoffset;
+
+ $this->ParseID3v2Frame($parsedFrame);
+ $thisfile_id3v2[$frame_name][] = $parsedFrame;
+
+ $framedata = substr($framedata, $frame_size);
+
+ } else { // invalid frame length or FrameID
+
+ if ($frame_size <= strlen($framedata)) {
+
+ if ($this->IsValidID3v2FrameName(substr($framedata, $frame_size, 4), $id3v2_majorversion)) {
+
+ // next frame is valid, just skip the current frame
+ $framedata = substr($framedata, $frame_size);
+ $info['warning'][] = 'Next ID3v2 frame is valid, skipping current frame.';
+
+ } else {
+
+ // next frame is invalid too, abort processing
+ //unset($framedata);
+ $framedata = null;
+ $info['error'][] = 'Next ID3v2 frame is also invalid, aborting processing.';
+
+ }
+
+ } elseif ($frame_size == strlen($framedata)) {
+
+ // this is the last frame, just skip
+ $info['warning'][] = 'This was the last ID3v2 frame.';
+
+ } else {
+
+ // next frame is invalid too, abort processing
+ //unset($framedata);
+ $framedata = null;
+ $info['warning'][] = 'Invalid ID3v2 frame size, aborting.';
+
+ }
+ if (!$this->IsValidID3v2FrameName($frame_name, $id3v2_majorversion)) {
+
+ switch ($frame_name) {
+ case "\x00\x00".'MP':
+ case "\x00".'MP3':
+ case ' MP3':
+ case 'MP3e':
+ case "\x00".'MP':
+ case ' MP':
+ case 'MP3':
+ $info['warning'][] = 'error parsing "'.$frame_name.'" ('.$framedataoffset.' bytes into the ID3v2.'.$id3v2_majorversion.' tag). (ERROR: !IsValidID3v2FrameName("'.str_replace("\x00", ' ', $frame_name).'", '.$id3v2_majorversion.'))). [Note: this particular error has been known to happen with tags edited by "MP3ext (www.mutschler.de/mp3ext/)"]';
+ break;
+
+ default:
+ $info['warning'][] = 'error parsing "'.$frame_name.'" ('.$framedataoffset.' bytes into the ID3v2.'.$id3v2_majorversion.' tag). (ERROR: !IsValidID3v2FrameName("'.str_replace("\x00", ' ', $frame_name).'", '.$id3v2_majorversion.'))).';
+ break;
+ }
+
+ } elseif (!isset($framedata) || ($frame_size > strlen($framedata))) {
+
+ $info['error'][] = 'error parsing "'.$frame_name.'" ('.$framedataoffset.' bytes into the ID3v2.'.$id3v2_majorversion.' tag). (ERROR: $frame_size ('.$frame_size.') > strlen($framedata) ('.(isset($framedata) ? strlen($framedata) : 'null').')).';
+
+ } else {
+
+ $info['error'][] = 'error parsing "'.$frame_name.'" ('.$framedataoffset.' bytes into the ID3v2.'.$id3v2_majorversion.' tag).';
+
+ }
+
+ }
+ $framedataoffset += ($frame_size + $this->ID3v2HeaderLength($id3v2_majorversion));
+
+ }
+
+ }
+
+
+ // Footer
+
+ // The footer is a copy of the header, but with a different identifier.
+ // ID3v2 identifier "3DI"
+ // ID3v2 version $04 00
+ // ID3v2 flags %abcd0000
+ // ID3v2 size 4 * %0xxxxxxx
+
+ if (isset($thisfile_id3v2_flags['isfooter']) && $thisfile_id3v2_flags['isfooter']) {
+ $footer = $this->fread(10);
+ if (substr($footer, 0, 3) == '3DI') {
+ $thisfile_id3v2['footer'] = true;
+ $thisfile_id3v2['majorversion_footer'] = ord($footer{3});
+ $thisfile_id3v2['minorversion_footer'] = ord($footer{4});
+ }
+ if ($thisfile_id3v2['majorversion_footer'] <= 4) {
+ $id3_flags = ord(substr($footer{5}));
+ $thisfile_id3v2_flags['unsynch_footer'] = (bool) ($id3_flags & 0x80);
+ $thisfile_id3v2_flags['extfoot_footer'] = (bool) ($id3_flags & 0x40);
+ $thisfile_id3v2_flags['experim_footer'] = (bool) ($id3_flags & 0x20);
+ $thisfile_id3v2_flags['isfooter_footer'] = (bool) ($id3_flags & 0x10);
+
+ $thisfile_id3v2['footerlength'] = getid3_lib::BigEndian2Int(substr($footer, 6, 4), 1);
+ }
+ } // end footer
+
+ if (isset($thisfile_id3v2['comments']['genre'])) {
+ foreach ($thisfile_id3v2['comments']['genre'] as $key => $value) {
+ unset($thisfile_id3v2['comments']['genre'][$key]);
+ $thisfile_id3v2['comments'] = getid3_lib::array_merge_noclobber($thisfile_id3v2['comments'], array('genre'=>$this->ParseID3v2GenreString($value)));
+ }
+ }
+
+ if (isset($thisfile_id3v2['comments']['track'])) {
+ foreach ($thisfile_id3v2['comments']['track'] as $key => $value) {
+ if (strstr($value, '/')) {
+ list($thisfile_id3v2['comments']['tracknum'][$key], $thisfile_id3v2['comments']['totaltracks'][$key]) = explode('/', $thisfile_id3v2['comments']['track'][$key]);
+ }
+ }
+ }
+
+ if (!isset($thisfile_id3v2['comments']['year']) && !empty($thisfile_id3v2['comments']['recording_time'][0]) && preg_match('#^([0-9]{4})#', trim($thisfile_id3v2['comments']['recording_time'][0]), $matches)) {
+ $thisfile_id3v2['comments']['year'] = array($matches[1]);
+ }
+
+
+ if (!empty($thisfile_id3v2['TXXX'])) {
+ // MediaMonkey does this, maybe others: write a blank RGAD frame, but put replay-gain adjustment values in TXXX frames
+ foreach ($thisfile_id3v2['TXXX'] as $txxx_array) {
+ switch ($txxx_array['description']) {
+ case 'replaygain_track_gain':
+ if (empty($info['replay_gain']['track']['adjustment']) && !empty($txxx_array['data'])) {
+ $info['replay_gain']['track']['adjustment'] = floatval(trim(str_replace('dB', '', $txxx_array['data'])));
+ }
+ break;
+ case 'replaygain_track_peak':
+ if (empty($info['replay_gain']['track']['peak']) && !empty($txxx_array['data'])) {
+ $info['replay_gain']['track']['peak'] = floatval($txxx_array['data']);
+ }
+ break;
+ case 'replaygain_album_gain':
+ if (empty($info['replay_gain']['album']['adjustment']) && !empty($txxx_array['data'])) {
+ $info['replay_gain']['album']['adjustment'] = floatval(trim(str_replace('dB', '', $txxx_array['data'])));
+ }
+ break;
+ }
+ }
+ }
+
+
+ // Set avdataoffset
+ $info['avdataoffset'] = $thisfile_id3v2['headerlength'];
+ if (isset($thisfile_id3v2['footer'])) {
+ $info['avdataoffset'] += 10;
+ }
+
+ return true;
+ }
+
+
+ public function ParseID3v2GenreString($genrestring) {
+ // Parse genres into arrays of genreName and genreID
+ // ID3v2.2.x, ID3v2.3.x: '(21)' or '(4)Eurodisco' or '(51)(39)' or '(55)((I think...)'
+ // ID3v2.4.x: '21' $00 'Eurodisco' $00
+ $clean_genres = array();
+ if (strpos($genrestring, "\x00") === false) {
+ $genrestring = preg_replace('#\(([0-9]{1,3})\)#', '$1'."\x00", $genrestring);
+ }
+ $genre_elements = explode("\x00", $genrestring);
+ foreach ($genre_elements as $element) {
+ $element = trim($element);
+ if ($element) {
+ if (preg_match('#^[0-9]{1,3}#', $element)) {
+ $clean_genres[] = getid3_id3v1::LookupGenreName($element);
+ } else {
+ $clean_genres[] = str_replace('((', '(', $element);
+ }
+ }
+ }
+ return $clean_genres;
+ }
+
+
+ public function ParseID3v2Frame(&$parsedFrame) {
+
+ // shortcuts
+ $info = &$this->getid3->info;
+ $id3v2_majorversion = $info['id3v2']['majorversion'];
+
+ $parsedFrame['framenamelong'] = $this->FrameNameLongLookup($parsedFrame['frame_name']);
+ if (empty($parsedFrame['framenamelong'])) {
+ unset($parsedFrame['framenamelong']);
+ }
+ $parsedFrame['framenameshort'] = $this->FrameNameShortLookup($parsedFrame['frame_name']);
+ if (empty($parsedFrame['framenameshort'])) {
+ unset($parsedFrame['framenameshort']);
+ }
+
+ if ($id3v2_majorversion >= 3) { // frame flags are not part of the ID3v2.2 standard
+ if ($id3v2_majorversion == 3) {
+ // Frame Header Flags
+ // %abc00000 %ijk00000
+ $parsedFrame['flags']['TagAlterPreservation'] = (bool) ($parsedFrame['frame_flags_raw'] & 0x8000); // a - Tag alter preservation
+ $parsedFrame['flags']['FileAlterPreservation'] = (bool) ($parsedFrame['frame_flags_raw'] & 0x4000); // b - File alter preservation
+ $parsedFrame['flags']['ReadOnly'] = (bool) ($parsedFrame['frame_flags_raw'] & 0x2000); // c - Read only
+ $parsedFrame['flags']['compression'] = (bool) ($parsedFrame['frame_flags_raw'] & 0x0080); // i - Compression
+ $parsedFrame['flags']['Encryption'] = (bool) ($parsedFrame['frame_flags_raw'] & 0x0040); // j - Encryption
+ $parsedFrame['flags']['GroupingIdentity'] = (bool) ($parsedFrame['frame_flags_raw'] & 0x0020); // k - Grouping identity
+
+ } elseif ($id3v2_majorversion == 4) {
+ // Frame Header Flags
+ // %0abc0000 %0h00kmnp
+ $parsedFrame['flags']['TagAlterPreservation'] = (bool) ($parsedFrame['frame_flags_raw'] & 0x4000); // a - Tag alter preservation
+ $parsedFrame['flags']['FileAlterPreservation'] = (bool) ($parsedFrame['frame_flags_raw'] & 0x2000); // b - File alter preservation
+ $parsedFrame['flags']['ReadOnly'] = (bool) ($parsedFrame['frame_flags_raw'] & 0x1000); // c - Read only
+ $parsedFrame['flags']['GroupingIdentity'] = (bool) ($parsedFrame['frame_flags_raw'] & 0x0040); // h - Grouping identity
+ $parsedFrame['flags']['compression'] = (bool) ($parsedFrame['frame_flags_raw'] & 0x0008); // k - Compression
+ $parsedFrame['flags']['Encryption'] = (bool) ($parsedFrame['frame_flags_raw'] & 0x0004); // m - Encryption
+ $parsedFrame['flags']['Unsynchronisation'] = (bool) ($parsedFrame['frame_flags_raw'] & 0x0002); // n - Unsynchronisation
+ $parsedFrame['flags']['DataLengthIndicator'] = (bool) ($parsedFrame['frame_flags_raw'] & 0x0001); // p - Data length indicator
+
+ // Frame-level de-unsynchronisation - ID3v2.4
+ if ($parsedFrame['flags']['Unsynchronisation']) {
+ $parsedFrame['data'] = $this->DeUnsynchronise($parsedFrame['data']);
+ }
+
+ if ($parsedFrame['flags']['DataLengthIndicator']) {
+ $parsedFrame['data_length_indicator'] = getid3_lib::BigEndian2Int(substr($parsedFrame['data'], 0, 4), 1);
+ $parsedFrame['data'] = substr($parsedFrame['data'], 4);
+ }
+ }
+
+ // Frame-level de-compression
+ if ($parsedFrame['flags']['compression']) {
+ $parsedFrame['decompressed_size'] = getid3_lib::BigEndian2Int(substr($parsedFrame['data'], 0, 4));
+ if (!function_exists('gzuncompress')) {
+ $info['warning'][] = 'gzuncompress() support required to decompress ID3v2 frame "'.$parsedFrame['frame_name'].'"';
+ } else {
+ if ($decompresseddata = @gzuncompress(substr($parsedFrame['data'], 4))) {
+ //if ($decompresseddata = @gzuncompress($parsedFrame['data'])) {
+ $parsedFrame['data'] = $decompresseddata;
+ unset($decompresseddata);
+ } else {
+ $info['warning'][] = 'gzuncompress() failed on compressed contents of ID3v2 frame "'.$parsedFrame['frame_name'].'"';
+ }
+ }
+ }
+ }
+
+ if (!empty($parsedFrame['flags']['DataLengthIndicator'])) {
+ if ($parsedFrame['data_length_indicator'] != strlen($parsedFrame['data'])) {
+ $info['warning'][] = 'ID3v2 frame "'.$parsedFrame['frame_name'].'" should be '.$parsedFrame['data_length_indicator'].' bytes long according to DataLengthIndicator, but found '.strlen($parsedFrame['data']).' bytes of data';
+ }
+ }
+
+ if (isset($parsedFrame['datalength']) && ($parsedFrame['datalength'] == 0)) {
+
+ $warning = 'Frame "'.$parsedFrame['frame_name'].'" at offset '.$parsedFrame['dataoffset'].' has no data portion';
+ switch ($parsedFrame['frame_name']) {
+ case 'WCOM':
+ $warning .= ' (this is known to happen with files tagged by RioPort)';
+ break;
+
+ default:
+ break;
+ }
+ $info['warning'][] = $warning;
+
+ } elseif ((($id3v2_majorversion >= 3) && ($parsedFrame['frame_name'] == 'UFID')) || // 4.1 UFID Unique file identifier
+ (($id3v2_majorversion == 2) && ($parsedFrame['frame_name'] == 'UFI'))) { // 4.1 UFI Unique file identifier
+ // There may be more than one 'UFID' frame in a tag,
+ // but only one with the same 'Owner identifier'.
+ // <Header for 'Unique file identifier', ID: 'UFID'>
+ // Owner identifier <text string> $00
+ // Identifier <up to 64 bytes binary data>
+ $exploded = explode("\x00", $parsedFrame['data'], 2);
+ $parsedFrame['ownerid'] = (isset($exploded[0]) ? $exploded[0] : '');
+ $parsedFrame['data'] = (isset($exploded[1]) ? $exploded[1] : '');
+
+ } elseif ((($id3v2_majorversion >= 3) && ($parsedFrame['frame_name'] == 'TXXX')) || // 4.2.2 TXXX User defined text information frame
+ (($id3v2_majorversion == 2) && ($parsedFrame['frame_name'] == 'TXX'))) { // 4.2.2 TXX User defined text information frame
+ // There may be more than one 'TXXX' frame in each tag,
+ // but only one with the same description.
+ // <Header for 'User defined text information frame', ID: 'TXXX'>
+ // Text encoding $xx
+ // Description <text string according to encoding> $00 (00)
+ // Value <text string according to encoding>
+
+ $frame_offset = 0;
+ $frame_textencoding = ord(substr($parsedFrame['data'], $frame_offset++, 1));
+
+ if ((($id3v2_majorversion <= 3) && ($frame_textencoding > 1)) || (($id3v2_majorversion == 4) && ($frame_textencoding > 3))) {
+ $info['warning'][] = 'Invalid text encoding byte ('.$frame_textencoding.') in frame "'.$parsedFrame['frame_name'].'" - defaulting to ISO-8859-1 encoding';
+ }
+ $frame_terminatorpos = strpos($parsedFrame['data'], $this->TextEncodingTerminatorLookup($frame_textencoding), $frame_offset);
+ if (ord(substr($parsedFrame['data'], $frame_terminatorpos + strlen($this->TextEncodingTerminatorLookup($frame_textencoding)), 1)) === 0) {
+ $frame_terminatorpos++; // strpos() fooled because 2nd byte of Unicode chars are often 0x00
+ }
+ $frame_description = substr($parsedFrame['data'], $frame_offset, $frame_terminatorpos - $frame_offset);
+ if (ord($frame_description) === 0) {
+ $frame_description = '';
+ }
+ $parsedFrame['encodingid'] = $frame_textencoding;
+ $parsedFrame['encoding'] = $this->TextEncodingNameLookup($frame_textencoding);
+
+ $parsedFrame['description'] = $frame_description;
+ $parsedFrame['data'] = substr($parsedFrame['data'], $frame_terminatorpos + strlen($this->TextEncodingTerminatorLookup($frame_textencoding)));
+ if (!empty($parsedFrame['framenameshort']) && !empty($parsedFrame['data'])) {
+ $commentkey = ($parsedFrame['description'] ? $parsedFrame['description'] : (isset($info['id3v2']['comments'][$parsedFrame['framenameshort']]) ? count($info['id3v2']['comments'][$parsedFrame['framenameshort']]) : 0));
+ if (!isset($info['id3v2']['comments'][$parsedFrame['framenameshort']]) || !array_key_exists($commentkey, $info['id3v2']['comments'][$parsedFrame['framenameshort']])) {
+ $info['id3v2']['comments'][$parsedFrame['framenameshort']][$commentkey] = trim(getid3_lib::iconv_fallback($parsedFrame['encoding'], $info['id3v2']['encoding'], $parsedFrame['data']));
+ } else {
+ $info['id3v2']['comments'][$parsedFrame['framenameshort']][] = trim(getid3_lib::iconv_fallback($parsedFrame['encoding'], $info['id3v2']['encoding'], $parsedFrame['data']));
+ }
+ }
+ //unset($parsedFrame['data']); do not unset, may be needed elsewhere, e.g. for replaygain
+
+
+ } elseif ($parsedFrame['frame_name']{0} == 'T') { // 4.2. T??[?] Text information frame
+ // There may only be one text information frame of its kind in an tag.
+ // <Header for 'Text information frame', ID: 'T000' - 'TZZZ',
+ // excluding 'TXXX' described in 4.2.6.>
+ // Text encoding $xx
+ // Information <text string(s) according to encoding>
+
+ $frame_offset = 0;
+ $frame_textencoding = ord(substr($parsedFrame['data'], $frame_offset++, 1));
+ if ((($id3v2_majorversion <= 3) && ($frame_textencoding > 1)) || (($id3v2_majorversion == 4) && ($frame_textencoding > 3))) {
+ $info['warning'][] = 'Invalid text encoding byte ('.$frame_textencoding.') in frame "'.$parsedFrame['frame_name'].'" - defaulting to ISO-8859-1 encoding';
+ }
+
+ $parsedFrame['data'] = (string) substr($parsedFrame['data'], $frame_offset);
+
+ $parsedFrame['encodingid'] = $frame_textencoding;
+ $parsedFrame['encoding'] = $this->TextEncodingNameLookup($frame_textencoding);
+
+ if (!empty($parsedFrame['framenameshort']) && !empty($parsedFrame['data'])) {
+ // ID3v2.3 specs say that TPE1 (and others) can contain multiple artist values separated with /
+ // This of course breaks when an artist name contains slash character, e.g. "AC/DC"
+ // MP3tag (maybe others) implement alternative system where multiple artists are null-separated, which makes more sense
+ // getID3 will split null-separated artists into multiple artists and leave slash-separated ones to the user
+ switch ($parsedFrame['encoding']) {
+ case 'UTF-16':
+ case 'UTF-16BE':
+ case 'UTF-16LE':
+ $wordsize = 2;
+ break;
+ case 'ISO-8859-1':
+ case 'UTF-8':
+ default:
+ $wordsize = 1;
+ break;
+ }
+ $Txxx_elements = array();
+ $Txxx_elements_start_offset = 0;
+ for ($i = 0; $i < strlen($parsedFrame['data']); $i += $wordsize) {
+ if (substr($parsedFrame['data'], $i, $wordsize) == str_repeat("\x00", $wordsize)) {
+ $Txxx_elements[] = substr($parsedFrame['data'], $Txxx_elements_start_offset, $i - $Txxx_elements_start_offset);
+ $Txxx_elements_start_offset = $i + $wordsize;
+ }
+ }
+ $Txxx_elements[] = substr($parsedFrame['data'], $Txxx_elements_start_offset, $i - $Txxx_elements_start_offset);
+ foreach ($Txxx_elements as $Txxx_element) {
+ $string = getid3_lib::iconv_fallback($parsedFrame['encoding'], $info['id3v2']['encoding'], $Txxx_element);
+ if (!empty($string)) {
+ $info['id3v2']['comments'][$parsedFrame['framenameshort']][] = $string;
+ }
+ }
+ unset($string, $wordsize, $i, $Txxx_elements, $Txxx_element, $Txxx_elements_start_offset);
+ }
+
+ } elseif ((($id3v2_majorversion >= 3) && ($parsedFrame['frame_name'] == 'WXXX')) || // 4.3.2 WXXX User defined URL link frame
+ (($id3v2_majorversion == 2) && ($parsedFrame['frame_name'] == 'WXX'))) { // 4.3.2 WXX User defined URL link frame
+ // There may be more than one 'WXXX' frame in each tag,
+ // but only one with the same description
+ // <Header for 'User defined URL link frame', ID: 'WXXX'>
+ // Text encoding $xx
+ // Description <text string according to encoding> $00 (00)
+ // URL <text string>
+
+ $frame_offset = 0;
+ $frame_textencoding = ord(substr($parsedFrame['data'], $frame_offset++, 1));
+ if ((($id3v2_majorversion <= 3) && ($frame_textencoding > 1)) || (($id3v2_majorversion == 4) && ($frame_textencoding > 3))) {
+ $info['warning'][] = 'Invalid text encoding byte ('.$frame_textencoding.') in frame "'.$parsedFrame['frame_name'].'" - defaulting to ISO-8859-1 encoding';
+ }
+ $frame_terminatorpos = strpos($parsedFrame['data'], $this->TextEncodingTerminatorLookup($frame_textencoding), $frame_offset);
+ if (ord(substr($parsedFrame['data'], $frame_terminatorpos + strlen($this->TextEncodingTerminatorLookup($frame_textencoding)), 1)) === 0) {
+ $frame_terminatorpos++; // strpos() fooled because 2nd byte of Unicode chars are often 0x00
+ }
+ $frame_description = substr($parsedFrame['data'], $frame_offset, $frame_terminatorpos - $frame_offset);
+
+ if (ord($frame_description) === 0) {
+ $frame_description = '';
+ }
+ $parsedFrame['data'] = substr($parsedFrame['data'], $frame_terminatorpos + strlen($this->TextEncodingTerminatorLookup($frame_textencoding)));
+
+ $frame_terminatorpos = strpos($parsedFrame['data'], $this->TextEncodingTerminatorLookup($frame_textencoding));
+ if (ord(substr($parsedFrame['data'], $frame_terminatorpos + strlen($this->TextEncodingTerminatorLookup($frame_textencoding)), 1)) === 0) {
+ $frame_terminatorpos++; // strpos() fooled because 2nd byte of Unicode chars are often 0x00
+ }
+ if ($frame_terminatorpos) {
+ // there are null bytes after the data - this is not according to spec
+ // only use data up to first null byte
+ $frame_urldata = (string) substr($parsedFrame['data'], 0, $frame_terminatorpos);
+ } else {
+ // no null bytes following data, just use all data
+ $frame_urldata = (string) $parsedFrame['data'];
+ }
+
+ $parsedFrame['encodingid'] = $frame_textencoding;
+ $parsedFrame['encoding'] = $this->TextEncodingNameLookup($frame_textencoding);
+
+ $parsedFrame['url'] = $frame_urldata;
+ $parsedFrame['description'] = $frame_description;
+ if (!empty($parsedFrame['framenameshort']) && $parsedFrame['url']) {
+ $info['id3v2']['comments'][$parsedFrame['framenameshort']][] = getid3_lib::iconv_fallback($parsedFrame['encoding'], $info['id3v2']['encoding'], $parsedFrame['url']);
+ }
+ unset($parsedFrame['data']);
+
+
+ } elseif ($parsedFrame['frame_name']{0} == 'W') { // 4.3. W??? URL link frames
+ // There may only be one URL link frame of its kind in a tag,
+ // except when stated otherwise in the frame description
+ // <Header for 'URL link frame', ID: 'W000' - 'WZZZ', excluding 'WXXX'
+ // described in 4.3.2.>
+ // URL <text string>
+
+ $parsedFrame['url'] = trim($parsedFrame['data']);
+ if (!empty($parsedFrame['framenameshort']) && $parsedFrame['url']) {
+ $info['id3v2']['comments'][$parsedFrame['framenameshort']][] = $parsedFrame['url'];
+ }
+ unset($parsedFrame['data']);
+
+
+ } elseif ((($id3v2_majorversion == 3) && ($parsedFrame['frame_name'] == 'IPLS')) || // 4.4 IPLS Involved people list (ID3v2.3 only)
+ (($id3v2_majorversion == 2) && ($parsedFrame['frame_name'] == 'IPL'))) { // 4.4 IPL Involved people list (ID3v2.2 only)
+ // http://id3.org/id3v2.3.0#sec4.4
+ // There may only be one 'IPL' frame in each tag
+ // <Header for 'User defined URL link frame', ID: 'IPL'>
+ // Text encoding $xx
+ // People list strings <textstrings>
+
+ $frame_offset = 0;
+ $frame_textencoding = ord(substr($parsedFrame['data'], $frame_offset++, 1));
+ if ((($id3v2_majorversion <= 3) && ($frame_textencoding > 1)) || (($id3v2_majorversion == 4) && ($frame_textencoding > 3))) {
+ $info['warning'][] = 'Invalid text encoding byte ('.$frame_textencoding.') in frame "'.$parsedFrame['frame_name'].'" - defaulting to ISO-8859-1 encoding';
+ }
+ $parsedFrame['encodingid'] = $frame_textencoding;
+ $parsedFrame['encoding'] = $this->TextEncodingNameLookup($parsedFrame['encodingid']);
+ $parsedFrame['data_raw'] = (string) substr($parsedFrame['data'], $frame_offset);
+
+ // http://www.getid3.org/phpBB3/viewtopic.php?t=1369
+ // "this tag typically contains null terminated strings, which are associated in pairs"
+ // "there are users that use the tag incorrectly"
+ $IPLS_parts = array();
+ if (strpos($parsedFrame['data_raw'], "\x00") !== false) {
+ $IPLS_parts_unsorted = array();
+ if (((strlen($parsedFrame['data_raw']) % 2) == 0) && ((substr($parsedFrame['data_raw'], 0, 2) == "\xFF\xFE") || (substr($parsedFrame['data_raw'], 0, 2) == "\xFE\xFF"))) {
+ // UTF-16, be careful looking for null bytes since most 2-byte characters may contain one; you need to find twin null bytes, and on even padding
+ $thisILPS = '';
+ for ($i = 0; $i < strlen($parsedFrame['data_raw']); $i += 2) {
+ $twobytes = substr($parsedFrame['data_raw'], $i, 2);
+ if ($twobytes === "\x00\x00") {
+ $IPLS_parts_unsorted[] = getid3_lib::iconv_fallback($parsedFrame['encoding'], $info['id3v2']['encoding'], $thisILPS);
+ $thisILPS = '';
+ } else {
+ $thisILPS .= $twobytes;
+ }
+ }
+ if (strlen($thisILPS) > 2) { // 2-byte BOM
+ $IPLS_parts_unsorted[] = getid3_lib::iconv_fallback($parsedFrame['encoding'], $info['id3v2']['encoding'], $thisILPS);
+ }
+ } else {
+ // ISO-8859-1 or UTF-8 or other single-byte-null character set
+ $IPLS_parts_unsorted = explode("\x00", $parsedFrame['data_raw']);
+ }
+ if (count($IPLS_parts_unsorted) == 1) {
+ // just a list of names, e.g. "Dino Baptiste, Jimmy Copley, John Gordon, Bernie Marsden, Sharon Watson"
+ foreach ($IPLS_parts_unsorted as $key => $value) {
+ $IPLS_parts_sorted = preg_split('#[;,\\r\\n\\t]#', $value);
+ $position = '';
+ foreach ($IPLS_parts_sorted as $person) {
+ $IPLS_parts[] = array('position'=>$position, 'person'=>$person);
+ }
+ }
+ } elseif ((count($IPLS_parts_unsorted) % 2) == 0) {
+ $position = '';
+ $person = '';
+ foreach ($IPLS_parts_unsorted as $key => $value) {
+ if (($key % 2) == 0) {
+ $position = $value;
+ } else {
+ $person = $value;
+ $IPLS_parts[] = array('position'=>$position, 'person'=>$person);
+ $position = '';
+ $person = '';
+ }
+ }
+ } else {
+ foreach ($IPLS_parts_unsorted as $key => $value) {
+ $IPLS_parts[] = array($value);
+ }
+ }
+
+ } else {
+ $IPLS_parts = preg_split('#[;,\\r\\n\\t]#', $parsedFrame['data_raw']);
+ }
+ $parsedFrame['data'] = $IPLS_parts;
+
+ if (!empty($parsedFrame['framenameshort']) && !empty($parsedFrame['data'])) {
+ $info['id3v2']['comments'][$parsedFrame['framenameshort']][] = $parsedFrame['data'];
+ }
+
+
+ } elseif ((($id3v2_majorversion >= 3) && ($parsedFrame['frame_name'] == 'MCDI')) || // 4.4 MCDI Music CD identifier
+ (($id3v2_majorversion == 2) && ($parsedFrame['frame_name'] == 'MCI'))) { // 4.5 MCI Music CD identifier
+ // There may only be one 'MCDI' frame in each tag
+ // <Header for 'Music CD identifier', ID: 'MCDI'>
+ // CD TOC <binary data>
+
+ if (!empty($parsedFrame['framenameshort']) && !empty($parsedFrame['data'])) {
+ $info['id3v2']['comments'][$parsedFrame['framenameshort']][] = $parsedFrame['data'];
+ }
+
+
+ } elseif ((($id3v2_majorversion >= 3) && ($parsedFrame['frame_name'] == 'ETCO')) || // 4.5 ETCO Event timing codes
+ (($id3v2_majorversion == 2) && ($parsedFrame['frame_name'] == 'ETC'))) { // 4.6 ETC Event timing codes
+ // There may only be one 'ETCO' frame in each tag
+ // <Header for 'Event timing codes', ID: 'ETCO'>
+ // Time stamp format $xx
+ // Where time stamp format is:
+ // $01 (32-bit value) MPEG frames from beginning of file
+ // $02 (32-bit value) milliseconds from beginning of file
+ // Followed by a list of key events in the following format:
+ // Type of event $xx
+ // Time stamp $xx (xx ...)
+ // The 'Time stamp' is set to zero if directly at the beginning of the sound
+ // or after the previous event. All events MUST be sorted in chronological order.
+
+ $frame_offset = 0;
+ $parsedFrame['timestampformat'] = ord(substr($parsedFrame['data'], $frame_offset++, 1));
+
+ while ($frame_offset < strlen($parsedFrame['data'])) {
+ $parsedFrame['typeid'] = substr($parsedFrame['data'], $frame_offset++, 1);
+ $parsedFrame['type'] = $this->ETCOEventLookup($parsedFrame['typeid']);
+ $parsedFrame['timestamp'] = getid3_lib::BigEndian2Int(substr($parsedFrame['data'], $frame_offset, 4));
+ $frame_offset += 4;
+ }
+ unset($parsedFrame['data']);
+
+
+ } elseif ((($id3v2_majorversion >= 3) && ($parsedFrame['frame_name'] == 'MLLT')) || // 4.6 MLLT MPEG location lookup table
+ (($id3v2_majorversion == 2) && ($parsedFrame['frame_name'] == 'MLL'))) { // 4.7 MLL MPEG location lookup table
+ // There may only be one 'MLLT' frame in each tag
+ // <Header for 'Location lookup table', ID: 'MLLT'>
+ // MPEG frames between reference $xx xx
+ // Bytes between reference $xx xx xx
+ // Milliseconds between reference $xx xx xx
+ // Bits for bytes deviation $xx
+ // Bits for milliseconds dev. $xx
+ // Then for every reference the following data is included;
+ // Deviation in bytes %xxx....
+ // Deviation in milliseconds %xxx....
+
+ $frame_offset = 0;
+ $parsedFrame['framesbetweenreferences'] = getid3_lib::BigEndian2Int(substr($parsedFrame['data'], 0, 2));
+ $parsedFrame['bytesbetweenreferences'] = getid3_lib::BigEndian2Int(substr($parsedFrame['data'], 2, 3));
+ $parsedFrame['msbetweenreferences'] = getid3_lib::BigEndian2Int(substr($parsedFrame['data'], 5, 3));
+ $parsedFrame['bitsforbytesdeviation'] = getid3_lib::BigEndian2Int(substr($parsedFrame['data'], 8, 1));
+ $parsedFrame['bitsformsdeviation'] = getid3_lib::BigEndian2Int(substr($parsedFrame['data'], 9, 1));
+ $parsedFrame['data'] = substr($parsedFrame['data'], 10);
+ while ($frame_offset < strlen($parsedFrame['data'])) {
+ $deviationbitstream .= getid3_lib::BigEndian2Bin(substr($parsedFrame['data'], $frame_offset++, 1));
+ }
+ $reference_counter = 0;
+ while (strlen($deviationbitstream) > 0) {
+ $parsedFrame[$reference_counter]['bytedeviation'] = bindec(substr($deviationbitstream, 0, $parsedFrame['bitsforbytesdeviation']));
+ $parsedFrame[$reference_counter]['msdeviation'] = bindec(substr($deviationbitstream, $parsedFrame['bitsforbytesdeviation'], $parsedFrame['bitsformsdeviation']));
+ $deviationbitstream = substr($deviationbitstream, $parsedFrame['bitsforbytesdeviation'] + $parsedFrame['bitsformsdeviation']);
+ $reference_counter++;
+ }
+ unset($parsedFrame['data']);
+
+
+ } elseif ((($id3v2_majorversion >= 3) && ($parsedFrame['frame_name'] == 'SYTC')) || // 4.7 SYTC Synchronised tempo codes
+ (($id3v2_majorversion == 2) && ($parsedFrame['frame_name'] == 'STC'))) { // 4.8 STC Synchronised tempo codes
+ // There may only be one 'SYTC' frame in each tag
+ // <Header for 'Synchronised tempo codes', ID: 'SYTC'>
+ // Time stamp format $xx
+ // Tempo data <binary data>
+ // Where time stamp format is:
+ // $01 (32-bit value) MPEG frames from beginning of file
+ // $02 (32-bit value) milliseconds from beginning of file
+
+ $frame_offset = 0;
+ $parsedFrame['timestampformat'] = ord(substr($parsedFrame['data'], $frame_offset++, 1));
+ $timestamp_counter = 0;
+ while ($frame_offset < strlen($parsedFrame['data'])) {
+ $parsedFrame[$timestamp_counter]['tempo'] = ord(substr($parsedFrame['data'], $frame_offset++, 1));
+ if ($parsedFrame[$timestamp_counter]['tempo'] == 255) {
+ $parsedFrame[$timestamp_counter]['tempo'] += ord(substr($parsedFrame['data'], $frame_offset++, 1));
+ }
+ $parsedFrame[$timestamp_counter]['timestamp'] = getid3_lib::BigEndian2Int(substr($parsedFrame['data'], $frame_offset, 4));
+ $frame_offset += 4;
+ $timestamp_counter++;
+ }
+ unset($parsedFrame['data']);
+
+
+ } elseif ((($id3v2_majorversion >= 3) && ($parsedFrame['frame_name'] == 'USLT')) || // 4.8 USLT Unsynchronised lyric/text transcription
+ (($id3v2_majorversion == 2) && ($parsedFrame['frame_name'] == 'ULT'))) { // 4.9 ULT Unsynchronised lyric/text transcription
+ // There may be more than one 'Unsynchronised lyrics/text transcription' frame
+ // in each tag, but only one with the same language and content descriptor.
+ // <Header for 'Unsynchronised lyrics/text transcription', ID: 'USLT'>
+ // Text encoding $xx
+ // Language $xx xx xx
+ // Content descriptor <text string according to encoding> $00 (00)
+ // Lyrics/text <full text string according to encoding>
+
+ $frame_offset = 0;
+ $frame_textencoding = ord(substr($parsedFrame['data'], $frame_offset++, 1));
+ if ((($id3v2_majorversion <= 3) && ($frame_textencoding > 1)) || (($id3v2_majorversion == 4) && ($frame_textencoding > 3))) {
+ $info['warning'][] = 'Invalid text encoding byte ('.$frame_textencoding.') in frame "'.$parsedFrame['frame_name'].'" - defaulting to ISO-8859-1 encoding';
+ }
+ $frame_language = substr($parsedFrame['data'], $frame_offset, 3);
+ $frame_offset += 3;
+ $frame_terminatorpos = strpos($parsedFrame['data'], $this->TextEncodingTerminatorLookup($frame_textencoding), $frame_offset);
+ if (ord(substr($parsedFrame['data'], $frame_terminatorpos + strlen($this->TextEncodingTerminatorLookup($frame_textencoding)), 1)) === 0) {
+ $frame_terminatorpos++; // strpos() fooled because 2nd byte of Unicode chars are often 0x00
+ }
+ $frame_description = substr($parsedFrame['data'], $frame_offset, $frame_terminatorpos - $frame_offset);
+ if (ord($frame_description) === 0) {
+ $frame_description = '';
+ }
+ $parsedFrame['data'] = substr($parsedFrame['data'], $frame_terminatorpos + strlen($this->TextEncodingTerminatorLookup($frame_textencoding)));
+
+ $parsedFrame['encodingid'] = $frame_textencoding;
+ $parsedFrame['encoding'] = $this->TextEncodingNameLookup($frame_textencoding);
+
+ $parsedFrame['data'] = $parsedFrame['data'];
+ $parsedFrame['language'] = $frame_language;
+ $parsedFrame['languagename'] = $this->LanguageLookup($frame_language, false);
+ $parsedFrame['description'] = $frame_description;
+ if (!empty($parsedFrame['framenameshort']) && !empty($parsedFrame['data'])) {
+ $info['id3v2']['comments'][$parsedFrame['framenameshort']][] = getid3_lib::iconv_fallback($parsedFrame['encoding'], $info['id3v2']['encoding'], $parsedFrame['data']);
+ }
+ unset($parsedFrame['data']);
+
+
+ } elseif ((($id3v2_majorversion >= 3) && ($parsedFrame['frame_name'] == 'SYLT')) || // 4.9 SYLT Synchronised lyric/text
+ (($id3v2_majorversion == 2) && ($parsedFrame['frame_name'] == 'SLT'))) { // 4.10 SLT Synchronised lyric/text
+ // There may be more than one 'SYLT' frame in each tag,
+ // but only one with the same language and content descriptor.
+ // <Header for 'Synchronised lyrics/text', ID: 'SYLT'>
+ // Text encoding $xx
+ // Language $xx xx xx
+ // Time stamp format $xx
+ // $01 (32-bit value) MPEG frames from beginning of file
+ // $02 (32-bit value) milliseconds from beginning of file
+ // Content type $xx
+ // Content descriptor <text string according to encoding> $00 (00)
+ // Terminated text to be synced (typically a syllable)
+ // Sync identifier (terminator to above string) $00 (00)
+ // Time stamp $xx (xx ...)
+
+ $frame_offset = 0;
+ $frame_textencoding = ord(substr($parsedFrame['data'], $frame_offset++, 1));
+ if ((($id3v2_majorversion <= 3) && ($frame_textencoding > 1)) || (($id3v2_majorversion == 4) && ($frame_textencoding > 3))) {
+ $info['warning'][] = 'Invalid text encoding byte ('.$frame_textencoding.') in frame "'.$parsedFrame['frame_name'].'" - defaulting to ISO-8859-1 encoding';
+ }
+ $frame_language = substr($parsedFrame['data'], $frame_offset, 3);
+ $frame_offset += 3;
+ $parsedFrame['timestampformat'] = ord(substr($parsedFrame['data'], $frame_offset++, 1));
+ $parsedFrame['contenttypeid'] = ord(substr($parsedFrame['data'], $frame_offset++, 1));
+ $parsedFrame['contenttype'] = $this->SYTLContentTypeLookup($parsedFrame['contenttypeid']);
+ $parsedFrame['encodingid'] = $frame_textencoding;
+ $parsedFrame['encoding'] = $this->TextEncodingNameLookup($frame_textencoding);
+
+ $parsedFrame['language'] = $frame_language;
+ $parsedFrame['languagename'] = $this->LanguageLookup($frame_language, false);
+
+ $timestampindex = 0;
+ $frame_remainingdata = substr($parsedFrame['data'], $frame_offset);
+ while (strlen($frame_remainingdata)) {
+ $frame_offset = 0;
+ $frame_terminatorpos = strpos($frame_remainingdata, $this->TextEncodingTerminatorLookup($frame_textencoding));
+ if ($frame_terminatorpos === false) {
+ $frame_remainingdata = '';
+ } else {
+ if (ord(substr($frame_remainingdata, $frame_terminatorpos + strlen($this->TextEncodingTerminatorLookup($frame_textencoding)), 1)) === 0) {
+ $frame_terminatorpos++; // strpos() fooled because 2nd byte of Unicode chars are often 0x00
+ }
+ $parsedFrame['lyrics'][$timestampindex]['data'] = substr($frame_remainingdata, $frame_offset, $frame_terminatorpos - $frame_offset);
+
+ $frame_remainingdata = substr($frame_remainingdata, $frame_terminatorpos + strlen($this->TextEncodingTerminatorLookup($frame_textencoding)));
+ if (($timestampindex == 0) && (ord($frame_remainingdata{0}) != 0)) {
+ // timestamp probably omitted for first data item
+ } else {
+ $parsedFrame['lyrics'][$timestampindex]['timestamp'] = getid3_lib::BigEndian2Int(substr($frame_remainingdata, 0, 4));
+ $frame_remainingdata = substr($frame_remainingdata, 4);
+ }
+ $timestampindex++;
+ }
+ }
+ unset($parsedFrame['data']);
+
+
+ } elseif ((($id3v2_majorversion >= 3) && ($parsedFrame['frame_name'] == 'COMM')) || // 4.10 COMM Comments
+ (($id3v2_majorversion == 2) && ($parsedFrame['frame_name'] == 'COM'))) { // 4.11 COM Comments
+ // There may be more than one comment frame in each tag,
+ // but only one with the same language and content descriptor.
+ // <Header for 'Comment', ID: 'COMM'>
+ // Text encoding $xx
+ // Language $xx xx xx
+ // Short content descrip. <text string according to encoding> $00 (00)
+ // The actual text <full text string according to encoding>
+
+ if (strlen($parsedFrame['data']) < 5) {
+
+ $info['warning'][] = 'Invalid data (too short) for "'.$parsedFrame['frame_name'].'" frame at offset '.$parsedFrame['dataoffset'];
+
+ } else {
+
+ $frame_offset = 0;
+ $frame_textencoding = ord(substr($parsedFrame['data'], $frame_offset++, 1));
+ if ((($id3v2_majorversion <= 3) && ($frame_textencoding > 1)) || (($id3v2_majorversion == 4) && ($frame_textencoding > 3))) {
+ $info['warning'][] = 'Invalid text encoding byte ('.$frame_textencoding.') in frame "'.$parsedFrame['frame_name'].'" - defaulting to ISO-8859-1 encoding';
+ }
+ $frame_language = substr($parsedFrame['data'], $frame_offset, 3);
+ $frame_offset += 3;
+ $frame_terminatorpos = strpos($parsedFrame['data'], $this->TextEncodingTerminatorLookup($frame_textencoding), $frame_offset);
+ if (ord(substr($parsedFrame['data'], $frame_terminatorpos + strlen($this->TextEncodingTerminatorLookup($frame_textencoding)), 1)) === 0) {
+ $frame_terminatorpos++; // strpos() fooled because 2nd byte of Unicode chars are often 0x00
+ }
+ $frame_description = substr($parsedFrame['data'], $frame_offset, $frame_terminatorpos - $frame_offset);
+ if (ord($frame_description) === 0) {
+ $frame_description = '';
+ }
+ $frame_text = (string) substr($parsedFrame['data'], $frame_terminatorpos + strlen($this->TextEncodingTerminatorLookup($frame_textencoding)));
+
+ $parsedFrame['encodingid'] = $frame_textencoding;
+ $parsedFrame['encoding'] = $this->TextEncodingNameLookup($frame_textencoding);
+
+ $parsedFrame['language'] = $frame_language;
+ $parsedFrame['languagename'] = $this->LanguageLookup($frame_language, false);
+ $parsedFrame['description'] = $frame_description;
+ $parsedFrame['data'] = $frame_text;
+ if (!empty($parsedFrame['framenameshort']) && !empty($parsedFrame['data'])) {
+ $commentkey = ($parsedFrame['description'] ? $parsedFrame['description'] : (!empty($info['id3v2']['comments'][$parsedFrame['framenameshort']]) ? count($info['id3v2']['comments'][$parsedFrame['framenameshort']]) : 0));
+ if (!isset($info['id3v2']['comments'][$parsedFrame['framenameshort']]) || !array_key_exists($commentkey, $info['id3v2']['comments'][$parsedFrame['framenameshort']])) {
+ $info['id3v2']['comments'][$parsedFrame['framenameshort']][$commentkey] = getid3_lib::iconv_fallback($parsedFrame['encoding'], $info['id3v2']['encoding'], $parsedFrame['data']);
+ } else {
+ $info['id3v2']['comments'][$parsedFrame['framenameshort']][] = getid3_lib::iconv_fallback($parsedFrame['encoding'], $info['id3v2']['encoding'], $parsedFrame['data']);
+ }
+ }
+
+ }
+
+ } elseif (($id3v2_majorversion >= 4) && ($parsedFrame['frame_name'] == 'RVA2')) { // 4.11 RVA2 Relative volume adjustment (2) (ID3v2.4+ only)
+ // There may be more than one 'RVA2' frame in each tag,
+ // but only one with the same identification string
+ // <Header for 'Relative volume adjustment (2)', ID: 'RVA2'>
+ // Identification <text string> $00
+ // The 'identification' string is used to identify the situation and/or
+ // device where this adjustment should apply. The following is then
+ // repeated for every channel:
+ // Type of channel $xx
+ // Volume adjustment $xx xx
+ // Bits representing peak $xx
+ // Peak volume $xx (xx ...)
+
+ $frame_terminatorpos = strpos($parsedFrame['data'], "\x00");
+ $frame_idstring = substr($parsedFrame['data'], 0, $frame_terminatorpos);
+ if (ord($frame_idstring) === 0) {
+ $frame_idstring = '';
+ }
+ $frame_remainingdata = substr($parsedFrame['data'], $frame_terminatorpos + strlen("\x00"));
+ $parsedFrame['description'] = $frame_idstring;
+ $RVA2channelcounter = 0;
+ while (strlen($frame_remainingdata) >= 5) {
+ $frame_offset = 0;
+ $frame_channeltypeid = ord(substr($frame_remainingdata, $frame_offset++, 1));
+ $parsedFrame[$RVA2channelcounter]['channeltypeid'] = $frame_channeltypeid;
+ $parsedFrame[$RVA2channelcounter]['channeltype'] = $this->RVA2ChannelTypeLookup($frame_channeltypeid);
+ $parsedFrame[$RVA2channelcounter]['volumeadjust'] = getid3_lib::BigEndian2Int(substr($frame_remainingdata, $frame_offset, 2), false, true); // 16-bit signed
+ $frame_offset += 2;
+ $parsedFrame[$RVA2channelcounter]['bitspeakvolume'] = ord(substr($frame_remainingdata, $frame_offset++, 1));
+ if (($parsedFrame[$RVA2channelcounter]['bitspeakvolume'] < 1) || ($parsedFrame[$RVA2channelcounter]['bitspeakvolume'] > 4)) {
+ $info['warning'][] = 'ID3v2::RVA2 frame['.$RVA2channelcounter.'] contains invalid '.$parsedFrame[$RVA2channelcounter]['bitspeakvolume'].'-byte bits-representing-peak value';
+ break;
+ }
+ $frame_bytespeakvolume = ceil($parsedFrame[$RVA2channelcounter]['bitspeakvolume'] / 8);
+ $parsedFrame[$RVA2channelcounter]['peakvolume'] = getid3_lib::BigEndian2Int(substr($frame_remainingdata, $frame_offset, $frame_bytespeakvolume));
+ $frame_remainingdata = substr($frame_remainingdata, $frame_offset + $frame_bytespeakvolume);
+ $RVA2channelcounter++;
+ }
+ unset($parsedFrame['data']);
+
+
+ } elseif ((($id3v2_majorversion == 3) && ($parsedFrame['frame_name'] == 'RVAD')) || // 4.12 RVAD Relative volume adjustment (ID3v2.3 only)
+ (($id3v2_majorversion == 2) && ($parsedFrame['frame_name'] == 'RVA'))) { // 4.12 RVA Relative volume adjustment (ID3v2.2 only)
+ // There may only be one 'RVA' frame in each tag
+ // <Header for 'Relative volume adjustment', ID: 'RVA'>
+ // ID3v2.2 => Increment/decrement %000000ba
+ // ID3v2.3 => Increment/decrement %00fedcba
+ // Bits used for volume descr. $xx
+ // Relative volume change, right $xx xx (xx ...) // a
+ // Relative volume change, left $xx xx (xx ...) // b
+ // Peak volume right $xx xx (xx ...)
+ // Peak volume left $xx xx (xx ...)
+ // ID3v2.3 only, optional (not present in ID3v2.2):
+ // Relative volume change, right back $xx xx (xx ...) // c
+ // Relative volume change, left back $xx xx (xx ...) // d
+ // Peak volume right back $xx xx (xx ...)
+ // Peak volume left back $xx xx (xx ...)
+ // ID3v2.3 only, optional (not present in ID3v2.2):
+ // Relative volume change, center $xx xx (xx ...) // e
+ // Peak volume center $xx xx (xx ...)
+ // ID3v2.3 only, optional (not present in ID3v2.2):
+ // Relative volume change, bass $xx xx (xx ...) // f
+ // Peak volume bass $xx xx (xx ...)
+
+ $frame_offset = 0;
+ $frame_incrdecrflags = getid3_lib::BigEndian2Bin(substr($parsedFrame['data'], $frame_offset++, 1));
+ $parsedFrame['incdec']['right'] = (bool) substr($frame_incrdecrflags, 6, 1);
+ $parsedFrame['incdec']['left'] = (bool) substr($frame_incrdecrflags, 7, 1);
+ $parsedFrame['bitsvolume'] = ord(substr($parsedFrame['data'], $frame_offset++, 1));
+ $frame_bytesvolume = ceil($parsedFrame['bitsvolume'] / 8);
+ $parsedFrame['volumechange']['right'] = getid3_lib::BigEndian2Int(substr($parsedFrame['data'], $frame_offset, $frame_bytesvolume));
+ if ($parsedFrame['incdec']['right'] === false) {
+ $parsedFrame['volumechange']['right'] *= -1;
+ }
+ $frame_offset += $frame_bytesvolume;
+ $parsedFrame['volumechange']['left'] = getid3_lib::BigEndian2Int(substr($parsedFrame['data'], $frame_offset, $frame_bytesvolume));
+ if ($parsedFrame['incdec']['left'] === false) {
+ $parsedFrame['volumechange']['left'] *= -1;
+ }
+ $frame_offset += $frame_bytesvolume;
+ $parsedFrame['peakvolume']['right'] = getid3_lib::BigEndian2Int(substr($parsedFrame['data'], $frame_offset, $frame_bytesvolume));
+ $frame_offset += $frame_bytesvolume;
+ $parsedFrame['peakvolume']['left'] = getid3_lib::BigEndian2Int(substr($parsedFrame['data'], $frame_offset, $frame_bytesvolume));
+ $frame_offset += $frame_bytesvolume;
+ if ($id3v2_majorversion == 3) {
+ $parsedFrame['data'] = substr($parsedFrame['data'], $frame_offset);
+ if (strlen($parsedFrame['data']) > 0) {
+ $parsedFrame['incdec']['rightrear'] = (bool) substr($frame_incrdecrflags, 4, 1);
+ $parsedFrame['incdec']['leftrear'] = (bool) substr($frame_incrdecrflags, 5, 1);
+ $parsedFrame['volumechange']['rightrear'] = getid3_lib::BigEndian2Int(substr($parsedFrame['data'], $frame_offset, $frame_bytesvolume));
+ if ($parsedFrame['incdec']['rightrear'] === false) {
+ $parsedFrame['volumechange']['rightrear'] *= -1;
+ }
+ $frame_offset += $frame_bytesvolume;
+ $parsedFrame['volumechange']['leftrear'] = getid3_lib::BigEndian2Int(substr($parsedFrame['data'], $frame_offset, $frame_bytesvolume));
+ if ($parsedFrame['incdec']['leftrear'] === false) {
+ $parsedFrame['volumechange']['leftrear'] *= -1;
+ }
+ $frame_offset += $frame_bytesvolume;
+ $parsedFrame['peakvolume']['rightrear'] = getid3_lib::BigEndian2Int(substr($parsedFrame['data'], $frame_offset, $frame_bytesvolume));
+ $frame_offset += $frame_bytesvolume;
+ $parsedFrame['peakvolume']['leftrear'] = getid3_lib::BigEndian2Int(substr($parsedFrame['data'], $frame_offset, $frame_bytesvolume));
+ $frame_offset += $frame_bytesvolume;
+ }
+ $parsedFrame['data'] = substr($parsedFrame['data'], $frame_offset);
+ if (strlen($parsedFrame['data']) > 0) {
+ $parsedFrame['incdec']['center'] = (bool) substr($frame_incrdecrflags, 3, 1);
+ $parsedFrame['volumechange']['center'] = getid3_lib::BigEndian2Int(substr($parsedFrame['data'], $frame_offset, $frame_bytesvolume));
+ if ($parsedFrame['incdec']['center'] === false) {
+ $parsedFrame['volumechange']['center'] *= -1;
+ }
+ $frame_offset += $frame_bytesvolume;
+ $parsedFrame['peakvolume']['center'] = getid3_lib::BigEndian2Int(substr($parsedFrame['data'], $frame_offset, $frame_bytesvolume));
+ $frame_offset += $frame_bytesvolume;
+ }
+ $parsedFrame['data'] = substr($parsedFrame['data'], $frame_offset);
+ if (strlen($parsedFrame['data']) > 0) {
+ $parsedFrame['incdec']['bass'] = (bool) substr($frame_incrdecrflags, 2, 1);
+ $parsedFrame['volumechange']['bass'] = getid3_lib::BigEndian2Int(substr($parsedFrame['data'], $frame_offset, $frame_bytesvolume));
+ if ($parsedFrame['incdec']['bass'] === false) {
+ $parsedFrame['volumechange']['bass'] *= -1;
+ }
+ $frame_offset += $frame_bytesvolume;
+ $parsedFrame['peakvolume']['bass'] = getid3_lib::BigEndian2Int(substr($parsedFrame['data'], $frame_offset, $frame_bytesvolume));
+ $frame_offset += $frame_bytesvolume;
+ }
+ }
+ unset($parsedFrame['data']);
+
+
+ } elseif (($id3v2_majorversion >= 4) && ($parsedFrame['frame_name'] == 'EQU2')) { // 4.12 EQU2 Equalisation (2) (ID3v2.4+ only)
+ // There may be more than one 'EQU2' frame in each tag,
+ // but only one with the same identification string
+ // <Header of 'Equalisation (2)', ID: 'EQU2'>
+ // Interpolation method $xx
+ // $00 Band
+ // $01 Linear
+ // Identification <text string> $00
+ // The following is then repeated for every adjustment point
+ // Frequency $xx xx
+ // Volume adjustment $xx xx
+
+ $frame_offset = 0;
+ $frame_interpolationmethod = ord(substr($parsedFrame['data'], $frame_offset++, 1));
+ $frame_terminatorpos = strpos($parsedFrame['data'], "\x00", $frame_offset);
+ $frame_idstring = substr($parsedFrame['data'], $frame_offset, $frame_terminatorpos - $frame_offset);
+ if (ord($frame_idstring) === 0) {
+ $frame_idstring = '';
+ }
+ $parsedFrame['description'] = $frame_idstring;
+ $frame_remainingdata = substr($parsedFrame['data'], $frame_terminatorpos + strlen("\x00"));
+ while (strlen($frame_remainingdata)) {
+ $frame_frequency = getid3_lib::BigEndian2Int(substr($frame_remainingdata, 0, 2)) / 2;
+ $parsedFrame['data'][$frame_frequency] = getid3_lib::BigEndian2Int(substr($frame_remainingdata, 2, 2), false, true);
+ $frame_remainingdata = substr($frame_remainingdata, 4);
+ }
+ $parsedFrame['interpolationmethod'] = $frame_interpolationmethod;
+ unset($parsedFrame['data']);
+
+
+ } elseif ((($id3v2_majorversion == 3) && ($parsedFrame['frame_name'] == 'EQUA')) || // 4.12 EQUA Equalisation (ID3v2.3 only)
+ (($id3v2_majorversion == 2) && ($parsedFrame['frame_name'] == 'EQU'))) { // 4.13 EQU Equalisation (ID3v2.2 only)
+ // There may only be one 'EQUA' frame in each tag
+ // <Header for 'Relative volume adjustment', ID: 'EQU'>
+ // Adjustment bits $xx
+ // This is followed by 2 bytes + ('adjustment bits' rounded up to the
+ // nearest byte) for every equalisation band in the following format,
+ // giving a frequency range of 0 - 32767Hz:
+ // Increment/decrement %x (MSB of the Frequency)
+ // Frequency (lower 15 bits)
+ // Adjustment $xx (xx ...)
+
+ $frame_offset = 0;
+ $parsedFrame['adjustmentbits'] = substr($parsedFrame['data'], $frame_offset++, 1);
+ $frame_adjustmentbytes = ceil($parsedFrame['adjustmentbits'] / 8);
+
+ $frame_remainingdata = (string) substr($parsedFrame['data'], $frame_offset);
+ while (strlen($frame_remainingdata) > 0) {
+ $frame_frequencystr = getid3_lib::BigEndian2Bin(substr($frame_remainingdata, 0, 2));
+ $frame_incdec = (bool) substr($frame_frequencystr, 0, 1);
+ $frame_frequency = bindec(substr($frame_frequencystr, 1, 15));
+ $parsedFrame[$frame_frequency]['incdec'] = $frame_incdec;
+ $parsedFrame[$frame_frequency]['adjustment'] = getid3_lib::BigEndian2Int(substr($frame_remainingdata, 2, $frame_adjustmentbytes));
+ if ($parsedFrame[$frame_frequency]['incdec'] === false) {
+ $parsedFrame[$frame_frequency]['adjustment'] *= -1;
+ }
+ $frame_remainingdata = substr($frame_remainingdata, 2 + $frame_adjustmentbytes);
+ }
+ unset($parsedFrame['data']);
+
+
+ } elseif ((($id3v2_majorversion >= 3) && ($parsedFrame['frame_name'] == 'RVRB')) || // 4.13 RVRB Reverb
+ (($id3v2_majorversion == 2) && ($parsedFrame['frame_name'] == 'REV'))) { // 4.14 REV Reverb
+ // There may only be one 'RVRB' frame in each tag.
+ // <Header for 'Reverb', ID: 'RVRB'>
+ // Reverb left (ms) $xx xx
+ // Reverb right (ms) $xx xx
+ // Reverb bounces, left $xx
+ // Reverb bounces, right $xx
+ // Reverb feedback, left to left $xx
+ // Reverb feedback, left to right $xx
+ // Reverb feedback, right to right $xx
+ // Reverb feedback, right to left $xx
+ // Premix left to right $xx
+ // Premix right to left $xx
+
+ $frame_offset = 0;
+ $parsedFrame['left'] = getid3_lib::BigEndian2Int(substr($parsedFrame['data'], $frame_offset, 2));
+ $frame_offset += 2;
+ $parsedFrame['right'] = getid3_lib::BigEndian2Int(substr($parsedFrame['data'], $frame_offset, 2));
+ $frame_offset += 2;
+ $parsedFrame['bouncesL'] = ord(substr($parsedFrame['data'], $frame_offset++, 1));
+ $parsedFrame['bouncesR'] = ord(substr($parsedFrame['data'], $frame_offset++, 1));
+ $parsedFrame['feedbackLL'] = ord(substr($parsedFrame['data'], $frame_offset++, 1));
+ $parsedFrame['feedbackLR'] = ord(substr($parsedFrame['data'], $frame_offset++, 1));
+ $parsedFrame['feedbackRR'] = ord(substr($parsedFrame['data'], $frame_offset++, 1));
+ $parsedFrame['feedbackRL'] = ord(substr($parsedFrame['data'], $frame_offset++, 1));
+ $parsedFrame['premixLR'] = ord(substr($parsedFrame['data'], $frame_offset++, 1));
+ $parsedFrame['premixRL'] = ord(substr($parsedFrame['data'], $frame_offset++, 1));
+ unset($parsedFrame['data']);
+
+
+ } elseif ((($id3v2_majorversion >= 3) && ($parsedFrame['frame_name'] == 'APIC')) || // 4.14 APIC Attached picture
+ (($id3v2_majorversion == 2) && ($parsedFrame['frame_name'] == 'PIC'))) { // 4.15 PIC Attached picture
+ // There may be several pictures attached to one file,
+ // each in their individual 'APIC' frame, but only one
+ // with the same content descriptor
+ // <Header for 'Attached picture', ID: 'APIC'>
+ // Text encoding $xx
+ // ID3v2.3+ => MIME type <text string> $00
+ // ID3v2.2 => Image format $xx xx xx
+ // Picture type $xx
+ // Description <text string according to encoding> $00 (00)
+ // Picture data <binary data>
+
+ $frame_offset = 0;
+ $frame_textencoding = ord(substr($parsedFrame['data'], $frame_offset++, 1));
+ if ((($id3v2_majorversion <= 3) && ($frame_textencoding > 1)) || (($id3v2_majorversion == 4) && ($frame_textencoding > 3))) {
+ $info['warning'][] = 'Invalid text encoding byte ('.$frame_textencoding.') in frame "'.$parsedFrame['frame_name'].'" - defaulting to ISO-8859-1 encoding';
+ }
+
+ if ($id3v2_majorversion == 2 && strlen($parsedFrame['data']) > $frame_offset) {
+ $frame_imagetype = substr($parsedFrame['data'], $frame_offset, 3);
+ if (strtolower($frame_imagetype) == 'ima') {
+ // complete hack for mp3Rage (www.chaoticsoftware.com) that puts ID3v2.3-formatted
+ // MIME type instead of 3-char ID3v2.2-format image type (thanks xbhoffØpacbell*net)
+ $frame_terminatorpos = strpos($parsedFrame['data'], "\x00", $frame_offset);
+ $frame_mimetype = substr($parsedFrame['data'], $frame_offset, $frame_terminatorpos - $frame_offset);
+ if (ord($frame_mimetype) === 0) {
+ $frame_mimetype = '';
+ }
+ $frame_imagetype = strtoupper(str_replace('image/', '', strtolower($frame_mimetype)));
+ if ($frame_imagetype == 'JPEG') {
+ $frame_imagetype = 'JPG';
+ }
+ $frame_offset = $frame_terminatorpos + strlen("\x00");
+ } else {
+ $frame_offset += 3;
+ }
+ }
+ if ($id3v2_majorversion > 2 && strlen($parsedFrame['data']) > $frame_offset) {
+ $frame_terminatorpos = strpos($parsedFrame['data'], "\x00", $frame_offset);
+ $frame_mimetype = substr($parsedFrame['data'], $frame_offset, $frame_terminatorpos - $frame_offset);
+ if (ord($frame_mimetype) === 0) {
+ $frame_mimetype = '';
+ }
+ $frame_offset = $frame_terminatorpos + strlen("\x00");
+ }
+
+ $frame_picturetype = ord(substr($parsedFrame['data'], $frame_offset++, 1));
+
+ if ($frame_offset >= $parsedFrame['datalength']) {
+ $info['warning'][] = 'data portion of APIC frame is missing at offset '.($parsedFrame['dataoffset'] + 8 + $frame_offset);
+ } else {
+ $frame_terminatorpos = strpos($parsedFrame['data'], $this->TextEncodingTerminatorLookup($frame_textencoding), $frame_offset);
+ if (ord(substr($parsedFrame['data'], $frame_terminatorpos + strlen($this->TextEncodingTerminatorLookup($frame_textencoding)), 1)) === 0) {
+ $frame_terminatorpos++; // strpos() fooled because 2nd byte of Unicode chars are often 0x00
+ }
+ $frame_description = substr($parsedFrame['data'], $frame_offset, $frame_terminatorpos - $frame_offset);
+ if (ord($frame_description) === 0) {
+ $frame_description = '';
+ }
+ $parsedFrame['encodingid'] = $frame_textencoding;
+ $parsedFrame['encoding'] = $this->TextEncodingNameLookup($frame_textencoding);
+
+ if ($id3v2_majorversion == 2) {
+ $parsedFrame['imagetype'] = $frame_imagetype;
+ } else {
+ $parsedFrame['mime'] = $frame_mimetype;
+ }
+ $parsedFrame['picturetypeid'] = $frame_picturetype;
+ $parsedFrame['picturetype'] = $this->APICPictureTypeLookup($frame_picturetype);
+ $parsedFrame['description'] = $frame_description;
+ $parsedFrame['data'] = substr($parsedFrame['data'], $frame_terminatorpos + strlen($this->TextEncodingTerminatorLookup($frame_textencoding)));
+ $parsedFrame['datalength'] = strlen($parsedFrame['data']);
+
+ $parsedFrame['image_mime'] = '';
+ $imageinfo = array();
+ $imagechunkcheck = getid3_lib::GetDataImageSize($parsedFrame['data'], $imageinfo);
+ if (($imagechunkcheck[2] >= 1) && ($imagechunkcheck[2] <= 3)) {
+ $parsedFrame['image_mime'] = 'image/'.getid3_lib::ImageTypesLookup($imagechunkcheck[2]);
+ if ($imagechunkcheck[0]) {
+ $parsedFrame['image_width'] = $imagechunkcheck[0];
+ }
+ if ($imagechunkcheck[1]) {
+ $parsedFrame['image_height'] = $imagechunkcheck[1];
+ }
+ }
+
+ do {
+ if (!empty($parsedFrame['framenameshort']) && !empty($parsedFrame['data'])) {
+ if (!isset($info['id3v2']['comments']['picture'])) {
+ $info['id3v2']['comments']['picture'] = array();
+ }
+ $info['id3v2']['comments']['picture'][] = array('data'=>$parsedFrame['data'], 'image_mime'=>$parsedFrame['image_mime']);
+ }
+ } while (false);
+ }
+
+ } elseif ((($id3v2_majorversion >= 3) && ($parsedFrame['frame_name'] == 'GEOB')) || // 4.15 GEOB General encapsulated object
+ (($id3v2_majorversion == 2) && ($parsedFrame['frame_name'] == 'GEO'))) { // 4.16 GEO General encapsulated object
+ // There may be more than one 'GEOB' frame in each tag,
+ // but only one with the same content descriptor
+ // <Header for 'General encapsulated object', ID: 'GEOB'>
+ // Text encoding $xx
+ // MIME type <text string> $00
+ // Filename <text string according to encoding> $00 (00)
+ // Content description <text string according to encoding> $00 (00)
+ // Encapsulated object <binary data>
+
+ $frame_offset = 0;
+ $frame_textencoding = ord(substr($parsedFrame['data'], $frame_offset++, 1));
+ if ((($id3v2_majorversion <= 3) && ($frame_textencoding > 1)) || (($id3v2_majorversion == 4) && ($frame_textencoding > 3))) {
+ $info['warning'][] = 'Invalid text encoding byte ('.$frame_textencoding.') in frame "'.$parsedFrame['frame_name'].'" - defaulting to ISO-8859-1 encoding';
+ }
+ $frame_terminatorpos = strpos($parsedFrame['data'], "\x00", $frame_offset);
+ $frame_mimetype = substr($parsedFrame['data'], $frame_offset, $frame_terminatorpos - $frame_offset);
+ if (ord($frame_mimetype) === 0) {
+ $frame_mimetype = '';
+ }
+ $frame_offset = $frame_terminatorpos + strlen("\x00");
+
+ $frame_terminatorpos = strpos($parsedFrame['data'], $this->TextEncodingTerminatorLookup($frame_textencoding), $frame_offset);
+ if (ord(substr($parsedFrame['data'], $frame_terminatorpos + strlen($this->TextEncodingTerminatorLookup($frame_textencoding)), 1)) === 0) {
+ $frame_terminatorpos++; // strpos() fooled because 2nd byte of Unicode chars are often 0x00
+ }
+ $frame_filename = substr($parsedFrame['data'], $frame_offset, $frame_terminatorpos - $frame_offset);
+ if (ord($frame_filename) === 0) {
+ $frame_filename = '';
+ }
+ $frame_offset = $frame_terminatorpos + strlen($this->TextEncodingTerminatorLookup($frame_textencoding));
+
+ $frame_terminatorpos = strpos($parsedFrame['data'], $this->TextEncodingTerminatorLookup($frame_textencoding), $frame_offset);
+ if (ord(substr($parsedFrame['data'], $frame_terminatorpos + strlen($this->TextEncodingTerminatorLookup($frame_textencoding)), 1)) === 0) {
+ $frame_terminatorpos++; // strpos() fooled because 2nd byte of Unicode chars are often 0x00
+ }
+ $frame_description = substr($parsedFrame['data'], $frame_offset, $frame_terminatorpos - $frame_offset);
+ if (ord($frame_description) === 0) {
+ $frame_description = '';
+ }
+ $frame_offset = $frame_terminatorpos + strlen($this->TextEncodingTerminatorLookup($frame_textencoding));
+
+ $parsedFrame['objectdata'] = (string) substr($parsedFrame['data'], $frame_offset);
+ $parsedFrame['encodingid'] = $frame_textencoding;
+ $parsedFrame['encoding'] = $this->TextEncodingNameLookup($frame_textencoding);
+
+ $parsedFrame['mime'] = $frame_mimetype;
+ $parsedFrame['filename'] = $frame_filename;
+ $parsedFrame['description'] = $frame_description;
+ unset($parsedFrame['data']);
+
+
+ } elseif ((($id3v2_majorversion >= 3) && ($parsedFrame['frame_name'] == 'PCNT')) || // 4.16 PCNT Play counter
+ (($id3v2_majorversion == 2) && ($parsedFrame['frame_name'] == 'CNT'))) { // 4.17 CNT Play counter
+ // There may only be one 'PCNT' frame in each tag.
+ // When the counter reaches all one's, one byte is inserted in
+ // front of the counter thus making the counter eight bits bigger
+ // <Header for 'Play counter', ID: 'PCNT'>
+ // Counter $xx xx xx xx (xx ...)
+
+ $parsedFrame['data'] = getid3_lib::BigEndian2Int($parsedFrame['data']);
+
+
+ } elseif ((($id3v2_majorversion >= 3) && ($parsedFrame['frame_name'] == 'POPM')) || // 4.17 POPM Popularimeter
+ (($id3v2_majorversion == 2) && ($parsedFrame['frame_name'] == 'POP'))) { // 4.18 POP Popularimeter
+ // There may be more than one 'POPM' frame in each tag,
+ // but only one with the same email address
+ // <Header for 'Popularimeter', ID: 'POPM'>
+ // Email to user <text string> $00
+ // Rating $xx
+ // Counter $xx xx xx xx (xx ...)
+
+ $frame_offset = 0;
+ $frame_terminatorpos = strpos($parsedFrame['data'], "\x00", $frame_offset);
+ $frame_emailaddress = substr($parsedFrame['data'], $frame_offset, $frame_terminatorpos - $frame_offset);
+ if (ord($frame_emailaddress) === 0) {
+ $frame_emailaddress = '';
+ }
+ $frame_offset = $frame_terminatorpos + strlen("\x00");
+ $frame_rating = ord(substr($parsedFrame['data'], $frame_offset++, 1));
+ $parsedFrame['counter'] = getid3_lib::BigEndian2Int(substr($parsedFrame['data'], $frame_offset));
+ $parsedFrame['email'] = $frame_emailaddress;
+ $parsedFrame['rating'] = $frame_rating;
+ unset($parsedFrame['data']);
+
+
+ } elseif ((($id3v2_majorversion >= 3) && ($parsedFrame['frame_name'] == 'RBUF')) || // 4.18 RBUF Recommended buffer size
+ (($id3v2_majorversion == 2) && ($parsedFrame['frame_name'] == 'BUF'))) { // 4.19 BUF Recommended buffer size
+ // There may only be one 'RBUF' frame in each tag
+ // <Header for 'Recommended buffer size', ID: 'RBUF'>
+ // Buffer size $xx xx xx
+ // Embedded info flag %0000000x
+ // Offset to next tag $xx xx xx xx
+
+ $frame_offset = 0;
+ $parsedFrame['buffersize'] = getid3_lib::BigEndian2Int(substr($parsedFrame['data'], $frame_offset, 3));
+ $frame_offset += 3;
+
+ $frame_embeddedinfoflags = getid3_lib::BigEndian2Bin(substr($parsedFrame['data'], $frame_offset++, 1));
+ $parsedFrame['flags']['embededinfo'] = (bool) substr($frame_embeddedinfoflags, 7, 1);
+ $parsedFrame['nexttagoffset'] = getid3_lib::BigEndian2Int(substr($parsedFrame['data'], $frame_offset, 4));
+ unset($parsedFrame['data']);
+
+
+ } elseif (($id3v2_majorversion == 2) && ($parsedFrame['frame_name'] == 'CRM')) { // 4.20 Encrypted meta frame (ID3v2.2 only)
+ // There may be more than one 'CRM' frame in a tag,
+ // but only one with the same 'owner identifier'
+ // <Header for 'Encrypted meta frame', ID: 'CRM'>
+ // Owner identifier <textstring> $00 (00)
+ // Content/explanation <textstring> $00 (00)
+ // Encrypted datablock <binary data>
+
+ $frame_offset = 0;
+ $frame_terminatorpos = strpos($parsedFrame['data'], "\x00", $frame_offset);
+ $frame_ownerid = substr($parsedFrame['data'], $frame_offset, $frame_terminatorpos - $frame_offset);
+ $frame_offset = $frame_terminatorpos + strlen("\x00");
+
+ $frame_terminatorpos = strpos($parsedFrame['data'], "\x00", $frame_offset);
+ $frame_description = substr($parsedFrame['data'], $frame_offset, $frame_terminatorpos - $frame_offset);
+ if (ord($frame_description) === 0) {
+ $frame_description = '';
+ }
+ $frame_offset = $frame_terminatorpos + strlen("\x00");
+
+ $parsedFrame['ownerid'] = $frame_ownerid;
+ $parsedFrame['data'] = (string) substr($parsedFrame['data'], $frame_offset);
+ $parsedFrame['description'] = $frame_description;
+ unset($parsedFrame['data']);
+
+
+ } elseif ((($id3v2_majorversion >= 3) && ($parsedFrame['frame_name'] == 'AENC')) || // 4.19 AENC Audio encryption
+ (($id3v2_majorversion == 2) && ($parsedFrame['frame_name'] == 'CRA'))) { // 4.21 CRA Audio encryption
+ // There may be more than one 'AENC' frames in a tag,
+ // but only one with the same 'Owner identifier'
+ // <Header for 'Audio encryption', ID: 'AENC'>
+ // Owner identifier <text string> $00
+ // Preview start $xx xx
+ // Preview length $xx xx
+ // Encryption info <binary data>
+
+ $frame_offset = 0;
+ $frame_terminatorpos = strpos($parsedFrame['data'], "\x00", $frame_offset);
+ $frame_ownerid = substr($parsedFrame['data'], $frame_offset, $frame_terminatorpos - $frame_offset);
+ if (ord($frame_ownerid) === 0) {
+ $frame_ownerid == '';
+ }
+ $frame_offset = $frame_terminatorpos + strlen("\x00");
+ $parsedFrame['ownerid'] = $frame_ownerid;
+ $parsedFrame['previewstart'] = getid3_lib::BigEndian2Int(substr($parsedFrame['data'], $frame_offset, 2));
+ $frame_offset += 2;
+ $parsedFrame['previewlength'] = getid3_lib::BigEndian2Int(substr($parsedFrame['data'], $frame_offset, 2));
+ $frame_offset += 2;
+ $parsedFrame['encryptioninfo'] = (string) substr($parsedFrame['data'], $frame_offset);
+ unset($parsedFrame['data']);
+
+
+ } elseif ((($id3v2_majorversion >= 3) && ($parsedFrame['frame_name'] == 'LINK')) || // 4.20 LINK Linked information
+ (($id3v2_majorversion == 2) && ($parsedFrame['frame_name'] == 'LNK'))) { // 4.22 LNK Linked information
+ // There may be more than one 'LINK' frame in a tag,
+ // but only one with the same contents
+ // <Header for 'Linked information', ID: 'LINK'>
+ // ID3v2.3+ => Frame identifier $xx xx xx xx
+ // ID3v2.2 => Frame identifier $xx xx xx
+ // URL <text string> $00
+ // ID and additional data <text string(s)>
+
+ $frame_offset = 0;
+ if ($id3v2_majorversion == 2) {
+ $parsedFrame['frameid'] = substr($parsedFrame['data'], $frame_offset, 3);
+ $frame_offset += 3;
+ } else {
+ $parsedFrame['frameid'] = substr($parsedFrame['data'], $frame_offset, 4);
+ $frame_offset += 4;
+ }
+
+ $frame_terminatorpos = strpos($parsedFrame['data'], "\x00", $frame_offset);
+ $frame_url = substr($parsedFrame['data'], $frame_offset, $frame_terminatorpos - $frame_offset);
+ if (ord($frame_url) === 0) {
+ $frame_url = '';
+ }
+ $frame_offset = $frame_terminatorpos + strlen("\x00");
+ $parsedFrame['url'] = $frame_url;
+
+ $parsedFrame['additionaldata'] = (string) substr($parsedFrame['data'], $frame_offset);
+ if (!empty($parsedFrame['framenameshort']) && $parsedFrame['url']) {
+ $info['id3v2']['comments'][$parsedFrame['framenameshort']][] = utf8_encode($parsedFrame['url']);
+ }
+ unset($parsedFrame['data']);
+
+
+ } elseif (($id3v2_majorversion >= 3) && ($parsedFrame['frame_name'] == 'POSS')) { // 4.21 POSS Position synchronisation frame (ID3v2.3+ only)
+ // There may only be one 'POSS' frame in each tag
+ // <Head for 'Position synchronisation', ID: 'POSS'>
+ // Time stamp format $xx
+ // Position $xx (xx ...)
+
+ $frame_offset = 0;
+ $parsedFrame['timestampformat'] = ord(substr($parsedFrame['data'], $frame_offset++, 1));
+ $parsedFrame['position'] = getid3_lib::BigEndian2Int(substr($parsedFrame['data'], $frame_offset));
+ unset($parsedFrame['data']);
+
+
+ } elseif (($id3v2_majorversion >= 3) && ($parsedFrame['frame_name'] == 'USER')) { // 4.22 USER Terms of use (ID3v2.3+ only)
+ // There may be more than one 'Terms of use' frame in a tag,
+ // but only one with the same 'Language'
+ // <Header for 'Terms of use frame', ID: 'USER'>
+ // Text encoding $xx
+ // Language $xx xx xx
+ // The actual text <text string according to encoding>
+
+ $frame_offset = 0;
+ $frame_textencoding = ord(substr($parsedFrame['data'], $frame_offset++, 1));
+ if ((($id3v2_majorversion <= 3) && ($frame_textencoding > 1)) || (($id3v2_majorversion == 4) && ($frame_textencoding > 3))) {
+ $info['warning'][] = 'Invalid text encoding byte ('.$frame_textencoding.') in frame "'.$parsedFrame['frame_name'].'" - defaulting to ISO-8859-1 encoding';
+ }
+ $frame_language = substr($parsedFrame['data'], $frame_offset, 3);
+ $frame_offset += 3;
+ $parsedFrame['language'] = $frame_language;
+ $parsedFrame['languagename'] = $this->LanguageLookup($frame_language, false);
+ $parsedFrame['encodingid'] = $frame_textencoding;
+ $parsedFrame['encoding'] = $this->TextEncodingNameLookup($frame_textencoding);
+
+ $parsedFrame['data'] = (string) substr($parsedFrame['data'], $frame_offset);
+ if (!empty($parsedFrame['framenameshort']) && !empty($parsedFrame['data'])) {
+ $info['id3v2']['comments'][$parsedFrame['framenameshort']][] = getid3_lib::iconv_fallback($parsedFrame['encoding'], $info['id3v2']['encoding'], $parsedFrame['data']);
+ }
+ unset($parsedFrame['data']);
+
+
+ } elseif (($id3v2_majorversion >= 3) && ($parsedFrame['frame_name'] == 'OWNE')) { // 4.23 OWNE Ownership frame (ID3v2.3+ only)
+ // There may only be one 'OWNE' frame in a tag
+ // <Header for 'Ownership frame', ID: 'OWNE'>
+ // Text encoding $xx
+ // Price paid <text string> $00
+ // Date of purch. <text string>
+ // Seller <text string according to encoding>
+
+ $frame_offset = 0;
+ $frame_textencoding = ord(substr($parsedFrame['data'], $frame_offset++, 1));
+ if ((($id3v2_majorversion <= 3) && ($frame_textencoding > 1)) || (($id3v2_majorversion == 4) && ($frame_textencoding > 3))) {
+ $info['warning'][] = 'Invalid text encoding byte ('.$frame_textencoding.') in frame "'.$parsedFrame['frame_name'].'" - defaulting to ISO-8859-1 encoding';
+ }
+ $parsedFrame['encodingid'] = $frame_textencoding;
+ $parsedFrame['encoding'] = $this->TextEncodingNameLookup($frame_textencoding);
+
+ $frame_terminatorpos = strpos($parsedFrame['data'], "\x00", $frame_offset);
+ $frame_pricepaid = substr($parsedFrame['data'], $frame_offset, $frame_terminatorpos - $frame_offset);
+ $frame_offset = $frame_terminatorpos + strlen("\x00");
+
+ $parsedFrame['pricepaid']['currencyid'] = substr($frame_pricepaid, 0, 3);
+ $parsedFrame['pricepaid']['currency'] = $this->LookupCurrencyUnits($parsedFrame['pricepaid']['currencyid']);
+ $parsedFrame['pricepaid']['value'] = substr($frame_pricepaid, 3);
+
+ $parsedFrame['purchasedate'] = substr($parsedFrame['data'], $frame_offset, 8);
+ if (!$this->IsValidDateStampString($parsedFrame['purchasedate'])) {
+ $parsedFrame['purchasedateunix'] = mktime (0, 0, 0, substr($parsedFrame['purchasedate'], 4, 2), substr($parsedFrame['purchasedate'], 6, 2), substr($parsedFrame['purchasedate'], 0, 4));
+ }
+ $frame_offset += 8;
+
+ $parsedFrame['seller'] = (string) substr($parsedFrame['data'], $frame_offset);
+ unset($parsedFrame['data']);
+
+
+ } elseif (($id3v2_majorversion >= 3) && ($parsedFrame['frame_name'] == 'COMR')) { // 4.24 COMR Commercial frame (ID3v2.3+ only)
+ // There may be more than one 'commercial frame' in a tag,
+ // but no two may be identical
+ // <Header for 'Commercial frame', ID: 'COMR'>
+ // Text encoding $xx
+ // Price string <text string> $00
+ // Valid until <text string>
+ // Contact URL <text string> $00
+ // Received as $xx
+ // Name of seller <text string according to encoding> $00 (00)
+ // Description <text string according to encoding> $00 (00)
+ // Picture MIME type <string> $00
+ // Seller logo <binary data>
+
+ $frame_offset = 0;
+ $frame_textencoding = ord(substr($parsedFrame['data'], $frame_offset++, 1));
+ if ((($id3v2_majorversion <= 3) && ($frame_textencoding > 1)) || (($id3v2_majorversion == 4) && ($frame_textencoding > 3))) {
+ $info['warning'][] = 'Invalid text encoding byte ('.$frame_textencoding.') in frame "'.$parsedFrame['frame_name'].'" - defaulting to ISO-8859-1 encoding';
+ }
+
+ $frame_terminatorpos = strpos($parsedFrame['data'], "\x00", $frame_offset);
+ $frame_pricestring = substr($parsedFrame['data'], $frame_offset, $frame_terminatorpos - $frame_offset);
+ $frame_offset = $frame_terminatorpos + strlen("\x00");
+ $frame_rawpricearray = explode('/', $frame_pricestring);
+ foreach ($frame_rawpricearray as $key => $val) {
+ $frame_currencyid = substr($val, 0, 3);
+ $parsedFrame['price'][$frame_currencyid]['currency'] = $this->LookupCurrencyUnits($frame_currencyid);
+ $parsedFrame['price'][$frame_currencyid]['value'] = substr($val, 3);
+ }
+
+ $frame_datestring = substr($parsedFrame['data'], $frame_offset, 8);
+ $frame_offset += 8;
+
+ $frame_terminatorpos = strpos($parsedFrame['data'], "\x00", $frame_offset);
+ $frame_contacturl = substr($parsedFrame['data'], $frame_offset, $frame_terminatorpos - $frame_offset);
+ $frame_offset = $frame_terminatorpos + strlen("\x00");
+
+ $frame_receivedasid = ord(substr($parsedFrame['data'], $frame_offset++, 1));
+
+ $frame_terminatorpos = strpos($parsedFrame['data'], $this->TextEncodingTerminatorLookup($frame_textencoding), $frame_offset);
+ if (ord(substr($parsedFrame['data'], $frame_terminatorpos + strlen($this->TextEncodingTerminatorLookup($frame_textencoding)), 1)) === 0) {
+ $frame_terminatorpos++; // strpos() fooled because 2nd byte of Unicode chars are often 0x00
+ }
+ $frame_sellername = substr($parsedFrame['data'], $frame_offset, $frame_terminatorpos - $frame_offset);
+ if (ord($frame_sellername) === 0) {
+ $frame_sellername = '';
+ }
+ $frame_offset = $frame_terminatorpos + strlen($this->TextEncodingTerminatorLookup($frame_textencoding));
+
+ $frame_terminatorpos = strpos($parsedFrame['data'], $this->TextEncodingTerminatorLookup($frame_textencoding), $frame_offset);
+ if (ord(substr($parsedFrame['data'], $frame_terminatorpos + strlen($this->TextEncodingTerminatorLookup($frame_textencoding)), 1)) === 0) {
+ $frame_terminatorpos++; // strpos() fooled because 2nd byte of Unicode chars are often 0x00
+ }
+ $frame_description = substr($parsedFrame['data'], $frame_offset, $frame_terminatorpos - $frame_offset);
+ if (ord($frame_description) === 0) {
+ $frame_description = '';
+ }
+ $frame_offset = $frame_terminatorpos + strlen($this->TextEncodingTerminatorLookup($frame_textencoding));
+
+ $frame_terminatorpos = strpos($parsedFrame['data'], "\x00", $frame_offset);
+ $frame_mimetype = substr($parsedFrame['data'], $frame_offset, $frame_terminatorpos - $frame_offset);
+ $frame_offset = $frame_terminatorpos + strlen("\x00");
+
+ $frame_sellerlogo = substr($parsedFrame['data'], $frame_offset);
+
+ $parsedFrame['encodingid'] = $frame_textencoding;
+ $parsedFrame['encoding'] = $this->TextEncodingNameLookup($frame_textencoding);
+
+ $parsedFrame['pricevaliduntil'] = $frame_datestring;
+ $parsedFrame['contacturl'] = $frame_contacturl;
+ $parsedFrame['receivedasid'] = $frame_receivedasid;
+ $parsedFrame['receivedas'] = $this->COMRReceivedAsLookup($frame_receivedasid);
+ $parsedFrame['sellername'] = $frame_sellername;
+ $parsedFrame['description'] = $frame_description;
+ $parsedFrame['mime'] = $frame_mimetype;
+ $parsedFrame['logo'] = $frame_sellerlogo;
+ unset($parsedFrame['data']);
+
+
+ } elseif (($id3v2_majorversion >= 3) && ($parsedFrame['frame_name'] == 'ENCR')) { // 4.25 ENCR Encryption method registration (ID3v2.3+ only)
+ // There may be several 'ENCR' frames in a tag,
+ // but only one containing the same symbol
+ // and only one containing the same owner identifier
+ // <Header for 'Encryption method registration', ID: 'ENCR'>
+ // Owner identifier <text string> $00
+ // Method symbol $xx
+ // Encryption data <binary data>
+
+ $frame_offset = 0;
+ $frame_terminatorpos = strpos($parsedFrame['data'], "\x00", $frame_offset);
+ $frame_ownerid = substr($parsedFrame['data'], $frame_offset, $frame_terminatorpos - $frame_offset);
+ if (ord($frame_ownerid) === 0) {
+ $frame_ownerid = '';
+ }
+ $frame_offset = $frame_terminatorpos + strlen("\x00");
+
+ $parsedFrame['ownerid'] = $frame_ownerid;
+ $parsedFrame['methodsymbol'] = ord(substr($parsedFrame['data'], $frame_offset++, 1));
+ $parsedFrame['data'] = (string) substr($parsedFrame['data'], $frame_offset);
+
+
+ } elseif (($id3v2_majorversion >= 3) && ($parsedFrame['frame_name'] == 'GRID')) { // 4.26 GRID Group identification registration (ID3v2.3+ only)
+
+ // There may be several 'GRID' frames in a tag,
+ // but only one containing the same symbol
+ // and only one containing the same owner identifier
+ // <Header for 'Group ID registration', ID: 'GRID'>
+ // Owner identifier <text string> $00
+ // Group symbol $xx
+ // Group dependent data <binary data>
+
+ $frame_offset = 0;
+ $frame_terminatorpos = strpos($parsedFrame['data'], "\x00", $frame_offset);
+ $frame_ownerid = substr($parsedFrame['data'], $frame_offset, $frame_terminatorpos - $frame_offset);
+ if (ord($frame_ownerid) === 0) {
+ $frame_ownerid = '';
+ }
+ $frame_offset = $frame_terminatorpos + strlen("\x00");
+
+ $parsedFrame['ownerid'] = $frame_ownerid;
+ $parsedFrame['groupsymbol'] = ord(substr($parsedFrame['data'], $frame_offset++, 1));
+ $parsedFrame['data'] = (string) substr($parsedFrame['data'], $frame_offset);
+
+
+ } elseif (($id3v2_majorversion >= 3) && ($parsedFrame['frame_name'] == 'PRIV')) { // 4.27 PRIV Private frame (ID3v2.3+ only)
+ // The tag may contain more than one 'PRIV' frame
+ // but only with different contents
+ // <Header for 'Private frame', ID: 'PRIV'>
+ // Owner identifier <text string> $00
+ // The private data <binary data>
+
+ $frame_offset = 0;
+ $frame_terminatorpos = strpos($parsedFrame['data'], "\x00", $frame_offset);
+ $frame_ownerid = substr($parsedFrame['data'], $frame_offset, $frame_terminatorpos - $frame_offset);
+ if (ord($frame_ownerid) === 0) {
+ $frame_ownerid = '';
+ }
+ $frame_offset = $frame_terminatorpos + strlen("\x00");
+
+ $parsedFrame['ownerid'] = $frame_ownerid;
+ $parsedFrame['data'] = (string) substr($parsedFrame['data'], $frame_offset);
+
+
+ } elseif (($id3v2_majorversion >= 4) && ($parsedFrame['frame_name'] == 'SIGN')) { // 4.28 SIGN Signature frame (ID3v2.4+ only)
+ // There may be more than one 'signature frame' in a tag,
+ // but no two may be identical
+ // <Header for 'Signature frame', ID: 'SIGN'>
+ // Group symbol $xx
+ // Signature <binary data>
+
+ $frame_offset = 0;
+ $parsedFrame['groupsymbol'] = ord(substr($parsedFrame['data'], $frame_offset++, 1));
+ $parsedFrame['data'] = (string) substr($parsedFrame['data'], $frame_offset);
+
+
+ } elseif (($id3v2_majorversion >= 4) && ($parsedFrame['frame_name'] == 'SEEK')) { // 4.29 SEEK Seek frame (ID3v2.4+ only)
+ // There may only be one 'seek frame' in a tag
+ // <Header for 'Seek frame', ID: 'SEEK'>
+ // Minimum offset to next tag $xx xx xx xx
+
+ $frame_offset = 0;
+ $parsedFrame['data'] = getid3_lib::BigEndian2Int(substr($parsedFrame['data'], $frame_offset, 4));
+
+
+ } elseif (($id3v2_majorversion >= 4) && ($parsedFrame['frame_name'] == 'ASPI')) { // 4.30 ASPI Audio seek point index (ID3v2.4+ only)
+ // There may only be one 'audio seek point index' frame in a tag
+ // <Header for 'Seek Point Index', ID: 'ASPI'>
+ // Indexed data start (S) $xx xx xx xx
+ // Indexed data length (L) $xx xx xx xx
+ // Number of index points (N) $xx xx
+ // Bits per index point (b) $xx
+ // Then for every index point the following data is included:
+ // Fraction at index (Fi) $xx (xx)
+
+ $frame_offset = 0;
+ $parsedFrame['datastart'] = getid3_lib::BigEndian2Int(substr($parsedFrame['data'], $frame_offset, 4));
+ $frame_offset += 4;
+ $parsedFrame['indexeddatalength'] = getid3_lib::BigEndian2Int(substr($parsedFrame['data'], $frame_offset, 4));
+ $frame_offset += 4;
+ $parsedFrame['indexpoints'] = getid3_lib::BigEndian2Int(substr($parsedFrame['data'], $frame_offset, 2));
+ $frame_offset += 2;
+ $parsedFrame['bitsperpoint'] = ord(substr($parsedFrame['data'], $frame_offset++, 1));
+ $frame_bytesperpoint = ceil($parsedFrame['bitsperpoint'] / 8);
+ for ($i = 0; $i < $parsedFrame['indexpoints']; $i++) {
+ $parsedFrame['indexes'][$i] = getid3_lib::BigEndian2Int(substr($parsedFrame['data'], $frame_offset, $frame_bytesperpoint));
+ $frame_offset += $frame_bytesperpoint;
+ }
+ unset($parsedFrame['data']);
+
+ } elseif (($id3v2_majorversion >= 3) && ($parsedFrame['frame_name'] == 'RGAD')) { // Replay Gain Adjustment
+ // http://privatewww.essex.ac.uk/~djmrob/replaygain/file_format_id3v2.html
+ // There may only be one 'RGAD' frame in a tag
+ // <Header for 'Replay Gain Adjustment', ID: 'RGAD'>
+ // Peak Amplitude $xx $xx $xx $xx
+ // Radio Replay Gain Adjustment %aaabbbcd %dddddddd
+ // Audiophile Replay Gain Adjustment %aaabbbcd %dddddddd
+ // a - name code
+ // b - originator code
+ // c - sign bit
+ // d - replay gain adjustment
+
+ $frame_offset = 0;
+ $parsedFrame['peakamplitude'] = getid3_lib::BigEndian2Float(substr($parsedFrame['data'], $frame_offset, 4));
+ $frame_offset += 4;
+ $rg_track_adjustment = getid3_lib::Dec2Bin(substr($parsedFrame['data'], $frame_offset, 2));
+ $frame_offset += 2;
+ $rg_album_adjustment = getid3_lib::Dec2Bin(substr($parsedFrame['data'], $frame_offset, 2));
+ $frame_offset += 2;
+ $parsedFrame['raw']['track']['name'] = getid3_lib::Bin2Dec(substr($rg_track_adjustment, 0, 3));
+ $parsedFrame['raw']['track']['originator'] = getid3_lib::Bin2Dec(substr($rg_track_adjustment, 3, 3));
+ $parsedFrame['raw']['track']['signbit'] = getid3_lib::Bin2Dec(substr($rg_track_adjustment, 6, 1));
+ $parsedFrame['raw']['track']['adjustment'] = getid3_lib::Bin2Dec(substr($rg_track_adjustment, 7, 9));
+ $parsedFrame['raw']['album']['name'] = getid3_lib::Bin2Dec(substr($rg_album_adjustment, 0, 3));
+ $parsedFrame['raw']['album']['originator'] = getid3_lib::Bin2Dec(substr($rg_album_adjustment, 3, 3));
+ $parsedFrame['raw']['album']['signbit'] = getid3_lib::Bin2Dec(substr($rg_album_adjustment, 6, 1));
+ $parsedFrame['raw']['album']['adjustment'] = getid3_lib::Bin2Dec(substr($rg_album_adjustment, 7, 9));
+ $parsedFrame['track']['name'] = getid3_lib::RGADnameLookup($parsedFrame['raw']['track']['name']);
+ $parsedFrame['track']['originator'] = getid3_lib::RGADoriginatorLookup($parsedFrame['raw']['track']['originator']);
+ $parsedFrame['track']['adjustment'] = getid3_lib::RGADadjustmentLookup($parsedFrame['raw']['track']['adjustment'], $parsedFrame['raw']['track']['signbit']);
+ $parsedFrame['album']['name'] = getid3_lib::RGADnameLookup($parsedFrame['raw']['album']['name']);
+ $parsedFrame['album']['originator'] = getid3_lib::RGADoriginatorLookup($parsedFrame['raw']['album']['originator']);
+ $parsedFrame['album']['adjustment'] = getid3_lib::RGADadjustmentLookup($parsedFrame['raw']['album']['adjustment'], $parsedFrame['raw']['album']['signbit']);
+
+ $info['replay_gain']['track']['peak'] = $parsedFrame['peakamplitude'];
+ $info['replay_gain']['track']['originator'] = $parsedFrame['track']['originator'];
+ $info['replay_gain']['track']['adjustment'] = $parsedFrame['track']['adjustment'];
+ $info['replay_gain']['album']['originator'] = $parsedFrame['album']['originator'];
+ $info['replay_gain']['album']['adjustment'] = $parsedFrame['album']['adjustment'];
+
+ unset($parsedFrame['data']);
+
+ }
+
+ return true;
+ }
+
+
+ public function DeUnsynchronise($data) {
+ return str_replace("\xFF\x00", "\xFF", $data);
+ }
+
+ public function LookupExtendedHeaderRestrictionsTagSizeLimits($index) {
+ static $LookupExtendedHeaderRestrictionsTagSizeLimits = array(
+ 0x00 => 'No more than 128 frames and 1 MB total tag size',
+ 0x01 => 'No more than 64 frames and 128 KB total tag size',
+ 0x02 => 'No more than 32 frames and 40 KB total tag size',
+ 0x03 => 'No more than 32 frames and 4 KB total tag size',
+ );
+ return (isset($LookupExtendedHeaderRestrictionsTagSizeLimits[$index]) ? $LookupExtendedHeaderRestrictionsTagSizeLimits[$index] : '');
+ }
+
+ public function LookupExtendedHeaderRestrictionsTextEncodings($index) {
+ static $LookupExtendedHeaderRestrictionsTextEncodings = array(
+ 0x00 => 'No restrictions',
+ 0x01 => 'Strings are only encoded with ISO-8859-1 or UTF-8',
+ );
+ return (isset($LookupExtendedHeaderRestrictionsTextEncodings[$index]) ? $LookupExtendedHeaderRestrictionsTextEncodings[$index] : '');
+ }
+
+ public function LookupExtendedHeaderRestrictionsTextFieldSize($index) {
+ static $LookupExtendedHeaderRestrictionsTextFieldSize = array(
+ 0x00 => 'No restrictions',
+ 0x01 => 'No string is longer than 1024 characters',
+ 0x02 => 'No string is longer than 128 characters',
+ 0x03 => 'No string is longer than 30 characters',
+ );
+ return (isset($LookupExtendedHeaderRestrictionsTextFieldSize[$index]) ? $LookupExtendedHeaderRestrictionsTextFieldSize[$index] : '');
+ }
+
+ public function LookupExtendedHeaderRestrictionsImageEncoding($index) {
+ static $LookupExtendedHeaderRestrictionsImageEncoding = array(
+ 0x00 => 'No restrictions',
+ 0x01 => 'Images are encoded only with PNG or JPEG',
+ );
+ return (isset($LookupExtendedHeaderRestrictionsImageEncoding[$index]) ? $LookupExtendedHeaderRestrictionsImageEncoding[$index] : '');
+ }
+
+ public function LookupExtendedHeaderRestrictionsImageSizeSize($index) {
+ static $LookupExtendedHeaderRestrictionsImageSizeSize = array(
+ 0x00 => 'No restrictions',
+ 0x01 => 'All images are 256x256 pixels or smaller',
+ 0x02 => 'All images are 64x64 pixels or smaller',
+ 0x03 => 'All images are exactly 64x64 pixels, unless required otherwise',
+ );
+ return (isset($LookupExtendedHeaderRestrictionsImageSizeSize[$index]) ? $LookupExtendedHeaderRestrictionsImageSizeSize[$index] : '');
+ }
+
+ public function LookupCurrencyUnits($currencyid) {
+
+ $begin = __LINE__;
+
+ /** This is not a comment!
+
+
+ AED Dirhams
+ AFA Afghanis
+ ALL Leke
+ AMD Drams
+ ANG Guilders
+ AOA Kwanza
+ ARS Pesos
+ ATS Schillings
+ AUD Dollars
+ AWG Guilders
+ AZM Manats
+ BAM Convertible Marka
+ BBD Dollars
+ BDT Taka
+ BEF Francs
+ BGL Leva
+ BHD Dinars
+ BIF Francs
+ BMD Dollars
+ BND Dollars
+ BOB Bolivianos
+ BRL Brazil Real
+ BSD Dollars
+ BTN Ngultrum
+ BWP Pulas
+ BYR Rubles
+ BZD Dollars
+ CAD Dollars
+ CDF Congolese Francs
+ CHF Francs
+ CLP Pesos
+ CNY Yuan Renminbi
+ COP Pesos
+ CRC Colones
+ CUP Pesos
+ CVE Escudos
+ CYP Pounds
+ CZK Koruny
+ DEM Deutsche Marks
+ DJF Francs
+ DKK Kroner
+ DOP Pesos
+ DZD Algeria Dinars
+ EEK Krooni
+ EGP Pounds
+ ERN Nakfa
+ ESP Pesetas
+ ETB Birr
+ EUR Euro
+ FIM Markkaa
+ FJD Dollars
+ FKP Pounds
+ FRF Francs
+ GBP Pounds
+ GEL Lari
+ GGP Pounds
+ GHC Cedis
+ GIP Pounds
+ GMD Dalasi
+ GNF Francs
+ GRD Drachmae
+ GTQ Quetzales
+ GYD Dollars
+ HKD Dollars
+ HNL Lempiras
+ HRK Kuna
+ HTG Gourdes
+ HUF Forints
+ IDR Rupiahs
+ IEP Pounds
+ ILS New Shekels
+ IMP Pounds
+ INR Rupees
+ IQD Dinars
+ IRR Rials
+ ISK Kronur
+ ITL Lire
+ JEP Pounds
+ JMD Dollars
+ JOD Dinars
+ JPY Yen
+ KES Shillings
+ KGS Soms
+ KHR Riels
+ KMF Francs
+ KPW Won
+ KWD Dinars
+ KYD Dollars
+ KZT Tenge
+ LAK Kips
+ LBP Pounds
+ LKR Rupees
+ LRD Dollars
+ LSL Maloti
+ LTL Litai
+ LUF Francs
+ LVL Lati
+ LYD Dinars
+ MAD Dirhams
+ MDL Lei
+ MGF Malagasy Francs
+ MKD Denars
+ MMK Kyats
+ MNT Tugriks
+ MOP Patacas
+ MRO Ouguiyas
+ MTL Liri
+ MUR Rupees
+ MVR Rufiyaa
+ MWK Kwachas
+ MXN Pesos
+ MYR Ringgits
+ MZM Meticais
+ NAD Dollars
+ NGN Nairas
+ NIO Gold Cordobas
+ NLG Guilders
+ NOK Krone
+ NPR Nepal Rupees
+ NZD Dollars
+ OMR Rials
+ PAB Balboa
+ PEN Nuevos Soles
+ PGK Kina
+ PHP Pesos
+ PKR Rupees
+ PLN Zlotych
+ PTE Escudos
+ PYG Guarani
+ QAR Rials
+ ROL Lei
+ RUR Rubles
+ RWF Rwanda Francs
+ SAR Riyals
+ SBD Dollars
+ SCR Rupees
+ SDD Dinars
+ SEK Kronor
+ SGD Dollars
+ SHP Pounds
+ SIT Tolars
+ SKK Koruny
+ SLL Leones
+ SOS Shillings
+ SPL Luigini
+ SRG Guilders
+ STD Dobras
+ SVC Colones
+ SYP Pounds
+ SZL Emalangeni
+ THB Baht
+ TJR Rubles
+ TMM Manats
+ TND Dinars
+ TOP Pa'anga
+ TRL Liras
+ TTD Dollars
+ TVD Tuvalu Dollars
+ TWD New Dollars
+ TZS Shillings
+ UAH Hryvnia
+ UGX Shillings
+ USD Dollars
+ UYU Pesos
+ UZS Sums
+ VAL Lire
+ VEB Bolivares
+ VND Dong
+ VUV Vatu
+ WST Tala
+ XAF Francs
+ XAG Ounces
+ XAU Ounces
+ XCD Dollars
+ XDR Special Drawing Rights
+ XPD Ounces
+ XPF Francs
+ XPT Ounces
+ YER Rials
+ YUM New Dinars
+ ZAR Rand
+ ZMK Kwacha
+ ZWD Zimbabwe Dollars
+
+ */
+
+ return getid3_lib::EmbeddedLookup($currencyid, $begin, __LINE__, __FILE__, 'id3v2-currency-units');
+ }
+
+
+ public function LookupCurrencyCountry($currencyid) {
+
+ $begin = __LINE__;
+
+ /** This is not a comment!
+
+ AED United Arab Emirates
+ AFA Afghanistan
+ ALL Albania
+ AMD Armenia
+ ANG Netherlands Antilles
+ AOA Angola
+ ARS Argentina
+ ATS Austria
+ AUD Australia
+ AWG Aruba
+ AZM Azerbaijan
+ BAM Bosnia and Herzegovina
+ BBD Barbados
+ BDT Bangladesh
+ BEF Belgium
+ BGL Bulgaria
+ BHD Bahrain
+ BIF Burundi
+ BMD Bermuda
+ BND Brunei Darussalam
+ BOB Bolivia
+ BRL Brazil
+ BSD Bahamas
+ BTN Bhutan
+ BWP Botswana
+ BYR Belarus
+ BZD Belize
+ CAD Canada
+ CDF Congo/Kinshasa
+ CHF Switzerland
+ CLP Chile
+ CNY China
+ COP Colombia
+ CRC Costa Rica
+ CUP Cuba
+ CVE Cape Verde
+ CYP Cyprus
+ CZK Czech Republic
+ DEM Germany
+ DJF Djibouti
+ DKK Denmark
+ DOP Dominican Republic
+ DZD Algeria
+ EEK Estonia
+ EGP Egypt
+ ERN Eritrea
+ ESP Spain
+ ETB Ethiopia
+ EUR Euro Member Countries
+ FIM Finland
+ FJD Fiji
+ FKP Falkland Islands (Malvinas)
+ FRF France
+ GBP United Kingdom
+ GEL Georgia
+ GGP Guernsey
+ GHC Ghana
+ GIP Gibraltar
+ GMD Gambia
+ GNF Guinea
+ GRD Greece
+ GTQ Guatemala
+ GYD Guyana
+ HKD Hong Kong
+ HNL Honduras
+ HRK Croatia
+ HTG Haiti
+ HUF Hungary
+ IDR Indonesia
+ IEP Ireland (Eire)
+ ILS Israel
+ IMP Isle of Man
+ INR India
+ IQD Iraq
+ IRR Iran
+ ISK Iceland
+ ITL Italy
+ JEP Jersey
+ JMD Jamaica
+ JOD Jordan
+ JPY Japan
+ KES Kenya
+ KGS Kyrgyzstan
+ KHR Cambodia
+ KMF Comoros
+ KPW Korea
+ KWD Kuwait
+ KYD Cayman Islands
+ KZT Kazakstan
+ LAK Laos
+ LBP Lebanon
+ LKR Sri Lanka
+ LRD Liberia
+ LSL Lesotho
+ LTL Lithuania
+ LUF Luxembourg
+ LVL Latvia
+ LYD Libya
+ MAD Morocco
+ MDL Moldova
+ MGF Madagascar
+ MKD Macedonia
+ MMK Myanmar (Burma)
+ MNT Mongolia
+ MOP Macau
+ MRO Mauritania
+ MTL Malta
+ MUR Mauritius
+ MVR Maldives (Maldive Islands)
+ MWK Malawi
+ MXN Mexico
+ MYR Malaysia
+ MZM Mozambique
+ NAD Namibia
+ NGN Nigeria
+ NIO Nicaragua
+ NLG Netherlands (Holland)
+ NOK Norway
+ NPR Nepal
+ NZD New Zealand
+ OMR Oman
+ PAB Panama
+ PEN Peru
+ PGK Papua New Guinea
+ PHP Philippines
+ PKR Pakistan
+ PLN Poland
+ PTE Portugal
+ PYG Paraguay
+ QAR Qatar
+ ROL Romania
+ RUR Russia
+ RWF Rwanda
+ SAR Saudi Arabia
+ SBD Solomon Islands
+ SCR Seychelles
+ SDD Sudan
+ SEK Sweden
+ SGD Singapore
+ SHP Saint Helena
+ SIT Slovenia
+ SKK Slovakia
+ SLL Sierra Leone
+ SOS Somalia
+ SPL Seborga
+ SRG Suriname
+ STD São Tome and Principe
+ SVC El Salvador
+ SYP Syria
+ SZL Swaziland
+ THB Thailand
+ TJR Tajikistan
+ TMM Turkmenistan
+ TND Tunisia
+ TOP Tonga
+ TRL Turkey
+ TTD Trinidad and Tobago
+ TVD Tuvalu
+ TWD Taiwan
+ TZS Tanzania
+ UAH Ukraine
+ UGX Uganda
+ USD United States of America
+ UYU Uruguay
+ UZS Uzbekistan
+ VAL Vatican City
+ VEB Venezuela
+ VND Viet Nam
+ VUV Vanuatu
+ WST Samoa
+ XAF Communauté Financière Africaine
+ XAG Silver
+ XAU Gold
+ XCD East Caribbean
+ XDR International Monetary Fund
+ XPD Palladium
+ XPF Comptoirs Français du Pacifique
+ XPT Platinum
+ YER Yemen
+ YUM Yugoslavia
+ ZAR South Africa
+ ZMK Zambia
+ ZWD Zimbabwe
+
+ */
+
+ return getid3_lib::EmbeddedLookup($currencyid, $begin, __LINE__, __FILE__, 'id3v2-currency-country');
+ }
+
+
+
+ public static function LanguageLookup($languagecode, $casesensitive=false) {
+
+ if (!$casesensitive) {
+ $languagecode = strtolower($languagecode);
+ }
+
+ // http://www.id3.org/id3v2.4.0-structure.txt
+ // [4. ID3v2 frame overview]
+ // The three byte language field, present in several frames, is used to
+ // describe the language of the frame's content, according to ISO-639-2
+ // [ISO-639-2]. The language should be represented in lower case. If the
+ // language is not known the string "XXX" should be used.
+
+
+ // ISO 639-2 - http://www.id3.org/iso639-2.html
+
+ $begin = __LINE__;
+
+ /** This is not a comment!
+
+ XXX unknown
+ xxx unknown
+ aar Afar
+ abk Abkhazian
+ ace Achinese
+ ach Acoli
+ ada Adangme
+ afa Afro-Asiatic (Other)
+ afh Afrihili
+ afr Afrikaans
+ aka Akan
+ akk Akkadian
+ alb Albanian
+ ale Aleut
+ alg Algonquian Languages
+ amh Amharic
+ ang English, Old (ca. 450-1100)
+ apa Apache Languages
+ ara Arabic
+ arc Aramaic
+ arm Armenian
+ arn Araucanian
+ arp Arapaho
+ art Artificial (Other)
+ arw Arawak
+ asm Assamese
+ ath Athapascan Languages
+ ava Avaric
+ ave Avestan
+ awa Awadhi
+ aym Aymara
+ aze Azerbaijani
+ bad Banda
+ bai Bamileke Languages
+ bak Bashkir
+ bal Baluchi
+ bam Bambara
+ ban Balinese
+ baq Basque
+ bas Basa
+ bat Baltic (Other)
+ bej Beja
+ bel Byelorussian
+ bem Bemba
+ ben Bengali
+ ber Berber (Other)
+ bho Bhojpuri
+ bih Bihari
+ bik Bikol
+ bin Bini
+ bis Bislama
+ bla Siksika
+ bnt Bantu (Other)
+ bod Tibetan
+ bra Braj
+ bre Breton
+ bua Buriat
+ bug Buginese
+ bul Bulgarian
+ bur Burmese
+ cad Caddo
+ cai Central American Indian (Other)
+ car Carib
+ cat Catalan
+ cau Caucasian (Other)
+ ceb Cebuano
+ cel Celtic (Other)
+ ces Czech
+ cha Chamorro
+ chb Chibcha
+ che Chechen
+ chg Chagatai
+ chi Chinese
+ chm Mari
+ chn Chinook jargon
+ cho Choctaw
+ chr Cherokee
+ chu Church Slavic
+ chv Chuvash
+ chy Cheyenne
+ cop Coptic
+ cor Cornish
+ cos Corsican
+ cpe Creoles and Pidgins, English-based (Other)
+ cpf Creoles and Pidgins, French-based (Other)
+ cpp Creoles and Pidgins, Portuguese-based (Other)
+ cre Cree
+ crp Creoles and Pidgins (Other)
+ cus Cushitic (Other)
+ cym Welsh
+ cze Czech
+ dak Dakota
+ dan Danish
+ del Delaware
+ deu German
+ din Dinka
+ div Divehi
+ doi Dogri
+ dra Dravidian (Other)
+ dua Duala
+ dum Dutch, Middle (ca. 1050-1350)
+ dut Dutch
+ dyu Dyula
+ dzo Dzongkha
+ efi Efik
+ egy Egyptian (Ancient)
+ eka Ekajuk
+ ell Greek, Modern (1453-)
+ elx Elamite
+ eng English
+ enm English, Middle (ca. 1100-1500)
+ epo Esperanto
+ esk Eskimo (Other)
+ esl Spanish
+ est Estonian
+ eus Basque
+ ewe Ewe
+ ewo Ewondo
+ fan Fang
+ fao Faroese
+ fas Persian
+ fat Fanti
+ fij Fijian
+ fin Finnish
+ fiu Finno-Ugrian (Other)
+ fon Fon
+ fra French
+ fre French
+ frm French, Middle (ca. 1400-1600)
+ fro French, Old (842- ca. 1400)
+ fry Frisian
+ ful Fulah
+ gaa Ga
+ gae Gaelic (Scots)
+ gai Irish
+ gay Gayo
+ gdh Gaelic (Scots)
+ gem Germanic (Other)
+ geo Georgian
+ ger German
+ gez Geez
+ gil Gilbertese
+ glg Gallegan
+ gmh German, Middle High (ca. 1050-1500)
+ goh German, Old High (ca. 750-1050)
+ gon Gondi
+ got Gothic
+ grb Grebo
+ grc Greek, Ancient (to 1453)
+ gre Greek, Modern (1453-)
+ grn Guarani
+ guj Gujarati
+ hai Haida
+ hau Hausa
+ haw Hawaiian
+ heb Hebrew
+ her Herero
+ hil Hiligaynon
+ him Himachali
+ hin Hindi
+ hmo Hiri Motu
+ hun Hungarian
+ hup Hupa
+ hye Armenian
+ iba Iban
+ ibo Igbo
+ ice Icelandic
+ ijo Ijo
+ iku Inuktitut
+ ilo Iloko
+ ina Interlingua (International Auxiliary language Association)
+ inc Indic (Other)
+ ind Indonesian
+ ine Indo-European (Other)
+ ine Interlingue
+ ipk Inupiak
+ ira Iranian (Other)
+ iri Irish
+ iro Iroquoian uages
+ isl Icelandic
+ ita Italian
+ jav Javanese
+ jaw Javanese
+ jpn Japanese
+ jpr Judeo-Persian
+ jrb Judeo-Arabic
+ kaa Kara-Kalpak
+ kab Kabyle
+ kac Kachin
+ kal Greenlandic
+ kam Kamba
+ kan Kannada
+ kar Karen
+ kas Kashmiri
+ kat Georgian
+ kau Kanuri
+ kaw Kawi
+ kaz Kazakh
+ kha Khasi
+ khi Khoisan (Other)
+ khm Khmer
+ kho Khotanese
+ kik Kikuyu
+ kin Kinyarwanda
+ kir Kirghiz
+ kok Konkani
+ kom Komi
+ kon Kongo
+ kor Korean
+ kpe Kpelle
+ kro Kru
+ kru Kurukh
+ kua Kuanyama
+ kum Kumyk
+ kur Kurdish
+ kus Kusaie
+ kut Kutenai
+ lad Ladino
+ lah Lahnda
+ lam Lamba
+ lao Lao
+ lat Latin
+ lav Latvian
+ lez Lezghian
+ lin Lingala
+ lit Lithuanian
+ lol Mongo
+ loz Lozi
+ ltz Letzeburgesch
+ lub Luba-Katanga
+ lug Ganda
+ lui Luiseno
+ lun Lunda
+ luo Luo (Kenya and Tanzania)
+ mac Macedonian
+ mad Madurese
+ mag Magahi
+ mah Marshall
+ mai Maithili
+ mak Macedonian
+ mak Makasar
+ mal Malayalam
+ man Mandingo
+ mao Maori
+ map Austronesian (Other)
+ mar Marathi
+ mas Masai
+ max Manx
+ may Malay
+ men Mende
+ mga Irish, Middle (900 - 1200)
+ mic Micmac
+ min Minangkabau
+ mis Miscellaneous (Other)
+ mkh Mon-Kmer (Other)
+ mlg Malagasy
+ mlt Maltese
+ mni Manipuri
+ mno Manobo Languages
+ moh Mohawk
+ mol Moldavian
+ mon Mongolian
+ mos Mossi
+ mri Maori
+ msa Malay
+ mul Multiple Languages
+ mun Munda Languages
+ mus Creek
+ mwr Marwari
+ mya Burmese
+ myn Mayan Languages
+ nah Aztec
+ nai North American Indian (Other)
+ nau Nauru
+ nav Navajo
+ nbl Ndebele, South
+ nde Ndebele, North
+ ndo Ndongo
+ nep Nepali
+ new Newari
+ nic Niger-Kordofanian (Other)
+ niu Niuean
+ nla Dutch
+ nno Norwegian (Nynorsk)
+ non Norse, Old
+ nor Norwegian
+ nso Sotho, Northern
+ nub Nubian Languages
+ nya Nyanja
+ nym Nyamwezi
+ nyn Nyankole
+ nyo Nyoro
+ nzi Nzima
+ oci Langue d'Oc (post 1500)
+ oji Ojibwa
+ ori Oriya
+ orm Oromo
+ osa Osage
+ oss Ossetic
+ ota Turkish, Ottoman (1500 - 1928)
+ oto Otomian Languages
+ paa Papuan-Australian (Other)
+ pag Pangasinan
+ pal Pahlavi
+ pam Pampanga
+ pan Panjabi
+ pap Papiamento
+ pau Palauan
+ peo Persian, Old (ca 600 - 400 B.C.)
+ per Persian
+ phn Phoenician
+ pli Pali
+ pol Polish
+ pon Ponape
+ por Portuguese
+ pra Prakrit uages
+ pro Provencal, Old (to 1500)
+ pus Pushto
+ que Quechua
+ raj Rajasthani
+ rar Rarotongan
+ roa Romance (Other)
+ roh Rhaeto-Romance
+ rom Romany
+ ron Romanian
+ rum Romanian
+ run Rundi
+ rus Russian
+ sad Sandawe
+ sag Sango
+ sah Yakut
+ sai South American Indian (Other)
+ sal Salishan Languages
+ sam Samaritan Aramaic
+ san Sanskrit
+ sco Scots
+ scr Serbo-Croatian
+ sel Selkup
+ sem Semitic (Other)
+ sga Irish, Old (to 900)
+ shn Shan
+ sid Sidamo
+ sin Singhalese
+ sio Siouan Languages
+ sit Sino-Tibetan (Other)
+ sla Slavic (Other)
+ slk Slovak
+ slo Slovak
+ slv Slovenian
+ smi Sami Languages
+ smo Samoan
+ sna Shona
+ snd Sindhi
+ sog Sogdian
+ som Somali
+ son Songhai
+ sot Sotho, Southern
+ spa Spanish
+ sqi Albanian
+ srd Sardinian
+ srr Serer
+ ssa Nilo-Saharan (Other)
+ ssw Siswant
+ ssw Swazi
+ suk Sukuma
+ sun Sudanese
+ sus Susu
+ sux Sumerian
+ sve Swedish
+ swa Swahili
+ swe Swedish
+ syr Syriac
+ tah Tahitian
+ tam Tamil
+ tat Tatar
+ tel Telugu
+ tem Timne
+ ter Tereno
+ tgk Tajik
+ tgl Tagalog
+ tha Thai
+ tib Tibetan
+ tig Tigre
+ tir Tigrinya
+ tiv Tivi
+ tli Tlingit
+ tmh Tamashek
+ tog Tonga (Nyasa)
+ ton Tonga (Tonga Islands)
+ tru Truk
+ tsi Tsimshian
+ tsn Tswana
+ tso Tsonga
+ tuk Turkmen
+ tum Tumbuka
+ tur Turkish
+ tut Altaic (Other)
+ twi Twi
+ tyv Tuvinian
+ uga Ugaritic
+ uig Uighur
+ ukr Ukrainian
+ umb Umbundu
+ und Undetermined
+ urd Urdu
+ uzb Uzbek
+ vai Vai
+ ven Venda
+ vie Vietnamese
+ vol Volapük
+ vot Votic
+ wak Wakashan Languages
+ wal Walamo
+ war Waray
+ was Washo
+ wel Welsh
+ wen Sorbian Languages
+ wol Wolof
+ xho Xhosa
+ yao Yao
+ yap Yap
+ yid Yiddish
+ yor Yoruba
+ zap Zapotec
+ zen Zenaga
+ zha Zhuang
+ zho Chinese
+ zul Zulu
+ zun Zuni
+
+ */
+
+ return getid3_lib::EmbeddedLookup($languagecode, $begin, __LINE__, __FILE__, 'id3v2-languagecode');
+ }
+
+
+ public static function ETCOEventLookup($index) {
+ if (($index >= 0x17) && ($index <= 0xDF)) {
+ return 'reserved for future use';
+ }
+ if (($index >= 0xE0) && ($index <= 0xEF)) {
+ return 'not predefined synch 0-F';
+ }
+ if (($index >= 0xF0) && ($index <= 0xFC)) {
+ return 'reserved for future use';
+ }
+
+ static $EventLookup = array(
+ 0x00 => 'padding (has no meaning)',
+ 0x01 => 'end of initial silence',
+ 0x02 => 'intro start',
+ 0x03 => 'main part start',
+ 0x04 => 'outro start',
+ 0x05 => 'outro end',
+ 0x06 => 'verse start',
+ 0x07 => 'refrain start',
+ 0x08 => 'interlude start',
+ 0x09 => 'theme start',
+ 0x0A => 'variation start',
+ 0x0B => 'key change',
+ 0x0C => 'time change',
+ 0x0D => 'momentary unwanted noise (Snap, Crackle & Pop)',
+ 0x0E => 'sustained noise',
+ 0x0F => 'sustained noise end',
+ 0x10 => 'intro end',
+ 0x11 => 'main part end',
+ 0x12 => 'verse end',
+ 0x13 => 'refrain end',
+ 0x14 => 'theme end',
+ 0x15 => 'profanity',
+ 0x16 => 'profanity end',
+ 0xFD => 'audio end (start of silence)',
+ 0xFE => 'audio file ends',
+ 0xFF => 'one more byte of events follows'
+ );
+
+ return (isset($EventLookup[$index]) ? $EventLookup[$index] : '');
+ }
+
+ public static function SYTLContentTypeLookup($index) {
+ static $SYTLContentTypeLookup = array(
+ 0x00 => 'other',
+ 0x01 => 'lyrics',
+ 0x02 => 'text transcription',
+ 0x03 => 'movement/part name', // (e.g. 'Adagio')
+ 0x04 => 'events', // (e.g. 'Don Quijote enters the stage')
+ 0x05 => 'chord', // (e.g. 'Bb F Fsus')
+ 0x06 => 'trivia/\'pop up\' information',
+ 0x07 => 'URLs to webpages',
+ 0x08 => 'URLs to images'
+ );
+
+ return (isset($SYTLContentTypeLookup[$index]) ? $SYTLContentTypeLookup[$index] : '');
+ }
+
+ public static function APICPictureTypeLookup($index, $returnarray=false) {
+ static $APICPictureTypeLookup = array(
+ 0x00 => 'Other',
+ 0x01 => '32x32 pixels \'file icon\' (PNG only)',
+ 0x02 => 'Other file icon',
+ 0x03 => 'Cover (front)',
+ 0x04 => 'Cover (back)',
+ 0x05 => 'Leaflet page',
+ 0x06 => 'Media (e.g. label side of CD)',
+ 0x07 => 'Lead artist/lead performer/soloist',
+ 0x08 => 'Artist/performer',
+ 0x09 => 'Conductor',
+ 0x0A => 'Band/Orchestra',
+ 0x0B => 'Composer',
+ 0x0C => 'Lyricist/text writer',
+ 0x0D => 'Recording Location',
+ 0x0E => 'During recording',
+ 0x0F => 'During performance',
+ 0x10 => 'Movie/video screen capture',
+ 0x11 => 'A bright coloured fish',
+ 0x12 => 'Illustration',
+ 0x13 => 'Band/artist logotype',
+ 0x14 => 'Publisher/Studio logotype'
+ );
+ if ($returnarray) {
+ return $APICPictureTypeLookup;
+ }
+ return (isset($APICPictureTypeLookup[$index]) ? $APICPictureTypeLookup[$index] : '');
+ }
+
+ public static function COMRReceivedAsLookup($index) {
+ static $COMRReceivedAsLookup = array(
+ 0x00 => 'Other',
+ 0x01 => 'Standard CD album with other songs',
+ 0x02 => 'Compressed audio on CD',
+ 0x03 => 'File over the Internet',
+ 0x04 => 'Stream over the Internet',
+ 0x05 => 'As note sheets',
+ 0x06 => 'As note sheets in a book with other sheets',
+ 0x07 => 'Music on other media',
+ 0x08 => 'Non-musical merchandise'
+ );
+
+ return (isset($COMRReceivedAsLookup[$index]) ? $COMRReceivedAsLookup[$index] : '');
+ }
+
+ public static function RVA2ChannelTypeLookup($index) {
+ static $RVA2ChannelTypeLookup = array(
+ 0x00 => 'Other',
+ 0x01 => 'Master volume',
+ 0x02 => 'Front right',
+ 0x03 => 'Front left',
+ 0x04 => 'Back right',
+ 0x05 => 'Back left',
+ 0x06 => 'Front centre',
+ 0x07 => 'Back centre',
+ 0x08 => 'Subwoofer'
+ );
+
+ return (isset($RVA2ChannelTypeLookup[$index]) ? $RVA2ChannelTypeLookup[$index] : '');
+ }
+
+ public static function FrameNameLongLookup($framename) {
+
+ $begin = __LINE__;
+
+ /** This is not a comment!
+
+ AENC Audio encryption
+ APIC Attached picture
+ ASPI Audio seek point index
+ BUF Recommended buffer size
+ CNT Play counter
+ COM Comments
+ COMM Comments
+ COMR Commercial frame
+ CRA Audio encryption
+ CRM Encrypted meta frame
+ ENCR Encryption method registration
+ EQU Equalisation
+ EQU2 Equalisation (2)
+ EQUA Equalisation
+ ETC Event timing codes
+ ETCO Event timing codes
+ GEO General encapsulated object
+ GEOB General encapsulated object
+ GRID Group identification registration
+ IPL Involved people list
+ IPLS Involved people list
+ LINK Linked information
+ LNK Linked information
+ MCDI Music CD identifier
+ MCI Music CD Identifier
+ MLL MPEG location lookup table
+ MLLT MPEG location lookup table
+ OWNE Ownership frame
+ PCNT Play counter
+ PIC Attached picture
+ POP Popularimeter
+ POPM Popularimeter
+ POSS Position synchronisation frame
+ PRIV Private frame
+ RBUF Recommended buffer size
+ REV Reverb
+ RVA Relative volume adjustment
+ RVA2 Relative volume adjustment (2)
+ RVAD Relative volume adjustment
+ RVRB Reverb
+ SEEK Seek frame
+ SIGN Signature frame
+ SLT Synchronised lyric/text
+ STC Synced tempo codes
+ SYLT Synchronised lyric/text
+ SYTC Synchronised tempo codes
+ TAL Album/Movie/Show title
+ TALB Album/Movie/Show title
+ TBP BPM (Beats Per Minute)
+ TBPM BPM (beats per minute)
+ TCM Composer
+ TCMP Part of a compilation
+ TCO Content type
+ TCOM Composer
+ TCON Content type
+ TCOP Copyright message
+ TCP Part of a compilation
+ TCR Copyright message
+ TDA Date
+ TDAT Date
+ TDEN Encoding time
+ TDLY Playlist delay
+ TDOR Original release time
+ TDRC Recording time
+ TDRL Release time
+ TDTG Tagging time
+ TDY Playlist delay
+ TEN Encoded by
+ TENC Encoded by
+ TEXT Lyricist/Text writer
+ TFLT File type
+ TFT File type
+ TIM Time
+ TIME Time
+ TIPL Involved people list
+ TIT1 Content group description
+ TIT2 Title/songname/content description
+ TIT3 Subtitle/Description refinement
+ TKE Initial key
+ TKEY Initial key
+ TLA Language(s)
+ TLAN Language(s)
+ TLE Length
+ TLEN Length
+ TMCL Musician credits list
+ TMED Media type
+ TMOO Mood
+ TMT Media type
+ TOA Original artist(s)/performer(s)
+ TOAL Original album/movie/show title
+ TOF Original filename
+ TOFN Original filename
+ TOL Original Lyricist(s)/text writer(s)
+ TOLY Original lyricist(s)/text writer(s)
+ TOPE Original artist(s)/performer(s)
+ TOR Original release year
+ TORY Original release year
+ TOT Original album/Movie/Show title
+ TOWN File owner/licensee
+ TP1 Lead artist(s)/Lead performer(s)/Soloist(s)/Performing group
+ TP2 Band/Orchestra/Accompaniment
+ TP3 Conductor/Performer refinement
+ TP4 Interpreted, remixed, or otherwise modified by
+ TPA Part of a set
+ TPB Publisher
+ TPE1 Lead performer(s)/Soloist(s)
+ TPE2 Band/orchestra/accompaniment
+ TPE3 Conductor/performer refinement
+ TPE4 Interpreted, remixed, or otherwise modified by
+ TPOS Part of a set
+ TPRO Produced notice
+ TPUB Publisher
+ TRC ISRC (International Standard Recording Code)
+ TRCK Track number/Position in set
+ TRD Recording dates
+ TRDA Recording dates
+ TRK Track number/Position in set
+ TRSN Internet radio station name
+ TRSO Internet radio station owner
+ TS2 Album-Artist sort order
+ TSA Album sort order
+ TSC Composer sort order
+ TSI Size
+ TSIZ Size
+ TSO2 Album-Artist sort order
+ TSOA Album sort order
+ TSOC Composer sort order
+ TSOP Performer sort order
+ TSOT Title sort order
+ TSP Performer sort order
+ TSRC ISRC (international standard recording code)
+ TSS Software/hardware and settings used for encoding
+ TSSE Software/Hardware and settings used for encoding
+ TSST Set subtitle
+ TST Title sort order
+ TT1 Content group description
+ TT2 Title/Songname/Content description
+ TT3 Subtitle/Description refinement
+ TXT Lyricist/text writer
+ TXX User defined text information frame
+ TXXX User defined text information frame
+ TYE Year
+ TYER Year
+ UFI Unique file identifier
+ UFID Unique file identifier
+ ULT Unsychronised lyric/text transcription
+ USER Terms of use
+ USLT Unsynchronised lyric/text transcription
+ WAF Official audio file webpage
+ WAR Official artist/performer webpage
+ WAS Official audio source webpage
+ WCM Commercial information
+ WCOM Commercial information
+ WCOP Copyright/Legal information
+ WCP Copyright/Legal information
+ WOAF Official audio file webpage
+ WOAR Official artist/performer webpage
+ WOAS Official audio source webpage
+ WORS Official Internet radio station homepage
+ WPAY Payment
+ WPB Publishers official webpage
+ WPUB Publishers official webpage
+ WXX User defined URL link frame
+ WXXX User defined URL link frame
+ TFEA Featured Artist
+ TSTU Recording Studio
+ rgad Replay Gain Adjustment
+
+ */
+
+ return getid3_lib::EmbeddedLookup($framename, $begin, __LINE__, __FILE__, 'id3v2-framename_long');
+
+ // Last three:
+ // from Helium2 [www.helium2.com]
+ // from http://privatewww.essex.ac.uk/~djmrob/replaygain/file_format_id3v2.html
+ }
+
+
+ public static function FrameNameShortLookup($framename) {
+
+ $begin = __LINE__;
+
+ /** This is not a comment!
+
+ AENC audio_encryption
+ APIC attached_picture
+ ASPI audio_seek_point_index
+ BUF recommended_buffer_size
+ CNT play_counter
+ COM comment
+ COMM comment
+ COMR commercial_frame
+ CRA audio_encryption
+ CRM encrypted_meta_frame
+ ENCR encryption_method_registration
+ EQU equalisation
+ EQU2 equalisation
+ EQUA equalisation
+ ETC event_timing_codes
+ ETCO event_timing_codes
+ GEO general_encapsulated_object
+ GEOB general_encapsulated_object
+ GRID group_identification_registration
+ IPL involved_people_list
+ IPLS involved_people_list
+ LINK linked_information
+ LNK linked_information
+ MCDI music_cd_identifier
+ MCI music_cd_identifier
+ MLL mpeg_location_lookup_table
+ MLLT mpeg_location_lookup_table
+ OWNE ownership_frame
+ PCNT play_counter
+ PIC attached_picture
+ POP popularimeter
+ POPM popularimeter
+ POSS position_synchronisation_frame
+ PRIV private_frame
+ RBUF recommended_buffer_size
+ REV reverb
+ RVA relative_volume_adjustment
+ RVA2 relative_volume_adjustment
+ RVAD relative_volume_adjustment
+ RVRB reverb
+ SEEK seek_frame
+ SIGN signature_frame
+ SLT synchronised_lyric
+ STC synced_tempo_codes
+ SYLT synchronised_lyric
+ SYTC synchronised_tempo_codes
+ TAL album
+ TALB album
+ TBP bpm
+ TBPM bpm
+ TCM composer
+ TCMP part_of_a_compilation
+ TCO genre
+ TCOM composer
+ TCON genre
+ TCOP copyright_message
+ TCP part_of_a_compilation
+ TCR copyright_message
+ TDA date
+ TDAT date
+ TDEN encoding_time
+ TDLY playlist_delay
+ TDOR original_release_time
+ TDRC recording_time
+ TDRL release_time
+ TDTG tagging_time
+ TDY playlist_delay
+ TEN encoded_by
+ TENC encoded_by
+ TEXT lyricist
+ TFLT file_type
+ TFT file_type
+ TIM time
+ TIME time
+ TIPL involved_people_list
+ TIT1 content_group_description
+ TIT2 title
+ TIT3 subtitle
+ TKE initial_key
+ TKEY initial_key
+ TLA language
+ TLAN language
+ TLE length
+ TLEN length
+ TMCL musician_credits_list
+ TMED media_type
+ TMOO mood
+ TMT media_type
+ TOA original_artist
+ TOAL original_album
+ TOF original_filename
+ TOFN original_filename
+ TOL original_lyricist
+ TOLY original_lyricist
+ TOPE original_artist
+ TOR original_year
+ TORY original_year
+ TOT original_album
+ TOWN file_owner
+ TP1 artist
+ TP2 band
+ TP3 conductor
+ TP4 remixer
+ TPA part_of_a_set
+ TPB publisher
+ TPE1 artist
+ TPE2 band
+ TPE3 conductor
+ TPE4 remixer
+ TPOS part_of_a_set
+ TPRO produced_notice
+ TPUB publisher
+ TRC isrc
+ TRCK track_number
+ TRD recording_dates
+ TRDA recording_dates
+ TRK track_number
+ TRSN internet_radio_station_name
+ TRSO internet_radio_station_owner
+ TS2 album_artist_sort_order
+ TSA album_sort_order
+ TSC composer_sort_order
+ TSI size
+ TSIZ size
+ TSO2 album_artist_sort_order
+ TSOA album_sort_order
+ TSOC composer_sort_order
+ TSOP performer_sort_order
+ TSOT title_sort_order
+ TSP performer_sort_order
+ TSRC isrc
+ TSS encoder_settings
+ TSSE encoder_settings
+ TSST set_subtitle
+ TST title_sort_order
+ TT1 content_group_description
+ TT2 title
+ TT3 subtitle
+ TXT lyricist
+ TXX text
+ TXXX text
+ TYE year
+ TYER year
+ UFI unique_file_identifier
+ UFID unique_file_identifier
+ ULT unsychronised_lyric
+ USER terms_of_use
+ USLT unsynchronised_lyric
+ WAF url_file
+ WAR url_artist
+ WAS url_source
+ WCM commercial_information
+ WCOM commercial_information
+ WCOP copyright
+ WCP copyright
+ WOAF url_file
+ WOAR url_artist
+ WOAS url_source
+ WORS url_station
+ WPAY url_payment
+ WPB url_publisher
+ WPUB url_publisher
+ WXX url_user
+ WXXX url_user
+ TFEA featured_artist
+ TSTU recording_studio
+ rgad replay_gain_adjustment
+
+ */
+
+ return getid3_lib::EmbeddedLookup($framename, $begin, __LINE__, __FILE__, 'id3v2-framename_short');
+ }
+
+ public static function TextEncodingTerminatorLookup($encoding) {
+ // http://www.id3.org/id3v2.4.0-structure.txt
+ // Frames that allow different types of text encoding contains a text encoding description byte. Possible encodings:
+ static $TextEncodingTerminatorLookup = array(
+ 0 => "\x00", // $00 ISO-8859-1. Terminated with $00.
+ 1 => "\x00\x00", // $01 UTF-16 encoded Unicode with BOM. All strings in the same frame SHALL have the same byteorder. Terminated with $00 00.
+ 2 => "\x00\x00", // $02 UTF-16BE encoded Unicode without BOM. Terminated with $00 00.
+ 3 => "\x00", // $03 UTF-8 encoded Unicode. Terminated with $00.
+ 255 => "\x00\x00"
+ );
+ return (isset($TextEncodingTerminatorLookup[$encoding]) ? $TextEncodingTerminatorLookup[$encoding] : '');
+ }
+
+ public static function TextEncodingNameLookup($encoding) {
+ // http://www.id3.org/id3v2.4.0-structure.txt
+ // Frames that allow different types of text encoding contains a text encoding description byte. Possible encodings:
+ static $TextEncodingNameLookup = array(
+ 0 => 'ISO-8859-1', // $00 ISO-8859-1. Terminated with $00.
+ 1 => 'UTF-16', // $01 UTF-16 encoded Unicode with BOM. All strings in the same frame SHALL have the same byteorder. Terminated with $00 00.
+ 2 => 'UTF-16BE', // $02 UTF-16BE encoded Unicode without BOM. Terminated with $00 00.
+ 3 => 'UTF-8', // $03 UTF-8 encoded Unicode. Terminated with $00.
+ 255 => 'UTF-16BE'
+ );
+ return (isset($TextEncodingNameLookup[$encoding]) ? $TextEncodingNameLookup[$encoding] : 'ISO-8859-1');
+ }
+
+ public static function IsValidID3v2FrameName($framename, $id3v2majorversion) {
+ switch ($id3v2majorversion) {
+ case 2:
+ return preg_match('#[A-Z][A-Z0-9]{2}#', $framename);
+ break;
+
+ case 3:
+ case 4:
+ return preg_match('#[A-Z][A-Z0-9]{3}#', $framename);
+ break;
+ }
+ return false;
+ }
+
+ public static function IsANumber($numberstring, $allowdecimal=false, $allownegative=false) {
+ for ($i = 0; $i < strlen($numberstring); $i++) {
+ if ((chr($numberstring{$i}) < chr('0')) || (chr($numberstring{$i}) > chr('9'))) {
+ if (($numberstring{$i} == '.') && $allowdecimal) {
+ // allowed
+ } elseif (($numberstring{$i} == '-') && $allownegative && ($i == 0)) {
+ // allowed
+ } else {
+ return false;
+ }
+ }
+ }
+ return true;
+ }
+
+ public static function IsValidDateStampString($datestamp) {
+ if (strlen($datestamp) != 8) {
+ return false;
+ }
+ if (!self::IsANumber($datestamp, false)) {
+ return false;
+ }
+ $year = substr($datestamp, 0, 4);
+ $month = substr($datestamp, 4, 2);
+ $day = substr($datestamp, 6, 2);
+ if (($year == 0) || ($month == 0) || ($day == 0)) {
+ return false;
+ }
+ if ($month > 12) {
+ return false;
+ }
+ if ($day > 31) {
+ return false;
+ }
+ if (($day > 30) && (($month == 4) || ($month == 6) || ($month == 9) || ($month == 11))) {
+ return false;
+ }
+ if (($day > 29) && ($month == 2)) {
+ return false;
+ }
+ return true;
+ }
+
+ public static function ID3v2HeaderLength($majorversion) {
+ return (($majorversion == 2) ? 6 : 10);
+ }
+
+}
+
diff --git a/vendor/lukasreschke/id3parser/src/getID3/getid3.php b/vendor/lukasreschke/id3parser/src/getID3/getid3.php
new file mode 100644
index 000000000..5e36f9fec
--- /dev/null
+++ b/vendor/lukasreschke/id3parser/src/getID3/getid3.php
@@ -0,0 +1,252 @@
+<?php
+/////////////////////////////////////////////////////////////////
+/// getID3() by James Heinrich <info@getid3.org> //
+// available at http://getid3.sourceforge.net //
+// or http://www.getid3.org //
+// also https://github.com/JamesHeinrich/getID3 //
+/////////////////////////////////////////////////////////////////
+
+namespace ID3Parser\getID3;
+
+class getID3 {
+ // public: Settings
+ private $encoding = 'UTF-8'; // CASE SENSITIVE! - i.e. (must be supported by iconv()). Examples: ISO-8859-1 UTF-8 UTF-16 UTF-16BE
+
+ // public: Read buffer size in bytes
+ private $option_fread_buffer_size = 32768;
+
+ // Public variables
+ public $filename; // Filename of file being analysed.
+ public $fp; // Filepointer to file being analysed.
+ public $info; // Result array.
+ public $memory_limit = 0;
+
+ // Protected variables
+ protected $startup_error = '';
+ protected $startup_warning = '';
+
+ const FREAD_BUFFER_SIZE = 32768;
+
+ // public: constructor
+ public function __construct() {
+
+ // Check for PHP version
+ $required_php_version = '5.3.0';
+ if (version_compare(PHP_VERSION, $required_php_version, '<')) {
+ $this->startup_error .= 'getID3() requires PHP v'.$required_php_version.' or higher - you are running v'.PHP_VERSION;
+ return false;
+ }
+
+ // Check memory
+ $this->memory_limit = ini_get('memory_limit');
+ if (preg_match('#([0-9]+)M#i', $this->memory_limit, $matches)) {
+ // could be stored as "16M" rather than 16777216 for example
+ $this->memory_limit = $matches[1] * 1048576;
+ } elseif (preg_match('#([0-9]+)G#i', $this->memory_limit, $matches)) { // The 'G' modifier is available since PHP 5.1.0
+ // could be stored as "2G" rather than 2147483648 for example
+ $this->memory_limit = $matches[1] * 1073741824;
+ }
+ if ($this->memory_limit <= 0) {
+ // memory limits probably disabled
+ } elseif ($this->memory_limit <= 4194304) {
+ $this->startup_error .= 'PHP has less than 4MB available memory and will very likely run out. Increase memory_limit in php.ini';
+ } elseif ($this->memory_limit <= 12582912) {
+ $this->startup_warning .= 'PHP has less than 12MB available memory and might run out if all modules are loaded. Increase memory_limit in php.ini';
+ }
+
+ return true;
+ }
+
+ public function fread_buffer_size() {
+ return $this->option_fread_buffer_size;
+ }
+
+
+ // public: setOption
+ public function setOption($optArray) {
+ if (!is_array($optArray) || empty($optArray)) {
+ return false;
+ }
+ foreach ($optArray as $opt => $val) {
+ if (isset($this->$opt) === false) {
+ continue;
+ }
+ $this->$opt = $val;
+ }
+ return true;
+ }
+
+ public function openfile($filename) {
+ try {
+ if (!empty($this->startup_error)) {
+ throw new getid3_exception($this->startup_error);
+ }
+ if (!empty($this->startup_warning)) {
+ $this->warning($this->startup_warning);
+ }
+
+ // init result array and set parameters
+ $this->filename = $filename;
+ $this->info = array();
+
+ // remote files not supported
+ if (preg_match('/^(ht|f)tp:\/\//', $filename)) {
+ throw new getid3_exception('Remote files are not supported - please copy the file locally first');
+ }
+
+ $filename = str_replace('/', DIRECTORY_SEPARATOR, $filename);
+ $filename = preg_replace('#(.+)'.preg_quote(DIRECTORY_SEPARATOR).'{2,}#U', '\1'.DIRECTORY_SEPARATOR, $filename);
+
+ // open local file
+ //if (is_readable($filename) && is_file($filename) && ($this->fp = fopen($filename, 'rb'))) { // see http://www.getid3.org/phpBB3/viewtopic.php?t=1720
+ if ((is_readable($filename) || file_exists($filename)) && is_file($filename) && ($this->fp = fopen($filename, 'rb'))) {
+ // great
+ } else {
+ $errormessagelist = array();
+ if (!is_readable($filename)) {
+ $errormessagelist[] = '!is_readable';
+ }
+ if (!is_file($filename)) {
+ $errormessagelist[] = '!is_file';
+ }
+ if (!file_exists($filename)) {
+ $errormessagelist[] = '!file_exists';
+ }
+ if (empty($errormessagelist)) {
+ $errormessagelist[] = 'fopen failed';
+ }
+ throw new getid3_exception('Could not open "'.$filename.'" ('.implode('; ', $errormessagelist).')');
+ }
+
+ $this->info['filesize'] = filesize($filename);
+ // set redundant parameters - might be needed in some include file
+ // filenames / filepaths in getID3 are always expressed with forward slashes (unix-style) for both Windows and other to try and minimize confusion
+ $filename = str_replace('\\', '/', $filename);
+ $this->info['filepath'] = str_replace('\\', '/', realpath(dirname($filename)));
+ $this->info['filename'] = getid3_lib::mb_basename($filename);
+ $this->info['filenamepath'] = $this->info['filepath'].'/'.$this->info['filename'];
+
+ // set more parameters
+ $this->info['avdataoffset'] = 0;
+ $this->info['avdataend'] = $this->info['filesize'];
+ $this->info['fileformat'] = ''; // filled in later
+ $this->info['audio']['dataformat'] = ''; // filled in later, unset if not used
+ $this->info['video']['dataformat'] = ''; // filled in later, unset if not used
+ $this->info['tags'] = array(); // filled in later, unset if not used
+ $this->info['error'] = array(); // filled in later, unset if not used
+ $this->info['warning'] = array(); // filled in later, unset if not used
+ $this->info['comments'] = array(); // filled in later, unset if not used
+ $this->info['encoding'] = $this->encoding; // required by id3v2 and iso modules - can be unset at the end if desired
+
+ return true;
+
+ } catch (\Exception $e) {
+ $this->error($e->getMessage());
+ }
+ return false;
+ }
+
+ // public: analyze file
+ public function analyze($filename) {
+ try {
+ if (!$this->openfile($filename)) {
+ return $this->info;
+ }
+
+ // Handle tags
+ foreach (array('id3v2'=>'id3v2', 'id3v1'=>'id3v1') as $tag_name => $tag_key) {
+ $option_tag = 'option_tag_'.$tag_name;
+ if ($option_tag) {
+ try {
+ $tag_class = '\ID3Parser\getID3\Tags\getid3_'.$tag_name;
+ /** @var Tags\getid3_id3v2|Tags\getid3_id3v2 $tag */
+ $tag = new $tag_class($this);
+ $tag->Analyze();
+ }
+ catch (getid3_exception $e) {
+ throw $e;
+ }
+ }
+ }
+ if (isset($this->info['id3v2']['tag_offset_start'])) {
+ $this->info['avdataoffset'] = max($this->info['avdataoffset'], $this->info['id3v2']['tag_offset_end']);
+ }
+ foreach (array('id3v1'=>'id3v1', 'apetag'=>'ape', 'lyrics3'=>'lyrics3') as $tag_name => $tag_key) {
+ if (isset($this->info[$tag_key]['tag_offset_start'])) {
+ $this->info['avdataend'] = min($this->info['avdataend'], $this->info[$tag_key]['tag_offset_start']);
+ }
+ }
+ } catch (\Exception $e) {
+ $this->error('Caught exception: '.$e->getMessage());
+ }
+
+ // return info array
+ return $this->info;
+ }
+
+
+ // private: error handling
+ public function error($message) {
+ $this->CleanUp();
+ if (!isset($this->info['error'])) {
+ $this->info['error'] = array();
+ }
+ $this->info['error'][] = $message;
+ return $this->info;
+ }
+
+
+ // private: warning handling
+ public function warning($message) {
+ $this->info['warning'][] = $message;
+ return true;
+ }
+
+
+ // private: CleanUp
+ private function CleanUp() {
+
+ // remove possible empty keys
+ $AVpossibleEmptyKeys = array('dataformat', 'bits_per_sample', 'encoder_options', 'streams', 'bitrate');
+ foreach ($AVpossibleEmptyKeys as $dummy => $key) {
+ if (empty($this->info['audio'][$key]) && isset($this->info['audio'][$key])) {
+ unset($this->info['audio'][$key]);
+ }
+ if (empty($this->info['video'][$key]) && isset($this->info['video'][$key])) {
+ unset($this->info['video'][$key]);
+ }
+ }
+
+ // remove empty root keys
+ if (!empty($this->info)) {
+ foreach ($this->info as $key => $value) {
+ if (empty($this->info[$key]) && ($this->info[$key] !== 0) && ($this->info[$key] !== '0')) {
+ unset($this->info[$key]);
+ }
+ }
+ }
+
+ // remove meaningless entries from unknown-format files
+ if (empty($this->info['fileformat'])) {
+ if (isset($this->info['avdataoffset'])) {
+ unset($this->info['avdataoffset']);
+ }
+ if (isset($this->info['avdataend'])) {
+ unset($this->info['avdataend']);
+ }
+ }
+
+ // remove possible duplicated identical entries
+ if (!empty($this->info['error'])) {
+ $this->info['error'] = array_values(array_unique($this->info['error']));
+ }
+ if (!empty($this->info['warning'])) {
+ $this->info['warning'] = array_values(array_unique($this->info['warning']));
+ }
+
+ // remove "global variable" type keys
+ unset($this->info['php_memory_limit']);
+
+ return true;
+ }
+}
diff --git a/vendor/lukasreschke/id3parser/src/getID3/getid3_exception.php b/vendor/lukasreschke/id3parser/src/getID3/getid3_exception.php
new file mode 100644
index 000000000..60288153b
--- /dev/null
+++ b/vendor/lukasreschke/id3parser/src/getID3/getid3_exception.php
@@ -0,0 +1,13 @@
+<?php
+/////////////////////////////////////////////////////////////////
+/// getID3() by James Heinrich <info@getid3.org> //
+// available at http://getid3.sourceforge.net //
+// or http://www.getid3.org //
+// also https://github.com/JamesHeinrich/getID3 //
+/////////////////////////////////////////////////////////////////
+
+namespace ID3Parser\getID3;
+
+class getid3_exception extends \Exception {
+ public $message;
+} \ No newline at end of file
diff --git a/vendor/lukasreschke/id3parser/src/getID3/getid3_handler.php b/vendor/lukasreschke/id3parser/src/getID3/getid3_handler.php
new file mode 100644
index 000000000..654593349
--- /dev/null
+++ b/vendor/lukasreschke/id3parser/src/getID3/getid3_handler.php
@@ -0,0 +1,145 @@
+<?php
+/////////////////////////////////////////////////////////////////
+/// getID3() by James Heinrich <info@getid3.org> //
+// available at http://getid3.sourceforge.net //
+// or http://www.getid3.org //
+// also https://github.com/JamesHeinrich/getID3 //
+/////////////////////////////////////////////////////////////////
+
+namespace ID3Parser\getID3;
+
+abstract class getid3_handler {
+
+ /**
+ * @var getID3
+ */
+ protected $getid3; // pointer
+
+ protected $data_string_flag = false; // analyzing filepointer or string
+ protected $data_string = ''; // string to analyze
+ protected $data_string_position = 0; // seek position in string
+ protected $data_string_length = 0; // string length
+
+ private $dependency_to = null;
+
+
+ public function __construct(getID3 $getid3, $call_module=null) {
+ $this->getid3 = $getid3;
+
+ if ($call_module) {
+ $this->dependency_to = str_replace('getid3_', '', $call_module);
+ }
+ }
+
+
+ // Analyze from file pointer
+ abstract public function Analyze();
+
+
+ // Analyze from string instead
+ public function AnalyzeString($string) {
+ // Enter string mode
+ $this->setStringMode($string);
+
+ // Save info
+ $saved_avdataoffset = $this->getid3->info['avdataoffset'];
+ $saved_avdataend = $this->getid3->info['avdataend'];
+ $saved_filesize = (isset($this->getid3->info['filesize']) ? $this->getid3->info['filesize'] : null); // may be not set if called as dependency without openfile() call
+
+ // Reset some info
+ $this->getid3->info['avdataoffset'] = 0;
+ $this->getid3->info['avdataend'] = $this->getid3->info['filesize'] = $this->data_string_length;
+
+ // Analyze
+ $this->Analyze();
+
+ // Restore some info
+ $this->getid3->info['avdataoffset'] = $saved_avdataoffset;
+ $this->getid3->info['avdataend'] = $saved_avdataend;
+ $this->getid3->info['filesize'] = $saved_filesize;
+
+ // Exit string mode
+ $this->data_string_flag = false;
+ }
+
+ public function setStringMode($string) {
+ $this->data_string_flag = true;
+ $this->data_string = $string;
+ $this->data_string_length = strlen($string);
+ }
+
+ protected function ftell() {
+ if ($this->data_string_flag) {
+ return $this->data_string_position;
+ }
+ return ftell($this->getid3->fp);
+ }
+
+ protected function fread($bytes) {
+ if ($this->data_string_flag) {
+ $this->data_string_position += $bytes;
+ return substr($this->data_string, $this->data_string_position - $bytes, $bytes);
+ }
+ $pos = $this->ftell() + $bytes;
+ if (!getid3_lib::intValueSupported($pos)) {
+ throw new getid3_exception('cannot fread('.$bytes.' from '.$this->ftell().') because beyond PHP filesystem limit', 10);
+ }
+ return fread($this->getid3->fp, $bytes);
+ }
+
+ protected function fseek($bytes, $whence=SEEK_SET) {
+ if ($this->data_string_flag) {
+ switch ($whence) {
+ case SEEK_SET:
+ $this->data_string_position = $bytes;
+ break;
+
+ case SEEK_CUR:
+ $this->data_string_position += $bytes;
+ break;
+
+ case SEEK_END:
+ $this->data_string_position = $this->data_string_length + $bytes;
+ break;
+ }
+ return 0;
+ } else {
+ $pos = $bytes;
+ if ($whence == SEEK_CUR) {
+ $pos = $this->ftell() + $bytes;
+ } elseif ($whence == SEEK_END) {
+ $pos = $this->getid3->info['filesize'] + $bytes;
+ }
+ if (!getid3_lib::intValueSupported($pos)) {
+ throw new getid3_exception('cannot fseek('.$pos.') because beyond PHP filesystem limit', 10);
+ }
+ }
+ return fseek($this->getid3->fp, $bytes, $whence);
+ }
+
+ protected function feof() {
+ if ($this->data_string_flag) {
+ return $this->data_string_position >= $this->data_string_length;
+ }
+ return feof($this->getid3->fp);
+ }
+
+ final protected function isDependencyFor($module) {
+ return $this->dependency_to == $module;
+ }
+
+ protected function error($text) {
+ $this->getid3->info['error'][] = $text;
+
+ return false;
+ }
+
+ protected function warning($text) {
+ return $this->getid3->warning($text);
+ }
+
+ protected function notice($text) {
+ // does nothing for now
+ }
+}
+
diff --git a/vendor/lukasreschke/id3parser/src/getID3/getid3_lib.php b/vendor/lukasreschke/id3parser/src/getID3/getid3_lib.php
new file mode 100644
index 000000000..b50ed30cc
--- /dev/null
+++ b/vendor/lukasreschke/id3parser/src/getID3/getid3_lib.php
@@ -0,0 +1,1171 @@
+<?php
+/////////////////////////////////////////////////////////////////
+/// getID3() by James Heinrich <info@getid3.org> //
+// available at http://getid3.sourceforge.net //
+// or http://www.getid3.org //
+// also https://github.com/JamesHeinrich/getID3 //
+/////////////////////////////////////////////////////////////////
+
+namespace ID3Parser\getID3;
+
+class getid3_lib
+{
+
+ public static function trunc($floatnumber) {
+ // truncates a floating-point number at the decimal point
+ // returns int (if possible, otherwise float)
+ if ($floatnumber >= 1) {
+ $truncatednumber = floor($floatnumber);
+ } elseif ($floatnumber <= -1) {
+ $truncatednumber = ceil($floatnumber);
+ } else {
+ $truncatednumber = 0;
+ }
+ if (self::intValueSupported($truncatednumber)) {
+ $truncatednumber = (int) $truncatednumber;
+ }
+ return $truncatednumber;
+ }
+
+
+ public static function safe_inc(&$variable, $increment=1) {
+ if (isset($variable)) {
+ $variable += $increment;
+ } else {
+ $variable = $increment;
+ }
+ return true;
+ }
+
+ public static function CastAsInt($floatnum) {
+ // convert to float if not already
+ $floatnum = (float) $floatnum;
+
+ // convert a float to type int, only if possible
+ if (self::trunc($floatnum) == $floatnum) {
+ // it's not floating point
+ if (self::intValueSupported($floatnum)) {
+ // it's within int range
+ $floatnum = (int) $floatnum;
+ }
+ }
+ return $floatnum;
+ }
+
+ public static function intValueSupported($num) {
+ // check if integers are 64-bit
+ static $hasINT64 = null;
+ if ($hasINT64 === null) { // 10x faster than is_null()
+ $hasINT64 = is_int(pow(2, 31)); // 32-bit int are limited to (2^31)-1
+ if (!$hasINT64 && !defined('PHP_INT_MIN')) {
+ define('PHP_INT_MIN', ~PHP_INT_MAX);
+ }
+ }
+ // if integers are 64-bit - no other check required
+ if ($hasINT64 || (($num <= PHP_INT_MAX) && ($num >= PHP_INT_MIN))) {
+ return true;
+ }
+ return false;
+ }
+
+ public static function DecimalizeFraction($fraction) {
+ list($numerator, $denominator) = explode('/', $fraction);
+ return $numerator / ($denominator ? $denominator : 1);
+ }
+
+
+ public static function DecimalBinary2Float($binarynumerator) {
+ $numerator = self::Bin2Dec($binarynumerator);
+ $denominator = self::Bin2Dec('1'.str_repeat('0', strlen($binarynumerator)));
+ return ($numerator / $denominator);
+ }
+
+
+ public static function NormalizeBinaryPoint($binarypointnumber, $maxbits=52) {
+ // http://www.scri.fsu.edu/~jac/MAD3401/Backgrnd/binary.html
+ if (strpos($binarypointnumber, '.') === false) {
+ $binarypointnumber = '0.'.$binarypointnumber;
+ } elseif ($binarypointnumber{0} == '.') {
+ $binarypointnumber = '0'.$binarypointnumber;
+ }
+ $exponent = 0;
+ while (($binarypointnumber{0} != '1') || (substr($binarypointnumber, 1, 1) != '.')) {
+ if (substr($binarypointnumber, 1, 1) == '.') {
+ $exponent--;
+ $binarypointnumber = substr($binarypointnumber, 2, 1).'.'.substr($binarypointnumber, 3);
+ } else {
+ $pointpos = strpos($binarypointnumber, '.');
+ $exponent += ($pointpos - 1);
+ $binarypointnumber = str_replace('.', '', $binarypointnumber);
+ $binarypointnumber = $binarypointnumber{0}.'.'.substr($binarypointnumber, 1);
+ }
+ }
+ $binarypointnumber = str_pad(substr($binarypointnumber, 0, $maxbits + 2), $maxbits + 2, '0', STR_PAD_RIGHT);
+ return array('normalized'=>$binarypointnumber, 'exponent'=>(int) $exponent);
+ }
+
+
+ public static function Float2BinaryDecimal($floatvalue) {
+ // http://www.scri.fsu.edu/~jac/MAD3401/Backgrnd/binary.html
+ $maxbits = 128; // to how many bits of precision should the calculations be taken?
+ $intpart = self::trunc($floatvalue);
+ $floatpart = abs($floatvalue - $intpart);
+ $pointbitstring = '';
+ while (($floatpart != 0) && (strlen($pointbitstring) < $maxbits)) {
+ $floatpart *= 2;
+ $pointbitstring .= (string) self::trunc($floatpart);
+ $floatpart -= self::trunc($floatpart);
+ }
+ $binarypointnumber = decbin($intpart).'.'.$pointbitstring;
+ return $binarypointnumber;
+ }
+
+
+ public static function Float2String($floatvalue, $bits) {
+ // http://www.scri.fsu.edu/~jac/MAD3401/Backgrnd/ieee-expl.html
+ switch ($bits) {
+ case 32:
+ $exponentbits = 8;
+ $fractionbits = 23;
+ break;
+
+ case 64:
+ $exponentbits = 11;
+ $fractionbits = 52;
+ break;
+
+ default:
+ return false;
+ break;
+ }
+ if ($floatvalue >= 0) {
+ $signbit = '0';
+ } else {
+ $signbit = '1';
+ }
+ $normalizedbinary = self::NormalizeBinaryPoint(self::Float2BinaryDecimal($floatvalue), $fractionbits);
+ $biasedexponent = pow(2, $exponentbits - 1) - 1 + $normalizedbinary['exponent']; // (127 or 1023) +/- exponent
+ $exponentbitstring = str_pad(decbin($biasedexponent), $exponentbits, '0', STR_PAD_LEFT);
+ $fractionbitstring = str_pad(substr($normalizedbinary['normalized'], 2), $fractionbits, '0', STR_PAD_RIGHT);
+
+ return self::BigEndian2String(self::Bin2Dec($signbit.$exponentbitstring.$fractionbitstring), $bits % 8, false);
+ }
+
+
+ public static function LittleEndian2Float($byteword) {
+ return self::BigEndian2Float(strrev($byteword));
+ }
+
+
+ public static function BigEndian2Float($byteword) {
+ // ANSI/IEEE Standard 754-1985, Standard for Binary Floating Point Arithmetic
+ // http://www.psc.edu/general/software/packages/ieee/ieee.html
+ // http://www.scri.fsu.edu/~jac/MAD3401/Backgrnd/ieee.html
+
+ $bitword = self::BigEndian2Bin($byteword);
+ if (!$bitword) {
+ return 0;
+ }
+ $signbit = $bitword{0};
+
+ switch (strlen($byteword) * 8) {
+ case 32:
+ $exponentbits = 8;
+ $fractionbits = 23;
+ break;
+
+ case 64:
+ $exponentbits = 11;
+ $fractionbits = 52;
+ break;
+
+ case 80:
+ // 80-bit Apple SANE format
+ // http://www.mactech.com/articles/mactech/Vol.06/06.01/SANENormalized/
+ $exponentstring = substr($bitword, 1, 15);
+ $isnormalized = intval($bitword{16});
+ $fractionstring = substr($bitword, 17, 63);
+ $exponent = pow(2, self::Bin2Dec($exponentstring) - 16383);
+ $fraction = $isnormalized + self::DecimalBinary2Float($fractionstring);
+ $floatvalue = $exponent * $fraction;
+ if ($signbit == '1') {
+ $floatvalue *= -1;
+ }
+ return $floatvalue;
+ break;
+
+ default:
+ return false;
+ break;
+ }
+ $exponentstring = substr($bitword, 1, $exponentbits);
+ $fractionstring = substr($bitword, $exponentbits + 1, $fractionbits);
+ $exponent = self::Bin2Dec($exponentstring);
+ $fraction = self::Bin2Dec($fractionstring);
+
+ if (($exponent == (pow(2, $exponentbits) - 1)) && ($fraction != 0)) {
+ // Not a Number
+ $floatvalue = false;
+ } elseif (($exponent == (pow(2, $exponentbits) - 1)) && ($fraction == 0)) {
+ if ($signbit == '1') {
+ $floatvalue = '-infinity';
+ } else {
+ $floatvalue = '+infinity';
+ }
+ } elseif (($exponent == 0) && ($fraction == 0)) {
+ if ($signbit == '1') {
+ $floatvalue = -0;
+ } else {
+ $floatvalue = 0;
+ }
+ $floatvalue = ($signbit ? 0 : -0);
+ } elseif (($exponent == 0) && ($fraction != 0)) {
+ // These are 'unnormalized' values
+ $floatvalue = pow(2, (-1 * (pow(2, $exponentbits - 1) - 2))) * self::DecimalBinary2Float($fractionstring);
+ if ($signbit == '1') {
+ $floatvalue *= -1;
+ }
+ } elseif ($exponent != 0) {
+ $floatvalue = pow(2, ($exponent - (pow(2, $exponentbits - 1) - 1))) * (1 + self::DecimalBinary2Float($fractionstring));
+ if ($signbit == '1') {
+ $floatvalue *= -1;
+ }
+ }
+ return (float) $floatvalue;
+ }
+
+
+ public static function BigEndian2Int($byteword, $synchsafe=false, $signed=false) {
+ $intvalue = 0;
+ $bytewordlen = strlen($byteword);
+ if ($bytewordlen == 0) {
+ return false;
+ }
+ for ($i = 0; $i < $bytewordlen; $i++) {
+ if ($synchsafe) { // disregard MSB, effectively 7-bit bytes
+ //$intvalue = $intvalue | (ord($byteword{$i}) & 0x7F) << (($bytewordlen - 1 - $i) * 7); // faster, but runs into problems past 2^31 on 32-bit systems
+ $intvalue += (ord($byteword{$i}) & 0x7F) * pow(2, ($bytewordlen - 1 - $i) * 7);
+ } else {
+ $intvalue += ord($byteword{$i}) * pow(256, ($bytewordlen - 1 - $i));
+ }
+ }
+ if ($signed && !$synchsafe) {
+ // synchsafe ints are not allowed to be signed
+ if ($bytewordlen <= PHP_INT_SIZE) {
+ $signMaskBit = 0x80 << (8 * ($bytewordlen - 1));
+ if ($intvalue & $signMaskBit) {
+ $intvalue = 0 - ($intvalue & ($signMaskBit - 1));
+ }
+ } else {
+ throw new \Exception('ERROR: Cannot have signed integers larger than '.(8 * PHP_INT_SIZE).'-bits ('.strlen($byteword).') in self::BigEndian2Int()');
+ }
+ }
+ return self::CastAsInt($intvalue);
+ }
+
+
+ public static function LittleEndian2Int($byteword, $signed=false) {
+ return self::BigEndian2Int(strrev($byteword), false, $signed);
+ }
+
+
+ public static function BigEndian2Bin($byteword) {
+ $binvalue = '';
+ $bytewordlen = strlen($byteword);
+ for ($i = 0; $i < $bytewordlen; $i++) {
+ $binvalue .= str_pad(decbin(ord($byteword{$i})), 8, '0', STR_PAD_LEFT);
+ }
+ return $binvalue;
+ }
+
+
+ public static function BigEndian2String($number, $minbytes=1, $synchsafe=false, $signed=false) {
+ if ($number < 0) {
+ throw new \Exception('ERROR: self::BigEndian2String() does not support negative numbers');
+ }
+ $maskbyte = (($synchsafe || $signed) ? 0x7F : 0xFF);
+ $intstring = '';
+ if ($signed) {
+ if ($minbytes > PHP_INT_SIZE) {
+ throw new \Exception('ERROR: Cannot have signed integers larger than '.(8 * PHP_INT_SIZE).'-bits in self::BigEndian2String()');
+ }
+ $number = $number & (0x80 << (8 * ($minbytes - 1)));
+ }
+ while ($number != 0) {
+ $quotient = ($number / ($maskbyte + 1));
+ $intstring = chr(ceil(($quotient - floor($quotient)) * $maskbyte)).$intstring;
+ $number = floor($quotient);
+ }
+ return str_pad($intstring, $minbytes, "\x00", STR_PAD_LEFT);
+ }
+
+
+ public static function Dec2Bin($number) {
+ while ($number >= 256) {
+ $bytes[] = (($number / 256) - (floor($number / 256))) * 256;
+ $number = floor($number / 256);
+ }
+ $bytes[] = $number;
+ $binstring = '';
+ for ($i = 0; $i < count($bytes); $i++) {
+ $binstring = (($i == count($bytes) - 1) ? decbin($bytes[$i]) : str_pad(decbin($bytes[$i]), 8, '0', STR_PAD_LEFT)).$binstring;
+ }
+ return $binstring;
+ }
+
+
+ public static function Bin2Dec($binstring, $signed=false) {
+ $signmult = 1;
+ if ($signed) {
+ if ($binstring{0} == '1') {
+ $signmult = -1;
+ }
+ $binstring = substr($binstring, 1);
+ }
+ $decvalue = 0;
+ for ($i = 0; $i < strlen($binstring); $i++) {
+ $decvalue += ((int) substr($binstring, strlen($binstring) - $i - 1, 1)) * pow(2, $i);
+ }
+ return self::CastAsInt($decvalue * $signmult);
+ }
+
+
+ public static function Bin2String($binstring) {
+ // return 'hi' for input of '0110100001101001'
+ $string = '';
+ $binstringreversed = strrev($binstring);
+ for ($i = 0; $i < strlen($binstringreversed); $i += 8) {
+ $string = chr(self::Bin2Dec(strrev(substr($binstringreversed, $i, 8)))).$string;
+ }
+ return $string;
+ }
+
+
+ public static function LittleEndian2String($number, $minbytes=1, $synchsafe=false) {
+ $intstring = '';
+ while ($number > 0) {
+ if ($synchsafe) {
+ $intstring = $intstring.chr($number & 127);
+ $number >>= 7;
+ } else {
+ $intstring = $intstring.chr($number & 255);
+ $number >>= 8;
+ }
+ }
+ return str_pad($intstring, $minbytes, "\x00", STR_PAD_RIGHT);
+ }
+
+
+ public static function array_merge_clobber($array1, $array2) {
+ // written by kcØhireability*com
+ // taken from http://www.php.net/manual/en/function.array-merge-recursive.php
+ if (!is_array($array1) || !is_array($array2)) {
+ return false;
+ }
+ $newarray = $array1;
+ foreach ($array2 as $key => $val) {
+ if (is_array($val) && isset($newarray[$key]) && is_array($newarray[$key])) {
+ $newarray[$key] = self::array_merge_clobber($newarray[$key], $val);
+ } else {
+ $newarray[$key] = $val;
+ }
+ }
+ return $newarray;
+ }
+
+
+ public static function array_merge_noclobber($array1, $array2) {
+ if (!is_array($array1) || !is_array($array2)) {
+ return false;
+ }
+ $newarray = $array1;
+ foreach ($array2 as $key => $val) {
+ if (is_array($val) && isset($newarray[$key]) && is_array($newarray[$key])) {
+ $newarray[$key] = self::array_merge_noclobber($newarray[$key], $val);
+ } elseif (!isset($newarray[$key])) {
+ $newarray[$key] = $val;
+ }
+ }
+ return $newarray;
+ }
+
+
+ public static function ksort_recursive(&$theArray) {
+ ksort($theArray);
+ foreach ($theArray as $key => $value) {
+ if (is_array($value)) {
+ self::ksort_recursive($theArray[$key]);
+ }
+ }
+ return true;
+ }
+
+ public static function fileextension($filename, $numextensions=1) {
+ if (strstr($filename, '.')) {
+ $reversedfilename = strrev($filename);
+ $offset = 0;
+ for ($i = 0; $i < $numextensions; $i++) {
+ $offset = strpos($reversedfilename, '.', $offset + 1);
+ if ($offset === false) {
+ return '';
+ }
+ }
+ return strrev(substr($reversedfilename, 0, $offset));
+ }
+ return '';
+ }
+
+
+ public static function PlaytimeString($seconds) {
+ $sign = (($seconds < 0) ? '-' : '');
+ $seconds = round(abs($seconds));
+ $H = (int) floor( $seconds / 3600);
+ $M = (int) floor(($seconds - (3600 * $H) ) / 60);
+ $S = (int) round( $seconds - (3600 * $H) - (60 * $M) );
+ return $sign.($H ? $H.':' : '').($H ? str_pad($M, 2, '0', STR_PAD_LEFT) : intval($M)).':'.str_pad($S, 2, 0, STR_PAD_LEFT);
+ }
+
+
+ public static function DateMac2Unix($macdate) {
+ // Macintosh timestamp: seconds since 00:00h January 1, 1904
+ // UNIX timestamp: seconds since 00:00h January 1, 1970
+ return self::CastAsInt($macdate - 2082844800);
+ }
+
+
+ public static function FixedPoint8_8($rawdata) {
+ return self::BigEndian2Int(substr($rawdata, 0, 1)) + (float) (self::BigEndian2Int(substr($rawdata, 1, 1)) / pow(2, 8));
+ }
+
+
+ public static function FixedPoint16_16($rawdata) {
+ return self::BigEndian2Int(substr($rawdata, 0, 2)) + (float) (self::BigEndian2Int(substr($rawdata, 2, 2)) / pow(2, 16));
+ }
+
+
+ public static function FixedPoint2_30($rawdata) {
+ $binarystring = self::BigEndian2Bin($rawdata);
+ return self::Bin2Dec(substr($binarystring, 0, 2)) + (float) (self::Bin2Dec(substr($binarystring, 2, 30)) / pow(2, 30));
+ }
+
+
+ public static function CreateDeepArray($ArrayPath, $Separator, $Value) {
+ // assigns $Value to a nested array path:
+ // $foo = self::CreateDeepArray('/path/to/my', '/', 'file.txt')
+ // is the same as:
+ // $foo = array('path'=>array('to'=>'array('my'=>array('file.txt'))));
+ // or
+ // $foo['path']['to']['my'] = 'file.txt';
+ $ArrayPath = ltrim($ArrayPath, $Separator);
+ if (($pos = strpos($ArrayPath, $Separator)) !== false) {
+ $ReturnedArray[substr($ArrayPath, 0, $pos)] = self::CreateDeepArray(substr($ArrayPath, $pos + 1), $Separator, $Value);
+ } else {
+ $ReturnedArray[$ArrayPath] = $Value;
+ }
+ return $ReturnedArray;
+ }
+
+ public static function array_max($arraydata, $returnkey=false) {
+ $maxvalue = false;
+ $maxkey = false;
+ foreach ($arraydata as $key => $value) {
+ if (!is_array($value)) {
+ if ($value > $maxvalue) {
+ $maxvalue = $value;
+ $maxkey = $key;
+ }
+ }
+ }
+ return ($returnkey ? $maxkey : $maxvalue);
+ }
+
+ public static function array_min($arraydata, $returnkey=false) {
+ $minvalue = false;
+ $minkey = false;
+ foreach ($arraydata as $key => $value) {
+ if (!is_array($value)) {
+ if ($value > $minvalue) {
+ $minvalue = $value;
+ $minkey = $key;
+ }
+ }
+ }
+ return ($returnkey ? $minkey : $minvalue);
+ }
+
+ public static function SimpleXMLelement2array($XMLobject) {
+ if (!is_object($XMLobject) && !is_array($XMLobject)) {
+ return $XMLobject;
+ }
+ $XMLarray = (is_object($XMLobject) ? get_object_vars($XMLobject) : $XMLobject);
+ foreach ($XMLarray as $key => $value) {
+ $XMLarray[$key] = self::SimpleXMLelement2array($value);
+ }
+ return $XMLarray;
+ }
+
+ public static function iconv_fallback_int_utf8($charval) {
+ if ($charval < 128) {
+ // 0bbbbbbb
+ $newcharstring = chr($charval);
+ } elseif ($charval < 2048) {
+ // 110bbbbb 10bbbbbb
+ $newcharstring = chr(($charval >> 6) | 0xC0);
+ $newcharstring .= chr(($charval & 0x3F) | 0x80);
+ } elseif ($charval < 65536) {
+ // 1110bbbb 10bbbbbb 10bbbbbb
+ $newcharstring = chr(($charval >> 12) | 0xE0);
+ $newcharstring .= chr(($charval >> 6) | 0xC0);
+ $newcharstring .= chr(($charval & 0x3F) | 0x80);
+ } else {
+ // 11110bbb 10bbbbbb 10bbbbbb 10bbbbbb
+ $newcharstring = chr(($charval >> 18) | 0xF0);
+ $newcharstring .= chr(($charval >> 12) | 0xC0);
+ $newcharstring .= chr(($charval >> 6) | 0xC0);
+ $newcharstring .= chr(($charval & 0x3F) | 0x80);
+ }
+ return $newcharstring;
+ }
+
+ // ISO-8859-1 => UTF-8
+ public static function iconv_fallback_iso88591_utf8($string, $bom=false) {
+ if (function_exists('utf8_encode')) {
+ return utf8_encode($string);
+ }
+ // utf8_encode() unavailable, use getID3()'s iconv_fallback() conversions (possibly PHP is compiled without XML support)
+ $newcharstring = '';
+ if ($bom) {
+ $newcharstring .= "\xEF\xBB\xBF";
+ }
+ for ($i = 0; $i < strlen($string); $i++) {
+ $charval = ord($string{$i});
+ $newcharstring .= self::iconv_fallback_int_utf8($charval);
+ }
+ return $newcharstring;
+ }
+
+ // ISO-8859-1 => UTF-16BE
+ public static function iconv_fallback_iso88591_utf16be($string, $bom=false) {
+ $newcharstring = '';
+ if ($bom) {
+ $newcharstring .= "\xFE\xFF";
+ }
+ for ($i = 0; $i < strlen($string); $i++) {
+ $newcharstring .= "\x00".$string{$i};
+ }
+ return $newcharstring;
+ }
+
+ // ISO-8859-1 => UTF-16LE
+ public static function iconv_fallback_iso88591_utf16le($string, $bom=false) {
+ $newcharstring = '';
+ if ($bom) {
+ $newcharstring .= "\xFF\xFE";
+ }
+ for ($i = 0; $i < strlen($string); $i++) {
+ $newcharstring .= $string{$i}."\x00";
+ }
+ return $newcharstring;
+ }
+
+ // ISO-8859-1 => UTF-16LE (BOM)
+ public static function iconv_fallback_iso88591_utf16($string) {
+ return self::iconv_fallback_iso88591_utf16le($string, true);
+ }
+
+ // UTF-8 => ISO-8859-1
+ public static function iconv_fallback_utf8_iso88591($string) {
+ if (function_exists('utf8_decode')) {
+ return utf8_decode($string);
+ }
+ // utf8_decode() unavailable, use getID3()'s iconv_fallback() conversions (possibly PHP is compiled without XML support)
+ $newcharstring = '';
+ $offset = 0;
+ $stringlength = strlen($string);
+ while ($offset < $stringlength) {
+ if ((ord($string{$offset}) | 0x07) == 0xF7) {
+ // 11110bbb 10bbbbbb 10bbbbbb 10bbbbbb
+ $charval = ((ord($string{($offset + 0)}) & 0x07) << 18) &
+ ((ord($string{($offset + 1)}) & 0x3F) << 12) &
+ ((ord($string{($offset + 2)}) & 0x3F) << 6) &
+ (ord($string{($offset + 3)}) & 0x3F);
+ $offset += 4;
+ } elseif ((ord($string{$offset}) | 0x0F) == 0xEF) {
+ // 1110bbbb 10bbbbbb 10bbbbbb
+ $charval = ((ord($string{($offset + 0)}) & 0x0F) << 12) &
+ ((ord($string{($offset + 1)}) & 0x3F) << 6) &
+ (ord($string{($offset + 2)}) & 0x3F);
+ $offset += 3;
+ } elseif ((ord($string{$offset}) | 0x1F) == 0xDF) {
+ // 110bbbbb 10bbbbbb
+ $charval = ((ord($string{($offset + 0)}) & 0x1F) << 6) &
+ (ord($string{($offset + 1)}) & 0x3F);
+ $offset += 2;
+ } elseif ((ord($string{$offset}) | 0x7F) == 0x7F) {
+ // 0bbbbbbb
+ $charval = ord($string{$offset});
+ $offset += 1;
+ } else {
+ // error? throw some kind of warning here?
+ $charval = false;
+ $offset += 1;
+ }
+ if ($charval !== false) {
+ $newcharstring .= (($charval < 256) ? chr($charval) : '?');
+ }
+ }
+ return $newcharstring;
+ }
+
+ // UTF-8 => UTF-16BE
+ public static function iconv_fallback_utf8_utf16be($string, $bom=false) {
+ $newcharstring = '';
+ if ($bom) {
+ $newcharstring .= "\xFE\xFF";
+ }
+ $offset = 0;
+ $stringlength = strlen($string);
+ while ($offset < $stringlength) {
+ if ((ord($string{$offset}) | 0x07) == 0xF7) {
+ // 11110bbb 10bbbbbb 10bbbbbb 10bbbbbb
+ $charval = ((ord($string{($offset + 0)}) & 0x07) << 18) &
+ ((ord($string{($offset + 1)}) & 0x3F) << 12) &
+ ((ord($string{($offset + 2)}) & 0x3F) << 6) &
+ (ord($string{($offset + 3)}) & 0x3F);
+ $offset += 4;
+ } elseif ((ord($string{$offset}) | 0x0F) == 0xEF) {
+ // 1110bbbb 10bbbbbb 10bbbbbb
+ $charval = ((ord($string{($offset + 0)}) & 0x0F) << 12) &
+ ((ord($string{($offset + 1)}) & 0x3F) << 6) &
+ (ord($string{($offset + 2)}) & 0x3F);
+ $offset += 3;
+ } elseif ((ord($string{$offset}) | 0x1F) == 0xDF) {
+ // 110bbbbb 10bbbbbb
+ $charval = ((ord($string{($offset + 0)}) & 0x1F) << 6) &
+ (ord($string{($offset + 1)}) & 0x3F);
+ $offset += 2;
+ } elseif ((ord($string{$offset}) | 0x7F) == 0x7F) {
+ // 0bbbbbbb
+ $charval = ord($string{$offset});
+ $offset += 1;
+ } else {
+ // error? throw some kind of warning here?
+ $charval = false;
+ $offset += 1;
+ }
+ if ($charval !== false) {
+ $newcharstring .= (($charval < 65536) ? self::BigEndian2String($charval, 2) : "\x00".'?');
+ }
+ }
+ return $newcharstring;
+ }
+
+ // UTF-8 => UTF-16LE
+ public static function iconv_fallback_utf8_utf16le($string, $bom=false) {
+ $newcharstring = '';
+ if ($bom) {
+ $newcharstring .= "\xFF\xFE";
+ }
+ $offset = 0;
+ $stringlength = strlen($string);
+ while ($offset < $stringlength) {
+ if ((ord($string{$offset}) | 0x07) == 0xF7) {
+ // 11110bbb 10bbbbbb 10bbbbbb 10bbbbbb
+ $charval = ((ord($string{($offset + 0)}) & 0x07) << 18) &
+ ((ord($string{($offset + 1)}) & 0x3F) << 12) &
+ ((ord($string{($offset + 2)}) & 0x3F) << 6) &
+ (ord($string{($offset + 3)}) & 0x3F);
+ $offset += 4;
+ } elseif ((ord($string{$offset}) | 0x0F) == 0xEF) {
+ // 1110bbbb 10bbbbbb 10bbbbbb
+ $charval = ((ord($string{($offset + 0)}) & 0x0F) << 12) &
+ ((ord($string{($offset + 1)}) & 0x3F) << 6) &
+ (ord($string{($offset + 2)}) & 0x3F);
+ $offset += 3;
+ } elseif ((ord($string{$offset}) | 0x1F) == 0xDF) {
+ // 110bbbbb 10bbbbbb
+ $charval = ((ord($string{($offset + 0)}) & 0x1F) << 6) &
+ (ord($string{($offset + 1)}) & 0x3F);
+ $offset += 2;
+ } elseif ((ord($string{$offset}) | 0x7F) == 0x7F) {
+ // 0bbbbbbb
+ $charval = ord($string{$offset});
+ $offset += 1;
+ } else {
+ // error? maybe throw some warning here?
+ $charval = false;
+ $offset += 1;
+ }
+ if ($charval !== false) {
+ $newcharstring .= (($charval < 65536) ? self::LittleEndian2String($charval, 2) : '?'."\x00");
+ }
+ }
+ return $newcharstring;
+ }
+
+ // UTF-8 => UTF-16LE (BOM)
+ public static function iconv_fallback_utf8_utf16($string) {
+ return self::iconv_fallback_utf8_utf16le($string, true);
+ }
+
+ // UTF-16BE => UTF-8
+ public static function iconv_fallback_utf16be_utf8($string) {
+ if (substr($string, 0, 2) == "\xFE\xFF") {
+ // strip BOM
+ $string = substr($string, 2);
+ }
+ $newcharstring = '';
+ for ($i = 0; $i < strlen($string); $i += 2) {
+ $charval = self::BigEndian2Int(substr($string, $i, 2));
+ $newcharstring .= self::iconv_fallback_int_utf8($charval);
+ }
+ return $newcharstring;
+ }
+
+ // UTF-16LE => UTF-8
+ public static function iconv_fallback_utf16le_utf8($string) {
+ if (substr($string, 0, 2) == "\xFF\xFE") {
+ // strip BOM
+ $string = substr($string, 2);
+ }
+ $newcharstring = '';
+ for ($i = 0; $i < strlen($string); $i += 2) {
+ $charval = self::LittleEndian2Int(substr($string, $i, 2));
+ $newcharstring .= self::iconv_fallback_int_utf8($charval);
+ }
+ return $newcharstring;
+ }
+
+ // UTF-16BE => ISO-8859-1
+ public static function iconv_fallback_utf16be_iso88591($string) {
+ if (substr($string, 0, 2) == "\xFE\xFF") {
+ // strip BOM
+ $string = substr($string, 2);
+ }
+ $newcharstring = '';
+ for ($i = 0; $i < strlen($string); $i += 2) {
+ $charval = self::BigEndian2Int(substr($string, $i, 2));
+ $newcharstring .= (($charval < 256) ? chr($charval) : '?');
+ }
+ return $newcharstring;
+ }
+
+ // UTF-16LE => ISO-8859-1
+ public static function iconv_fallback_utf16le_iso88591($string) {
+ if (substr($string, 0, 2) == "\xFF\xFE") {
+ // strip BOM
+ $string = substr($string, 2);
+ }
+ $newcharstring = '';
+ for ($i = 0; $i < strlen($string); $i += 2) {
+ $charval = self::LittleEndian2Int(substr($string, $i, 2));
+ $newcharstring .= (($charval < 256) ? chr($charval) : '?');
+ }
+ return $newcharstring;
+ }
+
+ // UTF-16 (BOM) => ISO-8859-1
+ public static function iconv_fallback_utf16_iso88591($string) {
+ $bom = substr($string, 0, 2);
+ if ($bom == "\xFE\xFF") {
+ return self::iconv_fallback_utf16be_iso88591(substr($string, 2));
+ } elseif ($bom == "\xFF\xFE") {
+ return self::iconv_fallback_utf16le_iso88591(substr($string, 2));
+ }
+ return $string;
+ }
+
+ // UTF-16 (BOM) => UTF-8
+ public static function iconv_fallback_utf16_utf8($string) {
+ $bom = substr($string, 0, 2);
+ if ($bom == "\xFE\xFF") {
+ return self::iconv_fallback_utf16be_utf8(substr($string, 2));
+ } elseif ($bom == "\xFF\xFE") {
+ return self::iconv_fallback_utf16le_utf8(substr($string, 2));
+ }
+ return $string;
+ }
+
+ public static function iconv_fallback($in_charset, $out_charset, $string) {
+
+ if ($in_charset == $out_charset) {
+ return $string;
+ }
+
+ // iconv() availble
+ if (function_exists('iconv')) {
+ if ($converted_string = @iconv($in_charset, $out_charset.'//TRANSLIT', $string)) {
+ switch ($out_charset) {
+ case 'ISO-8859-1':
+ $converted_string = rtrim($converted_string, "\x00");
+ break;
+ }
+ return $converted_string;
+ }
+
+ // iconv() may sometimes fail with "illegal character in input string" error message
+ // and return an empty string, but returning the unconverted string is more useful
+ return $string;
+ }
+
+
+ // iconv() not available
+ static $ConversionFunctionList = array();
+ if (empty($ConversionFunctionList)) {
+ $ConversionFunctionList['ISO-8859-1']['UTF-8'] = 'iconv_fallback_iso88591_utf8';
+ $ConversionFunctionList['ISO-8859-1']['UTF-16'] = 'iconv_fallback_iso88591_utf16';
+ $ConversionFunctionList['ISO-8859-1']['UTF-16BE'] = 'iconv_fallback_iso88591_utf16be';
+ $ConversionFunctionList['ISO-8859-1']['UTF-16LE'] = 'iconv_fallback_iso88591_utf16le';
+ $ConversionFunctionList['UTF-8']['ISO-8859-1'] = 'iconv_fallback_utf8_iso88591';
+ $ConversionFunctionList['UTF-8']['UTF-16'] = 'iconv_fallback_utf8_utf16';
+ $ConversionFunctionList['UTF-8']['UTF-16BE'] = 'iconv_fallback_utf8_utf16be';
+ $ConversionFunctionList['UTF-8']['UTF-16LE'] = 'iconv_fallback_utf8_utf16le';
+ $ConversionFunctionList['UTF-16']['ISO-8859-1'] = 'iconv_fallback_utf16_iso88591';
+ $ConversionFunctionList['UTF-16']['UTF-8'] = 'iconv_fallback_utf16_utf8';
+ $ConversionFunctionList['UTF-16LE']['ISO-8859-1'] = 'iconv_fallback_utf16le_iso88591';
+ $ConversionFunctionList['UTF-16LE']['UTF-8'] = 'iconv_fallback_utf16le_utf8';
+ $ConversionFunctionList['UTF-16BE']['ISO-8859-1'] = 'iconv_fallback_utf16be_iso88591';
+ $ConversionFunctionList['UTF-16BE']['UTF-8'] = 'iconv_fallback_utf16be_utf8';
+ }
+ if (isset($ConversionFunctionList[strtoupper($in_charset)][strtoupper($out_charset)])) {
+ $ConversionFunction = $ConversionFunctionList[strtoupper($in_charset)][strtoupper($out_charset)];
+ return self::$ConversionFunction($string);
+ }
+ throw new \Exception('PHP does not have iconv() support - cannot convert from '.$in_charset.' to '.$out_charset);
+ }
+
+ public static function recursiveMultiByteCharString2HTML($data, $charset='ISO-8859-1') {
+ if (is_string($data)) {
+ return self::MultiByteCharString2HTML($data, $charset);
+ } elseif (is_array($data)) {
+ $return_data = array();
+ foreach ($data as $key => $value) {
+ $return_data[$key] = self::recursiveMultiByteCharString2HTML($value, $charset);
+ }
+ return $return_data;
+ }
+ // integer, float, objects, resources, etc
+ return $data;
+ }
+
+ public static function MultiByteCharString2HTML($string, $charset='ISO-8859-1') {
+ $string = (string) $string; // in case trying to pass a numeric (float, int) string, would otherwise return an empty string
+ $HTMLstring = '';
+
+ switch ($charset) {
+ case '1251':
+ case '1252':
+ case '866':
+ case '932':
+ case '936':
+ case '950':
+ case 'BIG5':
+ case 'BIG5-HKSCS':
+ case 'cp1251':
+ case 'cp1252':
+ case 'cp866':
+ case 'EUC-JP':
+ case 'EUCJP':
+ case 'GB2312':
+ case 'ibm866':
+ case 'ISO-8859-1':
+ case 'ISO-8859-15':
+ case 'ISO8859-1':
+ case 'ISO8859-15':
+ case 'KOI8-R':
+ case 'koi8-ru':
+ case 'koi8r':
+ case 'Shift_JIS':
+ case 'SJIS':
+ case 'win-1251':
+ case 'Windows-1251':
+ case 'Windows-1252':
+ $HTMLstring = htmlentities($string, ENT_COMPAT, $charset);
+ break;
+
+ case 'UTF-8':
+ $strlen = strlen($string);
+ for ($i = 0; $i < $strlen; $i++) {
+ $char_ord_val = ord($string{$i});
+ $charval = 0;
+ if ($char_ord_val < 0x80) {
+ $charval = $char_ord_val;
+ } elseif ((($char_ord_val & 0xF0) >> 4) == 0x0F && $i+3 < $strlen) {
+ $charval = (($char_ord_val & 0x07) << 18);
+ $charval += ((ord($string{++$i}) & 0x3F) << 12);
+ $charval += ((ord($string{++$i}) & 0x3F) << 6);
+ $charval += (ord($string{++$i}) & 0x3F);
+ } elseif ((($char_ord_val & 0xE0) >> 5) == 0x07 && $i+2 < $strlen) {
+ $charval = (($char_ord_val & 0x0F) << 12);
+ $charval += ((ord($string{++$i}) & 0x3F) << 6);
+ $charval += (ord($string{++$i}) & 0x3F);
+ } elseif ((($char_ord_val & 0xC0) >> 6) == 0x03 && $i+1 < $strlen) {
+ $charval = (($char_ord_val & 0x1F) << 6);
+ $charval += (ord($string{++$i}) & 0x3F);
+ }
+ if (($charval >= 32) && ($charval <= 127)) {
+ $HTMLstring .= htmlentities(chr($charval));
+ } else {
+ $HTMLstring .= '&#'.$charval.';';
+ }
+ }
+ break;
+
+ case 'UTF-16LE':
+ for ($i = 0; $i < strlen($string); $i += 2) {
+ $charval = self::LittleEndian2Int(substr($string, $i, 2));
+ if (($charval >= 32) && ($charval <= 127)) {
+ $HTMLstring .= chr($charval);
+ } else {
+ $HTMLstring .= '&#'.$charval.';';
+ }
+ }
+ break;
+
+ case 'UTF-16BE':
+ for ($i = 0; $i < strlen($string); $i += 2) {
+ $charval = self::BigEndian2Int(substr($string, $i, 2));
+ if (($charval >= 32) && ($charval <= 127)) {
+ $HTMLstring .= chr($charval);
+ } else {
+ $HTMLstring .= '&#'.$charval.';';
+ }
+ }
+ break;
+
+ default:
+ $HTMLstring = 'ERROR: Character set "'.$charset.'" not supported in MultiByteCharString2HTML()';
+ break;
+ }
+ return $HTMLstring;
+ }
+
+
+
+ public static function RGADnameLookup($namecode) {
+ static $RGADname = array();
+ if (empty($RGADname)) {
+ $RGADname[0] = 'not set';
+ $RGADname[1] = 'Track Gain Adjustment';
+ $RGADname[2] = 'Album Gain Adjustment';
+ }
+
+ return (isset($RGADname[$namecode]) ? $RGADname[$namecode] : '');
+ }
+
+
+ public static function RGADoriginatorLookup($originatorcode) {
+ static $RGADoriginator = array();
+ if (empty($RGADoriginator)) {
+ $RGADoriginator[0] = 'unspecified';
+ $RGADoriginator[1] = 'pre-set by artist/producer/mastering engineer';
+ $RGADoriginator[2] = 'set by user';
+ $RGADoriginator[3] = 'determined automatically';
+ }
+
+ return (isset($RGADoriginator[$originatorcode]) ? $RGADoriginator[$originatorcode] : '');
+ }
+
+
+ public static function RGADadjustmentLookup($rawadjustment, $signbit) {
+ $adjustment = $rawadjustment / 10;
+ if ($signbit == 1) {
+ $adjustment *= -1;
+ }
+ return (float) $adjustment;
+ }
+
+
+ public static function RGADgainString($namecode, $originatorcode, $replaygain) {
+ if ($replaygain < 0) {
+ $signbit = '1';
+ } else {
+ $signbit = '0';
+ }
+ $storedreplaygain = intval(round($replaygain * 10));
+ $gainstring = str_pad(decbin($namecode), 3, '0', STR_PAD_LEFT);
+ $gainstring .= str_pad(decbin($originatorcode), 3, '0', STR_PAD_LEFT);
+ $gainstring .= $signbit;
+ $gainstring .= str_pad(decbin($storedreplaygain), 9, '0', STR_PAD_LEFT);
+
+ return $gainstring;
+ }
+
+ public static function RGADamplitude2dB($amplitude) {
+ return 20 * log10($amplitude);
+ }
+
+
+ public static function GetDataImageSize($imgData, &$imageinfo=array()) {
+ $GetDataImageSize = false;
+ if ($tempfilename = tempnam(sys_get_temp_dir(), 'gI3')) {
+ if (is_writable($tempfilename) && is_file($tempfilename) && ($tmp = fopen($tempfilename, 'wb'))) {
+ fwrite($tmp, $imgData);
+ fclose($tmp);
+ $GetDataImageSize = @getimagesize($tempfilename, $imageinfo);
+ }
+ unlink($tempfilename);
+ }
+ return $GetDataImageSize;
+ }
+
+ public static function ImageExtFromMime($mime_type) {
+ // temporary way, works OK for now, but should be reworked in the future
+ return str_replace(array('image/', 'x-', 'jpeg'), array('', '', 'jpg'), $mime_type);
+ }
+
+ public static function ImageTypesLookup($imagetypeid) {
+ static $ImageTypesLookup = array();
+ if (empty($ImageTypesLookup)) {
+ $ImageTypesLookup[1] = 'gif';
+ $ImageTypesLookup[2] = 'jpeg';
+ $ImageTypesLookup[3] = 'png';
+ $ImageTypesLookup[4] = 'swf';
+ $ImageTypesLookup[5] = 'psd';
+ $ImageTypesLookup[6] = 'bmp';
+ $ImageTypesLookup[7] = 'tiff (little-endian)';
+ $ImageTypesLookup[8] = 'tiff (big-endian)';
+ $ImageTypesLookup[9] = 'jpc';
+ $ImageTypesLookup[10] = 'jp2';
+ $ImageTypesLookup[11] = 'jpx';
+ $ImageTypesLookup[12] = 'jb2';
+ $ImageTypesLookup[13] = 'swc';
+ $ImageTypesLookup[14] = 'iff';
+ }
+ return (isset($ImageTypesLookup[$imagetypeid]) ? $ImageTypesLookup[$imagetypeid] : '');
+ }
+
+ public static function CopyTagsToComments(&$ThisFileInfo) {
+
+ // Copy all entries from ['tags'] into common ['comments']
+ if (!empty($ThisFileInfo['tags'])) {
+ foreach ($ThisFileInfo['tags'] as $tagtype => $tagarray) {
+ foreach ($tagarray as $tagname => $tagdata) {
+ foreach ($tagdata as $key => $value) {
+ if (!empty($value)) {
+ if (empty($ThisFileInfo['comments'][$tagname])) {
+
+ // fall through and append value
+
+ } elseif ($tagtype == 'id3v1') {
+
+ $newvaluelength = strlen(trim($value));
+ foreach ($ThisFileInfo['comments'][$tagname] as $existingkey => $existingvalue) {
+ $oldvaluelength = strlen(trim($existingvalue));
+ if (($newvaluelength <= $oldvaluelength) && (substr($existingvalue, 0, $newvaluelength) == trim($value))) {
+ // new value is identical but shorter-than (or equal-length to) one already in comments - skip
+ break 2;
+ }
+ }
+
+ } elseif (!is_array($value)) {
+
+ $newvaluelength = strlen(trim($value));
+ foreach ($ThisFileInfo['comments'][$tagname] as $existingkey => $existingvalue) {
+ $oldvaluelength = strlen(trim($existingvalue));
+ if ((strlen($existingvalue) > 10) && ($newvaluelength > $oldvaluelength) && (substr(trim($value), 0, strlen($existingvalue)) == $existingvalue)) {
+ $ThisFileInfo['comments'][$tagname][$existingkey] = trim($value);
+ //break 2;
+ break;
+ }
+ }
+
+ }
+ if (is_array($value) || empty($ThisFileInfo['comments'][$tagname]) || !in_array(trim($value), $ThisFileInfo['comments'][$tagname])) {
+ $value = (is_string($value) ? trim($value) : $value);
+ if (!is_numeric($key)) {
+ $ThisFileInfo['comments'][$tagname][$key] = $value;
+ } else {
+ $ThisFileInfo['comments'][$tagname][] = $value;
+ }
+ }
+ }
+ }
+ }
+ }
+
+ // Copy to ['comments_html']
+ if (!empty($ThisFileInfo['comments'])) {
+ foreach ($ThisFileInfo['comments'] as $field => $values) {
+ if ($field == 'picture') {
+ // pictures can take up a lot of space, and we don't need multiple copies of them
+ // let there be a single copy in [comments][picture], and not elsewhere
+ continue;
+ }
+ foreach ($values as $index => $value) {
+ if (is_array($value)) {
+ $ThisFileInfo['comments_html'][$field][$index] = $value;
+ } else {
+ $ThisFileInfo['comments_html'][$field][$index] = str_replace('&#0;', '', self::MultiByteCharString2HTML($value, $ThisFileInfo['encoding']));
+ }
+ }
+ }
+ }
+
+ }
+ return true;
+ }
+
+
+ public static function EmbeddedLookup($key, $begin, $end, $file, $name) {
+
+ // Cached
+ static $cache;
+ if (isset($cache[$file][$name])) {
+ return (isset($cache[$file][$name][$key]) ? $cache[$file][$name][$key] : '');
+ }
+
+ // Init
+ $keylength = strlen($key);
+ $line_count = $end - $begin - 7;
+
+ // Open php file
+ $fp = fopen($file, 'r');
+
+ // Discard $begin lines
+ for ($i = 0; $i < ($begin + 3); $i++) {
+ fgets($fp, 1024);
+ }
+
+ // Loop thru line
+ while (0 < $line_count--) {
+
+ // Read line
+ $line = ltrim(fgets($fp, 1024), "\t ");
+
+ // METHOD A: only cache the matching key - less memory but slower on next lookup of not-previously-looked-up key
+ //$keycheck = substr($line, 0, $keylength);
+ //if ($key == $keycheck) {
+ // $cache[$file][$name][$keycheck] = substr($line, $keylength + 1);
+ // break;
+ //}
+
+ // METHOD B: cache all keys in this lookup - more memory but faster on next lookup of not-previously-looked-up key
+ //$cache[$file][$name][substr($line, 0, $keylength)] = trim(substr($line, $keylength + 1));
+ $explodedLine = explode("\t", $line, 2);
+ $ThisKey = (isset($explodedLine[0]) ? $explodedLine[0] : '');
+ $ThisValue = (isset($explodedLine[1]) ? $explodedLine[1] : '');
+ $cache[$file][$name][$ThisKey] = trim($ThisValue);
+ }
+
+ // Close and return
+ fclose($fp);
+ return (isset($cache[$file][$name][$key]) ? $cache[$file][$name][$key] : '');
+ }
+
+ public static function trimNullByte($string) {
+ return trim($string, "\x00");
+ }
+
+ /**
+ * Workaround for Bug #37268 (https://bugs.php.net/bug.php?id=37268)
+ * @param string $path A path.
+ * @param string $suffix If the name component ends in suffix this will also be cut off.
+ * @return string
+ */
+ public static function mb_basename($path, $suffix = null) {
+ $splited = preg_split('#/#', rtrim($path, '/ '));
+ return substr(basename('X'.$splited[count($splited) - 1], $suffix), 1);
+ }
+
+}
diff --git a/vendor/michelf/php-markdown/License.md b/vendor/michelf/php-markdown/License.md
new file mode 100644
index 000000000..c16197b69
--- /dev/null
+++ b/vendor/michelf/php-markdown/License.md
@@ -0,0 +1,36 @@
+PHP Markdown Lib
+Copyright (c) 2004-2016 Michel Fortin
+<https://michelf.ca/>
+All rights reserved.
+
+Based on Markdown
+Copyright (c) 2003-2006 John Gruber
+<https://daringfireball.net/>
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+* Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+
+* Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+* Neither the name "Markdown" nor the names of its contributors may
+ be used to endorse or promote products derived from this software
+ without specific prior written permission.
+
+This software is provided by the copyright holders and contributors "as
+is" and any express or implied warranties, including, but not limited
+to, the implied warranties of merchantability and fitness for a
+particular purpose are disclaimed. In no event shall the copyright owner
+or contributors be liable for any direct, indirect, incidental, special,
+exemplary, or consequential damages (including, but not limited to,
+procurement of substitute goods or services; loss of use, data, or
+profits; or business interruption) however caused and on any theory of
+liability, whether in contract, strict liability, or tort (including
+negligence or otherwise) arising in any way out of the use of this
+software, even if advised of the possibility of such damage.
diff --git a/vendor/michelf/php-markdown/Michelf/Markdown.inc.php b/vendor/michelf/php-markdown/Michelf/Markdown.inc.php
new file mode 100644
index 000000000..e2bd3808e
--- /dev/null
+++ b/vendor/michelf/php-markdown/Michelf/Markdown.inc.php
@@ -0,0 +1,10 @@
+<?php
+
+// Use this file if you cannot use class autoloading. It will include all the
+// files needed for the Markdown parser.
+//
+// Take a look at the PSR-0-compatible class autoloading implementation
+// in the Readme.php file if you want a simple autoloader setup.
+
+require_once dirname(__FILE__) . '/MarkdownInterface.php';
+require_once dirname(__FILE__) . '/Markdown.php';
diff --git a/vendor/michelf/php-markdown/Michelf/Markdown.php b/vendor/michelf/php-markdown/Michelf/Markdown.php
new file mode 100644
index 000000000..c3eaf4464
--- /dev/null
+++ b/vendor/michelf/php-markdown/Michelf/Markdown.php
@@ -0,0 +1,1896 @@
+<?php
+/**
+ * Markdown - A text-to-HTML conversion tool for web writers
+ *
+ * @package php-markdown
+ * @author Michel Fortin <michel.fortin@michelf.com>
+ * @copyright 2004-2016 Michel Fortin <https://michelf.com/projects/php-markdown/>
+ * @copyright (Original Markdown) 2004-2006 John Gruber <https://daringfireball.net/projects/markdown/>
+ */
+
+namespace Michelf;
+
+/**
+ * Markdown Parser Class
+ */
+class Markdown implements MarkdownInterface {
+ /**
+ * Define the package version
+ * @var string
+ */
+ const MARKDOWNLIB_VERSION = "1.7.0";
+
+ /**
+ * Simple function interface - Initialize the parser and return the result
+ * of its transform method. This will work fine for derived classes too.
+ *
+ * @api
+ *
+ * @param string $text
+ * @return string
+ */
+ public static function defaultTransform($text) {
+ // Take parser class on which this function was called.
+ $parser_class = \get_called_class();
+
+ // Try to take parser from the static parser list
+ static $parser_list;
+ $parser =& $parser_list[$parser_class];
+
+ // Create the parser it not already set
+ if (!$parser) {
+ $parser = new $parser_class;
+ }
+
+ // Transform text using parser.
+ return $parser->transform($text);
+ }
+
+ /**
+ * Configuration variables
+ */
+
+ /**
+ * Change to ">" for HTML output.
+ * @var string
+ */
+ public $empty_element_suffix = " />";
+
+ /**
+ * The width of indentation of the output markup
+ * @var int
+ */
+ public $tab_width = 4;
+
+ /**
+ * Change to `true` to disallow markup or entities.
+ * @var boolean
+ */
+ public $no_markup = false;
+ public $no_entities = false;
+
+
+ /**
+ * Change to `true` to enable line breaks on \n without two trailling spaces
+ * @var boolean
+ */
+ public $hard_wrap = false;
+
+ /**
+ * Predefined URLs and titles for reference links and images.
+ * @var array
+ */
+ public $predef_urls = array();
+ public $predef_titles = array();
+
+ /**
+ * Optional filter function for URLs
+ * @var callable
+ */
+ public $url_filter_func = null;
+
+ /**
+ * Optional header id="" generation callback function.
+ * @var callable
+ */
+ public $header_id_func = null;
+
+ /**
+ * Optional function for converting code block content to HTML
+ * @var callable
+ */
+ public $code_block_content_func = null;
+
+ /**
+ * Optional function for converting code span content to HTML.
+ * @var callable
+ */
+ public $code_span_content_func = null;
+
+ /**
+ * Class attribute to toggle "enhanced ordered list" behaviour
+ * setting this to true will allow ordered lists to start from the index
+ * number that is defined first.
+ *
+ * For example:
+ * 2. List item two
+ * 3. List item three
+ *
+ * Becomes:
+ * <ol start="2">
+ * <li>List item two</li>
+ * <li>List item three</li>
+ * </ol>
+ *
+ * @var bool
+ */
+ public $enhanced_ordered_list = false;
+
+ /**
+ * Parser implementation
+ */
+
+ /**
+ * Regex to match balanced [brackets].
+ * Needed to insert a maximum bracked depth while converting to PHP.
+ * @var int
+ */
+ protected $nested_brackets_depth = 6;
+ protected $nested_brackets_re;
+
+ protected $nested_url_parenthesis_depth = 4;
+ protected $nested_url_parenthesis_re;
+
+ /**
+ * Table of hash values for escaped characters:
+ * @var string
+ */
+ protected $escape_chars = '\`*_{}[]()>#+-.!';
+ protected $escape_chars_re;
+
+ /**
+ * Constructor function. Initialize appropriate member variables.
+ * @return void
+ */
+ public function __construct() {
+ $this->_initDetab();
+ $this->prepareItalicsAndBold();
+
+ $this->nested_brackets_re =
+ str_repeat('(?>[^\[\]]+|\[', $this->nested_brackets_depth).
+ str_repeat('\])*', $this->nested_brackets_depth);
+
+ $this->nested_url_parenthesis_re =
+ str_repeat('(?>[^()\s]+|\(', $this->nested_url_parenthesis_depth).
+ str_repeat('(?>\)))*', $this->nested_url_parenthesis_depth);
+
+ $this->escape_chars_re = '['.preg_quote($this->escape_chars).']';
+
+ // Sort document, block, and span gamut in ascendent priority order.
+ asort($this->document_gamut);
+ asort($this->block_gamut);
+ asort($this->span_gamut);
+ }
+
+
+ /**
+ * Internal hashes used during transformation.
+ * @var array
+ */
+ protected $urls = array();
+ protected $titles = array();
+ protected $html_hashes = array();
+
+ /**
+ * Status flag to avoid invalid nesting.
+ * @var boolean
+ */
+ protected $in_anchor = false;
+
+ /**
+ * Called before the transformation process starts to setup parser states.
+ * @return void
+ */
+ protected function setup() {
+ // Clear global hashes.
+ $this->urls = $this->predef_urls;
+ $this->titles = $this->predef_titles;
+ $this->html_hashes = array();
+ $this->in_anchor = false;
+ }
+
+ /**
+ * Called after the transformation process to clear any variable which may
+ * be taking up memory unnecessarly.
+ * @return void
+ */
+ protected function teardown() {
+ $this->urls = array();
+ $this->titles = array();
+ $this->html_hashes = array();
+ }
+
+ /**
+ * Main function. Performs some preprocessing on the input text and pass
+ * it through the document gamut.
+ *
+ * @api
+ *
+ * @param string $text
+ * @return string
+ */
+ public function transform($text) {
+ $this->setup();
+
+ # Remove UTF-8 BOM and marker character in input, if present.
+ $text = preg_replace('{^\xEF\xBB\xBF|\x1A}', '', $text);
+
+ # Standardize line endings:
+ # DOS to Unix and Mac to Unix
+ $text = preg_replace('{\r\n?}', "\n", $text);
+
+ # Make sure $text ends with a couple of newlines:
+ $text .= "\n\n";
+
+ # Convert all tabs to spaces.
+ $text = $this->detab($text);
+
+ # Turn block-level HTML blocks into hash entries
+ $text = $this->hashHTMLBlocks($text);
+
+ # Strip any lines consisting only of spaces and tabs.
+ # This makes subsequent regexen easier to write, because we can
+ # match consecutive blank lines with /\n+/ instead of something
+ # contorted like /[ ]*\n+/ .
+ $text = preg_replace('/^[ ]+$/m', '', $text);
+
+ # Run document gamut methods.
+ foreach ($this->document_gamut as $method => $priority) {
+ $text = $this->$method($text);
+ }
+
+ $this->teardown();
+
+ return $text . "\n";
+ }
+
+ /**
+ * Define the document gamut
+ * @var array
+ */
+ protected $document_gamut = array(
+ // Strip link definitions, store in hashes.
+ "stripLinkDefinitions" => 20,
+ "runBasicBlockGamut" => 30,
+ );
+
+ /**
+ * Strips link definitions from text, stores the URLs and titles in
+ * hash references
+ * @param string $text
+ * @return string
+ */
+ protected function stripLinkDefinitions($text) {
+
+ $less_than_tab = $this->tab_width - 1;
+
+ // Link defs are in the form: ^[id]: url "optional title"
+ $text = preg_replace_callback('{
+ ^[ ]{0,'.$less_than_tab.'}\[(.+)\][ ]?: # id = $1
+ [ ]*
+ \n? # maybe *one* newline
+ [ ]*
+ (?:
+ <(.+?)> # url = $2
+ |
+ (\S+?) # url = $3
+ )
+ [ ]*
+ \n? # maybe one newline
+ [ ]*
+ (?:
+ (?<=\s) # lookbehind for whitespace
+ ["(]
+ (.*?) # title = $4
+ [")]
+ [ ]*
+ )? # title is optional
+ (?:\n+|\Z)
+ }xm',
+ array($this, '_stripLinkDefinitions_callback'),
+ $text
+ );
+ return $text;
+ }
+
+ /**
+ * The callback to strip link definitions
+ * @param array $matches
+ * @return string
+ */
+ protected function _stripLinkDefinitions_callback($matches) {
+ $link_id = strtolower($matches[1]);
+ $url = $matches[2] == '' ? $matches[3] : $matches[2];
+ $this->urls[$link_id] = $url;
+ $this->titles[$link_id] =& $matches[4];
+ return ''; // String that will replace the block
+ }
+
+ /**
+ * Hashify HTML blocks
+ * @param string $text
+ * @return string
+ */
+ protected function hashHTMLBlocks($text) {
+ if ($this->no_markup) {
+ return $text;
+ }
+
+ $less_than_tab = $this->tab_width - 1;
+
+ /**
+ * Hashify HTML blocks:
+ *
+ * We only want to do this for block-level HTML tags, such as headers,
+ * lists, and tables. That's because we still want to wrap <p>s around
+ * "paragraphs" that are wrapped in non-block-level tags, such as
+ * anchors, phrase emphasis, and spans. The list of tags we're looking
+ * for is hard-coded:
+ *
+ * * List "a" is made of tags which can be both inline or block-level.
+ * These will be treated block-level when the start tag is alone on
+ * its line, otherwise they're not matched here and will be taken as
+ * inline later.
+ * * List "b" is made of tags which are always block-level;
+ */
+ $block_tags_a_re = 'ins|del';
+ $block_tags_b_re = 'p|div|h[1-6]|blockquote|pre|table|dl|ol|ul|address|'.
+ 'script|noscript|style|form|fieldset|iframe|math|svg|'.
+ 'article|section|nav|aside|hgroup|header|footer|'.
+ 'figure';
+
+ // Regular expression for the content of a block tag.
+ $nested_tags_level = 4;
+ $attr = '
+ (?> # optional tag attributes
+ \s # starts with whitespace
+ (?>
+ [^>"/]+ # text outside quotes
+ |
+ /+(?!>) # slash not followed by ">"
+ |
+ "[^"]*" # text inside double quotes (tolerate ">")
+ |
+ \'[^\']*\' # text inside single quotes (tolerate ">")
+ )*
+ )?
+ ';
+ $content =
+ str_repeat('
+ (?>
+ [^<]+ # content without tag
+ |
+ <\2 # nested opening tag
+ '.$attr.' # attributes
+ (?>
+ />
+ |
+ >', $nested_tags_level). // end of opening tag
+ '.*?'. // last level nested tag content
+ str_repeat('
+ </\2\s*> # closing nested tag
+ )
+ |
+ <(?!/\2\s*> # other tags with a different name
+ )
+ )*',
+ $nested_tags_level);
+ $content2 = str_replace('\2', '\3', $content);
+
+ /**
+ * First, look for nested blocks, e.g.:
+ * <div>
+ * <div>
+ * tags for inner block must be indented.
+ * </div>
+ * </div>
+ *
+ * The outermost tags must start at the left margin for this to match,
+ * and the inner nested divs must be indented.
+ * We need to do this before the next, more liberal match, because the
+ * next match will start at the first `<div>` and stop at the
+ * first `</div>`.
+ */
+ $text = preg_replace_callback('{(?>
+ (?>
+ (?<=\n) # Starting on its own line
+ | # or
+ \A\n? # the at beginning of the doc
+ )
+ ( # save in $1
+
+ # Match from `\n<tag>` to `</tag>\n`, handling nested tags
+ # in between.
+
+ [ ]{0,'.$less_than_tab.'}
+ <('.$block_tags_b_re.')# start tag = $2
+ '.$attr.'> # attributes followed by > and \n
+ '.$content.' # content, support nesting
+ </\2> # the matching end tag
+ [ ]* # trailing spaces/tabs
+ (?=\n+|\Z) # followed by a newline or end of document
+
+ | # Special version for tags of group a.
+
+ [ ]{0,'.$less_than_tab.'}
+ <('.$block_tags_a_re.')# start tag = $3
+ '.$attr.'>[ ]*\n # attributes followed by >
+ '.$content2.' # content, support nesting
+ </\3> # the matching end tag
+ [ ]* # trailing spaces/tabs
+ (?=\n+|\Z) # followed by a newline or end of document
+
+ | # Special case just for <hr />. It was easier to make a special
+ # case than to make the other regex more complicated.
+
+ [ ]{0,'.$less_than_tab.'}
+ <(hr) # start tag = $2
+ '.$attr.' # attributes
+ /?> # the matching end tag
+ [ ]*
+ (?=\n{2,}|\Z) # followed by a blank line or end of document
+
+ | # Special case for standalone HTML comments:
+
+ [ ]{0,'.$less_than_tab.'}
+ (?s:
+ <!-- .*? -->
+ )
+ [ ]*
+ (?=\n{2,}|\Z) # followed by a blank line or end of document
+
+ | # PHP and ASP-style processor instructions (<? and <%)
+
+ [ ]{0,'.$less_than_tab.'}
+ (?s:
+ <([?%]) # $2
+ .*?
+ \2>
+ )
+ [ ]*
+ (?=\n{2,}|\Z) # followed by a blank line or end of document
+
+ )
+ )}Sxmi',
+ array($this, '_hashHTMLBlocks_callback'),
+ $text
+ );
+
+ return $text;
+ }
+
+ /**
+ * The callback for hashing HTML blocks
+ * @param string $matches
+ * @return string
+ */
+ protected function _hashHTMLBlocks_callback($matches) {
+ $text = $matches[1];
+ $key = $this->hashBlock($text);
+ return "\n\n$key\n\n";
+ }
+
+ /**
+ * Called whenever a tag must be hashed when a function insert an atomic
+ * element in the text stream. Passing $text to through this function gives
+ * a unique text-token which will be reverted back when calling unhash.
+ *
+ * The $boundary argument specify what character should be used to surround
+ * the token. By convension, "B" is used for block elements that needs not
+ * to be wrapped into paragraph tags at the end, ":" is used for elements
+ * that are word separators and "X" is used in the general case.
+ *
+ * @param string $text
+ * @param string $boundary
+ * @return string
+ */
+ protected function hashPart($text, $boundary = 'X') {
+ // Swap back any tag hash found in $text so we do not have to `unhash`
+ // multiple times at the end.
+ $text = $this->unhash($text);
+
+ // Then hash the block.
+ static $i = 0;
+ $key = "$boundary\x1A" . ++$i . $boundary;
+ $this->html_hashes[$key] = $text;
+ return $key; // String that will replace the tag.
+ }
+
+ /**
+ * Shortcut function for hashPart with block-level boundaries.
+ * @param string $text
+ * @return string
+ */
+ protected function hashBlock($text) {
+ return $this->hashPart($text, 'B');
+ }
+
+ /**
+ * Define the block gamut - these are all the transformations that form
+ * block-level tags like paragraphs, headers, and list items.
+ * @var array
+ */
+ protected $block_gamut = array(
+ "doHeaders" => 10,
+ "doHorizontalRules" => 20,
+ "doLists" => 40,
+ "doCodeBlocks" => 50,
+ "doBlockQuotes" => 60,
+ );
+
+ /**
+ * Run block gamut tranformations.
+ *
+ * We need to escape raw HTML in Markdown source before doing anything
+ * else. This need to be done for each block, and not only at the
+ * begining in the Markdown function since hashed blocks can be part of
+ * list items and could have been indented. Indented blocks would have
+ * been seen as a code block in a previous pass of hashHTMLBlocks.
+ *
+ * @param string $text
+ * @return string
+ */
+ protected function runBlockGamut($text) {
+ $text = $this->hashHTMLBlocks($text);
+ return $this->runBasicBlockGamut($text);
+ }
+
+ /**
+ * Run block gamut tranformations, without hashing HTML blocks. This is
+ * useful when HTML blocks are known to be already hashed, like in the first
+ * whole-document pass.
+ *
+ * @param string $text
+ * @return string
+ */
+ protected function runBasicBlockGamut($text) {
+
+ foreach ($this->block_gamut as $method => $priority) {
+ $text = $this->$method($text);
+ }
+
+ // Finally form paragraph and restore hashed blocks.
+ $text = $this->formParagraphs($text);
+
+ return $text;
+ }
+
+ /**
+ * Convert horizontal rules
+ * @param string $text
+ * @return string
+ */
+ protected function doHorizontalRules($text) {
+ return preg_replace(
+ '{
+ ^[ ]{0,3} # Leading space
+ ([-*_]) # $1: First marker
+ (?> # Repeated marker group
+ [ ]{0,2} # Zero, one, or two spaces.
+ \1 # Marker character
+ ){2,} # Group repeated at least twice
+ [ ]* # Tailing spaces
+ $ # End of line.
+ }mx',
+ "\n".$this->hashBlock("<hr$this->empty_element_suffix")."\n",
+ $text
+ );
+ }
+
+ /**
+ * These are all the transformations that occur *within* block-level
+ * tags like paragraphs, headers, and list items.
+ * @var array
+ */
+ protected $span_gamut = array(
+ // Process character escapes, code spans, and inline HTML
+ // in one shot.
+ "parseSpan" => -30,
+ // Process anchor and image tags. Images must come first,
+ // because ![foo][f] looks like an anchor.
+ "doImages" => 10,
+ "doAnchors" => 20,
+ // Make links out of things like `<https://example.com/>`
+ // Must come after doAnchors, because you can use < and >
+ // delimiters in inline links like [this](<url>).
+ "doAutoLinks" => 30,
+ "encodeAmpsAndAngles" => 40,
+ "doItalicsAndBold" => 50,
+ "doHardBreaks" => 60,
+ );
+
+ /**
+ * Run span gamut transformations
+ * @param string $text
+ * @return string
+ */
+ protected function runSpanGamut($text) {
+ foreach ($this->span_gamut as $method => $priority) {
+ $text = $this->$method($text);
+ }
+
+ return $text;
+ }
+
+ /**
+ * Do hard breaks
+ * @param string $text
+ * @return string
+ */
+ protected function doHardBreaks($text) {
+ if ($this->hard_wrap) {
+ return preg_replace_callback('/ *\n/',
+ array($this, '_doHardBreaks_callback'), $text);
+ } else {
+ return preg_replace_callback('/ {2,}\n/',
+ array($this, '_doHardBreaks_callback'), $text);
+ }
+ }
+
+ /**
+ * Trigger part hashing for the hard break (callback method)
+ * @param array $matches
+ * @return string
+ */
+ protected function _doHardBreaks_callback($matches) {
+ return $this->hashPart("<br$this->empty_element_suffix\n");
+ }
+
+ /**
+ * Turn Markdown link shortcuts into XHTML <a> tags.
+ * @param string $text
+ * @return string
+ */
+ protected function doAnchors($text) {
+ if ($this->in_anchor) {
+ return $text;
+ }
+ $this->in_anchor = true;
+
+ // First, handle reference-style links: [link text] [id]
+ $text = preg_replace_callback('{
+ ( # wrap whole match in $1
+ \[
+ ('.$this->nested_brackets_re.') # link text = $2
+ \]
+
+ [ ]? # one optional space
+ (?:\n[ ]*)? # one optional newline followed by spaces
+
+ \[
+ (.*?) # id = $3
+ \]
+ )
+ }xs',
+ array($this, '_doAnchors_reference_callback'), $text);
+
+ // Next, inline-style links: [link text](url "optional title")
+ $text = preg_replace_callback('{
+ ( # wrap whole match in $1
+ \[
+ ('.$this->nested_brackets_re.') # link text = $2
+ \]
+ \( # literal paren
+ [ \n]*
+ (?:
+ <(.+?)> # href = $3
+ |
+ ('.$this->nested_url_parenthesis_re.') # href = $4
+ )
+ [ \n]*
+ ( # $5
+ ([\'"]) # quote char = $6
+ (.*?) # Title = $7
+ \6 # matching quote
+ [ \n]* # ignore any spaces/tabs between closing quote and )
+ )? # title is optional
+ \)
+ )
+ }xs',
+ array($this, '_doAnchors_inline_callback'), $text);
+
+ // Last, handle reference-style shortcuts: [link text]
+ // These must come last in case you've also got [link text][1]
+ // or [link text](/foo)
+ $text = preg_replace_callback('{
+ ( # wrap whole match in $1
+ \[
+ ([^\[\]]+) # link text = $2; can\'t contain [ or ]
+ \]
+ )
+ }xs',
+ array($this, '_doAnchors_reference_callback'), $text);
+
+ $this->in_anchor = false;
+ return $text;
+ }
+
+ /**
+ * Callback method to parse referenced anchors
+ * @param string $matches
+ * @return string
+ */
+ protected function _doAnchors_reference_callback($matches) {
+ $whole_match = $matches[1];
+ $link_text = $matches[2];
+ $link_id =& $matches[3];
+
+ if ($link_id == "") {
+ // for shortcut links like [this][] or [this].
+ $link_id = $link_text;
+ }
+
+ // lower-case and turn embedded newlines into spaces
+ $link_id = strtolower($link_id);
+ $link_id = preg_replace('{[ ]?\n}', ' ', $link_id);
+
+ if (isset($this->urls[$link_id])) {
+ $url = $this->urls[$link_id];
+ $url = $this->encodeURLAttribute($url);
+
+ $result = "<a href=\"$url\"";
+ if ( isset( $this->titles[$link_id] ) ) {
+ $title = $this->titles[$link_id];
+ $title = $this->encodeAttribute($title);
+ $result .= " title=\"$title\"";
+ }
+
+ $link_text = $this->runSpanGamut($link_text);
+ $result .= ">$link_text</a>";
+ $result = $this->hashPart($result);
+ } else {
+ $result = $whole_match;
+ }
+ return $result;
+ }
+
+ /**
+ * Callback method to parse inline anchors
+ * @param string $matches
+ * @return string
+ */
+ protected function _doAnchors_inline_callback($matches) {
+ $whole_match = $matches[1];
+ $link_text = $this->runSpanGamut($matches[2]);
+ $url = $matches[3] == '' ? $matches[4] : $matches[3];
+ $title =& $matches[7];
+
+ // If the URL was of the form <s p a c e s> it got caught by the HTML
+ // tag parser and hashed. Need to reverse the process before using
+ // the URL.
+ $unhashed = $this->unhash($url);
+ if ($unhashed != $url)
+ $url = preg_replace('/^<(.*)>$/', '\1', $unhashed);
+
+ $url = $this->encodeURLAttribute($url);
+
+ $result = "<a href=\"$url\"";
+ if (isset($title)) {
+ $title = $this->encodeAttribute($title);
+ $result .= " title=\"$title\"";
+ }
+
+ $link_text = $this->runSpanGamut($link_text);
+ $result .= ">$link_text</a>";
+
+ return $this->hashPart($result);
+ }
+
+ /**
+ * Turn Markdown image shortcuts into <img> tags.
+ * @param string $text
+ * @return string
+ */
+ protected function doImages($text) {
+ // First, handle reference-style labeled images: ![alt text][id]
+ $text = preg_replace_callback('{
+ ( # wrap whole match in $1
+ !\[
+ ('.$this->nested_brackets_re.') # alt text = $2
+ \]
+
+ [ ]? # one optional space
+ (?:\n[ ]*)? # one optional newline followed by spaces
+
+ \[
+ (.*?) # id = $3
+ \]
+
+ )
+ }xs',
+ array($this, '_doImages_reference_callback'), $text);
+
+ // Next, handle inline images: ![alt text](url "optional title")
+ // Don't forget: encode * and _
+ $text = preg_replace_callback('{
+ ( # wrap whole match in $1
+ !\[
+ ('.$this->nested_brackets_re.') # alt text = $2
+ \]
+ \s? # One optional whitespace character
+ \( # literal paren
+ [ \n]*
+ (?:
+ <(\S*)> # src url = $3
+ |
+ ('.$this->nested_url_parenthesis_re.') # src url = $4
+ )
+ [ \n]*
+ ( # $5
+ ([\'"]) # quote char = $6
+ (.*?) # title = $7
+ \6 # matching quote
+ [ \n]*
+ )? # title is optional
+ \)
+ )
+ }xs',
+ array($this, '_doImages_inline_callback'), $text);
+
+ return $text;
+ }
+
+ /**
+ * Callback to parse references image tags
+ * @param array $matches
+ * @return string
+ */
+ protected function _doImages_reference_callback($matches) {
+ $whole_match = $matches[1];
+ $alt_text = $matches[2];
+ $link_id = strtolower($matches[3]);
+
+ if ($link_id == "") {
+ $link_id = strtolower($alt_text); // for shortcut links like ![this][].
+ }
+
+ $alt_text = $this->encodeAttribute($alt_text);
+ if (isset($this->urls[$link_id])) {
+ $url = $this->encodeURLAttribute($this->urls[$link_id]);
+ $result = "<img src=\"$url\" alt=\"$alt_text\"";
+ if (isset($this->titles[$link_id])) {
+ $title = $this->titles[$link_id];
+ $title = $this->encodeAttribute($title);
+ $result .= " title=\"$title\"";
+ }
+ $result .= $this->empty_element_suffix;
+ $result = $this->hashPart($result);
+ } else {
+ // If there's no such link ID, leave intact:
+ $result = $whole_match;
+ }
+
+ return $result;
+ }
+
+ /**
+ * Callback to parse inline image tags
+ * @param array $matches
+ * @return string
+ */
+ protected function _doImages_inline_callback($matches) {
+ $whole_match = $matches[1];
+ $alt_text = $matches[2];
+ $url = $matches[3] == '' ? $matches[4] : $matches[3];
+ $title =& $matches[7];
+
+ $alt_text = $this->encodeAttribute($alt_text);
+ $url = $this->encodeURLAttribute($url);
+ $result = "<img src=\"$url\" alt=\"$alt_text\"";
+ if (isset($title)) {
+ $title = $this->encodeAttribute($title);
+ $result .= " title=\"$title\""; // $title already quoted
+ }
+ $result .= $this->empty_element_suffix;
+
+ return $this->hashPart($result);
+ }
+
+ /**
+ * Parse Markdown heading elements to HTML
+ * @param string $text
+ * @return string
+ */
+ protected function doHeaders($text) {
+ /**
+ * Setext-style headers:
+ * Header 1
+ * ========
+ *
+ * Header 2
+ * --------
+ */
+ $text = preg_replace_callback('{ ^(.+?)[ ]*\n(=+|-+)[ ]*\n+ }mx',
+ array($this, '_doHeaders_callback_setext'), $text);
+
+ /**
+ * atx-style headers:
+ * # Header 1
+ * ## Header 2
+ * ## Header 2 with closing hashes ##
+ * ...
+ * ###### Header 6
+ */
+ $text = preg_replace_callback('{
+ ^(\#{1,6}) # $1 = string of #\'s
+ [ ]*
+ (.+?) # $2 = Header text
+ [ ]*
+ \#* # optional closing #\'s (not counted)
+ \n+
+ }xm',
+ array($this, '_doHeaders_callback_atx'), $text);
+
+ return $text;
+ }
+
+ /**
+ * Setext header parsing callback
+ * @param array $matches
+ * @return string
+ */
+ protected function _doHeaders_callback_setext($matches) {
+ // Terrible hack to check we haven't found an empty list item.
+ if ($matches[2] == '-' && preg_match('{^-(?: |$)}', $matches[1])) {
+ return $matches[0];
+ }
+
+ $level = $matches[2]{0} == '=' ? 1 : 2;
+
+ // ID attribute generation
+ $idAtt = $this->_generateIdFromHeaderValue($matches[1]);
+
+ $block = "<h$level$idAtt>".$this->runSpanGamut($matches[1])."</h$level>";
+ return "\n" . $this->hashBlock($block) . "\n\n";
+ }
+
+ /**
+ * ATX header parsing callback
+ * @param array $matches
+ * @return string
+ */
+ protected function _doHeaders_callback_atx($matches) {
+ // ID attribute generation
+ $idAtt = $this->_generateIdFromHeaderValue($matches[2]);
+
+ $level = strlen($matches[1]);
+ $block = "<h$level$idAtt>".$this->runSpanGamut($matches[2])."</h$level>";
+ return "\n" . $this->hashBlock($block) . "\n\n";
+ }
+
+ /**
+ * If a header_id_func property is set, we can use it to automatically
+ * generate an id attribute.
+ *
+ * This method returns a string in the form id="foo", or an empty string
+ * otherwise.
+ * @param string $headerValue
+ * @return string
+ */
+ protected function _generateIdFromHeaderValue($headerValue) {
+ if (!is_callable($this->header_id_func)) {
+ return "";
+ }
+
+ $idValue = call_user_func($this->header_id_func, $headerValue);
+ if (!$idValue) {
+ return "";
+ }
+
+ return ' id="' . $this->encodeAttribute($idValue) . '"';
+ }
+
+ /**
+ * Form HTML ordered (numbered) and unordered (bulleted) lists.
+ * @param string $text
+ * @return string
+ */
+ protected function doLists($text) {
+ $less_than_tab = $this->tab_width - 1;
+
+ // Re-usable patterns to match list item bullets and number markers:
+ $marker_ul_re = '[*+-]';
+ $marker_ol_re = '\d+[\.]';
+
+ $markers_relist = array(
+ $marker_ul_re => $marker_ol_re,
+ $marker_ol_re => $marker_ul_re,
+ );
+
+ foreach ($markers_relist as $marker_re => $other_marker_re) {
+ // Re-usable pattern to match any entirel ul or ol list:
+ $whole_list_re = '
+ ( # $1 = whole list
+ ( # $2
+ ([ ]{0,'.$less_than_tab.'}) # $3 = number of spaces
+ ('.$marker_re.') # $4 = first list item marker
+ [ ]+
+ )
+ (?s:.+?)
+ ( # $5
+ \z
+ |
+ \n{2,}
+ (?=\S)
+ (?! # Negative lookahead for another list item marker
+ [ ]*
+ '.$marker_re.'[ ]+
+ )
+ |
+ (?= # Lookahead for another kind of list
+ \n
+ \3 # Must have the same indentation
+ '.$other_marker_re.'[ ]+
+ )
+ )
+ )
+ '; // mx
+
+ // We use a different prefix before nested lists than top-level lists.
+ //See extended comment in _ProcessListItems().
+
+ if ($this->list_level) {
+ $text = preg_replace_callback('{
+ ^
+ '.$whole_list_re.'
+ }mx',
+ array($this, '_doLists_callback'), $text);
+ } else {
+ $text = preg_replace_callback('{
+ (?:(?<=\n)\n|\A\n?) # Must eat the newline
+ '.$whole_list_re.'
+ }mx',
+ array($this, '_doLists_callback'), $text);
+ }
+ }
+
+ return $text;
+ }
+
+ /**
+ * List parsing callback
+ * @param array $matches
+ * @return string
+ */
+ protected function _doLists_callback($matches) {
+ // Re-usable patterns to match list item bullets and number markers:
+ $marker_ul_re = '[*+-]';
+ $marker_ol_re = '\d+[\.]';
+ $marker_any_re = "(?:$marker_ul_re|$marker_ol_re)";
+ $marker_ol_start_re = '[0-9]+';
+
+ $list = $matches[1];
+ $list_type = preg_match("/$marker_ul_re/", $matches[4]) ? "ul" : "ol";
+
+ $marker_any_re = ( $list_type == "ul" ? $marker_ul_re : $marker_ol_re );
+
+ $list .= "\n";
+ $result = $this->processListItems($list, $marker_any_re);
+
+ $ol_start = 1;
+ if ($this->enhanced_ordered_list) {
+ // Get the start number for ordered list.
+ if ($list_type == 'ol') {
+ $ol_start_array = array();
+ $ol_start_check = preg_match("/$marker_ol_start_re/", $matches[4], $ol_start_array);
+ if ($ol_start_check){
+ $ol_start = $ol_start_array[0];
+ }
+ }
+ }
+
+ if ($ol_start > 1 && $list_type == 'ol'){
+ $result = $this->hashBlock("<$list_type start=\"$ol_start\">\n" . $result . "</$list_type>");
+ } else {
+ $result = $this->hashBlock("<$list_type>\n" . $result . "</$list_type>");
+ }
+ return "\n". $result ."\n\n";
+ }
+
+ /**
+ * Nesting tracker for list levels
+ * @var integer
+ */
+ protected $list_level = 0;
+
+ /**
+ * Process the contents of a single ordered or unordered list, splitting it
+ * into individual list items.
+ * @param string $list_str
+ * @param string $marker_any_re
+ * @return string
+ */
+ protected function processListItems($list_str, $marker_any_re) {
+ /**
+ * The $this->list_level global keeps track of when we're inside a list.
+ * Each time we enter a list, we increment it; when we leave a list,
+ * we decrement. If it's zero, we're not in a list anymore.
+ *
+ * We do this because when we're not inside a list, we want to treat
+ * something like this:
+ *
+ * I recommend upgrading to version
+ * 8. Oops, now this line is treated
+ * as a sub-list.
+ *
+ * As a single paragraph, despite the fact that the second line starts
+ * with a digit-period-space sequence.
+ *
+ * Whereas when we're inside a list (or sub-list), that line will be
+ * treated as the start of a sub-list. What a kludge, huh? This is
+ * an aspect of Markdown's syntax that's hard to parse perfectly
+ * without resorting to mind-reading. Perhaps the solution is to
+ * change the syntax rules such that sub-lists must start with a
+ * starting cardinal number; e.g. "1." or "a.".
+ */
+ $this->list_level++;
+
+ // Trim trailing blank lines:
+ $list_str = preg_replace("/\n{2,}\\z/", "\n", $list_str);
+
+ $list_str = preg_replace_callback('{
+ (\n)? # leading line = $1
+ (^[ ]*) # leading whitespace = $2
+ ('.$marker_any_re.' # list marker and space = $3
+ (?:[ ]+|(?=\n)) # space only required if item is not empty
+ )
+ ((?s:.*?)) # list item text = $4
+ (?:(\n+(?=\n))|\n) # tailing blank line = $5
+ (?= \n* (\z | \2 ('.$marker_any_re.') (?:[ ]+|(?=\n))))
+ }xm',
+ array($this, '_processListItems_callback'), $list_str);
+
+ $this->list_level--;
+ return $list_str;
+ }
+
+ /**
+ * List item parsing callback
+ * @param array $matches
+ * @return string
+ */
+ protected function _processListItems_callback($matches) {
+ $item = $matches[4];
+ $leading_line =& $matches[1];
+ $leading_space =& $matches[2];
+ $marker_space = $matches[3];
+ $tailing_blank_line =& $matches[5];
+
+ if ($leading_line || $tailing_blank_line ||
+ preg_match('/\n{2,}/', $item))
+ {
+ // Replace marker with the appropriate whitespace indentation
+ $item = $leading_space . str_repeat(' ', strlen($marker_space)) . $item;
+ $item = $this->runBlockGamut($this->outdent($item)."\n");
+ } else {
+ // Recursion for sub-lists:
+ $item = $this->doLists($this->outdent($item));
+ $item = $this->formParagraphs($item, false);
+ }
+
+ return "<li>" . $item . "</li>\n";
+ }
+
+ /**
+ * Process Markdown `<pre><code>` blocks.
+ * @param string $text
+ * @return string
+ */
+ protected function doCodeBlocks($text) {
+ $text = preg_replace_callback('{
+ (?:\n\n|\A\n?)
+ ( # $1 = the code block -- one or more lines, starting with a space/tab
+ (?>
+ [ ]{'.$this->tab_width.'} # Lines must start with a tab or a tab-width of spaces
+ .*\n+
+ )+
+ )
+ ((?=^[ ]{0,'.$this->tab_width.'}\S)|\Z) # Lookahead for non-space at line-start, or end of doc
+ }xm',
+ array($this, '_doCodeBlocks_callback'), $text);
+
+ return $text;
+ }
+
+ /**
+ * Code block parsing callback
+ * @param array $matches
+ * @return string
+ */
+ protected function _doCodeBlocks_callback($matches) {
+ $codeblock = $matches[1];
+
+ $codeblock = $this->outdent($codeblock);
+ if ($this->code_block_content_func) {
+ $codeblock = call_user_func($this->code_block_content_func, $codeblock, "");
+ } else {
+ $codeblock = htmlspecialchars($codeblock, ENT_NOQUOTES);
+ }
+
+ # trim leading newlines and trailing newlines
+ $codeblock = preg_replace('/\A\n+|\n+\z/', '', $codeblock);
+
+ $codeblock = "<pre><code>$codeblock\n</code></pre>";
+ return "\n\n" . $this->hashBlock($codeblock) . "\n\n";
+ }
+
+ /**
+ * Create a code span markup for $code. Called from handleSpanToken.
+ * @param string $code
+ * @return string
+ */
+ protected function makeCodeSpan($code) {
+ if ($this->code_span_content_func) {
+ $code = call_user_func($this->code_span_content_func, $code);
+ } else {
+ $code = htmlspecialchars(trim($code), ENT_NOQUOTES);
+ }
+ return $this->hashPart("<code>$code</code>");
+ }
+
+ /**
+ * Define the emphasis operators with their regex matches
+ * @var array
+ */
+ protected $em_relist = array(
+ '' => '(?:(?<!\*)\*(?!\*)|(?<!_)_(?!_))(?![\.,:;]?\s)',
+ '*' => '(?<![\s*])\*(?!\*)',
+ '_' => '(?<![\s_])_(?!_)',
+ );
+
+ /**
+ * Define the strong operators with their regex matches
+ * @var array
+ */
+ protected $strong_relist = array(
+ '' => '(?:(?<!\*)\*\*(?!\*)|(?<!_)__(?!_))(?![\.,:;]?\s)',
+ '**' => '(?<![\s*])\*\*(?!\*)',
+ '__' => '(?<![\s_])__(?!_)',
+ );
+
+ /**
+ * Define the emphasis + strong operators with their regex matches
+ * @var array
+ */
+ protected $em_strong_relist = array(
+ '' => '(?:(?<!\*)\*\*\*(?!\*)|(?<!_)___(?!_))(?![\.,:;]?\s)',
+ '***' => '(?<![\s*])\*\*\*(?!\*)',
+ '___' => '(?<![\s_])___(?!_)',
+ );
+
+ /**
+ * Container for prepared regular expressions
+ * @var array
+ */
+ protected $em_strong_prepared_relist;
+
+ /**
+ * Prepare regular expressions for searching emphasis tokens in any
+ * context.
+ * @return void
+ */
+ protected function prepareItalicsAndBold() {
+ foreach ($this->em_relist as $em => $em_re) {
+ foreach ($this->strong_relist as $strong => $strong_re) {
+ // Construct list of allowed token expressions.
+ $token_relist = array();
+ if (isset($this->em_strong_relist["$em$strong"])) {
+ $token_relist[] = $this->em_strong_relist["$em$strong"];
+ }
+ $token_relist[] = $em_re;
+ $token_relist[] = $strong_re;
+
+ // Construct master expression from list.
+ $token_re = '{(' . implode('|', $token_relist) . ')}';
+ $this->em_strong_prepared_relist["$em$strong"] = $token_re;
+ }
+ }
+ }
+
+ /**
+ * Convert Markdown italics (emphasis) and bold (strong) to HTML
+ * @param string $text
+ * @return string
+ */
+ protected function doItalicsAndBold($text) {
+ $token_stack = array('');
+ $text_stack = array('');
+ $em = '';
+ $strong = '';
+ $tree_char_em = false;
+
+ while (1) {
+ // Get prepared regular expression for seraching emphasis tokens
+ // in current context.
+ $token_re = $this->em_strong_prepared_relist["$em$strong"];
+
+ // Each loop iteration search for the next emphasis token.
+ // Each token is then passed to handleSpanToken.
+ $parts = preg_split($token_re, $text, 2, PREG_SPLIT_DELIM_CAPTURE);
+ $text_stack[0] .= $parts[0];
+ $token =& $parts[1];
+ $text =& $parts[2];
+
+ if (empty($token)) {
+ // Reached end of text span: empty stack without emitting.
+ // any more emphasis.
+ while ($token_stack[0]) {
+ $text_stack[1] .= array_shift($token_stack);
+ $text_stack[0] .= array_shift($text_stack);
+ }
+ break;
+ }
+
+ $token_len = strlen($token);
+ if ($tree_char_em) {
+ // Reached closing marker while inside a three-char emphasis.
+ if ($token_len == 3) {
+ // Three-char closing marker, close em and strong.
+ array_shift($token_stack);
+ $span = array_shift($text_stack);
+ $span = $this->runSpanGamut($span);
+ $span = "<strong><em>$span</em></strong>";
+ $text_stack[0] .= $this->hashPart($span);
+ $em = '';
+ $strong = '';
+ } else {
+ // Other closing marker: close one em or strong and
+ // change current token state to match the other
+ $token_stack[0] = str_repeat($token{0}, 3-$token_len);
+ $tag = $token_len == 2 ? "strong" : "em";
+ $span = $text_stack[0];
+ $span = $this->runSpanGamut($span);
+ $span = "<$tag>$span</$tag>";
+ $text_stack[0] = $this->hashPart($span);
+ $$tag = ''; // $$tag stands for $em or $strong
+ }
+ $tree_char_em = false;
+ } else if ($token_len == 3) {
+ if ($em) {
+ // Reached closing marker for both em and strong.
+ // Closing strong marker:
+ for ($i = 0; $i < 2; ++$i) {
+ $shifted_token = array_shift($token_stack);
+ $tag = strlen($shifted_token) == 2 ? "strong" : "em";
+ $span = array_shift($text_stack);
+ $span = $this->runSpanGamut($span);
+ $span = "<$tag>$span</$tag>";
+ $text_stack[0] .= $this->hashPart($span);
+ $$tag = ''; // $$tag stands for $em or $strong
+ }
+ } else {
+ // Reached opening three-char emphasis marker. Push on token
+ // stack; will be handled by the special condition above.
+ $em = $token{0};
+ $strong = "$em$em";
+ array_unshift($token_stack, $token);
+ array_unshift($text_stack, '');
+ $tree_char_em = true;
+ }
+ } else if ($token_len == 2) {
+ if ($strong) {
+ // Unwind any dangling emphasis marker:
+ if (strlen($token_stack[0]) == 1) {
+ $text_stack[1] .= array_shift($token_stack);
+ $text_stack[0] .= array_shift($text_stack);
+ }
+ // Closing strong marker:
+ array_shift($token_stack);
+ $span = array_shift($text_stack);
+ $span = $this->runSpanGamut($span);
+ $span = "<strong>$span</strong>";
+ $text_stack[0] .= $this->hashPart($span);
+ $strong = '';
+ } else {
+ array_unshift($token_stack, $token);
+ array_unshift($text_stack, '');
+ $strong = $token;
+ }
+ } else {
+ // Here $token_len == 1
+ if ($em) {
+ if (strlen($token_stack[0]) == 1) {
+ // Closing emphasis marker:
+ array_shift($token_stack);
+ $span = array_shift($text_stack);
+ $span = $this->runSpanGamut($span);
+ $span = "<em>$span</em>";
+ $text_stack[0] .= $this->hashPart($span);
+ $em = '';
+ } else {
+ $text_stack[0] .= $token;
+ }
+ } else {
+ array_unshift($token_stack, $token);
+ array_unshift($text_stack, '');
+ $em = $token;
+ }
+ }
+ }
+ return $text_stack[0];
+ }
+
+ /**
+ * Parse Markdown blockquotes to HTML
+ * @param string $text
+ * @return string
+ */
+ protected function doBlockQuotes($text) {
+ $text = preg_replace_callback('/
+ ( # Wrap whole match in $1
+ (?>
+ ^[ ]*>[ ]? # ">" at the start of a line
+ .+\n # rest of the first line
+ (.+\n)* # subsequent consecutive lines
+ \n* # blanks
+ )+
+ )
+ /xm',
+ array($this, '_doBlockQuotes_callback'), $text);
+
+ return $text;
+ }
+
+ /**
+ * Blockquote parsing callback
+ * @param array $matches
+ * @return string
+ */
+ protected function _doBlockQuotes_callback($matches) {
+ $bq = $matches[1];
+ // trim one level of quoting - trim whitespace-only lines
+ $bq = preg_replace('/^[ ]*>[ ]?|^[ ]+$/m', '', $bq);
+ $bq = $this->runBlockGamut($bq); // recurse
+
+ $bq = preg_replace('/^/m', " ", $bq);
+ // These leading spaces cause problem with <pre> content,
+ // so we need to fix that:
+ $bq = preg_replace_callback('{(\s*<pre>.+?</pre>)}sx',
+ array($this, '_doBlockQuotes_callback2'), $bq);
+
+ return "\n" . $this->hashBlock("<blockquote>\n$bq\n</blockquote>") . "\n\n";
+ }
+
+ /**
+ * Blockquote parsing callback
+ * @param array $matches
+ * @return string
+ */
+ protected function _doBlockQuotes_callback2($matches) {
+ $pre = $matches[1];
+ $pre = preg_replace('/^ /m', '', $pre);
+ return $pre;
+ }
+
+ /**
+ * Parse paragraphs
+ *
+ * @param string $text String to process in paragraphs
+ * @param boolean $wrap_in_p Whether paragraphs should be wrapped in <p> tags
+ * @return string
+ */
+ protected function formParagraphs($text, $wrap_in_p = true) {
+ // Strip leading and trailing lines:
+ $text = preg_replace('/\A\n+|\n+\z/', '', $text);
+
+ $grafs = preg_split('/\n{2,}/', $text, -1, PREG_SPLIT_NO_EMPTY);
+
+ // Wrap <p> tags and unhashify HTML blocks
+ foreach ($grafs as $key => $value) {
+ if (!preg_match('/^B\x1A[0-9]+B$/', $value)) {
+ // Is a paragraph.
+ $value = $this->runSpanGamut($value);
+ if ($wrap_in_p) {
+ $value = preg_replace('/^([ ]*)/', "<p>", $value);
+ $value .= "</p>";
+ }
+ $grafs[$key] = $this->unhash($value);
+ } else {
+ // Is a block.
+ // Modify elements of @grafs in-place...
+ $graf = $value;
+ $block = $this->html_hashes[$graf];
+ $graf = $block;
+// if (preg_match('{
+// \A
+// ( # $1 = <div> tag
+// <div \s+
+// [^>]*
+// \b
+// markdown\s*=\s* ([\'"]) # $2 = attr quote char
+// 1
+// \2
+// [^>]*
+// >
+// )
+// ( # $3 = contents
+// .*
+// )
+// (</div>) # $4 = closing tag
+// \z
+// }xs', $block, $matches))
+// {
+// list(, $div_open, , $div_content, $div_close) = $matches;
+//
+// // We can't call Markdown(), because that resets the hash;
+// // that initialization code should be pulled into its own sub, though.
+// $div_content = $this->hashHTMLBlocks($div_content);
+//
+// // Run document gamut methods on the content.
+// foreach ($this->document_gamut as $method => $priority) {
+// $div_content = $this->$method($div_content);
+// }
+//
+// $div_open = preg_replace(
+// '{\smarkdown\s*=\s*([\'"]).+?\1}', '', $div_open);
+//
+// $graf = $div_open . "\n" . $div_content . "\n" . $div_close;
+// }
+ $grafs[$key] = $graf;
+ }
+ }
+
+ return implode("\n\n", $grafs);
+ }
+
+ /**
+ * Encode text for a double-quoted HTML attribute. This function
+ * is *not* suitable for attributes enclosed in single quotes.
+ * @param string $text
+ * @return string
+ */
+ protected function encodeAttribute($text) {
+ $text = $this->encodeAmpsAndAngles($text);
+ $text = str_replace('"', '&quot;', $text);
+ return $text;
+ }
+
+ /**
+ * Encode text for a double-quoted HTML attribute containing a URL,
+ * applying the URL filter if set. Also generates the textual
+ * representation for the URL (removing mailto: or tel:) storing it in $text.
+ * This function is *not* suitable for attributes enclosed in single quotes.
+ *
+ * @param string $url
+ * @param string &$text Passed by reference
+ * @return string URL
+ */
+ protected function encodeURLAttribute($url, &$text = null) {
+ if ($this->url_filter_func) {
+ $url = call_user_func($this->url_filter_func, $url);
+ }
+
+ if (preg_match('{^mailto:}i', $url)) {
+ $url = $this->encodeEntityObfuscatedAttribute($url, $text, 7);
+ } else if (preg_match('{^tel:}i', $url)) {
+ $url = $this->encodeAttribute($url);
+ $text = substr($url, 4);
+ } else {
+ $url = $this->encodeAttribute($url);
+ $text = $url;
+ }
+
+ return $url;
+ }
+
+ /**
+ * Smart processing for ampersands and angle brackets that need to
+ * be encoded. Valid character entities are left alone unless the
+ * no-entities mode is set.
+ * @param string $text
+ * @return string
+ */
+ protected function encodeAmpsAndAngles($text) {
+ if ($this->no_entities) {
+ $text = str_replace('&', '&amp;', $text);
+ } else {
+ // Ampersand-encoding based entirely on Nat Irons's Amputator
+ // MT plugin: <http://bumppo.net/projects/amputator/>
+ $text = preg_replace('/&(?!#?[xX]?(?:[0-9a-fA-F]+|\w+);)/',
+ '&amp;', $text);
+ }
+ // Encode remaining <'s
+ $text = str_replace('<', '&lt;', $text);
+
+ return $text;
+ }
+
+ /**
+ * Parse Markdown automatic links to anchor HTML tags
+ * @param string $text
+ * @return string
+ */
+ protected function doAutoLinks($text) {
+ $text = preg_replace_callback('{<((https?|ftp|dict|tel):[^\'">\s]+)>}i',
+ array($this, '_doAutoLinks_url_callback'), $text);
+
+ // Email addresses: <address@domain.foo>
+ $text = preg_replace_callback('{
+ <
+ (?:mailto:)?
+ (
+ (?:
+ [-!#$%&\'*+/=?^_`.{|}~\w\x80-\xFF]+
+ |
+ ".*?"
+ )
+ \@
+ (?:
+ [-a-z0-9\x80-\xFF]+(\.[-a-z0-9\x80-\xFF]+)*\.[a-z]+
+ |
+ \[[\d.a-fA-F:]+\] # IPv4 & IPv6
+ )
+ )
+ >
+ }xi',
+ array($this, '_doAutoLinks_email_callback'), $text);
+
+ return $text;
+ }
+
+ /**
+ * Parse URL callback
+ * @param array $matches
+ * @return string
+ */
+ protected function _doAutoLinks_url_callback($matches) {
+ $url = $this->encodeURLAttribute($matches[1], $text);
+ $link = "<a href=\"$url\">$text</a>";
+ return $this->hashPart($link);
+ }
+
+ /**
+ * Parse email address callback
+ * @param array $matches
+ * @return string
+ */
+ protected function _doAutoLinks_email_callback($matches) {
+ $addr = $matches[1];
+ $url = $this->encodeURLAttribute("mailto:$addr", $text);
+ $link = "<a href=\"$url\">$text</a>";
+ return $this->hashPart($link);
+ }
+
+ /**
+ * Input: some text to obfuscate, e.g. "mailto:foo@example.com"
+ *
+ * Output: the same text but with most characters encoded as either a
+ * decimal or hex entity, in the hopes of foiling most address
+ * harvesting spam bots. E.g.:
+ *
+ * &#109;&#x61;&#105;&#x6c;&#116;&#x6f;&#58;&#x66;o&#111;
+ * &#x40;&#101;&#x78;&#97;&#x6d;&#112;&#x6c;&#101;&#46;&#x63;&#111;
+ * &#x6d;
+ *
+ * Note: the additional output $tail is assigned the same value as the
+ * ouput, minus the number of characters specified by $head_length.
+ *
+ * Based by a filter by Matthew Wickline, posted to BBEdit-Talk.
+ * With some optimizations by Milian Wolff. Forced encoding of HTML
+ * attribute special characters by Allan Odgaard.
+ *
+ * @param string $text
+ * @param string &$tail
+ * @param integer $head_length
+ * @return string
+ */
+ protected function encodeEntityObfuscatedAttribute($text, &$tail = null, $head_length = 0) {
+ if ($text == "") {
+ return $tail = "";
+ }
+
+ $chars = preg_split('/(?<!^)(?!$)/', $text);
+ $seed = (int)abs(crc32($text) / strlen($text)); // Deterministic seed.
+
+ foreach ($chars as $key => $char) {
+ $ord = ord($char);
+ // Ignore non-ascii chars.
+ if ($ord < 128) {
+ $r = ($seed * (1 + $key)) % 100; // Pseudo-random function.
+ // roughly 10% raw, 45% hex, 45% dec
+ // '@' *must* be encoded. I insist.
+ // '"' and '>' have to be encoded inside the attribute
+ if ($r > 90 && strpos('@"&>', $char) === false) {
+ /* do nothing */
+ } else if ($r < 45) {
+ $chars[$key] = '&#x'.dechex($ord).';';
+ } else {
+ $chars[$key] = '&#'.$ord.';';
+ }
+ }
+ }
+
+ $text = implode('', $chars);
+ $tail = $head_length ? implode('', array_slice($chars, $head_length)) : $text;
+
+ return $text;
+ }
+
+ /**
+ * Take the string $str and parse it into tokens, hashing embeded HTML,
+ * escaped characters and handling code spans.
+ * @param string $str
+ * @return string
+ */
+ protected function parseSpan($str) {
+ $output = '';
+
+ $span_re = '{
+ (
+ \\\\'.$this->escape_chars_re.'
+ |
+ (?<![`\\\\])
+ `+ # code span marker
+ '.( $this->no_markup ? '' : '
+ |
+ <!-- .*? --> # comment
+ |
+ <\?.*?\?> | <%.*?%> # processing instruction
+ |
+ <[!$]?[-a-zA-Z0-9:_]+ # regular tags
+ (?>
+ \s
+ (?>[^"\'>]+|"[^"]*"|\'[^\']*\')*
+ )?
+ >
+ |
+ <[-a-zA-Z0-9:_]+\s*/> # xml-style empty tag
+ |
+ </[-a-zA-Z0-9:_]+\s*> # closing tag
+ ').'
+ )
+ }xs';
+
+ while (1) {
+ // Each loop iteration seach for either the next tag, the next
+ // openning code span marker, or the next escaped character.
+ // Each token is then passed to handleSpanToken.
+ $parts = preg_split($span_re, $str, 2, PREG_SPLIT_DELIM_CAPTURE);
+
+ // Create token from text preceding tag.
+ if ($parts[0] != "") {
+ $output .= $parts[0];
+ }
+
+ // Check if we reach the end.
+ if (isset($parts[1])) {
+ $output .= $this->handleSpanToken($parts[1], $parts[2]);
+ $str = $parts[2];
+ } else {
+ break;
+ }
+ }
+
+ return $output;
+ }
+
+ /**
+ * Handle $token provided by parseSpan by determining its nature and
+ * returning the corresponding value that should replace it.
+ * @param string $token
+ * @param string &$str
+ * @return string
+ */
+ protected function handleSpanToken($token, &$str) {
+ switch ($token{0}) {
+ case "\\":
+ return $this->hashPart("&#". ord($token{1}). ";");
+ case "`":
+ // Search for end marker in remaining text.
+ if (preg_match('/^(.*?[^`])'.preg_quote($token).'(?!`)(.*)$/sm',
+ $str, $matches))
+ {
+ $str = $matches[2];
+ $codespan = $this->makeCodeSpan($matches[1]);
+ return $this->hashPart($codespan);
+ }
+ return $token; // Return as text since no ending marker found.
+ default:
+ return $this->hashPart($token);
+ }
+ }
+
+ /**
+ * Remove one level of line-leading tabs or spaces
+ * @param string $text
+ * @return string
+ */
+ protected function outdent($text) {
+ return preg_replace('/^(\t|[ ]{1,' . $this->tab_width . '})/m', '', $text);
+ }
+
+
+ /**
+ * String length function for detab. `_initDetab` will create a function to
+ * handle UTF-8 if the default function does not exist.
+ * @var string
+ */
+ protected $utf8_strlen = 'mb_strlen';
+
+ /**
+ * Replace tabs with the appropriate amount of spaces.
+ *
+ * For each line we separate the line in blocks delemited by tab characters.
+ * Then we reconstruct every line by adding the appropriate number of space
+ * between each blocks.
+ *
+ * @param string $text
+ * @return string
+ */
+ protected function detab($text) {
+ $text = preg_replace_callback('/^.*\t.*$/m',
+ array($this, '_detab_callback'), $text);
+
+ return $text;
+ }
+
+ /**
+ * Replace tabs callback
+ * @param string $matches
+ * @return string
+ */
+ protected function _detab_callback($matches) {
+ $line = $matches[0];
+ $strlen = $this->utf8_strlen; // strlen function for UTF-8.
+
+ // Split in blocks.
+ $blocks = explode("\t", $line);
+ // Add each blocks to the line.
+ $line = $blocks[0];
+ unset($blocks[0]); // Do not add first block twice.
+ foreach ($blocks as $block) {
+ // Calculate amount of space, insert spaces, insert block.
+ $amount = $this->tab_width -
+ $strlen($line, 'UTF-8') % $this->tab_width;
+ $line .= str_repeat(" ", $amount) . $block;
+ }
+ return $line;
+ }
+
+ /**
+ * Check for the availability of the function in the `utf8_strlen` property
+ * (initially `mb_strlen`). If the function is not available, create a
+ * function that will loosely count the number of UTF-8 characters with a
+ * regular expression.
+ * @return void
+ */
+ protected function _initDetab() {
+
+ if (function_exists($this->utf8_strlen)) {
+ return;
+ }
+
+ $this->utf8_strlen = create_function('$text', 'return preg_match_all(
+ "/[\\\\x00-\\\\xBF]|[\\\\xC0-\\\\xFF][\\\\x80-\\\\xBF]*/",
+ $text, $m);');
+ }
+
+ /**
+ * Swap back in all the tags hashed by _HashHTMLBlocks.
+ * @param string $text
+ * @return string
+ */
+ protected function unhash($text) {
+ return preg_replace_callback('/(.)\x1A[0-9]+\1/',
+ array($this, '_unhash_callback'), $text);
+ }
+
+ /**
+ * Unhashing callback
+ * @param array $matches
+ * @return string
+ */
+ protected function _unhash_callback($matches) {
+ return $this->html_hashes[$matches[0]];
+ }
+}
diff --git a/vendor/michelf/php-markdown/Michelf/MarkdownExtra.inc.php b/vendor/michelf/php-markdown/Michelf/MarkdownExtra.inc.php
new file mode 100644
index 000000000..d09bd7a48
--- /dev/null
+++ b/vendor/michelf/php-markdown/Michelf/MarkdownExtra.inc.php
@@ -0,0 +1,11 @@
+<?php
+
+// Use this file if you cannot use class autoloading. It will include all the
+// files needed for the MarkdownExtra parser.
+//
+// Take a look at the PSR-0-compatible class autoloading implementation
+// in the Readme.php file if you want a simple autoloader setup.
+
+require_once dirname(__FILE__) . '/MarkdownInterface.php';
+require_once dirname(__FILE__) . '/Markdown.php';
+require_once dirname(__FILE__) . '/MarkdownExtra.php';
diff --git a/vendor/michelf/php-markdown/Michelf/MarkdownExtra.php b/vendor/michelf/php-markdown/Michelf/MarkdownExtra.php
new file mode 100644
index 000000000..ac6b1b4f2
--- /dev/null
+++ b/vendor/michelf/php-markdown/Michelf/MarkdownExtra.php
@@ -0,0 +1,1785 @@
+<?php
+/**
+ * Markdown Extra - A text-to-HTML conversion tool for web writers
+ *
+ * @package php-markdown
+ * @author Michel Fortin <michel.fortin@michelf.com>
+ * @copyright 2004-2016 Michel Fortin <https://michelf.com/projects/php-markdown/>
+ * @copyright (Original Markdown) 2004-2006 John Gruber <https://daringfireball.net/projects/markdown/>
+ */
+
+namespace Michelf;
+
+/**
+ * Markdown Extra Parser Class
+ */
+class MarkdownExtra extends \Michelf\Markdown {
+ /**
+ * Configuration variables
+ */
+
+ /**
+ * Prefix for footnote ids.
+ * @var string
+ */
+ public $fn_id_prefix = "";
+
+ /**
+ * Optional title attribute for footnote links and backlinks.
+ * @var string
+ */
+ public $fn_link_title = "";
+ public $fn_backlink_title = "";
+
+ /**
+ * Optional class attribute for footnote links and backlinks.
+ * @var string
+ */
+ public $fn_link_class = "footnote-ref";
+ public $fn_backlink_class = "footnote-backref";
+
+ /**
+ * Content to be displayed within footnote backlinks. The default is '↩';
+ * the U+FE0E on the end is a Unicode variant selector used to prevent iOS
+ * from displaying the arrow character as an emoji.
+ * @var string
+ */
+ public $fn_backlink_html = '&#8617;&#xFE0E;';
+
+ /**
+ * Class name for table cell alignment (%% replaced left/center/right)
+ * For instance: 'go-%%' becomes 'go-left' or 'go-right' or 'go-center'
+ * If empty, the align attribute is used instead of a class name.
+ * @var string
+ */
+ public $table_align_class_tmpl = '';
+
+ /**
+ * Optional class prefix for fenced code block.
+ * @var string
+ */
+ public $code_class_prefix = "";
+
+ /**
+ * Class attribute for code blocks goes on the `code` tag;
+ * setting this to true will put attributes on the `pre` tag instead.
+ * @var boolean
+ */
+ public $code_attr_on_pre = false;
+
+ /**
+ * Predefined abbreviations.
+ * @var array
+ */
+ public $predef_abbr = array();
+
+ /**
+ * Parser implementation
+ */
+
+ /**
+ * Constructor function. Initialize the parser object.
+ * @return void
+ */
+ public function __construct() {
+ // Add extra escapable characters before parent constructor
+ // initialize the table.
+ $this->escape_chars .= ':|';
+
+ // Insert extra document, block, and span transformations.
+ // Parent constructor will do the sorting.
+ $this->document_gamut += array(
+ "doFencedCodeBlocks" => 5,
+ "stripFootnotes" => 15,
+ "stripAbbreviations" => 25,
+ "appendFootnotes" => 50,
+ );
+ $this->block_gamut += array(
+ "doFencedCodeBlocks" => 5,
+ "doTables" => 15,
+ "doDefLists" => 45,
+ );
+ $this->span_gamut += array(
+ "doFootnotes" => 5,
+ "doAbbreviations" => 70,
+ );
+
+ $this->enhanced_ordered_list = true;
+ parent::__construct();
+ }
+
+
+ /**
+ * Extra variables used during extra transformations.
+ * @var array
+ */
+ protected $footnotes = array();
+ protected $footnotes_ordered = array();
+ protected $footnotes_ref_count = array();
+ protected $footnotes_numbers = array();
+ protected $abbr_desciptions = array();
+ /** @var @string */
+ protected $abbr_word_re = '';
+
+ /**
+ * Give the current footnote number.
+ * @var integer
+ */
+ protected $footnote_counter = 1;
+
+ /**
+ * Setting up Extra-specific variables.
+ */
+ protected function setup() {
+ parent::setup();
+
+ $this->footnotes = array();
+ $this->footnotes_ordered = array();
+ $this->footnotes_ref_count = array();
+ $this->footnotes_numbers = array();
+ $this->abbr_desciptions = array();
+ $this->abbr_word_re = '';
+ $this->footnote_counter = 1;
+
+ foreach ($this->predef_abbr as $abbr_word => $abbr_desc) {
+ if ($this->abbr_word_re)
+ $this->abbr_word_re .= '|';
+ $this->abbr_word_re .= preg_quote($abbr_word);
+ $this->abbr_desciptions[$abbr_word] = trim($abbr_desc);
+ }
+ }
+
+ /**
+ * Clearing Extra-specific variables.
+ */
+ protected function teardown() {
+ $this->footnotes = array();
+ $this->footnotes_ordered = array();
+ $this->footnotes_ref_count = array();
+ $this->footnotes_numbers = array();
+ $this->abbr_desciptions = array();
+ $this->abbr_word_re = '';
+
+ parent::teardown();
+ }
+
+
+ /**
+ * Extra attribute parser
+ */
+
+ /**
+ * Expression to use to catch attributes (includes the braces)
+ * @var string
+ */
+ protected $id_class_attr_catch_re = '\{((?>[ ]*[#.a-z][-_:a-zA-Z0-9=]+){1,})[ ]*\}';
+
+ /**
+ * Expression to use when parsing in a context when no capture is desired
+ * @var string
+ */
+ protected $id_class_attr_nocatch_re = '\{(?>[ ]*[#.a-z][-_:a-zA-Z0-9=]+){1,}[ ]*\}';
+
+ /**
+ * Parse attributes caught by the $this->id_class_attr_catch_re expression
+ * and return the HTML-formatted list of attributes.
+ *
+ * Currently supported attributes are .class and #id.
+ *
+ * In addition, this method also supports supplying a default Id value,
+ * which will be used to populate the id attribute in case it was not
+ * overridden.
+ * @param string $tag_name
+ * @param string $attr
+ * @param mixed $defaultIdValue
+ * @param array $classes
+ * @return string
+ */
+ protected function doExtraAttributes($tag_name, $attr, $defaultIdValue = null, $classes = array()) {
+ if (empty($attr) && !$defaultIdValue && empty($classes)) return "";
+
+ // Split on components
+ preg_match_all('/[#.a-z][-_:a-zA-Z0-9=]+/', $attr, $matches);
+ $elements = $matches[0];
+
+ // Handle classes and IDs (only first ID taken into account)
+ $attributes = array();
+ $id = false;
+ foreach ($elements as $element) {
+ if ($element{0} == '.') {
+ $classes[] = substr($element, 1);
+ } else if ($element{0} == '#') {
+ if ($id === false) $id = substr($element, 1);
+ } else if (strpos($element, '=') > 0) {
+ $parts = explode('=', $element, 2);
+ $attributes[] = $parts[0] . '="' . $parts[1] . '"';
+ }
+ }
+
+ if (!$id) $id = $defaultIdValue;
+
+ // Compose attributes as string
+ $attr_str = "";
+ if (!empty($id)) {
+ $attr_str .= ' id="'.$this->encodeAttribute($id) .'"';
+ }
+ if (!empty($classes)) {
+ $attr_str .= ' class="'. implode(" ", $classes) . '"';
+ }
+ if (!$this->no_markup && !empty($attributes)) {
+ $attr_str .= ' '.implode(" ", $attributes);
+ }
+ return $attr_str;
+ }
+
+ /**
+ * Strips link definitions from text, stores the URLs and titles in
+ * hash references.
+ * @param string $text
+ * @return string
+ */
+ protected function stripLinkDefinitions($text) {
+ $less_than_tab = $this->tab_width - 1;
+
+ // Link defs are in the form: ^[id]: url "optional title"
+ $text = preg_replace_callback('{
+ ^[ ]{0,'.$less_than_tab.'}\[(.+)\][ ]?: # id = $1
+ [ ]*
+ \n? # maybe *one* newline
+ [ ]*
+ (?:
+ <(.+?)> # url = $2
+ |
+ (\S+?) # url = $3
+ )
+ [ ]*
+ \n? # maybe one newline
+ [ ]*
+ (?:
+ (?<=\s) # lookbehind for whitespace
+ ["(]
+ (.*?) # title = $4
+ [")]
+ [ ]*
+ )? # title is optional
+ (?:[ ]* '.$this->id_class_attr_catch_re.' )? # $5 = extra id & class attr
+ (?:\n+|\Z)
+ }xm',
+ array($this, '_stripLinkDefinitions_callback'),
+ $text);
+ return $text;
+ }
+
+ /**
+ * Strip link definition callback
+ * @param array $matches
+ * @return string
+ */
+ protected function _stripLinkDefinitions_callback($matches) {
+ $link_id = strtolower($matches[1]);
+ $url = $matches[2] == '' ? $matches[3] : $matches[2];
+ $this->urls[$link_id] = $url;
+ $this->titles[$link_id] =& $matches[4];
+ $this->ref_attr[$link_id] = $this->doExtraAttributes("", $dummy =& $matches[5]);
+ return ''; // String that will replace the block
+ }
+
+
+ /**
+ * HTML block parser
+ */
+
+ /**
+ * Tags that are always treated as block tags
+ * @var string
+ */
+ protected $block_tags_re = 'p|div|h[1-6]|blockquote|pre|table|dl|ol|ul|address|form|fieldset|iframe|hr|legend|article|section|nav|aside|hgroup|header|footer|figcaption|figure';
+
+ /**
+ * Tags treated as block tags only if the opening tag is alone on its line
+ * @var string
+ */
+ protected $context_block_tags_re = 'script|noscript|style|ins|del|iframe|object|source|track|param|math|svg|canvas|audio|video';
+
+ /**
+ * Tags where markdown="1" default to span mode:
+ * @var string
+ */
+ protected $contain_span_tags_re = 'p|h[1-6]|li|dd|dt|td|th|legend|address';
+
+ /**
+ * Tags which must not have their contents modified, no matter where
+ * they appear
+ * @var string
+ */
+ protected $clean_tags_re = 'script|style|math|svg';
+
+ /**
+ * Tags that do not need to be closed.
+ * @var string
+ */
+ protected $auto_close_tags_re = 'hr|img|param|source|track';
+
+ /**
+ * Hashify HTML Blocks and "clean tags".
+ *
+ * We only want to do this for block-level HTML tags, such as headers,
+ * lists, and tables. That's because we still want to wrap <p>s around
+ * "paragraphs" that are wrapped in non-block-level tags, such as anchors,
+ * phrase emphasis, and spans. The list of tags we're looking for is
+ * hard-coded.
+ *
+ * This works by calling _HashHTMLBlocks_InMarkdown, which then calls
+ * _HashHTMLBlocks_InHTML when it encounter block tags. When the markdown="1"
+ * attribute is found within a tag, _HashHTMLBlocks_InHTML calls back
+ * _HashHTMLBlocks_InMarkdown to handle the Markdown syntax within the tag.
+ * These two functions are calling each other. It's recursive!
+ * @param string $text
+ * @return string
+ */
+ protected function hashHTMLBlocks($text) {
+ if ($this->no_markup) {
+ return $text;
+ }
+
+ // Call the HTML-in-Markdown hasher.
+ list($text, ) = $this->_hashHTMLBlocks_inMarkdown($text);
+
+ return $text;
+ }
+
+ /**
+ * Parse markdown text, calling _HashHTMLBlocks_InHTML for block tags.
+ *
+ * * $indent is the number of space to be ignored when checking for code
+ * blocks. This is important because if we don't take the indent into
+ * account, something like this (which looks right) won't work as expected:
+ *
+ * <div>
+ * <div markdown="1">
+ * Hello World. <-- Is this a Markdown code block or text?
+ * </div> <-- Is this a Markdown code block or a real tag?
+ * <div>
+ *
+ * If you don't like this, just don't indent the tag on which
+ * you apply the markdown="1" attribute.
+ *
+ * * If $enclosing_tag_re is not empty, stops at the first unmatched closing
+ * tag with that name. Nested tags supported.
+ *
+ * * If $span is true, text inside must treated as span. So any double
+ * newline will be replaced by a single newline so that it does not create
+ * paragraphs.
+ *
+ * Returns an array of that form: ( processed text , remaining text )
+ *
+ * @param string $text
+ * @param integer $indent
+ * @param string $enclosing_tag_re
+ * @param boolean $span
+ * @return array
+ */
+ protected function _hashHTMLBlocks_inMarkdown($text, $indent = 0,
+ $enclosing_tag_re = '', $span = false)
+ {
+
+ if ($text === '') return array('', '');
+
+ // Regex to check for the presense of newlines around a block tag.
+ $newline_before_re = '/(?:^\n?|\n\n)*$/';
+ $newline_after_re =
+ '{
+ ^ # Start of text following the tag.
+ (?>[ ]*<!--.*?-->)? # Optional comment.
+ [ ]*\n # Must be followed by newline.
+ }xs';
+
+ // Regex to match any tag.
+ $block_tag_re =
+ '{
+ ( # $2: Capture whole tag.
+ </? # Any opening or closing tag.
+ (?> # Tag name.
+ ' . $this->block_tags_re . ' |
+ ' . $this->context_block_tags_re . ' |
+ ' . $this->clean_tags_re . ' |
+ (?!\s)'.$enclosing_tag_re . '
+ )
+ (?:
+ (?=[\s"\'/a-zA-Z0-9]) # Allowed characters after tag name.
+ (?>
+ ".*?" | # Double quotes (can contain `>`)
+ \'.*?\' | # Single quotes (can contain `>`)
+ .+? # Anything but quotes and `>`.
+ )*?
+ )?
+ > # End of tag.
+ |
+ <!-- .*? --> # HTML Comment
+ |
+ <\?.*?\?> | <%.*?%> # Processing instruction
+ |
+ <!\[CDATA\[.*?\]\]> # CData Block
+ ' . ( !$span ? ' # If not in span.
+ |
+ # Indented code block
+ (?: ^[ ]*\n | ^ | \n[ ]*\n )
+ [ ]{' . ($indent + 4) . '}[^\n]* \n
+ (?>
+ (?: [ ]{' . ($indent + 4) . '}[^\n]* | [ ]* ) \n
+ )*
+ |
+ # Fenced code block marker
+ (?<= ^ | \n )
+ [ ]{0,' . ($indent + 3) . '}(?:~{3,}|`{3,})
+ [ ]*
+ (?: \.?[-_:a-zA-Z0-9]+ )? # standalone class name
+ [ ]*
+ (?: ' . $this->id_class_attr_nocatch_re . ' )? # extra attributes
+ [ ]*
+ (?= \n )
+ ' : '' ) . ' # End (if not is span).
+ |
+ # Code span marker
+ # Note, this regex needs to go after backtick fenced
+ # code blocks but it should also be kept outside of the
+ # "if not in span" condition adding backticks to the parser
+ `+
+ )
+ }xs';
+
+
+ $depth = 0; // Current depth inside the tag tree.
+ $parsed = ""; // Parsed text that will be returned.
+
+ // Loop through every tag until we find the closing tag of the parent
+ // or loop until reaching the end of text if no parent tag specified.
+ do {
+ // Split the text using the first $tag_match pattern found.
+ // Text before pattern will be first in the array, text after
+ // pattern will be at the end, and between will be any catches made
+ // by the pattern.
+ $parts = preg_split($block_tag_re, $text, 2,
+ PREG_SPLIT_DELIM_CAPTURE);
+
+ // If in Markdown span mode, add a empty-string span-level hash
+ // after each newline to prevent triggering any block element.
+ if ($span) {
+ $void = $this->hashPart("", ':');
+ $newline = "\n$void";
+ $parts[0] = $void . str_replace("\n", $newline, $parts[0]) . $void;
+ }
+
+ $parsed .= $parts[0]; // Text before current tag.
+
+ // If end of $text has been reached. Stop loop.
+ if (count($parts) < 3) {
+ $text = "";
+ break;
+ }
+
+ $tag = $parts[1]; // Tag to handle.
+ $text = $parts[2]; // Remaining text after current tag.
+ $tag_re = preg_quote($tag); // For use in a regular expression.
+
+ // Check for: Fenced code block marker.
+ // Note: need to recheck the whole tag to disambiguate backtick
+ // fences from code spans
+ if (preg_match('{^\n?([ ]{0,' . ($indent + 3) . '})(~{3,}|`{3,})[ ]*(?:\.?[-_:a-zA-Z0-9]+)?[ ]*(?:' . $this->id_class_attr_nocatch_re . ')?[ ]*\n?$}', $tag, $capture)) {
+ // Fenced code block marker: find matching end marker.
+ $fence_indent = strlen($capture[1]); // use captured indent in re
+ $fence_re = $capture[2]; // use captured fence in re
+ if (preg_match('{^(?>.*\n)*?[ ]{' . ($fence_indent) . '}' . $fence_re . '[ ]*(?:\n|$)}', $text,
+ $matches))
+ {
+ // End marker found: pass text unchanged until marker.
+ $parsed .= $tag . $matches[0];
+ $text = substr($text, strlen($matches[0]));
+ }
+ else {
+ // No end marker: just skip it.
+ $parsed .= $tag;
+ }
+ }
+ // Check for: Indented code block.
+ else if ($tag{0} == "\n" || $tag{0} == " ") {
+ // Indented code block: pass it unchanged, will be handled
+ // later.
+ $parsed .= $tag;
+ }
+ // Check for: Code span marker
+ // Note: need to check this after backtick fenced code blocks
+ else if ($tag{0} == "`") {
+ // Find corresponding end marker.
+ $tag_re = preg_quote($tag);
+ if (preg_match('{^(?>.+?|\n(?!\n))*?(?<!`)' . $tag_re . '(?!`)}',
+ $text, $matches))
+ {
+ // End marker found: pass text unchanged until marker.
+ $parsed .= $tag . $matches[0];
+ $text = substr($text, strlen($matches[0]));
+ }
+ else {
+ // Unmatched marker: just skip it.
+ $parsed .= $tag;
+ }
+ }
+ // Check for: Opening Block level tag or
+ // Opening Context Block tag (like ins and del)
+ // used as a block tag (tag is alone on it's line).
+ else if (preg_match('{^<(?:' . $this->block_tags_re . ')\b}', $tag) ||
+ ( preg_match('{^<(?:' . $this->context_block_tags_re . ')\b}', $tag) &&
+ preg_match($newline_before_re, $parsed) &&
+ preg_match($newline_after_re, $text) )
+ )
+ {
+ // Need to parse tag and following text using the HTML parser.
+ list($block_text, $text) =
+ $this->_hashHTMLBlocks_inHTML($tag . $text, "hashBlock", true);
+
+ // Make sure it stays outside of any paragraph by adding newlines.
+ $parsed .= "\n\n$block_text\n\n";
+ }
+ // Check for: Clean tag (like script, math)
+ // HTML Comments, processing instructions.
+ else if (preg_match('{^<(?:' . $this->clean_tags_re . ')\b}', $tag) ||
+ $tag{1} == '!' || $tag{1} == '?')
+ {
+ // Need to parse tag and following text using the HTML parser.
+ // (don't check for markdown attribute)
+ list($block_text, $text) =
+ $this->_hashHTMLBlocks_inHTML($tag . $text, "hashClean", false);
+
+ $parsed .= $block_text;
+ }
+ // Check for: Tag with same name as enclosing tag.
+ else if ($enclosing_tag_re !== '' &&
+ // Same name as enclosing tag.
+ preg_match('{^</?(?:' . $enclosing_tag_re . ')\b}', $tag))
+ {
+ // Increase/decrease nested tag count.
+ if ($tag{1} == '/') $depth--;
+ else if ($tag{strlen($tag)-2} != '/') $depth++;
+
+ if ($depth < 0) {
+ // Going out of parent element. Clean up and break so we
+ // return to the calling function.
+ $text = $tag . $text;
+ break;
+ }
+
+ $parsed .= $tag;
+ }
+ else {
+ $parsed .= $tag;
+ }
+ } while ($depth >= 0);
+
+ return array($parsed, $text);
+ }
+
+ /**
+ * Parse HTML, calling _HashHTMLBlocks_InMarkdown for block tags.
+ *
+ * * Calls $hash_method to convert any blocks.
+ * * Stops when the first opening tag closes.
+ * * $md_attr indicate if the use of the `markdown="1"` attribute is allowed.
+ * (it is not inside clean tags)
+ *
+ * Returns an array of that form: ( processed text , remaining text )
+ * @param string $text
+ * @param string $hash_method
+ * @param string $md_attr
+ * @return array
+ */
+ protected function _hashHTMLBlocks_inHTML($text, $hash_method, $md_attr) {
+ if ($text === '') return array('', '');
+
+ // Regex to match `markdown` attribute inside of a tag.
+ $markdown_attr_re = '
+ {
+ \s* # Eat whitespace before the `markdown` attribute
+ markdown
+ \s*=\s*
+ (?>
+ (["\']) # $1: quote delimiter
+ (.*?) # $2: attribute value
+ \1 # matching delimiter
+ |
+ ([^\s>]*) # $3: unquoted attribute value
+ )
+ () # $4: make $3 always defined (avoid warnings)
+ }xs';
+
+ // Regex to match any tag.
+ $tag_re = '{
+ ( # $2: Capture whole tag.
+ </? # Any opening or closing tag.
+ [\w:$]+ # Tag name.
+ (?:
+ (?=[\s"\'/a-zA-Z0-9]) # Allowed characters after tag name.
+ (?>
+ ".*?" | # Double quotes (can contain `>`)
+ \'.*?\' | # Single quotes (can contain `>`)
+ .+? # Anything but quotes and `>`.
+ )*?
+ )?
+ > # End of tag.
+ |
+ <!-- .*? --> # HTML Comment
+ |
+ <\?.*?\?> | <%.*?%> # Processing instruction
+ |
+ <!\[CDATA\[.*?\]\]> # CData Block
+ )
+ }xs';
+
+ $original_text = $text; // Save original text in case of faliure.
+
+ $depth = 0; // Current depth inside the tag tree.
+ $block_text = ""; // Temporary text holder for current text.
+ $parsed = ""; // Parsed text that will be returned.
+
+ // Get the name of the starting tag.
+ // (This pattern makes $base_tag_name_re safe without quoting.)
+ if (preg_match('/^<([\w:$]*)\b/', $text, $matches))
+ $base_tag_name_re = $matches[1];
+
+ // Loop through every tag until we find the corresponding closing tag.
+ do {
+ // Split the text using the first $tag_match pattern found.
+ // Text before pattern will be first in the array, text after
+ // pattern will be at the end, and between will be any catches made
+ // by the pattern.
+ $parts = preg_split($tag_re, $text, 2, PREG_SPLIT_DELIM_CAPTURE);
+
+ if (count($parts) < 3) {
+ // End of $text reached with unbalenced tag(s).
+ // In that case, we return original text unchanged and pass the
+ // first character as filtered to prevent an infinite loop in the
+ // parent function.
+ return array($original_text{0}, substr($original_text, 1));
+ }
+
+ $block_text .= $parts[0]; // Text before current tag.
+ $tag = $parts[1]; // Tag to handle.
+ $text = $parts[2]; // Remaining text after current tag.
+
+ // Check for: Auto-close tag (like <hr/>)
+ // Comments and Processing Instructions.
+ if (preg_match('{^</?(?:' . $this->auto_close_tags_re . ')\b}', $tag) ||
+ $tag{1} == '!' || $tag{1} == '?')
+ {
+ // Just add the tag to the block as if it was text.
+ $block_text .= $tag;
+ }
+ else {
+ // Increase/decrease nested tag count. Only do so if
+ // the tag's name match base tag's.
+ if (preg_match('{^</?' . $base_tag_name_re . '\b}', $tag)) {
+ if ($tag{1} == '/') $depth--;
+ else if ($tag{strlen($tag)-2} != '/') $depth++;
+ }
+
+ // Check for `markdown="1"` attribute and handle it.
+ if ($md_attr &&
+ preg_match($markdown_attr_re, $tag, $attr_m) &&
+ preg_match('/^1|block|span$/', $attr_m[2] . $attr_m[3]))
+ {
+ // Remove `markdown` attribute from opening tag.
+ $tag = preg_replace($markdown_attr_re, '', $tag);
+
+ // Check if text inside this tag must be parsed in span mode.
+ $this->mode = $attr_m[2] . $attr_m[3];
+ $span_mode = $this->mode == 'span' || $this->mode != 'block' &&
+ preg_match('{^<(?:' . $this->contain_span_tags_re . ')\b}', $tag);
+
+ // Calculate indent before tag.
+ if (preg_match('/(?:^|\n)( *?)(?! ).*?$/', $block_text, $matches)) {
+ $strlen = $this->utf8_strlen;
+ $indent = $strlen($matches[1], 'UTF-8');
+ } else {
+ $indent = 0;
+ }
+
+ // End preceding block with this tag.
+ $block_text .= $tag;
+ $parsed .= $this->$hash_method($block_text);
+
+ // Get enclosing tag name for the ParseMarkdown function.
+ // (This pattern makes $tag_name_re safe without quoting.)
+ preg_match('/^<([\w:$]*)\b/', $tag, $matches);
+ $tag_name_re = $matches[1];
+
+ // Parse the content using the HTML-in-Markdown parser.
+ list ($block_text, $text)
+ = $this->_hashHTMLBlocks_inMarkdown($text, $indent,
+ $tag_name_re, $span_mode);
+
+ // Outdent markdown text.
+ if ($indent > 0) {
+ $block_text = preg_replace("/^[ ]{1,$indent}/m", "",
+ $block_text);
+ }
+
+ // Append tag content to parsed text.
+ if (!$span_mode) $parsed .= "\n\n$block_text\n\n";
+ else $parsed .= "$block_text";
+
+ // Start over with a new block.
+ $block_text = "";
+ }
+ else $block_text .= $tag;
+ }
+
+ } while ($depth > 0);
+
+ // Hash last block text that wasn't processed inside the loop.
+ $parsed .= $this->$hash_method($block_text);
+
+ return array($parsed, $text);
+ }
+
+ /**
+ * Called whenever a tag must be hashed when a function inserts a "clean" tag
+ * in $text, it passes through this function and is automaticaly escaped,
+ * blocking invalid nested overlap.
+ * @param string $text
+ * @return string
+ */
+ protected function hashClean($text) {
+ return $this->hashPart($text, 'C');
+ }
+
+ /**
+ * Turn Markdown link shortcuts into XHTML <a> tags.
+ * @param string $text
+ * @return string
+ */
+ protected function doAnchors($text) {
+ if ($this->in_anchor) {
+ return $text;
+ }
+ $this->in_anchor = true;
+
+ // First, handle reference-style links: [link text] [id]
+ $text = preg_replace_callback('{
+ ( # wrap whole match in $1
+ \[
+ (' . $this->nested_brackets_re . ') # link text = $2
+ \]
+
+ [ ]? # one optional space
+ (?:\n[ ]*)? # one optional newline followed by spaces
+
+ \[
+ (.*?) # id = $3
+ \]
+ )
+ }xs',
+ array($this, '_doAnchors_reference_callback'), $text);
+
+ // Next, inline-style links: [link text](url "optional title")
+ $text = preg_replace_callback('{
+ ( # wrap whole match in $1
+ \[
+ (' . $this->nested_brackets_re . ') # link text = $2
+ \]
+ \( # literal paren
+ [ \n]*
+ (?:
+ <(.+?)> # href = $3
+ |
+ (' . $this->nested_url_parenthesis_re . ') # href = $4
+ )
+ [ \n]*
+ ( # $5
+ ([\'"]) # quote char = $6
+ (.*?) # Title = $7
+ \6 # matching quote
+ [ \n]* # ignore any spaces/tabs between closing quote and )
+ )? # title is optional
+ \)
+ (?:[ ]? ' . $this->id_class_attr_catch_re . ' )? # $8 = id/class attributes
+ )
+ }xs',
+ array($this, '_doAnchors_inline_callback'), $text);
+
+ // Last, handle reference-style shortcuts: [link text]
+ // These must come last in case you've also got [link text][1]
+ // or [link text](/foo)
+ $text = preg_replace_callback('{
+ ( # wrap whole match in $1
+ \[
+ ([^\[\]]+) # link text = $2; can\'t contain [ or ]
+ \]
+ )
+ }xs',
+ array($this, '_doAnchors_reference_callback'), $text);
+
+ $this->in_anchor = false;
+ return $text;
+ }
+
+ /**
+ * Callback for reference anchors
+ * @param array $matches
+ * @return string
+ */
+ protected function _doAnchors_reference_callback($matches) {
+ $whole_match = $matches[1];
+ $link_text = $matches[2];
+ $link_id =& $matches[3];
+
+ if ($link_id == "") {
+ // for shortcut links like [this][] or [this].
+ $link_id = $link_text;
+ }
+
+ // lower-case and turn embedded newlines into spaces
+ $link_id = strtolower($link_id);
+ $link_id = preg_replace('{[ ]?\n}', ' ', $link_id);
+
+ if (isset($this->urls[$link_id])) {
+ $url = $this->urls[$link_id];
+ $url = $this->encodeURLAttribute($url);
+
+ $result = "<a href=\"$url\"";
+ if ( isset( $this->titles[$link_id] ) ) {
+ $title = $this->titles[$link_id];
+ $title = $this->encodeAttribute($title);
+ $result .= " title=\"$title\"";
+ }
+ if (isset($this->ref_attr[$link_id]))
+ $result .= $this->ref_attr[$link_id];
+
+ $link_text = $this->runSpanGamut($link_text);
+ $result .= ">$link_text</a>";
+ $result = $this->hashPart($result);
+ }
+ else {
+ $result = $whole_match;
+ }
+ return $result;
+ }
+
+ /**
+ * Callback for inline anchors
+ * @param array $matches
+ * @return string
+ */
+ protected function _doAnchors_inline_callback($matches) {
+ $whole_match = $matches[1];
+ $link_text = $this->runSpanGamut($matches[2]);
+ $url = $matches[3] == '' ? $matches[4] : $matches[3];
+ $title =& $matches[7];
+ $attr = $this->doExtraAttributes("a", $dummy =& $matches[8]);
+
+ // if the URL was of the form <s p a c e s> it got caught by the HTML
+ // tag parser and hashed. Need to reverse the process before using the URL.
+ $unhashed = $this->unhash($url);
+ if ($unhashed != $url)
+ $url = preg_replace('/^<(.*)>$/', '\1', $unhashed);
+
+ $url = $this->encodeURLAttribute($url);
+
+ $result = "<a href=\"$url\"";
+ if (isset($title)) {
+ $title = $this->encodeAttribute($title);
+ $result .= " title=\"$title\"";
+ }
+ $result .= $attr;
+
+ $link_text = $this->runSpanGamut($link_text);
+ $result .= ">$link_text</a>";
+
+ return $this->hashPart($result);
+ }
+
+ /**
+ * Turn Markdown image shortcuts into <img> tags.
+ * @param string $text
+ * @return string
+ */
+ protected function doImages($text) {
+ // First, handle reference-style labeled images: ![alt text][id]
+ $text = preg_replace_callback('{
+ ( # wrap whole match in $1
+ !\[
+ (' . $this->nested_brackets_re . ') # alt text = $2
+ \]
+
+ [ ]? # one optional space
+ (?:\n[ ]*)? # one optional newline followed by spaces
+
+ \[
+ (.*?) # id = $3
+ \]
+
+ )
+ }xs',
+ array($this, '_doImages_reference_callback'), $text);
+
+ // Next, handle inline images: ![alt text](url "optional title")
+ // Don't forget: encode * and _
+ $text = preg_replace_callback('{
+ ( # wrap whole match in $1
+ !\[
+ (' . $this->nested_brackets_re . ') # alt text = $2
+ \]
+ \s? # One optional whitespace character
+ \( # literal paren
+ [ \n]*
+ (?:
+ <(\S*)> # src url = $3
+ |
+ (' . $this->nested_url_parenthesis_re . ') # src url = $4
+ )
+ [ \n]*
+ ( # $5
+ ([\'"]) # quote char = $6
+ (.*?) # title = $7
+ \6 # matching quote
+ [ \n]*
+ )? # title is optional
+ \)
+ (?:[ ]? ' . $this->id_class_attr_catch_re . ' )? # $8 = id/class attributes
+ )
+ }xs',
+ array($this, '_doImages_inline_callback'), $text);
+
+ return $text;
+ }
+
+ /**
+ * Callback for referenced images
+ * @param array $matches
+ * @return string
+ */
+ protected function _doImages_reference_callback($matches) {
+ $whole_match = $matches[1];
+ $alt_text = $matches[2];
+ $link_id = strtolower($matches[3]);
+
+ if ($link_id == "") {
+ $link_id = strtolower($alt_text); // for shortcut links like ![this][].
+ }
+
+ $alt_text = $this->encodeAttribute($alt_text);
+ if (isset($this->urls[$link_id])) {
+ $url = $this->encodeURLAttribute($this->urls[$link_id]);
+ $result = "<img src=\"$url\" alt=\"$alt_text\"";
+ if (isset($this->titles[$link_id])) {
+ $title = $this->titles[$link_id];
+ $title = $this->encodeAttribute($title);
+ $result .= " title=\"$title\"";
+ }
+ if (isset($this->ref_attr[$link_id]))
+ $result .= $this->ref_attr[$link_id];
+ $result .= $this->empty_element_suffix;
+ $result = $this->hashPart($result);
+ }
+ else {
+ // If there's no such link ID, leave intact:
+ $result = $whole_match;
+ }
+
+ return $result;
+ }
+
+ /**
+ * Callback for inline images
+ * @param array $matches
+ * @return string
+ */
+ protected function _doImages_inline_callback($matches) {
+ $whole_match = $matches[1];
+ $alt_text = $matches[2];
+ $url = $matches[3] == '' ? $matches[4] : $matches[3];
+ $title =& $matches[7];
+ $attr = $this->doExtraAttributes("img", $dummy =& $matches[8]);
+
+ $alt_text = $this->encodeAttribute($alt_text);
+ $url = $this->encodeURLAttribute($url);
+ $result = "<img src=\"$url\" alt=\"$alt_text\"";
+ if (isset($title)) {
+ $title = $this->encodeAttribute($title);
+ $result .= " title=\"$title\""; // $title already quoted
+ }
+ $result .= $attr;
+ $result .= $this->empty_element_suffix;
+
+ return $this->hashPart($result);
+ }
+
+ /**
+ * Process markdown headers. Redefined to add ID and class attribute support.
+ * @param string $text
+ * @return string
+ */
+ protected function doHeaders($text) {
+ // Setext-style headers:
+ // Header 1 {#header1}
+ // ========
+ //
+ // Header 2 {#header2 .class1 .class2}
+ // --------
+ //
+ $text = preg_replace_callback(
+ '{
+ (^.+?) # $1: Header text
+ (?:[ ]+ ' . $this->id_class_attr_catch_re . ' )? # $3 = id/class attributes
+ [ ]*\n(=+|-+)[ ]*\n+ # $3: Header footer
+ }mx',
+ array($this, '_doHeaders_callback_setext'), $text);
+
+ // atx-style headers:
+ // # Header 1 {#header1}
+ // ## Header 2 {#header2}
+ // ## Header 2 with closing hashes ## {#header3.class1.class2}
+ // ...
+ // ###### Header 6 {.class2}
+ //
+ $text = preg_replace_callback('{
+ ^(\#{1,6}) # $1 = string of #\'s
+ [ ]*
+ (.+?) # $2 = Header text
+ [ ]*
+ \#* # optional closing #\'s (not counted)
+ (?:[ ]+ ' . $this->id_class_attr_catch_re . ' )? # $3 = id/class attributes
+ [ ]*
+ \n+
+ }xm',
+ array($this, '_doHeaders_callback_atx'), $text);
+
+ return $text;
+ }
+
+ /**
+ * Callback for setext headers
+ * @param array $matches
+ * @return string
+ */
+ protected function _doHeaders_callback_setext($matches) {
+ if ($matches[3] == '-' && preg_match('{^- }', $matches[1])) {
+ return $matches[0];
+ }
+
+ $level = $matches[3]{0} == '=' ? 1 : 2;
+
+ $defaultId = is_callable($this->header_id_func) ? call_user_func($this->header_id_func, $matches[1]) : null;
+
+ $attr = $this->doExtraAttributes("h$level", $dummy =& $matches[2], $defaultId);
+ $block = "<h$level$attr>" . $this->runSpanGamut($matches[1]) . "</h$level>";
+ return "\n" . $this->hashBlock($block) . "\n\n";
+ }
+
+ /**
+ * Callback for atx headers
+ * @param array $matches
+ * @return string
+ */
+ protected function _doHeaders_callback_atx($matches) {
+ $level = strlen($matches[1]);
+
+ $defaultId = is_callable($this->header_id_func) ? call_user_func($this->header_id_func, $matches[2]) : null;
+ $attr = $this->doExtraAttributes("h$level", $dummy =& $matches[3], $defaultId);
+ $block = "<h$level$attr>" . $this->runSpanGamut($matches[2]) . "</h$level>";
+ return "\n" . $this->hashBlock($block) . "\n\n";
+ }
+
+ /**
+ * Form HTML tables.
+ * @param string $text
+ * @return string
+ */
+ protected function doTables($text) {
+ $less_than_tab = $this->tab_width - 1;
+ // Find tables with leading pipe.
+ //
+ // | Header 1 | Header 2
+ // | -------- | --------
+ // | Cell 1 | Cell 2
+ // | Cell 3 | Cell 4
+ $text = preg_replace_callback('
+ {
+ ^ # Start of a line
+ [ ]{0,' . $less_than_tab . '} # Allowed whitespace.
+ [|] # Optional leading pipe (present)
+ (.+) \n # $1: Header row (at least one pipe)
+
+ [ ]{0,' . $less_than_tab . '} # Allowed whitespace.
+ [|] ([ ]*[-:]+[-| :]*) \n # $2: Header underline
+
+ ( # $3: Cells
+ (?>
+ [ ]* # Allowed whitespace.
+ [|] .* \n # Row content.
+ )*
+ )
+ (?=\n|\Z) # Stop at final double newline.
+ }xm',
+ array($this, '_doTable_leadingPipe_callback'), $text);
+
+ // Find tables without leading pipe.
+ //
+ // Header 1 | Header 2
+ // -------- | --------
+ // Cell 1 | Cell 2
+ // Cell 3 | Cell 4
+ $text = preg_replace_callback('
+ {
+ ^ # Start of a line
+ [ ]{0,' . $less_than_tab . '} # Allowed whitespace.
+ (\S.*[|].*) \n # $1: Header row (at least one pipe)
+
+ [ ]{0,' . $less_than_tab . '} # Allowed whitespace.
+ ([-:]+[ ]*[|][-| :]*) \n # $2: Header underline
+
+ ( # $3: Cells
+ (?>
+ .* [|] .* \n # Row content
+ )*
+ )
+ (?=\n|\Z) # Stop at final double newline.
+ }xm',
+ array($this, '_DoTable_callback'), $text);
+
+ return $text;
+ }
+
+ /**
+ * Callback for removing the leading pipe for each row
+ * @param array $matches
+ * @return string
+ */
+ protected function _doTable_leadingPipe_callback($matches) {
+ $head = $matches[1];
+ $underline = $matches[2];
+ $content = $matches[3];
+
+ $content = preg_replace('/^ *[|]/m', '', $content);
+
+ return $this->_doTable_callback(array($matches[0], $head, $underline, $content));
+ }
+
+ /**
+ * Make the align attribute in a table
+ * @param string $alignname
+ * @return string
+ */
+ protected function _doTable_makeAlignAttr($alignname)
+ {
+ if (empty($this->table_align_class_tmpl)) {
+ return " align=\"$alignname\"";
+ }
+
+ $classname = str_replace('%%', $alignname, $this->table_align_class_tmpl);
+ return " class=\"$classname\"";
+ }
+
+ /**
+ * Calback for processing tables
+ * @param array $matches
+ * @return string
+ */
+ protected function _doTable_callback($matches) {
+ $head = $matches[1];
+ $underline = $matches[2];
+ $content = $matches[3];
+
+ // Remove any tailing pipes for each line.
+ $head = preg_replace('/[|] *$/m', '', $head);
+ $underline = preg_replace('/[|] *$/m', '', $underline);
+ $content = preg_replace('/[|] *$/m', '', $content);
+
+ // Reading alignement from header underline.
+ $separators = preg_split('/ *[|] */', $underline);
+ foreach ($separators as $n => $s) {
+ if (preg_match('/^ *-+: *$/', $s))
+ $attr[$n] = $this->_doTable_makeAlignAttr('right');
+ else if (preg_match('/^ *:-+: *$/', $s))
+ $attr[$n] = $this->_doTable_makeAlignAttr('center');
+ else if (preg_match('/^ *:-+ *$/', $s))
+ $attr[$n] = $this->_doTable_makeAlignAttr('left');
+ else
+ $attr[$n] = '';
+ }
+
+ // Parsing span elements, including code spans, character escapes,
+ // and inline HTML tags, so that pipes inside those gets ignored.
+ $head = $this->parseSpan($head);
+ $headers = preg_split('/ *[|] */', $head);
+ $col_count = count($headers);
+ $attr = array_pad($attr, $col_count, '');
+
+ // Write column headers.
+ $text = "<table>\n";
+ $text .= "<thead>\n";
+ $text .= "<tr>\n";
+ foreach ($headers as $n => $header)
+ $text .= " <th$attr[$n]>" . $this->runSpanGamut(trim($header)) . "</th>\n";
+ $text .= "</tr>\n";
+ $text .= "</thead>\n";
+
+ // Split content by row.
+ $rows = explode("\n", trim($content, "\n"));
+
+ $text .= "<tbody>\n";
+ foreach ($rows as $row) {
+ // Parsing span elements, including code spans, character escapes,
+ // and inline HTML tags, so that pipes inside those gets ignored.
+ $row = $this->parseSpan($row);
+
+ // Split row by cell.
+ $row_cells = preg_split('/ *[|] */', $row, $col_count);
+ $row_cells = array_pad($row_cells, $col_count, '');
+
+ $text .= "<tr>\n";
+ foreach ($row_cells as $n => $cell)
+ $text .= " <td$attr[$n]>" . $this->runSpanGamut(trim($cell)) . "</td>\n";
+ $text .= "</tr>\n";
+ }
+ $text .= "</tbody>\n";
+ $text .= "</table>";
+
+ return $this->hashBlock($text) . "\n";
+ }
+
+ /**
+ * Form HTML definition lists.
+ * @param string $text
+ * @return string
+ */
+ protected function doDefLists($text) {
+ $less_than_tab = $this->tab_width - 1;
+
+ // Re-usable pattern to match any entire dl list:
+ $whole_list_re = '(?>
+ ( # $1 = whole list
+ ( # $2
+ [ ]{0,' . $less_than_tab . '}
+ ((?>.*\S.*\n)+) # $3 = defined term
+ \n?
+ [ ]{0,' . $less_than_tab . '}:[ ]+ # colon starting definition
+ )
+ (?s:.+?)
+ ( # $4
+ \z
+ |
+ \n{2,}
+ (?=\S)
+ (?! # Negative lookahead for another term
+ [ ]{0,' . $less_than_tab . '}
+ (?: \S.*\n )+? # defined term
+ \n?
+ [ ]{0,' . $less_than_tab . '}:[ ]+ # colon starting definition
+ )
+ (?! # Negative lookahead for another definition
+ [ ]{0,' . $less_than_tab . '}:[ ]+ # colon starting definition
+ )
+ )
+ )
+ )'; // mx
+
+ $text = preg_replace_callback('{
+ (?>\A\n?|(?<=\n\n))
+ ' . $whole_list_re . '
+ }mx',
+ array($this, '_doDefLists_callback'), $text);
+
+ return $text;
+ }
+
+ /**
+ * Callback for processing definition lists
+ * @param array $matches
+ * @return string
+ */
+ protected function _doDefLists_callback($matches) {
+ // Re-usable patterns to match list item bullets and number markers:
+ $list = $matches[1];
+
+ // Turn double returns into triple returns, so that we can make a
+ // paragraph for the last item in a list, if necessary:
+ $result = trim($this->processDefListItems($list));
+ $result = "<dl>\n" . $result . "\n</dl>";
+ return $this->hashBlock($result) . "\n\n";
+ }
+
+ /**
+ * Process the contents of a single definition list, splitting it
+ * into individual term and definition list items.
+ * @param string $list_str
+ * @return string
+ */
+ protected function processDefListItems($list_str) {
+
+ $less_than_tab = $this->tab_width - 1;
+
+ // Trim trailing blank lines:
+ $list_str = preg_replace("/\n{2,}\\z/", "\n", $list_str);
+
+ // Process definition terms.
+ $list_str = preg_replace_callback('{
+ (?>\A\n?|\n\n+) # leading line
+ ( # definition terms = $1
+ [ ]{0,' . $less_than_tab . '} # leading whitespace
+ (?!\:[ ]|[ ]) # negative lookahead for a definition
+ # mark (colon) or more whitespace.
+ (?> \S.* \n)+? # actual term (not whitespace).
+ )
+ (?=\n?[ ]{0,3}:[ ]) # lookahead for following line feed
+ # with a definition mark.
+ }xm',
+ array($this, '_processDefListItems_callback_dt'), $list_str);
+
+ // Process actual definitions.
+ $list_str = preg_replace_callback('{
+ \n(\n+)? # leading line = $1
+ ( # marker space = $2
+ [ ]{0,' . $less_than_tab . '} # whitespace before colon
+ \:[ ]+ # definition mark (colon)
+ )
+ ((?s:.+?)) # definition text = $3
+ (?= \n+ # stop at next definition mark,
+ (?: # next term or end of text
+ [ ]{0,' . $less_than_tab . '} \:[ ] |
+ <dt> | \z
+ )
+ )
+ }xm',
+ array($this, '_processDefListItems_callback_dd'), $list_str);
+
+ return $list_str;
+ }
+
+ /**
+ * Callback for <dt> elements in definition lists
+ * @param array $matches
+ * @return string
+ */
+ protected function _processDefListItems_callback_dt($matches) {
+ $terms = explode("\n", trim($matches[1]));
+ $text = '';
+ foreach ($terms as $term) {
+ $term = $this->runSpanGamut(trim($term));
+ $text .= "\n<dt>" . $term . "</dt>";
+ }
+ return $text . "\n";
+ }
+
+ /**
+ * Callback for <dd> elements in definition lists
+ * @param array $matches
+ * @return string
+ */
+ protected function _processDefListItems_callback_dd($matches) {
+ $leading_line = $matches[1];
+ $marker_space = $matches[2];
+ $def = $matches[3];
+
+ if ($leading_line || preg_match('/\n{2,}/', $def)) {
+ // Replace marker with the appropriate whitespace indentation
+ $def = str_repeat(' ', strlen($marker_space)) . $def;
+ $def = $this->runBlockGamut($this->outdent($def . "\n\n"));
+ $def = "\n". $def ."\n";
+ }
+ else {
+ $def = rtrim($def);
+ $def = $this->runSpanGamut($this->outdent($def));
+ }
+
+ return "\n<dd>" . $def . "</dd>\n";
+ }
+
+ /**
+ * Adding the fenced code block syntax to regular Markdown:
+ *
+ * ~~~
+ * Code block
+ * ~~~
+ *
+ * @param string $text
+ * @return string
+ */
+ protected function doFencedCodeBlocks($text) {
+
+ $less_than_tab = $this->tab_width;
+
+ $text = preg_replace_callback('{
+ (?:\n|\A)
+ # 1: Opening marker
+ (
+ (?:~{3,}|`{3,}) # 3 or more tildes/backticks.
+ )
+ [ ]*
+ (?:
+ \.?([-_:a-zA-Z0-9]+) # 2: standalone class name
+ )?
+ [ ]*
+ (?:
+ ' . $this->id_class_attr_catch_re . ' # 3: Extra attributes
+ )?
+ [ ]* \n # Whitespace and newline following marker.
+
+ # 4: Content
+ (
+ (?>
+ (?!\1 [ ]* \n) # Not a closing marker.
+ .*\n+
+ )+
+ )
+
+ # Closing marker.
+ \1 [ ]* (?= \n )
+ }xm',
+ array($this, '_doFencedCodeBlocks_callback'), $text);
+
+ return $text;
+ }
+
+ /**
+ * Callback to process fenced code blocks
+ * @param array $matches
+ * @return string
+ */
+ protected function _doFencedCodeBlocks_callback($matches) {
+ $classname =& $matches[2];
+ $attrs =& $matches[3];
+ $codeblock = $matches[4];
+
+ if ($this->code_block_content_func) {
+ $codeblock = call_user_func($this->code_block_content_func, $codeblock, $classname);
+ } else {
+ $codeblock = htmlspecialchars($codeblock, ENT_NOQUOTES);
+ }
+
+ $codeblock = preg_replace_callback('/^\n+/',
+ array($this, '_doFencedCodeBlocks_newlines'), $codeblock);
+
+ $classes = array();
+ if ($classname != "") {
+ if ($classname{0} == '.')
+ $classname = substr($classname, 1);
+ $classes[] = $this->code_class_prefix . $classname;
+ }
+ $attr_str = $this->doExtraAttributes($this->code_attr_on_pre ? "pre" : "code", $attrs, null, $classes);
+ $pre_attr_str = $this->code_attr_on_pre ? $attr_str : '';
+ $code_attr_str = $this->code_attr_on_pre ? '' : $attr_str;
+ $codeblock = "<pre$pre_attr_str><code$code_attr_str>$codeblock</code></pre>";
+
+ return "\n\n".$this->hashBlock($codeblock)."\n\n";
+ }
+
+ /**
+ * Replace new lines in fenced code blocks
+ * @param array $matches
+ * @return string
+ */
+ protected function _doFencedCodeBlocks_newlines($matches) {
+ return str_repeat("<br$this->empty_element_suffix",
+ strlen($matches[0]));
+ }
+
+ /**
+ * Redefining emphasis markers so that emphasis by underscore does not
+ * work in the middle of a word.
+ * @var array
+ */
+ protected $em_relist = array(
+ '' => '(?:(?<!\*)\*(?!\*)|(?<![a-zA-Z0-9_])_(?!_))(?![\.,:;]?\s)',
+ '*' => '(?<![\s*])\*(?!\*)',
+ '_' => '(?<![\s_])_(?![a-zA-Z0-9_])',
+ );
+ protected $strong_relist = array(
+ '' => '(?:(?<!\*)\*\*(?!\*)|(?<![a-zA-Z0-9_])__(?!_))(?![\.,:;]?\s)',
+ '**' => '(?<![\s*])\*\*(?!\*)',
+ '__' => '(?<![\s_])__(?![a-zA-Z0-9_])',
+ );
+ protected $em_strong_relist = array(
+ '' => '(?:(?<!\*)\*\*\*(?!\*)|(?<![a-zA-Z0-9_])___(?!_))(?![\.,:;]?\s)',
+ '***' => '(?<![\s*])\*\*\*(?!\*)',
+ '___' => '(?<![\s_])___(?![a-zA-Z0-9_])',
+ );
+
+ /**
+ * Parse text into paragraphs
+ * @param string $text String to process in paragraphs
+ * @param boolean $wrap_in_p Whether paragraphs should be wrapped in <p> tags
+ * @return string HTML output
+ */
+ protected function formParagraphs($text, $wrap_in_p = true) {
+ // Strip leading and trailing lines:
+ $text = preg_replace('/\A\n+|\n+\z/', '', $text);
+
+ $grafs = preg_split('/\n{2,}/', $text, -1, PREG_SPLIT_NO_EMPTY);
+
+ // Wrap <p> tags and unhashify HTML blocks
+ foreach ($grafs as $key => $value) {
+ $value = trim($this->runSpanGamut($value));
+
+ // Check if this should be enclosed in a paragraph.
+ // Clean tag hashes & block tag hashes are left alone.
+ $is_p = $wrap_in_p && !preg_match('/^B\x1A[0-9]+B|^C\x1A[0-9]+C$/', $value);
+
+ if ($is_p) {
+ $value = "<p>$value</p>";
+ }
+ $grafs[$key] = $value;
+ }
+
+ // Join grafs in one text, then unhash HTML tags.
+ $text = implode("\n\n", $grafs);
+
+ // Finish by removing any tag hashes still present in $text.
+ $text = $this->unhash($text);
+
+ return $text;
+ }
+
+
+ /**
+ * Footnotes - Strips link definitions from text, stores the URLs and
+ * titles in hash references.
+ * @param string $text
+ * @return string
+ */
+ protected function stripFootnotes($text) {
+ $less_than_tab = $this->tab_width - 1;
+
+ // Link defs are in the form: [^id]: url "optional title"
+ $text = preg_replace_callback('{
+ ^[ ]{0,' . $less_than_tab . '}\[\^(.+?)\][ ]?: # note_id = $1
+ [ ]*
+ \n? # maybe *one* newline
+ ( # text = $2 (no blank lines allowed)
+ (?:
+ .+ # actual text
+ |
+ \n # newlines but
+ (?!\[.+?\][ ]?:\s)# negative lookahead for footnote or link definition marker.
+ (?!\n+[ ]{0,3}\S)# ensure line is not blank and followed
+ # by non-indented content
+ )*
+ )
+ }xm',
+ array($this, '_stripFootnotes_callback'),
+ $text);
+ return $text;
+ }
+
+ /**
+ * Callback for stripping footnotes
+ * @param array $matches
+ * @return string
+ */
+ protected function _stripFootnotes_callback($matches) {
+ $note_id = $this->fn_id_prefix . $matches[1];
+ $this->footnotes[$note_id] = $this->outdent($matches[2]);
+ return ''; // String that will replace the block
+ }
+
+ /**
+ * Replace footnote references in $text [^id] with a special text-token
+ * which will be replaced by the actual footnote marker in appendFootnotes.
+ * @param string $text
+ * @return string
+ */
+ protected function doFootnotes($text) {
+ if (!$this->in_anchor) {
+ $text = preg_replace('{\[\^(.+?)\]}', "F\x1Afn:\\1\x1A:", $text);
+ }
+ return $text;
+ }
+
+ /**
+ * Append footnote list to text
+ * @param string $text
+ * @return string
+ */
+ protected function appendFootnotes($text) {
+ $text = preg_replace_callback('{F\x1Afn:(.*?)\x1A:}',
+ array($this, '_appendFootnotes_callback'), $text);
+
+ if (!empty($this->footnotes_ordered)) {
+ $text .= "\n\n";
+ $text .= "<div class=\"footnotes\">\n";
+ $text .= "<hr" . $this->empty_element_suffix . "\n";
+ $text .= "<ol>\n\n";
+
+ $attr = "";
+ if ($this->fn_backlink_class != "") {
+ $class = $this->fn_backlink_class;
+ $class = $this->encodeAttribute($class);
+ $attr .= " class=\"$class\"";
+ }
+ if ($this->fn_backlink_title != "") {
+ $title = $this->fn_backlink_title;
+ $title = $this->encodeAttribute($title);
+ $attr .= " title=\"$title\"";
+ }
+ $backlink_text = $this->fn_backlink_html;
+ $num = 0;
+
+ while (!empty($this->footnotes_ordered)) {
+ $footnote = reset($this->footnotes_ordered);
+ $note_id = key($this->footnotes_ordered);
+ unset($this->footnotes_ordered[$note_id]);
+ $ref_count = $this->footnotes_ref_count[$note_id];
+ unset($this->footnotes_ref_count[$note_id]);
+ unset($this->footnotes[$note_id]);
+
+ $footnote .= "\n"; // Need to append newline before parsing.
+ $footnote = $this->runBlockGamut("$footnote\n");
+ $footnote = preg_replace_callback('{F\x1Afn:(.*?)\x1A:}',
+ array($this, '_appendFootnotes_callback'), $footnote);
+
+ $attr = str_replace("%%", ++$num, $attr);
+ $note_id = $this->encodeAttribute($note_id);
+
+ // Prepare backlink, multiple backlinks if multiple references
+ $backlink = "<a href=\"#fnref:$note_id\"$attr>$backlink_text</a>";
+ for ($ref_num = 2; $ref_num <= $ref_count; ++$ref_num) {
+ $backlink .= " <a href=\"#fnref$ref_num:$note_id\"$attr>$backlink_text</a>";
+ }
+ // Add backlink to last paragraph; create new paragraph if needed.
+ if (preg_match('{</p>$}', $footnote)) {
+ $footnote = substr($footnote, 0, -4) . "&#160;$backlink</p>";
+ } else {
+ $footnote .= "\n\n<p>$backlink</p>";
+ }
+
+ $text .= "<li id=\"fn:$note_id\">\n";
+ $text .= $footnote . "\n";
+ $text .= "</li>\n\n";
+ }
+
+ $text .= "</ol>\n";
+ $text .= "</div>";
+ }
+ return $text;
+ }
+
+ /**
+ * Callback for appending footnotes
+ * @param array $matches
+ * @return string
+ */
+ protected function _appendFootnotes_callback($matches) {
+ $node_id = $this->fn_id_prefix . $matches[1];
+
+ // Create footnote marker only if it has a corresponding footnote *and*
+ // the footnote hasn't been used by another marker.
+ if (isset($this->footnotes[$node_id])) {
+ $num =& $this->footnotes_numbers[$node_id];
+ if (!isset($num)) {
+ // Transfer footnote content to the ordered list and give it its
+ // number
+ $this->footnotes_ordered[$node_id] = $this->footnotes[$node_id];
+ $this->footnotes_ref_count[$node_id] = 1;
+ $num = $this->footnote_counter++;
+ $ref_count_mark = '';
+ } else {
+ $ref_count_mark = $this->footnotes_ref_count[$node_id] += 1;
+ }
+
+ $attr = "";
+ if ($this->fn_link_class != "") {
+ $class = $this->fn_link_class;
+ $class = $this->encodeAttribute($class);
+ $attr .= " class=\"$class\"";
+ }
+ if ($this->fn_link_title != "") {
+ $title = $this->fn_link_title;
+ $title = $this->encodeAttribute($title);
+ $attr .= " title=\"$title\"";
+ }
+
+ $attr = str_replace("%%", $num, $attr);
+ $node_id = $this->encodeAttribute($node_id);
+
+ return
+ "<sup id=\"fnref$ref_count_mark:$node_id\">".
+ "<a href=\"#fn:$node_id\"$attr>$num</a>".
+ "</sup>";
+ }
+
+ return "[^" . $matches[1] . "]";
+ }
+
+
+ /**
+ * Abbreviations - strips abbreviations from text, stores titles in hash
+ * references.
+ * @param string $text
+ * @return string
+ */
+ protected function stripAbbreviations($text) {
+ $less_than_tab = $this->tab_width - 1;
+
+ // Link defs are in the form: [id]*: url "optional title"
+ $text = preg_replace_callback('{
+ ^[ ]{0,' . $less_than_tab . '}\*\[(.+?)\][ ]?: # abbr_id = $1
+ (.*) # text = $2 (no blank lines allowed)
+ }xm',
+ array($this, '_stripAbbreviations_callback'),
+ $text);
+ return $text;
+ }
+
+ /**
+ * Callback for stripping abbreviations
+ * @param array $matches
+ * @return string
+ */
+ protected function _stripAbbreviations_callback($matches) {
+ $abbr_word = $matches[1];
+ $abbr_desc = $matches[2];
+ if ($this->abbr_word_re) {
+ $this->abbr_word_re .= '|';
+ }
+ $this->abbr_word_re .= preg_quote($abbr_word);
+ $this->abbr_desciptions[$abbr_word] = trim($abbr_desc);
+ return ''; // String that will replace the block
+ }
+
+ /**
+ * Find defined abbreviations in text and wrap them in <abbr> elements.
+ * @param string $text
+ * @return string
+ */
+ protected function doAbbreviations($text) {
+ if ($this->abbr_word_re) {
+ // cannot use the /x modifier because abbr_word_re may
+ // contain significant spaces:
+ $text = preg_replace_callback('{' .
+ '(?<![\w\x1A])' .
+ '(?:' . $this->abbr_word_re . ')' .
+ '(?![\w\x1A])' .
+ '}',
+ array($this, '_doAbbreviations_callback'), $text);
+ }
+ return $text;
+ }
+
+ /**
+ * Callback for processing abbreviations
+ * @param array $matches
+ * @return string
+ */
+ protected function _doAbbreviations_callback($matches) {
+ $abbr = $matches[0];
+ if (isset($this->abbr_desciptions[$abbr])) {
+ $desc = $this->abbr_desciptions[$abbr];
+ if (empty($desc)) {
+ return $this->hashPart("<abbr>$abbr</abbr>");
+ } else {
+ $desc = $this->encodeAttribute($desc);
+ return $this->hashPart("<abbr title=\"$desc\">$abbr</abbr>");
+ }
+ } else {
+ return $matches[0];
+ }
+ }
+}
diff --git a/vendor/michelf/php-markdown/Michelf/MarkdownInterface.inc.php b/vendor/michelf/php-markdown/Michelf/MarkdownInterface.inc.php
new file mode 100644
index 000000000..c4e9ac7f6
--- /dev/null
+++ b/vendor/michelf/php-markdown/Michelf/MarkdownInterface.inc.php
@@ -0,0 +1,9 @@
+<?php
+
+// Use this file if you cannot use class autoloading. It will include all the
+// files needed for the MarkdownInterface interface.
+//
+// Take a look at the PSR-0-compatible class autoloading implementation
+// in the Readme.php file if you want a simple autoloader setup.
+
+require_once dirname(__FILE__) . '/MarkdownInterface.php';
diff --git a/vendor/michelf/php-markdown/Michelf/MarkdownInterface.php b/vendor/michelf/php-markdown/Michelf/MarkdownInterface.php
new file mode 100644
index 000000000..8512e3753
--- /dev/null
+++ b/vendor/michelf/php-markdown/Michelf/MarkdownInterface.php
@@ -0,0 +1,38 @@
+<?php
+/**
+ * Markdown - A text-to-HTML conversion tool for web writers
+ *
+ * @package php-markdown
+ * @author Michel Fortin <michel.fortin@michelf.com>
+ * @copyright 2004-2016 Michel Fortin <https://michelf.com/projects/php-markdown/>
+ * @copyright (Original Markdown) 2004-2006 John Gruber <https://daringfireball.net/projects/markdown/>
+ */
+
+namespace Michelf;
+
+/**
+ * Markdown Parser Interface
+ */
+interface MarkdownInterface {
+ /**
+ * Initialize the parser and return the result of its transform method.
+ * This will work fine for derived classes too.
+ *
+ * @api
+ *
+ * @param string $text
+ * @return string
+ */
+ public static function defaultTransform($text);
+
+ /**
+ * Main function. Performs some preprocessing on the input text
+ * and pass it through the document gamut.
+ *
+ * @api
+ *
+ * @param string $text
+ * @return string
+ */
+ public function transform($text);
+}
diff --git a/vendor/michelf/php-markdown/Readme.md b/vendor/michelf/php-markdown/Readme.md
new file mode 100644
index 000000000..044407106
--- /dev/null
+++ b/vendor/michelf/php-markdown/Readme.md
@@ -0,0 +1,384 @@
+PHP Markdown
+============
+
+PHP Markdown Lib 1.7.0 - 29 Oct 2016
+
+by Michel Fortin
+<https://michelf.ca/>
+
+based on Markdown by John Gruber
+<https://daringfireball.net/>
+
+
+Introduction
+------------
+
+This is a library package that includes the PHP Markdown parser and its
+sibling PHP Markdown Extra with additional features.
+
+Markdown is a text-to-HTML conversion tool for web writers. Markdown
+allows you to write using an easy-to-read, easy-to-write plain text
+format, then convert it to structurally valid XHTML (or HTML).
+
+"Markdown" is actually two things: a plain text markup syntax, and a
+software tool, originally written in Perl, that converts the plain text
+markup to HTML. PHP Markdown is a port to PHP of the original Markdown
+program by John Gruber.
+
+* [Full documentation of the Markdown syntax](<https://daringfireball.net/projects/markdown/>)
+ — Daring Fireball (John Gruber)
+* [Markdown Extra syntax additions](<https://michelf.ca/projects/php-markdown/extra/>)
+ — Michel Fortin
+
+
+Requirement
+-----------
+
+This library package requires PHP 5.3 or later.
+
+Note: The older plugin/library hybrid package for PHP Markdown and
+PHP Markdown Extra is still maintained and will work with PHP 4.0.5 and later.
+
+Before PHP 5.3.7, pcre.backtrack_limit defaults to 100 000, which is too small
+in many situations. You might need to set it to higher values. Later PHP
+releases defaults to 1 000 000, which is usually fine.
+
+
+Usage
+-----
+
+This library package is meant to be used with class autoloading. For autoloading
+to work, your project needs have setup a PSR-0-compatible autoloader. See the
+included Readme.php file for a minimal autoloader setup. (If you cannot use
+autoloading, see below.)
+
+With class autoloading in place, putting the 'Michelf' folder in your
+include path should be enough for this to work:
+
+ use \Michelf\Markdown;
+ $my_html = Markdown::defaultTransform($my_text);
+
+Markdown Extra syntax is also available the same way:
+
+ use \Michelf\MarkdownExtra;
+ $my_html = MarkdownExtra::defaultTransform($my_text);
+
+If you wish to use PHP Markdown with another text filter function
+built to parse HTML, you should filter the text *after* the `transform`
+function call. This is an example with [PHP SmartyPants][psp]:
+
+ use \Michelf\Markdown, \Michelf\SmartyPants;
+ $my_html = Markdown::defaultTransform($my_text);
+ $my_html = SmartyPants::defaultTransform($my_html);
+
+All these examples are using the static `defaultTransform` static function
+found inside the parser class. If you want to customize the parser
+configuration, you can also instantiate it directly and change some
+configuration variables:
+
+ use \Michelf\MarkdownExtra;
+ $parser = new MarkdownExtra;
+ $parser->fn_id_prefix = "post22-";
+ $my_html = $parser->transform($my_text);
+
+To learn more, see the full list of [configuration variables].
+
+ [configuration variables]: https://michelf.ca/projects/php-markdown/configuration/
+
+
+### Usage without an autoloader
+
+If you cannot use class autoloading, you can still use `include` or `require`
+to access the parser. To load the `\Michelf\Markdown` parser, do it this way:
+
+ require_once 'Michelf/Markdown.inc.php';
+
+Or, if you need the `\Michelf\MarkdownExtra` parser:
+
+ require_once 'Michelf/MarkdownExtra.inc.php';
+
+While the plain `.php` files depend on autoloading to work correctly, using the
+`.inc.php` files instead will eagerly load the dependencies that would be
+loaded on demand if you were using autoloading.
+
+
+Public API and Versioning Policy
+---------------------------------
+
+Version numbers are of the form *major*.*minor*.*patch*.
+
+The public API of PHP Markdown consist of the two parser classes `Markdown`
+and `MarkdownExtra`, their constructors, the `transform` and `defaultTransform`
+functions and their configuration variables. The public API is stable for
+a given major version number. It might get additions when the minor version
+number increments.
+
+**Protected members are not considered public API.** This is unconventional
+and deserves an explanation. Incrementing the major version number every time
+the underlying implementation of something changes is going to give
+nonessential version numbers for the vast majority of people who just use the
+parser. Protected members are meant to create parser subclasses that behave in
+different ways. Very few people create parser subclasses. I don't want to
+discourage it by making everything private, but at the same time I can't
+guarantee any stable hook between versions if you use protected members.
+
+**Syntax changes** will increment the minor number for new features, and the
+patch number for small corrections. A *new feature* is something that needs a
+change in the syntax documentation. Note that since PHP Markdown Lib includes
+two parsers, a syntax change for either of them will increment the minor
+number. Also note that there is nothing perfectly backward-compatible with the
+Markdown syntax: all inputs are always valid, so new features always replace
+something that was previously legal, although generally nonsensical to do.
+
+
+Bugs
+----
+
+To file bug reports please send email to:
+<michel.fortin@michelf.ca>
+
+Please include with your report: (1) the example input; (2) the output you
+expected; (3) the output PHP Markdown actually produced.
+
+If you have a problem where Markdown gives you an empty result, first check
+that the backtrack limit is not too low by running `php --info | grep pcre`.
+See Installation and Requirement above for details.
+
+
+Development and Testing
+-----------------------
+
+Pull requests for fixing bugs are welcome. Proposed new features are
+going to be meticulously reviewed -- taking into account backward compatibility,
+potential side effects, and future extensibility -- before deciding on
+acceptance or rejection.
+
+If you make a pull request that includes changes to the parser please add
+tests for what is being changed to [MDTest][] and make a pull request there
+too.
+
+ [MDTest]: https://github.com/michelf/mdtest/
+
+
+Donations
+---------
+
+If you wish to make a donation that will help me devote more time to
+PHP Markdown, please visit [michelf.ca/donate] or send Bitcoin to
+[1HiuX34czvVPPdhXbUAsAu7pZcesniDCGH].
+
+ [michelf.ca/donate]: https://michelf.ca/donate/#!Thanks%20for%20PHP%20Markdown
+ [1HiuX34czvVPPdhXbUAsAu7pZcesniDCGH]: bitcoin:1HiuX34czvVPPdhXbUAsAu7pZcesniDCGH
+
+
+Version History
+---------------
+
+PHP Markdown Lib 1.7.0 (29 Oct 2016)
+
+* Added a `hard_wrap` configuration variable to make all newline characters
+ in the text become `<br>` tags in the HTML output. By default, according
+ to the standard Markdown syntax these newlines are ignored unless they a
+ preceded by two spaces. Thanks to Jonathan Cohlmeyer for the implementation.
+
+* Improved the parsing of list items to fix problematic cases that came to
+ light with the addition of `hard_wrap`. This should have no effect on the
+ output except span-level list items that ended with two spaces (and thus
+ ended with a line break).
+
+* Added a `code_span_content_func` configuration variable which takes a
+ function that will convert the content of the code span to HTML. This can
+ be useful to implement syntax highlighting. Although contrary to its
+ code block equivalent, there is no syntax for specifying a language.
+ Credits to styxit for the implementation.
+
+* Fixed a Markdwon Extra issue where two-space-at-end-of-line hard breaks
+ wouldn't work inside of HTML block elements such as `<p markdown="1">`
+ where the element expects only span-level content.
+
+* In the parser code, switched to PHPDoc comment format. Thanks to
+ Robbie Averill for the help.
+
+
+PHP Markdown Lib 1.6.0 (23 Dec 2015)
+
+Note: this version was incorrectly released as 1.5.1 on Dec 22, a number
+that contradicted the versioning policy.
+
+* For fenced code blocks in Markdown Extra, can now set a class name for the
+ code block's language before the special attribute block. Previously, this
+ class name was only allowed in the absence of the special attribute block.
+
+* Added a `code_block_content_func` configuration variable which takes a
+ function that will convert the content of the code block to HTML. This is
+ most useful for syntax highlighting. For fenced code blocks in Markdown
+ Extra, the function has access to the language class name (the one outside
+ of the special attribute block). Credits to Mario Konrad for providing the
+ implementation.
+
+* The curled arrow character for the backlink in footnotes is now followed
+ by a Unicode variant selector to prevent it from being displayed in emoji
+ form on iOS.
+
+ Note that in older browsers the variant selector is often interpreted as a
+ separate character, making it visible after the arrow. So there is now a
+ also a `fn_backlink_html` configuration variable that can be used to set
+ the link text to something else. Credits to Dana for providing the
+ implementation.
+
+* Fixed an issue in MarkdownExtra where long header lines followed by a
+ special attribute block would hit the backtrack limit an cause an empty
+ string to be returned.
+
+
+PHP Markdown Lib 1.5.0 (1 Mar 2015)
+
+* Added the ability start ordered lists with a number different from 1 and
+ and have that reflected in the HTML output. This can be enabled with
+ the `enhanced_ordered_lists` configuration variable for the Markdown
+ parser; it is enabled by default for Markdown Extra.
+ Credits to Matt Gorle for providing the implementation.
+
+* Added the ability to insert custom HTML attributes with simple values
+ everywhere an extra attribute block is allowed (links, images, headers).
+ The value must be unquoted, cannot contains spaces and is limited to
+ alphanumeric ASCII characters.
+ Credits to Peter Droogmans for providing the implementation.
+
+* Added a `header_id_func` configuration variable which takes a function
+ that can generate an `id` attribute value from the header text.
+ Credits to Evert Pot for providing the implementation.
+
+* Added a `url_filter_func` configuration variable which takes a function
+ that can rewrite any link or image URL to something different.
+
+
+PHP Markdown Lib 1.4.1 (4 May 2014)
+
+* The HTML block parser will now treat `<figure>` as a block-level element
+ (as it should) and no longer wrap it in `<p>` or parse it's content with
+ the as Markdown syntax (although with Extra you can use `markdown="1"`
+ if you wish to use the Markdown syntax inside it).
+
+* The content of `<style>` elements will now be left alone, its content
+ won't be interpreted as Markdown.
+
+* Corrected an bug where some inline links with spaces in them would not
+ work even when surounded with angle brackets:
+
+ [link](<s p a c e s>)
+
+* Fixed an issue where email addresses with quotes in them would not always
+ have the quotes escaped in the link attribute, causing broken links (and
+ invalid HTML).
+
+* Fixed the case were a link definition following a footnote definition would
+ be swallowed by the footnote unless it was separated by a blank line.
+
+
+PHP Markdown Lib 1.4.0 (29 Nov 2013)
+
+* Added support for the `tel:` URL scheme in automatic links.
+
+ <tel:+1-111-111-1111>
+
+ It gets converted to this (note the `tel:` prefix becomes invisible):
+
+ <a href="tel:+1-111-111-1111">+1-111-111-1111</a>
+
+* Added backtick fenced code blocks to MarkdownExtra, originally from
+ Github-Flavored Markdown.
+
+* Added an interface called MarkdownInterface implemented by both
+ the Markdown and MarkdownExtra parsers. You can use the interface if
+ you want to create a mockup parser object for unit testing.
+
+* For those of you who cannot use class autoloading, you can now
+ include `Michelf/Markdown.inc.php` or `Michelf/MarkdownExtra.inc.php` (note
+ the `.inc.php` extension) to automatically include other files required
+ by the parser.
+
+
+PHP Markdown Lib 1.3 (11 Apr 2013)
+
+This is the first release of PHP Markdown Lib. This package requires PHP
+version 5.3 or later and is designed to work with PSR-0 autoloading and,
+optionally with Composer. Here is a list of the changes since
+PHP Markdown Extra 1.2.6:
+
+* Plugin interface for WordPress and other systems is no longer present in
+ the Lib package. The classic package is still available if you need it:
+ <https://michelf.ca/projects/php-markdown/classic/>
+
+* Added `public` and `protected` protection attributes, plus a section about
+ what is "public API" and what isn't in the Readme file.
+
+* Changed HTML output for footnotes: now instead of adding `rel` and `rev`
+ attributes, footnotes links have the class name `footnote-ref` and
+ backlinks `footnote-backref`.
+
+* Fixed some regular expressions to make PCRE not shout warnings about POSIX
+ collation classes (dependent on your version of PCRE).
+
+* Added optional class and id attributes to images and links using the same
+ syntax as for headers:
+
+ [link](url){#id .class}
+ ![img](url){#id .class}
+
+ It work too for reference-style links and images. In this case you need
+ to put those attributes at the reference definition:
+
+ [link][linkref] or [linkref]
+ ![img][linkref]
+
+ [linkref]: url "optional title" {#id .class}
+
+* Fixed a PHP notice message triggered when some table column separator
+ markers are missing on the separator line below column headers.
+
+* Fixed a small mistake that could cause the parser to retain an invalid
+ state related to parsing links across multiple runs. This was never
+ observed (that I know of), but it's still worth fixing.
+
+
+Copyright and License
+---------------------
+
+PHP Markdown Lib
+Copyright (c) 2004-2016 Michel Fortin
+<https://michelf.ca/>
+All rights reserved.
+
+Based on Markdown
+Copyright (c) 2003-2005 John Gruber
+<https://daringfireball.net/>
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+* Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+* Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the
+ distribution.
+
+* Neither the name "Markdown" nor the names of its contributors may
+ be used to endorse or promote products derived from this software
+ without specific prior written permission.
+
+This software is provided by the copyright holders and contributors "as
+is" and any express or implied warranties, including, but not limited
+to, the implied warranties of merchantability and fitness for a
+particular purpose are disclaimed. In no event shall the copyright owner
+or contributors be liable for any direct, indirect, incidental, special,
+exemplary, or consequential damages (including, but not limited to,
+procurement of substitute goods or services; loss of use, data, or
+profits; or business interruption) however caused and on any theory of
+liability, whether in contract, strict liability, or tort (including
+negligence or otherwise) arising in any way out of the use of this
+software, even if advised of the possibility of such damage.
diff --git a/vendor/michelf/php-markdown/Readme.php b/vendor/michelf/php-markdown/Readme.php
new file mode 100644
index 000000000..89449dea4
--- /dev/null
+++ b/vendor/michelf/php-markdown/Readme.php
@@ -0,0 +1,31 @@
+<?php
+
+// This file passes the content of the Readme.md file in the same directory
+// through the Markdown filter. You can adapt this sample code in any way
+// you like.
+
+// Install PSR-0-compatible class autoloader
+spl_autoload_register(function($class){
+ require preg_replace('{\\\\|_(?!.*\\\\)}', DIRECTORY_SEPARATOR, ltrim($class, '\\')).'.php';
+});
+
+// Get Markdown class
+use \Michelf\Markdown;
+
+// Read file and pass content through the Markdown parser
+$text = file_get_contents('Readme.md');
+$html = Markdown::defaultTransform($text);
+
+?>
+<!DOCTYPE html>
+<html>
+ <head>
+ <title>PHP Markdown Lib - Readme</title>
+ </head>
+ <body>
+ <?php
+ // Put HTML content in the document
+ echo $html;
+ ?>
+ </body>
+</html>
diff --git a/vendor/michelf/php-markdown/composer.json b/vendor/michelf/php-markdown/composer.json
new file mode 100644
index 000000000..36a4f744a
--- /dev/null
+++ b/vendor/michelf/php-markdown/composer.json
@@ -0,0 +1,31 @@
+{
+ "name": "michelf/php-markdown",
+ "type": "library",
+ "description": "PHP Markdown",
+ "homepage": "https://michelf.ca/projects/php-markdown/",
+ "keywords": ["markdown"],
+ "license": "BSD-3-Clause",
+ "authors": [
+ {
+ "name": "Michel Fortin",
+ "email": "michel.fortin@michelf.ca",
+ "homepage": "https://michelf.ca/",
+ "role": "Developer"
+ },
+ {
+ "name": "John Gruber",
+ "homepage": "https://daringfireball.net/"
+ }
+ ],
+ "require": {
+ "php": ">=5.3.0"
+ },
+ "autoload": {
+ "psr-0": { "Michelf": "" }
+ },
+ "extra": {
+ "branch-alias": {
+ "dev-lib": "1.4.x-dev"
+ }
+ }
+}
diff --git a/vendor/pear/text_languagedetect/README.rst b/vendor/pear/text_languagedetect/README.rst
new file mode 100644
index 000000000..9381c7f7e
--- /dev/null
+++ b/vendor/pear/text_languagedetect/README.rst
@@ -0,0 +1,157 @@
+*******************
+Text_LanguageDetect
+*******************
+PHP library to identify human languages from text samples.
+Returns confidence scores for each.
+
+
+Installation
+============
+
+PEAR
+----
+::
+
+ $ pear install Text_LanguageDetect
+
+Composer
+--------
+::
+
+ $ composer require pear/text_languagedetect
+
+
+Usage
+=====
+Also see the examples in the ``docs/`` directory and
+the `official documentation`__.
+
+__ http://pear.php.net/package/Text_LanguageDetect/docs
+
+Language detection
+------------------
+Simple language detection::
+
+ <?php
+ require_once 'Text/LanguageDetect.php';
+
+ $text = 'Was wäre, wenn ich Ihnen das jetzt sagen würde?';
+
+ $ld = new Text_LanguageDetect();
+ $language = $ld->detectSimple($text);
+
+ echo $language;
+ //output: german
+
+Show the three most probable languages with their confidence score::
+
+ <?php
+ require_once 'Text/LanguageDetect.php';
+
+ $text = 'Was wäre, wenn ich Ihnen das jetzt sagen würde?';
+
+ $ld = new Text_LanguageDetect();
+ //3 most probable languages
+ $results = $ld->detect($text, 3);
+
+ foreach ($results as $language => $confidence) {
+ echo $language . ': ' . number_format($confidence, 2) . "\n";
+ }
+
+ //output:
+ //german: 0.35
+ //dutch: 0.25
+ //swedish: 0.20
+ ?>
+
+
+Language code
+-------------
+Instead of returning the full language name, ISO 639-2 two and three
+letter codes can be returned::
+
+ <?php
+ require_once 'Text/LanguageDetect.php';
+ $ld = new Text_LanguageDetect();
+
+ //will output the ISO 639-1 two-letter language code
+ // "de"
+ $ld->setNameMode(2);
+ echo $ld->detectSimple('Das ist ein kleiner Text') . "\n";
+
+ //will output the ISO 639-2 three-letter language code
+ // "deu"
+ $ld->setNameMode(3);
+ echo $ld->detectSimple('Das ist ein kleiner Text') . "\n";
+ ?>
+
+
+Supported languages
+===================
+- albanian
+- arabic
+- azeri
+- bengali
+- bulgarian
+- cebuano
+- croatian
+- czech
+- danish
+- dutch
+- english
+- estonian
+- farsi
+- finnish
+- french
+- german
+- hausa
+- hawaiian
+- hindi
+- hungarian
+- icelandic
+- indonesian
+- italian
+- kazakh
+- kyrgyz
+- latin
+- latvian
+- lithuanian
+- macedonian
+- mongolian
+- nepali
+- norwegian
+- pashto
+- pidgin
+- polish
+- portuguese
+- romanian
+- russian
+- serbian
+- slovak
+- slovene
+- somali
+- spanish
+- swahili
+- swedish
+- tagalog
+- turkish
+- ukrainian
+- urdu
+- uzbek
+- vietnamese
+- welsh
+
+
+Links
+=====
+Homepage
+ http://pear.php.net/package/Text_LanguageDetect
+Bug tracker
+ http://pear.php.net/bugs/search.php?cmd=display&package_name[]=Text_LanguageDetect
+Documentation
+ http://pear.php.net/package/Text_LanguageDetect/docs
+Unit test status
+ https://travis-ci.org/pear/Text_LanguageDetect
+
+ .. image:: https://travis-ci.org/pear/Text_LanguageDetect.svg?branch=master
+ :target: https://travis-ci.org/pear/Text_LanguageDetect
diff --git a/vendor/pear/text_languagedetect/Text/LanguageDetect.php b/vendor/pear/text_languagedetect/Text/LanguageDetect.php
new file mode 100644
index 000000000..420faa941
--- /dev/null
+++ b/vendor/pear/text_languagedetect/Text/LanguageDetect.php
@@ -0,0 +1,1678 @@
+<?php
+/**
+ * Part of Text_LanguageDetect
+ *
+ * PHP version 5
+ *
+ * @category Text
+ * @package Text_LanguageDetect
+ * @author Nicholas Pisarro <infinityminusnine+pear@gmail.com>
+ * @copyright 2005-2006 Nicholas Pisarro
+ * @license BSD http://www.opensource.org/licenses/bsd-license.php
+ * @link http://pear.php.net/package/Text_LanguageDetect/
+ */
+
+//require_once 'Text/LanguageDetect/Exception.php';
+//require_once 'Text/LanguageDetect/Parser.php';
+//require_once 'Text/LanguageDetect/ISO639.php';
+
+/**
+ * Detects the language of a given piece of text.
+ *
+ * Attempts to detect the language of a sample of text by correlating ranked
+ * 3-gram frequencies to a table of 3-gram frequencies of known languages.
+ *
+ * Implements a version of a technique originally proposed by Cavnar & Trenkle
+ * (1994): "N-Gram-Based Text Categorization"
+ *
+ * Requires the language model database (lang.dat) that should have
+ * accompanied this class definition in order to be instantiated.
+ *
+ * Example usage:
+ *
+ * <code>
+ * require_once 'Text/LanguageDetect.php';
+ *
+ * $l = new Text_LanguageDetect;
+ *
+ * $stdin = fopen('php://stdin', 'r');
+ *
+ * echo "Supported languages:\n";
+ *
+ * try {
+ * $langs = $l->getLanguages();
+ * } catch (Text_LanguageDetect_Exception $e) {
+ * die($e->getMessage());
+ * }
+ *
+ * sort($langs);
+ * echo join(', ', $langs);
+ *
+ * while ($line = fgets($stdin)) {
+ * print_r($l->detect($line, 4));
+ * }
+ * </code>
+ *
+ * @category Text
+ * @package Text_LanguageDetect
+ * @author Nicholas Pisarro <infinityminusnine+pear@gmail.com>
+ * @copyright 2005 Nicholas Pisarro
+ * @license BSD http://www.opensource.org/licenses/bsd-license.php
+ * @version Release: @package_version@
+ * @link http://pear.php.net/package/Text_LanguageDetect/
+ */
+class Text_LanguageDetect
+{
+ /**
+ * The filename that stores the trigram data for the detector
+ *
+ * If this value starts with a slash (/) or a dot (.) the value of
+ * $this->_data_dir will be ignored
+ *
+ * @var string
+ */
+ protected $_db_filename = 'lang.dat';
+
+ /**
+ * The filename that stores the unicode block definitions
+ *
+ * If this value starts with a slash (/) or a dot (.) the value of
+ * $this->_data_dir will be ignored
+ *
+ * @var string
+ */
+ protected $_unicode_db_filename = 'unicode_blocks.dat';
+
+ /**
+ * The data directory
+ *
+ * Should be set by PEAR installer
+ *
+ * @var string
+ */
+ protected $_data_dir = '@data_dir@';
+
+ /**
+ * The trigram data for comparison
+ *
+ * Will be loaded on start from $this->_db_filename
+ *
+ * @var array
+ */
+ protected $_lang_db = array();
+
+ /**
+ * Stores the map of the trigram data to unicode characters
+ *
+ * @var array
+ */
+ protected $_unicode_map;
+
+ /**
+ * The size of the trigram data arrays
+ *
+ * @var int
+ */
+ protected $_threshold = 300;
+
+ /**
+ * The maximum possible score.
+ *
+ * Needed for score normalization. Different depending on the
+ * perl compatibility setting
+ *
+ * @var int
+ * @see setPerlCompatible()
+ */
+ protected $_max_score = 0;
+
+ /**
+ * Whether or not to simulate perl's Language::Guess exactly
+ *
+ * @var bool
+ * @see setPerlCompatible()
+ */
+ protected $_perl_compatible = false;
+
+ /**
+ * Whether to use the unicode block detection to speed up processing
+ *
+ * @var bool
+ */
+ protected $_use_unicode_narrowing = true;
+
+ /**
+ * Stores the result of the clustering operation
+ *
+ * @var array
+ * @see clusterLanguages()
+ */
+ protected $_clusters;
+
+ /**
+ * Which type of "language names" are accepted and returned:
+ *
+ * 0 - language name ("english")
+ * 2 - 2-letter ISO 639-1 code ("en")
+ * 3 - 3-letter ISO 639-2 code ("eng")
+ */
+ protected $_name_mode = 0;
+
+ /**
+ * Constructor
+ *
+ * Will attempt to load the language database. If it fails, you will get
+ * an exception.
+ */
+ public function __construct()
+ {
+ $data = $this->_readdb($this->_db_filename);
+ $this->_checkTrigram($data['trigram']);
+ $this->_lang_db = $data['trigram'];
+
+ if (isset($data['trigram-unicodemap'])) {
+ $this->_unicode_map = $data['trigram-unicodemap'];
+ }
+
+ // Not yet implemented:
+ if (isset($data['trigram-clusters'])) {
+ $this->_clusters = $data['trigram-clusters'];
+ }
+ }
+
+ /**
+ * Returns the path to the location of the database
+ *
+ * @param string $fname File name to load
+ *
+ * @return string expected path to the language model database
+ */
+ protected function _get_data_loc($fname)
+ {
+ if ($fname{0} == '/' || $fname{0} == '.') {
+ // if filename starts with a slash, assume it's an absolute pathname
+ // and skip whatever is in $this->_data_dir
+ return $fname;
+
+ } elseif ($this->_data_dir != '@' . 'data_dir' . '@') {
+ // if the data dir was set by the PEAR installer, use that
+ return $this->_data_dir . '/Text_LanguageDetect/' . $fname;
+
+ } else {
+ // assume this was just unpacked somewhere
+ // try the local working directory if otherwise
+ return __DIR__ . '/../data/' . $fname;
+ }
+ }
+
+ /**
+ * Loads the language trigram database from filename
+ *
+ * Trigram datbase should be a serialize()'d array
+ *
+ * @param string $fname the filename where the data is stored
+ *
+ * @return array the language model data
+ * @throws Text_LanguageDetect_Exception
+ */
+ protected function _readdb($fname)
+ {
+ // finds the correct data dir
+ $fname = $this->_get_data_loc($fname);
+
+ // input check
+ if (!file_exists($fname)) {
+ throw new Text_LanguageDetect_Exception(
+ 'Language database does not exist: ' . $fname,
+ Text_LanguageDetect_Exception::DB_NOT_FOUND
+ );
+ } elseif (!is_readable($fname)) {
+ throw new Text_LanguageDetect_Exception(
+ 'Language database is not readable: ' . $fname,
+ Text_LanguageDetect_Exception::DB_NOT_READABLE
+ );
+ }
+
+ return unserialize(file_get_contents($fname));
+ }
+
+
+ /**
+ * Checks if this object is ready to detect languages
+ *
+ * @param array $trigram Trigram data from database
+ *
+ * @return void
+ */
+ protected function _checkTrigram($trigram)
+ {
+ if (!is_array($trigram)) {
+ if (ini_get('magic_quotes_runtime')) {
+ throw new Text_LanguageDetect_Exception(
+ 'Error loading database. Try turning magic_quotes_runtime off.',
+ Text_LanguageDetect_Exception::MAGIC_QUOTES
+ );
+ }
+ throw new Text_LanguageDetect_Exception(
+ 'Language database is not an array.',
+ Text_LanguageDetect_Exception::DB_NOT_ARRAY
+ );
+ } elseif (empty($trigram)) {
+ throw new Text_LanguageDetect_Exception(
+ 'Language database has no elements.',
+ Text_LanguageDetect_Exception::DB_EMPTY
+ );
+ }
+ }
+
+ /**
+ * Omits languages
+ *
+ * Pass this function the name of or an array of names of
+ * languages that you don't want considered
+ *
+ * If you're only expecting a limited set of languages, this can greatly
+ * speed up processing
+ *
+ * @param mixed $omit_list language name or array of names to omit
+ * @param bool $include_only if true will include (rather than
+ * exclude) only those in the list
+ *
+ * @return int number of languages successfully deleted
+ * @throws Text_LanguageDetect_Exception
+ */
+ public function omitLanguages($omit_list, $include_only = false)
+ {
+ $deleted = 0;
+
+ $omit_list = $this->_convertFromNameMode($omit_list);
+
+ if (!$include_only) {
+ // deleting the given languages
+ if (!is_array($omit_list)) {
+ $omit_list = strtolower($omit_list); // case desensitize
+ if (isset($this->_lang_db[$omit_list])) {
+ unset($this->_lang_db[$omit_list]);
+ $deleted++;
+ }
+ } else {
+ foreach ($omit_list as $omit_lang) {
+ if (isset($this->_lang_db[$omit_lang])) {
+ unset($this->_lang_db[$omit_lang]);
+ $deleted++;
+ }
+ }
+ }
+
+ } else {
+ // deleting all except the given languages
+ if (!is_array($omit_list)) {
+ $omit_list = array($omit_list);
+ }
+
+ // case desensitize
+ foreach ($omit_list as $key => $omit_lang) {
+ $omit_list[$key] = strtolower($omit_lang);
+ }
+
+ foreach (array_keys($this->_lang_db) as $lang) {
+ if (!in_array($lang, $omit_list)) {
+ unset($this->_lang_db[$lang]);
+ $deleted++;
+ }
+ }
+ }
+
+ // reset the cluster cache if the number of languages changes
+ // this will then have to be recalculated
+ if (isset($this->_clusters) && $deleted > 0) {
+ $this->_clusters = null;
+ }
+
+ return $deleted;
+ }
+
+
+ /**
+ * Returns the number of languages that this object can detect
+ *
+ * @return int the number of languages
+ * @throws Text_LanguageDetect_Exception
+ */
+ public function getLanguageCount()
+ {
+ return count($this->_lang_db);
+ }
+
+ /**
+ * Checks if the language with the given name exists in the database
+ *
+ * @param mixed $lang Language name or array of language names
+ *
+ * @return bool true if language model exists
+ */
+ public function languageExists($lang)
+ {
+ $lang = $this->_convertFromNameMode($lang);
+
+ if (is_string($lang)) {
+ return isset($this->_lang_db[strtolower($lang)]);
+
+ } elseif (is_array($lang)) {
+ foreach ($lang as $test_lang) {
+ if (!isset($this->_lang_db[strtolower($test_lang)])) {
+ return false;
+ }
+ }
+ return true;
+
+ } else {
+ throw new Text_LanguageDetect_Exception(
+ 'Unsupported parameter type passed to languageExists()',
+ Text_LanguageDetect_Exception::PARAM_TYPE
+ );
+ }
+ }
+
+ /**
+ * Returns the list of detectable languages
+ *
+ * @return array the names of the languages known to this object<<<<<<<
+ * @throws Text_LanguageDetect_Exception
+ */
+ public function getLanguages()
+ {
+ return $this->_convertToNameMode(
+ array_keys($this->_lang_db)
+ );
+ }
+
+ /**
+ * Make this object behave like Language::Guess
+ *
+ * @param bool $setting false to turn off perl compatibility
+ *
+ * @return void
+ */
+ public function setPerlCompatible($setting = true)
+ {
+ if (is_bool($setting)) { // input check
+ $this->_perl_compatible = $setting;
+
+ if ($setting == true) {
+ $this->_max_score = $this->_threshold;
+ } else {
+ $this->_max_score = 0;
+ }
+ }
+
+ }
+
+ /**
+ * Sets the way how language names are accepted and returned.
+ *
+ * @param integer $name_mode One of the following modes:
+ * 0 - language name ("english")
+ * 2 - 2-letter ISO 639-1 code ("en")
+ * 3 - 3-letter ISO 639-2 code ("eng")
+ *
+ * @return void
+ */
+ public function setNameMode($name_mode)
+ {
+ $this->_name_mode = $name_mode;
+ }
+
+ /**
+ * Whether to use unicode block ranges in detection
+ *
+ * Should speed up most detections if turned on (detault is on). In some
+ * circumstances it may be slower, such as for large text samples (> 10K)
+ * in languages that use latin scripts. In other cases it should speed up
+ * detection noticeably.
+ *
+ * @param bool $setting false to turn off
+ *
+ * @return void
+ */
+ public function useUnicodeBlocks($setting = true)
+ {
+ if (is_bool($setting)) {
+ $this->_use_unicode_narrowing = $setting;
+ }
+ }
+
+ /**
+ * Converts a piece of text into trigrams
+ *
+ * @param string $text text to convert
+ *
+ * @return array array of trigram frequencies
+ * @deprecated Superceded by the Text_LanguageDetect_Parser class
+ */
+ protected function _trigram($text)
+ {
+ $s = new Text_LanguageDetect_Parser($text);
+ $s->prepareTrigram();
+ $s->prepareUnicode(false);
+ $s->setPadStart(!$this->_perl_compatible);
+ $s->analyze();
+ return $s->getTrigramFreqs();
+ }
+
+ /**
+ * Converts a set of trigrams from frequencies to ranks
+ *
+ * Thresholds (cuts off) the list at $this->_threshold
+ *
+ * @param array $arr array of trigram
+ *
+ * @return array ranks of trigrams
+ */
+ protected function _arr_rank($arr)
+ {
+
+ // sorts alphabetically first as a standard way of breaking rank ties
+ $this->_bub_sort($arr);
+
+ // below might also work, but seemed to introduce errors in testing
+ //ksort($arr);
+ //asort($arr);
+
+ $rank = array();
+
+ $i = 0;
+ foreach ($arr as $key => $value) {
+ $rank[$key] = $i++;
+
+ // cut off at a standard threshold
+ if ($i >= $this->_threshold) {
+ break;
+ }
+ }
+
+ return $rank;
+ }
+
+ /**
+ * Sorts an array by value breaking ties alphabetically
+ *
+ * @param array $arr the array to sort
+ *
+ * @return void
+ */
+ protected function _bub_sort(&$arr)
+ {
+ // should do the same as this perl statement:
+ // sort { $trigrams{$b} == $trigrams{$a}
+ // ? $a cmp $b : $trigrams{$b} <=> $trigrams{$a} }
+
+ // needs to sort by both key and value at once
+ // using the key to break ties for the value
+
+ // converts array into an array of arrays of each key and value
+ // may be a better way of doing this
+ $combined = array();
+
+ foreach ($arr as $key => $value) {
+ $combined[] = array($key, $value);
+ }
+
+ usort($combined, array($this, '_sort_func'));
+
+ $replacement = array();
+ foreach ($combined as $key => $value) {
+ list($new_key, $new_value) = $value;
+ $replacement[$new_key] = $new_value;
+ }
+
+ $arr = $replacement;
+ }
+
+ /**
+ * Sort function used by bubble sort
+ *
+ * Callback function for usort().
+ *
+ * @param array $a first param passed by usort()
+ * @param array $b second param passed by usort()
+ *
+ * @return int 1 if $a is greater, -1 if not
+ * @see _bub_sort()
+ */
+ protected function _sort_func($a, $b)
+ {
+ // each is actually a key/value pair, so that it can compare using both
+ list($a_key, $a_value) = $a;
+ list($b_key, $b_value) = $b;
+
+ if ($a_value == $b_value) {
+ // if the values are the same, break ties using the key
+ return strcmp($a_key, $b_key);
+
+ } else {
+ // if not, just sort normally
+ if ($a_value > $b_value) {
+ return -1;
+ } else {
+ return 1;
+ }
+ }
+
+ // 0 should not be possible because keys must be unique
+ }
+
+ /**
+ * Calculates a linear rank-order distance statistic between two sets of
+ * ranked trigrams
+ *
+ * Sums the differences in rank for each trigram. If the trigram does not
+ * appear in both, consider it a difference of $this->_threshold.
+ *
+ * This distance measure was proposed by Cavnar & Trenkle (1994). Despite
+ * its simplicity it has been shown to be highly accurate for language
+ * identification tasks.
+ *
+ * @param array $arr1 the reference set of trigram ranks
+ * @param array $arr2 the target set of trigram ranks
+ *
+ * @return int the sum of the differences between the ranks of
+ * the two trigram sets
+ */
+ protected function _distance($arr1, $arr2)
+ {
+ $sumdist = 0;
+
+ foreach ($arr2 as $key => $value) {
+ if (isset($arr1[$key])) {
+ $distance = abs($value - $arr1[$key]);
+ } else {
+ // $this->_threshold sets the maximum possible distance value
+ // for any one pair of trigrams
+ $distance = $this->_threshold;
+ }
+ $sumdist += $distance;
+ }
+
+ return $sumdist;
+
+ // todo: there are other distance statistics to try, e.g. relative
+ // entropy, but they're probably more costly to compute
+ }
+
+ /**
+ * Normalizes the score returned by _distance()
+ *
+ * Different if perl compatible or not
+ *
+ * @param int $score the score from _distance()
+ * @param int $base_count the number of trigrams being considered
+ *
+ * @return float the normalized score
+ * @see _distance()
+ */
+ protected function _normalize_score($score, $base_count = null)
+ {
+ if ($base_count === null) {
+ $base_count = $this->_threshold;
+ }
+
+ if (!$this->_perl_compatible) {
+ return 1 - ($score / $base_count / $this->_threshold);
+ } else {
+ return floor($score / $base_count);
+ }
+ }
+
+
+ /**
+ * Detects the closeness of a sample of text to the known languages
+ *
+ * Calculates the statistical difference between the text and
+ * the trigrams for each language, normalizes the score then
+ * returns results for all languages in sorted order
+ *
+ * If perl compatible, the score is 300-0, 0 being most similar.
+ * Otherwise, it's 0-1 with 1 being most similar.
+ *
+ * The $sample text should be at least a few sentences in length;
+ * should be ascii-7 or utf8 encoded, if another and the mbstring extension
+ * is present it will try to detect and convert. However, experience has
+ * shown that mb_detect_encoding() *does not work very well* with at least
+ * some types of encoding.
+ *
+ * @param string $sample a sample of text to compare.
+ * @param int $limit if specified, return an array of the most likely
+ * $limit languages and their scores.
+ *
+ * @return mixed sorted array of language scores, blank array if no
+ * useable text was found
+ * @see _distance()
+ * @throws Text_LanguageDetect_Exception
+ */
+ public function detect($sample, $limit = 0)
+ {
+ // input check
+ if (!Text_LanguageDetect_Parser::validateString($sample)) {
+ return array();
+ }
+
+ // check char encoding
+ // (only if mbstring extension is compiled and PHP > 4.0.6)
+ if (function_exists('mb_detect_encoding')
+ && function_exists('mb_convert_encoding')
+ ) {
+ // mb_detect_encoding isn't very reliable, to say the least
+ // detection should still work with a sufficient sample
+ // of ascii characters
+ $encoding = mb_detect_encoding($sample);
+
+ // mb_detect_encoding() will return FALSE if detection fails
+ // don't attempt conversion if that's the case
+ if ($encoding != 'ASCII' && $encoding != 'UTF-8'
+ && $encoding !== false
+ ) {
+ // verify the encoding exists in mb_list_encodings
+ if (in_array($encoding, mb_list_encodings())) {
+ $sample = mb_convert_encoding($sample, 'UTF-8', $encoding);
+ }
+ }
+ }
+
+ $sample_obj = new Text_LanguageDetect_Parser($sample);
+ $sample_obj->prepareTrigram();
+ if ($this->_use_unicode_narrowing) {
+ $sample_obj->prepareUnicode();
+ }
+ $sample_obj->setPadStart(!$this->_perl_compatible);
+ $sample_obj->analyze();
+
+ $trigram_freqs = $sample_obj->getTrigramRanks();
+ $trigram_count = count($trigram_freqs);
+
+ if ($trigram_count == 0) {
+ return array();
+ }
+
+ $scores = array();
+
+ // use unicode block detection to narrow down the possibilities
+ if ($this->_use_unicode_narrowing) {
+ $blocks = $sample_obj->getUnicodeBlocks();
+
+ if (is_array($blocks)) {
+ $present_blocks = array_keys($blocks);
+ } else {
+ throw new Text_LanguageDetect_Exception(
+ 'Error during block detection',
+ Text_LanguageDetect_Exception::BLOCK_DETECTION
+ );
+ }
+
+ $possible_langs = array();
+
+ foreach ($present_blocks as $blockname) {
+ if (isset($this->_unicode_map[$blockname])) {
+
+ $possible_langs = array_merge(
+ $possible_langs,
+ array_keys($this->_unicode_map[$blockname])
+ );
+
+ // todo: faster way to do this?
+ }
+ }
+
+ // could also try an intersect operation rather than a union
+ // in other words, choose languages whose trigrams contain
+ // ALL of the unicode blocks found in this sample
+ // would improve speed but would be completely thrown off by an
+ // unexpected character, like an umlaut appearing in english text
+
+ $possible_langs = array_intersect(
+ array_keys($this->_lang_db),
+ array_unique($possible_langs)
+ );
+
+ // needs to intersect it with the keys of _lang_db in case
+ // languages have been omitted
+
+ } else {
+ // or just try 'em all
+ $possible_langs = array_keys($this->_lang_db);
+ }
+
+
+ foreach ($possible_langs as $lang) {
+ $scores[$lang] = $this->_normalize_score(
+ $this->_distance($this->_lang_db[$lang], $trigram_freqs),
+ $trigram_count
+ );
+ }
+
+ unset($sample_obj);
+
+ if ($this->_perl_compatible) {
+ asort($scores);
+ } else {
+ arsort($scores);
+ }
+
+ // todo: drop languages with a score of $this->_max_score?
+
+ // limit the number of returned scores
+ if ($limit && is_numeric($limit)) {
+ $limited_scores = array();
+
+ $i = 0;
+ foreach ($scores as $key => $value) {
+ if ($i++ >= $limit) {
+ break;
+ }
+
+ $limited_scores[$key] = $value;
+ }
+
+ return $this->_convertToNameMode($limited_scores, true);
+ } else {
+ return $this->_convertToNameMode($scores, true);
+ }
+ }
+
+ /**
+ * Returns only the most similar language to the text sample
+ *
+ * Calls $this->detect() and returns only the top result
+ *
+ * @param string $sample text to detect the language of
+ *
+ * @return string the name of the most likely language
+ * or null if no language is similar
+ * @see detect()
+ * @throws Text_LanguageDetect_Exception
+ */
+ public function detectSimple($sample)
+ {
+ $scores = $this->detect($sample, 1);
+
+ // if top language has the maximum possible score,
+ // then the top score will have been picked at random
+ if (!is_array($scores) || empty($scores)
+ || current($scores) == $this->_max_score
+ ) {
+ return null;
+ } else {
+ return key($scores);
+ }
+ }
+
+ /**
+ * Returns an array containing the most similar language and a confidence
+ * rating
+ *
+ * Confidence is a simple measure calculated from the similarity score
+ * minus the similarity score from the next most similar language
+ * divided by the highest possible score. Languages that have closely
+ * related cousins (e.g. Norwegian and Danish) should generally have lower
+ * confidence scores.
+ *
+ * The similarity score answers the question "How likely is the text the
+ * returned language regardless of the other languages considered?" The
+ * confidence score is one way of answering the question "how likely is the
+ * text the detected language relative to the rest of the language model
+ * set?"
+ *
+ * To see how similar languages are a priori, see languageSimilarity()
+ *
+ * @param string $sample text for which language will be detected
+ *
+ * @return array most similar language, score and confidence rating
+ * or null if no language is similar
+ * @see detect()
+ * @throws Text_LanguageDetect_Exception
+ */
+ public function detectConfidence($sample)
+ {
+ $scores = $this->detect($sample, 2);
+
+ // if most similar language has the max score, it
+ // will have been picked at random
+ if (!is_array($scores) || empty($scores)
+ || current($scores) == $this->_max_score
+ ) {
+ return null;
+ }
+
+ $arr['language'] = key($scores);
+ $arr['similarity'] = current($scores);
+ if (next($scores) !== false) { // if false then no next element
+ // the goal is to return a higher value if the distance between
+ // the similarity of the first score and the second score is high
+
+ if ($this->_perl_compatible) {
+ $arr['confidence'] = (current($scores) - $arr['similarity'])
+ / $this->_max_score;
+
+ } else {
+ $arr['confidence'] = $arr['similarity'] - current($scores);
+
+ }
+
+ } else {
+ $arr['confidence'] = null;
+ }
+
+ return $arr;
+ }
+
+ /**
+ * Returns the distribution of unicode blocks in a given utf8 string
+ *
+ * For the block name of a single char, use unicodeBlockName()
+ *
+ * @param string $str input string. Must be ascii or utf8
+ * @param bool $skip_symbols if true, skip ascii digits, symbols and
+ * non-printing characters. Includes spaces,
+ * newlines and common punctutation characters.
+ *
+ * @return array
+ * @throws Text_LanguageDetect_Exception
+ */
+ public function detectUnicodeBlocks($str, $skip_symbols)
+ {
+ $skip_symbols = (bool)$skip_symbols;
+ $str = (string)$str;
+
+ $sample_obj = new Text_LanguageDetect_Parser($str);
+ $sample_obj->prepareUnicode();
+ $sample_obj->prepareTrigram(false);
+ $sample_obj->setUnicodeSkipSymbols($skip_symbols);
+ $sample_obj->analyze();
+ $blocks = $sample_obj->getUnicodeBlocks();
+ unset($sample_obj);
+ return $blocks;
+ }
+
+ /**
+ * Returns the block name for a given unicode value
+ *
+ * If passed a string, will assume it is being passed a UTF8-formatted
+ * character and will automatically convert. Otherwise it will assume it
+ * is being passed a numeric unicode value.
+ *
+ * Make sure input is of the correct type!
+ *
+ * @param mixed $unicode unicode value or utf8 char
+ *
+ * @return mixed the block name string or false if not found
+ * @throws Text_LanguageDetect_Exception
+ */
+ public function unicodeBlockName($unicode)
+ {
+ if (is_string($unicode)) {
+ // assume it is being passed a utf8 char, so convert it
+ if (self::utf8strlen($unicode) > 1) {
+ throw new Text_LanguageDetect_Exception(
+ 'Pass a single char only to this method',
+ Text_LanguageDetect_Exception::PARAM_TYPE
+ );
+ }
+ $unicode = $this->_utf8char2unicode($unicode);
+
+ } elseif (!is_int($unicode)) {
+ throw new Text_LanguageDetect_Exception(
+ 'Input must be of type string or int.',
+ Text_LanguageDetect_Exception::PARAM_TYPE
+ );
+ }
+
+ $blocks = $this->_read_unicode_block_db();
+
+ $result = $this->_unicode_block_name($unicode, $blocks);
+
+ if ($result == -1) {
+ return false;
+ } else {
+ return $result[2];
+ }
+ }
+
+ /**
+ * Searches the unicode block database
+ *
+ * Returns the block name for a given unicode value. unicodeBlockName() is
+ * the public interface for this function, which does input checks which
+ * this function omits for speed.
+ *
+ * @param int $unicode the unicode value
+ * @param array $blocks the block database
+ * @param int $block_count the number of defined blocks in the database
+ *
+ * @return mixed Block name, -1 if it failed
+ * @see unicodeBlockName()
+ */
+ protected function _unicode_block_name($unicode, $blocks, $block_count = -1)
+ {
+ // for a reference, see
+ // http://www.unicode.org/Public/UNIDATA/Blocks.txt
+
+ // assume that ascii characters are the most common
+ // so try it first for efficiency
+ if ($unicode <= $blocks[0][1]) {
+ return $blocks[0];
+ }
+
+ // the optional $block_count param is for efficiency
+ // so we this function doesn't have to run count() every time
+ if ($block_count != -1) {
+ $high = $block_count - 1;
+ } else {
+ $high = count($blocks) - 1;
+ }
+
+ $low = 1; // start with 1 because ascii was 0
+
+ // your average binary search algorithm
+ while ($low <= $high) {
+ $mid = floor(($low + $high) / 2);
+
+ if ($unicode < $blocks[$mid][0]) {
+ // if it's lower than the lower bound
+ $high = $mid - 1;
+
+ } elseif ($unicode > $blocks[$mid][1]) {
+ // if it's higher than the upper bound
+ $low = $mid + 1;
+
+ } else {
+ // found it
+ return $blocks[$mid];
+ }
+ }
+
+ // failed to find the block
+ return -1;
+
+ // todo: differentiate when it's out of range or when it falls
+ // into an unassigned range?
+ }
+
+ /**
+ * Brings up the unicode block database
+ *
+ * @return array the database of unicode block definitions
+ * @throws Text_LanguageDetect_Exception
+ */
+ protected function _read_unicode_block_db()
+ {
+ // since the unicode definitions are always going to be the same,
+ // might as well share the memory for the db with all other instances
+ // of this class
+ static $data;
+
+ if (!isset($data)) {
+ $data = $this->_readdb($this->_unicode_db_filename);
+ }
+
+ return $data;
+ }
+
+ /**
+ * Calculate the similarities between the language models
+ *
+ * Use this function to see how similar languages are to each other.
+ *
+ * If passed 2 language names, will return just those languages compared.
+ * If passed 1 language name, will return that language compared to
+ * all others.
+ * If passed none, will return an array of every language model compared
+ * to every other one.
+ *
+ * @param string $lang1 the name of the first language to be compared
+ * @param string $lang2 the name of the second language to be compared
+ *
+ * @return array scores of every language compared
+ * or the score of just the provided languages
+ * or null if one of the supplied languages does not exist
+ * @throws Text_LanguageDetect_Exception
+ */
+ public function languageSimilarity($lang1 = null, $lang2 = null)
+ {
+ $lang1 = $this->_convertFromNameMode($lang1);
+ $lang2 = $this->_convertFromNameMode($lang2);
+ if ($lang1 != null) {
+ $lang1 = strtolower($lang1);
+
+ // check if language model exists
+ if (!isset($this->_lang_db[$lang1])) {
+ return null;
+ }
+
+ if ($lang2 != null) {
+ if (!isset($this->_lang_db[$lang2])) {
+ // check if language model exists
+ return null;
+ }
+
+ $lang2 = strtolower($lang2);
+
+ // compare just these two languages
+ return $this->_normalize_score(
+ $this->_distance(
+ $this->_lang_db[$lang1],
+ $this->_lang_db[$lang2]
+ )
+ );
+
+ } else {
+ // compare just $lang1 to all languages
+ $return_arr = array();
+ foreach ($this->_lang_db as $key => $value) {
+ if ($key != $lang1) {
+ // don't compare a language to itself
+ $return_arr[$key] = $this->_normalize_score(
+ $this->_distance($this->_lang_db[$lang1], $value)
+ );
+ }
+ }
+ asort($return_arr);
+
+ return $return_arr;
+ }
+
+
+ } else {
+ // compare all languages to each other
+ $return_arr = array();
+ foreach (array_keys($this->_lang_db) as $lang1) {
+ foreach (array_keys($this->_lang_db) as $lang2) {
+ // skip comparing languages to themselves
+ if ($lang1 != $lang2) {
+
+ if (isset($return_arr[$lang2][$lang1])) {
+ // don't re-calculate what's already been done
+ $return_arr[$lang1][$lang2]
+ = $return_arr[$lang2][$lang1];
+
+ } else {
+ // calculate
+ $return_arr[$lang1][$lang2]
+ = $this->_normalize_score(
+ $this->_distance(
+ $this->_lang_db[$lang1],
+ $this->_lang_db[$lang2]
+ )
+ );
+
+ }
+ }
+ }
+ }
+ return $return_arr;
+ }
+ }
+
+ /**
+ * Cluster known languages according to languageSimilarity()
+ *
+ * WARNING: this method is EXPERIMENTAL. It is not recommended for common
+ * use, and it may disappear or its functionality may change in future
+ * releases without notice.
+ *
+ * Uses a nearest neighbor technique to generate the maximum possible
+ * number of dendograms from the similarity data.
+ *
+ * @return array language cluster data
+ * @throws Text_LanguageDetect_Exception
+ * @see languageSimilarity()
+ * @deprecated this function will eventually be removed and placed into
+ * the model generation class
+ */
+ public function clusterLanguages()
+ {
+ // todo: set the maximum number of clusters
+ // return cached result, if any
+ if (isset($this->_clusters)) {
+ return $this->_clusters;
+ }
+
+ $langs = array_keys($this->_lang_db);
+
+ $arr = $this->languageSimilarity();
+
+ sort($langs);
+
+ foreach ($langs as $lang) {
+ if (!isset($this->_lang_db[$lang])) {
+ throw new Text_LanguageDetect_Exception(
+ "missing $lang!",
+ Text_LanguageDetect_Exception::UNKNOWN_LANGUAGE
+ );
+ }
+ }
+
+ // http://www.psychstat.missouristate.edu/multibook/mlt04m.html
+ foreach ($langs as $old_key => $lang1) {
+ $langs[$lang1] = $lang1;
+ unset($langs[$old_key]);
+ }
+
+ $result_data = $really_map = array();
+
+ $i = 0;
+ while (count($langs) > 2 && $i++ < 200) {
+ $highest_score = -1;
+ $highest_key1 = '';
+ $highest_key2 = '';
+ foreach ($langs as $lang1) {
+ foreach ($langs as $lang2) {
+ if ($lang1 != $lang2
+ && $arr[$lang1][$lang2] > $highest_score
+ ) {
+ $highest_score = $arr[$lang1][$lang2];
+ $highest_key1 = $lang1;
+ $highest_key2 = $lang2;
+ }
+ }
+ }
+
+ if (!$highest_key1) {
+ // should not ever happen
+ throw new Text_LanguageDetect_Exception(
+ "no highest key? (step: $i)",
+ Text_LanguageDetect_Exception::NO_HIGHEST_KEY
+ );
+ }
+
+ if ($highest_score == 0) {
+ // languages are perfectly dissimilar
+ break;
+ }
+
+ // $highest_key1 and $highest_key2 are most similar
+ $sum1 = array_sum($arr[$highest_key1]);
+ $sum2 = array_sum($arr[$highest_key2]);
+
+ // use the score for the one that is most similar to the rest of
+ // the field as the score for the group
+ // todo: could try averaging or "centroid" method instead
+ // seems like that might make more sense
+ // actually nearest neighbor may be better for binary searching
+
+
+ // for "Complete Linkage"/"furthest neighbor"
+ // sign should be <
+ // for "Single Linkage"/"nearest neighbor" method
+ // should should be >
+ // results seem to be pretty much the same with either method
+
+ // figure out which to delete and which to replace
+ if ($sum1 > $sum2) {
+ $replaceme = $highest_key1;
+ $deleteme = $highest_key2;
+ } else {
+ $replaceme = $highest_key2;
+ $deleteme = $highest_key1;
+ }
+
+ $newkey = $replaceme . ':' . $deleteme;
+
+ // $replaceme is most similar to remaining languages
+ // replace $replaceme with '$newkey', deleting $deleteme
+
+ // keep a record of which fork is really which language
+ $really_lang = $replaceme;
+ while (isset($really_map[$really_lang])) {
+ $really_lang = $really_map[$really_lang];
+ }
+ $really_map[$newkey] = $really_lang;
+
+
+ // replace the best fitting key, delete the other
+ foreach ($arr as $key1 => $arr2) {
+ foreach ($arr2 as $key2 => $value2) {
+ if ($key2 == $replaceme) {
+ $arr[$key1][$newkey] = $arr[$key1][$key2];
+ unset($arr[$key1][$key2]);
+ // replacing $arr[$key1][$key2] with $arr[$key1][$newkey]
+ }
+
+ if ($key1 == $replaceme) {
+ $arr[$newkey][$key2] = $arr[$key1][$key2];
+ unset($arr[$key1][$key2]);
+ // replacing $arr[$key1][$key2] with $arr[$newkey][$key2]
+ }
+
+ if ($key1 == $deleteme || $key2 == $deleteme) {
+ // deleting $arr[$key1][$key2]
+ unset($arr[$key1][$key2]);
+ }
+ }
+ }
+
+
+ unset($langs[$highest_key1]);
+ unset($langs[$highest_key2]);
+ $langs[$newkey] = $newkey;
+
+
+ // some of these may be overkill
+ $result_data[$newkey] = array(
+ 'newkey' => $newkey,
+ 'count' => $i,
+ 'diff' => abs($sum1 - $sum2),
+ 'score' => $highest_score,
+ 'bestfit' => $replaceme,
+ 'otherfit' => $deleteme,
+ 'really' => $really_lang,
+ );
+ }
+
+ $return_val = array(
+ 'open_forks' => $langs,
+ // the top level of clusters
+ // clusters that are mutually exclusive
+ // or specified by a specific maximum
+
+ 'fork_data' => $result_data,
+ // data for each split
+
+ 'name_map' => $really_map,
+ // which cluster is really which language
+ // using the nearest neighbor technique, the cluster
+ // inherits all of the properties of its most-similar member
+ // this keeps track
+ );
+
+
+ // saves the result in the object
+ $this->_clusters = $return_val;
+
+ return $return_val;
+ }
+
+
+ /**
+ * Perform an intelligent detection based on clusterLanguages()
+ *
+ * WARNING: this method is EXPERIMENTAL. It is not recommended for common
+ * use, and it may disappear or its functionality may change in future
+ * releases without notice.
+ *
+ * This compares the sample text to top the top level of clusters. If the
+ * sample is similar to the cluster it will drop down and compare it to the
+ * languages in the cluster, and so on until it hits a leaf node.
+ *
+ * this should find the language in considerably fewer compares
+ * (the equivalent of a binary search), however clusterLanguages() is costly
+ * and the loss of accuracy from this technique is significant.
+ *
+ * This method may need to be 'fuzzier' in order to become more accurate.
+ *
+ * This function could be more useful if the universe of possible languages
+ * was very large, however in such cases some method of Bayesian inference
+ * might be more helpful.
+ *
+ * @param string $str input string
+ *
+ * @return array language scores (only those compared)
+ * @throws Text_LanguageDetect_Exception
+ * @see clusterLanguages()
+ */
+ public function clusteredSearch($str)
+ {
+ // input check
+ if (!Text_LanguageDetect_Parser::validateString($str)) {
+ return array();
+ }
+
+ // clusterLanguages() will return a cached result if possible
+ // so it's safe to call it every time
+ $result = $this->clusterLanguages();
+
+ $dendogram_start = $result['open_forks'];
+ $dendogram_data = $result['fork_data'];
+ $dendogram_alias = $result['name_map'];
+
+ $sample_obj = new Text_LanguageDetect_Parser($str);
+ $sample_obj->prepareTrigram();
+ $sample_obj->setPadStart(!$this->_perl_compatible);
+ $sample_obj->analyze();
+ $sample_result = $sample_obj->getTrigramRanks();
+ $sample_count = count($sample_result);
+
+ // input check
+ if ($sample_count == 0) {
+ return array();
+ }
+
+ $i = 0; // counts the number of steps
+
+ foreach ($dendogram_start as $lang) {
+ if (isset($dendogram_alias[$lang])) {
+ $lang_key = $dendogram_alias[$lang];
+ } else {
+ $lang_key = $lang;
+ }
+
+ $scores[$lang] = $this->_normalize_score(
+ $this->_distance($this->_lang_db[$lang_key], $sample_result),
+ $sample_count
+ );
+
+ $i++;
+ }
+
+ if ($this->_perl_compatible) {
+ asort($scores);
+ } else {
+ arsort($scores);
+ }
+
+ $top_score = current($scores);
+ $top_key = key($scores);
+
+ // of starting forks, $top_key is the most similar to the sample
+
+ $cur_key = $top_key;
+ while (isset($dendogram_data[$cur_key])) {
+ $lang1 = $dendogram_data[$cur_key]['bestfit'];
+ $lang2 = $dendogram_data[$cur_key]['otherfit'];
+ foreach (array($lang1, $lang2) as $lang) {
+ if (isset($dendogram_alias[$lang])) {
+ $lang_key = $dendogram_alias[$lang];
+ } else {
+ $lang_key = $lang;
+ }
+
+ $scores[$lang] = $this->_normalize_score(
+ $this->_distance($this->_lang_db[$lang_key], $sample_result),
+ $sample_count
+ );
+
+ //todo: does not need to do same comparison again
+ }
+
+ $i++;
+
+ if ($scores[$lang1] > $scores[$lang2]) {
+ $cur_key = $lang1;
+ $loser_key = $lang2;
+ } else {
+ $cur_key = $lang2;
+ $loser_key = $lang1;
+ }
+
+ $diff = $scores[$cur_key] - $scores[$loser_key];
+
+ // $cur_key ({$dendogram_alias[$cur_key]}) wins
+ // over $loser_key ({$dendogram_alias[$loser_key]})
+ // with a difference of $diff
+ }
+
+ // found result in $i compares
+
+ // rather than sorting the result, preserve it so that you can see
+ // which paths the algorithm decided to take along the tree
+
+ // but sometimes the last item is only the second highest
+ if (($this->_perl_compatible && (end($scores) > prev($scores)))
+ || (!$this->_perl_compatible && (end($scores) < prev($scores)))
+ ) {
+ $real_last_score = current($scores);
+ $real_last_key = key($scores);
+
+ // swaps the 2nd-to-last item for the last item
+ unset($scores[$real_last_key]);
+ $scores[$real_last_key] = $real_last_score;
+ }
+
+
+ if (!$this->_perl_compatible) {
+ $scores = array_reverse($scores, true);
+ // second param requires php > 4.0.3
+ }
+
+ return $scores;
+ }
+
+ /**
+ * UTF8-safe strlen()
+ *
+ * Returns the numbers of characters (not bytes) in a utf8 string
+ *
+ * @param string $str string to get the length of
+ *
+ * @return int number of chars
+ */
+ public static function utf8strlen($str)
+ {
+ // utf8_decode() will convert unknown chars to '?', which is actually
+ // ideal for counting.
+
+ return strlen(utf8_decode($str));
+
+ // idea stolen from dokuwiki
+ }
+
+ /**
+ * Returns the unicode value of a utf8 char
+ *
+ * @param string $char a utf8 (possibly multi-byte) char
+ *
+ * @return int unicode value
+ * @link http://en.wikipedia.org/wiki/UTF-8
+ */
+ protected function _utf8char2unicode($char)
+ {
+ // strlen() here will actually get the binary length of a single char
+ switch (strlen($char)) {
+ case 1:
+ // normal ASCII-7 byte
+ // 0xxxxxxx --> 0xxxxxxx
+ return ord($char{0});
+
+ case 2:
+ // 2 byte unicode
+ // 110zzzzx 10xxxxxx --> 00000zzz zxxxxxxx
+ $z = (ord($char{0}) & 0x000001F) << 6;
+ $x = (ord($char{1}) & 0x0000003F);
+ return ($z | $x);
+
+ case 3:
+ // 3 byte unicode
+ // 1110zzzz 10zxxxxx 10xxxxxx --> zzzzzxxx xxxxxxxx
+ $z = (ord($char{0}) & 0x0000000F) << 12;
+ $x1 = (ord($char{1}) & 0x0000003F) << 6;
+ $x2 = (ord($char{2}) & 0x0000003F);
+ return ($z | $x1 | $x2);
+
+ case 4:
+ // 4 byte unicode
+ // 11110zzz 10zzxxxx 10xxxxxx 10xxxxxx -->
+ // 000zzzzz xxxxxxxx xxxxxxxx
+ $z1 = (ord($char{0}) & 0x00000007) << 18;
+ $z2 = (ord($char{1}) & 0x0000003F) << 12;
+ $x1 = (ord($char{2}) & 0x0000003F) << 6;
+ $x2 = (ord($char{3}) & 0x0000003F);
+ return ($z1 | $z2 | $x1 | $x2);
+ }
+ }
+
+ /**
+ * UTF8-safe fast character iterator
+ *
+ * Will get the next character starting from $counter, which will then be
+ * incremented. If a multi-byte char the bytes will be concatenated and
+ * $counter will be incremeted by the number of bytes in the char.
+ *
+ * @param string $str the string being iterated over
+ * @param int $counter the iterator, will increment by reference
+ * @param bool $special_convert whether to do special conversions
+ *
+ * @return char the next (possibly multi-byte) char from $counter
+ */
+ protected static function _next_char($str, &$counter, $special_convert = false)
+ {
+ $char = $str{$counter++};
+ $ord = ord($char);
+
+ // for a description of the utf8 system see
+ // http://www.phpclasses.org/browse/file/5131.html
+
+ // normal ascii one byte char
+ if ($ord <= 127) {
+ // special conversions needed for this package
+ // (that only apply to regular ascii characters)
+ // lower case, and convert all non-alphanumeric characters
+ // other than "'" to space
+ if ($special_convert && $char != ' ' && $char != "'") {
+ if ($ord >= 65 && $ord <= 90) { // A-Z
+ $char = chr($ord + 32); // lower case
+ } elseif ($ord < 97 || $ord > 122) { // NOT a-z
+ $char = ' '; // convert to space
+ }
+ }
+
+ return $char;
+
+ } elseif ($ord >> 5 == 6) { // two-byte char
+ // multi-byte chars
+ $nextchar = $str{$counter++}; // get next byte
+
+ // lower-casing of non-ascii characters is still incomplete
+
+ if ($special_convert) {
+ // lower case latin accented characters
+ if ($ord == 195) {
+ $nextord = ord($nextchar);
+ $nextord_adj = $nextord + 64;
+ // for a reference, see
+ // http://www.ramsch.org/martin/uni/fmi-hp/iso8859-1.html
+
+ // &Agrave; - &THORN; but not &times;
+ if ($nextord_adj >= 192
+ && $nextord_adj <= 222
+ && $nextord_adj != 215
+ ) {
+ $nextchar = chr($nextord + 32);
+ }
+
+ } elseif ($ord == 208) {
+ // lower case cyrillic alphabet
+ $nextord = ord($nextchar);
+ // if A - Pe
+ if ($nextord >= 144 && $nextord <= 159) {
+ // lower case
+ $nextchar = chr($nextord + 32);
+
+ } elseif ($nextord >= 160 && $nextord <= 175) {
+ // if Er - Ya
+ // lower case
+ $char = chr(209); // == $ord++
+ $nextchar = chr($nextord - 32);
+ }
+ }
+ }
+
+ // tag on next byte
+ return $char . $nextchar;
+ } elseif ($ord >> 4 == 14) { // three-byte char
+
+ // tag on next 2 bytes
+ return $char . $str{$counter++} . $str{$counter++};
+
+ } elseif ($ord >> 3 == 30) { // four-byte char
+
+ // tag on next 3 bytes
+ return $char . $str{$counter++} . $str{$counter++} . $str{$counter++};
+
+ } else {
+ // error?
+ }
+ }
+
+ /**
+ * Converts an $language input parameter from the configured mode
+ * to the language name that is used internally.
+ *
+ * Works for strings and arrays.
+ *
+ * @param string|array $lang A language description ("english"/"en"/"eng")
+ * @param boolean $convertKey If $lang is an array, setting $key
+ * converts the keys to the language name.
+ *
+ * @return string|array Language name
+ */
+ protected function _convertFromNameMode($lang, $convertKey = false)
+ {
+ if ($this->_name_mode == 0) {
+ return $lang;
+ }
+
+ if ($this->_name_mode == 2) {
+ $method = 'code2ToName';
+ } else {
+ $method = 'code3ToName';
+ }
+
+ if (is_string($lang)) {
+ return (string)Text_LanguageDetect_ISO639::$method($lang);
+ }
+
+ $newlang = array();
+ foreach ($lang as $key => $val) {
+ if ($convertKey) {
+ $newkey = (string)Text_LanguageDetect_ISO639::$method($key);
+ $newlang[$newkey] = $val;
+ } else {
+ $newlang[$key] = (string)Text_LanguageDetect_ISO639::$method($val);
+ }
+ }
+ return $newlang;
+ }
+
+ /**
+ * Converts an $language output parameter from the language name that is
+ * used internally to the configured mode.
+ *
+ * Works for strings and arrays.
+ *
+ * @param string|array $lang A language description ("english"/"en"/"eng")
+ * @param boolean $convertKey If $lang is an array, setting $key
+ * converts the keys to the language name.
+ *
+ * @return string|array Language name
+ */
+ protected function _convertToNameMode($lang, $convertKey = false)
+ {
+ if ($this->_name_mode == 0) {
+ return $lang;
+ }
+
+ if ($this->_name_mode == 2) {
+ $method = 'nameToCode2';
+ } else {
+ $method = 'nameToCode3';
+ }
+
+ if (is_string($lang)) {
+ return Text_LanguageDetect_ISO639::$method($lang);
+ }
+
+ $newlang = array();
+ foreach ($lang as $key => $val) {
+ if ($convertKey) {
+ $newkey = Text_LanguageDetect_ISO639::$method($key);
+ $newlang[$newkey] = $val;
+ } else {
+ $newlang[$key] = Text_LanguageDetect_ISO639::$method($val);
+ }
+ }
+ return $newlang;
+ }
+}
+
+/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
+
+?>
diff --git a/vendor/pear/text_languagedetect/Text/LanguageDetect/Exception.php b/vendor/pear/text_languagedetect/Text/LanguageDetect/Exception.php
new file mode 100644
index 000000000..cdbfe13ba
--- /dev/null
+++ b/vendor/pear/text_languagedetect/Text/LanguageDetect/Exception.php
@@ -0,0 +1,81 @@
+<?php
+/**
+ * Part of Text_LanguageDetect
+ *
+ * PHP version 5
+ *
+ * @category Text
+ * @package Text_LanguageDetect
+ * @author Nicholas Pisarro <infinityminusnine+pear@gmail.com>
+ * @license BSD http://www.opensource.org/licenses/bsd-license.php
+ * @link http://pear.php.net/package/Text_LanguageDetect/
+ */
+
+/**
+ * Part of the PEAR language detection package
+ *
+ * PHP version 5
+ *
+ * @category Text
+ * @package Text_LanguageDetect
+ * @author Nicholas Pisarro <infinityminusnine+pear@gmail.com>
+ * @license BSD http://www.opensource.org/licenses/bsd-license.php
+ * @link http://pear.php.net/package/Text_LanguageDetect/
+ * @link http://langdetect.blogspot.com/
+ */
+class Text_LanguageDetect_Exception extends Exception
+{
+ /**
+ * Database file could not be found
+ */
+ const DB_NOT_FOUND = 10;
+
+ /**
+ * Database file found, but not readable
+ */
+ const DB_NOT_READABLE = 11;
+
+ /**
+ * Database file is empty
+ */
+ const DB_EMPTY = 12;
+
+ /**
+ * Database contents is not a PHP array
+ */
+ const DB_NOT_ARRAY = 13;
+
+ /**
+ * Magic quotes are activated
+ */
+ const MAGIC_QUOTES = 14;
+
+
+ /**
+ * Parameter of invalid type passed to method
+ */
+ const PARAM_TYPE = 20;
+
+ /**
+ * Character in parameter is invalid
+ */
+ const INVALID_CHAR = 21;
+
+
+ /**
+ * Language is not in the database
+ */
+ const UNKNOWN_LANGUAGE = 30;
+
+
+ /**
+ * Error during block detection
+ */
+ const BLOCK_DETECTION = 40;
+
+
+ /**
+ * Error while clustering languages
+ */
+ const NO_HIGHEST_KEY = 50;
+}
diff --git a/vendor/pear/text_languagedetect/Text/LanguageDetect/ISO639.php b/vendor/pear/text_languagedetect/Text/LanguageDetect/ISO639.php
new file mode 100644
index 000000000..9fd76c920
--- /dev/null
+++ b/vendor/pear/text_languagedetect/Text/LanguageDetect/ISO639.php
@@ -0,0 +1,340 @@
+<?php
+/**
+ * Part of Text_LanguageDetect
+ *
+ * PHP version 5
+ *
+ * @category Text
+ * @package Text_LanguageDetect
+ * @author Christian Weiske <cweiske@php.net>
+ * @copyright 2011 Christian Weiske <cweiske@php.net>
+ * @license http://www.debian.org/misc/bsd.license BSD
+ * @link http://pear.php.net/package/Text_LanguageDetect/
+ */
+
+/**
+ * Provides a mapping between the languages from lang.dat and the
+ * ISO 639-1 and ISO-639-2 codes.
+ *
+ * Note that this class contains only languages that exist in lang.dat.
+ *
+ * @category Text
+ * @package Text_LanguageDetect
+ * @author Christian Weiske <cweiske@php.net>
+ * @copyright 2011 Christian Weiske <cweiske@php.net>
+ * @license BSD http://www.opensource.org/licenses/bsd-license.php
+ * @link http://www.loc.gov/standards/iso639-2/php/code_list.php
+ */
+class Text_LanguageDetect_ISO639
+{
+ /**
+ * Maps all language names from the language database to the
+ * ISO 639-1 2-letter language code.
+ *
+ * NULL indicates that there is no 2-letter code.
+ *
+ * @var array
+ */
+ public static $nameToCode2 = array(
+ 'albanian' => 'sq',
+ 'arabic' => 'ar',
+ 'azeri' => 'az',
+ 'bengali' => 'bn',
+ 'bulgarian' => 'bg',
+ 'cebuano' => null,
+ 'croatian' => 'hr',
+ 'czech' => 'cs',
+ 'danish' => 'da',
+ 'dutch' => 'nl',
+ 'english' => 'en',
+ 'estonian' => 'et',
+ 'farsi' => 'fa',
+ 'finnish' => 'fi',
+ 'french' => 'fr',
+ 'german' => 'de',
+ 'hausa' => 'ha',
+ 'hawaiian' => null,
+ 'hindi' => 'hi',
+ 'hungarian' => 'hu',
+ 'icelandic' => 'is',
+ 'indonesian' => 'id',
+ 'italian' => 'it',
+ 'kazakh' => 'kk',
+ 'kyrgyz' => 'ky',
+ 'latin' => 'la',
+ 'latvian' => 'lv',
+ 'lithuanian' => 'lt',
+ 'macedonian' => 'mk',
+ 'mongolian' => 'mn',
+ 'nepali' => 'ne',
+ 'norwegian' => 'no',
+ 'pashto' => 'ps',
+ 'pidgin' => null,
+ 'polish' => 'pl',
+ 'portuguese' => 'pt',
+ 'romanian' => 'ro',
+ 'russian' => 'ru',
+ 'serbian' => 'sr',
+ 'slovak' => 'sk',
+ 'slovene' => 'sl',
+ 'somali' => 'so',
+ 'spanish' => 'es',
+ 'swahili' => 'sw',
+ 'swedish' => 'sv',
+ 'tagalog' => 'tl',
+ 'turkish' => 'tr',
+ 'ukrainian' => 'uk',
+ 'urdu' => 'ur',
+ 'uzbek' => 'uz',
+ 'vietnamese' => 'vi',
+ 'welsh' => 'cy',
+ );
+
+ /**
+ * Maps all language names from the language database to the
+ * ISO 639-2 3-letter language code.
+ *
+ * @var array
+ */
+ public static $nameToCode3 = array(
+ 'albanian' => 'sqi',
+ 'arabic' => 'ara',
+ 'azeri' => 'aze',
+ 'bengali' => 'ben',
+ 'bulgarian' => 'bul',
+ 'cebuano' => 'ceb',
+ 'croatian' => 'hrv',
+ 'czech' => 'ces',
+ 'danish' => 'dan',
+ 'dutch' => 'nld',
+ 'english' => 'eng',
+ 'estonian' => 'est',
+ 'farsi' => 'fas',
+ 'finnish' => 'fin',
+ 'french' => 'fra',
+ 'german' => 'deu',
+ 'hausa' => 'hau',
+ 'hawaiian' => 'haw',
+ 'hindi' => 'hin',
+ 'hungarian' => 'hun',
+ 'icelandic' => 'isl',
+ 'indonesian' => 'ind',
+ 'italian' => 'ita',
+ 'kazakh' => 'kaz',
+ 'kyrgyz' => 'kir',
+ 'latin' => 'lat',
+ 'latvian' => 'lav',
+ 'lithuanian' => 'lit',
+ 'macedonian' => 'mkd',
+ 'mongolian' => 'mon',
+ 'nepali' => 'nep',
+ 'norwegian' => 'nor',
+ 'pashto' => 'pus',
+ 'pidgin' => 'crp',
+ 'polish' => 'pol',
+ 'portuguese' => 'por',
+ 'romanian' => 'ron',
+ 'russian' => 'rus',
+ 'serbian' => 'srp',
+ 'slovak' => 'slk',
+ 'slovene' => 'slv',
+ 'somali' => 'som',
+ 'spanish' => 'spa',
+ 'swahili' => 'swa',
+ 'swedish' => 'swe',
+ 'tagalog' => 'tgl',
+ 'turkish' => 'tur',
+ 'ukrainian' => 'ukr',
+ 'urdu' => 'urd',
+ 'uzbek' => 'uzb',
+ 'vietnamese' => 'vie',
+ 'welsh' => 'cym',
+ );
+
+ /**
+ * Maps ISO 639-1 2-letter language codes to the language names
+ * in the language database
+ *
+ * Not all languages have a 2 letter code, so some are missing
+ *
+ * @var array
+ */
+ public static $code2ToName = array(
+ 'ar' => 'arabic',
+ 'az' => 'azeri',
+ 'bg' => 'bulgarian',
+ 'bn' => 'bengali',
+ 'cs' => 'czech',
+ 'cy' => 'welsh',
+ 'da' => 'danish',
+ 'de' => 'german',
+ 'en' => 'english',
+ 'es' => 'spanish',
+ 'et' => 'estonian',
+ 'fa' => 'farsi',
+ 'fi' => 'finnish',
+ 'fr' => 'french',
+ 'ha' => 'hausa',
+ 'hi' => 'hindi',
+ 'hr' => 'croatian',
+ 'hu' => 'hungarian',
+ 'id' => 'indonesian',
+ 'is' => 'icelandic',
+ 'it' => 'italian',
+ 'kk' => 'kazakh',
+ 'ky' => 'kyrgyz',
+ 'la' => 'latin',
+ 'lt' => 'lithuanian',
+ 'lv' => 'latvian',
+ 'mk' => 'macedonian',
+ 'mn' => 'mongolian',
+ 'ne' => 'nepali',
+ 'nl' => 'dutch',
+ 'no' => 'norwegian',
+ 'pl' => 'polish',
+ 'ps' => 'pashto',
+ 'pt' => 'portuguese',
+ 'ro' => 'romanian',
+ 'ru' => 'russian',
+ 'sk' => 'slovak',
+ 'sl' => 'slovene',
+ 'so' => 'somali',
+ 'sq' => 'albanian',
+ 'sr' => 'serbian',
+ 'sv' => 'swedish',
+ 'sw' => 'swahili',
+ 'tl' => 'tagalog',
+ 'tr' => 'turkish',
+ 'uk' => 'ukrainian',
+ 'ur' => 'urdu',
+ 'uz' => 'uzbek',
+ 'vi' => 'vietnamese',
+ );
+
+ /**
+ * Maps ISO 639-2 3-letter language codes to the language names
+ * in the language database.
+ *
+ * @var array
+ */
+ public static $code3ToName = array(
+ 'ara' => 'arabic',
+ 'aze' => 'azeri',
+ 'ben' => 'bengali',
+ 'bul' => 'bulgarian',
+ 'ceb' => 'cebuano',
+ 'ces' => 'czech',
+ 'crp' => 'pidgin',
+ 'cym' => 'welsh',
+ 'dan' => 'danish',
+ 'deu' => 'german',
+ 'eng' => 'english',
+ 'est' => 'estonian',
+ 'fas' => 'farsi',
+ 'fin' => 'finnish',
+ 'fra' => 'french',
+ 'hau' => 'hausa',
+ 'haw' => 'hawaiian',
+ 'hin' => 'hindi',
+ 'hrv' => 'croatian',
+ 'hun' => 'hungarian',
+ 'ind' => 'indonesian',
+ 'isl' => 'icelandic',
+ 'ita' => 'italian',
+ 'kaz' => 'kazakh',
+ 'kir' => 'kyrgyz',
+ 'lat' => 'latin',
+ 'lav' => 'latvian',
+ 'lit' => 'lithuanian',
+ 'mkd' => 'macedonian',
+ 'mon' => 'mongolian',
+ 'nep' => 'nepali',
+ 'nld' => 'dutch',
+ 'nor' => 'norwegian',
+ 'pol' => 'polish',
+ 'por' => 'portuguese',
+ 'pus' => 'pashto',
+ 'rom' => 'romanian',
+ 'rus' => 'russian',
+ 'slk' => 'slovak',
+ 'slv' => 'slovene',
+ 'som' => 'somali',
+ 'spa' => 'spanish',
+ 'sqi' => 'albanian',
+ 'srp' => 'serbian',
+ 'swa' => 'swahili',
+ 'swe' => 'swedish',
+ 'tgl' => 'tagalog',
+ 'tur' => 'turkish',
+ 'ukr' => 'ukrainian',
+ 'urd' => 'urdu',
+ 'uzb' => 'uzbek',
+ 'vie' => 'vietnamese',
+ );
+
+ /**
+ * Returns the 2-letter ISO 639-1 code for the given language name.
+ *
+ * @param string $lang English language name like "swedish"
+ *
+ * @return string Two-letter language code (e.g. "sv") or NULL if not found
+ */
+ public static function nameToCode2($lang)
+ {
+ $lang = strtolower($lang);
+ if (!isset(self::$nameToCode2[$lang])) {
+ return null;
+ }
+ return self::$nameToCode2[$lang];
+ }
+
+ /**
+ * Returns the 3-letter ISO 639-2 code for the given language name.
+ *
+ * @param string $lang English language name like "swedish"
+ *
+ * @return string Three-letter language code (e.g. "swe") or NULL if not found
+ */
+ public static function nameToCode3($lang)
+ {
+ $lang = strtolower($lang);
+ if (!isset(self::$nameToCode3[$lang])) {
+ return null;
+ }
+ return self::$nameToCode3[$lang];
+ }
+
+ /**
+ * Returns the language name for the given 2-letter ISO 639-1 code.
+ *
+ * @param string $code Two-letter language code (e.g. "sv")
+ *
+ * @return string English language name like "swedish"
+ */
+ public static function code2ToName($code)
+ {
+ $lang = strtolower($code);
+ if (!isset(self::$code2ToName[$code])) {
+ return null;
+ }
+ return self::$code2ToName[$code];
+ }
+
+ /**
+ * Returns the language name for the given 3-letter ISO 639-2 code.
+ *
+ * @param string $code Three-letter language code (e.g. "swe")
+ *
+ * @return string English language name like "swedish"
+ */
+ public static function code3ToName($code)
+ {
+ $lang = strtolower($code);
+ if (!isset(self::$code3ToName[$code])) {
+ return null;
+ }
+ return self::$code3ToName[$code];
+ }
+}
+
+?> \ No newline at end of file
diff --git a/vendor/pear/text_languagedetect/Text/LanguageDetect/Parser.php b/vendor/pear/text_languagedetect/Text/LanguageDetect/Parser.php
new file mode 100644
index 000000000..3ec177640
--- /dev/null
+++ b/vendor/pear/text_languagedetect/Text/LanguageDetect/Parser.php
@@ -0,0 +1,358 @@
+<?php
+/**
+ * Part of Text_LanguageDetect
+ *
+ * PHP version 5
+ *
+ * @category Text
+ * @package Text_LanguageDetect
+ * @author Nicholas Pisarro <infinityminusnine+pear@gmail.com>
+ * @copyright 2006 Nicholas Pisarro
+ * @license BSD http://www.opensource.org/licenses/bsd-license.php
+ * @link http://pear.php.net/package/Text_LanguageDetect/
+ */
+
+/**
+ * This class represents a text sample to be parsed.
+ *
+ * This separates the analysis of a text sample from the primary LanguageDetect
+ * class. After a new profile has been built, the data can be retrieved using
+ * the accessor functions.
+ *
+ * This class is intended to be used by the Text_LanguageDetect class, not
+ * end-users.
+ *
+ * @category Text
+ * @package Text_LanguageDetect
+ * @author Nicholas Pisarro <infinityminusnine+pear@gmail.com>
+ * @copyright 2006 Nicholas Pisarro
+ * @license BSD http://www.opensource.org/licenses/bsd-license.php
+ * @version Release: @package_version@
+ * @link http://pear.php.net/package/Text_LanguageDetect/
+ */
+class Text_LanguageDetect_Parser extends Text_LanguageDetect
+{
+ /**
+ * The piece of text being parsed
+ *
+ * @var string
+ */
+ protected $_string;
+
+ /**
+ * Stores the trigram frequencies of the sample
+ *
+ * @var string
+ */
+ protected $_trigrams = array();
+
+ /**
+ * Stores the trigram ranks of the sample
+ *
+ * @var array
+ */
+ protected $_trigram_ranks = array();
+
+ /**
+ * Stores the unicode blocks of the sample
+ *
+ * @var array
+ */
+ protected $_unicode_blocks = array();
+
+ /**
+ * Whether the parser should compile the unicode ranges
+ *
+ * @var bool
+ */
+ protected $_compile_unicode = false;
+
+ /**
+ * Whether the parser should compile trigrams
+ *
+ * @var bool
+ */
+ protected $_compile_trigram = false;
+
+ /**
+ * Whether the trigram parser should pad the beginning of the string
+ *
+ * @var bool
+ */
+ protected $_trigram_pad_start = false;
+
+ /**
+ * Whether the unicode parser should skip non-alphabetical ascii chars
+ *
+ * @var bool
+ */
+ protected $_unicode_skip_symbols = true;
+
+ /**
+ * Constructor
+ *
+ * @param string $string string to be parsed
+ */
+ public function __construct($string)
+ {
+ $this->_string = $string;
+ }
+
+ /**
+ * PHP 4 constructor for backwards compatibility.
+ *
+ * @param string $string string to be parsed
+ *
+ * @return void
+ */
+ public function Text_LanguageDetect_Parser($string)
+ {
+ self::__construct($string);
+ }
+
+ /**
+ * Returns true if a string is suitable for parsing
+ *
+ * @param string $str input string to test
+ *
+ * @return bool true if acceptable, false if not
+ */
+ public static function validateString($str)
+ {
+ if (!empty($str) && strlen($str) > 3 && preg_match('/\S/', $str)) {
+ return true;
+ } else {
+ return false;
+ }
+ }
+
+ /**
+ * Turn on/off trigram counting
+ *
+ * @param bool $bool true for on, false for off
+ *
+ * @return void
+ */
+ public function prepareTrigram($bool = true)
+ {
+ $this->_compile_trigram = $bool;
+ }
+
+ /**
+ * Turn on/off unicode block counting
+ *
+ * @param bool $bool true for on, false for off
+ *
+ * @return void
+ */
+ public function prepareUnicode($bool = true)
+ {
+ $this->_compile_unicode = $bool;
+ }
+
+ /**
+ * Turn on/off padding the beginning of the sample string
+ *
+ * @param bool $bool true for on, false for off
+ *
+ * @return void
+ */
+ public function setPadStart($bool = true)
+ {
+ $this->_trigram_pad_start = $bool;
+ }
+
+ /**
+ * Should the unicode block counter skip non-alphabetical ascii chars?
+ *
+ * @param bool $bool true for on, false for off
+ *
+ * @return void
+ */
+ public function setUnicodeSkipSymbols($bool = true)
+ {
+ $this->_unicode_skip_symbols = $bool;
+ }
+
+ /**
+ * Returns the trigram ranks for the text sample
+ *
+ * @return array Trigram ranks in the text sample
+ */
+ public function getTrigramRanks()
+ {
+ return $this->_trigram_ranks;
+ }
+
+ /**
+ * Return the trigram freqency table
+ *
+ * Only used in testing to make sure the parser is working
+ *
+ * @return array Trigram freqencies in the text sample
+ */
+ public function getTrigramFreqs()
+ {
+ return $this->_trigram;
+ }
+
+ /**
+ * Returns the array of unicode blocks
+ *
+ * @return array Unicode blocks in the text sample
+ */
+ public function getUnicodeBlocks()
+ {
+ return $this->_unicode_blocks;
+ }
+
+ /**
+ * Executes the parsing operation
+ *
+ * Be sure to call the set*() functions to set options and the
+ * prepare*() functions first to tell it what kind of data to compute
+ *
+ * Afterwards the get*() functions can be used to access the compiled
+ * information.
+ *
+ * @return void
+ */
+ public function analyze()
+ {
+ $len = strlen($this->_string);
+ $byte_counter = 0;
+
+
+ // unicode startup
+ if ($this->_compile_unicode) {
+ $blocks = $this->_read_unicode_block_db();
+ $block_count = count($blocks);
+
+ $skipped_count = 0;
+ $unicode_chars = array();
+ }
+
+ // trigram startup
+ if ($this->_compile_trigram) {
+ // initialize them as blank so the parser will skip the first two
+ // (since it skips trigrams with more than 2 contiguous spaces)
+ $a = ' ';
+ $b = ' ';
+
+ // kludge
+ // if it finds a valid trigram to start and the start pad option is
+ // off, then set a variable that will be used to reduce this
+ // trigram after parsing has finished
+ if (!$this->_trigram_pad_start) {
+ $a = $this->_next_char($this->_string, $byte_counter, true);
+
+ if ($a != ' ') {
+ $b = $this->_next_char($this->_string, $byte_counter, true);
+ $dropone = " $a$b";
+ }
+
+ $byte_counter = 0;
+ $a = ' ';
+ $b = ' ';
+ }
+ }
+
+ while ($byte_counter < $len) {
+ $char = $this->_next_char($this->_string, $byte_counter, true);
+
+
+ // language trigram detection
+ if ($this->_compile_trigram) {
+ if (!($b == ' ' && ($a == ' ' || $char == ' '))) {
+ if (!isset($this->_trigram[$a . $b . $char])) {
+ $this->_trigram[$a . $b . $char] = 1;
+ } else {
+ $this->_trigram[$a . $b . $char]++;
+ }
+ }
+
+ $a = $b;
+ $b = $char;
+ }
+
+ // unicode block detection
+ if ($this->_compile_unicode) {
+ if ($this->_unicode_skip_symbols
+ && strlen($char) == 1
+ && ($char < 'A' || $char > 'z'
+ || ($char > 'Z' && $char < 'a'))
+ && $char != "'"
+ ) { // does not skip the apostrophe
+ // since it's included in the language
+ // models
+
+ $skipped_count++;
+ continue;
+ }
+
+ // build an array of all the characters
+ if (isset($unicode_chars[$char])) {
+ $unicode_chars[$char]++;
+ } else {
+ $unicode_chars[$char] = 1;
+ }
+ }
+
+ // todo: add byte detection here
+ }
+
+ // unicode cleanup
+ if ($this->_compile_unicode) {
+ foreach ($unicode_chars as $utf8_char => $count) {
+ $search_result = $this->_unicode_block_name(
+ $this->_utf8char2unicode($utf8_char), $blocks, $block_count
+ );
+
+ if ($search_result != -1) {
+ $block_name = $search_result[2];
+ } else {
+ $block_name = '[Malformatted]';
+ }
+
+ if (isset($this->_unicode_blocks[$block_name])) {
+ $this->_unicode_blocks[$block_name] += $count;
+ } else {
+ $this->_unicode_blocks[$block_name] = $count;
+ }
+ }
+ }
+
+
+ // trigram cleanup
+ if ($this->_compile_trigram) {
+ // pad the end
+ if ($b != ' ') {
+ if (!isset($this->_trigram["$a$b "])) {
+ $this->_trigram["$a$b "] = 1;
+ } else {
+ $this->_trigram["$a$b "]++;
+ }
+ }
+
+ // perl compatibility; Language::Guess does not pad the beginning
+ // kludge
+ if (isset($dropone)) {
+ if ($this->_trigram[$dropone] == 1) {
+ unset($this->_trigram[$dropone]);
+ } else {
+ $this->_trigram[$dropone]--;
+ }
+ }
+
+ if (!empty($this->_trigram)) {
+ $this->_trigram_ranks = $this->_arr_rank($this->_trigram);
+ } else {
+ $this->_trigram_ranks = array();
+ }
+ }
+ }
+}
+
+/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
+
+?>
diff --git a/vendor/pear/text_languagedetect/composer.json b/vendor/pear/text_languagedetect/composer.json
new file mode 100644
index 000000000..fc94c6506
--- /dev/null
+++ b/vendor/pear/text_languagedetect/composer.json
@@ -0,0 +1,32 @@
+{
+ "name": "pear/text_languagedetect",
+ "description": "Identify human languages from text samples",
+ "homepage": "http://pear.php.net/package/Text_LanguageDetect",
+ "type": "library",
+ "license": "BSD-2-Clause",
+ "support": {
+ "issues": "http://pear.php.net/bugs/search.php?cmd=display&package_name[]=Text_LanguageDetect",
+ "source": "https://github.com/pear/Text_LanguageDetect"
+ },
+ "authors": [
+ {
+ "email": "taak@php.net",
+ "name": "Nicholas Pisarro",
+ "role": "Lead"
+ }
+ ],
+ "autoload": {
+ "psr-0": {
+ "Text": "./"
+ }
+ },
+ "include-path": [
+ "./"
+ ],
+ "suggest": {
+ "ext-mbstring": "May require the mbstring PHP extension"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "*"
+ }
+}
diff --git a/vendor/pear/text_languagedetect/data/build-unicode_blocks.php b/vendor/pear/text_languagedetect/data/build-unicode_blocks.php
new file mode 100644
index 000000000..afa75a501
--- /dev/null
+++ b/vendor/pear/text_languagedetect/data/build-unicode_blocks.php
@@ -0,0 +1,7 @@
+<?php
+/**
+ * Generate the serialized unicode_blocks.dat file shipped with the package
+ */
+$unicode_blocks = include __DIR__ . '/unicode_blocks.php';
+file_put_contents(__DIR__ . '/unicode_blocks.dat', serialize($unicode_blocks));
+?> \ No newline at end of file
diff --git a/vendor/pear/text_languagedetect/data/lang.dat b/vendor/pear/text_languagedetect/data/lang.dat
new file mode 100644
index 000000000..c2a44f56e
--- /dev/null
+++ b/vendor/pear/text_languagedetect/data/lang.dat
@@ -0,0 +1 @@
+a:2:{s:7:"trigram";a:52:{s:8:"albanian";a:300:{s:4:"të ";s:1:"0";s:4:" të";s:1:"1";s:4:"në ";s:1:"2";s:4:"për";s:1:"3";s:4:" pë";s:1:"4";s:3:" e ";s:1:"5";s:3:"sht";s:1:"6";s:4:" në";s:1:"7";s:3:" sh";s:1:"8";s:3:"se ";s:1:"9";s:3:"et ";s:2:"10";s:4:"ë s";s:2:"11";s:4:"ë t";s:2:"12";s:3:" se";s:2:"13";s:3:"he ";s:2:"14";s:4:"jë ";s:2:"15";s:4:"ër ";s:2:"16";s:3:"dhe";s:2:"17";s:3:" pa";s:2:"18";s:4:"ë n";s:2:"19";s:4:"ë p";s:2:"20";s:4:" që";s:2:"21";s:3:" dh";s:2:"22";s:4:"një";s:2:"23";s:4:"ë m";s:2:"24";s:3:" nj";s:2:"25";s:4:"ësh";s:2:"26";s:3:"in ";s:2:"27";s:3:" me";s:2:"28";s:4:"që ";s:2:"29";s:3:" po";s:2:"30";s:3:"e n";s:2:"31";s:3:"e t";s:2:"32";s:3:"ish";s:2:"33";s:4:"më ";s:2:"34";s:4:"së ";s:2:"35";s:3:"me ";s:2:"36";s:4:"htë";s:2:"37";s:3:" ka";s:2:"38";s:3:" si";s:2:"39";s:3:"e k";s:2:"40";s:3:"e p";s:2:"41";s:3:" i ";s:2:"42";s:4:"anë";s:2:"43";s:3:"ar ";s:2:"44";s:3:" nu";s:2:"45";s:3:"und";s:2:"46";s:3:"ve ";s:2:"47";s:4:" ës";s:2:"48";s:3:"e s";s:2:"49";s:4:" më";s:2:"50";s:3:"nuk";s:2:"51";s:3:"par";s:2:"52";s:3:"uar";s:2:"53";s:3:"uk ";s:2:"54";s:3:"jo ";s:2:"55";s:4:"rë ";s:2:"56";s:3:"ta ";s:2:"57";s:4:"ë f";s:2:"58";s:3:"en ";s:2:"59";s:3:"it ";s:2:"60";s:3:"min";s:2:"61";s:3:"het";s:2:"62";s:3:"n e";s:2:"63";s:3:"ri ";s:2:"64";s:3:"shq";s:2:"65";s:4:"ë d";s:2:"66";s:3:" do";s:2:"67";s:3:" nd";s:2:"68";s:3:"sh ";s:2:"69";s:4:"ën ";s:2:"70";s:4:"atë";s:2:"71";s:3:"hqi";s:2:"72";s:3:"ist";s:2:"73";s:4:"ë q";s:2:"74";s:3:" gj";s:2:"75";s:3:" ng";s:2:"76";s:3:" th";s:2:"77";s:3:"a n";s:2:"78";s:3:"do ";s:2:"79";s:3:"end";s:2:"80";s:3:"imi";s:2:"81";s:3:"ndi";s:2:"82";s:3:"r t";s:2:"83";s:3:"rat";s:2:"84";s:4:"ë b";s:2:"85";s:4:"ëri";s:2:"86";s:3:" mu";s:2:"87";s:3:"art";s:2:"88";s:3:"ash";s:2:"89";s:3:"qip";s:2:"90";s:3:" ko";s:2:"91";s:3:"e m";s:2:"92";s:3:"edh";s:2:"93";s:3:"eri";s:2:"94";s:3:"je ";s:2:"95";s:3:"ka ";s:2:"96";s:3:"nga";s:2:"97";s:3:"si ";s:2:"98";s:3:"te ";s:2:"99";s:4:"ë k";s:3:"100";s:4:"ësi";s:3:"101";s:3:" ma";s:3:"102";s:3:" ti";s:3:"103";s:3:"eve";s:3:"104";s:3:"hje";s:3:"105";s:3:"ira";s:3:"106";s:3:"mun";s:3:"107";s:3:"on ";s:3:"108";s:3:"po ";s:3:"109";s:3:"re ";s:3:"110";s:3:" pr";s:3:"111";s:3:"im ";s:3:"112";s:3:"lit";s:3:"113";s:3:"o t";s:3:"114";s:3:"ur ";s:3:"115";s:4:"ë e";s:3:"116";s:4:"ë v";s:3:"117";s:4:"ët ";s:3:"118";s:3:" ku";s:3:"119";s:4:" së";s:3:"120";s:3:"e d";s:3:"121";s:3:"es ";s:3:"122";s:3:"ga ";s:3:"123";s:3:"iti";s:3:"124";s:3:"jet";s:3:"125";s:4:"ndë";s:3:"126";s:3:"oli";s:3:"127";s:3:"shi";s:3:"128";s:3:"tje";s:3:"129";s:4:" bë";s:3:"130";s:3:" z ";s:3:"131";s:3:"gje";s:3:"132";s:3:"kan";s:3:"133";s:3:"shk";s:3:"134";s:4:"ënd";s:3:"135";s:4:"ës ";s:3:"136";s:3:" de";s:3:"137";s:3:" kj";s:3:"138";s:3:" ru";s:3:"139";s:3:" vi";s:3:"140";s:3:"ara";s:3:"141";s:3:"gov";s:3:"142";s:3:"kjo";s:3:"143";s:3:"or ";s:3:"144";s:3:"r p";s:3:"145";s:3:"rto";s:3:"146";s:3:"rug";s:3:"147";s:3:"tet";s:3:"148";s:3:"ugo";s:3:"149";s:3:"ali";s:3:"150";s:3:"arr";s:3:"151";s:3:"at ";s:3:"152";s:3:"d t";s:3:"153";s:3:"ht ";s:3:"154";s:3:"i p";s:3:"155";s:4:"ipë";s:3:"156";s:3:"izi";s:3:"157";s:4:"jnë";s:3:"158";s:3:"n n";s:3:"159";s:3:"ohe";s:3:"160";s:3:"shu";s:3:"161";s:4:"shë";s:3:"162";s:3:"t e";s:3:"163";s:3:"tik";s:3:"164";s:3:"a e";s:3:"165";s:4:"arë";s:3:"166";s:4:"etë";s:3:"167";s:3:"hum";s:3:"168";s:3:"nd ";s:3:"169";s:3:"ndr";s:3:"170";s:3:"osh";s:3:"171";s:3:"ova";s:3:"172";s:3:"rim";s:3:"173";s:3:"tos";s:3:"174";s:3:"va ";s:3:"175";s:3:" fa";s:3:"176";s:3:" fi";s:3:"177";s:3:"a s";s:3:"178";s:3:"hen";s:3:"179";s:3:"i n";s:3:"180";s:3:"mar";s:3:"181";s:3:"ndo";s:3:"182";s:3:"por";s:3:"183";s:3:"ris";s:3:"184";s:3:"sa ";s:3:"185";s:3:"sis";s:3:"186";s:4:"tës";s:3:"187";s:4:"umë";s:3:"188";s:3:"viz";s:3:"189";s:3:"zit";s:3:"190";s:3:" di";s:3:"191";s:3:" mb";s:3:"192";s:3:"aj ";s:3:"193";s:3:"ana";s:3:"194";s:3:"ata";s:3:"195";s:4:"dër";s:3:"196";s:3:"e a";s:3:"197";s:3:"esh";s:3:"198";s:3:"ime";s:3:"199";s:3:"jes";s:3:"200";s:3:"lar";s:3:"201";s:3:"n s";s:3:"202";s:3:"nte";s:3:"203";s:3:"pol";s:3:"204";s:3:"r n";s:3:"205";s:3:"ran";s:3:"206";s:3:"res";s:3:"207";s:4:"rrë";s:3:"208";s:3:"tar";s:3:"209";s:4:"ë a";s:3:"210";s:4:"ë i";s:3:"211";s:3:" at";s:3:"212";s:3:" jo";s:3:"213";s:4:" kë";s:3:"214";s:3:" re";s:3:"215";s:3:"a k";s:3:"216";s:3:"ai ";s:3:"217";s:3:"akt";s:3:"218";s:4:"hë ";s:3:"219";s:4:"hën";s:3:"220";s:3:"i i";s:3:"221";s:3:"i m";s:3:"222";s:3:"ia ";s:3:"223";s:3:"men";s:3:"224";s:3:"nis";s:3:"225";s:3:"shm";s:3:"226";s:3:"str";s:3:"227";s:3:"t k";s:3:"228";s:3:"t n";s:3:"229";s:3:"t s";s:3:"230";s:4:"ë g";s:3:"231";s:4:"ërk";s:3:"232";s:4:"ëve";s:3:"233";s:3:" ai";s:3:"234";s:3:" ci";s:3:"235";s:3:" ed";s:3:"236";s:3:" ja";s:3:"237";s:3:" kr";s:3:"238";s:3:" qe";s:3:"239";s:3:" ta";s:3:"240";s:3:" ve";s:3:"241";s:3:"a p";s:3:"242";s:3:"cil";s:3:"243";s:3:"el ";s:3:"244";s:4:"erë";s:3:"245";s:3:"gji";s:3:"246";s:3:"hte";s:3:"247";s:3:"i t";s:3:"248";s:3:"jen";s:3:"249";s:3:"jit";s:3:"250";s:3:"k d";s:3:"251";s:4:"mën";s:3:"252";s:3:"n t";s:3:"253";s:3:"nyr";s:3:"254";s:3:"ori";s:3:"255";s:3:"pas";s:3:"256";s:3:"ra ";s:3:"257";s:3:"rie";s:3:"258";s:4:"rës";s:3:"259";s:3:"tor";s:3:"260";s:3:"uaj";s:3:"261";s:3:"yre";s:3:"262";s:4:"ëm ";s:3:"263";s:4:"ëny";s:3:"264";s:3:" ar";s:3:"265";s:3:" du";s:3:"266";s:3:" ga";s:3:"267";s:3:" je";s:3:"268";s:4:"dës";s:3:"269";s:3:"e e";s:3:"270";s:3:"e z";s:3:"271";s:3:"ha ";s:3:"272";s:3:"hme";s:3:"273";s:3:"ika";s:3:"274";s:3:"ini";s:3:"275";s:3:"ite";s:3:"276";s:3:"ith";s:3:"277";s:3:"koh";s:3:"278";s:3:"kra";s:3:"279";s:3:"ku ";s:3:"280";s:3:"lim";s:3:"281";s:3:"lis";s:3:"282";s:4:"qën";s:3:"283";s:4:"rën";s:3:"284";s:3:"s s";s:3:"285";s:3:"t d";s:3:"286";s:3:"t t";s:3:"287";s:3:"tir";s:3:"288";s:4:"tën";s:3:"289";s:3:"ver";s:3:"290";s:4:"ë j";s:3:"291";s:3:" ba";s:3:"292";s:3:" in";s:3:"293";s:3:" tr";s:3:"294";s:3:" zg";s:3:"295";s:3:"a a";s:3:"296";s:3:"a m";s:3:"297";s:3:"a t";s:3:"298";s:3:"abr";s:3:"299";}s:6:"arabic";a:300:{s:5:" ال";s:1:"0";s:6:"الع";s:1:"1";s:6:"لعر";s:1:"2";s:6:"عرا";s:1:"3";s:6:"راق";s:1:"4";s:5:" في";s:1:"5";s:5:"في ";s:1:"6";s:5:"ين ";s:1:"7";s:5:"ية ";s:1:"8";s:5:"ن ا";s:1:"9";s:6:"الم";s:2:"10";s:5:"ات ";s:2:"11";s:5:"من ";s:2:"12";s:5:"ي ا";s:2:"13";s:5:" من";s:2:"14";s:6:"الأ";s:2:"15";s:5:"ة ا";s:2:"16";s:5:"اق ";s:2:"17";s:5:" وا";s:2:"18";s:5:"اء ";s:2:"19";s:6:"الإ";s:2:"20";s:5:" أن";s:2:"21";s:6:"وال";s:2:"22";s:5:"ما ";s:2:"23";s:5:" عل";s:2:"24";s:5:"لى ";s:2:"25";s:5:"ت ا";s:2:"26";s:5:"ون ";s:2:"27";s:5:"هم ";s:2:"28";s:6:"اقي";s:2:"29";s:5:"ام ";s:2:"30";s:5:"ل ا";s:2:"31";s:5:"أن ";s:2:"32";s:5:"م ا";s:2:"33";s:6:"الت";s:2:"34";s:5:"لا ";s:2:"35";s:6:"الا";s:2:"36";s:5:"ان ";s:2:"37";s:5:"ها ";s:2:"38";s:5:"ال ";s:2:"39";s:5:"ة و";s:2:"40";s:5:"ا ا";s:2:"41";s:6:"رها";s:2:"42";s:6:"لام";s:2:"43";s:6:"يين";s:2:"44";s:5:" ول";s:2:"45";s:6:"لأم";s:2:"46";s:5:"نا ";s:2:"47";s:6:"على";s:2:"48";s:5:"ن ي";s:2:"49";s:6:"الب";s:2:"50";s:5:"اد ";s:2:"51";s:6:"الق";s:2:"52";s:5:"د ا";s:2:"53";s:5:"ذا ";s:2:"54";s:5:"ه ا";s:2:"55";s:5:" با";s:2:"56";s:6:"الد";s:2:"57";s:5:"ب ا";s:2:"58";s:6:"مري";s:2:"59";s:5:"لم ";s:2:"60";s:5:" إن";s:2:"61";s:5:" لل";s:2:"62";s:6:"سلا";s:2:"63";s:6:"أمر";s:2:"64";s:6:"ريك";s:2:"65";s:5:"مة ";s:2:"66";s:5:"ى ا";s:2:"67";s:5:"ا ي";s:2:"68";s:5:" عن";s:2:"69";s:5:" هذ";s:2:"70";s:5:"ء ا";s:2:"71";s:5:"ر ا";s:2:"72";s:6:"كان";s:2:"73";s:6:"قتل";s:2:"74";s:6:"إسل";s:2:"75";s:6:"الح";s:2:"76";s:5:"وا ";s:2:"77";s:5:" إل";s:2:"78";s:5:"ا أ";s:2:"79";s:6:"بال";s:2:"80";s:5:"ن م";s:2:"81";s:6:"الس";s:2:"82";s:5:"رة ";s:2:"83";s:6:"لإس";s:2:"84";s:5:"ن و";s:2:"85";s:6:"هاب";s:2:"86";s:5:"ي و";s:2:"87";s:5:"ير ";s:2:"88";s:5:" كا";s:2:"89";s:5:"لة ";s:2:"90";s:6:"يات";s:2:"91";s:5:" لا";s:2:"92";s:6:"انت";s:2:"93";s:5:"ن أ";s:2:"94";s:6:"يكي";s:2:"95";s:6:"الر";s:2:"96";s:6:"الو";s:2:"97";s:5:"ة ف";s:2:"98";s:5:"دة ";s:2:"99";s:6:"الج";s:3:"100";s:5:"قي ";s:3:"101";s:5:"وي ";s:3:"102";s:6:"الذ";s:3:"103";s:6:"الش";s:3:"104";s:6:"امي";s:3:"105";s:6:"اني";s:3:"106";s:5:"ذه ";s:3:"107";s:5:"عن ";s:3:"108";s:6:"لما";s:3:"109";s:6:"هذه";s:3:"110";s:5:"ول ";s:3:"111";s:5:"اف ";s:3:"112";s:6:"اوي";s:3:"113";s:6:"بري";s:3:"114";s:5:"ة ل";s:3:"115";s:5:" أم";s:3:"116";s:5:" لم";s:3:"117";s:5:" ما";s:3:"118";s:5:"يد ";s:3:"119";s:5:" أي";s:3:"120";s:6:"إره";s:3:"121";s:5:"ع ا";s:3:"122";s:6:"عمل";s:3:"123";s:6:"ولا";s:3:"124";s:6:"إلى";s:3:"125";s:6:"ابي";s:3:"126";s:5:"ن ف";s:3:"127";s:6:"ختط";s:3:"128";s:5:"لك ";s:3:"129";s:5:"نه ";s:3:"130";s:5:"ني ";s:3:"131";s:5:"إن ";s:3:"132";s:6:"دين";s:3:"133";s:5:"ف ا";s:3:"134";s:6:"لذي";s:3:"135";s:5:"ي أ";s:3:"136";s:5:"ي ب";s:3:"137";s:5:" وأ";s:3:"138";s:5:"ا ع";s:3:"139";s:6:"الخ";s:3:"140";s:5:"تل ";s:3:"141";s:5:"تي ";s:3:"142";s:5:"قد ";s:3:"143";s:6:"لدي";s:3:"144";s:5:" كل";s:3:"145";s:5:" مع";s:3:"146";s:5:"اب ";s:3:"147";s:6:"اخت";s:3:"148";s:5:"ار ";s:3:"149";s:6:"الن";s:3:"150";s:6:"علا";s:3:"151";s:5:"م و";s:3:"152";s:5:"مع ";s:3:"153";s:5:"س ا";s:3:"154";s:5:"كل ";s:3:"155";s:6:"لاء";s:3:"156";s:5:"ن ب";s:3:"157";s:5:"ن ت";s:3:"158";s:5:"ي م";s:3:"159";s:6:"عرب";s:3:"160";s:5:"م ب";s:3:"161";s:5:" وق";s:3:"162";s:5:" يق";s:3:"163";s:5:"ا ل";s:3:"164";s:5:"ا م";s:3:"165";s:6:"الف";s:3:"166";s:6:"تطا";s:3:"167";s:6:"داد";s:3:"168";s:6:"لمس";s:3:"169";s:5:"له ";s:3:"170";s:6:"هذا";s:3:"171";s:5:" مح";s:3:"172";s:6:"ؤلا";s:3:"173";s:5:"بي ";s:3:"174";s:5:"ة م";s:3:"175";s:5:"ن ل";s:3:"176";s:6:"هؤل";s:3:"177";s:5:"كن ";s:3:"178";s:6:"لإر";s:3:"179";s:6:"لتي";s:3:"180";s:5:" أو";s:3:"181";s:5:" ان";s:3:"182";s:5:" عم";s:3:"183";s:5:"ا ف";s:3:"184";s:5:"ة أ";s:3:"185";s:6:"طاف";s:3:"186";s:5:"عب ";s:3:"187";s:5:"ل م";s:3:"188";s:5:"ن ع";s:3:"189";s:5:"ور ";s:3:"190";s:5:"يا ";s:3:"191";s:5:" يس";s:3:"192";s:5:"ا ت";s:3:"193";s:5:"ة ب";s:3:"194";s:6:"راء";s:3:"195";s:6:"عال";s:3:"196";s:6:"قوا";s:3:"197";s:6:"قية";s:3:"198";s:6:"لعا";s:3:"199";s:5:"م ي";s:3:"200";s:5:"مي ";s:3:"201";s:6:"مية";s:3:"202";s:6:"نية";s:3:"203";s:5:"أي ";s:3:"204";s:6:"ابا";s:3:"205";s:6:"بغد";s:3:"206";s:5:"بل ";s:3:"207";s:5:"رب ";s:3:"208";s:6:"عما";s:3:"209";s:6:"غدا";s:3:"210";s:6:"مال";s:3:"211";s:6:"ملي";s:3:"212";s:5:"يس ";s:3:"213";s:5:" بأ";s:3:"214";s:5:" بع";s:3:"215";s:5:" بغ";s:3:"216";s:5:" وم";s:3:"217";s:6:"بات";s:3:"218";s:6:"بية";s:3:"219";s:6:"ذلك";s:3:"220";s:5:"عة ";s:3:"221";s:6:"قاو";s:3:"222";s:6:"قيي";s:3:"223";s:5:"كي ";s:3:"224";s:5:"م م";s:3:"225";s:5:"ي ع";s:3:"226";s:5:" عر";s:3:"227";s:5:" قا";s:3:"228";s:5:"ا و";s:3:"229";s:5:"رى ";s:3:"230";s:5:"ق ا";s:3:"231";s:6:"وات";s:3:"232";s:5:"وم ";s:3:"233";s:5:" هؤ";s:3:"234";s:5:"ا ب";s:3:"235";s:6:"دام";s:3:"236";s:5:"دي ";s:3:"237";s:6:"رات";s:3:"238";s:6:"شعب";s:3:"239";s:6:"لان";s:3:"240";s:6:"لشع";s:3:"241";s:6:"لقو";s:3:"242";s:6:"ليا";s:3:"243";s:5:"ن ه";s:3:"244";s:5:"ي ت";s:3:"245";s:5:"ي ي";s:3:"246";s:5:" وه";s:3:"247";s:5:" يح";s:3:"248";s:6:"جرا";s:3:"249";s:6:"جما";s:3:"250";s:6:"حمد";s:3:"251";s:5:"دم ";s:3:"252";s:5:"كم ";s:3:"253";s:6:"لاو";s:3:"254";s:6:"لره";s:3:"255";s:6:"ماع";s:3:"256";s:5:"ن ق";s:3:"257";s:5:"نة ";s:3:"258";s:5:"هي ";s:3:"259";s:5:" بل";s:3:"260";s:5:" به";s:3:"261";s:5:" له";s:3:"262";s:5:" وي";s:3:"263";s:5:"ا ك";s:3:"264";s:6:"اذا";s:3:"265";s:5:"اع ";s:3:"266";s:5:"ت م";s:3:"267";s:6:"تخا";s:3:"268";s:6:"خاب";s:3:"269";s:5:"ر م";s:3:"270";s:6:"لمت";s:3:"271";s:6:"مسل";s:3:"272";s:5:"ى أ";s:3:"273";s:6:"يست";s:3:"274";s:6:"يطا";s:3:"275";s:5:" لأ";s:3:"276";s:5:" لي";s:3:"277";s:6:"أمن";s:3:"278";s:6:"است";s:3:"279";s:6:"بعض";s:3:"280";s:5:"ة ت";s:3:"281";s:5:"ري ";s:3:"282";s:6:"صدا";s:3:"283";s:5:"ق و";s:3:"284";s:6:"قول";s:3:"285";s:5:"مد ";s:3:"286";s:6:"نتخ";s:3:"287";s:6:"نفس";s:3:"288";s:6:"نها";s:3:"289";s:6:"هنا";s:3:"290";s:6:"أعم";s:3:"291";s:6:"أنه";s:3:"292";s:6:"ائن";s:3:"293";s:6:"الآ";s:3:"294";s:6:"الك";s:3:"295";s:5:"حة ";s:3:"296";s:5:"د م";s:3:"297";s:5:"ر ع";s:3:"298";s:6:"ربي";s:3:"299";}s:5:"azeri";a:300:{s:4:"lər";s:1:"0";s:3:"in ";s:1:"1";s:4:"ın ";s:1:"2";s:3:"lar";s:1:"3";s:3:"da ";s:1:"4";s:3:"an ";s:1:"5";s:3:"ir ";s:1:"6";s:4:"də ";s:1:"7";s:3:"ki ";s:1:"8";s:3:" bi";s:1:"9";s:4:"ən ";s:2:"10";s:4:"əri";s:2:"11";s:4:"arı";s:2:"12";s:4:"ər ";s:2:"13";s:3:"dir";s:2:"14";s:3:"nda";s:2:"15";s:3:" ki";s:2:"16";s:3:"rin";s:2:"17";s:4:"nın";s:2:"18";s:4:"əsi";s:2:"19";s:3:"ini";s:2:"20";s:3:" ed";s:2:"21";s:3:" qa";s:2:"22";s:4:" tə";s:2:"23";s:3:" ba";s:2:"24";s:3:" ol";s:2:"25";s:4:"ası";s:2:"26";s:4:"ilə";s:2:"27";s:4:"rın";s:2:"28";s:3:" ya";s:2:"29";s:4:"anı";s:2:"30";s:4:" və";s:2:"31";s:4:"ndə";s:2:"32";s:3:"ni ";s:2:"33";s:3:"ara";s:2:"34";s:5:"ını";s:2:"35";s:4:"ınd";s:2:"36";s:3:" bu";s:2:"37";s:3:"si ";s:2:"38";s:3:"ib ";s:2:"39";s:3:"aq ";s:2:"40";s:4:"dən";s:2:"41";s:3:"iya";s:2:"42";s:4:"nə ";s:2:"43";s:4:"rə ";s:2:"44";s:3:"n b";s:2:"45";s:4:"sın";s:2:"46";s:4:"və ";s:2:"47";s:3:"iri";s:2:"48";s:4:"lə ";s:2:"49";s:3:"nin";s:2:"50";s:4:"əli";s:2:"51";s:3:" de";s:2:"52";s:4:" mü";s:2:"53";s:3:"bir";s:2:"54";s:3:"n s";s:2:"55";s:3:"ri ";s:2:"56";s:4:"ək ";s:2:"57";s:3:" az";s:2:"58";s:4:" sə";s:2:"59";s:3:"ar ";s:2:"60";s:3:"bil";s:2:"61";s:4:"zər";s:2:"62";s:3:"bu ";s:2:"63";s:3:"dan";s:2:"64";s:3:"edi";s:2:"65";s:3:"ind";s:2:"66";s:3:"man";s:2:"67";s:3:"un ";s:2:"68";s:5:"ərə";s:2:"69";s:3:" ha";s:2:"70";s:3:"lan";s:2:"71";s:4:"yyə";s:2:"72";s:3:"iyy";s:2:"73";s:3:" il";s:2:"74";s:3:" ne";s:2:"75";s:3:"r k";s:2:"76";s:4:"ə b";s:2:"77";s:3:" is";s:2:"78";s:3:"na ";s:2:"79";s:3:"nun";s:2:"80";s:4:"ır ";s:2:"81";s:3:" da";s:2:"82";s:4:" hə";s:2:"83";s:3:"a b";s:2:"84";s:4:"inə";s:2:"85";s:3:"sin";s:2:"86";s:3:"yan";s:2:"87";s:4:"ərb";s:2:"88";s:4:" də";s:2:"89";s:4:" mə";s:2:"90";s:4:" qə";s:2:"91";s:4:"dır";s:2:"92";s:3:"li ";s:2:"93";s:3:"ola";s:2:"94";s:3:"rba";s:2:"95";s:4:"azə";s:2:"96";s:3:"can";s:2:"97";s:4:"lı ";s:2:"98";s:3:"nla";s:2:"99";s:3:" et";s:3:"100";s:4:" gö";s:3:"101";s:4:"alı";s:3:"102";s:3:"ayc";s:3:"103";s:3:"bay";s:3:"104";s:3:"eft";s:3:"105";s:3:"ist";s:3:"106";s:3:"n i";s:3:"107";s:3:"nef";s:3:"108";s:4:"tlə";s:3:"109";s:3:"yca";s:3:"110";s:4:"yət";s:3:"111";s:5:"əcə";s:3:"112";s:3:" la";s:3:"113";s:3:"ild";s:3:"114";s:4:"nı ";s:3:"115";s:3:"tin";s:3:"116";s:3:"ldi";s:3:"117";s:3:"lik";s:3:"118";s:3:"n h";s:3:"119";s:3:"n m";s:3:"120";s:3:"oyu";s:3:"121";s:3:"raq";s:3:"122";s:3:"ya ";s:3:"123";s:4:"əti";s:3:"124";s:3:" ar";s:3:"125";s:3:"ada";s:3:"126";s:4:"edə";s:3:"127";s:3:"mas";s:3:"128";s:4:"sı ";s:3:"129";s:4:"ına";s:3:"130";s:4:"ə d";s:3:"131";s:5:"ələ";s:3:"132";s:4:"ayı";s:3:"133";s:3:"iyi";s:3:"134";s:3:"lma";s:3:"135";s:4:"mək";s:3:"136";s:3:"n d";s:3:"137";s:3:"ti ";s:3:"138";s:3:"yin";s:3:"139";s:3:"yun";s:3:"140";s:4:"ət ";s:3:"141";s:4:"azı";s:3:"142";s:3:"ft ";s:3:"143";s:3:"i t";s:3:"144";s:3:"lli";s:3:"145";s:3:"n a";s:3:"146";s:3:"ra ";s:3:"147";s:4:" cə";s:3:"148";s:4:" gə";s:3:"149";s:3:" ko";s:3:"150";s:4:" nə";s:3:"151";s:3:" oy";s:3:"152";s:3:"a d";s:3:"153";s:3:"ana";s:3:"154";s:4:"cək";s:3:"155";s:3:"eyi";s:3:"156";s:3:"ilm";s:3:"157";s:3:"irl";s:3:"158";s:3:"lay";s:3:"159";s:3:"liy";s:3:"160";s:3:"lub";s:3:"161";s:4:"n ə";s:3:"162";s:3:"ril";s:3:"163";s:4:"rlə";s:3:"164";s:3:"unu";s:3:"165";s:3:"ver";s:3:"166";s:4:"ün ";s:3:"167";s:4:"ə o";s:3:"168";s:4:"əni";s:3:"169";s:3:" he";s:3:"170";s:3:" ma";s:3:"171";s:3:" on";s:3:"172";s:3:" pa";s:3:"173";s:3:"ala";s:3:"174";s:3:"dey";s:3:"175";s:3:"i m";s:3:"176";s:3:"ima";s:3:"177";s:4:"lmə";s:3:"178";s:4:"mət";s:3:"179";s:3:"par";s:3:"180";s:4:"yə ";s:3:"181";s:4:"ətl";s:3:"182";s:3:" al";s:3:"183";s:3:" mi";s:3:"184";s:3:" sa";s:3:"185";s:4:" əl";s:3:"186";s:4:"adı";s:3:"187";s:4:"akı";s:3:"188";s:3:"and";s:3:"189";s:3:"ard";s:3:"190";s:3:"art";s:3:"191";s:3:"ayi";s:3:"192";s:3:"i a";s:3:"193";s:3:"i q";s:3:"194";s:3:"i y";s:3:"195";s:3:"ili";s:3:"196";s:3:"ill";s:3:"197";s:4:"isə";s:3:"198";s:3:"n o";s:3:"199";s:3:"n q";s:3:"200";s:3:"olu";s:3:"201";s:3:"rla";s:3:"202";s:4:"stə";s:3:"203";s:4:"sə ";s:3:"204";s:3:"tan";s:3:"205";s:3:"tel";s:3:"206";s:3:"yar";s:3:"207";s:5:"ədə";s:3:"208";s:3:" me";s:3:"209";s:4:" rə";s:3:"210";s:3:" ve";s:3:"211";s:3:" ye";s:3:"212";s:3:"a k";s:3:"213";s:3:"at ";s:3:"214";s:4:"baş";s:3:"215";s:3:"diy";s:3:"216";s:3:"ent";s:3:"217";s:3:"eti";s:3:"218";s:4:"həs";s:3:"219";s:3:"i i";s:3:"220";s:3:"ik ";s:3:"221";s:3:"la ";s:3:"222";s:4:"miş";s:3:"223";s:3:"n n";s:3:"224";s:3:"nu ";s:3:"225";s:3:"qar";s:3:"226";s:3:"ran";s:3:"227";s:4:"tər";s:3:"228";s:3:"xan";s:3:"229";s:4:"ə a";s:3:"230";s:4:"ə g";s:3:"231";s:4:"ə t";s:3:"232";s:4:" dü";s:3:"233";s:3:"ama";s:3:"234";s:3:"b k";s:3:"235";s:3:"dil";s:3:"236";s:3:"era";s:3:"237";s:3:"etm";s:3:"238";s:3:"i b";s:3:"239";s:3:"kil";s:3:"240";s:3:"mil";s:3:"241";s:3:"n r";s:3:"242";s:3:"qla";s:3:"243";s:3:"r s";s:3:"244";s:3:"ras";s:3:"245";s:3:"siy";s:3:"246";s:3:"son";s:3:"247";s:3:"tim";s:3:"248";s:3:"yer";s:3:"249";s:4:"ə k";s:3:"250";s:4:" gü";s:3:"251";s:3:" so";s:3:"252";s:4:" sö";s:3:"253";s:3:" te";s:3:"254";s:3:" xa";s:3:"255";s:3:"ai ";s:3:"256";s:3:"bar";s:3:"257";s:3:"cti";s:3:"258";s:3:"di ";s:3:"259";s:3:"eri";s:3:"260";s:4:"gör";s:3:"261";s:4:"gün";s:3:"262";s:4:"gəl";s:3:"263";s:4:"hbə";s:3:"264";s:4:"ihə";s:3:"265";s:3:"iki";s:3:"266";s:3:"isi";s:3:"267";s:3:"lin";s:3:"268";s:3:"mai";s:3:"269";s:3:"maq";s:3:"270";s:3:"n k";s:3:"271";s:3:"n t";s:3:"272";s:3:"n v";s:3:"273";s:3:"onu";s:3:"274";s:3:"qan";s:3:"275";s:4:"qəz";s:3:"276";s:4:"tə ";s:3:"277";s:3:"xal";s:3:"278";s:3:"yib";s:3:"279";s:3:"yih";s:3:"280";s:3:"zet";s:3:"281";s:4:"zır";s:3:"282";s:4:"ıb ";s:3:"283";s:4:"ə m";s:3:"284";s:4:"əze";s:3:"285";s:3:" br";s:3:"286";s:3:" in";s:3:"287";s:4:" i̇";s:3:"288";s:3:" pr";s:3:"289";s:3:" ta";s:3:"290";s:3:" to";s:3:"291";s:5:" üç";s:3:"292";s:3:"a o";s:3:"293";s:3:"ali";s:3:"294";s:3:"ani";s:3:"295";s:3:"anl";s:3:"296";s:3:"aql";s:3:"297";s:3:"azi";s:3:"298";s:3:"bri";s:3:"299";}s:7:"bengali";a:300:{s:7:"ার ";s:1:"0";s:7:"য় ";s:1:"1";s:9:"েয়";s:1:"2";s:9:"য়া";s:1:"3";s:7:" কর";s:1:"4";s:7:"েত ";s:1:"5";s:7:" কা";s:1:"6";s:7:" পা";s:1:"7";s:7:" তা";s:1:"8";s:7:"না ";s:1:"9";s:9:"ায়";s:2:"10";s:7:"ের ";s:2:"11";s:9:"য়ে";s:2:"12";s:7:" বা";s:2:"13";s:7:"েব ";s:2:"14";s:7:" যা";s:2:"15";s:7:" হে";s:2:"16";s:7:" সা";s:2:"17";s:7:"ান ";s:2:"18";s:7:"েছ ";s:2:"19";s:7:" িন";s:2:"20";s:7:"েল ";s:2:"21";s:7:" িদ";s:2:"22";s:7:" না";s:2:"23";s:7:" িব";s:2:"24";s:7:"েক ";s:2:"25";s:7:"লা ";s:2:"26";s:7:"তা ";s:2:"27";s:7:" বઘ";s:2:"28";s:7:" িক";s:2:"29";s:9:"করে";s:2:"30";s:7:" পચ";s:2:"31";s:9:"াের";s:2:"32";s:9:"িনে";s:2:"33";s:7:"রা ";s:2:"34";s:7:" োব";s:2:"35";s:7:"কা ";s:2:"36";s:7:" কে";s:2:"37";s:7:" টা";s:2:"38";s:7:"র ক";s:2:"39";s:9:"েলা";s:2:"40";s:7:" োক";s:2:"41";s:7:" মা";s:2:"42";s:7:" োদ";s:2:"43";s:7:" োম";s:2:"44";s:7:"দর ";s:2:"45";s:7:"়া ";s:2:"46";s:9:"িদে";s:2:"47";s:9:"াকা";s:2:"48";s:9:"়েছ";s:2:"49";s:9:"েদর";s:2:"50";s:7:" আে";s:2:"51";s:5:" ও ";s:2:"52";s:7:"াল ";s:2:"53";s:7:"িট ";s:2:"54";s:7:" মু";s:2:"55";s:9:"কের";s:2:"56";s:9:"হয়";s:2:"57";s:9:"করা";s:2:"58";s:7:"পর ";s:2:"59";s:9:"পাে";s:2:"60";s:7:" এক";s:2:"61";s:7:" পদ";s:2:"62";s:9:"টাক";s:2:"63";s:7:"ড় ";s:2:"64";s:9:"কান";s:2:"65";s:7:"টা ";s:2:"66";s:9:"দગা";s:2:"67";s:9:"পদગ";s:2:"68";s:9:"াড়";s:2:"69";s:9:"োকা";s:2:"70";s:9:"ওয়";s:2:"71";s:9:"কাপ";s:2:"72";s:9:"হেয";s:2:"73";s:9:"েনর";s:2:"74";s:7:" হয";s:2:"75";s:9:"দেয";s:2:"76";s:7:"নর ";s:2:"77";s:9:"ানা";s:2:"78";s:9:"ােল";s:2:"79";s:7:" আর";s:2:"80";s:5:" ় ";s:2:"81";s:9:"বઘব";s:2:"82";s:9:"িয়";s:2:"83";s:7:" দা";s:2:"84";s:7:" সম";s:2:"85";s:9:"কার";s:2:"86";s:9:"হার";s:2:"87";s:7:"াই ";s:2:"88";s:9:"ড়া";s:2:"89";s:9:"িবি";s:2:"90";s:7:" রা";s:2:"91";s:7:" লা";s:2:"92";s:9:"নার";s:2:"93";s:9:"বহা";s:2:"94";s:7:"বা ";s:2:"95";s:9:"যায";s:2:"96";s:7:"েন ";s:2:"97";s:9:"ઘবহ";s:2:"98";s:7:" ভা";s:2:"99";s:7:" সে";s:3:"100";s:7:" োয";s:3:"101";s:7:"রর ";s:3:"102";s:9:"়ার";s:3:"103";s:9:"়াল";s:3:"104";s:7:"ગা ";s:3:"105";s:9:"থেক";s:3:"106";s:9:"ভাে";s:3:"107";s:7:"়ে ";s:3:"108";s:9:"েরর";s:3:"109";s:7:" ধর";s:3:"110";s:7:" হা";s:3:"111";s:7:"নઘ ";s:3:"112";s:9:"রেন";s:3:"113";s:9:"ােব";s:3:"114";s:9:"িড়";s:3:"115";s:7:"ির ";s:3:"116";s:7:" োথ";s:3:"117";s:9:"তার";s:3:"118";s:9:"বিভ";s:3:"119";s:9:"রেত";s:3:"120";s:9:"সাে";s:3:"121";s:9:"াকে";s:3:"122";s:9:"ােত";s:3:"123";s:9:"িভਭ";s:3:"124";s:7:"ে ব";s:3:"125";s:9:"োথে";s:3:"126";s:7:" োপ";s:3:"127";s:7:" োস";s:3:"128";s:9:"বার";s:3:"129";s:7:"ভਭ ";s:3:"130";s:7:"রন ";s:3:"131";s:7:"াম ";s:3:"132";s:7:" এখ";s:3:"133";s:7:"আর ";s:3:"134";s:9:"কাে";s:3:"135";s:7:"দন ";s:3:"136";s:9:"সাজ";s:3:"137";s:9:"ােক";s:3:"138";s:9:"ােন";s:3:"139";s:9:"েনা";s:3:"140";s:7:" ঘে";s:3:"141";s:7:" তে";s:3:"142";s:7:" রে";s:3:"143";s:9:"তেব";s:3:"144";s:7:"বন ";s:3:"145";s:9:"বઘা";s:3:"146";s:9:"েড়";s:3:"147";s:9:"েবন";s:3:"148";s:7:" খু";s:3:"149";s:7:" চা";s:3:"150";s:7:" সু";s:3:"151";s:7:"কে ";s:3:"152";s:9:"ধরে";s:3:"153";s:7:"র ো";s:3:"154";s:7:"় ি";s:3:"155";s:7:"া ি";s:3:"156";s:9:"ােথ";s:3:"157";s:9:"াਠা";s:3:"158";s:7:"িদ ";s:3:"159";s:7:"িন ";s:3:"160";s:7:" অন";s:3:"161";s:7:" আপ";s:3:"162";s:7:" আম";s:3:"163";s:7:" থা";s:3:"164";s:7:" বચ";s:3:"165";s:7:" োফ";s:3:"166";s:7:" ৌত";s:3:"167";s:9:"ঘের";s:3:"168";s:7:"তে ";s:3:"169";s:9:"ময়";s:3:"170";s:9:"যাਠ";s:3:"171";s:7:"র স";s:3:"172";s:9:"রাখ";s:3:"173";s:7:"া ব";s:3:"174";s:7:"া ো";s:3:"175";s:9:"ালা";s:3:"176";s:7:"িক ";s:3:"177";s:7:"িশ ";s:3:"178";s:7:"েখ ";s:3:"179";s:7:" এর";s:3:"180";s:7:" চઓ";s:3:"181";s:7:" িড";s:3:"182";s:7:"খন ";s:3:"183";s:9:"ড়ে";s:3:"184";s:7:"র ব";s:3:"185";s:7:"়র ";s:3:"186";s:9:"াইে";s:3:"187";s:9:"ােদ";s:3:"188";s:9:"িদন";s:3:"189";s:9:"েরন";s:3:"190";s:7:" তੴ";s:3:"191";s:9:"ছাড";s:3:"192";s:9:"জনઘ";s:3:"193";s:9:"তাই";s:3:"194";s:7:"মা ";s:3:"195";s:9:"মাে";s:3:"196";s:9:"লার";s:3:"197";s:7:"াজ ";s:3:"198";s:9:"াতা";s:3:"199";s:9:"ামা";s:3:"200";s:9:"ਊেল";s:3:"201";s:9:"ગার";s:3:"202";s:7:" সব";s:3:"203";s:9:"আপন";s:3:"204";s:9:"একট";s:3:"205";s:9:"কাি";s:3:"206";s:9:"জাই";s:3:"207";s:7:"টর ";s:3:"208";s:9:"ডজা";s:3:"209";s:9:"দেখ";s:3:"210";s:9:"পনা";s:3:"211";s:7:"রও ";s:3:"212";s:7:"লে ";s:3:"213";s:9:"হেব";s:3:"214";s:9:"াজা";s:3:"215";s:9:"ািট";s:3:"216";s:9:"িডজ";s:3:"217";s:7:"েথ ";s:3:"218";s:7:" এব";s:3:"219";s:7:" জন";s:3:"220";s:7:" জা";s:3:"221";s:9:"আমা";s:3:"222";s:9:"গেল";s:3:"223";s:9:"জান";s:3:"224";s:9:"নেত";s:3:"225";s:9:"বিশ";s:3:"226";s:9:"মুে";s:3:"227";s:9:"মেয";s:3:"228";s:7:"র প";s:3:"229";s:7:"সে ";s:3:"230";s:9:"হেল";s:3:"231";s:7:"় ো";s:3:"232";s:7:"া হ";s:3:"233";s:9:"াওয";s:3:"234";s:9:"োমক";s:3:"235";s:9:"ઘাি";s:3:"236";s:7:" অে";s:3:"237";s:5:" ট ";s:3:"238";s:7:" োগ";s:3:"239";s:7:" োন";s:3:"240";s:7:"জর ";s:3:"241";s:9:"তির";s:3:"242";s:9:"দাম";s:3:"243";s:9:"পড়";s:3:"244";s:9:"পার";s:3:"245";s:9:"বাঘ";s:3:"246";s:9:"মকা";s:3:"247";s:9:"মাম";s:3:"248";s:9:"য়র";s:3:"249";s:9:"যাে";s:3:"250";s:7:"র ম";s:3:"251";s:7:"রে ";s:3:"252";s:7:"লর ";s:3:"253";s:7:"া ক";s:3:"254";s:7:"াগ ";s:3:"255";s:9:"াবা";s:3:"256";s:9:"ারা";s:3:"257";s:9:"ািন";s:3:"258";s:7:"ে গ";s:3:"259";s:7:"েগ ";s:3:"260";s:9:"েলর";s:3:"261";s:9:"োদখ";s:3:"262";s:9:"োবি";s:3:"263";s:7:"ઓল ";s:3:"264";s:7:" দে";s:3:"265";s:7:" পু";s:3:"266";s:7:" বে";s:3:"267";s:9:"অেন";s:3:"268";s:9:"এখন";s:3:"269";s:9:"কছু";s:3:"270";s:9:"কাল";s:3:"271";s:9:"গেয";s:3:"272";s:7:"ছন ";s:3:"273";s:7:"ত প";s:3:"274";s:9:"নেয";s:3:"275";s:9:"পাি";s:3:"276";s:7:"মন ";s:3:"277";s:7:"র আ";s:3:"278";s:9:"রার";s:3:"279";s:7:"াও ";s:3:"280";s:7:"াপ ";s:3:"281";s:9:"িকছ";s:3:"282";s:9:"িগে";s:3:"283";s:9:"েছন";s:3:"284";s:9:"েজর";s:3:"285";s:9:"োমা";s:3:"286";s:9:"োমে";s:3:"287";s:9:"ৌতি";s:3:"288";s:9:"ઘাে";s:3:"289";s:3:" ' ";s:3:"290";s:7:" এছ";s:3:"291";s:7:" ছা";s:3:"292";s:7:" বল";s:3:"293";s:7:" যি";s:3:"294";s:7:" শি";s:3:"295";s:7:" িম";s:3:"296";s:7:" োল";s:3:"297";s:9:"এছা";s:3:"298";s:7:"খা ";s:3:"299";}s:9:"bulgarian";a:300:{s:5:"на ";s:1:"0";s:5:" на";s:1:"1";s:5:"то ";s:1:"2";s:5:" пр";s:1:"3";s:5:" за";s:1:"4";s:5:"та ";s:1:"5";s:5:" по";s:1:"6";s:6:"ите";s:1:"7";s:5:"те ";s:1:"8";s:5:"а п";s:1:"9";s:5:"а с";s:2:"10";s:5:" от";s:2:"11";s:5:"за ";s:2:"12";s:6:"ата";s:2:"13";s:5:"ия ";s:2:"14";s:4:" в ";s:2:"15";s:5:"е н";s:2:"16";s:5:" да";s:2:"17";s:5:"а н";s:2:"18";s:5:" се";s:2:"19";s:5:" ко";s:2:"20";s:5:"да ";s:2:"21";s:5:"от ";s:2:"22";s:6:"ани";s:2:"23";s:6:"пре";s:2:"24";s:5:"не ";s:2:"25";s:6:"ени";s:2:"26";s:5:"о н";s:2:"27";s:5:"ни ";s:2:"28";s:5:"се ";s:2:"29";s:4:" и ";s:2:"30";s:5:"но ";s:2:"31";s:6:"ане";s:2:"32";s:6:"ето";s:2:"33";s:5:"а в";s:2:"34";s:5:"ва ";s:2:"35";s:6:"ван";s:2:"36";s:5:"е п";s:2:"37";s:5:"а о";s:2:"38";s:6:"ото";s:2:"39";s:6:"ран";s:2:"40";s:5:"ат ";s:2:"41";s:6:"ред";s:2:"42";s:5:" не";s:2:"43";s:5:"а д";s:2:"44";s:5:"и п";s:2:"45";s:5:" до";s:2:"46";s:6:"про";s:2:"47";s:5:" съ";s:2:"48";s:5:"ли ";s:2:"49";s:6:"при";s:2:"50";s:6:"ния";s:2:"51";s:6:"ски";s:2:"52";s:6:"тел";s:2:"53";s:5:"а и";s:2:"54";s:5:"по ";s:2:"55";s:5:"ри ";s:2:"56";s:4:" е ";s:2:"57";s:5:" ка";s:2:"58";s:6:"ира";s:2:"59";s:6:"кат";s:2:"60";s:6:"ние";s:2:"61";s:6:"нит";s:2:"62";s:5:"е з";s:2:"63";s:5:"и с";s:2:"64";s:5:"о с";s:2:"65";s:6:"ост";s:2:"66";s:5:"че ";s:2:"67";s:5:" ра";s:2:"68";s:6:"ист";s:2:"69";s:5:"о п";s:2:"70";s:5:" из";s:2:"71";s:5:" са";s:2:"72";s:5:"е д";s:2:"73";s:6:"ини";s:2:"74";s:5:"ки ";s:2:"75";s:6:"мин";s:2:"76";s:5:" ми";s:2:"77";s:5:"а б";s:2:"78";s:6:"ава";s:2:"79";s:5:"е в";s:2:"80";s:5:"ие ";s:2:"81";s:6:"пол";s:2:"82";s:6:"ств";s:2:"83";s:5:"т н";s:2:"84";s:5:" въ";s:2:"85";s:5:" ст";s:2:"86";s:5:" то";s:2:"87";s:6:"аза";s:2:"88";s:5:"е о";s:2:"89";s:5:"ов ";s:2:"90";s:5:"ст ";s:2:"91";s:5:"ът ";s:2:"92";s:5:"и н";s:2:"93";s:6:"ият";s:2:"94";s:6:"нат";s:2:"95";s:5:"ра ";s:2:"96";s:5:" бъ";s:2:"97";s:5:" че";s:2:"98";s:6:"алн";s:2:"99";s:5:"е с";s:3:"100";s:5:"ен ";s:3:"101";s:6:"ест";s:3:"102";s:5:"и д";s:3:"103";s:6:"лен";s:3:"104";s:6:"нис";s:3:"105";s:5:"о о";s:3:"106";s:6:"ови";s:3:"107";s:5:" об";s:3:"108";s:5:" сл";s:3:"109";s:5:"а р";s:3:"110";s:6:"ато";s:3:"111";s:6:"кон";s:3:"112";s:6:"нос";s:3:"113";s:6:"ров";s:3:"114";s:5:"ще ";s:3:"115";s:5:" ре";s:3:"116";s:4:" с ";s:3:"117";s:5:" сп";s:3:"118";s:6:"ват";s:3:"119";s:6:"еше";s:3:"120";s:5:"и в";s:3:"121";s:6:"иет";s:3:"122";s:5:"о в";s:3:"123";s:6:"ове";s:3:"124";s:6:"ста";s:3:"125";s:5:"а к";s:3:"126";s:5:"а т";s:3:"127";s:6:"дат";s:3:"128";s:6:"ент";s:3:"129";s:5:"ка ";s:3:"130";s:6:"лед";s:3:"131";s:6:"нет";s:3:"132";s:6:"ори";s:3:"133";s:6:"стр";s:3:"134";s:6:"стъ";s:3:"135";s:5:"ти ";s:3:"136";s:6:"тър";s:3:"137";s:5:" те";s:3:"138";s:5:"а з";s:3:"139";s:5:"а м";s:3:"140";s:5:"ад ";s:3:"141";s:6:"ана";s:3:"142";s:6:"ено";s:3:"143";s:5:"и о";s:3:"144";s:6:"ина";s:3:"145";s:6:"ити";s:3:"146";s:5:"ма ";s:3:"147";s:6:"ска";s:3:"148";s:6:"сле";s:3:"149";s:6:"тво";s:3:"150";s:6:"тер";s:3:"151";s:6:"ция";s:3:"152";s:5:"ят ";s:3:"153";s:5:" бе";s:3:"154";s:5:" де";s:3:"155";s:5:" па";s:3:"156";s:6:"ате";s:3:"157";s:6:"вен";s:3:"158";s:5:"ви ";s:3:"159";s:6:"вит";s:3:"160";s:5:"и з";s:3:"161";s:5:"и и";s:3:"162";s:6:"нар";s:3:"163";s:6:"нов";s:3:"164";s:6:"ова";s:3:"165";s:6:"пов";s:3:"166";s:6:"рез";s:3:"167";s:6:"рит";s:3:"168";s:5:"са ";s:3:"169";s:6:"ята";s:3:"170";s:5:" го";s:3:"171";s:5:" ще";s:3:"172";s:6:"али";s:3:"173";s:5:"в п";s:3:"174";s:6:"гра";s:3:"175";s:5:"е и";s:3:"176";s:6:"еди";s:3:"177";s:6:"ели";s:3:"178";s:6:"или";s:3:"179";s:6:"каз";s:3:"180";s:6:"кит";s:3:"181";s:6:"лно";s:3:"182";s:6:"мен";s:3:"183";s:6:"оли";s:3:"184";s:6:"раз";s:3:"185";s:5:" ве";s:3:"186";s:5:" гр";s:3:"187";s:5:" им";s:3:"188";s:5:" ме";s:3:"189";s:5:" пъ";s:3:"190";s:6:"ави";s:3:"191";s:6:"ако";s:3:"192";s:6:"ача";s:3:"193";s:6:"вин";s:3:"194";s:5:"во ";s:3:"195";s:6:"гов";s:3:"196";s:6:"дан";s:3:"197";s:5:"ди ";s:3:"198";s:5:"до ";s:3:"199";s:5:"ед ";s:3:"200";s:6:"ери";s:3:"201";s:6:"еро";s:3:"202";s:6:"жда";s:3:"203";s:6:"ито";s:3:"204";s:6:"ков";s:3:"205";s:6:"кол";s:3:"206";s:6:"лни";s:3:"207";s:6:"мер";s:3:"208";s:6:"нач";s:3:"209";s:5:"о з";s:3:"210";s:6:"ола";s:3:"211";s:5:"он ";s:3:"212";s:6:"она";s:3:"213";s:6:"пра";s:3:"214";s:6:"рав";s:3:"215";s:6:"рем";s:3:"216";s:6:"сия";s:3:"217";s:6:"сти";s:3:"218";s:5:"т п";s:3:"219";s:6:"тан";s:3:"220";s:5:"ха ";s:3:"221";s:5:"ше ";s:3:"222";s:6:"шен";s:3:"223";s:6:"ълг";s:3:"224";s:5:" ба";s:3:"225";s:5:" си";s:3:"226";s:6:"аро";s:3:"227";s:6:"бъл";s:3:"228";s:5:"в р";s:3:"229";s:6:"гар";s:3:"230";s:5:"е е";s:3:"231";s:6:"елн";s:3:"232";s:6:"еме";s:3:"233";s:6:"ико";s:3:"234";s:6:"има";s:3:"235";s:5:"ко ";s:3:"236";s:6:"кои";s:3:"237";s:5:"ла ";s:3:"238";s:6:"лга";s:3:"239";s:5:"о д";s:3:"240";s:6:"ози";s:3:"241";s:6:"оит";s:3:"242";s:6:"под";s:3:"243";s:6:"рес";s:3:"244";s:6:"рие";s:3:"245";s:6:"сто";s:3:"246";s:5:"т к";s:3:"247";s:5:"т м";s:3:"248";s:5:"т с";s:3:"249";s:6:"уст";s:3:"250";s:5:" би";s:3:"251";s:5:" дв";s:3:"252";s:5:" дъ";s:3:"253";s:5:" ма";s:3:"254";s:5:" мо";s:3:"255";s:5:" ни";s:3:"256";s:5:" ос";s:3:"257";s:6:"ала";s:3:"258";s:6:"анс";s:3:"259";s:6:"ара";s:3:"260";s:6:"ати";s:3:"261";s:6:"аци";s:3:"262";s:6:"беш";s:3:"263";s:6:"вър";s:3:"264";s:5:"е р";s:3:"265";s:6:"едв";s:3:"266";s:6:"ема";s:3:"267";s:6:"жав";s:3:"268";s:5:"и к";s:3:"269";s:6:"иал";s:3:"270";s:6:"ица";s:3:"271";s:6:"иче";s:3:"272";s:6:"кия";s:3:"273";s:6:"лит";s:3:"274";s:5:"о б";s:3:"275";s:6:"ово";s:3:"276";s:6:"оди";s:3:"277";s:6:"ока";s:3:"278";s:6:"пос";s:3:"279";s:6:"род";s:3:"280";s:6:"сед";s:3:"281";s:6:"слу";s:3:"282";s:5:"т и";s:3:"283";s:6:"тов";s:3:"284";s:6:"ува";s:3:"285";s:6:"циа";s:3:"286";s:6:"чес";s:3:"287";s:5:"я з";s:3:"288";s:5:" во";s:3:"289";s:5:" ил";s:3:"290";s:5:" ск";s:3:"291";s:5:" тр";s:3:"292";s:5:" це";s:3:"293";s:6:"ами";s:3:"294";s:6:"ари";s:3:"295";s:6:"бат";s:3:"296";s:5:"би ";s:3:"297";s:6:"бра";s:3:"298";s:6:"бъд";s:3:"299";}s:7:"cebuano";a:300:{s:3:"ng ";s:1:"0";s:3:"sa ";s:1:"1";s:3:" sa";s:1:"2";s:3:"ang";s:1:"3";s:3:"ga ";s:1:"4";s:3:"nga";s:1:"5";s:3:" ka";s:1:"6";s:3:" ng";s:1:"7";s:3:"an ";s:1:"8";s:3:" an";s:1:"9";s:3:" na";s:2:"10";s:3:" ma";s:2:"11";s:3:" ni";s:2:"12";s:3:"a s";s:2:"13";s:3:"a n";s:2:"14";s:3:"on ";s:2:"15";s:3:" pa";s:2:"16";s:3:" si";s:2:"17";s:3:"a k";s:2:"18";s:3:"a m";s:2:"19";s:3:" ba";s:2:"20";s:3:"ong";s:2:"21";s:3:"a i";s:2:"22";s:3:"ila";s:2:"23";s:3:" mg";s:2:"24";s:3:"mga";s:2:"25";s:3:"a p";s:2:"26";s:3:"iya";s:2:"27";s:3:"a a";s:2:"28";s:3:"ay ";s:2:"29";s:3:"ka ";s:2:"30";s:3:"ala";s:2:"31";s:3:"ing";s:2:"32";s:3:"g m";s:2:"33";s:3:"n s";s:2:"34";s:3:"g n";s:2:"35";s:3:"lan";s:2:"36";s:3:" gi";s:2:"37";s:3:"na ";s:2:"38";s:3:"ni ";s:2:"39";s:3:"o s";s:2:"40";s:3:"g p";s:2:"41";s:3:"n n";s:2:"42";s:3:" da";s:2:"43";s:3:"ag ";s:2:"44";s:3:"pag";s:2:"45";s:3:"g s";s:2:"46";s:3:"yan";s:2:"47";s:3:"ayo";s:2:"48";s:3:"o n";s:2:"49";s:3:"si ";s:2:"50";s:3:" mo";s:2:"51";s:3:"a b";s:2:"52";s:3:"g a";s:2:"53";s:3:"ail";s:2:"54";s:3:"g b";s:2:"55";s:3:"han";s:2:"56";s:3:"a d";s:2:"57";s:3:"asu";s:2:"58";s:3:"nag";s:2:"59";s:3:"ya ";s:2:"60";s:3:"man";s:2:"61";s:3:"ne ";s:2:"62";s:3:"pan";s:2:"63";s:3:"kon";s:2:"64";s:3:" il";s:2:"65";s:3:" la";s:2:"66";s:3:"aka";s:2:"67";s:3:"ako";s:2:"68";s:3:"ana";s:2:"69";s:3:"bas";s:2:"70";s:3:"ko ";s:2:"71";s:3:"od ";s:2:"72";s:3:"yo ";s:2:"73";s:3:" di";s:2:"74";s:3:" ko";s:2:"75";s:3:" ug";s:2:"76";s:3:"a u";s:2:"77";s:3:"g k";s:2:"78";s:3:"kan";s:2:"79";s:3:"la ";s:2:"80";s:3:"len";s:2:"81";s:3:"sur";s:2:"82";s:3:"ug ";s:2:"83";s:3:" ai";s:2:"84";s:3:"apa";s:2:"85";s:3:"aw ";s:2:"86";s:3:"d s";s:2:"87";s:3:"g d";s:2:"88";s:3:"g g";s:2:"89";s:3:"ile";s:2:"90";s:3:"nin";s:2:"91";s:3:" iy";s:2:"92";s:3:" su";s:2:"93";s:3:"ene";s:2:"94";s:3:"og ";s:2:"95";s:3:"ot ";s:2:"96";s:3:"aba";s:2:"97";s:3:"aha";s:2:"98";s:3:"as ";s:2:"99";s:3:"imo";s:3:"100";s:3:" ki";s:3:"101";s:3:"a t";s:3:"102";s:3:"aga";s:3:"103";s:3:"ban";s:3:"104";s:3:"ero";s:3:"105";s:3:"nan";s:3:"106";s:3:"o k";s:3:"107";s:3:"ran";s:3:"108";s:3:"ron";s:3:"109";s:3:"sil";s:3:"110";s:3:"una";s:3:"111";s:3:"usa";s:3:"112";s:3:" us";s:3:"113";s:3:"a g";s:3:"114";s:3:"ahi";s:3:"115";s:3:"ani";s:3:"116";s:3:"er ";s:3:"117";s:3:"ha ";s:3:"118";s:3:"i a";s:3:"119";s:3:"rer";s:3:"120";s:3:"yon";s:3:"121";s:3:" pu";s:3:"122";s:3:"ini";s:3:"123";s:3:"nak";s:3:"124";s:3:"ro ";s:3:"125";s:3:"to ";s:3:"126";s:3:"ure";s:3:"127";s:3:" ed";s:3:"128";s:3:" og";s:3:"129";s:3:" wa";s:3:"130";s:3:"ili";s:3:"131";s:3:"mo ";s:3:"132";s:3:"n a";s:3:"133";s:3:"nd ";s:3:"134";s:3:"o a";s:3:"135";s:3:" ad";s:3:"136";s:3:" du";s:3:"137";s:3:" pr";s:3:"138";s:3:"aro";s:3:"139";s:3:"i s";s:3:"140";s:3:"ma ";s:3:"141";s:3:"n m";s:3:"142";s:3:"ulo";s:3:"143";s:3:"und";s:3:"144";s:3:" ta";s:3:"145";s:3:"ara";s:3:"146";s:3:"asa";s:3:"147";s:3:"ato";s:3:"148";s:3:"awa";s:3:"149";s:3:"dmu";s:3:"150";s:3:"e n";s:3:"151";s:3:"edm";s:3:"152";s:3:"ina";s:3:"153";s:3:"mak";s:3:"154";s:3:"mun";s:3:"155";s:3:"niy";s:3:"156";s:3:"san";s:3:"157";s:3:"wa ";s:3:"158";s:3:" tu";s:3:"159";s:3:" un";s:3:"160";s:3:"a l";s:3:"161";s:3:"bay";s:3:"162";s:3:"iga";s:3:"163";s:3:"ika";s:3:"164";s:3:"ita";s:3:"165";s:3:"kin";s:3:"166";s:3:"lis";s:3:"167";s:3:"may";s:3:"168";s:3:"os ";s:3:"169";s:3:" ar";s:3:"170";s:3:"ad ";s:3:"171";s:3:"ali";s:3:"172";s:3:"ama";s:3:"173";s:3:"ers";s:3:"174";s:3:"ipa";s:3:"175";s:3:"isa";s:3:"176";s:3:"mao";s:3:"177";s:3:"nim";s:3:"178";s:3:"t s";s:3:"179";s:3:"tin";s:3:"180";s:3:" ak";s:3:"181";s:3:" ap";s:3:"182";s:3:" hi";s:3:"183";s:3:"abo";s:3:"184";s:3:"agp";s:3:"185";s:3:"ano";s:3:"186";s:3:"ata";s:3:"187";s:3:"g i";s:3:"188";s:3:"gan";s:3:"189";s:3:"gka";s:3:"190";s:3:"gpa";s:3:"191";s:3:"i m";s:3:"192";s:3:"iha";s:3:"193";s:3:"k s";s:3:"194";s:3:"law";s:3:"195";s:3:"or ";s:3:"196";s:3:"rs ";s:3:"197";s:3:"siy";s:3:"198";s:3:"tag";s:3:"199";s:3:" al";s:3:"200";s:3:" at";s:3:"201";s:3:" ha";s:3:"202";s:3:" hu";s:3:"203";s:3:" im";s:3:"204";s:3:"a h";s:3:"205";s:3:"bu ";s:3:"206";s:3:"e s";s:3:"207";s:3:"gma";s:3:"208";s:3:"kas";s:3:"209";s:3:"lag";s:3:"210";s:3:"mon";s:3:"211";s:3:"nah";s:3:"212";s:3:"ngo";s:3:"213";s:3:"r s";s:3:"214";s:3:"ra ";s:3:"215";s:3:"sab";s:3:"216";s:3:"sam";s:3:"217";s:3:"sul";s:3:"218";s:3:"uba";s:3:"219";s:3:"uha";s:3:"220";s:3:" lo";s:3:"221";s:3:" re";s:3:"222";s:3:"ada";s:3:"223";s:3:"aki";s:3:"224";s:3:"aya";s:3:"225";s:3:"bah";s:3:"226";s:3:"ce ";s:3:"227";s:3:"d n";s:3:"228";s:3:"lab";s:3:"229";s:3:"pa ";s:3:"230";s:3:"pak";s:3:"231";s:3:"s n";s:3:"232";s:3:"s s";s:3:"233";s:3:"tan";s:3:"234";s:3:"taw";s:3:"235";s:3:"te ";s:3:"236";s:3:"uma";s:3:"237";s:3:"ura";s:3:"238";s:3:" in";s:3:"239";s:3:" lu";s:3:"240";s:3:"a c";s:3:"241";s:3:"abi";s:3:"242";s:3:"at ";s:3:"243";s:3:"awo";s:3:"244";s:3:"bat";s:3:"245";s:3:"dal";s:3:"246";s:3:"dla";s:3:"247";s:3:"ele";s:3:"248";s:3:"g t";s:3:"249";s:3:"g u";s:3:"250";s:3:"gay";s:3:"251";s:3:"go ";s:3:"252";s:3:"hab";s:3:"253";s:3:"hin";s:3:"254";s:3:"i e";s:3:"255";s:3:"i n";s:3:"256";s:3:"kab";s:3:"257";s:3:"kap";s:3:"258";s:3:"lay";s:3:"259";s:3:"lin";s:3:"260";s:3:"nil";s:3:"261";s:3:"pam";s:3:"262";s:3:"pas";s:3:"263";s:3:"pro";s:3:"264";s:3:"pul";s:3:"265";s:3:"ta ";s:3:"266";s:3:"ton";s:3:"267";s:3:"uga";s:3:"268";s:3:"ugm";s:3:"269";s:3:"unt";s:3:"270";s:3:" co";s:3:"271";s:3:" gu";s:3:"272";s:3:" mi";s:3:"273";s:3:" pi";s:3:"274";s:3:" ti";s:3:"275";s:3:"a o";s:3:"276";s:3:"abu";s:3:"277";s:3:"adl";s:3:"278";s:3:"ado";s:3:"279";s:3:"agh";s:3:"280";s:3:"agk";s:3:"281";s:3:"ao ";s:3:"282";s:3:"art";s:3:"283";s:3:"bal";s:3:"284";s:3:"cit";s:3:"285";s:3:"di ";s:3:"286";s:3:"dto";s:3:"287";s:3:"dun";s:3:"288";s:3:"ent";s:3:"289";s:3:"g e";s:3:"290";s:3:"gon";s:3:"291";s:3:"gug";s:3:"292";s:3:"ia ";s:3:"293";s:3:"iba";s:3:"294";s:3:"ice";s:3:"295";s:3:"in ";s:3:"296";s:3:"inu";s:3:"297";s:3:"it ";s:3:"298";s:3:"kaa";s:3:"299";}s:8:"croatian";a:300:{s:3:"je ";s:1:"0";s:3:" na";s:1:"1";s:3:" pr";s:1:"2";s:3:" po";s:1:"3";s:3:"na ";s:1:"4";s:3:" je";s:1:"5";s:3:" za";s:1:"6";s:3:"ije";s:1:"7";s:3:"ne ";s:1:"8";s:3:" i ";s:1:"9";s:3:"ti ";s:2:"10";s:3:"da ";s:2:"11";s:3:" ko";s:2:"12";s:3:" ne";s:2:"13";s:3:"li ";s:2:"14";s:3:" bi";s:2:"15";s:3:" da";s:2:"16";s:3:" u ";s:2:"17";s:3:"ma ";s:2:"18";s:3:"mo ";s:2:"19";s:3:"a n";s:2:"20";s:3:"ih ";s:2:"21";s:3:"za ";s:2:"22";s:3:"a s";s:2:"23";s:3:"ko ";s:2:"24";s:3:"i s";s:2:"25";s:3:"a p";s:2:"26";s:3:"koj";s:2:"27";s:3:"pro";s:2:"28";s:3:"ju ";s:2:"29";s:3:"se ";s:2:"30";s:3:" go";s:2:"31";s:3:"ost";s:2:"32";s:3:"to ";s:2:"33";s:3:"va ";s:2:"34";s:3:" do";s:2:"35";s:3:" to";s:2:"36";s:3:"e n";s:2:"37";s:3:"i p";s:2:"38";s:3:" od";s:2:"39";s:3:" ra";s:2:"40";s:3:"no ";s:2:"41";s:3:"ako";s:2:"42";s:3:"ka ";s:2:"43";s:3:"ni ";s:2:"44";s:3:" ka";s:2:"45";s:3:" se";s:2:"46";s:3:" mo";s:2:"47";s:3:" st";s:2:"48";s:3:"i n";s:2:"49";s:3:"ima";s:2:"50";s:3:"ja ";s:2:"51";s:3:"pri";s:2:"52";s:3:"vat";s:2:"53";s:3:"sta";s:2:"54";s:3:" su";s:2:"55";s:3:"ati";s:2:"56";s:3:"e p";s:2:"57";s:3:"ta ";s:2:"58";s:3:"tsk";s:2:"59";s:3:"e i";s:2:"60";s:3:"nij";s:2:"61";s:3:" tr";s:2:"62";s:3:"cij";s:2:"63";s:3:"jen";s:2:"64";s:3:"nos";s:2:"65";s:3:"o s";s:2:"66";s:3:" iz";s:2:"67";s:3:"om ";s:2:"68";s:3:"tro";s:2:"69";s:3:"ili";s:2:"70";s:3:"iti";s:2:"71";s:3:"pos";s:2:"72";s:3:" al";s:2:"73";s:3:"a i";s:2:"74";s:3:"a o";s:2:"75";s:3:"e s";s:2:"76";s:3:"ija";s:2:"77";s:3:"ini";s:2:"78";s:3:"pre";s:2:"79";s:3:"str";s:2:"80";s:3:"la ";s:2:"81";s:3:"og ";s:2:"82";s:3:"ovo";s:2:"83";s:3:" sv";s:2:"84";s:3:"ekt";s:2:"85";s:3:"nje";s:2:"86";s:3:"o p";s:2:"87";s:3:"odi";s:2:"88";s:3:"rva";s:2:"89";s:3:" ni";s:2:"90";s:3:"ali";s:2:"91";s:3:"min";s:2:"92";s:3:"rij";s:2:"93";s:3:"a t";s:2:"94";s:3:"a z";s:2:"95";s:3:"ats";s:2:"96";s:3:"iva";s:2:"97";s:3:"o t";s:2:"98";s:3:"od ";s:2:"99";s:3:"oje";s:3:"100";s:3:"ra ";s:3:"101";s:3:" hr";s:3:"102";s:3:"a m";s:3:"103";s:3:"a u";s:3:"104";s:3:"hrv";s:3:"105";s:3:"im ";s:3:"106";s:3:"ke ";s:3:"107";s:3:"o i";s:3:"108";s:3:"ovi";s:3:"109";s:3:"red";s:3:"110";s:3:"riv";s:3:"111";s:3:"te ";s:3:"112";s:3:"bi ";s:3:"113";s:3:"e o";s:3:"114";s:3:"god";s:3:"115";s:3:"i d";s:3:"116";s:3:"lek";s:3:"117";s:3:"umi";s:3:"118";s:3:"zvo";s:3:"119";s:3:"din";s:3:"120";s:3:"e u";s:3:"121";s:3:"ene";s:3:"122";s:3:"jed";s:3:"123";s:3:"ji ";s:3:"124";s:3:"lje";s:3:"125";s:3:"nog";s:3:"126";s:3:"su ";s:3:"127";s:3:" a ";s:3:"128";s:3:" el";s:3:"129";s:3:" mi";s:3:"130";s:3:" o ";s:3:"131";s:3:"a d";s:3:"132";s:3:"alu";s:3:"133";s:3:"ele";s:3:"134";s:3:"i u";s:3:"135";s:3:"izv";s:3:"136";s:3:"ktr";s:3:"137";s:3:"lum";s:3:"138";s:3:"o d";s:3:"139";s:3:"ori";s:3:"140";s:3:"rad";s:3:"141";s:3:"sto";s:3:"142";s:3:"a k";s:3:"143";s:3:"anj";s:3:"144";s:3:"ava";s:3:"145";s:3:"e k";s:3:"146";s:3:"men";s:3:"147";s:3:"nic";s:3:"148";s:3:"o j";s:3:"149";s:3:"oj ";s:3:"150";s:3:"ove";s:3:"151";s:3:"ski";s:3:"152";s:3:"tvr";s:3:"153";s:3:"una";s:3:"154";s:3:"vor";s:3:"155";s:3:" di";s:3:"156";s:3:" no";s:3:"157";s:3:" s ";s:3:"158";s:3:" ta";s:3:"159";s:3:" tv";s:3:"160";s:3:"i i";s:3:"161";s:3:"i o";s:3:"162";s:3:"kak";s:3:"163";s:4:"roš";s:3:"164";s:3:"sko";s:3:"165";s:3:"vod";s:3:"166";s:3:" sa";s:3:"167";s:4:" će";s:3:"168";s:3:"a b";s:3:"169";s:3:"adi";s:3:"170";s:3:"amo";s:3:"171";s:3:"eni";s:3:"172";s:3:"gov";s:3:"173";s:3:"iju";s:3:"174";s:3:"ku ";s:3:"175";s:3:"o n";s:3:"176";s:3:"ora";s:3:"177";s:3:"rav";s:3:"178";s:3:"ruj";s:3:"179";s:3:"smo";s:3:"180";s:3:"tav";s:3:"181";s:3:"tru";s:3:"182";s:3:"u p";s:3:"183";s:3:"ve ";s:3:"184";s:3:" in";s:3:"185";s:3:" pl";s:3:"186";s:3:"aci";s:3:"187";s:3:"bit";s:3:"188";s:3:"de ";s:3:"189";s:4:"diš";s:3:"190";s:3:"ema";s:3:"191";s:3:"i m";s:3:"192";s:3:"ika";s:3:"193";s:4:"išt";s:3:"194";s:3:"jer";s:3:"195";s:3:"ki ";s:3:"196";s:3:"mog";s:3:"197";s:3:"nik";s:3:"198";s:3:"nov";s:3:"199";s:3:"nu ";s:3:"200";s:3:"oji";s:3:"201";s:3:"oli";s:3:"202";s:3:"pla";s:3:"203";s:3:"pod";s:3:"204";s:3:"st ";s:3:"205";s:3:"sti";s:3:"206";s:3:"tra";s:3:"207";s:3:"tre";s:3:"208";s:3:"vo ";s:3:"209";s:3:" sm";s:3:"210";s:4:" št";s:3:"211";s:3:"dan";s:3:"212";s:3:"e z";s:3:"213";s:3:"i t";s:3:"214";s:3:"io ";s:3:"215";s:3:"ist";s:3:"216";s:3:"kon";s:3:"217";s:3:"lo ";s:3:"218";s:3:"stv";s:3:"219";s:3:"u s";s:3:"220";s:3:"uje";s:3:"221";s:3:"ust";s:3:"222";s:4:"će ";s:3:"223";s:4:"ći ";s:3:"224";s:4:"što";s:3:"225";s:3:" dr";s:3:"226";s:3:" im";s:3:"227";s:3:" li";s:3:"228";s:3:"ada";s:3:"229";s:3:"aft";s:3:"230";s:3:"ani";s:3:"231";s:3:"ao ";s:3:"232";s:3:"ars";s:3:"233";s:3:"ata";s:3:"234";s:3:"e t";s:3:"235";s:3:"emo";s:3:"236";s:3:"i k";s:3:"237";s:3:"ine";s:3:"238";s:3:"jem";s:3:"239";s:3:"kov";s:3:"240";s:3:"lik";s:3:"241";s:3:"lji";s:3:"242";s:3:"mje";s:3:"243";s:3:"naf";s:3:"244";s:3:"ner";s:3:"245";s:3:"nih";s:3:"246";s:3:"nja";s:3:"247";s:3:"ogo";s:3:"248";s:3:"oiz";s:3:"249";s:3:"ome";s:3:"250";s:3:"pot";s:3:"251";s:3:"ran";s:3:"252";s:3:"ri ";s:3:"253";s:3:"roi";s:3:"254";s:3:"rtk";s:3:"255";s:3:"ska";s:3:"256";s:3:"ter";s:3:"257";s:3:"u i";s:3:"258";s:3:"u o";s:3:"259";s:3:"vi ";s:3:"260";s:3:"vrt";s:3:"261";s:3:" me";s:3:"262";s:3:" ug";s:3:"263";s:3:"ak ";s:3:"264";s:3:"ama";s:3:"265";s:4:"drž";s:3:"266";s:3:"e e";s:3:"267";s:3:"e g";s:3:"268";s:3:"e m";s:3:"269";s:3:"em ";s:3:"270";s:3:"eme";s:3:"271";s:3:"enj";s:3:"272";s:3:"ent";s:3:"273";s:3:"er ";s:3:"274";s:3:"ere";s:3:"275";s:3:"erg";s:3:"276";s:3:"eur";s:3:"277";s:3:"go ";s:3:"278";s:3:"i b";s:3:"279";s:3:"i z";s:3:"280";s:3:"jet";s:3:"281";s:3:"ksi";s:3:"282";s:3:"o u";s:3:"283";s:3:"oda";s:3:"284";s:3:"ona";s:3:"285";s:3:"pra";s:3:"286";s:3:"reb";s:3:"287";s:3:"rem";s:3:"288";s:3:"rop";s:3:"289";s:3:"tri";s:3:"290";s:4:"žav";s:3:"291";s:3:" ci";s:3:"292";s:3:" eu";s:3:"293";s:3:" re";s:3:"294";s:3:" te";s:3:"295";s:3:" uv";s:3:"296";s:3:" ve";s:3:"297";s:3:"aju";s:3:"298";s:3:"an ";s:3:"299";}s:5:"czech";a:300:{s:3:" pr";s:1:"0";s:3:" po";s:1:"1";s:4:"ní ";s:1:"2";s:3:"pro";s:1:"3";s:3:" na";s:1:"4";s:3:"na ";s:1:"5";s:4:" př";s:1:"6";s:3:"ch ";s:1:"7";s:3:" je";s:1:"8";s:3:" ne";s:1:"9";s:4:"že ";s:2:"10";s:4:" že";s:2:"11";s:3:" se";s:2:"12";s:3:" do";s:2:"13";s:3:" ro";s:2:"14";s:3:" st";s:2:"15";s:3:" v ";s:2:"16";s:3:" ve";s:2:"17";s:4:"pře";s:2:"18";s:3:"se ";s:2:"19";s:3:"ho ";s:2:"20";s:3:"sta";s:2:"21";s:3:" to";s:2:"22";s:3:" vy";s:2:"23";s:3:" za";s:2:"24";s:3:"ou ";s:2:"25";s:3:" a ";s:2:"26";s:3:"to ";s:2:"27";s:3:" by";s:2:"28";s:3:"la ";s:2:"29";s:3:"ce ";s:2:"30";s:3:"e v";s:2:"31";s:3:"ist";s:2:"32";s:3:"le ";s:2:"33";s:3:"pod";s:2:"34";s:4:"í p";s:2:"35";s:3:" vl";s:2:"36";s:3:"e n";s:2:"37";s:3:"e s";s:2:"38";s:3:"je ";s:2:"39";s:4:"ké ";s:2:"40";s:3:"by ";s:2:"41";s:3:"em ";s:2:"42";s:4:"ých";s:2:"43";s:3:" od";s:2:"44";s:3:"ova";s:2:"45";s:4:"řed";s:2:"46";s:3:"dy ";s:2:"47";s:4:"ení";s:2:"48";s:3:"kon";s:2:"49";s:3:"li ";s:2:"50";s:4:"ně ";s:2:"51";s:3:"str";s:2:"52";s:4:" zá";s:2:"53";s:3:"ve ";s:2:"54";s:3:" ka";s:2:"55";s:3:" sv";s:2:"56";s:3:"e p";s:2:"57";s:3:"it ";s:2:"58";s:4:"lád";s:2:"59";s:3:"oho";s:2:"60";s:3:"rov";s:2:"61";s:3:"roz";s:2:"62";s:3:"ter";s:2:"63";s:4:"vlá";s:2:"64";s:4:"ím ";s:2:"65";s:3:" ko";s:2:"66";s:3:"hod";s:2:"67";s:3:"nis";s:2:"68";s:5:"pří";s:2:"69";s:4:"ský";s:2:"70";s:3:" mi";s:2:"71";s:3:" ob";s:2:"72";s:3:" so";s:2:"73";s:3:"a p";s:2:"74";s:3:"ali";s:2:"75";s:3:"bud";s:2:"76";s:3:"edn";s:2:"77";s:3:"ick";s:2:"78";s:3:"kte";s:2:"79";s:3:"ku ";s:2:"80";s:3:"o s";s:2:"81";s:3:"al ";s:2:"82";s:3:"ci ";s:2:"83";s:3:"e t";s:2:"84";s:3:"il ";s:2:"85";s:3:"ny ";s:2:"86";s:4:"né ";s:2:"87";s:3:"odl";s:2:"88";s:4:"ová";s:2:"89";s:3:"rot";s:2:"90";s:3:"sou";s:2:"91";s:5:"ání";s:2:"92";s:3:" bu";s:2:"93";s:3:" mo";s:2:"94";s:3:" o ";s:2:"95";s:3:"ast";s:2:"96";s:3:"byl";s:2:"97";s:3:"de ";s:2:"98";s:3:"ek ";s:2:"99";s:3:"ost";s:3:"100";s:4:" mí";s:3:"101";s:3:" ta";s:3:"102";s:3:"es ";s:3:"103";s:3:"jed";s:3:"104";s:3:"ky ";s:3:"105";s:3:"las";s:3:"106";s:3:"m p";s:3:"107";s:3:"nes";s:3:"108";s:4:"ním";s:3:"109";s:3:"ran";s:3:"110";s:3:"rem";s:3:"111";s:3:"ros";s:3:"112";s:4:"ého";s:3:"113";s:3:" de";s:3:"114";s:3:" kt";s:3:"115";s:3:" ni";s:3:"116";s:3:" si";s:3:"117";s:4:" vý";s:3:"118";s:3:"at ";s:3:"119";s:4:"jí ";s:3:"120";s:4:"ký ";s:3:"121";s:3:"mi ";s:3:"122";s:3:"pre";s:3:"123";s:3:"tak";s:3:"124";s:3:"tan";s:3:"125";s:3:"y v";s:3:"126";s:4:"řek";s:3:"127";s:3:" ch";s:3:"128";s:3:" li";s:3:"129";s:4:" ná";s:3:"130";s:3:" pa";s:3:"131";s:4:" ře";s:3:"132";s:3:"da ";s:3:"133";s:3:"dle";s:3:"134";s:3:"dne";s:3:"135";s:3:"i p";s:3:"136";s:3:"i v";s:3:"137";s:3:"ly ";s:3:"138";s:3:"min";s:3:"139";s:3:"o n";s:3:"140";s:3:"o v";s:3:"141";s:3:"pol";s:3:"142";s:3:"tra";s:3:"143";s:3:"val";s:3:"144";s:4:"vní";s:3:"145";s:4:"ích";s:3:"146";s:4:"ý p";s:3:"147";s:4:"řej";s:3:"148";s:3:" ce";s:3:"149";s:3:" kd";s:3:"150";s:3:" le";s:3:"151";s:3:"a s";s:3:"152";s:3:"a z";s:3:"153";s:3:"cen";s:3:"154";s:3:"e k";s:3:"155";s:3:"eds";s:3:"156";s:3:"ekl";s:3:"157";s:3:"emi";s:3:"158";s:3:"kl ";s:3:"159";s:3:"lat";s:3:"160";s:3:"lo ";s:3:"161";s:4:"mié";s:3:"162";s:3:"nov";s:3:"163";s:3:"pra";s:3:"164";s:3:"sku";s:3:"165";s:4:"ské";s:3:"166";s:3:"sti";s:3:"167";s:3:"tav";s:3:"168";s:3:"ti ";s:3:"169";s:3:"ty ";s:3:"170";s:4:"ván";s:3:"171";s:4:"vé ";s:3:"172";s:3:"y n";s:3:"173";s:3:"y s";s:3:"174";s:4:"í s";s:3:"175";s:4:"í v";s:3:"176";s:4:"ě p";s:3:"177";s:3:" dn";s:3:"178";s:4:" ně";s:3:"179";s:3:" sp";s:3:"180";s:4:" čs";s:3:"181";s:3:"a n";s:3:"182";s:3:"a t";s:3:"183";s:3:"ak ";s:3:"184";s:4:"dní";s:3:"185";s:3:"doh";s:3:"186";s:3:"e b";s:3:"187";s:3:"e m";s:3:"188";s:3:"ejn";s:3:"189";s:3:"ena";s:3:"190";s:3:"est";s:3:"191";s:3:"ini";s:3:"192";s:3:"m z";s:3:"193";s:3:"nal";s:3:"194";s:3:"nou";s:3:"195";s:4:"ná ";s:3:"196";s:3:"ovi";s:3:"197";s:4:"ové";s:3:"198";s:4:"ový";s:3:"199";s:3:"rsk";s:3:"200";s:4:"stá";s:3:"201";s:4:"tí ";s:3:"202";s:4:"tře";s:3:"203";s:4:"tů ";s:3:"204";s:3:"ude";s:3:"205";s:3:"za ";s:3:"206";s:4:"é p";s:3:"207";s:4:"ém ";s:3:"208";s:4:"í d";s:3:"209";s:3:" ir";s:3:"210";s:3:" zv";s:3:"211";s:3:"ale";s:3:"212";s:4:"aně";s:3:"213";s:3:"ave";s:3:"214";s:4:"cké";s:3:"215";s:3:"den";s:3:"216";s:3:"e z";s:3:"217";s:3:"ech";s:3:"218";s:3:"en ";s:3:"219";s:4:"erý";s:3:"220";s:3:"hla";s:3:"221";s:3:"i s";s:3:"222";s:4:"iér";s:3:"223";s:3:"lov";s:3:"224";s:3:"mu ";s:3:"225";s:3:"neb";s:3:"226";s:3:"nic";s:3:"227";s:3:"o b";s:3:"228";s:3:"o m";s:3:"229";s:3:"pad";s:3:"230";s:3:"pot";s:3:"231";s:3:"rav";s:3:"232";s:3:"rop";s:3:"233";s:4:"rý ";s:3:"234";s:3:"sed";s:3:"235";s:3:"si ";s:3:"236";s:3:"t p";s:3:"237";s:3:"tic";s:3:"238";s:3:"tu ";s:3:"239";s:4:"tě ";s:3:"240";s:3:"u p";s:3:"241";s:3:"u v";s:3:"242";s:4:"vá ";s:3:"243";s:5:"výš";s:3:"244";s:4:"zvý";s:3:"245";s:5:"ční";s:3:"246";s:5:"ří ";s:3:"247";s:4:"ům ";s:3:"248";s:3:" bl";s:3:"249";s:3:" br";s:3:"250";s:3:" ho";s:3:"251";s:3:" ja";s:3:"252";s:3:" re";s:3:"253";s:3:" s ";s:3:"254";s:3:" z ";s:3:"255";s:3:" zd";s:3:"256";s:3:"a v";s:3:"257";s:3:"ani";s:3:"258";s:3:"ato";s:3:"259";s:3:"bla";s:3:"260";s:3:"bri";s:3:"261";s:4:"ečn";s:3:"262";s:4:"eře";s:3:"263";s:3:"h v";s:3:"264";s:3:"i n";s:3:"265";s:3:"ie ";s:3:"266";s:3:"ila";s:3:"267";s:3:"irs";s:3:"268";s:3:"ite";s:3:"269";s:3:"kov";s:3:"270";s:3:"nos";s:3:"271";s:3:"o o";s:3:"272";s:3:"o p";s:3:"273";s:3:"oce";s:3:"274";s:3:"ody";s:3:"275";s:3:"ohl";s:3:"276";s:3:"oli";s:3:"277";s:3:"ovo";s:3:"278";s:3:"pla";s:3:"279";s:4:"poč";s:3:"280";s:4:"prá";s:3:"281";s:3:"ra ";s:3:"282";s:3:"rit";s:3:"283";s:3:"rod";s:3:"284";s:3:"ry ";s:3:"285";s:3:"sd ";s:3:"286";s:3:"sko";s:3:"287";s:3:"ssd";s:3:"288";s:3:"tel";s:3:"289";s:3:"u s";s:3:"290";s:3:"vat";s:3:"291";s:4:"veř";s:3:"292";s:3:"vit";s:3:"293";s:3:"vla";s:3:"294";s:3:"y p";s:3:"295";s:4:"áln";s:3:"296";s:4:"čss";s:3:"297";s:4:"šen";s:3:"298";s:3:" al";s:3:"299";}s:6:"danish";a:300:{s:3:"er ";s:1:"0";s:3:"en ";s:1:"1";s:3:" de";s:1:"2";s:3:"et ";s:1:"3";s:3:"der";s:1:"4";s:3:"de ";s:1:"5";s:3:"for";s:1:"6";s:3:" fo";s:1:"7";s:3:" i ";s:1:"8";s:3:"at ";s:1:"9";s:3:" at";s:2:"10";s:3:"re ";s:2:"11";s:3:"det";s:2:"12";s:3:" ha";s:2:"13";s:3:"nde";s:2:"14";s:3:"ere";s:2:"15";s:3:"ing";s:2:"16";s:3:"den";s:2:"17";s:3:" me";s:2:"18";s:3:" og";s:2:"19";s:3:"ger";s:2:"20";s:3:"ter";s:2:"21";s:3:" er";s:2:"22";s:3:" si";s:2:"23";s:3:"and";s:2:"24";s:3:" af";s:2:"25";s:3:"or ";s:2:"26";s:3:" st";s:2:"27";s:3:" ti";s:2:"28";s:3:" en";s:2:"29";s:3:"og ";s:2:"30";s:3:"ar ";s:2:"31";s:3:"il ";s:2:"32";s:3:"r s";s:2:"33";s:3:"ige";s:2:"34";s:3:"til";s:2:"35";s:3:"ke ";s:2:"36";s:3:"r e";s:2:"37";s:3:"af ";s:2:"38";s:3:"kke";s:2:"39";s:3:" ma";s:2:"40";s:4:" på";s:2:"41";s:3:"om ";s:2:"42";s:4:"på ";s:2:"43";s:3:"ed ";s:2:"44";s:3:"ge ";s:2:"45";s:3:"end";s:2:"46";s:3:"nge";s:2:"47";s:3:"t s";s:2:"48";s:3:"e s";s:2:"49";s:3:"ler";s:2:"50";s:3:" sk";s:2:"51";s:3:"els";s:2:"52";s:3:"ern";s:2:"53";s:3:"sig";s:2:"54";s:3:"ne ";s:2:"55";s:3:"lig";s:2:"56";s:3:"r d";s:2:"57";s:3:"ska";s:2:"58";s:3:" vi";s:2:"59";s:3:"har";s:2:"60";s:3:" be";s:2:"61";s:3:" se";s:2:"62";s:3:"an ";s:2:"63";s:3:"ikk";s:2:"64";s:3:"lle";s:2:"65";s:3:"gen";s:2:"66";s:3:"n f";s:2:"67";s:3:"ste";s:2:"68";s:3:"t a";s:2:"69";s:3:"t d";s:2:"70";s:3:"rin";s:2:"71";s:3:" ik";s:2:"72";s:3:"es ";s:2:"73";s:3:"ng ";s:2:"74";s:3:"ver";s:2:"75";s:3:"r b";s:2:"76";s:3:"sen";s:2:"77";s:3:"ede";s:2:"78";s:3:"men";s:2:"79";s:3:"r i";s:2:"80";s:3:" he";s:2:"81";s:3:" et";s:2:"82";s:3:"ig ";s:2:"83";s:3:"lan";s:2:"84";s:3:"med";s:2:"85";s:3:"nd ";s:2:"86";s:3:"rne";s:2:"87";s:3:" da";s:2:"88";s:3:" in";s:2:"89";s:3:"e t";s:2:"90";s:3:"mme";s:2:"91";s:3:"und";s:2:"92";s:3:" om";s:2:"93";s:3:"e e";s:2:"94";s:3:"e m";s:2:"95";s:3:"her";s:2:"96";s:3:"le ";s:2:"97";s:3:"r f";s:2:"98";s:3:"t f";s:2:"99";s:4:"så ";s:3:"100";s:3:"te ";s:3:"101";s:3:" so";s:3:"102";s:3:"ele";s:3:"103";s:3:"t e";s:3:"104";s:3:" ko";s:3:"105";s:3:"est";s:3:"106";s:3:"ske";s:3:"107";s:3:" bl";s:3:"108";s:3:"e f";s:3:"109";s:3:"ekt";s:3:"110";s:3:"mar";s:3:"111";s:3:"bru";s:3:"112";s:3:"e a";s:3:"113";s:3:"el ";s:3:"114";s:3:"ers";s:3:"115";s:3:"ret";s:3:"116";s:3:"som";s:3:"117";s:3:"tte";s:3:"118";s:3:"ve ";s:3:"119";s:3:" la";s:3:"120";s:3:" ud";s:3:"121";s:3:" ve";s:3:"122";s:3:"age";s:3:"123";s:3:"e d";s:3:"124";s:3:"e h";s:3:"125";s:3:"lse";s:3:"126";s:3:"man";s:3:"127";s:3:"rug";s:3:"128";s:3:"sel";s:3:"129";s:3:"ser";s:3:"130";s:3:" fi";s:3:"131";s:3:" op";s:3:"132";s:3:" pr";s:3:"133";s:3:"dt ";s:3:"134";s:3:"e i";s:3:"135";s:3:"n m";s:3:"136";s:3:"r m";s:3:"137";s:3:" an";s:3:"138";s:3:" re";s:3:"139";s:3:" sa";s:3:"140";s:3:"ion";s:3:"141";s:3:"ner";s:3:"142";s:3:"res";s:3:"143";s:3:"t i";s:3:"144";s:3:"get";s:3:"145";s:3:"n s";s:3:"146";s:3:"one";s:3:"147";s:3:"orb";s:3:"148";s:3:"t h";s:3:"149";s:3:"vis";s:3:"150";s:4:"år ";s:3:"151";s:3:" fr";s:3:"152";s:3:"bil";s:3:"153";s:3:"e k";s:3:"154";s:3:"ens";s:3:"155";s:3:"ind";s:3:"156";s:3:"omm";s:3:"157";s:3:"t m";s:3:"158";s:3:" hv";s:3:"159";s:3:" je";s:3:"160";s:3:"dan";s:3:"161";s:3:"ent";s:3:"162";s:3:"fte";s:3:"163";s:3:"nin";s:3:"164";s:3:" mi";s:3:"165";s:3:"e o";s:3:"166";s:3:"e p";s:3:"167";s:3:"n o";s:3:"168";s:3:"nte";s:3:"169";s:3:" ku";s:3:"170";s:3:"ell";s:3:"171";s:3:"nas";s:3:"172";s:3:"ore";s:3:"173";s:3:"r h";s:3:"174";s:3:"r k";s:3:"175";s:3:"sta";s:3:"176";s:3:"sto";s:3:"177";s:3:"dag";s:3:"178";s:3:"eri";s:3:"179";s:3:"kun";s:3:"180";s:3:"lde";s:3:"181";s:3:"mer";s:3:"182";s:3:"r a";s:3:"183";s:3:"r v";s:3:"184";s:3:"rek";s:3:"185";s:3:"rer";s:3:"186";s:3:"t o";s:3:"187";s:3:"tor";s:3:"188";s:4:"tør";s:3:"189";s:4:" få";s:3:"190";s:4:" må";s:3:"191";s:3:" to";s:3:"192";s:3:"boe";s:3:"193";s:3:"che";s:3:"194";s:3:"e v";s:3:"195";s:3:"i d";s:3:"196";s:3:"ive";s:3:"197";s:3:"kab";s:3:"198";s:3:"ns ";s:3:"199";s:3:"oel";s:3:"200";s:3:"se ";s:3:"201";s:3:"t v";s:3:"202";s:3:" al";s:3:"203";s:3:" bo";s:3:"204";s:3:" un";s:3:"205";s:3:"ans";s:3:"206";s:3:"dre";s:3:"207";s:3:"ire";s:3:"208";s:4:"køb";s:3:"209";s:3:"ors";s:3:"210";s:3:"ove";s:3:"211";s:3:"ren";s:3:"212";s:3:"t b";s:3:"213";s:4:"ør ";s:3:"214";s:3:" ka";s:3:"215";s:3:"ald";s:3:"216";s:3:"bet";s:3:"217";s:3:"gt ";s:3:"218";s:3:"isk";s:3:"219";s:3:"kal";s:3:"220";s:3:"kom";s:3:"221";s:3:"lev";s:3:"222";s:3:"n d";s:3:"223";s:3:"n i";s:3:"224";s:3:"pri";s:3:"225";s:3:"r p";s:3:"226";s:3:"rbr";s:3:"227";s:4:"søg";s:3:"228";s:3:"tel";s:3:"229";s:4:" så";s:3:"230";s:3:" te";s:3:"231";s:3:" va";s:3:"232";s:3:"al ";s:3:"233";s:3:"dir";s:3:"234";s:3:"eje";s:3:"235";s:3:"fis";s:3:"236";s:4:"gså";s:3:"237";s:3:"isc";s:3:"238";s:3:"jer";s:3:"239";s:3:"ker";s:3:"240";s:3:"ogs";s:3:"241";s:3:"sch";s:3:"242";s:3:"st ";s:3:"243";s:3:"t k";s:3:"244";s:3:"uge";s:3:"245";s:3:" di";s:3:"246";s:3:"ag ";s:3:"247";s:3:"d a";s:3:"248";s:3:"g i";s:3:"249";s:3:"ill";s:3:"250";s:3:"l a";s:3:"251";s:3:"lsk";s:3:"252";s:3:"n a";s:3:"253";s:3:"on ";s:3:"254";s:3:"sam";s:3:"255";s:3:"str";s:3:"256";s:3:"tet";s:3:"257";s:3:"var";s:3:"258";s:3:" mo";s:3:"259";s:3:"art";s:3:"260";s:3:"ash";s:3:"261";s:3:"att";s:3:"262";s:3:"e b";s:3:"263";s:3:"han";s:3:"264";s:3:"hav";s:3:"265";s:3:"kla";s:3:"266";s:3:"kon";s:3:"267";s:3:"n t";s:3:"268";s:3:"ned";s:3:"269";s:3:"r o";s:3:"270";s:3:"ra ";s:3:"271";s:3:"rre";s:3:"272";s:3:"ves";s:3:"273";s:3:"vil";s:3:"274";s:3:" el";s:3:"275";s:3:" kr";s:3:"276";s:3:" ov";s:3:"277";s:3:"ann";s:3:"278";s:3:"e u";s:3:"279";s:3:"ess";s:3:"280";s:3:"fra";s:3:"281";s:3:"g a";s:3:"282";s:3:"g d";s:3:"283";s:3:"int";s:3:"284";s:3:"ngs";s:3:"285";s:3:"rde";s:3:"286";s:3:"tra";s:3:"287";s:4:" år";s:3:"288";s:3:"akt";s:3:"289";s:3:"asi";s:3:"290";s:3:"em ";s:3:"291";s:3:"gel";s:3:"292";s:3:"gym";s:3:"293";s:3:"hol";s:3:"294";s:3:"kan";s:3:"295";s:3:"mna";s:3:"296";s:3:"n h";s:3:"297";s:3:"nsk";s:3:"298";s:3:"old";s:3:"299";}s:5:"dutch";a:300:{s:3:"en ";s:1:"0";s:3:"de ";s:1:"1";s:3:" de";s:1:"2";s:3:"et ";s:1:"3";s:3:"an ";s:1:"4";s:3:" he";s:1:"5";s:3:"er ";s:1:"6";s:3:" va";s:1:"7";s:3:"n d";s:1:"8";s:3:"van";s:1:"9";s:3:"een";s:2:"10";s:3:"het";s:2:"11";s:3:" ge";s:2:"12";s:3:"oor";s:2:"13";s:3:" ee";s:2:"14";s:3:"der";s:2:"15";s:3:" en";s:2:"16";s:3:"ij ";s:2:"17";s:3:"aar";s:2:"18";s:3:"gen";s:2:"19";s:3:"te ";s:2:"20";s:3:"ver";s:2:"21";s:3:" in";s:2:"22";s:3:" me";s:2:"23";s:3:"aan";s:2:"24";s:3:"den";s:2:"25";s:3:" we";s:2:"26";s:3:"at ";s:2:"27";s:3:"in ";s:2:"28";s:3:" da";s:2:"29";s:3:" te";s:2:"30";s:3:"eer";s:2:"31";s:3:"nde";s:2:"32";s:3:"ter";s:2:"33";s:3:"ste";s:2:"34";s:3:"n v";s:2:"35";s:3:" vo";s:2:"36";s:3:" zi";s:2:"37";s:3:"ing";s:2:"38";s:3:"n h";s:2:"39";s:3:"voo";s:2:"40";s:3:"is ";s:2:"41";s:3:" op";s:2:"42";s:3:"tie";s:2:"43";s:3:" aa";s:2:"44";s:3:"ede";s:2:"45";s:3:"erd";s:2:"46";s:3:"ers";s:2:"47";s:3:" be";s:2:"48";s:3:"eme";s:2:"49";s:3:"ten";s:2:"50";s:3:"ken";s:2:"51";s:3:"n e";s:2:"52";s:3:" ni";s:2:"53";s:3:" ve";s:2:"54";s:3:"ent";s:2:"55";s:3:"ijn";s:2:"56";s:3:"jn ";s:2:"57";s:3:"mee";s:2:"58";s:3:"iet";s:2:"59";s:3:"n w";s:2:"60";s:3:"ng ";s:2:"61";s:3:"nie";s:2:"62";s:3:" is";s:2:"63";s:3:"cht";s:2:"64";s:3:"dat";s:2:"65";s:3:"ere";s:2:"66";s:3:"ie ";s:2:"67";s:3:"ijk";s:2:"68";s:3:"n b";s:2:"69";s:3:"rde";s:2:"70";s:3:"ar ";s:2:"71";s:3:"e b";s:2:"72";s:3:"e a";s:2:"73";s:3:"met";s:2:"74";s:3:"t d";s:2:"75";s:3:"el ";s:2:"76";s:3:"ond";s:2:"77";s:3:"t h";s:2:"78";s:3:" al";s:2:"79";s:3:"e w";s:2:"80";s:3:"op ";s:2:"81";s:3:"ren";s:2:"82";s:3:" di";s:2:"83";s:3:" on";s:2:"84";s:3:"al ";s:2:"85";s:3:"and";s:2:"86";s:3:"bij";s:2:"87";s:3:"zij";s:2:"88";s:3:" bi";s:2:"89";s:3:" hi";s:2:"90";s:3:" wi";s:2:"91";s:3:"or ";s:2:"92";s:3:"r d";s:2:"93";s:3:"t v";s:2:"94";s:3:" wa";s:2:"95";s:3:"e h";s:2:"96";s:3:"lle";s:2:"97";s:3:"rt ";s:2:"98";s:3:"ang";s:2:"99";s:3:"hij";s:3:"100";s:3:"men";s:3:"101";s:3:"n a";s:3:"102";s:3:"n z";s:3:"103";s:3:"rs ";s:3:"104";s:3:" om";s:3:"105";s:3:"e o";s:3:"106";s:3:"e v";s:3:"107";s:3:"end";s:3:"108";s:3:"est";s:3:"109";s:3:"n t";s:3:"110";s:3:"par";s:3:"111";s:3:" pa";s:3:"112";s:3:" pr";s:3:"113";s:3:" ze";s:3:"114";s:3:"e g";s:3:"115";s:3:"e p";s:3:"116";s:3:"n p";s:3:"117";s:3:"ord";s:3:"118";s:3:"oud";s:3:"119";s:3:"raa";s:3:"120";s:3:"sch";s:3:"121";s:3:"t e";s:3:"122";s:3:"ege";s:3:"123";s:3:"ich";s:3:"124";s:3:"ien";s:3:"125";s:3:"aat";s:3:"126";s:3:"ek ";s:3:"127";s:3:"len";s:3:"128";s:3:"n m";s:3:"129";s:3:"nge";s:3:"130";s:3:"nt ";s:3:"131";s:3:"ove";s:3:"132";s:3:"rd ";s:3:"133";s:3:"wer";s:3:"134";s:3:" ma";s:3:"135";s:3:" mi";s:3:"136";s:3:"daa";s:3:"137";s:3:"e k";s:3:"138";s:3:"lij";s:3:"139";s:3:"mer";s:3:"140";s:3:"n g";s:3:"141";s:3:"n o";s:3:"142";s:3:"om ";s:3:"143";s:3:"sen";s:3:"144";s:3:"t b";s:3:"145";s:3:"wij";s:3:"146";s:3:" ho";s:3:"147";s:3:"e m";s:3:"148";s:3:"ele";s:3:"149";s:3:"gem";s:3:"150";s:3:"heb";s:3:"151";s:3:"pen";s:3:"152";s:3:"ude";s:3:"153";s:3:" bo";s:3:"154";s:3:" ja";s:3:"155";s:3:"die";s:3:"156";s:3:"e e";s:3:"157";s:3:"eli";s:3:"158";s:3:"erk";s:3:"159";s:3:"le ";s:3:"160";s:3:"pro";s:3:"161";s:3:"rij";s:3:"162";s:3:" er";s:3:"163";s:3:" za";s:3:"164";s:3:"e d";s:3:"165";s:3:"ens";s:3:"166";s:3:"ind";s:3:"167";s:3:"ke ";s:3:"168";s:3:"n k";s:3:"169";s:3:"nd ";s:3:"170";s:3:"nen";s:3:"171";s:3:"nte";s:3:"172";s:3:"r h";s:3:"173";s:3:"s d";s:3:"174";s:3:"s e";s:3:"175";s:3:"t z";s:3:"176";s:3:" b ";s:3:"177";s:3:" co";s:3:"178";s:3:" ik";s:3:"179";s:3:" ko";s:3:"180";s:3:" ov";s:3:"181";s:3:"eke";s:3:"182";s:3:"hou";s:3:"183";s:3:"ik ";s:3:"184";s:3:"iti";s:3:"185";s:3:"lan";s:3:"186";s:3:"ns ";s:3:"187";s:3:"t g";s:3:"188";s:3:"t m";s:3:"189";s:3:" do";s:3:"190";s:3:" le";s:3:"191";s:3:" zo";s:3:"192";s:3:"ams";s:3:"193";s:3:"e z";s:3:"194";s:3:"g v";s:3:"195";s:3:"it ";s:3:"196";s:3:"je ";s:3:"197";s:3:"ls ";s:3:"198";s:3:"maa";s:3:"199";s:3:"n i";s:3:"200";s:3:"nke";s:3:"201";s:3:"rke";s:3:"202";s:3:"uit";s:3:"203";s:3:" ha";s:3:"204";s:3:" ka";s:3:"205";s:3:" mo";s:3:"206";s:3:" re";s:3:"207";s:3:" st";s:3:"208";s:3:" to";s:3:"209";s:3:"age";s:3:"210";s:3:"als";s:3:"211";s:3:"ark";s:3:"212";s:3:"art";s:3:"213";s:3:"ben";s:3:"214";s:3:"e r";s:3:"215";s:3:"e s";s:3:"216";s:3:"ert";s:3:"217";s:3:"eze";s:3:"218";s:3:"ht ";s:3:"219";s:3:"ijd";s:3:"220";s:3:"lem";s:3:"221";s:3:"r v";s:3:"222";s:3:"rte";s:3:"223";s:3:"t p";s:3:"224";s:3:"zeg";s:3:"225";s:3:"zic";s:3:"226";s:3:"aak";s:3:"227";s:3:"aal";s:3:"228";s:3:"ag ";s:3:"229";s:3:"ale";s:3:"230";s:3:"bbe";s:3:"231";s:3:"ch ";s:3:"232";s:3:"e t";s:3:"233";s:3:"ebb";s:3:"234";s:3:"erz";s:3:"235";s:3:"ft ";s:3:"236";s:3:"ge ";s:3:"237";s:3:"led";s:3:"238";s:3:"mst";s:3:"239";s:3:"n n";s:3:"240";s:3:"oek";s:3:"241";s:3:"r i";s:3:"242";s:3:"t o";s:3:"243";s:3:"t w";s:3:"244";s:3:"tel";s:3:"245";s:3:"tte";s:3:"246";s:3:"uur";s:3:"247";s:3:"we ";s:3:"248";s:3:"zit";s:3:"249";s:3:" af";s:3:"250";s:3:" li";s:3:"251";s:3:" ui";s:3:"252";s:3:"ak ";s:3:"253";s:3:"all";s:3:"254";s:3:"aut";s:3:"255";s:3:"doo";s:3:"256";s:3:"e i";s:3:"257";s:3:"ene";s:3:"258";s:3:"erg";s:3:"259";s:3:"ete";s:3:"260";s:3:"ges";s:3:"261";s:3:"hee";s:3:"262";s:3:"jaa";s:3:"263";s:3:"jke";s:3:"264";s:3:"kee";s:3:"265";s:3:"kel";s:3:"266";s:3:"kom";s:3:"267";s:3:"lee";s:3:"268";s:3:"moe";s:3:"269";s:3:"n s";s:3:"270";s:3:"ort";s:3:"271";s:3:"rec";s:3:"272";s:3:"s o";s:3:"273";s:3:"s v";s:3:"274";s:3:"teg";s:3:"275";s:3:"tij";s:3:"276";s:3:"ven";s:3:"277";s:3:"waa";s:3:"278";s:3:"wel";s:3:"279";s:3:" an";s:3:"280";s:3:" au";s:3:"281";s:3:" bu";s:3:"282";s:3:" gr";s:3:"283";s:3:" pl";s:3:"284";s:3:" ti";s:3:"285";s:3:"'' ";s:3:"286";s:3:"ade";s:3:"287";s:3:"dag";s:3:"288";s:3:"e l";s:3:"289";s:3:"ech";s:3:"290";s:3:"eel";s:3:"291";s:3:"eft";s:3:"292";s:3:"ger";s:3:"293";s:3:"gt ";s:3:"294";s:3:"ig ";s:3:"295";s:3:"itt";s:3:"296";s:3:"j d";s:3:"297";s:3:"ppe";s:3:"298";s:3:"rda";s:3:"299";}s:7:"english";a:300:{s:3:" th";s:1:"0";s:3:"the";s:1:"1";s:3:"he ";s:1:"2";s:3:"ed ";s:1:"3";s:3:" to";s:1:"4";s:3:" in";s:1:"5";s:3:"er ";s:1:"6";s:3:"ing";s:1:"7";s:3:"ng ";s:1:"8";s:3:" an";s:1:"9";s:3:"nd ";s:2:"10";s:3:" of";s:2:"11";s:3:"and";s:2:"12";s:3:"to ";s:2:"13";s:3:"of ";s:2:"14";s:3:" co";s:2:"15";s:3:"at ";s:2:"16";s:3:"on ";s:2:"17";s:3:"in ";s:2:"18";s:3:" a ";s:2:"19";s:3:"d t";s:2:"20";s:3:" he";s:2:"21";s:3:"e t";s:2:"22";s:3:"ion";s:2:"23";s:3:"es ";s:2:"24";s:3:" re";s:2:"25";s:3:"re ";s:2:"26";s:3:"hat";s:2:"27";s:3:" sa";s:2:"28";s:3:" st";s:2:"29";s:3:" ha";s:2:"30";s:3:"her";s:2:"31";s:3:"tha";s:2:"32";s:3:"tio";s:2:"33";s:3:"or ";s:2:"34";s:3:" ''";s:2:"35";s:3:"en ";s:2:"36";s:3:" wh";s:2:"37";s:3:"e s";s:2:"38";s:3:"ent";s:2:"39";s:3:"n t";s:2:"40";s:3:"s a";s:2:"41";s:3:"as ";s:2:"42";s:3:"for";s:2:"43";s:3:"is ";s:2:"44";s:3:"t t";s:2:"45";s:3:" be";s:2:"46";s:3:"ld ";s:2:"47";s:3:"e a";s:2:"48";s:3:"rs ";s:2:"49";s:3:" wa";s:2:"50";s:3:"ut ";s:2:"51";s:3:"ve ";s:2:"52";s:3:"ll ";s:2:"53";s:3:"al ";s:2:"54";s:3:" ma";s:2:"55";s:3:"e i";s:2:"56";s:3:" fo";s:2:"57";s:3:"'s ";s:2:"58";s:3:"an ";s:2:"59";s:3:"est";s:2:"60";s:3:" hi";s:2:"61";s:3:" mo";s:2:"62";s:3:" se";s:2:"63";s:3:" pr";s:2:"64";s:3:"s t";s:2:"65";s:3:"ate";s:2:"66";s:3:"st ";s:2:"67";s:3:"ter";s:2:"68";s:3:"ere";s:2:"69";s:3:"ted";s:2:"70";s:3:"nt ";s:2:"71";s:3:"ver";s:2:"72";s:3:"d a";s:2:"73";s:3:" wi";s:2:"74";s:3:"se ";s:2:"75";s:3:"e c";s:2:"76";s:3:"ect";s:2:"77";s:3:"ns ";s:2:"78";s:3:" on";s:2:"79";s:3:"ly ";s:2:"80";s:3:"tol";s:2:"81";s:3:"ey ";s:2:"82";s:3:"r t";s:2:"83";s:3:" ca";s:2:"84";s:3:"ati";s:2:"85";s:3:"ts ";s:2:"86";s:3:"all";s:2:"87";s:3:" no";s:2:"88";s:3:"his";s:2:"89";s:3:"s o";s:2:"90";s:3:"ers";s:2:"91";s:3:"con";s:2:"92";s:3:"e o";s:2:"93";s:3:"ear";s:2:"94";s:3:"f t";s:2:"95";s:3:"e w";s:2:"96";s:3:"was";s:2:"97";s:3:"ons";s:2:"98";s:3:"sta";s:2:"99";s:3:"'' ";s:3:"100";s:3:"sti";s:3:"101";s:3:"n a";s:3:"102";s:3:"sto";s:3:"103";s:3:"t h";s:3:"104";s:3:" we";s:3:"105";s:3:"id ";s:3:"106";s:3:"th ";s:3:"107";s:3:" it";s:3:"108";s:3:"ce ";s:3:"109";s:3:" di";s:3:"110";s:3:"ave";s:3:"111";s:3:"d h";s:3:"112";s:3:"cou";s:3:"113";s:3:"pro";s:3:"114";s:3:"ad ";s:3:"115";s:3:"oll";s:3:"116";s:3:"ry ";s:3:"117";s:3:"d s";s:3:"118";s:3:"e m";s:3:"119";s:3:" so";s:3:"120";s:3:"ill";s:3:"121";s:3:"cti";s:3:"122";s:3:"te ";s:3:"123";s:3:"tor";s:3:"124";s:3:"eve";s:3:"125";s:3:"g t";s:3:"126";s:3:"it ";s:3:"127";s:3:" ch";s:3:"128";s:3:" de";s:3:"129";s:3:"hav";s:3:"130";s:3:"oul";s:3:"131";s:3:"ty ";s:3:"132";s:3:"uld";s:3:"133";s:3:"use";s:3:"134";s:3:" al";s:3:"135";s:3:"are";s:3:"136";s:3:"ch ";s:3:"137";s:3:"me ";s:3:"138";s:3:"out";s:3:"139";s:3:"ove";s:3:"140";s:3:"wit";s:3:"141";s:3:"ys ";s:3:"142";s:3:"chi";s:3:"143";s:3:"t a";s:3:"144";s:3:"ith";s:3:"145";s:3:"oth";s:3:"146";s:3:" ab";s:3:"147";s:3:" te";s:3:"148";s:3:" wo";s:3:"149";s:3:"s s";s:3:"150";s:3:"res";s:3:"151";s:3:"t w";s:3:"152";s:3:"tin";s:3:"153";s:3:"e b";s:3:"154";s:3:"e h";s:3:"155";s:3:"nce";s:3:"156";s:3:"t s";s:3:"157";s:3:"y t";s:3:"158";s:3:"e p";s:3:"159";s:3:"ele";s:3:"160";s:3:"hin";s:3:"161";s:3:"s i";s:3:"162";s:3:"nte";s:3:"163";s:3:" li";s:3:"164";s:3:"le ";s:3:"165";s:3:" do";s:3:"166";s:3:"aid";s:3:"167";s:3:"hey";s:3:"168";s:3:"ne ";s:3:"169";s:3:"s w";s:3:"170";s:3:" as";s:3:"171";s:3:" fr";s:3:"172";s:3:" tr";s:3:"173";s:3:"end";s:3:"174";s:3:"sai";s:3:"175";s:3:" el";s:3:"176";s:3:" ne";s:3:"177";s:3:" su";s:3:"178";s:3:"'t ";s:3:"179";s:3:"ay ";s:3:"180";s:3:"hou";s:3:"181";s:3:"ive";s:3:"182";s:3:"lec";s:3:"183";s:3:"n't";s:3:"184";s:3:" ye";s:3:"185";s:3:"but";s:3:"186";s:3:"d o";s:3:"187";s:3:"o t";s:3:"188";s:3:"y o";s:3:"189";s:3:" ho";s:3:"190";s:3:" me";s:3:"191";s:3:"be ";s:3:"192";s:3:"cal";s:3:"193";s:3:"e e";s:3:"194";s:3:"had";s:3:"195";s:3:"ple";s:3:"196";s:3:" at";s:3:"197";s:3:" bu";s:3:"198";s:3:" la";s:3:"199";s:3:"d b";s:3:"200";s:3:"s h";s:3:"201";s:3:"say";s:3:"202";s:3:"t i";s:3:"203";s:3:" ar";s:3:"204";s:3:"e f";s:3:"205";s:3:"ght";s:3:"206";s:3:"hil";s:3:"207";s:3:"igh";s:3:"208";s:3:"int";s:3:"209";s:3:"not";s:3:"210";s:3:"ren";s:3:"211";s:3:" is";s:3:"212";s:3:" pa";s:3:"213";s:3:" sh";s:3:"214";s:3:"ays";s:3:"215";s:3:"com";s:3:"216";s:3:"n s";s:3:"217";s:3:"r a";s:3:"218";s:3:"rin";s:3:"219";s:3:"y a";s:3:"220";s:3:" un";s:3:"221";s:3:"n c";s:3:"222";s:3:"om ";s:3:"223";s:3:"thi";s:3:"224";s:3:" mi";s:3:"225";s:3:"by ";s:3:"226";s:3:"d i";s:3:"227";s:3:"e d";s:3:"228";s:3:"e n";s:3:"229";s:3:"t o";s:3:"230";s:3:" by";s:3:"231";s:3:"e r";s:3:"232";s:3:"eri";s:3:"233";s:3:"old";s:3:"234";s:3:"ome";s:3:"235";s:3:"whe";s:3:"236";s:3:"yea";s:3:"237";s:3:" gr";s:3:"238";s:3:"ar ";s:3:"239";s:3:"ity";s:3:"240";s:3:"mpl";s:3:"241";s:3:"oun";s:3:"242";s:3:"one";s:3:"243";s:3:"ow ";s:3:"244";s:3:"r s";s:3:"245";s:3:"s f";s:3:"246";s:3:"tat";s:3:"247";s:3:" ba";s:3:"248";s:3:" vo";s:3:"249";s:3:"bou";s:3:"250";s:3:"sam";s:3:"251";s:3:"tim";s:3:"252";s:3:"vot";s:3:"253";s:3:"abo";s:3:"254";s:3:"ant";s:3:"255";s:3:"ds ";s:3:"256";s:3:"ial";s:3:"257";s:3:"ine";s:3:"258";s:3:"man";s:3:"259";s:3:"men";s:3:"260";s:3:" or";s:3:"261";s:3:" po";s:3:"262";s:3:"amp";s:3:"263";s:3:"can";s:3:"264";s:3:"der";s:3:"265";s:3:"e l";s:3:"266";s:3:"les";s:3:"267";s:3:"ny ";s:3:"268";s:3:"ot ";s:3:"269";s:3:"rec";s:3:"270";s:3:"tes";s:3:"271";s:3:"tho";s:3:"272";s:3:"ica";s:3:"273";s:3:"ild";s:3:"274";s:3:"ir ";s:3:"275";s:3:"nde";s:3:"276";s:3:"ose";s:3:"277";s:3:"ous";s:3:"278";s:3:"pre";s:3:"279";s:3:"ste";s:3:"280";s:3:"era";s:3:"281";s:3:"per";s:3:"282";s:3:"r o";s:3:"283";s:3:"red";s:3:"284";s:3:"rie";s:3:"285";s:3:" bo";s:3:"286";s:3:" le";s:3:"287";s:3:"ali";s:3:"288";s:3:"ars";s:3:"289";s:3:"ore";s:3:"290";s:3:"ric";s:3:"291";s:3:"s m";s:3:"292";s:3:"str";s:3:"293";s:3:" fa";s:3:"294";s:3:"ess";s:3:"295";s:3:"ie ";s:3:"296";s:3:"ist";s:3:"297";s:3:"lat";s:3:"298";s:3:"uri";s:3:"299";}s:8:"estonian";a:300:{s:3:"st ";s:1:"0";s:3:" ka";s:1:"1";s:3:"on ";s:1:"2";s:3:"ja ";s:1:"3";s:3:" va";s:1:"4";s:3:" on";s:1:"5";s:3:" ja";s:1:"6";s:3:" ko";s:1:"7";s:3:"se ";s:1:"8";s:3:"ast";s:1:"9";s:3:"le ";s:2:"10";s:3:"es ";s:2:"11";s:3:"as ";s:2:"12";s:3:"is ";s:2:"13";s:3:"ud ";s:2:"14";s:3:" sa";s:2:"15";s:3:"da ";s:2:"16";s:3:"ga ";s:2:"17";s:3:" ta";s:2:"18";s:3:"aja";s:2:"19";s:3:"sta";s:2:"20";s:3:" ku";s:2:"21";s:3:" pe";s:2:"22";s:3:"a k";s:2:"23";s:3:"est";s:2:"24";s:3:"ist";s:2:"25";s:3:"ks ";s:2:"26";s:3:"ta ";s:2:"27";s:3:"al ";s:2:"28";s:3:"ava";s:2:"29";s:3:"id ";s:2:"30";s:3:"saa";s:2:"31";s:3:"mis";s:2:"32";s:3:"te ";s:2:"33";s:3:"val";s:2:"34";s:3:" et";s:2:"35";s:3:"nud";s:2:"36";s:3:" te";s:2:"37";s:3:"inn";s:2:"38";s:3:" se";s:2:"39";s:3:" tu";s:2:"40";s:3:"a v";s:2:"41";s:3:"alu";s:2:"42";s:3:"e k";s:2:"43";s:3:"ise";s:2:"44";s:3:"lu ";s:2:"45";s:3:"ma ";s:2:"46";s:3:"mes";s:2:"47";s:3:" mi";s:2:"48";s:3:"et ";s:2:"49";s:3:"iku";s:2:"50";s:3:"lin";s:2:"51";s:3:"ad ";s:2:"52";s:3:"el ";s:2:"53";s:3:"ime";s:2:"54";s:3:"ne ";s:2:"55";s:3:"nna";s:2:"56";s:3:" ha";s:2:"57";s:3:" in";s:2:"58";s:3:" ke";s:2:"59";s:4:" võ";s:2:"60";s:3:"a s";s:2:"61";s:3:"a t";s:2:"62";s:3:"ab ";s:2:"63";s:3:"e s";s:2:"64";s:3:"esi";s:2:"65";s:3:" la";s:2:"66";s:3:" li";s:2:"67";s:3:"e v";s:2:"68";s:3:"eks";s:2:"69";s:3:"ema";s:2:"70";s:3:"las";s:2:"71";s:3:"les";s:2:"72";s:3:"rju";s:2:"73";s:3:"tle";s:2:"74";s:3:"tsi";s:2:"75";s:3:"tus";s:2:"76";s:3:"upa";s:2:"77";s:3:"use";s:2:"78";s:3:"ust";s:2:"79";s:3:"var";s:2:"80";s:4:" lä";s:2:"81";s:3:"ali";s:2:"82";s:3:"arj";s:2:"83";s:3:"de ";s:2:"84";s:3:"ete";s:2:"85";s:3:"i t";s:2:"86";s:3:"iga";s:2:"87";s:3:"ilm";s:2:"88";s:3:"kui";s:2:"89";s:3:"li ";s:2:"90";s:3:"tul";s:2:"91";s:3:" ei";s:2:"92";s:3:" me";s:2:"93";s:4:" sõ";s:2:"94";s:3:"aal";s:2:"95";s:3:"ata";s:2:"96";s:3:"dus";s:2:"97";s:3:"ei ";s:2:"98";s:3:"nik";s:2:"99";s:3:"pea";s:3:"100";s:3:"s k";s:3:"101";s:3:"s o";s:3:"102";s:3:"sal";s:3:"103";s:4:"sõn";s:3:"104";s:3:"ter";s:3:"105";s:3:"ul ";s:3:"106";s:4:"või";s:3:"107";s:3:" el";s:3:"108";s:3:" ne";s:3:"109";s:3:"a j";s:3:"110";s:3:"ate";s:3:"111";s:3:"end";s:3:"112";s:3:"i k";s:3:"113";s:3:"ita";s:3:"114";s:3:"kar";s:3:"115";s:3:"kor";s:3:"116";s:3:"l o";s:3:"117";s:3:"lt ";s:3:"118";s:3:"maa";s:3:"119";s:3:"oli";s:3:"120";s:3:"sti";s:3:"121";s:3:"vad";s:3:"122";s:5:"ään";s:3:"123";s:3:" ju";s:3:"124";s:4:" jä";s:3:"125";s:4:" kü";s:3:"126";s:3:" ma";s:3:"127";s:3:" po";s:3:"128";s:4:" üt";s:3:"129";s:3:"aas";s:3:"130";s:3:"aks";s:3:"131";s:3:"at ";s:3:"132";s:3:"ed ";s:3:"133";s:3:"eri";s:3:"134";s:3:"hoi";s:3:"135";s:3:"i s";s:3:"136";s:3:"ka ";s:3:"137";s:3:"la ";s:3:"138";s:3:"nni";s:3:"139";s:3:"oid";s:3:"140";s:3:"pai";s:3:"141";s:3:"rit";s:3:"142";s:3:"us ";s:3:"143";s:4:"ütl";s:3:"144";s:3:" aa";s:3:"145";s:3:" lo";s:3:"146";s:3:" to";s:3:"147";s:3:" ve";s:3:"148";s:3:"a e";s:3:"149";s:3:"ada";s:3:"150";s:3:"aid";s:3:"151";s:3:"ami";s:3:"152";s:3:"and";s:3:"153";s:3:"dla";s:3:"154";s:3:"e j";s:3:"155";s:3:"ega";s:3:"156";s:3:"gi ";s:3:"157";s:3:"gu ";s:3:"158";s:3:"i p";s:3:"159";s:3:"idl";s:3:"160";s:3:"ik ";s:3:"161";s:3:"ini";s:3:"162";s:3:"jup";s:3:"163";s:3:"kal";s:3:"164";s:3:"kas";s:3:"165";s:3:"kes";s:3:"166";s:3:"koh";s:3:"167";s:3:"s e";s:3:"168";s:3:"s p";s:3:"169";s:3:"sel";s:3:"170";s:3:"sse";s:3:"171";s:3:"ui ";s:3:"172";s:3:" pi";s:3:"173";s:3:" si";s:3:"174";s:3:"aru";s:3:"175";s:3:"eda";s:3:"176";s:3:"eva";s:3:"177";s:3:"fil";s:3:"178";s:3:"i v";s:3:"179";s:3:"ida";s:3:"180";s:3:"ing";s:3:"181";s:5:"lää";s:3:"182";s:3:"me ";s:3:"183";s:3:"na ";s:3:"184";s:3:"nda";s:3:"185";s:3:"nim";s:3:"186";s:3:"ole";s:3:"187";s:3:"ots";s:3:"188";s:3:"ris";s:3:"189";s:3:"s l";s:3:"190";s:3:"sia";s:3:"191";s:3:"t p";s:3:"192";s:3:" en";s:3:"193";s:3:" mu";s:3:"194";s:3:" ol";s:3:"195";s:4:" põ";s:3:"196";s:3:" su";s:3:"197";s:4:" vä";s:3:"198";s:4:" üh";s:3:"199";s:3:"a l";s:3:"200";s:3:"a p";s:3:"201";s:3:"aga";s:3:"202";s:3:"ale";s:3:"203";s:3:"aps";s:3:"204";s:3:"arv";s:3:"205";s:3:"e a";s:3:"206";s:3:"ela";s:3:"207";s:3:"ika";s:3:"208";s:3:"lle";s:3:"209";s:3:"loo";s:3:"210";s:3:"mal";s:3:"211";s:3:"pet";s:3:"212";s:3:"t k";s:3:"213";s:3:"tee";s:3:"214";s:3:"tis";s:3:"215";s:3:"vat";s:3:"216";s:4:"äne";s:3:"217";s:4:"õnn";s:3:"218";s:3:" es";s:3:"219";s:3:" fi";s:3:"220";s:3:" vi";s:3:"221";s:3:"a i";s:3:"222";s:3:"a o";s:3:"223";s:3:"aab";s:3:"224";s:3:"aap";s:3:"225";s:3:"ala";s:3:"226";s:3:"alt";s:3:"227";s:3:"ama";s:3:"228";s:3:"anu";s:3:"229";s:3:"e p";s:3:"230";s:3:"e t";s:3:"231";s:3:"eal";s:3:"232";s:3:"eli";s:3:"233";s:3:"haa";s:3:"234";s:3:"hin";s:3:"235";s:3:"iva";s:3:"236";s:3:"kon";s:3:"237";s:3:"ku ";s:3:"238";s:3:"lik";s:3:"239";s:3:"lm ";s:3:"240";s:3:"min";s:3:"241";s:3:"n t";s:3:"242";s:3:"odu";s:3:"243";s:3:"oon";s:3:"244";s:3:"psa";s:3:"245";s:3:"ri ";s:3:"246";s:3:"si ";s:3:"247";s:3:"stu";s:3:"248";s:3:"t e";s:3:"249";s:3:"t s";s:3:"250";s:3:"ti ";s:3:"251";s:3:"ule";s:3:"252";s:3:"uur";s:3:"253";s:3:"vas";s:3:"254";s:3:"vee";s:3:"255";s:3:" ki";s:3:"256";s:3:" ni";s:3:"257";s:4:" nä";s:3:"258";s:3:" ra";s:3:"259";s:3:"aig";s:3:"260";s:3:"aka";s:3:"261";s:3:"all";s:3:"262";s:3:"atu";s:3:"263";s:3:"e e";s:3:"264";s:3:"eis";s:3:"265";s:3:"ers";s:3:"266";s:3:"i e";s:3:"267";s:3:"ii ";s:3:"268";s:3:"iis";s:3:"269";s:3:"il ";s:3:"270";s:3:"ima";s:3:"271";s:3:"its";s:3:"272";s:3:"kka";s:3:"273";s:3:"kuh";s:3:"274";s:3:"l k";s:3:"275";s:3:"lat";s:3:"276";s:3:"maj";s:3:"277";s:3:"ndu";s:3:"278";s:3:"ni ";s:3:"279";s:3:"nii";s:3:"280";s:3:"oma";s:3:"281";s:3:"ool";s:3:"282";s:3:"rso";s:3:"283";s:3:"ru ";s:3:"284";s:3:"rva";s:3:"285";s:3:"s t";s:3:"286";s:3:"sek";s:3:"287";s:3:"son";s:3:"288";s:3:"ste";s:3:"289";s:3:"t m";s:3:"290";s:3:"taj";s:3:"291";s:3:"tam";s:3:"292";s:3:"ude";s:3:"293";s:3:"uho";s:3:"294";s:3:"vai";s:3:"295";s:3:" ag";s:3:"296";s:3:" os";s:3:"297";s:3:" pa";s:3:"298";s:3:" re";s:3:"299";}s:5:"farsi";a:300:{s:5:"ان ";s:1:"0";s:5:"ای ";s:1:"1";s:5:"ه ا";s:1:"2";s:5:" اي";s:1:"3";s:5:" در";s:1:"4";s:5:"به ";s:1:"5";s:5:" بر";s:1:"6";s:5:"در ";s:1:"7";s:6:"ران";s:1:"8";s:5:" به";s:1:"9";s:5:"ی ا";s:2:"10";s:5:"از ";s:2:"11";s:5:"ين ";s:2:"12";s:5:"می ";s:2:"13";s:5:" از";s:2:"14";s:5:"ده ";s:2:"15";s:5:"ست ";s:2:"16";s:6:"است";s:2:"17";s:5:" اس";s:2:"18";s:5:" که";s:2:"19";s:5:"که ";s:2:"20";s:6:"اير";s:2:"21";s:5:"ند ";s:2:"22";s:6:"اين";s:2:"23";s:5:" ها";s:2:"24";s:6:"يرا";s:2:"25";s:5:"ود ";s:2:"26";s:5:" را";s:2:"27";s:6:"های";s:2:"28";s:5:" خو";s:2:"29";s:5:"ته ";s:2:"30";s:5:"را ";s:2:"31";s:6:"رای";s:2:"32";s:5:"رد ";s:2:"33";s:5:"ن ب";s:2:"34";s:6:"کرد";s:2:"35";s:4:" و ";s:2:"36";s:5:" کر";s:2:"37";s:5:"ات ";s:2:"38";s:6:"برا";s:2:"39";s:5:"د ک";s:2:"40";s:6:"مان";s:2:"41";s:5:"ی د";s:2:"42";s:5:" ان";s:2:"43";s:6:"خوا";s:2:"44";s:6:"شور";s:2:"45";s:5:" با";s:2:"46";s:5:"ن ا";s:2:"47";s:5:" سا";s:2:"48";s:6:"تمی";s:2:"49";s:5:"ری ";s:2:"50";s:6:"اتم";s:2:"51";s:5:"ا ا";s:2:"52";s:6:"واه";s:2:"53";s:5:" ات";s:2:"54";s:5:" عر";s:2:"55";s:5:"اق ";s:2:"56";s:5:"ر م";s:2:"57";s:6:"راق";s:2:"58";s:6:"عرا";s:2:"59";s:5:"ی ب";s:2:"60";s:5:" تا";s:2:"61";s:5:" تو";s:2:"62";s:5:"ار ";s:2:"63";s:5:"ر ا";s:2:"64";s:5:"ن م";s:2:"65";s:5:"ه ب";s:2:"66";s:5:"ور ";s:2:"67";s:5:"يد ";s:2:"68";s:5:"ی ک";s:2:"69";s:5:" ام";s:2:"70";s:5:" دا";s:2:"71";s:5:" کن";s:2:"72";s:6:"اهد";s:2:"73";s:5:"هد ";s:2:"74";s:5:" آن";s:2:"75";s:5:" می";s:2:"76";s:5:" ني";s:2:"77";s:5:" گف";s:2:"78";s:5:"د ا";s:2:"79";s:6:"گفت";s:2:"80";s:5:" کش";s:2:"81";s:5:"ا ب";s:2:"82";s:5:"نی ";s:2:"83";s:5:"ها ";s:2:"84";s:6:"کشو";s:2:"85";s:5:" رو";s:2:"86";s:5:"ت ک";s:2:"87";s:6:"نيو";s:2:"88";s:5:"ه م";s:2:"89";s:5:"وی ";s:2:"90";s:5:"ی ت";s:2:"91";s:5:" شو";s:2:"92";s:5:"ال ";s:2:"93";s:6:"دار";s:2:"94";s:5:"مه ";s:2:"95";s:5:"ن ک";s:2:"96";s:5:"ه د";s:2:"97";s:5:"يه ";s:2:"98";s:5:" ما";s:2:"99";s:6:"امه";s:3:"100";s:5:"د ب";s:3:"101";s:6:"زار";s:3:"102";s:6:"ورا";s:3:"103";s:6:"گزا";s:3:"104";s:5:" پي";s:3:"105";s:5:"آن ";s:3:"106";s:6:"انت";s:3:"107";s:5:"ت ا";s:3:"108";s:5:"فت ";s:3:"109";s:5:"ه ن";s:3:"110";s:5:"ی خ";s:3:"111";s:6:"اما";s:3:"112";s:6:"بات";s:3:"113";s:5:"ما ";s:3:"114";s:6:"ملل";s:3:"115";s:6:"نام";s:3:"116";s:5:"ير ";s:3:"117";s:5:"ی م";s:3:"118";s:5:"ی ه";s:3:"119";s:5:" آم";s:3:"120";s:5:" ای";s:3:"121";s:5:" من";s:3:"122";s:6:"انس";s:3:"123";s:6:"اني";s:3:"124";s:5:"ت د";s:3:"125";s:6:"رده";s:3:"126";s:6:"ساز";s:3:"127";s:5:"ن د";s:3:"128";s:5:"نه ";s:3:"129";s:6:"ورد";s:3:"130";s:5:" او";s:3:"131";s:5:" بي";s:3:"132";s:5:" سو";s:3:"133";s:5:" شد";s:3:"134";s:6:"اده";s:3:"135";s:6:"اند";s:3:"136";s:5:"با ";s:3:"137";s:5:"ت ب";s:3:"138";s:5:"ر ب";s:3:"139";s:5:"ز ا";s:3:"140";s:6:"زما";s:3:"141";s:6:"سته";s:3:"142";s:5:"ن ر";s:3:"143";s:5:"ه س";s:3:"144";s:6:"وان";s:3:"145";s:5:"وز ";s:3:"146";s:5:"ی ر";s:3:"147";s:5:"ی س";s:3:"148";s:5:" هس";s:3:"149";s:6:"ابا";s:3:"150";s:5:"ام ";s:3:"151";s:6:"اور";s:3:"152";s:6:"تخا";s:3:"153";s:6:"خاب";s:3:"154";s:6:"خود";s:3:"155";s:5:"د د";s:3:"156";s:5:"دن ";s:3:"157";s:6:"رها";s:3:"158";s:6:"روز";s:3:"159";s:6:"رگز";s:3:"160";s:6:"نتخ";s:3:"161";s:5:"ه ش";s:3:"162";s:5:"ه ه";s:3:"163";s:6:"هست";s:3:"164";s:5:"يت ";s:3:"165";s:5:"يم ";s:3:"166";s:5:" دو";s:3:"167";s:5:" دي";s:3:"168";s:5:" مو";s:3:"169";s:5:" نو";s:3:"170";s:5:" هم";s:3:"171";s:5:" کا";s:3:"172";s:5:"اد ";s:3:"173";s:6:"اری";s:3:"174";s:6:"انی";s:3:"175";s:5:"بر ";s:3:"176";s:6:"بود";s:3:"177";s:5:"ت ه";s:3:"178";s:5:"ح ه";s:3:"179";s:6:"حال";s:3:"180";s:5:"رش ";s:3:"181";s:5:"عه ";s:3:"182";s:5:"لی ";s:3:"183";s:5:"وم ";s:3:"184";s:6:"ژان";s:3:"185";s:5:" سل";s:3:"186";s:6:"آمر";s:3:"187";s:5:"اح ";s:3:"188";s:6:"توس";s:3:"189";s:6:"داد";s:3:"190";s:6:"دام";s:3:"191";s:5:"ر د";s:3:"192";s:5:"ره ";s:3:"193";s:6:"ريک";s:3:"194";s:5:"زی ";s:3:"195";s:6:"سلا";s:3:"196";s:6:"شود";s:3:"197";s:6:"لاح";s:3:"198";s:6:"مري";s:3:"199";s:6:"نند";s:3:"200";s:5:"ه ع";s:3:"201";s:6:"يما";s:3:"202";s:6:"يکا";s:3:"203";s:6:"پيم";s:3:"204";s:5:"گر ";s:3:"205";s:5:" آژ";s:3:"206";s:5:" ال";s:3:"207";s:5:" بو";s:3:"208";s:5:" مق";s:3:"209";s:5:" مل";s:3:"210";s:5:" وی";s:3:"211";s:6:"آژا";s:3:"212";s:6:"ازم";s:3:"213";s:6:"ازی";s:3:"214";s:6:"بار";s:3:"215";s:6:"برن";s:3:"216";s:5:"ر آ";s:3:"217";s:5:"ز س";s:3:"218";s:6:"سعه";s:3:"219";s:6:"شته";s:3:"220";s:6:"مات";s:3:"221";s:5:"ن آ";s:3:"222";s:5:"ن پ";s:3:"223";s:5:"نس ";s:3:"224";s:5:"ه گ";s:3:"225";s:6:"وسع";s:3:"226";s:6:"يان";s:3:"227";s:6:"يوم";s:3:"228";s:5:"کا ";s:3:"229";s:6:"کام";s:3:"230";s:6:"کند";s:3:"231";s:5:" خا";s:3:"232";s:5:" سر";s:3:"233";s:6:"آور";s:3:"234";s:6:"ارد";s:3:"235";s:6:"اقد";s:3:"236";s:6:"ايم";s:3:"237";s:6:"ايی";s:3:"238";s:6:"برگ";s:3:"239";s:5:"ت ع";s:3:"240";s:5:"تن ";s:3:"241";s:5:"خت ";s:3:"242";s:5:"د و";s:3:"243";s:5:"ر خ";s:3:"244";s:5:"رک ";s:3:"245";s:6:"زير";s:3:"246";s:6:"فته";s:3:"247";s:6:"قدا";s:3:"248";s:5:"ل ت";s:3:"249";s:6:"مين";s:3:"250";s:5:"ن گ";s:3:"251";s:5:"ه آ";s:3:"252";s:5:"ه خ";s:3:"253";s:5:"ه ک";s:3:"254";s:6:"ورک";s:3:"255";s:6:"ويو";s:3:"256";s:6:"يور";s:3:"257";s:6:"يوي";s:3:"258";s:5:"يی ";s:3:"259";s:5:"ک ت";s:3:"260";s:5:"ی ش";s:3:"261";s:5:" اق";s:3:"262";s:5:" حا";s:3:"263";s:5:" حق";s:3:"264";s:5:" دس";s:3:"265";s:5:" شک";s:3:"266";s:5:" عم";s:3:"267";s:5:" يک";s:3:"268";s:5:"ا ت";s:3:"269";s:5:"ا د";s:3:"270";s:6:"ارج";s:3:"271";s:6:"بين";s:3:"272";s:5:"ت م";s:3:"273";s:5:"ت و";s:3:"274";s:6:"تاي";s:3:"275";s:6:"دست";s:3:"276";s:5:"ر ح";s:3:"277";s:5:"ر س";s:3:"278";s:6:"رنا";s:3:"279";s:5:"ز ب";s:3:"280";s:6:"شکا";s:3:"281";s:5:"لل ";s:3:"282";s:5:"م ک";s:3:"283";s:5:"مز ";s:3:"284";s:6:"ندا";s:3:"285";s:6:"نوا";s:3:"286";s:5:"و ا";s:3:"287";s:6:"وره";s:3:"288";s:5:"ون ";s:3:"289";s:6:"وند";s:3:"290";s:6:"يمز";s:3:"291";s:5:" آو";s:3:"292";s:5:" اع";s:3:"293";s:5:" فر";s:3:"294";s:5:" مت";s:3:"295";s:5:" نه";s:3:"296";s:5:" هر";s:3:"297";s:5:" وز";s:3:"298";s:5:" گز";s:3:"299";}s:7:"finnish";a:300:{s:3:"en ";s:1:"0";s:3:"in ";s:1:"1";s:3:"an ";s:1:"2";s:3:"on ";s:1:"3";s:3:"ist";s:1:"4";s:3:"ta ";s:1:"5";s:3:"ja ";s:1:"6";s:3:"n t";s:1:"7";s:3:"sa ";s:1:"8";s:3:"sta";s:1:"9";s:3:"aan";s:2:"10";s:3:"n p";s:2:"11";s:3:" on";s:2:"12";s:3:"ssa";s:2:"13";s:3:"tta";s:2:"14";s:4:"tä ";s:2:"15";s:3:" ka";s:2:"16";s:3:" pa";s:2:"17";s:3:"si ";s:2:"18";s:3:" ja";s:2:"19";s:3:"n k";s:2:"20";s:3:"lla";s:2:"21";s:4:"än ";s:2:"22";s:3:"een";s:2:"23";s:3:"n v";s:2:"24";s:3:"ksi";s:2:"25";s:3:"ett";s:2:"26";s:3:"nen";s:2:"27";s:3:"taa";s:2:"28";s:4:"ttä";s:2:"29";s:3:" va";s:2:"30";s:3:"ill";s:2:"31";s:3:"itt";s:2:"32";s:3:" jo";s:2:"33";s:3:" ko";s:2:"34";s:3:"n s";s:2:"35";s:3:" tu";s:2:"36";s:3:"ia ";s:2:"37";s:3:" su";s:2:"38";s:3:"a p";s:2:"39";s:3:"aa ";s:2:"40";s:3:"la ";s:2:"41";s:3:"lle";s:2:"42";s:3:"n m";s:2:"43";s:3:"le ";s:2:"44";s:3:"tte";s:2:"45";s:3:"na ";s:2:"46";s:3:" ta";s:2:"47";s:3:" ve";s:2:"48";s:3:"at ";s:2:"49";s:3:" vi";s:2:"50";s:3:"utt";s:2:"51";s:3:" sa";s:2:"52";s:3:"ise";s:2:"53";s:3:"sen";s:2:"54";s:3:" ku";s:2:"55";s:4:" nä";s:2:"56";s:4:" pä";s:2:"57";s:3:"ste";s:2:"58";s:3:" ol";s:2:"59";s:3:"a t";s:2:"60";s:3:"ais";s:2:"61";s:3:"maa";s:2:"62";s:3:"ti ";s:2:"63";s:3:"a o";s:2:"64";s:3:"oit";s:2:"65";s:5:"pää";s:2:"66";s:3:" pi";s:2:"67";s:3:"a v";s:2:"68";s:3:"ala";s:2:"69";s:3:"ine";s:2:"70";s:3:"isi";s:2:"71";s:3:"tel";s:2:"72";s:3:"tti";s:2:"73";s:3:" si";s:2:"74";s:3:"a k";s:2:"75";s:3:"all";s:2:"76";s:3:"iin";s:2:"77";s:3:"kin";s:2:"78";s:4:"stä";s:2:"79";s:3:"uom";s:2:"80";s:3:"vii";s:2:"81";s:3:" ma";s:2:"82";s:3:" se";s:2:"83";s:4:"enä";s:2:"84";s:3:" mu";s:2:"85";s:3:"a s";s:2:"86";s:3:"est";s:2:"87";s:3:"iss";s:2:"88";s:4:"llä";s:2:"89";s:3:"lok";s:2:"90";s:4:"lä ";s:2:"91";s:3:"n j";s:2:"92";s:3:"n o";s:2:"93";s:3:"toi";s:2:"94";s:3:"ven";s:2:"95";s:3:"ytt";s:2:"96";s:3:" li";s:2:"97";s:3:"ain";s:2:"98";s:3:"et ";s:2:"99";s:3:"ina";s:3:"100";s:3:"n a";s:3:"101";s:3:"n n";s:3:"102";s:3:"oll";s:3:"103";s:3:"plo";s:3:"104";s:3:"ten";s:3:"105";s:3:"ust";s:3:"106";s:4:"äll";s:3:"107";s:5:"ään";s:3:"108";s:3:" to";s:3:"109";s:3:"den";s:3:"110";s:3:"men";s:3:"111";s:3:"oki";s:3:"112";s:3:"suo";s:3:"113";s:4:"sä ";s:3:"114";s:5:"tää";s:3:"115";s:3:"uks";s:3:"116";s:3:"vat";s:3:"117";s:3:" al";s:3:"118";s:3:" ke";s:3:"119";s:3:" te";s:3:"120";s:3:"a e";s:3:"121";s:3:"lii";s:3:"122";s:3:"tai";s:3:"123";s:3:"tei";s:3:"124";s:4:"äis";s:3:"125";s:5:"ää ";s:3:"126";s:3:" pl";s:3:"127";s:3:"ell";s:3:"128";s:3:"i t";s:3:"129";s:3:"ide";s:3:"130";s:3:"ikk";s:3:"131";s:3:"ki ";s:3:"132";s:3:"nta";s:3:"133";s:3:"ova";s:3:"134";s:3:"yst";s:3:"135";s:3:"yt ";s:3:"136";s:4:"ä p";s:3:"137";s:4:"äyt";s:3:"138";s:3:" ha";s:3:"139";s:3:" pe";s:3:"140";s:4:" tä";s:3:"141";s:3:"a n";s:3:"142";s:3:"aik";s:3:"143";s:3:"i p";s:3:"144";s:3:"i v";s:3:"145";s:3:"nyt";s:3:"146";s:4:"näy";s:3:"147";s:3:"pal";s:3:"148";s:3:"tee";s:3:"149";s:3:"un ";s:3:"150";s:3:" me";s:3:"151";s:3:"a m";s:3:"152";s:3:"ess";s:3:"153";s:3:"kau";s:3:"154";s:3:"pai";s:3:"155";s:3:"stu";s:3:"156";s:3:"ut ";s:3:"157";s:3:"voi";s:3:"158";s:3:" et";s:3:"159";s:3:"a h";s:3:"160";s:3:"eis";s:3:"161";s:3:"hte";s:3:"162";s:3:"i o";s:3:"163";s:3:"iik";s:3:"164";s:3:"ita";s:3:"165";s:3:"jou";s:3:"166";s:3:"mis";s:3:"167";s:3:"nin";s:3:"168";s:3:"nut";s:3:"169";s:3:"sia";s:3:"170";s:4:"ssä";s:3:"171";s:3:"van";s:3:"172";s:3:" ty";s:3:"173";s:3:" yh";s:3:"174";s:3:"aks";s:3:"175";s:3:"ime";s:3:"176";s:3:"loi";s:3:"177";s:3:"me ";s:3:"178";s:3:"n e";s:3:"179";s:3:"n h";s:3:"180";s:3:"n l";s:3:"181";s:3:"oin";s:3:"182";s:3:"ome";s:3:"183";s:3:"ott";s:3:"184";s:3:"ouk";s:3:"185";s:3:"sit";s:3:"186";s:3:"sti";s:3:"187";s:3:"tet";s:3:"188";s:3:"tie";s:3:"189";s:3:"ukk";s:3:"190";s:4:"ä k";s:3:"191";s:3:" ra";s:3:"192";s:3:" ti";s:3:"193";s:3:"aja";s:3:"194";s:3:"asi";s:3:"195";s:3:"ent";s:3:"196";s:3:"iga";s:3:"197";s:3:"iig";s:3:"198";s:3:"ite";s:3:"199";s:3:"jan";s:3:"200";s:3:"kaa";s:3:"201";s:3:"kse";s:3:"202";s:3:"laa";s:3:"203";s:3:"lan";s:3:"204";s:3:"li ";s:3:"205";s:4:"näj";s:3:"206";s:3:"ole";s:3:"207";s:3:"tii";s:3:"208";s:3:"usi";s:3:"209";s:5:"äjä";s:3:"210";s:3:" ov";s:3:"211";s:3:"a a";s:3:"212";s:3:"ant";s:3:"213";s:3:"ava";s:3:"214";s:3:"ei ";s:3:"215";s:3:"eri";s:3:"216";s:3:"kan";s:3:"217";s:3:"kku";s:3:"218";s:3:"lai";s:3:"219";s:3:"lis";s:3:"220";s:4:"läi";s:3:"221";s:3:"mat";s:3:"222";s:3:"ois";s:3:"223";s:3:"pel";s:3:"224";s:3:"sil";s:3:"225";s:3:"sty";s:3:"226";s:3:"taj";s:3:"227";s:3:"tav";s:3:"228";s:3:"ttu";s:3:"229";s:4:"työ";s:3:"230";s:4:"yös";s:3:"231";s:4:"ä o";s:3:"232";s:3:" ai";s:3:"233";s:3:" pu";s:3:"234";s:3:"a j";s:3:"235";s:3:"a l";s:3:"236";s:3:"aal";s:3:"237";s:3:"arv";s:3:"238";s:3:"ass";s:3:"239";s:3:"ien";s:3:"240";s:3:"imi";s:3:"241";s:3:"imm";s:3:"242";s:4:"itä";s:3:"243";s:3:"ka ";s:3:"244";s:3:"kes";s:3:"245";s:3:"kue";s:3:"246";s:3:"lee";s:3:"247";s:3:"lin";s:3:"248";s:3:"llo";s:3:"249";s:3:"one";s:3:"250";s:3:"ri ";s:3:"251";s:3:"t o";s:3:"252";s:3:"t p";s:3:"253";s:3:"tu ";s:3:"254";s:3:"val";s:3:"255";s:3:"vuo";s:3:"256";s:3:" ei";s:3:"257";s:3:" he";s:3:"258";s:3:" hy";s:3:"259";s:3:" my";s:3:"260";s:3:" vo";s:3:"261";s:3:"ali";s:3:"262";s:3:"alo";s:3:"263";s:3:"ano";s:3:"264";s:3:"ast";s:3:"265";s:3:"att";s:3:"266";s:3:"auk";s:3:"267";s:3:"eli";s:3:"268";s:3:"ely";s:3:"269";s:3:"hti";s:3:"270";s:3:"ika";s:3:"271";s:3:"ken";s:3:"272";s:3:"kki";s:3:"273";s:3:"lys";s:3:"274";s:3:"min";s:3:"275";s:4:"myö";s:3:"276";s:3:"oht";s:3:"277";s:3:"oma";s:3:"278";s:3:"tus";s:3:"279";s:3:"umi";s:3:"280";s:3:"yks";s:3:"281";s:4:"ät ";s:3:"282";s:5:"ääl";s:3:"283";s:4:"ös ";s:3:"284";s:3:" ar";s:3:"285";s:3:" eu";s:3:"286";s:3:" hu";s:3:"287";s:3:" na";s:3:"288";s:3:"aat";s:3:"289";s:3:"alk";s:3:"290";s:3:"alu";s:3:"291";s:3:"ans";s:3:"292";s:3:"arj";s:3:"293";s:3:"enn";s:3:"294";s:3:"han";s:3:"295";s:3:"kuu";s:3:"296";s:3:"n y";s:3:"297";s:3:"set";s:3:"298";s:3:"sim";s:3:"299";}s:6:"french";a:300:{s:3:"es ";s:1:"0";s:3:" de";s:1:"1";s:3:"de ";s:1:"2";s:3:" le";s:1:"3";s:3:"ent";s:1:"4";s:3:"le ";s:1:"5";s:3:"nt ";s:1:"6";s:3:"la ";s:1:"7";s:3:"s d";s:1:"8";s:3:" la";s:1:"9";s:3:"ion";s:2:"10";s:3:"on ";s:2:"11";s:3:"re ";s:2:"12";s:3:" pa";s:2:"13";s:3:"e l";s:2:"14";s:3:"e d";s:2:"15";s:3:" l'";s:2:"16";s:3:"e p";s:2:"17";s:3:" co";s:2:"18";s:3:" pr";s:2:"19";s:3:"tio";s:2:"20";s:3:"ns ";s:2:"21";s:3:" en";s:2:"22";s:3:"ne ";s:2:"23";s:3:"que";s:2:"24";s:3:"r l";s:2:"25";s:3:"les";s:2:"26";s:3:"ur ";s:2:"27";s:3:"en ";s:2:"28";s:3:"ati";s:2:"29";s:3:"ue ";s:2:"30";s:3:" po";s:2:"31";s:3:" d'";s:2:"32";s:3:"par";s:2:"33";s:3:" a ";s:2:"34";s:3:"et ";s:2:"35";s:3:"it ";s:2:"36";s:3:" qu";s:2:"37";s:3:"men";s:2:"38";s:3:"ons";s:2:"39";s:3:"te ";s:2:"40";s:3:" et";s:2:"41";s:3:"t d";s:2:"42";s:3:" re";s:2:"43";s:3:"des";s:2:"44";s:3:" un";s:2:"45";s:3:"ie ";s:2:"46";s:3:"s l";s:2:"47";s:3:" su";s:2:"48";s:3:"pou";s:2:"49";s:3:" au";s:2:"50";s:4:" à ";s:2:"51";s:3:"con";s:2:"52";s:3:"er ";s:2:"53";s:3:" no";s:2:"54";s:3:"ait";s:2:"55";s:3:"e c";s:2:"56";s:3:"se ";s:2:"57";s:4:"té ";s:2:"58";s:3:"du ";s:2:"59";s:3:" du";s:2:"60";s:4:" dé";s:2:"61";s:3:"ce ";s:2:"62";s:3:"e e";s:2:"63";s:3:"is ";s:2:"64";s:3:"n d";s:2:"65";s:3:"s a";s:2:"66";s:3:" so";s:2:"67";s:3:"e r";s:2:"68";s:3:"e s";s:2:"69";s:3:"our";s:2:"70";s:3:"res";s:2:"71";s:3:"ssi";s:2:"72";s:3:"eur";s:2:"73";s:3:" se";s:2:"74";s:3:"eme";s:2:"75";s:3:"est";s:2:"76";s:3:"us ";s:2:"77";s:3:"sur";s:2:"78";s:3:"ant";s:2:"79";s:3:"iqu";s:2:"80";s:3:"s p";s:2:"81";s:3:"une";s:2:"82";s:3:"uss";s:2:"83";s:3:"l'a";s:2:"84";s:3:"pro";s:2:"85";s:3:"ter";s:2:"86";s:3:"tre";s:2:"87";s:3:"end";s:2:"88";s:3:"rs ";s:2:"89";s:3:" ce";s:2:"90";s:3:"e a";s:2:"91";s:3:"t p";s:2:"92";s:3:"un ";s:2:"93";s:3:" ma";s:2:"94";s:3:" ru";s:2:"95";s:4:" ré";s:2:"96";s:3:"ous";s:2:"97";s:3:"ris";s:2:"98";s:3:"rus";s:2:"99";s:3:"sse";s:3:"100";s:3:"ans";s:3:"101";s:3:"ar ";s:3:"102";s:3:"com";s:3:"103";s:3:"e m";s:3:"104";s:3:"ire";s:3:"105";s:3:"nce";s:3:"106";s:3:"nte";s:3:"107";s:3:"t l";s:3:"108";s:3:" av";s:3:"109";s:3:" mo";s:3:"110";s:3:" te";s:3:"111";s:3:"il ";s:3:"112";s:3:"me ";s:3:"113";s:3:"ont";s:3:"114";s:3:"ten";s:3:"115";s:3:"a p";s:3:"116";s:3:"dan";s:3:"117";s:3:"pas";s:3:"118";s:3:"qui";s:3:"119";s:3:"s e";s:3:"120";s:3:"s s";s:3:"121";s:3:" in";s:3:"122";s:3:"ist";s:3:"123";s:3:"lle";s:3:"124";s:3:"nou";s:3:"125";s:4:"pré";s:3:"126";s:3:"'un";s:3:"127";s:3:"air";s:3:"128";s:3:"d'a";s:3:"129";s:3:"ir ";s:3:"130";s:3:"n e";s:3:"131";s:3:"rop";s:3:"132";s:3:"ts ";s:3:"133";s:3:" da";s:3:"134";s:3:"a s";s:3:"135";s:3:"as ";s:3:"136";s:3:"au ";s:3:"137";s:3:"den";s:3:"138";s:3:"mai";s:3:"139";s:3:"mis";s:3:"140";s:3:"ori";s:3:"141";s:3:"out";s:3:"142";s:3:"rme";s:3:"143";s:3:"sio";s:3:"144";s:3:"tte";s:3:"145";s:3:"ux ";s:3:"146";s:3:"a d";s:3:"147";s:3:"ien";s:3:"148";s:3:"n a";s:3:"149";s:3:"ntr";s:3:"150";s:3:"omm";s:3:"151";s:3:"ort";s:3:"152";s:3:"ouv";s:3:"153";s:3:"s c";s:3:"154";s:3:"son";s:3:"155";s:3:"tes";s:3:"156";s:3:"ver";s:3:"157";s:4:"ère";s:3:"158";s:3:" il";s:3:"159";s:3:" m ";s:3:"160";s:3:" sa";s:3:"161";s:3:" ve";s:3:"162";s:3:"a r";s:3:"163";s:3:"ais";s:3:"164";s:3:"ava";s:3:"165";s:3:"di ";s:3:"166";s:3:"n p";s:3:"167";s:3:"sti";s:3:"168";s:3:"ven";s:3:"169";s:3:" mi";s:3:"170";s:3:"ain";s:3:"171";s:3:"enc";s:3:"172";s:3:"for";s:3:"173";s:4:"ité";s:3:"174";s:3:"lar";s:3:"175";s:3:"oir";s:3:"176";s:3:"rem";s:3:"177";s:3:"ren";s:3:"178";s:3:"rro";s:3:"179";s:4:"rés";s:3:"180";s:3:"sie";s:3:"181";s:3:"t a";s:3:"182";s:3:"tur";s:3:"183";s:3:" pe";s:3:"184";s:3:" to";s:3:"185";s:3:"d'u";s:3:"186";s:3:"ell";s:3:"187";s:3:"err";s:3:"188";s:3:"ers";s:3:"189";s:3:"ide";s:3:"190";s:3:"ine";s:3:"191";s:3:"iss";s:3:"192";s:3:"mes";s:3:"193";s:3:"por";s:3:"194";s:3:"ran";s:3:"195";s:3:"sit";s:3:"196";s:3:"st ";s:3:"197";s:3:"t r";s:3:"198";s:3:"uti";s:3:"199";s:3:"vai";s:3:"200";s:4:"é l";s:3:"201";s:4:"ési";s:3:"202";s:3:" di";s:3:"203";s:3:" n'";s:3:"204";s:4:" ét";s:3:"205";s:3:"a c";s:3:"206";s:3:"ass";s:3:"207";s:3:"e t";s:3:"208";s:3:"in ";s:3:"209";s:3:"nde";s:3:"210";s:3:"pre";s:3:"211";s:3:"rat";s:3:"212";s:3:"s m";s:3:"213";s:3:"ste";s:3:"214";s:3:"tai";s:3:"215";s:3:"tch";s:3:"216";s:3:"ui ";s:3:"217";s:3:"uro";s:3:"218";s:4:"ès ";s:3:"219";s:3:" es";s:3:"220";s:3:" fo";s:3:"221";s:3:" tr";s:3:"222";s:3:"'ad";s:3:"223";s:3:"app";s:3:"224";s:3:"aux";s:3:"225";s:4:"e à";s:3:"226";s:3:"ett";s:3:"227";s:3:"iti";s:3:"228";s:3:"lit";s:3:"229";s:3:"nal";s:3:"230";s:4:"opé";s:3:"231";s:3:"r d";s:3:"232";s:3:"ra ";s:3:"233";s:3:"rai";s:3:"234";s:3:"ror";s:3:"235";s:3:"s r";s:3:"236";s:3:"tat";s:3:"237";s:4:"uté";s:3:"238";s:4:"à l";s:3:"239";s:3:" af";s:3:"240";s:3:"anc";s:3:"241";s:3:"ara";s:3:"242";s:3:"art";s:3:"243";s:3:"bre";s:3:"244";s:4:"ché";s:3:"245";s:3:"dre";s:3:"246";s:3:"e f";s:3:"247";s:3:"ens";s:3:"248";s:3:"lem";s:3:"249";s:3:"n r";s:3:"250";s:3:"n t";s:3:"251";s:3:"ndr";s:3:"252";s:3:"nne";s:3:"253";s:3:"onn";s:3:"254";s:3:"pos";s:3:"255";s:3:"s t";s:3:"256";s:3:"tiq";s:3:"257";s:3:"ure";s:3:"258";s:3:" tu";s:3:"259";s:3:"ale";s:3:"260";s:3:"and";s:3:"261";s:3:"ave";s:3:"262";s:3:"cla";s:3:"263";s:3:"cou";s:3:"264";s:3:"e n";s:3:"265";s:3:"emb";s:3:"266";s:3:"ins";s:3:"267";s:3:"jou";s:3:"268";s:3:"mme";s:3:"269";s:3:"rie";s:3:"270";s:4:"rès";s:3:"271";s:3:"sem";s:3:"272";s:3:"str";s:3:"273";s:3:"t i";s:3:"274";s:3:"ues";s:3:"275";s:3:"uni";s:3:"276";s:3:"uve";s:3:"277";s:4:"é d";s:3:"278";s:4:"ée ";s:3:"279";s:3:" ch";s:3:"280";s:3:" do";s:3:"281";s:3:" eu";s:3:"282";s:3:" fa";s:3:"283";s:3:" lo";s:3:"284";s:3:" ne";s:3:"285";s:3:" ra";s:3:"286";s:3:"arl";s:3:"287";s:3:"att";s:3:"288";s:3:"ec ";s:3:"289";s:3:"ica";s:3:"290";s:3:"l a";s:3:"291";s:3:"l'o";s:3:"292";s:4:"l'é";s:3:"293";s:3:"mmi";s:3:"294";s:3:"nta";s:3:"295";s:3:"orm";s:3:"296";s:3:"ou ";s:3:"297";s:3:"r u";s:3:"298";s:3:"rle";s:3:"299";}s:6:"german";a:300:{s:3:"en ";s:1:"0";s:3:"er ";s:1:"1";s:3:" de";s:1:"2";s:3:"der";s:1:"3";s:3:"ie ";s:1:"4";s:3:" di";s:1:"5";s:3:"die";s:1:"6";s:3:"sch";s:1:"7";s:3:"ein";s:1:"8";s:3:"che";s:1:"9";s:3:"ich";s:2:"10";s:3:"den";s:2:"11";s:3:"in ";s:2:"12";s:3:"te ";s:2:"13";s:3:"ch ";s:2:"14";s:3:" ei";s:2:"15";s:3:"ung";s:2:"16";s:3:"n d";s:2:"17";s:3:"nd ";s:2:"18";s:3:" be";s:2:"19";s:3:"ver";s:2:"20";s:3:"es ";s:2:"21";s:3:" zu";s:2:"22";s:3:"eit";s:2:"23";s:3:"gen";s:2:"24";s:3:"und";s:2:"25";s:3:" un";s:2:"26";s:3:" au";s:2:"27";s:3:" in";s:2:"28";s:3:"cht";s:2:"29";s:3:"it ";s:2:"30";s:3:"ten";s:2:"31";s:3:" da";s:2:"32";s:3:"ent";s:2:"33";s:3:" ve";s:2:"34";s:3:"and";s:2:"35";s:3:" ge";s:2:"36";s:3:"ine";s:2:"37";s:3:" mi";s:2:"38";s:3:"r d";s:2:"39";s:3:"hen";s:2:"40";s:3:"ng ";s:2:"41";s:3:"nde";s:2:"42";s:3:" vo";s:2:"43";s:3:"e d";s:2:"44";s:3:"ber";s:2:"45";s:3:"men";s:2:"46";s:3:"ei ";s:2:"47";s:3:"mit";s:2:"48";s:3:" st";s:2:"49";s:3:"ter";s:2:"50";s:3:"ren";s:2:"51";s:3:"t d";s:2:"52";s:3:" er";s:2:"53";s:3:"ere";s:2:"54";s:3:"n s";s:2:"55";s:3:"ste";s:2:"56";s:3:" se";s:2:"57";s:3:"e s";s:2:"58";s:3:"ht ";s:2:"59";s:3:"des";s:2:"60";s:3:"ist";s:2:"61";s:3:"ne ";s:2:"62";s:3:"auf";s:2:"63";s:3:"e a";s:2:"64";s:3:"isc";s:2:"65";s:3:"on ";s:2:"66";s:3:"rte";s:2:"67";s:3:" re";s:2:"68";s:3:" we";s:2:"69";s:3:"ges";s:2:"70";s:3:"uch";s:2:"71";s:4:" fü";s:2:"72";s:3:" so";s:2:"73";s:3:"bei";s:2:"74";s:3:"e e";s:2:"75";s:3:"nen";s:2:"76";s:3:"r s";s:2:"77";s:3:"ach";s:2:"78";s:4:"für";s:2:"79";s:3:"ier";s:2:"80";s:3:"par";s:2:"81";s:4:"ür ";s:2:"82";s:3:" ha";s:2:"83";s:3:"as ";s:2:"84";s:3:"ert";s:2:"85";s:3:" an";s:2:"86";s:3:" pa";s:2:"87";s:3:" sa";s:2:"88";s:3:" sp";s:2:"89";s:3:" wi";s:2:"90";s:3:"for";s:2:"91";s:3:"tag";s:2:"92";s:3:"zu ";s:2:"93";s:3:"das";s:2:"94";s:3:"rei";s:2:"95";s:3:"he ";s:2:"96";s:3:"hre";s:2:"97";s:3:"nte";s:2:"98";s:3:"sen";s:2:"99";s:3:"vor";s:3:"100";s:3:" sc";s:3:"101";s:3:"ech";s:3:"102";s:3:"etz";s:3:"103";s:3:"hei";s:3:"104";s:3:"lan";s:3:"105";s:3:"n a";s:3:"106";s:3:"pd ";s:3:"107";s:3:"st ";s:3:"108";s:3:"sta";s:3:"109";s:3:"ese";s:3:"110";s:3:"lic";s:3:"111";s:3:" ab";s:3:"112";s:3:" si";s:3:"113";s:3:"gte";s:3:"114";s:3:" wa";s:3:"115";s:3:"iti";s:3:"116";s:3:"kei";s:3:"117";s:3:"n e";s:3:"118";s:3:"nge";s:3:"119";s:3:"sei";s:3:"120";s:3:"tra";s:3:"121";s:3:"zen";s:3:"122";s:3:" im";s:3:"123";s:3:" la";s:3:"124";s:3:"art";s:3:"125";s:3:"im ";s:3:"126";s:3:"lle";s:3:"127";s:3:"n w";s:3:"128";s:3:"rde";s:3:"129";s:3:"rec";s:3:"130";s:3:"set";s:3:"131";s:3:"str";s:3:"132";s:3:"tei";s:3:"133";s:3:"tte";s:3:"134";s:3:" ni";s:3:"135";s:3:"e p";s:3:"136";s:3:"ehe";s:3:"137";s:3:"ers";s:3:"138";s:3:"g d";s:3:"139";s:3:"nic";s:3:"140";s:3:"von";s:3:"141";s:3:" al";s:3:"142";s:3:" pr";s:3:"143";s:3:"an ";s:3:"144";s:3:"aus";s:3:"145";s:3:"erf";s:3:"146";s:3:"r e";s:3:"147";s:3:"tze";s:3:"148";s:4:"tür";s:3:"149";s:3:"uf ";s:3:"150";s:3:"ag ";s:3:"151";s:3:"als";s:3:"152";s:3:"ar ";s:3:"153";s:3:"chs";s:3:"154";s:3:"end";s:3:"155";s:3:"ge ";s:3:"156";s:3:"ige";s:3:"157";s:3:"ion";s:3:"158";s:3:"ls ";s:3:"159";s:3:"n m";s:3:"160";s:3:"ngs";s:3:"161";s:3:"nis";s:3:"162";s:3:"nt ";s:3:"163";s:3:"ord";s:3:"164";s:3:"s s";s:3:"165";s:3:"sse";s:3:"166";s:4:" tü";s:3:"167";s:3:"ahl";s:3:"168";s:3:"e b";s:3:"169";s:3:"ede";s:3:"170";s:3:"em ";s:3:"171";s:3:"len";s:3:"172";s:3:"n i";s:3:"173";s:3:"orm";s:3:"174";s:3:"pro";s:3:"175";s:3:"rke";s:3:"176";s:3:"run";s:3:"177";s:3:"s d";s:3:"178";s:3:"wah";s:3:"179";s:3:"wer";s:3:"180";s:4:"ürk";s:3:"181";s:3:" me";s:3:"182";s:3:"age";s:3:"183";s:3:"att";s:3:"184";s:3:"ell";s:3:"185";s:3:"est";s:3:"186";s:3:"hat";s:3:"187";s:3:"n b";s:3:"188";s:3:"oll";s:3:"189";s:3:"raf";s:3:"190";s:3:"s a";s:3:"191";s:3:"tsc";s:3:"192";s:3:" es";s:3:"193";s:3:" fo";s:3:"194";s:3:" gr";s:3:"195";s:3:" ja";s:3:"196";s:3:"abe";s:3:"197";s:3:"auc";s:3:"198";s:3:"ben";s:3:"199";s:3:"e n";s:3:"200";s:3:"ege";s:3:"201";s:3:"lie";s:3:"202";s:3:"n u";s:3:"203";s:3:"r v";s:3:"204";s:3:"re ";s:3:"205";s:3:"rit";s:3:"206";s:3:"sag";s:3:"207";s:3:" am";s:3:"208";s:3:"agt";s:3:"209";s:3:"ahr";s:3:"210";s:3:"bra";s:3:"211";s:3:"de ";s:3:"212";s:3:"erd";s:3:"213";s:3:"her";s:3:"214";s:3:"ite";s:3:"215";s:3:"le ";s:3:"216";s:3:"n p";s:3:"217";s:3:"n v";s:3:"218";s:3:"or ";s:3:"219";s:3:"rbe";s:3:"220";s:3:"rt ";s:3:"221";s:3:"sic";s:3:"222";s:3:"wie";s:3:"223";s:4:"übe";s:3:"224";s:3:" is";s:3:"225";s:4:" üb";s:3:"226";s:3:"cha";s:3:"227";s:3:"chi";s:3:"228";s:3:"e f";s:3:"229";s:3:"e m";s:3:"230";s:3:"eri";s:3:"231";s:3:"ied";s:3:"232";s:3:"mme";s:3:"233";s:3:"ner";s:3:"234";s:3:"r a";s:3:"235";s:3:"sti";s:3:"236";s:3:"t a";s:3:"237";s:3:"t s";s:3:"238";s:3:"tis";s:3:"239";s:3:" ko";s:3:"240";s:3:"arb";s:3:"241";s:3:"ds ";s:3:"242";s:3:"gan";s:3:"243";s:3:"n z";s:3:"244";s:3:"r f";s:3:"245";s:3:"r w";s:3:"246";s:3:"ran";s:3:"247";s:3:"se ";s:3:"248";s:3:"t i";s:3:"249";s:3:"wei";s:3:"250";s:3:"wir";s:3:"251";s:3:" br";s:3:"252";s:3:" np";s:3:"253";s:3:"am ";s:3:"254";s:3:"bes";s:3:"255";s:3:"d d";s:3:"256";s:3:"deu";s:3:"257";s:3:"e g";s:3:"258";s:3:"e k";s:3:"259";s:3:"efo";s:3:"260";s:3:"et ";s:3:"261";s:3:"eut";s:3:"262";s:3:"fen";s:3:"263";s:3:"hse";s:3:"264";s:3:"lte";s:3:"265";s:3:"n r";s:3:"266";s:3:"npd";s:3:"267";s:3:"r b";s:3:"268";s:3:"rhe";s:3:"269";s:3:"t w";s:3:"270";s:3:"tz ";s:3:"271";s:3:" fr";s:3:"272";s:3:" ih";s:3:"273";s:3:" ke";s:3:"274";s:3:" ma";s:3:"275";s:3:"ame";s:3:"276";s:3:"ang";s:3:"277";s:3:"d s";s:3:"278";s:3:"eil";s:3:"279";s:3:"el ";s:3:"280";s:3:"era";s:3:"281";s:3:"erh";s:3:"282";s:3:"h d";s:3:"283";s:3:"i d";s:3:"284";s:3:"kan";s:3:"285";s:3:"n f";s:3:"286";s:3:"n l";s:3:"287";s:3:"nts";s:3:"288";s:3:"och";s:3:"289";s:3:"rag";s:3:"290";s:3:"rd ";s:3:"291";s:3:"spd";s:3:"292";s:3:"spr";s:3:"293";s:3:"tio";s:3:"294";s:3:" ar";s:3:"295";s:3:" en";s:3:"296";s:3:" ka";s:3:"297";s:3:"ark";s:3:"298";s:3:"ass";s:3:"299";}s:5:"hausa";a:300:{s:3:" da";s:1:"0";s:3:"da ";s:1:"1";s:3:"in ";s:1:"2";s:3:"an ";s:1:"3";s:3:"ya ";s:1:"4";s:3:" wa";s:1:"5";s:3:" ya";s:1:"6";s:3:"na ";s:1:"7";s:3:"ar ";s:1:"8";s:3:"a d";s:1:"9";s:3:" ma";s:2:"10";s:3:"wa ";s:2:"11";s:3:"a a";s:2:"12";s:3:"a k";s:2:"13";s:3:"a s";s:2:"14";s:3:" ta";s:2:"15";s:3:"wan";s:2:"16";s:3:" a ";s:2:"17";s:3:" ba";s:2:"18";s:3:" ka";s:2:"19";s:3:"ta ";s:2:"20";s:3:"a y";s:2:"21";s:3:"n d";s:2:"22";s:3:" ha";s:2:"23";s:3:" na";s:2:"24";s:3:" su";s:2:"25";s:3:" sa";s:2:"26";s:3:"kin";s:2:"27";s:3:"sa ";s:2:"28";s:3:"ata";s:2:"29";s:3:" ko";s:2:"30";s:3:"a t";s:2:"31";s:3:"su ";s:2:"32";s:3:" ga";s:2:"33";s:3:"ai ";s:2:"34";s:3:" sh";s:2:"35";s:3:"a m";s:2:"36";s:3:"uwa";s:2:"37";s:3:"iya";s:2:"38";s:3:"ma ";s:2:"39";s:3:"a w";s:2:"40";s:3:"asa";s:2:"41";s:3:"yan";s:2:"42";s:3:"ka ";s:2:"43";s:3:"ani";s:2:"44";s:3:"shi";s:2:"45";s:3:"a b";s:2:"46";s:3:"a h";s:2:"47";s:3:"a c";s:2:"48";s:3:"ama";s:2:"49";s:3:"ba ";s:2:"50";s:3:"nan";s:2:"51";s:3:"n a";s:2:"52";s:3:" mu";s:2:"53";s:3:"ana";s:2:"54";s:3:" yi";s:2:"55";s:3:"a g";s:2:"56";s:3:" za";s:2:"57";s:3:"i d";s:2:"58";s:3:" ku";s:2:"59";s:3:"aka";s:2:"60";s:3:"yi ";s:2:"61";s:3:"n k";s:2:"62";s:3:"ann";s:2:"63";s:3:"ke ";s:2:"64";s:3:"tar";s:2:"65";s:3:" ci";s:2:"66";s:3:"iki";s:2:"67";s:3:"n s";s:2:"68";s:3:"ko ";s:2:"69";s:3:" ra";s:2:"70";s:3:"ki ";s:2:"71";s:3:"ne ";s:2:"72";s:3:"a z";s:2:"73";s:3:"mat";s:2:"74";s:3:"hak";s:2:"75";s:3:"nin";s:2:"76";s:3:"e d";s:2:"77";s:3:"nna";s:2:"78";s:3:"uma";s:2:"79";s:3:"nda";s:2:"80";s:3:"a n";s:2:"81";s:3:"ada";s:2:"82";s:3:"cik";s:2:"83";s:3:"ni ";s:2:"84";s:3:"rin";s:2:"85";s:3:"una";s:2:"86";s:3:"ara";s:2:"87";s:3:"kum";s:2:"88";s:3:"akk";s:2:"89";s:3:" ce";s:2:"90";s:3:" du";s:2:"91";s:3:"man";s:2:"92";s:3:"n y";s:2:"93";s:3:"nci";s:2:"94";s:3:"sar";s:2:"95";s:3:"aki";s:2:"96";s:3:"awa";s:2:"97";s:3:"ci ";s:2:"98";s:3:"kan";s:2:"99";s:3:"kar";s:3:"100";s:3:"ari";s:3:"101";s:3:"n m";s:3:"102";s:3:"and";s:3:"103";s:3:"hi ";s:3:"104";s:3:"n t";s:3:"105";s:3:"ga ";s:3:"106";s:3:"owa";s:3:"107";s:3:"ash";s:3:"108";s:3:"kam";s:3:"109";s:3:"dan";s:3:"110";s:3:"ewa";s:3:"111";s:3:"nsa";s:3:"112";s:3:"ali";s:3:"113";s:3:"ami";s:3:"114";s:3:" ab";s:3:"115";s:3:" do";s:3:"116";s:3:"anc";s:3:"117";s:3:"n r";s:3:"118";s:3:"aya";s:3:"119";s:3:"i n";s:3:"120";s:3:"sun";s:3:"121";s:3:"uka";s:3:"122";s:3:" al";s:3:"123";s:3:" ne";s:3:"124";s:3:"a'a";s:3:"125";s:3:"cew";s:3:"126";s:3:"cin";s:3:"127";s:3:"mas";s:3:"128";s:3:"tak";s:3:"129";s:3:"un ";s:3:"130";s:3:"aba";s:3:"131";s:3:"kow";s:3:"132";s:3:"a r";s:3:"133";s:3:"ra ";s:3:"134";s:3:" ja";s:3:"135";s:4:" ƙa";s:3:"136";s:3:"en ";s:3:"137";s:3:"r d";s:3:"138";s:3:"sam";s:3:"139";s:3:"tsa";s:3:"140";s:3:" ru";s:3:"141";s:3:"ce ";s:3:"142";s:3:"i a";s:3:"143";s:3:"abi";s:3:"144";s:3:"ida";s:3:"145";s:3:"mut";s:3:"146";s:3:"n g";s:3:"147";s:3:"n j";s:3:"148";s:3:"san";s:3:"149";s:4:"a ƙ";s:3:"150";s:3:"har";s:3:"151";s:3:"on ";s:3:"152";s:3:"i m";s:3:"153";s:3:"suk";s:3:"154";s:3:" ak";s:3:"155";s:3:" ji";s:3:"156";s:3:"yar";s:3:"157";s:3:"'ya";s:3:"158";s:3:"kwa";s:3:"159";s:3:"min";s:3:"160";s:3:" 'y";s:3:"161";s:3:"ane";s:3:"162";s:3:"ban";s:3:"163";s:3:"ins";s:3:"164";s:3:"ruw";s:3:"165";s:3:"i k";s:3:"166";s:3:"n h";s:3:"167";s:3:" ad";s:3:"168";s:3:"ake";s:3:"169";s:3:"n w";s:3:"170";s:3:"sha";s:3:"171";s:3:"utu";s:3:"172";s:4:" ƴa";s:3:"173";s:3:"bay";s:3:"174";s:3:"tan";s:3:"175";s:4:"ƴan";s:3:"176";s:3:"bin";s:3:"177";s:3:"duk";s:3:"178";s:3:"e m";s:3:"179";s:3:"n n";s:3:"180";s:3:"oka";s:3:"181";s:3:"yin";s:3:"182";s:4:"ɗan";s:3:"183";s:3:" fa";s:3:"184";s:3:"a i";s:3:"185";s:3:"kki";s:3:"186";s:3:"re ";s:3:"187";s:3:"za ";s:3:"188";s:3:"ala";s:3:"189";s:3:"asu";s:3:"190";s:3:"han";s:3:"191";s:3:"i y";s:3:"192";s:3:"mar";s:3:"193";s:3:"ran";s:3:"194";s:4:"ƙas";s:3:"195";s:3:"add";s:3:"196";s:3:"ars";s:3:"197";s:3:"gab";s:3:"198";s:3:"ira";s:3:"199";s:3:"mma";s:3:"200";s:3:"u d";s:3:"201";s:3:" ts";s:3:"202";s:3:"abb";s:3:"203";s:3:"abu";s:3:"204";s:3:"aga";s:3:"205";s:3:"gar";s:3:"206";s:3:"n b";s:3:"207";s:4:" ɗa";s:3:"208";s:3:"aci";s:3:"209";s:3:"aik";s:3:"210";s:3:"am ";s:3:"211";s:3:"dun";s:3:"212";s:3:"e s";s:3:"213";s:3:"i b";s:3:"214";s:3:"i w";s:3:"215";s:3:"kas";s:3:"216";s:3:"kok";s:3:"217";s:3:"wam";s:3:"218";s:3:" am";s:3:"219";s:3:"amf";s:3:"220";s:3:"bba";s:3:"221";s:3:"din";s:3:"222";s:3:"fan";s:3:"223";s:3:"gwa";s:3:"224";s:3:"i s";s:3:"225";s:3:"wat";s:3:"226";s:3:"ano";s:3:"227";s:3:"are";s:3:"228";s:3:"dai";s:3:"229";s:3:"iri";s:3:"230";s:3:"ma'";s:3:"231";s:3:" la";s:3:"232";s:3:"all";s:3:"233";s:3:"dam";s:3:"234";s:3:"ika";s:3:"235";s:3:"mi ";s:3:"236";s:3:"she";s:3:"237";s:3:"tum";s:3:"238";s:3:"uni";s:3:"239";s:3:" an";s:3:"240";s:3:" ai";s:3:"241";s:3:" ke";s:3:"242";s:3:" ki";s:3:"243";s:3:"dag";s:3:"244";s:3:"mai";s:3:"245";s:3:"mfa";s:3:"246";s:3:"no ";s:3:"247";s:3:"nsu";s:3:"248";s:3:"o d";s:3:"249";s:3:"sak";s:3:"250";s:3:"um ";s:3:"251";s:3:" bi";s:3:"252";s:3:" gw";s:3:"253";s:3:" kw";s:3:"254";s:3:"jam";s:3:"255";s:3:"yya";s:3:"256";s:3:"a j";s:3:"257";s:3:"fa ";s:3:"258";s:3:"uta";s:3:"259";s:3:" hu";s:3:"260";s:3:"'a ";s:3:"261";s:3:"ans";s:3:"262";s:4:"aɗa";s:3:"263";s:3:"dda";s:3:"264";s:3:"hin";s:3:"265";s:3:"niy";s:3:"266";s:3:"r s";s:3:"267";s:3:"bat";s:3:"268";s:3:"dar";s:3:"269";s:3:"gan";s:3:"270";s:3:"i t";s:3:"271";s:3:"nta";s:3:"272";s:3:"oki";s:3:"273";s:3:"omi";s:3:"274";s:3:"sal";s:3:"275";s:3:"a l";s:3:"276";s:3:"kac";s:3:"277";s:3:"lla";s:3:"278";s:3:"wad";s:3:"279";s:3:"war";s:3:"280";s:3:"amm";s:3:"281";s:3:"dom";s:3:"282";s:3:"r m";s:3:"283";s:3:"ras";s:3:"284";s:3:"sai";s:3:"285";s:3:" lo";s:3:"286";s:3:"ats";s:3:"287";s:3:"hal";s:3:"288";s:3:"kat";s:3:"289";s:3:"li ";s:3:"290";s:3:"lok";s:3:"291";s:3:"n c";s:3:"292";s:3:"nar";s:3:"293";s:3:"tin";s:3:"294";s:3:"afa";s:3:"295";s:3:"bub";s:3:"296";s:3:"i g";s:3:"297";s:3:"isa";s:3:"298";s:3:"mak";s:3:"299";}s:8:"hawaiian";a:300:{s:3:" ka";s:1:"0";s:3:"na ";s:1:"1";s:3:" o ";s:1:"2";s:3:"ka ";s:1:"3";s:3:" ma";s:1:"4";s:3:" a ";s:1:"5";s:3:" la";s:1:"6";s:3:"a i";s:1:"7";s:3:"a m";s:1:"8";s:3:" i ";s:1:"9";s:3:"la ";s:2:"10";s:3:"ana";s:2:"11";s:3:"ai ";s:2:"12";s:3:"ia ";s:2:"13";s:3:"a o";s:2:"14";s:3:"a k";s:2:"15";s:3:"a h";s:2:"16";s:3:"o k";s:2:"17";s:3:" ke";s:2:"18";s:3:"a a";s:2:"19";s:3:"i k";s:2:"20";s:3:" ho";s:2:"21";s:3:" ia";s:2:"22";s:3:"ua ";s:2:"23";s:3:" na";s:2:"24";s:3:" me";s:2:"25";s:3:"e k";s:2:"26";s:3:"e a";s:2:"27";s:3:"au ";s:2:"28";s:3:"ke ";s:2:"29";s:3:"ma ";s:2:"30";s:3:"mai";s:2:"31";s:3:"aku";s:2:"32";s:3:" ak";s:2:"33";s:3:"ahi";s:2:"34";s:3:" ha";s:2:"35";s:3:" ko";s:2:"36";s:3:" e ";s:2:"37";s:3:"a l";s:2:"38";s:3:" no";s:2:"39";s:3:"me ";s:2:"40";s:3:"ku ";s:2:"41";s:3:"aka";s:2:"42";s:3:"kan";s:2:"43";s:3:"no ";s:2:"44";s:3:"i a";s:2:"45";s:3:"ho ";s:2:"46";s:3:"ou ";s:2:"47";s:3:" ai";s:2:"48";s:3:"i o";s:2:"49";s:3:"a p";s:2:"50";s:3:"o l";s:2:"51";s:3:"o a";s:2:"52";s:3:"ama";s:2:"53";s:3:"a n";s:2:"54";s:3:" an";s:2:"55";s:3:"i m";s:2:"56";s:3:"han";s:2:"57";s:3:"i i";s:2:"58";s:3:"iho";s:2:"59";s:3:"kou";s:2:"60";s:3:"ne ";s:2:"61";s:3:" ih";s:2:"62";s:3:"o i";s:2:"63";s:3:"iki";s:2:"64";s:3:"ona";s:2:"65";s:3:"hoo";s:2:"66";s:3:"le ";s:2:"67";s:3:"e h";s:2:"68";s:3:" he";s:2:"69";s:3:"ina";s:2:"70";s:3:" wa";s:2:"71";s:3:"ea ";s:2:"72";s:3:"ako";s:2:"73";s:3:"u i";s:2:"74";s:3:"kah";s:2:"75";s:3:"oe ";s:2:"76";s:3:"i l";s:2:"77";s:3:"u a";s:2:"78";s:3:" pa";s:2:"79";s:3:"hoi";s:2:"80";s:3:"e i";s:2:"81";s:3:"era";s:2:"82";s:3:"ko ";s:2:"83";s:3:"u m";s:2:"84";s:3:"kua";s:2:"85";s:3:"mak";s:2:"86";s:3:"oi ";s:2:"87";s:3:"kai";s:2:"88";s:3:"i n";s:2:"89";s:3:"a e";s:2:"90";s:3:"hin";s:2:"91";s:3:"ane";s:2:"92";s:3:" ol";s:2:"93";s:3:"i h";s:2:"94";s:3:"mea";s:2:"95";s:3:"wah";s:2:"96";s:3:"lak";s:2:"97";s:3:"e m";s:2:"98";s:3:"o n";s:2:"99";s:3:"u l";s:3:"100";s:3:"ika";s:3:"101";s:3:"ki ";s:3:"102";s:3:"a w";s:3:"103";s:3:"mal";s:3:"104";s:3:"hi ";s:3:"105";s:3:"e n";s:3:"106";s:3:"u o";s:3:"107";s:3:"hik";s:3:"108";s:3:" ku";s:3:"109";s:3:"e l";s:3:"110";s:3:"ele";s:3:"111";s:3:"ra ";s:3:"112";s:3:"ber";s:3:"113";s:3:"ine";s:3:"114";s:3:"abe";s:3:"115";s:3:"ain";s:3:"116";s:3:"ala";s:3:"117";s:3:"lo ";s:3:"118";s:3:" po";s:3:"119";s:3:"kon";s:3:"120";s:3:" ab";s:3:"121";s:3:"ole";s:3:"122";s:3:"he ";s:3:"123";s:3:"pau";s:3:"124";s:3:"mah";s:3:"125";s:3:"va ";s:3:"126";s:3:"ela";s:3:"127";s:3:"kau";s:3:"128";s:3:"nak";s:3:"129";s:3:" oe";s:3:"130";s:3:"kei";s:3:"131";s:3:"oia";s:3:"132";s:3:" ie";s:3:"133";s:3:"ram";s:3:"134";s:3:" oi";s:3:"135";s:3:"oa ";s:3:"136";s:3:"eho";s:3:"137";s:3:"hov";s:3:"138";s:3:"ieh";s:3:"139";s:3:"ova";s:3:"140";s:3:" ua";s:3:"141";s:3:"una";s:3:"142";s:3:"ara";s:3:"143";s:3:"o s";s:3:"144";s:3:"awa";s:3:"145";s:3:"o o";s:3:"146";s:3:"nau";s:3:"147";s:3:"u n";s:3:"148";s:3:"wa ";s:3:"149";s:3:"wai";s:3:"150";s:3:"hel";s:3:"151";s:3:" ae";s:3:"152";s:3:" al";s:3:"153";s:3:"ae ";s:3:"154";s:3:"ta ";s:3:"155";s:3:"aik";s:3:"156";s:3:" hi";s:3:"157";s:3:"ale";s:3:"158";s:3:"ila";s:3:"159";s:3:"lel";s:3:"160";s:3:"ali";s:3:"161";s:3:"eik";s:3:"162";s:3:"olo";s:3:"163";s:3:"onu";s:3:"164";s:3:" lo";s:3:"165";s:3:"aua";s:3:"166";s:3:"e o";s:3:"167";s:3:"ola";s:3:"168";s:3:"hon";s:3:"169";s:3:"mam";s:3:"170";s:3:"nan";s:3:"171";s:3:" au";s:3:"172";s:3:"aha";s:3:"173";s:3:"lau";s:3:"174";s:3:"nua";s:3:"175";s:3:"oho";s:3:"176";s:3:"oma";s:3:"177";s:3:" ao";s:3:"178";s:3:"ii ";s:3:"179";s:3:"alu";s:3:"180";s:3:"ima";s:3:"181";s:3:"mau";s:3:"182";s:3:"ike";s:3:"183";s:3:"apa";s:3:"184";s:3:"elo";s:3:"185";s:3:"lii";s:3:"186";s:3:"poe";s:3:"187";s:3:"aia";s:3:"188";s:3:"noa";s:3:"189";s:3:" in";s:3:"190";s:3:"o m";s:3:"191";s:3:"oka";s:3:"192";s:3:"'u ";s:3:"193";s:3:"aho";s:3:"194";s:3:"ei ";s:3:"195";s:3:"eka";s:3:"196";s:3:"ha ";s:3:"197";s:3:"lu ";s:3:"198";s:3:"nei";s:3:"199";s:3:"hol";s:3:"200";s:3:"ino";s:3:"201";s:3:"o e";s:3:"202";s:3:"ema";s:3:"203";s:3:"iwa";s:3:"204";s:3:"olu";s:3:"205";s:3:"ada";s:3:"206";s:3:"naa";s:3:"207";s:3:"pa ";s:3:"208";s:3:"u k";s:3:"209";s:3:"ewa";s:3:"210";s:3:"hua";s:3:"211";s:3:"lam";s:3:"212";s:3:"lua";s:3:"213";s:3:"o h";s:3:"214";s:3:"ook";s:3:"215";s:3:"u h";s:3:"216";s:3:" li";s:3:"217";s:3:"ahu";s:3:"218";s:3:"amu";s:3:"219";s:3:"ui ";s:3:"220";s:3:" il";s:3:"221";s:3:" mo";s:3:"222";s:3:" se";s:3:"223";s:3:"eia";s:3:"224";s:3:"law";s:3:"225";s:3:" hu";s:3:"226";s:3:" ik";s:3:"227";s:3:"ail";s:3:"228";s:3:"e p";s:3:"229";s:3:"li ";s:3:"230";s:3:"lun";s:3:"231";s:3:"uli";s:3:"232";s:3:"io ";s:3:"233";s:3:"kik";s:3:"234";s:3:"noh";s:3:"235";s:3:"u e";s:3:"236";s:3:" sa";s:3:"237";s:3:"aaw";s:3:"238";s:3:"awe";s:3:"239";s:3:"ena";s:3:"240";s:3:"hal";s:3:"241";s:3:"kol";s:3:"242";s:3:"lan";s:3:"243";s:3:" le";s:3:"244";s:3:" ne";s:3:"245";s:3:"a'u";s:3:"246";s:3:"ilo";s:3:"247";s:3:"kap";s:3:"248";s:3:"oko";s:3:"249";s:3:"sa ";s:3:"250";s:3:" pe";s:3:"251";s:3:"hop";s:3:"252";s:3:"loa";s:3:"253";s:3:"ope";s:3:"254";s:3:"pe ";s:3:"255";s:3:" ad";s:3:"256";s:3:" pu";s:3:"257";s:3:"ahe";s:3:"258";s:3:"aol";s:3:"259";s:3:"ia'";s:3:"260";s:3:"lai";s:3:"261";s:3:"loh";s:3:"262";s:3:"na'";s:3:"263";s:3:"oom";s:3:"264";s:3:"aau";s:3:"265";s:3:"eri";s:3:"266";s:3:"kul";s:3:"267";s:3:"we ";s:3:"268";s:3:"ake";s:3:"269";s:3:"kek";s:3:"270";s:3:"laa";s:3:"271";s:3:"ri ";s:3:"272";s:3:"iku";s:3:"273";s:3:"kak";s:3:"274";s:3:"lim";s:3:"275";s:3:"nah";s:3:"276";s:3:"ner";s:3:"277";s:3:"nui";s:3:"278";s:3:"ono";s:3:"279";s:3:"a u";s:3:"280";s:3:"dam";s:3:"281";s:3:"kum";s:3:"282";s:3:"lok";s:3:"283";s:3:"mua";s:3:"284";s:3:"uma";s:3:"285";s:3:"wal";s:3:"286";s:3:"wi ";s:3:"287";s:3:"'i ";s:3:"288";s:3:"a'i";s:3:"289";s:3:"aan";s:3:"290";s:3:"alo";s:3:"291";s:3:"eta";s:3:"292";s:3:"mu ";s:3:"293";s:3:"ohe";s:3:"294";s:3:"u p";s:3:"295";s:3:"ula";s:3:"296";s:3:"uwa";s:3:"297";s:3:" nu";s:3:"298";s:3:"amo";s:3:"299";}s:5:"hindi";a:300:{s:7:"ें ";s:1:"0";s:7:" है";s:1:"1";s:9:"में";s:1:"2";s:7:" मे";s:1:"3";s:7:"ने ";s:1:"4";s:7:"की ";s:1:"5";s:7:"के ";s:1:"6";s:7:"है ";s:1:"7";s:7:" के";s:1:"8";s:7:" की";s:1:"9";s:7:" को";s:2:"10";s:7:"ों ";s:2:"11";s:7:"को ";s:2:"12";s:7:"ा ह";s:2:"13";s:7:" का";s:2:"14";s:7:"से ";s:2:"15";s:7:"ा क";s:2:"16";s:7:"े क";s:2:"17";s:7:"ं क";s:2:"18";s:7:"या ";s:2:"19";s:7:" कि";s:2:"20";s:7:" से";s:2:"21";s:7:"का ";s:2:"22";s:7:"ी क";s:2:"23";s:7:" ने";s:2:"24";s:7:" और";s:2:"25";s:7:"और ";s:2:"26";s:7:"ना ";s:2:"27";s:7:"कि ";s:2:"28";s:7:"भी ";s:2:"29";s:7:"ी स";s:2:"30";s:7:" जा";s:2:"31";s:7:" पर";s:2:"32";s:7:"ार ";s:2:"33";s:7:" कर";s:2:"34";s:7:"ी ह";s:2:"35";s:7:" हो";s:2:"36";s:7:"ही ";s:2:"37";s:9:"िया";s:2:"38";s:7:" इस";s:2:"39";s:7:" रह";s:2:"40";s:7:"र क";s:2:"41";s:9:"ुना";s:2:"42";s:7:"ता ";s:2:"43";s:7:"ान ";s:2:"44";s:7:"े स";s:2:"45";s:7:" भी";s:2:"46";s:7:" रा";s:2:"47";s:7:"े ह";s:2:"48";s:7:" चु";s:2:"49";s:7:" पा";s:2:"50";s:7:"पर ";s:2:"51";s:9:"चुन";s:2:"52";s:9:"नाव";s:2:"53";s:7:" कह";s:2:"54";s:9:"प्र";s:2:"55";s:7:" भा";s:2:"56";s:9:"राज";s:2:"57";s:9:"हैं";s:2:"58";s:7:"ा स";s:2:"59";s:7:"ै क";s:2:"60";s:7:"ैं ";s:2:"61";s:7:"नी ";s:2:"62";s:7:"ल क";s:2:"63";s:7:"ीं ";s:2:"64";s:7:"़ी ";s:2:"65";s:7:"था ";s:2:"66";s:7:"री ";s:2:"67";s:7:"ाव ";s:2:"68";s:7:"े ब";s:2:"69";s:7:" प्";s:2:"70";s:9:"क्ष";s:2:"71";s:7:"पा ";s:2:"72";s:7:"ले ";s:2:"73";s:7:" दे";s:2:"74";s:7:"ला ";s:2:"75";s:7:"हा ";s:2:"76";s:9:"ाजप";s:2:"77";s:7:" था";s:2:"78";s:7:" नह";s:2:"79";s:7:"इस ";s:2:"80";s:7:"कर ";s:2:"81";s:9:"जपा";s:2:"82";s:9:"नही";s:2:"83";s:9:"भाज";s:2:"84";s:9:"यों";s:2:"85";s:7:"र स";s:2:"86";s:9:"हीं";s:2:"87";s:7:" अम";s:2:"88";s:7:" बा";s:2:"89";s:7:" मा";s:2:"90";s:7:" वि";s:2:"91";s:9:"रीक";s:2:"92";s:7:"िए ";s:2:"93";s:7:"े प";s:2:"94";s:9:"्या";s:2:"95";s:7:" ही";s:2:"96";s:7:"ं म";s:2:"97";s:9:"कार";s:2:"98";s:7:"ा ज";s:2:"99";s:7:"े ल";s:3:"100";s:7:" ता";s:3:"101";s:7:" दि";s:3:"102";s:7:" सा";s:3:"103";s:7:" हम";s:3:"104";s:7:"ा न";s:3:"105";s:7:"ा म";s:3:"106";s:9:"ाक़";s:3:"107";s:9:"्ता";s:3:"108";s:7:" एक";s:3:"109";s:7:" सं";s:3:"110";s:7:" स्";s:3:"111";s:9:"अमर";s:3:"112";s:9:"क़ी";s:3:"113";s:9:"ताज";s:3:"114";s:9:"मरी";s:3:"115";s:9:"स्थ";s:3:"116";s:7:"ा थ";s:3:"117";s:9:"ार्";s:3:"118";s:7:" हु";s:3:"119";s:9:"इरा";s:3:"120";s:7:"एक ";s:3:"121";s:7:"न क";s:3:"122";s:7:"र म";s:3:"123";s:9:"राक";s:3:"124";s:7:"ी ज";s:3:"125";s:7:"ी न";s:3:"126";s:7:" इर";s:3:"127";s:7:" उन";s:3:"128";s:7:" पह";s:3:"129";s:9:"कहा";s:3:"130";s:7:"ते ";s:3:"131";s:7:"े अ";s:3:"132";s:7:" तो";s:3:"133";s:7:" सु";s:3:"134";s:7:"ति ";s:3:"135";s:7:"ती ";s:3:"136";s:7:"तो ";s:3:"137";s:9:"मिल";s:3:"138";s:7:"िक ";s:3:"139";s:9:"ियो";s:3:"140";s:9:"्रे";s:3:"141";s:7:" अप";s:3:"142";s:7:" फ़";s:3:"143";s:7:" लि";s:3:"144";s:7:" लो";s:3:"145";s:7:" सम";s:3:"146";s:7:"म क";s:3:"147";s:9:"र्ट";s:3:"148";s:7:"हो ";s:3:"149";s:7:"ा च";s:3:"150";s:7:"ाई ";s:3:"151";s:9:"ाने";s:3:"152";s:7:"िन ";s:3:"153";s:7:"्य ";s:3:"154";s:7:" उस";s:3:"155";s:7:" क़";s:3:"156";s:7:" सक";s:3:"157";s:7:" सै";s:3:"158";s:7:"ं प";s:3:"159";s:7:"ं ह";s:3:"160";s:7:"गी ";s:3:"161";s:7:"त क";s:3:"162";s:9:"मान";s:3:"163";s:7:"र न";s:3:"164";s:9:"ष्ट";s:3:"165";s:7:"स क";s:3:"166";s:9:"स्त";s:3:"167";s:7:"ाँ ";s:3:"168";s:7:"ी ब";s:3:"169";s:7:"ी म";s:3:"170";s:9:"्री";s:3:"171";s:7:" दो";s:3:"172";s:7:" मि";s:3:"173";s:7:" मु";s:3:"174";s:7:" ले";s:3:"175";s:7:" शा";s:3:"176";s:7:"ं स";s:3:"177";s:9:"ज़ा";s:3:"178";s:9:"त्र";s:3:"179";s:7:"थी ";s:3:"180";s:9:"लिए";s:3:"181";s:7:"सी ";s:3:"182";s:7:"़ा ";s:3:"183";s:9:"़ार";s:3:"184";s:9:"ांग";s:3:"185";s:7:"े द";s:3:"186";s:7:"े म";s:3:"187";s:7:"्व ";s:3:"188";s:7:" ना";s:3:"189";s:7:" बन";s:3:"190";s:9:"ंग्";s:3:"191";s:9:"कां";s:3:"192";s:7:"गा ";s:3:"193";s:9:"ग्र";s:3:"194";s:7:"जा ";s:3:"195";s:9:"ज्य";s:3:"196";s:7:"दी ";s:3:"197";s:7:"न म";s:3:"198";s:9:"पार";s:3:"199";s:7:"भा ";s:3:"200";s:9:"रही";s:3:"201";s:7:"रे ";s:3:"202";s:9:"रेस";s:3:"203";s:7:"ली ";s:3:"204";s:9:"सभा";s:3:"205";s:7:"ा र";s:3:"206";s:7:"ाल ";s:3:"207";s:7:"ी अ";s:3:"208";s:9:"ीकी";s:3:"209";s:7:"े त";s:3:"210";s:7:"ेश ";s:3:"211";s:7:" अं";s:3:"212";s:7:" तक";s:3:"213";s:7:" या";s:3:"214";s:7:"ई ह";s:3:"215";s:9:"करन";s:3:"216";s:7:"तक ";s:3:"217";s:9:"देश";s:3:"218";s:9:"वर्";s:3:"219";s:9:"ाया";s:3:"220";s:7:"ी भ";s:3:"221";s:7:"ेस ";s:3:"222";s:7:"्ष ";s:3:"223";s:7:" गय";s:3:"224";s:7:" जि";s:3:"225";s:7:" थी";s:3:"226";s:7:" बड";s:3:"227";s:7:" यह";s:3:"228";s:7:" वा";s:3:"229";s:9:"ंतर";s:3:"230";s:9:"अंत";s:3:"231";s:7:"क़ ";s:3:"232";s:9:"गया";s:3:"233";s:7:"टी ";s:3:"234";s:9:"निक";s:3:"235";s:9:"न्ह";s:3:"236";s:9:"पहल";s:3:"237";s:9:"बड़";s:3:"238";s:9:"मार";s:3:"239";s:7:"र प";s:3:"240";s:9:"रने";s:3:"241";s:9:"ाज़";s:3:"242";s:7:"ि इ";s:3:"243";s:7:"ी र";s:3:"244";s:7:"े ज";s:3:"245";s:7:"े व";s:3:"246";s:7:"्ट ";s:3:"247";s:9:"्टी";s:3:"248";s:7:" अब";s:3:"249";s:7:" लग";s:3:"250";s:7:" वर";s:3:"251";s:7:" सी";s:3:"252";s:7:"ं भ";s:3:"253";s:9:"उन्";s:3:"254";s:7:"क क";s:3:"255";s:9:"किय";s:3:"256";s:9:"देख";s:3:"257";s:9:"पूर";s:3:"258";s:9:"फ़्";s:3:"259";s:7:"यह ";s:3:"260";s:9:"यान";s:3:"261";s:9:"रिक";s:3:"262";s:9:"रिय";s:3:"263";s:9:"र्ड";s:3:"264";s:9:"लेक";s:3:"265";s:9:"सकत";s:3:"266";s:9:"हों";s:3:"267";s:9:"होग";s:3:"268";s:7:"ा अ";s:3:"269";s:7:"ा द";s:3:"270";s:7:"ा प";s:3:"271";s:7:"ाद ";s:3:"272";s:9:"ारा";s:3:"273";s:7:"ित ";s:3:"274";s:7:"ी त";s:3:"275";s:7:"ी प";s:3:"276";s:7:"ो क";s:3:"277";s:7:"ो द";s:3:"278";s:7:" ते";s:3:"279";s:7:" नि";s:3:"280";s:7:" सर";s:3:"281";s:7:" हा";s:3:"282";s:7:"ं द";s:3:"283";s:9:"अपन";s:3:"284";s:9:"जान";s:3:"285";s:7:"त म";s:3:"286";s:9:"थित";s:3:"287";s:9:"पनी";s:3:"288";s:9:"महल";s:3:"289";s:7:"र ह";s:3:"290";s:9:"लोग";s:3:"291";s:7:"व क";s:3:"292";s:9:"हना";s:3:"293";s:7:"हल ";s:3:"294";s:9:"हाँ";s:3:"295";s:9:"ाज्";s:3:"296";s:9:"ाना";s:3:"297";s:9:"िक्";s:3:"298";s:9:"िस्";s:3:"299";}s:9:"hungarian";a:300:{s:3:" a ";s:1:"0";s:3:" az";s:1:"1";s:3:" sz";s:1:"2";s:3:"az ";s:1:"3";s:3:" me";s:1:"4";s:3:"en ";s:1:"5";s:3:" el";s:1:"6";s:3:" ho";s:1:"7";s:3:"ek ";s:1:"8";s:3:"gy ";s:1:"9";s:3:"tt ";s:2:"10";s:3:"ett";s:2:"11";s:3:"sze";s:2:"12";s:3:" fe";s:2:"13";s:4:"és ";s:2:"14";s:3:" ki";s:2:"15";s:3:"tet";s:2:"16";s:3:" be";s:2:"17";s:3:"et ";s:2:"18";s:3:"ter";s:2:"19";s:4:" kö";s:2:"20";s:4:" és";s:2:"21";s:3:"hog";s:2:"22";s:3:"meg";s:2:"23";s:3:"ogy";s:2:"24";s:3:"szt";s:2:"25";s:3:"te ";s:2:"26";s:3:"t a";s:2:"27";s:3:"zet";s:2:"28";s:3:"a m";s:2:"29";s:3:"nek";s:2:"30";s:3:"nt ";s:2:"31";s:4:"ség";s:2:"32";s:4:"szá";s:2:"33";s:3:"ak ";s:2:"34";s:3:" va";s:2:"35";s:3:"an ";s:2:"36";s:3:"eze";s:2:"37";s:3:"ra ";s:2:"38";s:3:"ta ";s:2:"39";s:3:" mi";s:2:"40";s:3:"int";s:2:"41";s:4:"köz";s:2:"42";s:3:" is";s:2:"43";s:3:"esz";s:2:"44";s:3:"fel";s:2:"45";s:3:"min";s:2:"46";s:3:"nak";s:2:"47";s:3:"ors";s:2:"48";s:3:"zer";s:2:"49";s:3:" te";s:2:"50";s:3:"a a";s:2:"51";s:3:"a k";s:2:"52";s:3:"is ";s:2:"53";s:3:" cs";s:2:"54";s:3:"ele";s:2:"55";s:3:"er ";s:2:"56";s:3:"men";s:2:"57";s:3:"si ";s:2:"58";s:3:"tek";s:2:"59";s:3:"ti ";s:2:"60";s:3:" ne";s:2:"61";s:3:"csa";s:2:"62";s:3:"ent";s:2:"63";s:3:"z e";s:2:"64";s:3:"a t";s:2:"65";s:3:"ala";s:2:"66";s:3:"ere";s:2:"67";s:3:"es ";s:2:"68";s:3:"lom";s:2:"69";s:3:"lte";s:2:"70";s:3:"mon";s:2:"71";s:3:"ond";s:2:"72";s:3:"rsz";s:2:"73";s:3:"sza";s:2:"74";s:3:"tte";s:2:"75";s:4:"zág";s:2:"76";s:4:"ány";s:2:"77";s:3:" fo";s:2:"78";s:3:" ma";s:2:"79";s:3:"ai ";s:2:"80";s:3:"ben";s:2:"81";s:3:"el ";s:2:"82";s:3:"ene";s:2:"83";s:3:"ik ";s:2:"84";s:3:"jel";s:2:"85";s:4:"tás";s:2:"86";s:4:"áll";s:2:"87";s:3:" ha";s:2:"88";s:3:" le";s:2:"89";s:4:" ál";s:2:"90";s:3:"agy";s:2:"91";s:4:"alá";s:2:"92";s:3:"isz";s:2:"93";s:3:"y a";s:2:"94";s:3:"zte";s:2:"95";s:4:"ás ";s:2:"96";s:3:" al";s:2:"97";s:3:"e a";s:2:"98";s:3:"egy";s:2:"99";s:3:"ely";s:3:"100";s:3:"for";s:3:"101";s:3:"lat";s:3:"102";s:3:"lt ";s:3:"103";s:3:"n a";s:3:"104";s:3:"oga";s:3:"105";s:3:"on ";s:3:"106";s:3:"re ";s:3:"107";s:3:"st ";s:3:"108";s:4:"ság";s:3:"109";s:3:"t m";s:3:"110";s:4:"án ";s:3:"111";s:4:"ét ";s:3:"112";s:4:"ült";s:3:"113";s:3:" je";s:3:"114";s:3:"gi ";s:3:"115";s:3:"k a";s:3:"116";s:4:"kül";s:3:"117";s:3:"lam";s:3:"118";s:3:"len";s:3:"119";s:4:"lás";s:3:"120";s:4:"más";s:3:"121";s:3:"s k";s:3:"122";s:3:"vez";s:3:"123";s:4:"áso";s:3:"124";s:5:"özö";s:3:"125";s:3:" ta";s:3:"126";s:3:"a s";s:3:"127";s:3:"a v";s:3:"128";s:3:"asz";s:3:"129";s:4:"atá";s:3:"130";s:4:"ető";s:3:"131";s:3:"kez";s:3:"132";s:3:"let";s:3:"133";s:3:"mag";s:3:"134";s:3:"nem";s:3:"135";s:4:"szé";s:3:"136";s:3:"z m";s:3:"137";s:4:"át ";s:3:"138";s:4:"éte";s:3:"139";s:4:"ölt";s:3:"140";s:3:" de";s:3:"141";s:3:" gy";s:3:"142";s:4:" ké";s:3:"143";s:3:" mo";s:3:"144";s:4:" vá";s:3:"145";s:4:" ér";s:3:"146";s:3:"a b";s:3:"147";s:3:"a f";s:3:"148";s:3:"ami";s:3:"149";s:3:"at ";s:3:"150";s:3:"ato";s:3:"151";s:3:"att";s:3:"152";s:3:"bef";s:3:"153";s:3:"dta";s:3:"154";s:3:"gya";s:3:"155";s:3:"hat";s:3:"156";s:3:"i s";s:3:"157";s:3:"las";s:3:"158";s:3:"ndt";s:3:"159";s:3:"rt ";s:3:"160";s:3:"szo";s:3:"161";s:3:"t k";s:3:"162";s:4:"tár";s:3:"163";s:4:"tés";s:3:"164";s:3:"van";s:3:"165";s:5:"ásá";s:3:"166";s:4:"ól ";s:3:"167";s:4:" bé";s:3:"168";s:3:" eg";s:3:"169";s:3:" or";s:3:"170";s:4:" pá";s:3:"171";s:4:" pé";s:3:"172";s:3:" ve";s:3:"173";s:3:"ban";s:3:"174";s:3:"eke";s:3:"175";s:4:"ekü";s:3:"176";s:4:"elő";s:3:"177";s:3:"erv";s:3:"178";s:3:"ete";s:3:"179";s:3:"fog";s:3:"180";s:3:"i a";s:3:"181";s:3:"kis";s:3:"182";s:4:"lád";s:3:"183";s:3:"nte";s:3:"184";s:3:"nye";s:3:"185";s:3:"nyi";s:3:"186";s:3:"ok ";s:3:"187";s:4:"omá";s:3:"188";s:3:"os ";s:3:"189";s:4:"rán";s:3:"190";s:4:"rás";s:3:"191";s:3:"sal";s:3:"192";s:3:"t e";s:3:"193";s:4:"vál";s:3:"194";s:3:"yar";s:3:"195";s:4:"ágo";s:3:"196";s:4:"ála";s:3:"197";s:4:"ége";s:3:"198";s:4:"ény";s:3:"199";s:4:"ött";s:3:"200";s:4:" tá";s:3:"201";s:4:"adó";s:3:"202";s:3:"elh";s:3:"203";s:3:"fej";s:3:"204";s:3:"het";s:3:"205";s:3:"hoz";s:3:"206";s:3:"ill";s:3:"207";s:4:"jár";s:3:"208";s:4:"kés";s:3:"209";s:3:"llo";s:3:"210";s:3:"mi ";s:3:"211";s:3:"ny ";s:3:"212";s:3:"ont";s:3:"213";s:3:"ren";s:3:"214";s:3:"res";s:3:"215";s:3:"rin";s:3:"216";s:3:"s a";s:3:"217";s:3:"s e";s:3:"218";s:3:"ssz";s:3:"219";s:3:"zt ";s:3:"220";s:3:" ez";s:3:"221";s:3:" ka";s:3:"222";s:3:" ke";s:3:"223";s:3:" ko";s:3:"224";s:3:" re";s:3:"225";s:3:"a h";s:3:"226";s:3:"a n";s:3:"227";s:3:"den";s:3:"228";s:4:"dó ";s:3:"229";s:3:"efo";s:3:"230";s:3:"gad";s:3:"231";s:3:"gat";s:3:"232";s:3:"gye";s:3:"233";s:3:"hel";s:3:"234";s:3:"k e";s:3:"235";s:3:"ket";s:3:"236";s:3:"les";s:3:"237";s:4:"mán";s:3:"238";s:3:"nde";s:3:"239";s:3:"nis";s:3:"240";s:3:"ozz";s:3:"241";s:3:"t b";s:3:"242";s:3:"t i";s:3:"243";s:4:"t é";s:3:"244";s:3:"tat";s:3:"245";s:3:"tos";s:3:"246";s:3:"val";s:3:"247";s:3:"z o";s:3:"248";s:3:"zak";s:3:"249";s:4:"ád ";s:3:"250";s:4:"ály";s:3:"251";s:4:"ára";s:3:"252";s:4:"ési";s:3:"253";s:4:"ész";s:3:"254";s:3:" ak";s:3:"255";s:3:" am";s:3:"256";s:3:" es";s:3:"257";s:4:" há";s:3:"258";s:3:" ny";s:3:"259";s:4:" tö";s:3:"260";s:3:"aka";s:3:"261";s:3:"art";s:3:"262";s:4:"ató";s:3:"263";s:3:"azt";s:3:"264";s:3:"bbe";s:3:"265";s:3:"ber";s:3:"266";s:4:"ció";s:3:"267";s:3:"cso";s:3:"268";s:3:"em ";s:3:"269";s:3:"eti";s:3:"270";s:4:"eté";s:3:"271";s:3:"gal";s:3:"272";s:3:"i t";s:3:"273";s:3:"ini";s:3:"274";s:3:"ist";s:3:"275";s:3:"ja ";s:3:"276";s:3:"ker";s:3:"277";s:3:"ki ";s:3:"278";s:3:"kor";s:3:"279";s:3:"koz";s:3:"280";s:4:"l é";s:3:"281";s:4:"ljá";s:3:"282";s:3:"lye";s:3:"283";s:3:"n v";s:3:"284";s:3:"ni ";s:3:"285";s:4:"pál";s:3:"286";s:3:"ror";s:3:"287";s:4:"ról";s:3:"288";s:4:"rül";s:3:"289";s:3:"s c";s:3:"290";s:3:"s p";s:3:"291";s:3:"s s";s:3:"292";s:3:"s v";s:3:"293";s:3:"sok";s:3:"294";s:3:"t j";s:3:"295";s:3:"t t";s:3:"296";s:3:"tar";s:3:"297";s:3:"tel";s:3:"298";s:3:"vat";s:3:"299";}s:9:"icelandic";a:300:{s:4:"að ";s:1:"0";s:3:"um ";s:1:"1";s:4:" að";s:1:"2";s:3:"ir ";s:1:"3";s:4:"ið ";s:1:"4";s:3:"ur ";s:1:"5";s:3:" ve";s:1:"6";s:4:" í ";s:1:"7";s:3:"na ";s:1:"8";s:4:" á ";s:1:"9";s:3:" se";s:2:"10";s:3:" er";s:2:"11";s:3:" og";s:2:"12";s:3:"ar ";s:2:"13";s:3:"og ";s:2:"14";s:3:"ver";s:2:"15";s:3:" mi";s:2:"16";s:3:"inn";s:2:"17";s:3:"nn ";s:2:"18";s:3:" fy";s:2:"19";s:3:"er ";s:2:"20";s:3:"fyr";s:2:"21";s:3:" ek";s:2:"22";s:3:" en";s:2:"23";s:3:" ha";s:2:"24";s:3:" he";s:2:"25";s:3:"ekk";s:2:"26";s:3:" st";s:2:"27";s:3:"ki ";s:2:"28";s:3:"st ";s:2:"29";s:4:"ði ";s:2:"30";s:3:" ba";s:2:"31";s:3:" me";s:2:"32";s:3:" vi";s:2:"33";s:3:"ig ";s:2:"34";s:3:"rir";s:2:"35";s:3:"yri";s:2:"36";s:3:" um";s:2:"37";s:3:"g f";s:2:"38";s:3:"leg";s:2:"39";s:3:"lei";s:2:"40";s:3:"ns ";s:2:"41";s:4:"ð s";s:2:"42";s:3:" ei";s:2:"43";s:4:" þa";s:2:"44";s:3:"in ";s:2:"45";s:3:"kki";s:2:"46";s:3:"r h";s:2:"47";s:3:"r s";s:2:"48";s:3:"egi";s:2:"49";s:3:"ein";s:2:"50";s:3:"ga ";s:2:"51";s:3:"ing";s:2:"52";s:3:"ra ";s:2:"53";s:3:"sta";s:2:"54";s:3:" va";s:2:"55";s:4:" þe";s:2:"56";s:3:"ann";s:2:"57";s:3:"en ";s:2:"58";s:3:"mil";s:2:"59";s:3:"sem";s:2:"60";s:4:"tjó";s:2:"61";s:4:"arð";s:2:"62";s:3:"di ";s:2:"63";s:3:"eit";s:2:"64";s:3:"haf";s:2:"65";s:3:"ill";s:2:"66";s:3:"ins";s:2:"67";s:3:"ist";s:2:"68";s:3:"llj";s:2:"69";s:3:"ndi";s:2:"70";s:3:"r a";s:2:"71";s:3:"r e";s:2:"72";s:3:"seg";s:2:"73";s:3:"un ";s:2:"74";s:3:"var";s:2:"75";s:3:" bi";s:2:"76";s:3:" el";s:2:"77";s:3:" fo";s:2:"78";s:3:" ge";s:2:"79";s:3:" yf";s:2:"80";s:3:"and";s:2:"81";s:3:"aug";s:2:"82";s:3:"bau";s:2:"83";s:3:"big";s:2:"84";s:3:"ega";s:2:"85";s:3:"eld";s:2:"86";s:4:"erð";s:2:"87";s:3:"fir";s:2:"88";s:3:"foo";s:2:"89";s:3:"gin";s:2:"90";s:3:"itt";s:2:"91";s:3:"n s";s:2:"92";s:3:"ngi";s:2:"93";s:3:"num";s:2:"94";s:3:"od ";s:2:"95";s:3:"ood";s:2:"96";s:3:"sin";s:2:"97";s:3:"ta ";s:2:"98";s:3:"tt ";s:2:"99";s:4:"við";s:3:"100";s:3:"yfi";s:3:"101";s:4:"ð e";s:3:"102";s:4:"ð f";s:3:"103";s:3:" hr";s:3:"104";s:4:" sé";s:3:"105";s:4:" þv";s:3:"106";s:3:"a e";s:3:"107";s:4:"a á";s:3:"108";s:3:"em ";s:3:"109";s:3:"gi ";s:3:"110";s:3:"i f";s:3:"111";s:3:"jar";s:3:"112";s:4:"jór";s:3:"113";s:3:"lja";s:3:"114";s:3:"m e";s:3:"115";s:4:"r á";s:3:"116";s:3:"rei";s:3:"117";s:3:"rst";s:3:"118";s:4:"rða";s:3:"119";s:4:"rði";s:3:"120";s:4:"rðu";s:3:"121";s:3:"stj";s:3:"122";s:3:"und";s:3:"123";s:3:"veg";s:3:"124";s:4:"ví ";s:3:"125";s:4:"ð v";s:3:"126";s:5:"það";s:3:"127";s:5:"því";s:3:"128";s:3:" fj";s:3:"129";s:3:" ko";s:3:"130";s:3:" sl";s:3:"131";s:3:"eik";s:3:"132";s:3:"end";s:3:"133";s:3:"ert";s:3:"134";s:3:"ess";s:3:"135";s:4:"fjá";s:3:"136";s:3:"fur";s:3:"137";s:3:"gir";s:3:"138";s:4:"hús";s:3:"139";s:4:"jár";s:3:"140";s:3:"n e";s:3:"141";s:3:"ri ";s:3:"142";s:3:"tar";s:3:"143";s:5:"ð þ";s:3:"144";s:4:"ðar";s:3:"145";s:4:"ður";s:3:"146";s:4:"þes";s:3:"147";s:3:" br";s:3:"148";s:4:" hú";s:3:"149";s:3:" kr";s:3:"150";s:3:" le";s:3:"151";s:3:" up";s:3:"152";s:3:"a s";s:3:"153";s:3:"egg";s:3:"154";s:3:"i s";s:3:"155";s:3:"irt";s:3:"156";s:3:"ja ";s:3:"157";s:4:"kið";s:3:"158";s:3:"len";s:3:"159";s:4:"með";s:3:"160";s:3:"mik";s:3:"161";s:3:"n b";s:3:"162";s:3:"nar";s:3:"163";s:3:"nir";s:3:"164";s:3:"nun";s:3:"165";s:3:"r f";s:3:"166";s:3:"r v";s:3:"167";s:4:"rið";s:3:"168";s:3:"rt ";s:3:"169";s:3:"sti";s:3:"170";s:3:"t v";s:3:"171";s:3:"ti ";s:3:"172";s:3:"una";s:3:"173";s:3:"upp";s:3:"174";s:4:"ða ";s:3:"175";s:4:"óna";s:3:"176";s:3:" al";s:3:"177";s:3:" fr";s:3:"178";s:3:" gr";s:3:"179";s:3:"a v";s:3:"180";s:3:"all";s:3:"181";s:3:"an ";s:3:"182";s:3:"da ";s:3:"183";s:4:"eið";s:3:"184";s:4:"eð ";s:3:"185";s:3:"fa ";s:3:"186";s:3:"fra";s:3:"187";s:3:"g e";s:3:"188";s:3:"ger";s:3:"189";s:4:"gið";s:3:"190";s:3:"gt ";s:3:"191";s:3:"han";s:3:"192";s:3:"hef";s:3:"193";s:3:"hel";s:3:"194";s:3:"her";s:3:"195";s:3:"hra";s:3:"196";s:3:"i a";s:3:"197";s:3:"i e";s:3:"198";s:3:"i v";s:3:"199";s:4:"i þ";s:3:"200";s:3:"iki";s:3:"201";s:4:"jón";s:3:"202";s:4:"jör";s:3:"203";s:3:"ka ";s:3:"204";s:4:"kró";s:3:"205";s:4:"lík";s:3:"206";s:3:"m h";s:3:"207";s:3:"n a";s:3:"208";s:3:"nga";s:3:"209";s:3:"r l";s:3:"210";s:3:"ram";s:3:"211";s:3:"ru ";s:3:"212";s:5:"ráð";s:3:"213";s:4:"rón";s:3:"214";s:3:"svo";s:3:"215";s:3:"vin";s:3:"216";s:4:"í b";s:3:"217";s:4:"í h";s:3:"218";s:4:"ð h";s:3:"219";s:4:"ð k";s:3:"220";s:4:"ð m";s:3:"221";s:5:"örð";s:3:"222";s:3:" af";s:3:"223";s:3:" fa";s:3:"224";s:4:" lí";s:3:"225";s:4:" rá";s:3:"226";s:3:" sk";s:3:"227";s:3:" sv";s:3:"228";s:3:" te";s:3:"229";s:3:"a b";s:3:"230";s:3:"a f";s:3:"231";s:3:"a h";s:3:"232";s:3:"a k";s:3:"233";s:3:"a u";s:3:"234";s:3:"afi";s:3:"235";s:3:"agn";s:3:"236";s:3:"arn";s:3:"237";s:3:"ast";s:3:"238";s:3:"ber";s:3:"239";s:3:"efu";s:3:"240";s:3:"enn";s:3:"241";s:3:"erb";s:3:"242";s:3:"erg";s:3:"243";s:3:"fi ";s:3:"244";s:3:"g a";s:3:"245";s:3:"gar";s:3:"246";s:4:"iðs";s:3:"247";s:3:"ker";s:3:"248";s:3:"kke";s:3:"249";s:3:"lan";s:3:"250";s:4:"ljó";s:3:"251";s:3:"llt";s:3:"252";s:3:"ma ";s:3:"253";s:4:"mið";s:3:"254";s:3:"n v";s:3:"255";s:4:"n í";s:3:"256";s:3:"nan";s:3:"257";s:3:"nda";s:3:"258";s:3:"ndu";s:3:"259";s:4:"nið";s:3:"260";s:3:"nna";s:3:"261";s:3:"nnu";s:3:"262";s:3:"nu ";s:3:"263";s:3:"r o";s:3:"264";s:3:"rbe";s:3:"265";s:3:"rgi";s:3:"266";s:4:"slö";s:3:"267";s:4:"sé ";s:3:"268";s:3:"t a";s:3:"269";s:3:"t h";s:3:"270";s:3:"til";s:3:"271";s:3:"tin";s:3:"272";s:3:"ugu";s:3:"273";s:3:"vil";s:3:"274";s:3:"ygg";s:3:"275";s:4:"á s";s:3:"276";s:4:"ð a";s:3:"277";s:4:"ð b";s:3:"278";s:4:"órn";s:3:"279";s:4:"ögn";s:3:"280";s:4:"öku";s:3:"281";s:3:" at";s:3:"282";s:3:" fi";s:3:"283";s:4:" fé";s:3:"284";s:3:" ka";s:3:"285";s:3:" ma";s:3:"286";s:3:" no";s:3:"287";s:3:" sa";s:3:"288";s:3:" si";s:3:"289";s:3:" ti";s:3:"290";s:4:" ák";s:3:"291";s:3:"a m";s:3:"292";s:3:"a t";s:3:"293";s:4:"a í";s:3:"294";s:4:"a þ";s:3:"295";s:3:"afa";s:3:"296";s:3:"afs";s:3:"297";s:3:"ald";s:3:"298";s:3:"arf";s:3:"299";}s:10:"indonesian";a:300:{s:3:"an ";s:1:"0";s:3:" me";s:1:"1";s:3:"kan";s:1:"2";s:3:"ang";s:1:"3";s:3:"ng ";s:1:"4";s:3:" pe";s:1:"5";s:3:"men";s:1:"6";s:3:" di";s:1:"7";s:3:" ke";s:1:"8";s:3:" da";s:1:"9";s:3:" se";s:2:"10";s:3:"eng";s:2:"11";s:3:" be";s:2:"12";s:3:"nga";s:2:"13";s:3:"nya";s:2:"14";s:3:" te";s:2:"15";s:3:"ah ";s:2:"16";s:3:"ber";s:2:"17";s:3:"aka";s:2:"18";s:3:" ya";s:2:"19";s:3:"dan";s:2:"20";s:3:"di ";s:2:"21";s:3:"yan";s:2:"22";s:3:"n p";s:2:"23";s:3:"per";s:2:"24";s:3:"a m";s:2:"25";s:3:"ita";s:2:"26";s:3:" pa";s:2:"27";s:3:"da ";s:2:"28";s:3:"ata";s:2:"29";s:3:"ada";s:2:"30";s:3:"ya ";s:2:"31";s:3:"ta ";s:2:"32";s:3:" in";s:2:"33";s:3:"ala";s:2:"34";s:3:"eri";s:2:"35";s:3:"ia ";s:2:"36";s:3:"a d";s:2:"37";s:3:"n k";s:2:"38";s:3:"am ";s:2:"39";s:3:"ga ";s:2:"40";s:3:"at ";s:2:"41";s:3:"era";s:2:"42";s:3:"n d";s:2:"43";s:3:"ter";s:2:"44";s:3:" ka";s:2:"45";s:3:"a p";s:2:"46";s:3:"ari";s:2:"47";s:3:"emb";s:2:"48";s:3:"n m";s:2:"49";s:3:"ri ";s:2:"50";s:3:" ba";s:2:"51";s:3:"aan";s:2:"52";s:3:"ak ";s:2:"53";s:3:"ra ";s:2:"54";s:3:" it";s:2:"55";s:3:"ara";s:2:"56";s:3:"ela";s:2:"57";s:3:"ni ";s:2:"58";s:3:"ali";s:2:"59";s:3:"ran";s:2:"60";s:3:"ar ";s:2:"61";s:3:"eru";s:2:"62";s:3:"lah";s:2:"63";s:3:"a b";s:2:"64";s:3:"asi";s:2:"65";s:3:"awa";s:2:"66";s:3:"eba";s:2:"67";s:3:"gan";s:2:"68";s:3:"n b";s:2:"69";s:3:" ha";s:2:"70";s:3:"ini";s:2:"71";s:3:"mer";s:2:"72";s:3:" la";s:2:"73";s:3:" mi";s:2:"74";s:3:"and";s:2:"75";s:3:"ena";s:2:"76";s:3:"wan";s:2:"77";s:3:" sa";s:2:"78";s:3:"aha";s:2:"79";s:3:"lam";s:2:"80";s:3:"n i";s:2:"81";s:3:"nda";s:2:"82";s:3:" wa";s:2:"83";s:3:"a i";s:2:"84";s:3:"dua";s:2:"85";s:3:"g m";s:2:"86";s:3:"mi ";s:2:"87";s:3:"n a";s:2:"88";s:3:"rus";s:2:"89";s:3:"tel";s:2:"90";s:3:"yak";s:2:"91";s:3:" an";s:2:"92";s:3:"dal";s:2:"93";s:3:"h d";s:2:"94";s:3:"i s";s:2:"95";s:3:"ing";s:2:"96";s:3:"min";s:2:"97";s:3:"ngg";s:2:"98";s:3:"tak";s:2:"99";s:3:"ami";s:3:"100";s:3:"beb";s:3:"101";s:3:"den";s:3:"102";s:3:"gat";s:3:"103";s:3:"ian";s:3:"104";s:3:"ih ";s:3:"105";s:3:"pad";s:3:"106";s:3:"rga";s:3:"107";s:3:"san";s:3:"108";s:3:"ua ";s:3:"109";s:3:" de";s:3:"110";s:3:"a t";s:3:"111";s:3:"arg";s:3:"112";s:3:"dar";s:3:"113";s:3:"elu";s:3:"114";s:3:"har";s:3:"115";s:3:"i k";s:3:"116";s:3:"i m";s:3:"117";s:3:"i p";s:3:"118";s:3:"ika";s:3:"119";s:3:"in ";s:3:"120";s:3:"iny";s:3:"121";s:3:"itu";s:3:"122";s:3:"mba";s:3:"123";s:3:"n t";s:3:"124";s:3:"ntu";s:3:"125";s:3:"pan";s:3:"126";s:3:"pen";s:3:"127";s:3:"sah";s:3:"128";s:3:"tan";s:3:"129";s:3:"tu ";s:3:"130";s:3:"a k";s:3:"131";s:3:"ban";s:3:"132";s:3:"edu";s:3:"133";s:3:"eka";s:3:"134";s:3:"g d";s:3:"135";s:3:"ka ";s:3:"136";s:3:"ker";s:3:"137";s:3:"nde";s:3:"138";s:3:"nta";s:3:"139";s:3:"ora";s:3:"140";s:3:"usa";s:3:"141";s:3:" du";s:3:"142";s:3:" ma";s:3:"143";s:3:"a s";s:3:"144";s:3:"ai ";s:3:"145";s:3:"ant";s:3:"146";s:3:"bas";s:3:"147";s:3:"end";s:3:"148";s:3:"i d";s:3:"149";s:3:"ira";s:3:"150";s:3:"kam";s:3:"151";s:3:"lan";s:3:"152";s:3:"n s";s:3:"153";s:3:"uli";s:3:"154";s:3:"al ";s:3:"155";s:3:"apa";s:3:"156";s:3:"ere";s:3:"157";s:3:"ert";s:3:"158";s:3:"lia";s:3:"159";s:3:"mem";s:3:"160";s:3:"rka";s:3:"161";s:3:"si ";s:3:"162";s:3:"tal";s:3:"163";s:3:"ung";s:3:"164";s:3:" ak";s:3:"165";s:3:"a a";s:3:"166";s:3:"a w";s:3:"167";s:3:"ani";s:3:"168";s:3:"ask";s:3:"169";s:3:"ent";s:3:"170";s:3:"gar";s:3:"171";s:3:"haa";s:3:"172";s:3:"i i";s:3:"173";s:3:"isa";s:3:"174";s:3:"ked";s:3:"175";s:3:"mbe";s:3:"176";s:3:"ska";s:3:"177";s:3:"tor";s:3:"178";s:3:"uan";s:3:"179";s:3:"uk ";s:3:"180";s:3:"uka";s:3:"181";s:3:" ad";s:3:"182";s:3:" to";s:3:"183";s:3:"asa";s:3:"184";s:3:"aya";s:3:"185";s:3:"bag";s:3:"186";s:3:"dia";s:3:"187";s:3:"dun";s:3:"188";s:3:"erj";s:3:"189";s:3:"mas";s:3:"190";s:3:"na ";s:3:"191";s:3:"rek";s:3:"192";s:3:"rit";s:3:"193";s:3:"sih";s:3:"194";s:3:"us ";s:3:"195";s:3:" bi";s:3:"196";s:3:"a h";s:3:"197";s:3:"ama";s:3:"198";s:3:"dib";s:3:"199";s:3:"ers";s:3:"200";s:3:"g s";s:3:"201";s:3:"han";s:3:"202";s:3:"ik ";s:3:"203";s:3:"kem";s:3:"204";s:3:"ma ";s:3:"205";s:3:"n l";s:3:"206";s:3:"nit";s:3:"207";s:3:"r b";s:3:"208";s:3:"rja";s:3:"209";s:3:"sa ";s:3:"210";s:3:" ju";s:3:"211";s:3:" or";s:3:"212";s:3:" si";s:3:"213";s:3:" ti";s:3:"214";s:3:"a y";s:3:"215";s:3:"aga";s:3:"216";s:3:"any";s:3:"217";s:3:"as ";s:3:"218";s:3:"cul";s:3:"219";s:3:"eme";s:3:"220";s:3:"emu";s:3:"221";s:3:"eny";s:3:"222";s:3:"epa";s:3:"223";s:3:"erb";s:3:"224";s:3:"erl";s:3:"225";s:3:"gi ";s:3:"226";s:3:"h m";s:3:"227";s:3:"i a";s:3:"228";s:3:"kel";s:3:"229";s:3:"li ";s:3:"230";s:3:"mel";s:3:"231";s:3:"nia";s:3:"232";s:3:"opa";s:3:"233";s:3:"rta";s:3:"234";s:3:"sia";s:3:"235";s:3:"tah";s:3:"236";s:3:"ula";s:3:"237";s:3:"un ";s:3:"238";s:3:"unt";s:3:"239";s:3:" at";s:3:"240";s:3:" bu";s:3:"241";s:3:" pu";s:3:"242";s:3:" ta";s:3:"243";s:3:"agi";s:3:"244";s:3:"alu";s:3:"245";s:3:"amb";s:3:"246";s:3:"bah";s:3:"247";s:3:"bis";s:3:"248";s:3:"er ";s:3:"249";s:3:"i t";s:3:"250";s:3:"ibe";s:3:"251";s:3:"ir ";s:3:"252";s:3:"ja ";s:3:"253";s:3:"k m";s:3:"254";s:3:"kar";s:3:"255";s:3:"lai";s:3:"256";s:3:"lal";s:3:"257";s:3:"lu ";s:3:"258";s:3:"mpa";s:3:"259";s:3:"ngk";s:3:"260";s:3:"nja";s:3:"261";s:3:"or ";s:3:"262";s:3:"pa ";s:3:"263";s:3:"pas";s:3:"264";s:3:"pem";s:3:"265";s:3:"rak";s:3:"266";s:3:"rik";s:3:"267";s:3:"seb";s:3:"268";s:3:"tam";s:3:"269";s:3:"tem";s:3:"270";s:3:"top";s:3:"271";s:3:"tuk";s:3:"272";s:3:"uni";s:3:"273";s:3:"war";s:3:"274";s:3:" al";s:3:"275";s:3:" ga";s:3:"276";s:3:" ge";s:3:"277";s:3:" ir";s:3:"278";s:3:" ja";s:3:"279";s:3:" mu";s:3:"280";s:3:" na";s:3:"281";s:3:" pr";s:3:"282";s:3:" su";s:3:"283";s:3:" un";s:3:"284";s:3:"ad ";s:3:"285";s:3:"adi";s:3:"286";s:3:"akt";s:3:"287";s:3:"ann";s:3:"288";s:3:"apo";s:3:"289";s:3:"bel";s:3:"290";s:3:"bul";s:3:"291";s:3:"der";s:3:"292";s:3:"ega";s:3:"293";s:3:"eke";s:3:"294";s:3:"ema";s:3:"295";s:3:"emp";s:3:"296";s:3:"ene";s:3:"297";s:3:"enj";s:3:"298";s:3:"esa";s:3:"299";}s:7:"italian";a:300:{s:3:" di";s:1:"0";s:3:"to ";s:1:"1";s:3:"la ";s:1:"2";s:3:" de";s:1:"3";s:3:"di ";s:1:"4";s:3:"no ";s:1:"5";s:3:" co";s:1:"6";s:3:"re ";s:1:"7";s:3:"ion";s:1:"8";s:3:"e d";s:1:"9";s:3:" e ";s:2:"10";s:3:"le ";s:2:"11";s:3:"del";s:2:"12";s:3:"ne ";s:2:"13";s:3:"ti ";s:2:"14";s:3:"ell";s:2:"15";s:3:" la";s:2:"16";s:3:" un";s:2:"17";s:3:"ni ";s:2:"18";s:3:"i d";s:2:"19";s:3:"per";s:2:"20";s:3:" pe";s:2:"21";s:3:"ent";s:2:"22";s:3:" in";s:2:"23";s:3:"one";s:2:"24";s:3:"he ";s:2:"25";s:3:"ta ";s:2:"26";s:3:"zio";s:2:"27";s:3:"che";s:2:"28";s:3:"o d";s:2:"29";s:3:"a d";s:2:"30";s:3:"na ";s:2:"31";s:3:"ato";s:2:"32";s:3:"e s";s:2:"33";s:3:" so";s:2:"34";s:3:"i s";s:2:"35";s:3:"lla";s:2:"36";s:3:"a p";s:2:"37";s:3:"li ";s:2:"38";s:3:"te ";s:2:"39";s:3:" al";s:2:"40";s:3:" ch";s:2:"41";s:3:"er ";s:2:"42";s:3:" pa";s:2:"43";s:3:" si";s:2:"44";s:3:"con";s:2:"45";s:3:"sta";s:2:"46";s:3:" pr";s:2:"47";s:3:"a c";s:2:"48";s:3:" se";s:2:"49";s:3:"el ";s:2:"50";s:3:"ia ";s:2:"51";s:3:"si ";s:2:"52";s:3:"e p";s:2:"53";s:3:" da";s:2:"54";s:3:"e i";s:2:"55";s:3:"i p";s:2:"56";s:3:"ont";s:2:"57";s:3:"ano";s:2:"58";s:3:"i c";s:2:"59";s:3:"all";s:2:"60";s:3:"azi";s:2:"61";s:3:"nte";s:2:"62";s:3:"on ";s:2:"63";s:3:"nti";s:2:"64";s:3:"o s";s:2:"65";s:3:" ri";s:2:"66";s:3:"i a";s:2:"67";s:3:"o a";s:2:"68";s:3:"un ";s:2:"69";s:3:" an";s:2:"70";s:3:"are";s:2:"71";s:3:"ari";s:2:"72";s:3:"e a";s:2:"73";s:3:"i e";s:2:"74";s:3:"ita";s:2:"75";s:3:"men";s:2:"76";s:3:"ri ";s:2:"77";s:3:" ca";s:2:"78";s:3:" il";s:2:"79";s:3:" no";s:2:"80";s:3:" po";s:2:"81";s:3:"a s";s:2:"82";s:3:"ant";s:2:"83";s:3:"il ";s:2:"84";s:3:"in ";s:2:"85";s:3:"a l";s:2:"86";s:3:"ati";s:2:"87";s:3:"cia";s:2:"88";s:3:"e c";s:2:"89";s:3:"ro ";s:2:"90";s:3:"ann";s:2:"91";s:3:"est";s:2:"92";s:3:"gli";s:2:"93";s:4:"tà ";s:2:"94";s:3:" qu";s:2:"95";s:3:"e l";s:2:"96";s:3:"nta";s:2:"97";s:3:" a ";s:2:"98";s:3:"com";s:2:"99";s:3:"o c";s:3:"100";s:3:"ra ";s:3:"101";s:3:" le";s:3:"102";s:3:" ne";s:3:"103";s:3:"ali";s:3:"104";s:3:"ere";s:3:"105";s:3:"ist";s:3:"106";s:3:" ma";s:3:"107";s:4:" è ";s:3:"108";s:3:"io ";s:3:"109";s:3:"lle";s:3:"110";s:3:"me ";s:3:"111";s:3:"era";s:3:"112";s:3:"ica";s:3:"113";s:3:"ost";s:3:"114";s:3:"pro";s:3:"115";s:3:"tar";s:3:"116";s:3:"una";s:3:"117";s:3:" pi";s:3:"118";s:3:"da ";s:3:"119";s:3:"tat";s:3:"120";s:3:" mi";s:3:"121";s:3:"att";s:3:"122";s:3:"ca ";s:3:"123";s:3:"mo ";s:3:"124";s:3:"non";s:3:"125";s:3:"par";s:3:"126";s:3:"sti";s:3:"127";s:3:" fa";s:3:"128";s:3:" i ";s:3:"129";s:3:" re";s:3:"130";s:3:" su";s:3:"131";s:3:"ess";s:3:"132";s:3:"ini";s:3:"133";s:3:"nto";s:3:"134";s:3:"o l";s:3:"135";s:3:"ssi";s:3:"136";s:3:"tto";s:3:"137";s:3:"a e";s:3:"138";s:3:"ame";s:3:"139";s:3:"col";s:3:"140";s:3:"ei ";s:3:"141";s:3:"ma ";s:3:"142";s:3:"o i";s:3:"143";s:3:"za ";s:3:"144";s:3:" st";s:3:"145";s:3:"a a";s:3:"146";s:3:"ale";s:3:"147";s:3:"anc";s:3:"148";s:3:"ani";s:3:"149";s:3:"i m";s:3:"150";s:3:"ian";s:3:"151";s:3:"o p";s:3:"152";s:3:"oni";s:3:"153";s:3:"sio";s:3:"154";s:3:"tan";s:3:"155";s:3:"tti";s:3:"156";s:3:" lo";s:3:"157";s:3:"i r";s:3:"158";s:3:"oci";s:3:"159";s:3:"oli";s:3:"160";s:3:"ona";s:3:"161";s:3:"ono";s:3:"162";s:3:"tra";s:3:"163";s:3:" l ";s:3:"164";s:3:"a r";s:3:"165";s:3:"eri";s:3:"166";s:3:"ett";s:3:"167";s:3:"lo ";s:3:"168";s:3:"nza";s:3:"169";s:3:"que";s:3:"170";s:3:"str";s:3:"171";s:3:"ter";s:3:"172";s:3:"tta";s:3:"173";s:3:" ba";s:3:"174";s:3:" li";s:3:"175";s:3:" te";s:3:"176";s:3:"ass";s:3:"177";s:3:"e f";s:3:"178";s:3:"enz";s:3:"179";s:3:"for";s:3:"180";s:3:"nno";s:3:"181";s:3:"olo";s:3:"182";s:3:"ori";s:3:"183";s:3:"res";s:3:"184";s:3:"tor";s:3:"185";s:3:" ci";s:3:"186";s:3:" vo";s:3:"187";s:3:"a i";s:3:"188";s:3:"al ";s:3:"189";s:3:"chi";s:3:"190";s:3:"e n";s:3:"191";s:3:"lia";s:3:"192";s:3:"pre";s:3:"193";s:3:"ria";s:3:"194";s:3:"uni";s:3:"195";s:3:"ver";s:3:"196";s:3:" sp";s:3:"197";s:3:"imo";s:3:"198";s:3:"l a";s:3:"199";s:3:"l c";s:3:"200";s:3:"ran";s:3:"201";s:3:"sen";s:3:"202";s:3:"soc";s:3:"203";s:3:"tic";s:3:"204";s:3:" fi";s:3:"205";s:3:" mo";s:3:"206";s:3:"a n";s:3:"207";s:3:"ce ";s:3:"208";s:3:"dei";s:3:"209";s:3:"ggi";s:3:"210";s:3:"gio";s:3:"211";s:3:"iti";s:3:"212";s:3:"l s";s:3:"213";s:3:"lit";s:3:"214";s:3:"ll ";s:3:"215";s:3:"mon";s:3:"216";s:3:"ola";s:3:"217";s:3:"pac";s:3:"218";s:3:"sim";s:3:"219";s:3:"tit";s:3:"220";s:3:"utt";s:3:"221";s:3:"vol";s:3:"222";s:3:" ar";s:3:"223";s:3:" fo";s:3:"224";s:3:" ha";s:3:"225";s:3:" sa";s:3:"226";s:3:"acc";s:3:"227";s:3:"e r";s:3:"228";s:3:"ire";s:3:"229";s:3:"man";s:3:"230";s:3:"ntr";s:3:"231";s:3:"rat";s:3:"232";s:3:"sco";s:3:"233";s:3:"tro";s:3:"234";s:3:"tut";s:3:"235";s:3:"va ";s:3:"236";s:3:" do";s:3:"237";s:3:" gi";s:3:"238";s:3:" me";s:3:"239";s:3:" sc";s:3:"240";s:3:" tu";s:3:"241";s:3:" ve";s:3:"242";s:3:" vi";s:3:"243";s:3:"a m";s:3:"244";s:3:"ber";s:3:"245";s:3:"can";s:3:"246";s:3:"cit";s:3:"247";s:3:"i l";s:3:"248";s:3:"ier";s:3:"249";s:4:"ità";s:3:"250";s:3:"lli";s:3:"251";s:3:"min";s:3:"252";s:3:"n p";s:3:"253";s:3:"nat";s:3:"254";s:3:"nda";s:3:"255";s:3:"o e";s:3:"256";s:3:"o f";s:3:"257";s:3:"o u";s:3:"258";s:3:"ore";s:3:"259";s:3:"oro";s:3:"260";s:3:"ort";s:3:"261";s:3:"sto";s:3:"262";s:3:"ten";s:3:"263";s:3:"tiv";s:3:"264";s:3:"van";s:3:"265";s:3:"art";s:3:"266";s:3:"cco";s:3:"267";s:3:"ci ";s:3:"268";s:3:"cos";s:3:"269";s:3:"dal";s:3:"270";s:3:"e v";s:3:"271";s:3:"i i";s:3:"272";s:3:"ila";s:3:"273";s:3:"ino";s:3:"274";s:3:"l p";s:3:"275";s:3:"n c";s:3:"276";s:3:"nit";s:3:"277";s:3:"ole";s:3:"278";s:3:"ome";s:3:"279";s:3:"po ";s:3:"280";s:3:"rio";s:3:"281";s:3:"sa ";s:3:"282";s:3:" ce";s:3:"283";s:3:" es";s:3:"284";s:3:" tr";s:3:"285";s:3:"a b";s:3:"286";s:3:"and";s:3:"287";s:3:"ata";s:3:"288";s:3:"der";s:3:"289";s:3:"ens";s:3:"290";s:3:"ers";s:3:"291";s:3:"gi ";s:3:"292";s:3:"ial";s:3:"293";s:3:"ina";s:3:"294";s:3:"itt";s:3:"295";s:3:"izi";s:3:"296";s:3:"lan";s:3:"297";s:3:"lor";s:3:"298";s:3:"mil";s:3:"299";}s:6:"kazakh";a:300:{s:5:"ан ";s:1:"0";s:5:"ен ";s:1:"1";s:5:"ың ";s:1:"2";s:5:" қа";s:1:"3";s:5:" ба";s:1:"4";s:5:"ай ";s:1:"5";s:6:"нда";s:1:"6";s:5:"ын ";s:1:"7";s:5:" са";s:1:"8";s:5:" ал";s:1:"9";s:5:"ді ";s:2:"10";s:6:"ары";s:2:"11";s:5:"ды ";s:2:"12";s:5:"ып ";s:2:"13";s:5:" мұ";s:2:"14";s:5:" бі";s:2:"15";s:6:"асы";s:2:"16";s:5:"да ";s:2:"17";s:6:"най";s:2:"18";s:5:" жа";s:2:"19";s:6:"мұн";s:2:"20";s:6:"ста";s:2:"21";s:6:"ған";s:2:"22";s:5:"н б";s:2:"23";s:6:"ұна";s:2:"24";s:5:" бо";s:2:"25";s:6:"ның";s:2:"26";s:5:"ін ";s:2:"27";s:6:"лар";s:2:"28";s:6:"сын";s:2:"29";s:5:" де";s:2:"30";s:6:"аға";s:2:"31";s:6:"тан";s:2:"32";s:5:" кө";s:2:"33";s:6:"бір";s:2:"34";s:5:"ер ";s:2:"35";s:6:"мен";s:2:"36";s:6:"аза";s:2:"37";s:6:"ынд";s:2:"38";s:6:"ыны";s:2:"39";s:5:" ме";s:2:"40";s:6:"анд";s:2:"41";s:6:"ері";s:2:"42";s:6:"бол";s:2:"43";s:6:"дың";s:2:"44";s:6:"қаз";s:2:"45";s:6:"аты";s:2:"46";s:5:"сы ";s:2:"47";s:6:"тын";s:2:"48";s:5:"ғы ";s:2:"49";s:5:" ке";s:2:"50";s:5:"ар ";s:2:"51";s:6:"зақ";s:2:"52";s:5:"ық ";s:2:"53";s:6:"ала";s:2:"54";s:6:"алы";s:2:"55";s:6:"аны";s:2:"56";s:6:"ара";s:2:"57";s:6:"ағы";s:2:"58";s:6:"ген";s:2:"59";s:6:"тар";s:2:"60";s:6:"тер";s:2:"61";s:6:"тыр";s:2:"62";s:6:"айд";s:2:"63";s:6:"ард";s:2:"64";s:5:"де ";s:2:"65";s:5:"ға ";s:2:"66";s:5:" қо";s:2:"67";s:6:"бар";s:2:"68";s:5:"ің ";s:2:"69";s:6:"қан";s:2:"70";s:5:" бе";s:2:"71";s:5:" қы";s:2:"72";s:6:"ақс";s:2:"73";s:6:"гер";s:2:"74";s:6:"дан";s:2:"75";s:6:"дар";s:2:"76";s:6:"лық";s:2:"77";s:6:"лға";s:2:"78";s:6:"ына";s:2:"79";s:5:"ір ";s:2:"80";s:6:"ірі";s:2:"81";s:6:"ғас";s:2:"82";s:5:" та";s:2:"83";s:5:"а б";s:2:"84";s:5:"гі ";s:2:"85";s:6:"еді";s:2:"86";s:6:"еле";s:2:"87";s:6:"йды";s:2:"88";s:5:"н к";s:2:"89";s:5:"н т";s:2:"90";s:6:"ола";s:2:"91";s:6:"рын";s:2:"92";s:5:"іп ";s:2:"93";s:6:"қст";s:2:"94";s:6:"қта";s:2:"95";s:5:"ң б";s:2:"96";s:5:" ай";s:2:"97";s:5:" ол";s:2:"98";s:5:" со";s:2:"99";s:6:"айт";s:3:"100";s:6:"дағ";s:3:"101";s:6:"иге";s:3:"102";s:6:"лер";s:3:"103";s:6:"лып";s:3:"104";s:5:"н а";s:3:"105";s:5:"ік ";s:3:"106";s:6:"ақт";s:3:"107";s:6:"бағ";s:3:"108";s:6:"кен";s:3:"109";s:5:"н қ";s:3:"110";s:5:"ны ";s:3:"111";s:6:"рге";s:3:"112";s:6:"рға";s:3:"113";s:5:"ыр ";s:3:"114";s:5:" ар";s:3:"115";s:6:"алғ";s:3:"116";s:6:"аса";s:3:"117";s:6:"бас";s:3:"118";s:6:"бер";s:3:"119";s:5:"ге ";s:3:"120";s:6:"еті";s:3:"121";s:5:"на ";s:3:"122";s:6:"нде";s:3:"123";s:5:"не ";s:3:"124";s:6:"ниг";s:3:"125";s:6:"рды";s:3:"126";s:5:"ры ";s:3:"127";s:6:"сай";s:3:"128";s:5:" ау";s:3:"129";s:5:" кү";s:3:"130";s:5:" ни";s:3:"131";s:5:" от";s:3:"132";s:5:" өз";s:3:"133";s:6:"ауд";s:3:"134";s:5:"еп ";s:3:"135";s:6:"иял";s:3:"136";s:6:"лты";s:3:"137";s:5:"н ж";s:3:"138";s:5:"н о";s:3:"139";s:6:"осы";s:3:"140";s:6:"оты";s:3:"141";s:6:"рып";s:3:"142";s:5:"рі ";s:3:"143";s:6:"тке";s:3:"144";s:5:"ты ";s:3:"145";s:5:"ы б";s:3:"146";s:5:"ы ж";s:3:"147";s:6:"ылы";s:3:"148";s:6:"ысы";s:3:"149";s:5:"і с";s:3:"150";s:6:"қар";s:3:"151";s:5:" бұ";s:3:"152";s:5:" да";s:3:"153";s:5:" же";s:3:"154";s:5:" тұ";s:3:"155";s:5:" құ";s:3:"156";s:6:"ады";s:3:"157";s:6:"айл";s:3:"158";s:5:"ап ";s:3:"159";s:6:"ата";s:3:"160";s:6:"ені";s:3:"161";s:6:"йла";s:3:"162";s:5:"н м";s:3:"163";s:5:"н с";s:3:"164";s:6:"нды";s:3:"165";s:6:"нді";s:3:"166";s:5:"р м";s:3:"167";s:6:"тай";s:3:"168";s:6:"тін";s:3:"169";s:5:"ы т";s:3:"170";s:5:"ыс ";s:3:"171";s:6:"інд";s:3:"172";s:5:" би";s:3:"173";s:5:"а ж";s:3:"174";s:6:"ауы";s:3:"175";s:6:"деп";s:3:"176";s:6:"дің";s:3:"177";s:6:"еке";s:3:"178";s:6:"ери";s:3:"179";s:6:"йын";s:3:"180";s:6:"кел";s:3:"181";s:6:"лды";s:3:"182";s:5:"ма ";s:3:"183";s:6:"нан";s:3:"184";s:6:"оны";s:3:"185";s:5:"п ж";s:3:"186";s:5:"п о";s:3:"187";s:5:"р б";s:3:"188";s:6:"рия";s:3:"189";s:6:"рла";s:3:"190";s:6:"уда";s:3:"191";s:6:"шыл";s:3:"192";s:5:"ы а";s:3:"193";s:6:"ықт";s:3:"194";s:5:"і а";s:3:"195";s:5:"і б";s:3:"196";s:5:"із ";s:3:"197";s:6:"ілі";s:3:"198";s:5:"ң қ";s:3:"199";s:5:" ас";s:3:"200";s:5:" ек";s:3:"201";s:5:" жо";s:3:"202";s:5:" мә";s:3:"203";s:5:" ос";s:3:"204";s:5:" ре";s:3:"205";s:5:" се";s:3:"206";s:6:"алд";s:3:"207";s:6:"дал";s:3:"208";s:6:"дег";s:3:"209";s:6:"дей";s:3:"210";s:5:"е б";s:3:"211";s:5:"ет ";s:3:"212";s:6:"жас";s:3:"213";s:5:"й б";s:3:"214";s:6:"лау";s:3:"215";s:6:"лда";s:3:"216";s:6:"мет";s:3:"217";s:6:"нын";s:3:"218";s:6:"сар";s:3:"219";s:5:"сі ";s:3:"220";s:5:"ті ";s:3:"221";s:6:"ыры";s:3:"222";s:6:"ыта";s:3:"223";s:6:"ісі";s:3:"224";s:5:"ң а";s:3:"225";s:6:"өте";s:3:"226";s:5:" ат";s:3:"227";s:5:" ел";s:3:"228";s:5:" жү";s:3:"229";s:5:" ма";s:3:"230";s:5:" то";s:3:"231";s:5:" шы";s:3:"232";s:5:"а а";s:3:"233";s:6:"алт";s:3:"234";s:6:"ама";s:3:"235";s:6:"арл";s:3:"236";s:6:"аст";s:3:"237";s:6:"бұл";s:3:"238";s:6:"дай";s:3:"239";s:6:"дық";s:3:"240";s:5:"ек ";s:3:"241";s:6:"ель";s:3:"242";s:6:"есі";s:3:"243";s:6:"зді";s:3:"244";s:6:"көт";s:3:"245";s:6:"лем";s:3:"246";s:5:"ль ";s:3:"247";s:5:"н е";s:3:"248";s:5:"п а";s:3:"249";s:5:"р а";s:3:"250";s:6:"рес";s:3:"251";s:5:"са ";s:3:"252";s:5:"та ";s:3:"253";s:6:"тте";s:3:"254";s:6:"тұр";s:3:"255";s:5:"шы ";s:3:"256";s:5:"ы д";s:3:"257";s:5:"ы қ";s:3:"258";s:5:"ыз ";s:3:"259";s:6:"қыт";s:3:"260";s:5:" ко";s:3:"261";s:5:" не";s:3:"262";s:5:" ой";s:3:"263";s:5:" ор";s:3:"264";s:5:" сұ";s:3:"265";s:5:" тү";s:3:"266";s:6:"аль";s:3:"267";s:6:"аре";s:3:"268";s:6:"атт";s:3:"269";s:6:"дір";s:3:"270";s:5:"ев ";s:3:"271";s:6:"егі";s:3:"272";s:6:"еда";s:3:"273";s:6:"екі";s:3:"274";s:6:"елд";s:3:"275";s:6:"ерг";s:3:"276";s:6:"ерд";s:3:"277";s:6:"ияд";s:3:"278";s:6:"кер";s:3:"279";s:6:"кет";s:3:"280";s:6:"лыс";s:3:"281";s:6:"ліс";s:3:"282";s:6:"мед";s:3:"283";s:6:"мпи";s:3:"284";s:5:"н д";s:3:"285";s:5:"ні ";s:3:"286";s:6:"нін";s:3:"287";s:5:"п т";s:3:"288";s:6:"пек";s:3:"289";s:6:"рел";s:3:"290";s:6:"рта";s:3:"291";s:6:"ріл";s:3:"292";s:6:"рін";s:3:"293";s:6:"сен";s:3:"294";s:6:"тал";s:3:"295";s:6:"шіл";s:3:"296";s:5:"ы к";s:3:"297";s:5:"ы м";s:3:"298";s:6:"ыст";s:3:"299";}s:6:"kyrgyz";a:300:{s:5:"ын ";s:1:"0";s:5:"ан ";s:1:"1";s:5:" жа";s:1:"2";s:5:"ен ";s:1:"3";s:5:"да ";s:1:"4";s:5:" та";s:1:"5";s:5:"ар ";s:1:"6";s:5:"ин ";s:1:"7";s:5:" ка";s:1:"8";s:6:"ары";s:1:"9";s:5:" ал";s:2:"10";s:5:" ба";s:2:"11";s:5:" би";s:2:"12";s:6:"лар";s:2:"13";s:5:" бо";s:2:"14";s:5:" кы";s:2:"15";s:6:"ала";s:2:"16";s:5:"н к";s:2:"17";s:5:" са";s:2:"18";s:6:"нда";s:2:"19";s:6:"ган";s:2:"20";s:6:"тар";s:2:"21";s:5:" де";s:2:"22";s:6:"анд";s:2:"23";s:5:"н б";s:2:"24";s:5:" ке";s:2:"25";s:6:"ард";s:2:"26";s:6:"мен";s:2:"27";s:5:"н т";s:2:"28";s:6:"ара";s:2:"29";s:6:"нын";s:2:"30";s:5:" да";s:2:"31";s:5:" ме";s:2:"32";s:6:"кыр";s:2:"33";s:5:" че";s:2:"34";s:5:"н а";s:2:"35";s:5:"ры ";s:2:"36";s:5:" ко";s:2:"37";s:6:"ген";s:2:"38";s:6:"дар";s:2:"39";s:6:"кен";s:2:"40";s:6:"кта";s:2:"41";s:5:"уу ";s:2:"42";s:6:"ене";s:2:"43";s:6:"ери";s:2:"44";s:5:" ша";s:2:"45";s:6:"алы";s:2:"46";s:5:"ат ";s:2:"47";s:5:"на ";s:2:"48";s:5:" кө";s:2:"49";s:5:" эм";s:2:"50";s:6:"аты";s:2:"51";s:6:"дан";s:2:"52";s:6:"деп";s:2:"53";s:6:"дын";s:2:"54";s:5:"еп ";s:2:"55";s:6:"нен";s:2:"56";s:6:"рын";s:2:"57";s:5:" бе";s:2:"58";s:6:"кан";s:2:"59";s:6:"луу";s:2:"60";s:6:"ргы";s:2:"61";s:6:"тан";s:2:"62";s:6:"шай";s:2:"63";s:6:"ырг";s:2:"64";s:5:"үн ";s:2:"65";s:5:" ар";s:2:"66";s:5:" ма";s:2:"67";s:6:"агы";s:2:"68";s:6:"акт";s:2:"69";s:6:"аны";s:2:"70";s:5:"гы ";s:2:"71";s:6:"гыз";s:2:"72";s:5:"ды ";s:2:"73";s:6:"рда";s:2:"74";s:5:"ай ";s:2:"75";s:6:"бир";s:2:"76";s:6:"бол";s:2:"77";s:5:"ер ";s:2:"78";s:5:"н с";s:2:"79";s:6:"нды";s:2:"80";s:5:"ун ";s:2:"81";s:5:"ча ";s:2:"82";s:6:"ынд";s:2:"83";s:5:"а к";s:2:"84";s:6:"ага";s:2:"85";s:6:"айл";s:2:"86";s:6:"ана";s:2:"87";s:5:"ап ";s:2:"88";s:5:"га ";s:2:"89";s:6:"лге";s:2:"90";s:6:"нча";s:2:"91";s:5:"п к";s:2:"92";s:6:"рды";s:2:"93";s:6:"туу";s:2:"94";s:6:"ыны";s:2:"95";s:5:" ан";s:2:"96";s:5:" өз";s:2:"97";s:6:"ама";s:2:"98";s:6:"ата";s:2:"99";s:6:"дин";s:3:"100";s:5:"йт ";s:3:"101";s:6:"лга";s:3:"102";s:6:"лоо";s:3:"103";s:5:"оо ";s:3:"104";s:5:"ри ";s:3:"105";s:6:"тин";s:3:"106";s:5:"ыз ";s:3:"107";s:5:"ып ";s:3:"108";s:6:"өрү";s:3:"109";s:5:" па";s:3:"110";s:5:" эк";s:3:"111";s:5:"а б";s:3:"112";s:6:"алг";s:3:"113";s:6:"асы";s:3:"114";s:6:"ашт";s:3:"115";s:6:"биз";s:3:"116";s:6:"кел";s:3:"117";s:6:"кте";s:3:"118";s:6:"тал";s:3:"119";s:5:" не";s:3:"120";s:5:" су";s:3:"121";s:6:"акы";s:3:"122";s:6:"ент";s:3:"123";s:6:"инд";s:3:"124";s:5:"ир ";s:3:"125";s:6:"кал";s:3:"126";s:5:"н д";s:3:"127";s:6:"нде";s:3:"128";s:6:"ого";s:3:"129";s:6:"онд";s:3:"130";s:6:"оюн";s:3:"131";s:5:"р б";s:3:"132";s:5:"р м";s:3:"133";s:6:"ран";s:3:"134";s:6:"сал";s:3:"135";s:6:"ста";s:3:"136";s:5:"сы ";s:3:"137";s:6:"ура";s:3:"138";s:6:"ыгы";s:3:"139";s:5:" аш";s:3:"140";s:5:" ми";s:3:"141";s:5:" сы";s:3:"142";s:5:" ту";s:3:"143";s:5:"ал ";s:3:"144";s:6:"арт";s:3:"145";s:6:"бор";s:3:"146";s:6:"елг";s:3:"147";s:6:"ени";s:3:"148";s:5:"ет ";s:3:"149";s:6:"жат";s:3:"150";s:6:"йло";s:3:"151";s:6:"кар";s:3:"152";s:5:"н м";s:3:"153";s:6:"огу";s:3:"154";s:5:"п а";s:3:"155";s:5:"п ж";s:3:"156";s:5:"р э";s:3:"157";s:6:"сын";s:3:"158";s:5:"ык ";s:3:"159";s:6:"юнч";s:3:"160";s:5:" бу";s:3:"161";s:5:" ур";s:3:"162";s:5:"а а";s:3:"163";s:5:"ак ";s:3:"164";s:6:"алд";s:3:"165";s:6:"алу";s:3:"166";s:6:"бар";s:3:"167";s:6:"бер";s:3:"168";s:6:"бою";s:3:"169";s:5:"ге ";s:3:"170";s:6:"дон";s:3:"171";s:6:"еги";s:3:"172";s:6:"ект";s:3:"173";s:6:"ефт";s:3:"174";s:5:"из ";s:3:"175";s:6:"кат";s:3:"176";s:6:"лды";s:3:"177";s:5:"н ч";s:3:"178";s:5:"н э";s:3:"179";s:5:"н ө";s:3:"180";s:6:"ндо";s:3:"181";s:6:"неф";s:3:"182";s:5:"он ";s:3:"183";s:6:"сат";s:3:"184";s:6:"тор";s:3:"185";s:5:"ты ";s:3:"186";s:6:"уда";s:3:"187";s:5:"ул ";s:3:"188";s:6:"ула";s:3:"189";s:6:"ууд";s:3:"190";s:5:"ы б";s:3:"191";s:5:"ы ж";s:3:"192";s:5:"ы к";s:3:"193";s:5:"ыл ";s:3:"194";s:6:"ына";s:3:"195";s:6:"эке";s:3:"196";s:6:"ясы";s:3:"197";s:5:" ат";s:3:"198";s:5:" до";s:3:"199";s:5:" жы";s:3:"200";s:5:" со";s:3:"201";s:5:" чы";s:3:"202";s:6:"аас";s:3:"203";s:6:"айт";s:3:"204";s:6:"аст";s:3:"205";s:6:"баа";s:3:"206";s:6:"баш";s:3:"207";s:6:"гар";s:3:"208";s:6:"гын";s:3:"209";s:5:"дө ";s:3:"210";s:5:"е б";s:3:"211";s:5:"ек ";s:3:"212";s:6:"жыл";s:3:"213";s:5:"и б";s:3:"214";s:5:"ик ";s:3:"215";s:6:"ияс";s:3:"216";s:6:"кыз";s:3:"217";s:6:"лда";s:3:"218";s:6:"лык";s:3:"219";s:6:"мда";s:3:"220";s:5:"н ж";s:3:"221";s:6:"нди";s:3:"222";s:5:"ни ";s:3:"223";s:6:"нин";s:3:"224";s:6:"орд";s:3:"225";s:6:"рдо";s:3:"226";s:6:"сто";s:3:"227";s:5:"та ";s:3:"228";s:6:"тер";s:3:"229";s:6:"тти";s:3:"230";s:6:"тур";s:3:"231";s:6:"тын";s:3:"232";s:5:"уп ";s:3:"233";s:6:"ушу";s:3:"234";s:6:"фти";s:3:"235";s:6:"ыкт";s:3:"236";s:5:"үп ";s:3:"237";s:5:"өн ";s:3:"238";s:5:" ай";s:3:"239";s:5:" бү";s:3:"240";s:5:" ич";s:3:"241";s:5:" иш";s:3:"242";s:5:" мо";s:3:"243";s:5:" пр";s:3:"244";s:5:" ре";s:3:"245";s:5:" өк";s:3:"246";s:5:" өт";s:3:"247";s:5:"а д";s:3:"248";s:5:"а у";s:3:"249";s:5:"а э";s:3:"250";s:6:"айм";s:3:"251";s:6:"амд";s:3:"252";s:6:"атт";s:3:"253";s:6:"бек";s:3:"254";s:6:"бул";s:3:"255";s:6:"гол";s:3:"256";s:6:"дег";s:3:"257";s:6:"еге";s:3:"258";s:6:"ейт";s:3:"259";s:6:"еле";s:3:"260";s:6:"енд";s:3:"261";s:6:"жак";s:3:"262";s:5:"и к";s:3:"263";s:6:"ини";s:3:"264";s:6:"ири";s:3:"265";s:6:"йма";s:3:"266";s:6:"кто";s:3:"267";s:6:"лик";s:3:"268";s:6:"мак";s:3:"269";s:6:"мес";s:3:"270";s:5:"н у";s:3:"271";s:5:"н ш";s:3:"272";s:6:"нтт";s:3:"273";s:5:"ол ";s:3:"274";s:6:"оло";s:3:"275";s:6:"пар";s:3:"276";s:6:"рак";s:3:"277";s:6:"рүү";s:3:"278";s:6:"сыр";s:3:"279";s:5:"ти ";s:3:"280";s:6:"тик";s:3:"281";s:6:"тта";s:3:"282";s:6:"төр";s:3:"283";s:5:"у ж";s:3:"284";s:5:"у с";s:3:"285";s:6:"шка";s:3:"286";s:5:"ы м";s:3:"287";s:6:"ызы";s:3:"288";s:6:"ылд";s:3:"289";s:6:"эме";s:3:"290";s:6:"үрү";s:3:"291";s:6:"өлү";s:3:"292";s:6:"өтө";s:3:"293";s:5:" же";s:3:"294";s:5:" тү";s:3:"295";s:5:" эл";s:3:"296";s:5:" өн";s:3:"297";s:5:"а ж";s:3:"298";s:6:"ады";s:3:"299";}s:5:"latin";a:300:{s:3:"um ";s:1:"0";s:3:"us ";s:1:"1";s:3:"ut ";s:1:"2";s:3:"et ";s:1:"3";s:3:"is ";s:1:"4";s:3:" et";s:1:"5";s:3:" in";s:1:"6";s:3:" qu";s:1:"7";s:3:"tur";s:1:"8";s:3:" pr";s:1:"9";s:3:"est";s:2:"10";s:3:"tio";s:2:"11";s:3:" au";s:2:"12";s:3:"am ";s:2:"13";s:3:"em ";s:2:"14";s:3:"aut";s:2:"15";s:3:" di";s:2:"16";s:3:"ent";s:2:"17";s:3:"in ";s:2:"18";s:3:"dic";s:2:"19";s:3:"t e";s:2:"20";s:3:" es";s:2:"21";s:3:"ur ";s:2:"22";s:3:"ati";s:2:"23";s:3:"ion";s:2:"24";s:3:"st ";s:2:"25";s:3:" ut";s:2:"26";s:3:"ae ";s:2:"27";s:3:"qua";s:2:"28";s:3:" de";s:2:"29";s:3:"nt ";s:2:"30";s:3:" su";s:2:"31";s:3:" si";s:2:"32";s:3:"itu";s:2:"33";s:3:"unt";s:2:"34";s:3:"rum";s:2:"35";s:3:"ia ";s:2:"36";s:3:"es ";s:2:"37";s:3:"ter";s:2:"38";s:3:" re";s:2:"39";s:3:"nti";s:2:"40";s:3:"rae";s:2:"41";s:3:"s e";s:2:"42";s:3:"qui";s:2:"43";s:3:"io ";s:2:"44";s:3:"pro";s:2:"45";s:3:"it ";s:2:"46";s:3:"per";s:2:"47";s:3:"ita";s:2:"48";s:3:"one";s:2:"49";s:3:"ici";s:2:"50";s:3:"ius";s:2:"51";s:3:" co";s:2:"52";s:3:"t d";s:2:"53";s:3:"bus";s:2:"54";s:3:"pra";s:2:"55";s:3:"m e";s:2:"56";s:3:" no";s:2:"57";s:3:"edi";s:2:"58";s:3:"tia";s:2:"59";s:3:"ue ";s:2:"60";s:3:"ibu";s:2:"61";s:3:" se";s:2:"62";s:3:" ad";s:2:"63";s:3:"er ";s:2:"64";s:3:" fi";s:2:"65";s:3:"ili";s:2:"66";s:3:"que";s:2:"67";s:3:"t i";s:2:"68";s:3:"de ";s:2:"69";s:3:"oru";s:2:"70";s:3:" te";s:2:"71";s:3:"ali";s:2:"72";s:3:" pe";s:2:"73";s:3:"aed";s:2:"74";s:3:"cit";s:2:"75";s:3:"m d";s:2:"76";s:3:"t s";s:2:"77";s:3:"tat";s:2:"78";s:3:"tem";s:2:"79";s:3:"tis";s:2:"80";s:3:"t p";s:2:"81";s:3:"sti";s:2:"82";s:3:"te ";s:2:"83";s:3:"cum";s:2:"84";s:3:"ere";s:2:"85";s:3:"ium";s:2:"86";s:3:" ex";s:2:"87";s:3:"rat";s:2:"88";s:3:"ta ";s:2:"89";s:3:"con";s:2:"90";s:3:"cti";s:2:"91";s:3:"oni";s:2:"92";s:3:"ra ";s:2:"93";s:3:"s i";s:2:"94";s:3:" cu";s:2:"95";s:3:" sa";s:2:"96";s:3:"eni";s:2:"97";s:3:"nis";s:2:"98";s:3:"nte";s:2:"99";s:3:"eri";s:3:"100";s:3:"omi";s:3:"101";s:3:"re ";s:3:"102";s:3:"s a";s:3:"103";s:3:"min";s:3:"104";s:3:"os ";s:3:"105";s:3:"ti ";s:3:"106";s:3:"uer";s:3:"107";s:3:" ma";s:3:"108";s:3:" ue";s:3:"109";s:3:"m s";s:3:"110";s:3:"nem";s:3:"111";s:3:"t m";s:3:"112";s:3:" mo";s:3:"113";s:3:" po";s:3:"114";s:3:" ui";s:3:"115";s:3:"gen";s:3:"116";s:3:"ict";s:3:"117";s:3:"m i";s:3:"118";s:3:"ris";s:3:"119";s:3:"s s";s:3:"120";s:3:"t a";s:3:"121";s:3:"uae";s:3:"122";s:3:" do";s:3:"123";s:3:"m a";s:3:"124";s:3:"t c";s:3:"125";s:3:" ge";s:3:"126";s:3:"as ";s:3:"127";s:3:"e i";s:3:"128";s:3:"e p";s:3:"129";s:3:"ne ";s:3:"130";s:3:" ca";s:3:"131";s:3:"ine";s:3:"132";s:3:"quo";s:3:"133";s:3:"s p";s:3:"134";s:3:" al";s:3:"135";s:3:"e e";s:3:"136";s:3:"ntu";s:3:"137";s:3:"ro ";s:3:"138";s:3:"tri";s:3:"139";s:3:"tus";s:3:"140";s:3:"uit";s:3:"141";s:3:"atu";s:3:"142";s:3:"ini";s:3:"143";s:3:"iqu";s:3:"144";s:3:"m p";s:3:"145";s:3:"ost";s:3:"146";s:3:"res";s:3:"147";s:3:"ura";s:3:"148";s:3:" ac";s:3:"149";s:3:" fu";s:3:"150";s:3:"a e";s:3:"151";s:3:"ant";s:3:"152";s:3:"nes";s:3:"153";s:3:"nim";s:3:"154";s:3:"sun";s:3:"155";s:3:"tra";s:3:"156";s:3:"e a";s:3:"157";s:3:"s d";s:3:"158";s:3:" pa";s:3:"159";s:3:" uo";s:3:"160";s:3:"ecu";s:3:"161";s:3:" om";s:3:"162";s:3:" tu";s:3:"163";s:3:"ad ";s:3:"164";s:3:"cut";s:3:"165";s:3:"omn";s:3:"166";s:3:"s q";s:3:"167";s:3:" ei";s:3:"168";s:3:"ex ";s:3:"169";s:3:"icu";s:3:"170";s:3:"tor";s:3:"171";s:3:"uid";s:3:"172";s:3:" ip";s:3:"173";s:3:" me";s:3:"174";s:3:"e s";s:3:"175";s:3:"era";s:3:"176";s:3:"eru";s:3:"177";s:3:"iam";s:3:"178";s:3:"ide";s:3:"179";s:3:"ips";s:3:"180";s:3:" iu";s:3:"181";s:3:"a s";s:3:"182";s:3:"do ";s:3:"183";s:3:"e d";s:3:"184";s:3:"eiu";s:3:"185";s:3:"ica";s:3:"186";s:3:"im ";s:3:"187";s:3:"m c";s:3:"188";s:3:"m u";s:3:"189";s:3:"tiu";s:3:"190";s:3:" ho";s:3:"191";s:3:"cat";s:3:"192";s:3:"ist";s:3:"193";s:3:"nat";s:3:"194";s:3:"on ";s:3:"195";s:3:"pti";s:3:"196";s:3:"reg";s:3:"197";s:3:"rit";s:3:"198";s:3:"s t";s:3:"199";s:3:"sic";s:3:"200";s:3:"spe";s:3:"201";s:3:" en";s:3:"202";s:3:" sp";s:3:"203";s:3:"dis";s:3:"204";s:3:"eli";s:3:"205";s:3:"liq";s:3:"206";s:3:"lis";s:3:"207";s:3:"men";s:3:"208";s:3:"mus";s:3:"209";s:3:"num";s:3:"210";s:3:"pos";s:3:"211";s:3:"sio";s:3:"212";s:3:" an";s:3:"213";s:3:" gr";s:3:"214";s:3:"abi";s:3:"215";s:3:"acc";s:3:"216";s:3:"ect";s:3:"217";s:3:"ri ";s:3:"218";s:3:"uan";s:3:"219";s:3:" le";s:3:"220";s:3:"ecc";s:3:"221";s:3:"ete";s:3:"222";s:3:"gra";s:3:"223";s:3:"non";s:3:"224";s:3:"se ";s:3:"225";s:3:"uen";s:3:"226";s:3:"uis";s:3:"227";s:3:" fa";s:3:"228";s:3:" tr";s:3:"229";s:3:"ate";s:3:"230";s:3:"e c";s:3:"231";s:3:"fil";s:3:"232";s:3:"na ";s:3:"233";s:3:"ni ";s:3:"234";s:3:"pul";s:3:"235";s:3:"s f";s:3:"236";s:3:"ui ";s:3:"237";s:3:"at ";s:3:"238";s:3:"cce";s:3:"239";s:3:"dam";s:3:"240";s:3:"i e";s:3:"241";s:3:"ina";s:3:"242";s:3:"leg";s:3:"243";s:3:"nos";s:3:"244";s:3:"ori";s:3:"245";s:3:"pec";s:3:"246";s:3:"rop";s:3:"247";s:3:"sta";s:3:"248";s:3:"uia";s:3:"249";s:3:"ene";s:3:"250";s:3:"iue";s:3:"251";s:3:"iui";s:3:"252";s:3:"siu";s:3:"253";s:3:"t t";s:3:"254";s:3:"t u";s:3:"255";s:3:"tib";s:3:"256";s:3:"tit";s:3:"257";s:3:" da";s:3:"258";s:3:" ne";s:3:"259";s:3:"a d";s:3:"260";s:3:"and";s:3:"261";s:3:"ege";s:3:"262";s:3:"equ";s:3:"263";s:3:"hom";s:3:"264";s:3:"imu";s:3:"265";s:3:"lor";s:3:"266";s:3:"m m";s:3:"267";s:3:"mni";s:3:"268";s:3:"ndo";s:3:"269";s:3:"ner";s:3:"270";s:3:"o e";s:3:"271";s:3:"r e";s:3:"272";s:3:"sit";s:3:"273";s:3:"tum";s:3:"274";s:3:"utu";s:3:"275";s:3:"a p";s:3:"276";s:3:"bis";s:3:"277";s:3:"bit";s:3:"278";s:3:"cer";s:3:"279";s:3:"cta";s:3:"280";s:3:"dom";s:3:"281";s:3:"fut";s:3:"282";s:3:"i s";s:3:"283";s:3:"ign";s:3:"284";s:3:"int";s:3:"285";s:3:"mod";s:3:"286";s:3:"ndu";s:3:"287";s:3:"nit";s:3:"288";s:3:"rib";s:3:"289";s:3:"rti";s:3:"290";s:3:"tas";s:3:"291";s:3:"und";s:3:"292";s:3:" ab";s:3:"293";s:3:"err";s:3:"294";s:3:"ers";s:3:"295";s:3:"ite";s:3:"296";s:3:"iti";s:3:"297";s:3:"m t";s:3:"298";s:3:"o p";s:3:"299";}s:7:"latvian";a:300:{s:3:"as ";s:1:"0";s:3:" la";s:1:"1";s:3:" pa";s:1:"2";s:3:" ne";s:1:"3";s:3:"es ";s:1:"4";s:3:" un";s:1:"5";s:3:"un ";s:1:"6";s:3:" ka";s:1:"7";s:3:" va";s:1:"8";s:3:"ar ";s:1:"9";s:3:"s p";s:2:"10";s:3:" ar";s:2:"11";s:3:" vi";s:2:"12";s:3:"is ";s:2:"13";s:3:"ai ";s:2:"14";s:3:" no";s:2:"15";s:3:"ja ";s:2:"16";s:3:"ija";s:2:"17";s:3:"iem";s:2:"18";s:3:"em ";s:2:"19";s:3:"tu ";s:2:"20";s:3:"tie";s:2:"21";s:3:"vie";s:2:"22";s:3:"lat";s:2:"23";s:3:"aks";s:2:"24";s:3:"ien";s:2:"25";s:3:"kst";s:2:"26";s:3:"ies";s:2:"27";s:3:"s a";s:2:"28";s:3:"rak";s:2:"29";s:3:"atv";s:2:"30";s:3:"tvi";s:2:"31";s:3:" ja";s:2:"32";s:3:" pi";s:2:"33";s:3:"ka ";s:2:"34";s:3:" ir";s:2:"35";s:3:"ir ";s:2:"36";s:3:"ta ";s:2:"37";s:3:" sa";s:2:"38";s:3:"ts ";s:2:"39";s:4:" kā";s:2:"40";s:4:"ās ";s:2:"41";s:3:" ti";s:2:"42";s:3:"ot ";s:2:"43";s:3:"s n";s:2:"44";s:3:" ie";s:2:"45";s:3:" ta";s:2:"46";s:4:"arī";s:2:"47";s:3:"par";s:2:"48";s:3:"pie";s:2:"49";s:3:" pr";s:2:"50";s:4:"kā ";s:2:"51";s:3:" at";s:2:"52";s:3:" ra";s:2:"53";s:3:"am ";s:2:"54";s:4:"inā";s:2:"55";s:4:"tā ";s:2:"56";s:3:" iz";s:2:"57";s:3:"jas";s:2:"58";s:3:"lai";s:2:"59";s:3:" na";s:2:"60";s:3:"aut";s:2:"61";s:4:"ieš";s:2:"62";s:3:"s s";s:2:"63";s:3:" ap";s:2:"64";s:3:" ko";s:2:"65";s:3:" st";s:2:"66";s:3:"iek";s:2:"67";s:3:"iet";s:2:"68";s:3:"jau";s:2:"69";s:3:"us ";s:2:"70";s:4:"rī ";s:2:"71";s:3:"tik";s:2:"72";s:4:"ība";s:2:"73";s:3:"na ";s:2:"74";s:3:" ga";s:2:"75";s:3:"cij";s:2:"76";s:3:"s i";s:2:"77";s:3:" uz";s:2:"78";s:3:"jum";s:2:"79";s:3:"s v";s:2:"80";s:3:"ms ";s:2:"81";s:3:"var";s:2:"82";s:3:" ku";s:2:"83";s:3:" ma";s:2:"84";s:4:"jā ";s:2:"85";s:3:"sta";s:2:"86";s:3:"s u";s:2:"87";s:4:" tā";s:2:"88";s:3:"die";s:2:"89";s:3:"kai";s:2:"90";s:3:"kas";s:2:"91";s:3:"ska";s:2:"92";s:3:" ci";s:2:"93";s:3:" da";s:2:"94";s:3:"kur";s:2:"95";s:3:"lie";s:2:"96";s:3:"tas";s:2:"97";s:3:"a p";s:2:"98";s:3:"est";s:2:"99";s:4:"stā";s:3:"100";s:4:"šan";s:3:"101";s:3:"nes";s:3:"102";s:3:"nie";s:3:"103";s:3:"s d";s:3:"104";s:3:"s m";s:3:"105";s:3:"val";s:3:"106";s:3:" di";s:3:"107";s:3:" es";s:3:"108";s:3:" re";s:3:"109";s:3:"no ";s:3:"110";s:3:"to ";s:3:"111";s:3:"umu";s:3:"112";s:3:"vai";s:3:"113";s:4:"ši ";s:3:"114";s:4:" vē";s:3:"115";s:3:"kum";s:3:"116";s:3:"nu ";s:3:"117";s:3:"rie";s:3:"118";s:3:"s t";s:3:"119";s:4:"ām ";s:3:"120";s:3:"ad ";s:3:"121";s:3:"et ";s:3:"122";s:3:"mu ";s:3:"123";s:3:"s l";s:3:"124";s:3:" be";s:3:"125";s:3:"aud";s:3:"126";s:3:"tur";s:3:"127";s:3:"vij";s:3:"128";s:4:"viņ";s:3:"129";s:4:"āju";s:3:"130";s:3:"bas";s:3:"131";s:3:"gad";s:3:"132";s:3:"i n";s:3:"133";s:3:"ika";s:3:"134";s:3:"os ";s:3:"135";s:3:"a v";s:3:"136";s:3:"not";s:3:"137";s:3:"oti";s:3:"138";s:3:"sts";s:3:"139";s:3:"aik";s:3:"140";s:3:"u a";s:3:"141";s:4:"ā a";s:3:"142";s:4:"āk ";s:3:"143";s:3:" to";s:3:"144";s:3:"ied";s:3:"145";s:3:"stu";s:3:"146";s:3:"ti ";s:3:"147";s:3:"u p";s:3:"148";s:4:"vēl";s:3:"149";s:4:"āci";s:3:"150";s:4:" šo";s:3:"151";s:3:"gi ";s:3:"152";s:3:"ko ";s:3:"153";s:3:"pro";s:3:"154";s:3:"s r";s:3:"155";s:4:"tāj";s:3:"156";s:3:"u s";s:3:"157";s:3:"u v";s:3:"158";s:3:"vis";s:3:"159";s:3:"aun";s:3:"160";s:3:"ks ";s:3:"161";s:3:"str";s:3:"162";s:3:"zin";s:3:"163";s:3:"a a";s:3:"164";s:4:"adī";s:3:"165";s:3:"da ";s:3:"166";s:3:"dar";s:3:"167";s:3:"ena";s:3:"168";s:3:"ici";s:3:"169";s:3:"kra";s:3:"170";s:3:"nas";s:3:"171";s:4:"stī";s:3:"172";s:4:"šu ";s:3:"173";s:4:" mē";s:3:"174";s:3:"a n";s:3:"175";s:3:"eci";s:3:"176";s:3:"i s";s:3:"177";s:3:"ie ";s:3:"178";s:4:"iņa";s:3:"179";s:3:"ju ";s:3:"180";s:3:"las";s:3:"181";s:3:"r t";s:3:"182";s:3:"ums";s:3:"183";s:4:"šie";s:3:"184";s:3:"bu ";s:3:"185";s:3:"cit";s:3:"186";s:3:"i a";s:3:"187";s:3:"ina";s:3:"188";s:3:"ma ";s:3:"189";s:3:"pus";s:3:"190";s:3:"ra ";s:3:"191";s:3:" au";s:3:"192";s:3:" se";s:3:"193";s:3:" sl";s:3:"194";s:3:"a s";s:3:"195";s:3:"ais";s:3:"196";s:4:"eši";s:3:"197";s:3:"iec";s:3:"198";s:3:"iku";s:3:"199";s:4:"pār";s:3:"200";s:3:"s b";s:3:"201";s:3:"s k";s:3:"202";s:3:"sot";s:3:"203";s:5:"ādā";s:3:"204";s:3:" in";s:3:"205";s:3:" li";s:3:"206";s:3:" tr";s:3:"207";s:3:"ana";s:3:"208";s:3:"eso";s:3:"209";s:3:"ikr";s:3:"210";s:3:"man";s:3:"211";s:3:"ne ";s:3:"212";s:3:"u k";s:3:"213";s:3:" tu";s:3:"214";s:3:"an ";s:3:"215";s:3:"av ";s:3:"216";s:3:"bet";s:3:"217";s:4:"būt";s:3:"218";s:3:"im ";s:3:"219";s:3:"isk";s:3:"220";s:4:"līd";s:3:"221";s:3:"nav";s:3:"222";s:3:"ras";s:3:"223";s:3:"ri ";s:3:"224";s:3:"s g";s:3:"225";s:3:"sti";s:3:"226";s:4:"īdz";s:3:"227";s:3:" ai";s:3:"228";s:3:"arb";s:3:"229";s:3:"cin";s:3:"230";s:3:"das";s:3:"231";s:3:"ent";s:3:"232";s:3:"gal";s:3:"233";s:3:"i p";s:3:"234";s:3:"lik";s:3:"235";s:4:"mā ";s:3:"236";s:3:"nek";s:3:"237";s:3:"pat";s:3:"238";s:4:"rēt";s:3:"239";s:3:"si ";s:3:"240";s:3:"tra";s:3:"241";s:4:"uši";s:3:"242";s:3:"vei";s:3:"243";s:3:" br";s:3:"244";s:3:" pu";s:3:"245";s:3:" sk";s:3:"246";s:3:"als";s:3:"247";s:3:"ama";s:3:"248";s:3:"edz";s:3:"249";s:3:"eka";s:3:"250";s:4:"ešu";s:3:"251";s:3:"ieg";s:3:"252";s:3:"jis";s:3:"253";s:3:"kam";s:3:"254";s:3:"lst";s:3:"255";s:4:"nāk";s:3:"256";s:3:"oli";s:3:"257";s:3:"pre";s:3:"258";s:4:"pēc";s:3:"259";s:3:"rot";s:3:"260";s:4:"tās";s:3:"261";s:3:"usi";s:3:"262";s:4:"ēl ";s:3:"263";s:4:"ēs ";s:3:"264";s:3:" bi";s:3:"265";s:3:" de";s:3:"266";s:3:" me";s:3:"267";s:4:" pā";s:3:"268";s:3:"a i";s:3:"269";s:3:"aid";s:3:"270";s:4:"ajā";s:3:"271";s:3:"ikt";s:3:"272";s:3:"kat";s:3:"273";s:3:"lic";s:3:"274";s:3:"lod";s:3:"275";s:3:"mi ";s:3:"276";s:3:"ni ";s:3:"277";s:3:"pri";s:3:"278";s:4:"rād";s:3:"279";s:4:"rīg";s:3:"280";s:3:"sim";s:3:"281";s:4:"trā";s:3:"282";s:3:"u l";s:3:"283";s:3:"uto";s:3:"284";s:3:"uz ";s:3:"285";s:4:"ēc ";s:3:"286";s:5:"ītā";s:3:"287";s:3:" ce";s:3:"288";s:4:" jā";s:3:"289";s:3:" sv";s:3:"290";s:3:"a t";s:3:"291";s:3:"aga";s:3:"292";s:3:"aiz";s:3:"293";s:3:"atu";s:3:"294";s:3:"ba ";s:3:"295";s:3:"cie";s:3:"296";s:3:"du ";s:3:"297";s:3:"dzi";s:3:"298";s:4:"dzī";s:3:"299";}s:10:"lithuanian";a:300:{s:3:"as ";s:1:"0";s:3:" pa";s:1:"1";s:3:" ka";s:1:"2";s:3:"ai ";s:1:"3";s:3:"us ";s:1:"4";s:3:"os ";s:1:"5";s:3:"is ";s:1:"6";s:3:" ne";s:1:"7";s:3:" ir";s:1:"8";s:3:"ir ";s:1:"9";s:3:"ti ";s:2:"10";s:3:" pr";s:2:"11";s:3:"aus";s:2:"12";s:3:"ini";s:2:"13";s:3:"s p";s:2:"14";s:3:"pas";s:2:"15";s:4:"ių ";s:2:"16";s:3:" ta";s:2:"17";s:3:" vi";s:2:"18";s:3:"iau";s:2:"19";s:3:" ko";s:2:"20";s:3:" su";s:2:"21";s:3:"kai";s:2:"22";s:3:"o p";s:2:"23";s:3:"usi";s:2:"24";s:3:" sa";s:2:"25";s:3:"vo ";s:2:"26";s:3:"tai";s:2:"27";s:3:"ali";s:2:"28";s:4:"tų ";s:2:"29";s:3:"io ";s:2:"30";s:3:"jo ";s:2:"31";s:3:"s k";s:2:"32";s:3:"sta";s:2:"33";s:3:"iai";s:2:"34";s:3:" bu";s:2:"35";s:3:" nu";s:2:"36";s:3:"ius";s:2:"37";s:3:"mo ";s:2:"38";s:3:" po";s:2:"39";s:3:"ien";s:2:"40";s:3:"s s";s:2:"41";s:3:"tas";s:2:"42";s:3:" me";s:2:"43";s:3:"uvo";s:2:"44";s:3:"kad";s:2:"45";s:4:" iš";s:2:"46";s:3:" la";s:2:"47";s:3:"to ";s:2:"48";s:3:"ais";s:2:"49";s:3:"ie ";s:2:"50";s:3:"kur";s:2:"51";s:3:"uri";s:2:"52";s:3:" ku";s:2:"53";s:3:"ijo";s:2:"54";s:4:"čia";s:2:"55";s:3:"au ";s:2:"56";s:3:"met";s:2:"57";s:3:"je ";s:2:"58";s:3:" va";s:2:"59";s:3:"ad ";s:2:"60";s:3:" ap";s:2:"61";s:3:"and";s:2:"62";s:3:" gr";s:2:"63";s:3:" ti";s:2:"64";s:3:"kal";s:2:"65";s:3:"asi";s:2:"66";s:3:"i p";s:2:"67";s:4:"iči";s:2:"68";s:3:"s i";s:2:"69";s:3:"s v";s:2:"70";s:3:"ink";s:2:"71";s:3:"o n";s:2:"72";s:4:"ės ";s:2:"73";s:3:"buv";s:2:"74";s:3:"s a";s:2:"75";s:3:" ga";s:2:"76";s:3:"aip";s:2:"77";s:3:"avi";s:2:"78";s:3:"mas";s:2:"79";s:3:"pri";s:2:"80";s:3:"tik";s:2:"81";s:3:" re";s:2:"82";s:3:"etu";s:2:"83";s:3:"jos";s:2:"84";s:3:" da";s:2:"85";s:3:"ent";s:2:"86";s:3:"oli";s:2:"87";s:3:"par";s:2:"88";s:3:"ant";s:2:"89";s:3:"ara";s:2:"90";s:3:"tar";s:2:"91";s:3:"ama";s:2:"92";s:3:"gal";s:2:"93";s:3:"imo";s:2:"94";s:4:"išk";s:2:"95";s:3:"o s";s:2:"96";s:3:" at";s:2:"97";s:3:" be";s:2:"98";s:4:" į ";s:2:"99";s:3:"min";s:3:"100";s:3:"tin";s:3:"101";s:3:" tu";s:3:"102";s:3:"s n";s:3:"103";s:3:" jo";s:3:"104";s:3:"dar";s:3:"105";s:3:"ip ";s:3:"106";s:3:"rei";s:3:"107";s:3:" te";s:3:"108";s:4:"dži";s:3:"109";s:3:"kas";s:3:"110";s:3:"nin";s:3:"111";s:3:"tei";s:3:"112";s:3:"vie";s:3:"113";s:3:" li";s:3:"114";s:3:" se";s:3:"115";s:3:"cij";s:3:"116";s:3:"gar";s:3:"117";s:3:"lai";s:3:"118";s:3:"art";s:3:"119";s:3:"lau";s:3:"120";s:3:"ras";s:3:"121";s:3:"no ";s:3:"122";s:3:"o k";s:3:"123";s:4:"tą ";s:3:"124";s:3:" ar";s:3:"125";s:4:"ėjo";s:3:"126";s:4:"vič";s:3:"127";s:3:"iga";s:3:"128";s:3:"pra";s:3:"129";s:3:"vis";s:3:"130";s:3:" na";s:3:"131";s:3:"men";s:3:"132";s:3:"oki";s:3:"133";s:4:"raš";s:3:"134";s:3:"s t";s:3:"135";s:3:"iet";s:3:"136";s:3:"ika";s:3:"137";s:3:"int";s:3:"138";s:3:"kom";s:3:"139";s:3:"tam";s:3:"140";s:3:"aug";s:3:"141";s:3:"avo";s:3:"142";s:3:"rie";s:3:"143";s:3:"s b";s:3:"144";s:3:" st";s:3:"145";s:3:"eim";s:3:"146";s:3:"ko ";s:3:"147";s:3:"nus";s:3:"148";s:3:"pol";s:3:"149";s:3:"ria";s:3:"150";s:3:"sau";s:3:"151";s:3:"api";s:3:"152";s:3:"me ";s:3:"153";s:3:"ne ";s:3:"154";s:3:"sik";s:3:"155";s:4:" ši";s:3:"156";s:3:"i n";s:3:"157";s:3:"ia ";s:3:"158";s:3:"ici";s:3:"159";s:3:"oja";s:3:"160";s:3:"sak";s:3:"161";s:3:"sti";s:3:"162";s:3:"ui ";s:3:"163";s:3:"ame";s:3:"164";s:3:"lie";s:3:"165";s:3:"o t";s:3:"166";s:3:"pie";s:3:"167";s:4:"čiu";s:3:"168";s:3:" di";s:3:"169";s:3:" pe";s:3:"170";s:3:"gri";s:3:"171";s:3:"ios";s:3:"172";s:3:"lia";s:3:"173";s:3:"lin";s:3:"174";s:3:"s d";s:3:"175";s:3:"s g";s:3:"176";s:3:"ta ";s:3:"177";s:3:"uot";s:3:"178";s:3:" ja";s:3:"179";s:4:" už";s:3:"180";s:3:"aut";s:3:"181";s:3:"i s";s:3:"182";s:3:"ino";s:3:"183";s:4:"mą ";s:3:"184";s:3:"oje";s:3:"185";s:3:"rav";s:3:"186";s:4:"dėl";s:3:"187";s:3:"nti";s:3:"188";s:3:"o a";s:3:"189";s:3:"toj";s:3:"190";s:4:"ėl ";s:3:"191";s:3:" to";s:3:"192";s:3:" vy";s:3:"193";s:3:"ar ";s:3:"194";s:3:"ina";s:3:"195";s:3:"lic";s:3:"196";s:3:"o v";s:3:"197";s:3:"sei";s:3:"198";s:3:"su ";s:3:"199";s:3:" mi";s:3:"200";s:3:" pi";s:3:"201";s:3:"din";s:3:"202";s:4:"iš ";s:3:"203";s:3:"lan";s:3:"204";s:3:"si ";s:3:"205";s:3:"tus";s:3:"206";s:3:" ba";s:3:"207";s:3:"asa";s:3:"208";s:3:"ata";s:3:"209";s:3:"kla";s:3:"210";s:3:"omi";s:3:"211";s:3:"tat";s:3:"212";s:3:" an";s:3:"213";s:3:" ji";s:3:"214";s:3:"als";s:3:"215";s:3:"ena";s:3:"216";s:4:"jų ";s:3:"217";s:3:"nuo";s:3:"218";s:3:"per";s:3:"219";s:3:"rig";s:3:"220";s:3:"s m";s:3:"221";s:3:"val";s:3:"222";s:3:"yta";s:3:"223";s:4:"čio";s:3:"224";s:3:" ra";s:3:"225";s:3:"i k";s:3:"226";s:3:"lik";s:3:"227";s:3:"net";s:3:"228";s:4:"nė ";s:3:"229";s:3:"tis";s:3:"230";s:3:"tuo";s:3:"231";s:3:"yti";s:3:"232";s:4:"ęs ";s:3:"233";s:4:"ų s";s:3:"234";s:3:"ada";s:3:"235";s:3:"ari";s:3:"236";s:3:"do ";s:3:"237";s:3:"eik";s:3:"238";s:3:"eis";s:3:"239";s:3:"ist";s:3:"240";s:3:"lst";s:3:"241";s:3:"ma ";s:3:"242";s:3:"nes";s:3:"243";s:3:"sav";s:3:"244";s:3:"sio";s:3:"245";s:3:"tau";s:3:"246";s:3:" ki";s:3:"247";s:3:"aik";s:3:"248";s:3:"aud";s:3:"249";s:3:"ies";s:3:"250";s:3:"ori";s:3:"251";s:3:"s r";s:3:"252";s:3:"ska";s:3:"253";s:3:" ge";s:3:"254";s:3:"ast";s:3:"255";s:3:"eig";s:3:"256";s:3:"et ";s:3:"257";s:3:"iam";s:3:"258";s:3:"isa";s:3:"259";s:3:"mis";s:3:"260";s:3:"nam";s:3:"261";s:3:"ome";s:3:"262";s:4:"žia";s:3:"263";s:3:"aba";s:3:"264";s:3:"aul";s:3:"265";s:3:"ikr";s:3:"266";s:4:"ką ";s:3:"267";s:3:"nta";s:3:"268";s:3:"ra ";s:3:"269";s:3:"tur";s:3:"270";s:3:" ma";s:3:"271";s:3:"die";s:3:"272";s:3:"ei ";s:3:"273";s:3:"i t";s:3:"274";s:3:"nas";s:3:"275";s:3:"rin";s:3:"276";s:3:"sto";s:3:"277";s:3:"tie";s:3:"278";s:3:"tuv";s:3:"279";s:3:"vos";s:3:"280";s:4:"ų p";s:3:"281";s:4:" dė";s:3:"282";s:3:"are";s:3:"283";s:3:"ats";s:3:"284";s:4:"enė";s:3:"285";s:3:"ili";s:3:"286";s:3:"ima";s:3:"287";s:3:"kar";s:3:"288";s:3:"ms ";s:3:"289";s:3:"nia";s:3:"290";s:3:"r p";s:3:"291";s:3:"rod";s:3:"292";s:3:"s l";s:3:"293";s:3:" o ";s:3:"294";s:3:"e p";s:3:"295";s:3:"es ";s:3:"296";s:3:"ide";s:3:"297";s:3:"ik ";s:3:"298";s:3:"ja ";s:3:"299";}s:10:"macedonian";a:300:{s:5:"на ";s:1:"0";s:5:" на";s:1:"1";s:5:"та ";s:1:"2";s:6:"ата";s:1:"3";s:6:"ија";s:1:"4";s:5:" пр";s:1:"5";s:5:"то ";s:1:"6";s:5:"ја ";s:1:"7";s:5:" за";s:1:"8";s:5:"а н";s:1:"9";s:4:" и ";s:2:"10";s:5:"а с";s:2:"11";s:5:"те ";s:2:"12";s:6:"ите";s:2:"13";s:5:" ко";s:2:"14";s:5:"от ";s:2:"15";s:5:" де";s:2:"16";s:5:" по";s:2:"17";s:5:"а д";s:2:"18";s:5:"во ";s:2:"19";s:5:"за ";s:2:"20";s:5:" во";s:2:"21";s:5:" од";s:2:"22";s:5:" се";s:2:"23";s:5:" не";s:2:"24";s:5:"се ";s:2:"25";s:5:" до";s:2:"26";s:5:"а в";s:2:"27";s:5:"ка ";s:2:"28";s:6:"ање";s:2:"29";s:5:"а п";s:2:"30";s:5:"о п";s:2:"31";s:6:"ува";s:2:"32";s:6:"циј";s:2:"33";s:5:"а о";s:2:"34";s:6:"ици";s:2:"35";s:6:"ето";s:2:"36";s:5:"о н";s:2:"37";s:6:"ани";s:2:"38";s:5:"ни ";s:2:"39";s:5:" вл";s:2:"40";s:6:"дек";s:2:"41";s:6:"ека";s:2:"42";s:6:"њет";s:2:"43";s:5:"ќе ";s:2:"44";s:4:" е ";s:2:"45";s:5:"а з";s:2:"46";s:5:"а и";s:2:"47";s:5:"ат ";s:2:"48";s:6:"вла";s:2:"49";s:5:"го ";s:2:"50";s:5:"е н";s:2:"51";s:5:"од ";s:2:"52";s:6:"пре";s:2:"53";s:5:" го";s:2:"54";s:5:" да";s:2:"55";s:5:" ма";s:2:"56";s:5:" ре";s:2:"57";s:5:" ќе";s:2:"58";s:6:"али";s:2:"59";s:5:"и д";s:2:"60";s:5:"и н";s:2:"61";s:6:"иот";s:2:"62";s:6:"нат";s:2:"63";s:6:"ово";s:2:"64";s:5:" па";s:2:"65";s:5:" ра";s:2:"66";s:5:" со";s:2:"67";s:6:"ове";s:2:"68";s:6:"пра";s:2:"69";s:6:"што";s:2:"70";s:5:"ње ";s:2:"71";s:5:"а е";s:2:"72";s:5:"да ";s:2:"73";s:6:"дат";s:2:"74";s:6:"дон";s:2:"75";s:5:"е в";s:2:"76";s:5:"е д";s:2:"77";s:5:"е з";s:2:"78";s:5:"е с";s:2:"79";s:6:"кон";s:2:"80";s:6:"нит";s:2:"81";s:5:"но ";s:2:"82";s:6:"они";s:2:"83";s:6:"ото";s:2:"84";s:6:"пар";s:2:"85";s:6:"при";s:2:"86";s:6:"ста";s:2:"87";s:5:"т н";s:2:"88";s:5:" шт";s:2:"89";s:5:"а к";s:2:"90";s:6:"аци";s:2:"91";s:5:"ва ";s:2:"92";s:6:"вањ";s:2:"93";s:5:"е п";s:2:"94";s:6:"ени";s:2:"95";s:5:"ла ";s:2:"96";s:6:"лад";s:2:"97";s:6:"мак";s:2:"98";s:6:"нес";s:2:"99";s:6:"нос";s:3:"100";s:6:"про";s:3:"101";s:6:"рен";s:3:"102";s:6:"јат";s:3:"103";s:5:" ин";s:3:"104";s:5:" ме";s:3:"105";s:5:" то";s:3:"106";s:5:"а г";s:3:"107";s:5:"а м";s:3:"108";s:5:"а р";s:3:"109";s:6:"аке";s:3:"110";s:6:"ако";s:3:"111";s:6:"вор";s:3:"112";s:6:"гов";s:3:"113";s:6:"едо";s:3:"114";s:6:"ена";s:3:"115";s:5:"и и";s:3:"116";s:6:"ира";s:3:"117";s:6:"кед";s:3:"118";s:5:"не ";s:3:"119";s:6:"ниц";s:3:"120";s:6:"ниј";s:3:"121";s:6:"ост";s:3:"122";s:5:"ра ";s:3:"123";s:6:"рат";s:3:"124";s:6:"ред";s:3:"125";s:6:"ска";s:3:"126";s:6:"тен";s:3:"127";s:5:" ка";s:3:"128";s:5:" сп";s:3:"129";s:5:" ја";s:3:"130";s:5:"а т";s:3:"131";s:6:"аде";s:3:"132";s:6:"арт";s:3:"133";s:5:"е г";s:3:"134";s:5:"е и";s:3:"135";s:6:"кат";s:3:"136";s:6:"лас";s:3:"137";s:6:"нио";s:3:"138";s:5:"о с";s:3:"139";s:5:"ри ";s:3:"140";s:5:" ба";s:3:"141";s:5:" би";s:3:"142";s:6:"ава";s:3:"143";s:6:"ате";s:3:"144";s:6:"вни";s:3:"145";s:5:"д н";s:3:"146";s:6:"ден";s:3:"147";s:6:"дов";s:3:"148";s:6:"држ";s:3:"149";s:6:"дув";s:3:"150";s:5:"е о";s:3:"151";s:5:"ен ";s:3:"152";s:6:"ере";s:3:"153";s:6:"ери";s:3:"154";s:5:"и п";s:3:"155";s:5:"и с";s:3:"156";s:6:"ина";s:3:"157";s:6:"кој";s:3:"158";s:6:"нци";s:3:"159";s:5:"о м";s:3:"160";s:5:"о о";s:3:"161";s:6:"одн";s:3:"162";s:6:"пор";s:3:"163";s:6:"ски";s:3:"164";s:6:"спо";s:3:"165";s:6:"ств";s:3:"166";s:6:"сти";s:3:"167";s:6:"тво";s:3:"168";s:5:"ти ";s:3:"169";s:5:" об";s:3:"170";s:5:" ов";s:3:"171";s:5:"а б";s:3:"172";s:6:"алн";s:3:"173";s:6:"ара";s:3:"174";s:6:"бар";s:3:"175";s:5:"е к";s:3:"176";s:5:"ед ";s:3:"177";s:6:"ент";s:3:"178";s:6:"еѓу";s:3:"179";s:5:"и о";s:3:"180";s:5:"ии ";s:3:"181";s:6:"меѓ";s:3:"182";s:5:"о д";s:3:"183";s:6:"оја";s:3:"184";s:6:"пот";s:3:"185";s:6:"раз";s:3:"186";s:6:"раш";s:3:"187";s:6:"спр";s:3:"188";s:6:"сто";s:3:"189";s:5:"т д";s:3:"190";s:5:"ци ";s:3:"191";s:5:" бе";s:3:"192";s:5:" гр";s:3:"193";s:5:" др";s:3:"194";s:5:" из";s:3:"195";s:5:" ст";s:3:"196";s:5:"аа ";s:3:"197";s:6:"бид";s:3:"198";s:6:"вед";s:3:"199";s:6:"гла";s:3:"200";s:6:"еко";s:3:"201";s:6:"енд";s:3:"202";s:6:"есе";s:3:"203";s:6:"етс";s:3:"204";s:6:"зац";s:3:"205";s:5:"и т";s:3:"206";s:6:"иза";s:3:"207";s:6:"инс";s:3:"208";s:6:"ист";s:3:"209";s:5:"ки ";s:3:"210";s:6:"ков";s:3:"211";s:6:"кол";s:3:"212";s:5:"ку ";s:3:"213";s:6:"лиц";s:3:"214";s:5:"о з";s:3:"215";s:5:"о и";s:3:"216";s:6:"ова";s:3:"217";s:6:"олк";s:3:"218";s:6:"оре";s:3:"219";s:6:"ори";s:3:"220";s:6:"под";s:3:"221";s:6:"рањ";s:3:"222";s:6:"реф";s:3:"223";s:6:"ржа";s:3:"224";s:6:"ров";s:3:"225";s:6:"рти";s:3:"226";s:5:"со ";s:3:"227";s:6:"тор";s:3:"228";s:6:"фер";s:3:"229";s:6:"цен";s:3:"230";s:6:"цит";s:3:"231";s:4:" а ";s:3:"232";s:5:" вр";s:3:"233";s:5:" гл";s:3:"234";s:5:" дп";s:3:"235";s:5:" мо";s:3:"236";s:5:" ни";s:3:"237";s:5:" но";s:3:"238";s:5:" оп";s:3:"239";s:5:" от";s:3:"240";s:5:"а ќ";s:3:"241";s:6:"або";s:3:"242";s:6:"ада";s:3:"243";s:6:"аса";s:3:"244";s:6:"аша";s:3:"245";s:5:"ба ";s:3:"246";s:6:"бот";s:3:"247";s:6:"ваа";s:3:"248";s:6:"ват";s:3:"249";s:6:"вот";s:3:"250";s:5:"ги ";s:3:"251";s:6:"гра";s:3:"252";s:5:"де ";s:3:"253";s:6:"дин";s:3:"254";s:6:"дум";s:3:"255";s:6:"евр";s:3:"256";s:6:"еду";s:3:"257";s:6:"ено";s:3:"258";s:6:"ера";s:3:"259";s:5:"ес ";s:3:"260";s:6:"ење";s:3:"261";s:5:"же ";s:3:"262";s:6:"зак";s:3:"263";s:5:"и в";s:3:"264";s:6:"ила";s:3:"265";s:6:"иту";s:3:"266";s:6:"коа";s:3:"267";s:6:"кои";s:3:"268";s:6:"лан";s:3:"269";s:6:"лку";s:3:"270";s:6:"лож";s:3:"271";s:6:"мот";s:3:"272";s:6:"нду";s:3:"273";s:6:"нст";s:3:"274";s:5:"о в";s:3:"275";s:5:"оа ";s:3:"276";s:6:"оал";s:3:"277";s:6:"обр";s:3:"278";s:5:"ов ";s:3:"279";s:6:"ови";s:3:"280";s:6:"овн";s:3:"281";s:5:"ои ";s:3:"282";s:5:"ор ";s:3:"283";s:6:"орм";s:3:"284";s:5:"ој ";s:3:"285";s:6:"рет";s:3:"286";s:6:"сед";s:3:"287";s:5:"ст ";s:3:"288";s:6:"тер";s:3:"289";s:6:"тиј";s:3:"290";s:6:"тоа";s:3:"291";s:6:"фор";s:3:"292";s:6:"ции";s:3:"293";s:5:"ѓу ";s:3:"294";s:5:" ал";s:3:"295";s:5:" ве";s:3:"296";s:5:" вм";s:3:"297";s:5:" ги";s:3:"298";s:5:" ду";s:3:"299";}s:9:"mongolian";a:300:{s:5:"ын ";s:1:"0";s:5:" ба";s:1:"1";s:5:"йн ";s:1:"2";s:6:"бай";s:1:"3";s:6:"ийн";s:1:"4";s:6:"уул";s:1:"5";s:5:" ул";s:1:"6";s:6:"улс";s:1:"7";s:5:"ан ";s:1:"8";s:5:" ха";s:1:"9";s:6:"ний";s:2:"10";s:5:"н х";s:2:"11";s:6:"гаа";s:2:"12";s:6:"сын";s:2:"13";s:5:"ий ";s:2:"14";s:6:"лсы";s:2:"15";s:5:" бо";s:2:"16";s:5:"й б";s:2:"17";s:5:"эн ";s:2:"18";s:5:"ах ";s:2:"19";s:6:"бол";s:2:"20";s:5:"ол ";s:2:"21";s:5:"н б";s:2:"22";s:6:"оло";s:2:"23";s:5:" хэ";s:2:"24";s:6:"онг";s:2:"25";s:6:"гол";s:2:"26";s:6:"гуу";s:2:"27";s:6:"нго";s:2:"28";s:5:"ыг ";s:2:"29";s:6:"жил";s:2:"30";s:5:" мо";s:2:"31";s:6:"лаг";s:2:"32";s:6:"лла";s:2:"33";s:6:"мон";s:2:"34";s:5:" тє";s:2:"35";s:5:" ху";s:2:"36";s:6:"айд";s:2:"37";s:5:"ны ";s:2:"38";s:5:"он ";s:2:"39";s:6:"сан";s:2:"40";s:6:"хий";s:2:"41";s:5:" аж";s:2:"42";s:5:" ор";s:2:"43";s:5:"л у";s:2:"44";s:5:"н т";s:2:"45";s:6:"улг";s:2:"46";s:6:"айг";s:2:"47";s:6:"длы";s:2:"48";s:5:"йг ";s:2:"49";s:5:" за";s:2:"50";s:6:"дэс";s:2:"51";s:5:"н а";s:2:"52";s:6:"ндэ";s:2:"53";s:6:"ула";s:2:"54";s:5:"ээ ";s:2:"55";s:6:"ага";s:2:"56";s:6:"ийг";s:2:"57";s:4:"vй ";s:2:"58";s:5:"аа ";s:2:"59";s:5:"й а";s:2:"60";s:6:"лын";s:2:"61";s:5:"н з";s:2:"62";s:5:" аю";s:2:"63";s:5:" зє";s:2:"64";s:6:"аар";s:2:"65";s:5:"ад ";s:2:"66";s:5:"ар ";s:2:"67";s:5:"гvй";s:2:"68";s:6:"зєв";s:2:"69";s:6:"ажи";s:2:"70";s:5:"ал ";s:2:"71";s:6:"аюу";s:2:"72";s:5:"г х";s:2:"73";s:5:"лгv";s:2:"74";s:5:"лж ";s:2:"75";s:6:"сни";s:2:"76";s:6:"эсн";s:2:"77";s:6:"юул";s:2:"78";s:6:"йдл";s:2:"79";s:6:"лыг";s:2:"80";s:6:"нхи";s:2:"81";s:6:"ууд";s:2:"82";s:6:"хам";s:2:"83";s:5:" нэ";s:2:"84";s:5:" са";s:2:"85";s:6:"гий";s:2:"86";s:6:"лах";s:2:"87";s:6:"лєл";s:2:"88";s:6:"рєн";s:2:"89";s:6:"єгч";s:2:"90";s:5:" та";s:2:"91";s:6:"илл";s:2:"92";s:6:"лий";s:2:"93";s:6:"лэх";s:2:"94";s:6:"рий";s:2:"95";s:5:"эх ";s:2:"96";s:5:" ер";s:2:"97";s:5:" эр";s:2:"98";s:6:"влє";s:2:"99";s:6:"ерє";s:3:"100";s:6:"ийл";s:3:"101";s:6:"лон";s:3:"102";s:6:"лєг";s:3:"103";s:6:"євл";s:3:"104";s:6:"єнх";s:3:"105";s:5:" хо";s:3:"106";s:6:"ари";s:3:"107";s:5:"их ";s:3:"108";s:6:"хан";s:3:"109";s:5:"эр ";s:3:"110";s:5:"єн ";s:3:"111";s:4:"vvл";s:3:"112";s:5:"ж б";s:3:"113";s:6:"тэй";s:3:"114";s:5:"х х";s:3:"115";s:6:"эрх";s:3:"116";s:4:" vн";s:3:"117";s:5:" нь";s:3:"118";s:5:"vнд";s:3:"119";s:6:"алт";s:3:"120";s:6:"йлє";s:3:"121";s:5:"нь ";s:3:"122";s:6:"тєр";s:3:"123";s:5:" га";s:3:"124";s:5:" су";s:3:"125";s:6:"аан";s:3:"126";s:6:"даа";s:3:"127";s:6:"илц";s:3:"128";s:6:"йгу";s:3:"129";s:5:"л а";s:3:"130";s:6:"лаа";s:3:"131";s:5:"н н";s:3:"132";s:6:"руу";s:3:"133";s:5:"эй ";s:3:"134";s:5:" то";s:3:"135";s:5:"н с";s:3:"136";s:6:"рил";s:3:"137";s:6:"єри";s:3:"138";s:6:"ааг";s:3:"139";s:5:"гч ";s:3:"140";s:6:"лээ";s:3:"141";s:5:"н о";s:3:"142";s:6:"рэг";s:3:"143";s:6:"суу";s:3:"144";s:6:"эрэ";s:3:"145";s:6:"їїл";s:3:"146";s:4:" yн";s:3:"147";s:5:" бу";s:3:"148";s:5:" дэ";s:3:"149";s:5:" ол";s:3:"150";s:5:" ту";s:3:"151";s:5:" ши";s:3:"152";s:5:"yнд";s:3:"153";s:6:"аши";s:3:"154";s:5:"г т";s:3:"155";s:5:"иг ";s:3:"156";s:5:"йл ";s:3:"157";s:6:"хар";s:3:"158";s:6:"шин";s:3:"159";s:5:"эг ";s:3:"160";s:5:"єр ";s:3:"161";s:5:" их";s:3:"162";s:5:" хє";s:3:"163";s:5:" хї";s:3:"164";s:5:"ам ";s:3:"165";s:6:"анг";s:3:"166";s:5:"ин ";s:3:"167";s:6:"йга";s:3:"168";s:6:"лса";s:3:"169";s:4:"н v";s:3:"170";s:5:"н е";s:3:"171";s:6:"нал";s:3:"172";s:5:"нд ";s:3:"173";s:6:"хуу";s:3:"174";s:6:"цаа";s:3:"175";s:5:"эд ";s:3:"176";s:6:"ээр";s:3:"177";s:5:"єл ";s:3:"178";s:5:"vйл";s:3:"179";s:6:"ада";s:3:"180";s:6:"айн";s:3:"181";s:6:"ала";s:3:"182";s:6:"амт";s:3:"183";s:6:"гах";s:3:"184";s:5:"д х";s:3:"185";s:6:"дал";s:3:"186";s:6:"зар";s:3:"187";s:5:"л б";s:3:"188";s:6:"лан";s:3:"189";s:5:"н д";s:3:"190";s:6:"сэн";s:3:"191";s:6:"улл";s:3:"192";s:5:"х б";s:3:"193";s:6:"хэр";s:3:"194";s:4:" бv";s:3:"195";s:5:" да";s:3:"196";s:5:" зо";s:3:"197";s:5:"vрэ";s:3:"198";s:6:"аад";s:3:"199";s:6:"гээ";s:3:"200";s:6:"лэн";s:3:"201";s:5:"н и";s:3:"202";s:5:"н э";s:3:"203";s:6:"нга";s:3:"204";s:5:"нэ ";s:3:"205";s:6:"тал";s:3:"206";s:6:"тын";s:3:"207";s:6:"хур";s:3:"208";s:5:"эл ";s:3:"209";s:5:" на";s:3:"210";s:5:" ни";s:3:"211";s:5:" он";s:3:"212";s:5:"vлэ";s:3:"213";s:5:"аг ";s:3:"214";s:5:"аж ";s:3:"215";s:5:"ай ";s:3:"216";s:6:"ата";s:3:"217";s:6:"бар";s:3:"218";s:5:"г б";s:3:"219";s:6:"гад";s:3:"220";s:6:"гїй";s:3:"221";s:5:"й х";s:3:"222";s:5:"лт ";s:3:"223";s:5:"н м";s:3:"224";s:5:"на ";s:3:"225";s:6:"оро";s:3:"226";s:6:"уль";s:3:"227";s:6:"чин";s:3:"228";s:5:"эж ";s:3:"229";s:6:"энэ";s:3:"230";s:6:"ээд";s:3:"231";s:5:"їй ";s:3:"232";s:6:"їлэ";s:3:"233";s:5:" би";s:3:"234";s:5:" тэ";s:3:"235";s:5:" эн";s:3:"236";s:6:"аны";s:3:"237";s:6:"дий";s:3:"238";s:6:"дээ";s:3:"239";s:6:"лал";s:3:"240";s:6:"лга";s:3:"241";s:5:"лд ";s:3:"242";s:6:"лог";s:3:"243";s:5:"ль ";s:3:"244";s:5:"н у";s:3:"245";s:5:"н ї";s:3:"246";s:5:"р б";s:3:"247";s:6:"рал";s:3:"248";s:6:"сон";s:3:"249";s:6:"тай";s:3:"250";s:6:"удл";s:3:"251";s:6:"элт";s:3:"252";s:6:"эрг";s:3:"253";s:6:"єлє";s:3:"254";s:4:" vй";s:3:"255";s:4:" в ";s:3:"256";s:5:" гэ";s:3:"257";s:4:" хv";s:3:"258";s:6:"ара";s:3:"259";s:5:"бvр";s:3:"260";s:5:"д н";s:3:"261";s:5:"д о";s:3:"262";s:5:"л х";s:3:"263";s:5:"лс ";s:3:"264";s:6:"лты";s:3:"265";s:5:"н г";s:3:"266";s:6:"нэг";s:3:"267";s:6:"огт";s:3:"268";s:6:"олы";s:3:"269";s:6:"оёр";s:3:"270";s:5:"р т";s:3:"271";s:6:"рээ";s:3:"272";s:6:"тав";s:3:"273";s:6:"тог";s:3:"274";s:6:"уур";s:3:"275";s:6:"хоё";s:3:"276";s:6:"хэл";s:3:"277";s:6:"хээ";s:3:"278";s:6:"элэ";s:3:"279";s:5:"ёр ";s:3:"280";s:5:" ав";s:3:"281";s:5:" ас";s:3:"282";s:5:" аш";s:3:"283";s:5:" ду";s:3:"284";s:5:" со";s:3:"285";s:5:" чи";s:3:"286";s:5:" эв";s:3:"287";s:5:" єр";s:3:"288";s:6:"аал";s:3:"289";s:6:"алд";s:3:"290";s:6:"амж";s:3:"291";s:6:"анд";s:3:"292";s:6:"асу";s:3:"293";s:6:"вэр";s:3:"294";s:5:"г у";s:3:"295";s:6:"двэ";s:3:"296";s:4:"жvv";s:3:"297";s:6:"лца";s:3:"298";s:6:"лэл";s:3:"299";}s:6:"nepali";a:300:{s:7:"को ";s:1:"0";s:7:"का ";s:1:"1";s:7:"मा ";s:1:"2";s:9:"हरु";s:1:"3";s:7:" ने";s:1:"4";s:9:"नेप";s:1:"5";s:9:"पाल";s:1:"6";s:9:"ेपा";s:1:"7";s:7:" सम";s:1:"8";s:7:"ले ";s:1:"9";s:7:" प्";s:2:"10";s:9:"प्र";s:2:"11";s:9:"कार";s:2:"12";s:7:"ा स";s:2:"13";s:9:"एको";s:2:"14";s:7:" भए";s:2:"15";s:5:" छ ";s:2:"16";s:7:" भा";s:2:"17";s:9:"्रम";s:2:"18";s:7:" गर";s:2:"19";s:9:"रुक";s:2:"20";s:5:" र ";s:2:"21";s:9:"भार";s:2:"22";s:9:"ारत";s:2:"23";s:7:" का";s:2:"24";s:7:" वि";s:2:"25";s:9:"भएक";s:2:"26";s:9:"ाली";s:2:"27";s:7:"ली ";s:2:"28";s:7:"ा प";s:2:"29";s:9:"ीहर";s:2:"30";s:9:"ार्";s:2:"31";s:7:"ो छ";s:2:"32";s:7:"ना ";s:2:"33";s:7:"रु ";s:2:"34";s:9:"ालक";s:2:"35";s:9:"्या";s:2:"36";s:7:" बा";s:2:"37";s:9:"एका";s:2:"38";s:7:"ने ";s:2:"39";s:9:"न्त";s:2:"40";s:7:"ा ब";s:2:"41";s:9:"ाको";s:2:"42";s:7:"ार ";s:2:"43";s:7:"ा भ";s:2:"44";s:9:"ाहर";s:2:"45";s:9:"्रो";s:2:"46";s:9:"क्ष";s:2:"47";s:7:"न् ";s:2:"48";s:9:"ारी";s:2:"49";s:7:" नि";s:2:"50";s:7:"ा न";s:2:"51";s:7:"ी स";s:2:"52";s:7:" डु";s:2:"53";s:9:"क्र";s:2:"54";s:9:"जना";s:2:"55";s:7:"यो ";s:2:"56";s:7:"ा छ";s:2:"57";s:9:"ेवा";s:2:"58";s:9:"्ता";s:2:"59";s:7:" रा";s:2:"60";s:9:"त्य";s:2:"61";s:9:"न्द";s:2:"62";s:9:"हुन";s:2:"63";s:7:"ा क";s:2:"64";s:9:"ामा";s:2:"65";s:7:"ी न";s:2:"66";s:9:"्दा";s:2:"67";s:7:" से";s:2:"68";s:9:"छन्";s:2:"69";s:9:"म्ब";s:2:"70";s:9:"रोत";s:2:"71";s:9:"सेव";s:2:"72";s:9:"स्त";s:2:"73";s:9:"स्र";s:2:"74";s:9:"ेका";s:2:"75";s:7:"्त ";s:2:"76";s:7:" बी";s:2:"77";s:7:" हु";s:2:"78";s:9:"क्त";s:2:"79";s:9:"त्र";s:2:"80";s:7:"रत ";s:2:"81";s:9:"र्न";s:2:"82";s:9:"र्य";s:2:"83";s:7:"ा र";s:2:"84";s:9:"ाका";s:2:"85";s:9:"ुको";s:2:"86";s:7:" एक";s:2:"87";s:7:" सं";s:2:"88";s:7:" सु";s:2:"89";s:9:"बीब";s:2:"90";s:9:"बीस";s:2:"91";s:9:"लको";s:2:"92";s:9:"स्य";s:2:"93";s:9:"ीबी";s:2:"94";s:9:"ीसी";s:2:"95";s:9:"ेको";s:2:"96";s:7:"ो स";s:2:"97";s:9:"्यक";s:2:"98";s:7:" छन";s:2:"99";s:7:" जन";s:3:"100";s:7:" बि";s:3:"101";s:7:" मु";s:3:"102";s:7:" स्";s:3:"103";s:9:"गर्";s:3:"104";s:9:"ताह";s:3:"105";s:9:"न्ध";s:3:"106";s:9:"बार";s:3:"107";s:9:"मन्";s:3:"108";s:9:"मस्";s:3:"109";s:9:"रुल";s:3:"110";s:9:"लाई";s:3:"111";s:7:"ा व";s:3:"112";s:7:"ाई ";s:3:"113";s:7:"ाल ";s:3:"114";s:9:"िका";s:3:"115";s:7:" त्";s:3:"116";s:7:" मा";s:3:"117";s:7:" यस";s:3:"118";s:7:" रु";s:3:"119";s:9:"ताक";s:3:"120";s:9:"बन्";s:3:"121";s:7:"र ब";s:3:"122";s:7:"रण ";s:3:"123";s:9:"रुप";s:3:"124";s:9:"रेक";s:3:"125";s:9:"ष्ट";s:3:"126";s:9:"सम्";s:3:"127";s:7:"सी ";s:3:"128";s:9:"ाएक";s:3:"129";s:9:"ुका";s:3:"130";s:9:"ुक्";s:3:"131";s:7:" अध";s:3:"132";s:7:" अन";s:3:"133";s:7:" तथ";s:3:"134";s:7:" थि";s:3:"135";s:7:" दे";s:3:"136";s:7:" पर";s:3:"137";s:7:" बै";s:3:"138";s:9:"तथा";s:3:"139";s:7:"ता ";s:3:"140";s:7:"दा ";s:3:"141";s:9:"द्द";s:3:"142";s:7:"नी ";s:3:"143";s:9:"बाट";s:3:"144";s:9:"यक्";s:3:"145";s:7:"री ";s:3:"146";s:9:"रीह";s:3:"147";s:9:"र्म";s:3:"148";s:9:"लका";s:3:"149";s:9:"समस";s:3:"150";s:7:"ा अ";s:3:"151";s:7:"ा ए";s:3:"152";s:7:"ाट ";s:3:"153";s:7:"िय ";s:3:"154";s:7:"ो प";s:3:"155";s:7:"ो म";s:3:"156";s:7:"्न ";s:3:"157";s:9:"्ने";s:3:"158";s:9:"्षा";s:3:"159";s:7:" पा";s:3:"160";s:7:" यो";s:3:"161";s:7:" हा";s:3:"162";s:9:"अधि";s:3:"163";s:9:"डुव";s:3:"164";s:7:"त भ";s:3:"165";s:7:"त स";s:3:"166";s:7:"था ";s:3:"167";s:9:"धिक";s:3:"168";s:9:"पमा";s:3:"169";s:9:"बैठ";s:3:"170";s:9:"मुद";s:3:"171";s:7:"या ";s:3:"172";s:9:"युक";s:3:"173";s:7:"र न";s:3:"174";s:9:"रति";s:3:"175";s:9:"वान";s:3:"176";s:9:"सार";s:3:"177";s:7:"ा आ";s:3:"178";s:7:"ा ज";s:3:"179";s:7:"ा ह";s:3:"180";s:9:"ुद्";s:3:"181";s:9:"ुपम";s:3:"182";s:9:"ुले";s:3:"183";s:9:"ुवा";s:3:"184";s:9:"ैठक";s:3:"185";s:7:"ो ब";s:3:"186";s:9:"्तर";s:3:"187";s:7:"्य ";s:3:"188";s:9:"्यस";s:3:"189";s:7:" क्";s:3:"190";s:7:" मन";s:3:"191";s:7:" रह";s:3:"192";s:9:"चार";s:3:"193";s:9:"तिय";s:3:"194";s:7:"दै ";s:3:"195";s:9:"निर";s:3:"196";s:7:"नु ";s:3:"197";s:9:"पर्";s:3:"198";s:9:"रक्";s:3:"199";s:9:"र्द";s:3:"200";s:9:"समा";s:3:"201";s:9:"सुर";s:3:"202";s:9:"ाउन";s:3:"203";s:7:"ान ";s:3:"204";s:9:"ानम";s:3:"205";s:9:"ारण";s:3:"206";s:9:"ाले";s:3:"207";s:7:"ि ब";s:3:"208";s:9:"ियो";s:3:"209";s:9:"ुन्";s:3:"210";s:9:"ुरक";s:3:"211";s:9:"्त्";s:3:"212";s:9:"्बन";s:3:"213";s:9:"्रा";s:3:"214";s:7:"्ष ";s:3:"215";s:7:" आर";s:3:"216";s:7:" जल";s:3:"217";s:7:" बे";s:3:"218";s:7:" या";s:3:"219";s:7:" सा";s:3:"220";s:9:"आएक";s:3:"221";s:7:"एक ";s:3:"222";s:9:"कर्";s:3:"223";s:9:"जलस";s:3:"224";s:9:"णका";s:3:"225";s:7:"त र";s:3:"226";s:9:"द्र";s:3:"227";s:9:"धान";s:3:"228";s:7:"धि ";s:3:"229";s:9:"नका";s:3:"230";s:9:"नमा";s:3:"231";s:7:"नि ";s:3:"232";s:9:"ममा";s:3:"233";s:7:"रम ";s:3:"234";s:9:"रहे";s:3:"235";s:9:"राज";s:3:"236";s:9:"लस्";s:3:"237";s:7:"ला ";s:3:"238";s:9:"वार";s:3:"239";s:9:"सका";s:3:"240";s:9:"हिल";s:3:"241";s:9:"हेक";s:3:"242";s:7:"ा त";s:3:"243";s:9:"ारे";s:3:"244";s:9:"िन्";s:3:"245";s:9:"िस्";s:3:"246";s:7:"े स";s:3:"247";s:7:"ो न";s:3:"248";s:7:"ो र";s:3:"249";s:7:"ोत ";s:3:"250";s:9:"्धि";s:3:"251";s:9:"्मी";s:3:"252";s:9:"्रस";s:3:"253";s:7:" दु";s:3:"254";s:7:" पन";s:3:"255";s:7:" बत";s:3:"256";s:7:" बन";s:3:"257";s:7:" भन";s:3:"258";s:9:"ंयु";s:3:"259";s:9:"आरम";s:3:"260";s:7:"खि ";s:3:"261";s:9:"ण्ड";s:3:"262";s:9:"तका";s:3:"263";s:9:"ताल";s:3:"264";s:7:"दी ";s:3:"265";s:9:"देख";s:3:"266";s:9:"निय";s:3:"267";s:9:"पनि";s:3:"268";s:9:"प्त";s:3:"269";s:9:"बता";s:3:"270";s:7:"मी ";s:3:"271";s:9:"म्भ";s:3:"272";s:7:"र स";s:3:"273";s:9:"रम्";s:3:"274";s:9:"लमा";s:3:"275";s:9:"विश";s:3:"276";s:9:"षाक";s:3:"277";s:9:"संय";s:3:"278";s:7:"ा ड";s:3:"279";s:7:"ा म";s:3:"280";s:9:"ानक";s:3:"281";s:9:"ालम";s:3:"282";s:7:"ि भ";s:3:"283";s:7:"ित ";s:3:"284";s:7:"ी प";s:3:"285";s:7:"ी र";s:3:"286";s:7:"ु भ";s:3:"287";s:9:"ुने";s:3:"288";s:7:"े ग";s:3:"289";s:9:"ेखि";s:3:"290";s:7:"ेर ";s:3:"291";s:7:"ो भ";s:3:"292";s:7:"ो व";s:3:"293";s:7:"ो ह";s:3:"294";s:7:"्भ ";s:3:"295";s:7:"्र ";s:3:"296";s:7:" ता";s:3:"297";s:7:" नम";s:3:"298";s:7:" ना";s:3:"299";}s:9:"norwegian";a:300:{s:3:"er ";s:1:"0";s:3:"en ";s:1:"1";s:3:"et ";s:1:"2";s:3:" de";s:1:"3";s:3:"det";s:1:"4";s:3:" i ";s:1:"5";s:3:"for";s:1:"6";s:3:"il ";s:1:"7";s:3:" fo";s:1:"8";s:3:" me";s:1:"9";s:3:"ing";s:2:"10";s:3:"om ";s:2:"11";s:3:" ha";s:2:"12";s:3:" og";s:2:"13";s:3:"ter";s:2:"14";s:3:" er";s:2:"15";s:3:" ti";s:2:"16";s:3:" st";s:2:"17";s:3:"og ";s:2:"18";s:3:"til";s:2:"19";s:3:"ne ";s:2:"20";s:3:" vi";s:2:"21";s:3:"re ";s:2:"22";s:3:" en";s:2:"23";s:3:" se";s:2:"24";s:3:"te ";s:2:"25";s:3:"or ";s:2:"26";s:3:"de ";s:2:"27";s:3:"kke";s:2:"28";s:3:"ke ";s:2:"29";s:3:"ar ";s:2:"30";s:3:"ng ";s:2:"31";s:3:"r s";s:2:"32";s:3:"ene";s:2:"33";s:3:" so";s:2:"34";s:3:"e s";s:2:"35";s:3:"der";s:2:"36";s:3:"an ";s:2:"37";s:3:"som";s:2:"38";s:3:"ste";s:2:"39";s:3:"at ";s:2:"40";s:3:"ed ";s:2:"41";s:3:"r i";s:2:"42";s:3:" av";s:2:"43";s:3:" in";s:2:"44";s:3:"men";s:2:"45";s:3:" at";s:2:"46";s:3:" ko";s:2:"47";s:4:" på";s:2:"48";s:3:"har";s:2:"49";s:3:" si";s:2:"50";s:3:"ere";s:2:"51";s:4:"på ";s:2:"52";s:3:"nde";s:2:"53";s:3:"and";s:2:"54";s:3:"els";s:2:"55";s:3:"ett";s:2:"56";s:3:"tte";s:2:"57";s:3:"lig";s:2:"58";s:3:"t s";s:2:"59";s:3:"den";s:2:"60";s:3:"t i";s:2:"61";s:3:"ikk";s:2:"62";s:3:"med";s:2:"63";s:3:"n s";s:2:"64";s:3:"rt ";s:2:"65";s:3:"ser";s:2:"66";s:3:"ska";s:2:"67";s:3:"t e";s:2:"68";s:3:"ker";s:2:"69";s:3:"sen";s:2:"70";s:3:"av ";s:2:"71";s:3:"ler";s:2:"72";s:3:"r a";s:2:"73";s:3:"ten";s:2:"74";s:3:"e f";s:2:"75";s:3:"r e";s:2:"76";s:3:"r t";s:2:"77";s:3:"ede";s:2:"78";s:3:"ig ";s:2:"79";s:3:" re";s:2:"80";s:3:"han";s:2:"81";s:3:"lle";s:2:"82";s:3:"ner";s:2:"83";s:3:" bl";s:2:"84";s:3:" fr";s:2:"85";s:3:"le ";s:2:"86";s:3:" ve";s:2:"87";s:3:"e t";s:2:"88";s:3:"lan";s:2:"89";s:3:"mme";s:2:"90";s:3:"nge";s:2:"91";s:3:" be";s:2:"92";s:3:" ik";s:2:"93";s:3:" om";s:2:"94";s:4:" å ";s:2:"95";s:3:"ell";s:2:"96";s:3:"sel";s:2:"97";s:3:"sta";s:2:"98";s:3:"ver";s:2:"99";s:3:" et";s:3:"100";s:3:" sk";s:3:"101";s:3:"nte";s:3:"102";s:3:"one";s:3:"103";s:3:"ore";s:3:"104";s:3:"r d";s:3:"105";s:3:"ske";s:3:"106";s:3:" an";s:3:"107";s:3:" la";s:3:"108";s:3:"del";s:3:"109";s:3:"gen";s:3:"110";s:3:"nin";s:3:"111";s:3:"r f";s:3:"112";s:3:"r v";s:3:"113";s:3:"se ";s:3:"114";s:3:" po";s:3:"115";s:3:"ir ";s:3:"116";s:3:"jon";s:3:"117";s:3:"mer";s:3:"118";s:3:"nen";s:3:"119";s:3:"omm";s:3:"120";s:3:"sjo";s:3:"121";s:3:" fl";s:3:"122";s:3:" sa";s:3:"123";s:3:"ern";s:3:"124";s:3:"kom";s:3:"125";s:3:"r m";s:3:"126";s:3:"r o";s:3:"127";s:3:"ren";s:3:"128";s:3:"vil";s:3:"129";s:3:"ale";s:3:"130";s:3:"es ";s:3:"131";s:3:"n a";s:3:"132";s:3:"t f";s:3:"133";s:3:" le";s:3:"134";s:3:"bli";s:3:"135";s:3:"e e";s:3:"136";s:3:"e i";s:3:"137";s:3:"e v";s:3:"138";s:3:"het";s:3:"139";s:3:"ye ";s:3:"140";s:3:" ir";s:3:"141";s:3:"al ";s:3:"142";s:3:"e o";s:3:"143";s:3:"ide";s:3:"144";s:3:"iti";s:3:"145";s:3:"lit";s:3:"146";s:3:"nne";s:3:"147";s:3:"ran";s:3:"148";s:3:"t o";s:3:"149";s:3:"tal";s:3:"150";s:3:"tat";s:3:"151";s:3:"tt ";s:3:"152";s:3:" ka";s:3:"153";s:3:"ans";s:3:"154";s:3:"asj";s:3:"155";s:3:"ge ";s:3:"156";s:3:"inn";s:3:"157";s:3:"kon";s:3:"158";s:3:"lse";s:3:"159";s:3:"pet";s:3:"160";s:3:"t d";s:3:"161";s:3:"vi ";s:3:"162";s:3:" ut";s:3:"163";s:3:"ent";s:3:"164";s:3:"eri";s:3:"165";s:3:"oli";s:3:"166";s:3:"r p";s:3:"167";s:3:"ret";s:3:"168";s:3:"ris";s:3:"169";s:3:"sto";s:3:"170";s:3:"str";s:3:"171";s:3:"t a";s:3:"172";s:3:" ga";s:3:"173";s:3:"all";s:3:"174";s:3:"ape";s:3:"175";s:3:"g s";s:3:"176";s:3:"ill";s:3:"177";s:3:"ira";s:3:"178";s:3:"kap";s:3:"179";s:3:"nn ";s:3:"180";s:3:"opp";s:3:"181";s:3:"r h";s:3:"182";s:3:"rin";s:3:"183";s:3:" br";s:3:"184";s:3:" op";s:3:"185";s:3:"e m";s:3:"186";s:3:"ert";s:3:"187";s:3:"ger";s:3:"188";s:3:"ion";s:3:"189";s:3:"kal";s:3:"190";s:3:"lsk";s:3:"191";s:3:"nes";s:3:"192";s:3:" gj";s:3:"193";s:3:" mi";s:3:"194";s:3:" pr";s:3:"195";s:3:"ang";s:3:"196";s:3:"e h";s:3:"197";s:3:"e r";s:3:"198";s:3:"elt";s:3:"199";s:3:"enn";s:3:"200";s:3:"i s";s:3:"201";s:3:"ist";s:3:"202";s:3:"jen";s:3:"203";s:3:"kan";s:3:"204";s:3:"lt ";s:3:"205";s:3:"nal";s:3:"206";s:3:"res";s:3:"207";s:3:"tor";s:3:"208";s:3:"ass";s:3:"209";s:3:"dre";s:3:"210";s:3:"e b";s:3:"211";s:3:"e p";s:3:"212";s:3:"mel";s:3:"213";s:3:"n t";s:3:"214";s:3:"nse";s:3:"215";s:3:"ort";s:3:"216";s:3:"per";s:3:"217";s:3:"reg";s:3:"218";s:3:"sje";s:3:"219";s:3:"t p";s:3:"220";s:3:"t v";s:3:"221";s:3:" hv";s:3:"222";s:4:" nå";s:3:"223";s:3:" va";s:3:"224";s:3:"ann";s:3:"225";s:3:"ato";s:3:"226";s:3:"e a";s:3:"227";s:3:"est";s:3:"228";s:3:"ise";s:3:"229";s:3:"isk";s:3:"230";s:3:"oil";s:3:"231";s:3:"ord";s:3:"232";s:3:"pol";s:3:"233";s:3:"ra ";s:3:"234";s:3:"rak";s:3:"235";s:3:"sse";s:3:"236";s:3:"toi";s:3:"237";s:3:" gr";s:3:"238";s:3:"ak ";s:3:"239";s:3:"eg ";s:3:"240";s:3:"ele";s:3:"241";s:3:"g a";s:3:"242";s:3:"ige";s:3:"243";s:3:"igh";s:3:"244";s:3:"m e";s:3:"245";s:3:"n f";s:3:"246";s:3:"n v";s:3:"247";s:3:"ndr";s:3:"248";s:3:"nsk";s:3:"249";s:3:"rer";s:3:"250";s:3:"t m";s:3:"251";s:3:"und";s:3:"252";s:3:"var";s:3:"253";s:4:"år ";s:3:"254";s:3:" he";s:3:"255";s:3:" no";s:3:"256";s:3:" ny";s:3:"257";s:3:"end";s:3:"258";s:3:"ete";s:3:"259";s:3:"fly";s:3:"260";s:3:"g i";s:3:"261";s:3:"ghe";s:3:"262";s:3:"ier";s:3:"263";s:3:"ind";s:3:"264";s:3:"int";s:3:"265";s:3:"lin";s:3:"266";s:3:"n d";s:3:"267";s:3:"n p";s:3:"268";s:3:"rne";s:3:"269";s:3:"sak";s:3:"270";s:3:"sie";s:3:"271";s:3:"t b";s:3:"272";s:3:"tid";s:3:"273";s:3:" al";s:3:"274";s:3:" pa";s:3:"275";s:3:" tr";s:3:"276";s:3:"ag ";s:3:"277";s:3:"dig";s:3:"278";s:3:"e d";s:3:"279";s:3:"e k";s:3:"280";s:3:"ess";s:3:"281";s:3:"hol";s:3:"282";s:3:"i d";s:3:"283";s:3:"lag";s:3:"284";s:3:"led";s:3:"285";s:3:"n e";s:3:"286";s:3:"n i";s:3:"287";s:3:"n o";s:3:"288";s:3:"pri";s:3:"289";s:3:"r b";s:3:"290";s:3:"st ";s:3:"291";s:3:" fe";s:3:"292";s:3:" li";s:3:"293";s:3:" ry";s:3:"294";s:3:"air";s:3:"295";s:3:"ake";s:3:"296";s:3:"d s";s:3:"297";s:3:"eas";s:3:"298";s:3:"egi";s:3:"299";}s:6:"pashto";a:300:{s:4:" د ";s:1:"0";s:5:"اؤ ";s:1:"1";s:5:" اؤ";s:1:"2";s:5:"نو ";s:1:"3";s:5:"ې د";s:1:"4";s:5:"ره ";s:1:"5";s:5:" په";s:1:"6";s:5:"نه ";s:1:"7";s:5:"چې ";s:1:"8";s:5:" چې";s:1:"9";s:5:"په ";s:2:"10";s:5:"ه د";s:2:"11";s:5:"ته ";s:2:"12";s:5:"و ا";s:2:"13";s:6:"ونو";s:2:"14";s:5:"و د";s:2:"15";s:5:" او";s:2:"16";s:6:"انو";s:2:"17";s:6:"ونه";s:2:"18";s:5:"ه ک";s:2:"19";s:5:" دا";s:2:"20";s:5:"ه ا";s:2:"21";s:5:"دې ";s:2:"22";s:5:"ښې ";s:2:"23";s:5:" کې";s:2:"24";s:5:"ان ";s:2:"25";s:5:"لو ";s:2:"26";s:5:"هم ";s:2:"27";s:5:"و م";s:2:"28";s:6:"کښې";s:2:"29";s:5:"ه م";s:2:"30";s:5:"ى ا";s:2:"31";s:5:" نو";s:2:"32";s:5:" ته";s:2:"33";s:5:" کښ";s:2:"34";s:6:"رون";s:2:"35";s:5:"کې ";s:2:"36";s:5:"ده ";s:2:"37";s:5:"له ";s:2:"38";s:5:"به ";s:2:"39";s:5:"رو ";s:2:"40";s:5:" هم";s:2:"41";s:5:"ه و";s:2:"42";s:5:"وى ";s:2:"43";s:5:"او ";s:2:"44";s:6:"تون";s:2:"45";s:5:"دا ";s:2:"46";s:5:" کو";s:2:"47";s:5:" کړ";s:2:"48";s:6:"قام";s:2:"49";s:5:" تر";s:2:"50";s:6:"ران";s:2:"51";s:5:"ه پ";s:2:"52";s:5:"ې و";s:2:"53";s:5:"ې پ";s:2:"54";s:5:" به";s:2:"55";s:5:" خو";s:2:"56";s:5:"تو ";s:2:"57";s:5:"د د";s:2:"58";s:5:"د ا";s:2:"59";s:5:"ه ت";s:2:"60";s:5:"و پ";s:2:"61";s:5:"يا ";s:2:"62";s:5:" خپ";s:2:"63";s:5:" دو";s:2:"64";s:5:" را";s:2:"65";s:5:" مش";s:2:"66";s:5:" پر";s:2:"67";s:6:"ارو";s:2:"68";s:5:"رې ";s:2:"69";s:5:"م د";s:2:"70";s:6:"مشر";s:2:"71";s:5:" شو";s:2:"72";s:5:" ور";s:2:"73";s:5:"ار ";s:2:"74";s:5:"دى ";s:2:"75";s:5:" اد";s:2:"76";s:5:" دى";s:2:"77";s:5:" مو";s:2:"78";s:5:"د پ";s:2:"79";s:5:"لي ";s:2:"80";s:5:"و ک";s:2:"81";s:5:" مق";s:2:"82";s:5:" يو";s:2:"83";s:5:"ؤ د";s:2:"84";s:6:"خپل";s:2:"85";s:6:"سره";s:2:"86";s:5:"ه چ";s:2:"87";s:5:"ور ";s:2:"88";s:5:" تا";s:2:"89";s:5:" دې";s:2:"90";s:5:" رو";s:2:"91";s:5:" سر";s:2:"92";s:5:" مل";s:2:"93";s:5:" کا";s:2:"94";s:5:"ؤ ا";s:2:"95";s:6:"اره";s:2:"96";s:6:"برو";s:2:"97";s:5:"مه ";s:2:"98";s:5:"ه ب";s:2:"99";s:5:"و ت";s:3:"100";s:6:"پښت";s:3:"101";s:5:" با";s:3:"102";s:5:" دغ";s:3:"103";s:5:" قب";s:3:"104";s:5:" له";s:3:"105";s:5:" وا";s:3:"106";s:5:" پا";s:3:"107";s:5:" پښ";s:3:"108";s:5:"د م";s:3:"109";s:5:"د ه";s:3:"110";s:5:"لې ";s:3:"111";s:6:"مات";s:3:"112";s:5:"مو ";s:3:"113";s:5:"ه ه";s:3:"114";s:5:"وي ";s:3:"115";s:5:"ې ب";s:3:"116";s:5:"ې ک";s:3:"117";s:5:" ده";s:3:"118";s:5:" قا";s:3:"119";s:5:"ال ";s:3:"120";s:6:"اما";s:3:"121";s:5:"د ن";s:3:"122";s:6:"قبر";s:3:"123";s:5:"ه ن";s:3:"124";s:6:"پار";s:3:"125";s:5:" اث";s:3:"126";s:5:" بي";s:3:"127";s:5:" لا";s:3:"128";s:5:" لر";s:3:"129";s:6:"اثا";s:3:"130";s:5:"د خ";s:3:"131";s:6:"دار";s:3:"132";s:6:"ريخ";s:3:"133";s:6:"شرا";s:3:"134";s:6:"مقا";s:3:"135";s:5:"نۍ ";s:3:"136";s:5:"ه ر";s:3:"137";s:5:"ه ل";s:3:"138";s:6:"ولو";s:3:"139";s:5:"يو ";s:3:"140";s:6:"کوم";s:3:"141";s:5:" دد";s:3:"142";s:5:" لو";s:3:"143";s:5:" مح";s:3:"144";s:5:" مر";s:3:"145";s:5:" وو";s:3:"146";s:6:"اتو";s:3:"147";s:6:"اري";s:3:"148";s:6:"الو";s:3:"149";s:6:"اند";s:3:"150";s:6:"خان";s:3:"151";s:5:"د ت";s:3:"152";s:5:"سې ";s:3:"153";s:5:"لى ";s:3:"154";s:6:"نور";s:3:"155";s:5:"و ل";s:3:"156";s:5:"ي چ";s:3:"157";s:5:"ړي ";s:3:"158";s:6:"ښتو";s:3:"159";s:5:"ې ل";s:3:"160";s:5:" جو";s:3:"161";s:5:" سي";s:3:"162";s:5:"ام ";s:3:"163";s:6:"بان";s:3:"164";s:6:"تار";s:3:"165";s:5:"تر ";s:3:"166";s:6:"ثار";s:3:"167";s:5:"خو ";s:3:"168";s:5:"دو ";s:3:"169";s:5:"ر ک";s:3:"170";s:5:"ل د";s:3:"171";s:6:"مون";s:3:"172";s:6:"ندې";s:3:"173";s:5:"و ن";s:3:"174";s:5:"ول ";s:3:"175";s:5:"وه ";s:3:"176";s:5:"ى و";s:3:"177";s:5:"ي د";s:3:"178";s:5:"ې ا";s:3:"179";s:5:"ې ت";s:3:"180";s:5:"ې ي";s:3:"181";s:5:" حک";s:3:"182";s:5:" خب";s:3:"183";s:5:" نه";s:3:"184";s:5:" پو";s:3:"185";s:5:"ا د";s:3:"186";s:5:"تې ";s:3:"187";s:6:"جوړ";s:3:"188";s:6:"حکم";s:3:"189";s:6:"حکو";s:3:"190";s:6:"خبر";s:3:"191";s:6:"دان";s:3:"192";s:5:"ر د";s:3:"193";s:5:"غه ";s:3:"194";s:6:"قاف";s:3:"195";s:6:"محک";s:3:"196";s:6:"وال";s:3:"197";s:6:"ومت";s:3:"198";s:6:"ويل";s:3:"199";s:5:"ى د";s:3:"200";s:5:"ى م";s:3:"201";s:6:"يره";s:3:"202";s:5:"پر ";s:3:"203";s:6:"کول";s:3:"204";s:5:"ې ه";s:3:"205";s:5:" تي";s:3:"206";s:5:" خا";s:3:"207";s:5:" وک";s:3:"208";s:5:" يا";s:3:"209";s:5:" ځا";s:3:"210";s:5:"ؤ ق";s:3:"211";s:6:"انۍ";s:3:"212";s:5:"بى ";s:3:"213";s:5:"غو ";s:3:"214";s:5:"ه خ";s:3:"215";s:5:"و ب";s:3:"216";s:6:"ودا";s:3:"217";s:6:"يدو";s:3:"218";s:5:"ړې ";s:3:"219";s:6:"کال";s:3:"220";s:5:" بر";s:3:"221";s:5:" قد";s:3:"222";s:5:" مي";s:3:"223";s:5:" وي";s:3:"224";s:5:" کر";s:3:"225";s:5:"ؤ م";s:3:"226";s:5:"ات ";s:3:"227";s:6:"ايي";s:3:"228";s:5:"تى ";s:3:"229";s:6:"تيا";s:3:"230";s:6:"تير";s:3:"231";s:6:"خوا";s:3:"232";s:6:"دغو";s:3:"233";s:5:"دم ";s:3:"234";s:6:"ديم";s:3:"235";s:5:"ر و";s:3:"236";s:6:"قدي";s:3:"237";s:5:"م خ";s:3:"238";s:6:"مان";s:3:"239";s:5:"مې ";s:3:"240";s:6:"نيو";s:3:"241";s:5:"نږ ";s:3:"242";s:5:"ه ي";s:3:"243";s:5:"و س";s:3:"244";s:5:"و چ";s:3:"245";s:6:"وان";s:3:"246";s:6:"ورو";s:3:"247";s:6:"ونږ";s:3:"248";s:6:"پور";s:3:"249";s:5:"ړه ";s:3:"250";s:5:"ړو ";s:3:"251";s:5:"ۍ د";s:3:"252";s:5:"ې ن";s:3:"253";s:5:" اه";s:3:"254";s:5:" زي";s:3:"255";s:5:" سو";s:3:"256";s:5:" شي";s:3:"257";s:5:" هر";s:3:"258";s:5:" هغ";s:3:"259";s:5:" ښا";s:3:"260";s:6:"اتل";s:3:"261";s:5:"اق ";s:3:"262";s:6:"اني";s:3:"263";s:6:"بري";s:3:"264";s:5:"بې ";s:3:"265";s:5:"ت ا";s:3:"266";s:5:"د ب";s:3:"267";s:5:"د س";s:3:"268";s:5:"ر م";s:3:"269";s:5:"رى ";s:3:"270";s:6:"عرا";s:3:"271";s:6:"لان";s:3:"272";s:5:"مى ";s:3:"273";s:5:"نى ";s:3:"274";s:5:"و خ";s:3:"275";s:5:"وئ ";s:3:"276";s:6:"ورک";s:3:"277";s:6:"ورې";s:3:"278";s:5:"ون ";s:3:"279";s:6:"وکړ";s:3:"280";s:5:"ى چ";s:3:"281";s:6:"يمه";s:3:"282";s:5:"يې ";s:3:"283";s:6:"ښتن";s:3:"284";s:5:"که ";s:3:"285";s:6:"کړي";s:3:"286";s:5:"ې خ";s:3:"287";s:5:"ے ش";s:3:"288";s:5:" تح";s:3:"289";s:5:" تو";s:3:"290";s:5:" در";s:3:"291";s:5:" دپ";s:3:"292";s:5:" صو";s:3:"293";s:5:" عر";s:3:"294";s:5:" ول";s:3:"295";s:5:" يؤ";s:3:"296";s:5:" پۀ";s:3:"297";s:5:" څو";s:3:"298";s:5:"ا ا";s:3:"299";}s:6:"pidgin";a:300:{s:3:" de";s:1:"0";s:3:" we";s:1:"1";s:3:" di";s:1:"2";s:3:"di ";s:1:"3";s:3:"dem";s:1:"4";s:3:"em ";s:1:"5";s:3:"ay ";s:1:"6";s:3:" sa";s:1:"7";s:3:"or ";s:1:"8";s:3:"say";s:1:"9";s:3:"ke ";s:2:"10";s:3:"ey ";s:2:"11";s:3:" an";s:2:"12";s:3:" go";s:2:"13";s:3:" e ";s:2:"14";s:3:" to";s:2:"15";s:3:" ma";s:2:"16";s:3:"e d";s:2:"17";s:3:"wey";s:2:"18";s:3:"for";s:2:"19";s:3:"nd ";s:2:"20";s:3:"to ";s:2:"21";s:3:" be";s:2:"22";s:3:" fo";s:2:"23";s:3:"ake";s:2:"24";s:3:"im ";s:2:"25";s:3:" pe";s:2:"26";s:3:"le ";s:2:"27";s:3:"go ";s:2:"28";s:3:"ll ";s:2:"29";s:3:"de ";s:2:"30";s:3:"e s";s:2:"31";s:3:"on ";s:2:"32";s:3:"get";s:2:"33";s:3:"ght";s:2:"34";s:3:"igh";s:2:"35";s:3:" ri";s:2:"36";s:3:"et ";s:2:"37";s:3:"rig";s:2:"38";s:3:" ge";s:2:"39";s:3:"y d";s:2:"40";s:3:" na";s:2:"41";s:3:"mak";s:2:"42";s:3:"t t";s:2:"43";s:3:" no";s:2:"44";s:3:"and";s:2:"45";s:3:"tin";s:2:"46";s:3:"ing";s:2:"47";s:3:"eve";s:2:"48";s:3:"ri ";s:2:"49";s:3:" im";s:2:"50";s:3:" am";s:2:"51";s:3:" or";s:2:"52";s:3:"am ";s:2:"53";s:3:"be ";s:2:"54";s:3:" ev";s:2:"55";s:3:" ta";s:2:"56";s:3:"ht ";s:2:"57";s:3:"e w";s:2:"58";s:3:" li";s:2:"59";s:3:"eri";s:2:"60";s:3:"ng ";s:2:"61";s:3:"ver";s:2:"62";s:3:"all";s:2:"63";s:3:"e f";s:2:"64";s:3:"ers";s:2:"65";s:3:"ntr";s:2:"66";s:3:"ont";s:2:"67";s:3:" do";s:2:"68";s:3:"r d";s:2:"69";s:3:" ko";s:2:"70";s:3:" ti";s:2:"71";s:3:"an ";s:2:"72";s:3:"kon";s:2:"73";s:3:"per";s:2:"74";s:3:"tri";s:2:"75";s:3:"y e";s:2:"76";s:3:"rso";s:2:"77";s:3:"son";s:2:"78";s:3:"no ";s:2:"79";s:3:"ome";s:2:"80";s:3:"is ";s:2:"81";s:3:"do ";s:2:"82";s:3:"ne ";s:2:"83";s:3:"one";s:2:"84";s:3:"ion";s:2:"85";s:3:"m g";s:2:"86";s:3:"i k";s:2:"87";s:3:" al";s:2:"88";s:3:"bod";s:2:"89";s:3:"i w";s:2:"90";s:3:"odi";s:2:"91";s:3:" so";s:2:"92";s:3:" wo";s:2:"93";s:3:"o d";s:2:"94";s:3:"st ";s:2:"95";s:3:"t r";s:2:"96";s:3:" of";s:2:"97";s:3:"aim";s:2:"98";s:3:"e g";s:2:"99";s:3:"nai";s:3:"100";s:3:" co";s:3:"101";s:3:"dis";s:3:"102";s:3:"me ";s:3:"103";s:3:"of ";s:3:"104";s:3:" wa";s:3:"105";s:3:"e t";s:3:"106";s:3:" ar";s:3:"107";s:3:"e l";s:3:"108";s:3:"ike";s:3:"109";s:3:"lik";s:3:"110";s:3:"t a";s:3:"111";s:3:"wor";s:3:"112";s:3:"alk";s:3:"113";s:3:"ell";s:3:"114";s:3:"eop";s:3:"115";s:3:"lk ";s:3:"116";s:3:"opl";s:3:"117";s:3:"peo";s:3:"118";s:3:"ple";s:3:"119";s:3:"re ";s:3:"120";s:3:"tal";s:3:"121";s:3:"any";s:3:"122";s:3:"e a";s:3:"123";s:3:"o g";s:3:"124";s:3:"art";s:3:"125";s:3:"cle";s:3:"126";s:3:"i p";s:3:"127";s:3:"icl";s:3:"128";s:3:"rti";s:3:"129";s:3:"the";s:3:"130";s:3:"tic";s:3:"131";s:3:"we ";s:3:"132";s:3:"f d";s:3:"133";s:3:"in ";s:3:"134";s:3:" mu";s:3:"135";s:3:"e n";s:3:"136";s:3:"e o";s:3:"137";s:3:"mus";s:3:"138";s:3:"n d";s:3:"139";s:3:"na ";s:3:"140";s:3:"o m";s:3:"141";s:3:"ust";s:3:"142";s:3:"wel";s:3:"143";s:3:"e e";s:3:"144";s:3:"her";s:3:"145";s:3:"m d";s:3:"146";s:3:"nt ";s:3:"147";s:3:" fi";s:3:"148";s:3:"at ";s:3:"149";s:3:"e b";s:3:"150";s:3:"it ";s:3:"151";s:3:"m w";s:3:"152";s:3:"o t";s:3:"153";s:3:"wan";s:3:"154";s:3:"com";s:3:"155";s:3:"da ";s:3:"156";s:3:"fit";s:3:"157";s:3:"m b";s:3:"158";s:3:"so ";s:3:"159";s:3:" fr";s:3:"160";s:3:"ce ";s:3:"161";s:3:"er ";s:3:"162";s:3:"o a";s:3:"163";s:3:" if";s:3:"164";s:3:" on";s:3:"165";s:3:"ent";s:3:"166";s:3:"if ";s:3:"167";s:3:"ind";s:3:"168";s:3:"kin";s:3:"169";s:3:"l d";s:3:"170";s:3:"man";s:3:"171";s:3:"o s";s:3:"172";s:3:" se";s:3:"173";s:3:"y a";s:3:"174";s:3:"y m";s:3:"175";s:3:" re";s:3:"176";s:3:"ee ";s:3:"177";s:3:"k a";s:3:"178";s:3:"t s";s:3:"179";s:3:"ve ";s:3:"180";s:3:"y w";s:3:"181";s:3:" ki";s:3:"182";s:3:"eti";s:3:"183";s:3:"men";s:3:"184";s:3:"ta ";s:3:"185";s:3:"y n";s:3:"186";s:3:"d t";s:3:"187";s:3:"dey";s:3:"188";s:3:"e c";s:3:"189";s:3:"i o";s:3:"190";s:3:"ibo";s:3:"191";s:3:"ld ";s:3:"192";s:3:"m t";s:3:"193";s:3:"n b";s:3:"194";s:3:"o b";s:3:"195";s:3:"ow ";s:3:"196";s:3:"ree";s:3:"197";s:3:"rio";s:3:"198";s:3:"t d";s:3:"199";s:3:" hu";s:3:"200";s:3:" su";s:3:"201";s:3:"en ";s:3:"202";s:3:"hts";s:3:"203";s:3:"ive";s:3:"204";s:3:"m n";s:3:"205";s:3:"n g";s:3:"206";s:3:"ny ";s:3:"207";s:3:"oth";s:3:"208";s:3:"ts ";s:3:"209";s:3:" as";s:3:"210";s:3:" wh";s:3:"211";s:3:"as ";s:3:"212";s:3:"gom";s:3:"213";s:3:"hum";s:3:"214";s:3:"k s";s:3:"215";s:3:"oda";s:3:"216";s:3:"ork";s:3:"217";s:3:"se ";s:3:"218";s:3:"uma";s:3:"219";s:3:"ut ";s:3:"220";s:3:" ba";s:3:"221";s:3:" ot";s:3:"222";s:3:"ano";s:3:"223";s:3:"m a";s:3:"224";s:3:"m s";s:3:"225";s:3:"nod";s:3:"226";s:3:"om ";s:3:"227";s:3:"r a";s:3:"228";s:3:"r i";s:3:"229";s:3:"rk ";s:3:"230";s:3:" fa";s:3:"231";s:3:" si";s:3:"232";s:3:" th";s:3:"233";s:3:"ad ";s:3:"234";s:3:"e m";s:3:"235";s:3:"eac";s:3:"236";s:3:"m m";s:3:"237";s:3:"n w";s:3:"238";s:3:"nob";s:3:"239";s:3:"orl";s:3:"240";s:3:"out";s:3:"241";s:3:"own";s:3:"242";s:3:"r s";s:3:"243";s:3:"r w";s:3:"244";s:3:"rib";s:3:"245";s:3:"rld";s:3:"246";s:3:"s w";s:3:"247";s:3:"ure";s:3:"248";s:3:"wn ";s:3:"249";s:3:" ow";s:3:"250";s:3:"a d";s:3:"251";s:3:"bad";s:3:"252";s:3:"ch ";s:3:"253";s:3:"fre";s:3:"254";s:3:"gs ";s:3:"255";s:3:"m k";s:3:"256";s:3:"nce";s:3:"257";s:3:"ngs";s:3:"258";s:3:"o f";s:3:"259";s:3:"obo";s:3:"260";s:3:"rea";s:3:"261";s:3:"sur";s:3:"262";s:3:"y o";s:3:"263";s:3:" ab";s:3:"264";s:3:" un";s:3:"265";s:3:"abo";s:3:"266";s:3:"ach";s:3:"267";s:3:"bou";s:3:"268";s:3:"d m";s:3:"269";s:3:"dat";s:3:"270";s:3:"e p";s:3:"271";s:3:"g w";s:3:"272";s:3:"hol";s:3:"273";s:3:"i m";s:3:"274";s:3:"i r";s:3:"275";s:3:"m f";s:3:"276";s:3:"m o";s:3:"277";s:3:"n o";s:3:"278";s:3:"now";s:3:"279";s:3:"ry ";s:3:"280";s:3:"s a";s:3:"281";s:3:"t o";s:3:"282";s:3:"tay";s:3:"283";s:3:"wet";s:3:"284";s:3:" ag";s:3:"285";s:3:" bo";s:3:"286";s:3:" da";s:3:"287";s:3:" pr";s:3:"288";s:3:"arr";s:3:"289";s:3:"ati";s:3:"290";s:3:"d d";s:3:"291";s:3:"d p";s:3:"292";s:3:"i g";s:3:"293";s:3:"i t";s:3:"294";s:3:"liv";s:3:"295";s:3:"ly ";s:3:"296";s:3:"n a";s:3:"297";s:3:"od ";s:3:"298";s:3:"ok ";s:3:"299";}s:6:"polish";a:300:{s:3:"ie ";s:1:"0";s:3:"nie";s:1:"1";s:3:"em ";s:1:"2";s:3:" ni";s:1:"3";s:3:" po";s:1:"4";s:3:" pr";s:1:"5";s:3:"dzi";s:1:"6";s:3:" na";s:1:"7";s:4:"że ";s:1:"8";s:3:"rze";s:1:"9";s:3:"na ";s:2:"10";s:4:"łem";s:2:"11";s:3:"wie";s:2:"12";s:3:" w ";s:2:"13";s:4:" że";s:2:"14";s:3:"go ";s:2:"15";s:3:" by";s:2:"16";s:3:"prz";s:2:"17";s:3:"owa";s:2:"18";s:4:"ię ";s:2:"19";s:3:" do";s:2:"20";s:3:" si";s:2:"21";s:3:"owi";s:2:"22";s:3:" pa";s:2:"23";s:3:" za";s:2:"24";s:3:"ch ";s:2:"25";s:3:"ego";s:2:"26";s:4:"ał ";s:2:"27";s:4:"się";s:2:"28";s:3:"ej ";s:2:"29";s:4:"wał";s:2:"30";s:3:"ym ";s:2:"31";s:3:"ani";s:2:"32";s:4:"ałe";s:2:"33";s:3:"to ";s:2:"34";s:3:" i ";s:2:"35";s:3:" to";s:2:"36";s:3:" te";s:2:"37";s:3:"e p";s:2:"38";s:3:" je";s:2:"39";s:3:" z ";s:2:"40";s:3:"czy";s:2:"41";s:4:"był";s:2:"42";s:3:"pan";s:2:"43";s:3:"sta";s:2:"44";s:3:"kie";s:2:"45";s:3:" ja";s:2:"46";s:3:"do ";s:2:"47";s:3:" ch";s:2:"48";s:3:" cz";s:2:"49";s:3:" wi";s:2:"50";s:4:"iał";s:2:"51";s:3:"a p";s:2:"52";s:3:"pow";s:2:"53";s:3:" mi";s:2:"54";s:3:"li ";s:2:"55";s:3:"eni";s:2:"56";s:3:"zie";s:2:"57";s:3:" ta";s:2:"58";s:3:" wa";s:2:"59";s:4:"ło ";s:2:"60";s:4:"ać ";s:2:"61";s:3:"dy ";s:2:"62";s:3:"ak ";s:2:"63";s:3:"e w";s:2:"64";s:3:" a ";s:2:"65";s:3:" od";s:2:"66";s:3:" st";s:2:"67";s:3:"nia";s:2:"68";s:3:"rzy";s:2:"69";s:3:"ied";s:2:"70";s:3:" kt";s:2:"71";s:3:"odz";s:2:"72";s:3:"cie";s:2:"73";s:3:"cze";s:2:"74";s:3:"ia ";s:2:"75";s:3:"iel";s:2:"76";s:4:"któ";s:2:"77";s:3:"o p";s:2:"78";s:4:"tór";s:2:"79";s:4:"ści";s:2:"80";s:3:" sp";s:2:"81";s:3:" wy";s:2:"82";s:3:"jak";s:2:"83";s:3:"tak";s:2:"84";s:3:"zy ";s:2:"85";s:3:" mo";s:2:"86";s:5:"ałę";s:2:"87";s:3:"pro";s:2:"88";s:3:"ski";s:2:"89";s:3:"tem";s:2:"90";s:5:"łęs";s:2:"91";s:3:" tr";s:2:"92";s:3:"e m";s:2:"93";s:3:"jes";s:2:"94";s:3:"my ";s:2:"95";s:3:" ro";s:2:"96";s:3:"edz";s:2:"97";s:3:"eli";s:2:"98";s:3:"iej";s:2:"99";s:3:" rz";s:3:"100";s:3:"a n";s:3:"101";s:3:"ale";s:3:"102";s:3:"an ";s:3:"103";s:3:"e s";s:3:"104";s:3:"est";s:3:"105";s:3:"le ";s:3:"106";s:3:"o s";s:3:"107";s:3:"i p";s:3:"108";s:3:"ki ";s:3:"109";s:3:" co";s:3:"110";s:3:"ada";s:3:"111";s:3:"czn";s:3:"112";s:3:"e t";s:3:"113";s:3:"e z";s:3:"114";s:3:"ent";s:3:"115";s:3:"ny ";s:3:"116";s:3:"pre";s:3:"117";s:4:"rzą";s:3:"118";s:3:"y s";s:3:"119";s:3:" ko";s:3:"120";s:3:" o ";s:3:"121";s:3:"ach";s:3:"122";s:3:"am ";s:3:"123";s:3:"e n";s:3:"124";s:3:"o t";s:3:"125";s:3:"oli";s:3:"126";s:3:"pod";s:3:"127";s:3:"zia";s:3:"128";s:3:" go";s:3:"129";s:3:" ka";s:3:"130";s:3:"by ";s:3:"131";s:3:"ieg";s:3:"132";s:3:"ier";s:3:"133";s:4:"noś";s:3:"134";s:3:"roz";s:3:"135";s:3:"spo";s:3:"136";s:3:"ych";s:3:"137";s:4:"ząd";s:3:"138";s:3:" mn";s:3:"139";s:3:"acz";s:3:"140";s:3:"adz";s:3:"141";s:3:"bie";s:3:"142";s:3:"cho";s:3:"143";s:3:"mni";s:3:"144";s:3:"o n";s:3:"145";s:3:"ost";s:3:"146";s:3:"pra";s:3:"147";s:3:"ze ";s:3:"148";s:4:"ła ";s:3:"149";s:3:" so";s:3:"150";s:3:"a m";s:3:"151";s:3:"cza";s:3:"152";s:3:"iem";s:3:"153";s:4:"ić ";s:3:"154";s:3:"obi";s:3:"155";s:4:"ył ";s:3:"156";s:4:"yło";s:3:"157";s:3:" mu";s:3:"158";s:4:" mó";s:3:"159";s:3:"a t";s:3:"160";s:3:"acj";s:3:"161";s:3:"ci ";s:3:"162";s:3:"e b";s:3:"163";s:3:"ich";s:3:"164";s:3:"kan";s:3:"165";s:3:"mi ";s:3:"166";s:3:"mie";s:3:"167";s:4:"ośc";s:3:"168";s:3:"row";s:3:"169";s:3:"zen";s:3:"170";s:3:"zyd";s:3:"171";s:3:" al";s:3:"172";s:3:" re";s:3:"173";s:3:"a w";s:3:"174";s:3:"den";s:3:"175";s:3:"edy";s:3:"176";s:4:"ił ";s:3:"177";s:3:"ko ";s:3:"178";s:3:"o w";s:3:"179";s:3:"rac";s:3:"180";s:4:"śmy";s:3:"181";s:3:" ma";s:3:"182";s:3:" ra";s:3:"183";s:3:" sz";s:3:"184";s:3:" ty";s:3:"185";s:3:"e j";s:3:"186";s:3:"isk";s:3:"187";s:3:"ji ";s:3:"188";s:3:"ka ";s:3:"189";s:3:"m s";s:3:"190";s:3:"no ";s:3:"191";s:3:"o z";s:3:"192";s:3:"rez";s:3:"193";s:3:"wa ";s:3:"194";s:4:"ów ";s:3:"195";s:4:"łow";s:3:"196";s:5:"ść ";s:3:"197";s:3:" ob";s:3:"198";s:3:"ech";s:3:"199";s:3:"ecz";s:3:"200";s:3:"ezy";s:3:"201";s:3:"i w";s:3:"202";s:3:"ja ";s:3:"203";s:3:"kon";s:3:"204";s:4:"mów";s:3:"205";s:3:"ne ";s:3:"206";s:3:"ni ";s:3:"207";s:3:"now";s:3:"208";s:3:"nym";s:3:"209";s:3:"pol";s:3:"210";s:3:"pot";s:3:"211";s:3:"yde";s:3:"212";s:3:" dl";s:3:"213";s:3:" sy";s:3:"214";s:3:"a s";s:3:"215";s:3:"aki";s:3:"216";s:3:"ali";s:3:"217";s:3:"dla";s:3:"218";s:3:"icz";s:3:"219";s:3:"ku ";s:3:"220";s:3:"ocz";s:3:"221";s:3:"st ";s:3:"222";s:3:"str";s:3:"223";s:3:"szy";s:3:"224";s:3:"trz";s:3:"225";s:3:"wia";s:3:"226";s:3:"y p";s:3:"227";s:3:"za ";s:3:"228";s:3:" wt";s:3:"229";s:3:"chc";s:3:"230";s:3:"esz";s:3:"231";s:3:"iec";s:3:"232";s:3:"im ";s:3:"233";s:3:"la ";s:3:"234";s:3:"o m";s:3:"235";s:3:"sa ";s:3:"236";s:4:"wać";s:3:"237";s:3:"y n";s:3:"238";s:3:"zac";s:3:"239";s:3:"zec";s:3:"240";s:3:" gd";s:3:"241";s:3:"a z";s:3:"242";s:3:"ard";s:3:"243";s:3:"co ";s:3:"244";s:3:"dar";s:3:"245";s:3:"e r";s:3:"246";s:3:"ien";s:3:"247";s:3:"m n";s:3:"248";s:3:"m w";s:3:"249";s:3:"mia";s:3:"250";s:4:"moż";s:3:"251";s:3:"raw";s:3:"252";s:3:"rdz";s:3:"253";s:3:"tan";s:3:"254";s:3:"ted";s:3:"255";s:3:"teg";s:3:"256";s:4:"wił";s:3:"257";s:3:"wte";s:3:"258";s:3:"y z";s:3:"259";s:3:"zna";s:3:"260";s:4:"zło";s:3:"261";s:3:"a r";s:3:"262";s:3:"awi";s:3:"263";s:3:"bar";s:3:"264";s:3:"cji";s:3:"265";s:4:"czą";s:3:"266";s:3:"dow";s:3:"267";s:4:"eż ";s:3:"268";s:3:"gdy";s:3:"269";s:3:"iek";s:3:"270";s:3:"je ";s:3:"271";s:3:"o d";s:3:"272";s:4:"tał";s:3:"273";s:3:"wal";s:3:"274";s:3:"wsz";s:3:"275";s:3:"zed";s:3:"276";s:4:"ówi";s:3:"277";s:4:"ęsa";s:3:"278";s:3:" ba";s:3:"279";s:3:" lu";s:3:"280";s:3:" wo";s:3:"281";s:3:"aln";s:3:"282";s:3:"arn";s:3:"283";s:3:"ba ";s:3:"284";s:3:"dzo";s:3:"285";s:3:"e c";s:3:"286";s:3:"hod";s:3:"287";s:3:"igi";s:3:"288";s:3:"lig";s:3:"289";s:3:"m p";s:3:"290";s:4:"myś";s:3:"291";s:3:"o c";s:3:"292";s:3:"oni";s:3:"293";s:3:"rel";s:3:"294";s:3:"sku";s:3:"295";s:3:"ste";s:3:"296";s:3:"y w";s:3:"297";s:3:"yst";s:3:"298";s:3:"z w";s:3:"299";}s:10:"portuguese";a:300:{s:3:"de ";s:1:"0";s:3:" de";s:1:"1";s:3:"os ";s:1:"2";s:3:"as ";s:1:"3";s:3:"que";s:1:"4";s:3:" co";s:1:"5";s:4:"ão ";s:1:"6";s:3:"o d";s:1:"7";s:3:" qu";s:1:"8";s:3:"ue ";s:1:"9";s:3:" a ";s:2:"10";s:3:"do ";s:2:"11";s:3:"ent";s:2:"12";s:3:" se";s:2:"13";s:3:"a d";s:2:"14";s:3:"s d";s:2:"15";s:3:"e a";s:2:"16";s:3:"es ";s:2:"17";s:3:" pr";s:2:"18";s:3:"ra ";s:2:"19";s:3:"da ";s:2:"20";s:3:" es";s:2:"21";s:3:" pa";s:2:"22";s:3:"to ";s:2:"23";s:3:" o ";s:2:"24";s:3:"em ";s:2:"25";s:3:"con";s:2:"26";s:3:"o p";s:2:"27";s:3:" do";s:2:"28";s:3:"est";s:2:"29";s:3:"nte";s:2:"30";s:5:"ção";s:2:"31";s:3:" da";s:2:"32";s:3:" re";s:2:"33";s:3:"ma ";s:2:"34";s:3:"par";s:2:"35";s:3:" te";s:2:"36";s:3:"ara";s:2:"37";s:3:"ida";s:2:"38";s:3:" e ";s:2:"39";s:3:"ade";s:2:"40";s:3:"is ";s:2:"41";s:3:" um";s:2:"42";s:3:" po";s:2:"43";s:3:"a a";s:2:"44";s:3:"a p";s:2:"45";s:3:"dad";s:2:"46";s:3:"no ";s:2:"47";s:3:"te ";s:2:"48";s:3:" no";s:2:"49";s:5:"açã";s:2:"50";s:3:"pro";s:2:"51";s:3:"al ";s:2:"52";s:3:"com";s:2:"53";s:3:"e d";s:2:"54";s:3:"s a";s:2:"55";s:3:" as";s:2:"56";s:3:"a c";s:2:"57";s:3:"er ";s:2:"58";s:3:"men";s:2:"59";s:3:"s e";s:2:"60";s:3:"ais";s:2:"61";s:3:"nto";s:2:"62";s:3:"res";s:2:"63";s:3:"a s";s:2:"64";s:3:"ado";s:2:"65";s:3:"ist";s:2:"66";s:3:"s p";s:2:"67";s:3:"tem";s:2:"68";s:3:"e c";s:2:"69";s:3:"e s";s:2:"70";s:3:"ia ";s:2:"71";s:3:"o s";s:2:"72";s:3:"o a";s:2:"73";s:3:"o c";s:2:"74";s:3:"e p";s:2:"75";s:3:"sta";s:2:"76";s:3:"ta ";s:2:"77";s:3:"tra";s:2:"78";s:3:"ura";s:2:"79";s:3:" di";s:2:"80";s:3:" pe";s:2:"81";s:3:"ar ";s:2:"82";s:3:"e e";s:2:"83";s:3:"ser";s:2:"84";s:3:"uma";s:2:"85";s:3:"mos";s:2:"86";s:3:"se ";s:2:"87";s:3:" ca";s:2:"88";s:3:"o e";s:2:"89";s:3:" na";s:2:"90";s:3:"a e";s:2:"91";s:3:"des";s:2:"92";s:3:"ont";s:2:"93";s:3:"por";s:2:"94";s:3:" in";s:2:"95";s:3:" ma";s:2:"96";s:3:"ect";s:2:"97";s:3:"o q";s:2:"98";s:3:"ria";s:2:"99";s:3:"s c";s:3:"100";s:3:"ste";s:3:"101";s:3:"ver";s:3:"102";s:3:"cia";s:3:"103";s:3:"dos";s:3:"104";s:3:"ica";s:3:"105";s:3:"str";s:3:"106";s:3:" ao";s:3:"107";s:3:" em";s:3:"108";s:3:"das";s:3:"109";s:3:"e t";s:3:"110";s:3:"ito";s:3:"111";s:3:"iza";s:3:"112";s:3:"pre";s:3:"113";s:3:"tos";s:3:"114";s:4:" nã";s:3:"115";s:3:"ada";s:3:"116";s:4:"não";s:3:"117";s:3:"ess";s:3:"118";s:3:"eve";s:3:"119";s:3:"or ";s:3:"120";s:3:"ran";s:3:"121";s:3:"s n";s:3:"122";s:3:"s t";s:3:"123";s:3:"tur";s:3:"124";s:3:" ac";s:3:"125";s:3:" fa";s:3:"126";s:3:"a r";s:3:"127";s:3:"ens";s:3:"128";s:3:"eri";s:3:"129";s:3:"na ";s:3:"130";s:3:"sso";s:3:"131";s:3:" si";s:3:"132";s:4:" é ";s:3:"133";s:3:"bra";s:3:"134";s:3:"esp";s:3:"135";s:3:"mo ";s:3:"136";s:3:"nos";s:3:"137";s:3:"ro ";s:3:"138";s:3:"um ";s:3:"139";s:3:"a n";s:3:"140";s:3:"ao ";s:3:"141";s:3:"ico";s:3:"142";s:3:"liz";s:3:"143";s:3:"min";s:3:"144";s:3:"o n";s:3:"145";s:3:"ons";s:3:"146";s:3:"pri";s:3:"147";s:3:"ten";s:3:"148";s:3:"tic";s:3:"149";s:4:"ões";s:3:"150";s:3:" tr";s:3:"151";s:3:"a m";s:3:"152";s:3:"aga";s:3:"153";s:3:"e n";s:3:"154";s:3:"ili";s:3:"155";s:3:"ime";s:3:"156";s:3:"m a";s:3:"157";s:3:"nci";s:3:"158";s:3:"nha";s:3:"159";s:3:"nta";s:3:"160";s:3:"spe";s:3:"161";s:3:"tiv";s:3:"162";s:3:"am ";s:3:"163";s:3:"ano";s:3:"164";s:3:"arc";s:3:"165";s:3:"ass";s:3:"166";s:3:"cer";s:3:"167";s:3:"e o";s:3:"168";s:3:"ece";s:3:"169";s:3:"emo";s:3:"170";s:3:"ga ";s:3:"171";s:3:"o m";s:3:"172";s:3:"rag";s:3:"173";s:3:"so ";s:3:"174";s:4:"são";s:3:"175";s:3:" au";s:3:"176";s:3:" os";s:3:"177";s:3:" sa";s:3:"178";s:3:"ali";s:3:"179";s:3:"ca ";s:3:"180";s:3:"ema";s:3:"181";s:3:"emp";s:3:"182";s:3:"ici";s:3:"183";s:3:"ido";s:3:"184";s:3:"inh";s:3:"185";s:3:"iss";s:3:"186";s:3:"l d";s:3:"187";s:3:"la ";s:3:"188";s:3:"lic";s:3:"189";s:3:"m c";s:3:"190";s:3:"mai";s:3:"191";s:3:"onc";s:3:"192";s:3:"pec";s:3:"193";s:3:"ram";s:3:"194";s:3:"s q";s:3:"195";s:3:" ci";s:3:"196";s:3:" en";s:3:"197";s:3:" fo";s:3:"198";s:3:"a o";s:3:"199";s:3:"ame";s:3:"200";s:3:"car";s:3:"201";s:3:"co ";s:3:"202";s:3:"der";s:3:"203";s:3:"eir";s:3:"204";s:3:"ho ";s:3:"205";s:3:"io ";s:3:"206";s:3:"om ";s:3:"207";s:3:"ora";s:3:"208";s:3:"r a";s:3:"209";s:3:"sen";s:3:"210";s:3:"ter";s:3:"211";s:3:" br";s:3:"212";s:3:" ex";s:3:"213";s:3:"a u";s:3:"214";s:3:"cul";s:3:"215";s:3:"dev";s:3:"216";s:3:"e u";s:3:"217";s:3:"ha ";s:3:"218";s:3:"mpr";s:3:"219";s:3:"nce";s:3:"220";s:3:"oca";s:3:"221";s:3:"ove";s:3:"222";s:3:"rio";s:3:"223";s:3:"s o";s:3:"224";s:3:"sa ";s:3:"225";s:3:"sem";s:3:"226";s:3:"tes";s:3:"227";s:3:"uni";s:3:"228";s:3:"ven";s:3:"229";s:4:"zaç";s:3:"230";s:5:"çõe";s:3:"231";s:3:" ad";s:3:"232";s:3:" al";s:3:"233";s:3:" an";s:3:"234";s:3:" mi";s:3:"235";s:3:" mo";s:3:"236";s:3:" ve";s:3:"237";s:4:" à ";s:3:"238";s:3:"a i";s:3:"239";s:3:"a q";s:3:"240";s:3:"ala";s:3:"241";s:3:"amo";s:3:"242";s:3:"bli";s:3:"243";s:3:"cen";s:3:"244";s:3:"col";s:3:"245";s:3:"cos";s:3:"246";s:3:"cto";s:3:"247";s:3:"e m";s:3:"248";s:3:"e v";s:3:"249";s:3:"ede";s:3:"250";s:4:"gás";s:3:"251";s:3:"ias";s:3:"252";s:3:"ita";s:3:"253";s:3:"iva";s:3:"254";s:3:"ndo";s:3:"255";s:3:"o t";s:3:"256";s:3:"ore";s:3:"257";s:3:"r d";s:3:"258";s:3:"ral";s:3:"259";s:3:"rea";s:3:"260";s:3:"s f";s:3:"261";s:3:"sid";s:3:"262";s:3:"tro";s:3:"263";s:3:"vel";s:3:"264";s:3:"vid";s:3:"265";s:4:"ás ";s:3:"266";s:3:" ap";s:3:"267";s:3:" ar";s:3:"268";s:3:" ce";s:3:"269";s:3:" ou";s:3:"270";s:4:" pú";s:3:"271";s:3:" so";s:3:"272";s:3:" vi";s:3:"273";s:3:"a f";s:3:"274";s:3:"act";s:3:"275";s:3:"arr";s:3:"276";s:3:"bil";s:3:"277";s:3:"cam";s:3:"278";s:3:"e f";s:3:"279";s:3:"e i";s:3:"280";s:3:"el ";s:3:"281";s:3:"for";s:3:"282";s:3:"lem";s:3:"283";s:3:"lid";s:3:"284";s:3:"lo ";s:3:"285";s:3:"m d";s:3:"286";s:3:"mar";s:3:"287";s:3:"nde";s:3:"288";s:3:"o o";s:3:"289";s:3:"omo";s:3:"290";s:3:"ort";s:3:"291";s:3:"per";s:3:"292";s:4:"púb";s:3:"293";s:3:"r u";s:3:"294";s:3:"rei";s:3:"295";s:3:"rem";s:3:"296";s:3:"ros";s:3:"297";s:3:"rre";s:3:"298";s:3:"ssi";s:3:"299";}s:8:"romanian";a:300:{s:3:" de";s:1:"0";s:4:" în";s:1:"1";s:3:"de ";s:1:"2";s:3:" a ";s:1:"3";s:3:"ul ";s:1:"4";s:3:" co";s:1:"5";s:4:"în ";s:1:"6";s:3:"re ";s:1:"7";s:3:"e d";s:1:"8";s:3:"ea ";s:1:"9";s:3:" di";s:2:"10";s:3:" pr";s:2:"11";s:3:"le ";s:2:"12";s:4:"şi ";s:2:"13";s:3:"are";s:2:"14";s:3:"at ";s:2:"15";s:3:"con";s:2:"16";s:3:"ui ";s:2:"17";s:4:" şi";s:2:"18";s:3:"i d";s:2:"19";s:3:"ii ";s:2:"20";s:3:" cu";s:2:"21";s:3:"e a";s:2:"22";s:3:"lui";s:2:"23";s:3:"ern";s:2:"24";s:3:"te ";s:2:"25";s:3:"cu ";s:2:"26";s:3:" la";s:2:"27";s:3:"a c";s:2:"28";s:4:"că ";s:2:"29";s:3:"din";s:2:"30";s:3:"e c";s:2:"31";s:3:"or ";s:2:"32";s:3:"ulu";s:2:"33";s:3:"ne ";s:2:"34";s:3:"ter";s:2:"35";s:3:"la ";s:2:"36";s:4:"să ";s:2:"37";s:3:"tat";s:2:"38";s:3:"tre";s:2:"39";s:3:" ac";s:2:"40";s:4:" să";s:2:"41";s:3:"est";s:2:"42";s:3:"st ";s:2:"43";s:4:"tă ";s:2:"44";s:3:" ca";s:2:"45";s:3:" ma";s:2:"46";s:3:" pe";s:2:"47";s:3:"cur";s:2:"48";s:3:"ist";s:2:"49";s:4:"mân";s:2:"50";s:3:"a d";s:2:"51";s:3:"i c";s:2:"52";s:3:"nat";s:2:"53";s:3:" ce";s:2:"54";s:3:"i a";s:2:"55";s:3:"ia ";s:2:"56";s:3:"in ";s:2:"57";s:3:"scu";s:2:"58";s:3:" mi";s:2:"59";s:3:"ato";s:2:"60";s:4:"aţi";s:2:"61";s:3:"ie ";s:2:"62";s:3:" re";s:2:"63";s:3:" se";s:2:"64";s:3:"a a";s:2:"65";s:3:"int";s:2:"66";s:3:"ntr";s:2:"67";s:3:"tru";s:2:"68";s:3:"uri";s:2:"69";s:4:"ă a";s:2:"70";s:3:" fo";s:2:"71";s:3:" pa";s:2:"72";s:3:"ate";s:2:"73";s:3:"ini";s:2:"74";s:3:"tul";s:2:"75";s:3:"ent";s:2:"76";s:3:"min";s:2:"77";s:3:"pre";s:2:"78";s:3:"pro";s:2:"79";s:3:"a p";s:2:"80";s:3:"e p";s:2:"81";s:3:"e s";s:2:"82";s:3:"ei ";s:2:"83";s:4:"nă ";s:2:"84";s:3:"par";s:2:"85";s:3:"rna";s:2:"86";s:3:"rul";s:2:"87";s:3:"tor";s:2:"88";s:3:" in";s:2:"89";s:3:" ro";s:2:"90";s:3:" tr";s:2:"91";s:3:" un";s:2:"92";s:3:"al ";s:2:"93";s:3:"ale";s:2:"94";s:3:"art";s:2:"95";s:3:"ce ";s:2:"96";s:3:"e e";s:2:"97";s:4:"e î";s:2:"98";s:3:"fos";s:2:"99";s:3:"ita";s:3:"100";s:3:"nte";s:3:"101";s:4:"omâ";s:3:"102";s:3:"ost";s:3:"103";s:3:"rom";s:3:"104";s:3:"ru ";s:3:"105";s:3:"str";s:3:"106";s:3:"ver";s:3:"107";s:3:" ex";s:3:"108";s:3:" na";s:3:"109";s:3:"a f";s:3:"110";s:3:"lor";s:3:"111";s:3:"nis";s:3:"112";s:3:"rea";s:3:"113";s:3:"rit";s:3:"114";s:3:" al";s:3:"115";s:3:" eu";s:3:"116";s:3:" no";s:3:"117";s:3:"ace";s:3:"118";s:3:"cer";s:3:"119";s:3:"ile";s:3:"120";s:3:"nal";s:3:"121";s:3:"pri";s:3:"122";s:3:"ri ";s:3:"123";s:3:"sta";s:3:"124";s:3:"ste";s:3:"125";s:4:"ţie";s:3:"126";s:3:" au";s:3:"127";s:3:" da";s:3:"128";s:3:" ju";s:3:"129";s:3:" po";s:3:"130";s:3:"ar ";s:3:"131";s:3:"au ";s:3:"132";s:3:"ele";s:3:"133";s:3:"ere";s:3:"134";s:3:"eri";s:3:"135";s:3:"ina";s:3:"136";s:3:"n a";s:3:"137";s:3:"n c";s:3:"138";s:3:"res";s:3:"139";s:3:"se ";s:3:"140";s:3:"t a";s:3:"141";s:3:"tea";s:3:"142";s:4:" că";s:3:"143";s:3:" do";s:3:"144";s:3:" fi";s:3:"145";s:3:"a s";s:3:"146";s:4:"ată";s:3:"147";s:3:"com";s:3:"148";s:4:"e ş";s:3:"149";s:3:"eur";s:3:"150";s:3:"guv";s:3:"151";s:3:"i s";s:3:"152";s:3:"ice";s:3:"153";s:3:"ili";s:3:"154";s:3:"na ";s:3:"155";s:3:"rec";s:3:"156";s:3:"rep";s:3:"157";s:3:"ril";s:3:"158";s:3:"rne";s:3:"159";s:3:"rti";s:3:"160";s:3:"uro";s:3:"161";s:3:"uve";s:3:"162";s:4:"ă p";s:3:"163";s:3:" ar";s:3:"164";s:3:" o ";s:3:"165";s:3:" su";s:3:"166";s:3:" vi";s:3:"167";s:3:"dec";s:3:"168";s:3:"dre";s:3:"169";s:3:"oar";s:3:"170";s:3:"ons";s:3:"171";s:3:"pe ";s:3:"172";s:3:"rii";s:3:"173";s:3:" ad";s:3:"174";s:3:" ge";s:3:"175";s:3:"a m";s:3:"176";s:3:"a r";s:3:"177";s:3:"ain";s:3:"178";s:3:"ali";s:3:"179";s:3:"car";s:3:"180";s:3:"cat";s:3:"181";s:3:"ecu";s:3:"182";s:3:"ene";s:3:"183";s:3:"ept";s:3:"184";s:3:"ext";s:3:"185";s:3:"ilo";s:3:"186";s:3:"iu ";s:3:"187";s:3:"n p";s:3:"188";s:3:"ori";s:3:"189";s:3:"sec";s:3:"190";s:3:"u p";s:3:"191";s:3:"une";s:3:"192";s:4:"ă c";s:3:"193";s:4:"şti";s:3:"194";s:4:"ţia";s:3:"195";s:3:" ch";s:3:"196";s:3:" gu";s:3:"197";s:3:"ai ";s:3:"198";s:3:"ani";s:3:"199";s:3:"cea";s:3:"200";s:3:"e f";s:3:"201";s:3:"isc";s:3:"202";s:3:"l a";s:3:"203";s:3:"lic";s:3:"204";s:3:"liu";s:3:"205";s:3:"mar";s:3:"206";s:3:"nic";s:3:"207";s:3:"nt ";s:3:"208";s:3:"nul";s:3:"209";s:3:"ris";s:3:"210";s:3:"t c";s:3:"211";s:3:"t p";s:3:"212";s:3:"tic";s:3:"213";s:3:"tid";s:3:"214";s:3:"u a";s:3:"215";s:3:"ucr";s:3:"216";s:3:" as";s:3:"217";s:3:" dr";s:3:"218";s:3:" fa";s:3:"219";s:3:" nu";s:3:"220";s:3:" pu";s:3:"221";s:3:" to";s:3:"222";s:3:"cra";s:3:"223";s:3:"dis";s:3:"224";s:4:"enţ";s:3:"225";s:3:"esc";s:3:"226";s:3:"gen";s:3:"227";s:3:"it ";s:3:"228";s:3:"ivi";s:3:"229";s:3:"l d";s:3:"230";s:3:"n d";s:3:"231";s:3:"nd ";s:3:"232";s:3:"nu ";s:3:"233";s:3:"ond";s:3:"234";s:3:"pen";s:3:"235";s:3:"ral";s:3:"236";s:3:"riv";s:3:"237";s:3:"rte";s:3:"238";s:3:"sti";s:3:"239";s:3:"t d";s:3:"240";s:3:"ta ";s:3:"241";s:3:"to ";s:3:"242";s:3:"uni";s:3:"243";s:3:"xte";s:3:"244";s:4:"ând";s:3:"245";s:4:"îns";s:3:"246";s:4:"ă s";s:3:"247";s:3:" bl";s:3:"248";s:3:" st";s:3:"249";s:3:" uc";s:3:"250";s:3:"a b";s:3:"251";s:3:"a i";s:3:"252";s:3:"a l";s:3:"253";s:3:"air";s:3:"254";s:3:"ast";s:3:"255";s:3:"bla";s:3:"256";s:3:"bri";s:3:"257";s:3:"che";s:3:"258";s:3:"duc";s:3:"259";s:3:"dul";s:3:"260";s:3:"e m";s:3:"261";s:3:"eas";s:3:"262";s:3:"edi";s:3:"263";s:3:"esp";s:3:"264";s:3:"i l";s:3:"265";s:3:"i p";s:3:"266";s:3:"ica";s:3:"267";s:4:"ică";s:3:"268";s:3:"ir ";s:3:"269";s:3:"iun";s:3:"270";s:3:"jud";s:3:"271";s:3:"lai";s:3:"272";s:3:"lul";s:3:"273";s:3:"mai";s:3:"274";s:3:"men";s:3:"275";s:3:"ni ";s:3:"276";s:3:"pus";s:3:"277";s:3:"put";s:3:"278";s:3:"ra ";s:3:"279";s:3:"rai";s:3:"280";s:3:"rop";s:3:"281";s:3:"sil";s:3:"282";s:3:"ti ";s:3:"283";s:3:"tra";s:3:"284";s:3:"u s";s:3:"285";s:3:"ua ";s:3:"286";s:3:"ude";s:3:"287";s:3:"urs";s:3:"288";s:4:"ân ";s:3:"289";s:4:"înt";s:3:"290";s:5:"ţă ";s:3:"291";s:3:" lu";s:3:"292";s:3:" mo";s:3:"293";s:3:" s ";s:3:"294";s:3:" sa";s:3:"295";s:3:" sc";s:3:"296";s:3:"a u";s:3:"297";s:3:"an ";s:3:"298";s:3:"atu";s:3:"299";}s:7:"russian";a:300:{s:5:" на";s:1:"0";s:5:" пр";s:1:"1";s:5:"то ";s:1:"2";s:5:" не";s:1:"3";s:5:"ли ";s:1:"4";s:5:" по";s:1:"5";s:5:"но ";s:1:"6";s:4:" в ";s:1:"7";s:5:"на ";s:1:"8";s:5:"ть ";s:1:"9";s:5:"не ";s:2:"10";s:4:" и ";s:2:"11";s:5:" ко";s:2:"12";s:5:"ом ";s:2:"13";s:6:"про";s:2:"14";s:5:" то";s:2:"15";s:5:"их ";s:2:"16";s:5:" ка";s:2:"17";s:6:"ать";s:2:"18";s:6:"ото";s:2:"19";s:5:" за";s:2:"20";s:5:"ие ";s:2:"21";s:6:"ова";s:2:"22";s:6:"тел";s:2:"23";s:6:"тор";s:2:"24";s:5:" де";s:2:"25";s:5:"ой ";s:2:"26";s:6:"сти";s:2:"27";s:5:" от";s:2:"28";s:5:"ах ";s:2:"29";s:5:"ми ";s:2:"30";s:6:"стр";s:2:"31";s:5:" бе";s:2:"32";s:5:" во";s:2:"33";s:5:" ра";s:2:"34";s:5:"ая ";s:2:"35";s:6:"ват";s:2:"36";s:5:"ей ";s:2:"37";s:5:"ет ";s:2:"38";s:5:"же ";s:2:"39";s:6:"иче";s:2:"40";s:5:"ия ";s:2:"41";s:5:"ов ";s:2:"42";s:6:"сто";s:2:"43";s:5:" об";s:2:"44";s:6:"вер";s:2:"45";s:5:"го ";s:2:"46";s:5:"и в";s:2:"47";s:5:"и п";s:2:"48";s:5:"и с";s:2:"49";s:5:"ии ";s:2:"50";s:6:"ист";s:2:"51";s:5:"о в";s:2:"52";s:6:"ост";s:2:"53";s:6:"тра";s:2:"54";s:5:" те";s:2:"55";s:6:"ели";s:2:"56";s:6:"ере";s:2:"57";s:6:"кот";s:2:"58";s:6:"льн";s:2:"59";s:6:"ник";s:2:"60";s:6:"нти";s:2:"61";s:5:"о с";s:2:"62";s:6:"рор";s:2:"63";s:6:"ств";s:2:"64";s:6:"чес";s:2:"65";s:5:" бо";s:2:"66";s:5:" ве";s:2:"67";s:5:" да";s:2:"68";s:5:" ин";s:2:"69";s:5:" но";s:2:"70";s:4:" с ";s:2:"71";s:5:" со";s:2:"72";s:5:" сп";s:2:"73";s:5:" ст";s:2:"74";s:5:" чт";s:2:"75";s:6:"али";s:2:"76";s:6:"ами";s:2:"77";s:6:"вид";s:2:"78";s:6:"дет";s:2:"79";s:5:"е н";s:2:"80";s:6:"ель";s:2:"81";s:6:"еск";s:2:"82";s:6:"ест";s:2:"83";s:6:"зал";s:2:"84";s:5:"и н";s:2:"85";s:6:"ива";s:2:"86";s:6:"кон";s:2:"87";s:6:"ого";s:2:"88";s:6:"одн";s:2:"89";s:6:"ожн";s:2:"90";s:6:"оль";s:2:"91";s:6:"ори";s:2:"92";s:6:"ров";s:2:"93";s:6:"ско";s:2:"94";s:5:"ся ";s:2:"95";s:6:"тер";s:2:"96";s:6:"что";s:2:"97";s:5:" мо";s:2:"98";s:5:" са";s:2:"99";s:5:" эт";s:3:"100";s:6:"ант";s:3:"101";s:6:"все";s:3:"102";s:6:"ерр";s:3:"103";s:6:"есл";s:3:"104";s:6:"иде";s:3:"105";s:6:"ина";s:3:"106";s:6:"ино";s:3:"107";s:6:"иро";s:3:"108";s:6:"ите";s:3:"109";s:5:"ка ";s:3:"110";s:5:"ко ";s:3:"111";s:6:"кол";s:3:"112";s:6:"ком";s:3:"113";s:5:"ла ";s:3:"114";s:6:"ния";s:3:"115";s:5:"о т";s:3:"116";s:6:"оло";s:3:"117";s:6:"ран";s:3:"118";s:6:"ред";s:3:"119";s:5:"сь ";s:3:"120";s:6:"тив";s:3:"121";s:6:"тич";s:3:"122";s:5:"ых ";s:3:"123";s:5:" ви";s:3:"124";s:5:" вс";s:3:"125";s:5:" го";s:3:"126";s:5:" ма";s:3:"127";s:5:" сл";s:3:"128";s:6:"ако";s:3:"129";s:6:"ани";s:3:"130";s:6:"аст";s:3:"131";s:6:"без";s:3:"132";s:6:"дел";s:3:"133";s:5:"е д";s:3:"134";s:5:"е п";s:3:"135";s:5:"ем ";s:3:"136";s:6:"жно";s:3:"137";s:5:"и д";s:3:"138";s:6:"ика";s:3:"139";s:6:"каз";s:3:"140";s:6:"как";s:3:"141";s:5:"ки ";s:3:"142";s:6:"нос";s:3:"143";s:5:"о н";s:3:"144";s:6:"опа";s:3:"145";s:6:"при";s:3:"146";s:6:"рро";s:3:"147";s:6:"ски";s:3:"148";s:5:"ти ";s:3:"149";s:6:"тов";s:3:"150";s:5:"ые ";s:3:"151";s:5:" вы";s:3:"152";s:5:" до";s:3:"153";s:5:" ме";s:3:"154";s:5:" ни";s:3:"155";s:5:" од";s:3:"156";s:5:" ро";s:3:"157";s:5:" св";s:3:"158";s:5:" чи";s:3:"159";s:5:"а н";s:3:"160";s:6:"ает";s:3:"161";s:6:"аза";s:3:"162";s:6:"ате";s:3:"163";s:6:"бес";s:3:"164";s:5:"в п";s:3:"165";s:5:"ва ";s:3:"166";s:5:"е в";s:3:"167";s:5:"е м";s:3:"168";s:5:"е с";s:3:"169";s:5:"ез ";s:3:"170";s:6:"ени";s:3:"171";s:5:"за ";s:3:"172";s:6:"зна";s:3:"173";s:6:"ини";s:3:"174";s:6:"кам";s:3:"175";s:6:"ках";s:3:"176";s:6:"кто";s:3:"177";s:6:"лов";s:3:"178";s:6:"мер";s:3:"179";s:6:"мож";s:3:"180";s:6:"нал";s:3:"181";s:6:"ниц";s:3:"182";s:5:"ны ";s:3:"183";s:6:"ным";s:3:"184";s:6:"ора";s:3:"185";s:6:"оро";s:3:"186";s:5:"от ";s:3:"187";s:6:"пор";s:3:"188";s:6:"рав";s:3:"189";s:6:"рес";s:3:"190";s:6:"рис";s:3:"191";s:6:"рос";s:3:"192";s:6:"ска";s:3:"193";s:5:"т н";s:3:"194";s:6:"том";s:3:"195";s:6:"чит";s:3:"196";s:6:"шко";s:3:"197";s:5:" бы";s:3:"198";s:4:" о ";s:3:"199";s:5:" тр";s:3:"200";s:5:" уж";s:3:"201";s:5:" чу";s:3:"202";s:5:" шк";s:3:"203";s:5:"а б";s:3:"204";s:5:"а в";s:3:"205";s:5:"а р";s:3:"206";s:6:"аби";s:3:"207";s:6:"ала";s:3:"208";s:6:"ало";s:3:"209";s:6:"аль";s:3:"210";s:6:"анн";s:3:"211";s:6:"ати";s:3:"212";s:6:"бин";s:3:"213";s:6:"вес";s:3:"214";s:6:"вно";s:3:"215";s:5:"во ";s:3:"216";s:6:"вши";s:3:"217";s:6:"дал";s:3:"218";s:6:"дат";s:3:"219";s:6:"дно";s:3:"220";s:5:"е з";s:3:"221";s:6:"его";s:3:"222";s:6:"еле";s:3:"223";s:6:"енн";s:3:"224";s:6:"ент";s:3:"225";s:6:"ете";s:3:"226";s:5:"и о";s:3:"227";s:6:"или";s:3:"228";s:6:"ись";s:3:"229";s:5:"ит ";s:3:"230";s:6:"ици";s:3:"231";s:6:"ков";s:3:"232";s:6:"лен";s:3:"233";s:6:"льк";s:3:"234";s:6:"мен";s:3:"235";s:5:"мы ";s:3:"236";s:6:"нет";s:3:"237";s:5:"ни ";s:3:"238";s:6:"нны";s:3:"239";s:6:"ног";s:3:"240";s:6:"ной";s:3:"241";s:6:"ном";s:3:"242";s:5:"о п";s:3:"243";s:6:"обн";s:3:"244";s:6:"ове";s:3:"245";s:6:"овн";s:3:"246";s:6:"оры";s:3:"247";s:6:"пер";s:3:"248";s:5:"по ";s:3:"249";s:6:"пра";s:3:"250";s:6:"пре";s:3:"251";s:6:"раз";s:3:"252";s:6:"роп";s:3:"253";s:5:"ры ";s:3:"254";s:5:"се ";s:3:"255";s:6:"сли";s:3:"256";s:6:"сов";s:3:"257";s:6:"тре";s:3:"258";s:6:"тся";s:3:"259";s:6:"уро";s:3:"260";s:6:"цел";s:3:"261";s:6:"чно";s:3:"262";s:5:"ь в";s:3:"263";s:6:"ько";s:3:"264";s:6:"ьно";s:3:"265";s:6:"это";s:3:"266";s:5:"ют ";s:3:"267";s:5:"я н";s:3:"268";s:5:" ан";s:3:"269";s:5:" ес";s:3:"270";s:5:" же";s:3:"271";s:5:" из";s:3:"272";s:5:" кт";s:3:"273";s:5:" ми";s:3:"274";s:5:" мы";s:3:"275";s:5:" пе";s:3:"276";s:5:" се";s:3:"277";s:5:" це";s:3:"278";s:5:"а м";s:3:"279";s:5:"а п";s:3:"280";s:5:"а т";s:3:"281";s:6:"авш";s:3:"282";s:6:"аже";s:3:"283";s:5:"ак ";s:3:"284";s:5:"ал ";s:3:"285";s:6:"але";s:3:"286";s:6:"ане";s:3:"287";s:6:"ачи";s:3:"288";s:6:"ают";s:3:"289";s:6:"бна";s:3:"290";s:6:"бол";s:3:"291";s:5:"бы ";s:3:"292";s:5:"в и";s:3:"293";s:5:"в с";s:3:"294";s:6:"ван";s:3:"295";s:6:"гра";s:3:"296";s:6:"даж";s:3:"297";s:6:"ден";s:3:"298";s:5:"е к";s:3:"299";}s:7:"serbian";a:300:{s:5:" на";s:1:"0";s:5:" је";s:1:"1";s:5:" по";s:1:"2";s:5:"је ";s:1:"3";s:4:" и ";s:1:"4";s:5:" не";s:1:"5";s:5:" пр";s:1:"6";s:5:"га ";s:1:"7";s:5:" св";s:1:"8";s:5:"ог ";s:1:"9";s:5:"а с";s:2:"10";s:5:"их ";s:2:"11";s:5:"на ";s:2:"12";s:6:"кој";s:2:"13";s:6:"ога";s:2:"14";s:4:" у ";s:2:"15";s:5:"а п";s:2:"16";s:5:"не ";s:2:"17";s:5:"ни ";s:2:"18";s:5:"ти ";s:2:"19";s:5:" да";s:2:"20";s:5:"ом ";s:2:"21";s:5:" ве";s:2:"22";s:5:" ср";s:2:"23";s:5:"и с";s:2:"24";s:6:"ско";s:2:"25";s:5:" об";s:2:"26";s:5:"а н";s:2:"27";s:5:"да ";s:2:"28";s:5:"е н";s:2:"29";s:5:"но ";s:2:"30";s:6:"ног";s:2:"31";s:5:"о ј";s:2:"32";s:5:"ој ";s:2:"33";s:5:" за";s:2:"34";s:5:"ва ";s:2:"35";s:5:"е с";s:2:"36";s:5:"и п";s:2:"37";s:5:"ма ";s:2:"38";s:6:"ник";s:2:"39";s:6:"обр";s:2:"40";s:6:"ова";s:2:"41";s:5:" ко";s:2:"42";s:5:"а и";s:2:"43";s:6:"диј";s:2:"44";s:5:"е п";s:2:"45";s:5:"ка ";s:2:"46";s:5:"ко ";s:2:"47";s:6:"ког";s:2:"48";s:6:"ост";s:2:"49";s:6:"све";s:2:"50";s:6:"ств";s:2:"51";s:6:"сти";s:2:"52";s:6:"тра";s:2:"53";s:6:"еди";s:2:"54";s:6:"има";s:2:"55";s:6:"пок";s:2:"56";s:6:"пра";s:2:"57";s:6:"раз";s:2:"58";s:5:"те ";s:2:"59";s:5:" бо";s:2:"60";s:5:" ви";s:2:"61";s:5:" са";s:2:"62";s:6:"аво";s:2:"63";s:6:"бра";s:2:"64";s:6:"гос";s:2:"65";s:5:"е и";s:2:"66";s:6:"ели";s:2:"67";s:6:"ени";s:2:"68";s:5:"за ";s:2:"69";s:6:"ики";s:2:"70";s:5:"ио ";s:2:"71";s:6:"пре";s:2:"72";s:6:"рав";s:2:"73";s:6:"рад";s:2:"74";s:5:"у с";s:2:"75";s:5:"ју ";s:2:"76";s:5:"ња ";s:2:"77";s:5:" би";s:2:"78";s:5:" до";s:2:"79";s:5:" ст";s:2:"80";s:6:"аст";s:2:"81";s:6:"бој";s:2:"82";s:6:"ебо";s:2:"83";s:5:"и н";s:2:"84";s:5:"им ";s:2:"85";s:5:"ку ";s:2:"86";s:6:"лан";s:2:"87";s:6:"неб";s:2:"88";s:6:"ово";s:2:"89";s:6:"ого";s:2:"90";s:6:"осл";s:2:"91";s:6:"ојш";s:2:"92";s:6:"пед";s:2:"93";s:6:"стр";s:2:"94";s:6:"час";s:2:"95";s:5:" го";s:2:"96";s:5:" кр";s:2:"97";s:5:" мо";s:2:"98";s:5:" чл";s:2:"99";s:5:"а м";s:3:"100";s:5:"а о";s:3:"101";s:6:"ако";s:3:"102";s:6:"ача";s:3:"103";s:6:"вел";s:3:"104";s:6:"вет";s:3:"105";s:6:"вог";s:3:"106";s:6:"еда";s:3:"107";s:6:"ист";s:3:"108";s:6:"ити";s:3:"109";s:6:"ије";s:3:"110";s:6:"око";s:3:"111";s:6:"сло";s:3:"112";s:6:"срб";s:3:"113";s:6:"чла";s:3:"114";s:5:" бе";s:3:"115";s:5:" ос";s:3:"116";s:5:" от";s:3:"117";s:5:" ре";s:3:"118";s:5:" се";s:3:"119";s:5:"а в";s:3:"120";s:5:"ан ";s:3:"121";s:6:"бог";s:3:"122";s:6:"бро";s:3:"123";s:6:"вен";s:3:"124";s:6:"гра";s:3:"125";s:5:"е о";s:3:"126";s:6:"ика";s:3:"127";s:6:"ија";s:3:"128";s:6:"ких";s:3:"129";s:6:"ком";s:3:"130";s:5:"ли ";s:3:"131";s:5:"ну ";s:3:"132";s:6:"ота";s:3:"133";s:6:"ојн";s:3:"134";s:6:"под";s:3:"135";s:6:"рбс";s:3:"136";s:6:"ред";s:3:"137";s:6:"рој";s:3:"138";s:5:"са ";s:3:"139";s:6:"сни";s:3:"140";s:6:"тач";s:3:"141";s:6:"тва";s:3:"142";s:5:"ја ";s:3:"143";s:5:"ји ";s:3:"144";s:5:" ка";s:3:"145";s:5:" ов";s:3:"146";s:5:" тр";s:3:"147";s:5:"а ј";s:3:"148";s:6:"ави";s:3:"149";s:5:"аз ";s:3:"150";s:6:"ано";s:3:"151";s:6:"био";s:3:"152";s:6:"вик";s:3:"153";s:5:"во ";s:3:"154";s:6:"гов";s:3:"155";s:6:"дни";s:3:"156";s:5:"е ч";s:3:"157";s:6:"его";s:3:"158";s:5:"и о";s:3:"159";s:6:"ива";s:3:"160";s:6:"иво";s:3:"161";s:5:"ик ";s:3:"162";s:6:"ине";s:3:"163";s:6:"ини";s:3:"164";s:6:"ипе";s:3:"165";s:6:"кип";s:3:"166";s:6:"лик";s:3:"167";s:5:"ло ";s:3:"168";s:6:"наш";s:3:"169";s:6:"нос";s:3:"170";s:5:"о т";s:3:"171";s:5:"од ";s:3:"172";s:6:"оди";s:3:"173";s:6:"она";s:3:"174";s:6:"оји";s:3:"175";s:6:"поч";s:3:"176";s:6:"про";s:3:"177";s:5:"ра ";s:3:"178";s:6:"рис";s:3:"179";s:6:"род";s:3:"180";s:6:"рст";s:3:"181";s:5:"се ";s:3:"182";s:6:"спо";s:3:"183";s:6:"ста";s:3:"184";s:6:"тић";s:3:"185";s:5:"у д";s:3:"186";s:5:"у н";s:3:"187";s:5:"у о";s:3:"188";s:6:"чин";s:3:"189";s:5:"ша ";s:3:"190";s:6:"јед";s:3:"191";s:6:"јни";s:3:"192";s:5:"ће ";s:3:"193";s:4:" м ";s:3:"194";s:5:" ме";s:3:"195";s:5:" ни";s:3:"196";s:5:" он";s:3:"197";s:5:" па";s:3:"198";s:5:" сл";s:3:"199";s:5:" те";s:3:"200";s:5:"а у";s:3:"201";s:6:"ава";s:3:"202";s:6:"аве";s:3:"203";s:6:"авн";s:3:"204";s:6:"ана";s:3:"205";s:5:"ао ";s:3:"206";s:6:"ати";s:3:"207";s:6:"аци";s:3:"208";s:6:"ају";s:3:"209";s:6:"ања";s:3:"210";s:6:"бск";s:3:"211";s:6:"вор";s:3:"212";s:6:"вос";s:3:"213";s:6:"вск";s:3:"214";s:6:"дин";s:3:"215";s:5:"е у";s:3:"216";s:6:"едн";s:3:"217";s:6:"ези";s:3:"218";s:6:"ека";s:3:"219";s:6:"ено";s:3:"220";s:6:"ето";s:3:"221";s:6:"ења";s:3:"222";s:6:"жив";s:3:"223";s:5:"и г";s:3:"224";s:5:"и и";s:3:"225";s:5:"и к";s:3:"226";s:5:"и т";s:3:"227";s:6:"ику";s:3:"228";s:6:"ичк";s:3:"229";s:5:"ки ";s:3:"230";s:6:"крс";s:3:"231";s:5:"ла ";s:3:"232";s:6:"лав";s:3:"233";s:6:"лит";s:3:"234";s:5:"ме ";s:3:"235";s:6:"мен";s:3:"236";s:6:"нац";s:3:"237";s:5:"о н";s:3:"238";s:5:"о п";s:3:"239";s:5:"о у";s:3:"240";s:6:"одн";s:3:"241";s:6:"оли";s:3:"242";s:6:"орн";s:3:"243";s:6:"осн";s:3:"244";s:6:"осп";s:3:"245";s:6:"оче";s:3:"246";s:6:"пск";s:3:"247";s:6:"реч";s:3:"248";s:6:"рпс";s:3:"249";s:6:"сво";s:3:"250";s:6:"ски";s:3:"251";s:6:"сла";s:3:"252";s:6:"срп";s:3:"253";s:5:"су ";s:3:"254";s:5:"та ";s:3:"255";s:6:"тав";s:3:"256";s:6:"тве";s:3:"257";s:5:"у б";s:3:"258";s:6:"јез";s:3:"259";s:5:"ћи ";s:3:"260";s:5:" ен";s:3:"261";s:5:" жи";s:3:"262";s:5:" им";s:3:"263";s:5:" му";s:3:"264";s:5:" од";s:3:"265";s:5:" су";s:3:"266";s:5:" та";s:3:"267";s:5:" хр";s:3:"268";s:5:" ча";s:3:"269";s:5:" шт";s:3:"270";s:5:" ње";s:3:"271";s:5:"а д";s:3:"272";s:5:"а з";s:3:"273";s:5:"а к";s:3:"274";s:5:"а т";s:3:"275";s:6:"аду";s:3:"276";s:6:"ало";s:3:"277";s:6:"ани";s:3:"278";s:6:"асо";s:3:"279";s:6:"ван";s:3:"280";s:6:"вач";s:3:"281";s:6:"вањ";s:3:"282";s:6:"вед";s:3:"283";s:5:"ви ";s:3:"284";s:6:"вно";s:3:"285";s:6:"вот";s:3:"286";s:6:"вој";s:3:"287";s:5:"ву ";s:3:"288";s:6:"доб";s:3:"289";s:6:"дру";s:3:"290";s:6:"дсе";s:3:"291";s:5:"ду ";s:3:"292";s:5:"е б";s:3:"293";s:5:"е д";s:3:"294";s:5:"е м";s:3:"295";s:5:"ем ";s:3:"296";s:6:"ема";s:3:"297";s:6:"ент";s:3:"298";s:6:"енц";s:3:"299";}s:6:"slovak";a:300:{s:3:" pr";s:1:"0";s:3:" po";s:1:"1";s:3:" ne";s:1:"2";s:3:" a ";s:1:"3";s:3:"ch ";s:1:"4";s:3:" na";s:1:"5";s:3:" je";s:1:"6";s:4:"ní ";s:1:"7";s:3:"je ";s:1:"8";s:3:" do";s:1:"9";s:3:"na ";s:2:"10";s:3:"ova";s:2:"11";s:3:" v ";s:2:"12";s:3:"to ";s:2:"13";s:3:"ho ";s:2:"14";s:3:"ou ";s:2:"15";s:3:" to";s:2:"16";s:3:"ick";s:2:"17";s:3:"ter";s:2:"18";s:4:"že ";s:2:"19";s:3:" st";s:2:"20";s:3:" za";s:2:"21";s:3:"ost";s:2:"22";s:4:"ých";s:2:"23";s:3:" se";s:2:"24";s:3:"pro";s:2:"25";s:3:" te";s:2:"26";s:3:"e s";s:2:"27";s:4:" že";s:2:"28";s:3:"a p";s:2:"29";s:3:" kt";s:2:"30";s:3:"pre";s:2:"31";s:3:" by";s:2:"32";s:3:" o ";s:2:"33";s:3:"se ";s:2:"34";s:3:"kon";s:2:"35";s:4:" př";s:2:"36";s:3:"a s";s:2:"37";s:4:"né ";s:2:"38";s:4:"ně ";s:2:"39";s:3:"sti";s:2:"40";s:3:"ako";s:2:"41";s:3:"ist";s:2:"42";s:3:"mu ";s:2:"43";s:3:"ame";s:2:"44";s:3:"ent";s:2:"45";s:3:"ky ";s:2:"46";s:3:"la ";s:2:"47";s:3:"pod";s:2:"48";s:3:" ve";s:2:"49";s:3:" ob";s:2:"50";s:3:"om ";s:2:"51";s:3:"vat";s:2:"52";s:3:" ko";s:2:"53";s:3:"sta";s:2:"54";s:3:"em ";s:2:"55";s:3:"le ";s:2:"56";s:3:"a v";s:2:"57";s:3:"by ";s:2:"58";s:3:"e p";s:2:"59";s:3:"ko ";s:2:"60";s:3:"eri";s:2:"61";s:3:"kte";s:2:"62";s:3:"sa ";s:2:"63";s:4:"ého";s:2:"64";s:3:"e v";s:2:"65";s:3:"mer";s:2:"66";s:3:"tel";s:2:"67";s:3:" ak";s:2:"68";s:3:" sv";s:2:"69";s:4:" zá";s:2:"70";s:3:"hla";s:2:"71";s:3:"las";s:2:"72";s:3:"lo ";s:2:"73";s:3:" ta";s:2:"74";s:3:"a n";s:2:"75";s:3:"ej ";s:2:"76";s:3:"li ";s:2:"77";s:3:"ne ";s:2:"78";s:3:" sa";s:2:"79";s:3:"ak ";s:2:"80";s:3:"ani";s:2:"81";s:3:"ate";s:2:"82";s:3:"ia ";s:2:"83";s:3:"sou";s:2:"84";s:3:" so";s:2:"85";s:4:"ení";s:2:"86";s:3:"ie ";s:2:"87";s:3:" re";s:2:"88";s:3:"ce ";s:2:"89";s:3:"e n";s:2:"90";s:3:"ori";s:2:"91";s:3:"tic";s:2:"92";s:3:" vy";s:2:"93";s:3:"a t";s:2:"94";s:4:"ké ";s:2:"95";s:3:"nos";s:2:"96";s:3:"o s";s:2:"97";s:3:"str";s:2:"98";s:3:"ti ";s:2:"99";s:3:"uje";s:3:"100";s:3:" sp";s:3:"101";s:3:"lov";s:3:"102";s:3:"o p";s:3:"103";s:3:"oli";s:3:"104";s:4:"ová";s:3:"105";s:4:" ná";s:3:"106";s:3:"ale";s:3:"107";s:3:"den";s:3:"108";s:3:"e o";s:3:"109";s:3:"ku ";s:3:"110";s:3:"val";s:3:"111";s:3:" am";s:3:"112";s:3:" ro";s:3:"113";s:3:" si";s:3:"114";s:3:"nie";s:3:"115";s:3:"pol";s:3:"116";s:3:"tra";s:3:"117";s:3:" al";s:3:"118";s:3:"ali";s:3:"119";s:3:"o v";s:3:"120";s:3:"tor";s:3:"121";s:3:" mo";s:3:"122";s:3:" ni";s:3:"123";s:3:"ci ";s:3:"124";s:3:"o n";s:3:"125";s:4:"ím ";s:3:"126";s:3:" le";s:3:"127";s:3:" pa";s:3:"128";s:3:" s ";s:3:"129";s:3:"al ";s:3:"130";s:3:"ati";s:3:"131";s:3:"ero";s:3:"132";s:3:"ove";s:3:"133";s:3:"rov";s:3:"134";s:4:"ván";s:3:"135";s:4:"ích";s:3:"136";s:3:" ja";s:3:"137";s:3:" z ";s:3:"138";s:4:"cké";s:3:"139";s:3:"e z";s:3:"140";s:3:" od";s:3:"141";s:3:"byl";s:3:"142";s:3:"de ";s:3:"143";s:3:"dob";s:3:"144";s:3:"nep";s:3:"145";s:3:"pra";s:3:"146";s:3:"ric";s:3:"147";s:3:"spo";s:3:"148";s:3:"tak";s:3:"149";s:4:" vš";s:3:"150";s:3:"a a";s:3:"151";s:3:"e t";s:3:"152";s:3:"lit";s:3:"153";s:3:"me ";s:3:"154";s:3:"nej";s:3:"155";s:3:"no ";s:3:"156";s:4:"nýc";s:3:"157";s:3:"o t";s:3:"158";s:3:"a j";s:3:"159";s:3:"e a";s:3:"160";s:3:"en ";s:3:"161";s:3:"est";s:3:"162";s:4:"jí ";s:3:"163";s:3:"mi ";s:3:"164";s:3:"slo";s:3:"165";s:4:"stá";s:3:"166";s:3:"u v";s:3:"167";s:3:"for";s:3:"168";s:3:"nou";s:3:"169";s:3:"pos";s:3:"170";s:4:"pře";s:3:"171";s:3:"si ";s:3:"172";s:3:"tom";s:3:"173";s:3:" vl";s:3:"174";s:3:"a z";s:3:"175";s:3:"ly ";s:3:"176";s:3:"orm";s:3:"177";s:3:"ris";s:3:"178";s:3:"za ";s:3:"179";s:4:"zák";s:3:"180";s:3:" k ";s:3:"181";s:3:"at ";s:3:"182";s:4:"cký";s:3:"183";s:3:"dno";s:3:"184";s:3:"dos";s:3:"185";s:3:"dy ";s:3:"186";s:3:"jak";s:3:"187";s:3:"kov";s:3:"188";s:3:"ny ";s:3:"189";s:3:"res";s:3:"190";s:3:"ror";s:3:"191";s:3:"sto";s:3:"192";s:3:"van";s:3:"193";s:3:" op";s:3:"194";s:3:"da ";s:3:"195";s:3:"do ";s:3:"196";s:3:"e j";s:3:"197";s:3:"hod";s:3:"198";s:3:"len";s:3:"199";s:4:"ný ";s:3:"200";s:3:"o z";s:3:"201";s:3:"poz";s:3:"202";s:3:"pri";s:3:"203";s:3:"ran";s:3:"204";s:3:"u s";s:3:"205";s:3:" ab";s:3:"206";s:3:"aj ";s:3:"207";s:3:"ast";s:3:"208";s:3:"it ";s:3:"209";s:3:"kto";s:3:"210";s:3:"o o";s:3:"211";s:3:"oby";s:3:"212";s:3:"odo";s:3:"213";s:3:"u p";s:3:"214";s:3:"va ";s:3:"215";s:5:"ání";s:3:"216";s:4:"í p";s:3:"217";s:4:"ým ";s:3:"218";s:3:" in";s:3:"219";s:3:" mi";s:3:"220";s:4:"ať ";s:3:"221";s:3:"dov";s:3:"222";s:3:"ka ";s:3:"223";s:3:"nsk";s:3:"224";s:4:"áln";s:3:"225";s:3:" an";s:3:"226";s:3:" bu";s:3:"227";s:3:" sl";s:3:"228";s:3:" tr";s:3:"229";s:3:"e m";s:3:"230";s:3:"ech";s:3:"231";s:3:"edn";s:3:"232";s:3:"i n";s:3:"233";s:4:"kýc";s:3:"234";s:4:"níc";s:3:"235";s:3:"ov ";s:3:"236";s:5:"pří";s:3:"237";s:4:"í a";s:3:"238";s:3:" aj";s:3:"239";s:3:" bo";s:3:"240";s:3:"a d";s:3:"241";s:3:"ide";s:3:"242";s:3:"o a";s:3:"243";s:3:"o d";s:3:"244";s:3:"och";s:3:"245";s:3:"pov";s:3:"246";s:3:"svo";s:3:"247";s:4:"é s";s:3:"248";s:3:" kd";s:3:"249";s:3:" vo";s:3:"250";s:4:" vý";s:3:"251";s:3:"bud";s:3:"252";s:3:"ich";s:3:"253";s:3:"il ";s:3:"254";s:3:"ili";s:3:"255";s:3:"ni ";s:3:"256";s:4:"ním";s:3:"257";s:3:"od ";s:3:"258";s:3:"osl";s:3:"259";s:3:"ouh";s:3:"260";s:3:"rav";s:3:"261";s:3:"roz";s:3:"262";s:3:"st ";s:3:"263";s:3:"stv";s:3:"264";s:3:"tu ";s:3:"265";s:3:"u a";s:3:"266";s:4:"vál";s:3:"267";s:3:"y s";s:3:"268";s:4:"í s";s:3:"269";s:4:"í v";s:3:"270";s:3:" hl";s:3:"271";s:3:" li";s:3:"272";s:3:" me";s:3:"273";s:3:"a m";s:3:"274";s:3:"e b";s:3:"275";s:3:"h s";s:3:"276";s:3:"i p";s:3:"277";s:3:"i s";s:3:"278";s:3:"iti";s:3:"279";s:4:"lád";s:3:"280";s:3:"nem";s:3:"281";s:3:"nov";s:3:"282";s:3:"opo";s:3:"283";s:3:"uhl";s:3:"284";s:3:"eno";s:3:"285";s:3:"ens";s:3:"286";s:3:"men";s:3:"287";s:3:"nes";s:3:"288";s:3:"obo";s:3:"289";s:3:"te ";s:3:"290";s:3:"ved";s:3:"291";s:4:"vlá";s:3:"292";s:3:"y n";s:3:"293";s:3:" ma";s:3:"294";s:3:" mu";s:3:"295";s:4:" vá";s:3:"296";s:3:"bez";s:3:"297";s:3:"byv";s:3:"298";s:3:"cho";s:3:"299";}s:7:"slovene";a:300:{s:3:"je ";s:1:"0";s:3:" pr";s:1:"1";s:3:" po";s:1:"2";s:3:" je";s:1:"3";s:3:" v ";s:1:"4";s:3:" za";s:1:"5";s:3:" na";s:1:"6";s:3:"pre";s:1:"7";s:3:"da ";s:1:"8";s:3:" da";s:1:"9";s:3:"ki ";s:2:"10";s:3:"ti ";s:2:"11";s:3:"ja ";s:2:"12";s:3:"ne ";s:2:"13";s:3:" in";s:2:"14";s:3:"in ";s:2:"15";s:3:"li ";s:2:"16";s:3:"no ";s:2:"17";s:3:"na ";s:2:"18";s:3:"ni ";s:2:"19";s:3:" bi";s:2:"20";s:3:"jo ";s:2:"21";s:3:" ne";s:2:"22";s:3:"nje";s:2:"23";s:3:"e p";s:2:"24";s:3:"i p";s:2:"25";s:3:"pri";s:2:"26";s:3:"o p";s:2:"27";s:3:"red";s:2:"28";s:3:" do";s:2:"29";s:3:"anj";s:2:"30";s:3:"em ";s:2:"31";s:3:"ih ";s:2:"32";s:3:" bo";s:2:"33";s:3:" ki";s:2:"34";s:3:" iz";s:2:"35";s:3:" se";s:2:"36";s:3:" so";s:2:"37";s:3:"al ";s:2:"38";s:3:" de";s:2:"39";s:3:"e v";s:2:"40";s:3:"i s";s:2:"41";s:3:"ko ";s:2:"42";s:3:"bil";s:2:"43";s:3:"ira";s:2:"44";s:3:"ove";s:2:"45";s:3:" br";s:2:"46";s:3:" ob";s:2:"47";s:3:"e b";s:2:"48";s:3:"i n";s:2:"49";s:3:"ova";s:2:"50";s:3:"se ";s:2:"51";s:3:"za ";s:2:"52";s:3:"la ";s:2:"53";s:3:" ja";s:2:"54";s:3:"ati";s:2:"55";s:3:"so ";s:2:"56";s:3:"ter";s:2:"57";s:3:" ta";s:2:"58";s:3:"a s";s:2:"59";s:3:"del";s:2:"60";s:3:"e d";s:2:"61";s:3:" dr";s:2:"62";s:3:" od";s:2:"63";s:3:"a n";s:2:"64";s:3:"ar ";s:2:"65";s:3:"jal";s:2:"66";s:3:"ji ";s:2:"67";s:3:"rit";s:2:"68";s:3:" ka";s:2:"69";s:3:" ko";s:2:"70";s:3:" pa";s:2:"71";s:3:"a b";s:2:"72";s:3:"ani";s:2:"73";s:3:"e s";s:2:"74";s:3:"er ";s:2:"75";s:3:"ili";s:2:"76";s:3:"lov";s:2:"77";s:3:"o v";s:2:"78";s:3:"tov";s:2:"79";s:3:" ir";s:2:"80";s:3:" ni";s:2:"81";s:3:" vo";s:2:"82";s:3:"a j";s:2:"83";s:3:"bi ";s:2:"84";s:3:"bri";s:2:"85";s:3:"iti";s:2:"86";s:3:"let";s:2:"87";s:3:"o n";s:2:"88";s:3:"tan";s:2:"89";s:4:"še ";s:2:"90";s:3:" le";s:2:"91";s:3:" te";s:2:"92";s:3:"eni";s:2:"93";s:3:"eri";s:2:"94";s:3:"ita";s:2:"95";s:3:"kat";s:2:"96";s:3:"por";s:2:"97";s:3:"pro";s:2:"98";s:3:"ali";s:2:"99";s:3:"ke ";s:3:"100";s:3:"oli";s:3:"101";s:3:"ov ";s:3:"102";s:3:"pra";s:3:"103";s:3:"ri ";s:3:"104";s:3:"uar";s:3:"105";s:3:"ve ";s:3:"106";s:3:" to";s:3:"107";s:3:"a i";s:3:"108";s:3:"a v";s:3:"109";s:3:"ako";s:3:"110";s:3:"arj";s:3:"111";s:3:"ate";s:3:"112";s:3:"di ";s:3:"113";s:3:"do ";s:3:"114";s:3:"ga ";s:3:"115";s:3:"le ";s:3:"116";s:3:"lo ";s:3:"117";s:3:"mer";s:3:"118";s:3:"o s";s:3:"119";s:3:"oda";s:3:"120";s:3:"oro";s:3:"121";s:3:"pod";s:3:"122";s:3:" ma";s:3:"123";s:3:" mo";s:3:"124";s:3:" si";s:3:"125";s:3:"a p";s:3:"126";s:3:"bod";s:3:"127";s:3:"e n";s:3:"128";s:3:"ega";s:3:"129";s:3:"ju ";s:3:"130";s:3:"ka ";s:3:"131";s:3:"lje";s:3:"132";s:3:"rav";s:3:"133";s:3:"ta ";s:3:"134";s:3:"a o";s:3:"135";s:3:"e t";s:3:"136";s:3:"e z";s:3:"137";s:3:"i d";s:3:"138";s:3:"i v";s:3:"139";s:3:"ila";s:3:"140";s:3:"lit";s:3:"141";s:3:"nih";s:3:"142";s:3:"odo";s:3:"143";s:3:"sti";s:3:"144";s:3:"to ";s:3:"145";s:3:"var";s:3:"146";s:3:"ved";s:3:"147";s:3:"vol";s:3:"148";s:3:" la";s:3:"149";s:3:" no";s:3:"150";s:3:" vs";s:3:"151";s:3:"a d";s:3:"152";s:3:"agu";s:3:"153";s:3:"aja";s:3:"154";s:3:"dej";s:3:"155";s:3:"dnj";s:3:"156";s:3:"eda";s:3:"157";s:3:"gov";s:3:"158";s:3:"gua";s:3:"159";s:3:"jag";s:3:"160";s:3:"jem";s:3:"161";s:3:"kon";s:3:"162";s:3:"ku ";s:3:"163";s:3:"nij";s:3:"164";s:3:"omo";s:3:"165";s:4:"oči";s:3:"166";s:3:"pov";s:3:"167";s:3:"rak";s:3:"168";s:3:"rja";s:3:"169";s:3:"sta";s:3:"170";s:3:"tev";s:3:"171";s:3:"a t";s:3:"172";s:3:"aj ";s:3:"173";s:3:"ed ";s:3:"174";s:3:"eja";s:3:"175";s:3:"ent";s:3:"176";s:3:"ev ";s:3:"177";s:3:"i i";s:3:"178";s:3:"i o";s:3:"179";s:3:"ijo";s:3:"180";s:3:"ist";s:3:"181";s:3:"ost";s:3:"182";s:3:"ske";s:3:"183";s:3:"str";s:3:"184";s:3:" ra";s:3:"185";s:3:" s ";s:3:"186";s:3:" tr";s:3:"187";s:4:" še";s:3:"188";s:3:"arn";s:3:"189";s:3:"bo ";s:3:"190";s:4:"drž";s:3:"191";s:3:"i j";s:3:"192";s:3:"ilo";s:3:"193";s:3:"izv";s:3:"194";s:3:"jen";s:3:"195";s:3:"lja";s:3:"196";s:3:"nsk";s:3:"197";s:3:"o d";s:3:"198";s:3:"o i";s:3:"199";s:3:"om ";s:3:"200";s:3:"ora";s:3:"201";s:3:"ovo";s:3:"202";s:3:"raz";s:3:"203";s:4:"rža";s:3:"204";s:3:"tak";s:3:"205";s:3:"va ";s:3:"206";s:3:"ven";s:3:"207";s:4:"žav";s:3:"208";s:3:" me";s:3:"209";s:4:" če";s:3:"210";s:3:"ame";s:3:"211";s:3:"avi";s:3:"212";s:3:"e i";s:3:"213";s:3:"e o";s:3:"214";s:3:"eka";s:3:"215";s:3:"gre";s:3:"216";s:3:"i t";s:3:"217";s:3:"ija";s:3:"218";s:3:"il ";s:3:"219";s:3:"ite";s:3:"220";s:3:"kra";s:3:"221";s:3:"lju";s:3:"222";s:3:"mor";s:3:"223";s:3:"nik";s:3:"224";s:3:"o t";s:3:"225";s:3:"obi";s:3:"226";s:3:"odn";s:3:"227";s:3:"ran";s:3:"228";s:3:"re ";s:3:"229";s:3:"sto";s:3:"230";s:3:"stv";s:3:"231";s:3:"udi";s:3:"232";s:3:"v i";s:3:"233";s:3:"van";s:3:"234";s:3:" am";s:3:"235";s:3:" sp";s:3:"236";s:3:" st";s:3:"237";s:3:" tu";s:3:"238";s:3:" ve";s:3:"239";s:4:" že";s:3:"240";s:3:"ajo";s:3:"241";s:3:"ale";s:3:"242";s:3:"apo";s:3:"243";s:3:"dal";s:3:"244";s:3:"dru";s:3:"245";s:3:"e j";s:3:"246";s:3:"edn";s:3:"247";s:3:"ejo";s:3:"248";s:3:"elo";s:3:"249";s:3:"est";s:3:"250";s:3:"etj";s:3:"251";s:3:"eva";s:3:"252";s:3:"iji";s:3:"253";s:3:"ik ";s:3:"254";s:3:"im ";s:3:"255";s:3:"itv";s:3:"256";s:3:"mob";s:3:"257";s:3:"nap";s:3:"258";s:3:"nek";s:3:"259";s:3:"pol";s:3:"260";s:3:"pos";s:3:"261";s:3:"rat";s:3:"262";s:3:"ski";s:3:"263";s:4:"tič";s:3:"264";s:3:"tom";s:3:"265";s:3:"ton";s:3:"266";s:3:"tra";s:3:"267";s:3:"tud";s:3:"268";s:3:"tve";s:3:"269";s:3:"v b";s:3:"270";s:3:"vil";s:3:"271";s:3:"vse";s:3:"272";s:4:"čit";s:3:"273";s:3:" av";s:3:"274";s:3:" gr";s:3:"275";s:3:"a z";s:3:"276";s:3:"ans";s:3:"277";s:3:"ast";s:3:"278";s:3:"avt";s:3:"279";s:3:"dan";s:3:"280";s:3:"e m";s:3:"281";s:3:"eds";s:3:"282";s:3:"for";s:3:"283";s:3:"i z";s:3:"284";s:3:"kot";s:3:"285";s:3:"mi ";s:3:"286";s:3:"nim";s:3:"287";s:3:"o b";s:3:"288";s:3:"o o";s:3:"289";s:3:"od ";s:3:"290";s:3:"odl";s:3:"291";s:3:"oiz";s:3:"292";s:3:"ot ";s:3:"293";s:3:"par";s:3:"294";s:3:"pot";s:3:"295";s:3:"rje";s:3:"296";s:3:"roi";s:3:"297";s:3:"tem";s:3:"298";s:3:"val";s:3:"299";}s:6:"somali";a:300:{s:3:"ka ";s:1:"0";s:3:"ay ";s:1:"1";s:3:"da ";s:1:"2";s:3:" ay";s:1:"3";s:3:"aal";s:1:"4";s:3:"oo ";s:1:"5";s:3:"aan";s:1:"6";s:3:" ka";s:1:"7";s:3:"an ";s:1:"8";s:3:"in ";s:1:"9";s:3:" in";s:2:"10";s:3:"ada";s:2:"11";s:3:"maa";s:2:"12";s:3:"aba";s:2:"13";s:3:" so";s:2:"14";s:3:"ali";s:2:"15";s:3:"bad";s:2:"16";s:3:"add";s:2:"17";s:3:"soo";s:2:"18";s:3:" na";s:2:"19";s:3:"aha";s:2:"20";s:3:"ku ";s:2:"21";s:3:"ta ";s:2:"22";s:3:" wa";s:2:"23";s:3:"yo ";s:2:"24";s:3:"a s";s:2:"25";s:3:"oma";s:2:"26";s:3:"yaa";s:2:"27";s:3:" ba";s:2:"28";s:3:" ku";s:2:"29";s:3:" la";s:2:"30";s:3:" oo";s:2:"31";s:3:"iya";s:2:"32";s:3:"sha";s:2:"33";s:3:"a a";s:2:"34";s:3:"dda";s:2:"35";s:3:"nab";s:2:"36";s:3:"nta";s:2:"37";s:3:" da";s:2:"38";s:3:" ma";s:2:"39";s:3:"nka";s:2:"40";s:3:"uu ";s:2:"41";s:3:"y i";s:2:"42";s:3:"aya";s:2:"43";s:3:"ha ";s:2:"44";s:3:"raa";s:2:"45";s:3:" dh";s:2:"46";s:3:" qa";s:2:"47";s:3:"a k";s:2:"48";s:3:"ala";s:2:"49";s:3:"baa";s:2:"50";s:3:"doo";s:2:"51";s:3:"had";s:2:"52";s:3:"liy";s:2:"53";s:3:"oom";s:2:"54";s:3:" ha";s:2:"55";s:3:" sh";s:2:"56";s:3:"a d";s:2:"57";s:3:"a i";s:2:"58";s:3:"a n";s:2:"59";s:3:"aar";s:2:"60";s:3:"ee ";s:2:"61";s:3:"ey ";s:2:"62";s:3:"y k";s:2:"63";s:3:"ya ";s:2:"64";s:3:" ee";s:2:"65";s:3:" iy";s:2:"66";s:3:"aa ";s:2:"67";s:3:"aaq";s:2:"68";s:3:"gaa";s:2:"69";s:3:"lam";s:2:"70";s:3:" bu";s:2:"71";s:3:"a b";s:2:"72";s:3:"a m";s:2:"73";s:3:"ad ";s:2:"74";s:3:"aga";s:2:"75";s:3:"ama";s:2:"76";s:3:"iyo";s:2:"77";s:3:"la ";s:2:"78";s:3:"a c";s:2:"79";s:3:"a l";s:2:"80";s:3:"een";s:2:"81";s:3:"int";s:2:"82";s:3:"she";s:2:"83";s:3:"wax";s:2:"84";s:3:"yee";s:2:"85";s:3:" si";s:2:"86";s:3:" uu";s:2:"87";s:3:"a h";s:2:"88";s:3:"aas";s:2:"89";s:3:"alk";s:2:"90";s:3:"dha";s:2:"91";s:3:"gu ";s:2:"92";s:3:"hee";s:2:"93";s:3:"ii ";s:2:"94";s:3:"ira";s:2:"95";s:3:"mad";s:2:"96";s:3:"o a";s:2:"97";s:3:"o k";s:2:"98";s:3:"qay";s:2:"99";s:3:" ah";s:3:"100";s:3:" ca";s:3:"101";s:3:" wu";s:3:"102";s:3:"ank";s:3:"103";s:3:"ash";s:3:"104";s:3:"axa";s:3:"105";s:3:"eed";s:3:"106";s:3:"en ";s:3:"107";s:3:"ga ";s:3:"108";s:3:"haa";s:3:"109";s:3:"n a";s:3:"110";s:3:"n s";s:3:"111";s:3:"naa";s:3:"112";s:3:"nay";s:3:"113";s:3:"o d";s:3:"114";s:3:"taa";s:3:"115";s:3:"u b";s:3:"116";s:3:"uxu";s:3:"117";s:3:"wux";s:3:"118";s:3:"xuu";s:3:"119";s:3:" ci";s:3:"120";s:3:" do";s:3:"121";s:3:" ho";s:3:"122";s:3:" ta";s:3:"123";s:3:"a g";s:3:"124";s:3:"a u";s:3:"125";s:3:"ana";s:3:"126";s:3:"ayo";s:3:"127";s:3:"dhi";s:3:"128";s:3:"iin";s:3:"129";s:3:"lag";s:3:"130";s:3:"lin";s:3:"131";s:3:"lka";s:3:"132";s:3:"o i";s:3:"133";s:3:"san";s:3:"134";s:3:"u s";s:3:"135";s:3:"una";s:3:"136";s:3:"uun";s:3:"137";s:3:" ga";s:3:"138";s:3:" xa";s:3:"139";s:3:" xu";s:3:"140";s:3:"aab";s:3:"141";s:3:"abt";s:3:"142";s:3:"aq ";s:3:"143";s:3:"aqa";s:3:"144";s:3:"ara";s:3:"145";s:3:"arl";s:3:"146";s:3:"caa";s:3:"147";s:3:"cir";s:3:"148";s:3:"eeg";s:3:"149";s:3:"eel";s:3:"150";s:3:"isa";s:3:"151";s:3:"kal";s:3:"152";s:3:"lah";s:3:"153";s:3:"ney";s:3:"154";s:3:"qaa";s:3:"155";s:3:"rla";s:3:"156";s:3:"sad";s:3:"157";s:3:"sii";s:3:"158";s:3:"u d";s:3:"159";s:3:"wad";s:3:"160";s:3:" ad";s:3:"161";s:3:" ar";s:3:"162";s:3:" di";s:3:"163";s:3:" jo";s:3:"164";s:3:" ra";s:3:"165";s:3:" sa";s:3:"166";s:3:" u ";s:3:"167";s:3:" yi";s:3:"168";s:3:"a j";s:3:"169";s:3:"a q";s:3:"170";s:3:"aad";s:3:"171";s:3:"aat";s:3:"172";s:3:"aay";s:3:"173";s:3:"ah ";s:3:"174";s:3:"ale";s:3:"175";s:3:"amk";s:3:"176";s:3:"ari";s:3:"177";s:3:"as ";s:3:"178";s:3:"aye";s:3:"179";s:3:"bus";s:3:"180";s:3:"dal";s:3:"181";s:3:"ddu";s:3:"182";s:3:"dii";s:3:"183";s:3:"du ";s:3:"184";s:3:"duu";s:3:"185";s:3:"ed ";s:3:"186";s:3:"ege";s:3:"187";s:3:"gey";s:3:"188";s:3:"hay";s:3:"189";s:3:"hii";s:3:"190";s:3:"ida";s:3:"191";s:3:"ine";s:3:"192";s:3:"joo";s:3:"193";s:3:"laa";s:3:"194";s:3:"lay";s:3:"195";s:3:"mar";s:3:"196";s:3:"mee";s:3:"197";s:3:"n b";s:3:"198";s:3:"n d";s:3:"199";s:3:"n m";s:3:"200";s:3:"no ";s:3:"201";s:3:"o b";s:3:"202";s:3:"o l";s:3:"203";s:3:"oog";s:3:"204";s:3:"oon";s:3:"205";s:3:"rga";s:3:"206";s:3:"sh ";s:3:"207";s:3:"sid";s:3:"208";s:3:"u q";s:3:"209";s:3:"unk";s:3:"210";s:3:"ush";s:3:"211";s:3:"xa ";s:3:"212";s:3:"y d";s:3:"213";s:3:" bi";s:3:"214";s:3:" gu";s:3:"215";s:3:" is";s:3:"216";s:3:" ke";s:3:"217";s:3:" lo";s:3:"218";s:3:" me";s:3:"219";s:3:" mu";s:3:"220";s:3:" qo";s:3:"221";s:3:" ug";s:3:"222";s:3:"a e";s:3:"223";s:3:"a o";s:3:"224";s:3:"a w";s:3:"225";s:3:"adi";s:3:"226";s:3:"ado";s:3:"227";s:3:"agu";s:3:"228";s:3:"al ";s:3:"229";s:3:"ant";s:3:"230";s:3:"ark";s:3:"231";s:3:"asa";s:3:"232";s:3:"awi";s:3:"233";s:3:"bta";s:3:"234";s:3:"bul";s:3:"235";s:3:"d a";s:3:"236";s:3:"dag";s:3:"237";s:3:"dan";s:3:"238";s:3:"do ";s:3:"239";s:3:"e s";s:3:"240";s:3:"gal";s:3:"241";s:3:"gay";s:3:"242";s:3:"guu";s:3:"243";s:3:"h e";s:3:"244";s:3:"hal";s:3:"245";s:3:"iga";s:3:"246";s:3:"ihi";s:3:"247";s:3:"iri";s:3:"248";s:3:"iye";s:3:"249";s:3:"ken";s:3:"250";s:3:"lad";s:3:"251";s:3:"lid";s:3:"252";s:3:"lsh";s:3:"253";s:3:"mag";s:3:"254";s:3:"mun";s:3:"255";s:3:"n h";s:3:"256";s:3:"n i";s:3:"257";s:3:"na ";s:3:"258";s:3:"o n";s:3:"259";s:3:"o w";s:3:"260";s:3:"ood";s:3:"261";s:3:"oor";s:3:"262";s:3:"ora";s:3:"263";s:3:"qab";s:3:"264";s:3:"qor";s:3:"265";s:3:"rab";s:3:"266";s:3:"rit";s:3:"267";s:3:"rta";s:3:"268";s:3:"s o";s:3:"269";s:3:"sab";s:3:"270";s:3:"ska";s:3:"271";s:3:"to ";s:3:"272";s:3:"u a";s:3:"273";s:3:"u h";s:3:"274";s:3:"u u";s:3:"275";s:3:"ud ";s:3:"276";s:3:"ugu";s:3:"277";s:3:"uls";s:3:"278";s:3:"uud";s:3:"279";s:3:"waa";s:3:"280";s:3:"xus";s:3:"281";s:3:"y b";s:3:"282";s:3:"y q";s:3:"283";s:3:"y s";s:3:"284";s:3:"yad";s:3:"285";s:3:"yay";s:3:"286";s:3:"yih";s:3:"287";s:3:" aa";s:3:"288";s:3:" bo";s:3:"289";s:3:" br";s:3:"290";s:3:" go";s:3:"291";s:3:" ji";s:3:"292";s:3:" mi";s:3:"293";s:3:" of";s:3:"294";s:3:" ti";s:3:"295";s:3:" um";s:3:"296";s:3:" wi";s:3:"297";s:3:" xo";s:3:"298";s:3:"a x";s:3:"299";}s:7:"spanish";a:300:{s:3:" de";s:1:"0";s:3:"de ";s:1:"1";s:3:" la";s:1:"2";s:3:"os ";s:1:"3";s:3:"la ";s:1:"4";s:3:"el ";s:1:"5";s:3:"es ";s:1:"6";s:3:" qu";s:1:"7";s:3:" co";s:1:"8";s:3:"e l";s:1:"9";s:3:"as ";s:2:"10";s:3:"que";s:2:"11";s:3:" el";s:2:"12";s:3:"ue ";s:2:"13";s:3:"en ";s:2:"14";s:3:"ent";s:2:"15";s:3:" en";s:2:"16";s:3:" se";s:2:"17";s:3:"nte";s:2:"18";s:3:"res";s:2:"19";s:3:"con";s:2:"20";s:3:"est";s:2:"21";s:3:" es";s:2:"22";s:3:"s d";s:2:"23";s:3:" lo";s:2:"24";s:3:" pr";s:2:"25";s:3:"los";s:2:"26";s:3:" y ";s:2:"27";s:3:"do ";s:2:"28";s:4:"ón ";s:2:"29";s:4:"ión";s:2:"30";s:3:" un";s:2:"31";s:4:"ció";s:2:"32";s:3:"del";s:2:"33";s:3:"o d";s:2:"34";s:3:" po";s:2:"35";s:3:"a d";s:2:"36";s:3:"aci";s:2:"37";s:3:"sta";s:2:"38";s:3:"te ";s:2:"39";s:3:"ado";s:2:"40";s:3:"pre";s:2:"41";s:3:"to ";s:2:"42";s:3:"par";s:2:"43";s:3:"a e";s:2:"44";s:3:"a l";s:2:"45";s:3:"ra ";s:2:"46";s:3:"al ";s:2:"47";s:3:"e e";s:2:"48";s:3:"se ";s:2:"49";s:3:"pro";s:2:"50";s:3:"ar ";s:2:"51";s:3:"ia ";s:2:"52";s:3:"o e";s:2:"53";s:3:" re";s:2:"54";s:3:"ida";s:2:"55";s:3:"dad";s:2:"56";s:3:"tra";s:2:"57";s:3:"por";s:2:"58";s:3:"s p";s:2:"59";s:3:" a ";s:2:"60";s:3:"a p";s:2:"61";s:3:"ara";s:2:"62";s:3:"cia";s:2:"63";s:3:" pa";s:2:"64";s:3:"com";s:2:"65";s:3:"no ";s:2:"66";s:3:" di";s:2:"67";s:3:" in";s:2:"68";s:3:"ien";s:2:"69";s:3:"n l";s:2:"70";s:3:"ad ";s:2:"71";s:3:"ant";s:2:"72";s:3:"e s";s:2:"73";s:3:"men";s:2:"74";s:3:"a c";s:2:"75";s:3:"on ";s:2:"76";s:3:"un ";s:2:"77";s:3:"las";s:2:"78";s:3:"nci";s:2:"79";s:3:" tr";s:2:"80";s:3:"cio";s:2:"81";s:3:"ier";s:2:"82";s:3:"nto";s:2:"83";s:3:"tiv";s:2:"84";s:3:"n d";s:2:"85";s:3:"n e";s:2:"86";s:3:"or ";s:2:"87";s:3:"s c";s:2:"88";s:3:"enc";s:2:"89";s:3:"ern";s:2:"90";s:3:"io ";s:2:"91";s:3:"a s";s:2:"92";s:3:"ici";s:2:"93";s:3:"s e";s:2:"94";s:3:" ma";s:2:"95";s:3:"dos";s:2:"96";s:3:"e a";s:2:"97";s:3:"e c";s:2:"98";s:3:"emp";s:2:"99";s:3:"ica";s:3:"100";s:3:"ivo";s:3:"101";s:3:"l p";s:3:"102";s:3:"n c";s:3:"103";s:3:"r e";s:3:"104";s:3:"ta ";s:3:"105";s:3:"ter";s:3:"106";s:3:"e d";s:3:"107";s:3:"esa";s:3:"108";s:3:"ez ";s:3:"109";s:3:"mpr";s:3:"110";s:3:"o a";s:3:"111";s:3:"s a";s:3:"112";s:3:" ca";s:3:"113";s:3:" su";s:3:"114";s:3:"ion";s:3:"115";s:3:" cu";s:3:"116";s:3:" ju";s:3:"117";s:3:"an ";s:3:"118";s:3:"da ";s:3:"119";s:3:"ene";s:3:"120";s:3:"ero";s:3:"121";s:3:"na ";s:3:"122";s:3:"rec";s:3:"123";s:3:"ro ";s:3:"124";s:3:"tar";s:3:"125";s:3:" al";s:3:"126";s:3:" an";s:3:"127";s:3:"bie";s:3:"128";s:3:"e p";s:3:"129";s:3:"er ";s:3:"130";s:3:"l c";s:3:"131";s:3:"n p";s:3:"132";s:3:"omp";s:3:"133";s:3:"ten";s:3:"134";s:3:" em";s:3:"135";s:3:"ist";s:3:"136";s:3:"nes";s:3:"137";s:3:"nta";s:3:"138";s:3:"o c";s:3:"139";s:3:"so ";s:3:"140";s:3:"tes";s:3:"141";s:3:"era";s:3:"142";s:3:"l d";s:3:"143";s:3:"l m";s:3:"144";s:3:"les";s:3:"145";s:3:"ntr";s:3:"146";s:3:"o s";s:3:"147";s:3:"ore";s:3:"148";s:4:"rá ";s:3:"149";s:3:"s q";s:3:"150";s:3:"s y";s:3:"151";s:3:"sto";s:3:"152";s:3:"a a";s:3:"153";s:3:"a r";s:3:"154";s:3:"ari";s:3:"155";s:3:"des";s:3:"156";s:3:"e q";s:3:"157";s:3:"ivi";s:3:"158";s:3:"lic";s:3:"159";s:3:"lo ";s:3:"160";s:3:"n a";s:3:"161";s:3:"one";s:3:"162";s:3:"ora";s:3:"163";s:3:"per";s:3:"164";s:3:"pue";s:3:"165";s:3:"r l";s:3:"166";s:3:"re ";s:3:"167";s:3:"ren";s:3:"168";s:3:"una";s:3:"169";s:4:"ía ";s:3:"170";s:3:"ada";s:3:"171";s:3:"cas";s:3:"172";s:3:"ere";s:3:"173";s:3:"ide";s:3:"174";s:3:"min";s:3:"175";s:3:"n s";s:3:"176";s:3:"ndo";s:3:"177";s:3:"ran";s:3:"178";s:3:"rno";s:3:"179";s:3:" ac";s:3:"180";s:3:" ex";s:3:"181";s:3:" go";s:3:"182";s:3:" no";s:3:"183";s:3:"a t";s:3:"184";s:3:"aba";s:3:"185";s:3:"ble";s:3:"186";s:3:"ece";s:3:"187";s:3:"ect";s:3:"188";s:3:"l a";s:3:"189";s:3:"l g";s:3:"190";s:3:"lid";s:3:"191";s:3:"nsi";s:3:"192";s:3:"ons";s:3:"193";s:3:"rac";s:3:"194";s:3:"rio";s:3:"195";s:3:"str";s:3:"196";s:3:"uer";s:3:"197";s:3:"ust";s:3:"198";s:3:" ha";s:3:"199";s:3:" le";s:3:"200";s:3:" mi";s:3:"201";s:3:" mu";s:3:"202";s:3:" ob";s:3:"203";s:3:" pe";s:3:"204";s:3:" pu";s:3:"205";s:3:" so";s:3:"206";s:3:"a i";s:3:"207";s:3:"ale";s:3:"208";s:3:"ca ";s:3:"209";s:3:"cto";s:3:"210";s:3:"e i";s:3:"211";s:3:"e u";s:3:"212";s:3:"eso";s:3:"213";s:3:"fer";s:3:"214";s:3:"fic";s:3:"215";s:3:"gob";s:3:"216";s:3:"jo ";s:3:"217";s:3:"ma ";s:3:"218";s:3:"mpl";s:3:"219";s:3:"o p";s:3:"220";s:3:"obi";s:3:"221";s:3:"s m";s:3:"222";s:3:"sa ";s:3:"223";s:3:"sep";s:3:"224";s:3:"ste";s:3:"225";s:3:"sti";s:3:"226";s:3:"tad";s:3:"227";s:3:"tod";s:3:"228";s:3:"y s";s:3:"229";s:3:" ci";s:3:"230";s:3:"and";s:3:"231";s:3:"ces";s:3:"232";s:4:"có ";s:3:"233";s:3:"dor";s:3:"234";s:3:"e m";s:3:"235";s:3:"eci";s:3:"236";s:3:"eco";s:3:"237";s:3:"esi";s:3:"238";s:3:"int";s:3:"239";s:3:"iza";s:3:"240";s:3:"l e";s:3:"241";s:3:"lar";s:3:"242";s:3:"mie";s:3:"243";s:3:"ner";s:3:"244";s:3:"orc";s:3:"245";s:3:"rci";s:3:"246";s:3:"ria";s:3:"247";s:3:"tic";s:3:"248";s:3:"tor";s:3:"249";s:3:" as";s:3:"250";s:3:" si";s:3:"251";s:3:"ce ";s:3:"252";s:3:"den";s:3:"253";s:3:"e r";s:3:"254";s:3:"e t";s:3:"255";s:3:"end";s:3:"256";s:3:"eri";s:3:"257";s:3:"esp";s:3:"258";s:3:"ial";s:3:"259";s:3:"ido";s:3:"260";s:3:"ina";s:3:"261";s:3:"inc";s:3:"262";s:3:"mit";s:3:"263";s:3:"o l";s:3:"264";s:3:"ome";s:3:"265";s:3:"pli";s:3:"266";s:3:"ras";s:3:"267";s:3:"s t";s:3:"268";s:3:"sid";s:3:"269";s:3:"sup";s:3:"270";s:3:"tab";s:3:"271";s:3:"uen";s:3:"272";s:3:"ues";s:3:"273";s:3:"ura";s:3:"274";s:3:"vo ";s:3:"275";s:3:"vor";s:3:"276";s:3:" sa";s:3:"277";s:3:" ti";s:3:"278";s:3:"abl";s:3:"279";s:3:"ali";s:3:"280";s:3:"aso";s:3:"281";s:3:"ast";s:3:"282";s:3:"cor";s:3:"283";s:3:"cti";s:3:"284";s:3:"cue";s:3:"285";s:3:"div";s:3:"286";s:3:"duc";s:3:"287";s:3:"ens";s:3:"288";s:3:"eti";s:3:"289";s:3:"imi";s:3:"290";s:3:"ini";s:3:"291";s:3:"lec";s:3:"292";s:3:"o q";s:3:"293";s:3:"oce";s:3:"294";s:3:"ort";s:3:"295";s:3:"ral";s:3:"296";s:3:"rma";s:3:"297";s:3:"roc";s:3:"298";s:3:"rod";s:3:"299";}s:7:"swahili";a:300:{s:3:" wa";s:1:"0";s:3:"wa ";s:1:"1";s:3:"a k";s:1:"2";s:3:"a m";s:1:"3";s:3:" ku";s:1:"4";s:3:" ya";s:1:"5";s:3:"a w";s:1:"6";s:3:"ya ";s:1:"7";s:3:"ni ";s:1:"8";s:3:" ma";s:1:"9";s:3:"ka ";s:2:"10";s:3:"a u";s:2:"11";s:3:"na ";s:2:"12";s:3:"za ";s:2:"13";s:3:"ia ";s:2:"14";s:3:" na";s:2:"15";s:3:"ika";s:2:"16";s:3:"ma ";s:2:"17";s:3:"ali";s:2:"18";s:3:"a n";s:2:"19";s:3:" am";s:2:"20";s:3:"ili";s:2:"21";s:3:"kwa";s:2:"22";s:3:" kw";s:2:"23";s:3:"ini";s:2:"24";s:3:" ha";s:2:"25";s:3:"ame";s:2:"26";s:3:"ana";s:2:"27";s:3:"i n";s:2:"28";s:3:" za";s:2:"29";s:3:"a h";s:2:"30";s:3:"ema";s:2:"31";s:3:"i m";s:2:"32";s:3:"i y";s:2:"33";s:3:"kuw";s:2:"34";s:3:"la ";s:2:"35";s:3:"o w";s:2:"36";s:3:"a y";s:2:"37";s:3:"ata";s:2:"38";s:3:"sem";s:2:"39";s:3:" la";s:2:"40";s:3:"ati";s:2:"41";s:3:"chi";s:2:"42";s:3:"i w";s:2:"43";s:3:"uwa";s:2:"44";s:3:"aki";s:2:"45";s:3:"li ";s:2:"46";s:3:"eka";s:2:"47";s:3:"ira";s:2:"48";s:3:" nc";s:2:"49";s:3:"a s";s:2:"50";s:3:"iki";s:2:"51";s:3:"kat";s:2:"52";s:3:"nch";s:2:"53";s:3:" ka";s:2:"54";s:3:" ki";s:2:"55";s:3:"a b";s:2:"56";s:3:"aji";s:2:"57";s:3:"amb";s:2:"58";s:3:"ra ";s:2:"59";s:3:"ri ";s:2:"60";s:3:"rik";s:2:"61";s:3:"ada";s:2:"62";s:3:"mat";s:2:"63";s:3:"mba";s:2:"64";s:3:"mes";s:2:"65";s:3:"yo ";s:2:"66";s:3:"zi ";s:2:"67";s:3:"da ";s:2:"68";s:3:"hi ";s:2:"69";s:3:"i k";s:2:"70";s:3:"ja ";s:2:"71";s:3:"kut";s:2:"72";s:3:"tek";s:2:"73";s:3:"wan";s:2:"74";s:3:" bi";s:2:"75";s:3:"a a";s:2:"76";s:3:"aka";s:2:"77";s:3:"ao ";s:2:"78";s:3:"asi";s:2:"79";s:3:"cha";s:2:"80";s:3:"ese";s:2:"81";s:3:"eza";s:2:"82";s:3:"ke ";s:2:"83";s:3:"moj";s:2:"84";s:3:"oja";s:2:"85";s:3:" hi";s:2:"86";s:3:"a z";s:2:"87";s:3:"end";s:2:"88";s:3:"ha ";s:2:"89";s:3:"ji ";s:2:"90";s:3:"mu ";s:2:"91";s:3:"shi";s:2:"92";s:3:"wat";s:2:"93";s:3:" bw";s:2:"94";s:3:"ake";s:2:"95";s:3:"ara";s:2:"96";s:3:"bw ";s:2:"97";s:3:"i h";s:2:"98";s:3:"imb";s:2:"99";s:3:"tik";s:3:"100";s:3:"wak";s:3:"101";s:3:"wal";s:3:"102";s:3:" hu";s:3:"103";s:3:" mi";s:3:"104";s:3:" mk";s:3:"105";s:3:" ni";s:3:"106";s:3:" ra";s:3:"107";s:3:" um";s:3:"108";s:3:"a l";s:3:"109";s:3:"ate";s:3:"110";s:3:"esh";s:3:"111";s:3:"ina";s:3:"112";s:3:"ish";s:3:"113";s:3:"kim";s:3:"114";s:3:"o k";s:3:"115";s:3:" ir";s:3:"116";s:3:"a i";s:3:"117";s:3:"ala";s:3:"118";s:3:"ani";s:3:"119";s:3:"aq ";s:3:"120";s:3:"azi";s:3:"121";s:3:"hin";s:3:"122";s:3:"i a";s:3:"123";s:3:"idi";s:3:"124";s:3:"ima";s:3:"125";s:3:"ita";s:3:"126";s:3:"rai";s:3:"127";s:3:"raq";s:3:"128";s:3:"sha";s:3:"129";s:3:" ms";s:3:"130";s:3:" se";s:3:"131";s:3:"afr";s:3:"132";s:3:"ama";s:3:"133";s:3:"ano";s:3:"134";s:3:"ea ";s:3:"135";s:3:"ele";s:3:"136";s:3:"fri";s:3:"137";s:3:"go ";s:3:"138";s:3:"i i";s:3:"139";s:3:"ifa";s:3:"140";s:3:"iwa";s:3:"141";s:3:"iyo";s:3:"142";s:3:"kus";s:3:"143";s:3:"lia";s:3:"144";s:3:"lio";s:3:"145";s:3:"maj";s:3:"146";s:3:"mku";s:3:"147";s:3:"no ";s:3:"148";s:3:"tan";s:3:"149";s:3:"uli";s:3:"150";s:3:"uta";s:3:"151";s:3:"wen";s:3:"152";s:3:" al";s:3:"153";s:3:"a j";s:3:"154";s:3:"aad";s:3:"155";s:3:"aid";s:3:"156";s:3:"ari";s:3:"157";s:3:"awa";s:3:"158";s:3:"ba ";s:3:"159";s:3:"fa ";s:3:"160";s:3:"nde";s:3:"161";s:3:"nge";s:3:"162";s:3:"nya";s:3:"163";s:3:"o y";s:3:"164";s:3:"u w";s:3:"165";s:3:"ua ";s:3:"166";s:3:"umo";s:3:"167";s:3:"waz";s:3:"168";s:3:"ye ";s:3:"169";s:3:" ut";s:3:"170";s:3:" vi";s:3:"171";s:3:"a d";s:3:"172";s:3:"a t";s:3:"173";s:3:"aif";s:3:"174";s:3:"di ";s:3:"175";s:3:"ere";s:3:"176";s:3:"ing";s:3:"177";s:3:"kin";s:3:"178";s:3:"nda";s:3:"179";s:3:"o n";s:3:"180";s:3:"oa ";s:3:"181";s:3:"tai";s:3:"182";s:3:"toa";s:3:"183";s:3:"usa";s:3:"184";s:3:"uto";s:3:"185";s:3:"was";s:3:"186";s:3:"yak";s:3:"187";s:3:"zo ";s:3:"188";s:3:" ji";s:3:"189";s:3:" mw";s:3:"190";s:3:"a p";s:3:"191";s:3:"aia";s:3:"192";s:3:"amu";s:3:"193";s:3:"ang";s:3:"194";s:3:"bik";s:3:"195";s:3:"bo ";s:3:"196";s:3:"del";s:3:"197";s:3:"e w";s:3:"198";s:3:"ene";s:3:"199";s:3:"eng";s:3:"200";s:3:"ich";s:3:"201";s:3:"iri";s:3:"202";s:3:"iti";s:3:"203";s:3:"ito";s:3:"204";s:3:"ki ";s:3:"205";s:3:"kir";s:3:"206";s:3:"ko ";s:3:"207";s:3:"kuu";s:3:"208";s:3:"mar";s:3:"209";s:3:"mbo";s:3:"210";s:3:"mil";s:3:"211";s:3:"ngi";s:3:"212";s:3:"ngo";s:3:"213";s:3:"o l";s:3:"214";s:3:"ong";s:3:"215";s:3:"si ";s:3:"216";s:3:"ta ";s:3:"217";s:3:"tak";s:3:"218";s:3:"u y";s:3:"219";s:3:"umu";s:3:"220";s:3:"usi";s:3:"221";s:3:"uu ";s:3:"222";s:3:"wam";s:3:"223";s:3:" af";s:3:"224";s:3:" ba";s:3:"225";s:3:" li";s:3:"226";s:3:" si";s:3:"227";s:3:" zi";s:3:"228";s:3:"a v";s:3:"229";s:3:"ami";s:3:"230";s:3:"atu";s:3:"231";s:3:"awi";s:3:"232";s:3:"eri";s:3:"233";s:3:"fan";s:3:"234";s:3:"fur";s:3:"235";s:3:"ger";s:3:"236";s:3:"i z";s:3:"237";s:3:"isi";s:3:"238";s:3:"izo";s:3:"239";s:3:"lea";s:3:"240";s:3:"mbi";s:3:"241";s:3:"mwa";s:3:"242";s:3:"nye";s:3:"243";s:3:"o h";s:3:"244";s:3:"o m";s:3:"245";s:3:"oni";s:3:"246";s:3:"rez";s:3:"247";s:3:"saa";s:3:"248";s:3:"ser";s:3:"249";s:3:"sin";s:3:"250";s:3:"tat";s:3:"251";s:3:"tis";s:3:"252";s:3:"tu ";s:3:"253";s:3:"uin";s:3:"254";s:3:"uki";s:3:"255";s:3:"ur ";s:3:"256";s:3:"wi ";s:3:"257";s:3:"yar";s:3:"258";s:3:" da";s:3:"259";s:3:" en";s:3:"260";s:3:" mp";s:3:"261";s:3:" ny";s:3:"262";s:3:" ta";s:3:"263";s:3:" ul";s:3:"264";s:3:" we";s:3:"265";s:3:"a c";s:3:"266";s:3:"a f";s:3:"267";s:3:"ais";s:3:"268";s:3:"apo";s:3:"269";s:3:"ayo";s:3:"270";s:3:"bar";s:3:"271";s:3:"dhi";s:3:"272";s:3:"e a";s:3:"273";s:3:"eke";s:3:"274";s:3:"eny";s:3:"275";s:3:"eon";s:3:"276";s:3:"hai";s:3:"277";s:3:"han";s:3:"278";s:3:"hiy";s:3:"279";s:3:"hur";s:3:"280";s:3:"i s";s:3:"281";s:3:"imw";s:3:"282";s:3:"kal";s:3:"283";s:3:"kwe";s:3:"284";s:3:"lak";s:3:"285";s:3:"lam";s:3:"286";s:3:"mak";s:3:"287";s:3:"msa";s:3:"288";s:3:"ne ";s:3:"289";s:3:"ngu";s:3:"290";s:3:"ru ";s:3:"291";s:3:"sal";s:3:"292";s:3:"swa";s:3:"293";s:3:"te ";s:3:"294";s:3:"ti ";s:3:"295";s:3:"uku";s:3:"296";s:3:"uma";s:3:"297";s:3:"una";s:3:"298";s:3:"uru";s:3:"299";}s:7:"swedish";a:300:{s:3:"en ";s:1:"0";s:3:" de";s:1:"1";s:3:"et ";s:1:"2";s:3:"er ";s:1:"3";s:3:"tt ";s:1:"4";s:3:"om ";s:1:"5";s:4:"för";s:1:"6";s:3:"ar ";s:1:"7";s:3:"de ";s:1:"8";s:3:"att";s:1:"9";s:4:" fö";s:2:"10";s:3:"ing";s:2:"11";s:3:" in";s:2:"12";s:3:" at";s:2:"13";s:3:" i ";s:2:"14";s:3:"det";s:2:"15";s:3:"ch ";s:2:"16";s:3:"an ";s:2:"17";s:3:"gen";s:2:"18";s:3:" an";s:2:"19";s:3:"t s";s:2:"20";s:3:"som";s:2:"21";s:3:"te ";s:2:"22";s:3:" oc";s:2:"23";s:3:"ter";s:2:"24";s:3:" ha";s:2:"25";s:3:"lle";s:2:"26";s:3:"och";s:2:"27";s:3:" sk";s:2:"28";s:3:" so";s:2:"29";s:3:"ra ";s:2:"30";s:3:"r a";s:2:"31";s:3:" me";s:2:"32";s:3:"var";s:2:"33";s:3:"nde";s:2:"34";s:4:"är ";s:2:"35";s:3:" ko";s:2:"36";s:3:"on ";s:2:"37";s:3:"ans";s:2:"38";s:3:"int";s:2:"39";s:3:"n s";s:2:"40";s:3:"na ";s:2:"41";s:3:" en";s:2:"42";s:3:" fr";s:2:"43";s:4:" på";s:2:"44";s:3:" st";s:2:"45";s:3:" va";s:2:"46";s:3:"and";s:2:"47";s:3:"nte";s:2:"48";s:4:"på ";s:2:"49";s:3:"ska";s:2:"50";s:3:"ta ";s:2:"51";s:3:" vi";s:2:"52";s:3:"der";s:2:"53";s:4:"äll";s:2:"54";s:4:"örs";s:2:"55";s:3:" om";s:2:"56";s:3:"da ";s:2:"57";s:3:"kri";s:2:"58";s:3:"ka ";s:2:"59";s:3:"nst";s:2:"60";s:3:" ho";s:2:"61";s:3:"as ";s:2:"62";s:4:"stä";s:2:"63";s:3:"r d";s:2:"64";s:3:"t f";s:2:"65";s:3:"upp";s:2:"66";s:3:" be";s:2:"67";s:3:"nge";s:2:"68";s:3:"r s";s:2:"69";s:3:"tal";s:2:"70";s:4:"täl";s:2:"71";s:4:"ör ";s:2:"72";s:3:" av";s:2:"73";s:3:"ger";s:2:"74";s:3:"ill";s:2:"75";s:3:"ng ";s:2:"76";s:3:"e s";s:2:"77";s:3:"ekt";s:2:"78";s:3:"ade";s:2:"79";s:3:"era";s:2:"80";s:3:"ers";s:2:"81";s:3:"har";s:2:"82";s:3:"ll ";s:2:"83";s:3:"lld";s:2:"84";s:3:"rin";s:2:"85";s:3:"rna";s:2:"86";s:4:"säk";s:2:"87";s:3:"und";s:2:"88";s:3:"inn";s:2:"89";s:3:"lig";s:2:"90";s:3:"ns ";s:2:"91";s:3:" ma";s:2:"92";s:3:" pr";s:2:"93";s:3:" up";s:2:"94";s:3:"age";s:2:"95";s:3:"av ";s:2:"96";s:3:"iva";s:2:"97";s:3:"kti";s:2:"98";s:3:"lda";s:2:"99";s:3:"orn";s:3:"100";s:3:"son";s:3:"101";s:3:"ts ";s:3:"102";s:3:"tta";s:3:"103";s:4:"äkr";s:3:"104";s:3:" sj";s:3:"105";s:3:" ti";s:3:"106";s:3:"avt";s:3:"107";s:3:"ber";s:3:"108";s:3:"els";s:3:"109";s:3:"eta";s:3:"110";s:3:"kol";s:3:"111";s:3:"men";s:3:"112";s:3:"n d";s:3:"113";s:3:"t k";s:3:"114";s:3:"vta";s:3:"115";s:4:"år ";s:3:"116";s:3:"juk";s:3:"117";s:3:"man";s:3:"118";s:3:"n f";s:3:"119";s:3:"nin";s:3:"120";s:3:"r i";s:3:"121";s:4:"rsä";s:3:"122";s:3:"sju";s:3:"123";s:3:"sso";s:3:"124";s:4:" är";s:3:"125";s:3:"a s";s:3:"126";s:3:"ach";s:3:"127";s:3:"ag ";s:3:"128";s:3:"bac";s:3:"129";s:3:"den";s:3:"130";s:3:"ett";s:3:"131";s:3:"fte";s:3:"132";s:3:"hor";s:3:"133";s:3:"nba";s:3:"134";s:3:"oll";s:3:"135";s:3:"rnb";s:3:"136";s:3:"ste";s:3:"137";s:3:"til";s:3:"138";s:3:" ef";s:3:"139";s:3:" si";s:3:"140";s:3:"a a";s:3:"141";s:3:"e h";s:3:"142";s:3:"ed ";s:3:"143";s:3:"eft";s:3:"144";s:3:"ga ";s:3:"145";s:3:"ig ";s:3:"146";s:3:"it ";s:3:"147";s:3:"ler";s:3:"148";s:3:"med";s:3:"149";s:3:"n i";s:3:"150";s:3:"nd ";s:3:"151";s:4:"så ";s:3:"152";s:3:"tiv";s:3:"153";s:3:" bl";s:3:"154";s:3:" et";s:3:"155";s:3:" fi";s:3:"156";s:4:" sä";s:3:"157";s:3:"at ";s:3:"158";s:3:"des";s:3:"159";s:3:"e a";s:3:"160";s:3:"gar";s:3:"161";s:3:"get";s:3:"162";s:3:"lan";s:3:"163";s:3:"lss";s:3:"164";s:3:"ost";s:3:"165";s:3:"r b";s:3:"166";s:3:"r e";s:3:"167";s:3:"re ";s:3:"168";s:3:"ret";s:3:"169";s:3:"sta";s:3:"170";s:3:"t i";s:3:"171";s:3:" ge";s:3:"172";s:3:" he";s:3:"173";s:3:" re";s:3:"174";s:3:"a f";s:3:"175";s:3:"all";s:3:"176";s:3:"bos";s:3:"177";s:3:"ets";s:3:"178";s:3:"lek";s:3:"179";s:3:"let";s:3:"180";s:3:"ner";s:3:"181";s:3:"nna";s:3:"182";s:3:"nne";s:3:"183";s:3:"r f";s:3:"184";s:3:"rit";s:3:"185";s:3:"s s";s:3:"186";s:3:"sen";s:3:"187";s:3:"sto";s:3:"188";s:3:"tor";s:3:"189";s:3:"vav";s:3:"190";s:3:"ygg";s:3:"191";s:3:" ka";s:3:"192";s:4:" så";s:3:"193";s:3:" tr";s:3:"194";s:3:" ut";s:3:"195";s:3:"ad ";s:3:"196";s:3:"al ";s:3:"197";s:3:"are";s:3:"198";s:3:"e o";s:3:"199";s:3:"gon";s:3:"200";s:3:"kom";s:3:"201";s:3:"n a";s:3:"202";s:3:"n h";s:3:"203";s:3:"nga";s:3:"204";s:3:"r h";s:3:"205";s:3:"ren";s:3:"206";s:3:"t d";s:3:"207";s:3:"tag";s:3:"208";s:3:"tar";s:3:"209";s:3:"tre";s:3:"210";s:4:"ätt";s:3:"211";s:4:" få";s:3:"212";s:4:" hä";s:3:"213";s:3:" se";s:3:"214";s:3:"a d";s:3:"215";s:3:"a i";s:3:"216";s:3:"a p";s:3:"217";s:3:"ale";s:3:"218";s:3:"ann";s:3:"219";s:3:"ara";s:3:"220";s:3:"byg";s:3:"221";s:3:"gt ";s:3:"222";s:3:"han";s:3:"223";s:3:"igt";s:3:"224";s:3:"kan";s:3:"225";s:3:"la ";s:3:"226";s:3:"n o";s:3:"227";s:3:"nom";s:3:"228";s:3:"nsk";s:3:"229";s:3:"omm";s:3:"230";s:3:"r k";s:3:"231";s:3:"r p";s:3:"232";s:3:"r v";s:3:"233";s:3:"s f";s:3:"234";s:3:"s k";s:3:"235";s:3:"t a";s:3:"236";s:3:"t p";s:3:"237";s:3:"ver";s:3:"238";s:3:" bo";s:3:"239";s:3:" br";s:3:"240";s:3:" ku";s:3:"241";s:4:" nå";s:3:"242";s:3:"a b";s:3:"243";s:3:"a e";s:3:"244";s:3:"del";s:3:"245";s:3:"ens";s:3:"246";s:3:"es ";s:3:"247";s:3:"fin";s:3:"248";s:3:"ige";s:3:"249";s:3:"m s";s:3:"250";s:3:"n p";s:3:"251";s:4:"någ";s:3:"252";s:3:"or ";s:3:"253";s:3:"r o";s:3:"254";s:3:"rbe";s:3:"255";s:3:"rs ";s:3:"256";s:3:"rt ";s:3:"257";s:3:"s a";s:3:"258";s:3:"s n";s:3:"259";s:3:"skr";s:3:"260";s:3:"t o";s:3:"261";s:3:"ten";s:3:"262";s:3:"tio";s:3:"263";s:3:"ven";s:3:"264";s:3:" al";s:3:"265";s:3:" ja";s:3:"266";s:3:" p ";s:3:"267";s:3:" r ";s:3:"268";s:3:" sa";s:3:"269";s:3:"a h";s:3:"270";s:3:"bet";s:3:"271";s:3:"cke";s:3:"272";s:3:"dra";s:3:"273";s:3:"e f";s:3:"274";s:3:"e i";s:3:"275";s:3:"eda";s:3:"276";s:3:"eno";s:3:"277";s:4:"erä";s:3:"278";s:3:"ess";s:3:"279";s:3:"ion";s:3:"280";s:3:"jag";s:3:"281";s:3:"m f";s:3:"282";s:3:"ne ";s:3:"283";s:3:"nns";s:3:"284";s:3:"pro";s:3:"285";s:3:"r t";s:3:"286";s:3:"rar";s:3:"287";s:3:"riv";s:3:"288";s:4:"rät";s:3:"289";s:3:"t e";s:3:"290";s:3:"t t";s:3:"291";s:3:"ust";s:3:"292";s:3:"vad";s:3:"293";s:4:"öre";s:3:"294";s:3:" ar";s:3:"295";s:3:" by";s:3:"296";s:3:" kr";s:3:"297";s:3:" mi";s:3:"298";s:3:"arb";s:3:"299";}s:7:"tagalog";a:300:{s:3:"ng ";s:1:"0";s:3:"ang";s:1:"1";s:3:" na";s:1:"2";s:3:" sa";s:1:"3";s:3:"an ";s:1:"4";s:3:"nan";s:1:"5";s:3:"sa ";s:1:"6";s:3:"na ";s:1:"7";s:3:" ma";s:1:"8";s:3:" ca";s:1:"9";s:3:"ay ";s:2:"10";s:3:"n g";s:2:"11";s:3:" an";s:2:"12";s:3:"ong";s:2:"13";s:3:" ga";s:2:"14";s:3:"at ";s:2:"15";s:3:" pa";s:2:"16";s:3:"ala";s:2:"17";s:3:" si";s:2:"18";s:3:"a n";s:2:"19";s:3:"ga ";s:2:"20";s:3:"g n";s:2:"21";s:3:"g m";s:2:"22";s:3:"ito";s:2:"23";s:3:"g c";s:2:"24";s:3:"man";s:2:"25";s:3:"san";s:2:"26";s:3:"g s";s:2:"27";s:3:"ing";s:2:"28";s:3:"to ";s:2:"29";s:3:"ila";s:2:"30";s:3:"ina";s:2:"31";s:3:" di";s:2:"32";s:3:" ta";s:2:"33";s:3:"aga";s:2:"34";s:3:"iya";s:2:"35";s:3:"aca";s:2:"36";s:3:"g t";s:2:"37";s:3:" at";s:2:"38";s:3:"aya";s:2:"39";s:3:"ama";s:2:"40";s:3:"lan";s:2:"41";s:3:"a a";s:2:"42";s:3:"qui";s:2:"43";s:3:"a c";s:2:"44";s:3:"a s";s:2:"45";s:3:"nag";s:2:"46";s:3:" ba";s:2:"47";s:3:"g i";s:2:"48";s:3:"tan";s:2:"49";s:3:"'t ";s:2:"50";s:3:" cu";s:2:"51";s:3:"aua";s:2:"52";s:3:"g p";s:2:"53";s:3:" ni";s:2:"54";s:3:"os ";s:2:"55";s:3:"'y ";s:2:"56";s:3:"a m";s:2:"57";s:3:" n ";s:2:"58";s:3:"la ";s:2:"59";s:3:" la";s:2:"60";s:3:"o n";s:2:"61";s:3:"yan";s:2:"62";s:3:" ay";s:2:"63";s:3:"usa";s:2:"64";s:3:"cay";s:2:"65";s:3:"on ";s:2:"66";s:3:"ya ";s:2:"67";s:3:" it";s:2:"68";s:3:"al ";s:2:"69";s:3:"apa";s:2:"70";s:3:"ata";s:2:"71";s:3:"t n";s:2:"72";s:3:"uan";s:2:"73";s:3:"aha";s:2:"74";s:3:"asa";s:2:"75";s:3:"pag";s:2:"76";s:3:" gu";s:2:"77";s:3:"g l";s:2:"78";s:3:"di ";s:2:"79";s:3:"mag";s:2:"80";s:3:"aba";s:2:"81";s:3:"g a";s:2:"82";s:3:"ara";s:2:"83";s:3:"a p";s:2:"84";s:3:"in ";s:2:"85";s:3:"ana";s:2:"86";s:3:"it ";s:2:"87";s:3:"si ";s:2:"88";s:3:"cus";s:2:"89";s:3:"g b";s:2:"90";s:3:"uin";s:2:"91";s:3:"a t";s:2:"92";s:3:"as ";s:2:"93";s:3:"n n";s:2:"94";s:3:"hin";s:2:"95";s:3:" hi";s:2:"96";s:3:"a't";s:2:"97";s:3:"ali";s:2:"98";s:3:" bu";s:2:"99";s:3:"gan";s:3:"100";s:3:"uma";s:3:"101";s:3:"a d";s:3:"102";s:3:"agc";s:3:"103";s:3:"aqu";s:3:"104";s:3:"g d";s:3:"105";s:3:" tu";s:3:"106";s:3:"aon";s:3:"107";s:3:"ari";s:3:"108";s:3:"cas";s:3:"109";s:3:"i n";s:3:"110";s:3:"niy";s:3:"111";s:3:"pin";s:3:"112";s:3:"a i";s:3:"113";s:3:"gca";s:3:"114";s:3:"siy";s:3:"115";s:3:"a'y";s:3:"116";s:3:"yao";s:3:"117";s:3:"ag ";s:3:"118";s:3:"ca ";s:3:"119";s:3:"han";s:3:"120";s:3:"ili";s:3:"121";s:3:"pan";s:3:"122";s:3:"sin";s:3:"123";s:3:"ual";s:3:"124";s:3:"n s";s:3:"125";s:3:"nam";s:3:"126";s:3:" lu";s:3:"127";s:3:"can";s:3:"128";s:3:"dit";s:3:"129";s:3:"gui";s:3:"130";s:3:"y n";s:3:"131";s:3:"gal";s:3:"132";s:3:"hat";s:3:"133";s:3:"nal";s:3:"134";s:3:" is";s:3:"135";s:3:"bag";s:3:"136";s:3:"fra";s:3:"137";s:3:" fr";s:3:"138";s:3:" su";s:3:"139";s:3:"a l";s:3:"140";s:3:" co";s:3:"141";s:3:"ani";s:3:"142";s:3:" bi";s:3:"143";s:3:" da";s:3:"144";s:3:"alo";s:3:"145";s:3:"isa";s:3:"146";s:3:"ita";s:3:"147";s:3:"may";s:3:"148";s:3:"o s";s:3:"149";s:3:"sil";s:3:"150";s:3:"una";s:3:"151";s:3:" in";s:3:"152";s:3:" pi";s:3:"153";s:3:"l n";s:3:"154";s:3:"nil";s:3:"155";s:3:"o a";s:3:"156";s:3:"pat";s:3:"157";s:3:"sac";s:3:"158";s:3:"t s";s:3:"159";s:3:" ua";s:3:"160";s:3:"agu";s:3:"161";s:3:"ail";s:3:"162";s:3:"bin";s:3:"163";s:3:"dal";s:3:"164";s:3:"g h";s:3:"165";s:3:"ndi";s:3:"166";s:3:"oon";s:3:"167";s:3:"ua ";s:3:"168";s:3:" ha";s:3:"169";s:3:"ind";s:3:"170";s:3:"ran";s:3:"171";s:3:"s n";s:3:"172";s:3:"tin";s:3:"173";s:3:"ulo";s:3:"174";s:3:"eng";s:3:"175";s:3:"g f";s:3:"176";s:3:"ini";s:3:"177";s:3:"lah";s:3:"178";s:3:"lo ";s:3:"179";s:3:"rai";s:3:"180";s:3:"rin";s:3:"181";s:3:"ton";s:3:"182";s:3:"g u";s:3:"183";s:3:"inu";s:3:"184";s:3:"lon";s:3:"185";s:3:"o'y";s:3:"186";s:3:"t a";s:3:"187";s:3:" ar";s:3:"188";s:3:"a b";s:3:"189";s:3:"ad ";s:3:"190";s:3:"bay";s:3:"191";s:3:"cal";s:3:"192";s:3:"gya";s:3:"193";s:3:"ile";s:3:"194";s:3:"mat";s:3:"195";s:3:"n a";s:3:"196";s:3:"pau";s:3:"197";s:3:"ra ";s:3:"198";s:3:"tay";s:3:"199";s:3:"y m";s:3:"200";s:3:"ant";s:3:"201";s:3:"ban";s:3:"202";s:3:"i m";s:3:"203";s:3:"nas";s:3:"204";s:3:"nay";s:3:"205";s:3:"no ";s:3:"206";s:3:"sti";s:3:"207";s:3:" ti";s:3:"208";s:3:"ags";s:3:"209";s:3:"g g";s:3:"210";s:3:"ta ";s:3:"211";s:3:"uit";s:3:"212";s:3:"uno";s:3:"213";s:3:" ib";s:3:"214";s:3:" ya";s:3:"215";s:3:"a u";s:3:"216";s:3:"abi";s:3:"217";s:3:"ati";s:3:"218";s:3:"cap";s:3:"219";s:3:"ig ";s:3:"220";s:3:"is ";s:3:"221";s:3:"la'";s:3:"222";s:3:" do";s:3:"223";s:3:" pu";s:3:"224";s:3:"api";s:3:"225";s:3:"ayo";s:3:"226";s:3:"gos";s:3:"227";s:3:"gul";s:3:"228";s:3:"lal";s:3:"229";s:3:"tag";s:3:"230";s:3:"til";s:3:"231";s:3:"tun";s:3:"232";s:3:"y c";s:3:"233";s:3:"y s";s:3:"234";s:3:"yon";s:3:"235";s:3:"ano";s:3:"236";s:3:"bur";s:3:"237";s:3:"iba";s:3:"238";s:3:"isi";s:3:"239";s:3:"lam";s:3:"240";s:3:"nac";s:3:"241";s:3:"nat";s:3:"242";s:3:"ni ";s:3:"243";s:3:"nto";s:3:"244";s:3:"od ";s:3:"245";s:3:"pa ";s:3:"246";s:3:"rgo";s:3:"247";s:3:"urg";s:3:"248";s:3:" m ";s:3:"249";s:3:"adr";s:3:"250";s:3:"ast";s:3:"251";s:3:"cag";s:3:"252";s:3:"gay";s:3:"253";s:3:"gsi";s:3:"254";s:3:"i p";s:3:"255";s:3:"ino";s:3:"256";s:3:"len";s:3:"257";s:3:"lin";s:3:"258";s:3:"m g";s:3:"259";s:3:"mar";s:3:"260";s:3:"nah";s:3:"261";s:3:"to'";s:3:"262";s:3:" de";s:3:"263";s:3:"a h";s:3:"264";s:3:"cat";s:3:"265";s:3:"cau";s:3:"266";s:3:"con";s:3:"267";s:3:"iqu";s:3:"268";s:3:"lac";s:3:"269";s:3:"mab";s:3:"270";s:3:"min";s:3:"271";s:3:"og ";s:3:"272";s:3:"par";s:3:"273";s:3:"sal";s:3:"274";s:3:" za";s:3:"275";s:3:"ao ";s:3:"276";s:3:"doo";s:3:"277";s:3:"ipi";s:3:"278";s:3:"nod";s:3:"279";s:3:"nte";s:3:"280";s:3:"uha";s:3:"281";s:3:"ula";s:3:"282";s:3:" re";s:3:"283";s:3:"ill";s:3:"284";s:3:"lit";s:3:"285";s:3:"mac";s:3:"286";s:3:"nit";s:3:"287";s:3:"o't";s:3:"288";s:3:"or ";s:3:"289";s:3:"ora";s:3:"290";s:3:"sum";s:3:"291";s:3:"y p";s:3:"292";s:3:" al";s:3:"293";s:3:" mi";s:3:"294";s:3:" um";s:3:"295";s:3:"aco";s:3:"296";s:3:"ada";s:3:"297";s:3:"agd";s:3:"298";s:3:"cab";s:3:"299";}s:7:"turkish";a:300:{s:3:"lar";s:1:"0";s:3:"en ";s:1:"1";s:3:"ler";s:1:"2";s:3:"an ";s:1:"3";s:3:"in ";s:1:"4";s:3:" bi";s:1:"5";s:3:" ya";s:1:"6";s:3:"eri";s:1:"7";s:3:"de ";s:1:"8";s:3:" ka";s:1:"9";s:3:"ir ";s:2:"10";s:4:"arı";s:2:"11";s:3:" ba";s:2:"12";s:3:" de";s:2:"13";s:3:" ha";s:2:"14";s:4:"ın ";s:2:"15";s:3:"ara";s:2:"16";s:3:"bir";s:2:"17";s:3:" ve";s:2:"18";s:3:" sa";s:2:"19";s:3:"ile";s:2:"20";s:3:"le ";s:2:"21";s:3:"nde";s:2:"22";s:3:"da ";s:2:"23";s:3:" bu";s:2:"24";s:3:"ana";s:2:"25";s:3:"ini";s:2:"26";s:5:"ını";s:2:"27";s:3:"er ";s:2:"28";s:3:"ve ";s:2:"29";s:4:" yı";s:2:"30";s:3:"lma";s:2:"31";s:4:"yıl";s:2:"32";s:3:" ol";s:2:"33";s:3:"ar ";s:2:"34";s:3:"n b";s:2:"35";s:3:"nda";s:2:"36";s:3:"aya";s:2:"37";s:3:"li ";s:2:"38";s:4:"ası";s:2:"39";s:3:" ge";s:2:"40";s:3:"ind";s:2:"41";s:3:"n k";s:2:"42";s:3:"esi";s:2:"43";s:3:"lan";s:2:"44";s:3:"nla";s:2:"45";s:3:"ak ";s:2:"46";s:4:"anı";s:2:"47";s:3:"eni";s:2:"48";s:3:"ni ";s:2:"49";s:4:"nı ";s:2:"50";s:4:"rın";s:2:"51";s:3:"san";s:2:"52";s:3:" ko";s:2:"53";s:3:" ye";s:2:"54";s:3:"maz";s:2:"55";s:4:"baş";s:2:"56";s:3:"ili";s:2:"57";s:3:"rin";s:2:"58";s:4:"alı";s:2:"59";s:3:"az ";s:2:"60";s:3:"hal";s:2:"61";s:4:"ınd";s:2:"62";s:3:" da";s:2:"63";s:4:" gü";s:2:"64";s:3:"ele";s:2:"65";s:4:"ılm";s:2:"66";s:6:"ığı";s:2:"67";s:3:"eki";s:2:"68";s:4:"gün";s:2:"69";s:3:"i b";s:2:"70";s:4:"içi";s:2:"71";s:3:"den";s:2:"72";s:3:"kar";s:2:"73";s:3:"si ";s:2:"74";s:3:" il";s:2:"75";s:3:"e y";s:2:"76";s:3:"na ";s:2:"77";s:3:"yor";s:2:"78";s:3:"ek ";s:2:"79";s:3:"n s";s:2:"80";s:4:" iç";s:2:"81";s:3:"bu ";s:2:"82";s:3:"e b";s:2:"83";s:3:"im ";s:2:"84";s:3:"ki ";s:2:"85";s:3:"len";s:2:"86";s:3:"ri ";s:2:"87";s:4:"sın";s:2:"88";s:3:" so";s:2:"89";s:4:"ün ";s:2:"90";s:3:" ta";s:2:"91";s:3:"nin";s:2:"92";s:4:"iği";s:2:"93";s:3:"tan";s:2:"94";s:3:"yan";s:2:"95";s:3:" si";s:2:"96";s:3:"nat";s:2:"97";s:4:"nın";s:2:"98";s:3:"kan";s:2:"99";s:4:"rı ";s:3:"100";s:4:"çin";s:3:"101";s:5:"ğı ";s:3:"102";s:3:"eli";s:3:"103";s:3:"n a";s:3:"104";s:4:"ır ";s:3:"105";s:3:" an";s:3:"106";s:3:"ine";s:3:"107";s:3:"n y";s:3:"108";s:3:"ola";s:3:"109";s:3:" ar";s:3:"110";s:3:"al ";s:3:"111";s:3:"e s";s:3:"112";s:3:"lik";s:3:"113";s:3:"n d";s:3:"114";s:3:"sin";s:3:"115";s:3:" al";s:3:"116";s:4:" dü";s:3:"117";s:3:"anl";s:3:"118";s:3:"ne ";s:3:"119";s:3:"ya ";s:3:"120";s:4:"ım ";s:3:"121";s:4:"ına";s:3:"122";s:3:" be";s:3:"123";s:3:"ada";s:3:"124";s:3:"ala";s:3:"125";s:3:"ama";s:3:"126";s:3:"ilm";s:3:"127";s:3:"or ";s:3:"128";s:4:"sı ";s:3:"129";s:3:"yen";s:3:"130";s:3:" me";s:3:"131";s:4:"atı";s:3:"132";s:3:"di ";s:3:"133";s:3:"eti";s:3:"134";s:3:"ken";s:3:"135";s:3:"la ";s:3:"136";s:4:"lı ";s:3:"137";s:3:"oru";s:3:"138";s:4:" gö";s:3:"139";s:3:" in";s:3:"140";s:3:"and";s:3:"141";s:3:"e d";s:3:"142";s:3:"men";s:3:"143";s:3:"un ";s:3:"144";s:4:"öne";s:3:"145";s:3:"a d";s:3:"146";s:3:"at ";s:3:"147";s:3:"e a";s:3:"148";s:3:"e g";s:3:"149";s:3:"yar";s:3:"150";s:3:" ku";s:3:"151";s:4:"ayı";s:3:"152";s:3:"dan";s:3:"153";s:3:"edi";s:3:"154";s:3:"iri";s:3:"155";s:5:"ünü";s:3:"156";s:4:"ği ";s:3:"157";s:5:"ılı";s:3:"158";s:3:"eme";s:3:"159";s:4:"eği";s:3:"160";s:3:"i k";s:3:"161";s:3:"i y";s:3:"162";s:4:"ıla";s:3:"163";s:4:" ça";s:3:"164";s:3:"a y";s:3:"165";s:3:"alk";s:3:"166";s:4:"dı ";s:3:"167";s:3:"ede";s:3:"168";s:3:"el ";s:3:"169";s:4:"ndı";s:3:"170";s:3:"ra ";s:3:"171";s:4:"üne";s:3:"172";s:4:" sü";s:3:"173";s:4:"dır";s:3:"174";s:3:"e k";s:3:"175";s:3:"ere";s:3:"176";s:3:"ik ";s:3:"177";s:3:"imi";s:3:"178";s:4:"işi";s:3:"179";s:3:"mas";s:3:"180";s:3:"n h";s:3:"181";s:4:"sür";s:3:"182";s:3:"yle";s:3:"183";s:3:" ad";s:3:"184";s:3:" fi";s:3:"185";s:3:" gi";s:3:"186";s:3:" se";s:3:"187";s:3:"a k";s:3:"188";s:3:"arl";s:3:"189";s:5:"aşı";s:3:"190";s:3:"iyo";s:3:"191";s:3:"kla";s:3:"192";s:5:"lığ";s:3:"193";s:3:"nem";s:3:"194";s:3:"ney";s:3:"195";s:3:"rme";s:3:"196";s:3:"ste";s:3:"197";s:4:"tı ";s:3:"198";s:3:"unl";s:3:"199";s:3:"ver";s:3:"200";s:4:" sı";s:3:"201";s:3:" te";s:3:"202";s:3:" to";s:3:"203";s:3:"a s";s:3:"204";s:4:"aşk";s:3:"205";s:3:"ekl";s:3:"206";s:3:"end";s:3:"207";s:3:"kal";s:3:"208";s:4:"liğ";s:3:"209";s:3:"min";s:3:"210";s:4:"tır";s:3:"211";s:3:"ulu";s:3:"212";s:3:"unu";s:3:"213";s:3:"yap";s:3:"214";s:3:"ye ";s:3:"215";s:4:"ı i";s:3:"216";s:4:"şka";s:3:"217";s:5:"ştı";s:3:"218";s:4:" bü";s:3:"219";s:3:" ke";s:3:"220";s:3:" ki";s:3:"221";s:3:"ard";s:3:"222";s:3:"art";s:3:"223";s:4:"aşa";s:3:"224";s:3:"n i";s:3:"225";s:3:"ndi";s:3:"226";s:3:"ti ";s:3:"227";s:3:"top";s:3:"228";s:4:"ı b";s:3:"229";s:3:" va";s:3:"230";s:4:" ön";s:3:"231";s:3:"aki";s:3:"232";s:3:"cak";s:3:"233";s:3:"ey ";s:3:"234";s:3:"fil";s:3:"235";s:3:"isi";s:3:"236";s:3:"kle";s:3:"237";s:3:"kur";s:3:"238";s:3:"man";s:3:"239";s:3:"nce";s:3:"240";s:3:"nle";s:3:"241";s:3:"nun";s:3:"242";s:3:"rak";s:3:"243";s:4:"ık ";s:3:"244";s:3:" en";s:3:"245";s:3:" yo";s:3:"246";s:3:"a g";s:3:"247";s:3:"lis";s:3:"248";s:3:"mak";s:3:"249";s:3:"n g";s:3:"250";s:3:"tir";s:3:"251";s:3:"yas";s:3:"252";s:4:" iş";s:3:"253";s:4:" yö";s:3:"254";s:3:"ale";s:3:"255";s:3:"bil";s:3:"256";s:3:"bul";s:3:"257";s:3:"et ";s:3:"258";s:3:"i d";s:3:"259";s:3:"iye";s:3:"260";s:3:"kil";s:3:"261";s:3:"ma ";s:3:"262";s:3:"n e";s:3:"263";s:3:"n t";s:3:"264";s:3:"nu ";s:3:"265";s:3:"olu";s:3:"266";s:3:"rla";s:3:"267";s:3:"te ";s:3:"268";s:4:"yön";s:3:"269";s:5:"çık";s:3:"270";s:3:" ay";s:3:"271";s:4:" mü";s:3:"272";s:4:" ço";s:3:"273";s:5:" çı";s:3:"274";s:3:"a a";s:3:"275";s:3:"a b";s:3:"276";s:3:"ata";s:3:"277";s:3:"der";s:3:"278";s:3:"gel";s:3:"279";s:3:"i g";s:3:"280";s:3:"i i";s:3:"281";s:3:"ill";s:3:"282";s:3:"ist";s:3:"283";s:4:"ldı";s:3:"284";s:3:"lu ";s:3:"285";s:3:"mek";s:3:"286";s:3:"mle";s:3:"287";s:4:"n ç";s:3:"288";s:3:"onu";s:3:"289";s:3:"opl";s:3:"290";s:3:"ran";s:3:"291";s:3:"rat";s:3:"292";s:4:"rdı";s:3:"293";s:3:"rke";s:3:"294";s:3:"siy";s:3:"295";s:3:"son";s:3:"296";s:3:"ta ";s:3:"297";s:5:"tçı";s:3:"298";s:4:"tın";s:3:"299";}s:9:"ukrainian";a:300:{s:5:" на";s:1:"0";s:5:" за";s:1:"1";s:6:"ння";s:1:"2";s:5:"ня ";s:1:"3";s:5:"на ";s:1:"4";s:5:" пр";s:1:"5";s:6:"ого";s:1:"6";s:5:"го ";s:1:"7";s:6:"ськ";s:1:"8";s:5:" по";s:1:"9";s:4:" у ";s:2:"10";s:6:"від";s:2:"11";s:6:"ере";s:2:"12";s:5:" мі";s:2:"13";s:5:" не";s:2:"14";s:5:"их ";s:2:"15";s:5:"ть ";s:2:"16";s:6:"пер";s:2:"17";s:5:" ві";s:2:"18";s:5:"ів ";s:2:"19";s:5:" пе";s:2:"20";s:5:" що";s:2:"21";s:6:"льн";s:2:"22";s:5:"ми ";s:2:"23";s:5:"ні ";s:2:"24";s:5:"не ";s:2:"25";s:5:"ти ";s:2:"26";s:6:"ати";s:2:"27";s:6:"енн";s:2:"28";s:6:"міс";s:2:"29";s:6:"пра";s:2:"30";s:6:"ува";s:2:"31";s:6:"ник";s:2:"32";s:6:"про";s:2:"33";s:6:"рав";s:2:"34";s:6:"івн";s:2:"35";s:5:" та";s:2:"36";s:6:"буд";s:2:"37";s:6:"влі";s:2:"38";s:6:"рів";s:2:"39";s:5:" ко";s:2:"40";s:5:" рі";s:2:"41";s:6:"аль";s:2:"42";s:5:"но ";s:2:"43";s:6:"ому";s:2:"44";s:5:"що ";s:2:"45";s:5:" ви";s:2:"46";s:5:"му ";s:2:"47";s:6:"рев";s:2:"48";s:5:"ся ";s:2:"49";s:6:"інн";s:2:"50";s:5:" до";s:2:"51";s:5:" уп";s:2:"52";s:6:"авл";s:2:"53";s:6:"анн";s:2:"54";s:6:"ком";s:2:"55";s:5:"ли ";s:2:"56";s:6:"лін";s:2:"57";s:6:"ног";s:2:"58";s:6:"упр";s:2:"59";s:5:" бу";s:2:"60";s:4:" з ";s:2:"61";s:5:" ро";s:2:"62";s:5:"за ";s:2:"63";s:5:"и н";s:2:"64";s:6:"нов";s:2:"65";s:6:"оро";s:2:"66";s:6:"ост";s:2:"67";s:6:"ста";s:2:"68";s:5:"ті ";s:2:"69";s:6:"ють";s:2:"70";s:5:" мо";s:2:"71";s:5:" ні";s:2:"72";s:5:" як";s:2:"73";s:6:"бор";s:2:"74";s:5:"ва ";s:2:"75";s:6:"ван";s:2:"76";s:6:"ень";s:2:"77";s:5:"и п";s:2:"78";s:5:"нь ";s:2:"79";s:6:"ові";s:2:"80";s:6:"рон";s:2:"81";s:6:"сті";s:2:"82";s:5:"та ";s:2:"83";s:5:"у в";s:2:"84";s:6:"ько";s:2:"85";s:6:"іст";s:2:"86";s:4:" в ";s:2:"87";s:5:" ре";s:2:"88";s:5:"до ";s:2:"89";s:5:"е п";s:2:"90";s:6:"заб";s:2:"91";s:5:"ий ";s:2:"92";s:6:"нсь";s:2:"93";s:5:"о в";s:2:"94";s:5:"о п";s:2:"95";s:6:"при";s:2:"96";s:5:"і п";s:2:"97";s:5:" ку";s:2:"98";s:5:" пі";s:2:"99";s:5:" сп";s:3:"100";s:5:"а п";s:3:"101";s:6:"або";s:3:"102";s:6:"анс";s:3:"103";s:6:"аці";s:3:"104";s:6:"ват";s:3:"105";s:6:"вни";s:3:"106";s:5:"и в";s:3:"107";s:6:"ими";s:3:"108";s:5:"ка ";s:3:"109";s:6:"нен";s:3:"110";s:6:"ніч";s:3:"111";s:6:"она";s:3:"112";s:5:"ої ";s:3:"113";s:6:"пов";s:3:"114";s:6:"ьки";s:3:"115";s:6:"ьно";s:3:"116";s:6:"ізн";s:3:"117";s:6:"ічн";s:3:"118";s:5:" ав";s:3:"119";s:5:" ма";s:3:"120";s:5:" ор";s:3:"121";s:5:" су";s:3:"122";s:5:" чи";s:3:"123";s:5:" ін";s:3:"124";s:5:"а з";s:3:"125";s:5:"ам ";s:3:"126";s:5:"ає ";s:3:"127";s:6:"вне";s:3:"128";s:6:"вто";s:3:"129";s:6:"дом";s:3:"130";s:6:"ент";s:3:"131";s:6:"жит";s:3:"132";s:6:"зни";s:3:"133";s:5:"им ";s:3:"134";s:6:"итл";s:3:"135";s:5:"ла ";s:3:"136";s:6:"них";s:3:"137";s:6:"ниц";s:3:"138";s:6:"ова";s:3:"139";s:6:"ови";s:3:"140";s:5:"ом ";s:3:"141";s:6:"пор";s:3:"142";s:6:"тьс";s:3:"143";s:5:"у р";s:3:"144";s:6:"ься";s:3:"145";s:6:"ідо";s:3:"146";s:6:"іль";s:3:"147";s:6:"ісь";s:3:"148";s:5:" ва";s:3:"149";s:5:" ді";s:3:"150";s:5:" жи";s:3:"151";s:5:" че";s:3:"152";s:4:" і ";s:3:"153";s:5:"а в";s:3:"154";s:5:"а н";s:3:"155";s:6:"али";s:3:"156";s:6:"вез";s:3:"157";s:6:"вно";s:3:"158";s:6:"еве";s:3:"159";s:6:"езе";s:3:"160";s:6:"зен";s:3:"161";s:6:"ицт";s:3:"162";s:5:"ки ";s:3:"163";s:6:"ких";s:3:"164";s:6:"кон";s:3:"165";s:5:"ку ";s:3:"166";s:6:"лас";s:3:"167";s:5:"ля ";s:3:"168";s:6:"мож";s:3:"169";s:6:"нач";s:3:"170";s:6:"ним";s:3:"171";s:6:"ної";s:3:"172";s:5:"о б";s:3:"173";s:6:"ову";s:3:"174";s:6:"оди";s:3:"175";s:5:"ою ";s:3:"176";s:5:"ро ";s:3:"177";s:6:"рок";s:3:"178";s:6:"сно";s:3:"179";s:6:"спо";s:3:"180";s:6:"так";s:3:"181";s:6:"тва";s:3:"182";s:5:"ту ";s:3:"183";s:5:"у п";s:3:"184";s:6:"цтв";s:3:"185";s:6:"ьни";s:3:"186";s:5:"я з";s:3:"187";s:5:"і м";s:3:"188";s:5:"ії ";s:3:"189";s:5:" вс";s:3:"190";s:5:" гр";s:3:"191";s:5:" де";s:3:"192";s:5:" но";s:3:"193";s:5:" па";s:3:"194";s:5:" се";s:3:"195";s:5:" ук";s:3:"196";s:5:" їх";s:3:"197";s:5:"а о";s:3:"198";s:6:"авт";s:3:"199";s:6:"аст";s:3:"200";s:6:"ают";s:3:"201";s:6:"вар";s:3:"202";s:6:"ден";s:3:"203";s:5:"ди ";s:3:"204";s:5:"ду ";s:3:"205";s:6:"зна";s:3:"206";s:5:"и з";s:3:"207";s:6:"ико";s:3:"208";s:6:"ися";s:3:"209";s:6:"ити";s:3:"210";s:6:"ког";s:3:"211";s:6:"мен";s:3:"212";s:6:"ном";s:3:"213";s:5:"ну ";s:3:"214";s:5:"о н";s:3:"215";s:5:"о с";s:3:"216";s:6:"обу";s:3:"217";s:6:"ово";s:3:"218";s:6:"пла";s:3:"219";s:6:"ран";s:3:"220";s:6:"рив";s:3:"221";s:6:"роб";s:3:"222";s:6:"ска";s:3:"223";s:6:"тан";s:3:"224";s:6:"тим";s:3:"225";s:6:"тис";s:3:"226";s:5:"то ";s:3:"227";s:6:"тра";s:3:"228";s:6:"удо";s:3:"229";s:6:"чин";s:3:"230";s:6:"чни";s:3:"231";s:5:"і в";s:3:"232";s:5:"ію ";s:3:"233";s:4:" а ";s:3:"234";s:5:" во";s:3:"235";s:5:" да";s:3:"236";s:5:" кв";s:3:"237";s:5:" ме";s:3:"238";s:5:" об";s:3:"239";s:5:" ск";s:3:"240";s:5:" ти";s:3:"241";s:5:" фі";s:3:"242";s:4:" є ";s:3:"243";s:5:"а р";s:3:"244";s:5:"а с";s:3:"245";s:5:"а у";s:3:"246";s:5:"ак ";s:3:"247";s:6:"ані";s:3:"248";s:6:"арт";s:3:"249";s:6:"асн";s:3:"250";s:5:"в у";s:3:"251";s:6:"вик";s:3:"252";s:6:"віз";s:3:"253";s:6:"дов";s:3:"254";s:6:"дпо";s:3:"255";s:6:"дів";s:3:"256";s:6:"еві";s:3:"257";s:6:"енс";s:3:"258";s:5:"же ";s:3:"259";s:5:"и м";s:3:"260";s:5:"и с";s:3:"261";s:6:"ика";s:3:"262";s:6:"ичн";s:3:"263";s:5:"кі ";s:3:"264";s:6:"ків";s:3:"265";s:6:"між";s:3:"266";s:6:"нан";s:3:"267";s:6:"нос";s:3:"268";s:5:"о у";s:3:"269";s:6:"обл";s:3:"270";s:6:"одн";s:3:"271";s:5:"ок ";s:3:"272";s:6:"оло";s:3:"273";s:6:"отр";s:3:"274";s:6:"рен";s:3:"275";s:6:"рим";s:3:"276";s:6:"роз";s:3:"277";s:5:"сь ";s:3:"278";s:5:"сі ";s:3:"279";s:6:"тла";s:3:"280";s:6:"тів";s:3:"281";s:5:"у з";s:3:"282";s:6:"уго";s:3:"283";s:6:"уді";s:3:"284";s:5:"чи ";s:3:"285";s:5:"ше ";s:3:"286";s:5:"я н";s:3:"287";s:5:"я у";s:3:"288";s:6:"ідп";s:3:"289";s:5:"ій ";s:3:"290";s:6:"іна";s:3:"291";s:5:"ія ";s:3:"292";s:5:" ка";s:3:"293";s:5:" ни";s:3:"294";s:5:" ос";s:3:"295";s:5:" си";s:3:"296";s:5:" то";s:3:"297";s:5:" тр";s:3:"298";s:5:" уг";s:3:"299";}s:4:"urdu";a:300:{s:5:"یں ";s:1:"0";s:5:" کی";s:1:"1";s:5:"کے ";s:1:"2";s:5:" کے";s:1:"3";s:5:"نے ";s:1:"4";s:5:" کہ";s:1:"5";s:5:"ے ک";s:1:"6";s:5:"کی ";s:1:"7";s:6:"میں";s:1:"8";s:5:" می";s:1:"9";s:5:"ہے ";s:2:"10";s:5:"وں ";s:2:"11";s:5:"کہ ";s:2:"12";s:5:" ہے";s:2:"13";s:5:"ان ";s:2:"14";s:6:"ہیں";s:2:"15";s:5:"ور ";s:2:"16";s:5:" کو";s:2:"17";s:5:"یا ";s:2:"18";s:5:" ان";s:2:"19";s:5:" نے";s:2:"20";s:5:"سے ";s:2:"21";s:5:" سے";s:2:"22";s:5:" کر";s:2:"23";s:6:"ستا";s:2:"24";s:5:" او";s:2:"25";s:6:"اور";s:2:"26";s:6:"تان";s:2:"27";s:5:"ر ک";s:2:"28";s:5:"ی ک";s:2:"29";s:5:" اس";s:2:"30";s:5:"ے ا";s:2:"31";s:5:" پا";s:2:"32";s:5:" ہو";s:2:"33";s:5:" پر";s:2:"34";s:5:"رف ";s:2:"35";s:5:" کا";s:2:"36";s:5:"ا ک";s:2:"37";s:5:"ی ا";s:2:"38";s:5:" ہی";s:2:"39";s:5:"در ";s:2:"40";s:5:"کو ";s:2:"41";s:5:" ای";s:2:"42";s:5:"ں ک";s:2:"43";s:5:" مش";s:2:"44";s:5:" مل";s:2:"45";s:5:"ات ";s:2:"46";s:6:"صدر";s:2:"47";s:6:"اکس";s:2:"48";s:6:"شرف";s:2:"49";s:6:"مشر";s:2:"50";s:6:"پاک";s:2:"51";s:6:"کست";s:2:"52";s:5:"ی م";s:2:"53";s:5:" دی";s:2:"54";s:5:" صد";s:2:"55";s:5:" یہ";s:2:"56";s:5:"ا ہ";s:2:"57";s:5:"ن ک";s:2:"58";s:6:"وال";s:2:"59";s:5:"یہ ";s:2:"60";s:5:"ے و";s:2:"61";s:5:" بھ";s:2:"62";s:5:" دو";s:2:"63";s:5:"اس ";s:2:"64";s:5:"ر ا";s:2:"65";s:6:"نہی";s:2:"66";s:5:"کا ";s:2:"67";s:5:"ے س";s:2:"68";s:5:"ئی ";s:2:"69";s:5:"ہ ا";s:2:"70";s:5:"یت ";s:2:"71";s:5:"ے ہ";s:2:"72";s:5:"ت ک";s:2:"73";s:5:" سا";s:2:"74";s:5:"لے ";s:2:"75";s:5:"ہا ";s:2:"76";s:5:"ے ب";s:2:"77";s:5:" وا";s:2:"78";s:5:"ار ";s:2:"79";s:5:"نی ";s:2:"80";s:6:"کہا";s:2:"81";s:5:"ی ہ";s:2:"82";s:5:"ے م";s:2:"83";s:5:" سی";s:2:"84";s:5:" لی";s:2:"85";s:6:"انہ";s:2:"86";s:6:"انی";s:2:"87";s:5:"ر م";s:2:"88";s:5:"ر پ";s:2:"89";s:6:"ریت";s:2:"90";s:5:"ن م";s:2:"91";s:5:"ھا ";s:2:"92";s:5:"یر ";s:2:"93";s:5:" جا";s:2:"94";s:5:" جن";s:2:"95";s:5:"ئے ";s:2:"96";s:5:"پر ";s:2:"97";s:5:"ں ن";s:2:"98";s:5:"ہ ک";s:2:"99";s:5:"ی و";s:3:"100";s:5:"ے د";s:3:"101";s:5:" تو";s:3:"102";s:5:" تھ";s:3:"103";s:5:" گی";s:3:"104";s:6:"ایک";s:3:"105";s:5:"ل ک";s:3:"106";s:5:"نا ";s:3:"107";s:5:"کر ";s:3:"108";s:5:"ں م";s:3:"109";s:5:"یک ";s:3:"110";s:5:" با";s:3:"111";s:5:"ا ت";s:3:"112";s:5:"دی ";s:3:"113";s:5:"ن س";s:3:"114";s:6:"کیا";s:3:"115";s:6:"یوں";s:3:"116";s:5:"ے ج";s:3:"117";s:5:"ال ";s:3:"118";s:5:"تو ";s:3:"119";s:5:"ں ا";s:3:"120";s:5:"ے پ";s:3:"121";s:5:" چا";s:3:"122";s:5:"ام ";s:3:"123";s:6:"بھی";s:3:"124";s:5:"تی ";s:3:"125";s:5:"تے ";s:3:"126";s:6:"دوس";s:3:"127";s:5:"س ک";s:3:"128";s:6:"ملک";s:3:"129";s:5:"ن ا";s:3:"130";s:6:"ہور";s:3:"131";s:5:"یے ";s:3:"132";s:5:" مو";s:3:"133";s:5:" وک";s:3:"134";s:6:"ائی";s:3:"135";s:6:"ارت";s:3:"136";s:6:"الے";s:3:"137";s:6:"بھا";s:3:"138";s:6:"ردی";s:3:"139";s:5:"ری ";s:3:"140";s:5:"وہ ";s:3:"141";s:6:"ویز";s:3:"142";s:5:"ں د";s:3:"143";s:5:"ھی ";s:3:"144";s:5:"ی س";s:3:"145";s:5:" رہ";s:3:"146";s:5:" من";s:3:"147";s:5:" نہ";s:3:"148";s:5:" ور";s:3:"149";s:5:" وہ";s:3:"150";s:5:" ہن";s:3:"151";s:5:"ا ا";s:3:"152";s:6:"است";s:3:"153";s:5:"ت ا";s:3:"154";s:5:"ت پ";s:3:"155";s:5:"د ک";s:3:"156";s:5:"ز م";s:3:"157";s:5:"ند ";s:3:"158";s:6:"ورد";s:3:"159";s:6:"وکل";s:3:"160";s:5:"گی ";s:3:"161";s:6:"گیا";s:3:"162";s:5:"ہ پ";s:3:"163";s:5:"یز ";s:3:"164";s:5:"ے ت";s:3:"165";s:5:" اع";s:3:"166";s:5:" اپ";s:3:"167";s:5:" جس";s:3:"168";s:5:" جم";s:3:"169";s:5:" جو";s:3:"170";s:5:" سر";s:3:"171";s:6:"اپن";s:3:"172";s:6:"اکث";s:3:"173";s:6:"تھا";s:3:"174";s:6:"ثری";s:3:"175";s:6:"دیا";s:3:"176";s:5:"ر د";s:3:"177";s:5:"رت ";s:3:"178";s:6:"روی";s:3:"179";s:5:"سی ";s:3:"180";s:6:"ملا";s:3:"181";s:6:"ندو";s:3:"182";s:6:"وست";s:3:"183";s:6:"پرو";s:3:"184";s:6:"چاہ";s:3:"185";s:6:"کثر";s:3:"186";s:6:"کلا";s:3:"187";s:5:"ہ ہ";s:3:"188";s:6:"ہند";s:3:"189";s:5:"ہو ";s:3:"190";s:5:"ے ل";s:3:"191";s:5:" اک";s:3:"192";s:5:" دا";s:3:"193";s:5:" سن";s:3:"194";s:5:" وز";s:3:"195";s:5:" پی";s:3:"196";s:5:"ا چ";s:3:"197";s:5:"اء ";s:3:"198";s:6:"اتھ";s:3:"199";s:6:"اقا";s:3:"200";s:5:"اہ ";s:3:"201";s:5:"تھ ";s:3:"202";s:5:"دو ";s:3:"203";s:5:"ر ب";s:3:"204";s:6:"روا";s:3:"205";s:5:"رے ";s:3:"206";s:6:"سات";s:3:"207";s:5:"ف ک";s:3:"208";s:6:"قات";s:3:"209";s:5:"لا ";s:3:"210";s:6:"لاء";s:3:"211";s:5:"م م";s:3:"212";s:5:"م ک";s:3:"213";s:5:"من ";s:3:"214";s:6:"نوں";s:3:"215";s:5:"و ا";s:3:"216";s:6:"کرن";s:3:"217";s:5:"ں ہ";s:3:"218";s:6:"ھار";s:3:"219";s:6:"ہوئ";s:3:"220";s:5:"ہی ";s:3:"221";s:5:"یش ";s:3:"222";s:5:" ام";s:3:"223";s:5:" لا";s:3:"224";s:5:" مس";s:3:"225";s:5:" پو";s:3:"226";s:5:" پہ";s:3:"227";s:6:"انے";s:3:"228";s:5:"ت م";s:3:"229";s:5:"ت ہ";s:3:"230";s:5:"ج ک";s:3:"231";s:6:"دون";s:3:"232";s:6:"زیر";s:3:"233";s:5:"س س";s:3:"234";s:5:"ش ک";s:3:"235";s:5:"ف ن";s:3:"236";s:5:"ل ہ";s:3:"237";s:6:"لاق";s:3:"238";s:5:"لی ";s:3:"239";s:6:"وری";s:3:"240";s:6:"وزی";s:3:"241";s:6:"ونو";s:3:"242";s:6:"کھن";s:3:"243";s:5:"گا ";s:3:"244";s:5:"ں س";s:3:"245";s:5:"ں گ";s:3:"246";s:6:"ھنے";s:3:"247";s:5:"ھے ";s:3:"248";s:5:"ہ ب";s:3:"249";s:5:"ہ ج";s:3:"250";s:5:"ہر ";s:3:"251";s:5:"ی آ";s:3:"252";s:5:"ی پ";s:3:"253";s:5:" حا";s:3:"254";s:5:" وف";s:3:"255";s:5:" گا";s:3:"256";s:5:"ا ج";s:3:"257";s:5:"ا گ";s:3:"258";s:5:"اد ";s:3:"259";s:6:"ادی";s:3:"260";s:6:"اعظ";s:3:"261";s:6:"اہت";s:3:"262";s:5:"جس ";s:3:"263";s:6:"جمہ";s:3:"264";s:5:"جو ";s:3:"265";s:5:"ر س";s:3:"266";s:5:"ر ہ";s:3:"267";s:6:"رنے";s:3:"268";s:5:"س م";s:3:"269";s:5:"سا ";s:3:"270";s:6:"سند";s:3:"271";s:6:"سنگ";s:3:"272";s:5:"ظم ";s:3:"273";s:6:"عظم";s:3:"274";s:5:"ل م";s:3:"275";s:6:"لیے";s:3:"276";s:5:"مل ";s:3:"277";s:6:"موہ";s:3:"278";s:6:"مہو";s:3:"279";s:6:"نگھ";s:3:"280";s:5:"و ص";s:3:"281";s:6:"ورٹ";s:3:"282";s:6:"وہن";s:3:"283";s:5:"کن ";s:3:"284";s:5:"گھ ";s:3:"285";s:5:"گے ";s:3:"286";s:5:"ں ج";s:3:"287";s:5:"ں و";s:3:"288";s:5:"ں ی";s:3:"289";s:5:"ہ د";s:3:"290";s:5:"ہن ";s:3:"291";s:6:"ہوں";s:3:"292";s:5:"ے ح";s:3:"293";s:5:"ے گ";s:3:"294";s:5:"ے ی";s:3:"295";s:5:" اگ";s:3:"296";s:5:" بع";s:3:"297";s:5:" رو";s:3:"298";s:5:" شا";s:3:"299";}s:5:"uzbek";a:300:{s:5:"ан ";s:1:"0";s:6:"ган";s:1:"1";s:6:"лар";s:1:"2";s:5:"га ";s:1:"3";s:5:"нг ";s:1:"4";s:6:"инг";s:1:"5";s:6:"нин";s:1:"6";s:5:"да ";s:1:"7";s:5:"ни ";s:1:"8";s:6:"ида";s:1:"9";s:6:"ари";s:2:"10";s:6:"ига";s:2:"11";s:6:"ини";s:2:"12";s:5:"ар ";s:2:"13";s:5:"ди ";s:2:"14";s:5:" би";s:2:"15";s:6:"ани";s:2:"16";s:5:" бо";s:2:"17";s:6:"дан";s:2:"18";s:6:"лга";s:2:"19";s:5:" ҳа";s:2:"20";s:5:" ва";s:2:"21";s:5:" са";s:2:"22";s:5:"ги ";s:2:"23";s:6:"ила";s:2:"24";s:5:"н б";s:2:"25";s:5:"и б";s:2:"26";s:5:" кў";s:2:"27";s:5:" та";s:2:"28";s:5:"ир ";s:2:"29";s:5:" ма";s:2:"30";s:6:"ага";s:2:"31";s:6:"ала";s:2:"32";s:6:"бир";s:2:"33";s:5:"ри ";s:2:"34";s:6:"тга";s:2:"35";s:6:"лан";s:2:"36";s:6:"лик";s:2:"37";s:5:"а к";s:2:"38";s:6:"аги";s:2:"39";s:6:"ати";s:2:"40";s:5:"та ";s:2:"41";s:6:"ади";s:2:"42";s:6:"даг";s:2:"43";s:6:"рга";s:2:"44";s:5:" йи";s:2:"45";s:5:" ми";s:2:"46";s:5:" па";s:2:"47";s:5:" бў";s:2:"48";s:5:" қа";s:2:"49";s:5:" қи";s:2:"50";s:5:"а б";s:2:"51";s:6:"илл";s:2:"52";s:5:"ли ";s:2:"53";s:6:"аси";s:2:"54";s:5:"и т";s:2:"55";s:5:"ик ";s:2:"56";s:6:"или";s:2:"57";s:6:"лла";s:2:"58";s:6:"ард";s:2:"59";s:6:"вчи";s:2:"60";s:5:"ва ";s:2:"61";s:5:"иб ";s:2:"62";s:6:"ири";s:2:"63";s:6:"лиг";s:2:"64";s:6:"нга";s:2:"65";s:6:"ран";s:2:"66";s:5:" ке";s:2:"67";s:5:" ўз";s:2:"68";s:5:"а с";s:2:"69";s:6:"ахт";s:2:"70";s:6:"бўл";s:2:"71";s:6:"иги";s:2:"72";s:6:"кўр";s:2:"73";s:6:"рда";s:2:"74";s:6:"рни";s:2:"75";s:5:"са ";s:2:"76";s:5:" бе";s:2:"77";s:5:" бу";s:2:"78";s:5:" да";s:2:"79";s:5:" жа";s:2:"80";s:5:"а т";s:2:"81";s:6:"ази";s:2:"82";s:6:"ери";s:2:"83";s:5:"и а";s:2:"84";s:6:"илг";s:2:"85";s:6:"йил";s:2:"86";s:6:"ман";s:2:"87";s:6:"пах";s:2:"88";s:6:"рид";s:2:"89";s:5:"ти ";s:2:"90";s:6:"увч";s:2:"91";s:6:"хта";s:2:"92";s:5:" не";s:2:"93";s:5:" со";s:2:"94";s:5:" уч";s:2:"95";s:6:"айт";s:2:"96";s:6:"лли";s:2:"97";s:6:"тла";s:2:"98";s:5:" ай";s:2:"99";s:5:" фр";s:3:"100";s:5:" эт";s:3:"101";s:5:" ҳо";s:3:"102";s:5:"а қ";s:3:"103";s:6:"али";s:3:"104";s:6:"аро";s:3:"105";s:6:"бер";s:3:"106";s:6:"бил";s:3:"107";s:6:"бор";s:3:"108";s:6:"ими";s:3:"109";s:6:"ист";s:3:"110";s:5:"он ";s:3:"111";s:6:"рин";s:3:"112";s:6:"тер";s:3:"113";s:6:"тил";s:3:"114";s:5:"ун ";s:3:"115";s:6:"фра";s:3:"116";s:6:"қил";s:3:"117";s:5:" ба";s:3:"118";s:5:" ол";s:3:"119";s:6:"анс";s:3:"120";s:6:"ефт";s:3:"121";s:6:"зир";s:3:"122";s:6:"кат";s:3:"123";s:6:"мил";s:3:"124";s:6:"неф";s:3:"125";s:6:"саг";s:3:"126";s:5:"чи ";s:3:"127";s:6:"ўра";s:3:"128";s:5:" на";s:3:"129";s:5:" те";s:3:"130";s:5:" эн";s:3:"131";s:5:"а э";s:3:"132";s:5:"ам ";s:3:"133";s:6:"арн";s:3:"134";s:5:"ат ";s:3:"135";s:5:"иш ";s:3:"136";s:5:"ма ";s:3:"137";s:6:"нла";s:3:"138";s:6:"рли";s:3:"139";s:6:"чил";s:3:"140";s:6:"шга";s:3:"141";s:5:" иш";s:3:"142";s:5:" му";s:3:"143";s:5:" ўқ";s:3:"144";s:6:"ара";s:3:"145";s:6:"ваз";s:3:"146";s:5:"и у";s:3:"147";s:5:"иқ ";s:3:"148";s:6:"моқ";s:3:"149";s:6:"рим";s:3:"150";s:6:"учу";s:3:"151";s:6:"чун";s:3:"152";s:5:"ши ";s:3:"153";s:6:"энг";s:3:"154";s:6:"қув";s:3:"155";s:6:"ҳам";s:3:"156";s:5:" сў";s:3:"157";s:5:" ши";s:3:"158";s:6:"бар";s:3:"159";s:6:"бек";s:3:"160";s:6:"дам";s:3:"161";s:5:"и ҳ";s:3:"162";s:6:"иши";s:3:"163";s:6:"лад";s:3:"164";s:6:"оли";s:3:"165";s:6:"олл";s:3:"166";s:6:"ори";s:3:"167";s:6:"оқд";s:3:"168";s:5:"р б";s:3:"169";s:5:"ра ";s:3:"170";s:6:"рла";s:3:"171";s:6:"уни";s:3:"172";s:5:"фт ";s:3:"173";s:6:"ўлг";s:3:"174";s:6:"ўқу";s:3:"175";s:5:" де";s:3:"176";s:5:" ка";s:3:"177";s:5:" қў";s:3:"178";s:5:"а ў";s:3:"179";s:6:"аба";s:3:"180";s:6:"амм";s:3:"181";s:6:"атл";s:3:"182";s:5:"б к";s:3:"183";s:6:"бош";s:3:"184";s:6:"збе";s:3:"185";s:5:"и в";s:3:"186";s:5:"им ";s:3:"187";s:5:"ин ";s:3:"188";s:6:"ишл";s:3:"189";s:6:"лаб";s:3:"190";s:6:"лей";s:3:"191";s:6:"мин";s:3:"192";s:5:"н д";s:3:"193";s:6:"нда";s:3:"194";s:5:"оқ ";s:3:"195";s:5:"р м";s:3:"196";s:6:"рил";s:3:"197";s:6:"сид";s:3:"198";s:6:"тал";s:3:"199";s:6:"тан";s:3:"200";s:6:"тид";s:3:"201";s:6:"тон";s:3:"202";s:6:"ўзб";s:3:"203";s:5:" ам";s:3:"204";s:5:" ки";s:3:"205";s:5:"а ҳ";s:3:"206";s:6:"анг";s:3:"207";s:6:"анд";s:3:"208";s:6:"арт";s:3:"209";s:6:"аёт";s:3:"210";s:6:"дир";s:3:"211";s:6:"ент";s:3:"212";s:5:"и д";s:3:"213";s:5:"и м";s:3:"214";s:5:"и о";s:3:"215";s:5:"и э";s:3:"216";s:6:"иро";s:3:"217";s:6:"йти";s:3:"218";s:6:"нсу";s:3:"219";s:6:"оди";s:3:"220";s:5:"ор ";s:3:"221";s:5:"си ";s:3:"222";s:6:"тиш";s:3:"223";s:6:"тоб";s:3:"224";s:6:"эти";s:3:"225";s:6:"қар";s:3:"226";s:6:"қда";s:3:"227";s:5:" бл";s:3:"228";s:5:" ге";s:3:"229";s:5:" до";s:3:"230";s:5:" ду";s:3:"231";s:5:" но";s:3:"232";s:5:" пр";s:3:"233";s:5:" ра";s:3:"234";s:5:" фо";s:3:"235";s:5:" қо";s:3:"236";s:5:"а м";s:3:"237";s:5:"а о";s:3:"238";s:6:"айд";s:3:"239";s:6:"ало";s:3:"240";s:6:"ама";s:3:"241";s:6:"бле";s:3:"242";s:5:"г н";s:3:"243";s:6:"дол";s:3:"244";s:6:"ейр";s:3:"245";s:5:"ек ";s:3:"246";s:6:"ерг";s:3:"247";s:6:"жар";s:3:"248";s:6:"зид";s:3:"249";s:5:"и к";s:3:"250";s:5:"и ф";s:3:"251";s:5:"ий ";s:3:"252";s:6:"ило";s:3:"253";s:6:"лди";s:3:"254";s:6:"либ";s:3:"255";s:6:"лин";s:3:"256";s:5:"ми ";s:3:"257";s:6:"мма";s:3:"258";s:5:"н в";s:3:"259";s:5:"н к";s:3:"260";s:5:"н ў";s:3:"261";s:5:"н ҳ";s:3:"262";s:6:"ози";s:3:"263";s:6:"ора";s:3:"264";s:6:"оси";s:3:"265";s:6:"рас";s:3:"266";s:6:"риш";s:3:"267";s:6:"рка";s:3:"268";s:6:"роқ";s:3:"269";s:6:"сто";s:3:"270";s:6:"тин";s:3:"271";s:6:"хат";s:3:"272";s:6:"шир";s:3:"273";s:5:" ав";s:3:"274";s:5:" рў";s:3:"275";s:5:" ту";s:3:"276";s:5:" ўт";s:3:"277";s:5:"а п";s:3:"278";s:6:"авт";s:3:"279";s:6:"ада";s:3:"280";s:6:"аза";s:3:"281";s:6:"анл";s:3:"282";s:5:"б б";s:3:"283";s:6:"бой";s:3:"284";s:5:"бу ";s:3:"285";s:6:"вто";s:3:"286";s:5:"г э";s:3:"287";s:6:"гин";s:3:"288";s:6:"дар";s:3:"289";s:6:"ден";s:3:"290";s:6:"дун";s:3:"291";s:6:"иде";s:3:"292";s:6:"ион";s:3:"293";s:6:"ирл";s:3:"294";s:6:"ишг";s:3:"295";s:6:"йха";s:3:"296";s:6:"кел";s:3:"297";s:6:"кўп";s:3:"298";s:6:"лио";s:3:"299";}s:10:"vietnamese";a:300:{s:3:"ng ";s:1:"0";s:3:" th";s:1:"1";s:3:" ch";s:1:"2";s:3:"g t";s:1:"3";s:3:" nh";s:1:"4";s:4:"ông";s:1:"5";s:3:" kh";s:1:"6";s:3:" tr";s:1:"7";s:3:"nh ";s:1:"8";s:4:" cô";s:1:"9";s:4:"côn";s:2:"10";s:3:" ty";s:2:"11";s:3:"ty ";s:2:"12";s:3:"i t";s:2:"13";s:3:"n t";s:2:"14";s:3:" ng";s:2:"15";s:5:"ại ";s:2:"16";s:3:" ti";s:2:"17";s:3:"ch ";s:2:"18";s:3:"y l";s:2:"19";s:5:"ền ";s:2:"20";s:5:" đư";s:2:"21";s:3:"hi ";s:2:"22";s:5:" gở";s:2:"23";s:5:"gởi";s:2:"24";s:5:"iền";s:2:"25";s:5:"tiề";s:2:"26";s:5:"ởi ";s:2:"27";s:3:" gi";s:2:"28";s:3:" le";s:2:"29";s:3:" vi";s:2:"30";s:3:"cho";s:2:"31";s:3:"ho ";s:2:"32";s:4:"khá";s:2:"33";s:4:" và";s:2:"34";s:4:"hác";s:2:"35";s:3:" ph";s:2:"36";s:3:"am ";s:2:"37";s:4:"hàn";s:2:"38";s:4:"ách";s:2:"39";s:4:"ôi ";s:2:"40";s:3:"i n";s:2:"41";s:6:"ược";s:2:"42";s:5:"ợc ";s:2:"43";s:4:" tô";s:2:"44";s:4:"chú";s:2:"45";s:5:"iệt";s:2:"46";s:4:"tôi";s:2:"47";s:4:"ên ";s:2:"48";s:4:"úng";s:2:"49";s:5:"ệt ";s:2:"50";s:4:" có";s:2:"51";s:3:"c t";s:2:"52";s:4:"có ";s:2:"53";s:4:"hún";s:2:"54";s:5:"việ";s:2:"55";s:7:"đượ";s:2:"56";s:3:" na";s:2:"57";s:3:"g c";s:2:"58";s:3:"i c";s:2:"59";s:3:"n c";s:2:"60";s:3:"n n";s:2:"61";s:3:"t n";s:2:"62";s:4:"và ";s:2:"63";s:3:"n l";s:2:"64";s:4:"n đ";s:2:"65";s:4:"àng";s:2:"66";s:4:"ác ";s:2:"67";s:5:"ất ";s:2:"68";s:3:"h l";s:2:"69";s:3:"nam";s:2:"70";s:4:"ân ";s:2:"71";s:4:"ăm ";s:2:"72";s:4:" hà";s:2:"73";s:4:" là";s:2:"74";s:4:" nă";s:2:"75";s:3:" qu";s:2:"76";s:5:" tạ";s:2:"77";s:3:"g m";s:2:"78";s:4:"năm";s:2:"79";s:5:"tại";s:2:"80";s:5:"ới ";s:2:"81";s:5:" lẹ";s:2:"82";s:3:"ay ";s:2:"83";s:3:"e g";s:2:"84";s:3:"h h";s:2:"85";s:3:"i v";s:2:"86";s:4:"i đ";s:2:"87";s:3:"le ";s:2:"88";s:5:"lẹ ";s:2:"89";s:5:"ều ";s:2:"90";s:5:"ời ";s:2:"91";s:4:"hân";s:2:"92";s:3:"nhi";s:2:"93";s:3:"t t";s:2:"94";s:5:" củ";s:2:"95";s:5:" mộ";s:2:"96";s:5:" về";s:2:"97";s:4:" đi";s:2:"98";s:3:"an ";s:2:"99";s:5:"của";s:3:"100";s:4:"là ";s:3:"101";s:5:"một";s:3:"102";s:5:"về ";s:3:"103";s:4:"ành";s:3:"104";s:5:"ết ";s:3:"105";s:5:"ột ";s:3:"106";s:5:"ủa ";s:3:"107";s:3:" bi";s:3:"108";s:4:" cá";s:3:"109";s:3:"a c";s:3:"110";s:3:"anh";s:3:"111";s:4:"các";s:3:"112";s:3:"h c";s:3:"113";s:5:"iều";s:3:"114";s:3:"m t";s:3:"115";s:5:"ện ";s:3:"116";s:3:" ho";s:3:"117";s:3:"'s ";s:3:"118";s:3:"ave";s:3:"119";s:3:"e's";s:3:"120";s:3:"el ";s:3:"121";s:3:"g n";s:3:"122";s:3:"le'";s:3:"123";s:3:"n v";s:3:"124";s:3:"o c";s:3:"125";s:3:"rav";s:3:"126";s:3:"s t";s:3:"127";s:3:"thi";s:3:"128";s:3:"tra";s:3:"129";s:3:"vel";s:3:"130";s:5:"ận ";s:3:"131";s:5:"ến ";s:3:"132";s:3:" ba";s:3:"133";s:3:" cu";s:3:"134";s:3:" sa";s:3:"135";s:5:" đó";s:3:"136";s:6:" đế";s:3:"137";s:3:"c c";s:3:"138";s:3:"chu";s:3:"139";s:5:"hiề";s:3:"140";s:3:"huy";s:3:"141";s:3:"khi";s:3:"142";s:4:"nhâ";s:3:"143";s:4:"như";s:3:"144";s:3:"ong";s:3:"145";s:3:"ron";s:3:"146";s:3:"thu";s:3:"147";s:4:"thư";s:3:"148";s:3:"tro";s:3:"149";s:3:"y c";s:3:"150";s:4:"ày ";s:3:"151";s:6:"đến";s:3:"152";s:6:"ười";s:3:"153";s:6:"ườn";s:3:"154";s:5:"ề v";s:3:"155";s:5:"ờng";s:3:"156";s:5:" vớ";s:3:"157";s:5:"cuộ";s:3:"158";s:4:"g đ";s:3:"159";s:5:"iết";s:3:"160";s:5:"iện";s:3:"161";s:4:"ngà";s:3:"162";s:3:"o t";s:3:"163";s:3:"u c";s:3:"164";s:5:"uộc";s:3:"165";s:5:"với";s:3:"166";s:4:"à c";s:3:"167";s:4:"ài ";s:3:"168";s:4:"ơng";s:3:"169";s:5:"ươn";s:3:"170";s:5:"ải ";s:3:"171";s:5:"ộc ";s:3:"172";s:5:"ức ";s:3:"173";s:3:" an";s:3:"174";s:5:" lậ";s:3:"175";s:3:" ra";s:3:"176";s:5:" sẽ";s:3:"177";s:5:" số";s:3:"178";s:5:" tổ";s:3:"179";s:3:"a k";s:3:"180";s:5:"biế";s:3:"181";s:3:"c n";s:3:"182";s:4:"c đ";s:3:"183";s:5:"chứ";s:3:"184";s:3:"g v";s:3:"185";s:3:"gia";s:3:"186";s:4:"gày";s:3:"187";s:4:"hán";s:3:"188";s:4:"hôn";s:3:"189";s:4:"hư ";s:3:"190";s:5:"hức";s:3:"191";s:3:"i g";s:3:"192";s:3:"i h";s:3:"193";s:3:"i k";s:3:"194";s:3:"i p";s:3:"195";s:4:"iên";s:3:"196";s:4:"khô";s:3:"197";s:5:"lập";s:3:"198";s:3:"n k";s:3:"199";s:3:"ra ";s:3:"200";s:4:"rên";s:3:"201";s:5:"sẽ ";s:3:"202";s:3:"t c";s:3:"203";s:4:"thà";s:3:"204";s:4:"trê";s:3:"205";s:5:"tổ ";s:3:"206";s:3:"u n";s:3:"207";s:3:"y t";s:3:"208";s:4:"ình";s:3:"209";s:5:"ấy ";s:3:"210";s:5:"ập ";s:3:"211";s:5:"ổ c";s:3:"212";s:4:" má";s:3:"213";s:6:" để";s:3:"214";s:3:"ai ";s:3:"215";s:3:"c s";s:3:"216";s:6:"gườ";s:3:"217";s:3:"h v";s:3:"218";s:3:"hoa";s:3:"219";s:5:"hoạ";s:3:"220";s:3:"inh";s:3:"221";s:3:"m n";s:3:"222";s:4:"máy";s:3:"223";s:3:"n g";s:3:"224";s:4:"ngư";s:3:"225";s:5:"nhậ";s:3:"226";s:3:"o n";s:3:"227";s:3:"oa ";s:3:"228";s:4:"oàn";s:3:"229";s:3:"p c";s:3:"230";s:5:"số ";s:3:"231";s:4:"t đ";s:3:"232";s:3:"y v";s:3:"233";s:4:"ào ";s:3:"234";s:4:"áy ";s:3:"235";s:4:"ăn ";s:3:"236";s:5:"đó ";s:3:"237";s:6:"để ";s:3:"238";s:6:"ước";s:3:"239";s:5:"ần ";s:3:"240";s:5:"ển ";s:3:"241";s:5:"ớc ";s:3:"242";s:4:" bá";s:3:"243";s:4:" cơ";s:3:"244";s:5:" cả";s:3:"245";s:5:" cầ";s:3:"246";s:5:" họ";s:3:"247";s:5:" kỳ";s:3:"248";s:3:" li";s:3:"249";s:5:" mạ";s:3:"250";s:5:" sở";s:3:"251";s:5:" tặ";s:3:"252";s:4:" vé";s:3:"253";s:5:" vụ";s:3:"254";s:6:" đạ";s:3:"255";s:4:"a đ";s:3:"256";s:3:"bay";s:3:"257";s:4:"cơ ";s:3:"258";s:3:"g s";s:3:"259";s:3:"han";s:3:"260";s:5:"hươ";s:3:"261";s:3:"i s";s:3:"262";s:5:"kỳ ";s:3:"263";s:3:"m c";s:3:"264";s:3:"n m";s:3:"265";s:3:"n p";s:3:"266";s:3:"o b";s:3:"267";s:5:"oại";s:3:"268";s:3:"qua";s:3:"269";s:5:"sở ";s:3:"270";s:3:"tha";s:3:"271";s:4:"thá";s:3:"272";s:5:"tặn";s:3:"273";s:4:"vào";s:3:"274";s:4:"vé ";s:3:"275";s:5:"vụ ";s:3:"276";s:3:"y b";s:3:"277";s:4:"àn ";s:3:"278";s:4:"áng";s:3:"279";s:4:"ơ s";s:3:"280";s:5:"ầu ";s:3:"281";s:5:"ật ";s:3:"282";s:5:"ặng";s:3:"283";s:5:"ọc ";s:3:"284";s:5:"ở t";s:3:"285";s:5:"ững";s:3:"286";s:3:" du";s:3:"287";s:3:" lu";s:3:"288";s:3:" ta";s:3:"289";s:3:" to";s:3:"290";s:5:" từ";s:3:"291";s:5:" ở ";s:3:"292";s:3:"a v";s:3:"293";s:3:"ao ";s:3:"294";s:3:"c v";s:3:"295";s:5:"cả ";s:3:"296";s:3:"du ";s:3:"297";s:3:"g l";s:3:"298";s:5:"giả";s:3:"299";}s:5:"welsh";a:300:{s:3:"yn ";s:1:"0";s:3:"dd ";s:1:"1";s:3:" yn";s:1:"2";s:3:" y ";s:1:"3";s:3:"ydd";s:1:"4";s:3:"eth";s:1:"5";s:3:"th ";s:1:"6";s:3:" i ";s:1:"7";s:3:"aet";s:1:"8";s:3:"d y";s:1:"9";s:3:"ch ";s:2:"10";s:3:"od ";s:2:"11";s:3:"ol ";s:2:"12";s:3:"edd";s:2:"13";s:3:" ga";s:2:"14";s:3:" gw";s:2:"15";s:3:"'r ";s:2:"16";s:3:"au ";s:2:"17";s:3:"ddi";s:2:"18";s:3:"ad ";s:2:"19";s:3:" cy";s:2:"20";s:3:" gy";s:2:"21";s:3:" ei";s:2:"22";s:3:" o ";s:2:"23";s:3:"iad";s:2:"24";s:3:"yr ";s:2:"25";s:3:"an ";s:2:"26";s:3:"bod";s:2:"27";s:3:"wed";s:2:"28";s:3:" bo";s:2:"29";s:3:" dd";s:2:"30";s:3:"el ";s:2:"31";s:3:"n y";s:2:"32";s:3:" am";s:2:"33";s:3:"di ";s:2:"34";s:3:"edi";s:2:"35";s:3:"on ";s:2:"36";s:3:" we";s:2:"37";s:3:" ym";s:2:"38";s:3:" ar";s:2:"39";s:3:" rh";s:2:"40";s:3:"odd";s:2:"41";s:3:" ca";s:2:"42";s:3:" ma";s:2:"43";s:3:"ael";s:2:"44";s:3:"oed";s:2:"45";s:3:"dae";s:2:"46";s:3:"n a";s:2:"47";s:3:"dda";s:2:"48";s:3:"er ";s:2:"49";s:3:"h y";s:2:"50";s:3:"all";s:2:"51";s:3:"ei ";s:2:"52";s:3:" ll";s:2:"53";s:3:"am ";s:2:"54";s:3:"eu ";s:2:"55";s:3:"fod";s:2:"56";s:3:"fyd";s:2:"57";s:3:"l y";s:2:"58";s:3:"n g";s:2:"59";s:3:"wyn";s:2:"60";s:3:"d a";s:2:"61";s:3:"i g";s:2:"62";s:3:"mae";s:2:"63";s:3:"neu";s:2:"64";s:3:"os ";s:2:"65";s:3:" ne";s:2:"66";s:3:"d i";s:2:"67";s:3:"dod";s:2:"68";s:3:"dol";s:2:"69";s:3:"n c";s:2:"70";s:3:"r h";s:2:"71";s:3:"wyd";s:2:"72";s:3:"wyr";s:2:"73";s:3:"ai ";s:2:"74";s:3:"ar ";s:2:"75";s:3:"in ";s:2:"76";s:3:"rth";s:2:"77";s:3:" fy";s:2:"78";s:3:" he";s:2:"79";s:3:" me";s:2:"80";s:3:" yr";s:2:"81";s:3:"'n ";s:2:"82";s:3:"dia";s:2:"83";s:3:"est";s:2:"84";s:3:"h c";s:2:"85";s:3:"hai";s:2:"86";s:3:"i d";s:2:"87";s:3:"id ";s:2:"88";s:3:"r y";s:2:"89";s:3:"y b";s:2:"90";s:3:" dy";s:2:"91";s:3:" ha";s:2:"92";s:3:"ada";s:2:"93";s:3:"i b";s:2:"94";s:3:"n i";s:2:"95";s:3:"ote";s:2:"96";s:3:"rot";s:2:"97";s:3:"tes";s:2:"98";s:3:"y g";s:2:"99";s:3:"yd ";s:3:"100";s:3:" ad";s:3:"101";s:3:" mr";s:3:"102";s:3:" un";s:3:"103";s:3:"cyn";s:3:"104";s:3:"dau";s:3:"105";s:3:"ddy";s:3:"106";s:3:"edo";s:3:"107";s:3:"i c";s:3:"108";s:3:"i w";s:3:"109";s:3:"ith";s:3:"110";s:3:"lae";s:3:"111";s:3:"lla";s:3:"112";s:3:"nd ";s:3:"113";s:3:"oda";s:3:"114";s:3:"ryd";s:3:"115";s:3:"tho";s:3:"116";s:3:" a ";s:3:"117";s:3:" dr";s:3:"118";s:3:"aid";s:3:"119";s:3:"ain";s:3:"120";s:3:"ddo";s:3:"121";s:3:"dyd";s:3:"122";s:3:"fyn";s:3:"123";s:3:"gyn";s:3:"124";s:3:"hol";s:3:"125";s:3:"io ";s:3:"126";s:3:"o a";s:3:"127";s:3:"wch";s:3:"128";s:3:"wyb";s:3:"129";s:3:"ybo";s:3:"130";s:3:"ych";s:3:"131";s:3:" br";s:3:"132";s:3:" by";s:3:"133";s:3:" di";s:3:"134";s:3:" fe";s:3:"135";s:3:" na";s:3:"136";s:3:" o'";s:3:"137";s:3:" pe";s:3:"138";s:3:"art";s:3:"139";s:3:"byd";s:3:"140";s:3:"dro";s:3:"141";s:3:"gal";s:3:"142";s:3:"l e";s:3:"143";s:3:"lai";s:3:"144";s:3:"mr ";s:3:"145";s:3:"n n";s:3:"146";s:3:"r a";s:3:"147";s:3:"rhy";s:3:"148";s:3:"wn ";s:3:"149";s:3:"ynn";s:3:"150";s:3:" on";s:3:"151";s:3:" r ";s:3:"152";s:3:"cae";s:3:"153";s:3:"d g";s:3:"154";s:3:"d o";s:3:"155";s:3:"d w";s:3:"156";s:3:"gan";s:3:"157";s:3:"gwy";s:3:"158";s:3:"n d";s:3:"159";s:3:"n f";s:3:"160";s:3:"n o";s:3:"161";s:3:"ned";s:3:"162";s:3:"ni ";s:3:"163";s:3:"o'r";s:3:"164";s:3:"r d";s:3:"165";s:3:"ud ";s:3:"166";s:3:"wei";s:3:"167";s:3:"wrt";s:3:"168";s:3:" an";s:3:"169";s:3:" cw";s:3:"170";s:3:" da";s:3:"171";s:3:" ni";s:3:"172";s:3:" pa";s:3:"173";s:3:" pr";s:3:"174";s:3:" wy";s:3:"175";s:3:"d e";s:3:"176";s:3:"dai";s:3:"177";s:3:"dim";s:3:"178";s:3:"eud";s:3:"179";s:3:"gwa";s:3:"180";s:3:"idd";s:3:"181";s:3:"im ";s:3:"182";s:3:"iri";s:3:"183";s:3:"lwy";s:3:"184";s:3:"n b";s:3:"185";s:3:"nol";s:3:"186";s:3:"r o";s:3:"187";s:3:"rwy";s:3:"188";s:3:" ch";s:3:"189";s:3:" er";s:3:"190";s:3:" fo";s:3:"191";s:3:" ge";s:3:"192";s:3:" hy";s:3:"193";s:3:" i'";s:3:"194";s:3:" ro";s:3:"195";s:3:" sa";s:3:"196";s:3:" tr";s:3:"197";s:3:"bob";s:3:"198";s:3:"cwy";s:3:"199";s:3:"cyf";s:3:"200";s:3:"dio";s:3:"201";s:3:"dyn";s:3:"202";s:3:"eit";s:3:"203";s:3:"hel";s:3:"204";s:3:"hyn";s:3:"205";s:3:"ich";s:3:"206";s:3:"ll ";s:3:"207";s:3:"mdd";s:3:"208";s:3:"n r";s:3:"209";s:3:"ond";s:3:"210";s:3:"pro";s:3:"211";s:3:"r c";s:3:"212";s:3:"r g";s:3:"213";s:3:"red";s:3:"214";s:3:"rha";s:3:"215";s:3:"u a";s:3:"216";s:3:"u c";s:3:"217";s:3:"u y";s:3:"218";s:3:"y c";s:3:"219";s:3:"ymd";s:3:"220";s:3:"ymr";s:3:"221";s:3:"yw ";s:3:"222";s:3:" ac";s:3:"223";s:3:" be";s:3:"224";s:3:" bl";s:3:"225";s:3:" co";s:3:"226";s:3:" os";s:3:"227";s:3:"adw";s:3:"228";s:3:"ae ";s:3:"229";s:3:"af ";s:3:"230";s:3:"d p";s:3:"231";s:3:"efn";s:3:"232";s:3:"eic";s:3:"233";s:3:"en ";s:3:"234";s:3:"eol";s:3:"235";s:3:"es ";s:3:"236";s:3:"fer";s:3:"237";s:3:"gel";s:3:"238";s:3:"h g";s:3:"239";s:3:"hod";s:3:"240";s:3:"ied";s:3:"241";s:3:"ir ";s:3:"242";s:3:"laf";s:3:"243";s:3:"n h";s:3:"244";s:3:"na ";s:3:"245";s:3:"nyd";s:3:"246";s:3:"odo";s:3:"247";s:3:"ofy";s:3:"248";s:3:"rdd";s:3:"249";s:3:"rie";s:3:"250";s:3:"ros";s:3:"251";s:3:"stw";s:3:"252";s:3:"twy";s:3:"253";s:3:"yda";s:3:"254";s:3:"yng";s:3:"255";s:3:" at";s:3:"256";s:3:" de";s:3:"257";s:3:" go";s:3:"258";s:3:" id";s:3:"259";s:3:" oe";s:3:"260";s:4:" â ";s:3:"261";s:3:"'ch";s:3:"262";s:3:"ac ";s:3:"263";s:3:"ach";s:3:"264";s:3:"ae'";s:3:"265";s:3:"al ";s:3:"266";s:3:"bl ";s:3:"267";s:3:"d c";s:3:"268";s:3:"d l";s:3:"269";s:3:"dan";s:3:"270";s:3:"dde";s:3:"271";s:3:"ddw";s:3:"272";s:3:"dir";s:3:"273";s:3:"dla";s:3:"274";s:3:"ed ";s:3:"275";s:3:"ela";s:3:"276";s:3:"ell";s:3:"277";s:3:"ene";s:3:"278";s:3:"ewn";s:3:"279";s:3:"gyd";s:3:"280";s:3:"hau";s:3:"281";s:3:"hyw";s:3:"282";s:3:"i a";s:3:"283";s:3:"i f";s:3:"284";s:3:"iol";s:3:"285";s:3:"ion";s:3:"286";s:3:"l a";s:3:"287";s:3:"l i";s:3:"288";s:3:"lia";s:3:"289";s:3:"med";s:3:"290";s:3:"mon";s:3:"291";s:3:"n s";s:3:"292";s:3:"no ";s:3:"293";s:3:"obl";s:3:"294";s:3:"ola";s:3:"295";s:3:"ref";s:3:"296";s:3:"rn ";s:3:"297";s:3:"thi";s:3:"298";s:3:"un ";s:3:"299";}}s:18:"trigram-unicodemap";a:13:{s:11:"Basic Latin";a:38:{s:8:"albanian";i:661;s:5:"azeri";i:653;s:7:"bengali";i:1;s:7:"cebuano";i:750;s:8:"croatian";i:733;s:5:"czech";i:652;s:6:"danish";i:734;s:5:"dutch";i:741;s:7:"english";i:723;s:8:"estonian";i:739;s:7:"finnish";i:743;s:6:"french";i:733;s:6:"german";i:750;s:5:"hausa";i:752;s:8:"hawaiian";i:751;s:9:"hungarian";i:693;s:9:"icelandic";i:662;s:10:"indonesian";i:776;s:7:"italian";i:741;s:5:"latin";i:764;s:7:"latvian";i:693;s:10:"lithuanian";i:738;s:9:"mongolian";i:19;s:9:"norwegian";i:742;s:6:"pidgin";i:702;s:6:"polish";i:701;s:10:"portuguese";i:726;s:8:"romanian";i:714;s:6:"slovak";i:677;s:7:"slovene";i:740;s:6:"somali";i:755;s:7:"spanish";i:749;s:7:"swahili";i:770;s:7:"swedish";i:717;s:7:"tagalog";i:767;s:7:"turkish";i:673;s:10:"vietnamese";i:503;s:5:"welsh";i:728;}s:18:"Latin-1 Supplement";a:21:{s:8:"albanian";i:68;s:5:"azeri";i:10;s:5:"czech";i:51;s:6:"danish";i:13;s:8:"estonian";i:19;s:7:"finnish";i:39;s:6:"french";i:21;s:6:"german";i:8;s:9:"hungarian";i:72;s:9:"icelandic";i:80;s:7:"italian";i:3;s:9:"norwegian";i:5;s:6:"polish";i:6;s:10:"portuguese";i:18;s:8:"romanian";i:9;s:6:"slovak";i:37;s:7:"spanish";i:6;s:7:"swedish";i:26;s:7:"turkish";i:25;s:10:"vietnamese";i:56;s:5:"welsh";i:1;}s:14:"[Malformatted]";a:42:{s:8:"albanian";i:68;s:6:"arabic";i:724;s:5:"azeri";i:109;s:7:"bengali";i:1472;s:9:"bulgarian";i:750;s:8:"croatian";i:10;s:5:"czech";i:78;s:6:"danish";i:13;s:8:"estonian";i:19;s:5:"farsi";i:706;s:7:"finnish";i:39;s:6:"french";i:21;s:6:"german";i:8;s:5:"hausa";i:8;s:5:"hindi";i:1386;s:9:"hungarian";i:74;s:9:"icelandic";i:80;s:7:"italian";i:3;s:6:"kazakh";i:767;s:6:"kyrgyz";i:767;s:7:"latvian";i:56;s:10:"lithuanian";i:30;s:10:"macedonian";i:755;s:9:"mongolian";i:743;s:6:"nepali";i:1514;s:9:"norwegian";i:5;s:6:"pashto";i:677;s:6:"polish";i:45;s:10:"portuguese";i:18;s:8:"romanian";i:31;s:7:"russian";i:759;s:7:"serbian";i:757;s:6:"slovak";i:45;s:7:"slovene";i:10;s:7:"spanish";i:6;s:7:"swedish";i:26;s:7:"turkish";i:87;s:9:"ukrainian";i:748;s:4:"urdu";i:682;s:5:"uzbek";i:773;s:10:"vietnamese";i:289;s:5:"welsh";i:1;}s:6:"Arabic";a:4:{s:6:"arabic";i:724;s:5:"farsi";i:706;s:6:"pashto";i:677;s:4:"urdu";i:682;}s:16:"Latin Extended-B";a:3:{s:5:"azeri";i:73;s:5:"hausa";i:8;s:10:"vietnamese";i:19;}s:16:"Latin Extended-A";a:12:{s:5:"azeri";i:25;s:8:"croatian";i:10;s:5:"czech";i:27;s:9:"hungarian";i:2;s:7:"latvian";i:56;s:10:"lithuanian";i:30;s:6:"polish";i:39;s:8:"romanian";i:22;s:6:"slovak";i:8;s:7:"slovene";i:10;s:7:"turkish";i:62;s:10:"vietnamese";i:20;}s:27:"Combining Diacritical Marks";a:1:{s:5:"azeri";i:1;}s:7:"Bengali";a:1:{s:7:"bengali";i:714;}s:8:"Gujarati";a:1:{s:7:"bengali";i:16;}s:8:"Gurmukhi";a:1:{s:7:"bengali";i:6;}s:8:"Cyrillic";a:9:{s:9:"bulgarian";i:750;s:6:"kazakh";i:767;s:6:"kyrgyz";i:767;s:10:"macedonian";i:755;s:9:"mongolian";i:743;s:7:"russian";i:759;s:7:"serbian";i:757;s:9:"ukrainian";i:748;s:5:"uzbek";i:773;}s:10:"Devanagari";a:2:{s:5:"hindi";i:693;s:6:"nepali";i:757;}s:25:"Latin Extended Additional";a:1:{s:10:"vietnamese";i:97;}}} \ No newline at end of file
diff --git a/vendor/pear/text_languagedetect/data/unicode_blocks.dat b/vendor/pear/text_languagedetect/data/unicode_blocks.dat
new file mode 100644
index 000000000..1f66cac72
--- /dev/null
+++ b/vendor/pear/text_languagedetect/data/unicode_blocks.dat
@@ -0,0 +1 @@
+a:145:{i:0;a:3:{i:0;i:0;i:1;i:127;i:2;s:11:"Basic Latin";}i:1;a:3:{i:0;i:128;i:1;i:255;i:2;s:18:"Latin-1 Supplement";}i:2;a:3:{i:0;i:256;i:1;i:383;i:2;s:16:"Latin Extended-A";}i:3;a:3:{i:0;i:384;i:1;i:591;i:2;s:16:"Latin Extended-B";}i:4;a:3:{i:0;i:592;i:1;i:687;i:2;s:14:"IPA Extensions";}i:5;a:3:{i:0;i:688;i:1;i:767;i:2;s:24:"Spacing Modifier Letters";}i:6;a:3:{i:0;i:768;i:1;i:879;i:2;s:27:"Combining Diacritical Marks";}i:7;a:3:{i:0;i:880;i:1;i:1023;i:2;s:16:"Greek and Coptic";}i:8;a:3:{i:0;i:1024;i:1;i:1279;i:2;s:8:"Cyrillic";}i:9;a:3:{i:0;i:1280;i:1;i:1327;i:2;s:19:"Cyrillic Supplement";}i:10;a:3:{i:0;i:1328;i:1;i:1423;i:2;s:8:"Armenian";}i:11;a:3:{i:0;i:1424;i:1;i:1535;i:2;s:6:"Hebrew";}i:12;a:3:{i:0;i:1536;i:1;i:1791;i:2;s:6:"Arabic";}i:13;a:3:{i:0;i:1792;i:1;i:1871;i:2;s:6:"Syriac";}i:14;a:3:{i:0;i:1872;i:1;i:1919;i:2;s:17:"Arabic Supplement";}i:15;a:3:{i:0;i:1920;i:1;i:1983;i:2;s:6:"Thaana";}i:16;a:3:{i:0;i:2304;i:1;i:2431;i:2;s:10:"Devanagari";}i:17;a:3:{i:0;i:2432;i:1;i:2559;i:2;s:7:"Bengali";}i:18;a:3:{i:0;i:2560;i:1;i:2687;i:2;s:8:"Gurmukhi";}i:19;a:3:{i:0;i:2688;i:1;i:2815;i:2;s:8:"Gujarati";}i:20;a:3:{i:0;i:2816;i:1;i:2943;i:2;s:5:"Oriya";}i:21;a:3:{i:0;i:2944;i:1;i:3071;i:2;s:5:"Tamil";}i:22;a:3:{i:0;i:3072;i:1;i:3199;i:2;s:6:"Telugu";}i:23;a:3:{i:0;i:3200;i:1;i:3327;i:2;s:7:"Kannada";}i:24;a:3:{i:0;i:3328;i:1;i:3455;i:2;s:9:"Malayalam";}i:25;a:3:{i:0;i:3456;i:1;i:3583;i:2;s:7:"Sinhala";}i:26;a:3:{i:0;i:3584;i:1;i:3711;i:2;s:4:"Thai";}i:27;a:3:{i:0;i:3712;i:1;i:3839;i:2;s:3:"Lao";}i:28;a:3:{i:0;i:3840;i:1;i:4095;i:2;s:7:"Tibetan";}i:29;a:3:{i:0;i:4096;i:1;i:4255;i:2;s:7:"Myanmar";}i:30;a:3:{i:0;i:4256;i:1;i:4351;i:2;s:8:"Georgian";}i:31;a:3:{i:0;i:4352;i:1;i:4607;i:2;s:11:"Hangul Jamo";}i:32;a:3:{i:0;i:4608;i:1;i:4991;i:2;s:8:"Ethiopic";}i:33;a:3:{i:0;i:4992;i:1;i:5023;i:2;s:19:"Ethiopic Supplement";}i:34;a:3:{i:0;i:5024;i:1;i:5119;i:2;s:8:"Cherokee";}i:35;a:3:{i:0;i:5120;i:1;i:5759;i:2;s:37:"Unified Canadian Aboriginal Syllabics";}i:36;a:3:{i:0;i:5760;i:1;i:5791;i:2;s:5:"Ogham";}i:37;a:3:{i:0;i:5792;i:1;i:5887;i:2;s:5:"Runic";}i:38;a:3:{i:0;i:5888;i:1;i:5919;i:2;s:7:"Tagalog";}i:39;a:3:{i:0;i:5920;i:1;i:5951;i:2;s:7:"Hanunoo";}i:40;a:3:{i:0;i:5952;i:1;i:5983;i:2;s:5:"Buhid";}i:41;a:3:{i:0;i:5984;i:1;i:6015;i:2;s:8:"Tagbanwa";}i:42;a:3:{i:0;i:6016;i:1;i:6143;i:2;s:5:"Khmer";}i:43;a:3:{i:0;i:6144;i:1;i:6319;i:2;s:9:"Mongolian";}i:44;a:3:{i:0;i:6400;i:1;i:6479;i:2;s:5:"Limbu";}i:45;a:3:{i:0;i:6480;i:1;i:6527;i:2;s:6:"Tai Le";}i:46;a:3:{i:0;i:6528;i:1;i:6623;i:2;s:11:"New Tai Lue";}i:47;a:3:{i:0;i:6624;i:1;i:6655;i:2;s:13:"Khmer Symbols";}i:48;a:3:{i:0;i:6656;i:1;i:6687;i:2;s:8:"Buginese";}i:49;a:3:{i:0;i:7424;i:1;i:7551;i:2;s:19:"Phonetic Extensions";}i:50;a:3:{i:0;i:7552;i:1;i:7615;i:2;s:30:"Phonetic Extensions Supplement";}i:51;a:3:{i:0;i:7616;i:1;i:7679;i:2;s:38:"Combining Diacritical Marks Supplement";}i:52;a:3:{i:0;i:7680;i:1;i:7935;i:2;s:25:"Latin Extended Additional";}i:53;a:3:{i:0;i:7936;i:1;i:8191;i:2;s:14:"Greek Extended";}i:54;a:3:{i:0;i:8192;i:1;i:8303;i:2;s:19:"General Punctuation";}i:55;a:3:{i:0;i:8304;i:1;i:8351;i:2;s:27:"Superscripts and Subscripts";}i:56;a:3:{i:0;i:8352;i:1;i:8399;i:2;s:16:"Currency Symbols";}i:57;a:3:{i:0;i:8400;i:1;i:8447;i:2;s:39:"Combining Diacritical Marks for Symbols";}i:58;a:3:{i:0;i:8448;i:1;i:8527;i:2;s:18:"Letterlike Symbols";}i:59;a:3:{i:0;i:8528;i:1;i:8591;i:2;s:12:"Number Forms";}i:60;a:3:{i:0;i:8592;i:1;i:8703;i:2;s:6:"Arrows";}i:61;a:3:{i:0;i:8704;i:1;i:8959;i:2;s:22:"Mathematical Operators";}i:62;a:3:{i:0;i:8960;i:1;i:9215;i:2;s:23:"Miscellaneous Technical";}i:63;a:3:{i:0;i:9216;i:1;i:9279;i:2;s:16:"Control Pictures";}i:64;a:3:{i:0;i:9280;i:1;i:9311;i:2;s:29:"Optical Character Recognition";}i:65;a:3:{i:0;i:9312;i:1;i:9471;i:2;s:22:"Enclosed Alphanumerics";}i:66;a:3:{i:0;i:9472;i:1;i:9599;i:2;s:11:"Box Drawing";}i:67;a:3:{i:0;i:9600;i:1;i:9631;i:2;s:14:"Block Elements";}i:68;a:3:{i:0;i:9632;i:1;i:9727;i:2;s:16:"Geometric Shapes";}i:69;a:3:{i:0;i:9728;i:1;i:9983;i:2;s:21:"Miscellaneous Symbols";}i:70;a:3:{i:0;i:9984;i:1;i:10175;i:2;s:8:"Dingbats";}i:71;a:3:{i:0;i:10176;i:1;i:10223;i:2;s:36:"Miscellaneous Mathematical Symbols-A";}i:72;a:3:{i:0;i:10224;i:1;i:10239;i:2;s:21:"Supplemental Arrows-A";}i:73;a:3:{i:0;i:10240;i:1;i:10495;i:2;s:16:"Braille Patterns";}i:74;a:3:{i:0;i:10496;i:1;i:10623;i:2;s:21:"Supplemental Arrows-B";}i:75;a:3:{i:0;i:10624;i:1;i:10751;i:2;s:36:"Miscellaneous Mathematical Symbols-B";}i:76;a:3:{i:0;i:10752;i:1;i:11007;i:2;s:35:"Supplemental Mathematical Operators";}i:77;a:3:{i:0;i:11008;i:1;i:11263;i:2;s:32:"Miscellaneous Symbols and Arrows";}i:78;a:3:{i:0;i:11264;i:1;i:11359;i:2;s:10:"Glagolitic";}i:79;a:3:{i:0;i:11392;i:1;i:11519;i:2;s:6:"Coptic";}i:80;a:3:{i:0;i:11520;i:1;i:11567;i:2;s:19:"Georgian Supplement";}i:81;a:3:{i:0;i:11568;i:1;i:11647;i:2;s:8:"Tifinagh";}i:82;a:3:{i:0;i:11648;i:1;i:11743;i:2;s:17:"Ethiopic Extended";}i:83;a:3:{i:0;i:11776;i:1;i:11903;i:2;s:24:"Supplemental Punctuation";}i:84;a:3:{i:0;i:11904;i:1;i:12031;i:2;s:23:"CJK Radicals Supplement";}i:85;a:3:{i:0;i:12032;i:1;i:12255;i:2;s:15:"Kangxi Radicals";}i:86;a:3:{i:0;i:12272;i:1;i:12287;i:2;s:34:"Ideographic Description Characters";}i:87;a:3:{i:0;i:12288;i:1;i:12351;i:2;s:27:"CJK Symbols and Punctuation";}i:88;a:3:{i:0;i:12352;i:1;i:12447;i:2;s:8:"Hiragana";}i:89;a:3:{i:0;i:12448;i:1;i:12543;i:2;s:8:"Katakana";}i:90;a:3:{i:0;i:12544;i:1;i:12591;i:2;s:8:"Bopomofo";}i:91;a:3:{i:0;i:12592;i:1;i:12687;i:2;s:25:"Hangul Compatibility Jamo";}i:92;a:3:{i:0;i:12688;i:1;i:12703;i:2;s:6:"Kanbun";}i:93;a:3:{i:0;i:12704;i:1;i:12735;i:2;s:17:"Bopomofo Extended";}i:94;a:3:{i:0;i:12736;i:1;i:12783;i:2;s:11:"CJK Strokes";}i:95;a:3:{i:0;i:12784;i:1;i:12799;i:2;s:28:"Katakana Phonetic Extensions";}i:96;a:3:{i:0;i:12800;i:1;i:13055;i:2;s:31:"Enclosed CJK Letters and Months";}i:97;a:3:{i:0;i:13056;i:1;i:13311;i:2;s:17:"CJK Compatibility";}i:98;a:3:{i:0;i:13312;i:1;i:19903;i:2;s:34:"CJK Unified Ideographs Extension A";}i:99;a:3:{i:0;i:19904;i:1;i:19967;i:2;s:23:"Yijing Hexagram Symbols";}i:100;a:3:{i:0;i:19968;i:1;i:40959;i:2;s:22:"CJK Unified Ideographs";}i:101;a:3:{i:0;i:40960;i:1;i:42127;i:2;s:12:"Yi Syllables";}i:102;a:3:{i:0;i:42128;i:1;i:42191;i:2;s:11:"Yi Radicals";}i:103;a:3:{i:0;i:42752;i:1;i:42783;i:2;s:21:"Modifier Tone Letters";}i:104;a:3:{i:0;i:43008;i:1;i:43055;i:2;s:12:"Syloti Nagri";}i:105;a:3:{i:0;i:44032;i:1;i:55215;i:2;s:16:"Hangul Syllables";}i:106;a:3:{i:0;i:55296;i:1;i:56191;i:2;s:15:"High Surrogates";}i:107;a:3:{i:0;i:56192;i:1;i:56319;i:2;s:27:"High Private Use Surrogates";}i:108;a:3:{i:0;i:56320;i:1;i:57343;i:2;s:14:"Low Surrogates";}i:109;a:3:{i:0;i:57344;i:1;i:63743;i:2;s:16:"Private Use Area";}i:110;a:3:{i:0;i:63744;i:1;i:64255;i:2;s:28:"CJK Compatibility Ideographs";}i:111;a:3:{i:0;i:64256;i:1;i:64335;i:2;s:29:"Alphabetic Presentation Forms";}i:112;a:3:{i:0;i:64336;i:1;i:65023;i:2;s:27:"Arabic Presentation Forms-A";}i:113;a:3:{i:0;i:65024;i:1;i:65039;i:2;s:19:"Variation Selectors";}i:114;a:3:{i:0;i:65040;i:1;i:65055;i:2;s:14:"Vertical Forms";}i:115;a:3:{i:0;i:65056;i:1;i:65071;i:2;s:20:"Combining Half Marks";}i:116;a:3:{i:0;i:65072;i:1;i:65103;i:2;s:23:"CJK Compatibility Forms";}i:117;a:3:{i:0;i:65104;i:1;i:65135;i:2;s:19:"Small Form Variants";}i:118;a:3:{i:0;i:65136;i:1;i:65279;i:2;s:27:"Arabic Presentation Forms-B";}i:119;a:3:{i:0;i:65280;i:1;i:65519;i:2;s:29:"Halfwidth and Fullwidth Forms";}i:120;a:3:{i:0;i:65520;i:1;i:65535;i:2;s:8:"Specials";}i:121;a:3:{i:0;i:65536;i:1;i:65663;i:2;s:18:"Linear B Syllabary";}i:122;a:3:{i:0;i:65664;i:1;i:65791;i:2;s:18:"Linear B Ideograms";}i:123;a:3:{i:0;i:65792;i:1;i:65855;i:2;s:14:"Aegean Numbers";}i:124;a:3:{i:0;i:65856;i:1;i:65935;i:2;s:21:"Ancient Greek Numbers";}i:125;a:3:{i:0;i:66304;i:1;i:66351;i:2;s:10:"Old Italic";}i:126;a:3:{i:0;i:66352;i:1;i:66383;i:2;s:6:"Gothic";}i:127;a:3:{i:0;i:66432;i:1;i:66463;i:2;s:8:"Ugaritic";}i:128;a:3:{i:0;i:66464;i:1;i:66527;i:2;s:11:"Old Persian";}i:129;a:3:{i:0;i:66560;i:1;i:66639;i:2;s:7:"Deseret";}i:130;a:3:{i:0;i:66640;i:1;i:66687;i:2;s:7:"Shavian";}i:131;a:3:{i:0;i:66688;i:1;i:66735;i:2;s:7:"Osmanya";}i:132;a:3:{i:0;i:67584;i:1;i:67647;i:2;s:17:"Cypriot Syllabary";}i:133;a:3:{i:0;i:68096;i:1;i:68191;i:2;s:10:"Kharoshthi";}i:134;a:3:{i:0;i:118784;i:1;i:119039;i:2;s:25:"Byzantine Musical Symbols";}i:135;a:3:{i:0;i:119040;i:1;i:119295;i:2;s:15:"Musical Symbols";}i:136;a:3:{i:0;i:119296;i:1;i:119375;i:2;s:30:"Ancient Greek Musical Notation";}i:137;a:3:{i:0;i:119552;i:1;i:119647;i:2;s:21:"Tai Xuan Jing Symbols";}i:138;a:3:{i:0;i:119808;i:1;i:120831;i:2;s:33:"Mathematical Alphanumeric Symbols";}i:139;a:3:{i:0;i:131072;i:1;i:173791;i:2;s:34:"CJK Unified Ideographs Extension B";}i:140;a:3:{i:0;i:194560;i:1;i:195103;i:2;s:39:"CJK Compatibility Ideographs Supplement";}i:141;a:3:{i:0;i:917504;i:1;i:917631;i:2;s:4:"Tags";}i:142;a:3:{i:0;i:917760;i:1;i:917999;i:2;s:30:"Variation Selectors Supplement";}i:143;a:3:{i:0;i:983040;i:1;i:1048575;i:2;s:32:"Supplementary Private Use Area-A";}i:144;a:3:{i:0;i:1048576;i:1;i:1114111;i:2;s:32:"Supplementary Private Use Area-B";}} \ No newline at end of file
diff --git a/vendor/pear/text_languagedetect/data/unicode_blocks.php b/vendor/pear/text_languagedetect/data/unicode_blocks.php
new file mode 100644
index 000000000..2be6a19d9
--- /dev/null
+++ b/vendor/pear/text_languagedetect/data/unicode_blocks.php
@@ -0,0 +1,874 @@
+<?php
+return array (
+ 0 =>
+ array (
+ 0 => 0x0000,
+ 1 => 0x007F,
+ 2 => 'Basic Latin',
+ ),
+ 1 =>
+ array (
+ 0 => 0x0080,
+ 1 => 0x00FF,
+ 2 => 'Latin-1 Supplement',
+ ),
+ 2 =>
+ array (
+ 0 => 0x0100,
+ 1 => 0x017F,
+ 2 => 'Latin Extended-A',
+ ),
+ 3 =>
+ array (
+ 0 => 0x0180,
+ 1 => 0x024F,
+ 2 => 'Latin Extended-B',
+ ),
+ 4 =>
+ array (
+ 0 => 0x0250,
+ 1 => 0x02AF,
+ 2 => 'IPA Extensions',
+ ),
+ 5 =>
+ array (
+ 0 => 0x02B0,
+ 1 => 0x02FF,
+ 2 => 'Spacing Modifier Letters',
+ ),
+ 6 =>
+ array (
+ 0 => 0x0300,
+ 1 => 0x036F,
+ 2 => 'Combining Diacritical Marks',
+ ),
+ 7 =>
+ array (
+ 0 => 0x0370,
+ 1 => 0x03FF,
+ 2 => 'Greek and Coptic',
+ ),
+ 8 =>
+ array (
+ 0 => 0x0400,
+ 1 => 0x04FF,
+ 2 => 'Cyrillic',
+ ),
+ 9 =>
+ array (
+ 0 => 0x0500,
+ 1 => 0x052F,
+ 2 => 'Cyrillic Supplement',
+ ),
+ 10 =>
+ array (
+ 0 => 0x0530,
+ 1 => 0x058F,
+ 2 => 'Armenian',
+ ),
+ 11 =>
+ array (
+ 0 => 0x0590,
+ 1 => 0x05FF,
+ 2 => 'Hebrew',
+ ),
+ 12 =>
+ array (
+ 0 => 0x0600,
+ 1 => 0x06FF,
+ 2 => 'Arabic',
+ ),
+ 13 =>
+ array (
+ 0 => 0x0700,
+ 1 => 0x074F,
+ 2 => 'Syriac',
+ ),
+ 14 =>
+ array (
+ 0 => 0x0750,
+ 1 => 0x077F,
+ 2 => 'Arabic Supplement',
+ ),
+ 15 =>
+ array (
+ 0 => 0x0780,
+ 1 => 0x07BF,
+ 2 => 'Thaana',
+ ),
+ 16 =>
+ array (
+ 0 => 0x0900,
+ 1 => 0x097F,
+ 2 => 'Devanagari',
+ ),
+ 17 =>
+ array (
+ 0 => 0x0980,
+ 1 => 0x09FF,
+ 2 => 'Bengali',
+ ),
+ 18 =>
+ array (
+ 0 => 0x0A00,
+ 1 => 0x0A7F,
+ 2 => 'Gurmukhi',
+ ),
+ 19 =>
+ array (
+ 0 => 0x0A80,
+ 1 => 0x0AFF,
+ 2 => 'Gujarati',
+ ),
+ 20 =>
+ array (
+ 0 => 0x0B00,
+ 1 => 0x0B7F,
+ 2 => 'Oriya',
+ ),
+ 21 =>
+ array (
+ 0 => 0x0B80,
+ 1 => 0x0BFF,
+ 2 => 'Tamil',
+ ),
+ 22 =>
+ array (
+ 0 => 0x0C00,
+ 1 => 0x0C7F,
+ 2 => 'Telugu',
+ ),
+ 23 =>
+ array (
+ 0 => 0x0C80,
+ 1 => 0x0CFF,
+ 2 => 'Kannada',
+ ),
+ 24 =>
+ array (
+ 0 => 0x0D00,
+ 1 => 0x0D7F,
+ 2 => 'Malayalam',
+ ),
+ 25 =>
+ array (
+ 0 => 0x0D80,
+ 1 => 0x0DFF,
+ 2 => 'Sinhala',
+ ),
+ 26 =>
+ array (
+ 0 => 0x0E00,
+ 1 => 0x0E7F,
+ 2 => 'Thai',
+ ),
+ 27 =>
+ array (
+ 0 => 0x0E80,
+ 1 => 0x0EFF,
+ 2 => 'Lao',
+ ),
+ 28 =>
+ array (
+ 0 => 0x0F00,
+ 1 => 0x0FFF,
+ 2 => 'Tibetan',
+ ),
+ 29 =>
+ array (
+ 0 => 0x1000,
+ 1 => 0x109F,
+ 2 => 'Myanmar',
+ ),
+ 30 =>
+ array (
+ 0 => 0x10A0,
+ 1 => 0x10FF,
+ 2 => 'Georgian',
+ ),
+ 31 =>
+ array (
+ 0 => 0x1100,
+ 1 => 0x11FF,
+ 2 => 'Hangul Jamo',
+ ),
+ 32 =>
+ array (
+ 0 => 0x1200,
+ 1 => 0x137F,
+ 2 => 'Ethiopic',
+ ),
+ 33 =>
+ array (
+ 0 => 0x1380,
+ 1 => 0x139F,
+ 2 => 'Ethiopic Supplement',
+ ),
+ 34 =>
+ array (
+ 0 => 0x13A0,
+ 1 => 0x13FF,
+ 2 => 'Cherokee',
+ ),
+ 35 =>
+ array (
+ 0 => 0x1400,
+ 1 => 0x167F,
+ 2 => 'Unified Canadian Aboriginal Syllabics',
+ ),
+ 36 =>
+ array (
+ 0 => 0x1680,
+ 1 => 0x169F,
+ 2 => 'Ogham',
+ ),
+ 37 =>
+ array (
+ 0 => 0x16A0,
+ 1 => 0x16FF,
+ 2 => 'Runic',
+ ),
+ 38 =>
+ array (
+ 0 => 0x1700,
+ 1 => 0x171F,
+ 2 => 'Tagalog',
+ ),
+ 39 =>
+ array (
+ 0 => 0x1720,
+ 1 => 0x173F,
+ 2 => 'Hanunoo',
+ ),
+ 40 =>
+ array (
+ 0 => 0x1740,
+ 1 => 0x175F,
+ 2 => 'Buhid',
+ ),
+ 41 =>
+ array (
+ 0 => 0x1760,
+ 1 => 0x177F,
+ 2 => 'Tagbanwa',
+ ),
+ 42 =>
+ array (
+ 0 => 0x1780,
+ 1 => 0x17FF,
+ 2 => 'Khmer',
+ ),
+ 43 =>
+ array (
+ 0 => 0x1800,
+ 1 => 0x18AF,
+ 2 => 'Mongolian',
+ ),
+ 44 =>
+ array (
+ 0 => 0x1900,
+ 1 => 0x194F,
+ 2 => 'Limbu',
+ ),
+ 45 =>
+ array (
+ 0 => 0x1950,
+ 1 => 0x197F,
+ 2 => 'Tai Le',
+ ),
+ 46 =>
+ array (
+ 0 => 0x1980,
+ 1 => 0x19DF,
+ 2 => 'New Tai Lue',
+ ),
+ 47 =>
+ array (
+ 0 => 0x19E0,
+ 1 => 0x19FF,
+ 2 => 'Khmer Symbols',
+ ),
+ 48 =>
+ array (
+ 0 => 0x1A00,
+ 1 => 0x1A1F,
+ 2 => 'Buginese',
+ ),
+ 49 =>
+ array (
+ 0 => 0x1D00,
+ 1 => 0x1D7F,
+ 2 => 'Phonetic Extensions',
+ ),
+ 50 =>
+ array (
+ 0 => 0x1D80,
+ 1 => 0x1DBF,
+ 2 => 'Phonetic Extensions Supplement',
+ ),
+ 51 =>
+ array (
+ 0 => 0x1DC0,
+ 1 => 0x1DFF,
+ 2 => 'Combining Diacritical Marks Supplement',
+ ),
+ 52 =>
+ array (
+ 0 => 0x1E00,
+ 1 => 0x1EFF,
+ 2 => 'Latin Extended Additional',
+ ),
+ 53 =>
+ array (
+ 0 => 0x1F00,
+ 1 => 0x1FFF,
+ 2 => 'Greek Extended',
+ ),
+ 54 =>
+ array (
+ 0 => 0x2000,
+ 1 => 0x206F,
+ 2 => 'General Punctuation',
+ ),
+ 55 =>
+ array (
+ 0 => 0x2070,
+ 1 => 0x209F,
+ 2 => 'Superscripts and Subscripts',
+ ),
+ 56 =>
+ array (
+ 0 => 0x20A0,
+ 1 => 0x20CF,
+ 2 => 'Currency Symbols',
+ ),
+ 57 =>
+ array (
+ 0 => 0x20D0,
+ 1 => 0x20FF,
+ 2 => 'Combining Diacritical Marks for Symbols',
+ ),
+ 58 =>
+ array (
+ 0 => 0x2100,
+ 1 => 0x214F,
+ 2 => 'Letterlike Symbols',
+ ),
+ 59 =>
+ array (
+ 0 => 0x2150,
+ 1 => 0x218F,
+ 2 => 'Number Forms',
+ ),
+ 60 =>
+ array (
+ 0 => 0x2190,
+ 1 => 0x21FF,
+ 2 => 'Arrows',
+ ),
+ 61 =>
+ array (
+ 0 => 0x2200,
+ 1 => 0x22FF,
+ 2 => 'Mathematical Operators',
+ ),
+ 62 =>
+ array (
+ 0 => 0x2300,
+ 1 => 0x23FF,
+ 2 => 'Miscellaneous Technical',
+ ),
+ 63 =>
+ array (
+ 0 => 0x2400,
+ 1 => 0x243F,
+ 2 => 'Control Pictures',
+ ),
+ 64 =>
+ array (
+ 0 => 0x2440,
+ 1 => 0x245F,
+ 2 => 'Optical Character Recognition',
+ ),
+ 65 =>
+ array (
+ 0 => 0x2460,
+ 1 => 0x24FF,
+ 2 => 'Enclosed Alphanumerics',
+ ),
+ 66 =>
+ array (
+ 0 => 0x2500,
+ 1 => 0x257F,
+ 2 => 'Box Drawing',
+ ),
+ 67 =>
+ array (
+ 0 => 0x2580,
+ 1 => 0x259F,
+ 2 => 'Block Elements',
+ ),
+ 68 =>
+ array (
+ 0 => 0x25A0,
+ 1 => 0x25FF,
+ 2 => 'Geometric Shapes',
+ ),
+ 69 =>
+ array (
+ 0 => 0x2600,
+ 1 => 0x26FF,
+ 2 => 'Miscellaneous Symbols',
+ ),
+ 70 =>
+ array (
+ 0 => 0x2700,
+ 1 => 0x27BF,
+ 2 => 'Dingbats',
+ ),
+ 71 =>
+ array (
+ 0 => 0x27C0,
+ 1 => 0x27EF,
+ 2 => 'Miscellaneous Mathematical Symbols-A',
+ ),
+ 72 =>
+ array (
+ 0 => 0x27F0,
+ 1 => 0x27FF,
+ 2 => 'Supplemental Arrows-A',
+ ),
+ 73 =>
+ array (
+ 0 => 0x2800,
+ 1 => 0x28FF,
+ 2 => 'Braille Patterns',
+ ),
+ 74 =>
+ array (
+ 0 => 0x2900,
+ 1 => 0x297F,
+ 2 => 'Supplemental Arrows-B',
+ ),
+ 75 =>
+ array (
+ 0 => 0x2980,
+ 1 => 0x29FF,
+ 2 => 'Miscellaneous Mathematical Symbols-B',
+ ),
+ 76 =>
+ array (
+ 0 => 0x2A00,
+ 1 => 0x2AFF,
+ 2 => 'Supplemental Mathematical Operators',
+ ),
+ 77 =>
+ array (
+ 0 => 0x2B00,
+ 1 => 0x2BFF,
+ 2 => 'Miscellaneous Symbols and Arrows',
+ ),
+ 78 =>
+ array (
+ 0 => 0x2C00,
+ 1 => 0x2C5F,
+ 2 => 'Glagolitic',
+ ),
+ 79 =>
+ array (
+ 0 => 0x2C80,
+ 1 => 0x2CFF,
+ 2 => 'Coptic',
+ ),
+ 80 =>
+ array (
+ 0 => 0x2D00,
+ 1 => 0x2D2F,
+ 2 => 'Georgian Supplement',
+ ),
+ 81 =>
+ array (
+ 0 => 0x2D30,
+ 1 => 0x2D7F,
+ 2 => 'Tifinagh',
+ ),
+ 82 =>
+ array (
+ 0 => 0x2D80,
+ 1 => 0x2DDF,
+ 2 => 'Ethiopic Extended',
+ ),
+ 83 =>
+ array (
+ 0 => 0x2E00,
+ 1 => 0x2E7F,
+ 2 => 'Supplemental Punctuation',
+ ),
+ 84 =>
+ array (
+ 0 => 0x2E80,
+ 1 => 0x2EFF,
+ 2 => 'CJK Radicals Supplement',
+ ),
+ 85 =>
+ array (
+ 0 => 0x2F00,
+ 1 => 0x2FDF,
+ 2 => 'Kangxi Radicals',
+ ),
+ 86 =>
+ array (
+ 0 => 0x2FF0,
+ 1 => 0x2FFF,
+ 2 => 'Ideographic Description Characters',
+ ),
+ 87 =>
+ array (
+ 0 => 0x3000,
+ 1 => 0x303F,
+ 2 => 'CJK Symbols and Punctuation',
+ ),
+ 88 =>
+ array (
+ 0 => 0x3040,
+ 1 => 0x309F,
+ 2 => 'Hiragana',
+ ),
+ 89 =>
+ array (
+ 0 => 0x30A0,
+ 1 => 0x30FF,
+ 2 => 'Katakana',
+ ),
+ 90 =>
+ array (
+ 0 => 0x3100,
+ 1 => 0x312F,
+ 2 => 'Bopomofo',
+ ),
+ 91 =>
+ array (
+ 0 => 0x3130,
+ 1 => 0x318F,
+ 2 => 'Hangul Compatibility Jamo',
+ ),
+ 92 =>
+ array (
+ 0 => 0x3190,
+ 1 => 0x319F,
+ 2 => 'Kanbun',
+ ),
+ 93 =>
+ array (
+ 0 => 0x31A0,
+ 1 => 0x31BF,
+ 2 => 'Bopomofo Extended',
+ ),
+ 94 =>
+ array (
+ 0 => 0x31C0,
+ 1 => 0x31EF,
+ 2 => 'CJK Strokes',
+ ),
+ 95 =>
+ array (
+ 0 => 0x31F0,
+ 1 => 0x31FF,
+ 2 => 'Katakana Phonetic Extensions',
+ ),
+ 96 =>
+ array (
+ 0 => 0x3200,
+ 1 => 0x32FF,
+ 2 => 'Enclosed CJK Letters and Months',
+ ),
+ 97 =>
+ array (
+ 0 => 0x3300,
+ 1 => 0x33FF,
+ 2 => 'CJK Compatibility',
+ ),
+ 98 =>
+ array (
+ 0 => 0x3400,
+ 1 => 0x4DBF,
+ 2 => 'CJK Unified Ideographs Extension A',
+ ),
+ 99 =>
+ array (
+ 0 => 0x4DC0,
+ 1 => 0x4DFF,
+ 2 => 'Yijing Hexagram Symbols',
+ ),
+ 100 =>
+ array (
+ 0 => 0x4E00,
+ 1 => 0x9FFF,
+ 2 => 'CJK Unified Ideographs',
+ ),
+ 101 =>
+ array (
+ 0 => 0xA000,
+ 1 => 0xA48F,
+ 2 => 'Yi Syllables',
+ ),
+ 102 =>
+ array (
+ 0 => 0xA490,
+ 1 => 0xA4CF,
+ 2 => 'Yi Radicals',
+ ),
+ 103 =>
+ array (
+ 0 => 0xA700,
+ 1 => 0xA71F,
+ 2 => 'Modifier Tone Letters',
+ ),
+ 104 =>
+ array (
+ 0 => 0xA800,
+ 1 => 0xA82F,
+ 2 => 'Syloti Nagri',
+ ),
+ 105 =>
+ array (
+ 0 => 0xAC00,
+ 1 => 0xD7AF,
+ 2 => 'Hangul Syllables',
+ ),
+ 106 =>
+ array (
+ 0 => 0xD800,
+ 1 => 0xDB7F,
+ 2 => 'High Surrogates',
+ ),
+ 107 =>
+ array (
+ 0 => 0xDB80,
+ 1 => 0xDBFF,
+ 2 => 'High Private Use Surrogates',
+ ),
+ 108 =>
+ array (
+ 0 => 0xDC00,
+ 1 => 0xDFFF,
+ 2 => 'Low Surrogates',
+ ),
+ 109 =>
+ array (
+ 0 => 0xE000,
+ 1 => 0xF8FF,
+ 2 => 'Private Use Area',
+ ),
+ 110 =>
+ array (
+ 0 => 0xF900,
+ 1 => 0xFAFF,
+ 2 => 'CJK Compatibility Ideographs',
+ ),
+ 111 =>
+ array (
+ 0 => 0xFB00,
+ 1 => 0xFB4F,
+ 2 => 'Alphabetic Presentation Forms',
+ ),
+ 112 =>
+ array (
+ 0 => 0xFB50,
+ 1 => 0xFDFF,
+ 2 => 'Arabic Presentation Forms-A',
+ ),
+ 113 =>
+ array (
+ 0 => 0xFE00,
+ 1 => 0xFE0F,
+ 2 => 'Variation Selectors',
+ ),
+ 114 =>
+ array (
+ 0 => 0xFE10,
+ 1 => 0xFE1F,
+ 2 => 'Vertical Forms',
+ ),
+ 115 =>
+ array (
+ 0 => 0xFE20,
+ 1 => 0xFE2F,
+ 2 => 'Combining Half Marks',
+ ),
+ 116 =>
+ array (
+ 0 => 0xFE30,
+ 1 => 0xFE4F,
+ 2 => 'CJK Compatibility Forms',
+ ),
+ 117 =>
+ array (
+ 0 => 0xFE50,
+ 1 => 0xFE6F,
+ 2 => 'Small Form Variants',
+ ),
+ 118 =>
+ array (
+ 0 => 0xFE70,
+ 1 => 0xFEFF,
+ 2 => 'Arabic Presentation Forms-B',
+ ),
+ 119 =>
+ array (
+ 0 => 0xFF00,
+ 1 => 0xFFEF,
+ 2 => 'Halfwidth and Fullwidth Forms',
+ ),
+ 120 =>
+ array (
+ 0 => 0xFFF0,
+ 1 => 0xFFFF,
+ 2 => 'Specials',
+ ),
+ 121 =>
+ array (
+ 0 => 0x10000,
+ 1 => 0x1007F,
+ 2 => 'Linear B Syllabary',
+ ),
+ 122 =>
+ array (
+ 0 => 0x10080,
+ 1 => 0x100FF,
+ 2 => 'Linear B Ideograms',
+ ),
+ 123 =>
+ array (
+ 0 => 0x10100,
+ 1 => 0x1013F,
+ 2 => 'Aegean Numbers',
+ ),
+ 124 =>
+ array (
+ 0 => 0x10140,
+ 1 => 0x1018F,
+ 2 => 'Ancient Greek Numbers',
+ ),
+ 125 =>
+ array (
+ 0 => 0x10300,
+ 1 => 0x1032F,
+ 2 => 'Old Italic',
+ ),
+ 126 =>
+ array (
+ 0 => 0x10330,
+ 1 => 0x1034F,
+ 2 => 'Gothic',
+ ),
+ 127 =>
+ array (
+ 0 => 0x10380,
+ 1 => 0x1039F,
+ 2 => 'Ugaritic',
+ ),
+ 128 =>
+ array (
+ 0 => 0x103A0,
+ 1 => 0x103DF,
+ 2 => 'Old Persian',
+ ),
+ 129 =>
+ array (
+ 0 => 0x10400,
+ 1 => 0x1044F,
+ 2 => 'Deseret',
+ ),
+ 130 =>
+ array (
+ 0 => 0x10450,
+ 1 => 0x1047F,
+ 2 => 'Shavian',
+ ),
+ 131 =>
+ array (
+ 0 => 0x10480,
+ 1 => 0x104AF,
+ 2 => 'Osmanya',
+ ),
+ 132 =>
+ array (
+ 0 => 0x10800,
+ 1 => 0x1083F,
+ 2 => 'Cypriot Syllabary',
+ ),
+ 133 =>
+ array (
+ 0 => 0x10A00,
+ 1 => 0x10A5F,
+ 2 => 'Kharoshthi',
+ ),
+ 134 =>
+ array (
+ 0 => 0x1D000,
+ 1 => 0x1D0FF,
+ 2 => 'Byzantine Musical Symbols',
+ ),
+ 135 =>
+ array (
+ 0 => 0x1D100,
+ 1 => 0x1D1FF,
+ 2 => 'Musical Symbols',
+ ),
+ 136 =>
+ array (
+ 0 => 0x1D200,
+ 1 => 0x1D24F,
+ 2 => 'Ancient Greek Musical Notation',
+ ),
+ 137 =>
+ array (
+ 0 => 0x1D300,
+ 1 => 0x1D35F,
+ 2 => 'Tai Xuan Jing Symbols',
+ ),
+ 138 =>
+ array (
+ 0 => 0x1D400,
+ 1 => 0x1D7FF,
+ 2 => 'Mathematical Alphanumeric Symbols',
+ ),
+ 139 =>
+ array (
+ 0 => 0x20000,
+ 1 => 0x2A6DF,
+ 2 => 'CJK Unified Ideographs Extension B',
+ ),
+ 140 =>
+ array (
+ 0 => 0x2F800,
+ 1 => 0x2FA1F,
+ 2 => 'CJK Compatibility Ideographs Supplement',
+ ),
+ 141 =>
+ array (
+ 0 => 0xE0000,
+ 1 => 0xE007F,
+ 2 => 'Tags',
+ ),
+ 142 =>
+ array (
+ 0 => 0xE0100,
+ 1 => 0xE01EF,
+ 2 => 'Variation Selectors Supplement',
+ ),
+ 143 =>
+ array (
+ 0 => 0xF0000,
+ 1 => 0xFFFFF,
+ 2 => 'Supplementary Private Use Area-A',
+ ),
+ 144 =>
+ array (
+ 0 => 0x100000,
+ 1 => 0x10FFFF,
+ 2 => 'Supplementary Private Use Area-B',
+ ),
+);
+?>
diff --git a/vendor/pear/text_languagedetect/package.xml b/vendor/pear/text_languagedetect/package.xml
new file mode 100644
index 000000000..4fac0051d
--- /dev/null
+++ b/vendor/pear/text_languagedetect/package.xml
@@ -0,0 +1,246 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<package packagerversion="1.7.1" version="2.0" xmlns="http://pear.php.net/dtd/package-2.0" xmlns:tasks="http://pear.php.net/dtd/tasks-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://pear.php.net/dtd/tasks-1.0
+http://pear.php.net/dtd/tasks-1.0.xsd
+http://pear.php.net/dtd/package-2.0
+http://pear.php.net/dtd/package-2.0.xsd">
+ <name>Text_LanguageDetect</name>
+ <channel>pear.php.net</channel>
+ <summary>Language detection class</summary>
+ <description>Text_LanguageDetect can identify 52 human languages from text samples and return confidence scores for each.
+ </description>
+
+ <lead>
+ <name>Nicholas Pisarro</name>
+ <user>taak</user>
+ <email>taak@php.net</email>
+ <active>no</active>
+ </lead>
+
+ <date>2017-03-02</date>
+ <time>18:00:42</time>
+ <version>
+ <release>1.0.0</release>
+ <api>1.0.0</api>
+ </version>
+
+ <stability>
+ <release>stable</release>
+ <api>stable</api>
+ </stability>
+
+ <license uri="http://www.opensource.org/licenses/bsd-license.php">BSD</license>
+
+ <notes>
+ - Add PHP5 constructors
+ - Fix bug #21189: Language detection on PHP7 broken
+ - Fix coding style problems
+ - BC break: Add real visibility to properties and methods
+ </notes>
+
+ <contents>
+ <dir name="/">
+ <file name="README.rst" role="doc" />
+ <dir name="data">
+ <file name="lang.dat" role="data" />
+ <file name="unicode_blocks.dat" role="data" />
+ </dir> <!-- /data -->
+ <dir name="docs">
+ <file name="confidence.php" role="doc" />
+ <file name="example_clui.php" role="doc" />
+ <file name="example_web.php" role="doc" />
+ <file name="iso.php" role="doc" />
+ <file name="languages.php" role="doc" />
+ <file name="simple.php" role="doc" />
+ </dir> <!-- /docs -->
+ <dir name="tests">
+ <file name="PrivProxy.php" role="test" />
+ <file name="Text_LanguageDetectTest.php" role="test" />
+ <file name="Text_LanguageDetect_ISO639Test.php" role="test" />
+ </dir> <!-- /tests -->
+ <dir name="Text">
+ <dir name="LanguageDetect">
+ <file name="Exception.php" role="php">
+ <tasks:replace from="@package_version@" to="version" type="package-info" />
+ </file>
+ <file name="ISO639.php" role="php">
+ <tasks:replace from="@package_version@" to="version" type="package-info" />
+ </file>
+ <file name="Parser.php" role="php">
+ <tasks:replace from="@package_version@" to="version" type="package-info" />
+ </file>
+ </dir> <!-- /Text/LanguageDetect -->
+ <file name="LanguageDetect.php" role="php">
+ <tasks:replace from="@package_version@" to="version" type="package-info" />
+ <tasks:replace from="@data_dir@" to="data_dir" type="pear-config" />
+ </file>
+ </dir> <!-- /Text -->
+ </dir> <!-- / -->
+ </contents>
+
+ <dependencies>
+ <required>
+ <php>
+ <min>5.4</min>
+ </php>
+ <pearinstaller>
+ <min>1.9.0</min>
+ </pearinstaller>
+ <extension>
+ <name>pcre</name>
+ </extension>
+ </required>
+ <optional>
+ <extension>
+ <name>mbstring</name>
+ </extension>
+ </optional>
+ </dependencies>
+
+ <phprelease>
+ <filelist>
+ <install as="lang.dat" name="data/lang.dat" />
+ <install as="unicode_blocks.dat" name="data/unicode_blocks.dat" />
+ </filelist>
+ </phprelease>
+
+ <changelog>
+
+ <release>
+ <version>
+ <release>1.0.0</release>
+ <api>1.0.0</api>
+ </version>
+ <stability>
+ <release>stable</release>
+ <api>stable</api>
+ </stability>
+ <date>2017-03-02</date>
+ <license uri="http://www.opensource.org/licenses/bsd-license.php">BSD</license>
+ <notes>
+ - Add PHP5 constructors
+ - Fix bug #21189: Language detection on PHP7 broken
+ - Fix coding style problems
+ - BC break: Add real visibility to properties and methods
+ </notes>
+ </release>
+
+ <release>
+ <version>
+ <release>0.3.0</release>
+ <api>0.3.0</api>
+ </version>
+ <stability>
+ <release>alpha</release>
+ <api>alpha</api>
+ </stability>
+ <date>2012-01-16</date>
+ <license uri="http://www.opensource.org/licenses/bsd-license.php">BSD</license>
+ <notes>
+- BC break: Return lowercase language names
+- BC break: Use exceptions instead of PEAR_Error
+- Implement request #19221: Return ISO 639-1 or ISO 639-2 language codes
+ </notes>
+ </release>
+
+ <release>
+ <version>
+ <release>0.2.3</release>
+ <api>0.2.3</api>
+ </version>
+ <stability>
+ <release>alpha</release>
+ <api>alpha</api>
+ </stability>
+ <date>2008-07-30</date>
+ <license uri="http://www.opensource.org/licenses/bsd-license.php">BSD</license>
+ <notes>updated package requirements
+ </notes>
+ </release>
+
+ <release>
+ <version>
+ <release>0.2.2</release>
+ <api>0.2.2</api>
+ </version>
+ <stability>
+ <release>alpha</release>
+ <api>alpha</api>
+ </stability>
+ <date>2008-07-30</date>
+ <license uri="http://www.opensource.org/licenses/bsd-license.php">BSD</license>
+ <notes>* Fixed Bug #13385
+ </notes>
+ </release>
+
+ <release>
+ <version>
+ <release>0.2.1</release>
+ <api>0.2.1</api>
+ </version>
+ <stability>
+ <release>alpha</release>
+ <api>alpha</api>
+ </stability>
+ <date>2006-12-03</date>
+ <license uri="http://www.opensource.org/licenses/bsd-license.php">BSD</license>
+ <notes>* Fix: Now uses conventionalized include path
+* Fix: Won&apos;t cause error if input is purely symbol-range characters
+* Better error reporting if error in unicode db loading
+ </notes>
+ </release>
+
+ <release>
+ <version>
+ <release>0.2.0</release>
+ <api>0.2.0</api>
+ </version>
+ <stability>
+ <release>alpha</release>
+ <api>alpha</api>
+ </stability>
+ <date>2006-01-18</date>
+ <license uri="http://www.opensource.org/licenses/bsd-license.php">BSD</license>
+ <notes>* Added unicode block range identification
+* unicode block ranges used to optimize language detection by pre-selecting which known language trigram profiles in the database to attempt comparison with
+* Added several utf8/unicode utility functions
+* new Parser class for building data profiles from text samples
+* Fix: mb_convert_encoding() now used correctly
+* Fix: basic case-folding for Cyrillic alphabet implemented
+ </notes>
+ </release>
+
+ <release>
+ <version>
+ <release>0.1.1</release>
+ <api>0.1.1</api>
+ </version>
+ <stability>
+ <release>alpha</release>
+ <api>alpha</api>
+ </stability>
+ <date>2006-01-06</date>
+ <license uri="http://www.opensource.org/licenses/bsd-license.php">BSD</license>
+ <notes>* Output of clustering now cached
+* Fix: better error checking in clustering functions
+* Fix: clusteredSearch() now handles null strings gracefully
+* Compare order is preserved in clusteredSearch() results
+* Slight speed improvement to utf8 iterator
+ </notes>
+ </release>
+
+ <release>
+ <version>
+ <release>0.1.0</release>
+ <api>0.1.0</api>
+ </version>
+ <stability>
+ <release>alpha</release>
+ <api>alpha</api>
+ </stability>
+ <date>2006-01-04</date>
+ <license uri="http://www.opensource.org/licenses/bsd-license.php">BSD</license>
+ <notes>Initial PEAR release
+ </notes>
+ </release>
+ </changelog>
+</package>
diff --git a/vendor/sabre/dav/.travis.yml b/vendor/sabre/dav/.travis.yml
index a9189c981..85637048a 100644
--- a/vendor/sabre/dav/.travis.yml
+++ b/vendor/sabre/dav/.travis.yml
@@ -2,7 +2,9 @@ language: php
php:
- 5.5
- 5.6
- - 7
+ - 7.0
+ - 7.1
+
env:
matrix:
@@ -19,7 +21,6 @@ before_script:
- mysql -e 'create database sabredav_test'
- psql -c "create database sabredav_test" -U postgres
- psql -c "create user sabredav with PASSWORD 'sabredav';GRANT ALL PRIVILEGES ON DATABASE sabredav_test TO sabredav" -U postgres
- - phpenv config-rm xdebug.ini; true
# - composer self-update
- composer update --prefer-dist $LOWEST_DEPS
@@ -28,7 +29,7 @@ before_script:
script:
- ./bin/phpunit --configuration tests/phpunit.xml.dist $TEST_DEPS
- - ./bin/sabre-cs-fixer fix lib/ --dry-run --diff
+ - ./bin/sabre-cs-fixer fix . --dry-run --diff
cache:
directories:
diff --git a/vendor/sabre/dav/CHANGELOG.md b/vendor/sabre/dav/CHANGELOG.md
index d8a3898c3..0bccc995c 100644
--- a/vendor/sabre/dav/CHANGELOG.md
+++ b/vendor/sabre/dav/CHANGELOG.md
@@ -1,6 +1,28 @@
ChangeLog
=========
+3.2.2 (2017-02-14)
+------------------
+
+* #943: Fix CardDAV XML reporting bug, which was affecting several CardDAV
+ clients. Bug was introduced in 3.2.1.
+* The zip release ships with [sabre/vobject 4.1.2][vobj],
+ [sabre/http 4.2.2][http], [sabre/event 3.0.0][evnt],
+ [sabre/uri 1.2.0][uri] and [sabre/xml 1.5.0][xml].
+
+
+3.2.1 (2017-01-28)
+------------------
+
+* #877: Fix for syncing large calendars when using the Sqlite PDO backend.
+ (@theseer).
+* #889 Added support for filtering vCard properties in the addressbook-query
+ REPORT (@DeepDiver1975).
+* The zip release ships with [sabre/vobject 4.1.2][vobj],
+ [sabre/http 4.2.2][http], [sabre/event 3.0.0][evnt],
+ [sabre/uri 1.2.0][uri] and [sabre/xml 1.5.0][xml].
+
+
3.2.0 (2016-06-27)
------------------
@@ -88,6 +110,9 @@ ChangeLog
------------------
* Fixed: Creating a new calendar on some MySQL configurations caused an error.
+* #889 Added support for filtering vCard properties in the addressbook-query
+ REPORT (@DeepDiver1975).
+
3.1.4 (2016-05-28)
@@ -200,6 +225,13 @@ ChangeLog
[sabre/uri 1.0.1][uri] and [sabre/xml 1.1.0][xml].
+3.0.10 (2016-??-??)
+------------------
+
+* #889 Added support for filtering vCard properties in the addressbook-query
+ REPORT (@DeepDiver1975).
+
+
3.0.9 (2016-04-06)
------------------
@@ -463,11 +495,13 @@ ChangeLog
* #193: Fix `Sabre\DAV\FSExt\Directory::getQuotaInfo()` on windows.
-2.1.11 (2016-??-??)
+2.1.11 (2016-10-06)
-------------------
* #805: It wasn't possible to create calendars that hold events, journals and
todos using MySQL, because the `components` column was 1 byte too small.
+* The zip release ships with [sabre/vobject 3.5.3][vobj],
+ [sabre/http 3.0.5][http], and [sabre/event 2.0.2][evnt].
2.1.10 (2016-03-10)
@@ -475,6 +509,8 @@ ChangeLog
* #784: Sync logs for address books were not correctly cleaned up after
deleting them.
+* The zip release ships with [sabre/vobject 3.5.0][vobj],
+ [sabre/http 3.0.5][http], and [sabre/event 2.0.2][evnt].
2.1.9 (2016-01-25)
@@ -627,7 +663,7 @@ ChangeLog
* Added: Automatically converting between vCard 3, 4 and jCard using the
`Accept:` header, in CardDAV reports, and automatically converting from
jCard to vCard upon `PUT`. It's important to note that your backends _may_
- now recieve both vCard 3.0 and 4.0.
+ now receive both vCard 3.0 and 4.0.
* Added: #444. Collections can now opt-in to support high-speed `MOVE`.
* Changed: PropertyStorage backends now have a `move` method.
* Added: `beforeMove`, and `afterMove` events.
@@ -812,7 +848,7 @@ ChangeLog
* Added: Support for the `{DAV:}supported-method-set` property server-wide.
* Making it easier for implementors to override how the CardDAV addressbook
home is located.
-* Fixed: Issue #422 Preconditions were not being set on PUT on non-existant
+* Fixed: Issue #422 Preconditions were not being set on PUT on non-existent
files. Not really a chance for data-loss, but incorrect nevertheless.
* Fixed: Issue #428: Etag check with `If:` fails if the target is a collection.
* Fixed: Issues #430, #431, #433: Locks plugin didn't not properly release
@@ -1024,7 +1060,7 @@ ChangeLog
* Added: Sharee's can now also read out the list of invites for a shared
calendar.
* Added: The Proxy principal classes now both implement an interface, for
- greater flexiblity.
+ greater flexibility.
1.7.13 (2014-07-28)
@@ -1042,7 +1078,7 @@ ChangeLog
Sabre_DAV_PartialUpdate_IFile interface is now deprecated and will be removed
in a future version.
* Fixed: Restoring old setting after changing libxml_disable_entity_loader.
-* Fixed: Issue #422: Preconditions were not being set on PUT on non-existant
+* Fixed: Issue #422: Preconditions were not being set on PUT on non-existent
files. Not really a chance for data-loss, but incorrect nevertheless.
* Fixed: Issue #427: Now checking preconditions on DELETE requests.
* Fixed: Issue #428: Etag check with If: fails if the target is a collection.
@@ -1121,7 +1157,7 @@ ChangeLog
------------------
* The zip release ships with sabre/vobject 2.0.5.
-* Changed: To be compatibile with MS Office 2011 for Mac, a workaround was
+* Changed: To be compatible with MS Office 2011 for Mac, a workaround was
removed that was added to support old versions of Windows XP (pre-SP3).
Indeed! We needed a crazy workaround to work with one MS product in the past,
and we can't keep that workaround to be compatible with another MS product.
@@ -1129,7 +1165,7 @@ ChangeLog
* Fixed: Range requests now work for non-seekable streams. (Thanks Alfred
Klomp).
* Fixed: Changed serialization of {DAV:}getlastmodified and {DAV:}supportedlock
- to improve compatiblity with MS Office 2011 for Mac.
+ to improve compatibility with MS Office 2011 for Mac.
* Changed: reverted the automatic translation of 'DAV:' xml namespaces to
'urn:DAV' when parsing files. Issues were reported with libxml 2.6.32, on a
relatively recent debian release, so we'll wait till 2015 to take this one out
@@ -2006,7 +2042,7 @@ ChangeLog
-------------------
* Fixed: Issue 34: Invalid Lock-Token header response.
-* Added: Issue 35: Addign SabreDAV version to HTTP OPTIONS responses.
+* Added: Issue 35: Adding SabreDAV version to HTTP OPTIONS responses.
1.0.9 (2010-03-19)
@@ -2220,7 +2256,7 @@ ChangeLog
* Added: Simple HTML directory plugin, for browser access.
* Added: Server class now sends back standard pre-condition error xml bodies.
This was new since RFC4918.
-* Added: Sabre_DAV_Tree_Aggregrate, which can 'host' multiple Tree objects into
+* Added: Sabre_DAV_Tree_Aggregate, which can 'host' multiple Tree objects into
one.
* Added: simple basis for HTTP REPORT method. This method is not used yet, but
can be used by plugins to add reports.
@@ -2237,7 +2273,7 @@ ChangeLog
8.2.
* Fixed: TemporaryFileFilter now lets through GET's if they actually exist on
the backend. (r274)
-* FIxed: Some methods didn't get passed through in the FilterTree (r283).
+* Fixed: Some methods didn't get passed through in the FilterTree (r283).
* Fixed: LockManager is now slightly more complex, Tree classes slightly less.
(r287)
diff --git a/vendor/sabre/dav/README.md b/vendor/sabre/dav/README.md
index 8edcd4073..86a0fe9a6 100644
--- a/vendor/sabre/dav/README.md
+++ b/vendor/sabre/dav/README.md
@@ -10,6 +10,7 @@ Full documentation can be found on the website:
http://sabre.io/
+
Build status
------------
@@ -30,6 +31,7 @@ Documentation
* [Introduction](http://sabre.io/dav/).
* [Installation](http://sabre.io/dav/install/).
+
Made at fruux
-------------
diff --git a/vendor/sabre/dav/bin/build.php b/vendor/sabre/dav/bin/build.php
index c4ba20941..c4ba20941 100644..100755
--- a/vendor/sabre/dav/bin/build.php
+++ b/vendor/sabre/dav/bin/build.php
diff --git a/vendor/sabre/dav/bin/googlecode_upload.py b/vendor/sabre/dav/bin/googlecode_upload.py
index caafd5ded..caafd5ded 100644..100755
--- a/vendor/sabre/dav/bin/googlecode_upload.py
+++ b/vendor/sabre/dav/bin/googlecode_upload.py
diff --git a/vendor/sabre/dav/bin/migrateto20.php b/vendor/sabre/dav/bin/migrateto20.php
index 77236804f..77236804f 100644..100755
--- a/vendor/sabre/dav/bin/migrateto20.php
+++ b/vendor/sabre/dav/bin/migrateto20.php
diff --git a/vendor/sabre/dav/bin/migrateto21.php b/vendor/sabre/dav/bin/migrateto21.php
index c81ee5cca..c81ee5cca 100644..100755
--- a/vendor/sabre/dav/bin/migrateto21.php
+++ b/vendor/sabre/dav/bin/migrateto21.php
diff --git a/vendor/sabre/dav/bin/migrateto30.php b/vendor/sabre/dav/bin/migrateto30.php
index 9ca77c13c..9ca77c13c 100644..100755
--- a/vendor/sabre/dav/bin/migrateto30.php
+++ b/vendor/sabre/dav/bin/migrateto30.php
diff --git a/vendor/sabre/dav/bin/migrateto32.php b/vendor/sabre/dav/bin/migrateto32.php
index 7567aeb60..7567aeb60 100644..100755
--- a/vendor/sabre/dav/bin/migrateto32.php
+++ b/vendor/sabre/dav/bin/migrateto32.php
diff --git a/vendor/sabre/dav/bin/sabredav.php b/vendor/sabre/dav/bin/sabredav.php
index 950075d1a..950075d1a 100644..100755
--- a/vendor/sabre/dav/bin/sabredav.php
+++ b/vendor/sabre/dav/bin/sabredav.php
diff --git a/vendor/sabre/dav/composer.json b/vendor/sabre/dav/composer.json
index f85d9655e..fca0e07fb 100644
--- a/vendor/sabre/dav/composer.json
+++ b/vendor/sabre/dav/composer.json
@@ -32,9 +32,9 @@
"psr/log": "^1.0"
},
"require-dev" : {
- "phpunit/phpunit" : "> 4.8, <=6.0.0",
+ "phpunit/phpunit" : "> 4.8, <6.0.0",
"evert/phpdoc-md" : "~0.1.0",
- "sabre/cs" : "~0.0.5",
+ "sabre/cs" : "^1.0.0",
"monolog/monolog": "^1.18"
},
"suggest" : {
diff --git a/vendor/sabre/dav/lib/CalDAV/Backend/AbstractBackend.php b/vendor/sabre/dav/lib/CalDAV/Backend/AbstractBackend.php
index d58b4a46e..311b1c415 100644
--- a/vendor/sabre/dav/lib/CalDAV/Backend/AbstractBackend.php
+++ b/vendor/sabre/dav/lib/CalDAV/Backend/AbstractBackend.php
@@ -2,8 +2,8 @@
namespace Sabre\CalDAV\Backend;
-use Sabre\VObject;
use Sabre\CalDAV;
+use Sabre\VObject;
/**
* Abstract Calendaring backend. Extend this class to create your own backends.
@@ -26,9 +26,9 @@ abstract class AbstractBackend implements BackendInterface {
* Calling the handle method is like telling the PropPatch object "I
* promise I can handle updating this property".
*
- * Read the PropPatch documenation for more info and examples.
+ * Read the PropPatch documentation for more info and examples.
*
- * @param string $path
+ * @param mixed $calendarId
* @param \Sabre\DAV\PropPatch $propPatch
* @return void
*/
diff --git a/vendor/sabre/dav/lib/CalDAV/Backend/NotificationSupport.php b/vendor/sabre/dav/lib/CalDAV/Backend/NotificationSupport.php
index 9c00a89ef..bf2ef27a0 100644
--- a/vendor/sabre/dav/lib/CalDAV/Backend/NotificationSupport.php
+++ b/vendor/sabre/dav/lib/CalDAV/Backend/NotificationSupport.php
@@ -49,8 +49,8 @@ interface NotificationSupport extends BackendInterface {
* If the user chose to accept the share, this method should return the
* newly created calendar url.
*
- * @param string href The sharee who is replying (often a mailto: address)
- * @param int status One of the SharingPlugin::STATUS_* constants
+ * @param string $href The sharee who is replying (often a mailto: address)
+ * @param int $status One of the SharingPlugin::STATUS_* constants
* @param string $calendarUri The url to the calendar thats being shared
* @param string $inReplyTo The unique id this message is a response to
* @param string $summary A description of the reply
diff --git a/vendor/sabre/dav/lib/CalDAV/Backend/PDO.php b/vendor/sabre/dav/lib/CalDAV/Backend/PDO.php
index 95f1d49a6..458440588 100644
--- a/vendor/sabre/dav/lib/CalDAV/Backend/PDO.php
+++ b/vendor/sabre/dav/lib/CalDAV/Backend/PDO.php
@@ -5,8 +5,8 @@ namespace Sabre\CalDAV\Backend;
use Sabre\CalDAV;
use Sabre\DAV;
use Sabre\DAV\Exception\Forbidden;
-use Sabre\VObject;
use Sabre\DAV\Xml\Element\Sharee;
+use Sabre\VObject;
/**
* PDO CalDAV backend
@@ -296,7 +296,7 @@ SQL
* Calling the handle method is like telling the PropPatch object "I
* promise I can handle updating this property".
*
- * Read the PropPatch documenation for more info and examples.
+ * Read the PropPatch documentation for more info and examples.
*
* @param mixed $calendarId
* @param \Sabre\DAV\PropPatch $propPatch
@@ -481,13 +481,13 @@ SQL
if (!$row) return null;
return [
- 'id' => $row['id'],
- 'uri' => $row['uri'],
- 'lastmodified' => (int)$row['lastmodified'],
- 'etag' => '"' . $row['etag'] . '"',
- 'size' => (int)$row['size'],
- 'calendardata' => $row['calendardata'],
- 'component' => strtolower($row['componenttype']),
+ 'id' => $row['id'],
+ 'uri' => $row['uri'],
+ 'lastmodified' => (int)$row['lastmodified'],
+ 'etag' => '"' . $row['etag'] . '"',
+ 'size' => (int)$row['size'],
+ 'calendardata' => $row['calendardata'],
+ 'component' => strtolower($row['componenttype']),
];
}
@@ -511,27 +511,29 @@ SQL
}
list($calendarId, $instanceId) = $calendarId;
- $query = 'SELECT id, uri, lastmodified, etag, calendarid, size, calendardata, componenttype FROM ' . $this->calendarObjectTableName . ' WHERE calendarid = ? AND uri IN (';
- // Inserting a whole bunch of question marks
- $query .= implode(',', array_fill(0, count($uris), '?'));
- $query .= ')';
+ $result = [];
+ foreach (array_chunk($uris, 900) as $chunk) {
+ $query = 'SELECT id, uri, lastmodified, etag, calendarid, size, calendardata, componenttype FROM ' . $this->calendarObjectTableName . ' WHERE calendarid = ? AND uri IN (';
+ // Inserting a whole bunch of question marks
+ $query .= implode(',', array_fill(0, count($chunk), '?'));
+ $query .= ')';
- $stmt = $this->pdo->prepare($query);
- $stmt->execute(array_merge([$calendarId], $uris));
+ $stmt = $this->pdo->prepare($query);
+ $stmt->execute(array_merge([$calendarId], $chunk));
- $result = [];
- while ($row = $stmt->fetch(\PDO::FETCH_ASSOC)) {
+ while ($row = $stmt->fetch(\PDO::FETCH_ASSOC)) {
- $result[] = [
- 'id' => $row['id'],
- 'uri' => $row['uri'],
- 'lastmodified' => (int)$row['lastmodified'],
- 'etag' => '"' . $row['etag'] . '"',
- 'size' => (int)$row['size'],
- 'calendardata' => $row['calendardata'],
- 'component' => strtolower($row['componenttype']),
- ];
+ $result[] = [
+ 'id' => $row['id'],
+ 'uri' => $row['uri'],
+ 'lastmodified' => (int)$row['lastmodified'],
+ 'etag' => '"' . $row['etag'] . '"',
+ 'size' => (int)$row['size'],
+ 'calendardata' => $row['calendardata'],
+ 'component' => strtolower($row['componenttype']),
+ ];
+ }
}
return $result;
@@ -686,7 +688,7 @@ SQL
}
}
-
+
// Ensure Occurence values are positive
if ($firstOccurence < 0) $firstOccurence = 0;
if ($lastOccurence < 0) $lastOccurence = 0;
@@ -769,7 +771,7 @@ SQL
* Note that especially time-range-filters may be difficult to parse. A
* time-range filter specified on a VEVENT must for instance also handle
* recurrence rules correctly.
- * A good example of how to interprete all these filters can also simply
+ * A good example of how to interpret all these filters can also simply
* be found in \Sabre\CalDAV\CalendarQueryFilter. This class is as correct
* as possible, so it gives you a good idea on what type of stuff you need
* to think of.
@@ -969,7 +971,7 @@ SQL;
// Current synctoken
$stmt = $this->pdo->prepare('SELECT synctoken FROM ' . $this->calendarTableName . ' WHERE id = ?');
- $stmt->execute([ $calendarId ]);
+ $stmt->execute([$calendarId]);
$currentToken = $stmt->fetchColumn(0);
if (is_null($currentToken)) return null;
@@ -1181,7 +1183,7 @@ SQL;
* Calling the handle method is like telling the PropPatch object "I
* promise I can handle updating this property".
*
- * Read the PropPatch documenation for more info and examples.
+ * Read the PropPatch documentation for more info and examples.
*
* @param mixed $subscriptionId
* @param \Sabre\DAV\PropPatch $propPatch
@@ -1327,7 +1329,7 @@ SQL;
function createSchedulingObject($principalUri, $objectUri, $objectData) {
$stmt = $this->pdo->prepare('INSERT INTO ' . $this->schedulingObjectTableName . ' (principaluri, calendardata, uri, lastmodified, etag, size) VALUES (?, ?, ?, ?, ?, ?)');
- $stmt->execute([$principalUri, $objectData, $objectUri, time(), md5($objectData), strlen($objectData) ]);
+ $stmt->execute([$principalUri, $objectData, $objectUri, time(), md5($objectData), strlen($objectData)]);
}
@@ -1483,7 +1485,7 @@ SQL;
'inviteStatus' => (int)$row['share_invitestatus'],
'properties' =>
!empty($row['share_displayname'])
- ? [ '{DAV:}displayname' => $row['share_displayname'] ]
+ ? ['{DAV:}displayname' => $row['share_displayname']]
: [],
'principal' => $row['principaluri'],
]);
@@ -1502,7 +1504,7 @@ SQL;
*/
function setPublishStatus($calendarId, $value) {
- throw new \Sabre\DAV\Exception\NotImplemented('Not implemented');
+ throw new DAV\Exception\NotImplemented('Not implemented');
}
diff --git a/vendor/sabre/dav/lib/CalDAV/Backend/SharingSupport.php b/vendor/sabre/dav/lib/CalDAV/Backend/SharingSupport.php
index 8b6e074e0..278ec2564 100644
--- a/vendor/sabre/dav/lib/CalDAV/Backend/SharingSupport.php
+++ b/vendor/sabre/dav/lib/CalDAV/Backend/SharingSupport.php
@@ -11,9 +11,9 @@ namespace Sabre\CalDAV\Backend;
* 1. Return shared calendars for users.
* 2. For every calendar, return calendar-resource-uri. This strings is a URI or
* relative URI reference that must be unique for every calendar, but
- * identical for every instance of the same shared calenar.
- * 3. For every calenar, you must return a share-access element. This element
- * should contain one of the Sabre\DAV\Sharing\Plugin:ACCESS_* contants and
+ * identical for every instance of the same shared calendar.
+ * 3. For every calendar, you must return a share-access element. This element
+ * should contain one of the Sabre\DAV\Sharing\Plugin:ACCESS_* constants and
* indicates the access level the user has.
*
* @copyright Copyright (C) fruux GmbH (https://fruux.com/)
diff --git a/vendor/sabre/dav/lib/CalDAV/Backend/SimplePDO.php b/vendor/sabre/dav/lib/CalDAV/Backend/SimplePDO.php
index f8238ea9a..d21f7f916 100644
--- a/vendor/sabre/dav/lib/CalDAV/Backend/SimplePDO.php
+++ b/vendor/sabre/dav/lib/CalDAV/Backend/SimplePDO.php
@@ -8,7 +8,7 @@ use Sabre\DAV;
/**
* Simple PDO CalDAV backend.
*
- * This class is basically the most minmum example to get a caldav backend up
+ * This class is basically the most minimum example to get a caldav backend up
* and running. This class uses the following schema (MySQL example):
*
* CREATE TABLE simple_calendars (
@@ -209,12 +209,12 @@ class SimplePDO extends AbstractBackend {
if (!$row) return null;
return [
- 'id' => $row['id'],
- 'uri' => $row['uri'],
- 'etag' => '"' . md5($row['calendardata']) . '"',
- 'calendarid' => $calendarId,
- 'size' => strlen($row['calendardata']),
- 'calendardata' => $row['calendardata'],
+ 'id' => $row['id'],
+ 'uri' => $row['uri'],
+ 'etag' => '"' . md5($row['calendardata']) . '"',
+ 'calendarid' => $calendarId,
+ 'size' => strlen($row['calendardata']),
+ 'calendardata' => $row['calendardata'],
];
}
diff --git a/vendor/sabre/dav/lib/CalDAV/Backend/SubscriptionSupport.php b/vendor/sabre/dav/lib/CalDAV/Backend/SubscriptionSupport.php
index a39289f5e..d77a2fe0f 100644
--- a/vendor/sabre/dav/lib/CalDAV/Backend/SubscriptionSupport.php
+++ b/vendor/sabre/dav/lib/CalDAV/Backend/SubscriptionSupport.php
@@ -70,7 +70,7 @@ interface SubscriptionSupport extends BackendInterface {
* Calling the handle method is like telling the PropPatch object "I
* promise I can handle updating this property".
*
- * Read the PropPatch documenation for more info and examples.
+ * Read the PropPatch documentation for more info and examples.
*
* @param mixed $subscriptionId
* @param \Sabre\DAV\PropPatch $propPatch
diff --git a/vendor/sabre/dav/lib/CalDAV/Calendar.php b/vendor/sabre/dav/lib/CalDAV/Calendar.php
index 90ace0d21..7467900cc 100644
--- a/vendor/sabre/dav/lib/CalDAV/Calendar.php
+++ b/vendor/sabre/dav/lib/CalDAV/Calendar.php
@@ -3,8 +3,8 @@
namespace Sabre\CalDAV;
use Sabre\DAV;
-use Sabre\DAVACL;
use Sabre\DAV\PropPatch;
+use Sabre\DAVACL;
/**
* This object represents a CalDAV calendar.
diff --git a/vendor/sabre/dav/lib/CalDAV/CalendarHome.php b/vendor/sabre/dav/lib/CalDAV/CalendarHome.php
index 0a4bfb68f..ffd7f72fb 100644
--- a/vendor/sabre/dav/lib/CalDAV/CalendarHome.php
+++ b/vendor/sabre/dav/lib/CalDAV/CalendarHome.php
@@ -27,7 +27,7 @@ class CalendarHome implements DAV\IExtendedCollection, DAVACL\IACL {
/**
* CalDAV backend
*
- * @var Sabre\CalDAV\Backend\BackendInterface
+ * @var Backend\BackendInterface
*/
protected $caldavBackend;
@@ -42,7 +42,7 @@ class CalendarHome implements DAV\IExtendedCollection, DAVACL\IACL {
* Constructor
*
* @param Backend\BackendInterface $caldavBackend
- * @param mixed $userUri
+ * @param array $principalInfo
*/
function __construct(Backend\BackendInterface $caldavBackend, $principalInfo) {
@@ -334,8 +334,8 @@ class CalendarHome implements DAV\IExtendedCollection, DAVACL\IACL {
* This method should return the url of the newly created calendar if the
* share was accepted.
*
- * @param string href The sharee who is replying (often a mailto: address)
- * @param int status One of the SharingPlugin::STATUS_* constants
+ * @param string $href The sharee who is replying (often a mailto: address)
+ * @param int $status One of the SharingPlugin::STATUS_* constants
* @param string $calendarUri The url to the calendar thats being shared
* @param string $inReplyTo The unique id this message is a response to
* @param string $summary A description of the reply
diff --git a/vendor/sabre/dav/lib/CalDAV/CalendarObject.php b/vendor/sabre/dav/lib/CalDAV/CalendarObject.php
index 001b35112..9d6532a35 100644
--- a/vendor/sabre/dav/lib/CalDAV/CalendarObject.php
+++ b/vendor/sabre/dav/lib/CalDAV/CalendarObject.php
@@ -16,7 +16,7 @@ class CalendarObject extends \Sabre\DAV\File implements ICalendarObject, \Sabre\
/**
* Sabre\CalDAV\Backend\BackendInterface
*
- * @var Sabre\CalDAV\Backend\AbstractBackend
+ * @var Backend\AbstractBackend
*/
protected $caldavBackend;
diff --git a/vendor/sabre/dav/lib/CalDAV/CalendarQueryValidator.php b/vendor/sabre/dav/lib/CalDAV/CalendarQueryValidator.php
index f3c7524d2..df8008fe2 100644
--- a/vendor/sabre/dav/lib/CalDAV/CalendarQueryValidator.php
+++ b/vendor/sabre/dav/lib/CalDAV/CalendarQueryValidator.php
@@ -2,8 +2,8 @@
namespace Sabre\CalDAV;
-use Sabre\VObject;
use DateTime;
+use Sabre\VObject;
/**
* CalendarQuery Validator
@@ -25,7 +25,7 @@ class CalendarQueryValidator {
*
* The list of filters must be formatted as parsed by \Sabre\CalDAV\CalendarQueryParser
*
- * @param VObject\Component $vObject
+ * @param VObject\Component\VCalendar $vObject
* @param array $filters
* @return bool
*/
diff --git a/vendor/sabre/dav/lib/CalDAV/CalendarRoot.php b/vendor/sabre/dav/lib/CalDAV/CalendarRoot.php
index 0ac50e41d..1d6b2ac9f 100644
--- a/vendor/sabre/dav/lib/CalDAV/CalendarRoot.php
+++ b/vendor/sabre/dav/lib/CalDAV/CalendarRoot.php
@@ -22,7 +22,7 @@ class CalendarRoot extends \Sabre\DAVACL\AbstractPrincipalCollection {
/**
* CalDAV backend
*
- * @var Sabre\CalDAV\Backend\BackendInterface
+ * @var Backend\BackendInterface
*/
protected $caldavBackend;
diff --git a/vendor/sabre/dav/lib/CalDAV/Exception/InvalidComponentType.php b/vendor/sabre/dav/lib/CalDAV/Exception/InvalidComponentType.php
index 5ce8a93f5..7aff2edab 100644
--- a/vendor/sabre/dav/lib/CalDAV/Exception/InvalidComponentType.php
+++ b/vendor/sabre/dav/lib/CalDAV/Exception/InvalidComponentType.php
@@ -2,8 +2,8 @@
namespace Sabre\CalDAV\Exception;
-use Sabre\DAV;
use Sabre\CalDAV;
+use Sabre\DAV;
/**
* InvalidComponentType
diff --git a/vendor/sabre/dav/lib/CalDAV/ICSExportPlugin.php b/vendor/sabre/dav/lib/CalDAV/ICSExportPlugin.php
index a3a824c71..fc8b971f3 100644
--- a/vendor/sabre/dav/lib/CalDAV/ICSExportPlugin.php
+++ b/vendor/sabre/dav/lib/CalDAV/ICSExportPlugin.php
@@ -2,13 +2,13 @@
namespace Sabre\CalDAV;
+use DateTime;
use DateTimeZone;
use Sabre\DAV;
-use Sabre\VObject;
+use Sabre\DAV\Exception\BadRequest;
use Sabre\HTTP\RequestInterface;
use Sabre\HTTP\ResponseInterface;
-use Sabre\DAV\Exception\BadRequest;
-use DateTime;
+use Sabre\VObject;
/**
* ICS Exporter
diff --git a/vendor/sabre/dav/lib/CalDAV/Notifications/Collection.php b/vendor/sabre/dav/lib/CalDAV/Notifications/Collection.php
index 5fda61dfa..557832a5a 100644
--- a/vendor/sabre/dav/lib/CalDAV/Notifications/Collection.php
+++ b/vendor/sabre/dav/lib/CalDAV/Notifications/Collection.php
@@ -2,8 +2,8 @@
namespace Sabre\CalDAV\Notifications;
-use Sabre\DAV;
use Sabre\CalDAV;
+use Sabre\DAV;
use Sabre\DAVACL;
/**
@@ -27,7 +27,7 @@ class Collection extends DAV\Collection implements ICollection, DAVACL\IACL {
/**
* The notification backend
*
- * @var Sabre\CalDAV\Backend\NotificationSupport
+ * @var CalDAV\Backend\NotificationSupport
*/
protected $caldavBackend;
diff --git a/vendor/sabre/dav/lib/CalDAV/Notifications/INode.php b/vendor/sabre/dav/lib/CalDAV/Notifications/INode.php
index f9986b714..783b92be9 100644
--- a/vendor/sabre/dav/lib/CalDAV/Notifications/INode.php
+++ b/vendor/sabre/dav/lib/CalDAV/Notifications/INode.php
@@ -2,6 +2,8 @@
namespace Sabre\CalDAV\Notifications;
+use Sabre\CalDAV\Xml\Notification\NotificationInterface;
+
/**
* This node represents a single notification.
*
@@ -20,16 +22,16 @@ interface INode {
/**
* This method must return an xml element, using the
- * Sabre\CalDAV\Notifications\INotificationType classes.
+ * Sabre\CalDAV\Xml\Notification\NotificationInterface classes.
*
- * @return INotificationType
+ * @return NotificationInterface
*/
function getNotificationType();
/**
* Returns the etag for the notification.
*
- * The etag must be surrounded by litteral double-quotes.
+ * The etag must be surrounded by literal double-quotes.
*
* @return string
*/
diff --git a/vendor/sabre/dav/lib/CalDAV/Notifications/Node.php b/vendor/sabre/dav/lib/CalDAV/Notifications/Node.php
index 11df0c94b..ad7ddf8f5 100644
--- a/vendor/sabre/dav/lib/CalDAV/Notifications/Node.php
+++ b/vendor/sabre/dav/lib/CalDAV/Notifications/Node.php
@@ -2,9 +2,9 @@
namespace Sabre\CalDAV\Notifications;
-use Sabre\DAV;
use Sabre\CalDAV;
use Sabre\CalDAV\Xml\Notification\NotificationInterface;
+use Sabre\DAV;
use Sabre\DAVACL;
/**
@@ -25,14 +25,14 @@ class Node extends DAV\File implements INode, DAVACL\IACL {
/**
* The notification backend
*
- * @var Sabre\CalDAV\Backend\NotificationSupport
+ * @var CalDAV\Backend\NotificationSupport
*/
protected $caldavBackend;
/**
* The actual notification
*
- * @var Sabre\CalDAV\Notifications\INotificationType
+ * @var NotificationInterface
*/
protected $notification;
@@ -61,7 +61,7 @@ class Node extends DAV\File implements INode, DAVACL\IACL {
/**
* Returns the path name for this notification
*
- * @return id
+ * @return string
*/
function getName() {
@@ -84,9 +84,9 @@ class Node extends DAV\File implements INode, DAVACL\IACL {
/**
* This method must return an xml element, using the
- * Sabre\CalDAV\Notifications\INotificationType classes.
+ * Sabre\CalDAV\Xml\Notification\NotificationInterface classes.
*
- * @return INotificationType
+ * @return NotificationInterface
*/
function getNotificationType() {
diff --git a/vendor/sabre/dav/lib/CalDAV/Notifications/Plugin.php b/vendor/sabre/dav/lib/CalDAV/Notifications/Plugin.php
index 546bf927f..e742351f5 100644
--- a/vendor/sabre/dav/lib/CalDAV/Notifications/Plugin.php
+++ b/vendor/sabre/dav/lib/CalDAV/Notifications/Plugin.php
@@ -3,10 +3,10 @@
namespace Sabre\CalDAV\Notifications;
use Sabre\DAV;
-use Sabre\DAV\PropFind;
use Sabre\DAV\INode as BaseINode;
-use Sabre\DAV\ServerPlugin;
+use Sabre\DAV\PropFind;
use Sabre\DAV\Server;
+use Sabre\DAV\ServerPlugin;
use Sabre\DAVACL;
use Sabre\HTTP\RequestInterface;
use Sabre\HTTP\ResponseInterface;
diff --git a/vendor/sabre/dav/lib/CalDAV/Plugin.php b/vendor/sabre/dav/lib/CalDAV/Plugin.php
index 71ba75206..def11d52d 100644
--- a/vendor/sabre/dav/lib/CalDAV/Plugin.php
+++ b/vendor/sabre/dav/lib/CalDAV/Plugin.php
@@ -9,11 +9,11 @@ use Sabre\DAV\INode;
use Sabre\DAV\MkCol;
use Sabre\DAV\Xml\Property\LocalHref;
use Sabre\DAVACL;
-use Sabre\VObject;
use Sabre\HTTP;
-use Sabre\Uri;
use Sabre\HTTP\RequestInterface;
use Sabre\HTTP\ResponseInterface;
+use Sabre\Uri;
+use Sabre\VObject;
/**
* CalDAV plugin
@@ -302,8 +302,8 @@ class Plugin extends DAV\ServerPlugin {
$this->server->createCollection($path, new MkCol($resourceType, $properties));
- $this->server->httpResponse->setStatus(201);
- $this->server->httpResponse->setHeader('Content-Length', 0);
+ $response->setStatus(201);
+ $response->setHeader('Content-Length', 0);
// This breaks the method chain.
return false;
@@ -926,7 +926,7 @@ class Plugin extends DAV\ServerPlugin {
);
}
- // We use an extra variable to allow event handles to tell us wether
+ // We use an extra variable to allow event handles to tell us whether
// the object was modified or not.
//
// This helps us determine if we need to re-serialize the object.
diff --git a/vendor/sabre/dav/lib/CalDAV/Principal/ProxyRead.php b/vendor/sabre/dav/lib/CalDAV/Principal/ProxyRead.php
index 93f0fe095..e3881831e 100644
--- a/vendor/sabre/dav/lib/CalDAV/Principal/ProxyRead.php
+++ b/vendor/sabre/dav/lib/CalDAV/Principal/ProxyRead.php
@@ -2,8 +2,8 @@
namespace Sabre\CalDAV\Principal;
-use Sabre\DAVACL;
use Sabre\DAV;
+use Sabre\DAVACL;
/**
* ProxyRead principal
@@ -84,8 +84,8 @@ class ProxyRead implements IProxyRead {
/**
* Renames the node
*
- * @throws DAV\Exception\Forbidden
* @param string $name The new name
+ * @throws DAV\Exception\Forbidden
* @return void
*/
function setName($name) {
diff --git a/vendor/sabre/dav/lib/CalDAV/Principal/ProxyWrite.php b/vendor/sabre/dav/lib/CalDAV/Principal/ProxyWrite.php
index 8124c05e0..43dd9bf07 100644
--- a/vendor/sabre/dav/lib/CalDAV/Principal/ProxyWrite.php
+++ b/vendor/sabre/dav/lib/CalDAV/Principal/ProxyWrite.php
@@ -2,8 +2,8 @@
namespace Sabre\CalDAV\Principal;
-use Sabre\DAVACL;
use Sabre\DAV;
+use Sabre\DAVACL;
/**
* ProxyWrite principal
@@ -84,8 +84,8 @@ class ProxyWrite implements IProxyWrite {
/**
* Renames the node
*
- * @throws DAV\Exception\Forbidden
* @param string $name The new name
+ * @throws DAV\Exception\Forbidden
* @return void
*/
function setName($name) {
diff --git a/vendor/sabre/dav/lib/CalDAV/Schedule/IMipPlugin.php b/vendor/sabre/dav/lib/CalDAV/Schedule/IMipPlugin.php
index ffb1fe45b..6f5acb29a 100644
--- a/vendor/sabre/dav/lib/CalDAV/Schedule/IMipPlugin.php
+++ b/vendor/sabre/dav/lib/CalDAV/Schedule/IMipPlugin.php
@@ -181,7 +181,7 @@ class IMipPlugin extends DAV\ServerPlugin {
return [
'name' => $this->getPluginName(),
- 'description' => 'Email delivery (rfc6037) for CalDAV scheduling',
+ 'description' => 'Email delivery (rfc6047) for CalDAV scheduling',
'link' => 'http://sabre.io/dav/scheduling/',
];
diff --git a/vendor/sabre/dav/lib/CalDAV/Schedule/Inbox.php b/vendor/sabre/dav/lib/CalDAV/Schedule/Inbox.php
index 6b374ea3f..81b017307 100644
--- a/vendor/sabre/dav/lib/CalDAV/Schedule/Inbox.php
+++ b/vendor/sabre/dav/lib/CalDAV/Schedule/Inbox.php
@@ -2,10 +2,10 @@
namespace Sabre\CalDAV\Schedule;
-use Sabre\DAV;
use Sabre\CalDAV;
-use Sabre\DAVACL;
use Sabre\CalDAV\Backend;
+use Sabre\DAV;
+use Sabre\DAVACL;
use Sabre\VObject;
/**
@@ -83,7 +83,7 @@ class Inbox extends DAV\Collection implements IInbox {
* Data will either be supplied as a stream resource, or in certain cases
* as a string. Keep in mind that you may have to support either.
*
- * After succesful creation of the file, you may choose to return the ETag
+ * After successful creation of the file, you may choose to return the ETag
* of the new file here.
*
* The returned ETag must be surrounded by double-quotes (The quotes should
diff --git a/vendor/sabre/dav/lib/CalDAV/Schedule/Outbox.php b/vendor/sabre/dav/lib/CalDAV/Schedule/Outbox.php
index 29eefa744..888ea3086 100644
--- a/vendor/sabre/dav/lib/CalDAV/Schedule/Outbox.php
+++ b/vendor/sabre/dav/lib/CalDAV/Schedule/Outbox.php
@@ -2,8 +2,8 @@
namespace Sabre\CalDAV\Schedule;
-use Sabre\DAV;
use Sabre\CalDAV;
+use Sabre\DAV;
use Sabre\DAVACL;
/**
diff --git a/vendor/sabre/dav/lib/CalDAV/Schedule/Plugin.php b/vendor/sabre/dav/lib/CalDAV/Schedule/Plugin.php
index 47511140f..0b991e619 100644
--- a/vendor/sabre/dav/lib/CalDAV/Schedule/Plugin.php
+++ b/vendor/sabre/dav/lib/CalDAV/Schedule/Plugin.php
@@ -3,29 +3,28 @@
namespace Sabre\CalDAV\Schedule;
use DateTimeZone;
+use Sabre\CalDAV\ICalendar;
+use Sabre\CalDAV\ICalendarObject;
+use Sabre\CalDAV\Xml\Property\ScheduleCalendarTransp;
+use Sabre\DAV\Exception\BadRequest;
+use Sabre\DAV\Exception\Forbidden;
+use Sabre\DAV\Exception\NotFound;
+use Sabre\DAV\Exception\NotImplemented;
+use Sabre\DAV\INode;
+use Sabre\DAV\PropFind;
+use Sabre\DAV\PropPatch;
use Sabre\DAV\Server;
use Sabre\DAV\ServerPlugin;
use Sabre\DAV\Sharing;
-use Sabre\DAV\PropFind;
-use Sabre\DAV\PropPatch;
-use Sabre\DAV\INode;
-use Sabre\DAV\Xml\Property\Href;
use Sabre\DAV\Xml\Property\LocalHref;
+use Sabre\DAVACL;
use Sabre\HTTP\RequestInterface;
use Sabre\HTTP\ResponseInterface;
use Sabre\VObject;
-use Sabre\VObject\Reader;
use Sabre\VObject\Component\VCalendar;
use Sabre\VObject\ITip;
use Sabre\VObject\ITip\Message;
-use Sabre\DAVACL;
-use Sabre\CalDAV\ICalendar;
-use Sabre\CalDAV\ICalendarObject;
-use Sabre\CalDAV\Xml\Property\ScheduleCalendarTransp;
-use Sabre\DAV\Exception\NotFound;
-use Sabre\DAV\Exception\Forbidden;
-use Sabre\DAV\Exception\BadRequest;
-use Sabre\DAV\Exception\NotImplemented;
+use Sabre\VObject\Reader;
/**
* CalDAV scheduling plugin.
@@ -377,7 +376,7 @@ class Plugin extends ServerPlugin {
/**
* This method is responsible for delivering the ITip message.
*
- * @param ITip\Message $itipMessage
+ * @param ITip\Message $iTipMessage
* @return void
*/
function deliver(ITip\Message $iTipMessage) {
@@ -890,8 +889,8 @@ class Plugin extends ServerPlugin {
* * 3.7;description
*
* @param string $email address
- * @param DateTimeInterface $start
- * @param DateTimeInterface $end
+ * @param \DateTimeInterface $start
+ * @param \DateTimeInterface $end
* @param VObject\Component $request
* @return array
*/
@@ -1059,7 +1058,7 @@ class Plugin extends ServerPlugin {
return [
'name' => $this->getPluginName(),
- 'description' => 'Adds calendar-auto-schedule, as defined in rf6868',
+ 'description' => 'Adds calendar-auto-schedule, as defined in rfc6638',
'link' => 'http://sabre.io/dav/scheduling/',
];
diff --git a/vendor/sabre/dav/lib/CalDAV/Schedule/SchedulingObject.php b/vendor/sabre/dav/lib/CalDAV/Schedule/SchedulingObject.php
index 6d9d3d5ec..0cd05a965 100644
--- a/vendor/sabre/dav/lib/CalDAV/Schedule/SchedulingObject.php
+++ b/vendor/sabre/dav/lib/CalDAV/Schedule/SchedulingObject.php
@@ -42,7 +42,7 @@ class SchedulingObject extends \Sabre\CalDAV\CalendarObject implements IScheduli
* * lastmodified - (optional) format as a unix timestamp.
* * acl - (optional) Use this to override the default ACL for the node.
*
- * @param Backend\BackendInterface $caldavBackend
+ * @param Backend\SchedulingSupport $caldavBackend
* @param array $objectData
*/
function __construct(Backend\SchedulingSupport $caldavBackend, array $objectData) {
diff --git a/vendor/sabre/dav/lib/CalDAV/SharingPlugin.php b/vendor/sabre/dav/lib/CalDAV/SharingPlugin.php
index 6f7df02bc..5cce79678 100644
--- a/vendor/sabre/dav/lib/CalDAV/SharingPlugin.php
+++ b/vendor/sabre/dav/lib/CalDAV/SharingPlugin.php
@@ -3,7 +3,6 @@
namespace Sabre\CalDAV;
use Sabre\DAV;
-use Sabre\DAV\Xml\Property\Href;
use Sabre\DAV\Xml\Property\LocalHref;
use Sabre\HTTP\RequestInterface;
use Sabre\HTTP\ResponseInterface;
@@ -29,7 +28,7 @@ class SharingPlugin extends DAV\ServerPlugin {
/**
* Reference to SabreDAV server object.
*
- * @var Sabre\DAV\Server
+ * @var DAV\Server
*/
protected $server;
diff --git a/vendor/sabre/dav/lib/CalDAV/Subscriptions/Plugin.php b/vendor/sabre/dav/lib/CalDAV/Subscriptions/Plugin.php
index 7abbfb1f9..877d96c6c 100644
--- a/vendor/sabre/dav/lib/CalDAV/Subscriptions/Plugin.php
+++ b/vendor/sabre/dav/lib/CalDAV/Subscriptions/Plugin.php
@@ -4,8 +4,8 @@ namespace Sabre\CalDAV\Subscriptions;
use Sabre\DAV\INode;
use Sabre\DAV\PropFind;
-use Sabre\DAV\ServerPlugin;
use Sabre\DAV\Server;
+use Sabre\DAV\ServerPlugin;
/**
* This plugin adds calendar-subscription support to your CalDAV server.
diff --git a/vendor/sabre/dav/lib/CalDAV/Subscriptions/Subscription.php b/vendor/sabre/dav/lib/CalDAV/Subscriptions/Subscription.php
index 3bb3451f3..6a1851ed8 100644
--- a/vendor/sabre/dav/lib/CalDAV/Subscriptions/Subscription.php
+++ b/vendor/sabre/dav/lib/CalDAV/Subscriptions/Subscription.php
@@ -2,12 +2,12 @@
namespace Sabre\CalDAV\Subscriptions;
+use Sabre\CalDAV\Backend\SubscriptionSupport;
use Sabre\DAV\Collection;
-use Sabre\DAV\Xml\Property\Href;
use Sabre\DAV\PropPatch;
-use Sabre\DAVACL\IACL;
+use Sabre\DAV\Xml\Property\Href;
use Sabre\DAVACL\ACLTrait;
-use Sabre\CalDAV\Backend\SubscriptionSupport;
+use Sabre\DAVACL\IACL;
/**
* Subscription Node
@@ -25,7 +25,7 @@ class Subscription extends Collection implements ISubscription, IACL {
/**
* caldavBackend
*
- * @var SupportsSubscriptions
+ * @var SubscriptionSupport
*/
protected $caldavBackend;
@@ -40,7 +40,7 @@ class Subscription extends Collection implements ISubscription, IACL {
* Constructor
*
* @param SubscriptionSupport $caldavBackend
- * @param array $calendarInfo
+ * @param array $subscriptionInfo
*/
function __construct(SubscriptionSupport $caldavBackend, array $subscriptionInfo) {
@@ -104,7 +104,7 @@ class Subscription extends Collection implements ISubscription, IACL {
/**
* Returns an array with all the child nodes
*
- * @return DAV\INode[]
+ * @return \Sabre\DAV\INode[]
*/
function getChildren() {
diff --git a/vendor/sabre/dav/lib/CalDAV/Xml/Filter/CalendarData.php b/vendor/sabre/dav/lib/CalDAV/Xml/Filter/CalendarData.php
index 9babcf15c..9669be304 100644
--- a/vendor/sabre/dav/lib/CalDAV/Xml/Filter/CalendarData.php
+++ b/vendor/sabre/dav/lib/CalDAV/Xml/Filter/CalendarData.php
@@ -2,11 +2,11 @@
namespace Sabre\CalDAV\Xml\Filter;
-use Sabre\Xml\Reader;
-use Sabre\Xml\XmlDeserializable;
-use Sabre\DAV\Exception\BadRequest;
use Sabre\CalDAV\Plugin;
+use Sabre\DAV\Exception\BadRequest;
use Sabre\VObject\DateTimeParser;
+use Sabre\Xml\Reader;
+use Sabre\Xml\XmlDeserializable;
/**
* CalendarData parser.
@@ -30,7 +30,7 @@ class CalendarData implements XmlDeserializable {
/**
* The deserialize method is called during xml parsing.
*
- * This method is called statictly, this is because in theory this method
+ * This method is called statically, this is because in theory this method
* may be used as a type of constructor, or factory method.
*
* Often you want to return an instance of the current class, but you are
diff --git a/vendor/sabre/dav/lib/CalDAV/Xml/Filter/CompFilter.php b/vendor/sabre/dav/lib/CalDAV/Xml/Filter/CompFilter.php
index c9b27dbfd..c21ede66b 100644
--- a/vendor/sabre/dav/lib/CalDAV/Xml/Filter/CompFilter.php
+++ b/vendor/sabre/dav/lib/CalDAV/Xml/Filter/CompFilter.php
@@ -2,11 +2,11 @@
namespace Sabre\CalDAV\Xml\Filter;
-use Sabre\Xml\Reader;
-use Sabre\Xml\XmlDeserializable;
-use Sabre\DAV\Exception\BadRequest;
use Sabre\CalDAV\Plugin;
+use Sabre\DAV\Exception\BadRequest;
use Sabre\VObject\DateTimeParser;
+use Sabre\Xml\Reader;
+use Sabre\Xml\XmlDeserializable;
/**
* CompFilter parser.
@@ -27,7 +27,7 @@ class CompFilter implements XmlDeserializable {
/**
* The deserialize method is called during xml parsing.
*
- * This method is called statictly, this is because in theory this method
+ * This method is called statically, this is because in theory this method
* may be used as a type of constructor, or factory method.
*
* Often you want to return an instance of the current class, but you are
diff --git a/vendor/sabre/dav/lib/CalDAV/Xml/Filter/ParamFilter.php b/vendor/sabre/dav/lib/CalDAV/Xml/Filter/ParamFilter.php
index eb7f564df..bf422cf05 100644
--- a/vendor/sabre/dav/lib/CalDAV/Xml/Filter/ParamFilter.php
+++ b/vendor/sabre/dav/lib/CalDAV/Xml/Filter/ParamFilter.php
@@ -2,9 +2,9 @@
namespace Sabre\CalDAV\Xml\Filter;
+use Sabre\CalDAV\Plugin;
use Sabre\Xml\Reader;
use Sabre\Xml\XmlDeserializable;
-use Sabre\CalDAV\Plugin;
/**
* PropFilter parser.
@@ -25,7 +25,7 @@ class ParamFilter implements XmlDeserializable {
/**
* The deserialize method is called during xml parsing.
*
- * This method is called statictly, this is because in theory this method
+ * This method is called statically, this is because in theory this method
* may be used as a type of constructor, or factory method.
*
* Often you want to return an instance of the current class, but you are
diff --git a/vendor/sabre/dav/lib/CalDAV/Xml/Filter/PropFilter.php b/vendor/sabre/dav/lib/CalDAV/Xml/Filter/PropFilter.php
index 4c2e1b172..db9207295 100644
--- a/vendor/sabre/dav/lib/CalDAV/Xml/Filter/PropFilter.php
+++ b/vendor/sabre/dav/lib/CalDAV/Xml/Filter/PropFilter.php
@@ -2,11 +2,11 @@
namespace Sabre\CalDAV\Xml\Filter;
-use Sabre\Xml\Reader;
-use Sabre\Xml\XmlDeserializable;
-use Sabre\DAV\Exception\BadRequest;
use Sabre\CalDAV\Plugin;
+use Sabre\DAV\Exception\BadRequest;
use Sabre\VObject\DateTimeParser;
+use Sabre\Xml\Reader;
+use Sabre\Xml\XmlDeserializable;
/**
* PropFilter parser.
@@ -27,7 +27,7 @@ class PropFilter implements XmlDeserializable {
/**
* The deserialize method is called during xml parsing.
*
- * This method is called statictly, this is because in theory this method
+ * This method is called statically, this is because in theory this method
* may be used as a type of constructor, or factory method.
*
* Often you want to return an instance of the current class, but you are
diff --git a/vendor/sabre/dav/lib/CalDAV/Xml/Notification/Invite.php b/vendor/sabre/dav/lib/CalDAV/Xml/Notification/Invite.php
index 1ca64f3e8..92a9ac7b7 100644
--- a/vendor/sabre/dav/lib/CalDAV/Xml/Notification/Invite.php
+++ b/vendor/sabre/dav/lib/CalDAV/Xml/Notification/Invite.php
@@ -2,10 +2,10 @@
namespace Sabre\CalDAV\Xml\Notification;
-use Sabre\Xml\Writer;
-use Sabre\CalDAV\SharingPlugin as SharingPlugin;
use Sabre\CalDAV;
+use Sabre\CalDAV\SharingPlugin as SharingPlugin;
use Sabre\DAV;
+use Sabre\Xml\Writer;
/**
* This class represents the cs:invite-notification notification element.
@@ -107,7 +107,7 @@ class Invite implements NotificationInterface {
/**
* The list of supported components
*
- * @var Sabre\CalDAV\Property\SupportedCalendarComponentSet
+ * @var CalDAV\Xml\Property\SupportedCalendarComponentSet
*/
protected $supportedComponents;
@@ -166,12 +166,12 @@ class Invite implements NotificationInterface {
}
/**
- * The xmlSerialize metod is called during xml writing.
+ * The xmlSerialize method is called during xml writing.
*
* Use the $writer argument to write its own xml serialization.
*
* An important note: do _not_ create a parent element. Any element
- * implementing XmlSerializble should only ever write what's considered
+ * implementing XmlSerializable should only ever write what's considered
* its 'inner xml'.
*
* The parent of the current element is responsible for writing a
diff --git a/vendor/sabre/dav/lib/CalDAV/Xml/Notification/InviteReply.php b/vendor/sabre/dav/lib/CalDAV/Xml/Notification/InviteReply.php
index 51bfc178a..f4b10a396 100644
--- a/vendor/sabre/dav/lib/CalDAV/Xml/Notification/InviteReply.php
+++ b/vendor/sabre/dav/lib/CalDAV/Xml/Notification/InviteReply.php
@@ -2,10 +2,10 @@
namespace Sabre\CalDAV\Xml\Notification;
-use Sabre\Xml\Writer;
use Sabre\CalDAV;
use Sabre\CalDAV\SharingPlugin;
use Sabre\DAV;
+use Sabre\Xml\Writer;
/**
* This class represents the cs:invite-reply notification element.
@@ -117,12 +117,12 @@ class InviteReply implements NotificationInterface {
}
/**
- * The xmlSerialize metod is called during xml writing.
+ * The xmlSerialize method is called during xml writing.
*
* Use the $writer argument to write its own xml serialization.
*
* An important note: do _not_ create a parent element. Any element
- * implementing XmlSerializble should only ever write what's considered
+ * implementing XmlSerializable should only ever write what's considered
* its 'inner xml'.
*
* The parent of the current element is responsible for writing a
diff --git a/vendor/sabre/dav/lib/CalDAV/Xml/Notification/NotificationInterface.php b/vendor/sabre/dav/lib/CalDAV/Xml/Notification/NotificationInterface.php
index 1c08f12fd..b98f9c888 100644
--- a/vendor/sabre/dav/lib/CalDAV/Xml/Notification/NotificationInterface.php
+++ b/vendor/sabre/dav/lib/CalDAV/Xml/Notification/NotificationInterface.php
@@ -2,8 +2,8 @@
namespace Sabre\CalDAV\Xml\Notification;
-use Sabre\Xml\XmlSerializable;
use Sabre\Xml\Writer;
+use Sabre\Xml\XmlSerializable;
/**
* This interface reflects a single notification type.
diff --git a/vendor/sabre/dav/lib/CalDAV/Xml/Notification/SystemStatus.php b/vendor/sabre/dav/lib/CalDAV/Xml/Notification/SystemStatus.php
index d41702e07..8c945dd68 100644
--- a/vendor/sabre/dav/lib/CalDAV/Xml/Notification/SystemStatus.php
+++ b/vendor/sabre/dav/lib/CalDAV/Xml/Notification/SystemStatus.php
@@ -2,8 +2,8 @@
namespace Sabre\CalDAV\Xml\Notification;
-use Sabre\Xml\Writer;
use Sabre\CalDAV\Plugin;
+use Sabre\Xml\Writer;
/**
* SystemStatus notification
diff --git a/vendor/sabre/dav/lib/CalDAV/Xml/Property/AllowedSharingModes.php b/vendor/sabre/dav/lib/CalDAV/Xml/Property/AllowedSharingModes.php
index c2a2d565e..54e5a116a 100644
--- a/vendor/sabre/dav/lib/CalDAV/Xml/Property/AllowedSharingModes.php
+++ b/vendor/sabre/dav/lib/CalDAV/Xml/Property/AllowedSharingModes.php
@@ -2,9 +2,9 @@
namespace Sabre\CalDAV\Xml\Property;
-use Sabre\Xml\XmlSerializable;
-use Sabre\Xml\Writer;
use Sabre\CalDAV\Plugin;
+use Sabre\Xml\Writer;
+use Sabre\Xml\XmlSerializable;
/**
* AllowedSharingModes
@@ -53,12 +53,12 @@ class AllowedSharingModes implements XmlSerializable {
}
/**
- * The xmlSerialize metod is called during xml writing.
+ * The xmlSerialize method is called during xml writing.
*
* Use the $writer argument to write its own xml serialization.
*
* An important note: do _not_ create a parent element. Any element
- * implementing XmlSerializble should only ever write what's considered
+ * implementing XmlSerializable should only ever write what's considered
* its 'inner xml'.
*
* The parent of the current element is responsible for writing a
diff --git a/vendor/sabre/dav/lib/CalDAV/Xml/Property/EmailAddressSet.php b/vendor/sabre/dav/lib/CalDAV/Xml/Property/EmailAddressSet.php
index f577a9919..fc6f1d505 100644
--- a/vendor/sabre/dav/lib/CalDAV/Xml/Property/EmailAddressSet.php
+++ b/vendor/sabre/dav/lib/CalDAV/Xml/Property/EmailAddressSet.php
@@ -49,12 +49,12 @@ class EmailAddressSet implements XmlSerializable {
}
/**
- * The xmlSerialize metod is called during xml writing.
+ * The xmlSerialize method is called during xml writing.
*
* Use the $writer argument to write its own xml serialization.
*
* An important note: do _not_ create a parent element. Any element
- * implementing XmlSerializble should only ever write what's considered
+ * implementing XmlSerializable should only ever write what's considered
* its 'inner xml'.
*
* The parent of the current element is responsible for writing a
diff --git a/vendor/sabre/dav/lib/CalDAV/Xml/Property/Invite.php b/vendor/sabre/dav/lib/CalDAV/Xml/Property/Invite.php
index 40ff6b936..4f33c464c 100644
--- a/vendor/sabre/dav/lib/CalDAV/Xml/Property/Invite.php
+++ b/vendor/sabre/dav/lib/CalDAV/Xml/Property/Invite.php
@@ -2,10 +2,11 @@
namespace Sabre\CalDAV\Xml\Property;
-use Sabre\Xml\XmlSerializable;
-use Sabre\Xml\Writer;
use Sabre\CalDAV\Plugin;
use Sabre\DAV;
+use Sabre\DAV\Xml\Element\Sharee;
+use Sabre\Xml\Writer;
+use Sabre\Xml\XmlSerializable;
/**
* Invite property
@@ -51,12 +52,12 @@ class Invite implements XmlSerializable {
}
/**
- * The xmlSerialize metod is called during xml writing.
+ * The xmlSerialize method is called during xml writing.
*
* Use the $writer argument to write its own xml serialization.
*
* An important note: do _not_ create a parent element. Any element
- * implementing XmlSerializble should only ever write what's considered
+ * implementing XmlSerializable should only ever write what's considered
* its 'inner xml'.
*
* The parent of the current element is responsible for writing a
@@ -75,7 +76,7 @@ class Invite implements XmlSerializable {
foreach ($this->sharees as $sharee) {
- if ($sharee->access === \Sabre\DAV\Sharing\Plugin::ACCESS_SHAREDOWNER) {
+ if ($sharee->access === DAV\Sharing\Plugin::ACCESS_SHAREDOWNER) {
$writer->startElement($cs . 'organizer');
} else {
$writer->startElement($cs . 'user');
@@ -109,7 +110,7 @@ class Invite implements XmlSerializable {
}
- $href = new \Sabre\DAV\Xml\Property\Href($sharee->href);
+ $href = new DAV\Xml\Property\Href($sharee->href);
$href->xmlSerialize($writer);
if (isset($sharee->properties['{DAV:}displayname'])) {
diff --git a/vendor/sabre/dav/lib/CalDAV/Xml/Property/ScheduleCalendarTransp.php b/vendor/sabre/dav/lib/CalDAV/Xml/Property/ScheduleCalendarTransp.php
index a82b8eff7..10c20be55 100644
--- a/vendor/sabre/dav/lib/CalDAV/Xml/Property/ScheduleCalendarTransp.php
+++ b/vendor/sabre/dav/lib/CalDAV/Xml/Property/ScheduleCalendarTransp.php
@@ -2,11 +2,11 @@
namespace Sabre\CalDAV\Xml\Property;
+use Sabre\CalDAV\Plugin;
+use Sabre\Xml\Deserializer;
use Sabre\Xml\Element;
use Sabre\Xml\Reader;
-use Sabre\Xml\Deserializer;
use Sabre\Xml\Writer;
-use Sabre\CalDAV\Plugin;
/**
* schedule-calendar-transp property.
@@ -62,12 +62,12 @@ class ScheduleCalendarTransp implements Element {
}
/**
- * The xmlSerialize metod is called during xml writing.
+ * The xmlSerialize method is called during xml writing.
*
* Use the $writer argument to write its own xml serialization.
*
* An important note: do _not_ create a parent element. Any element
- * implementing XmlSerializble should only ever write what's considered
+ * implementing XmlSerializable should only ever write what's considered
* its 'inner xml'.
*
* The parent of the current element is responsible for writing a
@@ -96,7 +96,7 @@ class ScheduleCalendarTransp implements Element {
/**
* The deserialize method is called during xml parsing.
*
- * This method is called statictly, this is because in theory this method
+ * This method is called statically, this is because in theory this method
* may be used as a type of constructor, or factory method.
*
* Often you want to return an instance of the current class, but you are
diff --git a/vendor/sabre/dav/lib/CalDAV/Xml/Property/SupportedCalendarComponentSet.php b/vendor/sabre/dav/lib/CalDAV/Xml/Property/SupportedCalendarComponentSet.php
index 7a26e767e..7fc25c5f0 100644
--- a/vendor/sabre/dav/lib/CalDAV/Xml/Property/SupportedCalendarComponentSet.php
+++ b/vendor/sabre/dav/lib/CalDAV/Xml/Property/SupportedCalendarComponentSet.php
@@ -2,11 +2,11 @@
namespace Sabre\CalDAV\Xml\Property;
+use Sabre\CalDAV\Plugin;
use Sabre\Xml\Element;
use Sabre\Xml\ParseException;
use Sabre\Xml\Reader;
use Sabre\Xml\Writer;
-use Sabre\CalDAV\Plugin;
/**
* SupportedCalendarComponentSet property.
@@ -55,12 +55,12 @@ class SupportedCalendarComponentSet implements Element {
}
/**
- * The xmlSerialize metod is called during xml writing.
+ * The xmlSerialize method is called during xml writing.
*
* Use the $writer argument to write its own xml serialization.
*
* An important note: do _not_ create a parent element. Any element
- * implementing XmlSerializble should only ever write what's considered
+ * implementing XmlSerializable should only ever write what's considered
* its 'inner xml'.
*
* The parent of the current element is responsible for writing a
@@ -88,7 +88,7 @@ class SupportedCalendarComponentSet implements Element {
/**
* The deserialize method is called during xml parsing.
*
- * This method is called statictly, this is because in theory this method
+ * This method is called statically, this is because in theory this method
* may be used as a type of constructor, or factory method.
*
* Often you want to return an instance of the current class, but you are
diff --git a/vendor/sabre/dav/lib/CalDAV/Xml/Property/SupportedCalendarData.php b/vendor/sabre/dav/lib/CalDAV/Xml/Property/SupportedCalendarData.php
index b0c407fd6..d123ba4c0 100644
--- a/vendor/sabre/dav/lib/CalDAV/Xml/Property/SupportedCalendarData.php
+++ b/vendor/sabre/dav/lib/CalDAV/Xml/Property/SupportedCalendarData.php
@@ -2,9 +2,9 @@
namespace Sabre\CalDAV\Xml\Property;
-use Sabre\Xml\XmlSerializable;
-use Sabre\Xml\Writer;
use Sabre\CalDAV\Plugin;
+use Sabre\Xml\Writer;
+use Sabre\Xml\XmlSerializable;
/**
* Supported-calendar-data property
@@ -23,12 +23,12 @@ use Sabre\CalDAV\Plugin;
class SupportedCalendarData implements XmlSerializable {
/**
- * The xmlSerialize metod is called during xml writing.
+ * The xmlSerialize method is called during xml writing.
*
* Use the $writer argument to write its own xml serialization.
*
* An important note: do _not_ create a parent element. Any element
- * implementing XmlSerializble should only ever write what's considered
+ * implementing XmlSerializable should only ever write what's considered
* its 'inner xml'.
*
* The parent of the current element is responsible for writing a
diff --git a/vendor/sabre/dav/lib/CalDAV/Xml/Property/SupportedCollationSet.php b/vendor/sabre/dav/lib/CalDAV/Xml/Property/SupportedCollationSet.php
index 71de25a62..af10860d0 100644
--- a/vendor/sabre/dav/lib/CalDAV/Xml/Property/SupportedCollationSet.php
+++ b/vendor/sabre/dav/lib/CalDAV/Xml/Property/SupportedCollationSet.php
@@ -2,9 +2,9 @@
namespace Sabre\CalDAV\Xml\Property;
+use Sabre\CalDAV\Plugin;
use Sabre\Xml\Writer;
use Sabre\Xml\XmlSerializable;
-use Sabre\CalDAV\Plugin;
/**
* supported-collation-set property
@@ -22,12 +22,12 @@ use Sabre\CalDAV\Plugin;
class SupportedCollationSet implements XmlSerializable {
/**
- * The xmlSerialize metod is called during xml writing.
+ * The xmlSerialize method is called during xml writing.
*
* Use the $writer argument to write its own xml serialization.
*
* An important note: do _not_ create a parent element. Any element
- * implementing XmlSerializble should only ever write what's considered
+ * implementing XmlSerializable should only ever write what's considered
* its 'inner xml'.
*
* The parent of the current element is responsible for writing a
diff --git a/vendor/sabre/dav/lib/CalDAV/Xml/Request/CalendarMultiGetReport.php b/vendor/sabre/dav/lib/CalDAV/Xml/Request/CalendarMultiGetReport.php
index 79b3bb3ac..6d3c5d508 100644
--- a/vendor/sabre/dav/lib/CalDAV/Xml/Request/CalendarMultiGetReport.php
+++ b/vendor/sabre/dav/lib/CalDAV/Xml/Request/CalendarMultiGetReport.php
@@ -2,10 +2,10 @@
namespace Sabre\CalDAV\Xml\Request;
-use Sabre\Xml\XmlDeserializable;
-use Sabre\Xml\Reader;
use Sabre\CalDAV\Plugin;
use Sabre\Uri;
+use Sabre\Xml\Reader;
+use Sabre\Xml\XmlDeserializable;
/**
* CalendarMultiGetReport request parser.
@@ -64,7 +64,7 @@ class CalendarMultiGetReport implements XmlDeserializable {
/**
* The deserialize method is called during xml parsing.
*
- * This method is called statictly, this is because in theory this method
+ * This method is called statically, this is because in theory this method
* may be used as a type of constructor, or factory method.
*
* Often you want to return an instance of the current class, but you are
diff --git a/vendor/sabre/dav/lib/CalDAV/Xml/Request/CalendarQueryReport.php b/vendor/sabre/dav/lib/CalDAV/Xml/Request/CalendarQueryReport.php
index 848a4dc46..e0b1c7950 100644
--- a/vendor/sabre/dav/lib/CalDAV/Xml/Request/CalendarQueryReport.php
+++ b/vendor/sabre/dav/lib/CalDAV/Xml/Request/CalendarQueryReport.php
@@ -2,10 +2,10 @@
namespace Sabre\CalDAV\Xml\Request;
-use Sabre\Xml\XmlDeserializable;
-use Sabre\Xml\Reader;
-use Sabre\DAV\Exception\BadRequest;
use Sabre\CalDAV\Plugin;
+use Sabre\DAV\Exception\BadRequest;
+use Sabre\Xml\Reader;
+use Sabre\Xml\XmlDeserializable;
/**
* CalendarQueryReport request parser.
@@ -64,7 +64,7 @@ class CalendarQueryReport implements XmlDeserializable {
/**
* The deserialize method is called during xml parsing.
*
- * This method is called statictly, this is because in theory this method
+ * This method is called statically, this is because in theory this method
* may be used as a type of constructor, or factory method.
*
* Often you want to return an instance of the current class, but you are
diff --git a/vendor/sabre/dav/lib/CalDAV/Xml/Request/FreeBusyQueryReport.php b/vendor/sabre/dav/lib/CalDAV/Xml/Request/FreeBusyQueryReport.php
index e3b27d08e..0f6c1e074 100644
--- a/vendor/sabre/dav/lib/CalDAV/Xml/Request/FreeBusyQueryReport.php
+++ b/vendor/sabre/dav/lib/CalDAV/Xml/Request/FreeBusyQueryReport.php
@@ -38,7 +38,7 @@ class FreeBusyQueryReport implements XmlDeserializable {
/**
* The deserialize method is called during xml parsing.
*
- * This method is called statictly, this is because in theory this method
+ * This method is called statically, this is because in theory this method
* may be used as a type of constructor, or factory method.
*
* Often you want to return an instance of the current class, but you are
diff --git a/vendor/sabre/dav/lib/CalDAV/Xml/Request/InviteReply.php b/vendor/sabre/dav/lib/CalDAV/Xml/Request/InviteReply.php
index 2ecf6c2bb..db32cc6a5 100644
--- a/vendor/sabre/dav/lib/CalDAV/Xml/Request/InviteReply.php
+++ b/vendor/sabre/dav/lib/CalDAV/Xml/Request/InviteReply.php
@@ -6,9 +6,9 @@ use Sabre\CalDAV\Plugin;
use Sabre\CalDAV\SharingPlugin;
use Sabre\DAV;
use Sabre\DAV\Exception\BadRequest;
+use Sabre\Xml\Element\KeyValue;
use Sabre\Xml\Reader;
use Sabre\Xml\XmlDeserializable;
-use Sabre\Xml\Element\KeyValue;
/**
* Invite-reply POST request parser
@@ -82,7 +82,7 @@ class InviteReply implements XmlDeserializable {
/**
* The deserialize method is called during xml parsing.
*
- * This method is called statictly, this is because in theory this method
+ * This method is called statically, this is because in theory this method
* may be used as a type of constructor, or factory method.
*
* Often you want to return an instance of the current class, but you are
diff --git a/vendor/sabre/dav/lib/CalDAV/Xml/Request/MkCalendar.php b/vendor/sabre/dav/lib/CalDAV/Xml/Request/MkCalendar.php
index 7b745db55..ce7fafde9 100644
--- a/vendor/sabre/dav/lib/CalDAV/Xml/Request/MkCalendar.php
+++ b/vendor/sabre/dav/lib/CalDAV/Xml/Request/MkCalendar.php
@@ -39,7 +39,7 @@ class MkCalendar implements XmlDeserializable {
/**
* The deserialize method is called during xml parsing.
*
- * This method is called statictly, this is because in theory this method
+ * This method is called statically, this is because in theory this method
* may be used as a type of constructor, or factory method.
*
* Often you want to return an instance of the current class, but you are
@@ -62,8 +62,8 @@ class MkCalendar implements XmlDeserializable {
$self = new self();
$elementMap = $reader->elementMap;
- $elementMap['{DAV:}prop'] = 'Sabre\DAV\Xml\Element\Prop';
- $elementMap['{DAV:}set'] = 'Sabre\Xml\Element\KeyValue';
+ $elementMap['{DAV:}prop'] = 'Sabre\DAV\Xml\Element\Prop';
+ $elementMap['{DAV:}set'] = 'Sabre\Xml\Element\KeyValue';
$elems = $reader->parseInnerTree($elementMap);
foreach ($elems as $elem) {
diff --git a/vendor/sabre/dav/lib/CalDAV/Xml/Request/Share.php b/vendor/sabre/dav/lib/CalDAV/Xml/Request/Share.php
index b5d9a133c..e0bd8e0af 100644
--- a/vendor/sabre/dav/lib/CalDAV/Xml/Request/Share.php
+++ b/vendor/sabre/dav/lib/CalDAV/Xml/Request/Share.php
@@ -41,7 +41,7 @@ class Share implements XmlDeserializable {
/**
* The deserialize method is called during xml parsing.
*
- * This method is called statictly, this is because in theory this method
+ * This method is called statically, this is because in theory this method
* may be used as a type of constructor, or factory method.
*
* Often you want to return an instance of the current class, but you are
diff --git a/vendor/sabre/dav/lib/CardDAV/AddressBook.php b/vendor/sabre/dav/lib/CardDAV/AddressBook.php
index 6dd098618..c9d28a091 100644
--- a/vendor/sabre/dav/lib/CardDAV/AddressBook.php
+++ b/vendor/sabre/dav/lib/CardDAV/AddressBook.php
@@ -60,7 +60,7 @@ class AddressBook extends DAV\Collection implements IAddressBook, DAV\IPropertie
* Returns a card
*
* @param string $name
- * @return \ICard
+ * @return Card
*/
function getChild($name) {
diff --git a/vendor/sabre/dav/lib/CardDAV/AddressBookHome.php b/vendor/sabre/dav/lib/CardDAV/AddressBookHome.php
index 888a44a40..d770c0ffe 100644
--- a/vendor/sabre/dav/lib/CardDAV/AddressBookHome.php
+++ b/vendor/sabre/dav/lib/CardDAV/AddressBookHome.php
@@ -127,7 +127,7 @@ class AddressBookHome extends DAV\Collection implements DAV\IExtendedCollection,
*
* @param string $name
* @todo needs optimizing
- * @return \AddressBook
+ * @return AddressBook
*/
function getChild($name) {
diff --git a/vendor/sabre/dav/lib/CardDAV/AddressBookRoot.php b/vendor/sabre/dav/lib/CardDAV/AddressBookRoot.php
index 4a33df4ec..a9f1183da 100644
--- a/vendor/sabre/dav/lib/CardDAV/AddressBookRoot.php
+++ b/vendor/sabre/dav/lib/CardDAV/AddressBookRoot.php
@@ -18,7 +18,7 @@ class AddressBookRoot extends DAVACL\AbstractPrincipalCollection {
/**
* Principal Backend
*
- * @var Sabre\DAVACL\PrincipalBackend\BackendInteface
+ * @var DAVACL\PrincipalBackend\BackendInterface
*/
protected $principalBackend;
diff --git a/vendor/sabre/dav/lib/CardDAV/Backend/BackendInterface.php b/vendor/sabre/dav/lib/CardDAV/Backend/BackendInterface.php
index 54e42b899..18c0c0a99 100644
--- a/vendor/sabre/dav/lib/CardDAV/Backend/BackendInterface.php
+++ b/vendor/sabre/dav/lib/CardDAV/Backend/BackendInterface.php
@@ -46,7 +46,7 @@ interface BackendInterface {
* Calling the handle method is like telling the PropPatch object "I
* promise I can handle updating this property".
*
- * Read the PropPatch documenation for more info and examples.
+ * Read the PropPatch documentation for more info and examples.
*
* @param string $addressBookId
* @param \Sabre\DAV\PropPatch $propPatch
diff --git a/vendor/sabre/dav/lib/CardDAV/Backend/PDO.php b/vendor/sabre/dav/lib/CardDAV/Backend/PDO.php
index 7c3feff93..13487e9da 100644
--- a/vendor/sabre/dav/lib/CardDAV/Backend/PDO.php
+++ b/vendor/sabre/dav/lib/CardDAV/Backend/PDO.php
@@ -93,7 +93,7 @@ class PDO extends AbstractBackend implements SyncSupport {
* Calling the handle method is like telling the PropPatch object "I
* promise I can handle updating this property".
*
- * Read the PropPatch documenation for more info and examples.
+ * Read the PropPatch documentation for more info and examples.
*
* @param string $addressBookId
* @param \Sabre\DAV\PropPatch $propPatch
@@ -240,7 +240,7 @@ class PDO extends AbstractBackend implements SyncSupport {
}
/**
- * Returns a specfic card.
+ * Returns a specific card.
*
* The same set of properties must be returned as with getCards. The only
* exception is that 'carddata' is absolutely required.
@@ -466,7 +466,7 @@ class PDO extends AbstractBackend implements SyncSupport {
// Current synctoken
$stmt = $this->pdo->prepare('SELECT synctoken FROM ' . $this->addressBooksTableName . ' WHERE id = ?');
- $stmt->execute([ $addressBookId ]);
+ $stmt->execute([$addressBookId]);
$currentToken = $stmt->fetchColumn(0);
if (is_null($currentToken)) return null;
diff --git a/vendor/sabre/dav/lib/CardDAV/Card.php b/vendor/sabre/dav/lib/CardDAV/Card.php
index 0a040be6b..42a2d7b6a 100644
--- a/vendor/sabre/dav/lib/CardDAV/Card.php
+++ b/vendor/sabre/dav/lib/CardDAV/Card.php
@@ -2,8 +2,8 @@
namespace Sabre\CardDAV;
-use Sabre\DAVACL;
use Sabre\DAV;
+use Sabre\DAVACL;
/**
* The Card object represents a single Card from an addressbook
diff --git a/vendor/sabre/dav/lib/CardDAV/Plugin.php b/vendor/sabre/dav/lib/CardDAV/Plugin.php
index 0507df100..272ae71fa 100644
--- a/vendor/sabre/dav/lib/CardDAV/Plugin.php
+++ b/vendor/sabre/dav/lib/CardDAV/Plugin.php
@@ -43,7 +43,7 @@ class Plugin extends DAV\ServerPlugin {
/**
* Server class
*
- * @var Sabre\DAV\Server
+ * @var DAV\Server
*/
protected $server;
@@ -490,7 +490,8 @@ class Plugin extends DAV\ServerPlugin {
$props[200]['{' . self::NS_CARDDAV . '}address-data'] = $this->convertVCard(
$props[200]['{' . self::NS_CARDDAV . '}address-data'],
- $vcardType
+ $vcardType,
+ $report->addressDataProperties
);
}
@@ -845,14 +846,26 @@ class Plugin extends DAV\ServerPlugin {
*
* @param string|resource $data
* @param string $target
+ * @param array $propertiesFilter
* @return string
*/
- protected function convertVCard($data, $target) {
+ protected function convertVCard($data, $target, array $propertiesFilter = null) {
if (is_resource($data)) {
$data = stream_get_contents($data);
}
$input = VObject\Reader::read($data);
+ if (!empty($propertiesFilter)) {
+ $propertiesFilter = array_merge(['UID', 'VERSION', 'FN'], $propertiesFilter);
+ $keys = array_unique(array_map(function($child) {
+ return $child->name;
+ }, $input->children()));
+ $keys = array_diff($keys, $propertiesFilter);
+ foreach ($keys as $key) {
+ unset($input->$key);
+ }
+ $data = $input->serialize();
+ }
$output = null;
try {
diff --git a/vendor/sabre/dav/lib/CardDAV/VCFExportPlugin.php b/vendor/sabre/dav/lib/CardDAV/VCFExportPlugin.php
index d015589ad..2d61db6ac 100644
--- a/vendor/sabre/dav/lib/CardDAV/VCFExportPlugin.php
+++ b/vendor/sabre/dav/lib/CardDAV/VCFExportPlugin.php
@@ -3,9 +3,9 @@
namespace Sabre\CardDAV;
use Sabre\DAV;
-use Sabre\VObject;
use Sabre\HTTP\RequestInterface;
use Sabre\HTTP\ResponseInterface;
+use Sabre\VObject;
/**
* VCF Exporter
@@ -24,7 +24,7 @@ class VCFExportPlugin extends DAV\ServerPlugin {
/**
* Reference to Server class
*
- * @var Sabre\DAV\Server
+ * @var DAV\Server
*/
protected $server;
diff --git a/vendor/sabre/dav/lib/CardDAV/Xml/Filter/AddressData.php b/vendor/sabre/dav/lib/CardDAV/Xml/Filter/AddressData.php
index 34028db85..a130cd61d 100644
--- a/vendor/sabre/dav/lib/CardDAV/Xml/Filter/AddressData.php
+++ b/vendor/sabre/dav/lib/CardDAV/Xml/Filter/AddressData.php
@@ -26,7 +26,7 @@ class AddressData implements XmlDeserializable {
/**
* The deserialize method is called during xml parsing.
*
- * This method is called statictly, this is because in theory this method
+ * This method is called statically, this is because in theory this method
* may be used as a type of constructor, or factory method.
*
* Often you want to return an instance of the current class, but you are
@@ -51,7 +51,11 @@ class AddressData implements XmlDeserializable {
'version' => $reader->getAttribute('version') ?: '3.0',
];
- $reader->next();
+ $elems = (array)$reader->parseInnerTree();
+ $result['addressDataProperties'] = array_map(function($element) {
+ return $element['attributes']['name'];
+ }, $elems);
+
return $result;
}
diff --git a/vendor/sabre/dav/lib/CardDAV/Xml/Filter/ParamFilter.php b/vendor/sabre/dav/lib/CardDAV/Xml/Filter/ParamFilter.php
index 9646ae3e6..936e26917 100644
--- a/vendor/sabre/dav/lib/CardDAV/Xml/Filter/ParamFilter.php
+++ b/vendor/sabre/dav/lib/CardDAV/Xml/Filter/ParamFilter.php
@@ -2,10 +2,10 @@
namespace Sabre\CardDAV\Xml\Filter;
+use Sabre\CardDAV\Plugin;
+use Sabre\DAV\Exception\BadRequest;
use Sabre\Xml\Element;
use Sabre\Xml\Reader;
-use Sabre\DAV\Exception\BadRequest;
-use Sabre\CardDAV\Plugin;
/**
* ParamFilter parser.
@@ -26,7 +26,7 @@ abstract class ParamFilter implements Element {
/**
* The deserialize method is called during xml parsing.
*
- * This method is called statictly, this is because in theory this method
+ * This method is called statically, this is because in theory this method
* may be used as a type of constructor, or factory method.
*
* Often you want to return an instance of the current class, but you are
diff --git a/vendor/sabre/dav/lib/CardDAV/Xml/Filter/PropFilter.php b/vendor/sabre/dav/lib/CardDAV/Xml/Filter/PropFilter.php
index c162da160..d7799429d 100644
--- a/vendor/sabre/dav/lib/CardDAV/Xml/Filter/PropFilter.php
+++ b/vendor/sabre/dav/lib/CardDAV/Xml/Filter/PropFilter.php
@@ -2,10 +2,10 @@
namespace Sabre\CardDAV\Xml\Filter;
+use Sabre\CardDAV\Plugin;
+use Sabre\DAV\Exception\BadRequest;
use Sabre\Xml\Reader;
use Sabre\Xml\XmlDeserializable;
-use Sabre\DAV\Exception\BadRequest;
-use Sabre\CardDAV\Plugin;
/**
* PropFilter parser.
@@ -26,7 +26,7 @@ class PropFilter implements XmlDeserializable {
/**
* The deserialize method is called during xml parsing.
*
- * This method is called statictly, this is because in theory this method
+ * This method is called statically, this is because in theory this method
* may be used as a type of constructor, or factory method.
*
* Often you want to return an instance of the current class, but you are
diff --git a/vendor/sabre/dav/lib/CardDAV/Xml/Property/SupportedAddressData.php b/vendor/sabre/dav/lib/CardDAV/Xml/Property/SupportedAddressData.php
index 6ff57b6e3..aecd8a09f 100644
--- a/vendor/sabre/dav/lib/CardDAV/Xml/Property/SupportedAddressData.php
+++ b/vendor/sabre/dav/lib/CardDAV/Xml/Property/SupportedAddressData.php
@@ -2,9 +2,9 @@
namespace Sabre\CardDAV\Xml\Property;
+use Sabre\CardDAV\Plugin;
use Sabre\Xml\Writer;
use Sabre\Xml\XmlSerializable;
-use Sabre\CardDAV\Plugin;
/**
* Supported-address-data property
@@ -49,12 +49,12 @@ class SupportedAddressData implements XmlSerializable {
}
/**
- * The xmlSerialize metod is called during xml writing.
+ * The xmlSerialize method is called during xml writing.
*
* Use the $writer argument to write its own xml serialization.
*
* An important note: do _not_ create a parent element. Any element
- * implementing XmlSerializble should only ever write what's considered
+ * implementing XmlSerializable should only ever write what's considered
* its 'inner xml'.
*
* The parent of the current element is responsible for writing a
diff --git a/vendor/sabre/dav/lib/CardDAV/Xml/Property/SupportedCollationSet.php b/vendor/sabre/dav/lib/CardDAV/Xml/Property/SupportedCollationSet.php
index 1fc064900..778aa2b64 100644
--- a/vendor/sabre/dav/lib/CardDAV/Xml/Property/SupportedCollationSet.php
+++ b/vendor/sabre/dav/lib/CardDAV/Xml/Property/SupportedCollationSet.php
@@ -18,12 +18,12 @@ use Sabre\Xml\XmlSerializable;
class SupportedCollationSet implements XmlSerializable {
/**
- * The xmlSerialize metod is called during xml writing.
+ * The xmlSerialize method is called during xml writing.
*
* Use the $writer argument to write its own xml serialization.
*
* An important note: do _not_ create a parent element. Any element
- * implementing XmlSerializble should only ever write what's considered
+ * implementing XmlSerializable should only ever write what's considered
* its 'inner xml'.
*
* The parent of the current element is responsible for writing a
diff --git a/vendor/sabre/dav/lib/CardDAV/Xml/Request/AddressBookMultiGetReport.php b/vendor/sabre/dav/lib/CardDAV/Xml/Request/AddressBookMultiGetReport.php
index c97c5eb4f..0115a0107 100644
--- a/vendor/sabre/dav/lib/CardDAV/Xml/Request/AddressBookMultiGetReport.php
+++ b/vendor/sabre/dav/lib/CardDAV/Xml/Request/AddressBookMultiGetReport.php
@@ -54,7 +54,7 @@ class AddressBookMultiGetReport implements XmlDeserializable {
/**
* The deserialize method is called during xml parsing.
*
- * This method is called statictly, this is because in theory this method
+ * This method is called statically, this is because in theory this method
* may be used as a type of constructor, or factory method.
*
* Often you want to return an instance of the current class, but you are
diff --git a/vendor/sabre/dav/lib/CardDAV/Xml/Request/AddressBookQueryReport.php b/vendor/sabre/dav/lib/CardDAV/Xml/Request/AddressBookQueryReport.php
index a68ac5800..09fad008a 100644
--- a/vendor/sabre/dav/lib/CardDAV/Xml/Request/AddressBookQueryReport.php
+++ b/vendor/sabre/dav/lib/CardDAV/Xml/Request/AddressBookQueryReport.php
@@ -2,10 +2,10 @@
namespace Sabre\CardDAV\Xml\Request;
+use Sabre\CardDAV\Plugin;
+use Sabre\DAV\Exception\BadRequest;
use Sabre\Xml\Reader;
use Sabre\Xml\XmlDeserializable;
-use Sabre\DAV\Exception\BadRequest;
-use Sabre\CardDAV\Plugin;
/**
* AddressBookQueryReport request parser.
@@ -29,6 +29,13 @@ class AddressBookQueryReport implements XmlDeserializable {
public $properties;
/**
+ * An array with requested vcard properties.
+ *
+ * @var array
+ */
+ public $addressDataProperties = [];
+
+ /**
* List of property/component filters.
*
* This is an array with filters. Every item is a property filter. Every
@@ -92,7 +99,7 @@ class AddressBookQueryReport implements XmlDeserializable {
/**
* The deserialize method is called during xml parsing.
*
- * This method is called statictly, this is because in theory this method
+ * This method is called statically, this is because in theory this method
* may be used as a type of constructor, or factory method.
*
* Often you want to return an instance of the current class, but you are
diff --git a/vendor/sabre/dav/lib/DAV/Auth/Backend/AbstractDigest.php b/vendor/sabre/dav/lib/DAV/Auth/Backend/AbstractDigest.php
index 85c5f30d5..4b47f56c9 100644
--- a/vendor/sabre/dav/lib/DAV/Auth/Backend/AbstractDigest.php
+++ b/vendor/sabre/dav/lib/DAV/Auth/Backend/AbstractDigest.php
@@ -2,8 +2,8 @@
namespace Sabre\DAV\Auth\Backend;
-use Sabre\HTTP;
use Sabre\DAV;
+use Sabre\HTTP;
use Sabre\HTTP\RequestInterface;
use Sabre\HTTP\ResponseInterface;
diff --git a/vendor/sabre/dav/lib/DAV/Auth/Backend/PDO.php b/vendor/sabre/dav/lib/DAV/Auth/Backend/PDO.php
index 76ad89391..c2f6de974 100644
--- a/vendor/sabre/dav/lib/DAV/Auth/Backend/PDO.php
+++ b/vendor/sabre/dav/lib/DAV/Auth/Backend/PDO.php
@@ -31,7 +31,7 @@ class PDO extends AbstractDigest {
*
* If the filename argument is passed in, it will parse out the specified file fist.
*
- * @param PDO $pdo
+ * @param \PDO $pdo
*/
function __construct(\PDO $pdo) {
diff --git a/vendor/sabre/dav/lib/DAV/Auth/Plugin.php b/vendor/sabre/dav/lib/DAV/Auth/Plugin.php
index 4b5f35ac3..bbb5d180d 100644
--- a/vendor/sabre/dav/lib/DAV/Auth/Plugin.php
+++ b/vendor/sabre/dav/lib/DAV/Auth/Plugin.php
@@ -2,11 +2,11 @@
namespace Sabre\DAV\Auth;
-use Sabre\HTTP\RequestInterface;
-use Sabre\HTTP\ResponseInterface;
use Sabre\DAV\Exception\NotAuthenticated;
use Sabre\DAV\Server;
use Sabre\DAV\ServerPlugin;
+use Sabre\HTTP\RequestInterface;
+use Sabre\HTTP\ResponseInterface;
/**
* This plugin provides Authentication for a WebDAV server.
@@ -181,7 +181,7 @@ class Plugin extends ServerPlugin {
*
* If login was not successful, the second item in the array will contain a
* an array with strings. The strings are a list of reasons why login was
- * unsuccesful. For every auth backend there will be one reason, so usually
+ * unsuccessful. For every auth backend there will be one reason, so usually
* there's just one.
*
* @param RequestInterface $request
diff --git a/vendor/sabre/dav/lib/DAV/Browser/GuessContentType.php b/vendor/sabre/dav/lib/DAV/Browser/GuessContentType.php
index 01cddc230..3ba2aee25 100644
--- a/vendor/sabre/dav/lib/DAV/Browser/GuessContentType.php
+++ b/vendor/sabre/dav/lib/DAV/Browser/GuessContentType.php
@@ -2,10 +2,10 @@
namespace Sabre\DAV\Browser;
-use Sabre\HTTP\URLUtil;
use Sabre\DAV;
-use Sabre\DAV\PropFind;
use Sabre\DAV\Inode;
+use Sabre\DAV\PropFind;
+use Sabre\HTTP\URLUtil;
/**
* GuessContentType plugin
diff --git a/vendor/sabre/dav/lib/DAV/Browser/MapGetToPropFind.php b/vendor/sabre/dav/lib/DAV/Browser/MapGetToPropFind.php
index 38ee63bcd..61327c49a 100644
--- a/vendor/sabre/dav/lib/DAV/Browser/MapGetToPropFind.php
+++ b/vendor/sabre/dav/lib/DAV/Browser/MapGetToPropFind.php
@@ -21,7 +21,7 @@ class MapGetToPropFind extends DAV\ServerPlugin {
/**
* reference to server class
*
- * @var Sabre\DAV\Server
+ * @var DAV\Server
*/
protected $server;
diff --git a/vendor/sabre/dav/lib/DAV/Browser/Plugin.php b/vendor/sabre/dav/lib/DAV/Browser/Plugin.php
index 49359a045..545ad5633 100644
--- a/vendor/sabre/dav/lib/DAV/Browser/Plugin.php
+++ b/vendor/sabre/dav/lib/DAV/Browser/Plugin.php
@@ -4,9 +4,9 @@ namespace Sabre\DAV\Browser;
use Sabre\DAV;
use Sabre\DAV\MkCol;
-use Sabre\HTTP\URLUtil;
use Sabre\HTTP\RequestInterface;
use Sabre\HTTP\ResponseInterface;
+use Sabre\HTTP\URLUtil;
/**
* Browser Plugin
@@ -26,7 +26,7 @@ class Plugin extends DAV\ServerPlugin {
/**
* reference to server class
*
- * @var Sabre\DAV\Server
+ * @var DAV\Server
*/
protected $server;
@@ -112,7 +112,7 @@ class Plugin extends DAV\ServerPlugin {
$getVars = $request->getQueryParameters();
// CSP headers
- $this->server->httpResponse->setHeader('Content-Security-Policy', "default-src 'none'; img-src 'self'; style-src 'self'; font-src 'self';");
+ $response->setHeader('Content-Security-Policy', "default-src 'none'; img-src 'self'; style-src 'self'; font-src 'self';");
$sabreAction = isset($getVars['sabreAction']) ? $getVars['sabreAction'] : null;
@@ -317,7 +317,7 @@ class Plugin extends DAV\ServerPlugin {
$buttonActions = '';
if ($subProps['subNode'] instanceof DAV\IFile) {
- $buttonActions = '<a href="' . $this->escapeHTML($subProps['fullPath']) . '?sabreAction=info"><span class="oi" data-glyph="info"></span></a>';
+ $buttonActions = '<a href="' . $this->escapeHTML($subProps['fullPath']) . '?sabreAction=info"><span class="oi" data-glyph="info"></span></a>';
}
$this->server->emit('browserButtonActions', [$subProps['fullPath'], $subProps['subNode'], &$buttonActions]);
@@ -414,11 +414,14 @@ class Plugin extends DAV\ServerPlugin {
*
* @param string $title
* @param string $path
- * @return void
+ * @return string
*/
function generateHeader($title, $path = null) {
- $version = DAV\Version::VERSION;
+ $version = '';
+ if (DAV\Server::$exposeVersion) {
+ $version = DAV\Version::VERSION;
+ }
$vars = [
'title' => $this->escapeHTML($title),
@@ -475,7 +478,10 @@ HTML;
*/
function generateFooter() {
- $version = DAV\Version::VERSION;
+ $version = '';
+ if (DAV\Server::$exposeVersion) {
+ $version = DAV\Version::VERSION;
+ }
return <<<HTML
<footer>Generated by SabreDAV $version (c)2007-2016 <a href="http://sabre.io/">http://sabre.io/</a></footer>
</body>
@@ -506,23 +512,21 @@ HTML;
if (get_class($node) === 'Sabre\\DAV\\SimpleCollection')
return;
- ob_start();
- echo '<form method="post" action="">
- <h3>Create new folder</h3>
- <input type="hidden" name="sabreAction" value="mkcol" />
- <label>Name:</label> <input type="text" name="name" /><br />
- <input type="submit" value="create" />
- </form>
- <form method="post" action="" enctype="multipart/form-data">
- <h3>Upload file</h3>
- <input type="hidden" name="sabreAction" value="put" />
- <label>Name (optional):</label> <input type="text" name="name" /><br />
- <label>File:</label> <input type="file" name="file" /><br />
- <input type="submit" value="upload" />
- </form>
- ';
-
- $output .= ob_get_clean();
+ $output .= <<<HTML
+<form method="post" action="">
+<h3>Create new folder</h3>
+<input type="hidden" name="sabreAction" value="mkcol" />
+<label>Name:</label> <input type="text" name="name" /><br />
+<input type="submit" value="create" />
+</form>
+<form method="post" action="" enctype="multipart/form-data">
+<h3>Upload file</h3>
+<input type="hidden" name="sabreAction" value="put" />
+<label>Name (optional):</label> <input type="text" name="name" /><br />
+<label>File:</label> <input type="file" name="file" /><br />
+<input type="submit" value="upload" />
+</form>
+HTML;
}
@@ -543,8 +547,8 @@ HTML;
* This method returns a local pathname to an asset.
*
* @param string $assetName
- * @return string
* @throws DAV\Exception\NotFound
+ * @return string
*/
protected function getLocalAssetPath($assetName) {
@@ -575,9 +579,9 @@ HTML;
// Rudimentary mime type detection
$mime = 'application/octet-stream';
$map = [
- 'ico' => 'image/vnd.microsoft.icon',
- 'png' => 'image/png',
- 'css' => 'text/css',
+ 'ico' => 'image/vnd.microsoft.icon',
+ 'png' => 'image/png',
+ 'css' => 'text/css',
];
$ext = substr($assetName, strrpos($assetName, '.') + 1);
@@ -623,7 +627,7 @@ HTML;
* Maps a resource type to a human-readable string and icon.
*
* @param array $resourceTypes
- * @param INode $node
+ * @param DAV\INode $node
* @return array
*/
private function mapResourceType(array $resourceTypes, $node) {
diff --git a/vendor/sabre/dav/lib/DAV/Browser/PropFindAll.php b/vendor/sabre/dav/lib/DAV/Browser/PropFindAll.php
index 1ac439672..c14b7f2f9 100644
--- a/vendor/sabre/dav/lib/DAV/Browser/PropFindAll.php
+++ b/vendor/sabre/dav/lib/DAV/Browser/PropFindAll.php
@@ -28,7 +28,7 @@ class PropFindAll extends PropFind {
/**
* Handles a specific property.
*
- * This method checks wether the specified property was requested in this
+ * This method checks whether the specified property was requested in this
* PROPFIND request, and if so, it will call the callback and use the
* return value for it's value.
*
diff --git a/vendor/sabre/dav/lib/DAV/Client.php b/vendor/sabre/dav/lib/DAV/Client.php
index 08d5d4702..175ad1bc4 100644
--- a/vendor/sabre/dav/lib/DAV/Client.php
+++ b/vendor/sabre/dav/lib/DAV/Client.php
@@ -231,7 +231,7 @@ class Client extends HTTP\Client {
$response = $this->send($request);
if ((int)$response->getStatus() >= 400) {
- throw new \Sabre\HTTP\ClientHttpException($response);
+ throw new HTTP\ClientHttpException($response);
}
$result = $this->parseMultiStatus($response->getBodyAsString());
@@ -281,7 +281,7 @@ class Client extends HTTP\Client {
$response = $this->send($request);
if ($response->getStatus() >= 400) {
- throw new \Sabre\HTTP\ClientHttpException($response);
+ throw new HTTP\ClientHttpException($response);
}
if ($response->getStatus() === 207) {
@@ -303,7 +303,7 @@ class Client extends HTTP\Client {
}
if ($errorProperties) {
- throw new \Sabre\HTTP\ClientException('PROPPATCH failed. The following properties errored: ' . implode(', ', $errorProperties));
+ throw new HTTP\ClientException('PROPPATCH failed. The following properties errored: ' . implode(', ', $errorProperties));
}
}
return true;
diff --git a/vendor/sabre/dav/lib/DAV/Collection.php b/vendor/sabre/dav/lib/DAV/Collection.php
index a46bcc342..35c90b5af 100644
--- a/vendor/sabre/dav/lib/DAV/Collection.php
+++ b/vendor/sabre/dav/lib/DAV/Collection.php
@@ -68,7 +68,7 @@ abstract class Collection extends Node implements ICollection {
* Data will either be supplied as a stream resource, or in certain cases
* as a string. Keep in mind that you may have to support either.
*
- * After succesful creation of the file, you may choose to return the ETag
+ * After successful creation of the file, you may choose to return the ETag
* of the new file here.
*
* The returned ETag must be surrounded by double-quotes (The quotes should
diff --git a/vendor/sabre/dav/lib/DAV/CorePlugin.php b/vendor/sabre/dav/lib/DAV/CorePlugin.php
index a1b052915..676cdd04a 100644
--- a/vendor/sabre/dav/lib/DAV/CorePlugin.php
+++ b/vendor/sabre/dav/lib/DAV/CorePlugin.php
@@ -165,7 +165,7 @@ class CorePlugin extends ServerPlugin {
} else {
$start = $nodeSize - $range[1];
- $end = $nodeSize - 1;
+ $end = $nodeSize - 1;
if ($start < 0) $start = 0;
@@ -194,7 +194,7 @@ class CorePlugin extends ServerPlugin {
$response->setBody($body);
}
- // Sending back false will interupt the event chain and tell the server
+ // Sending back false will interrupt the event chain and tell the server
// we've handled this method.
return false;
@@ -224,7 +224,7 @@ class CorePlugin extends ServerPlugin {
$response->setHeader('Content-Length', '0');
$response->setStatus(200);
- // Sending back false will interupt the event chain and tell the server
+ // Sending back false will interrupt the event chain and tell the server
// we've handled this method.
return false;
@@ -264,7 +264,7 @@ class CorePlugin extends ServerPlugin {
$response->setHeader('X-Sabre-Real-Status', $e->getHTTPCode());
}
- // Sending back false will interupt the event chain and tell the server
+ // Sending back false will interrupt the event chain and tell the server
// we've handled this method.
return false;
@@ -290,7 +290,7 @@ class CorePlugin extends ServerPlugin {
$response->setStatus(204);
$response->setHeader('Content-Length', '0');
- // Sending back false will interupt the event chain and tell the server
+ // Sending back false will interrupt the event chain and tell the server
// we've handled this method.
return false;
@@ -333,7 +333,7 @@ class CorePlugin extends ServerPlugin {
// The only two options for the depth of a propfind is 0 or 1 - as long as depth infinity is not enabled
if (!$this->server->enablePropfindDepthInfinity && $depth != 0) $depth = 1;
- $newProperties = $this->server->getPropertiesForPath($path, $propFindXml->properties, $depth);
+ $newProperties = $this->server->getPropertiesIteratorForPath($path, $propFindXml->properties, $depth);
// This is a multi-status response
$response->setStatus(207);
@@ -355,7 +355,7 @@ class CorePlugin extends ServerPlugin {
$data = $this->server->generateMultiStatus($newProperties, $minimal);
$response->setBody($data);
- // Sending back false will interupt the event chain and tell the server
+ // Sending back false will interrupt the event chain and tell the server
// we've handled this method.
return false;
@@ -390,7 +390,7 @@ class CorePlugin extends ServerPlugin {
if ($prefer['return'] === 'minimal') {
// If return-minimal is specified, we only have to check if the
- // request was succesful, and don't need to return the
+ // request was successful, and don't need to return the
// multi-status.
$ok = true;
foreach ($result as $prop => $code) {
@@ -427,7 +427,7 @@ class CorePlugin extends ServerPlugin {
$this->server->generateMultiStatus([$multiStatus])
);
- // Sending back false will interupt the event chain and tell the server
+ // Sending back false will interrupt the event chain and tell the server
// we've handled this method.
return false;
@@ -533,7 +533,7 @@ class CorePlugin extends ServerPlugin {
}
- // Sending back false will interupt the event chain and tell the server
+ // Sending back false will interrupt the event chain and tell the server
// we've handled this method.
return false;
@@ -602,7 +602,7 @@ class CorePlugin extends ServerPlugin {
$response->setStatus(201);
}
- // Sending back false will interupt the event chain and tell the server
+ // Sending back false will interrupt the event chain and tell the server
// we've handled this method.
return false;
@@ -653,7 +653,7 @@ class CorePlugin extends ServerPlugin {
$response->setHeader('Content-Length', '0');
$response->setStatus($moveInfo['destinationExists'] ? 204 : 201);
- // Sending back false will interupt the event chain and tell the server
+ // Sending back false will interrupt the event chain and tell the server
// we've handled this method.
return false;
@@ -688,7 +688,7 @@ class CorePlugin extends ServerPlugin {
$response->setHeader('Content-Length', '0');
$response->setStatus($copyInfo['destinationExists'] ? 204 : 201);
- // Sending back false will interupt the event chain and tell the server
+ // Sending back false will interrupt the event chain and tell the server
// we've handled this method.
return false;
@@ -722,7 +722,7 @@ class CorePlugin extends ServerPlugin {
}
- // Sending back false will interupt the event chain and tell the server
+ // Sending back false will interrupt the event chain and tell the server
// we've handled this method.
return false;
@@ -740,7 +740,7 @@ class CorePlugin extends ServerPlugin {
*/
function propPatchProtectedPropertyCheck($path, PropPatch $propPatch) {
- // Comparing the mutation list to the list of propetected properties.
+ // Comparing the mutation list to the list of protected properties.
$mutations = $propPatch->getMutations();
$protected = array_intersect(
diff --git a/vendor/sabre/dav/lib/DAV/Exception/InvalidResourceType.php b/vendor/sabre/dav/lib/DAV/Exception/InvalidResourceType.php
index 505fe5c10..6324d9f3a 100644
--- a/vendor/sabre/dav/lib/DAV/Exception/InvalidResourceType.php
+++ b/vendor/sabre/dav/lib/DAV/Exception/InvalidResourceType.php
@@ -19,7 +19,7 @@ class InvalidResourceType extends Forbidden {
/**
* This method allows the exception to include additional information into the WebDAV error response
*
- * @param DAV\Server $server
+ * @param \Sabre\DAV\Server $server
* @param \DOMElement $errorNode
* @return void
*/
diff --git a/vendor/sabre/dav/lib/DAV/FS/Node.php b/vendor/sabre/dav/lib/DAV/FS/Node.php
index 831c11911..424718f96 100644
--- a/vendor/sabre/dav/lib/DAV/FS/Node.php
+++ b/vendor/sabre/dav/lib/DAV/FS/Node.php
@@ -43,7 +43,7 @@ abstract class Node implements DAV\INode {
*/
function getName() {
- list(, $name) = URLUtil::splitPath($this->path);
+ list(, $name) = URLUtil::splitPath($this->path);
return $name;
}
diff --git a/vendor/sabre/dav/lib/DAV/File.php b/vendor/sabre/dav/lib/DAV/File.php
index 675956b22..5161fbd51 100644
--- a/vendor/sabre/dav/lib/DAV/File.php
+++ b/vendor/sabre/dav/lib/DAV/File.php
@@ -19,7 +19,7 @@ abstract class File extends Node implements IFile {
*
* The data argument is a readable stream resource.
*
- * After a succesful put operation, you may choose to return an ETag. The
+ * After a successful put operation, you may choose to return an ETag. The
* etag must always be surrounded by double-quotes. These quotes must
* appear in the actual string you're returning.
*
diff --git a/vendor/sabre/dav/lib/DAV/IFile.php b/vendor/sabre/dav/lib/DAV/IFile.php
index 37e7cd33c..19d8d8637 100644
--- a/vendor/sabre/dav/lib/DAV/IFile.php
+++ b/vendor/sabre/dav/lib/DAV/IFile.php
@@ -20,7 +20,7 @@ interface IFile extends INode {
*
* The data argument is a readable stream resource.
*
- * After a succesful put operation, you may choose to return an ETag. The
+ * After a successful put operation, you may choose to return an ETag. The
* etag must always be surrounded by double-quotes. These quotes must
* appear in the actual string you're returning.
*
@@ -32,7 +32,7 @@ interface IFile extends INode {
* different object on a subsequent GET you are strongly recommended to not
* return an ETag, and just return null.
*
- * @param resource|data $data
+ * @param resource|string $data
* @return string|null
*/
function put($data);
diff --git a/vendor/sabre/dav/lib/DAV/IMoveTarget.php b/vendor/sabre/dav/lib/DAV/IMoveTarget.php
index f0f67bc26..92fde1d5c 100644
--- a/vendor/sabre/dav/lib/DAV/IMoveTarget.php
+++ b/vendor/sabre/dav/lib/DAV/IMoveTarget.php
@@ -7,7 +7,7 @@ namespace Sabre\DAV;
* nodes may be moved into this collection".
*
* The benefit of this, is that sabre/dav will by default perform a move, by
- * tranfersing an entire directory tree, copying every collection, and deleting
+ * transferring an entire directory tree, copying every collection, and deleting
* every item.
*
* If a backend supports a better optimized move operation, this can trigger
diff --git a/vendor/sabre/dav/lib/DAV/Locks/Backend/PDO.php b/vendor/sabre/dav/lib/DAV/Locks/Backend/PDO.php
index a01d9bae4..510f266f7 100644
--- a/vendor/sabre/dav/lib/DAV/Locks/Backend/PDO.php
+++ b/vendor/sabre/dav/lib/DAV/Locks/Backend/PDO.php
@@ -33,7 +33,7 @@ class PDO extends AbstractBackend {
/**
* Constructor
*
- * @param PDO $pdo
+ * @param \PDO $pdo
*/
function __construct(\PDO $pdo) {
@@ -102,7 +102,7 @@ class PDO extends AbstractBackend {
$lockInfo->created = $row['created'];
$lockInfo->scope = $row['scope'];
$lockInfo->depth = $row['depth'];
- $lockInfo->uri = $row['uri'];
+ $lockInfo->uri = $row['uri'];
$lockList[] = $lockInfo;
}
diff --git a/vendor/sabre/dav/lib/DAV/Locks/Plugin.php b/vendor/sabre/dav/lib/DAV/Locks/Plugin.php
index 4855b7076..41a3bf3fa 100644
--- a/vendor/sabre/dav/lib/DAV/Locks/Plugin.php
+++ b/vendor/sabre/dav/lib/DAV/Locks/Plugin.php
@@ -25,14 +25,14 @@ class Plugin extends DAV\ServerPlugin {
/**
* locksBackend
*
- * @var Backend\Backend\Interface
+ * @var Backend\BackendInterface
*/
protected $locksBackend;
/**
* server
*
- * @var Sabre\DAV\Server
+ * @var DAV\Server
*/
protected $server;
@@ -256,7 +256,7 @@ class Plugin extends DAV\ServerPlugin {
$response->setStatus($newFile ? 201 : 200);
$response->setBody($this->generateLockResponse($lockInfo));
- // Returning false will interupt the event chain and mark this method
+ // Returning false will interrupt the event chain and mark this method
// as 'handled'.
return false;
diff --git a/vendor/sabre/dav/lib/DAV/MkCol.php b/vendor/sabre/dav/lib/DAV/MkCol.php
index c79055418..042e14bca 100644
--- a/vendor/sabre/dav/lib/DAV/MkCol.php
+++ b/vendor/sabre/dav/lib/DAV/MkCol.php
@@ -61,6 +61,7 @@ class MkCol extends PropPatch {
* checked.
*
* @param string|string[] $resourceType
+ * @return bool
*/
function hasResourceType($resourceType) {
diff --git a/vendor/sabre/dav/lib/DAV/Mount/Plugin.php b/vendor/sabre/dav/lib/DAV/Mount/Plugin.php
index 8e06acb9f..dc923ad85 100644
--- a/vendor/sabre/dav/lib/DAV/Mount/Plugin.php
+++ b/vendor/sabre/dav/lib/DAV/Mount/Plugin.php
@@ -20,7 +20,7 @@ class Plugin extends DAV\ServerPlugin {
/**
* Reference to Server class
*
- * @var Sabre\DAV\Server
+ * @var DAV\Server
*/
protected $server;
diff --git a/vendor/sabre/dav/lib/DAV/Node.php b/vendor/sabre/dav/lib/DAV/Node.php
index ba270e8f9..ef6eea18e 100644
--- a/vendor/sabre/dav/lib/DAV/Node.php
+++ b/vendor/sabre/dav/lib/DAV/Node.php
@@ -29,7 +29,7 @@ abstract class Node implements INode {
/**
* Deletes the current node
*
- * @throws Sabre\DAV\Exception\Forbidden
+ * @throws Exception\Forbidden
* @return void
*/
function delete() {
@@ -41,8 +41,8 @@ abstract class Node implements INode {
/**
* Renames the node
*
- * @throws Sabre\DAV\Exception\Forbidden
* @param string $name The new name
+ * @throws Exception\Forbidden
* @return void
*/
function setName($name) {
diff --git a/vendor/sabre/dav/lib/DAV/PartialUpdate/Plugin.php b/vendor/sabre/dav/lib/DAV/PartialUpdate/Plugin.php
index 24ba970b1..9c129d705 100644
--- a/vendor/sabre/dav/lib/DAV/PartialUpdate/Plugin.php
+++ b/vendor/sabre/dav/lib/DAV/PartialUpdate/Plugin.php
@@ -29,7 +29,7 @@ class Plugin extends DAV\ServerPlugin {
/**
* Reference to server
*
- * @var Sabre\DAV\Server
+ * @var DAV\Server
*/
protected $server;
diff --git a/vendor/sabre/dav/lib/DAV/PropFind.php b/vendor/sabre/dav/lib/DAV/PropFind.php
index 8ae6b6cfd..0940a1ce2 100644
--- a/vendor/sabre/dav/lib/DAV/PropFind.php
+++ b/vendor/sabre/dav/lib/DAV/PropFind.php
@@ -72,7 +72,7 @@ class PropFind {
/**
* Handles a specific property.
*
- * This method checks wether the specified property was requested in this
+ * This method checks whether the specified property was requested in this
* PROPFIND request, and if so, it will call the callback and use the
* return value for it's value.
*
diff --git a/vendor/sabre/dav/lib/DAV/PropertyStorage/Backend/BackendInterface.php b/vendor/sabre/dav/lib/DAV/PropertyStorage/Backend/BackendInterface.php
index 31ecafdb2..b15d7fef9 100644
--- a/vendor/sabre/dav/lib/DAV/PropertyStorage/Backend/BackendInterface.php
+++ b/vendor/sabre/dav/lib/DAV/PropertyStorage/Backend/BackendInterface.php
@@ -23,7 +23,7 @@ interface BackendInterface {
* This method received a PropFind object, which contains all the
* information about the properties that need to be fetched.
*
- * Ususually you would just want to call 'get404Properties' on this object,
+ * Usually you would just want to call 'get404Properties' on this object,
* as this will give you the _exact_ list of properties that need to be
* fetched, and haven't yet.
*
diff --git a/vendor/sabre/dav/lib/DAV/PropertyStorage/Backend/PDO.php b/vendor/sabre/dav/lib/DAV/PropertyStorage/Backend/PDO.php
index 2fe843884..6f3f1feaf 100644
--- a/vendor/sabre/dav/lib/DAV/PropertyStorage/Backend/PDO.php
+++ b/vendor/sabre/dav/lib/DAV/PropertyStorage/Backend/PDO.php
@@ -66,7 +66,7 @@ class PDO implements BackendInterface {
* This method received a PropFind object, which contains all the
* information about the properties that need to be fetched.
*
- * Ususually you would just want to call 'get404Properties' on this object,
+ * Usually you would just want to call 'get404Properties' on this object,
* as this will give you the _exact_ list of properties that need to be
* fetched, and haven't yet.
*
diff --git a/vendor/sabre/dav/lib/DAV/PropertyStorage/Plugin.php b/vendor/sabre/dav/lib/DAV/PropertyStorage/Plugin.php
index 0c28b7882..a66a14113 100644
--- a/vendor/sabre/dav/lib/DAV/PropertyStorage/Plugin.php
+++ b/vendor/sabre/dav/lib/DAV/PropertyStorage/Plugin.php
@@ -2,11 +2,11 @@
namespace Sabre\DAV\PropertyStorage;
+use Sabre\DAV\INode;
+use Sabre\DAV\PropFind;
+use Sabre\DAV\PropPatch;
use Sabre\DAV\Server;
use Sabre\DAV\ServerPlugin;
-use Sabre\DAV\PropPatch;
-use Sabre\DAV\PropFind;
-use Sabre\DAV\INode;
/**
* PropertyStorage Plugin.
@@ -30,7 +30,7 @@ class Plugin extends ServerPlugin {
* paths, you can use a pathFilter to do this.
*
* The pathFilter should be a callable. The callable retrieves a path as
- * its argument, and should return true or false wether it allows
+ * its argument, and should return true or false whether it allows
* properties to be stored.
*
* @var callable
@@ -38,6 +38,11 @@ class Plugin extends ServerPlugin {
public $pathFilter;
/**
+ * @var Backend\BackendInterface
+ */
+ public $backend;
+
+ /**
* Creates the plugin
*
* @param Backend\BackendInterface $backend
diff --git a/vendor/sabre/dav/lib/DAV/Server.php b/vendor/sabre/dav/lib/DAV/Server.php
index 024b7a557..6805ec0b0 100644
--- a/vendor/sabre/dav/lib/DAV/Server.php
+++ b/vendor/sabre/dav/lib/DAV/Server.php
@@ -2,16 +2,16 @@
namespace Sabre\DAV;
+use Psr\Log\LoggerAwareInterface;
+use Psr\Log\LoggerAwareTrait;
+use Psr\Log\LoggerInterface;
+use Psr\Log\NullLogger;
use Sabre\Event\EventEmitter;
use Sabre\HTTP;
use Sabre\HTTP\RequestInterface;
use Sabre\HTTP\ResponseInterface;
use Sabre\HTTP\URLUtil;
use Sabre\Uri;
-use Psr\Log\LoggerAwareInterface;
-use Psr\Log\LoggerAwareTrait;
-use Psr\Log\LoggerInterface;
-use Psr\Log\NullLogger;
/**
* Main DAV server class
@@ -37,7 +37,7 @@ class Server extends EventEmitter implements LoggerAwareInterface {
/**
* The tree object
*
- * @var Sabre\DAV\Tree
+ * @var Tree
*/
public $tree;
@@ -51,21 +51,21 @@ class Server extends EventEmitter implements LoggerAwareInterface {
/**
* httpResponse
*
- * @var Sabre\HTTP\Response
+ * @var HTTP\Response
*/
public $httpResponse;
/**
* httpRequest
*
- * @var Sabre\HTTP\Request
+ * @var HTTP\Request
*/
public $httpRequest;
/**
* PHP HTTP Sapi
*
- * @var Sabre\HTTP\Sapi
+ * @var HTTP\Sapi
*/
public $sapi;
@@ -437,7 +437,7 @@ class Server extends EventEmitter implements LoggerAwareInterface {
}
/**
- * Returns the PSR-3 logger objcet.
+ * Returns the PSR-3 logger object.
*
* @return LoggerInterface
*/
@@ -455,7 +455,7 @@ class Server extends EventEmitter implements LoggerAwareInterface {
*
* @param RequestInterface $request
* @param ResponseInterface $response
- * @param $sendResponse Whether to send the HTTP response to the DAV client.
+ * @param bool $sendResponse Whether to send the HTTP response to the DAV client.
* @return void
*/
function invokeMethod(RequestInterface $request, ResponseInterface $response, $sendResponse = true) {
@@ -681,18 +681,18 @@ class Server extends EventEmitter implements LoggerAwareInterface {
// can be true or false
'respond-async' => false,
// Could be set to 'representation' or 'minimal'.
- 'return' => null,
+ 'return' => null,
// Used as a timeout, is usually a number.
- 'wait' => null,
+ 'wait' => null,
// can be 'strict' or 'lenient'.
- 'handling' => false,
+ 'handling' => false,
];
if ($prefer = $this->httpRequest->getHeader('Prefer')) {
$result = array_merge(
$result,
- \Sabre\HTTP\parsePrefer($prefer)
+ HTTP\parsePrefer($prefer)
);
} elseif ($this->httpRequest->getHeader('Brief') == 't') {
@@ -794,6 +794,7 @@ class Server extends EventEmitter implements LoggerAwareInterface {
*
* @param string $path
* @param array $propertyNames
+ * @return array
*/
function getProperties($path, $propertyNames) {
@@ -877,12 +878,14 @@ class Server extends EventEmitter implements LoggerAwareInterface {
/**
* Small helper to support PROPFIND with DEPTH_INFINITY.
*
- * @param array[] $propFindRequests
* @param PropFind $propFind
- * @return void
+ * @param array $yieldFirst
+ * @return \Iterator
*/
- private function addPathNodesRecursively(&$propFindRequests, PropFind $propFind) {
-
+ private function generatePathNodes(PropFind $propFind, array $yieldFirst = null) {
+ if ($yieldFirst !== null) {
+ yield $yieldFirst;
+ }
$newDepth = $propFind->getDepth();
$path = $propFind->getPath();
@@ -900,13 +903,15 @@ class Server extends EventEmitter implements LoggerAwareInterface {
}
$subPropFind->setPath($subPath);
- $propFindRequests[] = [
+ yield [
$subPropFind,
$childNode
];
if (($newDepth === self::DEPTH_INFINITY || $newDepth >= 1) && $childNode instanceof ICollection) {
- $this->addPathNodesRecursively($propFindRequests, $subPropFind);
+ foreach ($this->generatePathNodes($subPropFind) as $subItem) {
+ yield $subItem;
+ }
}
}
@@ -925,9 +930,31 @@ class Server extends EventEmitter implements LoggerAwareInterface {
* @param array $propertyNames
* @param int $depth
* @return array
+ *
+ * @deprecated Use getPropertiesIteratorForPath() instead (as it's more memory efficient)
+ * @see getPropertiesIteratorForPath()
*/
function getPropertiesForPath($path, $propertyNames = [], $depth = 0) {
+ return iterator_to_array($this->getPropertiesIteratorForPath($path, $propertyNames, $depth));
+
+ }
+ /**
+ * Returns a list of properties for a given path
+ *
+ * The path that should be supplied should have the baseUrl stripped out
+ * The list of properties should be supplied in Clark notation. If the list is empty
+ * 'allprops' is assumed.
+ *
+ * If a depth of 1 is requested child elements will also be returned.
+ *
+ * @param string $path
+ * @param array $propertyNames
+ * @param int $depth
+ * @return \Iterator
+ */
+ function getPropertiesIteratorForPath($path, $propertyNames = [], $depth = 0) {
+
// The only two options for the depth of a propfind is 0 or 1 - as long as depth infinity is not enabled
if (!$this->enablePropfindDepthInfinity && $depth != 0) $depth = 1;
@@ -944,11 +971,9 @@ class Server extends EventEmitter implements LoggerAwareInterface {
]];
if (($depth > 0 || $depth === self::DEPTH_INFINITY) && $parentNode instanceof ICollection) {
- $this->addPathNodesRecursively($propFindRequests, $propFind);
+ $propFindRequests = $this->generatePathNodes(clone $propFind, current($propFindRequests));
}
- $returnPropertyList = [];
-
foreach ($propFindRequests as $propFindRequest) {
list($propFind, $node) = $propFindRequest;
@@ -965,13 +990,11 @@ class Server extends EventEmitter implements LoggerAwareInterface {
if (in_array('{DAV:}collection', $resourceType) || in_array('{DAV:}principal', $resourceType)) {
$result['href'] .= '/';
}
- $returnPropertyList[] = $result;
+ yield $result;
}
}
- return $returnPropertyList;
-
}
/**
@@ -1430,7 +1453,7 @@ class Server extends EventEmitter implements LoggerAwareInterface {
// Plugins are responsible for validating all the tokens.
// If a plugin deemed a token 'valid', it will set 'validToken' to
// true.
- $this->emit('validateTokens', [ $request, &$ifConditions ]);
+ $this->emit('validateTokens', [$request, &$ifConditions]);
// Now we're going to analyze the result.
@@ -1450,7 +1473,7 @@ class Server extends EventEmitter implements LoggerAwareInterface {
if (!$token['etag']) {
$etagValid = true;
}
- // Checking the ETag, only if the token was already deamed
+ // Checking the ETag, only if the token was already deemed
// valid and there is one.
if ($token['etag'] && $tokenValid) {
@@ -1626,13 +1649,18 @@ class Server extends EventEmitter implements LoggerAwareInterface {
*
* If 'strip404s' is set to true, all 404 responses will be removed.
*
- * @param array $fileProperties The list with nodes
- * @param bool strip404s
+ * @param array|\Traversable $fileProperties The list with nodes
+ * @param bool $strip404s
* @return string
*/
- function generateMultiStatus(array $fileProperties, $strip404s = false) {
+ function generateMultiStatus($fileProperties, $strip404s = false) {
- $xml = [];
+ $w = $this->xml->getWriter();
+ $w->openMemory();
+ $w->contextUri = $this->baseUri;
+ $w->startDocument();
+
+ $w->startElement('{DAV:}multistatus');
foreach ($fileProperties as $entry) {
@@ -1645,13 +1673,14 @@ class Server extends EventEmitter implements LoggerAwareInterface {
ltrim($href, '/'),
$entry
);
- $xml[] = [
+ $w->write([
'name' => '{DAV:}response',
'value' => $response
- ];
-
+ ]);
}
- return $this->xml->write('{DAV:}multistatus', $xml, $this->baseUri);
+ $w->endElement();
+
+ return $w->outputMemory();
}
diff --git a/vendor/sabre/dav/lib/DAV/Sharing/Plugin.php b/vendor/sabre/dav/lib/DAV/Sharing/Plugin.php
index 354d06a56..ef5702c57 100644
--- a/vendor/sabre/dav/lib/DAV/Sharing/Plugin.php
+++ b/vendor/sabre/dav/lib/DAV/Sharing/Plugin.php
@@ -8,8 +8,8 @@ use Sabre\DAV\INode;
use Sabre\DAV\PropFind;
use Sabre\DAV\Server;
use Sabre\DAV\ServerPlugin;
-use Sabre\DAV\Xml\Property;
use Sabre\DAV\Xml\Element\Sharee;
+use Sabre\DAV\Xml\Property;
use Sabre\HTTP\RequestInterface;
use Sabre\HTTP\ResponseInterface;
@@ -40,7 +40,7 @@ class Plugin extends ServerPlugin {
/**
* Reference to SabreDAV server object.
*
- * @var Sabre\DAV\Server
+ * @var Server
*/
protected $server;
diff --git a/vendor/sabre/dav/lib/DAV/Sync/Plugin.php b/vendor/sabre/dav/lib/DAV/Sync/Plugin.php
index 4a141c72b..8e4b1aa64 100644
--- a/vendor/sabre/dav/lib/DAV/Sync/Plugin.php
+++ b/vendor/sabre/dav/lib/DAV/Sync/Plugin.php
@@ -3,8 +3,8 @@
namespace Sabre\DAV\Sync;
use Sabre\DAV;
-use Sabre\HTTP\RequestInterface;
use Sabre\DAV\Xml\Request\SyncCollectionReport;
+use Sabre\HTTP\RequestInterface;
/**
* This plugin all WebDAV-sync capabilities to the Server.
diff --git a/vendor/sabre/dav/lib/DAV/TemporaryFileFilterPlugin.php b/vendor/sabre/dav/lib/DAV/TemporaryFileFilterPlugin.php
index c5b8aa1ca..7b453d105 100644
--- a/vendor/sabre/dav/lib/DAV/TemporaryFileFilterPlugin.php
+++ b/vendor/sabre/dav/lib/DAV/TemporaryFileFilterPlugin.php
@@ -14,7 +14,7 @@ use Sabre\HTTP\URLUtil;
* a WebDAV share as a disk.
*
* It will intercept these files and place them in a separate directory.
- * these files are not deleted automatically, so it is adviceable to
+ * these files are not deleted automatically, so it is advisable to
* delete these after they are not accessed for 24 hours.
*
* Currently it supports:
@@ -51,7 +51,7 @@ class TemporaryFileFilterPlugin extends ServerPlugin {
/**
* A reference to the main Server class
*
- * @var Sabre\DAV\Server
+ * @var \Sabre\DAV\Server
*/
protected $server;
@@ -134,12 +134,12 @@ class TemporaryFileFilterPlugin extends ServerPlugin {
*
* @param string $uri
* @param resource $data
- * @param DAV\ICollection $parentNode
+ * @param ICollection $parent
* @param bool $modified Should be set to true, if this event handler
* changed &$data.
* @return bool
*/
- function beforeCreateFile($uri, $data, $parent, $modified) {
+ function beforeCreateFile($uri, $data, ICollection $parent, $modified) {
if ($tempPath = $this->isTempFile($uri)) {
diff --git a/vendor/sabre/dav/lib/DAV/Version.php b/vendor/sabre/dav/lib/DAV/Version.php
index 2fda85db8..89918e5bc 100644
--- a/vendor/sabre/dav/lib/DAV/Version.php
+++ b/vendor/sabre/dav/lib/DAV/Version.php
@@ -14,6 +14,6 @@ class Version {
/**
* Full version number
*/
- const VERSION = '3.2.0';
+ const VERSION = '3.2.2';
}
diff --git a/vendor/sabre/dav/lib/DAV/Xml/Element/Prop.php b/vendor/sabre/dav/lib/DAV/Xml/Element/Prop.php
index db5332c50..71ef03e3f 100644
--- a/vendor/sabre/dav/lib/DAV/Xml/Element/Prop.php
+++ b/vendor/sabre/dav/lib/DAV/Xml/Element/Prop.php
@@ -3,8 +3,8 @@
namespace Sabre\DAV\Xml\Element;
use Sabre\DAV\Xml\Property\Complex;
-use Sabre\Xml\XmlDeserializable;
use Sabre\Xml\Reader;
+use Sabre\Xml\XmlDeserializable;
/**
* This class is responsible for decoding the {DAV:}prop element as it appears
@@ -22,7 +22,7 @@ class Prop implements XmlDeserializable {
/**
* The deserialize method is called during xml parsing.
*
- * This method is called statictly, this is because in theory this method
+ * This method is called statically, this is because in theory this method
* may be used as a type of constructor, or factory method.
*
* Often you want to return an instance of the current class, but you are
@@ -90,7 +90,7 @@ class Prop implements XmlDeserializable {
if (array_key_exists($name, $reader->elementMap)) {
$deserializer = $reader->elementMap[$name];
if (is_subclass_of($deserializer, 'Sabre\\Xml\\XmlDeserializable')) {
- $value = call_user_func([ $deserializer, 'xmlDeserialize' ], $reader);
+ $value = call_user_func([$deserializer, 'xmlDeserialize'], $reader);
} elseif (is_callable($deserializer)) {
$value = call_user_func($deserializer, $reader);
} else {
diff --git a/vendor/sabre/dav/lib/DAV/Xml/Element/Response.php b/vendor/sabre/dav/lib/DAV/Xml/Element/Response.php
index 97a2bb59f..ce97ae943 100644
--- a/vendor/sabre/dav/lib/DAV/Xml/Element/Response.php
+++ b/vendor/sabre/dav/lib/DAV/Xml/Element/Response.php
@@ -160,7 +160,7 @@ class Response implements Element {
/**
* The deserialize method is called during xml parsing.
*
- * This method is called statictly, this is because in theory this method
+ * This method is called statically, this is because in theory this method
* may be used as a type of constructor, or factory method.
*
* Often you want to return an instance of the current class, but you are
diff --git a/vendor/sabre/dav/lib/DAV/Xml/Element/Sharee.php b/vendor/sabre/dav/lib/DAV/Xml/Element/Sharee.php
index dcfd7bd2e..e187bf11c 100644
--- a/vendor/sabre/dav/lib/DAV/Xml/Element/Sharee.php
+++ b/vendor/sabre/dav/lib/DAV/Xml/Element/Sharee.php
@@ -105,7 +105,7 @@ class Sharee implements Element {
* Use the $writer argument to write its own xml serialization.
*
* An important note: do _not_ create a parent element. Any element
- * implementing XmlSerializble should only ever write what's considered
+ * implementing XmlSerializable should only ever write what's considered
* its 'inner xml'.
*
* The parent of the current element is responsible for writing a
@@ -146,7 +146,7 @@ class Sharee implements Element {
/**
* The deserialize method is called during xml parsing.
*
- * This method is called statictly, this is because in theory this method
+ * This method is called statically, this is because in theory this method
* may be used as a type of constructor, or factory method.
*
* Often you want to return an instance of the current class, but you are
diff --git a/vendor/sabre/dav/lib/DAV/Xml/Property/Complex.php b/vendor/sabre/dav/lib/DAV/Xml/Property/Complex.php
index 1d9202082..258806e4a 100644
--- a/vendor/sabre/dav/lib/DAV/Xml/Property/Complex.php
+++ b/vendor/sabre/dav/lib/DAV/Xml/Property/Complex.php
@@ -20,7 +20,7 @@ class Complex extends XmlFragment {
/**
* The deserialize method is called during xml parsing.
*
- * This method is called statictly, this is because in theory this method
+ * This method is called statically, this is because in theory this method
* may be used as a type of constructor, or factory method.
*
* Often you want to return an instance of the current class, but you are
diff --git a/vendor/sabre/dav/lib/DAV/Xml/Property/GetLastModified.php b/vendor/sabre/dav/lib/DAV/Xml/Property/GetLastModified.php
index 2db47269f..101a0f0c9 100644
--- a/vendor/sabre/dav/lib/DAV/Xml/Property/GetLastModified.php
+++ b/vendor/sabre/dav/lib/DAV/Xml/Property/GetLastModified.php
@@ -2,12 +2,12 @@
namespace Sabre\DAV\Xml\Property;
+use DateTime;
+use DateTimeZone;
+use Sabre\HTTP;
use Sabre\Xml\Element;
use Sabre\Xml\Reader;
use Sabre\Xml\Writer;
-use Sabre\HTTP;
-use DateTime;
-use DateTimeZone;
/**
* This property represents the {DAV:}getlastmodified property.
@@ -83,7 +83,7 @@ class GetLastModified implements Element {
/**
* The deserialize method is called during xml parsing.
*
- * This method is called statictly, this is because in theory this method
+ * This method is called statically, this is because in theory this method
* may be used as a type of constructor, or factory method.
*
* Often you want to return an instance of the current class, but you are
diff --git a/vendor/sabre/dav/lib/DAV/Xml/Property/Href.php b/vendor/sabre/dav/lib/DAV/Xml/Property/Href.php
index 0027f72e1..6c4f11b87 100644
--- a/vendor/sabre/dav/lib/DAV/Xml/Property/Href.php
+++ b/vendor/sabre/dav/lib/DAV/Xml/Property/Href.php
@@ -4,10 +4,10 @@ namespace Sabre\DAV\Xml\Property;
use Sabre\DAV\Browser\HtmlOutput;
use Sabre\DAV\Browser\HtmlOutputHelper;
+use Sabre\Uri;
use Sabre\Xml\Element;
use Sabre\Xml\Reader;
use Sabre\Xml\Writer;
-use Sabre\Uri;
/**
* Href property
@@ -40,7 +40,7 @@ class Href implements Element, HtmlOutput {
* If auto-prefix is set to false, the hrefs will be treated as absolute
* and not relative to the servers base uri.
*
- * @param string|string[] $href
+ * @param string|string[] $hrefs
*/
function __construct($hrefs) {
@@ -74,12 +74,12 @@ class Href implements Element, HtmlOutput {
}
/**
- * The xmlSerialize metod is called during xml writing.
+ * The xmlSerialize method is called during xml writing.
*
* Use the $writer argument to write its own xml serialization.
*
* An important note: do _not_ create a parent element. Any element
- * implementing XmlSerializble should only ever write what's considered
+ * implementing XmlSerializable should only ever write what's considered
* its 'inner xml'.
*
* The parent of the current element is responsible for writing a
@@ -128,7 +128,7 @@ class Href implements Element, HtmlOutput {
/**
* The deserialize method is called during xml parsing.
*
- * This method is called statictly, this is because in theory this method
+ * This method is called statically, this is because in theory this method
* may be used as a type of constructor, or factory method.
*
* Often you want to return an instance of the current class, but you are
diff --git a/vendor/sabre/dav/lib/DAV/Xml/Property/Invite.php b/vendor/sabre/dav/lib/DAV/Xml/Property/Invite.php
index 0616ff113..6adad3650 100644
--- a/vendor/sabre/dav/lib/DAV/Xml/Property/Invite.php
+++ b/vendor/sabre/dav/lib/DAV/Xml/Property/Invite.php
@@ -2,9 +2,9 @@
namespace Sabre\DAV\Xml\Property;
-use Sabre\DAV\Sharing\Sharee;
-use Sabre\Xml\XmlSerializable;
+use Sabre\DAV\Xml\Element\Sharee;
use Sabre\Xml\Writer;
+use Sabre\Xml\XmlSerializable;
/**
* This class represents the {DAV:}invite property.
@@ -46,7 +46,7 @@ class Invite implements XmlSerializable {
* Use the $writer argument to write its own xml serialization.
*
* An important note: do _not_ create a parent element. Any element
- * implementing XmlSerializble should only ever write what's considered
+ * implementing XmlSerializable should only ever write what's considered
* its 'inner xml'.
*
* The parent of the current element is responsible for writing a
diff --git a/vendor/sabre/dav/lib/DAV/Xml/Property/LocalHref.php b/vendor/sabre/dav/lib/DAV/Xml/Property/LocalHref.php
index 76a27b95d..00d2fa708 100644
--- a/vendor/sabre/dav/lib/DAV/Xml/Property/LocalHref.php
+++ b/vendor/sabre/dav/lib/DAV/Xml/Property/LocalHref.php
@@ -8,7 +8,7 @@ use Sabre\HTTP;
* LocalHref property
*
* Like the Href property, this element represents {DAV:}href. The difference
- * is that this is used stricly for paths on the server. The LocalHref property
+ * is that this is used strictly for paths on the server. The LocalHref property
* will prepare the path so it's a valid URI.
*
* These two objects behave identically:
@@ -32,7 +32,7 @@ class LocalHref extends Href {
* If auto-prefix is set to false, the hrefs will be treated as absolute
* and not relative to the servers base uri.
*
- * @param string|string[] $href
+ * @param string|string[] $hrefs
*/
function __construct($hrefs) {
diff --git a/vendor/sabre/dav/lib/DAV/Xml/Property/ResourceType.php b/vendor/sabre/dav/lib/DAV/Xml/Property/ResourceType.php
index 302888321..ce640ff32 100644
--- a/vendor/sabre/dav/lib/DAV/Xml/Property/ResourceType.php
+++ b/vendor/sabre/dav/lib/DAV/Xml/Property/ResourceType.php
@@ -28,7 +28,7 @@ class ResourceType extends Element\Elements implements HtmlOutput {
*
* The resourcetype must be specified in clark-notation
*
- * @param array|string|null $resourceType
+ * @param array|string|null $resourceTypes
*/
function __construct($resourceTypes = null) {
@@ -77,7 +77,7 @@ class ResourceType extends Element\Elements implements HtmlOutput {
/**
* The deserialize method is called during xml parsing.
*
- * This method is called statictly, this is because in theory this method
+ * This method is called statically, this is because in theory this method
* may be used as a type of constructor, or factory method.
*
* Often you want to return an instance of the current class, but you are
diff --git a/vendor/sabre/dav/lib/DAV/Xml/Property/ShareAccess.php b/vendor/sabre/dav/lib/DAV/Xml/Property/ShareAccess.php
index a3fc6b0e1..939062f76 100644
--- a/vendor/sabre/dav/lib/DAV/Xml/Property/ShareAccess.php
+++ b/vendor/sabre/dav/lib/DAV/Xml/Property/ShareAccess.php
@@ -2,8 +2,8 @@
namespace Sabre\DAV\Xml\Property;
-use Sabre\DAV\Sharing\Plugin as SharingPlugin;
use Sabre\DAV\Exception\BadRequest;
+use Sabre\DAV\Sharing\Plugin as SharingPlugin;
use Sabre\Xml\Element;
use Sabre\Xml\Reader;
use Sabre\Xml\Writer;
@@ -62,7 +62,7 @@ class ShareAccess implements Element {
* Use the $writer argument to write its own xml serialization.
*
* An important note: do _not_ create a parent element. Any element
- * implementing XmlSerializble should only ever write what's considered
+ * implementing XmlSerializable should only ever write what's considered
* its 'inner xml'.
*
* The parent of the current element is responsible for writing a
@@ -102,7 +102,7 @@ class ShareAccess implements Element {
/**
* The deserialize method is called during xml parsing.
*
- * This method is called statictly, this is because in theory this method
+ * This method is called statically, this is because in theory this method
* may be used as a type of constructor, or factory method.
*
* Often you want to return an instance of the current class, but you are
diff --git a/vendor/sabre/dav/lib/DAV/Xml/Property/SupportedLock.php b/vendor/sabre/dav/lib/DAV/Xml/Property/SupportedLock.php
index f6d01aa37..677fdde4b 100644
--- a/vendor/sabre/dav/lib/DAV/Xml/Property/SupportedLock.php
+++ b/vendor/sabre/dav/lib/DAV/Xml/Property/SupportedLock.php
@@ -21,12 +21,12 @@ use Sabre\Xml\XmlSerializable;
class SupportedLock implements XmlSerializable {
/**
- * The xmlSerialize metod is called during xml writing.
+ * The xmlSerialize method is called during xml writing.
*
* Use the $writer argument to write its own xml serialization.
*
* An important note: do _not_ create a parent element. Any element
- * implementing XmlSerializble should only ever write what's considered
+ * implementing XmlSerializable should only ever write what's considered
* its 'inner xml'.
*
* The parent of the current element is responsible for writing a
@@ -43,11 +43,11 @@ class SupportedLock implements XmlSerializable {
$writer->writeElement('{DAV:}lockentry', [
'{DAV:}lockscope' => ['{DAV:}exclusive' => null],
- '{DAV:}locktype' => ['{DAV:}write' => null],
+ '{DAV:}locktype' => ['{DAV:}write' => null],
]);
$writer->writeElement('{DAV:}lockentry', [
'{DAV:}lockscope' => ['{DAV:}shared' => null],
- '{DAV:}locktype' => ['{DAV:}write' => null],
+ '{DAV:}locktype' => ['{DAV:}write' => null],
]);
}
diff --git a/vendor/sabre/dav/lib/DAV/Xml/Property/SupportedMethodSet.php b/vendor/sabre/dav/lib/DAV/Xml/Property/SupportedMethodSet.php
index 7641f3739..1a3878ef7 100644
--- a/vendor/sabre/dav/lib/DAV/Xml/Property/SupportedMethodSet.php
+++ b/vendor/sabre/dav/lib/DAV/Xml/Property/SupportedMethodSet.php
@@ -67,12 +67,12 @@ class SupportedMethodSet implements XmlSerializable, HtmlOutput {
}
/**
- * The xmlSerialize metod is called during xml writing.
+ * The xmlSerialize method is called during xml writing.
*
* Use the $writer argument to write its own xml serialization.
*
* An important note: do _not_ create a parent element. Any element
- * implementing XmlSerializble should only ever write what's considered
+ * implementing XmlSerializable should only ever write what's considered
* its 'inner xml'.
*
* The parent of the current element is responsible for writing a
diff --git a/vendor/sabre/dav/lib/DAV/Xml/Property/SupportedReportSet.php b/vendor/sabre/dav/lib/DAV/Xml/Property/SupportedReportSet.php
index ebf27300d..96383ec96 100644
--- a/vendor/sabre/dav/lib/DAV/Xml/Property/SupportedReportSet.php
+++ b/vendor/sabre/dav/lib/DAV/Xml/Property/SupportedReportSet.php
@@ -98,12 +98,12 @@ class SupportedReportSet implements XmlSerializable, HtmlOutput {
}
/**
- * The xmlSerialize metod is called during xml writing.
+ * The xmlSerialize method is called during xml writing.
*
* Use the $writer argument to write its own xml serialization.
*
* An important note: do _not_ create a parent element. Any element
- * implementing XmlSerializble should only ever write what's considered
+ * implementing XmlSerializable should only ever write what's considered
* its 'inner xml'.
*
* The parent of the current element is responsible for writing a
diff --git a/vendor/sabre/dav/lib/DAV/Xml/Request/Lock.php b/vendor/sabre/dav/lib/DAV/Xml/Request/Lock.php
index 76df98d13..c315a9a45 100644
--- a/vendor/sabre/dav/lib/DAV/Xml/Request/Lock.php
+++ b/vendor/sabre/dav/lib/DAV/Xml/Request/Lock.php
@@ -38,7 +38,7 @@ class Lock implements XmlDeserializable {
/**
* The deserialize method is called during xml parsing.
*
- * This method is called statictly, this is because in theory this method
+ * This method is called statically, this is because in theory this method
* may be used as a type of constructor, or factory method.
*
* Often you want to return an instance of the current class, but you are
diff --git a/vendor/sabre/dav/lib/DAV/Xml/Request/MkCol.php b/vendor/sabre/dav/lib/DAV/Xml/Request/MkCol.php
index 5db239061..9490bf58c 100644
--- a/vendor/sabre/dav/lib/DAV/Xml/Request/MkCol.php
+++ b/vendor/sabre/dav/lib/DAV/Xml/Request/MkCol.php
@@ -40,7 +40,7 @@ class MkCol implements XmlDeserializable {
/**
* The deserialize method is called during xml parsing.
*
- * This method is called statictly, this is because in theory this method
+ * This method is called statically, this is because in theory this method
* may be used as a type of constructor, or factory method.
*
* Often you want to return an instance of the current class, but you are
@@ -63,8 +63,8 @@ class MkCol implements XmlDeserializable {
$self = new self();
$elementMap = $reader->elementMap;
- $elementMap['{DAV:}prop'] = 'Sabre\DAV\Xml\Element\Prop';
- $elementMap['{DAV:}set'] = 'Sabre\Xml\Element\KeyValue';
+ $elementMap['{DAV:}prop'] = 'Sabre\DAV\Xml\Element\Prop';
+ $elementMap['{DAV:}set'] = 'Sabre\Xml\Element\KeyValue';
$elementMap['{DAV:}remove'] = 'Sabre\Xml\Element\KeyValue';
$elems = $reader->parseInnerTree($elementMap);
diff --git a/vendor/sabre/dav/lib/DAV/Xml/Request/PropFind.php b/vendor/sabre/dav/lib/DAV/Xml/Request/PropFind.php
index ad3ad7c43..f1b5b6fdc 100644
--- a/vendor/sabre/dav/lib/DAV/Xml/Request/PropFind.php
+++ b/vendor/sabre/dav/lib/DAV/Xml/Request/PropFind.php
@@ -36,7 +36,7 @@ class PropFind implements XmlDeserializable {
/**
* The deserialize method is called during xml parsing.
*
- * This method is called statictly, this is because in theory this method
+ * This method is called statically, this is because in theory this method
* may be used as a type of constructor, or factory method.
*
* Often you want to return an instance of the current class, but you are
diff --git a/vendor/sabre/dav/lib/DAV/Xml/Request/PropPatch.php b/vendor/sabre/dav/lib/DAV/Xml/Request/PropPatch.php
index 07a05f887..821b9e047 100644
--- a/vendor/sabre/dav/lib/DAV/Xml/Request/PropPatch.php
+++ b/vendor/sabre/dav/lib/DAV/Xml/Request/PropPatch.php
@@ -29,12 +29,12 @@ class PropPatch implements Element {
public $properties = [];
/**
- * The xmlSerialize metod is called during xml writing.
+ * The xmlSerialize method is called during xml writing.
*
* Use the $writer argument to write its own xml serialization.
*
* An important note: do _not_ create a parent element. Any element
- * implementing XmlSerializble should only ever write what's considered
+ * implementing XmlSerializable should only ever write what's considered
* its 'inner xml'.
*
* The parent of the current element is responsible for writing a
@@ -68,7 +68,7 @@ class PropPatch implements Element {
/**
* The deserialize method is called during xml parsing.
*
- * This method is called statictly, this is because in theory this method
+ * This method is called statically, this is because in theory this method
* may be used as a type of constructor, or factory method.
*
* Often you want to return an instance of the current class, but you are
@@ -91,8 +91,8 @@ class PropPatch implements Element {
$self = new self();
$elementMap = $reader->elementMap;
- $elementMap['{DAV:}prop'] = 'Sabre\DAV\Xml\Element\Prop';
- $elementMap['{DAV:}set'] = 'Sabre\Xml\Element\KeyValue';
+ $elementMap['{DAV:}prop'] = 'Sabre\DAV\Xml\Element\Prop';
+ $elementMap['{DAV:}set'] = 'Sabre\Xml\Element\KeyValue';
$elementMap['{DAV:}remove'] = 'Sabre\Xml\Element\KeyValue';
$elems = $reader->parseInnerTree($elementMap);
diff --git a/vendor/sabre/dav/lib/DAV/Xml/Request/ShareResource.php b/vendor/sabre/dav/lib/DAV/Xml/Request/ShareResource.php
index 965e5857c..526a4eb6f 100644
--- a/vendor/sabre/dav/lib/DAV/Xml/Request/ShareResource.php
+++ b/vendor/sabre/dav/lib/DAV/Xml/Request/ShareResource.php
@@ -2,9 +2,9 @@
namespace Sabre\DAV\Xml\Request;
+use Sabre\DAV\Xml\Element\Sharee;
use Sabre\Xml\Reader;
use Sabre\Xml\XmlDeserializable;
-use Sabre\DAV\Xml\Element\Sharee;
/**
* ShareResource request parser.
@@ -40,7 +40,7 @@ class ShareResource implements XmlDeserializable {
/**
* The deserialize method is called during xml parsing.
*
- * This method is called statictly, this is because in theory this method
+ * This method is called statically, this is because in theory this method
* may be used as a type of constructor, or factory method.
*
* Often you want to return an instance of the current class, but you are
diff --git a/vendor/sabre/dav/lib/DAV/Xml/Request/SyncCollectionReport.php b/vendor/sabre/dav/lib/DAV/Xml/Request/SyncCollectionReport.php
index 3092ada47..830293a01 100644
--- a/vendor/sabre/dav/lib/DAV/Xml/Request/SyncCollectionReport.php
+++ b/vendor/sabre/dav/lib/DAV/Xml/Request/SyncCollectionReport.php
@@ -2,10 +2,10 @@
namespace Sabre\DAV\Xml\Request;
+use Sabre\DAV\Exception\BadRequest;
+use Sabre\Xml\Element\KeyValue;
use Sabre\Xml\Reader;
use Sabre\Xml\XmlDeserializable;
-use Sabre\Xml\Element\KeyValue;
-use Sabre\DAV\Exception\BadRequest;
/**
* SyncCollection request parser.
@@ -51,7 +51,7 @@ class SyncCollectionReport implements XmlDeserializable {
/**
* The deserialize method is called during xml parsing.
*
- * This method is called statictly, this is because in theory this method
+ * This method is called statically, this is because in theory this method
* may be used as a type of constructor, or factory method.
*
* Often you want to return an instance of the current class, but you are
@@ -75,7 +75,7 @@ class SyncCollectionReport implements XmlDeserializable {
$reader->pushContext();
- $reader->elementMap['{DAV:}prop'] = 'Sabre\Xml\Element\Elements';
+ $reader->elementMap['{DAV:}prop'] = 'Sabre\Xml\Element\Elements';
$elems = KeyValue::xmlDeserialize($reader);
$reader->popContext();
diff --git a/vendor/sabre/dav/lib/DAV/Xml/Response/MultiStatus.php b/vendor/sabre/dav/lib/DAV/Xml/Response/MultiStatus.php
index 16a3d4a68..cf5a0453b 100644
--- a/vendor/sabre/dav/lib/DAV/Xml/Response/MultiStatus.php
+++ b/vendor/sabre/dav/lib/DAV/Xml/Response/MultiStatus.php
@@ -99,7 +99,7 @@ class MultiStatus implements Element {
/**
* The deserialize method is called during xml parsing.
*
- * This method is called statictly, this is because in theory this method
+ * This method is called statically, this is because in theory this method
* may be used as a type of constructor, or factory method.
*
* Often you want to return an instance of the current class, but you are
diff --git a/vendor/sabre/dav/lib/DAVACL/Exception/NotRecognizedPrincipal.php b/vendor/sabre/dav/lib/DAVACL/Exception/NotRecognizedPrincipal.php
index 4349bf101..d7ae188ae 100644
--- a/vendor/sabre/dav/lib/DAVACL/Exception/NotRecognizedPrincipal.php
+++ b/vendor/sabre/dav/lib/DAVACL/Exception/NotRecognizedPrincipal.php
@@ -5,7 +5,7 @@ namespace Sabre\DAVACL\Exception;
use Sabre\DAV;
/**
- * If a client tried to set a privilege assigned to a non-existant principal,
+ * If a client tried to set a privilege assigned to a non-existent principal,
* this exception will be thrown.
*
* @copyright Copyright (C) fruux GmbH (https://fruux.com/)
diff --git a/vendor/sabre/dav/lib/DAVACL/FS/Collection.php b/vendor/sabre/dav/lib/DAVACL/FS/Collection.php
index 1c08b43b1..b4fe7a1b0 100644
--- a/vendor/sabre/dav/lib/DAVACL/FS/Collection.php
+++ b/vendor/sabre/dav/lib/DAVACL/FS/Collection.php
@@ -2,11 +2,11 @@
namespace Sabre\DAVACL\FS;
+use Sabre\DAV\Exception\Forbidden;
+use Sabre\DAV\Exception\NotFound;
use Sabre\DAV\FSExt\Directory as BaseCollection;
use Sabre\DAVACL\ACLTrait;
use Sabre\DAVACL\IACL;
-use Sabre\DAV\Exception\Forbidden;
-use Sabre\DAV\Exception\NotFound;
/**
* This is an ACL-enabled collection.
diff --git a/vendor/sabre/dav/lib/DAVACL/FS/File.php b/vendor/sabre/dav/lib/DAVACL/FS/File.php
index 387597bf7..aaf2ae148 100644
--- a/vendor/sabre/dav/lib/DAVACL/FS/File.php
+++ b/vendor/sabre/dav/lib/DAVACL/FS/File.php
@@ -3,8 +3,8 @@
namespace Sabre\DAVACL\FS;
use Sabre\DAV\FSExt\File as BaseFile;
-use Sabre\DAVACL\IACL;
use Sabre\DAVACL\ACLTrait;
+use Sabre\DAVACL\IACL;
/**
* This is an ACL-enabled file node.
diff --git a/vendor/sabre/dav/lib/DAVACL/FS/HomeCollection.php b/vendor/sabre/dav/lib/DAVACL/FS/HomeCollection.php
index 9e21353ea..201235e5a 100644
--- a/vendor/sabre/dav/lib/DAVACL/FS/HomeCollection.php
+++ b/vendor/sabre/dav/lib/DAVACL/FS/HomeCollection.php
@@ -72,7 +72,7 @@ class HomeCollection extends AbstractPrincipalCollection implements IACL {
* supplied by the authentication backend.
*
* @param array $principalInfo
- * @return \Sabre\DAVACL\INode
+ * @return \Sabre\DAV\INode
*/
function getChildForPrincipal(array $principalInfo) {
diff --git a/vendor/sabre/dav/lib/DAVACL/Plugin.php b/vendor/sabre/dav/lib/DAVACL/Plugin.php
index 8e912309e..a2aa118d7 100644
--- a/vendor/sabre/dav/lib/DAVACL/Plugin.php
+++ b/vendor/sabre/dav/lib/DAVACL/Plugin.php
@@ -3,11 +3,12 @@
namespace Sabre\DAVACL;
use Sabre\DAV;
-use Sabre\DAV\INode;
-use Sabre\DAV\Xml\Property\Href;
use Sabre\DAV\Exception\BadRequest;
-use Sabre\DAV\Exception\NotFound;
+use Sabre\DAV\Exception\Forbidden;
use Sabre\DAV\Exception\NotAuthenticated;
+use Sabre\DAV\Exception\NotFound;
+use Sabre\DAV\INode;
+use Sabre\DAV\Xml\Property\Href;
use Sabre\DAVACL\Exception\NeedPrivileges;
use Sabre\HTTP\RequestInterface;
use Sabre\HTTP\ResponseInterface;
@@ -53,7 +54,7 @@ class Plugin extends DAV\ServerPlugin {
/**
* Reference to server object.
*
- * @var Sabre\DAV\Server
+ * @var DAV\Server
*/
protected $server;
@@ -228,14 +229,14 @@ class Plugin extends DAV\ServerPlugin {
/**
* Returns the standard users' principal.
*
- * This is one authorative principal url for the current user.
+ * This is one authoritative principal url for the current user.
* This method will return null if the user wasn't logged in.
*
* @return string|null
*/
function getCurrentUserPrincipal() {
- /** @var $authPlugin Sabre\DAV\Auth\Plugin */
+ /** @var $authPlugin \Sabre\DAV\Auth\Plugin */
$authPlugin = $this->server->getPlugin('auth');
if (!$authPlugin) {
return null;
@@ -283,8 +284,7 @@ class Plugin extends DAV\ServerPlugin {
*
* These rules are used for all nodes that don't implement the IACL interface.
*
- * @param array $acl
- * @return void
+ * @return array
*/
function getDefaultAcl() {
@@ -299,7 +299,7 @@ class Plugin extends DAV\ServerPlugin {
* set of rules allow anyone to do anything, as long as they are
* authenticated.
*
- * var array
+ * @var array
*/
protected $defaultAcl = [
[
@@ -321,7 +321,7 @@ class Plugin extends DAV\ServerPlugin {
/**
* Returns all the principal groups the specified principal is a member of.
*
- * @param string $principal
+ * @param string $mainPrincipal
* @return array
*/
function getPrincipalMembership($mainPrincipal) {
@@ -365,7 +365,7 @@ class Plugin extends DAV\ServerPlugin {
/**
* Find out of a principal equals another principal.
*
- * This is a quick way to find out wether a principal URI is part of a
+ * This is a quick way to find out whether a principal URI is part of a
* group, or any subgroups.
*
* The first argument is the principal URI you want to check against. For
@@ -373,10 +373,10 @@ class Plugin extends DAV\ServerPlugin {
* which you want to find out of it is the same as the first principal, or
* in a member of the first principal's group or subgroups.
*
- * So the arguments are not interchangable. If principal A is in group B,
+ * So the arguments are not interchangeable. If principal A is in group B,
* passing 'B', 'A' will yield true, but 'A', 'B' is false.
*
- * If the sceond argument is not passed, we will use the current user
+ * If the second argument is not passed, we will use the current user
* principal.
*
* @param string $checkPrincipal
@@ -412,8 +412,8 @@ class Plugin extends DAV\ServerPlugin {
* ]
* ]
*
- * Privileges can be nested using "aggregrates". Doing so means that
- * if you assign someone the aggregrating privilege, all the
+ * Privileges can be nested using "aggregates". Doing so means that
+ * if you assign someone the aggregating privilege, all the
* sub-privileges will automatically be granted.
*
* Marking a privilege as abstract means that the privilege cannot be
@@ -484,7 +484,7 @@ class Plugin extends DAV\ServerPlugin {
],
],
];
- if ($node instanceof \Sabre\DAV\ICollection) {
+ if ($node instanceof DAV\ICollection) {
$supportedPrivileges['{DAV:}write']['aggregates']['{DAV:}bind'] = [
'abstract' => false,
'aggregates' => [],
@@ -494,7 +494,7 @@ class Plugin extends DAV\ServerPlugin {
'aggregates' => [],
];
}
- if ($node instanceof \Sabre\DAVACL\IACL) {
+ if ($node instanceof IACL) {
$supportedPrivileges['{DAV:}write']['aggregates']['{DAV:}write-acl'] = [
'abstract' => false,
'aggregates' => [],
@@ -980,8 +980,6 @@ class Plugin extends DAV\ServerPlugin {
*
* @param DAV\PropFind $propFind
* @param DAV\INode $node
- * @param array $requestedProperties
- * @param array $returnedProperties
* @TODO really should be broken into multiple methods, or even a class.
* @return bool
*/
@@ -1423,7 +1421,7 @@ class Plugin extends DAV\ServerPlugin {
];
}
- // Replacing the property with its expannded form.
+ // Replacing the property with its expanded form.
$node[200][$propertyName] = $childProps;
}
diff --git a/vendor/sabre/dav/lib/DAVACL/Principal.php b/vendor/sabre/dav/lib/DAVACL/Principal.php
index 6ebb30907..d7db94999 100644
--- a/vendor/sabre/dav/lib/DAVACL/Principal.php
+++ b/vendor/sabre/dav/lib/DAVACL/Principal.php
@@ -41,7 +41,7 @@ class Principal extends DAV\Node implements IPrincipal, DAV\IProperties, IACL {
/**
* Creates the principal object
*
- * @param IPrincipalBackend $principalBackend
+ * @param PrincipalBackend\BackendInterface $principalBackend
* @param array $principalProperties
*/
function __construct(PrincipalBackend\BackendInterface $principalBackend, array $principalProperties = []) {
diff --git a/vendor/sabre/dav/lib/DAVACL/PrincipalBackend/BackendInterface.php b/vendor/sabre/dav/lib/DAVACL/PrincipalBackend/BackendInterface.php
index 2cb83071a..40b6e33ea 100644
--- a/vendor/sabre/dav/lib/DAVACL/PrincipalBackend/BackendInterface.php
+++ b/vendor/sabre/dav/lib/DAVACL/PrincipalBackend/BackendInterface.php
@@ -53,7 +53,7 @@ interface BackendInterface {
* Calling the handle method is like telling the PropPatch object "I
* promise I can handle updating this property".
*
- * Read the PropPatch documenation for more info and examples.
+ * Read the PropPatch documentation for more info and examples.
*
* @param string $path
* @param \Sabre\DAV\PropPatch $propPatch
diff --git a/vendor/sabre/dav/lib/DAVACL/PrincipalBackend/PDO.php b/vendor/sabre/dav/lib/DAVACL/PrincipalBackend/PDO.php
index a491dc88f..eb0df888b 100644
--- a/vendor/sabre/dav/lib/DAVACL/PrincipalBackend/PDO.php
+++ b/vendor/sabre/dav/lib/DAVACL/PrincipalBackend/PDO.php
@@ -11,7 +11,7 @@ use Sabre\HTTP\URLUtil;
*
*
* This backend assumes all principals are in a single collection. The default collection
- * is 'principals/', but this can be overriden.
+ * is 'principals/', but this can be overridden.
*
* @copyright Copyright (C) fruux GmbH (https://fruux.com/)
* @author Evert Pot (http://evertpot.com/)
@@ -65,7 +65,7 @@ class PDO extends AbstractBackend implements CreatePrincipalSupport {
/**
* Sets up the backend.
*
- * @param PDO $pdo
+ * @param \PDO $pdo
*/
function __construct(\PDO $pdo) {
@@ -171,7 +171,7 @@ class PDO extends AbstractBackend implements CreatePrincipalSupport {
* Calling the handle method is like telling the PropPatch object "I
* promise I can handle updating this property".
*
- * Read the PropPatch documenation for more info and examples.
+ * Read the PropPatch documentation for more info and examples.
*
* @param string $path
* @param DAV\PropPatch $propPatch
@@ -307,7 +307,7 @@ class PDO extends AbstractBackend implements CreatePrincipalSupport {
case "mailto":
$query = 'SELECT uri FROM ' . $this->tableName . ' WHERE lower(email)=lower(?)';
$stmt = $this->pdo->prepare($query);
- $stmt->execute([ $value ]);
+ $stmt->execute([$value]);
while ($row = $stmt->fetch(\PDO::FETCH_ASSOC)) {
// Checking if the principal is in the prefix
diff --git a/vendor/sabre/dav/lib/DAVACL/PrincipalCollection.php b/vendor/sabre/dav/lib/DAVACL/PrincipalCollection.php
index d8a90153a..ee5b88a90 100644
--- a/vendor/sabre/dav/lib/DAVACL/PrincipalCollection.php
+++ b/vendor/sabre/dav/lib/DAVACL/PrincipalCollection.php
@@ -57,7 +57,7 @@ class PrincipalCollection extends AbstractPrincipalCollection implements IExtend
*
* @param string $name
* @param MkCol $mkCol
- * @throws Exception\InvalidResourceType
+ * @throws InvalidResourceType
* @return void
*/
function createExtendedCollection($name, MkCol $mkCol) {
diff --git a/vendor/sabre/dav/lib/DAVACL/Xml/Property/Acl.php b/vendor/sabre/dav/lib/DAVACL/Xml/Property/Acl.php
index 9f5e40df1..0e1c30ccf 100644
--- a/vendor/sabre/dav/lib/DAVACL/Xml/Property/Acl.php
+++ b/vendor/sabre/dav/lib/DAVACL/Xml/Property/Acl.php
@@ -78,12 +78,12 @@ class Acl implements Element, HtmlOutput {
}
/**
- * The xmlSerialize metod is called during xml writing.
+ * The xmlSerialize method is called during xml writing.
*
* Use the $writer argument to write its own xml serialization.
*
* An important note: do _not_ create a parent element. Any element
- * implementing XmlSerializble should only ever write what's considered
+ * implementing XmlSerializable should only ever write what's considered
* its 'inner xml'.
*
* The parent of the current element is responsible for writing a
@@ -149,7 +149,7 @@ class Acl implements Element, HtmlOutput {
/**
* The deserialize method is called during xml parsing.
*
- * This method is called statictly, this is because in theory this method
+ * This method is called statically, this is because in theory this method
* may be used as a type of constructor, or factory method.
*
* Often you want to return an instance of the current class, but you are
diff --git a/vendor/sabre/dav/lib/DAVACL/Xml/Property/AclRestrictions.php b/vendor/sabre/dav/lib/DAVACL/Xml/Property/AclRestrictions.php
index f669cc5e1..8d5854c23 100644
--- a/vendor/sabre/dav/lib/DAVACL/Xml/Property/AclRestrictions.php
+++ b/vendor/sabre/dav/lib/DAVACL/Xml/Property/AclRestrictions.php
@@ -2,8 +2,8 @@
namespace Sabre\DAVACL\Xml\Property;
-use Sabre\Xml\XmlSerializable;
use Sabre\Xml\Writer;
+use Sabre\Xml\XmlSerializable;
/**
* AclRestrictions property
@@ -17,12 +17,12 @@ use Sabre\Xml\Writer;
class AclRestrictions implements XmlSerializable {
/**
- * The xmlSerialize metod is called during xml writing.
+ * The xmlSerialize method is called during xml writing.
*
* Use the $writer argument to write its own xml serialization.
*
* An important note: do _not_ create a parent element. Any element
- * implementing XmlSerializble should only ever write what's considered
+ * implementing XmlSerializable should only ever write what's considered
* its 'inner xml'.
*
* The parent of the current element is responsible for writing a
diff --git a/vendor/sabre/dav/lib/DAVACL/Xml/Property/CurrentUserPrivilegeSet.php b/vendor/sabre/dav/lib/DAVACL/Xml/Property/CurrentUserPrivilegeSet.php
index 0a95eb2b7..74c09cee1 100644
--- a/vendor/sabre/dav/lib/DAVACL/Xml/Property/CurrentUserPrivilegeSet.php
+++ b/vendor/sabre/dav/lib/DAVACL/Xml/Property/CurrentUserPrivilegeSet.php
@@ -41,12 +41,12 @@ class CurrentUserPrivilegeSet implements Element, HtmlOutput {
}
/**
- * The xmlSerialize metod is called during xml writing.
+ * The xmlSerialize method is called during xml writing.
*
* Use the $writer argument to write its own xml serialization.
*
* An important note: do _not_ create a parent element. Any element
- * implementing XmlSerializble should only ever write what's considered
+ * implementing XmlSerializable should only ever write what's considered
* its 'inner xml'.
*
* The parent of the current element is responsible for writing a
@@ -99,7 +99,7 @@ class CurrentUserPrivilegeSet implements Element, HtmlOutput {
/**
* The deserialize method is called during xml parsing.
*
- * This method is called statictly, this is because in theory this method
+ * This method is called statically, this is because in theory this method
* may be used as a type of constructor, or factory method.
*
* Often you want to return an instance of the current class, but you are
diff --git a/vendor/sabre/dav/lib/DAVACL/Xml/Property/Principal.php b/vendor/sabre/dav/lib/DAVACL/Xml/Property/Principal.php
index d32249d8b..04d22165d 100644
--- a/vendor/sabre/dav/lib/DAVACL/Xml/Property/Principal.php
+++ b/vendor/sabre/dav/lib/DAVACL/Xml/Property/Principal.php
@@ -85,12 +85,12 @@ class Principal extends DAV\Xml\Property\Href {
/**
- * The xmlSerialize metod is called during xml writing.
+ * The xmlSerialize method is called during xml writing.
*
* Use the $writer argument to write its own xml serialization.
*
* An important note: do _not_ create a parent element. Any element
- * implementing XmlSerializble should only ever write what's considered
+ * implementing XmlSerializable should only ever write what's considered
* its 'inner xml'.
*
* The parent of the current element is responsible for writing a
diff --git a/vendor/sabre/dav/lib/DAVACL/Xml/Property/SupportedPrivilegeSet.php b/vendor/sabre/dav/lib/DAVACL/Xml/Property/SupportedPrivilegeSet.php
index 55e7783ae..b963cc8c3 100644
--- a/vendor/sabre/dav/lib/DAVACL/Xml/Property/SupportedPrivilegeSet.php
+++ b/vendor/sabre/dav/lib/DAVACL/Xml/Property/SupportedPrivilegeSet.php
@@ -4,8 +4,8 @@ namespace Sabre\DAVACL\Xml\Property;
use Sabre\DAV\Browser\HtmlOutput;
use Sabre\DAV\Browser\HtmlOutputHelper;
-use Sabre\Xml\XmlSerializable;
use Sabre\Xml\Writer;
+use Sabre\Xml\XmlSerializable;
/**
* SupportedPrivilegeSet property
@@ -53,12 +53,12 @@ class SupportedPrivilegeSet implements XmlSerializable, HtmlOutput {
}
/**
- * The xmlSerialize metod is called during xml writing.
+ * The xmlSerialize method is called during xml writing.
*
* Use the $writer argument to write its own xml serialization.
*
* An important note: do _not_ create a parent element. Any element
- * implementing XmlSerializble should only ever write what's considered
+ * implementing XmlSerializable should only ever write what's considered
* its 'inner xml'.
*
* The parent of the current element is responsible for writing a
@@ -73,7 +73,7 @@ class SupportedPrivilegeSet implements XmlSerializable, HtmlOutput {
*/
function xmlSerialize(Writer $writer) {
- $this->serializePriv($writer, '{DAV:}all', [ 'aggregates' => $this->privileges]);
+ $this->serializePriv($writer, '{DAV:}all', ['aggregates' => $this->privileges]);
}
@@ -114,7 +114,7 @@ class SupportedPrivilegeSet implements XmlSerializable, HtmlOutput {
ob_start();
echo "<ul class=\"tree\">";
- $traverse('{DAV:}all', [ 'aggregates' => $this->getValue() ]);
+ $traverse('{DAV:}all', ['aggregates' => $this->getValue()]);
echo "</ul>\n";
return ob_get_clean();
@@ -129,6 +129,7 @@ class SupportedPrivilegeSet implements XmlSerializable, HtmlOutput {
* This is a recursive function.
*
* @param Writer $writer
+ * @param string $privName
* @param array $privilege
* @return void
*/
diff --git a/vendor/sabre/dav/lib/DAVACL/Xml/Request/AclPrincipalPropSetReport.php b/vendor/sabre/dav/lib/DAVACL/Xml/Request/AclPrincipalPropSetReport.php
index f01c1e6ab..0aa2f29a5 100644
--- a/vendor/sabre/dav/lib/DAVACL/Xml/Request/AclPrincipalPropSetReport.php
+++ b/vendor/sabre/dav/lib/DAVACL/Xml/Request/AclPrincipalPropSetReport.php
@@ -2,9 +2,9 @@
namespace Sabre\DAVACL\Xml\Request;
-use Sabre\Xml\XmlDeserializable;
-use Sabre\Xml\Reader;
use Sabre\Xml\Deserializer;
+use Sabre\Xml\Reader;
+use Sabre\Xml\XmlDeserializable;
/**
* AclPrincipalPropSet request parser.
@@ -24,7 +24,7 @@ class AclPrincipalPropSetReport implements XmlDeserializable {
/**
* The deserialize method is called during xml parsing.
*
- * This method is called statictly, this is because in theory this method
+ * This method is called statically, this is because in theory this method
* may be used as a type of constructor, or factory method.
*
* Often you want to return an instance of the current class, but you are
diff --git a/vendor/sabre/dav/lib/DAVACL/Xml/Request/ExpandPropertyReport.php b/vendor/sabre/dav/lib/DAVACL/Xml/Request/ExpandPropertyReport.php
index 3f535e301..a9938ba5b 100644
--- a/vendor/sabre/dav/lib/DAVACL/Xml/Request/ExpandPropertyReport.php
+++ b/vendor/sabre/dav/lib/DAVACL/Xml/Request/ExpandPropertyReport.php
@@ -35,7 +35,7 @@ class ExpandPropertyReport implements XmlDeserializable {
/**
* The deserialize method is called during xml parsing.
*
- * This method is called statictly, this is because in theory this method
+ * This method is called statically, this is because in theory this method
* may be used as a type of constructor, or factory method.
*
* Often you want to return an instance of the current class, but you are
diff --git a/vendor/sabre/dav/lib/DAVACL/Xml/Request/PrincipalMatchReport.php b/vendor/sabre/dav/lib/DAVACL/Xml/Request/PrincipalMatchReport.php
index 5c4e88189..1be15ab2d 100644
--- a/vendor/sabre/dav/lib/DAVACL/Xml/Request/PrincipalMatchReport.php
+++ b/vendor/sabre/dav/lib/DAVACL/Xml/Request/PrincipalMatchReport.php
@@ -2,9 +2,9 @@
namespace Sabre\DAVACL\Xml\Request;
-use Sabre\Xml\XmlDeserializable;
-use Sabre\Xml\Reader;
use Sabre\Xml\Deserializer;
+use Sabre\Xml\Reader;
+use Sabre\Xml\XmlDeserializable;
/**
* PrincipalMatchReport request parser.
@@ -55,7 +55,7 @@ class PrincipalMatchReport implements XmlDeserializable {
/**
* The deserialize method is called during xml parsing.
*
- * This method is called statictly, this is because in theory this method
+ * This method is called statically, this is because in theory this method
* may be used as a type of constructor, or factory method.
*
* Often you want to return an instance of the current class, but you are
diff --git a/vendor/sabre/dav/lib/DAVACL/Xml/Request/PrincipalPropertySearchReport.php b/vendor/sabre/dav/lib/DAVACL/Xml/Request/PrincipalPropertySearchReport.php
index 1e7aa4481..b0cf0e408 100644
--- a/vendor/sabre/dav/lib/DAVACL/Xml/Request/PrincipalPropertySearchReport.php
+++ b/vendor/sabre/dav/lib/DAVACL/Xml/Request/PrincipalPropertySearchReport.php
@@ -2,9 +2,9 @@
namespace Sabre\DAVACL\Xml\Request;
+use Sabre\DAV\Exception\BadRequest;
use Sabre\Xml\Reader;
use Sabre\Xml\XmlDeserializable;
-use Sabre\DAV\Exception\BadRequest;
/**
* PrincipalSearchPropertySetReport request parser.
@@ -56,7 +56,7 @@ class PrincipalPropertySearchReport implements XmlDeserializable {
/**
* The deserialize method is called during xml parsing.
*
- * This method is called statictly, this is because in theory this method
+ * This method is called statically, this is because in theory this method
* may be used as a type of constructor, or factory method.
*
* Often you want to return an instance of the current class, but you are
diff --git a/vendor/sabre/dav/lib/DAVACL/Xml/Request/PrincipalSearchPropertySetReport.php b/vendor/sabre/dav/lib/DAVACL/Xml/Request/PrincipalSearchPropertySetReport.php
index ade157b19..64d1f7f86 100644
--- a/vendor/sabre/dav/lib/DAVACL/Xml/Request/PrincipalSearchPropertySetReport.php
+++ b/vendor/sabre/dav/lib/DAVACL/Xml/Request/PrincipalSearchPropertySetReport.php
@@ -2,9 +2,9 @@
namespace Sabre\DAVACL\Xml\Request;
+use Sabre\DAV\Exception\BadRequest;
use Sabre\Xml\Reader;
use Sabre\Xml\XmlDeserializable;
-use Sabre\DAV\Exception\BadRequest;
/**
* PrincipalSearchPropertySetReport request parser.
@@ -23,7 +23,7 @@ class PrincipalSearchPropertySetReport implements XmlDeserializable {
/**
* The deserialize method is called during xml parsing.
*
- * This method is called statictly, this is because in theory this method
+ * This method is called statically, this is because in theory this method
* may be used as a type of constructor, or factory method.
*
* Often you want to return an instance of the current class, but you are
diff --git a/vendor/sabre/dav/tests/Sabre/CalDAV/Backend/AbstractPDOTest.php b/vendor/sabre/dav/tests/Sabre/CalDAV/Backend/AbstractPDOTest.php
index 2a00f7925..406dbe0e8 100644
--- a/vendor/sabre/dav/tests/Sabre/CalDAV/Backend/AbstractPDOTest.php
+++ b/vendor/sabre/dav/tests/Sabre/CalDAV/Backend/AbstractPDOTest.php
@@ -280,7 +280,7 @@ abstract class AbstractPDOTest extends \PHPUnit_Framework_TestCase {
],
];
- $result = $backend->getMultipleCalendarObjects($returnedId, [ 'id-1', 'id-2' ]);
+ $result = $backend->getMultipleCalendarObjects($returnedId, ['id-1', 'id-2']);
foreach ($check as $index => $props) {
@@ -441,7 +441,7 @@ abstract class AbstractPDOTest extends \PHPUnit_Framework_TestCase {
/**
* @depends testCreateCalendarObject
*/
- function testCreateCalendarObjectInfiniteReccurence() {
+ function testCreateCalendarObjectInfiniteRecurrence() {
$backend = new PDO($this->pdo);
$returnedId = $backend->createCalendar('principals/user2', 'somerandomid', []);
@@ -470,7 +470,7 @@ abstract class AbstractPDOTest extends \PHPUnit_Framework_TestCase {
/**
* @depends testCreateCalendarObject
*/
- function testCreateCalendarObjectEndingReccurence() {
+ function testCreateCalendarObjectEndingRecurrence() {
$backend = new PDO($this->pdo);
$returnedId = $backend->createCalendar('principals/user2', 'somerandomid', []);
@@ -1246,8 +1246,8 @@ abstract class AbstractPDOTest extends \PHPUnit_Framework_TestCase {
$calendar['id'],
[
new Sharee([
- 'href' => 'mailto:user@example.org',
- 'access' => \Sabre\DAV\Sharing\Plugin::ACCESS_NOACCESS,
+ 'href' => 'mailto:user@example.org',
+ 'access' => \Sabre\DAV\Sharing\Plugin::ACCESS_NOACCESS,
])
]
);
@@ -1263,8 +1263,8 @@ abstract class AbstractPDOTest extends \PHPUnit_Framework_TestCase {
$calendar['id'],
[
new Sharee([
- 'href' => 'principals/user2',
- 'access' => \Sabre\DAV\Sharing\Plugin::ACCESS_NOACCESS,
+ 'href' => 'principals/user2',
+ 'access' => \Sabre\DAV\Sharing\Plugin::ACCESS_NOACCESS,
])
]
);
diff --git a/vendor/sabre/dav/tests/Sabre/CalDAV/Backend/Mock.php b/vendor/sabre/dav/tests/Sabre/CalDAV/Backend/Mock.php
index d4dcc07dc..cc665cd8f 100644
--- a/vendor/sabre/dav/tests/Sabre/CalDAV/Backend/Mock.php
+++ b/vendor/sabre/dav/tests/Sabre/CalDAV/Backend/Mock.php
@@ -2,8 +2,8 @@
namespace Sabre\CalDAV\Backend;
-use Sabre\DAV;
use Sabre\CalDAV;
+use Sabre\DAV;
class Mock extends AbstractBackend {
diff --git a/vendor/sabre/dav/tests/Sabre/CalDAV/CalendarObjectTest.php b/vendor/sabre/dav/tests/Sabre/CalDAV/CalendarObjectTest.php
index 0d98922ff..c92cde661 100644
--- a/vendor/sabre/dav/tests/Sabre/CalDAV/CalendarObjectTest.php
+++ b/vendor/sabre/dav/tests/Sabre/CalDAV/CalendarObjectTest.php
@@ -114,7 +114,7 @@ class CalendarObjectTest extends \PHPUnit_Framework_TestCase {
$obj = $children[0];
$obj->delete();
- $children2 = $this->calendar->getChildren();
+ $children2 = $this->calendar->getChildren();
$this->assertEquals(count($children) - 1, count($children2));
}
diff --git a/vendor/sabre/dav/tests/Sabre/CalDAV/CalendarQueryValidatorTest.php b/vendor/sabre/dav/tests/Sabre/CalDAV/CalendarQueryValidatorTest.php
index 4c2558a9b..f3305163b 100644
--- a/vendor/sabre/dav/tests/Sabre/CalDAV/CalendarQueryValidatorTest.php
+++ b/vendor/sabre/dav/tests/Sabre/CalDAV/CalendarQueryValidatorTest.php
@@ -21,6 +21,9 @@ ICS;
}
/**
+ * @param string $icalObject
+ * @param array $filters
+ * @param int $outcome
* @dataProvider provider
*/
function testValid($icalObject, $filters, $outcome) {
diff --git a/vendor/sabre/dav/tests/Sabre/CalDAV/FreeBusyReportTest.php b/vendor/sabre/dav/tests/Sabre/CalDAV/FreeBusyReportTest.php
index 7a756774f..7604c7f4c 100644
--- a/vendor/sabre/dav/tests/Sabre/CalDAV/FreeBusyReportTest.php
+++ b/vendor/sabre/dav/tests/Sabre/CalDAV/FreeBusyReportTest.php
@@ -11,11 +11,11 @@ require_once 'Sabre/HTTP/ResponseMock.php';
class FreeBusyReportTest extends \PHPUnit_Framework_TestCase {
/**
- * @var Sabre\CalDAV\Plugin
+ * @var Plugin
*/
protected $plugin;
/**
- * @var Sabre\DAV\Server
+ * @var DAV\Server
*/
protected $server;
diff --git a/vendor/sabre/dav/tests/Sabre/CalDAV/ICSExportPluginTest.php b/vendor/sabre/dav/tests/Sabre/CalDAV/ICSExportPluginTest.php
index 9719529fb..75412577e 100644
--- a/vendor/sabre/dav/tests/Sabre/CalDAV/ICSExportPluginTest.php
+++ b/vendor/sabre/dav/tests/Sabre/CalDAV/ICSExportPluginTest.php
@@ -3,9 +3,9 @@
namespace Sabre\CalDAV;
use Sabre\DAV;
+use Sabre\DAVACL;
use Sabre\HTTP;
use Sabre\VObject;
-use Sabre\DAVACL;
class ICSExportPluginTest extends \Sabre\DAVServerTest {
diff --git a/vendor/sabre/dav/tests/Sabre/CalDAV/PluginTest.php b/vendor/sabre/dav/tests/Sabre/CalDAV/PluginTest.php
index 8d538dee5..859f6aa0c 100644
--- a/vendor/sabre/dav/tests/Sabre/CalDAV/PluginTest.php
+++ b/vendor/sabre/dav/tests/Sabre/CalDAV/PluginTest.php
@@ -2,11 +2,11 @@
namespace Sabre\CalDAV;
-use Sabre\DAVACL;
-use Sabre\DAV;
-use Sabre\HTTP;
use DateTime;
use DateTimeZone;
+use Sabre\DAV;
+use Sabre\DAVACL;
+use Sabre\HTTP;
class PluginTest extends \PHPUnit_Framework_TestCase {
diff --git a/vendor/sabre/dav/tests/Sabre/CalDAV/SharingPluginTest.php b/vendor/sabre/dav/tests/Sabre/CalDAV/SharingPluginTest.php
index 6e9e88419..9589176a3 100644
--- a/vendor/sabre/dav/tests/Sabre/CalDAV/SharingPluginTest.php
+++ b/vendor/sabre/dav/tests/Sabre/CalDAV/SharingPluginTest.php
@@ -194,8 +194,8 @@ RRR;
$this->assertEquals(
[
new Sharee([
- 'href' => 'mailto:joe@example.org',
- 'properties' => [
+ 'href' => 'mailto:joe@example.org',
+ 'properties' => [
'{DAV:}displayname' => 'Joe Shmoe',
],
'access' => \Sabre\DAV\Sharing\Plugin::ACCESS_READWRITE,
diff --git a/vendor/sabre/dav/tests/Sabre/CardDAV/AddressBookQueryTest.php b/vendor/sabre/dav/tests/Sabre/CardDAV/AddressBookQueryTest.php
index 2c3171bf3..f8da38a16 100644
--- a/vendor/sabre/dav/tests/Sabre/CardDAV/AddressBookQueryTest.php
+++ b/vendor/sabre/dav/tests/Sabre/CardDAV/AddressBookQueryTest.php
@@ -2,8 +2,8 @@
namespace Sabre\CardDAV;
-use Sabre\HTTP;
use Sabre\DAV;
+use Sabre\HTTP;
require_once 'Sabre/CardDAV/AbstractPluginTest.php';
require_once 'Sabre/HTTP/ResponseMock.php';
@@ -288,14 +288,14 @@ class AddressBookQueryTest extends AbstractPluginTest {
);
$request->setBody(
-'<?xml version="1.0"?>
+ '<?xml version="1.0"?>
<c:addressbook-query xmlns:d="DAV:" xmlns:c="urn:ietf:params:xml:ns:carddav">
<d:prop>
<c:address-data content-type="application/vcard+json" />
<d:getetag />
</d:prop>
</c:addressbook-query>'
- );
+ );
$response = new HTTP\ResponseMock();
@@ -305,6 +305,51 @@ class AddressBookQueryTest extends AbstractPluginTest {
$this->server->exec();
$this->assertEquals(415, $response->status, 'Incorrect status code. Full response body:' . $response->body);
+ }
+
+ function testAddressBookProperties() {
+
+ $request = new HTTP\Request(
+ 'REPORT',
+ '/addressbooks/user1/book3',
+ ['Depth' => '1']
+ );
+
+ $request->setBody(
+ '<?xml version="1.0"?>
+<c:addressbook-query xmlns:d="DAV:" xmlns:c="urn:ietf:params:xml:ns:carddav">
+ <d:prop>
+ <c:address-data>
+ <c:prop name="FN"/>
+ <c:prop name="BDAY"/>
+ </c:address-data>
+ <d:getetag />
+ </d:prop>
+</c:addressbook-query>'
+ );
+
+ $response = new HTTP\ResponseMock();
+
+ $this->server->httpRequest = $request;
+ $this->server->httpResponse = $response;
+
+ $this->server->exec();
+
+ $this->assertEquals(207, $response->status, 'Incorrect status code. Full response body:' . $response->body);
+
+ // using the client for parsing
+ $client = new DAV\Client(['baseUri' => '/']);
+
+ $result = $client->parseMultiStatus($response->body);
+
+ $this->assertEquals([
+ '/addressbooks/user1/book3/card3' => [
+ 200 => [
+ '{DAV:}getetag' => '"' . md5("BEGIN:VCARD\nVERSION:3.0\nUID:12345\nFN:Test-Card\nEMAIL;TYPE=home:bar@example.org\nEND:VCARD") . '"',
+ '{urn:ietf:params:xml:ns:carddav}address-data' => "BEGIN:VCARD\r\nVERSION:3.0\r\nUID:12345\r\nFN:Test-Card\r\nEND:VCARD\r\n",
+ ],
+ ],
+ ], $result);
}
}
diff --git a/vendor/sabre/dav/tests/Sabre/CardDAV/AddressBookTest.php b/vendor/sabre/dav/tests/Sabre/CardDAV/AddressBookTest.php
index 1a36fd10c..1f0064dd3 100644
--- a/vendor/sabre/dav/tests/Sabre/CardDAV/AddressBookTest.php
+++ b/vendor/sabre/dav/tests/Sabre/CardDAV/AddressBookTest.php
@@ -85,7 +85,7 @@ class AddressBookTest extends \PHPUnit_Framework_TestCase {
function testDelete() {
$this->ab->delete();
- $this->assertEquals([], $this->backend->addressBooks);
+ $this->assertEquals(1, count($this->backend->addressBooks));
}
@@ -175,7 +175,7 @@ class AddressBookTest extends \PHPUnit_Framework_TestCase {
$backend = new Backend\PDO(
$this->getPDO()
);
- $ab = new AddressBook($backend, [ 'id' => 1, '{DAV:}sync-token' => 2]);
+ $ab = new AddressBook($backend, ['id' => 1, '{DAV:}sync-token' => 2]);
$this->assertEquals(2, $ab->getSyncToken());
}
@@ -187,7 +187,7 @@ class AddressBookTest extends \PHPUnit_Framework_TestCase {
$backend = new Backend\PDO(
$this->getPDO()
);
- $ab = new AddressBook($backend, [ 'id' => 1, '{http://sabredav.org/ns}sync-token' => 2]);
+ $ab = new AddressBook($backend, ['id' => 1, '{http://sabredav.org/ns}sync-token' => 2]);
$this->assertEquals(2, $ab->getSyncToken());
}
diff --git a/vendor/sabre/dav/tests/Sabre/CardDAV/Backend/Mock.php b/vendor/sabre/dav/tests/Sabre/CardDAV/Backend/Mock.php
index 840b898e8..8638dc74a 100644
--- a/vendor/sabre/dav/tests/Sabre/CardDAV/Backend/Mock.php
+++ b/vendor/sabre/dav/tests/Sabre/CardDAV/Backend/Mock.php
@@ -20,6 +20,12 @@ class Mock extends AbstractBackend {
'principaluri' => 'principals/user1',
'{DAV:}displayname' => 'd-name',
],
+ [
+ 'id' => 'bar',
+ 'uri' => 'book3',
+ 'principaluri' => 'principals/user1',
+ '{DAV:}displayname' => 'd-name',
+ ],
];
$card2 = fopen('php://memory', 'r+');
@@ -30,6 +36,9 @@ class Mock extends AbstractBackend {
'card1' => "BEGIN:VCARD\nVERSION:3.0\nUID:12345\nEND:VCARD",
'card2' => $card2,
],
+ 'bar' => [
+ 'card3' => "BEGIN:VCARD\nVERSION:3.0\nUID:12345\nFN:Test-Card\nEMAIL;TYPE=home:bar@example.org\nEND:VCARD",
+ ],
];
}
@@ -58,7 +67,7 @@ class Mock extends AbstractBackend {
* Calling the handle method is like telling the PropPatch object "I
* promise I can handle updating this property".
*
- * Read the PropPatch documenation for more info and examples.
+ * Read the PropPatch documentation for more info and examples.
*
* @param string $addressBookId
* @param \Sabre\DAV\PropPatch $propPatch
@@ -117,7 +126,7 @@ class Mock extends AbstractBackend {
* calculating them. If they are specified, you can also ommit carddata.
* This may speed up certain requests, especially with large cards.
*
- * @param mixed $addressbookId
+ * @param mixed $addressBookId
* @return array
*/
function getCards($addressBookId) {
diff --git a/vendor/sabre/dav/tests/Sabre/CardDAV/MultiGetTest.php b/vendor/sabre/dav/tests/Sabre/CardDAV/MultiGetTest.php
index d79239d0f..2d57c6ae7 100644
--- a/vendor/sabre/dav/tests/Sabre/CardDAV/MultiGetTest.php
+++ b/vendor/sabre/dav/tests/Sabre/CardDAV/MultiGetTest.php
@@ -2,8 +2,8 @@
namespace Sabre\CardDAV;
-use Sabre\HTTP;
use Sabre\DAV;
+use Sabre\HTTP;
require_once 'Sabre/HTTP/ResponseMock.php';
diff --git a/vendor/sabre/dav/tests/Sabre/CardDAV/SogoStripContentTypeTest.php b/vendor/sabre/dav/tests/Sabre/CardDAV/SogoStripContentTypeTest.php
index 0ba4fd669..d4bc48098 100644
--- a/vendor/sabre/dav/tests/Sabre/CardDAV/SogoStripContentTypeTest.php
+++ b/vendor/sabre/dav/tests/Sabre/CardDAV/SogoStripContentTypeTest.php
@@ -2,8 +2,8 @@
namespace Sabre\CardDAV;
-use Sabre\HTTP;
use Sabre\DAV\PropFind;
+use Sabre\HTTP;
class SogoStripContentTypeTest extends \Sabre\DAVServerTest {
diff --git a/vendor/sabre/dav/tests/Sabre/CardDAV/ValidateFilterTest.php b/vendor/sabre/dav/tests/Sabre/CardDAV/ValidateFilterTest.php
index 57ac21b4a..03c468f86 100644
--- a/vendor/sabre/dav/tests/Sabre/CardDAV/ValidateFilterTest.php
+++ b/vendor/sabre/dav/tests/Sabre/CardDAV/ValidateFilterTest.php
@@ -7,6 +7,11 @@ require_once 'Sabre/CardDAV/AbstractPluginTest.php';
class ValidateFilterTest extends AbstractPluginTest {
/**
+ * @param string $input
+ * @param array $filters
+ * @param string $test
+ * @param bool $result
+ * @param string|null $message
* @dataProvider data
*/
function testFilter($input, $filters, $test, $result, $message = null) {
diff --git a/vendor/sabre/dav/tests/Sabre/CardDAV/ValidateVCardTest.php b/vendor/sabre/dav/tests/Sabre/CardDAV/ValidateVCardTest.php
index dda8a0c37..acba2cfc8 100644
--- a/vendor/sabre/dav/tests/Sabre/CardDAV/ValidateVCardTest.php
+++ b/vendor/sabre/dav/tests/Sabre/CardDAV/ValidateVCardTest.php
@@ -3,8 +3,8 @@
namespace Sabre\CardDAV;
use Sabre\DAV;
-use Sabre\HTTP;
use Sabre\DAVACL;
+use Sabre\HTTP;
require_once 'Sabre/HTTP/ResponseMock.php';
@@ -293,10 +293,10 @@ VCF;
$response = $this->request($request, 204);
$expected = [
- 'uri' => 'blabla.vcf',
- 'carddata' => $body,
- 'size' => strlen($body),
- 'etag' => '"' . md5($body) . '"',
+ 'uri' => 'blabla.vcf',
+ 'carddata' => $body,
+ 'size' => strlen($body),
+ 'etag' => '"' . md5($body) . '"',
];
$this->assertEquals($expected, $this->cardBackend->getCard('addressbook1', 'blabla.vcf'));
diff --git a/vendor/sabre/dav/tests/Sabre/DAV/Auth/Backend/Mock.php b/vendor/sabre/dav/tests/Sabre/DAV/Auth/Backend/Mock.php
index b30b3f143..369bc249e 100644
--- a/vendor/sabre/dav/tests/Sabre/DAV/Auth/Backend/Mock.php
+++ b/vendor/sabre/dav/tests/Sabre/DAV/Auth/Backend/Mock.php
@@ -76,6 +76,8 @@ class Mock implements BackendInterface {
* append your own WWW-Authenticate header instead of overwriting the
* existing one.
*
+ * @param RequestInterface $request
+ * @param ResponseInterface $response
* @return void
*/
function challenge(RequestInterface $request, ResponseInterface $response) {
diff --git a/vendor/sabre/dav/tests/Sabre/DAV/Auth/PluginTest.php b/vendor/sabre/dav/tests/Sabre/DAV/Auth/PluginTest.php
index b566dd757..743446127 100644
--- a/vendor/sabre/dav/tests/Sabre/DAV/Auth/PluginTest.php
+++ b/vendor/sabre/dav/tests/Sabre/DAV/Auth/PluginTest.php
@@ -2,8 +2,8 @@
namespace Sabre\DAV\Auth;
-use Sabre\HTTP;
use Sabre\DAV;
+use Sabre\HTTP;
class PluginTest extends \PHPUnit_Framework_TestCase {
diff --git a/vendor/sabre/dav/tests/Sabre/DAV/ClientTest.php b/vendor/sabre/dav/tests/Sabre/DAV/ClientTest.php
index 4cf27dfaa..687f61e2f 100644
--- a/vendor/sabre/dav/tests/Sabre/DAV/ClientTest.php
+++ b/vendor/sabre/dav/tests/Sabre/DAV/ClientTest.php
@@ -224,7 +224,7 @@ XML;
XML;
$client->response = new Response(207, [], $responseBody);
- $result = $client->propPatch('foo', ['{DAV:}displayname' => 'hi', '{urn:zim}gir' => null], 1);
+ $result = $client->propPatch('foo', ['{DAV:}displayname' => 'hi', '{urn:zim}gir' => null]);
$this->assertTrue($result);
$request = $client->request;
$this->assertEquals('PROPPATCH', $request->getMethod());
@@ -246,7 +246,7 @@ XML;
]);
$client->response = new Response(403, [], '');
- $client->propPatch('foo', ['{DAV:}displayname' => 'hi', '{urn:zim}gir' => null], 1);
+ $client->propPatch('foo', ['{DAV:}displayname' => 'hi', '{urn:zim}gir' => null]);
}
@@ -276,7 +276,7 @@ XML;
XML;
$client->response = new Response(207, [], $responseBody);
- $client->propPatch('foo', ['{DAV:}displayname' => 'hi', '{urn:zim}gir' => null], 1);
+ $client->propPatch('foo', ['{DAV:}displayname' => 'hi', '{urn:zim}gir' => null]);
}
diff --git a/vendor/sabre/dav/tests/Sabre/DAV/Exception/LockedTest.php b/vendor/sabre/dav/tests/Sabre/DAV/Exception/LockedTest.php
index 8788475cb..174a561b5 100644
--- a/vendor/sabre/dav/tests/Sabre/DAV/Exception/LockedTest.php
+++ b/vendor/sabre/dav/tests/Sabre/DAV/Exception/LockedTest.php
@@ -2,8 +2,8 @@
namespace Sabre\DAV\Exception;
-use Sabre\DAV;
use DOMDocument;
+use Sabre\DAV;
class LockedTest extends \PHPUnit_Framework_TestCase {
diff --git a/vendor/sabre/dav/tests/Sabre/DAV/Issue33Test.php b/vendor/sabre/dav/tests/Sabre/DAV/Issue33Test.php
index edd09e634..ba2cf3dc1 100644
--- a/vendor/sabre/dav/tests/Sabre/DAV/Issue33Test.php
+++ b/vendor/sabre/dav/tests/Sabre/DAV/Issue33Test.php
@@ -99,7 +99,7 @@ class Issue33Test extends \PHPUnit_Framework_TestCase {
$server->sapi = new HTTP\SapiMock();
$server->exec();
- $this->assertTrue(file_exists(SABRE_TEMPDIR . '/issue33/' . urldecode('%C3%A0fo%C3%B3')));
+ $this->assertTrue(file_exists(SABRE_TEMPDIR . '/issue33/' . urldecode('%C3%A0fo%C3%B3')));
}
diff --git a/vendor/sabre/dav/tests/Sabre/DAV/Locks/MSWordTest.php b/vendor/sabre/dav/tests/Sabre/DAV/Locks/MSWordTest.php
index f08f19da5..1111db5b5 100644
--- a/vendor/sabre/dav/tests/Sabre/DAV/Locks/MSWordTest.php
+++ b/vendor/sabre/dav/tests/Sabre/DAV/Locks/MSWordTest.php
@@ -2,8 +2,8 @@
namespace Sabre\DAV\Locks;
-use Sabre\HTTP;
use Sabre\DAV;
+use Sabre\HTTP;
require_once 'Sabre/HTTP/ResponseMock.php';
require_once 'Sabre/TestUtil.php';
@@ -112,9 +112,9 @@ class MSWordTest extends \PHPUnit_Framework_TestCase {
function getPutRequest($lockToken) {
$request = HTTP\Sapi::createFromServerArray([
- 'REQUEST_METHOD' => 'PUT',
- 'REQUEST_URI' => '/Nouveau%20Microsoft%20Office%20Excel%20Worksheet.xlsx',
- 'HTTP_IF' => 'If: (' . $lockToken . ')',
+ 'REQUEST_METHOD' => 'PUT',
+ 'REQUEST_URI' => '/Nouveau%20Microsoft%20Office%20Excel%20Worksheet.xlsx',
+ 'HTTP_IF' => 'If: (' . $lockToken . ')',
]);
$request->setBody('FAKE BODY');
return $request;
diff --git a/vendor/sabre/dav/tests/Sabre/DAV/Locks/PluginTest.php b/vendor/sabre/dav/tests/Sabre/DAV/Locks/PluginTest.php
index 6511d4e7d..dbbf6757a 100644
--- a/vendor/sabre/dav/tests/Sabre/DAV/Locks/PluginTest.php
+++ b/vendor/sabre/dav/tests/Sabre/DAV/Locks/PluginTest.php
@@ -2,8 +2,8 @@
namespace Sabre\DAV\Locks;
-use Sabre\HTTP;
use Sabre\DAV;
+use Sabre\HTTP;
require_once 'Sabre/DAV/AbstractServer.php';
@@ -168,7 +168,7 @@ class PluginTest extends DAV\AbstractServer {
$this->response = new HTTP\ResponseMock();
$this->server->httpResponse = $this->response;
- $request = new HTTP\Request('LOCK', '/test.txt', ['If' => '(' . $lockToken . ')' ]);
+ $request = new HTTP\Request('LOCK', '/test.txt', ['If' => '(' . $lockToken . ')']);
$request->setBody('');
$this->server->httpRequest = $request;
@@ -203,7 +203,7 @@ class PluginTest extends DAV\AbstractServer {
$this->response = new HTTP\ResponseMock();
$this->server->httpResponse = $this->response;
- $request = new HTTP\Request('LOCK', '/test.txt', ['If' => '(' . $lockToken . 'foobar) (<opaquelocktoken:anotherbadtoken>)' ]);
+ $request = new HTTP\Request('LOCK', '/test.txt', ['If' => '(' . $lockToken . 'foobar) (<opaquelocktoken:anotherbadtoken>)']);
$request->setBody('');
$this->server->httpRequest = $request;
diff --git a/vendor/sabre/dav/tests/Sabre/DAV/Mock/Collection.php b/vendor/sabre/dav/tests/Sabre/DAV/Mock/Collection.php
index 6ccab4f66..fded5e474 100644
--- a/vendor/sabre/dav/tests/Sabre/DAV/Mock/Collection.php
+++ b/vendor/sabre/dav/tests/Sabre/DAV/Mock/Collection.php
@@ -30,6 +30,7 @@ class Collection extends DAV\Collection {
*
* @param string $name
* @param array $children
+ * @param Collection $parent
* @return void
*/
function __construct($name, array $children = [], Collection $parent = null) {
@@ -122,6 +123,8 @@ class Collection extends DAV\Collection {
/**
* Adds an already existing node to this collection.
+ *
+ * @param \Sabre\DAV\INode $node
*/
function addNode(\Sabre\DAV\INode $node) {
diff --git a/vendor/sabre/dav/tests/Sabre/DAV/Mock/File.php b/vendor/sabre/dav/tests/Sabre/DAV/Mock/File.php
index 23855e3c5..a624b6b6b 100644
--- a/vendor/sabre/dav/tests/Sabre/DAV/Mock/File.php
+++ b/vendor/sabre/dav/tests/Sabre/DAV/Mock/File.php
@@ -24,7 +24,9 @@ class File extends DAV\File {
* Creates the object
*
* @param string $name
- * @param array $children
+ * @param resource $contents
+ * @param Collection $parent
+ * @param int $lastModified
* @return void
*/
function __construct($name, $contents, Collection $parent = null, $lastModified = -1) {
@@ -57,6 +59,7 @@ class File extends DAV\File {
/**
* Changes the name of the node.
*
+ * @param string $name
* @return void
*/
function setName($name) {
@@ -70,7 +73,7 @@ class File extends DAV\File {
*
* The data argument is a readable stream resource.
*
- * After a succesful put operation, you may choose to return an ETag. The
+ * After a successful put operation, you may choose to return an ETag. The
* etag must always be surrounded by double-quotes. These quotes must
* appear in the actual string you're returning.
*
diff --git a/vendor/sabre/dav/tests/Sabre/DAV/PartialUpdate/SpecificationTest.php b/vendor/sabre/dav/tests/Sabre/DAV/PartialUpdate/SpecificationTest.php
index ca8ca3f6e..2c6274173 100644
--- a/vendor/sabre/dav/tests/Sabre/DAV/PartialUpdate/SpecificationTest.php
+++ b/vendor/sabre/dav/tests/Sabre/DAV/PartialUpdate/SpecificationTest.php
@@ -38,6 +38,11 @@ class SpecificationTest extends \PHPUnit_Framework_TestCase {
}
/**
+ * @param string $headerValue
+ * @param string $httpStatus
+ * @param string $endResult
+ * @param int $contentLength
+ *
* @dataProvider data
*/
function testUpdateRange($headerValue, $httpStatus, $endResult, $contentLength = 4) {
diff --git a/vendor/sabre/dav/tests/Sabre/DAV/ServerEventsTest.php b/vendor/sabre/dav/tests/Sabre/DAV/ServerEventsTest.php
index 4c576f108..42759647a 100644
--- a/vendor/sabre/dav/tests/Sabre/DAV/ServerEventsTest.php
+++ b/vendor/sabre/dav/tests/Sabre/DAV/ServerEventsTest.php
@@ -39,8 +39,8 @@ class ServerEventsTest extends AbstractServer {
$this->server->on('afterResponse', [$mock, 'afterResponseCallback']);
$this->server->httpRequest = HTTP\Sapi::createFromServerArray([
- 'REQUEST_METHOD' => 'GET',
- 'REQUEST_URI' => '/test.txt',
+ 'REQUEST_METHOD' => 'GET',
+ 'REQUEST_URI' => '/test.txt',
]);
$this->server->exec();
@@ -118,8 +118,8 @@ class ServerEventsTest extends AbstractServer {
);
} catch (Exception $e) {}
- $this->assertEquals(2, $k);
-
+ // Fun fact, PHP 7.1 changes the order when sorting-by-callback.
+ $this->assertTrue($k >= 2 && $k <= 3);
}
diff --git a/vendor/sabre/dav/tests/Sabre/DAV/ServerRangeTest.php b/vendor/sabre/dav/tests/Sabre/DAV/ServerRangeTest.php
index bafbef6e4..81224d687 100644
--- a/vendor/sabre/dav/tests/Sabre/DAV/ServerRangeTest.php
+++ b/vendor/sabre/dav/tests/Sabre/DAV/ServerRangeTest.php
@@ -144,7 +144,7 @@ class ServerRangeTest extends \Sabre\DAVServerTest {
'Content-Length' => [4],
'Content-Range' => ['bytes 2-5/12'],
// 'ETag' => ['"' . md5('Test contents') . '"'],
- 'Last-Modified' => [$this->lastModified],
+ 'Last-Modified' => [$this->lastModified],
],
$response->getHeaders()
);
diff --git a/vendor/sabre/dav/tests/Sabre/DAV/StringUtilTest.php b/vendor/sabre/dav/tests/Sabre/DAV/StringUtilTest.php
index 8888f0276..e98fe9048 100644
--- a/vendor/sabre/dav/tests/Sabre/DAV/StringUtilTest.php
+++ b/vendor/sabre/dav/tests/Sabre/DAV/StringUtilTest.php
@@ -5,6 +5,13 @@ namespace Sabre\DAV;
class StringUtilTest extends \PHPUnit_Framework_TestCase {
/**
+ * @param string $haystack
+ * @param string $needle
+ * @param string $collation
+ * @param string $matchType
+ * @param string $result
+ * @throws Exception\BadRequest
+ *
* @dataProvider dataset
*/
function testTextMatch($haystack, $needle, $collation, $matchType, $result) {
diff --git a/vendor/sabre/dav/tests/Sabre/DAV/TreeTest.php b/vendor/sabre/dav/tests/Sabre/DAV/TreeTest.php
index ad33200c8..e719e38d5 100644
--- a/vendor/sabre/dav/tests/Sabre/DAV/TreeTest.php
+++ b/vendor/sabre/dav/tests/Sabre/DAV/TreeTest.php
@@ -200,8 +200,8 @@ class TreeFileTester extends File implements IProperties {
* To update specific properties, call the 'handle' method on this object.
* Read the PropPatch documentation for more information.
*
- * @param array $mutations
- * @return bool|array
+ * @param PropPatch $propPatch
+ * @return void
*/
function propPatch(PropPatch $propPatch) {
@@ -220,6 +220,7 @@ class TreeMultiGetTester extends TreeDirectoryTester implements IMultiGet {
*
* If any children are not found, you do not have to return them.
*
+ * @param array $paths
* @return array
*/
function getMultipleChildren(array $paths) {
diff --git a/vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalBackend/Mock.php b/vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalBackend/Mock.php
index afb094a39..1464f4c26 100644
--- a/vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalBackend/Mock.php
+++ b/vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalBackend/Mock.php
@@ -128,7 +128,7 @@ class Mock extends AbstractBackend {
* Calling the handle method is like telling the PropPatch object "I
* promise I can handle updating this property".
*
- * Read the PropPatch documenation for more info and examples.
+ * Read the PropPatch documentation for more info and examples.
*
* @param string $path
* @param \Sabre\DAV\PropPatch $propPatch
diff --git a/vendor/sabre/http/.travis.yml b/vendor/sabre/http/.travis.yml
index 490e42e1e..8ae84d90f 100644
--- a/vendor/sabre/http/.travis.yml
+++ b/vendor/sabre/http/.travis.yml
@@ -4,6 +4,7 @@ php:
- 5.5
- 5.6
- 7
+ - 7.1
- hhvm
matrix:
@@ -16,7 +17,8 @@ env:
before_script:
- - composer self-update
+ - rm -f ~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/xdebug.ini
+# - composer self-update
- composer update --prefer-source $PREFER_LOWEST
script:
diff --git a/vendor/sabre/http/CHANGELOG.md b/vendor/sabre/http/CHANGELOG.md
index 9a751d8fb..00be2d887 100644
--- a/vendor/sabre/http/CHANGELOG.md
+++ b/vendor/sabre/http/CHANGELOG.md
@@ -1,19 +1,31 @@
ChangeLog
=========
+4.2.3 (2017-06-12)
+------------------
+
+* #74, #77: Work around 4GB file size limit at 32 Bit systems
+
+
+4.2.2 (2017-01-02)
+------------------
+
+* #72: Handling clients that send invalid `Content-Length` headers.
+
+
4.2.1 (2016-01-06)
------------------
* #56: `getBodyAsString` now returns at most as many bytes as the contents of
the `Content-Length` header. This allows users to pass much larger strings
without having to copy and truncate them.
+* The client now sets a default `User-Agent` header identifying this library.
4.2.0 (2016-01-04)
------------------
* This package now supports sabre/event 3.0.
-* The client now sets a default `User-Agent` header identifying this library.
4.1.0 (2015-09-04)
diff --git a/vendor/sabre/http/LICENSE b/vendor/sabre/http/LICENSE
index 19812ad7a..864041b22 100644
--- a/vendor/sabre/http/LICENSE
+++ b/vendor/sabre/http/LICENSE
@@ -1,4 +1,4 @@
-Copyright (C) 2009-2016 fruux GmbH (https://fruux.com/)
+Copyright (C) 2009-2017 fruux GmbH (https://fruux.com/)
All rights reserved.
diff --git a/vendor/sabre/http/composer.json b/vendor/sabre/http/composer.json
index b061194cf..507d5d28d 100644
--- a/vendor/sabre/http/composer.json
+++ b/vendor/sabre/http/composer.json
@@ -7,6 +7,7 @@
"require" : {
"php" : ">=5.4",
"ext-mbstring" : "*",
+ "ext-ctype" : "*",
"sabre/event" : ">=1.0.0,<4.0.0",
"sabre/uri" : "~1.0"
},
diff --git a/vendor/sabre/http/lib/Message.php b/vendor/sabre/http/lib/Message.php
index 5c6887d8a..45bd18398 100644
--- a/vendor/sabre/http/lib/Message.php
+++ b/vendor/sabre/http/lib/Message.php
@@ -75,12 +75,11 @@ abstract class Message implements MessageInterface {
return '';
}
$contentLength = $this->getHeader('Content-Length');
- if (null === $contentLength) {
- return stream_get_contents($body);
- } else {
+ if (is_int($contentLength) || ctype_digit($contentLength)) {
return stream_get_contents($body, $contentLength);
+ } else {
+ return stream_get_contents($body);
}
-
}
/**
@@ -189,7 +188,7 @@ abstract class Message implements MessageInterface {
/**
* Updates a HTTP header.
*
- * The case-sensitity of the name value must be retained as-is.
+ * The case-sensitivity of the name value must be retained as-is.
*
* If the header already existed, it will be overwritten.
*
@@ -270,10 +269,11 @@ abstract class Message implements MessageInterface {
/**
* Removes a HTTP header.
*
- * The specified header name must be treated as case-insenstive.
+ * The specified header name must be treated as case-insensitive.
* This method should return true if the header was successfully deleted,
* and false if the header did not exist.
*
+ * @param string $name
* @return bool
*/
function removeHeader($name) {
diff --git a/vendor/sabre/http/lib/MessageDecoratorTrait.php b/vendor/sabre/http/lib/MessageDecoratorTrait.php
index f104af38d..1cb32da22 100644
--- a/vendor/sabre/http/lib/MessageDecoratorTrait.php
+++ b/vendor/sabre/http/lib/MessageDecoratorTrait.php
@@ -144,7 +144,7 @@ trait MessageDecoratorTrait {
/**
* Updates a HTTP header.
*
- * The case-sensitity of the name value must be retained as-is.
+ * The case-sensitivity of the name value must be retained as-is.
*
* If the header already existed, it will be overwritten.
*
@@ -210,15 +210,16 @@ trait MessageDecoratorTrait {
/**
* Removes a HTTP header.
*
- * The specified header name must be treated as case-insenstive.
+ * The specified header name must be treated as case-insensitive.
* This method should return true if the header was successfully deleted,
* and false if the header did not exist.
*
+ * @param string $name
* @return bool
*/
function removeHeader($name) {
- $this->inner->removeHeader($name);
+ return $this->inner->removeHeader($name);
}
diff --git a/vendor/sabre/http/lib/MessageInterface.php b/vendor/sabre/http/lib/MessageInterface.php
index 55d8485c1..df55beb2f 100644
--- a/vendor/sabre/http/lib/MessageInterface.php
+++ b/vendor/sabre/http/lib/MessageInterface.php
@@ -44,7 +44,7 @@ interface MessageInterface {
/**
* Updates the body resource with a new stream.
*
- * @param resource $body
+ * @param resource|string $body
* @return void
*/
function setBody($body);
@@ -153,6 +153,7 @@ interface MessageInterface {
* This method should return true if the header was successfully deleted,
* and false if the header did not exist.
*
+ * @param string $name
* @return bool
*/
function removeHeader($name);
diff --git a/vendor/sabre/http/lib/Request.php b/vendor/sabre/http/lib/Request.php
index 8bcaf32a6..dfa3d5b48 100644
--- a/vendor/sabre/http/lib/Request.php
+++ b/vendor/sabre/http/lib/Request.php
@@ -301,7 +301,7 @@ class Request extends Message implements RequestInterface {
foreach ($value as $v) {
if ($key === 'Authorization') {
list($v) = explode(' ', $v, 2);
- $v .= ' REDACTED';
+ $v .= ' REDACTED';
}
$out .= $key . ": " . $v . "\r\n";
}
diff --git a/vendor/sabre/http/lib/Response.php b/vendor/sabre/http/lib/Response.php
index d2ba6d40d..01920d8d9 100644
--- a/vendor/sabre/http/lib/Response.php
+++ b/vendor/sabre/http/lib/Response.php
@@ -100,7 +100,6 @@ class Response extends Message implements ResponseInterface {
* @param string|int $status
* @param array $headers
* @param resource $body
- * @return void
*/
function __construct($status = null, array $headers = null, $body = null) {
@@ -145,7 +144,7 @@ class Response extends Message implements ResponseInterface {
* added.
*
* @param string|int $status
- * @throws \InvalidArgumentExeption
+ * @throws \InvalidArgumentException
* @return void
*/
function setStatus($status) {
diff --git a/vendor/sabre/http/lib/ResponseInterface.php b/vendor/sabre/http/lib/ResponseInterface.php
index c0ecc35ae..411cdc06c 100644
--- a/vendor/sabre/http/lib/ResponseInterface.php
+++ b/vendor/sabre/http/lib/ResponseInterface.php
@@ -37,7 +37,7 @@ interface ResponseInterface extends MessageInterface {
* added.
*
* @param string|int $status
- * @throws \InvalidArgumentExeption
+ * @throws \InvalidArgumentException
* @return void
*/
function setStatus($status);
diff --git a/vendor/sabre/http/lib/Sapi.php b/vendor/sabre/http/lib/Sapi.php
index 6c83c8719..6fc6452e4 100644
--- a/vendor/sabre/http/lib/Sapi.php
+++ b/vendor/sabre/http/lib/Sapi.php
@@ -75,7 +75,15 @@ class Sapi {
if ($contentLength !== null) {
$output = fopen('php://output', 'wb');
if (is_resource($body) && get_resource_type($body) == 'stream') {
- stream_copy_to_stream($body, $output, $contentLength);
+ if (PHP_INT_SIZE !== 4){
+ // use the dedicated function on 64 Bit systems
+ stream_copy_to_stream($body, $output, $contentLength);
+ } else {
+ // workaround for 32 Bit systems to avoid stream_copy_to_stream
+ while (!feof($body)) {
+ fwrite($output, fread($body, 8192));
+ }
+ }
} else {
fwrite($output, $body, $contentLength);
}
diff --git a/vendor/sabre/http/lib/URLUtil.php b/vendor/sabre/http/lib/URLUtil.php
index 474856348..85c0e1150 100644
--- a/vendor/sabre/http/lib/URLUtil.php
+++ b/vendor/sabre/http/lib/URLUtil.php
@@ -10,7 +10,7 @@ use Sabre\URI;
* Note: this class is deprecated. All its functionality moved to functions.php
* or sabre\uri.
*
- * @deprectated
+ * @deprecated
* @copyright Copyright (C) fruux GmbH (https://fruux.com/)
* @author Evert Pot (http://evertpot.com/)
* @license http://sabre.io/license/ Modified BSD License
diff --git a/vendor/sabre/http/lib/Util.php b/vendor/sabre/http/lib/Util.php
index 83bde50a4..e3f13a645 100644
--- a/vendor/sabre/http/lib/Util.php
+++ b/vendor/sabre/http/lib/Util.php
@@ -31,7 +31,7 @@ class Util {
* Deprecated! Use negotiateContentType.
*
* @deprecated Use \Sabre\HTTP\NegotiateContentType
- * @param string|null $acceptHeader
+ * @param string|null $acceptHeaderValue
* @param array $availableOptions
* @return string|null
*/
diff --git a/vendor/sabre/http/lib/Version.php b/vendor/sabre/http/lib/Version.php
index 789ee4543..aeb080e93 100644
--- a/vendor/sabre/http/lib/Version.php
+++ b/vendor/sabre/http/lib/Version.php
@@ -14,6 +14,6 @@ class Version {
/**
* Full version number
*/
- const VERSION = '4.2.1';
+ const VERSION = '4.2.3';
}
diff --git a/vendor/sabre/http/lib/functions.php b/vendor/sabre/http/lib/functions.php
index 1ec123f2e..d94119623 100644
--- a/vendor/sabre/http/lib/functions.php
+++ b/vendor/sabre/http/lib/functions.php
@@ -79,7 +79,7 @@ function toDate(DateTime $dateTime) {
// We need to clone it, as we don't want to affect the existing
// DateTime.
$dateTime = clone $dateTime;
- $dateTime->setTimeZone(new \DateTimeZone('GMT'));
+ $dateTime->setTimezone(new \DateTimeZone('GMT'));
return $dateTime->format('D, d M Y H:i:s \G\M\T');
}
@@ -216,7 +216,7 @@ function negotiateContentType($acceptHeaderValue, array $availableOptions) {
* Parameters are currently discarded. There's no known prefer value that
* uses them.
*
- * @param string|string[] $header
+ * @param string|string[] $input
* @return array
*/
function parsePrefer($input) {
diff --git a/vendor/sabre/uri/.travis.yml b/vendor/sabre/uri/.travis.yml
index f7d1a0657..75c8270df 100644
--- a/vendor/sabre/uri/.travis.yml
+++ b/vendor/sabre/uri/.travis.yml
@@ -3,8 +3,8 @@ php:
- 5.4
- 5.5
- 5.6
- - hhvm
- 7
+ - 7.1
script:
- ./bin/phpunit --configuration tests/phpunit.xml.dist
diff --git a/vendor/sabre/uri/CHANGELOG.md b/vendor/sabre/uri/CHANGELOG.md
index 9fa510dc2..92aaa7507 100644
--- a/vendor/sabre/uri/CHANGELOG.md
+++ b/vendor/sabre/uri/CHANGELOG.md
@@ -1,6 +1,29 @@
ChangeLog
=========
+1.2.1 (2017-02-20)
+------------------
+
+* #16: Correctly parse urls that are only a fragment `#`.
+
+
+1.2.0 (2016-12-06)
+------------------
+
+* Now throwing `InvalidUriException` if a uri passed to the `parse` function
+ is invalid or could not be parsed.
+* #11: Fix support for URIs that start with a triple slash. PHP's `parse_uri()`
+ doesn't support them, so we now have a pure-php fallback in case it fails.
+* #9: Fix support for relative URI's that have a non-uri encoded colon `:` in
+ them.
+
+
+1.1.1 (2016-10-27)
+------------------
+
+* #10: Correctly support file:// URIs in the build() method. (@yuloh)
+
+
1.1.0 (2016-03-07)
------------------
diff --git a/vendor/sabre/uri/LICENSE b/vendor/sabre/uri/LICENSE
index 9a3a91946..087996be7 100644
--- a/vendor/sabre/uri/LICENSE
+++ b/vendor/sabre/uri/LICENSE
@@ -1,4 +1,4 @@
-Copyright (C) 2014-2016 fruux GmbH (https://fruux.com/)
+Copyright (C) 2014-2017 fruux GmbH (https://fruux.com/)
All rights reserved.
diff --git a/vendor/sabre/uri/README.md b/vendor/sabre/uri/README.md
index 76f55d8e4..aa21bfe06 100644
--- a/vendor/sabre/uri/README.md
+++ b/vendor/sabre/uri/README.md
@@ -25,14 +25,6 @@ Further reading
* [Usage][8]
-Build status
-------------
-
-| branch | status |
-| ------ | ------ |
-| master | [![Build Status](https://travis-ci.org/fruux/sabre-uri.svg?branch=master)](https://travis-ci.org/fruux/sabre-uri) |
-
-
Questions?
----------
diff --git a/vendor/sabre/uri/composer.json b/vendor/sabre/uri/composer.json
index 7b48acb71..49d69e723 100644
--- a/vendor/sabre/uri/composer.json
+++ b/vendor/sabre/uri/composer.json
@@ -32,8 +32,8 @@
}
},
"require-dev": {
- "sabre/cs": "~0.0.1",
- "phpunit/phpunit" : "*"
+ "sabre/cs": "~1.0.0",
+ "phpunit/phpunit" : ">=4.0,<6.0"
},
"config" : {
"bin-dir" : "bin/"
diff --git a/vendor/sabre/uri/lib/InvalidUriException.php b/vendor/sabre/uri/lib/InvalidUriException.php
new file mode 100644
index 000000000..0385fd462
--- /dev/null
+++ b/vendor/sabre/uri/lib/InvalidUriException.php
@@ -0,0 +1,17 @@
+<?php
+
+namespace Sabre\Uri;
+
+/**
+ * Invalid Uri
+ *
+ * This is thrown when an attempt was made to use Sabre\Uri parse a uri that
+ * it could not.
+ *
+ * @copyright Copyright (C) fruux GmbH (https://fruux.com/)
+ * @author Evert Pot (https://evertpot.com/)
+ * @license http://sabre.io/license/
+ */
+class InvalidUriException extends \Exception {
+
+}
diff --git a/vendor/sabre/uri/lib/Version.php b/vendor/sabre/uri/lib/Version.php
index 88678d4d5..fa544538b 100644
--- a/vendor/sabre/uri/lib/Version.php
+++ b/vendor/sabre/uri/lib/Version.php
@@ -14,6 +14,6 @@ class Version {
/**
* Full version number
*/
- const VERSION = '1.1.0';
+ const VERSION = '1.2.1';
}
diff --git a/vendor/sabre/uri/lib/functions.php b/vendor/sabre/uri/lib/functions.php
index 06181aef0..39b4a6f08 100644
--- a/vendor/sabre/uri/lib/functions.php
+++ b/vendor/sabre/uri/lib/functions.php
@@ -45,8 +45,8 @@ function resolve($basePath, $newPath) {
$newParts = [];
$newParts['scheme'] = $pick('scheme');
- $newParts['host'] = $pick('host');
- $newParts['port'] = $pick('port');
+ $newParts['host'] = $pick('host');
+ $newParts['port'] = $pick('port');
$path = '';
if ($delta['path']) {
@@ -193,8 +193,13 @@ function parse($uri) {
$uri
);
+ $result = parse_url($uri);
+ if (!$result) {
+ $result = _parse_fallback($uri);
+ }
+
return
- parse_url($uri) + [
+ $result + [
'scheme' => null,
'host' => null,
'path' => null,
@@ -233,7 +238,7 @@ function build(array $parts) {
$uri = $parts['scheme'] . ':';
}
- if ($authority) {
+ if ($authority || (!empty($parts['scheme']) && $parts['scheme'] === 'file')) {
// No scheme, but there is a host.
$uri .= '//' . $authority;
@@ -280,3 +285,89 @@ function split($path) {
return [null,null];
}
+
+/**
+ * This function is another implementation of parse_url, except this one is
+ * fully written in PHP.
+ *
+ * The reason is that the PHP bug team is not willing to admit that there are
+ * bugs in the parse_url implementation.
+ *
+ * This function is only called if the main parse method fails. It's pretty
+ * crude and probably slow, so the original parse_url is usually preferred.
+ *
+ * @param string $uri
+ * @return array
+ */
+function _parse_fallback($uri) {
+
+ // Normally a URI must be ASCII, however. However, often it's not and
+ // parse_url might corrupt these strings.
+ //
+ // For that reason we take any non-ascii characters from the uri and
+ // uriencode them first.
+ $uri = preg_replace_callback(
+ '/[^[:ascii:]]/u',
+ function($matches) {
+ return rawurlencode($matches[0]);
+ },
+ $uri
+ );
+
+ $result = [
+ 'scheme' => null,
+ 'host' => null,
+ 'port' => null,
+ 'user' => null,
+ 'path' => null,
+ 'fragment' => null,
+ 'query' => null,
+ ];
+
+ if (preg_match('% ^([A-Za-z][A-Za-z0-9+-\.]+): %x', $uri, $matches)) {
+
+ $result['scheme'] = $matches[1];
+ // Take what's left.
+ $uri = substr($uri, strlen($result['scheme']) + 1);
+
+ }
+
+ // Taking off a fragment part
+ if (strpos($uri, '#') !== false) {
+ list($uri, $result['fragment']) = explode('#', $uri, 2);
+ }
+ // Taking off the query part
+ if (strpos($uri, '?') !== false) {
+ list($uri, $result['query']) = explode('?', $uri, 2);
+ }
+
+ if (substr($uri, 0, 3) === '///') {
+ // The triple slash uris are a bit unusual, but we have special handling
+ // for them.
+ $result['path'] = substr($uri, 2);
+ $result['host'] = '';
+ } elseif (substr($uri, 0, 2) === '//') {
+ // Uris that have an authority part.
+ $regex = '
+ %^
+ //
+ (?: (?<user> [^:@]+) (: (?<pass> [^@]+)) @)?
+ (?<host> ( [^:/]* | \[ [^\]]+ \] ))
+ (?: : (?<port> [0-9]+))?
+ (?<path> / .*)?
+ $%x
+ ';
+ if (!preg_match($regex, $uri, $matches)) {
+ throw new InvalidUriException('Invalid, or could not parse URI');
+ }
+ if ($matches['host']) $result['host'] = $matches['host'];
+ if ($matches['port']) $result['port'] = (int)$matches['port'];
+ if (isset($matches['path'])) $result['path'] = $matches['path'];
+ if ($matches['user']) $result['user'] = $matches['user'];
+ if ($matches['pass']) $result['pass'] = $matches['pass'];
+ } else {
+ $result['path'] = $uri;
+ }
+
+ return $result;
+}
diff --git a/vendor/sabre/vobject/.travis.yml b/vendor/sabre/vobject/.travis.yml
index b7266a878..3c5b32157 100644
--- a/vendor/sabre/vobject/.travis.yml
+++ b/vendor/sabre/vobject/.travis.yml
@@ -2,7 +2,8 @@ language: php
php:
- 5.5
- 5.6
- - 7
+ - 7.0
+ - 7.1
sudo: false
diff --git a/vendor/sabre/vobject/CHANGELOG.md b/vendor/sabre/vobject/CHANGELOG.md
index 4c72680f8..c8f4cb4be 100644
--- a/vendor/sabre/vobject/CHANGELOG.md
+++ b/vendor/sabre/vobject/CHANGELOG.md
@@ -1,6 +1,22 @@
ChangeLog
=========
+4.1.2 (2016-12-15)
+------------------
+
+* #340: Support for `BYYEARDAY` recurrence when `FREQ=YEARLY`. (@PHPGangsta)
+* #341: Support for `BYWEEKNO` recurrence when `FREQ=YEARLY`. (@PHPGangsta)
+* Updated to the latest windows timezone data mappings.
+* #344: Auto-detecting more Outlook 365-generated timezone identifiers.
+ (@jpirkey)
+* #348: `FreeBusyGenerator` can now accept streams.
+* Support sabre/xml 1.5 and 2.0.
+* #355: Support `DateTimeInterface` in more places where only `DateTime` was
+ supported. (@gharlan).
+* #351: Fixing an inclusive/exclusive problem with `isInTimeRange` and
+ `fastForward` with all-day events. (@strokyl, thanks you are brilliant).
+
+
4.1.1 (2016-07-15)
------------------
@@ -143,7 +159,7 @@ ChangeLog
and `IntegerValue` to allow PHP 7 compatibility.
-3.5.3 (????-??-??)
+3.5.3 (2016-10-06)
------------------
* #331: Fix dealing with multiple overridden instances falling on the same
diff --git a/vendor/sabre/vobject/bin/fetch_windows_zones.php b/vendor/sabre/vobject/bin/fetch_windows_zones.php
index 1b1fdc37c..3f2a00f7a 100755
--- a/vendor/sabre/vobject/bin/fetch_windows_zones.php
+++ b/vendor/sabre/vobject/bin/fetch_windows_zones.php
@@ -36,7 +36,7 @@ fwrite($f, " *\n");
fwrite($f, " * Last update: " . date(DATE_W3C) . "\n");
fwrite($f, " * Source: " . $windowsZonesUrl . "\n");
fwrite($f, " *\n");
-fwrite($f, " * @copyright Copyright (C) 2011-2015 fruux GmbH (https://fruux.com/).\n");
+fwrite($f, " * @copyright Copyright (C) fruux GmbH (https://fruux.com/).\n");
fwrite($f, " * @license http://sabre.io/license/ Modified BSD License\n");
fwrite($f, " */\n");
fwrite($f, "\n");
diff --git a/vendor/sabre/vobject/composer.json b/vendor/sabre/vobject/composer.json
index bd6348a82..cfa4a712d 100644
--- a/vendor/sabre/vobject/composer.json
+++ b/vendor/sabre/vobject/composer.json
@@ -34,11 +34,11 @@
"require" : {
"php" : ">=5.5",
"ext-mbstring" : "*",
- "sabre/xml" : "~1.1"
+ "sabre/xml" : ">=1.5 <3.0"
},
"require-dev" : {
"phpunit/phpunit" : "*",
- "sabre/cs" : "~0.0.3"
+ "sabre/cs" : "^1.0.0"
},
"suggest" : {
diff --git a/vendor/sabre/vobject/lib/BirthdayCalendarGenerator.php b/vendor/sabre/vobject/lib/BirthdayCalendarGenerator.php
index afa41ab1c..553912249 100644
--- a/vendor/sabre/vobject/lib/BirthdayCalendarGenerator.php
+++ b/vendor/sabre/vobject/lib/BirthdayCalendarGenerator.php
@@ -159,10 +159,10 @@ class BirthdayCalendarGenerator {
// Create event.
$event = $calendar->add('VEVENT', [
- 'SUMMARY' => sprintf($this->format, $object->FN->getValue()),
- 'DTSTART' => new \DateTime($object->BDAY->getValue()),
- 'RRULE' => 'FREQ=YEARLY',
- 'TRANSP' => 'TRANSPARENT',
+ 'SUMMARY' => sprintf($this->format, $object->FN->getValue()),
+ 'DTSTART' => new \DateTime($object->BDAY->getValue()),
+ 'RRULE' => 'FREQ=YEARLY',
+ 'TRANSP' => 'TRANSPARENT',
]);
// add VALUE=date
diff --git a/vendor/sabre/vobject/lib/Component/VAlarm.php b/vendor/sabre/vobject/lib/Component/VAlarm.php
index 8cbd572e6..faa8a5e74 100644
--- a/vendor/sabre/vobject/lib/Component/VAlarm.php
+++ b/vendor/sabre/vobject/lib/Component/VAlarm.php
@@ -2,10 +2,10 @@
namespace Sabre\VObject\Component;
+use DateTimeImmutable;
+use DateTimeInterface;
use Sabre\VObject;
use Sabre\VObject\InvalidDataException;
-use DateTimeInterface;
-use DateTimeImmutable;
/**
* VAlarm component.
diff --git a/vendor/sabre/vobject/lib/Component/VCalendar.php b/vendor/sabre/vobject/lib/Component/VCalendar.php
index 988db9dc2..1b3137d38 100644
--- a/vendor/sabre/vobject/lib/Component/VCalendar.php
+++ b/vendor/sabre/vobject/lib/Component/VCalendar.php
@@ -6,10 +6,10 @@ use DateTimeInterface;
use DateTimeZone;
use Sabre\VObject;
use Sabre\VObject\Component;
+use Sabre\VObject\InvalidDataException;
use Sabre\VObject\Property;
use Sabre\VObject\Recur\EventIterator;
use Sabre\VObject\Recur\NoInstancesException;
-use Sabre\VObject\InvalidDataException;
/**
* The VCalendar component.
@@ -54,21 +54,21 @@ class VCalendar extends VObject\Document {
* @var array
*/
static $valueMap = [
- 'BINARY' => 'Sabre\\VObject\\Property\\Binary',
- 'BOOLEAN' => 'Sabre\\VObject\\Property\\Boolean',
- 'CAL-ADDRESS' => 'Sabre\\VObject\\Property\\ICalendar\\CalAddress',
- 'DATE' => 'Sabre\\VObject\\Property\\ICalendar\\Date',
- 'DATE-TIME' => 'Sabre\\VObject\\Property\\ICalendar\\DateTime',
- 'DURATION' => 'Sabre\\VObject\\Property\\ICalendar\\Duration',
- 'FLOAT' => 'Sabre\\VObject\\Property\\FloatValue',
- 'INTEGER' => 'Sabre\\VObject\\Property\\IntegerValue',
- 'PERIOD' => 'Sabre\\VObject\\Property\\ICalendar\\Period',
- 'RECUR' => 'Sabre\\VObject\\Property\\ICalendar\\Recur',
- 'TEXT' => 'Sabre\\VObject\\Property\\Text',
- 'TIME' => 'Sabre\\VObject\\Property\\Time',
- 'UNKNOWN' => 'Sabre\\VObject\\Property\\Unknown', // jCard / jCal-only.
- 'URI' => 'Sabre\\VObject\\Property\\Uri',
- 'UTC-OFFSET' => 'Sabre\\VObject\\Property\\UtcOffset',
+ 'BINARY' => 'Sabre\\VObject\\Property\\Binary',
+ 'BOOLEAN' => 'Sabre\\VObject\\Property\\Boolean',
+ 'CAL-ADDRESS' => 'Sabre\\VObject\\Property\\ICalendar\\CalAddress',
+ 'DATE' => 'Sabre\\VObject\\Property\\ICalendar\\Date',
+ 'DATE-TIME' => 'Sabre\\VObject\\Property\\ICalendar\\DateTime',
+ 'DURATION' => 'Sabre\\VObject\\Property\\ICalendar\\Duration',
+ 'FLOAT' => 'Sabre\\VObject\\Property\\FloatValue',
+ 'INTEGER' => 'Sabre\\VObject\\Property\\IntegerValue',
+ 'PERIOD' => 'Sabre\\VObject\\Property\\ICalendar\\Period',
+ 'RECUR' => 'Sabre\\VObject\\Property\\ICalendar\\Recur',
+ 'TEXT' => 'Sabre\\VObject\\Property\\Text',
+ 'TIME' => 'Sabre\\VObject\\Property\\Time',
+ 'UNKNOWN' => 'Sabre\\VObject\\Property\\Unknown', // jCard / jCal-only.
+ 'URI' => 'Sabre\\VObject\\Property\\Uri',
+ 'UTC-OFFSET' => 'Sabre\\VObject\\Property\\UtcOffset',
];
/**
@@ -78,40 +78,40 @@ class VCalendar extends VObject\Document {
*/
static $propertyMap = [
// Calendar properties
- 'CALSCALE' => 'Sabre\\VObject\\Property\\FlatText',
- 'METHOD' => 'Sabre\\VObject\\Property\\FlatText',
- 'PRODID' => 'Sabre\\VObject\\Property\\FlatText',
- 'VERSION' => 'Sabre\\VObject\\Property\\FlatText',
+ 'CALSCALE' => 'Sabre\\VObject\\Property\\FlatText',
+ 'METHOD' => 'Sabre\\VObject\\Property\\FlatText',
+ 'PRODID' => 'Sabre\\VObject\\Property\\FlatText',
+ 'VERSION' => 'Sabre\\VObject\\Property\\FlatText',
// Component properties
- 'ATTACH' => 'Sabre\\VObject\\Property\\Uri',
- 'CATEGORIES' => 'Sabre\\VObject\\Property\\Text',
- 'CLASS' => 'Sabre\\VObject\\Property\\FlatText',
- 'COMMENT' => 'Sabre\\VObject\\Property\\FlatText',
- 'DESCRIPTION' => 'Sabre\\VObject\\Property\\FlatText',
- 'GEO' => 'Sabre\\VObject\\Property\\FloatValue',
- 'LOCATION' => 'Sabre\\VObject\\Property\\FlatText',
- 'PERCENT-COMPLETE' => 'Sabre\\VObject\\Property\\IntegerValue',
- 'PRIORITY' => 'Sabre\\VObject\\Property\\IntegerValue',
- 'RESOURCES' => 'Sabre\\VObject\\Property\\Text',
- 'STATUS' => 'Sabre\\VObject\\Property\\FlatText',
- 'SUMMARY' => 'Sabre\\VObject\\Property\\FlatText',
+ 'ATTACH' => 'Sabre\\VObject\\Property\\Uri',
+ 'CATEGORIES' => 'Sabre\\VObject\\Property\\Text',
+ 'CLASS' => 'Sabre\\VObject\\Property\\FlatText',
+ 'COMMENT' => 'Sabre\\VObject\\Property\\FlatText',
+ 'DESCRIPTION' => 'Sabre\\VObject\\Property\\FlatText',
+ 'GEO' => 'Sabre\\VObject\\Property\\FloatValue',
+ 'LOCATION' => 'Sabre\\VObject\\Property\\FlatText',
+ 'PERCENT-COMPLETE' => 'Sabre\\VObject\\Property\\IntegerValue',
+ 'PRIORITY' => 'Sabre\\VObject\\Property\\IntegerValue',
+ 'RESOURCES' => 'Sabre\\VObject\\Property\\Text',
+ 'STATUS' => 'Sabre\\VObject\\Property\\FlatText',
+ 'SUMMARY' => 'Sabre\\VObject\\Property\\FlatText',
// Date and Time Component Properties
- 'COMPLETED' => 'Sabre\\VObject\\Property\\ICalendar\\DateTime',
- 'DTEND' => 'Sabre\\VObject\\Property\\ICalendar\\DateTime',
- 'DUE' => 'Sabre\\VObject\\Property\\ICalendar\\DateTime',
- 'DTSTART' => 'Sabre\\VObject\\Property\\ICalendar\\DateTime',
- 'DURATION' => 'Sabre\\VObject\\Property\\ICalendar\\Duration',
- 'FREEBUSY' => 'Sabre\\VObject\\Property\\ICalendar\\Period',
- 'TRANSP' => 'Sabre\\VObject\\Property\\FlatText',
+ 'COMPLETED' => 'Sabre\\VObject\\Property\\ICalendar\\DateTime',
+ 'DTEND' => 'Sabre\\VObject\\Property\\ICalendar\\DateTime',
+ 'DUE' => 'Sabre\\VObject\\Property\\ICalendar\\DateTime',
+ 'DTSTART' => 'Sabre\\VObject\\Property\\ICalendar\\DateTime',
+ 'DURATION' => 'Sabre\\VObject\\Property\\ICalendar\\Duration',
+ 'FREEBUSY' => 'Sabre\\VObject\\Property\\ICalendar\\Period',
+ 'TRANSP' => 'Sabre\\VObject\\Property\\FlatText',
// Time Zone Component Properties
- 'TZID' => 'Sabre\\VObject\\Property\\FlatText',
- 'TZNAME' => 'Sabre\\VObject\\Property\\FlatText',
- 'TZOFFSETFROM' => 'Sabre\\VObject\\Property\\UtcOffset',
- 'TZOFFSETTO' => 'Sabre\\VObject\\Property\\UtcOffset',
- 'TZURL' => 'Sabre\\VObject\\Property\\Uri',
+ 'TZID' => 'Sabre\\VObject\\Property\\FlatText',
+ 'TZNAME' => 'Sabre\\VObject\\Property\\FlatText',
+ 'TZOFFSETFROM' => 'Sabre\\VObject\\Property\\UtcOffset',
+ 'TZOFFSETTO' => 'Sabre\\VObject\\Property\\UtcOffset',
+ 'TZURL' => 'Sabre\\VObject\\Property\\Uri',
// Relationship Component Properties
'ATTENDEE' => 'Sabre\\VObject\\Property\\ICalendar\\CalAddress',
@@ -123,15 +123,15 @@ class VCalendar extends VObject\Document {
'UID' => 'Sabre\\VObject\\Property\\FlatText',
// Recurrence Component Properties
- 'EXDATE' => 'Sabre\\VObject\\Property\\ICalendar\\DateTime',
- 'RDATE' => 'Sabre\\VObject\\Property\\ICalendar\\DateTime',
- 'RRULE' => 'Sabre\\VObject\\Property\\ICalendar\\Recur',
- 'EXRULE' => 'Sabre\\VObject\\Property\\ICalendar\\Recur', // Deprecated since rfc5545
+ 'EXDATE' => 'Sabre\\VObject\\Property\\ICalendar\\DateTime',
+ 'RDATE' => 'Sabre\\VObject\\Property\\ICalendar\\DateTime',
+ 'RRULE' => 'Sabre\\VObject\\Property\\ICalendar\\Recur',
+ 'EXRULE' => 'Sabre\\VObject\\Property\\ICalendar\\Recur', // Deprecated since rfc5545
// Alarm Component Properties
- 'ACTION' => 'Sabre\\VObject\\Property\\FlatText',
- 'REPEAT' => 'Sabre\\VObject\\Property\\IntegerValue',
- 'TRIGGER' => 'Sabre\\VObject\\Property\\ICalendar\\Duration',
+ 'ACTION' => 'Sabre\\VObject\\Property\\FlatText',
+ 'REPEAT' => 'Sabre\\VObject\\Property\\IntegerValue',
+ 'TRIGGER' => 'Sabre\\VObject\\Property\\ICalendar\\Duration',
// Change Management Component Properties
'CREATED' => 'Sabre\\VObject\\Property\\ICalendar\\DateTime',
@@ -143,13 +143,13 @@ class VCalendar extends VObject\Document {
'REQUEST-STATUS' => 'Sabre\\VObject\\Property\\Text',
// Additions from draft-daboo-valarm-extensions-04
- 'ALARM-AGENT' => 'Sabre\\VObject\\Property\\Text',
- 'ACKNOWLEDGED' => 'Sabre\\VObject\\Property\\ICalendar\\DateTime',
- 'PROXIMITY' => 'Sabre\\VObject\\Property\\Text',
- 'DEFAULT-ALARM' => 'Sabre\\VObject\\Property\\Boolean',
+ 'ALARM-AGENT' => 'Sabre\\VObject\\Property\\Text',
+ 'ACKNOWLEDGED' => 'Sabre\\VObject\\Property\\ICalendar\\DateTime',
+ 'PROXIMITY' => 'Sabre\\VObject\\Property\\Text',
+ 'DEFAULT-ALARM' => 'Sabre\\VObject\\Property\\Boolean',
// Additions from draft-daboo-calendar-availability-05
- 'BUSYTYPE' => 'Sabre\\VObject\\Property\\Text',
+ 'BUSYTYPE' => 'Sabre\\VObject\\Property\\Text',
];
diff --git a/vendor/sabre/vobject/lib/Component/VCard.php b/vendor/sabre/vobject/lib/Component/VCard.php
index 3c05191a9..4f620de10 100644
--- a/vendor/sabre/vobject/lib/Component/VCard.php
+++ b/vendor/sabre/vobject/lib/Component/VCard.php
@@ -74,19 +74,19 @@ class VCard extends VObject\Document {
static $propertyMap = [
// vCard 2.1 properties and up
- 'N' => 'Sabre\\VObject\\Property\\Text',
- 'FN' => 'Sabre\\VObject\\Property\\FlatText',
- 'PHOTO' => 'Sabre\\VObject\\Property\\Binary',
- 'BDAY' => 'Sabre\\VObject\\Property\\VCard\\DateAndOrTime',
- 'ADR' => 'Sabre\\VObject\\Property\\Text',
- 'LABEL' => 'Sabre\\VObject\\Property\\FlatText', // Removed in vCard 4.0
- 'TEL' => 'Sabre\\VObject\\Property\\FlatText',
- 'EMAIL' => 'Sabre\\VObject\\Property\\FlatText',
- 'MAILER' => 'Sabre\\VObject\\Property\\FlatText', // Removed in vCard 4.0
- 'GEO' => 'Sabre\\VObject\\Property\\FlatText',
- 'TITLE' => 'Sabre\\VObject\\Property\\FlatText',
- 'ROLE' => 'Sabre\\VObject\\Property\\FlatText',
- 'LOGO' => 'Sabre\\VObject\\Property\\Binary',
+ 'N' => 'Sabre\\VObject\\Property\\Text',
+ 'FN' => 'Sabre\\VObject\\Property\\FlatText',
+ 'PHOTO' => 'Sabre\\VObject\\Property\\Binary',
+ 'BDAY' => 'Sabre\\VObject\\Property\\VCard\\DateAndOrTime',
+ 'ADR' => 'Sabre\\VObject\\Property\\Text',
+ 'LABEL' => 'Sabre\\VObject\\Property\\FlatText', // Removed in vCard 4.0
+ 'TEL' => 'Sabre\\VObject\\Property\\FlatText',
+ 'EMAIL' => 'Sabre\\VObject\\Property\\FlatText',
+ 'MAILER' => 'Sabre\\VObject\\Property\\FlatText', // Removed in vCard 4.0
+ 'GEO' => 'Sabre\\VObject\\Property\\FlatText',
+ 'TITLE' => 'Sabre\\VObject\\Property\\FlatText',
+ 'ROLE' => 'Sabre\\VObject\\Property\\FlatText',
+ 'LOGO' => 'Sabre\\VObject\\Property\\Binary',
// 'AGENT' => 'Sabre\\VObject\\Property\\', // Todo: is an embedded vCard. Probably rare, so
// not supported at the moment
'ORG' => 'Sabre\\VObject\\Property\\Text',
@@ -107,13 +107,13 @@ class VCard extends VObject\Document {
'CLASS' => 'Sabre\\VObject\\Property\\FlatText', // Removed in vCard 4.0
// rfc2739 properties
- 'FBURL' => 'Sabre\\VObject\\Property\\Uri',
- 'CAPURI' => 'Sabre\\VObject\\Property\\Uri',
- 'CALURI' => 'Sabre\\VObject\\Property\\Uri',
- 'CALADRURI' => 'Sabre\\VObject\\Property\\Uri',
+ 'FBURL' => 'Sabre\\VObject\\Property\\Uri',
+ 'CAPURI' => 'Sabre\\VObject\\Property\\Uri',
+ 'CALURI' => 'Sabre\\VObject\\Property\\Uri',
+ 'CALADRURI' => 'Sabre\\VObject\\Property\\Uri',
// rfc4770 properties
- 'IMPP' => 'Sabre\\VObject\\Property\\Uri',
+ 'IMPP' => 'Sabre\\VObject\\Property\\Uri',
// vCard 4.0 properties
'SOURCE' => 'Sabre\\VObject\\Property\\Uri',
@@ -127,9 +127,9 @@ class VCard extends VObject\Document {
'RELATED' => 'Sabre\\VObject\\Property\\Uri',
// rfc6474 properties
- 'BIRTHPLACE' => 'Sabre\\VObject\\Property\\FlatText',
- 'DEATHPLACE' => 'Sabre\\VObject\\Property\\FlatText',
- 'DEATHDATE' => 'Sabre\\VObject\\Property\\VCard\\DateAndOrTime',
+ 'BIRTHPLACE' => 'Sabre\\VObject\\Property\\FlatText',
+ 'DEATHPLACE' => 'Sabre\\VObject\\Property\\FlatText',
+ 'DEATHDATE' => 'Sabre\\VObject\\Property\\VCard\\DateAndOrTime',
// rfc6715 properties
'EXPERTISE' => 'Sabre\\VObject\\Property\\FlatText',
@@ -368,7 +368,7 @@ class VCard extends VObject\Document {
// FN is commented out, because it's already handled by the
// validate function, which may also try to repair it.
// 'FN' => '+',
- 'UID' => '?',
+ 'UID' => '?',
];
}
diff --git a/vendor/sabre/vobject/lib/DateTimeParser.php b/vendor/sabre/vobject/lib/DateTimeParser.php
index 443bbb660..f9a802d25 100644
--- a/vendor/sabre/vobject/lib/DateTimeParser.php
+++ b/vendor/sabre/vobject/lib/DateTimeParser.php
@@ -2,9 +2,9 @@
namespace Sabre\VObject;
+use DateInterval;
use DateTimeImmutable;
use DateTimeZone;
-use DateInterval;
/**
* DateTimeParser.
@@ -509,7 +509,7 @@ class DateTimeParser {
static function parseVCardDateAndOrTime($date) {
// \d{8}|\d{4}-\d\d|--\d\d(\d\d)?|---\d\d
- $valueDate = '/^(?J)(?:' .
+ $valueDate = '/^(?J)(?:' .
'(?<year>\d{4})(?<month>\d\d)(?<date>\d\d)' .
'|(?<year>\d{4})-(?<month>\d\d)' .
'|--(?<month>\d\d)(?<date>\d\d)?' .
@@ -517,7 +517,7 @@ class DateTimeParser {
')$/';
// (\d\d(\d\d(\d\d)?)?|-\d\d(\d\d)?|--\d\d)(Z|[+\-]\d\d(\d\d)?)?
- $valueTime = '/^(?J)(?:' .
+ $valueTime = '/^(?J)(?:' .
'((?<hour>\d\d)((?<minute>\d\d)(?<second>\d\d)?)?' .
'|-(?<minute>\d\d)(?<second>\d\d)?' .
'|--(?<second>\d\d))' .
@@ -554,12 +554,12 @@ class DateTimeParser {
];
// The $valueDateTime expression has a bug with (?J) so we simulate it.
- $parts['date0'] = &$parts['date'];
- $parts['date1'] = &$parts['date'];
- $parts['date2'] = &$parts['date'];
+ $parts['date0'] = &$parts['date'];
+ $parts['date1'] = &$parts['date'];
+ $parts['date2'] = &$parts['date'];
$parts['month0'] = &$parts['month'];
$parts['month1'] = &$parts['month'];
- $parts['year0'] = &$parts['year'];
+ $parts['year0'] = &$parts['year'];
foreach ($parts as $part => &$value) {
if (!empty($matches[$part])) {
diff --git a/vendor/sabre/vobject/lib/FreeBusyGenerator.php b/vendor/sabre/vobject/lib/FreeBusyGenerator.php
index e33621090..e30b136c4 100644
--- a/vendor/sabre/vobject/lib/FreeBusyGenerator.php
+++ b/vendor/sabre/vobject/lib/FreeBusyGenerator.php
@@ -2,8 +2,8 @@
namespace Sabre\VObject;
-use DateTimeInterface;
use DateTimeImmutable;
+use DateTimeInterface;
use DateTimeZone;
use Sabre\VObject\Component\VCalendar;
use Sabre\VObject\Recur\EventIterator;
@@ -152,7 +152,7 @@ class FreeBusyGenerator {
$this->objects = [];
foreach ($objects as $object) {
- if (is_string($object)) {
+ if (is_string($object) || is_resource($object)) {
$this->objects[] = Reader::read($object);
} elseif ($object instanceof Component) {
$this->objects[] = $object;
@@ -292,7 +292,7 @@ class FreeBusyGenerator {
list($higherStart, $higherEnd) = $higherVavail->getEffectiveStartEnd();
if (
(is_null($higherStart) || $higherStart < $compStart) &&
- (is_null($higherEnd) || $higherEnd > $compEnd)
+ (is_null($higherEnd) || $higherEnd > $compEnd)
) {
// Component is fully covered by a higher priority
diff --git a/vendor/sabre/vobject/lib/Parameter.php b/vendor/sabre/vobject/lib/Parameter.php
index 270643eab..a99a33eec 100644
--- a/vendor/sabre/vobject/lib/Parameter.php
+++ b/vendor/sabre/vobject/lib/Parameter.php
@@ -2,8 +2,8 @@
namespace Sabre\VObject;
-use Sabre\Xml;
use ArrayIterator;
+use Sabre\Xml;
/**
* VObject Parameter.
diff --git a/vendor/sabre/vobject/lib/Parser/Json.php b/vendor/sabre/vobject/lib/Parser/Json.php
index 370c981a8..a77258a2e 100644
--- a/vendor/sabre/vobject/lib/Parser/Json.php
+++ b/vendor/sabre/vobject/lib/Parser/Json.php
@@ -4,8 +4,8 @@ namespace Sabre\VObject\Parser;
use Sabre\VObject\Component\VCalendar;
use Sabre\VObject\Component\VCard;
-use Sabre\VObject\ParseException;
use Sabre\VObject\EofException;
+use Sabre\VObject\ParseException;
/**
* Json Parser.
diff --git a/vendor/sabre/vobject/lib/Parser/MimeDir.php b/vendor/sabre/vobject/lib/Parser/MimeDir.php
index 6a7f9317b..fa75a1a3b 100644
--- a/vendor/sabre/vobject/lib/Parser/MimeDir.php
+++ b/vendor/sabre/vobject/lib/Parser/MimeDir.php
@@ -2,12 +2,12 @@
namespace Sabre\VObject\Parser;
-use Sabre\VObject\ParseException;
-use Sabre\VObject\EofException;
use Sabre\VObject\Component;
use Sabre\VObject\Component\VCalendar;
use Sabre\VObject\Component\VCard;
use Sabre\VObject\Document;
+use Sabre\VObject\EofException;
+use Sabre\VObject\ParseException;
/**
* MimeDir parser.
diff --git a/vendor/sabre/vobject/lib/Parser/XML.php b/vendor/sabre/vobject/lib/Parser/XML.php
index 060a7fe2e..5ac423984 100644
--- a/vendor/sabre/vobject/lib/Parser/XML.php
+++ b/vendor/sabre/vobject/lib/Parser/XML.php
@@ -20,7 +20,7 @@ use Sabre\Xml as SabreXml;
*/
class XML extends Parser {
- const XCAL_NAMESPACE = 'urn:ietf:params:xml:ns:icalendar-2.0';
+ const XCAL_NAMESPACE = 'urn:ietf:params:xml:ns:icalendar-2.0';
const XCARD_NAMESPACE = 'urn:ietf:params:xml:ns:vcard-4.0';
/**
@@ -100,7 +100,7 @@ class XML extends Parser {
foreach ($this->input['value'] as &$vCard) {
$this->root = new VCard(['version' => '4.0'], false);
- $this->pointer = &$vCard;
+ $this->pointer = &$vCard;
$this->parseVCardComponents($this->root);
// We just parse the first <vcard /> element.
@@ -172,10 +172,10 @@ class XML extends Parser {
list($namespace, $tagName) = SabreXml\Service::parseClarkNotation($xmlProperty['name']);
- $propertyName = $tagName;
- $propertyValue = [];
+ $propertyName = $tagName;
+ $propertyValue = [];
$propertyParameters = [];
- $propertyType = 'text';
+ $propertyType = 'text';
// A property which is not part of the standard.
if ($namespace !== self::XCAL_NAMESPACE
@@ -253,8 +253,8 @@ class XML extends Parser {
switch ($propertyNameExtended) {
case 'xcal:geo':
- $propertyType = 'float';
- $propertyValue['latitude'] = 0;
+ $propertyType = 'float';
+ $propertyValue['latitude'] = 0;
$propertyValue['longitude'] = 0;
foreach ($xmlProperty['value'] as $xmlRequestChild) {
@@ -296,7 +296,7 @@ class XML extends Parser {
if ('period' === $tagName) {
$propertyParameters['value'] = 'PERIOD';
- $propertyValue[] = implode('/', $specialChild['value']);
+ $propertyValue[] = implode('/', $specialChild['value']);
}
else {
@@ -306,7 +306,7 @@ class XML extends Parser {
break;
default:
- $propertyType = static::getTagName($xmlProperty['value'][0]['name']);
+ $propertyType = static::getTagName($xmlProperty['value'][0]['name']);
foreach ($xmlProperty['value'] as $value) {
$propertyValue[] = $value['value'];
@@ -343,7 +343,7 @@ class XML extends Parser {
foreach ($components as $component) {
- $componentName = static::getTagName($component['name']);
+ $componentName = static::getTagName($component['name']);
$currentComponent = $this->root->createComponent(
$componentName,
null,
@@ -404,7 +404,7 @@ class XML extends Parser {
$reader->elementMap['{' . self::XCAL_NAMESPACE . '}recur']
= 'Sabre\VObject\Parser\XML\Element\KeyValue';
$reader->xml($input);
- $input = $reader->parse();
+ $input = $reader->parse();
}
diff --git a/vendor/sabre/vobject/lib/Property/ICalendar/Duration.php b/vendor/sabre/vobject/lib/Property/ICalendar/Duration.php
index 66d366960..7b7e1ce8e 100644
--- a/vendor/sabre/vobject/lib/Property/ICalendar/Duration.php
+++ b/vendor/sabre/vobject/lib/Property/ICalendar/Duration.php
@@ -2,8 +2,8 @@
namespace Sabre\VObject\Property\ICalendar;
-use Sabre\VObject\Property;
use Sabre\VObject\DateTimeParser;
+use Sabre\VObject\Property;
/**
* Duration property.
diff --git a/vendor/sabre/vobject/lib/Property/ICalendar/Period.php b/vendor/sabre/vobject/lib/Property/ICalendar/Period.php
index a4561d929..d35b425aa 100644
--- a/vendor/sabre/vobject/lib/Property/ICalendar/Period.php
+++ b/vendor/sabre/vobject/lib/Property/ICalendar/Period.php
@@ -2,8 +2,8 @@
namespace Sabre\VObject\Property\ICalendar;
-use Sabre\VObject\Property;
use Sabre\VObject\DateTimeParser;
+use Sabre\VObject\Property;
use Sabre\Xml;
/**
diff --git a/vendor/sabre/vobject/lib/Property/ICalendar/Recur.php b/vendor/sabre/vobject/lib/Property/ICalendar/Recur.php
index 8392a5cc1..434b77088 100644
--- a/vendor/sabre/vobject/lib/Property/ICalendar/Recur.php
+++ b/vendor/sabre/vobject/lib/Property/ICalendar/Recur.php
@@ -287,6 +287,54 @@ class Recur extends Property {
}
}
}
+ // if there is no valid entry left, remove the whole value
+ if (is_array($value) && empty($values[$key])) {
+ unset($values[$key]);
+ }
+ } elseif ($key == 'BYWEEKNO') {
+ $byWeekNo = (array)$value;
+ foreach ($byWeekNo as $i => $v) {
+ if (!is_numeric($v) || (int)$v < -53 || (int)$v == 0 || (int)$v > 53) {
+ $warnings[] = [
+ 'level' => $repair ? 1 : 3,
+ 'message' => 'BYWEEKNO in RRULE must have value(s) from -53 to -1, or 1 to 53!',
+ 'node' => $this
+ ];
+ if ($repair) {
+ if (is_array($value)) {
+ unset($values[$key][$i]);
+ } else {
+ unset($values[$key]);
+ }
+ }
+ }
+ }
+ // if there is no valid entry left, remove the whole value
+ if (is_array($value) && empty($values[$key])) {
+ unset($values[$key]);
+ }
+ } elseif ($key == 'BYYEARDAY') {
+ $byYearDay = (array)$value;
+ foreach ($byYearDay as $i => $v) {
+ if (!is_numeric($v) || (int)$v < -366 || (int)$v == 0 || (int)$v > 366) {
+ $warnings[] = [
+ 'level' => $repair ? 1 : 3,
+ 'message' => 'BYYEARDAY in RRULE must have value(s) from -366 to -1, or 1 to 366!',
+ 'node' => $this
+ ];
+ if ($repair) {
+ if (is_array($value)) {
+ unset($values[$key][$i]);
+ } else {
+ unset($values[$key]);
+ }
+ }
+ }
+ }
+ // if there is no valid entry left, remove the whole value
+ if (is_array($value) && empty($values[$key])) {
+ unset($values[$key]);
+ }
}
}
diff --git a/vendor/sabre/vobject/lib/Property/Text.php b/vendor/sabre/vobject/lib/Property/Text.php
index abc17563f..476dcde4d 100644
--- a/vendor/sabre/vobject/lib/Property/Text.php
+++ b/vendor/sabre/vobject/lib/Property/Text.php
@@ -2,10 +2,10 @@
namespace Sabre\VObject\Property;
-use Sabre\VObject\Property;
use Sabre\VObject\Component;
-use Sabre\VObject\Parser\MimeDir;
use Sabre\VObject\Document;
+use Sabre\VObject\Parser\MimeDir;
+use Sabre\VObject\Property;
use Sabre\Xml;
/**
diff --git a/vendor/sabre/vobject/lib/Property/Uri.php b/vendor/sabre/vobject/lib/Property/Uri.php
index 58e676e60..88fcfaab8 100644
--- a/vendor/sabre/vobject/lib/Property/Uri.php
+++ b/vendor/sabre/vobject/lib/Property/Uri.php
@@ -2,8 +2,8 @@
namespace Sabre\VObject\Property;
-use Sabre\VObject\Property;
use Sabre\VObject\Parameter;
+use Sabre\VObject\Property;
/**
* URI property.
diff --git a/vendor/sabre/vobject/lib/Property/VCard/DateAndOrTime.php b/vendor/sabre/vobject/lib/Property/VCard/DateAndOrTime.php
index 650e19cbf..3b4ae3bb5 100644
--- a/vendor/sabre/vobject/lib/Property/VCard/DateAndOrTime.php
+++ b/vendor/sabre/vobject/lib/Property/VCard/DateAndOrTime.php
@@ -2,9 +2,9 @@
namespace Sabre\VObject\Property\VCard;
-use DateTimeInterface;
-use DateTimeImmutable;
use DateTime;
+use DateTimeImmutable;
+use DateTimeInterface;
use Sabre\VObject\DateTimeParser;
use Sabre\VObject\InvalidDataException;
use Sabre\VObject\Property;
@@ -45,7 +45,7 @@ class DateAndOrTime extends Property {
/**
* Sets a multi-valued property.
*
- * You may also specify DateTime objects here.
+ * You may also specify DateTimeInterface objects here.
*
* @param array $parts
*
@@ -56,7 +56,7 @@ class DateAndOrTime extends Property {
if (count($parts) > 1) {
throw new \InvalidArgumentException('Only one value allowed');
}
- if (isset($parts[0]) && $parts[0] instanceof \DateTime) {
+ if (isset($parts[0]) && $parts[0] instanceof DateTimeInterface) {
$this->setDateTime($parts[0]);
} else {
parent::setParts($parts);
@@ -69,15 +69,15 @@ class DateAndOrTime extends Property {
*
* This may be either a single, or multiple strings in an array.
*
- * Instead of strings, you may also use DateTime here.
+ * Instead of strings, you may also use DateTimeInterface here.
*
- * @param string|array|\DateTime $value
+ * @param string|array|DateTimeInterface $value
*
* @return void
*/
function setValue($value) {
- if ($value instanceof \DateTime) {
+ if ($value instanceof DateTimeInterface) {
$this->setDateTime($value);
} else {
parent::setValue($value);
@@ -261,8 +261,8 @@ class DateAndOrTime extends Property {
protected function xmlSerializeValue(Xml\Writer $writer) {
$valueType = strtolower($this->getValueType());
- $parts = DateTimeParser::parseVCardDateAndOrTime($this->getValue());
- $value = '';
+ $parts = DateTimeParser::parseVCardDateAndOrTime($this->getValue());
+ $value = '';
// $d = defined
$d = function($part) use ($parts) {
@@ -280,7 +280,7 @@ class DateAndOrTime extends Property {
// value-date = element date {
// xsd:string { pattern = "\d{8}|\d{4}-\d\d|--\d\d(\d\d)?|---\d\d" }
// }
- if (($d('year') || $d('month') || $d('date'))
+ if (($d('year') || $d('month') || $d('date'))
&& (!$d('hour') && !$d('minute') && !$d('second') && !$d('timezone'))) {
if ($d('year') && $d('month') && $d('date')) {
@@ -298,8 +298,8 @@ class DateAndOrTime extends Property {
// xsd:string { pattern = "(\d\d(\d\d(\d\d)?)?|-\d\d(\d\d?)|--\d\d)"
// ~ "(Z|[+\-]\d\d(\d\d)?)?" }
// }
- } elseif ((!$d('year') && !$d('month') && !$d('date'))
- && ($d('hour') || $d('minute') || $d('second'))) {
+ } elseif ((!$d('year') && !$d('month') && !$d('date'))
+ && ($d('hour') || $d('minute') || $d('second'))) {
if ($d('hour')) {
$value .= $r('hour') . $r('minute') . $r('second');
diff --git a/vendor/sabre/vobject/lib/Recur/EventIterator.php b/vendor/sabre/vobject/lib/Recur/EventIterator.php
index f91c336bc..d313305a0 100644
--- a/vendor/sabre/vobject/lib/Recur/EventIterator.php
+++ b/vendor/sabre/vobject/lib/Recur/EventIterator.php
@@ -2,9 +2,9 @@
namespace Sabre\VObject\Recur;
-use DateTimeZone;
use DateTimeImmutable;
use DateTimeInterface;
+use DateTimeZone;
use InvalidArgumentException;
use Sabre\VObject\Component;
use Sabre\VObject\Component\VEvent;
@@ -43,6 +43,8 @@ use Sabre\VObject\Settings;
* * BYSETPOS
* * FREQ=YEARLY
* * BYMONTH
+ * * BYYEARDAY
+ * * BYWEEKNO
* * BYMONTHDAY (only if BYMONTH is also set)
* * BYDAY (only if BYMONTH is also set)
*
@@ -407,7 +409,7 @@ class EventIterator implements \Iterator {
*/
function fastForward(DateTimeInterface $dateTime) {
- while ($this->valid() && $this->getDtEnd() < $dateTime) {
+ while ($this->valid() && $this->getDtEnd() <= $dateTime) {
$this->next();
}
diff --git a/vendor/sabre/vobject/lib/Recur/RRuleIterator.php b/vendor/sabre/vobject/lib/Recur/RRuleIterator.php
index 4c89f3ce4..20f34ef42 100644
--- a/vendor/sabre/vobject/lib/Recur/RRuleIterator.php
+++ b/vendor/sabre/vobject/lib/Recur/RRuleIterator.php
@@ -2,8 +2,8 @@
namespace Sabre\VObject\Recur;
-use DateTimeInterface;
use DateTimeImmutable;
+use DateTimeInterface;
use Iterator;
use Sabre\VObject\DateTimeParser;
use Sabre\VObject\InvalidDataException;
@@ -374,8 +374,8 @@ class RRuleIterator implements Iterator {
$currentHour = $this->currentDate->format('G');
} while (
- ($this->byDay && !in_array($currentDay, $recurrenceDays)) ||
- ($this->byHour && !in_array($currentHour, $recurrenceHours)) ||
+ ($this->byDay && !in_array($currentDay, $recurrenceDays)) ||
+ ($this->byHour && !in_array($currentHour, $recurrenceHours)) ||
($this->byMonth && !in_array($currentMonth, $recurrenceMonths))
);
@@ -537,6 +537,83 @@ class RRuleIterator implements Iterator {
}
+ if ($this->byWeekNo !== null) { // byWeekNo is an array with values from -53 to -1, or 1 to 53
+ $dayOffsets = [];
+ if ($this->byDay) {
+ foreach ($this->byDay as $byDay) {
+ $dayOffsets[] = $this->dayMap[$byDay];
+ }
+ } else { // default is Monday
+ $dayOffsets[] = 1;
+ }
+
+ $currentYear = $this->currentDate->format('Y');
+
+ while (true) {
+ $checkDates = [];
+
+ // loop through all WeekNo and Days to check all the combinations
+ foreach ($this->byWeekNo as $byWeekNo) {
+ foreach ($dayOffsets as $dayOffset) {
+ $date = clone $this->currentDate;
+ $date->setISODate($currentYear, $byWeekNo, $dayOffset);
+
+ if ($date > $this->currentDate) {
+ $checkDates[] = $date;
+ }
+ }
+ }
+
+ if (count($checkDates) > 0) {
+ $this->currentDate = min($checkDates);
+ return;
+ }
+
+ // if there is no date found, check the next year
+ $currentYear += $this->interval;
+ }
+ }
+
+ if ($this->byYearDay !== null) { // byYearDay is an array with values from -366 to -1, or 1 to 366
+ $dayOffsets = [];
+ if ($this->byDay) {
+ foreach ($this->byDay as $byDay) {
+ $dayOffsets[] = $this->dayMap[$byDay];
+ }
+ } else { // default is Monday-Sunday
+ $dayOffsets = [1,2,3,4,5,6,7];
+ }
+
+ $currentYear = $this->currentDate->format('Y');
+
+ while (true) {
+ $checkDates = [];
+
+ // loop through all YearDay and Days to check all the combinations
+ foreach ($this->byYearDay as $byYearDay) {
+ $date = clone $this->currentDate;
+ $date->setDate($currentYear, 1, 1);
+ if ($byYearDay > 0) {
+ $date->add(new \DateInterval('P' . $byYearDay . 'D'));
+ } else {
+ $date->sub(new \DateInterval('P' . abs($byYearDay) . 'D'));
+ }
+
+ if ($date > $this->currentDate && in_array($date->format('N'), $dayOffsets)) {
+ $checkDates[] = $date;
+ }
+ }
+
+ if (count($checkDates) > 0) {
+ $this->currentDate = min($checkDates);
+ return;
+ }
+
+ // if there is no date found, check the next year
+ $currentYear += $this->interval;
+ }
+ }
+
// The easiest form
$this->currentDate = $this->currentDate->modify('+' . $this->interval . ' years');
return;
@@ -710,10 +787,20 @@ class RRuleIterator implements Iterator {
case 'BYYEARDAY' :
$this->byYearDay = (array)$value;
+ foreach ($this->byYearDay as $byYearDay) {
+ if (!is_numeric($byYearDay) || (int)$byYearDay < -366 || (int)$byYearDay == 0 || (int)$byYearDay > 366) {
+ throw new InvalidDataException('BYYEARDAY in RRULE must have value(s) from 1 to 366, or -366 to -1!');
+ }
+ }
break;
case 'BYWEEKNO' :
$this->byWeekNo = (array)$value;
+ foreach ($this->byWeekNo as $byWeekNo) {
+ if (!is_numeric($byWeekNo) || (int)$byWeekNo < -53 || (int)$byWeekNo == 0 || (int)$byWeekNo > 53) {
+ throw new InvalidDataException('BYWEEKNO in RRULE must have value(s) from 1 to 53, or -53 to -1!');
+ }
+ }
break;
case 'BYMONTH' :
diff --git a/vendor/sabre/vobject/lib/TimeZoneUtil.php b/vendor/sabre/vobject/lib/TimeZoneUtil.php
index 2a95ae898..925183e8d 100644
--- a/vendor/sabre/vobject/lib/TimeZoneUtil.php
+++ b/vendor/sabre/vobject/lib/TimeZoneUtil.php
@@ -165,6 +165,16 @@ class TimeZoneUtil {
return new \DateTimeZone(self::$map[$tzid]);
}
+ // Some Microsoft products prefix the offset first, so let's strip that off
+ // and see if it is our tzid map. We don't want to check for this first just
+ // in case there are overrides in our tzid map.
+ if (preg_match('/^\((UTC|GMT)(\+|\-)[\d]{2}\:[\d]{2}\) (.*)/', $tzid, $matches)) {
+ $tzidAlternate = $matches[3];
+ if (isset(self::$map[$tzidAlternate])) {
+ return new \DateTimeZone(self::$map[$tzidAlternate]);
+ }
+ }
+
// Maybe the author was hyper-lazy and just included an offset. We
// support it, but we aren't happy about it.
if (preg_match('/^GMT(\+|-)([0-9]{4})$/', $tzid, $matches)) {
diff --git a/vendor/sabre/vobject/lib/Version.php b/vendor/sabre/vobject/lib/Version.php
index ca9f21960..346e2044d 100644
--- a/vendor/sabre/vobject/lib/Version.php
+++ b/vendor/sabre/vobject/lib/Version.php
@@ -14,6 +14,6 @@ class Version {
/**
* Full version number.
*/
- const VERSION = '4.1.1';
+ const VERSION = '4.1.2';
}
diff --git a/vendor/sabre/vobject/lib/timezonedata/lotuszones.php b/vendor/sabre/vobject/lib/timezonedata/lotuszones.php
index 7d0785f04..79d555a92 100644
--- a/vendor/sabre/vobject/lib/timezonedata/lotuszones.php
+++ b/vendor/sabre/vobject/lib/timezonedata/lotuszones.php
@@ -17,85 +17,85 @@ return [
'Mexico Standard Time 2' => 'America/Chihuahua',
'Mountain' => 'America/Denver',
// 'Mountain Standard Time' => 'America/Chihuahua', // conflict with windows timezones.
- 'US Mountain' => 'America/Phoenix',
- 'Canada Central' => 'America/Edmonton',
- 'Central America' => 'America/Guatemala',
- 'Central' => 'America/Chicago',
+ 'US Mountain' => 'America/Phoenix',
+ 'Canada Central' => 'America/Edmonton',
+ 'Central America' => 'America/Guatemala',
+ 'Central' => 'America/Chicago',
// 'Central Standard Time' => 'America/Mexico_City', // conflict with windows timezones.
- 'Mexico' => 'America/Mexico_City',
- 'Eastern' => 'America/New_York',
- 'SA Pacific' => 'America/Bogota',
- 'US Eastern' => 'America/Indiana/Indianapolis',
- 'Venezuela' => 'America/Caracas',
- 'Atlantic' => 'America/Halifax',
- 'Central Brazilian' => 'America/Manaus',
- 'Pacific SA' => 'America/Santiago',
- 'SA Western' => 'America/La_Paz',
- 'Newfoundland' => 'America/St_Johns',
- 'Argentina' => 'America/Argentina/Buenos_Aires',
- 'E. South America' => 'America/Belem',
- 'Greenland' => 'America/Godthab',
- 'Montevideo' => 'America/Montevideo',
- 'SA Eastern' => 'America/Belem',
+ 'Mexico' => 'America/Mexico_City',
+ 'Eastern' => 'America/New_York',
+ 'SA Pacific' => 'America/Bogota',
+ 'US Eastern' => 'America/Indiana/Indianapolis',
+ 'Venezuela' => 'America/Caracas',
+ 'Atlantic' => 'America/Halifax',
+ 'Central Brazilian' => 'America/Manaus',
+ 'Pacific SA' => 'America/Santiago',
+ 'SA Western' => 'America/La_Paz',
+ 'Newfoundland' => 'America/St_Johns',
+ 'Argentina' => 'America/Argentina/Buenos_Aires',
+ 'E. South America' => 'America/Belem',
+ 'Greenland' => 'America/Godthab',
+ 'Montevideo' => 'America/Montevideo',
+ 'SA Eastern' => 'America/Belem',
// 'Mid-Atlantic' => 'Etc/GMT-2', // conflict with windows timezones.
- 'Azores' => 'Atlantic/Azores',
- 'Cape Verde' => 'Atlantic/Cape_Verde',
- 'Greenwich' => 'Atlantic/Reykjavik', // No I'm serious.. Greenwich is not GMT.
- 'Morocco' => 'Africa/Casablanca',
- 'Central Europe' => 'Europe/Prague',
- 'Central European' => 'Europe/Sarajevo',
- 'Romance' => 'Europe/Paris',
- 'W. Central Africa' => 'Africa/Lagos', // Best guess
- 'W. Europe' => 'Europe/Amsterdam',
- 'E. Europe' => 'Europe/Minsk',
- 'Egypt' => 'Africa/Cairo',
- 'FLE' => 'Europe/Helsinki',
- 'GTB' => 'Europe/Athens',
- 'Israel' => 'Asia/Jerusalem',
- 'Jordan' => 'Asia/Amman',
- 'Middle East' => 'Asia/Beirut',
- 'Namibia' => 'Africa/Windhoek',
- 'South Africa' => 'Africa/Harare',
- 'Arab' => 'Asia/Kuwait',
- 'Arabic' => 'Asia/Baghdad',
- 'E. Africa' => 'Africa/Nairobi',
- 'Georgian' => 'Asia/Tbilisi',
- 'Russian' => 'Europe/Moscow',
- 'Iran' => 'Asia/Tehran',
- 'Arabian' => 'Asia/Muscat',
- 'Armenian' => 'Asia/Yerevan',
- 'Azerbijan' => 'Asia/Baku',
- 'Caucasus' => 'Asia/Yerevan',
- 'Mauritius' => 'Indian/Mauritius',
- 'Afghanistan' => 'Asia/Kabul',
- 'Ekaterinburg' => 'Asia/Yekaterinburg',
- 'Pakistan' => 'Asia/Karachi',
- 'West Asia' => 'Asia/Tashkent',
- 'India' => 'Asia/Calcutta',
- 'Sri Lanka' => 'Asia/Colombo',
- 'Nepal' => 'Asia/Kathmandu',
- 'Central Asia' => 'Asia/Dhaka',
- 'N. Central Asia' => 'Asia/Almaty',
- 'Myanmar' => 'Asia/Rangoon',
- 'North Asia' => 'Asia/Krasnoyarsk',
- 'SE Asia' => 'Asia/Bangkok',
- 'China' => 'Asia/Shanghai',
- 'North Asia East' => 'Asia/Irkutsk',
- 'Singapore' => 'Asia/Singapore',
- 'Taipei' => 'Asia/Taipei',
- 'W. Australia' => 'Australia/Perth',
- 'Korea' => 'Asia/Seoul',
- 'Tokyo' => 'Asia/Tokyo',
- 'Yakutsk' => 'Asia/Yakutsk',
- 'AUS Central' => 'Australia/Darwin',
- 'Cen. Australia' => 'Australia/Adelaide',
- 'AUS Eastern' => 'Australia/Sydney',
- 'E. Australia' => 'Australia/Brisbane',
- 'Tasmania' => 'Australia/Hobart',
- 'Vladivostok' => 'Asia/Vladivostok',
- 'West Pacific' => 'Pacific/Guam',
- 'Central Pacific' => 'Asia/Magadan',
- 'Fiji' => 'Pacific/Fiji',
- 'New Zealand' => 'Pacific/Auckland',
- 'Tonga' => 'Pacific/Tongatapu',
+ 'Azores' => 'Atlantic/Azores',
+ 'Cape Verde' => 'Atlantic/Cape_Verde',
+ 'Greenwich' => 'Atlantic/Reykjavik', // No I'm serious.. Greenwich is not GMT.
+ 'Morocco' => 'Africa/Casablanca',
+ 'Central Europe' => 'Europe/Prague',
+ 'Central European' => 'Europe/Sarajevo',
+ 'Romance' => 'Europe/Paris',
+ 'W. Central Africa' => 'Africa/Lagos', // Best guess
+ 'W. Europe' => 'Europe/Amsterdam',
+ 'E. Europe' => 'Europe/Minsk',
+ 'Egypt' => 'Africa/Cairo',
+ 'FLE' => 'Europe/Helsinki',
+ 'GTB' => 'Europe/Athens',
+ 'Israel' => 'Asia/Jerusalem',
+ 'Jordan' => 'Asia/Amman',
+ 'Middle East' => 'Asia/Beirut',
+ 'Namibia' => 'Africa/Windhoek',
+ 'South Africa' => 'Africa/Harare',
+ 'Arab' => 'Asia/Kuwait',
+ 'Arabic' => 'Asia/Baghdad',
+ 'E. Africa' => 'Africa/Nairobi',
+ 'Georgian' => 'Asia/Tbilisi',
+ 'Russian' => 'Europe/Moscow',
+ 'Iran' => 'Asia/Tehran',
+ 'Arabian' => 'Asia/Muscat',
+ 'Armenian' => 'Asia/Yerevan',
+ 'Azerbijan' => 'Asia/Baku',
+ 'Caucasus' => 'Asia/Yerevan',
+ 'Mauritius' => 'Indian/Mauritius',
+ 'Afghanistan' => 'Asia/Kabul',
+ 'Ekaterinburg' => 'Asia/Yekaterinburg',
+ 'Pakistan' => 'Asia/Karachi',
+ 'West Asia' => 'Asia/Tashkent',
+ 'India' => 'Asia/Calcutta',
+ 'Sri Lanka' => 'Asia/Colombo',
+ 'Nepal' => 'Asia/Kathmandu',
+ 'Central Asia' => 'Asia/Dhaka',
+ 'N. Central Asia' => 'Asia/Almaty',
+ 'Myanmar' => 'Asia/Rangoon',
+ 'North Asia' => 'Asia/Krasnoyarsk',
+ 'SE Asia' => 'Asia/Bangkok',
+ 'China' => 'Asia/Shanghai',
+ 'North Asia East' => 'Asia/Irkutsk',
+ 'Singapore' => 'Asia/Singapore',
+ 'Taipei' => 'Asia/Taipei',
+ 'W. Australia' => 'Australia/Perth',
+ 'Korea' => 'Asia/Seoul',
+ 'Tokyo' => 'Asia/Tokyo',
+ 'Yakutsk' => 'Asia/Yakutsk',
+ 'AUS Central' => 'Australia/Darwin',
+ 'Cen. Australia' => 'Australia/Adelaide',
+ 'AUS Eastern' => 'Australia/Sydney',
+ 'E. Australia' => 'Australia/Brisbane',
+ 'Tasmania' => 'Australia/Hobart',
+ 'Vladivostok' => 'Asia/Vladivostok',
+ 'West Pacific' => 'Pacific/Guam',
+ 'Central Pacific' => 'Asia/Magadan',
+ 'Fiji' => 'Pacific/Fiji',
+ 'New Zealand' => 'Pacific/Auckland',
+ 'Tonga' => 'Pacific/Tongatapu',
];
diff --git a/vendor/sabre/vobject/lib/timezonedata/windowszones.php b/vendor/sabre/vobject/lib/timezonedata/windowszones.php
index ac69847cc..29f3a6cb8 100644
--- a/vendor/sabre/vobject/lib/timezonedata/windowszones.php
+++ b/vendor/sabre/vobject/lib/timezonedata/windowszones.php
@@ -3,28 +3,33 @@
/**
* Automatically generated timezone file
*
- * Last update: 2015-07-27T16:56:36-04:00
+ * Last update: 2016-08-24T17:35:38-04:00
* Source: http://unicode.org/repos/cldr/trunk/common/supplemental/windowsZones.xml
*
- * @copyright Copyright (C) fruux GmbH (https://fruux.com/)
+ * @copyright Copyright (C) 2011-2015 fruux GmbH (https://fruux.com/).
* @license http://sabre.io/license/ Modified BSD License
*/
-return [
+return [
'AUS Central Standard Time' => 'Australia/Darwin',
'AUS Eastern Standard Time' => 'Australia/Sydney',
'Afghanistan Standard Time' => 'Asia/Kabul',
'Alaskan Standard Time' => 'America/Anchorage',
+ 'Aleutian Standard Time' => 'America/Adak',
+ 'Altai Standard Time' => 'Asia/Barnaul',
'Arab Standard Time' => 'Asia/Riyadh',
'Arabian Standard Time' => 'Asia/Dubai',
'Arabic Standard Time' => 'Asia/Baghdad',
'Argentina Standard Time' => 'America/Buenos_Aires',
+ 'Astrakhan Standard Time' => 'Europe/Astrakhan',
'Atlantic Standard Time' => 'America/Halifax',
+ 'Aus Central W. Standard Time' => 'Australia/Eucla',
'Azerbaijan Standard Time' => 'Asia/Baku',
'Azores Standard Time' => 'Atlantic/Azores',
'Bahia Standard Time' => 'America/Bahia',
'Bangladesh Standard Time' => 'Asia/Dhaka',
'Belarus Standard Time' => 'Europe/Minsk',
+ 'Bougainville Standard Time' => 'Pacific/Bougainville',
'Canada Central Standard Time' => 'America/Regina',
'Cape Verde Standard Time' => 'Atlantic/Cape_Verde',
'Caucasus Standard Time' => 'Asia/Yerevan',
@@ -37,11 +42,15 @@ return [
'Central Pacific Standard Time' => 'Pacific/Guadalcanal',
'Central Standard Time' => 'America/Chicago',
'Central Standard Time (Mexico)' => 'America/Mexico_City',
+ 'Chatham Islands Standard Time' => 'Pacific/Chatham',
'China Standard Time' => 'Asia/Shanghai',
+ 'Cuba Standard Time' => 'America/Havana',
'Dateline Standard Time' => 'Etc/GMT+12',
'E. Africa Standard Time' => 'Africa/Nairobi',
'E. Australia Standard Time' => 'Australia/Brisbane',
+ 'E. Europe Standard Time' => 'Europe/Chisinau',
'E. South America Standard Time' => 'America/Sao_Paulo',
+ 'Easter Island Standard Time' => 'Pacific/Easter',
'Eastern Standard Time' => 'America/New_York',
'Eastern Standard Time (Mexico)' => 'America/Cancun',
'Egypt Standard Time' => 'Africa/Cairo',
@@ -53,6 +62,7 @@ return [
'Georgian Standard Time' => 'Asia/Tbilisi',
'Greenland Standard Time' => 'America/Godthab',
'Greenwich Standard Time' => 'Atlantic/Reykjavik',
+ 'Haiti Standard Time' => 'America/Port-au-Prince',
'Hawaiian Standard Time' => 'Pacific/Honolulu',
'India Standard Time' => 'Asia/Calcutta',
'Iran Standard Time' => 'Asia/Tehran',
@@ -62,7 +72,9 @@ return [
'Korea Standard Time' => 'Asia/Seoul',
'Libya Standard Time' => 'Africa/Tripoli',
'Line Islands Standard Time' => 'Pacific/Kiritimati',
+ 'Lord Howe Standard Time' => 'Australia/Lord_Howe',
'Magadan Standard Time' => 'Asia/Magadan',
+ 'Marquesas Standard Time' => 'Pacific/Marquesas',
'Mauritius Standard Time' => 'Indian/Mauritius',
'Middle East Standard Time' => 'Asia/Beirut',
'Montevideo Standard Time' => 'America/Montevideo',
@@ -75,11 +87,13 @@ return [
'Nepal Standard Time' => 'Asia/Katmandu',
'New Zealand Standard Time' => 'Pacific/Auckland',
'Newfoundland Standard Time' => 'America/St_Johns',
+ 'Norfolk Standard Time' => 'Pacific/Norfolk',
'North Asia East Standard Time' => 'Asia/Irkutsk',
'North Asia Standard Time' => 'Asia/Krasnoyarsk',
+ 'North Korea Standard Time' => 'Asia/Pyongyang',
'Pacific SA Standard Time' => 'America/Santiago',
'Pacific Standard Time' => 'America/Los_Angeles',
- 'Pacific Standard Time (Mexico)' => 'America/Santa_Isabel',
+ 'Pacific Standard Time (Mexico)' => 'America/Tijuana',
'Pakistan Standard Time' => 'Asia/Karachi',
'Paraguay Standard Time' => 'America/Asuncion',
'Romance Standard Time' => 'Europe/Paris',
@@ -91,6 +105,8 @@ return [
'SA Pacific Standard Time' => 'America/Bogota',
'SA Western Standard Time' => 'America/La_Paz',
'SE Asia Standard Time' => 'Asia/Bangkok',
+ 'Saint Pierre Standard Time' => 'America/Miquelon',
+ 'Sakhalin Standard Time' => 'Asia/Sakhalin',
'Samoa Standard Time' => 'Pacific/Apia',
'Singapore Standard Time' => 'Asia/Singapore',
'South Africa Standard Time' => 'Africa/Johannesburg',
@@ -98,14 +114,20 @@ return [
'Syria Standard Time' => 'Asia/Damascus',
'Taipei Standard Time' => 'Asia/Taipei',
'Tasmania Standard Time' => 'Australia/Hobart',
+ 'Tocantins Standard Time' => 'America/Araguaina',
'Tokyo Standard Time' => 'Asia/Tokyo',
+ 'Tomsk Standard Time' => 'Asia/Tomsk',
'Tonga Standard Time' => 'Pacific/Tongatapu',
+ 'Transbaikal Standard Time' => 'Asia/Chita',
'Turkey Standard Time' => 'Europe/Istanbul',
+ 'Turks And Caicos Standard Time' => 'America/Grand_Turk',
'US Eastern Standard Time' => 'America/Indianapolis',
'US Mountain Standard Time' => 'America/Phoenix',
'UTC' => 'Etc/GMT',
'UTC+12' => 'Etc/GMT-12',
'UTC-02' => 'Etc/GMT+2',
+ 'UTC-08' => 'Etc/GMT+8',
+ 'UTC-09' => 'Etc/GMT+9',
'UTC-11' => 'Etc/GMT+11',
'Ulaanbaatar Standard Time' => 'Asia/Ulaanbaatar',
'Venezuela Standard Time' => 'America/Caracas',
@@ -113,7 +135,9 @@ return [
'W. Australia Standard Time' => 'Australia/Perth',
'W. Central Africa Standard Time' => 'Africa/Lagos',
'W. Europe Standard Time' => 'Europe/Berlin',
+ 'W. Mongolia Standard Time' => 'Asia/Hovd',
'West Asia Standard Time' => 'Asia/Tashkent',
+ 'West Bank Standard Time' => 'Asia/Hebron',
'West Pacific Standard Time' => 'Pacific/Port_Moresby',
'Yakutsk Standard Time' => 'Asia/Yakutsk',
];
diff --git a/vendor/simplepie/simplepie/LICENSE.txt b/vendor/simplepie/simplepie/LICENSE.txt
new file mode 100644
index 000000000..a822a4bd9
--- /dev/null
+++ b/vendor/simplepie/simplepie/LICENSE.txt
@@ -0,0 +1,26 @@
+Copyright (c) 2004-2007, Ryan Parman and Geoffrey Sneddon.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification, are
+permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright notice, this list of
+ conditions and the following disclaimer.
+
+ * Redistributions in binary form must reproduce the above copyright notice, this list
+ of conditions and the following disclaimer in the documentation and/or other materials
+ provided with the distribution.
+
+ * Neither the name of the SimplePie Team nor the names of its contributors may be used
+ to endorse or promote products derived from this software without specific prior
+ written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS
+OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS
+AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file
diff --git a/vendor/simplepie/simplepie/README.markdown b/vendor/simplepie/simplepie/README.markdown
new file mode 100644
index 000000000..c346204d0
--- /dev/null
+++ b/vendor/simplepie/simplepie/README.markdown
@@ -0,0 +1,113 @@
+SimplePie
+=========
+
+SimplePie is a very fast and easy-to-use class, written in PHP, that puts the
+'simple' back into 'really simple syndication'. Flexible enough to suit
+beginners and veterans alike, SimplePie is focused on [speed, ease of use,
+compatibility and standards compliance][what_is].
+
+[what_is]: http://simplepie.org/wiki/faq/what_is_simplepie
+
+
+Requirements
+------------
+* PHP 5.3.0+ (5.3.6+ recommended since SimplePie 1.4.2)
+ * Support for PHP 5.2 stopped in branch `one-dot-three`
+ * Support for PHP 4 stopped in branch `one-dot-two`
+* libxml2 (certain 2.7.x releases are too buggy for words, and will crash)
+* One of iconv, mbstring or intl extensions
+* cURL or fsockopen()
+* PCRE support
+
+
+What comes in the package?
+--------------------------
+1. `library/` - SimplePie classes for use with the autoloader
+2. `autoloader.php` - The SimplePie Autoloader if you want to use the separate
+ file version.
+3. `README.markdown` - This document.
+4. `LICENSE.txt` - A copy of the BSD license.
+5. `compatibility_test/` - The SimplePie compatibility test that checks your
+ server for required settings.
+6. `demo/` - A basic feed reader demo that shows off some of SimplePie's more
+ noticeable features.
+7. `idn/` - A third-party library that SimplePie can optionally use to
+ understand Internationalized Domain Names (IDNs).
+8. `build/` - Scripts related to generating pieces of SimplePie
+9. `test/` - SimplePie's unit test suite.
+
+### Where's `simplepie.inc`?
+Since SimplePie 1.3, we've split the classes into separate files to make it easier
+to maintain and use.
+
+If you'd like a single monolithic file, you can run `php build/compile.php` to
+generate `SimplePie.compiled.php`.
+
+To start the demo
+-----------------
+1. Upload this package to your webserver.
+2. Make sure that the cache folder inside of the demo folder is server-writable.
+3. Navigate your browser to the demo folder.
+
+
+Need support?
+-------------
+For further setup and install documentation, function references, etc., visit
+[the wiki][wiki]. If you're using the latest version off GitHub, you can also
+check out the [API documentation][].
+
+If you can't find an answer to your question in the documentation, head on over
+to one of our [support channels][]. For bug reports and feature requests, visit
+the [issue tracker][].
+
+[API documentation]: http://dev.simplepie.org/api/
+[wiki]: http://simplepie.org/wiki/
+[support channels]: http://simplepie.org/support/
+[issue tracker]: http://github.com/simplepie/simplepie/issues
+
+
+Project status
+--------------
+SimplePie is currently maintained by Malcolm Blaney.
+
+As an open source project, SimplePie is maintained on a somewhat sporadic basis.
+This means that feature requests may not be fulfilled straight away, as time has
+to be prioritized.
+
+If you'd like to contribute to SimplePie, the best way to get started is to fork
+the project on GitHub and send pull requests for patches. When doing so, please
+be aware of our [coding standards][].
+
+[coding standards]: http://simplepie.org/wiki/misc/coding_standards
+
+
+Authors and contributors
+------------------------
+### Current
+* [Malcolm Blaney][] (Maintainer, support)
+
+### Alumni
+* [Ryan McCue][] (developer, support)
+* [Ryan Parman][] (Creator, developer, evangelism, support)
+* [Geoffrey Sneddon][] (Lead developer)
+* [Michael Shipley][] (Submitter of patches, support)
+* [Steve Minutillo][] (Submitter of patches)
+
+[Malcolm Blaney]: https://unicyclic.com/mal
+[Ryan McCue]: http://ryanmccue.info
+[Ryan Parman]: http://ryanparman.com
+[Geoffrey Sneddon]: http://gsnedders.com
+[Michael Shipley]: http://michaelpshipley.com
+[Steve Minutillo]: http://minutillo.com/steve/
+
+
+### Contributors
+For a complete list of contributors:
+
+1. Pull down the latest SimplePie code
+2. In the `simplepie` directory, run `git shortlog -ns`
+
+
+License
+-------
+[New BSD license](http://www.opensource.org/licenses/BSD-3-Clause)
diff --git a/vendor/simplepie/simplepie/autoloader.php b/vendor/simplepie/simplepie/autoloader.php
new file mode 100644
index 000000000..fd7690da2
--- /dev/null
+++ b/vendor/simplepie/simplepie/autoloader.php
@@ -0,0 +1,85 @@
+<?php
+/**
+ * SimplePie
+ *
+ * A PHP-Based RSS and Atom Feed Framework.
+ * Takes the hard work out of managing a complete RSS/Atom solution.
+ *
+ * Copyright (c) 2004-2016, Ryan Parman, Geoffrey Sneddon, Ryan McCue, and contributors
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification, are
+ * permitted provided that the following conditions are met:
+ *
+ * * Redistributions of source code must retain the above copyright notice, this list of
+ * conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above copyright notice, this list
+ * of conditions and the following disclaimer in the documentation and/or other materials
+ * provided with the distribution.
+ *
+ * * Neither the name of the SimplePie Team nor the names of its contributors may be used
+ * to endorse or promote products derived from this software without specific prior
+ * written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS
+ * AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ *
+ * @package SimplePie
+ * @copyright 2004-2016 Ryan Parman, Geoffrey Sneddon, Ryan McCue
+ * @author Ryan Parman
+ * @author Geoffrey Sneddon
+ * @author Ryan McCue
+ * @link http://simplepie.org/ SimplePie
+ * @license http://www.opensource.org/licenses/bsd-license.php BSD License
+ */
+
+
+// autoloader
+spl_autoload_register(array(new SimplePie_Autoloader(), 'autoload'));
+
+if (!class_exists('SimplePie'))
+{
+ trigger_error('Autoloader not registered properly', E_USER_ERROR);
+}
+
+/**
+ * Autoloader class
+ *
+ * @package SimplePie
+ * @subpackage API
+ */
+class SimplePie_Autoloader
+{
+ /**
+ * Constructor
+ */
+ public function __construct()
+ {
+ $this->path = dirname(__FILE__) . DIRECTORY_SEPARATOR . 'library';
+ }
+
+ /**
+ * Autoloader
+ *
+ * @param string $class The name of the class to attempt to load.
+ */
+ public function autoload($class)
+ {
+ // Only load the class if it starts with "SimplePie"
+ if (strpos($class, 'SimplePie') !== 0)
+ {
+ return;
+ }
+
+ $filename = $this->path . DIRECTORY_SEPARATOR . str_replace('_', DIRECTORY_SEPARATOR, $class) . '.php';
+ include $filename;
+ }
+} \ No newline at end of file
diff --git a/vendor/simplepie/simplepie/composer.json b/vendor/simplepie/simplepie/composer.json
new file mode 100644
index 000000000..b5965b26f
--- /dev/null
+++ b/vendor/simplepie/simplepie/composer.json
@@ -0,0 +1,40 @@
+{
+ "name": "simplepie/simplepie",
+ "description": "A simple Atom/RSS parsing library for PHP",
+ "type": "library",
+ "keywords": ["rss", "atom", "feeds"],
+ "homepage": "http://simplepie.org/",
+ "license": "BSD-3-Clause",
+ "authors": [
+ {
+ "name": "Ryan Parman",
+ "homepage": "http://ryanparman.com/",
+ "role": "Creator, alumnus developer"
+ },
+ {
+ "name": "Geoffrey Sneddon",
+ "homepage": "http://gsnedders.com/",
+ "role": "Alumnus developer"
+ },
+ {
+ "name": "Ryan McCue",
+ "email": "me@ryanmccue.info",
+ "homepage": "http://ryanmccue.info/",
+ "role": "Developer"
+ }
+ ],
+ "require": {
+ "php": ">=5.3.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "~4 || ~5"
+ },
+ "suggest": {
+ "mf2/mf2": "Microformat module that allows for parsing HTML for microformats"
+ },
+ "autoload": {
+ "psr-0": {
+ "SimplePie": "library"
+ }
+ }
+}
diff --git a/vendor/simplepie/simplepie/db.sql b/vendor/simplepie/simplepie/db.sql
new file mode 100644
index 000000000..879382940
--- /dev/null
+++ b/vendor/simplepie/simplepie/db.sql
@@ -0,0 +1,40 @@
+/* SQLite */
+CREATE TABLE cache_data (
+ id TEXT NOT NULL,
+ items SMALLINT NOT NULL DEFAULT 0,
+ data BLOB NOT NULL,
+ mtime INTEGER UNSIGNED NOT NULL
+);
+CREATE UNIQUE INDEX id ON cache_data(id);
+
+CREATE TABLE items (
+ feed_id TEXT NOT NULL,
+ id TEXT NOT NULL,
+ data TEXT NOT NULL,
+ posted INTEGER UNSIGNED NOT NULL
+);
+CREATE INDEX feed_id ON items(feed_id);
+
+
+/* MySQL */
+--- Don't paste this to create tables, since SimplePie will create
+--- tables by its own.
+CREATE TABLE `cache_data` (
+ `id` TEXT CHARACTER SET utf8 NOT NULL,
+ `items` SMALLINT NOT NULL DEFAULT 0,
+ `data` BLOB NOT NULL,
+ `mtime` INT UNSIGNED NOT NULL,
+ UNIQUE (
+ `id`(125)
+ )
+);
+
+CREATE TABLE `items` (
+ `feed_id` TEXT CHARACTER SET utf8 NOT NULL,
+ `id` TEXT CHARACTER SET utf8 NOT NULL,
+ `data` MEDIUMBLOB NOT NULL,
+ `posted` INT UNSIGNED NOT NULL,
+ INDEX `feed_id` (
+ `feed_id`(125)
+ )
+); \ No newline at end of file
diff --git a/vendor/simplepie/simplepie/idn/LICENCE b/vendor/simplepie/simplepie/idn/LICENCE
new file mode 100644
index 000000000..25a1d22df
--- /dev/null
+++ b/vendor/simplepie/simplepie/idn/LICENCE
@@ -0,0 +1,502 @@
+ GNU LESSER GENERAL PUBLIC LICENSE
+ Version 2.1, February 1999
+
+ Copyright (C) 1991, 1999 Free Software Foundation, Inc.
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+[This is the first released version of the Lesser GPL. It also counts
+ as the successor of the GNU Library Public License, version 2, hence
+ the version number 2.1.]
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+Licenses are intended to guarantee your freedom to share and change
+free software--to make sure the software is free for all its users.
+
+ This license, the Lesser General Public License, applies to some
+specially designated software packages--typically libraries--of the
+Free Software Foundation and other authors who decide to use it. You
+can use it too, but we suggest you first think carefully about whether
+this license or the ordinary General Public License is the better
+strategy to use in any particular case, based on the explanations below.
+
+ When we speak of free software, we are referring to freedom of use,
+not price. Our General Public Licenses are designed to make sure that
+you have the freedom to distribute copies of free software (and charge
+for this service if you wish); that you receive source code or can get
+it if you want it; that you can change the software and use pieces of
+it in new free programs; and that you are informed that you can do
+these things.
+
+ To protect your rights, we need to make restrictions that forbid
+distributors to deny you these rights or to ask you to surrender these
+rights. These restrictions translate to certain responsibilities for
+you if you distribute copies of the library or if you modify it.
+
+ For example, if you distribute copies of the library, whether gratis
+or for a fee, you must give the recipients all the rights that we gave
+you. You must make sure that they, too, receive or can get the source
+code. If you link other code with the library, you must provide
+complete object files to the recipients, so that they can relink them
+with the library after making changes to the library and recompiling
+it. And you must show them these terms so they know their rights.
+
+ We protect your rights with a two-step method: (1) we copyright the
+library, and (2) we offer you this license, which gives you legal
+permission to copy, distribute and/or modify the library.
+
+ To protect each distributor, we want to make it very clear that
+there is no warranty for the free library. Also, if the library is
+modified by someone else and passed on, the recipients should know
+that what they have is not the original version, so that the original
+author's reputation will not be affected by problems that might be
+introduced by others.
+
+ Finally, software patents pose a constant threat to the existence of
+any free program. We wish to make sure that a company cannot
+effectively restrict the users of a free program by obtaining a
+restrictive license from a patent holder. Therefore, we insist that
+any patent license obtained for a version of the library must be
+consistent with the full freedom of use specified in this license.
+
+ Most GNU software, including some libraries, is covered by the
+ordinary GNU General Public License. This license, the GNU Lesser
+General Public License, applies to certain designated libraries, and
+is quite different from the ordinary General Public License. We use
+this license for certain libraries in order to permit linking those
+libraries into non-free programs.
+
+ When a program is linked with a library, whether statically or using
+a shared library, the combination of the two is legally speaking a
+combined work, a derivative of the original library. The ordinary
+General Public License therefore permits such linking only if the
+entire combination fits its criteria of freedom. The Lesser General
+Public License permits more lax criteria for linking other code with
+the library.
+
+ We call this license the "Lesser" General Public License because it
+does Less to protect the user's freedom than the ordinary General
+Public License. It also provides other free software developers Less
+of an advantage over competing non-free programs. These disadvantages
+are the reason we use the ordinary General Public License for many
+libraries. However, the Lesser license provides advantages in certain
+special circumstances.
+
+ For example, on rare occasions, there may be a special need to
+encourage the widest possible use of a certain library, so that it becomes
+a de-facto standard. To achieve this, non-free programs must be
+allowed to use the library. A more frequent case is that a free
+library does the same job as widely used non-free libraries. In this
+case, there is little to gain by limiting the free library to free
+software only, so we use the Lesser General Public License.
+
+ In other cases, permission to use a particular library in non-free
+programs enables a greater number of people to use a large body of
+free software. For example, permission to use the GNU C Library in
+non-free programs enables many more people to use the whole GNU
+operating system, as well as its variant, the GNU/Linux operating
+system.
+
+ Although the Lesser General Public License is Less protective of the
+users' freedom, it does ensure that the user of a program that is
+linked with the Library has the freedom and the wherewithal to run
+that program using a modified version of the Library.
+
+ The precise terms and conditions for copying, distribution and
+modification follow. Pay close attention to the difference between a
+"work based on the library" and a "work that uses the library". The
+former contains code derived from the library, whereas the latter must
+be combined with the library in order to run.
+
+ GNU LESSER GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License Agreement applies to any software library or other
+program which contains a notice placed by the copyright holder or
+other authorized party saying it may be distributed under the terms of
+this Lesser General Public License (also called "this License").
+Each licensee is addressed as "you".
+
+ A "library" means a collection of software functions and/or data
+prepared so as to be conveniently linked with application programs
+(which use some of those functions and data) to form executables.
+
+ The "Library", below, refers to any such software library or work
+which has been distributed under these terms. A "work based on the
+Library" means either the Library or any derivative work under
+copyright law: that is to say, a work containing the Library or a
+portion of it, either verbatim or with modifications and/or translated
+straightforwardly into another language. (Hereinafter, translation is
+included without limitation in the term "modification".)
+
+ "Source code" for a work means the preferred form of the work for
+making modifications to it. For a library, complete source code means
+all the source code for all modules it contains, plus any associated
+interface definition files, plus the scripts used to control compilation
+and installation of the library.
+
+ Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running a program using the Library is not restricted, and output from
+such a program is covered only if its contents constitute a work based
+on the Library (independent of the use of the Library in a tool for
+writing it). Whether that is true depends on what the Library does
+and what the program that uses the Library does.
+
+ 1. You may copy and distribute verbatim copies of the Library's
+complete source code as you receive it, in any medium, provided that
+you conspicuously and appropriately publish on each copy an
+appropriate copyright notice and disclaimer of warranty; keep intact
+all the notices that refer to this License and to the absence of any
+warranty; and distribute a copy of this License along with the
+Library.
+
+ You may charge a fee for the physical act of transferring a copy,
+and you may at your option offer warranty protection in exchange for a
+fee.
+
+ 2. You may modify your copy or copies of the Library or any portion
+of it, thus forming a work based on the Library, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) The modified work must itself be a software library.
+
+ b) You must cause the files modified to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ c) You must cause the whole of the work to be licensed at no
+ charge to all third parties under the terms of this License.
+
+ d) If a facility in the modified Library refers to a function or a
+ table of data to be supplied by an application program that uses
+ the facility, other than as an argument passed when the facility
+ is invoked, then you must make a good faith effort to ensure that,
+ in the event an application does not supply such function or
+ table, the facility still operates, and performs whatever part of
+ its purpose remains meaningful.
+
+ (For example, a function in a library to compute square roots has
+ a purpose that is entirely well-defined independent of the
+ application. Therefore, Subsection 2d requires that any
+ application-supplied function or table used by this function must
+ be optional: if the application does not supply it, the square
+ root function must still compute square roots.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Library,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Library, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote
+it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Library.
+
+In addition, mere aggregation of another work not based on the Library
+with the Library (or with a work based on the Library) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may opt to apply the terms of the ordinary GNU General Public
+License instead of this License to a given copy of the Library. To do
+this, you must alter all the notices that refer to this License, so
+that they refer to the ordinary GNU General Public License, version 2,
+instead of to this License. (If a newer version than version 2 of the
+ordinary GNU General Public License has appeared, then you can specify
+that version instead if you wish.) Do not make any other change in
+these notices.
+
+ Once this change is made in a given copy, it is irreversible for
+that copy, so the ordinary GNU General Public License applies to all
+subsequent copies and derivative works made from that copy.
+
+ This option is useful when you wish to copy part of the code of
+the Library into a program that is not a library.
+
+ 4. You may copy and distribute the Library (or a portion or
+derivative of it, under Section 2) in object code or executable form
+under the terms of Sections 1 and 2 above provided that you accompany
+it with the complete corresponding machine-readable source code, which
+must be distributed under the terms of Sections 1 and 2 above on a
+medium customarily used for software interchange.
+
+ If distribution of object code is made by offering access to copy
+from a designated place, then offering equivalent access to copy the
+source code from the same place satisfies the requirement to
+distribute the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 5. A program that contains no derivative of any portion of the
+Library, but is designed to work with the Library by being compiled or
+linked with it, is called a "work that uses the Library". Such a
+work, in isolation, is not a derivative work of the Library, and
+therefore falls outside the scope of this License.
+
+ However, linking a "work that uses the Library" with the Library
+creates an executable that is a derivative of the Library (because it
+contains portions of the Library), rather than a "work that uses the
+library". The executable is therefore covered by this License.
+Section 6 states terms for distribution of such executables.
+
+ When a "work that uses the Library" uses material from a header file
+that is part of the Library, the object code for the work may be a
+derivative work of the Library even though the source code is not.
+Whether this is true is especially significant if the work can be
+linked without the Library, or if the work is itself a library. The
+threshold for this to be true is not precisely defined by law.
+
+ If such an object file uses only numerical parameters, data
+structure layouts and accessors, and small macros and small inline
+functions (ten lines or less in length), then the use of the object
+file is unrestricted, regardless of whether it is legally a derivative
+work. (Executables containing this object code plus portions of the
+Library will still fall under Section 6.)
+
+ Otherwise, if the work is a derivative of the Library, you may
+distribute the object code for the work under the terms of Section 6.
+Any executables containing that work also fall under Section 6,
+whether or not they are linked directly with the Library itself.
+
+ 6. As an exception to the Sections above, you may also combine or
+link a "work that uses the Library" with the Library to produce a
+work containing portions of the Library, and distribute that work
+under terms of your choice, provided that the terms permit
+modification of the work for the customer's own use and reverse
+engineering for debugging such modifications.
+
+ You must give prominent notice with each copy of the work that the
+Library is used in it and that the Library and its use are covered by
+this License. You must supply a copy of this License. If the work
+during execution displays copyright notices, you must include the
+copyright notice for the Library among them, as well as a reference
+directing the user to the copy of this License. Also, you must do one
+of these things:
+
+ a) Accompany the work with the complete corresponding
+ machine-readable source code for the Library including whatever
+ changes were used in the work (which must be distributed under
+ Sections 1 and 2 above); and, if the work is an executable linked
+ with the Library, with the complete machine-readable "work that
+ uses the Library", as object code and/or source code, so that the
+ user can modify the Library and then relink to produce a modified
+ executable containing the modified Library. (It is understood
+ that the user who changes the contents of definitions files in the
+ Library will not necessarily be able to recompile the application
+ to use the modified definitions.)
+
+ b) Use a suitable shared library mechanism for linking with the
+ Library. A suitable mechanism is one that (1) uses at run time a
+ copy of the library already present on the user's computer system,
+ rather than copying library functions into the executable, and (2)
+ will operate properly with a modified version of the library, if
+ the user installs one, as long as the modified version is
+ interface-compatible with the version that the work was made with.
+
+ c) Accompany the work with a written offer, valid for at
+ least three years, to give the same user the materials
+ specified in Subsection 6a, above, for a charge no more
+ than the cost of performing this distribution.
+
+ d) If distribution of the work is made by offering access to copy
+ from a designated place, offer equivalent access to copy the above
+ specified materials from the same place.
+
+ e) Verify that the user has already received a copy of these
+ materials or that you have already sent this user a copy.
+
+ For an executable, the required form of the "work that uses the
+Library" must include any data and utility programs needed for
+reproducing the executable from it. However, as a special exception,
+the materials to be distributed need not include anything that is
+normally distributed (in either source or binary form) with the major
+components (compiler, kernel, and so on) of the operating system on
+which the executable runs, unless that component itself accompanies
+the executable.
+
+ It may happen that this requirement contradicts the license
+restrictions of other proprietary libraries that do not normally
+accompany the operating system. Such a contradiction means you cannot
+use both them and the Library together in an executable that you
+distribute.
+
+ 7. You may place library facilities that are a work based on the
+Library side-by-side in a single library together with other library
+facilities not covered by this License, and distribute such a combined
+library, provided that the separate distribution of the work based on
+the Library and of the other library facilities is otherwise
+permitted, and provided that you do these two things:
+
+ a) Accompany the combined library with a copy of the same work
+ based on the Library, uncombined with any other library
+ facilities. This must be distributed under the terms of the
+ Sections above.
+
+ b) Give prominent notice with the combined library of the fact
+ that part of it is a work based on the Library, and explaining
+ where to find the accompanying uncombined form of the same work.
+
+ 8. You may not copy, modify, sublicense, link with, or distribute
+the Library except as expressly provided under this License. Any
+attempt otherwise to copy, modify, sublicense, link with, or
+distribute the Library is void, and will automatically terminate your
+rights under this License. However, parties who have received copies,
+or rights, from you under this License will not have their licenses
+terminated so long as such parties remain in full compliance.
+
+ 9. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Library or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Library (or any work based on the
+Library), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.
+
+ 10. Each time you redistribute the Library (or any work based on the
+Library), the recipient automatically receives a license from the
+original licensor to copy, distribute, link with or modify the Library
+subject to these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties with
+this License.
+
+ 11. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Library at all. For example, if a patent
+license would not permit royalty-free redistribution of the Library by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Library.
+
+If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply,
+and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 12. If the distribution and/or use of the Library is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Library under this License may add
+an explicit geographical distribution limitation excluding those countries,
+so that distribution is permitted only in or among countries not thus
+excluded. In such case, this License incorporates the limitation as if
+written in the body of this License.
+
+ 13. The Free Software Foundation may publish revised and/or new
+versions of the Lesser General Public License from time to time.
+Such new versions will be similar in spirit to the present version,
+but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Library
+specifies a version number of this License which applies to it and
+"any later version", you have the option of following the terms and
+conditions either of that version or of any later version published by
+the Free Software Foundation. If the Library does not specify a
+license version number, you may choose any version ever published by
+the Free Software Foundation.
+
+ 14. If you wish to incorporate parts of the Library into other free
+programs whose distribution conditions are incompatible with these,
+write to the author to ask for permission. For software which is
+copyrighted by the Free Software Foundation, write to the Free
+Software Foundation; we sometimes make exceptions for this. Our
+decision will be guided by the two goals of preserving the free status
+of all derivatives of our free software and of promoting the sharing
+and reuse of software generally.
+
+ NO WARRANTY
+
+ 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
+LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Libraries
+
+ If you develop a new library, and you want it to be of the greatest
+possible use to the public, we recommend making it free software that
+everyone can redistribute and change. You can do so by permitting
+redistribution under these terms (or, alternatively, under the terms of the
+ordinary General Public License).
+
+ To apply these terms, attach the following notices to the library. It is
+safest to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least the
+"copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the library's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+Also add information on how to contact you by electronic and paper mail.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the library, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the
+ library `Frob' (a library for tweaking knobs) written by James Random Hacker.
+
+ <signature of Ty Coon>, 1 April 1990
+ Ty Coon, President of Vice
+
+That's all there is to it!
diff --git a/vendor/simplepie/simplepie/idn/ReadMe.txt b/vendor/simplepie/simplepie/idn/ReadMe.txt
new file mode 100644
index 000000000..7ca8c7e6d
--- /dev/null
+++ b/vendor/simplepie/simplepie/idn/ReadMe.txt
@@ -0,0 +1,123 @@
+*******************************************************************************
+* *
+* IDNA Convert (idna_convert.class.php) *
+* *
+* http://idnaconv.phlymail.de mailto:phlymail@phlylabs.de *
+*******************************************************************************
+* (c) 2004-2007 phlyLabs, Berlin *
+* This file is encoded in UTF-8 *
+*******************************************************************************
+
+Introduction
+------------
+
+The class idna_convert allows to convert internationalized domain names
+(see RFC 3490, 3491, 3492 and 3454 for detials) as they can be used with various
+registries worldwide to be translated between their original (localized) form
+and their encoded form as it will be used in the DNS (Domain Name System).
+
+The class provides two public methods, encode() and decode(), which do exactly
+what you would expect them to do. You are allowed to use complete domain names,
+simple strings and complete email addresses as well. That means, that you might
+use any of the following notations:
+
+- www.nörgler.com
+- xn--nrgler-wxa
+- xn--brse-5qa.xn--knrz-1ra.info
+
+Errors, incorrectly encoded or invalid strings will lead to either a FALSE
+response (when in strict mode) or to only partially converted strings.
+You can query the occured error by calling the method get_last_error().
+
+Unicode strings are expected to be either UTF-8 strings, UCS-4 strings or UCS-4
+arrays. The default format is UTF-8. For setting different encodings, you can
+call the method setParams() - please see the inline documentation for details.
+ACE strings (the Punycode form) are always 7bit ASCII strings.
+
+ATTENTION: We no longer supply the PHP5 version of the class. It is not
+necessary for achieving a successfull conversion, since the supplied PHP code is
+compatible with both PHP4 and PHP5. We expect to see no compatibility issues
+with the upcoming PHP6, too.
+
+
+Files
+-----
+
+idna_convert.class.php - The actual class
+idna_convert.create.npdata.php - Useful for (re)creating the NPData file
+npdata.ser - Serialized data for NamePrep
+example.php - An example web page for converting
+ReadMe.txt - This file
+LICENCE - The LGPL licence file
+
+The class is contained in idna_convert.class.php.
+MAKE SURE to copy the npdata.ser file into the same folder as the class file
+itself!
+
+
+Examples
+--------
+
+1. Say we wish to encode the domain name nörgler.com:
+
+// Include the class
+include_once('idna_convert.class.php');
+// Instantiate it *
+$IDN = new idna_convert();
+// The input string, if input is not UTF-8 or UCS-4, it must be converted before
+$input = utf8_encode('nörgler.com');
+// Encode it to its punycode presentation
+$output = $IDN->encode($input);
+// Output, what we got now
+echo $output; // This will read: xn--nrgler-wxa.com
+
+
+2. We received an email from a punycoded domain and are willing to learn, how
+ the domain name reads originally
+
+// Include the class
+include_once('idna_convert.class.php');
+// Instantiate it (depending on the version you are using) with
+$IDN = new idna_convert();
+// The input string
+$input = 'andre@xn--brse-5qa.xn--knrz-1ra.info';
+// Encode it to its punycode presentation
+$output = $IDN->decode($input);
+// Output, what we got now, if output should be in a format different to UTF-8
+// or UCS-4, you will have to convert it before outputting it
+echo utf8_decode($output); // This will read: andre@börse.knörz.info
+
+
+3. The input is read from a UCS-4 coded file and encoded line by line. By
+ appending the optional second parameter we tell enode() about the input
+ format to be used
+
+// Include the class
+include_once('idna_convert.class.php');
+// Instantiate it
+$IDN = new dinca_convert();
+// Iterate through the input file line by line
+foreach (file('ucs4-domains.txt') as $line) {
+ echo $IDN->encode(trim($line), 'ucs4_string');
+ echo "\n";
+}
+
+
+NPData
+------
+
+Should you need to recreate the npdata.ser file, which holds all necessary translation
+tables in a serialized format, you can run the file idna_convert.create.npdata.php, which
+creates the file for you and stores it in the same folder, where it is placed.
+Should you need to do changes to the tables you can do so, but beware of the consequences.
+
+
+Contact us
+----------
+
+In case of errors, bugs, questions, wishes, please don't hesitate to contact us
+under the email address above.
+
+The team of phlyLabs
+http://phlylabs.de
+mailto:phlymail@phlylabs.de \ No newline at end of file
diff --git a/vendor/simplepie/simplepie/idn/idna_convert.class.php b/vendor/simplepie/simplepie/idn/idna_convert.class.php
new file mode 100644
index 000000000..eb9d5f516
--- /dev/null
+++ b/vendor/simplepie/simplepie/idn/idna_convert.class.php
@@ -0,0 +1,969 @@
+<?php
+// {{{ license
+
+/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4 foldmethod=marker: */
+//
+// +----------------------------------------------------------------------+
+// | This library is free software; you can redistribute it and/or modify |
+// | it under the terms of the GNU Lesser General Public License as |
+// | published by the Free Software Foundation; either version 2.1 of the |
+// | License, or (at your option) any later version. |
+// | |
+// | This library is distributed in the hope that it will be useful, but |
+// | WITHOUT ANY WARRANTY; without even the implied warranty of |
+// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
+// | Lesser General Public License for more details. |
+// | |
+// | You should have received a copy of the GNU Lesser General Public |
+// | License along with this library; if not, write to the Free Software |
+// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 |
+// | USA. |
+// +----------------------------------------------------------------------+
+//
+
+// }}}
+
+/**
+ * Encode/decode Internationalized Domain Names.
+ *
+ * The class allows to convert internationalized domain names
+ * (see RFC 3490 for details) as they can be used with various registries worldwide
+ * to be translated between their original (localized) form and their encoded form
+ * as it will be used in the DNS (Domain Name System).
+ *
+ * The class provides two public methods, encode() and decode(), which do exactly
+ * what you would expect them to do. You are allowed to use complete domain names,
+ * simple strings and complete email addresses as well. That means, that you might
+ * use any of the following notations:
+ *
+ * - www.nörgler.com
+ * - xn--nrgler-wxa
+ * - xn--brse-5qa.xn--knrz-1ra.info
+ *
+ * Unicode input might be given as either UTF-8 string, UCS-4 string or UCS-4
+ * array. Unicode output is available in the same formats.
+ * You can select your preferred format via {@link set_paramter()}.
+ *
+ * ACE input and output is always expected to be ASCII.
+ *
+ * @author Matthias Sommerfeld <mso@phlylabs.de>
+ * @copyright 2004-2007 phlyLabs Berlin, http://phlylabs.de
+ * @version 0.5.1
+ *
+ */
+class idna_convert
+{
+ /**
+ * Holds all relevant mapping tables, loaded from a seperate file on construct
+ * See RFC3454 for details
+ *
+ * @var array
+ * @access private
+ */
+ var $NP = array();
+
+ // Internal settings, do not mess with them
+ var $_punycode_prefix = 'xn--';
+ var $_invalid_ucs = 0x80000000;
+ var $_max_ucs = 0x10FFFF;
+ var $_base = 36;
+ var $_tmin = 1;
+ var $_tmax = 26;
+ var $_skew = 38;
+ var $_damp = 700;
+ var $_initial_bias = 72;
+ var $_initial_n = 0x80;
+ var $_sbase = 0xAC00;
+ var $_lbase = 0x1100;
+ var $_vbase = 0x1161;
+ var $_tbase = 0x11A7;
+ var $_lcount = 19;
+ var $_vcount = 21;
+ var $_tcount = 28;
+ var $_ncount = 588; // _vcount * _tcount
+ var $_scount = 11172; // _lcount * _tcount * _vcount
+ var $_error = false;
+
+ // See {@link set_paramter()} for details of how to change the following
+ // settings from within your script / application
+ var $_api_encoding = 'utf8'; // Default input charset is UTF-8
+ var $_allow_overlong = false; // Overlong UTF-8 encodings are forbidden
+ var $_strict_mode = false; // Behave strict or not
+
+ // The constructor
+ function __construct($options = false)
+ {
+ $this->slast = $this->_sbase + $this->_lcount * $this->_vcount * $this->_tcount;
+ if (function_exists('file_get_contents')) {
+ $this->NP = unserialize(file_get_contents(dirname(__FILE__).'/npdata.ser'));
+ } else {
+ $this->NP = unserialize(join('', file(dirname(__FILE__).'/npdata.ser')));
+ }
+ // If parameters are given, pass these to the respective method
+ if (is_array($options)) {
+ return $this->set_parameter($options);
+ }
+ return true;
+ }
+
+ /**
+ * Sets a new option value. Available options and values:
+ * [encoding - Use either UTF-8, UCS4 as array or UCS4 as string as input ('utf8' for UTF-8,
+ * 'ucs4_string' and 'ucs4_array' respectively for UCS4); The output is always UTF-8]
+ * [overlong - Unicode does not allow unnecessarily long encodings of chars,
+ * to allow this, set this parameter to true, else to false;
+ * default is false.]
+ * [strict - true: strict mode, good for registration purposes - Causes errors
+ * on failures; false: loose mode, ideal for "wildlife" applications
+ * by silently ignoring errors and returning the original input instead
+ *
+ * @param mixed Parameter to set (string: single parameter; array of Parameter => Value pairs)
+ * @param string Value to use (if parameter 1 is a string)
+ * @return boolean true on success, false otherwise
+ * @access public
+ */
+ function set_parameter($option, $value = false)
+ {
+ if (!is_array($option)) {
+ $option = array($option => $value);
+ }
+ foreach ($option as $k => $v) {
+ switch ($k) {
+ case 'encoding':
+ switch ($v) {
+ case 'utf8':
+ case 'ucs4_string':
+ case 'ucs4_array':
+ $this->_api_encoding = $v;
+ break;
+ default:
+ $this->_error('Set Parameter: Unknown parameter '.$v.' for option '.$k);
+ return false;
+ }
+ break;
+ case 'overlong':
+ $this->_allow_overlong = ($v) ? true : false;
+ break;
+ case 'strict':
+ $this->_strict_mode = ($v) ? true : false;
+ break;
+ default:
+ $this->_error('Set Parameter: Unknown option '.$k);
+ return false;
+ }
+ }
+ return true;
+ }
+
+ /**
+ * Decode a given ACE domain name
+ * @param string Domain name (ACE string)
+ * [@param string Desired output encoding, see {@link set_parameter}]
+ * @return string Decoded Domain name (UTF-8 or UCS-4)
+ * @access public
+ */
+ function decode($input, $one_time_encoding = false)
+ {
+ // Optionally set
+ if ($one_time_encoding) {
+ switch ($one_time_encoding) {
+ case 'utf8':
+ case 'ucs4_string':
+ case 'ucs4_array':
+ break;
+ default:
+ $this->_error('Unknown encoding '.$one_time_encoding);
+ return false;
+ }
+ }
+ // Make sure to drop any newline characters around
+ $input = trim($input);
+
+ // Negotiate input and try to determine, whether it is a plain string,
+ // an email address or something like a complete URL
+ if (strpos($input, '@')) { // Maybe it is an email address
+ // No no in strict mode
+ if ($this->_strict_mode) {
+ $this->_error('Only simple domain name parts can be handled in strict mode');
+ return false;
+ }
+ list ($email_pref, $input) = explode('@', $input, 2);
+ $arr = explode('.', $input);
+ foreach ($arr as $k => $v) {
+ if (preg_match('!^'.preg_quote($this->_punycode_prefix, '!').'!', $v)) {
+ $conv = $this->_decode($v);
+ if ($conv) $arr[$k] = $conv;
+ }
+ }
+ $input = join('.', $arr);
+ $arr = explode('.', $email_pref);
+ foreach ($arr as $k => $v) {
+ if (preg_match('!^'.preg_quote($this->_punycode_prefix, '!').'!', $v)) {
+ $conv = $this->_decode($v);
+ if ($conv) $arr[$k] = $conv;
+ }
+ }
+ $email_pref = join('.', $arr);
+ $return = $email_pref . '@' . $input;
+ } elseif (preg_match('![:\./]!', $input)) { // Or a complete domain name (with or without paths / parameters)
+ // No no in strict mode
+ if ($this->_strict_mode) {
+ $this->_error('Only simple domain name parts can be handled in strict mode');
+ return false;
+ }
+ $parsed = parse_url($input);
+ if (isset($parsed['host'])) {
+ $arr = explode('.', $parsed['host']);
+ foreach ($arr as $k => $v) {
+ $conv = $this->_decode($v);
+ if ($conv) $arr[$k] = $conv;
+ }
+ $parsed['host'] = join('.', $arr);
+ $return =
+ (empty($parsed['scheme']) ? '' : $parsed['scheme'].(strtolower($parsed['scheme']) == 'mailto' ? ':' : '://'))
+ .(empty($parsed['user']) ? '' : $parsed['user'].(empty($parsed['pass']) ? '' : ':'.$parsed['pass']).'@')
+ .$parsed['host']
+ .(empty($parsed['port']) ? '' : ':'.$parsed['port'])
+ .(empty($parsed['path']) ? '' : $parsed['path'])
+ .(empty($parsed['query']) ? '' : '?'.$parsed['query'])
+ .(empty($parsed['fragment']) ? '' : '#'.$parsed['fragment']);
+ } else { // parse_url seems to have failed, try without it
+ $arr = explode('.', $input);
+ foreach ($arr as $k => $v) {
+ $conv = $this->_decode($v);
+ $arr[$k] = ($conv) ? $conv : $v;
+ }
+ $return = join('.', $arr);
+ }
+ } else { // Otherwise we consider it being a pure domain name string
+ $return = $this->_decode($input);
+ if (!$return) $return = $input;
+ }
+ // The output is UTF-8 by default, other output formats need conversion here
+ // If one time encoding is given, use this, else the objects property
+ switch (($one_time_encoding) ? $one_time_encoding : $this->_api_encoding) {
+ case 'utf8':
+ return $return;
+ break;
+ case 'ucs4_string':
+ return $this->_ucs4_to_ucs4_string($this->_utf8_to_ucs4($return));
+ break;
+ case 'ucs4_array':
+ return $this->_utf8_to_ucs4($return);
+ break;
+ default:
+ $this->_error('Unsupported output format');
+ return false;
+ }
+ }
+
+ /**
+ * Encode a given UTF-8 domain name
+ * @param string Domain name (UTF-8 or UCS-4)
+ * [@param string Desired input encoding, see {@link set_parameter}]
+ * @return string Encoded Domain name (ACE string)
+ * @access public
+ */
+ function encode($decoded, $one_time_encoding = false)
+ {
+ // Forcing conversion of input to UCS4 array
+ // If one time encoding is given, use this, else the objects property
+ switch ($one_time_encoding ? $one_time_encoding : $this->_api_encoding) {
+ case 'utf8':
+ $decoded = $this->_utf8_to_ucs4($decoded);
+ break;
+ case 'ucs4_string':
+ $decoded = $this->_ucs4_string_to_ucs4($decoded);
+ case 'ucs4_array':
+ break;
+ default:
+ $this->_error('Unsupported input format: '.($one_time_encoding ? $one_time_encoding : $this->_api_encoding));
+ return false;
+ }
+
+ // No input, no output, what else did you expect?
+ if (empty($decoded)) return '';
+
+ // Anchors for iteration
+ $last_begin = 0;
+ // Output string
+ $output = '';
+ foreach ($decoded as $k => $v) {
+ // Make sure to use just the plain dot
+ switch($v) {
+ case 0x3002:
+ case 0xFF0E:
+ case 0xFF61:
+ $decoded[$k] = 0x2E;
+ // Right, no break here, the above are converted to dots anyway
+ // Stumbling across an anchoring character
+ case 0x2E:
+ case 0x2F:
+ case 0x3A:
+ case 0x3F:
+ case 0x40:
+ // Neither email addresses nor URLs allowed in strict mode
+ if ($this->_strict_mode) {
+ $this->_error('Neither email addresses nor URLs are allowed in strict mode.');
+ return false;
+ } else {
+ // Skip first char
+ if ($k) {
+ $encoded = '';
+ $encoded = $this->_encode(array_slice($decoded, $last_begin, (($k)-$last_begin)));
+ if ($encoded) {
+ $output .= $encoded;
+ } else {
+ $output .= $this->_ucs4_to_utf8(array_slice($decoded, $last_begin, (($k)-$last_begin)));
+ }
+ $output .= chr($decoded[$k]);
+ }
+ $last_begin = $k + 1;
+ }
+ }
+ }
+ // Catch the rest of the string
+ if ($last_begin) {
+ $inp_len = sizeof($decoded);
+ $encoded = '';
+ $encoded = $this->_encode(array_slice($decoded, $last_begin, (($inp_len)-$last_begin)));
+ if ($encoded) {
+ $output .= $encoded;
+ } else {
+ $output .= $this->_ucs4_to_utf8(array_slice($decoded, $last_begin, (($inp_len)-$last_begin)));
+ }
+ return $output;
+ } else {
+ if ($output = $this->_encode($decoded)) {
+ return $output;
+ } else {
+ return $this->_ucs4_to_utf8($decoded);
+ }
+ }
+ }
+
+ /**
+ * Use this method to get the last error ocurred
+ * @param void
+ * @return string The last error, that occured
+ * @access public
+ */
+ function get_last_error()
+ {
+ return $this->_error;
+ }
+
+ /**
+ * The actual decoding algorithm
+ * @access private
+ */
+ function _decode($encoded)
+ {
+ // We do need to find the Punycode prefix
+ if (!preg_match('!^'.preg_quote($this->_punycode_prefix, '!').'!', $encoded)) {
+ $this->_error('This is not a punycode string');
+ return false;
+ }
+ $encode_test = preg_replace('!^'.preg_quote($this->_punycode_prefix, '!').'!', '', $encoded);
+ // If nothing left after removing the prefix, it is hopeless
+ if (!$encode_test) {
+ $this->_error('The given encoded string was empty');
+ return false;
+ }
+ // Find last occurence of the delimiter
+ $delim_pos = strrpos($encoded, '-');
+ if ($delim_pos > strlen($this->_punycode_prefix)) {
+ for ($k = strlen($this->_punycode_prefix); $k < $delim_pos; ++$k) {
+ $decoded[] = ord($encoded{$k});
+ }
+ } else {
+ $decoded = array();
+ }
+ $deco_len = count($decoded);
+ $enco_len = strlen($encoded);
+
+ // Wandering through the strings; init
+ $is_first = true;
+ $bias = $this->_initial_bias;
+ $idx = 0;
+ $char = $this->_initial_n;
+
+ for ($enco_idx = ($delim_pos) ? ($delim_pos + 1) : 0; $enco_idx < $enco_len; ++$deco_len) {
+ for ($old_idx = $idx, $w = 1, $k = $this->_base; 1 ; $k += $this->_base) {
+ $digit = $this->_decode_digit($encoded{$enco_idx++});
+ $idx += $digit * $w;
+ $t = ($k <= $bias) ? $this->_tmin :
+ (($k >= $bias + $this->_tmax) ? $this->_tmax : ($k - $bias));
+ if ($digit < $t) break;
+ $w = (int) ($w * ($this->_base - $t));
+ }
+ $bias = $this->_adapt($idx - $old_idx, $deco_len + 1, $is_first);
+ $is_first = false;
+ $char += (int) ($idx / ($deco_len + 1));
+ $idx %= ($deco_len + 1);
+ if ($deco_len > 0) {
+ // Make room for the decoded char
+ for ($i = $deco_len; $i > $idx; $i--) {
+ $decoded[$i] = $decoded[($i - 1)];
+ }
+ }
+ $decoded[$idx++] = $char;
+ }
+ return $this->_ucs4_to_utf8($decoded);
+ }
+
+ /**
+ * The actual encoding algorithm
+ * @access private
+ */
+ function _encode($decoded)
+ {
+ // We cannot encode a domain name containing the Punycode prefix
+ $extract = strlen($this->_punycode_prefix);
+ $check_pref = $this->_utf8_to_ucs4($this->_punycode_prefix);
+ $check_deco = array_slice($decoded, 0, $extract);
+
+ if ($check_pref == $check_deco) {
+ $this->_error('This is already a punycode string');
+ return false;
+ }
+ // We will not try to encode strings consisting of basic code points only
+ $encodable = false;
+ foreach ($decoded as $k => $v) {
+ if ($v > 0x7a) {
+ $encodable = true;
+ break;
+ }
+ }
+ if (!$encodable) {
+ $this->_error('The given string does not contain encodable chars');
+ return false;
+ }
+
+ // Do NAMEPREP
+ $decoded = $this->_nameprep($decoded);
+ if (!$decoded || !is_array($decoded)) return false; // NAMEPREP failed
+
+ $deco_len = count($decoded);
+ if (!$deco_len) return false; // Empty array
+
+ $codecount = 0; // How many chars have been consumed
+
+ $encoded = '';
+ // Copy all basic code points to output
+ for ($i = 0; $i < $deco_len; ++$i) {
+ $test = $decoded[$i];
+ // Will match [-0-9a-zA-Z]
+ if ((0x2F < $test && $test < 0x40) || (0x40 < $test && $test < 0x5B)
+ || (0x60 < $test && $test <= 0x7B) || (0x2D == $test)) {
+ $encoded .= chr($decoded[$i]);
+ $codecount++;
+ }
+ }
+ if ($codecount == $deco_len) return $encoded; // All codepoints were basic ones
+
+ // Start with the prefix; copy it to output
+ $encoded = $this->_punycode_prefix.$encoded;
+
+ // If we have basic code points in output, add an hyphen to the end
+ if ($codecount) $encoded .= '-';
+
+ // Now find and encode all non-basic code points
+ $is_first = true;
+ $cur_code = $this->_initial_n;
+ $bias = $this->_initial_bias;
+ $delta = 0;
+ while ($codecount < $deco_len) {
+ // Find the smallest code point >= the current code point and
+ // remember the last ouccrence of it in the input
+ for ($i = 0, $next_code = $this->_max_ucs; $i < $deco_len; $i++) {
+ if ($decoded[$i] >= $cur_code && $decoded[$i] <= $next_code) {
+ $next_code = $decoded[$i];
+ }
+ }
+
+ $delta += ($next_code - $cur_code) * ($codecount + 1);
+ $cur_code = $next_code;
+
+ // Scan input again and encode all characters whose code point is $cur_code
+ for ($i = 0; $i < $deco_len; $i++) {
+ if ($decoded[$i] < $cur_code) {
+ $delta++;
+ } elseif ($decoded[$i] == $cur_code) {
+ for ($q = $delta, $k = $this->_base; 1; $k += $this->_base) {
+ $t = ($k <= $bias) ? $this->_tmin :
+ (($k >= $bias + $this->_tmax) ? $this->_tmax : $k - $bias);
+ if ($q < $t) break;
+ $encoded .= $this->_encode_digit(intval($t + (($q - $t) % ($this->_base - $t)))); //v0.4.5 Changed from ceil() to intval()
+ $q = (int) (($q - $t) / ($this->_base - $t));
+ }
+ $encoded .= $this->_encode_digit($q);
+ $bias = $this->_adapt($delta, $codecount+1, $is_first);
+ $codecount++;
+ $delta = 0;
+ $is_first = false;
+ }
+ }
+ $delta++;
+ $cur_code++;
+ }
+ return $encoded;
+ }
+
+ /**
+ * Adapt the bias according to the current code point and position
+ * @access private
+ */
+ function _adapt($delta, $npoints, $is_first)
+ {
+ $delta = intval($is_first ? ($delta / $this->_damp) : ($delta / 2));
+ $delta += intval($delta / $npoints);
+ for ($k = 0; $delta > (($this->_base - $this->_tmin) * $this->_tmax) / 2; $k += $this->_base) {
+ $delta = intval($delta / ($this->_base - $this->_tmin));
+ }
+ return intval($k + ($this->_base - $this->_tmin + 1) * $delta / ($delta + $this->_skew));
+ }
+
+ /**
+ * Encoding a certain digit
+ * @access private
+ */
+ function _encode_digit($d)
+ {
+ return chr($d + 22 + 75 * ($d < 26));
+ }
+
+ /**
+ * Decode a certain digit
+ * @access private
+ */
+ function _decode_digit($cp)
+ {
+ $cp = ord($cp);
+ return ($cp - 48 < 10) ? $cp - 22 : (($cp - 65 < 26) ? $cp - 65 : (($cp - 97 < 26) ? $cp - 97 : $this->_base));
+ }
+
+ /**
+ * Internal error handling method
+ * @access private
+ */
+ function _error($error = '')
+ {
+ $this->_error = $error;
+ }
+
+ /**
+ * Do Nameprep according to RFC3491 and RFC3454
+ * @param array Unicode Characters
+ * @return string Unicode Characters, Nameprep'd
+ * @access private
+ */
+ function _nameprep($input)
+ {
+ $output = array();
+ $error = false;
+ //
+ // Mapping
+ // Walking through the input array, performing the required steps on each of
+ // the input chars and putting the result into the output array
+ // While mapping required chars we apply the cannonical ordering
+ foreach ($input as $v) {
+ // Map to nothing == skip that code point
+ if (in_array($v, $this->NP['map_nothing'])) continue;
+
+ // Try to find prohibited input
+ if (in_array($v, $this->NP['prohibit']) || in_array($v, $this->NP['general_prohibited'])) {
+ $this->_error('NAMEPREP: Prohibited input U+'.sprintf('%08X', $v));
+ return false;
+ }
+ foreach ($this->NP['prohibit_ranges'] as $range) {
+ if ($range[0] <= $v && $v <= $range[1]) {
+ $this->_error('NAMEPREP: Prohibited input U+'.sprintf('%08X', $v));
+ return false;
+ }
+ }
+ //
+ // Hangul syllable decomposition
+ if (0xAC00 <= $v && $v <= 0xD7AF) {
+ foreach ($this->_hangul_decompose($v) as $out) {
+ $output[] = (int) $out;
+ }
+ // There's a decomposition mapping for that code point
+ } elseif (isset($this->NP['replacemaps'][$v])) {
+ foreach ($this->_apply_cannonical_ordering($this->NP['replacemaps'][$v]) as $out) {
+ $output[] = (int) $out;
+ }
+ } else {
+ $output[] = (int) $v;
+ }
+ }
+ // Before applying any Combining, try to rearrange any Hangul syllables
+ $output = $this->_hangul_compose($output);
+ //
+ // Combine code points
+ //
+ $last_class = 0;
+ $last_starter = 0;
+ $out_len = count($output);
+ for ($i = 0; $i < $out_len; ++$i) {
+ $class = $this->_get_combining_class($output[$i]);
+ if ((!$last_class || $last_class > $class) && $class) {
+ // Try to match
+ $seq_len = $i - $last_starter;
+ $out = $this->_combine(array_slice($output, $last_starter, $seq_len));
+ // On match: Replace the last starter with the composed character and remove
+ // the now redundant non-starter(s)
+ if ($out) {
+ $output[$last_starter] = $out;
+ if (count($out) != $seq_len) {
+ for ($j = $i+1; $j < $out_len; ++$j) {
+ $output[$j-1] = $output[$j];
+ }
+ unset($output[$out_len]);
+ }
+ // Rewind the for loop by one, since there can be more possible compositions
+ $i--;
+ $out_len--;
+ $last_class = ($i == $last_starter) ? 0 : $this->_get_combining_class($output[$i-1]);
+ continue;
+ }
+ }
+ // The current class is 0
+ if (!$class) $last_starter = $i;
+ $last_class = $class;
+ }
+ return $output;
+ }
+
+ /**
+ * Decomposes a Hangul syllable
+ * (see http://www.unicode.org/unicode/reports/tr15/#Hangul
+ * @param integer 32bit UCS4 code point
+ * @return array Either Hangul Syllable decomposed or original 32bit value as one value array
+ * @access private
+ */
+ function _hangul_decompose($char)
+ {
+ $sindex = (int) $char - $this->_sbase;
+ if ($sindex < 0 || $sindex >= $this->_scount) {
+ return array($char);
+ }
+ $result = array();
+ $result[] = (int) $this->_lbase + $sindex / $this->_ncount;
+ $result[] = (int) $this->_vbase + ($sindex % $this->_ncount) / $this->_tcount;
+ $T = intval($this->_tbase + $sindex % $this->_tcount);
+ if ($T != $this->_tbase) $result[] = $T;
+ return $result;
+ }
+ /**
+ * Ccomposes a Hangul syllable
+ * (see http://www.unicode.org/unicode/reports/tr15/#Hangul
+ * @param array Decomposed UCS4 sequence
+ * @return array UCS4 sequence with syllables composed
+ * @access private
+ */
+ function _hangul_compose($input)
+ {
+ $inp_len = count($input);
+ if (!$inp_len) return array();
+ $result = array();
+ $last = (int) $input[0];
+ $result[] = $last; // copy first char from input to output
+
+ for ($i = 1; $i < $inp_len; ++$i) {
+ $char = (int) $input[$i];
+ $sindex = $last - $this->_sbase;
+ $lindex = $last - $this->_lbase;
+ $vindex = $char - $this->_vbase;
+ $tindex = $char - $this->_tbase;
+ // Find out, whether two current characters are LV and T
+ if (0 <= $sindex && $sindex < $this->_scount && ($sindex % $this->_tcount == 0)
+ && 0 <= $tindex && $tindex <= $this->_tcount) {
+ // create syllable of form LVT
+ $last += $tindex;
+ $result[(count($result) - 1)] = $last; // reset last
+ continue; // discard char
+ }
+ // Find out, whether two current characters form L and V
+ if (0 <= $lindex && $lindex < $this->_lcount && 0 <= $vindex && $vindex < $this->_vcount) {
+ // create syllable of form LV
+ $last = (int) $this->_sbase + ($lindex * $this->_vcount + $vindex) * $this->_tcount;
+ $result[(count($result) - 1)] = $last; // reset last
+ continue; // discard char
+ }
+ // if neither case was true, just add the character
+ $last = $char;
+ $result[] = $char;
+ }
+ return $result;
+ }
+
+ /**
+ * Returns the combining class of a certain wide char
+ * @param integer Wide char to check (32bit integer)
+ * @return integer Combining class if found, else 0
+ * @access private
+ */
+ function _get_combining_class($char)
+ {
+ return isset($this->NP['norm_combcls'][$char]) ? $this->NP['norm_combcls'][$char] : 0;
+ }
+
+ /**
+ * Apllies the cannonical ordering of a decomposed UCS4 sequence
+ * @param array Decomposed UCS4 sequence
+ * @return array Ordered USC4 sequence
+ * @access private
+ */
+ function _apply_cannonical_ordering($input)
+ {
+ $swap = true;
+ $size = count($input);
+ while ($swap) {
+ $swap = false;
+ $last = $this->_get_combining_class(intval($input[0]));
+ for ($i = 0; $i < $size-1; ++$i) {
+ $next = $this->_get_combining_class(intval($input[$i+1]));
+ if ($next != 0 && $last > $next) {
+ // Move item leftward until it fits
+ for ($j = $i + 1; $j > 0; --$j) {
+ if ($this->_get_combining_class(intval($input[$j-1])) <= $next) break;
+ $t = intval($input[$j]);
+ $input[$j] = intval($input[$j-1]);
+ $input[$j-1] = $t;
+ $swap = true;
+ }
+ // Reentering the loop looking at the old character again
+ $next = $last;
+ }
+ $last = $next;
+ }
+ }
+ return $input;
+ }
+
+ /**
+ * Do composition of a sequence of starter and non-starter
+ * @param array UCS4 Decomposed sequence
+ * @return array Ordered USC4 sequence
+ * @access private
+ */
+ function _combine($input)
+ {
+ $inp_len = count($input);
+ foreach ($this->NP['replacemaps'] as $np_src => $np_target) {
+ if ($np_target[0] != $input[0]) continue;
+ if (count($np_target) != $inp_len) continue;
+ $hit = false;
+ foreach ($input as $k2 => $v2) {
+ if ($v2 == $np_target[$k2]) {
+ $hit = true;
+ } else {
+ $hit = false;
+ break;
+ }
+ }
+ if ($hit) return $np_src;
+ }
+ return false;
+ }
+
+ /**
+ * This converts an UTF-8 encoded string to its UCS-4 representation
+ * By talking about UCS-4 "strings" we mean arrays of 32bit integers representing
+ * each of the "chars". This is due to PHP not being able to handle strings with
+ * bit depth different from 8. This apllies to the reverse method _ucs4_to_utf8(), too.
+ * The following UTF-8 encodings are supported:
+ * bytes bits representation
+ * 1 7 0xxxxxxx
+ * 2 11 110xxxxx 10xxxxxx
+ * 3 16 1110xxxx 10xxxxxx 10xxxxxx
+ * 4 21 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
+ * 5 26 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
+ * 6 31 1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
+ * Each x represents a bit that can be used to store character data.
+ * The five and six byte sequences are part of Annex D of ISO/IEC 10646-1:2000
+ * @access private
+ */
+ function _utf8_to_ucs4($input)
+ {
+ $output = array();
+ $out_len = 0;
+ $inp_len = strlen($input);
+ $mode = 'next';
+ $test = 'none';
+ for ($k = 0; $k < $inp_len; ++$k) {
+ $v = ord($input{$k}); // Extract byte from input string
+
+ if ($v < 128) { // We found an ASCII char - put into stirng as is
+ $output[$out_len] = $v;
+ ++$out_len;
+ if ('add' == $mode) {
+ $this->_error('Conversion from UTF-8 to UCS-4 failed: malformed input at byte '.$k);
+ return false;
+ }
+ continue;
+ }
+ if ('next' == $mode) { // Try to find the next start byte; determine the width of the Unicode char
+ $start_byte = $v;
+ $mode = 'add';
+ $test = 'range';
+ if ($v >> 5 == 6) { // &110xxxxx 10xxxxx
+ $next_byte = 0; // Tells, how many times subsequent bitmasks must rotate 6bits to the left
+ $v = ($v - 192) << 6;
+ } elseif ($v >> 4 == 14) { // &1110xxxx 10xxxxxx 10xxxxxx
+ $next_byte = 1;
+ $v = ($v - 224) << 12;
+ } elseif ($v >> 3 == 30) { // &11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
+ $next_byte = 2;
+ $v = ($v - 240) << 18;
+ } elseif ($v >> 2 == 62) { // &111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
+ $next_byte = 3;
+ $v = ($v - 248) << 24;
+ } elseif ($v >> 1 == 126) { // &1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
+ $next_byte = 4;
+ $v = ($v - 252) << 30;
+ } else {
+ $this->_error('This might be UTF-8, but I don\'t understand it at byte '.$k);
+ return false;
+ }
+ if ('add' == $mode) {
+ $output[$out_len] = (int) $v;
+ ++$out_len;
+ continue;
+ }
+ }
+ if ('add' == $mode) {
+ if (!$this->_allow_overlong && $test == 'range') {
+ $test = 'none';
+ if (($v < 0xA0 && $start_byte == 0xE0) || ($v < 0x90 && $start_byte == 0xF0) || ($v > 0x8F && $start_byte == 0xF4)) {
+ $this->_error('Bogus UTF-8 character detected (out of legal range) at byte '.$k);
+ return false;
+ }
+ }
+ if ($v >> 6 == 2) { // Bit mask must be 10xxxxxx
+ $v = ($v - 128) << ($next_byte * 6);
+ $output[($out_len - 1)] += $v;
+ --$next_byte;
+ } else {
+ $this->_error('Conversion from UTF-8 to UCS-4 failed: malformed input at byte '.$k);
+ return false;
+ }
+ if ($next_byte < 0) {
+ $mode = 'next';
+ }
+ }
+ } // for
+ return $output;
+ }
+
+ /**
+ * Convert UCS-4 string into UTF-8 string
+ * See _utf8_to_ucs4() for details
+ * @access private
+ */
+ function _ucs4_to_utf8($input)
+ {
+ $output = '';
+ $k = 0;
+ foreach ($input as $v) {
+ ++$k;
+ // $v = ord($v);
+ if ($v < 128) { // 7bit are transferred literally
+ $output .= chr($v);
+ } elseif ($v < (1 << 11)) { // 2 bytes
+ $output .= chr(192 + ($v >> 6)) . chr(128 + ($v & 63));
+ } elseif ($v < (1 << 16)) { // 3 bytes
+ $output .= chr(224 + ($v >> 12)) . chr(128 + (($v >> 6) & 63)) . chr(128 + ($v & 63));
+ } elseif ($v < (1 << 21)) { // 4 bytes
+ $output .= chr(240 + ($v >> 18)) . chr(128 + (($v >> 12) & 63))
+ . chr(128 + (($v >> 6) & 63)) . chr(128 + ($v & 63));
+ } elseif ($v < (1 << 26)) { // 5 bytes
+ $output .= chr(248 + ($v >> 24)) . chr(128 + (($v >> 18) & 63))
+ . chr(128 + (($v >> 12) & 63)) . chr(128 + (($v >> 6) & 63))
+ . chr(128 + ($v & 63));
+ } elseif ($v < (1 << 31)) { // 6 bytes
+ $output .= chr(252 + ($v >> 30)) . chr(128 + (($v >> 24) & 63))
+ . chr(128 + (($v >> 18) & 63)) . chr(128 + (($v >> 12) & 63))
+ . chr(128 + (($v >> 6) & 63)) . chr(128 + ($v & 63));
+ } else {
+ $this->_error('Conversion from UCS-4 to UTF-8 failed: malformed input at byte '.$k);
+ return false;
+ }
+ }
+ return $output;
+ }
+
+ /**
+ * Convert UCS-4 array into UCS-4 string
+ *
+ * @access private
+ */
+ function _ucs4_to_ucs4_string($input)
+ {
+ $output = '';
+ // Take array values and split output to 4 bytes per value
+ // The bit mask is 255, which reads &11111111
+ foreach ($input as $v) {
+ $output .= chr(($v >> 24) & 255).chr(($v >> 16) & 255).chr(($v >> 8) & 255).chr($v & 255);
+ }
+ return $output;
+ }
+
+ /**
+ * Convert UCS-4 strin into UCS-4 garray
+ *
+ * @access private
+ */
+ function _ucs4_string_to_ucs4($input)
+ {
+ $output = array();
+ $inp_len = strlen($input);
+ // Input length must be dividable by 4
+ if ($inp_len % 4) {
+ $this->_error('Input UCS4 string is broken');
+ return false;
+ }
+ // Empty input - return empty output
+ if (!$inp_len) return $output;
+ for ($i = 0, $out_len = -1; $i < $inp_len; ++$i) {
+ // Increment output position every 4 input bytes
+ if (!($i % 4)) {
+ $out_len++;
+ $output[$out_len] = 0;
+ }
+ $output[$out_len] += ord($input{$i}) << (8 * (3 - ($i % 4) ) );
+ }
+ return $output;
+ }
+}
+
+/**
+* Adapter class for aligning the API of idna_convert with that of Net_IDNA
+* @author Matthias Sommerfeld <mso@phlylabs.de>
+*/
+class Net_IDNA_php4 extends idna_convert
+{
+ /**
+ * Sets a new option value. Available options and values:
+ * [encoding - Use either UTF-8, UCS4 as array or UCS4 as string as input ('utf8' for UTF-8,
+ * 'ucs4_string' and 'ucs4_array' respectively for UCS4); The output is always UTF-8]
+ * [overlong - Unicode does not allow unnecessarily long encodings of chars,
+ * to allow this, set this parameter to true, else to false;
+ * default is false.]
+ * [strict - true: strict mode, good for registration purposes - Causes errors
+ * on failures; false: loose mode, ideal for "wildlife" applications
+ * by silently ignoring errors and returning the original input instead
+ *
+ * @param mixed Parameter to set (string: single parameter; array of Parameter => Value pairs)
+ * @param string Value to use (if parameter 1 is a string)
+ * @return boolean true on success, false otherwise
+ * @access public
+ */
+ function setParams($option, $param = false)
+ {
+ return $this->IC->set_parameters($option, $param);
+ }
+}
+
+?>
diff --git a/vendor/simplepie/simplepie/idn/npdata.ser b/vendor/simplepie/simplepie/idn/npdata.ser
new file mode 100644
index 000000000..d7ce6d03f
--- /dev/null
+++ b/vendor/simplepie/simplepie/idn/npdata.ser
@@ -0,0 +1 @@
+a:6:{s:11:"map_nothing";a:27:{i:0;i:173;i:1;i:847;i:2;i:6150;i:3;i:6155;i:4;i:6156;i:5;i:6157;i:6;i:8203;i:7;i:8204;i:8;i:8205;i:9;i:8288;i:10;i:65024;i:11;i:65025;i:12;i:65026;i:13;i:65027;i:14;i:65028;i:15;i:65029;i:16;i:65030;i:17;i:65031;i:18;i:65032;i:19;i:65033;i:20;i:65034;i:21;i:65035;i:22;i:65036;i:23;i:65037;i:24;i:65038;i:25;i:65039;i:26;i:65279;}s:18:"general_prohibited";a:64:{i:0;i:0;i:1;i:1;i:2;i:2;i:3;i:3;i:4;i:4;i:5;i:5;i:6;i:6;i:7;i:7;i:8;i:8;i:9;i:9;i:10;i:10;i:11;i:11;i:12;i:12;i:13;i:13;i:14;i:14;i:15;i:15;i:16;i:16;i:17;i:17;i:18;i:18;i:19;i:19;i:20;i:20;i:21;i:21;i:22;i:22;i:23;i:23;i:24;i:24;i:25;i:25;i:26;i:26;i:27;i:27;i:28;i:28;i:29;i:29;i:30;i:30;i:31;i:31;i:32;i:32;i:33;i:33;i:34;i:34;i:35;i:35;i:36;i:36;i:37;i:37;i:38;i:38;i:39;i:39;i:40;i:40;i:41;i:41;i:42;i:42;i:43;i:43;i:44;i:44;i:45;i:47;i:46;i:59;i:47;i:60;i:48;i:61;i:49;i:62;i:50;i:63;i:51;i:64;i:52;i:91;i:53;i:92;i:54;i:93;i:55;i:94;i:56;i:95;i:57;i:96;i:58;i:123;i:59;i:124;i:60;i:125;i:61;i:126;i:62;i:127;i:63;i:12290;}s:8:"prohibit";a:84:{i:0;i:160;i:1;i:5760;i:2;i:8192;i:3;i:8193;i:4;i:8194;i:5;i:8195;i:6;i:8196;i:7;i:8197;i:8;i:8198;i:9;i:8199;i:10;i:8200;i:11;i:8201;i:12;i:8202;i:13;i:8203;i:14;i:8239;i:15;i:8287;i:16;i:12288;i:17;i:1757;i:18;i:1807;i:19;i:6158;i:20;i:8204;i:21;i:8205;i:22;i:8232;i:23;i:8233;i:24;i:65279;i:25;i:65529;i:26;i:65530;i:27;i:65531;i:28;i:65532;i:29;i:65534;i:30;i:65535;i:31;i:131070;i:32;i:131071;i:33;i:196606;i:34;i:196607;i:35;i:262142;i:36;i:262143;i:37;i:327678;i:38;i:327679;i:39;i:393214;i:40;i:393215;i:41;i:458750;i:42;i:458751;i:43;i:524286;i:44;i:524287;i:45;i:589822;i:46;i:589823;i:47;i:655358;i:48;i:655359;i:49;i:720894;i:50;i:720895;i:51;i:786430;i:52;i:786431;i:53;i:851966;i:54;i:851967;i:55;i:917502;i:56;i:917503;i:57;i:983038;i:58;i:983039;i:59;i:1048574;i:60;i:1048575;i:61;i:1114110;i:62;i:1114111;i:63;i:65529;i:64;i:65530;i:65;i:65531;i:66;i:65532;i:67;i:65533;i:68;i:832;i:69;i:833;i:70;i:8206;i:71;i:8207;i:72;i:8234;i:73;i:8235;i:74;i:8236;i:75;i:8237;i:76;i:8238;i:77;i:8298;i:78;i:8299;i:79;i:8300;i:80;i:8301;i:81;i:8302;i:82;i:8303;i:83;i:917505;}s:15:"prohibit_ranges";a:10:{i:0;a:2:{i:0;i:128;i:1;i:159;}i:1;a:2:{i:0;i:8288;i:1;i:8303;}i:2;a:2:{i:0;i:119155;i:1;i:119162;}i:3;a:2:{i:0;i:57344;i:1;i:63743;}i:4;a:2:{i:0;i:983040;i:1;i:1048573;}i:5;a:2:{i:0;i:1048576;i:1;i:1114109;}i:6;a:2:{i:0;i:64976;i:1;i:65007;}i:7;a:2:{i:0;i:55296;i:1;i:57343;}i:8;a:2:{i:0;i:12272;i:1;i:12283;}i:9;a:2:{i:0;i:917536;i:1;i:917631;}}s:11:"replacemaps";a:1401:{i:65;a:1:{i:0;i:97;}i:66;a:1:{i:0;i:98;}i:67;a:1:{i:0;i:99;}i:68;a:1:{i:0;i:100;}i:69;a:1:{i:0;i:101;}i:70;a:1:{i:0;i:102;}i:71;a:1:{i:0;i:103;}i:72;a:1:{i:0;i:104;}i:73;a:1:{i:0;i:105;}i:74;a:1:{i:0;i:106;}i:75;a:1:{i:0;i:107;}i:76;a:1:{i:0;i:108;}i:77;a:1:{i:0;i:109;}i:78;a:1:{i:0;i:110;}i:79;a:1:{i:0;i:111;}i:80;a:1:{i:0;i:112;}i:81;a:1:{i:0;i:113;}i:82;a:1:{i:0;i:114;}i:83;a:1:{i:0;i:115;}i:84;a:1:{i:0;i:116;}i:85;a:1:{i:0;i:117;}i:86;a:1:{i:0;i:118;}i:87;a:1:{i:0;i:119;}i:88;a:1:{i:0;i:120;}i:89;a:1:{i:0;i:121;}i:90;a:1:{i:0;i:122;}i:181;a:1:{i:0;i:956;}i:192;a:1:{i:0;i:224;}i:193;a:1:{i:0;i:225;}i:194;a:1:{i:0;i:226;}i:195;a:1:{i:0;i:227;}i:196;a:1:{i:0;i:228;}i:197;a:1:{i:0;i:229;}i:198;a:1:{i:0;i:230;}i:199;a:1:{i:0;i:231;}i:200;a:1:{i:0;i:232;}i:201;a:1:{i:0;i:233;}i:202;a:1:{i:0;i:234;}i:203;a:1:{i:0;i:235;}i:204;a:1:{i:0;i:236;}i:205;a:1:{i:0;i:237;}i:206;a:1:{i:0;i:238;}i:207;a:1:{i:0;i:239;}i:208;a:1:{i:0;i:240;}i:209;a:1:{i:0;i:241;}i:210;a:1:{i:0;i:242;}i:211;a:1:{i:0;i:243;}i:212;a:1:{i:0;i:244;}i:213;a:1:{i:0;i:245;}i:214;a:1:{i:0;i:246;}i:216;a:1:{i:0;i:248;}i:217;a:1:{i:0;i:249;}i:218;a:1:{i:0;i:250;}i:219;a:1:{i:0;i:251;}i:220;a:1:{i:0;i:252;}i:221;a:1:{i:0;i:253;}i:222;a:1:{i:0;i:254;}i:223;a:2:{i:0;i:115;i:1;i:115;}i:256;a:1:{i:0;i:257;}i:258;a:1:{i:0;i:259;}i:260;a:1:{i:0;i:261;}i:262;a:1:{i:0;i:263;}i:264;a:1:{i:0;i:265;}i:266;a:1:{i:0;i:267;}i:268;a:1:{i:0;i:269;}i:270;a:1:{i:0;i:271;}i:272;a:1:{i:0;i:273;}i:274;a:1:{i:0;i:275;}i:276;a:1:{i:0;i:277;}i:278;a:1:{i:0;i:279;}i:280;a:1:{i:0;i:281;}i:282;a:1:{i:0;i:283;}i:284;a:1:{i:0;i:285;}i:286;a:1:{i:0;i:287;}i:288;a:1:{i:0;i:289;}i:290;a:1:{i:0;i:291;}i:292;a:1:{i:0;i:293;}i:294;a:1:{i:0;i:295;}i:296;a:1:{i:0;i:297;}i:298;a:1:{i:0;i:299;}i:300;a:1:{i:0;i:301;}i:302;a:1:{i:0;i:303;}i:304;a:2:{i:0;i:105;i:1;i:775;}i:306;a:1:{i:0;i:307;}i:308;a:1:{i:0;i:309;}i:310;a:1:{i:0;i:311;}i:313;a:1:{i:0;i:314;}i:315;a:1:{i:0;i:316;}i:317;a:1:{i:0;i:318;}i:319;a:1:{i:0;i:320;}i:321;a:1:{i:0;i:322;}i:323;a:1:{i:0;i:324;}i:325;a:1:{i:0;i:326;}i:327;a:1:{i:0;i:328;}i:329;a:2:{i:0;i:700;i:1;i:110;}i:330;a:1:{i:0;i:331;}i:332;a:1:{i:0;i:333;}i:334;a:1:{i:0;i:335;}i:336;a:1:{i:0;i:337;}i:338;a:1:{i:0;i:339;}i:340;a:1:{i:0;i:341;}i:342;a:1:{i:0;i:343;}i:344;a:1:{i:0;i:345;}i:346;a:1:{i:0;i:347;}i:348;a:1:{i:0;i:349;}i:350;a:1:{i:0;i:351;}i:352;a:1:{i:0;i:353;}i:354;a:1:{i:0;i:355;}i:356;a:1:{i:0;i:357;}i:358;a:1:{i:0;i:359;}i:360;a:1:{i:0;i:361;}i:362;a:1:{i:0;i:363;}i:364;a:1:{i:0;i:365;}i:366;a:1:{i:0;i:367;}i:368;a:1:{i:0;i:369;}i:370;a:1:{i:0;i:371;}i:372;a:1:{i:0;i:373;}i:374;a:1:{i:0;i:375;}i:376;a:1:{i:0;i:255;}i:377;a:1:{i:0;i:378;}i:379;a:1:{i:0;i:380;}i:381;a:1:{i:0;i:382;}i:383;a:1:{i:0;i:115;}i:385;a:1:{i:0;i:595;}i:386;a:1:{i:0;i:387;}i:388;a:1:{i:0;i:389;}i:390;a:1:{i:0;i:596;}i:391;a:1:{i:0;i:392;}i:393;a:1:{i:0;i:598;}i:394;a:1:{i:0;i:599;}i:395;a:1:{i:0;i:396;}i:398;a:1:{i:0;i:477;}i:399;a:1:{i:0;i:601;}i:400;a:1:{i:0;i:603;}i:401;a:1:{i:0;i:402;}i:403;a:1:{i:0;i:608;}i:404;a:1:{i:0;i:611;}i:406;a:1:{i:0;i:617;}i:407;a:1:{i:0;i:616;}i:408;a:1:{i:0;i:409;}i:412;a:1:{i:0;i:623;}i:413;a:1:{i:0;i:626;}i:415;a:1:{i:0;i:629;}i:416;a:1:{i:0;i:417;}i:418;a:1:{i:0;i:419;}i:420;a:1:{i:0;i:421;}i:422;a:1:{i:0;i:640;}i:423;a:1:{i:0;i:424;}i:425;a:1:{i:0;i:643;}i:428;a:1:{i:0;i:429;}i:430;a:1:{i:0;i:648;}i:431;a:1:{i:0;i:432;}i:433;a:1:{i:0;i:650;}i:434;a:1:{i:0;i:651;}i:435;a:1:{i:0;i:436;}i:437;a:1:{i:0;i:438;}i:439;a:1:{i:0;i:658;}i:440;a:1:{i:0;i:441;}i:444;a:1:{i:0;i:445;}i:452;a:1:{i:0;i:454;}i:453;a:1:{i:0;i:454;}i:455;a:1:{i:0;i:457;}i:456;a:1:{i:0;i:457;}i:458;a:1:{i:0;i:460;}i:459;a:1:{i:0;i:460;}i:461;a:1:{i:0;i:462;}i:463;a:1:{i:0;i:464;}i:465;a:1:{i:0;i:466;}i:467;a:1:{i:0;i:468;}i:469;a:1:{i:0;i:470;}i:471;a:1:{i:0;i:472;}i:473;a:1:{i:0;i:474;}i:475;a:1:{i:0;i:476;}i:478;a:1:{i:0;i:479;}i:480;a:1:{i:0;i:481;}i:482;a:1:{i:0;i:483;}i:484;a:1:{i:0;i:485;}i:486;a:1:{i:0;i:487;}i:488;a:1:{i:0;i:489;}i:490;a:1:{i:0;i:491;}i:492;a:1:{i:0;i:493;}i:494;a:1:{i:0;i:495;}i:496;a:2:{i:0;i:106;i:1;i:780;}i:497;a:1:{i:0;i:499;}i:498;a:1:{i:0;i:499;}i:500;a:1:{i:0;i:501;}i:502;a:1:{i:0;i:405;}i:503;a:1:{i:0;i:447;}i:504;a:1:{i:0;i:505;}i:506;a:1:{i:0;i:507;}i:508;a:1:{i:0;i:509;}i:510;a:1:{i:0;i:511;}i:512;a:1:{i:0;i:513;}i:514;a:1:{i:0;i:515;}i:516;a:1:{i:0;i:517;}i:518;a:1:{i:0;i:519;}i:520;a:1:{i:0;i:521;}i:522;a:1:{i:0;i:523;}i:524;a:1:{i:0;i:525;}i:526;a:1:{i:0;i:527;}i:528;a:1:{i:0;i:529;}i:530;a:1:{i:0;i:531;}i:532;a:1:{i:0;i:533;}i:534;a:1:{i:0;i:535;}i:536;a:1:{i:0;i:537;}i:538;a:1:{i:0;i:539;}i:540;a:1:{i:0;i:541;}i:542;a:1:{i:0;i:543;}i:544;a:1:{i:0;i:414;}i:546;a:1:{i:0;i:547;}i:548;a:1:{i:0;i:549;}i:550;a:1:{i:0;i:551;}i:552;a:1:{i:0;i:553;}i:554;a:1:{i:0;i:555;}i:556;a:1:{i:0;i:557;}i:558;a:1:{i:0;i:559;}i:560;a:1:{i:0;i:561;}i:562;a:1:{i:0;i:563;}i:837;a:1:{i:0;i:953;}i:890;a:2:{i:0;i:32;i:1;i:953;}i:902;a:1:{i:0;i:940;}i:904;a:1:{i:0;i:941;}i:905;a:1:{i:0;i:942;}i:906;a:1:{i:0;i:943;}i:908;a:1:{i:0;i:972;}i:910;a:1:{i:0;i:973;}i:911;a:1:{i:0;i:974;}i:912;a:3:{i:0;i:953;i:1;i:776;i:2;i:769;}i:913;a:1:{i:0;i:945;}i:914;a:1:{i:0;i:946;}i:915;a:1:{i:0;i:947;}i:916;a:1:{i:0;i:948;}i:917;a:1:{i:0;i:949;}i:918;a:1:{i:0;i:950;}i:919;a:1:{i:0;i:951;}i:920;a:1:{i:0;i:952;}i:921;a:1:{i:0;i:953;}i:922;a:1:{i:0;i:954;}i:923;a:1:{i:0;i:955;}i:924;a:1:{i:0;i:956;}i:925;a:1:{i:0;i:957;}i:926;a:1:{i:0;i:958;}i:927;a:1:{i:0;i:959;}i:928;a:1:{i:0;i:960;}i:929;a:1:{i:0;i:961;}i:931;a:1:{i:0;i:963;}i:932;a:1:{i:0;i:964;}i:933;a:1:{i:0;i:965;}i:934;a:1:{i:0;i:966;}i:935;a:1:{i:0;i:967;}i:936;a:1:{i:0;i:968;}i:937;a:1:{i:0;i:969;}i:938;a:1:{i:0;i:970;}i:939;a:1:{i:0;i:971;}i:944;a:3:{i:0;i:965;i:1;i:776;i:2;i:769;}i:962;a:1:{i:0;i:963;}i:976;a:1:{i:0;i:946;}i:977;a:1:{i:0;i:952;}i:978;a:1:{i:0;i:965;}i:979;a:1:{i:0;i:973;}i:980;a:1:{i:0;i:971;}i:981;a:1:{i:0;i:966;}i:982;a:1:{i:0;i:960;}i:984;a:1:{i:0;i:985;}i:986;a:1:{i:0;i:987;}i:988;a:1:{i:0;i:989;}i:990;a:1:{i:0;i:991;}i:992;a:1:{i:0;i:993;}i:994;a:1:{i:0;i:995;}i:996;a:1:{i:0;i:997;}i:998;a:1:{i:0;i:999;}i:1000;a:1:{i:0;i:1001;}i:1002;a:1:{i:0;i:1003;}i:1004;a:1:{i:0;i:1005;}i:1006;a:1:{i:0;i:1007;}i:1008;a:1:{i:0;i:954;}i:1009;a:1:{i:0;i:961;}i:1010;a:1:{i:0;i:963;}i:1012;a:1:{i:0;i:952;}i:1013;a:1:{i:0;i:949;}i:1024;a:1:{i:0;i:1104;}i:1025;a:1:{i:0;i:1105;}i:1026;a:1:{i:0;i:1106;}i:1027;a:1:{i:0;i:1107;}i:1028;a:1:{i:0;i:1108;}i:1029;a:1:{i:0;i:1109;}i:1030;a:1:{i:0;i:1110;}i:1031;a:1:{i:0;i:1111;}i:1032;a:1:{i:0;i:1112;}i:1033;a:1:{i:0;i:1113;}i:1034;a:1:{i:0;i:1114;}i:1035;a:1:{i:0;i:1115;}i:1036;a:1:{i:0;i:1116;}i:1037;a:1:{i:0;i:1117;}i:1038;a:1:{i:0;i:1118;}i:1039;a:1:{i:0;i:1119;}i:1040;a:1:{i:0;i:1072;}i:1041;a:1:{i:0;i:1073;}i:1042;a:1:{i:0;i:1074;}i:1043;a:1:{i:0;i:1075;}i:1044;a:1:{i:0;i:1076;}i:1045;a:1:{i:0;i:1077;}i:1046;a:1:{i:0;i:1078;}i:1047;a:1:{i:0;i:1079;}i:1048;a:1:{i:0;i:1080;}i:1049;a:1:{i:0;i:1081;}i:1050;a:1:{i:0;i:1082;}i:1051;a:1:{i:0;i:1083;}i:1052;a:1:{i:0;i:1084;}i:1053;a:1:{i:0;i:1085;}i:1054;a:1:{i:0;i:1086;}i:1055;a:1:{i:0;i:1087;}i:1056;a:1:{i:0;i:1088;}i:1057;a:1:{i:0;i:1089;}i:1058;a:1:{i:0;i:1090;}i:1059;a:1:{i:0;i:1091;}i:1060;a:1:{i:0;i:1092;}i:1061;a:1:{i:0;i:1093;}i:1062;a:1:{i:0;i:1094;}i:1063;a:1:{i:0;i:1095;}i:1064;a:1:{i:0;i:1096;}i:1065;a:1:{i:0;i:1097;}i:1066;a:1:{i:0;i:1098;}i:1067;a:1:{i:0;i:1099;}i:1068;a:1:{i:0;i:1100;}i:1069;a:1:{i:0;i:1101;}i:1070;a:1:{i:0;i:1102;}i:1071;a:1:{i:0;i:1103;}i:1120;a:1:{i:0;i:1121;}i:1122;a:1:{i:0;i:1123;}i:1124;a:1:{i:0;i:1125;}i:1126;a:1:{i:0;i:1127;}i:1128;a:1:{i:0;i:1129;}i:1130;a:1:{i:0;i:1131;}i:1132;a:1:{i:0;i:1133;}i:1134;a:1:{i:0;i:1135;}i:1136;a:1:{i:0;i:1137;}i:1138;a:1:{i:0;i:1139;}i:1140;a:1:{i:0;i:1141;}i:1142;a:1:{i:0;i:1143;}i:1144;a:1:{i:0;i:1145;}i:1146;a:1:{i:0;i:1147;}i:1148;a:1:{i:0;i:1149;}i:1150;a:1:{i:0;i:1151;}i:1152;a:1:{i:0;i:1153;}i:1162;a:1:{i:0;i:1163;}i:1164;a:1:{i:0;i:1165;}i:1166;a:1:{i:0;i:1167;}i:1168;a:1:{i:0;i:1169;}i:1170;a:1:{i:0;i:1171;}i:1172;a:1:{i:0;i:1173;}i:1174;a:1:{i:0;i:1175;}i:1176;a:1:{i:0;i:1177;}i:1178;a:1:{i:0;i:1179;}i:1180;a:1:{i:0;i:1181;}i:1182;a:1:{i:0;i:1183;}i:1184;a:1:{i:0;i:1185;}i:1186;a:1:{i:0;i:1187;}i:1188;a:1:{i:0;i:1189;}i:1190;a:1:{i:0;i:1191;}i:1192;a:1:{i:0;i:1193;}i:1194;a:1:{i:0;i:1195;}i:1196;a:1:{i:0;i:1197;}i:1198;a:1:{i:0;i:1199;}i:1200;a:1:{i:0;i:1201;}i:1202;a:1:{i:0;i:1203;}i:1204;a:1:{i:0;i:1205;}i:1206;a:1:{i:0;i:1207;}i:1208;a:1:{i:0;i:1209;}i:1210;a:1:{i:0;i:1211;}i:1212;a:1:{i:0;i:1213;}i:1214;a:1:{i:0;i:1215;}i:1217;a:1:{i:0;i:1218;}i:1219;a:1:{i:0;i:1220;}i:1221;a:1:{i:0;i:1222;}i:1223;a:1:{i:0;i:1224;}i:1225;a:1:{i:0;i:1226;}i:1227;a:1:{i:0;i:1228;}i:1229;a:1:{i:0;i:1230;}i:1232;a:1:{i:0;i:1233;}i:1234;a:1:{i:0;i:1235;}i:1236;a:1:{i:0;i:1237;}i:1238;a:1:{i:0;i:1239;}i:1240;a:1:{i:0;i:1241;}i:1242;a:1:{i:0;i:1243;}i:1244;a:1:{i:0;i:1245;}i:1246;a:1:{i:0;i:1247;}i:1248;a:1:{i:0;i:1249;}i:1250;a:1:{i:0;i:1251;}i:1252;a:1:{i:0;i:1253;}i:1254;a:1:{i:0;i:1255;}i:1256;a:1:{i:0;i:1257;}i:1258;a:1:{i:0;i:1259;}i:1260;a:1:{i:0;i:1261;}i:1262;a:1:{i:0;i:1263;}i:1264;a:1:{i:0;i:1265;}i:1266;a:1:{i:0;i:1267;}i:1268;a:1:{i:0;i:1269;}i:1272;a:1:{i:0;i:1273;}i:1280;a:1:{i:0;i:1281;}i:1282;a:1:{i:0;i:1283;}i:1284;a:1:{i:0;i:1285;}i:1286;a:1:{i:0;i:1287;}i:1288;a:1:{i:0;i:1289;}i:1290;a:1:{i:0;i:1291;}i:1292;a:1:{i:0;i:1293;}i:1294;a:1:{i:0;i:1295;}i:1329;a:1:{i:0;i:1377;}i:1330;a:1:{i:0;i:1378;}i:1331;a:1:{i:0;i:1379;}i:1332;a:1:{i:0;i:1380;}i:1333;a:1:{i:0;i:1381;}i:1334;a:1:{i:0;i:1382;}i:1335;a:1:{i:0;i:1383;}i:1336;a:1:{i:0;i:1384;}i:1337;a:1:{i:0;i:1385;}i:1338;a:1:{i:0;i:1386;}i:1339;a:1:{i:0;i:1387;}i:1340;a:1:{i:0;i:1388;}i:1341;a:1:{i:0;i:1389;}i:1342;a:1:{i:0;i:1390;}i:1343;a:1:{i:0;i:1391;}i:1344;a:1:{i:0;i:1392;}i:1345;a:1:{i:0;i:1393;}i:1346;a:1:{i:0;i:1394;}i:1347;a:1:{i:0;i:1395;}i:1348;a:1:{i:0;i:1396;}i:1349;a:1:{i:0;i:1397;}i:1350;a:1:{i:0;i:1398;}i:1351;a:1:{i:0;i:1399;}i:1352;a:1:{i:0;i:1400;}i:1353;a:1:{i:0;i:1401;}i:1354;a:1:{i:0;i:1402;}i:1355;a:1:{i:0;i:1403;}i:1356;a:1:{i:0;i:1404;}i:1357;a:1:{i:0;i:1405;}i:1358;a:1:{i:0;i:1406;}i:1359;a:1:{i:0;i:1407;}i:1360;a:1:{i:0;i:1408;}i:1361;a:1:{i:0;i:1409;}i:1362;a:1:{i:0;i:1410;}i:1363;a:1:{i:0;i:1411;}i:1364;a:1:{i:0;i:1412;}i:1365;a:1:{i:0;i:1413;}i:1366;a:1:{i:0;i:1414;}i:1415;a:2:{i:0;i:1381;i:1;i:1410;}i:7680;a:1:{i:0;i:7681;}i:7682;a:1:{i:0;i:7683;}i:7684;a:1:{i:0;i:7685;}i:7686;a:1:{i:0;i:7687;}i:7688;a:1:{i:0;i:7689;}i:7690;a:1:{i:0;i:7691;}i:7692;a:1:{i:0;i:7693;}i:7694;a:1:{i:0;i:7695;}i:7696;a:1:{i:0;i:7697;}i:7698;a:1:{i:0;i:7699;}i:7700;a:1:{i:0;i:7701;}i:7702;a:1:{i:0;i:7703;}i:7704;a:1:{i:0;i:7705;}i:7706;a:1:{i:0;i:7707;}i:7708;a:1:{i:0;i:7709;}i:7710;a:1:{i:0;i:7711;}i:7712;a:1:{i:0;i:7713;}i:7714;a:1:{i:0;i:7715;}i:7716;a:1:{i:0;i:7717;}i:7718;a:1:{i:0;i:7719;}i:7720;a:1:{i:0;i:7721;}i:7722;a:1:{i:0;i:7723;}i:7724;a:1:{i:0;i:7725;}i:7726;a:1:{i:0;i:7727;}i:7728;a:1:{i:0;i:7729;}i:7730;a:1:{i:0;i:7731;}i:7732;a:1:{i:0;i:7733;}i:7734;a:1:{i:0;i:7735;}i:7736;a:1:{i:0;i:7737;}i:7738;a:1:{i:0;i:7739;}i:7740;a:1:{i:0;i:7741;}i:7742;a:1:{i:0;i:7743;}i:7744;a:1:{i:0;i:7745;}i:7746;a:1:{i:0;i:7747;}i:7748;a:1:{i:0;i:7749;}i:7750;a:1:{i:0;i:7751;}i:7752;a:1:{i:0;i:7753;}i:7754;a:1:{i:0;i:7755;}i:7756;a:1:{i:0;i:7757;}i:7758;a:1:{i:0;i:7759;}i:7760;a:1:{i:0;i:7761;}i:7762;a:1:{i:0;i:7763;}i:7764;a:1:{i:0;i:7765;}i:7766;a:1:{i:0;i:7767;}i:7768;a:1:{i:0;i:7769;}i:7770;a:1:{i:0;i:7771;}i:7772;a:1:{i:0;i:7773;}i:7774;a:1:{i:0;i:7775;}i:7776;a:1:{i:0;i:7777;}i:7778;a:1:{i:0;i:7779;}i:7780;a:1:{i:0;i:7781;}i:7782;a:1:{i:0;i:7783;}i:7784;a:1:{i:0;i:7785;}i:7786;a:1:{i:0;i:7787;}i:7788;a:1:{i:0;i:7789;}i:7790;a:1:{i:0;i:7791;}i:7792;a:1:{i:0;i:7793;}i:7794;a:1:{i:0;i:7795;}i:7796;a:1:{i:0;i:7797;}i:7798;a:1:{i:0;i:7799;}i:7800;a:1:{i:0;i:7801;}i:7802;a:1:{i:0;i:7803;}i:7804;a:1:{i:0;i:7805;}i:7806;a:1:{i:0;i:7807;}i:7808;a:1:{i:0;i:7809;}i:7810;a:1:{i:0;i:7811;}i:7812;a:1:{i:0;i:7813;}i:7814;a:1:{i:0;i:7815;}i:7816;a:1:{i:0;i:7817;}i:7818;a:1:{i:0;i:7819;}i:7820;a:1:{i:0;i:7821;}i:7822;a:1:{i:0;i:7823;}i:7824;a:1:{i:0;i:7825;}i:7826;a:1:{i:0;i:7827;}i:7828;a:1:{i:0;i:7829;}i:7830;a:2:{i:0;i:104;i:1;i:817;}i:7831;a:2:{i:0;i:116;i:1;i:776;}i:7832;a:2:{i:0;i:119;i:1;i:778;}i:7833;a:2:{i:0;i:121;i:1;i:778;}i:7834;a:2:{i:0;i:97;i:1;i:702;}i:7835;a:1:{i:0;i:7777;}i:7840;a:1:{i:0;i:7841;}i:7842;a:1:{i:0;i:7843;}i:7844;a:1:{i:0;i:7845;}i:7846;a:1:{i:0;i:7847;}i:7848;a:1:{i:0;i:7849;}i:7850;a:1:{i:0;i:7851;}i:7852;a:1:{i:0;i:7853;}i:7854;a:1:{i:0;i:7855;}i:7856;a:1:{i:0;i:7857;}i:7858;a:1:{i:0;i:7859;}i:7860;a:1:{i:0;i:7861;}i:7862;a:1:{i:0;i:7863;}i:7864;a:1:{i:0;i:7865;}i:7866;a:1:{i:0;i:7867;}i:7868;a:1:{i:0;i:7869;}i:7870;a:1:{i:0;i:7871;}i:7872;a:1:{i:0;i:7873;}i:7874;a:1:{i:0;i:7875;}i:7876;a:1:{i:0;i:7877;}i:7878;a:1:{i:0;i:7879;}i:7880;a:1:{i:0;i:7881;}i:7882;a:1:{i:0;i:7883;}i:7884;a:1:{i:0;i:7885;}i:7886;a:1:{i:0;i:7887;}i:7888;a:1:{i:0;i:7889;}i:7890;a:1:{i:0;i:7891;}i:7892;a:1:{i:0;i:7893;}i:7894;a:1:{i:0;i:7895;}i:7896;a:1:{i:0;i:7897;}i:7898;a:1:{i:0;i:7899;}i:7900;a:1:{i:0;i:7901;}i:7902;a:1:{i:0;i:7903;}i:7904;a:1:{i:0;i:7905;}i:7906;a:1:{i:0;i:7907;}i:7908;a:1:{i:0;i:7909;}i:7910;a:1:{i:0;i:7911;}i:7912;a:1:{i:0;i:7913;}i:7914;a:1:{i:0;i:7915;}i:7916;a:1:{i:0;i:7917;}i:7918;a:1:{i:0;i:7919;}i:7920;a:1:{i:0;i:7921;}i:7922;a:1:{i:0;i:7923;}i:7924;a:1:{i:0;i:7925;}i:7926;a:1:{i:0;i:7927;}i:7928;a:1:{i:0;i:7929;}i:7944;a:1:{i:0;i:7936;}i:7945;a:1:{i:0;i:7937;}i:7946;a:1:{i:0;i:7938;}i:7947;a:1:{i:0;i:7939;}i:7948;a:1:{i:0;i:7940;}i:7949;a:1:{i:0;i:7941;}i:7950;a:1:{i:0;i:7942;}i:7951;a:1:{i:0;i:7943;}i:7960;a:1:{i:0;i:7952;}i:7961;a:1:{i:0;i:7953;}i:7962;a:1:{i:0;i:7954;}i:7963;a:1:{i:0;i:7955;}i:7964;a:1:{i:0;i:7956;}i:7965;a:1:{i:0;i:7957;}i:7976;a:1:{i:0;i:7968;}i:7977;a:1:{i:0;i:7969;}i:7978;a:1:{i:0;i:7970;}i:7979;a:1:{i:0;i:7971;}i:7980;a:1:{i:0;i:7972;}i:7981;a:1:{i:0;i:7973;}i:7982;a:1:{i:0;i:7974;}i:7983;a:1:{i:0;i:7975;}i:7992;a:1:{i:0;i:7984;}i:7993;a:1:{i:0;i:7985;}i:7994;a:1:{i:0;i:7986;}i:7995;a:1:{i:0;i:7987;}i:7996;a:1:{i:0;i:7988;}i:7997;a:1:{i:0;i:7989;}i:7998;a:1:{i:0;i:7990;}i:7999;a:1:{i:0;i:7991;}i:8008;a:1:{i:0;i:8000;}i:8009;a:1:{i:0;i:8001;}i:8010;a:1:{i:0;i:8002;}i:8011;a:1:{i:0;i:8003;}i:8012;a:1:{i:0;i:8004;}i:8013;a:1:{i:0;i:8005;}i:8016;a:2:{i:0;i:965;i:1;i:787;}i:8018;a:3:{i:0;i:965;i:1;i:787;i:2;i:768;}i:8020;a:3:{i:0;i:965;i:1;i:787;i:2;i:769;}i:8022;a:3:{i:0;i:965;i:1;i:787;i:2;i:834;}i:8025;a:1:{i:0;i:8017;}i:8027;a:1:{i:0;i:8019;}i:8029;a:1:{i:0;i:8021;}i:8031;a:1:{i:0;i:8023;}i:8040;a:1:{i:0;i:8032;}i:8041;a:1:{i:0;i:8033;}i:8042;a:1:{i:0;i:8034;}i:8043;a:1:{i:0;i:8035;}i:8044;a:1:{i:0;i:8036;}i:8045;a:1:{i:0;i:8037;}i:8046;a:1:{i:0;i:8038;}i:8047;a:1:{i:0;i:8039;}i:8064;a:2:{i:0;i:7936;i:1;i:953;}i:8065;a:2:{i:0;i:7937;i:1;i:953;}i:8066;a:2:{i:0;i:7938;i:1;i:953;}i:8067;a:2:{i:0;i:7939;i:1;i:953;}i:8068;a:2:{i:0;i:7940;i:1;i:953;}i:8069;a:2:{i:0;i:7941;i:1;i:953;}i:8070;a:2:{i:0;i:7942;i:1;i:953;}i:8071;a:2:{i:0;i:7943;i:1;i:953;}i:8072;a:2:{i:0;i:7936;i:1;i:953;}i:8073;a:2:{i:0;i:7937;i:1;i:953;}i:8074;a:2:{i:0;i:7938;i:1;i:953;}i:8075;a:2:{i:0;i:7939;i:1;i:953;}i:8076;a:2:{i:0;i:7940;i:1;i:953;}i:8077;a:2:{i:0;i:7941;i:1;i:953;}i:8078;a:2:{i:0;i:7942;i:1;i:953;}i:8079;a:2:{i:0;i:7943;i:1;i:953;}i:8080;a:2:{i:0;i:7968;i:1;i:953;}i:8081;a:2:{i:0;i:7969;i:1;i:953;}i:8082;a:2:{i:0;i:7970;i:1;i:953;}i:8083;a:2:{i:0;i:7971;i:1;i:953;}i:8084;a:2:{i:0;i:7972;i:1;i:953;}i:8085;a:2:{i:0;i:7973;i:1;i:953;}i:8086;a:2:{i:0;i:7974;i:1;i:953;}i:8087;a:2:{i:0;i:7975;i:1;i:953;}i:8088;a:2:{i:0;i:7968;i:1;i:953;}i:8089;a:2:{i:0;i:7969;i:1;i:953;}i:8090;a:2:{i:0;i:7970;i:1;i:953;}i:8091;a:2:{i:0;i:7971;i:1;i:953;}i:8092;a:2:{i:0;i:7972;i:1;i:953;}i:8093;a:2:{i:0;i:7973;i:1;i:953;}i:8094;a:2:{i:0;i:7974;i:1;i:953;}i:8095;a:2:{i:0;i:7975;i:1;i:953;}i:8096;a:2:{i:0;i:8032;i:1;i:953;}i:8097;a:2:{i:0;i:8033;i:1;i:953;}i:8098;a:2:{i:0;i:8034;i:1;i:953;}i:8099;a:2:{i:0;i:8035;i:1;i:953;}i:8100;a:2:{i:0;i:8036;i:1;i:953;}i:8101;a:2:{i:0;i:8037;i:1;i:953;}i:8102;a:2:{i:0;i:8038;i:1;i:953;}i:8103;a:2:{i:0;i:8039;i:1;i:953;}i:8104;a:2:{i:0;i:8032;i:1;i:953;}i:8105;a:2:{i:0;i:8033;i:1;i:953;}i:8106;a:2:{i:0;i:8034;i:1;i:953;}i:8107;a:2:{i:0;i:8035;i:1;i:953;}i:8108;a:2:{i:0;i:8036;i:1;i:953;}i:8109;a:2:{i:0;i:8037;i:1;i:953;}i:8110;a:2:{i:0;i:8038;i:1;i:953;}i:8111;a:2:{i:0;i:8039;i:1;i:953;}i:8114;a:2:{i:0;i:8048;i:1;i:953;}i:8115;a:2:{i:0;i:945;i:1;i:953;}i:8116;a:2:{i:0;i:940;i:1;i:953;}i:8118;a:2:{i:0;i:945;i:1;i:834;}i:8119;a:3:{i:0;i:945;i:1;i:834;i:2;i:953;}i:8120;a:1:{i:0;i:8112;}i:8121;a:1:{i:0;i:8113;}i:8122;a:1:{i:0;i:8048;}i:8123;a:1:{i:0;i:8049;}i:8124;a:2:{i:0;i:945;i:1;i:953;}i:8126;a:1:{i:0;i:953;}i:8130;a:2:{i:0;i:8052;i:1;i:953;}i:8131;a:2:{i:0;i:951;i:1;i:953;}i:8132;a:2:{i:0;i:942;i:1;i:953;}i:8134;a:2:{i:0;i:951;i:1;i:834;}i:8135;a:3:{i:0;i:951;i:1;i:834;i:2;i:953;}i:8136;a:1:{i:0;i:8050;}i:8137;a:1:{i:0;i:8051;}i:8138;a:1:{i:0;i:8052;}i:8139;a:1:{i:0;i:8053;}i:8140;a:2:{i:0;i:951;i:1;i:953;}i:8146;a:3:{i:0;i:953;i:1;i:776;i:2;i:768;}i:8147;a:3:{i:0;i:953;i:1;i:776;i:2;i:769;}i:8150;a:2:{i:0;i:953;i:1;i:834;}i:8151;a:3:{i:0;i:953;i:1;i:776;i:2;i:834;}i:8152;a:1:{i:0;i:8144;}i:8153;a:1:{i:0;i:8145;}i:8154;a:1:{i:0;i:8054;}i:8155;a:1:{i:0;i:8055;}i:8162;a:3:{i:0;i:965;i:1;i:776;i:2;i:768;}i:8163;a:3:{i:0;i:965;i:1;i:776;i:2;i:769;}i:8164;a:2:{i:0;i:961;i:1;i:787;}i:8166;a:2:{i:0;i:965;i:1;i:834;}i:8167;a:3:{i:0;i:965;i:1;i:776;i:2;i:834;}i:8168;a:1:{i:0;i:8160;}i:8169;a:1:{i:0;i:8161;}i:8170;a:1:{i:0;i:8058;}i:8171;a:1:{i:0;i:8059;}i:8172;a:1:{i:0;i:8165;}i:8178;a:2:{i:0;i:8060;i:1;i:953;}i:8179;a:2:{i:0;i:969;i:1;i:953;}i:8180;a:2:{i:0;i:974;i:1;i:953;}i:8182;a:2:{i:0;i:969;i:1;i:834;}i:8183;a:3:{i:0;i:969;i:1;i:834;i:2;i:953;}i:8184;a:1:{i:0;i:8056;}i:8185;a:1:{i:0;i:8057;}i:8186;a:1:{i:0;i:8060;}i:8187;a:1:{i:0;i:8061;}i:8188;a:2:{i:0;i:969;i:1;i:953;}i:8360;a:2:{i:0;i:114;i:1;i:115;}i:8450;a:1:{i:0;i:99;}i:8451;a:2:{i:0;i:176;i:1;i:99;}i:8455;a:1:{i:0;i:603;}i:8457;a:2:{i:0;i:176;i:1;i:102;}i:8459;a:1:{i:0;i:104;}i:8460;a:1:{i:0;i:104;}i:8461;a:1:{i:0;i:104;}i:8464;a:1:{i:0;i:105;}i:8465;a:1:{i:0;i:105;}i:8466;a:1:{i:0;i:108;}i:8469;a:1:{i:0;i:110;}i:8470;a:2:{i:0;i:110;i:1;i:111;}i:8473;a:1:{i:0;i:112;}i:8474;a:1:{i:0;i:113;}i:8475;a:1:{i:0;i:114;}i:8476;a:1:{i:0;i:114;}i:8477;a:1:{i:0;i:114;}i:8480;a:2:{i:0;i:115;i:1;i:109;}i:8481;a:3:{i:0;i:116;i:1;i:101;i:2;i:108;}i:8482;a:2:{i:0;i:116;i:1;i:109;}i:8484;a:1:{i:0;i:122;}i:8486;a:1:{i:0;i:969;}i:8488;a:1:{i:0;i:122;}i:8490;a:1:{i:0;i:107;}i:8491;a:1:{i:0;i:229;}i:8492;a:1:{i:0;i:98;}i:8493;a:1:{i:0;i:99;}i:8496;a:1:{i:0;i:101;}i:8497;a:1:{i:0;i:102;}i:8499;a:1:{i:0;i:109;}i:8510;a:1:{i:0;i:947;}i:8511;a:1:{i:0;i:960;}i:8517;a:1:{i:0;i:100;}i:8544;a:1:{i:0;i:8560;}i:8545;a:1:{i:0;i:8561;}i:8546;a:1:{i:0;i:8562;}i:8547;a:1:{i:0;i:8563;}i:8548;a:1:{i:0;i:8564;}i:8549;a:1:{i:0;i:8565;}i:8550;a:1:{i:0;i:8566;}i:8551;a:1:{i:0;i:8567;}i:8552;a:1:{i:0;i:8568;}i:8553;a:1:{i:0;i:8569;}i:8554;a:1:{i:0;i:8570;}i:8555;a:1:{i:0;i:8571;}i:8556;a:1:{i:0;i:8572;}i:8557;a:1:{i:0;i:8573;}i:8558;a:1:{i:0;i:8574;}i:8559;a:1:{i:0;i:8575;}i:9398;a:1:{i:0;i:9424;}i:9399;a:1:{i:0;i:9425;}i:9400;a:1:{i:0;i:9426;}i:9401;a:1:{i:0;i:9427;}i:9402;a:1:{i:0;i:9428;}i:9403;a:1:{i:0;i:9429;}i:9404;a:1:{i:0;i:9430;}i:9405;a:1:{i:0;i:9431;}i:9406;a:1:{i:0;i:9432;}i:9407;a:1:{i:0;i:9433;}i:9408;a:1:{i:0;i:9434;}i:9409;a:1:{i:0;i:9435;}i:9410;a:1:{i:0;i:9436;}i:9411;a:1:{i:0;i:9437;}i:9412;a:1:{i:0;i:9438;}i:9413;a:1:{i:0;i:9439;}i:9414;a:1:{i:0;i:9440;}i:9415;a:1:{i:0;i:9441;}i:9416;a:1:{i:0;i:9442;}i:9417;a:1:{i:0;i:9443;}i:9418;a:1:{i:0;i:9444;}i:9419;a:1:{i:0;i:9445;}i:9420;a:1:{i:0;i:9446;}i:9421;a:1:{i:0;i:9447;}i:9422;a:1:{i:0;i:9448;}i:9423;a:1:{i:0;i:9449;}i:13169;a:3:{i:0;i:104;i:1;i:112;i:2;i:97;}i:13171;a:2:{i:0;i:97;i:1;i:117;}i:13173;a:2:{i:0;i:111;i:1;i:118;}i:13184;a:2:{i:0;i:112;i:1;i:97;}i:13185;a:2:{i:0;i:110;i:1;i:97;}i:13186;a:2:{i:0;i:956;i:1;i:97;}i:13187;a:2:{i:0;i:109;i:1;i:97;}i:13188;a:2:{i:0;i:107;i:1;i:97;}i:13189;a:2:{i:0;i:107;i:1;i:98;}i:13190;a:2:{i:0;i:109;i:1;i:98;}i:13191;a:2:{i:0;i:103;i:1;i:98;}i:13194;a:2:{i:0;i:112;i:1;i:102;}i:13195;a:2:{i:0;i:110;i:1;i:102;}i:13196;a:2:{i:0;i:956;i:1;i:102;}i:13200;a:2:{i:0;i:104;i:1;i:122;}i:13201;a:3:{i:0;i:107;i:1;i:104;i:2;i:122;}i:13202;a:3:{i:0;i:109;i:1;i:104;i:2;i:122;}i:13203;a:3:{i:0;i:103;i:1;i:104;i:2;i:122;}i:13204;a:3:{i:0;i:116;i:1;i:104;i:2;i:122;}i:13225;a:2:{i:0;i:112;i:1;i:97;}i:13226;a:3:{i:0;i:107;i:1;i:112;i:2;i:97;}i:13227;a:3:{i:0;i:109;i:1;i:112;i:2;i:97;}i:13228;a:3:{i:0;i:103;i:1;i:112;i:2;i:97;}i:13236;a:2:{i:0;i:112;i:1;i:118;}i:13237;a:2:{i:0;i:110;i:1;i:118;}i:13238;a:2:{i:0;i:956;i:1;i:118;}i:13239;a:2:{i:0;i:109;i:1;i:118;}i:13240;a:2:{i:0;i:107;i:1;i:118;}i:13241;a:2:{i:0;i:109;i:1;i:118;}i:13242;a:2:{i:0;i:112;i:1;i:119;}i:13243;a:2:{i:0;i:110;i:1;i:119;}i:13244;a:2:{i:0;i:956;i:1;i:119;}i:13245;a:2:{i:0;i:109;i:1;i:119;}i:13246;a:2:{i:0;i:107;i:1;i:119;}i:13247;a:2:{i:0;i:109;i:1;i:119;}i:13248;a:2:{i:0;i:107;i:1;i:969;}i:13249;a:2:{i:0;i:109;i:1;i:969;}i:13251;a:2:{i:0;i:98;i:1;i:113;}i:13254;a:4:{i:0;i:99;i:1;i:8725;i:2;i:107;i:3;i:103;}i:13255;a:3:{i:0;i:99;i:1;i:111;i:2;i:46;}i:13256;a:2:{i:0;i:100;i:1;i:98;}i:13257;a:2:{i:0;i:103;i:1;i:121;}i:13259;a:2:{i:0;i:104;i:1;i:112;}i:13261;a:2:{i:0;i:107;i:1;i:107;}i:13262;a:2:{i:0;i:107;i:1;i:109;}i:13271;a:2:{i:0;i:112;i:1;i:104;}i:13273;a:3:{i:0;i:112;i:1;i:112;i:2;i:109;}i:13274;a:2:{i:0;i:112;i:1;i:114;}i:13276;a:2:{i:0;i:115;i:1;i:118;}i:13277;a:2:{i:0;i:119;i:1;i:98;}i:64256;a:2:{i:0;i:102;i:1;i:102;}i:64257;a:2:{i:0;i:102;i:1;i:105;}i:64258;a:2:{i:0;i:102;i:1;i:108;}i:64259;a:3:{i:0;i:102;i:1;i:102;i:2;i:105;}i:64260;a:3:{i:0;i:102;i:1;i:102;i:2;i:108;}i:64261;a:2:{i:0;i:115;i:1;i:116;}i:64262;a:2:{i:0;i:115;i:1;i:116;}i:64275;a:2:{i:0;i:1396;i:1;i:1398;}i:64276;a:2:{i:0;i:1396;i:1;i:1381;}i:64277;a:2:{i:0;i:1396;i:1;i:1387;}i:64278;a:2:{i:0;i:1406;i:1;i:1398;}i:64279;a:2:{i:0;i:1396;i:1;i:1389;}i:65313;a:1:{i:0;i:65345;}i:65314;a:1:{i:0;i:65346;}i:65315;a:1:{i:0;i:65347;}i:65316;a:1:{i:0;i:65348;}i:65317;a:1:{i:0;i:65349;}i:65318;a:1:{i:0;i:65350;}i:65319;a:1:{i:0;i:65351;}i:65320;a:1:{i:0;i:65352;}i:65321;a:1:{i:0;i:65353;}i:65322;a:1:{i:0;i:65354;}i:65323;a:1:{i:0;i:65355;}i:65324;a:1:{i:0;i:65356;}i:65325;a:1:{i:0;i:65357;}i:65326;a:1:{i:0;i:65358;}i:65327;a:1:{i:0;i:65359;}i:65328;a:1:{i:0;i:65360;}i:65329;a:1:{i:0;i:65361;}i:65330;a:1:{i:0;i:65362;}i:65331;a:1:{i:0;i:65363;}i:65332;a:1:{i:0;i:65364;}i:65333;a:1:{i:0;i:65365;}i:65334;a:1:{i:0;i:65366;}i:65335;a:1:{i:0;i:65367;}i:65336;a:1:{i:0;i:65368;}i:65337;a:1:{i:0;i:65369;}i:65338;a:1:{i:0;i:65370;}i:66560;a:1:{i:0;i:66600;}i:66561;a:1:{i:0;i:66601;}i:66562;a:1:{i:0;i:66602;}i:66563;a:1:{i:0;i:66603;}i:66564;a:1:{i:0;i:66604;}i:66565;a:1:{i:0;i:66605;}i:66566;a:1:{i:0;i:66606;}i:66567;a:1:{i:0;i:66607;}i:66568;a:1:{i:0;i:66608;}i:66569;a:1:{i:0;i:66609;}i:66570;a:1:{i:0;i:66610;}i:66571;a:1:{i:0;i:66611;}i:66572;a:1:{i:0;i:66612;}i:66573;a:1:{i:0;i:66613;}i:66574;a:1:{i:0;i:66614;}i:66575;a:1:{i:0;i:66615;}i:66576;a:1:{i:0;i:66616;}i:66577;a:1:{i:0;i:66617;}i:66578;a:1:{i:0;i:66618;}i:66579;a:1:{i:0;i:66619;}i:66580;a:1:{i:0;i:66620;}i:66581;a:1:{i:0;i:66621;}i:66582;a:1:{i:0;i:66622;}i:66583;a:1:{i:0;i:66623;}i:66584;a:1:{i:0;i:66624;}i:66585;a:1:{i:0;i:66625;}i:66586;a:1:{i:0;i:66626;}i:66587;a:1:{i:0;i:66627;}i:66588;a:1:{i:0;i:66628;}i:66589;a:1:{i:0;i:66629;}i:66590;a:1:{i:0;i:66630;}i:66591;a:1:{i:0;i:66631;}i:66592;a:1:{i:0;i:66632;}i:66593;a:1:{i:0;i:66633;}i:66594;a:1:{i:0;i:66634;}i:66595;a:1:{i:0;i:66635;}i:66596;a:1:{i:0;i:66636;}i:66597;a:1:{i:0;i:66637;}i:119808;a:1:{i:0;i:97;}i:119809;a:1:{i:0;i:98;}i:119810;a:1:{i:0;i:99;}i:119811;a:1:{i:0;i:100;}i:119812;a:1:{i:0;i:101;}i:119813;a:1:{i:0;i:102;}i:119814;a:1:{i:0;i:103;}i:119815;a:1:{i:0;i:104;}i:119816;a:1:{i:0;i:105;}i:119817;a:1:{i:0;i:106;}i:119818;a:1:{i:0;i:107;}i:119819;a:1:{i:0;i:108;}i:119820;a:1:{i:0;i:109;}i:119821;a:1:{i:0;i:110;}i:119822;a:1:{i:0;i:111;}i:119823;a:1:{i:0;i:112;}i:119824;a:1:{i:0;i:113;}i:119825;a:1:{i:0;i:114;}i:119826;a:1:{i:0;i:115;}i:119827;a:1:{i:0;i:116;}i:119828;a:1:{i:0;i:117;}i:119829;a:1:{i:0;i:118;}i:119830;a:1:{i:0;i:119;}i:119831;a:1:{i:0;i:120;}i:119832;a:1:{i:0;i:121;}i:119833;a:1:{i:0;i:122;}i:119860;a:1:{i:0;i:97;}i:119861;a:1:{i:0;i:98;}i:119862;a:1:{i:0;i:99;}i:119863;a:1:{i:0;i:100;}i:119864;a:1:{i:0;i:101;}i:119865;a:1:{i:0;i:102;}i:119866;a:1:{i:0;i:103;}i:119867;a:1:{i:0;i:104;}i:119868;a:1:{i:0;i:105;}i:119869;a:1:{i:0;i:106;}i:119870;a:1:{i:0;i:107;}i:119871;a:1:{i:0;i:108;}i:119872;a:1:{i:0;i:109;}i:119873;a:1:{i:0;i:110;}i:119874;a:1:{i:0;i:111;}i:119875;a:1:{i:0;i:112;}i:119876;a:1:{i:0;i:113;}i:119877;a:1:{i:0;i:114;}i:119878;a:1:{i:0;i:115;}i:119879;a:1:{i:0;i:116;}i:119880;a:1:{i:0;i:117;}i:119881;a:1:{i:0;i:118;}i:119882;a:1:{i:0;i:119;}i:119883;a:1:{i:0;i:120;}i:119884;a:1:{i:0;i:121;}i:119885;a:1:{i:0;i:122;}i:119912;a:1:{i:0;i:97;}i:119913;a:1:{i:0;i:98;}i:119914;a:1:{i:0;i:99;}i:119915;a:1:{i:0;i:100;}i:119916;a:1:{i:0;i:101;}i:119917;a:1:{i:0;i:102;}i:119918;a:1:{i:0;i:103;}i:119919;a:1:{i:0;i:104;}i:119920;a:1:{i:0;i:105;}i:119921;a:1:{i:0;i:106;}i:119922;a:1:{i:0;i:107;}i:119923;a:1:{i:0;i:108;}i:119924;a:1:{i:0;i:109;}i:119925;a:1:{i:0;i:110;}i:119926;a:1:{i:0;i:111;}i:119927;a:1:{i:0;i:112;}i:119928;a:1:{i:0;i:113;}i:119929;a:1:{i:0;i:114;}i:119930;a:1:{i:0;i:115;}i:119931;a:1:{i:0;i:116;}i:119932;a:1:{i:0;i:117;}i:119933;a:1:{i:0;i:118;}i:119934;a:1:{i:0;i:119;}i:119935;a:1:{i:0;i:120;}i:119936;a:1:{i:0;i:121;}i:119937;a:1:{i:0;i:122;}i:119964;a:1:{i:0;i:97;}i:119966;a:1:{i:0;i:99;}i:119967;a:1:{i:0;i:100;}i:119970;a:1:{i:0;i:103;}i:119973;a:1:{i:0;i:106;}i:119974;a:1:{i:0;i:107;}i:119977;a:1:{i:0;i:110;}i:119978;a:1:{i:0;i:111;}i:119979;a:1:{i:0;i:112;}i:119980;a:1:{i:0;i:113;}i:119982;a:1:{i:0;i:115;}i:119983;a:1:{i:0;i:116;}i:119984;a:1:{i:0;i:117;}i:119985;a:1:{i:0;i:118;}i:119986;a:1:{i:0;i:119;}i:119987;a:1:{i:0;i:120;}i:119988;a:1:{i:0;i:121;}i:119989;a:1:{i:0;i:122;}i:120016;a:1:{i:0;i:97;}i:120017;a:1:{i:0;i:98;}i:120018;a:1:{i:0;i:99;}i:120019;a:1:{i:0;i:100;}i:120020;a:1:{i:0;i:101;}i:120021;a:1:{i:0;i:102;}i:120022;a:1:{i:0;i:103;}i:120023;a:1:{i:0;i:104;}i:120024;a:1:{i:0;i:105;}i:120025;a:1:{i:0;i:106;}i:120026;a:1:{i:0;i:107;}i:120027;a:1:{i:0;i:108;}i:120028;a:1:{i:0;i:109;}i:120029;a:1:{i:0;i:110;}i:120030;a:1:{i:0;i:111;}i:120031;a:1:{i:0;i:112;}i:120032;a:1:{i:0;i:113;}i:120033;a:1:{i:0;i:114;}i:120034;a:1:{i:0;i:115;}i:120035;a:1:{i:0;i:116;}i:120036;a:1:{i:0;i:117;}i:120037;a:1:{i:0;i:118;}i:120038;a:1:{i:0;i:119;}i:120039;a:1:{i:0;i:120;}i:120040;a:1:{i:0;i:121;}i:120041;a:1:{i:0;i:122;}i:120068;a:1:{i:0;i:97;}i:120069;a:1:{i:0;i:98;}i:120071;a:1:{i:0;i:100;}i:120072;a:1:{i:0;i:101;}i:120073;a:1:{i:0;i:102;}i:120074;a:1:{i:0;i:103;}i:120077;a:1:{i:0;i:106;}i:120078;a:1:{i:0;i:107;}i:120079;a:1:{i:0;i:108;}i:120080;a:1:{i:0;i:109;}i:120081;a:1:{i:0;i:110;}i:120082;a:1:{i:0;i:111;}i:120083;a:1:{i:0;i:112;}i:120084;a:1:{i:0;i:113;}i:120086;a:1:{i:0;i:115;}i:120087;a:1:{i:0;i:116;}i:120088;a:1:{i:0;i:117;}i:120089;a:1:{i:0;i:118;}i:120090;a:1:{i:0;i:119;}i:120091;a:1:{i:0;i:120;}i:120092;a:1:{i:0;i:121;}i:120120;a:1:{i:0;i:97;}i:120121;a:1:{i:0;i:98;}i:120123;a:1:{i:0;i:100;}i:120124;a:1:{i:0;i:101;}i:120125;a:1:{i:0;i:102;}i:120126;a:1:{i:0;i:103;}i:120128;a:1:{i:0;i:105;}i:120129;a:1:{i:0;i:106;}i:120130;a:1:{i:0;i:107;}i:120131;a:1:{i:0;i:108;}i:120132;a:1:{i:0;i:109;}i:120134;a:1:{i:0;i:111;}i:120138;a:1:{i:0;i:115;}i:120139;a:1:{i:0;i:116;}i:120140;a:1:{i:0;i:117;}i:120141;a:1:{i:0;i:118;}i:120142;a:1:{i:0;i:119;}i:120143;a:1:{i:0;i:120;}i:120144;a:1:{i:0;i:121;}i:120172;a:1:{i:0;i:97;}i:120173;a:1:{i:0;i:98;}i:120174;a:1:{i:0;i:99;}i:120175;a:1:{i:0;i:100;}i:120176;a:1:{i:0;i:101;}i:120177;a:1:{i:0;i:102;}i:120178;a:1:{i:0;i:103;}i:120179;a:1:{i:0;i:104;}i:120180;a:1:{i:0;i:105;}i:120181;a:1:{i:0;i:106;}i:120182;a:1:{i:0;i:107;}i:120183;a:1:{i:0;i:108;}i:120184;a:1:{i:0;i:109;}i:120185;a:1:{i:0;i:110;}i:120186;a:1:{i:0;i:111;}i:120187;a:1:{i:0;i:112;}i:120188;a:1:{i:0;i:113;}i:120189;a:1:{i:0;i:114;}i:120190;a:1:{i:0;i:115;}i:120191;a:1:{i:0;i:116;}i:120192;a:1:{i:0;i:117;}i:120193;a:1:{i:0;i:118;}i:120194;a:1:{i:0;i:119;}i:120195;a:1:{i:0;i:120;}i:120196;a:1:{i:0;i:121;}i:120197;a:1:{i:0;i:122;}i:120224;a:1:{i:0;i:97;}i:120225;a:1:{i:0;i:98;}i:120226;a:1:{i:0;i:99;}i:120227;a:1:{i:0;i:100;}i:120228;a:1:{i:0;i:101;}i:120229;a:1:{i:0;i:102;}i:120230;a:1:{i:0;i:103;}i:120231;a:1:{i:0;i:104;}i:120232;a:1:{i:0;i:105;}i:120233;a:1:{i:0;i:106;}i:120234;a:1:{i:0;i:107;}i:120235;a:1:{i:0;i:108;}i:120236;a:1:{i:0;i:109;}i:120237;a:1:{i:0;i:110;}i:120238;a:1:{i:0;i:111;}i:120239;a:1:{i:0;i:112;}i:120240;a:1:{i:0;i:113;}i:120241;a:1:{i:0;i:114;}i:120242;a:1:{i:0;i:115;}i:120243;a:1:{i:0;i:116;}i:120244;a:1:{i:0;i:117;}i:120245;a:1:{i:0;i:118;}i:120246;a:1:{i:0;i:119;}i:120247;a:1:{i:0;i:120;}i:120248;a:1:{i:0;i:121;}i:120249;a:1:{i:0;i:122;}i:120276;a:1:{i:0;i:97;}i:120277;a:1:{i:0;i:98;}i:120278;a:1:{i:0;i:99;}i:120279;a:1:{i:0;i:100;}i:120280;a:1:{i:0;i:101;}i:120281;a:1:{i:0;i:102;}i:120282;a:1:{i:0;i:103;}i:120283;a:1:{i:0;i:104;}i:120284;a:1:{i:0;i:105;}i:120285;a:1:{i:0;i:106;}i:120286;a:1:{i:0;i:107;}i:120287;a:1:{i:0;i:108;}i:120288;a:1:{i:0;i:109;}i:120289;a:1:{i:0;i:110;}i:120290;a:1:{i:0;i:111;}i:120291;a:1:{i:0;i:112;}i:120292;a:1:{i:0;i:113;}i:120293;a:1:{i:0;i:114;}i:120294;a:1:{i:0;i:115;}i:120295;a:1:{i:0;i:116;}i:120296;a:1:{i:0;i:117;}i:120297;a:1:{i:0;i:118;}i:120298;a:1:{i:0;i:119;}i:120299;a:1:{i:0;i:120;}i:120300;a:1:{i:0;i:121;}i:120301;a:1:{i:0;i:122;}i:120328;a:1:{i:0;i:97;}i:120329;a:1:{i:0;i:98;}i:120330;a:1:{i:0;i:99;}i:120331;a:1:{i:0;i:100;}i:120332;a:1:{i:0;i:101;}i:120333;a:1:{i:0;i:102;}i:120334;a:1:{i:0;i:103;}i:120335;a:1:{i:0;i:104;}i:120336;a:1:{i:0;i:105;}i:120337;a:1:{i:0;i:106;}i:120338;a:1:{i:0;i:107;}i:120339;a:1:{i:0;i:108;}i:120340;a:1:{i:0;i:109;}i:120341;a:1:{i:0;i:110;}i:120342;a:1:{i:0;i:111;}i:120343;a:1:{i:0;i:112;}i:120344;a:1:{i:0;i:113;}i:120345;a:1:{i:0;i:114;}i:120346;a:1:{i:0;i:115;}i:120347;a:1:{i:0;i:116;}i:120348;a:1:{i:0;i:117;}i:120349;a:1:{i:0;i:118;}i:120350;a:1:{i:0;i:119;}i:120351;a:1:{i:0;i:120;}i:120352;a:1:{i:0;i:121;}i:120353;a:1:{i:0;i:122;}i:120380;a:1:{i:0;i:97;}i:120381;a:1:{i:0;i:98;}i:120382;a:1:{i:0;i:99;}i:120383;a:1:{i:0;i:100;}i:120384;a:1:{i:0;i:101;}i:120385;a:1:{i:0;i:102;}i:120386;a:1:{i:0;i:103;}i:120387;a:1:{i:0;i:104;}i:120388;a:1:{i:0;i:105;}i:120389;a:1:{i:0;i:106;}i:120390;a:1:{i:0;i:107;}i:120391;a:1:{i:0;i:108;}i:120392;a:1:{i:0;i:109;}i:120393;a:1:{i:0;i:110;}i:120394;a:1:{i:0;i:111;}i:120395;a:1:{i:0;i:112;}i:120396;a:1:{i:0;i:113;}i:120397;a:1:{i:0;i:114;}i:120398;a:1:{i:0;i:115;}i:120399;a:1:{i:0;i:116;}i:120400;a:1:{i:0;i:117;}i:120401;a:1:{i:0;i:118;}i:120402;a:1:{i:0;i:119;}i:120403;a:1:{i:0;i:120;}i:120404;a:1:{i:0;i:121;}i:120405;a:1:{i:0;i:122;}i:120432;a:1:{i:0;i:97;}i:120433;a:1:{i:0;i:98;}i:120434;a:1:{i:0;i:99;}i:120435;a:1:{i:0;i:100;}i:120436;a:1:{i:0;i:101;}i:120437;a:1:{i:0;i:102;}i:120438;a:1:{i:0;i:103;}i:120439;a:1:{i:0;i:104;}i:120440;a:1:{i:0;i:105;}i:120441;a:1:{i:0;i:106;}i:120442;a:1:{i:0;i:107;}i:120443;a:1:{i:0;i:108;}i:120444;a:1:{i:0;i:109;}i:120445;a:1:{i:0;i:110;}i:120446;a:1:{i:0;i:111;}i:120447;a:1:{i:0;i:112;}i:120448;a:1:{i:0;i:113;}i:120449;a:1:{i:0;i:114;}i:120450;a:1:{i:0;i:115;}i:120451;a:1:{i:0;i:116;}i:120452;a:1:{i:0;i:117;}i:120453;a:1:{i:0;i:118;}i:120454;a:1:{i:0;i:119;}i:120455;a:1:{i:0;i:120;}i:120456;a:1:{i:0;i:121;}i:120457;a:1:{i:0;i:122;}i:120488;a:1:{i:0;i:945;}i:120489;a:1:{i:0;i:946;}i:120490;a:1:{i:0;i:947;}i:120491;a:1:{i:0;i:948;}i:120492;a:1:{i:0;i:949;}i:120493;a:1:{i:0;i:950;}i:120494;a:1:{i:0;i:951;}i:120495;a:1:{i:0;i:952;}i:120496;a:1:{i:0;i:953;}i:120497;a:1:{i:0;i:954;}i:120498;a:1:{i:0;i:955;}i:120499;a:1:{i:0;i:956;}i:120500;a:1:{i:0;i:957;}i:120501;a:1:{i:0;i:958;}i:120502;a:1:{i:0;i:959;}i:120503;a:1:{i:0;i:960;}i:120504;a:1:{i:0;i:961;}i:120505;a:1:{i:0;i:952;}i:120506;a:1:{i:0;i:963;}i:120507;a:1:{i:0;i:964;}i:120508;a:1:{i:0;i:965;}i:120509;a:1:{i:0;i:966;}i:120510;a:1:{i:0;i:967;}i:120511;a:1:{i:0;i:968;}i:120512;a:1:{i:0;i:969;}i:120531;a:1:{i:0;i:963;}i:120546;a:1:{i:0;i:945;}i:120547;a:1:{i:0;i:946;}i:120548;a:1:{i:0;i:947;}i:120549;a:1:{i:0;i:948;}i:120550;a:1:{i:0;i:949;}i:120551;a:1:{i:0;i:950;}i:120552;a:1:{i:0;i:951;}i:120553;a:1:{i:0;i:952;}i:120554;a:1:{i:0;i:953;}i:120555;a:1:{i:0;i:954;}i:120556;a:1:{i:0;i:955;}i:120557;a:1:{i:0;i:956;}i:120558;a:1:{i:0;i:957;}i:120559;a:1:{i:0;i:958;}i:120560;a:1:{i:0;i:959;}i:120561;a:1:{i:0;i:960;}i:120562;a:1:{i:0;i:961;}i:120563;a:1:{i:0;i:952;}i:120564;a:1:{i:0;i:963;}i:120565;a:1:{i:0;i:964;}i:120566;a:1:{i:0;i:965;}i:120567;a:1:{i:0;i:966;}i:120568;a:1:{i:0;i:967;}i:120569;a:1:{i:0;i:968;}i:120570;a:1:{i:0;i:969;}i:120589;a:1:{i:0;i:963;}i:120604;a:1:{i:0;i:945;}i:120605;a:1:{i:0;i:946;}i:120606;a:1:{i:0;i:947;}i:120607;a:1:{i:0;i:948;}i:120608;a:1:{i:0;i:949;}i:120609;a:1:{i:0;i:950;}i:120610;a:1:{i:0;i:951;}i:120611;a:1:{i:0;i:952;}i:120612;a:1:{i:0;i:953;}i:120613;a:1:{i:0;i:954;}i:120614;a:1:{i:0;i:955;}i:120615;a:1:{i:0;i:956;}i:120616;a:1:{i:0;i:957;}i:120617;a:1:{i:0;i:958;}i:120618;a:1:{i:0;i:959;}i:120619;a:1:{i:0;i:960;}i:120620;a:1:{i:0;i:961;}i:120621;a:1:{i:0;i:952;}i:120622;a:1:{i:0;i:963;}i:120623;a:1:{i:0;i:964;}i:120624;a:1:{i:0;i:965;}i:120625;a:1:{i:0;i:966;}i:120626;a:1:{i:0;i:967;}i:120627;a:1:{i:0;i:968;}i:120628;a:1:{i:0;i:969;}i:120647;a:1:{i:0;i:963;}i:120662;a:1:{i:0;i:945;}i:120663;a:1:{i:0;i:946;}i:120664;a:1:{i:0;i:947;}i:120665;a:1:{i:0;i:948;}i:120666;a:1:{i:0;i:949;}i:120667;a:1:{i:0;i:950;}i:120668;a:1:{i:0;i:951;}i:120669;a:1:{i:0;i:952;}i:120670;a:1:{i:0;i:953;}i:120671;a:1:{i:0;i:954;}i:120672;a:1:{i:0;i:955;}i:120673;a:1:{i:0;i:956;}i:120674;a:1:{i:0;i:957;}i:120675;a:1:{i:0;i:958;}i:120676;a:1:{i:0;i:959;}i:120677;a:1:{i:0;i:960;}i:120678;a:1:{i:0;i:961;}i:120679;a:1:{i:0;i:952;}i:120680;a:1:{i:0;i:963;}i:120681;a:1:{i:0;i:964;}i:120682;a:1:{i:0;i:965;}i:120683;a:1:{i:0;i:966;}i:120684;a:1:{i:0;i:967;}i:120685;a:1:{i:0;i:968;}i:120686;a:1:{i:0;i:969;}i:120705;a:1:{i:0;i:963;}i:120720;a:1:{i:0;i:945;}i:120721;a:1:{i:0;i:946;}i:120722;a:1:{i:0;i:947;}i:120723;a:1:{i:0;i:948;}i:120724;a:1:{i:0;i:949;}i:120725;a:1:{i:0;i:950;}i:120726;a:1:{i:0;i:951;}i:120727;a:1:{i:0;i:952;}i:120728;a:1:{i:0;i:953;}i:120729;a:1:{i:0;i:954;}i:120730;a:1:{i:0;i:955;}i:120731;a:1:{i:0;i:956;}i:120732;a:1:{i:0;i:957;}i:120733;a:1:{i:0;i:958;}i:120734;a:1:{i:0;i:959;}i:120735;a:1:{i:0;i:960;}i:120736;a:1:{i:0;i:961;}i:120737;a:1:{i:0;i:952;}i:120738;a:1:{i:0;i:963;}i:120739;a:1:{i:0;i:964;}i:120740;a:1:{i:0;i:965;}i:120741;a:1:{i:0;i:966;}i:120742;a:1:{i:0;i:967;}i:120743;a:1:{i:0;i:968;}i:120744;a:1:{i:0;i:969;}i:120763;a:1:{i:0;i:963;}i:1017;a:1:{i:0;i:963;}i:7468;a:1:{i:0;i:97;}i:7469;a:1:{i:0;i:230;}i:7470;a:1:{i:0;i:98;}i:7472;a:1:{i:0;i:100;}i:7473;a:1:{i:0;i:101;}i:7474;a:1:{i:0;i:477;}i:7475;a:1:{i:0;i:103;}i:7476;a:1:{i:0;i:104;}i:7477;a:1:{i:0;i:105;}i:7478;a:1:{i:0;i:106;}i:7479;a:1:{i:0;i:107;}i:7480;a:1:{i:0;i:108;}i:7481;a:1:{i:0;i:109;}i:7482;a:1:{i:0;i:110;}i:7484;a:1:{i:0;i:111;}i:7485;a:1:{i:0;i:547;}i:7486;a:1:{i:0;i:112;}i:7487;a:1:{i:0;i:114;}i:7488;a:1:{i:0;i:116;}i:7489;a:1:{i:0;i:117;}i:7490;a:1:{i:0;i:119;}i:8507;a:3:{i:0;i:102;i:1;i:97;i:2;i:120;}i:12880;a:3:{i:0;i:112;i:1;i:116;i:2;i:101;}i:13004;a:2:{i:0;i:104;i:1;i:103;}i:13006;a:2:{i:0;i:101;i:1;i:118;}i:13007;a:3:{i:0;i:108;i:1;i:116;i:2;i:100;}i:13178;a:2:{i:0;i:105;i:1;i:117;}i:13278;a:3:{i:0;i:118;i:1;i:8725;i:2;i:109;}i:13279;a:3:{i:0;i:97;i:1;i:8725;i:2;i:109;}}s:12:"norm_combcls";a:341:{i:820;i:1;i:821;i:1;i:822;i:1;i:823;i:1;i:824;i:1;i:2364;i:7;i:2492;i:7;i:2620;i:7;i:2748;i:7;i:2876;i:7;i:3260;i:7;i:4151;i:7;i:12441;i:8;i:12442;i:8;i:2381;i:9;i:2509;i:9;i:2637;i:9;i:2765;i:9;i:2893;i:9;i:3021;i:9;i:3149;i:9;i:3277;i:9;i:3405;i:9;i:3530;i:9;i:3642;i:9;i:3972;i:9;i:4153;i:9;i:5908;i:9;i:5940;i:9;i:6098;i:9;i:1456;i:10;i:1457;i:11;i:1458;i:12;i:1459;i:13;i:1460;i:14;i:1461;i:15;i:1462;i:16;i:1463;i:17;i:1464;i:18;i:1465;i:19;i:1467;i:20;i:1468;i:21;i:1469;i:22;i:1471;i:23;i:1473;i:24;i:1474;i:25;i:64286;i:26;i:1611;i:27;i:1612;i:28;i:1613;i:29;i:1614;i:30;i:1615;i:31;i:1616;i:32;i:1617;i:33;i:1618;i:34;i:1648;i:35;i:1809;i:36;i:3157;i:84;i:3158;i:91;i:3640;i:103;i:3641;i:103;i:3656;i:107;i:3657;i:107;i:3658;i:107;i:3659;i:107;i:3768;i:118;i:3769;i:118;i:3784;i:122;i:3785;i:122;i:3786;i:122;i:3787;i:122;i:3953;i:129;i:3954;i:130;i:3962;i:130;i:3963;i:130;i:3964;i:130;i:3965;i:130;i:3968;i:130;i:3956;i:132;i:801;i:202;i:802;i:202;i:807;i:202;i:808;i:202;i:795;i:216;i:3897;i:216;i:119141;i:216;i:119142;i:216;i:119150;i:216;i:119151;i:216;i:119152;i:216;i:119153;i:216;i:119154;i:216;i:12330;i:218;i:790;i:220;i:791;i:220;i:792;i:220;i:793;i:220;i:796;i:220;i:797;i:220;i:798;i:220;i:799;i:220;i:800;i:220;i:803;i:220;i:804;i:220;i:805;i:220;i:806;i:220;i:809;i:220;i:810;i:220;i:811;i:220;i:812;i:220;i:813;i:220;i:814;i:220;i:815;i:220;i:816;i:220;i:817;i:220;i:818;i:220;i:819;i:220;i:825;i:220;i:826;i:220;i:827;i:220;i:828;i:220;i:839;i:220;i:840;i:220;i:841;i:220;i:845;i:220;i:846;i:220;i:851;i:220;i:852;i:220;i:853;i:220;i:854;i:220;i:1425;i:220;i:1430;i:220;i:1435;i:220;i:1443;i:220;i:1444;i:220;i:1445;i:220;i:1446;i:220;i:1447;i:220;i:1450;i:220;i:1621;i:220;i:1622;i:220;i:1763;i:220;i:1770;i:220;i:1773;i:220;i:1841;i:220;i:1844;i:220;i:1847;i:220;i:1848;i:220;i:1849;i:220;i:1851;i:220;i:1852;i:220;i:1854;i:220;i:1858;i:220;i:1860;i:220;i:1862;i:220;i:1864;i:220;i:2386;i:220;i:3864;i:220;i:3865;i:220;i:3893;i:220;i:3895;i:220;i:4038;i:220;i:6459;i:220;i:8424;i:220;i:119163;i:220;i:119164;i:220;i:119165;i:220;i:119166;i:220;i:119167;i:220;i:119168;i:220;i:119169;i:220;i:119170;i:220;i:119178;i:220;i:119179;i:220;i:1434;i:222;i:1453;i:222;i:6441;i:222;i:12333;i:222;i:12334;i:224;i:12335;i:224;i:119149;i:226;i:1454;i:228;i:6313;i:228;i:12331;i:228;i:768;i:230;i:769;i:230;i:770;i:230;i:771;i:230;i:772;i:230;i:773;i:230;i:774;i:230;i:775;i:230;i:776;i:230;i:777;i:230;i:778;i:230;i:779;i:230;i:780;i:230;i:781;i:230;i:782;i:230;i:783;i:230;i:784;i:230;i:785;i:230;i:786;i:230;i:787;i:230;i:788;i:230;i:829;i:230;i:830;i:230;i:831;i:230;i:832;i:230;i:833;i:230;i:834;i:230;i:835;i:230;i:836;i:230;i:838;i:230;i:842;i:230;i:843;i:230;i:844;i:230;i:848;i:230;i:849;i:230;i:850;i:230;i:855;i:230;i:867;i:230;i:868;i:230;i:869;i:230;i:870;i:230;i:871;i:230;i:872;i:230;i:873;i:230;i:874;i:230;i:875;i:230;i:876;i:230;i:877;i:230;i:878;i:230;i:879;i:230;i:1155;i:230;i:1156;i:230;i:1157;i:230;i:1158;i:230;i:1426;i:230;i:1427;i:230;i:1428;i:230;i:1429;i:230;i:1431;i:230;i:1432;i:230;i:1433;i:230;i:1436;i:230;i:1437;i:230;i:1438;i:230;i:1439;i:230;i:1440;i:230;i:1441;i:230;i:1448;i:230;i:1449;i:230;i:1451;i:230;i:1452;i:230;i:1455;i:230;i:1476;i:230;i:1552;i:230;i:1553;i:230;i:1554;i:230;i:1555;i:230;i:1556;i:230;i:1557;i:230;i:1619;i:230;i:1620;i:230;i:1623;i:230;i:1624;i:230;i:1750;i:230;i:1751;i:230;i:1752;i:230;i:1753;i:230;i:1754;i:230;i:1755;i:230;i:1756;i:230;i:1759;i:230;i:1760;i:230;i:1761;i:230;i:1762;i:230;i:1764;i:230;i:1767;i:230;i:1768;i:230;i:1771;i:230;i:1772;i:230;i:1840;i:230;i:1842;i:230;i:1843;i:230;i:1845;i:230;i:1846;i:230;i:1850;i:230;i:1853;i:230;i:1855;i:230;i:1856;i:230;i:1857;i:230;i:1859;i:230;i:1861;i:230;i:1863;i:230;i:1865;i:230;i:1866;i:230;i:2385;i:230;i:2387;i:230;i:2388;i:230;i:3970;i:230;i:3971;i:230;i:3974;i:230;i:3975;i:230;i:5901;i:230;i:6458;i:230;i:8400;i:230;i:8401;i:230;i:8404;i:230;i:8405;i:230;i:8406;i:230;i:8407;i:230;i:8411;i:230;i:8412;i:230;i:8417;i:230;i:8423;i:230;i:8425;i:230;i:65056;i:230;i:65057;i:230;i:65058;i:230;i:65059;i:230;i:119173;i:230;i:119174;i:230;i:119175;i:230;i:119177;i:230;i:119176;i:230;i:119210;i:230;i:119211;i:230;i:119212;i:230;i:119213;i:230;i:789;i:232;i:794;i:232;i:12332;i:232;i:863;i:233;i:866;i:233;i:861;i:234;i:862;i:234;i:864;i:234;i:865;i:234;i:837;i:240;}} \ No newline at end of file
diff --git a/vendor/simplepie/simplepie/library/SimplePie.php b/vendor/simplepie/simplepie/library/SimplePie.php
new file mode 100755
index 000000000..428bfc068
--- /dev/null
+++ b/vendor/simplepie/simplepie/library/SimplePie.php
@@ -0,0 +1,3303 @@
+<?php
+/**
+ * SimplePie
+ *
+ * A PHP-Based RSS and Atom Feed Framework.
+ * Takes the hard work out of managing a complete RSS/Atom solution.
+ *
+ * Copyright (c) 2004-2017, Ryan Parman, Geoffrey Sneddon, Ryan McCue, and contributors
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification, are
+ * permitted provided that the following conditions are met:
+ *
+ * * Redistributions of source code must retain the above copyright notice, this list of
+ * conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above copyright notice, this list
+ * of conditions and the following disclaimer in the documentation and/or other materials
+ * provided with the distribution.
+ *
+ * * Neither the name of the SimplePie Team nor the names of its contributors may be used
+ * to endorse or promote products derived from this software without specific prior
+ * written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS
+ * AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ *
+ * @package SimplePie
+ * @version 1.5
+ * @copyright 2004-2017 Ryan Parman, Geoffrey Sneddon, Ryan McCue
+ * @author Ryan Parman
+ * @author Geoffrey Sneddon
+ * @author Ryan McCue
+ * @link http://simplepie.org/ SimplePie
+ * @license http://www.opensource.org/licenses/bsd-license.php BSD License
+ */
+
+/**
+ * SimplePie Name
+ */
+define('SIMPLEPIE_NAME', 'SimplePie');
+
+/**
+ * SimplePie Version
+ */
+define('SIMPLEPIE_VERSION', '1.5');
+
+/**
+ * SimplePie Build
+ * @todo Hardcode for release (there's no need to have to call SimplePie_Misc::get_build() only every load of simplepie.inc)
+ */
+define('SIMPLEPIE_BUILD', gmdate('YmdHis', SimplePie_Misc::get_build()));
+
+/**
+ * SimplePie Website URL
+ */
+define('SIMPLEPIE_URL', 'http://simplepie.org');
+
+/**
+ * SimplePie Useragent
+ * @see SimplePie::set_useragent()
+ */
+define('SIMPLEPIE_USERAGENT', SIMPLEPIE_NAME . '/' . SIMPLEPIE_VERSION . ' (Feed Parser; ' . SIMPLEPIE_URL . '; Allow like Gecko) Build/' . SIMPLEPIE_BUILD);
+
+/**
+ * SimplePie Linkback
+ */
+define('SIMPLEPIE_LINKBACK', '<a href="' . SIMPLEPIE_URL . '" title="' . SIMPLEPIE_NAME . ' ' . SIMPLEPIE_VERSION . '">' . SIMPLEPIE_NAME . '</a>');
+
+/**
+ * No Autodiscovery
+ * @see SimplePie::set_autodiscovery_level()
+ */
+define('SIMPLEPIE_LOCATOR_NONE', 0);
+
+/**
+ * Feed Link Element Autodiscovery
+ * @see SimplePie::set_autodiscovery_level()
+ */
+define('SIMPLEPIE_LOCATOR_AUTODISCOVERY', 1);
+
+/**
+ * Local Feed Extension Autodiscovery
+ * @see SimplePie::set_autodiscovery_level()
+ */
+define('SIMPLEPIE_LOCATOR_LOCAL_EXTENSION', 2);
+
+/**
+ * Local Feed Body Autodiscovery
+ * @see SimplePie::set_autodiscovery_level()
+ */
+define('SIMPLEPIE_LOCATOR_LOCAL_BODY', 4);
+
+/**
+ * Remote Feed Extension Autodiscovery
+ * @see SimplePie::set_autodiscovery_level()
+ */
+define('SIMPLEPIE_LOCATOR_REMOTE_EXTENSION', 8);
+
+/**
+ * Remote Feed Body Autodiscovery
+ * @see SimplePie::set_autodiscovery_level()
+ */
+define('SIMPLEPIE_LOCATOR_REMOTE_BODY', 16);
+
+/**
+ * All Feed Autodiscovery
+ * @see SimplePie::set_autodiscovery_level()
+ */
+define('SIMPLEPIE_LOCATOR_ALL', 31);
+
+/**
+ * No known feed type
+ */
+define('SIMPLEPIE_TYPE_NONE', 0);
+
+/**
+ * RSS 0.90
+ */
+define('SIMPLEPIE_TYPE_RSS_090', 1);
+
+/**
+ * RSS 0.91 (Netscape)
+ */
+define('SIMPLEPIE_TYPE_RSS_091_NETSCAPE', 2);
+
+/**
+ * RSS 0.91 (Userland)
+ */
+define('SIMPLEPIE_TYPE_RSS_091_USERLAND', 4);
+
+/**
+ * RSS 0.91 (both Netscape and Userland)
+ */
+define('SIMPLEPIE_TYPE_RSS_091', 6);
+
+/**
+ * RSS 0.92
+ */
+define('SIMPLEPIE_TYPE_RSS_092', 8);
+
+/**
+ * RSS 0.93
+ */
+define('SIMPLEPIE_TYPE_RSS_093', 16);
+
+/**
+ * RSS 0.94
+ */
+define('SIMPLEPIE_TYPE_RSS_094', 32);
+
+/**
+ * RSS 1.0
+ */
+define('SIMPLEPIE_TYPE_RSS_10', 64);
+
+/**
+ * RSS 2.0
+ */
+define('SIMPLEPIE_TYPE_RSS_20', 128);
+
+/**
+ * RDF-based RSS
+ */
+define('SIMPLEPIE_TYPE_RSS_RDF', 65);
+
+/**
+ * Non-RDF-based RSS (truly intended as syndication format)
+ */
+define('SIMPLEPIE_TYPE_RSS_SYNDICATION', 190);
+
+/**
+ * All RSS
+ */
+define('SIMPLEPIE_TYPE_RSS_ALL', 255);
+
+/**
+ * Atom 0.3
+ */
+define('SIMPLEPIE_TYPE_ATOM_03', 256);
+
+/**
+ * Atom 1.0
+ */
+define('SIMPLEPIE_TYPE_ATOM_10', 512);
+
+/**
+ * All Atom
+ */
+define('SIMPLEPIE_TYPE_ATOM_ALL', 768);
+
+/**
+ * All feed types
+ */
+define('SIMPLEPIE_TYPE_ALL', 1023);
+
+/**
+ * No construct
+ */
+define('SIMPLEPIE_CONSTRUCT_NONE', 0);
+
+/**
+ * Text construct
+ */
+define('SIMPLEPIE_CONSTRUCT_TEXT', 1);
+
+/**
+ * HTML construct
+ */
+define('SIMPLEPIE_CONSTRUCT_HTML', 2);
+
+/**
+ * XHTML construct
+ */
+define('SIMPLEPIE_CONSTRUCT_XHTML', 4);
+
+/**
+ * base64-encoded construct
+ */
+define('SIMPLEPIE_CONSTRUCT_BASE64', 8);
+
+/**
+ * IRI construct
+ */
+define('SIMPLEPIE_CONSTRUCT_IRI', 16);
+
+/**
+ * A construct that might be HTML
+ */
+define('SIMPLEPIE_CONSTRUCT_MAYBE_HTML', 32);
+
+/**
+ * All constructs
+ */
+define('SIMPLEPIE_CONSTRUCT_ALL', 63);
+
+/**
+ * Don't change case
+ */
+define('SIMPLEPIE_SAME_CASE', 1);
+
+/**
+ * Change to lowercase
+ */
+define('SIMPLEPIE_LOWERCASE', 2);
+
+/**
+ * Change to uppercase
+ */
+define('SIMPLEPIE_UPPERCASE', 4);
+
+/**
+ * PCRE for HTML attributes
+ */
+define('SIMPLEPIE_PCRE_HTML_ATTRIBUTE', '((?:[\x09\x0A\x0B\x0C\x0D\x20]+[^\x09\x0A\x0B\x0C\x0D\x20\x2F\x3E][^\x09\x0A\x0B\x0C\x0D\x20\x2F\x3D\x3E]*(?:[\x09\x0A\x0B\x0C\x0D\x20]*=[\x09\x0A\x0B\x0C\x0D\x20]*(?:"(?:[^"]*)"|\'(?:[^\']*)\'|(?:[^\x09\x0A\x0B\x0C\x0D\x20\x22\x27\x3E][^\x09\x0A\x0B\x0C\x0D\x20\x3E]*)?))?)*)[\x09\x0A\x0B\x0C\x0D\x20]*');
+
+/**
+ * PCRE for XML attributes
+ */
+define('SIMPLEPIE_PCRE_XML_ATTRIBUTE', '((?:\s+(?:(?:[^\s:]+:)?[^\s:]+)\s*=\s*(?:"(?:[^"]*)"|\'(?:[^\']*)\'))*)\s*');
+
+/**
+ * XML Namespace
+ */
+define('SIMPLEPIE_NAMESPACE_XML', 'http://www.w3.org/XML/1998/namespace');
+
+/**
+ * Atom 1.0 Namespace
+ */
+define('SIMPLEPIE_NAMESPACE_ATOM_10', 'http://www.w3.org/2005/Atom');
+
+/**
+ * Atom 0.3 Namespace
+ */
+define('SIMPLEPIE_NAMESPACE_ATOM_03', 'http://purl.org/atom/ns#');
+
+/**
+ * RDF Namespace
+ */
+define('SIMPLEPIE_NAMESPACE_RDF', 'http://www.w3.org/1999/02/22-rdf-syntax-ns#');
+
+/**
+ * RSS 0.90 Namespace
+ */
+define('SIMPLEPIE_NAMESPACE_RSS_090', 'http://my.netscape.com/rdf/simple/0.9/');
+
+/**
+ * RSS 1.0 Namespace
+ */
+define('SIMPLEPIE_NAMESPACE_RSS_10', 'http://purl.org/rss/1.0/');
+
+/**
+ * RSS 1.0 Content Module Namespace
+ */
+define('SIMPLEPIE_NAMESPACE_RSS_10_MODULES_CONTENT', 'http://purl.org/rss/1.0/modules/content/');
+
+/**
+ * RSS 2.0 Namespace
+ * (Stupid, I know, but I'm certain it will confuse people less with support.)
+ */
+define('SIMPLEPIE_NAMESPACE_RSS_20', '');
+
+/**
+ * DC 1.0 Namespace
+ */
+define('SIMPLEPIE_NAMESPACE_DC_10', 'http://purl.org/dc/elements/1.0/');
+
+/**
+ * DC 1.1 Namespace
+ */
+define('SIMPLEPIE_NAMESPACE_DC_11', 'http://purl.org/dc/elements/1.1/');
+
+/**
+ * W3C Basic Geo (WGS84 lat/long) Vocabulary Namespace
+ */
+define('SIMPLEPIE_NAMESPACE_W3C_BASIC_GEO', 'http://www.w3.org/2003/01/geo/wgs84_pos#');
+
+/**
+ * GeoRSS Namespace
+ */
+define('SIMPLEPIE_NAMESPACE_GEORSS', 'http://www.georss.org/georss');
+
+/**
+ * Media RSS Namespace
+ */
+define('SIMPLEPIE_NAMESPACE_MEDIARSS', 'http://search.yahoo.com/mrss/');
+
+/**
+ * Wrong Media RSS Namespace. Caused by a long-standing typo in the spec.
+ */
+define('SIMPLEPIE_NAMESPACE_MEDIARSS_WRONG', 'http://search.yahoo.com/mrss');
+
+/**
+ * Wrong Media RSS Namespace #2. New namespace introduced in Media RSS 1.5.
+ */
+define('SIMPLEPIE_NAMESPACE_MEDIARSS_WRONG2', 'http://video.search.yahoo.com/mrss');
+
+/**
+ * Wrong Media RSS Namespace #3. A possible typo of the Media RSS 1.5 namespace.
+ */
+define('SIMPLEPIE_NAMESPACE_MEDIARSS_WRONG3', 'http://video.search.yahoo.com/mrss/');
+
+/**
+ * Wrong Media RSS Namespace #4. New spec location after the RSS Advisory Board takes it over, but not a valid namespace.
+ */
+define('SIMPLEPIE_NAMESPACE_MEDIARSS_WRONG4', 'http://www.rssboard.org/media-rss');
+
+/**
+ * Wrong Media RSS Namespace #5. A possible typo of the RSS Advisory Board URL.
+ */
+define('SIMPLEPIE_NAMESPACE_MEDIARSS_WRONG5', 'http://www.rssboard.org/media-rss/');
+
+/**
+ * iTunes RSS Namespace
+ */
+define('SIMPLEPIE_NAMESPACE_ITUNES', 'http://www.itunes.com/dtds/podcast-1.0.dtd');
+
+/**
+ * XHTML Namespace
+ */
+define('SIMPLEPIE_NAMESPACE_XHTML', 'http://www.w3.org/1999/xhtml');
+
+/**
+ * IANA Link Relations Registry
+ */
+define('SIMPLEPIE_IANA_LINK_RELATIONS_REGISTRY', 'http://www.iana.org/assignments/relation/');
+
+/**
+ * No file source
+ */
+define('SIMPLEPIE_FILE_SOURCE_NONE', 0);
+
+/**
+ * Remote file source
+ */
+define('SIMPLEPIE_FILE_SOURCE_REMOTE', 1);
+
+/**
+ * Local file source
+ */
+define('SIMPLEPIE_FILE_SOURCE_LOCAL', 2);
+
+/**
+ * fsockopen() file source
+ */
+define('SIMPLEPIE_FILE_SOURCE_FSOCKOPEN', 4);
+
+/**
+ * cURL file source
+ */
+define('SIMPLEPIE_FILE_SOURCE_CURL', 8);
+
+/**
+ * file_get_contents() file source
+ */
+define('SIMPLEPIE_FILE_SOURCE_FILE_GET_CONTENTS', 16);
+
+
+
+/**
+ * SimplePie
+ *
+ * @package SimplePie
+ * @subpackage API
+ */
+class SimplePie
+{
+ /**
+ * @var array Raw data
+ * @access private
+ */
+ public $data = array();
+
+ /**
+ * @var mixed Error string
+ * @access private
+ */
+ public $error;
+
+ /**
+ * @var object Instance of SimplePie_Sanitize (or other class)
+ * @see SimplePie::set_sanitize_class()
+ * @access private
+ */
+ public $sanitize;
+
+ /**
+ * @var string SimplePie Useragent
+ * @see SimplePie::set_useragent()
+ * @access private
+ */
+ public $useragent = SIMPLEPIE_USERAGENT;
+
+ /**
+ * @var string Feed URL
+ * @see SimplePie::set_feed_url()
+ * @access private
+ */
+ public $feed_url;
+
+ /**
+ * @var string Original feed URL, or new feed URL iff HTTP 301 Moved Permanently
+ * @see SimplePie::subscribe_url()
+ * @access private
+ */
+ public $permanent_url = null;
+
+ /**
+ * @var object Instance of SimplePie_File to use as a feed
+ * @see SimplePie::set_file()
+ * @access private
+ */
+ public $file;
+
+ /**
+ * @var string Raw feed data
+ * @see SimplePie::set_raw_data()
+ * @access private
+ */
+ public $raw_data;
+
+ /**
+ * @var int Timeout for fetching remote files
+ * @see SimplePie::set_timeout()
+ * @access private
+ */
+ public $timeout = 10;
+
+ /**
+ * @var array Custom curl options
+ * @see SimplePie::set_curl_options()
+ * @access private
+ */
+ public $curl_options = array();
+
+ /**
+ * @var bool Forces fsockopen() to be used for remote files instead
+ * of cURL, even if a new enough version is installed
+ * @see SimplePie::force_fsockopen()
+ * @access private
+ */
+ public $force_fsockopen = false;
+
+ /**
+ * @var bool Force the given data/URL to be treated as a feed no matter what
+ * it appears like
+ * @see SimplePie::force_feed()
+ * @access private
+ */
+ public $force_feed = false;
+
+ /**
+ * @var bool Enable/Disable Caching
+ * @see SimplePie::enable_cache()
+ * @access private
+ */
+ public $cache = true;
+
+ /**
+ * @var bool Force SimplePie to fallback to expired cache, if enabled,
+ * when feed is unavailable.
+ * @see SimplePie::force_cache_fallback()
+ * @access private
+ */
+ public $force_cache_fallback = false;
+
+ /**
+ * @var int Cache duration (in seconds)
+ * @see SimplePie::set_cache_duration()
+ * @access private
+ */
+ public $cache_duration = 3600;
+
+ /**
+ * @var int Auto-discovery cache duration (in seconds)
+ * @see SimplePie::set_autodiscovery_cache_duration()
+ * @access private
+ */
+ public $autodiscovery_cache_duration = 604800; // 7 Days.
+
+ /**
+ * @var string Cache location (relative to executing script)
+ * @see SimplePie::set_cache_location()
+ * @access private
+ */
+ public $cache_location = './cache';
+
+ /**
+ * @var string Function that creates the cache filename
+ * @see SimplePie::set_cache_name_function()
+ * @access private
+ */
+ public $cache_name_function = 'md5';
+
+ /**
+ * @var bool Reorder feed by date descending
+ * @see SimplePie::enable_order_by_date()
+ * @access private
+ */
+ public $order_by_date = true;
+
+ /**
+ * @var mixed Force input encoding to be set to the follow value
+ * (false, or anything type-cast to false, disables this feature)
+ * @see SimplePie::set_input_encoding()
+ * @access private
+ */
+ public $input_encoding = false;
+
+ /**
+ * @var int Feed Autodiscovery Level
+ * @see SimplePie::set_autodiscovery_level()
+ * @access private
+ */
+ public $autodiscovery = SIMPLEPIE_LOCATOR_ALL;
+
+ /**
+ * Class registry object
+ *
+ * @var SimplePie_Registry
+ */
+ public $registry;
+
+ /**
+ * @var int Maximum number of feeds to check with autodiscovery
+ * @see SimplePie::set_max_checked_feeds()
+ * @access private
+ */
+ public $max_checked_feeds = 10;
+
+ /**
+ * @var array All the feeds found during the autodiscovery process
+ * @see SimplePie::get_all_discovered_feeds()
+ * @access private
+ */
+ public $all_discovered_feeds = array();
+
+ /**
+ * @var string Web-accessible path to the handler_image.php file.
+ * @see SimplePie::set_image_handler()
+ * @access private
+ */
+ public $image_handler = '';
+
+ /**
+ * @var array Stores the URLs when multiple feeds are being initialized.
+ * @see SimplePie::set_feed_url()
+ * @access private
+ */
+ public $multifeed_url = array();
+
+ /**
+ * @var array Stores SimplePie objects when multiple feeds initialized.
+ * @access private
+ */
+ public $multifeed_objects = array();
+
+ /**
+ * @var array Stores the get_object_vars() array for use with multifeeds.
+ * @see SimplePie::set_feed_url()
+ * @access private
+ */
+ public $config_settings = null;
+
+ /**
+ * @var integer Stores the number of items to return per-feed with multifeeds.
+ * @see SimplePie::set_item_limit()
+ * @access private
+ */
+ public $item_limit = 0;
+
+ /**
+ * @var bool Stores if last-modified and/or etag headers were sent with the
+ * request when checking a feed.
+ */
+ public $check_modified = false;
+
+ /**
+ * @var array Stores the default attributes to be stripped by strip_attributes().
+ * @see SimplePie::strip_attributes()
+ * @access private
+ */
+ public $strip_attributes = array('bgsound', 'class', 'expr', 'id', 'style', 'onclick', 'onerror', 'onfinish', 'onmouseover', 'onmouseout', 'onfocus', 'onblur', 'lowsrc', 'dynsrc');
+
+ /**
+ * @var array Stores the default attributes to add to different tags by add_attributes().
+ * @see SimplePie::add_attributes()
+ * @access private
+ */
+ public $add_attributes = array('audio' => array('preload' => 'none'), 'iframe' => array('sandbox' => 'allow-scripts allow-same-origin'), 'video' => array('preload' => 'none'));
+
+ /**
+ * @var array Stores the default tags to be stripped by strip_htmltags().
+ * @see SimplePie::strip_htmltags()
+ * @access private
+ */
+ public $strip_htmltags = array('base', 'blink', 'body', 'doctype', 'embed', 'font', 'form', 'frame', 'frameset', 'html', 'iframe', 'input', 'marquee', 'meta', 'noscript', 'object', 'param', 'script', 'style');
+
+ /**
+ * @var bool Should we throw exceptions, or use the old-style error property?
+ * @access private
+ */
+ public $enable_exceptions = false;
+
+ /**
+ * The SimplePie class contains feed level data and options
+ *
+ * To use SimplePie, create the SimplePie object with no parameters. You can
+ * then set configuration options using the provided methods. After setting
+ * them, you must initialise the feed using $feed->init(). At that point the
+ * object's methods and properties will be available to you.
+ *
+ * Previously, it was possible to pass in the feed URL along with cache
+ * options directly into the constructor. This has been removed as of 1.3 as
+ * it caused a lot of confusion.
+ *
+ * @since 1.0 Preview Release
+ */
+ public function __construct()
+ {
+ if (version_compare(PHP_VERSION, '5.3', '<'))
+ {
+ trigger_error('Please upgrade to PHP 5.3 or newer.');
+ die();
+ }
+
+ // Other objects, instances created here so we can set options on them
+ $this->sanitize = new SimplePie_Sanitize();
+ $this->registry = new SimplePie_Registry();
+
+ if (func_num_args() > 0)
+ {
+ $level = defined('E_USER_DEPRECATED') ? E_USER_DEPRECATED : E_USER_WARNING;
+ trigger_error('Passing parameters to the constructor is no longer supported. Please use set_feed_url(), set_cache_location(), and set_cache_duration() directly.', $level);
+
+ $args = func_get_args();
+ switch (count($args)) {
+ case 3:
+ $this->set_cache_duration($args[2]);
+ case 2:
+ $this->set_cache_location($args[1]);
+ case 1:
+ $this->set_feed_url($args[0]);
+ $this->init();
+ }
+ }
+ }
+
+ /**
+ * Used for converting object to a string
+ */
+ public function __toString()
+ {
+ return md5(serialize($this->data));
+ }
+
+ /**
+ * Remove items that link back to this before destroying this object
+ */
+ public function __destruct()
+ {
+ if ((version_compare(PHP_VERSION, '5.3', '<') || !gc_enabled()) && !ini_get('zend.ze1_compatibility_mode'))
+ {
+ if (!empty($this->data['items']))
+ {
+ foreach ($this->data['items'] as $item)
+ {
+ $item->__destruct();
+ }
+ unset($item, $this->data['items']);
+ }
+ if (!empty($this->data['ordered_items']))
+ {
+ foreach ($this->data['ordered_items'] as $item)
+ {
+ $item->__destruct();
+ }
+ unset($item, $this->data['ordered_items']);
+ }
+ }
+ }
+
+ /**
+ * Force the given data/URL to be treated as a feed
+ *
+ * This tells SimplePie to ignore the content-type provided by the server.
+ * Be careful when using this option, as it will also disable autodiscovery.
+ *
+ * @since 1.1
+ * @param bool $enable Force the given data/URL to be treated as a feed
+ */
+ public function force_feed($enable = false)
+ {
+ $this->force_feed = (bool) $enable;
+ }
+
+ /**
+ * Set the URL of the feed you want to parse
+ *
+ * This allows you to enter the URL of the feed you want to parse, or the
+ * website you want to try to use auto-discovery on. This takes priority
+ * over any set raw data.
+ *
+ * You can set multiple feeds to mash together by passing an array instead
+ * of a string for the $url. Remember that with each additional feed comes
+ * additional processing and resources.
+ *
+ * @since 1.0 Preview Release
+ * @see set_raw_data()
+ * @param string|array $url This is the URL (or array of URLs) that you want to parse.
+ */
+ public function set_feed_url($url)
+ {
+ $this->multifeed_url = array();
+ if (is_array($url))
+ {
+ foreach ($url as $value)
+ {
+ $this->multifeed_url[] = $this->registry->call('Misc', 'fix_protocol', array($value, 1));
+ }
+ }
+ else
+ {
+ $this->feed_url = $this->registry->call('Misc', 'fix_protocol', array($url, 1));
+ $this->permanent_url = $this->feed_url;
+ }
+ }
+
+ /**
+ * Set an instance of {@see SimplePie_File} to use as a feed
+ *
+ * @param SimplePie_File &$file
+ * @return bool True on success, false on failure
+ */
+ public function set_file(&$file)
+ {
+ if ($file instanceof SimplePie_File)
+ {
+ $this->feed_url = $file->url;
+ $this->permanent_url = $this->feed_url;
+ $this->file =& $file;
+ return true;
+ }
+ return false;
+ }
+
+ /**
+ * Set the raw XML data to parse
+ *
+ * Allows you to use a string of RSS/Atom data instead of a remote feed.
+ *
+ * If you have a feed available as a string in PHP, you can tell SimplePie
+ * to parse that data string instead of a remote feed. Any set feed URL
+ * takes precedence.
+ *
+ * @since 1.0 Beta 3
+ * @param string $data RSS or Atom data as a string.
+ * @see set_feed_url()
+ */
+ public function set_raw_data($data)
+ {
+ $this->raw_data = $data;
+ }
+
+ /**
+ * Set the the default timeout for fetching remote feeds
+ *
+ * This allows you to change the maximum time the feed's server to respond
+ * and send the feed back.
+ *
+ * @since 1.0 Beta 3
+ * @param int $timeout The maximum number of seconds to spend waiting to retrieve a feed.
+ */
+ public function set_timeout($timeout = 10)
+ {
+ $this->timeout = (int) $timeout;
+ }
+
+ /**
+ * Set custom curl options
+ *
+ * This allows you to change default curl options
+ *
+ * @since 1.0 Beta 3
+ * @param array $curl_options Curl options to add to default settings
+ */
+ public function set_curl_options(array $curl_options = array())
+ {
+ $this->curl_options = $curl_options;
+ }
+
+ /**
+ * Force SimplePie to use fsockopen() instead of cURL
+ *
+ * @since 1.0 Beta 3
+ * @param bool $enable Force fsockopen() to be used
+ */
+ public function force_fsockopen($enable = false)
+ {
+ $this->force_fsockopen = (bool) $enable;
+ }
+
+ /**
+ * Enable/disable caching in SimplePie.
+ *
+ * This option allows you to disable caching all-together in SimplePie.
+ * However, disabling the cache can lead to longer load times.
+ *
+ * @since 1.0 Preview Release
+ * @param bool $enable Enable caching
+ */
+ public function enable_cache($enable = true)
+ {
+ $this->cache = (bool) $enable;
+ }
+
+ /**
+ * SimplePie to continue to fall back to expired cache, if enabled, when
+ * feed is unavailable.
+ *
+ * This tells SimplePie to ignore any file errors and fall back to cache
+ * instead. This only works if caching is enabled and cached content
+ * still exists.
+
+ * @param bool $enable Force use of cache on fail.
+ */
+ public function force_cache_fallback($enable = false)
+ {
+ $this->force_cache_fallback= (bool) $enable;
+ }
+
+ /**
+ * Set the length of time (in seconds) that the contents of a feed will be
+ * cached
+ *
+ * @param int $seconds The feed content cache duration
+ */
+ public function set_cache_duration($seconds = 3600)
+ {
+ $this->cache_duration = (int) $seconds;
+ }
+
+ /**
+ * Set the length of time (in seconds) that the autodiscovered feed URL will
+ * be cached
+ *
+ * @param int $seconds The autodiscovered feed URL cache duration.
+ */
+ public function set_autodiscovery_cache_duration($seconds = 604800)
+ {
+ $this->autodiscovery_cache_duration = (int) $seconds;
+ }
+
+ /**
+ * Set the file system location where the cached files should be stored
+ *
+ * @param string $location The file system location.
+ */
+ public function set_cache_location($location = './cache')
+ {
+ $this->cache_location = (string) $location;
+ }
+
+ /**
+ * Set whether feed items should be sorted into reverse chronological order
+ *
+ * @param bool $enable Sort as reverse chronological order.
+ */
+ public function enable_order_by_date($enable = true)
+ {
+ $this->order_by_date = (bool) $enable;
+ }
+
+ /**
+ * Set the character encoding used to parse the feed
+ *
+ * This overrides the encoding reported by the feed, however it will fall
+ * back to the normal encoding detection if the override fails
+ *
+ * @param string $encoding Character encoding
+ */
+ public function set_input_encoding($encoding = false)
+ {
+ if ($encoding)
+ {
+ $this->input_encoding = (string) $encoding;
+ }
+ else
+ {
+ $this->input_encoding = false;
+ }
+ }
+
+ /**
+ * Set how much feed autodiscovery to do
+ *
+ * @see SIMPLEPIE_LOCATOR_NONE
+ * @see SIMPLEPIE_LOCATOR_AUTODISCOVERY
+ * @see SIMPLEPIE_LOCATOR_LOCAL_EXTENSION
+ * @see SIMPLEPIE_LOCATOR_LOCAL_BODY
+ * @see SIMPLEPIE_LOCATOR_REMOTE_EXTENSION
+ * @see SIMPLEPIE_LOCATOR_REMOTE_BODY
+ * @see SIMPLEPIE_LOCATOR_ALL
+ * @param int $level Feed Autodiscovery Level (level can be a combination of the above constants, see bitwise OR operator)
+ */
+ public function set_autodiscovery_level($level = SIMPLEPIE_LOCATOR_ALL)
+ {
+ $this->autodiscovery = (int) $level;
+ }
+
+ /**
+ * Get the class registry
+ *
+ * Use this to override SimplePie's default classes
+ * @see SimplePie_Registry
+ * @return SimplePie_Registry
+ */
+ public function &get_registry()
+ {
+ return $this->registry;
+ }
+
+ /**#@+
+ * Useful when you are overloading or extending SimplePie's default classes.
+ *
+ * @deprecated Use {@see get_registry()} instead
+ * @link http://php.net/manual/en/language.oop5.basic.php#language.oop5.basic.extends PHP5 extends documentation
+ * @param string $class Name of custom class
+ * @return boolean True on success, false otherwise
+ */
+ /**
+ * Set which class SimplePie uses for caching
+ */
+ public function set_cache_class($class = 'SimplePie_Cache')
+ {
+ return $this->registry->register('Cache', $class, true);
+ }
+
+ /**
+ * Set which class SimplePie uses for auto-discovery
+ */
+ public function set_locator_class($class = 'SimplePie_Locator')
+ {
+ return $this->registry->register('Locator', $class, true);
+ }
+
+ /**
+ * Set which class SimplePie uses for XML parsing
+ */
+ public function set_parser_class($class = 'SimplePie_Parser')
+ {
+ return $this->registry->register('Parser', $class, true);
+ }
+
+ /**
+ * Set which class SimplePie uses for remote file fetching
+ */
+ public function set_file_class($class = 'SimplePie_File')
+ {
+ return $this->registry->register('File', $class, true);
+ }
+
+ /**
+ * Set which class SimplePie uses for data sanitization
+ */
+ public function set_sanitize_class($class = 'SimplePie_Sanitize')
+ {
+ return $this->registry->register('Sanitize', $class, true);
+ }
+
+ /**
+ * Set which class SimplePie uses for handling feed items
+ */
+ public function set_item_class($class = 'SimplePie_Item')
+ {
+ return $this->registry->register('Item', $class, true);
+ }
+
+ /**
+ * Set which class SimplePie uses for handling author data
+ */
+ public function set_author_class($class = 'SimplePie_Author')
+ {
+ return $this->registry->register('Author', $class, true);
+ }
+
+ /**
+ * Set which class SimplePie uses for handling category data
+ */
+ public function set_category_class($class = 'SimplePie_Category')
+ {
+ return $this->registry->register('Category', $class, true);
+ }
+
+ /**
+ * Set which class SimplePie uses for feed enclosures
+ */
+ public function set_enclosure_class($class = 'SimplePie_Enclosure')
+ {
+ return $this->registry->register('Enclosure', $class, true);
+ }
+
+ /**
+ * Set which class SimplePie uses for `<media:text>` captions
+ */
+ public function set_caption_class($class = 'SimplePie_Caption')
+ {
+ return $this->registry->register('Caption', $class, true);
+ }
+
+ /**
+ * Set which class SimplePie uses for `<media:copyright>`
+ */
+ public function set_copyright_class($class = 'SimplePie_Copyright')
+ {
+ return $this->registry->register('Copyright', $class, true);
+ }
+
+ /**
+ * Set which class SimplePie uses for `<media:credit>`
+ */
+ public function set_credit_class($class = 'SimplePie_Credit')
+ {
+ return $this->registry->register('Credit', $class, true);
+ }
+
+ /**
+ * Set which class SimplePie uses for `<media:rating>`
+ */
+ public function set_rating_class($class = 'SimplePie_Rating')
+ {
+ return $this->registry->register('Rating', $class, true);
+ }
+
+ /**
+ * Set which class SimplePie uses for `<media:restriction>`
+ */
+ public function set_restriction_class($class = 'SimplePie_Restriction')
+ {
+ return $this->registry->register('Restriction', $class, true);
+ }
+
+ /**
+ * Set which class SimplePie uses for content-type sniffing
+ */
+ public function set_content_type_sniffer_class($class = 'SimplePie_Content_Type_Sniffer')
+ {
+ return $this->registry->register('Content_Type_Sniffer', $class, true);
+ }
+
+ /**
+ * Set which class SimplePie uses item sources
+ */
+ public function set_source_class($class = 'SimplePie_Source')
+ {
+ return $this->registry->register('Source', $class, true);
+ }
+ /**#@-*/
+
+ /**
+ * Set the user agent string
+ *
+ * @param string $ua New user agent string.
+ */
+ public function set_useragent($ua = SIMPLEPIE_USERAGENT)
+ {
+ $this->useragent = (string) $ua;
+ }
+
+ /**
+ * Set callback function to create cache filename with
+ *
+ * @param mixed $function Callback function
+ */
+ public function set_cache_name_function($function = 'md5')
+ {
+ if (is_callable($function))
+ {
+ $this->cache_name_function = $function;
+ }
+ }
+
+ /**
+ * Set options to make SP as fast as possible
+ *
+ * Forgoes a substantial amount of data sanitization in favor of speed. This
+ * turns SimplePie into a dumb parser of feeds.
+ *
+ * @param bool $set Whether to set them or not
+ */
+ public function set_stupidly_fast($set = false)
+ {
+ if ($set)
+ {
+ $this->enable_order_by_date(false);
+ $this->remove_div(false);
+ $this->strip_comments(false);
+ $this->strip_htmltags(false);
+ $this->strip_attributes(false);
+ $this->add_attributes(false);
+ $this->set_image_handler(false);
+ }
+ }
+
+ /**
+ * Set maximum number of feeds to check with autodiscovery
+ *
+ * @param int $max Maximum number of feeds to check
+ */
+ public function set_max_checked_feeds($max = 10)
+ {
+ $this->max_checked_feeds = (int) $max;
+ }
+
+ public function remove_div($enable = true)
+ {
+ $this->sanitize->remove_div($enable);
+ }
+
+ public function strip_htmltags($tags = '', $encode = null)
+ {
+ if ($tags === '')
+ {
+ $tags = $this->strip_htmltags;
+ }
+ $this->sanitize->strip_htmltags($tags);
+ if ($encode !== null)
+ {
+ $this->sanitize->encode_instead_of_strip($tags);
+ }
+ }
+
+ public function encode_instead_of_strip($enable = true)
+ {
+ $this->sanitize->encode_instead_of_strip($enable);
+ }
+
+ public function strip_attributes($attribs = '')
+ {
+ if ($attribs === '')
+ {
+ $attribs = $this->strip_attributes;
+ }
+ $this->sanitize->strip_attributes($attribs);
+ }
+
+ public function add_attributes($attribs = '')
+ {
+ if ($attribs === '')
+ {
+ $attribs = $this->add_attributes;
+ }
+ $this->sanitize->add_attributes($attribs);
+ }
+
+ /**
+ * Set the output encoding
+ *
+ * Allows you to override SimplePie's output to match that of your webpage.
+ * This is useful for times when your webpages are not being served as
+ * UTF-8. This setting will be obeyed by {@see handle_content_type()}, and
+ * is similar to {@see set_input_encoding()}.
+ *
+ * It should be noted, however, that not all character encodings can support
+ * all characters. If your page is being served as ISO-8859-1 and you try
+ * to display a Japanese feed, you'll likely see garbled characters.
+ * Because of this, it is highly recommended to ensure that your webpages
+ * are served as UTF-8.
+ *
+ * The number of supported character encodings depends on whether your web
+ * host supports {@link http://php.net/mbstring mbstring},
+ * {@link http://php.net/iconv iconv}, or both. See
+ * {@link http://simplepie.org/wiki/faq/Supported_Character_Encodings} for
+ * more information.
+ *
+ * @param string $encoding
+ */
+ public function set_output_encoding($encoding = 'UTF-8')
+ {
+ $this->sanitize->set_output_encoding($encoding);
+ }
+
+ public function strip_comments($strip = false)
+ {
+ $this->sanitize->strip_comments($strip);
+ }
+
+ /**
+ * Set element/attribute key/value pairs of HTML attributes
+ * containing URLs that need to be resolved relative to the feed
+ *
+ * Defaults to |a|@href, |area|@href, |blockquote|@cite, |del|@cite,
+ * |form|@action, |img|@longdesc, |img|@src, |input|@src, |ins|@cite,
+ * |q|@cite
+ *
+ * @since 1.0
+ * @param array|null $element_attribute Element/attribute key/value pairs, null for default
+ */
+ public function set_url_replacements($element_attribute = null)
+ {
+ $this->sanitize->set_url_replacements($element_attribute);
+ }
+
+ /**
+ * Set the handler to enable the display of cached images.
+ *
+ * @param str $page Web-accessible path to the handler_image.php file.
+ * @param str $qs The query string that the value should be passed to.
+ */
+ public function set_image_handler($page = false, $qs = 'i')
+ {
+ if ($page !== false)
+ {
+ $this->sanitize->set_image_handler($page . '?' . $qs . '=');
+ }
+ else
+ {
+ $this->image_handler = '';
+ }
+ }
+
+ /**
+ * Set the limit for items returned per-feed with multifeeds
+ *
+ * @param integer $limit The maximum number of items to return.
+ */
+ public function set_item_limit($limit = 0)
+ {
+ $this->item_limit = (int) $limit;
+ }
+
+ /**
+ * Enable throwing exceptions
+ *
+ * @param boolean $enable Should we throw exceptions, or use the old-style error property?
+ */
+ public function enable_exceptions($enable = true)
+ {
+ $this->enable_exceptions = $enable;
+ }
+
+ /**
+ * Initialize the feed object
+ *
+ * This is what makes everything happen. Period. This is where all of the
+ * configuration options get processed, feeds are fetched, cached, and
+ * parsed, and all of that other good stuff.
+ *
+ * @return boolean True if successful, false otherwise
+ */
+ public function init()
+ {
+ // Check absolute bare minimum requirements.
+ if (!extension_loaded('xml') || !extension_loaded('pcre'))
+ {
+ $this->error = 'XML or PCRE extensions not loaded!';
+ return false;
+ }
+ // Then check the xml extension is sane (i.e., libxml 2.7.x issue on PHP < 5.2.9 and libxml 2.7.0 to 2.7.2 on any version) if we don't have xmlreader.
+ elseif (!extension_loaded('xmlreader'))
+ {
+ static $xml_is_sane = null;
+ if ($xml_is_sane === null)
+ {
+ $parser_check = xml_parser_create();
+ xml_parse_into_struct($parser_check, '<foo>&amp;</foo>', $values);
+ xml_parser_free($parser_check);
+ $xml_is_sane = isset($values[0]['value']);
+ }
+ if (!$xml_is_sane)
+ {
+ return false;
+ }
+ }
+
+ if (method_exists($this->sanitize, 'set_registry'))
+ {
+ $this->sanitize->set_registry($this->registry);
+ }
+
+ // Pass whatever was set with config options over to the sanitizer.
+ // Pass the classes in for legacy support; new classes should use the registry instead
+ $this->sanitize->pass_cache_data($this->cache, $this->cache_location, $this->cache_name_function, $this->registry->get_class('Cache'));
+ $this->sanitize->pass_file_data($this->registry->get_class('File'), $this->timeout, $this->useragent, $this->force_fsockopen, $this->curl_options);
+
+ if (!empty($this->multifeed_url))
+ {
+ $i = 0;
+ $success = 0;
+ $this->multifeed_objects = array();
+ $this->error = array();
+ foreach ($this->multifeed_url as $url)
+ {
+ $this->multifeed_objects[$i] = clone $this;
+ $this->multifeed_objects[$i]->set_feed_url($url);
+ $single_success = $this->multifeed_objects[$i]->init();
+ $success |= $single_success;
+ if (!$single_success)
+ {
+ $this->error[$i] = $this->multifeed_objects[$i]->error();
+ }
+ $i++;
+ }
+ return (bool) $success;
+ }
+ elseif ($this->feed_url === null && $this->raw_data === null)
+ {
+ return false;
+ }
+
+ $this->error = null;
+ $this->data = array();
+ $this->check_modified = false;
+ $this->multifeed_objects = array();
+ $cache = false;
+
+ if ($this->feed_url !== null)
+ {
+ $parsed_feed_url = $this->registry->call('Misc', 'parse_url', array($this->feed_url));
+
+ // Decide whether to enable caching
+ if ($this->cache && $parsed_feed_url['scheme'] !== '')
+ {
+ $cache = $this->registry->call('Cache', 'get_handler', array($this->cache_location, call_user_func($this->cache_name_function, $this->feed_url), 'spc'));
+ }
+
+ // Fetch the data via SimplePie_File into $this->raw_data
+ if (($fetched = $this->fetch_data($cache)) === true)
+ {
+ return true;
+ }
+ elseif ($fetched === false) {
+ return false;
+ }
+
+ list($headers, $sniffed) = $fetched;
+ }
+
+ // Empty response check
+ if(empty($this->raw_data)){
+ $this->error = "A feed could not be found at `$this->feed_url`. Empty body.";
+ $this->registry->call('Misc', 'error', array($this->error, E_USER_NOTICE, __FILE__, __LINE__));
+ return false;
+ }
+
+ // Set up array of possible encodings
+ $encodings = array();
+
+ // First check to see if input has been overridden.
+ if ($this->input_encoding !== false)
+ {
+ $encodings[] = strtoupper($this->input_encoding);
+ }
+
+ $application_types = array('application/xml', 'application/xml-dtd', 'application/xml-external-parsed-entity');
+ $text_types = array('text/xml', 'text/xml-external-parsed-entity');
+
+ // RFC 3023 (only applies to sniffed content)
+ if (isset($sniffed))
+ {
+ if (in_array($sniffed, $application_types) || substr($sniffed, 0, 12) === 'application/' && substr($sniffed, -4) === '+xml')
+ {
+ if (isset($headers['content-type']) && preg_match('/;\x20?charset=([^;]*)/i', $headers['content-type'], $charset))
+ {
+ $encodings[] = strtoupper($charset[1]);
+ }
+ $encodings = array_merge($encodings, $this->registry->call('Misc', 'xml_encoding', array($this->raw_data, &$this->registry)));
+ $encodings[] = 'UTF-8';
+ }
+ elseif (in_array($sniffed, $text_types) || substr($sniffed, 0, 5) === 'text/' && substr($sniffed, -4) === '+xml')
+ {
+ if (isset($headers['content-type']) && preg_match('/;\x20?charset=([^;]*)/i', $headers['content-type'], $charset))
+ {
+ $encodings[] = strtoupper($charset[1]);
+ }
+ $encodings[] = 'US-ASCII';
+ }
+ // Text MIME-type default
+ elseif (substr($sniffed, 0, 5) === 'text/')
+ {
+ $encodings[] = 'UTF-8';
+ }
+ }
+
+ // Fallback to XML 1.0 Appendix F.1/UTF-8/ISO-8859-1
+ $encodings = array_merge($encodings, $this->registry->call('Misc', 'xml_encoding', array($this->raw_data, &$this->registry)));
+ $encodings[] = 'UTF-8';
+ $encodings[] = 'ISO-8859-1';
+
+ // There's no point in trying an encoding twice
+ $encodings = array_unique($encodings);
+
+ // Loop through each possible encoding, till we return something, or run out of possibilities
+ foreach ($encodings as $encoding)
+ {
+ // Change the encoding to UTF-8 (as we always use UTF-8 internally)
+ if ($utf8_data = $this->registry->call('Misc', 'change_encoding', array($this->raw_data, $encoding, 'UTF-8')))
+ {
+ // Create new parser
+ $parser = $this->registry->create('Parser');
+
+ // If it's parsed fine
+ if ($parser->parse($utf8_data, 'UTF-8', $this->permanent_url))
+ {
+ $this->data = $parser->get_data();
+ if (!($this->get_type() & ~SIMPLEPIE_TYPE_NONE))
+ {
+ $this->error = "A feed could not be found at `$this->feed_url`. This does not appear to be a valid RSS or Atom feed.";
+ $this->registry->call('Misc', 'error', array($this->error, E_USER_NOTICE, __FILE__, __LINE__));
+ return false;
+ }
+
+ if (isset($headers))
+ {
+ $this->data['headers'] = $headers;
+ }
+ $this->data['build'] = SIMPLEPIE_BUILD;
+
+ // Cache the file if caching is enabled
+ if ($cache && !$cache->save($this))
+ {
+ trigger_error("$this->cache_location is not writeable. Make sure you've set the correct relative or absolute path, and that the location is server-writable.", E_USER_WARNING);
+ }
+ return true;
+ }
+ }
+ }
+
+ if (isset($parser))
+ {
+ // We have an error, just set SimplePie_Misc::error to it and quit
+ $this->error = $this->feed_url;
+ $this->error .= sprintf(' is invalid XML, likely due to invalid characters. XML error: %s at line %d, column %d', $parser->get_error_string(), $parser->get_current_line(), $parser->get_current_column());
+ }
+ else
+ {
+ $this->error = 'The data could not be converted to UTF-8.';
+ if (!extension_loaded('mbstring') && !extension_loaded('iconv') && !class_exists('\UConverter')) {
+ $this->error .= ' You MUST have either the iconv, mbstring or intl (PHP 5.5+) extension installed and enabled.';
+ } else {
+ $missingExtensions = array();
+ if (!extension_loaded('iconv')) {
+ $missingExtensions[] = 'iconv';
+ }
+ if (!extension_loaded('mbstring')) {
+ $missingExtensions[] = 'mbstring';
+ }
+ if (!class_exists('\UConverter')) {
+ $missingExtensions[] = 'intl (PHP 5.5+)';
+ }
+ $this->error .= ' Try installing/enabling the ' . implode(' or ', $missingExtensions) . ' extension.';
+ }
+ }
+
+ $this->registry->call('Misc', 'error', array($this->error, E_USER_NOTICE, __FILE__, __LINE__));
+
+ return false;
+ }
+
+ /**
+ * Fetch the data via SimplePie_File
+ *
+ * If the data is already cached, attempt to fetch it from there instead
+ * @param SimplePie_Cache|false $cache Cache handler, or false to not load from the cache
+ * @return array|true Returns true if the data was loaded from the cache, or an array of HTTP headers and sniffed type
+ */
+ protected function fetch_data(&$cache)
+ {
+ // If it's enabled, use the cache
+ if ($cache)
+ {
+ // Load the Cache
+ $this->data = $cache->load();
+ if (!empty($this->data))
+ {
+ // If the cache is for an outdated build of SimplePie
+ if (!isset($this->data['build']) || $this->data['build'] !== SIMPLEPIE_BUILD)
+ {
+ $cache->unlink();
+ $this->data = array();
+ }
+ // If we've hit a collision just rerun it with caching disabled
+ elseif (isset($this->data['url']) && $this->data['url'] !== $this->feed_url)
+ {
+ $cache = false;
+ $this->data = array();
+ }
+ // If we've got a non feed_url stored (if the page isn't actually a feed, or is a redirect) use that URL.
+ elseif (isset($this->data['feed_url']))
+ {
+ // If the autodiscovery cache is still valid use it.
+ if ($cache->mtime() + $this->autodiscovery_cache_duration > time())
+ {
+ // Do not need to do feed autodiscovery yet.
+ if ($this->data['feed_url'] !== $this->data['url'])
+ {
+ $this->set_feed_url($this->data['feed_url']);
+ return $this->init();
+ }
+
+ $cache->unlink();
+ $this->data = array();
+ }
+ }
+ // Check if the cache has been updated
+ elseif ($cache->mtime() + $this->cache_duration < time())
+ {
+ // Want to know if we tried to send last-modified and/or etag headers
+ // when requesting this file. (Note that it's up to the file to
+ // support this, but we don't always send the headers either.)
+ $this->check_modified = true;
+ if (isset($this->data['headers']['last-modified']) || isset($this->data['headers']['etag']))
+ {
+ $headers = array(
+ 'Accept' => 'application/atom+xml, application/rss+xml, application/rdf+xml;q=0.9, application/xml;q=0.8, text/xml;q=0.8, text/html;q=0.7, unknown/unknown;q=0.1, application/unknown;q=0.1, */*;q=0.1',
+ );
+ if (isset($this->data['headers']['last-modified']))
+ {
+ $headers['if-modified-since'] = $this->data['headers']['last-modified'];
+ }
+ if (isset($this->data['headers']['etag']))
+ {
+ $headers['if-none-match'] = $this->data['headers']['etag'];
+ }
+
+ $file = $this->registry->create('File', array($this->feed_url, $this->timeout/10, 5, $headers, $this->useragent, $this->force_fsockopen, $this->curl_options));
+
+ if ($file->success)
+ {
+ if ($file->status_code === 304)
+ {
+ // Set raw_data to false here too, to signify that the cache
+ // is still valid.
+ $this->raw_data = false;
+ $cache->touch();
+ return true;
+ }
+ }
+ else
+ {
+ $this->check_modified = false;
+ if($this->force_cache_fallback)
+ {
+ $cache->touch();
+ return true;
+ }
+
+ unset($file);
+ }
+ }
+ }
+ // If the cache is still valid, just return true
+ else
+ {
+ $this->raw_data = false;
+ return true;
+ }
+ }
+ // If the cache is empty, delete it
+ else
+ {
+ $cache->unlink();
+ $this->data = array();
+ }
+ }
+ // If we don't already have the file (it'll only exist if we've opened it to check if the cache has been modified), open it.
+ if (!isset($file))
+ {
+ if ($this->file instanceof SimplePie_File && $this->file->url === $this->feed_url)
+ {
+ $file =& $this->file;
+ }
+ else
+ {
+ $headers = array(
+ 'Accept' => 'application/atom+xml, application/rss+xml, application/rdf+xml;q=0.9, application/xml;q=0.8, text/xml;q=0.8, text/html;q=0.7, unknown/unknown;q=0.1, application/unknown;q=0.1, */*;q=0.1',
+ );
+ $file = $this->registry->create('File', array($this->feed_url, $this->timeout, 5, $headers, $this->useragent, $this->force_fsockopen, $this->curl_options));
+ }
+ }
+ // If the file connection has an error, set SimplePie::error to that and quit
+ if (!$file->success && !($file->method & SIMPLEPIE_FILE_SOURCE_REMOTE === 0 || ($file->status_code === 200 || $file->status_code > 206 && $file->status_code < 300)))
+ {
+ $this->error = $file->error;
+ return !empty($this->data);
+ }
+
+ if (!$this->force_feed)
+ {
+ // Check if the supplied URL is a feed, if it isn't, look for it.
+ $locate = $this->registry->create('Locator', array(&$file, $this->timeout, $this->useragent, $this->max_checked_feeds));
+
+ if (!$locate->is_feed($file))
+ {
+ $copyStatusCode = $file->status_code;
+ $copyContentType = $file->headers['content-type'];
+ try
+ {
+ $microformats = false;
+ if (function_exists('Mf2\parse')) {
+ // Check for both h-feed and h-entry, as both a feed with no entries
+ // and a list of entries without an h-feed wrapper are both valid.
+ $position = 0;
+ while ($position = strpos($file->body, 'h-feed', $position))
+ {
+ $start = $position < 200 ? 0 : $position - 200;
+ $check = substr($file->body, $start, 400);
+ if ($microformats = preg_match('/class="[^"]*h-feed/', $check))
+ {
+ break;
+ }
+ $position += 7;
+ }
+ $position = 0;
+ while ($position = strpos($file->body, 'h-entry', $position))
+ {
+ $start = $position < 200 ? 0 : $position - 200;
+ $check = substr($file->body, $start, 400);
+ if ($microformats = preg_match('/class="[^"]*h-entry/', $check))
+ {
+ break;
+ }
+ $position += 7;
+ }
+ }
+ // Now also do feed discovery, but if an h-entry was found don't
+ // overwrite the current value of file.
+ $discovered = $locate->find($this->autodiscovery,
+ $this->all_discovered_feeds);
+ if ($microformats)
+ {
+ if ($hub = $locate->get_rel_link('hub'))
+ {
+ $self = $locate->get_rel_link('self');
+ $this->store_links($file, $hub, $self);
+ }
+ // Push the current file onto all_discovered feeds so the user can
+ // be shown this as one of the options.
+ if (isset($this->all_discovered_feeds)) {
+ $this->all_discovered_feeds[] = $file;
+ }
+ }
+ else
+ {
+ if ($discovered)
+ {
+ $file = $discovered;
+ }
+ else
+ {
+ // We need to unset this so that if SimplePie::set_file() has
+ // been called that object is untouched
+ unset($file);
+ $this->error = "A feed could not be found at `$this->feed_url`; the status code is `$copyStatusCode` and content-type is `$copyContentType`";
+ $this->registry->call('Misc', 'error', array($this->error, E_USER_NOTICE, __FILE__, __LINE__));
+ return false;
+ }
+ }
+ }
+ catch (SimplePie_Exception $e)
+ {
+ // We need to unset this so that if SimplePie::set_file() has been called that object is untouched
+ unset($file);
+ // This is usually because DOMDocument doesn't exist
+ $this->error = $e->getMessage();
+ $this->registry->call('Misc', 'error', array($this->error, E_USER_NOTICE, $e->getFile(), $e->getLine()));
+ return false;
+ }
+ if ($cache)
+ {
+ $this->data = array('url' => $this->feed_url, 'feed_url' => $file->url, 'build' => SIMPLEPIE_BUILD);
+ if (!$cache->save($this))
+ {
+ trigger_error("$this->cache_location is not writeable. Make sure you've set the correct relative or absolute path, and that the location is server-writable.", E_USER_WARNING);
+ }
+ $cache = $this->registry->call('Cache', 'get_handler', array($this->cache_location, call_user_func($this->cache_name_function, $file->url), 'spc'));
+ }
+ $this->feed_url = $file->url;
+ }
+ $locate = null;
+ }
+
+ $this->raw_data = $file->body;
+ $this->permanent_url = $file->permanent_url;
+ $headers = $file->headers;
+ $sniffer = $this->registry->create('Content_Type_Sniffer', array(&$file));
+ $sniffed = $sniffer->get_type();
+
+ return array($headers, $sniffed);
+ }
+
+ /**
+ * Get the error message for the occured error
+ *
+ * @return string|array Error message, or array of messages for multifeeds
+ */
+ public function error()
+ {
+ return $this->error;
+ }
+
+ /**
+ * Get the raw XML
+ *
+ * This is the same as the old `$feed->enable_xml_dump(true)`, but returns
+ * the data instead of printing it.
+ *
+ * @return string|boolean Raw XML data, false if the cache is used
+ */
+ public function get_raw_data()
+ {
+ return $this->raw_data;
+ }
+
+ /**
+ * Get the character encoding used for output
+ *
+ * @since Preview Release
+ * @return string
+ */
+ public function get_encoding()
+ {
+ return $this->sanitize->output_encoding;
+ }
+
+ /**
+ * Send the content-type header with correct encoding
+ *
+ * This method ensures that the SimplePie-enabled page is being served with
+ * the correct {@link http://www.iana.org/assignments/media-types/ mime-type}
+ * and character encoding HTTP headers (character encoding determined by the
+ * {@see set_output_encoding} config option).
+ *
+ * This won't work properly if any content or whitespace has already been
+ * sent to the browser, because it relies on PHP's
+ * {@link http://php.net/header header()} function, and these are the
+ * circumstances under which the function works.
+ *
+ * Because it's setting these settings for the entire page (as is the nature
+ * of HTTP headers), this should only be used once per page (again, at the
+ * top).
+ *
+ * @param string $mime MIME type to serve the page as
+ */
+ public function handle_content_type($mime = 'text/html')
+ {
+ if (!headers_sent())
+ {
+ $header = "Content-type: $mime;";
+ if ($this->get_encoding())
+ {
+ $header .= ' charset=' . $this->get_encoding();
+ }
+ else
+ {
+ $header .= ' charset=UTF-8';
+ }
+ header($header);
+ }
+ }
+
+ /**
+ * Get the type of the feed
+ *
+ * This returns a SIMPLEPIE_TYPE_* constant, which can be tested against
+ * using {@link http://php.net/language.operators.bitwise bitwise operators}
+ *
+ * @since 0.8 (usage changed to using constants in 1.0)
+ * @see SIMPLEPIE_TYPE_NONE Unknown.
+ * @see SIMPLEPIE_TYPE_RSS_090 RSS 0.90.
+ * @see SIMPLEPIE_TYPE_RSS_091_NETSCAPE RSS 0.91 (Netscape).
+ * @see SIMPLEPIE_TYPE_RSS_091_USERLAND RSS 0.91 (Userland).
+ * @see SIMPLEPIE_TYPE_RSS_091 RSS 0.91.
+ * @see SIMPLEPIE_TYPE_RSS_092 RSS 0.92.
+ * @see SIMPLEPIE_TYPE_RSS_093 RSS 0.93.
+ * @see SIMPLEPIE_TYPE_RSS_094 RSS 0.94.
+ * @see SIMPLEPIE_TYPE_RSS_10 RSS 1.0.
+ * @see SIMPLEPIE_TYPE_RSS_20 RSS 2.0.x.
+ * @see SIMPLEPIE_TYPE_RSS_RDF RDF-based RSS.
+ * @see SIMPLEPIE_TYPE_RSS_SYNDICATION Non-RDF-based RSS (truly intended as syndication format).
+ * @see SIMPLEPIE_TYPE_RSS_ALL Any version of RSS.
+ * @see SIMPLEPIE_TYPE_ATOM_03 Atom 0.3.
+ * @see SIMPLEPIE_TYPE_ATOM_10 Atom 1.0.
+ * @see SIMPLEPIE_TYPE_ATOM_ALL Any version of Atom.
+ * @see SIMPLEPIE_TYPE_ALL Any known/supported feed type.
+ * @return int SIMPLEPIE_TYPE_* constant
+ */
+ public function get_type()
+ {
+ if (!isset($this->data['type']))
+ {
+ $this->data['type'] = SIMPLEPIE_TYPE_ALL;
+ if (isset($this->data['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['feed']))
+ {
+ $this->data['type'] &= SIMPLEPIE_TYPE_ATOM_10;
+ }
+ elseif (isset($this->data['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['feed']))
+ {
+ $this->data['type'] &= SIMPLEPIE_TYPE_ATOM_03;
+ }
+ elseif (isset($this->data['child'][SIMPLEPIE_NAMESPACE_RDF]['RDF']))
+ {
+ if (isset($this->data['child'][SIMPLEPIE_NAMESPACE_RDF]['RDF'][0]['child'][SIMPLEPIE_NAMESPACE_RSS_10]['channel'])
+ || isset($this->data['child'][SIMPLEPIE_NAMESPACE_RDF]['RDF'][0]['child'][SIMPLEPIE_NAMESPACE_RSS_10]['image'])
+ || isset($this->data['child'][SIMPLEPIE_NAMESPACE_RDF]['RDF'][0]['child'][SIMPLEPIE_NAMESPACE_RSS_10]['item'])
+ || isset($this->data['child'][SIMPLEPIE_NAMESPACE_RDF]['RDF'][0]['child'][SIMPLEPIE_NAMESPACE_RSS_10]['textinput']))
+ {
+ $this->data['type'] &= SIMPLEPIE_TYPE_RSS_10;
+ }
+ if (isset($this->data['child'][SIMPLEPIE_NAMESPACE_RDF]['RDF'][0]['child'][SIMPLEPIE_NAMESPACE_RSS_090]['channel'])
+ || isset($this->data['child'][SIMPLEPIE_NAMESPACE_RDF]['RDF'][0]['child'][SIMPLEPIE_NAMESPACE_RSS_090]['image'])
+ || isset($this->data['child'][SIMPLEPIE_NAMESPACE_RDF]['RDF'][0]['child'][SIMPLEPIE_NAMESPACE_RSS_090]['item'])
+ || isset($this->data['child'][SIMPLEPIE_NAMESPACE_RDF]['RDF'][0]['child'][SIMPLEPIE_NAMESPACE_RSS_090]['textinput']))
+ {
+ $this->data['type'] &= SIMPLEPIE_TYPE_RSS_090;
+ }
+ }
+ elseif (isset($this->data['child'][SIMPLEPIE_NAMESPACE_RSS_20]['rss']))
+ {
+ $this->data['type'] &= SIMPLEPIE_TYPE_RSS_ALL;
+ if (isset($this->data['child'][SIMPLEPIE_NAMESPACE_RSS_20]['rss'][0]['attribs']['']['version']))
+ {
+ switch (trim($this->data['child'][SIMPLEPIE_NAMESPACE_RSS_20]['rss'][0]['attribs']['']['version']))
+ {
+ case '0.91':
+ $this->data['type'] &= SIMPLEPIE_TYPE_RSS_091;
+ if (isset($this->data['child'][SIMPLEPIE_NAMESPACE_RSS_20]['rss'][0]['child'][SIMPLEPIE_NAMESPACE_RSS_20]['skiphours']['hour'][0]['data']))
+ {
+ switch (trim($this->data['child'][SIMPLEPIE_NAMESPACE_RSS_20]['rss'][0]['child'][SIMPLEPIE_NAMESPACE_RSS_20]['skiphours']['hour'][0]['data']))
+ {
+ case '0':
+ $this->data['type'] &= SIMPLEPIE_TYPE_RSS_091_NETSCAPE;
+ break;
+
+ case '24':
+ $this->data['type'] &= SIMPLEPIE_TYPE_RSS_091_USERLAND;
+ break;
+ }
+ }
+ break;
+
+ case '0.92':
+ $this->data['type'] &= SIMPLEPIE_TYPE_RSS_092;
+ break;
+
+ case '0.93':
+ $this->data['type'] &= SIMPLEPIE_TYPE_RSS_093;
+ break;
+
+ case '0.94':
+ $this->data['type'] &= SIMPLEPIE_TYPE_RSS_094;
+ break;
+
+ case '2.0':
+ $this->data['type'] &= SIMPLEPIE_TYPE_RSS_20;
+ break;
+ }
+ }
+ }
+ else
+ {
+ $this->data['type'] = SIMPLEPIE_TYPE_NONE;
+ }
+ }
+ return $this->data['type'];
+ }
+
+ /**
+ * Get the URL for the feed
+ *
+ * When the 'permanent' mode is enabled, returns the original feed URL,
+ * except in the case of an `HTTP 301 Moved Permanently` status response,
+ * in which case the location of the first redirection is returned.
+ *
+ * When the 'permanent' mode is disabled (default),
+ * may or may not be different from the URL passed to {@see set_feed_url()},
+ * depending on whether auto-discovery was used.
+ *
+ * @since Preview Release (previously called `get_feed_url()` since SimplePie 0.8.)
+ * @todo Support <itunes:new-feed-url>
+ * @todo Also, |atom:link|@rel=self
+ * @param bool $permanent Permanent mode to return only the original URL or the first redirection
+ * iff it is a 301 redirection
+ * @return string|null
+ */
+ public function subscribe_url($permanent = false)
+ {
+ if ($permanent)
+ {
+ if ($this->permanent_url !== null)
+ {
+ // sanitize encodes ampersands which are required when used in a url.
+ return str_replace('&amp;', '&',
+ $this->sanitize($this->permanent_url,
+ SIMPLEPIE_CONSTRUCT_IRI));
+ }
+ }
+ else
+ {
+ if ($this->feed_url !== null)
+ {
+ return str_replace('&amp;', '&',
+ $this->sanitize($this->feed_url,
+ SIMPLEPIE_CONSTRUCT_IRI));
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Get data for an feed-level element
+ *
+ * This method allows you to get access to ANY element/attribute that is a
+ * sub-element of the opening feed tag.
+ *
+ * The return value is an indexed array of elements matching the given
+ * namespace and tag name. Each element has `attribs`, `data` and `child`
+ * subkeys. For `attribs` and `child`, these contain namespace subkeys.
+ * `attribs` then has one level of associative name => value data (where
+ * `value` is a string) after the namespace. `child` has tag-indexed keys
+ * after the namespace, each member of which is an indexed array matching
+ * this same format.
+ *
+ * For example:
+ * <pre>
+ * // This is probably a bad example because we already support
+ * // <media:content> natively, but it shows you how to parse through
+ * // the nodes.
+ * $group = $item->get_item_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'group');
+ * $content = $group[0]['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['content'];
+ * $file = $content[0]['attribs']['']['url'];
+ * echo $file;
+ * </pre>
+ *
+ * @since 1.0
+ * @see http://simplepie.org/wiki/faq/supported_xml_namespaces
+ * @param string $namespace The URL of the XML namespace of the elements you're trying to access
+ * @param string $tag Tag name
+ * @return array
+ */
+ public function get_feed_tags($namespace, $tag)
+ {
+ $type = $this->get_type();
+ if ($type & SIMPLEPIE_TYPE_ATOM_10)
+ {
+ if (isset($this->data['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['feed'][0]['child'][$namespace][$tag]))
+ {
+ return $this->data['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['feed'][0]['child'][$namespace][$tag];
+ }
+ }
+ if ($type & SIMPLEPIE_TYPE_ATOM_03)
+ {
+ if (isset($this->data['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['feed'][0]['child'][$namespace][$tag]))
+ {
+ return $this->data['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['feed'][0]['child'][$namespace][$tag];
+ }
+ }
+ if ($type & SIMPLEPIE_TYPE_RSS_RDF)
+ {
+ if (isset($this->data['child'][SIMPLEPIE_NAMESPACE_RDF]['RDF'][0]['child'][$namespace][$tag]))
+ {
+ return $this->data['child'][SIMPLEPIE_NAMESPACE_RDF]['RDF'][0]['child'][$namespace][$tag];
+ }
+ }
+ if ($type & SIMPLEPIE_TYPE_RSS_SYNDICATION)
+ {
+ if (isset($this->data['child'][SIMPLEPIE_NAMESPACE_RSS_20]['rss'][0]['child'][$namespace][$tag]))
+ {
+ return $this->data['child'][SIMPLEPIE_NAMESPACE_RSS_20]['rss'][0]['child'][$namespace][$tag];
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Get data for an channel-level element
+ *
+ * This method allows you to get access to ANY element/attribute in the
+ * channel/header section of the feed.
+ *
+ * See {@see SimplePie::get_feed_tags()} for a description of the return value
+ *
+ * @since 1.0
+ * @see http://simplepie.org/wiki/faq/supported_xml_namespaces
+ * @param string $namespace The URL of the XML namespace of the elements you're trying to access
+ * @param string $tag Tag name
+ * @return array
+ */
+ public function get_channel_tags($namespace, $tag)
+ {
+ $type = $this->get_type();
+ if ($type & SIMPLEPIE_TYPE_ATOM_ALL)
+ {
+ if ($return = $this->get_feed_tags($namespace, $tag))
+ {
+ return $return;
+ }
+ }
+ if ($type & SIMPLEPIE_TYPE_RSS_10)
+ {
+ if ($channel = $this->get_feed_tags(SIMPLEPIE_NAMESPACE_RSS_10, 'channel'))
+ {
+ if (isset($channel[0]['child'][$namespace][$tag]))
+ {
+ return $channel[0]['child'][$namespace][$tag];
+ }
+ }
+ }
+ if ($type & SIMPLEPIE_TYPE_RSS_090)
+ {
+ if ($channel = $this->get_feed_tags(SIMPLEPIE_NAMESPACE_RSS_090, 'channel'))
+ {
+ if (isset($channel[0]['child'][$namespace][$tag]))
+ {
+ return $channel[0]['child'][$namespace][$tag];
+ }
+ }
+ }
+ if ($type & SIMPLEPIE_TYPE_RSS_SYNDICATION)
+ {
+ if ($channel = $this->get_feed_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'channel'))
+ {
+ if (isset($channel[0]['child'][$namespace][$tag]))
+ {
+ return $channel[0]['child'][$namespace][$tag];
+ }
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Get data for an channel-level element
+ *
+ * This method allows you to get access to ANY element/attribute in the
+ * image/logo section of the feed.
+ *
+ * See {@see SimplePie::get_feed_tags()} for a description of the return value
+ *
+ * @since 1.0
+ * @see http://simplepie.org/wiki/faq/supported_xml_namespaces
+ * @param string $namespace The URL of the XML namespace of the elements you're trying to access
+ * @param string $tag Tag name
+ * @return array
+ */
+ public function get_image_tags($namespace, $tag)
+ {
+ $type = $this->get_type();
+ if ($type & SIMPLEPIE_TYPE_RSS_10)
+ {
+ if ($image = $this->get_feed_tags(SIMPLEPIE_NAMESPACE_RSS_10, 'image'))
+ {
+ if (isset($image[0]['child'][$namespace][$tag]))
+ {
+ return $image[0]['child'][$namespace][$tag];
+ }
+ }
+ }
+ if ($type & SIMPLEPIE_TYPE_RSS_090)
+ {
+ if ($image = $this->get_feed_tags(SIMPLEPIE_NAMESPACE_RSS_090, 'image'))
+ {
+ if (isset($image[0]['child'][$namespace][$tag]))
+ {
+ return $image[0]['child'][$namespace][$tag];
+ }
+ }
+ }
+ if ($type & SIMPLEPIE_TYPE_RSS_SYNDICATION)
+ {
+ if ($image = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'image'))
+ {
+ if (isset($image[0]['child'][$namespace][$tag]))
+ {
+ return $image[0]['child'][$namespace][$tag];
+ }
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Get the base URL value from the feed
+ *
+ * Uses `<xml:base>` if available, otherwise uses the first link in the
+ * feed, or failing that, the URL of the feed itself.
+ *
+ * @see get_link
+ * @see subscribe_url
+ *
+ * @param array $element
+ * @return string
+ */
+ public function get_base($element = array())
+ {
+ if (!($this->get_type() & SIMPLEPIE_TYPE_RSS_SYNDICATION) && !empty($element['xml_base_explicit']) && isset($element['xml_base']))
+ {
+ return $element['xml_base'];
+ }
+ elseif ($this->get_link() !== null)
+ {
+ return $this->get_link();
+ }
+ else
+ {
+ return $this->subscribe_url();
+ }
+ }
+
+ /**
+ * Sanitize feed data
+ *
+ * @access private
+ * @see SimplePie_Sanitize::sanitize()
+ * @param string $data Data to sanitize
+ * @param int $type One of the SIMPLEPIE_CONSTRUCT_* constants
+ * @param string $base Base URL to resolve URLs against
+ * @return string Sanitized data
+ */
+ public function sanitize($data, $type, $base = '')
+ {
+ try
+ {
+ return $this->sanitize->sanitize($data, $type, $base);
+ }
+ catch (SimplePie_Exception $e)
+ {
+ if (!$this->enable_exceptions)
+ {
+ $this->error = $e->getMessage();
+ $this->registry->call('Misc', 'error', array($this->error, E_USER_WARNING, $e->getFile(), $e->getLine()));
+ return '';
+ }
+
+ throw $e;
+ }
+ }
+
+ /**
+ * Get the title of the feed
+ *
+ * Uses `<atom:title>`, `<title>` or `<dc:title>`
+ *
+ * @since 1.0 (previously called `get_feed_title` since 0.8)
+ * @return string|null
+ */
+ public function get_title()
+ {
+ if ($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'title'))
+ {
+ return $this->sanitize($return[0]['data'], $this->registry->call('Misc', 'atom_10_construct_type', array($return[0]['attribs'])), $this->get_base($return[0]));
+ }
+ elseif ($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'title'))
+ {
+ return $this->sanitize($return[0]['data'], $this->registry->call('Misc', 'atom_03_construct_type', array($return[0]['attribs'])), $this->get_base($return[0]));
+ }
+ elseif ($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_RSS_10, 'title'))
+ {
+ return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_MAYBE_HTML, $this->get_base($return[0]));
+ }
+ elseif ($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_RSS_090, 'title'))
+ {
+ return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_MAYBE_HTML, $this->get_base($return[0]));
+ }
+ elseif ($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'title'))
+ {
+ return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_MAYBE_HTML, $this->get_base($return[0]));
+ }
+ elseif ($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_DC_11, 'title'))
+ {
+ return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ elseif ($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_DC_10, 'title'))
+ {
+ return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ /**
+ * Get a category for the feed
+ *
+ * @since Unknown
+ * @param int $key The category that you want to return. Remember that arrays begin with 0, not 1
+ * @return SimplePie_Category|null
+ */
+ public function get_category($key = 0)
+ {
+ $categories = $this->get_categories();
+ if (isset($categories[$key]))
+ {
+ return $categories[$key];
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ /**
+ * Get all categories for the feed
+ *
+ * Uses `<atom:category>`, `<category>` or `<dc:subject>`
+ *
+ * @since Unknown
+ * @return array|null List of {@see SimplePie_Category} objects
+ */
+ public function get_categories()
+ {
+ $categories = array();
+
+ foreach ((array) $this->get_channel_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'category') as $category)
+ {
+ $term = null;
+ $scheme = null;
+ $label = null;
+ if (isset($category['attribs']['']['term']))
+ {
+ $term = $this->sanitize($category['attribs']['']['term'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ if (isset($category['attribs']['']['scheme']))
+ {
+ $scheme = $this->sanitize($category['attribs']['']['scheme'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ if (isset($category['attribs']['']['label']))
+ {
+ $label = $this->sanitize($category['attribs']['']['label'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ $categories[] = $this->registry->create('Category', array($term, $scheme, $label));
+ }
+ foreach ((array) $this->get_channel_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'category') as $category)
+ {
+ // This is really the label, but keep this as the term also for BC.
+ // Label will also work on retrieving because that falls back to term.
+ $term = $this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ if (isset($category['attribs']['']['domain']))
+ {
+ $scheme = $this->sanitize($category['attribs']['']['domain'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ else
+ {
+ $scheme = null;
+ }
+ $categories[] = $this->registry->create('Category', array($term, $scheme, null));
+ }
+ foreach ((array) $this->get_channel_tags(SIMPLEPIE_NAMESPACE_DC_11, 'subject') as $category)
+ {
+ $categories[] = $this->registry->create('Category', array($this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null));
+ }
+ foreach ((array) $this->get_channel_tags(SIMPLEPIE_NAMESPACE_DC_10, 'subject') as $category)
+ {
+ $categories[] = $this->registry->create('Category', array($this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null));
+ }
+
+ if (!empty($categories))
+ {
+ return array_unique($categories);
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ /**
+ * Get an author for the feed
+ *
+ * @since 1.1
+ * @param int $key The author that you want to return. Remember that arrays begin with 0, not 1
+ * @return SimplePie_Author|null
+ */
+ public function get_author($key = 0)
+ {
+ $authors = $this->get_authors();
+ if (isset($authors[$key]))
+ {
+ return $authors[$key];
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ /**
+ * Get all authors for the feed
+ *
+ * Uses `<atom:author>`, `<author>`, `<dc:creator>` or `<itunes:author>`
+ *
+ * @since 1.1
+ * @return array|null List of {@see SimplePie_Author} objects
+ */
+ public function get_authors()
+ {
+ $authors = array();
+ foreach ((array) $this->get_channel_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'author') as $author)
+ {
+ $name = null;
+ $uri = null;
+ $email = null;
+ if (isset($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['name'][0]['data']))
+ {
+ $name = $this->sanitize($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['name'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ if (isset($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['uri'][0]['data']))
+ {
+ $uri = $this->sanitize($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['uri'][0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['uri'][0]));
+ }
+ if (isset($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['email'][0]['data']))
+ {
+ $email = $this->sanitize($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['email'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ if ($name !== null || $email !== null || $uri !== null)
+ {
+ $authors[] = $this->registry->create('Author', array($name, $uri, $email));
+ }
+ }
+ if ($author = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'author'))
+ {
+ $name = null;
+ $url = null;
+ $email = null;
+ if (isset($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['name'][0]['data']))
+ {
+ $name = $this->sanitize($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['name'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ if (isset($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['url'][0]['data']))
+ {
+ $url = $this->sanitize($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['url'][0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['url'][0]));
+ }
+ if (isset($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['email'][0]['data']))
+ {
+ $email = $this->sanitize($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['email'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ if ($name !== null || $email !== null || $url !== null)
+ {
+ $authors[] = $this->registry->create('Author', array($name, $url, $email));
+ }
+ }
+ foreach ((array) $this->get_channel_tags(SIMPLEPIE_NAMESPACE_DC_11, 'creator') as $author)
+ {
+ $authors[] = $this->registry->create('Author', array($this->sanitize($author['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null));
+ }
+ foreach ((array) $this->get_channel_tags(SIMPLEPIE_NAMESPACE_DC_10, 'creator') as $author)
+ {
+ $authors[] = $this->registry->create('Author', array($this->sanitize($author['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null));
+ }
+ foreach ((array) $this->get_channel_tags(SIMPLEPIE_NAMESPACE_ITUNES, 'author') as $author)
+ {
+ $authors[] = $this->registry->create('Author', array($this->sanitize($author['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null));
+ }
+
+ if (!empty($authors))
+ {
+ return array_unique($authors);
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ /**
+ * Get a contributor for the feed
+ *
+ * @since 1.1
+ * @param int $key The contrbutor that you want to return. Remember that arrays begin with 0, not 1
+ * @return SimplePie_Author|null
+ */
+ public function get_contributor($key = 0)
+ {
+ $contributors = $this->get_contributors();
+ if (isset($contributors[$key]))
+ {
+ return $contributors[$key];
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ /**
+ * Get all contributors for the feed
+ *
+ * Uses `<atom:contributor>`
+ *
+ * @since 1.1
+ * @return array|null List of {@see SimplePie_Author} objects
+ */
+ public function get_contributors()
+ {
+ $contributors = array();
+ foreach ((array) $this->get_channel_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'contributor') as $contributor)
+ {
+ $name = null;
+ $uri = null;
+ $email = null;
+ if (isset($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['name'][0]['data']))
+ {
+ $name = $this->sanitize($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['name'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ if (isset($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['uri'][0]['data']))
+ {
+ $uri = $this->sanitize($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['uri'][0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['uri'][0]));
+ }
+ if (isset($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['email'][0]['data']))
+ {
+ $email = $this->sanitize($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['email'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ if ($name !== null || $email !== null || $uri !== null)
+ {
+ $contributors[] = $this->registry->create('Author', array($name, $uri, $email));
+ }
+ }
+ foreach ((array) $this->get_channel_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'contributor') as $contributor)
+ {
+ $name = null;
+ $url = null;
+ $email = null;
+ if (isset($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['name'][0]['data']))
+ {
+ $name = $this->sanitize($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['name'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ if (isset($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['url'][0]['data']))
+ {
+ $url = $this->sanitize($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['url'][0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['url'][0]));
+ }
+ if (isset($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['email'][0]['data']))
+ {
+ $email = $this->sanitize($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['email'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ if ($name !== null || $email !== null || $url !== null)
+ {
+ $contributors[] = $this->registry->create('Author', array($name, $url, $email));
+ }
+ }
+
+ if (!empty($contributors))
+ {
+ return array_unique($contributors);
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ /**
+ * Get a single link for the feed
+ *
+ * @since 1.0 (previously called `get_feed_link` since Preview Release, `get_feed_permalink()` since 0.8)
+ * @param int $key The link that you want to return. Remember that arrays begin with 0, not 1
+ * @param string $rel The relationship of the link to return
+ * @return string|null Link URL
+ */
+ public function get_link($key = 0, $rel = 'alternate')
+ {
+ $links = $this->get_links($rel);
+ if (isset($links[$key]))
+ {
+ return $links[$key];
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ /**
+ * Get the permalink for the item
+ *
+ * Returns the first link available with a relationship of "alternate".
+ * Identical to {@see get_link()} with key 0
+ *
+ * @see get_link
+ * @since 1.0 (previously called `get_feed_link` since Preview Release, `get_feed_permalink()` since 0.8)
+ * @internal Added for parity between the parent-level and the item/entry-level.
+ * @return string|null Link URL
+ */
+ public function get_permalink()
+ {
+ return $this->get_link(0);
+ }
+
+ /**
+ * Get all links for the feed
+ *
+ * Uses `<atom:link>` or `<link>`
+ *
+ * @since Beta 2
+ * @param string $rel The relationship of links to return
+ * @return array|null Links found for the feed (strings)
+ */
+ public function get_links($rel = 'alternate')
+ {
+ if (!isset($this->data['links']))
+ {
+ $this->data['links'] = array();
+ if ($links = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'link'))
+ {
+ foreach ($links as $link)
+ {
+ if (isset($link['attribs']['']['href']))
+ {
+ $link_rel = (isset($link['attribs']['']['rel'])) ? $link['attribs']['']['rel'] : 'alternate';
+ $this->data['links'][$link_rel][] = $this->sanitize($link['attribs']['']['href'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($link));
+ }
+ }
+ }
+ if ($links = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'link'))
+ {
+ foreach ($links as $link)
+ {
+ if (isset($link['attribs']['']['href']))
+ {
+ $link_rel = (isset($link['attribs']['']['rel'])) ? $link['attribs']['']['rel'] : 'alternate';
+ $this->data['links'][$link_rel][] = $this->sanitize($link['attribs']['']['href'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($link));
+
+ }
+ }
+ }
+ if ($links = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_RSS_10, 'link'))
+ {
+ $this->data['links']['alternate'][] = $this->sanitize($links[0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($links[0]));
+ }
+ if ($links = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_RSS_090, 'link'))
+ {
+ $this->data['links']['alternate'][] = $this->sanitize($links[0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($links[0]));
+ }
+ if ($links = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'link'))
+ {
+ $this->data['links']['alternate'][] = $this->sanitize($links[0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($links[0]));
+ }
+
+ $keys = array_keys($this->data['links']);
+ foreach ($keys as $key)
+ {
+ if ($this->registry->call('Misc', 'is_isegment_nz_nc', array($key)))
+ {
+ if (isset($this->data['links'][SIMPLEPIE_IANA_LINK_RELATIONS_REGISTRY . $key]))
+ {
+ $this->data['links'][SIMPLEPIE_IANA_LINK_RELATIONS_REGISTRY . $key] = array_merge($this->data['links'][$key], $this->data['links'][SIMPLEPIE_IANA_LINK_RELATIONS_REGISTRY . $key]);
+ $this->data['links'][$key] =& $this->data['links'][SIMPLEPIE_IANA_LINK_RELATIONS_REGISTRY . $key];
+ }
+ else
+ {
+ $this->data['links'][SIMPLEPIE_IANA_LINK_RELATIONS_REGISTRY . $key] =& $this->data['links'][$key];
+ }
+ }
+ elseif (substr($key, 0, 41) === SIMPLEPIE_IANA_LINK_RELATIONS_REGISTRY)
+ {
+ $this->data['links'][substr($key, 41)] =& $this->data['links'][$key];
+ }
+ $this->data['links'][$key] = array_unique($this->data['links'][$key]);
+ }
+ }
+
+ if (isset($this->data['links'][$rel]))
+ {
+ return $this->data['links'][$rel];
+ }
+ else if (isset($this->data['headers']['link']) &&
+ preg_match('/<([^>]+)>; rel='.preg_quote($rel).'/',
+ $this->data['headers']['link'], $match))
+ {
+ return array($match[1]);
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ public function get_all_discovered_feeds()
+ {
+ return $this->all_discovered_feeds;
+ }
+
+ /**
+ * Get the content for the item
+ *
+ * Uses `<atom:subtitle>`, `<atom:tagline>`, `<description>`,
+ * `<dc:description>`, `<itunes:summary>` or `<itunes:subtitle>`
+ *
+ * @since 1.0 (previously called `get_feed_description()` since 0.8)
+ * @return string|null
+ */
+ public function get_description()
+ {
+ if ($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'subtitle'))
+ {
+ return $this->sanitize($return[0]['data'], $this->registry->call('Misc', 'atom_10_construct_type', array($return[0]['attribs'])), $this->get_base($return[0]));
+ }
+ elseif ($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'tagline'))
+ {
+ return $this->sanitize($return[0]['data'], $this->registry->call('Misc', 'atom_03_construct_type', array($return[0]['attribs'])), $this->get_base($return[0]));
+ }
+ elseif ($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_RSS_10, 'description'))
+ {
+ return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_MAYBE_HTML, $this->get_base($return[0]));
+ }
+ elseif ($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_RSS_090, 'description'))
+ {
+ return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_MAYBE_HTML, $this->get_base($return[0]));
+ }
+ elseif ($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'description'))
+ {
+ return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_HTML, $this->get_base($return[0]));
+ }
+ elseif ($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_DC_11, 'description'))
+ {
+ return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ elseif ($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_DC_10, 'description'))
+ {
+ return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ elseif ($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_ITUNES, 'summary'))
+ {
+ return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_HTML, $this->get_base($return[0]));
+ }
+ elseif ($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_ITUNES, 'subtitle'))
+ {
+ return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_HTML, $this->get_base($return[0]));
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ /**
+ * Get the copyright info for the feed
+ *
+ * Uses `<atom:rights>`, `<atom:copyright>` or `<dc:rights>`
+ *
+ * @since 1.0 (previously called `get_feed_copyright()` since 0.8)
+ * @return string|null
+ */
+ public function get_copyright()
+ {
+ if ($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'rights'))
+ {
+ return $this->sanitize($return[0]['data'], $this->registry->call('Misc', 'atom_10_construct_type', array($return[0]['attribs'])), $this->get_base($return[0]));
+ }
+ elseif ($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'copyright'))
+ {
+ return $this->sanitize($return[0]['data'], $this->registry->call('Misc', 'atom_03_construct_type', array($return[0]['attribs'])), $this->get_base($return[0]));
+ }
+ elseif ($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'copyright'))
+ {
+ return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ elseif ($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_DC_11, 'rights'))
+ {
+ return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ elseif ($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_DC_10, 'rights'))
+ {
+ return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ /**
+ * Get the language for the feed
+ *
+ * Uses `<language>`, `<dc:language>`, or @xml_lang
+ *
+ * @since 1.0 (previously called `get_feed_language()` since 0.8)
+ * @return string|null
+ */
+ public function get_language()
+ {
+ if ($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'language'))
+ {
+ return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ elseif ($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_DC_11, 'language'))
+ {
+ return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ elseif ($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_DC_10, 'language'))
+ {
+ return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ elseif (isset($this->data['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['feed'][0]['xml_lang']))
+ {
+ return $this->sanitize($this->data['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['feed'][0]['xml_lang'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ elseif (isset($this->data['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['feed'][0]['xml_lang']))
+ {
+ return $this->sanitize($this->data['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['feed'][0]['xml_lang'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ elseif (isset($this->data['child'][SIMPLEPIE_NAMESPACE_RDF]['RDF'][0]['xml_lang']))
+ {
+ return $this->sanitize($this->data['child'][SIMPLEPIE_NAMESPACE_RDF]['RDF'][0]['xml_lang'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ elseif (isset($this->data['headers']['content-language']))
+ {
+ return $this->sanitize($this->data['headers']['content-language'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ /**
+ * Get the latitude coordinates for the item
+ *
+ * Compatible with the W3C WGS84 Basic Geo and GeoRSS specifications
+ *
+ * Uses `<geo:lat>` or `<georss:point>`
+ *
+ * @since 1.0
+ * @link http://www.w3.org/2003/01/geo/ W3C WGS84 Basic Geo
+ * @link http://www.georss.org/ GeoRSS
+ * @return string|null
+ */
+ public function get_latitude()
+ {
+
+ if ($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_W3C_BASIC_GEO, 'lat'))
+ {
+ return (float) $return[0]['data'];
+ }
+ elseif (($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_GEORSS, 'point')) && preg_match('/^((?:-)?[0-9]+(?:\.[0-9]+)) ((?:-)?[0-9]+(?:\.[0-9]+))$/', trim($return[0]['data']), $match))
+ {
+ return (float) $match[1];
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ /**
+ * Get the longitude coordinates for the feed
+ *
+ * Compatible with the W3C WGS84 Basic Geo and GeoRSS specifications
+ *
+ * Uses `<geo:long>`, `<geo:lon>` or `<georss:point>`
+ *
+ * @since 1.0
+ * @link http://www.w3.org/2003/01/geo/ W3C WGS84 Basic Geo
+ * @link http://www.georss.org/ GeoRSS
+ * @return string|null
+ */
+ public function get_longitude()
+ {
+ if ($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_W3C_BASIC_GEO, 'long'))
+ {
+ return (float) $return[0]['data'];
+ }
+ elseif ($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_W3C_BASIC_GEO, 'lon'))
+ {
+ return (float) $return[0]['data'];
+ }
+ elseif (($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_GEORSS, 'point')) && preg_match('/^((?:-)?[0-9]+(?:\.[0-9]+)) ((?:-)?[0-9]+(?:\.[0-9]+))$/', trim($return[0]['data']), $match))
+ {
+ return (float) $match[2];
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ /**
+ * Get the feed logo's title
+ *
+ * RSS 0.9.0, 1.0 and 2.0 feeds are allowed to have a "feed logo" title.
+ *
+ * Uses `<image><title>` or `<image><dc:title>`
+ *
+ * @return string|null
+ */
+ public function get_image_title()
+ {
+ if ($return = $this->get_image_tags(SIMPLEPIE_NAMESPACE_RSS_10, 'title'))
+ {
+ return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ elseif ($return = $this->get_image_tags(SIMPLEPIE_NAMESPACE_RSS_090, 'title'))
+ {
+ return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ elseif ($return = $this->get_image_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'title'))
+ {
+ return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ elseif ($return = $this->get_image_tags(SIMPLEPIE_NAMESPACE_DC_11, 'title'))
+ {
+ return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ elseif ($return = $this->get_image_tags(SIMPLEPIE_NAMESPACE_DC_10, 'title'))
+ {
+ return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ /**
+ * Get the feed logo's URL
+ *
+ * RSS 0.9.0, 2.0, Atom 1.0, and feeds with iTunes RSS tags are allowed to
+ * have a "feed logo" URL. This points directly to the image itself.
+ *
+ * Uses `<itunes:image>`, `<atom:logo>`, `<atom:icon>`,
+ * `<image><title>` or `<image><dc:title>`
+ *
+ * @return string|null
+ */
+ public function get_image_url()
+ {
+ if ($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_ITUNES, 'image'))
+ {
+ return $this->sanitize($return[0]['attribs']['']['href'], SIMPLEPIE_CONSTRUCT_IRI);
+ }
+ elseif ($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'logo'))
+ {
+ return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($return[0]));
+ }
+ elseif ($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'icon'))
+ {
+ return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($return[0]));
+ }
+ elseif ($return = $this->get_image_tags(SIMPLEPIE_NAMESPACE_RSS_10, 'url'))
+ {
+ return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($return[0]));
+ }
+ elseif ($return = $this->get_image_tags(SIMPLEPIE_NAMESPACE_RSS_090, 'url'))
+ {
+ return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($return[0]));
+ }
+ elseif ($return = $this->get_image_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'url'))
+ {
+ return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($return[0]));
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+
+ /**
+ * Get the feed logo's link
+ *
+ * RSS 0.9.0, 1.0 and 2.0 feeds are allowed to have a "feed logo" link. This
+ * points to a human-readable page that the image should link to.
+ *
+ * Uses `<itunes:image>`, `<atom:logo>`, `<atom:icon>`,
+ * `<image><title>` or `<image><dc:title>`
+ *
+ * @return string|null
+ */
+ public function get_image_link()
+ {
+ if ($return = $this->get_image_tags(SIMPLEPIE_NAMESPACE_RSS_10, 'link'))
+ {
+ return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($return[0]));
+ }
+ elseif ($return = $this->get_image_tags(SIMPLEPIE_NAMESPACE_RSS_090, 'link'))
+ {
+ return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($return[0]));
+ }
+ elseif ($return = $this->get_image_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'link'))
+ {
+ return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($return[0]));
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ /**
+ * Get the feed logo's link
+ *
+ * RSS 2.0 feeds are allowed to have a "feed logo" width.
+ *
+ * Uses `<image><width>` or defaults to 88.0 if no width is specified and
+ * the feed is an RSS 2.0 feed.
+ *
+ * @return int|float|null
+ */
+ public function get_image_width()
+ {
+ if ($return = $this->get_image_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'width'))
+ {
+ return round($return[0]['data']);
+ }
+ elseif ($this->get_type() & SIMPLEPIE_TYPE_RSS_SYNDICATION && $this->get_image_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'url'))
+ {
+ return 88.0;
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ /**
+ * Get the feed logo's height
+ *
+ * RSS 2.0 feeds are allowed to have a "feed logo" height.
+ *
+ * Uses `<image><height>` or defaults to 31.0 if no height is specified and
+ * the feed is an RSS 2.0 feed.
+ *
+ * @return int|float|null
+ */
+ public function get_image_height()
+ {
+ if ($return = $this->get_image_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'height'))
+ {
+ return round($return[0]['data']);
+ }
+ elseif ($this->get_type() & SIMPLEPIE_TYPE_RSS_SYNDICATION && $this->get_image_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'url'))
+ {
+ return 31.0;
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ /**
+ * Get the number of items in the feed
+ *
+ * This is well-suited for {@link http://php.net/for for()} loops with
+ * {@see get_item()}
+ *
+ * @param int $max Maximum value to return. 0 for no limit
+ * @return int Number of items in the feed
+ */
+ public function get_item_quantity($max = 0)
+ {
+ $max = (int) $max;
+ $qty = count($this->get_items());
+ if ($max === 0)
+ {
+ return $qty;
+ }
+ else
+ {
+ return ($qty > $max) ? $max : $qty;
+ }
+ }
+
+ /**
+ * Get a single item from the feed
+ *
+ * This is better suited for {@link http://php.net/for for()} loops, whereas
+ * {@see get_items()} is better suited for
+ * {@link http://php.net/foreach foreach()} loops.
+ *
+ * @see get_item_quantity()
+ * @since Beta 2
+ * @param int $key The item that you want to return. Remember that arrays begin with 0, not 1
+ * @return SimplePie_Item|null
+ */
+ public function get_item($key = 0)
+ {
+ $items = $this->get_items();
+ if (isset($items[$key]))
+ {
+ return $items[$key];
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ /**
+ * Get all items from the feed
+ *
+ * This is better suited for {@link http://php.net/for for()} loops, whereas
+ * {@see get_items()} is better suited for
+ * {@link http://php.net/foreach foreach()} loops.
+ *
+ * @see get_item_quantity
+ * @since Beta 2
+ * @param int $start Index to start at
+ * @param int $end Number of items to return. 0 for all items after `$start`
+ * @return SimplePie_Item[]|null List of {@see SimplePie_Item} objects
+ */
+ public function get_items($start = 0, $end = 0)
+ {
+ if (!isset($this->data['items']))
+ {
+ if (!empty($this->multifeed_objects))
+ {
+ $this->data['items'] = SimplePie::merge_items($this->multifeed_objects, $start, $end, $this->item_limit);
+ if (empty($this->data['items']))
+ {
+ return array();
+ }
+ return $this->data['items'];
+ }
+ $this->data['items'] = array();
+ if ($items = $this->get_feed_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'entry'))
+ {
+ $keys = array_keys($items);
+ foreach ($keys as $key)
+ {
+ $this->data['items'][] = $this->registry->create('Item', array($this, $items[$key]));
+ }
+ }
+ if ($items = $this->get_feed_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'entry'))
+ {
+ $keys = array_keys($items);
+ foreach ($keys as $key)
+ {
+ $this->data['items'][] = $this->registry->create('Item', array($this, $items[$key]));
+ }
+ }
+ if ($items = $this->get_feed_tags(SIMPLEPIE_NAMESPACE_RSS_10, 'item'))
+ {
+ $keys = array_keys($items);
+ foreach ($keys as $key)
+ {
+ $this->data['items'][] = $this->registry->create('Item', array($this, $items[$key]));
+ }
+ }
+ if ($items = $this->get_feed_tags(SIMPLEPIE_NAMESPACE_RSS_090, 'item'))
+ {
+ $keys = array_keys($items);
+ foreach ($keys as $key)
+ {
+ $this->data['items'][] = $this->registry->create('Item', array($this, $items[$key]));
+ }
+ }
+ if ($items = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'item'))
+ {
+ $keys = array_keys($items);
+ foreach ($keys as $key)
+ {
+ $this->data['items'][] = $this->registry->create('Item', array($this, $items[$key]));
+ }
+ }
+ }
+
+ if (empty($this->data['items']))
+ {
+ return array();
+ }
+
+ if ($this->order_by_date)
+ {
+ if (!isset($this->data['ordered_items']))
+ {
+ $this->data['ordered_items'] = $this->data['items'];
+ usort($this->data['ordered_items'], array(get_class($this), 'sort_items'));
+ }
+ $items = $this->data['ordered_items'];
+ }
+ else
+ {
+ $items = $this->data['items'];
+ }
+ // Slice the data as desired
+ if ($end === 0)
+ {
+ return array_slice($items, $start);
+ }
+ else
+ {
+ return array_slice($items, $start, $end);
+ }
+ }
+
+ /**
+ * Set the favicon handler
+ *
+ * @deprecated Use your own favicon handling instead
+ */
+ public function set_favicon_handler($page = false, $qs = 'i')
+ {
+ $level = defined('E_USER_DEPRECATED') ? E_USER_DEPRECATED : E_USER_WARNING;
+ trigger_error('Favicon handling has been removed, please use your own handling', $level);
+ return false;
+ }
+
+ /**
+ * Get the favicon for the current feed
+ *
+ * @deprecated Use your own favicon handling instead
+ */
+ public function get_favicon()
+ {
+ $level = defined('E_USER_DEPRECATED') ? E_USER_DEPRECATED : E_USER_WARNING;
+ trigger_error('Favicon handling has been removed, please use your own handling', $level);
+
+ if (($url = $this->get_link()) !== null)
+ {
+ return 'http://g.etfv.co/' . urlencode($url);
+ }
+
+ return false;
+ }
+
+ /**
+ * Magic method handler
+ *
+ * @param string $method Method name
+ * @param array $args Arguments to the method
+ * @return mixed
+ */
+ public function __call($method, $args)
+ {
+ if (strpos($method, 'subscribe_') === 0)
+ {
+ $level = defined('E_USER_DEPRECATED') ? E_USER_DEPRECATED : E_USER_WARNING;
+ trigger_error('subscribe_*() has been deprecated, implement the callback yourself', $level);
+ return '';
+ }
+ if ($method === 'enable_xml_dump')
+ {
+ $level = defined('E_USER_DEPRECATED') ? E_USER_DEPRECATED : E_USER_WARNING;
+ trigger_error('enable_xml_dump() has been deprecated, use get_raw_data() instead', $level);
+ return false;
+ }
+
+ $class = get_class($this);
+ $trace = debug_backtrace();
+ $file = $trace[0]['file'];
+ $line = $trace[0]['line'];
+ trigger_error("Call to undefined method $class::$method() in $file on line $line", E_USER_ERROR);
+ }
+
+ /**
+ * Sorting callback for items
+ *
+ * @access private
+ * @param SimplePie $a
+ * @param SimplePie $b
+ * @return boolean
+ */
+ public static function sort_items($a, $b)
+ {
+ $a_date = $a->get_date('U');
+ $b_date = $b->get_date('U');
+ if ($a_date && $b_date) {
+ return $a_date > $b_date ? -1 : 1;
+ }
+ // Sort items without dates to the top.
+ if ($a_date) {
+ return 1;
+ }
+ if ($b_date) {
+ return -1;
+ }
+ return 0;
+ }
+
+ /**
+ * Merge items from several feeds into one
+ *
+ * If you're merging multiple feeds together, they need to all have dates
+ * for the items or else SimplePie will refuse to sort them.
+ *
+ * @link http://simplepie.org/wiki/tutorial/sort_multiple_feeds_by_time_and_date#if_feeds_require_separate_per-feed_settings
+ * @param array $urls List of SimplePie feed objects to merge
+ * @param int $start Starting item
+ * @param int $end Number of items to return
+ * @param int $limit Maximum number of items per feed
+ * @return array
+ */
+ public static function merge_items($urls, $start = 0, $end = 0, $limit = 0)
+ {
+ if (is_array($urls) && sizeof($urls) > 0)
+ {
+ $items = array();
+ foreach ($urls as $arg)
+ {
+ if ($arg instanceof SimplePie)
+ {
+ $items = array_merge($items, $arg->get_items(0, $limit));
+ }
+ else
+ {
+ trigger_error('Arguments must be SimplePie objects', E_USER_WARNING);
+ }
+ }
+
+ usort($items, array(get_class($urls[0]), 'sort_items'));
+
+ if ($end === 0)
+ {
+ return array_slice($items, $start);
+ }
+ else
+ {
+ return array_slice($items, $start, $end);
+ }
+ }
+ else
+ {
+ trigger_error('Cannot merge zero SimplePie objects', E_USER_WARNING);
+ return array();
+ }
+ }
+
+ /**
+ * Store PubSubHubbub links as headers
+ *
+ * There is no way to find PuSH links in the body of a microformats feed,
+ * so they are added to the headers when found, to be used later by get_links.
+ * @param SimplePie_File $file
+ * @param string $hub
+ * @param string $self
+ */
+ private function store_links(&$file, $hub, $self) {
+ if (isset($file->headers['link']['hub']) ||
+ (isset($file->headers['link']) &&
+ preg_match('/rel=hub/', $file->headers['link'])))
+ {
+ return;
+ }
+
+ if ($hub)
+ {
+ if (isset($file->headers['link']))
+ {
+ if ($file->headers['link'] !== '')
+ {
+ $file->headers['link'] = ', ';
+ }
+ }
+ else
+ {
+ $file->headers['link'] = '';
+ }
+ $file->headers['link'] .= '<'.$hub.'>; rel=hub';
+ if ($self)
+ {
+ $file->headers['link'] .= ', <'.$self.'>; rel=self';
+ }
+ }
+ }
+}
diff --git a/vendor/simplepie/simplepie/library/SimplePie/Author.php b/vendor/simplepie/simplepie/library/SimplePie/Author.php
new file mode 100644
index 000000000..e6768ff29
--- /dev/null
+++ b/vendor/simplepie/simplepie/library/SimplePie/Author.php
@@ -0,0 +1,156 @@
+<?php
+/**
+ * SimplePie
+ *
+ * A PHP-Based RSS and Atom Feed Framework.
+ * Takes the hard work out of managing a complete RSS/Atom solution.
+ *
+ * Copyright (c) 2004-2016, Ryan Parman, Geoffrey Sneddon, Ryan McCue, and contributors
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification, are
+ * permitted provided that the following conditions are met:
+ *
+ * * Redistributions of source code must retain the above copyright notice, this list of
+ * conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above copyright notice, this list
+ * of conditions and the following disclaimer in the documentation and/or other materials
+ * provided with the distribution.
+ *
+ * * Neither the name of the SimplePie Team nor the names of its contributors may be used
+ * to endorse or promote products derived from this software without specific prior
+ * written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS
+ * AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ *
+ * @package SimplePie
+ * @copyright 2004-2016 Ryan Parman, Geoffrey Sneddon, Ryan McCue
+ * @author Ryan Parman
+ * @author Geoffrey Sneddon
+ * @author Ryan McCue
+ * @link http://simplepie.org/ SimplePie
+ * @license http://www.opensource.org/licenses/bsd-license.php BSD License
+ */
+
+/**
+ * Manages all author-related data
+ *
+ * Used by {@see SimplePie_Item::get_author()} and {@see SimplePie::get_authors()}
+ *
+ * This class can be overloaded with {@see SimplePie::set_author_class()}
+ *
+ * @package SimplePie
+ * @subpackage API
+ */
+class SimplePie_Author
+{
+ /**
+ * Author's name
+ *
+ * @var string
+ * @see get_name()
+ */
+ var $name;
+
+ /**
+ * Author's link
+ *
+ * @var string
+ * @see get_link()
+ */
+ var $link;
+
+ /**
+ * Author's email address
+ *
+ * @var string
+ * @see get_email()
+ */
+ var $email;
+
+ /**
+ * Constructor, used to input the data
+ *
+ * @param string $name
+ * @param string $link
+ * @param string $email
+ */
+ public function __construct($name = null, $link = null, $email = null)
+ {
+ $this->name = $name;
+ $this->link = $link;
+ $this->email = $email;
+ }
+
+ /**
+ * String-ified version
+ *
+ * @return string
+ */
+ public function __toString()
+ {
+ // There is no $this->data here
+ return md5(serialize($this));
+ }
+
+ /**
+ * Author's name
+ *
+ * @return string|null
+ */
+ public function get_name()
+ {
+ if ($this->name !== null)
+ {
+ return $this->name;
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ /**
+ * Author's link
+ *
+ * @return string|null
+ */
+ public function get_link()
+ {
+ if ($this->link !== null)
+ {
+ return $this->link;
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ /**
+ * Author's email address
+ *
+ * @return string|null
+ */
+ public function get_email()
+ {
+ if ($this->email !== null)
+ {
+ return $this->email;
+ }
+ else
+ {
+ return null;
+ }
+ }
+}
+
diff --git a/vendor/simplepie/simplepie/library/SimplePie/Cache.php b/vendor/simplepie/simplepie/library/SimplePie/Cache.php
new file mode 100644
index 000000000..d98cc6511
--- /dev/null
+++ b/vendor/simplepie/simplepie/library/SimplePie/Cache.php
@@ -0,0 +1,134 @@
+<?php
+/**
+ * SimplePie
+ *
+ * A PHP-Based RSS and Atom Feed Framework.
+ * Takes the hard work out of managing a complete RSS/Atom solution.
+ *
+ * Copyright (c) 2004-2016, Ryan Parman, Geoffrey Sneddon, Ryan McCue, and contributors
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification, are
+ * permitted provided that the following conditions are met:
+ *
+ * * Redistributions of source code must retain the above copyright notice, this list of
+ * conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above copyright notice, this list
+ * of conditions and the following disclaimer in the documentation and/or other materials
+ * provided with the distribution.
+ *
+ * * Neither the name of the SimplePie Team nor the names of its contributors may be used
+ * to endorse or promote products derived from this software without specific prior
+ * written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS
+ * AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ *
+ * @package SimplePie
+ * @copyright 2004-2016 Ryan Parman, Geoffrey Sneddon, Ryan McCue
+ * @author Ryan Parman
+ * @author Geoffrey Sneddon
+ * @author Ryan McCue
+ * @link http://simplepie.org/ SimplePie
+ * @license http://www.opensource.org/licenses/bsd-license.php BSD License
+ */
+
+/**
+ * Used to create cache objects
+ *
+ * This class can be overloaded with {@see SimplePie::set_cache_class()},
+ * although the preferred way is to create your own handler
+ * via {@see register()}
+ *
+ * @package SimplePie
+ * @subpackage Caching
+ */
+class SimplePie_Cache
+{
+ /**
+ * Cache handler classes
+ *
+ * These receive 3 parameters to their constructor, as documented in
+ * {@see register()}
+ * @var array
+ */
+ protected static $handlers = array(
+ 'mysql' => 'SimplePie_Cache_MySQL',
+ 'memcache' => 'SimplePie_Cache_Memcache',
+ 'memcached' => 'SimplePie_Cache_Memcached',
+ 'redis' => 'SimplePie_Cache_Redis'
+ );
+
+ /**
+ * Don't call the constructor. Please.
+ */
+ private function __construct() { }
+
+ /**
+ * Create a new SimplePie_Cache object
+ *
+ * @param string $location URL location (scheme is used to determine handler)
+ * @param string $filename Unique identifier for cache object
+ * @param string $extension 'spi' or 'spc'
+ * @return SimplePie_Cache_Base Type of object depends on scheme of `$location`
+ */
+ public static function get_handler($location, $filename, $extension)
+ {
+ $type = explode(':', $location, 2);
+ $type = $type[0];
+ if (!empty(self::$handlers[$type]))
+ {
+ $class = self::$handlers[$type];
+ return new $class($location, $filename, $extension);
+ }
+
+ return new SimplePie_Cache_File($location, $filename, $extension);
+ }
+
+ /**
+ * Create a new SimplePie_Cache object
+ *
+ * @deprecated Use {@see get_handler} instead
+ */
+ public function create($location, $filename, $extension)
+ {
+ trigger_error('Cache::create() has been replaced with Cache::get_handler(). Switch to the registry system to use this.', E_USER_DEPRECATED);
+ return self::get_handler($location, $filename, $extension);
+ }
+
+ /**
+ * Register a handler
+ *
+ * @param string $type DSN type to register for
+ * @param string $class Name of handler class. Must implement SimplePie_Cache_Base
+ */
+ public static function register($type, $class)
+ {
+ self::$handlers[$type] = $class;
+ }
+
+ /**
+ * Parse a URL into an array
+ *
+ * @param string $url
+ * @return array
+ */
+ public static function parse_URL($url)
+ {
+ $params = parse_url($url);
+ $params['extras'] = array();
+ if (isset($params['query']))
+ {
+ parse_str($params['query'], $params['extras']);
+ }
+ return $params;
+ }
+}
diff --git a/vendor/simplepie/simplepie/library/SimplePie/Cache/Base.php b/vendor/simplepie/simplepie/library/SimplePie/Cache/Base.php
new file mode 100644
index 000000000..333fb05cf
--- /dev/null
+++ b/vendor/simplepie/simplepie/library/SimplePie/Cache/Base.php
@@ -0,0 +1,113 @@
+<?php
+/**
+ * SimplePie
+ *
+ * A PHP-Based RSS and Atom Feed Framework.
+ * Takes the hard work out of managing a complete RSS/Atom solution.
+ *
+ * Copyright (c) 2004-2016, Ryan Parman, Geoffrey Sneddon, Ryan McCue, and contributors
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification, are
+ * permitted provided that the following conditions are met:
+ *
+ * * Redistributions of source code must retain the above copyright notice, this list of
+ * conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above copyright notice, this list
+ * of conditions and the following disclaimer in the documentation and/or other materials
+ * provided with the distribution.
+ *
+ * * Neither the name of the SimplePie Team nor the names of its contributors may be used
+ * to endorse or promote products derived from this software without specific prior
+ * written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS
+ * AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ *
+ * @package SimplePie
+ * @copyright 2004-2016 Ryan Parman, Geoffrey Sneddon, Ryan McCue
+ * @author Ryan Parman
+ * @author Geoffrey Sneddon
+ * @author Ryan McCue
+ * @link http://simplepie.org/ SimplePie
+ * @license http://www.opensource.org/licenses/bsd-license.php BSD License
+ */
+
+/**
+ * Base for cache objects
+ *
+ * Classes to be used with {@see SimplePie_Cache::register()} are expected
+ * to implement this interface.
+ *
+ * @package SimplePie
+ * @subpackage Caching
+ */
+interface SimplePie_Cache_Base
+{
+ /**
+ * Feed cache type
+ *
+ * @var string
+ */
+ const TYPE_FEED = 'spc';
+
+ /**
+ * Image cache type
+ *
+ * @var string
+ */
+ const TYPE_IMAGE = 'spi';
+
+ /**
+ * Create a new cache object
+ *
+ * @param string $location Location string (from SimplePie::$cache_location)
+ * @param string $name Unique ID for the cache
+ * @param string $type Either TYPE_FEED for SimplePie data, or TYPE_IMAGE for image data
+ */
+ public function __construct($location, $name, $type);
+
+ /**
+ * Save data to the cache
+ *
+ * @param array|SimplePie $data Data to store in the cache. If passed a SimplePie object, only cache the $data property
+ * @return bool Successfulness
+ */
+ public function save($data);
+
+ /**
+ * Retrieve the data saved to the cache
+ *
+ * @return array Data for SimplePie::$data
+ */
+ public function load();
+
+ /**
+ * Retrieve the last modified time for the cache
+ *
+ * @return int Timestamp
+ */
+ public function mtime();
+
+ /**
+ * Set the last modified time to the current time
+ *
+ * @return bool Success status
+ */
+ public function touch();
+
+ /**
+ * Remove the cache
+ *
+ * @return bool Success status
+ */
+ public function unlink();
+}
diff --git a/vendor/simplepie/simplepie/library/SimplePie/Cache/DB.php b/vendor/simplepie/simplepie/library/SimplePie/Cache/DB.php
new file mode 100644
index 000000000..7e8f77532
--- /dev/null
+++ b/vendor/simplepie/simplepie/library/SimplePie/Cache/DB.php
@@ -0,0 +1,136 @@
+<?php
+/**
+ * SimplePie
+ *
+ * A PHP-Based RSS and Atom Feed Framework.
+ * Takes the hard work out of managing a complete RSS/Atom solution.
+ *
+ * Copyright (c) 2004-2016, Ryan Parman, Geoffrey Sneddon, Ryan McCue, and contributors
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification, are
+ * permitted provided that the following conditions are met:
+ *
+ * * Redistributions of source code must retain the above copyright notice, this list of
+ * conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above copyright notice, this list
+ * of conditions and the following disclaimer in the documentation and/or other materials
+ * provided with the distribution.
+ *
+ * * Neither the name of the SimplePie Team nor the names of its contributors may be used
+ * to endorse or promote products derived from this software without specific prior
+ * written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS
+ * AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ *
+ * @package SimplePie
+ * @copyright 2004-2016 Ryan Parman, Geoffrey Sneddon, Ryan McCue
+ * @author Ryan Parman
+ * @author Geoffrey Sneddon
+ * @author Ryan McCue
+ * @link http://simplepie.org/ SimplePie
+ * @license http://www.opensource.org/licenses/bsd-license.php BSD License
+ */
+
+/**
+ * Base class for database-based caches
+ *
+ * @package SimplePie
+ * @subpackage Caching
+ */
+abstract class SimplePie_Cache_DB implements SimplePie_Cache_Base
+{
+ /**
+ * Helper for database conversion
+ *
+ * Converts a given {@see SimplePie} object into data to be stored
+ *
+ * @param SimplePie $data
+ * @return array First item is the serialized data for storage, second item is the unique ID for this item
+ */
+ protected static function prepare_simplepie_object_for_cache($data)
+ {
+ $items = $data->get_items();
+ $items_by_id = array();
+
+ if (!empty($items))
+ {
+ foreach ($items as $item)
+ {
+ $items_by_id[$item->get_id()] = $item;
+ }
+
+ if (count($items_by_id) !== count($items))
+ {
+ $items_by_id = array();
+ foreach ($items as $item)
+ {
+ $items_by_id[$item->get_id(true)] = $item;
+ }
+ }
+
+ if (isset($data->data['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['feed'][0]))
+ {
+ $channel =& $data->data['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['feed'][0];
+ }
+ elseif (isset($data->data['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['feed'][0]))
+ {
+ $channel =& $data->data['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['feed'][0];
+ }
+ elseif (isset($data->data['child'][SIMPLEPIE_NAMESPACE_RDF]['RDF'][0]))
+ {
+ $channel =& $data->data['child'][SIMPLEPIE_NAMESPACE_RDF]['RDF'][0];
+ }
+ elseif (isset($data->data['child'][SIMPLEPIE_NAMESPACE_RSS_20]['rss'][0]['child'][SIMPLEPIE_NAMESPACE_RSS_20]['channel'][0]))
+ {
+ $channel =& $data->data['child'][SIMPLEPIE_NAMESPACE_RSS_20]['rss'][0]['child'][SIMPLEPIE_NAMESPACE_RSS_20]['channel'][0];
+ }
+ else
+ {
+ $channel = null;
+ }
+
+ if ($channel !== null)
+ {
+ if (isset($channel['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['entry']))
+ {
+ unset($channel['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['entry']);
+ }
+ if (isset($channel['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['entry']))
+ {
+ unset($channel['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['entry']);
+ }
+ if (isset($channel['child'][SIMPLEPIE_NAMESPACE_RSS_10]['item']))
+ {
+ unset($channel['child'][SIMPLEPIE_NAMESPACE_RSS_10]['item']);
+ }
+ if (isset($channel['child'][SIMPLEPIE_NAMESPACE_RSS_090]['item']))
+ {
+ unset($channel['child'][SIMPLEPIE_NAMESPACE_RSS_090]['item']);
+ }
+ if (isset($channel['child'][SIMPLEPIE_NAMESPACE_RSS_20]['item']))
+ {
+ unset($channel['child'][SIMPLEPIE_NAMESPACE_RSS_20]['item']);
+ }
+ }
+ if (isset($data->data['items']))
+ {
+ unset($data->data['items']);
+ }
+ if (isset($data->data['ordered_items']))
+ {
+ unset($data->data['ordered_items']);
+ }
+ }
+ return array(serialize($data->data), $items_by_id);
+ }
+}
diff --git a/vendor/simplepie/simplepie/library/SimplePie/Cache/File.php b/vendor/simplepie/simplepie/library/SimplePie/Cache/File.php
new file mode 100644
index 000000000..6ba6c5f6e
--- /dev/null
+++ b/vendor/simplepie/simplepie/library/SimplePie/Cache/File.php
@@ -0,0 +1,164 @@
+<?php
+/**
+ * SimplePie
+ *
+ * A PHP-Based RSS and Atom Feed Framework.
+ * Takes the hard work out of managing a complete RSS/Atom solution.
+ *
+ * Copyright (c) 2004-2016, Ryan Parman, Geoffrey Sneddon, Ryan McCue, and contributors
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification, are
+ * permitted provided that the following conditions are met:
+ *
+ * * Redistributions of source code must retain the above copyright notice, this list of
+ * conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above copyright notice, this list
+ * of conditions and the following disclaimer in the documentation and/or other materials
+ * provided with the distribution.
+ *
+ * * Neither the name of the SimplePie Team nor the names of its contributors may be used
+ * to endorse or promote products derived from this software without specific prior
+ * written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS
+ * AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ *
+ * @package SimplePie
+ * @copyright 2004-2016 Ryan Parman, Geoffrey Sneddon, Ryan McCue
+ * @author Ryan Parman
+ * @author Geoffrey Sneddon
+ * @author Ryan McCue
+ * @link http://simplepie.org/ SimplePie
+ * @license http://www.opensource.org/licenses/bsd-license.php BSD License
+ */
+
+/**
+ * Caches data to the filesystem
+ *
+ * @package SimplePie
+ * @subpackage Caching
+ */
+class SimplePie_Cache_File implements SimplePie_Cache_Base
+{
+ /**
+ * Location string
+ *
+ * @see SimplePie::$cache_location
+ * @var string
+ */
+ protected $location;
+
+ /**
+ * Filename
+ *
+ * @var string
+ */
+ protected $filename;
+
+ /**
+ * File extension
+ *
+ * @var string
+ */
+ protected $extension;
+
+ /**
+ * File path
+ *
+ * @var string
+ */
+ protected $name;
+
+ /**
+ * Create a new cache object
+ *
+ * @param string $location Location string (from SimplePie::$cache_location)
+ * @param string $name Unique ID for the cache
+ * @param string $type Either TYPE_FEED for SimplePie data, or TYPE_IMAGE for image data
+ */
+ public function __construct($location, $name, $type)
+ {
+ $this->location = $location;
+ $this->filename = $name;
+ $this->extension = $type;
+ $this->name = "$this->location/$this->filename.$this->extension";
+ }
+
+ /**
+ * Save data to the cache
+ *
+ * @param array|SimplePie $data Data to store in the cache. If passed a SimplePie object, only cache the $data property
+ * @return bool Successfulness
+ */
+ public function save($data)
+ {
+ if (file_exists($this->name) && is_writeable($this->name) || file_exists($this->location) && is_writeable($this->location))
+ {
+ if ($data instanceof SimplePie)
+ {
+ $data = $data->data;
+ }
+
+ $data = serialize($data);
+ return (bool) file_put_contents($this->name, $data);
+ }
+ return false;
+ }
+
+ /**
+ * Retrieve the data saved to the cache
+ *
+ * @return array Data for SimplePie::$data
+ */
+ public function load()
+ {
+ if (file_exists($this->name) && is_readable($this->name))
+ {
+ return unserialize(file_get_contents($this->name));
+ }
+ return false;
+ }
+
+ /**
+ * Retrieve the last modified time for the cache
+ *
+ * @return int Timestamp
+ */
+ public function mtime()
+ {
+ return @filemtime($this->name);
+ }
+
+ /**
+ * Set the last modified time to the current time
+ *
+ * @return bool Success status
+ */
+ public function touch()
+ {
+ return @touch($this->name);
+ }
+
+ /**
+ * Remove the cache
+ *
+ * @return bool Success status
+ */
+ public function unlink()
+ {
+ if (file_exists($this->name))
+ {
+ return unlink($this->name);
+ }
+ return false;
+ }
+}
diff --git a/vendor/simplepie/simplepie/library/SimplePie/Cache/Memcache.php b/vendor/simplepie/simplepie/library/SimplePie/Cache/Memcache.php
new file mode 100644
index 000000000..5190eef93
--- /dev/null
+++ b/vendor/simplepie/simplepie/library/SimplePie/Cache/Memcache.php
@@ -0,0 +1,180 @@
+<?php
+/**
+ * SimplePie
+ *
+ * A PHP-Based RSS and Atom Feed Framework.
+ * Takes the hard work out of managing a complete RSS/Atom solution.
+ *
+ * Copyright (c) 2004-2016, Ryan Parman, Geoffrey Sneddon, Ryan McCue, and contributors
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification, are
+ * permitted provided that the following conditions are met:
+ *
+ * * Redistributions of source code must retain the above copyright notice, this list of
+ * conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above copyright notice, this list
+ * of conditions and the following disclaimer in the documentation and/or other materials
+ * provided with the distribution.
+ *
+ * * Neither the name of the SimplePie Team nor the names of its contributors may be used
+ * to endorse or promote products derived from this software without specific prior
+ * written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS
+ * AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ *
+ * @package SimplePie
+ * @copyright 2004-2016 Ryan Parman, Geoffrey Sneddon, Ryan McCue
+ * @author Ryan Parman
+ * @author Geoffrey Sneddon
+ * @author Ryan McCue
+ * @link http://simplepie.org/ SimplePie
+ * @license http://www.opensource.org/licenses/bsd-license.php BSD License
+ */
+
+/**
+ * Caches data to memcache
+ *
+ * Registered for URLs with the "memcache" protocol
+ *
+ * For example, `memcache://localhost:11211/?timeout=3600&prefix=sp_` will
+ * connect to memcache on `localhost` on port 11211. All tables will be
+ * prefixed with `sp_` and data will expire after 3600 seconds
+ *
+ * @package SimplePie
+ * @subpackage Caching
+ * @uses Memcache
+ */
+class SimplePie_Cache_Memcache implements SimplePie_Cache_Base
+{
+ /**
+ * Memcache instance
+ *
+ * @var Memcache
+ */
+ protected $cache;
+
+ /**
+ * Options
+ *
+ * @var array
+ */
+ protected $options;
+
+ /**
+ * Cache name
+ *
+ * @var string
+ */
+ protected $name;
+
+ /**
+ * Create a new cache object
+ *
+ * @param string $location Location string (from SimplePie::$cache_location)
+ * @param string $name Unique ID for the cache
+ * @param string $type Either TYPE_FEED for SimplePie data, or TYPE_IMAGE for image data
+ */
+ public function __construct($location, $name, $type)
+ {
+ $this->options = array(
+ 'host' => '127.0.0.1',
+ 'port' => 11211,
+ 'extras' => array(
+ 'timeout' => 3600, // one hour
+ 'prefix' => 'simplepie_',
+ ),
+ );
+ $this->options = SimplePie_Misc::array_merge_recursive($this->options, SimplePie_Cache::parse_URL($location));
+
+ $this->name = $this->options['extras']['prefix'] . md5("$name:$type");
+
+ $this->cache = new Memcache();
+ $this->cache->addServer($this->options['host'], (int) $this->options['port']);
+ }
+
+ /**
+ * Save data to the cache
+ *
+ * @param array|SimplePie $data Data to store in the cache. If passed a SimplePie object, only cache the $data property
+ * @return bool Successfulness
+ */
+ public function save($data)
+ {
+ if ($data instanceof SimplePie)
+ {
+ $data = $data->data;
+ }
+ return $this->cache->set($this->name, serialize($data), MEMCACHE_COMPRESSED, (int) $this->options['extras']['timeout']);
+ }
+
+ /**
+ * Retrieve the data saved to the cache
+ *
+ * @return array Data for SimplePie::$data
+ */
+ public function load()
+ {
+ $data = $this->cache->get($this->name);
+
+ if ($data !== false)
+ {
+ return unserialize($data);
+ }
+ return false;
+ }
+
+ /**
+ * Retrieve the last modified time for the cache
+ *
+ * @return int Timestamp
+ */
+ public function mtime()
+ {
+ $data = $this->cache->get($this->name);
+
+ if ($data !== false)
+ {
+ // essentially ignore the mtime because Memcache expires on its own
+ return time();
+ }
+
+ return false;
+ }
+
+ /**
+ * Set the last modified time to the current time
+ *
+ * @return bool Success status
+ */
+ public function touch()
+ {
+ $data = $this->cache->get($this->name);
+
+ if ($data !== false)
+ {
+ return $this->cache->set($this->name, $data, MEMCACHE_COMPRESSED, (int) $this->options['extras']['timeout']);
+ }
+
+ return false;
+ }
+
+ /**
+ * Remove the cache
+ *
+ * @return bool Success status
+ */
+ public function unlink()
+ {
+ return $this->cache->delete($this->name, 0);
+ }
+}
diff --git a/vendor/simplepie/simplepie/library/SimplePie/Cache/Memcached.php b/vendor/simplepie/simplepie/library/SimplePie/Cache/Memcached.php
new file mode 100755
index 000000000..1f73b3890
--- /dev/null
+++ b/vendor/simplepie/simplepie/library/SimplePie/Cache/Memcached.php
@@ -0,0 +1,166 @@
+<?php
+/**
+ * SimplePie
+ *
+ * A PHP-Based RSS and Atom Feed Framework.
+ * Takes the hard work out of managing a complete RSS/Atom solution.
+ *
+ * Copyright (c) 2004-2016, Ryan Parman, Geoffrey Sneddon, Ryan McCue, and contributors
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification, are
+ * permitted provided that the following conditions are met:
+ *
+ * * Redistributions of source code must retain the above copyright notice, this list of
+ * conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above copyright notice, this list
+ * of conditions and the following disclaimer in the documentation and/or other materials
+ * provided with the distribution.
+ *
+ * * Neither the name of the SimplePie Team nor the names of its contributors may be used
+ * to endorse or promote products derived from this software without specific prior
+ * written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS
+ * AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ *
+ * @package SimplePie
+ * @copyright 2004-2016 Ryan Parman, Geoffrey Sneddon, Ryan McCue
+ * @author Ryan Parman
+ * @author Geoffrey Sneddon
+ * @author Ryan McCue
+ * @link http://simplepie.org/ SimplePie
+ * @license http://www.opensource.org/licenses/bsd-license.php BSD License
+ */
+
+/**
+ * Caches data to memcached
+ *
+ * Registered for URLs with the "memcached" protocol
+ *
+ * For example, `memcached://localhost:11211/?timeout=3600&prefix=sp_` will
+ * connect to memcached on `localhost` on port 11211. All tables will be
+ * prefixed with `sp_` and data will expire after 3600 seconds
+ *
+ * @package SimplePie
+ * @subpackage Caching
+ * @author Paul L. McNeely
+ * @uses Memcached
+ */
+class SimplePie_Cache_Memcached implements SimplePie_Cache_Base
+{
+ /**
+ * Memcached instance
+ * @var Memcached
+ */
+ protected $cache;
+
+ /**
+ * Options
+ * @var array
+ */
+ protected $options;
+
+ /**
+ * Cache name
+ * @var string
+ */
+ protected $name;
+
+ /**
+ * Create a new cache object
+ * @param string $location Location string (from SimplePie::$cache_location)
+ * @param string $name Unique ID for the cache
+ * @param string $type Either TYPE_FEED for SimplePie data, or TYPE_IMAGE for image data
+ */
+ public function __construct($location, $name, $type) {
+ $this->options = array(
+ 'host' => '127.0.0.1',
+ 'port' => 11211,
+ 'extras' => array(
+ 'timeout' => 3600, // one hour
+ 'prefix' => 'simplepie_',
+ ),
+ );
+ $this->options = SimplePie_Misc::array_merge_recursive($this->options, SimplePie_Cache::parse_URL($location));
+
+ $this->name = $this->options['extras']['prefix'] . md5("$name:$type");
+
+ $this->cache = new Memcached();
+ $this->cache->addServer($this->options['host'], (int)$this->options['port']);
+ }
+
+ /**
+ * Save data to the cache
+ * @param array|SimplePie $data Data to store in the cache. If passed a SimplePie object, only cache the $data property
+ * @return bool Successfulness
+ */
+ public function save($data) {
+ if ($data instanceof SimplePie) {
+ $data = $data->data;
+ }
+
+ return $this->setData(serialize($data));
+ }
+
+ /**
+ * Retrieve the data saved to the cache
+ * @return array Data for SimplePie::$data
+ */
+ public function load() {
+ $data = $this->cache->get($this->name);
+
+ if ($data !== false) {
+ return unserialize($data);
+ }
+ return false;
+ }
+
+ /**
+ * Retrieve the last modified time for the cache
+ * @return int Timestamp
+ */
+ public function mtime() {
+ $data = $this->cache->get($this->name . '_mtime');
+ return (int) $data;
+ }
+
+ /**
+ * Set the last modified time to the current time
+ * @return bool Success status
+ */
+ public function touch() {
+ $data = $this->cache->get($this->name);
+ return $this->setData($data);
+ }
+
+ /**
+ * Remove the cache
+ * @return bool Success status
+ */
+ public function unlink() {
+ return $this->cache->delete($this->name, 0);
+ }
+
+ /**
+ * Set the last modified time and data to Memcached
+ * @return bool Success status
+ */
+ private function setData($data) {
+
+ if ($data !== false) {
+ $this->cache->set($this->name . '_mtime', time(), (int)$this->options['extras']['timeout']);
+ return $this->cache->set($this->name, $data, (int)$this->options['extras']['timeout']);
+ }
+
+ return false;
+ }
+}
diff --git a/vendor/simplepie/simplepie/library/SimplePie/Cache/MySQL.php b/vendor/simplepie/simplepie/library/SimplePie/Cache/MySQL.php
new file mode 100644
index 000000000..8686b6c67
--- /dev/null
+++ b/vendor/simplepie/simplepie/library/SimplePie/Cache/MySQL.php
@@ -0,0 +1,454 @@
+<?php
+/**
+ * SimplePie
+ *
+ * A PHP-Based RSS and Atom Feed Framework.
+ * Takes the hard work out of managing a complete RSS/Atom solution.
+ *
+ * Copyright (c) 2004-2016, Ryan Parman, Geoffrey Sneddon, Ryan McCue, and contributors
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification, are
+ * permitted provided that the following conditions are met:
+ *
+ * * Redistributions of source code must retain the above copyright notice, this list of
+ * conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above copyright notice, this list
+ * of conditions and the following disclaimer in the documentation and/or other materials
+ * provided with the distribution.
+ *
+ * * Neither the name of the SimplePie Team nor the names of its contributors may be used
+ * to endorse or promote products derived from this software without specific prior
+ * written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS
+ * AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ *
+ * @package SimplePie
+ * @copyright 2004-2016 Ryan Parman, Geoffrey Sneddon, Ryan McCue
+ * @author Ryan Parman
+ * @author Geoffrey Sneddon
+ * @author Ryan McCue
+ * @link http://simplepie.org/ SimplePie
+ * @license http://www.opensource.org/licenses/bsd-license.php BSD License
+ */
+
+/**
+ * Caches data to a MySQL database
+ *
+ * Registered for URLs with the "mysql" protocol
+ *
+ * For example, `mysql://root:password@localhost:3306/mydb?prefix=sp_` will
+ * connect to the `mydb` database on `localhost` on port 3306, with the user
+ * `root` and the password `password`. All tables will be prefixed with `sp_`
+ *
+ * @package SimplePie
+ * @subpackage Caching
+ */
+class SimplePie_Cache_MySQL extends SimplePie_Cache_DB
+{
+ /**
+ * PDO instance
+ *
+ * @var PDO
+ */
+ protected $mysql;
+
+ /**
+ * Options
+ *
+ * @var array
+ */
+ protected $options;
+
+ /**
+ * Cache ID
+ *
+ * @var string
+ */
+ protected $id;
+
+ /**
+ * Create a new cache object
+ *
+ * @param string $location Location string (from SimplePie::$cache_location)
+ * @param string $name Unique ID for the cache
+ * @param string $type Either TYPE_FEED for SimplePie data, or TYPE_IMAGE for image data
+ */
+ public function __construct($location, $name, $type)
+ {
+ $this->options = array(
+ 'user' => null,
+ 'pass' => null,
+ 'host' => '127.0.0.1',
+ 'port' => '3306',
+ 'path' => '',
+ 'extras' => array(
+ 'prefix' => '',
+ 'cache_purge_time' => 2592000
+ ),
+ );
+
+ $this->options = SimplePie_Misc::array_merge_recursive($this->options, SimplePie_Cache::parse_URL($location));
+
+ // Path is prefixed with a "/"
+ $this->options['dbname'] = substr($this->options['path'], 1);
+
+ try
+ {
+ $this->mysql = new PDO("mysql:dbname={$this->options['dbname']};host={$this->options['host']};port={$this->options['port']}", $this->options['user'], $this->options['pass'], array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'));
+ }
+ catch (PDOException $e)
+ {
+ $this->mysql = null;
+ return;
+ }
+
+ $this->id = $name . $type;
+
+ if (!$query = $this->mysql->query('SHOW TABLES'))
+ {
+ $this->mysql = null;
+ return;
+ }
+
+ $db = array();
+ while ($row = $query->fetchColumn())
+ {
+ $db[] = $row;
+ }
+
+ if (!in_array($this->options['extras']['prefix'] . 'cache_data', $db))
+ {
+ $query = $this->mysql->exec('CREATE TABLE `' . $this->options['extras']['prefix'] . 'cache_data` (`id` TEXT CHARACTER SET utf8 NOT NULL, `items` SMALLINT NOT NULL DEFAULT 0, `data` BLOB NOT NULL, `mtime` INT UNSIGNED NOT NULL, UNIQUE (`id`(125)))');
+ if ($query === false)
+ {
+ trigger_error("Can't create " . $this->options['extras']['prefix'] . "cache_data table, check permissions", E_USER_WARNING);
+ $this->mysql = null;
+ return;
+ }
+ }
+
+ if (!in_array($this->options['extras']['prefix'] . 'items', $db))
+ {
+ $query = $this->mysql->exec('CREATE TABLE `' . $this->options['extras']['prefix'] . 'items` (`feed_id` TEXT CHARACTER SET utf8 NOT NULL, `id` TEXT CHARACTER SET utf8 NOT NULL, `data` MEDIUMBLOB NOT NULL, `posted` INT UNSIGNED NOT NULL, INDEX `feed_id` (`feed_id`(125)))');
+ if ($query === false)
+ {
+ trigger_error("Can't create " . $this->options['extras']['prefix'] . "items table, check permissions", E_USER_WARNING);
+ $this->mysql = null;
+ return;
+ }
+ }
+ }
+
+ /**
+ * Save data to the cache
+ *
+ * @param array|SimplePie $data Data to store in the cache. If passed a SimplePie object, only cache the $data property
+ * @return bool Successfulness
+ */
+ public function save($data)
+ {
+ if ($this->mysql === null)
+ {
+ return false;
+ }
+
+ $query = $this->mysql->prepare('DELETE i, cd FROM `' . $this->options['extras']['prefix'] . 'cache_data` cd, ' .
+ '`' . $this->options['extras']['prefix'] . 'items` i ' .
+ 'WHERE cd.id = i.feed_id ' .
+ 'AND cd.mtime < (unix_timestamp() - :purge_time)');
+ $query->bindValue(':purge_time', $this->options['extras']['cache_purge_time']);
+
+ if (!$query->execute())
+ {
+ return false;
+ }
+
+ if ($data instanceof SimplePie)
+ {
+ $data = clone $data;
+
+ $prepared = self::prepare_simplepie_object_for_cache($data);
+
+ $query = $this->mysql->prepare('SELECT COUNT(*) FROM `' . $this->options['extras']['prefix'] . 'cache_data` WHERE `id` = :feed');
+ $query->bindValue(':feed', $this->id);
+ if ($query->execute())
+ {
+ if ($query->fetchColumn() > 0)
+ {
+ $items = count($prepared[1]);
+ if ($items)
+ {
+ $sql = 'UPDATE `' . $this->options['extras']['prefix'] . 'cache_data` SET `items` = :items, `data` = :data, `mtime` = :time WHERE `id` = :feed';
+ $query = $this->mysql->prepare($sql);
+ $query->bindValue(':items', $items);
+ }
+ else
+ {
+ $sql = 'UPDATE `' . $this->options['extras']['prefix'] . 'cache_data` SET `data` = :data, `mtime` = :time WHERE `id` = :feed';
+ $query = $this->mysql->prepare($sql);
+ }
+
+ $query->bindValue(':data', $prepared[0]);
+ $query->bindValue(':time', time());
+ $query->bindValue(':feed', $this->id);
+ if (!$query->execute())
+ {
+ return false;
+ }
+ }
+ else
+ {
+ $query = $this->mysql->prepare('INSERT INTO `' . $this->options['extras']['prefix'] . 'cache_data` (`id`, `items`, `data`, `mtime`) VALUES(:feed, :count, :data, :time)');
+ $query->bindValue(':feed', $this->id);
+ $query->bindValue(':count', count($prepared[1]));
+ $query->bindValue(':data', $prepared[0]);
+ $query->bindValue(':time', time());
+ if (!$query->execute())
+ {
+ return false;
+ }
+ }
+
+ $ids = array_keys($prepared[1]);
+ if (!empty($ids))
+ {
+ foreach ($ids as $id)
+ {
+ $database_ids[] = $this->mysql->quote($id);
+ }
+
+ $query = $this->mysql->prepare('SELECT `id` FROM `' . $this->options['extras']['prefix'] . 'items` WHERE `id` = ' . implode(' OR `id` = ', $database_ids) . ' AND `feed_id` = :feed');
+ $query->bindValue(':feed', $this->id);
+
+ if ($query->execute())
+ {
+ $existing_ids = array();
+ while ($row = $query->fetchColumn())
+ {
+ $existing_ids[] = $row;
+ }
+
+ $new_ids = array_diff($ids, $existing_ids);
+
+ foreach ($new_ids as $new_id)
+ {
+ if (!($date = $prepared[1][$new_id]->get_date('U')))
+ {
+ $date = time();
+ }
+
+ $query = $this->mysql->prepare('INSERT INTO `' . $this->options['extras']['prefix'] . 'items` (`feed_id`, `id`, `data`, `posted`) VALUES(:feed, :id, :data, :date)');
+ $query->bindValue(':feed', $this->id);
+ $query->bindValue(':id', $new_id);
+ $query->bindValue(':data', serialize($prepared[1][$new_id]->data));
+ $query->bindValue(':date', $date);
+ if (!$query->execute())
+ {
+ return false;
+ }
+ }
+ return true;
+ }
+ }
+ else
+ {
+ return true;
+ }
+ }
+ }
+ else
+ {
+ $query = $this->mysql->prepare('SELECT `id` FROM `' . $this->options['extras']['prefix'] . 'cache_data` WHERE `id` = :feed');
+ $query->bindValue(':feed', $this->id);
+ if ($query->execute())
+ {
+ if ($query->rowCount() > 0)
+ {
+ $query = $this->mysql->prepare('UPDATE `' . $this->options['extras']['prefix'] . 'cache_data` SET `items` = 0, `data` = :data, `mtime` = :time WHERE `id` = :feed');
+ $query->bindValue(':data', serialize($data));
+ $query->bindValue(':time', time());
+ $query->bindValue(':feed', $this->id);
+ if ($this->execute())
+ {
+ return true;
+ }
+ }
+ else
+ {
+ $query = $this->mysql->prepare('INSERT INTO `' . $this->options['extras']['prefix'] . 'cache_data` (`id`, `items`, `data`, `mtime`) VALUES(:id, 0, :data, :time)');
+ $query->bindValue(':id', $this->id);
+ $query->bindValue(':data', serialize($data));
+ $query->bindValue(':time', time());
+ if ($query->execute())
+ {
+ return true;
+ }
+ }
+ }
+ }
+ return false;
+ }
+
+ /**
+ * Retrieve the data saved to the cache
+ *
+ * @return array Data for SimplePie::$data
+ */
+ public function load()
+ {
+ if ($this->mysql === null)
+ {
+ return false;
+ }
+
+ $query = $this->mysql->prepare('SELECT `items`, `data` FROM `' . $this->options['extras']['prefix'] . 'cache_data` WHERE `id` = :id');
+ $query->bindValue(':id', $this->id);
+ if ($query->execute() && ($row = $query->fetch()))
+ {
+ $data = unserialize($row[1]);
+
+ if (isset($this->options['items'][0]))
+ {
+ $items = (int) $this->options['items'][0];
+ }
+ else
+ {
+ $items = (int) $row[0];
+ }
+
+ if ($items !== 0)
+ {
+ if (isset($data['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['feed'][0]))
+ {
+ $feed =& $data['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['feed'][0];
+ }
+ elseif (isset($data['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['feed'][0]))
+ {
+ $feed =& $data['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['feed'][0];
+ }
+ elseif (isset($data['child'][SIMPLEPIE_NAMESPACE_RDF]['RDF'][0]))
+ {
+ $feed =& $data['child'][SIMPLEPIE_NAMESPACE_RDF]['RDF'][0];
+ }
+ elseif (isset($data['child'][SIMPLEPIE_NAMESPACE_RSS_20]['rss'][0]))
+ {
+ $feed =& $data['child'][SIMPLEPIE_NAMESPACE_RSS_20]['rss'][0];
+ }
+ else
+ {
+ $feed = null;
+ }
+
+ if ($feed !== null)
+ {
+ $sql = 'SELECT `data` FROM `' . $this->options['extras']['prefix'] . 'items` WHERE `feed_id` = :feed ORDER BY `posted` DESC';
+ if ($items > 0)
+ {
+ $sql .= ' LIMIT ' . $items;
+ }
+
+ $query = $this->mysql->prepare($sql);
+ $query->bindValue(':feed', $this->id);
+ if ($query->execute())
+ {
+ while ($row = $query->fetchColumn())
+ {
+ $feed['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['entry'][] = unserialize($row);
+ }
+ }
+ else
+ {
+ return false;
+ }
+ }
+ }
+ return $data;
+ }
+ return false;
+ }
+
+ /**
+ * Retrieve the last modified time for the cache
+ *
+ * @return int Timestamp
+ */
+ public function mtime()
+ {
+ if ($this->mysql === null)
+ {
+ return false;
+ }
+
+ $query = $this->mysql->prepare('SELECT `mtime` FROM `' . $this->options['extras']['prefix'] . 'cache_data` WHERE `id` = :id');
+ $query->bindValue(':id', $this->id);
+ if ($query->execute() && ($time = $query->fetchColumn()))
+ {
+ return $time;
+ }
+ else
+ {
+ return false;
+ }
+ }
+
+ /**
+ * Set the last modified time to the current time
+ *
+ * @return bool Success status
+ */
+ public function touch()
+ {
+ if ($this->mysql === null)
+ {
+ return false;
+ }
+
+ $query = $this->mysql->prepare('UPDATE `' . $this->options['extras']['prefix'] . 'cache_data` SET `mtime` = :time WHERE `id` = :id');
+ $query->bindValue(':time', time());
+ $query->bindValue(':id', $this->id);
+ if ($query->execute() && $query->rowCount() > 0)
+ {
+ return true;
+ }
+ else
+ {
+ return false;
+ }
+ }
+
+ /**
+ * Remove the cache
+ *
+ * @return bool Success status
+ */
+ public function unlink()
+ {
+ if ($this->mysql === null)
+ {
+ return false;
+ }
+
+ $query = $this->mysql->prepare('DELETE FROM `' . $this->options['extras']['prefix'] . 'cache_data` WHERE `id` = :id');
+ $query->bindValue(':id', $this->id);
+ $query2 = $this->mysql->prepare('DELETE FROM `' . $this->options['extras']['prefix'] . 'items` WHERE `feed_id` = :id');
+ $query2->bindValue(':id', $this->id);
+ if ($query->execute() && $query2->execute())
+ {
+ return true;
+ }
+ else
+ {
+ return false;
+ }
+ }
+}
diff --git a/vendor/simplepie/simplepie/library/SimplePie/Cache/Redis.php b/vendor/simplepie/simplepie/library/SimplePie/Cache/Redis.php
new file mode 100644
index 000000000..04d72c79a
--- /dev/null
+++ b/vendor/simplepie/simplepie/library/SimplePie/Cache/Redis.php
@@ -0,0 +1,166 @@
+<?php
+
+/**
+ * SimplePie Redis Cache Extension
+ *
+ * @package SimplePie
+ * @author Jan Kozak <galvani78@gmail.com>
+ * @link http://galvani.cz/
+ * @license http://www.opensource.org/licenses/bsd-license.php BSD License
+ * @version 0.2.9
+ */
+
+
+/**
+ * Caches data to redis
+ *
+ * Registered for URLs with the "redis" protocol
+ *
+ * For example, `redis://localhost:6379/?timeout=3600&prefix=sp_&dbIndex=0` will
+ * connect to redis on `localhost` on port 6379. All tables will be
+ * prefixed with `simple_primary-` and data will expire after 3600 seconds
+ *
+ * @package SimplePie
+ * @subpackage Caching
+ * @uses Redis
+ */
+class SimplePie_Cache_Redis implements SimplePie_Cache_Base {
+ /**
+ * Redis instance
+ *
+ * @var \Redis
+ */
+ protected $cache;
+
+ /**
+ * Options
+ *
+ * @var array
+ */
+ protected $options;
+
+ /**
+ * Cache name
+ *
+ * @var string
+ */
+ protected $name;
+
+ /**
+ * Cache Data
+ *
+ * @var type
+ */
+ protected $data;
+
+ /**
+ * Create a new cache object
+ *
+ * @param string $location Location string (from SimplePie::$cache_location)
+ * @param string $name Unique ID for the cache
+ * @param string $type Either TYPE_FEED for SimplePie data, or TYPE_IMAGE for image data
+ */
+ public function __construct($location, $name, $options = null) {
+ //$this->cache = \flow\simple\cache\Redis::getRedisClientInstance();
+ $parsed = SimplePie_Cache::parse_URL($location);
+ $redis = new Redis();
+ $redis->connect($parsed['host'], $parsed['port']);
+ $this->cache = $redis;
+
+ if (!is_null($options) && is_array($options)) {
+ $this->options = $options;
+ } else {
+ $this->options = array (
+ 'prefix' => 'rss:simple_primary:',
+ 'expire' => 0,
+ );
+ }
+
+ $this->name = $this->options['prefix'] . $name;
+ }
+
+ /**
+ * @param \Redis $cache
+ */
+ public function setRedisClient(\Redis $cache) {
+ $this->cache = $cache;
+ }
+
+ /**
+ * Save data to the cache
+ *
+ * @param array|SimplePie $data Data to store in the cache. If passed a SimplePie object, only cache the $data property
+ * @return bool Successfulness
+ */
+ public function save($data) {
+ if ($data instanceof SimplePie) {
+ $data = $data->data;
+ }
+ $response = $this->cache->set($this->name, serialize($data));
+ if ($this->options['expire']) {
+ $this->cache->expire($this->name, $this->options['expire']);
+ }
+
+ return $response;
+ }
+
+ /**
+ * Retrieve the data saved to the cache
+ *
+ * @return array Data for SimplePie::$data
+ */
+ public function load() {
+ $data = $this->cache->get($this->name);
+
+ if ($data !== false) {
+ return unserialize($data);
+ }
+ return false;
+ }
+
+ /**
+ * Retrieve the last modified time for the cache
+ *
+ * @return int Timestamp
+ */
+ public function mtime() {
+
+ $data = $this->cache->get($this->name);
+
+ if ($data !== false) {
+ return time();
+ }
+
+ return false;
+ }
+
+ /**
+ * Set the last modified time to the current time
+ *
+ * @return bool Success status
+ */
+ public function touch() {
+
+ $data = $this->cache->get($this->name);
+
+ if ($data !== false) {
+ $return = $this->cache->set($this->name, $data);
+ if ($this->options['expire']) {
+ return $this->cache->expire($this->name, $this->ttl);
+ }
+ return $return;
+ }
+
+ return false;
+ }
+
+ /**
+ * Remove the cache
+ *
+ * @return bool Success status
+ */
+ public function unlink() {
+ return $this->cache->set($this->name, null);
+ }
+
+}
diff --git a/vendor/simplepie/simplepie/library/SimplePie/Caption.php b/vendor/simplepie/simplepie/library/SimplePie/Caption.php
new file mode 100644
index 000000000..abf07de1b
--- /dev/null
+++ b/vendor/simplepie/simplepie/library/SimplePie/Caption.php
@@ -0,0 +1,209 @@
+<?php
+/**
+ * SimplePie
+ *
+ * A PHP-Based RSS and Atom Feed Framework.
+ * Takes the hard work out of managing a complete RSS/Atom solution.
+ *
+ * Copyright (c) 2004-2016, Ryan Parman, Geoffrey Sneddon, Ryan McCue, and contributors
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification, are
+ * permitted provided that the following conditions are met:
+ *
+ * * Redistributions of source code must retain the above copyright notice, this list of
+ * conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above copyright notice, this list
+ * of conditions and the following disclaimer in the documentation and/or other materials
+ * provided with the distribution.
+ *
+ * * Neither the name of the SimplePie Team nor the names of its contributors may be used
+ * to endorse or promote products derived from this software without specific prior
+ * written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS
+ * AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ *
+ * @package SimplePie
+ * @copyright 2004-2016 Ryan Parman, Geoffrey Sneddon, Ryan McCue
+ * @author Ryan Parman
+ * @author Geoffrey Sneddon
+ * @author Ryan McCue
+ * @link http://simplepie.org/ SimplePie
+ * @license http://www.opensource.org/licenses/bsd-license.php BSD License
+ */
+
+
+/**
+ * Handles `<media:text>` captions as defined in Media RSS.
+ *
+ * Used by {@see SimplePie_Enclosure::get_caption()} and {@see SimplePie_Enclosure::get_captions()}
+ *
+ * This class can be overloaded with {@see SimplePie::set_caption_class()}
+ *
+ * @package SimplePie
+ * @subpackage API
+ */
+class SimplePie_Caption
+{
+ /**
+ * Content type
+ *
+ * @var string
+ * @see get_type()
+ */
+ var $type;
+
+ /**
+ * Language
+ *
+ * @var string
+ * @see get_language()
+ */
+ var $lang;
+
+ /**
+ * Start time
+ *
+ * @var string
+ * @see get_starttime()
+ */
+ var $startTime;
+
+ /**
+ * End time
+ *
+ * @var string
+ * @see get_endtime()
+ */
+ var $endTime;
+
+ /**
+ * Caption text
+ *
+ * @var string
+ * @see get_text()
+ */
+ var $text;
+
+ /**
+ * Constructor, used to input the data
+ *
+ * For documentation on all the parameters, see the corresponding
+ * properties and their accessors
+ */
+ public function __construct($type = null, $lang = null, $startTime = null, $endTime = null, $text = null)
+ {
+ $this->type = $type;
+ $this->lang = $lang;
+ $this->startTime = $startTime;
+ $this->endTime = $endTime;
+ $this->text = $text;
+ }
+
+ /**
+ * String-ified version
+ *
+ * @return string
+ */
+ public function __toString()
+ {
+ // There is no $this->data here
+ return md5(serialize($this));
+ }
+
+ /**
+ * Get the end time
+ *
+ * @return string|null Time in the format 'hh:mm:ss.SSS'
+ */
+ public function get_endtime()
+ {
+ if ($this->endTime !== null)
+ {
+ return $this->endTime;
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ /**
+ * Get the language
+ *
+ * @link http://tools.ietf.org/html/rfc3066
+ * @return string|null Language code as per RFC 3066
+ */
+ public function get_language()
+ {
+ if ($this->lang !== null)
+ {
+ return $this->lang;
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ /**
+ * Get the start time
+ *
+ * @return string|null Time in the format 'hh:mm:ss.SSS'
+ */
+ public function get_starttime()
+ {
+ if ($this->startTime !== null)
+ {
+ return $this->startTime;
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ /**
+ * Get the text of the caption
+ *
+ * @return string|null
+ */
+ public function get_text()
+ {
+ if ($this->text !== null)
+ {
+ return $this->text;
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ /**
+ * Get the content type (not MIME type)
+ *
+ * @return string|null Either 'text' or 'html'
+ */
+ public function get_type()
+ {
+ if ($this->type !== null)
+ {
+ return $this->type;
+ }
+ else
+ {
+ return null;
+ }
+ }
+}
+
diff --git a/vendor/simplepie/simplepie/library/SimplePie/Category.php b/vendor/simplepie/simplepie/library/SimplePie/Category.php
new file mode 100644
index 000000000..df0f13f9a
--- /dev/null
+++ b/vendor/simplepie/simplepie/library/SimplePie/Category.php
@@ -0,0 +1,163 @@
+<?php
+/**
+ * SimplePie
+ *
+ * A PHP-Based RSS and Atom Feed Framework.
+ * Takes the hard work out of managing a complete RSS/Atom solution.
+ *
+ * Copyright (c) 2004-2016, Ryan Parman, Geoffrey Sneddon, Ryan McCue, and contributors
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification, are
+ * permitted provided that the following conditions are met:
+ *
+ * * Redistributions of source code must retain the above copyright notice, this list of
+ * conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above copyright notice, this list
+ * of conditions and the following disclaimer in the documentation and/or other materials
+ * provided with the distribution.
+ *
+ * * Neither the name of the SimplePie Team nor the names of its contributors may be used
+ * to endorse or promote products derived from this software without specific prior
+ * written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS
+ * AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ *
+ * @package SimplePie
+ * @copyright 2004-2016 Ryan Parman, Geoffrey Sneddon, Ryan McCue
+ * @author Ryan Parman
+ * @author Geoffrey Sneddon
+ * @author Ryan McCue
+ * @link http://simplepie.org/ SimplePie
+ * @license http://www.opensource.org/licenses/bsd-license.php BSD License
+ */
+
+/**
+ * Manages all category-related data
+ *
+ * Used by {@see SimplePie_Item::get_category()} and {@see SimplePie_Item::get_categories()}
+ *
+ * This class can be overloaded with {@see SimplePie::set_category_class()}
+ *
+ * @package SimplePie
+ * @subpackage API
+ */
+class SimplePie_Category
+{
+ /**
+ * Category identifier
+ *
+ * @var string|null
+ * @see get_term
+ */
+ var $term;
+
+ /**
+ * Categorization scheme identifier
+ *
+ * @var string|null
+ * @see get_scheme()
+ */
+ var $scheme;
+
+ /**
+ * Human readable label
+ *
+ * @var string|null
+ * @see get_label()
+ */
+ var $label;
+
+ /**
+ * Category type
+ *
+ * category for <category>
+ * subject for <dc:subject>
+ *
+ * @var string|null
+ * @see get_type()
+ */
+ var $type;
+
+ /**
+ * Constructor, used to input the data
+ *
+ * @param string|null $term
+ * @param string|null $scheme
+ * @param string|null $label
+ * @param string|null $type
+ */
+ public function __construct($term = null, $scheme = null, $label = null, $type = null)
+ {
+ $this->term = $term;
+ $this->scheme = $scheme;
+ $this->label = $label;
+ $this->type = $type;
+ }
+
+ /**
+ * String-ified version
+ *
+ * @return string
+ */
+ public function __toString()
+ {
+ // There is no $this->data here
+ return md5(serialize($this));
+ }
+
+ /**
+ * Get the category identifier
+ *
+ * @return string|null
+ */
+ public function get_term()
+ {
+ return $this->term;
+ }
+
+ /**
+ * Get the categorization scheme identifier
+ *
+ * @return string|null
+ */
+ public function get_scheme()
+ {
+ return $this->scheme;
+ }
+
+ /**
+ * Get the human readable label
+ *
+ * @param bool $strict
+ * @return string|null
+ */
+ public function get_label($strict = false)
+ {
+ if ($this->label === null && $strict !== true)
+ {
+ return $this->get_term();
+ }
+ return $this->label;
+ }
+
+ /**
+ * Get the category type
+ *
+ * @return string|null
+ */
+ public function get_type()
+ {
+ return $this->type;
+ }
+}
+
diff --git a/vendor/simplepie/simplepie/library/SimplePie/Content/Type/Sniffer.php b/vendor/simplepie/simplepie/library/SimplePie/Content/Type/Sniffer.php
new file mode 100644
index 000000000..ff35de614
--- /dev/null
+++ b/vendor/simplepie/simplepie/library/SimplePie/Content/Type/Sniffer.php
@@ -0,0 +1,331 @@
+<?php
+/**
+ * SimplePie
+ *
+ * A PHP-Based RSS and Atom Feed Framework.
+ * Takes the hard work out of managing a complete RSS/Atom solution.
+ *
+ * Copyright (c) 2004-2016, Ryan Parman, Geoffrey Sneddon, Ryan McCue, and contributors
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification, are
+ * permitted provided that the following conditions are met:
+ *
+ * * Redistributions of source code must retain the above copyright notice, this list of
+ * conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above copyright notice, this list
+ * of conditions and the following disclaimer in the documentation and/or other materials
+ * provided with the distribution.
+ *
+ * * Neither the name of the SimplePie Team nor the names of its contributors may be used
+ * to endorse or promote products derived from this software without specific prior
+ * written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS
+ * AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ *
+ * @package SimplePie
+ * @copyright 2004-2016 Ryan Parman, Geoffrey Sneddon, Ryan McCue
+ * @author Ryan Parman
+ * @author Geoffrey Sneddon
+ * @author Ryan McCue
+ * @link http://simplepie.org/ SimplePie
+ * @license http://www.opensource.org/licenses/bsd-license.php BSD License
+ */
+
+
+/**
+ * Content-type sniffing
+ *
+ * Based on the rules in http://tools.ietf.org/html/draft-abarth-mime-sniff-06
+ *
+ * This is used since we can't always trust Content-Type headers, and is based
+ * upon the HTML5 parsing rules.
+ *
+ *
+ * This class can be overloaded with {@see SimplePie::set_content_type_sniffer_class()}
+ *
+ * @package SimplePie
+ * @subpackage HTTP
+ */
+class SimplePie_Content_Type_Sniffer
+{
+ /**
+ * File object
+ *
+ * @var SimplePie_File
+ */
+ var $file;
+
+ /**
+ * Create an instance of the class with the input file
+ *
+ * @param SimplePie_Content_Type_Sniffer $file Input file
+ */
+ public function __construct($file)
+ {
+ $this->file = $file;
+ }
+
+ /**
+ * Get the Content-Type of the specified file
+ *
+ * @return string Actual Content-Type
+ */
+ public function get_type()
+ {
+ if (isset($this->file->headers['content-type']))
+ {
+ if (!isset($this->file->headers['content-encoding'])
+ && ($this->file->headers['content-type'] === 'text/plain'
+ || $this->file->headers['content-type'] === 'text/plain; charset=ISO-8859-1'
+ || $this->file->headers['content-type'] === 'text/plain; charset=iso-8859-1'
+ || $this->file->headers['content-type'] === 'text/plain; charset=UTF-8'))
+ {
+ return $this->text_or_binary();
+ }
+
+ if (($pos = strpos($this->file->headers['content-type'], ';')) !== false)
+ {
+ $official = substr($this->file->headers['content-type'], 0, $pos);
+ }
+ else
+ {
+ $official = $this->file->headers['content-type'];
+ }
+ $official = trim(strtolower($official));
+
+ if ($official === 'unknown/unknown'
+ || $official === 'application/unknown')
+ {
+ return $this->unknown();
+ }
+ elseif (substr($official, -4) === '+xml'
+ || $official === 'text/xml'
+ || $official === 'application/xml')
+ {
+ return $official;
+ }
+ elseif (substr($official, 0, 6) === 'image/')
+ {
+ if ($return = $this->image())
+ {
+ return $return;
+ }
+ else
+ {
+ return $official;
+ }
+ }
+ elseif ($official === 'text/html')
+ {
+ return $this->feed_or_html();
+ }
+ else
+ {
+ return $official;
+ }
+ }
+ else
+ {
+ return $this->unknown();
+ }
+ }
+
+ /**
+ * Sniff text or binary
+ *
+ * @return string Actual Content-Type
+ */
+ public function text_or_binary()
+ {
+ if (substr($this->file->body, 0, 2) === "\xFE\xFF"
+ || substr($this->file->body, 0, 2) === "\xFF\xFE"
+ || substr($this->file->body, 0, 4) === "\x00\x00\xFE\xFF"
+ || substr($this->file->body, 0, 3) === "\xEF\xBB\xBF")
+ {
+ return 'text/plain';
+ }
+ elseif (preg_match('/[\x00-\x08\x0E-\x1A\x1C-\x1F]/', $this->file->body))
+ {
+ return 'application/octect-stream';
+ }
+ else
+ {
+ return 'text/plain';
+ }
+ }
+
+ /**
+ * Sniff unknown
+ *
+ * @return string Actual Content-Type
+ */
+ public function unknown()
+ {
+ $ws = strspn($this->file->body, "\x09\x0A\x0B\x0C\x0D\x20");
+ if (strtolower(substr($this->file->body, $ws, 14)) === '<!doctype html'
+ || strtolower(substr($this->file->body, $ws, 5)) === '<html'
+ || strtolower(substr($this->file->body, $ws, 7)) === '<script')
+ {
+ return 'text/html';
+ }
+ elseif (substr($this->file->body, 0, 5) === '%PDF-')
+ {
+ return 'application/pdf';
+ }
+ elseif (substr($this->file->body, 0, 11) === '%!PS-Adobe-')
+ {
+ return 'application/postscript';
+ }
+ elseif (substr($this->file->body, 0, 6) === 'GIF87a'
+ || substr($this->file->body, 0, 6) === 'GIF89a')
+ {
+ return 'image/gif';
+ }
+ elseif (substr($this->file->body, 0, 8) === "\x89\x50\x4E\x47\x0D\x0A\x1A\x0A")
+ {
+ return 'image/png';
+ }
+ elseif (substr($this->file->body, 0, 3) === "\xFF\xD8\xFF")
+ {
+ return 'image/jpeg';
+ }
+ elseif (substr($this->file->body, 0, 2) === "\x42\x4D")
+ {
+ return 'image/bmp';
+ }
+ elseif (substr($this->file->body, 0, 4) === "\x00\x00\x01\x00")
+ {
+ return 'image/vnd.microsoft.icon';
+ }
+ else
+ {
+ return $this->text_or_binary();
+ }
+ }
+
+ /**
+ * Sniff images
+ *
+ * @return string Actual Content-Type
+ */
+ public function image()
+ {
+ if (substr($this->file->body, 0, 6) === 'GIF87a'
+ || substr($this->file->body, 0, 6) === 'GIF89a')
+ {
+ return 'image/gif';
+ }
+ elseif (substr($this->file->body, 0, 8) === "\x89\x50\x4E\x47\x0D\x0A\x1A\x0A")
+ {
+ return 'image/png';
+ }
+ elseif (substr($this->file->body, 0, 3) === "\xFF\xD8\xFF")
+ {
+ return 'image/jpeg';
+ }
+ elseif (substr($this->file->body, 0, 2) === "\x42\x4D")
+ {
+ return 'image/bmp';
+ }
+ elseif (substr($this->file->body, 0, 4) === "\x00\x00\x01\x00")
+ {
+ return 'image/vnd.microsoft.icon';
+ }
+ else
+ {
+ return false;
+ }
+ }
+
+ /**
+ * Sniff HTML
+ *
+ * @return string Actual Content-Type
+ */
+ public function feed_or_html()
+ {
+ $len = strlen($this->file->body);
+ $pos = strspn($this->file->body, "\x09\x0A\x0D\x20\xEF\xBB\xBF");
+
+ while ($pos < $len)
+ {
+ switch ($this->file->body[$pos])
+ {
+ case "\x09":
+ case "\x0A":
+ case "\x0D":
+ case "\x20":
+ $pos += strspn($this->file->body, "\x09\x0A\x0D\x20", $pos);
+ continue 2;
+
+ case '<':
+ $pos++;
+ break;
+
+ default:
+ return 'text/html';
+ }
+
+ if (substr($this->file->body, $pos, 3) === '!--')
+ {
+ $pos += 3;
+ if ($pos < $len && ($pos = strpos($this->file->body, '-->', $pos)) !== false)
+ {
+ $pos += 3;
+ }
+ else
+ {
+ return 'text/html';
+ }
+ }
+ elseif (substr($this->file->body, $pos, 1) === '!')
+ {
+ if ($pos < $len && ($pos = strpos($this->file->body, '>', $pos)) !== false)
+ {
+ $pos++;
+ }
+ else
+ {
+ return 'text/html';
+ }
+ }
+ elseif (substr($this->file->body, $pos, 1) === '?')
+ {
+ if ($pos < $len && ($pos = strpos($this->file->body, '?>', $pos)) !== false)
+ {
+ $pos += 2;
+ }
+ else
+ {
+ return 'text/html';
+ }
+ }
+ elseif (substr($this->file->body, $pos, 3) === 'rss'
+ || substr($this->file->body, $pos, 7) === 'rdf:RDF')
+ {
+ return 'application/rss+xml';
+ }
+ elseif (substr($this->file->body, $pos, 4) === 'feed')
+ {
+ return 'application/atom+xml';
+ }
+ else
+ {
+ return 'text/html';
+ }
+ }
+
+ return 'text/html';
+ }
+}
+
diff --git a/vendor/simplepie/simplepie/library/SimplePie/Copyright.php b/vendor/simplepie/simplepie/library/SimplePie/Copyright.php
new file mode 100644
index 000000000..3f3d07d3b
--- /dev/null
+++ b/vendor/simplepie/simplepie/library/SimplePie/Copyright.php
@@ -0,0 +1,129 @@
+<?php
+/**
+ * SimplePie
+ *
+ * A PHP-Based RSS and Atom Feed Framework.
+ * Takes the hard work out of managing a complete RSS/Atom solution.
+ *
+ * Copyright (c) 2004-2016, Ryan Parman, Geoffrey Sneddon, Ryan McCue, and contributors
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification, are
+ * permitted provided that the following conditions are met:
+ *
+ * * Redistributions of source code must retain the above copyright notice, this list of
+ * conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above copyright notice, this list
+ * of conditions and the following disclaimer in the documentation and/or other materials
+ * provided with the distribution.
+ *
+ * * Neither the name of the SimplePie Team nor the names of its contributors may be used
+ * to endorse or promote products derived from this software without specific prior
+ * written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS
+ * AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ *
+ * @package SimplePie
+ * @copyright 2004-2016 Ryan Parman, Geoffrey Sneddon, Ryan McCue
+ * @author Ryan Parman
+ * @author Geoffrey Sneddon
+ * @author Ryan McCue
+ * @link http://simplepie.org/ SimplePie
+ * @license http://www.opensource.org/licenses/bsd-license.php BSD License
+ */
+
+/**
+ * Manages `<media:copyright>` copyright tags as defined in Media RSS
+ *
+ * Used by {@see SimplePie_Enclosure::get_copyright()}
+ *
+ * This class can be overloaded with {@see SimplePie::set_copyright_class()}
+ *
+ * @package SimplePie
+ * @subpackage API
+ */
+class SimplePie_Copyright
+{
+ /**
+ * Copyright URL
+ *
+ * @var string
+ * @see get_url()
+ */
+ var $url;
+
+ /**
+ * Attribution
+ *
+ * @var string
+ * @see get_attribution()
+ */
+ var $label;
+
+ /**
+ * Constructor, used to input the data
+ *
+ * For documentation on all the parameters, see the corresponding
+ * properties and their accessors
+ */
+ public function __construct($url = null, $label = null)
+ {
+ $this->url = $url;
+ $this->label = $label;
+ }
+
+ /**
+ * String-ified version
+ *
+ * @return string
+ */
+ public function __toString()
+ {
+ // There is no $this->data here
+ return md5(serialize($this));
+ }
+
+ /**
+ * Get the copyright URL
+ *
+ * @return string|null URL to copyright information
+ */
+ public function get_url()
+ {
+ if ($this->url !== null)
+ {
+ return $this->url;
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ /**
+ * Get the attribution text
+ *
+ * @return string|null
+ */
+ public function get_attribution()
+ {
+ if ($this->label !== null)
+ {
+ return $this->label;
+ }
+ else
+ {
+ return null;
+ }
+ }
+}
+
diff --git a/vendor/simplepie/simplepie/library/SimplePie/Core.php b/vendor/simplepie/simplepie/library/SimplePie/Core.php
new file mode 100644
index 000000000..c856ba361
--- /dev/null
+++ b/vendor/simplepie/simplepie/library/SimplePie/Core.php
@@ -0,0 +1,56 @@
+<?php
+/**
+ * SimplePie
+ *
+ * A PHP-Based RSS and Atom Feed Framework.
+ * Takes the hard work out of managing a complete RSS/Atom solution.
+ *
+ * Copyright (c) 2004-2016, Ryan Parman, Geoffrey Sneddon, Ryan McCue, and contributors
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification, are
+ * permitted provided that the following conditions are met:
+ *
+ * * Redistributions of source code must retain the above copyright notice, this list of
+ * conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above copyright notice, this list
+ * of conditions and the following disclaimer in the documentation and/or other materials
+ * provided with the distribution.
+ *
+ * * Neither the name of the SimplePie Team nor the names of its contributors may be used
+ * to endorse or promote products derived from this software without specific prior
+ * written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS
+ * AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ *
+ * @package SimplePie
+ * @copyright 2004-2016 Ryan Parman, Geoffrey Sneddon, Ryan McCue
+ * @author Ryan Parman
+ * @author Geoffrey Sneddon
+ * @author Ryan McCue
+ * @link http://simplepie.org/ SimplePie
+ * @license http://www.opensource.org/licenses/bsd-license.php BSD License
+ */
+
+/**
+ * SimplePie class.
+ *
+ * Class for backward compatibility.
+ *
+ * @deprecated Use {@see SimplePie} directly
+ * @package SimplePie
+ * @subpackage API
+ */
+class SimplePie_Core extends SimplePie
+{
+
+} \ No newline at end of file
diff --git a/vendor/simplepie/simplepie/library/SimplePie/Credit.php b/vendor/simplepie/simplepie/library/SimplePie/Credit.php
new file mode 100644
index 000000000..9bad9ef34
--- /dev/null
+++ b/vendor/simplepie/simplepie/library/SimplePie/Credit.php
@@ -0,0 +1,155 @@
+<?php
+/**
+ * SimplePie
+ *
+ * A PHP-Based RSS and Atom Feed Framework.
+ * Takes the hard work out of managing a complete RSS/Atom solution.
+ *
+ * Copyright (c) 2004-2016, Ryan Parman, Geoffrey Sneddon, Ryan McCue, and contributors
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification, are
+ * permitted provided that the following conditions are met:
+ *
+ * * Redistributions of source code must retain the above copyright notice, this list of
+ * conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above copyright notice, this list
+ * of conditions and the following disclaimer in the documentation and/or other materials
+ * provided with the distribution.
+ *
+ * * Neither the name of the SimplePie Team nor the names of its contributors may be used
+ * to endorse or promote products derived from this software without specific prior
+ * written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS
+ * AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ *
+ * @package SimplePie
+ * @copyright 2004-2016 Ryan Parman, Geoffrey Sneddon, Ryan McCue
+ * @author Ryan Parman
+ * @author Geoffrey Sneddon
+ * @author Ryan McCue
+ * @link http://simplepie.org/ SimplePie
+ * @license http://www.opensource.org/licenses/bsd-license.php BSD License
+ */
+
+/**
+ * Handles `<media:credit>` as defined in Media RSS
+ *
+ * Used by {@see SimplePie_Enclosure::get_credit()} and {@see SimplePie_Enclosure::get_credits()}
+ *
+ * This class can be overloaded with {@see SimplePie::set_credit_class()}
+ *
+ * @package SimplePie
+ * @subpackage API
+ */
+class SimplePie_Credit
+{
+ /**
+ * Credited role
+ *
+ * @var string
+ * @see get_role()
+ */
+ var $role;
+
+ /**
+ * Organizational scheme
+ *
+ * @var string
+ * @see get_scheme()
+ */
+ var $scheme;
+
+ /**
+ * Credited name
+ *
+ * @var string
+ * @see get_name()
+ */
+ var $name;
+
+ /**
+ * Constructor, used to input the data
+ *
+ * For documentation on all the parameters, see the corresponding
+ * properties and their accessors
+ */
+ public function __construct($role = null, $scheme = null, $name = null)
+ {
+ $this->role = $role;
+ $this->scheme = $scheme;
+ $this->name = $name;
+ }
+
+ /**
+ * String-ified version
+ *
+ * @return string
+ */
+ public function __toString()
+ {
+ // There is no $this->data here
+ return md5(serialize($this));
+ }
+
+ /**
+ * Get the role of the person receiving credit
+ *
+ * @return string|null
+ */
+ public function get_role()
+ {
+ if ($this->role !== null)
+ {
+ return $this->role;
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ /**
+ * Get the organizational scheme
+ *
+ * @return string|null
+ */
+ public function get_scheme()
+ {
+ if ($this->scheme !== null)
+ {
+ return $this->scheme;
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ /**
+ * Get the credited person/entity's name
+ *
+ * @return string|null
+ */
+ public function get_name()
+ {
+ if ($this->name !== null)
+ {
+ return $this->name;
+ }
+ else
+ {
+ return null;
+ }
+ }
+}
+
diff --git a/vendor/simplepie/simplepie/library/SimplePie/Decode/HTML/Entities.php b/vendor/simplepie/simplepie/library/SimplePie/Decode/HTML/Entities.php
new file mode 100644
index 000000000..de3f2cb53
--- /dev/null
+++ b/vendor/simplepie/simplepie/library/SimplePie/Decode/HTML/Entities.php
@@ -0,0 +1,615 @@
+<?php
+/**
+ * SimplePie
+ *
+ * A PHP-Based RSS and Atom Feed Framework.
+ * Takes the hard work out of managing a complete RSS/Atom solution.
+ *
+ * Copyright (c) 2004-2016, Ryan Parman, Geoffrey Sneddon, Ryan McCue, and contributors
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification, are
+ * permitted provided that the following conditions are met:
+ *
+ * * Redistributions of source code must retain the above copyright notice, this list of
+ * conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above copyright notice, this list
+ * of conditions and the following disclaimer in the documentation and/or other materials
+ * provided with the distribution.
+ *
+ * * Neither the name of the SimplePie Team nor the names of its contributors may be used
+ * to endorse or promote products derived from this software without specific prior
+ * written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS
+ * AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ *
+ * @package SimplePie
+ * @copyright 2004-2016 Ryan Parman, Geoffrey Sneddon, Ryan McCue
+ * @author Ryan Parman
+ * @author Geoffrey Sneddon
+ * @author Ryan McCue
+ * @link http://simplepie.org/ SimplePie
+ * @license http://www.opensource.org/licenses/bsd-license.php BSD License
+ */
+
+
+/**
+ * Decode HTML Entities
+ *
+ * This implements HTML5 as of revision 967 (2007-06-28)
+ *
+ * @deprecated Use DOMDocument instead!
+ * @package SimplePie
+ */
+class SimplePie_Decode_HTML_Entities
+{
+ /**
+ * Data to be parsed
+ *
+ * @access private
+ * @var string
+ */
+ var $data = '';
+
+ /**
+ * Currently consumed bytes
+ *
+ * @access private
+ * @var string
+ */
+ var $consumed = '';
+
+ /**
+ * Position of the current byte being parsed
+ *
+ * @access private
+ * @var int
+ */
+ var $position = 0;
+
+ /**
+ * Create an instance of the class with the input data
+ *
+ * @access public
+ * @param string $data Input data
+ */
+ public function __construct($data)
+ {
+ $this->data = $data;
+ }
+
+ /**
+ * Parse the input data
+ *
+ * @access public
+ * @return string Output data
+ */
+ public function parse()
+ {
+ while (($this->position = strpos($this->data, '&', $this->position)) !== false)
+ {
+ $this->consume();
+ $this->entity();
+ $this->consumed = '';
+ }
+ return $this->data;
+ }
+
+ /**
+ * Consume the next byte
+ *
+ * @access private
+ * @return mixed The next byte, or false, if there is no more data
+ */
+ public function consume()
+ {
+ if (isset($this->data[$this->position]))
+ {
+ $this->consumed .= $this->data[$this->position];
+ return $this->data[$this->position++];
+ }
+ else
+ {
+ return false;
+ }
+ }
+
+ /**
+ * Consume a range of characters
+ *
+ * @access private
+ * @param string $chars Characters to consume
+ * @return mixed A series of characters that match the range, or false
+ */
+ public function consume_range($chars)
+ {
+ if ($len = strspn($this->data, $chars, $this->position))
+ {
+ $data = substr($this->data, $this->position, $len);
+ $this->consumed .= $data;
+ $this->position += $len;
+ return $data;
+ }
+ else
+ {
+ return false;
+ }
+ }
+
+ /**
+ * Unconsume one byte
+ *
+ * @access private
+ */
+ public function unconsume()
+ {
+ $this->consumed = substr($this->consumed, 0, -1);
+ $this->position--;
+ }
+
+ /**
+ * Decode an entity
+ *
+ * @access private
+ */
+ public function entity()
+ {
+ switch ($this->consume())
+ {
+ case "\x09":
+ case "\x0A":
+ case "\x0B":
+ case "\x0C":
+ case "\x20":
+ case "\x3C":
+ case "\x26":
+ case false:
+ break;
+
+ case "\x23":
+ switch ($this->consume())
+ {
+ case "\x78":
+ case "\x58":
+ $range = '0123456789ABCDEFabcdef';
+ $hex = true;
+ break;
+
+ default:
+ $range = '0123456789';
+ $hex = false;
+ $this->unconsume();
+ break;
+ }
+
+ if ($codepoint = $this->consume_range($range))
+ {
+ static $windows_1252_specials = array(0x0D => "\x0A", 0x80 => "\xE2\x82\xAC", 0x81 => "\xEF\xBF\xBD", 0x82 => "\xE2\x80\x9A", 0x83 => "\xC6\x92", 0x84 => "\xE2\x80\x9E", 0x85 => "\xE2\x80\xA6", 0x86 => "\xE2\x80\xA0", 0x87 => "\xE2\x80\xA1", 0x88 => "\xCB\x86", 0x89 => "\xE2\x80\xB0", 0x8A => "\xC5\xA0", 0x8B => "\xE2\x80\xB9", 0x8C => "\xC5\x92", 0x8D => "\xEF\xBF\xBD", 0x8E => "\xC5\xBD", 0x8F => "\xEF\xBF\xBD", 0x90 => "\xEF\xBF\xBD", 0x91 => "\xE2\x80\x98", 0x92 => "\xE2\x80\x99", 0x93 => "\xE2\x80\x9C", 0x94 => "\xE2\x80\x9D", 0x95 => "\xE2\x80\xA2", 0x96 => "\xE2\x80\x93", 0x97 => "\xE2\x80\x94", 0x98 => "\xCB\x9C", 0x99 => "\xE2\x84\xA2", 0x9A => "\xC5\xA1", 0x9B => "\xE2\x80\xBA", 0x9C => "\xC5\x93", 0x9D => "\xEF\xBF\xBD", 0x9E => "\xC5\xBE", 0x9F => "\xC5\xB8");
+
+ if ($hex)
+ {
+ $codepoint = hexdec($codepoint);
+ }
+ else
+ {
+ $codepoint = intval($codepoint);
+ }
+
+ if (isset($windows_1252_specials[$codepoint]))
+ {
+ $replacement = $windows_1252_specials[$codepoint];
+ }
+ else
+ {
+ $replacement = SimplePie_Misc::codepoint_to_utf8($codepoint);
+ }
+
+ if (!in_array($this->consume(), array(';', false), true))
+ {
+ $this->unconsume();
+ }
+
+ $consumed_length = strlen($this->consumed);
+ $this->data = substr_replace($this->data, $replacement, $this->position - $consumed_length, $consumed_length);
+ $this->position += strlen($replacement) - $consumed_length;
+ }
+ break;
+
+ default:
+ static $entities = array(
+ 'Aacute' => "\xC3\x81",
+ 'aacute' => "\xC3\xA1",
+ 'Aacute;' => "\xC3\x81",
+ 'aacute;' => "\xC3\xA1",
+ 'Acirc' => "\xC3\x82",
+ 'acirc' => "\xC3\xA2",
+ 'Acirc;' => "\xC3\x82",
+ 'acirc;' => "\xC3\xA2",
+ 'acute' => "\xC2\xB4",
+ 'acute;' => "\xC2\xB4",
+ 'AElig' => "\xC3\x86",
+ 'aelig' => "\xC3\xA6",
+ 'AElig;' => "\xC3\x86",
+ 'aelig;' => "\xC3\xA6",
+ 'Agrave' => "\xC3\x80",
+ 'agrave' => "\xC3\xA0",
+ 'Agrave;' => "\xC3\x80",
+ 'agrave;' => "\xC3\xA0",
+ 'alefsym;' => "\xE2\x84\xB5",
+ 'Alpha;' => "\xCE\x91",
+ 'alpha;' => "\xCE\xB1",
+ 'AMP' => "\x26",
+ 'amp' => "\x26",
+ 'AMP;' => "\x26",
+ 'amp;' => "\x26",
+ 'and;' => "\xE2\x88\xA7",
+ 'ang;' => "\xE2\x88\xA0",
+ 'apos;' => "\x27",
+ 'Aring' => "\xC3\x85",
+ 'aring' => "\xC3\xA5",
+ 'Aring;' => "\xC3\x85",
+ 'aring;' => "\xC3\xA5",
+ 'asymp;' => "\xE2\x89\x88",
+ 'Atilde' => "\xC3\x83",
+ 'atilde' => "\xC3\xA3",
+ 'Atilde;' => "\xC3\x83",
+ 'atilde;' => "\xC3\xA3",
+ 'Auml' => "\xC3\x84",
+ 'auml' => "\xC3\xA4",
+ 'Auml;' => "\xC3\x84",
+ 'auml;' => "\xC3\xA4",
+ 'bdquo;' => "\xE2\x80\x9E",
+ 'Beta;' => "\xCE\x92",
+ 'beta;' => "\xCE\xB2",
+ 'brvbar' => "\xC2\xA6",
+ 'brvbar;' => "\xC2\xA6",
+ 'bull;' => "\xE2\x80\xA2",
+ 'cap;' => "\xE2\x88\xA9",
+ 'Ccedil' => "\xC3\x87",
+ 'ccedil' => "\xC3\xA7",
+ 'Ccedil;' => "\xC3\x87",
+ 'ccedil;' => "\xC3\xA7",
+ 'cedil' => "\xC2\xB8",
+ 'cedil;' => "\xC2\xB8",
+ 'cent' => "\xC2\xA2",
+ 'cent;' => "\xC2\xA2",
+ 'Chi;' => "\xCE\xA7",
+ 'chi;' => "\xCF\x87",
+ 'circ;' => "\xCB\x86",
+ 'clubs;' => "\xE2\x99\xA3",
+ 'cong;' => "\xE2\x89\x85",
+ 'COPY' => "\xC2\xA9",
+ 'copy' => "\xC2\xA9",
+ 'COPY;' => "\xC2\xA9",
+ 'copy;' => "\xC2\xA9",
+ 'crarr;' => "\xE2\x86\xB5",
+ 'cup;' => "\xE2\x88\xAA",
+ 'curren' => "\xC2\xA4",
+ 'curren;' => "\xC2\xA4",
+ 'Dagger;' => "\xE2\x80\xA1",
+ 'dagger;' => "\xE2\x80\xA0",
+ 'dArr;' => "\xE2\x87\x93",
+ 'darr;' => "\xE2\x86\x93",
+ 'deg' => "\xC2\xB0",
+ 'deg;' => "\xC2\xB0",
+ 'Delta;' => "\xCE\x94",
+ 'delta;' => "\xCE\xB4",
+ 'diams;' => "\xE2\x99\xA6",
+ 'divide' => "\xC3\xB7",
+ 'divide;' => "\xC3\xB7",
+ 'Eacute' => "\xC3\x89",
+ 'eacute' => "\xC3\xA9",
+ 'Eacute;' => "\xC3\x89",
+ 'eacute;' => "\xC3\xA9",
+ 'Ecirc' => "\xC3\x8A",
+ 'ecirc' => "\xC3\xAA",
+ 'Ecirc;' => "\xC3\x8A",
+ 'ecirc;' => "\xC3\xAA",
+ 'Egrave' => "\xC3\x88",
+ 'egrave' => "\xC3\xA8",
+ 'Egrave;' => "\xC3\x88",
+ 'egrave;' => "\xC3\xA8",
+ 'empty;' => "\xE2\x88\x85",
+ 'emsp;' => "\xE2\x80\x83",
+ 'ensp;' => "\xE2\x80\x82",
+ 'Epsilon;' => "\xCE\x95",
+ 'epsilon;' => "\xCE\xB5",
+ 'equiv;' => "\xE2\x89\xA1",
+ 'Eta;' => "\xCE\x97",
+ 'eta;' => "\xCE\xB7",
+ 'ETH' => "\xC3\x90",
+ 'eth' => "\xC3\xB0",
+ 'ETH;' => "\xC3\x90",
+ 'eth;' => "\xC3\xB0",
+ 'Euml' => "\xC3\x8B",
+ 'euml' => "\xC3\xAB",
+ 'Euml;' => "\xC3\x8B",
+ 'euml;' => "\xC3\xAB",
+ 'euro;' => "\xE2\x82\xAC",
+ 'exist;' => "\xE2\x88\x83",
+ 'fnof;' => "\xC6\x92",
+ 'forall;' => "\xE2\x88\x80",
+ 'frac12' => "\xC2\xBD",
+ 'frac12;' => "\xC2\xBD",
+ 'frac14' => "\xC2\xBC",
+ 'frac14;' => "\xC2\xBC",
+ 'frac34' => "\xC2\xBE",
+ 'frac34;' => "\xC2\xBE",
+ 'frasl;' => "\xE2\x81\x84",
+ 'Gamma;' => "\xCE\x93",
+ 'gamma;' => "\xCE\xB3",
+ 'ge;' => "\xE2\x89\xA5",
+ 'GT' => "\x3E",
+ 'gt' => "\x3E",
+ 'GT;' => "\x3E",
+ 'gt;' => "\x3E",
+ 'hArr;' => "\xE2\x87\x94",
+ 'harr;' => "\xE2\x86\x94",
+ 'hearts;' => "\xE2\x99\xA5",
+ 'hellip;' => "\xE2\x80\xA6",
+ 'Iacute' => "\xC3\x8D",
+ 'iacute' => "\xC3\xAD",
+ 'Iacute;' => "\xC3\x8D",
+ 'iacute;' => "\xC3\xAD",
+ 'Icirc' => "\xC3\x8E",
+ 'icirc' => "\xC3\xAE",
+ 'Icirc;' => "\xC3\x8E",
+ 'icirc;' => "\xC3\xAE",
+ 'iexcl' => "\xC2\xA1",
+ 'iexcl;' => "\xC2\xA1",
+ 'Igrave' => "\xC3\x8C",
+ 'igrave' => "\xC3\xAC",
+ 'Igrave;' => "\xC3\x8C",
+ 'igrave;' => "\xC3\xAC",
+ 'image;' => "\xE2\x84\x91",
+ 'infin;' => "\xE2\x88\x9E",
+ 'int;' => "\xE2\x88\xAB",
+ 'Iota;' => "\xCE\x99",
+ 'iota;' => "\xCE\xB9",
+ 'iquest' => "\xC2\xBF",
+ 'iquest;' => "\xC2\xBF",
+ 'isin;' => "\xE2\x88\x88",
+ 'Iuml' => "\xC3\x8F",
+ 'iuml' => "\xC3\xAF",
+ 'Iuml;' => "\xC3\x8F",
+ 'iuml;' => "\xC3\xAF",
+ 'Kappa;' => "\xCE\x9A",
+ 'kappa;' => "\xCE\xBA",
+ 'Lambda;' => "\xCE\x9B",
+ 'lambda;' => "\xCE\xBB",
+ 'lang;' => "\xE3\x80\x88",
+ 'laquo' => "\xC2\xAB",
+ 'laquo;' => "\xC2\xAB",
+ 'lArr;' => "\xE2\x87\x90",
+ 'larr;' => "\xE2\x86\x90",
+ 'lceil;' => "\xE2\x8C\x88",
+ 'ldquo;' => "\xE2\x80\x9C",
+ 'le;' => "\xE2\x89\xA4",
+ 'lfloor;' => "\xE2\x8C\x8A",
+ 'lowast;' => "\xE2\x88\x97",
+ 'loz;' => "\xE2\x97\x8A",
+ 'lrm;' => "\xE2\x80\x8E",
+ 'lsaquo;' => "\xE2\x80\xB9",
+ 'lsquo;' => "\xE2\x80\x98",
+ 'LT' => "\x3C",
+ 'lt' => "\x3C",
+ 'LT;' => "\x3C",
+ 'lt;' => "\x3C",
+ 'macr' => "\xC2\xAF",
+ 'macr;' => "\xC2\xAF",
+ 'mdash;' => "\xE2\x80\x94",
+ 'micro' => "\xC2\xB5",
+ 'micro;' => "\xC2\xB5",
+ 'middot' => "\xC2\xB7",
+ 'middot;' => "\xC2\xB7",
+ 'minus;' => "\xE2\x88\x92",
+ 'Mu;' => "\xCE\x9C",
+ 'mu;' => "\xCE\xBC",
+ 'nabla;' => "\xE2\x88\x87",
+ 'nbsp' => "\xC2\xA0",
+ 'nbsp;' => "\xC2\xA0",
+ 'ndash;' => "\xE2\x80\x93",
+ 'ne;' => "\xE2\x89\xA0",
+ 'ni;' => "\xE2\x88\x8B",
+ 'not' => "\xC2\xAC",
+ 'not;' => "\xC2\xAC",
+ 'notin;' => "\xE2\x88\x89",
+ 'nsub;' => "\xE2\x8A\x84",
+ 'Ntilde' => "\xC3\x91",
+ 'ntilde' => "\xC3\xB1",
+ 'Ntilde;' => "\xC3\x91",
+ 'ntilde;' => "\xC3\xB1",
+ 'Nu;' => "\xCE\x9D",
+ 'nu;' => "\xCE\xBD",
+ 'Oacute' => "\xC3\x93",
+ 'oacute' => "\xC3\xB3",
+ 'Oacute;' => "\xC3\x93",
+ 'oacute;' => "\xC3\xB3",
+ 'Ocirc' => "\xC3\x94",
+ 'ocirc' => "\xC3\xB4",
+ 'Ocirc;' => "\xC3\x94",
+ 'ocirc;' => "\xC3\xB4",
+ 'OElig;' => "\xC5\x92",
+ 'oelig;' => "\xC5\x93",
+ 'Ograve' => "\xC3\x92",
+ 'ograve' => "\xC3\xB2",
+ 'Ograve;' => "\xC3\x92",
+ 'ograve;' => "\xC3\xB2",
+ 'oline;' => "\xE2\x80\xBE",
+ 'Omega;' => "\xCE\xA9",
+ 'omega;' => "\xCF\x89",
+ 'Omicron;' => "\xCE\x9F",
+ 'omicron;' => "\xCE\xBF",
+ 'oplus;' => "\xE2\x8A\x95",
+ 'or;' => "\xE2\x88\xA8",
+ 'ordf' => "\xC2\xAA",
+ 'ordf;' => "\xC2\xAA",
+ 'ordm' => "\xC2\xBA",
+ 'ordm;' => "\xC2\xBA",
+ 'Oslash' => "\xC3\x98",
+ 'oslash' => "\xC3\xB8",
+ 'Oslash;' => "\xC3\x98",
+ 'oslash;' => "\xC3\xB8",
+ 'Otilde' => "\xC3\x95",
+ 'otilde' => "\xC3\xB5",
+ 'Otilde;' => "\xC3\x95",
+ 'otilde;' => "\xC3\xB5",
+ 'otimes;' => "\xE2\x8A\x97",
+ 'Ouml' => "\xC3\x96",
+ 'ouml' => "\xC3\xB6",
+ 'Ouml;' => "\xC3\x96",
+ 'ouml;' => "\xC3\xB6",
+ 'para' => "\xC2\xB6",
+ 'para;' => "\xC2\xB6",
+ 'part;' => "\xE2\x88\x82",
+ 'permil;' => "\xE2\x80\xB0",
+ 'perp;' => "\xE2\x8A\xA5",
+ 'Phi;' => "\xCE\xA6",
+ 'phi;' => "\xCF\x86",
+ 'Pi;' => "\xCE\xA0",
+ 'pi;' => "\xCF\x80",
+ 'piv;' => "\xCF\x96",
+ 'plusmn' => "\xC2\xB1",
+ 'plusmn;' => "\xC2\xB1",
+ 'pound' => "\xC2\xA3",
+ 'pound;' => "\xC2\xA3",
+ 'Prime;' => "\xE2\x80\xB3",
+ 'prime;' => "\xE2\x80\xB2",
+ 'prod;' => "\xE2\x88\x8F",
+ 'prop;' => "\xE2\x88\x9D",
+ 'Psi;' => "\xCE\xA8",
+ 'psi;' => "\xCF\x88",
+ 'QUOT' => "\x22",
+ 'quot' => "\x22",
+ 'QUOT;' => "\x22",
+ 'quot;' => "\x22",
+ 'radic;' => "\xE2\x88\x9A",
+ 'rang;' => "\xE3\x80\x89",
+ 'raquo' => "\xC2\xBB",
+ 'raquo;' => "\xC2\xBB",
+ 'rArr;' => "\xE2\x87\x92",
+ 'rarr;' => "\xE2\x86\x92",
+ 'rceil;' => "\xE2\x8C\x89",
+ 'rdquo;' => "\xE2\x80\x9D",
+ 'real;' => "\xE2\x84\x9C",
+ 'REG' => "\xC2\xAE",
+ 'reg' => "\xC2\xAE",
+ 'REG;' => "\xC2\xAE",
+ 'reg;' => "\xC2\xAE",
+ 'rfloor;' => "\xE2\x8C\x8B",
+ 'Rho;' => "\xCE\xA1",
+ 'rho;' => "\xCF\x81",
+ 'rlm;' => "\xE2\x80\x8F",
+ 'rsaquo;' => "\xE2\x80\xBA",
+ 'rsquo;' => "\xE2\x80\x99",
+ 'sbquo;' => "\xE2\x80\x9A",
+ 'Scaron;' => "\xC5\xA0",
+ 'scaron;' => "\xC5\xA1",
+ 'sdot;' => "\xE2\x8B\x85",
+ 'sect' => "\xC2\xA7",
+ 'sect;' => "\xC2\xA7",
+ 'shy' => "\xC2\xAD",
+ 'shy;' => "\xC2\xAD",
+ 'Sigma;' => "\xCE\xA3",
+ 'sigma;' => "\xCF\x83",
+ 'sigmaf;' => "\xCF\x82",
+ 'sim;' => "\xE2\x88\xBC",
+ 'spades;' => "\xE2\x99\xA0",
+ 'sub;' => "\xE2\x8A\x82",
+ 'sube;' => "\xE2\x8A\x86",
+ 'sum;' => "\xE2\x88\x91",
+ 'sup;' => "\xE2\x8A\x83",
+ 'sup1' => "\xC2\xB9",
+ 'sup1;' => "\xC2\xB9",
+ 'sup2' => "\xC2\xB2",
+ 'sup2;' => "\xC2\xB2",
+ 'sup3' => "\xC2\xB3",
+ 'sup3;' => "\xC2\xB3",
+ 'supe;' => "\xE2\x8A\x87",
+ 'szlig' => "\xC3\x9F",
+ 'szlig;' => "\xC3\x9F",
+ 'Tau;' => "\xCE\xA4",
+ 'tau;' => "\xCF\x84",
+ 'there4;' => "\xE2\x88\xB4",
+ 'Theta;' => "\xCE\x98",
+ 'theta;' => "\xCE\xB8",
+ 'thetasym;' => "\xCF\x91",
+ 'thinsp;' => "\xE2\x80\x89",
+ 'THORN' => "\xC3\x9E",
+ 'thorn' => "\xC3\xBE",
+ 'THORN;' => "\xC3\x9E",
+ 'thorn;' => "\xC3\xBE",
+ 'tilde;' => "\xCB\x9C",
+ 'times' => "\xC3\x97",
+ 'times;' => "\xC3\x97",
+ 'TRADE;' => "\xE2\x84\xA2",
+ 'trade;' => "\xE2\x84\xA2",
+ 'Uacute' => "\xC3\x9A",
+ 'uacute' => "\xC3\xBA",
+ 'Uacute;' => "\xC3\x9A",
+ 'uacute;' => "\xC3\xBA",
+ 'uArr;' => "\xE2\x87\x91",
+ 'uarr;' => "\xE2\x86\x91",
+ 'Ucirc' => "\xC3\x9B",
+ 'ucirc' => "\xC3\xBB",
+ 'Ucirc;' => "\xC3\x9B",
+ 'ucirc;' => "\xC3\xBB",
+ 'Ugrave' => "\xC3\x99",
+ 'ugrave' => "\xC3\xB9",
+ 'Ugrave;' => "\xC3\x99",
+ 'ugrave;' => "\xC3\xB9",
+ 'uml' => "\xC2\xA8",
+ 'uml;' => "\xC2\xA8",
+ 'upsih;' => "\xCF\x92",
+ 'Upsilon;' => "\xCE\xA5",
+ 'upsilon;' => "\xCF\x85",
+ 'Uuml' => "\xC3\x9C",
+ 'uuml' => "\xC3\xBC",
+ 'Uuml;' => "\xC3\x9C",
+ 'uuml;' => "\xC3\xBC",
+ 'weierp;' => "\xE2\x84\x98",
+ 'Xi;' => "\xCE\x9E",
+ 'xi;' => "\xCE\xBE",
+ 'Yacute' => "\xC3\x9D",
+ 'yacute' => "\xC3\xBD",
+ 'Yacute;' => "\xC3\x9D",
+ 'yacute;' => "\xC3\xBD",
+ 'yen' => "\xC2\xA5",
+ 'yen;' => "\xC2\xA5",
+ 'yuml' => "\xC3\xBF",
+ 'Yuml;' => "\xC5\xB8",
+ 'yuml;' => "\xC3\xBF",
+ 'Zeta;' => "\xCE\x96",
+ 'zeta;' => "\xCE\xB6",
+ 'zwj;' => "\xE2\x80\x8D",
+ 'zwnj;' => "\xE2\x80\x8C"
+ );
+
+ for ($i = 0, $match = null; $i < 9 && $this->consume() !== false; $i++)
+ {
+ $consumed = substr($this->consumed, 1);
+ if (isset($entities[$consumed]))
+ {
+ $match = $consumed;
+ }
+ }
+
+ if ($match !== null)
+ {
+ $this->data = substr_replace($this->data, $entities[$match], $this->position - strlen($consumed) - 1, strlen($match) + 1);
+ $this->position += strlen($entities[$match]) - strlen($consumed) - 1;
+ }
+ break;
+ }
+ }
+}
+
diff --git a/vendor/simplepie/simplepie/library/SimplePie/Enclosure.php b/vendor/simplepie/simplepie/library/SimplePie/Enclosure.php
new file mode 100644
index 000000000..15060e193
--- /dev/null
+++ b/vendor/simplepie/simplepie/library/SimplePie/Enclosure.php
@@ -0,0 +1,1379 @@
+<?php
+/**
+ * SimplePie
+ *
+ * A PHP-Based RSS and Atom Feed Framework.
+ * Takes the hard work out of managing a complete RSS/Atom solution.
+ *
+ * Copyright (c) 2004-2016, Ryan Parman, Geoffrey Sneddon, Ryan McCue, and contributors
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification, are
+ * permitted provided that the following conditions are met:
+ *
+ * * Redistributions of source code must retain the above copyright notice, this list of
+ * conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above copyright notice, this list
+ * of conditions and the following disclaimer in the documentation and/or other materials
+ * provided with the distribution.
+ *
+ * * Neither the name of the SimplePie Team nor the names of its contributors may be used
+ * to endorse or promote products derived from this software without specific prior
+ * written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS
+ * AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ *
+ * @package SimplePie
+ * @copyright 2004-2016 Ryan Parman, Geoffrey Sneddon, Ryan McCue
+ * @author Ryan Parman
+ * @author Geoffrey Sneddon
+ * @author Ryan McCue
+ * @link http://simplepie.org/ SimplePie
+ * @license http://www.opensource.org/licenses/bsd-license.php BSD License
+ */
+
+/**
+ * Handles everything related to enclosures (including Media RSS and iTunes RSS)
+ *
+ * Used by {@see SimplePie_Item::get_enclosure()} and {@see SimplePie_Item::get_enclosures()}
+ *
+ * This class can be overloaded with {@see SimplePie::set_enclosure_class()}
+ *
+ * @package SimplePie
+ * @subpackage API
+ */
+class SimplePie_Enclosure
+{
+ /**
+ * @var string
+ * @see get_bitrate()
+ */
+ var $bitrate;
+
+ /**
+ * @var array
+ * @see get_captions()
+ */
+ var $captions;
+
+ /**
+ * @var array
+ * @see get_categories()
+ */
+ var $categories;
+
+ /**
+ * @var int
+ * @see get_channels()
+ */
+ var $channels;
+
+ /**
+ * @var SimplePie_Copyright
+ * @see get_copyright()
+ */
+ var $copyright;
+
+ /**
+ * @var array
+ * @see get_credits()
+ */
+ var $credits;
+
+ /**
+ * @var string
+ * @see get_description()
+ */
+ var $description;
+
+ /**
+ * @var int
+ * @see get_duration()
+ */
+ var $duration;
+
+ /**
+ * @var string
+ * @see get_expression()
+ */
+ var $expression;
+
+ /**
+ * @var string
+ * @see get_framerate()
+ */
+ var $framerate;
+
+ /**
+ * @var string
+ * @see get_handler()
+ */
+ var $handler;
+
+ /**
+ * @var array
+ * @see get_hashes()
+ */
+ var $hashes;
+
+ /**
+ * @var string
+ * @see get_height()
+ */
+ var $height;
+
+ /**
+ * @deprecated
+ * @var null
+ */
+ var $javascript;
+
+ /**
+ * @var array
+ * @see get_keywords()
+ */
+ var $keywords;
+
+ /**
+ * @var string
+ * @see get_language()
+ */
+ var $lang;
+
+ /**
+ * @var string
+ * @see get_length()
+ */
+ var $length;
+
+ /**
+ * @var string
+ * @see get_link()
+ */
+ var $link;
+
+ /**
+ * @var string
+ * @see get_medium()
+ */
+ var $medium;
+
+ /**
+ * @var string
+ * @see get_player()
+ */
+ var $player;
+
+ /**
+ * @var array
+ * @see get_ratings()
+ */
+ var $ratings;
+
+ /**
+ * @var array
+ * @see get_restrictions()
+ */
+ var $restrictions;
+
+ /**
+ * @var string
+ * @see get_sampling_rate()
+ */
+ var $samplingrate;
+
+ /**
+ * @var array
+ * @see get_thumbnails()
+ */
+ var $thumbnails;
+
+ /**
+ * @var string
+ * @see get_title()
+ */
+ var $title;
+
+ /**
+ * @var string
+ * @see get_type()
+ */
+ var $type;
+
+ /**
+ * @var string
+ * @see get_width()
+ */
+ var $width;
+
+ /**
+ * Constructor, used to input the data
+ *
+ * For documentation on all the parameters, see the corresponding
+ * properties and their accessors
+ *
+ * @uses idna_convert If available, this will convert an IDN
+ */
+ public function __construct($link = null, $type = null, $length = null, $javascript = null, $bitrate = null, $captions = null, $categories = null, $channels = null, $copyright = null, $credits = null, $description = null, $duration = null, $expression = null, $framerate = null, $hashes = null, $height = null, $keywords = null, $lang = null, $medium = null, $player = null, $ratings = null, $restrictions = null, $samplingrate = null, $thumbnails = null, $title = null, $width = null)
+ {
+ $this->bitrate = $bitrate;
+ $this->captions = $captions;
+ $this->categories = $categories;
+ $this->channels = $channels;
+ $this->copyright = $copyright;
+ $this->credits = $credits;
+ $this->description = $description;
+ $this->duration = $duration;
+ $this->expression = $expression;
+ $this->framerate = $framerate;
+ $this->hashes = $hashes;
+ $this->height = $height;
+ $this->keywords = $keywords;
+ $this->lang = $lang;
+ $this->length = $length;
+ $this->link = $link;
+ $this->medium = $medium;
+ $this->player = $player;
+ $this->ratings = $ratings;
+ $this->restrictions = $restrictions;
+ $this->samplingrate = $samplingrate;
+ $this->thumbnails = $thumbnails;
+ $this->title = $title;
+ $this->type = $type;
+ $this->width = $width;
+
+ if (class_exists('idna_convert'))
+ {
+ $idn = new idna_convert();
+ $parsed = SimplePie_Misc::parse_url($link);
+ $this->link = SimplePie_Misc::compress_parse_url($parsed['scheme'], $idn->encode($parsed['authority']), $parsed['path'], $parsed['query'], $parsed['fragment']);
+ }
+ $this->handler = $this->get_handler(); // Needs to load last
+ }
+
+ /**
+ * String-ified version
+ *
+ * @return string
+ */
+ public function __toString()
+ {
+ // There is no $this->data here
+ return md5(serialize($this));
+ }
+
+ /**
+ * Get the bitrate
+ *
+ * @return string|null
+ */
+ public function get_bitrate()
+ {
+ if ($this->bitrate !== null)
+ {
+ return $this->bitrate;
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ /**
+ * Get a single caption
+ *
+ * @param int $key
+ * @return SimplePie_Caption|null
+ */
+ public function get_caption($key = 0)
+ {
+ $captions = $this->get_captions();
+ if (isset($captions[$key]))
+ {
+ return $captions[$key];
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ /**
+ * Get all captions
+ *
+ * @return array|null Array of {@see SimplePie_Caption} objects
+ */
+ public function get_captions()
+ {
+ if ($this->captions !== null)
+ {
+ return $this->captions;
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ /**
+ * Get a single category
+ *
+ * @param int $key
+ * @return SimplePie_Category|null
+ */
+ public function get_category($key = 0)
+ {
+ $categories = $this->get_categories();
+ if (isset($categories[$key]))
+ {
+ return $categories[$key];
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ /**
+ * Get all categories
+ *
+ * @return array|null Array of {@see SimplePie_Category} objects
+ */
+ public function get_categories()
+ {
+ if ($this->categories !== null)
+ {
+ return $this->categories;
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ /**
+ * Get the number of audio channels
+ *
+ * @return int|null
+ */
+ public function get_channels()
+ {
+ if ($this->channels !== null)
+ {
+ return $this->channels;
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ /**
+ * Get the copyright information
+ *
+ * @return SimplePie_Copyright|null
+ */
+ public function get_copyright()
+ {
+ if ($this->copyright !== null)
+ {
+ return $this->copyright;
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ /**
+ * Get a single credit
+ *
+ * @param int $key
+ * @return SimplePie_Credit|null
+ */
+ public function get_credit($key = 0)
+ {
+ $credits = $this->get_credits();
+ if (isset($credits[$key]))
+ {
+ return $credits[$key];
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ /**
+ * Get all credits
+ *
+ * @return array|null Array of {@see SimplePie_Credit} objects
+ */
+ public function get_credits()
+ {
+ if ($this->credits !== null)
+ {
+ return $this->credits;
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ /**
+ * Get the description of the enclosure
+ *
+ * @return string|null
+ */
+ public function get_description()
+ {
+ if ($this->description !== null)
+ {
+ return $this->description;
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ /**
+ * Get the duration of the enclosure
+ *
+ * @param bool $convert Convert seconds into hh:mm:ss
+ * @return string|int|null 'hh:mm:ss' string if `$convert` was specified, otherwise integer (or null if none found)
+ */
+ public function get_duration($convert = false)
+ {
+ if ($this->duration !== null)
+ {
+ if ($convert)
+ {
+ $time = SimplePie_Misc::time_hms($this->duration);
+ return $time;
+ }
+ else
+ {
+ return $this->duration;
+ }
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ /**
+ * Get the expression
+ *
+ * @return string Probably one of 'sample', 'full', 'nonstop', 'clip'. Defaults to 'full'
+ */
+ public function get_expression()
+ {
+ if ($this->expression !== null)
+ {
+ return $this->expression;
+ }
+ else
+ {
+ return 'full';
+ }
+ }
+
+ /**
+ * Get the file extension
+ *
+ * @return string|null
+ */
+ public function get_extension()
+ {
+ if ($this->link !== null)
+ {
+ $url = SimplePie_Misc::parse_url($this->link);
+ if ($url['path'] !== '')
+ {
+ return pathinfo($url['path'], PATHINFO_EXTENSION);
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Get the framerate (in frames-per-second)
+ *
+ * @return string|null
+ */
+ public function get_framerate()
+ {
+ if ($this->framerate !== null)
+ {
+ return $this->framerate;
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ /**
+ * Get the preferred handler
+ *
+ * @return string|null One of 'flash', 'fmedia', 'quicktime', 'wmedia', 'mp3'
+ */
+ public function get_handler()
+ {
+ return $this->get_real_type(true);
+ }
+
+ /**
+ * Get a single hash
+ *
+ * @link http://www.rssboard.org/media-rss#media-hash
+ * @param int $key
+ * @return string|null Hash as per `media:hash`, prefixed with "$algo:"
+ */
+ public function get_hash($key = 0)
+ {
+ $hashes = $this->get_hashes();
+ if (isset($hashes[$key]))
+ {
+ return $hashes[$key];
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ /**
+ * Get all credits
+ *
+ * @return array|null Array of strings, see {@see get_hash()}
+ */
+ public function get_hashes()
+ {
+ if ($this->hashes !== null)
+ {
+ return $this->hashes;
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ /**
+ * Get the height
+ *
+ * @return string|null
+ */
+ public function get_height()
+ {
+ if ($this->height !== null)
+ {
+ return $this->height;
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ /**
+ * Get the language
+ *
+ * @link http://tools.ietf.org/html/rfc3066
+ * @return string|null Language code as per RFC 3066
+ */
+ public function get_language()
+ {
+ if ($this->lang !== null)
+ {
+ return $this->lang;
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ /**
+ * Get a single keyword
+ *
+ * @param int $key
+ * @return string|null
+ */
+ public function get_keyword($key = 0)
+ {
+ $keywords = $this->get_keywords();
+ if (isset($keywords[$key]))
+ {
+ return $keywords[$key];
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ /**
+ * Get all keywords
+ *
+ * @return array|null Array of strings
+ */
+ public function get_keywords()
+ {
+ if ($this->keywords !== null)
+ {
+ return $this->keywords;
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ /**
+ * Get length
+ *
+ * @return float Length in bytes
+ */
+ public function get_length()
+ {
+ if ($this->length !== null)
+ {
+ return $this->length;
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ /**
+ * Get the URL
+ *
+ * @return string|null
+ */
+ public function get_link()
+ {
+ if ($this->link !== null)
+ {
+ return urldecode($this->link);
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ /**
+ * Get the medium
+ *
+ * @link http://www.rssboard.org/media-rss#media-content
+ * @return string|null Should be one of 'image', 'audio', 'video', 'document', 'executable'
+ */
+ public function get_medium()
+ {
+ if ($this->medium !== null)
+ {
+ return $this->medium;
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ /**
+ * Get the player URL
+ *
+ * Typically the same as {@see get_permalink()}
+ * @return string|null Player URL
+ */
+ public function get_player()
+ {
+ if ($this->player !== null)
+ {
+ return $this->player;
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ /**
+ * Get a single rating
+ *
+ * @param int $key
+ * @return SimplePie_Rating|null
+ */
+ public function get_rating($key = 0)
+ {
+ $ratings = $this->get_ratings();
+ if (isset($ratings[$key]))
+ {
+ return $ratings[$key];
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ /**
+ * Get all ratings
+ *
+ * @return array|null Array of {@see SimplePie_Rating} objects
+ */
+ public function get_ratings()
+ {
+ if ($this->ratings !== null)
+ {
+ return $this->ratings;
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ /**
+ * Get a single restriction
+ *
+ * @param int $key
+ * @return SimplePie_Restriction|null
+ */
+ public function get_restriction($key = 0)
+ {
+ $restrictions = $this->get_restrictions();
+ if (isset($restrictions[$key]))
+ {
+ return $restrictions[$key];
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ /**
+ * Get all restrictions
+ *
+ * @return array|null Array of {@see SimplePie_Restriction} objects
+ */
+ public function get_restrictions()
+ {
+ if ($this->restrictions !== null)
+ {
+ return $this->restrictions;
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ /**
+ * Get the sampling rate (in kHz)
+ *
+ * @return string|null
+ */
+ public function get_sampling_rate()
+ {
+ if ($this->samplingrate !== null)
+ {
+ return $this->samplingrate;
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ /**
+ * Get the file size (in MiB)
+ *
+ * @return float|null File size in mebibytes (1048 bytes)
+ */
+ public function get_size()
+ {
+ $length = $this->get_length();
+ if ($length !== null)
+ {
+ return round($length/1048576, 2);
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ /**
+ * Get a single thumbnail
+ *
+ * @param int $key
+ * @return string|null Thumbnail URL
+ */
+ public function get_thumbnail($key = 0)
+ {
+ $thumbnails = $this->get_thumbnails();
+ if (isset($thumbnails[$key]))
+ {
+ return $thumbnails[$key];
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ /**
+ * Get all thumbnails
+ *
+ * @return array|null Array of thumbnail URLs
+ */
+ public function get_thumbnails()
+ {
+ if ($this->thumbnails !== null)
+ {
+ return $this->thumbnails;
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ /**
+ * Get the title
+ *
+ * @return string|null
+ */
+ public function get_title()
+ {
+ if ($this->title !== null)
+ {
+ return $this->title;
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ /**
+ * Get mimetype of the enclosure
+ *
+ * @see get_real_type()
+ * @return string|null MIME type
+ */
+ public function get_type()
+ {
+ if ($this->type !== null)
+ {
+ return $this->type;
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ /**
+ * Get the width
+ *
+ * @return string|null
+ */
+ public function get_width()
+ {
+ if ($this->width !== null)
+ {
+ return $this->width;
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ /**
+ * Embed the enclosure using `<embed>`
+ *
+ * @deprecated Use the second parameter to {@see embed} instead
+ *
+ * @param array|string $options See first paramter to {@see embed}
+ * @return string HTML string to output
+ */
+ public function native_embed($options='')
+ {
+ return $this->embed($options, true);
+ }
+
+ /**
+ * Embed the enclosure using Javascript
+ *
+ * `$options` is an array or comma-separated key:value string, with the
+ * following properties:
+ *
+ * - `alt` (string): Alternate content for when an end-user does not have
+ * the appropriate handler installed or when a file type is
+ * unsupported. Can be any text or HTML. Defaults to blank.
+ * - `altclass` (string): If a file type is unsupported, the end-user will
+ * see the alt text (above) linked directly to the content. That link
+ * will have this value as its class name. Defaults to blank.
+ * - `audio` (string): This is an image that should be used as a
+ * placeholder for audio files before they're loaded (QuickTime-only).
+ * Can be any relative or absolute URL. Defaults to blank.
+ * - `bgcolor` (string): The background color for the media, if not
+ * already transparent. Defaults to `#ffffff`.
+ * - `height` (integer): The height of the embedded media. Accepts any
+ * numeric pixel value (such as `360`) or `auto`. Defaults to `auto`,
+ * and it is recommended that you use this default.
+ * - `loop` (boolean): Do you want the media to loop when it's done?
+ * Defaults to `false`.
+ * - `mediaplayer` (string): The location of the included
+ * `mediaplayer.swf` file. This allows for the playback of Flash Video
+ * (`.flv`) files, and is the default handler for non-Odeo MP3's.
+ * Defaults to blank.
+ * - `video` (string): This is an image that should be used as a
+ * placeholder for video files before they're loaded (QuickTime-only).
+ * Can be any relative or absolute URL. Defaults to blank.
+ * - `width` (integer): The width of the embedded media. Accepts any
+ * numeric pixel value (such as `480`) or `auto`. Defaults to `auto`,
+ * and it is recommended that you use this default.
+ * - `widescreen` (boolean): Is the enclosure widescreen or standard?
+ * This applies only to video enclosures, and will automatically resize
+ * the content appropriately. Defaults to `false`, implying 4:3 mode.
+ *
+ * Note: Non-widescreen (4:3) mode with `width` and `height` set to `auto`
+ * will default to 480x360 video resolution. Widescreen (16:9) mode with
+ * `width` and `height` set to `auto` will default to 480x270 video resolution.
+ *
+ * @todo If the dimensions for media:content are defined, use them when width/height are set to 'auto'.
+ * @param array|string $options Comma-separated key:value list, or array
+ * @param bool $native Use `<embed>`
+ * @return string HTML string to output
+ */
+ public function embed($options = '', $native = false)
+ {
+ // Set up defaults
+ $audio = '';
+ $video = '';
+ $alt = '';
+ $altclass = '';
+ $loop = 'false';
+ $width = 'auto';
+ $height = 'auto';
+ $bgcolor = '#ffffff';
+ $mediaplayer = '';
+ $widescreen = false;
+ $handler = $this->get_handler();
+ $type = $this->get_real_type();
+
+ // Process options and reassign values as necessary
+ if (is_array($options))
+ {
+ extract($options);
+ }
+ else
+ {
+ $options = explode(',', $options);
+ foreach($options as $option)
+ {
+ $opt = explode(':', $option, 2);
+ if (isset($opt[0], $opt[1]))
+ {
+ $opt[0] = trim($opt[0]);
+ $opt[1] = trim($opt[1]);
+ switch ($opt[0])
+ {
+ case 'audio':
+ $audio = $opt[1];
+ break;
+
+ case 'video':
+ $video = $opt[1];
+ break;
+
+ case 'alt':
+ $alt = $opt[1];
+ break;
+
+ case 'altclass':
+ $altclass = $opt[1];
+ break;
+
+ case 'loop':
+ $loop = $opt[1];
+ break;
+
+ case 'width':
+ $width = $opt[1];
+ break;
+
+ case 'height':
+ $height = $opt[1];
+ break;
+
+ case 'bgcolor':
+ $bgcolor = $opt[1];
+ break;
+
+ case 'mediaplayer':
+ $mediaplayer = $opt[1];
+ break;
+
+ case 'widescreen':
+ $widescreen = $opt[1];
+ break;
+ }
+ }
+ }
+ }
+
+ $mime = explode('/', $type, 2);
+ $mime = $mime[0];
+
+ // Process values for 'auto'
+ if ($width === 'auto')
+ {
+ if ($mime === 'video')
+ {
+ if ($height === 'auto')
+ {
+ $width = 480;
+ }
+ elseif ($widescreen)
+ {
+ $width = round((intval($height)/9)*16);
+ }
+ else
+ {
+ $width = round((intval($height)/3)*4);
+ }
+ }
+ else
+ {
+ $width = '100%';
+ }
+ }
+
+ if ($height === 'auto')
+ {
+ if ($mime === 'audio')
+ {
+ $height = 0;
+ }
+ elseif ($mime === 'video')
+ {
+ if ($width === 'auto')
+ {
+ if ($widescreen)
+ {
+ $height = 270;
+ }
+ else
+ {
+ $height = 360;
+ }
+ }
+ elseif ($widescreen)
+ {
+ $height = round((intval($width)/16)*9);
+ }
+ else
+ {
+ $height = round((intval($width)/4)*3);
+ }
+ }
+ else
+ {
+ $height = 376;
+ }
+ }
+ elseif ($mime === 'audio')
+ {
+ $height = 0;
+ }
+
+ // Set proper placeholder value
+ if ($mime === 'audio')
+ {
+ $placeholder = $audio;
+ }
+ elseif ($mime === 'video')
+ {
+ $placeholder = $video;
+ }
+
+ $embed = '';
+
+ // Flash
+ if ($handler === 'flash')
+ {
+ if ($native)
+ {
+ $embed .= "<embed src=\"" . $this->get_link() . "\" pluginspage=\"http://adobe.com/go/getflashplayer\" type=\"$type\" quality=\"high\" width=\"$width\" height=\"$height\" bgcolor=\"$bgcolor\" loop=\"$loop\"></embed>";
+ }
+ else
+ {
+ $embed .= "<script type='text/javascript'>embed_flash('$bgcolor', '$width', '$height', '" . $this->get_link() . "', '$loop', '$type');</script>";
+ }
+ }
+
+ // Flash Media Player file types.
+ // Preferred handler for MP3 file types.
+ elseif ($handler === 'fmedia' || ($handler === 'mp3' && $mediaplayer !== ''))
+ {
+ $height += 20;
+ if ($native)
+ {
+ $embed .= "<embed src=\"$mediaplayer\" pluginspage=\"http://adobe.com/go/getflashplayer\" type=\"application/x-shockwave-flash\" quality=\"high\" width=\"$width\" height=\"$height\" wmode=\"transparent\" flashvars=\"file=" . rawurlencode($this->get_link().'?file_extension=.'.$this->get_extension()) . "&autostart=false&repeat=$loop&showdigits=true&showfsbutton=false\"></embed>";
+ }
+ else
+ {
+ $embed .= "<script type='text/javascript'>embed_flv('$width', '$height', '" . rawurlencode($this->get_link().'?file_extension=.'.$this->get_extension()) . "', '$placeholder', '$loop', '$mediaplayer');</script>";
+ }
+ }
+
+ // QuickTime 7 file types. Need to test with QuickTime 6.
+ // Only handle MP3's if the Flash Media Player is not present.
+ elseif ($handler === 'quicktime' || ($handler === 'mp3' && $mediaplayer === ''))
+ {
+ $height += 16;
+ if ($native)
+ {
+ if ($placeholder !== '')
+ {
+ $embed .= "<embed type=\"$type\" style=\"cursor:hand; cursor:pointer;\" href=\"" . $this->get_link() . "\" src=\"$placeholder\" width=\"$width\" height=\"$height\" autoplay=\"false\" target=\"myself\" controller=\"false\" loop=\"$loop\" scale=\"aspect\" bgcolor=\"$bgcolor\" pluginspage=\"http://apple.com/quicktime/download/\"></embed>";
+ }
+ else
+ {
+ $embed .= "<embed type=\"$type\" style=\"cursor:hand; cursor:pointer;\" src=\"" . $this->get_link() . "\" width=\"$width\" height=\"$height\" autoplay=\"false\" target=\"myself\" controller=\"true\" loop=\"$loop\" scale=\"aspect\" bgcolor=\"$bgcolor\" pluginspage=\"http://apple.com/quicktime/download/\"></embed>";
+ }
+ }
+ else
+ {
+ $embed .= "<script type='text/javascript'>embed_quicktime('$type', '$bgcolor', '$width', '$height', '" . $this->get_link() . "', '$placeholder', '$loop');</script>";
+ }
+ }
+
+ // Windows Media
+ elseif ($handler === 'wmedia')
+ {
+ $height += 45;
+ if ($native)
+ {
+ $embed .= "<embed type=\"application/x-mplayer2\" src=\"" . $this->get_link() . "\" autosize=\"1\" width=\"$width\" height=\"$height\" showcontrols=\"1\" showstatusbar=\"0\" showdisplay=\"0\" autostart=\"0\"></embed>";
+ }
+ else
+ {
+ $embed .= "<script type='text/javascript'>embed_wmedia('$width', '$height', '" . $this->get_link() . "');</script>";
+ }
+ }
+
+ // Everything else
+ else $embed .= '<a href="' . $this->get_link() . '" class="' . $altclass . '">' . $alt . '</a>';
+
+ return $embed;
+ }
+
+ /**
+ * Get the real media type
+ *
+ * Often, feeds lie to us, necessitating a bit of deeper inspection. This
+ * converts types to their canonical representations based on the file
+ * extension
+ *
+ * @see get_type()
+ * @param bool $find_handler Internal use only, use {@see get_handler()} instead
+ * @return string MIME type
+ */
+ public function get_real_type($find_handler = false)
+ {
+ // Mime-types by handler.
+ $types_flash = array('application/x-shockwave-flash', 'application/futuresplash'); // Flash
+ $types_fmedia = array('video/flv', 'video/x-flv','flv-application/octet-stream'); // Flash Media Player
+ $types_quicktime = array('audio/3gpp', 'audio/3gpp2', 'audio/aac', 'audio/x-aac', 'audio/aiff', 'audio/x-aiff', 'audio/mid', 'audio/midi', 'audio/x-midi', 'audio/mp4', 'audio/m4a', 'audio/x-m4a', 'audio/wav', 'audio/x-wav', 'video/3gpp', 'video/3gpp2', 'video/m4v', 'video/x-m4v', 'video/mp4', 'video/mpeg', 'video/x-mpeg', 'video/quicktime', 'video/sd-video'); // QuickTime
+ $types_wmedia = array('application/asx', 'application/x-mplayer2', 'audio/x-ms-wma', 'audio/x-ms-wax', 'video/x-ms-asf-plugin', 'video/x-ms-asf', 'video/x-ms-wm', 'video/x-ms-wmv', 'video/x-ms-wvx'); // Windows Media
+ $types_mp3 = array('audio/mp3', 'audio/x-mp3', 'audio/mpeg', 'audio/x-mpeg'); // MP3
+
+ if ($this->get_type() !== null)
+ {
+ $type = strtolower($this->type);
+ }
+ else
+ {
+ $type = null;
+ }
+
+ // If we encounter an unsupported mime-type, check the file extension and guess intelligently.
+ if (!in_array($type, array_merge($types_flash, $types_fmedia, $types_quicktime, $types_wmedia, $types_mp3)))
+ {
+ switch (strtolower($this->get_extension()))
+ {
+ // Audio mime-types
+ case 'aac':
+ case 'adts':
+ $type = 'audio/acc';
+ break;
+
+ case 'aif':
+ case 'aifc':
+ case 'aiff':
+ case 'cdda':
+ $type = 'audio/aiff';
+ break;
+
+ case 'bwf':
+ $type = 'audio/wav';
+ break;
+
+ case 'kar':
+ case 'mid':
+ case 'midi':
+ case 'smf':
+ $type = 'audio/midi';
+ break;
+
+ case 'm4a':
+ $type = 'audio/x-m4a';
+ break;
+
+ case 'mp3':
+ case 'swa':
+ $type = 'audio/mp3';
+ break;
+
+ case 'wav':
+ $type = 'audio/wav';
+ break;
+
+ case 'wax':
+ $type = 'audio/x-ms-wax';
+ break;
+
+ case 'wma':
+ $type = 'audio/x-ms-wma';
+ break;
+
+ // Video mime-types
+ case '3gp':
+ case '3gpp':
+ $type = 'video/3gpp';
+ break;
+
+ case '3g2':
+ case '3gp2':
+ $type = 'video/3gpp2';
+ break;
+
+ case 'asf':
+ $type = 'video/x-ms-asf';
+ break;
+
+ case 'flv':
+ $type = 'video/x-flv';
+ break;
+
+ case 'm1a':
+ case 'm1s':
+ case 'm1v':
+ case 'm15':
+ case 'm75':
+ case 'mp2':
+ case 'mpa':
+ case 'mpeg':
+ case 'mpg':
+ case 'mpm':
+ case 'mpv':
+ $type = 'video/mpeg';
+ break;
+
+ case 'm4v':
+ $type = 'video/x-m4v';
+ break;
+
+ case 'mov':
+ case 'qt':
+ $type = 'video/quicktime';
+ break;
+
+ case 'mp4':
+ case 'mpg4':
+ $type = 'video/mp4';
+ break;
+
+ case 'sdv':
+ $type = 'video/sd-video';
+ break;
+
+ case 'wm':
+ $type = 'video/x-ms-wm';
+ break;
+
+ case 'wmv':
+ $type = 'video/x-ms-wmv';
+ break;
+
+ case 'wvx':
+ $type = 'video/x-ms-wvx';
+ break;
+
+ // Flash mime-types
+ case 'spl':
+ $type = 'application/futuresplash';
+ break;
+
+ case 'swf':
+ $type = 'application/x-shockwave-flash';
+ break;
+ }
+ }
+
+ if ($find_handler)
+ {
+ if (in_array($type, $types_flash))
+ {
+ return 'flash';
+ }
+ elseif (in_array($type, $types_fmedia))
+ {
+ return 'fmedia';
+ }
+ elseif (in_array($type, $types_quicktime))
+ {
+ return 'quicktime';
+ }
+ elseif (in_array($type, $types_wmedia))
+ {
+ return 'wmedia';
+ }
+ elseif (in_array($type, $types_mp3))
+ {
+ return 'mp3';
+ }
+ else
+ {
+ return null;
+ }
+ }
+ else
+ {
+ return $type;
+ }
+ }
+}
+
diff --git a/vendor/simplepie/simplepie/library/SimplePie/Exception.php b/vendor/simplepie/simplepie/library/SimplePie/Exception.php
new file mode 100644
index 000000000..53c015e77
--- /dev/null
+++ b/vendor/simplepie/simplepie/library/SimplePie/Exception.php
@@ -0,0 +1,51 @@
+<?php
+/**
+ * SimplePie
+ *
+ * A PHP-Based RSS and Atom Feed Framework.
+ * Takes the hard work out of managing a complete RSS/Atom solution.
+ *
+ * Copyright (c) 2004-2016, Ryan Parman, Geoffrey Sneddon, Ryan McCue, and contributors
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification, are
+ * permitted provided that the following conditions are met:
+ *
+ * * Redistributions of source code must retain the above copyright notice, this list of
+ * conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above copyright notice, this list
+ * of conditions and the following disclaimer in the documentation and/or other materials
+ * provided with the distribution.
+ *
+ * * Neither the name of the SimplePie Team nor the names of its contributors may be used
+ * to endorse or promote products derived from this software without specific prior
+ * written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS
+ * AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ *
+ * @package SimplePie
+ * @copyright 2004-2016 Ryan Parman, Geoffrey Sneddon, Ryan McCue
+ * @author Ryan Parman
+ * @author Geoffrey Sneddon
+ * @author Ryan McCue
+ * @link http://simplepie.org/ SimplePie
+ * @license http://www.opensource.org/licenses/bsd-license.php BSD License
+ */
+
+/**
+ * General SimplePie exception class
+ *
+ * @package SimplePie
+ */
+class SimplePie_Exception extends Exception
+{
+} \ No newline at end of file
diff --git a/vendor/simplepie/simplepie/library/SimplePie/File.php b/vendor/simplepie/simplepie/library/SimplePie/File.php
new file mode 100644
index 000000000..e670e05a0
--- /dev/null
+++ b/vendor/simplepie/simplepie/library/SimplePie/File.php
@@ -0,0 +1,306 @@
+<?php
+/**
+ * SimplePie
+ *
+ * A PHP-Based RSS and Atom Feed Framework.
+ * Takes the hard work out of managing a complete RSS/Atom solution.
+ *
+ * Copyright (c) 2004-2016, Ryan Parman, Geoffrey Sneddon, Ryan McCue, and contributors
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification, are
+ * permitted provided that the following conditions are met:
+ *
+ * * Redistributions of source code must retain the above copyright notice, this list of
+ * conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above copyright notice, this list
+ * of conditions and the following disclaimer in the documentation and/or other materials
+ * provided with the distribution.
+ *
+ * * Neither the name of the SimplePie Team nor the names of its contributors may be used
+ * to endorse or promote products derived from this software without specific prior
+ * written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS
+ * AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ *
+ * @package SimplePie
+ * @copyright 2004-2016 Ryan Parman, Geoffrey Sneddon, Ryan McCue
+ * @author Ryan Parman
+ * @author Geoffrey Sneddon
+ * @author Ryan McCue
+ * @link http://simplepie.org/ SimplePie
+ * @license http://www.opensource.org/licenses/bsd-license.php BSD License
+ */
+
+/**
+ * Used for fetching remote files and reading local files
+ *
+ * Supports HTTP 1.0 via cURL or fsockopen, with spotty HTTP 1.1 support
+ *
+ * This class can be overloaded with {@see SimplePie::set_file_class()}
+ *
+ * @package SimplePie
+ * @subpackage HTTP
+ * @todo Move to properly supporting RFC2616 (HTTP/1.1)
+ */
+class SimplePie_File
+{
+ var $url;
+ var $useragent;
+ var $success = true;
+ var $headers = array();
+ var $body;
+ var $status_code;
+ var $redirects = 0;
+ var $error;
+ var $method = SIMPLEPIE_FILE_SOURCE_NONE;
+ var $permanent_url;
+
+ public function __construct($url, $timeout = 10, $redirects = 5, $headers = null, $useragent = null, $force_fsockopen = false, $curl_options = array())
+ {
+ if (class_exists('idna_convert'))
+ {
+ $idn = new idna_convert();
+ $parsed = SimplePie_Misc::parse_url($url);
+ $url = SimplePie_Misc::compress_parse_url($parsed['scheme'], $idn->encode($parsed['authority']), $parsed['path'], $parsed['query'], $parsed['fragment']);
+ }
+ $this->url = $url;
+ $this->permanent_url = $url;
+ $this->useragent = $useragent;
+ if (preg_match('/^http(s)?:\/\//i', $url))
+ {
+ if ($useragent === null)
+ {
+ $useragent = ini_get('user_agent');
+ $this->useragent = $useragent;
+ }
+ if (!is_array($headers))
+ {
+ $headers = array();
+ }
+ if (!$force_fsockopen && function_exists('curl_exec'))
+ {
+ $this->method = SIMPLEPIE_FILE_SOURCE_REMOTE | SIMPLEPIE_FILE_SOURCE_CURL;
+ $fp = curl_init();
+ $headers2 = array();
+ foreach ($headers as $key => $value)
+ {
+ $headers2[] = "$key: $value";
+ }
+ if (version_compare(SimplePie_Misc::get_curl_version(), '7.10.5', '>='))
+ {
+ curl_setopt($fp, CURLOPT_ENCODING, '');
+ }
+ curl_setopt($fp, CURLOPT_URL, $url);
+ curl_setopt($fp, CURLOPT_HEADER, 1);
+ curl_setopt($fp, CURLOPT_RETURNTRANSFER, 1);
+ curl_setopt($fp, CURLOPT_FAILONERROR, 1);
+ curl_setopt($fp, CURLOPT_TIMEOUT, $timeout);
+ curl_setopt($fp, CURLOPT_CONNECTTIMEOUT, $timeout);
+ curl_setopt($fp, CURLOPT_REFERER, $url);
+ curl_setopt($fp, CURLOPT_USERAGENT, $useragent);
+ curl_setopt($fp, CURLOPT_HTTPHEADER, $headers2);
+ if (!ini_get('open_basedir') && !ini_get('safe_mode') && version_compare(SimplePie_Misc::get_curl_version(), '7.15.2', '>='))
+ {
+ curl_setopt($fp, CURLOPT_FOLLOWLOCATION, 1);
+ curl_setopt($fp, CURLOPT_MAXREDIRS, $redirects);
+ }
+ foreach ($curl_options as $curl_param => $curl_value) {
+ curl_setopt($fp, $curl_param, $curl_value);
+ }
+
+ $this->headers = curl_exec($fp);
+ if (curl_errno($fp) === 23 || curl_errno($fp) === 61)
+ {
+ curl_setopt($fp, CURLOPT_ENCODING, 'none');
+ $this->headers = curl_exec($fp);
+ }
+ if (curl_errno($fp))
+ {
+ $this->error = 'cURL error ' . curl_errno($fp) . ': ' . curl_error($fp);
+ $this->success = false;
+ }
+ else
+ {
+ // Use the updated url provided by curl_getinfo after any redirects.
+ if ($info = curl_getinfo($fp)) {
+ $this->url = $info['url'];
+ }
+ curl_close($fp);
+ $this->headers = explode("\r\n\r\n", $this->headers, $info['redirect_count'] + 1);
+ $this->headers = array_pop($this->headers);
+ $parser = new SimplePie_HTTP_Parser($this->headers);
+ if ($parser->parse())
+ {
+ $this->headers = $parser->headers;
+ $this->body = trim($parser->body);
+ $this->status_code = $parser->status_code;
+ if ((in_array($this->status_code, array(300, 301, 302, 303, 307)) || $this->status_code > 307 && $this->status_code < 400) && isset($this->headers['location']) && $this->redirects < $redirects)
+ {
+ $this->redirects++;
+ $location = SimplePie_Misc::absolutize_url($this->headers['location'], $url);
+ $previousStatusCode = $this->status_code;
+ $this->__construct($location, $timeout, $redirects, $headers, $useragent, $force_fsockopen);
+ $this->permanent_url = ($previousStatusCode == 301) ? $location : $url;
+ return;
+ }
+ }
+ }
+ }
+ else
+ {
+ $this->method = SIMPLEPIE_FILE_SOURCE_REMOTE | SIMPLEPIE_FILE_SOURCE_FSOCKOPEN;
+ $url_parts = parse_url($url);
+ $socket_host = $url_parts['host'];
+ if (isset($url_parts['scheme']) && strtolower($url_parts['scheme']) === 'https')
+ {
+ $socket_host = "ssl://$url_parts[host]";
+ $url_parts['port'] = 443;
+ }
+ if (!isset($url_parts['port']))
+ {
+ $url_parts['port'] = 80;
+ }
+ $fp = @fsockopen($socket_host, $url_parts['port'], $errno, $errstr, $timeout);
+ if (!$fp)
+ {
+ $this->error = 'fsockopen error: ' . $errstr;
+ $this->success = false;
+ }
+ else
+ {
+ stream_set_timeout($fp, $timeout);
+ if (isset($url_parts['path']))
+ {
+ if (isset($url_parts['query']))
+ {
+ $get = "$url_parts[path]?$url_parts[query]";
+ }
+ else
+ {
+ $get = $url_parts['path'];
+ }
+ }
+ else
+ {
+ $get = '/';
+ }
+ $out = "GET $get HTTP/1.1\r\n";
+ $out .= "Host: $url_parts[host]\r\n";
+ $out .= "User-Agent: $useragent\r\n";
+ if (extension_loaded('zlib'))
+ {
+ $out .= "Accept-Encoding: x-gzip,gzip,deflate\r\n";
+ }
+
+ if (isset($url_parts['user']) && isset($url_parts['pass']))
+ {
+ $out .= "Authorization: Basic " . base64_encode("$url_parts[user]:$url_parts[pass]") . "\r\n";
+ }
+ foreach ($headers as $key => $value)
+ {
+ $out .= "$key: $value\r\n";
+ }
+ $out .= "Connection: Close\r\n\r\n";
+ fwrite($fp, $out);
+
+ $info = stream_get_meta_data($fp);
+
+ $this->headers = '';
+ while (!$info['eof'] && !$info['timed_out'])
+ {
+ $this->headers .= fread($fp, 1160);
+ $info = stream_get_meta_data($fp);
+ }
+ if (!$info['timed_out'])
+ {
+ $parser = new SimplePie_HTTP_Parser($this->headers);
+ if ($parser->parse())
+ {
+ $this->headers = $parser->headers;
+ $this->body = $parser->body;
+ $this->status_code = $parser->status_code;
+ if ((in_array($this->status_code, array(300, 301, 302, 303, 307)) || $this->status_code > 307 && $this->status_code < 400) && isset($this->headers['location']) && $this->redirects < $redirects)
+ {
+ $this->redirects++;
+ $location = SimplePie_Misc::absolutize_url($this->headers['location'], $url);
+ $previousStatusCode = $this->status_code;
+ $this->__construct($location, $timeout, $redirects, $headers, $useragent, $force_fsockopen);
+ $this->permanent_url = ($previousStatusCode == 301) ? $location : $url;
+ return;
+ }
+ if (isset($this->headers['content-encoding']))
+ {
+ // Hey, we act dumb elsewhere, so let's do that here too
+ switch (strtolower(trim($this->headers['content-encoding'], "\x09\x0A\x0D\x20")))
+ {
+ case 'gzip':
+ case 'x-gzip':
+ $decoder = new SimplePie_gzdecode($this->body);
+ if (!$decoder->parse())
+ {
+ $this->error = 'Unable to decode HTTP "gzip" stream';
+ $this->success = false;
+ }
+ else
+ {
+ $this->body = trim($decoder->data);
+ }
+ break;
+
+ case 'deflate':
+ if (($decompressed = gzinflate($this->body)) !== false)
+ {
+ $this->body = $decompressed;
+ }
+ else if (($decompressed = gzuncompress($this->body)) !== false)
+ {
+ $this->body = $decompressed;
+ }
+ else if (function_exists('gzdecode') && ($decompressed = gzdecode($this->body)) !== false)
+ {
+ $this->body = $decompressed;
+ }
+ else
+ {
+ $this->error = 'Unable to decode HTTP "deflate" stream';
+ $this->success = false;
+ }
+ break;
+
+ default:
+ $this->error = 'Unknown content coding';
+ $this->success = false;
+ }
+ }
+ }
+ }
+ else
+ {
+ $this->error = 'fsocket timed out';
+ $this->success = false;
+ }
+ fclose($fp);
+ }
+ }
+ }
+ else
+ {
+ $this->method = SIMPLEPIE_FILE_SOURCE_LOCAL | SIMPLEPIE_FILE_SOURCE_FILE_GET_CONTENTS;
+ if (empty($url) || !($this->body = trim(file_get_contents($url))))
+ {
+ $this->error = 'file_get_contents could not read the file';
+ $this->success = false;
+ }
+ }
+ }
+}
diff --git a/vendor/simplepie/simplepie/library/SimplePie/HTTP/Parser.php b/vendor/simplepie/simplepie/library/SimplePie/HTTP/Parser.php
new file mode 100644
index 000000000..63ae1e03d
--- /dev/null
+++ b/vendor/simplepie/simplepie/library/SimplePie/HTTP/Parser.php
@@ -0,0 +1,499 @@
+<?php
+/**
+ * SimplePie
+ *
+ * A PHP-Based RSS and Atom Feed Framework.
+ * Takes the hard work out of managing a complete RSS/Atom solution.
+ *
+ * Copyright (c) 2004-2016, Ryan Parman, Geoffrey Sneddon, Ryan McCue, and contributors
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification, are
+ * permitted provided that the following conditions are met:
+ *
+ * * Redistributions of source code must retain the above copyright notice, this list of
+ * conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above copyright notice, this list
+ * of conditions and the following disclaimer in the documentation and/or other materials
+ * provided with the distribution.
+ *
+ * * Neither the name of the SimplePie Team nor the names of its contributors may be used
+ * to endorse or promote products derived from this software without specific prior
+ * written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS
+ * AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ *
+ * @package SimplePie
+ * @copyright 2004-2016 Ryan Parman, Geoffrey Sneddon, Ryan McCue
+ * @author Ryan Parman
+ * @author Geoffrey Sneddon
+ * @author Ryan McCue
+ * @link http://simplepie.org/ SimplePie
+ * @license http://www.opensource.org/licenses/bsd-license.php BSD License
+ */
+
+
+/**
+ * HTTP Response Parser
+ *
+ * @package SimplePie
+ * @subpackage HTTP
+ */
+class SimplePie_HTTP_Parser
+{
+ /**
+ * HTTP Version
+ *
+ * @var float
+ */
+ public $http_version = 0.0;
+
+ /**
+ * Status code
+ *
+ * @var int
+ */
+ public $status_code = 0;
+
+ /**
+ * Reason phrase
+ *
+ * @var string
+ */
+ public $reason = '';
+
+ /**
+ * Key/value pairs of the headers
+ *
+ * @var array
+ */
+ public $headers = array();
+
+ /**
+ * Body of the response
+ *
+ * @var string
+ */
+ public $body = '';
+
+ /**
+ * Current state of the state machine
+ *
+ * @var string
+ */
+ protected $state = 'http_version';
+
+ /**
+ * Input data
+ *
+ * @var string
+ */
+ protected $data = '';
+
+ /**
+ * Input data length (to avoid calling strlen() everytime this is needed)
+ *
+ * @var int
+ */
+ protected $data_length = 0;
+
+ /**
+ * Current position of the pointer
+ *
+ * @var int
+ */
+ protected $position = 0;
+
+ /**
+ * Name of the hedaer currently being parsed
+ *
+ * @var string
+ */
+ protected $name = '';
+
+ /**
+ * Value of the hedaer currently being parsed
+ *
+ * @var string
+ */
+ protected $value = '';
+
+ /**
+ * Create an instance of the class with the input data
+ *
+ * @param string $data Input data
+ */
+ public function __construct($data)
+ {
+ $this->data = $data;
+ $this->data_length = strlen($this->data);
+ }
+
+ /**
+ * Parse the input data
+ *
+ * @return bool true on success, false on failure
+ */
+ public function parse()
+ {
+ while ($this->state && $this->state !== 'emit' && $this->has_data())
+ {
+ $state = $this->state;
+ $this->$state();
+ }
+ $this->data = '';
+ if ($this->state === 'emit' || $this->state === 'body')
+ {
+ return true;
+ }
+ else
+ {
+ $this->http_version = '';
+ $this->status_code = '';
+ $this->reason = '';
+ $this->headers = array();
+ $this->body = '';
+ return false;
+ }
+ }
+
+ /**
+ * Check whether there is data beyond the pointer
+ *
+ * @return bool true if there is further data, false if not
+ */
+ protected function has_data()
+ {
+ return (bool) ($this->position < $this->data_length);
+ }
+
+ /**
+ * See if the next character is LWS
+ *
+ * @return bool true if the next character is LWS, false if not
+ */
+ protected function is_linear_whitespace()
+ {
+ return (bool) ($this->data[$this->position] === "\x09"
+ || $this->data[$this->position] === "\x20"
+ || ($this->data[$this->position] === "\x0A"
+ && isset($this->data[$this->position + 1])
+ && ($this->data[$this->position + 1] === "\x09" || $this->data[$this->position + 1] === "\x20")));
+ }
+
+ /**
+ * Parse the HTTP version
+ */
+ protected function http_version()
+ {
+ if (strpos($this->data, "\x0A") !== false && strtoupper(substr($this->data, 0, 5)) === 'HTTP/')
+ {
+ $len = strspn($this->data, '0123456789.', 5);
+ $this->http_version = substr($this->data, 5, $len);
+ $this->position += 5 + $len;
+ if (substr_count($this->http_version, '.') <= 1)
+ {
+ $this->http_version = (float) $this->http_version;
+ $this->position += strspn($this->data, "\x09\x20", $this->position);
+ $this->state = 'status';
+ }
+ else
+ {
+ $this->state = false;
+ }
+ }
+ else
+ {
+ $this->state = false;
+ }
+ }
+
+ /**
+ * Parse the status code
+ */
+ protected function status()
+ {
+ if ($len = strspn($this->data, '0123456789', $this->position))
+ {
+ $this->status_code = (int) substr($this->data, $this->position, $len);
+ $this->position += $len;
+ $this->state = 'reason';
+ }
+ else
+ {
+ $this->state = false;
+ }
+ }
+
+ /**
+ * Parse the reason phrase
+ */
+ protected function reason()
+ {
+ $len = strcspn($this->data, "\x0A", $this->position);
+ $this->reason = trim(substr($this->data, $this->position, $len), "\x09\x0D\x20");
+ $this->position += $len + 1;
+ $this->state = 'new_line';
+ }
+
+ /**
+ * Deal with a new line, shifting data around as needed
+ */
+ protected function new_line()
+ {
+ $this->value = trim($this->value, "\x0D\x20");
+ if ($this->name !== '' && $this->value !== '')
+ {
+ $this->name = strtolower($this->name);
+ // We should only use the last Content-Type header. c.f. issue #1
+ if (isset($this->headers[$this->name]) && $this->name !== 'content-type')
+ {
+ $this->headers[$this->name] .= ', ' . $this->value;
+ }
+ else
+ {
+ $this->headers[$this->name] = $this->value;
+ }
+ }
+ $this->name = '';
+ $this->value = '';
+ if (substr($this->data[$this->position], 0, 2) === "\x0D\x0A")
+ {
+ $this->position += 2;
+ $this->state = 'body';
+ }
+ elseif ($this->data[$this->position] === "\x0A")
+ {
+ $this->position++;
+ $this->state = 'body';
+ }
+ else
+ {
+ $this->state = 'name';
+ }
+ }
+
+ /**
+ * Parse a header name
+ */
+ protected function name()
+ {
+ $len = strcspn($this->data, "\x0A:", $this->position);
+ if (isset($this->data[$this->position + $len]))
+ {
+ if ($this->data[$this->position + $len] === "\x0A")
+ {
+ $this->position += $len;
+ $this->state = 'new_line';
+ }
+ else
+ {
+ $this->name = substr($this->data, $this->position, $len);
+ $this->position += $len + 1;
+ $this->state = 'value';
+ }
+ }
+ else
+ {
+ $this->state = false;
+ }
+ }
+
+ /**
+ * Parse LWS, replacing consecutive LWS characters with a single space
+ */
+ protected function linear_whitespace()
+ {
+ do
+ {
+ if (substr($this->data, $this->position, 2) === "\x0D\x0A")
+ {
+ $this->position += 2;
+ }
+ elseif ($this->data[$this->position] === "\x0A")
+ {
+ $this->position++;
+ }
+ $this->position += strspn($this->data, "\x09\x20", $this->position);
+ } while ($this->has_data() && $this->is_linear_whitespace());
+ $this->value .= "\x20";
+ }
+
+ /**
+ * See what state to move to while within non-quoted header values
+ */
+ protected function value()
+ {
+ if ($this->is_linear_whitespace())
+ {
+ $this->linear_whitespace();
+ }
+ else
+ {
+ switch ($this->data[$this->position])
+ {
+ case '"':
+ // Workaround for ETags: we have to include the quotes as
+ // part of the tag.
+ if (strtolower($this->name) === 'etag')
+ {
+ $this->value .= '"';
+ $this->position++;
+ $this->state = 'value_char';
+ break;
+ }
+ $this->position++;
+ $this->state = 'quote';
+ break;
+
+ case "\x0A":
+ $this->position++;
+ $this->state = 'new_line';
+ break;
+
+ default:
+ $this->state = 'value_char';
+ break;
+ }
+ }
+ }
+
+ /**
+ * Parse a header value while outside quotes
+ */
+ protected function value_char()
+ {
+ $len = strcspn($this->data, "\x09\x20\x0A\"", $this->position);
+ $this->value .= substr($this->data, $this->position, $len);
+ $this->position += $len;
+ $this->state = 'value';
+ }
+
+ /**
+ * See what state to move to while within quoted header values
+ */
+ protected function quote()
+ {
+ if ($this->is_linear_whitespace())
+ {
+ $this->linear_whitespace();
+ }
+ else
+ {
+ switch ($this->data[$this->position])
+ {
+ case '"':
+ $this->position++;
+ $this->state = 'value';
+ break;
+
+ case "\x0A":
+ $this->position++;
+ $this->state = 'new_line';
+ break;
+
+ case '\\':
+ $this->position++;
+ $this->state = 'quote_escaped';
+ break;
+
+ default:
+ $this->state = 'quote_char';
+ break;
+ }
+ }
+ }
+
+ /**
+ * Parse a header value while within quotes
+ */
+ protected function quote_char()
+ {
+ $len = strcspn($this->data, "\x09\x20\x0A\"\\", $this->position);
+ $this->value .= substr($this->data, $this->position, $len);
+ $this->position += $len;
+ $this->state = 'value';
+ }
+
+ /**
+ * Parse an escaped character within quotes
+ */
+ protected function quote_escaped()
+ {
+ $this->value .= $this->data[$this->position];
+ $this->position++;
+ $this->state = 'quote';
+ }
+
+ /**
+ * Parse the body
+ */
+ protected function body()
+ {
+ $this->body = substr($this->data, $this->position);
+ if (!empty($this->headers['transfer-encoding']))
+ {
+ unset($this->headers['transfer-encoding']);
+ $this->state = 'chunked';
+ }
+ else
+ {
+ $this->state = 'emit';
+ }
+ }
+
+ /**
+ * Parsed a "Transfer-Encoding: chunked" body
+ */
+ protected function chunked()
+ {
+ if (!preg_match('/^([0-9a-f]+)[^\r\n]*\r\n/i', trim($this->body)))
+ {
+ $this->state = 'emit';
+ return;
+ }
+
+ $decoded = '';
+ $encoded = $this->body;
+
+ while (true)
+ {
+ $is_chunked = (bool) preg_match( '/^([0-9a-f]+)[^\r\n]*\r\n/i', $encoded, $matches );
+ if (!$is_chunked)
+ {
+ // Looks like it's not chunked after all
+ $this->state = 'emit';
+ return;
+ }
+
+ $length = hexdec(trim($matches[1]));
+ if ($length === 0)
+ {
+ // Ignore trailer headers
+ $this->state = 'emit';
+ $this->body = $decoded;
+ return;
+ }
+
+ $chunk_length = strlen($matches[0]);
+ $decoded .= $part = substr($encoded, $chunk_length, $length);
+ $encoded = substr($encoded, $chunk_length + $length + 2);
+
+ if (trim($encoded) === '0' || empty($encoded))
+ {
+ $this->state = 'emit';
+ $this->body = $decoded;
+ return;
+ }
+ }
+ }
+}
diff --git a/vendor/simplepie/simplepie/library/SimplePie/IRI.php b/vendor/simplepie/simplepie/library/SimplePie/IRI.php
new file mode 100644
index 000000000..2b3fbaf07
--- /dev/null
+++ b/vendor/simplepie/simplepie/library/SimplePie/IRI.php
@@ -0,0 +1,1257 @@
+<?php
+/**
+ * SimplePie
+ *
+ * A PHP-Based RSS and Atom Feed Framework.
+ * Takes the hard work out of managing a complete RSS/Atom solution.
+ *
+ * Copyright (c) 2004-2016, Ryan Parman, Geoffrey Sneddon, Ryan McCue, and contributors
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification, are
+ * permitted provided that the following conditions are met:
+ *
+ * * Redistributions of source code must retain the above copyright notice, this list of
+ * conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above copyright notice, this list
+ * of conditions and the following disclaimer in the documentation and/or other materials
+ * provided with the distribution.
+ *
+ * * Neither the name of the SimplePie Team nor the names of its contributors may be used
+ * to endorse or promote products derived from this software without specific prior
+ * written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS
+ * AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ *
+ * @package SimplePie
+ * @copyright 2004-2016 Ryan Parman, Geoffrey Sneddon, Ryan McCue
+ * @author Ryan Parman
+ * @author Geoffrey Sneddon
+ * @author Ryan McCue
+ * @link http://simplepie.org/ SimplePie
+ * @license http://www.opensource.org/licenses/bsd-license.php BSD License
+ */
+
+/**
+ * IRI parser/serialiser/normaliser
+ *
+ * @package SimplePie
+ * @subpackage HTTP
+ * @author Geoffrey Sneddon
+ * @author Steve Minutillo
+ * @author Ryan McCue
+ * @copyright 2007-2012 Geoffrey Sneddon, Steve Minutillo, Ryan McCue
+ * @license http://www.opensource.org/licenses/bsd-license.php
+ */
+class SimplePie_IRI
+{
+ /**
+ * Scheme
+ *
+ * @var string
+ */
+ protected $scheme = null;
+
+ /**
+ * User Information
+ *
+ * @var string
+ */
+ protected $iuserinfo = null;
+
+ /**
+ * ihost
+ *
+ * @var string
+ */
+ protected $ihost = null;
+
+ /**
+ * Port
+ *
+ * @var string
+ */
+ protected $port = null;
+
+ /**
+ * ipath
+ *
+ * @var string
+ */
+ protected $ipath = '';
+
+ /**
+ * iquery
+ *
+ * @var string
+ */
+ protected $iquery = null;
+
+ /**
+ * ifragment
+ *
+ * @var string
+ */
+ protected $ifragment = null;
+
+ /**
+ * Normalization database
+ *
+ * Each key is the scheme, each value is an array with each key as the IRI
+ * part and value as the default value for that part.
+ */
+ protected $normalization = array(
+ 'acap' => array(
+ 'port' => 674
+ ),
+ 'dict' => array(
+ 'port' => 2628
+ ),
+ 'file' => array(
+ 'ihost' => 'localhost'
+ ),
+ 'http' => array(
+ 'port' => 80,
+ 'ipath' => '/'
+ ),
+ 'https' => array(
+ 'port' => 443,
+ 'ipath' => '/'
+ ),
+ );
+
+ /**
+ * Return the entire IRI when you try and read the object as a string
+ *
+ * @return string
+ */
+ public function __toString()
+ {
+ return $this->get_iri();
+ }
+
+ /**
+ * Overload __set() to provide access via properties
+ *
+ * @param string $name Property name
+ * @param mixed $value Property value
+ */
+ public function __set($name, $value)
+ {
+ if (method_exists($this, 'set_' . $name))
+ {
+ call_user_func(array($this, 'set_' . $name), $value);
+ }
+ elseif (
+ $name === 'iauthority'
+ || $name === 'iuserinfo'
+ || $name === 'ihost'
+ || $name === 'ipath'
+ || $name === 'iquery'
+ || $name === 'ifragment'
+ )
+ {
+ call_user_func(array($this, 'set_' . substr($name, 1)), $value);
+ }
+ }
+
+ /**
+ * Overload __get() to provide access via properties
+ *
+ * @param string $name Property name
+ * @return mixed
+ */
+ public function __get($name)
+ {
+ // isset() returns false for null, we don't want to do that
+ // Also why we use array_key_exists below instead of isset()
+ $props = get_object_vars($this);
+
+ if (
+ $name === 'iri' ||
+ $name === 'uri' ||
+ $name === 'iauthority' ||
+ $name === 'authority'
+ )
+ {
+ $return = $this->{"get_$name"}();
+ }
+ elseif (array_key_exists($name, $props))
+ {
+ $return = $this->$name;
+ }
+ // host -> ihost
+ elseif (($prop = 'i' . $name) && array_key_exists($prop, $props))
+ {
+ $name = $prop;
+ $return = $this->$prop;
+ }
+ // ischeme -> scheme
+ elseif (($prop = substr($name, 1)) && array_key_exists($prop, $props))
+ {
+ $name = $prop;
+ $return = $this->$prop;
+ }
+ else
+ {
+ trigger_error('Undefined property: ' . get_class($this) . '::' . $name, E_USER_NOTICE);
+ $return = null;
+ }
+
+ if ($return === null && isset($this->normalization[$this->scheme][$name]))
+ {
+ return $this->normalization[$this->scheme][$name];
+ }
+ else
+ {
+ return $return;
+ }
+ }
+
+ /**
+ * Overload __isset() to provide access via properties
+ *
+ * @param string $name Property name
+ * @return bool
+ */
+ public function __isset($name)
+ {
+ if (method_exists($this, 'get_' . $name) || isset($this->$name))
+ {
+ return true;
+ }
+ else
+ {
+ return false;
+ }
+ }
+
+ /**
+ * Overload __unset() to provide access via properties
+ *
+ * @param string $name Property name
+ */
+ public function __unset($name)
+ {
+ if (method_exists($this, 'set_' . $name))
+ {
+ call_user_func(array($this, 'set_' . $name), '');
+ }
+ }
+
+ /**
+ * Create a new IRI object, from a specified string
+ *
+ * @param string $iri
+ */
+ public function __construct($iri = null)
+ {
+ $this->set_iri($iri);
+ }
+
+ /**
+ * Clean up
+ */
+ public function __destruct() {
+ $this->set_iri(null, true);
+ $this->set_path(null, true);
+ $this->set_authority(null, true);
+ }
+
+ /**
+ * Create a new IRI object by resolving a relative IRI
+ *
+ * Returns false if $base is not absolute, otherwise an IRI.
+ *
+ * @param IRI|string $base (Absolute) Base IRI
+ * @param IRI|string $relative Relative IRI
+ * @return IRI|false
+ */
+ public static function absolutize($base, $relative)
+ {
+ if (!($relative instanceof SimplePie_IRI))
+ {
+ $relative = new SimplePie_IRI($relative);
+ }
+ if (!$relative->is_valid())
+ {
+ return false;
+ }
+ elseif ($relative->scheme !== null)
+ {
+ return clone $relative;
+ }
+ else
+ {
+ if (!($base instanceof SimplePie_IRI))
+ {
+ $base = new SimplePie_IRI($base);
+ }
+ if ($base->scheme !== null && $base->is_valid())
+ {
+ if ($relative->get_iri() !== '')
+ {
+ if ($relative->iuserinfo !== null || $relative->ihost !== null || $relative->port !== null)
+ {
+ $target = clone $relative;
+ $target->scheme = $base->scheme;
+ }
+ else
+ {
+ $target = new SimplePie_IRI;
+ $target->scheme = $base->scheme;
+ $target->iuserinfo = $base->iuserinfo;
+ $target->ihost = $base->ihost;
+ $target->port = $base->port;
+ if ($relative->ipath !== '')
+ {
+ if ($relative->ipath[0] === '/')
+ {
+ $target->ipath = $relative->ipath;
+ }
+ elseif (($base->iuserinfo !== null || $base->ihost !== null || $base->port !== null) && $base->ipath === '')
+ {
+ $target->ipath = '/' . $relative->ipath;
+ }
+ elseif (($last_segment = strrpos($base->ipath, '/')) !== false)
+ {
+ $target->ipath = substr($base->ipath, 0, $last_segment + 1) . $relative->ipath;
+ }
+ else
+ {
+ $target->ipath = $relative->ipath;
+ }
+ $target->ipath = $target->remove_dot_segments($target->ipath);
+ $target->iquery = $relative->iquery;
+ }
+ else
+ {
+ $target->ipath = $base->ipath;
+ if ($relative->iquery !== null)
+ {
+ $target->iquery = $relative->iquery;
+ }
+ elseif ($base->iquery !== null)
+ {
+ $target->iquery = $base->iquery;
+ }
+ }
+ $target->ifragment = $relative->ifragment;
+ }
+ }
+ else
+ {
+ $target = clone $base;
+ $target->ifragment = null;
+ }
+ $target->scheme_normalization();
+ return $target;
+ }
+ else
+ {
+ return false;
+ }
+ }
+ }
+
+ /**
+ * Parse an IRI into scheme/authority/path/query/fragment segments
+ *
+ * @param string $iri
+ * @return array
+ */
+ protected function parse_iri($iri)
+ {
+ $iri = trim($iri, "\x20\x09\x0A\x0C\x0D");
+ if (preg_match('/^((?P<scheme>[^:\/?#]+):)?(\/\/(?P<authority>[^\/?#]*))?(?P<path>[^?#]*)(\?(?P<query>[^#]*))?(#(?P<fragment>.*))?$/', $iri, $match))
+ {
+ if ($match[1] === '')
+ {
+ $match['scheme'] = null;
+ }
+ if (!isset($match[3]) || $match[3] === '')
+ {
+ $match['authority'] = null;
+ }
+ if (!isset($match[5]))
+ {
+ $match['path'] = '';
+ }
+ if (!isset($match[6]) || $match[6] === '')
+ {
+ $match['query'] = null;
+ }
+ if (!isset($match[8]) || $match[8] === '')
+ {
+ $match['fragment'] = null;
+ }
+ return $match;
+ }
+ else
+ {
+ // This can occur when a paragraph is accidentally parsed as a URI
+ return false;
+ }
+ }
+
+ /**
+ * Remove dot segments from a path
+ *
+ * @param string $input
+ * @return string
+ */
+ protected function remove_dot_segments($input)
+ {
+ $output = '';
+ while (strpos($input, './') !== false || strpos($input, '/.') !== false || $input === '.' || $input === '..')
+ {
+ // A: If the input buffer begins with a prefix of "../" or "./", then remove that prefix from the input buffer; otherwise,
+ if (strpos($input, '../') === 0)
+ {
+ $input = substr($input, 3);
+ }
+ elseif (strpos($input, './') === 0)
+ {
+ $input = substr($input, 2);
+ }
+ // B: if the input buffer begins with a prefix of "/./" or "/.", where "." is a complete path segment, then replace that prefix with "/" in the input buffer; otherwise,
+ elseif (strpos($input, '/./') === 0)
+ {
+ $input = substr($input, 2);
+ }
+ elseif ($input === '/.')
+ {
+ $input = '/';
+ }
+ // C: if the input buffer begins with a prefix of "/../" or "/..", where ".." is a complete path segment, then replace that prefix with "/" in the input buffer and remove the last segment and its preceding "/" (if any) from the output buffer; otherwise,
+ elseif (strpos($input, '/../') === 0)
+ {
+ $input = substr($input, 3);
+ $output = substr_replace($output, '', strrpos($output, '/'));
+ }
+ elseif ($input === '/..')
+ {
+ $input = '/';
+ $output = substr_replace($output, '', strrpos($output, '/'));
+ }
+ // D: if the input buffer consists only of "." or "..", then remove that from the input buffer; otherwise,
+ elseif ($input === '.' || $input === '..')
+ {
+ $input = '';
+ }
+ // E: move the first path segment in the input buffer to the end of the output buffer, including the initial "/" character (if any) and any subsequent characters up to, but not including, the next "/" character or the end of the input buffer
+ elseif (($pos = strpos($input, '/', 1)) !== false)
+ {
+ $output .= substr($input, 0, $pos);
+ $input = substr_replace($input, '', 0, $pos);
+ }
+ else
+ {
+ $output .= $input;
+ $input = '';
+ }
+ }
+ return $output . $input;
+ }
+
+ /**
+ * Replace invalid character with percent encoding
+ *
+ * @param string $string Input string
+ * @param string $extra_chars Valid characters not in iunreserved or
+ * iprivate (this is ASCII-only)
+ * @param bool $iprivate Allow iprivate
+ * @return string
+ */
+ protected function replace_invalid_with_pct_encoding($string, $extra_chars, $iprivate = false)
+ {
+ // Normalize as many pct-encoded sections as possible
+ $string = preg_replace_callback('/(?:%[A-Fa-f0-9]{2})+/', array($this, 'remove_iunreserved_percent_encoded'), $string);
+
+ // Replace invalid percent characters
+ $string = preg_replace('/%(?![A-Fa-f0-9]{2})/', '%25', $string);
+
+ // Add unreserved and % to $extra_chars (the latter is safe because all
+ // pct-encoded sections are now valid).
+ $extra_chars .= 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~%';
+
+ // Now replace any bytes that aren't allowed with their pct-encoded versions
+ $position = 0;
+ $strlen = strlen($string);
+ while (($position += strspn($string, $extra_chars, $position)) < $strlen)
+ {
+ $value = ord($string[$position]);
+
+ // Start position
+ $start = $position;
+
+ // By default we are valid
+ $valid = true;
+
+ // No one byte sequences are valid due to the while.
+ // Two byte sequence:
+ if (($value & 0xE0) === 0xC0)
+ {
+ $character = ($value & 0x1F) << 6;
+ $length = 2;
+ $remaining = 1;
+ }
+ // Three byte sequence:
+ elseif (($value & 0xF0) === 0xE0)
+ {
+ $character = ($value & 0x0F) << 12;
+ $length = 3;
+ $remaining = 2;
+ }
+ // Four byte sequence:
+ elseif (($value & 0xF8) === 0xF0)
+ {
+ $character = ($value & 0x07) << 18;
+ $length = 4;
+ $remaining = 3;
+ }
+ // Invalid byte:
+ else
+ {
+ $valid = false;
+ $length = 1;
+ $remaining = 0;
+ }
+
+ if ($remaining)
+ {
+ if ($position + $length <= $strlen)
+ {
+ for ($position++; $remaining; $position++)
+ {
+ $value = ord($string[$position]);
+
+ // Check that the byte is valid, then add it to the character:
+ if (($value & 0xC0) === 0x80)
+ {
+ $character |= ($value & 0x3F) << (--$remaining * 6);
+ }
+ // If it is invalid, count the sequence as invalid and reprocess the current byte:
+ else
+ {
+ $valid = false;
+ $position--;
+ break;
+ }
+ }
+ }
+ else
+ {
+ $position = $strlen - 1;
+ $valid = false;
+ }
+ }
+
+ // Percent encode anything invalid or not in ucschar
+ if (
+ // Invalid sequences
+ !$valid
+ // Non-shortest form sequences are invalid
+ || $length > 1 && $character <= 0x7F
+ || $length > 2 && $character <= 0x7FF
+ || $length > 3 && $character <= 0xFFFF
+ // Outside of range of ucschar codepoints
+ // Noncharacters
+ || ($character & 0xFFFE) === 0xFFFE
+ || $character >= 0xFDD0 && $character <= 0xFDEF
+ || (
+ // Everything else not in ucschar
+ $character > 0xD7FF && $character < 0xF900
+ || $character < 0xA0
+ || $character > 0xEFFFD
+ )
+ && (
+ // Everything not in iprivate, if it applies
+ !$iprivate
+ || $character < 0xE000
+ || $character > 0x10FFFD
+ )
+ )
+ {
+ // If we were a character, pretend we weren't, but rather an error.
+ if ($valid)
+ $position--;
+
+ for ($j = $start; $j <= $position; $j++)
+ {
+ $string = substr_replace($string, sprintf('%%%02X', ord($string[$j])), $j, 1);
+ $j += 2;
+ $position += 2;
+ $strlen += 2;
+ }
+ }
+ }
+
+ return $string;
+ }
+
+ /**
+ * Callback function for preg_replace_callback.
+ *
+ * Removes sequences of percent encoded bytes that represent UTF-8
+ * encoded characters in iunreserved
+ *
+ * @param array $match PCRE match
+ * @return string Replacement
+ */
+ protected function remove_iunreserved_percent_encoded($match)
+ {
+ // As we just have valid percent encoded sequences we can just explode
+ // and ignore the first member of the returned array (an empty string).
+ $bytes = explode('%', $match[0]);
+
+ // Initialize the new string (this is what will be returned) and that
+ // there are no bytes remaining in the current sequence (unsurprising
+ // at the first byte!).
+ $string = '';
+ $remaining = 0;
+
+ // Loop over each and every byte, and set $value to its value
+ for ($i = 1, $len = count($bytes); $i < $len; $i++)
+ {
+ $value = hexdec($bytes[$i]);
+
+ // If we're the first byte of sequence:
+ if (!$remaining)
+ {
+ // Start position
+ $start = $i;
+
+ // By default we are valid
+ $valid = true;
+
+ // One byte sequence:
+ if ($value <= 0x7F)
+ {
+ $character = $value;
+ $length = 1;
+ }
+ // Two byte sequence:
+ elseif (($value & 0xE0) === 0xC0)
+ {
+ $character = ($value & 0x1F) << 6;
+ $length = 2;
+ $remaining = 1;
+ }
+ // Three byte sequence:
+ elseif (($value & 0xF0) === 0xE0)
+ {
+ $character = ($value & 0x0F) << 12;
+ $length = 3;
+ $remaining = 2;
+ }
+ // Four byte sequence:
+ elseif (($value & 0xF8) === 0xF0)
+ {
+ $character = ($value & 0x07) << 18;
+ $length = 4;
+ $remaining = 3;
+ }
+ // Invalid byte:
+ else
+ {
+ $valid = false;
+ $remaining = 0;
+ }
+ }
+ // Continuation byte:
+ else
+ {
+ // Check that the byte is valid, then add it to the character:
+ if (($value & 0xC0) === 0x80)
+ {
+ $remaining--;
+ $character |= ($value & 0x3F) << ($remaining * 6);
+ }
+ // If it is invalid, count the sequence as invalid and reprocess the current byte as the start of a sequence:
+ else
+ {
+ $valid = false;
+ $remaining = 0;
+ $i--;
+ }
+ }
+
+ // If we've reached the end of the current byte sequence, append it to Unicode::$data
+ if (!$remaining)
+ {
+ // Percent encode anything invalid or not in iunreserved
+ if (
+ // Invalid sequences
+ !$valid
+ // Non-shortest form sequences are invalid
+ || $length > 1 && $character <= 0x7F
+ || $length > 2 && $character <= 0x7FF
+ || $length > 3 && $character <= 0xFFFF
+ // Outside of range of iunreserved codepoints
+ || $character < 0x2D
+ || $character > 0xEFFFD
+ // Noncharacters
+ || ($character & 0xFFFE) === 0xFFFE
+ || $character >= 0xFDD0 && $character <= 0xFDEF
+ // Everything else not in iunreserved (this is all BMP)
+ || $character === 0x2F
+ || $character > 0x39 && $character < 0x41
+ || $character > 0x5A && $character < 0x61
+ || $character > 0x7A && $character < 0x7E
+ || $character > 0x7E && $character < 0xA0
+ || $character > 0xD7FF && $character < 0xF900
+ )
+ {
+ for ($j = $start; $j <= $i; $j++)
+ {
+ $string .= '%' . strtoupper($bytes[$j]);
+ }
+ }
+ else
+ {
+ for ($j = $start; $j <= $i; $j++)
+ {
+ $string .= chr(hexdec($bytes[$j]));
+ }
+ }
+ }
+ }
+
+ // If we have any bytes left over they are invalid (i.e., we are
+ // mid-way through a multi-byte sequence)
+ if ($remaining)
+ {
+ for ($j = $start; $j < $len; $j++)
+ {
+ $string .= '%' . strtoupper($bytes[$j]);
+ }
+ }
+
+ return $string;
+ }
+
+ protected function scheme_normalization()
+ {
+ if (isset($this->normalization[$this->scheme]['iuserinfo']) && $this->iuserinfo === $this->normalization[$this->scheme]['iuserinfo'])
+ {
+ $this->iuserinfo = null;
+ }
+ if (isset($this->normalization[$this->scheme]['ihost']) && $this->ihost === $this->normalization[$this->scheme]['ihost'])
+ {
+ $this->ihost = null;
+ }
+ if (isset($this->normalization[$this->scheme]['port']) && $this->port === $this->normalization[$this->scheme]['port'])
+ {
+ $this->port = null;
+ }
+ if (isset($this->normalization[$this->scheme]['ipath']) && $this->ipath === $this->normalization[$this->scheme]['ipath'])
+ {
+ $this->ipath = '';
+ }
+ if (isset($this->normalization[$this->scheme]['iquery']) && $this->iquery === $this->normalization[$this->scheme]['iquery'])
+ {
+ $this->iquery = null;
+ }
+ if (isset($this->normalization[$this->scheme]['ifragment']) && $this->ifragment === $this->normalization[$this->scheme]['ifragment'])
+ {
+ $this->ifragment = null;
+ }
+ }
+
+ /**
+ * Check if the object represents a valid IRI. This needs to be done on each
+ * call as some things change depending on another part of the IRI.
+ *
+ * @return bool
+ */
+ public function is_valid()
+ {
+ if ($this->ipath === '') return true;
+
+ $isauthority = $this->iuserinfo !== null || $this->ihost !== null ||
+ $this->port !== null;
+ if ($isauthority && $this->ipath[0] === '/') return true;
+
+ if (!$isauthority && (substr($this->ipath, 0, 2) === '//')) return false;
+
+ // Relative urls cannot have a colon in the first path segment (and the
+ // slashes themselves are not included so skip the first character).
+ if (!$this->scheme && !$isauthority &&
+ strpos($this->ipath, ':') !== false &&
+ strpos($this->ipath, '/', 1) !== false &&
+ strpos($this->ipath, ':') < strpos($this->ipath, '/', 1)) return false;
+
+ return true;
+ }
+
+ /**
+ * Set the entire IRI. Returns true on success, false on failure (if there
+ * are any invalid characters).
+ *
+ * @param string $iri
+ * @return bool
+ */
+ public function set_iri($iri, $clear_cache = false)
+ {
+ static $cache;
+ if ($clear_cache)
+ {
+ $cache = null;
+ return;
+ }
+ if (!$cache)
+ {
+ $cache = array();
+ }
+
+ if ($iri === null)
+ {
+ return true;
+ }
+ elseif (isset($cache[$iri]))
+ {
+ list($this->scheme,
+ $this->iuserinfo,
+ $this->ihost,
+ $this->port,
+ $this->ipath,
+ $this->iquery,
+ $this->ifragment,
+ $return) = $cache[$iri];
+ return $return;
+ }
+ else
+ {
+ $parsed = $this->parse_iri((string) $iri);
+ if (!$parsed)
+ {
+ return false;
+ }
+
+ $return = $this->set_scheme($parsed['scheme'])
+ && $this->set_authority($parsed['authority'])
+ && $this->set_path($parsed['path'])
+ && $this->set_query($parsed['query'])
+ && $this->set_fragment($parsed['fragment']);
+
+ $cache[$iri] = array($this->scheme,
+ $this->iuserinfo,
+ $this->ihost,
+ $this->port,
+ $this->ipath,
+ $this->iquery,
+ $this->ifragment,
+ $return);
+ return $return;
+ }
+ }
+
+ /**
+ * Set the scheme. Returns true on success, false on failure (if there are
+ * any invalid characters).
+ *
+ * @param string $scheme
+ * @return bool
+ */
+ public function set_scheme($scheme)
+ {
+ if ($scheme === null)
+ {
+ $this->scheme = null;
+ }
+ elseif (!preg_match('/^[A-Za-z][0-9A-Za-z+\-.]*$/', $scheme))
+ {
+ $this->scheme = null;
+ return false;
+ }
+ else
+ {
+ $this->scheme = strtolower($scheme);
+ }
+ return true;
+ }
+
+ /**
+ * Set the authority. Returns true on success, false on failure (if there are
+ * any invalid characters).
+ *
+ * @param string $authority
+ * @return bool
+ */
+ public function set_authority($authority, $clear_cache = false)
+ {
+ static $cache;
+ if ($clear_cache)
+ {
+ $cache = null;
+ return;
+ }
+ if (!$cache)
+ $cache = array();
+
+ if ($authority === null)
+ {
+ $this->iuserinfo = null;
+ $this->ihost = null;
+ $this->port = null;
+ return true;
+ }
+ elseif (isset($cache[$authority]))
+ {
+ list($this->iuserinfo,
+ $this->ihost,
+ $this->port,
+ $return) = $cache[$authority];
+
+ return $return;
+ }
+ else
+ {
+ $remaining = $authority;
+ if (($iuserinfo_end = strrpos($remaining, '@')) !== false)
+ {
+ $iuserinfo = substr($remaining, 0, $iuserinfo_end);
+ $remaining = substr($remaining, $iuserinfo_end + 1);
+ }
+ else
+ {
+ $iuserinfo = null;
+ }
+ if (($port_start = strpos($remaining, ':', strpos($remaining, ']'))) !== false)
+ {
+ if (($port = substr($remaining, $port_start + 1)) === false)
+ {
+ $port = null;
+ }
+ $remaining = substr($remaining, 0, $port_start);
+ }
+ else
+ {
+ $port = null;
+ }
+
+ $return = $this->set_userinfo($iuserinfo) &&
+ $this->set_host($remaining) &&
+ $this->set_port($port);
+
+ $cache[$authority] = array($this->iuserinfo,
+ $this->ihost,
+ $this->port,
+ $return);
+
+ return $return;
+ }
+ }
+
+ /**
+ * Set the iuserinfo.
+ *
+ * @param string $iuserinfo
+ * @return bool
+ */
+ public function set_userinfo($iuserinfo)
+ {
+ if ($iuserinfo === null)
+ {
+ $this->iuserinfo = null;
+ }
+ else
+ {
+ $this->iuserinfo = $this->replace_invalid_with_pct_encoding($iuserinfo, '!$&\'()*+,;=:');
+ $this->scheme_normalization();
+ }
+
+ return true;
+ }
+
+ /**
+ * Set the ihost. Returns true on success, false on failure (if there are
+ * any invalid characters).
+ *
+ * @param string $ihost
+ * @return bool
+ */
+ public function set_host($ihost)
+ {
+ if ($ihost === null)
+ {
+ $this->ihost = null;
+ return true;
+ }
+ elseif (substr($ihost, 0, 1) === '[' && substr($ihost, -1) === ']')
+ {
+ if (SimplePie_Net_IPv6::check_ipv6(substr($ihost, 1, -1)))
+ {
+ $this->ihost = '[' . SimplePie_Net_IPv6::compress(substr($ihost, 1, -1)) . ']';
+ }
+ else
+ {
+ $this->ihost = null;
+ return false;
+ }
+ }
+ else
+ {
+ $ihost = $this->replace_invalid_with_pct_encoding($ihost, '!$&\'()*+,;=');
+
+ // Lowercase, but ignore pct-encoded sections (as they should
+ // remain uppercase). This must be done after the previous step
+ // as that can add unescaped characters.
+ $position = 0;
+ $strlen = strlen($ihost);
+ while (($position += strcspn($ihost, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ%', $position)) < $strlen)
+ {
+ if ($ihost[$position] === '%')
+ {
+ $position += 3;
+ }
+ else
+ {
+ $ihost[$position] = strtolower($ihost[$position]);
+ $position++;
+ }
+ }
+
+ $this->ihost = $ihost;
+ }
+
+ $this->scheme_normalization();
+
+ return true;
+ }
+
+ /**
+ * Set the port. Returns true on success, false on failure (if there are
+ * any invalid characters).
+ *
+ * @param string $port
+ * @return bool
+ */
+ public function set_port($port)
+ {
+ if ($port === null)
+ {
+ $this->port = null;
+ return true;
+ }
+ elseif (strspn($port, '0123456789') === strlen($port))
+ {
+ $this->port = (int) $port;
+ $this->scheme_normalization();
+ return true;
+ }
+ else
+ {
+ $this->port = null;
+ return false;
+ }
+ }
+
+ /**
+ * Set the ipath.
+ *
+ * @param string $ipath
+ * @return bool
+ */
+ public function set_path($ipath, $clear_cache = false)
+ {
+ static $cache;
+ if ($clear_cache)
+ {
+ $cache = null;
+ return;
+ }
+ if (!$cache)
+ {
+ $cache = array();
+ }
+
+ $ipath = (string) $ipath;
+
+ if (isset($cache[$ipath]))
+ {
+ $this->ipath = $cache[$ipath][(int) ($this->scheme !== null)];
+ }
+ else
+ {
+ $valid = $this->replace_invalid_with_pct_encoding($ipath, '!$&\'()*+,;=@:/');
+ $removed = $this->remove_dot_segments($valid);
+
+ $cache[$ipath] = array($valid, $removed);
+ $this->ipath = ($this->scheme !== null) ? $removed : $valid;
+ }
+
+ $this->scheme_normalization();
+ return true;
+ }
+
+ /**
+ * Set the iquery.
+ *
+ * @param string $iquery
+ * @return bool
+ */
+ public function set_query($iquery)
+ {
+ if ($iquery === null)
+ {
+ $this->iquery = null;
+ }
+ else
+ {
+ $this->iquery = $this->replace_invalid_with_pct_encoding($iquery, '!$&\'()*+,;=:@/?', true);
+ $this->scheme_normalization();
+ }
+ return true;
+ }
+
+ /**
+ * Set the ifragment.
+ *
+ * @param string $ifragment
+ * @return bool
+ */
+ public function set_fragment($ifragment)
+ {
+ if ($ifragment === null)
+ {
+ $this->ifragment = null;
+ }
+ else
+ {
+ $this->ifragment = $this->replace_invalid_with_pct_encoding($ifragment, '!$&\'()*+,;=:@/?');
+ $this->scheme_normalization();
+ }
+ return true;
+ }
+
+ /**
+ * Convert an IRI to a URI (or parts thereof)
+ *
+ * @return string
+ */
+ public function to_uri($string)
+ {
+ static $non_ascii;
+ if (!$non_ascii)
+ {
+ $non_ascii = implode('', range("\x80", "\xFF"));
+ }
+
+ $position = 0;
+ $strlen = strlen($string);
+ while (($position += strcspn($string, $non_ascii, $position)) < $strlen)
+ {
+ $string = substr_replace($string, sprintf('%%%02X', ord($string[$position])), $position, 1);
+ $position += 3;
+ $strlen += 2;
+ }
+
+ return $string;
+ }
+
+ /**
+ * Get the complete IRI
+ *
+ * @return string
+ */
+ public function get_iri()
+ {
+ if (!$this->is_valid())
+ {
+ return false;
+ }
+
+ $iri = '';
+ if ($this->scheme !== null)
+ {
+ $iri .= $this->scheme . ':';
+ }
+ if (($iauthority = $this->get_iauthority()) !== null)
+ {
+ $iri .= '//' . $iauthority;
+ }
+ if ($this->ipath !== '')
+ {
+ $iri .= $this->ipath;
+ }
+ elseif (!empty($this->normalization[$this->scheme]['ipath']) && $iauthority !== null && $iauthority !== '')
+ {
+ $iri .= $this->normalization[$this->scheme]['ipath'];
+ }
+ if ($this->iquery !== null)
+ {
+ $iri .= '?' . $this->iquery;
+ }
+ if ($this->ifragment !== null)
+ {
+ $iri .= '#' . $this->ifragment;
+ }
+
+ return $iri;
+ }
+
+ /**
+ * Get the complete URI
+ *
+ * @return string
+ */
+ public function get_uri()
+ {
+ return $this->to_uri($this->get_iri());
+ }
+
+ /**
+ * Get the complete iauthority
+ *
+ * @return string
+ */
+ protected function get_iauthority()
+ {
+ if ($this->iuserinfo !== null || $this->ihost !== null || $this->port !== null)
+ {
+ $iauthority = '';
+ if ($this->iuserinfo !== null)
+ {
+ $iauthority .= $this->iuserinfo . '@';
+ }
+ if ($this->ihost !== null)
+ {
+ $iauthority .= $this->ihost;
+ }
+ if ($this->port !== null)
+ {
+ $iauthority .= ':' . $this->port;
+ }
+ return $iauthority;
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ /**
+ * Get the complete authority
+ *
+ * @return string
+ */
+ protected function get_authority()
+ {
+ $iauthority = $this->get_iauthority();
+ if (is_string($iauthority))
+ return $this->to_uri($iauthority);
+ else
+ return $iauthority;
+ }
+}
diff --git a/vendor/simplepie/simplepie/library/SimplePie/Item.php b/vendor/simplepie/simplepie/library/SimplePie/Item.php
new file mode 100644
index 000000000..00f4179bf
--- /dev/null
+++ b/vendor/simplepie/simplepie/library/SimplePie/Item.php
@@ -0,0 +1,3009 @@
+<?php
+/**
+ * SimplePie
+ *
+ * A PHP-Based RSS and Atom Feed Framework.
+ * Takes the hard work out of managing a complete RSS/Atom solution.
+ *
+ * Copyright (c) 2004-2016, Ryan Parman, Geoffrey Sneddon, Ryan McCue, and contributors
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification, are
+ * permitted provided that the following conditions are met:
+ *
+ * * Redistributions of source code must retain the above copyright notice, this list of
+ * conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above copyright notice, this list
+ * of conditions and the following disclaimer in the documentation and/or other materials
+ * provided with the distribution.
+ *
+ * * Neither the name of the SimplePie Team nor the names of its contributors may be used
+ * to endorse or promote products derived from this software without specific prior
+ * written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS
+ * AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ *
+ * @package SimplePie
+ * @copyright 2004-2016 Ryan Parman, Geoffrey Sneddon, Ryan McCue
+ * @author Ryan Parman
+ * @author Geoffrey Sneddon
+ * @author Ryan McCue
+ * @link http://simplepie.org/ SimplePie
+ * @license http://www.opensource.org/licenses/bsd-license.php BSD License
+ */
+
+
+/**
+ * Manages all item-related data
+ *
+ * Used by {@see SimplePie::get_item()} and {@see SimplePie::get_items()}
+ *
+ * This class can be overloaded with {@see SimplePie::set_item_class()}
+ *
+ * @package SimplePie
+ * @subpackage API
+ */
+class SimplePie_Item
+{
+ /**
+ * Parent feed
+ *
+ * @access private
+ * @var SimplePie
+ */
+ var $feed;
+
+ /**
+ * Raw data
+ *
+ * @access private
+ * @var array
+ */
+ var $data = array();
+
+ /**
+ * Registry object
+ *
+ * @see set_registry
+ * @var SimplePie_Registry
+ */
+ protected $registry;
+
+ /**
+ * Create a new item object
+ *
+ * This is usually used by {@see SimplePie::get_items} and
+ * {@see SimplePie::get_item}. Avoid creating this manually.
+ *
+ * @param SimplePie $feed Parent feed
+ * @param array $data Raw data
+ */
+ public function __construct($feed, $data)
+ {
+ $this->feed = $feed;
+ $this->data = $data;
+ }
+
+ /**
+ * Set the registry handler
+ *
+ * This is usually used by {@see SimplePie_Registry::create}
+ *
+ * @since 1.3
+ * @param SimplePie_Registry $registry
+ */
+ public function set_registry(SimplePie_Registry $registry)
+ {
+ $this->registry = $registry;
+ }
+
+ /**
+ * Get a string representation of the item
+ *
+ * @return string
+ */
+ public function __toString()
+ {
+ return md5(serialize($this->data));
+ }
+
+ /**
+ * Remove items that link back to this before destroying this object
+ */
+ public function __destruct()
+ {
+ if ((version_compare(PHP_VERSION, '5.3', '<') || !gc_enabled()) && !ini_get('zend.ze1_compatibility_mode'))
+ {
+ unset($this->feed);
+ }
+ }
+
+ /**
+ * Get data for an item-level element
+ *
+ * This method allows you to get access to ANY element/attribute that is a
+ * sub-element of the item/entry tag.
+ *
+ * See {@see SimplePie::get_feed_tags()} for a description of the return value
+ *
+ * @since 1.0
+ * @see http://simplepie.org/wiki/faq/supported_xml_namespaces
+ * @param string $namespace The URL of the XML namespace of the elements you're trying to access
+ * @param string $tag Tag name
+ * @return array
+ */
+ public function get_item_tags($namespace, $tag)
+ {
+ if (isset($this->data['child'][$namespace][$tag]))
+ {
+ return $this->data['child'][$namespace][$tag];
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ /**
+ * Get the base URL value from the parent feed
+ *
+ * Uses `<xml:base>`
+ *
+ * @param array $element
+ * @return string
+ */
+ public function get_base($element = array())
+ {
+ return $this->feed->get_base($element);
+ }
+
+ /**
+ * Sanitize feed data
+ *
+ * @access private
+ * @see SimplePie::sanitize()
+ * @param string $data Data to sanitize
+ * @param int $type One of the SIMPLEPIE_CONSTRUCT_* constants
+ * @param string $base Base URL to resolve URLs against
+ * @return string Sanitized data
+ */
+ public function sanitize($data, $type, $base = '')
+ {
+ return $this->feed->sanitize($data, $type, $base);
+ }
+
+ /**
+ * Get the parent feed
+ *
+ * Note: this may not work as you think for multifeeds!
+ *
+ * @link http://simplepie.org/faq/typical_multifeed_gotchas#missing_data_from_feed
+ * @since 1.0
+ * @return SimplePie
+ */
+ public function get_feed()
+ {
+ return $this->feed;
+ }
+
+ /**
+ * Get the unique identifier for the item
+ *
+ * This is usually used when writing code to check for new items in a feed.
+ *
+ * Uses `<atom:id>`, `<guid>`, `<dc:identifier>` or the `about` attribute
+ * for RDF. If none of these are supplied (or `$hash` is true), creates an
+ * MD5 hash based on the permalink, title and content.
+ *
+ * @since Beta 2
+ * @param boolean $hash Should we force using a hash instead of the supplied ID?
+ * @param string|false $fn User-supplied function to generate an hash
+ * @return string|null
+ */
+ public function get_id($hash = false, $fn = 'md5')
+ {
+ if (!$hash)
+ {
+ if ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'id'))
+ {
+ return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'id'))
+ {
+ return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'guid'))
+ {
+ return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_DC_11, 'identifier'))
+ {
+ return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_DC_10, 'identifier'))
+ {
+ return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ elseif (isset($this->data['attribs'][SIMPLEPIE_NAMESPACE_RDF]['about']))
+ {
+ return $this->sanitize($this->data['attribs'][SIMPLEPIE_NAMESPACE_RDF]['about'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ }
+ if ($fn === false)
+ {
+ return null;
+ }
+ elseif (!is_callable($fn))
+ {
+ trigger_error('User-supplied function $fn must be callable', E_USER_WARNING);
+ $fn = 'md5';
+ }
+ return call_user_func($fn,
+ $this->get_permalink().$this->get_title().$this->get_content());
+ }
+
+ /**
+ * Get the title of the item
+ *
+ * Uses `<atom:title>`, `<title>` or `<dc:title>`
+ *
+ * @since Beta 2 (previously called `get_item_title` since 0.8)
+ * @return string|null
+ */
+ public function get_title()
+ {
+ if (!isset($this->data['title']))
+ {
+ if ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'title'))
+ {
+ $this->data['title'] = $this->sanitize($return[0]['data'], $this->registry->call('Misc', 'atom_10_construct_type', array($return[0]['attribs'])), $this->get_base($return[0]));
+ }
+ elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'title'))
+ {
+ $this->data['title'] = $this->sanitize($return[0]['data'], $this->registry->call('Misc', 'atom_03_construct_type', array($return[0]['attribs'])), $this->get_base($return[0]));
+ }
+ elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_RSS_10, 'title'))
+ {
+ $this->data['title'] = $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_MAYBE_HTML, $this->get_base($return[0]));
+ }
+ elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_RSS_090, 'title'))
+ {
+ $this->data['title'] = $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_MAYBE_HTML, $this->get_base($return[0]));
+ }
+ elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'title'))
+ {
+ $this->data['title'] = $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_MAYBE_HTML, $this->get_base($return[0]));
+ }
+ elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_DC_11, 'title'))
+ {
+ $this->data['title'] = $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_DC_10, 'title'))
+ {
+ $this->data['title'] = $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ else
+ {
+ $this->data['title'] = null;
+ }
+ }
+ return $this->data['title'];
+ }
+
+ /**
+ * Get the content for the item
+ *
+ * Prefers summaries over full content , but will return full content if a
+ * summary does not exist.
+ *
+ * To prefer full content instead, use {@see get_content}
+ *
+ * Uses `<atom:summary>`, `<description>`, `<dc:description>` or
+ * `<itunes:subtitle>`
+ *
+ * @since 0.8
+ * @param boolean $description_only Should we avoid falling back to the content?
+ * @return string|null
+ */
+ public function get_description($description_only = false)
+ {
+ if (($tags = $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'summary')) &&
+ ($return = $this->sanitize($tags[0]['data'], $this->registry->call('Misc', 'atom_10_construct_type', array($tags[0]['attribs'])), $this->get_base($tags[0]))))
+ {
+ return $return;
+ }
+ elseif (($tags = $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'summary')) &&
+ ($return = $this->sanitize($tags[0]['data'], $this->registry->call('Misc', 'atom_03_construct_type', array($tags[0]['attribs'])), $this->get_base($tags[0]))))
+ {
+ return $return;
+ }
+ elseif (($tags = $this->get_item_tags(SIMPLEPIE_NAMESPACE_RSS_10, 'description')) &&
+ ($return = $this->sanitize($tags[0]['data'], SIMPLEPIE_CONSTRUCT_MAYBE_HTML, $this->get_base($tags[0]))))
+ {
+ return $return;
+ }
+ elseif (($tags = $this->get_item_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'description')) &&
+ ($return = $this->sanitize($tags[0]['data'], SIMPLEPIE_CONSTRUCT_HTML, $this->get_base($tags[0]))))
+ {
+ return $return;
+ }
+ elseif (($tags = $this->get_item_tags(SIMPLEPIE_NAMESPACE_DC_11, 'description')) &&
+ ($return = $this->sanitize($tags[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT)))
+ {
+ return $return;
+ }
+ elseif (($tags = $this->get_item_tags(SIMPLEPIE_NAMESPACE_DC_10, 'description')) &&
+ ($return = $this->sanitize($tags[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT)))
+ {
+ return $return;
+ }
+ elseif (($tags = $this->get_item_tags(SIMPLEPIE_NAMESPACE_ITUNES, 'summary')) &&
+ ($return = $this->sanitize($tags[0]['data'], SIMPLEPIE_CONSTRUCT_HTML, $this->get_base($tags[0]))))
+ {
+ return $return;
+ }
+ elseif (($tags = $this->get_item_tags(SIMPLEPIE_NAMESPACE_ITUNES, 'subtitle')) &&
+ ($return = $this->sanitize($tags[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT)))
+ {
+ return $return;
+ }
+ elseif (($tags = $this->get_item_tags(SIMPLEPIE_NAMESPACE_RSS_090, 'description')) &&
+ ($return = $this->sanitize($tags[0]['data'], SIMPLEPIE_CONSTRUCT_HTML)))
+ {
+ return $return;
+ }
+
+ elseif (!$description_only)
+ {
+ return $this->get_content(true);
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ /**
+ * Get the content for the item
+ *
+ * Prefers full content over summaries, but will return a summary if full
+ * content does not exist.
+ *
+ * To prefer summaries instead, use {@see get_description}
+ *
+ * Uses `<atom:content>` or `<content:encoded>` (RSS 1.0 Content Module)
+ *
+ * @since 1.0
+ * @param boolean $content_only Should we avoid falling back to the description?
+ * @return string|null
+ */
+ public function get_content($content_only = false)
+ {
+ if (($tags = $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'content')) &&
+ ($return = $this->sanitize($tags[0]['data'], $this->registry->call('Misc', 'atom_10_content_construct_type', array($tags[0]['attribs'])), $this->get_base($tags[0]))))
+ {
+ return $return;
+ }
+ elseif (($tags = $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'content')) &&
+ ($return = $this->sanitize($tags[0]['data'], $this->registry->call('Misc', 'atom_03_construct_type', array($tags[0]['attribs'])), $this->get_base($tags[0]))))
+ {
+ return $return;
+ }
+ elseif (($tags = $this->get_item_tags(SIMPLEPIE_NAMESPACE_RSS_10_MODULES_CONTENT, 'encoded')) &&
+ ($return = $this->sanitize($tags[0]['data'], SIMPLEPIE_CONSTRUCT_HTML, $this->get_base($tags[0]))))
+ {
+ return $return;
+ }
+ elseif (!$content_only)
+ {
+ return $this->get_description(true);
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ /**
+ * Get the media:thumbnail of the item
+ *
+ * Uses `<media:thumbnail>`
+ *
+ *
+ * @return array|null
+ */
+ public function get_thumbnail()
+ {
+ if (!isset($this->data['thumbnail']))
+ {
+ if ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'thumbnail'))
+ {
+ $this->data['thumbnail'] = $return[0]['attribs'][''];
+ }
+ else
+ {
+ $this->data['thumbnail'] = null;
+ }
+ }
+ return $this->data['thumbnail'];
+ }
+
+ /**
+ * Get a category for the item
+ *
+ * @since Beta 3 (previously called `get_categories()` since Beta 2)
+ * @param int $key The category that you want to return. Remember that arrays begin with 0, not 1
+ * @return SimplePie_Category|null
+ */
+ public function get_category($key = 0)
+ {
+ $categories = $this->get_categories();
+ if (isset($categories[$key]))
+ {
+ return $categories[$key];
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ /**
+ * Get all categories for the item
+ *
+ * Uses `<atom:category>`, `<category>` or `<dc:subject>`
+ *
+ * @since Beta 3
+ * @return SimplePie_Category[]|null List of {@see SimplePie_Category} objects
+ */
+ public function get_categories()
+ {
+ $categories = array();
+
+ $type = 'category';
+ foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_10, $type) as $category)
+ {
+ $term = null;
+ $scheme = null;
+ $label = null;
+ if (isset($category['attribs']['']['term']))
+ {
+ $term = $this->sanitize($category['attribs']['']['term'], SIMPLEPIE_CONSTRUCT_HTML);
+ }
+ if (isset($category['attribs']['']['scheme']))
+ {
+ $scheme = $this->sanitize($category['attribs']['']['scheme'], SIMPLEPIE_CONSTRUCT_HTML);
+ }
+ if (isset($category['attribs']['']['label']))
+ {
+ $label = $this->sanitize($category['attribs']['']['label'], SIMPLEPIE_CONSTRUCT_HTML);
+ }
+ $categories[] = $this->registry->create('Category', array($term, $scheme, $label, $type));
+ }
+ foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_RSS_20, $type) as $category)
+ {
+ // This is really the label, but keep this as the term also for BC.
+ // Label will also work on retrieving because that falls back to term.
+ $term = $this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_HTML);
+ if (isset($category['attribs']['']['domain']))
+ {
+ $scheme = $this->sanitize($category['attribs']['']['domain'], SIMPLEPIE_CONSTRUCT_HTML);
+ }
+ else
+ {
+ $scheme = null;
+ }
+ $categories[] = $this->registry->create('Category', array($term, $scheme, null, $type));
+ }
+
+ $type = 'subject';
+ foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_DC_11, $type) as $category)
+ {
+ $categories[] = $this->registry->create('Category', array($this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_HTML), null, null, $type));
+ }
+ foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_DC_10, $type) as $category)
+ {
+ $categories[] = $this->registry->create('Category', array($this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_HTML), null, null, $type));
+ }
+
+ if (!empty($categories))
+ {
+ return array_unique($categories);
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ /**
+ * Get an author for the item
+ *
+ * @since Beta 2
+ * @param int $key The author that you want to return. Remember that arrays begin with 0, not 1
+ * @return SimplePie_Author|null
+ */
+ public function get_author($key = 0)
+ {
+ $authors = $this->get_authors();
+ if (isset($authors[$key]))
+ {
+ return $authors[$key];
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ /**
+ * Get a contributor for the item
+ *
+ * @since 1.1
+ * @param int $key The contrbutor that you want to return. Remember that arrays begin with 0, not 1
+ * @return SimplePie_Author|null
+ */
+ public function get_contributor($key = 0)
+ {
+ $contributors = $this->get_contributors();
+ if (isset($contributors[$key]))
+ {
+ return $contributors[$key];
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ /**
+ * Get all contributors for the item
+ *
+ * Uses `<atom:contributor>`
+ *
+ * @since 1.1
+ * @return array|null List of {@see SimplePie_Author} objects
+ */
+ public function get_contributors()
+ {
+ $contributors = array();
+ foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'contributor') as $contributor)
+ {
+ $name = null;
+ $uri = null;
+ $email = null;
+ if (isset($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['name'][0]['data']))
+ {
+ $name = $this->sanitize($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['name'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ if (isset($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['uri'][0]['data']))
+ {
+ $uri = $this->sanitize($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['uri'][0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['uri'][0]));
+ }
+ if (isset($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['email'][0]['data']))
+ {
+ $email = $this->sanitize($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['email'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ if ($name !== null || $email !== null || $uri !== null)
+ {
+ $contributors[] = $this->registry->create('Author', array($name, $uri, $email));
+ }
+ }
+ foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'contributor') as $contributor)
+ {
+ $name = null;
+ $url = null;
+ $email = null;
+ if (isset($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['name'][0]['data']))
+ {
+ $name = $this->sanitize($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['name'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ if (isset($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['url'][0]['data']))
+ {
+ $url = $this->sanitize($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['url'][0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['url'][0]));
+ }
+ if (isset($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['email'][0]['data']))
+ {
+ $email = $this->sanitize($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['email'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ if ($name !== null || $email !== null || $url !== null)
+ {
+ $contributors[] = $this->registry->create('Author', array($name, $url, $email));
+ }
+ }
+
+ if (!empty($contributors))
+ {
+ return array_unique($contributors);
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ /**
+ * Get all authors for the item
+ *
+ * Uses `<atom:author>`, `<author>`, `<dc:creator>` or `<itunes:author>`
+ *
+ * @since Beta 2
+ * @return array|null List of {@see SimplePie_Author} objects
+ */
+ public function get_authors()
+ {
+ $authors = array();
+ foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'author') as $author)
+ {
+ $name = null;
+ $uri = null;
+ $email = null;
+ if (isset($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['name'][0]['data']))
+ {
+ $name = $this->sanitize($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['name'][0]['data'], SIMPLEPIE_CONSTRUCT_HTML);
+ }
+ if (isset($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['uri'][0]['data']))
+ {
+ $uri = $this->sanitize($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['uri'][0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['uri'][0]));
+ }
+ if (isset($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['email'][0]['data']))
+ {
+ $email = $this->sanitize($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['email'][0]['data'], SIMPLEPIE_CONSTRUCT_HTML);
+ }
+ if ($name !== null || $email !== null || $uri !== null)
+ {
+ $authors[] = $this->registry->create('Author', array($name, $uri, $email));
+ }
+ }
+ if ($author = $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'author'))
+ {
+ $name = null;
+ $url = null;
+ $email = null;
+ if (isset($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['name'][0]['data']))
+ {
+ $name = $this->sanitize($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['name'][0]['data'], SIMPLEPIE_CONSTRUCT_HTML);
+ }
+ if (isset($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['url'][0]['data']))
+ {
+ $url = $this->sanitize($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['url'][0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['url'][0]));
+ }
+ if (isset($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['email'][0]['data']))
+ {
+ $email = $this->sanitize($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['email'][0]['data'], SIMPLEPIE_CONSTRUCT_HTML);
+ }
+ if ($name !== null || $email !== null || $url !== null)
+ {
+ $authors[] = $this->registry->create('Author', array($name, $url, $email));
+ }
+ }
+ if ($author = $this->get_item_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'author'))
+ {
+ $authors[] = $this->registry->create('Author', array(null, null, $this->sanitize($author[0]['data'], SIMPLEPIE_CONSTRUCT_HTML)));
+ }
+ foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_DC_11, 'creator') as $author)
+ {
+ $authors[] = $this->registry->create('Author', array($this->sanitize($author['data'], SIMPLEPIE_CONSTRUCT_HTML), null, null));
+ }
+ foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_DC_10, 'creator') as $author)
+ {
+ $authors[] = $this->registry->create('Author', array($this->sanitize($author['data'], SIMPLEPIE_CONSTRUCT_HTML), null, null));
+ }
+ foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_ITUNES, 'author') as $author)
+ {
+ $authors[] = $this->registry->create('Author', array($this->sanitize($author['data'], SIMPLEPIE_CONSTRUCT_HTML), null, null));
+ }
+
+ if (!empty($authors))
+ {
+ return array_unique($authors);
+ }
+ elseif (($source = $this->get_source()) && ($authors = $source->get_authors()))
+ {
+ return $authors;
+ }
+ elseif ($authors = $this->feed->get_authors())
+ {
+ return $authors;
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ /**
+ * Get the copyright info for the item
+ *
+ * Uses `<atom:rights>` or `<dc:rights>`
+ *
+ * @since 1.1
+ * @return string
+ */
+ public function get_copyright()
+ {
+ if ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'rights'))
+ {
+ return $this->sanitize($return[0]['data'], $this->registry->call('Misc', 'atom_10_construct_type', array($return[0]['attribs'])), $this->get_base($return[0]));
+ }
+ elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_DC_11, 'rights'))
+ {
+ return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_DC_10, 'rights'))
+ {
+ return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ /**
+ * Get the posting date/time for the item
+ *
+ * Uses `<atom:published>`, `<atom:updated>`, `<atom:issued>`,
+ * `<atom:modified>`, `<pubDate>` or `<dc:date>`
+ *
+ * Note: obeys PHP's timezone setting. To get a UTC date/time, use
+ * {@see get_gmdate}
+ *
+ * @since Beta 2 (previously called `get_item_date` since 0.8)
+ *
+ * @param string $date_format Supports any PHP date format from {@see http://php.net/date} (empty for the raw data)
+ * @return int|string|null
+ */
+ public function get_date($date_format = 'j F Y, g:i a')
+ {
+ if (!isset($this->data['date']))
+ {
+ if ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'published'))
+ {
+ $this->data['date']['raw'] = $return[0]['data'];
+ }
+ elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'pubDate'))
+ {
+ $this->data['date']['raw'] = $return[0]['data'];
+ }
+ elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_DC_11, 'date'))
+ {
+ $this->data['date']['raw'] = $return[0]['data'];
+ }
+ elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_DC_10, 'date'))
+ {
+ $this->data['date']['raw'] = $return[0]['data'];
+ }
+ elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'updated'))
+ {
+ $this->data['date']['raw'] = $return[0]['data'];
+ }
+ elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'issued'))
+ {
+ $this->data['date']['raw'] = $return[0]['data'];
+ }
+ elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'created'))
+ {
+ $this->data['date']['raw'] = $return[0]['data'];
+ }
+ elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'modified'))
+ {
+ $this->data['date']['raw'] = $return[0]['data'];
+ }
+
+ if (!empty($this->data['date']['raw']))
+ {
+ $parser = $this->registry->call('Parse_Date', 'get');
+ $this->data['date']['parsed'] = $parser->parse($this->data['date']['raw']);
+ }
+ else
+ {
+ $this->data['date'] = null;
+ }
+ }
+ if ($this->data['date'])
+ {
+ $date_format = (string) $date_format;
+ switch ($date_format)
+ {
+ case '':
+ return $this->sanitize($this->data['date']['raw'], SIMPLEPIE_CONSTRUCT_TEXT);
+
+ case 'U':
+ return $this->data['date']['parsed'];
+
+ default:
+ return date($date_format, $this->data['date']['parsed']);
+ }
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ /**
+ * Get the update date/time for the item
+ *
+ * Uses `<atom:updated>`
+ *
+ * Note: obeys PHP's timezone setting. To get a UTC date/time, use
+ * {@see get_gmdate}
+ *
+ * @param string $date_format Supports any PHP date format from {@see http://php.net/date} (empty for the raw data)
+ * @return int|string|null
+ */
+ public function get_updated_date($date_format = 'j F Y, g:i a')
+ {
+ if (!isset($this->data['updated']))
+ {
+ if ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'updated'))
+ {
+ $this->data['updated']['raw'] = $return[0]['data'];
+ }
+
+ if (!empty($this->data['updated']['raw']))
+ {
+ $parser = $this->registry->call('Parse_Date', 'get');
+ $this->data['updated']['parsed'] = $parser->parse($this->data['updated']['raw']);
+ }
+ else
+ {
+ $this->data['updated'] = null;
+ }
+ }
+ if ($this->data['updated'])
+ {
+ $date_format = (string) $date_format;
+ switch ($date_format)
+ {
+ case '':
+ return $this->sanitize($this->data['updated']['raw'], SIMPLEPIE_CONSTRUCT_TEXT);
+
+ case 'U':
+ return $this->data['updated']['parsed'];
+
+ default:
+ return date($date_format, $this->data['updated']['parsed']);
+ }
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ /**
+ * Get the localized posting date/time for the item
+ *
+ * Returns the date formatted in the localized language. To display in
+ * languages other than the server's default, you need to change the locale
+ * with {@link http://php.net/setlocale setlocale()}. The available
+ * localizations depend on which ones are installed on your web server.
+ *
+ * @since 1.0
+ *
+ * @param string $date_format Supports any PHP date format from {@see http://php.net/strftime} (empty for the raw data)
+ * @return int|string|null
+ */
+ public function get_local_date($date_format = '%c')
+ {
+ if (!$date_format)
+ {
+ return $this->sanitize($this->get_date(''), SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ elseif (($date = $this->get_date('U')) !== null && $date !== false)
+ {
+ return strftime($date_format, $date);
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ /**
+ * Get the posting date/time for the item (UTC time)
+ *
+ * @see get_date
+ * @param string $date_format Supports any PHP date format from {@see http://php.net/date}
+ * @return int|string|null
+ */
+ public function get_gmdate($date_format = 'j F Y, g:i a')
+ {
+ $date = $this->get_date('U');
+ if ($date === null)
+ {
+ return null;
+ }
+
+ return gmdate($date_format, $date);
+ }
+
+ /**
+ * Get the update date/time for the item (UTC time)
+ *
+ * @see get_updated_date
+ * @param string $date_format Supports any PHP date format from {@see http://php.net/date}
+ * @return int|string|null
+ */
+ public function get_updated_gmdate($date_format = 'j F Y, g:i a')
+ {
+ $date = $this->get_updated_date('U');
+ if ($date === null)
+ {
+ return null;
+ }
+
+ return gmdate($date_format, $date);
+ }
+
+ /**
+ * Get the permalink for the item
+ *
+ * Returns the first link available with a relationship of "alternate".
+ * Identical to {@see get_link()} with key 0
+ *
+ * @see get_link
+ * @since 0.8
+ * @return string|null Permalink URL
+ */
+ public function get_permalink()
+ {
+ $link = $this->get_link();
+ $enclosure = $this->get_enclosure(0);
+ if ($link !== null)
+ {
+ return $link;
+ }
+ elseif ($enclosure !== null)
+ {
+ return $enclosure->get_link();
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ /**
+ * Get a single link for the item
+ *
+ * @since Beta 3
+ * @param int $key The link that you want to return. Remember that arrays begin with 0, not 1
+ * @param string $rel The relationship of the link to return
+ * @return string|null Link URL
+ */
+ public function get_link($key = 0, $rel = 'alternate')
+ {
+ $links = $this->get_links($rel);
+ if ($links[$key] !== null)
+ {
+ return $links[$key];
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ /**
+ * Get all links for the item
+ *
+ * Uses `<atom:link>`, `<link>` or `<guid>`
+ *
+ * @since Beta 2
+ * @param string $rel The relationship of links to return
+ * @return array|null Links found for the item (strings)
+ */
+ public function get_links($rel = 'alternate')
+ {
+ if (!isset($this->data['links']))
+ {
+ $this->data['links'] = array();
+ foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'link') as $link)
+ {
+ if (isset($link['attribs']['']['href']))
+ {
+ $link_rel = (isset($link['attribs']['']['rel'])) ? $link['attribs']['']['rel'] : 'alternate';
+ $this->data['links'][$link_rel][] = $this->sanitize($link['attribs']['']['href'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($link));
+
+ }
+ }
+ foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'link') as $link)
+ {
+ if (isset($link['attribs']['']['href']))
+ {
+ $link_rel = (isset($link['attribs']['']['rel'])) ? $link['attribs']['']['rel'] : 'alternate';
+ $this->data['links'][$link_rel][] = $this->sanitize($link['attribs']['']['href'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($link));
+ }
+ }
+ if ($links = $this->get_item_tags(SIMPLEPIE_NAMESPACE_RSS_10, 'link'))
+ {
+ $this->data['links']['alternate'][] = $this->sanitize($links[0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($links[0]));
+ }
+ if ($links = $this->get_item_tags(SIMPLEPIE_NAMESPACE_RSS_090, 'link'))
+ {
+ $this->data['links']['alternate'][] = $this->sanitize($links[0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($links[0]));
+ }
+ if ($links = $this->get_item_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'link'))
+ {
+ $this->data['links']['alternate'][] = $this->sanitize($links[0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($links[0]));
+ }
+ if ($links = $this->get_item_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'guid'))
+ {
+ if (!isset($links[0]['attribs']['']['isPermaLink']) || strtolower(trim($links[0]['attribs']['']['isPermaLink'])) === 'true')
+ {
+ $this->data['links']['alternate'][] = $this->sanitize($links[0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($links[0]));
+ }
+ }
+
+ $keys = array_keys($this->data['links']);
+ foreach ($keys as $key)
+ {
+ if ($this->registry->call('Misc', 'is_isegment_nz_nc', array($key)))
+ {
+ if (isset($this->data['links'][SIMPLEPIE_IANA_LINK_RELATIONS_REGISTRY . $key]))
+ {
+ $this->data['links'][SIMPLEPIE_IANA_LINK_RELATIONS_REGISTRY . $key] = array_merge($this->data['links'][$key], $this->data['links'][SIMPLEPIE_IANA_LINK_RELATIONS_REGISTRY . $key]);
+ $this->data['links'][$key] =& $this->data['links'][SIMPLEPIE_IANA_LINK_RELATIONS_REGISTRY . $key];
+ }
+ else
+ {
+ $this->data['links'][SIMPLEPIE_IANA_LINK_RELATIONS_REGISTRY . $key] =& $this->data['links'][$key];
+ }
+ }
+ elseif (substr($key, 0, 41) === SIMPLEPIE_IANA_LINK_RELATIONS_REGISTRY)
+ {
+ $this->data['links'][substr($key, 41)] =& $this->data['links'][$key];
+ }
+ $this->data['links'][$key] = array_unique($this->data['links'][$key]);
+ }
+ }
+ if (isset($this->data['links'][$rel]))
+ {
+ return $this->data['links'][$rel];
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ /**
+ * Get an enclosure from the item
+ *
+ * Supports the <enclosure> RSS tag, as well as Media RSS and iTunes RSS.
+ *
+ * @since Beta 2
+ * @todo Add ability to prefer one type of content over another (in a media group).
+ * @param int $key The enclosure that you want to return. Remember that arrays begin with 0, not 1
+ * @return SimplePie_Enclosure|null
+ */
+ public function get_enclosure($key = 0, $prefer = null)
+ {
+ $enclosures = $this->get_enclosures();
+ if (isset($enclosures[$key]))
+ {
+ return $enclosures[$key];
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ /**
+ * Get all available enclosures (podcasts, etc.)
+ *
+ * Supports the <enclosure> RSS tag, as well as Media RSS and iTunes RSS.
+ *
+ * At this point, we're pretty much assuming that all enclosures for an item
+ * are the same content. Anything else is too complicated to
+ * properly support.
+ *
+ * @since Beta 2
+ * @todo Add support for end-user defined sorting of enclosures by type/handler (so we can prefer the faster-loading FLV over MP4).
+ * @todo If an element exists at a level, but its value is empty, we should fall back to the value from the parent (if it exists).
+ * @return SimplePie_Enclosure[]|null List of SimplePie_Enclosure items
+ */
+ public function get_enclosures()
+ {
+ if (!isset($this->data['enclosures']))
+ {
+ $this->data['enclosures'] = array();
+
+ // Elements
+ $captions_parent = null;
+ $categories_parent = null;
+ $copyrights_parent = null;
+ $credits_parent = null;
+ $description_parent = null;
+ $duration_parent = null;
+ $hashes_parent = null;
+ $keywords_parent = null;
+ $player_parent = null;
+ $ratings_parent = null;
+ $restrictions_parent = null;
+ $thumbnails_parent = null;
+ $title_parent = null;
+
+ // Let's do the channel and item-level ones first, and just re-use them if we need to.
+ $parent = $this->get_feed();
+
+ // CAPTIONS
+ if ($captions = $this->get_item_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'text'))
+ {
+ foreach ($captions as $caption)
+ {
+ $caption_type = null;
+ $caption_lang = null;
+ $caption_startTime = null;
+ $caption_endTime = null;
+ $caption_text = null;
+ if (isset($caption['attribs']['']['type']))
+ {
+ $caption_type = $this->sanitize($caption['attribs']['']['type'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ if (isset($caption['attribs']['']['lang']))
+ {
+ $caption_lang = $this->sanitize($caption['attribs']['']['lang'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ if (isset($caption['attribs']['']['start']))
+ {
+ $caption_startTime = $this->sanitize($caption['attribs']['']['start'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ if (isset($caption['attribs']['']['end']))
+ {
+ $caption_endTime = $this->sanitize($caption['attribs']['']['end'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ if (isset($caption['data']))
+ {
+ $caption_text = $this->sanitize($caption['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ $captions_parent[] = $this->registry->create('Caption', array($caption_type, $caption_lang, $caption_startTime, $caption_endTime, $caption_text));
+ }
+ }
+ elseif ($captions = $parent->get_channel_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'text'))
+ {
+ foreach ($captions as $caption)
+ {
+ $caption_type = null;
+ $caption_lang = null;
+ $caption_startTime = null;
+ $caption_endTime = null;
+ $caption_text = null;
+ if (isset($caption['attribs']['']['type']))
+ {
+ $caption_type = $this->sanitize($caption['attribs']['']['type'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ if (isset($caption['attribs']['']['lang']))
+ {
+ $caption_lang = $this->sanitize($caption['attribs']['']['lang'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ if (isset($caption['attribs']['']['start']))
+ {
+ $caption_startTime = $this->sanitize($caption['attribs']['']['start'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ if (isset($caption['attribs']['']['end']))
+ {
+ $caption_endTime = $this->sanitize($caption['attribs']['']['end'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ if (isset($caption['data']))
+ {
+ $caption_text = $this->sanitize($caption['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ $captions_parent[] = $this->registry->create('Caption', array($caption_type, $caption_lang, $caption_startTime, $caption_endTime, $caption_text));
+ }
+ }
+ if (is_array($captions_parent))
+ {
+ $captions_parent = array_values(array_unique($captions_parent));
+ }
+
+ // CATEGORIES
+ foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'category') as $category)
+ {
+ $term = null;
+ $scheme = null;
+ $label = null;
+ if (isset($category['data']))
+ {
+ $term = $this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ if (isset($category['attribs']['']['scheme']))
+ {
+ $scheme = $this->sanitize($category['attribs']['']['scheme'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ else
+ {
+ $scheme = 'http://search.yahoo.com/mrss/category_schema';
+ }
+ if (isset($category['attribs']['']['label']))
+ {
+ $label = $this->sanitize($category['attribs']['']['label'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ $categories_parent[] = $this->registry->create('Category', array($term, $scheme, $label));
+ }
+ foreach ((array) $parent->get_channel_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'category') as $category)
+ {
+ $term = null;
+ $scheme = null;
+ $label = null;
+ if (isset($category['data']))
+ {
+ $term = $this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ if (isset($category['attribs']['']['scheme']))
+ {
+ $scheme = $this->sanitize($category['attribs']['']['scheme'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ else
+ {
+ $scheme = 'http://search.yahoo.com/mrss/category_schema';
+ }
+ if (isset($category['attribs']['']['label']))
+ {
+ $label = $this->sanitize($category['attribs']['']['label'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ $categories_parent[] = $this->registry->create('Category', array($term, $scheme, $label));
+ }
+ foreach ((array) $parent->get_channel_tags(SIMPLEPIE_NAMESPACE_ITUNES, 'category') as $category)
+ {
+ $term = null;
+ $scheme = 'http://www.itunes.com/dtds/podcast-1.0.dtd';
+ $label = null;
+ if (isset($category['attribs']['']['text']))
+ {
+ $label = $this->sanitize($category['attribs']['']['text'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ $categories_parent[] = $this->registry->create('Category', array($term, $scheme, $label));
+
+ if (isset($category['child'][SIMPLEPIE_NAMESPACE_ITUNES]['category']))
+ {
+ foreach ((array) $category['child'][SIMPLEPIE_NAMESPACE_ITUNES]['category'] as $subcategory)
+ {
+ if (isset($subcategory['attribs']['']['text']))
+ {
+ $label = $this->sanitize($subcategory['attribs']['']['text'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ $categories_parent[] = $this->registry->create('Category', array($term, $scheme, $label));
+ }
+ }
+ }
+ if (is_array($categories_parent))
+ {
+ $categories_parent = array_values(array_unique($categories_parent));
+ }
+
+ // COPYRIGHT
+ if ($copyright = $this->get_item_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'copyright'))
+ {
+ $copyright_url = null;
+ $copyright_label = null;
+ if (isset($copyright[0]['attribs']['']['url']))
+ {
+ $copyright_url = $this->sanitize($copyright[0]['attribs']['']['url'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ if (isset($copyright[0]['data']))
+ {
+ $copyright_label = $this->sanitize($copyright[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ $copyrights_parent = $this->registry->create('Copyright', array($copyright_url, $copyright_label));
+ }
+ elseif ($copyright = $parent->get_channel_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'copyright'))
+ {
+ $copyright_url = null;
+ $copyright_label = null;
+ if (isset($copyright[0]['attribs']['']['url']))
+ {
+ $copyright_url = $this->sanitize($copyright[0]['attribs']['']['url'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ if (isset($copyright[0]['data']))
+ {
+ $copyright_label = $this->sanitize($copyright[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ $copyrights_parent = $this->registry->create('Copyright', array($copyright_url, $copyright_label));
+ }
+
+ // CREDITS
+ if ($credits = $this->get_item_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'credit'))
+ {
+ foreach ($credits as $credit)
+ {
+ $credit_role = null;
+ $credit_scheme = null;
+ $credit_name = null;
+ if (isset($credit['attribs']['']['role']))
+ {
+ $credit_role = $this->sanitize($credit['attribs']['']['role'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ if (isset($credit['attribs']['']['scheme']))
+ {
+ $credit_scheme = $this->sanitize($credit['attribs']['']['scheme'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ else
+ {
+ $credit_scheme = 'urn:ebu';
+ }
+ if (isset($credit['data']))
+ {
+ $credit_name = $this->sanitize($credit['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ $credits_parent[] = $this->registry->create('Credit', array($credit_role, $credit_scheme, $credit_name));
+ }
+ }
+ elseif ($credits = $parent->get_channel_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'credit'))
+ {
+ foreach ($credits as $credit)
+ {
+ $credit_role = null;
+ $credit_scheme = null;
+ $credit_name = null;
+ if (isset($credit['attribs']['']['role']))
+ {
+ $credit_role = $this->sanitize($credit['attribs']['']['role'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ if (isset($credit['attribs']['']['scheme']))
+ {
+ $credit_scheme = $this->sanitize($credit['attribs']['']['scheme'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ else
+ {
+ $credit_scheme = 'urn:ebu';
+ }
+ if (isset($credit['data']))
+ {
+ $credit_name = $this->sanitize($credit['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ $credits_parent[] = $this->registry->create('Credit', array($credit_role, $credit_scheme, $credit_name));
+ }
+ }
+ if (is_array($credits_parent))
+ {
+ $credits_parent = array_values(array_unique($credits_parent));
+ }
+
+ // DESCRIPTION
+ if ($description_parent = $this->get_item_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'description'))
+ {
+ if (isset($description_parent[0]['data']))
+ {
+ $description_parent = $this->sanitize($description_parent[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ }
+ elseif ($description_parent = $parent->get_channel_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'description'))
+ {
+ if (isset($description_parent[0]['data']))
+ {
+ $description_parent = $this->sanitize($description_parent[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ }
+
+ // DURATION
+ if ($duration_parent = $this->get_item_tags(SIMPLEPIE_NAMESPACE_ITUNES, 'duration'))
+ {
+ $seconds = null;
+ $minutes = null;
+ $hours = null;
+ if (isset($duration_parent[0]['data']))
+ {
+ $temp = explode(':', $this->sanitize($duration_parent[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT));
+ if (sizeof($temp) > 0)
+ {
+ $seconds = (int) array_pop($temp);
+ }
+ if (sizeof($temp) > 0)
+ {
+ $minutes = (int) array_pop($temp);
+ $seconds += $minutes * 60;
+ }
+ if (sizeof($temp) > 0)
+ {
+ $hours = (int) array_pop($temp);
+ $seconds += $hours * 3600;
+ }
+ unset($temp);
+ $duration_parent = $seconds;
+ }
+ }
+
+ // HASHES
+ if ($hashes_iterator = $this->get_item_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'hash'))
+ {
+ foreach ($hashes_iterator as $hash)
+ {
+ $value = null;
+ $algo = null;
+ if (isset($hash['data']))
+ {
+ $value = $this->sanitize($hash['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ if (isset($hash['attribs']['']['algo']))
+ {
+ $algo = $this->sanitize($hash['attribs']['']['algo'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ else
+ {
+ $algo = 'md5';
+ }
+ $hashes_parent[] = $algo.':'.$value;
+ }
+ }
+ elseif ($hashes_iterator = $parent->get_channel_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'hash'))
+ {
+ foreach ($hashes_iterator as $hash)
+ {
+ $value = null;
+ $algo = null;
+ if (isset($hash['data']))
+ {
+ $value = $this->sanitize($hash['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ if (isset($hash['attribs']['']['algo']))
+ {
+ $algo = $this->sanitize($hash['attribs']['']['algo'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ else
+ {
+ $algo = 'md5';
+ }
+ $hashes_parent[] = $algo.':'.$value;
+ }
+ }
+ if (is_array($hashes_parent))
+ {
+ $hashes_parent = array_values(array_unique($hashes_parent));
+ }
+
+ // KEYWORDS
+ if ($keywords = $this->get_item_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'keywords'))
+ {
+ if (isset($keywords[0]['data']))
+ {
+ $temp = explode(',', $this->sanitize($keywords[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT));
+ foreach ($temp as $word)
+ {
+ $keywords_parent[] = trim($word);
+ }
+ }
+ unset($temp);
+ }
+ elseif ($keywords = $this->get_item_tags(SIMPLEPIE_NAMESPACE_ITUNES, 'keywords'))
+ {
+ if (isset($keywords[0]['data']))
+ {
+ $temp = explode(',', $this->sanitize($keywords[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT));
+ foreach ($temp as $word)
+ {
+ $keywords_parent[] = trim($word);
+ }
+ }
+ unset($temp);
+ }
+ elseif ($keywords = $parent->get_channel_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'keywords'))
+ {
+ if (isset($keywords[0]['data']))
+ {
+ $temp = explode(',', $this->sanitize($keywords[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT));
+ foreach ($temp as $word)
+ {
+ $keywords_parent[] = trim($word);
+ }
+ }
+ unset($temp);
+ }
+ elseif ($keywords = $parent->get_channel_tags(SIMPLEPIE_NAMESPACE_ITUNES, 'keywords'))
+ {
+ if (isset($keywords[0]['data']))
+ {
+ $temp = explode(',', $this->sanitize($keywords[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT));
+ foreach ($temp as $word)
+ {
+ $keywords_parent[] = trim($word);
+ }
+ }
+ unset($temp);
+ }
+ if (is_array($keywords_parent))
+ {
+ $keywords_parent = array_values(array_unique($keywords_parent));
+ }
+
+ // PLAYER
+ if ($player_parent = $this->get_item_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'player'))
+ {
+ if (isset($player_parent[0]['attribs']['']['url']))
+ {
+ $player_parent = $this->sanitize($player_parent[0]['attribs']['']['url'], SIMPLEPIE_CONSTRUCT_IRI);
+ }
+ }
+ elseif ($player_parent = $parent->get_channel_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'player'))
+ {
+ if (isset($player_parent[0]['attribs']['']['url']))
+ {
+ $player_parent = $this->sanitize($player_parent[0]['attribs']['']['url'], SIMPLEPIE_CONSTRUCT_IRI);
+ }
+ }
+
+ // RATINGS
+ if ($ratings = $this->get_item_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'rating'))
+ {
+ foreach ($ratings as $rating)
+ {
+ $rating_scheme = null;
+ $rating_value = null;
+ if (isset($rating['attribs']['']['scheme']))
+ {
+ $rating_scheme = $this->sanitize($rating['attribs']['']['scheme'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ else
+ {
+ $rating_scheme = 'urn:simple';
+ }
+ if (isset($rating['data']))
+ {
+ $rating_value = $this->sanitize($rating['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ $ratings_parent[] = $this->registry->create('Rating', array($rating_scheme, $rating_value));
+ }
+ }
+ elseif ($ratings = $this->get_item_tags(SIMPLEPIE_NAMESPACE_ITUNES, 'explicit'))
+ {
+ foreach ($ratings as $rating)
+ {
+ $rating_scheme = 'urn:itunes';
+ $rating_value = null;
+ if (isset($rating['data']))
+ {
+ $rating_value = $this->sanitize($rating['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ $ratings_parent[] = $this->registry->create('Rating', array($rating_scheme, $rating_value));
+ }
+ }
+ elseif ($ratings = $parent->get_channel_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'rating'))
+ {
+ foreach ($ratings as $rating)
+ {
+ $rating_scheme = null;
+ $rating_value = null;
+ if (isset($rating['attribs']['']['scheme']))
+ {
+ $rating_scheme = $this->sanitize($rating['attribs']['']['scheme'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ else
+ {
+ $rating_scheme = 'urn:simple';
+ }
+ if (isset($rating['data']))
+ {
+ $rating_value = $this->sanitize($rating['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ $ratings_parent[] = $this->registry->create('Rating', array($rating_scheme, $rating_value));
+ }
+ }
+ elseif ($ratings = $parent->get_channel_tags(SIMPLEPIE_NAMESPACE_ITUNES, 'explicit'))
+ {
+ foreach ($ratings as $rating)
+ {
+ $rating_scheme = 'urn:itunes';
+ $rating_value = null;
+ if (isset($rating['data']))
+ {
+ $rating_value = $this->sanitize($rating['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ $ratings_parent[] = $this->registry->create('Rating', array($rating_scheme, $rating_value));
+ }
+ }
+ if (is_array($ratings_parent))
+ {
+ $ratings_parent = array_values(array_unique($ratings_parent));
+ }
+
+ // RESTRICTIONS
+ if ($restrictions = $this->get_item_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'restriction'))
+ {
+ foreach ($restrictions as $restriction)
+ {
+ $restriction_relationship = null;
+ $restriction_type = null;
+ $restriction_value = null;
+ if (isset($restriction['attribs']['']['relationship']))
+ {
+ $restriction_relationship = $this->sanitize($restriction['attribs']['']['relationship'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ if (isset($restriction['attribs']['']['type']))
+ {
+ $restriction_type = $this->sanitize($restriction['attribs']['']['type'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ if (isset($restriction['data']))
+ {
+ $restriction_value = $this->sanitize($restriction['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ $restrictions_parent[] = $this->registry->create('Restriction', array($restriction_relationship, $restriction_type, $restriction_value));
+ }
+ }
+ elseif ($restrictions = $this->get_item_tags(SIMPLEPIE_NAMESPACE_ITUNES, 'block'))
+ {
+ foreach ($restrictions as $restriction)
+ {
+ $restriction_relationship = 'allow';
+ $restriction_type = null;
+ $restriction_value = 'itunes';
+ if (isset($restriction['data']) && strtolower($restriction['data']) === 'yes')
+ {
+ $restriction_relationship = 'deny';
+ }
+ $restrictions_parent[] = $this->registry->create('Restriction', array($restriction_relationship, $restriction_type, $restriction_value));
+ }
+ }
+ elseif ($restrictions = $parent->get_channel_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'restriction'))
+ {
+ foreach ($restrictions as $restriction)
+ {
+ $restriction_relationship = null;
+ $restriction_type = null;
+ $restriction_value = null;
+ if (isset($restriction['attribs']['']['relationship']))
+ {
+ $restriction_relationship = $this->sanitize($restriction['attribs']['']['relationship'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ if (isset($restriction['attribs']['']['type']))
+ {
+ $restriction_type = $this->sanitize($restriction['attribs']['']['type'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ if (isset($restriction['data']))
+ {
+ $restriction_value = $this->sanitize($restriction['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ $restrictions_parent[] = $this->registry->create('Restriction', array($restriction_relationship, $restriction_type, $restriction_value));
+ }
+ }
+ elseif ($restrictions = $parent->get_channel_tags(SIMPLEPIE_NAMESPACE_ITUNES, 'block'))
+ {
+ foreach ($restrictions as $restriction)
+ {
+ $restriction_relationship = 'allow';
+ $restriction_type = null;
+ $restriction_value = 'itunes';
+ if (isset($restriction['data']) && strtolower($restriction['data']) === 'yes')
+ {
+ $restriction_relationship = 'deny';
+ }
+ $restrictions_parent[] = $this->registry->create('Restriction', array($restriction_relationship, $restriction_type, $restriction_value));
+ }
+ }
+ if (is_array($restrictions_parent))
+ {
+ $restrictions_parent = array_values(array_unique($restrictions_parent));
+ }
+ else
+ {
+ $restrictions_parent = array(new SimplePie_Restriction('allow', null, 'default'));
+ }
+
+ // THUMBNAILS
+ if ($thumbnails = $this->get_item_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'thumbnail'))
+ {
+ foreach ($thumbnails as $thumbnail)
+ {
+ if (isset($thumbnail['attribs']['']['url']))
+ {
+ $thumbnails_parent[] = $this->sanitize($thumbnail['attribs']['']['url'], SIMPLEPIE_CONSTRUCT_IRI);
+ }
+ }
+ }
+ elseif ($thumbnails = $parent->get_channel_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'thumbnail'))
+ {
+ foreach ($thumbnails as $thumbnail)
+ {
+ if (isset($thumbnail['attribs']['']['url']))
+ {
+ $thumbnails_parent[] = $this->sanitize($thumbnail['attribs']['']['url'], SIMPLEPIE_CONSTRUCT_IRI);
+ }
+ }
+ }
+
+ // TITLES
+ if ($title_parent = $this->get_item_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'title'))
+ {
+ if (isset($title_parent[0]['data']))
+ {
+ $title_parent = $this->sanitize($title_parent[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ }
+ elseif ($title_parent = $parent->get_channel_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'title'))
+ {
+ if (isset($title_parent[0]['data']))
+ {
+ $title_parent = $this->sanitize($title_parent[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ }
+
+ // Clear the memory
+ unset($parent);
+
+ // Attributes
+ $bitrate = null;
+ $channels = null;
+ $duration = null;
+ $expression = null;
+ $framerate = null;
+ $height = null;
+ $javascript = null;
+ $lang = null;
+ $length = null;
+ $medium = null;
+ $samplingrate = null;
+ $type = null;
+ $url = null;
+ $width = null;
+
+ // Elements
+ $captions = null;
+ $categories = null;
+ $copyrights = null;
+ $credits = null;
+ $description = null;
+ $hashes = null;
+ $keywords = null;
+ $player = null;
+ $ratings = null;
+ $restrictions = null;
+ $thumbnails = null;
+ $title = null;
+
+ // If we have media:group tags, loop through them.
+ foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'group') as $group)
+ {
+ if(isset($group['child']) && isset($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['content']))
+ {
+ // If we have media:content tags, loop through them.
+ foreach ((array) $group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['content'] as $content)
+ {
+ if (isset($content['attribs']['']['url']))
+ {
+ // Attributes
+ $bitrate = null;
+ $channels = null;
+ $duration = null;
+ $expression = null;
+ $framerate = null;
+ $height = null;
+ $javascript = null;
+ $lang = null;
+ $length = null;
+ $medium = null;
+ $samplingrate = null;
+ $type = null;
+ $url = null;
+ $width = null;
+
+ // Elements
+ $captions = null;
+ $categories = null;
+ $copyrights = null;
+ $credits = null;
+ $description = null;
+ $hashes = null;
+ $keywords = null;
+ $player = null;
+ $ratings = null;
+ $restrictions = null;
+ $thumbnails = null;
+ $title = null;
+
+ // Start checking the attributes of media:content
+ if (isset($content['attribs']['']['bitrate']))
+ {
+ $bitrate = $this->sanitize($content['attribs']['']['bitrate'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ if (isset($content['attribs']['']['channels']))
+ {
+ $channels = $this->sanitize($content['attribs']['']['channels'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ if (isset($content['attribs']['']['duration']))
+ {
+ $duration = $this->sanitize($content['attribs']['']['duration'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ else
+ {
+ $duration = $duration_parent;
+ }
+ if (isset($content['attribs']['']['expression']))
+ {
+ $expression = $this->sanitize($content['attribs']['']['expression'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ if (isset($content['attribs']['']['framerate']))
+ {
+ $framerate = $this->sanitize($content['attribs']['']['framerate'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ if (isset($content['attribs']['']['height']))
+ {
+ $height = $this->sanitize($content['attribs']['']['height'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ if (isset($content['attribs']['']['lang']))
+ {
+ $lang = $this->sanitize($content['attribs']['']['lang'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ if (isset($content['attribs']['']['fileSize']))
+ {
+ $length = ceil($content['attribs']['']['fileSize']);
+ }
+ if (isset($content['attribs']['']['medium']))
+ {
+ $medium = $this->sanitize($content['attribs']['']['medium'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ if (isset($content['attribs']['']['samplingrate']))
+ {
+ $samplingrate = $this->sanitize($content['attribs']['']['samplingrate'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ if (isset($content['attribs']['']['type']))
+ {
+ $type = $this->sanitize($content['attribs']['']['type'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ if (isset($content['attribs']['']['width']))
+ {
+ $width = $this->sanitize($content['attribs']['']['width'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ $url = $this->sanitize($content['attribs']['']['url'], SIMPLEPIE_CONSTRUCT_IRI);
+
+ // Checking the other optional media: elements. Priority: media:content, media:group, item, channel
+
+ // CAPTIONS
+ if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['text']))
+ {
+ foreach ($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['text'] as $caption)
+ {
+ $caption_type = null;
+ $caption_lang = null;
+ $caption_startTime = null;
+ $caption_endTime = null;
+ $caption_text = null;
+ if (isset($caption['attribs']['']['type']))
+ {
+ $caption_type = $this->sanitize($caption['attribs']['']['type'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ if (isset($caption['attribs']['']['lang']))
+ {
+ $caption_lang = $this->sanitize($caption['attribs']['']['lang'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ if (isset($caption['attribs']['']['start']))
+ {
+ $caption_startTime = $this->sanitize($caption['attribs']['']['start'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ if (isset($caption['attribs']['']['end']))
+ {
+ $caption_endTime = $this->sanitize($caption['attribs']['']['end'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ if (isset($caption['data']))
+ {
+ $caption_text = $this->sanitize($caption['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ $captions[] = $this->registry->create('Caption', array($caption_type, $caption_lang, $caption_startTime, $caption_endTime, $caption_text));
+ }
+ if (is_array($captions))
+ {
+ $captions = array_values(array_unique($captions));
+ }
+ }
+ elseif (isset($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['text']))
+ {
+ foreach ($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['text'] as $caption)
+ {
+ $caption_type = null;
+ $caption_lang = null;
+ $caption_startTime = null;
+ $caption_endTime = null;
+ $caption_text = null;
+ if (isset($caption['attribs']['']['type']))
+ {
+ $caption_type = $this->sanitize($caption['attribs']['']['type'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ if (isset($caption['attribs']['']['lang']))
+ {
+ $caption_lang = $this->sanitize($caption['attribs']['']['lang'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ if (isset($caption['attribs']['']['start']))
+ {
+ $caption_startTime = $this->sanitize($caption['attribs']['']['start'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ if (isset($caption['attribs']['']['end']))
+ {
+ $caption_endTime = $this->sanitize($caption['attribs']['']['end'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ if (isset($caption['data']))
+ {
+ $caption_text = $this->sanitize($caption['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ $captions[] = $this->registry->create('Caption', array($caption_type, $caption_lang, $caption_startTime, $caption_endTime, $caption_text));
+ }
+ if (is_array($captions))
+ {
+ $captions = array_values(array_unique($captions));
+ }
+ }
+ else
+ {
+ $captions = $captions_parent;
+ }
+
+ // CATEGORIES
+ if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['category']))
+ {
+ foreach ((array) $content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['category'] as $category)
+ {
+ $term = null;
+ $scheme = null;
+ $label = null;
+ if (isset($category['data']))
+ {
+ $term = $this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ if (isset($category['attribs']['']['scheme']))
+ {
+ $scheme = $this->sanitize($category['attribs']['']['scheme'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ else
+ {
+ $scheme = 'http://search.yahoo.com/mrss/category_schema';
+ }
+ if (isset($category['attribs']['']['label']))
+ {
+ $label = $this->sanitize($category['attribs']['']['label'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ $categories[] = $this->registry->create('Category', array($term, $scheme, $label));
+ }
+ }
+ if (isset($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['category']))
+ {
+ foreach ((array) $group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['category'] as $category)
+ {
+ $term = null;
+ $scheme = null;
+ $label = null;
+ if (isset($category['data']))
+ {
+ $term = $this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ if (isset($category['attribs']['']['scheme']))
+ {
+ $scheme = $this->sanitize($category['attribs']['']['scheme'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ else
+ {
+ $scheme = 'http://search.yahoo.com/mrss/category_schema';
+ }
+ if (isset($category['attribs']['']['label']))
+ {
+ $label = $this->sanitize($category['attribs']['']['label'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ $categories[] = $this->registry->create('Category', array($term, $scheme, $label));
+ }
+ }
+ if (is_array($categories) && is_array($categories_parent))
+ {
+ $categories = array_values(array_unique(array_merge($categories, $categories_parent)));
+ }
+ elseif (is_array($categories))
+ {
+ $categories = array_values(array_unique($categories));
+ }
+ elseif (is_array($categories_parent))
+ {
+ $categories = array_values(array_unique($categories_parent));
+ }
+
+ // COPYRIGHTS
+ if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['copyright']))
+ {
+ $copyright_url = null;
+ $copyright_label = null;
+ if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['copyright'][0]['attribs']['']['url']))
+ {
+ $copyright_url = $this->sanitize($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['copyright'][0]['attribs']['']['url'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['copyright'][0]['data']))
+ {
+ $copyright_label = $this->sanitize($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['copyright'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ $copyrights = $this->registry->create('Copyright', array($copyright_url, $copyright_label));
+ }
+ elseif (isset($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['copyright']))
+ {
+ $copyright_url = null;
+ $copyright_label = null;
+ if (isset($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['copyright'][0]['attribs']['']['url']))
+ {
+ $copyright_url = $this->sanitize($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['copyright'][0]['attribs']['']['url'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ if (isset($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['copyright'][0]['data']))
+ {
+ $copyright_label = $this->sanitize($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['copyright'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ $copyrights = $this->registry->create('Copyright', array($copyright_url, $copyright_label));
+ }
+ else
+ {
+ $copyrights = $copyrights_parent;
+ }
+
+ // CREDITS
+ if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['credit']))
+ {
+ foreach ($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['credit'] as $credit)
+ {
+ $credit_role = null;
+ $credit_scheme = null;
+ $credit_name = null;
+ if (isset($credit['attribs']['']['role']))
+ {
+ $credit_role = $this->sanitize($credit['attribs']['']['role'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ if (isset($credit['attribs']['']['scheme']))
+ {
+ $credit_scheme = $this->sanitize($credit['attribs']['']['scheme'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ else
+ {
+ $credit_scheme = 'urn:ebu';
+ }
+ if (isset($credit['data']))
+ {
+ $credit_name = $this->sanitize($credit['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ $credits[] = $this->registry->create('Credit', array($credit_role, $credit_scheme, $credit_name));
+ }
+ if (is_array($credits))
+ {
+ $credits = array_values(array_unique($credits));
+ }
+ }
+ elseif (isset($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['credit']))
+ {
+ foreach ($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['credit'] as $credit)
+ {
+ $credit_role = null;
+ $credit_scheme = null;
+ $credit_name = null;
+ if (isset($credit['attribs']['']['role']))
+ {
+ $credit_role = $this->sanitize($credit['attribs']['']['role'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ if (isset($credit['attribs']['']['scheme']))
+ {
+ $credit_scheme = $this->sanitize($credit['attribs']['']['scheme'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ else
+ {
+ $credit_scheme = 'urn:ebu';
+ }
+ if (isset($credit['data']))
+ {
+ $credit_name = $this->sanitize($credit['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ $credits[] = $this->registry->create('Credit', array($credit_role, $credit_scheme, $credit_name));
+ }
+ if (is_array($credits))
+ {
+ $credits = array_values(array_unique($credits));
+ }
+ }
+ else
+ {
+ $credits = $credits_parent;
+ }
+
+ // DESCRIPTION
+ if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['description']))
+ {
+ $description = $this->sanitize($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['description'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ elseif (isset($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['description']))
+ {
+ $description = $this->sanitize($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['description'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ else
+ {
+ $description = $description_parent;
+ }
+
+ // HASHES
+ if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['hash']))
+ {
+ foreach ($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['hash'] as $hash)
+ {
+ $value = null;
+ $algo = null;
+ if (isset($hash['data']))
+ {
+ $value = $this->sanitize($hash['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ if (isset($hash['attribs']['']['algo']))
+ {
+ $algo = $this->sanitize($hash['attribs']['']['algo'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ else
+ {
+ $algo = 'md5';
+ }
+ $hashes[] = $algo.':'.$value;
+ }
+ if (is_array($hashes))
+ {
+ $hashes = array_values(array_unique($hashes));
+ }
+ }
+ elseif (isset($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['hash']))
+ {
+ foreach ($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['hash'] as $hash)
+ {
+ $value = null;
+ $algo = null;
+ if (isset($hash['data']))
+ {
+ $value = $this->sanitize($hash['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ if (isset($hash['attribs']['']['algo']))
+ {
+ $algo = $this->sanitize($hash['attribs']['']['algo'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ else
+ {
+ $algo = 'md5';
+ }
+ $hashes[] = $algo.':'.$value;
+ }
+ if (is_array($hashes))
+ {
+ $hashes = array_values(array_unique($hashes));
+ }
+ }
+ else
+ {
+ $hashes = $hashes_parent;
+ }
+
+ // KEYWORDS
+ if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['keywords']))
+ {
+ if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['keywords'][0]['data']))
+ {
+ $temp = explode(',', $this->sanitize($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['keywords'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT));
+ foreach ($temp as $word)
+ {
+ $keywords[] = trim($word);
+ }
+ unset($temp);
+ }
+ if (is_array($keywords))
+ {
+ $keywords = array_values(array_unique($keywords));
+ }
+ }
+ elseif (isset($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['keywords']))
+ {
+ if (isset($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['keywords'][0]['data']))
+ {
+ $temp = explode(',', $this->sanitize($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['keywords'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT));
+ foreach ($temp as $word)
+ {
+ $keywords[] = trim($word);
+ }
+ unset($temp);
+ }
+ if (is_array($keywords))
+ {
+ $keywords = array_values(array_unique($keywords));
+ }
+ }
+ else
+ {
+ $keywords = $keywords_parent;
+ }
+
+ // PLAYER
+ if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['player']))
+ {
+ $player = $this->sanitize($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['player'][0]['attribs']['']['url'], SIMPLEPIE_CONSTRUCT_IRI);
+ }
+ elseif (isset($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['player']))
+ {
+ $player = $this->sanitize($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['player'][0]['attribs']['']['url'], SIMPLEPIE_CONSTRUCT_IRI);
+ }
+ else
+ {
+ $player = $player_parent;
+ }
+
+ // RATINGS
+ if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['rating']))
+ {
+ foreach ($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['rating'] as $rating)
+ {
+ $rating_scheme = null;
+ $rating_value = null;
+ if (isset($rating['attribs']['']['scheme']))
+ {
+ $rating_scheme = $this->sanitize($rating['attribs']['']['scheme'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ else
+ {
+ $rating_scheme = 'urn:simple';
+ }
+ if (isset($rating['data']))
+ {
+ $rating_value = $this->sanitize($rating['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ $ratings[] = $this->registry->create('Rating', array($rating_scheme, $rating_value));
+ }
+ if (is_array($ratings))
+ {
+ $ratings = array_values(array_unique($ratings));
+ }
+ }
+ elseif (isset($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['rating']))
+ {
+ foreach ($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['rating'] as $rating)
+ {
+ $rating_scheme = null;
+ $rating_value = null;
+ if (isset($rating['attribs']['']['scheme']))
+ {
+ $rating_scheme = $this->sanitize($rating['attribs']['']['scheme'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ else
+ {
+ $rating_scheme = 'urn:simple';
+ }
+ if (isset($rating['data']))
+ {
+ $rating_value = $this->sanitize($rating['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ $ratings[] = $this->registry->create('Rating', array($rating_scheme, $rating_value));
+ }
+ if (is_array($ratings))
+ {
+ $ratings = array_values(array_unique($ratings));
+ }
+ }
+ else
+ {
+ $ratings = $ratings_parent;
+ }
+
+ // RESTRICTIONS
+ if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['restriction']))
+ {
+ foreach ($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['restriction'] as $restriction)
+ {
+ $restriction_relationship = null;
+ $restriction_type = null;
+ $restriction_value = null;
+ if (isset($restriction['attribs']['']['relationship']))
+ {
+ $restriction_relationship = $this->sanitize($restriction['attribs']['']['relationship'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ if (isset($restriction['attribs']['']['type']))
+ {
+ $restriction_type = $this->sanitize($restriction['attribs']['']['type'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ if (isset($restriction['data']))
+ {
+ $restriction_value = $this->sanitize($restriction['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ $restrictions[] = $this->registry->create('Restriction', array($restriction_relationship, $restriction_type, $restriction_value));
+ }
+ if (is_array($restrictions))
+ {
+ $restrictions = array_values(array_unique($restrictions));
+ }
+ }
+ elseif (isset($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['restriction']))
+ {
+ foreach ($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['restriction'] as $restriction)
+ {
+ $restriction_relationship = null;
+ $restriction_type = null;
+ $restriction_value = null;
+ if (isset($restriction['attribs']['']['relationship']))
+ {
+ $restriction_relationship = $this->sanitize($restriction['attribs']['']['relationship'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ if (isset($restriction['attribs']['']['type']))
+ {
+ $restriction_type = $this->sanitize($restriction['attribs']['']['type'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ if (isset($restriction['data']))
+ {
+ $restriction_value = $this->sanitize($restriction['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ $restrictions[] = $this->registry->create('Restriction', array($restriction_relationship, $restriction_type, $restriction_value));
+ }
+ if (is_array($restrictions))
+ {
+ $restrictions = array_values(array_unique($restrictions));
+ }
+ }
+ else
+ {
+ $restrictions = $restrictions_parent;
+ }
+
+ // THUMBNAILS
+ if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['thumbnail']))
+ {
+ foreach ($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['thumbnail'] as $thumbnail)
+ {
+ $thumbnails[] = $this->sanitize($thumbnail['attribs']['']['url'], SIMPLEPIE_CONSTRUCT_IRI);
+ }
+ if (is_array($thumbnails))
+ {
+ $thumbnails = array_values(array_unique($thumbnails));
+ }
+ }
+ elseif (isset($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['thumbnail']))
+ {
+ foreach ($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['thumbnail'] as $thumbnail)
+ {
+ $thumbnails[] = $this->sanitize($thumbnail['attribs']['']['url'], SIMPLEPIE_CONSTRUCT_IRI);
+ }
+ if (is_array($thumbnails))
+ {
+ $thumbnails = array_values(array_unique($thumbnails));
+ }
+ }
+ else
+ {
+ $thumbnails = $thumbnails_parent;
+ }
+
+ // TITLES
+ if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['title']))
+ {
+ $title = $this->sanitize($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['title'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ elseif (isset($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['title']))
+ {
+ $title = $this->sanitize($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['title'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ else
+ {
+ $title = $title_parent;
+ }
+
+ $this->data['enclosures'][] = $this->registry->create('Enclosure', array($url, $type, $length, null, $bitrate, $captions, $categories, $channels, $copyrights, $credits, $description, $duration, $expression, $framerate, $hashes, $height, $keywords, $lang, $medium, $player, $ratings, $restrictions, $samplingrate, $thumbnails, $title, $width));
+ }
+ }
+ }
+ }
+
+ // If we have standalone media:content tags, loop through them.
+ if (isset($this->data['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['content']))
+ {
+ foreach ((array) $this->data['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['content'] as $content)
+ {
+ if (isset($content['attribs']['']['url']) || isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['player']))
+ {
+ // Attributes
+ $bitrate = null;
+ $channels = null;
+ $duration = null;
+ $expression = null;
+ $framerate = null;
+ $height = null;
+ $javascript = null;
+ $lang = null;
+ $length = null;
+ $medium = null;
+ $samplingrate = null;
+ $type = null;
+ $url = null;
+ $width = null;
+
+ // Elements
+ $captions = null;
+ $categories = null;
+ $copyrights = null;
+ $credits = null;
+ $description = null;
+ $hashes = null;
+ $keywords = null;
+ $player = null;
+ $ratings = null;
+ $restrictions = null;
+ $thumbnails = null;
+ $title = null;
+
+ // Start checking the attributes of media:content
+ if (isset($content['attribs']['']['bitrate']))
+ {
+ $bitrate = $this->sanitize($content['attribs']['']['bitrate'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ if (isset($content['attribs']['']['channels']))
+ {
+ $channels = $this->sanitize($content['attribs']['']['channels'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ if (isset($content['attribs']['']['duration']))
+ {
+ $duration = $this->sanitize($content['attribs']['']['duration'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ else
+ {
+ $duration = $duration_parent;
+ }
+ if (isset($content['attribs']['']['expression']))
+ {
+ $expression = $this->sanitize($content['attribs']['']['expression'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ if (isset($content['attribs']['']['framerate']))
+ {
+ $framerate = $this->sanitize($content['attribs']['']['framerate'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ if (isset($content['attribs']['']['height']))
+ {
+ $height = $this->sanitize($content['attribs']['']['height'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ if (isset($content['attribs']['']['lang']))
+ {
+ $lang = $this->sanitize($content['attribs']['']['lang'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ if (isset($content['attribs']['']['fileSize']))
+ {
+ $length = ceil($content['attribs']['']['fileSize']);
+ }
+ if (isset($content['attribs']['']['medium']))
+ {
+ $medium = $this->sanitize($content['attribs']['']['medium'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ if (isset($content['attribs']['']['samplingrate']))
+ {
+ $samplingrate = $this->sanitize($content['attribs']['']['samplingrate'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ if (isset($content['attribs']['']['type']))
+ {
+ $type = $this->sanitize($content['attribs']['']['type'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ if (isset($content['attribs']['']['width']))
+ {
+ $width = $this->sanitize($content['attribs']['']['width'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ if (isset($content['attribs']['']['url']))
+ {
+ $url = $this->sanitize($content['attribs']['']['url'], SIMPLEPIE_CONSTRUCT_IRI);
+ }
+ // Checking the other optional media: elements. Priority: media:content, media:group, item, channel
+
+ // CAPTIONS
+ if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['text']))
+ {
+ foreach ($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['text'] as $caption)
+ {
+ $caption_type = null;
+ $caption_lang = null;
+ $caption_startTime = null;
+ $caption_endTime = null;
+ $caption_text = null;
+ if (isset($caption['attribs']['']['type']))
+ {
+ $caption_type = $this->sanitize($caption['attribs']['']['type'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ if (isset($caption['attribs']['']['lang']))
+ {
+ $caption_lang = $this->sanitize($caption['attribs']['']['lang'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ if (isset($caption['attribs']['']['start']))
+ {
+ $caption_startTime = $this->sanitize($caption['attribs']['']['start'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ if (isset($caption['attribs']['']['end']))
+ {
+ $caption_endTime = $this->sanitize($caption['attribs']['']['end'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ if (isset($caption['data']))
+ {
+ $caption_text = $this->sanitize($caption['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ $captions[] = $this->registry->create('Caption', array($caption_type, $caption_lang, $caption_startTime, $caption_endTime, $caption_text));
+ }
+ if (is_array($captions))
+ {
+ $captions = array_values(array_unique($captions));
+ }
+ }
+ else
+ {
+ $captions = $captions_parent;
+ }
+
+ // CATEGORIES
+ if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['category']))
+ {
+ foreach ((array) $content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['category'] as $category)
+ {
+ $term = null;
+ $scheme = null;
+ $label = null;
+ if (isset($category['data']))
+ {
+ $term = $this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ if (isset($category['attribs']['']['scheme']))
+ {
+ $scheme = $this->sanitize($category['attribs']['']['scheme'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ else
+ {
+ $scheme = 'http://search.yahoo.com/mrss/category_schema';
+ }
+ if (isset($category['attribs']['']['label']))
+ {
+ $label = $this->sanitize($category['attribs']['']['label'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ $categories[] = $this->registry->create('Category', array($term, $scheme, $label));
+ }
+ }
+ if (is_array($categories) && is_array($categories_parent))
+ {
+ $categories = array_values(array_unique(array_merge($categories, $categories_parent)));
+ }
+ elseif (is_array($categories))
+ {
+ $categories = array_values(array_unique($categories));
+ }
+ elseif (is_array($categories_parent))
+ {
+ $categories = array_values(array_unique($categories_parent));
+ }
+ else
+ {
+ $categories = null;
+ }
+
+ // COPYRIGHTS
+ if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['copyright']))
+ {
+ $copyright_url = null;
+ $copyright_label = null;
+ if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['copyright'][0]['attribs']['']['url']))
+ {
+ $copyright_url = $this->sanitize($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['copyright'][0]['attribs']['']['url'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['copyright'][0]['data']))
+ {
+ $copyright_label = $this->sanitize($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['copyright'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ $copyrights = $this->registry->create('Copyright', array($copyright_url, $copyright_label));
+ }
+ else
+ {
+ $copyrights = $copyrights_parent;
+ }
+
+ // CREDITS
+ if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['credit']))
+ {
+ foreach ($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['credit'] as $credit)
+ {
+ $credit_role = null;
+ $credit_scheme = null;
+ $credit_name = null;
+ if (isset($credit['attribs']['']['role']))
+ {
+ $credit_role = $this->sanitize($credit['attribs']['']['role'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ if (isset($credit['attribs']['']['scheme']))
+ {
+ $credit_scheme = $this->sanitize($credit['attribs']['']['scheme'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ else
+ {
+ $credit_scheme = 'urn:ebu';
+ }
+ if (isset($credit['data']))
+ {
+ $credit_name = $this->sanitize($credit['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ $credits[] = $this->registry->create('Credit', array($credit_role, $credit_scheme, $credit_name));
+ }
+ if (is_array($credits))
+ {
+ $credits = array_values(array_unique($credits));
+ }
+ }
+ else
+ {
+ $credits = $credits_parent;
+ }
+
+ // DESCRIPTION
+ if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['description']))
+ {
+ $description = $this->sanitize($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['description'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ else
+ {
+ $description = $description_parent;
+ }
+
+ // HASHES
+ if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['hash']))
+ {
+ foreach ($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['hash'] as $hash)
+ {
+ $value = null;
+ $algo = null;
+ if (isset($hash['data']))
+ {
+ $value = $this->sanitize($hash['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ if (isset($hash['attribs']['']['algo']))
+ {
+ $algo = $this->sanitize($hash['attribs']['']['algo'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ else
+ {
+ $algo = 'md5';
+ }
+ $hashes[] = $algo.':'.$value;
+ }
+ if (is_array($hashes))
+ {
+ $hashes = array_values(array_unique($hashes));
+ }
+ }
+ else
+ {
+ $hashes = $hashes_parent;
+ }
+
+ // KEYWORDS
+ if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['keywords']))
+ {
+ if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['keywords'][0]['data']))
+ {
+ $temp = explode(',', $this->sanitize($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['keywords'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT));
+ foreach ($temp as $word)
+ {
+ $keywords[] = trim($word);
+ }
+ unset($temp);
+ }
+ if (is_array($keywords))
+ {
+ $keywords = array_values(array_unique($keywords));
+ }
+ }
+ else
+ {
+ $keywords = $keywords_parent;
+ }
+
+ // PLAYER
+ if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['player']))
+ {
+ if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['player'][0]['attribs']['']['url'])) {
+ $player = $this->sanitize($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['player'][0]['attribs']['']['url'], SIMPLEPIE_CONSTRUCT_IRI);
+ }
+ }
+ else
+ {
+ $player = $player_parent;
+ }
+
+ // RATINGS
+ if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['rating']))
+ {
+ foreach ($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['rating'] as $rating)
+ {
+ $rating_scheme = null;
+ $rating_value = null;
+ if (isset($rating['attribs']['']['scheme']))
+ {
+ $rating_scheme = $this->sanitize($rating['attribs']['']['scheme'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ else
+ {
+ $rating_scheme = 'urn:simple';
+ }
+ if (isset($rating['data']))
+ {
+ $rating_value = $this->sanitize($rating['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ $ratings[] = $this->registry->create('Rating', array($rating_scheme, $rating_value));
+ }
+ if (is_array($ratings))
+ {
+ $ratings = array_values(array_unique($ratings));
+ }
+ }
+ else
+ {
+ $ratings = $ratings_parent;
+ }
+
+ // RESTRICTIONS
+ if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['restriction']))
+ {
+ foreach ($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['restriction'] as $restriction)
+ {
+ $restriction_relationship = null;
+ $restriction_type = null;
+ $restriction_value = null;
+ if (isset($restriction['attribs']['']['relationship']))
+ {
+ $restriction_relationship = $this->sanitize($restriction['attribs']['']['relationship'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ if (isset($restriction['attribs']['']['type']))
+ {
+ $restriction_type = $this->sanitize($restriction['attribs']['']['type'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ if (isset($restriction['data']))
+ {
+ $restriction_value = $this->sanitize($restriction['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ $restrictions[] = $this->registry->create('Restriction', array($restriction_relationship, $restriction_type, $restriction_value));
+ }
+ if (is_array($restrictions))
+ {
+ $restrictions = array_values(array_unique($restrictions));
+ }
+ }
+ else
+ {
+ $restrictions = $restrictions_parent;
+ }
+
+ // THUMBNAILS
+ if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['thumbnail']))
+ {
+ foreach ($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['thumbnail'] as $thumbnail)
+ {
+ if (isset($thumbnail['attribs']['']['url'])) {
+ $thumbnails[] = $this->sanitize($thumbnail['attribs']['']['url'], SIMPLEPIE_CONSTRUCT_IRI);
+ }
+ }
+ if (is_array($thumbnails))
+ {
+ $thumbnails = array_values(array_unique($thumbnails));
+ }
+ }
+ else
+ {
+ $thumbnails = $thumbnails_parent;
+ }
+
+ // TITLES
+ if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['title']))
+ {
+ $title = $this->sanitize($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['title'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ else
+ {
+ $title = $title_parent;
+ }
+
+ $this->data['enclosures'][] = $this->registry->create('Enclosure', array($url, $type, $length, null, $bitrate, $captions, $categories, $channels, $copyrights, $credits, $description, $duration, $expression, $framerate, $hashes, $height, $keywords, $lang, $medium, $player, $ratings, $restrictions, $samplingrate, $thumbnails, $title, $width));
+ }
+ }
+ }
+
+ foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'link') as $link)
+ {
+ if (isset($link['attribs']['']['href']) && !empty($link['attribs']['']['rel']) && $link['attribs']['']['rel'] === 'enclosure')
+ {
+ // Attributes
+ $bitrate = null;
+ $channels = null;
+ $duration = null;
+ $expression = null;
+ $framerate = null;
+ $height = null;
+ $javascript = null;
+ $lang = null;
+ $length = null;
+ $medium = null;
+ $samplingrate = null;
+ $type = null;
+ $url = null;
+ $width = null;
+
+ $url = $this->sanitize($link['attribs']['']['href'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($link));
+ if (isset($link['attribs']['']['type']))
+ {
+ $type = $this->sanitize($link['attribs']['']['type'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ if (isset($link['attribs']['']['length']))
+ {
+ $length = ceil($link['attribs']['']['length']);
+ }
+ if (isset($link['attribs']['']['title']))
+ {
+ $title = $this->sanitize($link['attribs']['']['title'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ else
+ {
+ $title = $title_parent;
+ }
+
+ // Since we don't have group or content for these, we'll just pass the '*_parent' variables directly to the constructor
+ $this->data['enclosures'][] = $this->registry->create('Enclosure', array($url, $type, $length, null, $bitrate, $captions_parent, $categories_parent, $channels, $copyrights_parent, $credits_parent, $description_parent, $duration_parent, $expression, $framerate, $hashes_parent, $height, $keywords_parent, $lang, $medium, $player_parent, $ratings_parent, $restrictions_parent, $samplingrate, $thumbnails_parent, $title, $width));
+ }
+ }
+
+ foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'link') as $link)
+ {
+ if (isset($link['attribs']['']['href']) && !empty($link['attribs']['']['rel']) && $link['attribs']['']['rel'] === 'enclosure')
+ {
+ // Attributes
+ $bitrate = null;
+ $channels = null;
+ $duration = null;
+ $expression = null;
+ $framerate = null;
+ $height = null;
+ $javascript = null;
+ $lang = null;
+ $length = null;
+ $medium = null;
+ $samplingrate = null;
+ $type = null;
+ $url = null;
+ $width = null;
+
+ $url = $this->sanitize($link['attribs']['']['href'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($link));
+ if (isset($link['attribs']['']['type']))
+ {
+ $type = $this->sanitize($link['attribs']['']['type'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ if (isset($link['attribs']['']['length']))
+ {
+ $length = ceil($link['attribs']['']['length']);
+ }
+
+ // Since we don't have group or content for these, we'll just pass the '*_parent' variables directly to the constructor
+ $this->data['enclosures'][] = $this->registry->create('Enclosure', array($url, $type, $length, null, $bitrate, $captions_parent, $categories_parent, $channels, $copyrights_parent, $credits_parent, $description_parent, $duration_parent, $expression, $framerate, $hashes_parent, $height, $keywords_parent, $lang, $medium, $player_parent, $ratings_parent, $restrictions_parent, $samplingrate, $thumbnails_parent, $title_parent, $width));
+ }
+ }
+
+ if ($enclosure = $this->get_item_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'enclosure'))
+ {
+ if (isset($enclosure[0]['attribs']['']['url']))
+ {
+ // Attributes
+ $bitrate = null;
+ $channels = null;
+ $duration = null;
+ $expression = null;
+ $framerate = null;
+ $height = null;
+ $javascript = null;
+ $lang = null;
+ $length = null;
+ $medium = null;
+ $samplingrate = null;
+ $type = null;
+ $url = null;
+ $width = null;
+
+ $url = $this->sanitize($enclosure[0]['attribs']['']['url'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($enclosure[0]));
+ if (isset($enclosure[0]['attribs']['']['type']))
+ {
+ $type = $this->sanitize($enclosure[0]['attribs']['']['type'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ if (isset($enclosure[0]['attribs']['']['length']))
+ {
+ $length = ceil($enclosure[0]['attribs']['']['length']);
+ }
+
+ // Since we don't have group or content for these, we'll just pass the '*_parent' variables directly to the constructor
+ $this->data['enclosures'][] = $this->registry->create('Enclosure', array($url, $type, $length, null, $bitrate, $captions_parent, $categories_parent, $channels, $copyrights_parent, $credits_parent, $description_parent, $duration_parent, $expression, $framerate, $hashes_parent, $height, $keywords_parent, $lang, $medium, $player_parent, $ratings_parent, $restrictions_parent, $samplingrate, $thumbnails_parent, $title_parent, $width));
+ }
+ }
+
+ if (sizeof($this->data['enclosures']) === 0 && ($url || $type || $length || $bitrate || $captions_parent || $categories_parent || $channels || $copyrights_parent || $credits_parent || $description_parent || $duration_parent || $expression || $framerate || $hashes_parent || $height || $keywords_parent || $lang || $medium || $player_parent || $ratings_parent || $restrictions_parent || $samplingrate || $thumbnails_parent || $title_parent || $width))
+ {
+ // Since we don't have group or content for these, we'll just pass the '*_parent' variables directly to the constructor
+ $this->data['enclosures'][] = $this->registry->create('Enclosure', array($url, $type, $length, null, $bitrate, $captions_parent, $categories_parent, $channels, $copyrights_parent, $credits_parent, $description_parent, $duration_parent, $expression, $framerate, $hashes_parent, $height, $keywords_parent, $lang, $medium, $player_parent, $ratings_parent, $restrictions_parent, $samplingrate, $thumbnails_parent, $title_parent, $width));
+ }
+
+ $this->data['enclosures'] = array_values(array_unique($this->data['enclosures']));
+ }
+ if (!empty($this->data['enclosures']))
+ {
+ return $this->data['enclosures'];
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ /**
+ * Get the latitude coordinates for the item
+ *
+ * Compatible with the W3C WGS84 Basic Geo and GeoRSS specifications
+ *
+ * Uses `<geo:lat>` or `<georss:point>`
+ *
+ * @since 1.0
+ * @link http://www.w3.org/2003/01/geo/ W3C WGS84 Basic Geo
+ * @link http://www.georss.org/ GeoRSS
+ * @return string|null
+ */
+ public function get_latitude()
+ {
+ if ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_W3C_BASIC_GEO, 'lat'))
+ {
+ return (float) $return[0]['data'];
+ }
+ elseif (($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_GEORSS, 'point')) && preg_match('/^((?:-)?[0-9]+(?:\.[0-9]+)) ((?:-)?[0-9]+(?:\.[0-9]+))$/', trim($return[0]['data']), $match))
+ {
+ return (float) $match[1];
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ /**
+ * Get the longitude coordinates for the item
+ *
+ * Compatible with the W3C WGS84 Basic Geo and GeoRSS specifications
+ *
+ * Uses `<geo:long>`, `<geo:lon>` or `<georss:point>`
+ *
+ * @since 1.0
+ * @link http://www.w3.org/2003/01/geo/ W3C WGS84 Basic Geo
+ * @link http://www.georss.org/ GeoRSS
+ * @return string|null
+ */
+ public function get_longitude()
+ {
+ if ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_W3C_BASIC_GEO, 'long'))
+ {
+ return (float) $return[0]['data'];
+ }
+ elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_W3C_BASIC_GEO, 'lon'))
+ {
+ return (float) $return[0]['data'];
+ }
+ elseif (($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_GEORSS, 'point')) && preg_match('/^((?:-)?[0-9]+(?:\.[0-9]+)) ((?:-)?[0-9]+(?:\.[0-9]+))$/', trim($return[0]['data']), $match))
+ {
+ return (float) $match[2];
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ /**
+ * Get the `<atom:source>` for the item
+ *
+ * @since 1.1
+ * @return SimplePie_Source|null
+ */
+ public function get_source()
+ {
+ if ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'source'))
+ {
+ return $this->registry->create('Source', array($this, $return[0]));
+ }
+ else
+ {
+ return null;
+ }
+ }
+}
+
diff --git a/vendor/simplepie/simplepie/library/SimplePie/Locator.php b/vendor/simplepie/simplepie/library/SimplePie/Locator.php
new file mode 100644
index 000000000..bc314c2cd
--- /dev/null
+++ b/vendor/simplepie/simplepie/library/SimplePie/Locator.php
@@ -0,0 +1,429 @@
+<?php
+/**
+ * SimplePie
+ *
+ * A PHP-Based RSS and Atom Feed Framework.
+ * Takes the hard work out of managing a complete RSS/Atom solution.
+ *
+ * Copyright (c) 2004-2016, Ryan Parman, Geoffrey Sneddon, Ryan McCue, and contributors
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification, are
+ * permitted provided that the following conditions are met:
+ *
+ * * Redistributions of source code must retain the above copyright notice, this list of
+ * conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above copyright notice, this list
+ * of conditions and the following disclaimer in the documentation and/or other materials
+ * provided with the distribution.
+ *
+ * * Neither the name of the SimplePie Team nor the names of its contributors may be used
+ * to endorse or promote products derived from this software without specific prior
+ * written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS
+ * AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ *
+ * @package SimplePie
+ * @copyright 2004-2016 Ryan Parman, Geoffrey Sneddon, Ryan McCue
+ * @author Ryan Parman
+ * @author Geoffrey Sneddon
+ * @author Ryan McCue
+ * @link http://simplepie.org/ SimplePie
+ * @license http://www.opensource.org/licenses/bsd-license.php BSD License
+ */
+
+/**
+ * Used for feed auto-discovery
+ *
+ *
+ * This class can be overloaded with {@see SimplePie::set_locator_class()}
+ *
+ * @package SimplePie
+ */
+class SimplePie_Locator
+{
+ var $useragent;
+ var $timeout;
+ var $file;
+ var $local = array();
+ var $elsewhere = array();
+ var $cached_entities = array();
+ var $http_base;
+ var $base;
+ var $base_location = 0;
+ var $checked_feeds = 0;
+ var $max_checked_feeds = 10;
+ protected $registry;
+
+ public function __construct(SimplePie_File $file, $timeout = 10, $useragent = null, $max_checked_feeds = 10)
+ {
+ $this->file = $file;
+ $this->useragent = $useragent;
+ $this->timeout = $timeout;
+ $this->max_checked_feeds = $max_checked_feeds;
+
+ if (class_exists('DOMDocument'))
+ {
+ $this->dom = new DOMDocument();
+
+ set_error_handler(array('SimplePie_Misc', 'silence_errors'));
+ $this->dom->loadHTML($this->file->body);
+ restore_error_handler();
+ }
+ else
+ {
+ $this->dom = null;
+ }
+ }
+
+ public function set_registry(SimplePie_Registry $registry)
+ {
+ $this->registry = $registry;
+ }
+
+ public function find($type = SIMPLEPIE_LOCATOR_ALL, &$working)
+ {
+ if ($this->is_feed($this->file))
+ {
+ return $this->file;
+ }
+
+ if ($this->file->method & SIMPLEPIE_FILE_SOURCE_REMOTE)
+ {
+ $sniffer = $this->registry->create('Content_Type_Sniffer', array($this->file));
+ if ($sniffer->get_type() !== 'text/html')
+ {
+ return null;
+ }
+ }
+
+ if ($type & ~SIMPLEPIE_LOCATOR_NONE)
+ {
+ $this->get_base();
+ }
+
+ if ($type & SIMPLEPIE_LOCATOR_AUTODISCOVERY && $working = $this->autodiscovery())
+ {
+ return $working[0];
+ }
+
+ if ($type & (SIMPLEPIE_LOCATOR_LOCAL_EXTENSION | SIMPLEPIE_LOCATOR_LOCAL_BODY | SIMPLEPIE_LOCATOR_REMOTE_EXTENSION | SIMPLEPIE_LOCATOR_REMOTE_BODY) && $this->get_links())
+ {
+ if ($type & SIMPLEPIE_LOCATOR_LOCAL_EXTENSION && $working = $this->extension($this->local))
+ {
+ return $working[0];
+ }
+
+ if ($type & SIMPLEPIE_LOCATOR_LOCAL_BODY && $working = $this->body($this->local))
+ {
+ return $working[0];
+ }
+
+ if ($type & SIMPLEPIE_LOCATOR_REMOTE_EXTENSION && $working = $this->extension($this->elsewhere))
+ {
+ return $working[0];
+ }
+
+ if ($type & SIMPLEPIE_LOCATOR_REMOTE_BODY && $working = $this->body($this->elsewhere))
+ {
+ return $working[0];
+ }
+ }
+ return null;
+ }
+
+ public function is_feed($file, $check_html = false)
+ {
+ if ($file->method & SIMPLEPIE_FILE_SOURCE_REMOTE)
+ {
+ $sniffer = $this->registry->create('Content_Type_Sniffer', array($file));
+ $sniffed = $sniffer->get_type();
+ $mime_types = array('application/rss+xml', 'application/rdf+xml',
+ 'text/rdf', 'application/atom+xml', 'text/xml',
+ 'application/xml', 'application/x-rss+xml');
+ if ($check_html)
+ {
+ $mime_types[] = 'text/html';
+ }
+ if (in_array($sniffed, $mime_types))
+ {
+ return true;
+ }
+ else
+ {
+ return false;
+ }
+ }
+ elseif ($file->method & SIMPLEPIE_FILE_SOURCE_LOCAL)
+ {
+ return true;
+ }
+ else
+ {
+ return false;
+ }
+ }
+
+ public function get_base()
+ {
+ if ($this->dom === null)
+ {
+ throw new SimplePie_Exception('DOMDocument not found, unable to use locator');
+ }
+ $this->http_base = $this->file->url;
+ $this->base = $this->http_base;
+ $elements = $this->dom->getElementsByTagName('base');
+ foreach ($elements as $element)
+ {
+ if ($element->hasAttribute('href'))
+ {
+ $base = $this->registry->call('Misc', 'absolutize_url', array(trim($element->getAttribute('href')), $this->http_base));
+ if ($base === false)
+ {
+ continue;
+ }
+ $this->base = $base;
+ $this->base_location = method_exists($element, 'getLineNo') ? $element->getLineNo() : 0;
+ break;
+ }
+ }
+ }
+
+ public function autodiscovery()
+ {
+ $done = array();
+ $feeds = array();
+ $feeds = array_merge($feeds, $this->search_elements_by_tag('link', $done, $feeds));
+ $feeds = array_merge($feeds, $this->search_elements_by_tag('a', $done, $feeds));
+ $feeds = array_merge($feeds, $this->search_elements_by_tag('area', $done, $feeds));
+
+ if (!empty($feeds))
+ {
+ return array_values($feeds);
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ protected function search_elements_by_tag($name, &$done, $feeds)
+ {
+ if ($this->dom === null)
+ {
+ throw new SimplePie_Exception('DOMDocument not found, unable to use locator');
+ }
+
+ $links = $this->dom->getElementsByTagName($name);
+ foreach ($links as $link)
+ {
+ if ($this->checked_feeds === $this->max_checked_feeds)
+ {
+ break;
+ }
+ if ($link->hasAttribute('href') && $link->hasAttribute('rel'))
+ {
+ $rel = array_unique($this->registry->call('Misc', 'space_separated_tokens', array(strtolower($link->getAttribute('rel')))));
+ $line = method_exists($link, 'getLineNo') ? $link->getLineNo() : 1;
+
+ if ($this->base_location < $line)
+ {
+ $href = $this->registry->call('Misc', 'absolutize_url', array(trim($link->getAttribute('href')), $this->base));
+ }
+ else
+ {
+ $href = $this->registry->call('Misc', 'absolutize_url', array(trim($link->getAttribute('href')), $this->http_base));
+ }
+ if ($href === false)
+ {
+ continue;
+ }
+
+ if (!in_array($href, $done) && in_array('feed', $rel) || (in_array('alternate', $rel) && !in_array('stylesheet', $rel) && $link->hasAttribute('type') && in_array(strtolower($this->registry->call('Misc', 'parse_mime', array($link->getAttribute('type')))), array('text/html', 'application/rss+xml', 'application/atom+xml'))) && !isset($feeds[$href]))
+ {
+ $this->checked_feeds++;
+ $headers = array(
+ 'Accept' => 'application/atom+xml, application/rss+xml, application/rdf+xml;q=0.9, application/xml;q=0.8, text/xml;q=0.8, text/html;q=0.7, unknown/unknown;q=0.1, application/unknown;q=0.1, */*;q=0.1',
+ );
+ $feed = $this->registry->create('File', array($href, $this->timeout, 5, $headers, $this->useragent));
+ if ($feed->success && ($feed->method & SIMPLEPIE_FILE_SOURCE_REMOTE === 0 || ($feed->status_code === 200 || $feed->status_code > 206 && $feed->status_code < 300)) && $this->is_feed($feed, true))
+ {
+ $feeds[$href] = $feed;
+ }
+ }
+ $done[] = $href;
+ }
+ }
+
+ return $feeds;
+ }
+
+ public function get_links()
+ {
+ if ($this->dom === null)
+ {
+ throw new SimplePie_Exception('DOMDocument not found, unable to use locator');
+ }
+
+ $links = $this->dom->getElementsByTagName('a');
+ foreach ($links as $link)
+ {
+ if ($link->hasAttribute('href'))
+ {
+ $href = trim($link->getAttribute('href'));
+ $parsed = $this->registry->call('Misc', 'parse_url', array($href));
+ if ($parsed['scheme'] === '' || preg_match('/^(https?|feed)?$/i', $parsed['scheme']))
+ {
+ if (method_exists($link, 'getLineNo') && $this->base_location < $link->getLineNo())
+ {
+ $href = $this->registry->call('Misc', 'absolutize_url', array(trim($link->getAttribute('href')), $this->base));
+ }
+ else
+ {
+ $href = $this->registry->call('Misc', 'absolutize_url', array(trim($link->getAttribute('href')), $this->http_base));
+ }
+ if ($href === false)
+ {
+ continue;
+ }
+
+ $current = $this->registry->call('Misc', 'parse_url', array($this->file->url));
+
+ if ($parsed['authority'] === '' || $parsed['authority'] === $current['authority'])
+ {
+ $this->local[] = $href;
+ }
+ else
+ {
+ $this->elsewhere[] = $href;
+ }
+ }
+ }
+ }
+ $this->local = array_unique($this->local);
+ $this->elsewhere = array_unique($this->elsewhere);
+ if (!empty($this->local) || !empty($this->elsewhere))
+ {
+ return true;
+ }
+ return null;
+ }
+
+ public function get_rel_link($rel)
+ {
+ if ($this->dom === null)
+ {
+ throw new SimplePie_Exception('DOMDocument not found, unable to use '.
+ 'locator');
+ }
+ if (!class_exists('DOMXpath'))
+ {
+ throw new SimplePie_Exception('DOMXpath not found, unable to use '.
+ 'get_rel_link');
+ }
+
+ $xpath = new DOMXpath($this->dom);
+ $query = '//a[@rel and @href] | //link[@rel and @href]';
+ foreach ($xpath->query($query) as $link)
+ {
+ $href = trim($link->getAttribute('href'));
+ $parsed = $this->registry->call('Misc', 'parse_url', array($href));
+ if ($parsed['scheme'] === '' ||
+ preg_match('/^https?$/i', $parsed['scheme']))
+ {
+ if (method_exists($link, 'getLineNo') &&
+ $this->base_location < $link->getLineNo())
+ {
+ $href =
+ $this->registry->call('Misc', 'absolutize_url',
+ array(trim($link->getAttribute('href')),
+ $this->base));
+ }
+ else
+ {
+ $href =
+ $this->registry->call('Misc', 'absolutize_url',
+ array(trim($link->getAttribute('href')),
+ $this->http_base));
+ }
+ if ($href === false)
+ {
+ return null;
+ }
+ $rel_values = explode(' ', strtolower($link->getAttribute('rel')));
+ if (in_array($rel, $rel_values))
+ {
+ return $href;
+ }
+ }
+ }
+ return null;
+ }
+
+ public function extension(&$array)
+ {
+ foreach ($array as $key => $value)
+ {
+ if ($this->checked_feeds === $this->max_checked_feeds)
+ {
+ break;
+ }
+ if (in_array(strtolower(strrchr($value, '.')), array('.rss', '.rdf', '.atom', '.xml')))
+ {
+ $this->checked_feeds++;
+
+ $headers = array(
+ 'Accept' => 'application/atom+xml, application/rss+xml, application/rdf+xml;q=0.9, application/xml;q=0.8, text/xml;q=0.8, text/html;q=0.7, unknown/unknown;q=0.1, application/unknown;q=0.1, */*;q=0.1',
+ );
+ $feed = $this->registry->create('File', array($value, $this->timeout, 5, $headers, $this->useragent));
+ if ($feed->success && ($feed->method & SIMPLEPIE_FILE_SOURCE_REMOTE === 0 || ($feed->status_code === 200 || $feed->status_code > 206 && $feed->status_code < 300)) && $this->is_feed($feed))
+ {
+ return array($feed);
+ }
+ else
+ {
+ unset($array[$key]);
+ }
+ }
+ }
+ return null;
+ }
+
+ public function body(&$array)
+ {
+ foreach ($array as $key => $value)
+ {
+ if ($this->checked_feeds === $this->max_checked_feeds)
+ {
+ break;
+ }
+ if (preg_match('/(rss|rdf|atom|xml)/i', $value))
+ {
+ $this->checked_feeds++;
+ $headers = array(
+ 'Accept' => 'application/atom+xml, application/rss+xml, application/rdf+xml;q=0.9, application/xml;q=0.8, text/xml;q=0.8, text/html;q=0.7, unknown/unknown;q=0.1, application/unknown;q=0.1, */*;q=0.1',
+ );
+ $feed = $this->registry->create('File', array($value, $this->timeout, 5, null, $this->useragent));
+ if ($feed->success && ($feed->method & SIMPLEPIE_FILE_SOURCE_REMOTE === 0 || ($feed->status_code === 200 || $feed->status_code > 206 && $feed->status_code < 300)) && $this->is_feed($feed))
+ {
+ return array($feed);
+ }
+ else
+ {
+ unset($array[$key]);
+ }
+ }
+ }
+ return null;
+ }
+}
+
diff --git a/vendor/simplepie/simplepie/library/SimplePie/Misc.php b/vendor/simplepie/simplepie/library/SimplePie/Misc.php
new file mode 100644
index 000000000..2e3107eb4
--- /dev/null
+++ b/vendor/simplepie/simplepie/library/SimplePie/Misc.php
@@ -0,0 +1,2279 @@
+<?php
+/**
+ * SimplePie
+ *
+ * A PHP-Based RSS and Atom Feed Framework.
+ * Takes the hard work out of managing a complete RSS/Atom solution.
+ *
+ * Copyright (c) 2004-2016, Ryan Parman, Geoffrey Sneddon, Ryan McCue, and contributors
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification, are
+ * permitted provided that the following conditions are met:
+ *
+ * * Redistributions of source code must retain the above copyright notice, this list of
+ * conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above copyright notice, this list
+ * of conditions and the following disclaimer in the documentation and/or other materials
+ * provided with the distribution.
+ *
+ * * Neither the name of the SimplePie Team nor the names of its contributors may be used
+ * to endorse or promote products derived from this software without specific prior
+ * written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS
+ * AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ *
+ * @package SimplePie
+ * @copyright 2004-2016 Ryan Parman, Geoffrey Sneddon, Ryan McCue
+ * @author Ryan Parman
+ * @author Geoffrey Sneddon
+ * @author Ryan McCue
+ * @link http://simplepie.org/ SimplePie
+ * @license http://www.opensource.org/licenses/bsd-license.php BSD License
+ */
+
+/**
+ * Miscellanous utilities
+ *
+ * @package SimplePie
+ */
+class SimplePie_Misc
+{
+ public static function time_hms($seconds)
+ {
+ $time = '';
+
+ $hours = floor($seconds / 3600);
+ $remainder = $seconds % 3600;
+ if ($hours > 0)
+ {
+ $time .= $hours.':';
+ }
+
+ $minutes = floor($remainder / 60);
+ $seconds = $remainder % 60;
+ if ($minutes < 10 && $hours > 0)
+ {
+ $minutes = '0' . $minutes;
+ }
+ if ($seconds < 10)
+ {
+ $seconds = '0' . $seconds;
+ }
+
+ $time .= $minutes.':';
+ $time .= $seconds;
+
+ return $time;
+ }
+
+ public static function absolutize_url($relative, $base)
+ {
+ $iri = SimplePie_IRI::absolutize(new SimplePie_IRI($base), $relative);
+ if ($iri === false)
+ {
+ return false;
+ }
+ return $iri->get_uri();
+ }
+
+ /**
+ * Get a HTML/XML element from a HTML string
+ *
+ * @deprecated Use DOMDocument instead (parsing HTML with regex is bad!)
+ * @param string $realname Element name (including namespace prefix if applicable)
+ * @param string $string HTML document
+ * @return array
+ */
+ public static function get_element($realname, $string)
+ {
+ $return = array();
+ $name = preg_quote($realname, '/');
+ if (preg_match_all("/<($name)" . SIMPLEPIE_PCRE_HTML_ATTRIBUTE . "(>(.*)<\/$name>|(\/)?>)/siU", $string, $matches, PREG_SET_ORDER | PREG_OFFSET_CAPTURE))
+ {
+ for ($i = 0, $total_matches = count($matches); $i < $total_matches; $i++)
+ {
+ $return[$i]['tag'] = $realname;
+ $return[$i]['full'] = $matches[$i][0][0];
+ $return[$i]['offset'] = $matches[$i][0][1];
+ if (strlen($matches[$i][3][0]) <= 2)
+ {
+ $return[$i]['self_closing'] = true;
+ }
+ else
+ {
+ $return[$i]['self_closing'] = false;
+ $return[$i]['content'] = $matches[$i][4][0];
+ }
+ $return[$i]['attribs'] = array();
+ if (isset($matches[$i][2][0]) && preg_match_all('/[\x09\x0A\x0B\x0C\x0D\x20]+([^\x09\x0A\x0B\x0C\x0D\x20\x2F\x3E][^\x09\x0A\x0B\x0C\x0D\x20\x2F\x3D\x3E]*)(?:[\x09\x0A\x0B\x0C\x0D\x20]*=[\x09\x0A\x0B\x0C\x0D\x20]*(?:"([^"]*)"|\'([^\']*)\'|([^\x09\x0A\x0B\x0C\x0D\x20\x22\x27\x3E][^\x09\x0A\x0B\x0C\x0D\x20\x3E]*)?))?/', ' ' . $matches[$i][2][0] . ' ', $attribs, PREG_SET_ORDER))
+ {
+ for ($j = 0, $total_attribs = count($attribs); $j < $total_attribs; $j++)
+ {
+ if (count($attribs[$j]) === 2)
+ {
+ $attribs[$j][2] = $attribs[$j][1];
+ }
+ $return[$i]['attribs'][strtolower($attribs[$j][1])]['data'] = SimplePie_Misc::entities_decode(end($attribs[$j]));
+ }
+ }
+ }
+ }
+ return $return;
+ }
+
+ public static function element_implode($element)
+ {
+ $full = "<$element[tag]";
+ foreach ($element['attribs'] as $key => $value)
+ {
+ $key = strtolower($key);
+ $full .= " $key=\"" . htmlspecialchars($value['data'], ENT_COMPAT, 'UTF-8') . '"';
+ }
+ if ($element['self_closing'])
+ {
+ $full .= ' />';
+ }
+ else
+ {
+ $full .= ">$element[content]</$element[tag]>";
+ }
+ return $full;
+ }
+
+ public static function error($message, $level, $file, $line)
+ {
+ if ((ini_get('error_reporting') & $level) > 0)
+ {
+ switch ($level)
+ {
+ case E_USER_ERROR:
+ $note = 'PHP Error';
+ break;
+ case E_USER_WARNING:
+ $note = 'PHP Warning';
+ break;
+ case E_USER_NOTICE:
+ $note = 'PHP Notice';
+ break;
+ default:
+ $note = 'Unknown Error';
+ break;
+ }
+
+ $log_error = true;
+ if (!function_exists('error_log'))
+ {
+ $log_error = false;
+ }
+
+ $log_file = @ini_get('error_log');
+ if (!empty($log_file) && ('syslog' !== $log_file) && !@is_writable($log_file))
+ {
+ $log_error = false;
+ }
+
+ if ($log_error)
+ {
+ @error_log("$note: $message in $file on line $line", 0);
+ }
+ }
+
+ return $message;
+ }
+
+ public static function fix_protocol($url, $http = 1)
+ {
+ $url = SimplePie_Misc::normalize_url($url);
+ $parsed = SimplePie_Misc::parse_url($url);
+ if ($parsed['scheme'] !== '' && $parsed['scheme'] !== 'http' && $parsed['scheme'] !== 'https')
+ {
+ return SimplePie_Misc::fix_protocol(SimplePie_Misc::compress_parse_url('http', $parsed['authority'], $parsed['path'], $parsed['query'], $parsed['fragment']), $http);
+ }
+
+ if ($parsed['scheme'] === '' && $parsed['authority'] === '' && !file_exists($url))
+ {
+ return SimplePie_Misc::fix_protocol(SimplePie_Misc::compress_parse_url('http', $parsed['path'], '', $parsed['query'], $parsed['fragment']), $http);
+ }
+
+ if ($http === 2 && $parsed['scheme'] !== '')
+ {
+ return "feed:$url";
+ }
+ elseif ($http === 3 && strtolower($parsed['scheme']) === 'http')
+ {
+ return substr_replace($url, 'podcast', 0, 4);
+ }
+ elseif ($http === 4 && strtolower($parsed['scheme']) === 'http')
+ {
+ return substr_replace($url, 'itpc', 0, 4);
+ }
+ else
+ {
+ return $url;
+ }
+ }
+
+ public static function array_merge_recursive($array1, $array2)
+ {
+ foreach ($array2 as $key => $value)
+ {
+ if (is_array($value))
+ {
+ $array1[$key] = SimplePie_Misc::array_merge_recursive($array1[$key], $value);
+ }
+ else
+ {
+ $array1[$key] = $value;
+ }
+ }
+
+ return $array1;
+ }
+
+ public static function parse_url($url)
+ {
+ $iri = new SimplePie_IRI($url);
+ return array(
+ 'scheme' => (string) $iri->scheme,
+ 'authority' => (string) $iri->authority,
+ 'path' => (string) $iri->path,
+ 'query' => (string) $iri->query,
+ 'fragment' => (string) $iri->fragment
+ );
+ }
+
+ public static function compress_parse_url($scheme = '', $authority = '', $path = '', $query = '', $fragment = '')
+ {
+ $iri = new SimplePie_IRI('');
+ $iri->scheme = $scheme;
+ $iri->authority = $authority;
+ $iri->path = $path;
+ $iri->query = $query;
+ $iri->fragment = $fragment;
+ return $iri->get_uri();
+ }
+
+ public static function normalize_url($url)
+ {
+ $iri = new SimplePie_IRI($url);
+ return $iri->get_uri();
+ }
+
+ public static function percent_encoding_normalization($match)
+ {
+ $integer = hexdec($match[1]);
+ if ($integer >= 0x41 && $integer <= 0x5A || $integer >= 0x61 && $integer <= 0x7A || $integer >= 0x30 && $integer <= 0x39 || $integer === 0x2D || $integer === 0x2E || $integer === 0x5F || $integer === 0x7E)
+ {
+ return chr($integer);
+ }
+ else
+ {
+ return strtoupper($match[0]);
+ }
+ }
+
+ /**
+ * Converts a Windows-1252 encoded string to a UTF-8 encoded string
+ *
+ * @static
+ * @param string $string Windows-1252 encoded string
+ * @return string UTF-8 encoded string
+ */
+ public static function windows_1252_to_utf8($string)
+ {
+ static $convert_table = array("\x80" => "\xE2\x82\xAC", "\x81" => "\xEF\xBF\xBD", "\x82" => "\xE2\x80\x9A", "\x83" => "\xC6\x92", "\x84" => "\xE2\x80\x9E", "\x85" => "\xE2\x80\xA6", "\x86" => "\xE2\x80\xA0", "\x87" => "\xE2\x80\xA1", "\x88" => "\xCB\x86", "\x89" => "\xE2\x80\xB0", "\x8A" => "\xC5\xA0", "\x8B" => "\xE2\x80\xB9", "\x8C" => "\xC5\x92", "\x8D" => "\xEF\xBF\xBD", "\x8E" => "\xC5\xBD", "\x8F" => "\xEF\xBF\xBD", "\x90" => "\xEF\xBF\xBD", "\x91" => "\xE2\x80\x98", "\x92" => "\xE2\x80\x99", "\x93" => "\xE2\x80\x9C", "\x94" => "\xE2\x80\x9D", "\x95" => "\xE2\x80\xA2", "\x96" => "\xE2\x80\x93", "\x97" => "\xE2\x80\x94", "\x98" => "\xCB\x9C", "\x99" => "\xE2\x84\xA2", "\x9A" => "\xC5\xA1", "\x9B" => "\xE2\x80\xBA", "\x9C" => "\xC5\x93", "\x9D" => "\xEF\xBF\xBD", "\x9E" => "\xC5\xBE", "\x9F" => "\xC5\xB8", "\xA0" => "\xC2\xA0", "\xA1" => "\xC2\xA1", "\xA2" => "\xC2\xA2", "\xA3" => "\xC2\xA3", "\xA4" => "\xC2\xA4", "\xA5" => "\xC2\xA5", "\xA6" => "\xC2\xA6", "\xA7" => "\xC2\xA7", "\xA8" => "\xC2\xA8", "\xA9" => "\xC2\xA9", "\xAA" => "\xC2\xAA", "\xAB" => "\xC2\xAB", "\xAC" => "\xC2\xAC", "\xAD" => "\xC2\xAD", "\xAE" => "\xC2\xAE", "\xAF" => "\xC2\xAF", "\xB0" => "\xC2\xB0", "\xB1" => "\xC2\xB1", "\xB2" => "\xC2\xB2", "\xB3" => "\xC2\xB3", "\xB4" => "\xC2\xB4", "\xB5" => "\xC2\xB5", "\xB6" => "\xC2\xB6", "\xB7" => "\xC2\xB7", "\xB8" => "\xC2\xB8", "\xB9" => "\xC2\xB9", "\xBA" => "\xC2\xBA", "\xBB" => "\xC2\xBB", "\xBC" => "\xC2\xBC", "\xBD" => "\xC2\xBD", "\xBE" => "\xC2\xBE", "\xBF" => "\xC2\xBF", "\xC0" => "\xC3\x80", "\xC1" => "\xC3\x81", "\xC2" => "\xC3\x82", "\xC3" => "\xC3\x83", "\xC4" => "\xC3\x84", "\xC5" => "\xC3\x85", "\xC6" => "\xC3\x86", "\xC7" => "\xC3\x87", "\xC8" => "\xC3\x88", "\xC9" => "\xC3\x89", "\xCA" => "\xC3\x8A", "\xCB" => "\xC3\x8B", "\xCC" => "\xC3\x8C", "\xCD" => "\xC3\x8D", "\xCE" => "\xC3\x8E", "\xCF" => "\xC3\x8F", "\xD0" => "\xC3\x90", "\xD1" => "\xC3\x91", "\xD2" => "\xC3\x92", "\xD3" => "\xC3\x93", "\xD4" => "\xC3\x94", "\xD5" => "\xC3\x95", "\xD6" => "\xC3\x96", "\xD7" => "\xC3\x97", "\xD8" => "\xC3\x98", "\xD9" => "\xC3\x99", "\xDA" => "\xC3\x9A", "\xDB" => "\xC3\x9B", "\xDC" => "\xC3\x9C", "\xDD" => "\xC3\x9D", "\xDE" => "\xC3\x9E", "\xDF" => "\xC3\x9F", "\xE0" => "\xC3\xA0", "\xE1" => "\xC3\xA1", "\xE2" => "\xC3\xA2", "\xE3" => "\xC3\xA3", "\xE4" => "\xC3\xA4", "\xE5" => "\xC3\xA5", "\xE6" => "\xC3\xA6", "\xE7" => "\xC3\xA7", "\xE8" => "\xC3\xA8", "\xE9" => "\xC3\xA9", "\xEA" => "\xC3\xAA", "\xEB" => "\xC3\xAB", "\xEC" => "\xC3\xAC", "\xED" => "\xC3\xAD", "\xEE" => "\xC3\xAE", "\xEF" => "\xC3\xAF", "\xF0" => "\xC3\xB0", "\xF1" => "\xC3\xB1", "\xF2" => "\xC3\xB2", "\xF3" => "\xC3\xB3", "\xF4" => "\xC3\xB4", "\xF5" => "\xC3\xB5", "\xF6" => "\xC3\xB6", "\xF7" => "\xC3\xB7", "\xF8" => "\xC3\xB8", "\xF9" => "\xC3\xB9", "\xFA" => "\xC3\xBA", "\xFB" => "\xC3\xBB", "\xFC" => "\xC3\xBC", "\xFD" => "\xC3\xBD", "\xFE" => "\xC3\xBE", "\xFF" => "\xC3\xBF");
+
+ return strtr($string, $convert_table);
+ }
+
+ /**
+ * Change a string from one encoding to another
+ *
+ * @param string $data Raw data in $input encoding
+ * @param string $input Encoding of $data
+ * @param string $output Encoding you want
+ * @return string|boolean False if we can't convert it
+ */
+ public static function change_encoding($data, $input, $output)
+ {
+ $input = SimplePie_Misc::encoding($input);
+ $output = SimplePie_Misc::encoding($output);
+
+ // We fail to fail on non US-ASCII bytes
+ if ($input === 'US-ASCII')
+ {
+ static $non_ascii_octects = '';
+ if (!$non_ascii_octects)
+ {
+ for ($i = 0x80; $i <= 0xFF; $i++)
+ {
+ $non_ascii_octects .= chr($i);
+ }
+ }
+ $data = substr($data, 0, strcspn($data, $non_ascii_octects));
+ }
+
+ // This is first, as behaviour of this is completely predictable
+ if ($input === 'windows-1252' && $output === 'UTF-8')
+ {
+ return SimplePie_Misc::windows_1252_to_utf8($data);
+ }
+ // This is second, as behaviour of this varies only with PHP version (the middle part of this expression checks the encoding is supported).
+ elseif (function_exists('mb_convert_encoding') && ($return = SimplePie_Misc::change_encoding_mbstring($data, $input, $output)))
+ {
+ return $return;
+ }
+ // This is third, as behaviour of this varies with OS userland and PHP version
+ elseif (function_exists('iconv') && ($return = SimplePie_Misc::change_encoding_iconv($data, $input, $output)))
+ {
+ return $return;
+ }
+ // This is last, as behaviour of this varies with OS userland and PHP version
+ elseif (class_exists('\UConverter') && ($return = SimplePie_Misc::change_encoding_uconverter($data, $input, $output)))
+ {
+ return $return;
+ }
+ // If we can't do anything, just fail
+ else
+ {
+ return false;
+ }
+ }
+
+ protected static function change_encoding_mbstring($data, $input, $output)
+ {
+ if ($input === 'windows-949')
+ {
+ $input = 'EUC-KR';
+ }
+ if ($output === 'windows-949')
+ {
+ $output = 'EUC-KR';
+ }
+ if ($input === 'Windows-31J')
+ {
+ $input = 'SJIS';
+ }
+ if ($output === 'Windows-31J')
+ {
+ $output = 'SJIS';
+ }
+
+ // Check that the encoding is supported
+ if (@mb_convert_encoding("\x80", 'UTF-16BE', $input) === "\x00\x80")
+ {
+ return false;
+ }
+ if (!in_array($input, mb_list_encodings()))
+ {
+ return false;
+ }
+
+ // Let's do some conversion
+ if ($return = @mb_convert_encoding($data, $output, $input))
+ {
+ return $return;
+ }
+
+ return false;
+ }
+
+ protected static function change_encoding_iconv($data, $input, $output)
+ {
+ return @iconv($input, $output, $data);
+ }
+
+ /**
+ * @param string $data
+ * @param string $input
+ * @param string $output
+ * @return string|false
+ */
+ protected static function change_encoding_uconverter($data, $input, $output)
+ {
+ return @\UConverter::transcode($data, $output, $input);
+ }
+
+ /**
+ * Normalize an encoding name
+ *
+ * This is automatically generated by create.php
+ *
+ * To generate it, run `php create.php` on the command line, and copy the
+ * output to replace this function.
+ *
+ * @param string $charset Character set to standardise
+ * @return string Standardised name
+ */
+ public static function encoding($charset)
+ {
+ // Normalization from UTS #22
+ switch (strtolower(preg_replace('/(?:[^a-zA-Z0-9]+|([^0-9])0+)/', '\1', $charset)))
+ {
+ case 'adobestandardencoding':
+ case 'csadobestandardencoding':
+ return 'Adobe-Standard-Encoding';
+
+ case 'adobesymbolencoding':
+ case 'cshppsmath':
+ return 'Adobe-Symbol-Encoding';
+
+ case 'ami1251':
+ case 'amiga1251':
+ return 'Amiga-1251';
+
+ case 'ansix31101983':
+ case 'csat5001983':
+ case 'csiso99naplps':
+ case 'isoir99':
+ case 'naplps':
+ return 'ANSI_X3.110-1983';
+
+ case 'arabic7':
+ case 'asmo449':
+ case 'csiso89asmo449':
+ case 'iso9036':
+ case 'isoir89':
+ return 'ASMO_449';
+
+ case 'big5':
+ case 'csbig5':
+ return 'Big5';
+
+ case 'big5hkscs':
+ return 'Big5-HKSCS';
+
+ case 'bocu1':
+ case 'csbocu1':
+ return 'BOCU-1';
+
+ case 'brf':
+ case 'csbrf':
+ return 'BRF';
+
+ case 'bs4730':
+ case 'csiso4unitedkingdom':
+ case 'gb':
+ case 'iso646gb':
+ case 'isoir4':
+ case 'uk':
+ return 'BS_4730';
+
+ case 'bsviewdata':
+ case 'csiso47bsviewdata':
+ case 'isoir47':
+ return 'BS_viewdata';
+
+ case 'cesu8':
+ case 'cscesu8':
+ return 'CESU-8';
+
+ case 'ca':
+ case 'csa71':
+ case 'csaz243419851':
+ case 'csiso121canadian1':
+ case 'iso646ca':
+ case 'isoir121':
+ return 'CSA_Z243.4-1985-1';
+
+ case 'csa72':
+ case 'csaz243419852':
+ case 'csiso122canadian2':
+ case 'iso646ca2':
+ case 'isoir122':
+ return 'CSA_Z243.4-1985-2';
+
+ case 'csaz24341985gr':
+ case 'csiso123csaz24341985gr':
+ case 'isoir123':
+ return 'CSA_Z243.4-1985-gr';
+
+ case 'csiso139csn369103':
+ case 'csn369103':
+ case 'isoir139':
+ return 'CSN_369103';
+
+ case 'csdecmcs':
+ case 'dec':
+ case 'decmcs':
+ return 'DEC-MCS';
+
+ case 'csiso21german':
+ case 'de':
+ case 'din66003':
+ case 'iso646de':
+ case 'isoir21':
+ return 'DIN_66003';
+
+ case 'csdkus':
+ case 'dkus':
+ return 'dk-us';
+
+ case 'csiso646danish':
+ case 'dk':
+ case 'ds2089':
+ case 'iso646dk':
+ return 'DS_2089';
+
+ case 'csibmebcdicatde':
+ case 'ebcdicatde':
+ return 'EBCDIC-AT-DE';
+
+ case 'csebcdicatdea':
+ case 'ebcdicatdea':
+ return 'EBCDIC-AT-DE-A';
+
+ case 'csebcdiccafr':
+ case 'ebcdiccafr':
+ return 'EBCDIC-CA-FR';
+
+ case 'csebcdicdkno':
+ case 'ebcdicdkno':
+ return 'EBCDIC-DK-NO';
+
+ case 'csebcdicdknoa':
+ case 'ebcdicdknoa':
+ return 'EBCDIC-DK-NO-A';
+
+ case 'csebcdices':
+ case 'ebcdices':
+ return 'EBCDIC-ES';
+
+ case 'csebcdicesa':
+ case 'ebcdicesa':
+ return 'EBCDIC-ES-A';
+
+ case 'csebcdicess':
+ case 'ebcdicess':
+ return 'EBCDIC-ES-S';
+
+ case 'csebcdicfise':
+ case 'ebcdicfise':
+ return 'EBCDIC-FI-SE';
+
+ case 'csebcdicfisea':
+ case 'ebcdicfisea':
+ return 'EBCDIC-FI-SE-A';
+
+ case 'csebcdicfr':
+ case 'ebcdicfr':
+ return 'EBCDIC-FR';
+
+ case 'csebcdicit':
+ case 'ebcdicit':
+ return 'EBCDIC-IT';
+
+ case 'csebcdicpt':
+ case 'ebcdicpt':
+ return 'EBCDIC-PT';
+
+ case 'csebcdicuk':
+ case 'ebcdicuk':
+ return 'EBCDIC-UK';
+
+ case 'csebcdicus':
+ case 'ebcdicus':
+ return 'EBCDIC-US';
+
+ case 'csiso111ecmacyrillic':
+ case 'ecmacyrillic':
+ case 'isoir111':
+ case 'koi8e':
+ return 'ECMA-cyrillic';
+
+ case 'csiso17spanish':
+ case 'es':
+ case 'iso646es':
+ case 'isoir17':
+ return 'ES';
+
+ case 'csiso85spanish2':
+ case 'es2':
+ case 'iso646es2':
+ case 'isoir85':
+ return 'ES2';
+
+ case 'cseucpkdfmtjapanese':
+ case 'eucjp':
+ case 'extendedunixcodepackedformatforjapanese':
+ return 'EUC-JP';
+
+ case 'cseucfixwidjapanese':
+ case 'extendedunixcodefixedwidthforjapanese':
+ return 'Extended_UNIX_Code_Fixed_Width_for_Japanese';
+
+ case 'gb18030':
+ return 'GB18030';
+
+ case 'chinese':
+ case 'cp936':
+ case 'csgb2312':
+ case 'csiso58gb231280':
+ case 'gb2312':
+ case 'gb231280':
+ case 'gbk':
+ case 'isoir58':
+ case 'ms936':
+ case 'windows936':
+ return 'GBK';
+
+ case 'cn':
+ case 'csiso57gb1988':
+ case 'gb198880':
+ case 'iso646cn':
+ case 'isoir57':
+ return 'GB_1988-80';
+
+ case 'csiso153gost1976874':
+ case 'gost1976874':
+ case 'isoir153':
+ case 'stsev35888':
+ return 'GOST_19768-74';
+
+ case 'csiso150':
+ case 'csiso150greekccitt':
+ case 'greekccitt':
+ case 'isoir150':
+ return 'greek-ccitt';
+
+ case 'csiso88greek7':
+ case 'greek7':
+ case 'isoir88':
+ return 'greek7';
+
+ case 'csiso18greek7old':
+ case 'greek7old':
+ case 'isoir18':
+ return 'greek7-old';
+
+ case 'cshpdesktop':
+ case 'hpdesktop':
+ return 'HP-DeskTop';
+
+ case 'cshplegal':
+ case 'hplegal':
+ return 'HP-Legal';
+
+ case 'cshpmath8':
+ case 'hpmath8':
+ return 'HP-Math8';
+
+ case 'cshppifont':
+ case 'hppifont':
+ return 'HP-Pi-font';
+
+ case 'cshproman8':
+ case 'hproman8':
+ case 'r8':
+ case 'roman8':
+ return 'hp-roman8';
+
+ case 'hzgb2312':
+ return 'HZ-GB-2312';
+
+ case 'csibmsymbols':
+ case 'ibmsymbols':
+ return 'IBM-Symbols';
+
+ case 'csibmthai':
+ case 'ibmthai':
+ return 'IBM-Thai';
+
+ case 'cp37':
+ case 'csibm37':
+ case 'ebcdiccpca':
+ case 'ebcdiccpnl':
+ case 'ebcdiccpus':
+ case 'ebcdiccpwt':
+ case 'ibm37':
+ return 'IBM037';
+
+ case 'cp38':
+ case 'csibm38':
+ case 'ebcdicint':
+ case 'ibm38':
+ return 'IBM038';
+
+ case 'cp273':
+ case 'csibm273':
+ case 'ibm273':
+ return 'IBM273';
+
+ case 'cp274':
+ case 'csibm274':
+ case 'ebcdicbe':
+ case 'ibm274':
+ return 'IBM274';
+
+ case 'cp275':
+ case 'csibm275':
+ case 'ebcdicbr':
+ case 'ibm275':
+ return 'IBM275';
+
+ case 'csibm277':
+ case 'ebcdiccpdk':
+ case 'ebcdiccpno':
+ case 'ibm277':
+ return 'IBM277';
+
+ case 'cp278':
+ case 'csibm278':
+ case 'ebcdiccpfi':
+ case 'ebcdiccpse':
+ case 'ibm278':
+ return 'IBM278';
+
+ case 'cp280':
+ case 'csibm280':
+ case 'ebcdiccpit':
+ case 'ibm280':
+ return 'IBM280';
+
+ case 'cp281':
+ case 'csibm281':
+ case 'ebcdicjpe':
+ case 'ibm281':
+ return 'IBM281';
+
+ case 'cp284':
+ case 'csibm284':
+ case 'ebcdiccpes':
+ case 'ibm284':
+ return 'IBM284';
+
+ case 'cp285':
+ case 'csibm285':
+ case 'ebcdiccpgb':
+ case 'ibm285':
+ return 'IBM285';
+
+ case 'cp290':
+ case 'csibm290':
+ case 'ebcdicjpkana':
+ case 'ibm290':
+ return 'IBM290';
+
+ case 'cp297':
+ case 'csibm297':
+ case 'ebcdiccpfr':
+ case 'ibm297':
+ return 'IBM297';
+
+ case 'cp420':
+ case 'csibm420':
+ case 'ebcdiccpar1':
+ case 'ibm420':
+ return 'IBM420';
+
+ case 'cp423':
+ case 'csibm423':
+ case 'ebcdiccpgr':
+ case 'ibm423':
+ return 'IBM423';
+
+ case 'cp424':
+ case 'csibm424':
+ case 'ebcdiccphe':
+ case 'ibm424':
+ return 'IBM424';
+
+ case '437':
+ case 'cp437':
+ case 'cspc8codepage437':
+ case 'ibm437':
+ return 'IBM437';
+
+ case 'cp500':
+ case 'csibm500':
+ case 'ebcdiccpbe':
+ case 'ebcdiccpch':
+ case 'ibm500':
+ return 'IBM500';
+
+ case 'cp775':
+ case 'cspc775baltic':
+ case 'ibm775':
+ return 'IBM775';
+
+ case '850':
+ case 'cp850':
+ case 'cspc850multilingual':
+ case 'ibm850':
+ return 'IBM850';
+
+ case '851':
+ case 'cp851':
+ case 'csibm851':
+ case 'ibm851':
+ return 'IBM851';
+
+ case '852':
+ case 'cp852':
+ case 'cspcp852':
+ case 'ibm852':
+ return 'IBM852';
+
+ case '855':
+ case 'cp855':
+ case 'csibm855':
+ case 'ibm855':
+ return 'IBM855';
+
+ case '857':
+ case 'cp857':
+ case 'csibm857':
+ case 'ibm857':
+ return 'IBM857';
+
+ case 'ccsid858':
+ case 'cp858':
+ case 'ibm858':
+ case 'pcmultilingual850euro':
+ return 'IBM00858';
+
+ case '860':
+ case 'cp860':
+ case 'csibm860':
+ case 'ibm860':
+ return 'IBM860';
+
+ case '861':
+ case 'cp861':
+ case 'cpis':
+ case 'csibm861':
+ case 'ibm861':
+ return 'IBM861';
+
+ case '862':
+ case 'cp862':
+ case 'cspc862latinhebrew':
+ case 'ibm862':
+ return 'IBM862';
+
+ case '863':
+ case 'cp863':
+ case 'csibm863':
+ case 'ibm863':
+ return 'IBM863';
+
+ case 'cp864':
+ case 'csibm864':
+ case 'ibm864':
+ return 'IBM864';
+
+ case '865':
+ case 'cp865':
+ case 'csibm865':
+ case 'ibm865':
+ return 'IBM865';
+
+ case '866':
+ case 'cp866':
+ case 'csibm866':
+ case 'ibm866':
+ return 'IBM866';
+
+ case 'cp868':
+ case 'cpar':
+ case 'csibm868':
+ case 'ibm868':
+ return 'IBM868';
+
+ case '869':
+ case 'cp869':
+ case 'cpgr':
+ case 'csibm869':
+ case 'ibm869':
+ return 'IBM869';
+
+ case 'cp870':
+ case 'csibm870':
+ case 'ebcdiccproece':
+ case 'ebcdiccpyu':
+ case 'ibm870':
+ return 'IBM870';
+
+ case 'cp871':
+ case 'csibm871':
+ case 'ebcdiccpis':
+ case 'ibm871':
+ return 'IBM871';
+
+ case 'cp880':
+ case 'csibm880':
+ case 'ebcdiccyrillic':
+ case 'ibm880':
+ return 'IBM880';
+
+ case 'cp891':
+ case 'csibm891':
+ case 'ibm891':
+ return 'IBM891';
+
+ case 'cp903':
+ case 'csibm903':
+ case 'ibm903':
+ return 'IBM903';
+
+ case '904':
+ case 'cp904':
+ case 'csibbm904':
+ case 'ibm904':
+ return 'IBM904';
+
+ case 'cp905':
+ case 'csibm905':
+ case 'ebcdiccptr':
+ case 'ibm905':
+ return 'IBM905';
+
+ case 'cp918':
+ case 'csibm918':
+ case 'ebcdiccpar2':
+ case 'ibm918':
+ return 'IBM918';
+
+ case 'ccsid924':
+ case 'cp924':
+ case 'ebcdiclatin9euro':
+ case 'ibm924':
+ return 'IBM00924';
+
+ case 'cp1026':
+ case 'csibm1026':
+ case 'ibm1026':
+ return 'IBM1026';
+
+ case 'ibm1047':
+ return 'IBM1047';
+
+ case 'ccsid1140':
+ case 'cp1140':
+ case 'ebcdicus37euro':
+ case 'ibm1140':
+ return 'IBM01140';
+
+ case 'ccsid1141':
+ case 'cp1141':
+ case 'ebcdicde273euro':
+ case 'ibm1141':
+ return 'IBM01141';
+
+ case 'ccsid1142':
+ case 'cp1142':
+ case 'ebcdicdk277euro':
+ case 'ebcdicno277euro':
+ case 'ibm1142':
+ return 'IBM01142';
+
+ case 'ccsid1143':
+ case 'cp1143':
+ case 'ebcdicfi278euro':
+ case 'ebcdicse278euro':
+ case 'ibm1143':
+ return 'IBM01143';
+
+ case 'ccsid1144':
+ case 'cp1144':
+ case 'ebcdicit280euro':
+ case 'ibm1144':
+ return 'IBM01144';
+
+ case 'ccsid1145':
+ case 'cp1145':
+ case 'ebcdices284euro':
+ case 'ibm1145':
+ return 'IBM01145';
+
+ case 'ccsid1146':
+ case 'cp1146':
+ case 'ebcdicgb285euro':
+ case 'ibm1146':
+ return 'IBM01146';
+
+ case 'ccsid1147':
+ case 'cp1147':
+ case 'ebcdicfr297euro':
+ case 'ibm1147':
+ return 'IBM01147';
+
+ case 'ccsid1148':
+ case 'cp1148':
+ case 'ebcdicinternational500euro':
+ case 'ibm1148':
+ return 'IBM01148';
+
+ case 'ccsid1149':
+ case 'cp1149':
+ case 'ebcdicis871euro':
+ case 'ibm1149':
+ return 'IBM01149';
+
+ case 'csiso143iecp271':
+ case 'iecp271':
+ case 'isoir143':
+ return 'IEC_P27-1';
+
+ case 'csiso49inis':
+ case 'inis':
+ case 'isoir49':
+ return 'INIS';
+
+ case 'csiso50inis8':
+ case 'inis8':
+ case 'isoir50':
+ return 'INIS-8';
+
+ case 'csiso51iniscyrillic':
+ case 'iniscyrillic':
+ case 'isoir51':
+ return 'INIS-cyrillic';
+
+ case 'csinvariant':
+ case 'invariant':
+ return 'INVARIANT';
+
+ case 'iso2022cn':
+ return 'ISO-2022-CN';
+
+ case 'iso2022cnext':
+ return 'ISO-2022-CN-EXT';
+
+ case 'csiso2022jp':
+ case 'iso2022jp':
+ return 'ISO-2022-JP';
+
+ case 'csiso2022jp2':
+ case 'iso2022jp2':
+ return 'ISO-2022-JP-2';
+
+ case 'csiso2022kr':
+ case 'iso2022kr':
+ return 'ISO-2022-KR';
+
+ case 'cswindows30latin1':
+ case 'iso88591windows30latin1':
+ return 'ISO-8859-1-Windows-3.0-Latin-1';
+
+ case 'cswindows31latin1':
+ case 'iso88591windows31latin1':
+ return 'ISO-8859-1-Windows-3.1-Latin-1';
+
+ case 'csisolatin2':
+ case 'iso88592':
+ case 'iso885921987':
+ case 'isoir101':
+ case 'l2':
+ case 'latin2':
+ return 'ISO-8859-2';
+
+ case 'cswindows31latin2':
+ case 'iso88592windowslatin2':
+ return 'ISO-8859-2-Windows-Latin-2';
+
+ case 'csisolatin3':
+ case 'iso88593':
+ case 'iso885931988':
+ case 'isoir109':
+ case 'l3':
+ case 'latin3':
+ return 'ISO-8859-3';
+
+ case 'csisolatin4':
+ case 'iso88594':
+ case 'iso885941988':
+ case 'isoir110':
+ case 'l4':
+ case 'latin4':
+ return 'ISO-8859-4';
+
+ case 'csisolatincyrillic':
+ case 'cyrillic':
+ case 'iso88595':
+ case 'iso885951988':
+ case 'isoir144':
+ return 'ISO-8859-5';
+
+ case 'arabic':
+ case 'asmo708':
+ case 'csisolatinarabic':
+ case 'ecma114':
+ case 'iso88596':
+ case 'iso885961987':
+ case 'isoir127':
+ return 'ISO-8859-6';
+
+ case 'csiso88596e':
+ case 'iso88596e':
+ return 'ISO-8859-6-E';
+
+ case 'csiso88596i':
+ case 'iso88596i':
+ return 'ISO-8859-6-I';
+
+ case 'csisolatingreek':
+ case 'ecma118':
+ case 'elot928':
+ case 'greek':
+ case 'greek8':
+ case 'iso88597':
+ case 'iso885971987':
+ case 'isoir126':
+ return 'ISO-8859-7';
+
+ case 'csisolatinhebrew':
+ case 'hebrew':
+ case 'iso88598':
+ case 'iso885981988':
+ case 'isoir138':
+ return 'ISO-8859-8';
+
+ case 'csiso88598e':
+ case 'iso88598e':
+ return 'ISO-8859-8-E';
+
+ case 'csiso88598i':
+ case 'iso88598i':
+ return 'ISO-8859-8-I';
+
+ case 'cswindows31latin5':
+ case 'iso88599windowslatin5':
+ return 'ISO-8859-9-Windows-Latin-5';
+
+ case 'csisolatin6':
+ case 'iso885910':
+ case 'iso8859101992':
+ case 'isoir157':
+ case 'l6':
+ case 'latin6':
+ return 'ISO-8859-10';
+
+ case 'iso885913':
+ return 'ISO-8859-13';
+
+ case 'iso885914':
+ case 'iso8859141998':
+ case 'isoceltic':
+ case 'isoir199':
+ case 'l8':
+ case 'latin8':
+ return 'ISO-8859-14';
+
+ case 'iso885915':
+ case 'latin9':
+ return 'ISO-8859-15';
+
+ case 'iso885916':
+ case 'iso8859162001':
+ case 'isoir226':
+ case 'l10':
+ case 'latin10':
+ return 'ISO-8859-16';
+
+ case 'iso10646j1':
+ return 'ISO-10646-J-1';
+
+ case 'csunicode':
+ case 'iso10646ucs2':
+ return 'ISO-10646-UCS-2';
+
+ case 'csucs4':
+ case 'iso10646ucs4':
+ return 'ISO-10646-UCS-4';
+
+ case 'csunicodeascii':
+ case 'iso10646ucsbasic':
+ return 'ISO-10646-UCS-Basic';
+
+ case 'csunicodelatin1':
+ case 'iso10646':
+ case 'iso10646unicodelatin1':
+ return 'ISO-10646-Unicode-Latin1';
+
+ case 'csiso10646utf1':
+ case 'iso10646utf1':
+ return 'ISO-10646-UTF-1';
+
+ case 'csiso115481':
+ case 'iso115481':
+ case 'isotr115481':
+ return 'ISO-11548-1';
+
+ case 'csiso90':
+ case 'isoir90':
+ return 'iso-ir-90';
+
+ case 'csunicodeibm1261':
+ case 'isounicodeibm1261':
+ return 'ISO-Unicode-IBM-1261';
+
+ case 'csunicodeibm1264':
+ case 'isounicodeibm1264':
+ return 'ISO-Unicode-IBM-1264';
+
+ case 'csunicodeibm1265':
+ case 'isounicodeibm1265':
+ return 'ISO-Unicode-IBM-1265';
+
+ case 'csunicodeibm1268':
+ case 'isounicodeibm1268':
+ return 'ISO-Unicode-IBM-1268';
+
+ case 'csunicodeibm1276':
+ case 'isounicodeibm1276':
+ return 'ISO-Unicode-IBM-1276';
+
+ case 'csiso646basic1983':
+ case 'iso646basic1983':
+ case 'ref':
+ return 'ISO_646.basic:1983';
+
+ case 'csiso2intlrefversion':
+ case 'irv':
+ case 'iso646irv1983':
+ case 'isoir2':
+ return 'ISO_646.irv:1983';
+
+ case 'csiso2033':
+ case 'e13b':
+ case 'iso20331983':
+ case 'isoir98':
+ return 'ISO_2033-1983';
+
+ case 'csiso5427cyrillic':
+ case 'iso5427':
+ case 'isoir37':
+ return 'ISO_5427';
+
+ case 'iso5427cyrillic1981':
+ case 'iso54271981':
+ case 'isoir54':
+ return 'ISO_5427:1981';
+
+ case 'csiso5428greek':
+ case 'iso54281980':
+ case 'isoir55':
+ return 'ISO_5428:1980';
+
+ case 'csiso6937add':
+ case 'iso6937225':
+ case 'isoir152':
+ return 'ISO_6937-2-25';
+
+ case 'csisotextcomm':
+ case 'iso69372add':
+ case 'isoir142':
+ return 'ISO_6937-2-add';
+
+ case 'csiso8859supp':
+ case 'iso8859supp':
+ case 'isoir154':
+ case 'latin125':
+ return 'ISO_8859-supp';
+
+ case 'csiso10367box':
+ case 'iso10367box':
+ case 'isoir155':
+ return 'ISO_10367-box';
+
+ case 'csiso15italian':
+ case 'iso646it':
+ case 'isoir15':
+ case 'it':
+ return 'IT';
+
+ case 'csiso13jisc6220jp':
+ case 'isoir13':
+ case 'jisc62201969':
+ case 'jisc62201969jp':
+ case 'katakana':
+ case 'x2017':
+ return 'JIS_C6220-1969-jp';
+
+ case 'csiso14jisc6220ro':
+ case 'iso646jp':
+ case 'isoir14':
+ case 'jisc62201969ro':
+ case 'jp':
+ return 'JIS_C6220-1969-ro';
+
+ case 'csiso42jisc62261978':
+ case 'isoir42':
+ case 'jisc62261978':
+ return 'JIS_C6226-1978';
+
+ case 'csiso87jisx208':
+ case 'isoir87':
+ case 'jisc62261983':
+ case 'jisx2081983':
+ case 'x208':
+ return 'JIS_C6226-1983';
+
+ case 'csiso91jisc62291984a':
+ case 'isoir91':
+ case 'jisc62291984a':
+ case 'jpocra':
+ return 'JIS_C6229-1984-a';
+
+ case 'csiso92jisc62991984b':
+ case 'iso646jpocrb':
+ case 'isoir92':
+ case 'jisc62291984b':
+ case 'jpocrb':
+ return 'JIS_C6229-1984-b';
+
+ case 'csiso93jis62291984badd':
+ case 'isoir93':
+ case 'jisc62291984badd':
+ case 'jpocrbadd':
+ return 'JIS_C6229-1984-b-add';
+
+ case 'csiso94jis62291984hand':
+ case 'isoir94':
+ case 'jisc62291984hand':
+ case 'jpocrhand':
+ return 'JIS_C6229-1984-hand';
+
+ case 'csiso95jis62291984handadd':
+ case 'isoir95':
+ case 'jisc62291984handadd':
+ case 'jpocrhandadd':
+ return 'JIS_C6229-1984-hand-add';
+
+ case 'csiso96jisc62291984kana':
+ case 'isoir96':
+ case 'jisc62291984kana':
+ return 'JIS_C6229-1984-kana';
+
+ case 'csjisencoding':
+ case 'jisencoding':
+ return 'JIS_Encoding';
+
+ case 'cshalfwidthkatakana':
+ case 'jisx201':
+ case 'x201':
+ return 'JIS_X0201';
+
+ case 'csiso159jisx2121990':
+ case 'isoir159':
+ case 'jisx2121990':
+ case 'x212':
+ return 'JIS_X0212-1990';
+
+ case 'csiso141jusib1002':
+ case 'iso646yu':
+ case 'isoir141':
+ case 'js':
+ case 'jusib1002':
+ case 'yu':
+ return 'JUS_I.B1.002';
+
+ case 'csiso147macedonian':
+ case 'isoir147':
+ case 'jusib1003mac':
+ case 'macedonian':
+ return 'JUS_I.B1.003-mac';
+
+ case 'csiso146serbian':
+ case 'isoir146':
+ case 'jusib1003serb':
+ case 'serbian':
+ return 'JUS_I.B1.003-serb';
+
+ case 'koi7switched':
+ return 'KOI7-switched';
+
+ case 'cskoi8r':
+ case 'koi8r':
+ return 'KOI8-R';
+
+ case 'koi8u':
+ return 'KOI8-U';
+
+ case 'csksc5636':
+ case 'iso646kr':
+ case 'ksc5636':
+ return 'KSC5636';
+
+ case 'cskz1048':
+ case 'kz1048':
+ case 'rk1048':
+ case 'strk10482002':
+ return 'KZ-1048';
+
+ case 'csiso19latingreek':
+ case 'isoir19':
+ case 'latingreek':
+ return 'latin-greek';
+
+ case 'csiso27latingreek1':
+ case 'isoir27':
+ case 'latingreek1':
+ return 'Latin-greek-1';
+
+ case 'csiso158lap':
+ case 'isoir158':
+ case 'lap':
+ case 'latinlap':
+ return 'latin-lap';
+
+ case 'csmacintosh':
+ case 'mac':
+ case 'macintosh':
+ return 'macintosh';
+
+ case 'csmicrosoftpublishing':
+ case 'microsoftpublishing':
+ return 'Microsoft-Publishing';
+
+ case 'csmnem':
+ case 'mnem':
+ return 'MNEM';
+
+ case 'csmnemonic':
+ case 'mnemonic':
+ return 'MNEMONIC';
+
+ case 'csiso86hungarian':
+ case 'hu':
+ case 'iso646hu':
+ case 'isoir86':
+ case 'msz77953':
+ return 'MSZ_7795.3';
+
+ case 'csnatsdano':
+ case 'isoir91':
+ case 'natsdano':
+ return 'NATS-DANO';
+
+ case 'csnatsdanoadd':
+ case 'isoir92':
+ case 'natsdanoadd':
+ return 'NATS-DANO-ADD';
+
+ case 'csnatssefi':
+ case 'isoir81':
+ case 'natssefi':
+ return 'NATS-SEFI';
+
+ case 'csnatssefiadd':
+ case 'isoir82':
+ case 'natssefiadd':
+ return 'NATS-SEFI-ADD';
+
+ case 'csiso151cuba':
+ case 'cuba':
+ case 'iso646cu':
+ case 'isoir151':
+ case 'ncnc1081':
+ return 'NC_NC00-10:81';
+
+ case 'csiso69french':
+ case 'fr':
+ case 'iso646fr':
+ case 'isoir69':
+ case 'nfz62010':
+ return 'NF_Z_62-010';
+
+ case 'csiso25french':
+ case 'iso646fr1':
+ case 'isoir25':
+ case 'nfz620101973':
+ return 'NF_Z_62-010_(1973)';
+
+ case 'csiso60danishnorwegian':
+ case 'csiso60norwegian1':
+ case 'iso646no':
+ case 'isoir60':
+ case 'no':
+ case 'ns45511':
+ return 'NS_4551-1';
+
+ case 'csiso61norwegian2':
+ case 'iso646no2':
+ case 'isoir61':
+ case 'no2':
+ case 'ns45512':
+ return 'NS_4551-2';
+
+ case 'osdebcdicdf3irv':
+ return 'OSD_EBCDIC_DF03_IRV';
+
+ case 'osdebcdicdf41':
+ return 'OSD_EBCDIC_DF04_1';
+
+ case 'osdebcdicdf415':
+ return 'OSD_EBCDIC_DF04_15';
+
+ case 'cspc8danishnorwegian':
+ case 'pc8danishnorwegian':
+ return 'PC8-Danish-Norwegian';
+
+ case 'cspc8turkish':
+ case 'pc8turkish':
+ return 'PC8-Turkish';
+
+ case 'csiso16portuguese':
+ case 'iso646pt':
+ case 'isoir16':
+ case 'pt':
+ return 'PT';
+
+ case 'csiso84portuguese2':
+ case 'iso646pt2':
+ case 'isoir84':
+ case 'pt2':
+ return 'PT2';
+
+ case 'cp154':
+ case 'csptcp154':
+ case 'cyrillicasian':
+ case 'pt154':
+ case 'ptcp154':
+ return 'PTCP154';
+
+ case 'scsu':
+ return 'SCSU';
+
+ case 'csiso10swedish':
+ case 'fi':
+ case 'iso646fi':
+ case 'iso646se':
+ case 'isoir10':
+ case 'se':
+ case 'sen850200b':
+ return 'SEN_850200_B';
+
+ case 'csiso11swedishfornames':
+ case 'iso646se2':
+ case 'isoir11':
+ case 'se2':
+ case 'sen850200c':
+ return 'SEN_850200_C';
+
+ case 'csiso102t617bit':
+ case 'isoir102':
+ case 't617bit':
+ return 'T.61-7bit';
+
+ case 'csiso103t618bit':
+ case 'isoir103':
+ case 't61':
+ case 't618bit':
+ return 'T.61-8bit';
+
+ case 'csiso128t101g2':
+ case 'isoir128':
+ case 't101g2':
+ return 'T.101-G2';
+
+ case 'cstscii':
+ case 'tscii':
+ return 'TSCII';
+
+ case 'csunicode11':
+ case 'unicode11':
+ return 'UNICODE-1-1';
+
+ case 'csunicode11utf7':
+ case 'unicode11utf7':
+ return 'UNICODE-1-1-UTF-7';
+
+ case 'csunknown8bit':
+ case 'unknown8bit':
+ return 'UNKNOWN-8BIT';
+
+ case 'ansix341968':
+ case 'ansix341986':
+ case 'ascii':
+ case 'cp367':
+ case 'csascii':
+ case 'ibm367':
+ case 'iso646irv1991':
+ case 'iso646us':
+ case 'isoir6':
+ case 'us':
+ case 'usascii':
+ return 'US-ASCII';
+
+ case 'csusdk':
+ case 'usdk':
+ return 'us-dk';
+
+ case 'utf7':
+ return 'UTF-7';
+
+ case 'utf8':
+ return 'UTF-8';
+
+ case 'utf16':
+ return 'UTF-16';
+
+ case 'utf16be':
+ return 'UTF-16BE';
+
+ case 'utf16le':
+ return 'UTF-16LE';
+
+ case 'utf32':
+ return 'UTF-32';
+
+ case 'utf32be':
+ return 'UTF-32BE';
+
+ case 'utf32le':
+ return 'UTF-32LE';
+
+ case 'csventurainternational':
+ case 'venturainternational':
+ return 'Ventura-International';
+
+ case 'csventuramath':
+ case 'venturamath':
+ return 'Ventura-Math';
+
+ case 'csventuraus':
+ case 'venturaus':
+ return 'Ventura-US';
+
+ case 'csiso70videotexsupp1':
+ case 'isoir70':
+ case 'videotexsuppl':
+ return 'videotex-suppl';
+
+ case 'csviqr':
+ case 'viqr':
+ return 'VIQR';
+
+ case 'csviscii':
+ case 'viscii':
+ return 'VISCII';
+
+ case 'csshiftjis':
+ case 'cswindows31j':
+ case 'mskanji':
+ case 'shiftjis':
+ case 'windows31j':
+ return 'Windows-31J';
+
+ case 'iso885911':
+ case 'tis620':
+ return 'windows-874';
+
+ case 'cseuckr':
+ case 'csksc56011987':
+ case 'euckr':
+ case 'isoir149':
+ case 'korean':
+ case 'ksc5601':
+ case 'ksc56011987':
+ case 'ksc56011989':
+ case 'windows949':
+ return 'windows-949';
+
+ case 'windows1250':
+ return 'windows-1250';
+
+ case 'windows1251':
+ return 'windows-1251';
+
+ case 'cp819':
+ case 'csisolatin1':
+ case 'ibm819':
+ case 'iso88591':
+ case 'iso885911987':
+ case 'isoir100':
+ case 'l1':
+ case 'latin1':
+ case 'windows1252':
+ return 'windows-1252';
+
+ case 'windows1253':
+ return 'windows-1253';
+
+ case 'csisolatin5':
+ case 'iso88599':
+ case 'iso885991989':
+ case 'isoir148':
+ case 'l5':
+ case 'latin5':
+ case 'windows1254':
+ return 'windows-1254';
+
+ case 'windows1255':
+ return 'windows-1255';
+
+ case 'windows1256':
+ return 'windows-1256';
+
+ case 'windows1257':
+ return 'windows-1257';
+
+ case 'windows1258':
+ return 'windows-1258';
+
+ default:
+ return $charset;
+ }
+ }
+
+ public static function get_curl_version()
+ {
+ if (is_array($curl = curl_version()))
+ {
+ $curl = $curl['version'];
+ }
+ elseif (substr($curl, 0, 5) === 'curl/')
+ {
+ $curl = substr($curl, 5, strcspn($curl, "\x09\x0A\x0B\x0C\x0D", 5));
+ }
+ elseif (substr($curl, 0, 8) === 'libcurl/')
+ {
+ $curl = substr($curl, 8, strcspn($curl, "\x09\x0A\x0B\x0C\x0D", 8));
+ }
+ else
+ {
+ $curl = 0;
+ }
+ return $curl;
+ }
+
+ /**
+ * Strip HTML comments
+ *
+ * @param string $data Data to strip comments from
+ * @return string Comment stripped string
+ */
+ public static function strip_comments($data)
+ {
+ $output = '';
+ while (($start = strpos($data, '<!--')) !== false)
+ {
+ $output .= substr($data, 0, $start);
+ if (($end = strpos($data, '-->', $start)) !== false)
+ {
+ $data = substr_replace($data, '', 0, $end + 3);
+ }
+ else
+ {
+ $data = '';
+ }
+ }
+ return $output . $data;
+ }
+
+ public static function parse_date($dt)
+ {
+ $parser = SimplePie_Parse_Date::get();
+ return $parser->parse($dt);
+ }
+
+ /**
+ * Decode HTML entities
+ *
+ * @deprecated Use DOMDocument instead
+ * @param string $data Input data
+ * @return string Output data
+ */
+ public static function entities_decode($data)
+ {
+ $decoder = new SimplePie_Decode_HTML_Entities($data);
+ return $decoder->parse();
+ }
+
+ /**
+ * Remove RFC822 comments
+ *
+ * @param string $data Data to strip comments from
+ * @return string Comment stripped string
+ */
+ public static function uncomment_rfc822($string)
+ {
+ $string = (string) $string;
+ $position = 0;
+ $length = strlen($string);
+ $depth = 0;
+
+ $output = '';
+
+ while ($position < $length && ($pos = strpos($string, '(', $position)) !== false)
+ {
+ $output .= substr($string, $position, $pos - $position);
+ $position = $pos + 1;
+ if ($string[$pos - 1] !== '\\')
+ {
+ $depth++;
+ while ($depth && $position < $length)
+ {
+ $position += strcspn($string, '()', $position);
+ if ($string[$position - 1] === '\\')
+ {
+ $position++;
+ continue;
+ }
+ elseif (isset($string[$position]))
+ {
+ switch ($string[$position])
+ {
+ case '(':
+ $depth++;
+ break;
+
+ case ')':
+ $depth--;
+ break;
+ }
+ $position++;
+ }
+ else
+ {
+ break;
+ }
+ }
+ }
+ else
+ {
+ $output .= '(';
+ }
+ }
+ $output .= substr($string, $position);
+
+ return $output;
+ }
+
+ public static function parse_mime($mime)
+ {
+ if (($pos = strpos($mime, ';')) === false)
+ {
+ return trim($mime);
+ }
+ else
+ {
+ return trim(substr($mime, 0, $pos));
+ }
+ }
+
+ public static function atom_03_construct_type($attribs)
+ {
+ if (isset($attribs['']['mode']) && strtolower(trim($attribs['']['mode']) === 'base64'))
+ {
+ $mode = SIMPLEPIE_CONSTRUCT_BASE64;
+ }
+ else
+ {
+ $mode = SIMPLEPIE_CONSTRUCT_NONE;
+ }
+ if (isset($attribs['']['type']))
+ {
+ switch (strtolower(trim($attribs['']['type'])))
+ {
+ case 'text':
+ case 'text/plain':
+ return SIMPLEPIE_CONSTRUCT_TEXT | $mode;
+
+ case 'html':
+ case 'text/html':
+ return SIMPLEPIE_CONSTRUCT_HTML | $mode;
+
+ case 'xhtml':
+ case 'application/xhtml+xml':
+ return SIMPLEPIE_CONSTRUCT_XHTML | $mode;
+
+ default:
+ return SIMPLEPIE_CONSTRUCT_NONE | $mode;
+ }
+ }
+ else
+ {
+ return SIMPLEPIE_CONSTRUCT_TEXT | $mode;
+ }
+ }
+
+ public static function atom_10_construct_type($attribs)
+ {
+ if (isset($attribs['']['type']))
+ {
+ switch (strtolower(trim($attribs['']['type'])))
+ {
+ case 'text':
+ return SIMPLEPIE_CONSTRUCT_TEXT;
+
+ case 'html':
+ return SIMPLEPIE_CONSTRUCT_HTML;
+
+ case 'xhtml':
+ return SIMPLEPIE_CONSTRUCT_XHTML;
+
+ default:
+ return SIMPLEPIE_CONSTRUCT_NONE;
+ }
+ }
+ return SIMPLEPIE_CONSTRUCT_TEXT;
+ }
+
+ public static function atom_10_content_construct_type($attribs)
+ {
+ if (isset($attribs['']['type']))
+ {
+ $type = strtolower(trim($attribs['']['type']));
+ switch ($type)
+ {
+ case 'text':
+ return SIMPLEPIE_CONSTRUCT_TEXT;
+
+ case 'html':
+ return SIMPLEPIE_CONSTRUCT_HTML;
+
+ case 'xhtml':
+ return SIMPLEPIE_CONSTRUCT_XHTML;
+ }
+ if (in_array(substr($type, -4), array('+xml', '/xml')) || substr($type, 0, 5) === 'text/')
+ {
+ return SIMPLEPIE_CONSTRUCT_NONE;
+ }
+ else
+ {
+ return SIMPLEPIE_CONSTRUCT_BASE64;
+ }
+ }
+ else
+ {
+ return SIMPLEPIE_CONSTRUCT_TEXT;
+ }
+ }
+
+ public static function is_isegment_nz_nc($string)
+ {
+ return (bool) preg_match('/^([A-Za-z0-9\-._~\x{A0}-\x{D7FF}\x{F900}-\x{FDCF}\x{FDF0}-\x{FFEF}\x{10000}-\x{1FFFD}\x{20000}-\x{2FFFD}\x{30000}-\x{3FFFD}\x{40000}-\x{4FFFD}\x{50000}-\x{5FFFD}\x{60000}-\x{6FFFD}\x{70000}-\x{7FFFD}\x{80000}-\x{8FFFD}\x{90000}-\x{9FFFD}\x{A0000}-\x{AFFFD}\x{B0000}-\x{BFFFD}\x{C0000}-\x{CFFFD}\x{D0000}-\x{DFFFD}\x{E1000}-\x{EFFFD}!$&\'()*+,;=@]|(%[0-9ABCDEF]{2}))+$/u', $string);
+ }
+
+ public static function space_separated_tokens($string)
+ {
+ $space_characters = "\x20\x09\x0A\x0B\x0C\x0D";
+ $string_length = strlen($string);
+
+ $position = strspn($string, $space_characters);
+ $tokens = array();
+
+ while ($position < $string_length)
+ {
+ $len = strcspn($string, $space_characters, $position);
+ $tokens[] = substr($string, $position, $len);
+ $position += $len;
+ $position += strspn($string, $space_characters, $position);
+ }
+
+ return $tokens;
+ }
+
+ /**
+ * Converts a unicode codepoint to a UTF-8 character
+ *
+ * @static
+ * @param int $codepoint Unicode codepoint
+ * @return string UTF-8 character
+ */
+ public static function codepoint_to_utf8($codepoint)
+ {
+ $codepoint = (int) $codepoint;
+ if ($codepoint < 0)
+ {
+ return false;
+ }
+ else if ($codepoint <= 0x7f)
+ {
+ return chr($codepoint);
+ }
+ else if ($codepoint <= 0x7ff)
+ {
+ return chr(0xc0 | ($codepoint >> 6)) . chr(0x80 | ($codepoint & 0x3f));
+ }
+ else if ($codepoint <= 0xffff)
+ {
+ return chr(0xe0 | ($codepoint >> 12)) . chr(0x80 | (($codepoint >> 6) & 0x3f)) . chr(0x80 | ($codepoint & 0x3f));
+ }
+ else if ($codepoint <= 0x10ffff)
+ {
+ return chr(0xf0 | ($codepoint >> 18)) . chr(0x80 | (($codepoint >> 12) & 0x3f)) . chr(0x80 | (($codepoint >> 6) & 0x3f)) . chr(0x80 | ($codepoint & 0x3f));
+ }
+ else
+ {
+ // U+FFFD REPLACEMENT CHARACTER
+ return "\xEF\xBF\xBD";
+ }
+ }
+
+ /**
+ * Similar to parse_str()
+ *
+ * Returns an associative array of name/value pairs, where the value is an
+ * array of values that have used the same name
+ *
+ * @static
+ * @param string $str The input string.
+ * @return array
+ */
+ public static function parse_str($str)
+ {
+ $return = array();
+ $str = explode('&', $str);
+
+ foreach ($str as $section)
+ {
+ if (strpos($section, '=') !== false)
+ {
+ list($name, $value) = explode('=', $section, 2);
+ $return[urldecode($name)][] = urldecode($value);
+ }
+ else
+ {
+ $return[urldecode($section)][] = null;
+ }
+ }
+
+ return $return;
+ }
+
+ /**
+ * Detect XML encoding, as per XML 1.0 Appendix F.1
+ *
+ * @todo Add support for EBCDIC
+ * @param string $data XML data
+ * @param SimplePie_Registry $registry Class registry
+ * @return array Possible encodings
+ */
+ public static function xml_encoding($data, $registry)
+ {
+ // UTF-32 Big Endian BOM
+ if (substr($data, 0, 4) === "\x00\x00\xFE\xFF")
+ {
+ $encoding[] = 'UTF-32BE';
+ }
+ // UTF-32 Little Endian BOM
+ elseif (substr($data, 0, 4) === "\xFF\xFE\x00\x00")
+ {
+ $encoding[] = 'UTF-32LE';
+ }
+ // UTF-16 Big Endian BOM
+ elseif (substr($data, 0, 2) === "\xFE\xFF")
+ {
+ $encoding[] = 'UTF-16BE';
+ }
+ // UTF-16 Little Endian BOM
+ elseif (substr($data, 0, 2) === "\xFF\xFE")
+ {
+ $encoding[] = 'UTF-16LE';
+ }
+ // UTF-8 BOM
+ elseif (substr($data, 0, 3) === "\xEF\xBB\xBF")
+ {
+ $encoding[] = 'UTF-8';
+ }
+ // UTF-32 Big Endian Without BOM
+ elseif (substr($data, 0, 20) === "\x00\x00\x00\x3C\x00\x00\x00\x3F\x00\x00\x00\x78\x00\x00\x00\x6D\x00\x00\x00\x6C")
+ {
+ if ($pos = strpos($data, "\x00\x00\x00\x3F\x00\x00\x00\x3E"))
+ {
+ $parser = $registry->create('XML_Declaration_Parser', array(SimplePie_Misc::change_encoding(substr($data, 20, $pos - 20), 'UTF-32BE', 'UTF-8')));
+ if ($parser->parse())
+ {
+ $encoding[] = $parser->encoding;
+ }
+ }
+ $encoding[] = 'UTF-32BE';
+ }
+ // UTF-32 Little Endian Without BOM
+ elseif (substr($data, 0, 20) === "\x3C\x00\x00\x00\x3F\x00\x00\x00\x78\x00\x00\x00\x6D\x00\x00\x00\x6C\x00\x00\x00")
+ {
+ if ($pos = strpos($data, "\x3F\x00\x00\x00\x3E\x00\x00\x00"))
+ {
+ $parser = $registry->create('XML_Declaration_Parser', array(SimplePie_Misc::change_encoding(substr($data, 20, $pos - 20), 'UTF-32LE', 'UTF-8')));
+ if ($parser->parse())
+ {
+ $encoding[] = $parser->encoding;
+ }
+ }
+ $encoding[] = 'UTF-32LE';
+ }
+ // UTF-16 Big Endian Without BOM
+ elseif (substr($data, 0, 10) === "\x00\x3C\x00\x3F\x00\x78\x00\x6D\x00\x6C")
+ {
+ if ($pos = strpos($data, "\x00\x3F\x00\x3E"))
+ {
+ $parser = $registry->create('XML_Declaration_Parser', array(SimplePie_Misc::change_encoding(substr($data, 20, $pos - 10), 'UTF-16BE', 'UTF-8')));
+ if ($parser->parse())
+ {
+ $encoding[] = $parser->encoding;
+ }
+ }
+ $encoding[] = 'UTF-16BE';
+ }
+ // UTF-16 Little Endian Without BOM
+ elseif (substr($data, 0, 10) === "\x3C\x00\x3F\x00\x78\x00\x6D\x00\x6C\x00")
+ {
+ if ($pos = strpos($data, "\x3F\x00\x3E\x00"))
+ {
+ $parser = $registry->create('XML_Declaration_Parser', array(SimplePie_Misc::change_encoding(substr($data, 20, $pos - 10), 'UTF-16LE', 'UTF-8')));
+ if ($parser->parse())
+ {
+ $encoding[] = $parser->encoding;
+ }
+ }
+ $encoding[] = 'UTF-16LE';
+ }
+ // US-ASCII (or superset)
+ elseif (substr($data, 0, 5) === "\x3C\x3F\x78\x6D\x6C")
+ {
+ if ($pos = strpos($data, "\x3F\x3E"))
+ {
+ $parser = $registry->create('XML_Declaration_Parser', array(substr($data, 5, $pos - 5)));
+ if ($parser->parse())
+ {
+ $encoding[] = $parser->encoding;
+ }
+ }
+ $encoding[] = 'UTF-8';
+ }
+ // Fallback to UTF-8
+ else
+ {
+ $encoding[] = 'UTF-8';
+ }
+ return $encoding;
+ }
+
+ public static function output_javascript()
+ {
+ if (function_exists('ob_gzhandler'))
+ {
+ ob_start('ob_gzhandler');
+ }
+ header('Content-type: text/javascript; charset: UTF-8');
+ header('Cache-Control: must-revalidate');
+ header('Expires: ' . gmdate('D, d M Y H:i:s', time() + 604800) . ' GMT'); // 7 days
+ ?>
+function embed_quicktime(type, bgcolor, width, height, link, placeholder, loop) {
+ if (placeholder != '') {
+ document.writeln('<embed type="'+type+'" style="cursor:hand; cursor:pointer;" href="'+link+'" src="'+placeholder+'" width="'+width+'" height="'+height+'" autoplay="false" target="myself" controller="false" loop="'+loop+'" scale="aspect" bgcolor="'+bgcolor+'" pluginspage="http://www.apple.com/quicktime/download/"></embed>');
+ }
+ else {
+ document.writeln('<embed type="'+type+'" style="cursor:hand; cursor:pointer;" src="'+link+'" width="'+width+'" height="'+height+'" autoplay="false" target="myself" controller="true" loop="'+loop+'" scale="aspect" bgcolor="'+bgcolor+'" pluginspage="http://www.apple.com/quicktime/download/"></embed>');
+ }
+}
+
+function embed_flash(bgcolor, width, height, link, loop, type) {
+ document.writeln('<embed src="'+link+'" pluginspage="http://www.macromedia.com/go/getflashplayer" type="'+type+'" quality="high" width="'+width+'" height="'+height+'" bgcolor="'+bgcolor+'" loop="'+loop+'"></embed>');
+}
+
+function embed_flv(width, height, link, placeholder, loop, player) {
+ document.writeln('<embed src="'+player+'" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" quality="high" width="'+width+'" height="'+height+'" wmode="transparent" flashvars="file='+link+'&autostart=false&repeat='+loop+'&showdigits=true&showfsbutton=false"></embed>');
+}
+
+function embed_wmedia(width, height, link) {
+ document.writeln('<embed type="application/x-mplayer2" src="'+link+'" autosize="1" width="'+width+'" height="'+height+'" showcontrols="1" showstatusbar="0" showdisplay="0" autostart="0"></embed>');
+}
+ <?php
+ }
+
+ /**
+ * Get the SimplePie build timestamp
+ *
+ * Uses the git index if it exists, otherwise uses the modification time
+ * of the newest file.
+ */
+ public static function get_build()
+ {
+ $root = dirname(dirname(__FILE__));
+ if (file_exists($root . '/.git/index'))
+ {
+ return filemtime($root . '/.git/index');
+ }
+ elseif (file_exists($root . '/SimplePie'))
+ {
+ $time = 0;
+ foreach (glob($root . '/SimplePie/*.php') as $file)
+ {
+ if (($mtime = filemtime($file)) > $time)
+ {
+ $time = $mtime;
+ }
+ }
+ return $time;
+ }
+ elseif (file_exists(dirname(__FILE__) . '/Core.php'))
+ {
+ return filemtime(dirname(__FILE__) . '/Core.php');
+ }
+ else
+ {
+ return filemtime(__FILE__);
+ }
+ }
+
+ /**
+ * Format debugging information
+ */
+ public static function debug(&$sp)
+ {
+ $info = 'SimplePie ' . SIMPLEPIE_VERSION . ' Build ' . SIMPLEPIE_BUILD . "\n";
+ $info .= 'PHP ' . PHP_VERSION . "\n";
+ if ($sp->error() !== null)
+ {
+ $info .= 'Error occurred: ' . $sp->error() . "\n";
+ }
+ else
+ {
+ $info .= "No error found.\n";
+ }
+ $info .= "Extensions:\n";
+ $extensions = array('pcre', 'curl', 'zlib', 'mbstring', 'iconv', 'xmlreader', 'xml');
+ foreach ($extensions as $ext)
+ {
+ if (extension_loaded($ext))
+ {
+ $info .= " $ext loaded\n";
+ switch ($ext)
+ {
+ case 'pcre':
+ $info .= ' Version ' . PCRE_VERSION . "\n";
+ break;
+ case 'curl':
+ $version = curl_version();
+ $info .= ' Version ' . $version['version'] . "\n";
+ break;
+ case 'mbstring':
+ $info .= ' Overloading: ' . mb_get_info('func_overload') . "\n";
+ break;
+ case 'iconv':
+ $info .= ' Version ' . ICONV_VERSION . "\n";
+ break;
+ case 'xml':
+ $info .= ' Version ' . LIBXML_DOTTED_VERSION . "\n";
+ break;
+ }
+ }
+ else
+ {
+ $info .= " $ext not loaded\n";
+ }
+ }
+ return $info;
+ }
+
+ public static function silence_errors($num, $str)
+ {
+ // No-op
+ }
+}
+
diff --git a/vendor/simplepie/simplepie/library/SimplePie/Net/IPv6.php b/vendor/simplepie/simplepie/library/SimplePie/Net/IPv6.php
new file mode 100644
index 000000000..47658aff2
--- /dev/null
+++ b/vendor/simplepie/simplepie/library/SimplePie/Net/IPv6.php
@@ -0,0 +1,275 @@
+<?php
+/**
+ * SimplePie
+ *
+ * A PHP-Based RSS and Atom Feed Framework.
+ * Takes the hard work out of managing a complete RSS/Atom solution.
+ *
+ * Copyright (c) 2004-2016, Ryan Parman, Geoffrey Sneddon, Ryan McCue, and contributors
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification, are
+ * permitted provided that the following conditions are met:
+ *
+ * * Redistributions of source code must retain the above copyright notice, this list of
+ * conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above copyright notice, this list
+ * of conditions and the following disclaimer in the documentation and/or other materials
+ * provided with the distribution.
+ *
+ * * Neither the name of the SimplePie Team nor the names of its contributors may be used
+ * to endorse or promote products derived from this software without specific prior
+ * written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS
+ * AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ *
+ * @package SimplePie
+ * @copyright 2004-2016 Ryan Parman, Geoffrey Sneddon, Ryan McCue
+ * @author Ryan Parman
+ * @author Geoffrey Sneddon
+ * @author Ryan McCue
+ * @link http://simplepie.org/ SimplePie
+ * @license http://www.opensource.org/licenses/bsd-license.php BSD License
+ */
+
+
+/**
+ * Class to validate and to work with IPv6 addresses.
+ *
+ * @package SimplePie
+ * @subpackage HTTP
+ * @copyright 2003-2005 The PHP Group
+ * @license http://www.opensource.org/licenses/bsd-license.php
+ * @link http://pear.php.net/package/Net_IPv6
+ * @author Alexander Merz <alexander.merz@web.de>
+ * @author elfrink at introweb dot nl
+ * @author Josh Peck <jmp at joshpeck dot org>
+ * @author Geoffrey Sneddon <geoffers@gmail.com>
+ */
+class SimplePie_Net_IPv6
+{
+ /**
+ * Uncompresses an IPv6 address
+ *
+ * RFC 4291 allows you to compress concecutive zero pieces in an address to
+ * '::'. This method expects a valid IPv6 address and expands the '::' to
+ * the required number of zero pieces.
+ *
+ * Example: FF01::101 -> FF01:0:0:0:0:0:0:101
+ * ::1 -> 0:0:0:0:0:0:0:1
+ *
+ * @author Alexander Merz <alexander.merz@web.de>
+ * @author elfrink at introweb dot nl
+ * @author Josh Peck <jmp at joshpeck dot org>
+ * @copyright 2003-2005 The PHP Group
+ * @license http://www.opensource.org/licenses/bsd-license.php
+ * @param string $ip An IPv6 address
+ * @return string The uncompressed IPv6 address
+ */
+ public static function uncompress($ip)
+ {
+ $c1 = -1;
+ $c2 = -1;
+ if (substr_count($ip, '::') === 1)
+ {
+ list($ip1, $ip2) = explode('::', $ip);
+ if ($ip1 === '')
+ {
+ $c1 = -1;
+ }
+ else
+ {
+ $c1 = substr_count($ip1, ':');
+ }
+ if ($ip2 === '')
+ {
+ $c2 = -1;
+ }
+ else
+ {
+ $c2 = substr_count($ip2, ':');
+ }
+ if (strpos($ip2, '.') !== false)
+ {
+ $c2++;
+ }
+ // ::
+ if ($c1 === -1 && $c2 === -1)
+ {
+ $ip = '0:0:0:0:0:0:0:0';
+ }
+ // ::xxx
+ else if ($c1 === -1)
+ {
+ $fill = str_repeat('0:', 7 - $c2);
+ $ip = str_replace('::', $fill, $ip);
+ }
+ // xxx::
+ else if ($c2 === -1)
+ {
+ $fill = str_repeat(':0', 7 - $c1);
+ $ip = str_replace('::', $fill, $ip);
+ }
+ // xxx::xxx
+ else
+ {
+ $fill = ':' . str_repeat('0:', 6 - $c2 - $c1);
+ $ip = str_replace('::', $fill, $ip);
+ }
+ }
+ return $ip;
+ }
+
+ /**
+ * Compresses an IPv6 address
+ *
+ * RFC 4291 allows you to compress concecutive zero pieces in an address to
+ * '::'. This method expects a valid IPv6 address and compresses consecutive
+ * zero pieces to '::'.
+ *
+ * Example: FF01:0:0:0:0:0:0:101 -> FF01::101
+ * 0:0:0:0:0:0:0:1 -> ::1
+ *
+ * @see uncompress()
+ * @param string $ip An IPv6 address
+ * @return string The compressed IPv6 address
+ */
+ public static function compress($ip)
+ {
+ // Prepare the IP to be compressed
+ $ip = self::uncompress($ip);
+ $ip_parts = self::split_v6_v4($ip);
+
+ // Replace all leading zeros
+ $ip_parts[0] = preg_replace('/(^|:)0+([0-9])/', '\1\2', $ip_parts[0]);
+
+ // Find bunches of zeros
+ if (preg_match_all('/(?:^|:)(?:0(?::|$))+/', $ip_parts[0], $matches, PREG_OFFSET_CAPTURE))
+ {
+ $max = 0;
+ $pos = null;
+ foreach ($matches[0] as $match)
+ {
+ if (strlen($match[0]) > $max)
+ {
+ $max = strlen($match[0]);
+ $pos = $match[1];
+ }
+ }
+
+ $ip_parts[0] = substr_replace($ip_parts[0], '::', $pos, $max);
+ }
+
+ if ($ip_parts[1] !== '')
+ {
+ return implode(':', $ip_parts);
+ }
+ else
+ {
+ return $ip_parts[0];
+ }
+ }
+
+ /**
+ * Splits an IPv6 address into the IPv6 and IPv4 representation parts
+ *
+ * RFC 4291 allows you to represent the last two parts of an IPv6 address
+ * using the standard IPv4 representation
+ *
+ * Example: 0:0:0:0:0:0:13.1.68.3
+ * 0:0:0:0:0:FFFF:129.144.52.38
+ *
+ * @param string $ip An IPv6 address
+ * @return array [0] contains the IPv6 represented part, and [1] the IPv4 represented part
+ */
+ private static function split_v6_v4($ip)
+ {
+ if (strpos($ip, '.') !== false)
+ {
+ $pos = strrpos($ip, ':');
+ $ipv6_part = substr($ip, 0, $pos);
+ $ipv4_part = substr($ip, $pos + 1);
+ return array($ipv6_part, $ipv4_part);
+ }
+ else
+ {
+ return array($ip, '');
+ }
+ }
+
+ /**
+ * Checks an IPv6 address
+ *
+ * Checks if the given IP is a valid IPv6 address
+ *
+ * @param string $ip An IPv6 address
+ * @return bool true if $ip is a valid IPv6 address
+ */
+ public static function check_ipv6($ip)
+ {
+ $ip = self::uncompress($ip);
+ list($ipv6, $ipv4) = self::split_v6_v4($ip);
+ $ipv6 = explode(':', $ipv6);
+ $ipv4 = explode('.', $ipv4);
+ if (count($ipv6) === 8 && count($ipv4) === 1 || count($ipv6) === 6 && count($ipv4) === 4)
+ {
+ foreach ($ipv6 as $ipv6_part)
+ {
+ // The section can't be empty
+ if ($ipv6_part === '')
+ return false;
+
+ // Nor can it be over four characters
+ if (strlen($ipv6_part) > 4)
+ return false;
+
+ // Remove leading zeros (this is safe because of the above)
+ $ipv6_part = ltrim($ipv6_part, '0');
+ if ($ipv6_part === '')
+ $ipv6_part = '0';
+
+ // Check the value is valid
+ $value = hexdec($ipv6_part);
+ if (dechex($value) !== strtolower($ipv6_part) || $value < 0 || $value > 0xFFFF)
+ return false;
+ }
+ if (count($ipv4) === 4)
+ {
+ foreach ($ipv4 as $ipv4_part)
+ {
+ $value = (int) $ipv4_part;
+ if ((string) $value !== $ipv4_part || $value < 0 || $value > 0xFF)
+ return false;
+ }
+ }
+ return true;
+ }
+ else
+ {
+ return false;
+ }
+ }
+
+ /**
+ * Checks if the given IP is a valid IPv6 address
+ *
+ * @codeCoverageIgnore
+ * @deprecated Use {@see SimplePie_Net_IPv6::check_ipv6()} instead
+ * @see check_ipv6
+ * @param string $ip An IPv6 address
+ * @return bool true if $ip is a valid IPv6 address
+ */
+ public static function checkIPv6($ip)
+ {
+ return self::check_ipv6($ip);
+ }
+}
diff --git a/vendor/simplepie/simplepie/library/SimplePie/Parse/Date.php b/vendor/simplepie/simplepie/library/SimplePie/Parse/Date.php
new file mode 100644
index 000000000..1f2156655
--- /dev/null
+++ b/vendor/simplepie/simplepie/library/SimplePie/Parse/Date.php
@@ -0,0 +1,983 @@
+<?php
+/**
+ * SimplePie
+ *
+ * A PHP-Based RSS and Atom Feed Framework.
+ * Takes the hard work out of managing a complete RSS/Atom solution.
+ *
+ * Copyright (c) 2004-2016, Ryan Parman, Geoffrey Sneddon, Ryan McCue, and contributors
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification, are
+ * permitted provided that the following conditions are met:
+ *
+ * * Redistributions of source code must retain the above copyright notice, this list of
+ * conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above copyright notice, this list
+ * of conditions and the following disclaimer in the documentation and/or other materials
+ * provided with the distribution.
+ *
+ * * Neither the name of the SimplePie Team nor the names of its contributors may be used
+ * to endorse or promote products derived from this software without specific prior
+ * written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS
+ * AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ *
+ * @package SimplePie
+ * @copyright 2004-2016 Ryan Parman, Geoffrey Sneddon, Ryan McCue
+ * @author Ryan Parman
+ * @author Geoffrey Sneddon
+ * @author Ryan McCue
+ * @link http://simplepie.org/ SimplePie
+ * @license http://www.opensource.org/licenses/bsd-license.php BSD License
+ */
+
+
+/**
+ * Date Parser
+ *
+ * @package SimplePie
+ * @subpackage Parsing
+ */
+class SimplePie_Parse_Date
+{
+ /**
+ * Input data
+ *
+ * @access protected
+ * @var string
+ */
+ var $date;
+
+ /**
+ * List of days, calendar day name => ordinal day number in the week
+ *
+ * @access protected
+ * @var array
+ */
+ var $day = array(
+ // English
+ 'mon' => 1,
+ 'monday' => 1,
+ 'tue' => 2,
+ 'tuesday' => 2,
+ 'wed' => 3,
+ 'wednesday' => 3,
+ 'thu' => 4,
+ 'thursday' => 4,
+ 'fri' => 5,
+ 'friday' => 5,
+ 'sat' => 6,
+ 'saturday' => 6,
+ 'sun' => 7,
+ 'sunday' => 7,
+ // Dutch
+ 'maandag' => 1,
+ 'dinsdag' => 2,
+ 'woensdag' => 3,
+ 'donderdag' => 4,
+ 'vrijdag' => 5,
+ 'zaterdag' => 6,
+ 'zondag' => 7,
+ // French
+ 'lundi' => 1,
+ 'mardi' => 2,
+ 'mercredi' => 3,
+ 'jeudi' => 4,
+ 'vendredi' => 5,
+ 'samedi' => 6,
+ 'dimanche' => 7,
+ // German
+ 'montag' => 1,
+ 'dienstag' => 2,
+ 'mittwoch' => 3,
+ 'donnerstag' => 4,
+ 'freitag' => 5,
+ 'samstag' => 6,
+ 'sonnabend' => 6,
+ 'sonntag' => 7,
+ // Italian
+ 'lunedì' => 1,
+ 'martedì' => 2,
+ 'mercoledì' => 3,
+ 'giovedì' => 4,
+ 'venerdì' => 5,
+ 'sabato' => 6,
+ 'domenica' => 7,
+ // Spanish
+ 'lunes' => 1,
+ 'martes' => 2,
+ 'miércoles' => 3,
+ 'jueves' => 4,
+ 'viernes' => 5,
+ 'sábado' => 6,
+ 'domingo' => 7,
+ // Finnish
+ 'maanantai' => 1,
+ 'tiistai' => 2,
+ 'keskiviikko' => 3,
+ 'torstai' => 4,
+ 'perjantai' => 5,
+ 'lauantai' => 6,
+ 'sunnuntai' => 7,
+ // Hungarian
+ 'hétfő' => 1,
+ 'kedd' => 2,
+ 'szerda' => 3,
+ 'csütörtok' => 4,
+ 'péntek' => 5,
+ 'szombat' => 6,
+ 'vasárnap' => 7,
+ // Greek
+ 'Δευ' => 1,
+ 'Τρι' => 2,
+ 'Τετ' => 3,
+ 'Πεμ' => 4,
+ 'Παρ' => 5,
+ 'Σαβ' => 6,
+ 'Κυρ' => 7,
+ );
+
+ /**
+ * List of months, calendar month name => calendar month number
+ *
+ * @access protected
+ * @var array
+ */
+ var $month = array(
+ // English
+ 'jan' => 1,
+ 'january' => 1,
+ 'feb' => 2,
+ 'february' => 2,
+ 'mar' => 3,
+ 'march' => 3,
+ 'apr' => 4,
+ 'april' => 4,
+ 'may' => 5,
+ // No long form of May
+ 'jun' => 6,
+ 'june' => 6,
+ 'jul' => 7,
+ 'july' => 7,
+ 'aug' => 8,
+ 'august' => 8,
+ 'sep' => 9,
+ 'september' => 9,
+ 'oct' => 10,
+ 'october' => 10,
+ 'nov' => 11,
+ 'november' => 11,
+ 'dec' => 12,
+ 'december' => 12,
+ // Dutch
+ 'januari' => 1,
+ 'februari' => 2,
+ 'maart' => 3,
+ 'april' => 4,
+ 'mei' => 5,
+ 'juni' => 6,
+ 'juli' => 7,
+ 'augustus' => 8,
+ 'september' => 9,
+ 'oktober' => 10,
+ 'november' => 11,
+ 'december' => 12,
+ // French
+ 'janvier' => 1,
+ 'février' => 2,
+ 'mars' => 3,
+ 'avril' => 4,
+ 'mai' => 5,
+ 'juin' => 6,
+ 'juillet' => 7,
+ 'août' => 8,
+ 'septembre' => 9,
+ 'octobre' => 10,
+ 'novembre' => 11,
+ 'décembre' => 12,
+ // German
+ 'januar' => 1,
+ 'februar' => 2,
+ 'märz' => 3,
+ 'april' => 4,
+ 'mai' => 5,
+ 'juni' => 6,
+ 'juli' => 7,
+ 'august' => 8,
+ 'september' => 9,
+ 'oktober' => 10,
+ 'november' => 11,
+ 'dezember' => 12,
+ // Italian
+ 'gennaio' => 1,
+ 'febbraio' => 2,
+ 'marzo' => 3,
+ 'aprile' => 4,
+ 'maggio' => 5,
+ 'giugno' => 6,
+ 'luglio' => 7,
+ 'agosto' => 8,
+ 'settembre' => 9,
+ 'ottobre' => 10,
+ 'novembre' => 11,
+ 'dicembre' => 12,
+ // Spanish
+ 'enero' => 1,
+ 'febrero' => 2,
+ 'marzo' => 3,
+ 'abril' => 4,
+ 'mayo' => 5,
+ 'junio' => 6,
+ 'julio' => 7,
+ 'agosto' => 8,
+ 'septiembre' => 9,
+ 'setiembre' => 9,
+ 'octubre' => 10,
+ 'noviembre' => 11,
+ 'diciembre' => 12,
+ // Finnish
+ 'tammikuu' => 1,
+ 'helmikuu' => 2,
+ 'maaliskuu' => 3,
+ 'huhtikuu' => 4,
+ 'toukokuu' => 5,
+ 'kesäkuu' => 6,
+ 'heinäkuu' => 7,
+ 'elokuu' => 8,
+ 'suuskuu' => 9,
+ 'lokakuu' => 10,
+ 'marras' => 11,
+ 'joulukuu' => 12,
+ // Hungarian
+ 'január' => 1,
+ 'február' => 2,
+ 'március' => 3,
+ 'április' => 4,
+ 'május' => 5,
+ 'június' => 6,
+ 'július' => 7,
+ 'augusztus' => 8,
+ 'szeptember' => 9,
+ 'október' => 10,
+ 'november' => 11,
+ 'december' => 12,
+ // Greek
+ 'Ιαν' => 1,
+ 'Φεβ' => 2,
+ 'Μάώ' => 3,
+ 'Μαώ' => 3,
+ 'Απρ' => 4,
+ 'Μάι' => 5,
+ 'Μαϊ' => 5,
+ 'Μαι' => 5,
+ 'Ιούν' => 6,
+ 'Ιον' => 6,
+ 'Ιούλ' => 7,
+ 'Ιολ' => 7,
+ 'Αύγ' => 8,
+ 'Αυγ' => 8,
+ 'Σεπ' => 9,
+ 'Οκτ' => 10,
+ 'Νοέ' => 11,
+ 'Δεκ' => 12,
+ );
+
+ /**
+ * List of timezones, abbreviation => offset from UTC
+ *
+ * @access protected
+ * @var array
+ */
+ var $timezone = array(
+ 'ACDT' => 37800,
+ 'ACIT' => 28800,
+ 'ACST' => 34200,
+ 'ACT' => -18000,
+ 'ACWDT' => 35100,
+ 'ACWST' => 31500,
+ 'AEDT' => 39600,
+ 'AEST' => 36000,
+ 'AFT' => 16200,
+ 'AKDT' => -28800,
+ 'AKST' => -32400,
+ 'AMDT' => 18000,
+ 'AMT' => -14400,
+ 'ANAST' => 46800,
+ 'ANAT' => 43200,
+ 'ART' => -10800,
+ 'AZOST' => -3600,
+ 'AZST' => 18000,
+ 'AZT' => 14400,
+ 'BIOT' => 21600,
+ 'BIT' => -43200,
+ 'BOT' => -14400,
+ 'BRST' => -7200,
+ 'BRT' => -10800,
+ 'BST' => 3600,
+ 'BTT' => 21600,
+ 'CAST' => 18000,
+ 'CAT' => 7200,
+ 'CCT' => 23400,
+ 'CDT' => -18000,
+ 'CEDT' => 7200,
+ 'CEST' => 7200,
+ 'CET' => 3600,
+ 'CGST' => -7200,
+ 'CGT' => -10800,
+ 'CHADT' => 49500,
+ 'CHAST' => 45900,
+ 'CIST' => -28800,
+ 'CKT' => -36000,
+ 'CLDT' => -10800,
+ 'CLST' => -14400,
+ 'COT' => -18000,
+ 'CST' => -21600,
+ 'CVT' => -3600,
+ 'CXT' => 25200,
+ 'DAVT' => 25200,
+ 'DTAT' => 36000,
+ 'EADT' => -18000,
+ 'EAST' => -21600,
+ 'EAT' => 10800,
+ 'ECT' => -18000,
+ 'EDT' => -14400,
+ 'EEST' => 10800,
+ 'EET' => 7200,
+ 'EGT' => -3600,
+ 'EKST' => 21600,
+ 'EST' => -18000,
+ 'FJT' => 43200,
+ 'FKDT' => -10800,
+ 'FKST' => -14400,
+ 'FNT' => -7200,
+ 'GALT' => -21600,
+ 'GEDT' => 14400,
+ 'GEST' => 10800,
+ 'GFT' => -10800,
+ 'GILT' => 43200,
+ 'GIT' => -32400,
+ 'GST' => 14400,
+ 'GST' => -7200,
+ 'GYT' => -14400,
+ 'HAA' => -10800,
+ 'HAC' => -18000,
+ 'HADT' => -32400,
+ 'HAE' => -14400,
+ 'HAP' => -25200,
+ 'HAR' => -21600,
+ 'HAST' => -36000,
+ 'HAT' => -9000,
+ 'HAY' => -28800,
+ 'HKST' => 28800,
+ 'HMT' => 18000,
+ 'HNA' => -14400,
+ 'HNC' => -21600,
+ 'HNE' => -18000,
+ 'HNP' => -28800,
+ 'HNR' => -25200,
+ 'HNT' => -12600,
+ 'HNY' => -32400,
+ 'IRDT' => 16200,
+ 'IRKST' => 32400,
+ 'IRKT' => 28800,
+ 'IRST' => 12600,
+ 'JFDT' => -10800,
+ 'JFST' => -14400,
+ 'JST' => 32400,
+ 'KGST' => 21600,
+ 'KGT' => 18000,
+ 'KOST' => 39600,
+ 'KOVST' => 28800,
+ 'KOVT' => 25200,
+ 'KRAST' => 28800,
+ 'KRAT' => 25200,
+ 'KST' => 32400,
+ 'LHDT' => 39600,
+ 'LHST' => 37800,
+ 'LINT' => 50400,
+ 'LKT' => 21600,
+ 'MAGST' => 43200,
+ 'MAGT' => 39600,
+ 'MAWT' => 21600,
+ 'MDT' => -21600,
+ 'MESZ' => 7200,
+ 'MEZ' => 3600,
+ 'MHT' => 43200,
+ 'MIT' => -34200,
+ 'MNST' => 32400,
+ 'MSDT' => 14400,
+ 'MSST' => 10800,
+ 'MST' => -25200,
+ 'MUT' => 14400,
+ 'MVT' => 18000,
+ 'MYT' => 28800,
+ 'NCT' => 39600,
+ 'NDT' => -9000,
+ 'NFT' => 41400,
+ 'NMIT' => 36000,
+ 'NOVST' => 25200,
+ 'NOVT' => 21600,
+ 'NPT' => 20700,
+ 'NRT' => 43200,
+ 'NST' => -12600,
+ 'NUT' => -39600,
+ 'NZDT' => 46800,
+ 'NZST' => 43200,
+ 'OMSST' => 25200,
+ 'OMST' => 21600,
+ 'PDT' => -25200,
+ 'PET' => -18000,
+ 'PETST' => 46800,
+ 'PETT' => 43200,
+ 'PGT' => 36000,
+ 'PHOT' => 46800,
+ 'PHT' => 28800,
+ 'PKT' => 18000,
+ 'PMDT' => -7200,
+ 'PMST' => -10800,
+ 'PONT' => 39600,
+ 'PST' => -28800,
+ 'PWT' => 32400,
+ 'PYST' => -10800,
+ 'PYT' => -14400,
+ 'RET' => 14400,
+ 'ROTT' => -10800,
+ 'SAMST' => 18000,
+ 'SAMT' => 14400,
+ 'SAST' => 7200,
+ 'SBT' => 39600,
+ 'SCDT' => 46800,
+ 'SCST' => 43200,
+ 'SCT' => 14400,
+ 'SEST' => 3600,
+ 'SGT' => 28800,
+ 'SIT' => 28800,
+ 'SRT' => -10800,
+ 'SST' => -39600,
+ 'SYST' => 10800,
+ 'SYT' => 7200,
+ 'TFT' => 18000,
+ 'THAT' => -36000,
+ 'TJT' => 18000,
+ 'TKT' => -36000,
+ 'TMT' => 18000,
+ 'TOT' => 46800,
+ 'TPT' => 32400,
+ 'TRUT' => 36000,
+ 'TVT' => 43200,
+ 'TWT' => 28800,
+ 'UYST' => -7200,
+ 'UYT' => -10800,
+ 'UZT' => 18000,
+ 'VET' => -14400,
+ 'VLAST' => 39600,
+ 'VLAT' => 36000,
+ 'VOST' => 21600,
+ 'VUT' => 39600,
+ 'WAST' => 7200,
+ 'WAT' => 3600,
+ 'WDT' => 32400,
+ 'WEST' => 3600,
+ 'WFT' => 43200,
+ 'WIB' => 25200,
+ 'WIT' => 32400,
+ 'WITA' => 28800,
+ 'WKST' => 18000,
+ 'WST' => 28800,
+ 'YAKST' => 36000,
+ 'YAKT' => 32400,
+ 'YAPT' => 36000,
+ 'YEKST' => 21600,
+ 'YEKT' => 18000,
+ );
+
+ /**
+ * Cached PCRE for SimplePie_Parse_Date::$day
+ *
+ * @access protected
+ * @var string
+ */
+ var $day_pcre;
+
+ /**
+ * Cached PCRE for SimplePie_Parse_Date::$month
+ *
+ * @access protected
+ * @var string
+ */
+ var $month_pcre;
+
+ /**
+ * Array of user-added callback methods
+ *
+ * @access private
+ * @var array
+ */
+ var $built_in = array();
+
+ /**
+ * Array of user-added callback methods
+ *
+ * @access private
+ * @var array
+ */
+ var $user = array();
+
+ /**
+ * Create new SimplePie_Parse_Date object, and set self::day_pcre,
+ * self::month_pcre, and self::built_in
+ *
+ * @access private
+ */
+ public function __construct()
+ {
+ $this->day_pcre = '(' . implode(array_keys($this->day), '|') . ')';
+ $this->month_pcre = '(' . implode(array_keys($this->month), '|') . ')';
+
+ static $cache;
+ if (!isset($cache[get_class($this)]))
+ {
+ $all_methods = get_class_methods($this);
+
+ foreach ($all_methods as $method)
+ {
+ if (strtolower(substr($method, 0, 5)) === 'date_')
+ {
+ $cache[get_class($this)][] = $method;
+ }
+ }
+ }
+
+ foreach ($cache[get_class($this)] as $method)
+ {
+ $this->built_in[] = $method;
+ }
+ }
+
+ /**
+ * Get the object
+ *
+ * @access public
+ */
+ public static function get()
+ {
+ static $object;
+ if (!$object)
+ {
+ $object = new SimplePie_Parse_Date;
+ }
+ return $object;
+ }
+
+ /**
+ * Parse a date
+ *
+ * @final
+ * @access public
+ * @param string $date Date to parse
+ * @return int Timestamp corresponding to date string, or false on failure
+ */
+ public function parse($date)
+ {
+ foreach ($this->user as $method)
+ {
+ if (($returned = call_user_func($method, $date)) !== false)
+ {
+ return $returned;
+ }
+ }
+
+ foreach ($this->built_in as $method)
+ {
+ if (($returned = call_user_func(array($this, $method), $date)) !== false)
+ {
+ return $returned;
+ }
+ }
+
+ return false;
+ }
+
+ /**
+ * Add a callback method to parse a date
+ *
+ * @final
+ * @access public
+ * @param callback $callback
+ */
+ public function add_callback($callback)
+ {
+ if (is_callable($callback))
+ {
+ $this->user[] = $callback;
+ }
+ else
+ {
+ trigger_error('User-supplied function must be a valid callback', E_USER_WARNING);
+ }
+ }
+
+ /**
+ * Parse a superset of W3C-DTF (allows hyphens and colons to be omitted, as
+ * well as allowing any of upper or lower case "T", horizontal tabs, or
+ * spaces to be used as the time separator (including more than one))
+ *
+ * @access protected
+ * @return int Timestamp
+ */
+ public function date_w3cdtf($date)
+ {
+ static $pcre;
+ if (!$pcre)
+ {
+ $year = '([0-9]{4})';
+ $month = $day = $hour = $minute = $second = '([0-9]{2})';
+ $decimal = '([0-9]*)';
+ $zone = '(?:(Z)|([+\-])([0-9]{1,2}):?([0-9]{1,2}))';
+ $pcre = '/^' . $year . '(?:-?' . $month . '(?:-?' . $day . '(?:[Tt\x09\x20]+' . $hour . '(?::?' . $minute . '(?::?' . $second . '(?:.' . $decimal . ')?)?)?' . $zone . ')?)?)?$/';
+ }
+ if (preg_match($pcre, $date, $match))
+ {
+ /*
+ Capturing subpatterns:
+ 1: Year
+ 2: Month
+ 3: Day
+ 4: Hour
+ 5: Minute
+ 6: Second
+ 7: Decimal fraction of a second
+ 8: Zulu
+ 9: Timezone ±
+ 10: Timezone hours
+ 11: Timezone minutes
+ */
+
+ // Fill in empty matches
+ for ($i = count($match); $i <= 3; $i++)
+ {
+ $match[$i] = '1';
+ }
+
+ for ($i = count($match); $i <= 7; $i++)
+ {
+ $match[$i] = '0';
+ }
+
+ // Numeric timezone
+ if (isset($match[9]) && $match[9] !== '')
+ {
+ $timezone = $match[10] * 3600;
+ $timezone += $match[11] * 60;
+ if ($match[9] === '-')
+ {
+ $timezone = 0 - $timezone;
+ }
+ }
+ else
+ {
+ $timezone = 0;
+ }
+
+ // Convert the number of seconds to an integer, taking decimals into account
+ $second = round((int)$match[6] + (int)$match[7] / pow(10, strlen($match[7])));
+
+ return gmmktime($match[4], $match[5], $second, $match[2], $match[3], $match[1]) - $timezone;
+ }
+ else
+ {
+ return false;
+ }
+ }
+
+ /**
+ * Remove RFC822 comments
+ *
+ * @access protected
+ * @param string $data Data to strip comments from
+ * @return string Comment stripped string
+ */
+ public function remove_rfc2822_comments($string)
+ {
+ $string = (string) $string;
+ $position = 0;
+ $length = strlen($string);
+ $depth = 0;
+
+ $output = '';
+
+ while ($position < $length && ($pos = strpos($string, '(', $position)) !== false)
+ {
+ $output .= substr($string, $position, $pos - $position);
+ $position = $pos + 1;
+ if ($pos === 0 || $string[$pos - 1] !== '\\')
+ {
+ $depth++;
+ while ($depth && $position < $length)
+ {
+ $position += strcspn($string, '()', $position);
+ if ($string[$position - 1] === '\\')
+ {
+ $position++;
+ continue;
+ }
+ elseif (isset($string[$position]))
+ {
+ switch ($string[$position])
+ {
+ case '(':
+ $depth++;
+ break;
+
+ case ')':
+ $depth--;
+ break;
+ }
+ $position++;
+ }
+ else
+ {
+ break;
+ }
+ }
+ }
+ else
+ {
+ $output .= '(';
+ }
+ }
+ $output .= substr($string, $position);
+
+ return $output;
+ }
+
+ /**
+ * Parse RFC2822's date format
+ *
+ * @access protected
+ * @return int Timestamp
+ */
+ public function date_rfc2822($date)
+ {
+ static $pcre;
+ if (!$pcre)
+ {
+ $wsp = '[\x09\x20]';
+ $fws = '(?:' . $wsp . '+|' . $wsp . '*(?:\x0D\x0A' . $wsp . '+)+)';
+ $optional_fws = $fws . '?';
+ $day_name = $this->day_pcre;
+ $month = $this->month_pcre;
+ $day = '([0-9]{1,2})';
+ $hour = $minute = $second = '([0-9]{2})';
+ $year = '([0-9]{2,4})';
+ $num_zone = '([+\-])([0-9]{2})([0-9]{2})';
+ $character_zone = '([A-Z]{1,5})';
+ $zone = '(?:' . $num_zone . '|' . $character_zone . ')';
+ $pcre = '/(?:' . $optional_fws . $day_name . $optional_fws . ',)?' . $optional_fws . $day . $fws . $month . $fws . $year . $fws . $hour . $optional_fws . ':' . $optional_fws . $minute . '(?:' . $optional_fws . ':' . $optional_fws . $second . ')?' . $fws . $zone . '/i';
+ }
+ if (preg_match($pcre, $this->remove_rfc2822_comments($date), $match))
+ {
+ /*
+ Capturing subpatterns:
+ 1: Day name
+ 2: Day
+ 3: Month
+ 4: Year
+ 5: Hour
+ 6: Minute
+ 7: Second
+ 8: Timezone ±
+ 9: Timezone hours
+ 10: Timezone minutes
+ 11: Alphabetic timezone
+ */
+
+ // Find the month number
+ $month = $this->month[strtolower($match[3])];
+
+ // Numeric timezone
+ if ($match[8] !== '')
+ {
+ $timezone = $match[9] * 3600;
+ $timezone += $match[10] * 60;
+ if ($match[8] === '-')
+ {
+ $timezone = 0 - $timezone;
+ }
+ }
+ // Character timezone
+ elseif (isset($this->timezone[strtoupper($match[11])]))
+ {
+ $timezone = $this->timezone[strtoupper($match[11])];
+ }
+ // Assume everything else to be -0000
+ else
+ {
+ $timezone = 0;
+ }
+
+ // Deal with 2/3 digit years
+ if ($match[4] < 50)
+ {
+ $match[4] += 2000;
+ }
+ elseif ($match[4] < 1000)
+ {
+ $match[4] += 1900;
+ }
+
+ // Second is optional, if it is empty set it to zero
+ if ($match[7] !== '')
+ {
+ $second = $match[7];
+ }
+ else
+ {
+ $second = 0;
+ }
+
+ return gmmktime($match[5], $match[6], $second, $month, $match[2], $match[4]) - $timezone;
+ }
+ else
+ {
+ return false;
+ }
+ }
+
+ /**
+ * Parse RFC850's date format
+ *
+ * @access protected
+ * @return int Timestamp
+ */
+ public function date_rfc850($date)
+ {
+ static $pcre;
+ if (!$pcre)
+ {
+ $space = '[\x09\x20]+';
+ $day_name = $this->day_pcre;
+ $month = $this->month_pcre;
+ $day = '([0-9]{1,2})';
+ $year = $hour = $minute = $second = '([0-9]{2})';
+ $zone = '([A-Z]{1,5})';
+ $pcre = '/^' . $day_name . ',' . $space . $day . '-' . $month . '-' . $year . $space . $hour . ':' . $minute . ':' . $second . $space . $zone . '$/i';
+ }
+ if (preg_match($pcre, $date, $match))
+ {
+ /*
+ Capturing subpatterns:
+ 1: Day name
+ 2: Day
+ 3: Month
+ 4: Year
+ 5: Hour
+ 6: Minute
+ 7: Second
+ 8: Timezone
+ */
+
+ // Month
+ $month = $this->month[strtolower($match[3])];
+
+ // Character timezone
+ if (isset($this->timezone[strtoupper($match[8])]))
+ {
+ $timezone = $this->timezone[strtoupper($match[8])];
+ }
+ // Assume everything else to be -0000
+ else
+ {
+ $timezone = 0;
+ }
+
+ // Deal with 2 digit year
+ if ($match[4] < 50)
+ {
+ $match[4] += 2000;
+ }
+ else
+ {
+ $match[4] += 1900;
+ }
+
+ return gmmktime($match[5], $match[6], $match[7], $month, $match[2], $match[4]) - $timezone;
+ }
+ else
+ {
+ return false;
+ }
+ }
+
+ /**
+ * Parse C99's asctime()'s date format
+ *
+ * @access protected
+ * @return int Timestamp
+ */
+ public function date_asctime($date)
+ {
+ static $pcre;
+ if (!$pcre)
+ {
+ $space = '[\x09\x20]+';
+ $wday_name = $this->day_pcre;
+ $mon_name = $this->month_pcre;
+ $day = '([0-9]{1,2})';
+ $hour = $sec = $min = '([0-9]{2})';
+ $year = '([0-9]{4})';
+ $terminator = '\x0A?\x00?';
+ $pcre = '/^' . $wday_name . $space . $mon_name . $space . $day . $space . $hour . ':' . $min . ':' . $sec . $space . $year . $terminator . '$/i';
+ }
+ if (preg_match($pcre, $date, $match))
+ {
+ /*
+ Capturing subpatterns:
+ 1: Day name
+ 2: Month
+ 3: Day
+ 4: Hour
+ 5: Minute
+ 6: Second
+ 7: Year
+ */
+
+ $month = $this->month[strtolower($match[2])];
+ return gmmktime($match[4], $match[5], $match[6], $month, $match[3], $match[7]);
+ }
+ else
+ {
+ return false;
+ }
+ }
+
+ /**
+ * Parse dates using strtotime()
+ *
+ * @access protected
+ * @return int Timestamp
+ */
+ public function date_strtotime($date)
+ {
+ $strtotime = strtotime($date);
+ if ($strtotime === -1 || $strtotime === false)
+ {
+ return false;
+ }
+ else
+ {
+ return $strtotime;
+ }
+ }
+}
+
diff --git a/vendor/simplepie/simplepie/library/SimplePie/Parser.php b/vendor/simplepie/simplepie/library/SimplePie/Parser.php
new file mode 100644
index 000000000..17139abe9
--- /dev/null
+++ b/vendor/simplepie/simplepie/library/SimplePie/Parser.php
@@ -0,0 +1,656 @@
+<?php
+/**
+ * SimplePie
+ *
+ * A PHP-Based RSS and Atom Feed Framework.
+ * Takes the hard work out of managing a complete RSS/Atom solution.
+ *
+ * Copyright (c) 2004-2016, Ryan Parman, Geoffrey Sneddon, Ryan McCue, and contributors
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification, are
+ * permitted provided that the following conditions are met:
+ *
+ * * Redistributions of source code must retain the above copyright notice, this list of
+ * conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above copyright notice, this list
+ * of conditions and the following disclaimer in the documentation and/or other materials
+ * provided with the distribution.
+ *
+ * * Neither the name of the SimplePie Team nor the names of its contributors may be used
+ * to endorse or promote products derived from this software without specific prior
+ * written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS
+ * AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ *
+ * @package SimplePie
+ * @copyright 2004-2016 Ryan Parman, Geoffrey Sneddon, Ryan McCue
+ * @author Ryan Parman
+ * @author Geoffrey Sneddon
+ * @author Ryan McCue
+ * @link http://simplepie.org/ SimplePie
+ * @license http://www.opensource.org/licenses/bsd-license.php BSD License
+ */
+
+/**
+ * Parses XML into something sane
+ *
+ *
+ * This class can be overloaded with {@see SimplePie::set_parser_class()}
+ *
+ * @package SimplePie
+ * @subpackage Parsing
+ */
+class SimplePie_Parser
+{
+ var $error_code;
+ var $error_string;
+ var $current_line;
+ var $current_column;
+ var $current_byte;
+ var $separator = ' ';
+ var $namespace = array('');
+ var $element = array('');
+ var $xml_base = array('');
+ var $xml_base_explicit = array(false);
+ var $xml_lang = array('');
+ var $data = array();
+ var $datas = array(array());
+ var $current_xhtml_construct = -1;
+ var $encoding;
+ protected $registry;
+
+ public function set_registry(SimplePie_Registry $registry)
+ {
+ $this->registry = $registry;
+ }
+
+ public function parse(&$data, $encoding, $url = '')
+ {
+ if (function_exists('Mf2\parse')) {
+ // Check for both h-feed and h-entry, as both a feed with no entries
+ // and a list of entries without an h-feed wrapper are both valid.
+ $position = 0;
+ while ($position = strpos($data, 'h-feed', $position)) {
+ $start = $position < 200 ? 0 : $position - 200;
+ $check = substr($data, $start, 400);
+ if (preg_match('/class="[^"]*h-feed/', $check)) {
+ return $this->parse_microformats($data, $url);
+ }
+ $position += 7;
+ }
+ $position = 0;
+ while ($position = strpos($data, 'h-entry', $position)) {
+ $start = $position < 200 ? 0 : $position - 200;
+ $check = substr($data, $start, 400);
+ if (preg_match('/class="[^"]*h-entry/', $check)) {
+ return $this->parse_microformats($data, $url);
+ }
+ $position += 7;
+ }
+ }
+
+ // Use UTF-8 if we get passed US-ASCII, as every US-ASCII character is a UTF-8 character
+ if (strtoupper($encoding) === 'US-ASCII')
+ {
+ $this->encoding = 'UTF-8';
+ }
+ else
+ {
+ $this->encoding = $encoding;
+ }
+
+ // Strip BOM:
+ // UTF-32 Big Endian BOM
+ if (substr($data, 0, 4) === "\x00\x00\xFE\xFF")
+ {
+ $data = substr($data, 4);
+ }
+ // UTF-32 Little Endian BOM
+ elseif (substr($data, 0, 4) === "\xFF\xFE\x00\x00")
+ {
+ $data = substr($data, 4);
+ }
+ // UTF-16 Big Endian BOM
+ elseif (substr($data, 0, 2) === "\xFE\xFF")
+ {
+ $data = substr($data, 2);
+ }
+ // UTF-16 Little Endian BOM
+ elseif (substr($data, 0, 2) === "\xFF\xFE")
+ {
+ $data = substr($data, 2);
+ }
+ // UTF-8 BOM
+ elseif (substr($data, 0, 3) === "\xEF\xBB\xBF")
+ {
+ $data = substr($data, 3);
+ }
+
+ if (substr($data, 0, 5) === '<?xml' && strspn(substr($data, 5, 1), "\x09\x0A\x0D\x20") && ($pos = strpos($data, '?>')) !== false)
+ {
+ $declaration = $this->registry->create('XML_Declaration_Parser', array(substr($data, 5, $pos - 5)));
+ if ($declaration->parse())
+ {
+ $data = substr($data, $pos + 2);
+ $data = '<?xml version="' . $declaration->version . '" encoding="' . $encoding . '" standalone="' . (($declaration->standalone) ? 'yes' : 'no') . '"?>' ."\n". $this->declare_html_entities() . $data;
+ }
+ else
+ {
+ $this->error_string = 'SimplePie bug! Please report this!';
+ return false;
+ }
+ }
+
+ $return = true;
+
+ static $xml_is_sane = null;
+ if ($xml_is_sane === null)
+ {
+ $parser_check = xml_parser_create();
+ xml_parse_into_struct($parser_check, '<foo>&amp;</foo>', $values);
+ xml_parser_free($parser_check);
+ $xml_is_sane = isset($values[0]['value']);
+ }
+
+ // Create the parser
+ if ($xml_is_sane)
+ {
+ $xml = xml_parser_create_ns($this->encoding, $this->separator);
+ xml_parser_set_option($xml, XML_OPTION_SKIP_WHITE, 1);
+ xml_parser_set_option($xml, XML_OPTION_CASE_FOLDING, 0);
+ xml_set_object($xml, $this);
+ xml_set_character_data_handler($xml, 'cdata');
+ xml_set_element_handler($xml, 'tag_open', 'tag_close');
+
+ // Parse!
+ if (!xml_parse($xml, $data, true))
+ {
+ $this->error_code = xml_get_error_code($xml);
+ $this->error_string = xml_error_string($this->error_code);
+ $return = false;
+ }
+ $this->current_line = xml_get_current_line_number($xml);
+ $this->current_column = xml_get_current_column_number($xml);
+ $this->current_byte = xml_get_current_byte_index($xml);
+ xml_parser_free($xml);
+ return $return;
+ }
+ else
+ {
+ libxml_clear_errors();
+ $xml = new XMLReader();
+ $xml->xml($data);
+ while (@$xml->read())
+ {
+ switch ($xml->nodeType)
+ {
+
+ case constant('XMLReader::END_ELEMENT'):
+ if ($xml->namespaceURI !== '')
+ {
+ $tagName = $xml->namespaceURI . $this->separator . $xml->localName;
+ }
+ else
+ {
+ $tagName = $xml->localName;
+ }
+ $this->tag_close(null, $tagName);
+ break;
+ case constant('XMLReader::ELEMENT'):
+ $empty = $xml->isEmptyElement;
+ if ($xml->namespaceURI !== '')
+ {
+ $tagName = $xml->namespaceURI . $this->separator . $xml->localName;
+ }
+ else
+ {
+ $tagName = $xml->localName;
+ }
+ $attributes = array();
+ while ($xml->moveToNextAttribute())
+ {
+ if ($xml->namespaceURI !== '')
+ {
+ $attrName = $xml->namespaceURI . $this->separator . $xml->localName;
+ }
+ else
+ {
+ $attrName = $xml->localName;
+ }
+ $attributes[$attrName] = $xml->value;
+ }
+ $this->tag_open(null, $tagName, $attributes);
+ if ($empty)
+ {
+ $this->tag_close(null, $tagName);
+ }
+ break;
+ case constant('XMLReader::TEXT'):
+
+ case constant('XMLReader::CDATA'):
+ $this->cdata(null, $xml->value);
+ break;
+ }
+ }
+ if ($error = libxml_get_last_error())
+ {
+ $this->error_code = $error->code;
+ $this->error_string = $error->message;
+ $this->current_line = $error->line;
+ $this->current_column = $error->column;
+ return false;
+ }
+ else
+ {
+ return true;
+ }
+ }
+ }
+
+ public function get_error_code()
+ {
+ return $this->error_code;
+ }
+
+ public function get_error_string()
+ {
+ return $this->error_string;
+ }
+
+ public function get_current_line()
+ {
+ return $this->current_line;
+ }
+
+ public function get_current_column()
+ {
+ return $this->current_column;
+ }
+
+ public function get_current_byte()
+ {
+ return $this->current_byte;
+ }
+
+ public function get_data()
+ {
+ return $this->data;
+ }
+
+ public function tag_open($parser, $tag, $attributes)
+ {
+ list($this->namespace[], $this->element[]) = $this->split_ns($tag);
+
+ $attribs = array();
+ foreach ($attributes as $name => $value)
+ {
+ list($attrib_namespace, $attribute) = $this->split_ns($name);
+ $attribs[$attrib_namespace][$attribute] = $value;
+ }
+
+ if (isset($attribs[SIMPLEPIE_NAMESPACE_XML]['base']))
+ {
+ $base = $this->registry->call('Misc', 'absolutize_url', array($attribs[SIMPLEPIE_NAMESPACE_XML]['base'], end($this->xml_base)));
+ if ($base !== false)
+ {
+ $this->xml_base[] = $base;
+ $this->xml_base_explicit[] = true;
+ }
+ }
+ else
+ {
+ $this->xml_base[] = end($this->xml_base);
+ $this->xml_base_explicit[] = end($this->xml_base_explicit);
+ }
+
+ if (isset($attribs[SIMPLEPIE_NAMESPACE_XML]['lang']))
+ {
+ $this->xml_lang[] = $attribs[SIMPLEPIE_NAMESPACE_XML]['lang'];
+ }
+ else
+ {
+ $this->xml_lang[] = end($this->xml_lang);
+ }
+
+ if ($this->current_xhtml_construct >= 0)
+ {
+ $this->current_xhtml_construct++;
+ if (end($this->namespace) === SIMPLEPIE_NAMESPACE_XHTML)
+ {
+ $this->data['data'] .= '<' . end($this->element);
+ if (isset($attribs['']))
+ {
+ foreach ($attribs[''] as $name => $value)
+ {
+ $this->data['data'] .= ' ' . $name . '="' . htmlspecialchars($value, ENT_COMPAT, $this->encoding) . '"';
+ }
+ }
+ $this->data['data'] .= '>';
+ }
+ }
+ else
+ {
+ $this->datas[] =& $this->data;
+ $this->data =& $this->data['child'][end($this->namespace)][end($this->element)][];
+ $this->data = array('data' => '', 'attribs' => $attribs, 'xml_base' => end($this->xml_base), 'xml_base_explicit' => end($this->xml_base_explicit), 'xml_lang' => end($this->xml_lang));
+ if ((end($this->namespace) === SIMPLEPIE_NAMESPACE_ATOM_03 && in_array(end($this->element), array('title', 'tagline', 'copyright', 'info', 'summary', 'content')) && isset($attribs['']['mode']) && $attribs['']['mode'] === 'xml')
+ || (end($this->namespace) === SIMPLEPIE_NAMESPACE_ATOM_10 && in_array(end($this->element), array('rights', 'subtitle', 'summary', 'info', 'title', 'content')) && isset($attribs['']['type']) && $attribs['']['type'] === 'xhtml')
+ || (end($this->namespace) === SIMPLEPIE_NAMESPACE_RSS_20 && in_array(end($this->element), array('title')))
+ || (end($this->namespace) === SIMPLEPIE_NAMESPACE_RSS_090 && in_array(end($this->element), array('title')))
+ || (end($this->namespace) === SIMPLEPIE_NAMESPACE_RSS_10 && in_array(end($this->element), array('title'))))
+ {
+ $this->current_xhtml_construct = 0;
+ }
+ }
+ }
+
+ public function cdata($parser, $cdata)
+ {
+ if ($this->current_xhtml_construct >= 0)
+ {
+ $this->data['data'] .= htmlspecialchars($cdata, ENT_QUOTES, $this->encoding);
+ }
+ else
+ {
+ $this->data['data'] .= $cdata;
+ }
+ }
+
+ public function tag_close($parser, $tag)
+ {
+ if ($this->current_xhtml_construct >= 0)
+ {
+ $this->current_xhtml_construct--;
+ if (end($this->namespace) === SIMPLEPIE_NAMESPACE_XHTML && !in_array(end($this->element), array('area', 'base', 'basefont', 'br', 'col', 'frame', 'hr', 'img', 'input', 'isindex', 'link', 'meta', 'param')))
+ {
+ $this->data['data'] .= '</' . end($this->element) . '>';
+ }
+ }
+ if ($this->current_xhtml_construct === -1)
+ {
+ $this->data =& $this->datas[count($this->datas) - 1];
+ array_pop($this->datas);
+ }
+
+ array_pop($this->element);
+ array_pop($this->namespace);
+ array_pop($this->xml_base);
+ array_pop($this->xml_base_explicit);
+ array_pop($this->xml_lang);
+ }
+
+ public function split_ns($string)
+ {
+ static $cache = array();
+ if (!isset($cache[$string]))
+ {
+ if ($pos = strpos($string, $this->separator))
+ {
+ static $separator_length;
+ if (!$separator_length)
+ {
+ $separator_length = strlen($this->separator);
+ }
+ $namespace = substr($string, 0, $pos);
+ $local_name = substr($string, $pos + $separator_length);
+ if (strtolower($namespace) === SIMPLEPIE_NAMESPACE_ITUNES)
+ {
+ $namespace = SIMPLEPIE_NAMESPACE_ITUNES;
+ }
+
+ // Normalize the Media RSS namespaces
+ if ($namespace === SIMPLEPIE_NAMESPACE_MEDIARSS_WRONG ||
+ $namespace === SIMPLEPIE_NAMESPACE_MEDIARSS_WRONG2 ||
+ $namespace === SIMPLEPIE_NAMESPACE_MEDIARSS_WRONG3 ||
+ $namespace === SIMPLEPIE_NAMESPACE_MEDIARSS_WRONG4 ||
+ $namespace === SIMPLEPIE_NAMESPACE_MEDIARSS_WRONG5 )
+ {
+ $namespace = SIMPLEPIE_NAMESPACE_MEDIARSS;
+ }
+ $cache[$string] = array($namespace, $local_name);
+ }
+ else
+ {
+ $cache[$string] = array('', $string);
+ }
+ }
+ return $cache[$string];
+ }
+
+ private function parse_hcard($data, $category = false) {
+ $name = '';
+ $link = '';
+ // Check if h-card is set and pass that information on in the link.
+ if (isset($data['type']) && in_array('h-card', $data['type'])) {
+ if (isset($data['properties']['name'][0])) {
+ $name = $data['properties']['name'][0];
+ }
+ if (isset($data['properties']['url'][0])) {
+ $link = $data['properties']['url'][0];
+ if ($name === '') {
+ $name = $link;
+ }
+ else {
+ // can't have commas in categories.
+ $name = str_replace(',', '', $name);
+ }
+ $person_tag = $category ? '<span class="person-tag"></span>' : '';
+ return '<a class="h-card" href="'.$link.'">'.$person_tag.$name.'</a>';
+ }
+ }
+ return isset($data['value']) ? $data['value'] : '';
+ }
+
+ private function parse_microformats(&$data, $url) {
+ $feed_title = '';
+ $feed_author = NULL;
+ $author_cache = array();
+ $items = array();
+ $entries = array();
+ $mf = Mf2\parse($data, $url);
+ // First look for an h-feed.
+ $h_feed = array();
+ foreach ($mf['items'] as $mf_item) {
+ if (in_array('h-feed', $mf_item['type'])) {
+ $h_feed = $mf_item;
+ break;
+ }
+ // Also look for an h-feed in the children of each top level item.
+ if (!isset($mf_item['children'][0]['type'])) continue;
+ if (in_array('h-feed', $mf_item['children'][0]['type'])) {
+ $h_feed = $mf_item['children'][0];
+ // In this case the parent of the h-feed may be an h-card, so use it as
+ // the feed_author.
+ if (in_array('h-card', $mf_item['type'])) $feed_author = $mf_item;
+ break;
+ }
+ }
+ if (isset($h_feed['children'])) {
+ $entries = $h_feed['children'];
+ // Also set the feed title and store author from the h-feed if available.
+ if (isset($mf['items'][0]['properties']['name'][0])) {
+ $feed_title = $mf['items'][0]['properties']['name'][0];
+ }
+ if (isset($mf['items'][0]['properties']['author'][0])) {
+ $feed_author = $mf['items'][0]['properties']['author'][0];
+ }
+ }
+ else {
+ $entries = $mf['items'];
+ }
+ for ($i = 0; $i < count($entries); $i++) {
+ $entry = $entries[$i];
+ if (in_array('h-entry', $entry['type'])) {
+ $item = array();
+ $title = '';
+ $description = '';
+ if (isset($entry['properties']['url'][0])) {
+ $link = $entry['properties']['url'][0];
+ if (isset($link['value'])) $link = $link['value'];
+ $item['link'] = array(array('data' => $link));
+ }
+ if (isset($entry['properties']['uid'][0])) {
+ $guid = $entry['properties']['uid'][0];
+ if (isset($guid['value'])) $guid = $guid['value'];
+ $item['guid'] = array(array('data' => $guid));
+ }
+ if (isset($entry['properties']['name'][0])) {
+ $title = $entry['properties']['name'][0];
+ if (isset($title['value'])) $title = $title['value'];
+ $item['title'] = array(array('data' => $title));
+ }
+ if (isset($entry['properties']['author'][0]) || isset($feed_author)) {
+ // author is a special case, it can be plain text or an h-card array.
+ // If it's plain text it can also be a url that should be followed to
+ // get the actual h-card.
+ $author = isset($entry['properties']['author'][0]) ?
+ $entry['properties']['author'][0] : $feed_author;
+ if (!is_string($author)) {
+ $author = $this->parse_hcard($author);
+ }
+ else if (strpos($author, 'http') === 0) {
+ if (isset($author_cache[$author])) {
+ $author = $author_cache[$author];
+ }
+ else {
+ $mf = Mf2\fetch($author);
+ foreach ($mf['items'] as $hcard) {
+ // Only interested in an h-card by itself in this case.
+ if (!in_array('h-card', $hcard['type'])) {
+ continue;
+ }
+ // It must have a url property matching what we fetched.
+ if (!isset($hcard['properties']['url']) ||
+ !(in_array($author, $hcard['properties']['url']))) {
+ continue;
+ }
+ // Save parse_hcard the trouble of finding the correct url.
+ $hcard['properties']['url'][0] = $author;
+ // Cache this h-card for the next h-entry to check.
+ $author_cache[$author] = $this->parse_hcard($hcard);
+ $author = $author_cache[$author];
+ break;
+ }
+ }
+ }
+ $item['author'] = array(array('data' => $author));
+ }
+ if (isset($entry['properties']['photo'][0])) {
+ // If a photo is also in content, don't need to add it again here.
+ $content = '';
+ if (isset($entry['properties']['content'][0]['html'])) {
+ $content = $entry['properties']['content'][0]['html'];
+ }
+ $photo_list = array();
+ for ($j = 0; $j < count($entry['properties']['photo']); $j++) {
+ $photo = $entry['properties']['photo'][$j];
+ if (strpos($content, $photo) === false) {
+ $photo_list[] = $photo;
+ }
+ }
+ // When there's more than one photo show the first and use a lightbox.
+ $count = count($photo_list);
+ if ($count > 1) {
+ $description = '<p>';
+ for ($j = 0; $j < $count; $j++) {
+ $hidden = $j === 0 ? '' : 'class="hidden" ';
+ $description .= '<a href="'.$photo_list[$j].'" '.$hidden.
+ 'data-lightbox="image-set-'.$i.'">'.
+ '<img src="'.$photo_list[$j].'"></a>';
+ }
+ $description .= '<br><b>'.$count.' photos</b></p>';
+ }
+ else if ($count == 1) {
+ $description = '<p><img src="'.$photo_list[0].'"></p>';
+ }
+ }
+ if (isset($entry['properties']['content'][0]['html'])) {
+ // e-content['value'] is the same as p-name when they are on the same
+ // element. Use this to replace title with a strip_tags version so
+ // that alt text from images is not included in the title.
+ if ($entry['properties']['content'][0]['value'] === $title) {
+ $title = strip_tags($entry['properties']['content'][0]['html']);
+ $item['title'] = array(array('data' => $title));
+ }
+ $description .= $entry['properties']['content'][0]['html'];
+ if (isset($entry['properties']['in-reply-to'][0]['value'])) {
+ $in_reply_to = $entry['properties']['in-reply-to'][0]['value'];
+ $description .= '<p><span class="in-reply-to"></span> '.
+ '<a href="'.$in_reply_to.'">'.$in_reply_to.'</a><p>';
+ }
+ $item['description'] = array(array('data' => $description));
+ }
+ if (isset($entry['properties']['category'])) {
+ $category_csv = '';
+ // Categories can also contain h-cards.
+ foreach ($entry['properties']['category'] as $category) {
+ if ($category_csv !== '') $category_csv .= ', ';
+ if (is_string($category)) {
+ // Can't have commas in categories.
+ $category_csv .= str_replace(',', '', $category);
+ }
+ else {
+ $category_csv .= $this->parse_hcard($category, true);
+ }
+ }
+ $item['category'] = array(array('data' => $category_csv));
+ }
+ if (isset($entry['properties']['published'][0])) {
+ $timestamp = strtotime($entry['properties']['published'][0]);
+ $pub_date = date('F j Y g:ia', $timestamp).' GMT';
+ $item['pubDate'] = array(array('data' => $pub_date));
+ }
+ // The title and description are set to the empty string to represent
+ // a deleted item (which also makes it an invalid rss item).
+ if (isset($entry['properties']['deleted'][0])) {
+ $item['title'] = array(array('data' => ''));
+ $item['description'] = array(array('data' => ''));
+ }
+ $items[] = array('child' => array('' => $item));
+ }
+ }
+ // Mimic RSS data format when storing microformats.
+ $link = array(array('data' => $url));
+ $image = '';
+ if (!is_string($feed_author) &&
+ isset($feed_author['properties']['photo'][0])) {
+ $image = array(array('child' => array('' => array('url' =>
+ array(array('data' => $feed_author['properties']['photo'][0]))))));
+ }
+ // Use the a name given for the h-feed, or get the title from the html.
+ if ($feed_title !== '') {
+ $feed_title = array(array('data' => htmlspecialchars($feed_title)));
+ }
+ else if ($position = strpos($data, '<title>')) {
+ $start = $position < 200 ? 0 : $position - 200;
+ $check = substr($data, $start, 400);
+ $matches = array();
+ if (preg_match('/<title>(.+)<\/title>/', $check, $matches)) {
+ $feed_title = array(array('data' => htmlspecialchars($matches[1])));
+ }
+ }
+ $channel = array('channel' => array(array('child' => array('' =>
+ array('link' => $link, 'image' => $image, 'title' => $feed_title,
+ 'item' => $items)))));
+ $rss = array(array('attribs' => array('' => array('version' => '2.0')),
+ 'child' => array('' => $channel)));
+ $this->data = array('child' => array('' => array('rss' => $rss)));
+ return true;
+ }
+
+ private function declare_html_entities() {
+ // This is required because the RSS specification says that entity-encoded
+ // html is allowed, but the xml specification says they must be declared.
+ return '<!DOCTYPE html [ <!ENTITY nbsp "&#x00A0;"> <!ENTITY iexcl "&#x00A1;"> <!ENTITY cent "&#x00A2;"> <!ENTITY pound "&#x00A3;"> <!ENTITY curren "&#x00A4;"> <!ENTITY yen "&#x00A5;"> <!ENTITY brvbar "&#x00A6;"> <!ENTITY sect "&#x00A7;"> <!ENTITY uml "&#x00A8;"> <!ENTITY copy "&#x00A9;"> <!ENTITY ordf "&#x00AA;"> <!ENTITY laquo "&#x00AB;"> <!ENTITY not "&#x00AC;"> <!ENTITY shy "&#x00AD;"> <!ENTITY reg "&#x00AE;"> <!ENTITY macr "&#x00AF;"> <!ENTITY deg "&#x00B0;"> <!ENTITY plusmn "&#x00B1;"> <!ENTITY sup2 "&#x00B2;"> <!ENTITY sup3 "&#x00B3;"> <!ENTITY acute "&#x00B4;"> <!ENTITY micro "&#x00B5;"> <!ENTITY para "&#x00B6;"> <!ENTITY middot "&#x00B7;"> <!ENTITY cedil "&#x00B8;"> <!ENTITY sup1 "&#x00B9;"> <!ENTITY ordm "&#x00BA;"> <!ENTITY raquo "&#x00BB;"> <!ENTITY frac14 "&#x00BC;"> <!ENTITY frac12 "&#x00BD;"> <!ENTITY frac34 "&#x00BE;"> <!ENTITY iquest "&#x00BF;"> <!ENTITY Agrave "&#x00C0;"> <!ENTITY Aacute "&#x00C1;"> <!ENTITY Acirc "&#x00C2;"> <!ENTITY Atilde "&#x00C3;"> <!ENTITY Auml "&#x00C4;"> <!ENTITY Aring "&#x00C5;"> <!ENTITY AElig "&#x00C6;"> <!ENTITY Ccedil "&#x00C7;"> <!ENTITY Egrave "&#x00C8;"> <!ENTITY Eacute "&#x00C9;"> <!ENTITY Ecirc "&#x00CA;"> <!ENTITY Euml "&#x00CB;"> <!ENTITY Igrave "&#x00CC;"> <!ENTITY Iacute "&#x00CD;"> <!ENTITY Icirc "&#x00CE;"> <!ENTITY Iuml "&#x00CF;"> <!ENTITY ETH "&#x00D0;"> <!ENTITY Ntilde "&#x00D1;"> <!ENTITY Ograve "&#x00D2;"> <!ENTITY Oacute "&#x00D3;"> <!ENTITY Ocirc "&#x00D4;"> <!ENTITY Otilde "&#x00D5;"> <!ENTITY Ouml "&#x00D6;"> <!ENTITY times "&#x00D7;"> <!ENTITY Oslash "&#x00D8;"> <!ENTITY Ugrave "&#x00D9;"> <!ENTITY Uacute "&#x00DA;"> <!ENTITY Ucirc "&#x00DB;"> <!ENTITY Uuml "&#x00DC;"> <!ENTITY Yacute "&#x00DD;"> <!ENTITY THORN "&#x00DE;"> <!ENTITY szlig "&#x00DF;"> <!ENTITY agrave "&#x00E0;"> <!ENTITY aacute "&#x00E1;"> <!ENTITY acirc "&#x00E2;"> <!ENTITY atilde "&#x00E3;"> <!ENTITY auml "&#x00E4;"> <!ENTITY aring "&#x00E5;"> <!ENTITY aelig "&#x00E6;"> <!ENTITY ccedil "&#x00E7;"> <!ENTITY egrave "&#x00E8;"> <!ENTITY eacute "&#x00E9;"> <!ENTITY ecirc "&#x00EA;"> <!ENTITY euml "&#x00EB;"> <!ENTITY igrave "&#x00EC;"> <!ENTITY iacute "&#x00ED;"> <!ENTITY icirc "&#x00EE;"> <!ENTITY iuml "&#x00EF;"> <!ENTITY eth "&#x00F0;"> <!ENTITY ntilde "&#x00F1;"> <!ENTITY ograve "&#x00F2;"> <!ENTITY oacute "&#x00F3;"> <!ENTITY ocirc "&#x00F4;"> <!ENTITY otilde "&#x00F5;"> <!ENTITY ouml "&#x00F6;"> <!ENTITY divide "&#x00F7;"> <!ENTITY oslash "&#x00F8;"> <!ENTITY ugrave "&#x00F9;"> <!ENTITY uacute "&#x00FA;"> <!ENTITY ucirc "&#x00FB;"> <!ENTITY uuml "&#x00FC;"> <!ENTITY yacute "&#x00FD;"> <!ENTITY thorn "&#x00FE;"> <!ENTITY yuml "&#x00FF;"> <!ENTITY OElig "&#x0152;"> <!ENTITY oelig "&#x0153;"> <!ENTITY Scaron "&#x0160;"> <!ENTITY scaron "&#x0161;"> <!ENTITY Yuml "&#x0178;"> <!ENTITY fnof "&#x0192;"> <!ENTITY circ "&#x02C6;"> <!ENTITY tilde "&#x02DC;"> <!ENTITY Alpha "&#x0391;"> <!ENTITY Beta "&#x0392;"> <!ENTITY Gamma "&#x0393;"> <!ENTITY Epsilon "&#x0395;"> <!ENTITY Zeta "&#x0396;"> <!ENTITY Eta "&#x0397;"> <!ENTITY Theta "&#x0398;"> <!ENTITY Iota "&#x0399;"> <!ENTITY Kappa "&#x039A;"> <!ENTITY Lambda "&#x039B;"> <!ENTITY Mu "&#x039C;"> <!ENTITY Nu "&#x039D;"> <!ENTITY Xi "&#x039E;"> <!ENTITY Omicron "&#x039F;"> <!ENTITY Pi "&#x03A0;"> <!ENTITY Rho "&#x03A1;"> <!ENTITY Sigma "&#x03A3;"> <!ENTITY Tau "&#x03A4;"> <!ENTITY Upsilon "&#x03A5;"> <!ENTITY Phi "&#x03A6;"> <!ENTITY Chi "&#x03A7;"> <!ENTITY Psi "&#x03A8;"> <!ENTITY Omega "&#x03A9;"> <!ENTITY alpha "&#x03B1;"> <!ENTITY beta "&#x03B2;"> <!ENTITY gamma "&#x03B3;"> <!ENTITY delta "&#x03B4;"> <!ENTITY epsilon "&#x03B5;"> <!ENTITY zeta "&#x03B6;"> <!ENTITY eta "&#x03B7;"> <!ENTITY theta "&#x03B8;"> <!ENTITY iota "&#x03B9;"> <!ENTITY kappa "&#x03BA;"> <!ENTITY lambda "&#x03BB;"> <!ENTITY mu "&#x03BC;"> <!ENTITY nu "&#x03BD;"> <!ENTITY xi "&#x03BE;"> <!ENTITY omicron "&#x03BF;"> <!ENTITY pi "&#x03C0;"> <!ENTITY rho "&#x03C1;"> <!ENTITY sigmaf "&#x03C2;"> <!ENTITY sigma "&#x03C3;"> <!ENTITY tau "&#x03C4;"> <!ENTITY upsilon "&#x03C5;"> <!ENTITY phi "&#x03C6;"> <!ENTITY chi "&#x03C7;"> <!ENTITY psi "&#x03C8;"> <!ENTITY omega "&#x03C9;"> <!ENTITY thetasym "&#x03D1;"> <!ENTITY upsih "&#x03D2;"> <!ENTITY piv "&#x03D6;"> <!ENTITY ensp "&#x2002;"> <!ENTITY emsp "&#x2003;"> <!ENTITY thinsp "&#x2009;"> <!ENTITY zwnj "&#x200C;"> <!ENTITY zwj "&#x200D;"> <!ENTITY lrm "&#x200E;"> <!ENTITY rlm "&#x200F;"> <!ENTITY ndash "&#x2013;"> <!ENTITY mdash "&#x2014;"> <!ENTITY lsquo "&#x2018;"> <!ENTITY rsquo "&#x2019;"> <!ENTITY sbquo "&#x201A;"> <!ENTITY ldquo "&#x201C;"> <!ENTITY rdquo "&#x201D;"> <!ENTITY bdquo "&#x201E;"> <!ENTITY dagger "&#x2020;"> <!ENTITY Dagger "&#x2021;"> <!ENTITY bull "&#x2022;"> <!ENTITY hellip "&#x2026;"> <!ENTITY permil "&#x2030;"> <!ENTITY prime "&#x2032;"> <!ENTITY Prime "&#x2033;"> <!ENTITY lsaquo "&#x2039;"> <!ENTITY rsaquo "&#x203A;"> <!ENTITY oline "&#x203E;"> <!ENTITY frasl "&#x2044;"> <!ENTITY euro "&#x20AC;"> <!ENTITY image "&#x2111;"> <!ENTITY weierp "&#x2118;"> <!ENTITY real "&#x211C;"> <!ENTITY trade "&#x2122;"> <!ENTITY alefsym "&#x2135;"> <!ENTITY larr "&#x2190;"> <!ENTITY uarr "&#x2191;"> <!ENTITY rarr "&#x2192;"> <!ENTITY darr "&#x2193;"> <!ENTITY harr "&#x2194;"> <!ENTITY crarr "&#x21B5;"> <!ENTITY lArr "&#x21D0;"> <!ENTITY uArr "&#x21D1;"> <!ENTITY rArr "&#x21D2;"> <!ENTITY dArr "&#x21D3;"> <!ENTITY hArr "&#x21D4;"> <!ENTITY forall "&#x2200;"> <!ENTITY part "&#x2202;"> <!ENTITY exist "&#x2203;"> <!ENTITY empty "&#x2205;"> <!ENTITY nabla "&#x2207;"> <!ENTITY isin "&#x2208;"> <!ENTITY notin "&#x2209;"> <!ENTITY ni "&#x220B;"> <!ENTITY prod "&#x220F;"> <!ENTITY sum "&#x2211;"> <!ENTITY minus "&#x2212;"> <!ENTITY lowast "&#x2217;"> <!ENTITY radic "&#x221A;"> <!ENTITY prop "&#x221D;"> <!ENTITY infin "&#x221E;"> <!ENTITY ang "&#x2220;"> <!ENTITY and "&#x2227;"> <!ENTITY or "&#x2228;"> <!ENTITY cap "&#x2229;"> <!ENTITY cup "&#x222A;"> <!ENTITY int "&#x222B;"> <!ENTITY there4 "&#x2234;"> <!ENTITY sim "&#x223C;"> <!ENTITY cong "&#x2245;"> <!ENTITY asymp "&#x2248;"> <!ENTITY ne "&#x2260;"> <!ENTITY equiv "&#x2261;"> <!ENTITY le "&#x2264;"> <!ENTITY ge "&#x2265;"> <!ENTITY sub "&#x2282;"> <!ENTITY sup "&#x2283;"> <!ENTITY nsub "&#x2284;"> <!ENTITY sube "&#x2286;"> <!ENTITY supe "&#x2287;"> <!ENTITY oplus "&#x2295;"> <!ENTITY otimes "&#x2297;"> <!ENTITY perp "&#x22A5;"> <!ENTITY sdot "&#x22C5;"> <!ENTITY lceil "&#x2308;"> <!ENTITY rceil "&#x2309;"> <!ENTITY lfloor "&#x230A;"> <!ENTITY rfloor "&#x230B;"> <!ENTITY lang "&#x2329;"> <!ENTITY rang "&#x232A;"> <!ENTITY loz "&#x25CA;"> <!ENTITY spades "&#x2660;"> <!ENTITY clubs "&#x2663;"> <!ENTITY hearts "&#x2665;"> <!ENTITY diams "&#x2666;"> ]>';
+ }
+} \ No newline at end of file
diff --git a/vendor/simplepie/simplepie/library/SimplePie/Rating.php b/vendor/simplepie/simplepie/library/SimplePie/Rating.php
new file mode 100644
index 000000000..eaf57080c
--- /dev/null
+++ b/vendor/simplepie/simplepie/library/SimplePie/Rating.php
@@ -0,0 +1,128 @@
+<?php
+/**
+ * SimplePie
+ *
+ * A PHP-Based RSS and Atom Feed Framework.
+ * Takes the hard work out of managing a complete RSS/Atom solution.
+ *
+ * Copyright (c) 2004-2016, Ryan Parman, Geoffrey Sneddon, Ryan McCue, and contributors
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification, are
+ * permitted provided that the following conditions are met:
+ *
+ * * Redistributions of source code must retain the above copyright notice, this list of
+ * conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above copyright notice, this list
+ * of conditions and the following disclaimer in the documentation and/or other materials
+ * provided with the distribution.
+ *
+ * * Neither the name of the SimplePie Team nor the names of its contributors may be used
+ * to endorse or promote products derived from this software without specific prior
+ * written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS
+ * AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ *
+ * @package SimplePie
+ * @copyright 2004-2016 Ryan Parman, Geoffrey Sneddon, Ryan McCue
+ * @author Ryan Parman
+ * @author Geoffrey Sneddon
+ * @author Ryan McCue
+ * @link http://simplepie.org/ SimplePie
+ * @license http://www.opensource.org/licenses/bsd-license.php BSD License
+ */
+
+/**
+ * Handles `<media:rating>` or `<itunes:explicit>` tags as defined in Media RSS and iTunes RSS respectively
+ *
+ * Used by {@see SimplePie_Enclosure::get_rating()} and {@see SimplePie_Enclosure::get_ratings()}
+ *
+ * This class can be overloaded with {@see SimplePie::set_rating_class()}
+ *
+ * @package SimplePie
+ * @subpackage API
+ */
+class SimplePie_Rating
+{
+ /**
+ * Rating scheme
+ *
+ * @var string
+ * @see get_scheme()
+ */
+ var $scheme;
+
+ /**
+ * Rating value
+ *
+ * @var string
+ * @see get_value()
+ */
+ var $value;
+
+ /**
+ * Constructor, used to input the data
+ *
+ * For documentation on all the parameters, see the corresponding
+ * properties and their accessors
+ */
+ public function __construct($scheme = null, $value = null)
+ {
+ $this->scheme = $scheme;
+ $this->value = $value;
+ }
+
+ /**
+ * String-ified version
+ *
+ * @return string
+ */
+ public function __toString()
+ {
+ // There is no $this->data here
+ return md5(serialize($this));
+ }
+
+ /**
+ * Get the organizational scheme for the rating
+ *
+ * @return string|null
+ */
+ public function get_scheme()
+ {
+ if ($this->scheme !== null)
+ {
+ return $this->scheme;
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ /**
+ * Get the value of the rating
+ *
+ * @return string|null
+ */
+ public function get_value()
+ {
+ if ($this->value !== null)
+ {
+ return $this->value;
+ }
+ else
+ {
+ return null;
+ }
+ }
+}
diff --git a/vendor/simplepie/simplepie/library/SimplePie/Registry.php b/vendor/simplepie/simplepie/library/SimplePie/Registry.php
new file mode 100755
index 000000000..e0909bb74
--- /dev/null
+++ b/vendor/simplepie/simplepie/library/SimplePie/Registry.php
@@ -0,0 +1,224 @@
+<?php
+/**
+ * SimplePie
+ *
+ * A PHP-Based RSS and Atom Feed Framework.
+ * Takes the hard work out of managing a complete RSS/Atom solution.
+ *
+ * Copyright (c) 2004-2016, Ryan Parman, Geoffrey Sneddon, Ryan McCue, and contributors
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification, are
+ * permitted provided that the following conditions are met:
+ *
+ * * Redistributions of source code must retain the above copyright notice, this list of
+ * conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above copyright notice, this list
+ * of conditions and the following disclaimer in the documentation and/or other materials
+ * provided with the distribution.
+ *
+ * * Neither the name of the SimplePie Team nor the names of its contributors may be used
+ * to endorse or promote products derived from this software without specific prior
+ * written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS
+ * AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ *
+ * @package SimplePie
+ * @copyright 2004-2016 Ryan Parman, Geoffrey Sneddon, Ryan McCue
+ * @author Ryan Parman
+ * @author Geoffrey Sneddon
+ * @author Ryan McCue
+ * @link http://simplepie.org/ SimplePie
+ * @license http://www.opensource.org/licenses/bsd-license.php BSD License
+ */
+
+/**
+ * Handles creating objects and calling methods
+ *
+ * Access this via {@see SimplePie::get_registry()}
+ *
+ * @package SimplePie
+ */
+class SimplePie_Registry
+{
+ /**
+ * Default class mapping
+ *
+ * Overriding classes *must* subclass these.
+ *
+ * @var array
+ */
+ protected $default = array(
+ 'Cache' => 'SimplePie_Cache',
+ 'Locator' => 'SimplePie_Locator',
+ 'Parser' => 'SimplePie_Parser',
+ 'File' => 'SimplePie_File',
+ 'Sanitize' => 'SimplePie_Sanitize',
+ 'Item' => 'SimplePie_Item',
+ 'Author' => 'SimplePie_Author',
+ 'Category' => 'SimplePie_Category',
+ 'Enclosure' => 'SimplePie_Enclosure',
+ 'Caption' => 'SimplePie_Caption',
+ 'Copyright' => 'SimplePie_Copyright',
+ 'Credit' => 'SimplePie_Credit',
+ 'Rating' => 'SimplePie_Rating',
+ 'Restriction' => 'SimplePie_Restriction',
+ 'Content_Type_Sniffer' => 'SimplePie_Content_Type_Sniffer',
+ 'Source' => 'SimplePie_Source',
+ 'Misc' => 'SimplePie_Misc',
+ 'XML_Declaration_Parser' => 'SimplePie_XML_Declaration_Parser',
+ 'Parse_Date' => 'SimplePie_Parse_Date',
+ );
+
+ /**
+ * Class mapping
+ *
+ * @see register()
+ * @var array
+ */
+ protected $classes = array();
+
+ /**
+ * Legacy classes
+ *
+ * @see register()
+ * @var array
+ */
+ protected $legacy = array();
+
+ /**
+ * Constructor
+ *
+ * No-op
+ */
+ public function __construct() { }
+
+ /**
+ * Register a class
+ *
+ * @param string $type See {@see $default} for names
+ * @param string $class Class name, must subclass the corresponding default
+ * @param bool $legacy Whether to enable legacy support for this class
+ * @return bool Successfulness
+ */
+ public function register($type, $class, $legacy = false)
+ {
+ if (!@is_subclass_of($class, $this->default[$type]))
+ {
+ return false;
+ }
+
+ $this->classes[$type] = $class;
+
+ if ($legacy)
+ {
+ $this->legacy[] = $class;
+ }
+
+ return true;
+ }
+
+ /**
+ * Get the class registered for a type
+ *
+ * Where possible, use {@see create()} or {@see call()} instead
+ *
+ * @param string $type
+ * @return string|null
+ */
+ public function get_class($type)
+ {
+ if (!empty($this->classes[$type]))
+ {
+ return $this->classes[$type];
+ }
+ if (!empty($this->default[$type]))
+ {
+ return $this->default[$type];
+ }
+
+ return null;
+ }
+
+ /**
+ * Create a new instance of a given type
+ *
+ * @param string $type
+ * @param array $parameters Parameters to pass to the constructor
+ * @return object Instance of class
+ */
+ public function &create($type, $parameters = array())
+ {
+ $class = $this->get_class($type);
+
+ if (in_array($class, $this->legacy))
+ {
+ switch ($type)
+ {
+ case 'locator':
+ // Legacy: file, timeout, useragent, file_class, max_checked_feeds, content_type_sniffer_class
+ // Specified: file, timeout, useragent, max_checked_feeds
+ $replacement = array($this->get_class('file'), $parameters[3], $this->get_class('content_type_sniffer'));
+ array_splice($parameters, 3, 1, $replacement);
+ break;
+ }
+ }
+
+ if (!method_exists($class, '__construct'))
+ {
+ $instance = new $class;
+ }
+ else
+ {
+ $reflector = new ReflectionClass($class);
+ $instance = $reflector->newInstanceArgs($parameters);
+ }
+
+ if (method_exists($instance, 'set_registry'))
+ {
+ $instance->set_registry($this);
+ }
+ return $instance;
+ }
+
+ /**
+ * Call a static method for a type
+ *
+ * @param string $type
+ * @param string $method
+ * @param array $parameters
+ * @return mixed
+ */
+ public function &call($type, $method, $parameters = array())
+ {
+ $class = $this->get_class($type);
+
+ if (in_array($class, $this->legacy))
+ {
+ switch ($type)
+ {
+ case 'Cache':
+ // For backwards compatibility with old non-static
+ // Cache::create() methods
+ if ($method === 'get_handler')
+ {
+ $result = @call_user_func_array(array($class, 'create'), $parameters);
+ return $result;
+ }
+ break;
+ }
+ }
+
+ $result = call_user_func_array(array($class, $method), $parameters);
+ return $result;
+ }
+}
diff --git a/vendor/simplepie/simplepie/library/SimplePie/Restriction.php b/vendor/simplepie/simplepie/library/SimplePie/Restriction.php
new file mode 100644
index 000000000..001a5cd28
--- /dev/null
+++ b/vendor/simplepie/simplepie/library/SimplePie/Restriction.php
@@ -0,0 +1,154 @@
+<?php
+/**
+ * SimplePie
+ *
+ * A PHP-Based RSS and Atom Feed Framework.
+ * Takes the hard work out of managing a complete RSS/Atom solution.
+ *
+ * Copyright (c) 2004-2016, Ryan Parman, Geoffrey Sneddon, Ryan McCue, and contributors
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification, are
+ * permitted provided that the following conditions are met:
+ *
+ * * Redistributions of source code must retain the above copyright notice, this list of
+ * conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above copyright notice, this list
+ * of conditions and the following disclaimer in the documentation and/or other materials
+ * provided with the distribution.
+ *
+ * * Neither the name of the SimplePie Team nor the names of its contributors may be used
+ * to endorse or promote products derived from this software without specific prior
+ * written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS
+ * AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ *
+ * @package SimplePie
+ * @copyright 2004-2016 Ryan Parman, Geoffrey Sneddon, Ryan McCue
+ * @author Ryan Parman
+ * @author Geoffrey Sneddon
+ * @author Ryan McCue
+ * @link http://simplepie.org/ SimplePie
+ * @license http://www.opensource.org/licenses/bsd-license.php BSD License
+ */
+
+/**
+ * Handles `<media:restriction>` as defined in Media RSS
+ *
+ * Used by {@see SimplePie_Enclosure::get_restriction()} and {@see SimplePie_Enclosure::get_restrictions()}
+ *
+ * This class can be overloaded with {@see SimplePie::set_restriction_class()}
+ *
+ * @package SimplePie
+ * @subpackage API
+ */
+class SimplePie_Restriction
+{
+ /**
+ * Relationship ('allow'/'deny')
+ *
+ * @var string
+ * @see get_relationship()
+ */
+ var $relationship;
+
+ /**
+ * Type of restriction
+ *
+ * @var string
+ * @see get_type()
+ */
+ var $type;
+
+ /**
+ * Restricted values
+ *
+ * @var string
+ * @see get_value()
+ */
+ var $value;
+
+ /**
+ * Constructor, used to input the data
+ *
+ * For documentation on all the parameters, see the corresponding
+ * properties and their accessors
+ */
+ public function __construct($relationship = null, $type = null, $value = null)
+ {
+ $this->relationship = $relationship;
+ $this->type = $type;
+ $this->value = $value;
+ }
+
+ /**
+ * String-ified version
+ *
+ * @return string
+ */
+ public function __toString()
+ {
+ // There is no $this->data here
+ return md5(serialize($this));
+ }
+
+ /**
+ * Get the relationship
+ *
+ * @return string|null Either 'allow' or 'deny'
+ */
+ public function get_relationship()
+ {
+ if ($this->relationship !== null)
+ {
+ return $this->relationship;
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ /**
+ * Get the type
+ *
+ * @return string|null
+ */
+ public function get_type()
+ {
+ if ($this->type !== null)
+ {
+ return $this->type;
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ /**
+ * Get the list of restricted things
+ *
+ * @return string|null
+ */
+ public function get_value()
+ {
+ if ($this->value !== null)
+ {
+ return $this->value;
+ }
+ else
+ {
+ return null;
+ }
+ }
+}
diff --git a/vendor/simplepie/simplepie/library/SimplePie/Sanitize.php b/vendor/simplepie/simplepie/library/SimplePie/Sanitize.php
new file mode 100644
index 000000000..5a11721df
--- /dev/null
+++ b/vendor/simplepie/simplepie/library/SimplePie/Sanitize.php
@@ -0,0 +1,591 @@
+<?php
+/**
+ * SimplePie
+ *
+ * A PHP-Based RSS and Atom Feed Framework.
+ * Takes the hard work out of managing a complete RSS/Atom solution.
+ *
+ * Copyright (c) 2004-2016, Ryan Parman, Geoffrey Sneddon, Ryan McCue, and contributors
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification, are
+ * permitted provided that the following conditions are met:
+ *
+ * * Redistributions of source code must retain the above copyright notice, this list of
+ * conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above copyright notice, this list
+ * of conditions and the following disclaimer in the documentation and/or other materials
+ * provided with the distribution.
+ *
+ * * Neither the name of the SimplePie Team nor the names of its contributors may be used
+ * to endorse or promote products derived from this software without specific prior
+ * written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS
+ * AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ *
+ * @package SimplePie
+ * @copyright 2004-2016 Ryan Parman, Geoffrey Sneddon, Ryan McCue
+ * @author Ryan Parman
+ * @author Geoffrey Sneddon
+ * @author Ryan McCue
+ * @link http://simplepie.org/ SimplePie
+ * @license http://www.opensource.org/licenses/bsd-license.php BSD License
+ */
+
+/**
+ * Used for data cleanup and post-processing
+ *
+ *
+ * This class can be overloaded with {@see SimplePie::set_sanitize_class()}
+ *
+ * @package SimplePie
+ * @todo Move to using an actual HTML parser (this will allow tags to be properly stripped, and to switch between HTML and XHTML), this will also make it easier to shorten a string while preserving HTML tags
+ */
+class SimplePie_Sanitize
+{
+ // Private vars
+ var $base;
+
+ // Options
+ var $remove_div = true;
+ var $image_handler = '';
+ var $strip_htmltags = array('base', 'blink', 'body', 'doctype', 'embed', 'font', 'form', 'frame', 'frameset', 'html', 'iframe', 'input', 'marquee', 'meta', 'noscript', 'object', 'param', 'script', 'style');
+ var $encode_instead_of_strip = false;
+ var $strip_attributes = array('bgsound', 'expr', 'id', 'style', 'onclick', 'onerror', 'onfinish', 'onmouseover', 'onmouseout', 'onfocus', 'onblur', 'lowsrc', 'dynsrc');
+ var $add_attributes = array('audio' => array('preload' => 'none'), 'iframe' => array('sandbox' => 'allow-scripts allow-same-origin'), 'video' => array('preload' => 'none'));
+ var $strip_comments = false;
+ var $output_encoding = 'UTF-8';
+ var $enable_cache = true;
+ var $cache_location = './cache';
+ var $cache_name_function = 'md5';
+ var $timeout = 10;
+ var $useragent = '';
+ var $force_fsockopen = false;
+ var $replace_url_attributes = null;
+
+ public function __construct()
+ {
+ // Set defaults
+ $this->set_url_replacements(null);
+ }
+
+ public function remove_div($enable = true)
+ {
+ $this->remove_div = (bool) $enable;
+ }
+
+ public function set_image_handler($page = false)
+ {
+ if ($page)
+ {
+ $this->image_handler = (string) $page;
+ }
+ else
+ {
+ $this->image_handler = false;
+ }
+ }
+
+ public function set_registry(SimplePie_Registry $registry)
+ {
+ $this->registry = $registry;
+ }
+
+ public function pass_cache_data($enable_cache = true, $cache_location = './cache', $cache_name_function = 'md5', $cache_class = 'SimplePie_Cache')
+ {
+ if (isset($enable_cache))
+ {
+ $this->enable_cache = (bool) $enable_cache;
+ }
+
+ if ($cache_location)
+ {
+ $this->cache_location = (string) $cache_location;
+ }
+
+ if ($cache_name_function)
+ {
+ $this->cache_name_function = (string) $cache_name_function;
+ }
+ }
+
+ public function pass_file_data($file_class = 'SimplePie_File', $timeout = 10, $useragent = '', $force_fsockopen = false)
+ {
+ if ($timeout)
+ {
+ $this->timeout = (string) $timeout;
+ }
+
+ if ($useragent)
+ {
+ $this->useragent = (string) $useragent;
+ }
+
+ if ($force_fsockopen)
+ {
+ $this->force_fsockopen = (string) $force_fsockopen;
+ }
+ }
+
+ public function strip_htmltags($tags = array('base', 'blink', 'body', 'doctype', 'embed', 'font', 'form', 'frame', 'frameset', 'html', 'iframe', 'input', 'marquee', 'meta', 'noscript', 'object', 'param', 'script', 'style'))
+ {
+ if ($tags)
+ {
+ if (is_array($tags))
+ {
+ $this->strip_htmltags = $tags;
+ }
+ else
+ {
+ $this->strip_htmltags = explode(',', $tags);
+ }
+ }
+ else
+ {
+ $this->strip_htmltags = false;
+ }
+ }
+
+ public function encode_instead_of_strip($encode = false)
+ {
+ $this->encode_instead_of_strip = (bool) $encode;
+ }
+
+ public function strip_attributes($attribs = array('bgsound', 'expr', 'id', 'style', 'onclick', 'onerror', 'onfinish', 'onmouseover', 'onmouseout', 'onfocus', 'onblur', 'lowsrc', 'dynsrc'))
+ {
+ if ($attribs)
+ {
+ if (is_array($attribs))
+ {
+ $this->strip_attributes = $attribs;
+ }
+ else
+ {
+ $this->strip_attributes = explode(',', $attribs);
+ }
+ }
+ else
+ {
+ $this->strip_attributes = false;
+ }
+ }
+
+ public function add_attributes($attribs = array('audio' => array('preload' => 'none'), 'iframe' => array('sandbox' => 'allow-scripts allow-same-origin'), 'video' => array('preload' => 'none')))
+ {
+ if ($attribs)
+ {
+ if (is_array($attribs))
+ {
+ $this->add_attributes = $attribs;
+ }
+ else
+ {
+ $this->add_attributes = explode(',', $attribs);
+ }
+ }
+ else
+ {
+ $this->add_attributes = false;
+ }
+ }
+
+ public function strip_comments($strip = false)
+ {
+ $this->strip_comments = (bool) $strip;
+ }
+
+ public function set_output_encoding($encoding = 'UTF-8')
+ {
+ $this->output_encoding = (string) $encoding;
+ }
+
+ /**
+ * Set element/attribute key/value pairs of HTML attributes
+ * containing URLs that need to be resolved relative to the feed
+ *
+ * Defaults to |a|@href, |area|@href, |blockquote|@cite, |del|@cite,
+ * |form|@action, |img|@longdesc, |img|@src, |input|@src, |ins|@cite,
+ * |q|@cite
+ *
+ * @since 1.0
+ * @param array|null $element_attribute Element/attribute key/value pairs, null for default
+ */
+ public function set_url_replacements($element_attribute = null)
+ {
+ if ($element_attribute === null)
+ {
+ $element_attribute = array(
+ 'a' => 'href',
+ 'area' => 'href',
+ 'blockquote' => 'cite',
+ 'del' => 'cite',
+ 'form' => 'action',
+ 'img' => array(
+ 'longdesc',
+ 'src'
+ ),
+ 'input' => 'src',
+ 'ins' => 'cite',
+ 'q' => 'cite'
+ );
+ }
+ $this->replace_url_attributes = (array) $element_attribute;
+ }
+
+ public function sanitize($data, $type, $base = '')
+ {
+ $data = trim($data);
+ if ($data !== '' || $type & SIMPLEPIE_CONSTRUCT_IRI)
+ {
+ if ($type & SIMPLEPIE_CONSTRUCT_MAYBE_HTML)
+ {
+ if (preg_match('/(&(#(x[0-9a-fA-F]+|[0-9]+)|[a-zA-Z0-9]+)|<\/[A-Za-z][^\x09\x0A\x0B\x0C\x0D\x20\x2F\x3E]*' . SIMPLEPIE_PCRE_HTML_ATTRIBUTE . '>)/', $data))
+ {
+ $type |= SIMPLEPIE_CONSTRUCT_HTML;
+ }
+ else
+ {
+ $type |= SIMPLEPIE_CONSTRUCT_TEXT;
+ }
+ }
+
+ if ($type & SIMPLEPIE_CONSTRUCT_BASE64)
+ {
+ $data = base64_decode($data);
+ }
+
+ if ($type & (SIMPLEPIE_CONSTRUCT_HTML | SIMPLEPIE_CONSTRUCT_XHTML))
+ {
+
+ if (!class_exists('DOMDocument'))
+ {
+ throw new SimplePie_Exception('DOMDocument not found, unable to use sanitizer');
+ }
+ $document = new DOMDocument();
+ $document->encoding = 'UTF-8';
+
+ $data = $this->preprocess($data, $type);
+
+ set_error_handler(array('SimplePie_Misc', 'silence_errors'));
+ $document->loadHTML($data);
+ restore_error_handler();
+
+ $xpath = new DOMXPath($document);
+
+ // Strip comments
+ if ($this->strip_comments)
+ {
+ $comments = $xpath->query('//comment()');
+
+ foreach ($comments as $comment)
+ {
+ $comment->parentNode->removeChild($comment);
+ }
+ }
+
+ // Strip out HTML tags and attributes that might cause various security problems.
+ // Based on recommendations by Mark Pilgrim at:
+ // http://diveintomark.org/archives/2003/06/12/how_to_consume_rss_safely
+ if ($this->strip_htmltags)
+ {
+ foreach ($this->strip_htmltags as $tag)
+ {
+ $this->strip_tag($tag, $document, $xpath, $type);
+ }
+ }
+
+ if ($this->strip_attributes)
+ {
+ foreach ($this->strip_attributes as $attrib)
+ {
+ $this->strip_attr($attrib, $xpath);
+ }
+ }
+
+ if ($this->add_attributes)
+ {
+ foreach ($this->add_attributes as $tag => $valuePairs)
+ {
+ $this->add_attr($tag, $valuePairs, $document);
+ }
+ }
+
+ // Replace relative URLs
+ $this->base = $base;
+ foreach ($this->replace_url_attributes as $element => $attributes)
+ {
+ $this->replace_urls($document, $element, $attributes);
+ }
+
+ // If image handling (caching, etc.) is enabled, cache and rewrite all the image tags.
+ if (isset($this->image_handler) && ((string) $this->image_handler) !== '' && $this->enable_cache)
+ {
+ $images = $document->getElementsByTagName('img');
+ foreach ($images as $img)
+ {
+ if ($img->hasAttribute('src'))
+ {
+ $image_url = call_user_func($this->cache_name_function, $img->getAttribute('src'));
+ $cache = $this->registry->call('Cache', 'get_handler', array($this->cache_location, $image_url, 'spi'));
+
+ if ($cache->load())
+ {
+ $img->setAttribute('src', $this->image_handler . $image_url);
+ }
+ else
+ {
+ $file = $this->registry->create('File', array($img->getAttribute('src'), $this->timeout, 5, array('X-FORWARDED-FOR' => $_SERVER['REMOTE_ADDR']), $this->useragent, $this->force_fsockopen));
+ $headers = $file->headers;
+
+ if ($file->success && ($file->method & SIMPLEPIE_FILE_SOURCE_REMOTE === 0 || ($file->status_code === 200 || $file->status_code > 206 && $file->status_code < 300)))
+ {
+ if ($cache->save(array('headers' => $file->headers, 'body' => $file->body)))
+ {
+ $img->setAttribute('src', $this->image_handler . $image_url);
+ }
+ else
+ {
+ trigger_error("$this->cache_location is not writeable. Make sure you've set the correct relative or absolute path, and that the location is server-writable.", E_USER_WARNING);
+ }
+ }
+ }
+ }
+ }
+ }
+
+ // Get content node
+ $div = $document->getElementsByTagName('body')->item(0)->firstChild;
+ // Finally, convert to a HTML string
+ if (version_compare(PHP_VERSION, '5.3.6', '>='))
+ {
+ $data = trim($document->saveHTML($div));
+ }
+ else
+ {
+ $data = trim($document->saveXML($div));
+ }
+
+ if ($this->remove_div)
+ {
+ $data = preg_replace('/^<div' . SIMPLEPIE_PCRE_XML_ATTRIBUTE . '>/', '', $data);
+ $data = preg_replace('/<\/div>$/', '', $data);
+ }
+ else
+ {
+ $data = preg_replace('/^<div' . SIMPLEPIE_PCRE_XML_ATTRIBUTE . '>/', '<div>', $data);
+ }
+ }
+
+ if ($type & SIMPLEPIE_CONSTRUCT_IRI)
+ {
+ $absolute = $this->registry->call('Misc', 'absolutize_url', array($data, $base));
+ if ($absolute !== false)
+ {
+ $data = $absolute;
+ }
+ }
+
+ if ($type & (SIMPLEPIE_CONSTRUCT_TEXT | SIMPLEPIE_CONSTRUCT_IRI))
+ {
+ $data = htmlspecialchars($data, ENT_COMPAT, 'UTF-8');
+ }
+
+ if ($this->output_encoding !== 'UTF-8')
+ {
+ $data = $this->registry->call('Misc', 'change_encoding', array($data, 'UTF-8', $this->output_encoding));
+ }
+ }
+ return $data;
+ }
+
+ protected function preprocess($html, $type)
+ {
+ $ret = '';
+ $html = preg_replace('%</?(?:html|body)[^>]*?'.'>%is', '', $html);
+ if ($type & ~SIMPLEPIE_CONSTRUCT_XHTML)
+ {
+ // Atom XHTML constructs are wrapped with a div by default
+ // Note: No protection if $html contains a stray </div>!
+ $html = '<div>' . $html . '</div>';
+ $ret .= '<!DOCTYPE html>';
+ $content_type = 'text/html';
+ }
+ else
+ {
+ $ret .= '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">';
+ $content_type = 'application/xhtml+xml';
+ }
+
+ $ret .= '<html><head>';
+ $ret .= '<meta http-equiv="Content-Type" content="' . $content_type . '; charset=utf-8" />';
+ $ret .= '</head><body>' . $html . '</body></html>';
+ return $ret;
+ }
+
+ public function replace_urls($document, $tag, $attributes)
+ {
+ if (!is_array($attributes))
+ {
+ $attributes = array($attributes);
+ }
+
+ if (!is_array($this->strip_htmltags) || !in_array($tag, $this->strip_htmltags))
+ {
+ $elements = $document->getElementsByTagName($tag);
+ foreach ($elements as $element)
+ {
+ foreach ($attributes as $attribute)
+ {
+ if ($element->hasAttribute($attribute))
+ {
+ $value = $this->registry->call('Misc', 'absolutize_url', array($element->getAttribute($attribute), $this->base));
+ if ($value !== false)
+ {
+ $element->setAttribute($attribute, $value);
+ }
+ }
+ }
+ }
+ }
+ }
+
+ public function do_strip_htmltags($match)
+ {
+ if ($this->encode_instead_of_strip)
+ {
+ if (isset($match[4]) && !in_array(strtolower($match[1]), array('script', 'style')))
+ {
+ $match[1] = htmlspecialchars($match[1], ENT_COMPAT, 'UTF-8');
+ $match[2] = htmlspecialchars($match[2], ENT_COMPAT, 'UTF-8');
+ return "&lt;$match[1]$match[2]&gt;$match[3]&lt;/$match[1]&gt;";
+ }
+ else
+ {
+ return htmlspecialchars($match[0], ENT_COMPAT, 'UTF-8');
+ }
+ }
+ elseif (isset($match[4]) && !in_array(strtolower($match[1]), array('script', 'style')))
+ {
+ return $match[4];
+ }
+ else
+ {
+ return '';
+ }
+ }
+
+ protected function strip_tag($tag, $document, $xpath, $type)
+ {
+ $elements = $xpath->query('body//' . $tag);
+ if ($this->encode_instead_of_strip)
+ {
+ foreach ($elements as $element)
+ {
+ $fragment = $document->createDocumentFragment();
+
+ // For elements which aren't script or style, include the tag itself
+ if (!in_array($tag, array('script', 'style')))
+ {
+ $text = '<' . $tag;
+ if ($element->hasAttributes())
+ {
+ $attrs = array();
+ foreach ($element->attributes as $name => $attr)
+ {
+ $value = $attr->value;
+
+ // In XHTML, empty values should never exist, so we repeat the value
+ if (empty($value) && ($type & SIMPLEPIE_CONSTRUCT_XHTML))
+ {
+ $value = $name;
+ }
+ // For HTML, empty is fine
+ elseif (empty($value) && ($type & SIMPLEPIE_CONSTRUCT_HTML))
+ {
+ $attrs[] = $name;
+ continue;
+ }
+
+ // Standard attribute text
+ $attrs[] = $name . '="' . $attr->value . '"';
+ }
+ $text .= ' ' . implode(' ', $attrs);
+ }
+ $text .= '>';
+ $fragment->appendChild(new DOMText($text));
+ }
+
+ $number = $element->childNodes->length;
+ for ($i = $number; $i > 0; $i--)
+ {
+ $child = $element->childNodes->item(0);
+ $fragment->appendChild($child);
+ }
+
+ if (!in_array($tag, array('script', 'style')))
+ {
+ $fragment->appendChild(new DOMText('</' . $tag . '>'));
+ }
+
+ $element->parentNode->replaceChild($fragment, $element);
+ }
+
+ return;
+ }
+ elseif (in_array($tag, array('script', 'style')))
+ {
+ foreach ($elements as $element)
+ {
+ $element->parentNode->removeChild($element);
+ }
+
+ return;
+ }
+ else
+ {
+ foreach ($elements as $element)
+ {
+ $fragment = $document->createDocumentFragment();
+ $number = $element->childNodes->length;
+ for ($i = $number; $i > 0; $i--)
+ {
+ $child = $element->childNodes->item(0);
+ $fragment->appendChild($child);
+ }
+
+ $element->parentNode->replaceChild($fragment, $element);
+ }
+ }
+ }
+
+ protected function strip_attr($attrib, $xpath)
+ {
+ $elements = $xpath->query('//*[@' . $attrib . ']');
+
+ foreach ($elements as $element)
+ {
+ $element->removeAttribute($attrib);
+ }
+ }
+
+ protected function add_attr($tag, $valuePairs, $document)
+ {
+ $elements = $document->getElementsByTagName($tag);
+ foreach ($elements as $element)
+ {
+ foreach ($valuePairs as $attrib => $value)
+ {
+ $element->setAttribute($attrib, $value);
+ }
+ }
+ }
+}
diff --git a/vendor/simplepie/simplepie/library/SimplePie/Source.php b/vendor/simplepie/simplepie/library/SimplePie/Source.php
new file mode 100644
index 000000000..1a66a392d
--- /dev/null
+++ b/vendor/simplepie/simplepie/library/SimplePie/Source.php
@@ -0,0 +1,610 @@
+<?php
+/**
+ * SimplePie
+ *
+ * A PHP-Based RSS and Atom Feed Framework.
+ * Takes the hard work out of managing a complete RSS/Atom solution.
+ *
+ * Copyright (c) 2004-2016, Ryan Parman, Geoffrey Sneddon, Ryan McCue, and contributors
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification, are
+ * permitted provided that the following conditions are met:
+ *
+ * * Redistributions of source code must retain the above copyright notice, this list of
+ * conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above copyright notice, this list
+ * of conditions and the following disclaimer in the documentation and/or other materials
+ * provided with the distribution.
+ *
+ * * Neither the name of the SimplePie Team nor the names of its contributors may be used
+ * to endorse or promote products derived from this software without specific prior
+ * written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS
+ * AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ *
+ * @package SimplePie
+ * @copyright 2004-2016 Ryan Parman, Geoffrey Sneddon, Ryan McCue
+ * @author Ryan Parman
+ * @author Geoffrey Sneddon
+ * @author Ryan McCue
+ * @link http://simplepie.org/ SimplePie
+ * @license http://www.opensource.org/licenses/bsd-license.php BSD License
+ */
+
+/**
+ * Handles `<atom:source>`
+ *
+ * Used by {@see SimplePie_Item::get_source()}
+ *
+ * This class can be overloaded with {@see SimplePie::set_source_class()}
+ *
+ * @package SimplePie
+ * @subpackage API
+ */
+class SimplePie_Source
+{
+ var $item;
+ var $data = array();
+ protected $registry;
+
+ public function __construct($item, $data)
+ {
+ $this->item = $item;
+ $this->data = $data;
+ }
+
+ public function set_registry(SimplePie_Registry $registry)
+ {
+ $this->registry = $registry;
+ }
+
+ public function __toString()
+ {
+ return md5(serialize($this->data));
+ }
+
+ public function get_source_tags($namespace, $tag)
+ {
+ if (isset($this->data['child'][$namespace][$tag]))
+ {
+ return $this->data['child'][$namespace][$tag];
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ public function get_base($element = array())
+ {
+ return $this->item->get_base($element);
+ }
+
+ public function sanitize($data, $type, $base = '')
+ {
+ return $this->item->sanitize($data, $type, $base);
+ }
+
+ public function get_item()
+ {
+ return $this->item;
+ }
+
+ public function get_title()
+ {
+ if ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'title'))
+ {
+ return $this->sanitize($return[0]['data'], $this->registry->call('Misc', 'atom_10_construct_type', array($return[0]['attribs'])), $this->get_base($return[0]));
+ }
+ elseif ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'title'))
+ {
+ return $this->sanitize($return[0]['data'], $this->registry->call('Misc', 'atom_03_construct_type', array($return[0]['attribs'])), $this->get_base($return[0]));
+ }
+ elseif ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_RSS_10, 'title'))
+ {
+ return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_MAYBE_HTML, $this->get_base($return[0]));
+ }
+ elseif ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_RSS_090, 'title'))
+ {
+ return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_MAYBE_HTML, $this->get_base($return[0]));
+ }
+ elseif ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'title'))
+ {
+ return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_MAYBE_HTML, $this->get_base($return[0]));
+ }
+ elseif ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_DC_11, 'title'))
+ {
+ return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ elseif ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_DC_10, 'title'))
+ {
+ return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ public function get_category($key = 0)
+ {
+ $categories = $this->get_categories();
+ if (isset($categories[$key]))
+ {
+ return $categories[$key];
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ public function get_categories()
+ {
+ $categories = array();
+
+ foreach ((array) $this->get_source_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'category') as $category)
+ {
+ $term = null;
+ $scheme = null;
+ $label = null;
+ if (isset($category['attribs']['']['term']))
+ {
+ $term = $this->sanitize($category['attribs']['']['term'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ if (isset($category['attribs']['']['scheme']))
+ {
+ $scheme = $this->sanitize($category['attribs']['']['scheme'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ if (isset($category['attribs']['']['label']))
+ {
+ $label = $this->sanitize($category['attribs']['']['label'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ $categories[] = $this->registry->create('Category', array($term, $scheme, $label));
+ }
+ foreach ((array) $this->get_source_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'category') as $category)
+ {
+ // This is really the label, but keep this as the term also for BC.
+ // Label will also work on retrieving because that falls back to term.
+ $term = $this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ if (isset($category['attribs']['']['domain']))
+ {
+ $scheme = $this->sanitize($category['attribs']['']['domain'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ else
+ {
+ $scheme = null;
+ }
+ $categories[] = $this->registry->create('Category', array($term, $scheme, null));
+ }
+ foreach ((array) $this->get_source_tags(SIMPLEPIE_NAMESPACE_DC_11, 'subject') as $category)
+ {
+ $categories[] = $this->registry->create('Category', array($this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null));
+ }
+ foreach ((array) $this->get_source_tags(SIMPLEPIE_NAMESPACE_DC_10, 'subject') as $category)
+ {
+ $categories[] = $this->registry->create('Category', array($this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null));
+ }
+
+ if (!empty($categories))
+ {
+ return array_unique($categories);
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ public function get_author($key = 0)
+ {
+ $authors = $this->get_authors();
+ if (isset($authors[$key]))
+ {
+ return $authors[$key];
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ public function get_authors()
+ {
+ $authors = array();
+ foreach ((array) $this->get_source_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'author') as $author)
+ {
+ $name = null;
+ $uri = null;
+ $email = null;
+ if (isset($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['name'][0]['data']))
+ {
+ $name = $this->sanitize($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['name'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ if (isset($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['uri'][0]['data']))
+ {
+ $uri = $this->sanitize($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['uri'][0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['uri'][0]));
+ }
+ if (isset($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['email'][0]['data']))
+ {
+ $email = $this->sanitize($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['email'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ if ($name !== null || $email !== null || $uri !== null)
+ {
+ $authors[] = $this->registry->create('Author', array($name, $uri, $email));
+ }
+ }
+ if ($author = $this->get_source_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'author'))
+ {
+ $name = null;
+ $url = null;
+ $email = null;
+ if (isset($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['name'][0]['data']))
+ {
+ $name = $this->sanitize($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['name'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ if (isset($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['url'][0]['data']))
+ {
+ $url = $this->sanitize($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['url'][0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['url'][0]));
+ }
+ if (isset($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['email'][0]['data']))
+ {
+ $email = $this->sanitize($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['email'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ if ($name !== null || $email !== null || $url !== null)
+ {
+ $authors[] = $this->registry->create('Author', array($name, $url, $email));
+ }
+ }
+ foreach ((array) $this->get_source_tags(SIMPLEPIE_NAMESPACE_DC_11, 'creator') as $author)
+ {
+ $authors[] = $this->registry->create('Author', array($this->sanitize($author['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null));
+ }
+ foreach ((array) $this->get_source_tags(SIMPLEPIE_NAMESPACE_DC_10, 'creator') as $author)
+ {
+ $authors[] = $this->registry->create('Author', array($this->sanitize($author['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null));
+ }
+ foreach ((array) $this->get_source_tags(SIMPLEPIE_NAMESPACE_ITUNES, 'author') as $author)
+ {
+ $authors[] = $this->registry->create('Author', array($this->sanitize($author['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null));
+ }
+
+ if (!empty($authors))
+ {
+ return array_unique($authors);
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ public function get_contributor($key = 0)
+ {
+ $contributors = $this->get_contributors();
+ if (isset($contributors[$key]))
+ {
+ return $contributors[$key];
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ public function get_contributors()
+ {
+ $contributors = array();
+ foreach ((array) $this->get_source_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'contributor') as $contributor)
+ {
+ $name = null;
+ $uri = null;
+ $email = null;
+ if (isset($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['name'][0]['data']))
+ {
+ $name = $this->sanitize($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['name'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ if (isset($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['uri'][0]['data']))
+ {
+ $uri = $this->sanitize($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['uri'][0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['uri'][0]));
+ }
+ if (isset($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['email'][0]['data']))
+ {
+ $email = $this->sanitize($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['email'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ if ($name !== null || $email !== null || $uri !== null)
+ {
+ $contributors[] = $this->registry->create('Author', array($name, $uri, $email));
+ }
+ }
+ foreach ((array) $this->get_source_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'contributor') as $contributor)
+ {
+ $name = null;
+ $url = null;
+ $email = null;
+ if (isset($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['name'][0]['data']))
+ {
+ $name = $this->sanitize($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['name'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ if (isset($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['url'][0]['data']))
+ {
+ $url = $this->sanitize($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['url'][0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['url'][0]));
+ }
+ if (isset($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['email'][0]['data']))
+ {
+ $email = $this->sanitize($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['email'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ if ($name !== null || $email !== null || $url !== null)
+ {
+ $contributors[] = $this->registry->create('Author', array($name, $url, $email));
+ }
+ }
+
+ if (!empty($contributors))
+ {
+ return array_unique($contributors);
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ public function get_link($key = 0, $rel = 'alternate')
+ {
+ $links = $this->get_links($rel);
+ if (isset($links[$key]))
+ {
+ return $links[$key];
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ /**
+ * Added for parity between the parent-level and the item/entry-level.
+ */
+ public function get_permalink()
+ {
+ return $this->get_link(0);
+ }
+
+ public function get_links($rel = 'alternate')
+ {
+ if (!isset($this->data['links']))
+ {
+ $this->data['links'] = array();
+ if ($links = $this->get_source_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'link'))
+ {
+ foreach ($links as $link)
+ {
+ if (isset($link['attribs']['']['href']))
+ {
+ $link_rel = (isset($link['attribs']['']['rel'])) ? $link['attribs']['']['rel'] : 'alternate';
+ $this->data['links'][$link_rel][] = $this->sanitize($link['attribs']['']['href'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($link));
+ }
+ }
+ }
+ if ($links = $this->get_source_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'link'))
+ {
+ foreach ($links as $link)
+ {
+ if (isset($link['attribs']['']['href']))
+ {
+ $link_rel = (isset($link['attribs']['']['rel'])) ? $link['attribs']['']['rel'] : 'alternate';
+ $this->data['links'][$link_rel][] = $this->sanitize($link['attribs']['']['href'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($link));
+
+ }
+ }
+ }
+ if ($links = $this->get_source_tags(SIMPLEPIE_NAMESPACE_RSS_10, 'link'))
+ {
+ $this->data['links']['alternate'][] = $this->sanitize($links[0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($links[0]));
+ }
+ if ($links = $this->get_source_tags(SIMPLEPIE_NAMESPACE_RSS_090, 'link'))
+ {
+ $this->data['links']['alternate'][] = $this->sanitize($links[0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($links[0]));
+ }
+ if ($links = $this->get_source_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'link'))
+ {
+ $this->data['links']['alternate'][] = $this->sanitize($links[0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($links[0]));
+ }
+
+ $keys = array_keys($this->data['links']);
+ foreach ($keys as $key)
+ {
+ if ($this->registry->call('Misc', 'is_isegment_nz_nc', array($key)))
+ {
+ if (isset($this->data['links'][SIMPLEPIE_IANA_LINK_RELATIONS_REGISTRY . $key]))
+ {
+ $this->data['links'][SIMPLEPIE_IANA_LINK_RELATIONS_REGISTRY . $key] = array_merge($this->data['links'][$key], $this->data['links'][SIMPLEPIE_IANA_LINK_RELATIONS_REGISTRY . $key]);
+ $this->data['links'][$key] =& $this->data['links'][SIMPLEPIE_IANA_LINK_RELATIONS_REGISTRY . $key];
+ }
+ else
+ {
+ $this->data['links'][SIMPLEPIE_IANA_LINK_RELATIONS_REGISTRY . $key] =& $this->data['links'][$key];
+ }
+ }
+ elseif (substr($key, 0, 41) === SIMPLEPIE_IANA_LINK_RELATIONS_REGISTRY)
+ {
+ $this->data['links'][substr($key, 41)] =& $this->data['links'][$key];
+ }
+ $this->data['links'][$key] = array_unique($this->data['links'][$key]);
+ }
+ }
+
+ if (isset($this->data['links'][$rel]))
+ {
+ return $this->data['links'][$rel];
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ public function get_description()
+ {
+ if ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'subtitle'))
+ {
+ return $this->sanitize($return[0]['data'], $this->registry->call('Misc', 'atom_10_construct_type', array($return[0]['attribs'])), $this->get_base($return[0]));
+ }
+ elseif ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'tagline'))
+ {
+ return $this->sanitize($return[0]['data'], $this->registry->call('Misc', 'atom_03_construct_type', array($return[0]['attribs'])), $this->get_base($return[0]));
+ }
+ elseif ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_RSS_10, 'description'))
+ {
+ return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_MAYBE_HTML, $this->get_base($return[0]));
+ }
+ elseif ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_RSS_090, 'description'))
+ {
+ return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_MAYBE_HTML, $this->get_base($return[0]));
+ }
+ elseif ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'description'))
+ {
+ return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_MAYBE_HTML, $this->get_base($return[0]));
+ }
+ elseif ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_DC_11, 'description'))
+ {
+ return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ elseif ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_DC_10, 'description'))
+ {
+ return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ elseif ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_ITUNES, 'summary'))
+ {
+ return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_HTML, $this->get_base($return[0]));
+ }
+ elseif ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_ITUNES, 'subtitle'))
+ {
+ return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_HTML, $this->get_base($return[0]));
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ public function get_copyright()
+ {
+ if ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'rights'))
+ {
+ return $this->sanitize($return[0]['data'], $this->registry->call('Misc', 'atom_10_construct_type', array($return[0]['attribs'])), $this->get_base($return[0]));
+ }
+ elseif ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'copyright'))
+ {
+ return $this->sanitize($return[0]['data'], $this->registry->call('Misc', 'atom_03_construct_type', array($return[0]['attribs'])), $this->get_base($return[0]));
+ }
+ elseif ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'copyright'))
+ {
+ return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ elseif ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_DC_11, 'rights'))
+ {
+ return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ elseif ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_DC_10, 'rights'))
+ {
+ return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ public function get_language()
+ {
+ if ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'language'))
+ {
+ return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ elseif ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_DC_11, 'language'))
+ {
+ return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ elseif ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_DC_10, 'language'))
+ {
+ return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ elseif (isset($this->data['xml_lang']))
+ {
+ return $this->sanitize($this->data['xml_lang'], SIMPLEPIE_CONSTRUCT_TEXT);
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ public function get_latitude()
+ {
+ if ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_W3C_BASIC_GEO, 'lat'))
+ {
+ return (float) $return[0]['data'];
+ }
+ elseif (($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_GEORSS, 'point')) && preg_match('/^((?:-)?[0-9]+(?:\.[0-9]+)) ((?:-)?[0-9]+(?:\.[0-9]+))$/', trim($return[0]['data']), $match))
+ {
+ return (float) $match[1];
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ public function get_longitude()
+ {
+ if ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_W3C_BASIC_GEO, 'long'))
+ {
+ return (float) $return[0]['data'];
+ }
+ elseif ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_W3C_BASIC_GEO, 'lon'))
+ {
+ return (float) $return[0]['data'];
+ }
+ elseif (($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_GEORSS, 'point')) && preg_match('/^((?:-)?[0-9]+(?:\.[0-9]+)) ((?:-)?[0-9]+(?:\.[0-9]+))$/', trim($return[0]['data']), $match))
+ {
+ return (float) $match[2];
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ public function get_image_url()
+ {
+ if ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_ITUNES, 'image'))
+ {
+ return $this->sanitize($return[0]['attribs']['']['href'], SIMPLEPIE_CONSTRUCT_IRI);
+ }
+ elseif ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'logo'))
+ {
+ return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($return[0]));
+ }
+ elseif ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'icon'))
+ {
+ return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($return[0]));
+ }
+ else
+ {
+ return null;
+ }
+ }
+}
+
diff --git a/vendor/simplepie/simplepie/library/SimplePie/XML/Declaration/Parser.php b/vendor/simplepie/simplepie/library/SimplePie/XML/Declaration/Parser.php
new file mode 100644
index 000000000..99e751672
--- /dev/null
+++ b/vendor/simplepie/simplepie/library/SimplePie/XML/Declaration/Parser.php
@@ -0,0 +1,361 @@
+<?php
+/**
+ * SimplePie
+ *
+ * A PHP-Based RSS and Atom Feed Framework.
+ * Takes the hard work out of managing a complete RSS/Atom solution.
+ *
+ * Copyright (c) 2004-2016, Ryan Parman, Geoffrey Sneddon, Ryan McCue, and contributors
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification, are
+ * permitted provided that the following conditions are met:
+ *
+ * * Redistributions of source code must retain the above copyright notice, this list of
+ * conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above copyright notice, this list
+ * of conditions and the following disclaimer in the documentation and/or other materials
+ * provided with the distribution.
+ *
+ * * Neither the name of the SimplePie Team nor the names of its contributors may be used
+ * to endorse or promote products derived from this software without specific prior
+ * written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS
+ * AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ *
+ * @package SimplePie
+ * @copyright 2004-2016 Ryan Parman, Geoffrey Sneddon, Ryan McCue
+ * @author Ryan Parman
+ * @author Geoffrey Sneddon
+ * @author Ryan McCue
+ * @link http://simplepie.org/ SimplePie
+ * @license http://www.opensource.org/licenses/bsd-license.php BSD License
+ */
+
+
+/**
+ * Parses the XML Declaration
+ *
+ * @package SimplePie
+ * @subpackage Parsing
+ */
+class SimplePie_XML_Declaration_Parser
+{
+ /**
+ * XML Version
+ *
+ * @access public
+ * @var string
+ */
+ var $version = '1.0';
+
+ /**
+ * Encoding
+ *
+ * @access public
+ * @var string
+ */
+ var $encoding = 'UTF-8';
+
+ /**
+ * Standalone
+ *
+ * @access public
+ * @var bool
+ */
+ var $standalone = false;
+
+ /**
+ * Current state of the state machine
+ *
+ * @access private
+ * @var string
+ */
+ var $state = 'before_version_name';
+
+ /**
+ * Input data
+ *
+ * @access private
+ * @var string
+ */
+ var $data = '';
+
+ /**
+ * Input data length (to avoid calling strlen() everytime this is needed)
+ *
+ * @access private
+ * @var int
+ */
+ var $data_length = 0;
+
+ /**
+ * Current position of the pointer
+ *
+ * @var int
+ * @access private
+ */
+ var $position = 0;
+
+ /**
+ * Create an instance of the class with the input data
+ *
+ * @access public
+ * @param string $data Input data
+ */
+ public function __construct($data)
+ {
+ $this->data = $data;
+ $this->data_length = strlen($this->data);
+ }
+
+ /**
+ * Parse the input data
+ *
+ * @access public
+ * @return bool true on success, false on failure
+ */
+ public function parse()
+ {
+ while ($this->state && $this->state !== 'emit' && $this->has_data())
+ {
+ $state = $this->state;
+ $this->$state();
+ }
+ $this->data = '';
+ if ($this->state === 'emit')
+ {
+ return true;
+ }
+ else
+ {
+ $this->version = '';
+ $this->encoding = '';
+ $this->standalone = '';
+ return false;
+ }
+ }
+
+ /**
+ * Check whether there is data beyond the pointer
+ *
+ * @access private
+ * @return bool true if there is further data, false if not
+ */
+ public function has_data()
+ {
+ return (bool) ($this->position < $this->data_length);
+ }
+
+ /**
+ * Advance past any whitespace
+ *
+ * @return int Number of whitespace characters passed
+ */
+ public function skip_whitespace()
+ {
+ $whitespace = strspn($this->data, "\x09\x0A\x0D\x20", $this->position);
+ $this->position += $whitespace;
+ return $whitespace;
+ }
+
+ /**
+ * Read value
+ */
+ public function get_value()
+ {
+ $quote = substr($this->data, $this->position, 1);
+ if ($quote === '"' || $quote === "'")
+ {
+ $this->position++;
+ $len = strcspn($this->data, $quote, $this->position);
+ if ($this->has_data())
+ {
+ $value = substr($this->data, $this->position, $len);
+ $this->position += $len + 1;
+ return $value;
+ }
+ }
+ return false;
+ }
+
+ public function before_version_name()
+ {
+ if ($this->skip_whitespace())
+ {
+ $this->state = 'version_name';
+ }
+ else
+ {
+ $this->state = false;
+ }
+ }
+
+ public function version_name()
+ {
+ if (substr($this->data, $this->position, 7) === 'version')
+ {
+ $this->position += 7;
+ $this->skip_whitespace();
+ $this->state = 'version_equals';
+ }
+ else
+ {
+ $this->state = false;
+ }
+ }
+
+ public function version_equals()
+ {
+ if (substr($this->data, $this->position, 1) === '=')
+ {
+ $this->position++;
+ $this->skip_whitespace();
+ $this->state = 'version_value';
+ }
+ else
+ {
+ $this->state = false;
+ }
+ }
+
+ public function version_value()
+ {
+ if ($this->version = $this->get_value())
+ {
+ $this->skip_whitespace();
+ if ($this->has_data())
+ {
+ $this->state = 'encoding_name';
+ }
+ else
+ {
+ $this->state = 'emit';
+ }
+ }
+ else
+ {
+ $this->state = false;
+ }
+ }
+
+ public function encoding_name()
+ {
+ if (substr($this->data, $this->position, 8) === 'encoding')
+ {
+ $this->position += 8;
+ $this->skip_whitespace();
+ $this->state = 'encoding_equals';
+ }
+ else
+ {
+ $this->state = 'standalone_name';
+ }
+ }
+
+ public function encoding_equals()
+ {
+ if (substr($this->data, $this->position, 1) === '=')
+ {
+ $this->position++;
+ $this->skip_whitespace();
+ $this->state = 'encoding_value';
+ }
+ else
+ {
+ $this->state = false;
+ }
+ }
+
+ public function encoding_value()
+ {
+ if ($this->encoding = $this->get_value())
+ {
+ $this->skip_whitespace();
+ if ($this->has_data())
+ {
+ $this->state = 'standalone_name';
+ }
+ else
+ {
+ $this->state = 'emit';
+ }
+ }
+ else
+ {
+ $this->state = false;
+ }
+ }
+
+ public function standalone_name()
+ {
+ if (substr($this->data, $this->position, 10) === 'standalone')
+ {
+ $this->position += 10;
+ $this->skip_whitespace();
+ $this->state = 'standalone_equals';
+ }
+ else
+ {
+ $this->state = false;
+ }
+ }
+
+ public function standalone_equals()
+ {
+ if (substr($this->data, $this->position, 1) === '=')
+ {
+ $this->position++;
+ $this->skip_whitespace();
+ $this->state = 'standalone_value';
+ }
+ else
+ {
+ $this->state = false;
+ }
+ }
+
+ public function standalone_value()
+ {
+ if ($standalone = $this->get_value())
+ {
+ switch ($standalone)
+ {
+ case 'yes':
+ $this->standalone = true;
+ break;
+
+ case 'no':
+ $this->standalone = false;
+ break;
+
+ default:
+ $this->state = false;
+ return;
+ }
+
+ $this->skip_whitespace();
+ if ($this->has_data())
+ {
+ $this->state = false;
+ }
+ else
+ {
+ $this->state = 'emit';
+ }
+ }
+ else
+ {
+ $this->state = false;
+ }
+ }
+}
diff --git a/vendor/simplepie/simplepie/library/SimplePie/gzdecode.php b/vendor/simplepie/simplepie/library/SimplePie/gzdecode.php
new file mode 100644
index 000000000..0e8bc8fc6
--- /dev/null
+++ b/vendor/simplepie/simplepie/library/SimplePie/gzdecode.php
@@ -0,0 +1,370 @@
+<?php
+/**
+ * SimplePie
+ *
+ * A PHP-Based RSS and Atom Feed Framework.
+ * Takes the hard work out of managing a complete RSS/Atom solution.
+ *
+ * Copyright (c) 2004-2016, Ryan Parman, Geoffrey Sneddon, Ryan McCue, and contributors
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification, are
+ * permitted provided that the following conditions are met:
+ *
+ * * Redistributions of source code must retain the above copyright notice, this list of
+ * conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above copyright notice, this list
+ * of conditions and the following disclaimer in the documentation and/or other materials
+ * provided with the distribution.
+ *
+ * * Neither the name of the SimplePie Team nor the names of its contributors may be used
+ * to endorse or promote products derived from this software without specific prior
+ * written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS
+ * AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ *
+ * @package SimplePie
+ * @copyright 2004-2016 Ryan Parman, Geoffrey Sneddon, Ryan McCue
+ * @author Ryan Parman
+ * @author Geoffrey Sneddon
+ * @author Ryan McCue
+ * @link http://simplepie.org/ SimplePie
+ * @license http://www.opensource.org/licenses/bsd-license.php BSD License
+ */
+
+
+/**
+ * Decode 'gzip' encoded HTTP data
+ *
+ * @package SimplePie
+ * @subpackage HTTP
+ * @link http://www.gzip.org/format.txt
+ */
+class SimplePie_gzdecode
+{
+ /**
+ * Compressed data
+ *
+ * @access private
+ * @var string
+ * @see gzdecode::$data
+ */
+ var $compressed_data;
+
+ /**
+ * Size of compressed data
+ *
+ * @access private
+ * @var int
+ */
+ var $compressed_size;
+
+ /**
+ * Minimum size of a valid gzip string
+ *
+ * @access private
+ * @var int
+ */
+ var $min_compressed_size = 18;
+
+ /**
+ * Current position of pointer
+ *
+ * @access private
+ * @var int
+ */
+ var $position = 0;
+
+ /**
+ * Flags (FLG)
+ *
+ * @access private
+ * @var int
+ */
+ var $flags;
+
+ /**
+ * Uncompressed data
+ *
+ * @access public
+ * @see gzdecode::$compressed_data
+ * @var string
+ */
+ var $data;
+
+ /**
+ * Modified time
+ *
+ * @access public
+ * @var int
+ */
+ var $MTIME;
+
+ /**
+ * Extra Flags
+ *
+ * @access public
+ * @var int
+ */
+ var $XFL;
+
+ /**
+ * Operating System
+ *
+ * @access public
+ * @var int
+ */
+ var $OS;
+
+ /**
+ * Subfield ID 1
+ *
+ * @access public
+ * @see gzdecode::$extra_field
+ * @see gzdecode::$SI2
+ * @var string
+ */
+ var $SI1;
+
+ /**
+ * Subfield ID 2
+ *
+ * @access public
+ * @see gzdecode::$extra_field
+ * @see gzdecode::$SI1
+ * @var string
+ */
+ var $SI2;
+
+ /**
+ * Extra field content
+ *
+ * @access public
+ * @see gzdecode::$SI1
+ * @see gzdecode::$SI2
+ * @var string
+ */
+ var $extra_field;
+
+ /**
+ * Original filename
+ *
+ * @access public
+ * @var string
+ */
+ var $filename;
+
+ /**
+ * Human readable comment
+ *
+ * @access public
+ * @var string
+ */
+ var $comment;
+
+ /**
+ * Don't allow anything to be set
+ *
+ * @param string $name
+ * @param mixed $value
+ */
+ public function __set($name, $value)
+ {
+ trigger_error("Cannot write property $name", E_USER_ERROR);
+ }
+
+ /**
+ * Set the compressed string and related properties
+ *
+ * @param string $data
+ */
+ public function __construct($data)
+ {
+ $this->compressed_data = $data;
+ $this->compressed_size = strlen($data);
+ }
+
+ /**
+ * Decode the GZIP stream
+ *
+ * @return bool Successfulness
+ */
+ public function parse()
+ {
+ if ($this->compressed_size >= $this->min_compressed_size)
+ {
+ // Check ID1, ID2, and CM
+ if (substr($this->compressed_data, 0, 3) !== "\x1F\x8B\x08")
+ {
+ return false;
+ }
+
+ // Get the FLG (FLaGs)
+ $this->flags = ord($this->compressed_data[3]);
+
+ // FLG bits above (1 << 4) are reserved
+ if ($this->flags > 0x1F)
+ {
+ return false;
+ }
+
+ // Advance the pointer after the above
+ $this->position += 4;
+
+ // MTIME
+ $mtime = substr($this->compressed_data, $this->position, 4);
+ // Reverse the string if we're on a big-endian arch because l is the only signed long and is machine endianness
+ if (current(unpack('S', "\x00\x01")) === 1)
+ {
+ $mtime = strrev($mtime);
+ }
+ $this->MTIME = current(unpack('l', $mtime));
+ $this->position += 4;
+
+ // Get the XFL (eXtra FLags)
+ $this->XFL = ord($this->compressed_data[$this->position++]);
+
+ // Get the OS (Operating System)
+ $this->OS = ord($this->compressed_data[$this->position++]);
+
+ // Parse the FEXTRA
+ if ($this->flags & 4)
+ {
+ // Read subfield IDs
+ $this->SI1 = $this->compressed_data[$this->position++];
+ $this->SI2 = $this->compressed_data[$this->position++];
+
+ // SI2 set to zero is reserved for future use
+ if ($this->SI2 === "\x00")
+ {
+ return false;
+ }
+
+ // Get the length of the extra field
+ $len = current(unpack('v', substr($this->compressed_data, $this->position, 2)));
+ $this->position += 2;
+
+ // Check the length of the string is still valid
+ $this->min_compressed_size += $len + 4;
+ if ($this->compressed_size >= $this->min_compressed_size)
+ {
+ // Set the extra field to the given data
+ $this->extra_field = substr($this->compressed_data, $this->position, $len);
+ $this->position += $len;
+ }
+ else
+ {
+ return false;
+ }
+ }
+
+ // Parse the FNAME
+ if ($this->flags & 8)
+ {
+ // Get the length of the filename
+ $len = strcspn($this->compressed_data, "\x00", $this->position);
+
+ // Check the length of the string is still valid
+ $this->min_compressed_size += $len + 1;
+ if ($this->compressed_size >= $this->min_compressed_size)
+ {
+ // Set the original filename to the given string
+ $this->filename = substr($this->compressed_data, $this->position, $len);
+ $this->position += $len + 1;
+ }
+ else
+ {
+ return false;
+ }
+ }
+
+ // Parse the FCOMMENT
+ if ($this->flags & 16)
+ {
+ // Get the length of the comment
+ $len = strcspn($this->compressed_data, "\x00", $this->position);
+
+ // Check the length of the string is still valid
+ $this->min_compressed_size += $len + 1;
+ if ($this->compressed_size >= $this->min_compressed_size)
+ {
+ // Set the original comment to the given string
+ $this->comment = substr($this->compressed_data, $this->position, $len);
+ $this->position += $len + 1;
+ }
+ else
+ {
+ return false;
+ }
+ }
+
+ // Parse the FHCRC
+ if ($this->flags & 2)
+ {
+ // Check the length of the string is still valid
+ $this->min_compressed_size += $len + 2;
+ if ($this->compressed_size >= $this->min_compressed_size)
+ {
+ // Read the CRC
+ $crc = current(unpack('v', substr($this->compressed_data, $this->position, 2)));
+
+ // Check the CRC matches
+ if ((crc32(substr($this->compressed_data, 0, $this->position)) & 0xFFFF) === $crc)
+ {
+ $this->position += 2;
+ }
+ else
+ {
+ return false;
+ }
+ }
+ else
+ {
+ return false;
+ }
+ }
+
+ // Decompress the actual data
+ if (($this->data = gzinflate(substr($this->compressed_data, $this->position, -8))) === false)
+ {
+ return false;
+ }
+ else
+ {
+ $this->position = $this->compressed_size - 8;
+ }
+
+ // Check CRC of data
+ $crc = current(unpack('V', substr($this->compressed_data, $this->position, 4)));
+ $this->position += 4;
+ /*if (extension_loaded('hash') && sprintf('%u', current(unpack('V', hash('crc32b', $this->data)))) !== sprintf('%u', $crc))
+ {
+ return false;
+ }*/
+
+ // Check ISIZE of data
+ $isize = current(unpack('V', substr($this->compressed_data, $this->position, 4)));
+ $this->position += 4;
+ if (sprintf('%u', strlen($this->data) & 0xFFFFFFFF) !== sprintf('%u', $isize))
+ {
+ return false;
+ }
+
+ // Wow, against all odds, we've actually got a valid gzip string
+ return true;
+ }
+ else
+ {
+ return false;
+ }
+ }
+}